Cache Program Backup Blocks for NAND Flash Error Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

NAND flash devices face data loss and performance issues due to premature acknowledgement of write operations, particularly in DRAM-less SSD controllers, where the risk of program errors increases with growing bad blocks, leading to potential catastrophic failures and reduced performance.

Innovation Solution

Implementing a cache program operation that uses backup blocks to store copies of data, with a backup block mapping table to recover data in case of program errors, allowing for safe data transfer and error handling without data loss, even in DRAM-less SSD controllers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If cache program operation is used to improve write performance, then write speed is improved, but the risk of program error increases due to premature acknowledgement

Engineering Contradiction:
Improvewrite speedVSAvoidprogram error risk
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies preliminary action by writing data to both the target block and a backup block before the write operation completes. The backup block is prepared in advance as a safety mechanism, so that if a program error occurs during the write to the target block, the data is already preserved in the backup block. This allows the system to acknowledge completion to the host while maintaining the ability to recover from errors.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements beforehand cushioning by introducing a backup block that serves as a cushion against program errors. The backup block is written with a copy of the data before the potential failure can affect the system. This cushioning mechanism absorbs the shock of write failures, allowing the cache program operation to proceed with performance benefits while mitigating the reliability risks through the pre-prepared backup copy.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Reliability

If DRAM is added to keep data copies for error recovery, then reliability is improved, but device complexity and cost increase

Engineering Contradiction:
Improveerror recovery capabilityVSAvoidcontroller complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies copying by creating a backup copy of the data in a backup block within the NAND flash device itself, rather than requiring an external DRAM buffer. The backup block is a simple copy of the data that was being written to the target block, providing error recovery capability without adding complex DRAM memory or sophisticated error handling circuitry. This copying approach maintains reliability while minimizing device complexity.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent uses the backup block as an intermediary mechanism between the write operation and the potential failure. Instead of requiring DRAM to hold data copies or complex error recovery logic, the backup block serves as a simple intermediary storage that captures the data state before potential corruption. This intermediary approach provides error recovery without the complexity of DRAM-based systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If internal SRAM size is increased to store more temporary data, then productivity is improved, but die size and silicon cost increase

Engineering Contradiction:
Improvedata storage capacity in controllerVSAvoiddie size
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The patent applies copying by using the backup block to store a copy of the data that would otherwise need to be held in SRAM. This allows the controller to maintain productivity by having data available for recovery operations without requiring larger SRAM capacity. The backup block in NAND flash serves as an alternative storage medium that doesn't consume additional silicon area in the controller die.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent uses a disposable backup block mechanism that doesn't require expensive, large-capacity SRAM memory. Instead, it leverages the existing NAND flash structure with a simple backup block that can be written and read efficiently. This approach provides sufficient data storage capacity for error recovery without the need for costly, area-intensive SRAM expansion.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS20240202084A1Cache program with backup blocks
Publication Date: 2024.06.20 INNOGRIT TECH CO LTD
  • US20240202084A1 patent drawing
  • US20240202084A1 patent drawing

AI summary

Systems, apparatus and methods are provided for performing cache program operations in a non-volatile storage system. A method may comprise issuing a first cache program operation from a storage controller to a non-volatile storage device to write data to a first regular block, writing the data to the first regular block and a copy of the data to a backup block, determining that a program error has occurred while writing the data to the first regular block, asserting the program error to the storage controller, retrieving a mapping between the first regular block and the backup block, issuing a read operation to read the copy of the data from the backup block, reading the copy of the data from the backup block and issuing a second cache program operation to write the data to a second regular block and marking the first regular block as defective.