Storage Tier Adjustment for Lower Write Amplification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage apparatuses face issues with write amplification due to delayed data synchronization and inefficient data migration, leading to reduced lifespan and increased garbage cleanup overhead, particularly in systems like Universal Flash Storage (UFS) where F2FS file systems delay invalid data synchronization, causing false data migration to low-speed storage and reducing TLC and QLC lifespans.
Innovation Solution
A method and device that monitor application running status, estimate storage space requirements, and adjust storage apparatus configurations by migrating data between high-speed and low-speed storage portions based on predicted usage, flagging invalid data, and synchronizing data to reduce write amplification and garbage collection overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is migrated from SLC to TLC/QLC during sleep state, then storage capacity is optimized, but write amplification increases and lifespan decreases
Solution Approach 1:
The system performs preliminary actions by monitoring application running status and predicting storage space requirements before data migration occurs. This allows the system to identify valid data that should be preserved and only migrate truly invalid data, preventing premature migration of data that may be needed later.
Solution Approach 2:
The system implements feedback mechanisms by continuously monitoring application status, tracking data validity, and adjusting migration decisions based on real-time information. This feedback loop ensures that data migration decisions are based on actual usage patterns rather than assumptions, reducing write amplification and preserving lifespan.
2Speed
If F2FS delays synchronization of invalid data, then write performance is improved, but garbage cleanup overhead increases
Solution Approach 1:
The system performs preliminary identification of invalid data by monitoring application running status and predicting storage requirements before garbage collection is needed. This preliminary action allows the system to prepare migration lists in advance, making the actual garbage collection process more efficient and reducing overhead.
Solution Approach 2:
The system implements self-service by having applications indirectly mark their own data as invalid through the monitoring mechanism. When an application is determined to no longer be running, its associated data is automatically identified for migration without requiring explicit deletion commands, reducing the burden on the garbage collection process.
3Productivity
If data is migrated to low-speed storage, then storage hierarchy is optimized, but false valid data migration occurs
Solution Approach 1:
The system uses feedback from application monitoring to continuously update knowledge about which data is actually invalid. By tracking application running status and predicting storage needs, the system receives feedback that prevents misidentification of valid data as invalid, ensuring high precision in data validity identification.
Solution Approach 2:
The system performs preliminary validation checks by monitoring application status before marking data as invalid for migration. This preliminary action ensures that data is only migrated when truly invalid, preventing false migration of valid data to low-speed storage.
Data Source
AI summary
There is provided methods and devices for reducing write amplification of a storage apparatus, including monitoring a running status of at least one application; acquiring historical write data of a first application from an application history record to estimate a storage space for current foreground running of the first application based on monitoring the running status of the first application among the at least one application switching to foreground running; determining a storage apparatus adjustment command based on the estimated storage space for the current foreground running of the first application, the storage apparatus including a high-speed storage portion and a low-speed storage portion, the storage apparatus adjustment command including adjustments to a storage space of a variable area in the high-speed storage portion, and the storage apparatus configured to store data generated in response to the at least one application running in the variable area.


