Buffer Eviction Priority for Data Processing Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face inefficiencies in data processing operations due to frequent fetching and writing of data values between the execution unit and primary storage, leading to increased latency and energy consumption.

Innovation Solution

A buffer is introduced between the primary storage and the execution unit, with a buffer controller that selects data values for eviction based on priority indications associated with instructions, reducing the need for frequent data transfers and optimizing data value retention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data values are frequently fetched and written between execution unit and primary storage, then data processing operations can be performed, but latency increases and energy consumption increases

Engineering Contradiction:
Improvedata processing throughputVSAvoiddata transfer latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

An intermediate buffer is introduced between the execution unit and primary storage to reduce frequent data transfers. The buffer stores data values locally, allowing the execution unit to access data without repeatedly fetching from primary storage, thereby reducing latency while maintaining processing throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data values are frequently fetched and written between execution unit and primary storage, then data processing operations can be performed, but energy consumption increases

Engineering Contradiction:
Improvedata processing throughputVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The intermediate buffer serves as a mediator that reduces the frequency of data transfers between execution unit and primary storage. By keeping data values in the buffer, the system avoids repeated high-energy transfer operations while maintaining data processing productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If all data values are retained in the buffer, then data access speed improves, but buffer size requirements increase

Engineering Contradiction:
Improvedata access speedVSAvoidbuffer size
Core Design Contradiction:
SpeedVSVolume of stationary object

Solution Approach 1:

The system changes the parameter of data retention by selectively retaining only those data values that are likely to be reused, rather than retaining all data values. This is achieved through eviction priority indications that guide the buffer controller in making intelligent retention decisions, maintaining fast access speed while limiting buffer size requirements.

Inventive Principle:
Principle #35Parameter changes

4Device complexity

If data eviction is performed without priority consideration, then buffer management is simple, but data value reuse efficiency decreases

Engineering Contradiction:
Improvebuffer management complexityVSAvoiddata value reuse efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system implements feedback through eviction priority indications that are associated with each data value in the buffer. The buffer controller uses these priority indications to make informed eviction decisions, ensuring that data values likely to be reused are retained while evicting less useful data, thereby improving reuse efficiency without excessive complexity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11442731B2Data processing systems including an intermediate buffer with controlled data value eviction
Publication Date: 2022.09.13 ARM LTD
  • US11442731B2 patent drawing
  • US11442731B2 patent drawing
  • US11442731B2 patent drawing

AI summary

A data processor includes an execution unit that executes instructions to perform data processing operations, a register file operable to store data values for use by and produced by the execution unit, and a buffer intermediate between the register file for providing data values from the register file to the execution unit for use when executing an instruction, and to receive output data values from the execution unit for writing to the register file.Instructions to be executed by the execution unit of the data processor have associated buffer eviction priority indications representative of a priority for eviction from the buffer of an output data value that will be generated when executing the instruction. The buffer eviction priority indications are then used when selecting data values to evict from the buffer.