ECC Memory Integrity Checks Without Extra Read Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory security techniques that utilize error correction codes (ECC) often degrade memory performance and incur high storage overhead, leading to reduced security measures being implemented in memory systems to mitigate these issues.
Innovation Solution
The ECC area of memory is leveraged to store integrity check values (ICV) instead of or in addition to ECC data, allowing for simultaneous integrity checking and error correction, which reduces the need for additional memory requests and optimizes performance by combining these functions without requiring a drastic redesign of memory controllers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If ECC data is stored separately from data blocks, then error correction capability is improved, but storage overhead and memory performance are degraded
Solution Approach 1:
The patent merges the ECC storage area with the data storage block by storing ICV (integrity check value) data in the ECC area. This combination allows the ECC region to serve dual purposes: traditional error correction and security integrity verification, eliminating the need for separate security data storage and reducing memory access overhead
Solution Approach 2:
The ECC area is designed to perform multiple functions simultaneously: storing both traditional ECC data for error correction and ICV data for security integrity checking. This multi-functionality reduces the overall storage overhead and improves memory performance by consolidating security and error correction functions in a single storage region
2Reliability
If separate integrity checking and error correction operations are performed, then security and reliability are improved, but the number of memory requests increases and performance degrades
Solution Approach 1:
The patent combines integrity checking and error correction operations into a single unified process. The ICV data stored in the ECC area is retrieved simultaneously with ECC data during the same memory access operation, allowing both security verification and error correction to be performed without requiring separate memory requests
Solution Approach 2:
The ICV data is pre-computed and stored in the ECC area during the write operation, alongside the data and ECC information. This preliminary preparation allows the integrity check to be performed immediately during the read operation without requiring additional computation time or separate access requests
Data Source
AI summary
System and techniques for error correction code (ECC) memory security are described herein. A write request that includes data is received. An integrity check value (ICV) is computed for the data. Then, the write request is performed, including writing a representation of the data to a data area in memory and writing the ICV into an ECC area in memory. Here, the data area is addressable by a host and the ECC area corresponds to the data area via hardware of the memory.


