RAID Memory System with Parity for Low Latency Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer memory systems face bottlenecks in data access time due to the latency of persistent storage media, particularly in large data centers where random access to memory locations is required, and the limitations of flash memory technologies in terms of access speed and lifetime.

Innovation Solution

A memory system comprising a plurality of memory modules with error correcting codes and a parity block, where data blocks and parity data are distributed across multiple modules, allowing for efficient recovery of data even if one module fails, and write operations are sequenced to minimize conflicts with read operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Duration of action of stationary object

If data is stored in persistent storage devices like flash memory or disk, then data retention without power is achieved, but data access time latency increases significantly

Engineering Contradiction:
Improvedata retention timeVSAvoiddata access time latency
Core Design Contradiction:
Duration of action of stationary objectVSLoss of time

Solution Approach 1:

The patent segments data storage into multiple independent memory modules organized in stripes, where each module can be accessed independently. This allows the system to retrieve data from multiple modules simultaneously, reducing overall access latency while maintaining persistent storage capabilities across the distributed modules.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary actions by pre-computing and storing error correcting codes and parity data alongside the main data in each memory module. This allows for immediate error detection and data recovery without requiring additional processing time during read operations, thus reducing access latency while ensuring data integrity.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If flash memory is used for persistent storage, then access latency is reduced compared to mechanical devices, but lifetime is limited by wear out mechanism

Engineering Contradiction:
Improveaccess time latencyVSAvoiddevice lifetime
Core Design Contradiction:
Loss of timeVSDuration of action of stationary object

Solution Approach 1:

The patent applies beforehand cushioning by implementing error correcting codes and parity data that are stored in advance with the main data. These protective mechanisms cushion against data loss from wear-out failures, allowing the system to maintain reliable operation even as flash memory approaches its endurance limits through extensive read/write cycles.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Solution Approach 2:

The patent implements discarding and recovering by using error correcting codes to detect and correct bit errors that accumulate due to wear. When errors are detected, the system recovers the original data using the parity information, allowing continued use of the flash memory beyond what would normally be considered its operational lifetime.

Inventive Principle:
Principle #34Discarding and recovering

3Manufacturing precision

If write operations are performed on memory modules, then data is updated, but read operations must wait causing performance bottleneck

Engineering Contradiction:
Improvedata update accuracyVSAvoidsystem throughput
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent segments the memory system into multiple independently addressable modules. When a write operation is performed on one module, other modules remain accessible for read operations. This segmentation eliminates the system-wide performance bottleneck by allowing concurrent read and write operations on different modules, thereby maintaining high throughput while ensuring data update accuracy.

Inventive Principle:
Principle #1Segmentation

4Reliability

If error correcting codes and parity data are stored with main data, then data integrity is improved, but storage capacity is reduced

Engineering Contradiction:
Improvedata integrityVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies partial action by implementing error correcting codes that can correct a limited number of bit errors rather than protecting against all possible failures. This partial protection approach provides sufficient data integrity for practical purposes while minimizing the overhead required for error correction data, thus preserving maximum storage capacity for actual user data.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10761766B2Memory management system and method
Publication Date: 2020.09.01 INNOVATIONS IN MEMORY LLC
  • US10761766B2 patent drawing
  • US10761766B2 patent drawing
  • US10761766B2 patent drawing

AI summary

A memory system and method of operating the same is described, where the memory system is used to store data in a RAIDed manner. The stored data may be retrieved, including the parity data so that the stored data is recovered when the first of either the stored data without the parity data, or the stored data from all but one memory module and the parity data, has been received. The writing of data, for low write data loads, is managed such that only one of the memory modules of a RAID stripe is being written to, or erased, during a time interval.