ECC Memory Partial-Write Control With Parallel Read-Correct Paths
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face challenges in efficiently handling partial data writes in error-correcting code (ECC) memory, particularly in maintaining data integrity and reducing latency during partial-width data writes, which is critical in applications like safety and financial computing.
Innovation Solution
The implementation of a memory controller with parallel read and write paths that combine partial write data with read data to generate new error-correcting codes, allowing for concurrent error correction and data writing, thereby reducing the need for serial calculations and minimizing latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a read-modify-write operation is performed for partial data writes in ECC memory, then data integrity is maintained through error correction, but operation latency increases due to sequential read-correct-write steps
Solution Approach 1:
The patent performs error correction on read data before the write operation is fully completed. The correction logic identifies and corrects single-bit errors in the read data during the write cycle, rather than completing the entire read-modify-write sequence first. This preliminary correction approach maintains data integrity while reducing the effective latency of the operation.
Solution Approach 2:
The patent enables overlapping of operations by continuing the write process while simultaneously performing error correction on the read data. The write control logic allows the write cycle to proceed without waiting for complete error correction, and the correction logic operates in parallel where possible, maintaining continuous useful action rather than sequential processing.
2Measurement precision
If error correction is performed before writing combined data in partial write operations, then data accuracy is ensured, but the write operation latency increases
Solution Approach 1:
The patent implements selective error correction that focuses only on the specific data words that require correction rather than correcting all read data before writing. The correction logic identifies which data words contain errors and performs correction only on those, allowing the write operation to proceed with partially corrected data, thus reducing overall latency while maintaining necessary data accuracy.
Solution Approach 2:
The correction logic begins correcting errors in read data during the write cycle rather than completing all corrections before writing. This preliminary correction approach ensures that critical data accuracy is maintained while the write operation continues without full correction completion, reducing write latency.
3Measurement precision
If serial calculation methods are used for ECC operations, then computational accuracy is maintained, but processing speed decreases
Solution Approach 1:
The patent divides the ECC operation into separate functional segments: error detection logic, correction logic, and write control logic. Each segment handles specific tasks independently, allowing parallel processing of different aspects of the ECC operation. This segmentation maintains computational accuracy through dedicated logic for each function while improving processing speed through concurrent operation of segments.
Solution Approach 2:
The patent transitions from purely serial processing to a multi-dimensional approach by implementing parallel error correction paths and overlapping read-correct-write operations. The correction logic operates in parallel with the write control, and multiple data words can be processed through different stages simultaneously, adding a temporal dimension to the processing that improves speed while maintaining accuracy through verified correction paths.
Data Source
AI summary
In the described examples, a memory controller includes a read-modify-write logic module that receives a partial write data request for partial write data in error-correcting code (ECC) memory and combines the partial write data in the partial write data request with read data provided from the ECC memory to form combined data prior to correcting the read data. The memory controller also includes a write control module that controls the writing of the combined data to the ECC memory.


