Table of Contents
Fetching ...

An Analytical and Empirical Investigation of Tag Partitioning for Energy-Efficient Reliable Cache

Elham Cheshmikhani, Hamed Farbeh

TL;DR

The paper addresses energy and reliability challenges in cache tag arrays by formalizing tag partitioning as a two-step comparison and deriving a convex optimization for the optimal tag-splitting point k. It develops a probabilistic model for tag reads, proves convexity, and yields a closed-form solution involving the Lambert W function. Extensive experiments across cache configurations validate the model, showing that the optimal k typically lies between 3 and 5 and enabling substantial tag-read reductions and MTTF improvements, especially for STT-MRAM caches. The results enable early-design-stage optimization of energy and reliability in modern caches with minimal workload dependence.

Abstract

Associative cache memory significantly influences processor performance and energy consumption. Because it occupies over half of the chip area, cache memory is highly susceptible to transient and permanent faults, posing reliability challenges. As the only hardware-managed memory module, the cache tag array is the most active and critical component, dominating both energy usage and error rate. Tag partitioning is a widely used technique to reduce tag-access energy and enhance reliability. It divides tag comparison into two phases: first comparing the k lower bits, and then activating only the matching tag entries to compare the remaining higher bits. The key design parameter is the selection of the tag-splitting point k, which determines how many reads are eliminated. However, prior studies have chosen k intuitively, randomly, or empirically, without justification. Even experimentally determined values are ad-hoc and do not generalize across cache configurations due to high sensitivity to architectural parameters. In this paper, we analytically show that choosing k too large or too small substantially reduces the effectiveness of tag partitioning. We then derive a formulation that determines the optimal splitting point based on cache configuration parameters. The formulation is convex, differentiable, and capable of precisely quantifying tag-partitioning efficiency for any k and configuration. To validate our model, we experimentally evaluate tag-partitioning efficiency and optimal k across a broad set of cache designs and demonstrate close agreement between analytical and experimental results. The proposed formulation enables designers and researchers to instantly compute the optimal tag-splitting point and accurately estimate tag-read reduction.

An Analytical and Empirical Investigation of Tag Partitioning for Energy-Efficient Reliable Cache

TL;DR

The paper addresses energy and reliability challenges in cache tag arrays by formalizing tag partitioning as a two-step comparison and deriving a convex optimization for the optimal tag-splitting point k. It develops a probabilistic model for tag reads, proves convexity, and yields a closed-form solution involving the Lambert W function. Extensive experiments across cache configurations validate the model, showing that the optimal k typically lies between 3 and 5 and enabling substantial tag-read reductions and MTTF improvements, especially for STT-MRAM caches. The results enable early-design-stage optimization of energy and reliability in modern caches with minimal workload dependence.

Abstract

Associative cache memory significantly influences processor performance and energy consumption. Because it occupies over half of the chip area, cache memory is highly susceptible to transient and permanent faults, posing reliability challenges. As the only hardware-managed memory module, the cache tag array is the most active and critical component, dominating both energy usage and error rate. Tag partitioning is a widely used technique to reduce tag-access energy and enhance reliability. It divides tag comparison into two phases: first comparing the k lower bits, and then activating only the matching tag entries to compare the remaining higher bits. The key design parameter is the selection of the tag-splitting point k, which determines how many reads are eliminated. However, prior studies have chosen k intuitively, randomly, or empirically, without justification. Even experimentally determined values are ad-hoc and do not generalize across cache configurations due to high sensitivity to architectural parameters. In this paper, we analytically show that choosing k too large or too small substantially reduces the effectiveness of tag partitioning. We then derive a formulation that determines the optimal splitting point based on cache configuration parameters. The formulation is convex, differentiable, and capable of precisely quantifying tag-partitioning efficiency for any k and configuration. To validate our model, we experimentally evaluate tag-partitioning efficiency and optimal k across a broad set of cache designs and demonstrate close agreement between analytical and experimental results. The proposed formulation enables designers and researchers to instantly compute the optimal tag-splitting point and accurately estimate tag-read reduction.

Paper Structure

This paper contains 18 sections, 11 equations, 8 figures, 7 tables.

Figures (8)

  • Figure 1: Two-step tag comparison in tag partitioning method.
  • Figure 2: Expected number of reads in the first (Eq. (\ref{['eq:1a']})) and second steps (Eq. (\ref{['eq:1s']})) besides their accumulation based on Eq. (\ref{['eq:1']}).
  • Figure 3: Proving the convexity of Eq. (\ref{['eq:1']}), for 40-bit tag length and 16-way set-associative.
  • Figure 4: The number of tag reads as a function of splitting points for various cache associativity in all workloads.
  • Figure 5: Number of tag reads as a function of splitting points for experiments and formulations in various address lengths and cache size and associativity.
  • ...and 3 more figures