NVM Log Chain for Write Request Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems using write-ahead logging (WAL) and non-volatile memory (NVM) face high system overheads due to the need to maintain block states and suffer from write amplification when updating data smaller than a block, leading to inefficient data consistency protection.

Innovation Solution

An access request processing method that uses a non-volatile memory (NVM) to record data modifications in a log chain, allowing for flexible granularity of data updates and reducing system overheads by writing modified data directly to the NVM and updating the log chain, rather than immediately writing to the magnetic disk.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If block states are maintained for data consistency in NVM-based storage systems, then data consistency is protected, but system overheads increase

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem overheads
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the state management complexity from the NVM block management system by introducing a separate log structure. Instead of maintaining multiple states (frozen/normal, dirty/clean, up-to-date/out-of-date) for each NVM block, the system uses a traditional WAL log that records all modifications externally. This separates the consistency guarantee mechanism from the storage medium, reducing system overhead while maintaining data consistency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The log structure serves multiple functions: it acts as both a consistency protection mechanism and a modification record. By using a universal log structure for both purposes, the system eliminates the need for separate state tracking mechanisms, thereby reducing complexity and overhead while maintaining reliability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If data is updated at block granularity in NVM, then data consistency is ensured, but write amplification occurs when updating smaller data

Engineering Contradiction:
Improvedata consistencyVSAvoidwrite amplification
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The patent segments the write operation into two independent parts: (1) writing the actual data modification to the NVM at fine granularity (byte-level or small buffer), and (2) recording the modification metadata in the WAL log. This segmentation allows the data to be written efficiently at the required granularity while the log handles the consistency tracking, eliminating write amplification caused by forcing block-level updates for small data changes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial action by only writing the necessary portion of data to the NVM (exact size needed) while using the log to track the complete modification. The log contains the full modification record including before/after images or delta information, allowing the system to maintain consistency without writing entire blocks unnecessarily, thus reducing write amplification.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3754508B1Access request processing method and apparatus, and computer system
Publication Date: 2023.03.22 HUAWEI TECH CO LTD
  • EP3754508B1 patent drawingFigure 1
  • EP3754508B1 patent drawingFigure 2
  • EP3754508B1 patent drawingFigure 3

AI summary

This application discloses an access request processing method and apparatus, and a computer system. The computer system includes a processor and a non-volatile memory NVM. In the computer system, when receiving a write request, the processor determines an object cache page according to the write request. After determining that the NVM stores a log chain log chain of the object cache page, the processor inserts, into the log chain of the object cache page, a second data node recording information about a second log data chunk. The log chain already includes a first data node recording information about the first log data chunk. The second log data chunk is at least partial to-be-written data of the write request. Further, after determining that an intra-page location of the second log data chunk overlaps an intra-page location of the first log data chunk, the processor sets, in the first data node, data that is in the first log data chunk and that overlaps the second log data chunk to invalid data.