Open Block Relocation for NAND Flash Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional NAND flash memory relocation processes interrupt host input/output operations and take significant time due to the need to copy all data, including invalid data, from a block with a high error rate to a new block, which negatively affects host latency and storage efficiency.
Innovation Solution
Implementing a partial close block boundary mechanism that allows the controller to write dummy data and close a block partially, enabling uninterrupted host writes while relocating only valid data to a new block, thereby reducing relocation time and improving efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional relocation process copies all data including invalid data, then data完整性 is maintained, but relocation time increases significantly
Solution Approach 1:
The patent extracts only the valid data from the first block and relocates it to the second block, while leaving the invalid data behind. This is achieved by determining a close block boundary that separates valid data from invalid data, and only copying the valid portion to the new block. This extraction approach maintains data integrity for the relocated data while significantly reducing the amount of data that needs to be copied, thereby reducing relocation time.
Solution Approach 2:
The patent segments the data in the first block into valid data and invalid data portions by determining a close block boundary. This segmentation allows the relocation process to treat different portions of data differently - copying only the valid portion to the second block while leaving the invalid portion in place. This segmentation strategy resolves the contradiction by enabling selective data relocation that maintains integrity for valid data while reducing overall relocation time.
2Reliability
If relocation process interrupts host I/O operations, then data safety is ensured, but host latency increases
Solution Approach 1:
The patent performs preliminary actions by determining the close block boundary and identifying valid data portions before the actual relocation occurs. This preliminary analysis allows the relocation process to proceed more efficiently by knowing exactly what data needs to be copied, reducing the interruption time and minimizing host latency while still ensuring data safety through proper boundary determination.
Solution Approach 2:
The patent applies partial action by relocating only the necessary valid data portion rather than all data in the block. This partial relocation approach reduces the time required to interrupt and resume host I/O operations, thereby reducing host latency while maintaining data safety through the close block boundary mechanism that ensures only valid data is relocated.
3Stability of the object's composition
If block is closed completely before relocation, then data consistency is achieved, but storage capacity utilization decreases
Solution Approach 1:
The patent segments the block into a first portion containing valid data and a second portion that can be used for new data. By determining a close block boundary, the patent enables partial closing of the block rather than complete closing, allowing data consistency to be maintained for the valid data portion while preserving storage capacity utilization in the second portion for future writes.
Solution Approach 2:
The patent applies partial closing action by closing only the first portion of the block containing valid data, while leaving the second portion open for new data writes. This partial closing strategy maintains data consistency for the relocated data while avoiding the need to close the entire block, thereby preserving storage capacity utilization.
Data Source
AI summary
Aspects of a storage device including a memory and a controller are provided. In certain aspects, the controller may determine that data stored on a first block satisfies a threshold data-error condition, the data comprising invalid data and valid data. For example, the first block may have a high ratio of valid data to invalid data that satisfies or exceeds a threshold value. In certain aspects, the controller may determine a close block boundary associated with the first block, wherein the close block boundary is configured to bifurcate the first block into a first portion and a second portion, wherein the first portion comprises the data. For example, the controller may determine a boundary defined by a data length, an indirection mapping unit, a physical program boundary, etc.


