TWI651617B - 用於計算可啟動之快取記憶體之裝置及方法 - Google Patents
用於計算可啟動之快取記憶體之裝置及方法 Download PDFInfo
- Publication number
- TWI651617B TWI651617B TW105116507A TW105116507A TWI651617B TW I651617 B TWI651617 B TW I651617B TW 105116507 A TW105116507 A TW 105116507A TW 105116507 A TW105116507 A TW 105116507A TW I651617 B TWI651617 B TW I651617B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- cache
- array
- controller
- block
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000015654 memory Effects 0.000 claims abstract description 180
- 238000012545 processing Methods 0.000 claims description 33
- 239000013598 vector Substances 0.000 claims description 26
- 238000003491 array Methods 0.000 claims description 23
- 238000013468 resource allocation Methods 0.000 claims description 4
- 230000003068 static effect Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 2
- 241000724291 Tobacco streak virus Species 0.000 claims 2
- 230000000295 complement effect Effects 0.000 description 32
- 230000006870 function Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 19
- 238000012546 transfer Methods 0.000 description 17
- 235000012431 wafers Nutrition 0.000 description 12
- 239000003990 capacitor Substances 0.000 description 9
- 238000002955 isolation Methods 0.000 description 7
- 239000013078 crystal Substances 0.000 description 6
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 230000005693 optoelectronics Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000001066 destructive effect Effects 0.000 description 2
- 229910052732 germanium Inorganic materials 0.000 description 2
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- KJTLSVCANCCWHF-UHFFFAOYSA-N Ruthenium Chemical compound [Ru] KJTLSVCANCCWHF-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 244000309464 bull Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004460 liquid liquid chromatography Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 229910052707 ruthenium Inorganic materials 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4091—Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1012—Design facilitation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6032—Way prediction in set-associative cache
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4094—Bit-line management or control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C19/00—Digital stores in which the information is moved stepwise, e.g. shift registers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本發明包含用於計算可啟動之快取記憶體之裝置及方法。一實例裝置包括一計算組件、一記憶體及耦合至該記憶體之一控制器。該控制器經組態以對一區塊選擇及一子列選擇操作作為至一快取線之元資料以控制該快取線在該記憶體中之放置以允許一計算可啟動之快取記憶體。
Description
本發明大體上係關於半導體記憶體及方法,且更特定言之,係關於用於計算可啟動之快取記憶體之裝置及方法。
記憶體器件通常提供為計算系統中之內部半導體積體電路。存在諸多不同類型之記憶體,包含揮發性記憶體及非揮發性記憶體。揮發性記憶體可需要電力以維持其資料(例如,主機資料、錯誤資料等)且包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、同步動態隨機存取記憶體(SDRAM)及閘流體隨機存取記憶體(TRAM)等。非揮發性記憶體可在未供電時藉由保持儲存資料而提供永久性資料,且可包含NAND快閃記憶體、NOR快閃記憶體及電阻可變記憶體(諸如相變隨機存取記憶體(PCRAM)、電阻性隨機存取記憶體(RRAM)及磁阻性隨機存取記憶體(MRAM),諸如自旋力矩轉移隨機存取記憶體(STT RAM))等。
計算系統通常包含若干處理資源(例如,一或多個處理器),其等可擷取並執行指令且將所執行指令之結果儲存至一適合位置。一處理資源(例如CPU)可包括若干功能單元,諸如算術邏輯單元(ALU)電路、浮點單元(FPU)電路及/或一組合邏輯區塊,例如,該等功能單元可用以藉由對資料(例如,一或多個運算元)執行諸如AND、OR、
NOT、NAND、NOR及XOR及反相(例如,反轉)邏輯運算之邏輯運算而執行指令。例如,功能單元電路可用以經由若干邏輯運算而對運算元執行諸如加法、減法、乘法及/或除法之算術運算。
在提供指令至功能單元電路以供執行時可涉及一計算系統中之若干組件。可例如藉由一處理資源(諸如一控制器及/或主處理器)執行該等指令。可將資料(例如,將對其執行指令之運算元)儲存於可由功能單元電路存取之一記憶體陣列中。可自該記憶體陣列擷取指令及/或資料,且可在功能單元電路開始對資料執行指令之前序列化及/或緩衝指令及/或資料。此外,因為可透過功能單元電路以一或多個時脈循環執行不同類型的運算,所以亦可序列化及/或緩衝該等指令及/或資料之中間結果。
在許多例項中,處理資源(例如,處理器及/或相關聯功能單元電路)可在記憶體陣列外部,且可經由處理資源與記憶體陣列之間的一匯流排存取資料以執行一指令集。可在一記憶體中處理器(PIM)器件中改良處理效能,其中可在一記憶體內部及/或在一記憶體附近(例如,直接在相同於記憶體陣列之一晶片上)實施一處理器。一記憶體中處理(processing-in-memory)器件可藉由減少及/或消除外部通信而節省時間,且亦可節約電力。
一典型快取架構(完全關聯式、集合關聯式或直接映射)使用由一處理資源產生之一位址之部分以定位一區塊在快取記憶體中之放置且可具有描述快取區塊之狀態之一些元資料(例如有效及已變更位元)。一最後級快取架構可基於3D積體記憶體,其中標記及元資料儲存於SRAM中之晶片上且區塊資料在快速存取DRAM中。在此一架構中,匹配使用晶片上SRAM標記而發生且記憶體存取由相對較快封裝上DRAM(相較於一脫離封裝解決方案)而加速。
100‧‧‧計算系統
110‧‧‧主機
111‧‧‧虛線
112‧‧‧邏輯資源
113-1至113-N‧‧‧快取記憶體
114‧‧‧位元介面
115‧‧‧快取控制器
118‧‧‧模組
120‧‧‧記憶體器件
120-1至120-N‧‧‧記憶體器件
121‧‧‧快取記憶體
121-0至121-6‧‧‧庫
121-1至121-7‧‧‧庫
123‧‧‧庫區段
123-1至123-N‧‧‧庫區段
125‧‧‧子陣列
125-1至125-N‧‧‧子陣列
126-0至126-1‧‧‧列
127-0至127-N‧‧‧快取區塊
130‧‧‧陣列
140‧‧‧控制器
140-0至140-6‧‧‧控制器
140-1至140-7‧‧‧控制器
141-1至141-N‧‧‧高速介面(HIS)
142‧‧‧位址電路
143‧‧‧通道控制器
144‧‧‧I/O電路
145-1至145-N‧‧‧庫仲裁器
146‧‧‧列解碼器
148‧‧‧寫入電路
149‧‧‧寫入路徑
150‧‧‧感測電路
150-5‧‧‧感測電路
152‧‧‧行解碼器
154‧‧‧控制匯流排
156‧‧‧資料匯流排
157‧‧‧帶外(OOB)匯流排
157-N‧‧‧帶外(OOB)匯流排
160‧‧‧快取線
161‧‧‧位址
162‧‧‧區塊選擇元資料資料結構
163‧‧‧子列選擇元資料資料結構
165‧‧‧匹配
167‧‧‧箭頭
169‧‧‧箭頭
170‧‧‧邏輯電路
171‧‧‧箭頭
190‧‧‧塊
202-1‧‧‧電晶體
202-2‧‧‧電晶體
203-1‧‧‧電容器
203-2‧‧‧電容器
204-X‧‧‧字線
204-Y‧‧‧字線
205-1‧‧‧資料線
205-2‧‧‧資料線
206‧‧‧感測放大器
207-1‧‧‧傳遞閘
207-2‧‧‧傳遞閘
211‧‧‧源電晶體
213‧‧‧邏輯運算選擇邏輯
214‧‧‧平衡電路
215‧‧‧鎖存器
224‧‧‧電晶體
225-1‧‧‧電晶體
225-2‧‧‧電晶體
226‧‧‧平衡(EQ)控制信號線
227-1‧‧‧n通道電晶體
227-2‧‧‧n通道電晶體
229-1‧‧‧p通道電晶體
229-2‧‧‧p通道電晶體
230‧‧‧記憶體陣列
231‧‧‧計算組件
250‧‧‧感測電路
264‧‧‧次要鎖存器
305-1‧‧‧感測線
305-2‧‧‧感測線
306‧‧‧感測放大器
307-1‧‧‧傳遞閘
307-2‧‧‧傳遞閘
313‧‧‧邏輯運算選擇邏輯
331‧‧‧計算組件
350-1‧‧‧閘極透過隔離電晶體
350-2‧‧‧閘極透過隔離電晶體
352‧‧‧邏輯選擇電晶體
354‧‧‧邏輯選擇電晶體
362‧‧‧邏輯選擇電晶體
364‧‧‧邏輯選擇電晶體
381‧‧‧右移位電晶體
382‧‧‧控制線
383‧‧‧控制線
386‧‧‧右移位電晶體
387‧‧‧反相器
388‧‧‧反相器
389‧‧‧左移位電晶體
390‧‧‧左移位電晶體
391‧‧‧控制線
392‧‧‧控制線
447‧‧‧列
476‧‧‧列
477‧‧‧列
478‧‧‧列
479‧‧‧列
480‧‧‧標頭
圖1A係根據本發明之若干實施例之呈包含一記憶體器件之一計算系統之形式之一裝置之一方塊圖。
圖1B係繪示具有一區塊選擇及子列選擇之一快取線之使用用於一陣列中之快取區塊之儲存及/或擷取之一方塊圖。
圖1C係繪示至一快取線之區塊選擇結構及子列選擇結構可經重複以允許一快取線在一快取區塊、陣列及/或記憶體器件內不同地分裂及放置之一方塊圖。
圖1D係根據本發明之若干實施例之呈包含一記憶體器件之一計算系統之形式之一裝置之另一方塊圖。
圖1E係根據本發明之若干實施例之一庫至一記憶體器件之一方塊圖。
圖1F係根據本發明之若干實施例之一庫至一記憶體器件之另一方塊圖。
圖2係繪示根據本發明之若干實施例之感測電路至一記憶體器件之一示意圖。
圖3係繪示根據本發明之若干實施例之感測電路至一記憶體器件之一示意圖。
圖4係繪示根據本發明之若干實施例之由圖3中所展示之一感測電路實施之可選擇邏輯運算結果之一邏輯表。
本發明包含用於計算可啟動之快取記憶體之裝置及方法,例如,如可經實施用於記憶體中處理(PIM)及/或3D快取積體記憶體。在一實例實施例中,提供一裝置,其具有一計算組件、一快取記憶體及耦合至該快取記憶體之一快取控制器。該快取控制器經組態以產生一區塊選擇作為至一快取線之元資料且產生一子列選擇作為至該快取線之元資料以提供一計算可啟動之快取記憶體。使一介面耦合於該快取
記憶體與該計算組件之間。在一實例實施例中,該介面包含矽穿孔(TSV),其使複數個記憶體晶粒連接至一邏輯晶粒作為一三維(3D)積體記憶體之部分。如本文中所使用,TSV可為整體或部分穿孔且包含除矽外之基板材料。
在另一實例實施例中,該裝置包括耦合至一主機之一記憶體器件。該記憶體器件可經由一匯流排(諸如一資料匯流排及/或一控制匯流排)而耦合至該主機。該記憶體器件包含一陣列之記憶體胞及耦合至該陣列之感測電路。在一實例中,該陣列可經由複數個感測線而耦合至該感測電路。該感測電路包含一感測放大器及經組態以實施邏輯運算之一計算組件。
一控制器(例如記憶體控制器)耦合至該陣列及感測電路。該控制器經組態以接收具有區塊選擇元資料及子列選擇元資料之一快取線以允許該記憶體器件作為一計算可啟動之快取記憶體而操作。該控制器進一步經組態以對該區塊選擇元資料及該子列選擇元資料操作以控制該陣列中之快取區塊之對準且允許一快取區塊放置於該陣列之多個不同列上。在一實施例中,該控制器經組態以儲存快取區塊於該陣列中且擷取快取區塊以使用該計算組件來執行邏輯運算。
根據一些實施例,上文所描述之該快取架構(例如,完全關聯式、集合關聯式或直接映射)可使用由一處理資源產生之一位址之部分來定位一資料區塊在快取記憶體中之該放置。在先前方法中,此位址可具有所包含之元資料(諸如有效及已變更位元)用於描述該快取區塊之一狀態,但該位址不含有任何元資料或標記用於依對該主處理器透明之一方式之該快取區塊在不同對準或多個不同位置中之放置以促進或提供一計算可啟動之快取記憶體。特定言之,該等快取線不依可利用一記憶體中處理(PIM)器件之該計算能力之一方式而建構。
本文中所描述之改良藉由提供一快取控制器而克服此等障礙,
該快取控制經組態以產生一區塊選擇作為至一快取線之元資料且產生一子列選擇作為至該快取線之元資料。
在本發明之以下實施方式中,參考形成本發明之一部分且其中藉由繪示展示本發明之一或多個實施例可如何實踐之隨附圖式。足夠詳細描述此等實施例以使一般技術者實踐本發明之實施例,且應理解,可在不脫離本發明之範疇之情況下利用其他實施例且做出程序、電及/或結構改變。如本文中所使用,諸如「N」、「M」等之標示符(尤其關於圖式中之元件符號)指示:可包含如此指定之若干特定特徵。如本文中所使用,「若干」特定事物可係指此等事物之一或多者(例如,若干記憶體陣列可係指一或多個記憶體陣列)。「複數個」旨在指代一個以上此等事物。
本文中之圖遵循一編號慣例,其中首位或前幾位數字對應於圖式圖號且剩餘數字識別圖式中之一元件或組件。可藉由使用類似數字而識別不同圖之間之類似元件或組件。例如,206可指涉圖2中之元件「06」,且一類似元件可在圖3中指涉為306。應瞭解,可添加、交換及/或消除本文中在各種實施例中所展示之元件以便提供本發明之若干額外實施例。此外,應瞭解,圖中所提供元件之比例及相對尺度意欲繪示本發明之某些實施例,而不應被視為意指限制。
圖1A係根據本發明之若干實施例之呈包含一記憶體器件之一計算系統的形式之一裝置之一方塊圖。如圖1A中所展示,一主機110可包含一處理資源,諸如邏輯資源112。如本文中所使用,一邏輯資源(亦有時指稱「邏輯層」或僅僅「邏輯」)意欲意謂韌體(例如呈微碼指令之形式)及/或硬體(諸如,電晶體電路及/或一或多個專用積體電路(ASIC))。在至少一實施例中,邏輯資源112可包含一靜態隨機存取記憶體(SRAM)記憶體於邏輯資源112上。如在圖1A之實例實施例中所展示,邏輯資源112可在主機110上耦合至主機110上之一快取記憶體
113,例如封裝上(亦指稱晶片上及/或晶粒上),諸如在一3D積體記憶體中。邏輯資源112可經由一寬的(例如256)位元介面(介面114)而耦合至快取記憶體113。此介面可包含矽穿孔(TSV)作為具有堆疊於一邏輯晶粒上之多個記憶體晶粒之一3D積體記憶體之部分。
在一或多個實施例中,快取記憶體113(展示為與圖1A中之主機相關聯)可具有呈複數個陣列、記憶體層、庫、庫區段、子陣列、列等之形式之一複本器於一記憶體器件120之一陣列130中之若干經分配位置中之記憶體器件120上。替代地,記憶體器件120之全部或至少一部分可經替代作為具有主機110上之邏輯資源112之封裝上之快取記憶體113。實施例不受限於此。在至少一實施例中,快取記憶體113之一部分及/或陣列130中之該若干經分配位置可用作一最後層快取(LLC)部分。根據實施例,具有及/或能夠對子列選擇元資料及區塊選擇元資料操作之一LLC(如下文進一步描述)可控制區塊資料對準且可減小快取記憶體之一整體資料大小,無論在一3D積體記憶體晶片或在一單獨記憶體中處理隨機存取記憶體(PIMRAM)器件(例如記憶體器件120)中。
如圖1A中所展示,一快取控制器115可使用韌體(例如微碼指令)及/或硬體(例如一專用積體電路(ASIC))。根據實施例,由快取控制器115使用之韌體及/或硬體經組態以產生一區塊選擇作為至一快取線之元資料且產生一子列選擇作為至該快取線之元資料(如更加詳細展示於圖1B中)。在一實施例中,該區塊選擇啟用至該快取線之一偏移且該子列選擇啟用多個組至一集合關聯式快取。在一實施例中,該區塊選擇提供至一動態隨機存取記憶體(DRAM)中之一頁之一偏移。
快取控制器115可提供具有該區塊選擇元資料及該子列選擇元資料之快取線至記憶體器件120之陣列130中之該若干經分配位置以提供一計算可啟動之快取記憶體於記憶體器件120上。替代地,在一3D積
體記憶體晶片實例中,記憶體庫可具有獨立TSV路徑(例如主機110上之介面114)至其中且可明確地由快取控制115控制。具有子列選擇元資料及區塊選擇元資料之快取區塊(如圖1B中更多繪示及描述)可自邏輯資源112中之一SRAM移動至DRAM中之快取記憶體中,例如作為主機110上之一3D積體快取記憶體113之部分或至一PIMRAM 120上之陣列130中之若干經分配位置。在各種實例實施例中,該等快取區塊之放置可使用由快取控制器115產生且添加至快取線之該子列選擇元資料資料結構及該區塊選擇元資料資料結構而控制。
如本文中所使用,一「快取區塊」意欲意謂使用於一快取記憶體功能中之記憶體中之一可定址區域。一可定址快取區塊可包含一或多個可定址快取線。因此。一可定址快取線可具有等於一快取區塊之一可定址位元寬度之一位元寬度,但一快取區塊可包含一個以上可定址快取線。另外,一快取區塊可具有小於該快取線之一可定址位元長度之一可定址位元寬度,諸如如下文更加詳細描述之該快取區塊內之一可定址「塊」。
例如,根據一給定器件上之一特定快取架構,一快取線可經組態以具有128個位元組之一位元長度。該特定器件或另一器件(例如記憶體器件120)上之一可定址快取區塊亦可具有128個位元組之一可定址位元寬度。如下文進一步詳細描述,根據各種實施例提供區塊選擇元資料資料結構,其等啟用該128個位元組位元長度之全部及/或一部分至該快取線之一選擇,例如整個128個位元組及/或具有具有僅256位元、64位元等之一較小位元長度(本文指稱一「塊」)之一部分。實施例不受限於此。
在至少一實施例中,由快取控制器115產生之該區塊選擇元資料資料結構及該子列選擇元資料資料結構係在該計算可啟動之快取記憶體內部使用之資料結構,例如經儲存及經維持於該主機上之快取控制
器115與快取記憶體113之間或在陣列130中之該若干經分配位置與PIMRAM 120上之一控制器140之間。例如,該子列選擇元資料資料結構及該區塊選擇元資料資料結構不必經儲存、經維持或經追蹤為至主機110上之邏輯資源112之一位址之部分。依此方式,記憶體器件120上之快取控制器115及/或控制器140由執行指令及/或執行邏輯運算之韌體及/或硬體組態以能夠改變該區塊選擇及該子列選擇且將對邏輯資源112透明之該快取區塊資料重新定位於主機110上。然而,在其他實施例中,快取控制器115可另外經組態以儲存並維持具有邏輯資源112之該區塊選擇元資料結構及該子列選擇元資料結構之一複本於主機110上。
圖1B係繪示具有一區塊選擇及子列選擇之一快取線之使用用於一陣列中之快取區塊之儲存及/或擷取之一方塊圖。如圖1B之實例圖解說明中所展示,圖1A中所描述之快取控制器115及/或控制器140可由執行指令及/或執行邏輯運算之韌體及/或硬體組態以產生一區塊選擇162資料結構及一列選擇163資料結構以插入於一快取線160中。
如圖1B中所展示,可根據一主機110或其他器件(例如記憶體器件120)之一快取記憶體架構而提供包含一標記及一偏移之一位址161。該所接收位址可相較於一快取線160(例如相較於直接映射標記),用於指示快取記憶體中之一位置之一或多個匹配165(一般由箭頭171展示)以定位該快取線。然而,根據本文中所描述之實施例,一控制器(例如快取控制器115及/或控制器140)可將額外區塊選擇162元資料資料結構及列選擇163元資料資料結構插入至快取線160中,快取線160可用以規定一特定快取區塊127-0、......、127-N(由箭頭167展示)及/或與該特定快取區塊有關之一特定列(由箭頭169展示)。例如,一特定快取區塊(例如區塊127-5)可使用區塊選擇元資料162而選擇。進一步言之,一特定列(例如,列126-0、列126-1等)可使用列選擇元資料
163選擇以使一特定位元向量、塊及/或區塊線資料對準至一陣列之感測電路150/感測電路對準130/150中之一特定計算組件(例如150-5),例如,根據如結合圖2及圖3更加詳細描述之一特定數位線/計算組件對準。
如所提及,區塊選擇元資料資料結構162可提供至該快取線之一偏移且用作至DRAM中之一頁之一偏移。因而,區塊選擇元資料162可用以控制快取區塊在主機110上之快取記憶體113中之一陣列內之對準(如圖1A中所展示)或可由控制器140使用來控制記憶體器件120中之陣列130內之快取區塊之對準。子列選擇元資料163可啟用多個組於一集合關聯式快取中且可控制一快取區塊之放置,使得一經複製及/或分裂快取線及/或快取區塊可放置於主機上之快取記憶體113中之一陣列或記憶體器件120上之陣列130中之多個不同列上。
如本文中所使用,集合關聯式快取係指直接映射快取(例如,其中各區塊經準確映射至一位置)及完全關聯式快取(例如,其類似於直接快取映射但允許一快取區塊映射至任何快取位置)之組合。在集合關聯式快取中,各快取區塊經映射至一子集快取位置。因此,根據實施例,術語「多個組」意欲意謂該子列選擇元資料可允許一快取線及/或快取區塊經分裂及/或經複製,使得該分裂快取線及/或分裂區塊可放置於快取位置之多個不同子集中以達成一特定對準。例如,子列選擇元資料資料結構163允許一給定快取線放置於多個不同列上。如圖1B中所展示,子列選擇元資料資料結構163可經添加作為一標記之一部分。如本文中所使用,至一快取線之一「標記」意欲意謂一唯一識別符用於該快取記憶體中之一群組之資料。元資料(如本文中所使用)意欲意謂用作其與其相關聯之額外資訊之一或多個額外位元,例如描述其他資料之資料。
圖1B繪示包含元資料及標記以及快取區塊資料之一實例1K(一千
位元)快取線160。根據本文中所描述之實施例,額外區塊選擇元資料162及子列選擇元資料163(例如,如可由快取控制器115產生)經插入至(如由「箭頭」展示)快取線160中。區塊選擇元資料資料結構162及子列選擇元資料資料結構163有利地對依若干方式而提供一計算可啟動之快取記憶體於一主機110及/或一記憶體器件120上做貢獻。
例如,在一典型快取架構或甚至具有3D積體記憶體中,一DRAM將存取比所需顯著更多之資料。例如,使用具有TSV之一3D積體記憶體,具有256個位元之一快取請求可致使一DRAM存取達16K+個行(16,000+位元)。若此256個快取請求將達具有僅128個位元組之一位元寬度之一快取記憶體系統,則具有256個位元之快取請求將僅使用功率及發信號時間來存取具有具有128個位元組之一位元寬度之一列。致使一DRAM存取一全16K+個行(16K+個位元)可比存取具有僅具有128個位元組之一位元寬度之一列於一128個位元組快取記憶體架構中顯著地耗功率及發信號時間。
因此,根據本發明之實施例,一區塊選擇元資料資料結構162可選擇性地控制位元之相同16+千位元寬列之部分存取,例如由匹配選擇「箭頭」167所展示。在此實例中,箭頭167繪示用以選擇一特定快取區塊127-0、......、127-N於快取記憶體121(例如主機110上之快取記憶體113中或圖1A中之記憶體器件120上之一陣列130中之若干位置中)之區塊選擇元資料162存取。藉由實例且不藉由限制,一快取控制器115、邏輯資源112、控制器140(下方)或其他計算組件(例如,下文所描述之感測電路)可存取本文中所描述之元資料資料結構(例如,區塊選擇162及子列選擇163)且操作以比較其中之資訊(例如位元(旗標)或在一多個位元情況中之其他值)與一參考位元或位元值以判定一邏輯動作或隨後動作。
在圖1B中,快取記憶體121中之該陣列可為一DRAM庫,其係
16k行寬。在至陣列121之一DRAM庫內可存在複數個庫區段123且各庫區段123可具有一特定數目個列(例如,一庫區段123可具有512列)。藉由圖解說明且不藉由限制,圖1B展示複數個區塊127-0、......、127-N跨一16K+行寬庫區段123。該庫區段中之一區塊127-0、......、127-N可具有一1K+行寬,例如經組態以實質上在位元長度上等於一1K+位元長度快取線(例如快取線160)之一寬度。因此,區塊選擇元資料162可由一快取控制器115及/或一控制器140使用於一PIM能力器件中以選擇位元之一整個16K+位元寬列之哪一部分存取,等於一快取線位元長度。例如,根據各種實施例,區塊選擇元資料162可用以選擇一128個位元組位元長度快取線之全部及/或一部分,例如整個128個位元組及/或具有一較小位元長度之一部分。
在一實例中,區塊選擇元資料162可用以選擇一較小位元長度,例如一256位元塊。選擇該較小位元長度(例如等於一256位元塊)之目的可為匹配至一特定介面(例如一256位元介面(在圖1A中,114))之一位元寬度與一16K+行記憶體陣列。此可(例如)提供甚至進一步細微性至一16K+行寬DRAM列存取。在此實例中,區塊選擇元資料162可為六(6)位元寬以選擇一256位元塊。在一進一步實例中,區塊選擇元資料162資料結構可為八(8)位元寬以提供進一步細微性且存取一256位元塊內之一64位元值。如本文中所使用,術語「塊」意欲係指取決於一特定設計實施方案之一快取區塊之一較小位元長度部分。例如,一快取區塊可具有128位元組之一位元長度且在一特定設計實施方案中之一「塊」可具有一較小經界定位元長度(例如256位元、64位元等等)。
如在本發明中之下文將進一步顯而易見,此精細選擇能力可用於其中需要對準向量以執行處理之一基於記憶體中處理(PIM)之記憶體器件。在一實例中,各快取線可經處理為具有一或多個向量且一向
量可具有複數個元素,其具有多個表示數值之位元。例如,一向量可具有四個(4)64位元值,例如數值。各64位元值可為在一邏輯運算中至一向量之一元素。該向量或該等個別元素可經處理為如本文中所描述之一「塊」。區塊選擇元資料162可用以控制此一「塊」(例如,向量及/或至一向量之元素)在一陣列、子陣列等中之對準。
進一步言之,額外子列選擇元資料資料結構163(例如,如由快取控制器115產生)可插入至(如由「箭頭」所展示)快取線160中且用以選擇哪一列(例如,一子陣列中之哪一列)存取。如圖1B中所展示,子列選擇元資料結構163可添加至快取線160中之該等標記之一部分。例如,一四(4)位元子列選擇資料結構163將允許針對一給定快取區塊127-0、......、127-N之在一DRAM陣列(例如,在一16列子陣列內)中之十六(16)列之一(1)之一選擇。此等列將被分配且該快取記憶體(例如,主機上之快取記憶體113或圖1A中之記憶體器件120上之陣列130中之該若干經分配位置)可自由存取。因此,子列選擇元資料163展示於圖1B之實例中用以選擇(例如,在箭頭169處)一列於子陣列125中。子列選擇元資料163亦可用以選擇一特定元件被放置於哪一子陣列中作為一資源分配。
圖1C係繪示至一快取線之區塊選擇資料結構及子列選擇資料結構用以使一快取線160分離成塊190之一方塊圖。如上文所描述,一塊可具有小於一整體快取線之位元長度或一DRAM陣列中之快取區塊寬度(例如,圖1B中所展示之區塊127-0、......、127-N)之一位元長度。至一塊之該不同選定位元寬度可取決於一特定設計實施方案。在一實施例中,選擇一塊具有256位元之一位元寬度來匹配一特定介面帶寬之一寬度,例如圖1A中之介面114,亦具有256位元之一位元寬度。在圖1C中所展示之此實例中,可存在四(4)塊(例如,塊0、......、塊N)190於一1K+位元寬快取線160中。如圖1C中所展示且如上文所討
論,區塊選擇(BS)元資料資料結構162可用作至快取線160之一偏移以選擇一特定塊(例如,塊0)於一給定快取線160中。
另外,子列選擇(SRS)元資料資料結構163可用以允許一給定快取線160放置於一陣列、庫、庫區段、子陣列等等中之一快取區塊(例如區塊區塊127-0、......、127-N)中之多個不同列上,如圖1B中所展示。因此,圖1C之實例實施例繪示區塊選擇元資料資料結構162及子列選擇元資料資料結構163可經重複已允許一快取線在一快取區塊、陣列及/或記憶體器件內不同地分裂及放置。子列選擇元資料資料結構163允許多個放置垂直且啟用接合資料項目,其等可需要經組合,(例如)於一基於PIM之器件中。因此,根據實施例,添加該兩個額外元資料資料結構、區塊選擇及子列選擇可控制該對準(區塊選擇)及資源分配(子列選擇)來提供一計算可啟動之快取記憶體。
上文所描述之優點可甚至進一步利用於一基於PIM之器件中。特定言之,區塊對準及資源分配之額外能力可利用於一基於PIM之動態隨機存取記憶體(PIMRAM)中。例如,本文中所描述之實施例可額外使用於一PIMRAM中以提供一計算可啟動之快取能力於該PIMRAM上。
為繪示之故,圖1A額外展示一主機110至一記憶體器件120之耦合。具有區塊選擇162元資料資料結構及子列選擇元資料資料結構之一快取線可儲存於可快速存取動態隨機存取記憶體(DRAM)中且可由至一PIMRAM之控制器140及/或感測電路150操作。接著,此提供一有效方法,其提供具有自變數之大量指令至該DRAM且接著使用低延遲路由彼等指令至一嵌入處理引擎(例如,該DRAM之控制器140及/或感測電路150),同時為該DRAM保存協定、邏輯及電介面。因此,本文中所描述之實施例可促進以一標準寬度及資料速率保持該A/C匯流排,減少該PIMRAM之「特定」設計之任何量,且亦使該PIMRAM與
各種計算器件中之現有記憶體介面更加相容。
先前方法(諸如3D積體記憶體)可能已經包含一晶片上SRAM,但不提供機會以使一計算組件之元件對準感測電路150,如用於處理一PIMRAM中之位元向量所需。根據各種實施例,PIM運算可涉及基於位元向量之運算。如本文中所使用,術語「位元向量」旨在意謂一位元向量運算能力記憶體器件(例如PIM器件)上之實體鄰接(在一記憶體胞陣列中之列(例如,水平定向)或行(例如,垂直定向)中實體鄰接)數目個位元。因此,如本文中所使用,一「位元向量運算」旨在意謂對一位元向量執行之一運算,該位元向量係例如由一PIM器件使用之虛擬位址空間之一鄰接部分(亦稱為「塊」)。例如,虛擬位址空間之一塊可具有256個位元之一位元長度。一塊可或可不與該虛擬位址空間中之其他塊實體鄰接。
例如,在一PIMRAM中之一邏輯除法運算中,可除以包括可變位元長度向量之位元向量。此可包含具有可變長度元素之一第二向量除以具有可變長度元素之一第一向量。該第一向量可表示若干被除數且可儲存於耦合至一陣列中之一第一存取線及若干感測線之一群組之記憶體胞中。該第二向量可表示若干除數且儲存於耦合至該陣列中之一第二存取線及該若干感測線之一群組之記憶體胞中。該除法運算可包含在無需經由一輸入/輸出(I/O)線而傳送資料之情況下執行之若干「與」運算、「或」運算、「移位」運算及「反相」運算。在此實例中,一第一元素及一第二元素可為彼此相除之數值。相除之元素可指稱一除法運算之運算元。該等元素可為可作為位元向量而儲存於記憶體中且擷取至及儲存於一最後層快取(LLC)、在該PIMRAM中等效之DRAM中以根據本發明之實施例而操作之數值。
如下文更詳細描述,實施例可允許一主機系統分配複數個DRAM庫中之若干位置(例如,子陣列或子陣列之部分)至快取區塊。該主系
統及/或該PIMRAM可執行位址解析用於一整體快取區塊上之一快取線,包含區塊選擇元資料資料結構162及子列選擇元資料資料結構163之添加。快取線160及快取區塊127-0、......、127-N可接著被寫入至一目標庫內之該等經分配指令位置中,例如,子陣列。命令可利用正常DRAM寫入路徑至該DRAM器件。在該等快取線及該等快取區塊被寫入至該等儲存位置中(例如子陣列)之後,一DRAM庫控制器(例如記憶體控制器)可依等效於在圖1A中之一主機(例如110)上之一最後層快取(LLC)之運算之一方式而擷取並對快取線160及快取區塊127-0、......、127-N操作。該記憶體控制器將拉動來自該等儲存子陣列之快取區塊資料作為必要處理指令區塊所含有之分支、迴路、邏輯及資料運算、快取該等指令且再次填充該LLC快取(根據需要)。如讀者將瞭解,雖然本文中用實例論述一DRAM式PIM器件,但實施例不限於一DRAM記憶體中處理器(PIM)實施方案。
為瞭解經改良程式指令技術,用於實施此等技術之一裝置、具有PIM能力之一記憶體器件及相關聯主機之一論述如下。根據各種實施例,涉及具有PIM能力的一記憶體器件之程式指令(例如,PIM命令)可將PIM命令之實施分佈在多個感測電路上方,該等感測電路可實施邏輯運算且可將PIM命令儲存於記憶體陣列內,例如不必用一主機經由記憶體器件之一A/C匯流排來回傳送該等PIM命令。因此,涉及具有PIM能力之一記憶體器件之PIM命令可以較少時間且使用較少電力完成。藉由減少在一計算系統周圍移動以處理所請求之記憶體陣列操作(例如,讀取、寫入等)之資料量,可實現某一時間及電力優點。
與先前系統(諸如先前PIM系統)及具有一外部處理器之系統(例如,定位於一記憶體陣列外部(諸如在一單獨積體電路晶片上)之一處理資源)相比,本發明之若干實施例可提供與執行計算功能相關聯之經改良平行性及/或降低的電力消耗。例如,若干實施例可提供執行
充分完整的計算功能,諸如整數加法、減法、乘法、除法及CAM(內容可定址記憶體)功能,而例如不經由一匯流排(例如,資料匯流排、位址匯流排、控制匯流排)將資料傳送出記憶體陣列及感測電路。此等計算功能可涉及執行若干邏輯運算(例如,諸如AND、OR、NOT、NOR、NAND、XOR等之邏輯函數)。然而,實施例不受限於此等實例。例如,執行邏輯運算可包含執行若干非布林(Boolean)邏輯運算,諸如複製、比較、破壞等。
在先前方法中,可(例如,經由包括輸入/輸出(I/O)線之一匯流排)將資料自陣列及感測電路傳送至諸如一處理器、微處理器及/或計算引擎之一處理資源,該處理資源可包括經組態以執行適當邏輯運算之ALU電路及/或其他功能單元電路。然而,將資料自一記憶體陣列及感測電路傳送至此(等)處理資源可涉及大量電力消耗。即使處理資源定位於與記憶體陣列相同之一晶片上,在將資料移出陣列而至計算電路(此可涉及執行一感測線(在本文中可稱為一數位線或資料線)位址存取(例如,一行解碼信號之觸發(firing))以將資料自感測線傳送至I/O線(例如,本地I/O線)上;將資料移動至陣列周邊;及將資料提供至計算功能)時仍可消耗大量電力。
此外,該(等)處理資源(例如計算引擎)之電路可不符合與一記憶體陣列相關聯之節距規則。例如,一記憶體陣列之胞可具有一4F2或6F2胞大小,其中「F」係對應於胞之一特徵大小。因而,與先前PIM系統之ALU電路相關聯之器件(例如邏輯閘)可無法形成於與記憶體胞之間距上,此可影響例如晶片大小及/或記憶體密度。本發明之若干實施例包含形成於與一記憶體胞陣列之間距上且能夠在記憶體胞陣列本地執行諸如集中及分散操作之計算功能之感測電路。
圖1A及圖1D係根據本發明之若干實施例之呈具有一記憶體器件120之一計算系統100之形式之一裝置之方塊圖。主機110、邏輯112、
快取記憶體113及快取控制器已在上文詳細討論。圖1A中所展示之記憶體器件120可包含一控制器140(例如記憶體控制器)、一通道控制器143、一庫仲裁器145、一高速介面(HIS)141、具有感測電路150及/或邏輯電路170之一記憶體陣列130。如本文中所使用之此等之各者亦可為單獨稱作一「裝置」。
圖1A及圖1D展示系統100包含耦合(例如連接)至記憶體器件120之一主機110,其包含一記憶體陣列130。主機110可為一主機系統,諸如一個人膝上型電腦、一桌上型電腦、一數位相機、一智慧型電話或一記憶卡讀取器,以及各種其他類型的主機。主機110可包含一系統主機板及/或背板且可包含若干處理資源(例如,一或多個處理器、微處理器或某一其他類型之控制電路)。系統100可包含個別積體電路,或主機110及記憶體器件120兩者可在相同積體電路上。系統100可為(例如)一伺服器系統及/或一高效能計算(HPC)系統及/或該高效能計算(HPC)系統之一部分。儘管圖1A及圖1D中所示之實例繪示具有一範紐曼(Von Neumann)架構之一系統,然本發明之實施例可以非範紐曼架構實施,其可不包含通常與一範紐曼架構相關聯之一或多個組件(例如,CPU、ALU等)。
記憶體陣列130可為(例如)一DRAM陣列、SRAM陣列、STT RAM陣列、PCRAM陣列、TRAM陣列、RRAM陣列、NAND快閃陣列及/或NOR快閃陣列。陣列130可包括配置成由存取線(本文中可稱為字線或選擇線)耦合之列及由感測線(本文中可稱為資料線或數位線)耦合之行之記憶體胞。儘管圖1中展示一單一陣列130,然實施例不受限於此。例如,記憶體器件120可包含若干陣列130(例如,若干DRAM胞庫、NAND快閃胞庫等)。
記憶體器件120包含用以鎖存經由一資料匯流排156(例如,一I/O匯流排)透過I/O電路144提供之位址信號之位址電路142。狀態及/或例
外資訊可自記憶體器件120上之控制器140提供至一通道控制器143(包含一帶外匯流排157),繼而可自記憶體器件120提供至主機110。透過位址電路142接收位址信號,且藉由一列解碼器146及一行解碼器152解碼位址信號以存取記憶體陣列130。可提供陣列130之若干經指定部分以接收並儲存具有子列選擇元資料資料結構163及區塊選擇元資料資料結構162之計算可啟動之快取線。可藉由使用感測電路150感測資料線上之電壓及/或電流變化而自記憶體陣列130讀取資料。感測電路150可自記憶體陣列130讀取及鎖存一資料頁(例如,列)。I/O電路144可用於經由資料匯流排156與主機110進行雙向資料通信。寫入電路148用以將資料寫入至記憶體陣列130。
控制器140(例如記憶體控制器)可解碼由控制匯流排154自主機110提供之信號。此等信號可包含用以控制對記憶體陣列130執行之控制操作(包含資料讀取、資料寫入及資料抹除操作)之晶片啟用信號、寫入啟用信號及位址鎖存信號。在各種實施例中,控制器140負責執行來自主機110之指令。控制器140可為一狀態機、一定序器或某一其他類型之控制器。控制器140可控制一陣列(例如,記憶體陣列130)中之移位資料(例如,右或左)。
下文進一步描述感測電路150之實例。例如,在若干實施例中,感測電路150可包括若干感測放大器及若干計算組件,其可用作且在本文中稱為一累加器且可用以(例如,對與互補資料線相關聯之資料)執行邏輯運算。
在若干實施例中,感測電路150可用以使用儲存於陣列130中之資料作為輸入而執行邏輯運算,且將邏輯運算之結果儲存回至陣列130而不經由一感測線位址存取傳送資料(例如,不觸發一行解碼信號)。因而,各種計算功能可使用感測電路150且在感測電路150內執行,而非(或結合)藉由感測電路外部之處理資源(例如,藉由與主機
110相關聯之一處理器及/或定位於器件120上(例如,在控制器140上或別處)之其他處理電路,諸如ALU電路)執行。
在各種先前方法中,例如與一運算元相關聯之資料將經由感測電路自記憶體讀取且經由I/O線(例如,經由本地I/O線及/或全域I/O線)提供至外部ALU電路。外部ALU電路可包含若干暫存器且將使用運算元執行計算功能,且結果將經由I/O線傳送回至陣列。相比之下,在本發明之若干實施例中,感測電路150經組態以對儲存於記憶體陣列130中之資料執行邏輯運算且將結果儲存回至記憶體陣列130,而不啟用耦合至感測電路150之一I/O線(例如,一本地I/O線)。感測電路150可形成於與陣列之記憶體胞之間距上。邏輯電路170可耦合至感測電路150且可包含額外周邊感測放大器、暫存器、快取記憶體及/或資料緩衝器來儲存、快取及/或緩存本文中所描述之運算之結果。
因而,在若干實施例中,陣列130及感測電路150外部之電路不必執行計算功能,此係因為感測電路150可執行適當邏輯運算以執行此等計算功能,而無需使用一外部處理資源。因此,感測電路150可用以至少在某種程度上補充及/或取代此一外部處理資源(或至少此一外部處理資源之頻寬消耗)。事實上,一旦控制器140接收並對具有區塊選擇162元資料結構及子列選擇163元資料結構之一快取線160操作,陣列130及感測電路可根據實施例用作一計算可啟動快取記憶體。
然而,在若干實施例中,感測電路150可用以執行除由一外部處理資源(例如,主機110)執行之邏輯運算外之邏輯運算(例如,以執行指令)。例如,主機110及/或感測電路150可限於僅執行特定邏輯運算及/或特定數目個邏輯運算。
啟用一I/O線可包含啟用(例如,接通)具有耦合至一解碼信號(例如,一行解碼信號)之一閘極及耦合至該I/O線之一源極/汲極之一電晶
體。然而,實施例不限於不啟用一I/O線。例如,在若干實施例中,感測電路(例如,150)可用以執行邏輯運算而不啟用陣列之行解碼線;然而,除傳送回至陣列130之外,可啟用(若干)本地I/O線以將一結果傳送至一適合位置(例如,至一外部暫存器)。
圖1D係根據本發明之若干實施例之呈包含經由一通道控制器143耦合至一主機110之複數個記憶體器件120-1、...、120-N之一計算系統100的形式之另一裝置架構之一方塊圖。在至少一實施例中,通道控制器143可按一整合方式以一模組118之形式耦合至複數個記憶體器件120-1、...、120-N,例如,形成於與複數個記憶體器件120-1、...、120-N之相同晶片上。在一替代實施例中,通道控制器143可與主機110整合(如由虛線111繪示),例如形成於與複數個記憶體器件120-1、...、120-N之晶片分開之一晶片上。通道控制器143可經由一控制匯流排154(如圖1A中所描述)耦合至複數個記憶體器件120-1、...、120-N之各者,其繼而可耦合至主機110。如圖1A中所描述,通道控制器143亦可經由一資料匯流排156耦合至複數個記憶體器件120-1、...、120-N之各者,其繼而可耦合至主機110。另外,通道控制器143可經由與一高速介面(HSI)141相關聯之一帶外(OOB)匯流排157耦合至複數個記憶體器件120-1、...、120-N之各者,該高速介面(HSI)141經組態以將狀態、例外及其他資料資訊報告至通道控制器143以與主機110交換。
如圖1D中所示,通道控制器143可自與複數個記憶體器件120-1、...、120-N之各者中之一庫仲裁器145相關聯之一高速介面(HSI)(在本文中亦指稱一狀態通道介面)141接收狀態及例外資訊。在圖1B之實例中,複數個記憶體器件120-1、...、120-N之各者可包含用以定序關於複數個庫(例如,Bank零(0)、Bank一(1)、...、Bank六(6)、Bank七(7)等)之控制及資料之一庫仲裁器145。複數個庫Bank
0、...、Bank 7之各者可包含一控制器140及其他組件,包含一記憶體胞陣列130及感測電路150、邏輯電路170等,如結合圖1A描述。
例如,複數個記憶體器件120-1、...、120-N中之複數個庫(例如,Bank 0、...、Bank 7)之各者可包含用以鎖存經由一資料匯流排156(例如,一I/O匯流排)透過I/O電路144提供之位址信號之位址電路142。狀態及/或例外資訊可使用OOB匯流排157自記憶體器件120上之控制器140提供至通道控制器143,繼而可自複數個記憶體器件120-1、...、120-N提供至主機110。對於複數個庫(例如,Bank 0、...、Bank 7)之各者,可透過位址電路142接收位址信號,且藉由一列解碼器146及一行解碼器152解碼位址信號以存取記憶體陣列130。可藉由使用感測電路150感測資料線上之電壓及/或電流變化而自記憶體陣列130讀取資料。感測電路150可自記憶體陣列130讀取及鎖存一資料頁(例如,列)。I/O電路144可用於經由資料匯流排156與主機110進行雙向資料通信。寫入電路148用以將資料寫入至記憶體陣列130,且OOB匯流排157可用以將狀態、例外及其他資料資訊報告至通道控制器143。
通道控制器143可包含一或多個局部緩衝器以儲存程式指令,且可包含邏輯160以分配各各自庫之陣列中之複數個位置(例如,子陣列或子陣列之部分)以儲存與複數個記憶體器件120-1、...、120-N之各者之操作相關聯之各個庫之庫命令及引數(PIM命令)。通道控制器143可分派命令(例如PIM命令)至複數個記憶體器件120-1、......、120-N以將彼等程式指令儲存於一記憶體器件之一給定庫內。
如上文結合圖1A所描述,記憶體陣列130可為例如一DRAM陣列、SRAM陣列、STT RAM陣列、PCRAM陣列、TRAM陣列、RRAM陣列、NAND快閃陣列及/或NOR快閃陣列。陣列130可包括配置成由存取線(本文中可稱為字線或選擇線)耦合之列及由感測線(本文中可稱
為資料線或數位線)耦合之行之記憶體胞。
如圖1A中,與一給定記憶體器件120-1、...、120-N中之任何特定庫Bank 0、...、Bank 7相關聯之一控制器140(例如,庫控制邏輯及/或定序器)可解碼由控制匯流排154自主機110提供之信號。此等信號可包含用以控制對記憶體陣列130執行之控制操作(包含資料讀取、資料寫入及資料抹除操作)之晶片啟用信號、寫入啟用信號及位址鎖存信號。在各種實施例中,控制器140負責執行來自主機110之指令。且如上文,控制器140可為一狀態機、一定序器或某一其他類型之控制器。例如,控制器140可控制一陣列(例如,記憶體陣列130)中之移位資料(例如,右或左)。
圖1E係根據本發明之若干實施例之一記憶體器件之一庫121-1之一方塊圖。即,庫121-1可表示一記憶體器件之一例示性庫,諸如圖1B中所示之Bank 0、...、Bank 7(121-0、...、121-7)。如圖1B中所示,一庫架構可包含複數個主記憶體行(水平展示為X),例如在一例示性DRAM庫中16,384個行。另外,庫121-1可分成由用於一資料路徑之放大區域分離之區段123-1、123-2、...、123-N。庫區段123-1、...、123-N之各者可包含複數個列(垂直展示為Y),例如,在一例示性DRAM庫中各區段可包含16,384個列。庫區段123-1、......、123-N之一或多者可包含若干位置,經組態以接收並儲存如圖1B中所展示之計算可啟動快取區塊(例如127-0、......、127-N),具有子列選擇元資料資料結構及區塊選擇元資料資料結構。例示性實施例不限於此處描述之行及列之例示性水平及/或垂直定向或其之例示性數目。
如圖1E中所示,庫架構可包含耦合至庫區段123-1、...、123-N之邏輯電路170,諸如感測放大器、暫存器、快取及資料緩衝。邏輯電路170可提供快取(諸如,與圖1A中所展示之感測電路150及陣列130相關聯之邏輯電路170)之另一形式。進一步言之,如圖1E中所展示,該
庫架構可與庫控制(例如控制器140)相關聯。在實例中,圖1E中所示之庫控制可表示由圖1A及圖1D中所示之控制器140具體實施且包含於該控制器140中之功能性之至少一部分。
圖1F係根據本發明之若干實施例之一記憶體器件之一庫121之另一方塊圖。例如,庫121可表示一記憶體器件之一例示性庫,諸如圖1D中所示之Bank 0、...、Bank 7(121-0、...、121-7)。如圖1F中所示,一庫架構可包含耦合控制器140之一控制匯流排154。再者,圖1F中所示之控制器140可(例如)表示由圖1A及圖1D中所示之控制器140具體實施且包含於該控制器140中之功能性之至少一部分。亦如圖1F中所示,該庫架構可包含一資料匯流排156,其耦合至一指令(例如,程式指令(PIM命令))讀取路徑151中之複數個控制/資料暫存器且耦合至一特定庫121中之複數個庫區段(例如,庫區段123)。
如圖1F中所示,一庫區段123進一步可細分成複數個子陣列125-1、125-2、...、125-N,其等再次由如圖1A中所示且結合圖2至圖4進一步描述之複數個感測電路及邏輯150/170分離。在一項實例中,一庫區段121可分成十六(16)個子陣列。然而,實施例不限於此例示性數目。子陣列125-1、125-2、......、125-N之一或多者可包含經組態以接收並儲存如圖1B中所展示之計算可啟動快取區塊(例如127-0、......、127-N),具有子列選擇元資料資料結構及區塊選擇元資料資料結構。
圖1F繪示一控制器140,其耦合至一寫入路徑149且耦合至庫123中之子陣列125-1、...、125-N之各者。替代地或額外,圖1A中所示之邏輯電路170可用作(例如)用以在一特定庫本地(「在間距上」)快取及/或重新快取所擷取之指令之一指令快取。在至少一項實施例中,複數個子陣列125-1、...、125-N及/或複數個子陣列之部分可稱為用於將程式指令(例如,PIM命令)及/或常數資料儲存至一記憶體器件中之
一庫123之複數個位置。
根據本發明之實施例,控制器140經組態以自一主機(例如圖1A中之主機110)接收一指令區塊,計算可啟動快取區塊(例如,如圖1B中所展示之127-0、......、127-N,其具有子列選擇元資料資料結構及區塊選擇元資料資料結構)及/或常數資料。替代地,指令區塊,計算可啟動快取區塊(例如,如圖1B中所展示之127-0、......、127-N,其具有子列選擇元資料資料結構及區塊選擇元資料資料結構)及/或常數資料可自與主機110整合或與主機110分離(例如,以一模組118之形式與複數個記憶體器件120-1、...、120-N整合,如圖1D中所示)之一通道控制器143接收至控制器140。
指令區塊及/或資料可包含一組程式指令(例如,PIM命令)及/或常數資料(例如,經設定用於PIM計算之資料)。根據實施例,控制器140經組態以將來自主機110及/或通道控制器143之指令區塊及/或常數資料儲存於一陣列(例如,圖1A中所示之陣列130)及/或一庫(例如,圖1D、圖1E及圖1F中所示之庫121-0、...、121-7)之圖1D中所示之123中。控制器140進一步經組態以(例如)包含呈硬體電路及/或專用積體電路(ASIC)之形式之邏輯,以路由程式指令感測電路至感測電路(包含一計算組件(諸如在圖1A中展示為150之感測電路及圖2及圖3中之計算組件231及331)以執行本文中所描述之邏輯功能及/或運算(例如程式指令執行)。
在至少一實施例中,控制器140經組態以使用DRAM協定及DRAM邏輯及電介面以自主機110及/或通道控制器143接收程式指令及/或常數資料,且路由程式指令及/或常數資料至感測電路150、250及/或350之一計算組件。在控制器140處接收之程式指令及/或常數資料可由一程式設計師預解析(例如,預定義)及/或提供至主機110及/或通道控制器143。
在一些實施例中,如圖1D中所見,記憶體胞陣列(圖1A中之130)包含記憶體胞120-1、...、120-N之複數個庫,且記憶體器件120包含耦合至該複數個庫120-1、...、120-N之各者之一庫仲裁器145。在此等實施例中,各庫仲裁器經組態以自庫仲裁器145接收與一特定庫相關之具有程式指令之一指令區塊(具有子列選擇元資料資料結構及區塊選擇元資料資料結構之計算可啟動快取區塊)及/或常數資料。接著,控制器140可將所接收之指令區塊(計算可啟動快取區塊)中之指令及/或常數資料儲存至如由主機110及/或通道控制器143分配之特定庫之複數個位置。例如,主機110及/或通道控制器143經組態以對庫仲裁器145之複數個位置進行位址轉譯以指派給記憶體器件120之庫。在至少一實施例中,如圖1D中所示,複數個位置包含DRAN庫121-1、...、121-7中之若干子陣列125-1、...、125-N及/或該若干子陣列之部分。
根據實施例,各控制器140可經組態以(例如在資料匯流排156上)自主機110及/或通道控制器143接收計算可啟動快取線160,以儲存接收至一給定庫121-1、...、121-7之快取區塊。接著,控制器140經組態以在具有控制及資料暫存器151之資料匯流排156上自特定庫之複數個位置擷取快取區塊資料,且使用感測電路150之計算組件執行邏輯運算。控制器140可在特定庫本地(例如,陣列130、庫區段123及/或子陣列125)快取所擷取之快取區塊,以處置指令區塊執行內所含有之分支、迴圈、邏輯及資料操作。且控制器140可根據需要重新快取所擷取之指令。因此,該DRAM部分上之專用指令記憶體(快取記憶體)之大小不必針對一PIM系統而增加。
在一些實施例中,複數個記憶體器件120-1、...、120-N耦合至一主機110及/或通道控制器143。此處,主機110及/或通道控制器143可(例如)經由一資料匯流排156將快取區塊發送至複數個記憶體器件120-
1、...、120-N之一適當庫仲裁器145-1、...、145-N。
進一步言之,根據實施例,控制器140經組態使得一庫121可接收與與該特定庫有關之另一快取區塊相關聯之一隨後快取線160,且使用區塊選擇162元資料資料結構及子列選擇163元資料資料結構於所接收快取線160中,以儲存快取區塊至用於該特定庫之複數個位置,且存取來自用於該特定庫之複數個位置之快取區塊,同時(例如並行)控制器140對另一先前所擷取快取區塊操作。因此,本文中描述之實施例無需等待將自一主機110及/或通道控制器143接收之未來或下一快取區塊存取指令集(例如,PIM命令)。代替地,本文中所描述之裝置及方法器件促進記憶體器件120用作一最後層快取(LLC)於一DRAM部分中用於快取區塊且可促進一計算可啟動快取記憶體直接於晶片上、與該PIM系統(例如PIMRAM)中之記憶體器件120之節距上。
如讀者將瞭解,且如圖2至圖4之實例中更詳細描述,控制器140經組態以藉由控制感測電路150(包含計算組件251及/或351)實施諸如AND、OR、NOT、NAND、NOR及XOR邏輯函數之邏輯函數而控制程式指令(例如,PIM命令)之執行。另外,控制器140經組態以控制感測電路150以執行非布林邏輯運算(包含複製、比較及抹除操作)作為執行程式指令(例如,PIM命令)之部分。
圖2係繪示根據本發明之若干實施例之感測電路250之一示意圖。感測電路250可對應於圖1A及圖1B中所示之感測電路150。感測電路250之感測放大器206可對應於圖2中所示之感測放大器206,且感測電路250之計算組件231可對應於(例如)圖1A中所示之感測電路(包含計算組件)150。
一記憶體胞包括一儲存元件(例如電容器)及一存取器件(例如電晶體)。例如,一第一記憶體胞包括電晶體202-1及電容器203-1,且一第二記憶體胞包括電晶體202-2及電容器203-2,等等。在此實例中,
記憶體陣列230係1T1C(一電晶體一電容器)記憶體胞之一DRAM陣列。在若干實施例中,記憶體胞可為破壞性讀取記憶體胞(例如,讀取儲存於胞中之資料破壞該資料使得最初儲存於胞中之資料在讀取之後經再新)。
記憶體陣列230之胞可配置成由字線204-X(Row X)、204-Y(Row Y)等耦合之列及由互補感測線對(例如,資料線DIGIT(n-1)/DIGIT(n-1)_、DIGIT(n)/DIGIT(n)_、DIGIT(n+1)/DIGIT(n+1)_)耦合之行。對應於各對互補感測線之個別感測線亦可分別稱為資料線205-1(D)及205-2(D_)。儘管圖2中僅展示一對互補資料線,然本發明之實施例不限於此,且一記憶體胞陣列可包含記憶體胞及/或資料線之額外行(例如,4,096個、8,192個、16,384個等)。
記憶體胞可耦合至不同資料線及/或字線。例如,一電晶體202-1之一第一源極/汲極區域可耦合至資料線205-1(D),電晶體202-1之一第二源極/汲極區域可耦合至電容器203-1,且一電晶體202-1之一閘極可耦合至字線204-X。一電晶體202-2之一第一源極/汲極區域可耦合至資料線205-2(D_),電晶體202-2之一第二源極/汲極區域可耦合至電容器203-2,且一電晶體202-2之一閘極可耦合至字線204-Y。胞板(如圖2中所示)可耦合至電容器203-1及203-2之各者。胞板可為在各種記憶體陣列組態中可施加一參考電壓(例如接地)之一共同節點。
根據本發明之若干實施例,記憶體陣列230耦合至感測電路250。在此實例中,感測電路250包括對應於記憶體胞之各自行(例如,耦合至各自互補資料線對)之一感測放大器206及一計算組件231。感測放大器206可耦合至互補感測線對205-1及205-2。計算組件231可經由傳遞閘207-1及207-2耦合至感測放大器206。傳遞閘207-1及207-2之閘極可耦合至邏輯運算選擇邏輯213。
邏輯運算選擇邏輯213可經組態以包含:傳遞閘邏輯,其用於控
制傳遞閘以將未轉置之互補感測線對耦合於感測放大器206與計算組件231之間(如圖2中所示);及/或交換閘邏輯,其用於控制交換閘以將經轉置之互補感測線對耦合於感測放大器206與計算組件231之間。邏輯運算選擇邏輯213亦可耦合至互補感測線對205-1及205-2。邏輯運算選擇邏輯213可經組態以基於一選定邏輯運算而控制傳遞閘207-1及207-2之連續性,如下文針對邏輯運算選擇邏輯413之各種組態所詳細描述。
感測放大器206可經操作以判定儲存於一選定記憶體胞中之一資料值(例如,邏輯狀態)。感測放大器206可包括一交叉耦合鎖存器,其在本文中可稱為一主要鎖存器。在圖2中繪示之實例中,對應於感測放大器206之電路包括一鎖存器215,該鎖存器215包含耦合至一對互補資料線D 205-1及D_ 205-2之四個電晶體。然而,實施例不限於此實例。鎖存器215可為一交叉耦合鎖存器(例如,諸如n通道電晶體(例如,NMOS電晶體)227-1及227-2之一對電晶體之閘極與諸如p通道電晶體(例如,PMOS電晶體)229-1及229-2之另一對電晶體之閘極交叉耦合)。包括電晶體227-1、227-2、229-1及229-2之交叉耦合鎖存器215可稱為一主要鎖存器。
在操作中,當感測(例如,讀取)一記憶體胞時,資料線205-1(D)或205-2(D_)之一者上之電壓將略大於資料線205-1(D)或205-2(D_)之另一者上之電壓。可驅使一ACT信號及RNL*信號降低以啟用(例如,觸發)感測放大器206。與PMOS電晶體229-1或229-2之一者相比,具有較低電壓之資料線205-1(D)或205-2(D_)將在更大程度上接通PMOS電晶體229-1或229-2之另一者,藉此驅使具有較高電壓之資料線205-1(D)或205-2(D_)升高至大於另一資料線205-1(D)或205-2(D_)經驅使而升高之程度。
類似地,與NMOS電晶體227-1或227-2之一者相比,具有較高電
壓之資料線205-1(D)或205-2(D_)將在更大程度上接通NMOS電晶體227-1或227-2之另一者,藉此驅使具有較低電壓之資料線205-1(D)或205-2(D_)降低至大於另一資料線205-1(D)或205-2(D_)經驅使而降低之程度。因此,在一短暫延遲之後,具有略大電壓之資料線205-1(D)或205-2(D_)透過源電晶體211驅動至供應電壓之電壓VCC,且另一資料線205-1(D)或205-2(D_)透過汲入電晶體213驅動至參考電壓之電壓(例如,接地)。因此,交叉耦合NMOS電晶體227-1及227-2以及PMOS電晶體229-1及229-2用作一感測放大器對,其等放大資料線205-1(D)及205-2(D_)上之差動電壓且操作以鎖存自選定記憶體胞感測之一資料值。如本文中所使用,感測放大器206之交叉耦合鎖存器可稱為一主要鎖存器215。
實施例不限於圖2中繪示之感測放大器206組態。作為一實例,感測放大器206可為電流模式感測放大器及/或單端感測放大器(例如,耦合至一資料線之感測放大器)。再者,本發明之實施例不限於諸如圖2中所示之架構之一折疊資料線架構。
感測放大器206可連同計算組件231一起操作以使用來自一陣列之資料作為輸入而執行各種邏輯運算。在若干實施例中,可將一邏輯運算之結果儲存回至陣列而不經由一資料線位址存取傳送資料(例如,不觸發一行解碼信號使得資料經由本地I/O線傳送至陣列及感測電路外部之電路)。因而,與各種先前方法相比,本發明之若干實施例可能夠使用較少電力執行邏輯運算及其相關聯之計算功能。另外,由於若干實施例無需跨I/O線傳送資料以執行計算功能(例如,在記憶體與離散處理器之間),故與先前方法相比,若干實施例可實現一增加的並行處理能力。
感測放大器206可進一步包含平衡電路214,其可經組態以平衡資料線205-1(D)及205-2(D_)。在此實例中,平衡電路214包括耦合於
資料線205-1(D)與205-2(D_)之間之一電晶體224。平衡電路214亦包括電晶體225-1及225-2,其等各具有耦合至一平衡電壓(例如,VDD/2)之一第一源極/汲極區域,其中VDD係與陣列相關聯之一供應電壓。電晶體225-1之一第二源極/汲極區域可耦合資料線205-1(D),且電晶體225-2之一第二源極/汲極區域可耦合資料線205-2(D_)。電晶體224、225-1及225-2之閘極可耦合在一起且耦合至一平衡(EQ)控制信號線226。因而,啟動EQ啟用電晶體224、225-1及225-2,此將資料線205-1(D)及205-2(D_)有效地短接在一起且短接至一平衡電壓(例如,VCC/2)。
儘管圖2展示包括平衡電路214之感測放大器206,然實施例不限於此,且平衡電路214可與感測放大器206離散地實施、以與圖2中所示之組態不同之一組態實施或完全不實施。
如下文進一步描述,在若干實施例中,感測電路(例如,感測放大器206及計算組件231)可經操作以執行一選定邏輯運算且最初將結果儲存於感測放大器206或計算組件231之一者中,而不經由一I/O線自感測電路傳送資料(例如,不經由例如一行解碼信號之啟動執行一資料線位址存取)。
邏輯運算(例如,涉及資料值之布林邏輯函數)之執行係基本及常用的。在許多較高階函數中使用布林邏輯函數。因此,用改良的邏輯運算實現之速度及/或功率效率可轉譯成較高階功能性之速度及/或功率效率。
如圖2中所示,計算組件231亦可包括一鎖存器,其在本文中可稱為一次要鎖存器264。次要鎖存器264可以類似於上文關於主要鎖存器215描述之方式之一方式組態及操作,惟包括次要鎖存器之交叉耦合p通道電晶體(例如,PMOS電晶體)對可使其等各自源極耦合至一供應電壓(例如,VDD),且次要鎖存器之交叉耦合n通道電晶體(例如,
NMOS電晶體)對可使其等各自源極選擇性地耦合至一參考電壓(例如,接地),使得連續啟用次要鎖存器除外。計算組件之組態不限於圖2中在231處展示之組態,且下文進一步描述各種其他實施例。
圖3係繪示根據本發明之若干實施例之能夠實施一XOR邏輯運算之感測電路之一示意圖。圖3展示耦合至一對互補感測線305-1及305-2之一感測放大器306,及經由傳遞閘307-1及307-2耦合至感測放大器306之一計算組件331。圖3中所示之感測放大器306可對應於圖2中所示之感測放大器206。圖3中所示之計算組件331可對應於例如圖1A中所示之感測電路(包含計算組件)150。圖3中所示之邏輯運算選擇邏輯313可對應於(例如)圖4中所示之邏輯運算選擇邏輯413。
傳遞閘307-1及307-2之閘極可受控於一邏輯運算選擇邏輯信號Pass。例如,邏輯運算選擇邏輯之一輸出可耦合至傳遞閘307-1及307-2之閘極。計算組件331可包括經組態以使資料值左移位及右移位之一可載入移位暫存器。
根據圖3中繪示之實施例,計算組件331可包括經組態以使資料值左移位及右移位之一可載入移位暫存器之各自級(例如,移位胞)。例如,如圖3中所繪示,移位暫存器之各計算組件331(例如,級)包括一對右移位電晶體381及386、一對左移位電晶體389及390以及一對反相器387及388。可將信號PHASE 1R、PHASE 2R、PHASE 1L及PHASE 2L施加至各自控制線382、383、391及392,以啟用/停用對應計算組件331之鎖存器上與根據本文中描述之實施例執行邏輯運算及/或移位資料相關聯之回饋。
圖3中所示之感測電路亦展示耦合至若干邏輯選擇控制輸入控制線(包含ISO、TF、TT、FT及FF)之一邏輯運算選擇邏輯313。自邏輯選擇控制輸入控制線上之邏輯選擇控制信號之條件以及在經由確證ISO控制信號啟用隔離電晶體時存在於互補感測線對305-1及305-2上
之資料值而判定自複數個邏輯運算之一邏輯運算選擇。
根據各項實施例,邏輯運算選擇邏輯313可包含四個邏輯選擇電晶體:邏輯選擇電晶體362,其耦合於交換電晶體342之閘極與一TF信號控制線之間;邏輯選擇電晶體352,其耦合於傳遞閘307-1及307-2之閘極與一TT信號控制線之間;邏輯選擇電晶體354,其耦合於傳遞閘307-1及307-2之閘極與一FT信號控制線之間;及邏輯選擇電晶體364,其耦合於交換電晶體342之閘極與一FF信號控制線之間。邏輯選擇電晶體362及352之閘極透過隔離電晶體350-1(具有耦合至一ISO信號控制線之一閘極)耦合至真值感測線。邏輯選擇電晶體364及354之閘極透過隔離電晶體350-2(亦具有耦合至一ISO信號控制線之一閘極)耦合至互補感測線。
存在於互補感測線對305-1及305-2上之資料值可經由傳遞閘307-1及307-2載入至計算組件331中。計算組件331可包括一可載入移位暫存器。當傳遞閘307-1及307-2開啟時,互補感測線對305-1及305-2上之資料值被傳遞至計算組件331且藉此被載入至可載入移位暫存器中。互補感測線對305-1及305-2上之資料值可為在觸發感測放大器時儲存於感測放大器306中之資料值。邏輯運算選擇邏輯信號Pass為高以開啟傳遞閘307-1及307-2。
ISO、TF、TT、FT及FF控制信號可操作以基於感測放大器306中之資料值(「B」)及計算組件331中之資料值(「A」)選擇一邏輯函數進行實施。特定言之,ISO、TF、TT、FT及FF控制信號經組態以獨立於存在於互補感測線對305-1及305-2上之資料值而選擇邏輯函數進行實施(然而所實施邏輯運算之結果可取決於存在於互補感測線對305-1及305-2上之資料值)。例如,ISO、TF、TT、FT及FF控制信號直接選擇邏輯運算進行實施,此係因為存在於互補感測線對305-1及305-2上之資料值並未傳遞通過用以操作傳遞閘307-1及307-2之閘極之
邏輯。
另外,圖3展示經組態以在感測放大器313-7與計算組件331之間交換互補感測線對305-1及305-2之定向之交換電晶體342。當交換電晶體342開啟時,交換電晶體342之感測放大器306側上之互補感測線對305-1及305-2上之資料值相反耦合(oppositely-couple)至交換電晶體342之計算組件331側上之互補感測線對305-1及305-2,且藉此載入至計算組件331之可載入移位暫存器中。
當ISO控制信號線被啟動且TT控制信號在真值感測線上之資料值為「1」之情況下被啟動(例如,為高)或FT控制信號在互補感測線上之資料值為「1」之情況下被啟動(例如,為高)時,邏輯運算選擇邏輯信號Pass可經啟動(例如,為高)以開啟傳遞閘307-1及307-2(例如,傳導)。
真值感測線上之資料值係一「1」開啟邏輯選擇電晶體352及362。互補感測線上之資料值係一「1」開啟邏輯選擇電晶體354及364。若ISO控制信號或對應感測線(例如,特定邏輯選擇電晶體之閘極耦合至之感測線)上之各自TT/FT控制信號或資料值並非為高,則傳遞閘307-1及307-2將不會由一特定邏輯選擇電晶體開啟。
當ISO控制信號線經啟動且TF控制信號在真值感測線上之資料值為「1」之情況下經啟動(例如,為高)或FF控制信號在互補感測線上之資料值為「1」之情況下經啟動(例如,為高)時,邏輯運算選擇邏輯信號PassF可經啟動(例如,為高)以開啟交換電晶體342(例如,傳導)。若對應感測線(例如,特定邏輯選擇電晶體之閘極耦合至之感測線)上之各自控制信號或資料值並非為高,則交換電晶體342將不會由一特定邏輯選擇電晶體開啟。
Pass*控制信號不一定與Pass控制信號互補。可同時啟動或撤銷啟動Pass及Pass*控制信號兩者。然而,Pass及Pass*控制信號兩者之
同時啟動使互補感測線對短接在一起,此可為應避免之一破壞性組態。
圖3中繪示之感測電路經組態以自四個邏輯選擇控制信號直接選擇複數個邏輯運算之一者進行實施(例如,邏輯運算選擇並不取決於存在於互補感測線對上之資料值)。邏輯選擇控制信號之一些組合可引起傳遞閘307-1及307-2以及交換電晶體342兩者同時開啟,此使互補感測線對305-1及305-2短接在一起。根據本發明之若干實施例,可由圖3中繪示之感測電路實施之邏輯運算可為圖4中所示之邏輯表中所概述之邏輯運算。
圖4係繪示根據本發明之若干實施例之由圖3中所示之一感測電路實施之可選擇邏輯運算結果之一邏輯表。四個邏輯選擇控制信號(例如,TF、TT、FT及FF)連同存在於互補感測線上之一特定資料值一起可用以選擇複數個邏輯運算之一者進行實施,此涉及儲存於感測放大器306及計算組件331中之開始資料值。四個控制信號連同存在於互補感測線上之一特定資料值一起控制傳遞閘307-1及307-2以及交換電晶體342之連續性,此繼而影響在觸發之前/之後計算組件331及/或感測放大器306中之資料值。可選擇地控制交換電晶體342之連續性之能力有利於實施涉及反相資料值(例如,反相運算元及/或反相結果)等之邏輯運算。
圖4中繪示之邏輯表4-1在444處展示欄A中所示之儲存於計算組件331中之開始資料值,且在445處展示欄B中所示之儲存於感測放大器306中之開始資料值。邏輯表4-1中之其他3欄標頭指代傳遞閘307-1及307-2以及交換電晶體342之連續性,其等可取決於四個邏輯選擇控制信號(例如,TF、TT、FT及FF)之狀態以及存在於互補感測線對305-1及305-2上之一特定資料值而分別控制為開啟或關閉。「Not Open」456欄對應於傳遞閘307-1及307-2以及交換電晶體342皆處於一
非傳導條件,「Open True」470對應於傳遞閘307-1及307-2處於一傳導條件,且「Open Invert」471對應於交換電晶體342處於一傳導條件。邏輯表4-1中未反映對應於傳遞閘307-1及307-2以及交換電晶體342皆處於一傳導條件之組態,此係因為此導致感測線短接在一起。
經由對傳遞閘307-1及307-2以及交換電晶體342之連續性之選擇性控制,邏輯表4-1之上部分之三個欄之各者可與邏輯表4-1之下部分之三個欄之各者組合,以提供對應於九個不同邏輯運算之3 x 3=9種不同結果組合,如由475處所示之各種連接路徑所指示。圖4中繪示之邏輯表4-2中概述可由如圖1A中所示之感測電路150實施之九種不同可選擇邏輯運算,包含一XOR邏輯運算。
圖4中繪示之邏輯表4-2之欄展示包含邏輯選擇控制信號之狀態之一標頭480。例如,在列476中提供一第一邏輯選擇控制信號之狀態,在列477中提供一第二邏輯選擇控制信號之狀態,在列478中提供一第三邏輯選擇控制信號之狀態,且在列479中提供一第四邏輯選擇控制信號之狀態。在列447中概述對應於結果之特定邏輯運算。
雖然例示性實施例包含本文中已繪示且描述之感測電路、感測放大器、計算組件、動態鎖存器、隔離器件及/或移位電路之各種組合及組態,但本發明之實施例不限於本文中所明確陳述之該等組合。本文中所揭示之感測電路、感測放大器、計算組件、動態鎖存器、隔離器件及/或移位電路之其他組合及組態清楚地包含於本發明之範疇內。
儘管本文中已繪示及描述特定實施例,然一般技術者將瞭解,經計算以達成相同結果之一配置可取代所示之特定實施例。本發明意欲涵蓋本發明之一或多個實施例之調適或變動。應瞭解,已依一繪示性方式而非一限制性方式進行以上描述。熟習此項技術者在檢視上述描述後將明白未在本文中特別描述之上述實施例之組合及其他實施
例。本發明之一或多個實施例之範疇包含其中使用上文結構及方法之其他應用。因此,應參考隨附申請專利範圍連同此等申請專利範圍所授權之等效物之全部範圍而判定本發明之一或多個實施例之範疇。
在前述實施方式中,為簡化本發明之目的將一些特徵一起集合於一單一實施例中。本發明之此方法不應被解釋為反映本發明之所揭示實施例必須使用比明確陳述於每一技術方案中更多之特徵之一意圖。實情係,如以下申請專利範圍反映,發明標的物可存在少於一單一所揭示實施例之所有特徵。因此,以下申請專利範圍以此方式併入實施方式中,其中每一請求項單獨作為一獨立實施例。
Claims (23)
- 一種用於記憶體操作之裝置,其包括:一記憶體,其經組態以儲存快取資料,其具有一計算組件;及一控制器,其耦合至該記憶體,該控制器經組態以:產生一區塊選擇作為至一快取線之元資料;及產生一子列選擇作為至該快取線之元資料,其中該區塊選擇及該子列選擇不為一主處理器之一位址空間之部分。
- 如請求項1之裝置,其中該控制器係一快取控制器且該記憶體係一最後層快取(LLC)記憶體。
- 如請求項2之裝置,其中該計算組件經組態以在不使該快取資料移動至快取記憶體中之一較高級之情況下存取該LLC記憶體中之快取資料且對該LLC記憶體中之快取資料操作。
- 如請求項1之裝置,其中該計算組件係與該記憶體之一記憶體陣列整合之一靜態隨機存取記憶體(SRAM)邏輯資源。
- 如請求項1之裝置,其中:該區塊選擇啟用至該快取線之一偏移;及該子列選擇啟用至一集合關聯式快取之多個組。
- 如請求項1之裝置,其中該區塊選擇提供至一動態隨機存取記憶體(DRAM)頁中之一頁之一偏移。
- 如請求項1之裝置,其中該控制器經組態以:改變該區塊選擇及該子列選擇;及重新定位對該主處理器透明之該快取資料。
- 一種用於記憶體操作之裝置,其包括:一記憶體器件,其經組態以耦合至一主機,其中該記憶體器 件包含:一陣列之記憶體胞;耦合至該陣列之感測電路,該感測電路包含一感測放大器及經組態以執行多個邏輯運算之一計算組件;及一控制器,其耦合至該陣列及該感測電路,該控制器經組態以:接收具有區塊選擇元資料及子列選擇元資料之一快取線;及對該區塊選擇元資料及該子列選擇元資料操作以:控制該陣列中之多個快取區塊之對準;及允許該快取線放置於該陣列之一特定列上。
- 如請求項8之裝置,其中該裝置進一步包含一快取控制器以:產生該區塊選擇元資料且插入至該快取線;及產生該子列選擇元資料且插入至該快取線。
- 如請求項8之裝置,其中該控制器經組態以:對該快取線操作以根據該區塊選擇元資料而控制該陣列中之該等快取區塊之對準;及對該快取線操作以根據該列選擇元資料而允許該快取線放置於該陣列之多個不同列上。
- 如請求項8之裝置,其中:各快取線經處理為具有不同位元長度值之多個向量;及該控制器經組態以處理該多個向量之各向量作為一塊。
- 如請求項8之裝置,其中該裝置進一步包括:一處理資源;一記憶體,其耦合至該處理資源;及一介面,其在該處理資源與該記憶體之間。
- 如請求項12之裝置,其中該介面包括:多個矽穿孔(TSV),該等TSV耦合該處理資源至該記憶體;及該裝置係一3D積體邏輯/記憶體。
- 如請求項12之裝置,其中該處理資源包括一靜態隨機存取記憶體(SRAM)且該控制器經組態以將該區塊選擇及該子列選擇儲存於該SRAM中。
- 如請求項12之裝置,其中該記憶體係一記憶體中處理(PIM)器件,該陣列係一動態隨機存取記憶體(DRAM)陣列。
- 如請求項15之裝置,其中該控制器經組態以:對該快取線操作以根據該區塊選擇元資料而控制該陣列中之該快取區塊之對準;及對該快取線操作以根據該列選擇元資料而允許該快取線放置於該陣列之多個不同列上。
- 如請求項15之裝置,其中各快取線經處理為多個向量,該快取區塊係一向量,該向量係複數個經界定位元長度值,且其中該複數個經界定位元長度值之各者係可用於一邏輯運算中之一元素。
- 一種用於操作一快取記憶體之方法,其包括:產生一區塊選擇作為至一快取線之元資料以控制該快取記憶體之一陣列中之多個快取區塊之對準;及產生一子列選擇作為至該快取線之元資料以控制該陣列中之一特定列上之該快取線之至少一部分之放置。
- 如請求項18之方法,其中該方法包括:接收至一記憶體中處理(PIM)器件中之一控制器之該區塊選擇及該子列選擇,該陣列係一動態隨機存取記憶體(DRAM)陣列,其中該PIM器件包括: 耦合至該陣列之感測電路,該感測電路包含一感測放大器及經組態以實施邏輯運算之一計算組件;將該快取區塊儲存於該陣列中;及擷取該快取線之至少一部分以使用該計算組件執行多個邏輯運算。
- 如請求項19之方法,其中將該快取區塊儲存於該陣列中包括儲存具有一位元長度之一快取區塊之一部分,該位元長度小於該快取線之一位元長度。
- 一種用於記憶體操作之裝置,其包括:一記憶體,其經組態以儲存快取資料,具有一計算組件;及一控制器,其耦合至該記憶體,該控制器經組態以:產生一區塊選擇作為至一快取線之元資料;及產生一子列選擇作為至該快取線之元資料,其中該子列選擇控制該快取線在該記憶體中之一陣列中之多個不同列上之放置。
- 一種用於記憶體操作之裝置,其包括:一記憶體,其經組態以儲存快取資料,具有一計算組件;及一控制器,其耦合至該記憶體,該控制器經組態以:產生一區塊選擇作為至一快取線之元資料;及產生一子列選擇作為至該快取線之元資料,其中該控制器經組態以:使用該區塊選擇來控制該記憶體中之一陣列中之快取資料之對準;及使用該子列選擇來控制該陣列中之資源分配。
- 一種用於記憶體操作之裝置,其包括:一記憶體,其經組態以儲存快取資料,具有一計算組件;及 一控制器,其耦合至該記憶體,該控制器經組態以:產生一區塊選擇作為至一快取線之元資料;及產生一子列選擇作為至該快取線之元資料,其中該控制器經組態以:使用該區塊選擇來選擇該陣列中之一列之哪一部分具有一第一位元寬度以存取作為具有一第二位元寬度之一塊作為一陣列存取請求之部分;及依一重複方式而使用該區塊選擇及該子列選擇以允許該快取線在動態隨機存取記憶體(DRAM)之一庫中不同地分裂及放置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562167451P | 2015-05-28 | 2015-05-28 | |
US62/167,451 | 2015-05-28 | ||
US15/066,488 US10073786B2 (en) | 2015-05-28 | 2016-03-10 | Apparatuses and methods for compute enabled cache |
US15/066,488 | 2016-03-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201710909A TW201710909A (zh) | 2017-03-16 |
TWI651617B true TWI651617B (zh) | 2019-02-21 |
Family
ID=57394277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105116507A TWI651617B (zh) | 2015-05-28 | 2016-05-26 | 用於計算可啟動之快取記憶體之裝置及方法 |
Country Status (5)
Country | Link |
---|---|
US (5) | US10073786B2 (zh) |
EP (1) | EP3304319B1 (zh) |
CN (1) | CN107683505B (zh) |
TW (1) | TWI651617B (zh) |
WO (1) | WO2016191191A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI792032B (zh) * | 2020-03-23 | 2023-02-11 | 日商鎧俠股份有限公司 | 通信系統、通信元件及通信方法 |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9430191B2 (en) * | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
US10073786B2 (en) * | 2015-05-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for compute enabled cache |
US10235176B2 (en) * | 2015-12-17 | 2019-03-19 | The Charles Stark Draper Laboratory, Inc. | Techniques for metadata processing |
US9997232B2 (en) | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
US10990465B2 (en) | 2016-09-27 | 2021-04-27 | Spin Memory, Inc. | MRAM noise mitigation for background operations by delaying verify timing |
US11010294B2 (en) | 2016-09-27 | 2021-05-18 | Spin Memory, Inc. | MRAM noise mitigation for write operations with simultaneous background operations |
US11119910B2 (en) | 2016-09-27 | 2021-09-14 | Spin Memory, Inc. | Heuristics for selecting subsegments for entry in and entry out operations in an error cache system with coarse and fine grain segments |
US10818331B2 (en) | 2016-09-27 | 2020-10-27 | Spin Memory, Inc. | Multi-chip module for MRAM devices with levels of dynamic redundancy registers |
US11151042B2 (en) | 2016-09-27 | 2021-10-19 | Integrated Silicon Solution, (Cayman) Inc. | Error cache segmentation for power reduction |
US11386010B2 (en) | 2016-09-27 | 2022-07-12 | Integrated Silicon Solution, (Cayman) Inc. | Circuit engine for managing memory meta-stability |
US11048633B2 (en) | 2016-09-27 | 2021-06-29 | Spin Memory, Inc. | Determining an inactive memory bank during an idle memory cycle to prevent error cache overflow |
US11119936B2 (en) | 2016-09-27 | 2021-09-14 | Spin Memory, Inc. | Error cache system with coarse and fine segments for power optimization |
US10991410B2 (en) * | 2016-09-27 | 2021-04-27 | Spin Memory, Inc. | Bi-polar write scheme |
CN109952565B (zh) * | 2016-11-16 | 2021-10-22 | 华为技术有限公司 | 内存访问技术 |
US20180191862A1 (en) * | 2016-12-29 | 2018-07-05 | Microsoft Technology Licensing, Llc | Detection and delegation of action tasks |
US10162756B2 (en) * | 2017-01-18 | 2018-12-25 | Intel Corporation | Memory-efficient last level cache architecture |
US10403352B2 (en) * | 2017-02-22 | 2019-09-03 | Micron Technology, Inc. | Apparatuses and methods for compute in data path |
US10185674B2 (en) | 2017-03-22 | 2019-01-22 | Micron Technology, Inc. | Apparatus and methods for in data path compute operations |
US10049721B1 (en) | 2017-03-27 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
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 |
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 |
US10416927B2 (en) | 2017-08-31 | 2019-09-17 | Micron Technology, Inc. | Processing in memory |
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 |
US20210042100A1 (en) | 2018-02-02 | 2021-02-11 | Dover Microsystems, Inc. | System and method for translating mapping policy into code |
US11150910B2 (en) | 2018-02-02 | 2021-10-19 | The Charles Stark Draper Laboratory, Inc. | Systems and methods for policy execution processing |
WO2019168752A1 (en) * | 2018-02-27 | 2019-09-06 | Micron Technology, Inc | Three dimensional memory devices |
US10725696B2 (en) | 2018-04-12 | 2020-07-28 | Micron Technology, Inc. | Command selection policy with read priority |
WO2019213061A1 (en) | 2018-04-30 | 2019-11-07 | Dover Microsystems, Inc. | Systems and methods for checking safety properties |
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 |
TW202022678A (zh) | 2018-11-06 | 2020-06-16 | 美商多佛微系統公司 | 用於停滯主處理器的系統和方法 |
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
US11841956B2 (en) | 2018-12-18 | 2023-12-12 | Dover Microsystems, Inc. | Systems and methods for data lifecycle protection |
US11360704B2 (en) | 2018-12-21 | 2022-06-14 | Micron Technology, Inc. | Multiplexed signal development in a memory device |
WO2020167496A1 (en) * | 2019-02-13 | 2020-08-20 | Spin Memory, Inc. | Multi-chip module for mram devices |
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 |
WO2022006733A1 (en) * | 2020-07-07 | 2022-01-13 | NeoNexus Pte. Ltd. | Apparatus and method for matrix multiplication using processing-in-memory |
US11227641B1 (en) | 2020-07-21 | 2022-01-18 | Micron Technology, Inc. | Arithmetic operations in memory |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070204128A1 (en) * | 2003-09-10 | 2007-08-30 | Super Talent Electronics Inc. | Two-Level RAM Lookup Table for Block and Page Allocation and Wear-Leveling in Limited-Write Flash-Memories |
TWI307476B (en) * | 2002-11-26 | 2009-03-11 | Advanced Micro Devices Inc | Cache memory subsystem capable of executing multiple accesses per cycle, microprocessor, and related computer system |
US20130268711A1 (en) * | 2011-11-29 | 2013-10-10 | Robert J. Safranek | Raw memory transaction support |
TWI420294B (zh) * | 2008-09-30 | 2013-12-21 | Intel Corp | 於低電壓操作期間之快取部分的停用 |
Family Cites Families (278)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4380046A (en) | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
JPS6032911B2 (ja) | 1979-07-26 | 1985-07-31 | 株式会社東芝 | 半導体記憶装置 |
US4435792A (en) | 1982-06-30 | 1984-03-06 | Sun Microsystems, Inc. | Raster memory manipulation apparatus |
US4727474A (en) | 1983-02-18 | 1988-02-23 | Loral Corporation | Staging memory for massively parallel processor |
EP0214718A3 (en) | 1985-07-22 | 1990-04-04 | Alliant Computer Systems Corporation | Digital computer |
US5201039A (en) | 1987-09-30 | 1993-04-06 | Mitsubishi Denki Kabushiki Kaisha | Multiple address-space data processor with addressable register and context switching |
US4843264A (en) | 1987-11-25 | 1989-06-27 | Visic, Inc. | Dynamic sense amplifier for CMOS static RAM |
US5276643A (en) | 1988-08-11 | 1994-01-04 | Siemens Aktiengesellschaft | Integrated semiconductor circuit |
JPH0713858B2 (ja) | 1988-08-30 | 1995-02-15 | 三菱電機株式会社 | 半導体記憶装置 |
US5023838A (en) | 1988-12-02 | 1991-06-11 | Ncr Corporation | Random access memory device with integral logic capability |
US4958378A (en) | 1989-04-26 | 1990-09-18 | Sun Microsystems, Inc. | Method and apparatus for detecting changes in raster data |
US5253308A (en) | 1989-06-21 | 1993-10-12 | Amber Engineering, Inc. | Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing |
DE69132495T2 (de) | 1990-03-16 | 2001-06-13 | Texas Instruments Inc | Verteilter Verarbeitungsspeicher |
US5034636A (en) | 1990-06-04 | 1991-07-23 | Motorola, Inc. | Sense amplifier with an integral logic function |
US5210850A (en) | 1990-06-15 | 1993-05-11 | Compaq Computer Corporation | Memory address space determination using programmable limit registers with single-ended comparators |
JP3361825B2 (ja) | 1990-08-22 | 2003-01-07 | テキサス インスツルメンツ インコーポレイテツド | メモリ・アレイ・アーキテクチャ |
JPH06103599B2 (ja) | 1990-11-16 | 1994-12-14 | 三菱電機株式会社 | 半導体集積回路装置 |
US5325519A (en) | 1991-10-18 | 1994-06-28 | Texas Microsystems, Inc. | Fault tolerant computer with archival rollback capabilities |
FR2685973B1 (fr) | 1992-01-03 | 1994-02-25 | France Telecom | Point memoire pour memoire associative. |
KR950005095Y1 (ko) | 1992-03-18 | 1995-06-22 | 문정환 | 양방향성 그로벌 비트 라인을 갖는 dram |
JPH06215160A (ja) | 1992-08-25 | 1994-08-05 | Texas Instr Inc <Ti> | データ処理方法および装置 |
KR950004854B1 (ko) | 1992-10-08 | 1995-05-15 | 삼성전자 주식회사 | 반도체 메모리 장치 |
US5440482A (en) | 1993-03-25 | 1995-08-08 | Taligent, Inc. | Forward and reverse Boyer-Moore string searching of multilingual text having a defined collation order |
US5485373A (en) | 1993-03-25 | 1996-01-16 | Taligent, Inc. | Language-sensitive text searching system with modified Boyer-Moore process |
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 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
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 |
US6195734B1 (en) | 1997-07-02 | 2001-02-27 | Micron Technology, Inc. | System for implementing a graphic address remapping table as a virtual register file in system memory |
US6181698B1 (en) | 1997-07-09 | 2001-01-30 | Yoichi Hariguchi | Network routing table using content addressable memory |
US6025221A (en) | 1997-08-22 | 2000-02-15 | Micron Technology, Inc. | Processing methods of forming integrated circuitry memory devices, methods of forming DRAM arrays, and related semiconductor masks |
US5991785A (en) | 1997-11-13 | 1999-11-23 | Lucent Technologies Inc. | Determining an extremum value and its index in an array using a dual-accumulation processor |
US5867429A (en) | 1997-11-19 | 1999-02-02 | Sandisk Corporation | High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates |
US6163862A (en) | 1997-12-01 | 2000-12-19 | International Business Machines Corporation | On-chip test circuit for evaluating an on-chip signal using an external test signal |
JP3488612B2 (ja) | 1997-12-11 | 2004-01-19 | 株式会社東芝 | センス増幅回路 |
US5986942A (en) | 1998-01-20 | 1999-11-16 | Nec Corporation | Semiconductor memory device |
JPH11260057A (ja) | 1998-03-13 | 1999-09-24 | Nec Corp | 半導体記憶装置 |
JPH11265995A (ja) | 1998-03-17 | 1999-09-28 | Mitsubishi Electric Corp | 半導体記憶装置 |
JPH11306751A (ja) | 1998-04-22 | 1999-11-05 | Toshiba Corp | 半導体記憶装置 |
US6005799A (en) | 1998-08-06 | 1999-12-21 | Silicon Aquarius | Methods and circuits for single-memory dynamic cell multivalue data storage |
US6141286A (en) | 1998-08-21 | 2000-10-31 | Micron Technology, Inc. | Embedded DRAM architecture with local data drivers and programmable number of data read and data write lines |
US7409694B2 (en) | 1998-09-09 | 2008-08-05 | Microsoft Corporation | Highly componentized system architecture with loadable virtual memory manager |
JP2000173269A (ja) | 1998-12-08 | 2000-06-23 | Mitsubishi Electric Corp | 半導体記憶装置 |
KR100381968B1 (ko) | 1998-12-30 | 2004-03-24 | 주식회사 하이닉스반도체 | 고속동작용디램 |
US6389507B1 (en) | 1999-01-15 | 2002-05-14 | Gigabus, Inc. | Memory device search system and method |
US5999435A (en) | 1999-01-15 | 1999-12-07 | Fast-Chip, Inc. | Content addressable memory device |
US6134164A (en) | 1999-04-22 | 2000-10-17 | International Business Machines Corp. | Sensing circuit for a memory cell array |
US6741104B2 (en) | 1999-05-26 | 2004-05-25 | Micron Technology, Inc. | DRAM sense amplifier for low voltages |
US6157578A (en) | 1999-07-15 | 2000-12-05 | Stmicroelectronics, Inc. | Method and apparatus for accessing a memory device |
US6208544B1 (en) | 1999-09-09 | 2001-03-27 | Harris Corporation | Content addressable memory cell providing simultaneous read and compare capability |
US6578058B1 (en) | 1999-10-06 | 2003-06-10 | Agilent Technologies, Inc. | System and method for comparing values from target systems |
US7124221B1 (en) | 1999-10-19 | 2006-10-17 | Rambus Inc. | Low latency multi-level communication interface |
US6418498B1 (en) | 1999-12-30 | 2002-07-09 | Intel Corporation | Integrated system management memory for system management interrupt handler independent of BIOS and operating system |
US6339813B1 (en) * | 2000-01-07 | 2002-01-15 | International Business Machines Corporation | Memory system for permitting simultaneous processor access to a cache line and sub-cache line sectors fill and writeback to a system memory |
JP4627103B2 (ja) | 2000-01-18 | 2011-02-09 | 富士通セミコンダクター株式会社 | 半導体記憶装置及びその制御方法 |
WO2001057875A1 (fr) | 2000-02-04 | 2001-08-09 | Hitachi, Ltd. | Dispositif semi-conducteur |
WO2001065359A2 (en) | 2000-02-29 | 2001-09-07 | Peter Petrov | Method and apparatus for building a memory image |
US7028170B2 (en) | 2000-03-08 | 2006-04-11 | Sun Microsystems, Inc. | Processing architecture having a compare capability |
JP3983969B2 (ja) | 2000-03-08 | 2007-09-26 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6678678B2 (en) | 2000-03-09 | 2004-01-13 | Braodcom Corporation | Method and apparatus for high speed table search |
JP3822412B2 (ja) | 2000-03-28 | 2006-09-20 | 株式会社東芝 | 半導体記憶装置 |
US6965648B1 (en) | 2000-05-04 | 2005-11-15 | Sun Microsystems, Inc. | Source synchronous link integrity validation |
KR100869870B1 (ko) | 2000-07-07 | 2008-11-24 | 모사이드 테크놀로지스, 인코포레이티드 | 메모리 소자에서의 읽기 명령 수행 방법 및 dram액세스 방법 |
US6466499B1 (en) | 2000-07-11 | 2002-10-15 | Micron Technology, Inc. | DRAM sense amplifier having pre-charged transistor body nodes |
US7302582B2 (en) | 2000-08-21 | 2007-11-27 | United States Postal Service | Delivery point validation system |
US6301164B1 (en) | 2000-08-25 | 2001-10-09 | Micron Technology, Inc. | Antifuse method to repair columns in a prefetched output memory architecture |
US6704828B1 (en) | 2000-08-31 | 2004-03-09 | Micron Technology, Inc. | System and method for implementing data pre-fetch having reduced data lines and/or higher data rates |
US6948056B1 (en) | 2000-09-28 | 2005-09-20 | Intel Corporation | Maintaining even and odd array pointers to extreme values by searching and comparing multiple elements concurrently where a pointer is adjusted after processing to account for a number of pipeline stages |
US6304477B1 (en) | 2001-01-31 | 2001-10-16 | Motorola, Inc. | Content addressable magnetic random access memory |
US6563754B1 (en) | 2001-02-08 | 2003-05-13 | Integrated Device Technology, Inc. | DRAM circuit with separate refresh memory |
US6650158B2 (en) | 2001-02-21 | 2003-11-18 | Ramtron International Corporation | Ferroelectric non-volatile logic elements |
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 |
US20040073773A1 (en) | 2002-02-06 | 2004-04-15 | Victor Demjanenko | Vector processor architecture and methods performed therein |
US6707729B2 (en) | 2002-02-15 | 2004-03-16 | Micron Technology, Inc. | Physically alternating sense amplifier activation |
AU2003221680A1 (en) | 2002-04-09 | 2003-10-27 | The Research Foundation Of State University Of New York | Multiplier-based processor-in-memory architectures for image and graphics processing |
JP2003331598A (ja) | 2002-05-13 | 2003-11-21 | Mitsubishi Electric Corp | 半導体記憶装置 |
US7406494B2 (en) | 2002-05-14 | 2008-07-29 | Texas Instruments Incorporated | Method of generating a cycle-efficient bit-reverse index array for a wireless communication system |
JP2003346484A (ja) | 2002-05-23 | 2003-12-05 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
US6789099B2 (en) | 2002-06-10 | 2004-09-07 | International Business Machines Corporation | Sense-amp based adder with source follower evaluation tree |
US7054178B1 (en) | 2002-09-06 | 2006-05-30 | Etron Technology, Inc. | Datapath architecture for high area efficiency |
US6987693B2 (en) | 2002-09-24 | 2006-01-17 | Sandisk Corporation | Non-volatile memory and method with reduced neighboring field errors |
US7079407B1 (en) | 2002-10-18 | 2006-07-18 | Netlogic Microsystems, Inc. | Content addressable memory (CAM) device including match line sensing |
US6765834B2 (en) | 2002-11-19 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | System and method for sensing memory cells of an array of memory cells |
US6731542B1 (en) | 2002-12-05 | 2004-05-04 | Advanced Micro Devices, Inc. | Circuit for accurate memory read operations |
KR100546307B1 (ko) | 2002-12-05 | 2006-01-26 | 삼성전자주식회사 | 글로벌 입출력라인을 프리차지 및/또는 이퀄라이징하기위한 프리차지 회로를 구비하는 반도체 장치 및프리차지 및/또는 이퀄라이즈하는 트랜지스터의 레이아웃 |
US6888372B1 (en) | 2002-12-20 | 2005-05-03 | Altera Corporation | Programmable logic device with soft multiplier |
WO2004059651A2 (en) | 2002-12-27 | 2004-07-15 | Solid State System Co., Ltd. | Nonvolatile memory unit with specific cache |
US7346903B2 (en) | 2003-02-04 | 2008-03-18 | Sun Microsystems, Inc. | Compiling and linking modules of a cycle-based logic design |
US6768679B1 (en) | 2003-02-10 | 2004-07-27 | Advanced Micro Devices, Inc. | Selection circuit for accurate memory read operations |
EP1604286B1 (en) | 2003-03-06 | 2010-11-03 | Nxp B.V. | Data processing system with cache optimised for processing dataflow applications |
US6819612B1 (en) | 2003-03-13 | 2004-11-16 | Advanced Micro Devices, Inc. | Apparatus and method for a sense amplifier circuit that samples and holds a reference voltage |
US6865122B2 (en) | 2003-04-11 | 2005-03-08 | Intel Corporation | Reclaiming blocks in a block-alterable memory |
US7447720B2 (en) | 2003-04-23 | 2008-11-04 | Micron Technology, Inc. | Method for finding global extrema of a set of bytes distributed across an array of parallel processing elements |
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 |
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 |
US9015390B2 (en) | 2003-04-25 | 2015-04-21 | Micron Technology, Inc. | Active memory data compression system and method |
DE10319271A1 (de) | 2003-04-29 | 2004-11-25 | Infineon Technologies Ag | Speicher-Schaltungsanordnung und Verfahren zur Herstellung |
JP3898152B2 (ja) | 2003-05-27 | 2007-03-28 | ローム株式会社 | 演算機能付き記憶装置および演算記憶方法 |
JP2007504548A (ja) | 2003-09-04 | 2007-03-01 | コニンクリユケ フィリップス エレクトロニクス エヌ.ブイ. | 集積回路およびキャッシュ・リマッピングの方法 |
US6956770B2 (en) | 2003-09-17 | 2005-10-18 | Sandisk Corporation | Non-volatile memory and method with bit line compensation dependent on neighboring operating modes |
US7177183B2 (en) | 2003-09-30 | 2007-02-13 | Sandisk 3D Llc | Multiple twin cell non-volatile memory array and logic block structure and method therefor |
US7913125B2 (en) | 2003-11-04 | 2011-03-22 | Lsi Corporation | BISR mode to test the redundant elements and regular functional memory to avoid test escapes |
US6950771B1 (en) | 2003-12-09 | 2005-09-27 | Xilinx, Inc. | Correlation of electrical test data with physical defect data |
US7631236B2 (en) | 2004-01-29 | 2009-12-08 | International Business Machines Corporation | Hybrid built-in self test (BIST) architecture for embedded memory arrays and an associated method |
US7401281B2 (en) | 2004-01-29 | 2008-07-15 | International Business Machines Corporation | Remote BIST high speed test and redundancy calculation |
JP4819316B2 (ja) | 2004-02-23 | 2011-11-24 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US7088606B2 (en) | 2004-03-10 | 2006-08-08 | Altera Corporation | Dynamic RAM storage techniques |
JP4036206B2 (ja) | 2004-03-31 | 2008-01-23 | 日本電気株式会社 | セットアソシアティブキャッシュシステム及びキャッシュメモリの制御方法 |
US7020017B2 (en) | 2004-04-06 | 2006-03-28 | Sandisk Corporation | Variable programming of non-volatile memory |
US7120063B1 (en) | 2004-05-07 | 2006-10-10 | Spansion Llc | Flash memory cell and methods for programming and erasing |
US8522205B2 (en) | 2004-05-18 | 2013-08-27 | Oracle International Corporation | Packaging multiple groups of read-only files of an application's components into multiple shared libraries |
JP2006127460A (ja) | 2004-06-09 | 2006-05-18 | Renesas Technology Corp | 半導体装置、半導体信号処理装置、およびクロスバースイッチ |
US7061817B2 (en) | 2004-06-30 | 2006-06-13 | Micron Technology, Inc. | Data path having grounded precharge operation and test compression capability |
US7116602B2 (en) | 2004-07-15 | 2006-10-03 | Micron Technology, Inc. | Method and system for controlling refresh to avoid memory cell data losses |
US7434024B2 (en) | 2004-08-30 | 2008-10-07 | Ati Technologies, Inc. | SIMD processor with register addressing, buffer stall and methods |
US20060069849A1 (en) | 2004-09-30 | 2006-03-30 | Rudelic John C | Methods and apparatus to update information in a memory |
US7685365B2 (en) | 2004-09-30 | 2010-03-23 | Intel Corporation | Transactional memory execution utilizing virtual memory |
US20060149804A1 (en) | 2004-11-30 | 2006-07-06 | International Business Machines Corporation | Multiply-sum dot product instruction with mask and splat |
US7230851B2 (en) | 2004-12-23 | 2007-06-12 | Sandisk Corporation | Reducing floating gate to floating gate coupling effect |
KR100673901B1 (ko) | 2005-01-28 | 2007-01-25 | 주식회사 하이닉스반도체 | 저전압용 반도체 메모리 장치 |
US7543119B2 (en) | 2005-02-10 | 2009-06-02 | Richard Edward Hessel | Vector processor |
US7624313B2 (en) | 2005-03-28 | 2009-11-24 | Hewlett-Packard Development Company, L.P. | TCAM BIST with redundancy |
US7187585B2 (en) | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
US7196928B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
JP2006323739A (ja) | 2005-05-20 | 2006-11-30 | Renesas Technology Corp | メモリモジュール、メモリシステム、及び情報機器 |
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 | 삼성전자주식회사 | 메모리 장치 및 메모리 그 동작 방법 |
WO2007069295A1 (ja) | 2005-12-13 | 2007-06-21 | Spansion Llc | 半導体装置およびその制御方法 |
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 |
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 |
US9015399B2 (en) * | 2007-08-20 | 2015-04-21 | Convey Computer | Multiple data channel memory module architecture |
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 |
ITRM20080543A1 (it) | 2008-10-09 | 2010-04-10 | Micron Technology Inc | Architettura e metodo per la programmazione di memorie. |
KR101596283B1 (ko) | 2008-12-19 | 2016-02-23 | 삼성전자 주식회사 | 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치 |
KR101622922B1 (ko) | 2009-03-06 | 2016-05-20 | 삼성전자 주식회사 | 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치 |
US8484276B2 (en) | 2009-03-18 | 2013-07-09 | International Business Machines Corporation | Processing array data on SIMD multi-core processor architectures |
KR20100134235A (ko) | 2009-06-15 | 2010-12-23 | 삼성전자주식회사 | 반도체 메모리 장치 |
US7898864B2 (en) | 2009-06-24 | 2011-03-01 | Sandisk Corporation | Read operation for memory with compensation for coupling based on write-erase cycles |
US8412985B1 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Hardwired remapped memory |
US8412987B2 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Non-volatile memory to store memory remap information |
JP2011028736A (ja) * | 2009-07-02 | 2011-02-10 | Fujitsu Ltd | キャッシュメモリ装置、演算処理装置及びキャッシュメモリ装置の制御方法 |
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 | 株式会社東芝 | 半導体記憶装置 |
US20120135225A1 (en) | 2009-08-18 | 2012-05-31 | Andre Colas | Multi-layer Transdermal Patch |
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 |
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 |
US9165023B2 (en) | 2011-01-31 | 2015-10-20 | 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 |
US8902653B2 (en) * | 2011-08-12 | 2014-12-02 | Micron Technology, Inc. | Memory devices and configuration methods for a memory device |
US8706958B2 (en) | 2011-09-01 | 2014-04-22 | Thomas Hein | Data mask encoding in data bit inversion scheme |
CN103907157B (zh) | 2011-10-28 | 2017-10-17 | 慧与发展有限责任合伙企业 | 进行行移位的可移位存储器 |
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 |
CN103959237B (zh) | 2011-11-30 | 2016-09-28 | 英特尔公司 | 用于提供向量横向比较功能的指令和逻辑 |
US9753858B2 (en) * | 2011-11-30 | 2017-09-05 | Advanced Micro Devices, Inc. | DRAM cache with tags and data jointly stored in physical rows |
CN104011657B (zh) | 2011-12-22 | 2016-10-12 | 英特尔公司 | 用于向量计算和累计的装置和方法 |
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 |
US10474584B2 (en) | 2012-04-30 | 2019-11-12 | Hewlett Packard Enterprise Development Lp | Storing cache metadata separately from integrated circuit containing cache controller |
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 |
US9430410B2 (en) | 2012-07-30 | 2016-08-30 | Soft Machines, Inc. | Systems and methods for supporting a plurality of load accesses of a cache in a single cycle |
US8990512B2 (en) * | 2012-10-31 | 2015-03-24 | Intel Corporation | Method and apparatus for error correction in a cache |
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 |
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 |
US9153305B2 (en) | 2013-08-30 | 2015-10-06 | Micron Technology, Inc. | Independently addressable memory array address spaces |
US9019785B2 (en) | 2013-09-19 | 2015-04-28 | Micron Technology, Inc. | Data shifting via a number of isolation devices |
US9449675B2 (en) | 2013-10-31 | 2016-09-20 | Micron Technology, Inc. | Apparatuses and methods for identifying an extremum value stored in an array of memory cells |
US9430191B2 (en) | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
US9411694B2 (en) * | 2014-02-12 | 2016-08-09 | Micron Technology, Inc. | Correcting recurring errors in memory |
US9934856B2 (en) | 2014-03-31 | 2018-04-03 | Micron Technology, Inc. | Apparatuses and methods for comparing data patterns in memory |
CN106415522B (zh) | 2014-05-08 | 2020-07-21 | 美光科技公司 | 存储器内轻量一致性 |
JP6637906B2 (ja) | 2014-05-08 | 2020-01-29 | マイクロン テクノロジー,インク. | ハイブリッドメモリキューブシステム相互接続ディレクトリベースキャッシュコヒーレンス方法 |
US10073786B2 (en) * | 2015-05-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for compute enabled cache |
-
2016
- 2016-03-10 US US15/066,488 patent/US10073786B2/en active Active
- 2016-05-19 EP EP16800515.5A patent/EP3304319B1/en active Active
- 2016-05-19 CN CN201680030869.8A patent/CN107683505B/zh active Active
- 2016-05-19 WO PCT/US2016/033259 patent/WO2016191191A1/en unknown
- 2016-05-26 TW TW105116507A patent/TWI651617B/zh active
-
2018
- 2018-09-10 US US16/126,169 patent/US10372612B2/en active Active
-
2019
- 2019-08-05 US US16/531,619 patent/US10970218B2/en active Active
-
2021
- 2021-04-05 US US17/222,642 patent/US11599475B2/en active Active
-
2023
- 2023-03-06 US US18/117,974 patent/US20230236983A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI307476B (en) * | 2002-11-26 | 2009-03-11 | Advanced Micro Devices Inc | Cache memory subsystem capable of executing multiple accesses per cycle, microprocessor, and related computer system |
US20070204128A1 (en) * | 2003-09-10 | 2007-08-30 | Super Talent Electronics Inc. | Two-Level RAM Lookup Table for Block and Page Allocation and Wear-Leveling in Limited-Write Flash-Memories |
TWI420294B (zh) * | 2008-09-30 | 2013-12-21 | Intel Corp | 於低電壓操作期間之快取部分的停用 |
US20130268711A1 (en) * | 2011-11-29 | 2013-10-10 | Robert J. Safranek | Raw memory transaction support |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI792032B (zh) * | 2020-03-23 | 2023-02-11 | 日商鎧俠股份有限公司 | 通信系統、通信元件及通信方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3304319A4 (en) | 2019-01-09 |
US20190354485A1 (en) | 2019-11-21 |
CN107683505A (zh) | 2018-02-09 |
US10970218B2 (en) | 2021-04-06 |
TW201710909A (zh) | 2017-03-16 |
EP3304319B1 (en) | 2020-07-08 |
US20190018782A1 (en) | 2019-01-17 |
US20210224192A1 (en) | 2021-07-22 |
EP3304319A1 (en) | 2018-04-11 |
WO2016191191A1 (en) | 2016-12-01 |
CN107683505B (zh) | 2021-10-08 |
US10372612B2 (en) | 2019-08-06 |
US10073786B2 (en) | 2018-09-11 |
US11599475B2 (en) | 2023-03-07 |
US20160350230A1 (en) | 2016-12-01 |
US20230236983A1 (en) | 2023-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI651617B (zh) | 用於計算可啟動之快取記憶體之裝置及方法 | |
US11915741B2 (en) | Apparatuses and methods for logic/memory devices | |
US11513713B2 (en) | Apparatuses and methods for partitioned parallel data movement | |
TWI620194B (zh) | 用於記憶體器件之裝置及方法以作為程式化指令之一儲存 | |
US10936235B2 (en) | Apparatuses and methods for data movement | |
US11126557B2 (en) | Apparatuses and methods for cache operations | |
TWI620063B (zh) | 用於快取無效之裝置及方法 | |
US9921777B2 (en) | Apparatuses and methods for data transfer from sensing circuitry to a controller | |
US20190115063A1 (en) | Apparatuses and methods for in-memory operations | |
TW201734786A (zh) | 感測電路上之錯誤碼計算 |