Data sensing device and data sensing method thereof

10832783 ยท 2020-11-10

Assignee

Inventors

Cpc classification

International classification

Abstract

A data sensing device and a data sensing method thereof are provided. The data sensing device includes a compensation signal generator, a weighting operator and an arithmetic operator. The compensation signal generator receives a basic input signal and a plurality of reference weighting values, and generates a compensation signal according to the basic input signal and the reference weighting values. The weighting operator has a plurality of memory cells, performs a writing operation on the memory cells according to the weighting values based on address information, and the weighting operator generates an output signal by the memory cells by receiving a plurality of input signals. The arithmetic operator performs an operation on the output signal and the compensation signal to generate a compensated output signal.

Claims

1. A data sensing device, coupled to a memory array, comprising: a compensation signal generator, receiving a basic input signal and a plurality of reference weighting values, and generating a compensation signal according to the basic input signal and the reference weighting values; a weighting operator, comprising a plurality of memory cells, performing a writing operation on the memory cells according to a plurality of weighting values based on address information, and generating an output signal by the memory cells by receiving a plurality of input signals; and an arithmetic operator, coupled to the compensation signal generator and the weighting operator, and performing an operation on the output signal and the compensation signal to generate a compensated output signal.

2. The data sensing device according to claim 1, wherein the compensation signal generator calculates a reference weighting sum of the reference weighting values, and multiplies the reference weighting sum by the basic input signal to obtain the compensation signal.

3. The data sensing device according to claim 1, wherein the weighting operator receives the input signals by the memory cells respectively and generates a read current, and the weighting operator further generates the output signal by sensing the read current.

4. The data sensing device according to claim 3, wherein the weighting operator further comprises a sensing amplifier, which generates the output signal by comparing the read current with a plurality of reference currents.

5. The data sensing device according to claim 1, wherein the memory cells are non-volatile memory cells.

6. The data sensing device according to claim 1, wherein the memory cells provide a plurality of transconductances respectively according to the corresponding weighting values.

7. The data sensing device according to claim 1, wherein the compensation signal generator comprises a plurality of reference memory cells, the compensation signal generator performs a writing operation on the reference memory cells according to the reference weighting values based on the address information, and the compensation signal generator generates the compensation signal by the reference memory cells by receiving the reference input signal, a sum of the reference weighting values being equal to a sum of the weighting values.

8. The data sensing device according to claim 7, wherein the arithmetic operator comprises: a current subtractor, coupled to the compensation signal generator and the weighting operator, and subtracting the compensation signal from the output signal to generate a subtraction result; and a sensing amplifier, coupled to the current subtractor, and comparing the subtraction result with a plurality of reference currents to generate the compensated output signal.

9. The data sensing device according to claim 7, wherein the arithmetic operator comprises: a current adder, coupled to the compensation signal generator, and summing the compensation signal and a plurality of reference currents to generate a plurality of compensation reference currents; and a sensing amplifier, coupled to the current adder, and comparing the output signal with the compensation reference currents to generate the compensated output signal.

10. The data sensing device according to claim 7, wherein the reference memory cells are non-volatile memory cells.

11. A data sensing method, comprising: providing a compensation signal generator for receiving a basic input signal and a plurality of reference weighting values, and generating a compensation signal according to the basic input signal and the reference weighting values; providing a weighting operator for performing a writing operation on a plurality of memory cells in the weighting operator according to a plurality of weighting values based on address information, and generating an output signal by the memory cells by receiving a plurality of input signals; and providing an arithmetic operator for performing an operation on the output signal and the compensation signal to generate a compensated output signal.

12. The data sensing method according to claim 11, wherein the step of generating the compensation signal according to the basic input signal and the reference weighting values comprises: calculating a reference weighting sum of the reference weighting values; and multiplying the reference weighting sum by the reference input signal to obtain the compensation signal.

13. The data sensing method according to claim 11, wherein the step of generating the output signal by the memory cells by receiving the input signals comprises: generating a read current by the memory cells by receiving the input signals respectively; and generating the output signal by sensing the read current.

14. The data sensing method according to claim 11, wherein the step of providing the compensation signal generator for receiving the basic input signal and a plurality of weighting values and generating the compensation signal according to the basic input signal and the reference weighting values comprises: setting a plurality of reference memory cells in the compensation signal generator; performing a writing operation on the reference memory cells according to the reference weighting values based on the address information; and generating the compensation signal by the reference memory cells by receiving the reference input signal, a sum of the reference weighting values being equal to a sum of the weighting values.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1 shows a schematic diagram of a data sensing device according to an embodiment of the present invention;

(2) FIG. 2 shows a schematic diagram of an implementation of a data sensing device according to an embodiment of the present invention;

(3) FIG. 3 shows an action flowchart of the implementation in FIG. 2 of the present invention;

(4) FIG. 4 shows a schematic diagram of another implementation of a data sensing device according to an embodiment of the present invention;

(5) FIG. 5 shows an operation flowchart of the implementation in FIG. 4 of the present invention;

(6) FIG. 6 shows a schematic diagram of another implementation of a data sensing device according to an embodiment of the present invention;

(7) FIG. 7 shows a schematic diagram of an offset operation of a reference current according to an embodiment of the present invention;

(8) FIG. 8 shows an action flowchart of the implementation in FIG. 6 of the present invention; and

(9) FIG. 9 shows a flowchart of a data sensing method according to an embodiment of the present invention.

DESCRIPTION OF THE EMBODIMENTS

(10) Referring to FIG. 1, FIG. 1 shows a schematic diagram of a data sensing device according to an embodiment of the present invention. A data sensing device 100 includes a compensation signal generator 110, a weighting operator 120 and an arithmetic operator 130. The compensation signal generator 110 receives a basic input signal V.sub.base and a plurality of reference weighting values WR. The compensation signal generator 110 generates a compensation signal CV according to the basic input signal V.sub.base and the reference weighting values WR. In detail, the compensation signal generator 110 may calculate a reference weighting sum of the reference weighting values WR and multiply the reference weighting sum by the reference input signal V.sub.base to obtain the compensation signal CV. In other embodiments of the present invention, the compensation signal generator 110 may also be a data storage component. The compensation signal CV may be calculated outside the compensation signal generator 110 and stored in the compensation signal generator 110.

(11) On the other hand, in the embodiments of the present invention, the weighting operator 120 receives address information ADD and a plurality of weighting values W.sub.1 to W.sub.M. The weighting operator 120 may have a plurality of non-volatile memory cells, and the weighting operator 120 may perform a writing operation on the non-volatile memory cells according to the weighting values W.sub.1 to W.sub.M based on the address information ADD. The transconductances of the non-volatile memory cells after the completion of the writing operation are respectively set according to the weighting values W.sub.1 to W.sub.M. For example, the weighting values W.sub.1 to W.sub.M may be A times the corresponding transconductances, where A may be any real number. In addition, the weighting operator 120 further receives input signals V.sub.1 to V.sub.N, applies the input signals V.sub.1 to V.sub.N to the non-volatile memory cells respectively, and accordingly generates an output signal OUT. It is to be noted here that after an artificial neural network has a negative input signal, an offset operation may be performed according to the reference input signal V.sub.base for all input signals, so that the offset input signals V.sub.1 to V.sub.N are all positive signals. In this way, the weighting operator 120 may efficiently perform an artificial neural network operation according to the input signals V.sub.1 to V.sub.N and generate the output signal OUT. It is to be noted here that a sum of the weighting values W.sub.1 to W.sub.M is equal to a sum of the reference weighting values WR.

(12) On the other hand, the arithmetic operator 130 is coupled to the compensation signal generator 110 and the weighting operator 120, and performs an arithmetic operation on the output signal OUT and the compensation signal CV to generate a compensated output signal COUT. The arithmetic operator 130 may subtract the compensation signal CV from the output signal OUT to generate the compensated output signal COUT. In this way, the data sensing device 100 may generate an output signal (i.e., the compensated output signal COUT) that actually corresponds to the artificial neural network operation performed by the negative input signal.

(13) Referring to FIG. 2, FIG. 2 shows a schematic diagram of an implementation of a data sensing device according to an embodiment of the present invention. A data sensing device 200 includes a compensation signal generator 210, a weighting operator 220 and an arithmetic operator 230. In the present implementation, the compensation signal generator 210 receives a basic input signal V.sub.base and reference weighting values WR, and generates a compensation signal CV by multiplying the basic input signal V.sub.base by a sum of the reference weighting values WR. In other implementations of the present invention, the compensation signal generator 210 may be a data storage component. The compensation signal CV may be calculated outside the compensation signal generator 210 and stored in the compensation signal generator 210.

(14) On the other hand, in the embodiments of the present invention, the weighting operator 220 has a plurality of memory cells MC1 to MCM. The weighting operator 220 performs a writing operation on the memory cells MCI to MCM according to a plurality of weighting values W.sub.1 to W.sub.M based on the address information ADD. Moreover, the weighting operator 220 receives a plurality of input signals V.sub.1 to V.sub.N respectively by the memory cells MCI to MCM to generate an output signal OUT. The memory cells MC1 to MCM may be constructed on the same memory string 222. When the writing operation of the weighting values W.sub.1 to W.sub.M is performed for the memory cells MC1 to MCM, the transconductances of the memory cells corresponding to the weighting values W.sub.1 to W.sub.M may be first calculated, and then the writing operation is performed on the memory cells MC1 to MCM respectively according to the calculated transconductances.

(15) The weighting operator 220 further includes a sensing amplifier 221. The sensing amplifier 221 is coupled to the memory string 222, and receives a read current IR generated by the memory string 222 according to the received input signals V.sub.1 to V.sub.N. The sensing amplifier 221 compares the read current IR with a plurality of reference currents to generate an output signal OUT.

(16) It is worth mentioning that the number of the memory cells in the weighting operator 220 may be set according to the number of the weighting values W.sub.1 to W.sub.M in an artificial neural network, and is not particularly limited. In addition, the memory cells MC1 to MCM in the present implementation may be flash memory cells.

(17) The operator 230 is coupled to the compensation signal generator 210 and the weighting operator 220. The operator 230 receives the compensation signal CV generated by the compensation signal generator 210, receives the output signal OUT generated by the weighting operator 220, and performs an arithmetic operation on the output signal OUT and the compensation signal CV to generate a compensated output signal COUT. The operator 230 may include a adder 231. The adder 231 may be used for subtracting the compensation signal CV from the output signal OUT to generate the compensated output signal COUT.

(18) Referring to FIG. 2 and FIG. 3 simultaneously, FIG. 3 shows an operation flowchart of the implementation in FIG. 2 of the present invention. In step S310, reference weighting values WR may be stored in the compensation signal generator 210, a sum of the reference weighting values WR (reference weighting sum) is calculated, and a compensation signal is generated by calculating a product of the reference weighting sum and a basic input signal. In addition, in step S320, input signals V.sub.1 to V.sub.N are transmitted to the weighting operator 220, and an output signal OUT is generated by performing an operation on the input signals V.sub.1 to V.sub.N and the corresponding weighting values according to address information respectively. In step S330, a compensation signal CV is subtracted from the output signal OUT to generate a compensated output signal COUT.

(19) Then, referring to FIG. 4, FIG. 4 shows a schematic diagram of an implementation of a data sensing device according to an embodiment of the present invention. A data sensing device 400 includes a compensation signal generator 410, a weighting operator 420 and an arithmetic operator 430. The compensation signal generator 410 includes a memory string 411 composed of a plurality of reference memory cells MCR1 to MCR3. The compensation signal generator 410 performs a writing operation for the reference memory cells MCR1 to MCR3 according to a plurality of reference weights, and the reference memory cells MCR1 to MCR3 provide a plurality of reference transconductances G.sub.1, G.sub.2 and G.sub.3 respectively. Moreover, the memory string 411 of the compensation signal generator 410 receives a basic input signal V.sub.base, and a read current is provided as a compensation signal CV through a bit line BL1 of the memory string 411.

(20) On the other hand, the weighting operator 420 has a memory string 421 composed of a plurality of memory cells MCI to MC3. The weighting operator 420 performs a writing operation on the memory cells MCI to MC3 according to a plurality of weighting values respectively, such that the memory cells MC1 to MC3 provide a plurality of transconductances G.sub.1, G.sub.2 and G.sub.3 respectively. It is worth mentioning that a sum of the reference transconductances G.sub.1, G.sub.2 and G.sub.3 is equal to a sum of the transconductances G.sub.1, G.sub.2 and G.sub.3. In addition, the memory cells MC1 to MC3 receive input signals V.sub.1, V.sub.2 and V.sub.3 respectively, and a read current is provided as an output signal OUT through a bit line BL2 of the memory string 421.

(21) The arithmetic operator 430 includes a sensing amplifier (SA) 431 and a current subtractor 432. The current subtractor 432 receives the compensation signal CV and the output signal OUT, and subtracts the compensation signal CV from the output signal OUT (by multiplying the compensation signal CV with 1 and adding the output signal OUT). The sensing amplifier 431 is coupled to the current subtractor 432 and compares a subtraction result generated by the current subtractor 432 with a plurality of preset reference currents to sense a compensated output signal COUT.

(22) In the present implementation, the memory strings 411 and 421 may be disposed at different locations, but share the same address information. That is, the memory strings 411 and 421 may be simultaneously written, and may be simultaneously read to simultaneously provide a read current.

(23) Referring to FIG. 4 and FIG. 5 simultaneously, FIG. 5 shows an operation flowchart of the implementation in FIG. 4 of the present invention. In step S510, a plurality of weights is converted into a plurality of transconductances G.sub.1, G.sub.2 and G.sub.3 respectively, and another set of reference transconductances G.sub.1, G.sub.2 and G.sub.3 is generated according to the transconductances. A sum of the transconductances G.sub.1, G.sub.2 and G.sub.3 is equal to a sum of the reference transconductances G.sub.1, G.sub.2 and G.sub.3. Further, a writing operation is performed for the memory cells MCI to MC3 and the reference memory cells MCR1 to MCR3 according to the transconductances G.sub.1, G.sub.2 and G.sub.3 and the reference transconductances G.sub.1, G.sub.2 and G.sub.3 respectively. In addition, in step S520, input signals V.sub.1 to V.sub.3 are provided to the memory cells MCI to MC3 to obtain an output signal OUT, and a basic input signal V.sub.base is provided to the reference memory cells MCR1 to MCR3 to obtain a compensation signal CV. In step S530, a compensated output signal COUT is generated by sensing a difference between the output signal OUT and the compensation signal CV.

(24) Then, referring to FIG. 6, FIG. 6 shows a schematic diagram of an implementation of a data sensing device according to an embodiment of the present invention. A data sensing device 600 includes a compensation signal generator 610, a weighting operator 620 and an arithmetic operator 630. The compensation signal generator 610 includes a memory string 611 composed of a plurality of reference memory cells MCR1 to MCR3. The compensation signal generator 610 performs a writing operation for the reference memory cells MCR1 to MCR3 according to a plurality of reference weights, and the reference memory cells MCR1 to MCR3 provide a plurality of reference transconductances respectively. Moreover, the memory string 611 of the compensation signal generator 610 receives a basic input signal V.sub.base, and a read current is provided as a compensation signal CV through a bit line BL1 of the memory string 611.

(25) On the other hand, the weighting operator 620 has a memory string 621 composed of a plurality of memory cells MCI to MC3. The weighting operator 620 performs a writing operation on the memory cells MCI to MC3 according to a plurality of weighting values respectively, such that the memory cells MCI to MC3 provide a plurality of transconductances respectively. It is worth mentioning that a sum of the reference transconductances is equal to a sum of the transconductances. In addition, the memory cells MCI to MC3 receive input signals V.sub.1, V.sub.2 and V.sub.3 respectively, and a read current is provided as an output signal OUT through a bit line BL2 of the memory string 621.

(26) In the present embodiment, the memory strings 611 and 621 may correspond to the same word line and respectively correspond to different bit lines BL1 and BL2.

(27) In the present implementation, the arithmetic operator 630 includes a current adder 631 and a sensing amplifier 632. The current adder 631 receives a compensation signal CV and a plurality of reference currents ref.sub.a, and sums the reference currents ref.sub.a and the compensation signal CV to generate a plurality of compensation reference currents ref.sub.b. The current adder 631 provides the compensation reference currents ref.sub.b to the sensing amplifier 632. The sensing amplifier 632 further receives an output signal OUT and generates a compensated output signal COUT by comparing the output signal OUT with the compensation reference currents ref.sub.b.

(28) Referring to a schematic diagram of an offset operation of a reference current according to an embodiment of the present invention shown in FIG. 7, in the implementation of FIG. 6, the arithmetic operator 630 generates the compensation reference currents ref.sub.b by offsetting the reference currents ref.sub.a using the sensing amplifier 632 as a sensing basis, and a correct compensated output signal COUT may also be effectively generated by comparing the output signal OUT with the compensation reference currents ref.sub.b.

(29) Referring to FIG. 6 and FIG. 8 simultaneously, FIG. 8 shows an operation flowchart of the implementation in FIG. 6 of the present invention. In step S810, a plurality of weights is converted into a plurality of transconductances respectively, and another set of reference transconductances is generated according to the transconductances. A sum of the transconductances is equal to a sum of the reference transconductances. Further, a writing operation is performed for the memory cells MCI to MC3 and the reference memory cells MCR1 to MCR3 according to the transconductances and the reference transconductances respectively. In addition, in step S820, input signals V.sub.1 to V.sub.3 are provided to the memory cells MCI to MC3 to obtain an output signal OUT, and a basic input signal V.sub.base is provided to the reference memory cells MCR1 to MCR3 to obtain a compensation signal CV. In step S830, the compensation signal CV and the reference currents ref.sub.a are summed to obtain a plurality of compensation reference currents ref.sub.b, and the output signal OUT is sensed according to the compensation reference currents ref.sub.b to generate a compensated output signal COUT.

(30) Referring to FIG. 9, FIG. 9 shows a flowchart of a data sensing method according to an embodiment of the present invention. In step S910, a compensation signal generator is provided for receiving a basic input signal and a plurality of reference weighting values, and generating a compensation signal according to the basic input signal and the reference weighting values. In step S920, a weighting operator is provided for performing a writing operation on a plurality of memory cells in the weighting operator according to a plurality of weighting values based on address information, and generating an output signal by the memory cells by receiving a plurality of input signals. In step S930, an arithmetic operator is provided for performing an operation on the output signal and the compensation signal to generate a compensated output signal.

(31) The details of implementation of the above steps have been described in detail in the foregoing embodiments and implementations, and will not be further described herein.

(32) In summary, in the present invention, the compensation signal generator is provided to generate a compensation signal according to a basic input signal and a plurality of reference weighting values, and an arithmetic operation is performed on an operation result (output signal) about an artificial neural operation generated by the weighting operator and a reference signal to generate a compensated output signal. Since the compensated signal is independent from the input signal. The compensated signal can be calculated out in advance. In a real implement, comparing with prior art, half amount of operation can be saved. Besides, in a situation that same weighting values are operation by weighting operators, the weighting operators can be shared. In this way, presented invention can be used to complete an operation of an artificial neural network having a negative input signal by lower amount of operation.

(33) Although the present invention has been disclosed above through the embodiments, the embodiments are not intended to limit the present invention. A person of ordinary skill in the art can make some alterations and modifications without departing from the spirit and scope of the present invention. Therefore, the scope of protection of the present invention is defined by the scope of the appended claims.