Cache Cleaning Circuitry for DDR Memory Page Conflict Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor systems with shared memory, writing data to memory in a time-interleaved fashion leads to non-optimal performance due to frequent page openings and closures in dual data rate (DDR) memory, resulting in delays and decreased system performance.

Innovation Solution

Implementing cache cleaning circuitry that tracks memory accesses to identify when a threshold of dirty cache lines corresponding to the same memory region is reached, allowing for simultaneous cleaning of these lines, thereby reducing the need for continuous page closures and openings, and improving system performance by minimizing delays during the cleaning process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If data is written to memory in a time-interleaved fashion across different pages, then memory bandwidth utilization is improved, but the number of page-opens and page-closes increases, causing performance degradation

Engineering Contradiction:
Improvememory bandwidth utilizationVSAvoidsystem performance
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The system performs preliminary tracking of dirty cache lines and their corresponding memory pages before actual write-back operations. By maintaining a data structure that records which pages have dirty cache lines, the system can proactively group write-back operations by page rather than reacting to individual cache line updates, thereby reducing the frequency of page-opens and page-closes

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Multiple individual cache line write-back operations that would normally be performed separately and time-interleaved are merged into batched operations grouped by memory page. This consolidation allows the system to perform fewer page transitions while still updating all modified cache lines, directly reducing the overhead of page-opens and page-closes

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If cache lines are cleaned individually in a time-interleaved manner, then cache coherence is maintained, but the number of row conflicts in DDR memory increases, causing delays

Engineering Contradiction:
Improvecache coherenceVSAvoidcleaning delays
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system preliminarily tracks which cache lines are dirty and group them by their corresponding memory pages before initiating clean operations. This pre-grouping allows the system to perform multiple cache line cleanings within a single row activation window in DDR memory, reducing row conflicts and cleaning delays while maintaining cache coherence

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Multiple individual cache line cleaning operations are merged into batched operations that can be performed within a single memory row activation. By consolidating these operations, the system reduces the number of row conflicts that would otherwise occur with time-interleaved individual cleanings, thereby reducing cleaning delays

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8543766B2Writing data to system memory in a data processing system in which cache line states are tracked
Publication Date: 2013.09.24 NXP USA INC
  • US8543766B2 patent drawing
  • US8543766B2 patent drawing
  • US8543766B2 patent drawing

AI summary

A state indicator associated with a cache line is stored, wherein the cache line is one of a plurality of cache lines each associated with a corresponding unique section of a region of system memory. The state indicator comprises a dirty indication indicating that the cache line is a candidate for writing data stored in the cache line to the associated section of the region of system memory. The state indicator is one of a plurality of state indicators each associated with a corresponding cache line. For the region of system memory, a number of the plurality of state indicators that comprises the dirty indication is determined, and if a threshold is exceeded, data stored in a selected cache line is written to the associated section of the region of system memory, and a clean indication is stored in the state indicator corresponding to the cache line.