wiki:nvme

Version 8 (modified by Ryan Erbstoesser, 2 years ago) ( diff )

add hmb link

NVME Solid State Storage

NVME (nonvolatile memory express) storage is a solid state storage option to be was primarily started for use in consumer laptops but is also able to be used on Gateworks SBCs. This utilizes the PCIe lanes for communication.

This is different than mSATA discussed here

Note Venice SBCs don't support mSATA, thus the desire for NVME support that uses PCIe.

Gateworks has a M.2 NVME adapter, the GW16148.

Interface Signals

The biggest thing to note about NVME is that it typically uses QTY 4 PCIe lanes for super high speeds. However, Gateworks SBCs have Mini-PCIe slots that have a single PCIe lane. Thus, the speeds are reduced while using the Gateworks SBCs compared to the full potential, but speeds are still very fast at around 225-275MB/s.

Sizes

Typical NVME sizes are 22mm wide. Some lengths quite long, designed for consumer laptops. (80mm long, 2280 defined size) These longer sizes are not compatible for the Gateworks SBCs.

Thus, for a Gateworks SBC, common sizes that would be compatible are a 2230 & 2242. A 2260 will not fit on the Gateworks NVME adapter and will hang off the edge.

Larger sizes will work over the interface, but note they would hang over the adapter and not secure properly.

M.2 Keys

Gateworks has created an M.2 adapter for Mini-PCIe slots, but the first adapter was designed for cellular modems which often take the B-Key.

Most NVME drives are M-Key. The Gateworks GW16148 Adapter uses the M-Key. Please view the Gateworks M-Key M.2 adapter for Mini-PCIe for NVME (M-Key).

Software Interface

NVME drives should show up in Linux as /dev/nvme0 (similar to how a microSD would show up as /dev/mmc0)

Tested Drives & Speeds

As mentioned above, Gateworks SBCs only expose 1x PCIe lane per slot, thus the speeds achieved will not be the same as on an x86 desktop with a full 4x PCIe lanes.

However, the speeds achieved are still often higher than even the onboard eMMC storage as discussed here

Gateworks has ran some sample speed tests using a GW73xx Venice SBC (PCIe Gen 2) and the following command:

dd if=/dev/nvme0n1 of=/dev/null bs=1M count=500 iflag=nocache

Tested NVME Drives for the GW16148

Drive Speed Notes
Silicon Motion MD681GEDKAF3 ~240 Megabytes/sec 2242 size
Sabrent Rocket 512GB - 2TB ~250 Megabytes/sec 2242 size (SB-1342-512)
Virtium !StorFly 8GB – 240GB Not yet Tested 2242 size
Samsung SSD980 ~225 Megabytes/sec 2280 size, does NOT fit GW16148 adapter

Note: See TracWiki for help on using the wiki.