Issue No.03 - March (2009 vol.58)
Soontae Kim , University of South Florida, Tampa
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TC.2008.174
Due to increasing concern about various errors, current processors adopt error protection mechanisms for their on-chip components. Especially, protecting caches in current processors incur as much as 12.5% area overhead due to error correcting codes. Considering large L2/L3 caches employed in current high-performance processors, the area overhead is very high and consumes a large number of on-chip transistors. As an attempt to reduce that overhead, this paper proposes an area-efficient error protection architecture for large L2/L3 caches. First, it selectively applies ECC (Error Correcting Code) to only dirty cache lines and other clean cache lines are protected by using simple parity check codes. Second, the dirty cache lines are periodically cleaned by exploiting the generational behavior of cache lines in order not to increase traffic to off-chip main memory. Experimental results show that the cleaning technique effectively reduces the number of dirty cache lines per cycle. The ECCs of the reduced dirty cache lines can be confined in a small ECC array or ECC cache. Our proposed error-protection architecture has been shown to reduce the area overhead of a 1MB L2 cache for error protection by 59% with less than 1% performance degradation, on the average, using SPEC2000 benchmarks running on a typical four-issue superscalar processor.
SRAM, Cache memories, Error-checking
Soontae Kim, "Reducing Area Overhead for Error-Protecting Large L2/L3 Caches", IEEE Transactions on Computers, vol.58, no. 3, pp. 300-310, March 2009, doi:10.1109/TC.2008.174