Cache Tag Partitioning for Flexible Storage Area Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Fully associative cache memories require significant on-chip flip-flop area and power for tag comparisons, while set-associative caches are limited in flexibility and cannot handle applications needing fully associative storage.

Innovation Solution

A data storage device with an array of partitions using a predictor to identify subsets of partitions that do not store a required data item, and a comparator to exclude these partitions from a test group, allowing for efficient tag comparisons and flexible storage location selection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If fully associative cache memory is implemented with flip-flop tag storage and simultaneous comparison, then any data item can be stored in any location providing maximum flexibility, but the on-chip flip-flop area and power consumption increase significantly

Engineering Contradiction:
Improveflexibility of storage locationVSAvoidon-chip flip-flop area
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The cache is divided into multiple partitions, each with its own subset of tags. The tag array is segmented into partition tags stored in SRAM, eliminating the need for flip-flops to hold all tags simultaneously. This segmentation allows the system to maintain fully associative flexibility while reducing the area required for tag storage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The partition identifier is pre-computed from the data item identifier before the tag comparison stage. This preliminary action allows the system to quickly identify which partition to search, reducing the number of tags that need to be simultaneously compared and stored in flip-flops, thereby reducing area and power requirements.

Inventive Principle:
Principle #10Preliminary action

2Speed

If fully associative cache memory performs full tag comparisons every active clock cycle, then all stored tags can be read simultaneously ensuring fast access, but power consumption increases significantly

Engineering Contradiction:
Improvetag comparison speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by stationary object

Solution Approach 1:

The tag comparison operation is segmented into two stages: first comparing the partition identifier (a smaller subset of tags) to identify the relevant partition, then comparing only the tags within that specific partition. This segmentation reduces the number of simultaneous comparisons required, thereby reducing power consumption while maintaining fast access speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of performing full tag comparisons for all partitions simultaneously, the system performs partial comparisons first by checking partition identifiers. Only the necessary subset of tags within the identified partition is then compared in full, avoiding excessive power consumption from comparing all tags while still achieving fast access.

Inventive Principle:
Principle #16Partial or excessive action

3Area of stationary object

If set-associative cache is used to reduce flip-flop area and power consumption, then efficiency improves, but the cache placement policy becomes limited reducing flexibility

Engineering Contradiction:
Improveflip-flop areaVSAvoidcache placement flexibility
Core Design Contradiction:
Area of stationary objectVSAdaptability or versatility

Solution Approach 1:

The system dynamically determines the partition for each data item based on the partition identifier computed from the data item's identifier. This dynamic partition assignment allows any data item to be placed in any partition based on current needs, providing flexibility similar to fully associative caches while using set-associative storage structures that reduce flip-flop area requirements.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10055151B2Identifying information in an array of data storage elements arranged as multiple partitions using partition identifiers
Publication Date: 2018.08.21 ARM LTD
  • US10055151B2 patent drawing
  • US10055151B2 patent drawing
  • US10055151B2 patent drawing

AI summary

A data storage device comprises an array of data storage elements arranged as multiple partitions each comprising two or more data storage elements, each data storage element being associated with a respective identifier which identifies a data item currently stored by that data storage element; a predictor configured to compare, for each partition, information derived from the identifiers associated with the data storage elements of that partition with information derived from an identifier associated with the required data item, to identify a subset of partitions that do not store the required data item; and a comparator configured to compare identifiers associated with data storage elements of one or more partitions with the identifier associated with the required data item, wherein any partitions in the subset of partitions are excluded from the test group of partitions.