Vertex Transformation Cache Pointer Encoding for Repeated Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data processing systems face significant overhead in terms of speed and power consumption due to the large volumes of data that need to be transferred to and from memory, particularly in deferred rendering graphics processing pipelines where repeated data blocks are generated and stored.

Innovation Solution

A method that identifies repeated requests within a stream of processing tasks and generates pointers to previously generated blocks of result data instead of regenerating identical data, reducing data volume by using a cache memory to store tag values and manage pointer values, thereby minimizing data transfer and storage requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the same processing task is performed multiple times to generate result data blocks, then the completeness of the result data stream is maintained, but the data volume and energy consumption increase significantly

Engineering Contradiction:
Improvecompleteness of result data streamVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

Instead of regenerating identical result data blocks for repeated processing tasks, the patent creates a copy reference (pointer) to the previously generated block. The encoding circuitry generates an index value that points to the location of the existing data block in memory, allowing the system to reference rather than recreate the same data, thereby reducing energy consumption while maintaining data stream completeness

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent stores tag values and index values in advance in a cache memory structure before they are needed for comparison. When a processing task arrives, the system has already prepared the lookup structure, enabling rapid identification of duplicate tasks and immediate generation of pointer references without redundant computation

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If result data blocks are stored to memory for later retrieval, then deferred rendering is enabled, but the data transfer overhead and power consumption increase

Engineering Contradiction:
Improvedeferred rendering capabilityVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent replaces actual data block copies with compact pointer references (index values) when storing results to memory. Instead of writing entire result data blocks to memory for repeated tasks, the system stores only the index value pointing to the original block location, dramatically reducing data transfer volume and power consumption while maintaining the ability to retrieve and use the data when needed

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent extracts only the essential identifying information (tag values and index values) from the full result data blocks and stores these extracted components in cache memory. This separation allows the system to work with compact representations rather than full data blocks, reducing memory bandwidth requirements and energy consumption while preserving deferred rendering functionality

Inventive Principle:
Principle #2Taking out (Extraction)

3Speed

If a cache memory is used to store tag values for identifying repeated requests, then the identification speed improves, but the device complexity increases

Engineering Contradiction:
Improveidentification speedVSAvoiddevice complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent divides the cache memory into distinct segments: a tag value storage area for storing identifiers of previously processed tasks, and an index value storage area for storing pointers to result data blocks. This segmentation allows the system to efficiently manage different types of data with different access patterns, improving identification speed through organized lookup while keeping the overall structure manageable and not excessively complex

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9679342B2Result data stream coding for repeating workloads
Publication Date: 2017.06.13 ARM LTD
  • US9679342B2 patent drawing
  • US9679342B2 patent drawing
  • US9679342B2 patent drawing

AI summary

A graphics processing pipeline includes a vertex transformation stage 14 having a vertex transformation cache 20. If a request to transform vertex data is received and the vertex transformation cache 20 indicates that the transformed vertex data for that received request has already been generated, then a pointer to that previously generated transformed vertex data is output within a result data stream in place of the transform vertex data. The transform vertex data is stored to a memory 10 before being retrieved as required by a rasterization stage 16.