Memory device and computing method using the same
11955168 ยท 2024-04-09
Assignee
Inventors
Cpc classification
G11C16/0458
PHYSICS
G11C11/4085
PHYSICS
G11C11/4096
PHYSICS
G11C16/0466
PHYSICS
International classification
Abstract
A memory device is provided. The memory device includes a memory array of a plurality of memory elements, a plurality of word lines or word line pairs, a plurality of bit line pairs, and a plurality of common source lines. Each of the memory elements includes two memory cells. The memory device is configured for calculating an energy value based on a plurality of state signals and a plurality of coefficients, and the two memory cells of each of the memory elements are configured for performing an individual selection such that one of the two memory cells of each of the memory elements receives two corresponding state signals from a corresponding word line or a corresponding word line pair and a corresponding bit line pair and generates an output current into a corresponding common source line for calculating the energy value.
Claims
1. A memory device, comprising: a memory array of a plurality of memory elements, each of the memory elements comprising two memory cells; a plurality of word lines or a plurality of word line pairs connected to rows of the memory array; a plurality of bit line pairs connected to columns of the memory array; and a plurality of common source lines connected to the columns of the memory array; wherein the memory device is configured for calculating an energy value based on a plurality of state signals and a plurality of coefficients, and the two memory cells of each of the memory elements are configured for performing an individual selection such that one of the two memory cells of each of the memory elements receives two corresponding state signals from a corresponding word line or a corresponding word line pair and a corresponding bit line pair and generates an output current into a corresponding common source line for calculating the energy value.
2. The memory device according to claim 1, wherein the two memory cells of each of the memory elements that is not arranged at a diagonal of the memory array perform a logic XNOR operation.
3. The memory device according to claim 1, wherein each of the memory cells has a tunable threshold voltage or a tunable resistance.
4. The memory device according to claim 1, wherein each of the memory cells comprises a transistor.
5. The memory device according to claim 1, wherein each of the memory cells comprises a transistor and a resistor.
6. The memory device according to claim 1, wherein each of the memory elements comprise two transistors of same type or two transistors of complementary type.
7. The memory device according to claim 1, wherein each of the memory cells is a floating gate cell, a charge trapping cells, or a FeFET cell.
8. The memory device according to claim 1, wherein each of the memory cells is a ReRAM cell, a CBRAM cell, a PCM cell, or a MRAM cell.
9. The memory device according to claim 1, wherein one of the two memory cells of each of the memory elements is coupled to the corresponding word line or a word line of the corresponding word line pair, a bit line of the corresponding bit line pair, and the corresponding common source line, and the other one of the two memory cells of each of the memory elements is coupled to the corresponding word line or the other word line of the corresponding word line pair, the other bit line of the corresponding bit line pair, and the corresponding common source line.
10. A computing method, wherein the computing method calculates an energy value based on a plurality of state signals and a plurality of coefficients, wherein the computing method uses a memory device, the memory device comprises a memory array of a plurality of memory elements, and each of the memory elements comprises two memory cells, and wherein the computing method comprises: setting up the state signals in the memory array, comprising: conducting a complementary read operation for individually selecting one of the two memory cells of each of the memory elements for receiving two corresponding state signals; and inputting the state signals into the selected memory cells of the memory elements, wherein the selected memory cells generates a plurality of output currents; and calculating the energy value corresponding to the state signals based on a sum value of the output currents.
11. The computing method according to claim 10, wherein the complementary read operation comprises flipping a corresponding state signal if a trigger condition is met.
12. The computing method according to claim 11, wherein the trigger condition is represented by:
R?[0,1]>U, wherein R is a given random value, and U is a threshold value.
13. The computing method according to claim 12, wherein U is 0.5.
14. The computing method according to claim 10, further comprising: before said setting up the state signals, mapping the coefficients to the memory array.
15. The computing method according to claim 14, wherein said mapping the coefficients is achieved by tuning threshold voltages or resistances of the two memory cells of each of the memory elements.
16. The computing method according to claim 10, further comprising: after said calculating the energy value corresponding to the state signals, updating the state signals according a transition probability of the energy value.
17. The computing method according to claim 16, wherein said setting up the state signals, said calculating the energy value corresponding to the state signals, and said updating the state signals are repeated until a predetermined finish condition is met, and the computing method further comprises: after end of repetition, observing the state signals.
18. The computing method according to claim 10, applying quantum annealing algorithm employing Ising model without an external field term.
19. The computing method according to claim 10, wherein the state signals correspond to spins of sites selected from +1 and ?1, and the coefficients are interaction coefficients between the sites.
20. The computing method according to claim 10, wherein the two memory cells of each of the memory elements that is not arranged at a diagonal of the memory array perform a logic XNOR operation.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10) In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the disclosed embodiments. It will be apparent, however, that one or more embodiments may be practiced without these specific details. In other instances, well-known structures and devices are schematically shown in order to simplify the drawing.
DETAILED DESCRIPTION
(11) Various embodiments will be described more fully hereinafter with reference to accompanying drawings. The description and the drawings are provided for illustrative only, and not intended to result in a limitation. For clarity, the elements may not be drawn to scale. In addition, some elements and/or reference numerals may be omitted from some drawings. It is contemplated that the elements and features of one embodiment can be beneficially incorporated in another embodiment without further recitation.
(12) Referring to
H=h.sub.1?.sub.1+h.sub.2?.sub.2+J.sub.12?.sub.1?.sub.2(1)
(13) According to formula (1), energy H may be computed for different configurations of the state signals ?.sub.1 and ?.sub.2 (i.e., ?.sub.1=?1 and ?.sub.2=?1, ?.sub.1=?1 and ?.sub.2=+1, ?.sub.1=+1 and ?.sub.2=+1, and ?.sub.1=+1 and ?.sub.2=?1). For example, given h.sub.1=0.1, h.sub.2=?0.2, and J.sub.12=?0.3, the minimum energy H.sub.min will be obtained when both of ?.sub.1 and ?.sub.2 are +1, as shown in
(14)
(15) The disclosure provides a memory device, which can be used for computation of the algorithm. The memory device comprises a memory array of a plurality of memory elements, a plurality of word lines or a plurality of word line pairs, a plurality of bit line pairs, and a plurality of common source lines. Each of the memory elements comprises two memory cells. The word lines or the word line pairs are connected to rows of the memory array. The bit line pairs are connected to columns of the memory array. The common source lines are connected to the columns of the memory array. The memory device is configured for calculating an energy value based on a plurality of state signals and a plurality of coefficients, and the two memory cells of each of the memory elements are configured for performing an individual selection such that one of the two memory cells of each of the memory elements receives two corresponding state signals from a corresponding word line or a corresponding word line pair and a corresponding bit line pair and generates an output current into a corresponding common source line for calculating the energy value.
(16)
(17) Referring to
(18) It is appreciated that various kinds of memory elements may be used in the memory array according to the disclosure with suitable modifications to the corresponding lines and layout. According to some embodiments, each of the memory cells may have a tunable threshold voltage or a tunable resistance. According to some embodiments, each of the memory cells may comprise a transistor or comprise a transistor and a resistor. According to some embodiments, each of the memory elements M may comprise two transistors of same type or two transistors of complementary type. According to some embodiments, each of the memory cells may be a floating gate cell, a charge trapping cells, a FeFET cell, a ReRAM (resistive random access memory) cell, a CBRAM (conductive bridge random access memory) cell, a PCM (phase change memory) cell, or a MRAM (magnetoresistive random access memory) cell, but not limited thereto.
(19)
(20) In
(21) In
(22) In
(23) In
(24) Now referring to
(25) According to the disclosure, the memory device can be configured for calculating an energy value based on a plurality of state signals and a plurality of coefficients. The two memory cells Ma and Mb of each of the memory elements M are configured for performing an individual selection such that one of the memory cells Ma or Mb of each of the memory elements M receives two corresponding state signals from the corresponding word line pair WLp and the corresponding bit line pair BLp and generates an output current into a corresponding common source line CSL for calculating the energy value.
(26) According to some embodiments, the memory elements M that are not arranged at a diagonal of the memory array may be used to compute the interaction term of the energy. Exemplary interaction coefficient J.sub.12, J.sub.13, J.sub.1N, J.sub.21, J.sub.23, J.sub.2N, J.sub.31, J.sub.32, J.sub.3N, J.sub.N1, J.sub.N2, and J.sub.N3 are shown in
?.sub.iXNOR?.sub.j=(??.sub.i)XNOR(??.sub.j)(2)
(27) Specifically, as shown in
(28)
(29) In some embodiments, the idle memory elements M that are arranged at a diagonal of the memory array may be used to compute the external field term of the energy. Exemplary self coefficient h.sub.1, h.sub.2, h.sub.3, and h.sub.N are shown in
(30) Specifically, as shown in
(31)
(32) In a memory element M as shown in
(33) As described above, each of the memory elements M can couple the two state signal ?.sub.i and ?.sub.j from the corresponding word line pair WLp and bit line pair BLp, and provides a coupling result based on the encoding strategy of, for example, threshold voltage. It is beneficial to use the memory array for computation since the energies of spins can be calculated in a parallel manner.
(34) As shown in
(35) The disclosure also provides a computing method. The computing method calculating an energy value based on a plurality of state signals and a plurality of coefficients. The computing method uses a memory device. The memory device comprises a memory array of a plurality of memory elements. Each of the memory elements comprises two memory cells. The computing method comprises: setting up the state signals in the memory array, comprising: conducting a complementary read operation for individually selecting one of the two memory cells of each of the memory elements for receiving two corresponding state signals; and inputting the state signals into the selected memory cells of the memory elements, wherein the selected memory cells generates a plurality of output currents; and calculating the energy value corresponding to the state signals based on a sum value of the output currents.
(36)
(37) In step S1, the coefficients are mapped to the memory array. According to some embodiments, the computation may be focused on the interaction term of the energy. As such, the coefficients are interaction coefficients between sites. Exemplary interaction coefficient J.sub.12, J.sub.13, J.sub.1N, J.sub.21, J.sub.23, J.sub.2N, J.sub.31, J.sub.32, J.sub.3N, J.sub.N1, J.sub.N2, and J.sub.N3 are shown in
(38) In step S2, the state signals are set up in the memory array. For example, a m.sup.th configuration of the state signals may be set up into the memory array, wherein m is a positive integer. The state signals may correspond to spins of the sites selected from +1 and ?1. The step S2 comprises: conducting a complementary read operation for individually selecting one of the two memory cells of each of the memory elements for receiving two corresponding state signals; and inputting the state signals into the selected memory cells of the memory elements, wherein the selected memory cells generates a plurality of output currents. According to some embodiments, the complementary read operation may comprise flipping a corresponding state signal, as shown in
R?[0,1]>U(5)
In formula (5), R is a given random value, and U is a threshold value. In some embodiments, U may be 0.5.
(39) In step S3, the energy value corresponding to the state signals is calculated based on a sum value of the output currents. More specifically, the energy value corresponding to the m.sup.th configuration of the state signals may be calculated. When the sum value of the output current is the output current of a string, such as the output current L.sub.1, L.sub.2, L.sub.3, or L.sub.4 as shown in
(40) In step S4, the state signals are updated according a transition probability of the energy value. More specifically, if the transition probability is larger than a predefined value, a new (m+1).sup.th configuration of the state signals will replace the original m.sup.th configuration of the state signals. In some embodiments, the transition probability P may be represented by formula (6).
(41)
In formula (6), L.sub.i is local spin energy, and q.sub.i and T are hyper-parameters.
(42) The steps S2-S4 may be repeated until a predetermined finish condition is met. After end of repetition, step S5 may be conducted. In step S5, the state signals may be observed. In other words, the final configuration of the state signals, which corresponds to the optimal solution, may be observed.
(43) The computing method according to the disclosure may applying quantum annealing algorithm employing Ising model. In particular, the computing method according to the disclosure may applying quantum annealing algorithm employing Ising model without an external field term. For example, the computing method according to the disclosure may be applied in a combinatorial clustering problem of machine learning as shown in
H=?.sub.i,j=1.sup.Nd(x.sub.i,x.sub.j)s.sub.is.sub.j(7)
In formula (7), d is the distance. When d is large, state signals s.sub.i and s.sub.j tend to adopt opposite spins. When d is small, state signals s.sub.i and s.sub.j tend to adopt the same spin.
(44) The computing method according to the disclosure allows for higher tolerance on the variation of threshold voltage in cases that the threshold voltage is tuned for setting the coefficients, such as the cases using the memory elements as shown in
(45) Based on the above, the disclosure provides a memory device and a computing method using the same as improved implementations for algorithms.
(46) It will be apparent to those skilled in the art that various modifications and variations can be made to the disclosed embodiments. It is intended that the specification and examples be considered as exemplary only, with a true scope of the disclosure being indicated by the following claims and their equivalents.