Memory Integrity Check via Encrypted CRC Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face challenges in implementing effective encryption integrity checks without exposing plaintext data, particularly in ensuring the proper operation of encryption engines in memory systems for electronic devices.

Innovation Solution

The implementation of a two-level memory system with a near memory cache and far memory, where the far memory controller performs AES integrity checks by encrypting and decrypting cyclical redundancy checks (CRCs) using a nonce formed from write counts and physical addresses, allowing for integrity verification without decrypting the entire data line, thus reducing latency and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the encryption engine encrypts the entire data line for integrity verification, then data integrity can be ensured, but computational overhead and latency increase significantly

Engineering Contradiction:
Improvedata integrity verificationVSAvoidintegrity check latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the integrity verification process by extracting only the CRC portion from the encrypted data line and verifying it separately. Instead of decrypting and verifying the entire data line, the system isolates the CRC field (typically 32 bits) from the rest of the encrypted data, allowing focused verification of data integrity without the computational burden of processing the complete encrypted block.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the CRC component from the encrypted data line and processes it independently. The CRC field is identified and separated from the main data payload, allowing the integrity check to be performed on this extracted portion alone. This extraction approach enables verification of data integrity while avoiding the need to decrypt or process the entire data line, significantly reducing computational overhead and latency.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If the encryption engine processes full data lines for integrity checks, then comprehensive verification is achieved, but power consumption increases

Engineering Contradiction:
Improveencryption integrity checkVSAvoidencryption engine power consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the integrity verification process by extracting only the CRC portion from the encrypted data line and verifying it separately. Instead of decrypting and verifying the entire data line, the system isolates the CRC field (typically 32 bits) from the rest of the encrypted data, allowing focused verification of data integrity without the computational burden of processing the complete encrypted block.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by performing integrity verification on only the necessary portion of the data (the CRC field) rather than the entire data line. This partial processing approach provides sufficient integrity assurance while consuming significantly less power than full-line decryption and verification would require.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If plaintext data is exposed during integrity verification, then verification accuracy improves, but security is compromised

Engineering Contradiction:
Improveintegrity verification accuracyVSAvoidplaintext data exposure risk
Core Design Contradiction:
Measurement precisionVSObject-affected harmful factors

Solution Approach 1:

The patent uses the encrypted CRC field as an intermediary for verification. Instead of exposing plaintext data during integrity checks, the system operates on the encrypted CRC portion which serves as a mediator between the need for verification and the requirement for security. The verification process maintains cryptographic boundaries while still achieving accurate integrity assessment.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the operational parameter from plaintext processing to encrypted data processing during integrity verification. By performing CRC verification on the encrypted portion rather than requiring decryption to plaintext, the system maintains verification accuracy while preserving security boundaries and preventing plaintext exposure during the verification process.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If a simple CRC check is used without encryption, then processing speed increases, but security against tampering is reduced

Engineering Contradiction:
Improveintegrity check processing speedVSAvoidprotection against tampering
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent merges two previously separate operations—encryption and integrity verification—into a unified process. The CRC is calculated over the plaintext data, then the entire data line including the CRC is encrypted together. This merging ensures that the CRC verification can be performed on the encrypted data without requiring separate decryption steps, maintaining both security and processing efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9697140B2Encryption integrity check with CRC encryption in memory using a word count- and address-derived nonce
Publication Date: 2017.07.04 INTEL CORP
  • US9697140B2 patent drawing
  • US9697140B2 patent drawing
  • US9697140B2 patent drawing

AI summary

Apparatus, systems, and methods for AES integrity check in memory are described. In one embodiment, a controller comprises logic to receive a write request from a host device to write a line of data to the memory device, determine a first plaintext cyclic redundancy check from the line of data, encrypt the line of data, encrypt the first plaintext CRC with a unique value to generate a first encrypted CRC, and store the encrypted line of data and the first encrypted CRC in memory. Other embodiments are also disclosed and claimed.