The present application claims priority to India Provisional Patent Application No. 4279/CHE/2014, filed Sep. 2, 2014, which is hereby incorporated herein by reference in its entirety.
Static random access memory (SRAM) is memory that utilizes latching to store each bit. Because SRAM is static, there is no need to periodically refresh the memory; the transistors inside continue to hold the data as long as the power supply is not cut off. Although SRAM does not require additional circuitry and timing needed to periodically refresh the memory and thus it may consume less power than memory that needs periodic refreshing (i.e., dynamic random access memory (DRAM)), any reduction in power consumption of SRAM continues to be beneficial. Due to SRAM's speed, SRAM is typically used in computer applications that require a fast memory such as cache memory for the central processing unit (CPU), external burst mode SRAM caches, hard disk buffers, router buffers, CPU register files, etc.
Power consumption of SRAM may vary widely depending on how frequently the SRAM is accessed. Lower power consumption may be beneficial to SRAM that might be used in cache memory of processors, for example. Low power consumption may translate to less heat that needs to be dissipated. In addition, low power consumption is a desirable trait by designers trying to increase battery life for various portable devices such as smart phones, tablets and music players. Overall, reducing SRAM power consumption in any portable device that relies on high-performance system memory may benefit from solutions that reduce SRAM power consumption. Thus efforts continue to reduce power consumption of static random access memory (SRAM).
Various solutions exist regarding efforts to reduce the power consumption of SRAM including reducing the supply voltage to the SRAM. One drawback of reducing the supply voltage to SRAM is that the SRAM cell may behave erratically. It may be difficult to read or write to bit cells for example. In other instances, bit cells may be easily disturbed during a read or write on a different bit cell. Other consequences resulting from a lower supply voltage may be sluggish performance. For example, access times may increase, which defeats an advantage of SRAM which is typically fast access times.
The problems noted above are solved in part by systems and methods for increasing the robustness of a static random access memory (SRAM) during lower voltage conditions. In some embodiments, an SRAM includes an array of storage cells arranged as rows and columns, each storage cell of the array of storage cells includes a first type of transistor and a second type of transistor. The SRAM also includes a memory controller configured to detect a temperature of the SRAM and apply a body bias to the first type of transistor in each of the storage cells and refrain from an application of a body bias to the second type of transistor in each of the storage cells.
Another illustrative embodiment is an integrated circuit that include a processor and an SRAM coupled to the processor. The SRAM includes an array of storage cells arranged as row and columns. Each storage cell of the array of storage cells includes a first type of transistor and a second type of transistor. The SRAM also includes peripheral logic that includes a row decoder configured to select a row of storage cells, a column decoder configured to select a column of storage cells, and a sense amplifier configured to amplify a signal received from the storage cells. The integrated circuit also includes a memory controller configured to, for the storage cells, apply a forward body bias to a portion of the storage cells, where an amount of the forward body bias is based on a quality of the silicon of the SRAM.
In yet another illustrative embodiment, a method includes determining, by a memory controller coupled to an SRAM, a temperature of the SRAM, the SRAM including peripheral logic and an array of storage cells. The method additionally includes applying, based on a first temperature, a first amount of forward body bias to a first portion of a storage cell of the array without applying the first amount of forward body bias to a remaining portion of the storage cell. The method additionally includes applying, based on a second temperature, a second amount of forward body bias to the first portion of the storage cell without applying the second amount of forward body bias to the remaining portion of the storage cell, where the first amount of forward body bias and the second amount of forward body bias is based on a strength of a silicon of the SRAM.
For a detailed description of various examples, reference will now be made to the accompanying drawings in which:
Certain terms are used throughout the following description and claims to refer to particular system components. As one skilled in the art will appreciate, different companies may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . . ” Also, the term “couple” or “couples” is intended to mean either an indirect or direct wired or wireless connection. Thus, if a first device couples to a second device, that connection may be through a direct connection or through an indirect connection via other devices and connections.
Various units, circuits, or other components in this disclosure may be described or claimed as “configured to” perform a task or tasks. In such contexts, “configured to” is used to connote structure by indicating that the units/circuits/components include structure (e.g., circuitry) that performs those task or tasks during operation. As such, the unit/circuit/component can be said to be configured to perform the task even when the specified unit/circuit/component is not currently operational (e.g., is not on). The units/circuits/components used with the “configured to” language include hardware—for example, circuits, memory storing program instructions executable to implement the operation, etc. Reciting that a unit/circuit/component is “configured to” perform one or more tasks is expressly intended not to invoke 35 U.S.C. §112(f) for that unit/circuit/component.
The following discussion is directed to various embodiments of the invention. Although one or more of these embodiments may be preferred, the embodiments disclosed should not be interpreted, or otherwise used, as limiting the scope of the disclosure, including the claims. In addition, one skilled in the art will understand that the following description has broad application, and the discussion of any embodiment is meant only to be an example of the embodiment, and not intended to intimate that the scope of the disclosure, including the claims, is limited to that embodiment.
Low power consumption may be beneficial to static random access memory (SRAM) that might be used in cache memory of processors. Additionally, reducing SRAM power consumption Overall, reducing SRAM power consumption in any portable device that relies on high-performance system memory may benefit from solutions that reduce SRAM power consumption.
Various solutions exist regarding efforts to reduce the power consumption of SRAM including reducing the supply voltage to the SRAM. One drawback of reducing the supply voltage to the SRAM is that the SRAM cell may behave erratically. An approach including applying selective forward body bias to only a portion of the transistors in the SRAM data array may result in a storage cells that remain robust and experience improved stability despite being subject to a reduced supply voltage. The approach may also result in read and write assists occurring during read and write operations to the storage cells.
In various embodiments, although depicted as processor 102, processor 102 may comprise more than one processor. Processor 102 may comprise a microprocessor, a digital signal processor, a microcontroller, a central processing unit (CPU), a graphics processing unit (GPU), or both a CPU and GPU, or other suitable device configured to execute instructions for performing operations. Processor architectures generally include execution units (e.g., fixed point, floating point, integer, etc.), instruction decoding, peripherals (e.g., interrupt controllers, timers, direct memory access controllers, etc.), input/output systems (e.g., serial ports, parallel ports, etc.) and various other components and sub-systems.
Additionally, the processor 102 may include a local memory 120 that may store program modules, program data, and/or portions of one or more operating systems. In various embodiments, the local memory 120 may include a cache memory comprising SRAM. In several embodiments, SRAM is a static random access memory which may provide storage of data and/or instruction that are capable of being processed by processor 102. As is known in the art, SRAM is comprised of an array of bit cells where each bit cell utilizes latching circuitry to store a bit of data.
Programs executable by the processor 102 may be stored on the memory 104 or alternatively, the programs may be stored on a different storage device within computing system 100 (e.g., a hard drive, solid state disk, memory stick, optical disc), and accessed when needed by the processor 102. The program stored in memory 104 may comprise programs to implement various processes on the computing system 100. The memory 104 may comprise dynamic random access memory (DRAM) or SRAM.
Memory controller 240 may be configured to apply different amounts of a selective forward body bias based on a detected temperature of the memory 120. In various embodiments, the amount of selective forward body bias applied to a portion of each storage cell in data array 230 may also be based on a strength of the silicon. As discussed further below, memory controller 240 may be configured to apply a selective forward body bias to only one type of transistor in each storage cell of data array 230.
Chip interface 202 may also receive data 206 and address data 208. Data 206 may flow between memory 120 and a processor, such as processor 102 through chip interface 202. Data 206 may comprises data sent to and from memory 120 during read and write operations of the memory 102. Address 208 may comprise signals 210 and 212 that are decoded by row decoder 216 and column decoder 214.
As depicted, memory 120 comprises a data array 230 in accordance with various embodiments. Data array 230 may be arranged as rows and columns of storage cells, sometimes referred to as bit cells. For example, as depicted, data array 230 comprises a row 220 of storage cells 218a, 218b, 218c, . . . , 218n. Row 220 may be selected by row decoder 216, based on a signal 212 received by row decoder 216. Similarly, column 222 comprises storage cells 218n, 232a, 232b, . . . , 232m. Column 222 of the data array 230 may be selected by column decoder 214 based on a signal 210 received by column decoder 214. Thus, row and column selection operations are accomplished by row decoder 216 and column decoder 214.
In various embodiments, memory 120 may comprise sense amplifier 220. As discussed below, a storage cell, such as storage cell 218a may produce a differential voltage that may be detected on two bit lines of a storage cell 218a. Sense amplifier may receive the differential voltage as an input and amplify the signal such that it may be properly interpreted as a stored “0” or “1” in the storage cell 218a.
In various embodiments, row line 320 may be used to select the storage cell 218a during a read or write operation. In the embodiment where storage cell 218a is a 6T SRAM bit cell, row line 320 may be similar to a word line.
As depicted, in various embodiments nMOS transistors 302 and 312 may be referred to as pass gates, through which data may be written to or read out of the storage cell 218a. For example, during a read operation, column lines 322 and 324 may be initially charged to a certain value. Upon selection of the storage cell 218a through row line 320, the nMOS transistors 302 and 312 may be turned to an on state. Depending on whether a “0” or a “1” is stored in the storage cell 218a, a current Iread 326 may flow through nMOS transistors 312 and 310 such that column line 324 is pulled to ground. Alternatively, a current Iread 328 may flow through nMOS transistors 302 and 308 such that column line 322 is pulled to ground. During the read operation, only one column line 322 or 324 will begin to discharge. Thus during a read operation nMOS transistors 310 and 312 or nMOS transistors 302 and 308 act as if tied in series. A discharge through nMOS transistors 310 and 312 or nMOS transistors 302 and 308 will result in a slight decrease in the voltage on either column line 322 or 324.
Continuing the discussion of
In various embodiments, storage cell 218a may be an asymmetric bit cell such that some of the transistors 302, 304, 306, 308, 310, and 312 are fabricated or operated in a manner such that some of the transistors 302, 304, 306, 308, 310, and 312 are of different strengths. In various embodiments, the pMOS and nMOS transistors 302, 304, 306, 308, and 310 may be strategically sized (i.e., different width and length of the transistors) or fabricated or operated such that the transistors 302, 304, 306, 308, 310, and 312 have different threshold voltages. Thus, different transistors may require different voltages before the transistor transitions from an off state to one in which it conducts current and vice versa. In various embodiments, the storage cell 218a may be fabricated or operated to be asymmetric such that a static noise margin of the storage cell 218a is fairly high.
In various embodiments, storage cell 218a, having a high static noise margin, may result in the storage cell 218a being one that is difficult to write to; and thus, it may be deemed to have a poor write margin. However, with a high static noise margin, bits stored within storage cells of the data array 230 will not be disturbed easily. In various scenarios, the value of a static noise margin of a storage cell may be based on a measure of how easily a bit cell may flip in the process of a read operation.
As mentioned previously, one solution to reduce power consumption in SRAM has been to reduce the supply voltage to the SRAM. Lowering the supply voltage may reduce leakage power and dynamic power. The supply voltage to the SRAM may be reduced up to a certain point before certain drawbacks start to occur. For example, with a lower supply voltage a designer may risk trading lower power consumption for reduced performance, increased instability, or potentially a storage cell that may not properly be read or written to.
In some scenarios, a reduced supply voltage results in a reduced voltage to the structure of the memory which in turn results in a drop in the read current during a read operation, for example. With a reduction in read current, the amount of time before a differential voltage reaches a threshold amount increases. Thus, the access times for the SRAM increases which results in a performance drop. Additionally, with a reduced supply voltage, bit cells may be disturbed during read and write operations. During a read or write operation to a first cell, bits may flip in adjacent or surrounding cells.
Continuing the discussion of
In this example, as discussed further below, a read assist, a write assist, and a reduced static noise margin may result. By applying a forward body bias to the nMOS transistors 302, 308, 310, and 312 only (and not applying a forward bias to the pMOS transistors 304 and 306) the threshold voltage for these transistors 302, 308, 310, and 312 is reduced. As discussed previously, the nMOS transistors 302, 308, 310, and 312 may be involved in the read operation when an Iread current 326 or 328 passes through the respective nMOS transistors 310 and 312 or 302 and 308. As a result of a reduced threshold voltage of the nMOS transistors 302, 308, 310, and 312, a read assist may occur. This is due to the fact that with a reduced threshold voltage, the nMOS transistors (i.e., either nMOS transistors 302 and 308 or nMOS transistors 310 and 312) involved during a read operation will begin discharging with a lower voltage applied at the gates of the nMOS transistors 302, 308, 310, and 312 than would be required otherwise in a scenario where a forward body bias in not applied to the nMOS transistors 302, 308, 310, and 312.
Stated another way, in an example where nMOS transistors 310 and 312 discharge the column line 324 during a read operation, with a forward body bias applied to the nMOS transistors 310 and 312, a first voltage applied at the gates will result in an increased amount of Iread current 326 than would result if the same first voltage were applied at the gates but without the application of the forward body bias on these nMOS transistors 310 and 312.
With an increase in Iread current 326 occurring with the selective application of the forward body bias on only the nMOS transistors 302, 308, 310, and 312, faster access times may occur than if the forward body bias was not applied to the nMOS transistors 302, 308, 310, and 312. With an increased Iread current 326, a differential voltage of the column lines 322 and 324 may reach a threshold amount, sufficient to send to the sense amplifier 220, faster. Accordingly, with a forward body bias applied to the transistors 302, 308, 310, and 312, an application of the first voltage level may result in increased Iread current, which may result in a faster access time than if the first voltage amount were applied without the application of the selective forward body bias. Accordingly, a read assist results from the selective application of the forward body bias on only the nMOS transistors 302, 308, 310, and 312.
As explained below, with the application of a forward body bias on only the nMOS transistors 302, 308, 310, and 312 in the storage cell 218a, a write assist may also occur. In various embodiments, storage cell 218a may benefit from a strong nMOS 302 or 312 due to the application of forward body bias to these transistors. In various embodiments, due to the boost in strength of either the nMOS 302 or 312, the nMOS 302 or 312 may more easily flip the bit of the nMOS 302 or 312 as the transistors are likely to be able to overcome a pMOS 304 or 306 more easily than if a forward body bias was not applied to only the nMOS transistors 302, 308, 310, and 312.
Continuing the discussion of
In one example, during a write operation, one of column lines 322 and 324 may be pulled high while the other is pulled low. In an additional example where the storage cell 218a stores a “0,” a node 340 may be at a level corresponding to high level and a node 342 may be at level corresponding to a low level. In this example, when an attempt is made to write a “1” to the storage cell, column line 322 may be pulled high and column line 324 may be pulled low. Additionally, nMOS 302 may drive node 342 to a high level and effectively flip the bit. With a reduced threshold voltage of nMOS transistor 302, due to a forward body bias applied to nMOS transistor 302, a charge 330 may effectively be driven on node 342 through nMOS transistor 302.
Additionally, during a write operation, a write driver may pull charge out of the storage cell 218a, depicted as discharge 332. Charge from a supply of the pMOS transistor 306 may discharge through a path consisting of the pMOS transistor 306, the nMOS transistor 312, and ground. With a reduced threshold voltage of nMOS transistor 312, due to the forward body bias applied to the nMOS transistor 312, the write driver may be able to draw more current out of the storage cell than it would be able to if no forward body bias was applied to nMOS transistor 312.
Accordingly, applying a forward body bias to only the nMOS transistors 302, 308, 310, and 312 and not the pMOS transistors 304 and 306 may be beneficial to operating a storage cell 218a with a low supply voltage. Although the application of the forward body bias on the nMOS transistors 302, 308, 310, and 312 may result in reducing the static noise margin of the storage cell 218a, as discussed above, storage cell 218a is an asymmetric cell which initially has a strong static noise margin. The reduction in static noise margin that results from applying the forward body bias to nMOS transistors 302, 308, 310, and 312 is does not degrade the performance of the storage cell 218a to a level that is significant. The application of the selective forward body bias results in a read assist and a write assist that enables the storage cell 218a to operate in a robust manner while also improving the performance of the bit cell despite having a reduced supply voltage. In various embodiments, applying a selective forward body bias as discussed may also help reduce latch-up issues.
Turning back to
Returning to
Turning now to
As can be seen, a selective forward body bias may be beneficial when applied to silicon that is weak or an SRAM operating in colder temperatures. For example, as can be seen in cell 412, point 424 represents a scenario in which zero forward body bias is applied to the nMOS transistors in an SRAM that has a fairly long access time at a lower supply voltage (i.e., longer than 6 seconds). The access time is reduced for the silicon represented in cell 412 with the increase of the supply voltage.
As can be seen in cell 414, point 426, with the application of a maximum amount of selective forward body bias depicted in this chart, the access times for the SRAM at a lower supply voltage is significantly decreased (i.e., less than 2 seconds). Thus, in scenarios where silicon may be weak, the application of the forward body bias may be beneficial to the performance of the SRAM, especially when it is desirable to operate weak silicon with a lower supply voltage. Additionally, as can be seen in cell 414, the beneficial impact that applying the forward body bias to the silicon may also be a factor of the temperature of the SRAM. As depicted in cells 412 and 414, the SRAM is operating at a temperature of negative 40 degrees Celsius.
At the bottom left corner of chart 400 at cell 416, a different case is shown. In cell 416, as depicted the silicon appears to be fairly strong. An access time is less than 2 seconds for the SRAM bit cell under conditions where no selective forward body bias is applied and a low supply voltage is applied to the bit cell. As depicted in cell 430, an application of the maximum amount of selective forward body bias does improve the access time in a case where a low supply voltage is applied to the bit cell. However, this slight increase in access time may be outweighed by concerns of increasing instability of the SRAM. This instability may caused due to an increased amount of leakage current which in turn may be due to the forward bias applied to the nMOS transistors in the bit cell. Additionally, as can be seen in cells 416 and 430, this data correlates to the SRAM cell operating under hot conditions (i.e., 85 degrees Celsius).
Thus in various embodiments, after fabrication of an SRAM memory, an analysis may be conducted corresponding to the strength of the silicon. Subsequently a memory controller may be programmed to apply certain amounts of selective forward body bias to bit cells in the SRAM based on a strength of the silicon and temperature of the SRAM. If the silicon is considered to be strong, a memory controller may be programmed to not apply a selective forward body bias to the nMOS transistors in the SRAM bit cells. If the silicon is assessed to be weak, a memory controller may be programmed to apply selective forward.
Chart 402 depicts various suggested values for an application of selective forward bias. Group 418 corresponds to weak end of life silicon. According to chart 402, different selective forward bias values may be applied to weak end of life silicon based on a temperature of the silicon. Group 420 corresponds to nominal silicon and group 422 corresponds to strong silicon. As can be seen in chart 402, for strong silicon, no selective forward body bias may be applied. For nominal silicon, a small amount of selective forward body bias may be applied when the silicon is operating in cold temperature (i.e., negative 40 degrees Celsius)
Turning now to
At block 502, a memory is chosen with asymmetric storage cells. As discussed previously, an asymmetric storage cell may be chosen such that initially, it has a strong static noise margin. At block 504, a strength of the silicon may be determined. The silicon may be assessed to determine a speed of transistors in the silicon or an amount of leakage current present during operation of the transistors.
At decision block 506, a determination is made as to whether an assessed silicon strength is below a threshold. This determination may determine whether silicon is weak, nominal, or strong. If silicon is assessed to be strong, i.e., above the threshold, then flow proceeds to block 508 at which a memory controller of the SRAM is programmed to not apply selective forward body bias to the storage cells.
If silicon is assessed to be below a threshold, i.e., nominal or weak, then flow proceeds to block 510. At block 510, a memory controller may be programmed to apply an amount of selective forward body bias to a storage cell based on the temperature of the memory and the strength of the silicon.
Turning now to
At block 602, a memory controller of an SRAM may determine a temperature of the memory. At block 604, the memory controller may apply selective forward body bias to storage cells of the SRAM based on the determined temperature. As discussed previously, the memory controller may be programmed with the information regarding how much selective forward body bias to apply for a certain temperature. At block 606, the memory controller may additionally apply a blanket body bias to peripheral components of the SRAM.
From the description provided herein, those skilled in the art are readily able to combine software with appropriate general-purpose or special-purpose computer hardware to create a computer system and/or computer sub-components in accordance with the various embodiments.
References to “one embodiments,” “an embodiment,” “some embodiments,” “various embodiments,” or the like indicate that a particular element or characteristic is included in at least one embodiment of the invention. Although the phrases may appear in various places, the phrases do not necessarily refer to the same embodiment.
The above discussion is meant to be illustrative of the principles and various embodiments of the present invention. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.
Number | Date | Country | Kind |
---|---|---|---|
4279/CHE/2014 | Sep 2014 | IN | national |