TWI575449B - 用於比較多個元素之裝置及方法 - Google Patents
用於比較多個元素之裝置及方法 Download PDFInfo
- Publication number
- TWI575449B TWI575449B TW104118411A TW104118411A TWI575449B TW I575449 B TWI575449 B TW I575449B TW 104118411 A TW104118411 A TW 104118411A TW 104118411 A TW104118411 A TW 104118411A TW I575449 B TWI575449 B TW I575449B
- Authority
- TW
- Taiwan
- Prior art keywords
- elements
- coupled
- bit
- operations
- stored
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 30
- 230000015654 memory Effects 0.000 claims description 305
- 239000013598 vector Substances 0.000 claims description 299
- 230000000295 complement effect Effects 0.000 claims description 81
- 238000010168 coupling process Methods 0.000 claims description 20
- 238000005859 coupling reaction Methods 0.000 claims description 20
- 230000008878 coupling Effects 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 10
- 210000004027 cell Anatomy 0.000 description 252
- 238000010586 diagram Methods 0.000 description 41
- 239000013641 positive control Substances 0.000 description 31
- 238000002955 isolation Methods 0.000 description 27
- 239000013642 negative control Substances 0.000 description 25
- 230000006870 function Effects 0.000 description 21
- 239000003990 capacitor Substances 0.000 description 15
- 230000000977 initiatory effect Effects 0.000 description 12
- 230000005284 excitation Effects 0.000 description 11
- 230000005693 optoelectronics Effects 0.000 description 8
- 239000013078 crystal Substances 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 238000003491 array Methods 0.000 description 5
- 230000002441 reversible effect Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005265 energy consumption Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 235000012431 wafers Nutrition 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000010899 nucleation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 210000001082 somatic cell Anatomy 0.000 description 1
- 125000006850 spacer group Chemical group 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/1201—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
- G06F15/785—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) with decentralized control, e.g. smart memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/30—Accessing single arrays
- G11C29/32—Serial access; Scan testing
-
- 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
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Static Random-Access Memory (AREA)
- Dram (AREA)
Description
本發明一般而言係關於半導體記憶體裝置及方法,且更特定而言係關於與在一記憶體中執行比較操作有關之裝置及方法。
記憶體器件通常經提供為電腦或其他電子系統中之內部半導體積體電路。存在包含揮發性及非揮發性記憶體之諸多不同類型之記憶體。揮發性記憶體可需要電力來維持其資料(例如,主機資料、錯誤資料等)且包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、同步動態隨機存取記憶體(SDRAM)及閘流體隨機存取記憶體(TRAM)以及其他。非揮發性記憶體可藉由在未供電時保持所儲存資料而提供持續資料且可包含NAND快閃記憶體、NOR快閃記憶體及電阻可變記憶體,諸如相變隨機存取記憶體(PCRAM)、電阻式隨機存取記憶體(RRAM)及磁阻式隨機存取記憶體(MRAM),諸如自旋力矩轉移隨機存取記憶體(STT RAM)以及其他。
電子系統通常包含可擷取及執行指令且將所執行指令之結果儲存至一適合位置之若干個處理資源(例如,一或多個處理器)。一處理器可包括(舉例而言)可執行指令以對資料(例如,一或多個運算元)執行諸如AND、OR、NOT、NAND、NOR及XOR邏輯操作之邏輯操作之若干個功能單元(例如,在本文中稱為功能單元電路(FUC)),諸如
算術邏輯單元(ALU)電路、浮動點單元(FPU)電路及/或一組合邏輯區塊。
在將指令提供至功能單元電路以用於執行中可涉及一電子系統中之若干個組件。可(例如)由諸如一控制器及/或主機處理器之一處理資源產生該等指令。資料(例如,將對其執行指令以執行邏輯操作之運算元)可儲存於可由FUC存取之一記憶體陣列中。可自記憶體陣列擷取指令及/或資料且在FUC開始對資料執行指令之前對指令及/或資料進行定序及/或緩衝。此外,由於可透過FUC在一或多個時脈循環中執行不同類型之操作,因此亦可對操作及/或資料之中間結果進行定序及/或緩衝。
在諸多例項中,處理資源(例如,處理器及/或相關聯之FUC)可在記憶體陣列外部,且可存取資料(例如,經由處理資源與記憶體陣列之間的一匯流排以執行指令)。可經由一匯流排將資料自記憶體陣列移動至在記憶體陣列外部之暫存器。
100‧‧‧計算系統/系統
110‧‧‧主機
130‧‧‧記憶體陣列/陣列
140‧‧‧控制電路
142‧‧‧位址電路
144‧‧‧輸入/輸出電路
146‧‧‧列解碼器
148‧‧‧寫入電路
150‧‧‧感測電路/電路
152‧‧‧行解碼器
154‧‧‧控制匯流排
156‧‧‧輸入/輸出匯流排
202-1‧‧‧電晶體/存取電晶體/儲存元件/記憶體胞元/選定胞元
202-2‧‧‧電晶體/存取電晶體/儲存元件/記憶體胞元
203-1‧‧‧電容器
203-2‧‧‧電容器
204-X‧‧‧字線/存取線/列
204-Y‧‧‧字線/存取線/列
205-1‧‧‧資料線/感測線
205-2‧‧‧資料線/感測線
206‧‧‧感測放大器/經預種感測放大器
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‧‧‧移位電路
224‧‧‧電晶體
225-1‧‧‧電晶體
225-2‧‧‧電晶體
227-1‧‧‧n通道電晶體/電晶體
227-2‧‧‧n通道電晶體/電晶體
228‧‧‧作用中負控制信號/信號/RnIF負控制信號
229-1‧‧‧p通道電晶體/電晶體
229-2‧‧‧p通道電晶體/電晶體
230‧‧‧記憶體陣列/陣列
231‧‧‧計算組件/累加器
233-1‧‧‧鎖存器輸入
233-2‧‧‧鎖存器輸入
238‧‧‧平衡電壓
239-1‧‧‧電晶體
239-2‧‧‧電晶體
250‧‧‧感測電路
264‧‧‧靜態鎖存器/鎖存器/交叉耦合之鎖存器
265‧‧‧作用中正控制信號/ACT信號/信號/ACT正控制信號
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‧‧‧計算組件
431‧‧‧位元向量
470‧‧‧暫時儲存列/列
472‧‧‧向量自變數
476‧‧‧位元向量
478‧‧‧位元向量
480‧‧‧位元向量
482‧‧‧位元向量
484‧‧‧純量整數變數/純量整數
486‧‧‧純量整數變數/純量整數
488‧‧‧位元向量
490‧‧‧位元向量
492‧‧‧位元向量
494‧‧‧位元向量
496‧‧‧行
703‧‧‧信號
704-0‧‧‧列信號
705-1‧‧‧信號/資料電壓/資料線電壓信號
705-2‧‧‧信號/資料電壓/資料線電壓信號
711‧‧‧Passd控制信號/Passdb控制信號
712-1‧‧‧累加器正控制信號/累加器控制信號/控制信號
712-2‧‧‧累加器正控制信號/累加器控制信號/控制信號
726‧‧‧平衡信號
728‧‧‧負控制信號/感測放大器控制信號
765‧‧‧正控制信號/感測放大器控制信號
803‧‧‧信號
804-1‧‧‧信號/列信號
805-1‧‧‧信號
805-2‧‧‧電壓信號
811-1‧‧‧控制信號/Passd信號
826‧‧‧平衡信號
828‧‧‧負控制信號
865‧‧‧正控制信號
904-1‧‧‧信號
905-1‧‧‧信號
905-2‧‧‧電壓信號
911-2‧‧‧控制信號/Passdb信號
926‧‧‧平衡信號
965‧‧‧正控制信號
1004‧‧‧列啟動信號
1005-1‧‧‧互補資料線
1005-2‧‧‧互補資料線
1011‧‧‧Passd控制信號
1026‧‧‧平衡信號/信號
1028‧‧‧負控制信號/信號
1065‧‧‧正控制信號/信號
1105-1‧‧‧互補感測線/真實感測線
1105-2‧‧‧互補感測線
1106‧‧‧感測放大器
1107-1‧‧‧通過閘極
1107-2‧‧‧通過閘極
1113-5‧‧‧邏輯操作選擇邏輯/邏輯
1131‧‧‧計算組件
1142‧‧‧交換閘極/交換電晶體
1150‧‧‧感測電路
1152‧‧‧邏輯選擇電晶體
1154‧‧‧邏輯選擇電晶體
1162‧‧‧邏輯選擇電晶體
1164‧‧‧邏輯選擇電晶體
1244‧‧‧行A
1245‧‧‧行B
1247‧‧‧列
1275‧‧‧連接路徑
1276‧‧‧列
1277‧‧‧列
1278‧‧‧列
1279‧‧‧列
1280‧‧‧標題
A‧‧‧計算組件
Accum‧‧‧正控制信號/信號/累加器控制信號
Accumb‧‧‧負控制信號/信號/累加器控制信號
ACT‧‧‧控制信號/作用中正控制信號/正控制信號/信號/信號電壓
AND‧‧‧控制信號
ANDinv‧‧‧控制信號
B‧‧‧感測放大器
D‧‧‧資料線/數位線
D_‧‧‧資料線/數位線
DIGIT(n-1)‧‧‧互補資料線/資料線
DIGIT(n-1)_‧‧‧互補資料線/資料線
DIGIT(n)‧‧‧互補資料線
DIGIT(n)_‧‧‧互補資料線
DIGIT(n+1)‧‧‧互補資料線/資料線
DIGIT(n+1)_‧‧‧互補資料線/資料線
EQ‧‧‧控制信號/平衡信號/信號
FF‧‧‧邏輯選擇控制信號
FT‧‧‧邏輯選擇控制信號
GND‧‧‧接地/全軌電壓/電壓
ISO‧‧‧信號/控制信號
LOAD‧‧‧控制信號
NORM‧‧‧控制信號
OR‧‧‧控制信號
ORinv‧‧‧控制信號
Passd‧‧‧信號/控制信號
Passdb‧‧‧信號/控制信號
PASS‧‧‧邏輯操作選擇邏輯信號/控制信號
PASS*‧‧‧邏輯操作選擇邏輯信號/控制信號
RnIF‧‧‧控制信號/作用中負控制信號/負控制信號
Row X‧‧‧資料值/第一資料值/感測放大器資料/信號/啟動信號
Row Y‧‧‧資料/資料值/第二資料值/啟動信號
S1‧‧‧節點/區域動態節點
S2‧‧‧節點/區域動態節點
SHIFT‧‧‧控制信號
t1‧‧‧時間
t2‧‧‧時間
t3‧‧‧時間
t4‧‧‧時間
t5‧‧‧時間
t6‧‧‧時間
t7‧‧‧時間
t8‧‧‧時間
t9‧‧‧時間
t10‧‧‧時間
t11‧‧‧時間
t12‧‧‧時間
t13‧‧‧時間
t14‧‧‧時間
TF‧‧‧信號/控制信號/邏輯選擇控制信號
TT‧‧‧信號/選擇信號/邏輯選擇控制信號
VDD‧‧‧全軌電壓/供應電壓/經啟動正控制信號電壓/電壓/導軌電壓
VDD/2‧‧‧平衡電壓
圖1係根據本發明之若干項實施例之呈包含一記憶體器件之一計算系統之形式之一裝置之一方塊圖。
圖2A圖解說明根據本發明之若干項實施例之一記憶體陣列之一部分之一示意圖。
圖2B圖解說明根據本發明之若干項實施例之一記憶體陣列之一部分之一示意圖。
圖3圖解說明根據本發明之若干項實施例之一記憶體陣列之一部分之一示意圖。
圖4A圖解說明根據本發明之若干項實施例展示處於與執行一比較操作相關聯之一特定階段之一陣列之記憶體胞元狀態之一表。
圖4B圖解說明根據本發明之若干項實施例展示處於與執行一比較操作相關聯之一特定階段之一陣列之記憶體胞元狀態之一表。
圖4C圖解說明根據本發明之若干項實施例展示處於與執行一比較操作相關聯之一特定階段之一陣列之記憶體胞元狀態之一表。
圖5圖解說明根據本發明之若干項實施例之與使用感測電路執行若干個邏輯操作相關聯之一時序圖。
圖6圖解說明根據本發明之若干項實施例之與使用感測電路執行若干個邏輯操作相關聯之一時序圖。
圖7圖解說明根據本發明之若干項實施例之與使用感測電路執行若干個邏輯操作相關聯之一時序圖。
圖8圖解說明根據本發明之若干項實施例之與使用感測電路執行若干個邏輯操作相關聯之一時序圖。
圖9圖解說明根據本發明之若干項實施例之與使用感測電路執行若干個邏輯操作相關聯之一時序圖。
圖10圖解說明根據本發明之若干項實施例之與使用感測電路執行若干個邏輯操作相關聯之一時序圖。
圖11係圖解說明根據本發明之若干項實施例之具有可選擇邏輯操作選擇邏輯之感測電路之一示意圖。
圖12係圖解說明根據本發明之若干項實施例之由一感測電路實施之可選擇邏輯操作結果之一邏輯表。
本發明包含與在一記憶體中執行比較操作有關之裝置及方法。如本文中所使用,一比較操作包含比較向量。可對一第一元素(例如,第一向量)及一第二元素(例如,第二向量)執行一比較操作。一元素可儲存於耦合至一存取線之一記憶體胞元群組中。舉例而言,耦合至一第一存取線之一第一記憶體胞元群組可經組態以儲存一第一元素。耦合至一第二存取線之一第二記憶體胞元群組可經組態以儲存一
第二元素。該比較操作可藉由在不經由一輸入/輸出(I/O)線傳送資料之情況下執行若干個AND操作、OR操作、SHIFT操作及INVERT操作而比較該第一元素與該第二元素。
如本文中所使用,一第一元素及一第二元素可係彼此經比較(例如,相比較)之數值。亦即,可比較一第一值與一第二值及/或可比較該第二值與該第一值。一比較操作可用於判定該第一值是否大於該第二值、該第二值是否大於該第一值及/或該第一值是否等於該第二值。
在若干項實例中,一元素可表示可由一位元向量表示之一物件及/或其他建構。作為一實例,可執行一比較操作以藉由比較表示物件之位元向量而比較該等各別物件。
本發明之若干項實施例可提供在執行若干個比較操作(例如,比較函數)中涉及之計算數目及時間相對於先前方法之一減少。例如,在輸送量上,可由於並行(例如,同時)執行該若干個比較操作之各種部分之一能力而減少該計算數目及/或該時間。與先前方法相比較,執行如本文中所闡述之若干個比較操作亦可減少電力消耗。根據若干項實施例,可在不經由一匯流排(例如,資料匯流排、位址匯流排、控制匯流排等)將資料傳送出記憶體陣列及/或感測電路之情況下對元素(例如,儲存於一陣列中之呈位元向量之形式之資料)執行一比較操作,此可減少將資料傳送至一主機以便執行比較操作所需要之時間及/或電力。而且,來自比較操作之結果可格式化為兩個位元向量。該兩個位元向量可併入有大於及小於結果。該兩個位元向量可以遮罩之形式提供至其他單指令多資料(SIMD)操作(例如,位元向量劃分)及/或進階型樣搜索應用。一比較操作可涉及執行若干個邏輯操作(例如,AND操作、OR操作、SHIFT操作、INVERT操作及BLOCKOR操作等)。然而,實施例並不限於此等實例。如本文中所使用,SIMD操
作經定義為對多個元素並行(例如,同時)執行一相同操作。
在各種先前方法中,可經由包括輸入/輸出(I/O)線之一匯流排將待比較之元素(例如,一第一資料值及一第二資料值)自陣列及感測電路傳送至若干個暫存器。可由諸如一處理器、微處理器及/或計算引擎之一處理資源使用該若干個暫存器,該處理資源可包括ALU電路及/或經組態以執行適當邏輯操作之其他功能單元電路。然而,通常可由ALU電路執行僅一單個比較函數,且經由一匯流排將資料自暫存器傳送至記憶體/自記憶體傳送至暫存器可涉及顯著電力消耗及時間要求。即使處理資源位於與記憶體陣列相同之一晶片上,在將資料自陣列移出至計算電路(例如,ALU)中亦可消耗顯著電力,將資料自陣列移出至計算電路(例如,ALU)可涉及(例如)執行一感測線位址存取(例如,激發一行解碼信號)以便將資料自感測線傳送至I/O線上、將資料移動至陣列周邊及將資料提供至與執行一比較操作相關聯之一暫存器。
在本發明之以下詳細說明中,參考形成本文一部分且其中以圖解說明方式展示可如何實踐本發明之一或多項實施例之附圖。充分詳細地闡述此等實施例以使熟習此項技術者能夠實踐本發明之實施例,且應理解,可利用其他實施例且可做出程序、電及/或結構改變,而不背離本發明之範疇。如本文中所使用,特定而言關於圖式中之參考編號之標識符「F」、「M」、「N」、「P」、「R」、「S」、「U」、「V」、「X」及「W」指示可包含如此指定之若干個特定特徵。如本文中所使用,「若干個」一特定事物可係指此類事物中之一或多者(例如,若干個記憶體陣列可係指一或多個記憶體陣列)。
本文中之圖遵循其中第一個數字或前幾個數字對應於圖式之圖編號且剩餘數字識別圖式中之一元件或組件之一編號慣例。不同圖之間的類似元件或組件可藉由使用類似數字來識別。舉例而言,130在
圖1中可指代元件「30」,且在圖2中一類似元件可指代為230。如將瞭解,可添加、更換及/或消除本文中之各種實施例中所展示之元件以便提供本發明之若干個額外實施例。另外,如將瞭解,圖中所提供之元件之比例及相對標度意欲圖解說明本發明之某些實施例且不應視為具一限制性意義。
圖1係根據本發明之若干項實施例之呈包含一記憶體器件120之一計算系統100之形式之一裝置之一方塊圖。如本文中所使用,亦可將一記憶體器件120、一記憶體陣列130及/或感測電路150單獨視為一「裝置」。
系統100包含耦合至包含一記憶體陣列130之記憶體器件120之一主機110。主機110可係一主機系統,諸如一個人膝上型電腦、一桌上型電腦、一數位相機、一移動電話或一記憶卡讀取器以及各種其他類型之主機。主機110可包含一系統母板及/或底板且可包含若干個處理資源(例如,一或多個處理器、微處理器或某一其他類型之控制電路)。系統100可包含單獨積體電路,或主機110及記憶體器件120兩者可在相同積體電路上。系統100可係(例如)一伺服器系統及/或一高效能計算(HPC)系統及/或其一部分。儘管圖1中所展示之實例圖解說明具有一範紐曼型架構之一系統,但可以非範紐曼型架構(例如,一杜林機)實施本發明之實施例,非範紐曼型架構可不包含通常與一範紐曼型架構相關聯之一或多個組件(例如,CPU、ALU等)。
為了清晰起見,系統100已經簡化以集中於與本發明具有特定相關性之特徵。記憶體陣列130可係(例如)一DRAM陣列、SRAM陣列、STT RAM陣列、PCRAM陣列、TRAM陣列、RRAM陣列、NAND快閃陣列及/或NOR快閃陣列。陣列130可包括配置成由存取線(其可在本文中稱為字線或選擇線)耦合之列及由感測線(其可在本文中稱為數位線或資料線)耦合之行之記憶體胞元。儘管圖1中展示一單個陣列
130,但實施例並不如此受限制。例如,記憶體器件120可包含若干個陣列130(例如,若干個DRAM胞元庫)。與圖2相關聯地闡述一實例性DRAM陣列。
記憶體器件120包含位址電路142以鎖存透過I/O電路144經由一I/O匯流排156(例如,一資料匯流排)提供之位址信號。由一列解碼器146及一行解碼器152接收並解碼位址信號以存取記憶體陣列130。可藉由使用感測電路150感測感測線上之電壓及/或電流改變而自記憶體陣列130讀取資料。感測電路150可自記憶體陣列130讀取且鎖存一頁(例如,列)資料。I/O電路144可用於經由I/O匯流排156與主機110進行雙向資料通信。寫入電路148用於將資料寫入至記憶體陣列130。
控制電路140解碼藉由控制匯流排154自主機110提供之信號。此等信號可包含用於控制對記憶體陣列130執行之操作(包含資料讀取、資料寫入及資料抹除操作)之晶片啟用信號、寫入啟用信號及位址鎖存信號。在各種實施例中,控制電路140負責執行來自主機110之指令。控制電路140可係一狀態機、一定序器或某一其他類型之控制器。
下文與圖2相關聯地進一步闡述感測電路150之一實例。例如,在若干項實施例中,感測電路150可包括若干個感測放大器及若干個計算組件,該若干個計算組件可包括一累加器且可用於執行邏輯操作(例如,對與互補感測線相關聯之資料)。在若干項實施例中,感測電路(例如,150)可用於使用儲存於陣列130中之資料作為輸入來執行比較操作且在不經由一感測線位址存取傳送之情況下(例如,在不激發一行解碼信號之情況下)將比較操作之結果往回儲存至陣列130。如此,不是及/或除由在感測電路150外部之處理資源(例如,由與主機110相關聯之一處理器及/或位於器件120上(例如,控制電路140上或別處)之其他處理電路,諸如ALU電路)執行一比較函數之外,可使用
感測電路150執行該比較函數。
在各種先前方法中,(例如)將經由感測電路自記憶體讀取與一比較操作相關聯之資料且將該資料提供至一外部ALU。外部ALU電路將使用元素(其可稱為運算元或輸入)執行比較函數且可經由區域I/O線將結果傳送回至陣列。相比之下,在本發明之若干項實施例中,感測電路(例如,150)經組態以對儲存於記憶體陣列130中之記憶體胞元中之資料執行一比較操作且在不啟用耦合至感測電路之一區域I/O線之情況下將結果往回儲存至陣列130。
如此,在若干項實施例中,可不需要在陣列130及感測電路150外部之暫存器及/或一ALU執行比較函數,此乃因感測電路150可使用記憶體陣列130之位址空間執行在執行比較函數中涉及之適當計算。另外,可在不使用一外部處理資源之情況下執行比較函數。
圖2A圖解說明根據本發明之若干項實施例之包含感測電路250之一記憶體陣列230之一部分之一示意圖。在圖2A中,一記憶體胞元包括一儲存元件(例如,電容器)及一存取器件(例如,電晶體)。例如,電晶體202-1及電容器203-1構成一記憶體胞元,且電晶體202-2及電容器203-2構成一記憶體胞元等。在此實例中,記憶體陣列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-1之一第一源極/汲極區域可耦合至資料線205-1(D),電晶體202-1之一第二源極/汲極區域可耦合至電容器203-1,且一電晶體202-1之一閘極可耦合至字線204-Y。一電晶體202-2之一第一源極/汲極區域可耦合至資料線205-2(D_),電晶體202-2之一第二源極/汲極區域可耦合至電容器203-2,且一電晶體202-2之一閘極可耦合至字線204-X。如圖2A中所展示之胞元板可耦合至電容器203-1及203-2中之每一者。胞元板可係可在各種記憶體陣列組態中將一參考電壓(例如,接地)施加至其之一共同節點。
根據本發明之若干項實施例,記憶體陣列230耦合至感測電路250。在此實例中,感測電路250包括對應於各別記憶體胞元行(例如,耦合至各別互補資料線對)之一感測放大器206及一計算組件231。感測放大器206可包括可在本文中稱為一初級鎖存器之一交叉耦合之鎖存器。舉例而言,感測放大器206可組態為關於圖2B所闡述。
在圖2A中所圖解說明之實例中,對應於計算組件231之電路包括一靜態鎖存器264及除其他之外亦實施一動態鎖存器之額外十個電晶體。計算組件231之動態鎖存器及/或靜態鎖存器可在本文中共同稱為可用作一累加器之一次級鎖存器。如此,計算組件231可操作為及/或在本文中稱為一累加器。計算組件231可耦合至如圖2A中所展示之資料線D 205-1及D_ 205-2中之每一者。然而,實施例並不限於此實例。舉例而言,計算組件231之電晶體可全部係n通道電晶體(例如,NMOS電晶體)。
在此實例中,資料線D 205-1可耦合至電晶體216-1及239-1之一第一源極/汲極區域以及負載/通過電晶體218-1之一第一源極/汲極區域。資料線D_ 205-2可耦合至電晶體216-2及239-2之一第一源極/汲極
區域以及負載/通過電晶體218-2之一第一源極/汲極區域。
負載/通過電晶體218-1及218-2之閘極可共同耦合至一LOAD控制信號或分別耦合至一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中之每一者之一第二源極/汲極區域可共同一起耦合至一參考電壓線291(例如,接地(GND))。下拉電晶體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之組態具有當下拉電晶體207-1、207-2、214-1及214-2在激發感測放大器206之前(例如,在感測放大器
206之預種(pre-seeding)期間)導電時平衡感測放大器之功能性之益處。如本文中所使用,激發感測放大器206係指啟用感測放大器206以設定初級鎖存器及隨後停用感測放大器206以保持經設定初級鎖存器。在停用平衡(在感測放大器中)之後但在感測放大器激發之前執行邏輯操作可節省電力使用,此乃因感測放大器之鎖存器不必須使用全軌電壓(例如,VDD、GND)來「翻轉」。
反相電晶體可在執行某些邏輯操作中下拉一各別資料線。舉例而言,可操作與電晶體214-1(具有耦合至一ANDinv控制信號線213-1之一閘極)串聯之電晶體216-1(具有耦合至動態鎖存器之S2之一閘極)以下拉資料線205-1(D),且可操作與電晶體214-2(具有耦合至一ANDinv控制信號線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可係負載電晶體。啟動LOAD控制信號致使負載電晶體導電,且藉此將互補資料載入至節點S1及S2上。LOAD控制信號可升高至大於VDD之一電壓以將一全VDD位準傳遞至S1/S2。然而,LOAD控制信號不需要升高至大於VDD之一電壓係選用的,且圖2A中所展示之電路之功能性不隨LOAD控制信號升高至大於VDD之一電壓而定。
根據某些實施例,負載/通過電晶體218-1之閘極可耦合至一
PASSD控制信號,且負載/通過電晶體218-2之閘極可耦合至一PASSDb控制信號。在其中電晶體218-1及218-2之閘極分別耦合至PASSD及PASSDb控制信號中之一者之組態中,電晶體218-1及218-2可係通過電晶體。可以不同於負載電晶體之方式(例如,在不同時間處及/或在不同電壓/電流條件下)操作通過電晶體。如此,通過電晶體之組態可不同於負載電晶體之組態。
舉例而言,負載電晶體經構造以處置與將資料線耦合至區域動態節點S1及S2相關聯之負載。通過電晶體經構造以處置與將資料線耦合至一毗鄰累加器(例如,透過移位電路223,如圖2A中所展示)相關聯之較重負載。根據某些實施例,負載/通過電晶體218-1及218-2可經組態以適應對應於一通過電晶體之較重負載但經耦合及操作為一負載電晶體。經組態為通過電晶體之負載/通過電晶體218-1及218-2亦可用作負載電晶體。然而,經組態為負載電晶體之負載/通過電晶體218-1及218-2可不能夠用作通過電晶體。
在若干項實施例中,包含鎖存器264之計算組件231可包括按間距與其所耦合的一陣列(例如,圖2A中所展示之陣列230)之對應記憶體胞元之電晶體一起形成之若干個電晶體,該若干個電晶體可符合一特定特徵大小(例如,4F2、6F2等)。根據各種實施例,鎖存器264包含透過負載/通過電晶體218-1及218-2耦合至一對互補資料線D 205-1及D_ 205-2之四個電晶體208-1、208-2、209-1及209-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)或經啟動負控制信號電壓(例如,接地)中之另一者。
圖2B圖解說明根據本發明之若干項實施例之一記憶體陣列之一部分之一示意圖。根據各種實施例,感測放大器206可包括一交叉耦合之鎖存器。然而,感測放大器206之實施例不限於一交叉耦合之鎖存器。作為一實例,感測放大器206可係電流模式感測放大器及/或單
端感測放大器(例如,耦合至一個資料線之感測放大器)。而且,本發明之實施例不限於一摺疊式資料線架構。
在若干項實施例中,一感測放大器(例如,206)可包括按間距與其所耦合的對應計算組件231及/或一陣列(例如,圖2A中所展示之陣列230)之記憶體胞元之電晶體一起形成之若干個電晶體,該若干個電晶體可符合一特定特徵大小(例如,4F2、6F2等)。感測放大器206包括一鎖存器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(例如,累加器)可耦合至交叉耦合之鎖存器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亦可包含經組態以平衡資料線D與D_(例如,與使感測放大器準備用於一感測操作相關聯)之電路。在此實例中,平衡電路包括具有一第一源極/汲極區域之一電晶體224,該第一源極/汲極區域耦合至電晶體225-1之一第一源極/汲極區域及資料線D 205-1。電晶體224之一第二源極/汲極區域可耦合至電晶體225-2之一第一源極/汲極區域及資料線D_ 205-2。電晶體224之一閘極可耦合至電晶體225-1及225-2之閘極。
電晶體225-1及225-2之第二源極汲極區域耦合至可等於VDD/2之一平衡電壓238(例如,VDD/2),其中VDD係與陣列相關聯之一供應電壓。電晶體224、225-1及225-2之閘極可耦合至控制信號226(EQ)。如此,啟動EQ會啟用電晶體224、225-1及225-2,此有效地將資料線D短接至資料線D_,使得資料線D及D_經平衡至平衡電壓VDD/2。根據本發明之各種實施例,可使用感測放大器執行若干個邏輯操作,且將結果儲存於計算組件(例如,累加器)中。
如圖2A中所展示,感測放大器206及計算組件231可經由移位電路223耦合至陣列230。在此實例中,移位電路223包括一對隔離器件(例如,分別耦合至資料線205-1(D)及205-2(D_)之隔離電晶體221-1及221-2)。隔離電晶體221-1及221-2耦合至一控制信號222(NORM),控制信號222在啟動時啟用(例如,接通)隔離電晶體221-1及221-2以將對應感測放大器206及計算組件231耦合至一對應記憶體胞元行(例如,一對應互補資料線對205-1(D)及205-2(D_))。根據各種實施例,
隔離電晶體221-1及221-2之導電可稱為移位電路223之一「正常」組態。
在圖2A中所圖解說明之實例中,移位電路223包含耦合至一互補控制信號219(SHIFT)之另一(例如,一第二)對隔離器件(例如,隔離電晶體221-3及221-4),互補控制信號219可(舉例而言)在對NORM撤銷啟動時經啟動。可操作隔離電晶體221-3及221-4(例如,經由控制信號219),使得一特定感測放大器206及計算組件231耦合至一不同互補資料線對(例如,不同於隔離電晶體221-1及221-2將特定感測放大器206及計算組件231耦合至其之互補資料線對之一互補資料線對),或可將一特定感測放大器206及計算組件231耦合至另一記憶體陣列(且隔離特定感測放大器206及計算組件231與一第一記憶體陣列)。根據各種實施例,例如,移位電路223可配置為感測放大器206(例如,在其內)之一部分。
儘管圖2A中所展示之移位電路223包含用於將特定感測電路250(例如,一特定感測放大器206及對應計算組件231)耦合至一特定互補資料線對205-1(D)及205-2(D_)(例如,DIGIT(n)及DIGIT(n)_)之隔離電晶體221-1及221-2以及經配置以將特定感測電路250耦合至一個特定方向上之一毗鄰互補資料線對(例如,在圖2A中之右邊所展示之毗鄰資料線DIGIT(n+1)及DIGIT(n+1)_)之隔離電晶體221-3及221-4,但本發明之實施例並不如此受限制。例如,移位電路可包含用於將特定感測電路耦合至一特定互補資料線對(例如,DIGIT(n)及DIGIT(n)_)之隔離電晶體221-1及221-2以及經配置以便用於將特定感測電路耦合至另一特定方向上之一毗鄰互補資料線對(例如,在圖2A中之左邊所展示之毗鄰資料線DIGIT(n-1)及DIGIT(n-1)_)之隔離電晶體221-3及221-4。
本發明之實施例不限於圖2A中所展示之移位電路223之組態。在
若干項實施例中,例如,可與在不經由一I/O線(例如,區域I/O線(IO/IO_))將資料傳送出感測電路250之情況下執行諸如加法及減法函數之計算函數相關聯地操作(例如,連同感測放大器206及計算組件231)諸如圖2A中所展示之移位電路223。
儘管圖2A中未展示,但每一記憶體胞元行可耦合至一行解碼線,該行解碼線可經啟動以經由區域I/O線將來自一對應感測放大器206及/或計算組件231之一資料值傳送至在陣列外部之諸如一外部處理資源(例如,主機處理器及/或其他功能單元電路)之一控制組件。行解碼線可耦合至一行解碼器(例如,行解碼器)。然而,如本文中所闡述,在若干項實施例中,不需要經由此等I/O線傳送資料以執行根據本發明之實施例之邏輯操作。在若干項實施例中,例如,可連同感測放大器206及計算組件231操作移位電路223以在不將資料傳送至在陣列外部之一控制組件之情況下執行諸如加法及減法函數之計算函數。
可以數種模式(包含其中將邏輯操作之一結果最初儲存於感測放大器206中之一第一模式及其中將邏輯操作之一結果最初儲存於計算組件231中之一第二模式)操作感測電路250以執行邏輯操作。下文關於圖3及圖4闡述感測電路250以第一模式之操作,且下文關於圖7至圖10闡述感測電路250以第二模式之操作。另外關於第一操作模式,可以預感測(例如,在邏輯操作控制信號為作用中之前激發感測放大器)及後感測(例如,在邏輯操作控制信號為作用中之後激發感測放大器)模式兩者操作感測電路250,其中一邏輯操作之一結果最初儲存於感測放大器206中。
如下文進一步闡述,可連同計算組件231操作感測放大器206以使用來自一陣列之資料作為輸入來執行各種邏輯操作。在若干項實施例中,可在不經由一資料線位址存取傳送資料之情況下(例如,在不激發一行解碼信號,使得經由區域I/O線將資料傳送至在陣列及感測
電路外部之電路之情況下)將一邏輯操作之結果往回儲存至陣列。如此,本發明之若干項實施例可實現使用少於各種先前方法之電力執行邏輯操作及與其相關聯之計算函數。另外,由於若干項實施例消除對跨越I/O線傳送資料以便執行計算函數(例如,在記憶體與離散處理器之間)之需要,因此若干項實施例可實現與先前方法相比較經增加之一並行處理能力。
圖3圖解說明根據本發明之若干項實施例之一記憶體陣列330之一部分之一示意圖。陣列330包含耦合至存取線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之行之記憶體胞元303-0、303-1、303-3、303-4、303-5、303-6、303-7、303-8、...、303-J(例如,通常稱為記憶體胞元303)。記憶體陣列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)。感測放大器306經由存取器件(例如,電晶體)308-0、308-2、308-3、308-4、308-5、308-6、308-7、...、308-V耦合至輸入/輸出(I/O)線334(例如,一區域I/O線)。在此實例中,感測電路亦包括耦合至各別感測線之若干個計算組件331-0、331-2、331-3、331-4、331-5、331-6、331-7、...、331-X(例如,通常稱為計算組件331)。行解碼線310-0至310-W分別
耦合至電晶體308-0至308-V之閘極,且可選擇性地經啟動以將各別感測放大器306-0至306-U所感測及/或儲存於各別計算組件331-0至331-X中之資料傳送至一次級感測放大器312。在若干項實施例中,計算組件331可按間距與其對應行之記憶體胞元及/或與對應感測放大器306一起形成。
感測電路(例如,計算組件331及感測放大器306)經組態以執行根據本文中所闡述之若干項實施例之一比較操作。圖4A、圖4B及圖4C中給出之實例證明可如何使用儲存於陣列330中之資料作為輸入來執行一比較操作。實例涉及針對比較操作使用儲存於耦合至存取線304-0至304-R且共同耦合至感測線305-0至305-S之記憶體胞元中之元素(例如,具有邏輯「1」或邏輯「0」之位元)作為各別輸入。比較操作之結果可儲存於陣列330中及/或可傳送至陣列330之外部(例如,傳送至一主機之功能單元電路)。
圖4A、圖4B及圖4C圖解說明展示根據本發明之若干項實施例之處於與執行一比較操作相關聯之若干個特定階段之一陣列之記憶體胞元狀態之一表。表之行496提供用於表之列之參考編號(例如,1至8),且表中所展示之參考編號對應於下文所闡述之虛擬程式碼之各別參考編號。位元向量476(Row_Mask)、478(Row_LowAct)、480(Row_Retained)、482(Row_Object)、488(srca)、490(srcb)、492(dest)及494(dest+1)中之每一者之位元向量值在對應於參考編號1至6之各種比較操作階段儲存於陣列中。
位元向量476、478、480及482可儲存於可稱為暫時儲存列470(例如,儲存可在一比較操作之各種階段期間更新之資料之列)之耦合至特定存取線之各別記憶體胞元群組中。位元向量488、490、492及494可稱為向量自變數472。圖4A至圖4C亦指示儲存於陣列之計算組件(例如,圖3中所展示之331)中之一位元向量431(Comp_Comp)之位
元向量值。
純量整數變數484(destc)及486(destpc)可儲存於與圖1中之控制電路140相關聯之記憶體(例如,暫存器)中。在若干項實例中,destc 484及/或destpc 486亦可儲存於圖1中之陣列130中。
在圖4A、圖4B及圖4C中,以十六進制格式展示對應於列470及/或向量自變數472之位元向量之值,儘管可將在比較操作期間經操作之對應位元向量作為二進制位元型樣儲存於陣列中。舉例而言,一srca位元向量488(例如,[0000 0011,0000 1001,0000 0010,0000 1100]可以十六進制格式表示為[03,09,02,0c]。為了參考方便,以十六進制格式展示圖4A、圖4B及圖4C中所展示之值。
在本文中所使用之實例中,為了參考方便,位元向量值可包含逗點及/或空格。例如,以十六進制標記法表示為[03,09,02,0c]之一位元向量可對應於四個8位元寬之向量元素,其中四個元素由一各別逗點及空格分開。然而,相同位元向量可表示為[03 09 02 0c](例如,不具有逗點)及/或表示為[0309020c](例如,不具有逗點且不具有空格)。
在圖4A、圖4B及圖4C中,以粗體指示對儲存對應於Comp_Comp 431之位元向量之感測電路、儲存對應於暫時儲存列470之位元向量(例如,Row_Mask 476、Row_LowAct 478、Row_Retained 480及Row_Object 482)之記憶體胞元及儲存對應於向量自變數472之位元向量(例如,srca 488、srcb 490、dest 492及dest+1 494)之記憶體胞元之改變。舉例而言,在參考1處,以粗體展示srca 488、srcb 490、dest 492及dest+1 494,從而指示各別位元向量之值在參考編號所對應之一操作階段期間已改變。亦以粗體展示對destc 484及destpc 486之改變,從而指示對控制電路140中之記憶體之改變。
在圖4A、圖4B及圖4C中所展示之實例中,srca 488(例如,
[0309020c])及srcb 490(例如,[0705080c])中之每一者包括四個元素且與四個單獨比較操作相關聯。
舉例而言,在一第一比較操作中比較一第一元素對(例如,分別來自srca 488及srcb 490之03及07)中之元素。在一第二比較操作中比較一第二元素對中之元素(例如,分別來自srca 488及srcb 490之09及05)。在一第三比較操作中比較一第三元素對(例如,分別來自srca 488及srcb 490之02及08)中之元素,且在一第四比較操作中比較一第四元素對(例如,分別來自srca 488及srcb 490之0c及0c)中之元素。
儲存srca 488之一第一記憶體胞元群組可係耦合至一特定存取線(例如,圖3中之304-0)且耦合至若干個感測線(例如,圖3中之305-0至305-31)之胞元。儲存srcb 490之第二記憶體胞元群組可係耦合至一不同特定存取線(例如,圖3中之304-1)且耦合至若干個感測線(例如,圖3中之305-0至305-31)之胞元。
srca 488之四個元素可儲存於第一記憶體胞元群組中。舉例而言,srca 488之一第一元素(例如,03)可儲存於耦合至圖3中之存取線304-0及感測線305-0至305-7之記憶體胞元中,一第二元素(例如,09)可儲存於耦合至圖3中之存取線304-0及感測線305-8至305-15之記憶體胞元中,一第三元素(例如,02)可儲存於耦合至圖3中之存取線304-0及感測線305-16至305-23之記憶體胞元,且一第四元素(例如,0c)可儲存於耦合至圖3中之存取線304-0及感測線305-24至305-31之記憶體胞元中。
srcb 490之四個元素可儲存於第二記憶體胞元群組中。舉例而言,srcb 490之一第一元素(例如,07)可儲存於耦合至存取線304-1及感測線305-0至305-7之記憶體胞元中,一第二元素(例如,05)可儲存於耦合至存取線304-1及感測線305-8至305-15之記憶體胞元中,一第三元素(例如,08)可儲存於耦合至存取線304-1及感測線305-16至305-
23之記憶體胞元中,且一第四元素(例如,0c)可儲存於耦合至存取線304-1及感測線305-24至305-31之記憶體胞元中。
Row_Mask 476、Row_LowAct 478、Row_Retained 480及Row_Object 482包含儲存於複數個記憶體胞元群組中之位元向量。例如,Row_Mask 476、Row_LowAct 478、Row_Retained 480及Row_Object 482可儲存於耦合至各別存取線304-2至304-5且耦合至感測線305-0至305-31之記憶體胞元中。Destc 484及destpc 486包含用於比較操作中之純量整數。
在此實例中,scra 488中之第一元素具有可由具有8位元寬度之位元向量[0000 0011]表示之一個十進制值3。位元向量之特定位元可儲存於耦合至圖3中之存取線304-0且耦合至對應各別感測線305-0至305-7之胞元中(例如,位元向量之最高有效位元(MSB)可儲存於耦合至感測線305-0之列0胞元中,次低有效位元(LSB)可儲存於耦合至感測線305-1之列0胞元中,...,且LSB可儲存於耦合至感測線305-7之列0胞元中)。類似地,srcb 490中之第一元素具有可由位元向量[0000 0111]表示之一個十進制值7,且位元向量之特定位元可儲存於耦合至存取線304-1且耦合至對應各別感測線305-0至305-7之胞元中。如此,表示srca 488中之第一元素及srcb 490中之第一元素之8位元寬之位元向量之各別位元可儲存於耦合至各別相同感測線(例如,行)之胞元中。亦即,在此實例中,位元向量之MSB儲存於耦合至感測線305-0之胞元中,位元向量之次低有效位元儲存於耦合至感測線305-1之胞元等。為了簡單,忽略端模式位元組次序。相反,邏輯字大小中之位元總是呈具有在右邊之一最低有效位元至在左邊之一最高有效位元之連續順序。
然而,實施例並不限於此實例。例如,將根據本文中所闡述之實施例經比較之元素可由具有除8位元以外之一寬度之位元向量表
示。而且,複數個元素可由一特定位元向量表示。例如,一第一64位元寬之位元向量可表示各自由一16位元寬之位元向量表示之四個元素且可儲存於耦合至存取線304-0(且耦合至感測線305-0至305-63)之胞元中,且一第二64位元寬之位元向量可表示各自由一16位元寬之位元向量表示之四個元素且可儲存於耦合至存取線304-1(且耦合至感測線305-0至305-63)之胞元中。可根據本文中所闡述之實施例比較由第一64位元寬之位元向量表示之四個元素與由第二64位元寬之位元向量表示之各別四個元素。
在若干項實施例中,一比較操作之結果可儲存於一第三記憶體胞元群組中,該第三記憶體胞元群組可係耦合至若干個特定存取線(例如,圖3中之304-0至304-R)之胞元。該第三記憶體胞元群組可用於儲存指示比較操作之結果之一第一位元向量及/或一第二位元向量。亦即,儲存於第三記憶體胞元群組中之位元向量可指示srca 488中之第一元素是否大於srcb 490中之第一元素、srcb 490中之第一元素是否大於srca 488中之第一元素及/或srca 488中之第一元素是否等於srcb 490中之第一元素。第三記憶體胞元群組(舉例而言)可係耦合至一存取線304-7之胞元或耦合至存取線304-0及存取線304-1中之至少一者之胞元。亦即,第三記憶體胞元群組可係與第一記憶體胞元群組或第二記憶體胞元群組相同之一記憶體胞元群組。例如,在上文之8位元寬之位元向量實例中,第三記憶體胞元群組可係耦合至存取線304-0且耦合至感測線305-0至305-7之胞元及/或耦合至存取線304-1且耦合至感測線305-0至305-7之胞元。
第三記憶體胞元群組亦可包括耦合至一特定存取線之第一數目個記憶體胞元及耦合至一不同特定存取線之第二數目個記憶體胞元。第一數目個及第二數目個記憶體胞元可儲存一起指示比較操作之結果之兩個不同位元向量(例如,在一2位元水平向量列中)。舉例而言,
一第一結果位元向量可儲存於第一數目個記憶體胞元中且一第二結果位元向量可儲存於第二數目個記憶體胞元中。第一及第二結果位元向量之特定位元型樣可指示srca 488中之第一元素是否大於srcb 490中之第一元素、srcb 490中之第一元素是否大於srca 488中之第一元素及/或srca 488中之第一元素是否等於srcb 490中之第一元素。
例如,如下文進一步闡述,回應於srca 488中之第一元素大於srca 490中之第一元素,第一結果位元向量可係一第一位元型樣(例如,[1111 1111])且第二結果位元向量可係一第二位元型樣(例如,[0000 0000]),且回應於srcb 490中之第一元素大於srca 488中之第一元素,第一結果位元向量可係第二位元型樣(例如,[0000 0000])且第二結果位元向量可係第一位元型樣(例如,[1111 1111])。回應於srca 488中之第一元素與srcb 490中之第一元素相等,第一結果位元向量及第二結果位元向量可係相同位元型樣(例如,[0000 0000]或[1111 1111])。
作為一實例,第一結果位元向量可儲存於耦合至圖3中所展示之存取線304-2且耦合至感測線305-0至305-7之胞元中。第二結果位元向量可儲存於耦合至存取線304-3且耦合至感測線305-0至305-7之胞元中,例如。在若干項實例中,第一結果位元向量及/或第二結果位元向量可儲存於耦合至儲存經比較之第一及/或第二元素之胞元所耦合之一存取線的胞元中。例如,若一第一元素儲存於耦合至存取線304-0之一第一胞元群組中且一第二元素儲存於耦合至存取線304-1之一第二胞元群組中,則儲存第一及第二結果位元之一第三胞元群組可包括分別耦合至圖3中之存取線304-0及304-1之胞元。
應注意,一第一元素是否大於一第二元素之一判定可包含第一元素不小於第二元素之一判定,但不可識別第一元素是否等於第二元素。亦即,若第一元素不大於第二元素,則第二元素可大於第一元素
或第一元素可等於第二元素。
因此,一比較操作亦可包含第二元素是否大於第一元素之一判定,該判定可包含第二元素不小於第一元素之一判定。然而,第二元素不小於第一元素之一判定不可識別第二元素是否等於第一元素。
在若干項實例中,對一第一元素及一第二元素執行一比較操作可包含在不經由一輸入/輸出(I/O)線傳送資料之情況下執行若干個AND操作、OR操作、SHIFT操作及INVERT操作。可按間距與對應於各別互補感測線行之記憶體胞元一起使用感測電路來執行該若干個AND操作、OR操作、INVERT操作及SHIFT操作。
根據本發明之若干項實施例,以下虛擬程式碼表示可執行以在一記憶體中執行若干個比較操作之指令。使用參考編號1至8指代實例性虛擬程式碼,該等參考編號1至8對應於圖4A、圖4B及圖4C中所展示之表之行496中所展示之各別參考編號1至8。舉例而言,參考編號一(1)對應於虛擬程式碼中之「載入srca、srcb」,且參考編號三(3)對應於虛擬程式碼中之「獲得所有Temp列」。
1. 載入srca、srcb。
2. 針對向量長度判定子陣列中之元素計數。
3. 獲得所有Temp列。
4. 找到MSB且儲存於Comp_Comp、Row_Mask、Row_Retained中。
5. 藉由針對Comp_Comp中之每一長度以固定向量向右移位而找到MSB。
6. 向右移位固定長度且儲存於Row_Object中。
7. 針對每一向量元素:
7.a. 在啟用位元之情況下形成元素之完整Row_Mask。
7.b 使Row_Retained向右移位元素之固定長度。
7.c. 將srca載入於Comp_Comp中
7.d. 用srcb進行Comp_CompAND操作
7.e. 將Comp_Comp之反轉儲存於Row_LowAct中
7.f. 將Row_LowAct載入於Comp_Comp中
7.g. 用srca進行Comp_CompAND操作
7.h. 用Row_Mask進行Comp_CompAND操作
7.i. 用dest進行Comp_CompOR操作
7.j. 將Com_Comp儲存於dest中
7.k. 將Row_LowAct載入於Comp_Comp中
7.l. 用srcb進行Comp_CompAND操作
7.m. 用Row_Mask進行Comp_CompAND操作
7.n. 用dest+1進行Comp_CompOR操作
7.o. 將Comp_Comp儲存於dest+1中
7.p. 將dest載入於Comp_Comp中
7.q. 用Row_Mask進行Comp_CompAND操作
7.r. 將Comp_Comp儲存於Row_LowAct中
7.s. 針對向量固定寬度:
7.s.i. 用Row_Mask進行Comp_CompAND操作
7.s.ii. 將Comp_Comp儲存於Row_LowAct中
7.s.iii. 用Row_Object進行Comp_CompAND操作
7.s.iv. 將BLOCKOR操作之返回值儲存於純量整數destc中
7.s.v. 將Row_LowAct載入於Comp_Comp中
7.s.vi. 向右移位
7.t. 將dest+1載入於Comp_Comp中
7.u. 用Row_Mask進行Comp_CompAND操作
7.v. 將Comp_Comp儲存於Row_LowAct中
7.w. 針對向量固定寬度:
7.w.i. 用Row_Mask進行Comp_CompAND操作
7.w.ii. 將Comp_Comp儲存於Row_LowAct中
7.w.iii. 用Row_Object進行Comp_CompAND操作
7.w.iv. 將BLOCKOR操作之結果值儲存至純量整數destpc中
7.w.v. 將Row_LowAct載入於Comp_Comp中
7.w.vi. 向右移位
7.x. 若destc>destpc
7.x.i. 則用Row_Mask填充dest
7.x.ii. 用反轉Row_Mask填充dest+1
7.y. 否則若destpc>destc
7.y.i. 則用Row_Mask填充dest+1
7.y.ii. 用反轉Row_Mask填充dest
7.z. 否則
7.z.i. 用反轉Row_Mask填充dest及dest+1
8. 釋放所有Temp列且返回。
出於論述之目的,以上虛擬程式碼將劃分成一設置階段及一比較階段。由參考編號1至6指代之虛擬程式碼可對應於設置階段。在若干項實施例中,可針對所有比較操作同時執行設置階段。圖4A圖解說明在設置階段之後與執行一比較操作相關聯之若干個位元向量之值。
由參考編號7(例如,7.a至7.z.i)指代之虛擬程式碼可對應於比較階段。比較階段可進一步劃分成一判定階段及一結果階段。判定階段可對應於由參考編號7.a.至7.w.vi指代之虛擬程式碼。可執行判定階段以判定元素對中之每一者中之第一元素是否大於第二元素、元素對中之每一者中之第二元素是否大於第一元素及/或元素對中之每一者中
之第一元素是否等於第二元素。圖4B及圖4C中展示在執行一實例性比較階段期間若干個位元向量之值。
可執行對應於結果階段之虛擬程式碼以儲存比較操作之結果。結果階段可包括由參考編號7.x.至7.z.i指代之虛擬程式碼。在若干項實例中,可在不經由一I/O線(例如,I/O線334)傳送資料之情況下將比較操作之結果儲存於一陣列(例如,圖3中之陣列330)中。在若干項實例中,可將比較操作之結果傳送至除圖3中之陣列330以外之一位置。
比較階段可包含執行若干次操作反覆。舉例而言,對應於參考編號7之虛擬程式碼(例如,「針對每一向量元素:」)可表示與透過用於比較若干個向量元素對中之每一向量元素對之若干個邏輯操作反覆相關聯之一「For」迴圈。
可執行對應於參考編號7之一「For」迴圈之一第一反覆以比較一第一元素對之一第一元素與一第二元素,同時可執行「For」迴圈之後續反覆以比較額外元素對。在若干項實例中,可順序地執行對應於參考編號7之「For」迴圈之每一反覆。順序地執行「For」迴圈之每一反覆可包含在開始「For」迴圈之下一反覆之前結束「For」迴圈之每一反覆。
對應於參考編號1之虛擬程式碼(例如,「載入srca、srcb」)與將srca 488及srcb 490儲存至圖3中之陣列330中相關聯。如上文所闡述,srca 488及srcb 490可各自包含待比較之若干個元素。在參考編號1處,位元向量[0309020c]儲存於儲存srca 488之一記憶體胞元群組中,位元向量[0705080c]儲存於儲存srcb 490之一記憶體胞元群組中,位元向量[00000000]儲存於儲存dest 492及dest+1 494之複數個記憶體胞元群組中。在參考編號1處,純量整數0儲存於儲存destc 484及destpc 486之一暫存器中。
對應於參考編號2之虛擬程式碼(例如,「針對向量長度判定子陣
列中之元素計數」)與判定srca 488及srcb 490之元素計數相關聯。判定srca 488及srcb 490中之元素計數可包含判定待比較之元素對之數目。在參考編號2處,亦判定一向量長度。儘管圖4A中未展示,但元素計數及向量長度可儲存於儲存暫時資料之列470中。在圖4A、圖4B及圖4C中,元素計數係四且向量長度係八。向量長度係八(8),此乃因八個位元用於表示一元素位元向量中之每一元素。舉例而言,呈十六進制形式之03元素由具有八個位元之[0000 0011]位元向量表示。
作為一實例,可基於srca 488及srcb 490之寬度且基於元素寬度(例如,用於表示每一元素之位元之數目)而判定元素計數。假定srca 488及srcb 490各自係32位元寬之位元向量(例如,儲存於耦合至記憶體中之32個行之記憶體胞元中)且每一元素由八個位元表示,srca 488及srcb 490中之每一者包括四個元素(例如,32/8=4)。
在若干項實例中,用於表示每一元素之位元之數目(例如,元素寬度)可係由一主機及/或使用者提供之一參數,例如。而且,在若干項實施例中,srca 488及/或srcb 490之元素計數及/或對應於srca 488及srcb 490之向量寬度可由一主機及/或使用者提供為一參數。如此,在若干項實例中,可基於srca 488及srcb 490之向量寬度且基於元素計數而判定包括srca 488及/或srcb 490之位元向量之元素寬度。例如,假定一向量寬度為32個位元且一元素計數為4,元素寬度將係8個位元(例如,32/4=8)。
參考編號3處指代之虛擬程式碼(例如,獲得所有Temp列)對應於在一比較操作期間初始化供用作暫時儲存列之若干個記憶體胞元群組。亦即,該若干個記憶體胞元群組可係耦合至各別存取線之胞元群組(例如,列)且可用於暫時儲存與執行比較操作相關聯之資料(例如,作為暫時儲存器)。舉例而言,一第一記憶體胞元群組可儲存稱為「Row_Mask」之一位元向量,一第二記憶體胞元群組可儲存稱為
「Row_LowAct」之一位元向量,一第三記憶體胞元群組可儲存稱為「Row_Retained」之一位元向量,一第四記憶體胞元群組可儲存稱為「Row_Object」之一位元向量,一第五記憶體胞元群組可儲存稱為「destc」之一位元向量,且一第六記憶體胞元群組可儲存稱為「destpc」之一位元向量。實施例不限於特定數目個暫時儲存列。在若干項實例中,經比較之每一元素對(例如,一第一元素srca及一第一元素srcb)可與對應於儲存Row_Mask 476、Row_LowAct 478、Row_Retained 480、Row_Object 482、destc 484及/或destpc 486之列之不同數目個位元向量相關聯。在若干項實例中,對應於儲存暫時資料之列之位元向量儲存於耦合至與經比較之元素對相同之感測線之記憶體胞元中。
例如,Row_Mask 476可用於識別及/或隔離經比較之元素及/或對應於經比較之元素之位元向量之位元。Row_LowAct 478可用於識別將在比較操作中經比較之srca 488及srcb 490之元素。Row_Object 482可用於識別每一元素中之一最低有效位元。Destc 484及destpc 486可用於識別srca 488與srcb 490之差異(例如,各別位元位置具有不同二進制值)。
對應於暫時儲存列470之記憶體胞元群組可以促進對元素對執行比較操作之一方式定向於記憶體330內。舉例而言,各自儲存對應於各別暫時儲存列之位元向量之複數個記憶體胞元群組可耦合至圖3中之感測線305-0至305-31。該複數個記憶體胞元群組中之每一群組可耦合至一不同存取線(例如,具有耦合至其之不用於儲存對應於經比較之元素之位元向量之胞元的一存取線)。
起始Row_Mask 476、Row_LowAct 478、Row_Retained 480及Row_Object 482可包含將位元向量[00000000]儲存於儲存Row_Mask 476、Row_LowAct 478、Row_Retained 480及Row_Object 482之複數
個記憶體胞元群組中。
參考編號4處指代之虛擬程式碼(例如,「找出MSB且儲存於Comp_Comp、Row_Mask、Row_Retained中」)與判定srca 488及/或srcb 490中之最高有效位元(MSB)且儲存指示特定記憶體胞元群組中之MSB的一位元向量相關聯。指示最高有效位元之位元型樣可儲存(例如,作為一位元向量)於用於儲存Row_Mask 476之一記憶體胞元群組中且儲存於用於儲存Row_Retained 480之一記憶體胞元群組中。指示最高有效位元之位元型樣亦可儲存(例如,作為一經鎖存位元向量)於感測電路(例如,圖3中之計算組件331及/或感測放大器306)中。作為一實例,包括在一MSB位置中之一「1」及在剩餘位元位置中之所有「0」之一位元型樣可用於指示srca 488及/或srcb 490之MSB。舉例而言,若srca 488及/或srcb 490係32位元寬之位元向量且儲存於耦合至感測線305-0至305-31之記憶體胞元中,則32位元寬之二進制位元向量[1000 0000 0000 0000 0000 0000 0000 0000](例如,十六進制位元向量[80000000])可用作指示srca 488及/或srcb 490中之MSB之位元向量。在若干項實例中,圖3中之計算組件331-0至331-32可鎖存位元向量[1000 0000 0000 0000 0000 0000 0000 0000]之各別位元。舉例而言,計算組件331-0可鎖存一(1)位元而計算組件331-1至331-31可鎖存零(0)位元。
參考編號5處指代之虛擬程式碼(例如,藉由針對Comp_Comp中之每一長度以固定向量向右移位而找出MSB)與判定可指示對應於由srca 488及/或srcb 490表示之若干個元素中之每一者之一MSB的一位元向量相關聯。可藉由如下操作判定用於指示對應於該若干個元素之MSB之位元向量:對儲存於計算組件(例如,圖3中之331-0至331-31)及儲存Row_Object 482(例如,其對應位元可儲存於耦合至一特定暫時儲存列且耦合至各別感測線305-0至305-31之胞元中)之一記憶體胞
元群組中之位元向量執行若干個邏輯操作(例如,SHIFT操作及OR操作之若干次反覆)。SHIFT及OR反覆可產生一個二進制位元向量[1000 0000,1000 0000,1000 0000](例如,十六進制位元向量[80808080]),該二進制位元向量針對由srca 488及/或srcb 490表示之四個元素中之每一者包括在對應於MSB之位元位置處之一「1」。SHIFT操作可係向右SHIFT操作;然而,實施例不限於此實例。可對Comp_Comp 431執行SHIFT操作。可對Row_Object 482及Comp_Comp 431執行OR操作。SHIFT操作及OR操作之結果可儲存於儲存Row_Object 482之一記憶體胞元群組及計算組件(例如,圖3中之331-0至331-31)中。
參考編號6處指代之虛擬程式碼(例如,向右移位固定向量且儲存於Row_Object中)與判定可指示對應於由srca 488及/或srcb 490表示之若干個元素中之每一者之一LSB的一位元向量相關聯。可對Comp_Comp 431(例如,在參考編號5中執行之SHIFT及OR操作之結果)執行若干個SHIFT操作以識別對應於該若干個元素中之每一者之LSB。舉例而言,若一個二進制位元向量[1000 0000,1000 0000,1000 0000]識別srca 488及/或srcb 490中之每一元素之一最高有效位元,則位元向量[000 0001,0000 0001,0000 0001]可識別表示srca 488及/或srcb 490中之一元素之每一位元向量之最低有效位元。可藉由複數次執行一向右SHIFT操作(等於一向量長度)而識別srca 488位元向量及/或srcb 490中之每一元素之最低有效位元。十六進制位元向量[01010101]儲存於儲存Row_Object 482之一記憶體胞元群組中。位元向量[01010101]位元向量識別(例如,藉助一「1」)元素中之每一者中之最低有效位元。
圖4B圖解說明根據本發明之若干項實施例展示處於與執行一比較操作相關聯之一特定階段之一陣列之記憶體胞元狀態之一表。圖4B包含儲存包含Row_Mask 476、Row_LowAct 478、Row_Retained
480及Row_Object 482之暫時資料之列470,列470與圖4A中儲存暫時資料Row_Mask 476、Row_LowAct 478、Row_Retained 480及Row_Object 482之列470相似。圖4B包含與圖4A中之Comp_Comp 431相似之Comp_Comp 431。圖4B亦包含與圖4A中之向量自變數472相似之向量自變數472。向量自變數472可包含與圖4A中之向量自變數472(srca 488、srcb 490、dest 492及/或dest+1 494)相似之srca 488、srcb 490、dest 492及/或一dest+1位元向量494。圖4B包含與圖4A中之純量整數destc 484及destpc 486相似之純量整數destc 484及destpc 486。圖4B展示在一比較階段中執行之若干個指令之結果。
參考編號7處指代之虛擬程式碼(例如,針對每一向量元素)對應於經由參考編號7.a至7.z.i處指代之虛擬程式碼闡述之一「For」迴圈。如此,對應於參考編號7之「For」迴圈涉及執行若干次操作反覆。該若干次操作反覆中之每一操作反覆對應於經比較之一特定元素對。例如,與比較第一元素對相關聯地執行展示為虛擬程式碼7.a至7.z.i之一第一操作反覆,與比較第二元素對相關聯地執行展示為虛擬程式碼7.a至7.z.i之一第二操作反覆等。
在參考編號7.a(例如,在啟用位元之情況下形成元素之完整Row_Mask)處,形成一完整列遮罩。一完整列遮罩定義為包含用於一特定元素及/或複數個特定元素之一特殊位元型樣之一遮罩。該特殊位元型樣可包含所有一(例如,「1」)或所有(例如,「0」)。舉例而言,在與參考編號7.a相關聯之「For」迴圈之一第一反覆(例如,對應於一第一元素對之一反覆)期間,一個二進制位元向量[1111 1111,0000 0000,0000 0000](例如,一個十六進制位元向量[ff000000])形成且儲存於儲存Row_Mask 476之一記憶體胞元群組中。Row_Mask 476可用於在一比較操作期間隔離srca 488及/或srcb 490中之一元素。位元向量[ff000000]亦可識別:一當前比較操作比較來自srca 488之一第
一元素與來自srcb 490之一第一元素。可經由對Row_Mask 476執行之複數個SHIFT操作及對Comp_Comp 431及Row_Mask 476執行之複數個OR操作形成完整列遮罩。
在參考編號7.b(例如,使Row_Retained向右移位元素之固定長度)處,Row_Retained 480儲存於圖3中之計算組件331之一群組中(例如,讀取Row_Retained位元向量)。亦即,Comp_Comp 431可等於Row_Retained 480。可對Comp_Comp 431執行一SHIFT操作以識別將經比較之來自srca 488及srcb 490之下一元素對。舉例而言,可對Row_Retained(例如,二進制位元向量[1000 0000,0000 0000,0000 0000,0000 0000])執行一向右SHIFT操作,此識別將比較來自srca 488及srcb 490之一第一元素對。向右SHIFT操作之結果(例如,十六進制位元向量[00800000])可儲存於儲存Row_Retained 480之一第三暫時記憶體胞元群組中。
在參考編號7.c(例如,將srca載入於Comp_Comp中)處,srca 488可儲存於感測電路中。舉例而言,srca 488(例如,一個十六進制位元向量[0309020c])可儲存於圖3中之計算組件331及/或感測放大器306中。
在參考編號7.d(例如,用srcb進行Comp_CompAND操作)處,可對儲存於耦合至存取線304-1之一記憶體胞元群組中之Comp_Comp 431及srcb 490執行一AND操作。可執行AND操作以識別Comp_Comp 431(例如,srca 488)與srcb 490之間的具有等於一(1)之一值之共同位元。AND操作之結果(例如,一個十六進制位元向量[0301000c])可儲存於感測電路(例如,計算組件331及/或感測放大器306)中。
在參考編號7.e(例如,將Comp_Comp之反轉儲存於Row_LowAct中)處,可對Comp_Comp 431(例如,係先前AND操作之結果之十六進制位元向量[0301000c])執行一INVERT操作以識別未在srca 488與
srcb 490之間共用之位元。INVERT操作之結果(例如,位元向量[fcfefff3])可儲存於儲存Row_LowAct 478之記憶體胞元群組中。
在參考編號7.f(例如,將Row_LowAct載入於Comp_Comp中)處,Row_LowAct 478(例如,一位元向量[fcfefff3])儲存於感測電路中。在參考編號7.g(例如,用srca進行Comp_CompAND操作)處,對Comp_Comp 431(例如,Row_LowAct 478)及srca 488執行一AND操作。可對Comp_Comp 431(例如,一位元向量[fcfefff3])及srca 488(例如,一位元向量[0309020c])執行AND操作以識別srca 488中之具有一(1)之一值之位元及srcb 490中之具有零(0)之一值之相關聯位元之索引。AND操作之結果(例如,一位元向量[00080200])儲存於感測電路中。結果識別:srca 488中之一第二元素中之具有等於四(4)之一索引(例如,假定一第一索引識別一最低有效位元)之一位元具有一(1)值且srcb 490中之一相關聯元素中之具有等於四(4)之一索引之一位元具有零(0)值。結果亦識別:srca 488中之一第三元素中之具有等於二(2)之一索引(例如,假定一第一索引識別一最低有效位元)之一位元具有一(1)值且srcb 490中之一相關聯元素中之具有等於二(2)之一索引之一位元具有零(0)值。AND邏輯操作之結果可儲存於感測電路中。
在參考編號7.h(例如,用Row_Mask進行Comp_CompAND操作)處,對Comp_Comp 431(例如,一個十六進制位元向量[00080200])且對Row_Mask 476(例如,一位元向量[ff000000])執行一AND操作以隔離與一當前比較操作相關聯之經識別索引。AND操作之結果(例如,一位元向量[00000000]位元向量)可儲存於感測電路中。
在參考編號7.i(例如,用dest進行Comp_CompOR操作)處,對Comp_Comp 431(例如,一個十六進制位元向量[00000000])及dest 492(例如,一位元向量[00000000])執行一OR操作。OR操作之結果(例如,一位元向量[00000000])儲存於感測電路中。在參考編號7.j
(例如,將Comp_Comp儲存於dest中)處,Comp_Comp 431(例如,一位元向量[00000000])儲存於儲存dest 492之一記憶體胞元群組中。
在參考編號7.k(例如,將Row_LowAct載入於Comp_Comp中)處,Row_LowAct 478(例如,一位元向量[fcfefff3])儲存於感測電路中。在參考編號7.l(例如,用srcb進行Comp_CompAND操作)處,對一Comp_Comp 431(例如,一位元向量[fcfefff3])且對srcb 490(例如,一位元向量[0705080c])執行一AND操作。執行AND操作以識別srcb 490中之具有一(1)之一值之位元及srca 488中之具有零(0)之一值之相關聯位元之索引。結果(例如,一位元向量[04040800])儲存於感測電路中。
在參考編號7.m(例如,用Row_Mask進行Comp_CompAND操作)處,對Comp_Comp 431(例如,一位元向量[04040800])且對Row_Mask 476(例如,一位元向量[ff000000])執行一AND操作以隔離與一當前比較操作相關聯之經識別索引。結果(例如,一位元向量[04000000])儲存於感測電路中。在參考編號7.n(例如,用dest+1進行Comp_CompOR操作)處,對Comp_Comp 431(例如,一位元向量[04000000])及dest+1 494(例如,一位元向量[00000000])執行一OR操作。在參考編號7.o(例如,將Comp_Comp儲存於dest+1中)處,OR操作之結果(例如,一位元向量[04000000])儲存於儲存dest+1 494之記憶體胞元群組中。
在參考編號7.p(例如,將dest載入於Comp_Comp中)處,dest 492(例如,一位元向量[00000000])儲存於感測電路中。在參考編號7.q(例如,用Row_Mask進行Comp_CompAND操作)處,對Comp_Comp 431(例如,一位元向量[00000000])及Row_Mask 476(例如,一位元向量[FF000000])執行一AND操作以隔離與當前比較操作相關聯之Comp_Comp 431中之位元。AND操作之結果儲存於感測電路中。在
參考編號7.r(例如,將Comp_Comp儲存於Row_LowAct中)處,Comp_Comp 431(例如,一位元向量[00000000])儲存於儲存Row_LowAct 478之記憶體胞元群組中。
在參考編號7.s(針對向量固定寬度)處,執行一「For」迴圈。「For」迴圈透過與一元素寬度相關聯之索引反覆。針對每一索引執行若干個操作(例如,與參考編號7.s.i.至7.s.vi.相關聯之操作)。「For」迴圈透過與一元素寬度相關聯之索引反覆。舉例而言,若一元素由具有八個位元(例如,元素寬度)之一位元向量表示,則「For」迴圈可反覆八次,每一反覆使索引遞增一。在「For」迴圈之一第一反覆期間,一索引將具有一(1)之一值,在「For」迴圈之一第二反覆期間一索引將具有二(2)之一值,...,且在「For」循環之一第八反覆期間一索引將具有八(8)之一值。「For」迴圈將在第八反覆之後結束(例如,打破)。
在參考編號7.s.i(例如,用Row_Mask進行Comp_CompAND操作)處,對Comp_Comp(例如,一位元向量[00000000])及Row_Mask 476(例如,一位元向量[ff000000])執行一AND操作。AND操作之結果(例如,一位元向量[00000000])儲存於感測電路中。在參考編號7.s.ii(例如,將Comp_Comp儲存於Row_LowAct中)處,Comp_Comp 431(例如,一位元向量[00000000])儲存於儲存Row_LowAct 478之記憶體胞元群組中。
在參考編號7.s.iii.(用Row_Object進行Comp_CompAND操作)處,對Comp_Comp 431(例如,一位元向量[00000000])且對Row_Object 482(例如,一位元向量[01010101])執行一AND操作。AND操作之結果(例如,一位元向量[00000000])儲存於感測電路中。
在參考編號7.s.iv.(例如,將BLOCKOR操作之返回值儲存至純量整數destc中),對Comp_Comp 431執行一BLOCKOR操作。BLOCKOR
操作之結果(例如,[00000000])儲存於與控制電路相關聯且儲存destc 484之記憶體中。如本文中所使用,可執行BLOCKOR操作以判定儲存於感測電路中之一位元向量之一或多個位元是否係一特定值(例如,儲存於感測電路中之位元中之任何位元是否係一「1」位元)。可使用一I/O線334及一次級感測放大器312執行BLOCKOR操作。
執行BLOCKOR操作以判定srca 488中之具有一(1)之一值之位元及srcb 490中之具有零(0)之一值之相關聯位元之一最高有效位元索引。BLOCKOR操作之結果作為一純量整數經儲存於與控制電路相關聯且儲存destc 484之記憶體中。對與若干個索引相關聯之Comp_Comp之位元執行BLOCKOR操作。該若干個索引係參考編號7.s中之「For」迴圈反覆之索引。舉例而言,在參考編號7.s中指代之「For」迴圈之每一反覆期間執行且僅對「For」迴圈之經反覆索引執行BLOCKOR操作。舉例而言,在參考編號7.s中指代之「For」迴圈之一第一反覆期間,對Comp_Comp 431中之最低有效位元執行BLOCKOR操作。在參考編號7.s中指代之「For」迴圈之第二反覆期間,對兩個最低有效位元(例如,Comp_Comp 431中之具有一索引之等於零(0)及一(1)之位元)執行BLOCKOR操作。在參考編號7.s中指代之「For」迴圈之一第八反覆期間,對Comp_Comp 431中之所有位元執行BLOCKOR操作。
在若干項實施例中,可與判定耦合至一或多個(例如,任何)特定感測線之記憶體胞元是否儲存匹配目標資料型樣之一資料型樣相關聯地執行一BLOCKOR操作。舉例而言,知曉與目標資料型樣之一或多個匹配是否儲存於一陣列中可係有用資訊,即使不知曉哪一(些)特定感測線耦合至儲存匹配資料型樣之胞元。在此等例項中,感測線中之任何者是否耦合至儲存目標資料型樣之一匹配之胞元之判定可包含將耦合至一次級感測放大器(例如,312)之一區域I/O線(例如,區域I/O
線334)充電(例如,預充電)至一特定電壓。可經由諸如圖1中所展示之控制電路140之控制電路及/或諸如圖1中所展示之電路150之感測電路將I/O線(例如,334)預充電(例如)至諸如一供應電壓(例如,Vcc)或一接地電壓(例如,0V)之一電壓。
在執行一BLOCKOR操作(其可稱為一「AccumulatorBlockOr」)中,可並行啟動耦合至選定感測電路(例如,感測放大器306及/或計算組件331)之行解碼線(例如,310-1至310-W)(例如,使得接通各別電晶體308-1至308-V)以便將感測電路(例如,感測放大器306及/或計算組件331)之組件之電壓傳送至區域I/O線(例如,334)。次級感測放大器(例如,SSA 314)可感測區域I/O線之預充電電壓是否回應於行解碼線之啟動而改變(例如,達多於一臨限值量)。
例如,若將I/O線234預充電至一接地電壓且選定計算組件(例如,331-1至331-X)中之一或多者儲存一邏輯1(例如,0V)以表示一匹配,則SSA 312可感測到I/O線334上之電壓之一上拉(例如,增加)以判定任何所儲存資料型樣是否匹配目標資料型樣(例如,累加器中之至少一者是否儲存一「1」)。另一選擇係,若將I/O線334預充電至Vcc且選定感測電路組件(例如,累加器)中之一或多者儲存一邏輯0(例如,Vcc)以表示一匹配,則SSA 312可感測到I/O線334上之電壓之一下拉(例如,減少)以判定任何所儲存資料型樣是否匹配目標資料型樣(例如,累加器中之至少一者是否儲存一「0」)。
在若干項實例中,耦合至選定行解碼線之感測電路是否儲存一特定資料值(例如,一匹配資料值「1」)之判定有效地執行一邏輯OR操作。以此方式,對應於儲存於感測電路中之資料之電壓可並行傳送至區域I/O線334且由SSA 312感測作為一BLOCKOR操作之一部分。本發明之實施例不限於區域I/O線334之特定預充電電壓及/或對應於邏輯1或邏輯0之特定電壓值。
在參考編號7.s.v(將Row_LowAct載入於Comp_Comp中)處,Row_LowAct 478儲存於感測電路中。在參考編號7.s.vi(向右移位)處,對Comp_Comp 431(例如,一位元向量[00000000])執行一SHIFT操作。SHIFT操作可係一向右SHIFT操作。SHIFT操作之結果儲存於感測電路中。
在參考編號7.t(將dest+1載入於Comp_Comp中)處,dest+1 494儲存於感測電路中。在參考編號7.u(例如,用Row_Mask進行Comp_CompAND操作)處,對Comp_Comp(例如,一位元向量[04000000])431及Row_Mask 476(例如,一位元向量[ff000000])執行一AND操作。結果[04000000]儲存於感測電路中。在參考編號7.v(例如,將Comp_Comp儲存於Row_LowAct中)處,Comp_Comp 431(例如,一位元向量[04000000])儲存於儲存Row_LowAct 478之記憶體胞元群組中。
在參考編號7.w(例如,針對向量固定寬度)處,執行一「For」迴圈。參考編號7.w中指代之「For」迴圈與參考編號7.s中指代之「For」迴圈相似。參考編號7.w.i至7.w.iii亦與參考編號7.s.i至7.s.iii相似。
在參考編號7.w.i(例如,用Row_Mask進行Comp_CompAND操作)處,對Comp_Comp 431(例如,位元向量[04000000])及Row_Mask 476(例如,位元向量[ff000000])執行一AND操作。AND操作之結果(例如,[04000000])儲存於感測電路中。在參考編號7.w.ii(例如,將Comp_Comp儲存於Row_LowAct中)處,AND操作之結果儲存於儲存Row_LowAct 478之記憶體胞元群組中。
在參考編號7.w.iii(例如,用Row_Object進行Comp_CompAND操作)處,對Comp_Comp 431(例如,一位元向量[04000000])及Row_Object 482(例如,一位元向量[01010101])執行一AND操作。
AND操作之結果(例如,[01000000])儲存於感測電路中。
在參考編號7.w.iv(例如,將BLOCKOR操作之結果值儲存至純量整數destpc中)處,對Comp_Comp 431(例如,一位元向量[01000000])執行一BLOCKOR操作。BLOCKOR操作之結果(例如,3)儲存於儲存destpc 486之記憶體胞元群組中。
在參考編號7.w.v(例如,將Row_LowAct載入於Comp_Comp中)處,Row_LowAct 478儲存於感測電路中。在參考編號7.w.vi(例如,向右移位)處,對Comp_Comp 431(例如,一位元向量[01000000])執行一SHIFT操作。SHIFT操作之結果(例如,一位元向量[00000000])儲存於感測電路中。
在參考編號7.x(例如,若destc>destpc)處,判定destc 484(例如,一位元向量[0])不大於destpc 486(例如,一位元向量[3])。若destc 484大於destpc 486,則將執行參考編號7.x.i至7.x.ii中指代之若干個操作。
舉例而言,在參考編號7.x.i(例如,用Row_Mask填充dest)處,dest 492儲存於感測電路中。對Comp_Comp 431及Row_Mask 476執行一OR操作。OR操作之結果儲存於儲存dest 492之記憶體胞元群組中。
在參考編號7.x.ii(例如,用反轉Row_Mask填充dest+1)處,對Row_Mask 476執行一INVERT操作。INVERT操作之結果儲存於感測電路中。對Comp_Comp 431及dest+1 494執行一AND操作。AND操作之結果儲存於儲存dest+1 494之記憶體胞元群組中。
在參考編號7.y(例如,否則若destpc>destc)處,判定destpc 486(例如,一純量整數3)大於destc 484(例如,一純量整數0)。基於destpc 486大於destc 484之判定而執行參考編號7.y.i至7.y.ii中指代之若干個操作。
在參考編號7.y.i(用Row_Mask填充dest+1)處,dest+1 494儲存於感測電路中。對dest+1 494及Row_Mask 476執行一OR操作。OR操作之結果(例如,一位元向量[ff000000])儲存於儲存dest+1 494以更新dest+1 494之記憶體胞元群組中。
在參考編號7.y.ii(用反轉Row_Mask填充dest)處,對Row_Mask 476執行一INVERT操作。對Comp_Comp 431及dest 492執行一AND操作。AND操作之結果(例如,一位元向量[00000000])儲存於儲存dest 492以更新dest 492之記憶體胞元群組中。以上位元向量中使用之粗體闡述經更新之位元向量之部分(例如,dest 492及/或dest+1 494)。
位元向量[ff000000](例如,dest+1 494)指示srcb 490中之第一元素大於srca 488中之第一元素。與dest+1 494中之「ff」相關聯之位元具有若干個索引。該等索引可識別srca 488及srcb 490中之形成一元素對之相關聯元素。dest+1 494中之「ff」指示srcb 490中之經識別元素大於srca 488中之經識別元素。[00000000]dest位元向量492指示srca 488中之第一元素可小於srcb 490中之第一元素或等於srcb 490中之第一元素。
在參考編號7.z(例如,否則)處,判定destc 484是否不等於destpc 486及destpc 486是否不等於destc 484。亦即,在參考編號7.z處,判定destc 484是否等於destpc 486。若destc 484等於destpc 486,則在參考編號7.z.i處執行若干個操作。該若干個操作可包含對Row_Mask 476執行一INVERT操作且將INVERT操作之結果儲存於感測電路中。該若干個操作亦可包含對Comp_Comp 431及dest 492執行一AND操作。AND操作之結果可儲存於儲存dest 492之記憶體胞元群組中。該若干個操作亦可包含對Comp_Comp 431及dest+1 494執行一AND操作。AND操作之結果可儲存於儲存dest+1 494之記憶體胞元群組中。
圖4C圖解說明根據本發明之若干項實施例展示處於與執行一比
較操作相關聯之一特定階段之一陣列之記憶體胞元狀態之一表。圖4C包含與圖4A、圖4B中之儲存暫時資料Row_Mask 476、Row_LowAct 478、Row_Retained 480及Row_Object 482之列470相似的儲存包含Row_Mask 476、Row_LowAct 478、Row_Retained 480及Row_Object 482之暫時資料之列470。圖4C包含與圖4A及圖4B中之Comp_Comp 431相似之Comp_Comp 431。圖4C亦包含與圖4A及圖4B中之向量自變數472相似之向量自變數472。向量自變數472可包含與圖4A及圖4B中之向量自變數472、srca 488、srcb 490、dest 492及/或dest 494相似之srca 488、srcb 490、dest 492及/或dest+1 494。圖4C亦包含與圖4A及圖4B中之純量整數destc 484及destpc 486相似之純量整數destc 484及/或destpc 486。
圖4C展示在圖4B中之比較階段之後之一比較階段期間之若干個記憶體胞元之狀態。亦即,圖4C展示在參考編號7中指代之「For」迴圈之一第二反覆期間該若干個記憶體胞元之狀態。
在參考編號7.a處,形成一位元向量[00ff0000]。位元向量[00ff0000]在儲存Row_Mask 476之一記憶體胞元群組中。Row_Mask 476(例如,位元向量[00ff0000])識別:一當前比較操作比較來自srca 488之一第二元素與來自srcb 490之一第二元素。
在參考編號7.b處,一[00008000]位元向量儲存於感測電路中且儲存於儲存Row_Retained 480之一記憶體胞元群組中。位元向量[00008000]識別將在參考編號7中指代之「For」迴圈之一後續反覆中經比較之接下來元素。
在參考編號7.c處,srca 488儲存於感測電路中。在參考編號7.d處,對srca 488及srcb 490執行之一AND操作之結果(例如,[0301000c])儲存於感測電路中。
在參考編號7.e處,對位元向量[0301000c]執行一INVERT操作。
INVERT操作之結果係一位元向量[fcfefff3]。[fcfefff3]位元向量儲存於儲存Row_LowAct 478之一記憶體胞元群組中。在參考編號7.f.處,位元向量[fcfefff3](例如,Row_LowAct 478)儲存於感測電路中。在參考編號7.g.處,對Comp_Comp 431(例如,一位元向量[fcfefff3])及srca 488(例如,一位元向量[0309020c])執行一AND操作。結果(例如,一位元向量[00080200])儲存於感測電路中。
在參考編號7.h處,對Comp_Comp(例如,一位元向量[00080200])且對Row_Mask 476(例如,一位元向量[00ff0000])執行一AND操作。結果(例如,一位元向量[00080000])儲存於感測電路中。在參考編號7.i處,對Comp_Comp 431(例如,一位元向量[00080000])及dest 492(例如,一位元向量[00000000])執行一OR操作。OR操作之結果(例如,一位元向量[00080000])儲存於感測電路中。
在參考編號7.j處,OR操作之結果(例如,一位元向量[00080000])儲存於儲存dest 492之記憶體胞元群組中。在參考編號7.k處,Row_LowAct 478(例如,一位元向量[fcfefff3])儲存於感測電路中。在參考編號7.l處,對Comp_Comp 431(例如,一位元向量[fcfefff3])且對srcb 490(例如,一位元向量[0705080c])執行一AND操作。結果(例如,一位元向量[04040800])儲存於感測電路中。
在參考編號7.m處,對位元向量[04040800](例如,Comp_Comp 431)及位元向量[00ff0000](例如,Row_Mask 476)執行一AND操作。結果(例如,一位元向量[00040000])儲存於感測電路中。在參考編號7.n處,對位元向量[00040000](例如,Comp_Comp 431)及位元向量[ff000000](例如,dest+1 494)執行一OR操作。在參考編號7.o處,結果(例如,一位元向量[ff040000])儲存於dest+1 494中。
在參考編號7.p處,dest 492(例如,[00080000])儲存於感測電路中。在參考編號7.q處,對位元向量[00080000](例如,Comp_Comp
431)及一位元向量[00ff0000](例如,Row_Mask 476)執行一AND操作。在參考編號7.r處,AND操作之結果(例如,一位元向量[00080000])儲存於儲存Row_LowAct 478之記憶體胞元群組中。
在參考編號7.s處,執行一「For」迴圈。「For」迴圈在每一反覆之後使一位元索引遞增。索引以值一開始且遞增直至「For」迴圈打破。當索引小於或等於元素寬度時「For」迴圈繼續。參考編號7.s.i至7.s.vi展示在「For」迴圈之最後反覆之後若干個記憶體胞元之一狀態。
在參考編號7.s.i.處,對一位元向量[00080000](例如,Comp_Comp 431)及一位元向量[000ff000](例如,Row_Mask 476)執行一AND操作。AND操作之結果(例如,一位元向量[00080000])儲存於感測電路中。在參考編號7.s.ii.處,AND操作之結果儲存於儲存Row_LowAct 478之記憶體胞元群組中。
在參考編號7.s.iii處,對位元向量[00080000](例如,Comp_Comp 431)及一位元向量[01010101](例如,Row_Object 482)執行一AND操作。結果(例如,一位元向量[00000000])儲存於感測電路中。在參考編號7.s.iv處,對Comp_Comp 431執行一BLOCKOR操作。BLOCKOR操作之結果(例如,4)儲存於與控制電路相關聯且儲存destc 484之記憶體中。
在參考編號7.s.v處,Row_LowAct 478儲存於感測電路中。在參考編號7.s.vi.處,對位元向量[00080000](例如,Comp_Comp 431)執行一SHIFT操作。SHIFT操作之結果儲存於感測電路中。
在參考編號7.t處,一位元向量[ff040000](例如,dest+1 494]儲存於感測電路中。在參考編號7.u處,對一位元向量[ff040000](例如,Comp_Comp 431)及位元向量[00ff0000](例如,Row_Mask 476)執行一AND操作。結果(例如,一位元向量[00040000])儲存於感測電路
中。在參考編號7.v處,結果(例如,一位元向量[00040000])儲存於儲存Row_LowAct 478之記憶體胞元群組中。
參考編號7.w.i至7.w.vi指代在一「For」迴圈(例如,7.w)中執行之若干個操作。在參考編號7.w.i處,對位元向量[00040000](例如,Comp_Comp)及一位元向量[00ff0000](例如,Row_Mask 476)執行一AND操作。AND操作之結果(例如,一位元向量[00040000])儲存於感測電路431中。在參考編號7.w.ii處,AND操作之結果(例如,一位元向量[00040000])儲存於儲存Row_LowAct 478之記憶體胞元群組中。在參考編號7.w.iii.處,對位元向量[00040000](例如,Comp_Comp)及一位元向量[01010101](例如,Row_Object 482)執行一AND操作。AND操作之結果(例如,[00000000])儲存於感測電路中。在參考編號7.w.iv處,對一位元向量[00000000](例如,Comp_Comp)執行一BLOCKOR操作。BLOCKOR操作之結果(例如,3)儲存於與控制電路相關聯且儲存destpc 486之記憶體中。在參考編號7.w.v處,Row_LowAct 478儲存於感測電路中。在參考編號7.w.vi處,對位元向量[00000000](例如,Comp_Comp)執行一SHIFT操作(例如,一向右SHIFT操作)。SHIFT操作之結果(例如,一位元向量[00000000])儲存於感測電路中。
在參考編號7.x處,判定destc 484(例如,[4])大於destpc 486(例如,[3])。在參考編號7.x.i處,一位元向量[00080000](例如,dest 492)儲存於感測電路中且對位元向量[00080000](例如,Comp_Comp 431)及一位元向量[00ff0000](例如,Row_Mask 476)執行一OR操作。作為一結果(例如,一位元向量[00ff0000])儲存於儲存dest 492之一記憶體胞元群組中。亦即,更新dest 492(例如,[00ff0000])。在參考編號7.x.ii處,對位元向量[00ff0000]執行一INVERT操作。結果(例如,一位元向量[ff00ffff])儲存於感測電路中。對位元向量[ff00ffff](例
如,Comp_Comp 431)及一位元向量[ff040000](例如,dest+1 494)執行一AND操作。結果(例如,一位元向量[ff000000])儲存於儲存dest+1 494之記憶體胞元群組中。亦即,更新dest+1 494。位元向量[00ff0000](例如,dest 492)指示srca 488中之第二元素大於srcb 490中之第二元素。位元向量[ff000000]dest+1 494指示srcb 490中之第二元素小於或等於srca 488中之第二元素。
在參考編號7.y處,判定destpc 486不大於destc 484。在參考編號7.z處,判定destc 484不等於destpc 486。
未展示參考編號7中指代之「For」迴圈之最後兩次反覆。在「For」迴圈之一第三反覆之後,dest 492具有等於一位元向量[00ff0000]之一值且dest+1 494具有等於位元向量[ff00ff00]之一值。亦即,dest+1 494指示srcb 490中之第三元素大於srca 488中之第三元素。
在參考編號7中指代之「For」迴圈之一第四反覆之後,dest 492具有等於位元向量[00ff0000]之一值且dest+1具有等於位元向量[ff00ff00]之一值。亦即,dest 492及dest+1 494一起指示srca 488中之第四元素等於srcb 490中之第四元素。在dest+1 494及dest 492兩者中具有一相同索引之「00」位元指示來自srcb 490及srca 488之對應元素相等。
在參考編號8處,可釋放儲存Row_Mask 476、Row_LowAct 478、Row_Retained 480、Row_Object 482、srca 488及/或srcb 490之記憶體胞元。如本文中所使用,釋放記憶體胞元可使該等記憶體胞元可用於儲存與一比較操作之一不同例項相關聯之資料及/或不與一比較操作相關聯之邏輯操作。
然而,實施例不限於此實例中之虛擬程式碼中之指令序列之次序。舉例而言,可在執行參考編號7.p.至7.s.vi.中指代之若干個操作之
前執行參考編號7.t.至7.w.vi.中指代之若干個操作。
下文闡述且下文之表1中總結關於執行邏輯操作且將一結果最初儲存於感測放大器206中的圖2A之感測電路250之功能性。將一特定邏輯操作之結果最初儲存於感測放大器206之初級鎖存器中可提供與先前方法相比較經改良之多功能性,在先前方法中結果可最初駐存於一計算組件231之一次級鎖存器(例如,累加器)中,且然後隨後傳送至感測放大器206,例如。
將一特定操作之結果最初儲存於感測放大器206中(例如,而不必須執行一額外操作以將結果自計算組件231(例如,累加器)移動至感測放大器206)係有利的,此乃因(例如)可在不執行一預充電循環(例如,在互補資料線205-1(D)及/或205-2(D_)上)之情況下將結果寫入至(記憶體胞元陣列之)一列或往回寫入至累加器中。
圖5圖解說明根據本發明之若干項實施例之與使用感測電路執行若干個邏輯操作相關聯之一時序圖。圖5圖解說明與起始對一第一運算元及一第二運算元之一AND邏輯操作相關聯之一時序圖。在此實例中,第一運算元儲存於耦合至一第一存取線(例如,列X)之一記憶體胞元中且第二運算元儲存於耦合至一第二存取線(例如,列Y)之一記憶體胞元中。儘管實例係指對儲存於對應於一個特定行之胞元中之資料執行一AND,但實施例並不如此受限制。例如,可與一不同資料值列並行地對一整個資料值列進行AND操作。舉例而言,若一陣列包括
2,048個行,則可並行執行2,048個AND操作。
圖5圖解說明與操作感測電路(例如,250)以執行AND邏輯操作相關聯之若干個控制信號。「EQ」對應於施加至感測放大器206之一平衡信號,「ROW X」對應於施加至存取線204-X之一啟動信號,「ROW Y」對應於施加至存取線204-Y之一啟動信號,「Act」及「RnIF」對應於施加至感測放大器206之一各別作用中正及負控制信號,「LOAD」對應於一負載控制信號(例如,圖2A中所展示之LOAD/PASSD及LOAD/PASSDb),且AND對應於圖2A中所展示之AND控制信號。圖5亦圖解說明展示在Row X及Row Y資料值之各種資料值組合之一AND邏輯操作期間對應於感測放大器206之數位線D及D_及對應於計算組件231(例如,Accum)之節點S1及S2上之信號(例如,電壓信號)之波形圖(例如,圖式對應於各別資料值組合00、10、01、11)。下文關於與圖2A中所展示之電路之一AND操作相關聯之虛擬程式碼論述特定時序圖波形。
可如下總結與將儲存於耦合至列204-X之一胞元中之一第一資料值載入(例如,複製)至累加器中相關聯之虛擬程式碼之一實例:將Row X複製至累加器中:對EQ撤銷啟動
開通列X
激發感測放大器(在此之後Row X資料駐存於感測放大器中)
啟動LOAD(感測放大器資料(Row X)傳送至累加器之節點S1及S2且動態地駐存於彼處)
對LOAD撤銷啟動
關閉列X
預充電
在以上虛擬程式碼中,「對EQ撤銷啟動」指示在如圖5中所展示
之t1處停用對應於感測放大器206之一平衡信號(圖5中所展示之EQ信號)(例如,使得互補資料線(例如,205-1(D)及205-2(D_))不再短接至VDD/2)。在停用平衡之後,啟用(例如,諸如藉由啟動一信號以選擇一特定列而選擇、開通)一選定列(例如,列X),如虛擬程式碼中之「開通列X」所指示且針對圖5中之信號Row X在t2處所展示。當施加至列X之電壓信號達到對應於選定胞元之存取電晶體(例如,202-2)之臨限電壓(Vt)時,存取電晶體接通且將資料線(例如,205-2(D_))耦合至選定胞元(例如,耦合至電容器203-2),此形成資料線之間的一差動電壓信號。
在啟用(例如,啟動)列X之後,在以上虛擬程式碼中,「激發感測放大器」指示感測放大器206經啟用以設定初級鎖存器且隨後經停用。舉例而言,如圖5中在t3處所展示,ACT正控制信號(例如,圖2B中所展示之265)變高且RnIF負控制信號(例如,圖2B中所展示之228)變低,此放大205-1(D)與D_ 205-2之間的差動信號,從而導致對應於一邏輯1之一電壓(例如,VDD)或對應於一邏輯0之一電壓(例如,GND)在資料線205-1(D)上(且對應於另一邏輯狀態之電壓在互補資料線205-2(D_)上)。所感測資料值儲存於感測放大器206之初級鎖存器中。在將資料線(例如,205-1(D)或205-2(D_))自平衡電壓VDD/2充電至導軌電壓VDD中發生初級能量消耗。
圖5中所圖解說明之四組可能感測放大器及累加器信號(例如,一者針對Row X與Row Y資料值之每一組合)展示資料線D及D_上之信號行為。Row X資料值儲存於感測放大器之初級鎖存器中。應注意,圖2A展示對應於列X之包含存取電晶體202-2之記憶體胞元耦合至互補資料線D_,而對應於列Y之包含存取電晶體202-1之記憶體胞元耦合至資料線D。然而,如圖2A中可見,對應於一「0」資料值之儲存於包含存取電晶體202-2之記憶體胞元(對應於列X)中之電荷致使資料線
D_(包含存取電晶體202-2之記憶體胞元耦合至其)上之電壓變高且對應於一「1」資料值之儲存於包含存取電晶體202-2之記憶體胞元中之電荷致使資料線D_上之電壓變低,此與儲存於耦合至資料線D之對應於列Y之包含存取電晶體202-1之記憶體胞元中之資料狀態與電荷之間對應性相反。當將資料值寫入至各別記憶體胞元時適當地計及將電荷儲存於耦合至不同資料線之記憶體胞元中之此等差異。
在激發感測放大器之後,在以上虛擬程式碼中,「啟動LOAD」指示:LOAD控制信號變高,如圖5中在t4處所展示,從而致使負載/通過電晶體218-1及218-2導電。以此方式,啟動LOAD控制信號會啟用計算組件231之累加器中之次級鎖存器。儲存於感測放大器206中之所感測資料值傳送(例如,複製)至次級鎖存器。如針對圖5中所圖解說明之四組可能感測放大器及累加器信號中之每一者所展示,累加器之次級鎖存器之輸入處之行為指示次級鎖存器載入有Row X資料值。如圖5中所展示,累加器之次級鎖存器可取決於先前儲存於動態鎖存器中之資料值而翻轉(例如,參見針對Row X=「0」及Row Y=「0」及針對Row X=「1」及Row Y=「0」之累加器信號),或不翻轉(例如,參見針對Row X=「0」及Row Y=「1」及針對Row X=「1」及Row Y=「1」之累加器信號)。
在依據儲存於感測放大器中(且存在於資料線205-1(D)及205-2(D_)上)之資料值設定次級鎖存器之後,在以上虛擬程式碼中,「對LOAD撤銷啟動」指示:LOAD控制信號變回為低(如圖5中在t5處所展示)以致使負載/通過電晶體218-1及218-2停止導電且藉此隔離動態鎖存器與互補資料線。然而,資料值保持動態地儲存於累加器之次級鎖存器中。
在將資料值儲存於次級鎖存器上之後,停用(諸如藉由對一特定列之一選擇信號撤銷啟動而取消選擇、關閉)選定列(例如,列X),如
由「關閉列X」所指示且圖5中在t6處所指示,可藉由存取電晶體關斷完成此操作以將選定胞元自對應資料線解耦。一旦關閉選定列且隔離記憶體胞元與資料線,便可將資料線預充電,如以上虛擬程式碼中之「預充電」所指示。可藉由一平衡操作完成資料線之一預充電,如圖5中由EQ信號在t7處變高所指示。如圖5中在t7處所圖解說明之四組可能感測放大器及累加器信號中之每一者中所展示,平衡操作致使資料線D及D_上之電壓各自返回至VDD/2。可(例如)在一記憶體胞元感測操作或邏輯操作(下文所闡述)之前發生平衡。
與對第一資料值(現在儲存於感測放大器206及計算組件231之次級鎖存器中)及第二資料值(儲存於耦合至列Y 204-Y之一記憶體胞元202-1中)執行AND或OR操作相關聯之一後續操作階段包含執行取決於將執行一AND還是一OR之特定步驟。下文總結與對駐存於累加器中之資料值(例如,儲存於耦合至列X 204-X之記憶體胞元202-2中之第一資料值)及第二資料值(例如,儲存於耦合至列Y 204-Y之記憶體胞元202-1中之資料值)進行AND操作及OR操作相關聯之虛擬程式碼之實例。與對資料值進行AND操作相關聯之實例性虛擬程式碼可包含:對EQ撤銷啟動
開通列Y
激發感測放大器(在此之後Row Y資料駐存於感測放大器中)
關閉列Y
在接下來操作中,將把邏輯操作之結果放置於將對為作用中之任一列重寫之感測放大器上。
即使在關閉列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之一平衡信號(例如,使得互補資料線205-1(D)及205-2(D_)不再短接至VDD/2),圖5中在t8處圖解說明此。在停用平衡之後,啟用一選定列(例如,列Y),如以上虛擬程式碼中由「開通列Y」所指示且圖5中在t9處所展示。當施加至列Y之電壓信號達到對應於選定胞元之存取電晶體(例如,202-1)之臨限電壓(Vt)時,存取電晶體接通且將資料線(例如,D_ 205-1)耦合至選定胞元(例如,電容器203-1),此形成資料線之間的一差動電壓信號。
在啟用列Y之後,在以上虛擬程式碼中,「激發感測放大器」指示:感測放大器206經啟用以放大205-1(D)與205-2(D_)之間的差動信號,從而導致對應於一邏輯1之一電壓(例如,VDD)或對應於一邏輯0之一電壓(例如,GND)在資料線205-1(D)上(且對應於另一邏輯狀態之電壓在互補資料線205-2(D_)上)。如圖5中在t10處所展示,ACT正控制信號(例如,圖2B中所展示之265)變高且RnIF負控制信號(例如,圖2B中展示之228)變低以激發感測放大器。來自記憶體胞元202-1之所感測資料值儲存於感測放大器206之初級鎖存器中,如先前所闡述。次級鎖存器仍對應於來自記憶體胞元202-2之資料值,此乃因動
態鎖存器未改變。
在自耦合至列Y之記憶體胞元202-1感測到之第二資料值儲存於感測放大器206之初級鎖存器中之後,在以上虛擬程式碼中,「關閉列Y」指示:若不期望將AND邏輯操作之結果往回儲存於對應於列Y之記憶體胞元中,則可停用選定列(例如,列Y)。然而,圖5展示使列Y經啟用使得可將邏輯操作之結果往回儲存於對應於列Y之記憶體胞元中。可藉由存取電晶體關斷完成隔離對應於列Y之記憶體胞元以將選定胞元202-1自資料線205-1(D)解耦。在選定列Y經組態(例如,以隔離記憶體胞元或不隔離記憶體胞元)之後,以上虛擬程式碼中之「啟動AND」指示:AND控制信號變高,如圖5中在t11處所展示,從而致使通過電晶體207-1導電。以此方式,啟動AND控制信號致使函數(例如,Row X AND Row Y)之值寫入至感測放大器。
在第一資料值(例如,Row X)儲存於累加器231之動態鎖存器中且第二資料值(例如,Row Y)儲存於感測放大器206中之情況下,若計算組件231之動態鎖存器含有一「0」(亦即,在節點S2上之一電壓對應於一「0」且在節點S1上之一電壓對應於一「1」),則感測放大器資料經寫入為一「0」(而不管先前儲存於感測放大器中之資料值如何),此乃因在節點S1上對應於一「1」之電壓致使電晶體209-1導電藉此透過電晶體209-1、通過電晶體207-1及資料線205-1(D)將感測放大器206耦合至接地。當一AND操作之任一資料值係「0」時,結果係一「0」。此處,當第二資料值(在動態鎖存中)係一「0」時,AND操作之結果係一「0」而不管第一資料值之狀態如何,且因此感測電路之組態致使「0」結果經寫入且最初儲存於感測放大器206中。此操作使累加器中之資料值未改變(例如,來自列X)。
若累加器之次級鎖存器含有一「1」(例如,來自列X),則AND操作之結果取決於儲存於感測放大器206中之資料值(例如,來自列
Y)。若儲存於感測放大器206中之資料值(例如,來自列Y)係一「1」,則AND操作之結果應亦係一「1」,但若儲存於感測放大器206中之資料值(例如,來自列Y)係一「0」,則AND操作之結果應亦係一「0」。感測電路250經組態使得:若累加器之動態鎖存器含有一「1」(亦即,在節點S2上之一電壓對應於一「1」且在節點S1上之一電壓對應於一「0」),則電晶體209-1不導電,感測放大器不耦合至接地(如上文所闡述),且先前儲存於感測放大器206中之資料值保持未改變(例如,Row Y資料值,因此若Row Y資料值係一「1」則AND操作結果係一「1」,且若Row Y資料值係一「0」,則AND操作結果係一「0」)。此操作使累加器中之資料值未改變(例如,來自列X)。
在AND操作之結果最初儲存於感測放大器206中之後,以上虛擬程式碼中之「對AND撤銷啟動」指示:AND控制信號變低,如圖5中在t12處所展示,從而致使通過電晶體207-1停止導電以隔離感測放大器206(及資料線205-1(D))與接地。若先前未進行,則可關閉列Y(如圖5中在t13處所展示)且可停用感測放大器(如圖5中在t14處藉由ACT正控制信號變低且RnIF負控制信號變高所展示)。在隔離資料線之情況下,以上虛擬程式碼中之「預充電」可藉由一平衡操作導致資料線之一預充電,如先前所闡述(例如,圖5中所展示在t14處開始)。
在替代方案中,圖5針對涉及可能運算元組合(例如,Row X/Row Y資料值00、10、01及11)中之每一者之一AND邏輯操作展示耦合至感測放大器(例如,圖2A中所展示之206)之資料線(例如,圖2A中所展示之205-1(D)及205-2(D_))上之電壓信號之行為及計算組件(例如,圖2A中所展示之231)之次級鎖存器之節點S1及S2上之電壓信號之行為。
儘管圖5中所圖解說明之時序圖及上文所闡述之虛擬程式碼指示在開始將第二運算元(例如,Row Y資料值)載入至感測放大器中之後
起始AND邏輯操作,但可藉由在開始將第二運算元(例如,Row Y資料值)載入至感測放大器中之前起始AND邏輯操作而成功地操作圖2A中所展示之電路。
圖6圖解說明根據本發明之若干項實施例之與使用感測電路執行若干個邏輯操作相關聯之一時序圖。圖6圖解說明與在開始將第二運算元(例如,Row Y資料值)載入至感測放大器中之後起始一OR邏輯操作相關聯之一時序圖。圖6圖解說明第一與第二運算元資料值之各種組合之感測放大器及累加器信號。下文關於與圖2A中所展示之電路之一AND邏輯操作相關聯之虛擬程式碼論述特定時序圖信號。
一後續操作階段可替代地與對第一資料值(現在儲存於感測放大器206及計算組件231之次級鎖存器中)及第二資料值(儲存於耦合至列Y 204-Y之一記憶體胞元202-1中)執行OR操作相關聯。關於圖6未重複先前關於圖5中所展示之時間t1至t7所闡述之用以將Row X資料載入至感測放大器及累加器中之操作。與對資料值進行OR操作相關聯之實例性虛擬程式碼可包含:對EQ撤銷啟動
開通列Y
激發感測放大器(在此之後Row Y資料駐存於感測放大器中)
關閉列Y
當關閉列Y時,感測放大器仍含有Row Y資料值。
啟動OR
此導致感測放大器經寫入為函數(例如,Row X OR Row Y)之值,此可如下對先前儲存於感測放大器中之來自列Y之資料值重寫:若累加器含有一「0」(亦即,在節點S2上之一電壓對應於一「0」且在節點S1上之一電壓對應於一「1」),則感測放大器資料保持未改變(Row Y資料)
若累加器含有一「1」(亦即,在節點S2上之一電壓對應於一「1」且在節點S1上之一電壓對應於一「0」),則感測放大器資料經寫入為一「1」
此操作使累加器中之資料未改變。
對OR撤銷啟動
預充電
以上虛擬程式碼中所展示之「對EQ撤銷啟動」(圖6中在t8處所展示)、「開通列Y」(圖6中在t9處所展示)、「激發感測放大器」(圖6中在t10處所展示)及「關閉列Y」(圖6中在t13處所展示,且此可在起始特定邏輯功能控制信號之前發生)指示與先前關於AND操作虛擬程式碼所闡述相同之功能性。一旦適當地組態選定列Y之組態(例如,若邏輯操作結果將儲存於對應於列Y之記憶體胞元中則選定列Y經啟用或若邏輯操作結果將不儲存於對應於列Y之記憶體胞元中則選定列Y經關閉以隔離記憶體胞元),以上虛擬程式碼中之「啟動OR」便指示:OR控制信號變高(如圖6中在t11處所展示),此致使通過電晶體207-2導電。以此方式,啟動OR控制信號致使函數(例如,Row X OR Row Y)之值寫入至感測放大器。
在第一資料值(例如,Row X)儲存於計算組件231之次級鎖存器中且第二資料值(例如,Row Y)儲存於感測放大器206中之情況下,若累加器之動態鎖存器含有一「0」(亦即,在節點S2上之一電壓對應於一「0」且在節點S1上之一電壓對應於一「1」),則OR操作之結果取決於儲存於感測放大器206中之資料值(例如,來自列Y)。若儲存於感測放大器206中之資料值(例如,來自列Y)係一「1」,則OR操作之結果應係一「1」,但若儲存於感測放大器206中之資料值(例如,來自列Y)係一「0」,則OR操作之結果應亦係一「0」。感測電路250經組態使得:若累加器之動態鎖存器含有一「0」(其中電壓在節點S2
上對應於一「0」),則電晶體209-2關斷且不導電(且通過電晶體207-1亦關斷,此乃因AND控制信號未經確證),因此感測放大器206不耦合至接地(任一側),且先前儲存於感測放大器206中之資料值保持未改變(例如,Row Y資料值,使得若Row Y資料值係一「1」則OR操作結果係一「1」,且若Row Y資料值係一「0」則OR操作結果係一「0」)。
若累加器之動態鎖存器含有一「1」(亦即,在節點S2上之一電壓對應於一「1」且在節點S1上之一電壓對應於一「0」),則電晶體209-2導電(通過電晶體207-2同樣導電,此乃因OR控制信號經確證),且耦合至資料線205-2(D_)之感測放大器206輸入耦合至接地,此乃因在節點S2上對應於一「1」之電壓致使電晶體209-2連同通過電晶體207-2(其亦導電,此乃因OR控制信號經確證)導電。以此方式,當累加器之次級鎖存器含有一「1」時將一「1」作為OR操作之一結果最初儲存於感測放大器206中而不管先前儲存於感測放大器中之資料值如何。此操作使累加器中之資料未改變。在替代方案中,圖6針對涉及可能運算元組合(例如,Row X/Row Y資料值00、10、01及11)中之每一者之一OR邏輯操作展示耦合至感測放大器(例如,圖2A中所展示之206)之資料線(例如,圖2A中所展示之205-1(D)及205-2(D_))上之電壓信號之行為及計算組件231之次級鎖存器之節點S1及S2上之電壓信號之行為。
在OR操作之結果最初儲存於感測放大器206中之後,以上虛擬程式碼中之「對OR撤銷啟動」指示:OR控制信號變低(如圖6中在t12處所展示),從而致使通過電晶體207-2停止導電以隔離感測放大器206(及資料線D 205-2)與接地。若先前未進行,則可關閉列Y(如圖6中在t13處所展示)且可停用感測放大器(如圖6中在t14處藉由ACT正控制信號變低且RnIF負控制信號變高所展示)。在隔離資料線之情況下,以
上虛擬程式碼中之「預充電」可藉由一平衡操作導致資料線之一預充電,如先前所闡述及圖6中在t14處所展示。
圖2A中所圖解說明之感測電路250可如下提供額外邏輯操作彈性。藉由在上文所闡述之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操作期間,可確證ANDinv控制信號而非AND控制信號,且在涉及反轉資料值之一OR操作期間,可確證ORInv控制信號而非OR控制信號。啟動ORinv控制信號致使電晶體214-1導電且啟動ANDinv控制信號致使電晶體214-2導電。在每一情形中,確證適當之反轉控制信號可使感測放大器翻轉且致使最初儲存於感測放大器206中之結果為使用反轉Row X及真實Row Y資料值之AND操作之結果或使用反轉Row X及真實Row Y資料值之OR操作之結果。一個資料值之一真實或互補版本可在累加器中用於(舉例而言)藉由首先載入將反轉之一資料值且其次載入將不反轉之一資料值而執行邏輯操作(例如,AND、OR)。
在類似於上文關於使上文所闡述之AND及OR操作之資料值反轉所闡述之一方法中,圖2A中所展示之感測電路可藉由將非反轉資料值放入至累加器之動態鎖存器中且使用彼資料來使感測放大器206中之資料值反轉而執行一NOT(例如,反轉)操作。如先前所提及,啟動ORinv控制信號致使電晶體214-1導電且啟動ANDinv控制信號致使電晶體214-2導電。ORinv及/或ANDinv控制信號用於實施NOT函數,如下文進一步闡述:將Row X複製至累加器中
對EQ撤銷啟動
開通列X
激發感測放大器(在此之後Row X資料駐存於感測放大器中)
啟動LOAD(感測放大器資料(Row X)傳送至累加器之節點S1及S2且動態地駐存於彼處)
對LOAD撤銷啟動
啟動ANDinv及ORinv(此將互補資料值放在資料線上)
此導致感測放大器中之資料值經反轉(例如,使感測放大器鎖存器翻轉)
此操作使累加器中之資料未改變
對ANDinv及ORinv撤銷啟動
關閉列X
預充電
以上虛擬程式碼中所展示之「對EQ撤銷啟動」、「開通列X」、「激發感測放大器」、「啟動LOAD」及「對LOAD撤銷啟動」將相同功能性指示為在用於AND操作及OR操作之虛擬程式碼之前的上文所闡述之用於「將Row X複製至累加器中」初始操作階段之虛擬程式碼中的相同操作。然而,不是在將Row X資料載入至感測放大器206中且複製至動態鎖存器中之後關閉列X及預充電,而是可將累加器之動態鎖存器中之資料值之一互補版本放置於資料線上且因此藉由啟用(例如,致使電晶體導電)及停用反相電晶體(例如,ANDinv及ORinv)而傳送至感測放大器206。此導致感測放大器206自先前儲存於感測放大器中之真實資料值翻轉至儲存於感測放大器中之一互補資料值(例如,反轉資料值)。亦即,可藉由啟動及撤銷啟動ANDinv及ORinv而將累加器中之資料值之一真實或互補版本傳送至感測放大器。此操作使累加器中之資料未改變。
由於圖2A中所展示之感測電路250將AND、OR及NOT邏輯操作之結果最初儲存於感測放大器206中(例如,感測放大器節點上),因此此等邏輯操作結果可容易地且迅速地傳達至任一經啟用列(在完成邏輯操作之後啟動任一列)及/或傳達至計算組件231之次級鎖存器中。亦可藉由在感測放大器206激發之前適當激發AND、OR、ANDinv及/或ORinv控制信號(及具有耦合至特定控制信號之一閘極之對應電晶體之操作)而互換用於AND、OR及/或NOT邏輯操作之感測放大器206及定序。
當以此方式執行邏輯操作時,感測放大器206可預種有來自累加器之動態鎖存器之一資料值以減少所利用之總體電流,此乃因當累加器函數複製至感測放大器206時感測放大器206未處於全軌電壓(例如,供應電壓或接地/參考電壓)。關於一經預種感測放大器206之一操作序列將資料線中之一者驅迫至參考電壓(從而使互補資料線處於VDD/2)或使互補資料線未改變。當感測放大器206激發時,感測放大器206將各別資料線拉至全軌。使用此操作序列將對一經啟用列中之資料重寫。
可藉由使用一傳統DRAM隔離(ISO)方案將兩個相鄰資料線互補對多工(「多工傳輸」)而完成一SHIFT操作。根據本發明之實施例,移位電路223可用於使儲存於耦合至一特定互補資料線對之記憶體胞元中之資料值移位至對應於一不同互補資料線對之感測電路250(例如,感測放大器206)(例如,諸如對應於一左或右毗鄰互補資料線對之一感測放大器206)。如本文中所使用,一感測放大器206對應於在隔離電晶體221-1及221-2導電時感測放大器耦合至其之互補資料線對。SHIFT操作(向右或向左)不將Row X資料值預複製至累加器中。可如下總結用以使Row X向右移位之操作:對Norm撤銷啟動且啟動Shift
對EQ撤銷啟動
開通列X
激發感測放大器(在此之後經移位Row X資料駐存於感測放大器中)
啟動Norm且對Shift撤銷啟動
關閉列X
預充電
在以上虛擬程式碼中,「對Norm撤銷啟動且啟動Shift」指示:一NORM控制信號變低,從而致使移位電路223之隔離電晶體221-1及221-2不導電(例如,隔離感測放大器與對應互補資料線對)。SHIFT控制信號變高,從而致使隔離電晶體221-3及221-4導電,藉此將感測放大器206耦合至左毗鄰互補資料線對(例如,針對左毗鄰互補資料線對在非導電隔離電晶體221-1及221-2之記憶體陣列側上)。
在組態移位電路223之後,以上虛擬程式碼中所展示之「對EQ撤銷啟動」、「開通列X」及「激發感測放大器」將相同功能性指示為在用於AND操作及OR操作之虛擬程式碼之前的上文所闡述之用於「將Row X複製至累加器中」初始操作階段之虛擬程式碼中的相同操作。在此等操作之後,耦合至左毗鄰互補資料線對之記憶體胞元之Row X資料值向右移位且儲存於感測放大器206中。
在以上虛擬程式碼中,「啟動Norm且對Shift撤銷啟動」指示:一NORM控制信號變高,從而致使移位電路223之隔離電晶體221-1及221-2導電(例如,將感測放大器耦合至對應互補資料線對),且SHIFT控制信號變低,從而致使隔離電晶體221-3及221-4不導電且隔離感測放大器206與左毗鄰互補資料線對(例如,針對左毗鄰互補資料線對在非導電隔離電晶體221-1及221-2之記憶體陣列側上)。由於列X仍在作用中,因此已向右移位之Row X資料值透過隔離電晶體221-1及221-2
傳送至對應互補資料線對之列X。
在Row X資料值向右移位至對應互補資料線對之後,停用選定列(例如,列X),如以上虛擬程式碼中之「關閉列X」所指示,可藉由存取電晶體關斷完成此操作以將選定胞元自對應資料線解耦。一旦關閉選定列且隔離記憶體胞元與資料線,便可將資料線預充電,如以上虛擬程式碼中之「預充電」所指示。可藉由一平衡操作完成資料線之一預充電,如上文所闡述。可如下總結用以使Row X向左移位之操作:啟動Norm且對Shift撤銷啟動
對EQ撤銷啟動
開通列X
激發感測放大器(在此之後Row X資料駐存於感測放大器中)
對Norm撤銷啟動且啟動Shift
將感測放大器資料(向左移位之Row X)傳送至列X
關閉列X
預充電
在以上虛擬程式碼中,「啟動Norm且對Shift撤銷啟動」指示:一NORM控制信號變高,從而致使移位電路223之隔離電晶體221-1及221-2導電,且SHIFT控制信號變低,從而致使隔離電晶體221-3及221-4不導電。此組態將感測放大器206耦合至一對應互補資料線對且隔離感測放大器與右毗鄰互補資料線對。
在組態移位電路之後,以上虛擬程式碼中所展示之「對EQ撤銷啟動」、「開通列X」及「激發感測放大器」將相同功能性指示為在用於AND操作及OR操作之虛擬程式碼之前的上文所闡述之用於「將Row X複製至累加器中」初始操作階段之虛擬程式碼中的相同操作。在此等操作之後,將耦合至對應於感測電路250之互補資料線對之記憶體胞元之Row X資料值儲存於感測放大器206中。
在以上虛擬程式碼中,「對Norm撤銷啟動且啟動Shift」指示:一NORM控制信號變低,從而致使移位電路223之隔離電晶體221-1及221-2不導電(例如,隔離感測放大器與對應互補資料線對),且SHIFT控制信號變高,從而致使隔離電晶體221-3及221-4導電,從而將感測放大器耦合至左毗鄰互補資料線對(例如,針對左毗鄰互補資料線對在非導電隔離電晶體221-1及221-2之記憶體陣列側上)。由於列X仍在作用中,因此已向左移位之Row X資料值傳送至左毗鄰互補資料線對之列X。
在Row X資料值向左移位至左毗鄰互補資料線對之後,停用選定列(例如,列X),如由「關閉列X」所指示,此可藉由存取電晶體關斷完成以將選定胞元自對應資料線解耦。一旦關閉選定列且隔離記憶體胞元與資料線,便可將資料線預充電,如以上虛擬程式碼中之「預充電」所指示。可藉由一平衡操作完成資料線之一預充電,如上文所闡述。
根據各種實施例,舉例而言,可在一記憶體中處理器(PIM)器件之一記憶體陣列核心(諸如一DRAM每記憶體胞元一個電晶體(例如,1T1C)組態,為6F^2或4F^2記憶體胞元大小)中實現通用計算。與可在不將資料傳送出記憶體陣列(例如,DRAM)或激發一行解碼之情況下藉由並行計算一整個資料庫而達成之累積速度相反地,就單個指令速度而言未實現本文中所闡述之裝置及方法之優點。換言之,可消除資料傳送時間。舉例而言,本發明之裝置可使用耦合至一資料線(例如,一16K記憶體胞元行)之記憶體胞元中之資料值同時執行AND或OR。
在其中移出資料以用於邏輯操作處理(例如,使用32或64位元暫存器)之先前方法感測電路中,可並行執行與本發明之裝置相比較較少之操作。以此方式,與涉及與記憶體離散之一中央處理單元(CPU)
使得資料必須在其之間傳送之習用組態相比較,有效地提供顯著較高輸送量。根據本發明之一裝置及/或方法亦可使用少於其中CPU與記憶體離散之組態之能量/面積。此外,本發明之一裝置及/或方法可對較小能量/面積優點進行改良,此乃因記憶體中陣列邏輯操作藉由消除某些資料值傳送而節省能量。
圖7圖解說明根據本發明之若干項實施例之與使用感測電路執行若干個邏輯操作相關聯之一時序圖。下文闡述關於執行邏輯操作且將一結果最初儲存於計算組件231(例如,累加器之次級鎖存器)中的圖2A之感測電路250之功能性。圖7中所展示之時序圖圖解說明與使用圖2A中所圖解說明之感測電路執行一邏輯操作(例如,一R輸入邏輯操作)之一第一操作階段相關聯之信號(例如,電壓信號)。例如,關於圖7所闡述之第一操作階段可係一AND、NAND、OR或NOR操作之一第一操作階段。執行圖7中所圖解說明之操作階段可涉及消耗顯著少於先前處理方法之能量(例如,為大約一半),先前處理方法可涉及提供電壓軌之間(例如,一供應與接地之間)的一全擺動。
在圖7中所圖解說明之實例中,對應於互補邏輯值(例如,「1」及「0」)之電壓軌係一供應電壓(VDD)及一參考電壓(例如,接地(Gnd))。在執行一邏輯操作之前,可發生平衡使得互補資料線D及D_在一平衡電壓(VDD/2)下短接在一起,如先前所闡述。
下文所闡述之一邏輯操作之第一操作階段涉及將邏輯操作之一第一運算元載入至累加器中。圖7中所展示之時間參考(例如,t1等)未必表示與其他時序圖中之類似時間參考相同之一絕對或相對時間。
在時間t1處,對平衡信號726撤銷啟動,且然後啟用一選定列(例如,對應於其資料值將經感測且用作一第一輸入之一記憶體胞元的列)。信號704-0表示施加至選定列(例如,圖2A中所展示之列Y 204-Y)之電壓信號。當列信號704-0達到對應於選定胞元之存取電晶體(例
如,圖2A中所展示之202-1)之臨限電壓(Vt)時,存取電晶體接通且將資料線D耦合至選定記憶體胞元(例如,若胞元係一1T1C DRAM胞元則耦合至圖2A中所展示之電容器203-1),此在時間t2與t3之間形成資料線D與D_之間的一差動電壓信號(例如,如分別由資料線上之信號705-1及705-2所指示)。由信號703表示選定胞元之電壓。由於能量守恆,形成資料線D與D_之間的差動信號(例如,藉由將胞元耦合至資料線D)不消耗能量,此乃因可經由耦合至列之複數個記憶體胞元攤還與啟用/停用列信號704-0相關聯之能量。
在時間t3處,啟動感測放大器(例如,圖2A中所展示之206)(例如,一正控制信號765(例如,對應於圖2B中所展示之ACT 265)變高,且負控制信號728(例如,對應於圖2B中所展示之RnIF 228)變低),此放大D與D_之間的差動信號,從而導致對應於一邏輯「1」之一電壓(例如,VDD)或對應於一邏輯「0」之一電壓(例如,接地)在資料線D上(且其他電壓在互補資料線D_上),使得所感測資料值儲存於感測放大器206之初級鎖存器中。在將資料線D(205-1)自平衡電壓VDD/2充電至導軌電壓VDD中發生初級能量消耗。圖7展示在實例中在資料線D上對應於一邏輯「1」之資料線電壓705-1及705-2。
根據某些實施例,感測放大器206之初級鎖存器可透過各別通過電晶體耦合至互補資料線D及D_(圖2B中未展示,但呈與鎖存器264透過圖2A中所展示之負載/通過電晶體218-1及218-2耦合至資料線D及D_之方式類似之一組態)。Passd控制信號711控制一個通過電晶體。Passdb控制信號控制另一通過電晶體,且此處Passdb控制信號可在此處表現得與Passd控制信號相同。
在時間t4處,可啟用通過電晶體(若存在)(例如,經由施加至耦合至通過電晶體之各別閘極之控制線之各別Passd及Passdb控制信號711變高)。在時間t5處,經由圖2A中所展示之各別控制線212-1及212-2啟
動累加器正控制信號712-1(例如,Accumb)及累加器正控制信號712-2(例如,Accum)。如下文所闡述,累加器控制信號ACCUMB 712-1及ACCUM 712-2可針對後續操作階段保持啟動。如此,在此實例中,啟動控制信號ACCUMB 712-1及ACCUM 712-2會啟用圖2A中所展示之計算組件231-6之次級鎖存器(例如,累加器)。儲存於感測放大器206中之所感測資料值傳送(例如,複製)至次級鎖存器,包含動態鎖存器及鎖存器264。
在時間t6處,Passd控制信號711(及Passdb控制信號)變低藉此關斷通過電晶體(若存在)。然而,由於累加器控制信號ACCUMB 712-1及ACCUM 712-2保持啟動,因此一經累加結果儲存(例如,鎖存)於次級鎖存器(例如,累加器)中。在時間t7處,對列信號704-0撤銷啟動,且在時間t8處停用陣列感測放大器(例如,對感測放大器控制信號728及765撤銷啟動)。
在時間t9處,資料線D及D_係平衡的(例如,啟動平衡信號726),如由自其各別軌值移動至平衡電壓(VDD/2)之資料線電壓信號705-1及705-2所圖解說明。該平衡由於能量守恆定律而消耗極少能量。如下文與圖2B相關聯地所闡述,在此實例中,平衡可涉及使互補資料線D與D_在係VDD/2之一平衡電壓下短接在一起。例如,可在一記憶體胞元感測操作之前發生平衡。
圖8及圖9分別圖解說明根據本發明之若干項實施例之與使用感測電路執行若干個邏輯操作相關聯之時序圖。圖8及圖9中所展示之時序圖圖解說明與執行一邏輯操作(例如,一R輸入邏輯操作)之若干個中間操作階段相關聯之信號(例如,電壓信號)。例如,圖8中所展示之時序圖對應於一R輸入NAND操作或一R輸入AND操作之若干個中間操作階段,且圖9中所展示之時序圖對應於一R輸入NOR操作或一R輸入OR操作之若干個中間操作階段。舉例而言,執行一AND或
NAND操作可包含繼諸如關於圖7所闡述之一初始操作階段之後執行圖8中所展示之操作階段一或多次。類似地,執行一OR或NOR操作可包含繼諸如關於圖7所闡述之一初始操作階段之後執行關於圖9所展示及所闡述之操作階段一或多次。
如圖8及圖9中所圖解說明之時序圖中所展示,在時間t1處,停用平衡(例如,對平衡信號826/926撤銷啟動),且然後啟用一選定列(例如,對應於其資料值將經感測且用作諸如一第二輸入、第三輸入等之一輸入之一記憶體胞元的列)。信號804-1/904-1表示施加至選定列(例如,圖2A中所展示之列Y 204-Y)之電壓信號。當列信號804-1達到對應於選定胞元之存取電晶體(例如,圖2A中所展示之202-1)之臨限電壓(Vt)時,存取電晶體接通且將資料線D耦合至選定記憶體胞元(例如,若胞元係一1T1C DRAM胞元則耦合至電容器203-1),此在時間t2與t3之間形成資料線D與D_之間的一差動電壓信號(例如,如分別由信號805-1/905-1及805-2/905-2所指示)。由信號803/903表示選定胞元之電壓。由於能量守恆,形成D與D_之間的差動信號(例如,藉由將胞元耦合至資料線D)可不消耗能量,此乃因可經由耦合至列之複數個記憶體胞元攤還與啟動/撤銷啟動列信號804-1/904-1相關聯之能量。
在時間t3處,啟用感測放大器(例如,圖2A中所展示之206)(例如,一正控制信號865/965(例如,對應於圖2B中所展示之ACT 233)變高,且負控制信號828/929(例如,圖2B中所展示之RnIF 228)變低),此放大D與D_之間的差動信號,從而導致對應於一邏輯1之一電壓(例如,VDD)或對應於一邏輯0之一電壓(例如,接地)在資料線D上(且其他電壓在互補資料線D_上),使得所感測資料值儲存於感測放大器206之初級鎖存器中。在將資料線D(205-1)自平衡電壓VDD/2充電至導軌電壓VDD中發生初級能量消耗。
如圖8及圖9中所圖解說明之時序圖中所展示,在時間t4處(例
如,在感測到選定胞元之後),取決於特定邏輯操作而啟動圖8中所展示之控制信號811-1(Passd)及圖9中所展示之控制信號911-2(Passdb)中之僅一者(例如,啟用通過電晶體中之僅一者(若存在))。舉例而言,由於圖8中所圖解說明之時序圖對應於一NAND或AND操作之一中間階段,因此在時間t4處啟動控制信號811-1(Passd)以接通將初級鎖存器耦合至資料線D之通過電晶體,且Passdb控制信號保持撤銷啟動從而使將初級鎖存器耦合至資料線D_之通過電晶體關斷。相反地,由於圖9中所圖解說明之時序圖對應於一NOR或OR操作之一中間階段,因此在時間t4處啟動控制信號911-2(Passdb)以接通將初級鎖存器耦合至資料線D_之通過電晶體,且控制信號Passd保持撤銷啟動從而使將初級鎖存器耦合至資料線D之通過電晶體關斷。自上文回想:累加器控制信號712-1(Accumb)及712-2(Accum)在關於圖7所闡述之初始操作階段期間經啟動,且其在中間操作階段期間保持啟動。
由於先前啟用累加器,因此僅啟動Passd(如圖8中所展示之811-1)導致累加對應於圖8中所展示之電壓信號805-1(對應於資料線D)之資料值。類似地,僅啟動Passdb(如圖9中所展示之911-2)導致累加對應於電壓信號905-2(對應於資料線D_)之資料值。例如,在圖8中所圖解說明之時序圖中所展示之一實例性AND/NAND操作(其中僅啟動Passd(811-1))中,若儲存於第二選定記憶體胞元中之資料值係一邏輯「0」,則與次級鎖存器相關聯之經累加值經確證為低,使得次級鎖存器儲存邏輯「0」。若儲存於第二選定記憶體胞元中之資料值並非一邏輯「0」,則次級鎖存器保持其所儲存第一選定記憶體胞元資料值(例如,一邏輯「1」或一邏輯「0」)。如此,在此AND/NAND操作實例中,次級鎖存器正用作一零(0)累加器。
類似地,在圖9中所圖解說明之時序圖中所展示之一實例性OR/NOR操作(其中僅啟動Passdb 911-2)中,若儲存於第二選定記憶體
胞元中之資料值係一邏輯「1」,則與次級鎖存器相關聯之經累加值經確證為高,使得次級鎖存器儲存邏輯「1」。若儲存於第二選定記憶體胞元中之資料值並非一邏輯「1」,則次級鎖存器保持其所儲存第一選定記憶體胞元資料值(例如,一邏輯「1」或一邏輯「0」)。如此,在此OR/NOR操作實例中,次級鎖存器正有效地用作一個一(1)累加器,此乃因D_上之電壓信號905-2正設定累加器之真實資料值。
在諸如圖8及圖9中所展示之一中間操作階段結束時,對Passd信號811-1(例如,用於AND/NAND)或Passdb信號911-2(例如,用於OR/NOR)撤銷啟動(例如,在時間t5處),停用選定列(例如,在時間t6處),停用感測放大器(例如,在時間t7處),且發生平衡(例如,在時間t8處)。可重複諸如圖8或圖9中所圖解說明之一中間操作階段以便累加來自若干個額外列之結果。作為一實例,圖8及圖9中所圖解說明之時序圖之序列可針對一第三記憶體胞元經執行一後續(例如,第二)次,針對一第四記憶體胞元經執行一後續(例如,第三)次等。例如,針對一10輸入NOR操作,圖9中所展示之中間階段可發生9次以提供10輸入邏輯操作之9個輸入,其中在初始操作階段(例如,如關於圖7所闡述)期間判定第十輸入。
圖10圖解說明根據本發明之若干項實施例之與使用感測電路執行若干個邏輯操作相關聯之一時序圖。圖10中所圖解說明之時序圖展示與執行一邏輯操作(例如,一R輸入邏輯操作)之一最後操作階段相關聯之信號(例如,電壓信號)。例如,圖10中所圖解說明之時序圖對應於一R輸入AND操作或一R輸入OR操作之一最後操作階段。
舉例而言,執行一R輸入之一最後操作階段可包含繼與圖8及/或圖9相關聯地闡述之中間操作階段之若干次反覆之後執行圖10中所展示之操作階段。下文所展示之表2指示根據本文中所闡述之若干項實施例之對應於與執行若干個R輸入邏輯操作相關聯之操作階段序列之
各圖。
可(舉例而言)藉由以下操作實施一NAND操作:將一AND操作之R-1次反覆之結果儲存於感測放大器中,然後使感測放大器在進行最後操作階段之前反轉以儲存結果(下文所闡述)。可(舉例而言)藉由以下操作實施一NOR操作:將一OR操作之R-1次反覆之結果儲存於感測放大器中,然後使感測放大器在進行最後操作階段之前反轉以儲存結果(下文所闡述)。
與將一R輸入邏輯操作之一結果儲存至陣列(例如,圖2A中所展示之陣列230)之一列相關聯地闡述圖10之時序圖中所圖解說明之最後操作階段。然而,如上文所闡述,在若干項實施例中,可將結果儲存至除往回至陣列以外之一適合位置(例如,經由I/O線儲存至與一控制器及/或主機處理器相關聯之一外部暫存器、儲存至一不同記憶體器件之一記憶體陣列等)。
如圖10中所圖解說明之時序圖中所展示,在時間t1處,停用平衡(例如,對平衡信號1026撤銷啟動)使得資料線D及D_在浮動。在時間t2處,啟動Passd控制信號1011(及Passdb信號)以用於一AND或OR操作。
啟動Passd控制信號1011(及Passdb信號)(例如,與一AND或OR操作相關聯)將儲存於圖2A中所展示之計算組件231-6之次級鎖存器中之所累加輸出傳送至感測放大器206之初級鎖存器。例如,針對一AND操作,若在先前操作階段(例如,圖7中所圖解說明之第一操作階段及圖8中所圖解說明之中間操作階段之一或多次反覆)中感測之記憶體胞元中之任何者儲存一邏輯「0」(例如,若AND操作之R輸入中之任何者係一邏輯「0」),則資料線D_將攜載對應於邏輯「1「之一電壓(例如,VDD)且資料線D將攜載對應於邏輯「0「之一電壓(例如,接地)。針對此AND操作實例,若在先前操作階段中感測之所有記憶體胞元儲存一邏輯「1」(例如,AND操作之所有R輸入係邏輯「1」),則資料線D_將攜載對應於邏輯「0」之一電壓且資料線D將攜載對應於邏輯「1」之一電壓。在時間t3處,然後啟用感測放大器206之初級鎖存器(例如,一正控制信號1065(例如,對應於圖2B中所展示之ACT 265)變高且負控制信號1028(例如,對應於圖2B中所展示之RnIF 228)變低),此放大資料線D與D_之間的差動信號,使得資料線D現在攜載各別輸入資料值之經AND操作結果(如自在先前操作階段期間感測之記憶體胞元判定)。如此,若輸入資料值中之任何者係一邏輯「0」,則資料線D將處於接地,且若所有輸入資料值係一邏輯「1」,則資料線D將處於VDD。
針對一OR操作,若在先前操作階段(例如,圖7之第一操作階段及圖9中所展示之中間操作階段之一或多次反覆)中感測之記憶體胞元中之任何者儲存一邏輯「1」(例如,若OR操作之R輸入中之任何者係一邏輯1),則資料線D_將攜載對應於邏輯「0」之一電壓(例如,接地)且資料線D將攜載對應於邏輯「1」之一電壓(例如,VDD)。針對此OR實例,若在先前操作階段中感測之所有記憶體胞元儲存一邏輯「0」(例如,OR操作之所有R輸入係邏輯「0」),則資料線D將攜載
對應於邏輯「0」之一電壓且資料線D_將攜載對應於邏輯「1」之一電壓。在時間t3處,然後啟用感測放大器206之初級鎖存器且資料線D現在攜載各別輸入資料值之經OR操作之結果(如依據在先前操作階段期間感測之記憶體胞元判定)。如此,若輸入資料值中之任何者係一邏輯「1」,則資料線D將處於VDD,且若所有輸入資料值係一邏輯「0」,則資料線D將處於接地。
R輸入AND或OR邏輯操作之結果然後可往回儲存至圖2A中所展示之陣列230之一記憶體胞元。在圖10中所展示之實例中,R輸入邏輯操作之結果儲存至耦合至經啟用之最後列(例如,最後邏輯操作運算元之列)之一記憶體胞元。將邏輯操作之結果儲存至一記憶體胞元僅僅涉及藉由啟用特定列而啟用相關聯列存取電晶體。記憶體胞元之電容器將經驅動至對應於資料線D上之資料值(例如,邏輯「1」或邏輯「0」)之一電壓,此基本上對先前儲存於選定記憶體胞元中之任何資料值重寫。應注意,選定記憶體胞元可係儲存用作邏輯操作之一輸入之一資料值之一相同記憶體胞元。例如,邏輯操作之結果可往回儲存至儲存邏輯操作之一運算元之一記憶體胞元。
圖10中所圖解說明之時序圖展示在時間t3處對正控制信號1065及負控制信號1028啟動(例如,信號1065變高且信號1028變低)以啟用圖2A中所展示之感測放大器206。在時間t4處,對在時間t2處啟動之Passd控制信號1011(及Passdb信號)撤銷啟動。實施例並不限於此實例。例如,在若干項實施例中,可繼時間t4之後(例如,在對Passd控制信號1011(及Passdb信號)撤銷啟動之後)啟用圖2A中所展示之感測放大器206。
如圖10中所展示,在時間t5處,啟用一選定列(例如,藉由列啟動信號1004變高),此將選定胞元之電容器驅動至對應於儲存於累加器中之邏輯值之電壓1003。在時間t6處,停用選定列。在時間t7處,
停用圖2A中所展示之感測放大器206(例如,對正控制信號1065及負控制信號1028撤銷啟動),且在時間t8處發生平衡(例如,啟動信號1026且使互補資料線1005-1(D)及1005-2(D_)上之電壓變為平衡電壓)。
儘管上文關於圖10論述執行一R輸入之一最後操作階段之實例以用於執行AND及OR邏輯操作,但實施例不限於此等邏輯操作。舉例而言,NAND及NOR操作亦可涉及使用控制信號操作圖2A中所圖解說明之感測電路來往回儲存至陣列230之一記憶體胞元之一R輸入之一最後操作階段。
圖11係圖解說明根據本發明之若干項實施例之具有可選擇邏輯操作選擇邏輯之感測電路之一示意圖。圖11展示耦合至一對互補感測線1105-1及1105-2之一感測放大器1106及經由通過閘極1107-1及1107-2耦合至感測放大器1106之一計算組件1131。通過閘極1107-1及1107-2之閘極可由可自邏輯操作選擇邏輯1113-5輸出之一邏輯操作選擇邏輯信號PASS控制。圖11展示標記為「A」之計算組件1131及標記為「B」之感測放大器1106以指示儲存於計算組件1131中之資料值係「A」資料值且儲存於感測放大器1106中之資料值係「B」資料值,關於圖12所圖解說明之邏輯表中所展示。
圖11中所圖解說明之感測電路1150包含邏輯操作選擇邏輯1113-5。在此實例中,邏輯1113-5包括由一邏輯操作選擇邏輯信號PASS*控制之交換閘極1142。邏輯操作選擇邏輯1113-5亦包括四個邏輯選擇電晶體:邏輯選擇電晶體1162,其耦合於交換電晶體1142之閘極與一TF信號控制線之間;邏輯選擇電晶體1152,其耦合於通過閘極1107-1及1107-2之閘極與一TT信號控制線之間;邏輯選擇電晶體1154,其耦合於通過閘極1107-1及1107-2之閘極與一FT信號控制線之間;及邏輯選擇電晶體1164,其耦合於交換電晶體1142之閘極與一FF信號控制線
之間。邏輯選擇電晶體1162及1152之閘極透過隔離電晶體1150-1(具有耦合至一ISO信號控制線之一閘極)耦合至真實感測線(例如,1105-1),且邏輯選擇電晶體1164及1154之閘極透過隔離電晶體1150-2(亦具有耦合至一ISO信號控制線之一閘極)耦合至互補感測線(例如,1105-2)。
邏輯選擇電晶體1152及1154分別類似於如圖2A中所展示之電晶體207-1(耦合至一AND信號控制線)及電晶體207-2(耦合至一OR信號控制線)而經配置。邏輯選擇電晶體1152及1154之操作基於TT及FT選擇信號之狀態及在確證ISO信號時各別互補感測線上之資料值而係類似的。邏輯選擇電晶體1162及1164亦以類似於交換電晶體1142之控制連續性之一方式操作。亦即,為開通(OPEN,例如,接通)交換電晶體1142,在真實感測線上之資料值為「1」之情況下啟動TF控制信號(例如,為高),或在互補感測線上之資料值為「1」之情況下啟動FF控制信號(例如,為高)。若對應感測線(例如,特定邏輯選擇電晶體之閘極耦合至其之感測線)上之各別控制信號或資料值並非高的,則交換電晶體1142將不由一特定邏輯選擇電晶體開通。
PASS*控制信號未必與PASS控制信號互補。例如,可能同時啟動PASS及PASS*控制信號兩者或對該兩者撤銷啟動。然而,同時啟動PASS及PASS*控制信號兩者使互補感測線對短接在一起,此可係待避免之一破壞性組態。圖12中所圖解說明之邏輯表中總結圖11中所圖解說明之感測電路之邏輯操作結果。
圖12係圖解說明根據本發明之若干項實施例之可由圖11中所展示之感測電路實施之可選擇邏輯操作結果之一邏輯表。四個邏輯選擇控制信號(例如,TF、TT、FT及FF)連同存在於互補感測線上之一特定資料值可用於選擇複數個邏輯操作中之一者來實施涉及儲存於感測放大器1106及計算組件1131中之開始資料值。該四個控制信號連同存
在於互補感測線上之一特定資料值控制通過閘極1107-1及1107-2以及交換電晶體1142之連續性,此又在激發之前/之後影響計算組件1131及/或感測放大器1106中之資料值。選擇性地控制交換電晶體1142之連續性之能力促進實施涉及反轉資料值(例如,反轉運算元及/或反轉結果)之邏輯操作以及其他。
圖12中所圖解說明之邏輯表展示1244處之欄A中所展示之儲存於計算組件1131中之開始資料值及1245處之欄B中所展示之儲存於感測放大器1106中之開始資料值。圖12之邏輯表中之其他3個頂欄標題(未開通(NOT OPEN)1256、開通真實(OPEN TRUE)1270及反轉開通(OPEN INVERT)1271)係指通過閘極1107-1及1107-2以及交換電晶體1142之連續性,通過閘極1107-1及1107-2以及交換電晶體1142可分別取決於在確證ISO控制信號時四個邏輯選擇控制信號(例如,TF、TT、FT及FF)之狀態連同存在於互補感測線對1105-1及1105-2上之一特定資料值而經控制為開通或關閉。「未開通」欄對應於通過閘極1107-1及1107-2以及交換電晶體1142兩者皆處於一非導電狀況中,「開通真實」對應於通過閘極1107-1及1107-2處於一導電狀況中,且「反轉開通」對應於交換電晶體1142處於一導電狀況中。圖12之邏輯表中未反映對應於通過閘極1107-1及1107-2以及交換電晶體1142兩者皆處於一導電狀況中之組態,此乃因此組態導致感測線短接在一起。
經由通過閘極1107-1及1107-2以及交換電晶體1142之連續性之選擇性控制,圖12之邏輯表之上部部分之第一組兩列之三個欄中之每一者可與在第一組下面之第二組兩列之三個欄中之每一者組合以提供對應於九個不同邏輯操作之3×3=9個不同結果組合,如由1275處所展示之各種連接路徑所指示。圖12中所圖解說明之邏輯表中總結可由感測電路1150實施之九個不同可選擇邏輯操作。
圖12中所圖解說明之邏輯表之下部部分之欄展示包含邏輯選擇
控制信號之狀態之一標題1280。舉例而言,一第一邏輯選擇控制信號之狀態提供於列1276中,一第二邏輯選擇控制信號之狀態提供於列1277中,一第三邏輯選擇控制信號之狀態提供於列1278中,且一第四邏輯選擇控制信號之狀態提供於列1279中。列1247中總結對應於結果之特定邏輯操作。
如此,圖11中所展示之感測電路可用於執行如圖12中所展示之各種邏輯操作。舉例而言,根據本發明之若干項實施例,可操作感測電路1150以執行與比較記憶體中之資料型樣相關聯之各種邏輯操作(例如,AND及OR邏輯操作)。
本發明包含與在記憶體中執行比較操作有關之裝置及方法。一實例性裝置可包含耦合至一第一存取線之一第一記憶體胞元群組。一第一元素可儲存於該第一記憶體胞元群組中。一實例性裝置可包含耦合至一第二存取線之一第二記憶體胞元群組。一第二元素可儲存於該第二記憶體胞元群組中。一實例性裝置亦可包含感測電路,該感測電路經組態以藉由在不經由一輸入/輸出(I/O)線傳送資料之情況下執行若干個AND操作、OR操作、SHIFT操作及INVERT操作而比較該第一元素與該第二元素。
儘管本文中已圖解說明及闡述了具體實施例,但熟習此項技術者將瞭解,旨在實現相同結果之一配置可替代所展示之具體實施例。本發明意欲涵蓋本發明之一或多個實施例之改寫或變化。應理解,已以一說明性方式而非一限定性方式做出以上闡述。在審閱以上闡述後,熟習此項技術者將明瞭以上實施例之組合及本文中未具體闡述之其他實施例。本發明之一或多個實施例之範疇包含其中使用以上結構及方法之其他應用。因此,本發明之一或多個實施例之範疇應參考所附申請專利範圍連同授權此等申請專利範圍之等效內容之全部範疇來判定。
在前述實施方式中,出於簡化本發明之目的,將某些特徵一起集合於一單個實施例中。本發明之此方法不應解釋為反映本發明之所揭示實施例必須使用比明確陳述於每一請求項中更多之特徵之意圖。而是,如以下申請專利範圍反映:發明性標的物在於少於一單個所揭示實施例之所有特徵。因此,特此將以下申請專利範圍併入至實施方案中,其中每一請求項獨立地作為一單獨實施例。
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‧‧‧計算組件
Claims (22)
- 一種用於比較多個元素之裝置,其包括:一第一記憶體胞元群組,其耦合至一第一存取線且經組態以儲存複數個第一元素;一第二記憶體胞元群組,其耦合至一第二存取線且經組態以儲存複數個第二元素;及一控制器,其經組態以使用感測電路以藉由在不經由一輸入/輸出(I/O)線傳送資料之情況下執行多個AND操作、OR操作、SHIFT操作及INVERT操作而比較該複數個第一元素與該複數個第二元素;及其中比較該複數個第一元素與該複數個第二元素包括:識別該複數個第一元素及該複數個第二元素之一最高有效位元;識別該複數個第一元素及該複數個第二元素中之每一者之一最低有效位元;及提供一比較結果,其指示該複數個第一元素是否等於該複數個第二元素。
- 如請求項1之裝置,其中執行該多個AND操作、OR操作、INVERT操作及SHIFT操作包括在不執行一感測線位址存取之情況下執行該多個AND操作、OR操作、INVERT操作及SHIFT操作。
- 如請求項2之裝置,其進一步包括按間距與對應於該第一記憶體胞元群組及該第二記憶體胞元群組之多個互補感測線行一起使用感測電路來執行該多個AND操作、OR操作、INVERT操作及SHIFT操作。
- 如請求項3之裝置,其中該感測電路包括對應於該多個行中之每一各別行之一感測放大器及一計算組件。
- 一種用於比較元素之方法,其包括:在不執行一感測線位址存取之情況下對以下各項執行一比較操作:一第一元素,其儲存於耦合至一第一存取線且耦合至一記憶體陣列之多個感測線之一第一記憶體胞元群組中;及一第二元素,其儲存於耦合至一第二存取線且耦合至該記憶體陣列之該多個感測線之一第二記憶體胞元群組中;且其中該比較操作提供指示該第一元素是否等於該第二元素或該第一元素及該第二元素中之哪一者較大之一結果;且其中該結果包括:一第一位元向量,其儲存於耦合至一第三存取線的一第三群組之多個記憶體胞元中;及一第二位元向量,其儲存於耦合至一第四存取線的一第四群組之多個記憶體胞元中。
- 如請求項5之方法,其中該第一元素係一第一值且該第二元素係一第二值,且其中該比較操作之該結果指示該第一值是否等於該第二值或該第一值及該第二值中之哪一者較大。
- 一種用於比較多個元素之裝置,其包括:一第一記憶體胞元群組,其耦合至一第一存取線且經組態以儲存一第一元素;一第二記憶體胞元群組,其耦合至一第二存取線且經組態以儲存一第二元素;及一控制器,其經組態以使用感測電路以:藉由比較該第一元素與該第二元素而執行一比較操作;且 在不經由一輸入/輸出(I/O)線傳送資料之情況下將該比較操作之一結果儲存於一第三記憶體胞元群組中;其中該第三記憶體胞元群組包括耦合至一第三存取線之多個記憶體胞元及耦合至一第四存取線之多個記憶體胞元,其中該第三存取線及該第四存取線不同於該第一存取線及該第二存取線;且其中該比較操作之該結果包含:一第一位元向量,其儲存於耦合至該第三存取線的該第三群組之該多個記憶體胞元中;及一第二位元向量,其儲存於耦合至該第四存取線的該第三群組之該多個記憶體胞元中。
- 如請求項7之裝置,其中回應於該第一元素大於該第二元素,該第一位元向量係一第一位元型樣且該第二位元向量係一第二位元型樣。
- 如請求項7之裝置,其中回應於該第二元素大於該第一元素,該第一位元向量係該第二位元型樣且該第二位元向量係該第一位元型樣。
- 如請求項7之裝置,其中回應於該第一元素等於該第二元素,該第一位元向量及該第二位元向量兩者皆係以下各項中之一者:該第一位元型樣;及該第二位元型樣。
- 一種用於比較多個元素之裝置,其包括:一第一記憶體胞元群組,其耦合至一第一存取線且耦合至多個感測線並且經組態以儲存一第一元素;一第二記憶體胞元群組,其耦合至一第二存取線且耦合至該多個感測線並且經組態以儲存一第二元素; 一第三記憶體胞元群組,其經組態以儲存對該第一元素及該第二元素執行之一比較操作之一結果,該第三胞元群組包括:耦合至一第三存取線且耦合至該多個感測線之多個胞元;及耦合至一第四存取線且耦合至該多個感測線之多個胞元;及一控制器,其經組態以使用感測電路以執行該比較操作,且在不經由一輸入/輸出(I/O)線傳送資料之情況下將該比較操作之該結果儲存於該第三記憶體胞元群組中。
- 如請求項11之裝置,其中該控制器進一步經組態以使用該感測電路以:建立識別該第一元素與該第二元素相比較之差異之一第一位元向量;建立識別該第二元素與該第一元素相比較之差異之一第二位元向量;判定識別該第一位元向量中之一最高有效一(1)位元之一第一索引;判定識別該第二位元向量中之一最高有效一(1)位元之一第二索引。
- 如請求項12之裝置,其中該控制器進一步經組態以使用該感測電路以:回應於該第一索引大於該第二索引之一判定,將一特定位元向量儲存於耦合至該第三存取線之該多個記憶體胞元中且將一不同特定位元向量儲存於耦合至該第四存取線之該多個記憶體胞元中以指示該第一元素大於該第二元素;回應於該第二索引大於該第一索引之一判定,將該不同特定 位元向量儲存於耦合至該第三存取線之該多個記憶體胞元中且將該特定位元向量儲存於耦合至該第四存取線之該多個記憶體胞元中以指示該第二元素大於該第一元素;且回應於該第一索引與該第二索引相同之一判定,將該特定位元向量儲存於耦合至該第三存取線之該多個記憶體胞元中且將該特定位元向量儲存於耦合至該第四存取線之該多個記憶體胞元中以指示該第一元素等於該第二元素。
- 一種用於比較元素之方法,其包括:在不執行一感測線位址存取之情況下在記憶體中對以下各項執行一比較操作:複數(M)個第一元素,其儲存於耦合至一第一存取線且耦合至一記憶體陣列之多(C)個感測線之一第一記憶體胞元群組中;及複數(M)個第二元素,其儲存於耦合至一第二存取線且耦合至該記憶體陣列之該C個感測線之第二記憶體胞元群組中;及提供指示該M個第一元素是否等於該M個第二元素或該M個第一元素及該M個第二元素中之哪些較大之一比較操作結果;且其中執行該比較操作包括:識別該M個第一元素及該M個第二元素之一最高有效位元(MSB);及識別該M個第一元素及該M個第二元素中之每一者之一最低有效位元(LSB)。
- 如請求項14之方法,其中執行該比較操作進一步包括:使用一遮罩元素執行多次操作反覆以隔離來自該M個第一元素與該M個第二元素之對應元素,其中使用該M個第一元素及該M個第二元素之該MSB來建立該遮罩元素。
- 如請求項14或15之方法,其中該多次操作反覆中之每一操作反覆進一步包括:判定來自該M個第一元素之一元素是否大於來自該M個第二元素之一對應元素。
- 如請求項14或15之方法,其中該多次操作反覆中之每一操作反覆進一步包括:判定來自該M個第一元素之一元素是否小於來自該M個第二元素之該對應元素。
- 如請求項14或15之方法,其中該多次操作反覆中之每一操作反覆進一步包括:判定來自該M個第一元素之一元素是否等於來自該M個第二元素之該對應元素。
- 如請求項14或15之方法,其中該多次操作反覆中之每一操作反覆進一步包括:對來自該M個第一元素及該M個第二元素之對應元素執行一AND操作以找出共用位元,且其中一共用位元係指在來自該M個第一元素之一元素中且具有一特定索引之一特定位元與在來自該M個第二元素之一元素中且具有該特定索引之一對應位元相同。
- 如請求項19之方法,其中該多次操作反覆中之每一操作反覆進一步包括:使用該AND操作之一結果執行一INVERT操作以識別在對應元素之間不共用之位元。
- 如請求項20之方法,其中該多次操作反覆中之每一操作反覆進一步包括:藉由對該INVERT操作之一結果及來自該等對應元素之一第一元素執行一AND操作而識別該第二元素與該第一元素相比較之差異;藉由對該INVERT操作之該結果及來自該等對應元素之該第二元素執行一AND操作而識別該第一元素與該第二元素相比較之差異; 使用該INVERT操作之該結果及來自該等對應元素之一第一元素而自該AND操作之一結果識別一第一最高有效一(1)位元;及使用該INVERT操作之該結果及來自該等對應元素之一第二元素而自該AND操作之該結果識別一第二最高有效一(1)位元;其中識別該第一最高有效一(1)位元及該第二最高有效一(1)位元包含執行複數個AND操作、複數個BLOCKOR操作及複數個SHIFT操作;且其中使用該LSB來識別該第一最高有效一(1)位元及該第二最高有效一(1)位元。
- 如請求項21之方法,其中該多次操作反覆中之每一操作反覆進一步包括:將該比較操作之結果儲存於耦合至一第三存取線且耦合至該記憶體陣列之該多個感測線之一第三記憶體胞元群組中;其中該比較操作之該結果基於該第一最高有效一(1)位元與該第二最高有效一(1)位元之間的一比較;且其中在該多次操作反覆中之每一操作反覆期間使用一OR操作更新該比較操作之該等結果。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462008004P | 2014-06-05 | 2014-06-05 | |
US14/716,079 US9830999B2 (en) | 2014-06-05 | 2015-05-19 | Comparison operations in memory |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201626215A TW201626215A (zh) | 2016-07-16 |
TWI575449B true TWI575449B (zh) | 2017-03-21 |
Family
ID=54767346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104118411A TWI575449B (zh) | 2014-06-05 | 2015-06-05 | 用於比較多個元素之裝置及方法 |
Country Status (5)
Country | Link |
---|---|
US (3) | US9830999B2 (zh) |
KR (1) | KR101921433B1 (zh) |
CN (1) | CN106489179B (zh) |
TW (1) | TWI575449B (zh) |
WO (1) | WO2015187902A1 (zh) |
Families Citing this family (108)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9830999B2 (en) * | 2014-06-05 | 2017-11-28 | Micron Technology, Inc. | Comparison operations in memory |
US9589602B2 (en) * | 2014-09-03 | 2017-03-07 | Micron Technology, Inc. | Comparison operations in memory |
US9940026B2 (en) | 2014-10-03 | 2018-04-10 | Micron Technology, Inc. | Multidimensional contiguous memory allocation |
US10061590B2 (en) | 2015-01-07 | 2018-08-28 | Micron Technology, Inc. | Generating and executing a control flow |
US10032493B2 (en) | 2015-01-07 | 2018-07-24 | Micron Technology, Inc. | Longest element length determination in memory |
US9583163B2 (en) * | 2015-02-03 | 2017-02-28 | Micron Technology, Inc. | Loop structure for operations in memory |
WO2016144726A1 (en) | 2015-03-12 | 2016-09-15 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10140104B2 (en) | 2015-04-14 | 2018-11-27 | Micron Technology, Inc. | Target architecture determination |
US9959923B2 (en) | 2015-04-16 | 2018-05-01 | Micron Technology, Inc. | Apparatuses and methods to reverse data stored in memory |
US9704541B2 (en) | 2015-06-12 | 2017-07-11 | Micron Technology, Inc. | Simulating access lines |
US10282486B2 (en) * | 2015-09-08 | 2019-05-07 | Micron Technology, Inc. | Methods and apparatuses for searching data stored in a memory array using a replicated data pattern |
US9905276B2 (en) | 2015-12-21 | 2018-02-27 | Micron Technology, Inc. | Control of sensing components in association with performing operations |
US9952925B2 (en) * | 2016-01-06 | 2018-04-24 | Micron Technology, Inc. | Error code calculation on sensing circuitry |
US10048888B2 (en) | 2016-02-10 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for partitioned parallel data movement |
US9892767B2 (en) | 2016-02-12 | 2018-02-13 | Micron Technology, Inc. | Data gathering in memory |
US9971541B2 (en) | 2016-02-17 | 2018-05-15 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10956439B2 (en) | 2016-02-19 | 2021-03-23 | Micron Technology, Inc. | Data transfer with a bit vector operation device |
US9899070B2 (en) | 2016-02-19 | 2018-02-20 | Micron Technology, Inc. | Modified decode for corner turn |
US9697876B1 (en) | 2016-03-01 | 2017-07-04 | Micron Technology, Inc. | Vertical bit vector shift in memory |
US9997232B2 (en) | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
US10262721B2 (en) | 2016-03-10 | 2019-04-16 | Micron Technology, Inc. | Apparatuses and methods for cache invalidate |
US10379772B2 (en) | 2016-03-16 | 2019-08-13 | Micron Technology, Inc. | Apparatuses and methods for operations using compressed and decompressed data |
US9910637B2 (en) | 2016-03-17 | 2018-03-06 | Micron Technology, Inc. | Signed division in memory |
US10120740B2 (en) | 2016-03-22 | 2018-11-06 | Micron Technology, Inc. | Apparatus and methods for debugging on a memory device |
US11074988B2 (en) | 2016-03-22 | 2021-07-27 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US10388393B2 (en) | 2016-03-22 | 2019-08-20 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US10977033B2 (en) | 2016-03-25 | 2021-04-13 | Micron Technology, Inc. | Mask patterns generated in memory from seed vectors |
US10474581B2 (en) | 2016-03-25 | 2019-11-12 | Micron Technology, Inc. | Apparatuses and methods for cache operations |
US10074416B2 (en) | 2016-03-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10430244B2 (en) | 2016-03-28 | 2019-10-01 | Micron Technology, Inc. | Apparatuses and methods to determine timing of operations |
US10453502B2 (en) | 2016-04-04 | 2019-10-22 | Micron Technology, Inc. | Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions |
US10607665B2 (en) | 2016-04-07 | 2020-03-31 | Micron Technology, Inc. | Span mask generation |
US9818459B2 (en) | 2016-04-19 | 2017-11-14 | Micron Technology, Inc. | Invert operations using sensing circuitry |
US10153008B2 (en) | 2016-04-20 | 2018-12-11 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
US9659605B1 (en) | 2016-04-20 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
US10042608B2 (en) | 2016-05-11 | 2018-08-07 | Micron Technology, Inc. | Signed division in memory |
US9659610B1 (en) | 2016-05-18 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for shifting data |
US10049707B2 (en) | 2016-06-03 | 2018-08-14 | Micron Technology, Inc. | Shifting data |
US10387046B2 (en) | 2016-06-22 | 2019-08-20 | Micron Technology, Inc. | Bank to bank data transfer |
US10037785B2 (en) | 2016-07-08 | 2018-07-31 | Micron Technology, Inc. | Scan chain operation in sensing circuitry |
US10388360B2 (en) | 2016-07-19 | 2019-08-20 | Micron Technology, Inc. | Utilization of data stored in an edge section of an array |
US10733089B2 (en) | 2016-07-20 | 2020-08-04 | Micron Technology, Inc. | Apparatuses and methods for write address tracking |
US10387299B2 (en) | 2016-07-20 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods for transferring data |
US9767864B1 (en) * | 2016-07-21 | 2017-09-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in a sensing circuitry element |
US9972367B2 (en) | 2016-07-21 | 2018-05-15 | Micron Technology, Inc. | Shifting data in sensing circuitry |
US10303632B2 (en) | 2016-07-26 | 2019-05-28 | Micron Technology, Inc. | Accessing status information |
US10468087B2 (en) | 2016-07-28 | 2019-11-05 | Micron Technology, Inc. | Apparatuses and methods for operations in a self-refresh state |
US9990181B2 (en) | 2016-08-03 | 2018-06-05 | Micron Technology, Inc. | Apparatuses and methods for random number generation |
US11029951B2 (en) | 2016-08-15 | 2021-06-08 | Micron Technology, Inc. | Smallest or largest value element determination |
US10606587B2 (en) | 2016-08-24 | 2020-03-31 | Micron Technology, Inc. | Apparatus and methods related to microcode instructions indicating instruction types |
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 |
US10496631B2 (en) * | 2017-03-10 | 2019-12-03 | Symphony Communication Services Holdings Llc | Secure information retrieval and update |
US10838899B2 (en) | 2017-03-21 | 2020-11-17 | Micron Technology, Inc. | Apparatuses and methods for in-memory data switching networks |
US10185674B2 (en) | 2017-03-22 | 2019-01-22 | Micron Technology, Inc. | Apparatus and methods for in data path compute operations |
US11222260B2 (en) | 2017-03-22 | 2022-01-11 | Micron Technology, Inc. | Apparatuses and methods for operating neural networks |
US10049721B1 (en) | 2017-03-27 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10043570B1 (en) | 2017-04-17 | 2018-08-07 | Micron Technology, Inc. | Signed element compare in memory |
US10147467B2 (en) | 2017-04-17 | 2018-12-04 | Micron Technology, Inc. | Element value comparison 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 |
US10402165B2 (en) * | 2017-08-30 | 2019-09-03 | Gsi Technology Inc. | Concurrent multi-bit adder |
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 |
US10741239B2 (en) | 2017-08-31 | 2020-08-11 | Micron Technology, Inc. | Processing in memory device including a row address strobe manager |
US10346092B2 (en) | 2017-08-31 | 2019-07-09 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations using timing circuitry |
US10409739B2 (en) | 2017-10-24 | 2019-09-10 | Micron Technology, Inc. | Command selection policy |
US10936221B2 (en) * | 2017-10-24 | 2021-03-02 | Micron Technology, Inc. | Reconfigurable memory architectures |
US11281608B2 (en) | 2017-12-11 | 2022-03-22 | Micron Technology, Inc. | Translation system for finer grain memory architectures |
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 |
KR102424285B1 (ko) * | 2018-02-01 | 2022-07-25 | 에스케이하이닉스 주식회사 | 멀티 레벨 센싱 회로 및 이를 포함하는 반도체 장치 |
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 |
US10706911B1 (en) | 2018-10-10 | 2020-07-07 | Samsung Electronics Co., Ltd. | Sense amplifier for sensing multi-level cell and memory device including the sense amplifier |
US11175915B2 (en) | 2018-10-10 | 2021-11-16 | Micron Technology, Inc. | Vector registers implemented in memory |
US10769071B2 (en) | 2018-10-10 | 2020-09-08 | Micron Technology, Inc. | Coherent memory access |
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 |
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 |
US11152054B2 (en) * | 2019-08-28 | 2021-10-19 | Micron Technology, Inc. | Apparatuses and methods for performing background operations in memory using sensing circuitry |
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 |
US11861369B2 (en) | 2020-01-07 | 2024-01-02 | SK Hynix Inc. | Processing-in-memory (PIM) device |
US11537323B2 (en) | 2020-01-07 | 2022-12-27 | SK Hynix Inc. | Processing-in-memory (PIM) device |
US11227641B1 (en) | 2020-07-21 | 2022-01-18 | Micron Technology, Inc. | Arithmetic operations in memory |
KR102342994B1 (ko) * | 2020-07-21 | 2021-12-24 | 고려대학교 산학협력단 | 산술 연산을 지원하는 인메모리 컴퓨팅 |
US20220075600A1 (en) * | 2020-09-08 | 2022-03-10 | Macronix International Co., Ltd. | Memory device and operation method thereof |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5638317A (en) * | 1990-08-22 | 1997-06-10 | Texas Instruments Incorporated | Hierarchical DRAM array with grouped I/O lines and high speed sensing circuit |
TW200532708A (en) * | 2004-03-29 | 2005-10-01 | Saifun Semiconductors Ltd | Apparatus and methods for multi-level sensing in a memory array |
US20120134226A1 (en) * | 2010-11-29 | 2012-05-31 | Chow Daniel C | Sense amplifier and sense amplifier latch having common control |
Family Cites Families (283)
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 |
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 |
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 |
US5396567A (en) | 1990-11-16 | 1995-03-07 | Siemens Aktiengesellschaft | Process for adaptive quantization for the purpose of data reduction in the transmission of digital images |
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 | 삼성전자 주식회사 | 반도체 메모리 장치 |
US5485373A (en) | 1993-03-25 | 1996-01-16 | Taligent, Inc. | Language-sensitive text searching system with modified Boyer-Moore process |
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 |
US5754478A (en) | 1993-04-20 | 1998-05-19 | Micron Technology, Inc. | Fast, low power, write scheme for memory circuits using pulsed off isolation device |
US5369622A (en) | 1993-04-20 | 1994-11-29 | Micron Semiconductor, Inc. | Memory with isolated digit lines |
JP2663838B2 (ja) | 1993-07-27 | 1997-10-15 | 日本電気株式会社 | 半導体集積回路装置 |
JP3252306B2 (ja) | 1993-08-10 | 2002-02-04 | 株式会社日立製作所 | 半導体不揮発性記憶装置 |
JP3904244B2 (ja) | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
JP3176008B2 (ja) * | 1994-03-30 | 2001-06-11 | 株式会社東芝 | 半導体メモリ回路 |
US5396467A (en) * | 1994-03-30 | 1995-03-07 | United Microelectronics Corp. | Sense amplifier |
US5430687A (en) | 1994-04-01 | 1995-07-04 | Xilinx, Inc. | Programmable logic device including a parallel input device for loading memory cells |
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 |
US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
JP2812262B2 (ja) | 1995-08-31 | 1998-10-22 | 日本電気株式会社 | 連想記憶装置 |
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 |
US5787484A (en) * | 1996-08-08 | 1998-07-28 | Micron Technology, Inc. | System and method which compares data preread from memory cells to data to be written to the cells |
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 |
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 |
US5953738A (en) | 1997-07-02 | 1999-09-14 | Silicon Aquarius, Inc | DRAM with integral SRAM and arithmetic-logic units |
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 | 주식회사 하이닉스반도체 | 고속동작용디램 |
US5999435A (en) | 1999-01-15 | 1999-12-07 | Fast-Chip, Inc. | Content addressable memory device |
US6389507B1 (en) | 1999-01-15 | 2002-05-14 | Gigabus, Inc. | Memory device search system and method |
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 |
US7062689B2 (en) | 2001-12-20 | 2006-06-13 | Arm Limited | Method and apparatus for memory self testing |
US7058880B1 (en) | 2001-12-26 | 2006-06-06 | Altera Corporation | Techniques for programming and verifying data in a programmable circuit |
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 |
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 |
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 |
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 |
US9015390B2 (en) | 2003-04-25 | 2015-04-21 | Micron Technology, Inc. | Active memory data compression system and method |
IL161648A0 (en) | 2003-04-29 | 2004-09-27 | Saifun Semiconductors Ltd | Apparatus and methods for multi-level sensing in a memory array |
DE10319271A1 (de) | 2003-04-29 | 2004-11-25 | Infineon Technologies Ag | Speicher-Schaltungsanordnung und Verfahren zur Herstellung |
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 |
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 |
US7401281B2 (en) | 2004-01-29 | 2008-07-15 | International Business Machines Corporation | Remote BIST high speed test and redundancy calculation |
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 |
US7685365B2 (en) | 2004-09-30 | 2010-03-23 | Intel Corporation | Transactional memory execution utilizing virtual memory |
US20060069849A1 (en) | 2004-09-30 | 2006-03-30 | Rudelic John C | Methods and apparatus to update information in a 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 |
US7196928B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
US7187585B2 (en) | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
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 | 삼성전자주식회사 | 반도체 메모리 장치 |
US7606098B2 (en) * | 2006-04-18 | 2009-10-20 | Innovative Silicon Isi Sa | Semiconductor memory array architecture with grouped memory cells, and method of controlling same |
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 |
US7542340B2 (en) * | 2006-07-11 | 2009-06-02 | Innovative Silicon Isi Sa | Integrated circuit including memory array having a segmented bit line architecture and method of controlling and/or operating same |
US7724559B2 (en) | 2006-07-14 | 2010-05-25 | International Business Machines Corporation | Self-referenced match-line sense amplifier for content addressable memories |
US7885119B2 (en) | 2006-07-20 | 2011-02-08 | Sandisk Corporation | Compensating for coupling during programming |
US7443729B2 (en) | 2006-07-20 | 2008-10-28 | Sandisk Corporation | System that compensates for coupling based on sensing a neighbor using coupling |
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 |
US7609546B2 (en) * | 2007-10-15 | 2009-10-27 | Rao G R Mohan | Multivalue memory storage with two gating transistors |
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 |
JP2010015614A (ja) * | 2008-07-01 | 2010-01-21 | Renesas Technology Corp | 半導体装置 |
US8339824B2 (en) | 2008-07-02 | 2012-12-25 | Cooke Laurence H | Nearest neighbor serial content addressable memory |
CN102160019B (zh) | 2008-08-01 | 2014-01-29 | 3M创新有限公司 | 制备复合电极的方法 |
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 |
US8412987B2 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Non-volatile memory to store memory remap information |
US8412985B1 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Hardwired remapped memory |
US9076527B2 (en) | 2009-07-16 | 2015-07-07 | Mikamonu Group Ltd. | Charge sharing in a TCAM array |
US8238173B2 (en) | 2009-07-16 | 2012-08-07 | Zikbit Ltd | Using storage cells to perform computation |
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 |
US20120246380A1 (en) | 2009-10-21 | 2012-09-27 | Avidan Akerib | Neighborhood operations for parallel processing |
US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
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 |
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 |
KR101201582B1 (ko) * | 2010-09-06 | 2012-11-14 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
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 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置 |
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 |
US8446748B2 (en) * | 2011-08-04 | 2013-05-21 | International Business Machines Corporation | Content addressable memories with wireline compensation |
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 |
US8938603B2 (en) | 2012-05-31 | 2015-01-20 | Samsung Electronics Co., Ltd. | Cache system optimized for cache miss detection |
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 |
US9171153B2 (en) | 2013-05-17 | 2015-10-27 | Hewlett-Packard Development Company, L.P. | Bloom filter with memory element |
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 |
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 |
TWM485601U (zh) | 2014-04-10 | 2014-09-01 | Joinsoon Electronics Mfg Co | 防治電信號受到干擾的電路結構 |
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 |
US9830999B2 (en) * | 2014-06-05 | 2017-11-28 | Micron Technology, Inc. | Comparison operations in memory |
US9589602B2 (en) * | 2014-09-03 | 2017-03-07 | Micron Technology, Inc. | Comparison operations in memory |
-
2015
- 2015-05-19 US US14/716,079 patent/US9830999B2/en active Active
- 2015-06-04 CN CN201580037972.0A patent/CN106489179B/zh active Active
- 2015-06-04 KR KR1020177000270A patent/KR101921433B1/ko active IP Right Grant
- 2015-06-04 WO PCT/US2015/034103 patent/WO2015187902A1/en active Application Filing
- 2015-06-05 TW TW104118411A patent/TWI575449B/zh active
-
2017
- 2017-11-27 US US15/822,748 patent/US10593418B2/en active Active
-
2020
- 2020-03-13 US US16/818,694 patent/US11205497B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5638317A (en) * | 1990-08-22 | 1997-06-10 | Texas Instruments Incorporated | Hierarchical DRAM array with grouped I/O lines and high speed sensing circuit |
TW200532708A (en) * | 2004-03-29 | 2005-10-01 | Saifun Semiconductors Ltd | Apparatus and methods for multi-level sensing in a memory array |
US20120134226A1 (en) * | 2010-11-29 | 2012-05-31 | Chow Daniel C | Sense amplifier and sense amplifier latch having common control |
Also Published As
Publication number | Publication date |
---|---|
KR101921433B1 (ko) | 2018-11-22 |
KR20170015477A (ko) | 2017-02-08 |
US20200219577A1 (en) | 2020-07-09 |
CN106489179A (zh) | 2017-03-08 |
US11205497B2 (en) | 2021-12-21 |
US20150357047A1 (en) | 2015-12-10 |
US10593418B2 (en) | 2020-03-17 |
US9830999B2 (en) | 2017-11-28 |
WO2015187902A1 (en) | 2015-12-10 |
US20180082756A1 (en) | 2018-03-22 |
CN106489179B (zh) | 2019-04-16 |
TW201626215A (zh) | 2016-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI575449B (zh) | 用於比較多個元素之裝置及方法 | |
TWI596619B (zh) | 記憶體中之比較運算 | |
TWI602191B (zh) | 藉由記憶體中向量之元素之資料移位 | |
TWI609264B (zh) | 記憶體中之除法運算 | |
TWI576761B (zh) | 記憶體中之乘法運算 | |
TWI570715B (zh) | 記憶體中之比較操作 | |
TWI601149B (zh) | 用於執行乘法運算之方法及裝置 | |
TWI620058B (zh) | 記憶體中之交換運算 | |
TWI570741B (zh) | 使用感測電路執行邏輯操作之裝置及方法 | |
US9898253B2 (en) | Division operations on variable length elements in memory | |
CN107408403B (zh) | 存储器中的最长元素长度确定 | |
TWI576854B (zh) | 使用感測電路以執行邏輯操作之裝置及方法 | |
TWI576853B (zh) | 使用感測電路執行邏輯操作 | |
TW201732795A (zh) | 記憶體中的資料收集 | |
TW201618103A (zh) | 使用感測電路執行邏輯操作 |