Cache Line Size Adaptation for Sparse Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing number of processing elements on integrated circuits leads to a premium on shared resources like memory, and existing cache management techniques are inefficient in organizing data of varying sizes, resulting in energy wastage due to fixed cache line sizes.

Innovation Solution

The proposed solution involves storing data in cache lines with a field to indicate the size of usable data, allowing for partial data retrieval and merging with memory data to match the maximum cache line size, thereby optimizing energy usage and reducing unnecessary data movement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If fixed cache line sizes are used, then cache organization is simplified, but energy consumption increases due to unnecessary data movement

Engineering Contradiction:
Improvecache organizationVSAvoidenergy consumption
Core Design Contradiction:
Device complexityVSUse of energy by moving object

Solution Approach 1:

The cache line size is made dynamic rather than fixed. The system includes a field to store the actual size of usable data in each cache line, allowing the cache to adapt the effective data size based on the specific data being stored. This dynamic approach reduces energy consumption by avoiding unnecessary data movement while maintaining simplified cache organization through standardized cache line structures.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If larger cache line sizes are used, then more data can be stored per line, but energy required to store, access, and modify data increases

Engineering Contradiction:
Improvedata storage capacityVSAvoidenergy required to store, access, and modify data
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

Different portions of the cache line are treated differently based on their usage. The cache line structure includes a field indicating the actual size of usable data, allowing the system to optimize operations based on the specific data characteristics. This local quality approach enables efficient storage and access of varying data sizes without uniformly increasing energy consumption across all cache lines.

Inventive Principle:
Principle #3Local quality

3Productivity

If sparse data structures are accessed, then data access efficiency improves, but existing cache management techniques waste energy on unnecessary data movement

Engineering Contradiction:
Improvedata access efficiencyVSAvoidenergy wastage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The cache system incorporates feedback mechanisms through fields that track the actual size of usable data in each cache line. This feedback information allows the cache management to adjust operations based on actual data access patterns, improving data access efficiency for sparse data structures while reducing energy wastage by avoiding unnecessary data movement operations.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9037804B2Efficient support of sparse data structure access
Publication Date: 2015.05.19 INTEL CORP
  • US9037804B2 patent drawing
  • US9037804B2 patent drawing
  • US9037804B2 patent drawing

AI summary

Method and apparatus to efficiently organize data in caches by storing/accessing data of varying sizes in cache lines. A value may be assigned to a field indicating the size of usable data stored in a cache line. If the field indicating the size of the usable data in the cache line indicates a size less than the maximum storage size, a value may be assigned to a field in the cache line indicating which subset of the data in the field to store data is usable data. A cache request may determine whether the size of the usable data in a cache line is equal to the maximum data storage size. If the size of the usable data in the cache line is equal to the maximum data storage size the entire stored data in the cache line may be returned.