Cache Dirty-Data Scheduling for Low-Latency Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The inefficiency in memory access due to high read/write switching times and delays in read commands, particularly in systems with limited queue depth and cache capability, affects the performance of processors.

Innovation Solution

A cache system that actively sends dirty data to the memory controller before cache lines are allocated to new memory addresses, optimizing the scheduling of read/write commands to reduce switching times and delays.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If the memory controller performs read/write scheduling with a small internal queue depth, then the device complexity is reduced, but the productivity of memory access decreases due to frequent read/write switching

Engineering Contradiction:
Improveinternal queue depthVSAvoidmemory access efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent divides the memory access system into two independent scheduling entities: the memory controller with its small internal queue for read commands, and the cache with its own write command queue. This segmentation allows each component to operate independently with optimized queue depths, avoiding the need for a large centralized queue while reducing read/write switching overhead through coordinated scheduling between the two segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache acts as an intermediary between the processor and memory, taking on additional scheduling responsibilities. It maintains a write command queue and actively manages dirty data, mediating between write commands from the processor and the memory controller's read command schedule. This intermediary role enables the memory controller to maintain a small queue depth while the cache handles write scheduling independently.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If the cache passively sends dirty data to the memory controller after cache line allocation, then the device complexity is reduced, but the productivity decreases due to uncontrolled sending occasions leading to more read/write switching

Engineering Contradiction:
Improvescheduling control mechanismVSAvoidmemory access efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The cache performs preliminary actions by proactively sending dirty data to the memory controller before cache lines are allocated to new memory addresses. This advance action allows the memory controller to schedule write commands in advance, coordinating them with read command execution. By taking preliminary action rather than waiting for passive triggers, the system reduces the number of read/write switching events and improves memory access efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The cache implements a feedback mechanism by monitoring its own state (dirty cache lines) and the memory controller's schedule, then actively deciding when to send dirty data. This feedback-driven active sending occasions allow the cache to coordinate with the memory controller's read command schedule, sending dirty data at optimal times that minimize read/write switching and maximize memory access efficiency.

Inventive Principle:
Principle #23Feedback

3Productivity

If the read command execution is delayed to allow dirty data writing, then the productivity of memory writing is improved, but the speed of read data access decreases

Engineering Contradiction:
Improvememory write efficiencyVSAvoidread data access speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The system implements dynamic scheduling where the memory controller and cache continuously adapt their command issuance based on real-time conditions. The cache dynamically determines when to send dirty data based on its dirty cache line count and the memory controller's read schedule. The memory controller dynamically adjusts its read command timing based on incoming write commands from the cache. This dynamic coordination allows the system to optimize for either read speed or write efficiency depending on the current workload, rather than being constrained by fixed timing.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20260017203A1Cache and control method therefor, and computer system
Publication Date: 2026.01.15 HUAWEI TECH CO LTD
  • US20260017203A1 patent drawing
  • US20260017203A1 patent drawing
  • US20260017203A1 patent drawing

AI summary

Embodiments of this disclosure provide a cache, a control method therefor, and a computer system, and relate to the field of storage technologies, to improve memory access efficiency of the computer system. The cache is connected to a memory controller, and the cache includes a plurality of cache lines. The control method for a cache includes: storing write data of a received write command into cache lines, and before the cache lines are allocated to new memory addresses, sending dirty data stored in the cache lines to the memory controller.