Ensuring Data Correctness With Phison’s GuaranteedFlush™

By | Feb 15, 2021 | All, Consumer, Enterprise, Technology

NAND Flash is a non-volatile memory composed of millions of floating-gate transistors that capture electrons within the gate. These floating-gate transistors can be thought of as memory cells. When millions of memory cells are connected, they form an array. Each array consists of blocks and each block contains numbers of pages.

Fig.1 gives a brief illustration of a NAND array f schematic.

 

Each Word-Line (WL) makes a page, which is the basic unit of Read/Program operations in NAND. However, the number of pages for each WL is different in Single-level Cell (SLC), Multi-level Cell (MLC), and Triple-level Cell (TLC) type NAND.

Fig.2 shows that two pages (lower and upper page) sharing the same WL in MLC NAND and three pages (lower, middle, and upper page) sharing the same WL in TLC NAND. Pages that share the same WL are called paired-pages.

 

 

Because of the physical characteristics of NAND flash, here are two golden rules to follow with NAND programming operations:

  1. Programming operations need to follow the order specified based on NAND flash characteristics.
  2. If the programming operation on Word-Line (WL) is not completed, the data integrity of this WL cannot be guaranteed.

 

For MLC or TLC NAND flash, data programming in a  single page will not be a one-step operation. MLC/TLC pages need to be programmed two or three times to accomplish data programming requirements. This phenomenon is a physical characteristic of flash memory.

 

Integrity concerns with user data in paired-pages

 

In the current consumer Solid State Drive (SSD) market, MLC and TLC flash are the most popular memory types. MLC and TLC flash can offer much larger storage capacity with lower cost, especially TLC. However, the programming operation on MLC and TLC flash is more complicated than SLC. If we take TLC flash as an example, you need to program the paired-pages on the same WL three times to complete the whole operation.

Fig. 3 illustrates the complete program operation of TLC flash. Only when the third programming operation on WL_x finishes will the data stored at WL_x become reliable data.

 

Unfortunately, this complexity of programming operations adds to the risk of data corruption. Since the integrity of data occurs only after the entire programming sequence completes (i.e. first program + second program + third program), any unexpected events happening prior to the completion of programming operation will cause corruption or loss of data.

Fig. 4 shows what will happen if any unexpected event interrupts data programming operations. In this case, power loss happens before the completion of programming operation for WL_2, meaning only the data stored in WL_0/WL_1 is guaranteed. In other words, other data could become corrupted due to power loss.

 

Phison proprietary technology, GuaranteedFlush™, is designed for preventing our storage devices from data corruption caused by any unexpected interruption during programming operations.

GuaranteedFlush™ is not run for every single data programming command. Instead, GuaranteedFlush™ is triggered in the background once the storage device receives a FLUSH_CACHE command. Consequently, the integrity of all the data programmed into the device prior to the FLUSH_CACH command is guaranteed by this technology.

Fig.5 is an illustration of the user data range GuaranteedFlush™ is able to cover.

 

 

GuaranteedFlush™ is an implementation of multi-layer algorithms. There are two basic methods used to protect a user’s data from sudden power loss.

 

Concept 1: Dummy data compensation

The first method is by speeding up the programming operations. Programming sequences of different NAND flash types can be different. No matter how the programming sequence varies, the duration of data programing on a single WL determines the risk of data loss due to an unexpected interruption. If this duration becomes longer, the possibility of interruption happening is higher. In order to address this problem, dummy data is inserted into specific WLs to make sure the WL storing the user data is allowed to complete the entire programming operation (i.e. 1st program + 2nd program + 3rd program) as shown in Fig.6.

 

By inserting dummy data into the following WLs, user-data programming operations can complete. In this way, the integrity of user data is a guarantee even if any unexpected event interrupts upcoming programming sequences.

 

Concept 2: Real-time data backup

The second method available to protect SSDs from data corruption caused by the paired-pages effect is by directly backing data up to the pages without encountering paired-paged issues in the first place. Pages configured as SLC mode are able to meet this requirement. This might feel like a radical way to keep user data secure. However, the capacity of SLC mode is one-third for TLC memory. The implementation of Real-time Data Backup becomes another issue.

 

Choose Phison for secure data

GuaranteedFlush™ is yet another Phison proprietary technology designed to ensure data correctness during unexpected power loss. GuaranteedFlush™ strengthens the reliability of Phison SSD products.

 

 

 

Frequently Asked Questions (FAQ) :

Why is TLC NAND more prone to data corruption than SLC?

TLC stores three bits per cell and shares Word-Lines across pages. This requires three separate programming operations, increasing the risk of incomplete writes. SLC only needs one programming cycle, significantly reducing this risk.

What is dummy data compensation in GuaranteedFlush™?

Dummy data is pre-written into subsequent Word-Lines to speed up the completion of real user-data programming. This ensures the full program sequence finishes quickly, reducing vulnerability to power loss.

How does real-time data backup differ from dummy data compensation?

Real-time backup stores user data directly into SLC-mode pages, which don’t suffer from paired-page effects. It avoids the complexity of TLC programming but sacrifices capacity, as SLC stores less data per cell.

Why is real-time data backup not used exclusively?

SLC mode drastically reduces storage density, using it exclusively would cut usable capacity by two-thirds in TLC NAND. Phison balances backup usage with other techniques to retain capacity and performance.

How does GuaranteedFlush™ reflect Phison’s engineering philosophy?

It showcases Phison’s focus on controller-level innovation and data integrity. By designing firmware-level protections tailored to NAND behavior, Phison offers OEMs and enterprise users reliable, low-latency storage with superior power-loss resilience.

The Foundation that Accelerates Innovation™

en_USEnglish