本發(fā)明公開了與人工神經(jīng)網(wǎng)絡(luò)中的矢量-矩陣乘法(vmm)陣列一起使用的編程設(shè)備和方法的許多實施方案。
背景技術(shù):
1、人工神經(jīng)網(wǎng)絡(luò)模擬生物神經(jīng)網(wǎng)絡(luò)(動物的中樞神經(jīng)系統(tǒng),特別是大腦),這些人工神經(jīng)網(wǎng)絡(luò)用于估計或近似可取決于大量輸入并且通常未知的功能。人工神經(jīng)網(wǎng)絡(luò)通常包括互相交換消息的互連“神經(jīng)元”層。
2、圖1示出了人工神經(jīng)網(wǎng)絡(luò),其中圓圈表示神經(jīng)元的輸入或?qū)印_B接部(稱為突觸)用箭頭表示,并且具有可以根據(jù)經(jīng)驗進(jìn)行調(diào)整的數(shù)值權(quán)重。這使得神經(jīng)網(wǎng)絡(luò)適應(yīng)于輸入并且能夠?qū)W習(xí)。通常,神經(jīng)網(wǎng)絡(luò)包括多個輸入的層。通常存在神經(jīng)元的一個或多個中間層,以及提供神經(jīng)網(wǎng)絡(luò)的輸出的神經(jīng)元的輸出層。處于每一級別的神經(jīng)元分別地或共同地根據(jù)從突觸所接收的數(shù)據(jù)作出決定。
3、在開發(fā)用于高性能信息處理的人工神經(jīng)網(wǎng)絡(luò)方面的主要挑戰(zhàn)中的一個挑戰(zhàn)是缺乏足夠的硬件技術(shù)。實際上,實際神經(jīng)網(wǎng)絡(luò)依賴于大量的突觸,從而實現(xiàn)神經(jīng)元之間的高連通性,即非常高的計算并行性。原則上,此類復(fù)雜性可通過數(shù)字超級計算機(jī)或?qū)S脠D形處理單元集群來實現(xiàn)。然而,相比于生物網(wǎng)絡(luò),這些方法除了高成本之外,能量效率也很普通,生物網(wǎng)絡(luò)主要由于其執(zhí)行低精度的模擬計算而消耗更少的能量。cmos模擬電路已被用于人工神經(jīng)網(wǎng)絡(luò),但由于給定大量的神經(jīng)元和突觸,大多數(shù)cmos實現(xiàn)的突觸都過于龐大。
4、申請人先前在美國專利申請15/594,439中公開了一種利用一個或多個非易失性存儲器陣列作為突觸的人工(模擬)神經(jīng)網(wǎng)絡(luò),該專利申請以引用方式并入本文。非易失性存儲器陣列作為模擬神經(jīng)形態(tài)存儲器操作。神經(jīng)網(wǎng)絡(luò)裝置包括被配置為接收第一多個輸入并從其生成第一多個輸出的第一多個突觸,以及被配置為接收第一多個輸出的第一多個神經(jīng)元。第一多個突觸包括多個存儲器單元,其中存儲器單元中的每個存儲器單元包括:形成于半導(dǎo)體襯底中的間隔開的源極區(qū)和漏極區(qū),其中溝道區(qū)在源極區(qū)和漏極區(qū)之間延伸;設(shè)置在溝道區(qū)的第一部分上方并且與所述第一部分絕緣的浮柵;以及設(shè)置在溝道區(qū)的第二部分上方并且與所述第二部分絕緣的非浮柵。多個存儲器單元中的每一個被配置為存儲與浮柵上的多個電子相對應(yīng)的權(quán)重值。多個存儲器單元被配置為將第一多個輸入乘以所存儲的權(quán)重值以生成第一多個輸出。
5、必須擦除和編程在模擬神經(jīng)形態(tài)存儲器系統(tǒng)中使用的每個非易失性存儲器單元,以在浮柵中保持非常特定且精確的電荷量。例如,每個浮柵必須保持n個不同值中的一個,其中n是可由每個單元指示的不同權(quán)重的數(shù)量。n的示例包括16、32和64。
6、vmm系統(tǒng)中的一個挑戰(zhàn)是能夠以不同n值所需的精度和粒度對所選單元進(jìn)行編程。例如,如果所選單元可包括64個不同值中的一個值,則在編程操作中需要極端精度。
7、所需要的是適于與模擬神經(jīng)形態(tài)存儲器系統(tǒng)中的vmm一起使用的改進(jìn)的編程系統(tǒng)和方法。
技術(shù)實現(xiàn)思路
1、本發(fā)明公開了與人工神經(jīng)網(wǎng)絡(luò)中的矢量-矩陣乘法(vmm)陣列一起使用的編程系統(tǒng)和方法的許多實施方案。因此,可極精確地對所選單元進(jìn)行編程,以保持n個不同值中的一個值。
1.一種電路,所述電路用于將由矢量矩陣乘法器的所選存儲器單元消耗的電流與由參考矩陣消耗的電流進(jìn)行比較,所述電路包括:
2.根據(jù)權(quán)利要求1所述的電路,還包括陣列泄漏補(bǔ)償電路。
3.根據(jù)權(quán)利要求1所述的電路,還包括參考陣列泄漏補(bǔ)償電路。
4.根據(jù)權(quán)利要求1所述的電路,其中所述選擇的存儲器單元為分裂柵存儲器單元。
5.根據(jù)權(quán)利要求1所述的電路,其中所述選擇的存儲器單元為堆疊柵存儲器單元。
6.一種電路,所述電路用于將由矢量矩陣乘法器的所選單元消耗的電流與由參考矩陣消耗的電流進(jìn)行比較,所述電路包括:
7.根據(jù)權(quán)利要求6所述的電路,其中所述參考電流保持在所述晶體管上。
8.根據(jù)權(quán)利要求6所述的電路,還包括:
9.根據(jù)權(quán)利要求6所述的電路,還包括陣列泄漏補(bǔ)償電路。
10.根據(jù)權(quán)利要求6所述的電路,還包括參考陣列泄漏補(bǔ)償電路。
11.根據(jù)權(quán)利要求6所述的電路,其中所述選擇的單元為分裂柵存儲器單元。
12.根據(jù)權(quán)利要求6所述的電路,其中所述選擇的單元為堆疊柵存儲器單元。
13.一種電路,所述電路用于將矢量矩陣乘法器的存儲器單元電流信號轉(zhuǎn)換為一組數(shù)字位,所述電路包括:
14.根據(jù)權(quán)利要求13所述的電路,其中所述存儲器電流保持在晶體管上。
15.根據(jù)權(quán)利要求13所述的電路,還包括陣列泄漏補(bǔ)償電路。
16.根據(jù)權(quán)利要求13所述的電路,其中所述存儲器單元為分裂柵存儲器單元。
17.根據(jù)權(quán)利要求13所述的電路,其中所述存儲器單元為堆疊柵存儲器單元。
18.一種電路,所述電路用于將矢量矩陣乘法器的存儲器單元電流信號轉(zhuǎn)換為斜率,所述電路包括:
19.根據(jù)權(quán)利要求18所述的電路,其中所述存儲器電流保持在晶體管上。
20.根據(jù)權(quán)利要求18所述的電路,還包括陣列泄漏補(bǔ)償電路。
21.根據(jù)權(quán)利要求18所述的電路,其中所述存儲器單元為分裂柵存儲器單元。
22.根據(jù)權(quán)利要求18所述的電路,其中所述存儲器單元為堆疊柵存儲器單元。
23.根據(jù)權(quán)利要求18所述的電路,其中所述電壓參考被時分復(fù)用以指示所述存儲器單元的值。
24.一種電路,所述電路用于將矢量矩陣乘法器的存儲器單元電流信號轉(zhuǎn)換為斜率,所述電路包括:
25.根據(jù)權(quán)利要求24所述的電路,其中所述存儲器電流保持在晶體管上。
26.根據(jù)權(quán)利要求24所述的電路,還包括陣列泄漏補(bǔ)償電路。
27.根據(jù)權(quán)利要求24所述的電路,其中所述存儲器單元為分裂柵存儲器單元。
28.根據(jù)權(quán)利要求24所述的電路,其中所述存儲器單元為堆疊柵存儲器單元。