RAID Parity Calculation in Solid State Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data redundancy schemes in non-volatile storage systems, such as RAID, face inefficiencies when storage element block sizes are not integer multiples of host interface block sizes, leading to complex parity calculations and storage inefficiencies.

Innovation Solution

Allowing the RAID stripe depth to be a non-integer multiple of the individual storage element size, enabling parity calculation along data strip boundaries rather than physical storage element boundaries, and optimizing parity generation by aligning it with host sector sizes for improved efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If parity calculation is performed along physical storage element boundaries, then data redundancy is maintained, but storage efficiency decreases and complexity increases when block sizes are not integer multiples

Engineering Contradiction:
Improvedata redundancyVSAvoidparity calculation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the storage elements into virtual blocks that are integer multiples of the host interface block size. By creating these virtual blocks, the system can perform parity calculations along clean boundaries while still mapping to the physical storage elements, thus reducing complexity while maintaining redundancy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces virtual blocks as an intermediary layer between the physical storage elements and the host interface. These virtual blocks serve as mediators that align with both the physical storage structure and the host block size requirements, enabling simplified parity calculations without compromising data redundancy.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If storage element block size is not an integer multiple of host interface block size, then storage flexibility is improved, but parity calculation efficiency decreases

Engineering Contradiction:
Improvestorage flexibilityVSAvoidparity calculation efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system segments the non-integer multiple block sizes into virtual blocks that are integer multiples of the host interface block size. This segmentation allows the system to maintain storage flexibility with arbitrary block sizes while enabling efficient parity calculations through the virtual block layer that provides clean boundaries.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of block size representation by introducing virtual blocks with different size characteristics. The virtual blocks are designed to be integer multiples of the host interface block size, transforming the problematic non-integer ratio into a manageable structure that maintains flexibility while improving calculation efficiency.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If parity is calculated on clean host block boundaries, then ease of operation is improved, but storage efficiency decreases when storage element size does not align with host block size

Engineering Contradiction:
Improveparity calculation simplicityVSAvoidstorage efficiency
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The virtual blocks act as intermediaries that enable parity calculation on clean host block boundaries while maintaining high storage efficiency. The intermediary layer translates between the host block boundary requirements and the physical storage element structure, allowing both simplicity in operation and efficiency in storage utilization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent adds a dimensional layer by introducing virtual blocks between the host interface and physical storage elements. This additional dimension allows the system to operate at the convenience of host block boundaries while efficiently utilizing the physical storage structure, resolving the conflict between ease of operation and storage efficiency.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS8862804B2System and method for improved parity determination within a data redundancy scheme in a solid state memory
Publication Date: 2014.10.14 WESTERN DIGITAL TECHNOLOGIES INC
  • US8862804B2 patent drawing
  • US8862804B2 patent drawing
  • US8862804B2 patent drawing

AI summary

Embodiments of the invention are directed to improving parity determination in a data redundancy scheme. In a block oriented storage system, where the storage element block size is an integer multiple of the block size used on the host interface, parity can be calculated on clean boundaries of the host block. However, this is not always the case and storage inefficiency occurs as a result. Embodiments of the invention optimize RAID parity calculation in a non-volatile solid state device by allowing the RAID stripe depth (also termed a “strip”) to be a non-integer multiple of the size of the individual storage element, i.e., the non-volatile memory program granularity. This enables efficient use of storage space where the host data size does not match the storage element size of the non-volatile memory while providing a straightforward way of handling parity generation and data recovery.