A memory configurable to be used in an rta mode includes an input latch configured to receive an input address bus and to generate a latched address bus that corresponds to a memory location. An address flop is configured to save the latched address and to generate a flopped address. A first block address pre-decoder stage is configured to generate a pre-decoded latched address to an rta generation logic in response to the latched address bus; and a second block address pre-decoder configured to generate a pre-decoded flopped address to the rta generation logic in response to the flopped address. The rta generation logic generates an rta enable signal one clock cycle before a memory block access, to activate a memory block corresponding to the memory location, such that an array supply voltage of the memory block starts charging one clock cycle before a memory block access.
|
14. A method of operating an sram in a retention till access (rta) mode, comprising:
generating a latched address that corresponds to an sram, in response to an input address bus;
generating a flopped address in response to the latched address;
generating a pre-decoded latched address that is provided to an rta generation logic in response to the latched address;
generating a pre-decoded flopped address that is provided to the rta generation logic in response to the flopped address; and
generating an rta enable signal to activate the sram such that an array supply voltage of the sram charges one clock cycle before a memory block access.
1. A memory configurable to be used in a retention till access (rta) mode, the memory comprising:
an input latch configured to receive an input address bus and to generate a latched address bus that corresponds to a memory location;
an address flop configured to save the latched address bus and to generate a flopped address;
a first block address pre-decoder stage configured to generate a pre-decoded latched address to a retention till access (rta) generation logic in response to the latched address bus; and
a second block address pre-decoder stage comprising a second block address pre-decoder configured to generate a pre-decoded flopped address to the rta generation logic in response to the flopped address; wherein the rta generation logic is configured to generate an rta enable signal one clock cycle before a memory block access, to activate a memory block corresponding to the memory location.
19. An integrated circuit comprising:
a processor;
a memory coupled to the processor, the memory configurable to be used in a retention till access (rta) mode, the memory comprising:
an input latch configured to receive an input address bus and to generate a latched address bus that corresponds to a memory location;
an address flop configured to save the latched address bus and to generate a flopped address;
a first block address pre-decoder stage configured to generate a pre-decoded latched address to a retention till access (rta) generation logic in response to the latched address bus; and
a second block address pre-decoder stage comprising a second block address pre-decoder configured to generate a pre-decoded flopped address to the rta generation logic in response to the flopped address; wherein the rta generation logic is configured to generate an rta enable signal one clock cycle before a memory block access, to activate a memory block corresponding to the memory location.
2. The memory of
the memory includes array of memory cells arranged in rows and columns; and
the memory block includes a particular set of rows.
3. The memory of
4. The memory of
5. The memory of
6. The memory of
7. The memory of
a set of decoders configured to generate the decoded latched address and the decoded flopped address in response to the pre-decoded latched address and the pre-decoded flopped address;
an rta flop configured to synchronize the decoded latched address to an internal clock; and
an rta logic configured to generate the rta enable signal in response to the decoded latched address and the decoded flopped address.
8. The memory of
a NAND gate that receives the decoded latched address and the decoded flopped address; and
an inverter coupled to the NAND gate that receives an output of the NAND gate and generates the rta enable signal.
9. The memory of
an address pre-decoder configured to generate an output signal, in response to a least significant bit (LSB) of the flopped address, to a word line decoder.
10. The memory of
11. The memory of
the first pre-decoder stage is configured to receive the most significant bits of the latched address bus; and
the second pre-decoder stage is configured to receive both the most significant bits and the least significant bits of the input address bus.
12. The memory of
15. The method of
generating the rta enable signal in response to both the decoded latched address and the decoded flopped address.
16. The method of
activating an rta switch in response to the rta enable signal such that the sram starts charging one clock cycle before a memory block access.
17. The method of
generating the decoded latched address and the decoded flopped address in response to the pre-decoded latched address and the pre-decoded flopped address;
synchronizing the decoded latched address to an internal clock; and
generating the rta enable signal in response to the decoded latched address and the decoded flopped address.
18. The method of
20. The memory of
the memory includes array of memory cells arranged in rows and columns;
the memory block includes a particular set of rows;
the rta generation logic is configured to generate an rta enable signal one clock cycle before a memory block access such that an array supply voltage of the memory block starts charging one clock cycle before an intended operation in the memory location;
a size of the rta switch and a peak current in the memory is reduced since one clock cycle time is available to charge the array supply voltage of the block; and
the rta generation logic generates the rta enable signal in response to both the decoded latched address and the decoded flopped address, wherein the rta generation logic comprises:
a set of decoders configured to generate the decoded latched address and the decoded flopped address in response to the pre-decoded latched address and the pre-decoded flopped address;
an rta flop configured to synchronize the decoded latched address to an internal clock; and
an rta logic configured to generate the rta enable signal in response to the decoded latched address and the decoded flopped address.
|
Embodiments of the disclosure relate to semiconductor memories capable of operating in retention till access mode.
A memory, in particular, a static random access memory (SRAM), is configured to operate in retention till access (RTA) mode to reduce active array leakage by keeping the array supply at a diode voltage level below the supply voltage. In general, an SRAM is divided into blocks of 32 rows or 16 rows. When operating, a switch is used to bring a voltage of a block being accessed in the SRAM, to the full voltage. In order to support the high memory performance, the size of the switch needs to be significantly high. This results in high switch area and high peak current. Further, large on die decoupling capacitance is needed to support high peak current which in turn increases the overall system on chip (SoC) area and leakage. As the peak current depends on the SRAM usage in the SoC, it becomes challenging to predict peak current in the system. This leads to conservative value of decoupling capacitance requirements.
This Summary is provided to comply with 37 C.F.R. §1.73, requiring a summary of the invention briefly indicating the nature and substance of the invention. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.
An embodiment provides a memory configurable to be used in an RTA mode. The memory includes an input latch configured to receive an input address bus and to generate a latched address bus that corresponds to a memory location in the memory, an address flop configured to save the latched address and to generate a flopped address; a first block address pre-decoder stage configured to generate a pre-decoded latched address to an RTA generation logic in response to the latched address bus; and a second block address pre-decoder configured to generate a pre-decoded flopped address to the RTA generation logic in response to the flopped address. The RTA generation logic is configured to generate an RTA enable signal one clock cycle before a memory block access, to activate a block in the memory corresponding to the memory location, such that an array supply voltage of the memory block starts charging one clock cycle before a memory block access. The memory includes an SRAM.
Another embodiment provides a method for operating an SRAM in RTA mode. First, a latched address bus is generated that corresponds to an SRAM, in response to an input address bus. Then, a flopped address is generated in response to the latched address. A pre-decoded latched address is generated that is provided to an RTA generation logic in response to the latched address. A pre-decoded flopped address is generated that is provided to the RTA generation logic in response to the flopped address. Further, an RTA enable signal is generated to activate the SRAM such that an array supply voltage of the SRAM charges one clock cycle earlier than a memory block access.
Other aspects and example embodiments are provided in the Drawings and the Detailed Description that follows.
An output of the RTA logic 120 is connected to an array diode and RTA switch 140 that is further connected to a memory block 135. There are several memory blocks shown in
Operationally, the input latch 105 receives an input address on a bus. The input latch 105 latches the input data when a system clock is selected and generates the latched address output. Most significant bits (MSB) of the latched address output required to select a particular block in the memory block 135 are provided to the block address pre-decoder 110. Similarly, least significant bits (LSB) of the latched address output are provided to the address pre-decoder 130. The block address pre-decoder 110 decodes the MSB of the latched address output using logic gates and generates a pre-decoded address that is provided to the decoder 115. The decoder 115 includes logic gates that generate a block select address which is provided to the RTA logic 120. The RTA logic 120 includes logic gates that are configured to generate an RTA enable signal. The RTA enable signal activates an RTA switch and diode combination 140 that starts restoring an array supply voltage (VDDAR) from a retention voltage for the memory block 135.
The address pre-decoder 130 receives the LSB of the latched address output and generates a pre-decoded address that is provided to a word line decoder 125. The word line decoder 125 also receives the pre-decoded signal from the block address pre-decoders 110 and generates a word line. The word line decoder 125 selects a row in the memory block 135 that is intended to be accessed. Accessing the memory block refers to an operation (read/write) to be performed in the memory block 135.
Referring now to
Accessing operation of the memory block (read/write) starts at a rising edge of the CLK at clock period 185. RTACLK 195 is then generated in response to the rising edge of CLK at clock period 185. BLK_SEL 160 is generated in response to the address A1 190 and the rising edge of the RTACLK 195. Then, RTA enable signal 165 is generated using BLK_SEL 160. When the RTAENB 165 is high, a diode is activated which keeps the array supply voltage to a retention voltage. When the RTAENB (165) is low 198, an RTA switch 140 gets activated that brings a voltage of a block being accessed to full voltage. It can be seen that the VDDAR is at a diode drop 180, which is at retention voltage, before accessing the memory block. VDDAR starts ramping to full voltage 185 at the falling edge of the RTAENB, before accessing the memory block. The WL 175 for a particular row in a selected memory block will go high in the same clock period C1. It is noted that before WL 175 goes high, the VDDAR 170 should be restored to full value. To ensure that the VDDAR 170 goes to full value, the size of the RTA switch 140 needs to be significantly high. This results in high switch area and high peak current. Further, large on die decoupling capacitance are needed to support high peak current which in turn increases the overall system on chip (SoC) area and leakage. As the peak current depends on the SRAM usage in the SoC, it becomes challenging to predict peak current in the system. This leads to conservative value of decoupling capacitance requirements.
The output of the first block address pre-decoder stage 270, pre-decoded latched address, is connected to the RTA generation logic 295 on line 275 The output of the block address pre-decoder 235 (a pre-decoded flopped address) is also connected to the RTA generation logic 295 on line 260 The RTA generation logic 295 includes a set of decoders 280 and 282 that receives the pre-decoded latched address on line 275 and a pre-decoded flopped address on line 260. The output of the decoder 280 (BLK_SEL) is connected to a flop 285 and the output of the decoder 282 (ADD_PRE) is connected to an RTA logic 290. The decoders 280 and 282 include a combination of NAND gates and inverters. An output of the RTA flop 285 (BLK_SEL_FINAL) is connected to the RTA logic 290.
The RTA logic 290 includes a NAND gate followed by an inverter. The RTA logic 290 generates the RTA enable signal on line 298. It is noted that the RTA enabled memory implementation includes several RTA generation logics, similar to RTA generation logic 295, that generates RTA enable signals. Each RTA enable signal 298 corresponds to each memory block in a memory array (similar to memory block 250). The RTA enable signal 298 is connected to an RTA switch and array diode 245 that is connected to the memory block 250. It is noted that there are several memory blocks 250, each having an array diode and an RTA switch 245 that receives the RTA enable signal from corresponding RTA logic as illustrated in
Operationally, the input latch 205 is configured to receive an input address bus and to generate a latched address bus using logic gates that corresponds to a memory location in the memory. The address flop 210 then saves the latched address bus and generates a flopped address. It is noted that the address flop 210 includes a set of flops corresponding to each address. For the sake of simplicity, only one flop is shown in
Similarly, the decoder 280 in the RTA generation logic 295 includes a combination of NAND gates and inverters that operates in response to the respective inputs. The decoder 280 receives the pre-decoded latched address output (MSBs of the pre-decoded latched address output) and decodes the inputs and generates a decoded signal to the RTA flop 285. Similarly, the decoder 282 receives the pre-decoded flopped address and generates a decoded signal to the RTA logic 290. The RTA flop 285 includes a master latch and a slave latch (not shown in the figure) that operate in response to an RTA clock signal (that is generated from the input clock CLK). When the RTA clock signal is high (operation mode), the master latch is in a transparent mode (input of the latch passes to output) and slave latch is in latched mode (input of latch does not pass to the output). When the RTA clock signal is low, the master latch is in latched mode and the slave latch is in transparent mode.
The outputs of the flop 285 and the decoder 282 are connected to the RTA logic 290. A circuit implementation of the RTA logic is illustrated in
In an embodiment, the RTA generation logic 295 generates an RTA enable signal 298 one clock cycle before a memory block access, to activate the memory block 250 corresponding to the memory location, such that an array supply voltage of the memory block starts charging one clock cycle before an intended read/write operation in the memory location. By charging the memory block one clock cycle before the intended operation, size of the RTA switch 245 and a peak current in the memory is reduced (since one clock cycle time is available to charge the array supply voltage of the block). It also improves performance of memory since charging of supply voltage (VDDAR) does not come in the memory read/write path. This is further explained with the help of the timing diagram in
C1 represents the cycle of the memory access (read/write). According to an embodiment, since the array supply voltage (VDDAR) in the pseudo RTA enabled memory starts charging one clock cycle before an intended read/write operation, RTA switch and array diode 245 for a selected memory block 250 corresponding to address A1, gets activated in the C0 cycle.
First, the internal memory clock 276 is generated in response to the rising edge of the CLK 272 at clock period C0. Then, the RTACLK 278 is generated in response to the falling edge of internal memory clock 276. BLK_SEL 284 is generated in response to the address A1 and BLK_SEL_FINAL 286 is generated in response to BLK_SEL 284 and falling edge of the RTACLK 278. It is noted that the slave latch (first latch) of address flop 210 is in latched mode (input does not passes to output and output is latched) and master latch (second latch) is in transparent mode (input passes to output) when memory is in inactive mode (when memory is not being accessed and internal clock is in high state). And master latch (first latch) of the RTA flop is in transparent mode and slave latch (second latch) of the RTA flop is in latched mode in inactive state. Before accessing the memory, BLK_SEL 284 is present at the input of the slave latch of RTA flop 285 since master of the flop is in transparent mode. When memory is accessed, RTACLK 278 goes low and subsequently master latch goes into latched mode and slave latch goes into transparent mode. When slave latch is in transparent mode, BLK_SEL 284 is passed to the output of RTA flop 285 and generates the BLK_SEL_FINAL signal 286. The ADD_PRE 288 is the output of the decoder 282 that is generated in response to the pre-decoded flopped address. Input latch 205 and address flops 210 (which is the combination of slave latch and master latch) make a combination of ‘master-slave-master’ latch configuration which ensures that the address which was available in cycle C0 will available in the current cycle C1 as pre-decoded flopped address.
When the memory is in the inactive state (when the internal memory clock 276 is high), input address latch is in transparent mode, slave of the address flop 210 is in latched mode and master of the address flop 210 is in transparent mode. At this stage, address available as the input, is available at the slave of the address flop 210 since input latch is in transparent mode. The addresses will not pass to the next stage as slave of the address flop 210 is in the latched mode. When the memory is accessed (internal memory clock 276 is low), input latch is in latched mode, slave of the address flop 210 is in transparent mode and the master of the flop is in latched mode. At this stage, address from slave of the address flop 210 is moved to the input of the master of the flop since slave of the address flop is now in transparent mode. Addresses do not pass to the next stage since the master latches of the address flops 210 are in the latched mode. After completing the intended operation, memory goes in to inactive state (internal clock goes high). At this stage, the input latch 205 is in transparent mode, slave of the address flop 210 is in the latched mode and master of address flop 210 is in transparent mode. Since master of the address flop 210 is in transparent mode, it passes the previous address which was available at the input of the master latch to the next decoder stage that generates pre-decoded flopped address. It is noted that decoders 280 and 282 are static decoders having a set of NAND gates and inverters. It is also noted that the ADD_PRE is generated in response to pre-decoded flopped address. So, ADD_PRE is generated when memory goes in inactive state (internal clock goes high). ‘RTAENB’ 292 represents the RTA enable signal that is generated from the RTA generation logic in response to BLK_SEL_FINAL and ADD_PRE. RTA logic is a NAND gate coupled to an inverter which is explained in the description of
When RTANENB 292 goes low, one of the memory blocks 250 is selected and that starts charging the array supply voltage (VDDAR). RTANENB 292 goes low in cycle C0 corresponding to memory block, which is going to be accessed in the next cycle C1. When BLK_SEL_FINAL signal 286 of memory block 250 goes low, it generates RTAENB falling edge that in turn starts charging the VDDAR 294 of memory block 250 (which is going to be accessed in the next cycle C1). When cycle C0 is completed, the internal memory clock 276 goes high that passes address from master of the address flop 210 to the next stage decoder which generates ADD_PRE 288 falling edge, which keeps RTAENB low till the next cycle C1 operation is completed. BLK_SEL_FINAL signal 286 changes its state at the falling edge of internal clock (when memory is selected for access) and ADD_PRE signal changes its status when internal memory clock 276 goes high (memory goes in inactive mode). Falling edge of the RTAENB 292 is triggered by the falling edge BLK_SEL_FINAL 286 in C0 cycle which turns on the RTA switch 245. The rising edge of the RTAENB 292 is triggered by the rising edge of the ADD_PRE 288 in cycle C1. Hence, the RTA switch corresponding to the memory block which is going to be accessed in the cycle C1, is activated at the starting edge of the cycle C0 and inactivated at the finishing edge of clock cycle C1. It is noted that in one embodiment, the RTA enable signal is configured to be active for 1.5 clock cycles. Accordingly, the RTA enable signal 292 gets selected one cycle before and stays active for next half cycle in which the read/write operation is performed in the memory.
According to an embodiment, the VDDAR 294 of the memory block 250 remains at retention voltage when a particular block is not accessed. When a memory block is going to be accessed at cycle C1, its VDDAR 294 starts charging at the active edge of cycle C0 in response to the RTAENB 292 signal. It is noted that VDDAR 294 is maintained at full voltage until cycle C1 finishes. After completion of cycle C1, the VDDAR of accessed memory block 250 is dropped to retention voltage. Word line decoder 240 generates word line (WL) 296 in response to the pre-decoded flopped address. Address which is available at the cycle C0 generates corresponding WL 296 in the cycle C1, because input latch and address flop makes a ‘master-slave-master’ latch configuration. This configuration enables WL 296 to be generated at cycle C1 which corresponds to address available at C0. The VDDAR 296 of the memory block 250 should be charged to full voltage level before WL of a particular row goes high. Read or write operation of the memory is completed in the clock cycle C1 which correspond to address A1 available at the clock cycle C0 (address available one clock cycle earlier).
RTA logic is driven by BLK_SEL_FINAL 286 and ADD_PRE 288 signals. The RTA enable signal (RTANENB 292) generation is explained under the description of
Integrated circuit is a single-chip integrated circuit into which an entire computer architecture is realized. As such, in this example, integrated circuit includes a central processing unit of processor 405, which is connected to system bus SBUS. Various memory resources, including random access memory (RAM) 420 and read-only memory (ROM) 425, reside on system bus SBUS and are thus accessible to processor 405. Typically, ROM 425 serves as program memory, storing the program instructions executable by processor 405, while RAM 420 serves as data memory; in some cases, program instructions may reside in RAM 420 for recall and execution by processor 405. Cache memory 415 is another memory resource, and resides within processor 405 itself and therefore does not require bus access. Other system functions are shown, in a generic sense, in integrated circuit by way of system control 410 and input/output interface 430.
Those skilled in the art having reference to this specification will recognize that integrated circuit may include additional or alternative functions to those shown in
The construction of RAM 420 in an integrated circuit will now be described in further detail, with reference to
RAM 420 also includes or is in communication with test logic, which controls the operation of certain functions within RAM 420 in carrying out read stability, write margin, and read margin tests according to various embodiments. Test logic receives a mode control signal, as issued by other control logic in the integrated circuit (e.g, system control 410), or from an external pin or pad, or in some other manner. It is contemplated that those skilled in the art having reference to this specification, particularly the description of the test functions described below, will be readily able to construct and efficiently place test logic within the integrated circuit containing RAM 420 to carry out those test functions.
At step 520, a pre-decoded flopped address is generated that is provided to the RTA generation logic in response to the flopped address. The second block address pre-decoder 235 (hereinafter block address pre-decoder 235) is configured to generate a pre-decoded flopped address to the RTA generation logic 295 in response to the flopped address. The address pre-decoder 230, block address pre-decoder 235 and the block address pre-decoder 270 includes a combination of NAND gates and inverters that operates in response to the respective inputs. At step 525, an RTA enable signal is generated to activate the SRAM such that an array supply voltage of the SRAM charges one clock cycle before a memory block access. The RTA enable signal is generated in response to both the decoded latched address and the decoded flopped address. The RTA enable signal activates the RTA switch such that the SRAM starts charging one clock cycle before a memory block access.
In the foregoing discussion, the terms “connected” means at least either a direct electrical connection between the devices connected or an indirect connection through one or more passive intermediary devices. The term “circuit” means at least either a single component or a multiplicity of passive components, that are connected together to provide a desired function. The term “signal” means at least one current, voltage, charge, data, or other signal. The forgoing description sets forth numerous specific details to convey a thorough understanding of the invention. However, it will be apparent to one skilled in the art that the invention may be practiced without these specific details. Well-known features are sometimes not described in detail in order to avoid obscuring the invention. Other variations and embodiments are possible in light of the above teachings, and it is thus intended that the scope of invention not be limited by this Detailed Description, but only by the following Claims.
Pitts, Robert, Sachan, Rashmi, Kesarwani, Abhishek, Rana, Parvinder
Patent | Priority | Assignee | Title |
11726543, | Dec 13 2019 | STMicroelectronics S.r.l.; STMicroelectronics International N.V. | Computing system power management device, system and method |
9542994, | Sep 15 2015 | ARM Limited | Retention control in a memory device |
Patent | Priority | Assignee | Title |
6449204, | Mar 30 2000 | Renesas Electronics Corporation | DYNAMIC SEMICONDUCTOR MEMORY DEVICE CAPABLE OF REARRANGING DATA STORAGE FROM A ONE BIT/ONE CELL SCHEME IN A NORMAL MODE TO A ONE BIT/TWO CELL SCHEME IN A TWIN-CELL MODE FOR LENGTHENING A REFRESH INTERVAL |
8218376, | Apr 21 2010 | Texas Instruments Incorporated | Reduced power consumption in retain-till-accessed static memories |
8923090, | Sep 24 2013 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Address decoding circuits for reducing address and memory enable setup time |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Sep 19 2013 | SACHAN, RASHMI | Texas Instruments Incorporated | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031302 | /0932 | |
Sep 19 2013 | RANA, PARVINDER | Texas Instruments Incorporated | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031302 | /0932 | |
Sep 19 2013 | KEARWANI, ABHISHEK | Texas Instruments Incorporated | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031302 | /0932 | |
Sep 20 2013 | PITTS, ROBERT L | Texas Instruments Incorporated | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031302 | /0932 | |
Sep 27 2013 | Texas Instruments Incorporated | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Sep 13 2018 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Sep 20 2022 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Apr 07 2018 | 4 years fee payment window open |
Oct 07 2018 | 6 months grace period start (w surcharge) |
Apr 07 2019 | patent expiry (for year 4) |
Apr 07 2021 | 2 years to revive unintentionally abandoned end. (for year 4) |
Apr 07 2022 | 8 years fee payment window open |
Oct 07 2022 | 6 months grace period start (w surcharge) |
Apr 07 2023 | patent expiry (for year 8) |
Apr 07 2025 | 2 years to revive unintentionally abandoned end. (for year 8) |
Apr 07 2026 | 12 years fee payment window open |
Oct 07 2026 | 6 months grace period start (w surcharge) |
Apr 07 2027 | patent expiry (for year 12) |
Apr 07 2029 | 2 years to revive unintentionally abandoned end. (for year 12) |