Log-Structured Storage Controller for Garbage Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In storage apparatuses with compression functions, rapid data updates can lead to excessive garbage generation, potentially depleting the storage pool and reducing response performance by restricting I/O reception from the host.
Innovation Solution
A storage apparatus with a virtual volume and a log-structured write space that compresses and logs data, restricting write requests when the pool is full and overwriting pre-update data with post-update data when specific conditions are met to manage garbage and maintain performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data updates are performed frequently in a storage apparatus with compression function, then data freshness and responsiveness are improved, but garbage generation increases leading to pool depletion and performance degradation
Solution Approach 1:
The system performs preliminary assessment of update conditions before executing data updates. By evaluating whether pre-update data should be overwritten based on compression ratios and data characteristics, the system prevents unnecessary garbage generation while maintaining efficient update processing
Solution Approach 2:
The system dynamically changes parameters related to update processing, including compression thresholds and overwrite conditions. By adjusting these parameters based on current pool status and data characteristics, the system optimizes the balance between update speed and garbage generation
2Extent of automation
If garbage collection is executed at regular intervals, then storage pool maintenance is automated, but rapid data updates can outpace garbage removal leading to pool depletion
Solution Approach 1:
The system implements feedback mechanisms that monitor the relationship between garbage generation from data updates and garbage removal through collection. By continuously assessing pool status and adjusting update acceptance decisions, the system prevents pool depletion while maintaining automated maintenance
Solution Approach 2:
The system dynamically adjusts its operation mode between accepting updates and restricting updates based on real-time pool status. This dynamic behavior allows the system to adapt to varying workloads and prevent pool depletion during periods of rapid updates
3Loss of substance
If write requests are restricted when pool is full, then garbage generation is controlled, but response performance from host perspective deteriorates
Solution Approach 1:
Instead of completely restricting write requests when the pool is full, the system applies partial action by selectively accepting or rejecting updates based on specific conditions. This approach maintains acceptable response performance while still controlling garbage generation through intelligent update filtering
4Loss of substance
If pre-update data is overwritten with post-update data, then garbage generation is reduced, but data integrity requirements must be carefully managed
Solution Approach 1:
The system applies preliminary anti-action by assessing update conditions before execution to prevent data integrity issues. By evaluating compression ratios, data characteristics, and pool status beforehand, the system ensures that overwriting operations maintain data integrity while reducing garbage volume
Data Source
AI summary
A storage apparatus and method of controlling same which, while preventing depletion of a storage area due to the generation of garbage, also prevent a drop in response performance from the perspective of the host, are proposed. One or more storage devices which constitute a pool, and a controller which manages a log-structured write space which is a virtual logical space, compresses data of a compression target among the data which has been written to the virtual volume by the host and logs the data in the log-structured write space, and writes the post-compression data which has been logged in the log-structured write space to the storage device, are provided in a storage apparatus, the controller restricting reception of a write request from the host when a used capacity of the pool is at or above a threshold; when the data logged in the log-structured write space has been updated, the controller determines whether a predetermined condition is satisfied and, when the predetermined condition is satisfied, the controller overwrites the compressed data of the pre-update data which has been logged in the log-structured write space with the compressed data of the post-update data.


