Do's & Don'ts: How to Design a NAND Flash-Based Storage System

Do's & Don'ts: How to Design a NAND Flash-Based Storage System

How to Design a NAND Flash-Based Storage System

Designing a NAND flash-based storage system is a tall order. For one, there are many different systems and flash controllers available. Designers must make tough decisions to create a system that can meet industry- and application-specific requirements. This is particularly challenging for industrial and mission-critical applications where reliable storage is essential.

These are the dos and don'ts of embedded system design

Do Dive into the Details

No two industries are alike. For starters, different industries often have different storage requirements. Moreover, different applications can have varied impacts on systems, e.g., deteriorated performance and shortened lifetimes.

NAND flash-based system design must be a custom process. If you cut corners and attempt to find a one-size-fits-all approach, you increase your susceptibility to system failures, poor performance, etc. Instead, ensure successful design by diving into the details and considering the specific requirements of your industry and applications.

Do Consider your Total Cost of Ownership

A larger-than-expected purchase price can be intimidating. More intimidating, however, is paying for costly maintenance and repairs later on. Unfortunately, this is often the case when designers attempt to use consumer grade storage components in industrial settings.

Rather than seeking the lowest-possible purchase price, consider the system’s Total Cost of Ownership (TCO). TCO encompasses all expenses incurred over a system’s lifetime: power, maintenance, repairs, replacements, plus the costs associated with diminished system performance and reliability, security breaches, backup and recovery, etc.

Since cheap systems are more error-prone, a cheaper purchase price often spells a higher TCO.

Do Consider pSLC mode

To optimize performance and reliability without inflating TCO, consider using flashes in pseudo SLC (pSLC) mode.

In many ways, pSLC combines the advantages of SLC (single-level cell) flash and TLC (triple-level cell) flash. While TLC stores 3 bits per cell, SLC only stores one. Thus, SLC is costlier but provides faster write performance and greater reliability than TLC.

pSLC offers an alternative. By using TLC but only storing 1 bit per cell, pSLC forgoes surplus capacity for improved performance and reliability at a lower cost.

Don't Confuse FOB and Steady-State Performance

Undoubtedly, system performance changes over time. The biggest mistake you can make in embedded system design is considering Fresh-Out-of-the-Box (FOB) performance and steady-state performance one and the same.

FOB performance is how a new flash drive performs. While usually high performing, FOB is not the performance you can expect throughout your system’s lifetime. Instead, you’ll experience steady-state performance, i.e., how a system realistically performs over time as more data is added to the drive and old data is erased. Designers can’t easily predict steady-state performance in advance, but it’s lower than FOB performance.

Do Plan for Long-Term System Health

While no system can perform forever, the right design can improve longevity.

This is why health monitoring tools are essential. Besides monitoring the lifetime of a flash device, Self-Monitoring, Analysis, and Reporting Technology (SMART) tools give the information for preventive maintenance to help ensure reliable operations and prevent unexpected system failures.

Of course, program/erase (P/E) cycles, specific applications, environmental conditions, etc. will also influence your system’s lifetime, but with SMART, you can best position your system for long-term field application and decrease your TCO by managing your storage resources before they fail. 

Don't Ignore the Possibility of Power Failures

As you prepare for long-term system health, don’t ignore the possibility of power failures.

This is where your choice of flash controller can make a profound difference. For example, certain flash controllers can monitor supply voltage; when they detect a voltage drop and a power failure, they can stop flash accesses early to mitigate damage. State-of-the-Art controllers have mechanisms to guarantee that the drive will not be corrupted by sudden power failures.

Neglecting to consider susceptibility to power failures can bring dramatic consequences—particularly in industrial environments with mission-critical applications.

Do Choose Your Partner Carefully

Storage system designers face a myriad of decisions and choices. However, knowing what's best for your specific industry and applications can be challenging—particularly if your system holds sensitive data or is susceptible to costly downtimes.

To navigate these challenges, you need a partner who has proven competence and experience.

Hyperstone provides industrial grade NAND flash memory controllers for a range of different interfaces. Paired with long term experience and a deep competence in system design our dual offering uniquely positions us to deliver robust engineering support throughout the design process.

Visit our whitepaper library or contact us to learn more about designing a reliable NAND flash-based storage system.