TX2 SATA speed

I’ve plugged a Kingston SSD into SATA connector of my TX2 dev board (L4T R28.1), and it works fine but it looks it runs in SATA2 mode while the SSD supports SATA3.

dmesg | grep -i sata 
[    0.232965] iommu: Adding device 3507000.ahci-sata to group 2
[    2.662375] tegra-ahci 3507000.ahci-sata: AHCI 0001.0301 32 slots 2 ports 3 Gbps 0x1 impl platform mode
[    2.662381] tegra-ahci 3507000.ahci-sata: flags: 64bit ncq sntf pm led pmp pio slum part deso sadm apst 
[    2.663370] ata1: SATA max UDMA/133 mmio [mem 0x03507000-0x03508fff] port 0x100 irq 25
[    3.154736] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)

cat /sys/class/ata_link/link1/sata_spd
3.0 Gbps

hdparm -I /dev/sda | egrep "Model|speed|Transport"
	Model Number:       KINGSTON SUV400S37120G                  
	Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0; Revision: 0x0051
	   *	Gen1 signaling speed (1.5Gb/s)
	   *	Gen2 signaling speed (3.0Gb/s)
	   *	Gen3 signaling speed (6.0Gb/s)
	   *	SMART Command Transport (SCT) feature set

Is the hardware limited to SATA2 or is there a problem with my case ?

Thanks for any comment.

I looked in the module data sheet, looks like the port only works up to SATA 2 speeds…it isn’t capable of running at SATA 3.

Reference: Jetson_TX2_Module_DataSheet_v1.0.pdf
Page 27, section 4.1.2:

The SATA controller enables a control path from the module to an external SATA device. A SSD / HDD / ODD drive can be
connected. Controller can support the maximum throughput of a Gen 2 drive.

“Gen 2” would imply 3Gbit/s.

@Linuxdev Thanks for the link (I should have read this doc, sorry… just goggled for TX2 SATA speed, searched this forum and haven’t been able to find this).

It wasn’t obvious…I had to dig through my documents. Made me wish there was some equivalent to “lspci” verbose mode where it would tell me the low level details. Current utilities are designed more for a query of the drive itself, and not so much the SATA controller and physical signal qualities. Probably something like this exists, but I don’t know what it is.

@linuxdev “lshw” often gives a good amount of details.
Not sure it will tell you about the ARM system SATA controller, though.

Anyway, if you want fast SSDs, I suggest you probably want a PCI-Express NVMe drive.

@snarky thanks, but unfortunately lshw gives many details about cpus, usb and network, but nothing about SATA.

This SSD is mainly used for saving room in eMMC, as a mount point to /usr/local and some links in /var for apt repositories.
My main concern about speed is having there also a swap partition, but I’ll know what I can expect from it as performance:

sudo hdparm -tT /dev/sda

/dev/sda:
 Timing cached reads:   6222 MB in  2.00 seconds = 3117.12 MB/sec
 Timing buffered disk reads: 740 MB in  3.00 seconds = 246.34 MB/sec

Thanks to both of you for your support.

yes, same performance about 260 MByte/sec:

nvidia@tegra-ubuntu:~$ sudo dd if=/dev/sda of=/dev/null skip=100 bs=1M count=1000 status=progress
829423616 bytes (829 MB, 791 MiB) copied, 3.00347 s, 276 MB/s
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB, 1000 MiB) copied, 3.99251 s, 263 MB/s

nvidia@tegra-ubuntu:~$ cat /sys/class/ata_link/link1/sata_spd
3.0 Gbps

nvidia@tegra-ubuntu:~$ sudo hdparm -I /dev/sda | egrep "Model"
        Model Number:       WDC WDS500G2B0A-00SM50