Flexible XOR Buffering for Multi-Checksum RAID Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional XOR engines in RAID systems are limited by having only two local result buffers, restricting the generation of checksums and requiring additional reads of user data, which reduces performance efficiency and limits the number of parity drives and checksums that can be generated.

Innovation Solution

A flexible buffering scheme using three or more arithmetic units and local result buffers allows for the generation of multiple 'P' and 'Q' checksums, as well as unmodified user data copies, with a single read of user data, enabling the creation of multiple distinct 'Q' checksums and minimizing memory reads and writes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If only two local result buffers are provided in the XOR engine, then the device complexity is reduced, but the productivity decreases because additional reads of user data are required to generate multiple checksums

Engineering Contradiction:
Improvenumber of local result buffersVSAvoidnumber of checksums generated per read
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements three or more local result buffers that can be dynamically configured to serve multiple functions: storing P checksums, Q checksums, or unmodified user data copies. This multi-functionality allows the XOR engine to generate multiple distinct checksums with a single read of user data, eliminating the need for additional reads and improving productivity while maintaining manageable device complexity

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

Solution Approach 2:

The patent introduces dynamic configuration capability where the buffers can be flexibly allocated and reconfigured based on different operational requirements. The system can adaptively assign buffers to store different types of data (P checksums, Q checksums, or user data copies) depending on the specific RAID configuration and recovery needs, optimizing performance for various scenarios

Inventive Principle:
Principle #15Dynamics

2Device complexity

If only one GF Multiply coefficient is provided for each data source, then the device complexity is reduced, but the adaptability decreases because different Q checksums require additional reads of user data

Engineering Contradiction:
Improvenumber of GF Multiply coefficientsVSAvoidability to generate different Q checksums
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments the GF Multiply coefficient storage by providing multiple coefficients (at least three) for each data source, allowing different coefficients to be stored and applied independently. This segmentation enables the system to generate multiple distinct Q checksums using different coefficients without requiring additional reads of user data, thereby improving adaptability while keeping the coefficient storage structure organized and manageable

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent pre-loads multiple GF Multiply coefficients into the XOR engine before checksum generation operations. By having multiple coefficients readily available in the engine, the system can immediately switch between different coefficients to generate various Q checksums without needing to re-read user data, thus improving versatility while avoiding the complexity of dynamic coefficient loading

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If memory is not fast enough to keep up with the rest of the system, then the loss of time increases due to multiple reads and writes, but reducing memory speed would decrease the reliability of the system

Engineering Contradiction:
Improvetime for memory reads and writesVSAvoiddata integrity during transfer
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent performs preliminary actions by generating P checksums, Q checksums, and unmodified user data copies simultaneously during the initial read of user data from memory. By completing all necessary checksum generations in a single read operation rather than requiring multiple subsequent reads, the system minimizes memory access time and reduces the burden on memory speed, thereby decreasing time loss without compromising data integrity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent merges multiple operations into a single pass through the user data: reading user data from memory, generating P checksums, generating Q checksums with different coefficients, and creating unmodified copies are all performed concurrently in one read operation. This consolidation reduces the total number of memory reads and writes, decreasing time loss while maintaining reliable data transfer through coordinated simultaneous operations

Inventive Principle:
Principle #5Merging (Combining)

4Device complexity

If user data can only be read from exactly one source and written to exactly one location, then the device complexity is reduced, but the adaptability decreases for flexible RAID configurations

Engineering Contradiction:
Improvedata source and destination managementVSAvoidflexibility in RAID configurations
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements universal buffer structures that can serve multiple purposes: storing user data copies, P checksums, and Q checksums. This multi-functionality allows the system to adapt to different RAID configurations and data recovery scenarios without requiring complex source and destination management, as the same buffer infrastructure can handle various data types and configurations flexibly

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

Solution Approach 2:

The patent introduces dynamic buffer allocation and configuration capabilities that allow the system to adaptively reconfigure data sources and destinations based on specific RAID requirements. The buffers can be dynamically assigned to different roles (source, destination, or intermediate storage) depending on the operational context, enabling flexible RAID configurations while maintaining relatively simple device architecture

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8935593B1Method and apparatus for flexible buffers in an XOR engine
Publication Date: 2015.01.13 MARVELL ASIA PTE LTD
  • US8935593B1 patent drawing
  • US8935593B1 patent drawing
  • US8935593B1 patent drawing

AI summary

A method and apparatus uses a flexible buffering scheme in an XOR engine to generate checksums, allowing a user to recover data when a disk drive partly or completely fails. An XOR engine may include three or more arithmetic units and three or more local result buffers, which may be used to generate a combination of any of a “P” checksum, a “Q” checksum, and an unmodified copy of the user data, in a single read. The local result buffers and arithmetic units allow the use of multiple Galois field Multiply coefficients so that multiple distinct “Q” checksums may be generated with only one read of the user data.