Patent Publication Number: US-2011063934-A1

Title: Memory circuit with multi-sized sense amplifier redundancy

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application claims priority under 35 U.S.C. §119(e) to U.S. provisional patent application 61/241,825 filed on Sep. 11, 2009, which application is hereby incorporated by reference in its entirety. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field Of The Invention 
     The present invention relates to memory design and related low power optimization techniques. More particularly, the present invention relates to methods for reducing power consumption in SRAM designs by applying size-based redundancy techniques for sense amplifiers. 
     2. Description of the Related Technology 
     The performance of sense amplifiers in memory circuits, especially with small signal sensing amidst intra- and inter-die variations becomes severely restricted with shrinking technology nodes. It becomes a vital constraint to be resolved for designing ultra low energy memories with long word length in DDSM technologies. 
     Redundancy is a powerful technique for managing variation in ultra-low-voltage systems. In sense amplifiers, redundancy eases the trade-off between physical area and probability of error in sensing due to offset variation. Instead of a single full size sense-amplifier, N smaller copies can be created within the same area [4]. Due to their smaller devices, these redundant copies exhibit wider offset distributions. However, the overall error probability is now the probability that all N sense-amplifiers fail. 
     Design of sense amplifiers (SA) with low input swing signal for enabling ultra low energy read operation in SRAM is limited by the offsets of SA transistors. Upsizing the transistors [3] in order to mitigate these offsets directly maps into increased energy of the SA. 
     SUMMARY OF CERTAIN INVENTIVE ASPECTS 
     Certain inventive aspects relate to a memory circuit showing a reduced power consumption. 
     In one aspect, a variation on SA redundancy is presented. Compared to traditional memory design, in which a single SA per global bit line is designed for a certain failure rate f r , the single SA is replaced with several different sized SAs which may collectively have the same or a less failure rate f r . By selecting a good combination of sizes the energy consumption and the chances of failure can be decreased. Using this technique energy can be minimized for a target yield. 
     Offsets of a SA are the result of global and local variation in their devices. The impact of global variations can be mitigated by using a differential architecture for the SA. However, to guard against local variations, amidst low input signal sensing, a larger SA may be needed. Scaling up a SA however directly leads to an increased dynamic energy consumption. This can drastically increase the read energy for SRAM when the word length is long. This problem can be overcome by using N different sized SA on each global bit-line. In one aspect, each global bit-line is connected to N SAs of different sizes instead of single SA, and a calibration is performed to evaluate for each bit-line the smallest among the SAs which does not fail. 
     In one aspect, the calibration circuitry of the memory circuit comprises a register for storing per bit-line the selection of which among the SAs is to be used. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The invention will be further elucidated by means of the following detailed description and the accompanying drawings. 
         FIG. 1  shows the principle of multi-sized SA redundancy used in memory circuits according to one embodiment. 
         FIG. 2  shows a comparison of one embodiment with prior art calibration techniques. 
         FIG. 3  shows the optimal results for asymmetric SA redundancy with N=2, with energy and area normalized to those of a traditional SA with identical input signal and f r . 
         FIG. 4  shows the optimal results for asymmetric SA redundancy with N=3, with energy and area normalized to those of a traditional SA with identical input signal and f r . 
         FIG. 5  shows the optimal results for asymmetric SA redundancy with N=4, with energy and area normalized to those of a traditional SA with identical input signal and f r . 
         FIG. 6  shows a part of an embodiment of a memory circuit with 2 different sized SAs (n 1 =2-sigma, n 2 =6-sigma). 
         FIG. 7  shows the redundant SA organization for N=2 with n 1 =2-sigma n 2 =6-sigma for memory word length of 64 bits. 
         FIG. 8  shows an embodiment of a memory architecture. 
         FIG. 9  shows an overview and the operation of a local bit-slice of the memory architecture of  FIG. 8  during a read operation. 
     
    
    
     DETAILED DESCRIPTION OF CERTAIN ILLUSTRATIVE EMBODIMENTS 
     As used herein, “yield” is intended to mean the semiconductor fabrication yield, i.e. the proportion of devices produced in a semiconductor fabrication process which function correctly. The yield is expressed as a multiple of “sigma”, for example a six-sigma process is one in which 99.99966% of the products manufactured are statistically expected to be free of defects (3.4 defects per million). 
     As used herein, “failure rate” is intended to mean the proportion of devices which fail. The failure rate is inversely proportional to the yield. 
     As used herein, “differential bit-line” is intended to mean a pair of bit-lines wherein one is the electronic counterpart with respect to the other. For example, if the one is set to a logical “1”, the other is set to a logical “0” and vice versa. 
     A sense amplifier (SA) is a circuit that resolves a small input voltage difference applied to its input terminals to a full voltage level output. The READ sense amplifier is designed to sense low voltage swing on the input terminals. The smaller the swing that can be resolved by the sense amplifier, the lesser the energy consumption involved in charging and discharging large capacitance associated with the bit-lines. A better sense amplifier design also reduces the memory access time, as an accessed cell has to develop a smaller swing. 
     Ultra low energy SRAM&#39;s for L1 data/instruction memory are becoming increasingly vital to meet the energy limitations of the energy scavenging wireless sensor nodes. Herein, it is shown that multi-sized SA redundancy can be used for the global read sense amplifiers (GSA) to accommodate process variation and achieve an ultra low energy access for the target yield. 
     The design of global read sense amplifiers is critical to achieve the low energy target at an acceptable yield. The minimal global bit line (GBL) swing that can be resolved reliably is limited by the offset of the SA caused by intra die transistor variations. In traditional SA design this offset is reduced by increasing the size of the critical transistors [3], which directly maps into increased dynamic energy consumption. This is becoming quite problematic, especially for memories with large word length designed in DDSM technologies. According to one embodiment, the problem is remedied by using multi-sized SA redundancy which is different from traditional SA redundancy [4]. In the traditional memory design there is a single SA per global bit line designed for a certain failure rate f r . In [4] this single SA is replaced by set of N equal sized smaller SAs. There is a separate calibration phase to find a working SA from the set. Then only this selected SA is activated during the READ operation. In multi-sized SA redundancy, which is the principle of one embodiment ( FIG. 1   a ), the single global SA is replaced with a set of different sized SAs, which may collectively have the same or even less f r  with respect to the prior art single SA devices. By using a good combination of sizes both the energy consumption and the chances of failure can be reduced. 
     a) General Description of Certain Embodiments 
     When energy is more important than area, it is beneficial to use different sizes for the SAs. For example, assume a setup with one small SA SA1 and one big SA SA2. If the small SA is designed with an allowed failure rate of f r1 =5%, its nf r1 ≈2, and its energy consumption is about (6/2) 2 =9 times smaller than that of a SA that is designed for a failure rate of 2·10 −9 . If the redundant SA is designed for this very small failure rate, the combination will work almost for sure. On average (over many different instances), the energy consumption will be 
     
       
         
           
             
               
                 
                   
                     
                       
                         
                           E 
                           avg 
                         
                         = 
                           
                          
                         
                           
                             
                               p 
                               1 
                             
                             · 
                             
                               E 
                               1 
                             
                           
                           + 
                           
                             
                               p 
                               2 
                             
                             · 
                             
                               E 
                               2 
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           
                             95 
                              
                             % 
                              
                             
                                 
                             
                              
                             
                               
                                 E 
                                 big 
                               
                               9 
                             
                           
                           + 
                           
                             5 
                              
                             % 
                              
                             
                                 
                             
                              
                             
                               E 
                               big 
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           0.16 
                            
                           
                             E 
                             big 
                           
                         
                       
                     
                   
                 
               
               
                 
                   Equation 
                    
                   
                       
                   
                    
                   1 
                 
               
             
           
         
       
     
     Even with these random choices, the average energy consumption is lower than for symmetrical SA redundancy with N=4. Below, a more complete description of asymmetric SA redundancy is presented. 
     N redundant SAs are used, with failure rates f r1  . . . f rN . The indices are sorted on SA size so that the smallest SA has index 1. The failure rate after applying redundancy, f r , is 
     
       
         
           
             
               
                 
                   fr 
                   = 
                   
                     
                       P 
                        
                       
                         [ 
                         
                           all 
                            
                           
                               
                           
                            
                           N 
                            
                           
                               
                           
                            
                           SAs 
                            
                           
                               
                           
                            
                           fail 
                         
                         ] 
                       
                     
                     = 
                     
                       
                         ∏ 
                         
                           i 
                           = 
                           1 
                         
                         N 
                       
                        
                       
                         fr 
                         i 
                       
                     
                   
                 
               
               
                 
                   Equation 
                    
                   
                       
                   
                    
                   2 
                 
               
             
           
         
       
     
     For our example with N=2, f r =2·10 −9  and f r 1=5%, we should use f r2 =(f r /f r1 )=4·10 −8 . This means that n 2 =5.5 instead of n 2 =6.1. 
     The probability that SA i of a redundant group is used, is called pi. If the smallest SA works, it will be used: 
         p   1   =P[SA   1 works]=1 −P[SA   1 fails]=1 −fr   1   Equation 3
 
     The second SA is used only if it works correctly and the first SA does not work. These events are assumed to be independent, so 
     
       
         
           
             
               
                 
                   
                     
                       
                         
                           p 
                           2 
                         
                         = 
                           
                          
                         
                           P 
                            
                           
                             [ 
                             
                               
                                 
                                   
                                     SA 
                                     1 
                                   
                                    
                                   
                                     
                                         
                                     
                                      
                                     
                                         
                                     
                                   
                                    
                                   fails 
                                 
                                 &amp; 
                               
                                
                               
                                   
                               
                                
                               
                                 SA 
                                 2 
                               
                                
                               
                                   
                               
                                
                               works 
                             
                             ] 
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           
                             P 
                             [ 
                             
                               
                                 SA 
                                 1 
                               
                                
                               
                                 
                                     
                                 
                                  
                                 
                                     
                                 
                               
                                
                               fails 
                             
                             ] 
                           
                           · 
                           
                             P 
                              
                             
                               [ 
                               
                                 
                                   SA 
                                   2 
                                 
                                  
                                 
                                     
                                 
                                  
                                 works 
                               
                               ] 
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           
                             fr 
                             1 
                           
                           · 
                           
                             ( 
                             
                               1 
                               - 
                               
                                 fr 
                                 2 
                               
                             
                             ) 
                           
                         
                       
                     
                   
                 
               
               
                 
                   Equation 
                    
                   
                       
                   
                    
                   4 
                 
               
             
           
         
       
     
     In general, the i th  SA is used if all small SAs fail and the i th  SA itself works correctly. 
     
       
         
           
             
               
                 
                   
                     P 
                     i 
                   
                   = 
                   
                     
                       ( 
                       
                         
                           ∏ 
                           
                             j 
                             = 
                             1 
                           
                           
                             i 
                             - 
                             1 
                           
                         
                          
                         
                           fr 
                           j 
                         
                       
                       ) 
                     
                     · 
                     
                       ( 
                       
                         1 
                         - 
                         
                           fr 
                           i 
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   Equation 
                    
                   
                       
                   
                    
                   5 
                 
               
             
           
         
       
     
     These probabilities do not add up to 1, as there is still a probability f r  that there is no working SA in the redundant group. In the following graphs, this remaining failure probability f r  is added to p N , the probability that the largest SA is used. 
     
       
         
           
             
               
                 
                   
                     p 
                     N 
                   
                   = 
                   
                     1 
                     - 
                     
                       ( 
                       
                         
                           ∑ 
                           
                             j 
                             = 
                             1 
                           
                           
                             N 
                             - 
                             1 
                           
                         
                          
                         
                           fr 
                           j 
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   Equation 
                    
                   
                       
                   
                    
                   6 
                 
               
             
           
         
       
     
       FIG. 3  shows the results of a numerical optimization for N=2. For each f r , a sweep over all possible values for f r1  is performed, the corresponding f r2  is obtained from equation 6. The value of f r1  that minimizes E avg  was selected. The area consumption is slightly smaller than for a traditional SA if the calibration overhead can be ignored. The energy consumption can be significantly reduced. At f r =10 −9 , the relative energy consumption is 0.14, comparable to symmetrical redundancy with N=5 (ignoring overhead). 
     The same exercise was performed for N=3. In this case, a sweep is performed over f r1  and f r2 , and f r3  is obtained from equation 6. The results are shown in  FIG. 4 . At f r =10 −9 , the relative energy consumption is 0.061, comparable to symmetrical redundancy with N=10 (ignoring overhead). 
     The same exercise was performed for N=4. In this case, a sweep is performed over f r1 , f r2  and f r3 , and f r4  is obtained from equation 6. The results are shown in  FIG. 5 . At f r =10 −9 , the relative energy consumption is 0.035, comparable to symmetrical redundancy with N=15 (ignoring overhead). 
     b) Results 
     In the design of  FIG. 1   b  a traditional SA designed for 6σ yield is replaced by a group of 2 SAs. The smaller one is designed for 2σ yield; hence its energy consumption is 9 times smaller than that of the traditional single SA designed for 6σ yield. The bigger SA in a group is designed for 6σ yield. This doublet provides better yield than the single traditional SA, while on average energy consumption is 6 times smaller than that of the single traditional SA. The area overhead of multi-sized SA redundancy compared to traditional SA is 30%. As this design uses extended global bit lines [5], only 1 set of global SAs is required and this area overhead is not a major issue. 
     The energy consumption reduction achieved with N multi-sized SA redundancy is much higher compared ( FIG. 2 ) to N fold Symmetric SA redundancy [4]. 
     c) Example 
     Below, an example of a memory architecture is presented in which the above described principle is applied. The memory matrix consists of 512 by 256 cells. The matrix is divided into 4 columns ( FIG. 8 ). Each column consists of 64 rows of word blocks. The word block consists of 4 masking blocks, each controlling  16  local bit slices. A local bit slice consists of 8 6 T SRAM cells, a local sense amplifier, a gated read buffer, write and pre-charge circuitry. The 11 address bits are decoded with static AND-AND decoders into 512 global word lines (GWLs), 4 column selects (CS) and 8 within block row selects (WBRS). Each row of the memory matrix has its own GWL which is combined with Activate Block signal to generate a local word line (LWL) signal for each individual word. 
     The Local Bit Slice Architecture is shown in the  FIG. 9 . It consists of 8 SRAM cells, local sense amplifier, gated read buffer, write multiplexer and the local pre-charge 
     circuitry. The number of SRAM cells (i.e. 8 cells) is selected to achieve minimal energy consumption. The local sense amplifier used during READ operation is also employed as a write receiver during the WRITE operation. 
     The minimum sized high VT accessed SRAM cell creates a small voltage difference of about 150 mV on the short LBL ( FIG. 9 ). The LSA resolves this voltage difference by pulling the local bit-line for the “0” stored side of the SRAM cell to VSS and the local bit-line for the other side to VDD. Then the gated read buffer is enabled, thereby transferring the local bit-line information to the global bit-line (VGBL) to be sensed by the global sense amplifier (VGSA). The VGBLs are grouped in multiplexed subsets, connected to the VGSA via the bitline multiplexers. The selection which VGBL signal is to be passed on to the VGSA is done using the column select CS. The VDD/2 pre-charged local bitline scheme enables charge re-cycling. The gated read buffer is enabled only for a limited period during the READ operation, reducing the static energy consumption. 
     In the design of  FIG. 8 , the high power consumption of SA can be remedied by using the multi-sized SA redundancy (MS-SA-R) of  FIG. 1  for the global SA. In particular, a traditional S.A designed for 6σ yield is replaced by a set of 2 SAs. The smaller one is designed for 2σ yield, the bigger SA in a set is designed for 6σ yield. 
     More in general, there is quadratic relationship between the size (area) of the SAs depending on the desired yield. So a 2σ yield SA is generally 9 times smaller than a 6σ yield SA. For 2 SAs, the relationship can be written as follows: 
         Sn 2=( n 2 /n 1) 2   ×Sn 1 
     wherein
 
n1=the yield of the smaller sense amplifiers;
 
n2=the (higher) yield of the larger sense amplifiers;
 
Sn1=area of the first sense amplifiers, designed for the first yield n1;
 
Sn2=area of the larger sense amplifiers, designed for the second yield n2.
 
     In case three redundant SAs are used, the relationship becomes: 
         Sn 2=( n 2 /n 1) 2   ×Sn 1 
         Sn 3=( n 3 /n 2) 2   ×Sn 2 
         n 3 &gt;n 2 &gt;n 1 
         n 1 ×n 2 ×n 3 =ng    
     wherein
 
n3=the (higher) yield of the largest sense amplifiers;
 
ng=a target yield for the whole redundant group of sense amplifiers;
 
Sn3=area of the largest sense amplifiers, designed for the third yield n4.
 
     d) Calibration 
     During a calibration phase, it is determined which of the redundant SAs can be used. More particularly, it is desired to use each time the smallest available SA which does not fail. The calibration is done as follows ( FIGS. 1 and 7 ): 
     Step 1) Initially only the 6-sigma sized SA are selected {Act — 6-sigma high} and the data stored is successfully read. 
     Step 2) Then the 6-sigma sized SA are disabled and all the 2-sigma sized SA are enabled {Act — 2-sigma high &amp; Act — 6-sigma low} &amp; the READ operation is performed. Failing bit locations are identified. For example, when reading a 64 bit word with bit locations 2, 5, 31, &amp; 64 are erroneous (by comparing with the information read in step 1), then for the doublet numbers 2, 5, 31 &amp; 64 the 6-sigma SA is enabled and for the other doublets the 2-sigma SAs are enabled for READ operations. 
     Step 3) For the purposes of checking, a READ operation is performed with Act — 2-sigma high except for the number 2, 5, 31 &amp; 64 doublets for which Act — 6-sigma is made high. 
     Step 4) If step 3 confirms step 2, then the selection bits will be loaded in the shift register (not shown), which precedes AND selection logic. In the example with the 2-sigma SAs of doublet numbers 2, 5, 31 &amp; 64 failing, this means that the following selection is stored: 
     (1011011111111111111111111111011111111111111111111111111110) 
     wherein 0 represents Act — 6-sigma high and 1 represents Act — 2-sigma high 
     These values will be used for the memory accesses, till the next calibration phase. The next calibration phase is decided based on the user application. For example, calibration can be triggered if the operating temperature changes by 5° C. 
     The foregoing description details certain embodiments of the invention. It will be appreciated, however, that no matter how detailed the foregoing appears in text, the invention may be practiced in many ways. It should be noted that the use of particular terminology when describing certain features or aspects of the invention should not be taken to imply that the terminology is being re-defined herein to be restricted to including any specific characteristics of the features or aspects of the invention with which that terminology is associated. 
     While the above detailed description has shown, described, and pointed out novel features of the invention as applied to various embodiments, it will be understood that various omissions, substitutions, and changes in the form and details of the device or process illustrated may be made by those skilled in the technology without departing from the spirit of the invention. The scope of the invention is indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope. 
     Each of the following references is incorporated herein by reference in its entirety.
     [1] S. Cosemans, W. Dehaene, F. Catthoor, “A 3.6 pJ/Access 480 MHz, 128 kb On-Chip SRAM With 850 MHz Boost Mode in 90 nm CMOS With Tunable sense amplifiers,” IEEE J. Solid-State Circuits, pp. 2065-2077, July 2009.   [2] B. D. Yang &amp; L. S. Kim, “A Low-Power SRAM Using Hierarchical Bit Line and Local sense amplifiers,” IEEE J. Solid-State Circuits, pp. 1366-1376, June 2005.   [3] M. J. M. Pelgrom, A. C. J Duinmaijer, A. P. G. Welbers, “Matching properties of MOS transistors,” IEEE J. Solid-State Circuits, pp 1433-1439, October 1989.   [4] N. Verma, A. Chandrakasan, “A 256 kb 65 nm 8 T Subthreshold SRAM employing Sense-Amplifier Redundancy,” IEEE J. Solid-State Circuits pp. 141-149, January 2008.   [5] S. Cosemans, W. Dehaene, F. Catthoor, “A Low-Power Embedded SRAM for Wireless Applications,” IEEE J. Solid-State Circuits, pp. 1607-1617, July 2007.