This invention relates generally to semiconductor chips, and more specifically to an SRAM (Static Random Access Memory) having a data dependent write assist feature.
A semiconductor chip comprises an SRAM (static random access memory) having a data dependent write assist to provide increased write performance.
During write of an SRAM cell, true and complement bit lines are driven to “1” and “0” (or “0” and “1”) depending on a logical value to be written to the SRAM cell. A word line turns on pass gates, and the logical value driven on the true and complement bits lines are written through the pass gates into a data retention circuit comprising cross coupled inverters in the SRAM cell. During a write, a circuit driving a bit line low (“0”) must compete, for a while, with an inverter of the cross coupled inverters driving “1” until overcome, assuming that data in the SRAM cell is being changed.
In an embodiment of the invention, a voltage supply of a first inverter is reduced if a “0” is going to be driven onto a first bit line (e.g., the true bit line) that is connected, through a pass gate, to an output of the first inverter. Drive capability of the first inverter is reduced by the reduced voltage supply, making it faster for the circuit driving the first bit line to write data into the SRAM cell. Similarly, if a second bit line (e.g., the complement bit line) is driven low (“0”), a voltage supply of a second inverter is reduced, thereby making the second inverter easier to overcome.
In the following detailed description of embodiments of the invention, reference is made to the accompanying drawings, which form a part hereof, and within which are shown by way of illustration specific embodiments by which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the invention.
Embodiments of the present invention provide a data dependent SRAM (static random access memory) write assist in an SRAM on a semiconductor chip. The data dependent SRAM write assist provides for improved (faster) write times when data is being written to the SRAM.
With reference now to
SRAM 20 comprises one or more SRAM cells 110. SRAM cell 110 further comprises cross coupled inverters 111 and 112 to store a bit of data. N1 and N2 are coupled to a word line WL. When WL is activated, N1 and N2 turn on and couple bit lines BLT (bit line true) and BLC (bit line complement) to the cross coupled inverters 111 and 112. Inverter 111 drives node 116; inverter 112 drives node 115. During a write, BLT and BLC are driven to “0” and “1” (or “1” and “0”, depending on a logical value to be written into SRAM cell 110).
Typically in an SRAM 20, WL is connected to a number (e.g., 32, 64, 128, and so on) of SRAM cells 110, although only a single SRAM cell 110 is shown for simplicity. Likewise, bit lines BLT and BLC are typically connected to a number (e.g., 32, 64, 128, and so on) of SRAM cells 110; again, only a single SRAM cell 110 is shown for simplicity. Vdd1 and Vdd2 are connected to each SRAM cell 110 that BLT and BLC are connected to.
Data dependent write assist circuit 120 drives BLT and BLC when WR_EN (write enable) is active (“1”).
When DT (data true) is “1”, DC (data complement) is “0”. DT will turn on N5; DC, being “0”, will have N6 turned off. BLC will be pulled low “0” through N5 and N7. N1, activated by WL being “1”, will need to overcome current driven from inverter 112, assuming that inverter 112 is driving a “1” (that is, a bit stored in SRAM cell 110 is being changed). BLC will need to pull node 115 low enough to cause inverter 111 to drive a “1” instead of a “0”. If inverter 112 were already driving a “0” data stored in SRAM cell 110 is not being changed. Similarly, if DT is “0”, DC will be “1”; BLT will be driven to “0” through N6 and N7, and an output of inverter 111 must be overcome (assuming data in SRAM cell 110 is being changed) to write the “0” in SRAM cell 110.
P5, P6, P7, and P8 in data dependent write assist circuit 120 drive BLT and BLC to Vdd when WR_EN is “0” and RD (read) is “0”, thereby precharging BLT and BLC to Vdd. When WR_EN is “0” (not writing data) and RD is “1” (read data), BLT and BLC are driven only by cross coupled inverters 111 and 112 through N1 and N2, and a sense amplifier coupled to BLT and BLC determines whether a logical “1” or a logical “0” is stored in SRAM cell 110.
Data dependent write assist circuit 120, during a write (WR_EN=“1”) drives either Vdd or Vwr on Vdd1, and, at the same time, drives Vwr or Vdd onto Vdd2, depending upon whether data to be written to SRAM cell 110 is a “1” or a “0”. Vwr is a lower voltage than Vdd. Vwr will be supplied to either inverter 112 or inverter 111 depending on DT and DC.
Assume that DT=“1” (and, therefore, DC=“0”) during a write. NAND 121 will receive a “1” from WR_EN and a “1” from DT; NAND 121 will respond by driving a “0” to P1 thereby connecting Vwr to Vdd1. Inverter 123 will output a “1” to P2, isolating Vdd from Vdd1. Inverter 112 will therefore have a reduced voltage supply and will, therefore, be easier to pull down through N1, N5 and N7.
Similarly, when DT=“0” (and, therefore, DC=“1”) during a write, NAND 122 will drive a “0”, turning on P3 and, through inverter 124, turn off P4, thereby driving Vwr instead of Vdd onto Vdd2 and making inverter 111 easier to overcome through N2, N6 and N7.
For exemplary purposes, SRAM cell 110 is shown having NFET pass gates (N1, N2). This is a conventional SRAM cell using current technologies. It is contemplated that an SRAM cell may also be made having PFET pass gates. In such an embodiment, to write data into cross coupled inverters 111, 112, a bit line (BLT, BLC) would have to overcome an output of 111, or 112 by pulling upwards, through a PFET pass gate, rather than pulling an output of 111 or 112 down. In general, “overcoming” an inverter is needed to change data stored in the cross coupled inverters. It will also be understood that, in the variant embodiment using PFET pass gates, reducing a supply voltage to make inverter 111 or 112 easier to overcome may also be implemented by raising a “ground” voltage supply to the inverter which is to be overcome, versus reducing a Vdd supply (such as Vwr instead of Vdd) to that inverter.
Turning now to
P1, P2, P3, and P4 (
Embodiments of the invention may be expressed as methods.
In block 404, an SRAM is created, comprising, for each bit to be stored in the SRAM, a first inverter (such as inverter 111 in
In block 406, circuitry determines, during a write, whether the first inverter or the second inverter must be overcome to write data into the cross coupled inverters. If it is determined that the first inverter must be overcome, in block 408 a supply voltage connected to the first inverter is reduced, making the first inverter easier to overcome. If it is determined in block 406 that the second inverter is to be overcome, then in block 410 a supply voltage connected to the second inverter is reduced, making the second inverter easier to overcome.
Block 412 ends method 400.
Number | Name | Date | Kind |
---|---|---|---|
5303190 | Pelley, III | Apr 1994 | A |
5939762 | Lien | Aug 1999 | A |
6584030 | Marr | Jun 2003 | B2 |
7324368 | Wang et al. | Jan 2008 | B2 |
7643357 | Braceras et al. | Jan 2010 | B2 |
7817481 | Adams et al. | Oct 2010 | B2 |
7817490 | Sridhara | Oct 2010 | B1 |
7835217 | Su et al. | Nov 2010 | B1 |
7852661 | Liu | Dec 2010 | B2 |
7864617 | Kenkare | Jan 2011 | B2 |
7885124 | Koike et al. | Feb 2011 | B2 |
8045402 | Yeung | Oct 2011 | B2 |
8218390 | Nii et al. | Jul 2012 | B2 |
8320164 | Chuang et al. | Nov 2012 | B2 |
20030043677 | Marr | Mar 2003 | A1 |
20090207650 | Braceras et al. | Aug 2009 | A1 |
Entry |
---|
Technical Disclosure, IPCOM000159723D, dated Oct. 26, 2007, entitled, “Stable SRAM Cell Topologies”. |
Number | Date | Country | |
---|---|---|---|
20120281457 A1 | Nov 2012 | US |