ECC Memory Partial Writes With Parallel Read-Modify-Write Paths
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing error-correcting code (ECC) memory systems face challenges in efficiently handling partial data writes, particularly in large memory systems, where serial calculations and high latency can hinder performance, especially in critical applications requiring high accuracy.
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 latency and completing partial writes in two clock cycles, and employing pipelined-parallel operations to mitigate additional latency in high-frequency designs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If serial read-modify-write operations are used in ECC memory, then error correction accuracy is maintained, but write latency increases and productivity decreases
Solution Approach 1:
The write operation is segmented into independent parallel paths: a fast path for error-free data that bypasses full read-modify-write sequence, and a slow path for error-corrected data that follows the complete read-modify-write sequence. This segmentation allows error-free writes to complete in one clock cycle while error-corrected writes use the traditional three-clock cycle sequence, thereby improving overall productivity without compromising reliability.
Solution Approach 2:
Error correction is performed in advance during the read phase before the write operation initiates. The read data is corrected using ECC logic prior to being combined with new write data, so that when the write operation proceeds, the data is already validated and ready for immediate writing, reducing the total operation time.
2Manufacturing precision
If traditional read-modify-write sequence is used, then data accuracy is ensured, but timing requirements cannot be met in high-frequency designs
Solution Approach 1:
The write operation dynamically adapts its execution path based on error detection results. When no errors are detected in read data, the system takes a fast path that combines write data directly without full correction sequence. When errors are detected, the system automatically switches to the traditional read-modify-write sequence with ECC correction. This dynamic adaptation allows the system to meet tight timing requirements for error-free operations while maintaining data accuracy when errors are present.
Solution Approach 2:
The system changes the operational parameters (number of clock cycles, sequence of operations) based on the error state of the data. For error-free data, the operation completes in one clock cycle with simplified logic. For erroneous data, the system extends the operation to three clock cycles with full ECC correction logic, thereby adjusting parameters to meet timing requirements while ensuring data accuracy.
3Device complexity
If error correction is performed before combining data, then correction logic is simplified, but latency increases and productivity decreases
Solution Approach 1:
The correction logic is segmented and applied selectively only to data paths that require it. Instead of applying correction logic to all write operations, the system segments the write path into error-free paths (bypassing correction logic) and error-corrected paths (applying correction logic). This segmentation reduces the overall complexity of correction logic while maintaining productivity by avoiding unnecessary correction steps for error-free data.
4Reliability
If full read-modify-write sequence is executed for all writes, then data integrity is guaranteed, but additional logic levels increase device complexity
Solution Approach 1:
The system applies partial read-modify-write sequence only when necessary. Instead of executing the full three-clock cycle read-modify-write sequence for all write operations, the system performs the complete sequence only when errors are detected in read data. For error-free data, a simplified one-clock cycle path is used that combines write data directly without full correction sequence. This partial application of the rigorous sequence maintains data integrity for error cases while reducing device complexity by avoiding unnecessary logic levels for error-free cases.
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.


