Encoded Virtual Block Deferred Reference Counting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data storage systems, particularly in log-structured file systems, efficiently managing resource utilization is challenging due to increased resource usage as data is updated or overwritten, leading to slower throughput and higher costs.

Innovation Solution

The implementation of encoded virtual block deferred reference counting, where IO requests are processed by updating a reference count structure out of line from the IO request, allowing for efficient resource management and reducing the need for immediate updates, thereby minimizing resource-intensive operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If reference counts are updated immediately with each IO request, then data integrity is maintained, but system throughput decreases and resource utilization worsens

Engineering Contradiction:
Improvesystem throughputVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by updating the reference count structure in advance during the IO request processing, rather than updating the actual reference counts immediately. The reference count structure serves as a pre-computed data structure that captures the net change in reference counts, allowing the system to maintain data integrity while deferring the actual expensive update operations to a later background process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism - the reference count structure - that acts as a buffer between IO requests and the actual reference count updates. This intermediary structure stores the net changes in reference counts without immediately applying them to the actual reference count data, thereby decoupling the IO path from the expensive update operations and improving throughput while maintaining eventual consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If reference counts are updated out of line from IO requests, then resource utilization improves and throughput increases, but system complexity increases

Engineering Contradiction:
Improvedata throughputVSAvoidreference counting mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the reference counting mechanism into two distinct parts: the reference count structure that is updated with each IO request (capturing net changes), and the actual reference count data that is updated in background batches. This segmentation allows the IO path to remain simple and fast, while the complex batch update logic is isolated to a separate background process, thereby managing system complexity while improving throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements periodic action by updating the actual reference counts in background batches at periodic intervals or when certain conditions are met, rather than updating them with every single IO request. This periodic batch updating approach reduces the frequency of expensive operations while still maintaining data integrity, thereby improving overall system throughput without requiring continuous complex update logic in the IO path.

Inventive Principle:
Principle #19Periodic action

3Reliability

If more storage resources are allocated for reference counting, then reference count accuracy is maintained, but storage efficiency decreases and costs increase

Engineering Contradiction:
Improvereference count accuracyVSAvoidstorage resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent creates a copy of the reference count information in the reference count structure, which stores the net changes in reference counts rather than the actual reference count values themselves. This copying approach allows the system to maintain reference count accuracy by capturing all changes in the structure, while using minimal additional storage space since only the delta changes are stored rather than full reference count data. The actual reference count data can then be regenerated from this compact representation when needed.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11366609B2Technique for encoding deferred reference count increments and decrements
Publication Date: 2022.06.21 EMC IP HLDG CO LLC
  • US11366609B2 patent drawing
  • US11366609B2 patent drawing
  • US11366609B2 patent drawing

AI summary

A method, system, and computer program product for encoded virtual block deferred reference counting comprising receiving an input/output (“IO”) request for data, the data associated with a virtual block, updating a reference count structure to reflect the IO request, and updating, out of line from the IO request, one or more reference counts associated with the virtual block to reflect the result of the IO request based on the updated reference count structure.