Dynamic Memory Reservations for Deep-Sleep RAM Power Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing wireless devices face high power consumption during deep sleep mode due to volatile memory usage, necessitating improved methods to allocate and reserve memory blocks to minimize the number of banks that must remain powered.

Innovation Solution

A system and method for independently controlling power to memory banks, utilizing two types of requests: memory allocations with lifespan indications and memory reservations decoupled from retention, with metadata stored separately to optimize power usage during deep sleep mode.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If volatile memory is divided into banks with independent power control, then power consumption during deep sleep mode is reduced, but memory allocation complexity increases

Engineering Contradiction:
Improvepower consumptionVSAvoidmemory allocation complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The volatile memory is divided into multiple banks (e.g., Bank 0, Bank 1, Bank 2, Bank 3) that can be independently powered on or off. Each bank can be selectively powered during deep sleep mode based on whether it contains data that must be retained, thereby reducing overall power consumption while maintaining the ability to access critical data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary classification of memory blocks into two types: Type 1 (lifespan-based allocation) and Type 2 (reservation-based allocation). This preliminary classification allows the memory manager to pre-determine which banks need to remain powered during deep sleep mode, simplifying the power management decision process and reducing allocation complexity.

Inventive Principle:
Principle #10Preliminary action

2Loss of energy

If memory blocks are allocated with lifespan indications, then memory retention during deep sleep mode is optimized, but memory management complexity increases

Engineering Contradiction:
Improveenergy retention efficiencyVSAvoidmemory management complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

Different memory allocation strategies are applied to different types of memory blocks based on their specific requirements. Type 1 blocks use lifespan-based allocation with metadata stored immediately before the block, while Type 2 blocks use reservation-based allocation with metadata stored in a separate heap region. This localized differentiation optimizes energy retention for each block type without requiring a single complex management system.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the allocation parameters based on the block type: Type 1 blocks use absolute addresses and lifespan indications, while Type 2 blocks use reservation identifiers and separate heap metadata. This parameter differentiation allows the memory manager to handle retention optimization differently for each block type, improving energy efficiency while maintaining manageable complexity through clear parameter distinctions.

Inventive Principle:
Principle #35Parameter changes

3Speed

If metadata is stored immediately before allocated memory blocks, then memory access efficiency is improved, but risk of metadata loss during power cycling increases

Engineering Contradiction:
Improvememory access speedVSAvoidmetadata retention reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

A memory manager acts as an intermediary between the application and the memory blocks. It maintains a data structure that tracks all allocated blocks, their types, and their locations. This intermediary layer provides redundancy by keeping a centralized record of block information, ensuring that metadata can be recovered even if the local metadata before a block is lost during power cycling.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates a copy of the metadata information in the centralized data structure maintained by the memory manager. While the original metadata is stored immediately before the memory block for fast access, the duplicate record in the centralized structure serves as a backup, ensuring metadata reliability during power cycling events.

Inventive Principle:
Principle #26Copying

4Adaptability or versatility

If memory reservations are decoupled from retention, then power flexibility is increased, but likelihood of acquisition failures increases

Engineering Contradiction:
Improvepower flexibilityVSAvoidmemory acquisition reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system implements dynamic memory reservation where Type 2 blocks can be allocated without guaranteeing retention during deep sleep mode. The memory manager dynamically tracks these reservations and can reallocate them when needed, providing flexibility in power management while maintaining a mechanism to detect and handle acquisition failures through the centralized data structure.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The centralized data structure maintained by the memory manager provides feedback about the status of all reserved and allocated blocks. This feedback mechanism allows the system to track which Type 2 blocks are reserved but not retained, enabling the memory manager to detect acquisition failures and manage the reservation state appropriately, thus maintaining reliability while preserving power flexibility.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12443519B2Dynamic memory reservations for optimized and efficient RAM layout
Publication Date: 2025.10.14 SILICON LABORATORIES INC
  • US12443519B2 patent drawing
  • US12443519B2 patent drawing
  • US12443519B2 patent drawing

AI summary

A system and method for allocating memory is disclosed. The memory is made up of a plurality of banks, wherein the power to each is independently controlled. Two different types of requests are disclosed. The first type is used to allocate a memory block and also includes an indication of the lifespan of the requested memory block. The lifespan is used to determine where the memory block is allocated. Additionally, all allocated memory is retained during deep sleep mode. The second type of request is used to reserve a memory block. Memory reservations differ from memory allocations in that the reservation of the memory block is independent of whether that memory is retained during deep sleep mode. Further, because the memory block may be powered off during deep sleep mode, the metadata associated with memory reservations is located in a different portion of memory than the memory blocks.