SMR Storage Garbage Collection via Attribute-Based Relocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Shingled Magnetic Recording (SMR) systems face challenges in managing data storage due to track overlap, which affects previously written data, and Garbage Collection (GC) processes can decrease system performance by relocating data, leading to performance bandwidth issues.
Innovation Solution
A tunable approach is implemented to improve control over GC and data relocation by defining attributes such as data age, access frequency, ownership, and environmental conditions to optimize the source and destination portions for GC, reducing the performance impact of data relocation and ensuring data coherency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If Garbage Collection (GC) processes are performed to free up space on the disk by relocating valid data, then space availability for new data is improved, but system performance bandwidth decreases due to data relocation operations
Solution Approach 1:
The patent identifies source portions containing invalid data in advance and prepares destination portions for data relocation before GC operations are needed. By pre-identifying and preparing storage locations, the system can perform data relocation more efficiently with reduced impact on performance bandwidth, as the destination locations are already determined and ready to receive relocated data.
Solution Approach 2:
The patent introduces a GC manager as an intermediary component that coordinates between the indirection system and the physical data relocation process. The GC manager receives indications of invalid data, determines appropriate source and destination portions, and manages the relocation process, thereby optimizing the balance between freeing space and maintaining system performance.
2Reliability
If tracks are sequentially written to avoid affecting previously written data in SMR systems, then data integrity is improved, but writing efficiency decreases due to the sequential constraint
Solution Approach 1:
The patent segments the storage medium into multiple portions (source portions and destination portions) and uses an indirection system to map logical addresses to physical locations across these segments. This segmentation allows the system to maintain sequential write integrity within each track while enabling more flexible data management at the portion level, improving overall writing efficiency without compromising data integrity.
Solution Approach 2:
The indirection system acts as an intermediary between the host system and the physical storage medium. It translates logical block addresses to physical locations, allowing the system to present a sequential write interface to the host while managing the complex realities of SMR track overlaps and data relocation in the background, thereby maintaining both data integrity and writing efficiency.
3Device complexity
If destination portions for GC are not rotated, then GC process simplicity is maintained, but Adjacent Track Interference (ATI) issues increase and media lifespan decreases
Solution Approach 1:
The patent implements rotation of destination portions for GC operations, making the GC process dynamic rather than static. By rotating which portions serve as destinations for data relocation, the system distributes wear more evenly across the media and reduces persistent ATI issues in specific locations. This dynamic approach extends media lifespan while maintaining manageable GC process complexity through systematic rotation patterns.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
Managing data in a data storage system including at least one Data Storage Device (DSD) and a host. An initial location is determined for data to be stored in the at least one DSD based on at least one attribute defined by the host. A source portion is identified from a plurality of source portions in the at least one DSD for a garbage collection operation based on the at least one attribute defined by the host. A destination portion is identified in the at least one DSD for storing data resulting from the garbage collection operation based on the at least one attribute defined by the host. Garbage collection of the data in the source portion is performed into the destination portion, and after completion of garbage collection, the source portion is designated as a new destination portion for a new garbage collection operation.