Evolution or Revolution: Fast Read/Write Embedded Storage

Press Office, VersaLogic Corporation, 07/28/21

The ever-increasing deployment of sensor, control, and management systems at the edge in both fixed and mobile systems such as manned platforms as well as UAVs, UUVs, and UGVs is driving an increase in the volume of data collected. It’s not always possible, and in some cases not desirable, to pipe all this raw data back to the cloud server.

Concerns about connection reliability, communication bandwidth, and security are driving a need for more processing and data storage capability at the edge. This particularly impacts edge-deployed servers that may be at the heart of a workstation cluster.

storage needs at the EdgeThe “edge” takes many forms and drives the need for fast local storage

Essentially, the need to store data locally coupled with ever-increasing capture rates required very high read/write speeds. Over the last 15 years we’ve seen an evolution of storage capacity, and there’s been an evolution of embedded system read/write speeds, but recently a revolution has been taking place.

Evolutionary years: 2006 to 2016

Up through 2016, the main on-board storage for embedded single board computers (SBCs) was eMMC or solid state drives (SSD) with SATA interfaces.

eMMC is the acronym for embedded MultiMediaCard. It was introduced in 2006 and is standardized by JEDEC. An eMMC device includes flash storage and a controller. It connects with the host CPU via a parallel interface. The latest version 5.1 has theoretical read speeds of up to 400 MB/s; however this is dependent on the storage density of the device. For example, a currently available 64 GB eMMC 5.1 device is quoted as having read/write speeds of 330/200 MB/s.

The mSATA, mini SATA, drive was introduced in 2009 by the SATA-IO consortium and as the acronym suggests utilizes a SATA interface. Unlike an eMMC device which is soldered down, an mSATA card plugs into a socket on the host industrial computer. This makes it easily upgradeable when a higher storage density is required. Using a SATA III interface, cards with sequential read/write speeds of greater than 550/450 MB/s are available.

combined mSATA and mini PCIe socketThe SWaP-optimized Harrier has a combined mini PCIe/mSATA socket

M.2, originally called Next Generation Form Factor (NGFF), can support both SATA and Non-volatile Memory Express interfaces. First, let’s look at M.2 with SATA.

M.2 is a plug-in module with defined sizes and keying. Storage devices use M or B Key and are typically 22 x 80 mm (designated as “2280”). M.2 modules using the SATA interface operate at SATA III speeds of 6 Gb/s with max data throughput rates of 600 MB/s. Actual read/write speeds depend on the device storage density.


The big leap forward for on-board storage on SBCs came with the publication of the PCI Express M.2 Specification. Called Non-volatile Memory Express (NVMe), two or four PCIe lanes are supported. At Gen 3 speeds of 8 GT/s (giga transfers per second) per lane, each lane has a throughput of 985 MB/s. With the maximum complement of four lanes, this means a theoretical throughput of 3.94 GB/s. The actual throughput will depend on the flash configuration. A 240 GB density device may have read/write bandwidths of 3.1/1.0 GB/s, whereas with a different structure a 960 GB device could be running at 3.5/3.0 GB/s.

Any way that you cut it, NVMe storage devices are blazingly fast. They are 2 to 5X faster than the fastest SATA III storage devices!

When is this performance required in embedded systems at the edge? One example would be the Grizzly embedded computer. Its fast 10 Gbps Ethernet ports are matched by a 16 core processor and an M.2 socket supporting fast read/write NVMe SSD storage with four PCIe Gen 3 lanes. Also featuring low power draw and industrial temperature operation, from the beginning it was developed for edge server applications.

mSATA and M.2 socketsThe Grizzly edge server with M.2 2280 and mini PCIe/mSATA sockets supports multiple storage options

The Sabertooth PC104 embedded computer also includes high speed SSD storage (NVMe) and up to 32 GB of RAM (error-correcting RAM in the Xeon-E model).

The Bottom Line

It’s essentially a matter of selecting the right tool for the job. Using mSATA is fine in many applications; storage of an operating system is one example. For heavy duty applications involving large files and fast 10 Gbps Ethernet data pipes, such as on the Grizzly edge server, NVMe is the only way to go.

Additional Information

Want to know more about VersaLogic’s range of embedded products? Let’s start a conversation.