TW201633055A - 記憶體中之交換運算 - Google Patents
記憶體中之交換運算 Download PDFInfo
- Publication number
- TW201633055A TW201633055A TW104129198A TW104129198A TW201633055A TW 201633055 A TW201633055 A TW 201633055A TW 104129198 A TW104129198 A TW 104129198A TW 104129198 A TW104129198 A TW 104129198A TW 201633055 A TW201633055 A TW 201633055A
- Authority
- TW
- Taiwan
- Prior art keywords
- bit vector
- stored
- coupled
- column
- group
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- 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/4076—Timing circuits
-
- 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
- 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
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
- G11C7/1009—Data masking during input/output
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/12—Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Dram (AREA)
- Semiconductor Memories (AREA)
- Static Random-Access Memory (AREA)
Abstract
本發明之實例提供與在一記憶體中執行交換運算有關之裝置及方法。一實例性裝置可包含一第一群組之記憶體胞,其耦合至一第一感測線且經組態以儲存一第一元素。一實例性裝置亦可包含一第二群組之記憶體胞,其耦合至一第二感測線且經組態以儲存一第二元素。一實例性裝置亦可包含一控制器,其經組態以致使在無需經由一輸入/輸出(I/O)線來傳送資料之情況下藉由控制感測電路以執行若干運算而將該第一元素儲存於該第二群組之記憶體胞中且將該第二元素儲存於該第一群組之記憶體胞中。
Description
本發明大體上係關於半導體記憶裝置及方法,且更特定言之,本發明係關於與在一記憶體中執行交換運算有關之裝置及方法。
記憶體器件通常提供為電腦或其他電子系統中之內部半導體積體電路。存在諸多不同類型之記憶體,其包含揮發性記憶體及非揮發性記憶體。揮發性記憶體需要電力來維持其資料(例如主機資料、錯誤資料等等)且尤其可包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、同步動態隨機存取記憶體(SDRAM)及閘流體隨機存取記憶體(TRAM)。非揮發性記憶體可藉由在未被供電時保持儲存資料而提供永久性資料,且可尤其包含反及(NAND)快閃記憶體、反或(NOR)快閃記憶體及電阻可變記憶體(諸如相變隨機存取記憶體(PCRAM)、電阻性隨機存取記憶體(RRAM)及磁阻性隨機存取記憶體(MRAM),諸如自旋力矩轉移隨機存取記憶體(STT RAM))。
電子系統通常包含若干處理資源(例如一或多個處理器),其等可擷取及執行指令且將所執行指令之結果儲存至一適合位置。一處理器可包括若干功能單元(例如,在本文中稱為功能單元電路(FUC)),諸如算術邏輯單元(ALU)電路、浮點單元(FPU)電路及/或一組合邏輯區塊),例如,其等可執行指令以對資料(例如一或多個運算元)執行邏輯
運算(諸如「及」、「或」、「非」、「反及」、「反或」及「互斥或」邏輯運算)。
一電子系統中之若干組件可涉及將指令提供至功能單元電路來執行。可由(例如)一處理資源(諸如一控制器及/或主機處理器)產生指令。可將資料(例如將對其執行指令以執行邏輯運算之運算元)儲存於可由FUC存取之一記憶體陣列中。可自憶體陣列擷取指令及/或資料且可在FUC開始對資料執行指令之前序列化及/或緩衝指令及/或資料。此外,因為可透過FUC而在一或多個時脈週期中執行不同類型之運算,所以亦可序列化及/或緩衝運算及/或資料之中間結果。
在諸多例項中,處理資源(例如處理器及/或相關聯之FUC)可位於記憶體陣列之外部,且可(例如經由處理資源與記憶體陣列之間的一匯流排)存取資料以執行指令。資料可經由一匯流排從該記憶體陣列移動到該記憶體陣列外部的暫存器。
100‧‧‧計算系統
110‧‧‧主機
130‧‧‧記憶體陣列
140‧‧‧控制器
142‧‧‧位址電路
144‧‧‧輸入/輸出(I/O)電路
146‧‧‧列解碼器
148‧‧‧寫入電路
150‧‧‧感測電路
152‧‧‧行解碼器
154‧‧‧控制匯流排
156‧‧‧輸入/輸出(I/O)匯流排
202-1‧‧‧電晶體/存取電晶體/記憶體胞
202-2‧‧‧電晶體/存取電晶體/記憶體胞
203-1‧‧‧電容器/儲存元件
203-2‧‧‧電容器/儲存元件
204-X‧‧‧字線/存取線/列X
204-Y‧‧‧字線/存取線/列Y
205-1‧‧‧資料線(D)
205-2‧‧‧資料線(D_)
206‧‧‧感測放大器
207-1‧‧‧下拉電晶體
207-2‧‧‧下拉電晶體
208-1‧‧‧電晶體
208-2‧‧‧電晶體
209-1‧‧‧n通道電晶體(NMOS電晶體)
209-2‧‧‧n通道電晶體(NMOS電晶體)
212-1‧‧‧主動負控制信號線(ACCUMB)/負控制信號
212-2‧‧‧主動正控制信號線(ACCUM)/正控制信號
213-1‧‧‧ANDinv控制信號線
213-2‧‧‧ORinv控制信號線
214-1‧‧‧下拉電晶體
214-2‧‧‧下拉電晶體
215‧‧‧鎖存器
216-1‧‧‧電晶體
216-2‧‧‧電晶體
217-1‧‧‧鎖存器輸入
217-2‧‧‧鎖存器輸入
218-1‧‧‧負載/通路電晶體
218-2‧‧‧負載/通路電晶體
219‧‧‧控制信號(SHIFT)
221-1‧‧‧隔離電晶體
221-2‧‧‧隔離電晶體
221-3‧‧‧隔離電晶體
221-4‧‧‧隔離電晶體
222‧‧‧控制信號(NORM)
223‧‧‧移位電路
224‧‧‧電晶體
225-1‧‧‧電晶體
225-2‧‧‧電晶體
227-1‧‧‧n通道電晶體(NMOS電晶體)
227-2‧‧‧n通道電晶體(NMOS電晶體)
228‧‧‧主動負控制信號(RnIF)
229-1‧‧‧p通道電晶體(PMOS電晶體)
229-2‧‧‧p通道電晶體(PMOS電晶體)
230‧‧‧記憶體陣列
231‧‧‧計算組件/累加器
233-1‧‧‧鎖存器輸入
233-2‧‧‧鎖存器輸入
238‧‧‧平衡電壓
239-1‧‧‧電晶體
239-2‧‧‧電晶體
250‧‧‧感測電路
264‧‧‧靜態鎖存器/交叉耦合鎖存器
265‧‧‧主動正控制信號(ACT)
291-1‧‧‧參考電壓線
303-0至303-J‧‧‧記憶體胞
304-0至304-R‧‧‧存取線
305-0至305-S‧‧‧感測線
306-0至306-U‧‧‧感測放大器
308-0至308-V‧‧‧存取器件(電晶體)
310-0至310-W‧‧‧解碼線
312‧‧‧次要感測放大器
330‧‧‧記憶體陣列
331-0至331-X‧‧‧計算組件
334‧‧‧輸入/輸出(I/O)線
404-0‧‧‧存取線/列0
404-1‧‧‧存取線/列1
404-2‧‧‧存取線/列2
404-3‧‧‧存取線/掩碼列
404-4‧‧‧存取線/經移位掩碼列
404-5‧‧‧存取線/暫時列1
404-6‧‧‧存取線/暫時列2
405-0至405-5‧‧‧感測線
430‧‧‧陣列
450‧‧‧感測電路
474-0‧‧‧列0位元向量
474-1‧‧‧列1位元向量
474-2‧‧‧列2位元向量
476‧‧‧掩碼列位元向量
478‧‧‧掩碼列位元向量
480‧‧‧暫時列1位元向量
482‧‧‧暫時列2位元向量
483‧‧‧位元向量
488-0至488-5‧‧‧位元向量
489‧‧‧值
489-0至489-5‧‧‧值
703‧‧‧信號
704-0‧‧‧列信號
705-1‧‧‧資料線電壓/信號/資料線電壓信號
705-2‧‧‧資料線電壓/信號/資料線電壓信號
711‧‧‧Passd控制信號
712-1‧‧‧累加器正控制信號(ACCUMB)
712-2‧‧‧累加器正控制信號(ACCUM)
726‧‧‧平衡信號
728‧‧‧負控制信號/感測放大器控制信號
765‧‧‧正控制信號/感測放大器控制信號
803‧‧‧信號
804-1‧‧‧列信號
805-1‧‧‧資料線/電壓信號
805-2‧‧‧資料線/信號
811-1‧‧‧控制信號(Passd)
826‧‧‧平衡信號
828‧‧‧負控制信號
865‧‧‧正控制信號
903‧‧‧信號
904-1‧‧‧列信號
905-1‧‧‧信號
905-2‧‧‧信號/電壓信號
911-2‧‧‧控制信號(Passdb)
926‧‧‧平衡信號
928‧‧‧負控制信號
965‧‧‧正控制信號
1004‧‧‧列啟動信號
1005-1‧‧‧互補資料線(D)
1005-2‧‧‧互補資料線(D_)
1011‧‧‧Passd控制信號
1026‧‧‧平衡信號
1028‧‧‧負控制信號
1065‧‧‧正控制信號
1105-1‧‧‧感測線
1105-2‧‧‧感測線
1106‧‧‧感測放大器
1113-5‧‧‧邏輯運算選擇邏輯
1131‧‧‧計算組件
1142‧‧‧交換閘/交換電晶體
1150‧‧‧感測電路
1150-1‧‧‧隔離電晶體
1150-2‧‧‧隔離電晶體
1152‧‧‧邏輯選擇電晶體
1154‧‧‧邏輯選擇電晶體
1162‧‧‧邏輯選擇電晶體
1164‧‧‧邏輯選擇電晶體
1193-1‧‧‧通閘
1193-2‧‧‧通閘
1244‧‧‧行A
1245‧‧‧行B
1247‧‧‧列
1256‧‧‧「不打開」
1270‧‧‧「打開真」
1271‧‧‧「打開反相」
1275‧‧‧連接路徑
1276‧‧‧列
1277‧‧‧列
1278‧‧‧列
1279‧‧‧列
1280‧‧‧標頭
ACT‧‧‧控制信號
EQ‧‧‧控制信號
FF‧‧‧第一邏輯選擇控制信號
FT‧‧‧第二邏輯選擇控制信號
GND‧‧‧接地
ISO‧‧‧控制信號
PASS‧‧‧邏輯運算選擇邏輯信號
PASS*‧‧‧邏輯運算選擇邏輯信號
RnIF‧‧‧負控制信號
TF‧‧‧第三邏輯選擇控制信號
TT‧‧‧第四邏輯選擇控制信號
VDD‧‧‧供應電壓
圖1係根據本發明之若干實施例之呈包含一記憶體器件之一計算系統之形式的一裝置之一方塊圖。
圖2A繪示根據本發明之若干實施例之一記憶體陣列之一部分的一示意圖。
圖2B繪示根據本發明之若干實施例之一記憶體陣列之一部分的一示意圖。
圖3繪示根據本發明之若干實施例之一記憶體陣列之一部分的一示意圖。
圖4A至圖4Q繪示根據本發明之若干實施例之與執行一交換運算相關聯之若干特定階段中之一陣列之一部分之記憶體胞之狀態。
圖5繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。
圖6繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。
圖7繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。
圖8繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。
圖9繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。
圖10繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。
圖11係繪示根據本發明之若干實施例之具有可選邏輯運算選擇邏輯之感測電路的一示意圖。
圖12係繪示根據本發明之若干實施例之由一感測電路實施之可選邏輯運算結果的一邏輯表。
本發明可包含與在一記憶體中執行交換運算有關之裝置及方法。可對一第一元素(例如,第一向量)及一第二元素(例如,第二向量)執行一交換運算。一元素可儲存於耦合至一感測線之一群組之記憶體胞中。例如,耦合至一第一感測線之一第一群組之記憶體胞可經組態以儲存一第一元素。耦合至一第二感測線之一第二群組之記憶體胞可經組態以儲存一第二元素。該交換運算可在無需經由一輸入/輸出(I/O)線來傳送資料之情況下藉由執行若干運算而將該第一元素儲存於該第二群組之記憶體胞中且將該第二元素儲存於該第一群組之記憶體胞中。
如本文中所使用,一第一元素及一第二元素可為可儲存於(例如,作為位元向量)一陣列中之數值。如本文中所使用,交換可指將
一第一元素(其起初(例如,最初)儲存於一第一群組之記憶體胞中)儲存於一第二群組之記憶體胞(一第二元素起初儲存於其中)中,且將該第二元素(其起初儲存於該第二群組之記憶體胞中)儲存於該第一群組之記憶體胞中。
在若干實例中,一元素可表示一目標及/或其他建構,其可由一位元向量表示。作為一實例,一交換運算可經執行以交換表示各自目標之位元向量。
本發明之若干實施例可提供比先前方法少之執行若干交換運算(例如交換函數)所涉及之運算量(例如,計算、函數等等)及/或時間。例如,可歸因於並行(例如,同時)執行各種交換運算的一能力而減少計算量及/或時間。如本文中所描述般執行若干交換運算亦可比先前方法減少電力消耗。根據若干實施例,可在無需經由一匯流排(例如資料匯流排、位址匯流排、控制匯流排等等)而自記憶體陣列及/或感測電路傳送出資料之情況下對元素(例如呈儲存於一陣列中之位元向量之形式的資料)執行一交換運算,其可減少將資料傳送至一主機以執行該交換運算所需之時間及/或電力。可將該交換運算之結果提供至(例如)其他單指令多資料(SIMD)運算(例如,位元向量除法)及/或高級型樣搜尋應用。一交換運算可涉及:執行若干邏輯運算(例如「及」運算、「或」運算、「移位」運算、及「反相」運算等等)。然而,實施例不受限於此等實例。如本文中所使用,SIMD運算可經定義為對多個元素並行(例如,同時)執行一相同運算。
在各種先前方法中,可經由包括輸入/輸出(I/O)線之一匯流排而將待交換之元素(例如,儲存於一特定群組之記憶體胞中之資料及儲存於一不同特定群組之記憶體胞中之資料)自陣列及感測電路傳送至若干暫存器。可由一處理資源(諸如一處理器、微處理器及/或計算引擎)使用該若干暫存器,該處理資源可包括經組態以執行適當邏輯運
算以交換該等元素及儲存結果之ALU電路及/或其他功能單元電路。然而,在一給定時間通常可由該ALU電路執行僅一單一交換運算,且經由一匯流排將資料自暫存器傳送至記憶體/自記憶體傳送至暫存器可涉及大量電力消耗及時間需求。即使該處理資源位於相同於記憶體陣列之一晶片上,但在將資料自陣列移出至計算電路(例如ALU)時會消耗大量電力,其可涉及:執行一感測線位址存取(例如,起動一行解碼信號)以將資料自感測線傳送至I/O線上;將資料移動至陣列周邊;及將資料提供至(例如)與執行一交換運算相關聯之一暫存器。
在本發明之下列詳細描述中,參考構成本發明之一部分的附圖,且在附圖中藉由繪示而展示可如何實踐本發明之一或多個實施例。此等實施例經足夠詳細地描述以使一般技術者能夠實踐本發明之該等實施例,且應瞭解:可利用其他實施例;及可在不脫離本發明之範疇之情況下作出程序、電性及/或結構變化。如本文中所使用,標示符「M」、「N」、「J」、「R」、「S」、「U」、「V」、「X」、「Y」及「W」(尤其是相對於圖式中之元件符號的標示符)指示:可包含若干所標示之特定特徵。如本文中所使用,「若干」特定事物可指此等事物之一或多者(例如,若干記憶體陣列可指一或多個記憶體陣列)。
本文中之圖遵循一編號規定,其中第一個或前幾個數字對應於圖號且剩餘數字識別圖式中之一元件或組件。可藉由使用類似數字而識別不同圖之間的類似元件或組件。例如,130可係指圖1中之元件「30」,且可將圖2中之一類似元件稱為230。應瞭解,本文中之各種實施例中所展示之元件可經新增、經交換及/或經消除以便提供本發明之若干額外實施例。另外,應瞭解,圖中所提供之元件之比例及相對尺度意欲繪示本發明之某些實施例,且不應被視為意指限制。
圖1係根據本發明之若干實施例之呈包含一記憶體器件120之一計算系統100之形式的一裝置之一方塊圖。如本文中所使用,一記憶
體器件120、一記憶體陣列130及/或感測電路150亦可被單獨視為一「裝置」。
系統100可包含一主機110,其耦合至可包含一記憶體陣列130之記憶體器件120。主機110可為一主機系統,諸如一個人膝上型電腦、一桌上型電腦、一數位相機、一行動電話或一記憶體卡讀取器以及各種其他類型之主機。主機110可包含一系統主機板及/或背板且可包含若干處理資源(例如一或多個處理器、微處理器或某一其他類型之控制電路)。系統100可包含單獨積體電路,或主機110及記憶體器件120兩者可位於相同積體電路上。系統100可為(例如)一伺服器系統及/或一高效能計算(HPC)系統及/或該HPC系統之一部分。雖然圖1中所展示之實例繪示具有一範紐曼(Von Neumann)架構之一系統,但本發明之實施例可實施於非範紐曼架構(例如一杜林機(Turing machine))(其可不包含通常與一範紐曼架構相關聯之一或多個組件(例如CPU、ALU等等))中。
為清楚起見,系統100已被簡化以聚焦於與本發明特定相關之特徵。記憶體陣列130可為(例如)DRAM陣列、SRAM陣列、STT RAM陣列、PCRAM陣列、TRAM陣列、RRAM陣列、反及快閃陣列及/或反或快閃陣列。陣列130可包括配置成由存取線(其在本文中可指稱字線或選擇線)耦合之列及由感測線(其在本文中可指稱數位線或資料線)耦合之行的記憶體胞。雖然圖1中展示一單一陣列130,但實施例不受限於此。例如,記憶體器件120可包含若干陣列130(例如若干DRAM記憶體胞庫)。將結合圖2描述一實例性DRAM陣列。
記憶體器件120包含用於鎖存經由一I/O匯流排156(例如一資料匯流排)透過I/O電路144而提供之位址信號的位址電路142。位址信號由一列解碼器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中之記憶體胞中之資料執行一交換運算且將結果儲
存回至陣列130,無需啟用耦合至感測電路之一區域I/O線。
因而,在若干實施例中,可無需陣列130及感測電路150外部之暫存器及/或一ALU來執行該交換運算,此係因為感測電路150可執行使用記憶體陣列130之位址空間來執行交換運算中所涉及之適當計算。另外,可在不使用一外部處理資源之情況下執行交換運算。
圖2A繪示根據本發明之若干實施例之包含感測電路250之一記憶體陣列230之一部分的一示意圖。在圖2A中,一記憶體胞包括一儲存元件(例如電容器)及一存取器件(例如電晶體)。例如,一第一記憶體胞包括電晶體202-1及電容器203-1,且一第二記憶體胞包括電晶體202-2及電容器203-2。在此實例中,記憶體陣列230係一DRAM陣列之1T1C(一電晶體一電容器)記憶體胞;然而,實施例不受限於此。在若干實施例中,記憶體胞可為破壞性讀取記憶體胞(例如,讀取儲存於記憶體胞中之資料破壞資料,使得最初儲存於記憶體胞中之資料在被讀取之後被刷新)。將記憶體陣列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可包括一交叉耦合鎖存器,其在本文中可指稱一初級鎖存器。可(例如)如相對於圖2B所描述般組態感測放大器206。
在圖2A所繪示之實例中,對應於計算組件231之電路包括一靜態鎖存器264及尤其實施一動態鎖存器之額外10個電晶體。計算組件231之動態鎖存器及/或靜態鎖存器在本文中可共同稱為一次級鎖存器,其可用作一累加器。因而,計算組件231可操作為一累加器及/或在本文中指稱一累加器。計算組件231可耦合至資料線205-1(D)及205-2(D_)之各者,如圖2A中所展示。然而,實施例不受限於此實例。計算組件231之電晶體可全部為n通道電晶體(例如NMOS電晶體);然而,實施例不受限於此。
在此實例中,資料線205-1可耦合至電晶體216-1及239-1之一第一源極/汲極區域,以及耦合至負載/通路電晶體218-1之一第一源極/汲極區域。資料線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-1(例如接地(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中所展示之電路之功能性不取決於升高至大於VDD之一電壓的LOAD控制信號。
圖2A中所展示之計算組件231之組態具有下列益處:當下拉電晶體207-1、207-2、214-1及214-2在起動感測放大器206之前(例如,在感測放大器206之預接種期間)導通時,使感測放大器之功能性平衡。如本文中所使用,起動感測放大器206係指:啟用感測放大器206以設定初級鎖存器,且隨後停用感測放大器206以保持經設定之初級鎖存器。在停用平衡(在感測放大器中)之後但在感測放大器起動之前執行邏輯運算可節約電力使用,此係因為不必使用全導軌電壓(例如VDD、
GND)來「翻轉」感測放大器之鎖存器。
使電晶體反相可在執行某些邏輯運算時下拉一各自資料線。例如,與電晶體214-1(其具有耦合至一ANDinv控制信號線213-1之一閘極)串聯之電晶體216-1(其具有耦合至動態鎖存器之S2的一閘極)可經操作以下拉資料線205-1(D),且與電晶體214-2(其具有耦合至一ORinv控制信號線213-2之一閘極)串聯之電晶體216-2(其具有耦合至動態鎖存器之S1的一閘極)可經操作以下拉資料線205-2(D_)。
鎖存器264可藉由耦合至一主動負控制信號線212-1(ACCUMB)及一主動正控制信號線212-2(ACCUM)而可控地啟用,而非經組態以藉由耦合至接地及VDD而連續地啟用。在各種實施例中,負載/通路電晶體218-1及218-2可各具有耦合至一LOAD控制信號或一PASSD/PASSDB控制信號之一者的一閘極。
根據一些實施例,負載/通路電晶體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)之對應記憶體胞之電晶體依照節距(on pitch)形成之若干電晶體,其等耦合至該陣列,可遵從一特定特徵大小(例如4F2、6F2等等)。根據各種實施例,鎖存器264包含透過負載/通路電晶體218-1及218-2而耦合至一對互補資料線205-1及205-2的四個電晶體208-1、208-2、209-1及209-2。然而,實施例不受限於此組態。鎖存器264可為一交叉耦合鎖存器(例如,一對電晶體(諸如n通道電晶體(例如NMOS電晶體)209-1及209-2)之閘極與另一對電晶體(諸如p通道電晶體(例如PMOS電晶體)208-1及208-2)之閘極交叉耦合)。如本文中將進一步描述,交叉耦合鎖存器264可指稱一靜態鎖存器。
可將各自資料線205-1及205-2上之電壓或電流提供至交叉耦合鎖存器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)可包括與一陣列(例如圖2A中所展示之230)之對應計算組件231及/或記憶體胞之電晶體依照節距形成之若干電晶體,其等耦合至該陣列,可遵從一特定特徵大小(例如4F2、6F2等等)。感測放大器206包括一鎖存器215,其包含耦合至一對互補資料線205-1及205-2之四個電晶體。鎖存器215可為一交叉耦合鎖存器(例如,一對電晶體(諸如n通道電晶體(例如NMOS電晶體)227-1及227-2)之閘極與另一對電晶體(諸如p通道電晶體(例如PMOS電晶體)229-1及229-2)之閘極交叉耦合)。如本文中將進一步描述,包括電晶體227-1、227-2、229-1及229-2之鎖存器215可指稱一初級鎖存器。然而,實施例不受限於此實例。
可將各自資料線205-1及205-2上之電壓及/或電流提供至交叉耦合鎖存器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亦可包含經組態以使資料線205-1及205-2平衡(例如,結合使感測放大器準備一感測操作)之電路。在此實例中,該平衡電路包括一電晶體224,其具有耦合至電晶體225-1之一第一源極/汲極區域及資料線205-1的一第一源極/汲極區域。電晶體224之一第二源極/汲極區域可耦合至電晶體225-2之一第一源極/汲極區域及資料線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,其使資料線205-1有效
地短接至資料線205-2,使得資料線205-1及205-2平衡至平衡電壓VDD/2。根據本發明之各種實施例,可使用感測放大器來執行若干邏輯運算,且將結果儲存於計算組件(例如累加器)中。
如圖2A中所展示,感測放大器206及計算組件231可經由移位電路223而耦合至陣列230。在此實例中,移位電路223包括分別耦合至資料線205-1及205-2之一對隔離器件(例如隔離電晶體221-1及221-2)。隔離電晶體221-1及221-2耦合至一控制信號222(NORM),控制信號222在被啟動時啟用(例如,接通)隔離電晶體221-1及221-2以將對應感測放大器206及計算組件231耦合至記憶體胞之一對應行(例如,耦合至一對對應互補資料線205-1及205-2)。根據各種實施例,隔離電晶體221-1及221-2之導通可指稱移位電路223之一「正常」組態。
在圖2A所繪示之實例中,移位電路223包含耦合至一互補控制信號219(SHIFT)之另一對(例如一第二對)隔離器件(例如隔離電晶體221-3及221-4),其等可(例如)在撤銷NORM時被啟動。隔離電晶體221-3及221-4可經操作(例如,經由控制信號219)使得一特定感測放大器206及計算組件231耦合至一對不同互補資料線(例如不同於隔離電晶體221-1及221-2將特定感測放大器206及計算組件231耦合至其之互補資料線對的一對互補資料線),或可將一特定感測放大器206及計算組件231耦合至另一記憶體陣列(且使特定感測放大器206及計算組件231與一第一記憶體陣列隔離)。根據各種實施例,例如,移位電路223可經配置為感測放大器206之一部分(例如,配置於感測放大器206內)。
雖然圖2A中所展示之移位電路223包含用於將特定感測電路250(例如一特定感測放大器206及對應計算組件231)耦合至一對特定互補資料線205-1及205-2(例如DIGIT(n)及DIGIT(n)_)的隔離電晶體221-1及221-2且隔離電晶體221-3及221-4經配置以在一特定方向上將特定感
測電路250耦合至一對相鄰互補資料線(例如展示於圖2A中之右邊的相鄰資料線DIGIT(n+1)及DIGIT(n+1)_),但本發明之實施例不受限於此。例如,移位電路可包含:隔離電晶體221-1及221-2,其等用於將特定感測電路耦合至一對特定互補資料線(例如DIGIT(n)及DIGIT(n)_);及隔離電晶體221-3及221-4,其等經配置以便用於在一另一特定方向上將特定感測電路耦合至一對相鄰互補資料線(例如展示於圖2A中之左邊的相鄰資料線DIGIT(n-1)及DIGIT(n-1)_)。
本發明之實施例不受限於圖2A中所展示之移位電路223之組態。在若干實施例中,可在(例如)不經由一I/O線(例如圖3中所展示之I/O線334)而自感測電路250傳送出資料之情況下結合執行各種運算(諸如邏輯運算及/或算數運算)(例如,結合感測放大器206及計算組件231)而操作移位電路223,諸如圖2A中所展示之移位電路。雖然移位電路223經展示為與感測電路250(例如,圖1中之感測電路150)分離,但是移位電路223可視作感測電路250(例如,圖1中之感測電路150)之部分。
雖然圖2A中未展示,但記憶體胞之各行可耦合至一行解碼線(例如,圖3中所展示之解碼線310-0至310-W),該行解碼線可經啟動以經由區域I/O線(例如,圖3中所展示之I/O線334)而將一資料值自一對應感測放大器206及/或計算組件231傳送至陣列外部之一控制組件,諸如一外部處理資源(例如主機處理器及/或其他功能單元電路)。該行解碼線可耦合至一行解碼器(例如圖1中所展示之行解碼器152)。然而,如本文中所描述,在若干實施例中,無需經由此等I/O線而傳送資料以根據本發明之實施例而執行邏輯運算。在若干實施例中,可結合感測放大器206及計算組件231而操作移位電路223以(例如)在不將資料傳送至陣列外部之一控制組件之情況下執行各種運算(例如,結合執行減法、加法、乘法、除法等等之邏輯運算)。
可在若干模式中操作感測電路250以執行邏輯運算,該若干模式包含:一第二模式,其中邏輯運算之一結果最初儲存於感測放大器206中;及一第一模式,其中邏輯運算之一結果最初儲存於計算組件231中。下文相對於圖5及圖6而描述感測電路250在第二模式中之操作,且下文相對於圖7至圖10而描述感測電路250在第一模式中之操作。另外,關於第一操作模式,可在感測前模式(例如,在邏輯運算控制信號啟用之前起動感測放大器)及感測後模式(例如,在邏輯運算控制信號啟用之後起動感測放大器)兩者中操作感測電路250,其中一邏輯運算之一結果最初儲存於感測放大器206中。
如下文將進一步描述,感測放大器206可結合計算組件231而操作以執行各種邏輯運算(使用來自一陣列之資料作為輸入)。在若干實施例中,可在無需經由一資料線位址存取而傳送資料之情況下(例如,無需起動一行解碼信號,使得資料經由區域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之行(其可統稱為存取線304及感測線305)的記憶體胞303-0、303-1、303-2、303-3、303-4、303-5、303-6、303-7、303-8...303-J(例如,統稱為記憶體胞303)。記憶體陣列330不受限於特定數目個存取線及/或感測線,且術語「列」及「行」之使用不意指存取線及/或感測線之一特定實體結
構及/或定向。雖然圖中未描繪,但記憶體胞之各行可與一對對應互補感測線(例如圖2A中之互補感測線205-1及205-2)相關聯。
記憶體胞之各行可耦合至感測電路(例如圖1中所展示之感測電路150及圖2A中所展示之感測電路250)。在此實例中,該感測電路包括耦合至各自感測線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-1、308-2、308-3、308-4、308-5、308-6、308-7...308-V而耦合至輸入/輸出(I/O)線334(例如一區域I/O線)。在此實例中,該感測電路亦包括耦合至各自感測線之若干計算組件331-0、331-1、331-2、331-3、331-4、331-5、331-6、331-7...331-X(例如,統稱為計算組件331)。行解碼線310-0至310-W分別耦合至電晶體308-0至308-V之閘極,且可經選擇性地啟動以將由各自感測放大器306-0至306-U感測及/或儲存於各自計算組件331-0至331-X中之資料傳送至一次級感測放大器312及/或(例如,經由I/O線334)傳送至陣列330外部之處理資源。在若干實施例中,計算組件331可與其對應行之記憶體胞及/或與對應感測放大器306依照節距形成。
該感測電路(例如,計算組件331及感測放大器306)經組態以根據本文中所描述之若干實施例執行一交換運算。結合圖4A至圖4Q所描述之實例說明可如何對儲存於一陣列(諸如陣列330)中之元素執行一交換運算。如下文所描述,元素可經儲存使得若干元素之各者(例如,對應於邏輯「1」或邏輯「0」之資料)儲存於共同耦合至各自若干感測線(例如,305-0至305-S)之一者的記憶體胞中。例如,一第一元素可儲存於耦合至感測線305-0之一群組之記憶體胞中,而第二元素可儲存於耦合至感測線305-1之一群組之記憶體胞中等等。在若干
實施例中,可對選定相鄰元素對(例如,選定元素對各包括儲存於耦合至一偶數感測線之記憶體胞中之一第一元素及儲存於耦合至一相鄰奇數感測線之記憶體胞中之一第二元素)執行一交換運算。該等被交換之元素亦可共同耦合至若干存取線(例如,304-0至304-R)。例如,考慮六個元素,各元素儲存於共同耦合至感測線305-0至305-5之一者的一群組之三個記憶體胞中。在此實例中,對應於該等各自元素之各者的一第一記憶體胞可共同耦合至一第一存取線(例如,304-0),對應於該等各自元素之各者的一第二記憶體胞可共同耦合至一第二存取線(例如,304-1),且對應於該等各自元素之各者的一第三記憶體胞可共同耦合至一第三存取線(例如,304-2)。
圖4A至圖4Q繪示根據本發明之若干實施例之與執行一交換運算相關聯之若干特定階段中之一陣列430之一部分之記憶體胞的狀態(例如,邏輯值)。陣列430可為諸如圖3中所描述之陣列330的一陣列。圖4A至圖4Q繪示耦合至若干存取線404-0(列0)、404-1(列1)、404-2(列2)、404-3(掩碼列)、404-4(經移位掩碼列)、404-5(暫時列1)及404-6(暫時列2)且耦合至若干感測線405-0(行0)、405-1(行1)、405-2(行2)、405-3(行3)、405-4(行4)及405-5(行5)之記憶體胞之狀態(例如,邏輯「1」或邏輯「0」)。圖4A至圖4Q亦繪示在一交換運算之各種階段(例如,與執行下文所描述之實例性偽碼相關聯之各種階段)期間耦合至各自感測線405-0至405-5之感測電路450(例如,圖3中所展示之計算組件331及/或感測放大器306)之狀態。
圖4A至圖4Q之實例可包含六個元素,各元素儲存於共同耦合至感測線405-0至405-5之一者的一群組之記憶體胞中。該六個元素係值(例如,十進位值)且作為二進位位元向量488-0、488-1、488-2、488-3、488-4及488-5(統稱為位元向量488)而儲存於陣列430中。在此實例中,該等元素之各者儲存於耦合至一特定感測線及存取線404-0、
404-1及404-2之三個記憶體胞中。例如,由位元向量488-0(例如,[011])表示之元素儲存於耦合至感測線405-0及存取線404-0至404-2之記憶體胞中,由位元向量488-1(例如,[001])表示之元素儲存於耦合至感測線405-1及存取線404-0至404-2之記憶體胞中,由位元向量488-2(例如,[010])表示之元素儲存於耦合至感測線405-2及存取線404-0至404-2之記憶體胞中,由位元向量488-3(例如,[100])表示之元素儲存於耦合至感測線405-3及存取線404-0至404-2之記憶體胞中,由位元向量488-4(例如,[100])表示之元素儲存於耦合至感測線405-4及存取線404-0至404-2之記憶體胞中,且由位元向量488-5(例如,[010])表示之元素儲存於耦合至感測線405-5及存取線404-0至404-2之記憶體胞中。圖4A至圖4Q亦指示由各自位元向量488-0至488-5表示之元素之值(例如,十進位值)489-0至489-5(統稱為值489)。例如,如圖4A中所展示,位元向量488-0(例如,[011])對應於值489-0(例如,一十進位值3),位元向量488-1(例如,[001])對應於值489-1(例如,一十進位值1),位元向量488-2(例如,[010])對應於值489-2(例如,一十進位值2),位元向量488-3(例如,[100])對應於值489-3(例如,一十進位值4),位元向量488-4(例如,[100])對應於值489-4(例如,一十進位值4),且位元向量488-5(例如,[010])對應於值489-5(例如,一十進位值2)。
雖然,在圖4A至圖4Q之實例中,該等元素儲存於三個耦合至各自感測線之記憶體胞中使得其等由3位元的位元向量表示,但是實施例不受限於此。例如,該等元素可儲存於三個以上或三個以下記憶體胞中。此外,在圖4A至圖4Q中,位元向量488-0至488-5之LSB(最低有效位元)儲存於耦合至存取線404-0之記憶體胞中,下一LSB儲存於耦合至存取線404-1之記憶體胞中,且MSB(最高有效位元)儲存於耦合至存取線404-2之記憶體胞中;然而,實施例不受限於一特定位元
順序。此外,可由一特定位元向量(例如,488-0至488-5)表示複數個元素。例如,感測線405-0可耦合至儲存多個元素(其等可與儲存於耦合至一不同感測線(例如,405-1)之記憶體胞中之對應元素交換)之記憶體胞。
圖4A至圖4Q中所描述之實例涉及使選定相鄰元素對(例如,選定元素對各包括儲存於耦合至一特定感測線之記憶體胞中之一元素及儲存於耦合至一相鄰感測線之記憶體胞中之一元素)交換。明確言之,圖4A至圖4Q之實例涉及交換經儲存為位元向量488-0及488-1(例如,一第一元素對)之元素及交換經儲存為位元向量488-2及488-3(例如,一第二元素對)之元素。在此實例中,不交換經儲存為位元向量488-4及488-5(例如,一第三元素對)之元素。因而,結合圖4A至圖4Q所描述之交換運算導致起初儲存於耦合至感測線405-0之記憶體胞中的元素(例如,表示一十進位值3之位元向量[011])儲存於耦合至感測線405-1之記憶體胞中,且起初儲存於耦合至感測線405-1之記憶體胞中的元素(例如,表示一十進位值1之位元向量[001])儲存於耦合至感測線405-0之記憶體胞中,使得繼交換之後,位元向量488-0係[001]且位元向量488-1係[011]。類似地,結合圖4A至圖4Q所描述之交換運算導致起初儲存於耦合至感測線405-2之記憶體胞中的元素(例如,表示一十進位值2之位元向量[010])儲存於耦合至感測線405-3之記憶體胞中,且起初儲存於耦合至感測線405-3之記憶體胞中的元素(例如,表示一十進位值4之位元向量[100])儲存於耦合至感測線405-2之記憶體胞中,使得繼交換之後,位元向量488-2係[100]且位元向量488-3係[010]。在若干實施例中,交換運算可經執行使得該等被交換元素對之交換並行發生。
在若干實施例中,共同耦合至一特定存取線(404)之記憶體胞之狀態表示對應於一位元向量之一經儲存資料型樣(例如,位元型樣)。
例如,在圖4A至圖4Q之實例中,共同耦合至存取線404-0(列0)及感測線405-0至405-5之記憶體胞表示對應於位元向量474-0(例如,如圖4A中所展示之[110000])(可稱其為「列0位元向量」)之一經儲存資料型樣。共同耦合至存取線404-1(列1)及感測線405-0至405-5之記憶體胞表示對應於位元向量474-1(例如,如圖4A中所展示之[101001])(可稱其為「列1位元向量」)之一經儲存資料型樣。共同耦合至存取線404-2(列2)及感測線405-0至405-5之記憶體胞表示對應於位元向量474-2(例如,如圖4A中所展示之[000110])(可稱其為「列2位元向量」)之一經儲存資料型樣。因而,位元向量474-0包括各自位元向量488之LSB,位元向量474-1包括各自位元向量488之下一LSB,且位元向量474-2包括各自位元向量488之MSB(例如,表示對應於各自感測線405-0至405-5之元素的位元向量)。在此實例中,位元向量488之LSB可與一指數「0」(例如,n=0)相關聯,位元向量488之下一LSB可與一指數「1」(例如,n=1)相關聯,且位元向量488之MSB可與一指數「2」(例如,n=2)相關聯。
在若干實施例中,除儲存元素(例如,由位元向量488表示之元素)之若干群組之記憶體胞之外的若干群組之記憶體胞可用於執行一交換運算。額外群組之記憶體胞可為共同耦合至各自存取線及對應於經儲存元素之感測線(例如,圖4A至圖4Q之實例中之感測線405-0至405-5)的若干群組之記憶體胞。作為一實例,一第一額外群組之記憶體胞可用於儲存一位元型樣,該位元型樣可用作可定义交換哪一元素對之一掩碼。在圖4A至圖4Q中所展示之實例中,耦合至存取線404-3(掩碼列)及感測線405-0至405-5之記憶體胞用作可定义交換哪一元素對的一掩碼。掩碼列404-3之記憶體胞之狀態表示對應於位元向量476(其可稱為「掩碼列位元向量」)之一經儲存資料型樣。一第二額外群組之記憶體胞亦可用於儲存一位元型樣,該位元型樣結合執行一
交換運算時可用作一掩碼。在圖4A至圖4Q中所展示之實例中,耦合至存取線404-4(經移位掩碼列)及感測線405-0至405-5之記憶體胞在一交換運算期間用作一掩碼。經移位掩碼列404-4之記憶體胞之狀態表示對應於位元向量478(其可稱為「經移位掩碼列位元向量」)之一經儲存資料型樣。在此實例中且如圖4B中所展示,對應於經移位掩碼列位元向量之資料型樣係對應於該掩碼列位元向量向右位移一位元位置的資料型樣。若干額外群組之記憶體胞結合執行一交換運算時可用作暫時儲存器。圖4A至圖4Q中所展示之實例可包含耦合至存取線404-5(暫時列1)及感測線405-0至405-5之用作暫時儲存器的一額外群組之記憶體胞及耦合至存取線404-6(暫時列2)及感測線405-1至405-5之用作暫時儲存器的一額外群組之記憶體胞。暫時列1 404-5之記憶體胞之狀態表示對應於位元向量480(其可稱為「暫時列1位元向量」)之一經儲存資料型樣,且暫時列2 404-6之記憶體胞之狀態表示對應於位元向量482(其可稱為「暫時列2位元向量」)之一經儲存資料型樣。在若干實施例中,掩碼列404-3、經移位掩碼列404-4、暫時列1 404-5及暫時列2 404-6對一使用者而言是不可定址的(例如,耦合至彼等存取線之記憶體胞可不為陣列430之可定址空間之部分)。
圖4A至圖4Q亦繪示在一交換運算之各種階段期間耦合至各自感測線405-0至405-5之感測電路450(例如,圖3中所展示之計算組件331及/或感測放大器306)之狀態。感測電路450之狀態(例如,經鎖存邏輯值)表示對應於位元向量483之一經儲存資料型樣。
如下文所描述,在若干實施例中,交換儲存於一陣列(例如,陣列430)中之選定元素可包含執行若干邏輯運算,諸如「及」運算、「或」運算、「非」運算、「反及」運算、「反或」運算及/或「移位」運算。例如,可使用儲存於該陣列中之資料作為輸入而執行該等邏輯運算,且可在不經由一I/O線自該陣列傳送資料的情況下執行該等邏
輯運算。在若干實施例中,位元向量474-0、474-1、474-2、476、478、480、482及483結合交換選定元素時用作該等邏輯運算的運算元。
下列偽碼表示可執行以根據本發明之若干實施例而在一記憶體中執行若干交換運算的指令。使用參考編號1至4來指代實例性偽碼。例如,參考編號一(1)對應於如下列偽碼中所展示之「readRow(掩碼列)」,參考編號二(2)對應於如下列偽碼中所展示之「shift(向右)」等等。
1. readRow(掩碼列);2. shift(向右);3. writeRow(經移位掩碼列);4. for(n=0;n<元素寬度;n++)do:a. readRow(列(n));b. writeRow(暫時列1);c. shift(向右);d. andRow(經移位掩碼列);e. writeRow(暫時列2);f. readRow(經移位掩碼列);g. inv();h. andRow(列(n));i. orRow(暫時列2);j. writeRow(列(n));k. readRow(暫時列1);
l. andRow(經移位掩碼列);m. shift(向左);n. writeRow(暫時列2);o. readRow(掩碼列);p. inv();q. andRow(列(n));r. orRow(暫時列2);s. writeRow(列(n));為了討論,會將上述偽碼分成一設置階段及一迭代階段。在此實例中,圖4A及圖4B及由參考編號1至3指代之偽碼對應於設置階段。
圖4C至圖4Q及由參考編號4(例如,4.a至4.s)指代之偽碼對應於迭代階段。與迭代階段相關聯之迭代(例如,「For」迴圈)之各者可進一步分成一第一階段、一第二階段、一第三階段、一第四階段及一第五階段,其中該第一階段對應於由參考編號4.a及4.b指代之偽碼,該第二階段對應於由參考編號4.c至4.e指代之偽碼,該第三階段對應於由參考編號4.f至4.j指代之偽碼,該第四階段對應於由參考編號4.k至4.n指代之偽碼,且該第五階段對應於由參考編號4.o至4.s指代之偽碼。在迭代階段之執行期間對應於位元向量474-0、474-1、474-2、476、478、480、482及483之資料型樣展示於圖4C至圖4S中。
迭代階段可包含執行若干運算迭代。例如,對應於參考編號4(例如,for(n=0;n<元素寬度;n++)do:)之偽碼表示與一指數n相關聯之一「For」迴圈。指數n最初可被設定成零(例如,n=0)且在每次迭代之後(例如,在「For」迴圈之每次迭代之後)遞增(例如,n++)。在此實例中,當n之值等於表示被交換元素之位元向量488之一寬度時
(例如,在此實例中,當n=3時),「For」迴圈終止。因而,該「For」迴圈所執行之次數(例如,迭代數目)等於位元向量488之寬度(例如,在此實例中係3位元)。實施例不受限於一特定類型之迴圈結構。例如,除其他可行迴圈結構外,參考編號4可表示一「while」迴圈。
如下文進一步描述,在此實例中,圖4C至圖4G對應於迭代階段之一第一迭代(例如,對應於由4.a至4.s指代之偽碼的「For」迴圈之初始執行),圖4H至圖4L對應於該迭代階段之一第二迭代,且圖4M至圖4Q對應於該迭代階段之一第三迭代。
如上文所描述,圖4A繪示作為位元向量488-0至488-5而儲存於陣列430中(例如,在一交換運算之前)之若干元素。掩碼列位元向量476可定義待被交換的選定相鄰元素對。例如,可自一主機提供掩碼列位元向量476。在此實例中,可藉由耦合至偶數感測線之掩碼列404-3之記憶體胞是否儲存一邏輯「1」而定義待被交換的元素對。例如,在對應於一偶數感測線之位元向量476之一位元位置中的一邏輯「1」指示對應元素(例如,儲存於耦合至該特定偶數感測線之記憶體胞中之元素)將與一相鄰元素(例如,儲存於耦合至相鄰奇數感測線之記憶體胞中之元素)交換。例如,在圖4A中,位元向量476係[101000],其指示一「1」儲存於對應於偶數感測線405-0及405-2之記憶體胞中且一「0」儲存於對應於偶數感測線405-4之記憶體胞中。因而,掩碼列位元向量476將待被交換的元素對定義為耦合至感測線405-0及405-1之元素及耦合至感測線405-2及405-3之元素(例如,最初儲存於耦合至感測線405-0之記憶體胞中之元素與最初儲存於耦合至感測線405-1之記憶體胞中之元素交換,且最初儲存於耦合至感測線405-2之記憶體胞中之元素與最初儲存於耦合至感測線405-3之記憶體胞中之元素交換)。如本文中所使用,「偶數交換元素」可指待被交換且儲存於耦合至偶數感測線(例如,偶數行)之記憶體胞中的元素,且「奇數交換元
素」可指待被交換且儲存於耦合至奇數感測線(例如,奇數行)之記憶體胞中的對應相鄰元素。因而,在此實例中,由位元向量488-0及488-2表示之元素可稱為偶數交換元素,且由位元向量488-1及488-3表示之元素可稱為奇數交換元素。
在圖4A至圖4Q中,對應於位元向量474-0、474-1、474-2、476、478、480、482及483之記憶體胞之狀態的變化經加粗指示。例如,在圖4B中,對應於位元向量478(例如,耦合至存取線404-4及感測線405-0至405-5之記憶體胞)之資料型樣經加粗展示以指示對應於位元向量476之邏輯值在交換運算之一階段期間已改變。
結合圖4A至圖4D所描述之交換運算之設置階段可包含執行對應於參考編號1至3之偽碼。對應於參考編號1至3之偽碼與產生一經移位掩碼並將其儲存於陣列430中(例如,將其作為位元向量478而儲存於經移位掩碼列404-4中)相關聯。經移位掩碼可用於隔離奇數交換元素(例如,在此實例中,對應於奇數感測線405-1及405-3且由各自位元向量488-1及488-3表示之元素)。
對應於參考編號1(例如,「readRow(掩碼列)」)之偽碼涉及將經儲存為掩碼列位元向量476(例如,[101000])之資料型樣讀取至對應於位元向量483之感測電路450(例如,計算組件331-0至331-5及/或感測放大器306-0至306-5)中。如本文中所使用,將一位元向量儲存於感測電路中係定義為將該位元向量儲存於與該感測電路相關聯之若干計算組件中及/或儲存於與該感測電路相關聯之若干感測放大器中。
對應於參考編號2(例如,「shift(向右)」)之偽碼與對位元向量483執行一「移位」運算相關聯。該「移位」運算將儲存於感測電路450中之位元向右位移一位元位置。在此實例中,在該「移位」運算之前,位元向量483係[101000](例如,對應於掩碼列位元向量476(其已被讀取至對應於位元向量483之感測電路450中)之資料型樣)。在該
「移位」運算之後且如圖4B中所展示,位元向量483係[010100]。
對應於參考編號3(例如,「writeRow(暫時列1)」)之偽碼與將儲存於感測電路450中(例如,作為位元向量483)之資料型樣寫入至儲存經移位掩碼列位元向量478之記憶體胞相關聯。如下文進一步描述,例如,可藉由啟動存取線404-4而將對應於位元向量483之資料型樣自感測電路450複製至儲存位元向量478之記憶體胞(例如,耦合至存取線404-4之記憶體胞)。如圖4B中所展示,對應於位元向量483(例如,[010100])之資料型樣(其係對對應於位元向量476(例如,[101000])之資料型樣執行「移位」運算之結果)儲存於對應於經移位掩碼列478之記憶體胞中。例如,經移位掩碼列位元向量478係[010100]。
圖4C至圖4G對應於迭代階段之一第一迭代(例如,對應於由4.a至4.s指代之偽碼的「For」迴圈之初始執行且對於該第一迭代,指數n係0)。第一迭代之一第一階段對應於由參考編號4.a及4.b指代之偽碼及圖4C且與將「列n位元向量」之資料型樣儲存於對應於暫時列1位元向量480之記憶體胞中相關聯。例如,儲存於包括待被交換資料之一第一列記憶體胞(例如,耦合至存取線404-0之記憶體胞)中的資料之一複本係儲存於對應於暫時列1位元向量480之記憶體胞中。對於此迭代(例如,第一迭代),指數「n」係0(例如,對於「For」迴圈之第一迭代,n=0)。在偽碼之參考編號4.a處(例如,「readRow(列(n))」),將對應於「列n位元向量」之資料型樣讀取至對應於位元向量483之感測電路中。因為對於「For」迴圈之第一迭代,n=0,所以將對應於列0位元向量474-0(例如,[110000])之資料型樣讀取至感測電路450中,使得位元向量483係[110000],如圖4C中所展示。在參考編號4.b處(例如,「writeRow(暫時列1)」),將對應於位元向量483之資料型樣複製至儲存暫時列1位元向量480之記憶體胞。因而,暫時列1位元向量480係[110000],如圖4C中所展示。
圖4D及由參考編號4.c至4.e指代之偽碼對應於迭代階段之一第二階段且與下列各者相關聯:對位元向量483執行一「移位」運算、將經移位位元向量及經移位掩碼列位元向量478進行「及」、及將所得資料型樣儲存至對應於暫時列2位元向量482之記憶體胞。在偽碼之參考編號4.c處(例如,「shift(向右)」),將經儲存為位元向量483之資料型樣向右位移一位元位置,使得位元向量483係[011000],其係先前位元向量483(例如,[110000])向右位移一位元位置。在參考編號4.d處(例如,「andRow(經移位掩碼列)」),對位元向量478(例如,[010100])及位元向量483(例如,[011000])執行一「及」運算。
如本文中所使用,對一第一位元向量及一第二位元向量執行一邏輯運算可包含在該等位元向量之對應位元位置處對各自位元之各者並行地執行該邏輯運算。作為一實例,對一第一位元向量「a」(例如,[a0 a1 a2 a3])及一第二位元向量「b」(例如,[b0 b1 b2 b3])執行一邏輯「或」運算之結果係一位元向量「c」(例如,[c0 c1 c2 c3]),其中c0=a0「或」b0、c1=a1「或」b1、c2=a2「或」b2、且c3=a3「或」b3。例如,對一位元向量[1110]及對位元向量[1000]執行一「或」運算將導致位元向量[1110](例如,所得位元向量之最左邊位元係「1」,此係因為「1」「1」之「或」運算結果係「1」;下一位元係「1」,此係因為「1」「0」之「或」運算結果係「1」;下一位元係「1」,此係因為「1」「0」之「或」運算結果係「1」;且最右邊位元係「0」,此係因為「0」「0」之「或」運算結果係「0」)。
在此實例中,將位元向量478及483進行「及」(例如,[010100]「及」[011000])導致[010000]),其經儲存為位元向量483(例如,該「及」運算之結果儲存於感測電路450中)。因而,位元向量483係[010000],如圖4D中所展示。在參考編號4.e處(例如,「writeRow(暫時列2)」),將對應於位元向量483之資料型樣複製至儲存暫時列2位
元向量482之記憶體胞。因而,暫時列2位元向量482係[010000],如圖4D中所展示。應注意,可藉由使位元向量483(其儲存對應於列0位元向量474-0之資料型樣)及掩碼列位元向量476進行「及」且接著在複製至暫時列2位元向量482之前對位元向量483執行一向右移位而獲得該第二階段之相同結果。
圖4E及由參考編號4.f至4.j指代之偽碼對應於迭代階段之一第三階段且與下列各者相關聯:對對應於經移位掩碼列位元向量478之資料型樣執行一「反相」運算、對該「反相」運算之結果及列n位元向量(例如,對於此迭代係474-0)執行一「及」運算、對該「及」運算之結果及暫時列2位元向量482執行一「或」運算、及將該「或」運算之結果寫入回至儲存該列n位元向量之記憶體胞。在偽碼之參考編號4.f處(例如,「readRow(經移位掩碼列)」),將經儲存為位元向量478之資料型樣讀取至感測電路450中使得位元向量483係[010100]。在參考編號4.g處(例如,「inv()」),對位元向量483執行一「反相」運算使得位元向量483儲存[101011](例如,其先前資料型樣之反相)。在參考編號4.h處(例如,「andRow(列(n))」),對位元向量483(例如,[101011])及位元向量474-0(例如,[110000])執行一「及」運算,結果保存於感測電路450中使得位元向量483係[100000]。該「及」運算之結果(例如,[100000])(其經儲存為位元向量483)與暫時列2位元向量482(例如,[010000])進行「或」運算,其中結果(例如,[110000])作為位元向量483而保存於感測電路450中。將該「或」運算之結果(例如,[110000])複製至儲存位元向量474-0之記憶體胞。因而,如圖4E中所展示,在該第三階段之後,位元向量474-0及483係[110000]。
圖4F及由參考編號4.k至4.n指代之偽碼對應於迭代階段之一第四階段且與下列各者相關聯:對經移位掩碼列位元向量478及暫時列1位元向量480執行一「及」運算、將該「及」運算之結果向左位移一位
元位置、及將向左移位之結果寫入至儲存暫時列2位元向量482之記憶體胞。在偽碼之參考編號4.k處(例如,「readRow(暫時列1)」),將經儲存為位元向量480之資料型樣讀取至感測電路450中使得位元向量483係[110000]。在參考編號4.l處(例如,「andRow(經移位掩碼列)」),對位元向量483(例如,[110000])及位元向量478(例如,[010100])執行一「及」運算,結果保存於感測電路450中使得位元向量483係[010000]。在參考編號4.m處(例如,「shift(向左)」),將該「及」運算之結果(例如,[010000])(其經儲存為位元向量483)向左位移一位元位置,使得位元向量483係[100000]。在參考編號4.n處(例如,「writeRow(暫時列2)」),將向左移位運算之結果(例如,[100000])複製至儲存位元向量482之記憶體胞。因而,如圖4F中所展示,在該第四階段之後,位元向量482及483係[100000]。
圖4G及由參考編號4.o至4.s指代之偽碼對應於迭代階段之一第五階段且與下列各者相關聯:對對應於掩碼列位元向量476之資料型樣執行一「反相」運算、對該「反相」運算之結果及列n位元向量(例如,對於此迭代係474-0)執行一「及」運算、對該「及」運算之結果及暫時列2位元向量482執行一「或」運算、及將該「或」運算之結果寫入回至儲存該列n位元向量之記憶體胞。在偽碼之參考編號4.o處(例如,「readRow(掩碼列)」),將經儲存為位元向量476之資料型樣讀取至感測電路450中使得位元向量483係[101000]。在參考編號4.p處(例如,「inv()」),對位元向量483執行一「反相」運算使得位元向量483儲存[010111](例如,其先前資料型樣之反相)。在參考編號4.q處(例如,「andRow(列(n))」),對位元向量483(例如,[010111])及位元向量474-0(例如,[110000])執行一「及」運算,結果保存於感測電路450中使得位元向量483係[010000]。該「及」運算之結果(例如,[010000])(其經儲存為位元向量483)與暫時列2位元向量482(例如,
[100000])進行「或」運算,其中結果(例如,[110000])作為位元向量483而保存於感測電路450中。將該「或」運算之結果(例如,[110000])複製至儲存位元向量474-0之記憶體胞。因而,如圖4G中所展示,在該第五階段之後,位元向量474-0及483係[110000]。
圖4G展示在與參考編號4相關聯之一「For」迴圈之一第一迭代之後陣列430之記憶體胞之狀態。在該「For」迴圈之一第一迭代之後,來自位元向量488-0(例如,一位元向量[011])之1位元與來自位元向量488-1(例如,一位元向量[001])之一1位元交換,且來自位元向量488-2(例如,一位元向量[010])之0位元與自位元向量488-3(例如,一位元向量[100])之一0位元交換。圖4H至圖4L展示在與參考編號4相關聯之一「For」迴圈之一第二迭代之後陣列430之記憶體胞之狀態。
圖4H至圖4L對應於迭代階段之一第二迭代。對於此迭代(例如,第二迭代),指數「n」係1(例如,對於「For」迴圈之第二迭代,n=1)。第二迭代之一第一階段對應於由參考編號4.a及4.b指代之偽碼及圖4H。在偽碼之參考編號4.a處(例如,「readRow(列(n))」),將對應於「列n位元向量」之資料型樣讀取至對應於位元向量483之感測電路中。因為對於「For」迴圈之第二迭代,n=1,所以將對應於列1位元向量474-1(例如,[101001])之資料型樣讀取至感測電路450中,使得位元向量483係[101001],如圖4H中所展示。在參考編號4.b處,將對應於位元向量483之資料型樣複製至儲存暫時列1位元向量480之記憶體胞。因而,暫時列1位元向量480係[101001],如圖4H中所展示。在參考編號4.b處,暫時列1位元向量480係[101001],如圖4H中所展示。
圖4I及由參考編號4.c至4.e指代之偽碼對應於第二迭代之一第二階段。在參考編號4.c處,將經儲存為位元向量483之資料型樣向右位移一位元位置,使得位元向量483係[010100],其為先前位元向量483
(例如,[101001])向右位移一位元位置。在參考編號4.d處,對位元向量478(例如,[010100])及位元向量483(例如,[010100])執行一「及」運算。該「及」之結果(例如,[010100])作為位元向量483而儲存於感測電路450中。因而,位元向量483係[010100],如圖4I中所展示。在參考編號4.e處,將位元向量483複製至儲存暫時列2位元向量482之記憶體胞。因而,暫時列2位元向量482係[010100],如圖4I中所展示。
圖4J及由參考編號4.f至4.j指代之偽碼對應於第二迭代之一第三階段。在參考編號4.f處,將經儲存為位元向量478之資料型樣讀取至感測電路450中使得位元向量483係[010100]。在參考編號4.g處(例如,「inv()」),對位元向量483執行一「反相」運算使得位元向量483儲存[101011](例如,其先前資料型樣之反相)。在參考編號4.h處,對位元向量483(例如,[101011])及位元向量474-1(例如,[101001])執行一「及」運算,結果保存於感測電路450中使得位元向量483係[101001]。該「及」運算之結果(例如,[101001])(其經儲存為位元向量483)與暫時列2位元向量482(例如,[010100])進行「或」運算,其中結果(例如,[111101])作為位元向量483而保存於感測電路450中。將該「或」運算之結果(例如,[111101])複製至儲存位元向量474-1之記憶體胞。因而,如圖4J中所展示,在該第三階段之後,位元向量474-1及483係[111101]。
圖4K及由參考編號4.k至4.n指代之偽碼對應於第二迭代之一第四階段。在參考編號4.k處,將經儲存為位元向量480之資料型樣讀取至感測電路450中使得位元向量483係[101001]。在參考編號4.l處,對位元向量483(例如,[101001])及位元向量478(例如,[010100])執行一「及」運算,結果保存於感測電路450中使得位元向量483係[000000]。在參考編號4.m處,將該「及」運算之結果(例如,
[000000])(其經儲存為位元向量483)向左位移一位元位置,使得位元向量483係[000000]。在參考編號4.n處,將向左移位運算之結果(例如,[000000])複製至儲存位元向量482之記憶體胞。因而,如圖4K中所展示,在該第四階段之後,位元向量482及483係[000000]。
圖4L及由參考編號4.o至4.s指代之偽碼對應於第二迭代之一第五階段。在參考編號4.o處,將經儲存為位元向量476之資料型樣讀取至感測電路450中使得位元向量483係[101000]。在參考編號4.p處,對位元向量483執行一「反相」運算使得位元向量483儲存[010111](例如,其先前資料型樣之反相)。在參考編號4.q處,對位元向量483(例如,[010111])及位元向量474-1(例如,[111101])執行一「及」運算,結果保存於感測電路450中使得位元向量483係[010101]。該「及」運算之結果(例如,[010101])(其經儲存為位元向量483)與暫時列2位元向量482(例如,[000000])進行「或」運算,其中結果(例如,[010101])作為位元向量483而保存於感測電路450中。將該「或」運算之結果(例如,[010101])複製至儲存位元向量474-1之記憶體胞。因而,如圖4L中所展示,在該第五階段之後,位元向量474-1及483係[010101]。
圖4L展示在與參考編號4相關聯之「For」迴圈之一第二迭代之後陣列430之記憶體胞之狀態。在該「For」迴圈之第二迭代之後,來自位元向量488-0(例如,在該第二迭代之前為[011])之1位元與來自位元向量488-1(例如,在該第二迭代之前為[001])之一0位元交換,且來自位元向量488-2(例如,在該第二迭代之前為[010])之1位元與來自位元向量488-3(例如,在該第二迭代之前為[100])之一0位元交換。圖4M至圖4Q展示在與參考編號4相關聯之該「For」迴圈之一第三迭代之後陣列430之記憶體胞之狀態。
圖4M至圖4Q對應於迭代階段之一第三迭代(例如,對應於由4.a至4.s指代之偽碼的「For」迴圈之初始執行且對於該第三迭代,指數n
係2)。第三迭代之一第一階段對應於由參考編號4.a及4.b指代之偽碼及圖4M,且與將該「列n位元向量」之資料型樣儲存於對應於暫時列1位元向量480之記憶體胞中相關聯。例如,儲存於包括待被交換資料之一第三列記憶體胞(例如,耦合至存取線404-2之記憶體胞)中的資料之一複本係儲存於對應於暫時列1位元向量480之記憶體胞中。對於此迭代(例如,第三迭代),指數「n」係2(例如,對於「For」迴圈之第三迭代,n=2)。在偽碼之參考編號4.a處(例如,「readRow(列(n))」),將對應於「列n位元向量」之資料型樣讀取至對應於位元向量483之感測電路中。因為對於「For」迴圈之第三迭代,n=2,所以將對應於列2位元向量474-2(例如,[000110])之資料型樣讀取至感測電路450中,使得位元向量483係[000110],如圖4M中所展示。在參考編號4.b處,將對應於位元向量483之資料型樣複製至儲存暫時列1位元向量480之記憶體胞。因而,暫時列1位元向量480係[000110],如圖4M中所展示。
圖4N及由參考編號4.c至4.e指代之偽碼對應於第三迭代之一第二階段。在參考編號4.c處,將經儲存為位元向量483之資料型樣向右位移一位元位置,使得位元向量483係[000011],其係先前位元向量483(例如,[000110])向右位移一位元位置。在參考編號4.d處,對位元向量478(例如,[010100])及位元向量483(例如,[000011])執行一「及」運算。將位元向量478及483進行「及」運算(例如,[010100]「及」[000011])導致[000000],其經儲存為位元向量483(例如,該「及」運算之結果儲存於感測電路450中)。因而,位元向量483係[000000],如圖4N中所展示。在參考編號4.e處,將對應於位元向量483之資料型樣複製至儲存暫時列2位元向量482之記憶體胞。因而,暫時列2位元向量482係[000000],如圖4N中所展示。
圖4O及由參考編號4.f至4.j指代之偽碼對應於第三迭代之一第三
階段。在參考編號4.f處,將經儲存為位元向量478之資料型樣讀取至感測電路450中使得位元向量483係[010100]。在參考編號4.g處,對位元向量483執行一「反相」運算使得位元向量483儲存[101011](例如,其先前資料型樣之反相)。在參考編號4.h處,對位元向量483(例如,[101011])及位元向量474-2(例如,[000110])執行一「及」運算,結果保存於感測電路450中使得位元向量483係[000010]。該「及」運算之結果(例如,[000010])(其經儲存為位元向量483)與暫時列2位元向量482(例如,[000000])進行「或」運算,其中結果(例如,[000010])作為位元向量483而保存於感測電路450中。將該「或」運算之結果(例如,[000010])複製至儲存位元向量474-2之記憶體胞。因而,如圖4O中所展示,在該第三階段之後,位元向量474-2及483係[000010]。
圖4P及由參考編號4.k至4.n指代之偽碼對應於第三迭代之一第四階段。在參考編號4.k處,將經儲存為位元向量480之資料型樣讀取至感測電路450中使得位元向量483係[000110]。在參考編號4.l處,對位元向量483(例如,[000110])及位元向量478(例如,[010100])執行一「及」運算,結果保存於感測電路450中使得位元向量483係[000100]。在參考編號4.m處,將該「及」運算之結果(例如,[000100])(其經儲存為位元向量483)向左位移一位元位置,使得位元向量483係[001000]。在參考編號4.n處,將向左移位運算之結果(例如,[001000])複製至儲存位元向量482之記憶體胞。因而,如圖4P中所展示,在該第四階段之後,位元向量482及483係[001000]。
圖4Q及由參考編號4.o至4.s指代之偽碼對應於第三迭代之一第五階段。在參考編號4.o處,將經儲存為位元向量476之資料型樣讀取至感測電路450中使得位元向量483係[101000]。在參考編號4.p處,對位元向量483執行一「反相」運算使得位元向量483儲存[010111](例如,其先前資料型樣之反相)。在參考編號4.q處,對位元向量483(例如,
[010111])及位元向量474-2(例如,[001010])執行一「及」運算,結果保存於感測電路450中使得位元向量483係[000010]。將該「及」運算之結果(例如,[000010])(其經儲存為位元向量483)與暫時列2位元向量482(例如,[001000])進行「或」運算,其中結果(例如,[000110])作為位元向量483而保存於感測電路450中。將該「或」運算之結果(例如,[000110])複製至儲存位元向量474-2之記憶體胞。因而,如圖4Q中所展示,在該第五階段之後,位元向量474-2及483係[000110]。
圖4Q展示在與參考編號4相關聯之「For」迴圈之一第三迭代之後陣列430之記憶體胞之狀態。在該「For」迴圈之第三迭代之後,來自位元向量488-0(例如,在該第一迭代之前為[011])之0位元與來自位元向量488-1(例如,在該第一迭代之前為[001])之一0位元交換,且來自位元向量488-2(例如,在該第一迭代之前為[010])之0位元與來自位元向量488-3(例如,在該第一迭代之前為[100])之一1位元交換。
對具有不同於一元素寬度3之一元素寬度的元素,可執行比本文實例中所展示之運算迭代更多或更少的運算迭代。例如,若元素488具有一元素寬度4而非3,則可執行4個運算迭代。
進一步言之,交換運算可交換4個以上元素(例如,交換位元向量488-0及位元向量488-1且交換位元向量488-2及位元向量488-3)。例如,交換運算可交換6個元素、8個元素、10個元素等等。
然而,實施例不受限於此實例中之偽碼中的指令序列順序。例如,可在執行參考編號4.k至4.q中之若干運算參考項之前執行參考編號4.c至4.j中之若干運算參考項。
下文描述圖2A之感測電路250之功能性且下文在表1中相對於執行邏輯運算且將一結果最初儲存於感測放大器206中而概述圖2A之感測電路250之功能性。將一特定邏輯運算之結果最初儲存於感測放大器206之初級鎖存器中可提供比先前方法(其中結果可最初駐存於一計
算組件231之一次級鎖存器(例如累加器),且接著隨後被傳送至(例如)感測放大器206)改良之多功能性。
將一特定運算之結果最初儲存於感測放大器206中(例如,不必執行一額外操作來將結果自計算組件231(例如累加器)移動至感測放大器206)係有利的,此係因為(例如)可在不執行一預充電週期(例如,不對互補資料線205-1(D)及/或205-2(D_)執行一預充電週期)之情況下將結果寫入至一列(記憶體胞陣列之一列)或寫回至累加器中。
圖5繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。圖5繪示與對一第一運算元及一第二運算元初始化一「及」邏輯運算相關聯之一時序圖。在此實例中,將該第一運算元儲存於耦合至一第一存取線(例如列X)之一記憶體胞中且將該第二運算元儲存於耦合至一第二存取線(例如列Y)之一記憶體胞中。雖然實例涉及對儲存於對應於一特定行之記憶體胞中之資料執行一「及」運算,但實施例不受限於此。例如,可使整列之資料值與一不同列之資料值進行並行「及」運算。例如,若一陣列包括2,048個行,則可並行執行2,048個「及」運算。
圖5繪示與操作感測電路(例如250)來執行「及」邏輯運算相關聯之若干控制信號。「EQ」對應於施加至感測放大器206之一平衡信號,「列X」對應於施加至存取線204-X之一啟動信號,「列Y」對應於施加至存取線204-Y之一啟動信號,「Act」及「RnIF」對應於施加至
感測放大器206之一各自主動正控制信號及主動負控制信號,「LOAD」對應於一負載控制信號(例如圖2A中所展示之LOAD/PASSD及LOAD/PASSDb),且「AND」對應於圖2A中所展示之AND控制信號。圖5亦繪示波形圖,其展示列X資料值及列Y資料值之各種資料值組合之一「及」邏輯運算期間對應於感測放大器206之數位線D及D_上及對應於計算組件231(例如Accum)之節點S1及S2上之信號(例如電壓信號)(例如,圖式對應於各自資料值組合00、10、01、11)。下文相對於與圖2A中所展示之電路之一「及」運算相關聯之偽碼而討論特定時序圖波形。
可將與將儲存於耦合至列204-X之一記憶體胞中之一第一資料值載入(例如,複製)至累加器中相關聯之偽碼之一實例概述如下:將列X複製至累加器中:撤銷EQ;打開列X;起動感測放大器(此後,列X資料駐存於感測放大器中);啟動LOAD(感測放大器資料(列X)被傳送至累加器之節點S1及S2且動態地駐存於節點S1及S2上);撤銷LOAD;關閉列X;預充電;在上述偽碼中,「撤銷EQ」指示:在t1處停用對應於感測放大器206之一平衡信號(圖5中所展示之EQ信號),如圖5中所展示(例如,使得互補資料線(例如205-1(D)及205-2(D_))不再短接至VDD/2)。在停用平衡之後,啟用(例如,選擇、打開,諸如,藉由啟動一信號來選擇一特定列)一選定列(例如列X),如由偽碼中之「打開列X」所指示且如圖5之信號列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中所繪示之四組可行感測放大器及累加器信號(例如列X資料值及列Y資料值之各組合之一組信號)展示資料線D及D_上之信號之行為。將列X資料值儲存於感測放大器之初級鎖存器中。應注意,圖2A展示:對應於列X之記憶體胞(其包含儲存元件203-2及存取電晶體202-2)耦合至互補資料線D_,而對應於列Y之記憶體胞(其包含儲存元件203-1及存取電晶體202-1)耦合至資料線D。然而,如圖2A中可見,對應於一「0」資料值之儲存於包括存取電晶體202-2之記憶體胞(其對應於列X)中之電荷致使資料線D_(存取電晶體202-2耦合至其)上之電壓升至高態且對應於一「1」資料值之儲存於包括存取電晶體202-2之記憶體胞中之電荷致使資料線D_上之電壓降為低態,其與資料狀態與儲存於對應於列Y(其耦合至資料線D)之記憶體胞(其包括存取電晶體202-1)中之電荷之間的對應性相反。當將資料值寫入至各自記憶體胞時,適當地解釋在耦合至不同資料線之記憶體胞中儲存電荷的此
等差異。
在起動感測放大器之後,上述偽碼中之「啟動LOAD」指示:LOAD控制信號升至高態(如圖5中之t4處所展示)以致使負載/通路電晶體218-1及218-2導通。依此方式,啟動LOAD控制信號以啟用計算組件231之累加器中之次級鎖存器。將儲存於感測放大器206中之所感測資料值傳送(例如,複製)至次級鎖存器。如圖5中所繪示之四組可行感測放大器及累加器信號之各者所展示,累加器之次級鎖存器之輸入處之行為指示:次級鎖存器載入有列X資料值。如圖5中所展示,累加器之次級鎖存器可根據先前儲存於動態鎖存器中之資料值而翻轉(例如,參閱列X=「0」且列Y=「0」及列X=「1」且列Y=「0」時之累加器信號)或不翻轉(例如,參閱列X=「0」且列Y=「1」及列X=「1」且列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中)執行「及」或「或」運算相關聯之一隨後操作階段可包含:執行取決於是否將執行一「及」運算或一「或」運算之特定步驟。下文概述與對駐存於累加器中之資料值(例如儲存於耦合至列X 204-X之記憶體胞202-2中之第一資料值)及第二資料值(例如儲存於耦合至列Y 204-Y之記憶體胞202-1中之資料值)進行「及」運算及「或」運算相關聯之偽碼之實例。與對資料值進行「及」運算相關聯之實例性偽碼可包含:撤銷EQ;打開列Y;起動感測放大器(此後,列Y資料駐存於感測放大器中);關閉列Y;在下一操作中,邏輯運算之結果將被放置於感測放大器上,其將覆寫啟用之任何列;即使當關閉列Y時,感測放大器仍含有列Y資料值;啟動「及」運算;此導致感測放大器被寫入函數(例如列X「及」列Y)之值;若累加器含有一「0」(即,節點S2上對應於一「0」之一電壓及節點S1上對應於一「1」之一電壓),則感測放大器資料被寫入一「0」;若累加器含有一「1」(即,節點S2上對應於一「1」之一電壓及節點S1上對應於一「0」之一電壓),則感測放大器資料保持不變(列Y資料);此操作使累加器中之資料不變;
撤銷「及」運算;預充電;在上述偽碼中,「撤銷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」指示:若不期望將「及」邏輯運算之結果儲存回對應於列Y之記憶體胞中,則可停用選定列(例如列Y)。然而,圖5展示:列Y經保持啟用使得邏輯運算之結果可儲存回對應於列Y之記憶體胞中。可藉由存取電晶體切斷以使選定記憶體胞202-1與資料線205-1(D)解耦合而完成使
對應於列Y之記憶體胞隔離。在選定列Y經組態(例如,以隔離記憶體胞或不隔離記憶體胞)之後,上述偽碼中之「啟動「及」運算」指示:AND控制信號升至高態(如圖5中之t11處所展示)以致使下拉電晶體207-1導通。依此方式,啟動AND控制信號致使函數(例如列X「及」列Y)之值寫入至感測放大器。
在第一資料值(例如列X)儲存於累加器231之動態鎖存器中且第二資料值(例如列Y)儲存於感測放大器206中之後,若計算組件231之動態鎖存器含有一「0」(即,節點S2上對應於一「0」之一電壓及節點S1上對應於一「1」之一電壓),則感測放大器資料被寫入一「0」(不管先前儲存於感測放大器中之資料值如何),此係因為節點S1上對應於一「1」之電壓致使電晶體209-1導通,藉此透過電晶體209-1、下拉電晶體207-1及資料線205-1(D)而將感測放大器206耦合至接地。當一「及」運算之任一資料值係「0」時,結果係一「0」。此處,當第二資料值(在動態鎖存器中)係一「0」時,不管第一資料值之狀態如何,「及」運算之結果係一「0」,因此,感測電路之組態致使「0」結果被寫入且最初儲存於感測放大器206中。此操作使累加器中之資料值保持不變(例如,來自列X)。
若累加器之次級鎖存器含有一「1」(例如,來自列X),則「及」運算之結果取決於儲存於感測放大器206中之資料值(例如,來自列Y)。若儲存於感測放大器206中之資料值(例如,來自列Y)亦為一「1」,則「及」運算之結果應為一「1」,但若儲存於感測放大器206中之資料值(例如,來自列Y)亦為一「0」,則「及」運算之結果應為一「0」。感測電路250經組態使得若累加器之動態鎖存器含有一「1」(即,節點S2上對應於一「1」之一電壓及節點S1上對應於一「0」之一電壓),則電晶體209-1不導通,感測放大器不耦合至接地(如上文所描述),且先前儲存於感測放大器206中之資料值保持不變(例如列Y資
料值,因此,若列Y資料值係一「1」,則「及」運算結果係一「1」,且若列Y資料值係一「0」,則「及」運算結果係一「0」)。此操作使累加器中之資料值保持不變(例如,來自列X)。
在將「及」運算之結果最初儲存於感測放大器206中之後,上述偽碼中之「撤銷「及」運算」指示:AND控制信號降為低態(如圖5中之t12處所展示)以致使下拉電晶體207-1停止導通以使感測放大器206(及資料線205-1(D))與接地隔離。若先前未撤銷「及」運算,則可關閉列Y(如圖5中之t13處所展示)且可停用感測放大器(如在圖5中之t14處藉由ACT正控制信號降為低態且RnIF負控制信號升至高態所展示)。在使資料線隔離之後,上述偽碼中之「預充電」可藉由一平衡操作而致使資料線預充電,如先前所描述(例如,開始於圖5中所展示之t14處)。
替代地,圖5展示針對一「及」邏輯運算(其涉及運算元之可行組合(例如列X/列Y資料值00、10、01及11)之各者)之耦合至感測放大器(例如圖2A中所展示之206)之資料線(例如圖2A中所展示之205-1(D)及205-2(D_))上之電壓信號之行為及計算組件(例如圖2A中所展示之231)之次級鎖存器之節點S1及S2上之電壓信號之行為。
雖然圖5中所繪示之時序圖及上文所描述之偽碼指示在開始將第二運算元(例如列Y資料值)載入至感測放大器中之後初始化「及」邏輯運算,但可藉由在開始將第二運算元(例如列Y資料值)載入至感測放大器中之前初始化「及」邏輯運算而成功地操作圖2A中所展示之電路。
圖6繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。圖6繪示與在開始將第二運算元(例如列Y資料值)載入至感測放大器中之後初始化一「或」邏輯運算相關聯之一時序圖。圖6繪示用於第一運算元資料值及第二運算元資料值之各
種組合的感測放大器信號及累加器信號。下文相對於與圖2A中所展示之電路之一「及」邏輯運算相關聯之偽碼而討論特定時序圖信號。
一隨後操作階段可交替地與對第一資料值(現儲存於感測放大器206及計算組件231之次級鎖存器中)及第二資料值(儲存於耦合至列Y 204-Y之一記憶體胞202-1中)執行「或」運算相關聯。未相對於圖6而重複先前相對於圖5中所展示之時間t1至t7所描述之將列X資料載入至感測放大器及累加器中之操作。與對資料值進行「或」運算相關聯之實例性偽碼可包含:撤銷EQ;打開列Y;起動感測放大器(此後,列Y資料駐存於感測放大器中);關閉列Y;當關閉列Y時,感測放大器仍含有列Y資料值;啟動「或」運算;此導致感測放大器被寫入函數(例如列X「或」列Y)之值,其可如下所述般覆寫來自先前儲存於感測放大器中之列Y之資料值:若累加器含有一「0」(即,節點S2上對應於一「0」之一電壓及節點S1上對應於一「1」之一電壓),則感測放大器資料保持不變(列Y資料);若累加器含有一「1」(即,節點S2上對應於一「1」之一電壓及節點S1上對應於一「0」之一電壓),則感測放大器資料被寫入一「1」;此操作使累加器中之資料保持不變;撤銷「或」運算;預充電;
上述偽碼中所展示之「撤銷EQ」(圖6中之t8處所展示)、「打開列Y」(圖6中之t9處所展示)、「起動感測放大器」(圖6中之t10處所展示)及「關閉列Y」(圖6中之t13處所展示,且其可發生於初始化特定邏輯函數控制信號之前)指示相同於先前相對於「及」運算偽碼所描述之功能性的功能性。一旦適當地組態選定列Y之組態(例如,若邏輯運算結果將儲存於對應於列Y之記憶體胞中,則啟用選定列Y,或若邏輯運算結果將不儲存於對應於列Y之記憶體胞中,則關閉選定列Y以隔離記憶體胞),則上述偽碼中之「啟動「或」運算」指示:OR控制信號升至高態,如圖6中之t11處所展示,其致使下拉電晶體207-2導通。依此方式,啟動OR控制信號致使函數(例如列X「或」列Y)之值寫入至感測放大器。
在第一資料值(例如列X)儲存於計算組件231之次級鎖存器中且第二資料值(例如列Y)儲存於感測放大器206中之後,若累加器之動態鎖存器含有一「0」(即,節點S2上對應於一「0」之一電壓及節點S1上對應於一「1」之一電壓),則「或」運算之結果取決於儲存於感測放大器206中之資料值(例如,來自列Y)。若儲存於感測放大器206中之資料值(例如,來自列Y)係一「1」,則「或」運算之結果應為一「1」,但若儲存於感測放大器206中之資料值(例如,來自列Y)亦為一「0」,則「或」運算之結果應為一「0」。感測電路250經組態使得若累加器之動態鎖存器含有一「0」(即,節點S2上對應於一「0」之電壓),則電晶體209-2切斷且不導通(且下拉電晶體207-1亦切斷,此係因為未確證AND控制信號),因此感測放大器206不耦合至接地(任一側),且先前儲存於感測放大器206中之資料值保持不變(例如列Y資料值,使得若列Y資料值係一「1」,則「或」運算結果係一「1」,且若列Y資料值係一「0」,則「或」運算結果係一「0」)。
若累加器之動態鎖存器含有一「1」(即,節點S2上對應於一
「1」之一電壓及節點S1上對應於一「0」之一電壓),則電晶體209-2導通(下拉電晶體207-2亦導通,此係因為已確證OR控制信號),且耦合至資料線205-2(D_)之感測放大器206之輸入耦合至接地,此係因為節點S2上對應於一「1」之電壓致使電晶體209-2與下拉電晶體207-2(其因為已確證OR控制信號而亦導通)一起導通。依此方式,不管先前儲存於感測放大器中之資料值如何,當累加器之次級鎖存器含有一「1」時,將一「1」最初儲存於感測放大器206中作為「或」運算之一結果。此操作使累加器中之資料保持不變。替代地,圖6展示針對一「或」邏輯運算(其涉及運算元之可行組合(例如列X/列Y資料值00、10、01及11)之各者)之耦合至感測放大器(例如圖2A中所展示之206)之資料線(例如圖2A中所展示之205-1(D)及205-2(D_))上之電壓信號之行為及計算組件231之次級鎖存器之節點S1及S2上之電壓信號之行為。
在將「或」運算之結果最初儲存於感測放大器206中之後,上述偽碼中之「撤銷「或」運算」指示:OR控制信號降為低態(如圖6中之t12處所展示)以致使下拉電晶體207-2停止導通以使感測放大器206(及資料線D_205-2)與接地隔離。若先前未撤銷「或」運算,則可關閉列Y(如圖6中之t13處所展示)且可停用感測放大器(如圖6中之t14處藉由ACT正控制信號降為低態且RnIF負控制信號升至高態所展示)。在隔離資料線之後,上述偽碼中之「預充電」可藉由一平衡操作而致使資料線之一預充電,如先前所描述且如圖6中之t14處所展示。
圖2A中所繪示之感測電路250可提供如下額外邏輯運算靈活性。藉由在上文所描述之「及」運算及「或」運算中用AND控制信號之操作替代ANDinv控制信號之操作及/或用OR控制信號之操作替代ORinv控制信號之操作,邏輯運算可自{列X「及」列Y}改變至{-列X「及」列Y}(其中「~列X」指示列X資料值之一相反者,例如「非」列X)且
可自{列X「或」列Y}改變至{-列X「或」列Y}。例如,在涉及反相資料值之一「及」運算期間,可確證ANDinv控制信號而非AND控制信號,且在涉及反相資料值之一「或」運算期間,可確證ORInv控制信號而非OR控制信號。啟動ORinv控制信號致使電晶體214-1導通且啟動ANDInv控制信號致使電晶體214-2導通。在各情況中,確證適當反相控制信號可翻轉感測放大器且致使最初儲存於感測放大器206中之結果成為使用反相列X資料值及真列Y資料值之「及」運算之結果或使用反相列X資料值及真列Y資料值之「或」運算之結果。一資料值之一真或互補版本可用於累加器中以(例如)藉由首先載入待反相之一資料值且接著載入不被反相之一資料值而執行邏輯運算(例如「及」、「或」)。
在類似於上文相對於使上文所描述之「及」運算及「或」運算之資料值反相所描述之方法的一方法中,圖2A中所展示之感測電路可藉由將未反相資料值放置至累加器之動態鎖存器中且使用該資料來使感測放大器206中之資料值反相而執行一「非」(例如反相)運算。如先前所提及,啟動ORinv控制信號致使電晶體214-1導通且啟動ANDinv控制信號致使電晶體214-2導通。ORinv及/或ANDinv控制信號用於實施「非」函數,如下文將進一步描述:將列X複製至累加器中;撤銷EQ;打開列X;起動感測放大器(此後,列X資料駐存於感測放大器中);啟動LOAD(感測放大器資料(列X)被傳送至累加器之節點S1及S2且動態地駐存於節點S1及S2上);撤銷LOAD;啟動ANDinv及ORinv(其將互補資料值放置於資料線上);
此導致感測放大器中之資料值反相(例如,感測放大器鎖存器翻轉);此操作使累加器中之資料保持不變;撤銷ANDinv及ORinv;關閉列X;預充電;上述偽碼中所展示之「撤銷EQ」、「打開列X」、「起動感測放大器」、「啟動LOAD」及「撤銷LOAD」指示相同於「及」運算及「或」運算之偽碼之前之上文所描述之「將列X複製至累加器中」初始操作階段之偽碼中之相同操作的功能性。然而,並非在將列X資料載入至感測放大器206中且複製至動態鎖存器中之後關閉列X且預充電,而是累加器之動態鎖存器中之資料值之一互補版本可放置於資料線上且因此藉由啟用(例如,致使電晶體導通)及停用反相電晶體(例如ANDinv及ORinv)而傳送至感測放大器206。此導致感測放大器206自先前儲存於感測放大器中之真資料值翻轉至儲存於感測放大器中之一互補資料值(例如反相資料值)。例如,可藉由啟動及撤銷ANDinv及ORinv而將累加器中之資料值之一真或互補版本傳送至感測放大器。此操作使累加器中之資料保持不變。
因為圖2A中所展示之感測電路250將「及」、「或」及「非」邏輯運算之結果最初儲存於感測放大器206中(例如,儲存於感測放大器節點上),所以可將此等邏輯運算結果容易且快速地傳達至任何啟用列,傳達至邏輯運算完成之後所啟動之任何列,及/或傳達至計算組件231之次級鎖存器中。亦可藉由在感測放大器206起動之前適當起動AND、OR、ANDinv及/或ORinv控制信號(且操作使一閘極耦合至特定控制信號之對應電晶體)而使「及」、「或」及/或「非」邏輯運算之感測放大器206及定序互換。
當依此方式執行邏輯運算時,可使感測放大器206預接種有來自累加器之動態鎖存器之一資料值以減小所利用之總電流,此係因為:當將累加器函數複製至感測放大器206時,感測放大器206不具有全導軌電壓(例如供應電壓或接地/參考電壓)。使用一預接種感測放大器206之一操作序列迫使資料線之一者達到參考電壓(使互補資料線具有VDD/2)或使互補資料線保持不變。當感測放大器206起動時,感測放大器206將各自資料線拉至全導軌。使用此操作序列將覆寫一啟用列中之資料。
可藉由使用一傳統DRAM隔離(ISO)方案來多工化(「muxing」)兩個相鄰資料線互補對而完成一「移位」運算。根據本發明之實施例,移位電路223可用於使儲存於耦合至一對特定互補資料線之記憶體胞中之資料值移位至對應於一對不同互補資料線之感測電路250(例如感測放大器206)(例如(諸如)對應於一對左邊或右邊相鄰互補資料線之一感測放大器206)。如本文中所使用,一感測放大器206對應於當隔離電晶體221-1及221-2導通時該感測放大器耦合至其之互補資料線對。「移位」運算(右移或左移)不將列X資料值預複製至累加器中。可將使列X右移之操作概述如下:撤銷常態且啟動移位;撤銷EQ;打開列X;起動感測放大器(此後,經移位之列X資料駐存於感測放大器中);啟動常態且撤銷移位;關閉列X;預充電;在上述偽碼中,「撤銷常態且啟動移位」指示:一NORM控制信
號降為低態以致使移位電路223之隔離電晶體221-1及221-2不導通(例如,使感測放大器與對應互補資料線對隔離)。SHIFT控制信號升至高態以致使隔離電晶體221-3及221-4導通,藉此將感測放大器206耦合至左邊相鄰互補資料線對(例如,在用於左邊相鄰互補資料線對之非導通隔離電晶體221-1及221-2之記憶體陣列側上)。
在組態移位電路223之後,上述偽碼中所展示之「撤銷EQ」、「打開列X」及「起動感測放大器」指示相同於「及」運算及「或」運算之偽碼之前之上文所描述之「將列X複製至累加器中」初始操作階段之偽碼中之相同操作的功能性。在此等操作之後,耦合至左邊相鄰互補資料線對之記憶體胞之列X資料值右移且儲存於感測放大器206中。
在上述偽碼中,「啟動常態且撤銷移位」指示:一NORM控制信號升至高態以致使移位電路223之隔離電晶體221-1及221-2導通(例如,將感測放大器耦合至對應互補資料線對),且SHIFT控制信號降為低態以致使隔離電晶體221-3及221-4不導通且使感測放大器206與左邊相鄰互補資料線對隔離(例如,在用於左邊相鄰互補資料線對之非導通隔離電晶體221-1及221-2之記憶體陣列側上)。因為仍啟用列X,所以透過隔離電晶體221-1及221-2而將已右移之列X資料值傳送至對應互補資料線對之列X。
在使列X資料值右移至對應互補資料線對之後,停用選定列(例如列X),如由上述偽碼中之「關閉列X」所指示,其可藉由存取電晶體切斷以使選定記憶體胞與對應資料線解耦合而完成。一旦關閉選定列且使記憶體胞與資料線隔離,則可對資料線預充電,如由上述偽碼中之「預充電」所指示。可藉由一平衡操作而完成資料線之一預充電,如上文所描述。可將使列X左移之操作概述如下:啟動常態且撤銷移位;
撤銷EQ;打開列X;起動感測放大器(此後,列X資料駐存於感測放大器中);撤銷常態且啟動移位;將感測放大器資料(經左移之列X)傳送至列X;關閉列X;預充電;在上述偽碼中,「啟動常態且撤銷移位」指示:一NORM控制信號升至高態以致使移位電路223之隔離電晶體221-1及221-2導通,且SHIFT控制信號降為低態以致使隔離電晶體221-3及221-4不導通。此組態將感測放大器206耦合至一對對應互補資料線且使感測放大器與右邊相鄰互補資料線對隔離。
在組態移位電路之後,上述偽碼中所展示之「撤銷EQ」、「打開列X」及「起動感測放大器」指示相同於「及」運算及「或」運算之偽碼之前之上文所描述之「將列X複製至累加器中」初始操作階段之偽碼中之相同操作的功能性。在此等操作之後,將耦合至對應於感測電路250之互補資料線對的記憶體胞之列X資料值儲存於感測放大器206中。
在上述偽碼中,「撤銷常態且啟動移位」指示:一NORM控制信號降為低態以致使移位電路223之隔離電晶體221-1及221-2不導通(例如,使感測放大器與對應互補資料線對隔離),且SHIFT控制信號升至高態以致使隔離電晶體221-3及221-4導通以將感測放大器耦合至左邊相鄰互補資料線對(例如,在用於左邊相鄰互補資料線對之非導通隔離電晶體221-1及221-2之記憶體陣列側上)。因為仍啟用列X,所以將已左移之列X資料值傳送至左邊相鄰互補資料線對之列X。
在使列X資料值左移至左邊相鄰互補資料線對之後,停用選定列
(例如列X),如由「關閉列X」所指示,其可藉由存取電晶體切斷以使選定記憶體胞與對應資料線解耦合而完成。一旦關閉選定列且使記憶體胞與資料線隔離,則可對資料線預充電,如由上述偽碼中之「預充電」所指示。可藉由一平衡操作而完成資料線之一預充電,如上文所描述。
根據各種實施例,可在一記憶體中處理器(PIM)器件之一記憶體陣列核心中實現一般計算,諸如(例如)6F^2或4F^2記憶體胞大小之一DRAM每記憶體胞一個電晶體(例如1T1C)組態。本文中所描述之裝置及方法之一潛在優點可不按照單指令速度實現,而可以累加速度實現,累加速度可藉由在無需自記憶體陣列(例如DRAM)傳送出資料或無需起動一行解碼之情況下並行計算整個資料庫而達成。換而言之,可減少或消除資料傳送時間。例如,本發明之裝置可使用耦合至一資料線之記憶體胞(例如一行之16K個記憶體胞)中之資料值來同時執行「及」或「或」運算。
在先前方法之感測電路(其中移出用於邏輯運算處理之資料(例如,使用32或64位元暫存器))中,可並行執行比本發明之裝置少之操作。依此方式,有效地提供比涉及一中央處理單元(CPU)(其與記憶體分立,使得資料必須傳送於CPU與記憶體之間)之習知組態顯著更高之產量。根據本發明之一裝置及/或方法亦可使用比其中CPU與記憶體分立之組態少之能量/面積。此外,本發明之一裝置及/或方法可基於較少能量/面積優點而改良,此係因為記憶體陣列中邏輯運算藉由消除某些資料值傳送而節約能量。
圖7繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。下文相對於執行邏輯運算且將一結果最初儲存於計算組件231(例如累加器之次要鎖存器)中而描述圖2A之感測電路250之功能性。圖7中所展示之時序圖繪示與使用圖2A中所繪
示之感測電路來執行一邏輯運算(例如,一R輸入邏輯運算)之一第一操作階段相關聯之信號(例如電壓信號)。相對於圖7所描述之第一操作階段可為(例如)一「及」、「反及」、「或」或「反或」運算之一第一操作階段。執行圖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之次要鎖存器(例如累加器)。將儲存於感測放大器206中之所感測資料值傳送(例如,複製)至次要鎖存器(其包含動態鎖存器及鎖存器264)。
在時間t6處,Passd控制信號711(及Passdb控制信號)降為低態,藉此切斷通路電晶體(若存在)。然而,因為累加器控制信號ACCUMB 712-1及ACCUM 712-2保持啟動,所以將一累加結果儲存(例如,鎖存)於次要鎖存器(例如累加器)中。在時間t7處,撤銷列信號704-0,且在時間t8處停用陣列感測放大器(例如,撤銷感測放大器控制信號728及765)。
在時間t9處,平衡資料線D及D_(例如,啟動平衡信號726),如藉由資料線電壓信號705-1及705-2自其各自導軌值移動至平衡電壓(VDD/2)所繪示。歸因於能量守恆定律,平衡幾乎不消耗能量。如上文結合圖2B所描述,平衡可涉及:在一平衡電壓(在此實例中,其係VDD/2)處將互補資料線D及D_短接在一起。平衡可發生於(例如)一記憶體胞感測操作之前。
圖8及圖9分別繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之時序圖。圖8及圖9中所展示之時序圖繪示與執行一邏輯運算(例如一R輸入邏輯運算)之若干中間操作階段相關聯之信號(例如電壓信號)。例如,圖8中所展示之時序圖對應於一R輸入「反及」運算或一R輸入「及」運算之若干中間操作階段,且圖9中所展示之時序圖對應於一R輸入「反或」運算或一R輸入「或」運算之若干中間操作階段。例如,執行一「及」或「反及」運算可包含:在一初始操作階段(諸如相對於圖7所描述之初始操作階段)之後一或多次執行圖8中所展示之操作階段。類似地,執行一「或」或「反或」運算可包含:在一初始操作階段(諸如相對於圖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 265)升至高態,且負控制信號828/928(例如圖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中所繪示之時序圖對應於一「反及」或「及」運算之一中間階段,所以在時間t4處啟動控制信號811-1(Passd)以接通將初級鎖存器耦合至資料線D之通路電晶體且Passdb控制信號保持撤銷以使將初級鎖存器耦合至資
料線D_之通路電晶體保持切斷。相反地,因為圖9中所繪示之時序圖對應於一「反或」或「或」運算之一中間階段,所以在時間t4處啟動控制信號911-2(Passdb)以接通將初級鎖存器耦合至資料線D_之通路電晶體且控制信號Passd保持撤銷以使將初級鎖存器耦合至資料線D之通路電晶體保持切斷。自上文回想到,在相對於圖7所描述之最初操作階段期間啟動累加器控制信號712-1(Accumb)及712-2(Accum),且累加器控制信號712-1(Accumb)及712-2(Accum)在(若干)中間操作階段期間保持啟動。
因為先前已啟用累加器,所以僅啟動Passd(如圖8中所展示之811-1)導致對應於圖8中所展示之電壓信號805-1(其對應於資料線D)之資料值累加。類似地,僅啟動Passdb(如圖9中所展示之911-2)導致對應於電壓信號905-2(其對應於資料線D_)之資料值累加。例如,在圖8中所繪示之時序圖中所展示之一實例性「及」/「反及」運算(其中僅啟動Passd(811-1))中,若儲存於第二選定記憶體胞中之資料值係一邏輯「0」,則與次級鎖存器相關聯之累加值被確證為低態,使得次級鎖存器儲存邏輯「0」。若儲存於第二選定記憶體胞中之資料值並非為一邏輯「0」,則次級鎖存器保持其儲存之第一選定記憶體胞資料值(例如一邏輯「1」或一邏輯「0」)。因而,在此「及」/「反及」運算實例中,次級鎖存器用作一「零(0)」累加器。
類似地,在圖9中所繪示之時序圖中所展示之一實例性「或」/「反或」運算(其中僅啟動Passdb 911-2)中,若儲存於第二選定記憶體胞中之資料值係一邏輯「1」,則與次級鎖存器相關聯之累加值被確證為高態,使得次級鎖存器儲存邏輯「1」。若儲存於第二選定記憶體胞中之資料值並非為一邏輯「1」,則次級鎖存器保持其儲存之第一選定記憶體胞資料值(例如一邏輯「1」或一邏輯「0」)。因而,在此「或」/「反或」運算實例中,次級鎖存器有效地用作一「一(1)」累
加器,此係因為D_上之電壓信號905-2設定累加器之真資料值。
在一中間操作階段(諸如圖8或圖9中所展示之中間操作階段)結束時,撤銷Passd信號811-1(例如,用於「及」/「反及」運算)或Passdb信號911-2(例如,用於「或」/「反或」運算)(例如,在時間t5處),停用選定列(例如,在時間t6處),停用感測放大器(例如,在時間t7處),且平衡發生(例如,在時間t8處)。一中間操作階段(諸如圖8或圖9中所繪示之中間操作階段)可經重複以累加來自若干額外列之結果。作為一實例,可在一隨後(例如,第二)時間對一第三記憶體胞執行圖8及/或圖9中所繪示之時序圖之序列,在一隨後(例如,第三)時間對一第四記憶體胞執行圖8及/或圖9中所繪示之時序圖之序列,等等。例如,對於一10輸入「反或」運算,圖9中所展示之中間階段可發生9次以提供10輸入邏輯運算之9個輸入,其中在初始操作階段(例如相對於圖7所描述)期間判定第十輸入。
圖10繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。圖10中所繪示之時序圖展示與執行一邏輯運算(例如一R輸入邏輯運算)之一最後操作階段相關聯之信號(例如電壓信號)。例如,圖10中所繪示之時序圖對應於一R輸入「及」運算或一R輸入「或」運算之一最後運算階段。
例如,執行一R輸入之一最後運算階段可包含:在結合圖8及/或圖9所描述之(若干)中間操作階段之若干迭代之後,執行圖10中所展示之操作階段。下文所展示之表2指示對應於與根據本文中所描述之若干實施例執行若干R輸入邏輯運算相關聯之操作階段之序列的圖。
可(例如)藉由將一「及」運算之R-1次迭代之結果儲存於感測放大器中,接著在進行最後操作階段以儲存結果之前使感測放大器反相而實施一「反及」運算(如下文將描述)。可(例如)藉由將一「或」運算之R-1次迭代之結果儲存於感測放大器中,接著在進行最後操作階段以儲存結果之前使感測放大器反相而實施一「反或」運算(如下文將描述)。
結合將一R輸入邏輯運算之一結果儲存至陣列(例如圖2A中所展示之陣列230)之一列而描述圖10之時序圖中所繪示之最後操作階段。然而,如上文所描述,在若干實施例中,可將結果儲存至一適合位置而非儲存回至陣列(例如,經由I/O線而儲存至與一控制器及/或主機處理器相關聯之一外部暫存器,儲存至一不同記憶體器件之一記憶體陣列,等等)。
如圖10中所繪示之時序圖中所展示,在時間t1處,平衡經停用(例如,平衡信號1026經撤銷)使得資料線D及D_浮動。在時間t2處,Passd控制信號1011(及Passdb信號)經啟動以用於一「及」或「或」運算。
啟動Passd控制信號1011(及Passdb信號)(例如,與一「及」或「或」運算相關聯)以將儲存於圖2A中所展示之計算組件231之次級鎖存器中之累加輸出傳送至感測放大器206之初級鎖存器。例如,對於一「及」運算,若先前操作階段(例如圖7中所繪示之第一操作階段及圖8中所繪示之中間操作階段之一或多個迭代)中所感測之記憶體胞之任何者儲存一邏輯「0」(例如,若「及」運算之R輸入之任何者係一邏輯「0」),則資料線D_將攜載對應於邏輯「1」之一電壓(例如VDD)且資料線D將攜載對應於邏輯「0」之一電壓(例如接地)。對於此
「及」運算實例,若先前操作階段中所感測之全部記憶體胞儲存一邏輯「1」(例如,若「及」運算之全部R輸入係邏輯「1」),則資料線D_將攜載對應於邏輯「0」之一電壓且資料線D將攜載對應於邏輯「1」之一電壓。接著,在時間t3處,啟用感測放大器206之初級鎖存器(例如,一正控制信號1065(例如,對應於圖2B中所展示之ACT 265)升至高態且負控制信號1028(例如,對應於圖2B中所展示之RnIF 228)降為低態),感測放大器206放大資料線D與D_之間的差動信號,使得資料線D此時攜載各自輸入資料值之「及」運算結果,如自先前操作階段期間所感測之記憶體胞所判定。因而,若輸入資料值之任何者係一邏輯「0」,則資料線D將處於接地,且若全部輸入資料值係一邏輯「1」,則資料線D將處於VDD。
對於一「或」運算,若先前操作階段(例如圖7之第一操作階段及圖9中所展示之中間操作階段之一或多個迭代)中所感測之記憶體胞之任何者儲存一邏輯「1」(例如,若「或」運算之R輸入之任何者係一邏輯「1」),則資料線D_將攜載對應於邏輯「0」之一電壓(例如接地)且資料線D將攜載對應於邏輯「1」之一電壓(例如VDD)。對於此「或」運算實例,若先前操作階段中所感測之全部記憶體胞儲存一邏輯「0」(例如,若「或」運算之全部R輸入係邏輯「0」),則資料線D將攜載對應於邏輯「0」之一電壓且資料線D_將攜載對應於邏輯「1」之一電壓。接著,在時間t3處,啟用感測放大器206之初級鎖存器且資料線D此時攜載各自輸入資料值之「或」運算結果,如自先前操作階段期間所感測之記憶體胞所判定。因而,若輸入資料值之任何者係一邏輯「1」,則資料線D將處於VDD,且若全部輸入資料值係一邏輯「0」,則資料線D將處於接地。
接著,可將R輸入「及」或「或」邏輯運算之結果儲存回至圖2A中所展示之陣列230之一記憶體胞。在圖10所展示之實例中,將R輸
入邏輯運算之結果儲存至耦合至最後啟用列(例如最後邏輯運算運算元之列)之一記憶體胞。將邏輯運算之結果儲存至一記憶體胞僅涉及:藉由啟用特定列而啟用相關聯之列存取電晶體。將記憶體胞之電容器驅動至資料線D上對應於資料值(例如邏輯「1」或邏輯「0」)之一電壓,其本質上覆寫先前儲存於選定記憶體胞中之任何資料值。應注意,選定記憶體胞可為一相同記憶體胞,其儲存用作邏輯運算之一輸入的一資料值。例如,可將邏輯運算之結果儲存回至儲存邏輯運算之一運算元的一記憶體胞。
圖10中所繪示之時序圖展示:在時間t7處,正控制信號1065及負控制信號1028經撤銷(例如,信號1065降為低態且信號1028升至高態)以停用圖2A中所展示之感測放大器206。在時間t4處,撤銷在時間t2處啟動之Passd控制信號1011(及Passdb信號)。實施例不受限於此實例。例如,在若干實施例中,可在時間t4之後(例如,在撤銷Passd控制信號1011(及Passdb信號)之後)啟用圖2A中所展示之感測放大器206。
如圖10中所展示,在時間t5處,啟用一選定列(例如,藉由列啟動信號1004升至高態,其將選定記憶體胞之電容器驅動至對應於儲存於累加器中之邏輯值的電壓)。在時間t6處,停用選定列。在時間t7處,停用圖2A中所展示之感測放大器206(例如,撤銷負控制信號1028及正控制信號1065),且在時間t8處,平衡發生(例如,啟動信號1026且使互補資料線1005-1(D)及1005-2(D_)上之電壓達到平衡電壓)。
雖然上文相對於用於執行「及」及「或」邏輯運算之圖10而討論執行一R輸入之一最後操作階段的實例,但實施例不受限於此等邏輯運算。例如,「反及」及「反或」運算亦可涉及儲存回至陣列230之一記憶體胞的一R輸入之一最後運算階段,其使用控制信號來操作圖
2A中所繪示之感測電路。
圖11係繪示根據本發明之若干實施例之具有可選邏輯運算選擇邏輯之感測電路的一示意圖。圖11展示耦合至一對互補感測線1105-1及1105-2之一感測放大器1106、及經由通閘1193-1及1193-2而耦合至感測放大器1106之一計算組件1131。通閘1193-1及1193-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,其耦合於通閘1193-1及1193-2之閘極與一TT信號控制線之間;邏輯選擇電晶體1154,其耦合於通閘1193-1及1193-2之閘極與一FT信號控制線之間;及邏輯選擇電晶體1164,其耦合於交換電晶體1142之閘極與一FF信號控制線之間。邏輯選擇電晶體1162及1152之閘極透過隔離電晶體1150-1(其具有耦合至一ISO信號控制線之一閘極)而耦合至真感測線(例如,1105-1),且邏輯選擇電晶體1164及1154之閘極透過隔離電晶體1150-2(其亦具有耦合至一ISO信號控制線之一閘極)而耦合至互補感測線(例如1105-2)。
邏輯選擇電晶體1152及1154分別類似於電晶體207-1(耦合至一「及」信號控制線)及電晶體207-2(耦合至一「或」信號控制線)而配置,如圖2A中所展示。邏輯選擇電晶體1152及1154之操作係類似地基於TT及FT選擇信號之狀態及確證ISO信號時各自互補感測線上之資
料值。邏輯選擇電晶體1162及1164亦依類似於控制(例如,藉由接通而啟用或藉由切斷而停用)交換電晶體1142之一方式操作。例如,為啟用(例如,接通)交換電晶體1142,啟動TF控制信號(例如,呈高態)(其中真感測線上之資料值係「1」),或啟動FF控制信號(例如,呈高態)(其中互補感測線上之資料值係「1」)。若各自控制信號或對應感測線(例如特定邏輯選擇電晶體之閘極耦合至其之感測線)上之資料值不呈高態,則不會由一特定邏輯選擇電晶體啟用交換電晶體1142。
PASS*控制信號未必與PASS控制信號互補。例如,可同時啟動PASS控制信號及PASS*控制信號兩者或可同時撤銷PASS控制信號及PASS*控制信號兩者。然而,同時啟動PASS控制信號及PASS*控制信號兩者使互補感測線對DIGIT(n)/DIGIT(n)_短接在一起,其可為待避免之一破壞性組態。圖12中所繪示之邏輯表中匯總圖11中所繪示之感測電路之邏輯運算結果。
圖12係繪示根據本發明之若干實施例之可由圖11中所展示之感測電路實施之可選邏輯運算結果的一邏輯表。四個邏輯選擇控制信號(例如,TF、TT、FT、及FF)可與呈現於互補感測線上之一特定資料值一起用於選擇實施涉及儲存於感測放大器1106及計算組件1131中之起始資料值的複數邏輯運算之一者。四個控制信號(例如,TF、TT、FT、及FF)與呈現於互補感測線上之一特定資料值一起控制通閘1193-1及1193-2及交換電晶體1142,其繼而影響起動之前/之後之計算組件1131及/或感測放大器1106中之資料值。可選地控制交換電晶體1142之能力尤其促進實施涉及反相資料值(例如,反相運算元及/或反相結果)之邏輯運算。
圖12中所繪示之邏輯表展示1244處之行A中所展示之儲存於計算組件1131中之起始資料值及1245處之行B中所展示之儲存於感測放大器1106中之起始資料值。圖12之邏輯表中之其他3個頂部行標頭(「不
打開」1256、「打開真」1270、及「打開反相」1271)係指通閘1193-1及1193-2及交換電晶體1142之狀態,通閘1193-1及1193-2及交換電晶體1142可根據四個邏輯選擇控制信號(例如TF、TT、FT及FF)之狀態以及確證ISO控制信號時呈現於互補感測線對1105-1及1105-2上之一特定資料值而分別被控制為「打開」或「關閉」。「不打開」行對應於通閘1193-1及1193-2及交換電晶體1142兩者處於一非導通(例如,切斷)條件中,「打開真」對應於通閘1193-1及1193-2處於一導通(例如,接通)條件中,且「打開反相」對應於交換電晶體1142處於一導通條件中。圖12之邏輯表中未反映對應於通閘1193-1及1193-2及交換電晶體1142兩者處於一導通條件中之組態,此係因為此導致感測線短接在一起。
經由通閘1193-1及1193-2及交換電晶體1142之選擇性控制,圖12之邏輯表之上部分之第一組之兩列之三行之各者可與第一組下方之第二組之兩列之三行之各者結合以提供3×3=9個不同結果組合以對應於9個不同邏輯運算,如由1275處所展示之各種連接路徑所指示。圖12中所繪示之邏輯表中匯總可由感測電路1150實施之9個不同可選邏輯運算。
圖12中所繪示之邏輯表之下部分之行展示可包含邏輯選擇控制信號之狀態的一標頭1280。例如,將一第一邏輯選擇控制信號(例如FF)之狀態提供於列1276中,將一第二邏輯選擇控制信號(例如FT)之狀態提供於列1277中,將一第三邏輯選擇控制信號(例如TF)之狀態提供於列1278中,且將一第四邏輯選擇控制信號(例如TT)之狀態提供於列1279中。列1247中匯總對應於結果之特定邏輯運算。
因而,圖11中所展示之感測電路可用於執行如圖12中所展示之各種邏輯運算。例如,感測電路1150可經操作以執行與根據本發明之若干實施例在記憶體中執行交換運算相關聯之各種邏輯運算(例如,
「及」邏輯運算及「或」邏輯運算)。
本發明可包含與在記憶體中執行交換運算有關之裝置及方法。一實例性裝置可包含一第一群組之記憶體胞,其耦合至一第一感測線且經組態以儲存一第一元素。一實例性裝置亦可包含一第二群組之記憶體胞,其耦合至一第二感測線且經組態以儲存一第二元素。一實例性裝置亦可包含一控制器,其經組態以在無需經由一輸入/輸出(I/O)線來傳送資料之情況下藉由控制感測電路以執行若干運算而致使第一元素儲存於第二群組之記憶體胞中及致使第二元素儲存於第一群組之記憶體胞中。
雖然本文中已繪示及描述特定實施例,但一般技術者應瞭解,可用經計算以達成相同結果之一配置替代所展示之特定實施例。本發明意欲涵蓋本發明之一或多個實施例之調適或變動。應瞭解,已依一繪示性方式而非一限制性方式進行以上描述。熟習技術者將在檢視以上描述之後明白上述實施例之組合及本文中未明確描述之其他實施例。本發明之一或多個實施例之範疇可包含其中使用上述結構及方法之其他應用。因此,應參考隨附申請專利範圍以及此等申請專利範圍授權之等效物之全範圍來判定本發明之一或多個實施例之範疇。
在[實施方式]中,為簡化本發明,將一些特徵一起群組於一單一實施例中。本發明之方法不應被解譯為反映下列意圖:本發明之所揭示實施例必須使用比各請求項中清楚敘述之特徵更多的特徵。確切而言,如下列隨附申請專利範圍所反映,發明標的傾向於少於一單一所揭示實施例之全部特徵。因此,隨附申請專利範圍特此併入至[實施方式]中,其中各請求項自身作為一單獨實施例。
202-1‧‧‧電晶體/存取電晶體/記憶體胞
202-2‧‧‧電晶體/存取電晶體/記憶體胞
203-1‧‧‧電容器/儲存元件
203-2‧‧‧電容器/儲存元件
204-X‧‧‧字線/存取線/列X
204-Y‧‧‧字線/存取線/列X
205-1‧‧‧資料線(D)
205-2‧‧‧資料線(D_)
206‧‧‧感測放大器
207-1‧‧‧下拉電晶體
207-2‧‧‧下拉電晶體
208-1‧‧‧電晶體
208-2‧‧‧電晶體
209-1‧‧‧n通道電晶體(NMOS電晶體)
209-2‧‧‧n通道電晶體(NMOS電晶體)
212-1‧‧‧主動負控制信號線(ACCUMB)/負控制信號
212-2‧‧‧主動正控制信號線(ACCUM)/正控制信號
213-1‧‧‧ANDinv控制信號線
213-2‧‧‧ORinv控制信號線
214-1‧‧‧下拉電晶體
214-2‧‧‧下拉電晶體
216-1‧‧‧電晶體
216-2‧‧‧電晶體
217-1‧‧‧鎖存器輸入
217-2‧‧‧鎖存器輸入
218-1‧‧‧負載/通路電晶體
218-2‧‧‧負載/通路電晶體
219‧‧‧控制信號(SHIFT)
221-1‧‧‧隔離電晶體
221-2‧‧‧隔離電晶體
221-3‧‧‧隔離電晶體
221-4‧‧‧隔離電晶體
222‧‧‧控制信號(NORM)
223‧‧‧移位電路
230‧‧‧記憶體陣列
231‧‧‧計算組件/累加器
239-1‧‧‧電晶體
239-2‧‧‧電晶體
250‧‧‧感測電路
264‧‧‧靜態鎖存器/交叉耦合鎖存器
291-1‧‧‧參考電壓線
Claims (27)
- 一種裝置,其包括:一第一群組之記憶體胞,其耦合至一第一感測線且經組態以儲存一第一元素;一第二群組之記憶體胞,其耦合至一第二感測線且經組態以儲存一第二元素;及一控制器,其經組態以致使在無需經由一輸入/輸出(I/O)線來傳送資料之情況下藉由控制感測電路以執行若干運算而將該第一元素儲存於該第二群組之記憶體胞中且將該第二元素儲存於該第一群組之記憶體胞中。
- 如請求項1之裝置,其中該若干運算包括若干「及」運算、「或」運算、「反相」運算、及「移位」運算。
- 如請求項2之裝置,其中該感測電路包括耦合至該第一感測線且與該第一群組之記憶體胞依照節距形成的一第一計算組件及耦合至該第二感測線且與該第二群組之記憶體胞依照節距形成的一第二計算組件。
- 如請求項3之裝置,其中該感測電路包括耦合至該第一計算組件之一第一感測放大器及耦合至該第二計算組件之一第二感測放大器。
- 如請求項4之裝置,其中該第一感測放大器及該第二感測放大器之各者包括一初級鎖存器且該第一計算組件及該第二計算組件之各者包括一次級鎖存器。
- 一種方法,其包括:執行一交換運算,其包括:使儲存於耦合至一陣列之記憶體胞之一第一感測線及若干 存取線之一第一群組之記憶體胞中的一第一元素與儲存於耦合至一第二感測線及該若干存取線之一第二群組之記憶體胞中的一第二元素交換,使得繼該交換之後,該第一元素儲存於該第二群組之記憶體胞中且該第二元素儲存於該第一群組之記憶體胞中;且其中在無需經由一輸入/輸出(I/O)線而傳送對應於該第一元素及該第二元素之資料之情況下執行該交換。
- 如請求項6之方法,其中在該交換之前,該第一元素作為一第一位元向量儲存於該第一群組之記憶體胞中,其中該第一群組之記憶體胞中之各記憶體胞儲存該第一位元向量之一各自位元。
- 如請求項7之方法,其中在該交換之前,該第二元素作為一第二位元向量儲存於該第二群組之記憶體胞中,其中該第二群組之記憶體胞中之各記憶體胞儲存該第二位元向量之一各自位元。
- 如請求項8之方法,其中繼該交換之後,該第一位元向量儲存於該第二群組之記憶體胞中且該第二位元向量儲存於該第一群組之記憶體胞中。
- 如請求項6之方法,其中在該交換之前:該第一元素作為包括若干位元之一第一位元向量儲存於該第一群組之各自若干記憶體胞中;及該第二元素作為包括相同於該第一位元向量之若干位元的一第二位元向量儲存於該第二群組之各自若干記憶體胞中;且其中具有相同於該第二位元向量之位元的位元位置之該第一位元向量的位元儲存於耦合至該若干存取線之一相同存取線的記憶體胞中;且其中使該第一元素與該第二元素交換包括:使具有一相同位元位置且儲存於耦合至一相同存取線之記憶體胞中的該第一位 元向量及該第二位元向量之位元對交換,使得繼該交換之後,該第一元素作為該第一位元向量儲存於該第二群組之該各自若干記憶體胞中,且該第二元素作為該第二位元向量儲存於該第一群組之該各自若干記憶體胞中。
- 如請求項6之方法,其中該第一元素係一第一值且該第二元素係一第二值且其中執行該交換運算導致將該第一值儲存於該第二群組之記憶體胞中且將該第二值儲存於該第一群組之記憶體胞中。
- 一種裝置,其包括:複數個第一群組之記憶體胞,其耦合至複數個第一感測線且經組態以儲存複數個第一元素;複數個第二群組之記憶體胞,其耦合至複數個第二感測線且經組態以儲存複數個第二元素;及一控制器,其經組態以控制感測電路以在無需經由一輸入/輸出(I/O)線來傳送資料之情況下藉由將該複數個第一元素儲存於該複數個第二群組之記憶體胞中且將該複數個第二元素儲存於該複數個第一群組之記憶體胞中而執行一交換運算。
- 如請求項12之裝置,其中該複數個第一感測線之一數量係與該複數個第二感測線之一數量相同的一數量。
- 如請求項13之裝置,其中該複數個第二感測線之各者相鄰於一記憶體陣列之該複數個第一感測線之一不同者。
- 如請求項14之裝置,其中該複數個第二感測線之任意兩者均不是彼此相鄰。
- 如請求項15之裝置,其中該複數個第一感測線之任意兩者均不是彼此相鄰。
- 一種用於執行一交換運算之方法,其包括: 並行地且在無需執行一感測線位址存取之情況下在記憶體中對下列項執行一交換運算:複數個(M)第一元素,其儲存於複數個第一群組之記憶體胞中,其中來自該複數個第一群組之各記憶體胞群組耦合至來自複數個第一感測線之一不同感測線及若干(X)存取線;及複數個(M)第二元素,其儲存於複數個第二群組之記憶體胞中,其中來自該複數個第二群組之各記憶體胞群組耦合至來自複數個第二感測線之一不同感測線及該X個存取線;且其中執行該交換運算導致將該M個第一元素儲存於該複數個第二群組之記憶體胞中且將該M個第二元素儲存於該複數個第一群組之記憶體胞中。
- 如請求項17之方法,其中該M個第一元素及該M個第二元素之各者由若干(N)位元組成。
- 如請求項18之方法,其中該M個第一元素及該M個第二元素之各者中的該N個位元之各者與對應於該N個位元之位元位置的若干(X)指數之一者相關聯,且其中來自具有一相同相關聯指數之對應元素的位元儲存於耦合至來自該X個存取線之一相同存取線的記憶體胞中。
- 如請求項19之方法,其中該X個存取線之各者與該X個指數之一不同者相關聯。
- 如請求項20之方法,其進一步包括:識別藉由下列步驟而對該複數個第一元素及該複數個第二元素執行該交換運算:將一掩碼位元向量儲存於耦合至一第一存取線及複數個第三感測線之一第一群組之記憶體胞中;其中該複數個第三感測線包含該複數個第一感測線及該複數個第二感測線;及 將一經移位掩碼位元向量儲存於耦合至一第二存取及該複數個第三感測線之一第二群組之記憶體胞中;其中該掩碼位元向量及該移位掩碼位元向量識別來自該複數個第一元素及該複數個第二元素之元素的哪一者用於該交換運算中。
- 如請求項21之方法,其進一步包括執行若干運算迭代,其中各運算迭代與該X個指數之一者相關聯。
- 如請求項22之方法,其中該若干運算迭代之各運算迭代進一步包括:將一第一暫時位元向量儲存於耦合至一第三存取線及該複數個第三感測線之一第三群組之記憶體胞中,該第一暫時位元向量包含與來自該複數個第一元素及該複數個第二元素之各者的該X個指數之一特定指數相關聯的複數個位元;及將該第一暫時位元向量儲存於複數個計算組件中。
- 如請求項23之方法,其中該若干運算迭代之各運算迭代進一步包括:將儲存於該複數個計算組件中之一位元向量向右移位;對該位元向量及該經移位掩碼向量執行一第一「及」運算;及將該第一「及」運算之結果作為一第二暫時位元向量儲存於一第四群組之記憶體胞中;其中該第四群組之記憶體胞耦合至一第四存取線及該複數個第三感測線。
- 如請求項24之方法,其中該若干運算迭代之各運算迭代進一步包括:將該經移位掩碼位元向量儲存於該複數個計算組件中; 對儲存於該複數個計算組件中之該位元向量執行一第一「反相」運算;對與來自該複數個第一元素及該複數個第二元素之各者的該X個指數之該特定指數相關聯的該複數個位元及對儲存於該複數個計算組件中之該位元向量執行一第二「及」運算;對該第二「及」運算之結果及對該第二暫時位元向量執行一第一「或」運算;將該第一「或」運算之結果儲存於耦合至與該特定指數相關聯之一存取線及該X個感測線之記憶體胞中。
- 如請求項25之方法,其中該若干運算迭代之各運算迭代進一步包括:將該第一暫時位元向量儲存於該複數個計算組件中;對儲存於該複數個計算組件中之該位元向量及對該經移位掩碼向量執行一第三「及」運算;將該第三「及」運算之結果儲存於該等計算組件中;將該計算組件中之該位元向量向左移位;將該等計算組件中之該位元向量儲存於該第四群組之記憶體胞中。
- 如請求項26之方法,其中該若干運算迭代之各運算迭代進一步包括:將該掩碼位元向量儲存於該複數個計算組件中;對儲存於該複數個計算組件中之該位元向量執行一第二「反相」運算;對儲存於該複數個計算組件中之該位元向量及與來自該複數個第一元素及該複數個第二元素之各者的該X個指數之該特定指數相關聯的該複數個位元執行一第四「及」運算; 對該第四「及」運算之一結果及該第二暫時位元向量執行一第二「或」運算;將該第二「或」運算之一結果儲存於耦合至與該特定指數相關聯之該存取線及該X個感測線之記憶體胞中。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462045193P | 2014-09-03 | 2014-09-03 | |
US62/045,193 | 2014-09-03 | ||
US14/836,555 | 2015-08-26 | ||
US14/836,555 US9740607B2 (en) | 2014-09-03 | 2015-08-26 | Swap operations in memory |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201633055A true TW201633055A (zh) | 2016-09-16 |
TWI620058B TWI620058B (zh) | 2018-04-01 |
Family
ID=55402525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104129198A TWI620058B (zh) | 2014-09-03 | 2015-09-03 | 記憶體中之交換運算 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9740607B2 (zh) |
EP (1) | EP3195315B1 (zh) |
KR (1) | KR101889238B1 (zh) |
CN (1) | CN106688040B (zh) |
TW (1) | TWI620058B (zh) |
WO (1) | WO2016036913A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110476212A (zh) * | 2017-03-21 | 2019-11-19 | 美光科技公司 | 用于存储器中数据交换网络的设备及方法 |
Families Citing this family (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10147480B2 (en) | 2014-10-24 | 2018-12-04 | Micron Technology, Inc. | Sort operation in memory |
CN107430874B (zh) | 2015-03-12 | 2021-02-02 | 美光科技公司 | 用于数据移动的设备及方法 |
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 |
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 |
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 |
US10120740B2 (en) | 2016-03-22 | 2018-11-06 | Micron Technology, Inc. | Apparatus and methods for debugging on a 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 |
KR20180021510A (ko) | 2016-08-22 | 2018-03-05 | 삼성전자주식회사 | 메모리 장치 및 중앙 처리 장치 |
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 |
US10373666B2 (en) | 2016-11-08 | 2019-08-06 | Micron Technology, Inc. | Apparatuses and methods for compute components formed over an array of memory cells |
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 |
US10268389B2 (en) | 2017-02-22 | 2019-04-23 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10403352B2 (en) | 2017-02-22 | 2019-09-03 | Micron Technology, Inc. | Apparatuses and methods for compute in data path |
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 |
US10147467B2 (en) | 2017-04-17 | 2018-12-04 | Micron Technology, Inc. | Element value comparison in memory |
US10043570B1 (en) | 2017-04-17 | 2018-08-07 | Micron Technology, Inc. | Signed element compare in memory |
US9997212B1 (en) | 2017-04-24 | 2018-06-12 | Micron Technology, Inc. | Accessing data in memory |
US10942843B2 (en) | 2017-04-25 | 2021-03-09 | Micron Technology, Inc. | Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes |
US10236038B2 (en) | 2017-05-15 | 2019-03-19 | Micron Technology, Inc. | Bank to bank data transfer |
US10068664B1 (en) | 2017-05-19 | 2018-09-04 | Micron Technology, Inc. | Column repair in memory |
US10013197B1 (en) | 2017-06-01 | 2018-07-03 | Micron Technology, Inc. | Shift skip |
US10262701B2 (en) | 2017-06-07 | 2019-04-16 | Micron Technology, Inc. | Data transfer between subarrays in memory |
US10152271B1 (en) | 2017-06-07 | 2018-12-11 | Micron Technology, Inc. | Data replication |
US10318168B2 (en) | 2017-06-19 | 2019-06-11 | Micron Technology, Inc. | Apparatuses and methods for simultaneous in data path compute operations |
US10162005B1 (en) | 2017-08-09 | 2018-12-25 | Micron Technology, Inc. | Scan chain operations |
US10534553B2 (en) | 2017-08-30 | 2020-01-14 | Micron Technology, Inc. | Memory array accessibility |
US10346092B2 (en) | 2017-08-31 | 2019-07-09 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations using timing circuitry |
US10741239B2 (en) | 2017-08-31 | 2020-08-11 | Micron Technology, Inc. | Processing in memory device including a row address strobe manager |
US10416927B2 (en) | 2017-08-31 | 2019-09-17 | Micron Technology, Inc. | Processing in memory |
US10409739B2 (en) | 2017-10-24 | 2019-09-10 | Micron Technology, Inc. | Command selection policy |
KR102034152B1 (ko) * | 2017-10-25 | 2019-10-18 | 한양대학교 산학협력단 | 반도체 메모리 장치 및 반도체 메모리 장치의 로우 버퍼 |
US10522210B2 (en) | 2017-12-14 | 2019-12-31 | Micron Technology, Inc. | Apparatuses and methods for subarray addressing |
US10332586B1 (en) | 2017-12-19 | 2019-06-25 | Micron Technology, Inc. | Apparatuses and methods for subrow addressing |
US10614875B2 (en) | 2018-01-30 | 2020-04-07 | Micron Technology, Inc. | Logical operations using memory cells |
US10437557B2 (en) | 2018-01-31 | 2019-10-08 | Micron Technology, Inc. | Determination of a match between data values stored by several arrays |
US11194477B2 (en) | 2018-01-31 | 2021-12-07 | Micron Technology, Inc. | Determination of a match between data values stored by three or more arrays |
US10725696B2 (en) | 2018-04-12 | 2020-07-28 | Micron Technology, Inc. | Command selection policy with read priority |
US10440341B1 (en) | 2018-06-07 | 2019-10-08 | Micron Technology, Inc. | Image processor formed in an array of memory cells |
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 |
KR20200118311A (ko) * | 2019-04-05 | 2020-10-15 | 삼성전자주식회사 | 데이터를 스왑하기 위한 메모리 장치 및 메모리 장치의 동작 방법 |
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 |
US11436071B2 (en) | 2019-08-28 | 2022-09-06 | Micron Technology, Inc. | Error control for content-addressable memory |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
US11227641B1 (en) | 2020-07-21 | 2022-01-18 | Micron Technology, Inc. | Arithmetic operations in memory |
Family Cites Families (273)
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 |
DE69132495T2 (de) | 1990-03-16 | 2001-06-13 | Texas Instruments Inc | Verteilter Verarbeitungsspeicher |
US5034636A (en) | 1990-06-04 | 1991-07-23 | Motorola, Inc. | Sense amplifier with an integral logic function |
US5210850A (en) | 1990-06-15 | 1993-05-11 | Compaq Computer Corporation | Memory address space determination using programmable limit registers with single-ended comparators |
JP3361825B2 (ja) | 1990-08-22 | 2003-01-07 | テキサス インスツルメンツ インコーポレイテツド | メモリ・アレイ・アーキテクチャ |
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 |
JPH06215160A (ja) | 1992-08-25 | 1994-08-05 | Texas Instr Inc <Ti> | データ処理方法および装置 |
KR950004854B1 (ko) | 1992-10-08 | 1995-05-15 | 삼성전자 주식회사 | 반도체 메모리 장치 |
US5440482A (en) | 1993-03-25 | 1995-08-08 | Taligent, Inc. | Forward and reverse Boyer-Moore string searching of multilingual text having a defined collation order |
US5485373A (en) | 1993-03-25 | 1996-01-16 | Taligent, Inc. | Language-sensitive text searching system with modified Boyer-Moore process |
US5369622A (en) | 1993-04-20 | 1994-11-29 | Micron Semiconductor, Inc. | Memory with isolated digit lines |
US5754478A (en) | 1993-04-20 | 1998-05-19 | Micron Technology, Inc. | Fast, low power, write scheme for memory circuits using pulsed off isolation device |
JP2663838B2 (ja) | 1993-07-27 | 1997-10-15 | 日本電気株式会社 | 半導体集積回路装置 |
JP3252306B2 (ja) | 1993-08-10 | 2002-02-04 | 株式会社日立製作所 | 半導体不揮発性記憶装置 |
JP3904244B2 (ja) | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
US20010052062A1 (en) * | 1994-03-01 | 2001-12-13 | G. Jack Lipovski | Parallel computer within dynamic random access memory |
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 |
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 |
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 |
AU2001239907A1 (en) | 2000-02-29 | 2001-09-12 | Stephen J. Guerreri | 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 |
CN1307647C (zh) | 2000-07-07 | 2007-03-28 | 睦塞德技术公司 | 动态随机存取存储器、存储器器件及其执行读命令的方法 |
US6466499B1 (en) | 2000-07-11 | 2002-10-15 | Micron Technology, Inc. | DRAM sense amplifier having pre-charged transistor body nodes |
WO2002017262A2 (en) | 2000-08-21 | 2002-02-28 | United States Postal Services | 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 |
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 |
WO2003088033A1 (en) | 2002-04-09 | 2003-10-23 | University Of Rochester | 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 |
KR100546307B1 (ko) | 2002-12-05 | 2006-01-26 | 삼성전자주식회사 | 글로벌 입출력라인을 프리차지 및/또는 이퀄라이징하기위한 프리차지 회로를 구비하는 반도체 장치 및프리차지 및/또는 이퀄라이즈하는 트랜지스터의 레이아웃 |
US6731542B1 (en) | 2002-12-05 | 2004-05-04 | Advanced Micro Devices, Inc. | Circuit for accurate memory read operations |
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 |
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 | ローム株式会社 | 演算機能付き記憶装置および演算記憶方法 |
EP1665286B8 (en) | 2003-09-04 | 2007-09-12 | Nxp B.V. | Integrated circuit and a method of cache remapping |
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 |
US20050278505A1 (en) | 2004-05-19 | 2005-12-15 | Lim Seow C | Microprocessor architecture including zero impact predictive data pre-fetch mechanism for pipeline data memory |
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 |
JP4594666B2 (ja) | 2004-07-12 | 2010-12-08 | 富士通株式会社 | 再構成可能な演算装置 |
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 |
US7212440B2 (en) | 2004-12-30 | 2007-05-01 | Sandisk Corporation | On-chip data grouping and alignment |
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 | 삼성전자주식회사 | 반도체 메모리 장치 |
TW200828333A (en) | 2006-04-28 | 2008-07-01 | Samsung Electronics Co Ltd | Sense amplifier circuit and sense amplifier-based flip-flop having the same |
US7752417B2 (en) | 2006-06-05 | 2010-07-06 | Oracle America, Inc. | Dynamic selection of memory virtualization techniques |
US7372715B2 (en) | 2006-06-14 | 2008-05-13 | Micron Technology, Inc. | Architecture and method for NAND flash memory |
US8069377B2 (en) | 2006-06-26 | 2011-11-29 | Micron Technology, Inc. | Integrated circuit having memory array including ECC and column redundancy and method of operating the same |
US7724559B2 (en) | 2006-07-14 | 2010-05-25 | International Business Machines Corporation | Self-referenced match-line sense amplifier for content addressable memories |
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 |
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 |
US8156299B2 (en) | 2007-10-19 | 2012-04-10 | Virident Systems Inc. | Managing memory systems containing components with asymmetric characteristics |
US7924628B2 (en) | 2007-11-14 | 2011-04-12 | Spansion Israel Ltd | Operation of a non-volatile memory array |
US7979667B2 (en) | 2007-12-10 | 2011-07-12 | Spansion Llc | Memory array search engine |
US7755960B2 (en) | 2007-12-17 | 2010-07-13 | Stmicroelectronics Sa | Memory including a performance test circuit |
US8495438B2 (en) | 2007-12-28 | 2013-07-23 | Texas Instruments Incorporated | Technique for memory imprint reliability improvement |
US7808854B2 (en) | 2008-02-19 | 2010-10-05 | Kabushiki Kaisha Toshiba | Systems and methods for data transfers between memory cells |
JP5194302B2 (ja) | 2008-02-20 | 2013-05-08 | ルネサスエレクトロニクス株式会社 | 半導体信号処理装置 |
US8332580B2 (en) | 2008-04-02 | 2012-12-11 | Zikbit Ltd. | System, method and apparatus for memory with embedded associative section for computations |
US20090254694A1 (en) | 2008-04-02 | 2009-10-08 | Zikbit Ltd. | Memory device with integrated parallel processing |
US7957206B2 (en) | 2008-04-04 | 2011-06-07 | Micron Technology, Inc. | Read circuitry for an integrated circuit having memory cells and/or a memory cell array, and method of operating same |
US8339824B2 (en) | 2008-07-02 | 2012-12-25 | Cooke Laurence H | Nearest neighbor serial content addressable memory |
US8281053B2 (en) * | 2008-07-21 | 2012-10-02 | International Business Machines Corporation | Performing an all-to-all data exchange on a plurality of data buffers by performing swap operations |
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 |
US8555037B2 (en) | 2008-08-15 | 2013-10-08 | Apple Inc. | Processing vectors using wrapping minima and maxima instructions in the macroscalar architecture |
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 |
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 |
US8238173B2 (en) | 2009-07-16 | 2012-08-07 | Zikbit Ltd | Using storage cells to perform computation |
US9076527B2 (en) | 2009-07-16 | 2015-07-07 | Mikamonu Group Ltd. | Charge sharing in a TCAM array |
JP4951041B2 (ja) | 2009-08-06 | 2012-06-13 | 株式会社東芝 | 半導体記憶装置 |
JP5568133B2 (ja) | 2009-08-18 | 2014-08-06 | ダウ コーニング コーポレーション | 多層経皮パッチ |
US8059438B2 (en) | 2009-08-28 | 2011-11-15 | International Business Machines Corporation | Content addressable memory array programmed to perform logic operations |
US8077532B2 (en) | 2009-09-02 | 2011-12-13 | Micron Technology, Inc. | Small unit internal verify read in a memory device |
US8482975B2 (en) | 2009-09-14 | 2013-07-09 | Micron Technology, Inc. | Memory kink checking |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
WO2011048522A2 (en) | 2009-10-21 | 2011-04-28 | Zikbit Ltd. | Neighborhood operations for parallel processing |
US8650232B2 (en) | 2009-10-26 | 2014-02-11 | Via Technologies, Inc. | System and method for determination of a horizontal minimum of digital values |
KR101634340B1 (ko) | 2009-11-03 | 2016-06-28 | 삼성전자주식회사 | 반도체 메모리 장치의 프로그램 방법 |
US8583896B2 (en) | 2009-11-13 | 2013-11-12 | Nec Laboratories America, Inc. | Massively parallel processing core with plural chains of processing elements and respective smart memory storing select data received from each chain |
KR20110054773A (ko) | 2009-11-18 | 2011-05-25 | 삼성전자주식회사 | 비트라인 디스털번스를 개선하는 반도체 메모리 장치 |
US8089815B2 (en) | 2009-11-24 | 2012-01-03 | Sandisk Technologies Inc. | Programming memory with bit line floating to reduce channel-to-floating gate coupling |
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 |
US8243523B2 (en) | 2010-03-09 | 2012-08-14 | Micron Technology, Inc. | Sensing operations in a memory device |
EP2564306A4 (en) | 2010-04-27 | 2017-04-26 | Cornell University | System and methods for mapping and searching objects in multidimensional space |
KR101119371B1 (ko) | 2010-04-29 | 2012-03-06 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 이의 동작 방법 |
US8559232B2 (en) | 2010-05-03 | 2013-10-15 | Aplus Flash Technology, Inc. | DRAM-like NVM memory array and sense amplifier design for high temperature and high endurance operation |
US8351278B2 (en) | 2010-06-23 | 2013-01-08 | International Business Machines Corporation | Jam latch for latching memory array output data |
KR101143471B1 (ko) | 2010-07-02 | 2012-05-11 | 에스케이하이닉스 주식회사 | 센스앰프 및 이를 포함하는 반도체 장치 |
US20120017039A1 (en) | 2010-07-16 | 2012-01-19 | Plx Technology, Inc. | Caching using virtual memory |
US8462532B1 (en) | 2010-08-31 | 2013-06-11 | Netlogic Microsystems, Inc. | Fast quaternary content addressable memory cell |
US8347154B2 (en) | 2010-09-21 | 2013-01-01 | International Business Machines Corporation | Use of hashing function to distinguish random and repeat errors in a memory system |
US8904115B2 (en) | 2010-09-28 | 2014-12-02 | Texas Instruments Incorporated | Cache with multiple access pipelines |
US8332367B2 (en) | 2010-10-20 | 2012-12-11 | International Business Machines Corporation | Parallel data redundancy removal |
KR101148352B1 (ko) | 2010-11-02 | 2012-05-21 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 동작 방법 |
JP5528987B2 (ja) | 2010-11-11 | 2014-06-25 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置 |
US8553482B2 (en) | 2010-11-29 | 2013-10-08 | Apple Inc. | Sense amplifier and sense amplifier latch having common control |
WO2012104674A1 (en) | 2011-01-31 | 2012-08-09 | Freescale Semiconductor, Inc. | Integrated circuit device and method for determining an index of an extreme value within an array of values |
KR20120088973A (ko) | 2011-02-01 | 2012-08-09 | 삼성전자주식회사 | 로컬 센스앰프 회로 및 이를 포함하는 반도체 메모리 장치 |
JP2012174016A (ja) | 2011-02-22 | 2012-09-10 | Renesas Electronics Corp | データ処理装置およびそのデータ処理方法 |
JP5259765B2 (ja) | 2011-03-29 | 2013-08-07 | 株式会社東芝 | 不揮発性半導体メモリ |
US8725730B2 (en) | 2011-05-23 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Responding to a query in a data processing system |
EP2727114B1 (en) | 2011-06-28 | 2020-04-22 | Hewlett-Packard Enterprise Development LP | Shiftable memory |
US8706958B2 (en) | 2011-09-01 | 2014-04-22 | Thomas Hein | Data mask encoding in data bit inversion scheme |
US20140247673A1 (en) | 2011-10-28 | 2014-09-04 | Naveen Muralimanohar | Row shifting shiftable memory |
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 | 英特尔公司 | 用于提供向量横向比较功能的指令和逻辑 |
US20140108480A1 (en) | 2011-12-22 | 2014-04-17 | Elmoustapha Ould-Ahmed-Vall | Apparatus and method for vector compute and accumulate |
KR20130072869A (ko) | 2011-12-22 | 2013-07-02 | 에스케이하이닉스 주식회사 | 프리차지 회로 및 비휘발성 메모리 장치 |
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 |
US9244683B2 (en) * | 2013-02-26 | 2016-01-26 | Nvidia Corporation | System, method, and computer program product for implementing large integer operations on a graphics processing unit |
US9158667B2 (en) | 2013-03-04 | 2015-10-13 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9177646B2 (en) * | 2013-05-06 | 2015-11-03 | International Business Machines Corporation | Implementing computational memory from content-addressable memory |
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 |
US9430191B2 (en) | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
KR20150091918A (ko) * | 2014-02-04 | 2015-08-12 | 삼성전자주식회사 | 저장 장치 및 그것의 동작 방법 |
US9740659B2 (en) * | 2014-03-19 | 2017-08-22 | International Business Machines Corporation | Merging and sorting arrays on an SIMD processor |
CN103985410B (zh) * | 2014-04-30 | 2017-05-24 | 北京世纪东方国铁科技股份有限公司 | 一种存储装置及用于存储装置的数据访问方法 |
CN106415522B (zh) | 2014-05-08 | 2020-07-21 | 美光科技公司 | 存储器内轻量一致性 |
EP3140743B1 (en) | 2014-05-08 | 2021-11-24 | Micron Technology, INC. | Hybrid memory cube system interconnect directory-based cache coherence methodology |
-
2015
- 2015-08-26 US US14/836,555 patent/US9740607B2/en active Active
- 2015-09-03 CN CN201580047645.3A patent/CN106688040B/zh active Active
- 2015-09-03 EP EP15838692.0A patent/EP3195315B1/en active Active
- 2015-09-03 KR KR1020177008785A patent/KR101889238B1/ko active IP Right Grant
- 2015-09-03 TW TW104129198A patent/TWI620058B/zh active
- 2015-09-03 WO PCT/US2015/048251 patent/WO2016036913A1/en active Application Filing
-
2017
- 2017-08-09 US US15/672,774 patent/US10157126B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110476212A (zh) * | 2017-03-21 | 2019-11-19 | 美光科技公司 | 用于存储器中数据交换网络的设备及方法 |
CN110476212B (zh) * | 2017-03-21 | 2023-07-21 | 美光科技公司 | 用于存储器中数据交换网络的设备及方法 |
Also Published As
Publication number | Publication date |
---|---|
US9740607B2 (en) | 2017-08-22 |
EP3195315A4 (en) | 2018-03-21 |
US20160062672A1 (en) | 2016-03-03 |
CN106688040B (zh) | 2019-08-06 |
CN106688040A (zh) | 2017-05-17 |
KR101889238B1 (ko) | 2018-08-16 |
WO2016036913A1 (en) | 2016-03-10 |
US20170337128A1 (en) | 2017-11-23 |
EP3195315A1 (en) | 2017-07-26 |
KR20170049553A (ko) | 2017-05-10 |
TWI620058B (zh) | 2018-04-01 |
US10157126B2 (en) | 2018-12-18 |
EP3195315B1 (en) | 2021-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI620058B (zh) | 記憶體中之交換運算 | |
TWI609264B (zh) | 記憶體中之除法運算 | |
TWI596619B (zh) | 記憶體中之比較運算 | |
TWI601149B (zh) | 用於執行乘法運算之方法及裝置 | |
TWI576761B (zh) | 記憶體中之乘法運算 | |
TWI575449B (zh) | 用於比較多個元素之裝置及方法 | |
TWI602191B (zh) | 藉由記憶體中向量之元素之資料移位 | |
TWI615850B (zh) | 判定記憶體中最長元素長度 | |
KR101955126B1 (ko) | 메모리에서 비교 연산 | |
US9898253B2 (en) | Division operations on variable length elements in memory | |
TWI545498B (zh) | 用於判定總數計數之裝置及方法 | |
TWI584279B (zh) | 用於在多行中儲存一資料值之裝置及方法 | |
JP6216878B2 (ja) | メモリ用の除算演算 | |
TW201732795A (zh) | 記憶體中的資料收集 | |
CN106471582B (zh) | 用于使用感测电路来执行逻辑操作的设备及方法 | |
TW201611027A (zh) | 使用感測電路執行邏輯操作 | |
US10147467B2 (en) | Element value comparison in memory |