Memory-based vector-matrix multiplication

文档序号:1957963 发布日期:2021-12-10 浏览:10次 中文

阅读说明:本技术 基于存储器的矢量-矩阵乘法 (Memory-based vector-matrix multiplication ) 是由 J·R·詹姆士 于 2020-05-28 设计创作,主要内容包括:存储器装置包括:以行和列设置的存储器阵列;处于各个行列交点处的存储器单元层,其中,各个存储器单元层被配置为设定成预定电导状态;行控制电路,该行控制电路被配置成,通过在各个行上施加子电压,来向所述行施加电压,其中,各个子电压皆对应于不同的存储器单元层,并且其中,各个子电压与对应行上的电压成比例;以及感测电路,该感测电路被配置成,响应于向所述行施加了电压,来确定流过选定列的列电流,其中,该列电流是流过与选定列相对应的各个存储器单元层的电流的总和。(The memory device includes: a memory array arranged in rows and columns; a layer of memory cells at each row-column intersection, wherein each layer of memory cells is configured to be set to a predetermined conductance state; row control circuitry configured to apply voltages to the rows by applying sub-voltages on each row, wherein each sub-voltage corresponds to a different memory cell layer, and wherein each sub-voltage is proportional to the voltage on the corresponding row; and a sensing circuit configured to determine a column current flowing through a selected column in response to application of a voltage to the row, wherein the column current is a sum of currents flowing through respective memory cell layers corresponding to the selected column.)

1. A memory device, the memory device comprising:

a) a memory array arranged in a plurality of rows and a plurality of columns;

b) a plurality of layers of memory cells at respective row and column intersections, wherein each layer of memory cells is configured to be set to a predetermined conductance state such that the plurality of layers of memory cells correspond to a plurality of predetermined conductance states;

c) row control circuitry configured to apply a plurality of voltages to the plurality of rows by applying a plurality of sub-voltages on respective ones of the plurality of rows, wherein each of the plurality of sub-voltages corresponds to a different one of the plurality of memory cell layers, and wherein each sub-voltage is proportional to a voltage on a corresponding one of the plurality of voltages; and

d) a sense circuit configured to determine a column current flowing through a selected column of the plurality of columns in response to the plurality of voltages being applied to the plurality of rows, wherein the column current is a sum of currents flowing through respective memory cell layers corresponding to the selected column.

2. The memory device of claim 1, wherein the plurality of predetermined conductance states are equally spaced conductance states.

3. The memory device of claim 2, wherein the remaining respective ones of the plurality of predetermined conductance states are multiples of the first predetermined conductance state.

4. The memory device of claim 1, wherein each sub-voltage is a ratio of voltages on the corresponding row of the plurality of voltages.

5. The memory device of claim 1, wherein the number of different column currents is equal toWherein N isGIs the number of predetermined conductive states, NVIs the number of memory cell layers, and V/kiIs the sub-voltage applied to memory cell layer i.

6. The memory device of claim 5, wherein a number of bits equivalent to the number of different column currents is equal toBase 2 logarithm of (a).

7. The memory device of claim 1, wherein each of the plurality of layers of memory cells comprises a Conductive Bridging Random Access Memory (CBRAM), whereby each of the plurality of rows serves as an anode of a CBRAM cell.

8. The memory device of claim 7, wherein:

a) each column of the plurality of columns comprises a metal;

b) the plurality of vias comprise metal; and

c) each of the plurality of rows includes a multilayer stack having an oxide, an anode, and a capping layer.

9. The memory device of claim 1, wherein each of the plurality of layers of memory cells comprises resistive ram (reram).

10. The memory device of claim 1, wherein each of the plurality of predetermined conductance states is verified by the row control circuitry and the sense circuitry, the row control circuitry and the sense circuitry configured to:

a) boosting each of the plurality of rows and the plurality of columns to a predetermined read voltage;

b) measuring a current flowing out of a selected column of the plurality of columns;

c) changing a voltage applied to a row including a cell to be verified to a verification voltage; and

d) the current flowing out of the selected column is measured in order to verify the desired conductance state.

11. A method of controlling a memory device having a memory array arranged in a plurality of rows and a plurality of columns and a plurality of layers of memory cells at respective row and column intersections, the method comprising the steps of:

a) setting each memory cell layer to a predetermined conductance state such that the plurality of memory cell layers correspond to a plurality of predetermined conductance states;

b) applying a plurality of voltages to the plurality of rows by applying a plurality of sub-voltages on respective ones of the plurality of rows, wherein each sub-voltage of the plurality of sub-voltages corresponds to a different memory cell layer of the plurality of memory cell layers, and wherein each sub-voltage is proportional to a voltage on a corresponding row of the plurality of voltages; and

c) determining a column current flowing through a selected column of the plurality of columns in response to the plurality of voltages being applied to the plurality of rows, wherein the column current is a sum of currents flowing through respective memory cell layers corresponding to the selected column.

12. The method of claim 11, wherein the plurality of predetermined conductance states are equally spaced conductance states.

13. The method of claim 12, wherein the remaining respective predetermined conductance states of the plurality of predetermined conductance states are multiples of the first predetermined conductance state.

14. The method of claim 11, wherein each sub-voltage is a ratio of voltages on the corresponding row of the plurality of voltages.

15. The method of claim 11, wherein the number of different column currents is equal toWherein N isGIs the number of predetermined conductive states, NVIs the number of memory cell layers, and V/kiIs the sub-voltage applied to memory cell layer i.

16. The method of claim 15, wherein a number of bits equivalent to the number of different column currents is equal toIs based on 2The logarithm of (d).

17. The method of claim 11, wherein each of the plurality of layers of memory cells comprises a Conductive Bridging Random Access Memory (CBRAM), whereby each of the plurality of rows serves as an anode of a CBRAM cell.

18. The method of claim 17, wherein:

a) each column of the plurality of columns comprises a metal;

b) the plurality of vias comprise metal; and

c) each of the plurality of rows includes a multilayer stack having an oxide, an anode, and a capping layer.

19. The method of claim 11, wherein each of the plurality of layers of memory cells comprises resistive ram (reram).

20. The method of claim 11, further comprising: verifying each of the plurality of predetermined conductance states by:

a) boosting each of the plurality of rows and the plurality of columns to a predetermined read voltage;

b) measuring a current flowing out of a selected column of the plurality of columns;

c) changing a voltage applied to a row including a cell to be verified to a verification voltage; and

d) the current flowing out of the selected column is measured in order to verify the desired conductance state.

Technical Field

The present disclosure relates generally to the field of semiconductor devices. More particularly, embodiments of the invention pertain to memory devices that include both volatile and non-volatile memory devices, such as flash memory devices, resistive random access memory (ReRAM), and/or conductive bridging ram (cbram) processes and devices.

Background

Non-volatile memory (NVM) is increasingly emerging for applications such as solid state disk drives, removable digital image cards, and the like. Flash memory is the dominant NVM technology in use today. However, flash memory has limitations, such as relatively high power and relatively low operating speed. Microprocessor performance is very sensitive to memory latency. Many non-volatile memory devices have relatively slow access times or latencies compared to microprocessors. In addition, many implementations of various communication protocols between the microprocessor/host and the memory, such as Serial Peripheral Interface (SPI), can add even more latency than is required by the memory array itself.

Drawings

FIG. 1 is a schematic block diagram of an example host and memory device arrangement according to an embodiment of the invention.

FIG. 2 is a schematic block diagram of an example memory device structure according to an embodiment of the invention.

FIG. 3 is a block diagram of an example memory device according to an embodiment of the invention.

FIG. 4 is a block diagram of an example memory arrangement according to an embodiment of the present invention.

FIG. 5 is a block diagram of an example of memory-based vector-matrix multiplication according to an embodiment of the present invention.

FIG. 6 is a block diagram illustrating an example partial-voltage (split-voltage) memory based vector-matrix multiplication according to an embodiment of the present invention.

FIG. 7 is a block diagram of an example of voltage division weight encoding for memory-based vector-matrix multiplication according to an embodiment of the present invention.

Fig. 8 is a block diagram of an example of a 2D voltage division method of memory-based vector-matrix multiplication according to an embodiment of the present invention.

FIG. 9 is a block diagram of an example of voltage division weight encoding for memory-based vector-matrix multiplication according to an embodiment of the present invention.

Fig. 10 is a diagram of an example of a voltage division method using 3D integration of CBRAM memory cells according to an embodiment of the present invention.

Fig. 11 is a diagram of an example of a voltage division method using 3D integration of RRAM memory cells according to an embodiment of the present invention.

FIG. 12 is a diagram of an example of verifying weights of individual cells of a memory-based vector-matrix multiplication according to an embodiment of the present invention.

FIG. 13 is a flow diagram of an example method of verifying weights of individual cells of a memory-based vector-matrix multiplication according to an embodiment of the invention.

Detailed Description

Reference will now be made in detail to the present embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, processes, components, structures, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.

Some portions of the detailed descriptions which follow are presented in terms of procedures, logic blocks, functional blocks, processing, schematic symbols, and/or other symbolic representations of operations on data streams, signals, or waveforms within a computer, processor, controller, device, and/or memory. These descriptions and representations are the ones by which those of ordinary skill in the data processing arts effectively convey the substance of their work to others of ordinary skill in the art. Usually, though not necessarily, the quantities being manipulated take the form of electrical, optical, or quantum signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer or data processing system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, waves, waveforms, streams, values, elements, symbols, characters, terms, numbers, or the like.

Particular embodiments may be directed to memory devices, including volatile memories such as SRAM and DRAM, and including non-volatile memory (NVM) such as flash memory devices and/or resistive switching memory (e.g., conductive bridging random access memory [ CBRAM ], resistive RAM [ ReRAM ], etc.). Particular embodiments may include structures and methods of operating flash and/or resistive switching memory that may be written (programmed/erased) between one or more resistive and/or capacitive states. In one particular example, a CBRAM storage element can be configured such that an electrical characteristic (e.g., resistance) of the CBRAM storage element can change when a forward or reverse bias greater than a threshold voltage is applied across electrodes of the CBRAM storage element. In any case, certain embodiments are suitable for any type of memory device, particularly NVM devices (such as flash memory devices), and may include resistive switching memory devices in some cases.

Referring now to FIG. 1, an example memory device and host arrangement 100 is shown, according to an embodiment of the invention. In this example, the host 102 may interface with the memory device 104 via a serial interface. For example, host 102 may be any suitable controller (e.g., CPU, MCU, general purpose processor, GPU, DSP, etc.), and memory device 104 may be any type of memory device (e.g., SRAM, DRAM, EEPROM, flash, CBRAM, magnetic RAM, ReRAM, etc.). Thus, the memory device 104 may be implemented in a variety of memory technologies (such as non-volatile types). In some cases, memory device 104 may be a serial flash memory, which may be implemented in a more traditional non-volatile memory or in a CBRAM/ReRAM resistive switching memory.

Various interface signals, such as in a Serial Peripheral Interface (SPI), may be included for communicating between the host 102 and the memory device 104. For example, a Serial Clock (SCK) may provide a clock to the device 104 and may be used to control the flow of data to the device. On a rising edge of the SCK, commands, addresses, and input data may be latched by the memory device 104 (e.g., via I/O pins), while output data may be clocked out of the memory device 104 (e.g., via I/O pins) according to SCK or Data Strobe (DS). A Chip Select (CS), which may be active low, may be used to select the memory device 104, such as from among a plurality of such memory devices sharing a common bus or circuit board, or otherwise as a way of accessing the device. When the chip select signal is de-asserted (e.g., at a high level), the memory device 104 may be deselected and placed in a standby mode. An enable chip select signal (e.g., via a high-to-low transition on CS) may be used to start operation, and a return chip select signal may be used to a high state to terminate operation. For internal self-timed operations (e.g., program or erase cycles), if a particular ongoing operation of chip select 8 is completed during the operation.

In an example interface, data may be provided to the memory device 104 (e.g., for write operations, other commands, etc.) and from the memory device 104 (e.g., for read operations, verification operations, etc.) via I/O signals. For example, input data on the I/O may be latched by the memory device 104 at the edge of the SCK and may be ignored if the device is deselected (e.g., when the chip select signal is deasserted). Data may also be output from the memory device 104 via I/O signals. For example, data output from the memory device 104 may be clocked out for timing consistency on edges of the DS or SCK, and the output signal may be in a high impedance state when the device is deselected (e.g., when the chip select signal is de-asserted).

Referring now to FIG. 2, shown is a schematic block diagram of an example memory device 104 structure in accordance with an embodiment of the present invention. For example, the memory device 104 may include: a memory array 202, a buffer 204 (e.g., SRAM or other fast access memory), and an I/O interface 206. In some arrangements, more than one buffer 204 may be provided, such as a buffer for the input path and another buffer for the output path. Alternatively, or in addition, multiple buffers may be provided for multi-layer buffering. For example, the memory device 104 may be configured as a data flash device and/or a serial flash device. The memory array 202 may be organized into any suitable number of pages of data. For example, each page may include 256 or 264 bytes of data. Similarly, the buffer 204 may store at least one page of data. The I/O interface 206 may provide an interface between the memory array 202, the buffer 204, and the serial data input (SI) and output (SO). For example, I/O interface 206 may be part of an SPI or other serial type interface, and may also support a number of SPI interface modes (e.g., single SPI, QPI, and octal modes).

Referring now to FIG. 3, shown is a block diagram of an example memory device in accordance with an embodiment of the present invention. Memory device 104 may include interface control and logic 208 that may manage the interface (e.g., SPI interface) and decode command and address information. The control and protection logic 902 may include control circuitry for reading and writing to the memory array, including address mapping and control for byte access and bank addressing/ordering, as will be discussed in more detail below. For example, control and protection logic 902 may include: a command decoder, registers for command execution parameters (e.g., read parameters, program/erase parameters, etc.), and a controller for command execution.

I/O buffers and latches 904 may control data inputs from interface control and logic 208, and data outputs to interface control and logic 208. For example, chip-select-based control and clock-based control of data read from the memory array 202 may be accommodated via the I/O buffers and latches 904. That is, the registers/latches in the I/O buffers and latches 904 may be controlled by the switching of the SCK during burst read and sequential data fetch (fetch) operations, as patterned herein. The SRAM data buffer 204 may buffer/store data between the memory array 202 and the I/O buffer and latch 904. The address latch block 906 may receive address information via the interface control and logic 208 and may provide a latched address to the X-decoder 908 of the row address and a latched address to the Y-decoder 910 of the column address. The incrementing of the address may be performed via the address latch block 906 and/or the control and protection logic 902. The Y decoder 910 may provide a column address to a Y strobe 912, which may include a pass gate (pass gate) or the like for multiplexed I/O lines to/from the memory array 202. As discussed above, the memory array 202 may include an array of volatile memory cells or an array of non-volatile memory cells (e.g., CBRAM, ReRAM, flash memory, etc.).

In one embodiment, a memory device may include: a memory array arranged in a plurality of rows and a plurality of columns; a single layer of memory cells at each row-column intersection, wherein each layer of memory cells is configured to be set to a predetermined conductance (conductance) state such that the plurality of layers of memory cells correspond to a plurality of predetermined conductance states; c) row control circuitry configured to apply a plurality of voltages to the plurality of rows by applying a plurality of sub-voltages on respective ones of the plurality of rows, wherein each of the plurality of sub-voltages corresponds to a different one of the plurality of memory cell layers, and wherein each sub-voltage is proportional to a voltage of the plurality of voltages on the corresponding row; and d) a sensing circuit configured to determine a column current flowing through a selected column of the plurality of columns in response to the plurality of voltages being applied to the plurality of rows, wherein the column current is a sum of currents flowing through respective memory cell layers corresponding to the selected column.

Referring now to FIG. 4, shown is a schematic block diagram of an example memory arrangement 400 in accordance with an embodiment of the present invention. For example, the memory array 202 may be arranged in rows and columns and may include any number of sub-arrays, as well as other support circuitry. The row control circuitry 402 may apply voltage levels on the rows, such as for accessing the memory cells, setting conductance values on various layers of memory cells, and so forth. In addition, the sensing circuit 404 may be used to read a memory cell, including for memory cell conductance value verification, and in particular, to determine the current flowing on a column line. For example, the current at the time of reading may correspond to various memory cell layer conductance values, such as based on word line/row voltage levels applied to various memory cell layers therein.

Referring now to FIG. 5, shown is a block diagram of an example of memory-based vector-matrix multiplication according to an embodiment of the present invention. A 2D memory array 500 may be formed, including rows and columns of conductive lines. One or more memory devices are formed at each node. In particular embodiments, the memory devices/memory cells may include non-volatile memory cells, such as resistive ram (rram) cells, conductive bridge memory (CBRAM) cells, Magnetic Ram (MRAM) cells, spin transfer torque MRAM (STT-MRAM) cells, Phase Change Memory (PCM) cells, flash memory cells, floating gate flash memory cells, split gate flash memory cells, SONOS cells, MNOS cells, ferroelectric ram (fram) cells, to name a few. In particular embodiments, the memory device may also include an access device (e.g., a transistor, a bipolar transistor, a field effect transistor, a diode, a thin film diode, a schottky diode, a bipolar diode, an ovonic threshold switch, a semiconductor diode, a silicon diode, etc.).

One or more layers of memory devices or memory cells at node ij may be configured to provide a conductance G between row i and column jijThe path of (2). For example, the input voltage V may beiTo the rows (e.g., by row control circuitry 402). The currents through all nodes on a given column j may be added to produce a total current Ij(e.g., as may be sensed via sensing circuitry 404). For example, the current in the first (j ═ 1) column on the left side of fig. 5 is Ii·=·V1G11·+·V2G21·+·V3G31·+·V4G41. In this way, vector-matrix multiplication VG ═ I can be achieved, and V can be scaledi、GijAnd IjIs mapped to variables in a particular problem of interest. As just one example, vector-matrix multiplication is common in machine learning algorithms such as neural networks, deep neural networks, convolutional networks, and the like. Such algorithms are used for tasks such as image identification, natural language processing (e.g., translation), signal classification, and the like. In this context, for example, conductance G in FIG. 5ijMay correspond to the "weight" of a layer of the network, and the voltage ViAnd current IjMay correspond to the input and output to the layer, respectively. As is familiar to those skilled in the art, the output of one layer of such a network may be used as input to the next layer of the network. Additional operations (e.g., enabling functions) may also be applied to the outputs of the layers to generate a set of modified outputs that may be used as inputs to the next layer of the network. Other applications that may utilize vector-matrix multiplication include such things as minimization, numerical solutions of differential equations, and spectral analysis (e.g., fourier analysis), to name a few.

Input ViMay be generally a continuous (e.g., analog) variable, and for many concerns, it is desirable that the conductance G be of a magnitudeijIs also a continuous variable in order to allow any vector V and matrix G to be used and to make the multiplication as accurate as possible. For a given input vector V, conductance GijAny of the values of one or more of the conductancesInaccuracies or unexpected variations may result in one or more output currents IjIs not accurate. Thus, the general case of memory-based vector-matrix multiplication may require memory cells with the following conductance: (i) a large number of different conductance values can be set in a controlled manner; and (ii) does not change value after setting. With existing memory technologies, this can be difficult to satisfy, and becomes increasingly difficult to satisfy as most memory technologies are extended to smaller nodes. Thus, the challenge of memory-based vector-matrix multiplication is to maximize the numerical accuracy of the calculations while also minimizing the number of stable and repeatable conductance levels to be achieved by the memory cells.

In certain embodiments, a "voltage division" method for memory-based vector multiplication is disclosed. Numerical accuracy can be based on the current I flowing down column jjHow well they match their expected values. Although the current on a given column can be written as ViGijSum of products (e.g., I)1=V1G11+V2G21+V3G31+V4G41) But a separate item (e.g. V)2G21) As an independent value by itself may be less important. Rather, the sum of the individual products may be more important, and thus, accuracy and repeatability may be based primarily on maintaining ViGijThis sum of products is determined unchanged. In the "sub-voltage" approach of some embodiments, a third "dimension" or layer k is introduced so that each V can be addediGijThe product is written as a sum ViGij=∑kVkiGkijWherein, sigmakRepresenting the sum over the k components. Thus, the current I initially flowing down column jjMay be the sum of k "sub-currents" I, i.e. Ij=∑kIkj=∑kiVkiGkij. This may provide an additional degree of freedom that allows passing through the pair "sub-voltages" VikAnd the number k of layers is appropriateChosen to accommodate the limitations on the physical conductance that can be achieved by the memory cell.

Referring now to FIG. 6, shown is a block diagram of an exemplary partial pressure memory based vector-matrix multiplication in accordance with an embodiment of the present invention. In example 600, current I flowing down column 4 of the 2D array4Will accordingly be obtained by summing the currents flowing down the 4 th column of k different layers (e.g. I4=∑kIk4). In this way, the previous 2D system can be effectively extended to the third dimension shown. Of course, in some embodiments, any number k of different layers, as well as memory cell layer arrangements and array/sub-array sizes, may be accommodated.

Referring now to FIG. 7, shown is a block diagram of an example of voltage division weight encoding for memory-based vector-matrix multiplication according to an embodiment of the present invention. In the specific example 700, a single memory cell may be effectively programmed to 4 evenly spaced conductance states having values G, 2G, 3G, 4G, such that G-50 uS, and which correspond to resistances of 5k Ω, 10k Ω, 6.7k Ω, and 20k Ω, respectively. For example, three memory cells per weight may be used, and the sub-voltages are V (e.g., the original input voltage), V/2, and V/4. Thus, a total current from 0 to 7GV (e.g., the sum of 3 cells) in GV/4 increments can be achieved, as shown. In this example, the total number of accessible current levels is 28 (excluding 0GV), or about 4.8 unsigned equivalent bits. By adding a fourth cell at voltage V, the number of accessible levels can be increased to 44, or log2(44) 5.5 equivalent bits. Furthermore, the use of negative voltages may double the number of accessible current levels, or log2(88) Which is approximately equal to 6.5 equivalent bits. In this example, the theoretical maximum values from 4 cells with 4 levels are all log2(44) 8 equivalent bits. As shown in this particular example, the first unit: 3G state, second cell: 4G state, third unit: 1G state, and current ═ V × (3G) + (V/2) × 4G + (V/4) × G ═ 5.25 GV.

In certain embodiments, a much higher number of states can be achieved with different voltage division schemes than with other methods. The voltage division concepts described herein may allow full utilization of the multi-level capabilities of memory cells without requiring such memory cells to provide relatively small conductance changes or relatively large currents. In addition, the method allows for improved resolution of near 0 current. In some embodiments, many choices of sub-voltages and number of cells are possible. Table 1 below shows the number of current levels (excluding 0GV) that can be accessed for various different selections of sub-voltages, whereby the conductance states of the cells are assumed to be equally spaced in increments "G" and the input voltage is assumed to be positive in this example (i.e., V > ═ 0).

Table 1:

in a particular embodiment, the number of different column currents is equal toWherein N isGIs the number of predetermined conductive states, NVIs the number of memory cell layers, and V/kiIs the sub-voltage applied to memory cell layer i. A 1 may be included to represent the case where all cells are in the off state and the current is about 0 (table 1 does not include the 0 current state). This example formula above assumes that all sub-voltages are of the same sign. For the case where any given sub-voltage may be positive or negative, it may be at NGThe amount of the first additive added was 2, i.e.,furthermore, the number of bits equivalent to different column currents may be equal to when the sub-voltages are of the same signIs base 2 logarithm, or is equal to when the sub-voltages can be positive or negativeBase 2 logarithm of (a).

Referring now to fig. 8, fig. 8 shows a block diagram of an example of a 2D voltage division method of memory-based vector-matrix multiplication according to an embodiment of the present invention. The k layers of the sub-voltage approach can be effectively flattened to allow the approach to be implemented in a 2D physical array. In example 800, the black squares may depict memory devices that connect (or otherwise couple to) horizontal and vertical lines that intersect at the location. Nodes without squares are not connected and instead are "disconnected" in this arrangement. In example 850, all nodes may contain memory devices/units. In particular embodiments, the memory device may include an access device (e.g., a transistor, a bipolar transistor, a field effect transistor, a diode, a thin film diode, a schottky diode, a bipolar diode, an ovonic threshold switch, a semiconductor diode, a silicon diode, etc.). Unlike the array shown in example 800, in the specific example 850, the sub-voltages may utilize a common vertical line.

Referring now to FIG. 9, shown is a block diagram of an example of voltage division weight encoding for memory-based vector-matrix multiplication according to an embodiment of the present invention. To reduce the need to change the conductance of the memory device in very small increments, a "voltage division" approach may be used for weight encoding. In example 900, a given input V may be giveni"voltage division" into k "sub-voltages" VikThe sub-voltage may be equal to ViThe proportions are generally not equal. In FIG. 9, these sub-voltages are Vi、Vi/3 and Vi/5. In particular embodiments, individual layers of memory cells may be assigned respective such sub-voltages. In the left example, its weight is initially G11Can now be constructed by having a "sub-weight" G111、G112And G113Is represented by three memory devices/units. The sub-weights may be selected such that the sum of their currents matches as closely as possible the current (e.g., V) originally generated by the node1G11=V1G111+(V1/3)G112+(V1/5)G113)

In one embodiment, a method of controlling a memory device having a memory array arranged in a plurality of rows and a plurality of columns, and a single layer of memory cells at respective row and column intersections may include the steps of: setting each memory cell layer to a predetermined conductance state such that the plurality of memory cell layers correspond to a plurality of predetermined conductance states; applying a plurality of voltages to the plurality of rows by applying a plurality of sub-voltages on respective ones of the plurality of rows, wherein each of the plurality of sub-voltages corresponds to a different one of the plurality of layers of memory cells, and wherein each sub-voltage is proportional to a voltage of the plurality of voltages on the corresponding row; and determining a column current flowing through a selected column of the plurality of columns in response to the plurality of voltages being applied to the plurality of rows, wherein the column current is a sum of currents flowing through respective memory cell layers corresponding to the selected column.

Referring now to FIG. 10, a diagram illustrates an example of a voltage division method using 3D integration of CBRAM memory cells, according to an embodiment of the present invention. Here a portion of a single layer is shown in example 1000. This CBRAM memory cell array may include columns (j) and rows (i), and 4 of each are shown in this example. Each node may include a via 1002 that serves as the cathode of a particular CBRAM cell. The rows may serve as the switching layers and anodes of the memory devices/cells. For example, the columns may include Cu, and the vias may include a metal (e.g., Ta or Ta)xSiy) The row can be a multi-layer stack including a dielectric layer having an oxide (e.g., SiO)2) Anode (e.g., Hf)xTey) Capping layer (e.g., Ta)xSiy) And optionally a sub-layer of a crossover layer (e.g., metal) to reduce line resistance. Each node of such an array may also include a 2-terminal access device located at each node and in series with the CBRAM cell.

Referring now to fig. 11, a diagram illustrates an example of a voltage division method using 3D integration of RRAM memory cells according to an embodiment of the present invention. This example 1100 illustrates a 3D integration including multiple layers of memory cells. Of course, in some embodiments, any suitable number of layers of memory cells, and any suitable number of rows and columns in a memory array may be supported.

Referring now to FIG. 12, shown is a diagram of an example of verifying weights of individual cells of a memory-based vector-matrix multiplication according to an embodiment of the present invention. In example 1200, all rows and columns may be brought to a read voltage VR(e.g., 0.2V). The voltage of the column containing the cell to be verified (e.g., j-2) may be reduced to 0. The current I flowing out of the column can then be measuredj(e.g., I)2). The voltage applied to the row containing the cell to be verified (e.g., i-3) may be from VRChange to VR' (e.g., V)R' -0.4V). The current I flowing out of the column can be measuredj' (e.g., I)2'). The conductance of the cell to be verified can be determined as G ═ I (I)i’-Ii)/(VR'-VR). In this way, the weights of individual memory cells can be verified for memory-based vector-matrix multiplication.

Referring now to FIG. 13, shown is a flow diagram of an exemplary method of verifying weights of individual cells of a memory-based vector-matrix multiplication in accordance with an embodiment of the present invention. In example 1300, at 1302, all rows and columns can be brought to a read voltage VR. At 1304, a column and a row (e.g., a row/column containing cells to be verified) may be selected. At 1306, the voltage on the selected column may be reduced to 0V. At 1308, the current I flowing out of the selected column may be measuredj. At 1310, the voltage applied to the selected column may be driven from VRChange to VR'. At 1312, the current I flowing out of the selected column may be measuredj', and the conductance of the cell to be verified can be determined as G ═ I (I)i’-Ii)/(VR’VR)。

Although the above examples include circuits, operational implementations, and structural implementations of certain memory cells and programmable impedance devices, one skilled in the art will recognize that other techniques and/or cell structures may be used depending on the implementation. Furthermore, those skilled in the art will recognize that other device circuit arrangements, architectures, components, etc. may also be used depending on the implementation. Further, the resistance level, operating conditions, etc. may depend on the retention, durability, switching speed, and variation requirements of the programmable resistance component.

The foregoing descriptions of specific embodiments of the present invention are presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents.

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:包括指纹传感器的设备的反欺骗方法和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!