Lookup Structure for Hierarchical Reference Counting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

File systems implementing hierarchical reference counting are incompatible with lookup structures, preventing them from benefiting from performance improvements offered by lookup structures like buffer hashes, as hierarchical reference counting requires traversing the file system tree to determine correct reference counts, while lookup structures skip this traversal.

Innovation Solution

The integration of lookup entry generation counts and file system info generation counts allows the use of lookup structures with hierarchical reference counting, ensuring accurate reference count determination by comparing these counts to validate the use of lookup entries and traversing the file system tree only when necessary, thereby enabling efficient snapshot and file clone operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If hierarchical reference counting is implemented, then reference count accuracy is improved, but performance deteriorates due to required file system tree traversal

Engineering Contradiction:
Improvereference count accuracyVSAvoidperformance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies preliminary action by maintaining lookup entries that are pre-computed and stored in a lookup structure before they are needed. When a page is accessed, the reference count can be determined by consulting the pre-existing lookup entry rather than traversing the file system tree, thus preparing the reference count information in advance to avoid costly traversal operations later

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a lookup structure as an intermediary between the file system tree and the reference counting mechanism. The lookup structure stores pre-computed reference count information and page location data, acting as a mediator that provides fast access to reference count information without requiring direct traversal of the file system tree, thus resolving the contradiction between accuracy and performance

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If file system tree traversal is performed to determine reference counts, then reference count accuracy is improved, but access time increases

Engineering Contradiction:
Improvereference count accuracyVSAvoidaccess time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The lookup structure stores pre-computed reference count information and page physical locations that are calculated in advance during page allocation and file system operations. This preliminary computation eliminates the need for time-consuming tree traversal when reference counts are needed, as the information is already prepared and stored

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a copy of the file system tree's reference count information in the form of lookup entries stored in the lookup structure. These lookup entries contain copies of essential information (page physical locations and reference counts) that can be accessed directly without traversing the original file system tree, thus reducing access time while maintaining accuracy

Inventive Principle:
Principle #26Copying

3Productivity

If lookup structures are used to skip tree traversal, then performance is improved, but reference count accuracy deteriorates

Engineering Contradiction:
ImproveperformanceVSAvoidreference count accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The lookup structure stores reference count information that is pre-computed and validated before being stored. This preliminary computation ensures that the reference counts in the lookup entries are accurate reflections of the actual reference counts in the file system tree, allowing the lookup structure to provide both fast access and accurate reference count information

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a mechanism where the lookup structure's reference count information is kept synchronized with the actual file system state through feedback from file system operations. When pages are allocated, freed, or modified, the lookup structure is updated accordingly, ensuring that the reference count information remains accurate while still providing fast access without tree traversal

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20240385991A1Supporting a lookup structure for a file system implementing hierarchical reference counting
Publication Date: 2024.11.21 NETAPP INC
  • US20240385991A1 patent drawing
  • US20240385991A1 patent drawing
  • US20240385991A1 patent drawing

AI summary

Techniques are provided for supporting a lookup structure for a file system implementing hierarchical reference counting. A write operation to write data to a page maintained by the file system is received. A lookup within a lookup structure is performed using information related to the page in order to identify a lookup entry within the lookup structure. A hash generation count within the lookup entry is compared to a file system info generation count within a file system info object for a volume associated with the page. In response to the lookup entry generation count not matching the file system info generation count, a file system tree of the file system is traversed to determine a reference count for the page, and the write operation is implemented based upon the reference count. Otherwise, the lookup entry is utilized to access the page for processing the write operation.