NVRAM Variable Storage via Segmented Records

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvevariable persistenceVSAvoiderase operation time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If NVRAM is used for persistent variable storage, then variables remain available across boots, but the limited capacity of NVRAM is quickly exhausted

Engineering Contradiction:
Improvevariable persistenceVSAvoidNVRAM capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improvevariable information completenessVSAvoidstorage space efficiency
Core Design Contradiction:
Loss of informationVSQuantity of substance

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8260818B1Method, apparatus, and computer-readable medium for space-efficient storage of variables in a non-volatile computer memory
Publication Date: 2012.09.04 AMERICAN MEGATRENDS
  • US8260818B1 patent drawing
  • US8260818B1 patent drawing
  • US8260818B1 patent drawing

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.