NAND Flash SSD Over-Provisioning for Write Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
NAND flash memory-based solid state drives face performance degradation due to the inability to overwrite data, requiring complete rewriting and resulting in a significant slowdown of write performance as blocks become filled with invalid data, necessitating inefficient TRIM commands that consume system resources.
Innovation Solution
A method and solid state drive architecture that partitions memory blocks into user-accessible and over-provisioning pools, allowing blocks to be dynamically transitioned between pools without host system intervention, enabling erasure and data reorganization without TRIM or erase commands, thereby maintaining a steady pool of erased blocks for immediate programming.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is written to NAND flash memory blocks, then storage capacity is utilized, but write performance degrades as blocks fill with invalid data
Solution Approach 1:
The patent segments memory blocks into two distinct pools: user-accessible pool and over-provisioning pool. This segmentation allows independent management of each pool, where the over-provisioning pool serves as a dedicated resource for maintaining write performance by providing fresh erased blocks without affecting user storage capacity in the user-accessible pool.
Solution Approach 2:
The controller automatically manages block transition between pools without requiring host system intervention. The system self-monitors block status and autonomously transitions blocks from the over-provisioning pool to the user-accessible pool when needed, and moves used blocks back to the over-provisioning pool for erasure, eliminating the need for TRIM commands from the host.
2Reliability
If complete rewriting is performed to update data, then data integrity is maintained, but write performance slows down significantly
Solution Approach 1:
The over-provisioning pool is pre-filled with erased blocks ready for immediate programming. When the controller needs to write data, it can directly use these pre-prepared blocks from the over-provisioning pool without waiting for erasure operations, thereby maintaining high write performance while ensuring data integrity through proper programming procedures.
Solution Approach 2:
The patent implements a block lifecycle management system where blocks in the user-accessible pool that have been fully written are automatically transitioned back to the over-provisioning pool. The controller then erases these recovered blocks in the background, preparing them for future use without impacting ongoing write operations, thus maintaining both data integrity and performance.
3Productivity
If TRIM commands are issued to erase blocks with invalid data, then write performance is maintained, but system resources are consumed
Solution Approach 1:
The controller autonomously manages the erasure of blocks without requiring TRIM commands from the host system. The system self-monitors when blocks in the user-accessible pool are fully written and automatically transitions them to the over-provisioning pool for erasure, eliminating the need for host system intervention and reducing system resource consumption.
Solution Approach 2:
The over-provisioning pool acts as an intermediary buffer between the user-accessible pool and the erasure process. Blocks are first moved to this intermediate pool before being erased, allowing the erasure operation to proceed in the background without blocking write operations or requiring host system resources, thus maintaining write performance while minimizing resource usage.
Applied Scientific Principles
This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.
Function Achieved in This Case
This approach maintains write performance by proactively erasing used blocks and reorganizing data internally, reducing the need for host system interconnect bandwidth and minimizing system resource usage, effectively addressing the limitations of unidirectional programming in NAND flash memory.
Implementation Method 1
Data are stored in a NAND flash cell in the form of a charge on the floating gate which, in turn, defines the channel properties of the NAND flash cell
Implementation Method 2
The control gate exerts a Fowler-Nordheim (FN) field that causes the injection of electrons into the floating gate by quantum mechanical tunneling
Implementation Method 3
The substrate exerts a Fowler-Nordheim field that pulls electrons from the floating gate to deplete the floating gate of any program charge
Data Source
AI summary
A solid state drive that uses over-provisioning of NAND flash memory blocks as part of housekeeping functionality, including deduplication and coalescence of data for efficient usage of NAND flash memory devices and maintaining sufficient numbers of erased blocks to promote write performance.


