Here’s something you may not have been aware of: industrial flash options can have a huge impact on your embedded computing design. Far too many developers take the flash memory in their systems for granted, either leaving the decision until too late in the design or not choosing an option that’s right for their system. Trust me—the impact can be far greater than you may have expected.
You’re likely aware that flash memory is used in just about every embedded computer, from consumer to automotive to medical to industrial. However, each of these categories requires a different type of memory. Differences could be in physical size, capacity, read and write speed, operating temperature range, ruggedness, and so on.
Types of readily available NAND flash memory include SLC (single-level cell), pSLC (pseudo SLC), MLC (multi-level cell), and TLC (triple-level cell), just to name a few. Each of these options are available in industrial operating temperatures but that only covers part of the application specific requirements that need to be addressed, including the product lifecycle management. In other words, consider how long the system is expected to operate in the field, and whether the flash memory is soldered directly onto the board (or is removable).
Other factors include how much and how often data is written to the device, and how critical is that data. For example, if you’re loading a real-time operating system, you can’t have a failure, as that would result in a system shutdown or other type of corruption. If you’re simply logging data, the criticality is less, as failure wouldn’t result in a shutdown, but could result in a data loss or corruption. Those are really the two extremes, and your failure could lie somewhere in between. In terms of cost and impact, that could run anywhere from minimal to exorbitant.
It’s fairly common to have the flash memory soldered onto the board in industrial platforms. In these scenarios, SLC memory is generally recognized as the gold standard. It’s the fastest; it’s the most robust, in that it’s typically specified for 10X the read and write cycles of other architectures; and, unfortunately, it’s the most expensive.
The pSLC variety falls next in line, as it’s effectively MLC devices that are used in a single level cell configuration. Hence, it offers similar performance to MLC, but has longer life. Its tradeoff, because of the single-cell nature, is that it requires twice the memory. For example, a 64-Gbyte MLC eMMC (embedded multi-media controller) device becomes a 32-Gbyte device when operated in pSLC mode. Note that the eMMC contains the embedded controller as well as the flash memory.
Industrial MLC is a good option if limited write cycles are needed. The memory can be “oversized” to improve longevity, but an ECC controller is required, which would help ensure proper wear leveling. TLC offers the least longevity (fewest read-write cycles), but does generally operate in the industrial temperature range.
A few other considerations/practices can significantly improve the life of your flash memory subsystem. For example, it makes sense to place any operating system and/or directories that don’t require updates into a read-only mode. And whenever possible, employ on-board flash for the operating system and application storage (as opposed to going off the main board).
Up to 64 Gbytes of on-board eMMC flash memory is just one of the many features of the SBC35-427 industrial SBC.
If you’re looking for products that make proper use of flash memory, look no further than the WINSYSTEMS SBC35-427 and ITX-P-C444 single-board computers (SBCs), which both have options for onboard eMMC and M.2 Flash devices.
The SBC35-427 is an industrial SBC, designed with Intel’s Apollo Lake-I E3900 series processor. It boasts multiple expansion and configuration options. That includes up to 64 Gbytes of on-board eMMC.
The ITX-P-C444 is an SBC in an industrial Pico-ITX form factor. It’s based on NXP’s i.MX8M applications processor and lists dual Ethernet among its many I/O offerings. In terms of flash memory, it supports up to 64 Gbytes of on-board eMMC and uSD slot memory.
At the end of the day, make sure your choice of flash memory matches your application. It’s a relatively straightforward choice, but the wrong choice can make your design go awry.