Dynamic Partial Array Self-Refresh for DDR Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing capacity of DDR memory in computing systems leads to higher power consumption, reducing battery life in mobile devices, and existing low-power modes like LPDDR and Memory Hotplug are inefficient or unsuitable for embedded systems due to uncontrolled memory refresh and resource-intensive CPU usage.

Innovation Solution

A method is introduced to dynamically configure DDR memory by identifying unused blocks and excluding them from the refresh process, using a service layer between the CPU memory allocator and DDR memory to mask and unmask refresh operations based on memory allocation and de-allocation messages, ensuring only used memory is refreshed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If DDR memory capacity is increased to meet performance needs, then memory speed and capacity are improved, but power consumption increases

Engineering Contradiction:
Improvememory capacityVSAvoidpower consumption
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The patent divides the DDR memory into multiple banks or segments that can be independently controlled. This segmentation allows the system to selectively refresh only the memory portions that are currently in use, rather than refreshing the entire memory array. By tracking which memory segments are allocated and which are free, the system can reduce power consumption while maintaining the increased memory capacity needed for performance.

Inventive Principle:
Principle #1Segmentation

2Use of energy by moving object

If Low Power Double Data Rate (LPDDR) standard is used with partial array self-refresh, then power consumption is reduced, but content retention of memory areas is not guaranteed

Engineering Contradiction:
Improvepower consumptionVSAvoidcontent retention
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the memory controller continuously monitors memory allocation status and uses this information to control the refresh process. When memory is allocated to specific segments, the controller ensures those segments are refreshed even in low-power modes. This feedback loop maintains content retention reliability while still enabling power savings through partial self-refresh of only active memory regions.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If Memory Hotplug method is used to unplug memory chunks, then memory management flexibility is improved, but CPU resources and implementation complexity increase

Engineering Contradiction:
Improvememory management flexibilityVSAvoidCPU resource usage
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent enables the memory system to self-manage its refresh requirements by automatically tracking allocation status and controlling refresh operations without requiring active CPU intervention. The memory controller autonomously determines which segments need refreshing based on allocation information, eliminating the need for CPU-intensive decision-making processes. This self-service approach maintains memory management flexibility while significantly reducing CPU resource consumption.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9601180B2Automatic partial array self-refresh
Publication Date: 2017.03.21 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US9601180B2 patent drawing
  • US9601180B2 patent drawing
  • US9601180B2 patent drawing

AI summary

Methods of configuring dynamic memory associated with a processing system, are described. The dynamic memory is configured in a plurality of blocks, the method comprises: a) receiving information relating to a utilization status of the memory; b) processing the received information to determine at least one first block of the memory that is currently not in use for information storage; and c) configuring the at least one first block to be excluded from an information refresh process.