Archival Storage Snapshot Indexing With Deferred B+ Trees

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional file systems and backup/archival systems are not designed for efficient long-term storage and retrieval of large quantities of snapshots, leading to increased retrieval times as the number of snapshots grows due to the need to traverse extensive metadata for recent data access.

Innovation Solution

An indexing technique using a B+ tree with a large branching factor is employed to create an index data structure that translates logical offsets of snapshots to data object addresses, allowing efficient retrieval independent of the number of snapshots, with indexing deferred until all data is written to an immutable archive.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If conventional file systems process data indexing together with storage layout and data storage to support immediate access, then recently stored data can be immediately retrieved, but retrieval time increases as the number of snapshots increases due to traversing greater metadata

Engineering Contradiction:
Improvedata retrieval speedVSAvoidretrieval time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent segments the indexing process from the storage process by using log-structured formats. Data is written sequentially to logs without immediate indexing, and indexing is performed separately in the background. This segmentation allows rapid data intake while deferred indexing operations build the metadata structures needed for efficient retrieval, resolving the contradiction between fast writing and fast reading regardless of snapshot quantity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-computing and storing index metadata in log-structured formats during the data ingestion phase. Instead of indexing on-demand during retrieval, the system prepares index structures in advance as data is written to logs, enabling constant-time retrieval operations later independent of the number of snapshots.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If conventional systems maintain large quantities of snapshots for long-term storage, then archival requirements are met, but retrieval efficiency decreases due to extensive metadata traversal

Engineering Contradiction:
Improvenumber of snapshotsVSAvoidretrieval efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent replaces the traditional mechanical file system metadata traversal mechanism with a log-structured indexing system. Instead of traversing directory structures and metadata links through multiple snapshots, the system uses sequential log entries with embedded index information that can be directly queried, substituting the mechanical traversal process with a more efficient logging and indexing approach that scales independently of snapshot quantity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent changes the fundamental parameter of how metadata is organized and accessed. Rather than using traditional file system metadata structures that require traversal, the system transforms metadata into log-structured format with direct indexing capabilities. This parameter change in the data organization structure enables retrieval efficiency to remain constant even as the number of snapshots increases to meet archival requirements.

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If data is immediately indexed for live access support, then on-demand retrieval is fast, but write throughput decreases due to concurrent indexing operations

Engineering Contradiction:
Improveindexing timeVSAvoidwrite throughput
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent performs preliminary indexing actions in the background after data is written to logs, rather than concurrently during the write operation. Data is first written sequentially to log files at high speed, and then indexing operations are performed separately on the logged data. This preliminary action separation eliminates indexing overhead from the critical write path, maximizing write throughput while still achieving fast retrieval through pre-computed indexes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the data processing workflow into distinct phases: a write phase where data is rapidly appended to logs without indexing overhead, and an indexing phase where metadata structures are built from the logged data. This segmentation of concerns allows the write operation to achieve maximum throughput by avoiding concurrent indexing, while the separate indexing phase ensures retrieval efficiency is maintained.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12417205B2Technique for efficiently indexing data of an archival storage system
Publication Date: 2025.09.16 NUTANIX INC
  • US12417205B2 patent drawing
  • US12417205B2 patent drawing
  • US12417205B2 patent drawing

AI summary

An indexing technique provides an index data structure for efficient retrieval of a snapshot from a long-term storage service (LTSS) of an archival storage system. The snapshot is generated from typed data of a logical entity, such as a virtual disk (vdisk). The data of the snapshot is replicated to a frontend data service of the LTSS sequentially and organized as one or more data objects for storage by a backend data service of LTSS in an object store of the archival storage system. Metadata associated with the snapshot (i.e., snapshot metadata) is recorded as a log and persistently stored on storage media local to the frontend data service. The snapshot metadata includes information describing the snapshot data, e.g., a logical offset range of a snapshot of the vdisk and, thus, is used to construct the index data structure. Notably, construction of the index data structure is deferred until after the entirety of the snapshot data has been replicated and received by the frontend data service.