Nonvolatile Memory Linked Data Blocks for Fast Persistent Writing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing transaction processing systems face performance bottlenecks due to additional journal writing tasks when using fast nonvolatile memory, which reduces the effectiveness of low-latency access times and high bandwidth in nonvolatile memory, especially when compared to slower storage media like HDD or SSD.

Innovation Solution

A linked data structure is implemented for nonvolatile memory, where log data is written sequentially to pre-created data blocks of a certain size, with a header containing information about linked blocks, allowing for efficient log data writing and management without the need for additional journal updates, and enabling the creation of new data blocks as necessary to accommodate log data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If log data is written to nonvolatile memory using traditional file system journaling, then data consistency is ensured, but transaction processing performance deteriorates due to additional journal writing tasks

Engineering Contradiction:
Improvedata consistencyVSAvoidtransaction processing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the storage structure into pre-created data blocks with fixed sizes, where each block has a predetermined header region and data region. This segmentation eliminates the need for dynamic metadata updates during journaling operations, as the block structure is established beforehand. The linear linked list of data blocks provides a simple, static structure that avoids complex file system metadata management, thereby resolving the contradiction between data consistency and transaction processing performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-creating data blocks with fixed structures before actual log data writing occurs. The data blocks are allocated and linked in advance, with headers containing all necessary metadata (block size, linked block pointers, data offset) already initialized. This preliminary setup eliminates the need for runtime metadata updates and journaling operations, allowing direct writing of log data to the pre-prepared blocks, thus improving transaction processing performance while maintaining data consistency.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If additional journal writing tasks are performed for log recording, then metadata consistency is maintained, but the advantage of fast nonvolatile memory is reduced

Engineering Contradiction:
Improvemetadata consistencyVSAvoidaccess time advantage
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent inverts the traditional approach by making the data block structure static and immutable after creation, rather than dynamic and updateable. Instead of allowing metadata to change during writing operations (which requires journaling), the structure is designed so that metadata is finalized upfront. This inversion eliminates the need for additional journal writing tasks, allowing the system to fully utilize the low-latency access capabilities of nonvolatile memory without the overhead of metadata consistency maintenance.

Inventive Principle:
Principle #13The other way round (Inversion)

3Productivity

If data blocks are pre-created with fixed sizes, then writing efficiency is improved, but flexibility in accommodating variable log data sizes is reduced

Engineering Contradiction:
Improvewriting efficiencyVSAvoidflexibility for variable log data sizes
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent uses copying by maintaining a simple, fixed-structure template for all data blocks. Each block follows the same predetermined format with header and data regions, which can be rapidly instantiated and linked. This template-based approach enables efficient bulk creation and linking of blocks while maintaining uniformity. The fixed structure acts as a reusable copy that can be quickly deployed, achieving writing efficiency while the linear linked list provides the flexibility to accommodate variable total log data sizes through dynamic block allocation.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent applies parameter changes by allowing the number of data blocks and their arrangement in the linear linked list to vary dynamically, while each individual block maintains a fixed size and structure. This separation of parameters—fixed block parameters versus variable system parameters (number of blocks, total capacity)—enables writing efficiency at the block level while providing adaptability at the system level to accommodate variable log data sizes through dynamic allocation and linking of blocks.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12153811B2Apparatus and method for fast persistent writing to nonvolatile memory
Publication Date: 2024.11.26 ELECTRONICS & TELECOMM RES INST
  • US12153811B2 patent drawing
  • US12153811B2 patent drawing
  • US12153811B2 patent drawing

AI summary

Disclosed herein are an apparatus and method for processing fast persistent writing to nonvolatile memory. A method for processing fast persistent writing to a nonvolatile memory includes writing log data from a last storage position in a data block created in a certain size, reflecting the entire data block in a storage medium, increasing the last storage position by a size of the written log data, and reflecting the entire data block in a storage medium, wherein the data block is linearly linked to an additional data block in a creation order, and wherein the data block includes a log data storage region, information about a last storage position where the log data is stored in the log data storage region, and information about a linked next data block.