Memory Controller Clock Domain Adaptation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory controllers face challenges in accommodating frequency changes in processor cores, leading to buffer overflow or underflow issues due to mismatched clock frequencies between processor and memory domains, which affects data transfer efficiency and power management.

Innovation Solution

Implementing asynchronous read and write buffers with data flow logic that stalls processing and adjusts command issuance rates in response to frequency changes, ensuring data is transferred only when available and at rates that prevent buffer overflow or underflow, using a system with a constant memory clock and variable processor clock.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If the processor frequency is reduced to conserve power, then power consumption is reduced, but the read buffer may overflow because read data is received at a rate greater than the processor can read it

Engineering Contradiction:
Improvepower consumptionVSAvoidbuffer overflow prevention
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The memory controller dynamically adjusts the data transfer rate from the read buffer to the processor based on the processor's current clock frequency. When the processor frequency changes, the memory controller modifies the read command issuance rate to match the processor's capabilities, preventing buffer overflow while maintaining efficient power management.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms where the memory controller monitors the processor's clock frequency and adjusts data transfer rates accordingly. This feedback loop ensures that read data is transferred at a rate compatible with the processor's current operating speed, preventing buffer overflow when frequency is reduced for power conservation.

Inventive Principle:
Principle #23Feedback

2Use of energy by moving object

If the processor frequency is reduced to conserve power, then power consumption is reduced, but the write buffer may under run because write data is transferred at a slower rate than timing requirements allow

Engineering Contradiction:
Improvepower consumptionVSAvoidbuffer underflow prevention
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The memory controller dynamically adjusts write operation timing based on the processor's clock frequency. When frequency is reduced, the controller modifies write command issuance and data transfer timing to ensure that write buffers are filled at appropriate rates, preventing underflow while maintaining power efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses feedback from the processor's clock frequency to adjust write buffer management. The memory controller monitors frequency changes and modifies write operation timing accordingly, ensuring data is written to buffers at rates that satisfy timing requirements even when processor frequency is reduced for power conservation.

Inventive Principle:
Principle #23Feedback

3Productivity

If the memory controller uses large command queues to receive commands from the processor, then command processing capacity is increased, but the complexity of coordinating between different clock domains increases

Engineering Contradiction:
Improvecommand processing capacityVSAvoidclock domain coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory controller segments command processing into distinct queues: a command queue in the processor clock domain for receiving commands, and a separate memory interface sequencer in the memory clock domain for executing memory operations. This segmentation allows each component to operate at its optimal frequency while maintaining clear responsibilities and reducing coordination complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The memory controller acts as an intermediary between the processor and memory, using command queues and sequencers to bridge the frequency difference between clock domains. This intermediary structure absorbs the complexity of frequency coordination while presenting simplified interfaces to both the processor and memory subsystems.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7467277B2Memory controller operating in a system with a variable system clock
Publication Date: 2008.12.16 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7467277B2 patent drawing
  • US7467277B2 patent drawing
  • US7467277B2 patent drawing

AI summary

The present invention generally relates to memory controllers operating in a system containing a variable system clock. The memory controller may exchange data with a processor operating at a variable processor clock frequency. However the memory controller may perform memory accesses at a constant memory clock frequency. Asynchronous buffers may be provided to transfer data across the variable and constant clock domains. To prevent read buffer overflow while switching to a lower processor clock frequency, the memory controller may quiesce the memory sequencers and pace read data from the sequencers at a slower rate. To prevent write data under runs, the memory controller's data flow logic may perform handshaking to ensure that write data is completely received in the buffer before performing a write access.