This section is intended to provide information relevant to understanding various technologies described herein. As the section's title implies, this is a discussion of related art that should in no way imply that it is prior art. Generally, related art may or may not be considered prior art. It should therefore be understood that any statement in this section should be read in this light, and not as any admission of prior art.
In conventional circuit designs, high-density bitcells typically exhibit excessive write-time due to weak passgates. This can limit the cycle-time of memory, and the timing complexity of write-assist can cause write failure at low or high voltage corners. Also, in some instances, operatively precharging bitlines to a high voltage supply (e.g., Vdd) may use a significant portion of overall dynamic power. As such, there exists a need to reduce precharge power so as to reduce the overall dynamic power of memory.
Implementations of various techniques are described herein with reference to the accompanying drawings. It should be understood, however, that the accompanying drawings illustrate only various implementations described herein and are not meant to limit embodiments of various techniques described herein.
Various implementations described herein are directed to bitline precharge (or discharge) circuitry including schemes and techniques for cycle-time improvement (write-time reduction and bitline precharge/discharge time reduction). The various schemes and techniques described herein may provide power savings by discharging bitlines to ground (e.g., near 0V) instead of precharging bitlines to a positive voltage supply (Vdd) for high-density bitcell memory instances. Various schemes and techniques described herein may assist with reducing write-time and reducing bitline precharge power. As such, instead of precharging bitlines to Vdd, the bitlines will be discharged to ground, such as, e.g., Gnd or Vss, which is near or equal to zero volts (0V. In some implementations, one or more or all unselected bitlines will be discharged to zero volts (0V. As such, the various schemes and techniques described herein provide for discharging the bitlines to ground (e.g., near 0V) before a read/write operation instead of precharging the bitlines to Vdd. In reference to the various implementations described herein, there is generally no area impact by introducing this circuit, and there is no critical dependency of other signals on bitline timing that may affect margin.
Various implementations of bitline precharge circuitry will be described in detail herein with reference to
As shown in
The memory circuitry 100 may be implemented as an integrated circuit (IC) in using various types of memory, such as, e.g., random access memory (RAM), including static RAM (SRAM), and/or any other types of volatile memory. In some instances, the memory circuitry 100 may be implemented as an IC with dual rail memory architecture and related circuitry. In other instances, the memory circuitry 100 may be integrated with computing circuitry and related components on a single chip. Also, the memory circuitry 100 may be implemented in various embedded systems for various electronic, mobile and Internet-of-things (IoT) applications, including low power sensor nodes.
As shown in
In some cases, each memory cell may be implemented with random access memory (RAM) circuitry, or some other type of volatile type memory. For instance, each memory cell (or bitcell) may include a multi-transistor static RAM (SRAM) cell, including various types of SRAM cells, such as, e.g., 6T CMOS SRAM and/or various other types of complementary MOS (CMOS) SRAM cells, such as, e.g., 2T, 4T, 8T, 10T, 12T, 14T or more transistors per bit. For reference, an example 6T CMOS SRAM bitcell 224 is shown in
Referring to diagram 200A of
The row decoder (ROWDEC) may operate at the core supply voltage Vdd, and other components, such as, e.g., a write driver may generate a write (WR) driver signal at another supply voltage that may be different than the core supply voltage Vdd, such as, e.g., the negative voltage supply Vss or some other voltage, such as, e.g., a periphery supply voltage Vddp. As described herein, the CORE 102 may operate with the following characteristics: Vdd>0V, and Gnd/Vss=0V, or near 0V.
The memory circuitry 100 may include the precharge circuitry 104A (PRECH) having one or more precharge transistor pairs (e.g., NMOS transistor pairs T0/T1, T2/T3, T4/T5, T6/T7) that are arranged in parallel and also coupled to corresponding bitline pairs (BL0/NBL0, BL1/NBL1, BL2/NBL2, BL3/NBL3). In some instances, each of the precharge transistors (T0, T1, T2, T3, T4, T5, T6, T7) may be activated based on a precharge control signal (nbl_prech). Also, each of the precharge transistors (T0, T1, T2, T3, T4, T5, T6, T7) may be coupled between the source voltage supply (Gnd or Vss) and a corresponding bitline (BL0/NBL0, BL1/NBL1, BL2/NBL2, BL3/NBL3).
In some implementations, the precharge transistors (T0, T1, T2, T3, T4, T5, T6, T7) may be referred to as switch structures that are coupled between the corresponding bitlines (BL0/NBL0, BL1/NBL1, BL2/NBL2, BL3/NBL3) and a supply voltage (e.g., Gnd or Vss). The switch structures (T0, T1, T2, T3, T4, T5, T6, T7) are configured to precharge the bitlines (BL0/NBL0, BL1/NBL1, BL2/NBL2, BL3/NBL3) to the supply voltage (e.g., Gnd or Vss) when activated by the precharge control signal (nbl_prech). In some instances, the supply voltage (Gnd or Vss) may refer to ground having a voltage near zero volts (0V, and the switch structures (T0, T1, T2, T3, T4, T5, T6, T7) are activated with the precharge control signal (nbl_prech) so as to precharge the bitlines (BL0, NBL0, BL1, NBL1, BL2, NBL2, BL3, NBL3) to ground (Gnd or Vss) after a read operation or a write operation. In other instances, the bitlines (BL0, NBL0, BL1, NBL1, BL2, NBL2, BL3, NBL3) may be precharged to ground (Gnd or Vss) before a read operation or a write operation.
In some implementations, the precharge transistors or switch structures (e.g., T0, T1, T2, T3, T4, T5, T6, T7) may include N-type transistors having drains (or drain terminals) coupled to the bitlines (BL0, NBL0, BL1, NBL1, BL2, NBL2, BL3, NBL3) and sources (or source terminals) coupled to the supply voltage (Gnd or Vss), which refers to ground (Gnd or Vss). The N-type transistors may be activated with the precharge signal (nbl_prech) coupled to a gate thereof, and thus, the N-type transistors may be activated with the precharge signal (nbl_prech) before or after a read operation or a write operation so as to precharge the bitlines to ground (Gnd or Vss).
Also, the memory circuitry 100 may include the column multiplexer circuitry 106 (COLMUX) having one or more column selector transistors that are arranged in parallel to operate as a multiplexer (Mux) and also coupled to corresponding bitlines (BL0/NBL0, BL1/NBL1, BL2/NBL2, BL3/NBL3). In some instances, the column selector transistors may be activated based on a column select control signal, and each of the column selector transistors may be coupled between the corresponding bitlines (BL0/NBL0, BL1/NBL1, BL2/NBL2, BL3/NBL3) and one or more write data lines (WDL0, WDL1) and also one or more read data lines (RDL0, RDL1). In some instances, a column selection/enable signal (col_sel) may be used to activate the column selector transistors and select one or more of the bitlines (BL0/NBL0, BL1/NBL1, BL2/NBL2, BL3/NBL3).
The memory circuitry 100 may include the read write circuitry 108 (RW) having various components that are arranged and coupled together to perform read operations and/or write operations. For instance, the read write circuitry 108 (RW) may include write circuitry 208A that is configured to perform write operations and read circuitry 208B that is configured to perform read operations. The write circuitry 208A may be coupled to the COLMUX 106 via the write data lines (WDL0, WDL1), and the read circuitry 208B may be coupled to the COLMUX 106 via the read data lines (RDL0, RDL1).
Referring to diagram 200B of
In some implementations, in reference to
Further, the system may include column multiplexer circuitry 106 coupled to the multiple sets of complementary bitlines (BL0/NBL0, BL1/NBL1, BL2/NBL2, BL3/NBL3), and the column multiplexer circuitry 106 may be configured to access each bitcell in the multiple arrays of bitcells (banks 202A, 202B, 202C, 202D) with a selected wordline of the wordlines (WL) and selected bitlines of the multiple sets of complementary bitlines (BL0/NBL0, BL1/NBL1, BL2/NBL2, BL3/NBL3). The system may include read and write circuitry (RW) 108 coupled to the column multiplexer circuitry 106, wherein the read and write circuitry (RW) 108 may be configured to read data from an accessed bitcell during a read operation, and wherein the read and write circuitry (RW) 108 may be configured to write data to the accessed bitcell during a write operation.
In some instances, the precharge transistors (T0/T1, T2/T3, T4/T5, T6/T7) may be activated with a precharge signal (nbl_prech) so as to precharge the complementary bitlines (BL0/NBL0, BL1/NBL1, BL2/NBL2, BL3/NBL3) to ground (Gnd or Vss) before or after a read operation or a write operation. The precharge transistors (T0/T1, T2/T3, T4/T5, T6/T7) may include N-type transistors coupled between the complementary bitlines (BL0/NBL0, BL1/NBL1, BL2/NBL2, BL3/NBL3) and ground (Gnd or Vss), and the N-type transistors may be activated with the precharge signal (nbl_prech) coupled to a gate thereof. Also, the N-type transistors may be activated with the precharge signal (nbl_prech) before or after a read operation or a write operation so as to discharge the complementary bitlines (BL0/NBL0, BL1/NBL1, BL2/NBL2, BL3/NBL3) to ground (Gnd or Vss) when activated.
Generally, there are two types of memory structures: one-wordline devices and multi-wordline devices. In some cases, the wordline devices (e.g., ROM, DRAM, SRAM) may refer to devices having only a single access port, which may be referred to as access devices. The bitlines (e.g., BL, NBL) may be single rail or dual rail. The transistor types (e.g., NMOS and PMOS) may be referred to as access transistors.
As shown in
It should be understood that even though method 300 may indicate a particular order of operation execution, in some cases, various certain portions of the operations may be executed in a different order, and on different systems. In other cases, additional operations and/or steps may be added to and/or omitted from method 300. Also, method 300 may be implemented in hardware and/or software. If implemented in hardware, the method 300 may be implemented with various circuit elements, such as described herein above in reference to
As described and shown in reference to
As described and shown in reference to
At block 310, method 300 may provide an array of bitcells that are accessible via bitlines. In some implementations, method 300 may provide wordlines coupled to the bitcells, and each bitcell in the array is accessible via a selected wordline of the wordlines and a selected bitline of the bitlines.
At block 320, method 300 may couple transistors between the bitlines and a ground voltage. In some instances, the ground voltage refers to a voltage near zero volts (0V, and precharging the bitlines to the ground voltage refers to activating the transistors with a precharge signal. In some instances, the transistors may include N-type transistors (e.g., NMOS) having drains (i.e., drain terminals) coupled to the bitlines and sources (i.e., source terminals) coupled to the ground voltage, and the N-type transistors (e.g., NMOS) are activated with the precharge signal coupled to a gate (i.e., gate terminal) thereof.
At block 330, method 300 may precharge the transistors to the ground voltage before or after performing a read operation or a write operation. Also, the N-type transistors (e.g., NMOS) may be activated with the precharge signal before or after performing a read operation or a write operation so as to precharge the bitlines to the ground voltage.
Described herein are various implementations of a device. The device may include an array of bitcells having bitlines coupled to columns of the bitcells. The device may include switch structures coupled between the bitlines and a supply voltage, and the switch structures may precharge the bitlines to the supply voltage when activated.
Described herein are various implementations of a system. The system may include memory circuitry having multiple arrays of bitcells arranged in columns and rows. The system may include multiple sets of complementary bitlines coupled to the columns of the bitcells. The system may include wordlines coupled to the rows of the bitcells. The system may include precharge circuitry having multiple sets of precharge transistors that are coupled between the complementary bitlines and ground. The precharge transistors may be configured to discharge the complementary bitlines to ground when activated.
Described herein are various implementations of a method. The method may include providing an array of bitcells that are accessible via bitlines. The method may include coupling transistors between the bitlines and a ground voltage. The method may include precharging the transistors to the ground voltage before or after performing a read operation or a write operation.
It should be intended that the subject matter of the claims not be limited to the implementations and illustrations provided herein, but include modified forms of those implementations including portions of implementations and combinations of elements of different implementations in accordance with the claims. It should be appreciated that in the development of any such implementation, as in any engineering or design project, numerous implementation-specific decisions should be made to achieve developers' specific goals, such as compliance with system-related and business related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort may be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having benefit of this disclosure.
Reference has been made in detail to various implementations, examples of which are illustrated in the accompanying drawings and figures. In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the disclosure provided herein. However, the disclosure provided herein may be practiced without these specific details. In some other instances, well-known methods, procedures, components, circuits and networks have not been described in detail so as not to unnecessarily obscure details of the embodiments.
It should also be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element. The first element and the second element are both elements, respectively, but they are not to be considered the same element.
The terminology used in the description of the disclosure provided herein is for the purpose of describing particular implementations and is not intended to limit the disclosure provided herein. As used in the description of the disclosure provided herein and appended claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. The term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. The terms “includes,” “including,” “comprises,” and/or “comprising,” when used in this specification, specify a presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and/or groups thereof.
As used herein, the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in response to detecting,” depending on the context. Similarly, the phrase “if it is determined” or “if [a stated condition or event] is detected” may be construed to mean “upon determining” or “in response to determining” or “upon detecting [the stated condition or event]” or “in response to detecting [the stated condition or event],” depending on the context. The terms “up” and “down”; “upper” and “lower”; “upwardly” and “downwardly”; “below” and “above”; and other similar terms indicating relative positions above or below a given point or element may be used in connection with some implementations of various technologies described herein.
While the foregoing is directed to implementations of various techniques described herein, other and further implementations may be devised in accordance with the disclosure herein, which may be determined by the claims that follow.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.