SoC Encryption Engine for Secure Data Transmission

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems on chip (SoC) face performance variability and security concerns due to data exchange paths between main memory and non-volatile memory, with existing encryption methods not adequately securing data transmission.

Innovation Solution

Incorporating an encryption/decryption engine within the SoC that converts plain data into cipher data using an encryption key, stored in a one-time programmable memory, and directly transmits it to a memory controller, while also decrypting cipher data received from the non-volatile memory, with a secure mode ensuring only the encryption engine accesses the key.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is transmitted through multiple paths between main memory and non-volatile memory, then system performance may improve through path selection, but data security is compromised due to unauthorized access risks

Engineering Contradiction:
Improvesystem performanceVSAvoiddata security
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system divides data transmission into two separate paths: a secure path through the encryption engine for confidential data, and a direct path through the bus for non-sensitive data. This segmentation allows performance optimization by selecting appropriate paths while maintaining security through dedicated encryption routing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The encryption engine acts as an intermediary component between main memory and non-volatile memory. It receives plain data from memory, encrypts it using keys from OTP memory, and transmits cipher data to the memory controller, thereby securing the data transmission path without blocking performance-critical operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If encryption is implemented using existing methods with multiple access points, then data can be protected, but access complexity increases and performance decreases

Engineering Contradiction:
Improvedata protectionVSAvoidaccess complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The encryption engine consolidates multiple security functions into a single integrated unit: key storage from OTP memory, encryption processing, and secure transmission to the memory controller. This merging reduces access complexity compared to distributed encryption approaches while maintaining robust data protection.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The encryption engine automatically retrieves encryption keys from OTP memory and performs encryption operations without requiring external intervention. This self-service mechanism simplifies the access structure by eliminating the need for complex key management interfaces while ensuring data protection.

Inventive Principle:
Principle #25Self-service

3Speed

If encryption keys are stored in accessible memory locations, then key retrieval is fast, but security is compromised due to potential unauthorized access

Engineering Contradiction:
Improvekey retrieval speedVSAvoidkey security
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system uses OTP (one-time programmable) memory for key storage, which combines the speed of electronic memory access with the security of non-reprogrammable storage. The OTP memory provides fast key retrieval to the encryption engine while preventing unauthorized modification or extraction, creating a composite security-performance solution.

Inventive Principle:
Principle #40Composite materials

Data Source

PatentUS9489540B2Memory controller with encryption and decryption engine
Publication Date: 2016.11.08 SAMSUNG ELECTRONICS CO LTD
  • US9489540B2 patent drawing
  • US9489540B2 patent drawing
  • US9489540B2 patent drawing

AI summary

A method of operating a system on chip (SoC) includes converting plain data into cipher data by using an encryption key and transmitting the cipher data directly to a memory controller which controls an operation of a non-volatile memory. The encryption key may be output by a one-time programmable (OTP) memory.