US20160071574A1 - Method and circuits for low latency initialization of static random access memory - Google Patents

Method and circuits for low latency initialization of static random access memory Download PDF

Info

Publication number
US20160071574A1
US20160071574A1 US14/482,613 US201414482613A US2016071574A1 US 20160071574 A1 US20160071574 A1 US 20160071574A1 US 201414482613 A US201414482613 A US 201414482613A US 2016071574 A1 US2016071574 A1 US 2016071574A1
Authority
US
United States
Prior art keywords
coupled
initialization
sram
signal
assertion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US14/482,613
Other versions
US9286971B1 (en
Inventor
Greg M. Hess
Ramesh Arvapalli
Andrew L. Arengo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Priority to US14/482,613 priority Critical patent/US9286971B1/en
Assigned to APPLE INC. reassignment APPLE INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HESS, GREG M., ARENGO, ANDREW L., ARVAPALLI, RAMESH
Publication of US20160071574A1 publication Critical patent/US20160071574A1/en
Application granted granted Critical
Publication of US9286971B1 publication Critical patent/US9286971B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/419Read-write [R-W] circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection

Definitions

  • This disclosure is directed to integrated circuits (ICs) and more particularly, to circuitry used in conjunction with static random access memories (SRAMs) and operation of the same.
  • ICs integrated circuits
  • SRAMs static random access memories
  • Static random access memories are widely used in integrated circuits (ICs). Applications of SRAM in ICs includes caches, register files, buffers, and so forth. Advantages of SRAM include a higher density than flip-flops along, faster speeds than dynamic random access memories (DRAMs), while not requiring the refresh cycles used to maintain information in a DRAM.
  • DRAMs dynamic random access memories
  • Initialization of an SRAM may include writing predetermined data to each address therein. For example, during the initialization, a functional circuit block may write all logic 0's to each address in a correspondingly coupled SRAM. The data may be written into the addresses sequentially (i.e. one address after another) until data has been written into all addresses of the SRAM. Thereafter, normal operations utilizing the SRAM may commence.
  • an IC includes an SRAM coupled to at least one functional circuit block.
  • the SRAM includes a number of storage locations arranged in rows and columns.
  • the functional circuit block and the SRAM may be in different power domains.
  • the functional circuit block may assert an initialization signal to begin an initialization process.
  • level shifters may force assertion of various select/enable signals in a decoder associated with the SRAM.
  • initialization data may be written to the SRAM. Writing initialization data may be performed on a row-by-row basis, with all columns in a row being written to substantially simultaneously.
  • an SRAM may include a number of banks, and each row of the SRAM may extend across the number of banks. On a given row within each bank one or more storage locations may be implemented, with each of the storage locations having a number of bits. During the writing of initialization data, all banks and all storage locations within a given row are written to concurrently.
  • At least some of the level shifters used to convey signals from the functional circuit block to the may be coupled to receive the initialization signal. Responsive to receiving the initialization signal, these level shifters may drive their respective output nodes to a predetermined logic level, irrespective of any other inputs. The outputs of these level shifters may then force the decoder of the SRAM to allow a number of storage locations within a given row to be written to concurrently.
  • Bit line hold circuits associated with bit cells each include extra hold circuitry to hold the initialization data during the initialization.
  • Each bit line hold circuit may be coupled to a column of bit cells that extends through the rows of the SRAM.
  • FIG. 1 is a block diagram illustrating one embodiment of an IC having a functional circuit block and an SRAM.
  • FIG. 2 is a block diagram illustrating one embodiment of an SRAM.
  • FIG. 3 is a schematic diagram of one embodiment of a level shifter circuit.
  • FIG. 4 is a schematic diagram illustrating one embodiment of a bit line hold circuit coupled to a number of bit cells.
  • FIG. 5 is a flow diagram illustrating one embodiment of a method for performing an initialization of an SRAM.
  • FIG. 6 is a block diagram of one embodiment of an exemplary system.
  • circuits, or other components may be described as “configured to” perform a task or tasks.
  • “configured to” is a broad recitation of structure generally meaning “having circuitry that” performs the task or tasks during operation.
  • the unit/circuit/component can be configured to perform the task even when the unit/circuit/component is not currently on.
  • the circuitry that forms the structure corresponding to “configured to” may include hardware circuits and/or memory storing program instructions executable to implement the operation.
  • the memory can include volatile memory such as static or dynamic random access memory and/or nonvolatile memory such as optical or magnetic disk storage, flash memory, programmable read-only memories, etc.
  • FIG. 1 a block diagram of one embodiment of an IC.
  • the embodiment of IC 10 shown here is an exemplary embodiment and is not intended to cover all possible embodiments of an IC falling within the scope of this disclosure. Rather, IC 10 is shown here for illustrative purposes and thus represents only one of many possible IC embodiments according to the principles and scope of the disclosure as discussed below.
  • IC 10 as shown in FIG. 1 includes a functional circuit block 11 and an SRAM 20 .
  • the SRAM 20 may provide storage for data used by functional circuit block 11 during operation.
  • SRAM 20 may be a cache memory
  • functional circuit block 11 may be a processor core configured to access the cache and write back data thereto. It is noted that for the sake of simplicity that not all connections between SRAM 20 and functional circuit block 11 are shown. For example, no path for reading data from SRAM 20 by functional circuit block 11 is shown, although it is to be understood that at least one such path is present.
  • SRAM 20 is coupled to a corresponding decoder 22 , which is configured to decode read and write addresses, provide write and read enable signals during write and read operations, respectively, and so on.
  • functional circuit block 11 is configured to convey various signals and data to SRAM 20 for performing writes thereto.
  • signals are a write enable signal (WrEn), column select signals (Col_Sel), row select signals (Row_Sel), and data bits (D0-DX), where the width of the data bus is an integer value X+1.
  • Functional circuit block 11 and SRAM 20 are in different power domains and thus receive different supply voltages in the illustrated embodiment. More particularly, functional circuit block 11 is coupled to receive voltage Vdd, while SRAM 20 and decoder 22 are coupled to receive Vdd_SRAM. Accordingly, level shifters are placed between functional circuit block 11 and decoder 22 /SRAM 20 .
  • a first group of level shifters 29 and a second group of level shifters 30 are coupled between functional circuit block 11 and decoder 22 /SRAM 20 .
  • Both groups of level shifters in the embodiment shown are coupled to receive a respective isolation signal (Iso_ 0 , Iso_ 1 ) from functional circuit block 11 .
  • the isolation signals may be used to effectively isolate data SRAM 20 from functional circuit block 11 such that data stored in the former is not disturbed.
  • both groups of level shifters 29 and 30 are coupled to receive a clock signal from a clock source (ClkSrc) 13 that is in the Vdd power domain.
  • One of the level shifters 29 outputs a level shifted version of the clock signal to decoder 22 .
  • one of the level shifters 30 outputs the level shifted clock signal as a precharge clock signal, Pre_Clk_L.
  • the low phase of the clock cycle may be used as an input signal to the gate terminals of pre-charge transistors, implemented using p-channel metal oxide semiconductor (PMOS) devices, for performing a precharge of the bit lines during normal read and write operations.
  • PMOS metal oxide semiconductor
  • an initialization procedure may be performed.
  • the initialization procedure may be performed by writing predetermined data to each storage location within SRAM 20 .
  • SRAM 20 may be initialized by writing logic 0's to each bit cell of each storage location within SRAM 20 .
  • Functional circuit block 11 may assert and hold an initialization signal (Initialize) during the initialization procedure.
  • the isolation signal Iso_ 0 may also be held asserted during the initialization procedure.
  • the asserted initialization and Iso_ 0 signals may be received by level shifters 30 . Responsive to receiving these signals, level shifters 30 may drive the enable signal to a predetermined logic level opposite of that when the isolation signal alone is asserted. For example, if the isolation signal Iso_ 0 causes the level shifters 30 to drive their respective outputs high (or to logic 1), assertion of the initialization concurrent with assertion of Iso_ 0 ) may cause level shifters 30 to drive their respective outputs low (or to logic 0).
  • a precharge clock (Pre_Clk) may be held to a predetermined level (e.g., high, or logic 1) during the initialization procedure. Since toggling of the precharge clock may be used to effect precharging, holding the precharge clock high may inhibit precharging of bit lines is performed during the writing of initialization data during the initialization procedure.
  • Decoder 22 may also receive the initialization signal and responsive thereto, force all column select signals to their asserted level.
  • functional circuit block 11 could force assertion of all the column select signals. In either case, all column select signals may be asserted such that all columns (or banks, depending on the arrangement of SRAM 20 ) are concurrently enabled for writing.
  • Holding as asserted the write enable signal and each column select signal may allow for significantly faster initialization of SRAM 20 . More particularly, holding the signals in these state may allow each storage location within a given row to be written substantially simultaneously. Thus, instead of the number of write cycles being equal to the number of storage locations in SRAM 20 , or the number of rows multiplied by the number of columns, the number of write cycles in the various embodiments discussed herein may be equal to the number of rows. This may represent a substantial reduction in the time spent performing the initialization. Moreover, significant dynamic power savings may be achieved by preventing toggling of the precharge clock and thus inhibiting the occurrence of precharging.
  • FIG. 2 is a block diagram illustrating one embodiment of SRAM 20 . It is noted that the size and organization of an SRAM may vary from this particular example while still falling within the scope of this disclosure.
  • decoder 22 may assert bank enable signals (BankEn[3:0]) for each bank based on the signals output from level shifters 30 shown in FIG. 1 . Furthermore, if the individual storage locations are independently selectable, then enable signals (not shown) may be asserted for each of these as well.
  • Decoder 22 may also assert a write enable signal, while the precharge (Precharge) signal may be inhibited due to the precharge clock being held in a predetermined state.
  • the writing of initialization data may be performed with decoder 22 asserting the word line signals (WL[n ⁇ 1:0]) one by one. When a given word line signal is asserted, initialization data may be concurrently written to each storage location of each bank within that row of SRAM 20 .
  • level shifter 30 includes a pull-up circuit and a pull-down circuit coupled to the output node, Out.
  • the pull-up circuit includes PMOS devices P 6 and P 7 .
  • the pull-down circuit includes n-channel metal oxide semiconductor (NMOS) devices N 4 and N 5 .
  • NMOS n-channel metal oxide semiconductor
  • the arrangement of the pull-up and pull-down circuits relative to the signal inputs results in a priority for controlling the output signal.
  • the initialization signal active high in this embodiment
  • the isolation signal active low in this embodiment
  • the output node is pulled low in this embodiment (which concurs with the assertion levels of the bank select and write enable signals).
  • assertion of the initialization signal activates transistor N 5 while causing P 6 to be inactive.
  • assertion of the active low isolation signal causes activation of both P 7 and N 4 (the latter being activated due to a high received on the Iso node from inverter 12 ).
  • P 6 inactive no pull-up path is present from the output node.
  • both N 4 and N 5 active a pull-down path exists between the output node and the reference node, Vss. Accordingly, the output node is pulled low.
  • N 5 When the initialization signal is de-asserted concurrent with assertion of the isolation signal, N 5 is inactive while P 6 is activated. Thus, the pull-down path is blocked due to the inactive N 5 , while a pull-up path exists between the output nod and Vdd_SRAM through P 6 and P 7 . Accordingly, assertion of the isolation signal results in the output node being pulled high. Assertion of the isolation signal also activates transistor P 1 . This in turn provides a pull-up path between Out_ and Vdd_SRAM, and thereby inhibits activation of P 4 .
  • level shifter 30 may perform its normal level shifting functions. Signals to be level shifted may be received from one power domain (e.g., the Vdd power domain) on the input, In (received from the Vdd power domain in this embodiment).
  • the isolation signal, Iso is de-asserted (i.e., high in this embodiment)
  • transistor N 3 is active while P 1 is inactive. Accordingly, with both the isolation and initialization signals de-asserted, a pull-down path will exist either through N 1 and N 3 or N 2 and N 3 , depending on the input signal.
  • transistor N 1 is activated while inverter 11 outputs a low that is received on P 5 , thereby activating that device. Accordingly the Out_node is pulled low through N 1 and N 3 , while the output node is pulled toward VDD_SRAM through P 5 and P 4 . If the input signal is low, P 3 is active while N 2 is activated via the output if 11. Accordingly, the output node is pulled low through N 2 and N 3 , while the Out_node is pulled toward Vdd_SRAM through P 2 and P 3 .
  • FIG. 4 is a schematic diagram illustrating one embodiment of a bit line hold circuit coupled to a number of bit cells.
  • bit line hold circuit 40 is coupled to a number of bit cells 45 , one in each row.
  • one bit line hold circuit is implemented for each column of bit cells 45 .
  • each bit cell is a standard 6T bit cell, including a pair of cross-coupled inverters to store the data and NMOS transistors for coupling the inverters to respective bit lines, BL and BL_.
  • Data may be conveyed to the inverters of a bit cell 45 by asserting the corresponding word line and thus activating the corresponding NMOS transistors. When the corresponding word line is inactive, the cross-coupled inverters may hold the data.
  • Bit line hold circuit 40 is configured to convey data onto the bit lines, and further configured to hold data on the bit lines.
  • the circuit includes two pull-down circuits. A first of these pull-down circuits is implemented by transistors N 6 and N 7 , while a second of these circuits is implemented by transistors N 8 and N 9 .
  • Conveying data to the bit lines may be performed by asserting the write enable signal (which is output as high from decoder 22 ). Assertion of the write enable signal activates both transistors N 6 and N 7 .
  • Data to be conveyed onto the bit line is received on the node WrData and WrData_, which are complements of one another. Accordingly, the received data will activate either N 7 or N 9 , while the other one of these devices will remain in active.
  • the active pull-down path will cause its correspondingly coupled bit line to be pulled low, while the other bit line will remain high.
  • bit line hold circuit also includes a pair of cross-coupled PMOS transistors P 8 and P 9 .
  • P 8 and P 9 may be activated to pull its correspondingly coupled bit line high.
  • the other one of these devices may remain inactive until the state of the data conveyed thereto changes.
  • the presence of P 8 and P 9 may compensate for leakage and other noise sources during the pre-charge free writing of initialization data to the bit cells 45 of SRAM 20 .
  • FIG. 5 is a flow diagram illustrating one embodiment of a method for performing an initialization of an SRAM.
  • Method 500 as shown herein may be performed by various embodiments of the circuitry/hardware discussed above.
  • Other embodiments of circuitry/hardware capable of performing various embodiments of method 500 (or on which the method may be performed) are also possible and contemplated.
  • Method 500 begins with the assertion of an initialization signal (block 505 ).
  • the initialization signal may be asserted by a functional circuit block or other circuitry tasked with initiating and performing the initialization of the SRAM.
  • various signals such as bank/column select signals, write enables, and precharge clock signals may be driven and held at predetermined levels (block 510 ). This may have the effect of write enabling all columns and all banks (if bank organization is present) in the SRAM.
  • initialization data may then be concurrently written to all storage locations in a first row of the SRAM (block 515 ). In an SRAM organized into banks, this may include writing initialization data to all storage locations in each of the banks within that given row. If there are no more rows
  • a subsequent write of initialization data is performed on all locations in a next row of the SRAM (block 520 ). If there are additional rows to which initialization data is to be written (block 525 , yes), then the method returns to block 520 . This loop may be repeated as many times as necessary until initialization data has been written to all locations in each row of the SRAM. If there are no more rows to which initialization data is to be written (block 525 , no), then initialization may be complete and the initialization signal may be de-asserted (block 530 ). Thereafter, method 500 is complete.
  • the system 150 includes at least one instance of the integrated circuit 10 coupled to external memory 158 .
  • the integrated circuit 10 is coupled to one or more peripherals 154 and the external memory 158 .
  • a power supply 156 is also provided which supplies the supply voltages to the integrated circuit 10 as well as one or more supply voltages to the memory 158 and/or the peripherals 154 .
  • more than one instance of the integrated circuit 10 may be included (and more than one external memory 158 may be included as well).
  • the peripherals 154 may include any desired circuitry, depending on the type of system 150 .
  • the system 150 may be a mobile device (e.g. personal digital assistant (PDA), smart phone, etc.) and the peripherals 154 may include devices for various types of wireless communication, such as WiFi, Bluetooth, cellular, global positioning system, etc.
  • the peripherals 154 may also include additional storage, including RAM storage, solid-state storage, or disk storage.
  • the peripherals 154 may include user interface devices such as a display screen, including touch display screens or multitouch display screens, keyboard or other input devices, microphones, speakers, etc.
  • the system 150 may be any type of computing system (e.g. desktop personal computer, laptop, workstation, tablet, etc.).
  • the external memory 158 may include any type of memory.
  • the external memory 158 may be SRAM, dynamic RAM (DRAM) such as synchronous DRAM (SDRAM), double data rate (DDR, DDR2, DDR3, LPDDR 1 , LPDDR 2 , etc.) SDRAM, RAMBUS DRAM, etc.
  • DRAM dynamic RAM
  • the external memory 158 may include one or more memory modules to which the memory devices are mounted, such as single inline memory modules (SIMMs), dual inline memory modules (DIMMs), etc.

Abstract

A method and various circuit embodiments for low latency initialization of an SRAM are disclosed. In one embodiment, an IC includes an SRAM coupled to at least one functional circuit block. The SRAM includes a number of storage location arranged in rows and columns. The functional circuit block and the SRAM may be in different power domains. Upon initially powering up or a restoration of power, the functional circuit block may assert an initialization signal to begin an initialization process. Responsive to the initialization signal, level shifters may force assertion of various select/enable signals in a decoder associated with the SRAM. Thereafter, initialization data may be written to the SRAM. Writing initialization data may be performed on a row-by-row basis, with all columns in a row being written to substantially simultaneously.

Description

    BACKGROUND
  • 1. Technical Field
  • This disclosure is directed to integrated circuits (ICs) and more particularly, to circuitry used in conjunction with static random access memories (SRAMs) and operation of the same.
  • 2. Description of the Related Art
  • Static random access memories (SRAMs) are widely used in integrated circuits (ICs). Applications of SRAM in ICs includes caches, register files, buffers, and so forth. Advantages of SRAM include a higher density than flip-flops along, faster speeds than dynamic random access memories (DRAMs), while not requiring the refresh cycles used to maintain information in a DRAM.
  • When a unit including an SRAM is first powered on (either initially or when returning to an active state from a sleep state), the SRAM may be initialized. Initialization of an SRAM may include writing predetermined data to each address therein. For example, during the initialization, a functional circuit block may write all logic 0's to each address in a correspondingly coupled SRAM. The data may be written into the addresses sequentially (i.e. one address after another) until data has been written into all addresses of the SRAM. Thereafter, normal operations utilizing the SRAM may commence.
  • SUMMARY
  • A method and various circuit embodiments for low latency initialization of an SRAM are disclosed. In one embodiment, an IC includes an SRAM coupled to at least one functional circuit block. The SRAM includes a number of storage locations arranged in rows and columns. The functional circuit block and the SRAM may be in different power domains. Upon initially powering up or a restoration of power, the functional circuit block may assert an initialization signal to begin an initialization process. Responsive to the initialization signal, level shifters may force assertion of various select/enable signals in a decoder associated with the SRAM. Thereafter, initialization data may be written to the SRAM. Writing initialization data may be performed on a row-by-row basis, with all columns in a row being written to substantially simultaneously.
  • In one embodiment, an SRAM may include a number of banks, and each row of the SRAM may extend across the number of banks. On a given row within each bank one or more storage locations may be implemented, with each of the storage locations having a number of bits. During the writing of initialization data, all banks and all storage locations within a given row are written to concurrently.
  • At least some of the level shifters used to convey signals from the functional circuit block to the may be coupled to receive the initialization signal. Responsive to receiving the initialization signal, these level shifters may drive their respective output nodes to a predetermined logic level, irrespective of any other inputs. The outputs of these level shifters may then force the decoder of the SRAM to allow a number of storage locations within a given row to be written to concurrently.
  • Bit line hold circuits associated with bit cells each include extra hold circuitry to hold the initialization data during the initialization. Each bit line hold circuit may be coupled to a column of bit cells that extends through the rows of the SRAM.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The following detailed description makes reference to the accompanying drawings, which are now briefly described.
  • FIG. 1 is a block diagram illustrating one embodiment of an IC having a functional circuit block and an SRAM.
  • FIG. 2 is a block diagram illustrating one embodiment of an SRAM.
  • FIG. 3 is a schematic diagram of one embodiment of a level shifter circuit.
  • FIG. 4 is a schematic diagram illustrating one embodiment of a bit line hold circuit coupled to a number of bit cells.
  • FIG. 5 is a flow diagram illustrating one embodiment of a method for performing an initialization of an SRAM.
  • FIG. 6 is a block diagram of one embodiment of an exemplary system.
  • While the disclosed subject matter is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the subject matter to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the disclosed subject matter as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include”, “including”, and “includes” mean including, but not limited to.
  • Various units, circuits, or other components may be described as “configured to” perform a task or tasks. In such contexts, “configured to” is a broad recitation of structure generally meaning “having circuitry that” performs the task or tasks during operation. As such, the unit/circuit/component can be configured to perform the task even when the unit/circuit/component is not currently on. In general, the circuitry that forms the structure corresponding to “configured to” may include hardware circuits and/or memory storing program instructions executable to implement the operation. The memory can include volatile memory such as static or dynamic random access memory and/or nonvolatile memory such as optical or magnetic disk storage, flash memory, programmable read-only memories, etc. Similarly, various units/circuits/components may be described as performing a task or tasks, for convenience in the description. Such descriptions should be interpreted as including the phrase “configured to.” Reciting a unit/circuit/component that is configured to perform one or more tasks is expressly intended not to invoke 35 U.S.C. §112, paragraph (f) interpretation for that unit/circuit/component.
  • DETAILED DESCRIPTION OF EMBODIMENTS
  • Turning now to FIG. 1, a block diagram of one embodiment of an IC. The embodiment of IC 10 shown here is an exemplary embodiment and is not intended to cover all possible embodiments of an IC falling within the scope of this disclosure. Rather, IC 10 is shown here for illustrative purposes and thus represents only one of many possible IC embodiments according to the principles and scope of the disclosure as discussed below.
  • IC 10 as shown in FIG. 1 includes a functional circuit block 11 and an SRAM 20. The SRAM 20 may provide storage for data used by functional circuit block 11 during operation. For example, SRAM 20 may be a cache memory, while functional circuit block 11 may be a processor core configured to access the cache and write back data thereto. It is noted that for the sake of simplicity that not all connections between SRAM 20 and functional circuit block 11 are shown. For example, no path for reading data from SRAM 20 by functional circuit block 11 is shown, although it is to be understood that at least one such path is present.
  • SRAM 20 is coupled to a corresponding decoder 22, which is configured to decode read and write addresses, provide write and read enable signals during write and read operations, respectively, and so on.
  • In the embodiment shown, functional circuit block 11 is configured to convey various signals and data to SRAM 20 for performing writes thereto. Among these signals are a write enable signal (WrEn), column select signals (Col_Sel), row select signals (Row_Sel), and data bits (D0-DX), where the width of the data bus is an integer value X+1.
  • Functional circuit block 11 and SRAM 20 (in conjunction with decoder 22) are in different power domains and thus receive different supply voltages in the illustrated embodiment. More particularly, functional circuit block 11 is coupled to receive voltage Vdd, while SRAM 20 and decoder 22 are coupled to receive Vdd_SRAM. Accordingly, level shifters are placed between functional circuit block 11 and decoder 22/SRAM 20.
  • In this particular example, a first group of level shifters 29 and a second group of level shifters 30 are coupled between functional circuit block 11 and decoder 22/SRAM 20. Both groups of level shifters in the embodiment shown are coupled to receive a respective isolation signal (Iso_0, Iso_1) from functional circuit block 11. The isolation signals may be used to effectively isolate data SRAM 20 from functional circuit block 11 such that data stored in the former is not disturbed. Additionally, both groups of level shifters 29 and 30 are coupled to receive a clock signal from a clock source (ClkSrc) 13 that is in the Vdd power domain. One of the level shifters 29 outputs a level shifted version of the clock signal to decoder 22. Meanwhile, one of the level shifters 30 outputs the level shifted clock signal as a precharge clock signal, Pre_Clk_L. In the embodiment shown, the low phase of the clock cycle may be used as an input signal to the gate terminals of pre-charge transistors, implemented using p-channel metal oxide semiconductor (PMOS) devices, for performing a precharge of the bit lines during normal read and write operations.
  • Upon initial powering up of IC 10, or when restoring power to SRAM 20 and decoder 22 (e.g., when exiting a power-gated sleep mode), an initialization procedure may be performed. The initialization procedure may be performed by writing predetermined data to each storage location within SRAM 20. For example, SRAM 20 may be initialized by writing logic 0's to each bit cell of each storage location within SRAM 20.
  • Functional circuit block 11 may assert and hold an initialization signal (Initialize) during the initialization procedure. In this embodiment, the isolation signal Iso_0 may also be held asserted during the initialization procedure. The asserted initialization and Iso_0 signals may be received by level shifters 30. Responsive to receiving these signals, level shifters 30 may drive the enable signal to a predetermined logic level opposite of that when the isolation signal alone is asserted. For example, if the isolation signal Iso_0 causes the level shifters 30 to drive their respective outputs high (or to logic 1), assertion of the initialization concurrent with assertion of Iso_0) may cause level shifters 30 to drive their respective outputs low (or to logic 0). This may cause the write enable signal to be asserted (since it is an active low signal). In addition, a precharge clock (Pre_Clk) may be held to a predetermined level (e.g., high, or logic 1) during the initialization procedure. Since toggling of the precharge clock may be used to effect precharging, holding the precharge clock high may inhibit precharging of bit lines is performed during the writing of initialization data during the initialization procedure. Decoder 22 may also receive the initialization signal and responsive thereto, force all column select signals to their asserted level. In an alternate embodiment, functional circuit block 11 could force assertion of all the column select signals. In either case, all column select signals may be asserted such that all columns (or banks, depending on the arrangement of SRAM 20) are concurrently enabled for writing.
  • Holding as asserted the write enable signal and each column select signal may allow for significantly faster initialization of SRAM 20. More particularly, holding the signals in these state may allow each storage location within a given row to be written substantially simultaneously. Thus, instead of the number of write cycles being equal to the number of storage locations in SRAM 20, or the number of rows multiplied by the number of columns, the number of write cycles in the various embodiments discussed herein may be equal to the number of rows. This may represent a substantial reduction in the time spent performing the initialization. Moreover, significant dynamic power savings may be achieved by preventing toggling of the precharge clock and thus inhibiting the occurrence of precharging.
  • FIG. 2 is a block diagram illustrating one embodiment of SRAM 20. It is noted that the size and organization of an SRAM may vary from this particular example while still falling within the scope of this disclosure.
  • In this particular example, SRAM 20 includes four banks (Bank 0, Bank 1, Bank 2, and Bank 3) and n rows. In one embodiment, n=64, although this number may vary. Within each bank in a given row, there are four storage locations (addresses 0, 1, 2, and 3), although this number may also vary. During the initialization procedure, decoder 22 may assert bank enable signals (BankEn[3:0]) for each bank based on the signals output from level shifters 30 shown in FIG. 1. Furthermore, if the individual storage locations are independently selectable, then enable signals (not shown) may be asserted for each of these as well. Decoder 22 may also assert a write enable signal, while the precharge (Precharge) signal may be inhibited due to the precharge clock being held in a predetermined state. The writing of initialization data may be performed with decoder 22 asserting the word line signals (WL[n−1:0]) one by one. When a given word line signal is asserted, initialization data may be concurrently written to each storage location of each bank within that row of SRAM 20. In one embodiment, decoder 22 may assert the word line signals sequentially beginning with word line 0 (WL0) and ending with the final word line, WLn−1. If n=64 in the example shown, then the concurrent writing to each storage location in a given row results in the initialization procedure consuming 64 write cycles. In contrast, were the same embodiment to be initialized on a location-by-location basis, 1024 write cycles would be consumed.
  • Turning now to FIG. 3, one embodiment of a level shifter 30 is shown. In the embodiment shown, level shifter 30 includes a pull-up circuit and a pull-down circuit coupled to the output node, Out. The pull-up circuit includes PMOS devices P6 and P7. The pull-down circuit includes n-channel metal oxide semiconductor (NMOS) devices N4 and N5. The arrangement of the pull-up and pull-down circuits relative to the signal inputs results in a priority for controlling the output signal. Moreover, when the initialization signal (active high in this embodiment) is asserted concurrent with assertion of the isolation signal (active low in this embodiment), the output node is pulled low in this embodiment (which concurs with the assertion levels of the bank select and write enable signals). In particular, assertion of the initialization signal activates transistor N5 while causing P6 to be inactive. Assertion of the active low isolation signal causes activation of both P7 and N4 (the latter being activated due to a high received on the Iso node from inverter 12). With P6 inactive, no pull-up path is present from the output node. However, with both N4 and N5 active, a pull-down path exists between the output node and the reference node, Vss. Accordingly, the output node is pulled low.
  • When the initialization signal is de-asserted concurrent with assertion of the isolation signal, N5 is inactive while P6 is activated. Thus, the pull-down path is blocked due to the inactive N5, while a pull-up path exists between the output nod and Vdd_SRAM through P6 and P7. Accordingly, assertion of the isolation signal results in the output node being pulled high. Assertion of the isolation signal also activates transistor P1. This in turn provides a pull-up path between Out_ and Vdd_SRAM, and thereby inhibits activation of P4.
  • When neither the isolation (Iso) or initialization (Initialize) signals are asserted, level shifter 30 may perform its normal level shifting functions. Signals to be level shifted may be received from one power domain (e.g., the Vdd power domain) on the input, In (received from the Vdd power domain in this embodiment). When the isolation signal, Iso, is de-asserted (i.e., high in this embodiment), transistor N3 is active while P1 is inactive. Accordingly, with both the isolation and initialization signals de-asserted, a pull-down path will exist either through N1 and N3 or N2 and N3, depending on the input signal. If the input signal is high, transistor N1 is activated while inverter 11 outputs a low that is received on P5, thereby activating that device. Accordingly the Out_node is pulled low through N1 and N3, while the output node is pulled toward VDD_SRAM through P5 and P4. If the input signal is low, P3 is active while N2 is activated via the output if 11. Accordingly, the output node is pulled low through N2 and N3, while the Out_node is pulled toward Vdd_SRAM through P2 and P3.
  • FIG. 4 is a schematic diagram illustrating one embodiment of a bit line hold circuit coupled to a number of bit cells. In the embodiment shown, bit line hold circuit 40 is coupled to a number of bit cells 45, one in each row. In various embodiments of an SRAM 20, one bit line hold circuit is implemented for each column of bit cells 45. In this particular example, each bit cell is a standard 6T bit cell, including a pair of cross-coupled inverters to store the data and NMOS transistors for coupling the inverters to respective bit lines, BL and BL_. Data may be conveyed to the inverters of a bit cell 45 by asserting the corresponding word line and thus activating the corresponding NMOS transistors. When the corresponding word line is inactive, the cross-coupled inverters may hold the data.
  • Bit line hold circuit 40 is configured to convey data onto the bit lines, and further configured to hold data on the bit lines. The circuit includes two pull-down circuits. A first of these pull-down circuits is implemented by transistors N6 and N7, while a second of these circuits is implemented by transistors N8 and N9. Conveying data to the bit lines may be performed by asserting the write enable signal (which is output as high from decoder 22). Assertion of the write enable signal activates both transistors N6 and N7. Data to be conveyed onto the bit line is received on the node WrData and WrData_, which are complements of one another. Accordingly, the received data will activate either N7 or N9, while the other one of these devices will remain in active. The active pull-down path will cause its correspondingly coupled bit line to be pulled low, while the other bit line will remain high.
  • In the embodiment shown, bit line hold circuit also includes a pair of cross-coupled PMOS transistors P8 and P9. During the conveying of data from the WrData and WrDatalines to the bit lines, one of these devices may be activated to pull its correspondingly coupled bit line high. The other one of these devices may remain inactive until the state of the data conveyed thereto changes. The presence of P8 and P9 may compensate for leakage and other noise sources during the pre-charge free writing of initialization data to the bit cells 45 of SRAM 20.
  • FIG. 5 is a flow diagram illustrating one embodiment of a method for performing an initialization of an SRAM. Method 500 as shown herein may be performed by various embodiments of the circuitry/hardware discussed above. Other embodiments of circuitry/hardware capable of performing various embodiments of method 500 (or on which the method may be performed) are also possible and contemplated.
  • Method 500 begins with the assertion of an initialization signal (block 505). The initialization signal may be asserted by a functional circuit block or other circuitry tasked with initiating and performing the initialization of the SRAM. Responsive to assertion of the initialization signal, various signals such as bank/column select signals, write enables, and precharge clock signals may be driven and held at predetermined levels (block 510). This may have the effect of write enabling all columns and all banks (if bank organization is present) in the SRAM. With all columns/banks write enabled, initialization data may then be concurrently written to all storage locations in a first row of the SRAM (block 515). In an SRAM organized into banks, this may include writing initialization data to all storage locations in each of the banks within that given row. If there are no more rows
  • With the initialization written to the first row, a subsequent write of initialization data is performed on all locations in a next row of the SRAM (block 520). If there are additional rows to which initialization data is to be written (block 525, yes), then the method returns to block 520. This loop may be repeated as many times as necessary until initialization data has been written to all locations in each row of the SRAM. If there are no more rows to which initialization data is to be written (block 525, no), then initialization may be complete and the initialization signal may be de-asserted (block 530). Thereafter, method 500 is complete.
  • Turning next to FIG. 6, a block diagram of one embodiment of a system 150 is shown. In the illustrated embodiment, the system 150 includes at least one instance of the integrated circuit 10 coupled to external memory 158. The integrated circuit 10 is coupled to one or more peripherals 154 and the external memory 158. A power supply 156 is also provided which supplies the supply voltages to the integrated circuit 10 as well as one or more supply voltages to the memory 158 and/or the peripherals 154. In some embodiments, more than one instance of the integrated circuit 10 may be included (and more than one external memory 158 may be included as well).
  • The peripherals 154 may include any desired circuitry, depending on the type of system 150. For example, in one embodiment, the system 150 may be a mobile device (e.g. personal digital assistant (PDA), smart phone, etc.) and the peripherals 154 may include devices for various types of wireless communication, such as WiFi, Bluetooth, cellular, global positioning system, etc. The peripherals 154 may also include additional storage, including RAM storage, solid-state storage, or disk storage. The peripherals 154 may include user interface devices such as a display screen, including touch display screens or multitouch display screens, keyboard or other input devices, microphones, speakers, etc. In other embodiments, the system 150 may be any type of computing system (e.g. desktop personal computer, laptop, workstation, tablet, etc.).
  • The external memory 158 may include any type of memory. For example, the external memory 158 may be SRAM, dynamic RAM (DRAM) such as synchronous DRAM (SDRAM), double data rate (DDR, DDR2, DDR3, LPDDR1, LPDDR2, etc.) SDRAM, RAMBUS DRAM, etc. The external memory 158 may include one or more memory modules to which the memory devices are mounted, such as single inline memory modules (SIMMs), dual inline memory modules (DIMMs), etc.
  • 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.

Claims (20)

What is claimed is:
1. An integrated circuit comprising:
a functional circuit block;
a static random access memory (SRAM) coupled to the functional circuit block, wherein the SRAM includes a plurality of storage locations organized into a plurality of rows and a plurality of columns; and
a plurality of level shifter circuits including:
a first level shifter configured to disable a precharge signal received by the SRAM responsive to assertion of an initialization signal by the functional circuit block; and
a second level shifter configured to force assertion of a write enable signal received by the SRAM responsive to assertion of the initialization signal;
wherein the SRAM includes a decoder configured to force assertion of each of a plurality of column select signals received by the SRAM responsive to assertion of the initialization signal.
2. The integrated circuit as recited in claim 1, wherein each of the plurality of level shifters includes:
an output driver circuit;
an initialization input configured to receive the initialization signal, wherein the output driver circuit is configured to drive an output node of the level shifter to a first logic level responsive to assertion of the initialization signal.
3. The integrated circuit as recited in claim 2, wherein each of the plurality of level shifters further includes:
an isolation input configured to receive an isolation signal, wherein the output driver circuit is configured to drive the output node of the level shifter to a second logic level drive responsive to assertion of the isolation signal while the initialization signal is de-asserted, and
a data input configured to receive a data signal, wherein the output driver circuit is configured to drive the output node of the level shifter to a logic level equivalent to that of a signal received on the third input when both the isolation and initialization signals are de-asserted;
4. The integrated circuit as recited in claim 3, wherein each of the plurality of level shifters further includes:
a first pull-up circuit coupled between a first supply voltage node and a complementary output node;
a first pull-down circuit coupled to the complementary output node;
a second pull-up circuit coupled between the first supply voltage node and the output node; and
a second pull-down circuit coupled to the output node.
5. The integrated circuit as recited in claim 4, wherein the first pull-up circuit includes a first p-channel metal oxide semiconductor (PMOS) transistor having a respective gate terminal coupled to the output node and a second PMOS transistor having a respective gate terminal coupled to the data input, and wherein the second pull-up circuit includes a third PMOS transistor having a respective gate terminal coupled to the complementary output node and a fourth PMOS transistor having a respective gate terminal coupled to a complementary input node.
6. The integrated circuit as recited in claim 5, further comprising an inverter having a respective input coupled to the input node and a respective output coupled to the complementary input node.
7. The integrated circuit as recited in claim 4, further comprising an isolation transistor, wherein the isolation transistor is an n-channel metal oxide semiconductor (NMOS) transistor coupled between a reference node and each of the first and second pull-down circuits, and wherein a gate terminal of the isolation transistor is coupled to the isolation input.
8. The integrated circuit as recited in claim 7, wherein the isolation transistor is configured to complete a pull-down path for one of the first and second pull-down circuits when the isolation signal is de-asserted.
9. The integrated circuit as recited in claim 1, further comprising a plurality of bit line hold circuits each coupled to a plurality of bit cells in a corresponding one of the plurality of columns, wherein each of the bit line hold circuit includes:
a pair of cross-coupled p-channel metal oxide semiconductor (PMOS) transistors, wherein a first one of the cross-coupled PMOS transistors is coupled between an SRAM supply voltage node and a first bit line and a second one of the cross-coupled PMOS transistors is coupled between the supply voltage node and a second bit line, wherein the cross-coupled PMOS transistors are configured to hold data values on their respectively coupled bit lines during an initialization of the SRAM.
10. The integrated circuit as recited in claim 9, wherein each of the bit line hold circuit further includes:
a first pair of series-coupled n-channel metal oxide semiconductor (NMOS) transistors coupled between the first bit line and the reference node, the first pair including first and second NMOS transistors;
a second pair of series-coupled NMOS transistors coupled between the second bit line and the reference node, the second pair including third and fourth transistors;
wherein the first and third transistors are coupled to a write enable input, wherein the second transistor is coupled to a data input, and wherein the fourth transistor is coupled to a complementary data input.
11. A method comprising:
a functional circuit block asserting an initialization signal;
forcing assertion of a write enable signal and a plurality of bank select signals provided to a static random access memory (SRAM) responsive to assertion of the initialization signal, the SRAM having a plurality of rows and a plurality of banks;
inhibiting a precharge signal from being provided to the SRAM responsive to assertion of the initialization signal;
concurrently writing initialization data to each address in a first one of the plurality of rows; and
repeating said concurrently writing of initialization data for each address of each remaining one of the plurality of rows.
12. The method as recited in claim 11, wherein each of the plurality of rows of the SRAM extends across the plurality of banks, wherein the method further comprises concurrently writing initialization data within a given row for each of the plurality of banks.
13. The method as recited in claim 11, further comprising:
a first one of a plurality of level shifters forcing assertion of the write enable signal responsive to receiving the initialization signal; and
a second one of the plurality of level shifters forcing the precharge clock to remain at a predetermined level responsive to receiving the initialization signal.
14. The method as recited in claim 13, further comprising a decoder associated with the SRAM forcing assertion of bank select signals for each of the plurality of banks responsive to receiving the initialization signal.
15. The method as recited in claim 11 further comprising:
driving initialization data one each of a plurality of bit line pairs; and
holding the initialization data on the bit line pairs using a pair of cross-coupled p-channel metal oxide semiconductor transistors.
16. An integrated circuit comprising:
a static random access memory (SRAM) having a plurality of rows and a plurality of banks, wherein each of the plurality of rows extends across the plurality of banks;
a decoder circuit configured to, responsive to receiving an initialization signal from a functional circuit block of the integrated circuit, cause assertion of each of a plurality of bank select signals associated with respective ones of the plurality of banks and further cause assertion of a write enable signal;
wherein the functional circuit block is configured to perform an initialization of the SRAM by holding the initialization signal asserted and concurrently writing initialization data into a given row across each of the plurality of banks of the SRAM and further configured to repeat concurrently writing initialization data into each additional row across each of the plurality of banks of the SRAM until initialization data has been written into each of the plurality of rows.
17. The integrated circuit as recited in claim 16, further comprising a plurality of level shifters, wherein a first one of the plurality of level shifters is configured to hold a precharge clock at a predetermined level responsive to assertion of the initialization signal.
18. The integrated circuit as recited in claim 17, wherein each of the level shifters includes:
an output driver circuit;
an initialization input configured to receive the initialization signal, wherein the output driver circuit is configured to drive an output node of the level shifter to a first logic level responsive to assertion of the initialization signal;
an isolation input configured to receive an isolation signal, wherein the output driver circuit is configured to drive the output node of the level shifter to a second logic level when the isolation signal is asserted and the initialization signal is de-asserted.
19. The integrated circuit as recited in claim 18, further comprising a data input, wherein the level shifter is configured to provide an output signal on the output node at a logic level equivalent to an input signal received on the data input when both the initialization and isolation signals are de-asserted.
20. The integrated circuit as recited in claim 16, further comprising a plurality of bit line hold circuits each coupled to a plurality of bit cells in a corresponding one of the plurality of banks, wherein each of the plurality of bit cells is in a different one of the plurality of rows with respect to the other ones of the plurality of bit cells, wherein each of the bit line hold circuit includes:
a pair of cross-coupled p-channel metal oxide semiconductor (PMOS) transistors, wherein a first one of the cross-coupled PMOS transistors is coupled between an SRAM supply voltage node and a first bit line and a second one of the cross-coupled PMOS transistors is coupled between the supply voltage node and a second bit line, wherein the cross-coupled PMOS transistors are configured to hold data values on their respectively coupled bit lines during an initialization of the SRAM.
US14/482,613 2014-09-10 2014-09-10 Method and circuits for low latency initialization of static random access memory Active US9286971B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/482,613 US9286971B1 (en) 2014-09-10 2014-09-10 Method and circuits for low latency initialization of static random access memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/482,613 US9286971B1 (en) 2014-09-10 2014-09-10 Method and circuits for low latency initialization of static random access memory

Publications (2)

Publication Number Publication Date
US20160071574A1 true US20160071574A1 (en) 2016-03-10
US9286971B1 US9286971B1 (en) 2016-03-15

Family

ID=55438096

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/482,613 Active US9286971B1 (en) 2014-09-10 2014-09-10 Method and circuits for low latency initialization of static random access memory

Country Status (1)

Country Link
US (1) US9286971B1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9401201B1 (en) * 2015-05-22 2016-07-26 Qualcomm Incorporated Write driver for memory
US20160239060A1 (en) * 2015-02-13 2016-08-18 Qualcomm Incorporated Independent power collapse methodology
US10037788B2 (en) 2016-08-02 2018-07-31 SK Hynix Inc. Semiconductor devices and semiconductor systems
US10685697B2 (en) 2016-08-02 2020-06-16 SK Hynix Inc. Semiconductor devices and operations thereof
US10847195B2 (en) 2016-06-27 2020-11-24 SK Hynix Inc. Semiconductor device having ranks that performs a termination operation
US11133042B2 (en) 2016-06-27 2021-09-28 SK Hynix Inc. Semiconductor memory system and semiconductor memory device, which can be remotely initialized
US11217286B2 (en) 2016-06-27 2022-01-04 SK Hynix Inc. Semiconductor memory device with power down operation
US11443795B2 (en) * 2017-07-12 2022-09-13 Ambiq Micro, Inc. SRAM with address dependent power usage

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10082964B2 (en) * 2016-04-27 2018-09-25 Micron Technology, Inc Data caching for ferroelectric memory

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69024921T2 (en) 1989-11-24 1996-09-05 Nec Corp Semiconductor memory arrangement with resettable memory cells
KR100604890B1 (en) 2004-07-22 2006-07-28 삼성전자주식회사 Semiconductor device for initialization by the unit SRAMs
US7355905B2 (en) * 2005-07-01 2008-04-08 P.A. Semi, Inc. Integrated circuit with separate supply voltage for memory that is different from logic circuit supply voltage
US7292495B1 (en) * 2006-06-29 2007-11-06 Freescale Semiconductor, Inc. Integrated circuit having a memory with low voltage read/write operation
US8407395B2 (en) 2006-08-22 2013-03-26 Mosaid Technologies Incorporated Scalable memory system
US8488396B2 (en) 2010-02-04 2013-07-16 Taiwan Semiconductor Manufacturing Company, Ltd. Dual rail static random access memory
US20140063920A1 (en) 2012-08-28 2014-03-06 United States Government, As Represented By The Secretary Of The Navy Static random access memory that initializes to pre-determined state
US8976607B2 (en) * 2013-03-05 2015-03-10 Qualcomm Incorporated High-speed memory write driver circuit with voltage level shifting features

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160239060A1 (en) * 2015-02-13 2016-08-18 Qualcomm Incorporated Independent power collapse methodology
US9785211B2 (en) * 2015-02-13 2017-10-10 Qualcomm Incorporated Independent power collapse methodology
US9401201B1 (en) * 2015-05-22 2016-07-26 Qualcomm Incorporated Write driver for memory
US10847195B2 (en) 2016-06-27 2020-11-24 SK Hynix Inc. Semiconductor device having ranks that performs a termination operation
US11133042B2 (en) 2016-06-27 2021-09-28 SK Hynix Inc. Semiconductor memory system and semiconductor memory device, which can be remotely initialized
US11217286B2 (en) 2016-06-27 2022-01-04 SK Hynix Inc. Semiconductor memory device with power down operation
US10037788B2 (en) 2016-08-02 2018-07-31 SK Hynix Inc. Semiconductor devices and semiconductor systems
US10147471B2 (en) 2016-08-02 2018-12-04 SK Hynix Inc. Semiconductor devices and semiconductor systems
US10685697B2 (en) 2016-08-02 2020-06-16 SK Hynix Inc. Semiconductor devices and operations thereof
US10777241B2 (en) 2016-08-02 2020-09-15 SK Hynix Inc. Semiconductor devices and semiconductor systems
US11443795B2 (en) * 2017-07-12 2022-09-13 Ambiq Micro, Inc. SRAM with address dependent power usage

Also Published As

Publication number Publication date
US9286971B1 (en) 2016-03-15

Similar Documents

Publication Publication Date Title
US9286971B1 (en) Method and circuits for low latency initialization of static random access memory
US9773544B2 (en) Memory device with switchable sense amplifier
US8559247B2 (en) Dynamic level shifter for interfacing signals referenced to different power supply domains
US9311971B1 (en) Systems and methods of semiconductor memory devices including features of output buffer initialization circuit(s) and/or multiple power-up detection/handling
US9875788B2 (en) Low-power 5T SRAM with improved stability and reduced bitcell size
US9412429B2 (en) Memory device with multiple voltage generators
US8947951B2 (en) Semiconductor memory devices
US9159398B2 (en) Memory core and semiconductor memory device including the same
JP5621704B2 (en) Semiconductor memory device
US9589625B2 (en) Method of operating memory device and refresh method of the same
US8493811B2 (en) Memory having asynchronous read with fast read output
US9196350B2 (en) Active control device, semiconductor device and system including the same
US20060176078A1 (en) Voltage level shifting circuit and method
US20140016392A1 (en) Memory Having Isolation Units For Isolating Storage Arrays From A Shared I/O During Retention Mode Operation
US10720193B2 (en) Technique to lower switching power of bit-lines by adiabatic charging of SRAM memories
US9019751B2 (en) Process tolerant circuits
US8169246B2 (en) Dynamic-to-static converter latch with glitch suppression
US9922688B2 (en) Bitline sensing latch
EP3411877B1 (en) Shared sense amplifier
US8441885B2 (en) Methods and apparatus for memory word line driver
US8174918B2 (en) Passgate for dynamic circuitry
US10902907B1 (en) Output drivers, and related methods, memory devices, and systems
US10535400B2 (en) Level shifting dynamic write driver
JP2008176907A (en) Semiconductor memory device
KR100884262B1 (en) Word line decoder capable of preventing current from leaking

Legal Events

Date Code Title Description
AS Assignment

Owner name: APPLE INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HESS, GREG M.;ARVAPALLI, RAMESH;ARENGO, ANDREW L.;SIGNING DATES FROM 20140909 TO 20140910;REEL/FRAME:033712/0396

STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8