TWI757645B - 用於記憶體內乘法及累加運算的電路及其方法 - Google Patents
用於記憶體內乘法及累加運算的電路及其方法 Download PDFInfo
- Publication number
- TWI757645B TWI757645B TW108136445A TW108136445A TWI757645B TW I757645 B TWI757645 B TW I757645B TW 108136445 A TW108136445 A TW 108136445A TW 108136445 A TW108136445 A TW 108136445A TW I757645 B TWI757645 B TW I757645B
- Authority
- TW
- Taiwan
- Prior art keywords
- nand
- block
- coupled
- lines
- line
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/24—Bit-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4818—Threshold devices
- G06F2207/4824—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
本發明提供一種用於記憶體內乘法及累加功能的電路,包括多個NAND區塊。NAND區塊包括NAND串陣列,NAND串陣列包括B個行及S個列以及L個位準的記憶體單元。W個字元線耦接至L個位準中的各別位準中的(B*S個)記憶體單元。源極線耦接至區塊中的(B*S個)NAND串。串選擇線驅動器提供電壓以使多個串選擇線上的NAND串同時連接至對應位元線。字元線驅動器經耦接以將字元線電壓施加於經選位準中的一或多個字元線。多個位元線驅動器同時將輸入資料施加於B個位元線。電流感測電路耦接至源極線。
Description
本發明是關於一種用於進行乘積總和運算的電路。
在此表達式中,每一乘積項是變量輸入Xi
及權重Wi
的乘積。權重Wi
可在項之間變化,例如對應於變量輸入Xi
的係數。
乘積總和函數可使用交叉點陣列架構實現為電路運算,在所述交叉點陣列架構中陣列單元的電性會影響所述函數。
對於高速實施方案而言,合乎期望的為具有極大陣列以便可並行執行諸多操作,或可進行極大的乘積總和系列。在一些系統中,可能有極大數目的輸入及輸出,因此總電流消耗可能較大。
此外,人工智慧AI(artificial intelligence;AI)函數包括大規模矩陣乘法,此涉及使用多位元權重的乘法及累加MAC步驟(即乘積總和),其需要極緻密的記憶體以及高頻寬資料通信。
AI硬體的最新進展已針對高效能及低功率解決方案。為了滿足此等需求,已提出「記憶體內計算」或「記憶體內處理器」實施方案。此等技術可減少資料移動要求以節省功率及延遲。
因此,期望能提供適於在大陣列中實施乘積總和運算且可為靈活、高容量以及高效能的結構。
基於使用多個NAND區塊的記憶體內運算來描述用於大規模乘積總和運算的乘法及累加技術。本文中所描述的實例中使用的NAND區塊可使用3D NAND快閃技術實施。
本文描述用於將輸入訊號施加於耦接至多個NAND區塊中的NAND區塊的多成員位元線集合的構件,用於將NAND區塊中的NAND串集合連接至位元線集合中的各別位元線的構件,以及用於感測源極線上的從位元線集合通過各別NAND串集合的電流總和的構件。藉由儲存於NAND串上的記憶體單元中的資料來判定NAND串集合的電導(或相反,判定電阻)。
對於本文所描述的實施例而言,多個NAND區塊中的NAND區塊包括多個NAND串,所述多個NAND串安置於多成員位元線集合中的位元線與NAND區塊的源極線之間。 NAND串具有串選擇開關以選擇性地將所述NAND串連接至對應位元線。 NAND串包括多個串聯配置在串選擇開關與接地選擇開關之間的記憶體單元,所述NAND串藉由所述接地選擇開關連接至源極線。字元線耦接至NAND區塊的對應字元線位準中的記憶體單元的閘極。類似地,串選擇線耦接至NAND串的對應列中的串選擇開關的閘極。
對於特定NAND區塊而言,多成員位元線集合可包括B個成員,且所述NAND區塊可包括具有至少S個成員的串選擇線集合。在此組態中,NAND區塊包括B*S個NAND串的陣列,其包括B個行及S個列的NAND串。在計算模式下串選擇驅動器集合可經操作以使一行NAND區塊中的S個NAND串(每一列一個)連接至多成員位元線集合中的每一位元線。以此方式,源極線上的計算模式的電流是B個乘積項的總和,且每一乘積項是多成員位元線集合中的位元線中的一者上的輸入訊號乘以連接至位元線的S個NAND串的電導的函數。
本文描述了一種電路,其包括多個NAND區塊,每一NAND區塊可在計算模式及記憶體模式下操作。匯流排系統連接至所述多個NAND區塊的輸入及輸出,由此可將乘積總和運算的輸入資料施加於NAND區塊,且乘積總和運算的係數可儲存於NAND區塊中。
在計算模式及記憶體模式下使用的輸入及輸出電路可共用,且在一些情況下,可針對不同的模式使用不同的電路。給定NAND區塊的計算模式輸入可包括位元線驅動器集合,以將輸入資料並行地施加於給定NAND區塊的位元線。給定NAND區塊的計算模式輸出可包括多位元感測放大器以感測給定NAND區塊的源極線上的輸出資料。給定NAND區塊的記憶體模式輸入可包括頁緩衝器電路,其可包括用於計算模式的輸入驅動器,或可以是單獨電路。
在技術的其他態樣中,描述了一種適合用於乘法及累加加速器中的NAND區塊的結構。此外,在技術的其他態樣中,積體電路包括多個乘法及累加拼塊,其中每一拼塊包括如上文所描述的多個NAND區塊。
描述了一種記憶體內計算乘積總和的方法,包括:
a)將乘積項X(i)*W(i)的係數資料儲存於串選擇線SSL(j)上NAND串C(i)行中在NAND區塊中L(k)位準上的單元中,所述單元耦接至位元線BL(i),其中i為自1至B、j為自1至S且k等於經選字元線位準;
b)將輸入X(i)施加於位元線BL(1)至位元線BL(B),且將串選擇電壓施加於串選擇線SSL(1)至串選擇線SSL(S),且將字元線計算電壓施加至經選字元線位準中的單元(同時或以組合方式疊加時間,以偏壓所述單元以進行感測);
c)總和流經NAND串的C(1)行至C(B)行的電流,所述NAND串的C(1)行至C(B)行連接至NAND區塊的源極線上的位元線BL(1)至BL(B);以及
d)感測源極線上的電流大小,以產生表示乘積總和的輸出訊號。
如本文所描述來配置的NAND區塊陣列可用管線式(pipeline)操作,其支援高產出率運算,諸如可用於機器學習系統的推斷模式(inference mode)運算。
應用本文中所描述的技術,提供緻密及高效能的乘法及累加加速器。實施例可配置為以每瓦特一兆次操作(tera-operations),即1TOPS/Watt的數量級執行。
在審閱以下圖式、實施方式以及申請專利範圍之後可以看出本發明之其他態樣以及優點。
以下描述將通常參考具體結構實施例及方法。應理解,不存在將技術限制於具體揭露的實施例及方法的意圖,而是可使用其他特徵、元件、方法以及實施例來實踐所述技術。描述較佳實施例以示出本技術,而非限制其範圍,所述範圍由申請專利範圍限定。所屬技術領域具有通常知識者將認識到對以下說明書的各種等效變化。
如本文中所使用,術語「耦接」意謂可操作地耦接。在此意義上耦接的物件不一定是直接連接的,且耦接物件之間可存在中間物件。
圖1是乘積總和運算的圖,其中求和(summation)的項是輸入Xi
乘以權重Wi
的乘積,在此實例中,其中i為從1至7。權重Wi
可在求和的項上有所不同。在操作中,可將權重指定為係數集合,且接著施加輸入以計算隨輸入改變而變化的求和。此外,在執行學習過程的演算法中,當學習過程更改係數以從達成可用結果的求和中學習,可不時更改權重。
在所示出實例中,將求和的輸出應用至sigmoid函數以產生以非線性方式在最小值與最大值之間(諸如0與1之間)變化的輸出。亦可使用其他啟動函數(activation function),諸如羅吉特(logit)函數,或整流函數。乘積總和運算亦可應用於非神經形態的組態,或不用於模擬神經系統的組態。
神經網路包括卷積神經網路(convolutional neural networks)及其他類型的神經網路,通常包括以層(layer)組織的邏輯,其中每一層可接收前一層的輸出作為輸入,其可能受到啟動函數影響),且並行執行數百或數千個乘積總和運算,其輸出應用於隨後的啟動函數或其他邏輯單元。
圖2是包括配置成列及行的垂直NAND串陣列的NAND區塊的示意圖。為方便描述,NAND區塊中的一列是具有共同串選擇線及共同字元線的NAND串集合,且每一NAND串回應於共同串選擇線而耦接至不同的位元線,從而使得NAND串沿共同串選擇線及共同字元線邏輯地配置成一列。為方便描述,NAND區塊中的一行是具有共同位元線的NAND串集合,每一NAND串耦接至不同的串選擇線,從而使得NAND串沿共同位元線邏輯地配置成一行。在實體佈局中,根據所應用的製造方法,行或列可經扭曲,以蜂巢式模式或其他方式配置,以用於高密度或其他原因。在圖中,陣列的第一行中的NAND串200及NAND串201耦接至第一位元線BL(1)及區塊的源極線SL1。此外,陣列的第二行中的NAND串202及NAND串203耦接至第二位元線BL(2)及區塊的源極線SL1。在所示出的實例中,為簡化圖式,繪示兩個位元線。預期給定NAND區塊可耦接至諸多位元線BL(i)(i為從1至B),包括給定實施方案中的數十、數百或數千個位元線,以及NAND串陣列中的NAND串的對應行數。
NAND串陣列中的NAND串中的每一者包括耦接至對應串選擇線SSL(1)及串選擇線SSL(S)的串選擇開關,所述串選擇開關用於使對應NAND串與其位元線連接或斷開。陣列的第一列中的NAND串200及NAND串202耦接至區塊的第一串選擇線SSL(1)。 NAND串201及NAND串203以及陣列的第S個列耦接至第S個串選擇線SSL(S)。在所示出的實例中,為簡化圖式,繪示兩個串選擇線。預期在給定實施方案中,給定NAND區塊可耦接至諸多串選擇線,以及NAND串陣列中的NAND串的對應列數。
NAND串陣列中的NAND串中的每一者包括接地選擇開關,其耦接至區塊的接地選擇線GSL1,所述接地選擇開關用於使NAND串陣列中的對應NAND串連接至區塊的源極線SL1。在一些實施例中,對應NAND串上的接地選擇開關可藉由具有適當解碼電路的單獨接地選擇線來控制,以支援如本文中所描述的記憶體模式及計算模式。
NAND串陣列中的NAND串中的每一者包括串聯配置在串選擇開關與接地選擇開關之間的多個記憶體單元,其耦接至對應字元線。在此實例中,NAND區塊的給定位準中的所有字元線共同耦接至單個字元線導體,或耦接至共同由單個字元線解碼器控制的字元線導體(word line conductor),以便NAND區塊的給定位準中的所有或經選多個記憶體單元列可接收同一字元線訊號。在此實例中,NAND區塊的NAND串是垂直NAND串,其包括耦接至32個字元線WL0至字元線WL31的具32個位準的記憶體單元。
在操作的記憶體模式下,可使用由耦接至區塊的多個位元線的頁緩衝器(未繪示)支援的程式化(program)及抹除操作將資料寫入至單個記憶體單元中。在記憶體模式操作中,通常使用經選串選擇線選擇NAND串陣列中的NAND串列中的一者。在此情況下,NAND串陣列的每一行中的NAND串中的一者耦接至位元線中的一者。頁緩衝器可用於將資料模式程式化為NAND串陣列的經選列中的單個NAND串,所述NAND串在NAND區塊的每一位準下並聯耦接至多個位元線。此外,記憶體模式下的頁緩衝器可用於讀取在NAND區塊的每一位準下儲存於NAND串陣列中的經選列中的記憶體單元中的資料。
在記憶體模式下,可將乘積總和運算的係數儲存至NAND區塊中。 NAND區塊中的NAND單元可使用每單元單位元技術(single-bit-per-cell technology)或每單元多位元技術(multiple-bit-per-cell technology)來實施。在一些實施例中,由於係數以在整個多個NAND串中分佈的方式儲存(如下文所論述),因此每單元單位元技術可為較佳的。在其他實施例中,每單元多位元技術可用於在將係數程式化為NAND區塊時提供更高的精確度。
參考圖1中的圖示,輸入訊號X1及輸入訊號X2可由施加於位元線BL(1)及位元線BL(2)的電壓VBL(1)及電壓VBL2表示。係數W1可由一或多個經選NAND串的電導表示,所述經選NAND串由耦接至第一位元線BL(1)的串選擇開關的對應串選擇線選擇。係數W2可由一或多個經選NAND串的電導表示,所述經選NAND串由耦接至第二位元線BL(2)的串選擇開關的對應串選擇線選擇。
經選NAND串的電導藉由儲存於NAND區塊的經選位準下的記憶體單元中的資料來判定。在圖示中,選擇在字元線WL1的位準下的NAND串。因此,如圖所示,在所有S個串選擇線經驅動以使其對應NAND串連接至第一位元線BL(1)的情況下,乘積項W1*X1的第一係數W1對應於係數值w(1-1):w(1-S)的組合。在所有S個串選擇線經驅動以使其對應NAND串連接至第二位元線BL(2)的情況下,乘積項W2*X2的第二係數W2對應於係數值w(2-1):w(2-S)的組合。
在本文中所描述的操作的計算模式下,因在區塊的源極線SL1上提供NAND區塊的乘積總和運算而產生訊號OUTPUT Y1。在圖2中所示出的實例中,包括NAND串陣列中的兩個位元線及兩行NAND串,以及NAND串陣列中的N個串選擇線及N列NAND串,輸出OUTPUT Y1是藉由電流路徑290來積聚的電流,所述電流路徑290對應於NAND區塊中的NAND串中的電流總和。
如所示出,電流路徑290包括位元線BL(1)上的通過NAND串200至源極線SL1的電流,加上位元線BL(1)上的通過NAND串201至源極線SL1的電流,加上位元線BL2上的通過NAND串202至源極線SL1的電流,加上位元線BL2上的通過NAND串203至源極線SL1的電流。
從電流路徑290積聚的此電流對應於乘積項W1*X1及W2*X2的總和。係數W1是耦接至字元線WL1及位元線BL(1)的記憶體單元行中的資料值w(1-1):(1-S)的函數,且係數W2是耦接至字元線WL2及位元線BL(2)的記憶體單元行中的資料值w(2-1):w(2-S)的函數。使用耦接至給定位元線的記憶體單元的每一行中的S個記憶體單元表示乘積項的係數使得能夠使用高精確度資料(例如,具有多個有效數位)來表示係數。藉由在計算模式運算期間同時控制由串選擇線選擇的列數,且從而控制用於表示係數的記憶體單元的數目,係數的精確度可隨著滿足特定實施方案的需要而變化。因此,對於包括S數目個串選擇線的區塊而言,若輸入資料值由單個位元線上的電壓表示,則可由儲存於從1個至S個的若干記憶體單元中的資料來表示。
在計算模式運算期間,如本文中所描述的NAND區塊中的單個NAND串產生的電流可相對較小。因此,來自NAND區塊的NAND串陣列中的所有NAND串的電流的組合可保持在使用耦接至區塊的源極線SL1的電流感測感測放大器其有效感測的電流值範圍內。
如本文中所描述的NAND區塊可使用3D NAND記憶體技術來實施。在所屬技術領域中已知的各種替代方案中,包括垂直NAND串的NAND區塊的一些實例描述於下述者中:美國專利第9,698,156號由呂(Lue)發佈於2017年7月4日,其標題是垂直薄通道記憶體(VERTICAL THIN CHANNEL MEMORY),及美國專利第9,524,980號由盧發佈於 2016年12月20日,其標題是U形垂直薄通道記憶體(U-SHAPED VERTICAL THIN CHANNEL MEMORY)的;且如本文中充分闡述,此類專利以引用的方式併入。亦可使用2D NAND技術來進行實施,在所述2D NAND技術中NAND區塊在整個多個2D NAND陣列上邏輯地定義。
圖3是示出一個實例的示意圖,其中包括類似圖1的NAND區塊的多個NAND區塊的電路可互連至NAND區塊的單個陣列中,作為出於可用於神經網路的大規模乘積總和計算目的的乘積總和加速器。在圖3中,區塊1以上文相對於圖2所描述的方式實施。同樣,區塊2以同一方式實施。所述區塊共用位元線。因此,位元線BL(1)耦接至區塊1的NAND串陣列中的第一行NAND串,且耦接至區塊2中的NAND串陣列中的第一行NAND串。同樣,位元線BL(2)耦接至區塊1的NAND串陣列中的第二行NAND串,且耦接至區塊2中的NAND串陣列中的第二行NAND串。出於乘積總和計算的目的,NAND區塊可依次操作。因此,可將位元線BL(1)及位元線BL(2)上的輸入X1及輸入X2用於使用區塊1的乘積總和運算,如由串選擇線及接地選擇線啟用。隨後,可將位元線BL(1)及位元線BL(2)上的輸入X1及輸入X2用於使用區塊2的乘積總和運算。字元線可針對每一區塊單獨地操作及解碼。
在所示出的實例中,儲存於區塊1中的係數W1由資料值表示,所述資料值儲存於在區塊的經選位準下的NAND串行中的記憶體單元。因此,在區塊1中,對於在字元線WL1的位準下的經選位準而言,區塊1、位元線BL(1)以及串選擇線SSL(1):SSL(N)中的係數W1對應於資料值w(1-1,1):w(1-N,1)的組合。類似地,對於在字元線WL1的位準下的經選位準而言,區塊1、位元線BL(2)以及串選擇線SSL(1):SSL(N)中的係數W2對應於資料值w(2-1,1):w(2-N,1)的組合。在區塊2中,對於在字元線WL1的位準下的經選位準而言,區塊2、位元線BL(1)以及串選擇線SSL(1):SSL(N)中的係數W1對應於資料值w(1-1,2):w(1-N,2)的組合。類似地,對於在字元線WL1的位準下的經選位準而言,區塊2、位元線BL(2)以及串選擇線SSL(1):SSL(N)中的係數W2對應於資料值w(2-1,2):w(2-N,2)的組合。
圖3中所示出的NAND區塊的模式可沿任何實際數目的NAND區塊的位元線重複,且可沿任何實際數目的NAND區塊的字元線重複。以此方式,出於乘積總和運算的大規模計算的目的,可實施包括大量NAND區塊的電路。
圖4示出可用於如本文中所描述的NAND區塊中的替代性NAND串組態。在圖2及圖3中,NAND串是直式NAND串,其中串選擇閘極耦接至NAND串的頂部處的位元線,且接地選擇閘極耦接至NAND串的底部處的源極線。在圖4中所示出的替代方案中,繪示U形NAND串。使用U形NAND串,可在NAND串的3D區塊之上對源極線及位元線進行佈線。因此,如圖4中所繪示,位元線401由串選擇開關405耦接至U形NAND串的第一側。 U形NAND串的第一側的底部處的輔助閘極403耦接至U形NAND串的第二側。在U形NAND串的第二側的頂部處,接地選擇開關406使NAND串連接至源極線402。位元線及源極線可佈線於積體電路上的不同的圖案化金屬層(layers of patterned metal)上。
圖5是如本文中所描述的經組態為NAND區塊的概念圖示。表示了包括類似圖1中所繪示的垂直NAND串的NAND區塊BLOCK 1。記憶體單元的位準中的NAND區塊的深度對應於字元線位準WL(1:L)的數目L。NAND區塊中的NAND串的行數對應於位元線BL(1:B)的數目B。 NAND區塊中的NAND串的列數對應於串選擇線SSL(1:S)的數目S。
頁緩衝器及輸入驅動器510耦接至多個位元線BL(1:B)。頁緩衝器包括耦接至多個位元線中的位元線的位元線驅動器,及耦接至所述多個位元線中的位元線的感測放大器。在記憶體模式下使用頁緩衝器/輸入驅動器510以保存用於將係數寫入至區塊中的資料。在記憶體模式下,頁緩衝器用於在例如NAND快閃陣列中的程式化及抹除操作期間施加位元線電壓。在計算模式下,輸入驅動器用於施加對應於乘積總和運算的輸入資料的位元線電壓。在一些實施例中,頁緩衝器可在計算模式下用作定義輸入資料值的資料模式的構件。在其他實施例中,輸入資料可使用替代性記憶體路徑及解碼器來施加於輸入驅動器。類似地,在一些實施例中,用於計算模式下的輸入驅動器可包括於用於記憶體模式下的頁緩衝器中的位元線驅動器中。在其他實施例中,記憶體模式的位元線驅動器不同於計算模式的輸入驅動器。
字元線及串選擇線/接地選擇線解碼器512耦接至多個字元線,且耦接至NAND區塊的多個串選擇線及接地選擇線。解碼器512可經操作以選擇所述多個串選擇線中的一者或大於一者,用於使NAND串連接至對應位元線。此外,解碼器512可經操作以藉由驅動在區塊的特定位準下的經選字元線WL(SEL)來選擇記憶體單元的位準。在記憶體模式下,解碼器512通常為頁讀取或頁寫入操作選擇一個串選擇線及一個字元線。在計算模式下,解碼器512選擇包括所有串選擇線的多個串選擇線及一個字元線以供乘積總和運算,以在源極線515上產生對應於陣列中的經選NAND串的電導總和的電流。
源極線515耦接至感測放大器514,其將源極線515上的電流轉換成數位輸出值Y1。感測放大器514可在記憶體模式期間禁用。頁緩衝器/輸入驅動器510及感測放大器514可耦接至資料匯流排系統520,以在NAND區塊當中安排輸入及輸出資料來進行大規模乘積總和運算。定序控制器(未繪示)可用於協調解碼器512、頁緩衝器/輸入驅動器510以及感測放大器514的操作,以進行記憶體模式操作及計算模式操作。
頁緩衝器/輸入驅動器510、解碼器512以及感測放大器514及本文中所描述的各種實施例,包括用於將輸入訊號施加於耦接至多個NAND區塊中的NAND區塊的多個位元線中的多成員位元線集合、用於使NAND區塊中的NAND串集合連接至位元線集合中的各別位元線,以及用於感測從位元線集合通過各別NAND串集合的電流總和的構件。
圖5示出單個NAND區塊。圖6是包括NAND區塊的陣列600的電路拼塊650。在此實例中,NAND區塊的陣列600包括呈8 x 8陣列的64個區塊。字元線及串選擇線解碼器612安置於拼塊中。單個區塊的字元線解碼器及字元線可獨立地控制。此外,單個區塊的串選擇解碼器及串選擇線可實施為單獨的電路,且可獨立地控制。
在一些實施例中,字元線解碼器及字元線,以及串選擇線解碼器及串選擇線可配置在水平通道(lane)中,以便水平通道中的一些或所有NAND區塊共用相同字元線導體及字元線解碼器,以及同一串選擇線及串選擇線解碼器。舉例而言,在此8 x 8陣列中,可存在NAND區塊的8個水平通道。
拼塊的位元線耦接至電路集合,所述電路集合類似用於大規模NAND記憶體裝置中的彼等電路集合。電路集合包括耦接至位元線的高電壓開關622,用於支援位元線上的程式化及抹除操作。此外,電路集合包括用於計算模式期間的邏輯輸入的位元線輸入驅動器621,其經配置以將電壓施加於位元線,所述電壓包括對應於乘積總和運算的輸入值的位元線電壓。電路集合亦包括頁緩衝器620,其用於定義用於程式化操作的資料集合、用於在程式化驗證操作期間儲存資料,且用於讀取操作中以自記憶體陣列傳輸資料。此外,頁緩衝器620可作為邏輯路徑的部分,以選擇在計算模式期間被施加於給定乘積總和運算的所述多個位元線上的電壓位準。
頁緩衝器620、位元線輸入驅動器621以及高電壓開關622可配置在多個垂直通道中,以便垂直通道中的所有NAND區塊共用同一位元線及相關聯電路。在一個實施例中,NAND區塊的陣列600可包括在此實例中耦接至八個NAND區塊的行的8K位元線,其經配置為位元線的八個1K通道。
感測放大器614耦接至NAND區塊的陣列600。可存在例如64個電流感測感測放大器,每一所述電流感測感測放大器耦接至陣列600的多個NAND區塊中的64個NAND區塊中的一者。在其他實施例中,感測放大器614集合可包括針對陣列600的每一水平通道的一個感測放大器。在其他實施例中,感測放大器614集合可包括針對每一垂直通道的一個感測放大器。
如圖6中所示出,攜帶數位輸入輸出資料的資料路徑(X個數位IO)耦接至頁緩衝器620及位元線輸入驅動器621,且可連接至積體電路上的資料匯流排系統或輸入輸出電路,拼塊實施於所述積體電路上。類似地,攜帶來自感測放大器614的數位輸出(Y個n位元輸出)的資料路徑可連接至積體電路上的資料匯流排系統或輸入輸出電路,拼塊實施於所述積體電路上。
圖7示出包括類似圖6中所繪示的拼塊的多個拼塊的實施例。因此,示出積體電路700包括呈3 x 3網格配置的拼塊TILE1至拼塊TILE 9。積體電路700上的拼塊間匯流排系統750耦接至多個乘法及累加加速器拼塊上的資料路徑。定序控制器703經由匯流排系統750耦接至拼塊的網格,用於控制所述多個拼塊當中的資料流,且用於使用命令序列來配置拼塊的操作,例如針對由匯流排系統750發送的記憶體模式操作及計算模式操作。輸入輸出介面705耦接至定序控制器703,其可包括多個輸入介面710,包括例如大容量DDR DRAM介面、大容量串行介面、大容量PCIe介面以及用於將大數量資料移入及移出網格的其他業界標準或自定義介面。
圖8是包括MAC加速器記憶體陣列的積體電路裝置800的另一實施例的簡化晶片方區塊圖。所述MAC加速器記憶體陣列包括(如圖2中所繪示)例如實施於諸如圖6及圖9中所示出的各種實施例中的快閃記憶單元的NAND區塊陣列860。在此實例中的裝置800包括控制器810,所述控制器包括例如用於在記憶體模式下的記憶體操作的狀態機及在如上文所論述的計算模式下的MAC加速器或乘積總和運算。此外,在此實例中的控制器810包括定序器,用於控制裝置800在涉及NAND區塊陣列860的大規模AI功能中的使用,以及裝置內部及外部的資料流運算。
積體電路裝置800包括耦接至陣列860中的對應NAND區塊的源極線集合855,及耦接至陣列860中的對應NAND區塊的位元線集合865。
字元線集合耦接至在NAND區塊的對應位準下的記憶體單元的閘極,字元線集合中的字元線上的訊號選擇記憶體單元的各別位準。字元線驅動器840耦接至字元線集合845。
感測電路集合850耦接至源極線集合中的各別源極線。對於使用陣列的乘積總和運算而言,源極線感測電路850可感測來自記憶體陣列860的源極線855處的電流。在源極線集合中的特定源極線處所感測的電流可表示如上文所論述的乘積總和。來自源極線感測電路850的感測資料經由資料線853供應給輸入輸出電路891。
電路870中的位元線驅動器耦接至頁緩衝器875,且耦接至位元線865。對於使用陣列的乘積總和運算而言,電路870中的位元線驅動器可產生針對每一經選位元線的輸入x(m)。
在匯流排830上從控制邏輯即控制器810至電路870中的頁緩衝器875、位元線驅動器以及字元線驅動器840供應位址。電路870中的頁緩衝器875、位元線驅動器以及源極線感測電路850藉由線853、線885耦接至輸入輸出電路891。
輸入輸出電路891將資料驅動至積體電路裝置800外部的目的地。輸入輸出資料及控制訊號經由資料匯流排805在積體電路裝置800上的輸入輸出電路891、控制邏輯810及輸入輸出埠或積體電路裝置800內部或外部的其他資料源之間移動,所述資料源諸如通用處理器或專用應用電路,或提供由記憶體陣列860支援的系統單晶片(system-on-chip)功能性模組的組合。
在圖8中所繪示的實例中,使用偏壓配置狀態機的控制邏輯810控制經由區塊820中的一或多個電壓供應產生或提供的供電電壓的應用,以供計算模式下的乘積總和運算及記憶體模式下的讀取及寫入(程式化及抹除)操作。
控制邏輯810可使用所屬技術領域中已知的專用邏輯電路來實施。在替代性實施例中,控制邏輯包括可實施於同一積體電路上的通用處理器,所述通用處理器執行電腦程式來控制裝置的操作。在另外其他實施例中,可利用專用邏輯電路與通用處理器的組合來實施控制邏輯。
控制邏輯810亦可實施電路以支援裝置的計算模式下的管線式(pipeline)操作。舉例而言,下表繪示三個區塊的管線操作,所述三個區塊具有由邏輯支援的SRAM以接收及操作區塊的輸出。
次數 | 3D NAND 電路 | 邏輯電路(SRAM) | ||
區塊0 | 區塊1 | 區塊2 | ||
1 | 感測電流及MAC運算 | 針對下一MAC預設陣列WL及HV’s | 不活動 | 等待所接收的資料 |
2. | 資料傳輸至邏輯電路 | 針對下一MAC預設陣列WL及HV’s | 不活動 | 自區塊0接收資料 |
3 | 不活動 | 感測電流及MAC運算 | 針對下一MAC預設陣列WL及HV’s | 針對來自區塊0的訊號的CMOS邏輯操作 |
4 | 不活動 | 資料傳輸至邏輯電路 | 針對下一個MAC預設陣列WL及HV’s | 自區塊1接收資料 |
5 | 不活動 | 不活動 | 感測電流及MAC運算 | 針對來自區塊1的訊號的CMOS邏輯操作 |
6 | 不活動 | 不活動 | 資料傳輸至邏輯電路 | 自區塊2接收資料 |
圖9示出包括第一積體電路900的系統的組態,所述第一積體電路包括乘積總和加速器陣列901(或MAC加速器),所述乘積總和加速器陣列(或MAC加速器)藉由線911使用資料路徑控制器903互連至外部匯流排系統910。乘積總和加速器陣列901可使用如上文所論述的NAND區塊陣列或NAND區塊陣列的拼塊陣列來實施。第二積體電路950充當控制器,且包括緩衝器905及邏輯電路906,以與乘積總和加速器陣列901配合使用。第二積體電路950藉由線912耦接至匯流排系統910。第二積體電路950中的緩衝器905可包括SRAM陣列、DRAM陣列、NOR快閃陣列,或可與乘積總和加速器陣列901配合使用的其他類型的記憶體。邏輯電路906可包括用於管理神經網路的操作的定序邏輯。邏輯電路906亦可包括啟動函數邏輯及其他支援裝置的計算模式的邏輯。此外,邏輯電路906可包括形成數位乘積總和運算及支援大規模神經網路的其他運算的大規模處理器。
在一些實施例中,第一積體電路900及第二積體電路950可以堆疊晶片組態、以多晶片模組或以其他緊湊組態來安裝,其中匯流排系統910、匯流排系統911、匯流排系統912中的互連線包括晶片間連接,所述晶片間連接包括例如通過矽穿孔、球柵連接等。
圖10示出在單個積體電路1000上包括乘積總和加速器陣列1001與控制器的替代性實施例。在此實例中,資料路徑控制器1003與乘積總和加速器陣列1001實施於積體電路上。資料路徑1005使資料路徑控制器耦接至緩衝器1006,所述緩衝器繼而耦接至同一積體電路1000上的邏輯電路1008。如圖10中表示,使用可運用資料路徑控制器1003來控制的直接資料路徑,將來自緩衝器1006的資料傳輸至乘積總和加速器陣列1001。
圖11是示出用於使用如本文中所描述的NAND區塊來計算乘積總和的方法的流程圖。圖8的實例中的控制邏輯810可包括支援此方法的狀態機。將圖11的方法應用於單個NAND區塊。方法可擴展至如上文所論述的NAND區塊陣列及拼塊陣列以支援大規模乘法及累加運算。
因此,為了計算B數目個乘積項的乘積總和,方法包括選擇耦接至B個位元線的NAND區塊、S數目個串選擇線以及具有L數目個字元線位準(1100)。為了設定在記憶體模式下操作NAND區塊的計算,方法包括將乘積項W(i)*X(i)的係數資料w(i-j)儲存於耦接至位元線BL(i)的串選擇線SSL(j)上的NAND串的行C(i)的位準L(k)下的記憶體單元集合中,位元線的索引i為自1至B,且SSL線的索引j為自1至S,字元線位準的索引k保持在恆定的經選位準下。使用NAND頁程式化操作,係數資料可儲存於耦接至單個SSL線SSL(i)的NAND串上的記憶體單元中。針對SSL線SSL(1)至SSL線SSL(S)的集合中的SSL線中的每一者重複NAND頁程式化操作(1101)。
以此方式,係數W(i)由S數目個資料值(w(i-j)的j為自1至S)表示,所述資料值儲存於耦接至串選擇線SSL(1)至串選擇線(S)上的串選擇開關的NAND串的行C(i)中的字元線位準k下的記憶體單元集合中。
大體而言,數目S可等於串選擇線的實體數目。在一些實施例中,用於儲存特定係數的數目S可以是自1直至串選擇線的最大實體數目的任何數目。類似地,位元線的數目B對應於NAND區塊中要求和的乘積項的數目。數目B可等於耦接至區塊的位元線的最大實體數目,或等於針對特定數目的乘積項所選的位元線的數目。
一旦將資料儲存,則裝置可進入計算模式。在計算模式下,將由位元線電壓VBLi表示的輸入X(i)並行施加於位元線BL(i)(i為自1至B),且可同時施加於位元線。此外,將串選擇線選擇電壓(其設定為接通使位元線連接至對應NAND串的串選擇開關)同時並行施加於所有串選擇線SSL(j),j為自1至S。此外,將字元線電壓施加於對應於所計算的特定乘積項的字元線位準k中的一或多個字元線(1102)。
此具有以下效果:使S數目個NAND串並聯連接至位元線BL(i)中的每一者,且將計算位準字元線電壓施加於經選字元線位準k下的一或多個字元線。同時,將接地選擇線設定為選擇電壓位準以接通使NAND串連接至源極線的接地選擇開關。在經選字元線位準下的單元中的資料值具有根據儲存的係數來設定NAND串的電導的效果。
此外,在計算模式下,將通過NAND串的C(1)行至C(B)行中的S數目個NAND串的電流總和於NAND區塊的源極線上(1103),所述NAND串的C(1)行至C(B)行連接至位元線BL(1)至位元線BL(B)。
因此,源極線上的電流對應於所計算的B個乘積項的總和。
最後,在計算模式下,藉由感測源極線上的電流大小來產生乘積總和輸出(1104)。此輸出可以是多位元數位輸出,所述多位元數位輸出根據所執行的計算順序安排發送至匯流排系統。
流程圖示出如本文中所描述的由記憶體控制器或由記憶體裝置來執行的邏輯。邏輯可使用儲存於電腦系統可訪問記憶體內的電腦程式來程式化的處理器來實施,且可由處理器、由專用邏輯硬體(包括場可程式化積體電路)且由專用邏輯硬體與電腦程式的組合執行。應瞭解,步驟中的多者可組合、並行地進行或以不同順序進行,而不會影響所達成功能。在一些情況下,如讀者將瞭解,只要亦進行某些其他改變,重新配置步驟亦將達成同一結果。在其他情況下,如讀者將瞭解,只要符合某些條件,重新配置步驟亦將達成同一結果。此外,將瞭解,流程圖僅繪示相關於理解本技術的步驟,且將理解,可在所繪示的彼等步驟之前、之後以及之間進行用於實施其他功能的眾多額外步驟。
大體而言,已描述一種高效能、低功率的乘法及累加加速器電路。加速器電路的實施可包括3D NAND快閃區塊,其經配置以用於乘積總和運算的大容量計算。利用本文中所描述的結構,乘積總和計算所需的電流大小可為極小的且可以被嚴格控制。在本文中所描述的實施例中,可同時操作數千及數萬個單元以支援高產出率、低功率的乘積總和運算。
在本文中所描述的實例中,每一區塊具有單獨的源極線,其可同時自多個位元線及串選擇線上的諸多NAND串收集電流。源極線上的電流可耦接至電流感測感測放大器,所述電流感測感測放大器具有寬動態範圍(其中每區塊的平均電流從平均10µA至100µA變化),具有多位元感測(例如,2位元、3位元、4位元)。每串的電流可藉由設定適當的臨限電壓及將電壓驅動為儘可能小(諸如在每串小於50奈安範圍內)來微調,使得能夠在單個感測放大器中並行感測1000個至10,000個串。舉例而言,字元線可靠近程式化驗證與快閃記憶體單元的抹除狀態之間的中間值而偏壓,且位元線電壓可減小至0.3伏以下以使每串的電流較小。
用於並行輸入至NAND區塊的位元線及用於儲存係數的串選擇線的數目可按特定實施方案的需要來設定。此外,用於給定計算的位元線及串選擇線的數目可在操作的每一循環中邏輯地判定。
由於使用多個串選擇線,且從而使用串聯耦接至單個位元線的多個NAND串,故每一乘積項的係數或權重可分佈至NAND區塊中的多個記憶體單元中。此實現係數的高解析度,或有效地類比權重值,因為可使用NAND快閃程式化操作將單元中的每一者單獨微調至高準確度。因此,計算的可靠性可為極高的。
儘管參考上文詳述的較佳實施例及實例來揭露本發明,但應理解,此等實例意欲是示出性而非限制性意義。預期所屬技術領域中具有通常知識者將容易地想到各種修改及組合,所述修改及組合將在本發明的精神及以下申請專利範圍的範圍內。
200、201、202、203:NAND串
290:電流路徑
401:位元線
402、515、855、1104、SL、SL1、SL2:源極線
403:輔助閘極
405:串選擇開關
406:接地選擇開關
510:頁緩衝器及輸入驅動器
512:字元線及串選擇線/接地選擇線解碼器
514、614:感測放大器
520:資料匯流排系統
600:陣列
612:字元線及串選擇線解碼器
620:頁緩衝器
621:位元線輸入驅動器
622:高電壓開關
650:電路拼塊
700:積體電路
703:定序控制器
705:輸入/輸出介面
710:輸入介面
750:拼塊間匯流排系統
800:積體電路裝置
805:資料匯流排
810:控制器
820、BLOCK 1、BLOCK 2:區塊
830:匯流排
840:字元線驅動器
845:字元線集合
850:感測電路
853:資料線
860:陣列
865、BL、BL(1)、BL(2):位元線
870:電路
875:頁緩衝器
885:線
891:輸入輸出電路
900:第一積體電路
901、1001:乘積總和加速器陣列
903、1003:資料路徑控制器
905、1006:緩衝器
906:邏輯電路
910、911、912:匯流排系統
950:第二積體電路
1000:積體電路
1005、X digital IO:資料路徑
1008:邏輯電路
1100、1101、1102、1103、1104:步驟
GSL、GSL1:接地選擇線
OUTPUT Y1、OUTPUT Y2:輸出
SSL(1)、SSL(N)、SSL(S):串選擇線
WL、WL0、WL1(SEL)、WL30、W31:字元線
X1、X2、X3、X4、X5、X6、X7:輸入訊號
Y1:數位輸出值
圖1是乘積總和運算的圖。
圖2是如本文中所描述的配置為用於記憶體模式及用於計算模式的NAND區塊的電路圖。
圖3是示出類似圖2的多個NAND區塊的電路圖。
圖4示出適用於如本文中所描述的NAND區塊的替代性NAND串實施方案。
圖5是如本文中所描述的NAND區塊的簡化圖示。
圖6示出包括具有記憶體模式及計算模式的多個NAND區塊的積體電路。
圖7示出包括多個拼塊的大規模積體電路,每一拼塊包括如本文中所描述的NAND區塊陣列。
圖8是包括NAND區塊陣列MAC加速器的積體電路的簡化方區塊圖。
圖9是包括可包括如本文中所描述的NAND區塊陣列的乘積總和加速器陣列的系統配置圖示。
圖10是包括可包括如本文中所描述的NAND區塊陣列的乘積總和加速器陣列的系統的替代性組態的圖示。
圖11是如本文中所描述的用於記憶體內乘法及累加運算的方法的流程圖。
200、201、202、203:NAND串
290:電流路徑
GSL1:接地選擇線
OUTPUT Y1:輸出
SL1:源極線
SSL(1)、SSL(S):串選擇線
WL0、WL1(SEL)、WL30、W31:字元線
Claims (20)
- 一種用於記憶體內乘法與累加運算的電路,包括:多個NAND區塊,每個NAND區塊具有對應的源極線,所述多個NAND區塊中的特定NAND區塊包括配置於多成員位元線集合與所述特定NAND區塊對應的所述源極線之間的NAND串,其中所述每個NAND區塊包括多個行與多個列的NAND串;輸入電路,用以將輸入訊號施加於耦接至所述多個NAND區塊的所述多成員位元線集合;以及感測電路,耦接至所述NAND區塊中所述多個行與多個列的NAND串共用的所述源極線,所述感測電路感測從所述多成員位元線集合通過所述經選NAND區塊中的所述多個行與多個列的NAND串到經選NAND區塊中的所述源極線上的所述多個行與多個列的NAND串的電流總和。
- 如申請專利範圍第1項所述的電路,包括耦接至所述多個NAND區塊的多個位元線,所述多個NAND區塊包括所述多成員位元線集合,且其中所述輸入電路包括耦接至所述多個位元線中的位元線的頁緩衝器。
- 如申請專利範圍第2項所述的電路,包括用於對耦接至所述多個位元線中的各別位元線的NAND串進行程式化(program)的構件。
- 如申請專利範圍第1項所述的電路,其中所述多個NAND區塊中的NAND區塊包括:多個NAND串,位於所述多成員位元線集合與所述源極線之間,所述NAND串具有串選擇開關以選擇性地使所述NAND串連 接至所述多成員位元線集合中的對應位元線,且多個記憶體單元串聯配置,其中所述多成員位元線集合中的位元線耦接至所述多個NAND串中的各NAND串集合;字元線,耦接至所述NAND區塊的對應字元線位準中的記憶體單元的閘極;以及串選擇線,耦接至所述多個NAND串中NAND串對應列中的串選擇開關的閘極。
- 如申請專利範圍第4項所述的電路,對於所述NAND區塊而言,所述多成員位元線集合包括B個成員,且所述NAND區塊包括具有至少S個成員的串選擇線集合,其中串選擇驅動器可經操作以使NAND區塊的行中的S個NAND串連接至所述多成員位元線集合中的每一位元線,使得所述NAND區塊的所述源極線上的電流是B個乘積項的總和,其中每一乘積項是所述多成員位元線集合中的所述位元線中的一者上的輸入訊號乘以連接至所述一個位元線的S個NAND串的電導的函數。
- 如申請專利範圍第1項所述的電路,其中輸入電路包括位元線驅動器集合以將輸入資料並行地施加於給定NAND區塊的位元線,且所述感測電路包括多位元感測放大器以感測對應的所述源極線上的輸出資料。
- 如申請專利範圍第1項所述的電路,其中所述多個NAND區塊中的每一NAND區塊具有計算模式輸入及輸出,且各自具有記憶體模式輸入及輸出;且包括:匯流排系統,連接至所述計算模式輸入及輸出,且連接至所述多個NAND區塊的所述記憶體模式輸入及輸出。
- 如申請專利範圍第7項所述的電路,其中所述多個NAND區塊中的給定NAND區塊的所述記憶體模式輸入包括用以經由所述給定NAND區塊的位元線來讀取及寫入資料的頁緩衝器電路。
- 如申請專利範圍第1項所述的電路,其中所述多個NAND區塊中的區塊各自包括B*S個NAND串,所述B*S個NAND串包括B個行及S個列以及L個位準的記憶體單元,其中B、S以及L是整數,所述NAND串包括在所述L個位準中的各別位準中串聯的L個記憶體單元;所述B個行中的各別行中的S個NAND串的集合,耦接至B個位元線的集合中的對應位元線;所述S個列中的各別列中的B個NAND串的集合中的串選擇開關,耦接至S個串選擇線的集合中的對應串選擇線;所述L個位準中的各別位準中的B*S個記憶體單元的集合,可操作地耦接至所述L個位準中的對應一或多個字元線;以及所述源極線,可操作地耦接至所述區塊中的所述B*S個NAND串。
- 如申請專利範圍第1項所述的電路,包括控制器,所述控制器以管線式(pipeline)操作所述多個NAND區塊。
- 一種用於記憶體內乘法與累加運算的電路,包括:NAND區塊,包括B個行及S個列以及L個位準的記憶體單元,其中B、S以及L是整數,所述NAND串包括在所述L個位準中的各別位準中串聯的L個記憶體單元,其中所述NAND區塊包括多個行與多個列的NAND串; B個位元線,耦接至所述B個行中的各別行中的S個NAND串;S個串選擇線,耦接至所述S個列中的各別列中的B個NAND串;W個字元線,可操作地耦接至所述L個位準中的各別位準中的B*S個記憶體單元;源極線,可操作地耦接至所述區塊中的所述NAND串;串選擇線驅動器,耦接至所述S個串選擇線以供應串選擇電壓,以使多個串選擇線上的NAND串同時連接至對應位元線;字元線驅動器,耦接以將字元線電壓施加於經選位準中的一或多個字元線;多個位元線驅動器,耦接至所述B個位元線中的位元線以將輸入資料訊號施加於多個所述B個位元線;以及電流感測電路,耦接至所述NAND區塊中所述多個行與多個列的NAND串共用的所述源極線,所述電流感測電路感測從所述NAND區塊中所述多個行與多個列的NAND串流到所述源極線的所述多個行與多個列的NAND串的電流總和。
- 如申請專利範圍第11項所述的電路,包括頁緩衝器,所述頁緩衝器可操作地耦接至所述B個位元線中的位元線來施加輸入資料訊號,以在程式化模式下對所述區塊中的所述NAND串進行程式化。
- 一種用於記憶體內乘法與累加運算的方法,包括:將乘積項X(i)*W(i)的係數資料w(i,j)儲存於串選擇線SSL(j)上NAND串C(i)行中在NAND區塊中L(k)位準上 的單元,所述單元耦接至位元線BL(i),其中i為從1至B,j為從1至S且k等於經選字元線位準,其中所述NAND區塊包括多個行與多個列的NAND串;同時將輸入X(i)施加於位元線BL(1)至位元線BL(B),且將串選擇電壓施加於串選擇線SSL(1)至串選擇線SSL(S),且將字元線計算電壓施加於所述經選字元線位準中的單元;總和通過NAND串的C(1)行至C(B)行的電流,所述NAND串的C(1)行至C(B)行連接至所述NAND區塊的源極線上的位元線BL(1)至位元線BL(B);以及感測所述NAND區塊中所述多個行與多個列的NAND串共用的所述源極線上的所述多個行與多個列的NAND串的電流總和以產生表示乘積總和的輸出訊號。
- 一種用於記憶體內乘法與累加運算的電路,包括:多個乘法及累加加速器拼塊(tile),位於積體電路中,每一拼塊包括:多個NAND區塊,各自具有輸入及輸出,其中每個NAND區塊包括多個行與多個列的NAND串;多個源極線,分別耦接至對應的所述NAND區塊中的所述多個行與多個列的NAND串,其中所述NAND區塊中的所述多個行與多個列的NAND串共用的所述源極線上的所述多個行與多個列的NAND串的電流總和被所述拼塊所感測;以及資料路徑,連接至所述輸入及所述輸出;拼塊間匯流排系統,位於所述積體電路上,所述拼塊間匯流排系統耦接至所述多個乘法及累加加速器拼塊的所述資料路徑; 以及輸入輸出電路,位於所述積體電路上,所述輸入輸出電路耦接至所述拼塊間匯流排系統。
- 如申請專利範圍第14項所述的電路,包括用以控制所述多個拼塊之間的資料流的定序器邏輯。
- 如申請專利範圍第14項所述的電路,每一拼塊包括:多個位元線,耦接至所述多個NAND區塊;以及輸入驅動器,耦接至所述多個位元線中的位元線,感測放大器,耦接至所述多個源極線中的源極線;以及頁緩衝器,耦接至所述多個位元線中的位元線。
- 如申請專利範圍第14項所述的電路,每一拼塊包括:多個位元線,耦接至所述多個NAND區塊,其中所述多個位元線中的多成員位元線集合耦接至所述多個NAND區塊中的每一NAND區塊;以及所述多個NAND區塊中的NAND區塊,包括:所述多個NAND串,位於所述多成員位元線集合與所述源極線之間,所述NAND串具有串選擇單元以選擇性地使所述NAND串連接至所述多個NAND串的多成員位元線集合中的對應位元線,且多個記憶體單元串聯配置,其中所述多成員位元線集合中的位元線耦接至所述多個NAND串中各別NAND串的集合;字元線,耦接至所述NAND區塊的對應字元線位準中記憶體單元的閘極;以及串選擇線,耦接至所述多個NAND串中NAND串對應列中串選擇單元的閘極。
- 如申請專利範圍第17項所述的電路,其中對於所述NAND區塊而言,所述多成員位元線集合包括B個成員,且所述NAND區塊包括具有至少S個成員的串選擇線集合,且其中串選擇驅動器可經操作以使NAND區塊的行中的S個NAND串連接至所述多成員位元線集合中的每一位元線,使得所述源極線上的電流是B個乘積的總和,其中每一乘積是所述多成員位元線集合中的所述位元線中的一者上的輸入訊號乘以連接至所述位元線中的一者的S個NAND串的電導的函數。
- 如申請專利範圍第14項所述的電路,其中每一拼塊中的所述多個NAND區塊中的給定NAND區塊的所述輸入包括位元線驅動器集合,以將輸入資料並行地施加於所述給定NAND區塊的位元線,且所述多個NAND區塊中的所述給定NAND區塊的所述輸出包括多位元感測放大器以感測所述給定NAND區塊的所述源極線上的輸出資料。
- 如申請專利範圍第14項所述的電路,其中對於每一拼塊而言,所述多個NAND區塊中的區塊各自包括B*S個NAND串,所述B*S個NAND串包括B個行及S個列以及L個位準的記憶體單元,其中B、S以及L是整數,所述NAND串包括在所述L個位準中的各別位準中串聯的L個記憶體單元;所述B個行中的各別行中的S個NAND串的集合,耦接至B個位元線的集合中的對應位元線;所述S個列中的各別列中的B個NAND串的集合中的串選擇開關,耦接至S個串選擇線的集合中的對應串選擇線;所述L個位準中的各別位準中的B*S個記憶體單元的集合, 可操作地耦接至所述L個位準中的對應一或多個字元線;以及源極線,以操作方式耦接至所述區塊中的所述B*S個NAND串。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862780938P | 2018-12-18 | 2018-12-18 | |
US62/780,938 | 2018-12-18 | ||
US201962791037P | 2019-01-11 | 2019-01-11 | |
US62/791,037 | 2019-01-11 | ||
US16/508,189 | 2019-07-10 | ||
US16/508,189 US11934480B2 (en) | 2018-12-18 | 2019-07-10 | NAND block architecture for in-memory multiply-and-accumulate operations |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202024898A TW202024898A (zh) | 2020-07-01 |
TWI757645B true TWI757645B (zh) | 2022-03-11 |
Family
ID=67742216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108136445A TWI757645B (zh) | 2018-12-18 | 2019-10-08 | 用於記憶體內乘法及累加運算的電路及其方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11934480B2 (zh) |
EP (1) | EP3671433A1 (zh) |
JP (1) | JP7041654B2 (zh) |
KR (1) | KR20200076571A (zh) |
CN (1) | CN111338601B (zh) |
TW (1) | TWI757645B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112151095A (zh) * | 2019-06-26 | 2020-12-29 | 北京知存科技有限公司 | 存算一体芯片、存储单元阵列结构 |
US11049586B2 (en) | 2019-11-26 | 2021-06-29 | Mythic, Inc. | Systems and methods for implementing redundancy for tile-based intelligence processing computing architecture |
US11586900B2 (en) | 2020-04-20 | 2023-02-21 | Macronix International Co., Ltd. | Training algorithm in artificial neural network (ANN) incorporating non-ideal memory device behavior |
US11189339B1 (en) * | 2020-05-29 | 2021-11-30 | Macronix International Co., Ltd. | Performing in-memory computing based on multiply-accumulate operations using non-volatile memory arrays |
US11604645B2 (en) * | 2020-07-22 | 2023-03-14 | Flex Logix Technologies, Inc. | MAC processing pipelines having programmable granularity, and methods of operating same |
US11309028B2 (en) * | 2020-09-03 | 2022-04-19 | Macronix International Co., Ltd. | Inference operation method and controlling circuit of 3D NAND artificial intelligence accelerator |
CN112153139B (zh) * | 2020-09-23 | 2022-06-14 | 成都市深思创芯科技有限公司 | 基于传感器网络和存内计算神经网络的控制系统及方法 |
WO2022165350A2 (en) * | 2021-01-31 | 2022-08-04 | Redpine Signals Inc | Architecture for multiplier accumulator using unit elements for multiplication, bias, accumulation, and analog to digital conversion over a shared charge transfer bus |
US11476866B2 (en) | 2021-02-01 | 2022-10-18 | Ceremorphic, Inc. | Successive approximation register using switched unit elements |
US12026479B2 (en) | 2021-01-31 | 2024-07-02 | Ceremorphic, Inc. | Differential unit element for multiply-accumulate operations on a shared charge transfer bus |
US11469770B2 (en) | 2021-01-31 | 2022-10-11 | Ceremorphic, Inc. | Architecture for multiplier accumulator using unit elements for multiplication, bias, accumulation, and analog to digital conversion over a shared charge transfer bus |
US11567730B2 (en) | 2021-01-31 | 2023-01-31 | Ceremorphic, Inc. | Layout structure for shared analog bus in unit element multiplier |
TWI788128B (zh) * | 2021-04-16 | 2022-12-21 | 旺宏電子股份有限公司 | 記憶體裝置及其操作方法 |
US11996137B2 (en) * | 2021-05-21 | 2024-05-28 | Taiwan Semiconductor Manufacturing Company, Ltd. | Compute in memory (CIM) memory array |
WO2022256293A1 (en) * | 2021-05-31 | 2022-12-08 | Ceremorphic, Inc | Architecture for analog multiplier-accumulator with binary weighted charge transfer capacitors |
US11687738B2 (en) | 2021-05-31 | 2023-06-27 | Ceremorphic, Inc. | Chopper stabilized bias unit element with binary weighted charge transfer capacitors |
US12014152B2 (en) | 2021-05-31 | 2024-06-18 | Ceremorphic, Inc. | Multiplier-accumulator unit element with binary weighted charge transfer capacitors |
US12032926B2 (en) | 2021-05-31 | 2024-07-09 | Ceremorphic, Inc. | Chopper stabilized analog multiplier accumulator with binary weighted charge transfer capacitors |
US20230022516A1 (en) * | 2021-07-23 | 2023-01-26 | Taiwan Semiconductor Manufacturing Company, Ltd. | Compute-in-memory systems and methods with configurable input and summing units |
KR20230023430A (ko) | 2021-08-10 | 2023-02-17 | 백은지 | 블루투스 연동 장치가 포함된 손목시계 |
US11694733B2 (en) | 2021-08-19 | 2023-07-04 | Apple Inc. | Acceleration of in-memory-compute arrays |
US11789646B2 (en) * | 2021-09-24 | 2023-10-17 | Intel Corporation | Methods, apparatus, and articles of manufacture to increase data reuse for multiply and accumulate (MAC) operations |
US12094568B2 (en) | 2022-07-18 | 2024-09-17 | Macronix International Co., Ltd. | Content addressable memory for large search words |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8787087B2 (en) * | 2011-09-20 | 2014-07-22 | Kabushiki Kaisha Toshiba | Semiconductor memory device controlling operation timing of the sense circuit |
US9430735B1 (en) * | 2012-02-23 | 2016-08-30 | Micron Technology, Inc. | Neural network in a memory device |
US10073733B1 (en) * | 2017-09-01 | 2018-09-11 | Purdue Research Foundation | System and method for in-memory computing |
US10115457B2 (en) * | 2014-10-03 | 2018-10-30 | Micron Technology, Inc. | Threshold voltage distribution determination by sensing common source line currents |
WO2018201060A1 (en) * | 2017-04-27 | 2018-11-01 | The Regents Of The University Of California | Mixed signal neuromorphic computing with nonvolatile memory devices |
Family Cites Families (155)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2619663C3 (de) | 1976-05-04 | 1982-07-22 | Siemens AG, 1000 Berlin und 8000 München | Feldeffekttransistor, Verfahren zu seinem Betrieb und Verwendung als schneller Schalter sowie in einer integrierten Schaltung |
US4987090A (en) | 1987-07-02 | 1991-01-22 | Integrated Device Technology, Inc. | Static ram cell with trench pull-down transistors and buried-layer ground plate |
US5029130A (en) | 1990-01-22 | 1991-07-02 | Silicon Storage Technology, Inc. | Single transistor non-valatile electrically alterable semiconductor memory device |
JPH0451382A (ja) | 1990-06-20 | 1992-02-19 | Hitachi Ltd | 情報処理装置 |
JP3073645B2 (ja) | 1993-12-27 | 2000-08-07 | 株式会社東芝 | 不揮発性半導体記憶装置およびその動作方法 |
US7089218B1 (en) | 2004-01-06 | 2006-08-08 | Neuric Technologies, Llc | Method for inclusion of psychological temperament in an electronic emulation of the human brain |
US6107882A (en) | 1997-12-11 | 2000-08-22 | Lucent Technologies Inc. | Amplifier having improved common mode voltage range |
US6960499B2 (en) | 1998-02-24 | 2005-11-01 | Texas Instruments Incorporated | Dual-counterdoped channel field effect transistor and method |
US6313486B1 (en) | 2000-06-15 | 2001-11-06 | Board Of Regents, The University Of Texas System | Floating gate transistor having buried strained silicon germanium channel layer |
US6829598B2 (en) | 2000-10-02 | 2004-12-07 | Texas Instruments Incorporated | Method and apparatus for modeling a neural synapse function by utilizing a single conventional MOSFET |
US6703661B2 (en) | 2001-12-27 | 2004-03-09 | Ching-Yuan Wu | Contactless NOR-type memory array and its fabrication methods |
US6856542B2 (en) * | 2002-06-04 | 2005-02-15 | Stmicroelectronics, Inc. | Programmable logic device circuit and method of fabricating same |
JP4620943B2 (ja) | 2003-10-16 | 2011-01-26 | キヤノン株式会社 | 積和演算回路及びその方法 |
US6937523B2 (en) * | 2003-10-27 | 2005-08-30 | Tower Semiconductor Ltd. | Neighbor effect cancellation in memory array architecture |
US7057216B2 (en) | 2003-10-31 | 2006-06-06 | International Business Machines Corporation | High mobility heterojunction complementary field effect transistors and methods thereof |
US6906940B1 (en) | 2004-02-12 | 2005-06-14 | Macronix International Co., Ltd. | Plane decoding method and device for three dimensional memories |
US20050287793A1 (en) | 2004-06-29 | 2005-12-29 | Micron Technology, Inc. | Diffusion barrier process for routing polysilicon contacts to a metallization layer |
JP2006127623A (ja) | 2004-10-28 | 2006-05-18 | Sony Corp | 半導体記憶装置とそのアクセス方法 |
US7400533B2 (en) | 2006-05-04 | 2008-07-15 | Micron Technology, Inc. | Mimicking program verify drain resistance in a memory device |
US7688635B2 (en) * | 2006-07-14 | 2010-03-30 | Micron Technology, Inc. | Current sensing for Flash |
US7372753B1 (en) | 2006-10-19 | 2008-05-13 | Unity Semiconductor Corporation | Two-cycle sensing in a two-terminal memory array having leakage current |
US8058636B2 (en) | 2007-03-29 | 2011-11-15 | Panasonic Corporation | Variable resistance nonvolatile memory apparatus |
JP2009080892A (ja) | 2007-09-26 | 2009-04-16 | Toshiba Corp | 半導体記憶装置 |
KR20090037690A (ko) | 2007-10-12 | 2009-04-16 | 삼성전자주식회사 | 비휘발성 메모리 소자, 그 동작 방법 및 그 제조 방법 |
US8000151B2 (en) | 2008-01-10 | 2011-08-16 | Micron Technology, Inc. | Semiconductor memory column decoder device and method |
JP5275052B2 (ja) * | 2009-01-08 | 2013-08-28 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US8860124B2 (en) | 2009-01-15 | 2014-10-14 | Macronix International Co., Ltd. | Depletion-mode charge-trapping flash device |
JP5462490B2 (ja) | 2009-01-19 | 2014-04-02 | 株式会社日立製作所 | 半導体記憶装置 |
JP5317742B2 (ja) | 2009-02-06 | 2013-10-16 | 株式会社東芝 | 半導体装置 |
US8203187B2 (en) | 2009-03-03 | 2012-06-19 | Macronix International Co., Ltd. | 3D memory array arranged for FN tunneling program and erase |
TWI433153B (zh) | 2009-08-17 | 2014-04-01 | Ind Tech Res Inst | 記憶體單元之讀取方法 |
US9099181B2 (en) | 2009-08-19 | 2015-08-04 | Grandis, Inc. | Non-volatile static ram cell circuit and timing method |
JP2011065693A (ja) | 2009-09-16 | 2011-03-31 | Toshiba Corp | 不揮発性半導体記憶装置 |
US8275728B2 (en) | 2009-11-05 | 2012-09-25 | The United States Of America As Represented By The Secretary Of The Air Force | Neuromorphic computer |
US8311965B2 (en) | 2009-11-18 | 2012-11-13 | International Business Machines Corporation | Area efficient neuromorphic circuits using field effect transistors (FET) and variable resistance material |
TWI427636B (zh) | 2009-11-27 | 2014-02-21 | Macronix Int Co Ltd | 於一記憶積體電路上進行抹除操作之方法與裝置 |
SG10201700467UA (en) | 2010-02-07 | 2017-02-27 | Zeno Semiconductor Inc | Semiconductor memory device having electrically floating body transistor, and having both volatile and non-volatile functionality and method |
KR101658479B1 (ko) | 2010-02-09 | 2016-09-21 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 |
US8331127B2 (en) | 2010-05-24 | 2012-12-11 | Macronix International Co., Ltd. | Nonvolatile memory device having a transistor connected in parallel with a resistance switching device |
US8547720B2 (en) | 2010-06-08 | 2013-10-01 | Sandisk 3D Llc | Non-volatile memory having 3D array of read/write elements with efficient decoding of vertical bit lines and word lines |
US8890233B2 (en) | 2010-07-06 | 2014-11-18 | Macronix International Co., Ltd. | 3D memory array with improved SSL and BL contact layout |
WO2012015450A1 (en) | 2010-07-30 | 2012-02-02 | Hewlett-Packard Development Company, L.P. | Systems and methods for modeling binary synapses |
US20120044742A1 (en) | 2010-08-20 | 2012-02-23 | Micron Technology, Inc. | Variable resistance memory array architecture |
US8432719B2 (en) | 2011-01-18 | 2013-04-30 | Macronix International Co., Ltd. | Three-dimensional stacked and-type flash memory structure and methods of manufacturing and operating the same hydride |
US8630114B2 (en) | 2011-01-19 | 2014-01-14 | Macronix International Co., Ltd. | Memory architecture of 3D NOR array |
US8759895B2 (en) | 2011-02-25 | 2014-06-24 | Micron Technology, Inc. | Semiconductor charge storage apparatus and methods |
JP5722180B2 (ja) | 2011-09-26 | 2015-05-20 | 株式会社日立製作所 | 不揮発性記憶装置 |
US9698185B2 (en) | 2011-10-13 | 2017-07-04 | Omnivision Technologies, Inc. | Partial buried channel transfer device for image sensors |
US8981445B2 (en) | 2012-02-28 | 2015-03-17 | Texas Instruments Incorporated | Analog floating-gate memory with N-channel and P-channel MOS transistors |
JP5998521B2 (ja) | 2012-02-28 | 2016-09-28 | セイコーエプソン株式会社 | 不揮発性半導体メモリー及び不揮発性半導体メモリーの製造方法 |
US8730724B2 (en) * | 2012-08-07 | 2014-05-20 | Sandisk Technologies Inc. | Common line current for program level determination in flash memory |
JP2014053056A (ja) | 2012-09-06 | 2014-03-20 | Toshiba Corp | 半導体記憶装置 |
WO2014062543A2 (en) | 2012-10-15 | 2014-04-24 | Rambus Inc. | Memory rank and odt configuration in a memory system |
US9019771B2 (en) | 2012-10-26 | 2015-04-28 | Macronix International Co., Ltd. | Dielectric charge trapping memory cells with redundancy |
US20140149773A1 (en) | 2012-11-29 | 2014-05-29 | Agency For Science, Technology And Research | Latch circuit and data processing system |
KR20140113024A (ko) | 2013-03-15 | 2014-09-24 | 에스케이하이닉스 주식회사 | 저항 변화 메모리 장치 및 그 구동방법 |
KR102179899B1 (ko) | 2013-08-05 | 2020-11-18 | 삼성전자주식회사 | 뉴로모픽 시스템 및 그 구현 방법 |
US9502133B2 (en) | 2013-10-11 | 2016-11-22 | Sharp Kabushiki Kaisha | Semiconductor device |
KR102139944B1 (ko) | 2013-11-26 | 2020-08-03 | 삼성전자주식회사 | 3차원 반도체 메모리 장치 |
KR20150070819A (ko) | 2013-12-17 | 2015-06-25 | 에스케이하이닉스 주식회사 | 반도체 메모리 소자 및 그 제조방법 |
US9535831B2 (en) | 2014-01-10 | 2017-01-03 | Advanced Micro Devices, Inc. | Page migration in a 3D stacked hybrid memory |
CN103778468B (zh) | 2014-01-16 | 2016-09-07 | 北京大学 | 一种基于rram的新型神经网络电路 |
US9698156B2 (en) | 2015-03-03 | 2017-07-04 | Macronix International Co., Ltd. | Vertical thin-channel memory |
US9147468B1 (en) | 2014-05-21 | 2015-09-29 | Macronix International Co., Ltd. | Multiple-bit-per-cell, independent double gate, vertical channel memory |
US9391084B2 (en) | 2014-06-19 | 2016-07-12 | Macronix International Co., Ltd. | Bandgap-engineered memory with multiple charge trapping layers storing charge |
US9536969B2 (en) | 2014-09-23 | 2017-01-03 | Taiwan Semiconductor Manufacturing Co., Ltd. | Self-aligned split gate flash memory |
WO2016060617A1 (en) | 2014-10-15 | 2016-04-21 | Agency For Science, Technology And Research | Flip-flop circuit, method of controlling a flip-flop circuit and memory device |
US9460792B2 (en) | 2014-10-20 | 2016-10-04 | Micron Technology, Inc. | Apparatuses and methods for segmented SGS lines |
US9431099B2 (en) | 2014-11-11 | 2016-08-30 | Snu R&Db Foundation | Neuromorphic device with excitatory and inhibitory functionalities |
US9356074B1 (en) | 2014-11-17 | 2016-05-31 | Sandisk Technologies Inc. | Memory array having divided apart bit lines and partially divided bit line selector switches |
KR20160073847A (ko) | 2014-12-17 | 2016-06-27 | 에스케이하이닉스 주식회사 | 전자 장치 및 그 제조 방법 |
KR102396422B1 (ko) | 2015-02-11 | 2022-05-11 | 삼성전자주식회사 | 불휘발성 메모리 및 불휘발성 메모리를 포함하는 스토리지 장치 |
US10403363B2 (en) | 2015-02-11 | 2019-09-03 | Samsung Electronics Co., Ltd. | Nonvolatile memory and storage device including nonvolatile memory |
US9524980B2 (en) | 2015-03-03 | 2016-12-20 | Macronix International Co., Ltd. | U-shaped vertical thin-channel memory |
US9379129B1 (en) | 2015-04-13 | 2016-06-28 | Macronix International Co., Ltd. | Assist gate structures for three-dimensional (3D) vertical gate array memory structure |
KR20160122531A (ko) | 2015-04-14 | 2016-10-24 | 에스케이하이닉스 주식회사 | 전자 장치 |
TWI580087B (zh) | 2015-04-28 | 2017-04-21 | 旺宏電子股份有限公司 | 記憶裝置及其製造方法 |
US10074661B2 (en) | 2015-05-08 | 2018-09-11 | Sandisk Technologies Llc | Three-dimensional junction memory device and method reading thereof using hole current detection |
US9934463B2 (en) | 2015-05-15 | 2018-04-03 | Arizona Board Of Regents On Behalf Of Arizona State University | Neuromorphic computational system(s) using resistive synaptic devices |
US9805303B2 (en) | 2015-05-21 | 2017-10-31 | Google Inc. | Rotating data for neural network computations |
US10438117B1 (en) | 2015-05-21 | 2019-10-08 | Google Llc | Computing convolutions using a neural network processor |
US10049322B2 (en) | 2015-05-21 | 2018-08-14 | Google Llc | Prefetching weights for use in a neural network processor |
KR102445662B1 (ko) | 2015-07-01 | 2022-09-22 | 삼성전자주식회사 | 스토리지 장치 |
CN105718994B (zh) | 2015-07-29 | 2019-02-19 | 上海磁宇信息科技有限公司 | 细胞阵列计算系统 |
KR101701250B1 (ko) | 2015-08-03 | 2017-02-01 | 서울대학교산학협력단 | 딥 빌리프 네트워크를 위한 복수 레이어가 적층된 뉴런 어레이 및 뉴런 어레이 동작 방법 |
KR102311916B1 (ko) | 2015-08-17 | 2021-10-15 | 삼성전자주식회사 | 스토리지 장치 |
US10020317B2 (en) | 2015-08-31 | 2018-07-10 | Cypress Semiconductor Corporation | Memory device with multi-layer channel and charge trapping layer |
US10037167B2 (en) | 2015-09-11 | 2018-07-31 | Sandisk Technologies Llc | Multiple scheduling schemes for handling read requests |
US9589982B1 (en) | 2015-09-15 | 2017-03-07 | Macronix International Co., Ltd. | Structure and method of operation for improved gate capacity for 3D NOR flash memory |
US10157012B2 (en) | 2015-09-29 | 2018-12-18 | Sandisk Technologies Llc | Zero read on trimmed blocks in a non-volatile memory system |
US9892800B2 (en) | 2015-09-30 | 2018-02-13 | Sunrise Memory Corporation | Multi-gate NOR flash thin-film transistor strings arranged in stacked horizontal active strips with vertical control gates |
US9842651B2 (en) | 2015-11-25 | 2017-12-12 | Sunrise Memory Corporation | Three-dimensional vertical NOR flash thin film transistor strings |
US10418369B2 (en) | 2015-10-24 | 2019-09-17 | Monolithic 3D Inc. | Multi-level semiconductor memory device and structure |
TWI571875B (zh) | 2015-10-30 | 2017-02-21 | 華邦電子股份有限公司 | 電阻式記憶體裝置及其寫入方法 |
US9767028B2 (en) | 2015-10-30 | 2017-09-19 | Advanced Micro Devices, Inc. | In-memory interconnect protocol configuration registers |
KR102412781B1 (ko) | 2015-11-03 | 2022-06-24 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 독출 방법 |
JP6867387B2 (ja) | 2015-11-25 | 2021-04-28 | サンライズ メモリー コーポレイション | 3次元垂直norフラッシュ薄膜トランジスタストリング |
US9983829B2 (en) | 2016-01-13 | 2018-05-29 | Sandisk Technologies Llc | Physical addressing schemes for non-volatile memory systems employing multi-die interleave schemes |
SG11201805489YA (en) | 2016-01-18 | 2018-07-30 | Huawei Tech Co Ltd | Memory device, and data processing method based on multi-layer rram crossbar array |
US10725860B2 (en) | 2016-03-04 | 2020-07-28 | Sandisk Technologies Llc | Storage system and method for handling a burst of errors |
CN108701474B (zh) | 2016-03-18 | 2022-12-30 | 株式会社半导体能源研究所 | 半导体装置及使用该半导体装置的系统 |
CN107533459B (zh) | 2016-03-31 | 2020-11-20 | 慧与发展有限责任合伙企业 | 使用电阻存储器阵列的数据处理方法和单元 |
CN105789139B (zh) | 2016-03-31 | 2018-08-28 | 上海新储集成电路有限公司 | 一种神经网络芯片的制备方法 |
JP2017195275A (ja) | 2016-04-20 | 2017-10-26 | 東芝メモリ株式会社 | 半導体記憶装置およびその製造方法 |
KR102508532B1 (ko) | 2016-05-02 | 2023-03-09 | 삼성전자주식회사 | 감지 증폭기 및 이를 포함하는 메모리 장치 |
US11308383B2 (en) | 2016-05-17 | 2022-04-19 | Silicon Storage Technology, Inc. | Deep learning neural network classifier using non-volatile memory array |
US9773553B1 (en) | 2016-08-19 | 2017-09-26 | Micron Technology, Inc. | Segmented memory and operation |
US10381094B2 (en) * | 2016-10-11 | 2019-08-13 | Macronix International Co., Ltd. | 3D memory with staged-level multibit programming |
CN106530210B (zh) | 2016-10-31 | 2019-09-06 | 北京大学 | 基于阻变存储器件阵列实现并行卷积计算的设备和方法 |
US10649665B2 (en) | 2016-11-08 | 2020-05-12 | Micron Technology, Inc. | Data relocation in hybrid memory |
US10733505B2 (en) | 2016-11-10 | 2020-08-04 | Google Llc | Performing kernel striding in hardware |
US20180144240A1 (en) | 2016-11-21 | 2018-05-24 | Imec Vzw | Semiconductor cell configured to perform logic operations |
US10725777B2 (en) | 2016-12-06 | 2020-07-28 | Gsi Technology, Inc. | Computational memory cell and processing array device using memory cells |
US10985777B2 (en) | 2016-12-09 | 2021-04-20 | William Marsh Rice University | Signal recovery via deep convolutional networks |
US10296224B2 (en) | 2016-12-21 | 2019-05-21 | Intel Corporation | Apparatus, system and method for increasing the capacity of a storage device available to store user data |
US10565494B2 (en) | 2016-12-31 | 2020-02-18 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with segmentable array width rotator |
US10360499B2 (en) | 2017-02-28 | 2019-07-23 | Anixa Diagnostics Corporation | Methods for using artificial neural network analysis on flow cytometry data for cancer diagnosis |
US10269824B2 (en) | 2017-04-01 | 2019-04-23 | Intel Corporation | Non-volatile memory structures having multi-layer conductive channels |
WO2018189619A1 (ja) | 2017-04-10 | 2018-10-18 | 株式会社半導体エネルギー研究所 | 半導体装置、電子部品、及び電子機器 |
US10460817B2 (en) | 2017-07-13 | 2019-10-29 | Qualcomm Incorporated | Multiple (multi-) level cell (MLC) non-volatile (NV) memory (NVM) matrix circuits for performing matrix computations with multi-bit input vectors |
US10482929B2 (en) * | 2017-07-13 | 2019-11-19 | Qualcomm Incorporated | Non-volative (NV) memory (NVM) matrix circuits employing NVM matrix circuits for performing matrix computations |
US10790828B1 (en) * | 2017-07-21 | 2020-09-29 | X Development Llc | Application specific integrated circuit accelerators |
JP2019028569A (ja) | 2017-07-26 | 2019-02-21 | 株式会社東芝 | メモリシステム、半導体記憶装置及び信号処理システム |
US10580492B2 (en) | 2017-09-15 | 2020-03-03 | Silicon Storage Technology, Inc. | System and method for implementing configurable convoluted neural networks with flash memories |
US11410028B2 (en) | 2017-09-20 | 2022-08-09 | Look Dynamics, Inc. | Photonic neural network system |
US11521046B2 (en) | 2017-11-08 | 2022-12-06 | Samsung Electronics Co., Ltd. | Time-delayed convolutions for neural network device and method |
US10777566B2 (en) | 2017-11-10 | 2020-09-15 | Macronix International Co., Ltd. | 3D array arranged for memory and in-memory sum-of-products operations |
US11361215B2 (en) | 2017-11-29 | 2022-06-14 | Anaflash Inc. | Neural network circuits having non-volatile synapse arrays |
US10748630B2 (en) | 2017-11-29 | 2020-08-18 | Silicon Storage Technology, Inc. | High precision and highly efficient tuning mechanisms and algorithms for analog neuromorphic memory in artificial neural networks |
US10552510B2 (en) | 2018-01-11 | 2020-02-04 | Mentium Technologies Inc. | Vector-by-matrix multiplier modules based on non-volatile 2D and 3D memory arrays |
US10957392B2 (en) | 2018-01-17 | 2021-03-23 | Macronix International Co., Ltd. | 2D and 3D sum-of-products array for neuromorphic computing system |
US20190244662A1 (en) | 2018-02-02 | 2019-08-08 | Macronix International Co., Ltd. | Sum-of-products array for neuromorphic computing system |
US10719296B2 (en) | 2018-01-17 | 2020-07-21 | Macronix International Co., Ltd. | Sum-of-products accelerator array |
US10242737B1 (en) | 2018-02-13 | 2019-03-26 | Macronix International Co., Ltd. | Device structure for neuromorphic computing system |
US10635398B2 (en) | 2018-03-15 | 2020-04-28 | Macronix International Co., Ltd. | Voltage sensing type of matrix multiplication method for neuromorphic computing system |
JP6721136B2 (ja) | 2018-03-16 | 2020-07-08 | Tdk株式会社 | 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法 |
US11188814B2 (en) | 2018-04-05 | 2021-11-30 | Arm Limited | Systolic convolutional neural network |
US20190311749A1 (en) | 2018-04-09 | 2019-10-10 | Anaflash Inc. | Logic Compatible Embedded Flash Memory |
US10741246B2 (en) | 2018-04-23 | 2020-08-11 | Arm Limited | Method, system and device for integration of volatile and non-volatile memory bitcells |
WO2019212466A1 (en) | 2018-04-30 | 2019-11-07 | Hewlett Packard Enterprise Development Lp | Resistive and digital processing cores |
US20190363131A1 (en) | 2018-05-25 | 2019-11-28 | Gyrfalcon Technology Inc. | Memory architecture having different type of memory devices and logic circuit disposed over a semiconductor substrate |
US11461621B2 (en) | 2018-06-26 | 2022-10-04 | Vishal Sarin | Methods and systems of implementing positive and negative neurons in a neural array-based flash memory |
JP7070190B2 (ja) | 2018-07-18 | 2022-05-18 | 株式会社デンソー | ニューラルネットワーク回路 |
US10528643B1 (en) | 2018-08-01 | 2020-01-07 | Sandisk Technologies Llc | Vector-matrix multiplication using non-volatile memory cells |
US10534840B1 (en) | 2018-08-08 | 2020-01-14 | Sandisk Technologies Llc | Multiplication using non-volatile memory cells |
US10860918B2 (en) | 2018-08-21 | 2020-12-08 | Silicon Storage Technology, Inc. | Analog neural memory system for deep learning neural network comprising multiple vector-by-matrix multiplication arrays and shared components |
US10877752B2 (en) | 2018-09-28 | 2020-12-29 | Intel Corporation | Techniques for current-sensing circuit design for compute-in-memory |
US10831446B2 (en) | 2018-09-28 | 2020-11-10 | Intel Corporation | Digital bit-serial multi-multiply-and-accumulate compute in memory |
US10748603B2 (en) | 2018-09-28 | 2020-08-18 | Intel Corporation | In-memory multiply and accumulate with global charge-sharing |
US10642922B2 (en) | 2018-09-28 | 2020-05-05 | Intel Corporation | Binary, ternary and bit serial compute-in-memory circuits |
US11574694B2 (en) | 2018-10-11 | 2023-02-07 | International Business Machines Corporation | Kernel sets normalization with capacitor charge sharing |
US20200117986A1 (en) | 2018-10-12 | 2020-04-16 | International Business Machines Corporation | Efficient processing of convolutional neural network layers using analog-memory-based hardware |
US10643713B1 (en) | 2019-02-08 | 2020-05-05 | Sandisk Technologies Llc | Toggling power supply for faster bit line settling during sensing |
US10825510B2 (en) | 2019-02-09 | 2020-11-03 | Purdue Research Foundation | Multi-bit dot product engine |
US10783963B1 (en) | 2019-03-08 | 2020-09-22 | Macronix International Co., Ltd. | In-memory computation device with inter-page and intra-page data circuits |
-
2019
- 2019-07-10 US US16/508,189 patent/US11934480B2/en active Active
- 2019-07-31 KR KR1020190093404A patent/KR20200076571A/ko not_active Application Discontinuation
- 2019-08-23 EP EP19193290.4A patent/EP3671433A1/en active Pending
- 2019-09-13 JP JP2019166959A patent/JP7041654B2/ja active Active
- 2019-10-08 TW TW108136445A patent/TWI757645B/zh active
- 2019-10-15 CN CN201910977183.5A patent/CN111338601B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8787087B2 (en) * | 2011-09-20 | 2014-07-22 | Kabushiki Kaisha Toshiba | Semiconductor memory device controlling operation timing of the sense circuit |
US9430735B1 (en) * | 2012-02-23 | 2016-08-30 | Micron Technology, Inc. | Neural network in a memory device |
US10115457B2 (en) * | 2014-10-03 | 2018-10-30 | Micron Technology, Inc. | Threshold voltage distribution determination by sensing common source line currents |
WO2018201060A1 (en) * | 2017-04-27 | 2018-11-01 | The Regents Of The University Of California | Mixed signal neuromorphic computing with nonvolatile memory devices |
US10073733B1 (en) * | 2017-09-01 | 2018-09-11 | Purdue Research Foundation | System and method for in-memory computing |
Also Published As
Publication number | Publication date |
---|---|
EP3671433A1 (en) | 2020-06-24 |
KR20200076571A (ko) | 2020-06-29 |
TW202024898A (zh) | 2020-07-01 |
JP2020098658A (ja) | 2020-06-25 |
US20200192971A1 (en) | 2020-06-18 |
JP7041654B2 (ja) | 2022-03-24 |
US11934480B2 (en) | 2024-03-19 |
CN111338601A (zh) | 2020-06-26 |
CN111338601B (zh) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI757645B (zh) | 用於記憶體內乘法及累加運算的電路及其方法 | |
US11507808B2 (en) | Multi-layer vector-matrix multiplication apparatus for a deep neural network | |
US11568200B2 (en) | Accelerating sparse matrix multiplication in storage class memory-based convolutional neural network inference | |
US11164632B2 (en) | Nonvolatile memory device and method of processing in memory (PIM) using the same | |
EP3637326B1 (en) | Shifting architecture for data reuse in a neural network | |
CN110782027A (zh) | 用于人工神经网络的差分非易失性存储器单元 | |
US20200034697A1 (en) | Realization of binary neural networks in nand memory arrays | |
US11397886B2 (en) | Vertical mapping and computing for deep neural networks in non-volatile memory | |
KR20210075542A (ko) | 스위칭 소자와 저항 소자를 포함하는 3차원 뉴로모픽 장치 | |
TWI783538B (zh) | 多階超低功率推理引擎加速器 | |
JP2022060143A (ja) | 外部磁場プログラミング支援を有する超小型電力推論エンジン | |
US11526285B2 (en) | Memory device for neural networks | |
Liu et al. | Era-bs: Boosting the efficiency of reram-based pim accelerator with fine-grained bit-level sparsity | |
US11663471B2 (en) | Compute-in-memory deep neural network inference engine using low-rank approximation technique | |
CN108154227B (zh) | 一种使用模拟计算的神经网络芯片 | |
CN116935929A (zh) | 互补式存储电路及存储器 | |
CN113553028B (zh) | 基于概率比特电路的问题求解优化方法及系统 | |
CN115831185A (zh) | 存算一体芯片、操作方法、制作方法和电子设备 | |
CN114171087A (zh) | 忆阻器阵列结构及其操作方法、神经网络稀疏化装置 | |
TWI836661B (zh) | 記憶體 | |
US20240303037A1 (en) | Memory device having bonded integrated circuit dies used for multiplication | |
TW202145504A (zh) | 記憶體系統以及操作記憶體系統的方法 | |
Wu et al. | A Kernel Unfolding Approach to Trade Data Movement with Computation Power for CNN Acceleration | |
Li et al. | Model Inference Optimization on ReRAM-Based Accelerators with Intra-and Inter-OU Similarity | |
Wang et al. | Enabling High-Efficient ReRAM-based CNN Training via Exploiting Crossbar-Level Insignificant Writing Elimination |