ECC Bits as Additional Register File Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional processing units that include error-correcting code (ECC) bits for data integrity waste valuable space when not all customers require high data integrity, as these bits are unnecessary for customers who do not need zero flipped bits.
Innovation Solution
A processing unit design that groups ECC bits with register files to provide additional storage space, allowing ECC bits to be used for error correction when needed and for additional storage when not, thereby optimizing space usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If ECC bits are included in the processing unit, then data integrity is improved, but processing unit area is wasted when ECC bits are not needed
Solution Approach 1:
The ECC bits are designed to serve dual purposes: they can function as error-correcting code bits when data integrity is required, or as additional register file storage when ECC functionality is not needed. This multi-functionality allows the same hardware resources to be utilized effectively across different customer requirements without wasting processing unit area.
2Ease of operation
If separate memory modules are used, then data access is simplified, but storage space is reduced
Solution Approach 1:
Multiple memory modules are grouped together to form a unified memory structure. The memory controller can enable multiple enable lines simultaneously to access N bits from a memory module, effectively combining the storage capacity of multiple modules while maintaining efficient access patterns. This merging approach increases total storage space without significantly complicating the access mechanism.
Data Source
AI summary
A memory module includes a plurality of register files. Each register file is associated with a set of error-correcting code (ECC) bits and ECC check/correct logic that can provide error-correcting functionality, if required. When error-correcting functionality is not required, ECC bits are grouped together to form additional register files, thereby providing additional storage space.


