TWI602191B - 藉由記憶體中向量之元素之資料移位 - Google Patents
藉由記憶體中向量之元素之資料移位 Download PDFInfo
- Publication number
- TWI602191B TWI602191B TW105107657A TW105107657A TWI602191B TW I602191 B TWI602191 B TW I602191B TW 105107657 A TW105107657 A TW 105107657A TW 105107657 A TW105107657 A TW 105107657A TW I602191 B TWI602191 B TW I602191B
- Authority
- TW
- Taiwan
- Prior art keywords
- comp
- stored
- coupled
- bit
- row
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1036—Read-write modes for single port memories, i.e. having either a random port or a serial port using data shift registers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/06—Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
- G11C7/065—Differential amplifiers of latching type
-
- 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/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4091—Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
-
- 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/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
- G11C7/1012—Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Dram (AREA)
Description
本發明一般而言係關於半導體記憶體設備及方法,且更特定而言,係關於與在記憶體中執行移位運算有關之設備及方法。
記憶體裝置通常經提供為電腦或其他電子系統中之內部半導體積體電路。存在諸多不同類型之記憶體,包含揮發性及非揮發性記憶體。揮發性記憶體可需要電力以維持其資料(例如,主機資料、錯誤資料等)且尤其包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、同步動態隨機存取記憶體(SDRAM)及閘流體隨機存取記憶體(TRAM)。非揮發性記憶體在不被供電時可藉由存留所儲存資料而提供永久資料,且可尤其包含NAND快閃記憶體、NOR快閃記憶體及電阻可變記憶體(諸如相變隨機存取記憶體(PCRAM))、電阻式隨機存取記憶體(RRAM)及磁阻式隨機存取記憶體(MRAM)(諸如自旋轉矩轉移隨機存取記憶體(STT RAM))。
電子系統通常包含若干個處理資源(例如,一或多個處理器),該等處理資源可檢索並執行指令且將所執行指令之結果儲存至一適合位置。一處理器可包括若干個功能單元(例如,本文中被稱為功能單元電路(FUC)),諸如算術邏輯單元(ALU)電路、浮點單元(FPU)電路及/或組合邏輯區塊,舉例而言,該等功能單元可執行指令以對資料(例如,一或多個運算元)執行邏輯運算(諸如AND、OR、NOT、NAND、
NOR及XOR邏輯運算)。
在將指令提供至功能單元電路以供執行時,可涉及一電子系統中之若干個組件。該等指令可(舉例而言)由諸如一控制器及/或主機處理器之一處理資源產生。資料(例如,將對其執行指令以執行邏輯運算的運算元)可經儲存於可由FUC存取之一記憶體陣列中。在FUC開始對資料執行指令之前,可從記憶體陣列檢索指令及/或資料並對其進行定序及/或緩衝。此外,由於可在一個或多個時脈週期中通過FUC執行不同類型之運算,因此還可對運算及/或資料之中間結果進行定序及/或緩衝。
在諸多例項中,處理資源(例如,處理器及/或相關聯FUC)可在記憶體陣列外部,且資料可經存取(例如,經由處理資源與記憶體陣列之間的一匯流排)以執行指令。資料可自記憶體陣列經由一匯流排移動至在記憶體陣列外部之暫存器。
100‧‧‧計算系統/系統
110‧‧‧主機
120‧‧‧記憶體裝置/裝置
130‧‧‧記憶體陣列/陣列
140‧‧‧控制電路/控制器
142‧‧‧位址電路
144‧‧‧輸入/輸出電路
146‧‧‧列解碼器
148‧‧‧寫入電路
150‧‧‧感測電路
152‧‧‧行解碼器
154‧‧‧控制匯流排
156‧‧‧輸入/輸出匯流排
170‧‧‧移位控制器
201-1‧‧‧記憶體胞元
201-2‧‧‧記憶體胞元
201-3‧‧‧記憶體胞元/選定胞元
201-4‧‧‧記憶體胞元
201-5‧‧‧記憶體胞元
201-6‧‧‧記憶體胞元
202-1‧‧‧對應電晶體
202-2‧‧‧對應電晶體
202-3‧‧‧對應電晶體/電晶體
202-4‧‧‧對應電晶體/電晶體
202-5‧‧‧對應電晶體
202-6‧‧‧對應電晶體
203-1‧‧‧對應電容器
203-2‧‧‧對應電容器
203-3‧‧‧對應電容器/電容器/儲存元素
203-4‧‧‧對應電容器/電容器/儲存元素
203-5‧‧‧對應電容器
203-6‧‧‧對應電容器
204-X‧‧‧字線/存取線/列
204-Y‧‧‧字線/存取線
205-1‧‧‧資料線/互補資料線/互補感測線/感測線
205-2‧‧‧資料線/互補資料線/互補感測線/感測線
206‧‧‧感測放大器
206-1‧‧‧感測放大器
206-2‧‧‧感測放大器/對應感測放大器/特定感測放大器
206-3‧‧‧感測放大器
207-1‧‧‧下拉電晶體/通過電晶體/通過閘極
207-2‧‧‧下拉電晶體/通過閘極
208-1‧‧‧負載/通過電晶體/電晶體/p通道電晶體
208-2‧‧‧負載/通過電晶體/電晶體/p通道電晶體
209-1‧‧‧電晶體/n通道電晶體
209-2‧‧‧電晶體/n通道電晶體
212-1‧‧‧作用負控制信號線/負控制信號線/負控制信號/控制線
212-2‧‧‧作用正控制信號線/正控制信號線/正控制信號/控制線
213-1‧‧‧ANDinv控制信號線
213-2‧‧‧ORinv控制信號線
214-1‧‧‧下拉電晶體/電晶體
214-2‧‧‧下拉電晶體/電晶體
215‧‧‧鎖存器/經交叉耦合鎖存器
216-1‧‧‧電晶體
216-2‧‧‧電晶體
217-1‧‧‧鎖存器輸入
217-2‧‧‧鎖存器輸入
218-1‧‧‧負載/通過電晶體/電晶體
218-2‧‧‧負載/通過電晶體/電晶體
219‧‧‧互補控制信號/控制信號
221-1‧‧‧隔離電晶體/非導通隔離電晶體
221-2‧‧‧隔離電晶體/非導通隔離電晶體
221-3‧‧‧隔離電晶體
221-4‧‧‧隔離電晶體
222‧‧‧控制信號
223-1‧‧‧移位電路
223-2‧‧‧移位電路
223-3‧‧‧移位電路
224‧‧‧電晶體
225-1‧‧‧電晶體
225-2‧‧‧電晶體
226‧‧‧控制信號/EQ
227-1‧‧‧n通道電晶體/電晶體
227-2‧‧‧n通道電晶體/電晶體
228‧‧‧作用負控制信號/信號/RnIF
229-1‧‧‧p通道電晶體/電晶體
229-2‧‧‧p通道電晶體/電晶體
230‧‧‧記憶體陣列/陣列
231‧‧‧計算組件
231-1‧‧‧計算組件
231-2‧‧‧計算組件/對應計算組件/累加器
231-3‧‧‧計算組件
233-1‧‧‧鎖存器輸入
233-2‧‧‧鎖存器輸入
238‧‧‧平衡電壓
239-1‧‧‧電晶體
239-2‧‧‧電晶體
250-1‧‧‧感測電路/特定感測電路
250-2‧‧‧感測電路/特定感測電路
250-3‧‧‧感測電路/特定感測電路
264‧‧‧靜態鎖存器/鎖存器/經交叉耦合鎖存器
265‧‧‧作用正控制信號/ACT信號/信號/ACT
291-1‧‧‧接地
303-0...303-J‧‧‧記憶體胞元
304-0...304-R‧‧‧存取線列/存取線/特定存取線
305-0...305-S‧‧‧感測線行/感測線
306-0...306-U‧‧‧感測放大器/對應感測放大器
308-0...308-V‧‧‧存取裝置/電晶體
310-0...310-W‧‧‧行解碼線
312‧‧‧次級感測放大器
330‧‧‧記憶體陣列/陣列
331-0...331-X‧‧‧計算組件
334‧‧‧輸入/輸出線
431‧‧‧位元向量/COMP_COMP/COMP_COMP位元向量
433‧‧‧位元向量/EEFFECTIVE MASK
435‧‧‧位元向量/ELEMENT MASK
437‧‧‧位元向量/SHIFT MASK
439‧‧‧位元向量/TMPSHIFTED MASK
441‧‧‧位元向量/RESULT
443‧‧‧位元向量/SRCA
445‧‧‧位元向量/SRCB
503‧‧‧信號
504-0‧‧‧信號/列信號
504-1‧‧‧信號
505-1‧‧‧信號/資料線電壓/資料線電壓信號/電壓信號/互補資料線
505-2‧‧‧信號/資料線電壓/資料線電壓信號/電壓信號/互補資料線
511‧‧‧Passd控制信號/各別Passd及Passdb控制信號
511-1‧‧‧控制信號/Passd/Passd信號
511-2‧‧‧控制信號/Passdb/Passdb信號
512-1‧‧‧累加器負控制信號/累加器控制信號/控制信號
512-2‧‧‧累加器正控制信號/累加器控制信號/控制信號
526‧‧‧平衡信號/信號
528‧‧‧負控制信號/感測放大器控制信號/信號/正控制信號
590‧‧‧正控制信號/感測放大器控制信號/信號/負控制信號
705-1‧‧‧各別對互補感測線/感測線/互補感測線
705-2‧‧‧各別對互補感測線/感測線/互補感測線
706‧‧‧感測放大器/對應感測放大器
707-1‧‧‧通過閘極/通過電晶體
707-2‧‧‧通過閘極/通過電晶體
713-6‧‧‧邏輯運算選擇邏輯
731‧‧‧計算組件/對應計算組件/特定計算組件/毗鄰計算組件/累加器/左-毗鄰計算組件/右-毗鄰計算組件
750-1‧‧‧隔離電晶體
750-2‧‧‧隔離電晶體
752‧‧‧邏輯選擇電晶體/電晶體/各別啟用電晶體/啟用電晶體
754‧‧‧邏輯選擇電晶體/電晶體/各別啟用電晶體/啟用電晶體
762‧‧‧邏輯選擇電晶體/啟用電晶體
764‧‧‧邏輯選擇電晶體/啟用電晶體
781‧‧‧右移位電晶體/電晶體
782‧‧‧各別控制線
783‧‧‧各別控制線
786‧‧‧右移位電晶體/電晶體
787‧‧‧反轉器
788‧‧‧反轉器
789‧‧‧左移位電晶體/電晶體
790‧‧‧左移位電晶體/電晶體
791‧‧‧各別控制線
792‧‧‧各別控制線
847‧‧‧列
856‧‧‧行
870‧‧‧行
871‧‧‧行
876‧‧‧列
877‧‧‧列
878‧‧‧列
879‧‧‧列
880‧‧‧標頭
ACT‧‧‧控制信號/作用正控制信號
AND‧‧‧控制信號線
ANDinv‧‧‧控制信號線/控制信號
D‧‧‧資料線/互補資料線/數位線
D_‧‧‧資料線/互補資料線/數位線
DIGIT(n-1)‧‧‧互補資料線/毗鄰資料線
DIGIT(n-1)_‧‧‧互補資料線/毗鄰資料線
DIGIT(n)‧‧‧互補資料線/毗鄰資料線
DIGIT(n)_‧‧‧互補資料線/毗鄰資料線
DIGIT(n+1)‧‧‧互補資料線/毗鄰資料線
DIGIT(n+1)_‧‧‧互補資料線/毗鄰資料線
EQ‧‧‧控制信號/信號
FF‧‧‧信號控制線/邏輯選擇控制信號/控制信號/第一邏輯選擇控制信號/信號
FT‧‧‧信號控制線/邏輯選擇控制信號/控制信號/第二邏輯選擇控制信號/信號
GND‧‧‧接地
ISO‧‧‧動態隨機存取記憶體隔離/信號控制線/控制信號/信號
LOAD/PASSD‧‧‧負載控制信號
LOAD/PASSDb‧‧‧負載控制信號
NORM‧‧‧控制信號
OR‧‧‧控制信號線
ORinv‧‧‧控制信號線/控制信號
PASS‧‧‧邏輯運算選擇邏輯信號/信號
PASS*‧‧‧信號
PHASE 1L‧‧‧信號
PHASE 2L‧‧‧信號
PHASE 1R‧‧‧信號
PHASE 2R‧‧‧信號
RnIF‧‧‧控制信號/作用負控制信號
S1‧‧‧節點
S2‧‧‧節點
SHIFT‧‧‧互補控制信號
SF1‧‧‧節點
SF2‧‧‧節點/各別計算組件節點
ST1‧‧‧節點
ST2‧‧‧各別計算組件節點
t1-t14‧‧‧時間
T0-T24‧‧‧時間
TF‧‧‧信號控制線/控制信號/邏輯選擇控制信號/第三邏輯選擇控制信號/信號
TT‧‧‧信號控制線/邏輯選擇控制信號/控制信號/第四邏輯選擇控制信號/信號
VDD‧‧‧供應電壓/軌電壓
VDD/2‧‧‧平衡電壓
圖1係根據本發明之若干項實施例的呈包含一記憶體裝置之一計算系統之形式的設備之一方塊圖。
圖2A圖解說明根據本發明之若干項實施例之一記憶體陣列之一部分之一示意圖。
圖2B係圖解說明根據本發明之若干項實施例之感測電路之一部分之一示意圖。
圖3圖解說明根據本發明之若干項實施例之一記憶體陣列之一部分之一示意圖。
圖4A至圖4C圖解說明根據本發明之若干項實施例展示處於與執行一移位運算相關聯之一特定階段的一陣列之記憶體胞元之狀態的表。
圖5A至圖5D圖解說明根據本發明之若干項實施例的與使用感測
電路執行若干個邏輯運算相關聯的時序圖。
圖6A至圖6B圖解說明根據本發明之若干項實施例的與使用感測電路執行若干個邏輯運算相關聯的時序圖。
圖7係圖解說明根據本發明之若干項實施例的具有可選擇邏輯運算選擇邏輯之感測電路之一示意圖。
圖8係圖解說明根據本發明之若干項實施例的藉由一感測電路實施之可選擇邏輯運算結果之一邏輯表。
圖9圖解說明根據本發明之若干項實施例的與使用感測電路執行一邏輯運算及一移位運算相關聯的一時序圖。
圖10圖解說明根據本發明之若干項實施例的與使用感測電路執行一邏輯運算及一移位運算相關聯的一時序圖。
本發明包含與執行用於記憶體之移位運算有關的設備及方法。可藉由將第一數目個位元向量移位由第二數目個位元向量定義的若干個位元位置來執行一移位運算。舉例而言,可將由一第一位元向量定義之一第一元素移位由一第二元素定義之若干個位元位置,該第二元素係由一第二位元向量定義。可將該第一向量儲存於耦合至一記憶體陣列之一第一存取線及若干個感測線之一記憶體胞元群組中。可將該第二向量儲存於耦合至該記憶體陣列之一第二存取線及該若干個感測線的一記憶體胞元群組中。移位運算可包含若干個AND運算、OR運算、SHIFT運算及INVERT運算,該等運算可在不經由一輸入/輸出(I/O)線傳送資料之情況下執行。
如本文中所使用,一第一元素及一第二元素可係數值。一第一元素可儲存於一第一位元向量中。位元向量可係一元素及/或複數個元素之一個二進制表示。將一第一元素移位可包含在儲存一位元向量之記憶體胞元內將該第一元素之該位元向量表示移位。可在儲存該位
元向量之記憶體胞元內將該位元向量移位若干個位元位置。可由一不同位元向量定義一位元向量所移位之若干個位元位置。
當不同位元向量具有至少一個元素(其具有一或更高之一個十進制值)時,位元向量可在記憶體胞元內移位。舉例而言,當一第二位元向量中之一第三元素具有一或更高之一個十進制值時,一第一位元向量內之一第一元素可在第一數目個記憶體胞元內移位,且當一第二位元向量中之一第四元素具有一或更高之一個十進制值時,一第二位元向量內之一第二元素可在第二數目個記憶體胞元內移位。
在若干項實例中,可藉由將一第一位元向量之若干個部分中之每一者移位由一第二位元向量定義之相關聯數目個位元位置來移位表示若干個元素之該第一位元向量。舉例而言,定義一第一元素的一第一位元向量之一第一部分可在若干個記憶體胞元之一第一部分內移位第一數目個位元位置,且定義一第二元素的該第一位元向量之一第二部分可在該若干個記憶體胞元之一第二部分內移位第二數目個位元位置。該第一數目個位元位置可由定義一第三元素的一第二位元向量之一第一部分定義,且該第二數目個位元位置可由定義一第四元素的一第二位元向量之一第二部分定義。
在若干項實例中,一元素可表示一物件及/或其他建構,其可作為一位元向量儲存於記憶體中。作為一實例,可執行一移位運算以將表示第一數目個物件之位元向量移位若干個位元位置,該等位元位置係由表示第二數目個物件之位元向量定義。
本發明之若干項實施例可相對於先前方法而提供在執行若干個移位運算(例如,移位函數)時所涉及之計算次數及/或時間之一減少。舉例而言,可由於並行(例如,同時)執行該若干個移位運算之各種部分之一能力而減少計算次數及/或時間。與先前方法相比,如本文中所闡述地執行若干個移位運算亦可減少電力消耗。根據若干項實施
例,可對元素(例如,儲存於一陣列中呈位元向量之形式的資料)執行一移位運算而不需要經由一匯流排(例如,資料匯流排、位址匯流排、控制匯流排等)將資料傳送出記憶體陣列及/或感測電路。一移位運算可涉及執行若干個運算(例如,AND運算、OR運算、SHIFT運算、INVERT運算及Block_OR運算等)。然而,實施例並不限於此等實例。
在各種先前方法中,待移位之元素(例如,一第一值)可經由包括輸入/輸出(I/O)線之一匯流排自陣列及感測電路傳送至若干個暫存器。該若干個暫存器可由一處理資源(諸如一處理器、微處理器及/或計算引擎)使用,該處理資源可包括ALU電路及/或經組態以執行適當邏輯運算的其他功能單元電路。然而,通常僅可由ALU電路執行一單個移位運算,且經由一匯流排將資料自暫存器傳送至記憶體/自記憶體傳送至暫存器可涉及顯著電力消耗及時間要求。即使處理資源位於與記憶體陣列相同之一晶片上,亦可在將資料移動出陣列至計算電路(例如,ALU)時消耗顯著電力。舉例而言,將資料自記憶體陣列移動至處理資源可包含:執行一感測線位址存取(例如,一行解碼信號之激發)以便將資料自感測線傳送至I/O線上、將資料移動至陣列周邊及(舉例而言)將資料提供至與執行一移位運算相關聯之一暫存器。此外,並行移位元素可係困難的且消耗電力及時間。
在本發明的以下詳細說明中,參考形成本發明之一部分且其中以圖解說明方式展示可如何實踐本發明之一或多項實施例的附圖。充分詳細地闡述此等實施例以使熟習此項技術者能夠實踐本發明之實施例,且應理解,可利用其他實施例且可在不背離本發明之範疇之情況下做出程序、電及/或結構改變。如本文中所使用,尤其相對於圖式中之元件符號之標示符「S」、「T」、「U」、「V」、「W」等指示可包含如此指定之若干個特定特徵。如本文中所使用,「若干個」特定事物
可係指一或多個此等事物(例如,若干個記憶體陣列可係指一或多個記憶體陣列)。
本文中之各圖遵循其中第一個數字或前幾個數字對應於圖式的圖編號且其餘數字識別圖式中之一元件或組件之一編號慣例。不同圖之間的類似元件或組件可藉由使用類似數字來識別。舉例而言,在圖2中231可指代元件「31」,且在圖3中可將一類似元件指代為331。如將瞭解,可添加、交換及/或消除本文中之各種實施例中所展示之元件以便提供本發明之若干個額外實施例。另外,如將瞭解,各圖中所提供之元件之比例及相對標度意欲圖解說明本發明之特定實施例且不應視為具一限制意義。
圖1係根據本發明之若干項實施例的呈包含一記憶體裝置120之一計算系統100之形式的一設備之一方塊圖。如本文中所使用,一記憶體裝置120、一記憶體陣列130及/或感測電路150亦可被單獨視為一「設備」。
系統100包含耦合至記憶體裝置120之一主機110,記憶體裝置120包含一記憶體陣列130。主機110可係一主機系統,諸如一個人膝上型電腦、一桌上型電腦、一數位相機、一行動電話或一記憶體卡閱讀器以及各種其他類型之主機。主機110可包含一系統母板及/或底板,且可包含若干個處理資源(例如,一或多個處理器、微處理器或某一其他類型之控制電路)。系統100可包含單獨積體電路,或者主機110及記憶體裝置120兩者可位於同一積體電路上。系統100可(舉例而言)係一伺服器系統及/或一高效能計算(HPC)系統及/或其之一部分。儘管圖1中所展示之實例圖解說明具有一馮諾依曼(Von Neumann)架構之一系統,但本發明之實施例亦可以非馮諾依曼架構(例如,一都令機(Turing machine))實施,該等非馮諾依曼架構可不包含通常與一馮諾依曼架構相關聯之一或多個組件(例如,CPU、ALU等)。
為清晰起見,系統100已被簡化以聚焦於與本發明特定相關之特徵。舉例而言,記憶體陣列130可係一DRAM陣列、SRAM陣列、STT RAM陣列、PCRAM陣列、TRAM陣列、RRAM陣列、NAND快閃陣列及/或NOR快閃陣列。陣列130可包括記憶體胞元,該等記憶體胞元經配置成藉由存取線(其在本文中可被稱為字線或選擇線)耦合之列及藉由感測線(其在本文中可被稱為數字線或資料線)耦合之行。儘管在圖1中展示一單個陣列130,但實施例並不如此受限制。舉例而言,記憶體裝置120可包含若干個陣列130(例如,若干個DRAM胞元庫)。與圖2及圖3相關聯地闡述一實例性DRAM陣列。
記憶體裝置120包含位址電路142以鎖存經由一I/O匯流排156(例如,一資料匯流排)穿過I/O電路144提供之位址信號。位址信號由一列解碼器146及一行解碼器152接收並解碼以進入記憶體陣列130。可藉由使用感測電路150來感測感測線上之電壓及/或電流改變自記憶體陣列130讀取資料。感測電路150可自記憶體陣列130讀取並鎖存一資料頁(例如,列)。I/O電路144可用於經由I/O匯流排156與主機110進行雙向資料通信。寫入電路148用於將資料寫入至記憶體陣列130。
控制電路140(例如,記憶體控制器)將由控制匯流排154自主機110提供之信號進行解碼。此等信號可包含用於控制對記憶體陣列130執行之操作(包含資料讀取、資料寫入及資料擦除操作)的晶片啟用信號、寫入啟用信號及位址鎖存信號。在各種實施例中,控制電路140負責執行來自主機110之指令。控制電路140可係一狀態機、一定序器或某一其他類型之控制器。控制器140可包含一移位控制器170,該移位控制器可控制提供至(舉例而言)與執行資料移位相關聯之移位電路(例如,結合圖2所闡述之移位電路223)的信號,如本文中進一步闡述。舉例而言,可在一歸約或前綴和運算期間經由(例如,透過)移位電路移位(例如,向右或向左)一陣列(例如,陣列130)中之資料,如將
在本文中進一步闡述。
下文與圖2A及圖2B相關聯進一步闡述感測電路150之一實例。舉例而言,在若干項實施例中,感測電路150可包括若干個感測放大器及若干個計算組件,該等計算組件可包括用作一累加器之鎖存器且可用於執行邏輯運算(例如,對與互補感測線相關聯之資料執行邏輯運算)。在若干項實施例中,感測電路(例如,150)可用於使用儲存於陣列130中之資料作為輸入來執行移位運算,且在不經由一感測線位址存取傳送(例如,不需要激發一行解碼信號)之情況下將移位運算之結果儲存回至陣列130。由此,可使用感測電路150執行一移位運算,而非藉由在感測電路150外部之處理資源(例如,藉由與主機110及/或位於裝置120上(例如,位於控制電路140或別處上)的諸如ALU電路等其他處理電路相關聯之一處理器)執行(及/或除藉由在感測電路150外部之處理資源執行以外亦使用感測電路150執行)。
在各種先前方法中,舉例而言,將經由感測電路自記憶體讀取與一移位運算相關聯之資料且將該資料提供至一外部ALU。外部ALU電路將使用元素(且可被稱為運算元或輸入)執行移位運算且可將結果經由區域I/O線傳送回至陣列。相比而言,在本發明之若干項實施例中,感測電路(例如,150)經組態以對儲存於記憶體陣列130中之記憶體胞元中的資料執行一移位運算,且在不啟用耦合至感測電路之一區域I/O線之情況下將結果儲存回至陣列130。
由此,在若干項實施例中,可不需要在陣列130及感測電路150外部之暫存器及/或一ALU來執行移位運算,此乃因感測電路150可經操作以使用記憶體陣列130之位址空間執行在執行移位運算時所涉及的適當計算。另外,可在不使用一外部處理資源之情況下執行移位運算。
圖2A圖解說明根據本發明之若干項實施例之一記憶體陣列230之
一部分之一示意圖。一記憶體胞元(例如,記憶體胞元201-1、201-2、201-3、201-4、201-5、201-6中之一者)包括一儲存元件(例如,對應電容器203-1至203-6中之一者)及一存取裝置(例如,對應電晶體202-1至202-6中之一者)。舉例而言,記憶體胞元201-1包括電晶體202-1及電容器203-1,記憶體胞元201-2包括電晶體202-2及電容器203-2,記憶體胞元201-3包括電晶體202-3及電容器203-3以及記憶體胞元201-4包括電晶體202-4及電容器203-4等。在此實例中,記憶體陣列230係1T1C(一個電晶體一個電容器)記憶體胞元之一DRAM陣列。在若干項實施例中,記憶體胞元可係破壞性讀取記憶體胞元(例如,讀取儲存於胞元中之資料破壞資料,使得原本儲存於胞元中之資料在被讀取之後再新)。記憶體陣列230之胞元經配置成藉由字線204-X(列X)、204-Y(列Y)等耦合之列,及藉由若干對互補資料線DIGIT(n-1)/DIGIT(n-1)_、DIGIT(n)/DIGIT(n)_、DIGIT(n+1)/DIGIT(n+1)_耦合之行。對應於每一對互補資料線之個別資料線亦可分別被稱為資料線205-1(D)及205-2(D_)。儘管在圖2A中僅展示三對互補資料線,但本發明之實施例並不如此受限制,且記憶體胞元之一陣列可包含記憶體胞元及/或資料線之額外行(例如,4,096,8,192,16,384等)。
記憶體胞元可耦合至不同資料線及/或字線。舉例而言,一電晶體202-3之一第一源極/汲極區域可耦合至資料線205-1(D),電晶體202-3之一第二源極/汲極區域可耦合至電容器203-3,且一電晶體202-3之一閘極可耦合至字線204-Y。一電晶體202-4之一第一源極/汲極區域可耦合至資料線205-2(D_),電晶體202-4之一第二源極/汲極區域可耦合至電容器203-4,且一電晶體202-4之一閘極可耦合至字線204-X。如圖2A中所展示,胞元板可耦合至電容器203-3及203-4中之每一者。胞元板可係一共同節點,在各種記憶體陣列組態中一參考電壓(例如,接地)可施加至該共同節點。
根據本發明之若干項實施例,記憶體陣列230耦合至感測電路250-1、250-2、250-3等。感測電路包括對應於記憶體胞元之各別行(例如,耦合至各別互補資料線對)的一感測放大器及一計算組件。在此實例中,感測電路250-1包括對應於記憶體胞元(例如,耦合至各別互補資料線對之記憶體胞元201-1及201-4)之各別行的一感測放大器206-1及一計算組件231-1。感測電路250-2包括對應於記憶體胞元(例如,耦合至各別互補資料線對之記憶體胞元201-3及201-4)之各別行的一感測放大器206-2及一計算組件231-2。感測電路250-3包括對應於記憶體胞元(例如,耦合至各別互補資料線對之記憶體胞元201-5及201-6)之各別行的一感測放大器206-3及一計算組件231-3。一感測放大器(例如,感測放大器206-1)可包括一交叉耦合鎖存器,其在本文中可被稱為一初級鎖存器。感測放大器(例如,感測放大器206-1)可(舉例而言)如關於圖2B所闡述地組態。
在圖2A中所圖解說明之實例中,對應於計算組件231-2之電路包括一靜態鎖存器264及除其他以外實施一動態鎖存的額外數目個(例如,十個)電晶體。為易於參考,已以一擴展格式圖解說明計算組件231-2以便闡述該計算組件之運作。額外計算組件(例如,計算組件231-1及231-3)包含計算組件231-2之擴展格式之元件但並未在圖2A中圖解說明。計算組件231-2之動態鎖存器及/或靜態鎖存器264可在本文中共同地被稱為一次級鎖存器,該次級鎖存器可用作一累加器。由此,計算組件231-2可作為一累加器操作及/或在本文中被稱為一累加器。計算組件231-2可耦合至資料線D 205-1及D_ 205-2中之每一者,如圖2A中所展示。舉例而言,計算組件231-2之電晶體可全部係n通道電晶體(例如,NMOS電晶體)。然而,實施例並不限於此實例。
在此實例中,資料線D 205-1可耦合至電晶體216-1及239-1之一第一源極/汲極區域,並且耦合至負載/通過電晶體218-1之一第一源極
/汲極區域。資料線D_ 205-2可耦合至電晶體216-2及239-2之一第一源極/汲極區域,並且耦合至負載/通過電晶體218-2之一第一源極/汲極區域。
負載/通過電晶體218-1及218-2之閘極可共同耦合至一負載控制信號,或分別耦合至一PASSD/PASSDB控制信號,如下文進一步論述。負載/通過電晶體218-1之一第二源極/汲極區域可直接耦合至電晶體216-1及239-2之閘極。負載/通過電晶體218-2之一第二源極/汲極區域可直接耦合至電晶體216-2及239-1之閘極。
電晶體216-1之一第二源極/汲極區域可直接耦合至下拉電晶體214-1之一第一源極/汲極區域。電晶體239-1之一第二源極/汲極區域可直接耦合至下拉電晶體207-1之一第一源極/汲極區域。電晶體216-2之一第二源極/汲極區域可直接耦合至下拉電晶體214-2之一第一源極/汲極區域。電晶體239-2之一第二源極/汲極區域可直接耦合至下拉電晶體207-2之一第一源極/汲極區域。下拉電晶體207-1、207-2、214-1及214-2中之每一者之一第二源極/汲極區域可在一起共同耦合至一參考電壓(例如,接地(GND)291-1)。下拉電晶體207-1之一閘極可耦合至一AND控制信號線,下拉電晶體214-1之一閘極可耦合至一ANDinv控制信號線213-1,下拉電晶體214-2之一閘極可耦合至一ORinv控制信號線213-2,且下拉電晶體207-2之一閘極可耦合至一OR控制信號線。
電晶體239-1之閘極可被稱為節點S1,且電晶體239-2之閘極可被稱為節點S2。圖2A中所展示之電路在節點S1及S2上動態地儲存累加器資料。啟動一LOAD控制信號致使負載/通過電晶體218-1及218-2導通,且藉此將互補資料載入至節點S1及S2上。LOAD控制信號可經提高至大於VDD之一電壓以將一全VDD位準傳遞至S1/S2。然而,將LOAD控制信號提高至大於VDD之一電壓係選用的,且圖2A中所展示
之電路之功能性並不依賴於LOAD控制信號被提高至大於VDD之一電壓。
圖2A中所展示之計算組件231-2之組態具有當下拉電晶體207-1、207-2、214-1及214-2在感測放大器206-2經激發之前(例如,在感測放大器206-2之預種(pre-seed)期間)正導通時,平衡感測放大器之功能性之益處。如本文中所使用,激發感測放大器206-2係指啟用感測放大器206-2以設定初級鎖存器且隨後停用感測放大器206-2以存留所設定初級鎖存器。在平衡被停用(在感測放大器中)之後但在感測放大器激發之前執行邏輯運算可節省電力使用,此乃因感測放大器之鎖存器不必使用全軌電壓(例如,VDD、GND)「經翻轉」。
反轉電晶體可在執行特定邏輯運算時下拉一各別資料線。舉例而言,與電晶體214-1(具有耦合至一ANDinv控制信號線213-1之一閘極)串聯之電晶體216-1(具有耦合至動態鎖存器之S2之一閘極)可經操作以下拉資料線205-1(D),且與電晶體214-2(具有耦合至一ORinv控制信號線213-2之一閘極)串聯之電晶體216-2(具有耦合至動態鎖存器之S1之一閘極)可經操作以下拉資料線205-2(D_)。
鎖存器264可藉由耦合至一作用負控制信號線212-1(ACCUMB)及一作用正控制信號線212-2(ACCUM)而被可控制地啟用,而非經組態以藉由耦合至接地及VDD而被連續啟用。在各種實施例中,負載/通過電晶體208-1及208-2可各自具有耦合至一LOAD控制信號或一PASSD/PASSDB控制信號中之一者的一閘極。
根據某些實施例,負載/通過電晶體218-1及218-2之閘極可共同耦合至一LOAD控制信號。在其中負載/通過電晶體218-1及218-2之閘極共同耦合至LOAD控制信號的組態中,電晶體218-1及218-2可係負載電晶體。
根據某些實施例,負載/通過電晶體218-1之閘極可耦合至一
PASSD控制信號,且負載/通過電晶體218-2之閘極可耦合至一PASSDB控制信號。在其中電晶體218-1及218-2之閘極分別耦合至PASSD及PASSDB控制信號中之一者的組態中,電晶體218-1及218-2可係通過電晶體。通過電晶體可以不同於負載電晶體之方式操作(例如,在不同時間處及/或在不同電壓/電流條件下)。由此,通過電晶體之組態可不同於負載電晶體之組態。如本文中所使用,組態意欲意指大小、摻雜位準及過渡類型。
舉例而言,負載電晶體可經組態(例如,可經定大小、經摻雜等)以處置與將資料線耦合至區域動態節點S1及S2相關聯的載入規定。然而,通過電晶體可經組態以處置與將資料線耦合至一毗鄰累加器(例如,穿過毗鄰計算組件231-3及記憶體陣列230中之移位電路223-2,如圖2A中所展示)相關聯的更繁重載入。根據某些實施例,負載/通過電晶體218-1及218-2可經組態以適應對應於一通過電晶體之更繁重載入但經耦合且經操作為一負載電晶體。舉例而言,經組態為通過電晶體之負載/通過電晶體218-1及218-2亦可用作負載電晶體。然而,經組態為負載電晶體之負載/通過電晶體218-1及218-2可不能夠用作通過電晶體。
在若干項實施例中,包含鎖存器264之計算組件231-2可包括若干個電晶體,該等電晶體與其所耦合至的一陣列(例如,圖2A中所展示之陣列230)之對應記憶體胞元之電晶體按一定間距形成,其可符合一特定特徵大小(例如,4F2、6F2等)。根據各種實施例,鎖存器264包含四個電晶體208-1、208-2、209-1及209-2,該四個電晶體透過負載/通過電晶體218-1及218-2耦合至一對互補資料線D 205-1及D_ 205-2。然而,實施例並不限於此組態。鎖存器264可係一交叉耦合鎖存器。舉例而言,一對電晶體(諸如n通道電晶體(例如,NMOS電晶體)209-1及209-2)之閘極與另一對電晶體(諸如p通道電晶體(例如,PMOS電晶體)
208-1及208-2)之閘極交叉耦合。如本文中進一步所闡述,經交叉耦合鎖存器264可被稱為一靜態鎖存器。
可將各別資料線D及D_上之電壓或電流提供至經交叉耦合鎖存器264之各別鎖存器輸入217-1及217-2(例如,次級鎖存器之輸入)。在此實例中,鎖存器輸入217-1耦合至電晶體208-1及209-1之一第一源極/汲極區域並且耦合至電晶體208-2及209-2之閘極。類似地,鎖存器輸入217-2可耦合至電晶體208-2及209-2之一第一源極/汲極區域並且耦合至電晶體208-1及209-1之閘極。
在此實例中,電晶體209-1及209-2之一第二源極/汲極區域共同耦合至一負控制信號線212-1(例如,類似於圖2B中所展示之關於初級鎖存器之控制信號RnIF的接地(GND)或ACCUMB控制信號)。電晶體208-1及208-2之一第二源極/汲極區域共同耦合至一正控制信號線212-2(例如,類似於關於初級鎖存器之圖2B中所展示之控制信號ACT的VDD或ACCUM控制信號)。正控制信號212-2可提供一供應電壓(例如,VDD)且負控制信號212-1可係一參考電壓(例如,接地)以啟用經交叉耦合鎖存器264。根據某些實施例,電晶體208-1及208-2之第二源極/汲極區域共同地直接耦合至供應電壓(例如,VDD),且電晶體209-1及209-2之第二源極/汲極區域共同地直接耦合至參考電壓(例如,接地)以便連續啟用鎖存器264。
經啟用經交叉耦合鎖存器264操作以將鎖存器輸入217-1(例如,第一共同節點)與鎖存器輸入217-2(例如,第二共同節點)之間的一差分電壓放大,使得鎖存器輸入217-1經驅動至經啟動正控制信號電壓(例如,VDD)或經啟動負控制信號電壓(例如,接地),且鎖存器輸入217-2經驅動至經啟動正控制信號電壓(例如,VDD)或經啟動負控制信號電壓(例如,接地)中之另一者。
如圖2A中所展示,感測放大器206-2及計算組件231-2可經由移位
電路223-2耦合至陣列230。在某些實例中,感測電路250-2可包含移位電路223-2及/或移位電路223-1。在此實例中,移位電路223-2包括分別耦合至資料線205-1(D)及205-2(D_)之一對隔離裝置(例如,隔離電晶體221-1及221-2)。隔離電晶體221-1及221-2耦合至一控制信號222(NORM),當被啟動時,該控制信號啟用(例如,接通)隔離電晶體221-1及221-2以將對應感測放大器206-2及計算組件231-2耦合至記憶體胞元之一對應行(例如,耦合至一對對應互補資料線205-1(D)及205-2(D_))。根據各種實施例,隔離電晶體221-1及221-2之導通可被稱為移位電路223-2之一「正常」組態。
在圖2A中所圖解說明之實例中,移位電路223-2包含耦合至一互補控制信號219(SHIFT)的另一(例如,一第二)對隔離裝置(例如,隔離電晶體221-3及221-4),舉例而言,當NORM被撤銷啟動時,該互補控制信號可被啟動。隔離電晶體221-3及221-4可經操作(例如,經由控制信號219)使得一特定感測放大器206-2及計算組件231-2耦合至一不同對互補資料線(例如,不同於隔離電晶體221-1及221-2將特定感測放大器206-2及計算組件231-2耦合至的該對互補資料線的一對互補資料線),或可將一特定感測放大器206-2及計算組件231-2耦合至另一記憶體陣列(且將特定感測放大器206-2及計算組件231-2與一第一記憶體陣列隔離)。根據各種實施例,舉例而言,移位電路223-2可經配置為感測放大器206-2之一部分(例如,處於感測放大器206-2內)。
儘管圖2A中所展示之移位電路223-2包含用以將特定感測電路250-2(例如,一特定感測放大器206-2及對應計算組件231-2)耦合至一對特定互補資料線205-1(D)及205-2(D_)(例如,DIGIT(n)及DIGIT(n)_)的隔離電晶體221-1及221-2,且隔離電晶體221-3及221-4經配置以將特定感測電路250-2沿一個特定方向耦合至一毗鄰對互補資料線(例如,在圖2A中右側展示之毗鄰資料線DIGIT(n+1)及
DIGIT(n+1)_),但本發明之實施例並不如此受限制。舉例而言,移位電路可包含用以將特定感測電路耦合至一對特定互補資料線(例如,DIGIT(n)及DIGIT(n)_)的隔離電晶體221-1及221-2,以及經配置以便用以將特定感測電路沿另一特定方向耦合至一毗鄰對互補資料線(例如,在圖2A中左側展示之毗鄰資料線DIGIT(n-1)及DIGIT(n-1)_)的隔離電晶體221-3及221-4。移位電路223-1可包含用以將特定感測電路250-1耦合至一對特定互補資料線(例如,DIGIT(n-1)及DIGIT(n-1)_)的隔離電晶體,以及經配置以將特定感測電路250-1沿一個特定方向耦合至一毗鄰對互補資料線(例如,圖2A中所展示之毗鄰資料線DIGIT(n)及DIGIT(n)_)的隔離電晶體。移位電路223-3可包含用以將特定250-3感測電路耦合至一對特定互補資料線(例如,DIGIT(n+1)及DIGIT(n+1)_)的隔離電晶體以及經配置以將特定感測電路250-3沿一個特定方向耦合至一毗鄰對互補資料線(例如,左側之毗鄰資料線DIGIT(n)及DIGIT(n)_,以及右側之DIGIT(n+2)及DIGIT(n+2)_(未展示))的隔離電晶體。
本發明之實施例並不限於圖2A中所展示之移位電路223-2之組態。舉例而言,判定是否沿一特定方向移位以執行一移位運算係獨立於電路實施。在若干項實施例中,舉例而言,可在不經由一I/O線(例如,區域I/O線(IO/IO_))將資料傳送出感測電路250-2之情況下與執行數學運算(諸如加法及減法運算)相關聯地操作(例如,結合感測放大器206-2及計算組件231-2)移位電路223-2(諸如圖2A中所展示之移位電路223-2)。
儘管圖2A中未展示,但記憶體胞元之每一行皆可耦合至一行解碼線,該行解碼線可被啟動以經由區域I/O線(例如,圖3中之I/O線334)將一資料值自一對應感測放大器206-2及/或計算組件231-2傳送至陣列外部之一控制組件(諸如一外部處理資源(例如,主機處理器及/或
其他功能單元電路))。行解碼線可耦合至一行解碼器。然而,如本文中所闡述,在若干項實施例中,根據本發明之實施例不需要經由此等I/O線傳送資料以便執行邏輯運算。在若干項實施例中,舉例而言,可在不將資料傳送至陣列外部之一控制組件之情況下結合感測放大器206-2及計算組件231-2操作移位電路223-2以便執行邏輯運算。
圖2B係圖解說明根據本發明之若干項實施例之感測電路之一部分之一示意圖。
根據各種實施例,感測放大器206可包括一交叉耦合鎖存器。然而,感測放大器206之實施例並不限於一交叉耦合鎖存器。作為一實例,圖2B中之感測放大器206可係電流模式感測放大器及/或單端感測放大器(例如,耦合至一個資料線之感測放大器)。同樣,本發明之實施例並不限於一摺疊式資料線架構。
在若干項實施例中,一感測放大器(例如,206-2)可包括若干個電晶體,該等電晶體與其所耦合至的一陣列(例如,圖2A中所展示之230)之對應計算組件231-2及/或記憶體胞元之電晶體按一定間距形成,其可符合一特定特徵大小(例如,4F2、6F2等)。感測放大器206-2包括一鎖存器215,鎖存器215包含耦合至一對互補資料線D 205-1及D_ 205-2之四個電晶體。鎖存器215可係一交叉耦合鎖存器。舉例而言,一對電晶體(諸如n通道電晶體(例如,NMOS電晶體)227-1及227-2)之閘極與另一對電晶體(諸如p通道電晶體(例如,PMOS電晶體)229-1及229-2)之閘極交叉耦合。如本文中進一步所闡述,包括電晶體227-1、227-2、229-1及229-2之鎖存器215可被稱為一初級鎖存器。然而,實施例並不限於此實例。
可將各別資料線D及D_上之電壓或電流提供至經交叉耦合鎖存器215之各別鎖存器輸入233-1及233-2(例如,初級鎖存器之輸入)。在此實例中,鎖存器輸入233-1耦合至電晶體227-1及229-1之一第一源極
/汲極區域並且耦合至電晶體227-2及229-2之閘極。類似地,鎖存器輸入233-2可耦合至電晶體227-2及229-2之一第一源極/汲極區域並且耦合至電晶體227-1及229-1之閘極。計算組件231-2(其在本文中可被稱為一累加器)可耦合至經交叉耦合鎖存器215之鎖存器輸入233-1及233-2,如所展示;然而,實施例並不限於圖2B中所展示之實例。
在此實例中,電晶體227-1及227-2之一第二源極/汲極區域共同耦合至一作用負控制信號228(RnIF)。電晶體229-1及229-2之一第二源極/汲極區域共同耦合至一作用正控制信號265(ACT)。ACT信號265可係一供應電壓(例如,VDD)且RnIF信號可係一參考電壓(例如,接地)。啟動信號228及265啟用經交叉耦合鎖存器215。
經啟用經交叉耦合鎖存器215操作以將鎖存器輸入233-1(例如,第一共同節點)與鎖存器輸入233-2(例如,第二共同節點)之間的一差分電壓放大,使得鎖存器輸入233-1經驅動至ACT信號電壓及RnIF信號電壓中之一者(例如,經驅動至VDD及接地中之一者),且鎖存器輸入233-2經驅動至ACT信號電壓及RnIF信號電壓中之另一者。
感測放大器206-2亦可包含經組態以平衡資料線D及D_之電路(例如,與準備用於一感測操作之感測放大器相關聯)。在此實例中,平衡電路包括一電晶體224,電晶體224具有耦合至電晶體225-1之一第一源極/汲極區域及資料線D 205-1的一第一源極/汲極區域。電晶體224之一第二源極/汲極區域可耦合至電晶體225-2之一第一源極/汲極區域及資料線D_ 205-2。電晶體224之一閘極可耦合至電晶體225-1及225-2之閘極。
電晶體225-1及225-2之第二源極/汲極區域耦合至一平衡電壓238(例如,VDD/2),該平衡電壓可等於VDD/2,其中VDD係與陣列相關聯之一供應電壓。電晶體224、225-1及225-2之閘極可耦合至控制信號226(EQ)。由此,啟動EQ啟用電晶體224、225-1及225-2,此將資料
線D有效地短接至資料線D_,使得資料線D及D_經平衡至平衡電壓VDD/2。根據本發明之若干項實施例,可使用感測放大器206-2及計算組件231-2執行若干個邏輯運算,且可將結果儲存於感測放大器及/或計算組件中。
感測電路250-2(例如,圖2A中之250-2)可以數種模式操作以執行邏輯運算,包含其中邏輯運算之一結果最初儲存於感測放大器206-2中的一第一模式,及其中邏輯運算之一結果最初儲存於計算組件231-2中的一第二模式。另外關於第一操作模式,感測電路250-2可以預感測模式(例如,感測放大器係在邏輯運算控制信號係作用之前激發)及後感測模式(例如,感測放大器係在邏輯運算控制信號係作用之後激發)兩者操作,其中一邏輯運算之一結果最初儲存於感測放大器206-2中。
如下文進一步闡述,感測放大器206-2可結合計算組件231-2操作以使用來自一陣列之資料作為輸入來執行各種邏輯運算。在若干項實施例中,一邏輯運算之結果可儲存回至陣列而不需要經由一資料線位址存取傳送資料(例如,不需要激發一行解碼信號使得資料經由區域I/O線自陣列及感測電路傳送至電路外部)。由此,本發明之若干項實施例可使得能夠使用少於各種先前方法之電力來執行各種運算(例如,邏輯運算、數學運算等)。另外,由於若干項實施例消除跨越I/O線傳送資料以便執行運算之需要(例如,在記憶體與離散處理器之間),因此與先前方法相比,若干項實施例可達成一增加之並行處理能力。
圖3圖解說明根據本發明之若干項實施例之一記憶體陣列330之一部分之一示意圖。陣列330包含記憶體胞元(一般而言被稱為記憶體胞元303,且更具體而言被稱為303-0至303-J),該等記憶體胞元耦合至存取線列304-0、304-1、304-2、304-3、304-4、304-5、304-
6、...、304-R及感測線行305-0、305-1、305-2、305-3、305-4、305-5、305-6、305-7、...、305-S。記憶體陣列330並不限於特定數目個存取線及/或感測線,且術語「列」及「行」之使用並不意指存取線及/或感測線之一特定實體結構及/或定向。儘管未進行圖示,但記憶體胞元之每一行皆可與一對對應互補感測線(例如,圖2A中之互補感測線205-1及205-2)相關聯。
每一記憶體胞元行可耦合至感測電路(例如,圖1中所展示之感測電路150)。在此實例中,感測電路包括耦合至各別感測線305-0、305-1、305-2、305-3、305-4、305-5、305-6、305-7、...、305-S的若干個感測放大器306-0、306-1、306-2、306-3、306-4、306-5、306-6、306-7、...、306-U。感測放大器306經由存取裝置(例如,電晶體)308-0、308-1、308-2、308-3、308-4、308-5、308-6、308-7、...、308-V耦合至輸入/輸出(I/O)線334(例如,一區域I/O線)。在此實例中,感測電路亦包括耦合至各別感測線的若干個計算組件331-0、331-1、331-2、331-3、331-4、331-5、331-6、331-7、...、331-X。行解碼線310-1至310-W分別耦合至電晶體308-1至308-V之閘極,且可選擇性地被啟動以將由各別感測放大器306-0至306-U感測及/或儲存於各別計算組件331-0至331-X中的資料傳送至一次級感測放大器312。在若干項實施例中,計算組件331可與其對應行之記憶體胞元及/或與對應感測放大器306按一定間距形成。
在若干項實施例中,感測電路(例如,計算組件331及感測放大器306)經組態以對儲存於陣列330中之元素執行一移位運算。作為一實例,第一複數個元素可儲存於耦合至一特定存取線(例如,304-0)及若干個感測線(例如,305-0至305-S)的一第一記憶體胞元群組中,且第二複數個元素可儲存於耦合至一不同存取線(例如,304-1)及各別數目個感測線(305-0至305-S)的一第二記憶體胞元群組中。該第一複數個
元素中之每一元素可移位由該第二複數個元素中之一各別者定義的若干個位元位置,且移位運算之結果可儲存(例如,作為一(或若干)位元向量)於一第三記憶體胞元群組中,該第三記憶體胞元群組耦合至一特定存取線(例如,304-0至304-R)及該若干個感測線(例如,305-0至305-S)。該第三記憶體胞元群組可(舉例而言)耦合至一存取線304-R或存取線304-0至304-R中之至少一者。舉例而言,該第三記憶體胞元群組可係與第一記憶體胞元群組或第二記憶體胞元群組相同之一記憶體胞元群組(例如,可經由一當前所儲存元素寫入一移位運算之一結果)。
下文與圖4A至圖4C相關聯地闡述一實例性移位運算,圖4A至圖4C圖解說明根據本文中所闡述之若干項實施例展示處於與執行移位運算相關聯之若干個特定階段的一陣列(例如,330)之記憶體胞元之狀態的表。圖4A至圖4C中之行496之元件符號對應於下文所闡述之虛擬程式碼之各別元件符號。表之每一列指示處於移位運算之一特定階段的以下若干個位元向量之值:431(COMP_COMP)、433(EFFECTIVE MASK)、435(ELEMENT MASK)、437(SHIFT MASK)、439(TMPSHIFTED MASK)、441(RESULT)、443(SRCA)及445(SRCB),該等位元向量可儲存於陣列(例如,圖3中之330)中之記憶體胞元之列及/或行中。
圖4A至圖4C中所展示之實例與將前四個元素(儲存於耦合至存取線304-0及感測線305-0至305-31的記憶體胞元中)移位各別第二組四個元素(儲存於耦合至存取線304-1及感測線305-0至305-31的記憶體胞元中)相關聯。在下文之實例中,前四個元素係由SRCA 443表示(例如,[0000 0100,0000 0101,0000 0110,0000 1001](其中逗號可分隔不同元素),其可用十六進制記法表示為[0x04,05,06,09](其中「0x」記法指示十六進制且逗號可分隔不同元素)且在圖4A至圖4C中
展示為「0x04050609」)。第二組四個元素係由SRCB 445表示(例如,[0000 0011,0000 0010,0000 0010,0000 0001],其可用十六進制記法表示為[0x03,02,02,01]且在圖4A至圖4C中展示為「0x03020201」)。將SRCA 443移位SRCB 445中所定義之若干個位元位置之所期望結果係RESULT 441[0x20141812]。
在此實例中,SRCA 443及SRCB 445具有32個位元之一長度,且SRCA 443之「第i」元素移位由SRCA 445之「第i」元素定義的若干個位元位置(例如,SRCA 443之第一元素移位由SRCB 445之第一元素定義的若干個位元位置,SRCA 443之第二元素移位由SRCB 445之第二元素定義的若干個位元位置等),使得四個移位運算係使用四個元素對並行執行。在此實例中,由SRCA 443及SRCB 445中之每一者表示的四個元素中之每一者具有八個位元的一相同向量長度。舉例而言,SRCA 443之第一、第二、第三及第四元素以及SRCB 445之第一、第二、第三及第四元素係由8位元向量表示。注意,儘管在圖4A至圖4C中使用十六進制記法,但在移位運算期間位元向量作為二進制資料型樣儲存於陣列中。同樣,在本文中所闡述之實例中,逗號及/或空格可用於分隔一位元向量內之個別元素。舉例而言,在上文之實例中,位元向量443及445各自包括可藉由空格分隔之四個元素。實施例並不限於一特定元素大小(例如,不限於元素及/或每元素之位元的一特定數目)。可將移位運算之結果儲存於其中儲存有包括正被移位之元素的向量之陣列(例如,330)中,及/或可將該等結果傳送至陣列外部(例如,傳送至一主機之功能單元電路)。
使用SRCA 443(例如,以十六進制之[0x04050609])及SRCB 445(例如,以十六進制之[0x03020201])執行一移位運算之所期望結果係位元向量[0x20141812](例如,441)。如下文進一步闡述,可將一移位運算之結果儲存為一特定記憶體胞元群組中之一位元向量。舉例而
言,在圖4A至圖4C之實例中,對應於RESULT 441之記憶體胞元用於儲存移位運算之結果。由此,在圖4A至圖4C中所闡述之實例結束時,以十六進制之RESULT 441[0x20141812]的值(例如,二進制[0010 0000,0001 0100,0001 1000,0001 0010])表示四個不同移位運算之四個結果。
如下文進一步闡述,可與執行一移位運算相關聯地使用位元向量433(EFFECTIVE MASK)、435(ELEMENT MASK)、437(SHIFT MASK)及439(TMPSHIFT MASK)。位元向量433、435、437及439可儲存於耦合至特定存取線的各別記憶體胞元群組中,該等特定存取線可被稱為暫時儲存列。如本文中所使用,記憶體胞元之暫時儲存列正儲存可在一移位運算之各個階段期間更新之資料。作為一實例,位元向量433、435、437及439可具有與RESULT 441、SRCA 443及SRCAB 445相同之一長度,且可儲存於耦合至與SRCA 443及SRCAB 445相同之感測線的胞元中。舉例而言,位元向量433(EFFECTIVE MASK)可具有32個位元之一長度且可儲存於耦合至存取線304-2(未展示)及感測線305-0至305-31的一胞元群組中,位元向量435(ELEMENT MASK)可具有32個位元之一長度且可儲存於耦合至存取線304-3(未展示)及感測線305-0至305-31的一胞元群組中,位元向量437(SHIFT MASK)可具有32個位元之一長度且可儲存於耦合至存取線304-4(未展示)及感測線305-0至305-31的一胞元群組中,並且位元向量439(TMPSHIFT MASK)可具有32個位元之一長度且可儲存於耦合至存取線304-5(未展示)及感測線305-0至305-31的一胞元群組中。位元向量431(COMP_COMP)表示儲存於感測電路(例如,計算組件331及/或感測放大器306)中之資料,該感測電路對應於具有耦合至其、儲存正被移位之元素的胞元的感測線(例如,此實例中之感測線305-0至305-31)。
在與圖4A至圖4C相關聯闡述之實例中,SRCA 443之第一元素(例如,最高有效元素位置之十六進制值「04」)可儲存(例如,作為一個八位元位元向量[0000 0100])於記憶體胞元303-0至303-7中,且SRCB 445之第一元素(例如,最高有效元素位置之十六進制值「03」)可儲存(例如,作為一個八位元位元向量[0000 0011])於耦合至存取線304-1(例如,ROW 1,未展示)及感測線305-0至305-7的記憶體胞元中。作為一實例,各別位元向量之最高有效位元(MSB)(例如,[0000 0100]及[0000 0011)可儲存於耦合至感測線305-0的胞元中,各別位元向量之次MSB可儲存於耦合至感測線305-1的胞元中,...,且各別位元向量之最低有效位元(LSB)可儲存於耦合至感測線305-7的胞元中。如本文中所使用,一位元向量之最左側位元被視為MSB;然而,實施例並不如此受限制。
SRCA 443之第二元素(例如,第二有效元素位置中之十六進制值「05」)可儲存(例如,作為一個八位元位元向量[0000 0101])於記憶體胞元303-8至303-15中,且SRCB 445之第二元素(例如,第二有效元素位置中之十六進制值「02」)可儲存(例如,作為一個八位元位元向量[0000 0010])於耦合至存取線304-1(例如,ROW 1,未展示)及感測線305-8至305-15的記憶體胞元中。SRCA 443之第三元素(例如,第三有效元素位置中之十六進制值「06」)可儲存(例如,作為一個八位元位元向量[0000 0110])於記憶體胞元303-16至303-23中,且SRCB 445之第三元素(例如,第三有效元素位置中之十六進制值「02」)可儲存(例如,作為一個八位元位元向量[0000 0010])於耦合至存取線304-1(例如,ROW 1,未展示)及感測線305-16至305-23的記憶體胞元中。SRCA 443之第四元素(例如,最低有效元素位置中之十六進制值「09」)可儲存(例如,作為一個八位元位元向量[0000 1001])於記憶體胞元303-34至303-31中,且SRCB 445之第四元素(例如,最低有效元
素位置中之十六進制值「01」)可儲存(例如,作為一個八位元位元向量[0000 0001])於耦合至存取線304-1(例如,ROW 1,未展示)及感測線305-24至305-31的記憶體胞元中。
在若干項實例中,一移位運算包含執行若干個AND運算、OR運算、SHIFT運算、INVERT運算及BlockOR運算。移位運算包含執行AND運算、OR運算、SHIFT運算及INVERT運算而不需要經由一輸入/輸出(I/O)線傳送資料以將一第一元素移位由一第二元素定義的若干個位元位置。可使用與記憶體陣列及與若干行互補感測線中之每一行互補感測線成一定間距的感測電路來執行該若干個AND運算、OR運算、INVERT運算及SHIFT運算。
下文虛擬程式碼表示可根據本發明之若干項實施例執行以在一記憶體中執行若干個移位運算之指令。使用元件符號1至6來指代實例性虛擬程式碼,該等元件符號對應於圖4A至圖4C中所展示之表之行496中所展示的元件符號1至6。舉例而言,元件符號一(1)對應於虛擬程式碼中之「row_to_row(srca,result)」,且元件符號二(2)對應於虛擬程式碼中之「pgen_impl(1,ELEMENT_WIDTH)」。
在圖4A至圖4C中所圖解說明之實例中,以粗體圖解說明之一
位元向量值指示位元向量之值之一改變(例如,儲存於記憶體胞元中對應於SHIFT MASK 437的位元向量之值在圖4A中以粗體展示以指示自如與元件符號6.c相關聯展示的[0x01000001]至如與元件符號6.d.4相關聯展示的[0x7F00007F]之一改變)。圖4A至圖4C以496在前的對應數字圖解執行特定操作之結果。例如,執行關聯於元件符號1的一操作的一結果,如以下描述,將被標示為496-1。相似地,執行關聯於元件符號2的一操作的一結果,如以下描述,將被標示為496-2,執行關聯於圖4A中對應至元件符號1至6.p的操作結果,如以下描述,將被標示為496-1至496-6.p,且。執行關聯於圖4B及4C中對應至元件符號6a至6.p的操作結果,如以下描述,將被標示為496-6a至496-6.p。
對應於元件符號1(例如,「row_to_row(SRCA,RESULT)」)之虛擬程式碼與將SRCA 443(例如,位元向量0x04050609)儲存於儲存RESULT 441的記憶體胞元中相關聯,標示為496-1。對應於元件符號2(例如,「pgen_impl(1,ELEMENT_WIDTH)」)的虛擬程式碼與將位元向量0x01010101儲存於感測電路(例如,計算組件331及/或感測放大器306)中相關聯,標示為496-2。位元向量0x01010101識別儲存為SRCA 443之元素中之每一者中的最低有效位元(LSB)。舉例而言,位元向量0x01010101識別儲存為SRCA 443的一第一元素、一第二元素、一第三元素及一第四元素中之一LSB。在若干項實例中,可自一主機接收位元向量0x01010101及/或可經由以下虛擬程式碼形成位元向量0x01010101:
在圖4A至圖4B中未展示與元件符號2.a至2.f相關聯的虛擬程式碼以保持所提供之實例的清晰。對應於元件符號2.a之虛擬程式碼(例如,「set_acc()」)係與將位元向量0xFF,FF,FF,FF儲存於感測電路(例如,計算組件331及/或感測放大器306)中相關聯。對應於元件符號2.b之虛擬程式碼(例如,「shift_accip(RIGHT,ZERO,1)」)係與對儲存於感測電路中的COMP_COMP 431執行一右移位運算相關聯。右移位運算之結果係一位元向量0x7F,FF,FF,FF(例如,COMP_COMP 431具有0x7F,FF,FF,FF的一值)。位元向量0x7F,FF,FF,FF在感測電路中儲存為COMP_COMP 431。
對應於元件符號2.c之虛擬程式碼(例如,「inv_to_row_acc(EFFECTIVE MASK)」)係與對COMP_COMP 431執行一反轉運算且將該反轉運算之結果儲存於儲存EEFFECTIVE MASK 433的記憶體胞元中相關聯。對COMP_COMP 431執行一反轉運算產生一位元向量,該位元向量識別儲存為SRCA 443之複數個第一元素及儲存為SRCB 445之複數個第二元素中的最高有效位元。在此實例中,對位元向量431(例如,0x7F,FF,FF,FF)執行一反轉運算產生位元向量0x80,00,00,00,該位元向量0x80,00,00,00在用於儲存EFFECTIVE MASK 433之記憶體胞元中被儲存為二進制位元向量[1000 000,0000 0000,0000 0000,0000 0000]。十六進制位元向量0X80,00,00,00(例如,二進制位元向量[1000 000,0000 0000,0000 0000,0000 0000])識別該複數個第一元素及該複數個第二元素中之最高有效位元。
對應於元件符號2.d之虛擬程式碼(例如,「for(len_t e=0;e<elements-1;e++)」)係與執行一「FOR」迴圈以使用EFFECTIVE MASK 433識別來自該複數個第一元素及該複數個第二元素之每一元素對中之最高有效位元相關聯。與元件符號2.d相關聯之「FOR」迴圈貫穿元素對(例如,若干元素)之數量迭代。在若干項實例中,由一主機(諸如圖1中之主機110)提供元素對之數量(例如,該複數個第一元素及/或該複數個第二元素中之元素之數量)。然而,由於先前對該複數個第一元素及該複數個第二元素之MSB(例如,[80,00,00,00])之識別,因此僅需要識別與三個元素對相關聯之最高有效位元。由此,「FOR」迴圈使用「e」作為一計數器來執行三次迭代。「e」在「FOR」迴圈之第一迭代中經設定至零(例如,0)且在「FOR」迴圈之每一後續迭代之前遞增(例如,「e++」)一(例如,1)。當「e」大於或等於3(例如,「e<element-1」)時,「FOR」迴圈終止(例如,結束)。
對應於元件符號2.d之虛擬程式碼(例如,「shift_accip(RIGHT,ZERO,ELEMENT_WIDTH)」)係與在「FOR」迴圈之每一迭代期間執行與元件符號2.d.1相關聯地指代的一右移位運算相關聯。右移位運算將COMP_COMP 431中之位元朝向COMP_COMP 431中之LSB移位等於ELEMENT_WIDTH之量之次數,其在此實例中等於八。舉例而言,在「FOR」迴圈之一第一迭代中,與元件符號2.d.1相關聯之右移位運算移位COMP_COMP 431(例如,0x80,00,00,00),導致位元向量0x00,80,00,00作為COMP_COMP 431被儲存於感測電路中。在「FOR」迴圈之一第二迭代中,與元件符號2.d相關聯之右移位運算移位COMP_COMP位元向量431(0x80,80,00,00),導致位元向量0x00,80,80,00作為COMP_COMP 431被儲存於感測電路中。在「FOR」迴圈之一第三迭代中,與元件符號2.D相關聯之右移位運算移位COMP_COMP位元向量431(0x80,80,80,00),導致位元向量
0x00,80,80,80作為COMP_COMP 431被儲存於感測電路中。
對應於元件符號2.d.2之虛擬程式碼(例如,「row_OR_accip(EFFECTIVE MASK)」)係與對COMP_COMP 431及EFFECTIVE MASK 433執行一OR運算相關聯。如本文中所使用,對一第一及第二位元向量執行一OR運算可包含對位元向量之對應位元位置處之各別位元中之每一者並行執行邏輯運算。作為一實例,執行一OR運算可包含對一第一位元向量「a」(例如,[a0 a1 a2 a3 a4 a5 a6 a7])及一第二位元向量「b」(例如,[b0 b1 b2 b3 b4 b5 b6 b7])執行一OR運算。對「a」及「b」執行一OR運算產生一位元向量「c」(例如,[c0 c1 c2 c3 c4 c5 c6 c7]),其中c0=a0 OR b0,c1=a1 OR b1,c2=a2 OR b2,c3=a3 OR b3,c4=a4 OR b4,c5=a5 OR b5,c6=a6 OR b6並且c7=a7 OR b7。在圖5A至圖6B中闡述執行OR及AND運算之實例。
舉例而言,在「FOR」迴圈之第一迭代中,對COMP_COMP 431(0x00,80,00,00)及EFFECTIVE MASK 433(0x80,00,00,00)執行與元件符號2.d.2相關聯之OR運算,導致位元向量0x80,80,00,00作為COMP_COMP 431被儲存於感測電路中。在「FOR」迴圈之第二迭代中,對COMP_COMP 431(0x00,80,80,00)及EFFECTIVE MASK 433(0x80,00,00,00)執行與元件符號2.d.2相關聯之OR運算,導致位元向量0x80,80,80,00作為COMP_COMP 431被儲存於感測電路中。在「FOR」迴圈之第三迭代中,對COMP_COMP 431(0x00,80,80,80)及EFFECTIVE MASK 433(0x80,00,00,00)執行與元件符號2.d.2相關聯之OR運算,導致位元向量0x80,80,80,80作為COMP_COMP 431被儲存於感測電路中。
對應於元件符號2.e之虛擬程式碼(例如,「shift_accip(RIGHT,ZERO,ELEMENT_WIDTH-1)」)係與對COMP_COMP 431執行一右移位運算以準備將EFFECTIVE MASK 433用於與元件符號6相關聯的迴
圈結構中相關聯。右移位運算將COMP_COMP 431中之位元移位與該複數個第一元素及該複數個第二元素相關聯之等於元素寬度減1(例如,ELEMENT_WIDTH-1)的一位置量。舉例而言,在圖4A至圖4C中所提供之實例中,右移位運算將COMP_COMP 431中之位元移位等於七(7)之量之位置。COMP_COMP 431在執行右移位運算之前係一位元向量0x80,80,80,80(例如,二進制[10000000,10000000,10000000,10000000]),且在執行右移位運算之後係一位元向量0x01,01,01,01(例如,二進制[00000001,00000001,00000001,00000001])。右移位運算之結果在感測電路中被儲存為COMP_COMP 431。
對應於元件符號2.f之虛擬程式碼(例如,「acc_to_row(EFFECTIVE MASK)」)係與將儲存於感測電路中之資料型樣(例如,COMP_COMP 431)寫入至儲存EFFECTIVE MASK 433之胞元以便為執行對應於元件符號6之迴圈結構做準備相關聯。對應於元件符號3之虛擬程式碼(例如,「acc_to_row(EFFECTIVE MASK)」)係與將儲存為EFFECTIVE MASK 433之資料型樣作為COMP_COMP 431寫入至感測電路相關聯。
對應於元件符號4之虛擬程式碼(例如,「shift_accip(LEFT,ZERO,ELEMENT_WIDTH-1)」)係與執行一LEFT移位運算相關聯。左移位運算將COMP_COMP 431中之位元朝向COMP_COMP 431中之MSB移位等於七之量之次數。移位運算之結果係位元向量0x80,80,80,80,其作為COMP_COMP 431被儲存於感測電路中。對應於元件符號5之虛擬程式碼(例如,「acc_to_row(ELEMENT MASK)」)係與將儲存於感測電路中之資料型樣(例如,COMP_COMP 431)寫入至儲存ELEMENT MASK 435之胞元相關聯。舉例而言,位元向量0x80808080(例如,COMP_COMP 431)儲存於儲存ELEMENT MASK 435之記憶體胞元中。
對應於元件符號6之虛擬程式碼(例如,「for(len_t c=0;c<max_steps;c++)」)係與執行一「FOR」迴圈以執行與執行移位運算相關聯的若干個運算相關聯。「FOR」迴圈使用「c」作為一計數器來執行若干個運算。「c」在「FOR」迴圈之第一迭代中經設定至零(例如,0)且在「FOR」迴圈之每一後續迭代之前遞增(例如,「c++」)一(例如,1)。當「c」大於或等於max_steps(例如,「c<max_steps」)時,「FOR」迴圈終止(例如,結束)。可使用SRCA 443及/或SRCB 445中之元素中之每一者的寬度來計算max_steps。舉例而言,max_steps可等於log2 ELEMENT_WIDTH(例如,max_steps=log2 ELEMENT_WIDTH)。在圖4A至圖4C中所提供之實例中,max_steps等於三(3)。在若干項實例中,可由圖1中之一主機110、控制電路140及/或感測電路150提供max_steps。
對應於元件符號6.a之虛擬程式碼(例如,「row_to_acc(SRCB)」)係與在感測電路中將SRCB 445寫入為COMP_COMP 431相關聯。對應於元件符號6.b之虛擬程式碼(例如,「acc_AND_accip(EFFECTIVE MASK)」)係與對COMP_COMP 431及EFFECTIVE MASK 433執行一AND運算以隔離SRCB 445中之若干個位元相關聯。經隔離位元將形成SHIFT MASK 437。對位元向量0x03020201(例如,SRCB 445)及位元向量0x01,01,01,01(例如,EFFECTIVE MASK 433)執行AND運算,導致位元向量0x01,00,00,01被儲存於感測電路中。
對應於元件符號6.c之虛擬程式碼(例如,「acc_to_row(SHIFT MASK)」)係與將儲存於感測電路中之資料型樣(例如,COMP_COMP 431)寫入至儲存SHIFT MASK 437之胞元相關聯。舉例而言,位元向量0x01,00,00,01(例如,COMP_COMP 431)儲存於儲存SHIFT MASK 437之記憶體胞元中。
對應於元件符號6.d之虛擬程式碼(例如,「for(len_t e=0;e<
ELEMENT_WIDTH-c-1;e++)」)係與執行一「FOR」迴圈(例如,與元件符號6.d相關聯)以在與元件符號6相關聯之「FOR」迴圈之每一迭代中執行若干個運算相關聯。與元件符號6.d相關聯之「FOR」迴圈使用「e」作為一計數器來執行若干個運算。「e」在「FOR」迴圈之第一迭代中經設定至零(例如,0)且在「FOR」迴圈之每一後續迭代之前遞增(例如,「e++」)一(例如,1)。當「e」大於或等於ELEMENT_WDTH減c減一(例如,「e<ELEMENT_WIDTH-c-1」)時,「FOR」迴圈終止(例如,結束)。在與元件符號6相關聯之「FOR」迴圈之第一迭代期間,c等於零(0)且由此ELEMENT_WIDTH(8)減零(0)減一(1)等於七。舉例而言,與元件符號6d相關聯之「FOR」迴圈在與元件符號6相關聯之「FOR」迴圈之一第一迭代期間執行七次運算迭代,在與元件符號6相關聯之「FOR」迴圈之第二迭代期間執行六次運算迭代,且在與元件符號6相關聯之「FOR」迴圈之第三迭代期間執行五次運算迭代。
在圖4A中,展示元件符號6.d.4而未展示元件符號6.d.1至6.d.3。元件符號6.d.4展示執行與元件符號6.d.1至6.d.4相關聯之「FOR」迴圈之結果。
對應於元件符號6.d.1之虛擬程式碼(例如,「shift_accip(LEFT,ZERO,1)」)係與執行一左移位運算相關聯。左移位運算將COMP_COMP 431中之位元朝向COMP_COMP 431中之MSB移位。舉例而言,在與元件符號6.d相關聯之「FOR」迴圈之一第一迭代中,左移位運算移位COMP_COMP 431(例如,0x01,00,00,01),導致位元向量0x02,00,00,02作為COMP_COMP 431被儲存於感測電路中。在與元件符號6.d相關聯之「FOR」迴圈之一第二迭代中,左移位運算移位COMP_COMP 431(例如,0x03,00,00,03),導致位元向量0x06,00,00,06作為COMP_COMP 431被儲存於感測電路中。在與元件
符號6.d相關聯之「FOR」迴圈之一第三迭代中,左移位運算移位COMP_COMP 431(例如,0x07,00,00,07),導致位元向量0x0E,00,00,0E作為COMP_COMP 431被儲存於感測電路中。在與元件符號6.d相關聯之「FOR」迴圈之一第四迭代中,左移位運算移位COMP_COMP 431(例如,0x0F,00,00,0F),導致位元向量0x1E,00,00,1E作為COMP_COMP 431被儲存於感測電路中。在與元件符號6.d相關聯之「FOR」迴圈之一第五迭代中,左移位運算移位COMP_COMP 431(例如,0x1F,00,00,1F),導致位元向量0x3E,00,00,3E作為COMP_COMP 431被儲存於感測電路中。在與元件符號6.d相關聯之「FOR」迴圈之一第六迭代中,左移位運算移位COMP_COMP 431(例如,0x3F,00,00,3F),導致位元向量0x7E,00,00,7E作為COMP_COMP 431被儲存於感測電路中。在與元件符號6.d相關聯之「FOR」迴圈之一第七迭代中,左移位運算移位COMP_COMP 431(例如,0x7F,00,00,7F),導致位元向量0xFE,00,00,FE作為COMP_COMP 431被儲存於感測電路中。
對應於元件符號6.d.2之虛擬程式碼(例如,「row_OR_accip(SHIFT MASK)」)係與對COMP_COMP 431及SHIFT MASK 437執行一OR運算相關聯。舉例而言,在與元件符號6.d相關聯之「FOR」迴圈之一第一迭代中,對位元向量0x02,00,00,02(例如,COMP_COMP 431)及位元向量0x01,00,00,01(例如,SHIFT MASK 437)執行OR運算,導致位元向量0x03,00,00,03作為COMP_COMP 431被儲存於感測電路中。在與元件符號6.d相關聯之「FOR」迴圈之一第二迭代中,對位元向量0x06,00,00,06(例如,COMP_COMP 431)及位元向量0x03,00,00,03(例如,SHIFT MASK 437)執行OR運算,導致位元向量0x07,00,00,07作為COMP_COMP 431被儲存於感測電路中。在與元件符號6.d相關聯之「FOR」迴圈之一
第三迭代中,對位元向量0x0E,00,00,0E(例如,COMP_COMP 431)及位元向量0x07,00,00,07(例如,SHIFT MASK 437)執行OR運算,導致位元向量0x0F,00,00,0F作為COMP_COMP 431被儲存於感測電路中。在與元件符號6.d相關聯之「FOR」迴圈之一第四迭代中,對位元向量0x1E,00,00,1E(例如,COMP_COMP 431)及位元向量0x0F,00,00,0F(例如,SHIFT MASK 437)執行OR運算,導致位元向量0x1F,00,00,1F作為COMP_COMP 431被儲存於感測電路中。在與元件符號6.d相關聯之「FOR」迴圈之一第五迭代中,對位元向量0x3E,00,00,3E(例如,COMP_COMP 431)及位元向量0x1F,00,00,1F(例如,SHIFT MASK 437)執行OR運算,導致位元向量0x3F,00,00,3F作為COMP_COMP 431被儲存於感測電路中。在與元件符號6.d相關聯之「FOR」迴圈之一第六迭代中,對位元向量0x7E,00,00,7E(例如,COMP_COMP 431)及位元向量0x3F,00,00,3F(例如,SHIFT MASK 437)執行OR運算,導致位元向量0x7F,00,00,7F作為COMP_COMP 431被儲存於感測電路中。在與元件符號6.d相關聯之「FOR」迴圈之一第七迭代中,對位元向量0xFE,00,00,FE(例如,COMP_COMP 431)及位元向量0x7F,00,00,7F(例如,SHIFT MASK 437)執行OR運算,導致位元向量0xFF,00,00,FF作為COMP_COMP 431儲存於感測電路中。
對應於元件符號6.d.3之虛擬程式碼(例如,「row_inv_AND_accip(ELEMENT MASK)」)係與對ELEMENT MASK 435執行一INVERT運算及對該INVERT運算之結果與COMP_COMP 431執行一AND運算相關聯。舉例而言,在與元件符號6.d相關聯之「FOR」迴圈之一第一迭代中,對ELEMENT MASK 435(例如,位元向量0x80,80,80,80)執行INVERT運算產生位元向量0x7F,7F,7F,7F。對位元向量0x7F,7F,7F,7F(例如,INVERT運算之結果)與位元向量0x03,00,00,03(例如,COMP_COMP 431)執行AND運算,導致位元向
量0x03,00,00,03作為COMP_COMP 431被儲存於感測電路中。
在與元件符號6.d相關聯之「FOR」迴圈之一第二迭代中,對ELEMENT MASK 435(例如,位元向量0x80,80,80,80)進行之INVERT運算產生位元向量0x7F,7F,7F,7F。對位元向量0x7F,7F,7F,7F(例如,INVERT運算之結果)與位元向量0x07000007(例如,COMP_COMP 431)執行AND運算,導致位元向量0x07,00,00,07作為COMP_COMP 431被儲存於感測電路中。
在與元件符號6.d相關聯之「FOR」迴圈之一第三迭代中,對ELEMENT MASK 435(例如,位元向量0x80,80,80,80)進行之INVERT運算產生位元向量0x7F,7F,7F,7F。對位元向量0x7F,7F,7F,7F(例如,INVERT運算之結果)與位元向量0x0F,00,00,0F(例如,COMP_COMP 431)執行AND運算,導致位元向量0x0F,00,00,0F作為COMP_COMP 431被儲存於感測電路中。
在與元件符號6.d相關聯之「FOR」迴圈之一第四迭代中,對ELEMENT MASK 435(例如,位元向量0x80,80,80,80)進行之INVERT運算產生位元向量0x7F,7F,7F,7F。對位元向量0x7F,7F,7F,7F(例如,INVERT運算之結果)與位元向量0x1F,00,00,1F(例如,COMP_COMP 431)執行AND運算,導致位元向量0x1F,00,00,1F作為COMP_COMP 431被儲存於感測電路中。
在與元件符號6.d相關聯之「FOR」迴圈之一第五迭代中,對ELEMENT MASK 435(例如,位元向量0x80,80,80,80)進行之INVERT運算產生位元向量0x7F,7F,7F,7F。對位元向量0x7F,7F,7F,7F(例如,INVERT運算之結果)與位元向量0x3F,00,00,3F(例如,COMP_COMP 431)執行AND運算,導致位元向量0x3F,00,00,3F作為COMP_COMP 431被儲存於感測電路中。
在與元件符號6.d相關聯之「FOR」迴圈之一第六迭代中,對
ELEMENT MASK 435(例如,位元向量0x80,80,80,80)進行之INVERT運算產生位元向量0x7F,7F,7F,7F。對位元向量0x7F,7F,7F,7F(例如,INVERT運算之結果)與位元向量0x7F,00,00,7F(例如,COMP_COMP 431)執行AND運算,導致位元向量0x7F,00,00,7F作為COMP_COMP 431被儲存於感測電路中。
在與元件符號6.d相關聯之「FOR」迴圈之一第七迭代中,對ELEMENT MASK 435(例如,位元向量0x80,80,80,80)進行之INVERT運算產生位元向量0x7F,7F,7F,7F。對位元向量0x7F,7F,7F,7F(例如,INVERT運算之結果)與位元向量0xFF,00,00,FF(例如,COMP_COMP 431)執行AND運算,導致位元向量0x7F,00,00,7F作為COMP_COMP 431被儲存於感測電路中。
對應於元件符號6.d.4之虛擬程式碼(例如,「acc_to_row(SHIFT MASK)」)係與將儲存於感測電路中之資料型樣(例如,COMP_COMP 431)寫入至儲存SHIFT MASK 437之胞元相關聯。舉例而言,在與元件符號6.d相關聯之「FOR」迴圈之一第七迭代中,位元向量0x7F00007F(例如,COMP_COMP 431)儲存於儲存SHIFT MASK 437之記憶體胞元中。
對應於元件符號6.e之虛擬程式碼(例如,「for(len_t e=0;e<c;e++)」)係與執行一「FOR」迴圈(例如,與元件符號6.e相關聯)以在與元件符號6相關聯之「FOR」迴圈之每一迭代中執行若干個運算相關聯。與元件符號6.e相關聯之「FOR」迴圈使用「e」作為一計數器來執行若干個運算。「e」在「FOR」迴圈之第一迭代中經設定至零(例如,0)且在「FOR」迴圈之每一後續迭代之前遞增(例如,「e++」)一(例如,1)。當「e」大於或等於c(例如,「e<c」)時,「FOR」迴圈終止(例如,結束)。在與元件符號6相關聯之「FOR」迴圈之第一迭代期間,c等於零(0),使得在與元件符號6相關聯之「FOR」迴圈之第一迭
代中,「FOR」迴圈在不執行與6.e.1至6.e.4相關聯的虛擬程式碼之情況下終止。然而,為清晰起見,本文中闡述與元件符號6.e相關聯之虛擬程式碼。
對應於元件符號6.e.1之虛擬程式碼(例如,「shift_accip(RIGHT,ZERO,1)」)係與執行一右移位運算相關聯。右移位運算將COMP_COMP 431中之位元朝向COMP_COMP 431中之LSB移位且將結果作為COMP_COMP 431儲存於感測電路中。對應於元件符號6.e.2之虛擬程式碼(例如,「row_OR_accip(SHIFT MASK)」)係與對COMP_COMP 431及SHIFT MASK 437執行一OR運算且將該OR運算之結果作為COMP_COMP 431儲存於感測電路中相關聯。
對應於元件符號6.e.3之虛擬程式碼(例如,「row_inv_AND_accip(ELEMENT MASK)」)係與對ELEMENT MASK 435執行一INVERT運算,對該INVERT運算之結果與COMP_COMP 431執行一AND運算,及將該AND運算之結果作為COMP_COMP 431儲存於感測電路中相關聯。對應於元件符號6.e.4之虛擬程式碼(例如,「acc_to_row(SHIFT MASK)」)係與將儲存於感測電路中之資料型樣(例如,COMP_COMP 431)寫入至儲存SHIFT MASK 437之胞元相關聯。
對應於元件符號6.f之虛擬程式碼(例如,「row_to_acc(RESULT)」)係與將RESULT 441作為COMP_COMP 431寫入於感測電路中相關聯。對應於元件符號6.g之虛擬程式碼(例如,「required_shift=pow(2,c)」)係與計算SRCA 443所移位之若干個位元位置相關聯。位元位置之數目(例如,required_shift)等於二的c次冪(例如,2 c )。在若干項實例中,可由圖1中之主機110及/或控制電路140提供2 c 。亦可在圖1中之感測電路150中計算2 c 。c在本文中可被稱為一當前位元索引。舉例而言,c可用於貫穿與SRCB 445相關聯之若
干個索引迭代。在與元件符號6相關聯之「FOR」迴圈之一第一迭代中,位元位置之數目等於1。舉例而言,藉由SRCA 443移位之位元位置之數目係自SRCB 445中之1位元及一相關聯索引來計算。
來自SRCB 445之每一位元係與一索引相關聯。舉例而言,來自SRCB 445中之元素中之每一者的一LSB係與一第一索引(例如,0)相關聯而來自SRCB 445中之元素中之每一者的一MSB係與一最後索引相關聯。表示SRCB 445中之一元素的一位元向量之第一索引中之一1位元可被解釋為SRCA 443中之一相關聯元素在與元件符號6相關聯之「FOR」迴圈之一第一迭代中朝向一MSB移位一個位元位置的一指示,與第一索引之下一個(例如,1)相關聯的一1位元可被解釋為指示SRCA 443中之一相關聯元素在與元件符號6相關聯之「FOR」迴圈之一第二迭代中朝向一MSB移位兩個位元位置,與第一索引之下一個的下一個(例如,2)相關聯的一1位元可被解釋為指示SRCA 443中之一相關聯元素在與元件符號6相關聯之「FOR」迴圈之一第三迭代中朝向一MSB移位四個位元位置等。在若干項實例中,位元可朝向一LSB移位。
對應於元件符號6.h之虛擬程式碼(例如,「shift_accip(LEFT,ZERO,required_shift)」)係與執行一左移位運算相關聯。左移位運算將COMP_COMP 431中之位元(例如,0x04,05,06,09)朝向COMP_COMP 431中之MSB移位等於required_shift之數目個位元位置。在與元件符號6相關聯之「FOR」迴圈之第一迭代中,COMP_COMP 431中之位元在朝向MSB移位一個位元位置。移位COMP_COMP 431中之位元可包含將位元自一第一感測放大器306及/或計算組件331移位至一第二感測放大器306及/或計算組件331,其中第一感測放大器306及/或計算組件331係與一位元向量之一第一索引相關聯且一第二感測放大器306及/或計算組件331係與一第二索引相
關聯,且其中第一索引係與位元向量中之一第一位元相關聯,該第一位元係不如與位元向量中之第二索引相關聯的一第二位元有效之一位元。移位COMP_COMP 431中之位元可導致位元向量0x080A0C12作為COMP_COMP 431被儲存於感測電路中。
對應於元件符號6.i之虛擬程式碼(例如,「row_AND_accip(SHIFT MASK)」)係與對COMP_COMP 431及SHIFT MASK 437執行一AND運算以隔離來自SRCA 443之經移位元素(該等經移位元素與具有特定索引中之1位元的來自SRCB 445之元素對應)相關聯。舉例而言,SHIFT MASK 437(例如,0x7F,00,00,7F)可用於隔離具有一位元向量0x08的一最高有效元素之一經移位元素(該位元向量0x08對應於來自SRCA 443之未經移位位元向量0x04(例如,0x04,05,06,09))及具有一位元向量0x12的一最低有效元素之一經移位元素(該位元向量0x12對應於來自SRCA 443之未經移位位元向量0x09(例如,0x04,05,06,09))。最高有效元素及最低有效元素由於SRCB 445(例如,二進制位元向量[0000 0011,0000 0010,0000 0010,0000 0001])具有一1位元作為最低有效元素及最高有效元素中之一LSB而移位,最低有效元素及最高有效元素之1位元各自對應於在496-6.b處與SRCB 445(0x03,02,02,01)進行AND運算的EFFECTIVE MASK 433(例如,0x01,01,01,01)中之LSB位置中之1位元。對於此第一迭代,最低有效位元用於對應於SRCB 445(0x03,02,02,01)。當最低有效位元位置包含一「0」時,將不對元素進行移位(如下文與下文之6.m相關聯地闡述),此乃因與EFFECTIVE MASK 533(0x01,01,01,01)進行AND運算之SRCB 445(0x03,02,02,01)產生(0x01,00,00,01)。對COMP_COMP 431(例如,0x08,0A,0C,12)及SHIFT MASK 437(例如,0x7F,00,00,7F)執行AND運算之結果係位元向量0x08,00,00,12,該位元向量作為COMP_COMP 431被儲存於感測電路中。
對應於元件符號6.j之虛擬程式碼(例如,「row_inv_AND_accip(ELEMENT MASK)」)係與對ELEMENT MASK 435執行一INVERT運算及對該INVERT運算之結果與COMP_COMP 431執行一AND運算以形成一遮罩相關聯,該遮罩可用於隔離位元以防其自一個元素移位至SRCA 443中之一不同元素。對ELEMENT MASK 435(例如,位元向量0x80,80,80,80)執行之INVERT運算產生位元向量0x7F,7F,7F,7F。對位元向量0x7F,7F,7F,7F(例如,INVERT運算之結果)與位元向量0x08,00,00,12(例如,COMP_COMP 431)執行AND運算,導致位元向量0x08,00,00,12作為COMP_COMP 431被儲存於感測電路中。
對應於元件符號6.k之虛擬程式碼(例如,「acc_to_row(TMPSHIFTED MASK)」)係與將COMP_COMP 431之位元型樣儲存於記憶體胞元中相關聯,該等記憶體胞元儲存TMPSHIFTED MASK 439以儲存來自SRCA 443之經移位元素,當來自SRCA 443之未經移位元素被隔離時,與元件符號6.i相關聯之該等經移位元素已被隔離。舉例而言,將位元向量0x08,00,00,12(例如,COMP_COMP 431)儲存於儲存TMPSHIFTED MASK 439之記憶體胞元中。由此,TMPSHIFTED MASK 439用於儲存與來自SRCA 443之未經移位元素隔離的來自SRCA 443之經移位元素。
對應於元件符號6.1之虛擬程式碼(例如,「row_inv_to_acc(SHIFT MASK)」)係與對SHIFTED MASK 437執行一INVERT運算且將結果作為COMP_COMP 431儲存於感測電路中以形成可用於隔離來自SRCA 443之未經移位元素的一遮罩相關聯。將一位元向量0x7F,00,00,7F(例如,SHIFTED MASK 437)反轉可導致位元向量0x80,FF,FF,80作為COMP_COMP 431被儲存於感測電路中。
對應於元件符號6.m之虛擬程式碼(例如,
「row_AND_accip(RESULT)」)係與對COMP_COMP 431及RESULT 441執行一AND運算以隔離來自SRCA 443之未經移位元素相關聯,該等未經移位元素與來自SRCB 445的具有特定索引中之0位元的元素對應。舉例而言,位元向量0x80,FF,FF,80可用於隔離具有來自SRCA 443(例如,0x04,05,06,09)之一位元向量0x05的一未經移位元素及具有來自SRCA 443(例如,0x04,05,06,09)之一位元向量0x06的一未經移位元素,此乃因SRCB 445(例如,二進制位元向量[0000 0011,0000 0010,0000 0010,0000 0001])具有一位元中之一0位元,其中該兩個元素中之一0-索引介於最低有效元素與最高有效元素之間。對COMP_COMP 431(例如,0x80,FF,FF,80)與RESULT 441(例如,0x04,05,06,09)執行AND運算之結果係位元向量0x00,05,06,00,該位元向量作為COMP_COMP 431被儲存於感測電路中。
對應於元件符號6.n之虛擬程式碼(例如,「row_OR_accip(TMPSHIFTED MASK)」)係與對COMP_COMP 431及TMPSHIFTED MASK 439執行一OR運算以將其兩者彼此分離之經移位元素與未經移位元素合併相關聯。對位元向量0x00,05,06,00(例如,COMP_COMP 431)及位元向量0x08,00,00,12(例如,TMPSHIFTED MASK 439)執行OR運算,導致位元向量0x08,05,06,12作為COMP_COMP 431被儲存於感測電路中。
對應於元件符號6.o之虛擬程式碼(例如,「acc_to_row(RESULT)」)係與將COMP_COMP 431之位元型樣儲存於記憶體胞元中相關聯,該等記憶體胞元儲存RESULT 441以儲存與元件符號6相關聯之「FOR」迴圈之一迭代的結果。舉例而言,對應於元件符號6.o之虛擬程式碼儲存在與元件符號6相關聯之「FOR」迴圈之一第一迭代中將SRCA 443中之位元移位第一數目個位元位置的結果,儲存在與元件符號6相關聯之「FOR」迴圈之一第二迭代中將
SRCA 443中之位元移位第二數目個位元位置的結果,及儲存在與元件符號6相關聯之「FOR」迴圈之一第三迭代中將SRCA 443中之位元移位第三數目個位元位置的結果。位元向量0x08,05,06,12被儲存於儲存RESULT 441之記憶體胞元中。
對應於元件符號6.p至6.r之虛擬程式碼係與更新EFFECTIVE MASK 433相關聯。對應於元件符號6.p之虛擬程式碼(例如,「row_to_acc(EFFECTIVE MASK)」)係與將EFFECTIVE MASK 433之位元型樣儲存於感測電路中相關聯。舉例而言,位元向量0x01,01,01,01作為COMP_COMP 431被儲存於感測電路中。對應於元件符號6.q之虛擬程式碼(例如,「shift_accip(LEFT,ZERO,1)」)係與對COMP_COMP 431執行一左移位運算以產生可用於識別具有一特定索引之位元的一位元向量相關聯。移位位元向量0x01,01,01,01導致位元向量0x02,02,02,02作為COMP_COMP 431被儲存於感測電路中。對應於元件符號6.r之虛擬程式碼(例如,「acc_to_row(EFFECTIVE MASK)」)係與將COMP_COMP 431儲存於儲存EFFECTIVE MASK 433的記憶體胞元中相關聯。舉例而言,位元向量0x02,02,02,02(例如,COMP_COMP 431)被儲存於儲存EFFECTIVE MASK 433之記憶體胞元中。
在圖4B中所展示的與元件符號6相關聯之「FOR」迴圈之一第二迭代中,對應於元件符號6之虛擬程式碼(例如,「for(len_t c=0;c<max_steps;c++)」)將c遞增使得c等於一(1)。「FOR」迴圈由於c小於三(3)而繼續。
在係元件符號6.a之第二迭代中,位元向量0x03,02,02,01作為COMP_COMP 431被儲存於感測電路中。在係元件符號6.b之第二迭代中,對位元向量0x03020201(例如,SRCB 445)及位元向量0x02,02,02,02(例如,EFFECTIVE MASK 433)執行一AND運算,導致
位元向量0x02,02,02,00被儲存於感測電路中。
在係元件符號6.c之第二迭代中,位元向量0x02,02,02,00(例如,COMP_COMP 431)被儲存於儲存SHIFT MASK 437之記憶體胞元中。在係元件符號6.d之第二迭代中,使用一「FOR」迴圈執行若干個運算。在執行與元件符號6d相關聯之「FOR」迴圈之後,位元向量0x7E,7E,7E,00(例如,COMP_COMP 431)被儲存於儲存SHIFT MASK 437之記憶體胞元中。在係元件符號6.e之第二迭代中,使用一「FOR」迴圈執行若干個運算。在執行與元件符號6e相關聯之「FOR」迴圈之後,位元向量0x7F,7F,7F,00(例如,COMP_COMP 431)被儲存於儲存SHIFT MASK 437之記憶體胞元中。
在係元件符號6.e之第二迭代中,與元件符號6.e相關聯之「FOR」迴圈使用「e」作為一計數器執行若干個運算。「e」在「FOR」迴圈之第一迭代中經設定至零(例如,0)且在「FOR」迴圈之每一後續迭代之前遞增(例如,「e++」)一(例如,1)。當「e」大於或等於c(例如,「e<c」)時,「FOR」迴圈終止(例如,結束)。在與元件符號6相關聯之「FOR」迴圈之第二迭代期間,c等於零(0),使得與元件符號6.e相關聯之「FOR」迴圈在執行與「FOR」迴圈(其與元件符號6.e相關聯)相關聯之運算之一迭代之後終止。
在係元件符號6.f之第二迭代中,位元向量0x08,05,06,12(例如,RESULT 441)作為COMP_COMP 431被儲存於感測電路中。在係元件符號6.g之第二迭代中,required_shift等於2(例如,21=2)。在係元件符號6.h之第二迭代中,一左移位運算將COMP_COMP 431(例如,0x08,05,06,12)中之位元朝向COMP_COMP 431中之MSB移位等於required_shift之數目個位元位置。左移位運算之結果係一位元向量0x20,14,18,48,其作為COMP_COMP 431被儲存於感測電路中。
在係元件符號6.i之第二迭代中,對位元向量0x20,14,18,48(例
如,COMP_COMP 431)及位元向量0x7F,7F,7F,00(例如,SHIFT MASK 437)執行一AND運算。舉例而言,位元向量0x20,14,18,48與0x7F,7F,7F,00進行AND運算以便隔離來自SRCA 443之經移位元素,該等經移位元素與來自SRCB 445的具有一特定索引中之1位元的元素對應。在此第二迭代中,SHIFT MASK 437(例如,0x7F,7F,7F,00)之值指示SRCB 445(例如,0x03,02,02,01)之一值是否對應於一第二最低有效位元位置(例如,藉由EFFECTIVE MASK 433[0x02,02,02,02]圖解說明)。在此實例中,AND運算之結果係一位元向量0x20,14,18,00,其作為COMP_COMP 431被儲存於感測電路中。
在係元件符號6.j之第二迭代中,對位元向量0x80,80,80,80(例如,ELEMENT MASK 435)執行一INVERT運算。對位元向量0x7F,7F,7F,7F(例如,INVERT運算之結果)及位元向量0x20,14,18,00(例如,COMP_COMP 431)執行一AND運算,導致位元向量0x20,14,18,00作為COMP_COMP 431被儲存於感測電路中。
在係元件符號6.k之第二迭代中,位元向量0x20,14,18,00(例如,COMP_COMP 431)被儲存於儲存TMPSHIFTED MASK 439之記憶體胞元中。在係元件符號6.1之第二迭代中,位元向量0x7F,7F,7F,00(例如,SHIFTED MASK 437)經反轉,導致位元向量0x80,80,80,FF作為COMP_COMP 431被儲存於感測電路中。
在係元件符號6.m之第二迭代中,位元向量0x80,80,80,FF(例如,COMP_COMP 431)與位元向量0x08,05,06,12(例如,RESULT 441)進行AND運算,產生作為COMP_COMP 431被儲存於感測電路中的位元向量0x00,00,00,12。舉例而言,位元向量0x80,80,80,FF可用於隔離具有來自RESULT 441(例如,0x08,00,00,12)之一位元向量0x12的一未經移位元素。在係元件符號6.n之第二迭代中,對位元向量0x00,00,00,12(例如,COMP_COMP 431)及位元向量0x20,14,18,00(例
如,TMPSHIFTED MASK 439)執行一OR運算,導致位元向量0x20,14,18,12作為COMP_COMP 431被儲存於感測電路中。在係元件符號6.o之第二迭代中,位元向量0x20,14,18,12(例如,COMP_COMP 431)被儲存於儲存RESULT 441之記憶體胞元中。
在係元件符號6.p之第二迭代中,位元向量0x02,02,02,02作為COMP_COMP 431被儲存於感測電路中。在係元件符號6.q之第二迭代中,位元向量0x02,02,02,02(例如,COMP_COMP 431)經移位,導致位元向量0x04,04,04,04作為COMP_COMP 431被儲存於感測電路中。在係元件符號6.r之第二迭代中,位元向量0x04,04,04,04(例如,COMP_COMP 431)被儲存於儲存EFFECTIVE MASK 433之記憶體胞元中。
在圖4C中所展示的與元件符號6相關聯之「FOR」迴圈之一第三迭代中,對應於元件符號6之虛擬程式碼將c遞增使得c等於二(2)。「FOR」迴圈由於c小於三(3)而繼續。
在係元件符號6.a之一第三迭代中,位元向量0x03,02,02,01作為COMP_COMP 431被儲存於感測電路中。在係元件符號6.b之一第三迭代中,對位元向量0x03020201(例如,SRCB 445)及位元向量0x04,04,04,04(例如,EFFECTIVE MASK 433)執行一AND運算,導致位元向量0x00,00,00,00被儲存於感測電路中。
在係元件符號6.c之一第三迭代中,位元向量0x00,00,00,00(例如,COMP_COMP 431)被儲存於儲存SHIFT MASK 437之記憶體胞元中。在係元件符號6.d之第三迭代中,使用一「FOR」迴圈執行若干個運算。在執行與元件符號6d相關聯之「FOR」迴圈之後,位元向量0x00,00,00,00(例如,COMP_COMP 431)被儲存於儲存SHIFT MASK 437之記憶體胞元中。在係元件符號6.e之第三迭代中,使用一「FOR」迴圈執行若干個運算。在執行與元件符號6e相關聯之
「FOR」迴圈之後,位元向量0x00,00,00,00(例如,COMP_COMP 431)被儲存於儲存SHIFT MASK 437之記憶體胞元中。在係元件符號6.e之第三迭代中,位元向量0x00,00,00,00被儲存於儲存SHIFT MASK 437之記憶體胞元中。
在係元件符號6.f之第三迭代中,位元向量0x20,14,18,00(例如,RESULT 441)作為COMP_COMP 431被儲存於感測電路中。在係元件符號6.g之第三迭代中,required_shift等於4(例如,22=4)。在係元件符號6.h之第三迭代中,一左移位運算將位元向量0x20,14,18,12(例如,COMP_COMP 431)中之位元朝向COMP_COMP 431中之MSB移位等於required_shift之數目個位元位置。左移位運算之結果係一位元向量0x01,41,81,20,其作為COMP_COMP 431被儲存於感測電路中。
在係元件符號6.i之第三迭代中,對位元向量0x01,41,81,20(例如,COMP_COMP 431)及位元向量0x00,00,00,00(例如,SHIFT MASK 437)執行一AND運算。舉例而言,位元向量0x01,41,81,20與0x00,00,00,00進行AND運算以便隔離來自SRCA 443之經移位元素,該等經移位元素與來自SRCB 445的具有一特定索引中之1位元的元素對應。在此第三迭代中,SHIFT MASK 437(例如,0x00,00,00,00)之值指示SRCB 445(例如,0x03,02,02,01)之一值是否對應於一第三最低有效位元位置(例如,藉由EFFECTIVE MASK 433[0x04,04,04,04]圖解說明)。且由於在此實例中,SRCB 445位元向量(0x03,02,02,01)之「1」位元中沒有一者對應於EFFETIVE MASK 433位元向量(0x04,04,04,04),因此AND運算之結果係一位元向量0x00,00,00,00,其作為COMP_COMP 431被儲存於感測電路中。
在係元件符號6.j之第三迭代中,對位元向量0x80,80,80,80(例如,ELEMENT MASK 435)執行一INVERT運算。對位元向量0x7F,7F,7F,7F(例如,INVERT運算之結果)及位元向量0x00,00,00,00
(例如,COMP_COMP 431)執行一AND運算,導致位元向量0x00,00,00,00作為COMP_COMP 431被儲存於感測電路中。
在係元件符號6.k之第三迭代中,位元向量0x00,00,00,00(例如,COMP_COMP 431)被儲存於儲存TMPSHIFTED MASK 439之記憶體胞元中。在係元件符號6.1之第三迭代中,位元向量0x00,00,00,00(例如,SHIFTED MASK 437)經反轉,導致位元向量0xFF,FF,FF,FF作為COMP_COMP 431被儲存於感測電路中。
在係元件符號6.m之第三迭代中,位元向量0xFF,FF,FF,FF(例如,COMP_COMP 431)與位元向量0x20,14,18,12(例如,RESULT 441)進行AND運算,產生作為COMP_COMP 431被儲存於感測電路中的位元向量0x20,14,18,12。舉例而言,位元向量0xFF,FF,FF,FF可用於隔離包含來自RESULT 441(例如,0x20,14,18,12)之位元向量0x20、0x14、0x18及0x12的未經移位元素。在係元件符號6.n之第三迭代中,對位元向量0x20,14,18,12(例如,COMP_COMP 431)及位元向量0x00,00,00,00(例如,TMPSHIFTED MASK 439)執行一OR運算,導致位元向量0x20,14,18,00作為COMP_COMP 431被儲存於感測電路中。在係元件符號6.o之第三迭代中,位元向量0x20,14,18,12(例如,COMP_COMP 431)被儲存於儲存RESULT 441之記憶體胞元中。
在係元件符號6.p之第三迭代中,位元向量0x04,04,04,04作為COMP_COMP 431被儲存於感測電路中。在係元件符號6.q之第三迭代中,位元向量0x04,04,04,04(例如,COMP_COMP 431)經移位,導致位元向量0x08,08,08,08作為COMP_COMP 431被儲存於感測電路中。在係元件符號6.r之第三迭代中,位元向量0x08,08,08,08(例如,COMP_COMP 431)被儲存於儲存EFFECTIVE MASK 433之記憶體胞元中。
然而,實施例並不限於此實例中之虛擬程式碼中之指令之序列
之次序。舉例而言,以特定元件符號指代之若干個運算可在執行以不同元件符號指代之若干個運算之前執行。
在下文闡述且在下文之表1中概述關於執行邏輯運算且最初將一結果儲存於感測放大器206-2中的圖2A之感測電路250-2之功能性。與其中結果可最初駐存於一計算組件231-2之一次級鎖存器(例如,累加器)中,且(舉例而言)然後隨後經傳送至感測放大器206-2的先前方法相比,最初將一特定邏輯運算之結果儲存於感測放大器206-2之初級鎖存器中可提供經改良多功能性。
最初將一特定運算之結果儲存於感測放大器206-2中(例如,不必執行一額外運算以將結果自計算組件231-2(例如,累加器)移動至感測放大器206-2)係有利的,此乃因(舉例而言)可在不執行一預充電週期(例如,在互補資料線205-1及/或205-2上)之情況下將結果寫入至(記憶體胞元之陣列之)一列或寫入回至累加器中。
圖5A圖解說明根據本發明之若干項實施例的與使用感測電路執行若干個邏輯運算相關聯的一時序圖。下文闡述關於執行邏輯運算且最初將一結果儲存於計算組件231-2(例如,累加器之次級鎖存器)中的圖2A之感測電路250-2之功能性。圖5A中所展示之時序圖圖解說明與使用圖2A中所圖解說明之感測電路來執行一邏輯運算(例如,一R輸入邏輯運算)之一第一運算階段相關聯的信號(例如,電壓信號)。關
於圖5A闡述之第一運算階段可係(舉例而言)一AND、NAND、OR或NOR運算之一第一運算階段。執行圖5A中所圖解說明之運算階段可涉及消耗顯著少於先前處理方法之能量(例如,約一半),該等先前處理方法可涉及在電壓軌之間(例如,在用於存取I/O線之一供應與接地之間)提供一全擺動。
在圖5A中所圖解說明之實例中,對應於互補邏輯值(例如,「1」及「0」)之電壓軌係一供應電壓(VDD)及一參考電壓(例如,接地(Gnd))。在執行一邏輯運算之前,可發生一平衡,使得互補資料線D及D_在一平衡電壓(VDD/2)下短接在一起,如先前所闡述。
下文所闡述之一邏輯運算之第一運算階段涉及將邏輯運算之一第一運算元載入至累加器中。圖5A中所展示之時間參考(例如,t1等)未必表示與其他時序圖中之類似時間參考相同之一絕對或相對時間。
在時間t1處,平衡信號526被撤銷啟動,且然後一選定列(例如,對應於將感測其資料值且將該資料值用作一第一輸入的一記憶體胞元之列)被啟用。信號504-0表示施加至選定列(例如,圖2A中所展示之列Y 204-Y)之電壓信號。當列信號504-0達到對應於選定胞元的存取電晶體(例如,圖2A中所展示之202-3)之臨限電壓(Vt)時,存取電晶體接通且將資料線D耦合至選定記憶體胞元(例如,若胞元係一1T1C DRAM胞元,則耦合至圖2A中所展示之電容器203-3),此在資料線D與D_(例如,如分別藉由資料線上之信號505-1及505-2指示)之間(於時間t2與t3之間)形成一差分電壓信號。選定胞元之電壓係藉由信號503表示。由於能量守恆,因此在資料線D與D_之間形成差分信號(例如,藉由將胞元耦合至資料線D)並不消耗能量。然而,與啟用/停用列信號504-0相關聯之能量分散於耦合至該列之複數個記憶體胞元上。
在時間t3處,感測放大器(例如,圖2A中所展示之206-2)被啟用。
如所展示,一正控制信號590(例如,對應於圖2B中所展示之ACT 265)變高且負控制信號528(例如,對應於圖2B中所展示之RnIF 228)變低。此將資料線D與D_之間的差分信號放大,從而產生處於資料線D上的對應於一邏輯「1」之一電壓(例如,VDD)或對應於一邏輯「0」之一電壓(例如,接地)(及處於互補資料線D_上之另一電壓)。由此,所感測資料值被儲存於感測放大器206-2之初級鎖存器中。在將資料線D(205-1)自平衡電壓VDD/2充電至軌電壓VDD時發生初級能量消耗。圖5A在實例中展示處於資料線D上的對應於一邏輯「1」之資料線電壓505-1及505-2。
根據某些實施例,感測放大器206-2之初級鎖存器可透過各別通過電晶體耦合至互補資料線D及D_(圖2A中未展示但在與其中鎖存器264透過圖2A中所展示之負載/通過電晶體218-1及218-2耦合至資料線D及D_的方式類似之一組態中)。Passd控制信號511控制一個通過電晶體。Passdb控制信號控制另一通過電晶體,且此處Passdb控制信號可在此處表現得與Passd控制信號相同。
在時間t4處,可啟用通過電晶體(若存在)(例如,經由施加至耦合至通過電晶體之各別閘極的控制線的各別Passd及Passdb控制信號511變高)。在時間t5處,累加器負控制信號512-1(例如,Accumb)及累加器正控制信號512-2(例如,Accum)經由圖2A中所展示之各別控制線212-1及212-2啟動。如下文所闡述,累加器控制信號ACCUMB 512-1及ACCUM 512-2對於後續運算階段可保持啟動。由此,在此實例中,啟動控制信號ACCUMB 512-1及ACCUM 512-2啟用圖2A中所展示之計算組件231-2之次級鎖存器(例如,累加器)。儲存於感測放大器206-2中之所感測資料值經傳送(例如,經複製)至包含動態鎖存器及靜態鎖存器264的次級鎖存器,如圖2A中所展示。
在時間t6處,Passd控制信號511(及Passdb控制信號)變低,藉此
關斷通過電晶體(若存在)。然而,由於累加器控制信號ACCUMB 512-1及ACCUM 512-2保持啟動,因此一經累加結果被儲存(例如,被鎖存)於次級鎖存器(例如,累加器)中。在時間t7處,列信號504-0被撤銷啟動,且在時間t8處,陣列感測放大器被停用(例如,感測放大器控制信號528及590被撤銷啟動)。
在時間t9處,資料線D及D_達成平衡(例如,平衡信號526被啟動),如藉由資料線電壓信號505-1及505-2自其各別軌值移動至平衡電壓(VDD/2)所圖解說明。該平衡由於能量守恆定律而消耗極少能量。如上文關於圖2B所闡述,平衡可涉及在一平衡電壓處(其在此實例中係VDD/2)將互補資料線D及D_短接在一起。平衡可(舉例而言)在一記憶體胞元感測運算之前發生。
圖5B及圖5C分別圖解說明根據本發明之若干項實施例的與使用感測電路執行若干個邏輯運算相關聯的時序圖。圖5B及圖5C中所展示之時序圖圖解說明與執行一邏輯運算(例如,一R輸入邏輯運算)之若干個中間運算階段相關聯的信號(例如,電壓信號)。舉例而言,圖5B中所展示之時序圖對應於一R輸入NAND運算或一R輸入AND運算之若干個中間運算階段,且圖5C中所展示之時序圖對應於一R輸入NOR運算或一R輸入OR運算之若干個中間運算階段。舉例而言,執行一AND或NAND運算可包含在諸如關於圖5A所闡述之一初始運算階段之後一次或多次地執行圖5B中所展示之運算階段。類似地,執行一OR或NOR運算可包含在諸如關於圖5A所闡述之一初始運算階段之後一次或多次地執行關於圖5C所展示並闡述之運算階段。
如在圖5B及圖5C中所圖解說明之時序圖中所展示,在時間t1處,平衡被停用(例如,平衡信號526被撤銷啟動),且然後一選定列(例如,對應於將感測其資料值且將該資料值用作一輸入(諸如一第二輸入、第三輸入等)的一記憶體胞元之列)被啟用。信號504-1表示施加至
選定列(例如,圖2A中所展示之列Y 204-Y)之電壓信號。當列信號504-1達到對應於選定胞元的存取電晶體(例如,圖2A中所展示之202-3)之臨限電壓(Vt)時,存取電晶體接通且將資料線D耦合至選定記憶體胞元(例如,若胞元係一1T1C DRAM胞元,則耦合至電容器203-3),此在資料線D與D_(例如,如分別藉由信號505-1及505-2指示)之間(於時間t2與t3之間)形成一差分電壓信號。選定胞元之電壓係藉由信號503表示。由於能量守恆,因此在D與D_之間形成差分信號(例如,藉由將胞元耦合至資料線D)並不消耗能量。然而,與啟動/撤銷啟動列信號504-1相關聯之能量可攤分(amortized)於耦合至該列之該複數個記憶體胞元上。
在時間t3處,感測放大器(例如,圖2A中所展示之206-2)被啟用(例如,一正控制信號590(例如,對應於圖2B中所展示之ACT 233)變高,且負控制信號528(例如,圖2B中所展示之RnIF 228)變低)。此將D與D_之間的差分信號放大,從而產生處於資料線D上的對應於一邏輯1之一電壓(例如,VDD)或對應於一邏輯0之一電壓(例如,接地)(及處於互補資料線D_上之另一電壓)。由此,所感測資料值被儲存於感測放大器206-2之初級鎖存器中。在將資料線D(205-1)自平衡電壓VDD/2充電至軌電壓VDD時發生初級能量消耗。
如在圖5B及圖5C中所圖解說明之時序圖中所展示,在時間t4處(例如,在感測選定胞元之後),取決於特定邏輯運算,圖5B中所展示之控制信號511-1(Passd)及圖5C中所展示之511-2(Passdb)中之僅一者被啟動(例如,通過電晶體(若存在)中之僅一者被啟用)。舉例而言,由於圖5B中所圖解說明之時序圖對應於一NAND或AND運算之一中間階段,因此控制信號511-1(Passd)在時間t4處被啟動以接通將初級鎖存器耦合至資料線D的通過電晶體,且Passdb控制信號保持撤銷啟動從而使將初級鎖存器耦合至資料線D_的通過電晶體關斷。相反地,
由於圖5C中所圖解說明之時序圖對應於一NOR或OR運算之一中間階段,因此控制信號511-2(Passdb)在時間t4處被啟動以接通將初級鎖存器耦合至資料線D_的通過電晶體,且控制信號Passd保持撤銷啟動從而使將初級鎖存器耦合至資料線D的通過電晶體關斷。回想上文累加器控制信號512-1(Accumb)及512-2(Accum)在關於圖5A所闡述之初始運算階段期間被啟動,且其在中間運算階段期間保持啟動。
由於先前已啟用累加器,因此僅啟動Passd(如圖5B中所展示之511-1)導致累加對應於圖5B中所展示之電壓信號505-1(對應於資料線D)之資料值。類似地,僅啟動Passdb(如圖5C中所展示之511-2)導致累加對應於電壓信號505-2(對應於資料線D_)之資料值。舉例而言,在於其中僅啟動Passd(511-1)的圖5B中所圖解說明之時序圖中所展示之一實例性AND/NAND運算中,若儲存於一第二選定記憶體胞元中之資料值係一邏輯「0」,則與次級鎖存器相關聯之經累加值經確證為低,使得次級鎖存器儲存邏輯「0」。若儲存於第二選定記憶體胞元中之資料值並非一邏輯「0」,則次級鎖存器存留其所儲存第一選定記憶體胞元資料值(例如,一邏輯「1」或一邏輯「0」)。由此,在此AND/NAND運算實例中,次級鎖存器正充當一零(0)累加器。
類似地,在於其中僅啟動Passdb 511-2的圖5C中所圖解說明之時序圖中所展示之一實例性OR/NOR運算中,若儲存於第二選定記憶體胞元中之資料值係一邏輯「1」,則與次級鎖存器相關聯之經累加值經確證為高,使得次級鎖存器儲存邏輯「1」。若儲存於第二選定記憶體胞元中之資料值並非一邏輯「1,則次級鎖存器存留其所儲存第一選定記憶體胞元資料值(例如,一邏輯「1」或一邏輯「0」)。由此,在此OR/NOR運算實例中,由於D_上之電壓信號505-2正將累加器之資料值設定為真(例如,「1」),因此次級鎖存器正有效地充當一個一(1)累加器。
在一中間運算階段(諸如圖5B或圖5C中所展示之一中間運算階段)結束時,Passd信號511-1(例如,針對AND/NAND)或Passdb信號511-2(例如,針對OR/NOR)被撤銷啟動(例如,在時間t5處),選定列被停用(例如,在時間t6處),感測放大器被停用(例如,在時間t7處),且發生平衡(例如,在時間t8處)。可重複一中間運算階段(諸如圖5B或圖5C中所圖解說明之一中間運算階段)以便累加來自若干個額外列之結果。作為一實例,圖5B及/或圖5C中所圖解說明之時序圖之序列可在後一(例如,第二)次對一第三記憶體胞元執行,在後一(例如,第三)次對一第四記憶體胞元執行等。舉例而言,對於一10輸入NOR運算,圖5C中所展示之中間階段可發生9次以提供10輸入邏輯運算之9個輸入,其中在初始運算階段(例如,如關於圖5A所闡述)期間判定第十輸入。
圖5D圖解說明根據本發明之若干項實施例的與使用感測電路執行若干個邏輯運算相關聯的一時序圖。圖5D中所圖解說明之時序圖展示與執行一邏輯運算(例如,一R輸入邏輯運算)之一最後運算階段相關聯的信號(例如,電壓信號)。舉例而言,圖5D中所圖解說明之時序圖對應於一R輸入AND運算或一R輸入OR運算之一最後運算階段。
舉例而言,執行一R輸入之一最後運算階段可包含在與圖5B及/或圖5C相關聯闡述之中間運算階段之若干次迭代之後執行圖5D中所展示之運算階段。下文所展示之表2指示對應於與根據本文中所闡述之若干項實施例執行若干個R輸入邏輯運算相關聯的運算階段之序列的圖。
舉例而言,可藉由以下操作實施一NAND運算:將針對一AND運算之R-1迭代之結果儲存於感測放大器中,然後在進行最後一運算階段之前反轉感測放大器以儲存結果(下文所闡述)。舉例而言,可藉由以下操作實施一NOR運算:將針對一OR運算之R-1迭代之結果儲存於感測放大器中,然後在進行最後一運算階段之前反轉感測放大器以儲存結果(下文所闡述)。
與將一R輸入邏輯運算之一結果儲存至陣列(例如,圖2A中所展示之陣列230)之一列相關聯地闡述圖5D之時序圖中所圖解說明之最後一運算階段。然而,如上文所闡述,在若干項實施例中,除儲存回至陣列之外,結果亦可儲存至一適合位置(例如,經由I/O線儲存至與一控制器及/或主機處理器相關聯之一外部暫存器,儲存至一不同記憶體裝置之一記憶體陣列等)。
如圖5D中所圖解說明之時序圖中所展示,在時間t1處,平衡被停用(例如,平衡信號526被撤銷啟動),使得資料線D及D_浮動。在時間t2處,針對一AND或OR運算啟動Passd控制信號511(及Passdb信號)。
啟動Passd控制信號511(及Passdb信號)(例如,與一AND或OR運算相關聯)將儲存於圖2A中所展示之計算組件231-2之次級鎖存器中的經累加輸出傳送至感測放大器206-2之初級鎖存器。舉例而言,針對一AND運算,若在先前運算階段(例如,圖5A中所圖解說明之第一運算階段及圖5B中所圖解說明之中間運算階段之一或多次迭代)中感測之記憶體胞元中之任一者儲存一邏輯「0」(例如,若AND運算之R輸入中之任一者係一邏輯「0」),則資料線D_將攜載對應於邏輯「1」之一電壓(例如,VDD)且資料線D將攜載對應於邏輯「0」(例如,接
地)之一電壓。針對此AND運算實例,若在先前運算階段中感測之記憶體胞元中之所有者皆儲存一邏輯「1」(例如,AND運算之R輸入中之所有者皆係邏輯「1」),則資料線D_將攜載對應於邏輯「0」之一電壓且資料線D將攜載對應於邏輯「1」之一電壓。在時間t3處,感測放大器206-2之初級鎖存器然後被啟用(例如,一正控制信號590(例如,對應於圖2B中所展示之ACT 265)變高且負控制信號528(例如,對應於圖2B中所展示之RnIF 228)變低),此將資料線D與D_之間的差分信號放大,使得資料線D現在攜載如自在先前運算階段期間感測之記憶體胞元判定的各別輸入資料值之經AND運算結果。由此,若輸入資料值中之任一者係一邏輯「0」,則資料線D將處於接地,且若輸入資料值中之所有者係一邏輯「1」,則資料線D將處於VDD。
針對一OR運算,若在先前運算階段(例如,圖5A之第一運算階段及圖5C中所展示之中間運算階段之一或多次迭代)中感測之記憶體胞元中之任一者儲存一邏輯「1」(例如,若OR運算之R輸入中之任一者係一邏輯「1」),則資料線D_將攜載對應於邏輯「0」之一電壓(例如,接地)且資料線D將攜載對應於邏輯「1」之一電壓(例如,VDD)。針對此OR實例,若在先前運算階段中感測之記憶體胞元中之所有者皆儲存一邏輯「0」(例如,OR運算之R輸入中之所有者皆係邏輯「0」),則資料線D將攜載對應於邏輯「0」之一電壓且資料線D_將攜載對應於邏輯「1」之一電壓。在時間t3處,感測放大器206-2之初級鎖存器然後被啟用,且資料線D現在攜載如自在先前運算階段期間感測之記憶體胞元判定的各別輸入資料值之經OR運算結果。由此,若輸入資料值中之任一者係一邏輯「1」,則資料線D將處於VDD,且若輸入資料值中之所有者係一邏輯「0」,則資料線D將處於接地。
然後,R輸入AND或OR邏輯運算之結果可經儲存回至圖2A中所展示之陣列230之一記憶體胞元。在圖5D中所展示之實例中,R輸入
邏輯運算之結果經儲存至一記憶體胞元,該記憶體胞元耦合至經啟用之最後一列(例如,最後一邏輯運算運算元之列)。將邏輯運算之結果儲存至一記憶體胞元僅涉及藉由啟用特定列而啟用相關聯列存取電晶體。記憶體胞元之電容器將被驅動至對應於資料線D上之資料值(例如,邏輯「1」或邏輯「0」)的一電壓,此基本上覆寫先前儲存於選定記憶體胞元中之無論何種資料值。注意,選定記憶體胞元可係儲存用作邏輯運算之一輸入的一資料值之同一記憶體胞元。舉例而言,邏輯運算之結果可經儲存回至儲存邏輯運算之一運算元的一記憶體胞元。
圖5D中所圖解說明之時序圖展示,在時間t3處正控制信號590及負控制信號528被撤銷啟動(例如,信號590變高且信號528變低)以停用圖2A中所展示之感測放大器206-2。在時間t4處,在時間t2處啟動的Passd控制信號511(及Passdb信號)被撤銷啟動。實施例並不限於此實例。舉例而言,在若干項實施例中,圖2A中所展示之感測放大器206-2可在時間t4之後(例如,在Passd控制信號511(及Passdb信號)被撤銷啟動之後)被啟用。
如圖5D中所展示,在時間t5處,一選定列被啟用(例如,藉由列啟動信號504變高),此將選定胞元之電容器驅動至對應於儲存於累加器中之邏輯值的電壓。在時間t6處,選定列被停用。在時間t7處,圖2A中所展示之感測放大器206-2被停用(例如,在圖5D中正控制信號528及負控制信號590被撤銷啟動),且在時間t8處發生平衡(例如,信號526被啟動且互補資料線505-1(D)及505-2(D_)上之電壓達到平衡電壓,如圖5D中所展示)。
儘管上文關於圖5D論述針對執行AND及OR邏輯運算的執行一R輸入之一最後運算階段之實例,但實施例並不限於此等邏輯運算。舉例而言,NAND及NOR運算亦可涉及使用控制信號進行儲存回至陣列
230之一記憶體胞元之一R輸入的一最後運算階段以操作圖2A中所圖解說明之感測電路。
先前闡述且在下文之表1中再次概述關於執行邏輯運算且最初將一結果儲存於感測放大器206-2中的圖2A之感測電路250-2之功能性。與其中結果可最初駐存於一計算組件231-2之一次級鎖存器(例如,累加器)中,且(舉例而言)然後隨後經傳送至感測放大器206-2的先前方法相比,最初將一特定邏輯運算之結果儲存於感測放大器206-2之初級鎖存器中可提供經改良多功能性。
最初將一特定運算之結果儲存於感測放大器206-2中(例如,不必執行一額外運算以將結果自計算組件231-2(例如,累加器)移動至感測放大器206-2)係有利的,此乃因(舉例而言)可在不執行一預充電週期(例如,在互補資料線205-1(D)及/或205-2(D_)上)之情況下將結果寫入至(記憶體胞元之陣列之)一列或寫入回至累加器中。
圖6A圖解說明根據本發明之若干項實施例的與使用感測電路執行若干個邏輯運算相關聯的一時序圖。圖6A圖解說明與起始對一第一運算元及一第二運算元進行一AND邏輯運算相關聯之一時序圖。在此實例中,第一運算元儲存於耦合至一第一存取線(例如,ROW X)的一記憶體胞元中且第二運算元儲存於耦合至一第二存取線(例如,ROW Y)的一記憶體胞元中。儘管該實例係指對儲存於對應於一個特
定行的胞元中之資料執行一AND,但實施例並不如此受限制。舉例而言,一整個列之資料值可與一不同列之資料值並行進行AND運算。舉例而言,若一陣列包括2,048行,則可並行執行2,048個AND運算。
圖6A圖解說明與操作感測電路(例如,圖2A中之250-2)以執行AND邏輯運算相關聯之若干個控制信號。「EQ」對應於施加至感測放大器206-2之一平衡信號,「ROW X」對應於施加至存取線204-X之一啟動信號,「ROW Y」對應於施加至存取線204-Y之一啟動信號,「Act」及「RnIF」對應於施加至感測放大器206-2之一各別作用正控制信號及負控制信號,「LOAD」對應於一負載控制信號(例如,圖2A中所展示之LOAD/PASSD及LOAD/PASSDb),且「AND」對應於圖2A中所展示之AND控制信號。圖6A亦圖解說明展示在針對列X及列Y資料值之各種資料值組合之一AND邏輯運算期間,數位線D及D_(對應於感測放大器206-2)上及節點S1及S2(對應於計算組件231-2(例如,累加器))上之信號(例如,電壓信號)之波形圖(例如,對應於各別資料值組合00,10,01,11的圖)。下文論述關於與圖2A中所展示之電路之一AND運算相關聯之虛擬程式碼的特定時序圖波形。
與將儲存於耦合至列204-X的一胞元中之一第一資料值載入(例如,複製)至累加器中相關聯的虛擬程式碼之一實例可概述如下:將Row X複製至累加器中:撤銷啟動EQ
開通Row X
激發Sense Amps(在此之後Row X資料駐存於感測放大器中)
啟動LOAD(感測放大器資料(Row X)經傳送至累加器之節點S1及S2且動態地駐存於彼處)
撤銷啟動LOAD
關閉Row X
預充電
在上文之虛擬程式碼中,「撤銷啟動EQ」指示對應於感測放大器206-2之一平衡信號(圖6A中所展示之EQ信號)在如圖6A中所展示之t1處被停用(例如,使得互補資料線(例如,205-1(D)及205-2(D_)不再短接至VDD/2)。在平衡被停用之後,一選定列(例如,ROW X)被啟用(例如,諸如藉由啟動一信號以選擇一特定列來選擇,開通),如藉由虛擬程式碼中之「開通Row X」指示且在圖6A中針對信號列X的t2處展示。當施加至ROW X之電壓信號達到對應於選定胞元的存取電晶體(例如,202-4)之臨限電壓(Vt)時,該存取電晶體接通且將資料線(例如,205-2(D_))耦合至選定胞元(例如,耦合至電容器203-4),此在資料線之間形成一差分電壓信號。
在列X被啟用之後,在上文之虛擬程式碼中,「激發Sense Amps」指示感測放大器206-2經啟用以設定初級鎖存器(如本文中已闡述)且隨後被停用。舉例而言,如圖6A中之t3處所展示,ACT正控制信號(例如,圖2B中所展示之265)變高且RnIF負控制信號(例如,圖2B中所展示之228)變低,此將205-1(D)與205-2(D_)之間的差分信號放大,從而產生處於資料線205-1(D)上的對應於一邏輯1之一電壓(例如,VDD)或對應於一邏輯0之一電壓(例如,GND)。對應於另一邏輯之電壓置於互補資料線205-2(D_)上。所感測資料值被儲存於感測放大器206-2之初級鎖存器中。在將資料線(例如,205-1(D)或205-2(D_))自平衡電壓VDD/2充電至軌電壓VDD時發生初級能量消耗。
圖6A中所圖解說明之四組可能之感測放大器及累加器信號(例如,Row X及Row Y資料值之每一組合一組感測放大器及累加器信號)展示資料線D及D_上之信號之行為。Row X資料值經儲存於感測放大器之初級鎖存器中。應注意,圖2A展示包含儲存元素203-4、對應於Row X之記憶體胞元耦合至互補資料線D_,而包含儲存元素203-3、
對應於Row Y之記憶體胞元耦合至資料線D。然而,如在圖2A中可見,儲存於記憶體胞元201-4(對應於Row X)中對應於一「0」資料值的電荷致使資料線D_(記憶體胞元201-4耦合至該資料線D_)上之電壓變高且儲存於記憶體胞元201-4中對應於一「1」資料值的電荷致使資料線D_上之電壓變低,此係資料狀態與儲存於耦合至資料線D的記憶體胞元201-4(對應於Row Y)中之電荷之間的相反對應。在將資料值寫入至各別記憶體胞元時適當地考慮到將電荷儲存於耦合至不同資料線的記憶體胞元中之此等不同。
在激發感測放大器之後,在上文之虛擬程式碼中,「啟動LOAD」指示LOAD控制信號變高(如在圖6A中之t4處所展示),從而致使負載/通過電晶體218-1及218-2導通。以此方式,啟動LOAD控制信號啟用計算組件231-2之累加器中之次級鎖存器。儲存於感測放大器206-2中之所感測資料值經傳送(例如,經複製)至次級鎖存器。如針對圖6A中所圖解說明之四組可能之感測放大器及累加器信號中之每一者所展示,累加器之次級鎖存器之輸入處之行為指示次級鎖存器載入有Row X資料值。如圖6A中所展示,取決於先前儲存於動態鎖存器中之資料值,累加器之次級鎖存器可翻轉(例如,參見Row X=「0」且Row Y=「0」以及Row X=「1」且Row Y=「0」之累加器信號),或不翻轉(例如,參見Row X=「0」且Row Y=「1」以及Row X=「1」且Row Y=「1」之累加器信號)。
在依據儲存於感測放大器中(且存在於圖2A中之資料線205-1(D)及205-2(D_)上)之資料值設定次級鎖存器之後,在上文之虛擬程式碼中,「撤銷啟動LOAD」指示LOAD控制信號變回為低(如圖6A中之t5處所展示)以致使負載/通過電晶體218-1及218-2停止導通且藉此將動態鎖存器與互補資料線隔離。然而,資料值保持動態地儲存於累加器之次級鎖存器中。
在將資料值儲存於次級鎖存器上之後,選定列(例如,ROW X)被停用(例如,諸如藉由撤銷啟動一特定列之一選擇信號來撤銷選擇,關閉),如藉由「關閉Row X」指示且在圖6A中之t6處指示,此可藉由存取電晶體關斷以將選定胞元與對應資料線解耦合來達成。一旦關閉選定列且將記憶體胞元與資料線隔離,資料線便可經預充電,如藉由上文之虛擬程式碼中之「預充電」所指示。可藉由一平衡運算達成資料線之一預充電,如在圖6A中藉由EQ信號在t7處變高所指示。如在圖6A中之t7處所圖解說明之四組可能之感測放大器及累加器信號中之每一者所展示,平衡運算致使資料線D及D_上之電壓各自返回至VDD/2。平衡可(舉例而言)在一記憶體胞元感測運算或邏輯運算(下文所闡述)之前發生。
與對第一資料值(現在儲存於圖2A中所展示的感測放大器206-2及計算組件231-2之次級鎖存器中)及第二資料值(儲存於耦合至列Y 204-Y之一記憶體胞元201-3中)執行AND或OR運算相關聯之一後續運算階段包含執行特定步驟,該等特定步驟取決於將執行一AND還是一OR。下文概述與對駐存於累加器中的資料值(例如,儲存於耦合至列X 204-X之記憶體胞元201-4中之第一資料值)及第二資料值(例如,儲存於耦合至列Y 204-Y之記憶體胞元201-3中之資料值)進行「AND運算」及「OR運算」相關聯之虛擬程式碼之實例。與對資料值進行「AND運算」相關聯之實例性虛擬程式碼可包含:撤銷啟動EQ
開通Row Y
激發Sense Amps(在此之後Row Y資料駐存於感測放大器中)
關閉Row Y
在下一運算中,邏輯運算之結果將置於感測放大器上,此將覆寫係作用的任何列。
甚至在Row Y被關閉時,感測放大器仍含有Row Y資料值。
啟動AND
此致使感測放大器被寫入為函數之值(例如,Row X AND Row Y)
若累加器含有一「0」(亦即,對應於節點S2上之一「0」的一電壓及對應於節點S1上之一「1」的一電壓),則感測放大器資料被寫入為一「0」
若累加器含有一「1」(亦即,對應於節點S2上之一「1」的一電壓及對應於節點S1上之一「0」的一電壓),則感測放大器資料保持未改變(Row Y資料)
此運算使累加器中之資料未改變。
撤銷啟動AND
預充電
在上文之虛擬程式碼中,「撤銷啟動EQ」指示對應於感測放大器206-2之一平衡信號被停用(例如,使得互補資料線205-1(D)及205-2(D_)不再短接至VDD/2),此在圖6A中之t8處圖解說明。在平衡被停用之後,一選定列(例如,ROW Y)被啟用,如在上文之虛擬程式碼中藉由「開通Row Y」指示且在圖6A中之t9處展示。當施加至ROW Y之電壓信號達到對應於選定胞元的存取電晶體(例如,202-3)之臨限電壓(Vt)時,存取電晶體接通且將資料線(例如,D_ 205-2)耦合至選定胞元(例如,耦合至電容器203-3),此在資料線之間形成一差分電壓信號。
在Row Y被啟用之後,在上文之虛擬程式碼中,「激發Sense Amps」指示感測放大器206-2經啟用以將205-1(D)與205-2(D_)之間的差分信號放大,從而產生處於資料線205-1(D)上的對應於一邏輯1之一電壓(例如,VDD)或對應於一邏輯0之一電壓(例如,GND)。對應於另一邏輯狀態之電壓處於互補資料線205-2(D_)上。如在圖6A中之
t10處所展示,ACT正控制信號(例如,圖2B中所展示之265)變高且RnIF負控制信號(例如,圖2B中所展示之228)變低以激發感測放大器。來自記憶體胞元201-3之所感測資料值被儲存於感測放大器206-2之初級鎖存器中,如先前所闡述。由於動態鎖存器未改變,因此次級鎖存器仍對應於來自記憶體胞元201-4之資料值。
在自耦合至列Y之記憶體胞元201-3感測的第二資料值被儲存於感測放大器206-2之初級鎖存器中之後,在上文之虛擬程式碼中,「關閉Row Y」指示若不期望將AND邏輯運算之結果儲存回對應於列Y的記憶體胞元中,則選定列(例如,ROW Y)可被停用。然而,圖6A展示列Y保持啟用,使得邏輯運算之結果可儲存回於對應於列Y的記憶體胞元中。可藉由存取電晶體關斷以將選定胞元201-3與資料線205-1(D)解耦合來達成隔離對應於列Y的記憶體胞元。
在選定列Y經組態(例如,以隔離記憶體胞元或不隔離記憶體胞元)之後,上文之虛擬程式碼中之「啟動AND」指示AND控制信號變高(如圖6A中之t11處所展示),從而致使通過電晶體207-1導通。以此方式,啟動AND控制信號致使函數值(例如,Row X AND Row Y)被寫入至感測放大器。
在第一資料值(例如,Row X)儲存於累加器231-2之動態鎖存器中且第二資料值(例如,Row Y)儲存於感測放大器206-2中之情況下,若計算組件231-2之動態鎖存器含有一「0」(亦即,對應於節點S2上之一「0」的一電壓及對應於節點S1上之一「1」的一電壓),則感測放大器資料被寫入為一「0」(不管先前儲存於感測放大器中之資料值為何)。此乃因對應於節點S1上之一「1」的電壓致使電晶體209-1導通,藉此透過電晶體209-1、通過電晶體207-1及資料線205-1(D)將感測放大器206-2耦合至接地。當一AND運算之任一資料值係「0」時,結果係一「0」。此處,當第二資料值(處於動態鎖存器中)係一「0」
時,AND運算之結果係一「0」,不管第一資料值之狀態為何。因此,感測電路之組態致使「0」結果寫入且最初儲存於感測放大器206-2中。此運算使累加器中之資料值未改變(例如,來自Row X)。
若累加器之次級鎖存器含有一「1」(例如,來自Row X),則AND運算之結果取決於儲存於感測放大器206-2中之資料值(例如,來自Row Y)。若儲存於感測放大器206-2中之資料值(例如,來自Row Y)係一「1」,則AND運算之結果亦應係一「1」,但若儲存於感測放大器206-2中之資料值(例如,來自Row Y)係一「0」,則AND運算之結果應係一「0」。感測電路250-2經組態使得若累加器之動態鎖存器含有一「1」(亦即,對應於節點S2上之一「1」的一電壓及對應於節點S1上之一「0」的一電壓),則電晶體209-1不導通,感測放大器不耦合至接地(如上文所闡述),且先前儲存於感測放大器206-2中之資料值保持未改變(例如,Row Y資料值,因此若Row Y資料值係一「1」,則AND運算結果係一「1」,且若Row Y資料值係一「0」,則AND運算結果係一「0」)。此運算使累加器中之資料值未改變(例如,來自Row X)。
在最初將AND運算之結果儲存於感測放大器206-2中之後,上文之虛擬程式碼中之「撤銷啟動AND」指示AND控制信號變低(如在圖6A中之t12處所展示),致使通過電晶體207-1停止導通以將感測放大器206-2(及資料線205-1(D))與接地隔離。若未進行先前操作,則列Y可被關閉(如在圖6A中之t13處所展示)且感測放大器可被停用(如在圖6A中之t14處藉由ACT正控制信號變低且RnIF負控制信號變高所展示)。在資料線被隔離之情況下,上文之虛擬程式碼中之「預充電」可致使藉由一平衡運算進行資料線之一預充電,如先前所闡述(例如,在圖6A中所展示之t14處開始)。
圖6A在替代方案中針對涉及運算元(例如,Row X/Row Y資料值00、10、01及11)之可能組合中之每一者的一AND邏輯運算展示耦合
至感測放大器(例如,圖2A中所展示之206-2)之資料線(例如,圖2A中所展示之205-1(D)及205-2(D_))上之電壓信號的行為,及計算組件(例如,圖2A中所展示之231-2)之次級鎖存器之節點S1及S2上之電壓信號的行為。
儘管圖6A中所圖解說明之時序圖及上文所闡述之虛擬程式碼指示在開始將第二運算元(例如,Row Y資料值)載入至感測放大器中之後起始AND邏輯運算,但可藉由在開始將第二運算元(例如,Row Y資料值)載入至感測放大器中之前起始AND邏輯運算而成功地操作圖2A中所展示之電路。
圖6B圖解說明根據本發明之若干項實施例的與使用感測電路執行若干個邏輯運算相關聯的一時序圖。圖6B圖解說明與在開始將第二運算元(例如,Row Y資料值)載入至感測放大器中之後起始一OR邏輯運算相關聯的一時序圖。圖6B圖解說明針對第一及第二運算元資料值之各種組合之感測放大器及累加器信號。下文論述關於與圖2A中所展示之電路之一AND邏輯運算相關聯之虛擬程式碼的特定時序圖信號。
一後續運算階段可與對第一資料值(現在儲存於感測放大器206-2及計算組件231-2之次級鎖存器中)及第二資料值(儲存於耦合至列Y 204-Y之一記憶體胞元201-3中)執行OR運算交替地相關聯。關於圖6B不重複先前關於圖6A中所展示之時間t1至t7所闡述之將Row X資料載入至感測放大器及累加器中的運算。與對資料值進行「OR運算」相關聯之實例性虛擬程式碼可包含:撤銷啟動EQ
開通Row Y
激發Sense Amps(在此之後Row Y資料駐存於感測放大器中)
關閉Row Y
當Row Y被關閉時,感測放大器仍含有Row Y資料值。
啟動OR
此致使感測放大器被寫入為函數之值(例如,Row X OR Row Y),此可將先前儲存於感測放大器中之來自Row Y之資料值覆寫如下:若累加器含有一「0」(亦即,對應於節點S2上之一「0」的一電壓及對應於節點S1上之一「1」的一電壓),則感測放大器資料保持未改變(Row Y資料)
若累加器含有一「1」(亦即,對應於節點S2上之一「1」的一電壓及對應於節點S1上之一「0」的一電壓),則感測放大器資料被寫入為一「1」
此運算使累加器中之資料未改變。
撤銷啟動OR
預充電
在上文之虛擬程式碼中所展示之「撤銷啟動EQ」(圖6B中之t8處所展示),「開通Row Y」(圖6B中之t9處所展示),「激發Sense Amps」(圖6B中之t10處所展示)及「關閉Row Y」(圖6B中之t13處所展示,且此可在起始特定邏輯功能控制信號之前發生)指示與先前關於AND運算虛擬程式碼所闡述相同之功能性。一旦選定列Y之組態經適當地組態(例如,若將把邏輯運算結果儲存於對應於列Y的記憶體胞元中,則被啟用,或若將不把邏輯運算結果儲存於對應於列Y的記憶體胞元中,則被關閉以隔離記憶體胞元),上文之虛擬程式碼中之「啟動OR」便指示OR控制信號變高(如圖6B中之t11處所展示),此致使通過電晶體207-2導通。以此方式,啟動OR控制信號致使函數之值(例如,Row X OR Row Y)被寫入至感測放大器。
在第一資料值(例如,Row X)儲存於計算組件231-2之次級鎖存器
中且第二資料值(例如,Row Y)儲存於感測放大器206-2中之情況下,若累加器之動態鎖存器含有一「0」(亦即,對應於節點S2上之一「0」的一電壓及對應於節點S1上之一「1」的一電壓),則OR運算之結果取決於儲存於感測放大器206-2中之資料值(例如,來自Row Y)。若儲存於感測放大器206-2中之資料值(例如,來自Row Y)係一「1」,則OR運算之結果應係一「1」,但若儲存於感測放大器206-2中之資料值(例如,來自Row Y)係一「0」,則OR運算之結果亦應係一「0」。感測電路250-2經組態使得若累加器之動態鎖存器含有一「0」(其中電壓對應於節點S2上之一「0」),則電晶體209-2關斷且不導通(且由於AND控制信號未被確證,因此通過電晶體207-1亦關斷),因此感測放大器206-2並不耦合至接地(任一側),且先前儲存於感測放大器206-2中之資料值保持未改變(例如,Row Y資料值,使得若Row Y資料值係一「1」,則OR運算結果係一「1」,且若Row Y資料值係一「0」,則OR運算結果係一「0」)。
若累加器之動態鎖存器含有一「1」(亦即,對應於節點S2上之一「1」的一電壓及對應於節點S1上之一「0」的一電壓),則電晶體209-2確實導通(如由於OR控制信號被確證之通過電晶體207-2一樣),且由於對應於節點S2上之一「1」的電壓致使電晶體209-2導通以及通過電晶體207-2亦導通(其亦由於OR控制信號被確證而導通),因此耦合至資料線205-2(D_)之感測放大器206-2輸入耦合至接地。以此方式,當累加器之次級鎖存器含有一「1」(不管先前儲存於感測放大器中之資料值為何)時,一「1」被最初儲存於感測放大器206-2中作為OR運算之一結果。此運算使累加器中之資料未改變。圖6B在替代方案中針對涉及運算元(例如,Row X/Row Y資料值00、10、01及11)之可能組合中之每一者的一OR邏輯運算展示耦合至感測放大器(例如,圖2A中所展示之206-2)之資料線(例如,圖2A中所展示之205-1(D)及
205-2(D_))上之電壓信號的行為,及計算組件231-2之次級鎖存器之節點S1及S2上之電壓信號的行為。
在最初將OR運算之結果儲存於感測放大器206-2中之後,上文之虛擬程式碼中之「撤銷啟動OR」指示OR控制信號變低(如在圖6B中之t12處所展示),致使通過電晶體207-2停止導通以將感測放大器206-2(及資料線D 205-2)與接地隔離。若未進行先前操作,則列Y可被關閉(如在圖6B中之t13處所展示)且感測放大器可被停用(如在圖6B中之t14處藉由ACT正控制信號變低且RnIF負控制信號變高所展示)。在資料線被隔離之情況下,上文之虛擬程式碼中之「預充電」可致使藉由一平衡運算進行資料線之一預充電,如先前所闡述且在圖6B中之t14處所展示。
圖2A中所圖解說明之感測電路250-2可提供如下額外邏輯運算靈活性。藉由在上文所闡述之AND及OR運算中用ANDinv控制信號之運算替代AND控制信號之運算,及/或用ORinv控制信號之運算替代OR控制信號之運算,邏輯運算可自{Row X AND Row Y}改變至{~Row X AND Row Y}(其中「~Row X」指示Row X資料值之一相反數,例如,NOT Row X)且可自{Row X OR Row Y}改變至{~Row X OR Row Y}。舉例而言,在涉及經反轉資料值之一AND運算期間,可替代AND控制信號確證ANDinv控制信號,且在涉及經反轉資料值之一OR運算期間,可替代OR控制信號確證ORInv控制信號。啟動ORinv控制信號致使電晶體214-2導通且啟動ANDinv控制信號致使電晶體214-1導通。在每一情形中,確證適當經反轉控制信號可使感測放大器翻轉且致使最初儲存於感測放大器206-2中之結果變成使用經反轉Row X及真Row Y資料值之AND運算之結果或使用經反轉Row X及真Row Y資料值之OR運算之結果。可(舉例而言)藉由首先載入將被反轉之一資料值且其次載入將不被反轉之一資料值而在累加器中使用一個資料值之
一真或補數版本來執行邏輯運算(例如,AND、OR)。
在類似於上文關於反轉上文所闡述之AND及OR運算之資料值所闡述之方法的一方法中,圖2A中所展示之感測電路可藉由將非反相資料值放至累加器之動態鎖存器中且使用彼資料來反轉感測放大器206-2中之資料值執行一NOT(例如,反轉)運算。如先前所提及,啟動ORinv控制信號致使電晶體214-2導通且啟動ANDinv控制信號致使電晶體214-1導通。在實施NOT函數時使用ORinv及/或ANDinv控制信號,如在下文虛擬程式碼中所闡述:將Row X複製至累加器中
撤銷啟動EQ
開通Row X
激發Sense Amps(在此之後Row X資料駐存於感測放大器中)
啟動LOAD(感測放大器資料(Row X)經傳送至累加器之節點S1及S2且動態地駐存於彼處)
撤銷啟動LOAD
啟動ANDinv及ORinv(此將補數資料值放在資料線上)
此致使感測放大器中之資料值被反轉(例如,感測放大器鎖存器被翻轉)
此運算使累加器中之資料未改變
撤銷啟動ANDinv及ORinv
關閉Row X
預充電
在上文之虛擬程式碼中所展示之「撤銷啟動EQ」、「開通Row X」、「激發Sense Amps」、「啟動LOAD」及「撤銷啟動LOAD」將相同功能性指示為在用於「將Row X複製至累加器中」初始運算階段(上文針對AND運算及OR運算所闡述)之虛擬程式碼中之相同運算。然
而,並非是在Row X資料經載入至感測放大器206-2中且經複製至動態鎖存器中之後關閉Row X且預充電,累加器之動態鎖存器中之資料值之一補數版本可置於資料線上且因此經傳送至感測放大器206-2。此係藉由啟用(例如,致使電晶體導通)並停用反轉電晶體(例如,ANDinv及ORinv)來進行。此致使感測放大器206-2自先前儲存於感測放大器中之真資料值翻轉至儲存於感測放大器中之一補數資料值(例如,經反轉資料值)。由此,累加器中之資料值之一真或補數版本可基於啟動或不啟動ANDinv及/或ORinv而傳送至感測放大器。此運算使累加器中之資料未改變。
由於圖2A中所展示之感測電路250-2最初將AND、OR及/或NOT邏輯運算之結果儲存於感測放大器206-2中(例如,儲存於感測放大器節點上),因此此等邏輯運算結果可容易且迅速地傳達至任一經啟用列(在邏輯運算完成之後被啟動之任一列),及/或傳達至計算組件231-2之次級鎖存器中。亦可藉由在感測放大器206-2激發之前適當地激發AND、OR、ANDinv及/或ORinv控制信號(以及具有耦合至特定控制信號之一閘極之對應電晶體的運算)來互換感測放大器206-2以及對AND、OR及/或NOT邏輯運算之定序。
當以此方式執行邏輯運算時,感測放大器206-2可自累加器之動態鎖存器預種有一資料值以減少所利用之總體電流,此乃因當將累加器功能複製至感測放大器206-2時,感測放大器206-2並非處於全軌電壓(例如,供應電壓或接地/參考電壓)。藉助一經預植入感測放大器206-2之一運算序列將資料線中之一者驅迫為參考電壓(在VDD/2處離開互補資料線),或使互補資料線未改變。當感測放大器206-2激發時,感測放大器206-2將各別資料線拉動至全軌。使用此運算序列將覆寫一經啟用列中之資料。
可藉由使用一DRAM隔離(ISO)方案多工(「muxing」)兩個鄰近資
料線互補對來達成一移位運算。根據本發明之實施例,移位電路223可用於將儲存於藉由一對特定互補資料線耦合之記憶體胞元中的資料值移位至對應於一不同對互補資料線的感測電路250-2(例如,感測放大器206-2)(例如,諸如對應於一左或右毗鄰對互補資料線之一感測放大器206-2)。如本文中所使用,當隔離電晶體221-1及221-2正導通時,一感測放大器206-2對應於該感測放大器耦合至之該對互補資料線。SHIFT運算(右或左)不將Row X資料值預複製至累加器中。可藉由以下擬程式碼將用以將列X向右移位之運算概述如下:撤銷啟動Norm且啟動Shift
撤銷啟動EQ
開通Row X
激發Sense Amps(在此之後經移位Row X資料駐存於感測放大器中)
啟動Norm且撤銷啟動Shift
關閉Row X
預充電
在上文之虛擬程式碼中,「撤銷啟動Norm且啟動Shift」指示一NORM控制信號變低,致使移位電路223之隔離電晶體221-1及221-2不導通(例如,將感測放大器與對應對互補資料線隔離)。SHIFT控制信號變高,致使隔離電晶體221-3及221-4導通,藉此將感測放大器206-3耦合至左毗鄰對互補資料線(例如,在左毗鄰對互補資料線之非導通隔離電晶體221-1及221-2之記憶體陣列側上)。
在移位電路223經組態之後,在上文之虛擬程式碼中所展示之「撤銷啟動EQ」、「開通Row X」及「激發Sense Amps」將相同功能性指示為在用於「將Row X複製至累加器中」初始運算階段(上文在用於AND運算及OR運算之虛擬程式碼之前闡述)之虛擬程式碼中之相同
運算。在此等運算之後,針對耦合至左毗鄰對互補資料線之記憶體胞元的Row X資料值向右移位且儲存於感測放大器206-3中。
在上文之虛擬程式碼中,「啟動Norm且撤銷啟動Shift」指示一NORM控制信號變高,致使移位電路223之隔離電晶體221-1及221-2導通(例如,將感測放大器耦合至對應對互補資料線),且SHIFT控制信號變低,致使隔離電晶體221-3及221-4不導通且將感測放大器206-3與左毗鄰對互補資料線隔離(例如,在左毗鄰對互補資料線之非導通隔離電晶體221-1及221-2之記憶體陣列側上)。由於列X仍係作用的,因此已向右移位之列X資料值透過隔離電晶體221-1及221-2而傳送至該對對應互補資料線之列X。
在列X資料值向右移位至該對對應互補資料線之後,選定列(例如,ROW X)被停用,如藉由上文之虛擬程式碼中之「關閉Row X」所指示,此可藉由存取電晶體關斷以將選定胞元與對應資料線解耦合來達成。一旦關閉選定列且將記憶體胞元與資料線隔離,資料線便可經預充電,如藉由上文之虛擬程式碼中之「預充電」所指示。可藉由一平衡運算達成資料線之一預充電,如上文所闡述。
用以將列X向左移位之操作可概述如下:啟動Norm且撤銷啟動Shift
撤銷啟動EQ
開通Row X
激發Sense Amps(在此之後Row X資料駐存於感測放大器中)
撤銷啟動Norm且啟動Shift
感測放大器資料(經向左移位之Row X)經傳送至列X
關閉Row X
預充電
在上文之虛擬程式碼中,「啟動Norm且撤銷啟動Shift」指示一
NORM控制信號變高,致使移位電路223之隔離電晶體221-1及221-2導通,且SHIFT控制信號變低,致使隔離電晶體221-3及221-4不導通。此組態將感測放大器206-2耦合至一對對應互補資料線且將感測放大器與右毗鄰對互補資料線隔離。
在移位電路經組態之後,在上文之虛擬程式碼中所指示之「撤銷啟動EQ」、「開通Row X」及「激發Sense Amps」將相同功能性指示為在用於「將Row X複製至累加器中」初始運算階段(上文在用於AND運算及OR運算之虛擬程式碼之前闡述)之虛擬程式碼中之相同運算。在此等運算之後,針對耦合至該對互補資料線(對應於感測電路250-2)之記憶體胞元的Row X資料值被儲存於感測放大器206-2中。
在上文之虛擬程式碼中,「撤銷啟動Norm且啟動Shift」指示一NORM控制信號變低,致使移位電路223之隔離電晶體221-1及221-2不導通(例如,將感測放大器與該對對應互補資料線隔離),且SHIFT控制信號變高,致使隔離電晶體221-3及221-4導通,從而將感測放大器耦合至左毗鄰對互補資料線(例如,在左毗鄰對互補資料線之非導通隔離電晶體221-1及221-2之記憶體陣列側上)。由於列X仍係作用的,因此已向左移位之列X資料值經傳送至左毗鄰對互補資料線之列X。
在列X資料值向左移位至左毗鄰對互補資料線之後,選定列(例如,ROW X)被停用,如藉由「關閉Row X」所指示,此可藉由存取電晶體關斷以將選定胞元與對應資料線解耦合來達成。一旦關閉選定列且將記憶體胞元與資料線隔離,資料線便可經預充電,如藉由上文之虛擬程式碼中之「預充電」所指示。可藉由一平衡運算達成資料線之一預充電,如上文所闡述。
圖7係圖解說明根據本發明之若干項實施例的具有可選擇邏輯運算選擇邏輯之感測電路之一示意圖。圖7展示耦合至各別對互補感測線705-1及705-2之若干個感測放大器706,及經由通過閘極707-1及
707-2耦合至感測放大器706之對應數目個計算組件731(其可對應於圖2A中之感測放大器206、感測線205-1及205-2、經由通過閘極207-1及207-2耦合至感測放大器206之計算組件231)。通過閘極707-1及707-2之閘極可由一邏輯運算選擇邏輯信號PASS控制。舉例而言,邏輯運算選擇邏輯713-6之一輸出可耦合至通過閘極707-1及707-2之閘極。
根據圖7中所圖解說明之實施例,計算組件731可包括經組態以向左及向右移位資料值之一可載入移位暫存器之各別級(例如,移位胞元)。舉例而言,如在圖7中所圖解說明,移位暫存器之每一計算組件731(例如,級)包括一對右移位電晶體781及786、一對左移位電晶體789及790以及一對反轉器787及788。信號PHASE 1R、PHASE 2R、PHASE 1L及PHASE 2L可施加至各別控制線782、783、791及792以根據本文中所闡述之實施例啟用/停用與執行邏輯運算及/或將資料移位相關聯之對應計算組件731之鎖存器上之回饋。下文關於圖9及圖10進一步闡述將資料移位(例如,自一特定計算組件731至一毗鄰計算組件731)之實例。
邏輯運算選擇邏輯713-6包含交換閘極742,以及用以控制通過閘極707-1及707-2以及交換閘極742之邏輯。邏輯運算選擇邏輯713-6包含四個邏輯選擇電晶體:邏輯選擇電晶體762,其耦合於交換電晶體742之閘極與一TF信號控制線之間;邏輯選擇電晶體752,其耦合於通過閘極707-1及707-2之閘極與一TT信號控制線之間;邏輯選擇電晶體754,其耦合於通過閘極707-1及707-2之閘極與一FT信號控制線之間;及邏輯選擇電晶體764,其耦合於交換電晶體742之閘極與一FF信號控制線之間。邏輯選擇電晶體762及752之閘極透過隔離電晶體750-1(具有耦合至一ISO信號控制線之一閘極)耦合至真實感測線。邏輯選擇電晶體764及754之閘極透過隔離電晶體750-2(亦具有耦合至一ISO信號控制線之一閘極)耦合至互補感測線。圖9及圖10圖解說明與使用
圖7中所展示之感測電路執行邏輯運算及移位運算相關聯的時序圖。
圖8係圖解說明根據本發明之若干項實施例的藉由一感測電路(例如,圖7中所展示之感測電路750)實施之可選擇邏輯運算結果之一邏輯表。四個邏輯選擇控制信號(例如,TF、TT、FT及FF)結合互補感測線上所存在之一特定資料值可用於選擇複數個邏輯運算中之一者來實施,該複數個邏輯運算涉及儲存於感測放大器706及計算組件731中之開始資料值。四個控制信號(例如,TF、TT、FT及FF)結合互補感測線上(例如,節點S及S*上)所存在之一特定資料值控制通過閘極707-1及707-2以及交換電晶體742,此又影響激發之前/之後的計算組件731及/或感測放大器706中之資料值。可選擇地控制交換電晶體742之能力促進實施尤其涉及逆資料值(例如,逆運算元及/或逆結果)之邏輯運算。
類似於圖10中所圖解說明之邏輯表,圖8中所圖解說明之邏輯表8-1展示儲存於計算組件731中之開始資料值(在844處之行A中展示),及儲存於感測放大器706中之開始資料值(在845處之行B中展示)。邏輯表8-1中之其他3行標頭係指通過閘極707-1及707-2以及交換電晶體742之狀態,其可在ISO控制信號被確證時,取決於四個邏輯選擇控制信號(例如,TF、TT、FT及FF)結合該對互補感測線705-1及705-2上所存在之一特定資料值之狀態而分別經控制為OPEN或CLOSED。「NOT OPEN」行856對應於通過閘極707-1及707-2以及交換電晶體742兩者皆處於一非導通條件中,「OPEN TRUE」行870對應於通過閘極707-1及707-2處於一導通條件中,且「OPEN INVERT」行871對應於交換電晶體742處於一導通條件中。邏輯表8-1中不反映對應於通過閘極707-1及707-2以及交換電晶體742兩者皆處於一導通條件中之組態,此乃因此導致感測線被短接在一起。
經由通過閘極707-1及707-2以及交換電晶體742之選擇性控制,
邏輯表8-1之上部部分之三個行中之每一者可與邏輯表8-1之下部部分之三個行中之每一者組合以提供對應於九個不同邏輯運算之九個(例如,3 x 3)不同結果組合,如藉由在875處所展示之各種連接路徑所指示。在邏輯表8-2中概述可藉由感測電路750實施之九個不同可選擇邏輯運算。
邏輯表8-2之行展示包含邏輯選擇控制信號(例如,FF、FT、TF、TT)之狀態之一標頭880。舉例而言,在列876中提供一第一邏輯選擇控制信號(例如,FF)之狀態,在列877中提供一第二邏輯選擇控制信號(例如,FT)之狀態,在列878中提供一第三邏輯選擇控制信號(例如,TF)之狀態,且在列879中提供一第四邏輯選擇控制信號(例如,TT)之狀態。在列847中概述對應於結果之特定邏輯運算。
圖9圖解說明根據本發明之若干項實施例的與使用感測電路執行一邏輯AND運算及一移位運算相關聯的一時序圖。圖9包含對應於以下信號之波形:EQ、ROW X、ROW Y、SENSE AMP、TF、TT、FT、FF、PHASE 1R、PHASE 2R、PHASE 1L、PHASE 2L、ISO、Pass、Pass*、DIGIT及DIGIT_。EQ信號對應於與一感測放大器相關聯之一平衡信號(例如,圖2中所展示之EQ 226)。ROW X及ROW Y信號對應於施加至各別存取線(例如,圖2中所展示之存取線204-X及204-Y)以存取一選定胞元(或胞元之列)之信號。SENSE AMP信號對應於用以啟用/停用一感測放大器(例如,感測放大器706)之一信號。TF、TT、FT及FF信號對應於邏輯選擇控制信號(諸如圖7中所展示之邏輯選擇控制信號)(例如,耦合至邏輯選擇電晶體762、752、754及764之信號)。PHASE 1R、PHASE 2R、PHASE 1L及PHASE 2L信號對應於提供至圖7中所展示之各別控制線782、783、791及792之控制信號(例如,時脈信號)。ISO信號對應於耦合至圖7中所展示之隔離電晶體750-1及750-2之閘極的信號。PASS信號對應於耦合至圖7中所展示
之通過電晶體707-1及707-2之閘極的信號,且PASS*信號對應於耦合至交換電晶體742之閘極的信號。DIGIT及DIGIT_信號對應於各別感測線705-1(例如,DIGIT(n))及705-2(例如,DIGIT(n)_)上所存在之信號。
圖9中所展示之時序圖係與對儲存於一陣列之一第一記憶體胞元中之一資料值及儲存於一第二記憶體胞元中之一資料值執行一邏輯AND運算相關聯。記憶體胞元可對應於一陣列之一特定行(例如,包括互補的一對感測線之一行)且可耦合至各別存取線(例如,ROW X及ROW Y)。在闡述圖9中所展示之邏輯AND運算時,將參考圖7中所闡述之感測電路。舉例而言,圖9中所闡述之邏輯運算可包含:將ROW X記憶體胞元之資料值(例如,「ROW X資料值」)儲存於可被稱為累加器731的對應計算組件731之鎖存器中(例如,「A」資料值),將ROW Y記憶體胞元之資料值(例如,「ROW Y資料值」)儲存於對應感測放大器706之鎖存器中(例如,「B」資料值),以及對ROW X資料值及ROW Y資料值執行一選定邏輯運算(例如,在此實例中係一邏輯AND運算),其中選定邏輯運算之結果被儲存於計算組件731之鎖存器中。
如圖9中所展示,在時間T1處,感測放大器706之平衡被停用(例如,EQ變低)。在時間T2處,ROW X變高以存取(例如,選擇)ROW X記憶體胞元。在時間T3處,感測放大器706被啟用(例如,SENSE AMP變高),此回應於ROW X資料值(例如,如藉由DIGIT及DIGIT_信號所展示)將互補感測線705-1及705-2驅動至適當軌電壓(例如,VDD及GND),且ROW X資料值被鎖存於感測放大器706中。在時間T4處,PHASE 2R及PHASE 2L信號變低,此停用計算組件731之鎖存器上之回饋(例如,藉由分別關斷電晶體786及790),使得可在邏輯運算期間覆寫儲存於計算組件中之值。同樣,在時間T4處,ISO變低,此停用隔離電晶體750-1及750-2。在時間T5處,TT及FT被啟用(例如,變
高),此致使PASS變高(例如,由於電晶體752或754將取決於在ISO於時間T4處被停用時節點ST2或節點SF2中之哪一者係高的而導通(回想當ISO被停用時,節點ST2及SF2之電壓動態地駐存於各別啟用電晶體752及754之閘極上))。PASS變高啟用通過電晶體707-1及707-2,使得對應於ROW X資料值之DIGIT及DIGIT_信號經提供至各別計算組件節點ST2及SF2。在時間T6處,TT及FT被停用,此致使PASS變低,此停用通過電晶體707-1及707-2。注意,由於TF及FF信號保持低,因此PASS*在時間T5與T6之間保持低。在時間T7處,ROW X被停用,且PHASE 2R、PHASE 2L及ISO被啟用。在時間T7處啟用PHASE 2R及PHASE 2L啟用計算組件731之鎖存器上之回饋,使得ROW X資料值被鎖存於該鎖存器中。在時間T7處啟用ISO再次將節點ST2及SF2耦合至啟用電晶體752、754、762及764之閘極。在時間T8處,平衡被啟用(例如,EQ變高,使得DIGIT及DIGIT_經驅動至諸如VDD/2之一平衡電壓)且感測放大器706被停用(例如,SENSE AMP變低)。
在ROW X資料值被鎖存於計算組件731中之情況下,平衡被停用(例如,在時間T9處EQ變低)。在時間T10處,ROW Y變高以存取(例如,選擇)ROW Y記憶體胞元。在時間T11處,感測放大器706被啟用(例如,SENSE AMP變高),此回應於ROW Y資料值(例如,如藉由DIGIT及DIGIT_信號所展示)將互補感測線705-1及705-2驅動至適當軌電壓(例如,VDD及GND),且ROW Y資料值被鎖存於感測放大器706中。在時間T12處,PHASE 2R及PHASE 2L信號變低,此停用計算組件731之鎖存器上之回饋(例如,藉由分別關斷電晶體786及790),使得可在邏輯運算期間覆寫儲存於計算組件中之值。同樣,在時間T12處,ISO變低,此停用隔離電晶體750-1及750-2。由於此實例中之所期望邏輯運算係一AND運算,因此在時間T13處,TT被啟用而TF、FT及FF保持被停用(如在表8-2中所展示,FF=0、FT=0、TF=0且TT=
1對應於一邏輯AND運算)。啟用TT是否致使PASS變高取決於當ISO在時間T12處被停用時儲存於計算組件731中之值。舉例而言,若當ISO被停用時節點ST2係高的,則啟用電晶體752將導通,且若當ISO在時間T12處被停用時節點ST2係低的,則啟用電晶體將不導通。
在此實例中,若PASS在時間T13處變高,則通過電晶體707-1及707-2經啟用使得對應於ROW Y資料值之DIGIT及DIGIT_信號經提供至各別計算組件節點ST2及SF2。由此,可取決於DIGIT及DIGIT_之值(例如,ROW Y資料值)翻轉儲存於計算組件731中之值(例如,ROW X資料值)。在此實例中,若PASS在時間T13處保持低,則通過電晶體707-1及707-2不被啟用,使得對應於ROW Y資料值之DIGIT及DIGIT_信號保持與計算組件731之節點ST2及SF2隔離。由此,計算組件中之資料值(例如,ROW X資料值)將保持相同。
在時間T14處,TT被停用,此致使PASS變(或保持)低,使得通過電晶體707-1及707-2被停用。注意,由於TF及FF信號保持低,因此PASS*在時間T13與T14之間保持低。在時間T15處,ROW Y被停用,且PHASE 2R、PHASE 2L及ISO被啟用。在時間T15處啟用PHASE 2R及PHASE 2L啟用計算組件731之鎖存器上之回饋,使得AND運算之結果(例如,「A」AND「B」)被鎖存於該鎖存器中。在時間T15處啟用ISO再次將節點ST2及SF2耦合至啟用電晶體752、754、762及764之閘極。在時間T16處,平衡被啟用(例如,EQ變高,使得DIGIT及DIGIT_經驅動至一平衡電壓)且感測放大器706被停用(例如,SENSE AMP變低)。
可經由I/O線將AND運算之結果(在此實例中其最初儲存於計算組件731中)傳送回至記憶體陣列(例如,傳送回至耦合至ROW X、ROW Y之一記憶體胞元,及/或經由互補感測線之一不同列)及/或至一外部位置(例如,一外部處理組件)。
圖9亦包含(例如,在901處)與將資料移位(例如,自一計算組件731至一毗鄰計算組件731)相關聯之發信號。圖9中所展示之實例圖解說明兩次左移位,使得對應於行「N」之儲存於一計算組件中之一資料值向左移位至對應於行「N-2」之一計算組件。如在時間T16處所展示,PHASE 2R及PHASE 2L被停用,此停用計算組件鎖存器上之回饋,如上文所闡述。為執行一第一左移位,PHASE 1L在時間T17處被啟用且在時間T18處被停用。啟用PHASE 1L致使電晶體789導通,此致使節點SF1處之資料值向左移動至一左-毗鄰計算組件731之節點SF2。隨後,PHASE 2L在時間T19處被啟用且在時間T20處被停用。啟用PHASE 2L致使電晶體790導通,此致使來自節點ST1之資料值向左移動至節點ST2,從而完成一左移位。
可重複以上順序(例如,啟用/停用PHASE 1L且隨後啟用/停用PHASE 2L)以達成所期望數目次左移位。舉例而言,在此實例中,藉由在時間T21處啟用PHASE 1L且在時間T22處停用PHASE 1L來執行一第二左移位。隨後在時間T23處啟用PHASE 2L以完成第二左移位。在第二左移位之後,PHASE 2L保持被啟用且PHASE 2R被啟用(例如,在時間T24處)使得回饋經啟用以將資料值鎖存於計算組件鎖存器中。
圖10圖解說明根據本發明之若干項實施例的與使用感測電路執行一邏輯XOR運算及一移位運算相關聯的一時序圖。圖10包含上文圖9中所闡述之相同波形。然而,圖10中所展示之時序圖係與對一ROW X資料值及一ROW Y資料值執行一邏輯XOR運算相關聯(例如,與一邏輯AND運算相反)。將再次參考圖7中所闡述之感測電路。
在針對圖10之時間T0至T9處所指示之發信號與針對圖9的相同且此處將不進行重複。由此,在時間T9處,EQ被停用,其中ROW X資料值被鎖存於計算組件731中。在時間T10處,ROW Y變高以存取(例如,選擇)ROW Y記憶體胞元。在時間T11處,感測放大器706被啟用
(例如,SENSE AMP變高),此回應於ROW Y資料值(例如,如藉由DIGIT及DIGIT_信號所展示)將互補感測線705-1及705-2驅動至適當軌電壓(例如,VDD及GND),且ROW Y資料值被鎖存於感測放大器706中。在時間T12處,PHASE 2R及PHASE 2L信號變低,此停用計算組件731之鎖存器上之回饋(例如,藉由分別關斷電晶體786及790),使得可在邏輯運算期間覆寫儲存於計算組件731中之值。同樣,在時間T12處,ISO變低,此停用隔離電晶體750-1及750-2。由於此實例中之所期望邏輯運算係一XOR運算,因此在時間T13處,TF及FT被啟用而TT及FF保持被停用(如在表8-2中所展示,FF=0、FT=1、TF=1且TT=0對應於一邏輯XOR(例如,「AXB」)運算)。啟用TF及FT是否致使PASS或PASS*變高取決於當ISO在時間T12處被停用時儲存於計算組件731中之值。舉例而言,若當ISO被停用時節點ST2係高的,則啟用電晶體762將導通,且若當ISO在時間T12處被停用時節點ST2係低的,則啟用電晶體762將不導通。類似地,若當ISO被停用時節點SF2係高的,則啟用電晶體754將導通,且若當ISO被停用時節點SF2係低的,則啟用電晶體754將不導通。
在此實例中,若PASS在時間T13處變高,則通過電晶體707-1及707-2經啟用使得對應於ROW Y資料值之DIGIT及DIGIT_信號經提供至各別計算組件節點ST2及SF2。由此,可取決於DIGIT及DIGIT_之值(例如,ROW Y資料值)翻轉儲存於計算組件731中之值(例如,ROW X資料值)。在此實例中,若PASS在時間T13處保持低,則通過電晶體707-1及707-2不被啟用,使得對應於ROW Y資料值之DIGIT及DIGIT_信號保持與計算組件731之節點ST2及SF2隔離。由此,計算組件中之資料值(例如,ROW X資料值)將保持相同。在此實例中,若PASS*在時間T13處變高,則交換電晶體742經啟用使得以一轉置方式將對應於ROW Y資料值之DIGIT及DIGIT_信號提供至各別計算組件節點ST2及
SF2(例如,將把DIGIT(n)上之「真」資料值提供至節點SF2且將把DIGIT(n)_上之「互補」資料值提供至節點ST2)。由此,可取決於DIGIT及DIGIT_之值(例如,ROW Y資料值)翻轉儲存於計算組件731中之值(例如,ROW X資料值)。在此實例中,若PASS*在時間T13處保持低,則交換電晶體742不被啟用,使得對應於ROW Y資料值之DIGIT及DIGIT_信號保持與計算組件731之節點ST2及SF2隔離。由此,計算組件中之資料值(例如,ROW X資料值)將保持相同。
在時間T14處,TF及FT被停用,此致使PASS及PASS*變(或保持)低,使得通過電晶體707-1及707-2以及交換電晶體742被停用。在時間T15處,ROW Y被停用,且PHASE 2R、PHASE 2L及ISO被啟用。在時間T15處啟用PHASE 2R及PHASE 2L啟用計算組件731之鎖存器上之回饋,使得XOR運算之結果(例如,「A」XOR「B」)被鎖存於該鎖存器中。在時間T15處啟用ISO再次將節點ST2及SF2耦合至啟用電晶體752、754、762及764之閘極。在時間T16處,平衡被啟用(例如,EQ變高,使得DIGIT及DIGIT_經驅動至一平衡電壓)且感測放大器706被停用(例如,SENSE AMP變低)。
可經由I/O線將XOR運算之結果(在此實例中其最初儲存於計算組件731中)傳送回至記憶體陣列(例如,傳送回至耦合至ROW X、ROW Y之一記憶體胞元,及/或經由互補感測線之一不同列)及/或至一外部位置(例如,一外部處理組件)。
圖10亦包含(例如,在1001處)與將資料移位(例如,自一計算組件731至一毗鄰計算組件731)相關聯之發信號。圖10中所展示之實例圖解說明兩次右移位,使得對應於行「N」之儲存於一計算組件中之一資料值向右移位至對應於行「N+2」之一計算組件。如在時間T16處所展示,PHASE 2R及PHASE 2L被停用,此停用計算組件鎖存器上之回饋,如上文所闡述。為執行一第一右移位,PHASE 1R在時間T17處
被啟用且在時間T18處被停用。啟用PHASE 1R致使電晶體781導通,此致使節點ST1處之資料值向右移動至一右-毗鄰計算組件731之節點ST2。隨後,PHASE 2R在時間T19處被啟用且在時間T20處被停用。啟用PHASE 2R致使電晶體786導通,此致使來自節點SF1之資料值向右移動至節點SF2,從而完成一右移位。
可重複以上順序(例如,啟用/停用PHASE 1R且隨後啟用/停用PHASE 2R)以達成所期望數目次右移位。舉例而言,在此實例中,藉由在時間T21處啟用PHASE 1R且在時間T22處停用PHASE 1R來執行一第二右移位。隨後在時間T23處啟用PHASE 2R以完成第二右移位。在第二右移位之後,PHASE 1R保持被停用,PHASE 2R保持被啟用且PHASE 2L被啟用(例如,在時間T24處)使得回饋經啟用以將資料值鎖存於計算組件鎖存器中。
儘管圖9及圖10中所闡述之實例包含邏輯運算結果被儲存於計算組件(例如,731)中,但根據本文中所闡述之實施例的感測電路可經操作以執行邏輯運算,使結果最初儲存於感測放大器中(例如,如圖8中所圖解說明)。同樣,實施例並不限於分別在圖9及圖10中所闡述之「AND」及「XOR」邏輯運算實例。舉例而言,根據本發明之實施例的感測電路(例如,圖7中所展示之750)可經控制以執行各種其他邏輯運算(諸如在表8-2中所展示之邏輯運算)。
根據各種實施例,可在一記憶體中處理器(PIM)裝置之一記憶體陣列核心(諸如(舉例而言)以6F^2或4F^2記憶體胞元大小之每記憶體胞元一個電晶體(例如,1T1C)組態之一DRAM)中達成一般計算。本文中所闡述之設備及方法之優點並不就單指令速度而言來實現,而是就可藉由並行計算一整個資料庫而從未將資料傳送出記憶體陣列(例如,DRAM)或激發一行解碼而達成之累加速度而言來實現。換言之,可消除資料傳送時間。舉例而言,本發明之設備可使用耦合至一
資料線(例如,16K記憶體胞元之一行)之記憶體胞元中之資料值並行(例如,同時)執行AND或OR。
與本發明之設備相比,在其中將資料移出以供邏輯運算處理(例如,使用32或64位元暫存器)之先前方法感測電路中可並行執行更少運算。以此方式,相比於習用組態(涉及相對於記憶體離散之隔開一定間距之處理單元使得資料必須被傳送於記憶體與處理單元之間),有效地提供顯著更高通量。根據本發明之一設備及/或若干方法亦可比其中邏輯運算自記憶體離散之組態使用更少能量/面積。此外,本發明之一設備及/或若干方法可由於記憶體陣列內邏輯運算消除特定資料值傳送而提供額外能量/面積優點。
100‧‧‧計算系統/系統
110‧‧‧主機
120‧‧‧記憶體裝置/裝置
130‧‧‧記憶體陣列/陣列
140‧‧‧控制電路/控制器
142‧‧‧位址電路
144‧‧‧輸入/輸出電路
146‧‧‧列解碼器
148‧‧‧寫入電路
150‧‧‧感測電路
152‧‧‧行解碼器
154‧‧‧控制匯流排
156‧‧‧輸入/輸出匯流排
170‧‧‧移位控制器
Claims (22)
- 一種執行一移位運算之方法,其包括:對一第一元素執行一移位運算,該第一元素儲存於耦合至一記憶體陣列之一第一存取線及若干個感測線之一第一記憶體胞元群組中,其中該移位運算包含在不經由一輸入/輸出(I/O)線傳送資料之情況下將該第一元素移位由一第二元素之一值定義之若干個位元位置,其中該第二元素儲存於耦合至該記憶體陣列之一第二存取線及該若干個感測線之一第二記憶體胞元群組中。
- 如請求項1之方法,其中執行該移位運算包括在不進行一感測線位址存取之情況下執行若干個AND運算、OR運算、SHIFT運算及INVERT運算。
- 如請求項1至2中任一項之方法,其進一步包括將該移位運算之一結果儲存於耦合至一第三存取線之一第三記憶體胞元群組中。
- 如請求項3之方法,其中將該移位運算之該結果儲存於耦合至該第一存取線之該第一記憶體胞元群組及耦合至該第二存取線之該第二記憶體胞元群組中之至少一者中。
- 如請求項1之方法,其中使用耦合至若干行互補感測線中之每一行互補感測線之感測電路來執行該若干個運算。
- 如請求項1之方法,其中該第一記憶體胞元群組中之每一記憶體胞元儲存該第一元素之一各別位元。
- 如請求項5至6中任一項之方法,其中該第二元素定義用以將儲存該第一元素之該第一記憶體胞元群組內之若干個位元移位的若干個位元位置。
- 一種記憶體設備,其包括:一第一記憶體胞元群組,其耦合至一第一存取線且經組態以儲存表示一第一元素之第一數目個位元;一第二記憶體胞元群組,其耦合至該第一存取線且經組態以儲存表示一第二元素之第二數目個位元;一第三記憶體胞元群組,其耦合至一第二存取線且經組態以儲存一第三元素;一第四記憶體胞元群組,其耦合至該第二存取線且經組態以儲存一第四元素;及一控制器,其經組態以操作感測電路以藉由在不經由一輸入/輸出(I/O)線傳送資料之情況下執行若干個運算而將該第一記憶體胞元群組內之該第一數目個位元移位由該第三元素定義的第一數目個位元位置以回應於具有一或更高之一第一值之該第三元素,且將該第二記憶體胞元群組內之該第二數目個位元移位由該第四元素定義的第二數目個位元位置以回應於具有一或更高之一第二值之該第四元素。
- 如請求項8之設備,其中該感測電路中之每一者包括一感測放大器及一計算組件。
- 如請求項9之設備,其中該感測放大器包括一初級鎖存器且該計算組件包括一次級鎖存器。
- 如請求項10之設備,其中該第一數目個位元與該第二數目個位元係一相同位元長度。
- 如請求項10之設備,其中該第一元素、該第二元素、該第三元素及該第四元素係以具有一相同位元長度之位元表示。
- 如請求項10之設備,其中該控制器經組態以操作該感測電路以並行移位該第一數目個記憶體胞元內之該第一數目個位元及該 第二數目個記憶體胞元內之該第二數目個位元。
- 如請求項10之設備,其中當該第三元素具有一或更高之一第一個十進制值時,該第一數目個位元在該第一數目個記憶體胞元內被移位,且當該第四元素具有一或更高之一第二個十進制值時,該第二數目個位元在該第二數目個記憶體胞元內被移位。
- 如請求項10至14中任一項之設備,其中該控制器經組態以操作該感測電路以:基於儲存於該第三數目個記憶體胞元中之第三數目個位元而計算該第一數目個位元位置,其中該第三數目個位元表示該第三元素;且基於儲存於該第四數目個記憶體胞元中之第四數目個位元而計算該第二數目個位元位置,其中該第四數目個位元表示該第四元素。
- 如請求項15之設備,其中該第三數目個記憶體胞元及該第四數目個記憶體胞元中之每一者係與一不同索引相關聯。
- 如請求項16之設備,其中:儲存來自該第三數目個位元及該第四數目個位元之一最低有效位元(LSB)的來自該第三數目個記憶體胞元之一記憶體胞元及來自該第四數目個記憶體胞元之一記憶體胞元係與一開始索引相關聯;且儲存來自該第三數目個位元及該第四數目個位元之一最高有效位元(MSB)的來自該第三數目個記憶體胞元之一記憶體胞元及來自該第四數目個記憶體胞元之一記憶體胞元係與一最後索引相關聯。
- 如請求項17之設備,其中:該第一數目個位元位置係至少使用與該第三數目個記憶體胞 元相關聯之該開始索引來計算;且該第二數目個位元位置係至少使用在該開始索引之後的一索引來計算。
- 一種用於執行若干個移位運算之方法,其包括:對包括第一數目個元素之一第一位元向量執行一移位運算,該第一數目個元素儲存於耦合至一記憶體陣列之一第一存取線及若干個感測線之一第一記憶體胞元群組中,其中該移位運算包含在不進行一感測線位址存取之情況下將該第一位元向量移位由一第二位元向量之一值定義之若干個位元位置,其中該第二位元向量儲存於耦台至該記憶體陣列之一第二存取線及該若干個感測線之一第二記憶體胞元群組中;及儲存該移位運算之一結果以作為一結果位元向量,該結果位元向量儲存於耦合至一第三存取線之一第三記憶體胞元群組中。
- 如請求項19之方法,其中執行該移位運算包括使用以下各項執行若干次運算迭代:一SHIFT MASK位元向量;一TMPSHIFTED MASK位元向量;一ELEMENT MASK位元向量;及一EFFECTIVE MASK位元向量;其中每一運算迭代包括判定構成該第一位元向量之該等第一元素中之任一者是否仍具有在該第一記憶體胞元群組內移位之相關聯位元。
- 如請求項20之方法,其中若干次運算迭代之一數量等於log2(元素寬度),其中一元素寬度係表示該等第一元素中之每一者的位元之一數量。
- 一種記憶體設備,其包括:第一數目個記憶體胞元,其耦合至若干個感測線及一第一存取線,其中該第一數目個記憶體胞元經組態以儲存第一數目個元素;第二數目個記憶體胞元,其耦台至該若干個感測線及一第二存取線,其中該第二數目個記憶體胞元經組態以儲存第二數目個元素;及一控制器,其經組態以操作感測電路以:接收該第一數目個元素及該第二數目個元素;使用若干個運算來將該第一數目個記憶體胞元內之該第一數目個元素中之每一者中的位元移位等於一第二數目個元素之多個對應值之數目個位元位置,其中不執行一感測線位址存取以:接收該第一數目個元素及該第二數目個元素;或使用該若干個運算中之至少一者進行移位。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562131654P | 2015-03-11 | 2015-03-11 | |
US15/060,222 US9741399B2 (en) | 2015-03-11 | 2016-03-03 | Data shift by elements of a vector in memory |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201703033A TW201703033A (zh) | 2017-01-16 |
TWI602191B true TWI602191B (zh) | 2017-10-11 |
Family
ID=56879403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105107657A TWI602191B (zh) | 2015-03-11 | 2016-03-11 | 藉由記憶體中向量之元素之資料移位 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9741399B2 (zh) |
CN (1) | CN107430877B (zh) |
TW (1) | TWI602191B (zh) |
WO (1) | WO2016144951A1 (zh) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9704541B2 (en) * | 2015-06-12 | 2017-07-11 | Micron Technology, Inc. | Simulating access lines |
US9997232B2 (en) * | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
US10607665B2 (en) * | 2016-04-07 | 2020-03-31 | Micron Technology, Inc. | Span mask generation |
CN107315566B (zh) * | 2016-04-26 | 2020-11-03 | 中科寒武纪科技股份有限公司 | 一种用于执行向量循环移位运算的装置和方法 |
US9659610B1 (en) * | 2016-05-18 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for shifting data |
US10466928B2 (en) | 2016-09-15 | 2019-11-05 | Micron Technology, Inc. | Updating a register in memory |
US10387058B2 (en) | 2016-09-29 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods to change data category values |
US10014034B2 (en) | 2016-10-06 | 2018-07-03 | Micron Technology, Inc. | Shifting data in sensing circuitry |
US10529409B2 (en) | 2016-10-13 | 2020-01-07 | Micron Technology, Inc. | Apparatuses and methods to perform logical operations using sensing circuitry |
US9805772B1 (en) | 2016-10-20 | 2017-10-31 | Micron Technology, Inc. | Apparatuses and methods to selectively perform logical operations |
CN207637499U (zh) | 2016-11-08 | 2018-07-20 | 美光科技公司 | 用于形成在存储器单元阵列上方的计算组件的设备 |
US10423353B2 (en) | 2016-11-11 | 2019-09-24 | Micron Technology, Inc. | Apparatuses and methods for memory alignment |
US9761300B1 (en) | 2016-11-22 | 2017-09-12 | Micron Technology, Inc. | Data shift apparatuses and methods |
US10402340B2 (en) | 2017-02-21 | 2019-09-03 | Micron Technology, Inc. | Memory array page table walk |
US10403352B2 (en) | 2017-02-22 | 2019-09-03 | Micron Technology, Inc. | Apparatuses and methods for compute in data path |
US10268389B2 (en) | 2017-02-22 | 2019-04-23 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10838899B2 (en) | 2017-03-21 | 2020-11-17 | Micron Technology, Inc. | Apparatuses and methods for in-memory data switching networks |
US11222260B2 (en) | 2017-03-22 | 2022-01-11 | Micron Technology, Inc. | Apparatuses and methods for operating neural networks |
US10185674B2 (en) | 2017-03-22 | 2019-01-22 | Micron Technology, Inc. | Apparatus and methods for in data path compute operations |
US10049721B1 (en) | 2017-03-27 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10147467B2 (en) | 2017-04-17 | 2018-12-04 | Micron Technology, Inc. | Element value comparison in memory |
US10043570B1 (en) | 2017-04-17 | 2018-08-07 | Micron Technology, Inc. | Signed element compare in memory |
US9997212B1 (en) | 2017-04-24 | 2018-06-12 | Micron Technology, Inc. | Accessing data in memory |
US10942843B2 (en) | 2017-04-25 | 2021-03-09 | Micron Technology, Inc. | Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes |
US10236038B2 (en) | 2017-05-15 | 2019-03-19 | Micron Technology, Inc. | Bank to bank data transfer |
US10068664B1 (en) | 2017-05-19 | 2018-09-04 | Micron Technology, Inc. | Column repair in memory |
US10013197B1 (en) | 2017-06-01 | 2018-07-03 | Micron Technology, Inc. | Shift skip |
US10262701B2 (en) | 2017-06-07 | 2019-04-16 | Micron Technology, Inc. | Data transfer between subarrays in memory |
US10152271B1 (en) | 2017-06-07 | 2018-12-11 | Micron Technology, Inc. | Data replication |
US10318168B2 (en) | 2017-06-19 | 2019-06-11 | Micron Technology, Inc. | Apparatuses and methods for simultaneous in data path compute operations |
US10162005B1 (en) | 2017-08-09 | 2018-12-25 | Micron Technology, Inc. | Scan chain operations |
US10534553B2 (en) | 2017-08-30 | 2020-01-14 | Micron Technology, Inc. | Memory array accessibility |
US10416927B2 (en) | 2017-08-31 | 2019-09-17 | Micron Technology, Inc. | Processing in memory |
US10346092B2 (en) | 2017-08-31 | 2019-07-09 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations using timing circuitry |
US10741239B2 (en) | 2017-08-31 | 2020-08-11 | Micron Technology, Inc. | Processing in memory device including a row address strobe manager |
US10409739B2 (en) | 2017-10-24 | 2019-09-10 | Micron Technology, Inc. | Command selection policy |
US10522210B2 (en) | 2017-12-14 | 2019-12-31 | Micron Technology, Inc. | Apparatuses and methods for subarray addressing |
US10332586B1 (en) | 2017-12-19 | 2019-06-25 | Micron Technology, Inc. | Apparatuses and methods for subrow addressing |
US10614875B2 (en) | 2018-01-30 | 2020-04-07 | Micron Technology, Inc. | Logical operations using memory cells |
US10437557B2 (en) | 2018-01-31 | 2019-10-08 | Micron Technology, Inc. | Determination of a match between data values stored by several arrays |
US11194477B2 (en) | 2018-01-31 | 2021-12-07 | Micron Technology, Inc. | Determination of a match between data values stored by three or more arrays |
US10725696B2 (en) | 2018-04-12 | 2020-07-28 | Micron Technology, Inc. | Command selection policy with read priority |
US10440341B1 (en) | 2018-06-07 | 2019-10-08 | Micron Technology, Inc. | Image processor formed in an array of memory cells |
US11086803B2 (en) * | 2018-10-05 | 2021-08-10 | Micron Technology, Inc. | Dynamically configuring transmission lines of a bus |
US10769071B2 (en) | 2018-10-10 | 2020-09-08 | Micron Technology, Inc. | Coherent memory access |
US11175915B2 (en) | 2018-10-10 | 2021-11-16 | Micron Technology, Inc. | Vector registers implemented in memory |
US10483978B1 (en) | 2018-10-16 | 2019-11-19 | Micron Technology, Inc. | Memory device processing |
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
US10847215B2 (en) * | 2019-04-29 | 2020-11-24 | Arm Limited | Bitcell shifting technique |
JP2022533622A (ja) | 2019-05-16 | 2022-07-25 | ゼナージック エービー | シフト可能メモリ、およびシフト可能メモリを動作させる方法 |
US10867655B1 (en) | 2019-07-08 | 2020-12-15 | Micron Technology, Inc. | Methods and apparatus for dynamically adjusting performance of partitioned memory |
US11360768B2 (en) | 2019-08-14 | 2022-06-14 | Micron Technolgy, Inc. | Bit string operations in memory |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
US11227641B1 (en) | 2020-07-21 | 2022-01-18 | Micron Technology, Inc. | Arithmetic operations in memory |
US11449269B2 (en) | 2020-07-22 | 2022-09-20 | Micron Technology, Inc. | Edge compute components under a memory array |
CN114078488A (zh) * | 2020-08-21 | 2022-02-22 | 长鑫存储技术(上海)有限公司 | 存储器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5430687A (en) * | 1994-04-01 | 1995-07-04 | Xilinx, Inc. | Programmable logic device including a parallel input device for loading memory cells |
US7058880B1 (en) * | 2001-12-26 | 2006-06-06 | Altera Corporation | Techniques for programming and verifying data in a programmable circuit |
US7457188B2 (en) * | 2005-07-15 | 2008-11-25 | Samsung Electronics Co., Ltd. | Semiconductor memory device having connected bit lines and data shift method thereof |
US20130326154A1 (en) * | 2012-05-31 | 2013-12-05 | Samsung Electronics Co., Ltd. | Cache system optimized for cache miss detection |
US20140344934A1 (en) * | 2013-05-17 | 2014-11-20 | Hewlett-Packard Development Company, L.P. | Bloom filter with memory element |
Family Cites Families (274)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4380046A (en) | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
JPS6032911B2 (ja) | 1979-07-26 | 1985-07-31 | 株式会社東芝 | 半導体記憶装置 |
US4435792A (en) | 1982-06-30 | 1984-03-06 | Sun Microsystems, Inc. | Raster memory manipulation apparatus |
US4727474A (en) | 1983-02-18 | 1988-02-23 | Loral Corporation | Staging memory for massively parallel processor |
EP0214718A3 (en) | 1985-07-22 | 1990-04-04 | Alliant Computer Systems Corporation | Digital computer |
US5222047A (en) * | 1987-05-15 | 1993-06-22 | Mitsubishi Denki Kabushiki Kaisha | Method and apparatus for driving word line in block access memory |
US5201039A (en) | 1987-09-30 | 1993-04-06 | Mitsubishi Denki Kabushiki Kaisha | Multiple address-space data processor with addressable register and context switching |
US4843264A (en) | 1987-11-25 | 1989-06-27 | Visic, Inc. | Dynamic sense amplifier for CMOS static RAM |
US5276643A (en) | 1988-08-11 | 1994-01-04 | Siemens Aktiengesellschaft | Integrated semiconductor circuit |
JPH0713858B2 (ja) | 1988-08-30 | 1995-02-15 | 三菱電機株式会社 | 半導体記憶装置 |
US5023838A (en) | 1988-12-02 | 1991-06-11 | Ncr Corporation | Random access memory device with integral logic capability |
US4958378A (en) | 1989-04-26 | 1990-09-18 | Sun Microsystems, Inc. | Method and apparatus for detecting changes in raster data |
US5253308A (en) | 1989-06-21 | 1993-10-12 | Amber Engineering, Inc. | Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing |
EP0446721B1 (en) | 1990-03-16 | 2000-12-20 | Texas Instruments Incorporated | Distributed processing memory |
US5034636A (en) | 1990-06-04 | 1991-07-23 | Motorola, Inc. | Sense amplifier with an integral logic function |
US5210850A (en) | 1990-06-15 | 1993-05-11 | Compaq Computer Corporation | Memory address space determination using programmable limit registers with single-ended comparators |
JP3361825B2 (ja) | 1990-08-22 | 2003-01-07 | テキサス インスツルメンツ インコーポレイテツド | メモリ・アレイ・アーキテクチャ |
US5546343A (en) | 1990-10-18 | 1996-08-13 | Elliott; Duncan G. | Method and apparatus for a single instruction operating multiple processors on a memory chip |
JPH06103599B2 (ja) | 1990-11-16 | 1994-12-14 | 三菱電機株式会社 | 半導体集積回路装置 |
US5325519A (en) | 1991-10-18 | 1994-06-28 | Texas Microsystems, Inc. | Fault tolerant computer with archival rollback capabilities |
FR2685973B1 (fr) | 1992-01-03 | 1994-02-25 | France Telecom | Point memoire pour memoire associative. |
KR950005095Y1 (ko) | 1992-03-18 | 1995-06-22 | 문정환 | 양방향성 그로벌 비트 라인을 갖는 dram |
KR940004434A (ko) | 1992-08-25 | 1994-03-15 | 윌리엄 이. 힐러 | 스마트 다이나믹 랜덤 억세스 메모리 및 그 처리방법 |
KR950004854B1 (ko) | 1992-10-08 | 1995-05-15 | 삼성전자 주식회사 | 반도체 메모리 장치 |
US5440482A (en) | 1993-03-25 | 1995-08-08 | Taligent, Inc. | Forward and reverse Boyer-Moore string searching of multilingual text having a defined collation order |
US5485373A (en) | 1993-03-25 | 1996-01-16 | Taligent, Inc. | Language-sensitive text searching system with modified Boyer-Moore process |
US5369622A (en) | 1993-04-20 | 1994-11-29 | Micron Semiconductor, Inc. | Memory with isolated digit lines |
US5754478A (en) | 1993-04-20 | 1998-05-19 | Micron Technology, Inc. | Fast, low power, write scheme for memory circuits using pulsed off isolation device |
JP2663838B2 (ja) | 1993-07-27 | 1997-10-15 | 日本電気株式会社 | 半導体集積回路装置 |
JP3252306B2 (ja) | 1993-08-10 | 2002-02-04 | 株式会社日立製作所 | 半導体不揮発性記憶装置 |
JP3904244B2 (ja) | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
JP3251421B2 (ja) | 1994-04-11 | 2002-01-28 | 株式会社日立製作所 | 半導体集積回路 |
US5655113A (en) | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
JPH0831168A (ja) | 1994-07-13 | 1996-02-02 | Hitachi Ltd | 半導体記憶装置 |
US5481500A (en) | 1994-07-22 | 1996-01-02 | International Business Machines Corporation | Precharged bit decoder and sense amplifier with integrated latch usable in pipelined memories |
US5615404A (en) | 1994-10-31 | 1997-03-25 | Intel Corporation | System having independently addressable bus interfaces coupled to serially connected multi-ported signal distributors generating and maintaining frame based polling schedule favoring isochronous peripherals |
US5638128A (en) | 1994-11-08 | 1997-06-10 | General Instrument Corporation Of Delaware | Pixel interpolation filters for video decompression processor |
US5724366A (en) | 1995-05-16 | 1998-03-03 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device |
KR0146530B1 (ko) | 1995-05-25 | 1998-09-15 | 김광호 | 단속제어회로를 구비한 반도체 메모리 장치와 제어방법 |
US7301541B2 (en) | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
JP2812262B2 (ja) | 1995-08-31 | 1998-10-22 | 日本電気株式会社 | 連想記憶装置 |
US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
JP2817836B2 (ja) | 1995-11-30 | 1998-10-30 | 日本電気株式会社 | 半導体メモリ装置 |
JP3356612B2 (ja) | 1996-02-29 | 2002-12-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 高速な輪郭スムージング方法及び装置 |
US6092186A (en) | 1996-05-07 | 2000-07-18 | Lucent Technologies Inc. | Apparatus and method for aborting un-needed instruction fetches in a digital microprocessor device |
US5915084A (en) | 1996-09-30 | 1999-06-22 | Advanced Micro Devices, Inc. | Scannable sense amplifier circuit |
US5991209A (en) | 1997-04-11 | 1999-11-23 | Raytheon Company | Split sense amplifier and staging buffer for wide memory architecture |
JP3592887B2 (ja) | 1997-04-30 | 2004-11-24 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6510098B1 (en) | 1997-05-28 | 2003-01-21 | Cirrus Logic, Inc. | Method and apparatus for transferring data in a dual port memory |
JPH1115773A (ja) | 1997-06-24 | 1999-01-22 | Matsushita Electron Corp | 半導体集積回路、コンピュータシステム、データ処理装置及びデータ処理方法 |
US5935263A (en) | 1997-07-01 | 1999-08-10 | Micron Technology, Inc. | Method and apparatus for memory array compressed data testing |
US5953738A (en) | 1997-07-02 | 1999-09-14 | Silicon Aquarius, Inc | DRAM with integral SRAM and arithmetic-logic units |
US6195734B1 (en) | 1997-07-02 | 2001-02-27 | Micron Technology, Inc. | System for implementing a graphic address remapping table as a virtual register file in system memory |
US6181698B1 (en) | 1997-07-09 | 2001-01-30 | Yoichi Hariguchi | Network routing table using content addressable memory |
US6025221A (en) | 1997-08-22 | 2000-02-15 | Micron Technology, Inc. | Processing methods of forming integrated circuitry memory devices, methods of forming DRAM arrays, and related semiconductor masks |
US5991785A (en) | 1997-11-13 | 1999-11-23 | Lucent Technologies Inc. | Determining an extremum value and its index in an array using a dual-accumulation processor |
US5867429A (en) | 1997-11-19 | 1999-02-02 | Sandisk Corporation | High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates |
US6163862A (en) | 1997-12-01 | 2000-12-19 | International Business Machines Corporation | On-chip test circuit for evaluating an on-chip signal using an external test signal |
JP3488612B2 (ja) | 1997-12-11 | 2004-01-19 | 株式会社東芝 | センス増幅回路 |
US5986942A (en) | 1998-01-20 | 1999-11-16 | Nec Corporation | Semiconductor memory device |
JPH11260057A (ja) | 1998-03-13 | 1999-09-24 | Nec Corp | 半導体記憶装置 |
JPH11265995A (ja) | 1998-03-17 | 1999-09-28 | Mitsubishi Electric Corp | 半導体記憶装置 |
JPH11306751A (ja) | 1998-04-22 | 1999-11-05 | Toshiba Corp | 半導体記憶装置 |
US6005799A (en) | 1998-08-06 | 1999-12-21 | Silicon Aquarius | Methods and circuits for single-memory dynamic cell multivalue data storage |
US6141286A (en) | 1998-08-21 | 2000-10-31 | Micron Technology, Inc. | Embedded DRAM architecture with local data drivers and programmable number of data read and data write lines |
US7409694B2 (en) | 1998-09-09 | 2008-08-05 | Microsoft Corporation | Highly componentized system architecture with loadable virtual memory manager |
JP2000173269A (ja) | 1998-12-08 | 2000-06-23 | Mitsubishi Electric Corp | 半導体記憶装置 |
KR100381968B1 (ko) | 1998-12-30 | 2004-03-24 | 주식회사 하이닉스반도체 | 고속동작용디램 |
US6389507B1 (en) | 1999-01-15 | 2002-05-14 | Gigabus, Inc. | Memory device search system and method |
US5999435A (en) | 1999-01-15 | 1999-12-07 | Fast-Chip, Inc. | Content addressable memory device |
US6134164A (en) | 1999-04-22 | 2000-10-17 | International Business Machines Corp. | Sensing circuit for a memory cell array |
US6741104B2 (en) | 1999-05-26 | 2004-05-25 | Micron Technology, Inc. | DRAM sense amplifier for low voltages |
US6157578A (en) | 1999-07-15 | 2000-12-05 | Stmicroelectronics, Inc. | Method and apparatus for accessing a memory device |
US6208544B1 (en) | 1999-09-09 | 2001-03-27 | Harris Corporation | Content addressable memory cell providing simultaneous read and compare capability |
US6578058B1 (en) | 1999-10-06 | 2003-06-10 | Agilent Technologies, Inc. | System and method for comparing values from target systems |
US7124221B1 (en) | 1999-10-19 | 2006-10-17 | Rambus Inc. | Low latency multi-level communication interface |
US6418498B1 (en) | 1999-12-30 | 2002-07-09 | Intel Corporation | Integrated system management memory for system management interrupt handler independent of BIOS and operating system |
JP4627103B2 (ja) | 2000-01-18 | 2011-02-09 | 富士通セミコンダクター株式会社 | 半導体記憶装置及びその制御方法 |
WO2001057875A1 (fr) | 2000-02-04 | 2001-08-09 | Hitachi, Ltd. | Dispositif semi-conducteur |
US20010042069A1 (en) | 2000-02-29 | 2001-11-15 | Petrov Peter D. | Method and apparatus for building a memory image |
US7028170B2 (en) | 2000-03-08 | 2006-04-11 | Sun Microsystems, Inc. | Processing architecture having a compare capability |
JP3983969B2 (ja) | 2000-03-08 | 2007-09-26 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6678678B2 (en) | 2000-03-09 | 2004-01-13 | Braodcom Corporation | Method and apparatus for high speed table search |
JP3822412B2 (ja) | 2000-03-28 | 2006-09-20 | 株式会社東芝 | 半導体記憶装置 |
US6965648B1 (en) | 2000-05-04 | 2005-11-15 | Sun Microsystems, Inc. | Source synchronous link integrity validation |
KR100872213B1 (ko) | 2000-07-07 | 2008-12-05 | 모사이드 테크놀로지스, 인코포레이티드 | 메모리 소자에서의 읽기 명령 수행 방법 |
US6466499B1 (en) | 2000-07-11 | 2002-10-15 | Micron Technology, Inc. | DRAM sense amplifier having pre-charged transistor body nodes |
US7302582B2 (en) | 2000-08-21 | 2007-11-27 | United States Postal Service | Delivery point validation system |
US6301164B1 (en) | 2000-08-25 | 2001-10-09 | Micron Technology, Inc. | Antifuse method to repair columns in a prefetched output memory architecture |
US6704828B1 (en) | 2000-08-31 | 2004-03-09 | Micron Technology, Inc. | System and method for implementing data pre-fetch having reduced data lines and/or higher data rates |
US6948056B1 (en) | 2000-09-28 | 2005-09-20 | Intel Corporation | Maintaining even and odd array pointers to extreme values by searching and comparing multiple elements concurrently where a pointer is adjusted after processing to account for a number of pipeline stages |
US6304477B1 (en) | 2001-01-31 | 2001-10-16 | Motorola, Inc. | Content addressable magnetic random access memory |
US6563754B1 (en) | 2001-02-08 | 2003-05-13 | Integrated Device Technology, Inc. | DRAM circuit with separate refresh memory |
US6650158B2 (en) | 2001-02-21 | 2003-11-18 | Ramtron International Corporation | Ferroelectric non-volatile logic elements |
US7546438B2 (en) | 2001-07-19 | 2009-06-09 | Chung Shine C | Algorithm mapping, specialized instructions and architecture features for smart memory computing |
US6807614B2 (en) | 2001-07-19 | 2004-10-19 | Shine C. Chung | Method and apparatus for using smart memories in computing |
ITRM20010531A1 (it) | 2001-08-31 | 2003-02-28 | Micron Technology Inc | Dispositivo rilevatore a bassa potenza e alta tensione per memorie ditipo flash. |
US7260672B2 (en) | 2001-09-07 | 2007-08-21 | Intel Corporation | Using data stored in a destructive-read memory |
US6985388B2 (en) * | 2001-09-17 | 2006-01-10 | Sandisk Corporation | Dynamic column block selection |
US7062689B2 (en) | 2001-12-20 | 2006-06-13 | Arm Limited | Method and apparatus for memory self testing |
US20040073773A1 (en) | 2002-02-06 | 2004-04-15 | Victor Demjanenko | Vector processor architecture and methods performed therein |
US6707729B2 (en) | 2002-02-15 | 2004-03-16 | Micron Technology, Inc. | Physically alternating sense amplifier activation |
AU2003221680A1 (en) | 2002-04-09 | 2003-10-27 | The Research Foundation Of State University Of New York | Multiplier-based processor-in-memory architectures for image and graphics processing |
JP2003331598A (ja) | 2002-05-13 | 2003-11-21 | Mitsubishi Electric Corp | 半導体記憶装置 |
US7406494B2 (en) | 2002-05-14 | 2008-07-29 | Texas Instruments Incorporated | Method of generating a cycle-efficient bit-reverse index array for a wireless communication system |
JP2003346484A (ja) | 2002-05-23 | 2003-12-05 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
US6789099B2 (en) | 2002-06-10 | 2004-09-07 | International Business Machines Corporation | Sense-amp based adder with source follower evaluation tree |
US7054178B1 (en) | 2002-09-06 | 2006-05-30 | Etron Technology, Inc. | Datapath architecture for high area efficiency |
US7005338B2 (en) | 2002-09-19 | 2006-02-28 | Promos Technologies Inc. | Nonvolatile memory cell with a floating gate at least partially located in a trench in a semiconductor substrate |
US6987693B2 (en) | 2002-09-24 | 2006-01-17 | Sandisk Corporation | Non-volatile memory and method with reduced neighboring field errors |
US7079407B1 (en) | 2002-10-18 | 2006-07-18 | Netlogic Microsystems, Inc. | Content addressable memory (CAM) device including match line sensing |
US6765834B2 (en) | 2002-11-19 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | System and method for sensing memory cells of an array of memory cells |
US6731542B1 (en) | 2002-12-05 | 2004-05-04 | Advanced Micro Devices, Inc. | Circuit for accurate memory read operations |
KR100546307B1 (ko) | 2002-12-05 | 2006-01-26 | 삼성전자주식회사 | 글로벌 입출력라인을 프리차지 및/또는 이퀄라이징하기위한 프리차지 회로를 구비하는 반도체 장치 및프리차지 및/또는 이퀄라이즈하는 트랜지스터의 레이아웃 |
US6888372B1 (en) | 2002-12-20 | 2005-05-03 | Altera Corporation | Programmable logic device with soft multiplier |
WO2004059651A2 (en) | 2002-12-27 | 2004-07-15 | Solid State System Co., Ltd. | Nonvolatile memory unit with specific cache |
US7346903B2 (en) | 2003-02-04 | 2008-03-18 | Sun Microsystems, Inc. | Compiling and linking modules of a cycle-based logic design |
US6768679B1 (en) | 2003-02-10 | 2004-07-27 | Advanced Micro Devices, Inc. | Selection circuit for accurate memory read operations |
US6819612B1 (en) | 2003-03-13 | 2004-11-16 | Advanced Micro Devices, Inc. | Apparatus and method for a sense amplifier circuit that samples and holds a reference voltage |
US6865122B2 (en) | 2003-04-11 | 2005-03-08 | Intel Corporation | Reclaiming blocks in a block-alterable memory |
US7447720B2 (en) | 2003-04-23 | 2008-11-04 | Micron Technology, Inc. | Method for finding global extrema of a set of bytes distributed across an array of parallel processing elements |
US7574466B2 (en) | 2003-04-23 | 2009-08-11 | Micron Technology, Inc. | Method for finding global extrema of a set of shorts distributed across an array of parallel processing elements |
US7454451B2 (en) | 2003-04-23 | 2008-11-18 | Micron Technology, Inc. | Method for finding local extrema of a set of values for a parallel processing element |
US9015390B2 (en) | 2003-04-25 | 2015-04-21 | Micron Technology, Inc. | Active memory data compression system and method |
DE10319271A1 (de) | 2003-04-29 | 2004-11-25 | Infineon Technologies Ag | Speicher-Schaltungsanordnung und Verfahren zur Herstellung |
US7142464B2 (en) | 2003-04-29 | 2006-11-28 | Saifun Semiconductors Ltd. | Apparatus and methods for multi-level sensing in a memory array |
JP3898152B2 (ja) | 2003-05-27 | 2007-03-28 | ローム株式会社 | 演算機能付き記憶装置および演算記憶方法 |
CN1846278B (zh) | 2003-09-04 | 2010-04-28 | Nxp股份有限公司 | 集成电路和高速缓冲存储器的重新映射方法 |
US6956770B2 (en) | 2003-09-17 | 2005-10-18 | Sandisk Corporation | Non-volatile memory and method with bit line compensation dependent on neighboring operating modes |
US7177183B2 (en) | 2003-09-30 | 2007-02-13 | Sandisk 3D Llc | Multiple twin cell non-volatile memory array and logic block structure and method therefor |
US7913125B2 (en) | 2003-11-04 | 2011-03-22 | Lsi Corporation | BISR mode to test the redundant elements and regular functional memory to avoid test escapes |
US6950771B1 (en) | 2003-12-09 | 2005-09-27 | Xilinx, Inc. | Correlation of electrical test data with physical defect data |
US7401281B2 (en) | 2004-01-29 | 2008-07-15 | International Business Machines Corporation | Remote BIST high speed test and redundancy calculation |
US7631236B2 (en) | 2004-01-29 | 2009-12-08 | International Business Machines Corporation | Hybrid built-in self test (BIST) architecture for embedded memory arrays and an associated method |
JP4819316B2 (ja) | 2004-02-23 | 2011-11-24 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US7088606B2 (en) | 2004-03-10 | 2006-08-08 | Altera Corporation | Dynamic RAM storage techniques |
US7020017B2 (en) | 2004-04-06 | 2006-03-28 | Sandisk Corporation | Variable programming of non-volatile memory |
US7120063B1 (en) | 2004-05-07 | 2006-10-10 | Spansion Llc | Flash memory cell and methods for programming and erasing |
US8522205B2 (en) | 2004-05-18 | 2013-08-27 | Oracle International Corporation | Packaging multiple groups of read-only files of an application's components into multiple shared libraries |
JP2006127460A (ja) | 2004-06-09 | 2006-05-18 | Renesas Technology Corp | 半導体装置、半導体信号処理装置、およびクロスバースイッチ |
US7061817B2 (en) | 2004-06-30 | 2006-06-13 | Micron Technology, Inc. | Data path having grounded precharge operation and test compression capability |
US7116602B2 (en) | 2004-07-15 | 2006-10-03 | Micron Technology, Inc. | Method and system for controlling refresh to avoid memory cell data losses |
US7434024B2 (en) | 2004-08-30 | 2008-10-07 | Ati Technologies, Inc. | SIMD processor with register addressing, buffer stall and methods |
US20060069849A1 (en) | 2004-09-30 | 2006-03-30 | Rudelic John C | Methods and apparatus to update information in a memory |
US7685365B2 (en) | 2004-09-30 | 2010-03-23 | Intel Corporation | Transactional memory execution utilizing virtual memory |
US20060149804A1 (en) | 2004-11-30 | 2006-07-06 | International Business Machines Corporation | Multiply-sum dot product instruction with mask and splat |
US7230851B2 (en) | 2004-12-23 | 2007-06-12 | Sandisk Corporation | Reducing floating gate to floating gate coupling effect |
KR100673901B1 (ko) | 2005-01-28 | 2007-01-25 | 주식회사 하이닉스반도체 | 저전압용 반도체 메모리 장치 |
US7543119B2 (en) | 2005-02-10 | 2009-06-02 | Richard Edward Hessel | Vector processor |
US7624313B2 (en) | 2005-03-28 | 2009-11-24 | Hewlett-Packard Development Company, L.P. | TCAM BIST with redundancy |
US7187585B2 (en) | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
US7196928B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
US7193898B2 (en) | 2005-06-20 | 2007-03-20 | Sandisk Corporation | Compensation currents in non-volatile memory read operations |
KR100720644B1 (ko) | 2005-11-17 | 2007-05-21 | 삼성전자주식회사 | 메모리 장치 및 메모리 그 동작 방법 |
JP4804479B2 (ja) | 2005-12-13 | 2011-11-02 | スパンション エルエルシー | 半導体装置およびその制御方法 |
JP5129450B2 (ja) | 2006-01-16 | 2013-01-30 | ルネサスエレクトロニクス株式会社 | 情報処理装置 |
US8077533B2 (en) | 2006-01-23 | 2011-12-13 | Freescale Semiconductor, Inc. | Memory and method for sensing data in a memory using complementary sensing scheme |
JP4989900B2 (ja) | 2006-01-31 | 2012-08-01 | ルネサスエレクトロニクス株式会社 | 並列演算処理装置 |
US7400532B2 (en) | 2006-02-16 | 2008-07-15 | Micron Technology, Inc. | Programming method to reduce gate coupling interference for non-volatile memory |
KR100755370B1 (ko) | 2006-04-17 | 2007-09-04 | 삼성전자주식회사 | 반도체 메모리 장치 |
TW200828333A (en) | 2006-04-28 | 2008-07-01 | Samsung Electronics Co Ltd | Sense amplifier circuit and sense amplifier-based flip-flop having the same |
US7752417B2 (en) | 2006-06-05 | 2010-07-06 | Oracle America, Inc. | Dynamic selection of memory virtualization techniques |
US7372715B2 (en) | 2006-06-14 | 2008-05-13 | Micron Technology, Inc. | Architecture and method for NAND flash memory |
US8069377B2 (en) | 2006-06-26 | 2011-11-29 | Micron Technology, Inc. | Integrated circuit having memory array including ECC and column redundancy and method of operating the same |
US7724559B2 (en) | 2006-07-14 | 2010-05-25 | International Business Machines Corporation | Self-referenced match-line sense amplifier for content addressable memories |
US7443729B2 (en) | 2006-07-20 | 2008-10-28 | Sandisk Corporation | System that compensates for coupling based on sensing a neighbor using coupling |
US7885119B2 (en) | 2006-07-20 | 2011-02-08 | Sandisk Corporation | Compensating for coupling during programming |
US7692466B2 (en) | 2006-08-18 | 2010-04-06 | Ati Technologies Ulc | Sense amplifier based flip-flop |
US7805587B1 (en) | 2006-11-01 | 2010-09-28 | Nvidia Corporation | Memory addressing controlled by PTE fields |
US8151082B2 (en) | 2007-12-06 | 2012-04-03 | Fusion-Io, Inc. | Apparatus, system, and method for converting a storage request into an append data storage command |
US7471536B2 (en) | 2006-12-08 | 2008-12-30 | Texas Instruments Incorporated | Match mismatch emulation scheme for an addressed location in a CAM |
KR100821616B1 (ko) | 2006-12-14 | 2008-04-16 | 한국과학기술원 | 반도체 집적회로의 두 숫자 비교기 |
US7460387B2 (en) | 2007-01-05 | 2008-12-02 | International Business Machines Corporation | eDRAM hierarchical differential sense amp |
US7743303B2 (en) | 2007-01-22 | 2010-06-22 | Micron Technology, Inc. | Defective memory block remapping method and system, and memory device and processor-based system using same |
US7937535B2 (en) | 2007-02-22 | 2011-05-03 | Arm Limited | Managing cache coherency in a data processing apparatus |
US7804718B2 (en) | 2007-03-07 | 2010-09-28 | Mosaid Technologies Incorporated | Partial block erase architecture for flash memory |
US7492640B2 (en) | 2007-06-07 | 2009-02-17 | Sandisk Corporation | Sensing with bit-line lockout control in non-volatile memory |
JP2009009665A (ja) | 2007-06-29 | 2009-01-15 | Elpida Memory Inc | 半導体記憶装置 |
US7996749B2 (en) | 2007-07-03 | 2011-08-09 | Altera Corporation | Signal loss detector for high-speed serial interface of a programmable logic device |
US7489543B1 (en) | 2007-07-25 | 2009-02-10 | Micron Technology, Inc. | Programming multilevel cell memory arrays |
US7694195B2 (en) | 2007-08-14 | 2010-04-06 | Dell Products L.P. | System and method for using a memory mapping function to map memory defects |
US7869273B2 (en) | 2007-09-04 | 2011-01-11 | Sandisk Corporation | Reducing the impact of interference during programming |
US7787319B2 (en) | 2007-09-06 | 2010-08-31 | Innovative Silicon Isi Sa | Sense amplifier circuitry for integrated circuit having memory cell array, and method of operating same |
US8042082B2 (en) | 2007-09-12 | 2011-10-18 | Neal Solomon | Three dimensional memory in a system on a chip |
US7965564B2 (en) | 2007-09-18 | 2011-06-21 | Zikbit Ltd. | Processor arrays made of standard memory cells |
US7663928B2 (en) | 2007-10-09 | 2010-02-16 | Ememory Technology Inc. | Sense amplifier circuit having current mirror architecture |
WO2009052525A1 (en) | 2007-10-19 | 2009-04-23 | Virident Systems, Inc. | Managing memory systems containing components with asymmetric characteristics |
US7924628B2 (en) | 2007-11-14 | 2011-04-12 | Spansion Israel Ltd | Operation of a non-volatile memory array |
US7979667B2 (en) | 2007-12-10 | 2011-07-12 | Spansion Llc | Memory array search engine |
US7755960B2 (en) | 2007-12-17 | 2010-07-13 | Stmicroelectronics Sa | Memory including a performance test circuit |
US8495438B2 (en) | 2007-12-28 | 2013-07-23 | Texas Instruments Incorporated | Technique for memory imprint reliability improvement |
US7808854B2 (en) | 2008-02-19 | 2010-10-05 | Kabushiki Kaisha Toshiba | Systems and methods for data transfers between memory cells |
JP5194302B2 (ja) | 2008-02-20 | 2013-05-08 | ルネサスエレクトロニクス株式会社 | 半導体信号処理装置 |
US8332580B2 (en) | 2008-04-02 | 2012-12-11 | Zikbit Ltd. | System, method and apparatus for memory with embedded associative section for computations |
US20090254694A1 (en) | 2008-04-02 | 2009-10-08 | Zikbit Ltd. | Memory device with integrated parallel processing |
US7957206B2 (en) | 2008-04-04 | 2011-06-07 | Micron Technology, Inc. | Read circuitry for an integrated circuit having memory cells and/or a memory cell array, and method of operating same |
US8339824B2 (en) | 2008-07-02 | 2012-12-25 | Cooke Laurence H | Nearest neighbor serial content addressable memory |
US8555037B2 (en) | 2008-08-15 | 2013-10-08 | Apple Inc. | Processing vectors using wrapping minima and maxima instructions in the macroscalar architecture |
US8417921B2 (en) | 2008-08-15 | 2013-04-09 | Apple Inc. | Running-min and running-max instructions for processing vectors using a base value from a key element of an input vector |
US8259509B2 (en) | 2008-08-18 | 2012-09-04 | Elpida Memory, Inc. | Semiconductor memory device and method with auxiliary I/O line assist circuit and functionality |
CN102187672B (zh) | 2008-08-19 | 2014-05-28 | 汤姆森特许公司 | 压缩视频中的语法元素的兼容cabac/avc的水印加注 |
ITRM20080543A1 (it) | 2008-10-09 | 2010-04-10 | Micron Technology Inc | Architettura e metodo per la programmazione di memorie. |
KR101596283B1 (ko) | 2008-12-19 | 2016-02-23 | 삼성전자 주식회사 | 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치 |
KR101622922B1 (ko) | 2009-03-06 | 2016-05-20 | 삼성전자 주식회사 | 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치 |
US8484276B2 (en) | 2009-03-18 | 2013-07-09 | International Business Machines Corporation | Processing array data on SIMD multi-core processor architectures |
KR20100134235A (ko) | 2009-06-15 | 2010-12-23 | 삼성전자주식회사 | 반도체 메모리 장치 |
US7898864B2 (en) | 2009-06-24 | 2011-03-01 | Sandisk Corporation | Read operation for memory with compensation for coupling based on write-erase cycles |
US8412985B1 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Hardwired remapped memory |
US8412987B2 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Non-volatile memory to store memory remap information |
US8238173B2 (en) | 2009-07-16 | 2012-08-07 | Zikbit Ltd | Using storage cells to perform computation |
US9076527B2 (en) | 2009-07-16 | 2015-07-07 | Mikamonu Group Ltd. | Charge sharing in a TCAM array |
JP4951041B2 (ja) | 2009-08-06 | 2012-06-13 | 株式会社東芝 | 半導体記憶装置 |
US8059438B2 (en) | 2009-08-28 | 2011-11-15 | International Business Machines Corporation | Content addressable memory array programmed to perform logic operations |
US8077532B2 (en) | 2009-09-02 | 2011-12-13 | Micron Technology, Inc. | Small unit internal verify read in a memory device |
US8482975B2 (en) | 2009-09-14 | 2013-07-09 | Micron Technology, Inc. | Memory kink checking |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
US20120246380A1 (en) | 2009-10-21 | 2012-09-27 | Avidan Akerib | Neighborhood operations for parallel processing |
US8650232B2 (en) | 2009-10-26 | 2014-02-11 | Via Technologies, Inc. | System and method for determination of a horizontal minimum of digital values |
KR101634340B1 (ko) | 2009-11-03 | 2016-06-28 | 삼성전자주식회사 | 반도체 메모리 장치의 프로그램 방법 |
US8583896B2 (en) | 2009-11-13 | 2013-11-12 | Nec Laboratories America, Inc. | Massively parallel processing core with plural chains of processing elements and respective smart memory storing select data received from each chain |
KR20110054773A (ko) | 2009-11-18 | 2011-05-25 | 삼성전자주식회사 | 비트라인 디스털번스를 개선하는 반도체 메모리 장치 |
US8089815B2 (en) | 2009-11-24 | 2012-01-03 | Sandisk Technologies Inc. | Programming memory with bit line floating to reduce channel-to-floating gate coupling |
KR101060899B1 (ko) * | 2009-12-23 | 2011-08-30 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 이의 동작 방법 |
US8605015B2 (en) | 2009-12-23 | 2013-12-10 | Syndiant, Inc. | Spatial light modulator with masking-comparators |
JP2011146102A (ja) | 2010-01-15 | 2011-07-28 | Elpida Memory Inc | 半導体装置及びデータ処理システム |
CN102141905B (zh) | 2010-01-29 | 2015-02-25 | 上海芯豪微电子有限公司 | 一种处理器体系结构 |
US8164942B2 (en) | 2010-02-01 | 2012-04-24 | International Business Machines Corporation | High performance eDRAM sense amplifier |
US8533245B1 (en) | 2010-03-03 | 2013-09-10 | Altera Corporation | Multipliers with a reduced number of memory blocks |
EP2564306A4 (en) | 2010-04-27 | 2017-04-26 | Cornell University | System and methods for mapping and searching objects in multidimensional space |
KR101119371B1 (ko) | 2010-04-29 | 2012-03-06 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 이의 동작 방법 |
US8559232B2 (en) | 2010-05-03 | 2013-10-15 | Aplus Flash Technology, Inc. | DRAM-like NVM memory array and sense amplifier design for high temperature and high endurance operation |
US8351278B2 (en) | 2010-06-23 | 2013-01-08 | International Business Machines Corporation | Jam latch for latching memory array output data |
KR101143471B1 (ko) | 2010-07-02 | 2012-05-11 | 에스케이하이닉스 주식회사 | 센스앰프 및 이를 포함하는 반도체 장치 |
US20120017039A1 (en) | 2010-07-16 | 2012-01-19 | Plx Technology, Inc. | Caching using virtual memory |
US8462532B1 (en) | 2010-08-31 | 2013-06-11 | Netlogic Microsystems, Inc. | Fast quaternary content addressable memory cell |
US8347154B2 (en) | 2010-09-21 | 2013-01-01 | International Business Machines Corporation | Use of hashing function to distinguish random and repeat errors in a memory system |
US8478969B2 (en) | 2010-09-24 | 2013-07-02 | Intel Corporation | Performing a multiply-multiply-accumulate instruction |
US8904115B2 (en) | 2010-09-28 | 2014-12-02 | Texas Instruments Incorporated | Cache with multiple access pipelines |
US8332367B2 (en) | 2010-10-20 | 2012-12-11 | International Business Machines Corporation | Parallel data redundancy removal |
KR101148352B1 (ko) | 2010-11-02 | 2012-05-21 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 동작 방법 |
JP5528987B2 (ja) | 2010-11-11 | 2014-06-25 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置 |
US8553482B2 (en) | 2010-11-29 | 2013-10-08 | Apple Inc. | Sense amplifier and sense amplifier latch having common control |
WO2012104674A1 (en) | 2011-01-31 | 2012-08-09 | Freescale Semiconductor, Inc. | Integrated circuit device and method for determining an index of an extreme value within an array of values |
KR20120088973A (ko) | 2011-02-01 | 2012-08-09 | 삼성전자주식회사 | 로컬 센스앰프 회로 및 이를 포함하는 반도체 메모리 장치 |
JP2012174016A (ja) | 2011-02-22 | 2012-09-10 | Renesas Electronics Corp | データ処理装置およびそのデータ処理方法 |
JP5259765B2 (ja) | 2011-03-29 | 2013-08-07 | 株式会社東芝 | 不揮発性半導体メモリ |
US8725730B2 (en) | 2011-05-23 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Responding to a query in a data processing system |
US8706958B2 (en) | 2011-09-01 | 2014-04-22 | Thomas Hein | Data mask encoding in data bit inversion scheme |
DE112011105706T5 (de) | 2011-10-28 | 2014-07-10 | Hewlett-Packard Development Company, L.P. | Zeilenverschiebender verschiebbarer Speicher |
US8891297B2 (en) | 2011-11-01 | 2014-11-18 | Micron Technology, Inc. | Memory cell sensing |
US9830158B2 (en) | 2011-11-04 | 2017-11-28 | Nvidia Corporation | Speculative execution and rollback |
KR101321481B1 (ko) | 2011-11-04 | 2013-10-28 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이를 위한 테스트 회로 |
KR20130052971A (ko) | 2011-11-14 | 2013-05-23 | 삼성전자주식회사 | 비휘발성 메모리 장치의 동작 방법 |
WO2013078085A1 (en) | 2011-11-22 | 2013-05-30 | Mips Technologies, Inc. | Processor with kernel mode access to user space virtual addresses |
CN105955704B (zh) | 2011-11-30 | 2018-12-04 | 英特尔公司 | 用于提供向量横向比较功能的指令和逻辑 |
WO2013095338A1 (en) | 2011-12-19 | 2013-06-27 | Intel Corporation | Simd integer multiply-accumulate instruction for multi-precision arithmetic |
KR20130072869A (ko) | 2011-12-22 | 2013-07-02 | 에스케이하이닉스 주식회사 | 프리차지 회로 및 비휘발성 메모리 장치 |
US20140108480A1 (en) | 2011-12-22 | 2014-04-17 | Elmoustapha Ould-Ahmed-Vall | Apparatus and method for vector compute and accumulate |
US20130286705A1 (en) | 2012-04-26 | 2013-10-31 | David B. Grover | Low power content addressable memory hitline precharge and sensing circuit |
US20130332707A1 (en) | 2012-06-07 | 2013-12-12 | Intel Corporation | Speed up big-number multiplication using single instruction multiple data (simd) architectures |
KR102062301B1 (ko) | 2013-01-03 | 2020-01-03 | 삼성전자주식회사 | 메모리 장치의 페이지 복사 방법 및 메모리 시스템의 페이지 관리 방법 |
US20140215185A1 (en) | 2013-01-29 | 2014-07-31 | Atmel Norway | Fetching instructions of a loop routine |
US9158667B2 (en) | 2013-03-04 | 2015-10-13 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9424031B2 (en) | 2013-03-13 | 2016-08-23 | Intel Corporation | Techniques for enabling bit-parallel wide string matching with a SIMD register |
US8964496B2 (en) | 2013-07-26 | 2015-02-24 | Micron Technology, Inc. | Apparatuses and methods for performing compare operations using sensing circuitry |
US8971124B1 (en) | 2013-08-08 | 2015-03-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9153305B2 (en) | 2013-08-30 | 2015-10-06 | Micron Technology, Inc. | Independently addressable memory array address spaces |
US9019785B2 (en) * | 2013-09-19 | 2015-04-28 | Micron Technology, Inc. | Data shifting via a number of isolation devices |
US9639458B2 (en) | 2013-09-26 | 2017-05-02 | Emu Solutions, Inc. | Reducing memory accesses for enhanced in-memory parallel operations |
US9430191B2 (en) | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
WO2015171914A1 (en) | 2014-05-08 | 2015-11-12 | Micron Technology, Inc. | Hybrid memory cube system interconnect directory-based cache coherence methodology |
EP3140749B1 (en) | 2014-05-08 | 2021-01-13 | Micron Technology, INC. | In-memory lightweight coherency |
US9589646B2 (en) * | 2014-11-26 | 2017-03-07 | Macronix International Co., Ltd. | Page buffer circuit having bias voltage application unit and operating method of same |
-
2016
- 2016-03-03 US US15/060,222 patent/US9741399B2/en active Active
- 2016-03-08 WO PCT/US2016/021359 patent/WO2016144951A1/en active Application Filing
- 2016-03-08 CN CN201680012924.0A patent/CN107430877B/zh active Active
- 2016-03-11 TW TW105107657A patent/TWI602191B/zh active
-
2017
- 2017-03-13 US US15/457,339 patent/US9928887B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5430687A (en) * | 1994-04-01 | 1995-07-04 | Xilinx, Inc. | Programmable logic device including a parallel input device for loading memory cells |
US7058880B1 (en) * | 2001-12-26 | 2006-06-06 | Altera Corporation | Techniques for programming and verifying data in a programmable circuit |
US7457188B2 (en) * | 2005-07-15 | 2008-11-25 | Samsung Electronics Co., Ltd. | Semiconductor memory device having connected bit lines and data shift method thereof |
US20130326154A1 (en) * | 2012-05-31 | 2013-12-05 | Samsung Electronics Co., Ltd. | Cache system optimized for cache miss detection |
US20140344934A1 (en) * | 2013-05-17 | 2014-11-20 | Hewlett-Packard Development Company, L.P. | Bloom filter with memory element |
Also Published As
Publication number | Publication date |
---|---|
CN107430877A (zh) | 2017-12-01 |
US20160267951A1 (en) | 2016-09-15 |
TW201703033A (zh) | 2017-01-16 |
WO2016144951A1 (en) | 2016-09-15 |
US9741399B2 (en) | 2017-08-22 |
US9928887B2 (en) | 2018-03-27 |
US20170186468A1 (en) | 2017-06-29 |
CN107430877B (zh) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI602191B (zh) | 藉由記憶體中向量之元素之資料移位 | |
TWI576761B (zh) | 記憶體中之乘法運算 | |
TWI615850B (zh) | 判定記憶體中最長元素長度 | |
TWI575449B (zh) | 用於比較多個元素之裝置及方法 | |
TWI601149B (zh) | 用於執行乘法運算之方法及裝置 | |
TWI596619B (zh) | 記憶體中之比較運算 | |
TWI623941B (zh) | 操作系統之方法、記憶體系統及記憶體裝置 | |
TWI609264B (zh) | 記憶體中之除法運算 | |
TWI570741B (zh) | 使用感測電路執行邏輯操作之裝置及方法 | |
US9898253B2 (en) | Division operations on variable length elements in memory | |
US11061671B2 (en) | Apparatus and methods related to microcode instructions indicating instruction types | |
TWI570715B (zh) | 記憶體中之比較操作 | |
TWI576853B (zh) | 使用感測電路執行邏輯操作 | |
TW201618103A (zh) | 使用感測電路執行邏輯操作 |