Tag Buffer for Early Row-Buffer Miss Detection in RAM Caches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

RAM caches suffer from inefficiencies due to unnecessary lookups, costly tag block reads, and low row-buffer hit rates, leading to performance bottlenecks and increased power consumption.

Innovation Solution

Implementing a tag buffer to compare memory requests with stored tags, enabling early row-buffer miss detection, early page closing, and reducing tag block transfers, which allows for more efficient memory request servicing and improved system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional memory scheduling is used with row-buffer locality aware algorithms, then row open/close penalties are minimized, but unnecessary RAM cache lookups occur and tag block transfers are costly

Engineering Contradiction:
Improvememory request servicing efficiencyVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent applies preliminary action by implementing a tag buffer that stores tag information in advance before actual memory requests are processed. The memory controller compares incoming memory request addresses with tags in the tag buffer beforehand, enabling early detection of row-buffer misses and avoiding unnecessary RAM cache accesses. This preliminary comparison action prevents wasted energy on futile cache lookups and reduces power consumption while maintaining high productivity.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If all tag blocks are read to locate a data block in the RAM cache, then data block location is achieved, but the operation becomes very costly in terms of time and energy

Engineering Contradiction:
Improvedata block location speedVSAvoidtag block transfer time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts only the essential tag information from the full tag blocks and stores it in a separate tag buffer. Instead of reading and comparing all tag blocks when locating a data block, the memory controller performs quick comparisons with the extracted tags in the tag buffer. This extraction principle dramatically reduces tag block transfer time and speeds up data block location while maintaining accurate address matching capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The tag buffer serves as an intermediary structure between the RAM cache and the memory controller. It stores pre-extracted tag information that mediates the comparison process, allowing the memory controller to quickly determine whether a memory request address matches any open row without reading all tag blocks from the RAM cache. This intermediary tag buffer significantly reduces the time required for data block location.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If the RAM cache uses conventional address indexing schemes, then cache organization is simplified, but consecutive memory addresses are not mapped to the same row resulting in low row-buffer hit rates

Engineering Contradiction:
Improvecache organization complexityVSAvoidrow-buffer hit rate
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies segmentation by separating the tag information from the data blocks and organizing them in distinct structures. The tag buffer is segmented to store tags from multiple rows, allowing the memory controller to efficiently check multiple tag comparisons in parallel or sequence without the complexity of reorganizing the entire cache. This segmentation enables better mapping strategies for consecutive addresses while keeping cache organization manageable, thereby improving row-buffer hit rates without excessive complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9026731B2Memory scheduling for RAM caches based on tag caching
Publication Date: 2015.05.05 ADVANCED MICRO DEVICES INC
  • US9026731B2 patent drawing
  • US9026731B2 patent drawing
  • US9026731B2 patent drawing

AI summary

A system, method and computer program product to store tag blocks in a tag buffer in order to provide early row-buffer miss detection, early page closing, and reductions in tag block transfers. A system comprises a tag buffer, a request buffer, and a memory controller. The request buffer stores a memory request having an associated tag. The memory controller compares the associated tag to a plurality of tags stored in the tag buffer and issues the memory request stored in the request buffer to either a memory cache or a main memory based on the comparison.