Memory Controller Reordering Read Write Requests for Access Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems, memory controllers face inefficiencies in managing memory requests, leading to suboptimal performance due to improper scheduling of read and write requests, resulting in underutilization of memory circuits and adverse effects on system performance such as delayed data retrieval and software execution.

Innovation Solution

A memory controller system that includes a write request queue and scheduled request buffer, which determines current memory access efficiency by comparing clock cycles used during read and write turns to a specified efficiency, reordering requests to prioritize read requests over write requests and scheduling partial write requests between read and write turns to optimize memory access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the memory controller processes write requests immediately, then write operations are completed faster, but read operations are delayed and memory access efficiency decreases

Engineering Contradiction:
Improvewrite request processing speedVSAvoidmemory access efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The memory controller dynamically adjusts the scheduling of read and write requests based on current memory access efficiency metrics. The controller monitors clock cycle utilization and adapts its request processing strategy in real-time, switching between prioritizing reads and batching writes depending on observed performance characteristics.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The memory controller implements periodic scheduling of write requests at defined turn boundaries rather than continuous processing. By organizing memory operations into discrete read turns and write turns, the controller creates predictable periodic patterns that improve overall memory access efficiency while maintaining acceptable write throughput.

Inventive Principle:
Principle #19Periodic action

2Speed

If the memory controller prioritizes read requests over write requests, then data retrieval speed improves, but write operations experience delays

Engineering Contradiction:
Improvedata retrieval speedVSAvoidwrite operation delay
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The memory controller performs preliminary actions by queuing write requests in advance during read turns. Write requests are buffered and prepared for execution, allowing the controller to maintain a backlog of write operations that can be processed efficiently during designated write turns without impacting read performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The memory controller maintains continuous useful action by ensuring that both read and write operations are continuously processed over time, just at different rates and priorities. The controller balances the throughput of reads and writes across multiple turns, ensuring that neither operation type starves while maintaining high overall memory utilization.

Inventive Principle:
Principle #20Continuity of useful action

3Ease of operation

If the memory controller processes memory requests in strict FIFO order, then request fairness is maintained, but memory circuit utilization is suboptimal

Engineering Contradiction:
Improverequest processing fairnessVSAvoidmemory circuit utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The memory controller segments the request processing stream into distinct read turns and write turns, creating separate processing channels for different request types. This segmentation allows the controller to apply different scheduling strategies to reads and writes independently, optimizing memory circuit utilization for each operation type while maintaining overall fairness through structured turn-based execution.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11403037B2Ordering memory requests based on access efficiency
Publication Date: 2022.08.02 APPLE INC
  • US11403037B2 patent drawing
  • US11403037B2 patent drawing
  • US11403037B2 patent drawing

AI summary

An apparatus includes a memory circuit and a memory controller circuit. The memory controller circuit may include a write request queue. The memory controller circuit may be configured to receive a memory request to access the memory circuit and determine if the memory request includes a read request or a write request. A received read request may be scheduled for execution, while a received write request may be stored in the write request queue. The memory controller circuit may reorder scheduled memory requests based on achieving a specified memory access efficiency and based on a number of write requests stored in the write request queue.