IP Library Granted Patent US 12,541,679
Granted Patent B2
US 12,541,679 · App. 18/126,233 · Granted Feb 3, 2026

Method of scanning an image using non-volatile memory array neural network classifier

Inventors: Farnood Merrikh Bayat (Goleta, CA); Xinjie Guo (Goleta, CA); Dmitri Strukov (Goleta, CA); Nhan Do (Saratoga, CA); Hieu Van Tran (San Jose, CA); Vipin Tiwari (Dublin, CA); Mark Reiten (Alamo, CA)
Assignee: Silicon Storage Technology, Inc.
G11C11/54G06F3/061G06F3/0655G06F3/0688G06N3/04G06N3/045G06N3/063G11C16/08G11C16/12G11C16/16G11C16/3436G11C29/38
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,541,679
App. No.
18/126,233
Granted
Feb 3, 2026
Kind
B2
Abstract

A method of scanning N×N pixels using a vector-by-matrix multiplication array by (a) associating a filter of M×M pixels adjacent first vertical and horizontal edges, (b) providing values for the pixels associated with different respective rows of the filter to input lines of different respective N input line groups, (c) shifting the filter horizontally by X pixels, (d) providing values for the pixels associated with different respective rows of the horizontally shifted filter to input lines, of different respective N input line groups, which are shifted by X input lines, (e) repeating steps (c) and (d) until a second vertical edge is reached, (f) shifting the filter horizontally to be adjacent the first vertical edge, and shifting the filter vertically by X pixels, (g) repeating steps (b) through (e) for the vertically shifted filter, and (h) repeating steps (f) and (g) until a second horizontal edge is reached.

Claims (60)

1 . A method of scanning a matrix of N×N pixels of an image having N rows of pixels and N columns of pixels using a vector-by-matrix multiplication array that includes rows and columns of non-volatile memory cells configured to store weights, the vector-by-matrix multiplication array configured to receive inputs on input lines that are multiplied by the weights to generate outputs on output lines, the input lines comprise N input line groups each including N of the input lines, the method comprising:

(a) associating a filter with a matrix of M×M pixels of the matrix of N×N pixels adjacent a first vertical edge and a first horizontal edge of the matrix of N×N pixels, where M is less than N;

(b) providing values for the pixels associated with different respective rows of the filter to input lines of different respective N input line groups;

(c) shifting the filter horizontally along the matrix of N×N pixels by X pixels away from the first vertical edge;

(d) providing values for the pixels associated with different respective rows of the horizontally shifted filter to input lines, of different respective N input line groups, which are shifted by X input lines for each of the respective N input line groups;

(e) repeating steps (c) and (d) until a second vertical edge of the matrix of N×N pixels is reached;

(f) shifting the filter horizontally to be adjacent the first vertical edge, and shifting the filter vertically by X pixels away from the first horizontal edge;

(g) repeating steps (b) through (e) for the vertically shifted filter; and

(h) repeating steps (f) and (g) until a second horizontal edge of the matrix of N×N pixels is reached.

2 . The method of claim 1 , wherein X equals 2 and M equals 6.

3 . The method of claim 1 , wherein each of the non-volatile 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 first non-floating gate disposed over and insulated from a second portion of the channel region.

4 . The method of claim 3 , wherein each of the non-volatile memory cells includes 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.

5 . The method of claim 4 , wherein:

each of the input lines electrically connects together the first non-floating gates in one of the rows of the non-volatile memory cells; and

each of the output lines electrically connects together the drain regions in one of the columns of the non-volatile memory cells.

6 . The method of claim 5 , wherein the vector-by-matrix multiplication array comprises:

a plurality of first lines each electrically connecting together the second non-floating gates in one of the columns of the non-volatile memory cells;

a plurality of second lines each electrically connecting together the third non-floating gates in one of the rows of the non-volatile memory cells; and

a plurality of third lines each electrically connecting together the source regions in one of the rows of the non-volatile memory cells.

7 . The method of claim 5 , wherein the vector-by-matrix multiplication array comprises:

a plurality of first lines each electrically connecting together the second non-floating gates in one of the rows of the non-volatile memory cells;

a plurality of second lines each electrically connecting together the third non-floating gates in one of the rows of the non-volatile memory cells; and

a plurality of third lines each electrically connecting together the source regions in one of the columns of the non-volatile memory cells.

8 . The method of claim 4 , wherein:

a first plurality of the input lines each electrically connects together the first non-floating gates of odd row non-volatile memory cells in one of the columns of the non-volatile memory cells;

a second plurality of the input lines each electrically connects together the first non-floating gates of even row non-volatile memory cells in one of the columns of the non-volatile memory cells; and

each of the output lines electrically connects together the source regions in one of the rows of the non-volatile memory cells.

9 . The method of claim 8 , wherein the vector-by-matrix multiplication array comprises:

a plurality of first lines each electrically connecting together the second non-floating gates in one of the columns of the non-volatile memory cells;

a plurality of second lines each electrically connecting together the third non-floating gates in one of the rows of the non-volatile memory cells; and

a plurality of third lines each electrically connecting together the drain regions in one of the columns of the non-volatile memory cells.

10 . The method of claim 8 , wherein the vector-by-matrix multiplication array comprises:

a plurality of first lines each electrically connecting together the second non-floating gates in one of the columns of the non-volatile memory cells;

a plurality of second lines each electrically connecting together the third non-floating gates in one of the rows of the non-volatile memory cells;

a plurality of third lines each electrically connecting together the drain regions of odd row non-volatile memory cells in one of the columns of the non-volatile memory cells; and

a plurality of fourth lines each electrically connecting together the drain regions of even row non-volatile memory cells in one of the columns of the non-volatile memory cells.

11 . The method of claim 8 , wherein the vector-by-matrix multiplication array comprises:

a plurality of first lines each electrically connecting together the second non-floating gates in one of the rows of the non-volatile memory cells;

a plurality of second lines each electrically connecting together the third non-floating gates of odd row non-volatile memory cells in one of the columns of the non-volatile memory cells;

a plurality of third lines each electrically connecting together the third non-floating gates of even row non-volatile memory cells in one of the columns of the non-volatile memory cells;

a plurality of fourth lines each electrically connecting together the drain regions of odd row non-volatile memory cells in one of the columns of the non-volatile memory cells; and

a plurality of fifth lines each electrically connecting together the drain regions of even row non-volatile memory cells in one of the columns of the non-volatile memory cells.

12 . The method of claim 4 , wherein:

each of the input lines electrically connects together the first non-floating gates in one of the rows of the non-volatile memory cells; and

each of the output lines electrically connects together the source regions in one of the columns of the non-volatile memory cells.

13 . The method of claim 12 , wherein the vector-by-matrix multiplication array comprises:

a plurality of first lines each electrically connecting together the second non-floating gates in one of the rows of the non-volatile memory cells;

a plurality of second lines each electrically connecting together the third non-floating gates in one of the rows of the non-volatile memory cells; and

a plurality of third lines each electrically connecting together the drain regions in one of the columns of the non-volatile memory cells.

14 . The method of claim 3 , wherein:

each of the input lines electrically connects together the first non-floating gates in one of the rows of the non-volatile memory cells; and

each of the output lines electrically connects together the drain regions in one of the columns of the non-volatile memory cells.

15 . The method of claim 14 , wherein the vector-by-matrix multiplication array comprises:

a plurality of first lines each electrically connecting together the source regions in one of the columns of the non-volatile memory cells.

16 . The method of claim 3 , wherein:

a first plurality of the input lines each electrically connects together the first non-floating gates of odd row non-volatile memory cells in one of the columns of the non-volatile memory cells;

a second plurality of the input lines each electrically connects together the first non-floating gates of even row non-volatile memory cells in one of the columns of the non-volatile memory cells; and

each of the output lines electrically connects together the source regions in one of the rows of the non-volatile memory cells.

17 . The method of claim 16 , wherein the vector-by-matrix multiplication array comprises:

a plurality of first lines each electrically connecting together the drain regions in one of the columns of the non-volatile memory cells.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2025
From: BAYAT, FARNOOD MERRIKH; STRUKOV, DMITRI B.; GUO, XINJIE; DO, NHAN; TRAN, HIEU VAN; TIWARI, VIPIN; REITEN, MARK
To: SILICON STORAGE TECHNOLOGY, INC.
Reel/Frame 070944/0582 →
Continuity (4)
Division 17580862 · Jan 21, 2022
Continuation 15594439 · May 12, 2017
Provisional Application 62337760 · May 17, 2016
Related Publication 20230252265A1 · Aug 10, 2023
References Cited (160)
US 4810910A · Schoellikopf · 1989 [cited by applicant]
US 4904881A · Castro · 1990 [cited by applicant]
US 4950917A · Holler · 1990 [cited by applicant]
US 4961002A · Tam · 1990 [cited by applicant]
US 5028810A · Castro · 1991 [cited by applicant]
US 5029130A · Yeh · 1991 [cited by applicant]
US 5055897A · Canepa · 1991 [cited by applicant]
US 5097441A · Cho · 1992 [cited by applicant]
US 5138576A · Madurawe · 1992 [cited by applicant]
US 5146602A · Holler · 1992 [cited by applicant]
US 5150450A · Swenson · 1992 [cited by applicant]
US 5242848A · Yeh · 1993 [cited by applicant]
US 5256911A · Holler · 1993 [cited by applicant]
US 5264734A · Holler · 1993 [cited by applicant]
US 5298796A · Tawel · 1994 [cited by applicant]
US 5336936A · Allen · 1994 [cited by applicant]
US 5386132A · Wong · 1995 [cited by applicant]
US 5469397A · Hoshino · 1995 [cited by applicant]
US 5509106A · Pechanek · 1996 [cited by applicant]
US 5554874A · Doluca · 1996 [cited by applicant]
US 5621336A · Shibata · 1997 [cited by applicant]
US 5643814A · Chung · 1997 [cited by applicant]
US 5721702A · Briner · 1998 [cited by applicant]
US 5748534A · Dunlap · 1998 [cited by applicant]
US 5768561A · Wise · 1998 [cited by examiner]
US 5914894A · Diorio · 1999 [cited by applicant]
US 5966332A · Takano · 1999 [cited by applicant]
US 5990512A · Diorio · 1999 [cited by applicant]
US 6144584A · Kunori · 2000 [cited by applicant]
US 6222777B1 · Khieu · 2001 [cited by applicant]
US 6232180B1 · Chen · 2001 [cited by applicant]
US 6282119B1 · Tsen · 2001 [cited by applicant]
US 6389404B1 · Carson · 2002 [cited by applicant]
US 6683645B1 · Collins · 2004 [cited by applicant]
US 6747310B2 · Fan · 2004 [cited by applicant]
US 6829598B2 · Miley · 2004 [cited by applicant]
US 7315056B2 · Klinger · 2008 [cited by applicant]
US 7663916B2 · Chih · 2010 [cited by applicant]
US 7668013B2 · Chern · 2010 [cited by applicant]
US 7868375B2 · Liu et al. · 2011 [cited by applicant]
US 9430735B1 · Vali · 2016 [cited by applicant]
US 10217512B1 · Leobandung · 2019 [cited by applicant]
US 10269440B2 · Guo · 2019 [cited by applicant]
US 10474948B2 · Yakopcic · 2019 [cited by applicant]
US 10741611B1 · Leobandung · 2020 [cited by applicant]
US 20020089014A1 · Chern · 2002 [cited by applicant]
US 20020186874A1 · Price · 2002 [cited by examiner]
US 20030034510A1 · Liu · 2003 [cited by applicant]
US 20030052360A1 · Guterman · 2003 [cited by applicant]
US 20030183871A1 · Dugger et al. · 2003 [cited by applicant]
US 20040095809A1 · Sakamoto · 2004 [cited by applicant]
US 20040125655A1 · Tsai · 2004 [cited by applicant]
US 20040150032A1 · Wu · 2004 [cited by applicant]
US 20040155234A1 · Ishimaru · 2004 [cited by applicant]
US 20040156241A1 · Mokhlesi et al. · 2004 [cited by applicant]
US 20040251949A1 · Shi · 2004 [cited by applicant]
US 20050087892A1 · Hsu · 2005 [cited by applicant]
US 20050122238A1 · Nomura · 2005 [cited by applicant]
US 20060104120A1 · Hemink · 2006 [cited by applicant]
US 20060170038A1 · Wong · 2006 [cited by applicant]
US 20060244748A1 · Long · 2006 [cited by examiner]
US 20070171756A1 · Lambrache · 2007 [cited by applicant]
US 20080304345A1 · Kwean · 2008 [cited by applicant]
US 20090103361A1 · Wang · 2009 [cited by applicant]
US 20090109760A1 · Nazarian · 2009 [cited by applicant]
US 20090154246A1 · Liu · 2009 [cited by applicant]
US 20090192958A1 · Todorokihara · 2009 [cited by applicant]
US 20100046299A1 · Roohparvar · 2010 [cited by applicant]
US 20100290292A1 · Tanizaki · 2010 [cited by applicant]
US 20110007366A1 · Sarkar · 2011 [cited by examiner]
US 20110161625A1 · Pechanek · 2011 [cited by applicant]
US 20110235419A1 · Ishimaru · 2011 [cited by applicant]
US 20120068872A1 · Baker · 2012 [cited by applicant]
US 20120082242A1 · Narroschke · 2012 [cited by examiner]
US 20120087188A1 · Hsieh et al. · 2012 [cited by applicant]
US 20120136913A1 · Duong · 2012 [cited by applicant]
US 20130044544A1 · Shiino · 2013 [cited by applicant]
US 20130100756A1 · Liao et al. · 2013 [cited by applicant]
US 20140054667A1 · Tkachev · 2014 [cited by applicant]
US 20140140132A1 · Gu · 2014 [cited by applicant]
US 20140233659A1 · Narroschke · 2014 [cited by examiner]
US 20140269062A1 · Do · 2014 [cited by applicant]
US 20140310220A1 · Chang · 2014 [cited by applicant]
US 20150106315A1 · Birdwell · 2015 [cited by applicant]
US 20150138183A1 · Kishi · 2015 [cited by applicant]
US 20150178619A1 · Nishitani · 2015 [cited by applicant]
US 20150199963A1 · Maaninen · 2015 [cited by applicant]
US 20150213898A1 · Do · 2015 [cited by applicant]
US 20150262055A1 · Akopyan · 2015 [cited by applicant]
US 20150324691A1 · Dropps · 2015 [cited by applicant]
US 20150371711A1 · Choy · 2015 [cited by applicant]
US 20160042790A1 · Tran · 2016 [cited by applicant]
US 20160048755A1 · Freyman · 2016 [cited by applicant]
US 20160093382A1 · Sakamoto · 2016 [cited by applicant]
US 20160133639A1 · Tran · 2016 [cited by applicant]
US 20160180945A1 · Ng · 2016 [cited by applicant]
US 20160254269A1 · Kim et al. · 2016 [cited by applicant]
US 20170330070A1 · Sengupta · 2017 [cited by applicant]
US 20170337466A1 · Bayat · 2017 [cited by applicant]
US 20170337971A1 · Tran · 2017 [cited by applicant]
US 20170337980A1 · Guo · 2017 [cited by applicant]
US 20180004708A1 · Muralimanohar · 2018 [cited by applicant]
US 20180095930A1 · Lu · 2018 [cited by applicant]
US 20180165573A1 · Hsu · 2018 [cited by applicant]
US 20180174034A1 · Obradovic · 2018 [cited by applicant]
US 20180268912A1 · Guo et al. · 2018 [cited by applicant]
US 20180293487A1 · Copel et al. · 2018 [cited by applicant]
US 20190019538A1 · Li · 2019 [cited by applicant]
US 20190019564A1 · Li · 2019 [cited by applicant]
US 20190042199A1 · Sumbul · 2019 [cited by applicant]
US 20190088325A1 · Tiwari et al. · 2019 [cited by applicant]
US 20190088329A1 · Tiwari · 2019 [cited by applicant]
US 20190095779A1 · Leobandung · 2019 [cited by applicant]
US 20190205729A1 · Tran · 2019 [cited by applicant]
US 20190213234A1 · Bayat · 2019 [cited by applicant]
US 20190237136A1 · Tran et al. · 2019 [cited by applicant]
US 20190278675A1 · Bolkhovitin · 2019 [cited by applicant]
US 20190294416A1 · Hu · 2019 [cited by applicant]
US 20200020393A1 · Al-Shamma · 2020 [cited by applicant]
US 20200201751A1 · Wei · 2020 [cited by applicant]
US 20200233482A1 · Tran · 2020 [cited by applicant]
US 20210232893A1 · Bayat · 2021 [cited by applicant]
CN 102567784 · 2012 [cited by applicant]
CN 102906767 · 2013 [cited by applicant]
CN 104615909 · 2015 [cited by applicant]
EP 0566739A1 · 1993 [cited by applicant]
EP 0562737B1 · 1998 [cited by applicant]
JP H03018985A · 1991 [cited by applicant]
JP H0346195 · 1991 [cited by applicant]
JP 63261784 · 1998 [cited by applicant]
JP 2003151290 · 2003 [cited by applicant]
JP 2009080892 · 2009 [cited by applicant]
TW 200414549A · 2004 [cited by applicant]
TW I625843 · 2018 [cited by applicant]
TW 201837759 · 2018 [cited by applicant]
TW 201901285 · 2019 [cited by applicant]
WO 2017131653 · 2017 [cited by applicant]
U.S. Appl. No. 16/382,034 entitled “Neural Network Classifier Using Array of Four-Gate Non-volatile Memory Cells,” Tran, et al., filed Apr. 11, 2019. [cited by applicant]
U.S. Appl. No. 16/382,045 entitled “Neural Network Classifier Using Array of Three-Gate Non-volatile Memory Cells,” Tran, et al., filed Apr. 11, 2019. [cited by applicant]
U.S. Appl. No. 16/382,051 entitled “Neural Network Classifier Using Array of Stacked Gate Non-volatile Memory Cells,” Tran, et al., filed Apr. 11, 2019. [cited by applicant]
U.S. Appl. No. 16/382,060 entitled “Memory Device and Method for Varying Program State Separation Based Upon Frequency of Use,” Tran, et al., filed Apr. 11, 2019. [cited by applicant]
U.S. Appl. No. 15/826,345 entitled “High Precision and Highly Efficient Tuning Mechanisms . . . Network,” Tran, et al., filed Nov. 29, 2017. [cited by applicant]
U.S. Appl. No. 16/271,673 entitled “Flash Memory Array With Individual Memory Cell Read, Program and Erase,” Guo et al., filed Feb. 8, 2019. [cited by applicant]
U.S. Appl. No. 15/991,890 entitled “Decoders for Analog Neural Memory in Deep Learning Artificial Neural Network,” Tran, et al., filed May 29, 2018. [cited by applicant]
U.S. Appl. No. 16/353,830 entitled “System For Converting Neuron Current Into Neuron Current-Based Time Pulses . . . Network,” Tran et al., filed Mar. 14, 2019. [cited by applicant]
U.S. Appl. No. 16/503,355, filed Jul. 3, 2019, Tran et al. [cited by applicant]
U.S. Appl. No. 16/354,040, filed Mar. 14, 2019, Tran et al. [cited by applicant]
U.S. Appl. No. 16/353,409, titled “Apparatus and Method for Combining Analog Neural Net With FPGA Routing in a Monolithic Integrated Circuit,” filed Mar. 14, 2019. [cited by applicant]
U.S. Appl. No. 62/797,158, titled “Apparatus and Method for Combining Analog Neural Net With FPGA Routing in a Monolithic Integrated Circuit,” filed Jan. 25, 2019. [cited by applicant]
U.S. Appl. No. 16/382,013 entitled “Neural Network Classifier Using Array of Two-Gate Non-volatile Memory Cells,” Tran, et al., filed Apr. 11, 2019. [cited by applicant]
Jenn-Chyou Bor, et al., “Realization of the CMOS Pulsewidth-Modulation (PWM) Neural Network with On-Chip Learning,” IEEE Transactions on Circuits and Systems, Jan. 1998. [cited by applicant]
Alister Hamilton, et al., “Integrated Pulse Stream Neural Networks: Results, Issues, and Pointers,” IEEE Transactions on Neural Networks, May 1992. [cited by applicant]
Shafiee et al,“ Isaac: a Convolutional Neural Network Accelerator With In-Situ Analog Arithmetic in Crossbars;” 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture, Seoul, Oct. 2016. [URL:https://… [cited by applicant]
Guo, et al., “Temperature-insensitive Analog Vector-by-Matrix Multiplier Based on 55 nm NOR Flash Memory Cells,” IEEE Custom Integrated Circuits Conference, Apr. 30, 2017, pp. 1-4. [cited by applicant]
Lin, et al., “A Novel Voltage-Accumulation Vector-Matrix Multiplication Architecture Using Resistor-shunted Floating Gate Flash Memory Device for Low-power and High-density Neural Network Applications,” IEEE Internation… [cited by applicant]
Bavandpour, et al., “Energy-Efficient Time-Domain Vector-by-Matrix Multiplier for Neurocomputing and Beyond,” retrieved from the Internet: url:https://arxiv.org/pdf/1711.10673.pdf, pp. 1-6. [cited by applicant]
Mehrotra, et al., “Elements of Artificial Neural Networks,” 1997 Massachusetts Institute of Technology, pp. 1-351, a Bradford Book, The MIT Press, Cambridge, Mass, London, England. [cited by applicant]
Bayat, “Memory Technologies for Neural Networks,” IEEE, 2015. [cited by applicant]
European Examiner's Report dated Nov. 25, 2021 for the related European Patent Application No. 17 799 921.6. [cited by applicant]
Chinese Office Action dated Oct. 9, 2021 corresponding to Chinese Patent Application No. 201780030390.9. [cited by applicant]