Selective SRAM Partition Initialization for Warm Reboot Data Preservation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Microcontroller units (MCUs) face data loss during warm reboots due to memory initialization, which is costly in terms of area and current leakage, especially when trying to preserve specific data in SRAM during unexpected resets.

Innovation Solution

A static random-access memory (SRAM) system with SRAM cell modules and an initialization register that allows selective initialization of SRAM partitions during boot-up, using a control module to read the initialization register and manage the initialization process to prevent data loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If full memory initialization is performed during boot-up, then parity/ECC errors are avoided, but data loss occurs during warm reboots and area/current cost increases

Engineering Contradiction:
Improveparity error avoidanceVSAvoiddata loss during warm reboot
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The SRAM is divided into multiple partitions, and the initialization register allows selective initialization of specific partitions rather than initializing the entire memory array. This segmentation enables preserving data in certain partitions while initializing others to avoid parity errors.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different partitions of the SRAM can have different initialization states based on the configuration in the initialization register. Some partitions are initialized while others retain their data, allowing local differentiation in quality/state across the memory structure.

Inventive Principle:
Principle #3Local quality

2Reliability

If full memory initialization is performed during boot-up, then parity/ECC errors are avoided, but area and current leakage increase

Engineering Contradiction:
Improveparity error avoidanceVSAvoidarea cost
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The initialization function is extracted from being a mandatory global operation to a selective operation controlled by the initialization register. Only the necessary portions of memory are initialized, removing the unnecessary initialization overhead in terms of area and current consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of performing complete memory initialization, only the necessary partitions are initialized based on the initialization register configuration. This partial action avoids the excessive area and current costs associated with full initialization while still maintaining reliability where needed.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If CPU-based methods are used for memory initialization, then flexibility is maintained, but performance decreases

Engineering Contradiction:
Improveinitialization flexibilityVSAvoidinitialization speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The initialization process is handled automatically by hardware logic during boot-up without requiring CPU intervention. The control module reads the initialization register and performs selective initialization autonomously, improving performance while maintaining the flexibility defined in the register configuration.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The CPU-based software initialization method is replaced with hardware-based automatic initialization. The control module and initialization register work together as a hardware mechanism to perform selective initialization, eliminating the performance bottleneck of CPU involvement while preserving adaptability through register configuration.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS12046275B2System and method for selective static random-access memory partition initialization
Publication Date: 2024.07.23 TEXAS INSTRUMENTS INC
  • US12046275B2 patent drawing
  • US12046275B2 patent drawing
  • US12046275B2 patent drawing

AI summary

A static random-access memory (SRAM) includes a SRAM cell module, comprising a plurality of SRAM cell partitions, and an initialization register, containing data configured to control initialization of at least some of the plurality of partitions during an initialization phase. The SRAM also includes a control module coupled with the SRAM cell module and the initialization register, configured to read the initialization register during the initialization phase, and to selectively initialize a portion of the plurality of SRAM cell partitions, based at least in part on the data contained within the initialization register.