Nonvolatile Memory Linked Data Blocks for Fast Persistent Writing
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
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.
Data Source
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.


