Programming analog neural memory cells in deep learning artificial neural network
Numerous embodiments are disclosed for a high voltage generation algorithm and system for generating high voltages necessary for a particular programming operation in analog neural memory used in a deep learning artificial neural network. Compensation measures can be utilized that compensate for changes in voltage or current as the number of cells being programmed changes.
1. A method for programming a plurality of selected memory cells in an array of memory cells, the method comprising:
receiving a program pulse signal; and
programming the plurality of selected memory cells using programming durations, wherein the programming durations comprise a plurality of different durations beginning on different edges of the program pulse signal and ending on a same edge of the program pulse signal.
2. The method of claim 1 , wherein the array is a vector matrix multiplier.
3. The method of claim 2 , where the selected memory cells are split-gate flash memory cells.
4. The method of claim 2 , wherein the selected memory cells are stacked-gate flash memory cells.
5. A method for programming a plurality of non-volatile memory cells in an array of non-volatile memory cells, comprising:
receiving an input signal to program the plurality of non-volatile memory cells; and
applying a plurality of programming signals to the plurality of non-volatile memory cells, wherein each of the plurality of non-volatile memory cells receives one of the plurality of programming signals and a programming voltage when the programming signal is asserted and at least two of the plurality of programming signals are asserted at different start times and all of the plurality of programming signals are deasserted at a same end time.
6. The method of claim 5 , wherein the array is a vector matrix multiplier.
7. The method of claim 6 , where the non-volatile memory cells are split-gate flash memory cells.
8. The method of claim 6 , wherein the non-volatile memory cells are stacked-gate flash memory cells.