Memory Data Integrity via Watermark and Error Correction Merging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed computing systems, ensuring data integrity and security when multiple entities access the same memory is challenging, as it is unclear whether the data retrieved is the intended data, and existing solutions compromise between error correction code strength and metadata size, leading to potential security vulnerabilities.
Innovation Solution
A method involving a memory controller that encodes data with an error correction code and reversibly alters it with a watermark generated by applying a cryptographic function to a user key and address, ensuring data integrity without additional metadata bits, using the error correction code as an implicit message authentication code.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is encoded with a strong error correction code, then data reliability is improved, but metadata size increases
Solution Approach 1:
The patent combines the error correction code and message authentication code into a single unified code structure. By merging these two functions into one code, the system achieves both error correction and integrity verification without requiring separate metadata fields, thus improving reliability while avoiding metadata size increase
Solution Approach 2:
The unified code serves multiple functions simultaneously: it acts as both an error correction code and a message authentication code. This multi-functionality allows the system to achieve reliable error correction and security verification using a single compact data structure, resolving the contradiction between reliability and metadata size
2Reliability
If a message authentication code is added to ensure data integrity, then data security is improved, but storage overhead increases
Solution Approach 1:
The patent merges the message authentication code with the error correction code into a single unified structure. This combination eliminates the need for separate authentication metadata, thereby improving data security while avoiding additional storage overhead
Solution Approach 2:
The unified code structure serves itself by simultaneously providing error correction and authentication functions. The same code that corrects errors also verifies data integrity, eliminating the need for separate authentication mechanisms and reducing storage requirements
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems and methods related to ensuring the integrity of data stored in a memory by using a watermark are described. An example method in a system including a processor and a memory may include receiving data for storage at an address in the memory. The method may further include after encoding the data with an error correction code to generate intermediate data having a first number of bits, reversibly altering the intermediate data with a watermark to generate watermarked data for storage in the memory, where the watermark is generated by applying a cryptographic function to a user key and the address, and where the watermarked data has a second number of bits equal to the first number of bits.