SSD: real read speed is half the specified one. Any idea why?

3

A few days ago, I bought a Toshiba Q300 SSD drive. I partitioned it (aligning partitions to multiples of 2048 sectors) and installed Ubuntu Mate.

  • According to this page, the "Sequencial Read" is up to 550 MB/s.

  • AFAIK, the command hdparm -t /dev/sda tests sequential reads. On my Q300 SSD, its output is 253 MB/s (average value).

Is this difference normal? If not, what could explain it?

--
For info: here is the output of fdisk -lu /dev/sda, I believe it shows the partition alignment is correct:

Disk /dev/sda: 447,1 GiB, 480103981056 bytes, 937703088 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf43fed25
Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         8192 847257599 847249408  404G 83 Linux
/dev/sda2       847257600 937695231  90437632 43,1G 82 Linux swap / Solaris

Edit:

dmesg | grep -i sata | grep 'link up' results in:

[55430.435511] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[55430.443546] ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[55430.451511] ata6: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[63259.256126] ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[63259.256158] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[63260.616043] ata6: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[63702.998313] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[63702.998345] ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[63704.406285] ata6: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[75037.453949] ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[75037.453980] ata6: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[75037.461948] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[75911.769328] ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[75911.769359] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[75913.121390] ata6: SATA link up 3.0 Gbps (SStatus 123 SControl 300)

smartctl -a /dev/sda | grep SATA results in:

SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 3.0 Gb/s)

hdparm -iI /dev/sda | grep SATA results in:

Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0

lspci | grep SATA results in:

00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 05)

Georg

Posted 2017-02-14T16:15:54.447

Reputation: 131

3What type of SATA controller is it attached to? SATA 2.0 has a theoretical maximum throughput of 300MB/sec, so 253MB/sec sounds about right for that... – Ƭᴇcʜιᴇ007 – 2017-02-14T16:23:10.750

Could you run this and update your question : dmesg | grep -i sata | grep 'link up'and this one: grep -i SATA /var/log/messages | grep --color -i 'link up'You probably hooked up SSD to the port that doesn't support 6Gbps – Alex – 2017-02-14T16:24:45.790

1@Alex The file /var/log/messages does not exist on my system (Ubuntu 16.04). – Georg – 2017-02-14T16:54:02.733

@Ƭᴇcʜιᴇ007 Thanks for the hint. I don't know the type of my SATA controller. – Georg – 2017-02-14T16:56:27.440

Your dmesg log indicates some kind of communication problem. Also note that it never goes to 6.0 Gbps which would be required in order to reach speeds of 550MB/s. Can you test with a different SATA cable? – Nassbirne – 2017-02-14T16:57:04.360

@Nassbirne I can't test with a different cable, my computer is a laptop. – Georg – 2017-02-14T17:13:45.523

2So the question is now "Why is my SATA 3.1 controller running as 3.0Gb/s. My guess is that your OS doesn't have the drivers installed to properly support your SATA 3.1 controller. – Ƭᴇcʜιᴇ007 – 2017-02-14T17:35:12.677

1According to SMART, you motherboard controller doesn't support SATA3(while SSD does). Try to hook SSD to the first port on motherboard(blue or white), most of them support SATA3 on first port only – Alex – 2017-02-14T20:56:28.840

No answers