PIM ECC-Space Operations for Faster In-Memory Error Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
ECC decoding and encoding processes in CPUs add significant operation overhead, reducing the speed performance of data manipulation in memory devices, especially when processing ECC encoded data.
Innovation Solution
Implementing a PIM architecture with ECC-Space operations that allow direct manipulation of ECC encoded data within the memory device, using truncated ECC-Space operations and ECC algorithms to generate new ECC encoded data without the need for decoding, thereby improving data manipulation speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If ECC decoding processes are performed in CPU, then data errors can be corrected, but operation overhead increases and processing speed decreases
Solution Approach 1:
The patent segments the ECC processing function from the CPU to a dedicated logic circuit within the memory device. The memory device is divided into separate functional components: ECC encoding logic, ECC decoding logic, and data processing logic. This segmentation allows ECC operations to be performed independently and in parallel with data processing, eliminating the bottleneck where the CPU must sequentially handle both data manipulation and error correction.
Solution Approach 2:
The patent introduces an intermediary logic circuit within the memory device that acts as a mediator between the CPU and the data storage system. This intermediary handles all ECC encoding and decoding operations, freeing the CPU from these time-consuming tasks. The logic circuit receives encoded data from the CPU, performs decoding when needed, and returns corrected data, thus improving overall system throughput without compromising error correction capability.
2Measurement precision
If ECC encoded data are decoded before processing, then accurate data manipulation can be performed, but operation overhead increases
Solution Approach 1:
The patent implements preliminary action by pre-computing and storing syndrome values along with the ECC encoded data in the memory device. When data needs to be processed, the system performs a quick syndrome check to determine if errors are present, rather than performing full decoding. If no errors are detected, the data can be processed immediately. This preliminary error detection mechanism significantly reduces the time penalty associated with ECC processing while maintaining data accuracy.
Solution Approach 2:
The patent changes the operational parameters of ECC processing by implementing truncated ECC-Space operations that work directly with encoded data without full decoding. The logic circuit performs operations on the encoded form of data using modified algorithms that are optimized for speed. This parameter change allows the system to maintain the benefits of error correction while reducing the time overhead by avoiding complete decoding and re-encoding cycles.
3Productivity
If PIM architecture with ECC-Space operations is implemented, then data manipulation speed improves, but device complexity increases
Solution Approach 1:
The patent merges the ECC processing functions with the memory device structure by integrating encoding and decoding logic circuits directly into the memory array. The ECC encoder, decoder, and data processing units are combined in a unified PIM architecture where data can be processed in-place without being transferred to external processors. This merging eliminates data transfer overhead and allows parallel processing of multiple data elements, significantly improving throughput despite the increased internal complexity of the memory device.
Data Source
AI summary
A method includes transmitting an ECC encoded first data and an ECC encoded second data from a memory to a logic circuit, and generating an ECC encoded output data by executing an ECC-Space operation using the ECC encoded first data as a first operand and the ECC encoded second data as a second operand. The ECC encoded first data and the ECC encoded second data are the corresponding results of encoding a first data and a second data with an ECC algorithm. The ECC-Space operation is translated from a two operands operation that is operative to transform the first data and the second data into a third data. The ECC encoded output data is identical to a result of encoding the third data with the ECC algorithm if the third data is encoded with the ECC algorithm.


