28

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?

Oliver Salzburg
  • 86,445
  • 63
  • 260
  • 306
Sean
  • 468
  • 1
  • 5
  • 8

5 Answers5

34

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.

d a i s y
  • 109
  • 1
  • 5
Kevin Parrish
  • 364
  • 3
  • 2
  • 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 '16 at 12:52
17

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)

d a i s y
  • 109
  • 1
  • 5
iman
  • 291
  • 2
  • 4
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.

BloodyIron
  • 2,041
  • 16
  • 21
  • 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 '12 at 21:07
  • Are you sure the HDD itself doesn't have the 1.5gbps limiter jumper on? – BloodyIron Apr 27 '12 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 '12 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"
Giacomo1968
  • 53,069
  • 19
  • 162
  • 212
Alvin
  • 275
  • 3
  • 9
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