Asynchronous Bad Block Management in NAND Flash

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing NAND flash storage systems face inefficiencies due to synchronous bad block management, which blocks the file system during write, read, or erase operations, leading to reduced throughput and limited overlap between MMC read and NAND write operations.

Innovation Solution

Implementing asynchronous bad block management by queuing write requests at the bad block manager, allowing these requests to be executed in a separate task, thereby performing cache management and error correction in parallel, enabling immediate next-page transfer without waiting for previous operations to finish.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If synchronous bad block management is used, then bad block handling is simple and sequential, but the file system is blocked during write, read, or erase operations, reducing throughput

Engineering Contradiction:
ImprovethroughputVSAvoidbad block management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The bad block management functionality is segmented into a separate task running on a different processor core, independent from the file system task. This segmentation allows the file system to continue operations without being blocked by bad block management operations, thereby improving throughput while maintaining manageable complexity through functional separation

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary mechanism (queue and inter-processor communication interface) is introduced between the file system and the bad block management task. The file system task can submit bad block management requests without waiting for completion, and the separate task processes these requests asynchronously, resolving the throughput-blockage contradiction

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If synchronous bad block management is used, then overhead is handled sequentially, but there is limited overlap between MMC read and NAND write operations

Engineering Contradiction:
Improvestreaming write performanceVSAvoidoverhead time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The useful action of bad block management continues uninterrupted in a separate task while the file system performs its own operations. This continuity allows MMC read operations and NAND write operations to overlap more effectively, reducing the loss of time due to sequential overhead handling and improving streaming write performance

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

Bad block management operations are initiated as separate tasks in advance without waiting for the file system to complete its current operations. This preliminary action allows overlapping of MMC read, file system operations, and NAND programming, reducing total overhead time

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9483395B2Asynchronous bad block management in NAND flash memory
Publication Date: 2016.11.01 GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
  • US9483395B2 patent drawing
  • US9483395B2 patent drawing
  • US9483395B2 patent drawing

AI summary

Methods for receiving data from a file system and storing it in a flash storage medium, wherein a bad block management process comprises queuing, at a bad block manager, one or more write requests, and receiving data associated with each of the one or more write requests and storing the received data in the bad block manager buffer; and performing cache management of data in the bad block manager buffer and subsequently returning a success status to the file system; and executing the one or more queued write requests in a separate task, wherein the executing comprises programming the received data to the flash storage medium during the bad block management process. Corresponding devices are also provided.