Heterogeneous Flash Garbage Collection via Data Relocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage systems with heterogeneous flash memory devices face challenges in managing different erase block sizes, leading to increased write amplification and inefficiencies in data management, particularly when dealing with misaligned allocation units and metadata tracking.
Innovation Solution
The solution involves relocating data from misaligned allocation units to new erase blocks, allowing for the reclaiming of erase blocks while minimizing data movement and write amplification, and implementing wide RAID stripes for enhanced data recovery and reliability across different erase block sizes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If traditional garbage collection is used with heterogeneous flash memory devices, then data management is simplified, but write amplification increases significantly
Solution Approach 1:
The patent segments the flash memory space into multiple super blocks, where each super block contains multiple erase blocks of different sizes. This segmentation allows the system to manage heterogeneous erase block sizes uniformly through super block-level operations, reducing write amplification while maintaining data management simplicity.
Solution Approach 2:
The patent introduces a logical-to-physical mapping layer that acts as an intermediary between the host system and the heterogeneous flash memory devices. This mapping layer translates logical addresses to physical erase block locations, enabling uniform management of different erase block sizes without requiring host system modifications.
2Productivity
If data is relocated from misaligned allocation units, then erase block reclamation efficiency improves, but data movement increases
Solution Approach 1:
The patent performs preliminary actions by pre-organizing data into properly aligned allocation units during the initial write operations. This preliminary organization reduces the need for subsequent data relocation operations during garbage collection, thereby improving erase block reclamation efficiency while minimizing data movement time.
Solution Approach 2:
The patent changes the organizational parameters of data storage by aligning allocation units with erase block boundaries. This parameter change from misaligned to aligned allocation units enables more efficient erase block reclamation without requiring excessive data movement during garbage collection operations.
3Reliability
If wide RAID stripes are implemented, then data recovery reliability improves, but system complexity increases
Solution Approach 1:
The patent merges the garbage collection mechanism with wide RAID stripe operations, allowing simultaneous data reclamation and redundancy maintenance. By combining these functions at the super block level, the system achieves improved data recovery reliability through wide RAID stripes without proportionally increasing system complexity.
Solution Approach 2:
The patent implements a universal super block management structure that handles multiple functions including garbage collection, RAID stripe formation, and data recovery operations. This multi-functional approach enables wide RAID stripes for enhanced reliability while avoiding separate complex subsystems for each function.
Data Source
AI summary
A system includes a solid-state storage array having a plurality of solid-state storage devices and a storage controller coupled to the solid-state storage array, the storage controller including a processing device, the processing device to determine that a first allocation unit has a first portion occupying a first plurality of erase blocks and a second portion sharing a second erase block with a portion of a second allocation unit. The processing device is further to relocate data of the portion of the second allocation unit sharing the second erase block with the second portion of the first allocation unit to another erase block and in response to relocating the data of the portion of the second allocation unit, reclaim the first plurality of erase blocks and the second erase block.


