The present invention relates to a resistive memory array partitioned into a plurality of memory units, and methods for writing to and reading from the resistive memory array.
A multi-core processor, which is also referred to as a chip, may include two or more independent central processing units or cores that each read and execute program instructions. A first level of cache memory (an L1 cache) and a second level of cache memory (an L2 cache) may be associated with each core. Some chips may also include additional levels of cache memory as well. For example, the chip may include a third level of cache memory (an L3 cache) that is shared between the various cores. However, there is a limited amount of area available on the chip to accommodate all of the processing cores and the various levels of cache memory. Moreover, as technology advances, the number of cores included on the chip increase as well. Each core may require its own multi-level cache memory. Thus, it is becoming progressively difficult to fit all of the cores and the various levels of cache memory on a single chip.
Static random-access memory (SRAM) is traditionally used in cache memory systems. However, in an effort to reduce the amount of area on the chip occupied by the cache memory, denser types of memory are being investigated to replace the current SRAM such as, for example, resistive random access memory (RRAM). RRAM typically includes a relatively high bit density and low leakage power, which makes this type of memory an attractive replacement for SRAM. The three main types of RRAM are memristors, phase change random access memory (PCRAM), and spin-torque transfer magnetic random access memory (SST-MRAM). Memristors possess a much higher bit density when compared to SRAM, PCRAM and SST-RAM. Accordingly, memristor crossbar arrays have become an especially appealing candidate for use in memory applications. A memristor crossbar structure typically includes a set of upper wires that intersect a set of lower wires, where a memristive element is located at the intersections between the upper wires and the lower wires.
Although memristor crossbar arrays possess a relatively high bit density, several issues currently exist that make memristors challenging to use in memory applications. For example, high density memristor crossbar arrays, which do not include access transistors, tend to consume relatively large amounts of energy. Moreover, high density memristor crossbars arrays tend to also produce a significant number of read errors. This is because high density memristor crossbar arrays do not include access transistors that prevent current from flowing from one memristive element to another memristive element located within the array. Thus, an access transistor may be placed alongside each memristive element located in the memristor crossbar array to substantially reduce the number of read errors and energy consumption. This architecture may be referred to as a 1 transistor-1 memristor (1T1R) memory system. However, the areal density of the 1T1R memory system is limited by the size of the access transistor.
In one embodiment, a resistive memory array partitioned into a plurality of memory units is disclosed. Each memory unit includes a plurality of resistive memory elements, a plurality of row lines, a plurality of column lines, a plurality of row select switching devices, and a plurality of column select switching devices. Each resistive memory element is in communication with one of the row lines and one of the column lines. Each row line is in communication with a corresponding one of the row select switching devices. Each column line is in communication with a corresponding one of the column select switching devices.
In another embodiment, method of operating a resistive memory array partitioned into a plurality of memory units is disclosed. The method includes providing the resistive memory array. Each memory unit includes a plurality of resistive memory elements, a plurality of row select switching devices, a plurality of column select switching devices, a plurality of row lines, and a plurality of column lines. Each of the resistive memory elements are in communication with one of the row lines and one of the column lines. The method includes generating a specific memory unit row select signal. The memory units are arranged in respective memory unit rows and respective memory columns within the resistive memory array. The method includes activating all of the row select switching devices located within a specific one of the memory unit rows based on the specific memory unit row select signal. Each row line is in communication with a corresponding one of the row select switching devices. The method includes activating all of the column select switching devices located within the specific one of the memory unit rows based on the specific memory unit row select signal. Each column line is in communication with a corresponding one of the column select switching devices.
Referring to
The memory units 50 may also be arranged into memory unit rows MUR1-MURN and memory unit columns MUC1-MUCN within the resistive memory array 20. The resistive memory array 20 may include N rows of memory units 50 as well as N columns of memory units, where N may be any number greater than one.
In the exemplary embodiment as illustrated in
Data may be read from or written to each resistive memory element 401-40X located within the selected row SR of the resistive memory array 20. However, while read and write operations being performed on the selected resistive memory elements 401-40X are described and shown in
Referring to FIGS. 1,-2, and 2A, the resistive memory array 20 may be in communication with the row decoder 22, the row pulse generator 24, and the column circuit 26. The control logic circuit 28 may control read and write operations executed by the row decoder 22, the row pulse generator 24, and the column circuit 26. Specifically, the control logic circuit 28 may send a memory unit address signal XADD1 to the row decoder 22. The memory unit address signal XADD1 indicates addresses of the selected memory unit row MUR. For example, in the embodiment as shown, the memory unit address signal XADD1 would indicate the addresses of the first row MUR1 of memory units 50. The control logic circuit 28 may also send a row address signal XADD2 to the row pulse generator 24. The row address signal XADD2 indicates addresses of each row R in every memory unit 50 in the resistive memory array 20 where the selected row SR may potentially be located within the resistive memory array 20. For example, in the embodiment as illustrated where the selected row SR is shown, the memory unit address signal XADD2 would indicate the addresses of row R1 of each memory unit 50 in the resistive memory array 20.
The control logic circuit 28 may also send a column address signal YADD to the main column circuit 26. In the event a read operation is being executed, the column address signal YADD directs current towards a plurality of sense resistors 90a-90b located within the main column circuit 26, which is discussed in greater detail below. In the event a write operation is being executed, the column address signal YADD indicates which resistive memory elements 401-40X located within the selected row SR are written to, which is also discussed in greater detail below.
Referring to
Referring to
All of the resistive memory elements 40 and the row select switching device 54 associated with a single one of the rows R within a single memory unit 50 may each be coupled to the same word line WL. For example, each first portion 70 of the selected resistive memory elements 401-404 located within row R1 may each be coupled to the word line WL1. The drain D of the row select switching device 54 located in row R1 may also be coupled to the word line WL1. Similarly, all of the resistive memory elements 40 and the column select switching device 56 associated with a single one of the columns C within a memory unit 50 may each be coupled to the same bit line BL. For example, each second portion 72 of the resistive memory elements 40 located within column C1 may each be coupled to the bit line BL1. The drain D of the column select switching device 56 located in column C1 may also be coupled to the common bit line BL1.
The row select switching devices 54 may each selectively allow current to flow through a corresponding word line WL, and to the resistive memory elements 40 in communication with the corresponding word line WL. For example, when the row select switching device 54 located in row R1 is activated, current may flow through the word line WL1 and to the resistive memory elements 401-404. Similarly, the column select switching devices 56 may each selectively allow current to flow through a corresponding bit line BL, and to the resistive memory elements 40 in communication with the corresponding bit line BL. For example, when the column select switching device 56 located in column C1 is activated, current may flow through the bit line BL1 and to the resistive memory elements 40 coupled to the bit line BL1.
Referring to
The resistive memory elements 40 may be used to store analog information. When a specific amount of current has passed through the resistive memory element 40 in a particular direction, the resistive memory element 40 ceases to further integrate current in the particular direction. Thus, the resistive memory elements 40 may include a maximum or off-state resistance ROFF and a minimum or on-state resistance RON. In one embodiment, the resistive memory array 20 may be composed of any type of resistive memory elements 40 that have an on-state resistance RON of at least about 10 ohms. However, if the row select switching device 54 and the column select switching device 56 are transistors, then the resistive memory elements 40 may require a higher on-state resistance RON of about 100 ohms. In one non-limiting embodiment, the resistive memory elements 40 may be memristors.
In the exemplary embodiment as shown in
Although the memory units 50 may include any number of resistive memory elements 40, it is to be understood that larger memory units 50 having an increased number of resistive memory elements 40 may be beneficial. This is because an increased number of resistive memory elements 40 per memory unit 50 results in a higher bit density of the resistive memory array 20. A higher bit density allows for a greater volume of data to be stored in the resistive memory array 20 using the same amount of physical space.
The number of resistive memory elements 40 included within each memory unit 50 may be based on an off-state versus on-state resistance ratio ROFF/RON. Specifically, as the off-state versus on-state resistance ratio ROFF/RON increases, the number of read errors within each memory unit 50 decreases. This is because a relatively high off-state versus on-state resistance ratio ROFF/RON may reduce the chance that one of the resistive memory elements 40 that is actually in an off-state may be mistaken to be in an on-state. For example, in one non-limiting embodiment, a 4×4 or an 8×8 array of resistive memory elements 40 may include an off-state versus on-state resistance ratio ROFF/RON of 106 and an on-state resistance RON of 125 kΩ.
Referring generally to FIGS. 2 and 2A-2B, operation of the row decoder 22, the row pulse generator 24, the column circuit 26 may now be discussed. While a resistive memory array having 4×4 memory units 50 is described and shown in the figures, it is to be understood that this illustration is exemplary in nature. Those skilled in the art will appreciate that the circuitry of the row decoder 22, row pulse generator 24, and the column circuit 26 may be adjusted to accommodate memory units 50 of any size (e.g., a 8×8 array or a 8×4 array). Those skilled in the art will also appreciate that circuitry associated with the row decoder 22, row pulse generator 24, and the column circuit 26 as shown in the figures illustrate only one non-limiting embodiment of the resistive memory device 10, and that other configurations of circuitry may be used as well, and may also accommodate memory units 50 of any size possible (e.g., a 8×8 array or a 8×4 array).
In the exemplary embodiment as shown, the row decoder 22 may be in communication with an N number of row decoder lines RDL1-RDLN, where each row decoder line RDL1-RDLN corresponds to one of the memory unit rows MUR1-MURN within the resistive memory array 20. The gate G of each row select switching device 54 and each column select switching device 56 may be in communication with a corresponding one of the row decoder lines RDL1-RDLN. For example, row decoder line RDL1 is in communication with the gate G of each row select switching device 54 and each column select switching device 56 located within the first memory unit row MUR1. Likewise, row decoder line RDL2 is in communication with the gate G of each row select switching device 54 and each column select switching device 56 located within the second memory unit row MUR2.
Referring to
In the exemplary embodiment as shown, the row pulse generator 24 may be in communication with four pulse generator lines PL1-PL4. Each pulse generator line PL1-PL4 corresponds to one of the rows R1-R4 within each memory unit 50. Each pulse generator line PL1-PL4 may be in communication with the source S of the row select switching device 54 located within the corresponding row R. For example, pulse generator line PL1 is in communication with the source S of the row select switching devices 54 located in row R1 of each memory unit 50.
Referring to
The row select signal DR may be either a read signal or a write signal. If a read operation is being executed, then the row select signal DR may include a read voltage that is below a threshold voltage VTh of the resistive memory elements 40. The threshold voltage VTh represents the voltage required to change a resistive state of the resistive memory elements 40.
If a write operation is being executed, then the row select signal DR may include a predetermined voltage. In one exemplary embodiment, the predetermined voltage is about half a write voltage Vw of the resistive memory elements 40. The write voltage Vw should be greater than a threshold voltage VTh of the resistive memory elements 40. However, the predetermined voltage should be less than the threshold voltage VTh. The row select signal DR may include either positive or negative voltage value. For example, if a low resistance state (e.g., a “1”) is to be written to one or more of the resistive memory elements 401-40X, then the row select signal DR is a positive value with respect to the remaining rows of resistive memory elements 40. If a high resistance state (e.g., a “0”) is to be written to one or more of the resistive memory elements 401-40X, then the row select signal DR is a negative value with respect to the remaining rows of resistive memory elements 40. Although the row select signal DR is described as either positive or negative voltage value, those skilled in the art will appreciate that other approaches for writing to the resistive memory elements 40 may be used as well. For example, in another embodiment applying the write voltage Vw would write a low resistance state to the memory elements 40, applying zero volts would write a high resistance state to the memory elements 40, and applying half the write voltage Vw would produce no change in an unselected memory element 40.
Referring to FIGS. 2 and 2A-2B, in one non-limiting embodiment the main column circuit 26 may include a plurality of individual column circuits CC1-CCN. Each column circuit CC1-CCN corresponds to one of the memory unit columns MUC1-MUCN. For example, the first column circuit CC1 corresponds to the first memory unit column MUC1, and the second column circuit CC2 corresponds to the second memory unit column MUC1. It is to be understood that the second column circuit CC2 is not fully illustrated in
Each write enable transistor 82, read enable transistor 84, comparator 86, sense resistor 90, and column line CL corresponds to one of the columns C of resistive memory elements 40 in each memory unit 50 located in a corresponding one of the memory unit columns MUC1-MUCN. For example, the write enable transistor 82a, read enable transistor 84a, comparator 86a, sense resistor 90a, and column line CL1 each correspond to the first column C1 of resistive memory elements 40 located in the first memory unit column MUC1. Moreover, each column line CL1-CL4 may be in communication with the source S of the column select switching device 56 located within a corresponding one of the columns C1-C4 in each memory unit 50 located in a corresponding one of the memory unit columns MUC1-MUCN. For example, column line CL1 may be in communication with the source S of the column select switching devices 56 located in each column C1 in each memory unit 50 located in the first memory unit columns MUC1.
Referring to
The column address signal YADD from the control logic circuit 28 indicates which specific resistive memory elements 401-40X located within the selected row SR should be written to. The write signal DC may then apply the predetermined voltage to the specific resistive memory elements 401-40X. For example, in one embodiment the predetermined voltage applied by the write signal DC may be a negative value to change one of the resistive memory elements 401-40X to a low resistance state (e.g., a “1”). Furthermore, the predetermined voltage may be a positive value to change one of the resistive memory elements 401-40X to a high resistance state (e.g., a “0”).
In one illustrative example, if the column address signal YADD from the control logic circuit 28 indicates that the memory elements 402, 404, and 408 should be written to, then the pulse generator 80 located within the first column circuit CC1 generates write signals DC2 and write signal DC4. Similarly, the pulse generator located within the second column circuit CC2 (not shown) generates write signal DC4. The write signal DC2 from the first column circuit CC1 is applied to all of the resistive memory elements 40 located within the second column C2 of each memory array 50 located within the first memory unit column MUC1. Similarly, the write signal DC4 from the first column circuit CC1 is applied to all of the resistive memory elements 40 located within the fourth column C4 of each memory array 50 located within the first memory unit column MUC1. Moreover, the write signal DC4 from the second column circuit CC2 is applied to all of the resistive memory elements 40 located within the fourth column C4 of each memory array 50 located within the second memory unit column MUC2.
Although the write signals DC2 and DC4 from the first column circuit CC1 may be sent to all of the memory elements 40 located within the second column C2 and the fourth column C4 of each memory array 50 located within the first memory unit column MUC1, the write signal DC2 may only write to the selected resistive memory elements 402 located within the selected row SR of the selected memory unit row MUR. Similarly, the write signal DC4 may only write to the selected resistive memory elements 404 located within the selected row SR of the selected memory unit row MUR. Moreover, while the write signal DC4 from the second column circuit CC2 may be sent to all of the memory elements 40 located within the fourth column C4 of each memory array 50 located within the second memory unit column MUC2, the write signal DC4 may only write to the selected resistive memory element 408 located within the selected row SR of the selected memory unit row MUR. This is because the memory unit row select signal S1 that was sent by the row decoder 22 only activated the row select switching devices 54 and the column select switching devices 56 located within the first memory unit row MUR1. Also, the write signal DR1 that was sent by the row pulse generator 24 only applied the predetermined voltage to the resistive memory elements 40 located within the first row R1 of every memory unit 50 located In the resistive memory array 20.
If a read operation is executed, then the write enable transistors 82a-82d may be deactivated. The column address signal YADD from the control logic circuit 28 activates the read enable transistors 84a-84d located in each of the column circuits CC1-CCN. A sense voltage may then be measured across each of the sense resistors 90a-90d located in each of the column circuits CC1-CCN. The sense voltage generally represents a voltage division between the resistance of the corresponding resistive memory element 40 and the specific sense resistor 90. For example, the sense voltage across the sense resistor 90a generally represents the voltage division between a resistance of the resistive memory element 401 (located within the first row R1) and the resistance of the specific sense resistor 90a.
The comparators 86a-86d located in each of the column circuits CC1-CCN may then convert the analog value of the sense voltage across a corresponding one of the sense resistors 90a-90d into a digital value. Specifically, each comparator 86a-86d may compare the sense voltage across a corresponding one of the sense resistor 90a-90d with a reference voltage VT. The comparators 86a-86d may then determine a digital output DO based on the comparison. For example, in one embodiment, if the sense voltage across each the resistor 90a is greater than the reference voltage VT, then the comparator 86a generates a high digital output DO1 (e.g., 1). Similarly, if the sense voltage across the resistor 90a is less than the reference voltage VT, then the comparator 86a generates a low digital output DO1 (e.g., 0). It should be noted that while comparators 86a-86d are illustrated in
A method of operating the resistive memory array 20 will now be described.
In block 204, the row decoder 22 may generate a specific memory unit row select signal S based on the memory unit address signal XADD1. The specific memory unit row select signal S may activate all of the row select switching devices 54 and the column select switching devices 56 located in the selected memory unit row MUR. For example, in the embodiment as shown in
In block 206, the control logic circuit 28 may send the row address signal XADD2 to the row pulse generator 24. The row address signal XADD2 indicates addresses of each row R in every memory unit 50 where the selected row SR may potentially be located in the resistive memory array 20. For example, in the embodiment of
In block 208, the row pulse generator 24 may generate a single row select signal DR. The row select signal DR may be sent to one of the rows R1-R4 of resistive memory elements 40 located in each memory unit 50 of the memory array 20. For example, the row select signal DR1 may be sent to the first row R1 of resistive memory elements 40 in each of the memory units 50 in the memory array 20. It is to be understood that the row select signal DR may be a read signal or a write signal. For example, if a write operation is selected, then the row select signal DR may include the predetermined voltage. If a read operation is selected, then the row select signal DR may include the read voltage. Method 200 may then proceed to block 210.
In block 210, the control logic circuit 28 may send the column address signal YADD to the main column circuit 26. In the event a write operation is being executed, method 200 may then proceed to block 212. However, if a read operation is being executed, method 200 may then proceed to block 216.
In block 212 where a write operation is executed, the write enable transistors 82a-82d may be activated, and the read enable transistors 84a-84d may be deactivated. Method 200 may then proceed to block 214.
In block 214, the column pulse generator 80 located within each column circuit CC1-CCN may send multiple at least one write signal DC through a corresponding one of the column lines CL1-CL4. The write signal DC may then apply the predetermined voltage to the specific resistive memory elements 401-40X that should be written to. Method 200 may then terminate, or return to block 202.
In block 216 where a read operation is being executed, the column address signal YADD from the control logic circuit 28 activates the read enable transistors 84a-84d located in each of the column circuits CC1-CCN. Method 200 may then proceed to block 218.
In block 218, the sense voltage may be measured across each of the sense resistors 90a-90d in each of the column circuits CC1-CCN. Method 200 may then proceed to block 220.
In block 220, the comparators 86a-86d located in each of the column circuits CC1-CCN may convert the analog value of the sense voltage across a corresponding one of the sense resistors 90a-90d into a digital value. Specifically, each comparator 86a-86d may compare the sense voltage across a corresponding one of the sense resistor 90a-90d with the reference voltage VT and determine the digital output DO based on the comparison. Method 200 may then terminate, or return to block 202.
Referring generally to
As shown in Table 1, both Device X and Device Y consume less than ten percent of the write energy of the high density crossbar array, and less than one-third of the read energy of the high density crossbar array. Moreover, the disclosed resistive memory array 20 may have a significantly higher bit density when compared to static random-access memory (SRAM) and spin-torque transfer magnetic random access memory (SST-MRAM). For example, Device X (based on 8×8 arrays of memory units) may have a bit density that is over eleven times denser than SRAM and over three times as dense as SST-RAM. A higher bit density allows for a greater volume of data to be stored in memory using the same amount of physical space.
The disclosed resistive memory array 20 may be used in a variety of different memory applications. For example, in one non-limiting embodiment the resistive memory array 20 may be part of a cache memory system located on a multi-core processor. In particular, the resistive memory array 20 may be used in lower levels of cache memory, such as level one caches (L1 caches) or level two caches (L2 caches). Some other types of memory applications that may utilize the resistive memory array 20 include, but are not limited to, solid-state drives (SSD), Universal Serial Bus (USB) memory drives, and memory cards.
Having described the invention in detail and by reference to preferred embodiments thereof, it will be apparent that modifications and variations are possible without departing from the scope of the invention as defined by the following claims.