Cache Management for Non-Volatile Storage Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cache management schemes for non-volatile storage devices lead to increased average read/write delays and reduced service life due to frequent dirty page replacements, and are costly and inefficient when applied to storage architectures using semiconductor technologies.
Innovation Solution
A cache management method and apparatus that utilizes a clean page subpool and a dirty page subpool, with a cache management apparatus that adjusts the capacity thresholds based on read and write operation delays, managing the subpools to avoid frequent dirty page replacements and optimize cache performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a conventional cache management scheme is applied to non-volatile storage devices, then the cache hit rate is improved, but the average read/write delay increases and the service life of the device is reduced
Solution Approach 1:
The cache is segmented into a clean page subpool and a dirty page subpool. The clean page subpool stores pages that have not been modified, while the dirty page subpool stores pages that have been modified. This segmentation allows different replacement policies to be applied to each subpool, avoiding frequent replacement of dirty pages and reducing write amplification, thereby decreasing average read/write delay while maintaining cache hit rate.
Solution Approach 2:
The cache management apparatus dynamically adjusts the capacity allocation between clean and dirty page subpools based on workload characteristics and access patterns. This dynamic adjustment optimizes the balance between cache hit rate and write amplification ratio, reducing average read/write delay without sacrificing reliability.
2Reliability
If a conventional cache management scheme is applied to non-volatile storage devices, then the cache hit rate is improved, but the service life of the device is reduced
Solution Approach 1:
By segmenting the cache into clean and dirty page subpools, the invention reduces write amplification ratio. Dirty pages are retained in the dirty page subpool until they can be flushed to the storage device in bulk, rather than being immediately written back. This reduces the number of write operations to the storage device, thereby extending its service life while maintaining effective caching through the clean page subpool.
Solution Approach 2:
The invention changes the write amplification ratio parameter by implementing selective write-back policies. Instead of writing back every modified page immediately, the system accumulates dirty pages and performs batch writes, changing the effective write amplification ratio from a high value to a lower optimized value, thus extending device service life.
3Productivity
If a complex cost model is applied to the storage architecture, then the cache management can be optimized, but the implementation cost is high and the execution efficiency is low
Solution Approach 1:
The invention uses simple, easily implementable data structures (clean page subpool and dirty page subpool with basic capacity thresholds) instead of complex cost models. These simple structures provide effective cache management with low implementation cost and high execution efficiency, avoiding the overhead of complex algorithms while still achieving optimal performance.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
Embodiments of the present invention disclose a method and apparatus of cache management for a non-volatile storage device, and relate to the field of data processing technologies, which avoid frequent replacement of dirty pages, increase a service life of the storage device, reduce the implementation cost, and improve the execution efficiency. The embodiments of the present invention includes: determining a size relationship between a capacity sum of a clean page subpool and a dirty page subpool and a cache capacity; determining, when the capacity sum of the clean page subpool and the dirty page subpool is greater than or equal to the cache capacity, whether identification information of a to-be-accessed page is in a history list of clean pages or a history list of dirty pages; and when it is determined that the identification information of the to-be-accessed page is in the history list of clean pages, adding a first adjustment value to a clean subpool capacity threshold; or when the identification information of the to-be-accessed page is in the history list of dirty pages, subtracting a second adjustment value from the clean subpool capacity threshold. The embodiments of the present invention are mainly applied to cache management processes for non-volatile storage devices.