Check All the Boxes When Designing a NAND-Based Storage System

By Lena Harman


February 06, 2023


Check All the Boxes When Designing a NAND-Based Storage System

One would think that designing a NAND-based storage system would be fairly straightforward. It is however an incredibly complex process, with a range of components and trade-offs that need to be made along the way. There is no one size fits all solution, especially when it comes to designing for industrial solutions.

To help you navigate that minefield and assess the various tradeoffs, we’re going to provide you with a series of tips. And keep in mind that reliability and robustness are key to such subsystems, as well as the ever-present cost efficiency.

In addition to the seven tips, you’ll also need to consider which flash controller is best for your application. The controller is obviously a key component for any NAND flash-based system, whether it's USB flash drives, SSDs and SD Cards, or eMMC modules. Among other things, its duties include regulating system behavior and reliability.

Know Your Requirements

A great foundation is always the best starting point. To get this foundation, know your specific use cases; the demands that will be placed on your system; and what industry requirements must be adhered to. Once you have these facts, you can begin the design process.

Different use cases will bear different effects on the system’s performance and the lifetime. Similarly, different industries often have different requirements. For instance, some applications are more price-sensitive than others, whereas others would need the highest reliability, regardless of cost.

Understand How to Gauge Performance

Optimal performance is the usually a goal of any storage system. But it’s not always an apples-to-apples comparison. Designers must remember that performance inevitably deteriorates over time, as NAND flash memory has a limited number of program/erase (P/E) cycles. Also, the amount of data that’s stored can also (negatively) effect performance. As a result, it’s hard to predict performance over time.

Prepare for Power Failures

Power failures are inevitable: Hence, you must design a system that’s prepared for them or you could be facing disastrous consequences, including corrupted data, costly downtime, a damaged reputation, etc. As a result, it’s imperative that you consider how susceptible the system may be to such unexpected power failures. In industrial environments where the consequences of outages are potentially more costly, the proper steps should be taken to ensure that devices are power fail-safe.

Here again, right flash controller is key. For example, if a power failure should occur, some controllers will recover the last valid entry based on the log of recent flash transactions, while others won’t. And some controllers can monitor the supply voltage. If a power fail should occur, the controller can stop flash accesses early, preventing potential problems.

Trade Capacity for More Performance and Reliability

Reliability and peak performance are typically the top requests in the design of a storage system. Note that it’s actually possible to increase both performance and reliability by giving up storage capacity. For example, industrial automation, networking, and robotics all demand top-tier reliability, endurance, and speed. For this reason, industrial design teams often turn to single-level cell (SLC) flash, which provides faster write performance and greater reliability than triple-level cell (TLC) flash. This is partially because SLC flash stores 1 bit per cell, while TLC stores 3 bits per cell. The tradeoff here is that SLC flash is more costly.

Using pseudo SLC (pSLC) mode, it’s possible to design a storage subsystem with the performance and reliability that’s near that of SLC, yet at a lower cost. Along those same lines, a technique called over-provisioning (OP) can be used. With OP, specific flash storage areas are reserved for the controller management data, which reduces the available space to store user data.

Use SMART Monitoring Tools

Regardless of what you’ve heard, all storage systems have limited lifetimes. Factors that impact that lifetime include P/E cycles, specific use cases, and environmental conditions. While some symptoms can be alleviated with proper maintenance, a system will never live forever. That’s why health monitoring plays such an important role in managing and maintaining storage systems. Health monitoring tools also help ensure reliable operations and prevent unexpected system failures. Particularly, health monitoring is essential for industrial environments where costs are high and mission-critical applications are the norm.

Self-Monitoring, Analysis, and Reporting Technology (SMART) Tools bring new levels of power and precision to storage system management. Using SMART Tools, a flash controller can gather and deliver data about the NAND flash’s status. Should there be an imminent failure threatening the device, the controller can alert you with a report of vital statistics.

Consider Your TCO

While initial purchase price of a storage system often gets a lot of attention, design teams should really focus on the total cost of ownership (TCO), which encompasses a lot more than just purchase price. It includes all the operating expenses of the system over its lifetime, such as power, maintenance, repair, and replacement. Moreover, TCO includes expenses incurred due to diminished performance and reliability, security breaches, and backup and recovery. In most industrial environments, the purchase price is merely a fraction of the TCO.

While a lower purchase price may look appealing, it often leads to a higher TCO later. For example, cheap controllers have fewer features and hardware support, making them more prone to issues like non-optimal wear-leveling and poor error-handling, which can reduce a system’s lifetime. In some cases, the cost of one system failure can easily end up costing more than the purchase price. Ultimately, if you cut costs in system design, you risk greater chances of lost data, downtime, and a higher TCO.

Identify the Right Partner

A top priority when designing a storage system is to find the right partner. Between performance requirements, health monitoring tools, preparation for power failures, and TCO, there are lots of decisions, considerations, and trade-offs to be made. And if the storage system is vital for your applications, if it holds sensitive data, or if a system failure could cause costly downtime, then identifying a partner with the competence and experience to support you through the design process is key to the ultimate efficacy of your system.

A wide range of flash controllers are currently available, each with different interface options and quality levels. But due to the physical characteristics of NAND flash memory, truly reliable data processing is only possible with a quality NAND flash memory controller.

Hyperstone provides reliable NAND flash memory controllers for industrial and embedded NAND flash-based storage solutions that combine high reliability with long lifetimes to satisfy the requirements of demanding industrial applications. The company’s portfolio supports a range of interfaces and form factors. Together, this deep system design knowledge and engineering support makes them a key partner for embedded designers seeking to build robust and reliable storage systems.

I?m a Marketing Coordinator working in a high-tech company on the Lake of Constance in Germany. After graduating UTS with a double degree in Communications & International Studies I moved oversees to improve my language skills and embrace a different culture. Passionate about human resources, event planning, communication design, content marketing and digital strategy, i'm eager to develop my skills in SEO and all things google data analysis.

More from Lena