Log Chain Access Request Processing for Non-Volatile Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

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

Innovation Solution

An access request processing method that uses a non-volatile memory to store log chains of object cache pages, allowing for the insertion of data nodes with information about modified data chunks, enabling flexible modification granularity and reducing system overheads by recording data in a chronological order, thereby supporting smaller granularity file modifications and ensuring data consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a block-based storage system uses SCM as both cache space and log space, then data write operations are reduced, but system overheads increase due to block state maintenance

Engineering Contradiction:
Improvedata write operationsVSAvoidsystem overheads
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The invention segments the storage system into distinct components: cache space for data caching and log space for transaction logging. Instead of using the same block for both purposes, the system separates these functions into different storage areas, eliminating the need to maintain complex multi-state blocks while preserving the benefits of reduced write operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention extracts the log functionality from the cache block structure. By maintaining a separate log space that records transaction information, the system removes the burden of maintaining frozen/normal and dirty/clean state pairs from cache blocks, thereby reducing system overhead while keeping the cache efficient.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If data is updated at a granularity of a block, then data consistency is maintained, but write amplification occurs when data to be updated is smaller than a block

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

Solution Approach 1:

The invention applies local quality by allowing different granularities for different storage regions. Cache space operates at a fine granularity (individual data items or small records) while log space operates at a coarser granularity (transaction-level logging). This enables precise updates without forcing entire blocks to be rewritten, reducing write amplification while maintaining consistency.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The log space acts as an intermediary between the application and the cache space. Instead of directly updating cache blocks at block granularity, transactions are first recorded in the log with precise granularity information. This intermediary layer enables fine-grained data updates while maintaining the simplicity of block-based management for the cache.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If multiple block states are maintained for data consistency, then data protection is improved, but system complexity and overhead increase

Engineering Contradiction:
Improvedata consistencyVSAvoidblock state management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The invention extracts the state management complexity from the cache block structure by maintaining a separate log space. The log records all transaction information needed for consistency recovery, allowing cache blocks to have simpler state management. This separation preserves data consistency guarantees while reducing the complexity of block state maintenance.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of maintaining multiple complex states in each block, the system creates a copy of the transaction information in the log space. This log copy contains all necessary information for consistency recovery, allowing the cache to use simpler block structures without sacrificing data protection capabilities.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP3376394B1Method and device for processing access request, and computer system
Publication Date: 2022.09.28 HUAWEI TECH CO LTD
  • EP3376394B1 patent drawingFigure 1
  • EP3376394B1 patent drawingFigure 2
  • EP3376394B1 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. In the computer system, when the processor receives a write request, the processor may determine 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 a new data node into the log chain of the object cache page. The inserted data node includes information about a log data chunk of the object cache page, the information about the log data chunk includes the log data chunk or a storage address of the log data chunk in the NVM, and the log data chunk is at least one part of to-be-written data that is to be written by the write request. The computer system provided in this application can reduce system overheads while protecting data consistency.