Mixed Storage of Data Fields in Non-Volatile Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Electronic systems employing one-time programmable (OTP) circuits are vulnerable to electromagnetic fault injection (EMFI) attacks, which can corrupt data and bypass security measures, particularly affecting dynamic fields that cannot be protected by integrity checks.

Innovation Solution

The solution involves arranging non-volatile memory cells in rows and columns, mixing bits of dynamic and static fields in a pattern across the storage, and using a security circuit to perform integrity checks on the static fields, which implicitly verifies the validity of dynamic fields, generating an alert signal for security violations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If OTP circuits are used to store static configuration data, then system security is enabled, but the system becomes vulnerable to electromagnetic fault injection attacks

Engineering Contradiction:
Improvesystem securityVSAvoidEMFI attack vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent segments the storage of dynamic and static fields into separate memory locations. Dynamic fields are stored in one location while static fields are stored in another location, allowing independent integrity verification of static fields without exposing them to the same attack vectors as dynamic fields.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary integrity check mechanism that verifies static fields through a separate validation process. This intermediary layer prevents direct access to static fields and blocks EMFI attacks from compromising the cryptographic operations that depend on them.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If dynamic and static fields are stored together in the same memory location, then storage is simplified, but integrity verification becomes impossible for dynamic fields

Engineering Contradiction:
Improvestorage structureVSAvoidintegrity verification
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent divides the storage structure into separate segments for dynamic fields and static fields. This segmentation allows the system to apply different integrity verification strategies: static fields can be verified through checksums or cryptographic hashes, while dynamic fields are protected through the separation itself, preventing corruption from propagating to static fields.

Inventive Principle:
Principle #1Segmentation

3Reliability

If integrity checks are performed on all data fields, then security is enhanced, but the system complexity and processing time increase

Engineering Contradiction:
ImprovesecurityVSAvoidintegrity check mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by performing integrity checks only on static fields rather than all data fields. Since static fields are the critical component for cryptographic operations and are stored separately, verifying only these fields provides sufficient security while reducing the overall complexity and processing time of the integrity check mechanism.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11379580B1Mixed storage of data fields
Publication Date: 2022.07.05 XILINX INC
  • US11379580B1 patent drawing
  • US11379580B1 patent drawing
  • US11379580B1 patent drawing

AI summary

An array of non-volatile memory cells includes rows and columns. A volatile storage circuit provides addressable units of storage. A control circuit reads first type data and second type data from one or more of the rows and multiple ones of the columns of the array of non-volatile memory cells. The control circuit stores the first type data and second type data read from each row in one or more addressable units of storage of the volatile storage. A security circuit reads first data from the one or more of the addressable units of the volatile storage and selects from the first data, the second type data that includes one or more bits of each of the one or more of the addressable units. The security circuit performs an integrity check on the selected second type data, and generates an alert signal that indicates a security violation in response to failure of the integrity check.