Buffer Mini-Cache for DRAM Access Power Conservation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Microprocessor systems face inefficiencies in power consumption and performance due to significant DRAM accesses during DMA operations, especially when processors are in low-power states, and the need for coherent DMA processing across various ACPI-compliant states.

Innovation Solution

Implementing a small, power-efficient buffer/mini-cache that can satisfy non-cacheable and background DMA device accesses, allowing the CPU and cache subsystem to remain in low-power states by processing these accesses instead of DRAM, with operational modes transitioning between cacheable and non-cacheable access modes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If DRAM accesses are performed during DMA operations when processor is in low-power state, then DMA operations can be completed, but power consumption increases significantly

Engineering Contradiction:
ImproveDMA operation completionVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The cache is pre-filled with data from DRAM before the processor enters low-power state. This preliminary action ensures that when DMA operations need to access memory during low-power state, the data is already available in the cache, eliminating the need for high-power DRAM accesses during the low-power period.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The cache acts as an intermediary between the DMA operations and DRAM. During low-power states, DMA operations access the cache instead of directly accessing DRAM, which would require high power. The cache mediates these accesses, allowing DMA functionality while maintaining low power consumption.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If processor and cache subsystem are powered up to process coherent DMA operations, then coherent DMA can be performed, but power consumption increases

Engineering Contradiction:
Improvecoherent DMA processingVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The coherent DMA processing capability is extracted from the main processor and implemented in the I/O bus controller. This allows coherent DMA operations to be performed independently without requiring the full processor to be powered up, thereby maintaining reliability while reducing power consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system is segmented such that different components have different power states. The I/O bus controller can remain in a lower power state while still handling coherent DMA operations, while the main processor can be fully powered down. This segmentation allows selective operation of subsystems based on actual needs.

Inventive Principle:
Principle #1Segmentation

3Use of energy by moving object

If cache is used to satisfy DMA accesses during low-power state, then power consumption is reduced, but cache coherence management complexity increases

Engineering Contradiction:
Improvepower consumptionVSAvoidcache coherence management
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The cache is designed to automatically handle DMA accesses during low-power states without requiring complex external coherence management. The cache inclusion policy and automatic invalidation mechanisms provide self-service coherence management, reducing the burden on external controllers while maintaining power efficiency.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7899990B2Power conservation via DRAM access
Publication Date: 2011.03.01 SUN MICROSYSTEMS INC
  • US7899990B2 patent drawing
  • US7899990B2 patent drawing
  • US7899990B2 patent drawing

AI summary

Power conservation via DRAM access reduction is provided by a buffer/mini-cache selectively operable in a normal mode and a buffer mode. In the buffer mode, entered when CPUs begin operating in low-power states, non-cacheable accesses (such as generated by a DMA device) matching specified physical address ranges, or having specific characteristics of the accesses themselves, are processed by the buffer/mini-cache, instead of by a memory controller and DRAM. The buffer/mini-cache processing includes allocating lines when references miss, and returning cached data from the buffer/mini-cache when references hit. Lines are replaced in the buffer/mini-cache according to one of a plurality of replacement policies, including ceasing replacement when there are no available free lines. In the normal mode, entered when CPUs begin operating in high-power states, the buffer/mini-cache operates akin to a conventional cache and non-cacheable accesses are not processed therein.