Uniform Memory Region Compression Using Local Uniform Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The conventional zero-bandwidth clear (ZBC) mechanism is limited by the capacity of the global uniform table, making it difficult to reclaim or free entries for new values when all entries are used, and it can only perform compression using a clear command, which restricts its applicability to dynamically uniform buffers.

Innovation Solution

The introduction of local uniform tables and compression state information (CSI) allows for dynamic uniform value hardware compression, enabling the use of multiple granules with uniform values to be encoded using ZBC compression, and dynamically identifying and compressing uniform values within granules, thereby increasing the number of compressible values beyond the limitations of the global uniform table.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the global uniform table capacity is increased to store more uniform values, then the number of compressible values increases, but the device complexity and memory usage increase

Engineering Contradiction:
Improvenumber of uniform valuesVSAvoidtable capacity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The uniform value storage is segmented into multiple granules, where each granule contains a subset of uniform values. Instead of using one large global uniform table, the system divides the storage into smaller granules (e.g., granule 0, granule 1, etc.), each managing a portion of the uniform values. This segmentation increases the total number of storable uniform values without proportionally increasing the complexity of any single table structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to uniform value management by adding granule indexing. Instead of a single-dimensional global table accessed by one index, the system uses a two-dimensional structure: granule ID and offset within granule. This dimensional change allows efficient organization of large numbers of uniform values across multiple granules while maintaining manageable access patterns through the granule-offset pairing.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Adaptability or versatility

If dynamic compression is implemented for non-cleared buffers, then the applicability of compression increases, but the difficulty of detecting and measuring uniform values increases

Engineering Contradiction:
Improveapplicability of compressionVSAvoiduniform value detection
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The system performs preliminary action by pre-organizing uniform values into granules and maintaining granule state information that tracks whether each granule is uniformly compressed or not. This preliminary organization enables efficient detection during runtime, as the system can quickly check the granule state and uniform value indicators without having to analyze all values in a buffer from scratch.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces intermediary structures including granule state information (CSI) and uniform value indicators that mediate between the raw buffer data and the compression logic. These intermediaries store pre-computed information about uniformity, allowing the system to efficiently determine whether compression is applicable without directly analyzing all underlying values. The CSI acts as a mediator that simplifies the detection process by providing ready-made uniformity flags.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If the granule size is increased to reduce the number of granules, then the device complexity decreases, but the loss of information about uniform values increases

Engineering Contradiction:
Improvenumber of granulesVSAvoiduniform value information
Core Design Contradiction:
Device complexityVSLoss of information

Solution Approach 1:

The patent applies local quality by allowing different granules to have different characteristics regarding their uniform value status. Each granule is independently tracked with its own state information and uniform value indicators, enabling fine-grained control over compression decisions. This local tracking ensures that uniformity information is preserved at the granule level without requiring overly fine segmentation, balancing information preservation with reduced granule count.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11513686B2Techniques for dynamically compressing memory regions having a uniform value
Publication Date: 2022.11.29 NVIDIA CORP
  • US11513686B2 patent drawing
  • US11513686B2 patent drawing
  • US11513686B2 patent drawing

AI summary

Accesses between a processor and its external memory is reduced when the processor internally maintains a compressed version of values stored in the external memory. The processor can then refer to the compressed version rather than access the external memory. One compression technique involves maintaining a dictionary on the processor mapping portions of a memory to values. When all of the values of a portion of memory are uniform (e.g., the same), the value is stored in the dictionary for that portion of memory. Thereafter, when the processor needs to access that portion of memory, the value is retrieved from the dictionary rather than from external memory. Techniques are disclosed herein to extend, for example, the capabilities of such dictionary-based compression so that the amount of accesses between the processor and its external memory are further reduced.