Flash Block Management for Sub-Block Garbage Collection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing non-volatile memory devices face challenges in efficiently managing data storage and retrieval due to limitations in addressing the restrictions of sub-block write operations and the need for effective garbage collection to maintain data reliability and storage efficiency.
Innovation Solution
The implementation of a storage device with a flash translation layer (FTL) that includes a block manager and garbage collector to manage physical blocks and sub-blocks through free and victim selectable block lists, optimizing data rearrangement and erasure operations to enhance data reliability and storage efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional block management is used in non-volatile memory devices, then the structure is simple, but storage efficiency and data reliability deteriorate due to inability to address sub-block write restrictions and garbage collection needs
Solution Approach 1:
The patent divides a physical block into multiple sub-blocks and implements independent management of each sub-block through the FTL. This segmentation allows selective erasure and validation of individual sub-blocks, enabling efficient garbage collection while maintaining data reliability. The block manager tracks the state of each sub-block separately, allowing fine-grained control over write and erase operations.
Solution Approach 2:
The Flash Translation Layer (FTL) acts as an intermediary between the host system and the physical memory blocks. It manages the mapping between logical block addresses and physical block addresses, handles garbage collection, and performs validation operations. This intermediary layer abstracts the complexity of sub-block management from the host while ensuring data reliability through validation and error handling.
2Reliability
If garbage collection operations are performed frequently to maintain storage efficiency, then data reliability improves, but processing time and system performance worsen
Solution Approach 1:
Instead of performing full block erasure during garbage collection, the patent performs partial erasure at the sub-block level. The garbage collector identifies and erases only the invalid sub-blocks that need to be freed, rather than erasing entire blocks. This partial action reduces the time required for garbage collection while maintaining storage efficiency, as only the necessary portions are processed.
Solution Approach 2:
The FTL performs preliminary validation of sub-blocks before they are marked as invalid, and maintains tracking information about the state of each sub-block. This preliminary action allows the garbage collection process to quickly identify which sub-blocks need erasure without having to scan entire blocks, significantly reducing the time required for garbage collection operations.
3Reliability
If sub-block write restrictions are strictly enforced, then data integrity is maintained, but write performance and storage utilization worsen
Solution Approach 1:
By segmenting blocks into sub-blocks with independent state tracking, the system can enforce write restrictions on specific sub-blocks without affecting others. When a sub-block is full or invalid, the FTL can perform validation and erasure on that specific sub-block while other sub-blocks remain available for writing, maintaining write performance while ensuring data integrity through selective enforcement of write restrictions.
Solution Approach 2:
The FTL dynamically changes the state parameters of sub-blocks (valid, invalid, erased, being-erased) based on write operations and validation results. This parameter management allows the system to adaptively handle write restrictions, transitioning sub-blocks between states as needed to maintain data integrity while optimizing write performance through efficient state transitions and parallel operations.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A storage device and an operating method of a storage controller are provided. The storage device comprises a non-volatile memory device, including a plurality of physical blocks, each physical block including a plurality of sub-blocks and a storage controller including a free block list and a victim selectable block list for the plurality of physical blocks. The storage controller is configured to check full reusable physical blocks in the free block list and select a head of the checked block when there are not enough free blocks for storing data in response to a write request received from a host. The storage controller is further configured to perform a garbage collection based on the victim selectable block list and to transmit an address of the physical block subjected to the garbage collection to the non-volatile memory device together with the write request.