can this board use m.2 ssd nvme

I want to put the system and relevant data in SSD. Can nano support it?

I have the same question. Ultimately I think it will require some type of Raspberry Pi compatible hat or manually breadboarding out an M.2 port. I’m not exactly sure how/if this will work though.

I specifically want to be able to access M.2 NVME SSD, but would settle for M.2 SATA SSD.

The devkit’s M.2 Key-E isn’t compatible with M.2 Key-M or Key-B, so there are a few options in terms of adapters, dongles, and alternative carrier boards with M.2 Key-M:

  • Use an M.2 Key-E adapter (this one converts to Mini-PCIe)
  • Use a USB3 to SATA or USB3 to M.2 Key-B/M converter (like this one for SATA or this one for NVME - haven't tested these)
  • Auvidea's JN30 carrier for Jetson Nano features native M.2 NVME PCIe x4

I’m using a USB nvme enclosure atm and it’s getting the job done. Unfortunately the kernel rev is pretty old so I had to use usb-storage quirks to disable uas

Have you done any speed / throughput benchmarks to the NVME drive? I am super curious to see how this effects performance of the Jetson Nano.

Could you elaborate on some of what you mentioned in your last sentence? I am still learning a bit and am curious which kernel you’re referencing in regards to that USB 3 to NVME adapter setup, as well as what those usb-storage quirks are and what uas is? Haha. Sorry

This adapter may be good idea:

Alternatively from amazon.com, but more expensive:

I use USB 3.1 to NVME with 256G and I boot from it.

I ordered one and it arrived, but I haven’t had a chance to test it yet. It just got here on Monday.

1 Like

I purchased this adapter: Amazon.com
and I purchased an Intel 1TB SSD6. I placed the adapter on the Jetson Nano using the M.2 E connector and placed the Intel SSD6 on the adapter M.2 M socket.

After powering up the Nano using lspci I could see the Intel board registered. /dev/nvme0n1 was present on the system.
gparted did not find the device.

Then I used the following commands to create a drive and set it up:

sudo fdisk -l /dev/nvme0n1
sudo fdisk /dev/nvme0n1
Create a partition starting at 4096 to the default end and write the partition. I read that performance is best starting at 4096.
sudo mkfs -t ext4 /dev/nvme0n1p1
cd /media
mkdir nvme
sudo mount /dev/nvme0n1p1 /media/nvme
df -h
I could see the drive was mounted and the correct size
sudo blkid
save the UUID
edit /etc/fstab
added a line to make this drive mount after every system boot
UUID= /media/nvme ext4 defaults 0 0

The result seems to be that the adapter is working and the Intel SSD6 memory is working. I have not done any performance testing yet.

The board did not showup after a reboot but does mount again. So

I am using a 3A power supply.

I post this in case you may find it helpful.

5 Likes

I found an error in the UUID which I fixed and the board mounts on reboot now.

Neat. Nice to know it works!

Is it possible to boot from the SSD?

I have been working on this but it is not working.
Takes lots of hours to build the kernel and copy disk.

I followed this thread:

Then pointed to the PCIe SSD but it hangs. I don’t think the SSD is mounted.

Would be best if the hardware would find the boot record on the PCIe SSD and boot from there. I am going to look at this option when I have more time.

For those interested, I’ve been testing one of my my Jetson Nanos with the Auvidea JN30 carrier board mentioned previously. With a 500GB Samsung 970 EVO Plus NVME SSD I’m getting over 900 MB/sec. I ran a test with hdparm just now:

$ sudo hdparm -t --direct /dev/nvme0n1
/dev/nvme0n1:
Timing O_DIRECT disk reads: 2796 MB in 3.00 seconds = 931.70 MB/sec

The board is expensive, but if you really need extreme speed the Auvidea board’s M.2 PCIe connector delivers.

Also for those interested, I’ve just brought up a Jetson Nano with the CMC Tech pcie-to-sata board, which I found on amazon. It’s not nearly as fast as other solutions, however it is less expensive ;-). It avoids modifications to initrd, and can be completely enclosed in an accompanying case (asin: B082BDHQ6S, case+card ~$50).

The system is currently configured to boot with the same approach as the above usb-as-rootfs configuration. I have no idea if direct boot to ssd drive is possible.

$ sudo hdparm -t --direct /dev/sda
/dev/sda:
Timing O_DIRECT disk reads: 1004 MB in 3.00 seconds = 334.15 MB/sec

Hi all, hoping to get some support on connecting a Mini Sata disk to my Jetson Nano:

I have this adapter:

And this SSD:

When I boot into the Jetson I do not see a new disk at all, niether by running lsblk or the Disks application.

Hello ivlevyegor,

Your combination of adapter and SSD should work.

Use lspci to see if the PCIe interfaced board is found by the OS. If you see a listing in /dev then follow the instructions I listed above to finish setting the SSD up for use. Your end results should be the SSD is available after each reboot. If you do not see it with lspci then you have some issue and the combination you will not work or there is a defect.

Keep in mind that you will not be booting from the SSD but the additional storage will be available to you and IO in the space may be faster depending on the capability of the SSD.

on my Nano:

lspci

01:00.0 Non-Volatile memory controller: Intel Corporation Device f1a8 (rev 03)

Hi bstrick,

Thanks for the response. I ran lspci and I see this output:
00:02.0 PCI Bridge: Nvidia Corporation Device 0faf (rev a1).

However even with the adapter/disk disconnected, I still see this same entry.

Do you think that I should replace the adapter/disk, or is are there other steps that I could try?

Yegor

Yegor,

Yous should see other listings. I have five lines listed on a Nano with the PCIe SSD and two PCIe devices listed on a Nano with no additional PCIe.

If you do not see your SSD showing up I would double check the connections and be sure everything is properly connected. They are delicate so be careful. Use good ESD technique when handling the boards.

You can read about PCIe by doing a search for lspci. Here is an example of a link;

or here:
https://mj.ucw.cz/sw/pciutils/

During the boot process the PCIe interface would be scanned to identify all connected devices. Each device will have a unique serial number which will tell the OS how to deal with that device. If your device is connected and properly supporting PCIe I would expect at least a listing here. If the ID is not properly registered in the PCI database you may not see it listed. You may be able to go view the PCI data base and look for your SSD to be sure it is registered.

Sorry, I do not have many more ideas.

ivlevyegor

The disk that you have selected looks like an msata ssd. My understanding is that while it has the same form factor, it won’t work without the host device having a sata controller. It might work in a x86 motherboard with appropriate support, but probably not on the nano. You might try a nvme ssd (eg. Samsung Evo) as others in the thread have reported one of such a model working.

Lastly, adapters, especially ones with long ribbon cables, are often of mixed quality. I don’t think Nvidia really supports using them and I wouldn’t personally rely on one for any data you care about. YMMV.

1 Like