NVRAM Variable Storage via Segmented Records
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The limited capacity of non-volatile random access memory (NVRAM) in computer systems poses a challenge for efficiently storing and retrieving variables persistently across system boots, as existing methods require frequent erase operations, which are time-consuming.
Innovation Solution
A method involving a data structure with a header and a globally unique identifier (GUID) for efficient storage and retrieval of variables in NVRAM, where full records are created initially and updated values are stored as data-only records, reducing the need for erase operations through a garbage collection process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional variable storage methods are used in NVRAM, then variables can be persisted across system boots, but erase operations become frequent and time-consuming
Solution Approach 1:
The patent segments variable storage into two distinct record types: full records containing complete variable information (name, GUID, attributes, value) and data-only records containing only updated values. This segmentation allows the system to store variable metadata once in full records and subsequent updates in compact data-only records, reducing the frequency and scope of erase operations while maintaining variable persistence across boots.
Solution Approach 2:
The patent performs preliminary organization of variable data by creating full records with complete information before updates occur. This preliminary structure includes headers with offsets to associated data-only records, allowing the system to efficiently locate and update only the necessary data portions without requiring complete erase and rewrite operations, thus reducing erase operation time.
2Reliability
If NVRAM is used for persistent variable storage, then variables remain available across boots, but the limited capacity of NVRAM is quickly exhausted
Solution Approach 1:
The patent creates a compact copy mechanism where data-only records contain only the essential updated value information without duplicating full variable metadata. These compact copies are stored in NVRAM with efficient formatting that minimizes space consumption, allowing more variable updates to be stored in the limited NVRAM capacity while maintaining persistence.
Solution Approach 2:
The patent applies different storage qualities to different parts of variable data: full records with complete metadata are stored with comprehensive information, while subsequent updates use data-only records with minimal information (only the changed value). This local quality differentiation optimizes space utilization in NVRAM by storing only what is necessary at each storage location.
3Loss of information
If full variable records are stored for every update, then variable information remains complete, but storage space is wasted and erase operations increase
Solution Approach 1:
The patent extracts the essential update information from complete variable records, creating data-only records that contain only the changed value data without redundant metadata. This extraction process removes unnecessary information (variable names, GUIDs, attributes that haven't changed) from update operations, significantly improving storage space efficiency while preserving the ability to retrieve complete variable information by combining full records with their associated data-only records.
Data Source
AI summary
A method, apparatus, and computer-readable medium for storing variables in a non-volatile computer memory are provided. The computer-readable medium has a data structure stored thereon that includes a first data field for storing a variable record including a header and variable information. The data structure also includes a second data field for storing a GUID for the variable. The variable record may comprise a full record or a data only record. A full record contains all of the identifying information for the record and the variable value. A data only record includes only an updated value for the variable. When a request is received to retrieve the variable value, the data structure is searched to locate the most recently created record for the variable. The value stored in this record is then returned in response to the request. Periodically, a garbage collection process may be performed to reduce the records stored for each variable to a single full record.


