Memory Controller Redundancy via Parity Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Implementing XOR-based redundancy in Non-Volatile Memory (NVM) systems, such as SSDs, is challenging due to high performance requirements, need for consistent data storage during power loss, and space efficiency constraints, especially in handling failures, concurrent transfers, and power loss scenarios.

Innovation Solution

The system employs a row of memory blocks with a parity block for data redundancy, using phase bits to manage data validity and performing XOR operations to reconstruct data in case of failures, with incremental and concurrent data handling mechanisms to ensure robustness and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If XOR-based parity is implemented in NVM systems, then data reliability is improved, but device complexity increases

Engineering Contradiction:
Improvedata reliabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments data into multiple independent storage units (memory blocks) and implements XOR-based parity at the block level. Each data block is divided into smaller units with individual parity blocks, allowing selective recovery without processing entire datasets. This segmentation reduces the complexity of error handling while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces parity blocks as intermediary elements that mediate between data blocks and the recovery process. These parity blocks store XOR-derived information that acts as a mediator for data reconstruction, simplifying the recovery mechanism by providing pre-computed redundancy rather than requiring complex real-time calculations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If parity information is stored in separate media units, then fault tolerance is improved, but space overhead increases

Engineering Contradiction:
Improvefault toleranceVSAvoidspace overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system applies local quality by storing parity information locally within the same storage device but in separate media units (parity blocks). This approach provides fault tolerance for individual block failures while maintaining space efficiency by keeping redundancy within the device rather than requiring external storage. The local parity blocks are strategically placed to minimize space overhead while maximizing recovery capability.

Inventive Principle:
Principle #3Local quality

3Reliability

If XOR operations are performed for parity generation, then data recovery capability is improved, but processing time increases

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary action by pre-calculating and storing XOR-based parity information in separate parity blocks during the data writing phase. This preliminary computation eliminates the need for time-consuming real-time XOR operations during data recovery, as the parity data is already prepared and stored. The trade-off is acceptable since the parity generation occurs during normal write operations rather than during critical recovery scenarios.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11579973B2Methods and systems for implementing redundancy in memory controllers
Publication Date: 2023.02.14 WESTERN DIGITAL TECHNOLOGIES INC
  • US11579973B2 patent drawing
  • US11579973B2 patent drawing
  • US11579973B2 patent drawing

AI summary

The present disclosure relates to methods and systems for implementing redundancy in memory controllers. The disclosed systems and methods utilize a row of memory blocks, such that each memory block in the row is associated with an independent media unit. Failures of the media units are not correlated, and therefore, a failure in one unit does not affect the data stored in the other units. Parity information associated with the data stored in the memory blocks is stored in a separate memory block. If the data in a single memory block has been corrupted, the data stored in the remaining memory blocks and the parity information is used to retrieve the corrupted data.