DRAM Flush Buffer Cache Line Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory systems face inefficiencies in managing cache lines and flush buffers, particularly in determining when to copy cache lines from the main DRAM memory array to a flush buffer and when to transmit them to other cache levels or main memory, due to the lack of effective cache tag and flag value utilization.

Innovation Solution

A dynamic random access memory (DRAM) device is configured to copy cache lines to a flush buffer based on cache tag and flag values, allowing for conditional replacement and transmission, optimizing operations such as write access, read access, and buffer management by using cache tag and flag indicators to determine data availability and buffer usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If cache lines are copied to flush buffer based on cache tag and flag values, then memory system efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvememory system efficiencyVSAvoidbuffer management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-copying dirty cache lines to the flush buffer before they are needed by upper cache levels or main memory. The memory device proactively identifies dirty cache lines using cache tag and flag values, and copies them to the flush buffer in advance, so that when upper levels need this data, it is already available for immediate transmission, eliminating waiting time and improving overall memory system efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The flush buffer acts as an intermediary between the main DRAM memory array and upper cache levels or main memory. Instead of directly managing cache line transfers between these components, the patent introduces the flush buffer as a intermediate storage structure that holds dirty cache lines temporarily. This intermediary simplifies the management complexity by providing a dedicated buffer zone that automatically handles the transfer logic based on cache tag and flag indicators.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of energy

If conditional replacement of cache lines is implemented using cache tag and flag values, then unnecessary data transfers are reduced, but measurement precision requirements increase

Engineering Contradiction:
Improveunnecessary data transfersVSAvoidcache tag and flag value accuracy
Core Design Contradiction:
Loss of energyVSMeasurement precision

Solution Approach 1:

The patent implements feedback by continuously monitoring cache tag and flag values to determine the state of cache lines. The cache status indicator (dirty/clean) provides feedback about whether a cache line has been modified, and this feedback is used to make intelligent decisions about whether to copy the cache line to the flush buffer. Only dirty cache lines (those with modified data) are copied, while clean cache lines are left in place, thereby avoiding unnecessary data transfers and reducing energy consumption.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent changes the parameter of cache line state tracking by using cache tag and flag values (specifically the dirty/clean status indicator) to dynamically determine buffer copy operations. Instead of copying all cache lines or using fixed rules, the system changes its behavior based on the actual state parameters of each cache line, copying only when the dirty bit is set, which precisely identifies lines that need to be preserved.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20240311301A1Memory device flush buffer operations
Publication Date: 2024.09.19 RAMBUS INC
  • US20240311301A1 patent drawing
  • US20240311301A1 patent drawing
  • US20240311301A1 patent drawing

AI summary

A dynamic random access memory (DRAM) device includes functions configured to aid with operating the DRAM device as part of data caching functions. In response to some write and/or read access commands, the DRAM device is configured to copy a cache line (e.g., dirty cache line) from the main DRAM memory array, place it in a flush buffer, and replace the copied cache line in the main DRAM memory array with a new (e.g., different) cache line of data. In response to conditions and/or events (e.g., explicit command, refresh, write-to-read command sequence, unused data bus bandwidth, full flush buffer, etc.) the DRAM device transmits the cache line from the flush buffer to the controller. The controller may then transmit the cache line to other cache levels.