ZerehCache: Armoring cache architectures in high defect density technologies

Aggressive technology scaling to 45 nm and below introduces serious reliability challenges to the design of microprocessors. Large SRAM structures used for caches are particularly sensitive to process variation due to their high density and organization. Designers typically over-provision caches with additional resources to overcome the hard-faults. However, static allocation and binding of redundant resources results in low utilization of the extra resources and ultimately limits the number of defects that can be tolerated. This work re-examines the design of process variation tolerant on-chip caches with the focus on flexibility and dynamic reconfigurability to allow a large number defects to be tolerated with modest hardware overhead. Our approach, ZerehCache, combines redundant data array elements with a permutation network for providing a higher degree of freedom on replacement. A graph coloring algorithm is used to configure the network and find the proper mapping of replacement elements. We perform an extensive design space exploration of both L1/L2 caches to identify several Pareto optimal ZerehCaches. For the yield analysis, a population of 1000 chips was studied at the 45 nm technology node; L1 designs with 16% and an L2 designs with 8% area overheads achieve yields of 99% and 96%, respectively.

[1]  Daniel J. Sorin,et al.  Choosing an Error Protection Scheme for a Microprocessor's L1 Data Cache , 2006, 2006 International Conference on Computer Design.

[2]  Avi Wigderson,et al.  Improving the performance guarantee for approximate graph coloring , 1983, JACM.

[3]  A.P. Chandrakasan,et al.  A 256 kb 65 nm 8T Subthreshold SRAM Employing Sense-Amplifier Redundancy , 2008, IEEE Journal of Solid-State Circuits.

[4]  A. Gebremedhin Parallel Graph Coloring , 1999 .

[5]  Norman P. Jouppi,et al.  Optimizing NUCA Organizations and Wiring Alternatives for Large Caches with CACTI 6.0 , 2007, 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007).

[6]  Israel Koren,et al.  Incorporating Yield Enhancement into the Floorplanning Process , 2000, IEEE Trans. Computers.

[7]  Shuichi Sakai,et al.  SEVA: A Soft-Error- and Variation-Aware Cache Architecture , 2006, 2006 12th Pacific Rim International Symposium on Dependable Computing (PRDC'06).

[8]  Kenneth M. Thompson Intel and the Myths of Test , 1996, IEEE Des. Test Comput..

[9]  Anna W. Topol,et al.  Stable SRAM cell design for the 32 nm node and beyond , 2005, Digest of Technical Papers. 2005 Symposium on VLSI Technology, 2005..

[10]  David Blaauw,et al.  Yield-Driven Near-Threshold SRAM Design , 2010, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[11]  Kaushik Roy,et al.  Modeling of failure probability and statistical design of SRAM array for yield enhancement in nanoscaled CMOS , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[12]  Sandip Kundu,et al.  Trends in manufacturing test methods and their implications , 2004, 2004 International Conferce on Test.

[13]  Kaushik Roy,et al.  A process-tolerant cache architecture for improved yield in nanoscale technologies , 2005, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[14]  M. Horiguchi,et al.  Redundancy techniques for high-density DRAMs , 1997, 1997 Proceedings Second Annual IEEE International Conference on Innovative Systems in Silicon.

[15]  Y. Moriyama,et al.  A 0.9 V operation 2-transistor flash memory for embedded logic LSIs , 1999, 1999 Symposium on VLSI Technology. Digest of Technical Papers (IEEE Cat. No.99CH36325).

[16]  Bonnie Berger,et al.  A better performance guarantee for approximate graph coloring , 2005, Algorithmica.

[17]  A. Naor,et al.  The two possible values of the chromatic number of a random graph , 2005 .

[18]  Yong-Bin Kim,et al.  SRAM word-oriented redundancy methodology using built in self-repair , 2004, IEEE International SOC Conference, 2004. Proceedings..

[19]  Ruby B. Lee,et al.  Implementation complexity of bit permutation instructions , 2003, The Thrity-Seventh Asilomar Conference on Signals, Systems & Computers, 2003.

[20]  Cristopher Moore,et al.  The Chromatic Number of Random Regular Graphs , 2004, APPROX-RANDOM.

[21]  Béla Bollobás,et al.  The chromatic number of random graphs , 1988, Comb..

[22]  Ruby B. Lee,et al.  Fast subword permutation instructions based on butterfly network , 1999, Electronic Imaging.

[23]  S. Hanamura,et al.  A 15-ns 1-Mbit CMOS SRAM , 1988 .

[24]  B.C. Paul,et al.  Process variation in embedded memories: failure analysis and variation aware architecture , 2005, IEEE Journal of Solid-State Circuits.

[25]  Kaushik Roy,et al.  A 160 mV, fully differential, robust schmitt trigger based sub-threshold SRAM , 2007, Proceedings of the 2007 international symposium on Low power electronics and design (ISLPED '07).

[26]  Gu-Yeon Wei,et al.  Replacing 6T SRAMs with 3T1D DRAMs in the L1 Data Cache to Combat Process Variability , 2008, IEEE Micro.

[27]  J. Torrellas,et al.  VARIUS: A Model of Process Variation and Resulting Timing Errors for Microarchitects , 2008, IEEE Transactions on Semiconductor Manufacturing.

[28]  Kaushik Roy,et al.  Process Variations and Process-Tolerant Design , 2007, 20th International Conference on VLSI Design held jointly with 6th International Conference on Embedded Systems (VLSID'07).

[29]  David Nassimi A self routing Benes network , 1980, ISCA '80.

[30]  Hai Zhou,et al.  Yield-Aware Cache Architectures , 2006, 2006 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'06).

[31]  Shekhar Y. Borkar,et al.  Designing reliable systems from unreliable components: the challenges of transistor variability and degradation , 2005, IEEE Micro.

[32]  Todd M. Austin,et al.  SimpleScalar: An Infrastructure for Computer System Modeling , 2002, Computer.

[33]  Alaa R. Alameldeen,et al.  Trading off Cache Capacity for Reliability to Enable Low Voltage Operation , 2008, 2008 International Symposium on Computer Architecture.

[34]  Walter Klotz Graph Coloring Algorithms , 2002 .

[35]  Josep Torrellas,et al.  Variation-Aware Application Scheduling and Power Management for Chip Multiprocessors , 2008, 2008 International Symposium on Computer Architecture.

[36]  Babak Falsafi,et al.  Multi-bit Error Tolerant Caches Using Two-Dimensional Error Coding , 2007, 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007).