Write-Back Cache Segment Cleaning Read Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Log-structured file systems in server storage systems with hard disk drives experience high system overhead due to frequent read operations required for segment cleaning, which increases I/O bandwidth usage.
Innovation Solution
Implementing a write-back cache with a cache managing module and a file system module that determines whether live blocks in victim segments are stored in the cache, reading and loading them if not, and setting dirty flags for storage in the cache to reduce read overhead during segment cleaning.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If segment cleaning is performed by reading all live blocks from victim segments, then cleaning completeness is improved, but read overhead and I/O bandwidth usage increase
Solution Approach 1:
The patent applies preliminary action by checking the cache for live blocks before reading from the storage device. The file system module determines whether live blocks in victim segments are already stored in the WB cache, and only reads blocks that are not in the cache. This preliminary check prevents unnecessary read operations while ensuring all necessary blocks are eventually processed for cleaning.
2Reliability
If segment cleaning reads all live blocks from storage device, then data validity is ensured, but I/O bandwidth is consumed
Solution Approach 1:
The patent uses the WB cache as an intermediary between the storage device and the segment cleaning process. The cache managing module and file system module work together to check if live blocks are already in the cache before reading from the storage device. This intermediary layer reduces direct I/O operations while maintaining data validity by ensuring all necessary blocks are loaded into the cache for processing.
3Ease of operation
If frequent read operations are performed during segment cleaning, then victim segments are properly identified, but system overhead increases
Solution Approach 1:
The system performs preliminary action by pre-loading live blocks into the WB cache before the segment cleaning process begins. The file system module identifies live blocks in victim segments and loads them into the cache in advance, so that during actual cleaning operations, the system can work with cached data rather than repeatedly reading from the storage device, thereby reducing system overhead.
Data Source
AI summary
A host configured to interact with a storage device includes a write-back (WB) cache configured to write data to the storage device, a cache managing module configured to manage the WB cache, and a file system module configured to determine whether live blocks in victim segments among a plurality of segments stored in the storage device are stored in the WB cache, to read the live blocks from the storage device as a consequence of determining that the live blocks are not stored in the WB cache, to load the read live blocks to the WB cache, and to request the cache managing module to set dirty flags for the stored live blocks.


