7

Recently I've got mSata SSD and install it in my laptop.

According to the specification of this SSD, the read rate is approximately 450 MB/s. I tested the read rate (in menu Application > Accessories > Disks > Benchmark Disk) and got the smaller value 280 MB/s.

Digging around I got the following result:

$ sudo smartctl -a /dev/sdb | grep SATA
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 3.0 Gb/s)

How can I enable the full speed 6.0 Gb/s?

OR

How can I check the maximal speed of SSD/port/something?

How can I identify the device (SSD/port/something) reducing the resulting speed?

Thank you in advance!

Additional information:

$ sudo hdparm -I /dev/sdb | grep SATA
Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0

$ sudo hdparm -I /dev/sdb | grep speed
   *    Gen1 signaling speed (1.5Gb/s)
   *    Gen2 signaling speed (3.0Gb/s)
   *    Gen3 signaling speed (6.0Gb/s)

$ lspci | grep SATA
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)

$ dmesg | grep ata
[    0.000000] BIOS-e820: [mem 0x00000000baf9f000-0x00000000baffefff] ACPI data
[    0.000000] Memory: 7968868K/8242108K available (12300K kernel code, 2481K rwdata, 4012K rodata, 2368K init, 2372K bss, 273240K reserved, 0K cma-reserved)
[    0.122082] libata version 3.00 loaded.
[    1.186115] Write protecting the kernel read-only data: 18432k
[    1.448965] wmi_bus wmi_bus-PNP0C14:00: WQBC data block query control method not found
[    1.489423] ata1: SATA max UDMA/133 abar m2048@0xd0618000 port 0xd0618100 irq 26
[    1.489478] ata2: DUMMY
[    1.489508] ata3: SATA max UDMA/133 abar m2048@0xd0618000 port 0xd0618200 irq 26
[    1.489555] ata4: SATA max UDMA/133 abar m2048@0xd0618000 port 0xd0618280 irq 26
[    1.490239] ata5: DUMMY
[    1.490268] ata6: DUMMY
[    1.802539] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    1.802567] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    1.802591] ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    1.802676] ata3.00: ATA-11: MT-64, 1.74.00, max UDMA/133
[    1.802685] ata3.00: 125045424 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[    1.802787] ata3.00: configured for UDMA/133
[    1.811416] ata4.00: ATAPI: TSSTcorp DVD+/-RW SN-208BB, D300, max UDMA/100
[    1.813156] ata1.00: ATA-8: ST9750420AS, 0005DEM1, max UDMA/133
[    1.813160] ata1.00: 1465149168 sectors, multi 16: LBA48 NCQ (depth 31/32)
[    1.815466] ata4.00: configured for UDMA/100
[    1.850643] ata1.00: configured for UDMA/133
[    8.712553] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)
[    9.973968] EXT4-fs (sdb2): mounted filesystem with ordered data mode. Opts: (null)
[   11.987641] EXT4-fs (sda3): mounted filesystem with ordered data mode. Opts: (null)
[   12.056330] EXT4-fs (sda6): mounted filesystem with ordered data mode. Opts: (null)

UPD:

$ dmesg | grep AHCI
[    1.471403] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0xd impl SATA mode
Chaosor
  • 383
  • Do you have the SATA mode in BIOS set to IDE or AHCI? – dobey Jun 22 '18 at 17:03
  • @dobey I set AHCI mode. And lspci | grep SATA confirm this (see above). – Chaosor Jun 22 '18 at 18:11
  • You should check that the controller also has support for the 6Gbps specs. Just google it, or check the PC manual support page. Also, keep in mind that advertised speeds are usually theoretical throughputs, which are next to impossible to obtain in real world. – mikewhatever Jun 22 '18 at 18:24
  • 1
    @mikewhatever Ok, I'll try. But I'm interesting in "How can I check the maximal speed of SSD/port/controller?" using software of Ubuntu/Linux. Or it is not possible? – Chaosor Jun 22 '18 at 18:36
  • Check the output of dmesg again. It reports sata link capabilities of 1.5 and 3.0 Gbps. It seems to be enough info, not sure what else it should do. – mikewhatever Jun 22 '18 at 18:53
  • @mikewhatever dmesg outputs AHCI 0001.0300 32 slots 6 ports 6 Gbps 0xd impl SATA mode (see UPD). Also hdparm outputs Gen3 signaling speed (6.0Gb/s). Why the sata link capability is of 3.0 Gbps? – Chaosor Jun 22 '18 at 19:27
  • Maybe you could [edit] your question and provide more exact information about the hardware, such as the exact laptop model, with CPU information. – dobey Jun 23 '18 at 13:06
  • It seems like Unix/Ubuntu AHCI auto negotiates the best speed as per CPU /Chipset / HDD hardware capabilities. I would recommend dualboot to windows to test out that configuration. My Scenario: Upgraded my Dell AIO 2320 with CPU i5-2400S with ADATA SX850 SDD. Transferred existing WD 1TB HDD to my Desktop with CPU i5-8400. Both HDD are capable of SATA3 6Gbps. Same versions of Ubuntu 24 on both machines. On Ubuntu 24, Desktop HDD shows AHCI 6.0Gpbs, AIO SSD shows AHCI 3.0Gbps. On Windows11, the ADATA SSD toolbox also shows SATA 3.0Gbps, AIO has dual boot windows 11 and Ubuntu24. – shawndfernandes Jun 16 '24 at 13:41

3 Answers3

2

First of all look for software on the manufacturer's website. In my case I have the drive intel s3700 I install software called:

Intel® SSD Data Center Tool (Intel® SSD DCT)

At the moment I'm doing this from under Windows 8.1 but similarly it should be on linux

run command line / terminal from admin rights and browsing where my drive is:

isdct show -intelssd 0

    C:\Windows\system32>isdct show -intelssd 0

- Intel SSD DC S3700 Series BTTVxxxxxxxxxxxxx -

DevicePath : \\\\.\\PHYSICALDRIVE0
DeviceStatus : Healthy
Firmware : 5DV12270
FirmwareUpdateAvailable : The selected Intel SSD contains current firmware as of
 this tool release.
Index : 0
ModelNumber : INTEL SSDSC2BA400G3
ProductFamily : Intel SSD DC S3700 Series
SerialNumber : BTTVxxxxxxxxxxxxx 

Fix the speed of the disk

isdct set -intelssd 0 physpeed=6

C:\Windows\system32>isdct set -intelssd 0 physpeed=6
Set PhySpeed successful. Please power cycle the device.

restart the system and everything works!

snex
  • 151
0

If you look at the dmesg output, it tells you that the max speed of the SATA link on ports 1 and 3 of the controller, is 3.0 Gbps, which comes out to a theoretical max speed of about 357 MB/s. For an advertised max read speed of 6.0 Gbps, the theroetical max read speed of about 750 MB/s, getting 280 MB/s on a 3.0 Gbps controller is doing pretty well.

dobey
  • 41,690
  • dmesg outputs AHCI 0001.0300 32 slots 6 ports 6 Gbps 0xd impl SATA mode (see UPD). Also hdparm outputs Gen3 signaling speed (6.0Gb/s). Why the max speed of the SATA link on 3 is 3.0Gb/s? – Chaosor Jun 22 '18 at 19:29
  • Perhaps because you have both the mSATA and a 2.5" SATA installed, and so the controller must drop speed to half to support both, due to PCIe lane configuration? If you unplug one, do you then see full 6.0 Gbps for the attached port? – dobey Jun 22 '18 at 19:57
  • 1
    I've unpluged the other SATA drives (HDD and optical) and got the same results for dsmeg and smartctl. So, I reformulated the second question "How can I identify the device (SSD/port/something) reducing the resulting speed?" – Chaosor Jun 23 '18 at 11:06
0

You could try appending this value to boot option

libata.force=6.0

However, it might not work depending on CPU/Motherboard Chipset/HDD hardware combination

See Comment to question: It seems like Unix/Ubuntu AHCI auto negotiates the best speed as per CPU /Chipset / HDD hardware capabilities. I would recommend dualboot to windows to test out that configuration.

Reference:

https://serverfault.com/questions/120098/linux-kernel-option-to-set-sata-disk-to-udma-133-1-5gbps