TW201633296A - 記憶體中之比較運算 - Google Patents
記憶體中之比較運算 Download PDFInfo
- Publication number
- TW201633296A TW201633296A TW104129200A TW104129200A TW201633296A TW 201633296 A TW201633296 A TW 201633296A TW 104129200 A TW104129200 A TW 104129200A TW 104129200 A TW104129200 A TW 104129200A TW 201633296 A TW201633296 A TW 201633296A
- Authority
- TW
- Taiwan
- Prior art keywords
- elements
- coupled
- bit vector
- bit
- column
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- 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/1012—Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
-
- 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/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/106—Data output latches
-
- 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
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/10—Decoders
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Dram (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‧‧‧主機
120‧‧‧記憶體器件
130‧‧‧記憶體陣列
140‧‧‧控制器
141‧‧‧控制組件/元件
142‧‧‧位址電路
144‧‧‧輸入/輸出(I/O)電路
146‧‧‧列解碼器
148‧‧‧寫入電路
150‧‧‧感測電路
152‧‧‧行解碼器
154‧‧‧控制匯流排
156‧‧‧輸入/輸出(I/O)匯流排
202-1‧‧‧電晶體
202-2‧‧‧電晶體
203-1‧‧‧電容器
203-2‧‧‧電容器
204-X‧‧‧字線
204-Y‧‧‧字線
205-1‧‧‧資料線
205-2‧‧‧資料線
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‧‧‧控制信號
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‧‧‧啟動信號
229-1‧‧‧p通道電晶體(PMOS電晶體)
229-2‧‧‧p通道電晶體(PMOS電晶體)
230‧‧‧記憶體陣列
231‧‧‧計算組件
233-1‧‧‧鎖存器輸入
233-2‧‧‧鎖存器輸入
238‧‧‧平衡電壓
239-1‧‧‧電晶體
239-2‧‧‧電晶體
250‧‧‧感測電路
264‧‧‧鎖存器
265‧‧‧啟動信號
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)線
431‧‧‧位元向量
470‧‧‧暫時儲存列
472‧‧‧向量引數
476‧‧‧位元向量
478‧‧‧位元向量
488‧‧‧位元向量
490‧‧‧位元向量
492‧‧‧位元向量
494‧‧‧位元向量
496‧‧‧行
703‧‧‧信號
704-0‧‧‧列信號
705-1‧‧‧資料線電壓/信號
705-2‧‧‧資料線電壓/信號
711‧‧‧PASSD控制信號
712-1‧‧‧累積器控制信號
712-2‧‧‧累積器控制信號
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‧‧‧資料線
1005-2‧‧‧資料線
1011‧‧‧控制信號(PASSDB)
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‧‧‧通閘
1204‧‧‧列啟用信號
1205-1‧‧‧資料線(D)
1205-2‧‧‧資料線(D_)
1211‧‧‧控制信號(PASSD)
1226‧‧‧平衡信號
1228‧‧‧負控制信號
1244‧‧‧行A
1245‧‧‧行B
1247‧‧‧列
1275‧‧‧連接路徑
1276‧‧‧列
1277‧‧‧列
1278‧‧‧列
1279‧‧‧列
1280‧‧‧標頭
1290‧‧‧正控制信號
ACT‧‧‧控制信號
EQ‧‧‧控制信號
FF‧‧‧第一邏輯選擇控制信號
FT‧‧‧第二邏輯選擇控制信號
GND‧‧‧接地
ISO‧‧‧控制信號
PASS‧‧‧邏輯運算選擇邏輯信號
PASS*‧‧‧邏輯運算選擇邏輯信號
RnIF‧‧‧負控制信號
TF‧‧‧第三邏輯選擇控制信號
TT‧‧‧第四邏輯選擇控制信號
VDD‧‧‧供應電壓
圖1係根據本發明之若干實施例之呈包含一記憶體器件之一計算系統之形式的一裝置之一方塊圖。
圖2A繪示根據本發明之若干實施例之一記憶體陣列之一部分的一示意圖。
圖2B繪示根據本發明之若干實施例之一記憶體陣列之一部分的一示意圖。
圖3繪示根據本發明之若干實施例之一記憶體陣列之一部分的一示意圖。
圖4繪示展示根據本發明之若干實施例之在與執行一比較運算相關聯之一特定階段處的一陣列之記憶體胞之狀態的一表。
圖5繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。
圖6繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。
圖7繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。
圖8繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。
圖9繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。
圖10繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。
圖11係繪示根據本發明之若干實施例之具有可選邏輯運算選擇邏輯之感測電路的一示意圖。
圖12係繪示根據本發明之若干實施例之由一感測電路實施之可選邏輯運算結果的一邏輯表。
本發明包含與執行一記憶體中之比較運算有關之裝置及方法。一實例性裝置可包含:一第一群組之記憶體胞,其耦合至一第一存取線且經組態以儲存複數個第一元素;及一第二群組之記憶體胞,其耦合至一第二存取線且經組態以儲存複數個第二元素。該裝置可包含一控制器,該控制器經組態以在不經由一輸入/輸出(I/O)線傳送資料之情況下藉由控制感測電路以執行若干運算而致使比較該複數個第一元素與該複數個第二元素,且可並行地比較該複數個第一元素及該複數個第二元素。
比較該複數個第一元素與該複數個第二元素可包含對元素對(例如,呈儲存於一陣列中之位元向量之形式的資料)執行比較運算。對一元素對執行該比較運算可包含對來自該元素對之一第一元素及一第
二元素執行該比較運算。對元素對執行該比較運算可包含對來自一第一元素對之來自該複數個第一元素之一第一元素及來自複數個第二元素之一第一元素執行該比較運算及對來自該第二元素對之來自該複數個第一元素之一第二元素及來自該複數個第二元素之一第二元素等執行該比較運算。對元素對執行該比較運算可描述為對一第一元素對執行一第一比較運算,對一第二元素對執行一第二比較運算等。
可對元素對並行地執行該比較運算。例如,可對來自該第一元素對之元素及來自該第二元素對之元素並行執行該比較運算。
如本文中所使用,該複數個第一元素及該複數個第二元素可為彼此比較(例如,對照)之數值。例如,可比較一第一值與一第二值及/或可比較該第二值與該第一值。一比較運算可用以判定該第一值是否等於該第二值或該第一值及該第二值哪一者更大。
在若干實例中,一元素可表示一物件及/或其他構造,其可由一位元向量表示。作為一實例,一比較運算可經執行以藉由比較表示各自物件之位元向量而比較物件。
如本文中所使用,可變長度位元向量可係指包括不同位元數量之位元向量(例如,包括八(8)個位元之一第一位元向量及包括四(4)個位元之一第二位元向量)。在若干實施例中,一元素對之元素可包括相同數量之位元。例如,被比較之複數個元素對之各元素對之個別元素可包括相同數量之位元。在此實例中,被比較之該複數個元素對之其他元素對之個別元素亦可包括相同數量之位元;然而,該等元素對相對於彼此可包括不同數量之位元。本發明之若干實施例可提供相對於先前方法在執行若干比較運算(例如,比較函數)中所涉及之運算(例如,計算、函數等)數目及/或時間之一減小。例如,可歸因於並行(例如,同時)執行各種比較運算的一能力而減小計算數目及/或時間。相較於先前方法,執行如本文中所描述之若干比較運算亦可減小功率消
耗。根據若干實施例,可在不經由一匯流排(例如,資料匯流排、位址匯流排、控制匯流排等)將資料傳送出記憶體陣列及/或感測電路的情況下對元素執行一比較運算。一比較運算可涉及並行執行若干邏輯運算。例如,可藉由一控制器執行一比較運算,該控制器經組態以在不經由一輸入/輸出(I/O)線傳送資料的情況下藉由控制感測電路以執行若干運算而比較該複數個第一元素與該複數個第二元素。執行若干邏輯運算可包含並行執行「及」運算、並行執行「或」運算、並行執行「移位」運算、並行執行「反相」運算等。然而,實施例不限於此等實例。
在各種先前方法中,可經由包括輸入/輸出(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來執行一比較運算,而非由感測電路150外部之處理資源(例如,由與主機110相關聯之一處理器及/或位於器件120上(例如,控制器140上或別處)之其他處理電路,諸如ALU電路)執行比較運算(及/或除了由感測電路外部之處理資源執行比較運算外)。
在各種先前方法中,與(例如)一比較運算相關聯之資料將經由感測電路而自記憶體讀取且提供至一外部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(1個電晶體1個電容器)記憶體胞;然而,實施例不受限於此。
在若干實施例中,記憶體胞可為破壞性讀取記憶體胞(例如,讀取儲存於記憶體胞中之資料破壞資料,使得最初儲存於記憶體胞中之資料在被讀取之後被刷新)。將記憶體陣列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中僅展示3對互補資料線,但本發明之實施例不受限於此,且一陣列之記憶體胞可包含額外記憶體胞行及/或資料線(例如4,096個、8,192個、16,384個等等)。
記憶體胞可耦合至不同資料線及/或字線。例如,一電晶體202-1之一第一源極/汲極區域可耦合至資料線205-1,電晶體202-1之一第二源極/汲極區域可耦合至電容器203-1,且一電晶體202-1之一閘極可耦合至字線204-Y。一電晶體202-2之一第一源極/汲極區域可耦合至資料線205-2,電晶體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及205-2之各者,如圖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,且與電晶體214-2(其具有耦合至一ORinv控制信號線213-2之一閘極)串聯之電晶體216-2(其具有耦合至動態鎖存器之S1的一閘極)可經操作以下拉資料線205-2。
鎖存器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)之對應記憶體胞之電晶體依照節距形成之若干電晶體,其等耦合至該陣列,可遵從一特定特徵大小(例如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可指稱一初級鎖存器。然而,實施例不受限於此實例。
可將各自資料線D及D_上之電壓及/或電流提供至交叉耦合鎖存器215之各自鎖存器輸入233-1及233-2(例如次級鎖存器之輸入)。在此實例中,鎖存器輸入233-1耦合至電晶體227-1及229-1之一第一源極/汲極區域以及耦合至電晶體227-2及229-2之閘極。類似地,鎖存器輸入233-2可耦合至電晶體227-2及229-2之一第一源極/汲極區域以及耦合至電晶體227-1及229-1之閘極。計算組件231(例如,累加器)可耦合至交叉耦合鎖存器215之鎖存器輸入233-1及233-2,如圖中所展示;然而,實施例不受限於圖2B中所展示之實例。
在此實例中,電晶體227-1及227-2之一第二源極/汲極區域共同耦合至一主動負控制信號228(RnIF)。電晶體229-1及229-2之一第二源極/汲極區域共同耦合至一主動正控制信號265(ACT)。ACT信號265可為一供應電壓(例如VDD)且RnIF信號可為一參考電壓(例如接地)。啟動信號228及265以啟用交叉耦合鎖存器215。
經啟用之交叉耦合鎖存器215操作以放大鎖存器輸入233-1(例如
第一共同節點)與鎖存器輸入233-2(例如第二共同節點)之間的一差動電壓,使得鎖存器輸入233-1被驅動至ACT信號電壓及RnIF信號電壓之一者(例如,被驅動至VDD及接地之一者),且鎖存器輸入233-2被驅動至ACT信號電壓及RnIF信號電壓之另一者。
感測放大器206亦可包含經組態以使資料線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之一部分(例如,配置於感測放大器506內)。
雖然圖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。雖然移位電
路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-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-2、308-3、308-4、308-5、308-6、308-7、…、308-V而耦合至輸入/輸出(I/O)線334(例如,一區域I/O線)。在此實例中,感測電路亦包括耦合至該等各自感測線之若干計算組件331-0、331-2、331-3、331-4、
331-5、331-6、331-7、…、331-X(例如,統稱為計算組件331)。行解碼線310-1至310-W分別耦合至電晶體308-0至308-V之閘極,且可經選擇性地啟動以將由各自感測放大器306-0至306-U感測及/或儲存於各自計算組件331-0至331-X中之資料傳送至一次級感測放大器312及/或陣列330外部之處理資源(例如,經由I/O線334)。在若干實施例中,計算組件331可形成於與其等對應行之記憶體胞及/或與對應感測放大器306之節距上。
感測電路(例如,計算組件331及感測放大器306)經組態以執行根據本文中所描述之若干實施例的一比較運算。圖4中所給出之實例證明可如何使用儲存於陣列330中之資料作為輸入來執行一比較運算。該實例涉及將儲存於耦合至存取線304-0至304-R且共同耦合至感測線305-0至305-S之記憶體胞中的元素(例如,包括對應於邏輯「1」或邏輯「0」之位元的運算元)用作至比較運算之各自輸入。比較運算之結果可儲存於陣列330中及/或可傳送至陣列330外部(例如,至一主機之功能單元電路)。
圖4繪示展示根據本發明之若干實施例之在與執行一比較運算相關聯之若干特定階段處的一陣列之記憶體胞之狀態的一表。該表之行496針對該表之列提供參考編號(例如,1至10),且該表中所展示之參考編號對應於下文所描述之偽碼之各自參考編號。在對應於參考編號1至10之各種比較運算階段處,將位元向量476(Dynamic_Mask)、478(Static_Mask)、488(Srca)、490(Srcb)、492(Dest)、及494(Dest+1)之各者的位元向量值儲存於該陣列中。
位元向量476及478可儲存於耦合至特定存取線之各自群組之記憶體胞中,該等各自群組之記憶體胞可稱為暫時儲存列470(例如,儲存可在一比較運算之各種階段期間更新之資料的列)。位元向量488、490、492、及494可稱為向量引數472。圖4亦指示儲存於該陣列
之計算組件(例如,圖3中所展示之331)中之一位元向量431(Comp_Comp)之位元向量值。
在圖4中,對應於暫時儲存列470及/或向量引數472之位元向量之值以十六進制格式展示,然在比較運算期間所運算之對應位元向量可以二進制位元型樣儲存於該陣列中。例如,一Srca位元向量488(例如,[0000 0011,0000 1001,0000 0010,0000 1100])可以十六進制格式表示為[03,09,02,0c]。為便於參考,圖4中所展示之值以十六進制格式展示。
在本文中所使用之實例中,為便於參考,位元向量值可包含逗號及/或空格。例如,以十六進制標記法表示為[03,09,02,0c]之一位元向量可對應於4個8位元寬的向量元素,其中該4個元素由一各自逗號及空格分離。然而,相同位元向量可表示為[03 09 02 0c](例如,無逗號)及/或表示為[0309020c](例如,無逗號且無空格)。如本文中所使用,一N位元寬的位元向量係指具有N個位元之一長度的一向量(例如,術語長度及寬度相對於一位元向量之大小而互換地使用,使得一4位元寬的位元向量具有4個位元之一長度)。
在圖4中,對應於Comp_Comp 431之位元向量、對應於暫時儲存列470之位元向量(例如,Dynamic_Mask 476及Static_Mask 478)、及對應於向量引數472之位元向量(例如,Srca 488、Srcb 490、Dest 492、及Dest+1 494)之改變以粗體指示。例如,在參考1處,Srca 488、Srcb 490、Dest 492、及Dest+1 494以粗體展示,指示該等各自位元向量之值在參考編號所對應於之一運算階段期間已改變。
在圖4中所展示之實例中,Srca 488(例如,一位元向量[0309020c])及Srcb 490(例如,一位元向量[0705080c])之各者包括4個元素且與4個單獨比較運算相關聯。可並行執行該4個單獨比較運算之各者。並行執行若干比較運算可包含以單一指令多個資料(SIMD)方
式執行該若干比較運算。如本文中所使用,SIMD係定義為對多個元素同時執行一相同運算。
例如,在一第一比較運算中比較一第一元素對中之元素(例如,分別來自Srca 488及Srcb 490之0C及0C)。在一第二比較運算中,與該第一比較運算同時比較一第二元素對中之元素(例如,分別來自Srca 488及Srcb 490之02及08)。在一第三比較運算中,與該第一比較運算及該第二比較運算同時比較一第三元素對中之元素(例如,分別來自Srca 488及Srcb 490之09及05)。在一第四比較運算中,與該第一比較運算、該第二比較運算、及該第三比較運算同時比較一第四元素對中之元素(例如,分別來自Srca 488及Srcb 490之03及07)。
儲存Srca 488之一第一群組之記憶體胞可為耦合至一特定存取線(例如,圖3中之304-0)且耦合至若干感測線(例如,圖3中之305-0至305-31)的記憶體胞。儲存Srcb 490之第二群組之記憶體胞可為耦合至一不同特定存取線(例如,圖3中之304-1)且耦合至若干感測線(例如,圖3中之305-0至305-31)的記憶體胞。
Srca 488之該4個元素可儲存於該第一群組之記憶體胞中。例如,Srca 488之一第四元素(例如,03)可儲存於耦合至圖3中之存取線304-0及感測線305-24至305-31的記憶體胞中,一第三元素(例如,09)可儲存於耦合至圖3中之存取線304-0及感測線305-16至305-23的記憶體胞中,一第二元素(例如,02)可儲存於耦合至圖3中之存取線304-0及感測線305-8至305-15的記憶體胞中,且一第一元素(例如,0C)可儲存於耦合至圖3中之存取線304-0及感測線305-0至305-7的記憶體胞中。
Srcb 490之該4個元素可儲存於該第二群組之記憶體胞中。例如,Srcb 490之一第四元素(例如,07)可儲存於耦合至存取線304-1及感測線305-24至305-31的記憶體胞中,一第三元素(例如,05)可儲存
於耦合至存取線304-1及感測線305-16至305-23的記憶體胞中,一第二元素(例如,08)可儲存於耦合至存取線304-1及感測線305-8至305-15的記憶體胞中,且一第一元素(例如,0C)可儲存於耦合至存取線304-1及感測線305-0至305-7的記憶體胞中。
Dynamic_Mask 476及Static_Mask 478包含儲存於複數個群組之記憶體胞中之位元向量。例如,Dynamic_Mask 476及Static_Mask 478可儲存於耦合至各自存取線304-2至304-3且耦合至感測線305-0至305-31之記憶體胞中。
在此實例中,Srca 488中之第四元素具有十進制值3,其可由二進制位元向量[0000 0011]表示。該位元向量之特定位元可儲存於耦合至圖3中之存取線304-0且耦合至對應各自感測線305-0至305-7之記憶體胞中(例如,該位元向量之最高有效位元(MSB)可儲存於耦合至感測線305-0之列0記憶體胞中,下一最低有效位元(LSB)可儲存於耦合至感測線305-1之列0記憶體胞中,…,且LSB可儲存於耦合至感測線305-7之列0記憶體胞中)。類似地,Srcb 490中之第四元素具有十進制值7,其可由二進制位元向量[0000 0111]表示,且該位元向量之特定位元可儲存於耦合至存取線304-1且耦合至對應各自感測線305-0至305-7之記憶體胞中。因而,表示Srca 488中之第四元素及Srcb 490中之第四元素之8位元寬的位元向量之各自位元可儲存於耦合至各自相同感測線之記憶體胞中。例如,在此實例中,該等位元向量之MSB儲存於耦合至感測線305-0之記憶體胞中,該等位元向量之下一最低有效位元儲存於耦合至感測線305-1之記憶體胞中等。
在若干實例中,該等位元向量之MSB可儲存於耦合至感測線305-7之列0記憶體胞中,下一LSB可儲存於耦合至感測線305-6之列0記憶體胞中,…,且LSB可儲存於耦合至感測線305-0之列0記憶體胞中。例如,該等位元向量之MSB儲存於耦合至感測線305-7之記憶體胞
中,該等位元向量之下一最低有效位元儲存於耦合至感測線305-6之記憶體胞中等。
然而,實施例不受限於此實例。例如,根據本文中所描述之實施例進行比較之元素可由具有除8位元之外之一長度的位元向量表示。例如,一第一64位元寬的位元向量可表示各由一16位元寬的位元向量表示之4個元素且可儲存於耦合至存取線304-0(且耦合至感測線305-0至305-63)之記憶體胞中,且一第二64位元寬的位元向量可表示各由一16位元寬的位元向量表示之4個元素且可儲存於耦合至存取線304-1(且耦合至感測線305-0至305-63)之記憶體胞中。根據本文中所描述之實施例,可比較由該第一64位元寬的位元向量表示之4個元素與由該第二64位元寬的位元向量表示之各自4個元素。
在另一實例中,一第一32位元寬的位元向量可表示具有不同長度之4個元素。例如,一第一元素可由一8位元寬的位元向量表示,一第二元素可由一4位元寬的位元向量表示,一第三元素可由一12位元寬的位元向量表示,且一第四元素可由一8位元寬的位元向量表示且該4個元素可儲存於耦合至存取線304-0(且耦合至感測線305-0至305-31)之記憶體胞中。一第二32位元寬的位元向量亦可表示對應於該第一32位元寬的位元向量之各自元素的4個元素。例如,一第一元素可由一8位元寬的位元向量表示,一第二元素可由一4位元寬的位元向量表示,一第三元素可由一12位元寬的位元向量表示,且一第四元素可由一8位元寬的位元向量表示且該4個元素可儲存於耦合至存取線304-1(且耦合至感測線305-0至305-31)之記憶體胞中。根據本文中所描述之實施例,可比較由該第一32位元寬的位元向量表示之4個元素與由該第二32位元寬的位元向量表示之各自4個元素。被比較之元素可具有一相同元素寬度。
在若干實施例中,一比較運算之結果可儲存於一第三群組之記
憶體胞中,其等可為耦合至若干特定存取線(例如,圖3中之304-0至304-R)之記憶體胞。該第三群組之記憶體胞可用以儲存指示比較運算之結果的一第一位元向量及/或一第二位元向量。例如,儲存於該第三群組之記憶體胞中之該(等)位元向量可指示Srca 488中之特定元素是否大於Srcb 490中之對應特定元素,Srcb 490中之特定元素是否大於Srca 488中之對應特定元素,及/或Srca 488中之特定元素是否等於Srcb 490中之對應特定元素。該第三群組之記憶體胞可為(例如)耦合至一存取線304-4的記憶體胞或耦合至存取線304-0及存取線304-1之至少一者的記憶體胞。即,該第三群組之記憶體胞可為相同於該第一群組之記憶體胞(例如,儲存Srca 488之該群組之記憶體胞)及/或該第二群組之記憶體胞(例如,儲存Srcb 490之該群組之記憶體胞)的一群組之記憶體胞。例如,在上文其中一32位元寬的位元向量表示4個8位元寬的元素之實例中,該第三群組之記憶體胞可為耦合至存取線304-0且耦合至感測線305-0至305-31之記憶體胞及/或耦合至存取線304-1且耦合至感測線305-0至305-31之記憶體胞。
儲存該比較運算之結果的該群組之記憶體胞亦可包括耦合至一特定存取線之第一若干記憶體胞及耦合至一不同特定存取線之第二若干記憶體胞。該第一若干記憶體胞及該第二若干記憶體胞可儲存兩個不同位元向量,該等位元向量一起指示比較運算之結果(例如,在一2位元水平向量列中)。例如,一第一結果位元向量可儲存於該第一若干記憶體胞中且一第二結果位元向量可儲存於該第二若干記憶體胞中。該第一結果位元向量及該第二結果位元向量之特定位元型樣可用以指示Srca 488中之特定元素是否大於Srcb 490中之對應特定元素,Srcb 490中之特定元素是否大於Srca 488中之對應特定元素,及/或Srca 488中之特定元素是否等於Srcb 490中之對應特定元素。在若干實施例中,該等結果位元向量之大小相同於向量引數(例如,488及
490)之大小,且對應於構成元素之結果位元向量之位元數量相同於被比較之各自元素對之位元數量。
作為一實例,儲存於該第一結果位元向量中之「1」位元及儲存於該第二結果位元向量之對應位元位置中之「0」位元可用以指示一第一位元向量(例如,488)之一元素大於(例如,具有一更大值)一第二位元向量(例如,490)之一對應元素。類似地,儲存於該第一結果位元向量中之「0」位元及儲存於該第二結果位元向量之對應位元位置中之「1」位元可用以指示一第一位元向量(例如,488)之一元素小於一第二位元向量(例如,490)之一對應元素。又,儲存於該第一結果位元向量中及儲存於該第二結果位元向量之對應位元位置中之一相同位元值可用以指示一第一位元向量(例如,488)之一元素相同於一第二位元向量(例如,490)之一對應元素。例如,考慮比較包括4個8位元寬的元素之一第一向量「A」(例如,一32位元寬的位元向量)與一第二向量「B」(例如,一32位元寬的位元向量)之一對應4個8位元寬的元素,使得比較4個元素對。回應於向量A之第一元素大於向量B之第一元素,向量A之第二元素小於向量B之第二元素,且向量A之第三元素及第四元素等於向量B之第三元素及第四元素,該第一結果位元向量可為[00000000,00000000,00000000,11111111](例如,呈十六進制格式[00 00 00 FF])且該第二結果位元向量可為[00000000,00000000,11111111,00000000](例如,呈十六進制格式[00 00 FF 00])。
作為一實例,該第一結果位元向量可儲存於耦合至圖3中所展示之存取線304-4且耦合至感測線305-0至305-31之記憶體胞中。該第二結果位元向量可儲存於耦合至(例如)存取線304-5且耦合至感測線305-0至305-31之記憶體胞中。在若干實例中,該第一結果位元向量及/或該第二結果位元向量可儲存於耦合至一存取線(儲存被比較之第一元
素及/或被比較之第二元素之記憶體胞耦合至該存取線)之記憶體胞中。例如,若一第一元素儲存於耦合至存取線304-0之一第一群組之記憶體胞中且一第二元素儲存於耦合至存取線304-1之一第二群組之記憶體胞中,則儲存該第一結果位元向量及該第二結果位元向量之一第三群組之記憶體胞可包括分別耦合至圖3中之存取線304-0及304-1之記憶體胞。
應注意,一特定元素對之一第一元素是否大於一第二元素的一判定可包含該第一元素不小於該第二元素之一判定,但是不能識別該第一元素是否等於該第二元素。例如,若該第一元素不大於該第二元素,則該第二元素可大於該第一元素或該第一元素可等於該第二元素。例如,在上文實例中,該第一結果位元向量在對應於該特定元素對之位元位置中儲存「0」的一判定指示該第一元素小於該第二元素(例如,若該第二結果位元向量在該等對應位元位置中儲存「1」),或該第一元素相同於該第二元素(例如,若該第二結果位元向量在該等對應位元位置中儲存「0」)。
據此,一比較運算亦可包含該第二元素是否大於該第一元素之一判定,其可包含該第二元素不小於該第一元素之一判定。然而,該第二元素不小於該第一元素之一判定不可識別該第二元素是否等於該第一元素。因而,需要該第一結果位元向量及該第二結果位元向量之值的一判定以判定一元素對之一特定元素是否大於/小於其對應元素及該特定元素是否等於其對應元素。
在若干實例中,對一第一元素及一第二元素執行一比較運算可包含在不經由一輸入/輸出(I/O)線傳送資料的情況下執行若干「及」運算、「或」運算、「移位」運算、及「反相」運算。可使用與對應於互補感測線之各自行的記憶體胞之節距上的感測電路來執行該若干「及」運算、「或」運算、「反相」運算、及「移位」運算。在若干實
例中,該若干「及」運算、「或」運算、「移位」運算、及「反相」運算可經執行以並行地比較若干第一元素與若干第二元素。
下文偽碼表示可執行以執行根據本發明之若干實施例之一記憶體中之若干比較運算之指令。由參考編號1至10指代實例性偽碼,該等參考編號對應於圖4中所展示之表之行496中所展示之各自參考編號1至10。例如,參考編號一(1)對應於偽碼中之「載入Srca、Srcb」,且參考編號二(2)對應於偽碼中之「尋找MSB且儲存於Comp_Comp、Dynamic_Mask中」。
1、載入Srca、Srcb。
2、尋找MSB且儲存於Comp_Comp、Dynamic_Mask中。
3、藉由使Comp_Comp中之固定向量右移各向量長度而尋找MSB。
4.a、若給定Dynamic_Mask,則寫入反相至Static_Mask
4.b、否則將反相儲存至Static_Mask中。
5、Get Srca>Srcb and Srca>Srcb into Dest,Dest+1。
6、向右複製。
7、Get Dest>Dest+1 and Dest+1>Dest into Dest,Dest+1。
8、向右複製。
9、向左複製。
10、最左位元向左複製。
為論述目的,上文偽碼將被劃分成一設置階段及一比較階段。由參考編號1至4指代之偽碼可對應於該設置階段。由參考編號5至10指代之偽碼可對應於該比較階段。圖4繪示儲存於一陣列(例如,330)中且與在該設置階段及該比較階段之後執行一比較運算相關聯的若干位元向量之值。
在若干實例中,可在不經由一I/O線(例如,I/O線334)傳送資料的
情況下將比較運算之結果儲存於一陣列(例如,圖3中之陣列330)中。在若干實例中,可將比較運算之結果傳送至除圖3中之陣列330之外的一位置。
對應於參考編號1(例如,「載入Srca、Srcb」)之偽碼與將包括被比較元素之向量(例如,Srca 488及Srcb 490)儲存至一陣列(例如,圖3中之陣列330)中相關聯。可(例如)自一主機(例如,110)接收該等向量且可經由寫入電路(例如,148)而將該等向量儲存於該陣列中。如上文所描述,該等向量可包含若干待比較元素對。在此實例中,Srca 488及Srcb 490各包含待比較之4個8位元元素。例如,比較Srca之第四元素(例如,[03])與Srcb之第四元素(例如,[07]),比較Srca之第三元素(例如,[09])與Srcb之第三元素(例如,[05]),比較Srca之第二元素(例如,[02])與Srcb之第二元素(例如,[08]),且比較Srca之第一元素(例如,[0C])與Srcb之第一元素(例如,[0C])。在此實例中,位元向量492(Dest)表示一第一結果位元向量且位元向量494(Dest+1)表示一第二結果位元向量。在比較運算完結時,在位元向量492中之「1」位元及在位元向量494之對應位元位置中之「0」位元指示Srca大於Srcb(例如,Srca>Srcb),在位元向量492中之「0」位元及在位元向量494之對應位元位置中之「1」位元指示Srcb大於Srca(例如,Srcb>Srca),且在位元向量492及在位元向量494之對應位元位置兩者中之「0」位元指示Srca等於Srcb(例如,Srca=Srcb)。因而,在此實例中,因為Srca 488之第四元素小於Srcb 490之第四元素,Srca 488之第三元素大於Srcb 490之第三元素,Srca 488之第二元素小於Srcb 490之第二元素,且Srca 488之第一元素等於Srcb 490之第一元素,所以比較運算之期望結果係Dest 492為[00 FF 00 00](例如,二進制[00000000 11111111 00000000 00000000])且Dest+1 494為[FF 00 FF 00](例如,二進制[11111111 00000000 11111111 00000000])。圖4中所展示之表之列
1繪示位元向量[0309020C]儲存於儲存Srca 488之一群組之記憶體胞中,且位元向量[0705080C]儲存於儲存Srcb 490之一群組之記憶體胞中。圖4中之表之列1亦指示位元向量[00000000]儲存於儲存Dest 492及Dest+1 494之該等群組之記憶體胞中。例如,結合執行對應於參考編號1之偽碼,可藉由將其等值設定成[00000000]而「清除」位元向量492及494。
在若干實施例中,一掩碼位元向量(例如,Dynamic_Mask 476)可用以識別各元素中之最高有效位元及/或執行一「複製」運算,如下文進一步描述。另一位元向量(例如,Static_Mask 478)可用以指示被比較之位元向量(例如,Srca 488及Srcb 490)中之各元素的邊界(例如,各自元素開始及/或結束之位元位置)。
對應於暫時儲存列470(例如,儲存位元向量476及478之列)的記憶體胞群組可依促進對元素對之比較運算之效能的一方式而定向於記憶體330內。例如,各儲存位元向量之對應於各自暫時儲存列之複數個記憶體胞群組可耦合至圖3中之感測線305-0至305-31。該複數個記憶體胞群組中之各群組可耦合至一不同存取線(例如,與經使用以儲存位元向量488及490之記憶體胞耦合至之存取線不同的存取線)。
由參考編號2及3指代之偽碼與判定識別被比較之位元向量(例如,Srca 488及/或Srcb 490)中之元素之各者中之最高有效位元(MSB)的一位元向量相關聯。該等元素可具有一固定(例如,相同或靜態)元素長度或一可變元素長度。
在若干實例中,可給定(例如,由一使用者及/或主機提供)識別Srca 488及/或Srcb 490中之各元素中之MSB之一位元向量。已知識別該等元素之MSB的位元向量可提供靈活性以對複數個元素(其等由固定長度位元向量及/或可變長度位元向量表示)執行比較運算。例如,識別第一元素(例如,在最低有效元素位置中之一8位元元素)、第二
元素(例如,一12位元元素)、第三元素(例如,一4位元元素)、及第四元素(例如,另一8位元元素)之MSB的一位元向量[1000 0000,1000,1000 0000 0000,1000 0000]可經提供且可儲存於儲存指示該等元素(例如,Dynamic_Mask 476)之MSB的位元向量之記憶體胞中。在此實例中,在一MSB位置中包括一「1」及在剩餘位元位置中全部包括「0」之一位元型樣可用以指示一位元向量(例如,Srca 488及/或Srcb 490)之構成元素的MSB。
由參考編號2指代之偽碼(例如,「尋找MSB且儲存於Comp_Comp、Dynamic_Mask中」)與判定被比較位元向量(例如,Srca 488及Srcb 490)之MSB並將指示MSB之一位元向量儲存於特定群組之記憶體胞中相關聯。指示最高有效位元之位元型樣可(例如,作為一位元向量)儲存於用以儲存一掩碼(例如,Dynamic_Mask 476)之一群組之記憶體胞中。指示最高有效位元之位元型樣亦可如Comp_Comp 431般(例如,作為一經鎖存位元向量)儲存於感測電路(例如,圖3中之計算組件331及/或感測放大器306)中。作為一實例,在一MSB位置中包括一「1」且在剩餘位元位置中全部包括「0」之一位元圖案可用以指示Srca 488及/或Srcb 490之MSB。例如,若Srca 488及/或Srcb 490係32位元寬的位元向量且儲存於耦合至感測線305-0至305-31之記憶體胞中,則該32位元寬的二進制位元向量[1000 0000 0000 0000 0000 0000 0000 0000](例如,十六進制位元向量[80000000])可用作指示Srca 488及/或Srcb 490中之MSB的位元向量。
在若干實例中,圖3中之計算組件331-0至331-32可鎖存位元向量[1000 0000 0000 0000 0000 0000 0000 0000]之各自位元。例如,計算組件331-0可鎖存一(1)位元而計算組件331-1至331-31可鎖存零(0)位元。
可藉由將感測電路中之全部位元設定成一二進制位元向量[1111
1111 1111 1111 1111 1111 1111 1111]而產生識別Srca 488及Srcb 490之MSB的位元向量(Dynamic_Mask 476)。對感測電路執行一右「移位」運算以產生二進制位元向量[0111 1111 1111 1111 1111 1111 1111 1111]。對該感測電路執行一「反相」以產生二進制位元向量[1000 0000 0000 0000 0000 0000 0000 0000],其儲存於儲存Dynamic_Mask 476之記憶體胞中。
由參考編號3指代之偽碼(例如,藉由使Comp_Comp中之固定向量右移位各向量長度而尋找MSB)與在不給定指示由被比較之位元向量(例如,Srca 488及/或Srcb 490)表示之各自元素之MSB的情況下判定指示對應於該等各自元素之MSB的一位元向量相關聯。可藉由對儲存於計算組件(例如,圖3中之331-0至331-31)中之位元向量執行若干運算(例如,「移位」運算及「或」運算之若干迭代)而判定用於指示對應於若干元素的MSB之位元向量。
「移位」運算及「或」運算可導致二進制位元向量[1000 0000,1000 0000,1000 0000,1000 0000](例如,十六進制位元向量[80808080]),其在對應於由Srca 488及/或Srcb 490表示之4個元素之各者的MSB的位元位置處包括一「1」。可經由一巢狀迴圈結構(例如,一第一FOR迴圈在一第二FOR迴圈內)而執行若干「移位」運算。一頂迴圈結構(例如,FOR迴圈、WHILE迴圈及/或DO迴圈及其他可能迴圈結構)可透過Srca 488及/或Srcb 490中之若干元素迭代。下迴圈結構(例如,FOR迴圈、WHILE迴圈及/或DO迴圈及其他可能迴圈結構)可透過一元素長度迭代。「移位」運算可為右「移位」運算;然而,實施例不受限於此實例。在巢狀迴圈結構中,可對Comp_Comp 431執行「移位」運算。可對Dynamic_Mask 476及Comp_Comp 431執行「或」運算且可在頂迴圈結構中執行「或」運算。「移位」運算及「或」運算之結果可儲存於儲存Dynamic_Mask 476之一群組之記憶
體胞及計算組件(例如,圖3中之331-0至331-31)中。
如本文中所使用,對兩個位元向量執行一邏輯運算(例如,「及」運算及/或「或」運算及其他邏輯運算)可包含對來自該兩個位元向量之位元對並行地執行該邏輯運算。例如,可藉由對來自一第一位元向量[0011]之一0位元及自一第二位元向量[1100]之一1位元、對來自該第一位元向量[0011]之一0位元及來自該第二位元向量[1100]之一1位元、對來自該第一位元向量[0011]之一1位元及來自該第二位元向量[1100]之一0位元、及對來自該第一位元向量[0011]之一1位元及來自該第二位元向量[1100]之一0位元並行執行「或」運算而對該第一位元向量[0011]及該第二位元向量[1100]執行「或」運算。該「或」運算之結果係一位元向量[1111]。
由參考編號4a指代之偽碼(例如,若給定Dynamic_Mask 476,則寫入反相至Static_Mask)與結合參考編號2及3判定是否提供且不產生Dynamic_Mask 476相關聯。若提供且不產生Dynamic_Mask 476,則對指示被比較元素之MSB的掩碼位元向量(例如,Dynamic_Mask 476)執行一「反相」運算且將結果儲存為靜態掩碼位元向量(例如,Static_Mask 478)。作為一實例,可將Dynamic_Mask 476載入至Comp_Comp 431中,可對儲存於Comp_Comp 431中之值執行一「反相」運算,且可將Comp_Comp 431之值(例如,Dynamic_Mask 476之經反相值)複製至儲存Static_Mask 478之記憶體胞。例如,在一可變長度元素實例中,其中指示4個可變長度元素之MSB的掩碼位元向量係[1000 0000,1000,1000 0000 0000,1000 0000](例如,十六進制[80,8,800,80]),使該值反相導致[0111 1111,0111,0111 1111 1111,0111](例如,十六進制[7f,7,7ff,7f]),其可儲存於儲存靜態掩碼位元向量(例如,478)之記憶體胞中。在若干實例中,Dynamic_Mask 476可由一主機及/或使用者提供且可指示Srca位元向量及Srcb位元向量之
構成元素之長度(例如,該等元素是否係固定長度元素或可變長度元素)。
由參考編號4.b指代之偽碼(例如,將反相儲存至Static_Mask中)與在不提供指示被比較向量(例如,Srca 488及Srcb 490)之構成元素之MSB之掩碼位元向量(例如,Dynamic_Mask 476)之情況下對該掩碼位元向量(例如,Dynamic_Mask 476)執行一「反相」運算相關聯。將該「反相」運算之結果(例如,Dynamic_Mask 476之反相)儲存為一不同掩碼位元向量(例如,Static_Mask 478)。例如,圖4之列4繪示對Dynamic_Mask 476(例如,十六進制位元向量[80808080])執行一「反相」運算之結果(例如,十六進制位元向量[7f7f7f7f]),其經儲存為Static_Mask 478。
由參考編號5指代之偽碼(例如,Get Srca>Srcb and Srca>Srcb into Dest、Dest+1)與識別來自Srca 488之元素相較於來自Srcb 490之元素的差。識別Srca 488與Srcb 490之間的差可包含識別來自Srca 488之元素之位元(其等係1位元)及來自Srcb 490之元素之相關聯位元(其等係0位元)。Srca 488與Srcb 490之間的差儲存於儲存Dest 492之記憶體胞中。
由參考編號5指代之偽碼亦可與藉由識別來自Srcb 490中之元素的位元(其等係1位元)及來自Srca 488之元素的相關聯位元(其等係0位元)而識別來自Srcb 490之元素相較於來自Srca 488之元素的差相關聯。識別來自Srcb 490之元素相較於來自Srca 488之元素的差之結果儲存於Dest+1 494中。在下文一複製階段中複製Dest 492及Dest+1 494以比較Srca 488中之元素與Srcb 490中之元素。
執行由參考編號5指代之偽碼可包含對被比較向量(例如,Srca 488及Srcb 490)執行一「及」運算。例如,Srca 488(例如,[0309020C])可儲存於對應於Comp_Comp 431之感測電路中且
Comp_Comp 431可與Srcb 490(例如,[0705080c])進行「及」運算。可對該「及」運算之結果(例如,[0301000C])執行一「反相」運算且可將該「反相」運算儲存於(例如,寫入至)對應於Dynamic_Mask 476之記憶體胞中(例如,作為[FCFEFFF3],其係[0301000C]之反相)。該「反相」運算之結果(例如,[FCFEFFF3])可保持於感測電路中(例如,作為Comp_Comp 431)。
識別來自Srca 488之元素的位元(其等係1位元)及來自Srcb 490之元素的相關聯位元(其等係0位元)可包含對該「反相」運算之結果(例如,一位元向量[FCFEFFF3])及Srca(例如,一位元向量[0309020C])執行一「及」運算。可對該「及」運算之結果(例如,一位元向量[00080200])及Dest 492(例如,一位元向量[00000000])執行一「或」運算。將結果(例如,一位元向量[00080200])儲存於對應於Dest 492之記憶體胞中。
Dest 492(二進制位元向量[0000 0000,0000 1000,0000 0010,0000 0000])中之1位元指示Srca 488中之相關聯位元大於Srcb 490中之一相關聯位元。例如,Dest 492(例如,二進制位元向量[0000 0000,0000 1000,0000 0010,0000 0000])指示Srca 488中之第三元素(例如,一位元向量[0000 1001])在第四索引中具有一1位元(例如,第一索引係最低有效位元且第八索引係最高有效位元)且來自Srcb 490之第三元素(例如,二進制位元向量[0000 0101])在第四索引中具有一0位元。例如,Dest 492可指示Srca 488之第三元素中之第四索引大於Srcb 490之第三元素中之一第四索引。
Dest 492(例如,一二進制位元向量[0000 0000,0000 1000,0000 0010,0000 0000])亦可指示Srca 488中之第二元素(例如,一位元向量[0000 0010])在第二索引中具有一1位元且來自Srcb 490之第二元素(例如,一二進制位元向量[0000 1000])在第二索引中具有一0位元。例
如,Dest 492亦可指示來自Srca 488之第二元素中之第二索引大於來自Srcb 490之第二元素中之第二索引。
識別來自Srcb 490中之元素的位元(其等係1位元)及來自Srca 488之元素的相關聯位元(其等係0位元)可包含將Dynamic_Mask 476儲存於感測電路中且對Comp_Comp 431(例如,一位元向量[FCFEFFF3])及Srcb 490(例如,一位元向量[0705080C])執行一「及」運算。可對「及」運算之結果(例如,一位元向量[04040800])及Dest+1 494(例如,一位元向量[00000000])執行一「或」運算。可將該「或」運算之結果(例如,一位元向量[04040800])儲存於儲存Dest+1 494之記憶體胞中。
由參考編號5指代之偽碼亦與準備與參考編號6相關聯之一複製階段相關聯。準備一複製階段可包含對Static_Mask 478執行一「反相」運算且將結果儲存於對應於Dynamic_Mask 476之記憶體胞中。
準備一複製階段亦可包含將Dynamic_Mask 476儲存於感測電路中(例如,在對應於Comp_Comp 431之計算組件及/或感測放大器中)及對Comp_Comp 431(例如,一位元向量[80808080])執行一右移運算。可對該右移運算之結果(例如,一位元向量[40404040])及Static_Mask 478(例如,一位元向量[7F7fFf7F])執行一「及」運算。可將該「及」運算之結果(例如,一位元向量[40404040])儲存於對應於Dynamic_Mask 476之記憶體胞中。
由參考編號6提及之偽碼(例如,「向右複製」)與一複製階段相關聯。一複製階段可包含一向右或向左複製階段。一複製階段可將一給定位元複製至與一較低索引相關聯之若干位元或至與一較高索引相關聯之若干位元。如本文中所使用,使用複製以表示一給定位元之一值至一不同位元之值的改變。例如,給定一位元向量[0100](其在第三索引中具有一1位元且在第一索引、第二索引、及第四索引中具有0位
元),則第三索引之值(例如,一1位元)可向右複製且導致一位元向量[0110]。如本文中所使用,Dest 492及Dest+1 494中之1位元經複製以建立Dest 492及Dest+1 494之一比較。
由參考編號6指代之偽碼與將位元向右複製(例如,將一位元之一值複製至與一較低索引相關聯之若干位元)相關聯。一複製階段可包含經由一FOR迴圈、一WHILE迴圈、及/或一DO迴圈及其他可能迴圈結構而執行若干運算迭代(例如,「迴圈」)。如本文中所使用,一「迴圈」可經定義為一控制流程表述,其允許在若干迭代中基於一布林條件而執行若干運算。該「迴圈」可用以基於一BLOCKOR運算(例如,布林條件)而執行若干運算。例如,當一BLOCKOR運算傳回一真值(例如,一「1」)時,可重複執行與一複製階段相關聯之若干運算。可對Comp_Comp 431執行一BLOCKOR運算。
如本文中所使用,一BLOCKOR運算係指可經執行以判定一特定位元向量之一或多個位元是否係一特定值(例如,一「1」)的一運算。例如,BLOCKOR可經執行以判定儲存於感測電路中(例如,在對應於Comp_Comp 431之計算組件及/或感測放大器中)之一位元向量之一或多個位元是否係一特定值(例如,Comp_Comp 431之位元之任一者是否係「1」)。例如,可使用一I/O線(例如,334)及一次級感測放大器(例如,圖3中之312)而執行BLOCKOR運算。
在執行BLOCKOR運算中,可並行地啟動耦合至選定感測電路(例如,感測放大器306及/或計算組件331)之行解碼線(例如,310-1至310-W)(使得接通各自電晶體308-1至308-V)以將感測電路(例如,感測放大器306及/或計算組件331)之組件之電壓傳送至區域I/O線(例如,334)。次級感測放大器(例如,SSA 314)可感測區域I/O線之預充電電壓是否回應於行解碼線之啟動而改變(例如,達大於一臨限量)。
例如,若I/O線334經預充電至一接地電壓且感測電路(例如,選
定計算組件331及/或感測放大器306之一或多者)儲存一邏輯1(例如,Vcc),則SSA 312可感測I/O線334上之電壓之一上拉(例如,增加),其指示計算組件及/或感測放大器之至少一者(例如,對應於Comp_Comp 431之計算組件及/或感測放大器之至少一者)儲存一「1」。替代地,若I/O線334經預充電至Vcc且選定計算組件及/或感測放大器之一或多者儲存一邏輯0(例如,0V),則SSA 312可感測I/O線334上之電壓之一下拉(例如,減小),其指示該等計算組件及/或感測放大器之至少一者儲存一「0」。依此方式,對應於儲存於對應於Comp_Comp 431之感測電路中之資料的電壓可並行地傳送至區域I/O線334且由SSA 312感測作為一BLOCKOR運算之部分。本發明之實施例不限於區域I/O線334之特定預充電電壓及/或對應於邏輯1或邏輯0之特定電壓值。
因而,在若干實例中,若位元向量(對其執行一BLOCKOR運算)之位元之任一者係一「1」,則該運算導致(例如,傳回)一「1」,且若該位元向量(對其執行該運算)之該等位元並非一「1」,則該運算導致一「0」。因此,一BLOCKOR運算對特定位元向量有效地執行一邏輯「或」運算(例如,若A或B係一「1」,則該邏輯運算A「或」B傳回一真(例如,「1」),且若A或B並非一「1」,則傳回假(例如,「0」))。
由參考編號6指代之偽碼與結合BLOCKOR運算使用Dynamic_Mask 476作為一計數器相關聯。例如,Dynamic_Mask 476可用以判定複製一特定位元之次數。Dynamic_Mask 476(例如,一位元向量[40404040])可儲存於感測電路中。在「迴圈」之各迭代之後,Dynamic_Mask 476可儲存於感測電路中,可對Comp_Comp 431(例如,一位元向量[40404040])執行一「移位」運算且可對該「移位」運算之結果(例如,一位元向量[20202020])及Static_Mask 478(例如,一位元向量[7F7F7F7F])執行一「及」運算。Static_Mask 478可用以執行該「及」運算以限制來自一元素之位元移位(例如,移動)至一不同元
素。該「及」運算之結果(例如,一位元向量[20202020])可儲存於儲存Dynamic_Mask 476之記憶體胞中。在若干迭代之後,Dynamic_Mask 476係一位元向量[00000000]。Dynamic_Mask 476將儲存於感測電路中且BLOCKOR運算將傳回假(例如,在Comp_Comp 431中不存在1位元)。
與參考編號6相關聯之「迴圈」之各迭代可包含執行若干運算。該若干運算可包含執行「移位」運算、「或」運算、及/或「及」運算以將Dest 492及/或Dest+1 494向右複製。
複製Dest 492可包含將Dest 492儲存於感測電路中。可對Comp_Comp 431執行一右移運算。可對「移位」運算之結果及Dest 492執行一「或」運算。可對該「或」運算之結果及Static_Mask 478執行一「及」運算。可將該「及」運算之結果儲存於儲存Dest 492之記憶體胞中。
複製Dest+1 494可包含將Dest+1 494儲存於感測電路中。可對Comp_Comp 431執行一右移運算。可對「移位」運算之結果及Dest+1 494執行一「或」運算。可對該「或」運算之結果及Static_Mask 478執行一「及」運算。可將該「及」運算之結果儲存於儲存Dest+1 494之記憶體胞中。
在執行與以參考編號6指代之偽碼相關聯之若干運算迭代之後,Dest 492係一位元向量[000f0300]且Dest+1 494係一位元向量[04040800]。
由參考編號7指代之偽碼(例如,Get Dest>Dest+1 and Dest+1>Dest into Dest,Dest+1)與藉由識別來自Dest 492之位元(其等係1位元)及來自Dest+1 494之相關聯位元(其等係0位元)而識別Dest 492相較於Dest+1 494的差相關聯。由參考編號7指代之偽碼亦可與藉由識別來自Dest+1 494之位元(其等係1位元)及來自Dest 492之相關聯位
元(其等係0位元)而識別Dest+1 494相較於Dest 492的差相關聯。經執行以識別Dest 492相較於Dest+1之差及識別Dest+1 494相較於Dest 492之差的運算可類似於結合參考編號5所執行之運算。
例如,可將Dest 492儲存於感測電路中。可對Comp_Comp 431(例如,一十六進制位元向量[000F0300])及Dest+1 494(例如,一位元向量[07070F00])執行一「及」運算。對該「及」運算之結果(例如,一位元向量[00070300])所執行之一「反相」運算之一結果(例如,一位元向量[FFF8FCFF])可儲存於儲存Dynamic_Mask 476之記憶體胞及/或感測電路中。
識別來自Dest 492之位元(其等係1位元)及來自Dest+1 494之相關聯位元(其等係0位元)可包含對該「反相」運算之結果(例如,一位元向量[FFF8FCFF])及Dest 492(例如,一位元向量[000F0300])執行一「及」運算。將結果(例如,一位元向量[00080000])儲存於儲存Dest 492之記憶體胞中。
識別來自Dest+1 494之位元(其等係1位元)及來自Dest 492之相關聯位元(其等係0位元)可包含將Dynamic_Mask 476儲存於感測電路中及對Comp_Comp 431(例如,一位元向量[FFF8FCFF])及Dest+1 494(例如,一位元向量[07070f00])執行一「及」運算。可將該「及」運算之結果(例如,一位元向量[07000c00])儲存於儲存Dest+1 494之記憶體胞中。
由參考編號7指代之偽碼亦與準備與參考編號8相關聯之一複製階段相關聯。準備一複製階段可包含對Static_Mask 478執行一「反相」運算及將結果儲存於儲存Dynamic_Mask 476之記憶體胞中。準備一複製階段亦可包含將Dest 492(例如,一位元向量[00080000])儲存於感測電路中及對Comp_Comp 431(例如,一位元向量[00080000])及Dest+1 494(例如,一位元向量[07000C00])執行一「或」運算。
由參考編號8指代之偽碼(例如,「向右複製」)與一複製階段相關聯。與參考編號8相關聯之複製階段類似於與參考編號6相關聯之複製階段。以參考編號8指代之一複製階段將位元向右複製(例如,將一位元之一值複製至與一較低索引相關聯之若干位元)。一複製階段可包含經由一「迴圈」而執行若干運算迭代。該「迴圈」可用以基於一BLOCKOR運算(例如,布林條件)而執行若干運算。例如,當一BLOCKOR運算傳回一真值(例如,一「1」)時,可重複執行與一複製階段相關聯之若干運算。可對Comp_Comp 431執行一BLOCKOR運算。
由參考編號8指代之偽碼與在「迴圈」之一第一迭代之後結合BLOCKOR運算使用Dynamic_Mask 476作為一計數器相關聯。在該「迴圈」之各迭代處(例如,在各迭代結束時),可將Dynamic_Mask 476(例如,一位元向量[80808080])儲存於感測電路中。可對Comp_Comp 431(例如,一位元向量[80808080])執行一「移位」運算。可對該「移位」運算之結果(例如,一位元向量[40404040])及Static_Mask 478(例如,一位元向量[7F7F7F7F])執行一「及」運算。可將該「及」運算之結果(例如,一位元向量[40404040])儲存於儲存Dynamic_Mask 476之記憶體胞中。在若干迭代之後,Dynamic_Mask 476將為一位元向量[00000000]。Dynamic_Mask 476將儲存於感測電路中且BLOCKOR運算將傳回假(例如,在Comp_Comp 431中不存在1位元)。
與參考編號8相關聯之「迴圈」之各迭代可包含執行若干運算。該若干運算可包含執行「移位」運算、「或」運算、及/或「及」運算以將Dest 492及/或Dest+1 494向右複製。
複製Dest 492可包含將Dest 492儲存於感測電路中。可對Comp_Comp 431執行一右移運算。可對「移位」運算之結果及Dest
492執行一「或」運算。可對該「或」運算之結果及Static_Mask 478執行一「及」運算。可將該「及」運算之結果儲存於儲存Dest 492之記憶體胞中。
複製Dest+1 494可包含將Dest+1 494儲存於感測電路中。可對Comp_Comp 431執行一右移運算。可對「移位」運算之結果及Dest+1 494執行一「或」運算。可對該「或」運算之結果及Static_Mask 478執行一「及」運算。可將該「及」運算之結果儲存於儲存Dest+1 494之記憶體胞中。
在執行與由參考編號8指代之偽碼相關聯之若干運算迭代之後,Dest 492可為一位元向量[000F0000]且Dest+1 494可為一位元向量[07000F00]。由參考編號8指代之偽碼亦與準備與參考編號9相關聯之一後續複製階段相關聯。準備一複製階段可包含對Static_Mask 478執行一「反相」運算及將結果儲存於儲存Dynamic_Mask 476之記憶體胞中。準備一複製階段亦可包含將Dest 492(例如,一位元向量[000F0000])儲存於感測電路中及對Comp_Comp 431(例如,一位元向量[000F0000])及Dest+1 494(例如,一位元向量[07000F00])執行一「或」運算。可將該「或」運算之結果(例如,一位元向量[070F0F00])儲存於感測電路中。
由參考編號9指代之偽碼(例如,「向左複製」)與一複製階段相關聯。對應於參考編號8之一複製階段涉及將位元向左複製(例如,將一位元之一值複製至與一較高索引相關聯之若干位元)。一複製階段可包含經由一「迴圈」而執行若干運算迭代。該「迴圈」可用以基於一BLOCKOR運算(例如,布林條件)而執行若干運算。例如,當一BLOCKOR運算傳回一真值(例如,一「1」)時,可重複執行與一複製階段相關聯之若干運算。
由參考編號9指代之偽碼與在該「迴圈」之一第一迭代之後結合
BLOCKOR運算使用Dynamic_Mask 476作為一計數器相關聯。在該「迴圈」之各迭代處(例如,在各迭代結束時),可將Dynamic_Mask 476(例如,一位元向量[80808080])儲存於感測電路中。可對Comp_Comp 431(例如,一位元向量[80808080])執行一「移位」運算。可對該「移位」運算之結果(例如,一位元向量[40404040])及Static_Mask 478(例如,一位元向量[7F7F7F7F])執行一「及」運算。可將該「及」運算之結果(例如,一位元向量[40404040])儲存於儲存Dynamic_Mask 476之記憶體胞中。在若干迭代之後,Dynamic_Mask 476將具有一位元向量[00000000]。Dynamic_Mask 476將儲存於感測電路中且BLOCKOR運算將傳回假(例如,在Comp_Comp 431中不存在1位元)。
與參考編號9相關聯之「迴圈」之各迭代可包含執行若干運算。該若干運算可包含執行「移位」運算(例如,左移運算)、「或」運算、及/或「及」運算以將Dest 492及/或Dest+1 494向右複製。
複製Dest 492可包含將Dest 492儲存於感測電路中(例如,使得Comp_Comp 431之值相同於Dest 492之值)。可對Comp_Comp 431執行一左移運算。可對該左移運算之結果(例如,其經儲存為Comp_Comp 431)及Dest 492執行一「或」運算。可對該「或」運算之結果(例如,其經儲存為Comp_Comp 431)及Static_Mask 478執行一「及」運算。可將該「及」運算之結果儲存於對應於Dest 492之記憶體胞中(例如,藉由將Comp_Comp 431之值複製至Dest 492)。
複製Dest+1 494可包含將Dest+1 494儲存於感測電路中。可對Comp_Comp 431執行一左移運算。可對該左移運算之結果及Dest+1 494執行一「或」運算。可對該「或」運算之結果及Static_Mask 478執行一「及」運算。可將該「及」運算之結果儲存於儲存Dest+1 494之記憶體胞中。
在執行與由參考編號9指代之偽碼相關聯之若干運算迭代之後,Dest 492可為一位元向量[007F0000]且Dest+1 494可為一位元向量[07007f00]。
由參考編號10指代之偽碼(例如,「最左位元向左複製」)與將具有第二高索引之一位元(例如,具有具有值7之一索引的位元)向左複製一次相關聯。以參考編號10指代之複製將位元向左複製(例如,將一位元之一值複製至與一較高索引相關聯之若干位元)。
將Dest 492向左複製可包含將Dest 492儲存於感測電路中。可對Comp_Comp 431(例如,一位元向量[007F0000])執行一左移運算。可對該左移運算之結果(例如,一位元向量[00FE0000]))及Dest 492執行一「或」運算。可將該「或」運算之結果(例如,一位元向量[00FF0000]))儲存於儲存Dest 492之記憶體胞中。
複製Dest+1 494可包含將Dest+1 494儲存於感測電路中。可對Comp_Comp 431(例如,一位元向量[7f007f00])執行一左移運算。可對該左移運算之結果(例如,一位元向量[fe00fe00])及Dest+1 494執行一「或」運算。可將該「或」運算之結果(例如,一位元向量[ff00ff00])儲存於儲存Dest+1 494之記憶體胞中。
Dest 492(例如,一位元向量[00ff0000])指示Srca 488中之第三元素(例如,一位元向量[09])大於Srcb 490中之第三元素(例如,一位元向量[05])。Dest+1 494(例如,一位元向量[ff00ff00])指示來自Srcb 490之第四元素(例如,一位元向量[07])及一第二元素(例如,一位元向量[08])分別大於來自Srca 488之第四元素(例如,一位元向量[03])及一第二元素(例如,一位元向量[02])。Dest 492(例如,一位元向量[00ff0000])及Dest+1 494(例如,一位元向量[ff00ff00])一起指示來自Srca 488之第一元素(例如,一位元向量[0c])及來自Srcb 490之第一元素(例如,一位元向量[0c])相等。例如,在Dest+1 494及Dest 492兩者
中具有一相同索引之「00」位元指示來自Srcb 490及Srca 488之對應元素係相等的。然而,實施例不限於此實例中之偽碼之指令序列之順序。
下文描述圖2A之感測電路250之功能性且下文在表1中相對於執行邏輯運算且將一結果最初儲存於感測放大器206中而概述圖2A之感測電路250之功能性。將一特定邏輯運算之結果最初儲存於感測放大器206之初級鎖存器中可提供比先前方法(其中結果可最初駐存於一計算組件231之一次級鎖存器(例如,累加器),且接著隨後被傳送至(例如)感測放大器206)改良之多功能性。
將一特定運算之結果最初儲存於感測放大器206中(例如,不必執行一額外操作來將結果自計算組件231(例如,用作一累加器)移動至感測放大器206)係有利的,此係因為(例如)可在不執行一預充電週期(例如,不對互補資料線205-1及/或205-2執行一預充電週期)之情況下將結果寫入至一列(記憶體胞陣列之一列)或寫回至累加器中。
圖5繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。圖5繪示與對一第一運算元及一第二運算元初始化一「及」邏輯運算相關聯之一時序圖。在此實例中,將該第一運算元儲存於耦合至一第一存取線(例如列X)之一記憶體胞中且將該第二運算元儲存於耦合至一第二存取線(例如列Y)之一記憶體胞中。雖然實例涉及對儲存於對應於一特定行之記憶體胞中之資料執行
一「及」運算,但實施例不受限於此。例如,可使整列之資料值與一不同列之資料值進行並行「及」運算。例如,若一陣列包括2048個行,則可並行執行2,048個「及」運算。
圖5繪示與操作感測電路(例如250)來執行「及」邏輯運算相關聯之若干控制信號。「EQ」對應於施加至感測放大器206之一平衡信號,「列X」對應於施加至存取線204-X之一啟動信號,「列Y」對應於施加至存取線204-Y之一啟動信號,「Act」及「RnIF」對應於施加至感測放大器206之一各自主動正控制信號及主動負控制信號,「LOAD」對應於一負載控制信號(例如圖2A中所展示之LOAD/PASSD及LOAD/PASSDb),且「AND」對應於圖2A中所展示之AND控制信號。圖2A亦繪示波形圖,其展示列X資料值及列Y資料值之各種資料值組合之一「及」邏輯運算期間之對應於感測放大器206之數位線D及D_上及對應於計算組件231(例如,累加器)之節點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及205-2)不再短接至VDD/2)。在停用平衡之後,啟用(例如,選擇、打開,諸如,藉由啟動一信號來選擇一特定列)一選定列(例如列X),如由偽碼中之「打開列X」所指示且如圖5之信號列X之t2處所展示。當施加至列X之電壓信號達到對應於選定記憶體胞之存取電晶體(例如202-2)之臨限電壓(Vt)時,存取電晶體接通且將資料線(例如205-2)耦合至選定記憶體胞(例如,耦合至電容器203-2),其在資料線之間產生一差動電壓信號。
在啟用(例如,啟動)列X之後,上述偽碼中之「起動感測放大器」指示:感測放大器206經啟用以設定初級鎖存器,且隨後被停用。例如,如圖5中之t3處所展示,ACT正控制信號(例如圖2B中所展示之265)升至高態且RnIF負控制信號(例如如圖2B中所展示之228)降為低態,其放大205-1與205-2之間的差動信號以導致對應於一邏輯1之一電壓(例如VDD)或對應於一邏輯0之一電壓(例如GND)作用於資料線205-1上(且對應於另一邏輯狀態之電壓作用於互補資料線205-2上)。將所感測之資料值儲存於感測放大器206之初級鎖存器中。主要能量消耗發生於將資料線(例如205-1或205-2)自平衡電壓VDD/2充電至導軌電壓VDD時。
圖5中所繪示之四組可行感測放大器及累加器信號(例如列X資料值及列Y資料值之各組合之一組信號)展示資料線D及D_上之信號之行為。將列X資料值儲存於感測放大器之初級鎖存器中。應注意,圖2A展示:對應於列X之記憶體胞(其包含儲存元件203-2及存取電晶體202-2)耦合至互補資料線D_,同時對應於列Y之記憶體胞(其包含儲存元件203-2及存取電晶體202-1)耦合至資料線D。然而,如圖2A中可
見,對應於一「0」資料值之儲存於包括存取電晶體202-2之記憶體胞(其對應於列X)中之電荷致使資料線D_(存取電晶體202-2耦合至其)上之電壓升至高態且對應於一「1」資料值之儲存於包括存取電晶體202-2之記憶體胞中之電荷致使資料線D_上之電壓降為低態,其與資料狀態與儲存於對應於列Y之包括存取電晶體202-1之記憶體胞(其耦合至資料線D)中之電荷之間的對應性相反。當將資料值寫入至各自記憶體胞時,適當地解釋在耦合至不同資料線之記憶體胞中儲存電荷的此等差異。
在起動感測放大器之後,上述偽碼中之「啟動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及205-2上)之資料值設定次級鎖存器之後,上述偽碼中之「撤銷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及205-2不再短接至VDD/2),如圖5中之t8處所繪示。在停用平衡後,啟用一選定列(例如列Y),如由上述偽碼中之「打開列Y」所指示且如圖5中之t9處所展示。當施加至列Y之電壓信號達到對應於選定記憶體胞之存取電晶體(例如202-1)之臨限電壓(Vt)時,存取電晶體接通且將資料線(例如205-1)耦合至選定記憶體胞(例如,耦合至電容器203-1),其在資料線之間產生一差動電壓信號。
在啟用列Y之後,上述偽碼中之「起動感測放大器」指示:感測放大器206經啟用以放大205-1與205-2之間的差動信號以導致對應於一邏輯1之一電壓(例如VDD)或對應於一邏輯0之一電壓(例如GND)作用於資料線205-1上(且對應於另一邏輯狀態之電壓作用於互補資料線205-2上)。如圖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解耦合而完成使對應於列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而將感測放大器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及205-2)上之電壓信號之行為及計算組件(例如圖2A中所展示之231)之次級鎖存器之節點S1及S2上之電壓信號之行為。
雖然圖5中所繪示之時序圖及上文所描述之偽碼指示在開始將第二運算元(例如列Y資料值)載入至感測放大器中之後初始化「及」邏輯運算,但可藉由在開始將第二運算元(例如列Y資料值)載入至感測
放大器中之前初始化「及」邏輯運算而成功地操作圖2A中所展示之電路。
圖6繪示根據本發明之若干實施例之與使用感測電路來執行若干邏輯運算相關聯之一時序圖。圖6繪示與在開始將第二運算元(例如列Y資料值)載入至感測放大器中之後初始化一「或」邏輯運算相關聯之一時序圖。圖8繪示用於第一運算元資料值及第二運算元資料值之各種組合的感測放大器信號及累加器信號。下文相對於與圖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之感測放大器206之輸入耦合至接地,此係因為節點S2上對應於一「1」之電壓致使電晶體209-2與下拉電晶體207-2(其因為已確證OR控制信號而亦導通)一起導通。依此方式,不管先前儲存於感測放大器中之資料值如何,當累加器之次級鎖存器含有一「1」時,將一「1」最初儲存於感測放大器206中作為「或」運算之一結果。此操作使累加器中之資料保持不變。替代地,圖6展示針對一「或」邏輯運算(其涉及運算元之可行組合(例如列X/列Y資料值00、10、01及11)之各者)之耦合至感測放大器(例如圖2A中所展示之206)之資料線(例如圖2A中所展示之205-1及205-2)上之電壓信號之行為及計算組件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)器件之一記憶體陣列核心中實現一般計算,諸如(例如)6F2或4F2記憶體胞大小之一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之初級鎖存器可透過各自通路電晶體(未展示於圖2B中但依類似於其中鎖存器264透過圖2A中所展示之負載/通路電晶體218-1及218-2而耦合至資料線D及D_之方式的一組態)而耦合至互補資料線D及D_。Passd控制信號711控制一個通路電晶體。Passdb控制信號控制另一個通路電晶體,且在此處該Passdb控制信號可表現為相同於該Passd控制信號。
在時間t4處,可(例如,經由各自Passd控制信號及Passdb控制信號711,該Passd控制信號及該Passdb控制信號施加至耦合至通路電晶體之各自閘極的控制線)啟用通路電晶體(若存在)。在時間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/1003表示選定記憶體胞之電壓。歸因於能量守恆,在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之初級鎖存器中。主要能量消耗發生於
將資料線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(耦合至一「或」信號控制線)而配置,如圖2中所展示。邏輯選擇電晶體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之狀態,通閘1393-1及1393-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‧‧‧字線
204-Y‧‧‧字線
205-1‧‧‧資料線
205-2‧‧‧資料線
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‧‧‧控制信號
221-1‧‧‧隔離電晶體
221-2‧‧‧隔離電晶體
221-3‧‧‧隔離電晶體
221-4‧‧‧隔離電晶體
222‧‧‧控制信號(NORM)
223‧‧‧移位電路
230‧‧‧記憶體陣列
231‧‧‧計算組件
239-1‧‧‧電晶體
239-2‧‧‧電晶體
250‧‧‧感測電路
264‧‧‧鎖存器
291-1‧‧‧參考電壓線
Claims (25)
- 一種裝置,其包括:一第一群組之記憶體胞,其耦合至一第一存取線且經組態以儲存複數個第一元素;一第二群組之記憶體胞,其耦合至一第二存取線且經組態以儲存複數個第二元素;及一控制器,其經組態以致使:在不經由一輸入/輸出(I/O)線傳送資料的情況下藉由控制感測電路以執行若干運算而比較該複數個第一元素與該複數個第二元素;及並行地比較該複數個第一元素及該複數個第二元素。
- 如請求項1之裝置,其中該若干運算包括若干「及」運算、「或」運算、「反相」運算、及「移位」運算。
- 如請求項1之裝置,其中該感測電路包括形成於與該等記憶體胞之節距上的若干電晶體。
- 如請求項3之裝置,其中該感測電路包括一感測放大器及一計算組件。
- 如請求項4之裝置,其中該感測電路包括包括一初級鎖存器之一感測放大器及包括一次級鎖存器之一計算組件。
- 一種用於比較元素之方法,其包括:判定複數個第一元素之各元素之一各自位元長度;對以下者執行複數個比較運算:儲存於一記憶體陣列之耦合至一第一存取線且耦合至若干感測線之一第一群組之記憶體胞中之該複數個第一元素;及儲存於該記憶體陣列之耦合至一第二存取線且耦合至該若 干感測線之一第二群組之記憶體胞中之複數個第二元素;及提供該複數個第一元素之一各自第一元素是否大於該複數個第二元素之一對應第二元素的一指示。
- 如請求項6之方法,其中提供該指示進一步包括提供該複數個第一元素之每一各自者是否大於該複數個第二元素之一對應各自者的一指示。
- 如請求項6之方法,其進一步包括並行地執行該複數個比較運算。
- 如請求項8之方法,其中用以並行執行該複數個比較運算之運算之一數目相同於用以執行該複數個比較運算之任一者的運算之一數目。
- 如請求項6之方法,其中對包含來自該複數個第一元素及該複數個第二元素之對應元素的一不同元素對執行該複數個比較運算之各者。
- 如請求項10之方法,其中該等不同元素對之各者中的元素包括具有一相同長度之向量。
- 如請求項11之方法,其中該複數個第一元素之至少一者包括不同於該複數個第一元素之至少一其他者之一位元數量。
- 一種裝置,其包括:一第一群組之記憶體胞,其耦合至一第一存取線且耦合至若干感測線且經組態以儲存複數個第一元素;一第二群組之記憶體胞,其耦合至一第二存取線且耦合至該若干感測線且經組態以儲存複數個第二元素;一第三群組之記憶體胞,其經組態以儲存對該複數個第一元素及該複數個第二元素所執行之複數個比較運算之結果,該第三群組之記憶體胞包括: 耦合至一第三存取線且耦合至該若干感測線之若干記憶體胞;及耦合至一第四存取線且耦合至該若干感測線之若干記憶體胞;及一控制器,其經組態以控制感測電路以在不經由一輸入/輸出(I/O)線傳送資料的情況下執行該複數個比較運算且將該複數個比較運算之該等結果儲存於該第三群組之記憶體胞中。
- 如請求項13之裝置,其中該控制器進一步經組態以控制該感測電路以產生一第一目的地位元向量,該第一目的地位元向量識別該複數個第一元素相較於該複數個第二元素之差。
- 如請求項14之裝置,其中該控制器進一步經組態以控制該感測電路以產生一第二目的地位元向量,該第二目的地位元向量識別該複數個第二元素相較於該複數個第一元素之差。
- 如請求項15之裝置,其中該控制器進一步經組態以控制該感測電路以在一第一複製階段中複製該第一目的地位元向量中識別該複數個第一元素相較於該複數個第二元素之差之位元。
- 如請求項16之裝置,其中該控制器進一步經組態以控制該感測電路以在該第一複製階段中複製該第二目的地位元向量中識別該複數個第二元素相較於該複數個第一元素之差之位元。
- 如請求項17之裝置,其中該控制器進一步經組態以控制該感測電路以將該第一目的地位元向量相較於該第二目的地位元向量的差儲存於該第一目的地位元向量中。
- 如請求項18之裝置,其中該控制器進一步經組態以控制該感測電路以將該第二目的地位元向量相較於該第一目的地位元向量的差儲存於該第二目的地位元向量中。
- 如請求項19之裝置,其中該控制器進一步經組態以控制該感測 電路以在一第二複製階段中複製該第一目的地位元向量中之位元。
- 如請求項20之裝置,其中該控制器進一步經組態以控制該感測電路以在該第二複製階段中複製該第二目的地位元向量中之位元。
- 如請求項21之裝置,其中在該第一複製階段及該第二複製階段中複製位元包含執行若干「移位」運算。
- 如請求項22之裝置,其中該控制器進一步經組態以控制該感測電路以儲存界定該複數個第一元素之各者及該複數個第二元素之各者的一各自向量長度的一靜態掩碼,且其中該複數個第一元素之至少兩者之該向量長度係不同的。
- 如請求項23之裝置,其中所執行之該若干「移位」運算之一數量係基於來自該複數個第一元素及該複數個第二元素之該等各自向量長度的一特定向量長度。
- 如請求項14之裝置,其中該第一目的地位元向量及該第二目的地位元向量係該複數個比較運算之該等結果。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462045178P | 2014-09-03 | 2014-09-03 | |
US14/836,726 US9589602B2 (en) | 2014-09-03 | 2015-08-26 | Comparison operations in memory |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201633296A true TW201633296A (zh) | 2016-09-16 |
TWI596619B TWI596619B (zh) | 2017-08-21 |
Family
ID=55403223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104129200A TWI596619B (zh) | 2014-09-03 | 2015-09-03 | 記憶體中之比較運算 |
Country Status (3)
Country | Link |
---|---|
US (3) | US9589602B2 (zh) |
TW (1) | TWI596619B (zh) |
WO (1) | WO2016036912A1 (zh) |
Families Citing this family (92)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150124033A (ko) | 2014-04-25 | 2015-11-05 | 에스케이하이닉스 주식회사 | 전자 장치 |
US9830999B2 (en) * | 2014-06-05 | 2017-11-28 | Micron Technology, Inc. | Comparison operations in memory |
US9847110B2 (en) * | 2014-09-03 | 2017-12-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector |
US9583163B2 (en) * | 2015-02-03 | 2017-02-28 | Micron Technology, Inc. | Loop structure for operations 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 |
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 |
US11074988B2 (en) | 2016-03-22 | 2021-07-27 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US10977033B2 (en) | 2016-03-25 | 2021-04-13 | Micron Technology, Inc. | Mask patterns generated in memory from seed vectors |
US10474581B2 (en) | 2016-03-25 | 2019-11-12 | Micron Technology, Inc. | Apparatuses and methods for cache operations |
US10430244B2 (en) | 2016-03-28 | 2019-10-01 | Micron Technology, Inc. | Apparatuses and methods to determine timing of operations |
US10074416B2 (en) | 2016-03-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for data movement |
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 |
US9659605B1 (en) | 2016-04-20 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn 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 |
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 |
US10191744B2 (en) * | 2016-07-01 | 2019-01-29 | Intel Corporation | Apparatuses, methods, and systems for element sorting of vectors |
US10037785B2 (en) | 2016-07-08 | 2018-07-31 | Micron Technology, Inc. | Scan chain operation in sensing circuitry |
US10388360B2 (en) | 2016-07-19 | 2019-08-20 | Micron Technology, Inc. | Utilization of data stored in an edge section of an array |
US10733089B2 (en) | 2016-07-20 | 2020-08-04 | Micron Technology, Inc. | Apparatuses and methods for write address tracking |
US10387299B2 (en) | 2016-07-20 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods for transferring data |
US9767864B1 (en) | 2016-07-21 | 2017-09-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in a sensing circuitry element |
US9972367B2 (en) | 2016-07-21 | 2018-05-15 | Micron Technology, Inc. | Shifting data in sensing circuitry |
US10303632B2 (en) | 2016-07-26 | 2019-05-28 | Micron Technology, Inc. | Accessing status information |
US10468087B2 (en) | 2016-07-28 | 2019-11-05 | Micron Technology, Inc. | Apparatuses and methods for operations in a self-refresh state |
US9990181B2 (en) | 2016-08-03 | 2018-06-05 | Micron Technology, Inc. | Apparatuses and methods for random number generation |
US11029951B2 (en) | 2016-08-15 | 2021-06-08 | Micron Technology, Inc. | Smallest or largest value element determination |
US10606587B2 (en) | 2016-08-24 | 2020-03-31 | Micron Technology, Inc. | Apparatus and methods related to microcode instructions indicating instruction types |
US10466928B2 (en) | 2016-09-15 | 2019-11-05 | Micron Technology, Inc. | Updating a register in memory |
US10387058B2 (en) | 2016-09-29 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods to change data category values |
US10014034B2 (en) | 2016-10-06 | 2018-07-03 | Micron Technology, Inc. | Shifting data in sensing circuitry |
US10529409B2 (en) | 2016-10-13 | 2020-01-07 | Micron Technology, Inc. | Apparatuses and methods to perform logical operations using sensing circuitry |
US9805772B1 (en) | 2016-10-20 | 2017-10-31 | Micron Technology, Inc. | Apparatuses and methods to selectively perform logical operations |
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 |
US10403352B2 (en) | 2017-02-22 | 2019-09-03 | Micron Technology, Inc. | Apparatuses and methods for compute in data path |
US10268389B2 (en) | 2017-02-22 | 2019-04-23 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10838899B2 (en) | 2017-03-21 | 2020-11-17 | Micron Technology, Inc. | Apparatuses and methods for in-memory data switching networks |
US10185674B2 (en) | 2017-03-22 | 2019-01-22 | Micron Technology, Inc. | Apparatus and methods for in data path compute operations |
US11222260B2 (en) | 2017-03-22 | 2022-01-11 | Micron Technology, Inc. | Apparatuses and methods for operating neural networks |
US10049721B1 (en) | 2017-03-27 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10043570B1 (en) | 2017-04-17 | 2018-08-07 | Micron Technology, Inc. | Signed element compare in memory |
US10147467B2 (en) | 2017-04-17 | 2018-12-04 | Micron Technology, Inc. | Element value comparison in memory |
US9997212B1 (en) | 2017-04-24 | 2018-06-12 | Micron Technology, Inc. | Accessing data in memory |
US10942843B2 (en) | 2017-04-25 | 2021-03-09 | Micron Technology, Inc. | Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes |
US10236038B2 (en) | 2017-05-15 | 2019-03-19 | Micron Technology, Inc. | Bank to bank data transfer |
US11443226B2 (en) * | 2017-05-17 | 2022-09-13 | International Business Machines Corporation | Training a machine learning model in a distributed privacy-preserving environment |
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 |
US10514914B2 (en) * | 2017-08-29 | 2019-12-24 | Gsi Technology Inc. | Method for min-max computation in associative memory |
US10534553B2 (en) | 2017-08-30 | 2020-01-14 | Micron Technology, Inc. | Memory array accessibility |
US10416927B2 (en) | 2017-08-31 | 2019-09-17 | Micron Technology, Inc. | Processing in memory |
US10346092B2 (en) | 2017-08-31 | 2019-07-09 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations using timing circuitry |
US10741239B2 (en) | 2017-08-31 | 2020-08-11 | Micron Technology, Inc. | Processing in memory device including a row address strobe manager |
US10409739B2 (en) | 2017-10-24 | 2019-09-10 | Micron Technology, Inc. | Command selection policy |
US10522210B2 (en) | 2017-12-14 | 2019-12-31 | Micron Technology, Inc. | Apparatuses and methods for subarray addressing |
KR102408858B1 (ko) | 2017-12-19 | 2022-06-14 | 삼성전자주식회사 | 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 비휘발성 메모리 장치의 동작 방법 |
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 |
US10831355B2 (en) * | 2019-04-08 | 2020-11-10 | The Boeing Company | Systems and methods for changing orientation of visual information displayed between adjacent users |
US10867655B1 (en) | 2019-07-08 | 2020-12-15 | Micron Technology, Inc. | Methods and apparatus for dynamically adjusting performance of partitioned memory |
US11360768B2 (en) | 2019-08-14 | 2022-06-14 | Micron Technolgy, Inc. | Bit string operations in memory |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
US11081149B1 (en) | 2020-03-31 | 2021-08-03 | Winbond Electronics Corp. | Memory device for artificial intelligence operation |
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 |
JPH0831168B2 (ja) | 1987-11-06 | 1996-03-27 | 沖電気工業株式会社 | 窓口用自動取引装置 |
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 | テキサス インスツルメンツ インコーポレイテツド | メモリ・アレイ・アーキテクチャ |
US5546343A (en) | 1990-10-18 | 1996-08-13 | Elliott; Duncan G. | Method and apparatus for a single instruction operating multiple processors on a memory chip |
JPH06103599B2 (ja) | 1990-11-16 | 1994-12-14 | 三菱電機株式会社 | 半導体集積回路装置 |
US5325519A (en) | 1991-10-18 | 1994-06-28 | Texas Microsystems, Inc. | Fault tolerant computer with archival rollback capabilities |
FR2685973B1 (fr) | 1992-01-03 | 1994-02-25 | France Telecom | Point memoire pour memoire associative. |
KR950005095Y1 (ko) | 1992-03-18 | 1995-06-22 | 문정환 | 양방향성 그로벌 비트 라인을 갖는 dram |
JPH06215160A (ja) | 1992-08-25 | 1994-08-05 | Texas Instr Inc <Ti> | データ処理方法および装置 |
KR950004854B1 (ko) | 1992-10-08 | 1995-05-15 | 삼성전자 주식회사 | 반도체 메모리 장치 |
US5485373A (en) | 1993-03-25 | 1996-01-16 | Taligent, Inc. | Language-sensitive text searching system with modified Boyer-Moore process |
US5440482A (en) | 1993-03-25 | 1995-08-08 | Taligent, Inc. | Forward and reverse Boyer-Moore string searching of multilingual text having a defined collation order |
US5754478A (en) | 1993-04-20 | 1998-05-19 | Micron Technology, Inc. | Fast, low power, write scheme for memory circuits using pulsed off isolation device |
US5369622A (en) | 1993-04-20 | 1994-11-29 | Micron Semiconductor, Inc. | Memory with isolated digit lines |
JP2663838B2 (ja) | 1993-07-27 | 1997-10-15 | 日本電気株式会社 | 半導体集積回路装置 |
JP3252306B2 (ja) | 1993-08-10 | 2002-02-04 | 株式会社日立製作所 | 半導体不揮発性記憶装置 |
JP3904244B2 (ja) | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
US5430687A (en) | 1994-04-01 | 1995-07-04 | Xilinx, Inc. | Programmable logic device including a parallel input device for loading memory cells |
JP3251421B2 (ja) | 1994-04-11 | 2002-01-28 | 株式会社日立製作所 | 半導体集積回路 |
US5655113A (en) | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
JPH0831168A (ja) | 1994-07-13 | 1996-02-02 | Hitachi Ltd | 半導体記憶装置 |
US5481500A (en) | 1994-07-22 | 1996-01-02 | International Business Machines Corporation | Precharged bit decoder and sense amplifier with integrated latch usable in pipelined memories |
US5615404A (en) | 1994-10-31 | 1997-03-25 | Intel Corporation | System having independently addressable bus interfaces coupled to serially connected multi-ported signal distributors generating and maintaining frame based polling schedule favoring isochronous peripherals |
US5638128A (en) | 1994-11-08 | 1997-06-10 | General Instrument Corporation Of Delaware | Pixel interpolation filters for video decompression processor |
US5724366A (en) | 1995-05-16 | 1998-03-03 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device |
KR0146530B1 (ko) | 1995-05-25 | 1998-09-15 | 김광호 | 단속제어회로를 구비한 반도체 메모리 장치와 제어방법 |
US7301541B2 (en) | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
JP2812262B2 (ja) | 1995-08-31 | 1998-10-22 | 日本電気株式会社 | 連想記憶装置 |
US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
JP2817836B2 (ja) | 1995-11-30 | 1998-10-30 | 日本電気株式会社 | 半導体メモリ装置 |
JP3356612B2 (ja) | 1996-02-29 | 2002-12-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 高速な輪郭スムージング方法及び装置 |
US6092186A (en) | 1996-05-07 | 2000-07-18 | Lucent Technologies Inc. | Apparatus and method for aborting un-needed instruction fetches in a digital microprocessor device |
US5915084A (en) | 1996-09-30 | 1999-06-22 | Advanced Micro Devices, Inc. | Scannable sense amplifier circuit |
US5991209A (en) | 1997-04-11 | 1999-11-23 | Raytheon Company | Split sense amplifier and staging buffer for wide memory architecture |
JP3592887B2 (ja) | 1997-04-30 | 2004-11-24 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6510098B1 (en) | 1997-05-28 | 2003-01-21 | Cirrus Logic, Inc. | Method and apparatus for transferring data in a dual port memory |
JPH1115773A (ja) | 1997-06-24 | 1999-01-22 | Matsushita Electron Corp | 半導体集積回路、コンピュータシステム、データ処理装置及びデータ処理方法 |
US5935263A (en) | 1997-07-01 | 1999-08-10 | Micron Technology, Inc. | Method and apparatus for memory array compressed data testing |
US5953738A (en) | 1997-07-02 | 1999-09-14 | Silicon Aquarius, Inc | DRAM with integral SRAM and arithmetic-logic units |
US6195734B1 (en) | 1997-07-02 | 2001-02-27 | Micron Technology, Inc. | System for implementing a graphic address remapping table as a virtual register file in system memory |
US6181698B1 (en) | 1997-07-09 | 2001-01-30 | Yoichi Hariguchi | Network routing table using content addressable memory |
US6025221A (en) | 1997-08-22 | 2000-02-15 | Micron Technology, Inc. | Processing methods of forming integrated circuitry memory devices, methods of forming DRAM arrays, and related semiconductor masks |
US5991785A (en) | 1997-11-13 | 1999-11-23 | Lucent Technologies Inc. | Determining an extremum value and its index in an array using a dual-accumulation processor |
US5867429A (en) | 1997-11-19 | 1999-02-02 | Sandisk Corporation | High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates |
US6163862A (en) | 1997-12-01 | 2000-12-19 | International Business Machines Corporation | On-chip test circuit for evaluating an on-chip signal using an external test signal |
JP3488612B2 (ja) | 1997-12-11 | 2004-01-19 | 株式会社東芝 | センス増幅回路 |
US5986942A (en) | 1998-01-20 | 1999-11-16 | Nec Corporation | Semiconductor memory device |
JPH11260057A (ja) | 1998-03-13 | 1999-09-24 | Nec Corp | 半導体記憶装置 |
JPH11265995A (ja) | 1998-03-17 | 1999-09-28 | Mitsubishi Electric Corp | 半導体記憶装置 |
JPH11306751A (ja) | 1998-04-22 | 1999-11-05 | Toshiba Corp | 半導体記憶装置 |
US6005799A (en) | 1998-08-06 | 1999-12-21 | Silicon Aquarius | Methods and circuits for single-memory dynamic cell multivalue data storage |
US6141286A (en) | 1998-08-21 | 2000-10-31 | Micron Technology, Inc. | Embedded DRAM architecture with local data drivers and programmable number of data read and data write lines |
US7409694B2 (en) | 1998-09-09 | 2008-08-05 | Microsoft Corporation | Highly componentized system architecture with loadable virtual memory manager |
JP2000173269A (ja) | 1998-12-08 | 2000-06-23 | Mitsubishi Electric Corp | 半導体記憶装置 |
KR100381968B1 (ko) | 1998-12-30 | 2004-03-24 | 주식회사 하이닉스반도체 | 고속동작용디램 |
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 |
JP3983969B2 (ja) | 2000-03-08 | 2007-09-26 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US7028170B2 (en) | 2000-03-08 | 2006-04-11 | Sun Microsystems, Inc. | Processing architecture having a compare capability |
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 |
US6807614B2 (en) | 2001-07-19 | 2004-10-19 | Shine C. Chung | Method and apparatus for using smart memories in computing |
US7546438B2 (en) | 2001-07-19 | 2009-06-09 | Chung Shine C | Algorithm mapping, specialized instructions and architecture features for smart memory computing |
ITRM20010531A1 (it) | 2001-08-31 | 2003-02-28 | Micron Technology Inc | Dispositivo rilevatore a bassa potenza e alta tensione per memorie ditipo flash. |
US7260672B2 (en) | 2001-09-07 | 2007-08-21 | Intel Corporation | Using data stored in a destructive-read memory |
US7062689B2 (en) | 2001-12-20 | 2006-06-13 | Arm Limited | Method and apparatus for memory self testing |
US7058880B1 (en) | 2001-12-26 | 2006-06-06 | Altera Corporation | Techniques for programming and verifying data in a programmable circuit |
US20040073773A1 (en) | 2002-02-06 | 2004-04-15 | Victor Demjanenko | Vector processor architecture and methods performed therein |
US6707729B2 (en) | 2002-02-15 | 2004-03-16 | Micron Technology, Inc. | Physically alternating sense amplifier activation |
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 |
US7142464B2 (en) | 2003-04-29 | 2006-11-28 | Saifun Semiconductors Ltd. | Apparatus and methods for multi-level sensing in a memory array |
JP3898152B2 (ja) | 2003-05-27 | 2007-03-28 | ローム株式会社 | 演算機能付き記憶装置および演算記憶方法 |
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 |
US7401281B2 (en) | 2004-01-29 | 2008-07-15 | International Business Machines Corporation | Remote BIST high speed test and redundancy calculation |
US7631236B2 (en) | 2004-01-29 | 2009-12-08 | International Business Machines Corporation | Hybrid built-in self test (BIST) architecture for embedded memory arrays and an associated method |
JP4819316B2 (ja) | 2004-02-23 | 2011-11-24 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US7088606B2 (en) | 2004-03-10 | 2006-08-08 | Altera Corporation | Dynamic RAM storage techniques |
US7020017B2 (en) | 2004-04-06 | 2006-03-28 | Sandisk Corporation | Variable programming of non-volatile memory |
US7120063B1 (en) | 2004-05-07 | 2006-10-10 | Spansion Llc | Flash memory cell and methods for programming and erasing |
US8522205B2 (en) | 2004-05-18 | 2013-08-27 | Oracle International Corporation | Packaging multiple groups of read-only files of an application's components into multiple shared libraries |
JP2006127460A (ja) | 2004-06-09 | 2006-05-18 | Renesas Technology Corp | 半導体装置、半導体信号処理装置、およびクロスバースイッチ |
US7061817B2 (en) | 2004-06-30 | 2006-06-13 | Micron Technology, Inc. | Data path having grounded precharge operation and test compression capability |
US7116602B2 (en) | 2004-07-15 | 2006-10-03 | Micron Technology, Inc. | Method and system for controlling refresh to avoid memory cell data losses |
US7434024B2 (en) | 2004-08-30 | 2008-10-07 | Ati Technologies, Inc. | SIMD processor with register addressing, buffer stall and methods |
US7685365B2 (en) | 2004-09-30 | 2010-03-23 | Intel Corporation | Transactional memory execution utilizing virtual memory |
US20060069849A1 (en) | 2004-09-30 | 2006-03-30 | Rudelic John C | Methods and apparatus to update information in a memory |
US20060149804A1 (en) | 2004-11-30 | 2006-07-06 | International Business Machines Corporation | Multiply-sum dot product instruction with mask and splat |
US7230851B2 (en) | 2004-12-23 | 2007-06-12 | Sandisk Corporation | Reducing floating gate to floating gate coupling effect |
KR100673901B1 (ko) | 2005-01-28 | 2007-01-25 | 주식회사 하이닉스반도체 | 저전압용 반도체 메모리 장치 |
US7543119B2 (en) | 2005-02-10 | 2009-06-02 | Richard Edward Hessel | Vector processor |
US7624313B2 (en) | 2005-03-28 | 2009-11-24 | Hewlett-Packard Development Company, L.P. | TCAM BIST with redundancy |
US7187585B2 (en) | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
US7196928B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
US7193898B2 (en) | 2005-06-20 | 2007-03-20 | Sandisk Corporation | Compensation currents in non-volatile memory read operations |
KR100720644B1 (ko) | 2005-11-17 | 2007-05-21 | 삼성전자주식회사 | 메모리 장치 및 메모리 그 동작 방법 |
JP4804479B2 (ja) | 2005-12-13 | 2011-11-02 | スパンション エルエルシー | 半導体装置およびその制御方法 |
JP5129450B2 (ja) | 2006-01-16 | 2013-01-30 | ルネサスエレクトロニクス株式会社 | 情報処理装置 |
US8077533B2 (en) | 2006-01-23 | 2011-12-13 | Freescale Semiconductor, Inc. | Memory and method for sensing data in a memory using complementary sensing scheme |
JP4989900B2 (ja) | 2006-01-31 | 2012-08-01 | ルネサスエレクトロニクス株式会社 | 並列演算処理装置 |
US7400532B2 (en) | 2006-02-16 | 2008-07-15 | Micron Technology, Inc. | Programming method to reduce gate coupling interference for non-volatile memory |
KR100755370B1 (ko) | 2006-04-17 | 2007-09-04 | 삼성전자주식회사 | 반도체 메모리 장치 |
TW200828333A (en) | 2006-04-28 | 2008-07-01 | Samsung Electronics Co Ltd | Sense amplifier circuit and sense amplifier-based flip-flop having the same |
US7752417B2 (en) | 2006-06-05 | 2010-07-06 | Oracle America, Inc. | Dynamic selection of memory virtualization techniques |
US7372715B2 (en) | 2006-06-14 | 2008-05-13 | Micron Technology, Inc. | Architecture and method for NAND flash memory |
US8069377B2 (en) | 2006-06-26 | 2011-11-29 | Micron Technology, Inc. | Integrated circuit having memory array including ECC and column redundancy and method of operating the same |
US7724559B2 (en) | 2006-07-14 | 2010-05-25 | International Business Machines Corporation | Self-referenced match-line sense amplifier for content addressable memories |
US7443729B2 (en) | 2006-07-20 | 2008-10-28 | Sandisk Corporation | System that compensates for coupling based on sensing a neighbor using coupling |
US7885119B2 (en) | 2006-07-20 | 2011-02-08 | Sandisk Corporation | Compensating for coupling during programming |
US7692466B2 (en) | 2006-08-18 | 2010-04-06 | Ati Technologies Ulc | Sense amplifier based flip-flop |
US7805587B1 (en) | 2006-11-01 | 2010-09-28 | Nvidia Corporation | Memory addressing controlled by PTE fields |
US8151082B2 (en) | 2007-12-06 | 2012-04-03 | Fusion-Io, Inc. | Apparatus, system, and method for converting a storage request into an append data storage command |
US7471536B2 (en) | 2006-12-08 | 2008-12-30 | Texas Instruments Incorporated | Match mismatch emulation scheme for an addressed location in a CAM |
KR100821616B1 (ko) * | 2006-12-14 | 2008-04-16 | 한국과학기술원 | 반도체 집적회로의 두 숫자 비교기 |
US7460387B2 (en) | 2007-01-05 | 2008-12-02 | International Business Machines Corporation | eDRAM hierarchical differential sense amp |
US7743303B2 (en) | 2007-01-22 | 2010-06-22 | Micron Technology, Inc. | Defective memory block remapping method and system, and memory device and processor-based system using same |
US7937535B2 (en) | 2007-02-22 | 2011-05-03 | Arm Limited | Managing cache coherency in a data processing apparatus |
US7804718B2 (en) | 2007-03-07 | 2010-09-28 | Mosaid Technologies Incorporated | Partial block erase architecture for flash memory |
US7492640B2 (en) | 2007-06-07 | 2009-02-17 | Sandisk Corporation | Sensing with bit-line lockout control in non-volatile memory |
JP2009009665A (ja) | 2007-06-29 | 2009-01-15 | Elpida Memory Inc | 半導体記憶装置 |
US7996749B2 (en) | 2007-07-03 | 2011-08-09 | Altera Corporation | Signal loss detector for high-speed serial interface of a programmable logic device |
US7489543B1 (en) | 2007-07-25 | 2009-02-10 | Micron Technology, Inc. | Programming multilevel cell memory arrays |
US7694195B2 (en) | 2007-08-14 | 2010-04-06 | Dell Products L.P. | System and method for using a memory mapping function to map memory defects |
US7869273B2 (en) | 2007-09-04 | 2011-01-11 | Sandisk Corporation | Reducing the impact of interference during programming |
US7787319B2 (en) | 2007-09-06 | 2010-08-31 | Innovative Silicon Isi Sa | Sense amplifier circuitry for integrated circuit having memory cell array, and method of operating same |
US8042082B2 (en) | 2007-09-12 | 2011-10-18 | Neal Solomon | Three dimensional memory in a system on a chip |
US7965564B2 (en) | 2007-09-18 | 2011-06-21 | Zikbit Ltd. | Processor arrays made of standard memory cells |
US7663928B2 (en) | 2007-10-09 | 2010-02-16 | Ememory Technology Inc. | Sense amplifier circuit having current mirror architecture |
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 | ルネサスエレクトロニクス株式会社 | 半導体信号処理装置 |
US20090254694A1 (en) * | 2008-04-02 | 2009-10-08 | Zikbit Ltd. | Memory device with integrated parallel processing |
US8332580B2 (en) | 2008-04-02 | 2012-12-11 | Zikbit Ltd. | System, method and apparatus for memory with embedded associative section for computations |
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 |
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 |
KR101611375B1 (ko) * | 2008-08-19 | 2016-04-11 | 톰슨 라이센싱 | 압축된 비디오에서 구문 요소의 cabac/avc 준수 워터마킹 |
ITRM20080543A1 (it) | 2008-10-09 | 2010-04-10 | Micron Technology Inc | Architettura e metodo per la programmazione di memorie. |
KR101596283B1 (ko) | 2008-12-19 | 2016-02-23 | 삼성전자 주식회사 | 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치 |
KR101622922B1 (ko) | 2009-03-06 | 2016-05-20 | 삼성전자 주식회사 | 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치 |
US8484276B2 (en) | 2009-03-18 | 2013-07-09 | International Business Machines Corporation | Processing array data on SIMD multi-core processor architectures |
KR20100134235A (ko) | 2009-06-15 | 2010-12-23 | 삼성전자주식회사 | 반도체 메모리 장치 |
US7898864B2 (en) | 2009-06-24 | 2011-03-01 | Sandisk Corporation | Read operation for memory with compensation for coupling based on write-erase cycles |
US8412987B2 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Non-volatile memory to store memory remap information |
US8412985B1 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Hardwired remapped memory |
US8238173B2 (en) | 2009-07-16 | 2012-08-07 | Zikbit Ltd | Using storage cells to perform computation |
US9076527B2 (en) | 2009-07-16 | 2015-07-07 | Mikamonu Group Ltd. | Charge sharing in a TCAM array |
JP4951041B2 (ja) | 2009-08-06 | 2012-06-13 | 株式会社東芝 | 半導体記憶装置 |
US8059438B2 (en) | 2009-08-28 | 2011-11-15 | International Business Machines Corporation | Content addressable memory array programmed to perform logic operations |
US8077532B2 (en) | 2009-09-02 | 2011-12-13 | Micron Technology, Inc. | Small unit internal verify read in a memory device |
US8482975B2 (en) | 2009-09-14 | 2013-07-09 | Micron Technology, Inc. | Memory kink checking |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
WO2011048522A2 (en) * | 2009-10-21 | 2011-04-28 | Zikbit Ltd. | Neighborhood operations for parallel processing |
US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
US8650232B2 (en) | 2009-10-26 | 2014-02-11 | Via Technologies, Inc. | System and method for determination of a horizontal minimum of digital values |
KR101634340B1 (ko) | 2009-11-03 | 2016-06-28 | 삼성전자주식회사 | 반도체 메모리 장치의 프로그램 방법 |
US8583896B2 (en) | 2009-11-13 | 2013-11-12 | Nec Laboratories America, Inc. | Massively parallel processing core with plural chains of processing elements and respective smart memory storing select data received from each chain |
KR20110054773A (ko) | 2009-11-18 | 2011-05-25 | 삼성전자주식회사 | 비트라인 디스털번스를 개선하는 반도체 메모리 장치 |
US8089815B2 (en) | 2009-11-24 | 2012-01-03 | Sandisk Technologies Inc. | Programming memory with bit line floating to reduce channel-to-floating gate coupling |
US8605015B2 (en) | 2009-12-23 | 2013-12-10 | Syndiant, Inc. | Spatial light modulator with masking-comparators |
JP2011146102A (ja) | 2010-01-15 | 2011-07-28 | Elpida Memory Inc | 半導体装置及びデータ処理システム |
CN102141905B (zh) | 2010-01-29 | 2015-02-25 | 上海芯豪微电子有限公司 | 一种处理器体系结构 |
US8164942B2 (en) | 2010-02-01 | 2012-04-24 | International Business Machines Corporation | High performance eDRAM sense amplifier |
US8533245B1 (en) | 2010-03-03 | 2013-09-10 | Altera Corporation | Multipliers with a reduced number of memory blocks |
EP2564306A4 (en) | 2010-04-27 | 2017-04-26 | Cornell University | System and methods for mapping and searching objects in multidimensional space |
KR101119371B1 (ko) | 2010-04-29 | 2012-03-06 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 이의 동작 방법 |
US8559232B2 (en) | 2010-05-03 | 2013-10-15 | Aplus Flash Technology, Inc. | DRAM-like NVM memory array and sense amplifier design for high temperature and high endurance operation |
US8351278B2 (en) | 2010-06-23 | 2013-01-08 | International Business Machines Corporation | Jam latch for latching memory array output data |
KR101143471B1 (ko) | 2010-07-02 | 2012-05-11 | 에스케이하이닉스 주식회사 | 센스앰프 및 이를 포함하는 반도체 장치 |
US20120017039A1 (en) | 2010-07-16 | 2012-01-19 | Plx Technology, Inc. | Caching using virtual memory |
US8462532B1 (en) | 2010-08-31 | 2013-06-11 | Netlogic Microsystems, Inc. | Fast quaternary content addressable memory cell |
US8347154B2 (en) | 2010-09-21 | 2013-01-01 | International Business Machines Corporation | Use of hashing function to distinguish random and repeat errors in a memory system |
US8478969B2 (en) | 2010-09-24 | 2013-07-02 | Intel Corporation | Performing a multiply-multiply-accumulate instruction |
US8904115B2 (en) | 2010-09-28 | 2014-12-02 | Texas Instruments Incorporated | Cache with multiple access pipelines |
US8332367B2 (en) | 2010-10-20 | 2012-12-11 | International Business Machines Corporation | Parallel data redundancy removal |
KR101148352B1 (ko) | 2010-11-02 | 2012-05-21 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 동작 방법 |
JP5528987B2 (ja) | 2010-11-11 | 2014-06-25 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置 |
US8553482B2 (en) | 2010-11-29 | 2013-10-08 | Apple Inc. | Sense amplifier and sense amplifier latch having common control |
WO2012104674A1 (en) | 2011-01-31 | 2012-08-09 | Freescale Semiconductor, Inc. | Integrated circuit device and method for determining an index of an extreme value within an array of values |
KR20120088973A (ko) | 2011-02-01 | 2012-08-09 | 삼성전자주식회사 | 로컬 센스앰프 회로 및 이를 포함하는 반도체 메모리 장치 |
JP2012174016A (ja) | 2011-02-22 | 2012-09-10 | Renesas Electronics Corp | データ処理装置およびそのデータ処理方法 |
JP5259765B2 (ja) | 2011-03-29 | 2013-08-07 | 株式会社東芝 | 不揮発性半導体メモリ |
US8725730B2 (en) | 2011-05-23 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Responding to a query in a data processing system |
US8706958B2 (en) | 2011-09-01 | 2014-04-22 | Thomas Hein | Data mask encoding in data bit inversion scheme |
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 |
KR101321481B1 (ko) | 2011-11-04 | 2013-10-28 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이를 위한 테스트 회로 |
US9830158B2 (en) | 2011-11-04 | 2017-11-28 | Nvidia Corporation | Speculative execution and rollback |
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 | 英特尔公司 | 用于提供向量横向比较功能的指令和逻辑 |
US9235414B2 (en) | 2011-12-19 | 2016-01-12 | Intel Corporation | SIMD integer multiply-accumulate instruction for multi-precision arithmetic |
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 |
US9158667B2 (en) | 2013-03-04 | 2015-10-13 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9424031B2 (en) | 2013-03-13 | 2016-08-23 | Intel Corporation | Techniques for enabling bit-parallel wide string matching with a SIMD register |
US9171153B2 (en) | 2013-05-17 | 2015-10-27 | Hewlett-Packard Development Company, L.P. | Bloom filter with memory element |
US8964496B2 (en) | 2013-07-26 | 2015-02-24 | Micron Technology, Inc. | Apparatuses and methods for performing compare operations using sensing circuitry |
US8971124B1 (en) | 2013-08-08 | 2015-03-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9639458B2 (en) | 2013-09-26 | 2017-05-02 | Emu Solutions, Inc. | Reducing memory accesses for enhanced in-memory parallel operations |
US9430191B2 (en) | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
EP3140743B1 (en) | 2014-05-08 | 2021-11-24 | Micron Technology, INC. | Hybrid memory cube system interconnect directory-based cache coherence methodology |
CN106415522B (zh) | 2014-05-08 | 2020-07-21 | 美光科技公司 | 存储器内轻量一致性 |
US9830999B2 (en) * | 2014-06-05 | 2017-11-28 | Micron Technology, Inc. | Comparison operations in memory |
-
2015
- 2015-08-26 US US14/836,726 patent/US9589602B2/en active Active
- 2015-09-03 WO PCT/US2015/048248 patent/WO2016036912A1/en active Application Filing
- 2015-09-03 TW TW104129200A patent/TWI596619B/zh active
-
2017
- 2017-01-19 US US15/410,199 patent/US9779789B2/en active Active
- 2017-08-31 US US15/692,959 patent/US9940985B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20170365310A1 (en) | 2017-12-21 |
US9589602B2 (en) | 2017-03-07 |
US20170133066A1 (en) | 2017-05-11 |
US9779789B2 (en) | 2017-10-03 |
TWI596619B (zh) | 2017-08-21 |
US20160064047A1 (en) | 2016-03-03 |
US9940985B2 (en) | 2018-04-10 |
WO2016036912A1 (en) | 2016-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI596619B (zh) | 記憶體中之比較運算 | |
TWI609264B (zh) | 記憶體中之除法運算 | |
TWI620058B (zh) | 記憶體中之交換運算 | |
TWI575449B (zh) | 用於比較多個元素之裝置及方法 | |
TWI601149B (zh) | 用於執行乘法運算之方法及裝置 | |
TWI576761B (zh) | 記憶體中之乘法運算 | |
CN107430877B (zh) | 通过存储器中的向量的元素进行数据移位 | |
TWI615850B (zh) | 判定記憶體中最長元素長度 | |
TW201732795A (zh) | 記憶體中的資料收集 | |
TWI545498B (zh) | 用於判定總數計數之裝置及方法 | |
TWI570715B (zh) | 記憶體中之比較操作 | |
US20160266873A1 (en) | Division operations on variable length elements in memory | |
TW201611027A (zh) | 使用感測電路執行邏輯操作 |