The present application is a non-provisional patent application claiming priority to European Patent Application No. EP 22215794.3, filed on Dec. 22, 2022, the contents of which are hereby incorporated by reference.
The present disclosure relates to the field of in-memory compute devices and methods. It relates to ways of operating NAND-string based memory devices as mixed-signal multiply-and-accumulate element and matrix-vector multipliers.
The recent surge in machine learning applications and the steady development of powerful deep neural networks, hardware accelerators and energy-efficient near-memory or in-memory compute devices have attracted a lot of attention for the potential to overcome the energy and delay bottlenecks that can afflict traditional Von Neumann computer architectures. Indeed, state-of-the-art deep neural networks often require storage of several hundreds of megabytes worth of network parameters and need several gigabytes of working memory for floating-point precision multiply-and-accumulate operations (MAC) during network inference passes. Under these circumstances, frequent data accesses to off-chip memory become very energy-inefficient. It is thus desirable to perform an inference pass related to the computations at the location where the network parameters are stored, thereby reducing as much as possible the amount of data transfers.
S. Cosemans et al., “Towards 10000TOPS/W DNN Inference with Analog in-Memory Computing—A Circuit Blueprint, Device Options and Requirements,” 2019 IEEE International Electron Devices Meeting (IEDM), 2019, pp. 22.2.1-22.2.4, presents a matrix-vector multiplier for neural network inference which is based on analog in-memory computing. A compute array of flash transistors configured as current source-like elements receives pulse-width encoded activation inputs. Output currents generated by the array elements discharge summation lines.
The proposed matrix-vector multiplier, however, lacks the compactness known from dense NAND flash memory arrays.
Embodiments of the present disclosure provide dense and energy-efficient in-memory compute devices.
Methods and devices according to the present disclosure provide these features.
In a first embodiment, the present disclosure relates to an in-memory compute device that is suitable for performing analog multiply-and-accumulate operations on a set of data inputs and a corresponding set of weight inputs. The compute device comprises a string of serially connected memory cells which are formed over a semiconductor channel structure, a source junction controllably connectible to one end of the string of memory cells via a string select switch, a readout circuit and control circuitry. Each memory cell comprises a programmable threshold transistor adapted for permanently storing a threshold voltage representing a respective weight of the set of weight inputs. The readout circuit includes a sense node that is controllably connectible to one end of the string of memory cells via a charge transfer switch. Additionally, the readout circuit is configured to buffer transferred charge packets from the string of memory cells as a charge sum signal present on the sense node and convert the charge sum signal into an output voltage. The control circuitry is configured for: (i) applying a pass mode signal to control gate terminals of the respective memory cells of the string to cause the memory cells of the string to be switched on, regardless of the programmed threshold voltages; (ii) applying data input signals representative of the set of data inputs to the control gate terminals of the respective memory cells of the string, wherein applied data input signals representing binary zeroes cause memory cells of the string to be switched off; (iii) applying stop signals to the control gate terminals of the respective memory cells of the string to cause the remaining memory cells of the string to be switched off; (iv) enabling the string select switch to connect the source junction to the string of memory cells while applying the pass mode signal and the data input signals; and (v) enabling the charge transfer switch to connect the sense node to the string of memory cells while applying the stop signals. The data input signals and the stop signals are applied sequentially according to each memory cell's position along the string.
According to some embodiments, the sense node is identical to the source junction and the string select switch corresponds to the charge transfer switch. In this case, the sense node acts both as a supply of charge carrier to be injected into the channel structure and as a collector for transferred charge packets from the channel structure, though the functionality depends on the different phases of device operation. Since no separate source-sided junction has to be formed, such embodiments may be more straightforward to manufacture.
According to some embodiments, the readout circuit is further configured to sample the output voltage after applying the stop signals.
According to some embodiments, a plurality of strings of serially connected memory cells of the first aspect form columns of an arrayed memory structure. The memory cells of the plurality of strings are disposed at cross-points of the columns and rows of word lines. The strings of memory cells may be oriented in a vertical direction with respect to a major horizontal surface of a substrate of the in-memory compute device, thus forming a 3D structure. The word lines may be organized into word line sets and driven according to a multi-level data input. The control gate terminals of memory cells connected to different word lines of each word line set may have different associated gate lengths.
In another example embodiment, a method of performing analog multiply-and-accumulate operations in a memory device which comprises at least one string of serially connected memory cells formed over a semiconductor channel structure is disclosed, where a junction is operatively connected to one end of the string and a sense node operatively connected to one end of the string. Each memory cell comprises a programmable threshold transistor adapted for permanently storing a threshold voltage that represents a weight input to the memory cell. The method comprises the step of: (i) inducing a charge packet underneath each memory cell in the semiconductor channel structure, by switching on the programmable threshold transistors of the memory cells of the string, the junction supplying the charge for inducing the charge packets; (ii) transferring the charge packets induced by a first group of memory cells of the string to the junction, by switching off the corresponding programmable threshold transistors on the string; (iii) transferring the charge packets induced by a second group of memory cells of the string, complementary to the first group of memory cells of the string, onto the sense node, by switching off the remaining programmable threshold transistors on the string; (iv) buffering the transferred charge packets from the string of memory cells on the sense node, thus generating a charge sum signal, and converting the buffered charge signal into an output voltage. Transferring the charge packets to the at least one junction and transferring the charge packets onto the sense node comprises transferring the charge packets sequentially according to each memory cell's position along the string.
In some embodiments, the fabric underlying the mixed-signal matrix-vector multiplications can achieve close to maximum density and may allow for highly energy-efficient matrix-vector multiplications.
In some embodiments, the sum of product terms and partial sums of product terms can be computed at or close to the location where the coefficients (multipliers) for the product terms are stored.
In some embodiments, the weight matrices of large artificial neural networks can be stored in an on-chip design of the in-memory compute device, without resorting to external memory access.
In some embodiments, weight inputs to the memory cells of the in-memory compute device can rely on the existing mature multi-level weight technology, for instance used in NAND flash memories. Thus, in-memory compute operations for artificial neural networks such as MAC operations can be performed with higher precision than fully-binarized network models, which can result in improved prediction performances. Moreover, multi-level weight inputs allow in-memory compute operations to be performed in a more energy-efficient way than compute operations that rely on floating-point precision.
In some embodiments, the in-memory compute device supports a variety of different neural network architectures.
In some embodiments, contrary to conventional NAND flash memory devices, no output currents from the string of memory cells may need to be sensed. Instead, the charge packets may be progressively summed on the sense node as the transistors of corresponding memory cells in the string are turned off, which limits the time during which unintended tunneling currents can occur. Therefore, some embodiments are less prone to or do not significantly suffer from reliability issues related to read disturb effects and read disturb noise.
Some embodiments may relate to an in-memory compute device that comprises a string of serially connected memory cells which are formed over a semiconductor channel structure, a source junction controllably connectible to one end of the string of memory cells via a string select switch, a readout circuit and control circuitry. Each memory cell comprises a programmable threshold transistor adapted for permanently storing a threshold voltage representing a respective weight of the set of weight inputs. The readout circuit includes a sense node that is controllably connectible to one end of the string of memory cells via a charge transfer switch. Additionally, the readout circuit is configured to buffer transferred charge packets from the string of memory cells as a charge sum signal present on the sense node and convert the charge sum signal into an output voltage. The control circuitry is configured for: (i) applying a pass mode signal to control gate terminals of the respective memory cells of the string to cause the memory cells of the string to be switched on, regardless of the programmed threshold voltages; (ii) applying data input signals representative of the set of data inputs to the control gate terminals of the respective memory cells of the string, wherein applied data input signals representing binary zeroes cause memory cells of the string to be switched off; (iii) enabling the string select switch to connect the source junction to the string of memory cells while applying the pass mode signal; and (iv) enabling the charge transfer switch to connect the sense node to the string of memory cells while applying the data input signals. The data input signals are applied sequentially according to each memory cell's position along the string. Memory cells of the first group may be defined as those memory cells of the string of memory cells which receive data input signals that represent a digital “OFF”, whereas memory cells of the second group are defined as those memory cells of the string of memory cells which receive data input signals that represent a digital “ON”.
Some embodiments may relate to a method of performing analog multiply-and-accumulate operations in a memory device which comprises at least one string of serially connected memory cells formed over a semiconductor channel structure, a junction operatively connected to one end of the string and a sense node operatively connected to one end of the string. Each memory cell comprises a programmable threshold transistor adapted for permanently storing a threshold voltage that represents a weight input to the memory cell. The method comprises the step of: (i) inducing a charge packet underneath each memory cell in the semiconductor channel structure, by switching on the programmable threshold transistors of the memory cells of the string, the junction supplying the charge for inducing the charge packets; (ii) transferring the charge packets induced by a first group of memory cells of the string onto the sense node, by switching off the corresponding programmable threshold transistors on the string; (iii) buffering the transferred charge packets from the string of memory cells on the sense node, thus generating a charge sum signal, and converting the buffered charge signal into an output voltage. Transferring the charge packets onto the sense node comprises transferring the charge packets sequentially according to each memory cell's position along the string. The method may include the additional step of inverting data inputs to obtain a data input signal sequence and applying the so obtained data input signal sequence to the respective programmable threshold transistors on the string, whereby memory cells of the first group are switched off. Memory cells of the first group may be defined as those memory cells of the string of memory cells which receive inverted data input signals that represent a digital “OFF”, corresponding to original data input signals that represent a digital “ON”. Inverting data inputs may comprise replacing each data input bit by its complement. The control circuitry of the in-memory compute device can be configured to invert the data inputs.
Some embodiments may further comprise the step of programming the threshold voltages of the memory cells of the string, whereby a weight input is assigned to each memory cell selected for programming and the threshold voltage is programmed in accordance with the assigned weight input.
Aspects of the disclosure are set out in the accompanying independent and dependent claims. Features from the dependent claims may be combined with features of the independent claims and with features of other dependent claims as appropriate and not merely as explicitly set out in the claims.
The above and other aspects of the disclosure will be apparent from and elucidated with reference to the embodiment(s) described hereinafter.
Example embodiments will now be described further, by way of example, with reference to the accompanying drawings.
The drawings are only schematic and are non-limiting. In the drawings, the size of some of the elements may be exaggerated and not drawn on scale for illustrative purposes. Any reference signs in the claims shall not be construed as limiting the scope. In the different drawings, the same reference signs refer to the same or analogous elements.
Directional terminology such as top, bottom, front, back, leading, trailing, under, over, and the like in the description and the claims is used for descriptive purposes with reference to the orientation of the drawings being described, and not necessarily for describing relative positions. Because components of example embodiments can be positioned in a number of different orientations, the directional terminology is used for purposes of illustration only, and is in no way intended to be limiting, unless otherwise indicated. It is, hence, to be understood that the terms so used are interchangeable under appropriate circumstances and that the example embodiments described herein are capable of operation in other orientations than described or illustrated herein.
It is to be noticed that the term “comprising”, used in the claims, should not be interpreted as being restricted to the means listed thereafter; it does not exclude other elements or steps. It is thus to be interpreted as specifying the presence of the stated features, integers, steps, or components as referred to, but does not preclude the presence or addition of one or more other features, integers, steps or components, or groups thereof. Thus, the scope of the expression “a device comprising means A and B” should not be limited to devices including only components A and B.
Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one example embodiment. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner, as would be apparent to one of ordinary skill in the art from this disclosure, in one or more embodiments.
Similarly, it should be appreciated that in the description of example embodiments, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various aspects of the disclosure. This method of disclosure, however, is not to be interpreted as reflecting an intention that the example embodiment requires more features than are expressly recited in each claim. Rather, as the following claims reflect, aspects of the claims lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate example embodiment.
Furthermore, while some embodiments described herein include some but not other features included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the disclosure, and form different embodiments, as would be understood by those in the art.
In the description provided herein, numerous specific details are set forth. However, it is understood that example embodiments may be practiced without these specific details. In other instances, well-known methods, structures, and techniques have not been shown in detail in order not to obscure an understanding of this description.
The memory cells of the in-memory compute device in accordance with example embodiments may be implemented in various ways, such as floating-gate transistor devices having a conductive charge accumulation/storage gate layer, charge trap transistor devices having a dielectric charge trap layer, or ferroelectric field effect transistor devices having a ferroelectric layer whose polarization state is programmable. Therefore, memory cells may be implemented as a multi-layer stack that is formed on or over the semiconductor channel structure 12. The memory cells comprise a control gate and a non-volatile storage layer that is capable of changing the threshold voltage for formation of a conductive channel in the semiconductor channel structure 12 underneath the memory cell. The threshold voltage associated with the non-volatile storage layer of the memory cell is programmable through the application of suitable control signals or control pulses to the control gate of the memory cell. In some example embodiments, the non-volatile storage layer may be a dielectric layer for the trapping and retention of trapped charges (e.g. in a charge trapping transistor-based memory cell) to modify the threshold voltage of the memory cell, a conductive metal or semiconductor layer (e.g. polysilicon layer) for the retention of tunneled charges (e.g. in a floating-gate transistor-based memory cell) to modify the threshold voltage of the memory cell, a ferroelectric layer with controllable electrical polarization state (e.g. in a ferroelectric transistor-based memory cell) to modify the threshold voltage of the memory cell, or others. In memory cells according to some example embodiments, e.g. in floating-gate transistor-based or charge trap transistor-based memory cells, a first insulating layer (e.g. blocking oxide layer) separates the control gate from the non-volatile storage layer, and a second insulating layer (e.g. tunnel oxide layer) separates the non-volatile storage layer from the semiconductor channel structure but may allow tunneling of charges from the channel structure into the non-volatile storage layer, and vice versa. A voltage signal on the control gate, e.g. between the control gate and the channel structure, and its duration may control the tunneling of charges into and out of the non-volatile storage layer, e.g. according to the Fowler-Nordheim tunnelling mechanism, or change/flip a polarization state of a ferroelectric layer. This allows the controlled programming and/or erasure of threshold voltages in respect of each memory cell of the string. Nonetheless, memory cells may be erased block-wise before re-programming them, e.g. whole memory cell strings or sets of memory cell strings. In general, higher voltage signals may be used for programming and/or erasing the threshold voltage information of a memory cell than for reading it out. Here, reading out the stored threshold voltage or weight input information of a memory cell is understood as obtaining a readout signal with respect to that memory cell (e.g. readout voltage, readout current, or readout charge signal) that allows quantifying the stored threshold voltage or weight input information and discriminating among different permitted threshold voltage levels/weight input levels. At least two distinct threshold voltages are programmable in each memory cell. Hence, each memory cell of the string of memory cells is either a single-level cell capable of storing a single bit or a multi-level cell capable of storing multiple bits of information in a non-volatile fashion.
The semiconductor channel structure may be formed in or on the surface of a planar substrate and the arrangement of memory cells that are formed over the channel structure is a planar one.
Alternatively, the semiconductor channel structure may be erected on the horizontal surface of a planar substrate and extend therefrom in a vertical direction. The memory cells are then formed along an exterior surface of the vertical channel, optionally surrounding a core of the vertical channel in a wrap-around gate design. Individual memory cells may be mapped by control gate planes intersecting with the vertical channel, whereas the tunnel oxide layer, charge trap layer and blocking oxide layer may be formed as continuous concentric layers surrounding the vertical channel core. Other vertical memory cell string architectures are feasible. For example, pairs of memory cells being formed on two opposite external surfaces of a vertical channel core structure, wherein memory cells pairs are stacked vertically and the control gates of each pair of memory cells are operated in parallel and share a common control signal. Moreover, it is possible that the vertical channel, the tunnel oxide layer, the charge trap layer, and the blocking oxide layer fold back to cover two opposite exterior surfaces of a central vertical stack of mutually insulated control gates.
Although the memory cells of the present example embodiment are strung together along a straight line, i.e. forming a linear string, a spatial configuration of the string of memory cells is not limited to linear strings. For instance, longer string of memory cells can be obtained from shorter sub-strings of memory cells by connecting several sub-strings at their respective end portions. The resulting longer string of memory cells may have a U-shape or a meandering shape with intermediate connections, e.g. pipe connections between subsequent sub-string segments. In a memory array device including a plurality of non-planar columns (e.g. pillars) or planar columns of memory cells, the longer string of memory cells may be composed of several series-connected columns of memory cells.
The material of which the semiconductor channel structure is formed, may comprise silicon, for example, polycrystalline silicon (i.e. polysilicon). Nevertheless, high-purity monocrystalline silicon may be also used, as well as compound semiconductors such as indium-gallium-zinc-oxide (IGZO). The latter may be selected to allow the manufacture of in-memory compute devices according to example embodiments in which the memory cells are implemented as thin-film transistor devices.
The conductive channel in the semiconductor channel structure underneath the memory cells may be formed by inversion charges (inverted channel via inversion-mode transistors) or by accumulation charges, e.g., such as the bulk channels in junctionless nanowire all-around gate transistors or accumulation-mode transistors. Besides, the conductive channel may be a surface channel or a bulk channel. The mechanism behind the formation of the free charge carriers—inversion or accumulation—is not limiting as long as the semiconductor channel structure underneath the memory cells can be depleted, thus allowing modulation of the amount of induced inversion or accumulation charge in the semiconductor channel structure underneath the respective memory cells of the string.
Still in reference to
The readout circuit 15 is further configured to convert the induced charge sum signal into an output voltage. In the present embodiment, this is achieved with a source-follower transistor “SF” whose control gate terminal is connected to the sense node 14 and thus is receiving the induced charge sum signal, e.g. the aggregate charge of all transferred inversion charge packets. The source-follower transistor “SF” has its drain terminal connected to a voltage supply, e.g. VDD, and its source terminal is connected to a constant current source. In operation, a voltage at the source terminal of the source-follower transistor follows the charge sum signal that is buffered at the sense node 14 and is converted into a digital output signal, e.g. a digital readout signal generated by the readout circuit 15, using a sense amplifier “SA” which compares the followed voltage signal to a reference voltage signal “VREF”. The reference voltage signal “VREF” that is input the sense amplifier “SA” may be a ramped signal originating from a reference memory cell, i.e. a memory cell that is similar or identical to the memory cells 11a-11e of the string, but it not part of the string. Optionally, the readout circuit comprises sample-and-hold circuitry, which allows for the intermediate storage of multiple voltage samples obtained in respect of the sense node. Intermediately stored voltage samples may be combined in the analog domain, e.g. added or subtracted.
The string select switch 13a and the charge transfer switch 13b may be implemented as simple field effect transistors, distinct from the memory cells, as modified versions of the memory cells 11a-11e in the same string, e.g. by short-circuiting the control gate and the non-volatile storage layer, or as separately programmed versions of the memory cells 11a-11e in the same string, e.g. by invariably programming the constituent memory cells of the switches 13a, 13b to a fixed threshold voltage level VTFix. Both string select switch 13a and charge transfer switch 13b can be controlled independently of the memory cells 11a-11e. In a variant of the present embodiment, the source junction 17, sense node 14, string select switch 13a, and charge transfer switch 13b are connectible to the same end of the memory cell string. The string select switch 13a and/or the charge transfer switch 13b may include several separate, series-connected switches that act in unison. Moreover, dummy cells may be arranged between either one of the switches 13a, 13b and the actual memory cells of the string. This may allow performance degradation to be minimized through drain-induced barrier lowering. In example embodiments in which the in-memory compute device comprises a plurality of memory cell strings and memory cells are organized into an array, two or more strings of memory cells may share the same sense node and corresponding readout circuit.
Part of the readout circuit, e.g. the sense amplifier (SA) and the current source, may be arranged at a periphery of the array. The other part of the readout circuit, e.g. the reset transistor (RS) and the source follower transistor (SF), may be present at each string or shared between a group of strings, e.g. shared between two, three, four, or more strings. When many strings of memory cells are arranged into a 2D array or 3D array, the source electrodes of the source follower transistors (SF) are connected to respective bitlines of the array via a row select switch (not shown in
The in-memory compute device may comprise control circuitry (not shown) that generates the control signals and control signal sequences that are applied to the individual memory cells of the string of memory cells and to the two control switches 13a, 13b, when the device is operative. Among the applicable control signal sequences are binary input signals to each memory cell of the string, which represent a digital data input or “activation” to be combined with the respective weight input that is stored in the memory cell. The control circuitry may further control, directly or indirectly, the voltage bias that is applied to source junction and/or the sense node. In some example embodiments, the control circuitry is configured to carry out the steps of methods of operating the in-memory compute device described below.
With reference to the flow diagram of
Some example embodiments may comprise a step 201, wherein a set of weight inputs is written to the memory cells of the string, e.g. if updates to the stored weight inputs are required or a fresh set of weight input has been requested. This may occur during weight updating in a training method for artificial neural networks or if large weight matrices are multiplied with an activation vector. This step may be skipped if the previously stored weight inputs are used.
Step 201 involves programming of the individual memory cells of the string. Such programming methods may be used in the field of NAND flash memory devices. In an example embodiment, one programming method may include erasing all the memory cells of the string and then programming the threshold voltages of the respective memory cells of the string, one memory cell at the time. Erasure of the memory cells may include changing the threshold voltages of all memory cells of the string to the lowest permitted level, e.g. by briefly applying a strong positive voltage bias to the channel structure relative to the control gates of the memory cells in the string so that negative charges on retained on the non-volatile storage layer of all memory cells in the string are tunneling back into the channel structure. Writing of the individual threshold voltages to the different memory cells of the string may include biasing the channel structure at ground potential and briefly applying one or more programming voltage pulses to the control gate terminal of the memory cell whose threshold is to be written, while applying a pass mode voltage to all the other, unselected memory cells of the memory string. This injects negative charges from the channel structure, as a tunnel current, back into the non-volatile storage layer of the memory cells that is being programmed, thereby increasing its threshold voltage to the desired value. The amplitude of subsequently applied programming voltage pulse steps may be increased incrementally and is more positive than the pass mode voltage. In order to verify a successful programming of a target memory cell, the memory cell may be read out after each writing step, e.g. after each applied programming voltage pulse. In an array configuration of memory cells which comprises a plurality of different memory cell strings, unselected memory cell strings (strings not addressed for programming) that share a common word line with the memory cells to be programmed in a selected string may be inhibited from programming. Program inhibition of memory cells in unselected strings may be achieved by channel self-boosting, where the channel structure associated with the unselected memory cell strings is a floating state and disconnected from any external voltage supply so that capacitive coupling between word lines and channel structures raises the channel potential in respect of unselected memory cell strings and prevents programming by tunneling charges.
Next, charge packets are induced in the channel structure 12 underneath each memory cell 11a-11e in step 202 by application of a suitable pass mode voltage “VPM” to the control gates or control gate terminals of each memory cell of the string, i.e. a voltage level superior to the largest permitted value of the programmable threshold voltage. Application of the pass mode voltage signal “VPM” to the respective memory cells thus can ensure that all of the programmable threshold transistors are switched on, irrespective of the individually programmed threshold voltages, thus establishing a channel structure that is conductive through the string. Charge packets are induced along the channel and fill the potential wells in the conduction band of the channel semiconductor material.
The particular charge or size Q(i) of charge packets along the channel structure is determined by the overdrive voltage V_OV=VPM−VT(i) that is applied to the transistor device of the corresponding i-th memory cell along the string. Typically, one measures charge packet sizes that are directly proportional to the overdrive voltage: Q(i)=const*(VPM−VT(i)). Therefore, the pass mode signal can be varied in some example embodiments to adjust the size of the induced charge packets. With respect to memory cells based on inversion-mode programmable threshold transistors, the charge packets are inversion charges and may be formed near or at the channel surface. However, the charge packets may be accumulation charges memory cells in the interior (bulk) of the channel structure if memory cells are based on accumulation-mode, programmable threshold transistors.
In some embodiments, the permitted values for the programmable threshold voltages may be 0.5 V, 2.5 V, 3.5 V, and 4.0 V for quad-level memory cells. Using a pass mode voltage of 4.5 V, for example, leads to charge packets with size ratio 4:2:1:0.5 or, equivalently, 8:4:2:1. Hence, 4-bit wide weight inputs may be stored in each memory cell of the string and give rise to charge packets that follow a power of two scaling. Different size ratio between the charges induced by the permitted values of the programmable threshold voltage may be realized in other embodiments.
In some embodiments in which the sense node, e.g. a floating diffusion (FD) node, is identical to the source junction and the charge transfer switch is identical to the string select switch, the sense node and charge transfer switch are operated in the same way as the source junction and string select switch of the preceding embodiment (i.e. the charge transfer switch would receive a control signal toggling it into the “ON” state and the sense node is connected to an external voltage source, e.g. GND via the conducting reset transistor “RS”).
In the following step 203, the data input signals in accordance with the digital data inputs are applied to the control gate terminals of the respective memory cells of the string. The two binary values of the digital data inputs are represented by two corresponding data input signal voltages, e.g. “V1” and “V0” to represent a digital “ON” and a digital “OFF” respectively. on-limiting examples of the first and second data input signal voltages are V1 between 3 V and 5 V and V0 equal to 0 V. The first data input signal voltage “V1” is generally larger than the largest permitted value for the programmable threshold voltages and may be chosen equal to the pass mode voltage in some embodiments. In contrast thereto, the second data input signal voltage “V0” may be smaller than the smallest permitted value for the programmable threshold voltages. This choice of the first and second data input signal voltage verifies that the data input signals representing a digital “ON” cause the corresponding memory cell transistors to stay switched on, whereas the data input signals representing a digital “OFF” cause the corresponding memory cell transistors to be switched off. The previously induced charge packet underneath a memory cell whose transistor has been switched off is swept out of the semiconductor channel structure and collected on the sense node in step 204. The two steps 203 and 204 may be performed at the same time.
In some embodiments, zero-valued weight inputs can be obtained if the first data input signal voltage “V1” is chosen between the largest permitted value for the programmable threshold voltages and the second-largest permitted value for the programmable threshold voltages. In this case, the zero-valued weight inputs may be mapped to the largest permitted value for the programmable threshold voltages.
Moreover, the data input signals are applied sequentially according to each memory cell's position “i” in the string, i.e. form a data input sequence. For instance, the first position in the string is assigned to the memory cell in the string that is farthest from the sense node, the second position is assigned to the memory cell in the string that is adjacent to the memory cell that is farthest from the sense node, and so forth. For a string counting “M” memory cells, the M-th position is then assigned to the memory cell that is closest to the sense node. Application of the data input signals thus results in the transfer of charge packets from underneath all those memory cells that receive a digital “OFF” as digital data input (e.g. activation value) towards and onto the sense node, where they are buffered temporarily. In other words, the memory cells of the string of memory cells are logically divided into two groups: a first group of memory cells along the string for which the applied data input signal represents a digital “OFF” and a complementary, second group of memory cells along the string for which the applied data input signal does not represent a digital “OFF”, e.g. represents a digital “ON”. Induced charge packets in respect of memory cells of the first group are transferred towards and collected on the sense node.
A first sample of the charge sum signal at the sense node, e.g. floating diffusion (FD) node, may be obtained by the readout circuit in step 205. This first sample of the charge sum signal is indicative of the sum of partial products Σ_n: x(n)*w(n), where x are the binary-valued digital data inputs, w are the binary-valued or multi-level weight inputs and n is the index over all memory cells of the first group, i.e. memory cells receiving digital “OFF” as data input. The first sample may be digitized by the sense amplifier “SA” of the readout circuit and stored for later usage or may be discarded. For instance, products in a partial sum related to a MAC-operation for which the digital “OFF” state is associated with a numerical “0” do not contribute to the sum of products or dot-product between activation input and weight. They may thus be discarded. Alternatively, products in a partial sum related to a MAC-operation for which the digital “OFF” state is associated with a numerical “−1”, e.g. representative of inhibitory synapse connections in an artificial neural network (ANN), do contribute to the sum of products or dot-product between activation input and weight. In this case, the first sample represents a partial sum of product terms associated with inhibitory synapse connections and may be stored as a digital value in an external memory unit or in an additional digital memory unit of the in-memory compute device. It may also be stored temporarily as an analog signal in the readout circuit, where it may be combined, e.g. added or subtracted, from future samples of the charge sum signal at the sense node.
During the sample acquisition step 205, the charge transfer switch 13b is turned off so that the sense node 14 is disconnected from the channel structure and enters a floating state. Having acquired the sample of the charge sum signal at the sensing node at this point, the voltage at the sense node is reset, e.g. by applying a reset pulse “RST” to the reset transistor “RS” of the readout circuit. As shown in Figure, this removes the buffered charge packets on the sense node.
In some example embodiments, correlated double sampling may be applied. In this case, the acquired first sample can be corrected, digitally by post-processing unit or analogously in the readout circuit, by a reference signal obtained by sampling the sense node potential immediately after resetting. In yet other example embodiments, the reference signal is used as a substitute for the first sample, e.g. if the charge sum signal represents a partial sum of zero contribution.
After the first sample acquisition step 205, the reset transistor “RS” is switched off again and the charge transfer switch 13b is toggled back into its “ON”-state, whereby the sense node 14 is re-connected to the channel structure. Then, a second phase of charge packet transfer towards the sense node, e.g. FD node, is started in step 206. Induced charge packets in respect of the complementary, second group of memory cells—the memory cells of the string that did not previously receive a digital “OFF” as data input—are now pushed out of the channel structure and collected on the sense node. If an induced charge packet is pushed into a depleted part of the channel structure from one side, it will flow through the channel towards the other side. In terms of applicable control signals, this can be achieved by applying a stop signal sequentially to the respective control gate terminals of the programmable threshold transistors of all the memory cells of the string. A voltage level associated with the stop signal is smaller than the smallest permitted value of the programmable threshold voltages, e.g. constitutes a cut-off voltage for all memory cells of the string. It may be chosen equal to the aforementioned second data input signal voltage “V0”. As a result thereof, each memory cell of the string of memory cells is switched off at the end of step 206. The stop signals are applied sequentially according to each memory cell's position “i” in the string, i.e. form a stop signal sequence. As explained previously, the first position in the string may be assigned to the memory cell in the string that is farthest from the sense node, the second position may be assigned to the memory cell in the string that is adjacent to the memory cell that is farthest from the sense node, and so forth. The sequential application of data input signals and strop signals prevents charge packets from being moved in a direction that is opposite to the transport direction. It also ensures that charge packets are not left floating and cut off from the conductive part of the channel structure. Rather than having the charge transfer switch 13b switched on completely during the second phase of charge packet transfer, it is also sufficient to apply a voltage bias to its gate electrode such that charge packets arriving from the channel structure can be effectively pushed across the residual potential barrier.
Returning to
Some embodiments may include subtracting the first sample from the second sample obtained, either digitally by post-processing circuitry or analogously by using sense amplifiers with a differential input pair, or otherwise combining the first and second sample. This may include the use of corrected first and second samples, when performing CDS. A sample subtraction may be useful in embodiments in which the digital “OFF” state is associated with a numerical “−1”, e.g. representative of inhibitory synapse connections in an ANN, whereas the digital “ON” state is associated with a numerical “+1”, e.g. representative of excitatory synapse connections in the same ANN.
Repeating the method steps above while updating the weight inputs stored in the memory cells of the string at the beginning of each new iteration, e.g. writing successive weight vectors of a weight matrix to the memory cells of the string, is one example of how the preceding method can be extended to perform vector-matrix multiplications.
In some example embodiments, an in-memory device may also be used more generally to select and combine (e.g. sum) one or more components of data vectors stored in the memory cells of the string. This may be used, for example, to obtain a population count. The components of the data vector may be binary digits, ternary digits, etc. (i.e., each component may represent a single or multiple bits of information).
In a variant of the present embodiment, the charge packets underneath the first group of memory cells are transferred onto the source junction instead of the sense node in step 204. This may be done in cases in which no first sample is to be acquired or the reference voltage at the sense node is used as a substitute for the first sample. Induced charge packets can be pushed out of the channel structure and gathered on the source junction if the string select switch is switched on, the voltage bias on the source junction is decreased below the channel potential, and the source junction is left in a floating state. The charge transfer switch may be turned off. This variant may be used if a plurality of memory cell strings share a common readout circuit. In such a situation, multiple memory cell strings can be emptied of its first set of charge packets in parallel while the readout circuit can be actively sampling a charge sum signal with respect to another one of the plurality of strings.
Operating memory devices according to some embodiments may include setting the first data input signal voltage “V1” to a smaller value than the largest permitted value for the programmable threshold voltage but larger than the smallest permitted value for the programmable threshold voltage. A digital “ON” applied to a memory cell of the first group then may preserve the induced charge packets if the data input signal representing the digital “ON” is greater than the programmed threshold voltage for that memory cell. This way, a thresholding or rectification operation can be performed on the products of binary-valued data inputs (e.g. digital “ON” and “OFF”) and multi-level weight inputs. Depending on whether increasing weight inputs are mapped to increasing or decreasing threshold values, the rectification operation discards the larger/largest ones or the smaller/smallest ones of all possible product outcomes respectively.
An in-memory compute device 100 with an arrayed configuration of memory cells is illustrated in
A readout circuitry 150 may be arranged at the periphery, e.g. the bottom edge, of the memory cell array. It may be formed on the horizontally extending substrate in a 3D stacked device architecture, from which the strings of memory cells extend upwards in a vertical direction. The readout circuitry 150 comprises the readout circuits that are associated with each string of memory cells. If groups of strings of memory cells are sharing the same readout circuit, the readout circuitry 150 comprises the readout circuits that are associated with each group of strings. Charge transfer switches 130 are provided at the end of each memory cell string to operatively connect the cell string to the sense node of the corresponding readout circuit.
A row control unit 151 may be arranged at the periphery of the memory cell array. It may be formed on the horizontally extending substrate in a 3D stacked device architecture. The row control unit 151 comprises row decoding and row driving circuitry, which is used to select word lines and apply control signals to the selected word lines. The control unit 151 plays the role of the control circuitry referred to in the first embodiment of
The particular embodiment illustrated in
Multiple strings of memory cells, corresponding to columns of the arrayed device 100, can share a same readout circuit. Charge packets from multiple strings can thus be accumulated on a shared sense node, which allows the computation of larger partial sums. In addition, strings can be operated in parallel to support full vector-matrix multiplication.
A method of operating an in-memory compute device according to some example embodiments is illustrated in
Although the present disclosure has been illustrated and described with respect to one or more implementations, such illustration and description serve as examples and are to be considered illustrative and not restrictive. The foregoing description details certain example embodiments. It will be appreciated, however, that no matter how detailed the foregoing appears in text, equivalent alterations and modifications will occur to others skilled in the art upon the reading and understanding of this specification and the annexed drawings. In the claims, the word “comprising” does not exclude other elements or steps, and the indefinite article “a” or “an” does not exclude a plurality. Any reference signs in the claims should not be construed as limiting the scope.
Number | Date | Country | Kind |
---|---|---|---|
22215794.3 | Dec 2022 | EP | regional |