Memory Sub-System Segment Erasure for Garbage Collection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional memory systems face inefficiencies in garbage collection operations during mixed workload scenarios, leading to increased latency, power consumption, and resource allocation challenges, as they require erasing entire blocks before writing new data, which is time and energy-consuming.
Innovation Solution
A memory sub-system that performs data operations based on valid memory counts, utilizing a single-cursor garbage collection design to identify and erase specific segments of NAND blocks, thereby reducing the need for costly and energy-hungry approaches and enabling efficient wear leveling and garbage collection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional garbage collection operations are performed by erasing entire blocks before writing new data, then data storage operations can be completed, but the process becomes time-consuming and energy-consuming
Solution Approach 1:
The patent divides a memory block into multiple segments and maintains valid memory counts for each segment. Instead of erasing entire blocks, the system only erases specific segments that contain invalid data, significantly reducing the time and resources required for garbage collection operations while maintaining data integrity.
2Loss of energy
If conventional garbage collection operations erase entire blocks, then clean memory space is freed, but energy consumption increases
Solution Approach 1:
By segmenting blocks and tracking valid memory counts per segment, the system identifies and erases only the minimal necessary segments containing invalid data. This segmentation approach reduces energy consumption by avoiding unnecessary erasure of segments containing valid data, while still effectively freeing up clean memory space for new writes.
Solution Approach 2:
The system performs partial erasure actions by targeting only specific segments that need cleaning rather than erasing entire blocks. This partial action approach eliminates excessive energy consumption associated with erasing all segments, including those containing valid data, while maintaining adequate garbage collection functionality.
3Reliability
If entire blocks are erased for garbage collection, then memory space is reclaimed, but device wear increases
Solution Approach 1:
The patent implements segmentation of blocks into multiple segments with individual valid memory count tracking. This allows the system to reclaim memory space by erasing only the minimal segments containing invalid data, significantly reducing the number of erase cycles per garbage collection operation and thereby extending device lifespan while maintaining effective memory space reclamation.
4Productivity
If conventional systems require erasing entire blocks before writing, then data integrity is maintained, but resource allocation becomes inefficient
Solution Approach 1:
By dividing blocks into segments and tracking valid memory counts at the segment level, the system enables more granular and efficient resource allocation. Memory space can be reclaimed and reallocated faster by targeting only specific segments, improving overall resource allocation efficiency while reducing the time penalty associated with erasure operations.
Data Source
AI summary
A memory device includes a plurality of groups of memory blocks, each group including a plurality of blocks, and each block including a plurality of memory units. A memory controller for the memory device performs operations including maintaining a count of valid memory units in the group for each group and maintaining a count of valid memory units in each block of the memory device. The operations further include selecting a first group based on a count of valid memory units and the first group including a target plurality of blocks. The operations further include selecting a first target block from the target plurality of blocks, determining whether the first target block is to be erased, and erasing the first target block in response to determining that the first target block is to be erased.


