Electronicdesign 24320 Hcc Ftl Promo

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.

Sponsored Recommendations

What are the Important Considerations when Assessing Cobot Safety?

April 16, 2024
A review of the requirements of ISO/TS 15066 and how they fit in with ISO 10218-1 and 10218-2 a consideration the complexities of collaboration.

Wire & Cable Cutting Digi-Spool® Service

April 16, 2024
Explore DigiKey’s Digi-Spool® professional cutting service for efficient and precise wire and cable management. Custom-cut to your exact specifications for a variety of cable ...

DigiKey Factory Tomorrow Season 3: Sustainable Manufacturing

April 16, 2024
Industry 4.0 is helping manufacturers develop and integrate technologies such as AI, edge computing and connectivity for the factories of tomorrow. Learn more at DigiKey today...

Connectivity – The Backbone of Sustainable Automation

April 16, 2024
Advanced interfaces for signals, data, and electrical power are essential. They help save resources and costs when networking production equipment.


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