Storage option for Jetson TX2 dev board

Hi Folks,

I just want to confirm the information I saw in this forum regarding the storage options.

Option one

  • SD card must be UHS-I, and I can’t use UHS-II Class 10 SD cards.

Option two ( Initially, I was thinking to use M.2 interface)

  • M.2 interface doesn’t support SSD.

For Reference.

Key Notched Provided
ID Pins Interfaces
A 8–15 PCIe ×2, USB 2.0, I2C and DP ×4
B 12–19 PCIe ×2, SATA, USB 2.0 and 3.0, audio, UIM, HSIC, SSIC, I2C and SMBus
C 16–23 Reserved for future use.
D 20–27 Reserved for future use.
E 24–31 PCIe ×2, USB 2.0, I2C, SDIO, UART and PCM →
F 28–35 Future Memory Interface (FMI)
G 39–46 Reserved for custom use (unused in the M.2 specification)
H 43–50 Reserved for future use.
J 47–54 Reserved for future use.
K 51–58 Reserved for future use.
L 55–62 Reserved for future use.
M 59–66 PCIe ×4, SATA and SMBus

Option 3.

A cheap PCI card with an NVME interface. Sabre etc manufactures those.
I know some cards support two NVME slots. Did anyone try that, and if yes, anyone
tried to make a small stripe raid or ZFS pool?

Last option regular SATA interface.
If I missed anything, please correct me.

Thank you folks

I am assuming you have a development kit. I think you can use UHS-II, but it will operate at UHS-I.

The M.2 is “key E”: “2x PCIe ×1, USB 2.0, I2C, SDIO, UART and PCM”. Here is a nice article on M.2 NVMes:
https://www.atpinc.com/blog/what-is-m.2-M-B-BM-key-socket-3
(note that it is using key B or M, or both, but not E)

You might be able to find solid state memory which works with key M, but no SATA exists for key M, and PCIe can only be x2. Some memory in key M might be USB.

I have not tried any PCIe NVMe cards. A SATA III interface is not a bad choice (but I think a TX2 module can only use SATA II). In part all of this gets more complicated if you boot from the device instead of just using the device after boot. If booting from the device, then boot software prior to Linux running needs to have all required drivers present, including the PCIe or USB or SATA drivers. Once you are in Linux all of those drivers are present by default, but boot stages may not have all of that.

EDIT: Note that you might be able to find a key E-to-M NVMe adapter. Just because the socket is key E and an NVMe might use key B or key M it doesn’t mean there isn’t a key E board which an NVMe can be adapted to. It would mean PCIe is only x2 and not x4.