Bringing Determinism to NAND Flash

Bringing Determinism to NAND Flash

Oct. 24, 2018
HCC Embedded’s SafeFTL provides deterministic NAND flash operation over the life of the system.

Flash-translation-layer (FTL) software sits between an operating system or application and raw NAND or NOR flash-memory devices. It handles features like wear-leveling, bad-block management, and caching. Many applications can get away with almost any FTL support. However, real-time systems require a deterministic environment, otherwise programmers need to take the non-deterministic nature of flash into account. The variability of flash storage can be significant over the life of the system, and longer operation times occur as a system ages.

HCC Embedded’s SafeFTL is designed to provide deterministic flash operation over the life of the system. SafeFTL addresses the typical high-performance FTL chores like bad-block management and garbage collection. It can handle up to 4 TB in a single wear-leveled array. It supports multichip arrays and 16-kB page sizes.

The system supports zero copy block read/writes and fast initialization. It has a number of caching options and fail-safe support for unexpected resets. SafeFTL supports all common NAND/NOR devices, including SLC, MLC and multi-plane, while providing over 98% block availability. It comes with ONFI and CFI drivers.

Dealing with Variability

SafeFTL can operate as a conventional FTL implementation but how does HCC Embedded address variability of flash operations? It provides an additional programming interface that allows the application to check whether an operation will complete in the desired timeframe. The application can delay an operation if it would delay the application, preventing it from completing another action within a required time period. 

This approach of prioritizing actions is something programmers working on real-time systems must always contend with. SafeFTL also supports parallel operations, enabling developers to schedule use of the system—even taking operation priorities into account. Developers can split complex operations over multiple time slots while the memory remains accessible for other operations. This can be critical to environments where multiple deterministic applications are running simultaneously.

Having a deterministic FTL can be critical to applications where safety and certification are part of the system design. Working with a non-deterministic FTL is possible in these cases, but it makes the programmer’s job more difficult. In addition, dealing with the unknown means reducing real-time limits or making hardware and software design more complex.

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!