Buddy Group Cache Metadata Write Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The lifetime of flash devices is affected due to frequent metadata writing, leading to write amplification issues and reduced performance, as existing methods require multiple IO operations for each write request, which shortens the device's lifespan.

Innovation Solution

The method involves using a buddy group system to manage cache blocks, where metadata is written into remaining cache blocks within the same buddy group, increasing the probability of combining metadata writes and reducing the number of write operations on the flash device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If IO is performed on each piece of metadata according to the size of the metadata, then data security is ensured, but the lifetime of the flash is significantly affected due to frequent write operations

Engineering Contradiction:
Improvedata securityVSAvoidlifetime of flash
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The patent combines multiple small metadata write operations into a single larger write operation by accumulating metadata from multiple IO requests and writing them together as a batch. This merging approach maintains data security requirements while significantly reducing the total number of write operations to the flash device, thereby extending its lifetime.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If IO is performed on the metadata that is aligned according to 4K, then write performance is improved, but a write amplification problem exists that significantly affects the lifetime of the entire flash

Engineering Contradiction:
Improvewrite performanceVSAvoidlifetime of flash
Core Design Contradiction:
ProductivityVSDuration of action of stationary object

Solution Approach 1:

The patent changes the write operation parameters by switching from small, frequent metadata writes to larger, less frequent batch writes. By adjusting the size and frequency parameters of write operations, the system achieves better flash utilization and reduced write amplification, extending flash lifetime while maintaining acceptable performance through optimized batch processing.

Inventive Principle:
Principle #35Parameter changes

3Speed

If the storage medium is based on NVDIMM or NVRAM, then write speed is improved, but the cache capacity is relatively small and has difficulty dealing with heavy random write pressure

Engineering Contradiction:
Improvewrite speedVSAvoidcache capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent segments the cache storage into different regions or layers, allowing a portion to be based on fast but limited NVDIMM/NVRAM for immediate write operations, while another portion utilizes flash storage for bulk metadata accumulation. This segmentation enables the system to leverage the speed of volatile memory for critical operations while using the larger capacity of flash for batch operations, handling heavy write pressure effectively.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3309685B1Method and apparatus for writing data to cache
Publication Date: 2019.09.11 HUAWEI TECH CO LTD
  • EP3309685B1 patent drawingFigure 1
  • EP3309685B1 patent drawingFigure 2
  • EP3309685B1 patent drawingFigure 3

AI summary

A method and an apparatus for writing data into a cache are provided. The method includes: receiving an IO request write command, where the IO request write command includes metadata of to-be-written data; obtaining a first buddy group from a global buddy queue, and determining whether all metadata of the to-be-written data can be written into the first buddy group; and if yes, writing all the metadata of the to-be-written data into the first buddy group, and writing all the metadata of the to-be-written data into a metadata block corresponding to a metadata group to which the first buddy group belongs. Therefore, a problem that a lifetime of a flash is affected because the metadata is frequently written into the flash can be resolved.