Non-Volatile Memory Cache Segmentation for Data Preservation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage apparatuses using volatile memory as a cache face data loss during power interruptions and struggle to manage and extend the lifetime of non-volatile memory, particularly in distinguishing between stationary and non-stationary data regions and balancing wear levels.
Innovation Solution
A storage apparatus employing a non-volatile memory cache with a block management unit that divides the memory into stationary and non-stationary regions, using a circular configuration to allocate and retrieve blocks, and manages wear levels by rotating block allocation and data movement between regions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a volatile memory is used as a data buffer to improve access efficiency, then the processing velocity difference between host and main storage medium is buffered, but all data in the data buffer disappear when electricity is interrupted
Solution Approach 1:
The non-volatile memory is divided into a stationary region for storing data that should be preserved and a non-stationary region for temporary buffering. This segmentation allows the system to maintain reliability for important data while still providing fast access for temporary data, resolving the contradiction between speed and data preservation.
Solution Approach 2:
Different regions of the non-volatile memory are assigned different characteristics: the stationary region provides persistent storage with data preservation guarantees, while the non-stationary region provides fast temporary storage. This local differentiation of memory qualities enables both high access efficiency and data reliability simultaneously.
2Speed
If the data buffer is increased to improve access efficiency, then the velocity buffering capability is enhanced, but the quantity of data lost due to power interruption increases
Solution Approach 1:
By segmenting the buffer into stationary and non-stationary regions, the system can increase the overall buffer size for improved access efficiency while ensuring that only the non-stationary region (which can be cleared on power loss) is used for temporary data. The stationary region preserves critical data, thus improving speed without proportionally increasing data loss risk.
3Reliability
If electricity is supplied to the main storage medium to decrease data loss, then data preservation is maintained, but the consumption of electricity increases
Solution Approach 1:
The non-volatile memory inherently maintains data without requiring continuous power supply, as it automatically preserves data through its non-volatile nature. This self-service characteristic eliminates the need for continuous electricity supply to maintain data, thereby reducing power consumption while ensuring data preservation.
4Ease of operation
If blocks are allocated sequentially in non-volatile memory, then data management is simplified, but the wear level of physical blocks becomes unbalanced reducing lifetime
Solution Approach 1:
The block management unit implements periodic allocation and retrieval of blocks in a circular fashion, cycling through available blocks systematically. This periodic action distributes wear evenly across all blocks over time, preventing any single block from being overused while maintaining relatively simple management through the circular buffer approach.
Solution Approach 2:
The system discards data from the non-stationary region when blocks need to be reused, and recovers blocks by moving them to the stationary region or freeing them for reallocation. This discarding and recovering mechanism enables block reuse and wear balancing while maintaining operational simplicity through automated block management.
Data Source
AI summary
Provided are a storage apparatus using a non-volatile memory as a cache and a method of operating the same, in which the non-volatile memory is used as the cache so as to preserve data even when electricity is interrupted. The storage apparatus using a non-volatile memory as a cache includes a main storage medium, the non-volatile memory being used as the cache of the main storage medium and having a stationary region and a non-stationary region divided according to whether data are fixed, and a block management unit managing blocks allocated in the non-volatile memory.


