The present invention relates generally to integrated circuit memory devices and, more particularly, to a high performance, domino Static Random Access Memory (SRAM) in which the core cells of the memory are segmented into subarrays accessed by local bit lines connected to global bit lines, with an interface between dual read and write global bit line pairs and local bit line pairs.
As will be appreciated by those skilled in the art, in a domino SRAM, the individual cells do not employ sense amplifiers to sense the differential voltage on the bit line pairs coupled to the cross-coupled inverters that store the data. Rather, for a domino SRAM, the local bit line is precharged, discharged, and the discharge is detected. The local bit line, the means to precharge the local bit line, and the detector define a dynamic node of the domino SRAM. More detailed information regarding the construction and operation of domino SRAMs may be found in U.S. Pat. Nos. 5,729,501 and 6,657,886, both assigned to the assignee of this application, and incorporated herein by reference.
In addition, U.S. Pat. No. 6,058,065, also assigned to the assignee of this application and incorporated herein by reference, discloses a memory array in which the core cells are organized in subarrays accessed by local bit lines connected to global bit lines. U.S. Pat. No. 7,113,433, also assigned to the assignee of this application and incorporated herein by reference, discloses a domino SRAM with one pair of global bit lines for a read operation and another pair of global bit lines for a write operation. An advantage of having two global bit line pairs is better overall performance in terms of faster reading from and writing to the memory cells. However, it is important that the interface from the global bit lines to the local bit line pairs does not detract from these performance gains.
In an exemplary embodiment, a global to local bit line interface circuit for domino static random access memory (SRAM) devices includes a pair of complementary global write bit lines in selective communication with an array of SRAM cells through corresponding local write bit lines, the complementary global write bit lines configured to write a selected SRAM cell with write data presented on a pair of complementary write data input lines; a pair of complementary global read bit lines in selective communication with the array of SRAM cells through corresponding local read bit lines, the complementary global read bit lines configured to read data stored in a selected SRAM cell and present the read data on a pair of complementary read data output lines; and write-around logic configured to directly couple the write data presented on the complementary global write bit lines to read data output circuitry associated with the complementary global read bit lines.
In another embodiment, a method of implementing reading and writing data in domino static random access memory (SRAM) devices includes selectively coupling a pair of complementary global write bit lines in with an array of SRAM cells through corresponding local write bit lines, the complementary global write bit lines configured to write a selected SRAM cell with data presented on a pair of complementary write data input lines; selectively coupling a pair of complementary global read bit lines with the array of SRAM cells through corresponding local read bit lines, the complementary global read bit lines configured to read data stored in a selected SRAM cell and present the read data on a pair of complementary read data output lines; and configuring write-around logic to directly couple the write data presented on the complementary global write bit lines to read data output circuitry associated with the complementary global read bit lines.
Referring to the exemplary drawings wherein like elements are numbered alike in the several Figures:
Disclosed herein is a global bit select circuit for domino read SRAM devices that interfaces with a local bit select circuit (or group of local bit select circuits), and that uses a dual bit line approach. That is, one bit line pair is used for read operations and another bit line pair is used for write operations. More specifically, the global bit select circuit embodiments presented herein provide write-around capability. That is, the global bit select circuit has the ability to send input data directly to the outputs while bypassing the global and local read bit lines during a write operation.
Referring initially to
In a standby state, the local bit lines are precharged to a logic high level. Then, for a read mode, the active memory cell (from either the top or bottom sub array) pulls down on one of the local bit lines, depending on the value of the data stored on the cell. The active low bit line, through the corresponding OR gate of block 106, turns on one of the wired OR NFETs 108 to pull down the corresponding global read bit line (GRBC or GRBT). By arranging the cells around a central point of the OR logic 106, the RC delay on the local bit lines is reduced since the distance to the furthest cell has been reduced by half. This improves the write performance as well as the read access time of the subarray.
The local bit select circuits 102, in addition to providing the read signal transfer, also provide the write control function. As further shown in
Referring now to
In operation, when the Global_Reset signal is active low (as opposed to high during standby and read/write operations), PFET transistors P10/P11 restore the global write bit lines, while PFET transistors P3/P14 restore the global read bit lines. In addition, two pairs of cross-coupled “keep-quiet” PFET transistors (P0/P1 and P8/P9) are connected to the global read and write bit lines, respectively. When one side of the bit lines is pulled low during a read or a write operation, the corresponding PFET is turned on so to hold the opposite side of the bit line high (that is, keeping it in a quiet up level). In so doing, these cross-coupled “keep-quiet” PFETs maintain glitch-free (noise-free) read and write operations.
The Global_Column_Select input (coming from the bit decode circuitry, not shown in
In a read mode of operation, the Global_Reset signal is first switched high, turning off the pre-charge PFETs. The Global_Column_Select input is then activated while the Global_Write_Control input is kept low (low for reading and high for writing). In so doing, the bottom NFETs (N8, N7) of the NFET stacks 302 coupled to the true and complement read data output bus become activated via the inverter pair P2/N2 and P5/N12, and will allow discharge of either Read_Data_Out_C or Read_Data_Out_T, depending on the state of the cell data. Concurrently, the common gate node 304 coupled to N3 and N4 of the circuit is kept low by the inactive Global_Write_Control signal to disable write NFETs N3/N4.
Thus, for the specific case where a “1” is read from the memory cell, Global_Read_Bitline_T will remain high, whereas Global_Read_Bitline_C will discharge. This in turn causes the output of inverter P12/N1 to go high and activate NFET N9, thereby discharging Read_Data_Out_C. Conversely, because Global_Read_Bitline_T remains high when reading a “1”, the output of inverter P13/N0 remains low, keeping NFET N10 inactive and preventing the precharged Global_Read_Bitline_T from discharging. As a result, the correct complementary data is output from Global_Read_Bitline_T and Global_Read_Bitline_C.
In a write mode of operation, the Global_Reset signal is first deactivated by going high (as in the read mode), while the write data inputs (Write_Data_In_C/Write—Data_In_T) are presented with write data thereon. That is, one of the precharged Write_Data_In_C/Write_Data_In_T lines is pulled low while the other remains in the precharged high state. Then, both the Global_Column_Select and the Global_Write_Control inputs are both activated. Thus, in addition to driving node 304 high and activating the writing NFETs N3/N4, the bottom NFETs (N8, N7) of the NFET stacks 302 coupled to the true and complement read data output bus also become activated in the write mode.
For a specific case where a “0” is to be written to the memory cell, for example, the Write_Data_In_T signal is held low, pulling down Global_Write_Bitline_T through N3. Because Write_Data_In_C is held high, Global_Write_Bitline_C will not discharge through N4 and instead remain high. This state of the global write bit lines is passed to the local bit select circuit (not shown in
It is thus possible that during a write operation, if the word line rises before the global write bit line signal, the cell will begin to read by initially pulling down one of the local bit lines. Then as the write operation proceeds, the other bit line may also be pulled down (if the write operation is intended to write opposite data into the cell), leaving both Read_Data_Out_C and Read_Data_Out_T in an active, discharging state in turn resulting in a metastable “X” state at the output of the global bit select circuit. Such a condition is referred to herein as a Fast Read Before Write (FRBW).
For purposes of clarity, similar components of the global to local bit select circuit 400 with respect to that of
In the exemplary circuit 400 of
In a standby state, the Global_Column_Select signal is deactivated, which initially charges node 408 high. In order to maintain stability of the node 408, the dynamic NAND gate 410 includes a feedback mechanism wherein an inverter 412 initially causes a keeper PFET 414 to maintain the node 408 at logic high potential. Thus, in a read mode of operation, when Global_Column_Select goes high while Global_Write_Control stays off, the keeper PFET 414 holds node 408 high. Consequently, since node 408 is high in the read mode, the outputs of NOR gates 406 are low, in turn rendering the outputs of NOR gates 404 high (by virtue of the low output of inverter 402). The NFET stacks 302 of the circuit 400 are thus ready to read out the cell data.
In the write mode, both the Global_Write_Control signal and the Global_Column_Select signal are active high. As node 408 begins to be pulled to ground, inverter 412 in the dynamic NAND gate 410 begins to deactivate keeper PFET 414 until it no longer opposes the discharge of node 408. Once node 408 is discharged, the differential input write data will be coupled to GWBC and GWBT by NOR gates 406. Upon one of GWBC and GWBT becoming charged to logic high, the corresponding one of the NFET stacks 302 will be deactivated. Thus, the end result is to prevent a condition where both Read_Data_Out_C and Read_Data_Out_T are being discharged as a result of a Fast Read Before Write scenario.
During a traditional “write-through” operation, input data is sent to a global bit select circuit. This data then propagates to local column circuitry (i.e., local bit select circuits), and is presented to a selected memory cell before being sent back down to the global bit select circuit by way of the global read bit lines. It is desirable, however, to save time by getting this input data more quickly to the output circuits without the need for the local bit select circuitry to resend the data back to the global bit select circuitry, thereby speeding up write-through performance. On the other hand, it is also desirable to be able to achieve this improved performance without the need for adding new critical timing path or clock circuits.
Accordingly,
For a normal read operation, the global write bit line pair is precharged low, and the inverted logic high outputs therefrom serve as a control bit to the opposing NAND gate 502. That is, the NAND gates 502 reduce to an inverter function for the data coming from the global read bit line pair (GRBC, GRBT). In this instance, the circuit 500 reads selected cell data as described above.
However, for a write mode, the initially precharged high global read bit line pair (GRBC, GRBT) serve as control bits to the respective NAND gates 502, reducing them to an inverter function for the data on the global write bit line pair (GWBC, GWBT). This enables the complementary write data pair on GWBC, GWBT to be immediately passed to the read data output NFET stacks 302 without having to travel up the global/local write bit lines, to the data cell, and back down the local/global read bit lines. Moreover, this write through capability is implemented with no additional gate delays and with only a minor loading impact using a NAND gate instead of an inverter on the global read bit lines.
In the event that a traditional write-through function is still desired, such as for circuit testing for example, an additional circuit modification may be provided such that write-around function is switched off. In this regard,
When the control signal 604 is logic high (i.e., the write-around capability), the NAND gates 602 reduce to inverters as shown in
While the invention has been described with reference to a preferred embodiment or embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5630091 | Lin et al. | May 1997 | A |
5729501 | Phillips et al. | Mar 1998 | A |
5806084 | Lin et al. | Sep 1998 | A |
6002633 | Oppold et al. | Dec 1999 | A |
6047359 | Fouts | Apr 2000 | A |
6058065 | Lattimore et al. | May 2000 | A |
6091629 | Osada et al. | Jul 2000 | A |
6529519 | Steiner et al. | Mar 2003 | B1 |
6633501 | Wedel | Oct 2003 | B2 |
6657886 | Adams et al. | Dec 2003 | B1 |
6876595 | Bhavnagarwala et al. | Apr 2005 | B2 |
7065613 | Flake et al. | Jun 2006 | B1 |
7102946 | Pelella | Sep 2006 | B2 |
7113433 | Chan et al. | Sep 2006 | B2 |
7170774 | Chan et al. | Jan 2007 | B2 |
7272030 | Chan et al. | Sep 2007 | B2 |
7293209 | Chan et al. | Nov 2007 | B2 |
7305602 | Chan et al. | Dec 2007 | B2 |
7336546 | Chan et al. | Feb 2008 | B2 |
7356656 | Chang | Apr 2008 | B1 |
7420858 | Joshi | Sep 2008 | B2 |
7463537 | Chan et al. | Dec 2008 | B2 |
7478297 | Chan et al. | Jan 2009 | B2 |
7535776 | Behrends et al. | May 2009 | B1 |
7596050 | Scheuerlein et al. | Sep 2009 | B2 |
7975109 | McWilliams et al. | Jul 2011 | B2 |
20040083329 | Osada et al. | Apr 2004 | A1 |
20060268656 | Yokoyama | Nov 2006 | A1 |
20070127305 | Imai et al. | Jun 2007 | A1 |
20080056052 | Chan et al. | Mar 2008 | A1 |
20080247246 | Joshi | Oct 2008 | A1 |
20080298137 | Chan et al. | Dec 2008 | A1 |
20080301256 | McWilliams et al. | Dec 2008 | A1 |
20080310246 | Joshi et al. | Dec 2008 | A1 |
20090154213 | Kim et al. | Jun 2009 | A1 |
20090285009 | Kim et al. | Nov 2009 | A1 |
20100214857 | Hsu et al. | Aug 2010 | A1 |
20100220531 | Shinagawa et al. | Sep 2010 | A1 |
20110211400 | Chan et al. | Sep 2011 | A1 |
20110211401 | Chan et al. | Sep 2011 | A1 |
Number | Date | Country |
---|---|---|
2008150927 | Dec 2008 | WO |
Entry |
---|
A. R. Pelella et al.; “A 8Kb Domino Read SRAM with Hit Logic and Parity Checker;” ESSCIRC, Grenoble, France 2005; pp. 359-362. |
Number | Date | Country | |
---|---|---|---|
20130272057 A1 | Oct 2013 | US |