Metadata Cache Segmentation for Storage I/O Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In storage systems with redundant arrays of disks, the zeroing operation during initialization can significantly impact user I/O performance due to increased metadata access and disk seek times, especially when dealing with large storage capacities, as it requires accessing metadata for each read or write operation and can take a long time, affecting user data availability.
Innovation Solution
A metadata cache is allocated in memory to expedite zeroing on demand and background zeroing operations, reducing metadata reads and average disk header seek times by using zeroing indication bits to determine the zeroing state of data blocks, thereby minimizing the impact on user I/O operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If zeroing operation is performed during initialization of storage system, then data reliability is improved, but user I/O performance deteriorates due to increased metadata access and disk seek times
Solution Approach 1:
The metadata cache is segmented into two distinct parts: a first metadata cache for user I/O operations and a second metadata cache for background zeroing operations. This segmentation allows user I/O and zeroing operations to access different cache instances, preventing zeroing operations from blocking or degrading user I/O performance while still maintaining data reliability through background zeroing.
2Productivity
If metadata cache is allocated for background zeroing operation, then zeroing operation efficiency is improved, but memory resource consumption increases
Solution Approach 1:
The patent applies local quality by creating a specialized second metadata cache instance specifically for background zeroing operations, with properties optimized for that specific purpose. This localized cache structure allows efficient zeroing operations without requiring the entire metadata cache to be dedicated to zeroing, thus balancing efficiency with memory resource consumption.
Data Source
AI summary
A method and a manager for managing a storage system including a manager and a storage device. The storage device includes a data region and a metadata region. The data region is divided into data blocks. The metadata region stores metadata describing zeroing states of the data blocks. The method comprises allocating a metadata cache in a memory of the manager. The metadata cache includes respective zeroing indication bits indicative of the zeroing states of the corresponding data blocks. The allocating procedure comprises allocating a user data cache for reading or writing user data and allocating a background zeroing cache for a background zeroing operation of the storage device. The method further comprises, in response to receiving an I/O request for the storage system, processing the I/O request with the metadata cache.


