Storage Controller Meta Data Recovery via Journal Buffer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage devices with volatile semiconductor memory face data loss during power interruptions, necessitating a method to preserve meta data and efficiently restore it after power events.
Innovation Solution
A storage device generates journal data based on meta data locality, using a cache allocation flag to determine allocation between a meta cache and meta buffer, and stores this data in non-volatile memory for recovery, allowing for efficient restoration of meta data during power events.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If meta data is stored in volatile memory for fast access, then access speed is improved, but data loss occurs during power interruptions
Solution Approach 1:
A journal buffer acts as an intermediary between the volatile meta cache and non-volatile storage. The storage controller writes journal data (including meta data updates and cache allocation flags) to the journal buffer before completing operations, ensuring that critical meta data changes are preserved even if power is interrupted. This intermediary structure allows the system to maintain fast access through the cache while providing a safety net for data preservation.
Solution Approach 2:
The system performs preliminary writing of journal data to the journal buffer before the meta data write operation completes. By recording the intended meta data changes and their cache allocation status in advance (in the journal buffer), the system can recover and restore meta data accurately even if power is lost during the main operation. This preliminary action ensures data integrity without sacrificing access speed.
2Reliability
If meta data is stored in non-volatile memory for data preservation, then data safety is improved, but access speed deteriorates
Solution Approach 1:
The system applies local quality by storing only frequently accessed or recently modified meta data in the volatile meta cache, while keeping less frequently accessed meta data in non-volatile storage. The journal buffer tracks which meta data resides in the cache through cache allocation flags, enabling intelligent recovery decisions. This selective approach allows hot meta data to be accessed quickly while cold meta data remains in non-volatile storage for safety.
Solution Approach 2:
The meta data storage is segmented into multiple locations: the meta cache for fast access, the journal buffer for transaction logging, and non-volatile storage for permanent preservation. Each segment serves a specific purpose - the cache provides speed, the journal provides recovery capability, and non-volatile storage provides data safety. This segmentation allows the system to optimize for both speed and reliability by using the appropriate segment for each operation.
3Reliability
If journal data is written to non-volatile memory immediately, then data safety is improved, but operational downtime increases
Solution Approach 1:
The journal writing operation is made continuous and asynchronous with the main meta data operations. The storage controller writes journal data to the journal buffer in the background without blocking or halting normal read/write operations. This allows the system to maintain continuous operation while periodically flushing journal data to non-volatile storage, minimizing operational downtime while ensuring data safety.
Solution Approach 2:
The system rushes through the journal write operation by writing only essential recovery information (meta data changes and cache allocation flags) to the journal buffer, rather than writing all meta data. This selective journaling approach allows the critical recovery information to be written quickly to non-volatile storage without causing significant operational downtime, while still providing adequate protection against power interruptions.
Data Source
AI summary
An operating method of a storage device, the method including; loading journal data from a non-volatile memory device, identifying a cache allocation flag included in the journal data, and restoring meta data corresponding to the journal data to a storage controller in response to the cache allocation flag. Here, the cache allocation flag is a first flag when the meta data are allocated to a meta cache of the storage controller, and the cache allocation flag is a second flag when the meta data are stored to a meta buffer of the storage controller.


