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.
