WO2025258219A1 - 半導体装置 - Google Patents
半導体装置Info
- Publication number
- WO2025258219A1 WO2025258219A1 PCT/JP2025/015044 JP2025015044W WO2025258219A1 WO 2025258219 A1 WO2025258219 A1 WO 2025258219A1 JP 2025015044 W JP2025015044 W JP 2025015044W WO 2025258219 A1 WO2025258219 A1 WO 2025258219A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- memory element
- memory
- signal line
- semiconductor device
- conductance
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06G—ANALOGUE COMPUTERS
- G06G7/00—Devices in which the computing operation is performed by varying electric or magnetic quantities
- G06G7/48—Analogue computers for specific processes, systems or devices, e.g. simulators
- G06G7/60—Analogue computers for specific processes, systems or devices, e.g. simulators for living beings, e.g. their nervous systems ; for problems in the medical field
-
- 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
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/54—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
Definitions
- This technology relates to semiconductor devices. More specifically, it relates to semiconductor devices that perform product-sum operations.
- the above-mentioned conventional technology aims to improve computing performance by using analog NVM instead of SRAM.
- the characteristics of the storage elements in the NVM are not ideal, it becomes difficult to adjust the conductance of the storage elements to a target value. For example, while it would be ideal for the amount of change in conductance for each write pulse to be constant, in reality this is not the case.
- the conductance is adjusted up or down near the target value, the average conductance value may deviate from the target value. This results in a problem of reduced learning accuracy in machine learning.
- This technology was developed in light of these circumstances, and aims to improve the learning accuracy of semiconductor devices that perform machine learning.
- This technology was developed to solve the above-mentioned problems, and its first aspect is a semiconductor device comprising a predetermined number of memory cells, a driver that supplies a write pulse to each of the memory cells, and a control circuit that sequentially performs coarse tuning, which controls the statistical quantity of the reciprocal of the change in impedance of the memory cell for each write pulse to a predetermined value, and fine tuning, which controls the statistical quantity to a value smaller than the predetermined value.
- coarse tuning which controls the statistical quantity of the reciprocal of the change in impedance of the memory cell for each write pulse to a predetermined value
- fine tuning which controls the statistical quantity to a value smaller than the predetermined value.
- each of the memory cells may be provided with a first memory element and a second memory element. This has the effect of making the statistics of the amount of change in the reciprocal of the impedance variable.
- the first memory element and the second memory element may differ in at least one of area and length. This has the effect of making the statistics of the change in the reciprocal of the impedance variable.
- the first memory element and the second memory element may be of different types. This has the effect of making the statistics of the amount of change in the reciprocal of the impedance variable.
- the first memory element and the second memory element may be resistance change elements. This provides the effect of adjusting the conductance.
- the first memory element and the second memory element may be variable capacitance elements. This provides the effect of adjusting the capacitance value.
- the driver may include a first driver that supplies a first write pulse, and a second driver that supplies a second write pulse that differs from the first write pulse in at least one of the voltage absolute value and pulse width. This has the effect of making it possible to align the areas and lengths of the first memory element and the second memory element.
- each of the memory cells may further be provided with a third storage element. This has the effect of adjusting the statistics of the reciprocal change in impedance in more stages.
- one end of the first memory element may be connected to a first signal line
- one end of the second memory element may be connected to a second signal line
- the other ends of the first memory element and the second memory element may be commonly connected to a third signal line.
- the first memory element and the second memory element may be arranged between a wiring layer in which the first signal line and the second signal line are wired in the same layer and a wiring layer in which the third signal line is wired. This has the effect of reducing manufacturing costs.
- the first memory element may be arranged between a first wiring layer in which the first signal line is wired and a third wiring layer in which the third signal line is wired
- the second memory element may be arranged between the second wiring layer in which the second signal line is wired and the third wiring layer.
- control circuit may calculate the loss each time the reciprocal of the impedance is updated, and may start the fine tuning when the loss is saturated. This provides the effect of finely adjusting the reciprocal of the impedance when the loss is saturated.
- control circuit may acquire the updated reciprocal of the impedance each time the reciprocal of the impedance is updated, and may start the fine tuning when the reciprocal of the impedance is saturated. This has the effect of finely adjusting the value of the reciprocal of the impedance when it is saturated.
- each of the memory cells may be provided with a predetermined number of first memory elements and a number of second memory elements that does not correspond to the predetermined number, one end of each of the first memory elements may be connected to a first signal line, one end of each of the second memory elements may be connected to a second signal line, and the other ends of each of the first memory elements and the second memory elements may be connected in common to a third signal line.
- each of the memory cells may be provided with one storage element, and the driver may sequentially supply a first write pulse and a second write pulse that differ in at least one of voltage absolute value and pulse width. This has the effect of reducing the circuit size.
- FIG. 1 is a block diagram showing a configuration example of a semiconductor device according to a first embodiment of the present technology
- FIG. 2 is a block diagram showing a configuration example of a control circuit according to the first embodiment of the present technology;
- FIG. 10 is a diagram illustrating an example of a control method of a control circuit during inference according to the first embodiment of the present technology. 10 is a diagram illustrating an example of a control method of a control circuit during learning in the first embodiment of the present technology;
- FIG. 3 is a diagram showing an example of a waveform of a write pulse according to the first embodiment of the present technology.
- 1 is a perspective view illustrating an example of a memory element according to a first embodiment of the present technology
- 2 is an example of an equivalent circuit of a memory cell according to the first embodiment of the present technology.
- 1 is a perspective view showing an example of an arrangement of memory elements according to a first embodiment of the present technology
- 4 is a flowchart illustrating an example of an operation of the semiconductor device according to the first embodiment of the present technology.
- 10 is a graph showing an example of ideal resistance change characteristics of a memory element used in a product-sum operation and the resistance change characteristics of a ReRAM.
- FIG. 1A and 1B are diagrams illustrating an example of a resistance change characteristic and an equivalent circuit according to a first embodiment of the present technology
- 10 is a graph showing an example of fluctuations in conductance in a comparative example and the first embodiment of the present technology
- 10A and 10B are diagrams illustrating measurement examples of the average conductance and ⁇ in a comparative example and the first embodiment of the present technology.
- 10A and 10B are diagrams illustrating an example of accuracy for each device in a comparative example and the first embodiment of the present technology
- FIG. 10 is a perspective view illustrating an example of a memory element according to a second embodiment of the present technology.
- FIG. 10 is a circuit diagram showing a configuration example of a vertical drive unit, a switching circuit, and a memory cell according to a second embodiment of the present technology.
- FIG. 13 is a circuit diagram showing a configuration example of a vertical drive unit, a selector, and a memory cell according to a third embodiment of the present technology.
- FIG. 13 is a perspective view illustrating an example of a memory element according to a third embodiment of the present technology.
- FIG. 19 is a perspective view showing another example of a memory element according to the third embodiment of the present technology.
- 13 is a diagram illustrating an example of an equivalent circuit of a memory cell according to a third embodiment of the present technology.
- FIG. 13 is a perspective view illustrating an example of a memory element according to a fourth embodiment of the present technology.
- FIG. 13 is a circuit diagram showing a configuration example of a vertical drive unit, a selector, and a memory cell according to a fourth embodiment of the present technology.
- FIG. 13 is a circuit diagram showing a configuration example of a vertical drive unit, a selector, and a memory cell according to a fifth embodiment of the present technology.
- FIG. 9 is a diagram illustrating an example of a schematic configuration of an IoT system 9000 to which the technology disclosed herein can be applied.
- First embodiment (example in which coarse and fine tuning are performed in sequence) 2.
- Second embodiment (example in which two write pulses with different voltages are supplied and coarse and fine tuning are performed in sequence) 3.
- Third embodiment (example in which three memory elements are provided in a memory cell and coarse and fine tuning are performed in sequence) 4.
- Fourth embodiment (example in which a memory cell includes a plurality of parallel-connected memory elements and one memory element, and coarse and fine tuning are performed in sequence) 5.
- Fifth embodiment (example in which one memory element is provided in a memory cell and coarse and fine tuning are performed in sequence) 6.
- First embodiment [Configuration example of semiconductor device] 1 is a block diagram showing an example configuration of a semiconductor device 100 according to a first embodiment of the present technology.
- the semiconductor device 100 is a device that performs machine learning, and includes a memory cell array 110, a switching circuit 130, a switching circuit 140, a vertical drive unit 150, a horizontal drive unit 160, a column ADC 170, a control circuit 180, and an input/output unit 190.
- a predetermined number of memory cells are arranged in a two-dimensional lattice pattern.
- the switching circuit 130 switches the connection destination of the signal lines wired horizontally within the memory cell array 110.
- the vertical drive unit 150 drives the memory cells row by row via the switching circuit 130.
- the switching circuit 140 switches the connection destination of the signal lines wired vertically within the memory cell array 110.
- the horizontal drive unit 160 drives the memory cells on a column-by-column basis.
- the column ADC 170 converts the analog current signal from the memory cell array 110 into a digital signal for each column, and supplies this to the control circuit 180 as read data.
- the control circuit 180 controls the switching circuit 130, the switching circuit 140, the vertical drive unit 150, and the horizontal drive unit 160. Details of the control performed by the control circuit 180 will be described later.
- the input/output unit 190 sends and receives data to and from the outside.
- FIG. 2 is a circuit diagram showing an example configuration of the memory cell array 110, switching circuits 130 and 140, vertical drive unit 150, horizontal drive unit 160, and column ADC 170 in the first embodiment of the present technology.
- a predetermined number of memory cells 120 are arranged in a two-dimensional lattice.
- Each memory cell 120 is provided with a memory element 121 and 122.
- These memory elements 121 and 122 are, for example, resistance change elements in ReRAM.
- signal lines 111 and 112 are wired horizontally for each row, and signal line 113 is wired vertically for each column.
- One end of the memory element 121 is connected to the signal line 111, and one end of the memory element 122 is connected to the signal line 112.
- the other ends of the memory elements 121 and 122 are connected in common to the signal line 113.
- memory elements 121 and 122 are examples of the first memory element and second memory element described in the claims.
- signal lines 111, 112, and 113 are examples of the first signal line, second signal line, and third signal line described in the claims.
- the vertical drive unit 150 is provided with a driver 151 for each row.
- the driver 151 generates a pulse signal under the control of the control circuit 180 and supplies it to the corresponding row via the switching circuit 130.
- the switching circuit 130 is provided with a selector 131 for each row.
- the selector 131 connects at least one of the signal lines 111 and 112 to the driver 151 in accordance with a selection signal SELv from the control circuit 180.
- the selection signal SELv includes selection signals SELvx and SELvy.
- the column ADC 170 is provided with an ADC 171 for each column.
- the ADC 171 converts the current signal from the corresponding column into a digital signal and supplies it to the control circuit 180 as read data RD.
- the horizontal drive unit 160 is provided with a driver 161 for each column.
- the driver 161 generates a pulse signal under the control of the control circuit 180 and supplies it to the corresponding column via the switching circuit 140.
- a pulse consisting of a pulse signal from driver 151 and a pulse signal from driver 151 is used to write to memory cell 120. This pulse is hereinafter referred to as a "write" pulse.
- the switching circuit 140 is provided with a selector 141 for each column.
- the selector 141 connects the signal line 113 to either the driver 161 or the ADC 171 in accordance with the switching signal SELh from the control circuit 180.
- Driver 151 and driver 161 supply write pulses to adjust the conductance (in other words, the inverse of the impedance) of memory cell 120.
- conductance is used as a weight for the input value to a neuron.
- the conductance value increases or decreases depending on the polarity of the write pulse voltage.
- write pulses are supplied multiple times as necessary.
- the absolute voltage value and pulse width of each write pulse are, for example, the same.
- the statistics (such as the average) of the change in conductance of memory cell 120 for each write pulse are variable.
- the selector 131 also includes, for example, nMOS transistors 132 and 133.
- the nMOS transistor 132 opens and closes the path between the driver 151 and the signal line 112 in accordance with the selection signal SELvx.
- the nMOS transistor 133 opens and closes the path between the driver 151 and the signal line 111 in accordance with the selection signal SELvy.
- the control circuit 180 repeatedly performs learning and inference in machine learning.
- learning the weights (i.e., the conductance of the memory cell 120) are adjusted by the write pulse, but as mentioned above, the statistics of the amount of change in conductance for each write pulse are variable. For example, if the statistics of the amount of change in conductance can be changed in two stages, the process of controlling this value to the larger one will be referred to as “coarse tuning” below. On the other hand, the process of controlling the statistics of the amount of change to a value smaller than coarse tuning will be referred to as "fine tuning” below.
- the statistical quantity (average, etc.) of the change in conductance of memory element 121 for each write pulse is set to a different value from that of memory element 122.
- the change indicates the amount of increase or decrease
- the statistical quantity of the change indicates, for example, the statistical quantity of the increase and the absolute value of the decrease.
- the statistical quantity of the change in conductance of memory element 121 is 0.8 G
- the statistical quantity of the change in conductance of memory element 122 is 0.2 G.
- control circuit 180 When performing coarse tuning, the control circuit 180, for example, sets both selection signals SELvx and SELvy to a high level.
- the control circuit 180 also causes drivers 151 and 161 to supply write pulses, and controls selector 141 to connect signal line 113 to driver 161. Through these controls, storage elements 121 and 122 are connected in parallel within memory cell 120, and the amount of change in their combined conductance is 1.0 G.
- the control circuit 180 sets only one of the selection signals SELvx and SELvy to high level and the other to low level. For example, the selection signal SELvx is controlled to high level and SELvy to low level.
- the control circuit 180 also causes drivers 151 and 161 to supply write pulses, and controls the selector 141 to connect the signal line 113 to the driver 161. Through these controls, only the memory element 122 in the memory cell 120 is connected to the driver 151, and the statistical amount of change in the conductance of the memory cell 120 is 0.2 G.
- the control circuit 180 When performing inference, the control circuit 180 sets both the selection signals SELvx and SELvy to a high level.
- the control circuit 180 also causes the driver 151 to supply a read pulse and controls the selector 141 to connect the signal line 113 to the ADC 171. Through these controls, a current signal corresponding to the product of the conductance of the memory cell 120 and the voltage of the read pulse flows for each column.
- control circuit 3 is a block diagram showing an example of the configuration of the control circuit 180 according to the first embodiment of the present technology.
- the control circuit 180 includes a weight setting update unit 181, a prediction unit 182, a loss calculation unit 183, and a determination unit 184.
- the weight setting update unit 181 initializes and updates the conductance (i.e., weight) of each memory cell 120.
- the weight setting update unit 181 first initiates coarse tuning.
- coarse tuning the weight setting update unit 181 controls the vertical drive unit 150, horizontal drive unit 160, and switching circuits 130 and 140 to supply write pulses and initialize weights.
- coarse tuning the statistics of the amount of change in conductance for each write pulse is set to a predetermined value (such as 1.0 G).
- the prediction unit 182 obtains a predicted value when the weights are initially set or each time the weights are updated.
- the prediction unit 182 controls the vertical drive unit 150, the switching circuits 130, 140, and the column ADC 170 to supply a read pulse and read the read data RD.
- the prediction unit 182 supplies a value indicated by the read data RD to the loss calculation unit 183 as a predicted value y.
- the loss calculation unit 183 calculates the loss ⁇ based on the predicted value.
- the loss calculation unit 183 acquires the correct answer value Y and the learning rate ⁇ from the input/output unit 190, calculates the loss ⁇ using, for example, the following formula, and supplies the calculated loss ⁇ to the weight setting update unit 181 and the determination unit 184.
- ⁇ ⁇ L(w) ...Formula 2
- Equation 2 ⁇ denotes a total differential.
- the determination unit 184 determines whether the loss ⁇ is saturated. For example, the determination unit 184 obtains the threshold values Th1, Th2, and Th3 from the input/output unit 190, and determines whether the following formula is satisfied: ⁇ Th1...Equation 4
- the determination unit 184 determines that the loss ⁇ has saturated.
- the determination unit 184 supplies the determination result to the weight setting update unit 181.
- the weight setting update unit 181 updates the weights, for example, using the following equation.
- w t+1 w t - ⁇ ...Formula 5
- t (t is an integer) is the number of times of learning
- wt is the weight for the tth time.
- the weight setting update unit 181 begins fine tuning.
- the statistics of the change in conductance (weight) for each write pulse are set to a smaller value (e.g., 0.2 G) than in coarse tuning.
- weight updating in other words, learning
- obtaining predicted values in other words, inference
- loss calculation in other words, inference
- the determining unit 184 determines whether or not any of the following formulas holds. ⁇ Th2...Equation 6 t>Th3...Formula 7
- threshold Th2 is set to, for example, a value equal to or less than Th1. If neither Equation 6 nor Equation 7 holds, the weight setting update unit 181 continues updating the weights. On the other hand, if Equation 6 or Equation 7 holds, the weight setting update unit 181 ends the weight update (learning).
- control circuit 180 outputs various data to the input/output unit 190. For example, a notification that learning is complete and the final conductance value are output.
- FIG. 4 is a diagram showing an example of a control method of the control circuit 180 during inference in the first embodiment of the present technology. As shown in the diagram, the control circuit 180 controls the driver 151 to supply a read pulse, and controls the selector 141 to connect the ADC 171 to the signal line 113.
- y j can be expressed by, for example, the following equation:
- FIG. 5 is a diagram showing an example of a control method of the control circuit 180 during learning in the first embodiment of the present technology.
- the control circuit 180 controls the selector 131 to connect the signal lines 111 and 112 to the driver 151, and controls the selector 141 to connect the driver 161 to the signal line 113.
- fine tuning one of the signal lines 111 and 112 is connected to the driver 151.
- the driver 151 supplies a pulse signal with a voltage x i
- the driver 161 supplies a pulse signal with a voltage ⁇ j .
- FIG. 6 is a diagram showing an example of a write pulse waveform in the first embodiment of the present technology.
- “a” shows the waveform of the write pulse when the conductance is updated
- “b” shows the waveform of the write pulse when the conductance is not updated.
- the write pulse includes a pulse signal from the row-side driver 151 and a pulse signal from the column-side driver 161.
- the row driver 151 supplies a pulse signal of a positive voltage x i
- the column driver 161 supplies a pulse signal of a negative voltage ⁇ j
- the row driver 151 supplies a pulse signal of a negative voltage
- the column driver 161 supplies a pulse signal of a positive voltage.
- the row driver 151 supplies a pulse signal of a positive voltage xi , and the column driver 161 does not supply a pulse signal.
- FIG. 7 is a perspective view showing an example of memory elements 121 and 122 according to the first embodiment of the present technology.
- the area of the memory element 121 is different from the area of the memory element 122, but the memory elements 121 and 122 are the same type and have the same length.
- the areas of the memory elements 121 and 122 correspond to the area of the cross section of the element when observed from the direction from the row-side terminal connected to the signal line 111 or 112 to the column-side terminal connected to the signal line 113.
- the lengths of the memory elements 121 and 122 correspond to the distance between the row-side terminal and the column-side terminal.
- the length of memory element 121 is different from the length of memory element 122, and memory elements 121 and 122 are the same type and have the same area.
- both the area and length of memory element 121 may be different from those of memory element 122.
- the type of memory element 121 is different from that of memory element 122.
- a memory element in a ReRAM is used as memory element 121
- a memory element in a PCM Phase Change Memory
- the conductance of memory cell 120 is the sum of the conductances of storage elements 121 and 122, and in fine tuning, the conductance of memory cell 120 is the value of storage element 122. Therefore, by using configurations a, b, or c in the figure, the difference in the amount of conductance change between coarse tuning and fine tuning can be increased.
- Figure 9 is a perspective view showing an example arrangement of memory elements 121 and 122 in the first embodiment of the present technology.
- memory elements 121 and 122 are arranged on the same layer.
- memory elements 121 and 122 are arranged between wiring layer 115, which wires signal lines 111 and 112, and wiring layer 116, which wires signal line 113.
- wiring layer 115 is an example of the first wiring layer described in the claims
- wiring layer 117 is an example of the second wiring layer described in the claims
- Wiring layer 116 is an example of the third wiring layer described in the claims.
- the mounting area is larger than in Figure b, but the manufacturing cost is reduced.
- the manufacturing cost is higher than in Figure a, but the mounting area is reduced.
- Example of operation of semiconductor device] 10 is a flowchart showing an example of the operation of the semiconductor device 100 according to the first embodiment of the present technology. This operation is started, for example, when a predetermined application for performing machine learning is executed.
- the control circuit 180 in the semiconductor device 100 first performs coarse tuning. During this setup, the weights are set to their initial values, and the statistics of the change in conductance (weight) for each write pulse are set to a predetermined value (e.g., 1.0 G) (step S901).
- a predetermined value e.g., 1.0 G
- control circuit 180 obtains the predicted value (step S902) and calculates the loss ⁇ (step S903).
- the control circuit 180 determines whether the loss ⁇ is less than the threshold value Th1 (step S904). If the loss ⁇ is greater than or equal to the threshold value Th1 (step S904: No), the control circuit 180 controls the matrix driver to update the weights (step S905), and repeatedly executes steps S902 and onward.
- the control circuit 180 obtains the predicted value (step S907) and calculates the loss ⁇ (step S908).
- the control circuit 180 determines whether the loss ⁇ is less than the threshold value Th2 or whether the number of learning iterations t is greater than the threshold value Th3 (step S909). If the loss ⁇ is greater than or equal to the threshold value Th2 and the number of learning iterations t is less than or equal to the threshold value Th3 (step S909: No), the control circuit 180 controls the matrix driver to update the weights (step S910) and repeatedly executes steps S907 and onwards.
- step S909: Yes the control circuit 180 terminates the machine learning.
- control circuit 180 starts fine tuning when the loss ⁇ becomes less than the threshold value Th1, in other words, when the loss ⁇ becomes saturated, but this configuration is not limiting.
- the control circuit 180 can also obtain the updated conductance each time the conductance (i.e., the weight) is updated, and start fine tuning when that conductance becomes saturated. Whether the conductance has become saturated is determined, for example, by whether the number of times the conductance has risen and fallen around the target value corresponding to the correct value exceeds a predetermined number.
- the control circuit 180 can also start fine tuning when the loss ⁇ or the conductance is saturated.
- Figure 11 is a graph showing an example of the ideal resistance change characteristics of a memory element used in a product-sum operation and the resistance change characteristics of ReRAM.
- a shows the ideal resistance change characteristics
- b shows the resistance change characteristics of ReRAM.
- the vertical axes of a and b in the figure show the conductance of the memory element, and the horizontal axis shows the number of write pulses.
- the initial conductance is set to the minimum value Gmin , and the driver repeatedly supplies a write pulse to increase the conductance. Then, when the conductance reaches the maximum value Gmax , the driver repeatedly supplies a write pulse with the polarity reversed until the conductance decreases to the minimum value Gmin .
- the absolute value of the change in conductance per write pulse (in other words, the slope of the graph) should be constant when increasing conductance and when decreasing conductance.
- the amount of change in conductance for each write pulse is not constant.
- the absolute value of the amount of change (slope) becomes smaller as the conductance approaches the maximum value Gmax
- the conductance is decreased the value becomes smaller as the conductance approaches the minimum value Gmin .
- the difference in the absolute value of the amount of change (slope) between when the conductance is increased and when the conductance is decreased becomes larger as the conductance approaches the maximum value Gmax or the minimum value Gmin , and is minimum near the midpoint between the maximum value Gmax and the minimum value Gmin .
- the target value G tag of the conductance corresponding to the correct value is set to a value close to the maximum value G max , there is a risk that the conductance will not reach the target value G tag when the conductance is increased or decreased near the target value G tag .
- a is a graph showing the resistance change characteristics in the first embodiment of the present technology.
- the vertical axis of "a” in the figure shows the conductance of the memory cell 120, and the horizontal axis shows the number of write pulses.
- the solid curve shows the resistance change characteristics in coarse tuning, and the dashed line shows the resistance change characteristics in fine tuning.
- memory elements 121 and 122 are connected in parallel between row driver 151 and column driver 161.
- FIG. 1C in fine tuning, only memory element 122 is connected between driver 151 and driver 161.
- the statistics (average, etc.) of the change in conductance of memory elements 121 and 122 for each write pulse are set to 0.8 G and 0.2 G.
- the average change in conductance is 1.0 G with coarse tuning and 0.2 G with fine tuning.
- the average change in conductance indicates, for example, the average of the absolute values of the increase and decrease for each write pulse when the conductance is increased from the minimum value G min to the maximum value G max and then decreased to the minimum value G min .
- the resistance change characteristics of memory cell 120 can be switched as illustrated in a of the same figure.
- FIG. 13 is a graph showing an example of conductance fluctuation in a comparative example and the first embodiment of the present technology.
- a shows an example of conductance fluctuation in the comparative example
- b shows an example of conductance fluctuation in the first embodiment.
- the vertical axes of a and b in the figure represent the conductance of the memory cell 120, and the horizontal axes represent the number of write pulses.
- a ReRAM memory element is used, and the target value of the conductance corresponding to the correct value is set to 0.8, and this target value is set to a value close to the maximum value G max .
- the control circuit 180 when the conductance exceeds the target value, the control circuit 180 reduces the conductance, but too quickly, resulting in a decrease well below the target value. The control circuit 180 then increases the conductance to return it to the target value, but the increase is so small that multiple write pulses are required. Because this behavior is repeated, the average conductance is lower than the target value.
- the average conductance during the repeated behavior of the comparative example is 0.769.
- the square root ⁇ of ⁇ 2 which is the variance, is 0.031.
- control circuit 180 of the first embodiment first starts coarse tuning and increases or decreases the conductance 17 times, and then switches to fine tuning and reduces the statistics of the amount of change in conductance as the loss ⁇ saturates. This results in the average conductance being closer to the target value than in the comparative example. Therefore, learning accuracy can be improved compared to the comparative example.
- the average conductance will be 0.795.
- ⁇ will be 0.006, and the variation will be about 1/5 of that in the comparative example.
- Figure 14 is a diagram showing an example of measuring the average conductance and ⁇ in the comparative example and the first embodiment of the present technology.
- the vertical axis in the figure represents the average conductance, and the horizontal axis represents ⁇ , which is the square root of the variance of the conductance.
- the gray circles represent plots of the measured values in the first embodiment.
- the white circles represent plots of the measured values in the comparative example.
- the target value of conductance is 0.8.
- the average is closer to the target value than in the comparative example, and ⁇ (in other words, the variance) is also smaller.
- the combination of the statistical values of the conductance change amounts of storage elements 122 and 121 is not limited to 0.8G and 0.2G.
- measurements were performed for each combination, with settings of 0.1G and 0.9G, 0.3G and 0.7G, and 0.5G and 0.5G.
- differences in the conductance change amounts may increase manufacturing costs, the combination is selected with the required accuracy in mind.
- Figure 15 is a diagram showing an example of the accuracy for each device in the comparative example and the first embodiment of the present technology.
- a circle in the figure indicates high learning accuracy, and an x indicates low learning accuracy.
- the absolute value of the change in conductance for each write pulse differs between increasing and decreasing the conductance.
- the absolute values of the increase in the conductance when increasing and the decrease in the conductance when decreasing are approximately the same near the midpoint between the maximum value Gmax and the minimum value Gmin .
- the slope of the arrow in the figure indicates the change in conductance near that midpoint.
- control circuit 180 performs coarse tuning and fine tuning in sequence, thereby improving learning accuracy compared to the comparative example.
- memory cells 120 are provided with memory elements 121 and 122 that are different in area, length, and type. However, this configuration may make manufacturing more difficult and increase manufacturing costs compared to when memory elements 121 and 122 are the same in area, length, and type.
- Semiconductor device 100 in this second embodiment differs from the first embodiment in that two write pulses that differ in at least one of voltage absolute value and pulse width are supplied to memory elements 121 and 122.
- Figure 16 is a perspective view showing an example of memory elements 121 and 122 in the second embodiment of the present technology.
- the memory elements 121 and 122 in the second embodiment differ from those in the first embodiment in that they have the same area, length, and type (e.g., ReRAM).
- the control circuit 180 supplies two write pulses, which differ in at least one of the voltage absolute value and pulse width, to the memory elements 121 and 122.
- the voltage of the write pulse indicates the difference between the voltage of the pulse signal on the row side and the voltage of the pulse signal on the column side.
- the absolute voltage value of the write pulse to memory element 122 is set to a value smaller than that of the write pulse to memory element 121.
- the statistical quantity of the change in conductance of memory element 121 for each write pulse is controlled to a value different from that of memory element 122.
- FIG. 17 is a circuit diagram showing an example configuration of a vertical drive unit 150, a switching circuit 130, and a memory cell 120 according to the second embodiment of the present technology.
- the vertical drive unit 150 is provided with drivers 151 and 152 for each row. Furthermore, in the second embodiment, the switching circuit 130 is provided with nMOS transistors 132, 133, and 134 for each row.
- nMOS transistor 132 opens and closes a path between driver 151 and signal line 112 in accordance with selection signal SELvx.
- nMOS transistor 134 opens and closes a path between driver 152 and signal line 111 in accordance with selection signal SELvy.
- nMOS transistor 133 opens and closes the path between signal line 112 and the connection point between driver 152 and nMOS transistor 134 in accordance with the selection signal SELvy.
- Driver 151 supplies a pulse signal of a predetermined voltage.
- Driver 152 has a higher driving force than driver 151 and supplies a pulse signal of a higher voltage than driver 151.
- the pulse widths of the pulse signals from drivers 151 and 152 are the same.
- Drivers 151 and 152 are examples of the first driver and second driver described in the claims.
- control circuit 180 When performing coarse tuning, the control circuit 180, for example, sets both selection signals SELvx and SELvy to a high level.
- the control circuit 180 sets the selection signal SELvx to high level and SELvy to low level, for example.
- the control circuit 180 sets both the selection signals SELvx and SELvy to high level.
- drivers 151 and 152 supply two pulse signals with the same pulse width but different absolute voltage values of the write pulses, but this configuration is not limited to this.
- Drivers 151 and 152 can also supply two pulse signals with the same absolute voltage value but different pulse widths.
- Drivers 151 and 152 can also supply two pulse signals with different absolute voltage values and pulse widths.
- drivers 151 and 152 supply two pulse signals that differ in at least one of the voltage absolute value and pulse width, so as mentioned above, the area, length, and type of memory elements 121 and 122 can be made the same. This makes manufacturing easier and reduces manufacturing costs compared to the first embodiment.
- drivers 151 and 152 supply two pulse signals that differ in at least one of the voltage absolute value and the pulse width. This allows the area, length, and type of memory elements 121 and 122 to be the same, reducing manufacturing costs.
- Third embodiment In the first embodiment described above, two memory elements are provided for each memory cell 120, but three or more memory elements may be provided for each memory cell 120.
- the semiconductor device 100 in this third embodiment differs from the first embodiment in that three memory elements are provided for each memory cell 120.
- FIG. 18 is a circuit diagram showing an example configuration of a vertical drive unit 150, a selector 131, and a memory cell 120 according to a third embodiment of the present technology.
- memory cell 120 according to the third embodiment further includes memory element 123.
- signal lines 111, 112, and 113 are wired horizontally for each row, and signal line 114 is wired vertically for each column.
- One end of memory element 121 is connected to signal line 111, one end of memory element 122 is connected to signal line 112, and one end of memory element 123 is connected to signal line 113.
- the other ends of memory elements 121, 122, and 123 are commonly connected to signal line 114.
- an nMOS transistor 134 is further arranged in the selector 131.
- the nMOS transistor 132 opens and closes the path between the driver 151 and signal line 113 in accordance with the selection signal SELvx.
- the nMOS transistor 133 opens and closes the path between the driver 151 and signal line 112 in accordance with the selection signal SELvy.
- the nMOS transistor 134 opens and closes the path between the driver 151 and signal line 111 in accordance with the selection signal SELvz.
- control circuit 180 sets all of the selection signals SELvx, SELvy, and SELvz to a high level during coarse tuning, and sets some of them to a high level and the rest to a low level during fine tuning.
- memory elements 121, 122, and 123 have different lengths but are the same type and area.
- memory elements 121, 122, and 123 are of different types.
- memory element 121 is a memory element in a ReRAM
- memory element 122 is a memory element in a PCM.
- Memory element 123 is a memory element in an STT (Spin Transfer Torque)-MRAM (Magnetoresistive RAM).
- the areas, lengths, and types of memory elements 121, 122, and 123 are the same.
- three write pulses differing in at least one of voltage absolute value and pulse width are supplied to memory elements 121, 122, and 123.
- the voltage absolute value of the write pulse to memory element 122 is set to a medium value smaller than the write pulse to memory element 121.
- the voltage absolute value of the write pulse to memory element 123 is set to a value even smaller than the write pulse to memory element 122.
- both memory elements 121 and 122 may be ReRAM memory elements
- memory element 123 may be a PCM memory element
- the areas of memory elements 121 and 122 may be different.
- Figure 21 shows an example of an equivalent circuit of a memory cell 120 according to the third embodiment of the present technology.
- resistance change elements such as those in a ReRAM are used as memory elements 121, 122, and 123.
- variable capacitance elements can also be used as memory elements 121, 122, and 123.
- Four or more memory elements can also be provided within the memory cell 120.
- FIG. 22 is a perspective view showing an example of a memory element in the fourth embodiment of the present technology.
- memory cell 120 includes memory elements 121-1 to 121-8 and memory element 122. Each of these nine memory elements has the same area, length, and type (e.g., ReARM).
- FIG. 23 is a circuit diagram showing an example configuration of a vertical drive unit 150, a selector 131, and a memory cell 120 according to a fourth embodiment of the present technology.
- the memory cell 120 one end of each of the memory elements 121-1 to 121-8 is commonly connected to a signal line 111.
- One end of the memory element 122 is connected to a signal line 112.
- the other ends of the memory elements 121-1 to 121-8 and the memory element 122 are commonly connected to a signal line 113.
- the statistical value of the change in the individual conductance of nine storage elements in response to a write pulse is assumed to be 1.0 G, for example.
- the change in the combined conductance of a group of eight storage elements connected in parallel between signal lines 111 and 113 is 8.0 G, a different value from that of storage element 122. Therefore, even if the area, length, and type of each storage element are the same, coarse tuning and fine tuning can be achieved. This reduces manufacturing costs.
- the number of memory elements connected between signal lines 111 and 113 is eight, and the number of memory elements connected between signal lines 112 and 113 is one, but the number of memory elements may be different values and is not limited to the combination of eight and one.
- the number of memory elements connected between signal lines 111 and 113 could be seven, and the number of memory elements connected between signal lines 112 and 113 could be two.
- memory elements 121-1 to 121-8 are an example of the first memory element described in the claims, and memory element 122 is an example of the second memory element described in the claims.
- memory elements 121-1 to 121-8 are connected in parallel between signal lines 111 and 113, and memory element 122 is connected to signal lines 112 and 113. Therefore, even if the memory elements have the same area, length, and type, coarse tuning and fine tuning can be achieved, thereby reducing manufacturing costs.
- memory elements 121 and 122 are provided for each memory cell 120, but this configuration increases the circuit size compared to when one memory element is provided for each memory cell 120.
- Semiconductor device 100 in this fifth embodiment differs from the first embodiment in that one memory element is provided for each memory cell 120 and two write pulses that differ in at least one of voltage absolute value and pulse width are supplied.
- FIG. 24 is a circuit diagram showing an example configuration of a vertical drive unit 150, selector 131, and memory cell 120 according to a fifth embodiment of the present technology.
- the memory cell 120 according to the fifth embodiment differs from that according to the first embodiment in that only a memory element 121 is arranged.
- the vertical drive unit 150 according to the fifth embodiment also differs from that according to the first embodiment in that it further includes a driver 152 in addition to a driver 151 for each row. Furthermore, only a signal line 111 is wired for each row within the memory cell array 110.
- nMOS transistor 132 opens and closes the path between driver 152 and signal line 111 in accordance with selection signal SELvx
- nMOS transistor 133 opens and closes the path between driver 151 and signal line 111 in accordance with selection signal SELvy.
- driver 152 has a higher driving force than driver 151 and can supply pulse signals with a higher voltage than driver 151.
- the control circuit 180 sets only the selection signal SELvx to a high level during coarse tuning to supply a high-voltage pulse signal, and sets only the selection signal SELvy to a high level during fine tuning to supply a low-voltage pulse signal.
- control circuit 180 can also switch only the pulse width instead of the absolute voltage value. Also, the control circuit 180 can switch both the absolute voltage value and the pulse width.
- control circuit 180 By having the control circuit 180 sequentially supply two pulse signals that differ in at least one of the voltage absolute value and pulse width, coarse tuning and fine tuning can be achieved even with only one memory element per memory cell 120. This allows for a reduction in circuit size.
- control circuit 180 sequentially supplies two pulse signals that differ in at least one of the voltage absolute value and the pulse width. Therefore, even with only one memory element per memory cell 120, coarse tuning and fine tuning can be achieved, and the circuit size can be reduced.
- IoT Internet of things
- IoT Internet of things
- IoT Internet of Things
- IoT Internet of things
- IoT device 9100 which is an "object”
- IoT devices 9003 the Internet
- cloud 9005 etc.
- IoT can be used in various industries, such as agriculture, housing, automobiles, manufacturing, distribution, and energy.
- Figure 25 is a diagram showing an example of the general configuration of an IoT system 9000 to which the technology disclosed herein can be applied.
- the IoT device 9001 includes various sensors such as a temperature sensor, humidity sensor, illuminance sensor, acceleration sensor, distance sensor, image sensor, gas sensor, and motion sensor.
- the IoT device 9001 may also include terminals such as smartphones, mobile phones, wearable devices, and game consoles.
- the IoT device 9001 is powered by an AC power source, a DC power source, a battery, contactless power supply, or so-called energy harvesting.
- the IoT device 9001 can communicate via wired, wireless, or near-field communication. Suitable communication methods include 3G/LTE (registered trademark), Wi-Fi (registered trademark), IEEE802.15.4, Bluetooth (registered trademark), Zigbee (registered trademark), and Z-Wave.
- the IoT device 9001 may communicate by switching between multiple of these communication methods.
- the IoT devices 9001 may form one-to-one, star-shaped, tree-shaped, or mesh-shaped networks.
- the IoT devices 9001 may be connected to an external cloud 9005 directly or through a gateway 9002.
- the IoT devices 9001 are assigned addresses using IPv4, IPv6, 6LoWPAN, or the like.
- Data collected from the IoT devices 9001 is transmitted to other IoT devices 9003, servers 9004, clouds 9005, etc.
- the timing and frequency of data transmission from the IoT devices 9001 are appropriately adjusted, and the data may be compressed before transmission.
- Such data may be used as is, or may be analyzed by a computer 9008 using various methods such as statistical analysis, machine learning, data mining, cluster analysis, discriminant analysis, combinatorial analysis, and time series analysis. Utilizing such data can provide a variety of services, including control, warning, monitoring, visualization, automation, and optimization.
- IoT devices 9001 in the home include washing machines, dryers, hair dryers, microwave ovens, dishwashers, refrigerators, ovens, rice cookers, cooking appliances, gas appliances, fire alarms, thermostats, air conditioners, televisions, recorders, audio equipment, lighting equipment, hot water heaters, water heaters, vacuum cleaners, fans, air purifiers, security cameras, locks, door and shutter operating devices, sprinklers, toilets, thermometers, scales, blood pressure monitors, and the like.
- IoT devices 9001 may also include solar cells, fuel cells, storage batteries, gas meters, power meters, and distribution boards.
- a low-power communication method is desirable for the IoT device 9001 in the home.
- the IoT device 9001 may also communicate via Wi-Fi indoors and 3G/LTE (registered trademark) outdoors.
- An external server 9006 for controlling the IoT device may be installed on the cloud 9005 to control the IoT device 9001.
- the IoT device 9001 transmits data such as the status of the home appliances, temperature, humidity, power usage, and the presence or absence of people and animals inside and outside the home.
- the data transmitted from the home appliances is stored in the external server 9006 via the cloud 9005. New services are provided based on this data.
- Such IoT devices 9001 can be controlled by voice using voice recognition technology.
- the technology disclosed herein can be suitably applied to the computer 9008 and IoT device 9001.
- the semiconductor device 100 in FIG. 1 can be applied to the computer 9008 or IoT device 9001.
- the accuracy of machine learning on the cloud side and edge side can be improved.
- One end of the first memory element is connected to a first signal line; one end of the second memory element is connected to a second signal line;
- the first memory element is disposed between a first wiring layer in which the first signal line is wired and a third wiring layer in which the third signal line is wired;
- the control circuit acquires the updated inverse of the impedance each time the inverse is updated, and starts the fine tuning when the inverse is saturated.
- Each of the memory cells is provided with a predetermined number of first memory elements and a number of second memory elements that does not correspond to the predetermined number; one end of each of the first memory elements is connected to a first signal line; one end of each of the second memory elements is connected to a second signal line; The semiconductor device according to (1), wherein the other ends of the first memory element and the second memory element are commonly connected to a third signal line.
- Each of the memory cells is provided with one storage element; The semiconductor device according to (1), wherein the driver sequentially supplies a first write pulse and a second write pulse that are different in at least one of voltage absolute value and pulse width.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Neurology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Neurosurgery (AREA)
- Physiology (AREA)
- Semiconductor Memories (AREA)
Abstract
機械学習を行う半導体装置において、学習精度を向上させる。 半導体装置は、所定数のメモリセルと、ドライバと、制御回路とを具備する。半導体装置において、ドライバは、メモリセルのそれぞれに書込みパルスを供給する。また、制御回路は、書込みパルス毎のメモリセルのインピーダンスの逆数の変化量の統計量を所定値に制御するコースチューニングと、その統計量を所定値より小さい値に制御するファインチューニングとを順に行う。
Description
本技術は、半導体装置に関する。詳しくは、積和演算を行う半導体装置に関する。
従来より、AI(Artificial Intelligence)チップでは、SRAM(Static Random Access Memory)による積和演算が主流である。ただし、この構成では、プログラムで学習や推論を行う際に周辺メモリとの間のデータのやり取りで消費電力が大きくなってしまう。そこで、アナログAI、SNN(Spiking Neural Networks)やニューロモーフィックコンピューティングなどの利用が望まれている。例えば、SRAMの代わりに、ReRAM(Resistive RAM)などのアナログNVM(Non-Volatile Memory)を積和演算に用いる装置が提案されている(例えば、非特許文献1参照。)。
Ruibo Ai, et al., Multilevel resistive switching and synaptic behaviors in MnO-based memristor, Current Applied Physics Volume 41, September 2022, Pages 123-130.
上述の従来技術では、SRAMの代わりに、アナログNVMを用いることによりコンピューティング性能の向上を図っている。しかしながら、上述の従来技術では、NVM内の記憶素子の特性が理想的でない場合に、その記憶素子のコンダクタンスをターゲット値に調整することが困難になる。例えば、書込みパルス毎のコンダクタンスの変化量が一定であることが理想であるが、実際には、そうではない。このため、ターゲット値付近でコンダクタンスを上下に調整した際に、コンダクタンスの平均値がターゲット値から外れてしまうことがある。この結果、機械学習の学習精度が低下するという問題がある。
本技術はこのような状況に鑑みて生み出されたものであり、機械学習を行う半導体装置において、学習精度を向上させることを目的とする。
本技術は、上述の問題点を解消するためになされたものであり、その第1の側面は、所定数のメモリセルと、上記メモリセルのそれぞれに書込みパルスを供給するドライバと、上記書込みパルス毎の上記メモリセルのインピーダンスの逆数の変化量の統計量を所定値に制御するコースチューニングと上記統計量を上記所定値より小さい値に制御するファインチューニングとを順に行う制御回路とを具備する半導体装置である。これにより、学習精度が向上するという作用をもたらす。
また、この第1の側面において、上記メモリセルのそれぞれには、第1記憶素子および第2記憶素子が設けられてもよい。これにより、インピーダンスの逆数の変化量の統計量が可変になるという作用をもたらす。
また、この第1の側面において、上記第1記憶素子および上記第2記憶素子は、面積および長さの少なくとも一方が異なってもよい。これにより、インピーダンスの逆数の変化量の統計量が可変になるという作用をもたらす。
また、この第1の側面において、上記第1記憶素子および上記第2記憶素子は、種類が異なってもよい。これにより、インピーダンスの逆数の変化量の統計量が可変になるという作用をもたらす。
また、この第1の側面において、上記第1記憶素子および上記第2記憶素子は、抵抗変化素子であってもよい。これにより、コンダクタンスが調整されるという作用をもたらす。
また、この第1の側面において、上記第1記憶素子および上記第2記憶素子は、可変容量素子であってもよい。これにより、容量値が調整されるという作用をもたらす。
また、この第1の側面において、上記ドライバは、第1書込みパルスを供給する第1ドライバと、電圧絶対値およびパルス幅の少なくとも一方が上記第1書込みパルスと異なる第2書込みパルスを供給する第2ドライバとを含んでもよい。これにより、第1記憶素子および第2記憶素子の面積や長さを揃えることができるという作用をもたらす。
また、この第1の側面において、上記メモリセルのそれぞれには、第3記憶素子がさらに設けられてもよい。これにより、インピーダンスの逆数の変化量の統計量が、より多段階で調整されるという作用をもたらす。
また、この第1の側面において、上記第1記憶素子の一端は、第1信号線に接続され、上記第2記憶素子の一端は、第2信号線に接続され、上記第1記憶素子および第2記憶素子のそれぞれの他端は、第3信号線に共通に接続されてもよい。これにより、第1信号線および第2信号線の接続先の切り替えにより、インピーダンスの逆数の変化量が調整されるという作用をもたらす。
また、この第1の側面において、上記第1記憶素子および上記第2記憶素子は、上記第1信号線および上記第2信号線が同層に配線された配線層と上記第3信号線が配線された配線層との間に配置されてもよい。これにより、製造コストが低減するという作用をもたらす。
また、この第1の側面において、上記第1記憶素子は、上記第1信号線が配線された第1配線層と上記第3信号線が配線された第3配線層との間に配置され、上記第2記憶素子は、上記第2信号線が配線された第2配線層と上記第3配線層との間に配置されてもよい。これにより、実装面積が削減されるという作用をもたらす。
また、この第1の側面において、上記制御回路は、上記インピーダンスの逆数が更新されるたびに損失を演算して上記損失が飽和した場合には上記ファインチューニングを開始してもよい。これにより、損失が飽和した際にインピーダンスの逆数が微調整されるという作用をもたらす。
また、この第1の側面において、上記制御回路は、上記インピーダンスの逆数が更新されるたびに更新後の上記逆数を取得して上記逆数が飽和した場合には上記ファインチューニングを開始してもよい。これにより、インピーダンスの逆数が飽和した際に、その値が微調整されるという作用をもたらす。
また、この第1の側面において、上記メモリセルのそれぞれには、所定数の第1記憶素子と上記所定数に該当しない個数の第2記憶素子とが設けられ、上記第1記憶素子のそれぞれの一端は、第1信号線に接続され、上記第2記憶素子のそれぞれの一端は、第2信号線に接続され、上記第1記憶素子および上記第2記憶素子のそれぞれの他端は、第3信号線に共通に接続されてもよい。これにより、製造コストが低減するという作用をもたらす。
また、この第1の側面において、上記メモリセルのそれぞれには、1個の記憶素子が設けられ、上記ドライバは、電圧絶対値およびパルス幅の少なくとも一方が異なる第1書込みパルスおよび第2書込みパルスを順に供給してもよい。これにより、回路規模が削減されるという作用をもたらす。
以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。説明は以下の順序により行う。
1.第1の実施の形態(コース、ファインチューニングを順に行う例)
2.第2の実施の形態(電圧等の異なる2つの書込みパルスを供給し、コース、ファインチューニングを順に行う例)
3.第3の実施の形態(メモリセル内に3つの記憶素子を設け、コース、ファインチューニングを順に行う例)
4.第4の実施の形態(メモリセル内に並列接続の複数の記憶素子と1個の記憶素子とを設け、コース、ファインチューニングを順に行う例)
5.第5の実施の形態(メモリセル内に1個の記憶素子を設け、コース、ファインチューニングを順に行う例)
6.応用例
1.第1の実施の形態(コース、ファインチューニングを順に行う例)
2.第2の実施の形態(電圧等の異なる2つの書込みパルスを供給し、コース、ファインチューニングを順に行う例)
3.第3の実施の形態(メモリセル内に3つの記憶素子を設け、コース、ファインチューニングを順に行う例)
4.第4の実施の形態(メモリセル内に並列接続の複数の記憶素子と1個の記憶素子とを設け、コース、ファインチューニングを順に行う例)
5.第5の実施の形態(メモリセル内に1個の記憶素子を設け、コース、ファインチューニングを順に行う例)
6.応用例
<1.第1の実施の形態>
[半導体装置の構成例]
図1は、本技術の第1の実施の形態における半導体装置100の一構成例を示すブロック図である。この半導体装置100は、機械学習を行う装置であり、メモリセルアレイ110、切替回路130、切替回路140、垂直駆動部150、水平駆動部160、カラムADC170、制御回路180および入出力部190を備える。メモリセルアレイ110には、所定数のメモリセル(不図示)が二次元格子状に配列される。
[半導体装置の構成例]
図1は、本技術の第1の実施の形態における半導体装置100の一構成例を示すブロック図である。この半導体装置100は、機械学習を行う装置であり、メモリセルアレイ110、切替回路130、切替回路140、垂直駆動部150、水平駆動部160、カラムADC170、制御回路180および入出力部190を備える。メモリセルアレイ110には、所定数のメモリセル(不図示)が二次元格子状に配列される。
切替回路130は、メモリセルアレイ110内の水平方向に配線された信号線の接続先を切り替えるものである。垂直駆動部150は、切替回路130を介して、メモリセルを行単位で駆動するものである。
切替回路140は、メモリセルアレイ110内の垂直方向に配線された信号線の接続先を切り替えるものである。水平駆動部160は、メモリセルを列単位で駆動するものである。カラムADC170は、列ごとに、メモリセルアレイ110からのアナログの電流信号をデジタル信号に変換し、リードデータとして制御回路180に供給するものである。
制御回路180は、切替回路130、切替回路140、垂直駆動部150および水平駆動部160を制御するものである。制御回路180の制御内容の詳細については後述する。入出力部190は、外部との間でデータを送受信するものである。
図2は、本技術の第1の実施の形態におけるメモリセルアレイ110と、切替回路130および140と、垂直駆動部150と、水平駆動部160と、カラムADC170とのそれぞれの構成例を示す回路図である。
メモリセルアレイ110には、所定数のメモリセル120が二次元格子状に配列される。メモリセル120のそれぞれには、記憶素子121および122が設けられる。これらの記憶素子121および122として、例えば、ReRAMにおける抵抗変化素子が用いられる。また、メモリセルアレイ110には、行ごとに水平方向に信号線111および112が配線され、列ごとに垂直方向に信号線113が配線される。記憶素子121の一端は信号線111に接続され、記憶素子122の一端は信号線112に接続される。また、記憶素子121および122のそれぞれの他端は、信号線113に共通に接続される。
なお、記憶素子121および122は、特許請求の範囲に記載の第1記憶素子および第2記憶素子の一例である。また、信号線111、112および113は、特許請求の範囲に記載の第1信号線、第2信号線および第3信号線の一例である。
垂直駆動部150には、行ごとにドライバ151が設けられる。ドライバ151は、制御回路180の制御に従ってパルス信号を生成し、切替回路130を介して、対応する行に供給するものである。
切替回路130には、行ごとにセレクタ131が設けられる。セレクタ131は、制御回路180からの選択信号SELvに従って信号線111および112の少なくとも一方をドライバ151に接続するものである。選択信号SELvは、選択信号SELvxおよびSELvyを含む。
カラムADC170には、列ごとにADC171が設けられる。ADC171は、対応する列からの電流信号をデジタル信号に変換し、リードデータRDとして制御回路180に供給するものである。
水平駆動部160には、列ごとにドライバ161が設けられる。ドライバ161は、制御回路180の制御に従ってパルス信号を生成し、切替回路140を介して、対応する列に供給するものである。
ドライバ151からのパルス信号とドライバ151からのパルス信号とからなるパルスは、メモリセル120への書込みに用いられる。このパルスを、以下、「書込み」パルスと称する。
切替回路140には、列ごとにセレクタ141が設けられる。セレクタ141は、制御回路180からの切替信号SELhに従って、信号線113をドライバ161およびADC171の一方に接続するものである。
ドライバ151およびドライバ161が書込みパルスを供給することにより、メモリセル120のコンダクタンス(言い換えれば、インピーダンスの逆数)が調整される。機械学習において、コンダクタンスは、ニューロンへの入力値に対する重みとして用いられる。書込みパルスの電圧の極性に応じてコンダクタンスの値は増加、または、減少する。また、書込みパルスは、必要に応じて複数回に亘って供給される。個々の書込みパルスの電圧絶対値およびパルス幅は、例えば、同一であるものとする。また、書込みパルス毎のメモリセル120のコンダクタンスの変化量の統計量(平均など)は可変であるものとする。
また、セレクタ131は、例えば、nMOSトランジスタ132および133を備える。nMOSトランジスタ132は、選択信号SELvxに従って、ドライバ151と信号線112との間の経路を開閉するものである。nMOSトランジスタ133は、選択信号SELvyに従って、ドライバ151と信号線111との間の経路を開閉するものである。
制御回路180は、機械学習において学習と推論とを繰り返し実行する。学習においては、書込みパルスにより重み(すなわち、メモリセル120のコンダクタンス)が調整されるが、前述のように、書込みパルス毎のコンダクタンスの変化量の統計量は可変である。例えば、コンダクタンスの変化量の統計量を2段階で変更できるものとし、その値を大きな方に制御する処理を以下、「コースチューニング」と称する。一方、変化量の統計量をコースチューニングよりも小さい値に制御する処理を以下、「ファインチューニング」と称する。
例えば、書込みパルス毎の記憶素子121のコンダクタンスの変化量の統計量(平均など)は、記憶素子122と異なる値に設定される。ここで、変化量は、増加量または減少量を示し、変化量の統計量は、例えば、増加量と、減少量の絶対値との統計量を示す。例えば、記憶素子121のコンダクタンスの変化量の統計量は、0.8Gであり、記憶素子122のコンダクタンスの変化量の統計量は0.2Gである。
コースチューニングを行う場合、制御回路180は、例えば、選択信号SELvxおよびSELvyの両方をハイレベルにする。また、制御回路180は、ドライバ151および161に書込みパルスを供給させ、セレクタ141を制御して信号線113をドライバ161に接続させる。これらの制御により、メモリセル120内で、記憶素子121および122は並列に接続され、それらの合成コンダクタンスの変化量は、1.0Gとなる。
ファインチューニングを行う場合、制御回路180は、選択信号SELvxおよびSELvyの一方のみハイレベルにし、他方をローレベルにする。例えば、選択信号SELvxがハイレベルに、SELvyがローレベルに制御される。また、制御回路180は、ドライバ151および161に書込みパルスを供給させ、セレクタ141を制御して信号線113をドライバ161に接続させる。これらの制御により、メモリセル120内で記憶素子122のみがドライバ151に接続され、メモリセル120のコンダクタンスの変化量の統計量は、0.2Gとなる。
推論を行う場合、制御回路180は、選択信号SELvxおよびSELvyの両方をハイレベルにする。また、制御回路180は、ドライバ151に読出しパルスを供給させ、セレクタ141を制御して信号線113をADC171に接続させる。これらの制御により、列ごとに、メモリセル120のコンダクタンスと読出しパルスの電圧との乗算値に応じた電流信号が流れる。
[制御回路の構成例]
図3は、本技術の第1の実施の形態における制御回路180の一構成例を示すブロック図である。この制御回路180は、重み設定更新部181、予測部182、損失演算部183および判定部184を備える。
図3は、本技術の第1の実施の形態における制御回路180の一構成例を示すブロック図である。この制御回路180は、重み設定更新部181、予測部182、損失演算部183および判定部184を備える。
重み設定更新部181は、メモリセル120のそれぞれのコンダクタンス(すなわち、重み)を初期設定し、更新するものである。重み設定更新部181は、最初にコースチューニングを開始する。コースチューニングにおいて、重み設定更新部181は、垂直駆動部150、水平駆動部160、切替回路130および140の制御により、書込みパルスを供給させ、重みを初期設定する。また、コースチューニングにおいては、書込みパルス毎のコンダクタンスの変化量の統計量は所定値(1.0Gなど)に設定される。
予測部182は、重みが初期設定された際、または、重みが更新されるたびに予測値を取得するものである。この予測部182は、垂直駆動部150、切替回路130、切替回路140およびカラムADC170の制御により、読出しパルスを供給させ、リードデータRDを読み出す。予測部182は、リードデータRDの示す値を予測値yとして損失演算部183に供給する。予測値yは、例えば、次の式により表される。
y=fw(x) ・・・式1
上式において、xは、ニューロンへの入力値であり、fw(x)は、ニューロンで用いられる関数を示す。wは、重みを示す。
y=fw(x) ・・・式1
上式において、xは、ニューロンへの入力値であり、fw(x)は、ニューロンで用いられる関数を示す。wは、重みを示す。
損失演算部183は、予測値に基づいて損失Δを演算するものである。この損失演算部183は、入出力部190から正解値Yおよび学習率αを取得し、例えば、次の式により損失Δを演算して重み設定更新部181および判定部184に供給する。
Δ=α∇L(w) ・・・式2
Δ=α∇L(w) ・・・式2
式2において∇は、全微分を示す。また、L(w)は、損失関数であり、例えば、次の式により表される。
L(w)=(Y―y)2 ・・・式3
L(w)=(Y―y)2 ・・・式3
判定部184は、損失Δが飽和したか否かを判定するものである。例えば、判定部184は、入出力部190から閾値Th1、Th2およびTh3を取得し、次の式が成立するか否かを判断する。
Δ<Th1 ・・・式4
Δ<Th1 ・・・式4
式4が成立する場合、判定部184は、損失Δが飽和したと判定する。判定部184は、判定結果を重み設定更新部181に供給する。
損失Δが飽和していない場合、重み設定更新部181は、例えば、次の式により重みを更新する。
wt+1=wt-Δ ・・・式5
上式において、t(tは、整数)は学習回数であり、wtは、t回目の重みを示す。
wt+1=wt-Δ ・・・式5
上式において、t(tは、整数)は学習回数であり、wtは、t回目の重みを示す。
一方、損失Δが飽和した場合、重み設定更新部181は、ファインチューニングを開始する。ファインチューニングにおいて、書込みパルス毎のコンダクタンス(重み)の変化量の統計量は、コースチューニングよりも小さい値(0.2Gなど)に設定される。ファインチューニングにおいても、重みの更新(言い換えれば、学習)と、予測値の取得、および、損失の演算(言い換えれば、推論)とが順に繰り返し実行される。
そして、判定部184は、ファインチューニングにおいて損失Δが演算されるたびに次の式のいずれかが成立するか否かを判断する。
Δ<Th2 ・・・式6
t>Th3 ・・・式7
Δ<Th2 ・・・式6
t>Th3 ・・・式7
式6において、閾値Th2には、例えば、Th1以下の値が設定される。式6および式7がいずれも不成立の場合、重み設定更新部181は、重みの更新を継続する。一方、式6または式7が成立する場合、重み設定更新部181は、重みの更新(学習)を終了する。
学習が終了すると、制御回路180は、入出力部190に、各種のデータを出力する。例えば、学習の終了通知や、最終的なコンダクタンスの値が出力される。
図4は、本技術の第1の実施の形態における推論時の制御回路180の制御方法の一例を示す図である。同図に例示するように、制御回路180は、ドライバ151を制御して読出しパルスを供給させ、セレクタ141を制御して信号線113にADC171を接続させる。
i(iは、整数)行の読出しパルスの電圧をxiとし、j(jは、整数)列の電流信号の値をyjとし、i行、j列のメモリセル120のコンダクタンス(重み)をwijとすると、yjは、例えば、次の式により表される。
同図に例示したように、半導体装置100では、アナログ回路により積和演算が実行される。これにより、SRAMを用いる場合と比較してコンピューティング能力を向上させることができる。
図5は、本技術の第1の実施の形態における学習時の制御回路180の制御方法の一例を示す図である。同図に例示するように制御回路180は、コースチューニングにおいてセレクタ131を制御して信号線111および112をドライバ151に接続させ、セレクタ141を制御して信号線113にドライバ161を接続させる。なお、ファインチューニングでは、信号線111および112の一方がドライバ151に接続される。
行ごとにドライバ151は、電圧xiのパルス信号を供給し、列ごとにドライバ161は、電圧σjのパルス信号を供給する。
図6は、本技術の第1の実施の形態における書込みパルスの波形の一例を示す図である。同図におけるaは、コンダクタンスを更新する場合の書込みパルスの波形を示し、同図におけるbは、コンダクタンスを更新しない場合の書込みパルスの波形を示す。同図におけるaおよびbに例示するように、書込みパルスは、行側のドライバ151からのパルス信号と列側のドライバ161からのパルス信号とを含む。
同図におけるaに例示するように、コンダクタンスを増加させる場合、例えば、行側のドライバ151は、正電圧xiのパルス信号を供給し、列側のドライバ161は、負電圧σjのパルス信号を供給する。なお、コンダクタンスを減少させる場合、行側のドライバ151は、負電圧のパルス信号を供給し、列側のドライバ161は、正電圧のパルス信号を供給する。
また、同図におけるbに例示するように、コンダクタンスを更新しない場合、例えば、行側のドライバ151は、正電圧xiのパルス信号を供給し、列側のドライバ161は、パルス信号を供給しない。
[記憶素子の構成例]
図7は、本技術の第1の実施の形態における記憶素子121および122の一例を示す斜視図である。同図におけるaに例示するように、記憶素子121の面積は記憶素子122の面積と異なり、記憶素子121および122のそれぞれの種類および長さは同一である。ここで、記憶素子121および122の面積は、信号線111または112に接続される行側の端子から、信号線113に接続される列側の端子への方向から観察した際の素子の断面の面積に該当する。また、記憶素子121および122の長さは、行側の端子と列側の端子との間の距離に該当する。
図7は、本技術の第1の実施の形態における記憶素子121および122の一例を示す斜視図である。同図におけるaに例示するように、記憶素子121の面積は記憶素子122の面積と異なり、記憶素子121および122のそれぞれの種類および長さは同一である。ここで、記憶素子121および122の面積は、信号線111または112に接続される行側の端子から、信号線113に接続される列側の端子への方向から観察した際の素子の断面の面積に該当する。また、記憶素子121および122の長さは、行側の端子と列側の端子との間の距離に該当する。
あるいは、同図におけるbに例示するように、記憶素子121の長さは、記憶素子122の長さと異なり、記憶素子121および122のそれぞれの種類および面積は同一である。
なお、記憶素子121の面積および長さの両方が、記憶素子122と異なる構成であってもよい。
もしくは、同図におけるcに例示するように、記憶素子121の種類は、記憶素子122と異なる。例えば、記憶素子121として、ReRAM内の記憶素子が用いられ、記憶素子122として、PCM(Phase Change Memory)内の記憶素子が用いられる。
同図におけるaおよびbに例示するように、面積および長さの一方が異なる記憶素子121および122を設けることにより、書込みパルス毎の記憶素子121のコンダクタンスの変化量は、記憶素子122と異なる値になる。また、同図におけるcに例示するように、記憶素子121および122の種類が異なる場合にもおいても、書込みパルス毎の記憶素子121のコンダクタンスの変化量は、記憶素子122と異なる値になる。
前述したようにコースチューニングでは、メモリセル120のコンダクタンスが記憶素子121および122のコンダクタンスの合計値となり、ファインチューニングでは、メモリセル120のコンダクタンスは、記憶素子122の値となる。このため、同図におけるa、bまたはcの構成を用いることにより、コースチューニングおよびファインチューニングのそれぞれのコンダクタンスの変化量の差異を大きくすることができる。
図8は、本技術の第1の実施の形態におけるメモリセル120の等価回路の一例である。同図におけるaに例示するように、記憶素子121および122として、ReRAMなどにおける抵抗変化素子が用いられる。
なお、同図におけるbに例示するように、記憶素子121および122として、可変容量素子を用いることもできる。可変容量素子として、例えば、MOSキャパシタや、強誘電体キャパシタが用いられる。
可変容量素子を用いる場合、メモリセルの容量性リアクタンス(言い換えれば、インピーダンス)の逆数である容量が重みとして用いられる。
図9は、本技術の第1の実施の形態における記憶素子121および122の配置例を示す斜視図である。
例えば、同図におけるaに例示するように、記憶素子121および122は、同じ層に配置される。詳細には、信号線111および112を配線した配線層115と、信号線113を配線した配線層116との間に、記憶素子121および122が配置される。
あるいは、同図におけるbに例示するように、記憶素子121および122は、互いに異なる層に配置される。詳細には、信号線111を配線した配線層115と、信号線113を配線した配線層116との間に、記憶素子121が配置される。また、信号線112を配線した配線層117と、配線層116との間に、記憶素子122が配置される。
なお、配線層115は、特許請求の範囲に記載の第1配線層の一例であり、配線層117は、特許請求の範囲に記載の第2配線層の一例である。配線層116は、特許請求の範囲に記載の第3配線層の一例である。
同図におけるaの配置では、同図におけるbと比較して実装面積が増大するが、製造コストが低減する。一方、同図におけるbの配置では、同図におけるaと比較して製造コストが増大するが、実装面積が削減される。
[半導体装置の動作例]
図10は、本技術の第1の実施の形態における半導体装置100の動作の一例を示すフローチャートである。この動作は、例えば、機械学習を行うための所定のアプリケーションが実行されたときに開始される。
図10は、本技術の第1の実施の形態における半導体装置100の動作の一例を示すフローチャートである。この動作は、例えば、機械学習を行うための所定のアプリケーションが実行されたときに開始される。
半導体装置100内の制御回路180は、最初にコースチューニングの設定を行う。この設定において、重みが初期値に設定され、書込みパルス毎のコンダクタンス(重み)の変化量の統計量は、所定値(1.0Gなど)に設定される(ステップS901)。
そして、制御回路180は、予測値を取得し(ステップS902)、損失Δを計算する(ステップS903)。制御回路180は、その損失Δが閾値Th1未満であるか否かを判断する(ステップS904)。損失Δが閾値Th1以上である場合(ステップS904:No)、制御回路180は、行列のドライバを制御して重みを更新させ(ステップS905)、ステップS902以降を繰り返し実行する。
一方、損失Δが閾値Th1未満である場合(ステップS904:Yes)、制御回路180は、ファインチューニングの設定を行う。この設定において、書込みパルス毎のコンダクタンス(重み)の変化量の統計量は、コースチューニングのときより小さな値(0.2Gなど)に設定される(ステップS906)。
そして、制御回路180は、予測値を取得し(ステップS907)、損失Δを計算する(ステップS908)。制御回路180は、その損失Δが閾値Th2未満、または、学習回数tが閾値Th3より多いか否かを判断する(ステップS909)。損失Δが閾値Th2以上であり、学習回数tが閾値Th3以下である場合(ステップS909:No)、制御回路180は、行列のドライバを制御して重みを更新させ(ステップS910)、ステップS907以降を繰り返し実行する。
一方、損失Δが閾値Th2未満、または、学習回数tが閾値Th3より多い場合(ステップS909:Yes)、制御回路180は、機械学習を終了する。
なお、制御回路180は、損失Δが閾値Th1未満になったとき、言い換えれば、損失Δが飽和したときにファインチューニングを開始しているが、この構成に限定されない。制御回路180は、コンダクタンス(すなわち、重み)の更新のたびに更新後のコンダクタンスを取得し、そのコンダクタンスが飽和したときにファインチューニングを開始することもできる。コンダクタンスが飽和したか否かは、例えば、正解値に対応するターゲット値付近でコンダクタンスが上下した回数が所定回数を超えたか否かにより判断される。
また、制御回路180は、損失Δが飽和したとき、または、コンダクタンスが飽和したときにファインチューニングを開始することもできる。
ここで、メモリセルごとにReRAMの記憶素子を1つのみ配置した構成を比較例として想定し、この比較例の問題点について説明する。
図11は、積和演算に用いる記憶素子の理想的な抵抗変化特性とReRAMの抵抗変化特性との一例を示すグラフである。同図におけるaは、理想的な抵抗変化特性を示し、同図におけるbは、ReRAMの抵抗変化特性を示す。同図におけるaおよびbの縦軸は、記憶素子のコンダクタンスを示し、横軸は、書込みパルスのパルス数を示す。
測定条件に関して、コンダクタンスの初期値を最小値Gminとし、ドライバがコンダクタンスを増加させるための書込みパルスを繰り返し供給する。そして、コンダクタンスが最大値Gmaxとなると、ドライバは、極性を反転した書込みパルスを、コンダクタンスが最小値Gminに減少するまで繰り返し供給する。
同図におけるaに例示するように、コンダクタンスを増加させる場合と、コンダクタンスを減少させる場合とで、書込みパルス毎のコンダクタンスの変化量(言い換えれば、グラフの傾き)の絶対値が一定であることが理想的である。
しかしながら、同図におけるbに例示するように、実際のReRAMでは、書込みパルス毎のコンダクタンスの変化量が一定ではない。同図におけるbでは、コンダクタンスを増加させる場合、最大値Gmaxに近づくほど、変化量(傾き)の絶対値が小さくなり、コンダクタンスを減少させる場合、最小値Gminに近づくほど、その値が小さくなる。コンダクタンスを増加させる場合とコンダクタンスを減少させる場合とのそれぞれの変化量(傾き)の絶対値の差異は、最大値Gmaxまたは最小値Gminに近づくほど大きくなり、最大値Gmaxおよび最小値Gminの中間付近で最小になる。
このため、比較例では、正解値に対応するコンダクタンスのターゲット値Gtagを最大値Gmaxに近い値にすると、そのターゲット値Gtag付近でコンダクタンスを増減した際にコンダクタンスがターゲット値Gtagに到達しないおそれがある。
この問題を解決するため、第1の実施の形態では、メモリセル120ごとに記憶素子121および122を設けている。
図12におけるaは、本技術の第1の実施の形態における抵抗変化特性を示すグラフである。同図におけるaの縦軸は、メモリセル120のコンダクタンスを示し、横軸は、書込みパルスのパルス数を示す。また、実線の曲線は、コースチューニングの抵抗変化特性を示し、一点鎖線は、ファインチューニングの抵抗変化特性を示す。
同図におけるbに例示するように、コースチューニングでは、行側のドライバ151と列側のドライバ161との間において、記憶素子121および122が並列に接続される。一方、同図におけるcに例示するように、ファインチューニングでは、ドライバ151およびドライバ161の間に記憶素子122のみが接続される。例えば、書込みパルス毎の記憶素子121および122のそれぞれのコンダクタンスの変化量の統計量(平均など)を0.8Gおよび0.2Gとする。
この場合、コンダクタンスの変化量の平均は、コースチューニングで1.0Gとなり、ファインチューニングで0.2Gとなる。
ここで、コンダクタンスの変化量の平均は、例えば、コンダクタンスを最小値Gminから最大値Gmaxへ増加させ、その後に最小値Gminまで減少させた際の書込みパルス毎の増加量と減少量の絶対値との平均を示す。
同図におけるb、cに例示するように、記憶素子121および122の接続を切り替えることにより、同図におけるaに例示するようにメモリセル120の抵抗変化特性を切り替えることができる。
図13は、比較例と本技術の第1の実施の形態とにおけるコンダクタンスの変動の一例を示すグラフである。同図におけるaは、比較例におけるコンダクタンスの変動の一例を示し、同図におけるbは、第1の実施の形態におけるコンダクタンスの変動の一例を示す。同図におけるaおよびbの縦軸は、メモリセル120のコンダクタンスを示し、横軸は、書込みパルスのパルス数を示す。また、ReRAMの記憶素子を用いるものとし、正解値に対応するコンダクタンスのターゲット値を0.8とし、このターゲット値は、最大値Gmaxに近い値とする。
同図におけるaおよびbに例示するように、ReRAMでは、最初は勢いよくコンダクタンスが変化するものの、途中から変化が鈍る。このため、ターゲット値付近では、書込みパルス毎のコンダクタンスの増加量が少なく、減少量は大きくなる。
比較例では、同図におけるaに例示するように、コンダクタンスがターゲット値をオーバーすると、制御回路180はコンダクタンスを減少させるが、勢い良すぎてターゲット値を大きく下回る。そこで、制御回路180がターゲット値に戻そうと、コンダクタンスを増加させるが、増加量が小さいために複数回の書込みパルスが必要になる。このような挙動を繰り返すため、コンダクタンスの平均値はターゲット値よりも低い値になる。例えば、比較例の繰り返し挙動時のコンダクタンスの平均は、0.769である。また、分散であるσ2の平方根σは、0.031となる。
これに対して、第1の実施の形態の制御回路180は、最初にコースチューニングを開始して17回に亘ってコンダクタンスを増減させ、損失Δが飽和したため、ファインチューニングに切り替えてコンダクタンスの変化量の統計量を小さくする。これにより、比較例よりもコンダクタンスの平均値がターゲット値に近い値になる。したがって、比較例よりも学習精度を向上させることができる。
例えば、ファインチューニングにおける変化量の統計量がコースチューニングに対して20%の値である場合、コンダクタンスの平均は、0.795となる。また、σは、0.006となり、ばらつきも比較例の1/5程度になる。
図14は、比較例と本技術の第1の実施の形態とにおけるコンダクタンスの平均およびσの測定例を示す図である。同図における縦軸は、コンダクタンスの平均を示し、横軸は、コンダクタンスの分散の平方根であるσを示す。灰色の丸は、第1の実施の形態における測定値をプロットしたものを示す。白丸は、比較例の測定値をプロットしたものを示す。コンダクタンスのターゲット値は、0.8とする。同図に例示するように、第1の実施の形態では、比較例よりも平均がターゲット値に近くなり、σ(言い換えれば、分散)も小さくなる。
第1の実施の形態において、記憶素子122および121のそれぞれのコンダクタンスの変化量の統計量の組合せは、0.8Gおよび0.2Gに限定されない。同図では、0.8Gおよび0.2Gの他、0.1Gおよび0.9G、0.3Gおよび0.7G、0.5Gおよび0.5Gのそれぞれに設定して組合せごとに測定を行った。コンダクタンスの変化量の差異を大きくするほど、平均がターゲット値に近くなり、σが小さくなる。ただし、コンダクタンスの変化量に差異を持たせると、製造コストが増大するおそれがあるため、要求される精度を考慮して組合せが選択される。
図15は、比較例と本技術の第1の実施の形態とにおけるデバイス毎の精度の一例を示す図である。同図における丸印は、学習精度が高精度であることを示し、×印は、学習精度が低精度であることを示す。
抵抗変化特性が理想的なデバイスを用いる場合、比較例と、第1の実施の形態との両方で高い学習精度を実現することができる。
しかし、ReRAMでは、前述したようにコンダクタンスを増加させる場合と、コンダクタンスを減少させる場合とで、書込みパルス毎のコンダクタンスの変化量の絶対値が異なる。ただし、コンダクタンスを増加させる場合の増加量とコンダクタンスを減少させる場合の減少量の絶対値とは、最大値Gmaxおよび最小値Gminの中間付近で同程度になる。同図における矢印の傾きは、その中間付近のコンダクタンスの変化量を示す。
また、PCMでは、コンダクタンスの増加時と減少時との各領域においてコンダクタンスの増加量と、減少量の絶対値とが同一になることが無い。
これらのReRAMやPCMを用いる場合、比較例では学習精度が低下してしまう。これに対して、第1の実施の形態では、コースチューニングからファインチューニングに切り替えることができるため、ReRAMやPCMを用いる場合であっても高い学習精度を実現することができる。
このように、本技術の第1の実施の形態によれば、制御回路180がコースチューニングおよびファインチューニングを順に行うため、比較例よりも学習精度を向上させることができる。
<2.第2の実施の形態>
上述の第1の実施の形態では、面積、長さや、種類の異なる記憶素子121および122をメモリセル120内に設けていた。しかし、この構成では、記憶素子121および122の面積、長さ、および、種類を同一にする場合と比較して、製造が困難になり、製造コストが上昇するおそれがある。この第2の実施の形態における半導体装置100は、電圧絶対値およびパルス幅の少なくとも一方が異なる2つの書込みパルスを記憶素子121および122へ供給する点において第1の実施の形態と異なる。
上述の第1の実施の形態では、面積、長さや、種類の異なる記憶素子121および122をメモリセル120内に設けていた。しかし、この構成では、記憶素子121および122の面積、長さ、および、種類を同一にする場合と比較して、製造が困難になり、製造コストが上昇するおそれがある。この第2の実施の形態における半導体装置100は、電圧絶対値およびパルス幅の少なくとも一方が異なる2つの書込みパルスを記憶素子121および122へ供給する点において第1の実施の形態と異なる。
図16は、本技術の第2の実施の形態における記憶素子121および122の一例を示す斜視図である。第2の実施の形態における記憶素子121および122は、面積、長さ、および、種類(ReRAMなど)が同一である点において第1の実施の形態と異なる。
制御回路180は、電圧絶対値およびパルス幅の少なくとも一方が異なる2つの書込みパルスを記憶素子121および122へ供給させる。ここで、書込みパルスの電圧は、行側のパルス信号の電圧と列側のパルス信号の電圧との差分を示す。
例えば、記憶素子122への書込みパルスの電圧絶対値は、記憶素子121への書込みパルスよりも小さい値に設定される。これにより、書込みパルス毎の記憶素子121のコンダクタンスの変化量の統計量は、記憶素子122と異なる値に制御される。
図17は、本技術の第2の実施の形態における垂直駆動部150、切替回路130およびメモリセル120の一構成例を示す回路図である。
第2の実施の形態における垂直駆動部150には、行ごとにドライバ151および152が設けられる。また、第2の実施の形態における切替回路130には、行ごとにnMOSトランジスタ132、133および134が設けられる。
nMOSトランジスタ132は、選択信号SELvxに従って、ドライバ151と信号線112との間に経路を開閉するものである。nMOSトランジスタ134は、選択信号SELvyに従って、ドライバ152と信号線111との間に経路を開閉するものである。
nMOSトランジスタ133は、選択信号SELvyに従って、信号線112と、ドライバ152およびnMOSトランジスタ134の接続点との間の経路を開閉するものである。
ドライバ151は、所定電圧のパルス信号を供給するものである。ドライバ152は、ドライバ151よりも駆動力が高く、ドライバ151よりも高い電圧のパルス信号を供給するものである。ドライバ151および152のそれぞれのパルス信号のパルス幅は同一であるものとする。なお、ドライバ151および152は、特許請求の範囲に記載の第1ドライバおよび第2ドライバの一例である。
コースチューニングを行う場合、制御回路180は、例えば、選択信号SELvxおよびSELvyの両方をハイレベルにする。
ファインチューニングを行う場合、制御回路180は、例えば、選択信号SELvxをハイレベルに、SELvyをローレベルにする。推論を行う場合、制御回路180は、選択信号SELvxおよびSELvyの両方をハイレベルにする。
書込みパルス毎のコンダクタンスの変化量は、その書込みパルスの電圧およびパルス幅に応じて変化する。このため、上述の制御により、ファインチューニングのコンダクタンスの変化量の統計量は、コースチューニングの場合より小さな値に制御される。
なお、同図では、ドライバ151および152は、パルス幅が同一で書込みパルスの電圧絶対値が異なる2つのパルス信号を供給しているが、この構成に限定されない。ドライバ151および152は、電圧絶対値が同一でパルス幅が異なる2つのパルス信号を供給することもできる。また、ドライバ151および152は、電圧絶対値およびパルス幅の両方が異なる2つのパルス信号を供給することもできる。
同図に例示したように、ドライバ151および152が、電圧絶対値およびパルス幅の少なくとも一方が異なる2つのパルス信号を供給するため、前述のように記憶素子121および122の面積、長さ、および、種類を同一にすることができる。これにより、第1の実施の形態と比較して製造が容易になり、製造コストを低減することができる。
このように、本技術の第2の実施の形態によれば、ドライバ151および152が、電圧絶対値およびパルス幅の少なくとも一方が異なる2つのパルス信号を供給する。このため、記憶素子121および122の面積、長さ、および、種類を同一にして製造コストを低減することができる。
<3.第3の実施の形態>
上述の第1の実施の形態では、メモリセル120ごとに2つの記憶素子を設けていたが、メモリセル120ごとに3つ以上の記憶素子を設けることもできる。この第3の実施の形態における半導体装置100は、メモリセル120ごとに3つの記憶素子を設けた点において第1の実施の形態と異なる。
上述の第1の実施の形態では、メモリセル120ごとに2つの記憶素子を設けていたが、メモリセル120ごとに3つ以上の記憶素子を設けることもできる。この第3の実施の形態における半導体装置100は、メモリセル120ごとに3つの記憶素子を設けた点において第1の実施の形態と異なる。
図18は、本技術の第3の実施の形態における垂直駆動部150、セレクタ131およびメモリセル120の一構成例を示す回路図である。第3の実施の形態におけるメモリセル120には、記憶素子121および122に加えて、記憶素子123がさらに設けられる。また、メモリセルアレイ110には、行ごとに信号線111、112および113が水平方向に配線され、列ごとに信号線114が垂直方向に配線される。記憶素子121の一端は信号線111に接続され、記憶素子122の一端は信号線112に接続され、記憶素子123の一端は信号線113に接続される。記憶素子121、122および123のそれぞれの他端は、信号線114に共通に接続される。
また、第3の実施の形態におけるセレクタ131には、nMOSトランジスタ132および133に加えて、nMOSトランジスタ134がさらに配置される。nMOSトランジスタ132は、選択信号SELvxに従ってドライバ151と信号線113との間の経路を開閉する。nMOSトランジスタ133は、選択信号SELvyに従ってドライバ151と信号線112との間の経路を開閉する。nMOSトランジスタ134は、選択信号SELvzに従ってドライバ151と信号線111との間の経路を開閉する。
制御回路180は、例えば、コースチューニングにおいて選択信号SELvx、SELvyおよびSELvzを全てハイレベルにし、ファインチューニングにおいて、それらの一部をハイレベルにし、残りをローレベルにする。
同図に例示するように、メモリセル120ごとに記憶素子121、122および123を設けたため、コンダクタンスの変化量を第1の実施の形態よりも多段階で制御することができる。
図19は、本技術の第3の実施の形態における記憶素子121、122および123の一例を示す斜視図である。同図におけるaに例示するように、記憶素子121、122および123のそれぞれの面積が異なり、種類および長さは同一である。
または、同図におけるbに例示するように、記憶素子121、122および123のそれぞれの長さが異なり、種類および面積は同一である。
あるいは、同図におけるcに例示するように、記憶素子121、122および123のそれぞれの種類が異なる。例えば、記憶素子121として、ReRAM内の記憶素子が用いられ、記憶素子122として、PCM内の記憶素子が用いられる。記憶素子123として、STT(Spin Transfer Torque)-MRAM(Magnetoresistive RAM)内の記憶素子が用いられる。
もしくは、同図におけるdに例示するように記憶素子121、122および123のそれぞれの面積、長さ、および種類は同一である。この場合、第2の実施の形態のように、電圧絶対値およびパルス幅の少なくとも一方の異なる3つの書込みパルスが記憶素子121、122および123に供給される。例えば、記憶素子122への書込みパルスの電圧絶対値は、記憶素子121への書込みパルスよりも小さい中程度の値に設定される。また、記憶素子123への書込みパルスの電圧絶対値は、記憶素子122への書込みパルスよりもさらに小さい値に設定される。
また、同図におけるa、b、cおよびdに例示した各構成は、任意に組み合わせることができる。
例えば、図20に例示するように、記憶素子121および122の両方がReRAMの記憶素子で、記憶素子123がPCMの記憶素子であり、記憶素子121および122の面積が異なっていてもよい。
図21は、本技術の第3の実施の形態におけるメモリセル120の等価回路の一例である。同図におけるaに例示するように、記憶素子121、122および123として、ReRAMなどにおける抵抗変化素子が用いられる。
なお、同図におけるbに例示するように、記憶素子121、122および123として、可変容量素子(MOSキャパシタなど)を用いることもできる。
また、メモリセル120内に、4つ以上の記憶素子を設けることもできる。
このように、本技術の第3の実施の形態によれば、メモリセル120内に記憶素子121、122および123を設けたため、コンダクタンスの変化量を、第1の実施の形態より多段階で制御することができる。
<4.第4の実施の形態>
上述の第1の実施の形態では、面積、長さや種類の異なる複数の記憶素子をメモリセル120ごとに設けていたが、この構成では、面積や長さを揃えた場合と比較して製造コストが増大するおそれがある。この第4の実施の形態における半導体装置100は、信号線111に並列に接続された複数の記憶素子と、信号線112に接続された記憶素子とをメモリセル120内に設ける点において第1の実施の形態と異なる。
上述の第1の実施の形態では、面積、長さや種類の異なる複数の記憶素子をメモリセル120ごとに設けていたが、この構成では、面積や長さを揃えた場合と比較して製造コストが増大するおそれがある。この第4の実施の形態における半導体装置100は、信号線111に並列に接続された複数の記憶素子と、信号線112に接続された記憶素子とをメモリセル120内に設ける点において第1の実施の形態と異なる。
図22は、本技術の第4の実施の形態における記憶素子の一例を示す斜視図である。第4の実施の形態において、メモリセル120内には、記憶素子121-1から121-8と記憶素子122とが設けられる。これらの9個の記憶素子のそれぞれの面積、長さ、および、種類(ReARMなど)は同一である。
図23は、本技術の第4の実施の形態における垂直駆動部150、セレクタ131およびメモリセル120の一構成例を示す回路図である。メモリセル120において、記憶素子121-1から121-8のそれぞれの一端は、信号線111に共通に接続される。記憶素子122の一端は、信号線112に接続される。記憶素子121-1から121-8と記憶素子122とのそれぞれの他端は、信号線113に共通に接続される。
書込みパルスに対する9個の記憶素子の個々のコンダクタンスの変化量の統計量を例えば、1.0Gとする。この場合、信号線111および113の間に並列に接続した8個の記憶素子からなるグループの合成コンダクタンスの変化量は、8.0Gとなり、記憶素子122と異なる値になる。このため、記憶素子のそれぞれの面積、長さ、および、種類が同一であっても、コースチューニングおよびファインチューニングを実現することができる。これにより、製造コストを低減することができる。
なお、信号線111および113の間に接続する記憶素子の個数を8個とし、信号線112および113の間に接続する記憶素子の個数を1個としているが、それぞれの記憶素子の個数は異なる値であればよく、8個、および、1個の組合せに限定されない。例えば、信号線111および113の間に接続する記憶素子の個数を7個とし、信号線112および113の間に接続する記憶素子の個数を2個とすることもできる。
なお、記憶素子121-1から121-8は、特許請求の範囲に記載の第1記憶素子の一例であり、記憶素子122は、特許請求の範囲に記載の第2記憶素子の一例である。
このように、本技術の第4の実施の形態によれば、信号線111および113の間に並列に記憶素子121-1から121-8が接続され、信号線112および113に記憶素子122が接続される。このため、記憶素子のそれぞれの面積、長さ、および、種類が同一であっても、コースチューニングおよびファインチューニングを実現することができ、製造コストを低減することができる。
<5.第5の実施の形態>
上述の第1の実施の形態では、メモリセル120ごとに記憶素子121および122を設けていたが、この構成では、メモリセル120ごとに記憶素子が1個の場合と比較して、回路規模が増大してしまう。この第5の実施の形態における半導体装置100は、メモリセル120ごとに1個の記憶素子を設け、電圧絶対値およびパルス幅の少なくとも1つが異なる2つの書込みパルスを供給する点において第1の実施の形態と異なる。
上述の第1の実施の形態では、メモリセル120ごとに記憶素子121および122を設けていたが、この構成では、メモリセル120ごとに記憶素子が1個の場合と比較して、回路規模が増大してしまう。この第5の実施の形態における半導体装置100は、メモリセル120ごとに1個の記憶素子を設け、電圧絶対値およびパルス幅の少なくとも1つが異なる2つの書込みパルスを供給する点において第1の実施の形態と異なる。
図24は、本技術の第5の実施の形態における垂直駆動部150、セレクタ131およびメモリセル120の一構成例を示す回路図である。第5の実施の形態におけるメモリセル120は、記憶素子121のみが配置される点において第1の実施の形態と異なる。また、第5の実施の形態における垂直駆動部150は、行ごとにドライバ151に加えてドライバ152をさらに備える点において第1の実施の形態と異なる。また、メモリセルアレイ110内には、行ごとに信号線111のみが配線される。
また、nMOSトランジスタ132は、選択信号SELvxに従って、ドライバ152と信号線111との間の経路を開閉し、nMOSトランジスタ133は、選択信号SELvyに従って、ドライバ151と信号線111との間の経路を開閉する。また、ドライバ152は、ドライバ151よりも駆動力が高く、ドライバ151よりも高い電圧のパルス信号を供給することができる。
制御回路180は、コースチューニングにおいて選択信号SELvxのみをハイレベルにして高電圧のパルス信号を供給させ、ファインチューニングにおいて選択信号SELvyのみをハイレベルにして低電圧のパルス信号を供給させる。
なお、制御回路180は、電圧絶対値の代わりに、パルス幅のみを切り替えることもできる。また、制御回路180は、電圧絶対値およびパルス幅の両方を切り替えることもできる。
制御回路180が、電圧絶対値およびパルス幅の少なくとも一方の異なる2つのパルス信号を順に供給させることにより、メモリセル120ごとに記憶素子が1個でも、コースチューニングおよびファインチューニングを実現することができる。これにより、回路規模を削減することができる。
このように、本技術の第5の実施の形態によれば、制御回路180が、電圧絶対値およびパルス幅の少なくとも一方の異なる2つのパルス信号を順に供給させる。このため、メモリセル120ごとに記憶素子が1個でも、コースチューニングおよびファインチューニングを実現することができ、回路規模を削減することができる。
<6.応用例>
本開示に係る技術は、いわゆる「物のインターネット」であるIoT(Internet of things)と呼ばれる技術へ応用可能である。IoTとは、「物」であるIoTデバイス9100が、他のIoTデバイス9003、インターネット、クラウド9005などに接続され、情報交換することにより相互に制御する仕組みである。IoTは、農業、家、自動車、製造、流通、エネルギー、など様々な産業に利用できる。
本開示に係る技術は、いわゆる「物のインターネット」であるIoT(Internet of things)と呼ばれる技術へ応用可能である。IoTとは、「物」であるIoTデバイス9100が、他のIoTデバイス9003、インターネット、クラウド9005などに接続され、情報交換することにより相互に制御する仕組みである。IoTは、農業、家、自動車、製造、流通、エネルギー、など様々な産業に利用できる。
図25は、本開示に係る技術が適用され得るIoTシステム9000の概略的な構成の一例を示す図である。
IoTデバイス9001には、温度センサー、湿度センサー、照度センサー、加速度センサー、距離センサー、画像センサー、ガスセンサー、人感センサーなどの各種センサーなどが含まれる。また、IoTデバイス9001には、スマートフォン、携帯電話、ウェアラブル端末、ゲーム機器などの端末を含めてもよい。IoTデバイス9001は、AC電源、DC電源、電池、非接触給電、いわゆるエナジーハーベストなどにより給電される。IoTデバイス9001は、有線、無線、近接無線通信などにより通信することができる。通信方式は3G/LTE(登録商標)、Wi-Fi(登録商標)、IEEE802.15.4、Bluetooth(登録商標)、Zigbee(登録商標)、Z-Waveなどが好適に用いられる。IoTデバイス9001は、これらの通信手段の複数を切り替えて通信してもよい。
IoTデバイス9001は、1対1、星状、ツリー状、メッシュ状のネットワークを形成してもよい。IoTデバイス9001は、直接に、またはゲートウエイ9002を通して、外部のクラウド9005に接続してもよい。IoTデバイス9001には、IPv4、IPv6、6LoWPANなどによって、アドレスが付与される。IoTデバイス9001から収集されたデータは、他のIoTデバイス9003、サーバ9004、クラウド9005などに送信される。IoTデバイス9001からデータを送信するタイミングや頻度は好適に調整され、データを圧縮して送信してもよい。このようなデータはそのまま利用してもよく、統計解析、機械学習、データマイニング、クラスタ分析、判別分析、組み合わせ分析、時系列分析など様々な手段でデータをコンピュータ9008で分析してもよい。このようなデータを利用することにより、コントロール、警告、監視、可視化、自動化、最適化、など様々なサービスを提供することができる。
本開示に係る技術は、家に関するデバイス、サービスにも応用可能である。家におけるIoTデバイス9001には、洗濯機、乾燥機、ドライヤ、電子レンジ、食洗機、冷蔵庫、オーブン、炊飯器、調理器具、ガス器具、火災報知器、サーモスタット、エアコン、テレビ、レコーダ、オーディオ、照明機器、温水器、給湯器、掃除機、扇風機、空気清浄器、セキュリティカメラ、錠、扉・シャッター開閉装置、スプリンクラー、トイレ、温度計、体重計、血圧計などが含まれる。さらにIoTデバイス9001には、太陽電池、燃料電池、蓄電池、ガスメータ、電力メータ、分電盤を含んでもよい。
家におけるIoTデバイス9001の通信方式は、低消費電力タイプの通信方式が望ましい。また、IoTデバイス9001は屋内ではWi-Fi、屋外では3G/LTE(登録商標)により通信するようにしてもよい。クラウド9005上にIoTデバイス制御用の外部サーバ9006を設置し、IoTデバイス9001を制御してもよい。IoTデバイス9001は、家庭機器の状況、温度、湿度、電力使用量、家屋内外の人・動物の存否などのデータを送信する。家庭機器から送信されたデータは、クラウド9005を通じて、外部サーバ9006に蓄積される。このようなデータに基づき、新たなサービスが提供される。このようなIoTデバイス9001は、音声認識技術を利用することにより、音声によりコントロールすることができる。
また各種家庭機器からテレビに情報を直接送付することにより、各種家庭機器の状態を可視化することができる。さらには、各種センサーが居住者の有無を判断し、データを空調機、照明などに送付することで、それらの電源をオン・オフすることができる。さらには、各種家庭機器に供えられたディスプレイにインターネットを通じて広告を表示することができる。
以上、本開示に係る技術が適用され得るIoTシステム9000の一例について説明した。本開示に係る技術は、以上説明した構成のうち、コンピュータ9008やIoTデバイス9001に好適に適用され得る。具体的には、コンピュータ9008またはIoTデバイス9001に、図1の半導体装置100を適用することができる。コンピュータ9008またはIoTデバイス9001に本開示に係る技術を適用することにより、クラウド側やエッジ側の機械学習の精度を向上させることができる。
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、CD(Compact Disc)、MD(MiniDisc)、DVD(Digital Versatile Disc)、メモリカード、ブルーレイディスク(Blu-ray(登録商標)Disc)等を用いることができる。
なお、本明細書に記載された効果はあくまで例示であって、限定されるものではなく、また、他の効果があってもよい。
なお、本技術は以下のような構成もとることができる。
(1)所定数のメモリセルと、
前記メモリセルのそれぞれに書込みパルスを供給するドライバと、
前記書込みパルス毎の前記メモリセルのインピーダンスの逆数の変化量の統計量を所定値に制御するコースチューニングと前記統計量を前記所定値より小さい値に制御するファインチューニングとを順に行う制御回路と
を具備する半導体装置。
(2)前記メモリセルのそれぞれには、第1記憶素子および第2記憶素子が設けられる
前記(1)記載の半導体装置。
(3)前記第1記憶素子および前記第2記憶素子は、面積および長さの少なくとも一方が異なる
前記(2)記載の半導体装置。
(4)前記第1記憶素子および前記第2記憶素子は、種類が異なる
前記(2)または(3)に記載の半導体装置。
(5)前記第1記憶素子および前記第2記憶素子は、抵抗変化素子である
前記(2)から(4)のいずれかに記載の半導体装置。
(6)前記第1記憶素子および前記第2記憶素子は、可変容量素子である
前記(2)から(4)のいずれかに記載の半導体装置。
(7)前記ドライバは、第1書込みパルスを供給する第1ドライバと、電圧絶対値およびパルス幅の少なくとも一方が前記第1書込みパルスと異なる第2書込みパルスを供給する第2ドライバとを含む
前記(2)から(6)のいずれかに記載の半導体装置。
(8)前記メモリセルのそれぞれには、第3記憶素子がさらに設けられる
前記(2)記載の半導体装置。
(9)前記第1記憶素子の一端は、第1信号線に接続され、
前記第2記憶素子の一端は、第2信号線に接続され、
前記第1記憶素子および第2記憶素子のそれぞれの他端は、第3信号線に共通に接続される
前記(2)から(8)のいずれかに記載の半導体装置。
(10)前記第1記憶素子および前記第2記憶素子は、前記第1信号線および前記第2信号線が同層に配線された配線層と前記第3信号線が配線された配線層との間に配置される
前記(9)記載の半導体装置。
(11)前記第1記憶素子は、前記第1信号線が配線された第1配線層と前記第3信号線が配線された第3配線層との間に配置され、
前記第2記憶素子は、前記第2信号線が配線された第2配線層と前記第3配線層との間に配置される
前記(9)記載の半導体装置。
(12)前記制御回路は、前記インピーダンスの逆数が更新されるたびに損失を演算して前記損失が飽和した場合には前記ファインチューニングを開始する
前記(1)から(11)のいずれかに記載の半導体装置。
(13)前記制御回路は、前記インピーダンスの逆数が更新されるたびに更新後の前記逆数を取得して前記逆数が飽和した場合には前記ファインチューニングを開始する
前記(1)から(12)のいずれかに記載の半導体装置。
(14)前記メモリセルのそれぞれには、所定数の第1記憶素子と前記所定数に該当しない個数の第2記憶素子とが設けられ、
前記第1記憶素子のそれぞれの一端は、第1信号線に接続され、
前記第2記憶素子のそれぞれの一端は、第2信号線に接続され、
前記第1記憶素子および前記第2記憶素子のそれぞれの他端は、第3信号線に共通に接続される
前記(1)記載の半導体装置。
(15)前記メモリセルのそれぞれには、1個の記憶素子が設けられ、
前記ドライバは、電圧絶対値およびパルス幅の少なくとも一方が異なる第1書込みパルスおよび第2書込みパルスを順に供給する
前記(1)記載の半導体装置。
(1)所定数のメモリセルと、
前記メモリセルのそれぞれに書込みパルスを供給するドライバと、
前記書込みパルス毎の前記メモリセルのインピーダンスの逆数の変化量の統計量を所定値に制御するコースチューニングと前記統計量を前記所定値より小さい値に制御するファインチューニングとを順に行う制御回路と
を具備する半導体装置。
(2)前記メモリセルのそれぞれには、第1記憶素子および第2記憶素子が設けられる
前記(1)記載の半導体装置。
(3)前記第1記憶素子および前記第2記憶素子は、面積および長さの少なくとも一方が異なる
前記(2)記載の半導体装置。
(4)前記第1記憶素子および前記第2記憶素子は、種類が異なる
前記(2)または(3)に記載の半導体装置。
(5)前記第1記憶素子および前記第2記憶素子は、抵抗変化素子である
前記(2)から(4)のいずれかに記載の半導体装置。
(6)前記第1記憶素子および前記第2記憶素子は、可変容量素子である
前記(2)から(4)のいずれかに記載の半導体装置。
(7)前記ドライバは、第1書込みパルスを供給する第1ドライバと、電圧絶対値およびパルス幅の少なくとも一方が前記第1書込みパルスと異なる第2書込みパルスを供給する第2ドライバとを含む
前記(2)から(6)のいずれかに記載の半導体装置。
(8)前記メモリセルのそれぞれには、第3記憶素子がさらに設けられる
前記(2)記載の半導体装置。
(9)前記第1記憶素子の一端は、第1信号線に接続され、
前記第2記憶素子の一端は、第2信号線に接続され、
前記第1記憶素子および第2記憶素子のそれぞれの他端は、第3信号線に共通に接続される
前記(2)から(8)のいずれかに記載の半導体装置。
(10)前記第1記憶素子および前記第2記憶素子は、前記第1信号線および前記第2信号線が同層に配線された配線層と前記第3信号線が配線された配線層との間に配置される
前記(9)記載の半導体装置。
(11)前記第1記憶素子は、前記第1信号線が配線された第1配線層と前記第3信号線が配線された第3配線層との間に配置され、
前記第2記憶素子は、前記第2信号線が配線された第2配線層と前記第3配線層との間に配置される
前記(9)記載の半導体装置。
(12)前記制御回路は、前記インピーダンスの逆数が更新されるたびに損失を演算して前記損失が飽和した場合には前記ファインチューニングを開始する
前記(1)から(11)のいずれかに記載の半導体装置。
(13)前記制御回路は、前記インピーダンスの逆数が更新されるたびに更新後の前記逆数を取得して前記逆数が飽和した場合には前記ファインチューニングを開始する
前記(1)から(12)のいずれかに記載の半導体装置。
(14)前記メモリセルのそれぞれには、所定数の第1記憶素子と前記所定数に該当しない個数の第2記憶素子とが設けられ、
前記第1記憶素子のそれぞれの一端は、第1信号線に接続され、
前記第2記憶素子のそれぞれの一端は、第2信号線に接続され、
前記第1記憶素子および前記第2記憶素子のそれぞれの他端は、第3信号線に共通に接続される
前記(1)記載の半導体装置。
(15)前記メモリセルのそれぞれには、1個の記憶素子が設けられ、
前記ドライバは、電圧絶対値およびパルス幅の少なくとも一方が異なる第1書込みパルスおよび第2書込みパルスを順に供給する
前記(1)記載の半導体装置。
100 半導体装置
110 メモリセルアレイ
115、116、117 配線層
120 メモリセル
121、121-1~121-8、122、123 記憶素子
130、140 切替回路
131、141 セレクタ
132、133、134 nMOSトランジスタ
150 垂直駆動部
151、152、161 ドライバ
160 水平駆動部
170 カラムADC
171 ADC
180 制御回路
181 重み設定更新部
182 予測部
183 損失演算部
184 判定部
190 入出力部
9001 IoTデバイス
9008 コンピュータ
110 メモリセルアレイ
115、116、117 配線層
120 メモリセル
121、121-1~121-8、122、123 記憶素子
130、140 切替回路
131、141 セレクタ
132、133、134 nMOSトランジスタ
150 垂直駆動部
151、152、161 ドライバ
160 水平駆動部
170 カラムADC
171 ADC
180 制御回路
181 重み設定更新部
182 予測部
183 損失演算部
184 判定部
190 入出力部
9001 IoTデバイス
9008 コンピュータ
Claims (15)
- 所定数のメモリセルと、
前記メモリセルのそれぞれに書込みパルスを供給するドライバと、
前記書込みパルス毎の前記メモリセルのインピーダンスの逆数の変化量の統計量を所定値に制御するコースチューニングと前記統計量を前記所定値より小さい値に制御するファインチューニングとを順に行う制御回路と
を具備する半導体装置。 - 前記メモリセルのそれぞれには、第1記憶素子および第2記憶素子が設けられる
請求項1記載の半導体装置。 - 前記第1記憶素子および前記第2記憶素子は、面積および長さの少なくとも一方が異なる
請求項2記載の半導体装置。 - 前記第1記憶素子および前記第2記憶素子は、種類が異なる
請求項2記載の半導体装置。 - 前記第1記憶素子および前記第2記憶素子は、抵抗変化素子である
請求項2記載の半導体装置。 - 前記第1記憶素子および前記第2記憶素子は、可変容量素子である
請求項2記載の半導体装置。 - 前記ドライバは、第1書込みパルスを供給する第1ドライバと、電圧絶対値およびパルス幅の少なくとも一方が前記第1書込みパルスと異なる第2書込みパルスを供給する第2ドライバとを含む
請求項2記載の半導体装置。 - 前記メモリセルのそれぞれには、第3記憶素子がさらに設けられる
請求項2記載の半導体装置。 - 前記第1記憶素子の一端は、第1信号線に接続され、
前記第2記憶素子の一端は、第2信号線に接続され、
前記第1記憶素子および第2記憶素子のそれぞれの他端は、第3信号線に共通に接続される
請求項2記載の半導体装置。 - 前記第1記憶素子および前記第2記憶素子は、前記第1信号線および前記第2信号線が同層に配線された配線層と前記第3信号線が配線された配線層との間に配置される
請求項9記載の半導体装置。 - 前記第1記憶素子は、前記第1信号線が配線された第1配線層と前記第3信号線が配線された第3配線層との間に配置され、
前記第2記憶素子は、前記第2信号線が配線された第2配線層と前記第3配線層との間に配置される
請求項9記載の半導体装置。 - 前記制御回路は、前記インピーダンスの逆数が更新されるたびに損失を演算して前記損失が飽和した場合には前記ファインチューニングを開始する
請求項1記載の半導体装置。 - 前記制御回路は、前記インピーダンスの逆数が更新されるたびに更新後の前記逆数を取得して前記逆数が飽和した場合には前記ファインチューニングを開始する
請求項1記載の半導体装置。 - 前記メモリセルのそれぞれには、所定数の第1記憶素子と前記所定数に該当しない個数の第2記憶素子とが設けられ、
前記第1記憶素子のそれぞれの一端は、第1信号線に接続され、
前記第2記憶素子のそれぞれの一端は、第2信号線に接続され、
前記第1記憶素子および前記第2記憶素子のそれぞれの他端は、第3信号線に共通に接続される
請求項1記載の半導体装置。 - 前記メモリセルのそれぞれには、1個の記憶素子が設けられ、
前記ドライバは、電圧絶対値およびパルス幅の少なくとも一方が異なる第1書込みパルスおよび第2書込みパルスを順に供給する
請求項1記載の半導体装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2024-094797 | 2024-06-12 | ||
| JP2024094797 | 2024-06-12 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025258219A1 true WO2025258219A1 (ja) | 2025-12-18 |
Family
ID=98050397
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2025/015044 Pending WO2025258219A1 (ja) | 2024-06-12 | 2025-04-17 | 半導体装置 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025258219A1 (ja) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005050403A (ja) * | 2003-07-30 | 2005-02-24 | Seiko Epson Corp | 半導体記憶装置 |
| JP2010529580A (ja) * | 2007-05-31 | 2010-08-26 | マイクロン テクノロジー, インク. | 複数の抵抗状態を有する相変化メモリ構造、ならびにそのプログラミングおよびセンシング方法 |
| JP2014203505A (ja) * | 2013-04-10 | 2014-10-27 | マイクロンメモリジャパン株式会社 | 半導体装置 |
| WO2020129204A1 (ja) * | 2018-12-20 | 2020-06-25 | Tdk株式会社 | ニューロモーフィック回路、ニューロモーフィックアレイの学習方法およびプログラム |
-
2025
- 2025-04-17 WO PCT/JP2025/015044 patent/WO2025258219A1/ja active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005050403A (ja) * | 2003-07-30 | 2005-02-24 | Seiko Epson Corp | 半導体記憶装置 |
| JP2010529580A (ja) * | 2007-05-31 | 2010-08-26 | マイクロン テクノロジー, インク. | 複数の抵抗状態を有する相変化メモリ構造、ならびにそのプログラミングおよびセンシング方法 |
| JP2014203505A (ja) * | 2013-04-10 | 2014-10-27 | マイクロンメモリジャパン株式会社 | 半導体装置 |
| WO2020129204A1 (ja) * | 2018-12-20 | 2020-06-25 | Tdk株式会社 | ニューロモーフィック回路、ニューロモーフィックアレイの学習方法およびプログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109659933B (zh) | 一种基于深度学习模型的含分布式电源配电网电能质量预测方法 | |
| Starzyk | Memristor crossbar architecture for synchronous neural networks | |
| Chen et al. | Forgetting memristors and memristor bridge synapses with long-and short-term memories | |
| KR102898605B1 (ko) | 전자 장치 및 그 동작 방법 | |
| US7755424B2 (en) | Operational amplifier with resistance switch crossbar feedback | |
| US20220058480A1 (en) | Threshold Variation Compensation of Neurons in Spiking Neural Networks | |
| CN105243454A (zh) | 基于大数据的用电负荷预测系统 | |
| CN113987985A (zh) | 基于忆阻器交叉阵列神经网络加速器热效应优化方法 | |
| CN111459221B (zh) | 一种光伏发电系统mppt控制方法 | |
| CN118426297B (zh) | 一种带pid控制的透明柔性网状电路系统 | |
| JP2020068048A (ja) | 人工ニューラルネットワーク回路及び人工ニューラルネットワーク回路における学習値切替方法 | |
| CN117669676A (zh) | 一种基于忆阻器的感知神经元电路及应用 | |
| CN118693376A (zh) | 电池管理系统的容量均衡管理方法、装置、设备及介质 | |
| CN102354128B (zh) | 一种用于机器人情感模拟的电路及其控制方法 | |
| CN120521275A (zh) | Hvac系统的控制方法、装置、洁净室hvac系统、介质及设备 | |
| CN118641967A (zh) | 基于充电数据片段的锂离子电池健康状态估计方法及系统 | |
| Jiang et al. | What-if: A causal machine learning approach to control-oriented modelling for building thermal dynamics | |
| WO2025258219A1 (ja) | 半導体装置 | |
| CN119088648A (zh) | 一种基于模糊逻辑的电路板低功耗睡眠模式切换方法 | |
| KR102398354B1 (ko) | 전자 장치 및 전자 장치의 동작 방법 | |
| Mbarek et al. | On the design and analysis of a compact array with 1T1R RRAM memory element | |
| Ploysuwan | Deep CNN & LSTM network for appliances energy forecasting in residential houses using IoT sensors | |
| CN109359734B (zh) | 一种基于忆阻器单元的神经网络突触结构及其调节方法 | |
| JPWO2016203757A1 (ja) | 制御装置、それを使用する情報処理装置、制御方法、並びにコンピュータ・プログラム | |
| Raju et al. | Advanced home automation using raspberry pi and machine learning |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 25821570 Country of ref document: EP Kind code of ref document: A1 |