Randomized Memory Addressing for Secure In-Memory Computation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-memory computation (IMC) processing systems are vulnerable to side channel attacks due to the static nature of computational weight data storage, which makes it susceptible to extraction.

Innovation Solution

Implement a randomized scrambling of row and column addressing in the memory array to obfuscate the access pattern, using an address scrambling circuit to randomize the order of addresses for accessing memory cells during in-memory computation operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If computational weight data is stored in a stationary manner in the memory array, then memory utilization is optimized and computation can be performed efficiently, but the data becomes susceptible to side channel attacks for extraction

Engineering Contradiction:
Improvecomputation efficiencyVSAvoidside channel attack vulnerability
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent applies dynamics by transitioning from a stationary memory access pattern to a dynamic randomized access pattern. The address scrambling circuit randomly permutes the row address sequence during memory operations, making the access pattern non-predictable and thus resistant to side channel attacks while maintaining computational efficiency through in-memory operations

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If a stationary approach to computational weight data storage is implemented, then the memory array can be accessed efficiently for in-memory computation, but the proprietary information becomes easier to extract through side channel attacks

Engineering Contradiction:
Improvememory access efficiencyVSAvoiddata security
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces an intermediary component - the address scrambling circuit - between the memory controller and the memory array. This intermediary randomly permutes row addresses before data is accessed, serving as a mediator that protects proprietary weight data from side channel attacks while allowing efficient in-memory computation to proceed

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of energy

If computational weight data is kept static in the memory array, then the in-memory computation operation can execute efficiently without data movement, but the static nature of the data makes it vulnerable to power analysis attacks

Engineering Contradiction:
Improvepower consumptionVSAvoidpower analysis attack susceptibility
Core Design Contradiction:
Loss of energyVSObject-affected harmful factors

Solution Approach 1:

The patent resolves this contradiction by implementing dynamic address scrambling that randomizes the sequence of row accesses. This dynamic approach prevents predictable power consumption patterns that would otherwise expose computational weight data to power analysis attacks, while maintaining the in-memory computation efficiency and low power consumption characteristic

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20260031140A1Randomized sequence for row and/or column addressing in a digital in-memory computation processing system
Publication Date: 2026.01.29 STMICROELECTRONICS INT NV
  • US20260031140A1 patent drawing
  • US20260031140A1 patent drawing
  • US20260031140A1 patent drawing

AI summary

Computational weight data for an in-memory computation operation is stored in memory cells of a memory array. During execution of the in-memory computation operation, the computational weight data is read from the memory array using a randomly selected order of row and/or column access. A digital computation processing circuit receives feature data for the in-memory computation operation and performs a computational operation as a function of the feature data and the read computational weight data. A map signal generated in response to the memory access provides information specifying the randomly scrambled order of access. the digital computation processing circuit uses that information to map the retrieved computational weight data to the feature data when performing the computational operation for the in-memory computation operation.