Directory-Level RAID Consolidates Parity Files

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional file-level RAID systems have high replication ratios, leading to increased storage requirements and inefficiencies in data redundancy, as each file requires a separate parity file, which can result in significant data block replication and increased storage needs.

Innovation Solution

Implementing directory-level RAID, where multiple files are grouped under a leaf directory, with all data striped together to generate a single parity file using algorithms like XOR or Reed-Solomon codes, reducing the replication factor and improving storage efficiency by consolidating parity blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If file-level RAID is implemented with separate parity files for each file, then data redundancy and fault tolerance are improved, but storage requirements and replication ratios increase significantly

Engineering Contradiction:
Improvedata redundancyVSAvoidstorage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges multiple separate parity files into a single consolidated parity file by grouping data blocks from multiple files into data stripes and generating one parity file that contains parity information for all files. This reduces the total number of parity files from N (one per file) to 1, significantly decreasing storage requirements while maintaining the same level of data redundancy and fault tolerance.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The single parity file serves multiple files simultaneously, making it a universal redundancy mechanism. The parity file contains encoded information that can reconstruct data blocks from any file in the group, allowing one parity file to fulfill the redundancy function for multiple files rather than requiring dedicated parity files for each file.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If file-level RAID is implemented with separate parity files, then fault tolerance is improved, but device complexity and management overhead increase

Engineering Contradiction:
Improvefault toleranceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent combines multiple file-level RAID operations into a single directory-level RAID operation. Instead of managing separate parity files for each file, the system creates one parity file for the entire directory, reducing management overhead and simplifying the RAID controller's task to a single encoding and decoding operation rather than multiple independent operations.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If multiple separate parity files are created for each file, then data integrity is maintained, but storage efficiency decreases due to increased replication

Engineering Contradiction:
Improvedata integrityVSAvoidstorage efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges the storage of multiple parity files into a single consolidated parity file, eliminating redundant storage of parity information. By grouping data blocks into data stripes and generating one parity file that serves all files in the directory, the system maintains data integrity through parity checking while achieving significant storage efficiency improvements by reducing the total volume of parity data stored.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8959390B2Directory-level RAID
Publication Date: 2015.02.17 META PLATFORMS INC
  • US8959390B2 patent drawing
  • US8959390B2 patent drawing
  • US8959390B2 patent drawing

AI summary

A method and system for reducing replication factor in a file system are provided. In some embodiments, two or more requested files may be grouped together under a leaf directory for RAID process. All data under the directory are grouped into one or more data stripes, each of which comprises a plurality of data blocks. One or more parity data blocks may be generated for each data stripe according to a computing algorithm, such as an exclusive OR (XOR) code or a Reed-Solomon (RS) code. Parity blocks corresponding to the one or more data stripes are concatenated into one parity file. Data blocks of the two or more requested files and their corresponding parity blocks are stored in separate partitions and/or separate storage drives of the file system.