Support for NVMe SSDs?

Does anyone know if the TX1 supports a drive like the Samsung 960PRO (Amazon Link: http://a.co/2U0loVM ) with a PCIe NVMe - M.2 connector?

If not, is there a way to get it to work? (really wanting the super-fast read/write speeds of the SSD)

After reading: https://devtalk.nvidia.com/default/topic/973034

It seems like a PCIe x4 converter might work: Amazon.com

I’m curious, did you ever get this working?

If yes, mind sharing the read/write speeds you managed to get?

Thanks!

Sorry, no. It was >1mo to get the M.2 SSD, so I just used a regular SSD.

I’ll definitely update this if I ever switch it out.

I’ve got the $5 PCIe (4 lanes) to M2 adapter card, and Samsung PM961 NVMe M.2 2280 drive seems to be working fine with Jetson TX2 dev board (kernel 4.4.38).

-albertr

Hi albertr,
I have a setup which is similar to yours: I have a Jetson TX1+PCIe x4 to M2 adapter card+Samsung 960 EVO M.2 NVMe.

Did you need to recompile the kernel as mentioned in the following threads?

I currently have exactly the same kernel version (4.4.38-tegra) but my SSD is not recognized by the TX1.

Well, I have TX2… The L4T 28.1 kernel from JetPack 3.1 for TX2 already had nvme diver compiled into the kernel.

root@tx2:~# ls -la /dev/nvme*
crw------- 1 root root 236,  0 Jan 10 08:39 /dev/nvme0
brw-rw---- 1 root disk 259, 10 Jan 10 08:39 /dev/nvme0n1
brw-rw---- 1 root disk 259, 11 Jan 10 08:39 /dev/nvme0n1p1
root@tx2:~#

So, you don’t see these devices on your system?

How about the following?

root@tx2:~# zcat /proc/config.gz | grep -i nvme
CONFIG_BLK_DEV_NVME=y
# CONFIG_NVMEM is not set
root@tx2:~#

That should tell if the NVME driver was compiled in…

-albertr

Unfortunately, not.

That’s what I mean, in my case I get the following:

root@tegra-ubuntu:~# zcat /proc/config.gz | grep -i nvme
# CONFIG_BLK_DEV_NVME is not set
# CONFIG_NVMEM is not set

Although I installed the L4T 28.1 kernel from JetPack 3.1 as well (which should work for TX1 too)…

I’m not sure whether jetPack has the same kernel for both TX1 & T2… Anyways, looks like you need to recompile the kernel with CONFIG_BLK_DEV_NVME enabled.

-albertr

@albertr
Could you share what are the Reading and Writing speeds with your configuration (Samsung PM961 NVMe M.2 228) on TX2 ?
I need to get more space and am wondering if NVMe is worth (in terms of speed on TX2) over SATA SSD.
I have read in other posts that is not optimal the NVMe speed using the PCIe adaptor.

Thanks

We are using it as a destination for video stream @ 16Mb/s codec rate, and we don’t see any additional latency added when we enable/disabling streaming in our application.

BTW, PCIe to M2 adapter card is a simple pass-thru, it doesn’t do any processing, so for this specific NVMe device speed should be the same with or without adapter.

Not sure what test you want me to run, here’s a simple dd, not sure how accurate is it. We are using TX2 and L4T 28.1 kernel.

root@tx2:/tmp# pwd
/tmp
root@tx2:/tmp# df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p1 235G 28G 207G 12% /backup
root@tx2:/tmp# time dd if=/dev/zero of=/tmp/testfile bs=1G count=1 oflag=direct
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.55672 s, 690 MB/s

real 0m1.656s
user 0m0.000s
sys 0m1.188s
root@tx2:/tmp#

-albertr

Thanks Albertr, I just made this installation and working fine.