Reflink Data Write Amplification Reduction via Cache Pre-Read

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Reflink data modification in cloud computing and virtualization scenarios leads to a write amplification problem due to the copy-on-write principle, resulting in excessive read and write operations on disk.

Innovation Solution

A request processing method that reads continuous data from a disk to a cache, modifies the reflink data, allocates a new address, and reduces the reference count in the reflink shared tree, thereby reducing the number of write operations by eliminating unnecessary writes and introducing a pre-read mechanism for caching other data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If reflink copying method is used to share data area, then disk space utilization and copy speed are improved, but write amplification problem occurs when data is modified

Engineering Contradiction:
Improvecopy speedVSAvoidwrite amplification
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent reads continuous data including the reflink data from disk to cache before modification occurs. This preliminary action ensures that when modification is needed, the data is already in cache memory, allowing the write operation to occur only once in the cache rather than requiring read-modify-write cycles between disk and cache, thereby reducing write amplification while maintaining fast copy performance

Inventive Principle:
Principle #10Preliminary action

2Loss of energy

If data is modified in cache and stored to new address, then write amplification is reduced, but reference count management complexity increases

Engineering Contradiction:
Improvewrite amplificationVSAvoidreference count management
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent implements a reference count mechanism that automatically tracks how many files are sharing the same data blocks. When a reflink copy is created, the reference count is incremented; when a file is modified, the reference count is decremented. This feedback mechanism provides real-time information about data sharing status, enabling the system to automatically manage cache allocation and disk write operations without manual intervention, thus handling the complexity of reference count management systematically

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12130742B1Request processing method and apparatus, and device and non-transitory readable storage medium
Publication Date: 2024.10.29 ZHENGZHOU YUNHAI INFORMATION TECH CO LTD
  • US12130742B1 patent drawing
  • US12130742B1 patent drawing

AI summary

A request processing method and apparatus, a device, and a non-transitory readable storage medium. When modifying reflink data, in the present application, first reading continuous data including currently modified data from a disk to a cache, then modifying corresponding reflink data in the cache, but not modifying other data in the continuous data, and then allocating a new address for the modified new reflink data in the disk, and mapping the cache address of the new reflink data to the new address, so as to store the new reflink data in the new address, and at the same time reducing the reference count of the corresponding reflink data in the reflink shared tree by one. In this solution, there is only one read operation and one write operation for the disk, so the problem of write amplification is reduced.