TW202336609A - 記憶體裝置及其資料運算方法 - Google Patents
記憶體裝置及其資料運算方法 Download PDFInfo
- Publication number
- TW202336609A TW202336609A TW112105888A TW112105888A TW202336609A TW 202336609 A TW202336609 A TW 202336609A TW 112105888 A TW112105888 A TW 112105888A TW 112105888 A TW112105888 A TW 112105888A TW 202336609 A TW202336609 A TW 202336609A
- Authority
- TW
- Taiwan
- Prior art keywords
- matrix
- value
- weight
- input
- sub
- Prior art date
Links
Images
Classifications
-
- 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
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/4814—Non-logic devices, e.g. operational amplifiers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
- Dram (AREA)
- Read Only Memory (AREA)
Abstract
提供一種記憶體裝置及其資料運算方法。所述記憶體裝置包括存儲陣列及比較器,所述存儲陣列包括第一存儲區塊及第二存儲區塊。第一/第二存儲區塊分別根據第一/第二權重矩陣及第一/第二輸入矩陣執行乘法及累加(MAC)運算以產生第一和/第二和。比較器對第一和與第二和進行比較。在第一配置中,第一輸入矩陣的每一值與第二輸入矩陣的每一值是相同的,且第一權重矩陣的每一值與第二權重矩陣的每一值是補數。在第二配置中,第一輸入矩陣的每一值與第二輸入矩陣的每一值是補數,且第一權重矩陣的每一值與第二權重矩陣的每一值是相同的。
Description
本公開大體來說涉及一種記憶體裝置及一種計算方法,更具體來說涉及一種具有ICM架構的記憶體裝置及其資料運算方法。
通過機器學習、深度學習及人工智慧等的發展,具有記憶體內計算(in-memory computing,ICM)架構的記憶體裝置已被廣泛應用於對計算速度進行加速。為讀出具有ICM架構的記憶體裝置的總和電流(summation current),記憶體架構及感測參考是實現低功率及高速度的設計挑戰。
本公開涉及一種用於通過記憶體內計算來對輸入與權重進行比較的記憶體裝置及其資料運算方法。
本公開的記憶體裝置包括儲存陣列及比較器,所述儲存陣列包括第一儲存區塊、第二儲存區塊。所述第一儲存區塊儲存第一權重矩陣,接收第一輸入矩陣且根據所述第一權重矩陣及所述第一輸入矩陣執行乘法及累加(multiplication and accumulation,MAC)運算以產生第一和。所述第二儲存區塊儲存第二權重矩陣,接收第二輸入矩陣且根據所述第二權重矩陣及所述第二輸入矩陣執行所述MAC運算以產生第二和。所述比較器對所述第一和與所述第二和進行比較以產生比較結果。在第一配置中,所述第一輸入矩陣的每一值與所述第二輸入矩陣的每一值是相同的,且所述第一權重矩陣的每一值與所述第二權重矩陣的每一值互補。在第二配置中,所述第一輸入矩陣的每一值與所述第二輸入矩陣的每一值互補,且所述第一權重矩陣的每一值與所述第二權重矩陣的每一值是相同的。
本公開的在記憶體裝置中進行資料運算的方法包括:提供儲存陣列,所述儲存陣列包括分別儲存第一權重矩陣及第二權重矩陣的第一儲存區塊及第二儲存區塊;由所述第一儲存區塊根據所述第一權重矩陣及第一輸入矩陣執行乘法及累加(MAC)運算,以產生第一和;由所述第二儲存區塊根據所述第二權重矩陣及第二輸入矩陣執行所述MAC運算,以產生第二和;由比較器對所述第一和與所述第二和進行比較以產生比較結果。在第一配置中,所述第一輸入矩陣的每一值與所述第二輸入矩陣的每一值是相同的,且所述第一權重矩陣的每一值與所述第二權重矩陣的每一值互補。在第二配置中,所述第一輸入矩陣的每一值與所述第二輸入矩陣的每一值互補,且所述第一權重矩陣的每一值與所述第二權重矩陣的每一值是相同的。
圖1A示出根據本公開一些實施例的記憶體裝置1。記憶體裝置1包括儲存陣列10。儲存陣列10包括第一儲存區塊11及第二儲存區塊12。第一儲存區塊11及第二儲存區塊12分別包括多個儲存單元MC。第一儲存區塊11儲存第一權重矩陣,且第二儲存區塊12儲存第二權重矩陣。第一儲存區塊11被配置成接收第一輸入矩陣,且根據第一輸入矩陣及第一權重矩陣執行乘法及累加(MAC)運算,以產生第一和。第二儲存區塊12被配置成接收第一輸入矩陣,且根據第一輸入矩陣及第二權重矩陣執行MAC運算,以產生第二和。然後,比較器Comp對第一和與第二和進行比較以產生比較結果。
在一些實施例中,記憶體裝置1在第一配置下進行操作。在第一配置中,第一儲存區塊11與第二儲存區塊12接收由輸入值X1到輸入值Xn構成的相同的第一輸入矩陣。另外,第一儲存區塊11、第二儲存區塊12分別儲存第一權重矩陣及第二權重矩陣,在第一權重矩陣及第二權重矩陣內部儲存互補的權重值或相反的權重值。具體來說,第一權重矩陣與第二權重矩陣具有為n個列及m個行的相同大小,使得第一權重矩陣及第二權重矩陣二者均包括n×m個權重值。第一權重矩陣及第二權重矩陣的每一權重值是呈布林形式(Boolean form)的資料(即,1及0)且由第一儲存區塊11、第二儲存區塊12的每一儲存單元MC儲存。第一權重矩陣與第二權重矩陣是互補的是指第一權重矩陣與第二權重矩陣在相同位置(即,相同行及相同列)的權重值是相反的,一個權重值是1且另一權重值是0。也就是說,當第一權重矩陣的權重值為1時,第二權重矩陣的相同行及相同列處的另一權重值為0。
在第一儲存區塊11及第二儲存區塊12中,分別具有排列為n個列及m個行的n×m個儲存單元MC。第一儲存區塊11中的各儲存單元MC連接在字線WL1到字線WLn中的一者與位元線BL1到位元線BLm中的一者之間,且第二儲存區塊12中的各儲存單元MC連接在字線WL1到字線WLn中的一者與位元線BLm+1到位元線BL2m中的一者之間。同一列中的儲存單元MC連接到同一字線以接收第一輸入矩陣的同一輸入值,且同一行中的儲存單元MC連接到同一位元線。另外,每一儲存單元MC由字線進行控制,以選擇性地導通位元線與參考電壓VSS之間的連接。
在一些實施例中,每一儲存單元MC的電特性可被編程以儲存對應的權重值。例如,對於單級單元(single level cell,SLC),儲存單元MC的閾值電壓或電阻可被編程為高電平或低電平以儲存權重值。以對閾值電壓進行編程作為實例,儲存單元MC的閾值電壓可被編程為高電平以儲存權重值0,且儲存單元MC的閾值電壓可被編程為低電平以儲存權重值1。因此,當所接收的輸入值及儲存單元儲存的權重值二者均為1時,儲存單元MC處於接通(ON)狀態且被導通以從位元線汲取電流,否則,儲存單元MC處於關閉(OFF)狀態且被關斷。
根據本發明之一實施例,可認為每一儲存單元MC根據所接收的輸入值及所儲存的權重值執行AND運算。當所接收的輸入值及所儲存的權重值二者均為1時,儲存單元從位元線汲取電流。同一行中的儲存單元MC執行相應的乘法運算,以判斷是否從同一位元線汲取電流。從每一位元線汲取的總電流對應於每一行的乘積之和。因此,從位元線BL1到位元線BLm汲取的電流形成第一和矩陣,且從位元線BLm+1到BL2m汲取的電流形成第二和矩陣。
由第一儲存區塊11及第二儲存區塊12所執行的MAC運算可參考如下。
輸入值X1到輸入值Xn是第一輸入矩陣的輸入值。權重值W1,1到權重值Wn,m是第一權重矩陣的權重值,且權重值!W1,1到權重值!Wn,m是第二權重矩陣的權重值,所述第二權重矩陣儲存第一權重矩陣的互補值(或稱反轉值)。和值A1到和值Am是第一和矩陣的和值,且和值B1到和值Bm是第二和矩陣的和值。
在一些實施例中,多工器MX1通過位元線BL1到位元線BLm耦合到第一儲存區塊11,且多工器MX2通過位元線BLm+1到位元線BL2m耦合到第二儲存區塊12。多工器MX1及多工器MX2由位元線選擇信號BS進行控制,因此第一儲存區塊11、第二儲存區塊12的一對對應的位元線可同時連接到比較器Comp以進行比較。例如,首先,多工器MX1、多工器MX2可分別選擇位元線BL1、位元線BLm+1並將位元線BL1、位元線BLm+1連接到比較器Comp以進行比較。比較器Comp接收來自位元線BL1的第一和以及來自位元線BLm+1到位元線BL2m的第二和。第一和及第二和可分別從自位元線BL1、位元線BLm+1汲取的總電流轉換而成,此將在以下的段落中進行更詳細地闡述。比較器Comp可對第一和與第二和進行比較以產生比較結果。然後,多工器MX1、多工器MX2可選擇位元線BL2、位元線BLm+2並將位元線BL2、位元線BLm+2連接到比較器Comp,且以此類推,因此可獲得第一和矩陣與第二和矩陣的所有行的比較結果。
圖1B示出比較器Comp如何對如圖1A中所示的所選擇的第j行的第一和Aj與第二和Bj進行比較的等效電路。由於第一儲存區塊11、第二儲存區塊12中的各儲存單元MC根據所接收的輸入值及所儲存的權重值執行AND運算,因此各儲存單元MC等效地用作及閘(AND gate)。第一輸入矩陣的輸入值分別乘以第一權重矩陣及第二權重矩陣的所選擇行的權重值。由儲存單元MC產生的乘積在位元線上被相加並被提供到比較器Comp,以用於產生比較結果OUTj。具體來說,第一和Aj對應於在第一輸入矩陣中有多少1(即,邏輯真)與第一權重矩陣的所選擇行匹配,而第二和Bj對應於在第一輸入矩陣中有多少1與第一權重矩陣的所選擇行不匹配。為對在第一輸入矩陣中與第一權重矩陣的所選擇行匹配的1的數量與在第一輸入矩陣中與第一權重矩陣的所選擇行不匹配的1的數量進行比較,比較器Comp通過從第一和Aj減去第二和Bj來產生比較結果OUTj。當第一和Aj大於第二和Bj(此意指與第一權重矩陣的所選擇行匹配的1的數量大於與第一權重矩陣的所選擇行不匹配的1的數量)時,比較器Comp將比較結果OUTj輸出為0(即,具有相對低的電壓)。當第一和Aj小於第二和Bj(此意指與第一權重矩陣的所選擇行匹配的1的數量小於與第一權重矩陣的所選擇行不匹配的1的數量)時,比較器Comp將比較結果OUTj輸出為1(即,具有相對高的電壓)。
在一些實施例中,比較器Comp的比較器閾值可為50%。也就是說,當比較結果OUTj為1時,在第一輸入矩陣中將存在超過50%的1與第一權重矩陣的所選擇行匹配。當比較結果OUTj為0時,在第一輸入矩陣中將存在少於50%的1與第一權重矩陣的所選擇行匹配。
在一些實施例中,第一輸入矩陣與第一權重矩陣之間的比較可應用於圖像辨別、指紋識別等。
簡單來說,記憶體裝置1可在第一配置下進行操作。在第一配置中,第一儲存區塊11、第二儲存區塊12分別儲存第一權重矩陣及第二權重矩陣,所述第一權重矩陣與所述第二權重矩陣在接收相同的第一輸入矩陣的同時是互補的或相反的。因此,可通過AND運算對第一輸入矩陣與第一權重矩陣進行比較,以產生對應的比較結果OUTj。
圖2A示出根據本公開一些實施例的記憶體裝置2。記憶體裝置2包括儲存陣列20。儲存陣列20包括儲存區塊21、儲存區塊22。儲存區塊21、儲存區塊22分別包括多個儲存單元MC。如圖2A中所示的儲存陣列20、儲存區塊21、儲存區塊22相似於如圖1A中所示的儲存陣列10、儲存區塊11、儲存區塊12。不同之處在於,圖2A中的記憶體裝置2在第二配置下進行操作,且儲存區塊21、儲存區塊22在分別接收第一輸入矩陣及第二輸入矩陣的同時儲存相同的第一權重矩陣。在本文中將不再對相同或相似的內容予以贅述。
具體來說,包括輸入值X1到輸入值Xn的第一輸入矩陣被提供到儲存區塊21,且包括輸入值!X1到輸入值!Xn的第二輸入矩陣被提供到儲存區塊22。第一輸入矩陣與第二輸入矩陣是互補的或相反的。第一輸入矩陣與第二輸入矩陣是互補的是指第一輸入矩陣與第二輸入矩陣在相同位置(即,相同行及相同列)的輸入值是相反的,一個輸入值為1且另一輸入值為0。
儲存區塊21、儲存區塊22儲存相同的第一權重矩陣,即W1,1至Wn,m。儲存區塊21、儲存區塊22各自包括以陣列形式排列的n×m個儲存單元MC。儲存區塊21耦合到字線WL1到字線WLn及位元線BL1到位元線BLm,儲存區塊22耦合到字線WLn+1到字線WL2n及位元線BLm+1到位元線BL2m。儲存區塊21中的每一儲存單元MC連接在字線WL1到字線WLn中的一者與位元線BL1到位元線BLm中的一者之間,且儲存區塊22中的每一儲存單元MC連接在字線WLn+1到字線WL2n中的一者與位元線BLm+1到位元線BL2m中的一者之間。
於本實施例中,可認為每一儲存單元MC根據所接收的輸入值及所儲存的權重值執行AND運算。因此,從位元線BL1到位元線BLm汲取的電流形成第一和矩陣,且從位元線BLm+1到位元線BL2m汲取的電流形成第二和矩陣。
由儲存區塊21、儲存區塊22執行的MAC運算可參考如下。
輸入值X1到輸入值Xn是第一輸入矩陣的輸入值。輸入值!X1到輸入值!Xn是第二輸入矩陣的輸入值,所述第二輸入矩陣儲存第一輸入矩陣的補數或反轉權重。權重值W1,1到權重值Wn,m是第一權重矩陣的權重值。和值A1到和值Am是第一和矩陣的和值,且和值B1到和值Bm是第二和矩陣的和值。
在一些實施例中,多工器MX1通過位元線BL1到位元線BLm耦合到儲存區塊21,且多工器MX2通過位元線BLm+1到位元線BL2m耦合到儲存區塊22。多工器MX1及多工器MX2由位元線選擇信號BS進行控制,因此儲存區塊21、儲存區塊22的一對對應的位元線可同時連接到比較器Comp以進行比較。例如,首先,多工器MX1、多工器MX2可分別選擇位元線BL1、位元線BLm+1並將位元線BL1、位元線BLm+1連接到比較器Comp以進行比較。比較器Comp接收來自位元線BL1的第一和以及來自位元線BLm+1到位元線BL2m的第二和。第一和及第二和可分別從自位元線BL1、位元線BLm+1汲取的總電流轉換而成,此將在以下的段落中進行更詳細地闡述。比較器Comp可對第一和與第二和進行比較以產生比較結果。然後,多工器MX1、多工器MX2可選擇位元線BL2、位元線BLm+2並將位元線BL2、位元線BLm+2連接到比較器Comp,且以此類推,因此可獲得第一和矩陣與第二和矩陣的所有行的比較結果。
圖2B示出比較器Comp如何對如圖2A中所示的所選擇的第j行的第一和Aj與第二和Bj進行比較的等效電路。由於儲存區塊21、儲存區塊22中的每一儲存單元MC根據所接收的輸入值及所儲存的權重值執行AND運算,因此每一儲存單元MC等效地用作及閘。第一輸入矩陣及第二輸入矩陣的輸入值分別與第一權重矩陣的所選擇行的權重值進行AND運算。由儲存單元MC產生的乘積在位元線上被相加且被提供到比較器Comp,以用於產生比較結果OUTj。具體來說,第一和Aj對應於在第一輸入矩陣中有多少1與第一權重矩陣的所選擇行匹配,而第二和Bj對應於在第一輸入矩陣中有多少0與第一權重矩陣的所選擇行不匹配。為對在第一輸入矩陣中與第一權重矩陣的所選擇行匹配的1的數量與在第一輸入矩陣中與第一權重矩陣的所選擇行不匹配的0的數量進行比較,比較器Comp通過從第一和Aj減去第二和Bj來產生比較結果OUTj。當第一和Aj大於第二和Bj(此意指與第一權重矩陣的所選擇行匹配的1的數量大於與第一權重矩陣的所選擇行不匹配的0的數量)時,比較器Comp將比較結果OUTj輸出為0(即,具有相對低的電壓)。當第一和Aj小於第二和Bj(此意指與第一權重矩陣的所選擇行匹配的1的數量小於與第一權重矩陣的所選擇行不匹配的0的數量)時,比較器Comp將比較結果OUTj輸出為1(即,具有相對高的電壓)。
在一些實施例中,比較器Comp的比較器閾值可為50%。也就是說,當比較結果OUTj為1時,在第一輸入矩陣中將存在超過50%的1與第一權重矩陣的所選擇行匹配。當比較結果OUTj為0時,在第一輸入矩陣中將存在少於50%的1與第一權重矩陣的所選擇行匹配。
簡單來說,記憶體裝置2可在第二配置下進行操作。在第二配置中,儲存區塊21、儲存區塊22在儲存相同的第一權重矩陣的同時分別接收互補或相反的第一輸入矩陣與第二輸入矩陣。因此,可通過AND運算對第一輸入矩陣與第一權重矩陣進行比較,以產生對應的比較結果OUT。
圖3A示出根據本公開一些實施例的記憶體裝置3。記憶體裝置3包括儲存陣列30。儲存陣列30包括儲存區塊31、儲存區塊32。儲存區塊31、儲存區塊32包括多個儲存單元MC。如圖3A中所示的在第一配置下進行操作的儲存陣列30、儲存區塊31、儲存區塊32相似於如圖1A中所示的儲存陣列10、儲存區塊11、儲存區塊12。不同之處在於,儲存區塊31、儲存區塊32在分別儲存第二權重矩陣及第一權重矩陣的同時接收相同的第二輸入矩陣。在本文中將不再對相同或相似的內容予以贅述。
具體來說,包括輸入值!X1到輸入值!Xn的第二輸入矩陣被提供到儲存區塊31、儲存區塊32。儘管在圖3A中未示出,然而第二輸入矩陣與第一輸入矩陣是互補的或相反的。另外,由儲存區塊31儲存的第二權重矩陣與由儲存區塊32儲存的第一權重矩陣也是互補的或相反的。具體來說,兩個矩陣是互補的或相反的是指所述兩個矩陣的相同位置(即,相同行及相同列)處的兩個值是相反的,一個值為1且另一值為0。
由於儲存區塊31中的每一儲存單元MC接收第一輸入矩陣的經反轉輸入值且儲存第一權重矩陣的經反轉權重值,因此每一儲存單元MC根據所接收的經反轉輸入值及所儲存的經反轉權重值執行AND運算。等效地,基於經反轉輸入值及經反轉權重值執行的AND運算可被轉換為基於第一輸入矩陣的輸入值及第一權重矩陣的權重值執行的NOR運算。因此,當第一輸入矩陣的輸入值及第一權重矩陣的權重值二者均為0時,儲存單元從位元線汲取電流。同一行中的儲存單元MC執行相應的NOR運算,以判斷是否從同一位元線汲取電流。從每一位元線汲取的總電流對應於由每一行執行的NOR運算之和。因此,從位元線BL1到位元線BLm汲取的電流形成第一和矩陣,且從位元線BLm+1到位元線BL2m汲取的電流形成第二和矩陣。
由儲存區塊31、儲存區塊32執行的NOR運算及和運算可參考如下。
輸入值!X1到輸入值!Xn是第二輸入矩陣的輸入值。權重值W1,1到權重值Wn,m是第一權重矩陣的權重值,且權重值!W1,1到權重值!Wn,m是第二權重矩陣的權重值。和值A1到和值Am是第一和矩陣的和值,且和值B1到和值Bm是第二和矩陣的和值。
圖3B示出比較器Comp如何對如圖3A中所示的所選擇的第j行的第一和Aj與第二和Bj進行比較的等效電路。由於儲存區塊31、儲存區塊32中的每一儲存單元MC根據第一輸入矩陣的輸入值及第一權重矩陣的權重值執行NOR運算,因此每一儲存單元MC等效地用作反或閘,以根據第一輸入矩陣的輸入值及第一權重矩陣的權重值產生輸出值。由儲存單元MC產生的或非結果在位元線上被相加且被提供到比較器Comp,以用於產生比較結果OUTj。具體來說,第一和Aj對應於在第一輸入矩陣中有多少0與第一權重矩陣的所選擇行匹配,而第二和Bj對應於在第二輸入矩陣中有多少0與第一權重矩陣的所選擇行不匹配。為對在第一輸入矩陣中與第一權重矩陣的所選擇行匹配的0的數量與在第二輸入矩陣中與第一權重矩陣的所選擇行不匹配的0的數量進行比較,比較器Comp通過從第一和Aj減去第二和Bj來產生比較結果OUTj。當第一和Aj大於第二和Bj(此意指與第一權重矩陣的所選擇行匹配的0的數量大於與第一權重矩陣的所選擇行不匹配的0的數量)時,比較器Comp將比較結果OUTj輸出為0(即,具有相對低的電壓)。當第一和Aj小於第二和Bj(此意指與第一權重矩陣的所選擇行匹配的0的數量小於與第一權重矩陣的所選擇行不匹配的0的數量)時,比較器Comp將比較結果OUTj輸出為1(即,具有相對高的電壓)。
在一些實施例中,比較器Comp的比較器閾值可為50%。也就是說,當比較結果OUTj為1時,在第二輸入矩陣中將存在超過50%的1與第一權重矩陣的所選擇行匹配。當比較結果OUTj為0時,在第二輸入矩陣中將存在少於50%的1與第一權重矩陣的所選擇行匹配。
簡單來說,記憶體裝置3可在第一配置下進行操作。在第一配置中,儲存區塊31、儲存區塊32在接收相同的第二輸入矩陣的同時分別儲存互補或相反的第二權重矩陣與第一權重矩陣。因此,可通過NOR運算對第一輸入矩陣與第一權重矩陣進行比較,以產生對應的比較結果OUTj。
圖4A示出根據本公開一些實施例的記憶體裝置4。記憶體裝置4包括儲存陣列40。儲存陣列40包括儲存區塊41、儲存區塊42。記憶體裝置4可在第一配置下進行操作,其中儲存區塊41、儲存區塊42接收相同的輸入矩陣,但儲存互補或相反的權重矩陣。兩個矩陣是互補的或相反的是指所述兩個矩陣的相同位置(即,相同行及相同列)處的兩個值是相反的,一個值為1且另一值為0。
儲存區塊41、儲存區塊42包括多個儲存單元,為易於理解而省略所述儲存單元。儲存區塊41的儲存單元被劃分成第一儲存子區塊411與第二儲存子區塊412。儲存區塊42的儲存單元被劃分成第三儲存子區塊421與第四儲存子區塊422。第一儲存子區塊411與第四儲存子區塊422儲存相同的第一權重子矩陣。第二儲存子區塊412與第三儲存子區塊421儲存相同的第二權重子矩陣。第一輸入矩陣被輸入到儲存區塊41、儲存區塊42。具體來說,包括輸入值!X1到輸入值!Xn的第一輸入子矩陣通過字線WL1到字線WLn被提供到第一儲存子區塊411及第三儲存子區塊421。包括輸入值X1至輸入值Xn的第二輸入子矩陣通過字線WLn+1到字線WL2n被提供到第二儲存子區塊412及第四儲存子區塊422。
儲存區塊41的運算可參考如下。
輸入值X1到輸入值Xn是第一輸入矩陣的輸入值。輸入值!X1到輸入值!Xn是第二輸入矩陣的輸入值,所述第二輸入矩陣儲存第一輸入矩陣的補數或反轉權重。權重值W1,1到權重值Wn,m是第一權重矩陣的權重值,且權重值!W1,1到權重值!Wn,m是第二權重矩陣的權重值。和值A1到和值Am是由儲存區塊41產生的第一和矩陣的和值。因此,儲存區塊41的運算等效地用於根據第二輸入子矩陣及第一權重子矩陣執行XOR運算。
另外,儲存區塊42的運算可參考如下。
輸入值X1到輸入值Xn是第一輸入矩陣的輸入值。輸入值!X1到輸入值!Xn是第二輸入矩陣的輸入值,所述第二輸入矩陣儲存第一輸入矩陣的補數或反轉權重。權重值W1,1到權重值Wn,m是第一權重矩陣的權重值,且權重值!W1,1到權重值!Wn,m是第二權重矩陣的權重值。和值B1到和值Bm是由儲存區塊42產生的第二和矩陣的和值。因此,儲存區塊42的運算等效地用於根據第二輸入子矩陣及第一權重子矩陣執行XNOR運算。
圖4B示出比較器Comp如何對如圖4A中所示的所選擇的第j行的第一和Aj與第二和Bj進行比較的等效電路。對於儲存區塊41,輸入值分別與對應的權重值進行XOR運算且在所選擇的第j位元線上被相加。對於儲存區塊42,輸入值分別與對應的權重值進行XNOR運算且在所選擇的第j位元線上被相加。由儲存單元MC產生的異或結果與異或非結果在相應的位元線上被相加且被提供到比較器Comp,以用於產生比較結果OUTj。具體來說,第一和Aj對應於在第二輸入子矩陣中有多少0及1與第一權重子矩陣的所選擇行匹配,而第二和Bj對應於在第二輸入子矩陣中有多少0及1與第一權重子矩陣的所選擇行不匹配。為對在第二輸入子矩陣中與第一權重子矩陣的所選擇行匹配的位的數量與在第二輸入子矩陣中與第一權重子矩陣的所選擇行不匹配的位的數量進行比較,比較器Comp通過從第一和Aj減去第二和Bj來產生比較結果OUTj。當第一和Aj大於第二和Bj(此意指與第一權重子矩陣的所選擇行匹配的位的數量大於與第一權重子矩陣的所選擇行不匹配的位的數量)時,比較器Comp將比較結果OUTj輸出為0(即,具有相對低的電壓)。當第一和Aj小於第二和Bj(此意指與第一權重子矩陣的所選擇行匹配的位的數量小於與第一權重子矩陣的所選擇行不匹配的位的數量)時,比較器Comp將比較結果OUTj輸出為1(即,具有相對高的電壓)。
在一些實施例中,比較器Comp的比較器閾值可為50%。也就是說,當比較結果OUTj為1時,在第二輸入矩陣中將存在超過50%的1與第一權重矩陣的所選擇行匹配。當比較結果OUTj為0時,在第二輸入矩陣中將存在少於50%的1與第一權重矩陣的所選擇行匹配。
圖5A示出根據本公開一些實施例的記憶體裝置5a。記憶體裝置5a包括儲存陣列51到儲存陣列53、X解碼器511、Y解碼器512、X解碼器521、Y解碼器522、X解碼器531、Y解碼器532、比較器Comp及控制器54。圖5A中所示的儲存陣列51可相似於如圖4A中所示的儲存陣列40,以執行XOR運算。圖5A中所示的儲存陣列52可相似於如圖1A中所示的儲存陣列10,以執行AND運算。圖5A中所示的儲存陣列53可相似於如圖3A中所示的儲存陣列30,以執行OR運算。
具體來說,存在耦合到儲存陣列51到儲存陣列53的多個比較器Comp,且每一比較器Comp通過兩條位元線連接到儲存陣列51到儲存陣列53。因此,所述多個比較器Comp可同時產生比較結果以實現平行計算。另外,儲存陣列51的操作由X解碼器511及Y解碼器522進行控制。相似地,儲存陣列52、儲存陣列53的操作由X解碼器521、X解碼器531及Y解碼器522、Y解碼器532進行控制。控制器54可對X解碼器511、X解碼器521、X解碼器531及Y解碼器512、Y解碼器522、Y解碼器532進行控制,以用於選擇對位元線BL1到位元線BL2n執行的一個或多個邏輯運算。在一些實施例中,通過利用X解碼器511、X解碼器521、X解碼器531、Y解碼器512、Y解碼器522、Y解碼器532及所述多個比較器Comp,記憶體裝置5a可用於進行多項式計算。
在一些實施例中,比較結果可被回饋到控制器54,因此控制器54可根據回饋比較結果及輸入IN來對儲存陣列51到儲存陣列53以及X解碼器511到X解碼器531、Y解碼器512到Y解碼器532的後續操作進行控制。
圖5B示出根據本公開一些實施例的記憶體裝置5b。如圖5B中所示的記憶體裝置5b相似於如圖5A中所示的記憶體裝置5a。不同之處在於,圖5B中的儲存陣列51到儲存陣列53被合併及組合為一個儲存陣列50。
具體來說,儲存陣列50的操作由X解碼器501及Y解碼器502進行控制。在不具有直接連接到儲存陣列51到儲存陣列53中的每一者的單獨的Y解碼器的情況下,就所選擇位元線而言,連接到所選擇位元線的所有儲存陣列將被使能,且一旦對應的Y解碼器被使能,便將輸出相加。為產生所需的輸出布林函數,控制器54將僅向所選擇的儲存陣列提供輸入矩陣,且向未被選擇的儲存陣列提供零矩陣。
圖6A示出根據本公開相同實施例的記憶體裝置6a。如圖6A中所示的記憶體裝置6a相似於如圖1A中所示的記憶體裝置1,不同的是圖6A中的記憶體裝置6a另外包括負載63、負載64。
在一些實施例中,可利用負載63、負載64對比較器Comp的比較器閾值進行調整。具體來說,負載63、負載64分別連接到比較器Comp的正輸入端及負輸入端。對於比較器的正輸入端,根據負載63的電阻及接通的儲存單元MC的數量產生偏置電壓。所選擇位元線中接通的儲存單元MC越多,偏置電壓被下拉得越低。因此,由儲存區塊11、儲存區塊12在兩條所選擇位元線上產生的總和電流可被轉換成電壓信號。因此,比較器Comp可對從正輸入端接收的電壓與從負輸入端接收的電壓進行比較,以產生比較結果。
另外,通過對負載63、負載64的電阻進行調整,可對比較器Comp的比較器閾值進行調整。在一些實施例中,負載63、負載64是由P型金屬氧化物半導體(P-type metal-oxide-semiconductor,PMOS)實施的有源負載,且可通過改變負載的寬長比率(W/L ratio)來對負載的電阻進行調整。在一些實施例中,比較器Comp可為理想的,且負載63、負載64的電阻相等,並且比較器閾值為50%。然而,在一些實施例中,當負載63、負載64被調整成2:1、3:1、4:1、7:1、9:1、3:2時,比較器閾值可分別為66.6%、75%、80%、87.5%、90%、60%。當然,負載63、負載64之間的不同比率也處於各種實施例的範圍內。
圖6B示出根據本公開相同實施例的記憶體裝置6b。如圖6B中所示的記憶體裝置6b相似於如圖6A中所示的記憶體裝置6a,不同的是在圖6B中添加負載65、負載66。
在一些實施例中,負載63、負載64的電阻是等效的。可利用負載65、66對比較器Comp的比較器閾值進行調整。在一些實施例中,負載65、負載66是由電容器實施的電容性負載。在開始時,可將負載65、負載66預充電到預定電壓。在所選擇位元線上的儲存單元MC已接收到輸入值之後,正輸入端及負輸入端的電壓被儲存單元MC下拉。因此,提供到比較器Comp的正輸入端及負輸入端的電壓是根據負載65、負載66的電容以及所選擇位元線上的接通的儲存單元MC的數量來確定的。因此,可通過使負載65、負載66的電容發生變化來對比較器閾值進行調整。當負載65、負載66的電容被調整為2:1、3:1、4:1、7:1、9:1、3:2時,比較器閾值可分別為66.6%、75%、80%、87.5%、90%、60%。當然,負載65、負載66之間的不同比率也處於各種實施例的範圍內。
圖7示出根據本公開一些實施例的在記憶體裝置中進行資料運算的方法的流程圖。所述流程圖可由以上段落中闡述的記憶體裝置來實施。總的來說,以上段落中的記憶體裝置的操作可被概括為圖7所示流程圖。所述資料運算方法包括步驟S71到步驟S74。在步驟S71中,提供儲存陣列,所述儲存陣列包括分別儲存第一權重矩陣及第二權重矩陣的第一儲存區塊及第二儲存區塊。在步驟S72中,由第一儲存區塊根據第一權重矩陣及第一輸入矩陣執行乘法及累加運算,以產生第一和。在步驟S73中,由第二儲存區塊根據第二權重矩陣及第二輸入矩陣執行乘法及累加運算,以產生第二和。在步驟S74中,由比較器對第一和與第二和進行比較以產生比較結果。具體來說,計算方法可在第一配置或第二配置中進行操作。在第一配置中,第一輸入矩陣的每一值與第二輸入矩陣的每一值是相同的,且第一權重矩陣的每一值與第二權重矩陣的每一值互補。在第二配置中,第一輸入矩陣的每一值與第二輸入矩陣的每一值互補,且第一權重矩陣的每一值與第二權重矩陣的每一值是相同的。步驟S71到步驟S74的詳細操作參照對記憶體裝置的操作進行闡述的以上段落,在本文中被省略。
綜上所述,根據本公開實施例的記憶體裝置及其資料運算方法通過記憶體內計算而使用各種布林邏輯運算來對輸入值與權重值執行比較。由於輸入值與權重值之間的比較可應用於不同的應用(例如圖像辨別、指紋識別、聲音辨別、語音辨別等)。因此,記憶體裝置及其資料運算方法可在提高計算速度的同時有效地降低設計複雜度。
對於所屬領域中的技術人員來說顯而易見的是,在不背離本公開的範圍或精神的條件下,可對所公開的實施例進行各種修改及變化。鑒於以上內容,本公開旨在涵蓋落入以下申請專利範圍及其等效內容的範圍內的修改及變化。
1、2、3、4、5a、5b、6a、6b:記憶體裝置
10、20、30、40、50、51、52、53:儲存陣列
11:第一儲存區塊
12:第二儲存區塊
21、22、31、32、41、42:儲存區塊
54:控制器
63、64、65、66:負載
411:第一儲存子區塊
412:第二儲存子區塊
421:第三儲存子區塊
422:第四儲存子區塊
501、511、521、531:X解碼器
502、512、522、532:Y解碼器
A1、Am、B1、Bm:和值
Aj:第一和
Bj:第二和
BL1、BL2、BL3、BL4、BL2n-1、BL2n、BLm、BLm+1、BLm+2、BL2m:位元線
BS:位元線選擇信號
Comp:比較器
IN:輸入
MC:儲存單元
MX1、MX2:多工器
OUTj:比較結果
S71、S72、S73、S74:步驟
VSS:參考電壓
W0,j、W1,1、W1,m、Wn,1、Wn,j、Wn,m、!W0,j、!W1,1、!W1,m、!Wn,1、!Wn,j、!Wn,m:權重值
WL1、WL2、WLn-1、WLn、WLn+1、WLn+2、WL2n:字線
X0、X1、X2、Xn-1、Xn、!X0、!X1、!X2、!Xn-1、!Xn:輸入值
包括附圖以提供對本公開的進一步理解,且附圖被併入本說明書中並構成本說明書的一部分。圖式示出本公開的示例性實施例,且與說明一同用於闡釋本公開的原理。
圖1A示出根據本公開一些實施例的記憶體裝置。
圖1B示出比較器如何對如圖1A中所示的所選擇行的第一和與第二和進行比較的等效電路。
圖2A示出根據本公開一些實施例的記憶體裝置。
圖2B示出比較器如何對如圖2A中所示的所選擇行的第一和與第二和進行比較的等效電路。
圖3A示出根據本公開一些實施例的記憶體裝置。
圖3B示出比較器如何對如圖3A中所示的所選擇行的第一和與第二和進行比較的等效電路。
圖4A示出根據本公開一些實施例的記憶體裝置。
圖4B示出比較器如何對如圖4A中所示的所選擇行的第一和與第二和進行比較的等效電路。
圖5A示出根據本公開一些實施例的記憶體裝置。
圖5B示出根據本公開一些實施例的記憶體裝置。
圖6A示出根據本公開相同實施例的記憶體裝置。
圖6B示出根據本公開相同實施例的記憶體裝置。
圖7示出根據本公開一些實施例的在記憶體裝置中進行資料運算的方法的流程圖。
S71~S74:步驟
Claims (17)
- 一種記憶體裝置,包括: 儲存陣列,包括: 第一儲存區塊,儲存第一權重矩陣,接收第一輸入矩陣,且根據所述第一權重矩陣及所述第一輸入矩陣執行乘法及累加運算以產生第一和;以及 第二儲存區塊,儲存第二權重矩陣,接收第二輸入矩陣且根據所述第二權重矩陣及所述第二輸入矩陣執行所述乘法及累加運算以產生第二和;以及 比較器,被配置成對所述第一和與所述第二和進行比較以產生比較結果, 其中在第一配置中,所述第一輸入矩陣的每一值與所述第二輸入矩陣的每一值是相同的,且所述第一權重矩陣的每一值與所述第二權重矩陣的每一值互補, 其中在第二配置中,所述第一輸入矩陣的每一值與所述第二輸入矩陣的每一值互補,且所述第一權重矩陣的每一值與所述第二權重矩陣的每一值是相同的。
- 如請求項1所述的記憶體裝置,其中所述第一儲存區塊及所述第二儲存區塊分別通過第一位元線及第二位元線耦合到所述比較器, 其中所述第一和對應於從所述第一位元線汲取的總電流,且所述第二和對應於從所述第二位元線汲取的總電流, 其中所述比較器通過從所述第一和減去所述第二和來產生所述比較結果。
- 如請求項1所述的記憶體裝置,其中在所述第一配置及所述第二配置中,所述第一儲存區塊對所述第一輸入矩陣的每一值與所述第一權重矩陣的每一值執行及(AND)運算,所述第二儲存區塊對所述第二輸入矩陣的每一值與所述第二權重矩陣的每一值執行所述AND運算, 其中所述比較器產生所述比較結果,以通過所述AND運算將所述第一輸入矩陣的每一值與所述第一權重矩陣的每一值進行比較。
- 如請求項1所述的記憶體裝置,其中在所述第一配置中,提供到所述第一儲存區塊及所述第二儲存區塊的所述第一輸入矩陣的每一值是第三輸入矩陣的每一值的補數,且所述第一儲存區塊對所述第三輸入矩陣的每一值與所述第二權重矩陣的每一值執行反或(NOR)運算,所述第二儲存區塊對所述第三輸入矩陣的每一值與所述第一權重矩陣的每一值執行所述NOR運算。
- 如請求項1所述的記憶體裝置,其中在所述第一配置中,所述第一輸入矩陣包括第一輸入子矩陣及第二輸入子矩陣,且所述第一權重矩陣包括第一權重子矩陣及第二權重子矩陣,其中所述第一輸入子矩陣的每一值與所述第二輸入子矩陣的每一值互補,所述第一權重子矩陣的每一值與所述第二權重子矩陣的每一值互補。
- 如請求項5所述的記憶體裝置,其中所述第一儲存區塊包括: 第一儲存子區塊,被配置成儲存所述第一權重子矩陣且接收所述第一輸入子矩陣;以及 第二儲存子區塊,被配置成儲存所述第二權重子矩陣且接收所述第二輸入子矩陣,其中所述第一儲存區塊對所述第二輸入子矩陣的每一值與所述第一權重子矩陣的每一值執行互斥或(XOR)運算, 其中所述第二儲存區塊包括: 第三儲存子區塊,被配置成儲存所述第二權重子矩陣且接收所述第一輸入子矩陣;以及 第四儲存子區塊,被配置成儲存所述第一權重子矩陣且接收所述第二輸入子矩陣,其中所述第二儲存區塊對所述第二輸入子矩陣的每一值與所述第一權重子矩陣的每一值執行反互斥或(XNOR)運算。
- 如請求項1所述的記憶體裝置,其中所述儲存陣列包括多個儲存功能區塊,所述多個儲存功能區塊用於對所述第一輸入矩陣的每一值與所述第一權重矩陣的每一值執行不同的邏輯運算。
- 如請求項2所述的記憶體裝置,還包括分別耦合到所述第一位元線及所述第二位元線的第一負載及第二負載, 其中所述第一位元線的電壓與從所述第一位元線汲取的所述總電流之間的第一比率是根據所述第一負載進行調整, 其中所述第二位元線的電壓與從所述第二位元線汲取的所述總電流之間的第二比率是根據所述第二負載進行調整。
- 如請求項8所述的記憶體裝置,其中所述第一負載及所述第二負載是上拉負載或電容器。
- 一種在記憶體裝置中進行資料運算的方法,包括: 提供儲存陣列,所述儲存陣列包括分別儲存第一權重矩陣及第二權重矩陣的第一儲存區塊及第二儲存區塊; 由所述第一儲存區塊根據所述第一權重矩陣及第一輸入矩陣執行乘法及累加運算,以產生第一和; 由所述第二儲存區塊根據所述第二權重矩陣及第二輸入矩陣執行所述乘法及累加運算,以產生第二和; 由比較器對所述第一和與所述第二和進行比較以產生比較結果, 其中在第一配置中,所述第一輸入矩陣的每一值與所述第二輸入矩陣的每一值是相同的,且所述第一權重矩陣的每一值與所述第二權重矩陣的每一值互補, 其中在第二配置中,所述第一輸入矩陣的每一值與所述第二輸入矩陣的每一值互補,且所述第一權重矩陣的每一值與所述第二權重矩陣的每一值是相同的。
- 如請求項10所述的資料運算的方法,其中所述第一儲存區塊及所述第二儲存區塊分別通過第一位元線及第二位元線耦合到所述比較器, 其中所述第一和對應於從所述第一位元線汲取的總電流,且所述第二和對應於從所述第二位元線汲取的總電流, 其中所述比較器通過從所述第一和減去所述第二和來產生所述比較結果。
- 如請求項10所述的資料運算的方法,其中在所述第一配置及所述第二配置中,所述第一儲存區塊對所述第一輸入矩陣的每一值與所述第一權重矩陣的每一值執行AND運算,所述第二儲存區塊對所述第二輸入矩陣的每一值與所述第二權重矩陣的每一值執行所述AND運算, 其中所述比較器產生所述比較結果,以通過所述AND運算將所述第一輸入矩陣的每一值與所述第一權重矩陣的每一值進行比較。
- 如請求項10所述的資料運算的方法,其中在所述第一配置中,提供到所述第一儲存區塊及所述第二儲存區塊的所述第一輸入矩陣的每一值是第三輸入矩陣的每一值的補數,且所述第一儲存區塊對所述第三輸入矩陣的每一值與所述第二權重矩陣的每一值執行NOR運算,所述第二儲存區塊對所述第三輸入矩陣的每一值與所述第一權重矩陣的每一值執行所述NOR運算。
- 如請求項10所述的資料運算的方法,其中在所述第一配置中,所述第一輸入矩陣包括第一輸入子矩陣及第二輸入子矩陣,且所述第一權重矩陣包括第一權重子矩陣及第二權重子矩陣,其中所述第一輸入子矩陣的每一值與所述第二輸入子矩陣的每一值互補,所述第一權重子矩陣的每一值與所述第二權重子矩陣的每一值互補。
- 如請求項14所述的資料運算的方法,包括: 由所述第一儲存區塊的第一儲存子區塊儲存所述第一權重子矩陣且接收所述第一輸入子矩陣; 由所述第一儲存區塊的第二儲存子區塊儲存所述第二權重子矩陣且接收所述第二輸入子矩陣,其中所述第一儲存區塊對所述第二輸入子矩陣的每一值與所述第一權重子矩陣的每一值執行XOR運算; 由所述第二儲存區塊的第三儲存子區塊儲存所述第二權重子矩陣且接收所述第一輸入子矩陣;以及 由所述第二儲存區塊的第四儲存子區塊儲存所述第一權重子矩陣且接收所述第二輸入子矩陣,其中所述第二儲存區塊對所述第二輸入子矩陣的每一值與所述第一權重子矩陣的每一值執行XNOR運算。
- 如請求項10所述的資料運算的方法,還包括由所述儲存陣列的多個儲存功能區塊對所述第一輸入矩陣的每一值與所述第一權重矩陣的每一值執行不同的邏輯運算。
- 如請求項11所述的資料運算的方法,其中第一負載及第二負載分別耦合到所述第一位元線及所述第二位元線,其中所述第一位元線的電壓與從所述第一位元線汲取的所述總電流之間的第一比率是根據所述第一負載進行調整,其中所述第二位元線的電壓與從所述第二位元線汲取的所述總電流之間的第二比率是根據所述第二負載進行調整。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/693,406 | 2022-03-13 | ||
| US17/693,406 US20230289143A1 (en) | 2022-03-13 | 2022-03-13 | Memory device and computing method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202336609A true TW202336609A (zh) | 2023-09-16 |
| TWI867438B TWI867438B (zh) | 2024-12-21 |
Family
ID=87931741
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW112105888A TWI867438B (zh) | 2022-03-13 | 2023-02-17 | 記憶體裝置及其資料運算方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20230289143A1 (zh) |
| CN (1) | CN116758959A (zh) |
| TW (1) | TWI867438B (zh) |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10943652B2 (en) * | 2018-05-22 | 2021-03-09 | The Regents Of The University Of Michigan | Memory processing unit |
| JP7555944B2 (ja) * | 2019-02-26 | 2024-09-25 | ライトマター インコーポレイテッド | ハイブリッドアナログ・デジタル行列プロセッサ |
| US10964356B2 (en) * | 2019-07-03 | 2021-03-30 | Qualcomm Incorporated | Compute-in-memory bit cell |
| US11562212B2 (en) * | 2019-09-09 | 2023-01-24 | Qualcomm Incorporated | Performing XNOR equivalent operations by adjusting column thresholds of a compute-in-memory array |
| WO2021081854A1 (zh) * | 2019-10-30 | 2021-05-06 | 华为技术有限公司 | 一种卷积运算电路和卷积运算方法 |
| US11663000B2 (en) * | 2020-01-07 | 2023-05-30 | SK Hynix Inc. | Multiplication and accumulation(MAC) operator and processing-in-memory (PIM) device including the MAC operator |
| CN115461712A (zh) * | 2020-02-05 | 2022-12-09 | 普林斯顿大学理事会 | 用于存储器内计算的可缩放阵列架构 |
| US20220027130A1 (en) * | 2020-07-27 | 2022-01-27 | Robert Bosch Gmbh | Time domain ratiometric readout interfaces for analog mixed-signal in memory compute crossbar networks |
-
2022
- 2022-03-13 US US17/693,406 patent/US20230289143A1/en active Pending
-
2023
- 2023-02-17 TW TW112105888A patent/TWI867438B/zh active
- 2023-03-01 CN CN202310182334.4A patent/CN116758959A/zh active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| TWI867438B (zh) | 2024-12-21 |
| CN116758959A (zh) | 2023-09-15 |
| US20230289143A1 (en) | 2023-09-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110597555B (zh) | 非易失性存内计算芯片及其运算控制方法 | |
| US11436478B2 (en) | Control circuit for multiply accumulate circuit of neural network system | |
| TWI750038B (zh) | 記憶體裝置、計算裝置及計算方法 | |
| TWI660363B (zh) | Non-volatile semiconductor memory device | |
| TWI699711B (zh) | 記憶體裝置及其製造方法 | |
| Zhang et al. | The application of non-volatile look-up-table operations based on multilevel-cell of resistance switching random access memory | |
| TWI803889B (zh) | 運算裝置及運算方法 | |
| US20220375508A1 (en) | Compute in memory (cim) memory array | |
| KR102739130B1 (ko) | 뉴럴 네트워크를 구현하기 위한 전자 장치 | |
| TWI771014B (zh) | 記憶體電路及其操作方法 | |
| JP7561906B2 (ja) | メモリシステム及びメモリシステムの操作方法 | |
| TWI849433B (zh) | 用於實行記憶體內計算的計算裝置、記憶體控制器及方法 | |
| CN111581141A (zh) | 存储器装置及其操作方法 | |
| CN109905115B (zh) | 一种可逆逻辑电路及其操作方法 | |
| CN111028875A (zh) | 存内计算电路 | |
| CN114186291A (zh) | 基于铁电晶体管的物理不可克隆函数结构及注册方法 | |
| KR102154834B1 (ko) | 저전력 및 고속 연산을 위한 dram용 비트와이즈 컨볼루션 회로 | |
| Kim et al. | VCAM: Variation compensation through activation matching for analog binarized neural networks | |
| Motaman et al. | Dynamic computing in memory (DCIM) in resistive crossbar arrays | |
| TWI867438B (zh) | 記憶體裝置及其資料運算方法 | |
| Bian et al. | Computing in-memory with cascaded spintronic devices for AI edge | |
| US20230333814A1 (en) | Compute-in memory (cim) device and computing method thereof | |
| Sim et al. | LUPIS: Latch-up based ultra efficient processing in-memory system | |
| Reuben et al. | Carry-free addition in resistive ram array: n-bit addition in 22 memory cycles | |
| WO2022029790A1 (en) | A flash adc based method and process for in-memory computation |