Input circuitry for analog neural memory in a deep learning artificial neural network
Numerous embodiments of input circuitry for an analog neural memory in a deep learning artificial neural network are disclosed.
1 . An input block for providing an input to a vector-by-matrix multiplication array in a neural memory system, the vector-by-matrix multiplication array comprising non-volatile memory cells arranged in rows and columns, the input block comprising:
a global digital-to-analog converter;
a plurality of row registers, each row register corresponding to a row in the array and storing digital input data for the row; and
a plurality of row sample-and-hold buffers, each row sample-and-hold buffer corresponding to a row in the array;
wherein when the digital input data for a row matches a clock count resulting from counting a clock signal during an interval, the global digital-to-analog converter converts the digital input data into an analog value that is sampled and held by the row sample-and-hold buffer corresponding to the selected row and applied to a line coupled to the selected row.
2 . The input block of claim 1 , wherein the global digital-to-analog converter comprises a linear digital-to-analog converter.
3 . The input block of claim 1 , wherein the global digital-to-analog converter comprises a logarithmic digital-to-analog converter.
4 . The input block of claim 1 , wherein the global digital-to-analog converter comprises a digital-to-analog converter for odd rows and another digital-to-analog converter for even rows.
5 . The input block of claim 1 , wherein the global digital-to-analog converter comprises a row decoder that selects the selected row in response to a row address.
6 . The input block of claim 1 , wherein each row sample-and-hold buffer comprises a switch and a capacitor, wherein when the switch is closed it applies an analog input to the capacitor.
7 . The input block of claim 6 , wherein each row sample-and-hold buffer further comprises a buffer for outputting a value reflective of a value stored in the capacitor.