Unified ECC and MAC Memory Management for Security and Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing error correction techniques in computer memory require multiple management devices for error detection, location, and correction, leading to excessive memory overhead and security vulnerabilities, as well as inefficiencies in memory scrubbing processes.
Innovation Solution
Implementing a single management memory device that combines error correction code (ECC) with a cryptographically strong message authentication code (MAC) for secure error detection, location, and correction, while also enabling domain-independent patrol scrubbing, thereby reducing hardware and bandwidth requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple management memory devices are used for error correction, then error detection and correction capability is improved, but memory overhead and device complexity increase
Solution Approach 1:
The patent combines error correction code (ECC) and message authentication code (MAC) into a unified management memory device. The controller generates both ECC and MAC values using the same device, eliminating the need for separate management devices. This merging reduces device complexity while maintaining error detection and correction capability through the integrated structure.
Solution Approach 2:
The management memory device is designed to perform multiple functions: error detection, error correction, and cryptographic authentication. By making the management device universal, the patent eliminates the need for specialized separate devices for each function, thereby reducing overall device complexity while maintaining comprehensive error handling capability.
2Reliability
If multiple management memory devices are used for error correction, then error correction capability is improved, but memory overhead increases
Solution Approach 1:
The patent merges ECC and MAC storage into a single management memory device, reducing the total quantity of memory resources required. Instead of allocating separate management devices for error correction and authentication, the unified approach consolidates memory usage while maintaining both error correction and security capabilities.
3Reliability
If traditional ECC without MAC is used, then error correction is achieved, but security against adversarial attacks is insufficient
Solution Approach 1:
The patent creates a composite protection mechanism by combining ECC (for error correction) and MAC (for security authentication) into a unified system. This composite approach leverages the strengths of both techniques: ECC handles random errors while MAC provides cryptographic security against adversarial attacks, achieving both reliability and security simultaneously.
Solution Approach 2:
The MAC computation is performed preliminarily on the data before storage, creating a cryptographic signature that prevents adversarial modifications. This preliminary anti-action ensures that any attempted attacks on the data integrity are detected before the data can be corrupted or misused.
4Object-affected harmful factors
If domain-specific keys are used for encryption, then security is improved, but patrol scrubbing efficiency decreases
Solution Approach 1:
The patent extracts the domain-specific key requirement from the patrol scrubbing process. By designing the MAC and ECC system to work with domain-independent keys for scrubbing operations, the patent separates the security function (which uses domain-specific keys) from the scrubbing function (which uses domain-independent keys). This extraction allows patrol scrubbing to proceed efficiently without being burdened by domain-specific key management.
Data Source
Figure 1A~1B
Figure 2
Figure 3A
AI summary
In one example a computer implemented method comprises generating an error correction code for a memory line, the memory line comprising a first plurality of data blocks, wherein the error correction code comprises a first plurality of parity bits and a second plurality of parity bits, applying a domain-specific function to the second plurality of parity bits to generate a modified block of parity bits, generating a metadata block corresponding to the memory line, wherein the metadata block comprises the error correction code for the memory line and at least a portion of the modified block of parity bits, encoding the first plurality of data blocks and the metadata block to generate a first encoded data set, and providing the encoded data set and the encoded metadata block for storage on a memory module. Other examples may be described.