In-Memory Journal for Non-Volatile Metadata Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In non-volatile memory devices, particularly in paging SSDs, there is a challenge with write commands being acknowledged without metadata pages being loaded, leading to expensive read latency and inefficiencies in power failure recovery, where existing methods either require costly hardware for backup power or rely on scanning user data blocks, which has limitations especially in multi-stream devices.
Innovation Solution
Implementing an in-memory journal that determines metadata for data, stores it, detects imminent interruptions, programs it to non-volatile memory, and updates it upon restoration, allowing for early command completion without reading from flash memory and reducing the need for costly backup power solutions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If write commands are acknowledged without metadata pages being loaded, then command completion time is reduced, but read latency increases and data integrity risks arise
Solution Approach 1:
The patent applies preliminary action by pre-loading metadata pages into a cache memory before they are actually needed for write operations. This allows the system to acknowledge write commands immediately without waiting for metadata to be read from NVM, while the metadata is simultaneously prepared in advance. The FTL proactively manages metadata loading based on predicted access patterns, resolving the contradiction between fast command completion and data integrity.
Solution Approach 2:
The patent introduces an intermediary component - a cache memory (DRAM) that sits between the NVM and the host system. This cache temporarily stores metadata pages, allowing write commands to be acknowledged based on cache contents rather than requiring immediate NVM access. The intermediary buffer resolves the timing conflict between fast acknowledgment and persistent storage requirements.
2Speed
If metadata is stored in DRAM in a paging FTL, then metadata access speed improves, but hardware cost and board space increase due to required backup power solutions
Solution Approach 1:
The patent applies partial action by caching only the metadata pages that are currently needed or predicted to be needed, rather than caching all metadata simultaneously. The FTL selectively loads metadata pages into DRAM based on access patterns and prioritization, maintaining fast access for critical metadata while minimizing the amount of expensive DRAM and backup power capacity required.
Solution Approach 2:
The patent changes the state of metadata storage by implementing a hierarchical structure where metadata can exist in different locations (NVM or DRAM cache) depending on access frequency and priority. This dynamic parameter change allows the system to optimize between speed and cost by moving metadata between storage layers based on current system state and workload characteristics.
3Device complexity
If scanning user data blocks is used to reconstruct lost metadata, then hardware cost is reduced, but recovery time and system downtime increase significantly
Solution Approach 1:
The patent applies preliminary action by continuously maintaining updated copies of metadata in DRAM cache and periodically syncing this cache to NVM. This proactive approach ensures that metadata is already prepared and available in fast memory, eliminating the need for time-consuming scanning operations during recovery. The system prepares metadata in advance so that upon power restoration, the FTL can quickly verify and resume operations without scanning entire data blocks.
Data Source
AI summary
Various implementations described herein relate to systems and methods for managing metadata using an in-memory journal, including determining metadata for data, storing the metadata in an in-memory journal, detecting an imminent interruption to operations of the storage device, in response to detecting the imminent interruption, program the in-memory journal to a non-volatile memory device of the storage device, detect that the operations of the storage device are being restored, and in response to detecting that the operations of the storage device are being restored, performing metadata update. The first data is read from first original areas of a non-volatile memory. The first metadata includes a first physical address for each of first new areas of the non-volatile memory. The metadata is programmed in a metadata area of the non-volatile memory device.


