Rouwaida Kanj, *Rajiv Joshi, and Sani Nassif Mixture Importance Sampling and Its Application to the Analysis of SRAM Designs in the Presence of Rare Failure Events Rouwaida Kanj, *Rajiv Joshi, and Sani Nassif IBM Austin Research Labs, Austin, TX *IBM TJ Watson Labs, Yorktown Heights, NY July 25, 2006
Motivation SRAM comprises 50% and more of modern designs. For density, SRAM uses the smallest possible devices and is therefore very sensitive to the impact of manufacturing variations. VTH variations from random dopant fluctuations. Dimension variations because of lithography, line edge roughness and other factors. Variations cause an SRAM to fail catastrophically. Example: cannot write 1 into a cell! Not a continuous event like for timing variations…
Analyze This! # Cells per Array Array Yield % 10 20 30 40 50 60 70 80 90 100 1000 10000 100000 1000000 Cell Fail Probability 1'% 0.1'% 0.01'% 0.001'% 0.0001'% 0.00001'% 0.000001'% Since failures are largely independent, achieving good yield on a large array require very low cell fail probabilities Need robust statistical methods to accurately estimate such rare fail probabilities
Why not use Standard Monte Carlo? 5.3σ Pf = Shaded area = 0.00001% In a 1Mbit array design, Yield=90% cell’s Pf = 1e-5% zeqv= 5.3 Millions of samples to estimate such low failure probabilities
Importance Sampling Combine the best of the available ideas… Monte Carlo works well, but wastes a lot of time sampling around the mean rather than in the tail! Importance Sampling gets around this problem by distorting the (natural) sampling function, f(x), to produce more samples in the important region(s) Mathematical manipulation follows to un-bias the estimates Use weighted averages g(x)/f(x) f(x) Failed Samples More Failed Samples f(x) g(x)=U(x)
Mixture Importance Sampling Uniform sampling g(x) = U(x) Can do better Shifted Gaussian g(x) = f(x - μs) We refer to μs as the shift center Mixture Importance Sampling (MixIS) Use a mixture of distributions adjusted so that the “right” area gets the attention! without leaving any cold spots. E.g.: g(x) = λ1* f(x) + λ2* U(x) + (1 - λ1- λ2) * f(x - μs) f(x) U(x) f(x-μs ) μs
Approximating the Shift Center μs VTN2 mechanism 2 For a given performance metric (array function: stability, writability…) Uniformly sample the space * If # failures is <40 ** (Estimating a mean) Go to 1 Find center of gravity (C.O.G.), μs, of bad points f(x) μs mechanism 1 VTN1
Approximating the Shift Center μs * Quasi-random sequences like Sobol sequences guarantee that the samples are maximally spread in the space Sample is a good representative of the population Failure region mean offers a good approximation to the population mean It does not result from a clustered set of failing samples ** μs accuracy is not very important A small # failures estimates a mean with good confidence Want approximate C.O.G. Importance sampling will follow For a given performance metric (array function: stability, writability…) Uniformly sample the space * If # failures is <40 ** (Estimating a mean) Go to 1 Find center of gravity (C.O.G.), μs, of bad points
Case Study: µs convergence VTN1 VTN2 6s - 6s z=5.5 a Assume linear Fail Boundary All variables contribute to fail equally 1 variable contributes to the fail Find expected number of fails due to uniform sampling Shaded region failure Pf corresponds to z (@ 5.5)
Case Study: µs convergence (cont’d) log(Nf) ~ -0.06*(nD)+1.71 Nf: expected number of fails per 1000 uniform samples nD: number of dimensions Few thousand uniform samples sufficient for finding µs
Great Accuracy and SpeedUp Number of simulations needed to obtain a converging estimate Speedup= NMC/ NMixIS NMC: number of Monte Carlo simulations NMixIS: number of importance sampling simulation
Great Accuracy and SpeedUp f(x) s Analytical fun(xi) Analytical yield MixIS yield Experiment. # Equivalent Great Accuracy Impressive speedup upto 105X vs Monte Carlo
SRAM Stability Analysis BitLine Left BitLine Right 6T SRAM cells 65nm technology 64 cells/ bitline VTi (i=1 to 6) independent Gaussian ~ N(0, VT) Study the read/write stability of the cell Destructive read: During read ‘0’, cell may erroneously flip Writability It is possible that we cannot write a ‘0’ to the cell L R Word Line
EQV=4 , standard Monte Carlo SRAM Yield: MC vs MixIS Application: Writability yield of an SRAM cell MixIS is very efficient Few thousand samples needed to converge Monte Carlo method looses its efficiency as EQV increases For EQV~4, needed more than 100k samples to converge Monte Carlo MixIS 1.49 1.53 2.56 2.51 3.49 3.42 4.15 4.22 Too long! 4.96 5.68 6.06 EQV=4 , standard Monte Carlo did not converge yet Monte Carlo MixIS
Conclusions Efficient methodology for analyzing SRAM designs in the presence of variability, in terms of Evaluating SRAM stability, writability, readability and other performance metrics Yield estimation of memory designs Comparator for variety of SRAM designs/technologies With the proper choice of a sampling distribution, Importance Sampling lends itself as a comprehensive and computationally efficient methodology Monte-Carlo-like accuracy Several orders of magnitude of gain in computational speed Verified with hardware data as well