29

I'm running Ubuntu on a laptop and am shopping to upgrade to an SSD.

Based on the specs for this drive for example, it seems like I should figure out what version of SATA my computer will support before I buy.

I don't want so shell out the big bucks for a really fast drive if my SATA controller will be the bottleneck anyway. Does this make sense?

Newegg presents this as SATA 2 (SATA II) running at 3Gbps and SATA 3 (SATA III) running at 6 Gbps.

What tools can I use in Ubuntu to determine if my computer will support SATA 3?

0

5 Answers 5

35

Try dmesg | grep SATA, this is a little faster than lspci as it will print out the kernel buffer logs from boot/after boot with the SATA speeds right there. You should see something like this:

[1.236431] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 3 Gbps 0x33 impl SATA mode

Again this is only your controller so it's not guaranteed. And it'll show your current hd

[1.577525] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300) 

This is your drive's ultimate connection, i.e. SATA revision the drive is running at.

1
  • 9
    So basically if the ahci line says 1.5 Gbps you have SATA I, 3 Gbps means SATA II, 6 Gbps means SATA III.
    – Calmarius
    Jun 26, 2016 at 12:52
18

This command gives you the version exactly:

sudo smartctl -a /dev/sda | grep SATA
SATA Version is:  SATA 2.6, 3.0 Gb/s (current: 3.0 Gb/s)

2
  • 4
    Good, but that requires a third-party package: sudo apt-get install smartmontools
    – Amir
    Oct 12, 2017 at 17:11
  • Good, but it works only for disks plugged, not if you have some other device like a dvd reader.
    – Cirelli94
    Oct 3, 2019 at 8:35
5

lspci will tell you all the controllers and devices, take a look at your SATA controller, it should give you a model. Take that model and look up the specs for it. You will probably need elevated privileges (su/sudo) for lspci to work for you.

3
  • However, having certain chipset that is SATA3-capable is not a guarantee that the laptop supports SATA3 speeds. For example, my Lenovo T61 has SATA2 chipset, but its speed is capped at 1.5Gbps in firmware (half SATA2 speed). Best bet is to consult manufacturer's web site, get the official laptop specs.
    – haimg
    Apr 27, 2012 at 21:07
  • Are you sure the HDD itself doesn't have the 1.5gbps limiter jumper on?
    – BloodyIron
    Apr 27, 2012 at 22:01
  • 1
    Nope, this specific issue is well publicised... Lenovo did that on purpose to support IDE disks in the expansion bay :-( Just saying that lack of SATA3 support in the chipset 100% proves there is NO support, but presence of SATA3 support in the chipset doesn't mean that laptop will support it for sure.
    – haimg
    Apr 27, 2012 at 22:09
4

This site has a great walk through to get any data about your drives you might want.

It expands on other answers here with little tricks like:

dmesg | grep -i sata | grep 'link up'

And:

sudo hdparm -I /dev/sda | egrep "Model|speed|Transport"
1

You can read the currently active SATA link speeds by checking the read-only data in /sys/class/ata_link. For example, print all active link speeds with grep -v unknown /sys/class/ata_link/link*/*sata_spd*

root@debian:~# grep -v unknown /sys/class/ata_link/link*/*sata_spd*
/sys/class/ata_link/link1/sata_spd:1.5 Gbps

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .