How to Explain Flash in a Way Everyone Can Understand
July 03, 2019
Story
It?s time to help everyone appreciate flash memory and controllers. Here?s how to explain it in a way everyone can understand.
We have all been there. You are explaining your job as an embedded designer to your friend or family member and their eyes start to glaze over the moment things start to get technical. Take NAND flash memory, for example. Most people take it for granted, having little regard for how this storage technology works and can be found in everyday computing devices.
It’s time to help everyone appreciate flash memory and controllers. Here’s how to explain it in a way everyone can understand:
Think of flash memory as an empty warehouse…
Imagine a warehouse with rows and rows of empty shelves. A good warehouse manager will make sure these shelves get put to good use, stacking palettes of units efficiently, always utilizing free space.
Flash memory is like this warehouse and it needs a flash controller to act like its warehouse manager, determining when and where bits of information can be efficiently stored.
Different units, different storage demands
Every warehouse stores something different. The palettes they store contain units of all shapes and sizes, with varying storage requirements. For instance, they may need to be stored at certain temperatures. Or perhaps certain palettes are not to be positioned next to neighboring palettes because of high usage patterns. Again, a warehouse manager is needed to oversee these varying storage conditions.
The same can be said for storing data on the flash memory. If one page of data is accessed repeatedly, this affects neighboring pages, which can compromise the entire flash memory. Balance, usage, and wear of blocks and pages must be considered by the flash controller in the same way the warehouse manager must consider and manage the location of palettes and units in warehouses.
Maintaining safe and efficient storage
Imagine a palette that has remained on a shelf for a long period of time, having accumulated dust and rust. Or perhaps one palette has been used more often than others, becoming distressed from wear and tear. Moreover, the shelves supporting this palette have also begun to deteriorate, suffering from the same usage patterns and becoming potentially hazardous. To maintain safe and efficient storage in this warehouse, these palettes need to be moved or replaced to allow the shelf to be repaired and prevent further wear.
A flash controller will do the same with data on the flash memory, utilizing features like Wear Leveling (WL), Garbage Collection (GC), Dynamic Data Refreshes (DDR) and Read Disturb Management (RDM) to maintain the flash and ensure data is stored efficiently. The controller keeps a close eye on all the usage patterns and consequent wear and tear, moving data accordingly to ensure the flash wears out evenly over time.
Warehouses: big and small, new and old
Smaller warehouses are more basic and simpler. With less room, they offer fewer usage patterns, therefore requiring simpler management. The same goes for older flash memories, often having error correction requirements of just 1-bit. Modern NAND flash memory on the other hand, in particular 3D-NAND, are much more complex in structure and require high-end flash controllers. These complex architectures require mechanisms for self-testing, tweaking and calibration.
Moreover, the way we access goods has become more immediate and granular than ever. In a warehouse just a few years ago, its palettes would be simply loaded and unloaded. But nowadays, we expect to access individual units on palettes, without compromising or disturbing the entire palette.
The same goes for modern flash memory. A flash controller needs to know where each individual bit is stored and does so by tracking its location and identifying the block and page it is stored on. Furthermore, the speed and efficiency of these operations increases with each new generation of flash memory. Operations are continuously fine-tuned depending on the flash architecture, storage demands, and physical environment.
Flash controllers: The brains of the operations
In the same way a warehouse manager knows where and how every unit is stored, a flash controller manages how and where data are stored on a flash memory, anticipating multiple scenarios and requirements and remaining efficient at all times. Any downtime could impact an entire supply chain and have adverse consequences on critical processes.
A flash controller is the brain of a NAND flash-based storage system. Like all brains, they are unique and some have higher IQs than others. Sophisticated flash controllers, such as Hyperstone controllers, can handle some of the most stringent applications, efficiently managing the growing complex architectures of NAND flash memories.
Lena Harman is responsible for digital marketing, online strategy and the optimization of online platforms at Hyperstone. She holds a double degree in Communications and International Studies from the University of Technology, Sydney.