Logging Metadata Modifications in Data Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional methods for updating metadata tables in data storage systems are costly in terms of I/O performance and disk space, and often require locking out other I/O operations or storing large amounts of data, which is inefficient, especially in systems like RAID 5.

Innovation Solution

A log-based approach is implemented where metadata modifications are logged instead of directly writing to the metadata structures, using a log string data structure with a type, length, and string data field, and collected log strings are periodically committed to disk, allowing for efficient space utilization and lower disk thrashing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional methods write metadata directly to disk, then data integrity is maintained, but I/O performance deteriorates and disk space requirements increase

Engineering Contradiction:
Improvedata integrityVSAvoidI/O performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the metadata update process into two distinct parts: (1) logging metadata modifications to a log structure on disk, and (2) periodically replaying the log to update the actual metadata tables. This segmentation allows the system to maintain data integrity through logging while improving I/O performance by batch-processing updates rather than writing immediately for each modification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by logging all metadata modifications in advance before actually applying them to the metadata tables. The log structure records all changes with timestamps and operation details, allowing the system to batch-process and replay these changes later, thereby improving I/O performance while ensuring no data loss occurs.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If traditional methods write metadata to disk, then data persistence is ensured, but disk space requirements increase

Engineering Contradiction:
Improvedata persistenceVSAvoiddisk space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent uses a copying approach where instead of writing full metadata tables to disk, it creates a compact log structure that copies only the essential modification information (operation type, affected blocks, timestamps). This log structure is much smaller than the actual metadata tables, significantly reducing disk space requirements while maintaining data persistence through the replay mechanism.

Inventive Principle:
Principle #26Copying

3Manufacturing precision

If read-modify-write operations are used for sub-sector level changes, then data accuracy is maintained, but I/O performance deteriorates

Engineering Contradiction:
Improvedata accuracyVSAvoidI/O performance
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent applies preliminary action by logging all sub-sector level modifications in advance with precise operation details (read, write, delete operations on specific blocks). This allows the system to maintain data accuracy through the complete log record while improving I/O performance by batch-processing these operations during log replay rather than performing read-modify-write cycles for each individual change.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7653836B1Logging metadata modifications in a data storage system
Publication Date: 2010.01.26 AMZETTA TECH LLC
  • US7653836B1 patent drawing
  • US7653836B1 patent drawing
  • US7653836B1 patent drawing

AI summary

A method, system, apparatus, and computer-readable medium for logging metadata modifications in a storage system are provided. According to one method, modifications to storage system metadata are detected and described in a log string data structure. The log strings are collected and periodically committed to a mass storage device in the data storage system. The log strings may be collected in a log buffer data structure that includes the collected log strings and one or more unique, constantly increasing timestamps. The time stamps are written at the end of each sector of the log buffer. The log buffer may be committed to the mass storage device when the log buffer is full, when a predefined period of time has elapsed since the previous commitment of the log strings to disk, or in a manner designed to ensure that one write of the log buffer is always outstanding. A logger module is operative to collect the log strings, build the log buffer, and to commit the log buffer to disk.