An artificial neural network device that utilizes one or more non-volatile memory arrays as the synapses. The synapses are configured to receive inputs and to generate therefrom outputs. Neurons are configured to receive the outputs. The synapses include a plurality of memory cells, wherein each of the memory cells includes spaced apart source and drain regions formed in a semiconductor substrate with a channel region extending there between, a floating gate disposed over and insulated from a first portion of the channel region and a non-floating gate disposed over and insulated from a second portion of the channel region. Each of the plurality of memory cells is configured to store a weight value corresponding to a number of electrons on the floating gate. The plurality of memory cells are configured to multiply the inputs by the stored weight values to generate the outputs.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A neural network device, comprising: a first plurality of synapses configured to receive a first plurality of inputs and to generate therefrom a first plurality of outputs, wherein the first plurality of synapses comprises: a plurality of memory cells, wherein each of the memory cells includes spaced apart source and drain regions formed in a semiconductor substrate with a channel region extending there between, a floating gate disposed over and insulated from a first portion of the channel region and a non-floating gate disposed over and insulated from a second portion of the channel region; each of the plurality of memory cells is configured to store a weight value corresponding to a number of electrons on the floating gate; the plurality of memory cells are configured to multiply the first plurality of inputs by the stored weight values to generate the first plurality of outputs; a first plurality of neurons configured to receive the first plurality of outputs. 2. The neural network device of claim 1, wherein the first plurality of neurons are configured to generate a first plurality of decisions based upon the first plurality of outputs. 3. The neural network device of claim 2, further comprising: a second plurality of synapses configured to receive a second plurality of inputs based upon the first plurality of decisions and to generate therefrom a second plurality of outputs, wherein the second plurality of synapses comprises: a plurality of second memory cells, wherein each of the second memory cells includes spaced apart second source and second drain regions formed in the semiconductor substrate with a second channel region extending there between, a second floating gate disposed over and insulated from a first portion of the second channel region and a second non-floating gate disposed over and insulated from a second portion of the second channel region; each of the plurality of second memory cells is configured to store a second weight value corresponding to a number of electrons on the second floating gate; the plurality of second memory cells are configured to multiply the second plurality of inputs by the stored second weight values to generate the second plurality of outputs; a second plurality of neurons configured to receive the second plurality of outputs. 4. The neural network device of claim 3, wherein the second plurality of neurons are configured to generate a second plurality of decisions based upon the second plurality of outputs. 5. The neural network device of claim 1, wherein each of the memory cells of the first plurality of synapses further comprises: a second non-floating gate disposed over and insulated from the source region; and a third non-floating gate disposed over and insulated from the floating gate. 6. The neural network device of claim 5, wherein the memory cells of the first plurality of synapses are arranged in rows and columns, and wherein the first plurality of synapses comprises: a plurality of first lines each electrically connecting together the first non-floating gates in one of the rows of the memory cells; a plurality of second lines each electrically connecting together the second non-floating gates in one of the columns of the memory cells; a plurality of third lines each electrically connecting together the third non-floating gates in one of the rows of the memory cells; a plurality of fourth lines each electrically connecting together the source regions in one of the rows of the memory cells; a plurality of fifth lines each electrically connecting together the drain regions in one of the columns of the memory cells; wherein the first plurality of synapses is configured to receive the first plurality of inputs on the plurality of first lines, and to provide the first plurality of outputs on the plurality of fifth lines. 7. The neural network device of claim 6, wherein for each of the plurality of fifth lines, one of the first plurality of outputs is provided thereon which is a sum of currents through the memory cells multiplied by respective weight values stored in the memory cells, for all of the memory cells in the one column of the memory cells. 8. The neural network device of claim 6, further comprising: circuitry for logarithmically converting current of the first plurality of inputs to voltage before the receiving of the first plurality of inputs on the plurality of first lines. 9. The neural network device of claim 5, wherein the memory cells of the first plurality of synapses are arranged in rows and columns, and wherein the first plurality of synapses comprises: a plurality of first lines each electrically connecting together the first non-floating gates in one of the rows of the memory cells; a plurality of second lines each electrically connecting together the second non-floating gates in one of the rows of the memory cells; a plurality of third lines each electrically connecting together the third non-floating gates in one of the rows of the memory cells; a plurality of fourth lines each electrically connecting together the source regions in one of the columns of the memory cells; a plurality of fifth lines each electrically connecting together the drain regions in one of the columns of the memory cells; wherein the first plurality of synapses is configured to receive the first plurality of inputs on the plurality of first lines, and to provide the first plurality of outputs on the plurality of fifth lines. 10. The neural network device of claim 9, wherein for each of the plurality of fifth lines, one of the second plurality of outputs is provided thereon which is a sum of currents through the memory cells multiplied by respective weight values stored in the memory cells, for all of the memory cells in the one column of the memory cells. 11. The neural network device of claim 5, wherein the memory cells of the first plurality of synapses are arranged in rows and columns, and wherein the first plurality of synapses comprises: a plurality of first lines each electrically connecting together the first non-floating gates of odd row memory cells in one of the columns of the memory cells; a plurality of second lines each electrically connecting together the first non-floating gates of even row memory cells in one of the columns of the memory cells; a plurality of third lines each electrically connecting together the second non-floating gates in one of the columns of the memory cells; a plurality of fourth lines each electrically connecting together the third non-floating gates in one of the rows of the memory cells; a plurality of fifth lines each electrically connecting together the source regions in one of the rows of the memory cells; a plurality of sixth lines each electrically connecting together the drain regions in one of the columns of the memory cells; wherein the first plurality of synapses is configured to receive some of the first plurality of inputs on the plurality of first lines and others of the first plurality of inputs on the plurality of second lines, and to provide the first plurality of outputs on the plurality of fifth lines. 12. The neural network device of claim 11, wherein for each of the plurality of fifth lines, one of the first plurality of outputs is provided thereon which is a sum of currents through the memory cells multiplied by respective weight values stored in the memory cells, for all of the memory cells in the one row of the memory cells. 13. The neural network device of claim 5, wherein the memory cells of the first plurality of synapses are arranged in rows and columns, and wherein the first plurality of synapses comprises: a plurality of first lines each electrically connecting together the first non-floating gates of odd row memory cells in one of the columns of the memory cells; a plurality of second lines each electrically connecting together the first non-floating gates of even row memory cells in one of the columns of the memory cells; a plurality of third lines each electrically connecting together the second non-floating gates in one of the columns of the memory cells; a plurality of fourth lines each electrically connecting together the third non-floating gates in one of the rows of the memory cells; a plurality of fifth lines each electrically connecting together the source regions in one of the rows of the memory cells; a plurality of sixth lines each electrically connecting together odd drain regions in one of the columns of the memory cells; a plurality of seventh lines each electrically connecting together even drain regions in one of the columns of the memory cells; wherein the first plurality of synapses is configured to receive some of the first plurality of inputs on the plurality of first lines and others of the first plurality of inputs on the plurality of second lines, and to provide the first plurality of outputs on the plurality of fifth lines. 14. The neural network device of claim 13, wherein for each of the plurality of fifth lines, one of the first plurality of outputs is provided thereon which is a sum of differential outputs from pairs of the memory cells for all of the memory cell pairs in the one row of the memory cells, and wherein each of the differential outputs is a difference between currents through one of the pairs of the memory cells multiplied by respective weight values stored in the one pair of memory cells. 15. The neural network device of claim 5, wherein the memory cells of the first plurality of synapses are arranged in rows and columns, and wherein the first plurality of synapses comprises: a plurality of first lines each electrically connecting together the first non-floating gates of odd row memory cells in one of the columns of the memory cells; a plurality of second lines each electrically connecting together the first non-floating gates of even row memory cells in one of the columns of the memory cells; a plurality of third lines each electrically connecting together the second non-floating gates in one of the row of the memory cells; a plurality of fourth lines each electrically connecting together the third non-floating gates of odd row memory cells in one of the columns of the memory cells; a plurality of fifth lines each electrically connecting together the third non-floating gates of even row memory cells in one of the columns of the memory cells; a plurality of sixth lines each electrically connecting together the source regions in one of the rows of the memory cells; a plurality of seventh lines each electrically connecting together odd drain regions in one of the columns of the memory cells; a plurality of eighth lines each electrically connecting together even drain regions in one of the columns of the memory cells; wherein the first plurality of synapses is configured to receive some of the first plurality of inputs on the plurality of first lines and others of the first plurality of inputs on the plurality of second lines, and to provide the first plurality of outputs on the plurality of sixth lines. 16. The neural network device of claim 15, wherein for each of the plurality of sixth lines, one of the first plurality of outputs is provided thereon which is a sum of differential outputs from pairs of the memory cells for all of the memory cell pairs in the one row of the memory cells, and wherein each of the differential outputs is a difference between currents through one of the pairs of the memory cells multiplied by respective weight values stored in the one pair of memory cells. 17. The neural network device of claim 5, wherein the memory cells of the first plurality of synapses are arranged in rows and columns, and wherein the first plurality of synapses comprises: a plurality of first lines each electrically connecting together the first non-floating gates in one of the rows of the memory cells; a plurality of second lines each electrically connecting together the second non-floating gates in one of the rows of the memory cells; a plurality of third lines each electrically connecting together the third non-floating gates in one of the rows of the memory cells; a plurality of fourth lines each electrically connecting together the source regions in one of the columns of the memory cells; a plurality of fifth lines each electrically connecting together the drain regions in one of the columns of the memory cells; wherein the first plurality of synapses is configured to receive the first plurality of inputs on the plurality of first lines, and to provide the first plurality of outputs on the plurality of fourth lines. 18. The neural network device of claim 17, wherein for each of the plurality of fourth lines, one of the first plurality of outputs is provided thereon which is a sum of currents through the memory cells multiplied by respective weight values stored in the memory cells, for all of the memory cells in the one column of the memory cells. 19. The neural network device of claim 1, wherein the memory cells of the first plurality of synapses are arranged in rows and columns, and wherein the first plurality of synapses comprises: a plurality of first lines each electrically connecting together the first non-floating gates in one of the rows of the memory cells; a plurality of second lines each electrically connecting together the source regions in one of the columns of the memory cells; a plurality of third lines each electrically connecting together the drain regions in one of the columns of the memory cells; wherein the first plurality of synapses is configured to receive the first plurality of inputs on the plurality of first lines, and to provide the first plurality of outputs on the plurality of third lines. 20. The neural network device of claim 19, wherein for each of the plurality of third lines, one of the first plurality of outputs is provided thereon which is a sum of currents through the memory cells multiplied by respective weight values stored in the memory cells, for all of the memory cells in the one column of the memory cells. 21. The neural network device of claim 1, wherein the memory cells of the first plurality of synapses are arranged in rows and columns, and wherein the first plurality of synapses comprises: a plurality of first lines each electrically connecting together the first non-floating gates of odd row memory cells in one of the columns of the memory cells; a plurality of second lines each electrically connecting together the first non-floating gates of even row memory cells in one of the columns of the memory cells; a plurality of third lines each electrically connecting together the source regions in one of the rows of the memory cells; a plurality of fourth lines each electrically connecting together the drain regions in one of the columns of the memory cells; wherein the first plurality of synapses is configured to receive some of the first plurality of inputs on the plurality of first lines and others of the first plurality of inputs on the plurality of second lines, and to provide the first plurality of outputs on the plurality of third lines. 22. The neural network device of claim 21, wherein for each of the plurality of third lines, one of the first plurality of outputs is provided thereon which is a sum of differential outputs from pairs of the memory cells for all of the memory cell pairs in the one row of the memory cells, and wherein each of the differential outputs is a difference between currents through one of the pairs of the memory cells multiplied by respective weight values stored in the one pair of memory cells. 23. The neural network device of claim 5, wherein the memory cells of the first plurality of synapses are arranged in rows and columns, and wherein the first plurality of synapses comprises: a plurality of first lines each electrically connecting together some but not all of the first non-floating gates in one of the rows of the memory cells and some but not all of the first non-floating gates in another one of the rows of the memory cells; a plurality of second lines each electrically connecting together the second non-floating gates in one of the columns of the memory cells; a plurality of third lines each electrically connecting together the third non-floating gates in one of the rows of the memory cells; a plurality of fourth lines each electrically connecting together the source regions in one of the rows of the memory cells; a plurality of fifth lines each electrically connecting together the drain regions in one of the columns of the memory cells; wherein the first plurality of synapses is configured to receive the first plurality of inputs on the plurality of first lines, and to provide the first plurality of outputs on the plurality of fifth lines. 24. The neural network device of claim 5, wherein the memory cells of the first plurality of synapses are arranged in rows and columns, and wherein the first plurality of synapses comprises: a plurality of first lines each electrically connecting together some but not all of the first non-floating gates in one of the rows of the memory cells and some but not all of the first non-floating gates in another one of the rows of the memory cells; a plurality of second lines each electrically connecting together the second non-floating gates in one of the rows of the memory cells; a plurality of third lines each electrically connecting together the third non-floating gates in one of the rows of the memory cells; a plurality of fourth lines each electrically connecting together the source regions in one of the columns of the memory cells; a plurality of fifth lines each electrically connecting together the drain regions in one of the columns of the memory cells; wherein the first plurality of synapses is configured to receive the first plurality of inputs on the plurality of first lines, and to provide the first plurality of outputs on the plurality of fifth lines. 25. The neural network device of claim 5, wherein the memory cells of the first plurality of synapses are arranged in rows and columns, and wherein the first plurality of synapses comprises: a plurality of first lines each electrically connecting together some but not all of the first non-floating gates of odd row memory cells in one of the columns of the memory cells and some but not all of the first non-floating gates of odd row memory cells in another one of the columns of the memory cells; a plurality of second lines each electrically connecting together some but not all of the first non-floating gates of even row memory cells in one of the columns of the memory cells and some but not all of the first non-floating gates of even row memory cells in another one of the columns of the memory cells; a plurality of third lines each electrically connecting together the second non-floating gates in one of the columns of the memory cells; a plurality of fourth lines each electrically connecting together the third non-floating gates in one of the rows of the memory cells; a plurality of fifth lines each electrically connecting together the source regions in one of the rows of the memory cells; a plurality of sixth lines each electrically connecting together the drain regions in one of the columns of the memory cells; wherein the first plurality of synapses is configured to receive some of the first plurality of inputs on the plurality of first lines and others of the first plurality of inputs on the plurality of second lines, and to provide the first plurality of outputs on the plurality of fifth lines. 26. The neural network device of claim 5, wherein the memory cells of the first plurality of synapses are arranged in rows and columns, and wherein the first plurality of synapses comprises: a plurality of first lines each electrically connecting together some but not all of the first non-floating gates of odd row memory cells in one of the columns of the memory cells and some but not all of the first non-floating gates of odd row memory cells in another one of the columns of the memory cells; a plurality of second lines each electrically connecting together some but not all of the first non-floating gates of even row memory cells in one of the columns of the memory cells and some but not all of the first non-floating gates of even row memory cells in another one of the columns of the memory cells; a plurality of third lines each electrically connecting together the second non-floating gates in one of the columns of the memory cells; a plurality of fourth lines each electrically connecting together the third non-floating gates in one of the rows of the memory cells; a plurality of fifth lines each electrically connecting together the source regions in one of the rows of the memory cells; a plurality of sixth lines each electrically connecting together odd drain regions in one of the columns of the memory cells; a plurality of seventh lines each electrically connecting together even drain regions in one of the columns of the memory cells; wherein the first plurality of synapses is configured to receive some of the first plurality of inputs on the plurality of first lines and others of the first plurality of inputs on the plurality of second lines, and to provide the first plurality of outputs on the plurality of fifth lines. 27. The neural network device of claim 5, wherein the memory cells of the first plurality of synapses are arranged in rows and columns, and wherein the first plurality of synapses comprises: a plurality of first lines each electrically connecting together some but not all of the first non-floating gates of odd row memory cells in one of the columns of the memory cells and some but not all of the first non-floating gates of odd row memory cells in another one of the columns of the memory cells; a plurality of second lines each electrically connecting together some but not all of the first non-floating gates of even row memory cells in one of the columns of the memory cells and some but not all of the first non-floating gates of even row memory cells in another one of the columns of the memory cells; a plurality of third lines each electrically connecting together the second non-floating gates in one of the row of the memory cells; a plurality of fourth lines each electrically connecting together the third non-floating gates of odd row memory cells in one of the columns of the memory cells; a plurality of fifth lines each electrically connecting together the third non-floating gates of even row memory cells in one of the columns of the memory cells; a plurality of sixth lines each electrically connecting together the source regions in one of the rows of the memory cells; a plurality of seventh lines each electrically connecting together odd drain regions in one of the columns of the memory cells; a plurality of eighth lines each electrically connecting together even drain regions in one of the columns of the memory cells; wherein the first plurality of synapses is configured to receive some of the first plurality of inputs on the plurality of first lines and others of the first plurality of inputs on the plurality of second lines, and to provide the first plurality of outputs on the plurality of sixth lines. 28. The neural network device of claim 5, wherein the memory cells of the first plurality of synapses are arranged in rows and columns, and wherein the first plurality of synapses comprises: a plurality of first lines each electrically connecting together some but not all of the first non-floating gates in one of the rows of the memory cells and some but not all of the first non-floating gates in another one of the rows of the memory cells; a plurality of second lines each electrically connecting together the second non-floating gates in one of the rows of the memory cells; a plurality of third lines each electrically connecting together the third non-floating gates in one of the rows of the memory cells; a plurality of fourth lines each electrically connecting together the source regions in one of the columns of the memory cells; a plurality of fifth lines each electrically connecting together the drain regions in one of the columns of the memory cells; wherein the first plurality of synapses is configured to receive the first plurality of inputs on the plurality of first lines, and to provide the first plurality of outputs on the plurality of fourth lines. 29. The neural network device of claim 1, wherein the memory cells of the first plurality of synapses are arranged in rows and columns, and wherein the first plurality of synapses comprises: a plurality of first lines each electrically connecting together some but not all of the first non-floating gates in one of the rows of the memory cells and some but not all of the first non-floating gates in another one of the rows of the memory cells; a plurality of second lines each electrically connecting together the source regions in one of the columns of the memory cells; a plurality of third lines each electrically connecting together the drain regions in one of the columns of the memory cells; wherein the first plurality of synapses is configured to receive the first plurality of inputs on the plurality of first lines, and to provide the first plurality of outputs on the plurality of third lines. 30. The neural network device of claim 19, wherein for each of the plurality of third lines, one of the first plurality of outputs is provided thereon which is a sum of currents through the memory cells multiplied by respective weight values stored in the memory cells, for all of the memory cells in the one column of the memory cells. 31. The neural network device of claim 1, wherein the memory cells of the first plurality of synapses are arranged in rows and columns, and wherein the first plurality of synapses comprises: a plurality of first lines each electrically connecting together some but not all of the first non-floating gates of odd row memory cells in one of the columns of the memory cells and some but not all of the first non-floating gates of odd row memory cells in another one of the columns of the memory cells; a plurality of second lines each electrically connecting together some but not all of the first non-floating gates of even row memory cells in one of the columns of the memory cells and some but not all of the first non-floating gates of even row memory cells in another one of the columns of the memory cells; a plurality of third lines each electrically connecting together the source regions in one of the rows of the memory cells; a plurality of fourth lines each electrically connecting together the drain regions in one of the columns of the memory cells; wherein the first plurality of synapses is configured to receive some of the first plurality of inputs on the plurality of first lines and others of the first plurality of inputs on the plurality of second lines, and to provide the first plurality of outputs on the plurality of third lines.