Metadata Flushing via Targeted Cache Region Classification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current metadata flushing methods in file systems face issues such as blind flushing, where unnecessary workload occurs due to flushing all caches regardless of need, and repeated flushing, where multiple requests are initiated for the same block, leading to inefficiencies in high-pressure scenarios like hybrid pool file systems and background data deduplication.

Innovation Solution

A targeted metadata flushing approach is implemented, where a flushing request is received, and target indicators are classified based on cache region types, determining only the necessary indicators for flushing, thereby avoiding unnecessary flushing and reducing system resource occupancy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all cache regions are flushed regardless of need, then metadata consistency is maintained, but unnecessary workload and system resource occupancy increase

Engineering Contradiction:
Improvemetadata consistencyVSAvoidflushing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by flushing only the necessary cache regions instead of all cache regions. The system determines which cache regions contain metadata that needs to be persisted and flushes only those specific regions, avoiding the excessive action of flushing all caches regardless of need. This resolves the contradiction by maintaining metadata consistency for necessary regions while improving flushing efficiency by skipping unnecessary regions.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements local quality by treating different cache regions differently based on their specific needs. Instead of applying a uniform flushing policy to all cache regions, the system identifies and processes only those regions that require flushing, giving each cache region the appropriate level of attention based on its local characteristics and requirements.

Inventive Principle:
Principle #3Local quality

2Reliability

If multiple flushing requests are initiated for the same block, then metadata consistency is ensured, but repeated flushing increases system resource occupancy and reduces efficiency

Engineering Contradiction:
Improvemetadata consistencyVSAvoidsystem resource occupancy
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies merging by consolidating multiple flushing requests for the same cache region or block into a single flushing operation. The system tracks which cache regions need flushing and combines duplicate requests, ensuring metadata consistency is maintained while avoiding the repeated energy consumption and resource occupancy associated with multiple separate flushing operations.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If all cache regions are flushed, then data loss is prevented, but response time increases due to unnecessary flushing operations

Engineering Contradiction:
Improvedata loss preventionVSAvoidresponse time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts and identifies only the necessary cache regions that require flushing to prevent data loss. Instead of flushing all cache regions, the system extracts the specific subset of regions that contain uncommitted metadata changes and flushes only those. This maintains data loss prevention while significantly reducing response time by eliminating unnecessary flushing operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12066937B2Method, electronic device and computer program product for flushing metadata
Publication Date: 2024.08.20 EMC IP HLDG CO LLC
  • US12066937B2 patent drawing
  • US12066937B2 patent drawing
  • US12066937B2 patent drawing

AI summary

Techniques for flushing metadata involve: receiving a flushing request, the flushing request instructing to flush metadata in at least one cache region to a persistent storage device; acquiring a plurality of target indicators, the target indicator at least indicating a type of a cache region and a block in the cache region, where the plurality of target indicators are classified based on types of cache regions indicated by the target indicators among the plurality of target indicators; determining, from the plurality of target indicators, at least one target indicator of the same type as the at least one cache region; and flushing metadata in a block indicated by the at least one target indicator. Such techniques avoid flushing a cache region that does not need to be flushed, shortens the response time to the flushing request, and reduces the occupancy of system resources.