Interleaved Table Log Storage for Non-Volatile Memory Reconstruction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile storage systems face delays and inefficiencies in loading and updating system table data due to serial access methods, which can compromise data coherency and load times, especially when partial segments of data need to be loaded.
Innovation Solution
Implementing an interleaving method of storing system table and log pages in a non-volatile memory, where table pages and log pages are written in a fixed ratio, allowing for efficient loading of partial segments while maintaining data coherency, and enabling quick power-up and reconstruction of system table data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If system table data is loaded from non-volatile memory using serial access methods, then data coherency is maintained, but load time increases and productivity decreases
Solution Approach 1:
The system table data is divided into multiple segments that are stored at different locations in non-volatile memory. During load operations, multiple segments can be retrieved simultaneously through parallel access paths, reducing total load time while maintaining data coherency through version tagging mechanisms that ensure all segments belong to the same table version.
Solution Approach 2:
The patent introduces a temporal dimension to data storage by implementing versioned snapshots of system table data. Multiple versions are stored with associated metadata, allowing the system to load complete table states efficiently without serial access. This dimensional approach enables parallel reconstruction of table data from distributed segments while ensuring coherency through version validation.
2Reliability
If full system table data is loaded for reconstruction, then data completeness is ensured, but the number of pages required and time consumed increases
Solution Approach 1:
The system implements incremental reconstruction by loading only the necessary portions of system table data based on the specific operation required. Change logs track which segments have been modified, allowing the system to load only affected segments rather than the entire table, thus reducing reconstruction time and I/O operations while maintaining data completeness for the required scope.
Solution Approach 2:
The patent employs pre-computed change logs that are maintained in advance during normal operations. These logs record modifications to system table segments, enabling the reconstruction process to identify and load only the specific segments that have changed since the last checkpoint, rather than loading the entire table from scratch.
3Reliability
If system table data is stored in non-volatile memory, then data persistence is achieved, but access delays occur during loading and updating operations
Solution Approach 1:
The system pre-loads frequently accessed system table segments into high-speed cache memory during idle periods or system initialization. Change logs identify which segments are most frequently accessed, allowing the system to proactively cache these segments in volatile memory, thereby reducing access delays for common operations while maintaining persistent storage in non-volatile memory.
Solution Approach 2:
System table data is segmented and selectively cached in volatile memory based on access patterns identified through change log analysis. Hot segments that are frequently accessed are maintained in fast memory, while cold segments remain in non-volatile storage. This segmentation strategy maintains data persistence while significantly improving access speed for critical operations.
Data Source
AI summary
A data storage subsystem is disclosed that implements a process for storing and/or reconstructing system data, such as a system mapping table. In certain embodiments, table pages and log pages are systematically copied, or flushed, to non-volatile memory in an interleaving manner according to a fixed ratio of log pages to table pages, thereby facilitating coherency of data. Full and/or partial reconstruction of a table may be performed within a bounded number of operations based on the size of the table, the ratio implemented, and/or other characteristics.


