Compression Tag State Interlock for Memory Bandwidth Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems fail to accurately determine whether memory accessed by clients is compressed or non-compressed, leading to incorrect data treatment and bandwidth inefficiencies when multiple clients access mixed compressed and non-compressed graphics data.

Innovation Solution

Implementing a system with a compression tag state read before memory arbitration, interlocking compression tag reads with memory access requests, and using a combination of naïve and compression-aware client request FIFOs with an interlock control unit to ensure accurate data handling and reordering of requests for optimized bandwidth utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If compression tag reads are performed before memory arbitration, then memory bandwidth optimization is achieved, but data corruption occurs when state changes between read and access

Engineering Contradiction:
Improvememory bandwidth utilizationVSAvoiddata accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs compression tag reads in advance before memory arbitration occurs. The interlock control unit queues read requests and determines compression states beforehand, allowing clients to construct appropriately sized access requests based on pre-determined compression states, thereby optimizing memory bandwidth while maintaining data accuracy through state interlocking.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The interlock control unit acts as an intermediary between compression tag storage and memory arbitration. It receives read requests, determines compression states, and controls the arbitration process by providing interlock signals that prevent state changes during critical access windows, ensuring data accuracy while enabling bandwidth optimization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If memory access requests are reordered to reduce DRAM row-bank activation, then memory bandwidth is improved, but request order must be maintained for client-by-client basis

Engineering Contradiction:
Improvememory bandwidthVSAvoidrequest management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments request handling into two distinct phases: reordering for arbitration optimization and reordering for client delivery. The interlock control unit reorders requests to minimize DRAM row-bank activations during arbitration, then uses a return data buffer to reorder responses back to the original client-by-client sequence, achieving bandwidth optimization while maintaining delivery order.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates a copy of requests in the return data buffer that maintains the original client-by-client ordering. While arbitration operates on reordered requests for optimization, the return data buffer preserves and processes responses in the correct client sequence, allowing both optimized access and proper delivery without conflict.

Inventive Principle:
Principle #26Copying

3Measurement precision

If compression state is determined before arbitration, then correct buffer allocation is achieved, but state changes can invalidate the determination

Engineering Contradiction:
Improvecompression state determination accuracyVSAvoidstate change window
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The interlock control unit serves as an intermediary that bridges compression tag reads and memory arbitration. It determines compression states, queues requests appropriately, and generates interlock signals that prevent state changes during the critical window between determination and access, ensuring accurate buffer allocation without vulnerability to state changes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs compression state determination as a preliminary action before arbitration and access occur. By establishing the compression state early and locking it through interlock signals, the system ensures that buffer allocations are based on accurate, validated states that cannot change during the critical access window.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8441495B1Compression tag state interlock
Publication Date: 2013.05.14 NVIDIA CORP
  • US8441495B1 patent drawing
  • US8441495B1 patent drawing
  • US8441495B1 patent drawing

AI summary

Systems and methods for determining a compression tag state prior to memory client arbitration may reduce the latency for memory accesses. A compression tag is associated with each portion of a surface stored in memory and indicates whether or not the data stored in each portion is compressed or not. A client uses the compression tags to construct memory access requests and the size of each request is based on whether or not the portion of the surface to be accessed is compressed or not. When multiple clients access the same surface the compression tag reads are interlocked with the pending memory access requests to ensure that the compression tags provided to each client are accurate. This mechanism allows for memory bandwidth optimizations including reordering memory access requests for efficient access.