US20210042030A1 - Memory device - Google Patents
Memory device Download PDFInfo
- Publication number
- US20210042030A1 US20210042030A1 US16/533,870 US201916533870A US2021042030A1 US 20210042030 A1 US20210042030 A1 US 20210042030A1 US 201916533870 A US201916533870 A US 201916533870A US 2021042030 A1 US2021042030 A1 US 2021042030A1
- Authority
- US
- United States
- Prior art keywords
- signals
- signal
- node
- output
- memory device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
Definitions
- the invention relates to a memory device.
- Neural network is a system having abilities of learning, conclusion and induction. Neural network is widely applied in fields such as machine learning and artificial. However, huge amount of calculation of neutral network may need to be supported by hardware. In view of the above, it is a trend in the art to implement a neural network by means of a memory with high speed computing ability.
- An embodiment of the present invention discloses a memory device.
- the memory device includes a memory controller, a calculation memory and a functional circuit.
- the calculation memory is coupled to the memory controller, and is configured to receive a plurality of first signals to output a plurality of second signals. Each of the second signals has a reference value.
- the functional circuit is coupled to the calculation memory, and is configured to indicate the second signal which has the greatest or the smallest reference value among the second signals.
- FIG. 1 shows a block diagram of a memory device according to an embodiment of the present invention.
- FIG. 2 shows a block diagram of a calculation memory.
- FIG. 3 shows a block diagram of a functional circuit according to an embodiment of the present invention.
- FIG. 4 shows a block diagram of a functional circuit according to another embodiment of the present invention.
- FIG. 5 shows a block diagram of a selecting unit according to an embodiment of the present invention.
- FIG. 1 shows a block diagram of a memory device according to an embodiment of the present invention.
- the memory device 10 includes a memory controller 102 , a calculation memory 104 and a functional circuit 106 .
- the memory device 10 may be used for implementing some specific calculations, e.g., convolution, of a neutral network and obtaining results(s) of interest by analyzing the calculation results.
- the memory controller 102 is coupled to the calculation memory 104 and the functional circuit 106 , and is configured to control the operation of the calculation memory 104 and the functional circuit 106 .
- the calculation memory 104 may be a non-volatile memory, for example, NAND flash memory, NOR flash memory and phase change memory.
- the calculation memory 104 includes a number of memory cells C 11 ⁇ Cmn, wherein m and n are positive integers.
- Each of the memory cells may include a resistor.
- the resistance of each of the resistors represents a weight value, which may be used for implementing a Synapse of a neutral network.
- the calculation memory 104 may be configured to receive a number of first signals F 1 ⁇ Fn, and output a number of second signals S 1 ⁇ Sm according to the first signals F 1 ⁇ Fn and the weight value represented by the memory cells C 11 ⁇ Cmn.
- Each of the second signals S 1 ⁇ Sm has a reference value.
- the reference value is a current value.
- the second signals S 1 ⁇ Sm are voltage signals, the reference value is a voltage value.
- the functional circuit 106 is configured to receive the second signals S 1 ⁇ Sm, and indicate the second signal having the greatest reference value or the second signal having the smallest reference among the second signals S 1 ⁇ Sm.
- the functional circuit 106 may be configured to indicate the second signal having the greatest current value or the second value having the smallest current value among the second signals S 1 ⁇ Sm; while the second signals S 1 ⁇ Sm are voltage signals, the functional circuit 106 may be configured to indicate the second signal having the greatest voltage value or the second value having the smallest voltage value among the second signals S 1 ⁇ Sm.
- FIG. 3 shows a block diagram of a functional circuit according to an embodiment of the present invention.
- the functional circuit 306 includes a number of sub functional circuits 3061 - 1 ⁇ 3061 -m. each of the sub functional circuits includes a comparison unit, a switch unit and a latch unit.
- a first input node of the comparison unit 3063 -k is configured to receive one of the second signals S 1 ⁇ Sm (i.e., the second signal Sk), and a second input node of the comparison unit 3063 -k is configured to receive a reference signal Ref.
- An output node of the comparison unit 3063 -k is configured to output a first result signal M 1 according to the received second signal Sk and the reference signal Ref.
- a first node of the switch unit 3065 -k is coupled to the output node of the comparison unit 3063 -k.
- a control node of the switch unit 3065 -k is configured to receive a control signal WOR.
- a first node of the latch unit 3067 -k is coupled to a second node of the switch unit 3065 -k.
- a second node of the latch unit 3067 -k is configured to output a result signal Dk.
- the first input node of the comparison unit 3063 - 1 is a positive input node
- the second input node of the comparison unit 3063 - 1 is a negative input node.
- the first comparison result M 1 output by the comparison unit 3063 - 1 is “1”, i.e., logical high.
- the first comparison result M 1 output by the comparison unit 3063 - 1 is “0”, i.e., logical low.
- the switch unit 3065 - 1 is controlled by the control signal WOR, and the control signal WOR is generated according to all the first comparison results M 1 ⁇ Mm.
- the latch unit 3067 - 1 may output the result signal D 1 according to a clock signal.
- the operation of the other sub functional circuits 3061 - 2 ⁇ 3061 -m are similar to the above description.
- the second signals S 1 ⁇ Sm are voltage signals.
- the voltage value of the reference signal Ref is less than or equals to an upper bound and is greater than or equals to a lower bound.
- the upper bound and the lower bound may be determined based on a possible range of voltage value of the second signals S 1 ⁇ Sm.
- the voltage value of the reference signal Ref may decreases from the upper bound to the lower bound. Until any of the first comparison result becomes “1”, the control signal WOR turns “0” from “1”, and the switch units 3065 - 1 ⁇ 3065 -m are turned off.
- All the first comparison results M 1 ⁇ Mm may be locked in the latch units 3067 - 1 ⁇ 3067 -m, and then output according to the clock signal.
- the second signals S 1 ⁇ S 4 are 4V, 5V, 2V and 3V respectively.
- the upper bound of the voltage of the reference signal Ref is 6V and the lower bound is 1V,
- the voltage of the reference signal Ref may decreases from 6V to 1V.
- the first comparison results M 1 ⁇ M 4 are “0”, and the control signal WOR is “1”.
- the first comparison result M 2 corresponding to the second signal S 2 (5V) becomes “1”
- the control signal WOR turns “0” from “1”
- the switch units 3065 - 1 ⁇ 3065 - 4 are turned off.
- the current first comparison results M 1 ⁇ M 4 may be locked in the latch units 3067 - 1 ⁇ 3067 - 4 , and output as the result signals D ⁇ D 4 .
- a circuit (not shown) which receives the result signals D 1 ⁇ D 4 may access a memory address storing the second signal S 2 according to the result signals D ⁇ D 4 to obtain the value of the second signal S 2 .
- the functional circuit 306 may efficiently indicate the second signal having the greatest reference value among the second signals S 1 ⁇ Sm. In another embodiment, the functional circuit 306 may indicate the second value having the smallest reference value among the second signals S 1 ⁇ Sm if some modification are made to the functional circuit 306 .
- the negative input node of each of the comparison units 3063 -k is configured to receive the corresponding second signal
- the positive input node is configured to receive the reference signal Ref
- the reference value of the reference signal Ref increases from the lower bound to the upper bound.
- the reference value of the reference signal Ref changes according to an algorithm, for example, a divide-by-2 algorithm.
- the upper bound of the voltage of the reference signal Ref is 6V, and the lower is 1V.
- the voltage of the reference signal Ref may be set to an average value of the upper bound and the lower bound, i.e., 3.5V.
- the corresponding first comparison results M 1 , M 2 are “1”, and the first comparison results M 3 , M 4 are “0”.
- the voltage of the reference signal Ref may change to an average value of the upper bound and 3.5V, i.e., 4.75V.
- the corresponding first comparison result M 2 is “1”, and the first comparison results M 1 , M 3 , M 4 are “0”. Since there is only the first comparison result M 2 is “1”, it may be determined that the corresponding second signal S 2 has the greatest reference value among the second signals S 1 ⁇ 54 .
- the control signal WOR may turns “0” from “1” while there is only one of the first comparison results is “1” and the other first comparison results are “0”, to turn off the switch units and lock the current first comparison results into the latch units for outputting.
- the reference value of the reference signal Ref may change linearly, nonlinearly, continuously or discontinuously.
- FIG. 4 shows a block diagram of a functional circuit according to another embodiment of the present invention.
- the functional circuit 406 includes a number of selecting units SEL 1 - 1 ⁇ SEL 1 - 4 , SEL 2 - 1 ⁇ SEL 2 - 2 , SEL 3 - 1 .
- the selecting units SEL 1 - 1 ⁇ SEL 1 - 4 , SEL 2 - 1 ⁇ SEL 2 - 2 , SEL 3 - 1 includes a number of stages.
- the selecting units includes three stages, wherein the selecting units SEL 1 - 1 ⁇ SEL 1 - 4 are a first stage, the selecting units SEL 2 - 1 ⁇ SEL 2 - 2 are a second stage, and the selecting unit SEL 3 - 1 is a third stage.
- the selecting units SEL 1 - 1 ⁇ SEL 1 - 4 of the first stage are configured to respectively receive two of the second signals S 1 ⁇ S 8 .
- the selecting unit SEL 1 - 1 is configured to receive the second signals S 1 , S 2 , and select one of the second signals S 1 , S 2 as an output according to a comparison of the reference values of the second signals S 1 , S 2 ;
- the selecting unit SEL 1 - 2 is configured to receive the second signals S 3 , S 4 , and select one of the second signal S 3 , S 4 as an output according to a comparison of the reference values of the second signals S 3 , S 4 , and so on.
- the selecting units SEL 2 - 1 , SEL 2 - 2 of the second stage are configured to respectively receive two of the outputs of the selecting units SEL 1 - 1 ⁇ SEL 1 - 4 .
- the selecting unit SEL 2 - 1 is configured to receive the outputs of the selecting units SEL 1 - 1 , SEL 1 - 2 , and select one of the outputs of the selecting units SEL 1 - 1 , SEL 1 - 2 as an output according to a comparison of the reference values of the outputs of the selecting units SEL 1 - 1 , SEL 1 - 2 , and so on.
- the selecting unit SEL 3 - 1 is configured to receive the outputs of the selecting units SEL 2 - 1 , SEL 2 - 2 , and select one of the outputs of the selecting units SEL 2 - 1 , SEL 2 - 2 as an output according to a comparison of the reference values of the outputs of the selecting units SEL 2 - 1 , SEL 2 - 2 .
- the selecting unit 50 shown in FIG. 5 may be applied to all the selecting units SEL 1 - 1 ⁇ SEL 1 - 4 , SEL 2 - 1 ⁇ SEL 2 - 2 , SEL 3 - 1 shown in FIG. 4 .
- the selecting unit 50 includes a multiplexer MUX and a comparator CMP.
- the multiplexer MUX includes two input nodes, a control node and an output node.
- the comparator CMP includes two input nodes and an output node. The output node of the comparator CMP is coupled to the control node of the multiplexer MUX.
- the two input nodes of the comparator CMP is configured to receive two signals IN 1 , IN 2 which are input to the two input nodes of the multiplexer MUX.
- the output node of the comparator CMP is configured to output a control signal CTL generated according to a comparison of the reference values of the two signals IN 1 , IN 2 which are input to the two input nodes of the multiplexer MUX.
- the multiplexer MUX select one of the signals IN 1 IN 2 which are input to the multiplexer MUX as an output signal OUT according to the control signal CTL, For example, when the signals IN 1 , IN 2 are current signals, the comparator CMP compares the current values (i.e., the reference signals) of the signals IN 1 , lN 2 .
- the comparator CMP If the current value of the signal IN 1 is greater than the current value of the signal IN 2 , the comparator CMP outputs “1” as the control signal CTL; if the current value of the signal IN 1 is not greater than the current value of the signal IN 2 , the comparator CMP outputs “0” as the control signal CTL.
- the control signal CTL is “1”
- the multiplexer MUX selects IN 1 as the output signal OUT; when the control signal CTL is “0”, the multiplexer MUX selects signal IN 2 as the output signal OUT.
- the output signal OUT is a signal which has a greater reference value between the signals IN 1 , IN 2
- the signal output by the selecting unit SEL 3 - 1 of the third stage of the functional circuit 406 in FIG. 4 is the second signal which has the greatest reference value among the second signals S 1 ⁇ S 8 .
- the selecting unit 50 may be configured to obtain the signal which has a smaller reference value between the signals IN 1 , IN 2 if a modification is made.
- the multiplexer MUX selects the signal IN 1 as the output signal OUT; when the control signal CTL is “1”, the multiplexer MUX selects signal IN 2 as the output signal OUT, and the functional circuit 406 may be configured to output the second signal which has the smallest reference value among the second signals S 1 ⁇ S 8 .
- the amount of the stages of the selecting units may depend on the amount of the second signals. For example, when there are 16 second signals, the selecting units may include 4 stages, and 15 selecting units in total; when there are 32 second signals, the selecting units may include 5 stages, and 31 selecting units in total.
- the memory device can indicate the second signal which has the greatest of the smallest reference value among the second signals output by the calculation memory by the functional circuit.
- the functional circuit compares the second signals with a variable reference signal to indicates the second signal which has the greatest or the smallest reference value.
- the functional circuit compares the second signals two by two to indicates the second signal which has the greatest or the smallest reference value.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Logic Circuits (AREA)
- Read Only Memory (AREA)
Abstract
Description
- The invention relates to a memory device.
- Neural network is a system having abilities of learning, conclusion and induction. Neural network is widely applied in fields such as machine learning and artificial. However, huge amount of calculation of neutral network may need to be supported by hardware. In view of the above, it is a trend in the art to implement a neural network by means of a memory with high speed computing ability.
- An embodiment of the present invention discloses a memory device. The memory device includes a memory controller, a calculation memory and a functional circuit. The calculation memory is coupled to the memory controller, and is configured to receive a plurality of first signals to output a plurality of second signals. Each of the second signals has a reference value. The functional circuit is coupled to the calculation memory, and is configured to indicate the second signal which has the greatest or the smallest reference value among the second signals.
- The above and other aspects of the invention will become better understood with regard to the following detailed description of the preferred but non-limiting embodiment(s). The following description is made with reference to the accompanying drawings.
-
FIG. 1 shows a block diagram of a memory device according to an embodiment of the present invention. -
FIG. 2 shows a block diagram of a calculation memory. -
FIG. 3 shows a block diagram of a functional circuit according to an embodiment of the present invention. -
FIG. 4 shows a block diagram of a functional circuit according to another embodiment of the present invention. -
FIG. 5 shows a block diagram of a selecting unit according to an embodiment of the present invention. - Referring to
FIG. 1 ,FIG. 1 shows a block diagram of a memory device according to an embodiment of the present invention. Thememory device 10 includes amemory controller 102, acalculation memory 104 and afunctional circuit 106. Thememory device 10 may be used for implementing some specific calculations, e.g., convolution, of a neutral network and obtaining results(s) of interest by analyzing the calculation results. - The
memory controller 102 is coupled to thecalculation memory 104 and thefunctional circuit 106, and is configured to control the operation of thecalculation memory 104 and thefunctional circuit 106. - The
calculation memory 104 may be a non-volatile memory, for example, NAND flash memory, NOR flash memory and phase change memory. In an embodiment, thecalculation memory 104 includes a number of memory cells C11˜Cmn, wherein m and n are positive integers. Each of the memory cells may include a resistor. The resistance of each of the resistors represents a weight value, which may be used for implementing a Synapse of a neutral network. As shown inFIG. 2 , thecalculation memory 104 may be configured to receive a number of first signals F1˜Fn, and output a number of second signals S1˜Sm according to the first signals F1˜Fn and the weight value represented by the memory cells C11˜Cmn. Each of the second signals S1˜Sm has a reference value. In an embodiment, while the second signals S1˜Sm are current signals, the reference value is a current value. in another embodiment, while the second signals S1˜Sm are voltage signals, the reference value is a voltage value. With thecalculation memory 104, a mathematical calculation such as convolution may be implemented. - The
functional circuit 106 is configured to receive the second signals S1˜Sm, and indicate the second signal having the greatest reference value or the second signal having the smallest reference among the second signals S1˜Sm. For example, while the second signals S1˜Sm are current signals, thefunctional circuit 106 may be configured to indicate the second signal having the greatest current value or the second value having the smallest current value among the second signals S1˜Sm; while the second signals S1˜Sm are voltage signals, thefunctional circuit 106 may be configured to indicate the second signal having the greatest voltage value or the second value having the smallest voltage value among the second signals S1˜Sm. - Referring to
FIG. 3 ,FIG. 3 shows a block diagram of a functional circuit according to an embodiment of the present invention. Thefunctional circuit 306 includes a number of sub functional circuits 3061-1˜3061-m. each of the sub functional circuits includes a comparison unit, a switch unit and a latch unit. For each of the sub functional circuit 3061-k (wherein k=1˜m), a first input node of the comparison unit 3063-k is configured to receive one of the second signals S1˜Sm (i.e., the second signal Sk), and a second input node of the comparison unit 3063-k is configured to receive a reference signal Ref. An output node of the comparison unit 3063-k is configured to output a first result signal M1 according to the received second signal Sk and the reference signal Ref. A first node of the switch unit 3065-k is coupled to the output node of the comparison unit 3063-k. A control node of the switch unit 3065-k is configured to receive a control signal WOR. A first node of the latch unit 3067-k is coupled to a second node of the switch unit 3065-k. A second node of the latch unit 3067-k is configured to output a result signal Dk. Taking the sub functional circuit 3061-1 as an example, the first input node of the comparison unit 3063-1 is a positive input node, the second input node of the comparison unit 3063-1 is a negative input node. When the second signal S1 is greater than the reference signal Ref, the first comparison result M1 output by the comparison unit 3063-1 is “1”, i.e., logical high. When the second signal S1 is not greater than the reference signal Ref, the first comparison result M1 output by the comparison unit 3063-1 is “0”, i.e., logical low. The switch unit 3065-1 is controlled by the control signal WOR, and the control signal WOR is generated according to all the first comparison results M1˜Mm. When all the first comparison results M1˜Mm are “0”, the control signal WOR is “1”, and the switch unit 3065-1 is turned on; when any of the first comparison results M1˜Mm is “1”, the control signal WOR is “0”, and the switch unit 3065-1 is turned off. The latch unit 3067-1 may output the result signal D1 according to a clock signal. The operation of the other sub functional circuits 3061-2˜3061-m are similar to the above description. - Next, the principle of the
functional circuit 306 may be illustrated. In this embodiment, the second signals S1˜Sm are voltage signals. The voltage value of the reference signal Ref is less than or equals to an upper bound and is greater than or equals to a lower bound. The upper bound and the lower bound may be determined based on a possible range of voltage value of the second signals S1˜Sm. When a set of the second signals S1˜Sm in output to thefunctional circuit 306, the voltage value of the reference signal Ref may decreases from the upper bound to the lower bound. Until any of the first comparison result becomes “1”, the control signal WOR turns “0” from “1”, and the switch units 3065-1˜3065-m are turned off. All the first comparison results M1˜Mm may be locked in the latch units 3067-1˜3067-m, and then output according to the clock signal. In a practical example, assuming there are four second signals S1˜S4 (i.e., m=4). The second signals S1˜S4 are 4V, 5V, 2V and 3V respectively. The upper bound of the voltage of the reference signal Ref is 6V and the lower bound is 1V, When this set of the second signals S1˜S4 is sent into thefunctional circuit 306, the voltage of the reference signal Ref may decreases from 6V to 1V. When the voltage of the reference signal Ref is not less than 5V, the first comparison results M1˜M4 are “0”, and the control signal WOR is “1”. Until the voltage of the reference signal Ref is less than 5V, the first comparison result M2 corresponding to the second signal S2 (5V) becomes “1”, the control signal WOR turns “0” from “1”, and the switch units 3065-1˜3065-4 are turned off. The current first comparison results M1˜M4 may be locked in the latch units 3067-1˜3067-4, and output as the result signals D˜D4. A circuit (not shown) which receives the result signals D1˜D4 may access a memory address storing the second signal S2 according to the result signals D˜D4 to obtain the value of the second signal S2. - By the approach of the above embodiment, the
functional circuit 306 may efficiently indicate the second signal having the greatest reference value among the second signals S1˜Sm. In another embodiment, thefunctional circuit 306 may indicate the second value having the smallest reference value among the second signals S1˜Sm if some modification are made to thefunctional circuit 306. For example, the negative input node of each of the comparison units 3063-k is configured to receive the corresponding second signal, the positive input node is configured to receive the reference signal Ref, and the reference value of the reference signal Ref increases from the lower bound to the upper bound. - In yet another embodiment, the reference value of the reference signal Ref changes according to an algorithm, for example, a divide-by-2 algorithm. In a practical example, assuming there are four second signals S1˜54 (i.e., m=4), 4V, 5V, 2V and 3V respectively. The upper bound of the voltage of the reference signal Ref is 6V, and the lower is 1V. When this set of the second signals S1˜S4 is sent into the
functional circuit 306, the voltage of the reference signal Ref may be set to an average value of the upper bound and the lower bound, i.e., 3.5V. The corresponding first comparison results M1, M2 are “1”, and the first comparison results M3, M4 are “0”. Next, the voltage of the reference signal Ref may change to an average value of the upper bound and 3.5V, i.e., 4.75V. The corresponding first comparison result M2 is “1”, and the first comparison results M1, M3, M4 are “0”. Since there is only the first comparison result M2 is “1”, it may be determined that the corresponding second signal S2 has the greatest reference value among the second signals S1˜54. in this example, the control signal WOR may turns “0” from “1” while there is only one of the first comparison results is “1” and the other first comparison results are “0”, to turn off the switch units and lock the current first comparison results into the latch units for outputting. - In other words, the reference value of the reference signal Ref may change linearly, nonlinearly, continuously or discontinuously.
- Referring to
FIG. 4 ,FIG. 4 shows a block diagram of a functional circuit according to another embodiment of the present invention. The embodiment takes m=8 as an example for illustrating, i.e., the amount of the second signals S1˜S8 is 8. But the present invention is not limited thereby. Thefunctional circuit 406 includes a number of selecting units SEL1-1˜SEL1-4, SEL2-1˜SEL2-2, SEL3-1. The selecting units SEL1-1˜SEL1-4, SEL2-1˜SEL2-2, SEL3-1 includes a number of stages. In this embodiment, the selecting units includes three stages, wherein the selecting units SEL1-1˜SEL1-4 are a first stage, the selecting units SEL2-1˜SEL2-2 are a second stage, and the selecting unit SEL3-1 is a third stage. The selecting units SEL1-1˜SEL1-4 of the first stage are configured to respectively receive two of the second signals S1˜S8. For example, the selecting unit SEL1-1 is configured to receive the second signals S1, S2, and select one of the second signals S1, S2 as an output according to a comparison of the reference values of the second signals S1, S2; the selecting unit SEL1-2 is configured to receive the second signals S3, S4, and select one of the second signal S3, S4 as an output according to a comparison of the reference values of the second signals S3, S4, and so on. The selecting units SEL2-1, SEL2-2 of the second stage are configured to respectively receive two of the outputs of the selecting units SEL1-1˜SEL1-4. For example, the selecting unit SEL2-1 is configured to receive the outputs of the selecting units SEL1-1, SEL1-2, and select one of the outputs of the selecting units SEL1-1, SEL1-2 as an output according to a comparison of the reference values of the outputs of the selecting units SEL1-1, SEL1-2, and so on. The selecting unit SEL3-1 is configured to receive the outputs of the selecting units SEL2-1, SEL2-2, and select one of the outputs of the selecting units SEL2-1, SEL2-2 as an output according to a comparison of the reference values of the outputs of the selecting units SEL2-1, SEL2-2. - For clearly illustrating the operation principle of the
functional circuit 406, please refer to a block diagram of a selecting unit according to an embodiment of the present invention shown inFIG. 5 . The selectingunit 50 shown inFIG. 5 may be applied to all the selecting units SEL1-1˜SEL1-4, SEL2-1˜SEL2-2, SEL3-1 shown inFIG. 4 . The selectingunit 50 includes a multiplexer MUX and a comparator CMP. The multiplexer MUX includes two input nodes, a control node and an output node. The comparator CMP includes two input nodes and an output node. The output node of the comparator CMP is coupled to the control node of the multiplexer MUX. The two input nodes of the comparator CMP is configured to receive two signals IN1, IN2 which are input to the two input nodes of the multiplexer MUX. The output node of the comparator CMP is configured to output a control signal CTL generated according to a comparison of the reference values of the two signals IN1, IN2 which are input to the two input nodes of the multiplexer MUX. The multiplexer MUX select one of the signals IN1 IN2 which are input to the multiplexer MUX as an output signal OUT according to the control signal CTL, For example, when the signals IN1, IN2 are current signals, the comparator CMP compares the current values (i.e., the reference signals) of the signals IN1, lN2. If the current value of the signal IN1 is greater than the current value of the signal IN2, the comparator CMP outputs “1” as the control signal CTL; if the current value of the signal IN1 is not greater than the current value of the signal IN2, the comparator CMP outputs “0” as the control signal CTL. When the control signal CTL is “1”, the multiplexer MUX selects IN1 as the output signal OUT; when the control signal CTL is “0”, the multiplexer MUX selects signal IN2 as the output signal OUT. That is, the output signal OUT is a signal which has a greater reference value between the signals IN1, IN2, and the signal output by the selecting unit SEL3-1 of the third stage of thefunctional circuit 406 inFIG. 4 is the second signal which has the greatest reference value among the second signals S1˜S8. In another embodiment, the selectingunit 50 may be configured to obtain the signal which has a smaller reference value between the signals IN1, IN2 if a modification is made. For example, when the control signal CTL is “0”, the multiplexer MUX selects the signal IN1 as the output signal OUT; when the control signal CTL is “1”, the multiplexer MUX selects signal IN2 as the output signal OUT, and thefunctional circuit 406 may be configured to output the second signal which has the smallest reference value among the second signals S1˜S8. - Noted that the above embodiments are exemplary, the amount of the stages of the selecting units may depend on the amount of the second signals. For example, when there are 16 second signals, the selecting units may include 4 stages, and 15 selecting units in total; when there are 32 second signals, the selecting units may include 5 stages, and 31 selecting units in total.
- In conclusion, the memory device according to the present invention can indicate the second signal which has the greatest of the smallest reference value among the second signals output by the calculation memory by the functional circuit. In an embodiment, the functional circuit compares the second signals with a variable reference signal to indicates the second signal which has the greatest or the smallest reference value. In another embodiment, the functional circuit compares the second signals two by two to indicates the second signal which has the greatest or the smallest reference value.
- While the invention has been described by way of example and in terms of the preferred embodiment (s), it is to be understood that the invention is not limited thereto. On the contrary, it is intended to cover various modifications and similar arrangements and procedures, and the scope of the appended claims therefore should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements and procedures.
Claims (12)
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/533,870 US10915248B1 (en) | 2019-08-07 | 2019-08-07 | Memory device |
| TW108130886A TWI716984B (en) | 2019-08-07 | 2019-08-28 | Memory device |
| CN201910804993.0A CN112349326B (en) | 2019-08-07 | 2019-08-28 | Memory device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/533,870 US10915248B1 (en) | 2019-08-07 | 2019-08-07 | Memory device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US10915248B1 US10915248B1 (en) | 2021-02-09 |
| US20210042030A1 true US20210042030A1 (en) | 2021-02-11 |
Family
ID=74367787
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/533,870 Active US10915248B1 (en) | 2019-08-07 | 2019-08-07 | Memory device |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US10915248B1 (en) |
| CN (1) | CN112349326B (en) |
| TW (1) | TWI716984B (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018137177A1 (en) * | 2017-01-25 | 2018-08-02 | 北京大学 | Method for convolution operation based on nor flash array |
Citations (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6404976B1 (en) * | 1998-03-30 | 2002-06-11 | Mitsubishi Denki Kabushiki Kaisha | VISS signal detection circuit |
| US20050114076A1 (en) * | 2003-11-11 | 2005-05-26 | Samsung Electronics Co., Ltd. | Fluxgate sensor for calibrating azimuth at slope and calibration method thereof |
| US20060293831A1 (en) * | 2005-06-23 | 2006-12-28 | Denso Corporation | Electronic control system with malfunction monitor |
| US20090009194A1 (en) * | 2007-07-03 | 2009-01-08 | Cypress Semiconductor Corporation | Normalizing capacitive sensor array signals |
| US20110248149A1 (en) * | 2010-04-08 | 2011-10-13 | Maki Sato | Solid-state image sensing device and control method of the same |
| US20130249526A1 (en) * | 2012-03-20 | 2013-09-26 | Samsung Electro-Mechanics Co., Ltd. | Constant voltage generating circuit and constant voltage generating method |
| US20150063030A1 (en) * | 2013-09-04 | 2015-03-05 | Sang-In PARK | Method of testing non-volatile memory device and method of managing non-volatile memory device |
| US20150236652A1 (en) * | 2014-02-19 | 2015-08-20 | Research & Business Foundation Sungkyunkwan University | Multi mode bias modulator operating in envelope tracking mode or average power tracking mode and envelope tracking power amplifier using the same |
| US20160169947A1 (en) * | 2014-12-16 | 2016-06-16 | Dialog Semiconductor (Uk) Limited | Measurement Circuit |
| US20160196488A1 (en) * | 2013-08-02 | 2016-07-07 | Byungik Ahn | Neural network computing device, system and method |
| US20160212365A1 (en) * | 2013-07-16 | 2016-07-21 | Sony Corporation | Signal processing device and method, imaging device, and imaging apparatus |
| US9571115B1 (en) * | 2015-11-13 | 2017-02-14 | International Business Machines Corporation | Analog to digital converter with high precision offset calibrated integrating comparators |
| US20170142516A1 (en) * | 2008-12-23 | 2017-05-18 | Keyssa, Inc. | Contactless audio adapter, and methods |
| US20170213129A1 (en) * | 2016-01-26 | 2017-07-27 | Samsung Electronics Co., Ltd. | Recognition apparatus based on neural network and method of training neural network |
| US20180183420A1 (en) * | 2016-12-26 | 2018-06-28 | SK Hynix Inc. | Calculation code generation circuit and digital correction circuit including the same |
| US20190080231A1 (en) * | 2017-09-08 | 2019-03-14 | Analog Devices, Inc. | Analog switched-capacitor neural network |
| US20190362224A1 (en) * | 2018-05-23 | 2019-11-28 | Electronics And Telecommunications Research Institute | Artificial neural network apparatus and operating method for the same |
| US20200020362A1 (en) * | 2018-07-11 | 2020-01-16 | SK Hynix Inc. | Memory system performing reference voltage training operation and operating method of memory system |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7092923B2 (en) * | 2001-11-26 | 2006-08-15 | Exploitation Of Next Generation Co. Ltd. | Synapse element with learning function and semiconductor integrated circuit device including the synapse element |
| US10331997B2 (en) | 2014-05-07 | 2019-06-25 | Seagate Technology Llc | Adaptive configuration of a neural network device |
| US9489618B2 (en) | 2014-05-27 | 2016-11-08 | Purdue Research Foudation | Electronic comparison systems |
| WO2017068491A1 (en) * | 2015-10-23 | 2017-04-27 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device and electronic device |
| CN107533668B (en) * | 2016-03-11 | 2021-01-26 | 慧与发展有限责任合伙企业 | Hardware accelerator and method for calculating node values of a neural network |
| KR102578124B1 (en) | 2016-12-16 | 2023-09-14 | 에스케이하이닉스 주식회사 | Apparatus and method for regularizating of neural network device |
| CN111095417B (en) | 2017-09-07 | 2023-08-29 | 松下控股株式会社 | Neural network operation circuit using nonvolatile semiconductor memory element |
| US20190180173A1 (en) * | 2017-12-11 | 2019-06-13 | Gyrfalcon Technology Inc. | Method and apparatus for using reference resistor in one-time programmable memory of an artificial intelligence integrated circuit |
| CN108304926B (en) | 2018-01-08 | 2020-12-29 | 中国科学院计算技术研究所 | A pooled computing device and method suitable for neural networks |
| US11763139B2 (en) | 2018-01-19 | 2023-09-19 | International Business Machines Corporation | Neuromorphic chip for updating precise synaptic weight values |
-
2019
- 2019-08-07 US US16/533,870 patent/US10915248B1/en active Active
- 2019-08-28 TW TW108130886A patent/TWI716984B/en active
- 2019-08-28 CN CN201910804993.0A patent/CN112349326B/en active Active
Patent Citations (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6404976B1 (en) * | 1998-03-30 | 2002-06-11 | Mitsubishi Denki Kabushiki Kaisha | VISS signal detection circuit |
| US20050114076A1 (en) * | 2003-11-11 | 2005-05-26 | Samsung Electronics Co., Ltd. | Fluxgate sensor for calibrating azimuth at slope and calibration method thereof |
| US20060293831A1 (en) * | 2005-06-23 | 2006-12-28 | Denso Corporation | Electronic control system with malfunction monitor |
| US20090009194A1 (en) * | 2007-07-03 | 2009-01-08 | Cypress Semiconductor Corporation | Normalizing capacitive sensor array signals |
| US20170142516A1 (en) * | 2008-12-23 | 2017-05-18 | Keyssa, Inc. | Contactless audio adapter, and methods |
| US20110248149A1 (en) * | 2010-04-08 | 2011-10-13 | Maki Sato | Solid-state image sensing device and control method of the same |
| US20130249526A1 (en) * | 2012-03-20 | 2013-09-26 | Samsung Electro-Mechanics Co., Ltd. | Constant voltage generating circuit and constant voltage generating method |
| US20160212365A1 (en) * | 2013-07-16 | 2016-07-21 | Sony Corporation | Signal processing device and method, imaging device, and imaging apparatus |
| US20160196488A1 (en) * | 2013-08-02 | 2016-07-07 | Byungik Ahn | Neural network computing device, system and method |
| US20150063030A1 (en) * | 2013-09-04 | 2015-03-05 | Sang-In PARK | Method of testing non-volatile memory device and method of managing non-volatile memory device |
| US20150236652A1 (en) * | 2014-02-19 | 2015-08-20 | Research & Business Foundation Sungkyunkwan University | Multi mode bias modulator operating in envelope tracking mode or average power tracking mode and envelope tracking power amplifier using the same |
| US20160169947A1 (en) * | 2014-12-16 | 2016-06-16 | Dialog Semiconductor (Uk) Limited | Measurement Circuit |
| US9571115B1 (en) * | 2015-11-13 | 2017-02-14 | International Business Machines Corporation | Analog to digital converter with high precision offset calibrated integrating comparators |
| US20170213129A1 (en) * | 2016-01-26 | 2017-07-27 | Samsung Electronics Co., Ltd. | Recognition apparatus based on neural network and method of training neural network |
| US20180183420A1 (en) * | 2016-12-26 | 2018-06-28 | SK Hynix Inc. | Calculation code generation circuit and digital correction circuit including the same |
| US20190080231A1 (en) * | 2017-09-08 | 2019-03-14 | Analog Devices, Inc. | Analog switched-capacitor neural network |
| US20190362224A1 (en) * | 2018-05-23 | 2019-11-28 | Electronics And Telecommunications Research Institute | Artificial neural network apparatus and operating method for the same |
| US20200020362A1 (en) * | 2018-07-11 | 2020-01-16 | SK Hynix Inc. | Memory system performing reference voltage training operation and operating method of memory system |
Also Published As
| Publication number | Publication date |
|---|---|
| CN112349326A (en) | 2021-02-09 |
| TW202107270A (en) | 2021-02-16 |
| TWI716984B (en) | 2021-01-21 |
| CN112349326B (en) | 2024-07-16 |
| US10915248B1 (en) | 2021-02-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10951114B2 (en) | Apparatuses and methods for charge pump regulation | |
| US6469591B2 (en) | Method to find a value within a range using weighted subranges | |
| US9148157B2 (en) | Auto-phase synchronization in delay locked loops | |
| CN113778933A (en) | Hardware identification method and device, electronic equipment and computer readable storage medium | |
| US10915248B1 (en) | Memory device | |
| CN111194467A (en) | Differential memristive circuit | |
| KR101617101B1 (en) | Successive Approximation Register type fast transient Digital LDO Regulator | |
| CN110504716A (en) | Photovoltaic DC-to-AC converter is idle model-based optimization selection method, terminal device and storage medium | |
| KR20210028063A (en) | Computing device and method using multiplier-accumulator circuit | |
| CN112162947B (en) | Output-configurable memory integrated chip and electronic device | |
| Alaghi et al. | Computing with randomness | |
| CN108198587A (en) | Reference current generating circuit and reference current production method | |
| CN115269445B (en) | Analog content addressable memory with analog input and analog output | |
| US12020143B2 (en) | Digital neuromorphic code processor | |
| Kang et al. | A dynamic fixed-point representation for neuromorphic computing systems | |
| CN114421757A (en) | Charge pump device and calibration method thereof | |
| US20230058715A1 (en) | Adding circuit for multi-channel signals and implementation method of adding circuit for multi-channel signals | |
| CN116736918A (en) | Hybrid LDO regulator including analog LDO regulator and digital LDO regulator | |
| US11138498B2 (en) | Computing unit | |
| CN112416041A (en) | Digital low dropout regulator, transistor anti-aging method and electronic equipment | |
| US20050060459A1 (en) | Methods, circuits, and computer program products for variable bus arbitration | |
| US3411138A (en) | Self-adaptive information storage devices | |
| CN115023709B (en) | Neural network unit | |
| JP7618613B2 (en) | Neural Network Device | |
| US11842070B2 (en) | Device and method for picking up top k values |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: MACRONIX INTERNATIONAL CO., LTD., TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LUNG, HSIANG-LAN;HO, HSIN-YI;SIGNING DATES FROM 20190423 TO 20190430;REEL/FRAME:049984/0104 |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |