Memory Address Tweak Key Encryption Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems experience latency delays during encryption and decryption operations, and existing solutions do not effectively utilize memory addresses to optimize these processes.

Innovation Solution

The proposed solution involves using a memory address to generate different tweak keys for each sub-block of data, combining them with the data to produce modified sub-blocks, and employing encryption and decryption engines with modular multiplication and pipelined processing to minimize latency and optimize throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional encryption methods are used in memory systems, then data security is improved, but latency delays increase

Engineering Contradiction:
Improvedata securityVSAvoidlatency delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The data is divided into multiple sub-blocks, and separate tweak keys are generated for each sub-block using different portions of the memory address (e.g., row address for first sub-block, column address for second sub-block). This segmentation allows parallel processing of encryption operations on different sub-blocks, reducing overall latency while maintaining security through address-dependent key derivation.

Inventive Principle:
Principle #1Segmentation

2Productivity

If address-based tweak key generation is implemented, then encryption efficiency is improved, but device complexity increases

Engineering Contradiction:
Improveencryption efficiencyVSAvoidcontroller complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory address itself is utilized to generate the tweak keys, eliminating the need for separate key storage or complex key management circuits. The row and column addresses naturally provide the entropy needed for key generation, allowing the encryption system to serve itself using existing address information already present in the memory controller.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9910790B2Using a memory address to form a tweak key to use to encrypt and decrypt data
Publication Date: 2018.03.06 INTEL CORP
  • US9910790B2 patent drawing
  • US9910790B2 patent drawing
  • US9910790B2 patent drawing

AI summary

Provided are a memory system, memory controller, and method for using a memory address to form a tweak key to use to encrypt and decrypt data. A base tweak co is generated as a function of an address of a block of data in the memory storage. For each sub-block of the block, performing: processing the base tweak to determine a sub-block tweak; combining the sub-block tweak with the sub-block to produce a modified sub-block; and performing an encryption operation comprising one of encryption or decryption on the modified sub-block to produce sub-block output comprising one of encrypted data and unencrypted data for the sub-block.