Memory Controller Redundancy via Parity Blocks
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If XOR-based parity is implemented in NVM systems, then data reliability is improved, but device complexity increases
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.
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.
2Reliability
If parity information is stored in separate media units, then fault tolerance is improved, but space overhead increases
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.
3Reliability
If XOR operations are performed for parity generation, then data recovery capability is improved, but processing time increases
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.
Data Source
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.


