TWI620194B - 用於記憶體器件之裝置及方法以作為程式化指令之一儲存 - Google Patents
用於記憶體器件之裝置及方法以作為程式化指令之一儲存 Download PDFInfo
- Publication number
- TWI620194B TWI620194B TW105104190A TW105104190A TWI620194B TW I620194 B TWI620194 B TW I620194B TW 105104190 A TW105104190 A TW 105104190A TW 105104190 A TW105104190 A TW 105104190A TW I620194 B TWI620194 B TW I620194B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- logic
- library
- instruction block
- instruction
- Prior art date
Links
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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- 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
-
- 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/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- 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/408—Address circuits
- G11C11/4087—Address decoders, e.g. bit - or word line decoders; Multiple line decoders
-
- 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/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/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1036—Read-write modes for single port memories, i.e. having either a random port or a serial port using data shift registers
-
- G—PHYSICS
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
-
- 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/603—Details of cache memory of operating mode, e.g. cache mode or local memory mode
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Dram (AREA)
- Memory System (AREA)
Abstract
本發明包含關於一記憶體器件之裝置及方法以作為程式指令之儲存。一例示性裝置包括一記憶體器件,該記憶體器件具有一記憶體胞陣列及耦合至該陣列之感測電路。該感測電路包含一感測放大器及經組態以實施邏輯運算之一計算組件。耦合至該陣列及該感測電路之一記憶體控制器經組態以接收包含複數個程式指令之一指令區塊。該記憶體控制器經組態以將該指令區塊儲存於該陣列中,且擷取程式指令以在該計算組件上執行邏輯運算。
Description
本發明大體上係關於半導體記憶體及方法,且更特定言之係關於用於記憶體器件之裝置及方法以作為程式指令之一儲存。
記憶體器件通常提供為計算系統中之內部半導體積體電路。存在許多不同類型的記憶體,包含揮發性記憶體及非揮發性記憶體。揮發性記憶體可需要電力來維持其資料(例如,主機資料、錯誤資料等),且包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、同步動態隨機存取記憶體(SDRAM)及閘流體隨機存取記憶體(TRAM)等。非揮發性記憶體可在未供電時藉由保持儲存資料而提供永久性資料,且可包含NAND快閃記憶體、NOR快閃記憶體及電阻可變記憶體(諸如相變隨機存取記憶體(PCRAM)、電阻式隨機存取記憶體(RRAM)及磁阻式隨機存取記憶體(MRAM),諸如自旋力矩轉移隨機存取記憶體(STT RAM))等。
計算系統通常包含若干處理資源(例如,一或多個處理器),其等可擷取並執行指令且將所執行指令之結果儲存至一適合位置。一處理器可包括若干功能單元,諸如算術邏輯單元(ALU)電路、浮點單元(FPU)電路及/或一組合邏輯區塊,例如,該等功能單元可用以藉由對資料(例如,一或多個運算元)執行諸如AND、OR、NOT、NAND、
NOR及XOR以及反相(例如,反轉)邏輯運算之邏輯運算而執行指令。例如,功能單元電路可用以經由若干邏輯運算而對運算元執行諸如加法、減法、乘法及/或除法之算術運算。
在提供指令至功能單元電路以供執行時可涉及一計算系統中之若干組件。可例如藉由一處理資源(諸如一控制器及/或主機處理器)執行該等指令。可將資料(例如,將對其執行指令之運算元)儲存於可由功能單元電路存取之一記憶體陣列中。可自該憶體陣列擷取指令及/或資料,且可在功能單元電路開始對資料執行指令之前序列化及/或緩衝指令及/或資料。此外,因為可透過功能單元電路以一或多個時脈循環執行不同類型的運算,所以亦可序列化及/或緩衝該等指令及/或資料之中間結果。
在許多例項中,處理資源(例如,處理器及/或相關聯功能單元電路)可在記憶體陣列外部,且可經由處理資源與記憶體陣列之間的一匯流排存取資料以執行一指令集。處理效能在一記憶體中處理器(processor-in-memory)器件中可得以改良,其中可在一記憶體內部及/或附近(例如,直接在與記憶體陣列相同之一晶片上)實施一處理資源。一記憶體中處理(processing-in-memory)器件可藉由減少及/或消除外部通信而節省時間,且亦可節約電力。
100‧‧‧計算系統
110‧‧‧主機
111‧‧‧虛線
118‧‧‧模組
120‧‧‧記憶體器件
120-1至120-N‧‧‧記憶體器件/記憶體胞
121-1至121-7‧‧‧庫
121‧‧‧庫
123‧‧‧庫區段
123-1至123-N‧‧‧庫區段
125-1至125-N‧‧‧子陣列
130‧‧‧記憶體陣列
140‧‧‧控制器/庫控制/定序器
140-1至140-7‧‧‧控制器
141‧‧‧高速介面(HSI)
142‧‧‧位址電路
143‧‧‧通道控制器
144‧‧‧I/O電路
145-1至145-N‧‧‧庫仲裁器
146‧‧‧列解碼器
148‧‧‧寫入電路
149‧‧‧寫入路徑
150‧‧‧感測電路
150/170‧‧‧感測電路及額外邏輯電路
151‧‧‧控制及資料暫存器
152‧‧‧行解碼器
153‧‧‧匯流排
154‧‧‧控制匯流排/位址及控制(A/C)匯流排
155‧‧‧匯流排
156‧‧‧資料匯流排
157‧‧‧帶外(OOB)匯流排
160‧‧‧邏輯
161‧‧‧局部緩衝器
170‧‧‧邏輯電路
171‧‧‧快取區
202-1‧‧‧電晶體
202-2‧‧‧電晶體
203-1‧‧‧電容器
203-2‧‧‧電容器
205-1‧‧‧資料線/感測線
205-2‧‧‧資料線/感測線
206‧‧‧感測放大器
207-1‧‧‧傳遞閘
207-2‧‧‧傳遞閘
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‧‧‧傳遞閘
331‧‧‧計算組件
342‧‧‧交換電晶體
350-1‧‧‧隔離電晶體
350-2‧‧‧隔離電晶體
352‧‧‧邏輯選擇電晶體
354‧‧‧邏輯選擇電晶體
362‧‧‧邏輯選擇電晶體
364‧‧‧邏輯選擇電晶體
381‧‧‧右移位電晶體
382‧‧‧控制線
383‧‧‧控制線
386‧‧‧右移位電晶體
387‧‧‧反相器
388‧‧‧反相器
389‧‧‧左移位電晶體
390‧‧‧左移位電晶體
391‧‧‧控制線
392‧‧‧控制線
480‧‧‧標頭
A‧‧‧計算組件中之資料值
B‧‧‧感測放大器中之資料值
FT‧‧‧信號控制線/控制信號
FF‧‧‧信號控制線/控制信號
ISO‧‧‧信號控制線/控制信號
Pass‧‧‧邏輯運算選擇邏輯信號
Pass*‧‧‧邏輯運算選擇邏輯信號
PHASE 1R‧‧‧信號
PHASE 2R‧‧‧信號
PHASE 1L‧‧‧信號
PHASE 2L‧‧‧信號
TF‧‧‧信號控制線/控制信號
TT‧‧‧信號控制線/控制信號
圖1A係根據本發明之若干實施例之呈包含一記憶體器件之一計算系統的形式之一裝置之一方塊圖。
圖1B係根據本發明之若干實施例之呈包含一記憶體器件之一計算系統的形式之一裝置之另一方塊圖。
圖1C係根據本發明之若干實施例之一記憶體器件之一庫之一方塊圖。
圖1D係根據本發明之若干實施例之一記憶體器件之一庫之另一
方塊圖。
圖2係繪示根據本發明之若干實施例之一記憶體器件之感測電路之一示意圖。
圖3係繪示根據本發明之若干實施例之一記憶體器件之感測電路之一示意圖。
圖4係繪示根據本發明之若干實施例之由圖3中所示之一感測電路實施之可選擇邏輯運算結果之一邏輯表。
本發明包含關於具有一記憶體器件之裝置及方法以作為程式指令(例如,具備記憶體中處理(PIM)能力的器件之PIM命令)之一儲存。在一項實施例中,裝置包括一記憶體器件。裝置可經由一資料匯流排及一控制匯流排耦合至一主機。記憶體器件包含一記憶體胞陣列及經由複數個感測線耦合至該陣列之感測電路。該感測電路包含一感測放大器及經組態以實施邏輯運算之一計算組件。
一記憶體控制器耦合至該陣列及感測電路。記憶體控制器經組態以接收具有複數個程式指令之一指令區塊。例如,可自一主機接收該指令區塊。在各項實施例中,程式指令藉由一主機預解析。如本文中所使用,術語「預解析」旨在意謂藉由一程式設計師針對一特定器件(例如,具備PIM能力的器件)以軟體及/或韌體例如機器指令(亦稱為「微程式碼」)設計(例如,寫入)程式指令。另外,如本文中所使用,術語「預解析」旨在指示已例如藉由一主機處理資源判定用於儲存指令之位址轉譯。
在各項實施例中,指令區塊包含與於記憶體中處理(PIM)命令(在本文中亦稱為「程式指令」)相關聯之複數個指令。如本文中所使用,PIM命令經執行以引起一具備PIM能力的器件在記憶體上或在記憶體附近執行邏輯運算。邏輯運算之實例包含邏輯布林運算(Boolean
operation),諸如AND、NOR、XOR等。記憶體控制器經組態以將指令區塊儲存於陣列中,且擷取程式指令以在計算組件上執行邏輯運算。
如下文將更詳細說明,記憶體器件之一庫可為一萬六千行或更多(16K+)行寬。一陣列內可存在庫之複數個庫區段。各庫區段可具有特定數目個列,例如,512個列。跨一16K+行寬庫區段可定義複數個區塊。庫區段中之一區塊可具有一1K+行寬。因此,如本文中所使用,一指令區塊旨在意謂如適於儲存於一具備PIM能力的器件中之具有大約1K個位元之一位元長度之一指令區塊。在各項實施例中,區塊可包含進一步定義成複數個塊(chunk),例如,四(4)個256位元塊。然而,實施例不限於位元之此例示性數目。
如在本發明中之下文將進一步顯而易見,此精細(granular)定義可用於其中需要對準向量以執行邏輯運算之一具備記憶體中處理(PIM)能力的記憶體器件。例如,可將一256位元塊視為四(4)個64位元值(例如,數值)之一向量。各64位元值可為一邏輯運算中之一向量之一元素。另外,具有與PIM命令相關聯之複數個指令之一指令區塊可包含64位元PIM命令。例如,用以執行邏輯運算之個別PIM命令(例如,「程式指令」)之長度可為64個位元。因此,PIM命令可呈長度為64個位元之微碼指令的形式。
進一步應注意,具備PIM能力的器件運算可使用基於位元向量之運算來執行邏輯運算。如本文中所使用,術語「位元向量」旨在意謂一位元向量記憶體器件(例如,PIM器件)上之實體鄰接(在一記憶體胞陣列中之列(例如,水平定向)或行(例如,垂直定向)中實體鄰接)數目個位元。因此,如本文中所使用,一「位元向量運算」旨在意謂對一位元向量執行之一運算,該位元向量係例如由一PIM器件使用之虛擬位址空間之一鄰接部分(亦稱為「塊」)。例如,虛擬位址空間之一塊
可具有256個位元之一位元長度。一塊可或可不與該虛擬位址空間中之其他塊實體鄰接。
任何處理資源之一重要特徵係存取足夠程式指令以保持忙碌而具有最小延遲或中斷之能力。在本發明以前,一記憶體中處理(PIM)器件期望擴充動態隨機存取記憶體(DRAM)位址/控制匯流排以針對一DRAM器件上之各庫而將PIM命令傳遞至記憶體控制器。針對該方案,接著DRAM中之各庫將提供專用於指令之一小記憶體。來自此方法之設計複雜性係雙重的。
首先,需要將位址/控制(A/C)匯流排製成更大且以較高速度操作增加對DRAM零件之輸入/輸出(I/O)設計之顯著風險。增加I/O之品質及速度顯著影響晶片面積且涉及謹慎設計工作以避免干擾實際DRAM操作。
其次,晶片上可用指令頻寬將顯著受限於各庫中所包含之指令記憶體之小的大小。無一「後備儲存」(例如,在庫本地之儲存)之該指令記憶體之有限大小意謂一旦指令串流運行超出該小記憶體之大小,DRAM便將等待主機系統提供下一指令集。增加專用指令記憶體(例如,在庫本地之「快取區」)之大小將改良PIM系統提供足夠指令以使DRAM保持忙於PIM運算之能力。然而,增加記憶體之量影響整體晶片面積且亦增加干擾實際DRAM操作之可能性。
本發明之實施例提供一種將具有引數之大量程式指令提供至DRAM且接著以低延時將該等指令投送至DRAM之一嵌入式處理引擎(例如,記憶體控制器)同時保留DRAM之協定、邏輯及電介面之有效方法。因此,本文中描述之實施例可有利於使A/C匯流排保持在一標準寬度及資料速率,從而減少PIM DRAM之任何「特殊」設計量,且亦使PIM DRAM與多種計算器件中之現有記憶體介面更相容。
另外,本文中描述之實施例可容許主機系統在一操作開始時提
供一大指令區塊至DRAM,從而顯著減少或完全消除指令執行之中斷,以將更多指令傳送至一具備PIM能力的DRAM器件。具備PIM能力的器件設計及嵌入式處理引擎(例如,記憶體控制器)之控制流與DRAM之先前折衷包含DRAM上所使用之I/O之顯著增加,此將增加零件上之非生產性空間之分率,且增加平面規劃(floor planning)及雜訊抑制(noise containment)複雜性,且增加零件上之電力消耗而未增加額外計算效能。亦如上文所述,其他先前折衷包含在DRAM中使用相對較大、專用記憶體區域來儲存程式指令而仍未足夠大以保持大量程式指令,因此增加對整體晶片上之I/O資源之競爭且減小記憶體控制器之有效速度。
如下文更詳細描述,實施例可容許一主機系統分配複數個DRAM庫中之若干位置(例如,子陣列或子陣列之部分)以保持指令區塊。主機系統將對一整個指令區塊執行位址解析且將其等寫入至一目標庫中之所分配位置(例如,子陣列)中。根據各項實施例,指令區塊可包含與記憶體中處理(PIM)命令(在本文中亦稱為「程式指令」)相關聯之一或多個相異指令。如本文中所使用,PIM命令經執行以引起一具備PIM能力的器件在記憶體上或在記憶體附近執行邏輯運算。例如,在各項實施例中,可在與具備PIM能力的器件之一記憶體陣列之間距上執行邏輯運算。
將指令區塊寫入至所分配位置利用DRAM器件之正常DRAM寫入路徑。在將指令區塊寫入至所分配位置(例如,子陣列)中之後,主機系統可引導一記憶體控制器(例如,DRAM庫控制器)開始執行該指令區塊。記憶體控制器視需要將自所分配位置拉取(pull)指令區塊以處置該指令區塊所含有之分支、迴圈、邏輯及資料運算,視需要快取程式指令且再填充一指令快取區。
進一步言之,在記憶體控制器執行一指令區塊時,主機系統可
將一後續指令區塊寫入(例如,預寫入)至所分配指令子陣列中,以有利於具備PIM能力的器件中之未來計算之開始。如讀者將瞭解,雖然本文中用實例論述一DRAM式具備PIM能力的器件,但實施例不限於一DRAM記憶體中處理器(PIM)實施方案(PIMRAM)。
為瞭解經改良程式指令技術,用於實施此等技術之一裝置、具有PIM能力之一記憶體器件及相關聯主機之一論述如下。根據各項實施例,涉及具有PIM能力的一記憶體器件之程式指令(例如,PIM命令)可將PIM命令之實施分佈在多個感測電路上方,該等感測電路可實施邏輯運算且可將PIM命令儲存於記憶體陣列內,例如不必用一主機經由記憶體器件之一A/C匯流排來回傳送該等PIM命令。因此,涉及具有PIM能力之一記憶體器件之PIM命令可以較少時間且使用較少電力完成。藉由減少在一計算系統周圍移動以處理所請求之記憶體陣列操作(例如,讀取、寫入等)之資料量,可實現某一時間及電力優點。
與先前系統(諸如先前PIM系統)及具有一外部處理器之系統(例如,定位於一記憶體陣列外部(諸如在一單獨積體電路晶片上)之一處理資源)相比,本發明之若干實施例可提供與執行計算功能相關聯之經改良平行性及/或降低的電力消耗。例如,若干實施例可提供執行完整的計算功能,諸如整數加法、減法、乘法、除法及CAM(內容可定址記憶體)功能,而例如不經由一匯流排(例如,資料匯流排、位址匯流排、控制匯流排)將資料傳送出記憶體陣列及感測電路。此等計算功能可涉及執行若干邏輯運算(舉例而言,諸如AND、OR、NOT、NOR、NAND、XOR等之邏輯函數)。然而,實施例不限於此等實例。例如,執行邏輯運算可包含執行若干非布林邏輯運算,諸如複製、比較、破壞等。
在先前方法中,可(例如,經由包括輸入/輸出(I/O)線之一匯流排)將資料自陣列及感測電路傳送至諸如一處理器、微處理器及/或計
算引擎之一處理資源,該處理資源可包括經組態以執行適當邏輯運算之ALU電路及/或其他功能單元電路。然而,將資料自一記憶體陣列及感測電路傳送至此(等)處理資源可涉及大量電力消耗。即使處理資源定位於與記憶體陣列相同之一晶片上,在將資料移出陣列而至計算電路(此可涉及執行一感測線(在本文中可稱為一數位線或資料線)位址存取(例如,一行解碼信號之觸發(firing))以將資料自感測線傳送至I/O線(例如,本地I/O線)上;將資料移動至陣列周邊;及將資料提供至計算功能)時仍可消耗大量電力。
此外,(若干)處理資源(例如,計算引擎)之電路可不符合與一記憶體陣列相關聯之間距規則。例如,一記憶體陣列之胞可具有一4F2或6F2胞大小,其中「F」係對應於胞之一特徵大小。因而,與先前PIM系統之ALU電路相關聯之器件(例如,邏輯閘)可無法形成於與記憶體胞之間距上,此可影響例如晶片大小及/或記憶體密度。本發明之若干實施例包含形成於與一記憶體胞陣列之間距上且能夠在記憶體胞陣列本地執行諸如集中及分散操作之計算功能之感測電路。
在本發明之以下詳細描述中,參考形成本發明之一部分之隨附圖式,且在隨附圖式中藉由圖解展示可如何實踐本發明之一或多項實施例。足夠詳細地描述此等實施例以使一般技術者能夠實踐本發明之實施例,且應瞭解,在不脫離本發明之範疇之情況下,可利用其他實施例且可進行程序、電氣及/或結構改變。如本文中所使用,諸如「N」、「M」等之標示符(尤其關於圖式中之元件符號)指示:可包含如此指定之若干特定特徵。如本文中所使用,「若干」特定事物可指代此等事物之一或多者(例如,若干記憶體陣列可指代一或多個記憶體陣列)。「複數個」旨在指代一個以上此等事物。
本文中之圖遵循一編號慣例,其中首位或前幾位數字對應於圖式圖號且剩餘數字識別圖式中之一元件或組件。可藉由使用類似數字
識別不同圖之間之類似元件或組件。例如,206可參考圖2中之元件「06」,且一類似元件在圖3中可稱為306。如將瞭解,可添加、交換及/或消除在本文中之各項實施例中展示之元件以提供本發明之若干額外實施例。另外,如將瞭解,圖中所提供的元件之比例及相對尺度旨在繪示本發明之某些實施例,且不應被視為限制意義。
圖1A係根據本發明之若干實施例之呈包含一記憶體器件120之一計算系統100的形式之一裝置之一方塊圖。如本文中所使用,一裝置旨在意謂可經耦合以達成一特定功能之一或多個組件、器件及/或系統。如本文中所使用,一系統旨在意謂以有線或無線方式耦合在一起以形成一較大網路(舉例而言,如在一分佈式計算網路中)之一器件集合。因此,圖1A至圖1D中所展示且論述之記憶體器件120、記憶體控制器140、通道控制器143、庫仲裁器145、高速介面(HSI)141、記憶體陣列130、感測電路150及/或邏輯電路170亦可單獨視為一「裝置」。
系統100包含一主機110,該主機110耦合(例如,連接)至包含一記憶體陣列130之記憶體器件120。主機110可為一主機系統,諸如一個人膝上型電腦、一桌上型電腦、一數位相機、一智慧型電話或一記憶卡讀取器,以及各種其他類型的主機。主機110可包含一系統主機板及/或背板,且可包含若干處理資源(例如,一或多個處理器、微處理器或某一其他類型的控制電路)。系統100可包含單獨積體電路,或主機110及記憶體器件120兩者可在相同積體電路上。系統100可為例如一伺服器系統及/或一高效能計算(HPC)系統及/或其之一部分。儘管圖1A及圖1B中所示之實例繪示具有一范紐曼(Von Neumann)架構之一系統,然本發明之實施例可以非范紐曼架構實施,其可不包含通常與一范紐曼架構相關聯之一或多個組件(例如,CPU、ALU等)。
為明確起見,系統100已經簡化以集中在與本發明特定相關之特
徵。記憶體陣列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。可藉由使用感測電路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可用以至少在某種程度上補充及/或取代此一外部處理資源(或至少此一外部處理資源之頻寬消耗)。
然而,在若干實施例中,感測電路150可用以執行除由一外部處
理資源(例如,主機110)執行之邏輯運算外之邏輯運算(例如,以執行指令)。例如,主機110及/或感測電路150可限於僅執行特定邏輯運算及/或特定數目個邏輯運算。
啟用一I/O線可包含啟用(例如,接通)具有耦合至一解碼信號(例如,一行解碼信號)之一閘極及耦合至該I/O線之一源極/汲極之一電晶體。然而,實施例不限於不啟用一I/O線。例如,在若干實施例中,感測電路(例如,150)可用以執行邏輯運算而不啟用陣列之行解碼線;然而,除傳送回至陣列130之外,可啟用(若干)本地I/O線以將一結果傳送至一適合位置(例如,至一外部暫存器)。
圖1B係根據本發明之若干實施例之呈包含經由一通道控制器143耦合至一主機110之複數個記憶體器件120-1、...、120-N之一計算系統100的形式之另一裝置架構之一方塊圖。在至少一項實施例中,通道控制器143可按一整合方式以一模組118之形式耦合至複數個記憶體器件120-1、...、120-N,例如,形成於與複數個記憶體器件120-1、...、120-N之晶片上。在一替代實施例中,通道控制器143可與主機110整合(如由虛線111繪示),例如形成於與複數個記憶體器件120-1、...、120-N之晶片分開之一晶片上。如圖1A中所繪示,通道控制器143可經由一位址及控制(A/C)匯流排154耦合至複數個記憶體器件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交換。
如圖1B中所示,通道控制器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-1、...、140-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可包含一或多個局部緩衝器161以接收程式指令,且可包含邏輯160以分配各各自庫之陣列中之複數個位置(例如,子陣列或子陣列之部分)以儲存與複數個記憶體器件120-1、...、120-N之各者之操作相關聯之各個庫之程式指令,例如,庫命令及引數(PIM命令)。通道控制器143可將程式指令(例如,PIM命令)發送至複
數個記憶體器件120-1、...、120-N且將該等程式指令儲存於一記憶體器件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可包含控制邏輯、一定序器、一狀態機等,以控制使用感測電路(在圖1A中展示為150)執行邏輯運算。例如,控制器140可控制一陣列(例如,圖1A中之記憶體陣列130)中之移位資料(例如,右或左)。
圖1C係根據本發明之若干實施例之一記憶體器件之一庫121-1之一方塊圖。即,庫121-1可表示一記憶體器件之一例示性庫,諸如圖1B中所示之Bank 0、...、Bank 7(121-0、...、121-7)。如圖1C中所示,一庫架構可包含複數個主記憶體行(水平展示為X),例如在一例示性DRAM庫中16,384個行。另外,庫121-1可分成由用於一資料路徑之放大區域分離之區段123-1、123-2、...、123-N。庫區段123-1、...、123-N之各者可包含複數個列(垂直展示為Y),例如,在一例示性DRAM庫中各區段可包含16,384個列。例示性實施例不限於此處描述之行及列之例示性水平及/或垂直定向或其之例示性數目。
如圖1C中所示,庫架構可包含耦合至庫區段123-1、...、123-N之感測電路及額外邏輯電路150/170,包含感測放大器、暫存器、快取及資料緩衝。感測電路及額外邏輯電路150/170可表示與圖1A中所示之陣列130相關聯之感測電路150及額外邏輯電路,且可提供與圖1A中之記憶體控制器140相關聯之對快取區171之額外快取。進一步言之,如圖1C中所示,庫架構可包含庫控制140,其可表示圖1A中所示之記憶體控制器140。在實例中,圖1C中所示之庫控制可表示由圖1A中所示之記憶體控制器140具體實施且包含於該記憶體控制器140中之功能性。
圖1D係根據本發明之若干實施例之一記憶體器件之一庫121之另一方塊圖。例如,庫121可表示一記憶體器件之一例示性庫,諸如圖1B中所示之Bank 0、...、Bank 7(121-0、...、121-7)。如圖1D中所示,一庫架構可包含耦合一記憶體控制器(例如,庫控制/定序器140)之一位址/控制(A/C)路徑(例如,匯流排153)。再者,在實例中,圖1D中所示之庫控制/定序器140可表示由圖1A及圖1B中所示之記憶體控制器/定序器140具體實施且包含於該記憶體控制器/定序器140中之功能性之至少一部分。亦如圖1D中所示,一庫架構可包含一資料路徑(例如,匯流排155),其耦合至一指令(例如,程式指令(PIM命令))讀取路徑中之複數個控制/資料暫存器且耦合至一特定庫121中之複數個庫區段(例如,庫區段123)。
如圖1D中所示,一庫區段123進一步可細分成複數個子陣列125-1、...、125-N,其等再次由如圖1B中所示且結合圖2至圖4進一步描述之複數個感測電路及額外邏輯電路150/170分離。在一項實例中,一庫區段121可分成十六(16)個子陣列。然而,實施例不限於此例示性數目。
圖1D繪示一程式指令快取區171,其與庫之控制器140相關聯且
耦合至一寫入路徑149及庫123中之子陣列125-1、...、125-N之各者。替代地或額外地,圖1A中所示之邏輯電路170可用作例如用以在一特定庫本地(「在間距上」)快取及/或重新快取所擷取之指令之一指令快取。在至少一項實施例中,複數個子陣列125-1、...、125-N及/或複數個子陣列之部分可稱為用於將程式指令(例如,PIM命令)及/或常數資料儲存至一記憶體器件中之一庫123之複數個位置。
根據本發明之實施例,圖1D中所示之控制器140(例如,記憶體控制器)經組態以自一主機(例如,圖1A中之主機110)接收一指令區塊及/或常數資料。或者,可在控制器140處自與主機110整合或與主機分離(例如,以一模組118之形式與複數個記憶體器件120-1、...、120-N整合,如圖1B中所示)之一通道控制器143接收指令區塊及/或常數資料。
指令區塊及/或資料可包含複數個程式指令(例如,PIM命令)及/或常數資料(例如,經設定用於PIM計算之資料)。根據實施例,記憶體控制器140經組態以將來自主機110及/或通道控制器143之指令區塊及/或常數資料儲存於一陣列(例如,圖1A中所示之陣列130)及/或一庫(例如,圖1B、圖1C及圖1D中所示之庫121-0、...、121-7)之(圖1D中所示之123)中。記憶體控制器140進一步經組態以例如包含呈硬體電路及/或特定應用積體電路(ASIC)之形式之邏輯,以接收程式指令且執行該等程式指令以使用感測電路(包含一計算組件(諸如在圖1A中展示為150之感測電路及圖2及圖3中之計算組件231及331)執行邏輯運算。
在圖1D之例示性實施例中,控制器140經組態以使用DRAM協定及DRAM邏輯及電介面以自主機110及/或通道控制器143接收程式指令及/或常數資料,且執行程式指令及/或使用常數資料以用感測電路150、250及/或350之計算組件執行邏輯運算。在控制器140處接收且
由控制器140執行之程式指令及/或常數資料可由一程式設計師預解析(例如,預定義)及/或提供至主機110及/或通道控制器143。
在一些實施例中,如圖1B中所見,記憶體胞陣列(圖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可經組態以(例如在A/C匯流排154上)自主機110及/或通道控制器143接收指令,以開始執行接收至一給定庫121-1、...、121-7之指令區塊。記憶體控制器140經組態以(例如,在控制及資料暫存器151之讀取資料路徑155上)自特定庫之複數個位置擷取指令,且執行程式指令以使用感測電路150之計算組件執行邏輯運算。控制器140可在特定庫本地(例如,在指令快取區171及/或邏輯電路170中)快取所擷取之程式指令,以處置指令區塊執行內所含有之分支、迴圈、邏輯及資料操作。且控制器140可重新快取所擷取之指令以重複使用。因此,一DRAM器件上之一專用程式指令記憶體(快取區)之大小不必增加以將經預解析程式指令儲存於具備PIM能力的DRAM器件(PIMRAM)上。
在一些實施例中,複數個記憶體器件120-1、...、120-N耦合至一主機110及/或通道控制器143。此處,主機110及/或通道控制器143可
例如經由一資料匯流排156將指令區塊發送至複數個記憶體器件120-1、...、120-N之一適當庫仲裁器145-1、...、145-N。
進一步言之,根據實施例,記憶體控制器140經組態使得在記憶體控制器140(例如,並行)執行一先前接收之指令區塊時,一庫121可接收與該特定庫相關之程式指令之一後續指令區塊且將所接收之指令區塊中之指令儲存至該特定庫之複數個位置。因此,本文中描述之實施例無需等待將自一主機110及/或通道控制器143接收之未來或下一程式指令集(例如,PIM命令)。代替性地,本文中描述之裝置及方法器件有利於具備PIM能力的DRAM器件中針對程式指令(例如,PIM命令)之一後備儲存,且可有利於在執行一先前接收之指令區塊時將一後續指令區塊預寫入至所分配位置中,以有利於開始具備PIM能力的DRAM器件中之未來計算。
如讀者將瞭解,且如圖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_)透過流出電晶體(source transistor)211驅動至供應電壓之電壓VCC,且另一資料線205-1(D)或205-2(D_)透過汲入電晶體(sink transistor)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」欄對應於傳遞閘307-1及307-2以及交換電晶體342皆處於一非
傳導條件,「Open True」對應於傳遞閘307-1及307-2處於一傳導條件,且「Open Invert」對應於交換電晶體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中概述可由如圖1中所示之感測電路150實施之九種不同可選擇邏輯運算,包含一XOR邏輯運算。
圖4中繪示之邏輯表4-2之欄展示包含邏輯選擇控制信號之狀態之一標頭480。例如,在列476中提供一第一邏輯選擇控制信號之狀態,在列477中提供一第二邏輯選擇控制信號之狀態,在列478中提供一第三邏輯選擇控制信號之狀態,且在列479中提供一第四邏輯選擇控制信號之狀態。在列447中概述對應於結果之特定邏輯運算。
雖然例示性實施例包含本文中已繪示且描述之感測電路、感測放大器、計算組件、動態鎖存器、隔離器件及/或移位電路之各種組合及組態,但本發明之實施例不限於本文中所明確陳述之該等組合。本文中揭示之感測電路、感測放大器、計算組件、動態鎖存器、隔離器件及/或移位電路之其他組合及組態明確包含於本發明之範疇內。
儘管本文中已繪示及描述特定實施例,然一般技術者將瞭解,經計算以達成相同結果之一配置可取代所示之特定實施例。本發明旨在涵蓋本發明之一或多項實施例之調適或變動。應瞭解,已依一闡釋性方式而非一限制性方式進行上述描述。熟習此項技術者在檢閱上述描述之後將瞭解上述實施例與本文中未具體描述之其他實施例之組合。本發明之一或多項實施例之範疇包含其中使用上述結構及方法之
其他應用。因此,應參考隨附申請專利範圍連同此等申請專利範圍所授權之等效物之全範圍而判定本發明之一或多項實施例之範疇。
在前述【實施方式】中,為簡化本發明之目的將一些特徵集合在一單一實施例中。本發明之此方法不應解釋為反映以下意圖:本發明之所揭示實施例必須使用多於各請求項中所明確陳述之特徵。實情係,如以下申請專利範圍反映,本發明標的在於少於一單一揭示實施例之全部特徵。因此,以下申請專利範圍特此併入至【實施方式】中,其中各請求項自身獨立作為一單獨實施例。
Claims (24)
- 一種電子裝置,其包括:一記憶體器件,其中該記憶體器件包括:一記憶體胞陣列;感測電路,其經由複數個感測線耦合至該記憶體胞陣列,該感測電路包含感測放大器及經組態以執行邏輯運算之一計算組件;及一記憶體控制器,其耦合至該記憶體胞陣列及該感測電路,該記憶體控制器經組態以:接收一指令區塊,該指令區塊包含複數個程式指令;將該指令區塊儲存於該記憶體胞陣列中;及從該記憶體胞陣列擷取該等程式指令以使用該計算組件執行邏輯運算。
- 如請求項1之裝置,其中該記憶體胞陣列係動態隨機存取記憶體(DRAM)胞。
- 如請求項1之裝置,其中該複數個程式指令包括與記憶體中處理(PIM)命令相關聯之複數個程式指令。
- 如請求項3之裝置,其中該記憶體控制器經組態以使用一DRAM協定及DRAM邏輯及電介面來接收該指令區塊,且擷取個別程式指令以使用該計算組件執行邏輯運算。
- 如請求項1之裝置,其中在該記憶體控制器處接收之該指令區塊藉由一主機預解析。
- 如請求項1之裝置,其中該記憶體胞陣列包含複數個記憶體胞庫,其中該記憶體器件包含耦合至該複數個庫之各者之一庫仲裁器,且其中各庫包含該記憶體控制器,該記憶體控制器經組 態以:自該庫仲裁器接收與該庫相關之一指令區塊;及將該指令區塊儲存至如由一主機解析之該庫上之複數個位置。
- 如請求項6之裝置,其中各記憶體控制器經組態以:接收指令以開始執行程式指令;自該庫之該複數個位置擷取個別程式指令以重複使用,以處置該指令區塊內所含有之分支、迴圈、邏輯及資料運算;在該庫本地快取所擷取之個別程式指令;及重新快取所擷取之個別程式指令以重複使用。
- 如請求項7之裝置,其中:該裝置進一步包含耦合至該感測電路之邏輯電路,該邏輯電路包含呈感測放大器之形式之鎖存器;及其中該記憶體控制器經組態以將所擷取之程式指令快取且重新快取至該邏輯電路。
- 如請求項1之裝置,其中:該裝置包括經組態以經由一通道控制器耦合至一主機之複數個記憶體器件;及其中該通道控制器經組態以:分配該複數個記憶體器件中之複數個位置以儲存該指令區塊;及將該指令區塊發送至該複數個記憶體器件之各者之一庫仲裁器。
- 如請求項9之裝置,其中該複數個記憶體器件中之該複數個位置係複數個子陣列之部分。
- 如請求項1之裝置,其中該裝置經組態以: 經由一庫仲裁器接收一後續指令區塊至該記憶體器件之一庫;及在該記憶體控制器執行一先前接收之指令區塊時將該後續指令區塊儲存至該庫之複數個位置,以有利於使用該計算組件開始未來邏輯運算。
- 如請求項1之裝置,其中該記憶體控制器經組態以執行該指令區塊中之程式指令,以在該計算組件上執行邏輯運算。
- 如請求項1之裝置,其中該記憶體控制器經組態以在與該記憶體胞陣列之間距上快取且重新快取所擷取之程式指令。
- 如請求項1之裝置,其中該記憶體控制器經組態以控制該感測電路以實施邏輯函數,包含AND、OR、NOT、XOR、NAND及NOR邏輯函數。
- 如請求項14之裝置,其中該記憶體控制器經組態以控制該感測電路以執行非布林邏輯運算,包含複製、比較及擦除。
- 一種用於操作一記憶體器件以作為經預解析指令之一儲存之方法,其包括:接收包含複數個程式指令之一指令區塊至該記憶體器件中之一庫,其中該庫包括:一記憶體胞陣列;感測電路,其耦合至該記憶體胞陣列,該感測電路包含一感測放大器及經組態以實施邏輯運算之一計算組件;及一記憶體控制器,其耦合至該記憶體胞陣列及該感測電路;將該指令區塊儲存於該記憶體胞陣列中;及自該記憶體胞陣列接收程式指令以引起該計算組件執行邏輯運算。
- 如請求項16之方法,其中接收包含該複數個程式指令之該指令區塊包括:接收包含與記憶體中處理(PIM)命令相關聯之複數個經預解析程式指令之一指令區塊。
- 如請求項16之方法,其中該記憶體胞陣列係一動態隨機存取記憶體陣列(DRAM),且儲存該指令區塊包括將該指令區塊儲存於該DRAM之複數個子陣列中。
- 如請求項16之方法,其中接收、儲存及擷取包括:使用DRAM協定及DRAM邏輯及電介面接收、儲存及擷取該等程式指令。
- 如請求項16之方法,其中該方法包括:在該記憶體控制器處接收指令以開始執行該指令區塊中之一程式指令;自該記憶體胞陣列擷取該程式指令以使用該計算組件執行邏輯運算;在至該庫之間距上快取該所擷取程式指令;及在至該庫之間距上重新快取該所擷取程式指令以重複使用,以處置分支、迴圈、邏輯及資料運算。
- 如請求項20之方法,其中在至該庫之間距上快取及重新快取該等程式指令包括:在耦合至該感測電路之額外邏輯電路中且在與該記憶體胞陣列之間距上快取及重新快取。
- 如請求項20之方法,其中該方法包括:在該記憶體控制器執行來自一先前接收之指令區塊之程式指令時接收包含複數個程式指令之一後續指令區塊至該庫;及與執行來自該先前接收之指令區塊之程式指令並行地將該後續指令區塊儲存至該記憶體胞陣列。
- 如請求項16之方法,其中該方法包括:經由一庫仲裁器接收包含經預解析程式指令之一指令區塊至該記憶體器件上之複數個庫中之各自庫。
- 如請求項23之方法,其中該方法包括:經由一通道控制器接收該指令區塊至複數個記憶體器件之各者上之該庫仲裁器;及使用該通道控制器中之邏輯分配各自庫之該記憶體胞陣列中之複數個位置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562112914P | 2015-02-06 | 2015-02-06 | |
US62/112,914 | 2015-02-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201643872A TW201643872A (zh) | 2016-12-16 |
TWI620194B true TWI620194B (zh) | 2018-04-01 |
Family
ID=56564525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105104190A TWI620194B (zh) | 2015-02-06 | 2016-02-05 | 用於記憶體器件之裝置及方法以作為程式化指令之一儲存 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10289542B2 (zh) |
EP (1) | EP3254287A4 (zh) |
CN (1) | CN107408404B (zh) |
TW (1) | TWI620194B (zh) |
WO (1) | WO2016126478A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI734130B (zh) * | 2018-06-29 | 2021-07-21 | 台灣積體電路製造股份有限公司 | 記憶體裝置、記憶體輸入/輸出電路及其方法 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8971124B1 (en) * | 2013-08-08 | 2015-03-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US10606587B2 (en) * | 2016-08-24 | 2020-03-31 | Micron Technology, Inc. | Apparatus and methods related to microcode instructions indicating instruction types |
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 |
US10522210B2 (en) | 2017-12-14 | 2019-12-31 | Micron Technology, Inc. | Apparatuses and methods for subarray addressing |
US10332586B1 (en) | 2017-12-19 | 2019-06-25 | Micron Technology, Inc. | Apparatuses and methods for subrow addressing |
US10614875B2 (en) | 2018-01-30 | 2020-04-07 | Micron Technology, Inc. | Logical operations using memory cells |
US11194477B2 (en) | 2018-01-31 | 2021-12-07 | Micron Technology, Inc. | Determination of a match between data values stored by three or more arrays |
US10437557B2 (en) | 2018-01-31 | 2019-10-08 | Micron Technology, Inc. | Determination of a match between data values stored by several arrays |
EP3776243A1 (en) * | 2018-03-31 | 2021-02-17 | Micron Technology, Inc. | Backpressure control using a stop signal for a multi-threaded, self-scheduling reconfigurable computing fabric |
KR102454405B1 (ko) * | 2018-03-31 | 2022-10-17 | 마이크론 테크놀로지, 인크. | 멀티 스레드, 자체 스케줄링 재구성 가능한 컴퓨팅 패브릭에 대한 효율적인 루프 실행 |
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 |
US10949101B2 (en) * | 2019-02-25 | 2021-03-16 | Micron Technology, Inc. | Storage device operation orchestration |
CN111679785A (zh) | 2019-03-11 | 2020-09-18 | 三星电子株式会社 | 用于处理操作的存储器装置及其操作方法、数据处理系统 |
US10983795B2 (en) * | 2019-03-27 | 2021-04-20 | Micron Technology, Inc. | Extended memory operations |
CN110164487A (zh) * | 2019-04-08 | 2019-08-23 | 苏州汇峰微电子有限公司 | 一种动态随机存储器的架构 |
US12118056B2 (en) | 2019-05-03 | 2024-10-15 | Micron Technology, Inc. | Methods and apparatus for performing matrix transformations within a memory array |
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 |
US11262949B2 (en) * | 2020-05-28 | 2022-03-01 | Advanced Micro Devices, Inc. | Command throughput in PIM-enabled memory using available data bus bandwidth |
US11403111B2 (en) | 2020-07-17 | 2022-08-02 | Micron Technology, Inc. | Reconfigurable processing-in-memory logic using look-up tables |
US11227641B1 (en) | 2020-07-21 | 2022-01-18 | Micron Technology, Inc. | Arithmetic operations in memory |
US11355170B1 (en) | 2020-12-16 | 2022-06-07 | Micron Technology, Inc. | Reconfigurable processing-in-memory logic |
US11354134B1 (en) * | 2021-03-25 | 2022-06-07 | Micron Technology, Inc. | Processing-in-memory implementations of parsing strings against context-free grammars |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030196030A1 (en) * | 1990-10-18 | 2003-10-16 | Elliott Duncan G. | Method and apparatus for an energy efficient operation of multiple processors in a memory |
US20120127807A1 (en) * | 2010-11-18 | 2012-05-24 | Micron Technology, Inc. | Memory instruction including parameter to affect operating condition of memory |
US8332580B2 (en) * | 2008-04-02 | 2012-12-11 | Zikbit Ltd. | System, method and apparatus for memory with embedded associative section for computations |
US20140250279A1 (en) * | 2013-03-04 | 2014-09-04 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US20140247673A1 (en) * | 2011-10-28 | 2014-09-04 | Naveen Muralimanohar | Row shifting shiftable memory |
US20150029798A1 (en) * | 2013-07-26 | 2015-01-29 | Micron Technology, Inc. | Apparatuses and methods for performing compare operations using sensing circuitry |
Family Cites Families (270)
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., Dallas | 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 |
KR940004434A (ko) | 1992-08-25 | 1994-03-15 | 윌리엄 이. 힐러 | 스마트 다이나믹 랜덤 억세스 메모리 및 그 처리방법 |
KR950004854B1 (ko) | 1992-10-08 | 1995-05-15 | 삼성전자 주식회사 | 반도체 메모리 장치 |
US5485373A (en) | 1993-03-25 | 1996-01-16 | Taligent, Inc. | Language-sensitive text searching system with modified Boyer-Moore process |
US5440482A (en) | 1993-03-25 | 1995-08-08 | Taligent, Inc. | Forward and reverse Boyer-Moore string searching of multilingual text having a defined collation order |
US5754478A (en) | 1993-04-20 | 1998-05-19 | Micron Technology, Inc. | Fast, low power, write scheme for memory circuits using pulsed off isolation device |
US5369622A (en) | 1993-04-20 | 1994-11-29 | Micron Semiconductor, Inc. | Memory with isolated digit lines |
JP2663838B2 (ja) | 1993-07-27 | 1997-10-15 | 日本電気株式会社 | 半導体集積回路装置 |
JP3252306B2 (ja) | 1993-08-10 | 2002-02-04 | 株式会社日立製作所 | 半導体不揮発性記憶装置 |
JP3904244B2 (ja) | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
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 | 김광호 | 단속제어회로를 구비한 반도체 메모리 장치와 제어방법 |
US6728851B1 (en) * | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
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 | 주식회사 하이닉스반도체 | 고속동작용디램 |
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 |
GB2363231B (en) * | 1999-09-24 | 2002-05-08 | Clearspeed Technology Ltd | Memory devices |
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 | 富士通セミコンダクター株式会社 | 半導体記憶装置及びその制御方法 |
US6687175B1 (en) | 2000-02-04 | 2004-02-03 | Renesas Technology Corporation | Semiconductor device |
AU2001239907A1 (en) | 2000-02-29 | 2001-09-12 | Stephen J. Guerreri | Method and apparatus for building a memory image |
US7028170B2 (en) | 2000-03-08 | 2006-04-11 | Sun Microsystems, Inc. | Processing architecture having a compare capability |
JP3983969B2 (ja) | 2000-03-08 | 2007-09-26 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6678678B2 (en) | 2000-03-09 | 2004-01-13 | Braodcom Corporation | Method and apparatus for high speed table search |
JP3822412B2 (ja) | 2000-03-28 | 2006-09-20 | 株式会社東芝 | 半導体記憶装置 |
US6965648B1 (en) | 2000-05-04 | 2005-11-15 | Sun Microsystems, Inc. | Source synchronous link integrity validation |
AU2001270400A1 (en) | 2000-07-07 | 2002-01-21 | Mosaid Technologies Incorporated | A high speed dram architecture with uniform access latency |
US6466499B1 (en) | 2000-07-11 | 2002-10-15 | Micron Technology, Inc. | DRAM sense amplifier having pre-charged transistor body nodes |
AU2001285161A1 (en) | 2000-08-21 | 2002-03-04 | 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 |
US7076610B2 (en) * | 2000-11-22 | 2006-07-11 | Integrated Device Technology, Inc. | FIFO memory devices having multi-port cache memory arrays therein that support hidden EDC latency and bus matching and methods of operating same |
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 |
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 |
US6778435B1 (en) * | 2002-06-12 | 2004-08-17 | T-Ram, Inc. | Memory architecture for TCCT-based memory cells |
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 |
US20050015557A1 (en) | 2002-12-27 | 2005-01-20 | Chih-Hung Wang | Nonvolatile memory unit with specific cache |
US7346903B2 (en) | 2003-02-04 | 2008-03-18 | Sun Microsystems, Inc. | Compiling and linking modules of a cycle-based logic design |
US6768679B1 (en) | 2003-02-10 | 2004-07-27 | Advanced Micro Devices, Inc. | Selection circuit for accurate memory read operations |
US6819612B1 (en) | 2003-03-13 | 2004-11-16 | Advanced Micro Devices, Inc. | Apparatus and method for a sense amplifier circuit that samples and holds a reference voltage |
US6865122B2 (en) | 2003-04-11 | 2005-03-08 | Intel Corporation | Reclaiming blocks in a block-alterable memory |
US7574466B2 (en) | 2003-04-23 | 2009-08-11 | Micron Technology, Inc. | Method for finding global extrema of a set of shorts distributed across an array of parallel processing elements |
US7454451B2 (en) | 2003-04-23 | 2008-11-18 | Micron Technology, Inc. | Method for finding local extrema of a set of values for a parallel processing element |
US7447720B2 (en) | 2003-04-23 | 2008-11-04 | Micron Technology, Inc. | Method for finding global extrema of a set of bytes distributed across an array of parallel processing elements |
US9015390B2 (en) * | 2003-04-25 | 2015-04-21 | Micron Technology, Inc. | Active memory data compression system and method |
DE10319271A1 (de) | 2003-04-29 | 2004-11-25 | Infineon Technologies Ag | Speicher-Schaltungsanordnung und Verfahren zur Herstellung |
JP3898152B2 (ja) | 2003-05-27 | 2007-03-28 | ローム株式会社 | 演算機能付き記憶装置および演算記憶方法 |
WO2005024843A1 (en) | 2003-09-04 | 2005-03-17 | Koninklijke Philips Electronics N.V. | Integrated circuit and a method of cache remapping |
US6956770B2 (en) | 2003-09-17 | 2005-10-18 | Sandisk Corporation | Non-volatile memory and method with bit line compensation dependent on neighboring operating modes |
US7177183B2 (en) | 2003-09-30 | 2007-02-13 | Sandisk 3D Llc | Multiple twin cell non-volatile memory array and logic block structure and method therefor |
US7913125B2 (en) | 2003-11-04 | 2011-03-22 | Lsi Corporation | BISR mode to test the redundant elements and regular functional memory to avoid test escapes |
US6950771B1 (en) | 2003-12-09 | 2005-09-27 | Xilinx, Inc. | Correlation of electrical test data with physical defect data |
US7631236B2 (en) | 2004-01-29 | 2009-12-08 | International Business Machines Corporation | Hybrid built-in self test (BIST) architecture for embedded memory arrays and an associated method |
US7401281B2 (en) | 2004-01-29 | 2008-07-15 | International Business Machines Corporation | Remote BIST high speed test and redundancy calculation |
JP4819316B2 (ja) | 2004-02-23 | 2011-11-24 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US7088606B2 (en) | 2004-03-10 | 2006-08-08 | Altera Corporation | Dynamic RAM storage techniques |
US7020017B2 (en) | 2004-04-06 | 2006-03-28 | Sandisk Corporation | Variable programming of non-volatile memory |
US7120063B1 (en) | 2004-05-07 | 2006-10-10 | Spansion Llc | Flash memory cell and methods for programming and erasing |
US8522205B2 (en) | 2004-05-18 | 2013-08-27 | Oracle International Corporation | Packaging multiple groups of read-only files of an application's components into multiple shared libraries |
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 |
US7631132B1 (en) * | 2004-12-27 | 2009-12-08 | Unisys Corporation | Method and apparatus for prioritized transaction queuing |
KR100673901B1 (ko) | 2005-01-28 | 2007-01-25 | 주식회사 하이닉스반도체 | 저전압용 반도체 메모리 장치 |
US7543119B2 (en) | 2005-02-10 | 2009-06-02 | Richard Edward Hessel | Vector processor |
US7624313B2 (en) | 2005-03-28 | 2009-11-24 | Hewlett-Packard Development Company, L.P. | TCAM BIST with redundancy |
US7196928B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
US7187585B2 (en) | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
US7193898B2 (en) | 2005-06-20 | 2007-03-20 | Sandisk Corporation | Compensation currents in non-volatile memory read operations |
US20080126690A1 (en) * | 2006-02-09 | 2008-05-29 | Rajan Suresh N | Memory module with memory stack |
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 |
US7885119B2 (en) | 2006-07-20 | 2011-02-08 | Sandisk Corporation | Compensating for coupling during programming |
US7443729B2 (en) | 2006-07-20 | 2008-10-28 | Sandisk Corporation | System that compensates for coupling based on sensing a neighbor using coupling |
US7692466B2 (en) | 2006-08-18 | 2010-04-06 | Ati Technologies Ulc | Sense amplifier based flip-flop |
US7805587B1 (en) | 2006-11-01 | 2010-09-28 | Nvidia Corporation | Memory addressing controlled by PTE fields |
US8151082B2 (en) | 2007-12-06 | 2012-04-03 | Fusion-Io, Inc. | Apparatus, system, and method for converting a storage request into an append data storage command |
US7471536B2 (en) | 2006-12-08 | 2008-12-30 | Texas Instruments Incorporated | Match mismatch emulation scheme for an addressed location in a CAM |
US7460387B2 (en) | 2007-01-05 | 2008-12-02 | International Business Machines Corporation | eDRAM hierarchical differential sense amp |
US7743303B2 (en) | 2007-01-22 | 2010-06-22 | Micron Technology, Inc. | Defective memory block remapping method and system, and memory device and processor-based system using same |
US7937535B2 (en) | 2007-02-22 | 2011-05-03 | Arm Limited | Managing cache coherency in a data processing apparatus |
US7804718B2 (en) | 2007-03-07 | 2010-09-28 | Mosaid Technologies Incorporated | Partial block erase architecture for flash memory |
US7492640B2 (en) | 2007-06-07 | 2009-02-17 | Sandisk Corporation | Sensing with bit-line lockout control in non-volatile memory |
JP2009009665A (ja) | 2007-06-29 | 2009-01-15 | Elpida Memory Inc | 半導体記憶装置 |
US7996749B2 (en) | 2007-07-03 | 2011-08-09 | Altera Corporation | Signal loss detector for high-speed serial interface of a programmable logic device |
US7489543B1 (en) | 2007-07-25 | 2009-02-10 | Micron Technology, Inc. | Programming multilevel cell memory arrays |
US7694195B2 (en) | 2007-08-14 | 2010-04-06 | Dell Products L.P. | System and method for using a memory mapping function to map memory defects |
US7869273B2 (en) | 2007-09-04 | 2011-01-11 | Sandisk Corporation | Reducing the impact of interference during programming |
US7787319B2 (en) | 2007-09-06 | 2010-08-31 | Innovative Silicon Isi Sa | Sense amplifier circuitry for integrated circuit having memory cell array, and method of operating same |
US8042082B2 (en) | 2007-09-12 | 2011-10-18 | Neal Solomon | Three dimensional memory in a system on a chip |
US7965564B2 (en) | 2007-09-18 | 2011-06-21 | Zikbit Ltd. | Processor arrays made of standard memory cells |
US7663928B2 (en) | 2007-10-09 | 2010-02-16 | Ememory Technology Inc. | Sense amplifier circuit having current mirror architecture |
WO2009052525A1 (en) | 2007-10-19 | 2009-04-23 | Virident Systems, Inc. | Managing memory systems containing components with asymmetric characteristics |
US7924628B2 (en) | 2007-11-14 | 2011-04-12 | Spansion Israel Ltd | Operation of a non-volatile memory array |
US7979667B2 (en) | 2007-12-10 | 2011-07-12 | Spansion Llc | Memory array search engine |
US7755960B2 (en) | 2007-12-17 | 2010-07-13 | Stmicroelectronics Sa | Memory including a performance test circuit |
US8495438B2 (en) | 2007-12-28 | 2013-07-23 | Texas Instruments Incorporated | Technique for memory imprint reliability improvement |
CN101216751B (zh) * | 2008-01-21 | 2010-07-14 | 戴葵 | 基于分布存储结构的具有数据处理能力的动态随机存储器装置 |
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 |
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. |
CN101414478B (zh) * | 2008-11-13 | 2010-12-08 | 戴葵 | 一种嵌入式动态随机存储器电路 |
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 |
US9606807B2 (en) * | 2009-06-04 | 2017-03-28 | Micron Technology, Inc. | Direct communication with a processor internal to a memory device |
KR20100134235A (ko) | 2009-06-15 | 2010-12-23 | 삼성전자주식회사 | 반도체 메모리 장치 |
US7898864B2 (en) | 2009-06-24 | 2011-03-01 | Sandisk Corporation | Read operation for memory with compensation for coupling based on write-erase cycles |
US8412985B1 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Hardwired remapped memory |
US8412987B2 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Non-volatile memory to store memory remap information |
US8238173B2 (en) | 2009-07-16 | 2012-08-07 | Zikbit Ltd | Using storage cells to perform computation |
US9076527B2 (en) | 2009-07-16 | 2015-07-07 | Mikamonu Group Ltd. | Charge sharing in a TCAM array |
JP4951041B2 (ja) | 2009-08-06 | 2012-06-13 | 株式会社東芝 | 半導体記憶装置 |
US8059438B2 (en) | 2009-08-28 | 2011-11-15 | International Business Machines Corporation | Content addressable memory array programmed to perform logic operations |
US8077532B2 (en) | 2009-09-02 | 2011-12-13 | Micron Technology, Inc. | Small unit internal verify read in a memory device |
US8482975B2 (en) | 2009-09-14 | 2013-07-09 | Micron Technology, Inc. | Memory kink checking |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
US20120246380A1 (en) | 2009-10-21 | 2012-09-27 | Avidan Akerib | Neighborhood operations for parallel processing |
US8719516B2 (en) * | 2009-10-21 | 2014-05-06 | Micron Technology, Inc. | Memory having internal processors and methods of controlling memory access |
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 |
US9317536B2 (en) | 2010-04-27 | 2016-04-19 | 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 |
US8850137B2 (en) * | 2010-10-11 | 2014-09-30 | Cisco Technology, Inc. | Memory subsystem for counter-based and other applications |
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 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置 |
US8553481B2 (en) | 2010-11-29 | 2013-10-08 | Apple Inc. | Sense amplifier latch with integrated test data multiplexer |
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 | データ処理装置およびそのデータ処理方法 |
JP2012203919A (ja) * | 2011-03-23 | 2012-10-22 | Toshiba 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 |
CN103946811B (zh) * | 2011-09-30 | 2017-08-11 | 英特尔公司 | 用于实现具有不同操作模式的多级存储器分级结构的设备和方法 |
US8891297B2 (en) | 2011-11-01 | 2014-11-18 | Micron Technology, Inc. | Memory cell sensing |
US9830158B2 (en) | 2011-11-04 | 2017-11-28 | Nvidia Corporation | Speculative execution and rollback |
KR101321481B1 (ko) | 2011-11-04 | 2013-10-28 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이를 위한 테스트 회로 |
KR20130052971A (ko) | 2011-11-14 | 2013-05-23 | 삼성전자주식회사 | 비휘발성 메모리 장치의 동작 방법 |
GB2511957B (en) | 2011-11-22 | 2015-02-11 | Mips Tech Inc | Processor with kernel mode access to user space virtual addresses |
CN103959237B (zh) | 2011-11-30 | 2016-09-28 | 英特尔公司 | 用于提供向量横向比较功能的指令和逻辑 |
KR20130072869A (ko) | 2011-12-22 | 2013-07-02 | 에스케이하이닉스 주식회사 | 프리차지 회로 및 비휘발성 메모리 장치 |
CN104011657B (zh) | 2011-12-22 | 2016-10-12 | 英特尔公司 | 用于向量计算和累计的装置和方法 |
US9430735B1 (en) * | 2012-02-23 | 2016-08-30 | Micron Technology, Inc. | Neural network in a memory device |
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 |
US9171153B2 (en) | 2013-05-17 | 2015-10-27 | Hewlett-Packard Development Company, L.P. | Bloom filter with memory element |
US8971124B1 (en) | 2013-08-08 | 2015-03-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9430191B2 (en) | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
CN106415522B (zh) | 2014-05-08 | 2020-07-21 | 美光科技公司 | 存储器内轻量一致性 |
CN106462501B (zh) | 2014-05-08 | 2019-07-09 | 美光科技公司 | 基于混合存储器立方体系统互连目录的高速缓冲存储器一致性方法 |
-
2016
- 2016-01-27 CN CN201680012413.9A patent/CN107408404B/zh active Active
- 2016-01-27 EP EP16746991.5A patent/EP3254287A4/en not_active Ceased
- 2016-01-27 WO PCT/US2016/015059 patent/WO2016126478A1/en active Application Filing
- 2016-02-05 TW TW105104190A patent/TWI620194B/zh active
-
2017
- 2017-08-04 US US15/669,590 patent/US10289542B2/en active Active
-
2018
- 2018-12-18 US US16/224,498 patent/US10817414B2/en active Active
-
2020
- 2020-10-26 US US17/080,495 patent/US11263123B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030196030A1 (en) * | 1990-10-18 | 2003-10-16 | Elliott Duncan G. | Method and apparatus for an energy efficient operation of multiple processors in a memory |
US8332580B2 (en) * | 2008-04-02 | 2012-12-11 | Zikbit Ltd. | System, method and apparatus for memory with embedded associative section for computations |
US20120127807A1 (en) * | 2010-11-18 | 2012-05-24 | Micron Technology, Inc. | Memory instruction including parameter to affect operating condition of memory |
US20140247673A1 (en) * | 2011-10-28 | 2014-09-04 | Naveen Muralimanohar | Row shifting shiftable memory |
US20140250279A1 (en) * | 2013-03-04 | 2014-09-04 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US20150029798A1 (en) * | 2013-07-26 | 2015-01-29 | Micron Technology, Inc. | Apparatuses and methods for performing compare operations using sensing circuitry |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI734130B (zh) * | 2018-06-29 | 2021-07-21 | 台灣積體電路製造股份有限公司 | 記憶體裝置、記憶體輸入/輸出電路及其方法 |
US11295791B2 (en) | 2018-06-29 | 2022-04-05 | Taiwan Semiconductor Manufacturing Company, Ltd. | SRAM with local bit line, input/output circuit, and global bit line |
Also Published As
Publication number | Publication date |
---|---|
EP3254287A4 (en) | 2018-08-08 |
EP3254287A1 (en) | 2017-12-13 |
TW201643872A (zh) | 2016-12-16 |
CN107408404A (zh) | 2017-11-28 |
US20170337126A1 (en) | 2017-11-23 |
US11263123B2 (en) | 2022-03-01 |
US10289542B2 (en) | 2019-05-14 |
US20190121724A1 (en) | 2019-04-25 |
US20210056017A1 (en) | 2021-02-25 |
US10817414B2 (en) | 2020-10-27 |
CN107408404B (zh) | 2021-02-12 |
WO2016126478A1 (en) | 2016-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI620194B (zh) | 用於記憶體器件之裝置及方法以作為程式化指令之一儲存 | |
US11614877B2 (en) | Apparatuses and methods for data movement | |
US11513713B2 (en) | Apparatuses and methods for partitioned parallel data movement | |
US10970218B2 (en) | Apparatuses and methods for compute enabled cache | |
US10353618B2 (en) | Apparatuses and methods for data movement | |
US9921777B2 (en) | Apparatuses and methods for data transfer from sensing circuitry to a controller | |
TWI622990B (zh) | 用於資料移動之裝置及方法 | |
CN107408405B (zh) | 用于并行写入到多个存储器装置位置的设备及方法 | |
CN109416918B (zh) | 库到库数据传送 | |
CN109003640B (zh) | 存储器中子阵列之间的数据传送 | |
TW201737250A (zh) | 用於快取操作之裝置及方法 | |
TW201839758A (zh) | 用於記憶體內操作之裝置及方法 |