TWI659427B - 用於資料路徑內計算操作之裝置及方法 - Google Patents
用於資料路徑內計算操作之裝置及方法 Download PDFInfo
- Publication number
- TWI659427B TWI659427B TW107109757A TW107109757A TWI659427B TW I659427 B TWI659427 B TW I659427B TW 107109757 A TW107109757 A TW 107109757A TW 107109757 A TW107109757 A TW 107109757A TW I659427 B TWI659427 B TW I659427B
- Authority
- TW
- Taiwan
- Prior art keywords
- logical
- data
- sub
- shared
- array
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/06—Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/063—Address space extension for I/O modules, e.g. memory mapped I/O
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- 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/4093—Input/output [I/O] data interface arrangements, e.g. data buffers
-
- 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 OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Dram (AREA)
- Memory System (AREA)
Abstract
本發明包含用於資料路徑內計算操作之裝置及方法。一種例示性裝置包含一記憶體胞陣列。感測電路可選擇地耦合至該陣列。複數個共用輸入/輸出(I/O)線提供一資料路徑。該複數個共用I/O線將該陣列之一列之一第一子列經由該感測電路可選擇地耦合至該資料路徑中之一第一計算組件以將一第一資料值自該第一子列移動至該第一計算組件且將各自列之一第二子列經由該感測電路可選擇地耦合至一第二計算組件以將一第二資料值自該第二子列移動至該第二計算組件。使用該第一計算組件對來自該第一子列之該第一資料值執行一運算,實質上同時將該第二資料值自該第二子列移動至該第二計算組件。
Description
本發明大體上係關於半導體記憶體及方法,且更特定言之係關於用於資料路徑內計算操作之裝置及方法。
記憶體器件通常係提供為電腦或其他電子系統中之內部半導體積體電路。存在數個不同類型之記憶體,包含揮發性記憶體及非揮發性記憶體。揮發性記憶體可需要電力來維持其資料(例如,主機資料、錯誤資料等),且包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、同步動態隨機存取記憶體(SDRAM)及閘流體隨機存取記憶體(TRAM)等。非揮發性記憶體可在未供電時藉由留存儲存資料而提供永久性資料,且可包含NAND快閃記憶體、NOR快閃記憶體及電阻可變記憶體(諸如相變隨機存取記憶體(PCRAM))、電阻性隨機存取記憶體(RRAM)及磁阻性隨機存取記憶體(MRAM),諸如自旋力矩轉移隨機存取記憶體(STT RAM)等。 電子系統通常包含數個處理資源(例如,一或多個處理器),該等處理資源可擷取及執行指令且將該等經執行指令之結果儲存至一合適位置。一處理器可包括數個功能單元(諸如算術邏輯單元(ALU)電路、浮點單元(FPU)電路及一組合邏輯區塊),例如,該等功能單元可用於藉由對資料(例如,一或多個運算元)執行一運算而執行指令。如本文中所使用,運算可為(例如)一布林(Boolean)運算(諸如AND、OR、NOT、NOT、NAND、NOR及XOR),及/或其他運算(例如,反相、移位、算術、統計以及許多其他可能運算)。例如,功能單元電路可用於經由數個運算對運算元執行算術運算,諸如加法、減法、乘法及除法。 在提供指令至功能單元電路以供執行時可涉及一電子系統中之數個組件。可例如藉由一處理資源(諸如一控制器及/或主機處理器)執行該等指令。資料(例如,將對其執行指令之運算元)可儲存於可藉由功能單元電路存取之一記憶體陣列中。可自該記憶體陣列擷取指令及/或資料,且可在功能單元電路開始對該資料執行指令之前序列化及/或緩衝該等指令及/或資料。此外,由於可透過功能單元電路以一或多個時脈循環執行不同類型之運算,所以亦可序列化及/或緩衝該等指令及/或資料之中間結果。在一或多個時脈循環中完成一運算之一序列可被稱為一運算循環。在一計算裝置及/或系統之處理及計算效能及電力消耗方面,完成一運算循環所消耗之時間成本高。 在許多例項中,處理資源(例如,處理器及相關聯功能單元電路)可在記憶體陣列外部,且可經由該等處理資源與該記憶體陣列之間的一匯流排存取資料以執行一指令集。可改良其中可在一記憶體內部及/或附近(例如,直接在與記憶體陣列相同之一晶片上)實施一處理及/或邏輯資源之一記憶體中處理(PIM)器件中的處理效能。一記憶體中處理(PIM)器件可藉由減小及消除外部通信而節省時間且亦可節約電力。
本發明包含用於資料路徑內計算操作之裝置及方法。在至少一項實施例中,一裝置包含具有一記憶體胞陣列之一記憶體器件及可選擇地耦合至該記憶體胞陣列之感測電路。在各種實施例中,記憶體器件可為一記憶體中處理(PIM)器件且感測電路可包含一感測放大器。複數個輸入/輸出(I/O)線共用為用於與陣列相關聯之資料路徑內計算操作之一資料路徑(例如,感測電路可選擇地耦合至記憶體胞行及/或共用I/O線)。 複數個共用I/O線將陣列之一列之一第一子列經由感測電路可選擇地耦合至資料路徑中之一第一計算組件以將一第一資料值自第一子列移動至第一計算組件。如本文中所使用,一「子列」旨在意謂儲存預定數目個資料值之陣列之列之一預定記憶體胞子集。例如,一列之一個子列可為具有16,384 (16K)個記憶體胞之一列之預定1024 (1K)個記憶體胞,藉此導致該列之16個子列(例如,如在428-1、428-2、…、428-16處展示且結合圖4及本文中其他處描述)。複數個共用I/O線將各自列之一第二子列經由感測電路可選擇地耦合至資料路徑中之一第二計算組件以將一第二資料值自第二子列移動至第二計算組件。使用第一計算組件對來自第一子列之第一資料值執行一運算(例如,如藉由一控制器引導),實質上同時將第二資料值自第二子列移動至第二計算組件。 諸如第一及第二之序數在本文中用於協助關聯及/或區分類似及/或可選擇地耦合之組件(例如,記憶體胞子陣列、資料值及相關聯計算組件、記憶體胞子列及相關聯計算組件、邏輯條及相關聯計算組件、連接電路及相關聯計算組件及/或邏輯條等)且並非用於指示組件之間的一特定排序及/或關係,除非上下文另有明確規定(例如,藉由使用諸如相鄰等之術語)。 例如,一第一資料值自一記憶體陣列之一第一列經由共用I/O線至一第一邏輯條之一第一計算組件之移動旨在指示來自一特定列之一特定子列(例如,其可為(但未必)一子列序列中之第一子列)之一特定資料值可移動至一特定邏輯條之一特定計算組件(例如,其等之各者可為(但未必)一計算組件及/或邏輯條序列中之第一者)。類似地,來自第一列之一第二子列(其可為相鄰於先前提及之第一子列之下一子列但可為(但未必)子列序列中之第二子列)之一第二資料值之移動旨在指示來自相同列之第二子列之一特定資料值可移動至一不同邏輯條之一特定計算組件。例如,參考第二資料值移動至第二邏輯條之第二計算組件係用於使第二資料值與不同於先前稱為此等組件之第一者之一計算組件及/或一邏輯條相關聯。因而,第二計算組件可為(但未必)第二邏輯條之一計算組件序列中之第一計算組件及/或第二邏輯條可為(但未必)一邏輯條序列中之第二邏輯條。 類似地,如本文中所描述,一控制器經組態以在一第一操作循環中引導第一子列之數個複數個資料值至第一邏輯條之對應數目個複數個第一計算組件之一第一並行移動(例如,經由共用I/O線)旨在指示控制器可在一特定操作循環中(例如,在約2奈秒(ns)至60奈秒(ns)之一時間訊框中)引導對應於第一子列之複數個資料值之特定數目個資料值至第一邏輯條之相同數目個計算組件之移動之執行。控制器經組態以在一第二操作循環中引導第二子列之數個複數個資料值至第二邏輯條之對應數目個複數個第二計算組件之一第二並行移動旨在指示控制器可在第二操作循環中(例如,其可為(但未必)下一(例如,相鄰) 2 ns至60 ns時間訊框)引導對應於第二子列之複數個資料值之特定數目個資料值至第二邏輯條之相同數目個計算組件之移動之執行。第二子列之複數個資料值及/或第二邏輯條之第二計算組件之特定數目可為(但未必)與第一子列之資料值及/或第一邏輯條之第一計算組件之數目相同之數目。 一共用I/O線(例如,如在155處展示且結合圖1B及本文中其他處描述)用作與記憶體陣列(例如,如在130處展示且結合圖1A及本文中其他處描述)相關聯之一資料路徑。共用I/O線將感測電路(例如,如在150處展示且結合圖1A及本文中其他處描述)耦合至共用I/O線之資料路徑中之一計算組件(例如,如在231處展示且結合圖2及本文中其他處描述)。與共用I/O線之資料路徑相關聯之計算組件具有等於資料路徑之間距之一間距且該間距依據記憶體胞陣列之數位線(例如,如在205處展示且結合圖2及本文中其他處描述)之一間距而變化。例如,計算組件具有一間距,其係記憶體胞陣列之數位線之間距的整數倍。 如本文中所使用,一「共用I/O線」旨在意謂在一資料路徑中之陣列本地之一I/O線,該資料路徑具有依據記憶體胞陣列之一間距而變化之一間距。共用I/O可定位於記憶體陣列之一記憶體庫(例如,如在121-1處展示且結合圖1B及本文中其他處描述)上且可經多工化至該陣列之複數個行(例如,一DRAM陣列之互補數位線)。共用I/O不同且相異於與陣列相關聯之I/O電路,其旨在根據一陣列協定(諸如DDR4)往返於陣列移動資料及/或結合一主機(例如,如在110處展示且結合圖1A及本文中其他處描述)將資料移至及移出一記憶體器件(例如,如在120處展示且結合圖1A及本文中其他處描述)。 在一些實施例中,計算組件可在與資料之共用I/O線相關聯之一邏輯條(例如,如在124-1、124-2、…、124-N處展示且結合圖1B及本文中其他處描述)中。陣列可具有用於陣列本地之資料路徑之複數個共用I/O線且各邏輯條可具有複數個計算組件(例如,如在431-1、431-2、…、431-Z處展示且結合圖4及本文中其他處描述)。複數個計算組件之各者與資料路徑之複數個共用I/O線之至少一者相關聯。在一些實施例中,複數個計算組件之各者之一者可與資料路徑之複數個共用I/O線之一特定一者相關聯。 在各種實施例中,複數個計算組件之各者可移位至資料路徑之複數個共用I/O線之另一者。例如,一列(例如,如在319處展示且結合圖3及本文中其他處描述)之數個行及/或記憶體胞(例如,16,384個行及/或記憶體胞以及其他可能組態)可經多工,使得例如藉由選擇耦合至該列中之連續複數個行及/或記憶體胞且經由複數個共用I/O線(例如,1024個個別共用I/O線)並行移動資料而獲得16個子列(16個子列各具有1024個相鄰行及/或記憶體胞,如在圖4中所展示),使得來自連續記憶體胞之資料值(例如,1024個資料值)可並行移動。替代地或另外,該列之數個行及/或記憶體胞可經多工,例如使得可藉由選擇耦合至該列中之每十六個行及/或記憶體胞且經由共用I/O線並行移動資料值而獲得16個子列,使得來自每十六個記憶體胞之資料值(例如,1024個資料值)可並行移動。在一些實施例中,陣列可為一DRAM陣列且用於感測及/或放大選定記憶體胞中之資料值之感測電路可包含一感測放大器及/或一計算組件。 記憶體器件120包含一控制器(例如,如在140處展示且結合圖1A及本文中其他處描述)。除其他功能以外,控制器140亦可經組態以引導一資料值自陣列中之一記憶體胞列(例如,其之一選定子列)至與資料路徑之複數個共用I/O線之一者相關聯之一計算組件之移動(例如,經由與控制器相關聯之移動組件171)。 如下文更詳細描述,實施例可容許一主機系統分配一或多個DRAM記憶體庫中之數個位置(例如,陣列、子陣列及/或子陣列之部分,諸如列及其子列)以保持(例如,儲存)及/或處理資料。一主機系統及一控制器可對整個區塊之程式指令(例如,PIM命令指令)及資料執行位址解析且引導(例如,控制)資料及命令分配、儲存及/或移動(例如,流動)至一目的地(例如,目標)記憶體庫內之經分配位置(例如,子陣列及子陣列之部分)中。在DRAM陣列中寫入及/或讀取資料及/或執行命令(例如,移動資料值以用於藉由一邏輯條執行運算,如本文中所描述)可利用DRAM器件之一正常DRAM讀取/寫入路徑。如讀者將瞭解,雖然關於在本文中提呈之資料路徑內計算操作之實例論述一PIM器件之一DRAM型記憶體陣列,但實施例不限於一PIM DRAM實施方案。 本文中所描述之記憶體器件可使用針對子陣列之一記憶體庫之數個控制器、針對個別子陣列之控制器及/或針對鎖存器組件之控制器(例如,各控制器為一定序器、一狀態機、一微控制器、一子處理器、ALU電路或某一其他類型之控制器)來執行一指令集以對資料(例如,一或多個運算元)執行一運算。如本文中所使用,運算可為例如一布林邏輯運算(諸如AND、OR、NOT、NOT、NAND、NOR及XOR),及/或其他運算(例如,反相、移位、算術、統計以及許多其他可能運算)。例如,功能單元電路可用於經由數個邏輯運算對運算元執行算術運算,諸如加法、減法、乘法及除法。 本發明描述實現對藉由記憶體胞儲存之資料值(例如,在移動至一計算組件時,如本文中所描述)執行資料路徑內計算操作(例如,PIM運算,諸如AND、OR、再新、列複製、移位、加法、乘法等),實質上同時對來自一相同記憶體庫、該相同記憶體庫中之一相同子陣列及/或該相同子陣列中之一相同列(例如,在一DRAM陣列中,以及其他類型之記憶體陣列中)之資料值執行例如讀取及/或寫入操作。例如,可對儲存於一子陣列之一列中之一記憶體胞子列中之資料值執行移動操作,實質上同時如一控制器及/或一主機引導般對先前移動至資料路徑中之一計算組件(例如,至一選定邏輯條)之相同資料值執行例如邏輯運算,如本文中所描述。 因此,當一子列經啟動以在一陣列中經感測時,藉由該子列之記憶體胞儲存之複數個資料值(例如,整個列之資料值)可移動(例如,複製、傳送及/或輸送)至與陣列相關聯之一資料路徑中之對應複數個計算組件(例如,其等各形成一計算單元(例如,如在460處展示且結合圖4及本文中其他處描述)中之一邏輯條424之至少一部分)。複數個共用I/O線將資料值耦合至資料路徑中之複數個計算組件。在一些實施例中,一計算單元中之數個邏輯條之複數個計算組件可與一陣列之一記憶體庫之各記憶體庫區段相關聯。與一共同I/O相關聯之計算組件可經組態以耦合(例如,直接或間接連接,如本文中所描述)至陣列本地之共用I/O之一資料路徑。在一些實施例中,計算組件431、邏輯條424及/或計算單元460可進一步耦合至連接至記憶體器件外部之主機110之一資料匯流排及/或耦合至將一陣列之一記憶體庫連接至記憶體器件上之一陣列之另一記憶體庫之一資料匯流排。 在一些實施例中,本發明描述在感測一列時,該列中之資料值(例如,來自該列中之所有16,384 (16K)個記憶體胞之資料值)可經移動以儲存(例如,快取)於一鎖存器組件(例如,一感測放大器)中以進一步在一共用I/O線上移動至陣列本地之共用I/O之資料路徑中的一計算單元中之一邏輯條。在一些實施例中,2048 (2K)個共用I/O線可經組態為一2K位元寬共用I/O線。根據一些實施例,可藉由將與陣列中之一記憶體胞列交叉之陣列中之一行數除以複數個共用I/O線之2K位元寬度而判定用於將資料自一源位置中之一第一列移動至一目的地位置中之一第二列之一循環數目。例如,一陣列(例如,一記憶體庫、一記憶體庫區段或其之一子陣列)可具有16K個行,其等可對應於一列中之16K個資料值,其等在除以與列交叉之複數個共用I/O線之2K位元寬度時可產生八個循環,各單獨循環處於用於移動列中之資料之各2K位元分率之實質上相同時間點(例如,並行),使得在完成八個循環之後移動列中之所有16K個資料位元。例如,源位置之感測電路350中之複數個(例如,八之一子集,如在圖3中展示)感測放大器306或計算組件331之僅一者可同時耦合至一各自共用I/O線355。在具有16K個共用I/O線之實施例中,可並行移動所有16K個資料位元。 在一個實例中,2K個資料值可藉由八路多工器透過2K個共用I/O線自16K個行(例如,數位線對)之2K個感測放大器同時(例如,並行)多工化至一計算單元之各邏輯條中之2K個計算組件(例如,各邏輯條具有2K個計算組件) (例如,以儲存及/或處理總共2K個位元)。在一些實施例中,計算單元可具有八個邏輯條以每邏輯條儲存2K個資料值,藉此每計算單元能夠儲存已在八個循環中藉由2K個共用I/O線移動之16K個資料值。在另一實例中,1K個資料值可藉由十六路多工器透過1K個共用I/O線自16K個行之1K個感測放大器同時多工化至一計算單元之一邏輯條中之1K個計算組件(例如,各邏輯條具有1K個計算組件) (例如,以儲存及/或處理總共1K個位元)。在一些實施例中,計算單元(例如,如在460處展示且結合圖4描述)可具有十六(16)個邏輯條以每邏輯條儲存1K個資料值,藉此每計算單元能夠儲存已在16個循環中藉由1K個共用I/O線移動之16K個資料值。例如,16個邏輯條(例如,在424-1、424-2、…、424-N處展示且結合圖4描述)之各者及各邏輯條中之1K個計算組件(例如,如在431-1、432-2、…、432-Z處展示且結合圖4描述)可對應於透過各自1K個共用I/O線自其移動(例如,多工化) 1K個資料值之一子列(例如,如在428-1、428-2、…、424-16處展示且結合圖4描述)。 因而,自其移動資料值之記憶體庫、子陣列、列及/或子列中之記憶體胞可用於(例如,藉由使原始資料值移動至陣列本地之共用I/O之資料路徑中之計算單元中的一邏輯條而)對儲存於其中之其他資料值執行運算。在各種實施例中,各邏輯條可包含對應於數個計算組件(例如,相同於或其之一整數倍)之數個複數個鎖存器以儲存自另一記憶體庫、子陣列、列及/或子列移動之複數個資料值以能夠對藉由與計算組件相關聯之鎖存器儲存之資料值執行數個運算(例如,邏輯運算)。 如本文中所使用,資料移動係一包含性術語,其包含例如將資料值自一源位置複製、傳送及/或輸送至一目的地位置。例如,資料可自一子陣列之感測電路之一感測放大器移動至陣列本地之一共用I/O線之一資料路徑中之一邏輯條中的一計算組件。複製資料值可指示儲存(快取)於感測放大器中之資料值經複製及移動至陣列本地之共用I/O線之資料路徑中之一邏輯條中的一計算組件且儲存於列之子列中之原始資料值可保持不變。傳送資料值可指示儲存(快取)於感測放大器中之資料值經複製及移動至陣列本地之共用I/O線之資料路徑中之一邏輯條中的一計算組件且儲存於列之子列中之原始資料值之至少一者可改變(例如,藉由經擦除及/或藉由一後續寫入操作,如本文中所描述)。輸送資料值可用於指示藉以使經複製及/或經傳送之資料值移動(例如,藉由將資料值自源位置放置於共用I/O線上且輸送至目的地位置)之程序。 用於資料路徑內計算操作之DRAM架構之實施方案可在感測放大器及計算組件層級處(例如,在一邏輯條中)執行處理。用於資料路徑內計算操作之DRAM架構之實施方案可容許僅有限數目個記憶體胞(例如,1K個記憶體胞,如上文一個實例中給出)連接至共用I/O線之資料路徑中之一邏輯條中的計算組件。一陣列可包含自約8K至約16K個行(數位線對)及相關聯感測放大器。在一些實施例中(例如,如在圖4中展示),一陣列之一記憶體庫區段423可劃分成四個象限且各象限可具有複數個子陣列(例如,32個子陣列)。各子陣列可具有複數個列(例如,512個列)且可耦合至16K個行。如本文中所描述,各列可包含各具有1K個記憶體胞之16個子列(例如,該等記憶體胞之選擇構成藉由多工化判定之經由感測電路耦合至特定共用I/O線之1K個記憶體胞)。然而,實施例不限於此闡釋性實例。 在一些實施例中,作為一計算單元之部分之複數個邏輯條可與各象限相關聯。例如,共用I/O線之資料路徑中之一計算單元中的各邏輯條可與一記憶體庫之各象限中之一子陣列相關聯。因此,在以上實例中,在陣列本地之共用I/O線之資料路徑中的一計算單元可具有128個邏輯條(4個象限,一個邏輯條針對每象限32個子陣列之各者)。然而,實施例不限於此闡釋性實例。在一些實施例中,記憶體(例如,一DRAM陣列中之記憶體胞)之一記憶體庫可包含DRAM之64K個列×16K個行以提供約十億位元之記憶體。 本發明描述在一陣列本地之一共用I/O線之一資料路徑中的一計算組件,其可包含用作感測放大器以儲存(快取)自與該陣列相關聯之感測電路移動(例如,複製、傳送及/或輸送)之資料值的複數個鎖存器。計算組件可在陣列本地之複數個共用I/O線之資料路徑中之一計算單元中的複數個邏輯條中使得該複數個邏輯條各包含總數目個計算組件之一子集。邏輯條424-1、…、424-N之計算組件431-1、…、431-Z (例如,如結合圖4展示及描述)可具有等於在陣列之一記憶體庫121-1本地之複數個共用I/O線455之資料路徑之間距的一間距。在一些實施例中,複數個共用I/O線455之資料路徑之間距可依據一記憶體胞陣列之數位線(例如,如在圖2中之205-1及205-2及圖3中之305-1及305-2處展示)之一間距而變化。計算組件431-1、…、431-Z及/或邏輯條424-1、…、424-N可藉由感測電路150 (例如,感測電路之感測放大器206)及/或額外鎖存器170 (如圖1A中所展示)耦合至複數個共用I/O線455之資料路徑。 因而,用於資料路徑內計算操作之架構可促進儲存於一陣列之一列之一子列中之資料值移動(例如,複製、傳送及/或輸送)至陣列本地之複數個共用I/O線之資料路徑中的計算組件431-1、…、431-Z及/或邏輯條424-1、…、424-N。具有感測放大器之感測電路150 (其在一些實施例中亦可包含如圖2中所展示之計算組件)可將來自一陣列中之記憶體胞之一經多工化行之記憶體胞耦合至複數個共用I/O線455之資料路徑中之一計算單元中的計算組件431-1、…、431-Z及/或邏輯條424-1、…、424-N。以此方式,計算組件431-1、…、431-Z及/或邏輯條424-1、…、424-N可經由操作為一多工器之行選擇電路(例如,如在358處展示且結合圖3描述)及相關聯選擇邏輯(如結合圖3至圖7所論述)透過複數個共用I/O線455間接耦合至一行之記憶體胞。 本文中所描述之記憶體陣列架構可提供除剛描述之益處以外之數個益處。可藉由例如與執行其他運算(例如,執行DDR4 I/O運算)並行地實現對藉由記憶體胞儲存之資料執行之PIM運算而增大整體處理速度。例如,可在陣列本地之共用I/O線455之資料路徑中的具有複數個計算組件431-1、…、431-Z及/或邏輯條424-1、…、424-N之一計算單元中執行PIM運算。藉由實例且非限制地,一旦將資料值自陣列之子列載入至計算單元中之複數個計算組件431-1、…、431-Z及/或邏輯條424-1、…、424-N,便可在計算單元中以2 ns之速度(相較於觸發陣列中之列所需之60 ns之一例示性時間)控制計算操作而無需將該等資料值移動回至該等列中。以此方式,計算組件431-1、…、431-Z及/或邏輯條424-1、…、124-N (連同相關聯鎖存器)可提供經移動資料值之儲存以執行特定函數(例如,AND、OR、NOR、XOR、加法、減法、乘法、除法等),同時可將一子列之原始資料值保存回至一列,保存於別處及/或覆寫。如結合圖5及圖6更多論述,可藉由一記憶體庫121之一控制器140引導複數個共用I/O線之資料路徑中之計算單元中的計算組件431-1、…、431-Z及/或邏輯條424-1、…、424-N之操作。 在本發明之以下詳細描述中,參考形成本發明之一部分之隨附圖式,且在隨附圖式中藉由圖解展示可如何實踐本發明之一或多項實施例。此等實施例經足夠詳細描述以使一般技術者能夠實踐本發明之實施例,且應理解,可利用其他實施例且可在不脫離本發明之範疇之情況下作出程序、電及結構改變。 如本文中所使用,指定符諸如「X」、「Y」、「Z」、「N」、「M」等(尤其關於圖式中之元件符號)指示可包含如此指定之數個特定特徵。亦應理解,本文中所使用之術語僅出於描述特定實施例之目的,且並不意欲限制。如本文中所使用,除非上下文另有明確規定,否則單數形式「一」、「一個」及「該」可包含單數及複數個參考物兩者。另外,「數個」、「至少一個」及「一或多個」(例如,數個記憶體陣列)可係指一或多個記憶體陣列,而「複數個」意指一個以上此等事物。此外,貫穿此申請案在一容許意義上(即,在本文中所描述之至少一些實施例中有可能及/或能夠)而非在一強制意義上(即,必須)使用字詞「可(can及may)」。術語「包含」及其衍生詞意謂「包含(但不限於)」。術語「耦合(couple、coupled及coupling)」意謂直接或間接實體連接或用於命令及/或資料之存取及移動(傳輸),視內容脈絡情況而定。術語「資料」及「資料值」在本文中可互換使用且可具有相同含義,視內容脈絡情況而定。 如本文中所描述,複數個共用I/O線455可經由耦合至各陣列之選擇邏輯而由複數個子陣列、記憶體庫區段、象限、列、子列及/或記憶體胞之特定行可選擇地共用。例如,包含一感測放大器及用於多工化數個行之可選擇數目個子集(例如,總數目個行之8個、16個等行子集)之各者之選擇邏輯的感測電路150及/或額外鎖存器170可選擇地耦合至複數個共用I/O線455之各者以使資料值移動至複數個共用I/O線455之一資料路徑中之一計算單元460中的複數個計算組件431-1、…、431-Z及/或邏輯條424-1、…、424-N。在一些實施例中,可選擇地耦合至複數個共用I/O線455之各者之複數個計算組件431-1、…、431-Z可對應於可選擇地耦合至複數個共用I/O線之行數(例如,1K、2K等)。因為單數形式「一」、「一個」及「該」在本文中可包含單數及複數個參考物兩者,所以除非上下文另有明確規定,否則「共用I/O線」可用於指代「一對互補共用I/O線」。再者,「共用I/O線」係「複數個共用I/O線」之一縮寫。 本文中之圖遵循一編號慣例,其中首位數字或前幾位數字對應於圖號且剩餘數字識別圖中之一元件或組件。可藉由使用類似數字識別不同圖之間的類似元件或組件。例如,108可指代圖1A中之元件「08」,且一類似元件可在圖2中指代為208。如將瞭解,可添加、交換及/或消除本文中之各項實施例中所展示之元件,以便提供本發明之數項額外實施例。另外,圖中所提供之元件之比例及/或相對尺度旨在繪示本發明之某些實施例,且不應被視作限制意義。 圖1A係根據本發明之數項實施例之呈包含一記憶體器件120 (其包含一記憶體陣列130)之一計算系統100之形式之一裝置的一方塊圖。如本文中所使用,一記憶體器件120、控制器140、記憶體陣列130、感測電路150及/或數個額外鎖存器170亦可被單獨視作一「裝置」。 如本文中所使用,額外鎖存器意謂感測、耦合及/或移動(例如,讀取、儲存、快取)一陣列中之記憶體胞之資料值且相異於圖3至圖4及圖6至圖7中所展示之複數個共用I/O線455之一資料路徑中的一計算單元460中之複數個計算組件431-1、…、431-Z及/或邏輯條424-1、…、424-N之額外功能性(例如,放大器、選擇邏輯)。如圖1B中所展示,在陣列本地之複數個共用I/O線155之一資料路徑中的邏輯條124-1、…、124-N可與記憶體庫121-1中之記憶體胞之各種記憶體庫區段123-1、…、123-N相關聯。記憶體庫121-1可為記憶體器件120上之複數個記憶體庫之一者。 圖1A中之系統100包含耦合(例如,連接)至記憶體器件120之一主機110。主機110可為一主機系統,諸如一個人膝上型電腦、一桌上型電腦、一數位相機、一智慧型電話或一記憶體卡讀取器以及各種其他類型之主機。主機110可包含一系統主機板及/或底板,且可包含數個處理資源(例如,一或多個處理器、微處理器或某一其他類型之控制電路)。系統100可包含單獨積體電路,或主機110及記憶體器件120兩者可在相同積體電路上。系統100可為例如一伺服器系統及/或一高效能計算(HPC)系統及/或其之一部分。儘管圖1A中所展示之實例繪示具有馮·諾伊曼(Von Neumann)架構之一系統,然本發明之實施例亦可實施於非馮·諾伊曼架構中,其可不包含通常與馮·諾伊曼架構相關聯之一或多個組件(例如,CPU、ALU等)。 為清楚起見,系統100已經簡化以聚焦於與本發明特定相關之特徵。記憶體陣列130可為DRAM陣列、SRAM陣列、STT RAM陣列、PCRAM陣列、TRAM陣列、RRAM陣列、NAND快閃陣列及/或NOR快閃陣列以及其他類型之陣列。陣列130可包含配置成藉由存取線(其等在本文中可被稱為字線或選擇線)耦合之列及藉由感測線(其等在本文中可被稱為資料線或數位線)耦合之行之記憶體胞。儘管圖1A中展示一單個陣列130,然實施例不限於此。例如,記憶體器件120可包含數個陣列130 (例如,DRAM胞、NAND快閃胞之數個記憶體庫等)。 記憶體器件120可包含定址電路142以鎖存藉由I/O電路144經由一資料匯流排156 (例如,連接至主機110之一I/O匯流排)提供之位址信號(例如,經由本地I/O線及全域I/O線提供至外部ALU電路及/或DRAM DQ)。如本文中所使用,DRAM DQ可能夠經由一匯流排(例如,資料匯流排156)將資料輸入至一記憶體庫及/或自一記憶體庫輸出資料(例如,自控制器140及/或主機110輸出資料及/或將資料輸入至控制器140及/或主機110)。在一寫入操作期間,可將一電壓(高=1、低=0)施加至一DQ (例如,一接針)。此電壓可轉變成一適當信號且藉由一選定記憶體胞儲存。在一讀取操作期間,一旦完成存取,自一選定記憶體胞讀取之一資料值便可出現於DQ處且(例如,藉由輸出啟用信號為低)啟用輸出。在其他時間,DQ可處於一高阻抗狀態中,使得DQ未流出或汲入電流且未向系統呈現一信號。當兩個或兩個以上器件(例如,記憶體庫)共用一經組合資料匯流排時,此亦可減少DQ爭用,如本文中所描述。此等DQ係單獨的且相異於在陣列130本地之一資料路徑中之複數個共用I/O線155 (在圖1B中)。 狀態及異常資訊可(例如)透過一頻帶外(OOB)匯流排157 (例如,高速介面(HSI))自記憶體器件120之控制器140提供至一通道控制器143,繼而可自通道控制器143提供至主機110。通道控制器143可包含一邏輯組件以將複數個位置(例如,針對子陣列之控制器)分配於各自記憶體庫之陣列中以儲存與複數個記憶體器件120之各者之操作相關聯的各種記憶體庫之記憶體庫命令、應用程式指令(例如,針對運算序列)及引數(PIM命令)。通道控制器143可將命令(例如,PIM命令)分派給複數個記憶體器件120以將該等程式指令儲存於一記憶體器件120之一給定記憶體庫121 (例如,圖1B之121-1)內。 透過定址電路142接收位址信號且藉由一列解碼器146及一行解碼器152解碼該等位址信號以存取記憶體陣列130。可藉由使用感測電路150之如本文中所描述之數個感測放大器感測在感測線(數位線)上之電壓及/或電流變化而自記憶體陣列130感測(讀取)資料。一感測放大器可自記憶體陣列130讀取及鎖存一頁(例如,一列)資料。如本文中所描述,額外計算電路可耦合至感測電路150且可結合感測放大器一起用於感測、儲存(例如,快取及/或緩衝)、執行計算函數(例如,運算)及/或移動資料。可使用I/O電路144以經由資料匯流排156 (例如,64位元寬資料匯流排)與主機110進行雙向資料通信。可使用寫入電路148以將資料寫入至記憶體陣列130。 控制器140 (例如,圖5中所展示之記憶體庫控制邏輯、定序器及時序電路)可解碼藉由控制匯流排154自主機110提供之信號(例如,命令)。此等信號可包含晶片啟用信號、寫入啟用信號及/或位址鎖存信號,該等信號可用於控制對記憶體陣列130執行之操作,包含資料感測、資料儲存、資料移動(例如,複製、傳送及/或輸送資料值)、資料寫入及/或資料擦除操作以及其他操作。在各項實施例中,控制器140可負責執行來自主機110之指令及/或存取記憶體陣列130。控制器140可為一狀態機、一定序器或某一其他類型之控制器。控制器140可控制使資料在一陣列(例如,記憶體陣列130)之一列中移位(例如,向右或向左)及執行微碼指令以執行諸如計算操作之運算(例如,AND、OR、NOR、XOR、加法、減法、乘法、除法等)。 下文(例如,在圖2及圖3中)進一步描述感測電路150之實例。例如,在一些實施例中,感測電路150可包含數個感測放大器。在一些實施例中,感測電路150可包含數個感測放大器及對應數目個計算組件,其等可用作一累加器且可用於在各子陣列中(例如,對與互補感測線相關聯之資料)執行運算以及本文中所描述之資料路徑內計算操作。 在一些實施例中,感測電路150可用於使用藉由記憶體陣列130儲存之資料作為輸入執行操作且參與將用於複製、傳送、輸送、寫入、邏輯及/或儲存操作之資料移動至記憶體陣列130中及/或邏輯條124中之一不同位置而不經由一感測線位址存取傳送資料(例如,未觸發一行解碼信號)。因而,在一些實施例中,各種計算函數可使用感測電路150且在感測電路150內執行而非藉由感測電路150外部之處理資源(例如,藉由與主機110相關聯之一處理器及/或定位於器件120上(諸如定位於控制器140上或別處)之其他處理電路,諸如ALU電路)執行(或與由處理資源執行相關聯)。然而,另外,本文中所描述之實施例可對自陣列之列移動至一計算單元中之複數個計算組件431-1、…、431-Z及/或邏輯條124-1、…、124-N之資料值執行資料路徑內計算函數及/或操作。且作為一實例,根據一些實施例,可在該計算單元中以2 ns之速度(相較於觸發陣列中之列所需之60 ns) 之一例示性時間)控制計算操作而無需將該等資料值移動回至該等列中。 在各種先前方法中,(例如)與一運算元相關聯之資料將經由感測電路自記憶體讀取且經由I/O線(例如,經由本地I/O線及/或全域I/O線)提供至外部ALU電路。外部ALU電路可包含數個暫存器且將使用運算元執行計算函數且結果將經由I/O電路144傳送回至陣列。 相比而言,本文中之實施例在陣列本地之一資料路徑中之一計算單元中對經由複數個共用I/O線155自陣列之列及/或子列移動至複數個計算組件431-1、…、431-Z及/或邏輯條124-1、…、124-N之資料值執行計算函數。另外,感測電路150可經組態以對藉由記憶體陣列130儲存之資料執行運算且在未啟用耦合至感測電路150之一I/O線(例如,一本地I/O線)的情況下將結果儲存回至記憶體陣列130。然而,一旦經載入,便可在計算單元中更快(例如,以2 ns之速度) (相較於觸發陣列中之列所需之(例如) 60 ns之一例示性時間)地控制計算操作而無需將該等資料值移動回至列及/或子列中。感測電路150可形成於與陣列之記憶體胞之間距上。與複數個共用I/O線155之資料路徑相關聯的複數個計算組件431-1、…、431-Z及/或邏輯條124-1、…、124-N可具有等於該資料路徑之間距之一間距且該間距依據記憶體胞陣列之數位線之一間距而變化。 例如,本文中所描述之感測電路150可形成於與一對互補感測線(例如,數位線)相同之一間距上。作為一實例,一對互補記憶體胞可具有擁有一6F2
間距(例如,3F×2F)之一胞大小,其中F係一特徵大小。若互補記憶體胞之一對互補感測線之間距係3F,則感測電路在間距上指示感測電路(例如,每各自對之互補感測線之一感測放大器及/或一對應計算組件)經形成以裝配於互補感測線之3F間距內。同樣地,與複數個共用I/O線155之資料路徑相關聯之邏輯條124-1、…、124-N之計算組件431-1、…、431-Z具有依據互補感測線之3F間距而變化之一間距。例如,邏輯條124-1、…、124-N之計算組件431-1、…、431-Z可具有記憶體胞陣列之數位線之3F間距的整數倍之一間距,該間距亦可對應於複數個共用I/O線155之一間距。 相比而言,各種先前系統之(若干)處理資源(例如,一計算引擎,諸如一ALU)之電路可不符合與一記憶體陣列相關聯之間距規則。例如,一記憶體陣列之記憶體胞可具有一4F2
或6F2
胞大小。因而,與先前系統之ALU電路相關聯之器件(例如,邏輯閘)可不能夠形成於與記憶體胞之間距上(例如,形成於與感測線相同之一間距上),例如,此可影響晶片大小及/或記憶體密度。在一些計算系統及子系統(例如,一中央處理單元(CPU))之背景內容中,可在並不處於與記憶體(例如,陣列中之記憶體胞)之間距上及/或具有記憶體之晶片上之一位置中處理資料,如本文中所描述。例如,可藉由與一主機相關聯之一處理資源(例如,而非在與記憶體之間距上)處理資料。 因而,在數項實施例中,不需要在陣列130及感測電路150外部之電路來執行計算函數,因為感測電路150可在不使用一外部處理資源的情況下執行適當操作以執行此等計算函數或可在陣列本地之複數個共用I/O線之一資料路徑中執行此等操作。因此,感測電路150及/或複數個共用I/O線155之一資料路徑中之一計算單元中的複數個計算組件431-1、…、431-Z及/或邏輯條124-1、…、124-N可用於至少在一定程度上補充或取代此一外部處理資源(或此一外部處理資源之至少頻寬消耗)。在一些實施例中,感測電路150及/或複數個共用I/O線155之一資料路徑中之一計算單元中的複數個計算組件431-1、…、431-Z及/或邏輯條124-1、…、124-N可用於執行除了藉由一外部處理資源(例如,主機110)執行之操作以外的操作(例如,執行指令)。例如,主機110及/或感測電路150可限於僅執行特定操作及/或特定數目個操作。 本文中所描述之操作可包含與一具備PIM能力之器件相關聯之操作。具備PIM能力之器件操作可使用基於位元向量之操作。如本文中所使用,術語「位元向量」意謂一位元向量記憶體器件(例如,一PIM器件)上之實體上連續或非連續儲存於一記憶體胞陣列之一列中之數個位元。因此,如本文中所使用,一「位元向量操作」意謂對一位元向量(其係(例如,藉由一PIM器件使用之)虛擬位址空間之一連續或非連續部分)執行之一操作。例如,該PIM器件中之虛擬位址空間之一列可具有16K個位元之一位元長度(例如,對應於一DRAM組態中之16K對互補記憶體胞)。如本文中所描述,用於此一16K位元列之感測電路150可包含形成於與可選擇地耦合至16位元列中之對應記憶體胞之感測線之間距上的一對應16K個感測放大器及/或處理元件(例如,計算組件231)。PIM器件之感測電路及/或邏輯條中之一計算組件可作為一單位元處理元件(PE)而對藉由感測電路150感測(例如,藉由一感測放大器感測及/或儲存,如本文中所描述)之記憶體胞之列或子列之位元向量的一單個位元進行操作。類似地,複數個共用I/O線155之一資料路徑中之一計算單元中之邏輯條124-1、…、124-N的複數個計算組件431-1、…、431-Z各可作為一單位元PE而對在一陣列中感測之記憶體胞之列及/或子列之位元向量的一單個位元進行操作。 啟用一I/O線可包含啟用(例如,接通、啟動)具有耦合至一解碼信號(例如,一行解碼信號)之一閘極及/或耦合至該I/O線之一源極/汲極之一電晶體。然而,實施例不限於不啟用一I/O線。例如,在數項實施例中,感測電路(例如,150)可用於在不啟用陣列之行解碼線的情況下執行操作。 然而,可啟用複數個共用I/O線155以便將資料值載入至該複數個共用I/O線155之一資料路徑中之一計算單元中的複數個計算組件431-1、…、431-Z及/或邏輯條124-1、…、124-N (其中可更快地控制計算操作)。例如,在計算單元中之複數個計算組件431-1、…、431-Z及/或邏輯條124-1、…、124-N中,可以2 ns之速度執行計算操作。此速度增強可歸因於無需憑藉用於觸發陣列中之列之相關聯時間(例如,60 ns)將資料值移動回至列及/或子列中。 圖1B係根據本發明之數項實施例之呈包含一記憶體器件(其具有在一陣列之記憶體庫區段123-1、123-2、…、123-N本地之一資料路徑中之一共用I/O線155)之一計算系統之形式之一裝置的另一方塊圖。例如,記憶體庫121-1可表示一記憶體器件120之一例示性記憶體庫。如圖1B中所展示,一記憶體庫121-1可包含複數個主記憶體行(水平展示為X) (例如,在一例示性DRAM記憶體庫中之16,384個行)。另外,記憶體庫121-1可劃分成記憶體庫區段(例如,32個子陣列之象限) 123-1、123-2、…、123-N。各記憶體庫區段可與複數個共用I/O線155之一資料路徑中之一計算單元中之邏輯條124-1、…、124-N中的複數個計算組件131-1、131-2、…、131-M相關聯。記憶體庫區段123-1、…、123-N之各者可包含複數個列(垂直展示為Y) (例如,各區段可為一例示性DRAM記憶體庫中之包含32個子陣列之一象限,各子陣列各可包含512列且每列包含16個子列)。例示性實施例不限於本文所描述之行及列及子列之例示性水平及/或垂直定向或該等行及列及子列之例示性數目。 在一些實施例中,各記憶體庫區段可具有與其相關聯之複數個共用I/O線155之一資料路徑中之一計算單元中的複數個計算組件131-1、131-2、…、131-M及邏輯條124-1、…、124-N。記憶體庫121-1可包含與各記憶體區段及/或子陣列相關聯以引導對載入至複數個共用I/O線155之一資料路徑中之一計算單元中之邏輯條124-1、…、124-N中的複數個計算組件431-1、…、431-Z之資料值之移動(例如,經由移動組件171)及/或操作的一控制器140及/或數個控制器。 圖2係繪示根據本發明之數項實施例之一記憶體器件120之電路的一示意圖,該電路包含一感測放大器206及一計算組件231,其等在各種實施例中各可包含於感測電路250及/或邏輯條124中。感測電路250可對應於圖1A中所展示之感測電路150。 如圖2之例示性實施例中所展示,一記憶體胞可包含一儲存元件(例如,電容器)及一存取器件(例如,電晶體)。例如,一第一記憶體胞可包含電晶體202-1及電容器203-1,且一第二記憶體胞可包含電晶體202-2及電容器203-2等。在此實施例中,記憶體陣列230係1T1B (一個電晶體一個電容器)記憶體胞之一DRAM陣列,但可使用其他組態實施例(例如,每記憶體胞具有兩個電晶體及兩個電容器之2T2C)。在數項實施例中,記憶體胞可為破壞性讀取記憶體胞(例如,讀取藉由胞儲存之資料損毀該資料使得最初藉由胞儲存之資料在被讀取之後再新)。 記憶體陣列230之胞可配置成藉由存取(字)線204-X (列X)、204-Y (列Y)等耦合之列及藉由互補感測線對(例如,圖2中所展示之數位線DIGIT(D)及DIGIT(D)_)耦合之行。對應於各對互補感測線之個別感測線亦可分別被稱為數位線205-1 DIGIT(D)及205-2 DIGIT(D)_或圖3中之對應元件符號。儘管圖2中展示僅一對互補數位線,然本發明之實施例不限於此,且一記憶體胞陣列可包含額外行之記憶體胞及數位線(例如,4,096、8,192、16,384等)。 儘管列及行係繪示為正交定向在一平面中,然實施例不限於此。例如,列及行可相對於彼此依任何可行三維組態定向。例如,列及行可相對於彼此定向成任何角度,可定向於一實質上水平平面中或一實質上垂直平面中,及/或可定向成一折疊拓撲以及其他可能三維組態。 記憶體胞可耦合至不同數位線及字線。例如,電晶體202-1之一第一源極/汲極區域可耦合至數位線205-1 (D),電晶體202-1之一第二源極/汲極區域可耦合至電容器203-1且電晶體202-1之一閘極可耦合至字線204-Y。電晶體202-2之一第一源極/汲極區域可耦合至數位線205-2 (D_),電晶體202-2之一第二源極/汲極區域可耦合至電容器203-2且電晶體202-2之一閘極可耦合至字線204-X。如圖2中所展示之一胞板可耦合至電容器203-1及203-2之各者。胞板可為一共同節點,在各種記憶體陣列組態中可將一參考電壓(例如,接地)施加至該共同節點。 根據本發明之數項實施例,記憶體陣列230經組態以耦合至感測電路250。在此實施例中,感測電路250包括對應於各自記憶體胞行(例如,耦合至各自互補數位線對)之一感測放大器206及一計算組件231。然而,在一些實施例中,用於藉由邏輯條之計算組件執行之資料路徑內計算操作之感測電路250可不包含感測電路250中之計算組件。感測放大器206可耦合至互補數位線對205-1及205-2。若存在,則計算組件231可經由傳遞閘207-1及207-2耦合至感測放大器206。傳遞閘207-1及207-2之閘極可耦合至運算選擇邏輯213。 運算選擇邏輯213可經組態以包含:傳遞閘邏輯,其用於控制傳遞閘以將未轉置之互補數位線對耦合於感測放大器206與計算組件231之間;及交換閘邏輯,其用於控制交換閘以將經轉置之互補數位線對耦合於感測放大器206與計算組件231之間。運算選擇邏輯213亦可耦合至互補數位線對205-1及205-2。運算選擇邏輯213可經組態以基於一選定操作控制傳遞閘207-1及207-2之連續性。 感測放大器206可經操作以判定藉由一選定記憶體胞儲存之一資料值(例如,邏輯狀態)。感測放大器206可包括一交叉耦合鎖存器(其在本文中可被稱為一主要鎖存器)。在圖2中所繪示之實例中,對應於感測放大器206之電路包括一鎖存器215,鎖存器215包含耦合至一對互補數位線D 205-1及(D)_ 205-2之四個電晶體。然而,實施例不限於此實例。鎖存器215可為一交叉耦合鎖存器(例如,諸如n通道電晶體(例如,NMOS電晶體) 227-1及227-2之一對電晶體之閘極經由節點217-1及217-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。具有較低電壓之數位線205-1 (D)或205-2 (D)_將接通PMOS電晶體229-1或229-2之一者至大於PMOS電晶體229-1或229-2之另一者之程度,藉此驅使具有較高電壓之數位線205-1 (D)或205-2 (D)_升高至大於另一數位線205-1 (D)或205-2 (D)_經驅使而升高之程度。 類似地,具有較高電壓之數位線205-1 (D)或205-2 (D)_將接通NMOS電晶體227-1或227-2之一者至大於NMOS電晶體227-1或227-2之另一者之程度,藉此驅使具有較低電壓之數位線205-1 (D)或205-2 (D)_降低至大於另一數位線205-1 (D)或205-2 (D)_經驅使而降低之程度。因此,在一短暫延遲後,具有略大電壓之數位線205-1 (D)或205-2 (D)_透過一源極電晶體驅動至供應電壓VCC
之電壓,且另一數位線205-1 (D)或205-2 (D)_透過一耗散電晶體驅動至參考電壓(例如,接地)之電壓。因此,交叉耦合NMOS電晶體227-1及227-1及PMOS電晶體229-1及229-2用作一感測放大器對,其等放大數位線205-1 (D)及205-2 (D)_上之差分電壓且操作以鎖存自選定記憶體胞感測之一資料值。 實施例不限於圖2中所繪示之感測放大器206組態。作為一實例,感測放大器206可為一電流模式感測放大器及一單端感測放大器(例如,耦合至一個數位線之感測放大器)。又,本發明之實施例不限於一折疊數位線架構(諸如圖2中所展示之架構)。 感測放大器206可連同計算組件231一起操作以使用來自一陣列之資料作為輸入而執行各種運算。在數項實施例中,可在不經由一數位線位址存取傳送資料的情況下(例如,在未觸發一行解碼信號使得經由本地I/O線將資料傳送至陣列及感測電路外部的電路之情況下)將一運算之結果儲存回至陣列。因而,本發明之數項實施例可能夠使用少於各種先前方法之功率執行運算及與該等運算相關聯的計算函數。另外,因為數項實施例無需跨本地及全域I/O線傳送資料以便執行計算函數(例如,在記憶體與離散處理器之間),所以相較於先前方法,數項實施例可實現一增大(例如,更快)之處理能力。 感測放大器206可進一步包含平衡電路214,平衡電路214可經組態以使數位線205-1 (D)及205-2 (D)_平衡。在此實例中,平衡電路214包括耦合於數位線205-1 (D)與205-2 (D)_之間的一電晶體224。平衡電路214亦包括各具有耦合至一平衡電壓(例如,VDD
/2)之一第一源極/汲極區域之電晶體225-1及225-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中所展示之組態不同之一組態實施,或完全不實施。 如下文進一步描述,在數項實施例中,感測電路250 (例如,感測放大器206及計算組件231)可經操作以執行一選定運算且在不經由一本地或全域I/O線傳送來自感測電路之資料之情況下(例如,在不經由例如啟動一行解碼信號執行一感測線位址存取之情況下)首先將結果儲存於感測放大器206或計算組件231之一者中。 然而,進一步關於本文中所描述之實施例,具有感測放大器206之感測電路250 (其在一些實施例中亦可包含如圖2中所展示之計算組件231)亦可將來自一陣列中之記憶體胞之一經多工化行之記憶體胞耦合至如結合圖4所論述之在陣列本地之複數個共用I/O線455之資料路徑中之一計算單元460中的計算組件431-1、…、431-Z及/或邏輯條424-1、…、424-N。以此方式,計算組件431-1、…、431-Z及/或邏輯條424-1、…、424-N可經由選擇邏輯(結合圖3至圖7所論述)透過複數個共用I/O線455間接耦合至一行之記憶體胞。 運算(例如,涉及資料值之布林邏輯運算)之執行係基本且常用的。布林邏輯運算係用於許多更高階運算中。因此,可藉由改良運算實現之速度及/或功率效率可轉變成更高階功能性之速度及/或功率效率。 如圖2中所展示,計算組件231亦可包括一鎖存器(其在本文中可被稱為一次要鎖存器264)。次要鎖存器264可依類似於上文關於主要鎖存器215所描述之方式之一方式組態及操作,惟以下除外:包括次要鎖存器之交叉耦合之p通道電晶體(例如,PMOS電晶體)對可具有耦合至一供應電壓212-2(例如,VDD
)之其等各自源極,且次要鎖存器之交叉耦合之n通道電晶體(例如,NMOS電晶體)對可具有可選擇地耦合至一參考電壓212-1(例如,接地「GND」)之其等各自源極,使得連續地啟用次要鎖存器。計算組件231之組態不限於圖2中所展示之組態且各種其他實施例係可行的,例如用作結合圖4之邏輯條424-1、…、424-N描述之計算組件431-1、…、431-Z。 如本文中所描述,一記憶體器件(例如,圖1A中之120)可經組態以經由一資料匯流排(例如,156)及一控制匯流排(例如,154)耦合至一主機(例如,110)。記憶體器件120中之一記憶體庫121可包含記憶體胞之複數個記憶體庫區段(圖1B中之123-1、…、123-N)。記憶體庫121可包含經由記憶體胞之複數個行(圖1B)耦合至複數個陣列之感測電路(例如,圖1A中之150及圖2及圖3中之對應元件符號)。感測電路可包含耦合至行之各者之一感測放大器及/或一計算組件(例如,在圖2中分別為206及231)。 各記憶體庫區段123可與在陣列230本地之複數個共用I/O線(圖1B中之155)之一資料路徑中之一計算單元中的複數個邏輯條(例如,圖1B中之124-0、124-1、…、124-N-1)相關聯。耦合至記憶體庫之一控制器(例如,圖1A及圖1B中之140)可經組態以如本文中所描述般引導資料值移動至陣列230本地之一共用I/O線355/455 (圖3及圖4)之一資料路徑中之一計算單元360/460 (圖3及圖4)中的一邏輯條424 (圖4)中之一計算組件431 (圖4)。 記憶體器件可包含具有各可對應於一子列(例如,圖4中之428-1、…、428-16)中之記憶體胞之複數個行(圖1B)之一數目之複數個計算組件(例如,圖4中之431-1、…、431-Z)之一邏輯條(例如,圖1B中之124及圖4中之424)。如結合圖3進一步論述,感測電路250中之數個感測放大器206及/或計算組件231可(例如,經由圖3中之行選擇電路358-1及358-2多工化)可選擇地耦合至複數個共用I/O線355 (圖3)。行選擇電路可經組態以藉由可選擇地耦合至複數個(例如,四個、八個及十六個及其他可能性)感測放大器及/或計算組件而可選擇地感測一陣列之記憶體胞之一特定行中之資料。 在一些實施例中,一記憶體庫中之複數個邏輯條(例如,圖1B中之124-1、…、124-N)之一數目可對應於該記憶體庫中之圖1B中之記憶體庫區段123-1、…、123-N (例如,具有複數個子陣列之一象限)之一數目。替代地或另外,一記憶體庫中之複數個邏輯條之數目可對應於一DRAM陣列之一列中之複數個子列之一數目。一邏輯條可包含在陣列230本地之一共用I/O線455 (圖4)之一資料路徑中之複數個計算組件431-1、…、431-Z (圖4),其等可如同圖2中所展示之計算組件231般組態及/或操作。如圖3中將展示,自陣列之一列或子列感測之資料值可藉由行選擇邏輯經由複數個共用I/O線355 (圖3)並行移動至複數個共用I/O線355/455 (圖3及圖4)之一資料路徑之一計算單元360/460 (圖3及圖4)中的複數個計算組件431 (圖4)。在一些實施例中,資料量可對應於複數個共用I/O線之一1K位元寬度,其亦可對應於一子列之記憶體胞及/或資料值之數目。 在各種實施例中,連接電路232-1可例如在217-1處耦合且連接電路232-2可在217-1處耦合至一主要鎖存器215 (例如,感測放大器206用作與一邏輯條中之一計算組件231相關聯之一鎖存器)以用於移動一邏輯條之已對其執行一運算之經感測、經儲存及/或資料值。資料值可直接(例如,作為一位元串行鏈路)經由連接電路232-1及232-2移動至另一邏輯條中之一選定鎖存器及/或計算組件231 (例如,未經由一共用I/O線移動)。 儘管圖2將連接電路232-1及232-2展示為分別在主要鎖存器215之217-1及217-2處耦合,然實施例不限於此。例如,連接電路232-1及232-2可例如耦合至次要鎖存器264 (例如,計算組件231)以用於將資料值經由連接電路232-1及232-2移動至另一邏輯條中之一選定鎖存器及/或計算組件231。例如,此等連接電路232-1及232-2可實現(例如,如藉由控制器140引導)自一第一邏輯條中之鎖存器及/或計算組件至一第二邏輯條中之對應鎖存器及/或計算組件之資料值(位元)之一級聯以用於在複數個邏輯條中執行一脈動運算序列(例如,如結合圖9C描述)。 如本文中所描述,記憶體胞陣列可包含DRAM記憶體胞之一實施方案,其中控制器經組態以回應於一命令而經由一共用I/O線將資料自源位置移動(例如,複製、傳送及/或輸送)至目的地位置。在各項實施例中,該源位置可在一第一記憶體庫中且該目的地位置可在陣列230本地之共用I/O線355 (圖3)之一資料路徑中之一計算單元360 (圖3)中。 如圖3中所描述,裝置可經組態以將資料自包含與第一數目個感測放大器及計算組件相關聯之一特定列(例如,圖3中之319)及行位址之一源位置移動(例如,複製、傳送及/或輸送)至一共用I/O線(例如,圖3中之355)。另外,裝置可經組態以將資料移動至包含與共用I/O線355 (圖3)之一資料路徑中之一計算單元360 (圖3)相關聯的一特定邏輯條424 (圖4)之一目的地位置。如讀者將瞭解,各共用I/O線355 (圖3)可為一單一線或可包含一對互補共用I/O線(例如,圖3中之共用I/O線及共用I/O線*)。在一些實施例中,2K個共用I/O線(例如,互補共用I/O線對)可經組態為一2K位元寬共用I/O線。在一些實施例中,1K個共用I/O線(例如,互補共用I/O線對)可經組態為一1K位元寬共用I/O線。 圖3係繪示根據本發明之數項實施例之用於一陣列之一資料路徑中之複數個共用I/O線之電路的一示意圖。圖3展示各耦合至各自互補共用I/O線355對(例如,共用I/O線及共用I/O線*)之八個感測放大器(例如,分別在306-0、306-1、…、306-7處展示之感測放大器0、1、…、7)。圖3亦展示各經由各自傳遞閘307-1及307-2以及數位線305-1及305-2耦合至一各自感測放大器(例如,如對於感測放大器0以306-0展示)之八個計算組件(例如,在331-0、331-1、…、331-7處展示之計算組件0、1、…、7)。傳遞閘可如圖2中所展示般連接且可藉由一運算選擇信號Pass加以控制。例如,選擇邏輯之一輸出可耦合至傳遞閘307-1及307-2之閘極以及數位線305-1及305-2。在一些實施例中,對應感測放大器及計算組件對可促進形成在350-0、350-1、…、350-7處指示之感測電路。 可將存在於該對互補數位線305-1及305-2上之資料值載入至感測放大器306-0中,如結合圖2所描述。在一些實施例中,當啟用傳遞閘307-1及307-2時,可將該對互補數位線305-1及305-2上之資料值自感測放大器傳遞至計算組件(例如,306-0至331-0)。當觸發感測放大器306-0時該對互補數位線305-1及305-2上之資料值可為藉由感測放大器306-0儲存之資料值。 圖3中之感測放大器306-0、306-1、…、306-7可各對應於圖2中所展示之感測放大器206。圖3中所展示之計算組件331-0、331-1、…、331-7可各對應於圖2中所展示之計算組件231。一單獨感測放大器、一個感測放大器與一個計算組件之一組合可促成耦合至一共用I/O線355 (其由共用I/O線355之一資料路徑中之計算組件360之數個邏輯條共用)之一DRAM記憶體子陣列325之一部分之感測電路(例如,350-0、350-1、…、350-7)。 圖3中所繪示之實施例之組態係為清楚目的而展示且不限於此等組態。例如,圖3中所繪示之用於感測放大器306-0、306-1、…、306-7連同計算組件331-0、331-1、…、331-7及共用I/O線355之組態不限於感測電路之感測放大器306-0、306-1、…、306-7及/或計算組件331-0、331-1、…、331-7之組合之一半形成於記憶體胞行322 (未展示)上方且一半形成於記憶體胞行322下方。形成經組態以耦合至一共用I/O線之感測電路之感測放大器及/或計算組件之此等組合的數目亦不限於八個。例如,當每列之子列數目及/或邏輯條之數目係16個時,形成經組態以耦合至一共用I/O線之感測電路之感測放大器及/或計算組件之數目可為16個。另外,共用I/O線355之組態不限於分成單獨耦合兩組互補數位線305-1及305-2之各者之兩個部分,共用I/O線355亦不限於定位於形成感測電路之感測放大器及/或計算組件之組合的中間(例如,而非定位於感測放大器與計算組件之組合之任一端處)。 圖3中所繪示之電路亦展示行選擇電路358-1及358-2,其經組態以藉由相對於一子陣列325之特定行322、與其相關聯之互補數位線305-1及305-2以及共用I/O線355多工化而實施資料移動操作(例如,如藉由圖1A及圖1B中所展示之控制器140引導)。例如,行選擇電路358-1具有經組態以與對應行(諸如行0 (332-0)、行2、行4及行6)耦合之選擇線0、2、4及6。行選擇電路358-2具有經組態以與對應行(諸如行1、行3、行5及行7)耦合之選擇線1、3、5及7。在各項實施例中,結合圖3所描述之行選擇電路358可表示藉由多工器(例如,8路多工器、16路多工器等)體現及包含在多工器中之功能性之至少一部分。 控制器140可耦合至行選擇電路358以控制選擇線(例如,選擇線0)以存取藉由感測放大器、計算組件儲存及/或存在於互補數位線對(例如,305-1及305-2,當經由來自選擇線0之信號啟動選擇電晶體359-1及359-2時)上之資料值。啟動選擇電晶體359-1及359-2 (例如,如藉由控制器140引導)實現行0 (322-0)之感測放大器306-0、計算組件331-0及/或互補數位線305-1及305-2之耦合以將數位線0及數位線0*上之資料值移動至共用I/O線355。例如,該等經移動之資料值可為來自儲存(快取)於感測放大器306-0及/或計算組件331-0中之一特定列319之資料值。類似地可藉由控制器140啟動適當選擇電晶體而選擇來自行0至行7之各者之資料值。 再者,啟用(例如,啟動)選擇電晶體(例如,選擇電晶體359-1及359-2)可啟用一特定感測放大器及/或計算組件(例如,分別為306-0及/或331-0)以與一共用I/O線355耦合使得可將藉由一放大器及/或計算組件儲存之資料值移動至共用I/O線355 (例如,放置於共用I/O線355上及/或傳送至共用I/O線355)。在一些實施例中,每次選擇一個行(例如,行322-0)以耦合至一特定共用I/O線355以移動(例如,複製、傳送及/或輸送)經儲存資料值。在圖3之例示性組態中,共用I/O線355係繪示為一共用、差分I/O線對(例如,共用I/O線及共用I/O線*)。因此,選擇行0 (322-0)可自一列(例如,列319)之一子列產生兩個資料值(例如,具有值0及/或1之兩個位元)及/或可產生如藉由與互補數位線305-1及305-2相關聯之感測放大器及/或計算組件儲存之兩個資料值。此等資料值可並行輸入至共用差分I/O線355之各共用、差分I/O對(例如,共用I/O線及共用I/O線*)。 圖4係繪示根據本發明之數項實施例之藉由在一陣列130 (圖1A)本地之一資料路徑中之複數個共用I/O線455耦合至具有複數個邏輯條424-1、…、424-Z之一計算單元460的陣列130之一記憶體庫區段423的一方塊圖。在圖4之實施例中,一記憶體庫區段423 (例如,具有複數個記憶體庫象限)經展示為每象限具有複數個子陣列425-1、…、425-32。在圖4中,記憶體庫象限1中繪示32個子陣列。然而,實施例不限於此實例。此實例將一記憶體庫區段423展示為具有16K個行,其等可(例如,經由在358-1及358-2處展示且結合圖3描述之行選擇電路)藉由每列之16個子列428-1、…、428-16多工化至共用I/O線455。在一些實施例中,每十六個行及一經耦合記憶體胞可提供可作為一子列作為1K個位元之一群組並行移動至計算單元460之一資料值。替代地或另外,連續1K個行及經耦合記憶體胞可提供可作為一子列作為1K個位元之一群組並行移動至計算單元460之1K個資料值。在任一實施例中,除其他可能實施例以外,亦可在16個循環中透過共用I/O線455將1K個位元之群組循序移動至16個指定邏輯條424-1、…、424-N之1K個指定計算組件431-1、…、431-Z。 例如,來自第一子列428-1之一序列中之一第一感測放大器及/或記憶體胞之一位元可經引導(例如,藉由控制器140)以藉由第一邏輯條424-1中之計算組件序列中之一第一計算組件431-1或一相關聯鎖存器儲存。例如,來自第一子列428-1之序列中之一第二感測放大器及/或記憶體胞之一位元可經引導以藉由第一邏輯條424-1中之計算組件序列中之一第二計算組件431-2或一相關聯鎖存器儲存。此外,來自第二子列428-2之一序列中之一第一感測放大器及/或記憶體胞之一位元可經引導以藉由第二邏輯條424-2中之計算組件序列中之一第一計算組件431-1或一相關聯鎖存器儲存。來自第二子列428-2之序列中之一第二感測放大器及/或記憶體胞之一位元可經引導以藉由第二邏輯條424-2中之計算組件序列中之一第二計算組件或一相關聯鎖存器儲存。對應於每列之子列428-2、428-1、…、428-16之序列中之各感測放大器及/或記憶體胞之位元可類似地經指定以藉由邏輯條424-1、…、424-N之序列中之一對應計算組件或一相關聯鎖存器儲存(例如,來自子列428-1之資料值移動至邏輯條424-1,來自子列428-2之資料值移動至邏輯條424-2,等等)。移動可經由共用I/O線455引導至一指定邏輯條,其可提供計算單元460之一1K位元寬資料路徑。 在圖4之實例中,各邏輯條424-1、…、424-N可具有複數個計算組件431-1、…、431-Z,如本文中已結合圖2之感測電路250描述之計算組件231。在一些實施例中,複數個邏輯條424-1、…、424-N之各者可經組態以使用複數個計算組件431-1、…、431-Z執行一計算函數。在一些實施例中,複數個邏輯條424-1、…、424-Z之各者可使用複數個計算組件431-1、…、431-Z執行一不同邏輯運算。例如,複數個邏輯條424-1、…、424-Z之至少一者可經組態以執行一AND運算且複數個邏輯條424-1、…、424-Z之至少一者可經組態以執行一NOR運算以及邏輯運算之各種組合及/或序列。 在一些實施例中,與記憶體庫區段相關聯之控制器140 (圖1A)可執行微碼指令以引導1K個資料值自與一特定經存取子列連接之複數個子陣列425-1、…、425-32中之對應1K個經多工化行並行移動至計算單元460中之一特定邏輯條424-1、…、424-N之一特定計算組件431-1、…、431-Z。 在一些實施例中,可使用共用I/O線以將1K個資料值連接至複數個邏輯條424-1、…、424-N之一各自者中之複數個計算組件431-1、…、431-Z之一各自者。藉由實例且非限制地,可將1K位元之資料值並行移動至與各子列相關聯的一特定邏輯條。在各種實施例中,例如可存在與一記憶體庫區段423之4個象限之各者中之32個子陣列425-1、…、425-32之各者相關聯之一計算單元460或計算單元可在子陣列、象限及/或記憶體庫區段之各種組合之間共用。可根據來自控制器140 (圖1A)之微碼指令對載入至計算單元460之邏輯條424-1、…、424-N中之複數個計算組件431-1、…、431-Z的資料值進行操作以對該等資料值執行運算(例如,AND、OR、NOR、XOR、加法、減法、乘法、除法等),如本文中已結合圖2之感測電路250描述。 如本文中所描述,例如,一旦一第一子列428-1之1K個資料值移動(例如,載入)至計算單元460之一第一邏輯條424-1,便可在資料值自一第二子列428-2移動至計算單元460之一第二邏輯條424-2之前及/或實質上同時對此等資料值開始計算操作。可根據藉由控制器140 (圖1A)執行之微碼指令更快地(例如,以約2 ns之速度)控制在計算單元之邏輯條中執行之此等操作而無需將該等資料值移動回至陣列130 (圖1A)之列中。例如,可使用計算單元460以一更快速度(相較於觸發及存取陣列130 (圖1A)中之列所需之一例示性時間(例如,約60 ns))執行計算操作。如結合圖2描述,連接電路232-1及232-2可能夠在邏輯條之間移動一邏輯條之已對其執行一運算之經感測、經儲存及/或資料值而未經由一共用I/O線移動。 因此,在各種實施例中,一記憶體器件120可包含共用為用於與一記憶體胞陣列130相關聯之資料路徑內計算操作之一資料路徑之複數個I/O線。複數個共用I/O線可將陣列之一列之一第一子列(例如,428-1)經由感測電路(例如,350)可選擇地耦合至資料路徑中之一第一計算組件(例如,431-1)以將一第一資料值自第一子列移動至第一計算組件。複數個共用I/O線可將各自列之一第二子列(例如,428-2)經由感測電路可選擇地耦合至資料路徑中之一第二計算組件(例如,對應於第一邏輯條中之第一計算組件之位置之一計算組件)以將一第二資料值自第二子列移動至第二計算組件。例如,第一邏輯條(例如,424-1)可包含第一計算組件且一第二邏輯條(例如,424-2)可包含第二計算組件。如本文中所描述,可使用第一計算組件對來自第一子列之第一資料值執行一運算,實質上同時將第二資料值自第二子列移動至第二計算組件。 在各種實施例中,資料路徑可進一步包含:第一邏輯條(例如,424-1),其可包含對應於第一子列(例如,428-1)之數個複數個記憶體胞(未展示)之數個複數個第一計算組件(例如,431-1、…、431-Z);及第二邏輯條(例如,424-2),其可包含對應於第二子列(例如,428-2)之數個複數個記憶體胞之數個複數個第二計算組件。複數個邏輯條(例如,424-1、…、424-N)之一數目可對應於各自列之複數個子列(例如,428-1、…、428-16)之一數目。一計算單元(例如,460)可包含複數個邏輯條(例如,424-1、…、424-N),其等可各包含複數個計算組件(例如,431-1、…、431-Z),其中複數個計算組件之各者可與陣列本地之複數個共用I/O線455之至少一者相關聯(例如,可選擇地耦合至其等)。複數個共用I/O線之一數目可對應於各自列之一子列之複數個記憶體胞之一數目(例如,子列或列之每8或16個記憶體胞及/或行一單獨共用I/O線以及其他可能組態)。一邏輯條(例如,424-1)可包含對應於耦合至一各自邏輯條之子列之數個複數個記憶體胞之數個複數個計算組件(例如,431-1、…、431-Z)。 圖5係繪示根據本發明之數項實施例之一記憶體器件520之一控制器540之一實例的一方塊圖。在一些實施方案中,圖5之方塊圖提供一具備PIM能力之器件(諸如圖1A及圖1B中之記憶體器件120)之一個實例之一部分的更多細節。在圖5之實例中,控制器540-1、…、540-7 (通稱為控制器540)可與具備PIM能力之器件520之各記憶體庫521-1、…、521-7 (通稱為記憶體庫521)相關聯。在圖5之實例中展示八個記憶體庫。然而,實施例不限於此例示性數目。例如,控制器540可表示圖1A中所展示之控制器140。各記憶體庫可包含一或多個記憶體胞陣列(未展示)。例如,各記憶體庫可包含一或多個陣列(諸如圖1A中之陣列130)且可包含如圖1A中所展示之解碼器、其他電路及/或暫存器。在圖5中所展示之例示性記憶體器件520中,控制器540-1、…、540-7經展示為具有控制邏輯531-1、…、531-7、定序器532-1、…、532-7及時序電路533-1、…、533-7作為一記憶體器件520之一或多個記憶體庫521上之一控制器540之部分。具備PIM能力之器件520可表示圖1A中所展示之記憶體器件120之部分。 如圖5中所展示,記憶體器件520可包含用以在具備PIM能力之器件520處接收資料、位址、控制信號及/或命令之一高速介面(HSI) 541。在各項實施例中,HSI 541可耦合至與具備PIM能力之器件520相關聯之一記憶體庫仲裁器545。HSI 541可經組態以自一主機(例如,圖1A中之110)接收命令及/或資料。如圖5中所展示,記憶體庫仲裁器545可耦合至複數個記憶體庫521-1、…、521-7。 在圖5中所展示之實例中,控制邏輯531-1、…、531-7可呈負責提取及執行來自各記憶體庫521-1、…、521-7之部分之一記憶體胞陣列(例如,圖1A中之陣列130)之機器指令(例如,微碼指令)之一微碼引擎之形式。定序器532-1、…、532-7亦可呈微碼引擎之形式。替代性地,控制邏輯531-1、…、531-7可呈特大指令字(VLIW)類型處理資源之形式且定序器532-1、…、532-7及時序電路533-1、…、533-7可呈狀態機及電晶體電路之形式。 控制邏輯531-1、…、531-7可將微碼指令解碼成藉由定序器532-1、…、532-7實施之函式呼叫(例如,微碼函式呼叫(uCODE))。圖6繪示在圖6中展示為642之控制器540之另一實施例,其繪示根據本發明之實施例之一定序器之一更詳細部分。微碼函式呼叫可為定序器532-1、…、532-7接收及執行以引起記憶體器件520使用感測電路(諸如圖1A中之感測電路150)或使用分別在圖4及圖6中所展示之計算單元460及660之計算組件431-1、…、431-Z及631-1、…、631-Z執行特定邏輯運算之操作。時序電路533-1、…、533-7可提供時序以藉由分別在圖4及圖6中所展示之計算單元460及660之邏輯條424-1、…、424-N及624-1、…、624-N協調邏輯運算之執行及/或負責提供對陣列(諸如圖1A中之陣列130)之無衝突存取。 如結合圖1A所描述,控制器540-1、…、540-7可經由圖5中展示為555-1、…、555-7之控制線及資料路徑耦合至與記憶體胞陣列相關聯之感測電路150、計算單元460/660及/或額外邏輯電路170 (包含快取區、緩衝器、感測放大器、擴展列位址(XRA)鎖存器及/或暫存器(如圖1B中所示之550/570-1、…、550/570-7))。因而,圖1A、圖4及圖6中所展示之感測電路150、計算單元460/660及邏輯170可(例如,使用在圖5中之555-1、…、555-7處展示之共用I/O線及/或其他I/O電路)與記憶體胞陣列130相關聯。控制器540-1、…、540-7可控制陣列之正規DRAM操作(諸如讀取、寫入、複製及/或擦除操作等)。另外,然而,藉由控制邏輯531-1、…、531-7擷取及執行之微碼指令及藉由定序器532-1、…、532-7接收及執行之微碼函式呼叫引起圖1A、圖4及圖6中所展示之感測電路150及/或計算單元460/660執行額外邏輯運算(諸如加法、乘法或(作為一更特定實例)布林運算,諸如AND、OR、XOR等),其等不同於常規DRAM讀取及寫入操作(例如,比常規DRAM讀取及寫入操作更複雜)。因此,在此例示性記憶體器件520中,可在一具備PIM能力之器件之記憶體庫521-1、…、521-7上執行微碼指令執行及/或邏輯運算。 在各種實施例中,控制邏輯531-1、…、531-7、定序器532-1、…、532-7及時序電路533-1、…、533-7可操作以針對一DRAM陣列產生操作循環序列及/或引導記憶體器件520上(例如,記憶體庫521-1、…、521-7上,包含在共用I/O線455-1、…、455-7之一資料路徑中之一計算單元460/660中)之運算(例如,邏輯運算)的執行。在具備PIM能力之器件實例中,各序列可經設計以執行一起達成一特定功能之運算(諸如布林邏輯運算AND、OR、XOR等)。例如,運算序列可重複執行一(1)位元加法之一邏輯運算以計算一多位元總和。在另一實例中,用於運算序列之指令可經執行以執行數個α混合圖形操作以及各種其他類型之操作。可將各運算序列饋送至耦合至時序電路533-1、…、533-7之一先進/先出(FIFO)緩衝器中以提供與和圖1A中所展示之記憶體胞陣列130 (例如,DRAM陣列)相關聯之感測電路150、計算單元460/660及/或額外邏輯電路170之時序協調。 在圖5中所展示之例示性具備PIM能力之記憶體器件520中,時序電路533-1、…、533-7可提供時序且可自四(4)個FIFO佇列提供對陣列之無衝突存取及/或可協調計算單元460/660中之運算之時序。在此實例中,一個FIFO佇列可支援陣列計算,一個FIFO佇列用於微碼(例如,Ucode)指令提取,一個FIFO佇列可用於與共用I/O線、邏輯條、計算單元、連接電路等相關之資料路徑之控制,且一個FIFO佇列用於DRAM I/O。控制邏輯531-1、…、531-7及定序器532-1、…、532-7兩者皆可產生可經由一FIFO介面投送回至記憶體庫仲裁器545之狀態資訊。記憶體庫仲裁器545可彙總此狀態資料且例如經由HSI 541將其報告回至主機110。 圖6係繪示一記憶體器件520 (圖5)之一控制器642之一部分之另一實例之一方塊圖。除其他功能以外,控制器642亦經組態以根據本發明之數項實施例使用在一陣列130 (圖1A)本地之一資料路徑中之一共用I/O線655控制資料值至具有複數個邏輯條624-1、…、624-N之一計算單元660之移動。在圖6之實例中,控制器642之部分係一控制器之一定序器部分(諸如圖5中之定序器532)之一實例。 在圖6之例示性實施例中,控制器642之定序器部分可對三種類別之微碼指令(陣列操作、計算組件操作及控制操作)操作。如601處所展示,位元值可提供為一子陣列遮罩之部分以識別一記憶體庫區段之一象限中之一特定子陣列,如上文所描述。在602-1及602-2處,與如結合圖2之感測電路250描述且在圖7中更詳細展示為731 (A)及706 (B)之一主要鎖存器及次要鎖存器相關聯之A及B位址指標提供一陣列130 (圖1A)中之資料值之實體位址之指標。在603處,位元值可另外提供至陣列130 (圖1A)中之一額外索引。如圖6之實例中所展示,位址指標602-1及602-2以及索引603用於存取一陣列130 (圖1A)之特定列及感測線(例如,對列字線及位元線)。 本文中所描述之複數個共用I/O線655可將陣列130 (圖1A)連接至在陣列本地之共用I/O 655之一資料路徑中的計算單元660。將指令自控制器642提供至該計算單元以將來自共用I/O線655之資料值載入至該計算單元660之一給定邏輯條624-1、…、624-N中之一給定計算組件631-1、…、631-Z。計算單元660之一遮罩條641可能夠選擇一感測線及計算組件值以用於讀取或寫入。 在604處,來自一佈線或(wired OR)邏輯組態之一條件碼可提供運用計算單元660之一佈線或運算之一位元值結果。在611處,位元值可提供一暫存器位址作為用於計算組件操作指令之一第二暫存器源之一指標。在612處,位元值可指示計算單元660之一邏輯條624-1、…、624-N之一暫存器索引以及用於計算組件操作指令之一第二暫存器源之暫存器位址指標611。 圖7係繪示根據本發明之數項實施例之一邏輯條(例如,如在124、424及624處展示且結合圖1B、圖4及圖6描述)之計算組件731的一示意圖。圖7亦為繪示根據本發明之數項實施例之能夠實施邏輯運算之計算單元460/660電路的一示意圖。 在一些實施例中,圖7展示直接耦合至一對互補共用I/O線755-1及755-2 (例如,如結合圖3中之共用I/O線355展示及描述)之一鎖存器706及/或邏輯運算選擇邏輯713及經由傳遞閘707-1及707-2耦合至鎖存器706之一計算組件731。藉由圖解且非限制地,鎖存器706在圖7中展示為直接耦合至該對互補共用I/O線755-1及755-2。例如,一共用I/O線可為一單一共用I/O線755或可包含圖7中所展示之該對互補共用I/O線。在各種實施例中,共用I/O線之任一實施例可選擇地及/或直接耦合至鎖存器706以載入(例如,儲存)來自一陣列之一第一列之一第一子列之一第一資料值及/或可選擇地及/或直接耦合至計算組件731以載入(例如,儲存)來自一第二列之一第二子列之一第二資料值以能夠藉由計算組件731使用兩個經儲存資料值執行一邏輯運算。 在一些實施例中,可存在與一計算組件731相關聯之複數個鎖存器706,使得鎖存器可在各種實施例中可選擇地、直接及/或間接耦合至共同I/O線以將一資料值載入至鎖存器之各者,資料值可接著(例如,如藉由一控制器引導)藉由一相關聯計算組件可選擇地用於執行複數個邏輯運算(例如,如藉由鎖存器數目之平方而判定)。因此,傳遞閘707-1及707-2可在各種實施例中用於將鎖存器706、計算組件731及/或邏輯運算選擇邏輯713直接及/或間接耦合至彼此及/或將共用I/O線755間接連接至鎖存器706、計算組件731及/或邏輯運算選擇邏輯713。 圖7中所展示之鎖存器706可依類似於結合圖2展示及描述之如與感測電路250相關聯之感測放大器206 (例如,主要鎖存器)之一方式運作。圖7中所展示之計算組件731可類似於圖2中所展示之如與感測電路250相關聯之計算組件231 (例如,次要鎖存器)運作。圖7中所展示之邏輯運算選擇邏輯713可類似於圖2中所展示之與感測電路250相關聯之邏輯運算選擇邏輯213運作。傳遞閘707-1及707-2之閘極可由一邏輯運算選擇邏輯713信號(例如,Pass)加以控制。例如,邏輯運算選擇邏輯713之一輸出可耦合至傳遞閘707-1及707-2之閘極。此外,計算組件731可包括經組態以使資料值向左及向右移位之一可載入移位暫存器。 根據圖7中所繪示之實施例,計算組件731可包括經組態以使資料值向左及向右移位之一可載入移位暫存器之各自階段(例如,移位胞)。例如,如圖7中所繪示,移位暫存器之各計算組件731 (例如,級)包括一對右移位電晶體781及786、一對左移位電晶體789及790以及一對反相器787及788。可將信號PHASE 1R、PHASE 2R、PHASE 1L及PHASE 2L施加至各自控制線782、783、791及792以啟用/停用對應計算組件731之鎖存器上與根據本文中所描述之實施例執行邏輯運算及/或移位資料相關聯之回饋。 圖7中所展示之計算單元460/660電路展示耦合至數個邏輯選擇控制輸入控制線(包含ISO、TF、TT、FT及FF)之運算選擇邏輯713。自邏輯選擇控制輸入控制線上之邏輯選擇控制信號之條件以及在經由確證ISO控制信號啟用隔離電晶體750-1及750-2時存在於互補共用I/O線對755-1及755-2上之資料值而判定自複數個邏輯運算之一邏輯運算選擇。 根據各項實施例,運算選擇邏輯713可包含四個邏輯選擇電晶體:耦合於交換電晶體742之閘極與一TF信號控制線之間的邏輯選擇電晶體762、耦合於傳遞閘707-1及707-2之閘極與一TT信號控制線之間的邏輯選擇電晶體752、耦合於傳遞閘707-1及707-2之閘極與一FT信號控制線之間的邏輯選擇電晶體754及耦合於交換電晶體742之閘極與一FF信號控制線之間的邏輯選擇電晶體764。邏輯選擇電晶體762及752之閘極透過隔離電晶體750-1 (其具有耦合至一ISO信號控制線之一閘極)耦合至真感測線。邏輯選擇電晶體764及754之閘極透過隔離電晶體750-2 (其亦具有耦合至一ISO信號控制線之一閘極)耦合至互補感測線。 可經由傳遞閘707-1及707-2將存在於互補共用I/O線對755-1及755-2上之資料值載入至計算組件731中。計算組件731可包括一可載入移位暫存器。當傳遞閘707-1及707-2開啟時,互補共用I/O線對755-1及755-2上之資料值(「A」)經傳遞至計算組件731且藉此經載入至該可載入移位暫存器中。互補共用I/O線對755-1及755-2上之資料值可為在觸發感測放大器706時藉由感測放大器儲存之資料值(「B」)。在此實例中,邏輯運算選擇邏輯信號Pass為高以開啟傳遞閘707-1及707-2。 ISO、TF、TT、FT及FF控制信號可操作以基於感測放大器706中之資料值(「B」)及計算組件731中之資料值(「A」)選擇一邏輯函數進行實施。特定言之,ISO、TF、TT、FT及FF控制信號經組態以獨立於存在於互補共用I/O線對755-1及755-2上之資料值而選擇邏輯函數進行實施(儘管經實施邏輯運算之結果可取決於存在於互補共用I/O線對755-1及755-2上之資料值)。例如,ISO、TF、TT、FT及FF控制信號直接選擇邏輯運算進行實施,此係因為存在於互補共用I/O線對755-1及755-2上之資料值並未傳遞通過用以操作傳遞閘707-1及707-2之閘極之邏輯。 另外,圖7展示經組態以在感測放大器706與計算組件731之間交換互補共用I/O線對755-1及755-2之定向之交換電晶體742。當交換電晶體742開啟時,交換電晶體742之感測放大器706側上之互補共用I/O線對755-1及755-2上之資料值相反耦合(oppositely-couple)至交換電晶體742之計算組件731側上之互補共用I/O線對755-1及755-2,且藉此載入至計算組件731之可載入移位暫存器中。 當ISO控制信號線被啟動且TT控制信號在真共用I/O線上之資料值為「1」之情況下被啟動(例如,為高)或FT控制信號在互補共用I/O線上之資料值為「1」之情況下被啟動(例如,為高)時,邏輯運算選擇邏輯713信號Pass可經啟動(例如,為高)以開啟傳遞閘707-1及707-2(例如,傳導)。 真共用I/O線上之資料值係一「1」開啟邏輯選擇電晶體752及762。互補共用I/O線上之資料值係一「1」開啟邏輯選擇電晶體754及764。若ISO控制信號或對應共用I/O線(例如,特定邏輯選擇電晶體之閘極耦合至之共用I/O線)上之各自TT/FT控制信號或資料值並非為高,則傳遞閘707-1及707-2將不會由一特定邏輯選擇電晶體開啟。 當ISO控制信號線經啟動且TF控制信號在真共用I/O線上之資料值為「1」之情況下經啟動(例如,為高)或FF控制信號在互補共用I/O線上之資料值為「1」之情況下經啟動(例如,為高)時,邏輯運算選擇邏輯信號Pass*可經啟動(例如,為高)以開啟交換電晶體742(例如,傳導)。若對應共用I/O線(例如,特定邏輯選擇電晶體之閘極耦合至之共用I/O線)上之各自控制信號或資料值並非為高,則交換電晶體742將不會由一特定邏輯選擇電晶體開啟。 Pass*控制信號不一定與Pass控制信號互補。可同時啟動或撤銷啟動Pass及Pass*控制信號兩者。然而,Pass及Pass*控制信號兩者之同時啟動使互補共用I/O對短接在一起,此可為應避免之一破壞性組態。 圖7中所繪示之計算單元460/660電路經組態以自四個邏輯選擇控制信號直接選擇複數個邏輯運算之一者來實施(例如,邏輯運算選擇並不取決於存在於互補共用I/O線對上之資料值)。邏輯選擇控制信號之一些組合可引起傳遞閘707-1及707-2及交換電晶體742兩者同時開啟,此將互補共用I/O線對755-1及755-2短接在一起。根據本發明之數項實施例,可藉由圖7中所繪示之計算單元460/660電路實施之邏輯運算可為圖8中展示之邏輯表中概述之邏輯運算。 圖8係繪示根據本發明之數項實施例之藉由圖7中所展示之計算組件731及相關聯電路實施之可選擇邏輯運算結果的一邏輯表。可藉由圖7中所展示之複數個共用I/O線755-1及755-2之一資料路徑中之計算單元460/660電路實施可選擇邏輯運算結果。四個邏輯選擇控制信號(例如,TF、TT、FT及FF)連同存在於互補共用I/O線上之一特定資料值一起可用於選擇複數個邏輯運算之一者進行實施,此涉及藉由計算單元460/660電路之感測放大器706 (例如,主要鎖存器)及計算組件731 (例如,次要鎖存器)儲存之起始資料值(「A」及「B」)。該四個控制信號連同存在於互補共用I/O線上之一特定資料值一起控制傳遞閘707-1及707-2以及交換電晶體742之連續性,此繼而影響在觸發之前/之後在計算組件731及/或感測放大器706中之資料值。可選擇地控制交換電晶體742之連續性之能力促進實施涉及反相資料值(例如,反相運算元及/或反相結果)等之邏輯運算。 圖8中所繪示之邏輯表8-1展示在844處之欄A中所展示之藉由計算組件731 (例如,次要鎖存器)儲存之一起始資料值及在845處之欄B中所展示之藉由鎖存器(例如,作為一主要鎖存器之感測放大器706)儲存之一起始資料值。邏輯表8-1中之其他3欄標頭係指傳遞閘707-1及707-2以及交換電晶體742之連續性,其等可取決於四個邏輯選擇控制信號(例如,TF、TT、FT及FF)之狀態以及存在於互補共用I/O線對755-1及755-2上之一特定資料值而分別控制為開啟或關閉。「Not Open」欄對應於傳遞閘707-1及707-2以及交換電晶體742皆處於一非傳導條件,「Open True」對應於傳遞閘707-1及707-2處於一傳導條件下且「Open Invert」對應於交換電晶體742處於一傳導條件。在邏輯表8-1中未反映對應於傳遞閘707-1及707-2以及交換電晶體742皆處於一傳導條件之組態,此係因為此導致感測線短接在一起。 經由傳遞閘707-1及707-2以及交換電晶體742之連續性之選擇性控制,邏輯表8-1之上部分之三個欄之各者可與邏輯表8-1之下部分之三個欄之各者組合以提供對應於九個不同邏輯運算之3 x 3 = 9個不同結果組合,如藉由875處所展示之各種連接路徑所指示。在圖8中所繪示之邏輯表8-2中概述可藉由計算單元460/660電路實施之九個不同可選擇邏輯運算(包含AND、OR、NOT、NOT、NAND、NOR及XOR邏輯運算)。 圖8中所繪示之邏輯表8-2之欄展示包含邏輯選擇控制信號之狀態之一標頭880。例如,在表8-2之列876中提供一第一邏輯選擇控制信號之狀態,在表8-2之列877中提供一第二邏輯選擇控制信號之狀態,在表8-2之列878中提供一第三邏輯選擇控制信號之狀態且在表8-2之列879中提供一第四邏輯選擇控制信號之狀態。在表8-2之列847中概述對應於結果之特定邏輯運算。 圖9A至圖9C係繪示根據本發明之數項實施例之用於在一記憶體器件中對資料值執行運算之數個排程政策之實施方案的示意圖。圖9A至圖9C中所繪示之實施例旨在繪示經由共用I/O線及/或連接電路移動至在圖中自上至下之連續時間訊框(操作循環)中指示之一計算單元960之數個邏輯條924之資料值(位元)之組態。 在一些實施例中,操作循環可對應於先前描述為使用共用I/O線自對應於數個邏輯條之數個子列移動資料值之循序循環。因而,一操作循環(在此期間藉由一個子列之邏輯條之一計算組件執行一運算)之各部分可例如持續約2 ns,在此時間訊框期間可針對下一操作循環起始自其他子列移動資料值。圖9A及圖9B在924-1、924-2、…、924-16處繪示16個邏輯條(其等標記為L1、L2、…、L16),且在一特定操作循環期間保持(儲存)一經移動資料值之各邏輯條之1K個計算組件及/或鎖存器由該操作循環處所展示之整數1指示。 如本文中所描述,一記憶體器件(例如,圖1A及圖1B中之120)可包含一記憶體胞陣列(例如,圖1A中之130)及可選擇地耦合至記憶體胞陣列之感測電路(例如,圖1A及圖2中之150及250)。記憶體器件可進一步包含共用為用於與陣列相關聯之資料路徑內計算操作之一資料路徑之複數個I/O線(例如,圖1及圖3至圖7中分別為155、355、455、555、655、755)。複數個共用I/O線可將感測電路可選擇地耦合至共用I/O線之資料路徑中之一計算組件(例如,圖2至圖4及圖6至圖7中之231、331、431、631、731 )。 一控制器(例如,圖1A及圖1B中之140)可與陣列相關聯。控制器140可經組態以經由感測電路引導一第一資料值自陣列之一第一列之一第一子列(例如,圖4中之428-1)經由共用I/O線移動至資料路徑中之一第一邏輯條(例如,圖4中之424-1)之一第一計算組件(例如,圖4中之431-1)且經由感測電路引導一第二資料值自第一列之一第二子列(例如,圖4中之428-2)經由共用I/O線移動至資料路徑中之一第二邏輯條(例如,圖4中之424-2)之一第二計算組件(例如,圖4中之431-1)。 控制器140可經組態以在一第一操作循環中引導第一資料值自第一子列(例如,圖4中之428-1)移動且在一第二操作循環中引導自第二子列(例如,圖4中之428-2)移動第二資料值。例如,控制器可經組態以在第一操作循環中引導第一子列之數個複數個資料值至第一邏輯條之對應數目個複數個第一計算組件之經由共用I/O線之一第一並行移動。控制器可經進一步組態以在第二操作循環中引導第二子列之數個複數個資料值至第二邏輯條之對應數目個複數個第二計算組件之經由共用I/O線之一第二並行移動。控制器140可經組態以在第一操作循環中引導起始藉由數個複數個第一計算組件對並行移動至第一邏輯條之第一子列之對應數目個複數個資料值執行一運算(例如,一邏輯運算)且在第二操作循環中引導起始藉由數個複數個第二計算組件對並行移動至第二邏輯條之第二子列之對應數目個複數個資料值執行一運算。 如圖9A中所繪示,控制器可經組態以實施「時脈同步(lockstep)」排程。因而,控制器可經組態以在第二操作循環中引導起始藉由第一邏輯條(例如,邏輯條924-1)之計算組件執行運算,實質上同時起始藉由第二邏輯條(例如,邏輯條924-2)之計算組件執行運算。例如,可在操作循環完成且邏輯條之所有計算組件及/或鎖存器已使資料值自對應子列(例如,圖4中之428-1、428-2、…、428-16)經由共用I/O線移動至其等之後起始藉由邏輯條L1、L2、…、L16中之計算組件執行運算。 替代地或另外,如圖9B中所繪示,控制器可經組態以實施「管線」排程。因而,控制器可經組態以在第一操作循環中引導起始藉由第一邏輯條(例如,邏輯條924-1)之計算組件對第一子列(例如,圖4中之428-1)之數個複數個資料值執行運算,實質上同時在第二操作循環中將第二子列(例如,圖4中之428-2)之數個複數個資料值移動至第二邏輯條(例如,邏輯條924-1)。 例如,可在第一操作循環中將資料值自一第一子列載入(儲存)至邏輯條L1之計算組件及/或鎖存器完成之後但在隨後操作循環中起始對應於隨後子列之邏輯條中之運算之前起始藉由邏輯條L1中之計算組件執行運算。然而,在各種實施例中,在對邏輯條L1中之資料值執行運算之期間,可針對在第二操作循環中對第二邏輯條中之資料值執行運算而起始自下一子列移動資料值。 在一特定操作循環中藉由圖9B中之一特定邏輯條之計算組件及/或鎖存器儲存資料值之後,一原始資料值及/或對兩個原始資料值之一邏輯運算之一結果可保持於邏輯條中,如由整數1指示。因而,控制器可引導對儲存及/或移動至相同邏輯條之資料值執行一運算序列(例如,AND、OR、NOT、NOT、NAND、NOR及XOR邏輯運算之任何數目及/或組合),如在圖9A及圖9B中所展示之任一時脈同步或管線排程中所展示。 因此,由於在L2中起始運算之前的一個操作循環在L1中起始運算且在L3中起始運算之前的一個操作循環在L2中起始運算等等,所以運算序列之執行之完成可交錯。例如,如針對圖9B之底部處之最後操作循環所展示,藉由L1執行之運算序列在藉由L2執行之運算序列完成之前的一個操作循環完成且藉由L2執行之運算序列在藉由L3執行之運算序列完成之前的一個操作循環完成,等等。 因此,控制器140可經組態以引導使用一單一邏輯條之複數個計算組件執行循序複數個運算。可對自陣列之一子列移動至邏輯條之數個複數個資料值執行循序複數個運算,該邏輯條在完成循序複數個運算之最後一者之前對應於數個複數個計算組件及/或循序複數個運算之部分完成結果。 控制器140可經組態以應用一排程政策(例如,本文中所描述之時脈同步、管線及/或脈動排程政策)以用於對一第一資料值執行一第一運算及對一第二資料值執行一第二運算。一特定排程政策之應用可係基於藉由第一邏輯條之第一計算組件儲存第一資料值之一預期時序(例如,如藉由控制器540之定序器532及/或時序電路533引導)及藉由第二邏輯條之第二計算組件儲存第二資料值之時序。在各種實施例中,第一運算(例如,第一運算序列)可為相同於第二運算(例如,第二運算序列)之運算或第一運算可不同於第二運算。控制器可經組態以基於一特定排程政策引導使用第一邏輯條之第一計算組件對第一資料值執行第一運算且基於排程政策引導使用第二邏輯條之第二計算組件對第二資料值執行第二運算。 在一些實施例中,第一邏輯條之第一計算組件可與一第一鎖存器相關聯。因此,控制器可經組態以經由感測電路引導一第三資料值自陣列之一第二列之一第三子列(例如,一不同列之任何子列)經由共用I/O線移動至第一邏輯條之第一鎖存器且引導對藉由第一計算組件儲存之來自第一列之第一資料值及藉由第一鎖存器儲存之來自第二列之第三資料值執行一邏輯運算。在一些實施例中,第一鎖存器可包含或可為一感測放大器(例如,結合圖2及本文中其他處展示及描述之感測放大器206)以儲存第三資料值。 本文中所描述之複數個共用I/O線可如藉由控制器引導般組態以可選擇地耦合至感測電路以經由一多工器(例如,其可包含或可為在358處展示且結合圖3描述之行選擇電路)可選擇地實現藉由感測電路儲存之對應於第一列之第一子列之數個複數個記憶體胞之數個複數個資料值之並行移動。多工器可經組態以將數個複數個資料值移動至第一邏輯條之對應數目個複數個第一計算組件,如本文中所描述。第一子列(例如,428-1)之複數個記憶體胞之數目可對應於第一邏輯條(例如,424-1)之複數個第一計算組件(例如,431-1)之數目。 替代地或另外,如圖9C中所繪示,控制器可經組態以實施「脈動」排程。如本文中所使用,脈動旨在意謂資料經輸入以流動通過硬接線資料路徑內處理器節點(例如,邏輯條中之計算組件,如本文中所描述)之一網路以將自一記憶體陣列(例如,130處展示之一DRAM型陣列)之列及/或子列輸入之資料組合、處理、合併及/或分類成一經導出最終結果。各節點可獨立計算一部分結果,將部分結果儲存於自身內且向下游移動(例如,傳送及/或複製)部分結果以用於進一步處理部分結果直至獲得經導出最終結果之計算及輸出(例如,用於儲存於記憶體陣列之數個列及/或子列中)。脈動陣列可被稱為多指令多資料(MIMD)架構。 已輸入至例如六個邏輯條之一序列(例如,區域924-A)中之一第一邏輯條(例如,圖9C中之邏輯條924-1之一計算組件及一鎖存器)中之一第一批未處理資料可經處理及移動(例如,傳送及/或複製)至另一(例如,一第二)邏輯條(例如,邏輯條924-2之一計算組件及一鎖存器)以供脈動處理。在一些實施例中,一第二批未處理資料可輸入至第一邏輯條中,在第二批已移動(例如,傳送及/或複製)至第二邏輯條且第一批已移動(例如,傳送及/或複製)至一第三邏輯條時其後接著一第三批,以此類推。 如本文中所描述,延遲旨在意謂將一第一批未處理資料輸入至一第一邏輯條以用於執行一第一運算與將第一批輸出為經完全處理之資料之間的一時段。例如,當已執行六個指令之一序列且已在六個操作循環之後(例如,在執行六個運算之序列中之一第六運算之後)輸出經處理資料時,來自六個邏輯條之序列之輸出延遲已過期。 因而,由於在一些實施例中可在每一操作循環之後輸入額外批資料,所以記憶體器件在延遲之後的每一操作循環可輸出一批經完全處理之資料。在一些實施例中,例如當實質上同時使用邏輯條之多個區域(例如,如藉由圖9C中之區域924-A、924-B及924-C所展示)時,每操作循環可輸出超過一批經完全處理之資料。 在一些實施例中,一批新、未處理資料(例如,兩個資料值)可在經過數個操作循環(例如,經過在已執行六個運算之序列中之第一運算之後的1至5個操作循環)之後輸入至一區域之第一邏輯條中,而非在已在序列中執行各運算且結果資料值已移動至下一邏輯條之後將未處理資料輸入至序列中之第一邏輯條中。將資料值輸入至第一邏輯條中之此一延遲可在邏輯條之間引入一緩衝,例如,其中已在六個邏輯條中進行先前提出之六個邏輯運算之序列中之第一OR運算以用於執行序列中之其他邏輯運算且將新資料值引入至第一邏輯條中以用於執行第一OR運算以開始另一運算序列。可藉由諸如用於執行序列中之不同邏輯運算之時間及/或用於對經由共用I/O線自一記憶體陣列之子列移動至第一邏輯條之資料值執行運算之時間對用於對先前藉由與邏輯條之一計算組件相關聯之複數個鎖存器儲存之資料值執行運算之時間的可能變化及/或不可預測性之因素以及其他可能因素判定包含於此一緩衝中之操作循環數目。 藉由實例且非限制地,區域924-A、924-B及924-C各展示為包含六個邏輯條(例如,區域924-A中之邏輯條924-1 (L1)、…、924-6 (L6)、區域924-B中之邏輯條924-7 (L7)、…、924-12 (L12)及區域924-C中之邏輯條924-13 (L13)、…、924-18 (L18))以各執行六個邏輯運算之一序列中之一邏輯運算。例如,各區域可包含多於或少於六個邏輯條以執行具有多於或少於六個邏輯運算之一序列及/或可存在多於或少於三個區域,使得一計算單元960中可存在多於或少於總共18個邏輯條(例如,924-1、…、924-18),如圖9C中所展示。 許多應用可涉及輸入一冗長及/或連續資料串流以供資料處理。例如,此等應用可包含信號處理、影像處理、語音辨識、封包檢測、逗號分隔值(CSV)剖析、α混合圖形操作、矩陣乘法及神經網路以及可對一冗長及/或連續資料串流進行操作之其他應用。在一些實施例中,如圖9C中所展示,此未處理資料可輸入至一邏輯條陣列(例如,計算單元960)之一圖像左側中且可藉由在連續邏輯條中執行一指令序列而處理資料,且可在(若干)邏輯條序列之圖像左側處輸出(若干)結果。 因此,如本文中所描述,一記憶體器件(例如,圖1A及圖1B中之120)可包含一記憶體胞陣列(例如,圖1A中之130)及可選擇地耦合至記憶體胞陣列之感測電路(例如,圖1A及圖2中之150及250)。在各種實施例中,感測電路可包含數個感測放大器(例如,如在206處展示且結合圖2及本文中其他處描述)。記憶體器件可包含共用為用於與陣列相關聯之資料路徑內計算操作之一資料路徑之複數個I/O線(例如,圖1及圖3至圖7中分別為155、355、455、555、655、755)。複數個共用I/O線可將感測電路可選擇地耦合至共用I/O線之資料路徑中之一計算組件(例如,圖2至圖4及圖6至圖7中之231、331、431、631、731 )。記憶體器件可包含資料路徑中之複數個邏輯條(例如,924-1、…、924-18)。複數個邏輯條可包含一第一邏輯條(例如,924-1),第一邏輯條可包含對應於陣列之一列(例如,319)之一第一子列(例如,428-1)之數個複數個記憶體胞(未展示)之數個複數個第一計算組件(例如,631-1、…、631-Z)。 一控制器(例如,圖1A及圖1B中之140)可與陣列相關聯。控制器140可經組態以經由感測電路引導一第一資料值自陣列之一第一列之一第一子列(例如,428-1)經由共用I/O線移動至資料路徑中之一第一邏輯條(例如,L1)之一第一計算組件。控制器140可經進一步組態以引導使用第一計算組件對來自第一子列之第一資料值執行一第一運算且引導由執行第一運算所獲得之一第二資料值自第一邏輯條(例如,L1)經由連接電路(例如,232)移動至資料路徑中之一第二邏輯條(例如,L2)之一第二計算組件(例如,對應於第一邏輯條中之第一計算組件之位置之一計算組件)。 控制器可經組態以引導使用第二邏輯條(例如,L2)之第二計算組件對第二資料值執行一第二運算。控制器可經組態以引導由執行第二運算所獲得之一第三資料值自第二邏輯條(例如,L2)經由連接電路(例如,232)移動至一第三邏輯條(例如,L3)之一第三計算組件(例如,對應於第一邏輯條中之第一計算組件之位置及第二邏輯條中之第二計算組件之位置之一計算組件)。 因此,控制器可經組態以藉由透過對應數目個複數個邏輯條(例如,區域924-A中之L1、…、L6、區域924-B中之L7、…、L12及區域924-C中之L13、…、L18)脈動地移動邏輯運算結果而引導執行數個複數個邏輯運算序列(例如,在各區域924-A、924-B及/或924-C中自上至下展示之數個操作循環)。可使用對應數目個複數個邏輯條之對應數目個複數個計算組件計算數個複數個邏輯運算結果。例如,一區域(例如,924-A)中之一第一邏輯條(例如,L1)或所有邏輯條(例如,L1、…、L6)中之計算組件(例如,631-1、…、631-Z)之數目可對應於(例如,自邏輯條L6輸出之)邏輯運算結果之數目。 在各種實施例中,複數個邏輯運算序列(例如,區域924-A、924-B及924-C中所展示)可各為一相同邏輯運算序列(例如,OR、AND、XOR、OR、AND及NOT之一序列)或複數個邏輯運算序列可包含不同於其他邏輯運算序列之至少一個邏輯運算序列。例如,複數個邏輯條可經組態為對應於數個複數個邏輯運算序列之數個複數個區域(例如,924-A、924-B及924-C)。在一些實施例中,控制器可經組態以引導實質上同時起始複數個邏輯運算序列,其中複數個邏輯運算序列之各者經引導以在複數個區域之一不同者中執行。複數個區域(例如,三個區域924-A、924-B及924-C)之數目可對應於陣列之列之複數個子列(例如,子列428-1、…、428-18)之一數目除以複數個邏輯運算序列(例如,三個區域924-A、924-B及924-C中之三個邏輯運算序列)之數目。 控制器可經組態以在一第一操作循環(例如,來自第一區域924-A之頂部之一第一操作循環)中引導起始藉由第一區域中之對應數目個複數個邏輯條上之數個複數個第一計算組件(例如,各邏輯條中之計算組件631-1)對來自第一子列(例如,428-1)之第一資料值執行一第一邏輯運算序列。控制器可經組態以在一第二操作循環(例如,來自第一區域924-A之頂部之一第二操作循環)中引導起始藉由一第二區域(例如,區域924-B)中之對應數目個複數個邏輯條上之數個複數個第二計算組件(例如,各邏輯條中之計算組件631-1)對來自一第二子列(例如,428-2)之一第二資料值執行一第二邏輯運算序列。 控制器可經組態以在第一操作循環中引導藉由第一區域中之邏輯條之計算組件對第一資料值執行第一邏輯運算序列。控制器可經進一步組態以在第二操作循環中引導第一資料值自第一子列經由共用I/O線移動至第一區域中之第一計算組件,實質上同時將第二資料值自第二子列經由共用I/O線移動至第二區域中之一第二計算組件。 控制器可經組態以在第二操作循環中引導藉由第一區域(例如,區域924-A)中之邏輯條(例如,L1、…、L6)之計算組件對第一資料值執行第一邏輯運算序列,實質上同時藉由第二區域(例如,區域924-B)中之邏輯條(例如,L7、…、L12)之計算組件對第二資料值執行第二邏輯運算序列。類似地,在第三操作循環中,控制器可經組態以引導藉由第一區域(例如,區域924-A)中之邏輯條(例如,L1、…、L6)之計算組件對第一資料值執行第一邏輯運算序列,實質上同時藉由第二區域(例如,區域924-B)中之邏輯條(例如,L7、…、L12)之計算組件對第二資料值執行第二邏輯運算序列且藉由第三區域(例如,區域924-C)中之邏輯條(例如,L13、…、L18)之計算組件對一第三資料值執行第三邏輯運算序列。 因此,由於在區域924-B之L7中起始邏輯運算序列之前的一個操作循環在區域924-A之L1中起始邏輯運算序列且在L13中起始運算之前的一個操作循環在L7中起始邏輯運算序列,所以邏輯運算序列之執行之完成可交錯。例如,如針對圖9C之底部處之最後操作循環所展示,藉由L1起始之運算序列在藉由L7起始之運算序列完成之前的一個操作循環完成且藉由L7起始之運算序列在藉由L13起始之運算序列完成之前的一個操作循環完成。 藉由實例且非限制地展示在圖9A、圖9B及圖9C中自上至下繪示之數個操作循環。例如,儘管數個操作循環經展示為在各圖中不同,然圖之一或多者中之數個操作循環可相同於或不同於另一圖中之數個操作循環。 本文中所描述之用於資料路徑內計算操作之裝置及方法包含對例如一PIM DRAM實施方案之一控制器之操作之數個改變。例如,控制器可協調將用於一運算序列之分開運算之指令指派至數個子控制器(未展示),使得各子控制器可引導關於儲存於例如記憶體庫121、記憶體庫區段423、子陣列425-1、…、425-32、計算組件660、邏輯條924-1、…、924-18及/或區域924-A、924-B、924-C之各者中之資料值之一分開運算。例如,對於每邏輯條具有1K個計算組件之邏輯條,可潛在地(例如,實質上同時)起始1K個不同邏輯運算序列,如藉由控制器140及/或對應數目個子控制器所引導。 例如,一子控制器可經組態以(例如,藉由執行指令而)引導輸入資料自一列之子列經由感測電路移動(例如,傳送及/或複製)至一特定計算單元中之一特定邏輯條中之一特定計算組件。一子控制器可經組態以在序列之一邏輯運算之各執行之後引導所得經處理資料值自其中執行運算之邏輯條移動(例如,傳送及/或複製)至另一(例如,下一)邏輯條中之一對應計算組件以用於執行運算序列(例如,一脈動序列)中之下一運算。 本文中所描述之用於資料路徑內計算操作之脈動資料移動之一優點可包含如此組態之一記憶體器件可有效利用大量並行化及計算能力。例如,記憶體器件可延伸其計算及執行能力,以便實質上同時執行一運算序列中之多個、獨立及/或獨特運算,同時將經處理資料值自一個運算並行輸出至下一運算。 因此,本文中所描述之實施例提供一種用於操作用於藉由使用一處理資源執行非暫時性指令而執行之資料路徑內計算操作(例如,藉由脈動資料移動,如本文中所描述)之一記憶體器件之方法。如本文中所描述,該方法可包含對自一記憶體胞陣列之一第一列中之一第一子列中之一記憶體胞移動至一第一邏輯條之一資料值執行一第一運算,該資料值經由藉由該陣列及資料路徑中之複數個邏輯條共用之一I/O線而移動。該方法亦可包含在已對資料值執行第一運算之後將資料值經由可選擇地耦合第一邏輯條與一選定第二邏輯條之連接電路移動至第二邏輯條且對移動至第二邏輯條之資料值執行一第二運算。 該方法可進一步包含藉由執行一非暫時性指令集而執行第一運算,移動資料值及執行第二運算。如本文中所描述,可藉由一控制器及/或一子控制器經由用於陣列之一處理資源、共用I/O線、複數個邏輯條及/或連接電路以及其他組件執行非暫時性指令集。 該方法可進一步包含使用第一邏輯條之一第一計算組件執行第一運算且使用第二邏輯條之一第二計算組件(例如,對應於第一邏輯條中之第一計算組件之位置之一計算組件)執行第二運算。在各種實施例中,可如藉由控制器及/或一子控制器引導般執行第一運算及第二運算。第一運算及第二運算可經執行為對應於數個複數個邏輯條(例如,區域924-A中之L1、…、L6、區域924-B中之L7、…、L12及區域924-C中之L13、…、L18)之數個複數個邏輯運算(例如,一邏輯運算序列中之六個邏輯運算)中之前兩個運算。複數個邏輯運算可為經執行以產生不同於自第一子列中之記憶體胞移動之資料值之一結果之循序複數個邏輯運算。 該方法可進一步包含經由一共用I/O線將循序複數個邏輯運算之最後一運算之一完成結果自最後一邏輯條(例如,區域924-A中之L6、區域924-B中之L12及/或區域924-C中之L18)移動至陣列之一列中之一選定記憶體胞。最後邏輯條旨在意謂其中執行循序複數個邏輯運算之最後運算之一邏輯條。在各種實施例中,用於儲存結果之陣列之列可為一記憶體庫、記憶體庫區段、象限及/或子陣列中(例如,一DRAM記憶體器件中)之相對於先前自其移動輸入資料值之一列之子列或若干列之子列相同或不同之一列。 本發明之實施例可藉由使用一DRAM實施方案之一經改良資料路徑(例如,一共用I/O線)增大一PIM陣列中之資料移動之一速度、速率及/或效率。如本文中所描述,一記憶體器件中之一對記憶體庫位置中之一源位置與一目的地位置可經組態以經由複數個共用I/O線耦合。如本文中所描述,該記憶體器件中之一記憶體庫包含一記憶體胞陣列、經由複數個感測線耦合至該陣列之感測電路(該感測電路包含感測放大器及計算組件)及經由複數個共用I/O線耦合至該陣列及該感測電路之計算單元電路(該計算單元電路包含具有經組態以實施運算之感測放大器及計算組件之複數個邏輯條)。一控制器耦合至該陣列、該感測電路及該計算單元電路。 可自該控制器接收一命令以將來自陣列中之一源位置之資料值移動(例如,複製、傳送及/或輸送)至計算單元電路中之一目的地位置。可使用感測放大器及/或計算組件經由複數個共用I/O線將該等資料值自該源位置移動至該目的地位置。 雖然在本文中已繪示及描述包含感測電路、感測放大器、計算組件、鎖存器、邏輯條、共用I/O線、行選擇電路、連接電路、多工器等之各種組合及組態的例示性實施例,但本發明之實施例不限於本文中明確敘述之該等組合。本文中所揭示之感測電路、感測放大器、計算組件、鎖存器、邏輯條、共用I/O線、行選擇電路、連接電路、多工器等之其他組合及組態係明確包含於本發明之範疇內。 儘管在本文中已繪示及描述特定實施例,然一般技術者將瞭解,經計算以達成相同結果之一配置可替代所展示之特定實施例。本發明旨在涵蓋本發明之一或多項實施例之調適或變動。應理解,已以一闡釋性方式且非一限制性方式作出上文描述。熟習此項技術者在檢視上文描述之後將明白在本文中未具體描述之上述實施例之組合及其他實施例。本發明之一或多項實施例之範疇包含其中使用上述結構及程序之其他應用。因此,應參考隨附發明申請專利範圍以及此等發明申請專利範圍所授權之等效物之全範圍而判定本發明之一或多項實施例之範疇。 在前述[實施方式]中,出於簡化本發明之目的,將一些特徵集中於一單一實施例中。本發明之此方法不應解釋為反映本發明之所揭示實施例必須使用多於每一請求項中明確敘述之特徵之一意圖。實情係,如以下申請專利範圍所反映,本發明標的在於少於一單一所揭示實施例之所有特徵。因此,以下申請專利範圍特此併入[實施方式]中,其中每一請求項自身獨立地作為一單獨實施例。
100‧‧‧計算系統
110‧‧‧主機
120‧‧‧記憶體器件
121-1‧‧‧記憶體庫
123-1至123-N‧‧‧記憶體庫區段
124-1至124-N‧‧‧邏輯條
130‧‧‧記憶體陣列/記憶體胞陣列
131-1、131-2…131-M‧‧‧計算組件
140‧‧‧控制器
142‧‧‧定址電路
143‧‧‧通道控制器
144‧‧‧輸入/輸出(I/O)電路
146‧‧‧列解碼器
148‧‧‧寫入電路
150‧‧‧感測電路
152‧‧‧行解碼器
154‧‧‧控制匯流排
155‧‧‧共用輸入/輸出(I/O)線
156‧‧‧資料匯流排
157‧‧‧頻帶外(OOB)匯流排
170‧‧‧鎖存器/邏輯/邏輯電路
171‧‧‧移動組件
202-1‧‧‧電晶體
202-2‧‧‧電晶體
203-1‧‧‧電容器
203-2‧‧‧電容器
204-X‧‧‧存取(字)線
204-Y‧‧‧存取(字)線
205-1‧‧‧數位線
205-2‧‧‧數位線
206‧‧‧感測放大器
207-1‧‧‧傳遞閘
207-2‧‧‧傳遞閘
212-1‧‧‧參考電壓
212-2‧‧‧供應電壓
213‧‧‧邏輯運算選擇邏輯
214‧‧‧平衡電路
215‧‧‧鎖存器
217-1、217-2‧‧‧節點
224‧‧‧電晶體
225-1‧‧‧電晶體
225-2‧‧‧電晶體
226‧‧‧平衡(EQ)控制信號線
227-1‧‧‧n通道電晶體/電晶體/NMOS電晶體/交叉耦合NMOS電晶體
227-2‧‧‧n通道電晶體/電晶體/NMOS電晶體/交叉耦合NMOS電晶體
229-1‧‧‧p通道電晶體/電晶體/PMOS電晶體/交叉耦合PMOS電晶體
229-2‧‧‧p通道電晶體/電晶體/PMOS電晶體/交叉耦合PMOS電晶體
230‧‧‧記憶體陣列
231‧‧‧計算組件
232-1‧‧‧連接電路
232-2‧‧‧連接電路
250‧‧‧感測電路
264‧‧‧次要鎖存器
305-1‧‧‧數位線
305-2‧‧‧數位線
306-0至306-7‧‧‧感測放大器
307-1‧‧‧傳遞閘
307-2‧‧‧傳遞閘
319‧‧‧列
322-0‧‧‧行0
325‧‧‧動態隨機存取記憶體(DRAM)記憶體子陣列
331-0至331-7‧‧‧計算組件
350-0至350-7‧‧‧感測電路
355‧‧‧共用輸入/輸出(I/O)線
358-1‧‧‧行選擇電路
358-2‧‧‧行選擇電路
359-1‧‧‧選擇電晶體
359-2‧‧‧選擇電晶體
360‧‧‧計算單元
423‧‧‧記憶體庫區段
424-1至424-N‧‧‧邏輯條
425-1至425-32‧‧‧子陣列
428-1至428-16‧‧‧子列
431-1至431-Z‧‧‧計算組件
455‧‧‧共用輸入/輸出(I/O)線
460‧‧‧計算單元
520‧‧‧記憶體器件/具備記憶體中處理(PIM)能力之器件
521-1至521-7‧‧‧記憶體庫
531-1至531-7‧‧‧控制邏輯
532-1至532-7‧‧‧定序器
533-1至533-7‧‧‧時序電路
540-1至540-7‧‧‧控制器
541‧‧‧高速介面(HSI)
545‧‧‧記憶體庫仲裁器
555-1至555-7‧‧‧共用輸入/輸出(I/O)線
601‧‧‧子陣列遮罩
602-1‧‧‧位址指標
602-2‧‧‧位址指標
603‧‧‧索引
604‧‧‧條件碼
611‧‧‧暫存器位址指標
612‧‧‧暫存器索引
624-1至624-N‧‧‧邏輯條
631-1至631-Z‧‧‧計算組件
641‧‧‧遮罩條
642‧‧‧控制器
655‧‧‧共用輸入/輸出(I/O)線
660‧‧‧計算組件/計算單元
706‧‧‧感測放大器
707-1‧‧‧傳遞閘
707-2‧‧‧傳遞閘
713‧‧‧邏輯運算選擇邏輯
731‧‧‧計算組件
742‧‧‧交換電晶體
750-1‧‧‧隔離電晶體
750-2‧‧‧隔離電晶體
752‧‧‧邏輯選擇電晶體
754‧‧‧邏輯選擇電晶體
755-1‧‧‧共用輸入/輸出(I/O)線
755-2‧‧‧共用輸入/輸出(I/O)線
762‧‧‧邏輯選擇電晶體
764‧‧‧邏輯選擇電晶體
781‧‧‧右移位電晶體
782‧‧‧控制線
783‧‧‧控制線
786‧‧‧右移位電晶體
787‧‧‧反相器
788‧‧‧反相器
789‧‧‧左移位電晶體
790‧‧‧左移位電晶體
791‧‧‧控制線
792‧‧‧控制線
844‧‧‧欄
845‧‧‧欄
847‧‧‧列
875‧‧‧連接路徑
876‧‧‧列
877‧‧‧列
878‧‧‧列
879‧‧‧列
880‧‧‧標頭
924-1至924-18‧‧‧邏輯條
924-A至924-C‧‧‧區域
960‧‧‧計算單元
FT‧‧‧控制信號
FF‧‧‧控制信號
ISO‧‧‧控制信號
Pass‧‧‧邏輯運算選擇邏輯信號
Pass*‧‧‧邏輯運算選擇邏輯信號
PHASE 1R‧‧‧信號
PHASE 2R‧‧‧信號
PHASE 1L‧‧‧信號
PHASE 2L‧‧‧信號
RNL*‧‧‧信號
TF‧‧‧控制信號
TT‧‧‧控制信號
圖1A係根據本發明之數項實施例之呈包含一記憶體器件之一計算系統之形式之一裝置的一方塊圖。 圖1B係根據本發明之數項實施例之呈包含一記憶體器件(其具有在一陣列之記憶體庫區段本地之一資料路徑中之一共用輸入/輸出(I/O)線)之一計算系統之形式之一裝置的另一方塊圖。 圖2係繪示根據本發明之數項實施例之一記憶體器件之電路的一示意圖,該電路包含一感測放大器及一計算組件,其等可包含於感測電路及/或邏輯條中。 圖3係繪示根據本發明之數項實施例之用於一陣列之一資料路徑中之複數個共用I/O線之電路的一示意圖。 圖4係繪示根據本發明之數項實施例之藉由在一陣列本地之一資料路徑中之複數個共用I/O線耦合至具有複數個邏輯條之一計算單元的該陣列之複數個區段的一方塊圖。 圖5係繪示根據本發明之數項實施例之一記憶體器件之一控制器之一實例的一方塊圖。 圖6係繪示根據本發明之數項實施例之一記憶體器件之一控制器之另一實例的一方塊圖,該控制器使用一共用I/O線控制資料值至具有複數個邏輯條之一計算單元的移動。 圖7係繪示根據本發明之數項實施例之一邏輯條之計算組件的一示意圖。 圖8係繪示根據本發明之數項實施例之藉由圖7中所展示之計算組件實施之可選擇邏輯運算結果的一邏輯表。 圖9A至圖9C係繪示根據本發明之數項實施例之用於在一記憶體器件中對資料值執行運算之數個排程政策之實施方案的示意圖。
Claims (18)
- 一種裝置,其包括:一記憶體胞陣列;感測電路,其可選擇地耦合至該記憶體胞陣列;複數個輸入/輸出(I/O)線,其等共用為用於與該陣列相關聯之資料路徑內計算操作之一資料路徑;在該資料路徑中之一計算單元,其包含複數個邏輯條,該複數個邏輯條之各者包含複數個計算組件,其中該複數個計算組件之各者與該陣列本地之該複數個共用I/O線之至少一者相關聯;且其中:該複數個共用I/O線將該陣列之一列之一第一子列經由該感測電路可選擇地耦合至該資料路徑中之一第一計算組件以將一第一資料值自該第一子列移動至該第一計算組件;該複數個共用I/O線將該各自列之一第二子列經由該感測電路可選擇地耦合至該資料路徑中之一第二計算組件以將一第二資料值自該第二子列移動至該第二計算組件;及一控制器,其經組態以引導該第一計算組件對自該第一子列移動之該第一資料值執行一運算,實質上同時將該第二資料值自該第二子列移動至該第二計算組件。
- 一種裝置,其包括:一記憶體胞陣列;感測電路,其可選擇地耦合至該記憶體胞陣列;複數個輸入/輸出(I/O)線,其等共用為用於與該陣列相關聯之資料路徑內計算操作之一資料路徑,其中該複數個共用I/O線將該感測電路可選擇地耦合至該等共用I/O線之該資料路徑中之一計算組件;及一控制器,其與該陣列相關聯,該控制器經組態以:經由該感測電路引導一第一資料值自該陣列之一第一列之一第一子列經由該等共用I/O線移動至該資料路徑中之一第一邏輯條之一第一計算組件;及經由該感測電路引導一第二資料值自該第一列之一第二子列經由該等共用I/O線移動至該資料路徑中之一第二邏輯條之一第二計算組件。
- 如請求項2之裝置,其中該控制器經進一步組態以:在一第一操作循環中引導自該第一子列移動該第一資料值;及在一第二操作循環中引導自該第二子列移動該第二資料值。
- 如請求項2之裝置,其中該控制器經進一步組態以:在一第一操作循環中引導該第一子列之數個複數個資料值至該第一邏輯條之對應數目個複數個第一計算組件之一第一並行移動;及在一第二操作循環中引導該第二子列之數個複數個資料值至該第二邏輯條之對應數目個複數個第二計算組件之一第二並行移動。
- 如請求項2至4中任一項之裝置,其中該控制器經進一步組態以:在一第一操作循環中引導起始藉由數個複數個第一計算組件對並行移動至該第一邏輯條之該第一子列之對應數目個複數個資料值執行一運算;及在一第二操作循環中引導起始藉由數個複數個第二計算組件對並行移動至該第二邏輯條之該第二子列之對應數目個複數個資料值執行一運算。
- 如請求項5之裝置,其中該控制器經進一步組態以:在該第一操作循環中引導起始藉由該第一邏輯條之該等計算組件執行該運算,實質上同時在該第二操作循環中將該第二子列之該數個複數個資料值移動至該第二邏輯條。
- 如請求項5之裝置,其中該控制器經進一步組態以:在該第二操作循環中引導起始藉由該第一邏輯條之該等計算組件執行該運算,實質上同時起始藉由該第二邏輯條之該等計算組件執行該運算。
- 如請求項2至4中任一項之裝置,其中該控制器經進一步組態以:應用一排程政策以用於基於以下項目對該第一資料值執行一第一運算且對該第二資料值執行一第二運算:藉由該第一邏輯條之該第一計算組件儲存該第一資料值之時序;及藉由該第二邏輯條之該第二計算組件儲存該第二資料值之時序。
- 如請求項2至4中任一項之裝置,其中:該第一邏輯條之該第一計算組件與一第一鎖存器相關聯;且該控制器經進一步組態以:經由該感測電路引導一第三資料值自該陣列之一第二列之一第三子列經由該等共用I/O線移動至該第一邏輯條之該第一鎖存器;及引導對藉由該第一計算組件儲存之來自該第一列之該第一資料值及藉由該第一鎖存器儲存之來自該第二列之該第三資料值執行一邏輯運算。
- 如請求項2至4中任一項之裝置,其中:如藉由該控制器所引導,該複數個共用I/O線經組態以:可選擇地耦合至該感測電路以經由一多工器可選擇地實現藉由該感測電路儲存之對應於該第一列之該第一子列之數個複數個記憶體胞之數個複數個資料值之並行移動;及將該數個複數個資料值移動至該第一邏輯條之對應數目個複數個第一計算組件;且其中該第一子列之該複數個記憶體胞之該數目對應於該第一邏輯條之該複數個第一計算組件之該數目。
- 一種裝置,其包括:一記憶體胞陣列;感測電路,其可選擇地耦合至該記憶體胞陣列,該感測電路包含一感測放大器;複數個輸入/輸出(I/O)線,其等共用為用於與該陣列相關聯之資料路徑內計算操作之一資料路徑,其中該複數個共用I/O線將該感測電路可選擇地耦合至該等共用I/O線之該資料路徑中之一計算組件;複數個邏輯條,其等在該資料路徑中,該複數個邏輯條包含一第一邏輯條,其對應於該陣列之一列之一第一子列之數個複數個記憶體胞之數個複數個第一計算組件;及一控制器,其與該陣列相關聯,該控制器經組態以:經由該感測電路引導一第一資料值自該陣列之一第一列之一第一子列經由該等共用I/O線移動至該資料路徑中之一第一邏輯條之一第一計算組件;引導使用該第一計算組件對來自該第一子列之該第一資料值執行一第一運算;及引導由執行該第一運算所獲得之一第二資料值自該第一邏輯條經由連接電路移動至該資料路徑中之一第二邏輯條之一第二計算組件。
- 如請求項11之裝置,其中該控制器經進一步組態以:引導藉由透過對應數目個複數個邏輯條脈動地移動邏輯運算結果而執行數個複數個邏輯運算序列;及其中使用該對應數目個複數個邏輯條之對應數目個複數個計算組件計算數個複數個邏輯運算結果。
- 如請求項12之裝置,其中該複數個邏輯運算序列包含不同於其他邏輯運算序列之一邏輯運算序列。
- 如請求項11至13中任一項之裝置,其中:該複數個邏輯條經組態為對應於數個複數個邏輯運算序列之數個複數個區域;且該控制器經進一步組態以:引導實質上同時起始該複數個邏輯運算序列,其中該複數個邏輯運算序列之各者經引導以在該複數個區域之一不同者中執行。
- 如請求項14之裝置,其中:該複數個區域之該數目對應於該陣列之該列之複數個子列之一數目除以該複數個邏輯運算序列之該數目。
- 一種用於操作一記憶體器件之方法,其包括:對自一記憶體胞陣列之一第一列中之一第一子列中之一記憶體胞移動至一第一邏輯條以供資料路徑內計算操作之一資料值執行一第一運算,該資料值經由藉由該陣列及該資料路徑中之複數個邏輯條共用之一輸入/輸出線(I/O)而移動;在已對該資料值執行該第一運算之後將該資料值經由可選擇地耦合該第一邏輯條與一選定第二邏輯條之連接電路移動至該第二邏輯條;及對移動至該第二邏輯條之該資料值執行一第二運算。
- 如請求項16之方法,其中該方法進一步包括:藉由執行一非暫時性指令集而執行該第一運算,移動該資料值及執行該第二運算;及其中藉由一控制器經由用於該陣列之一處理資源、該共用I/O線、該複數個邏輯條及該連接電路執行該非暫時性指令集。
- 如請求項16至17中任一項之方法,其中該方法進一步包括:經由一共用I/O線將該循序複數個邏輯運算之最後一運算之一完成結果自最後一邏輯條移動至該陣列之一列中之一選定記憶體胞;及其中該最後邏輯條係其中執行該最後運算之一邏輯條。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/466,477 | 2017-03-22 | ||
| US15/466,477 US10185674B2 (en) | 2017-03-22 | 2017-03-22 | Apparatus and methods for in data path compute operations |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201839759A TW201839759A (zh) | 2018-11-01 |
| TWI659427B true TWI659427B (zh) | 2019-05-11 |
Family
ID=63582613
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW107109757A TWI659427B (zh) | 2017-03-22 | 2018-03-22 | 用於資料路徑內計算操作之裝置及方法 |
Country Status (7)
| Country | Link |
|---|---|
| US (5) | US10185674B2 (zh) |
| EP (1) | EP3583597A4 (zh) |
| JP (1) | JP6791522B2 (zh) |
| KR (2) | KR102306034B1 (zh) |
| CN (1) | CN110462738B (zh) |
| TW (1) | TWI659427B (zh) |
| WO (1) | WO2018175129A1 (zh) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10185674B2 (en) * | 2017-03-22 | 2019-01-22 | Micron Technology, Inc. | Apparatus and methods for in data path compute operations |
| KR20190073102A (ko) * | 2017-12-18 | 2019-06-26 | 삼성전자주식회사 | 비트 라인 감지 증폭기, 반도체 메모리 장치, 그리고 그것의 멀티 비트 데이터의 센싱 방법 |
| US11094371B2 (en) | 2019-03-11 | 2021-08-17 | Samsung Electronics Co., Ltd. | Memory device for processing operation and method of operating the same |
| US11769043B2 (en) | 2019-10-25 | 2023-09-26 | Samsung Electronics Co., Ltd. | Batch size pipelined PIM accelerator for vision inference on multiple images |
| US12379933B2 (en) | 2019-10-25 | 2025-08-05 | Samsung Electronics Co., Ltd. | Ultra pipelined accelerator for machine learning inference |
| KR102299020B1 (ko) * | 2020-05-11 | 2021-09-07 | 윈본드 일렉트로닉스 코포레이션 | 인공지능 동작을 위한 메모리 장치 |
| US11262949B2 (en) * | 2020-05-28 | 2022-03-01 | Advanced Micro Devices, Inc. | Command throughput in PIM-enabled memory using available data bus bandwidth |
| US11152056B1 (en) * | 2020-09-14 | 2021-10-19 | Micron Technology, Inc. | Integrated assemblies |
| TWI773106B (zh) * | 2021-01-28 | 2022-08-01 | 華邦電子股份有限公司 | 具有運算功能的記憶體裝置及其操作方法 |
| CN113625994B (zh) * | 2021-10-12 | 2022-01-04 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法和处理核 |
| KR102860505B1 (ko) * | 2021-10-28 | 2025-09-16 | 리벨리온 주식회사 | 컴퓨팅 시스템 및 이를 위한 전치 방법 |
| US12400690B2 (en) | 2022-08-10 | 2025-08-26 | Taiwan Semiconductor Manufacturing Company, Ltd. | Global boosting circuit |
| US11836128B1 (en) * | 2023-07-21 | 2023-12-05 | Sadram, Inc. | Self-addressing memory |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5638317A (en) * | 1990-08-22 | 1997-06-10 | Texas Instruments Incorporated | Hierarchical DRAM array with grouped I/O lines and high speed sensing circuit |
| US20100172190A1 (en) * | 2007-09-18 | 2010-07-08 | Zikbit, Inc. | Processor Arrays Made of Standard Memory Cells |
| US20150085589A1 (en) * | 2013-09-26 | 2015-03-26 | Shih-Lien Lu | Data movement in memory devices |
| US20150134713A1 (en) * | 2013-11-08 | 2015-05-14 | Micron Technology, Inc. | Divsion operations for memory |
| US20160063284A1 (en) * | 2014-09-03 | 2016-03-03 | Micron Technology, Inc. | Multiplication operations in memory |
| WO2016144726A1 (en) * | 2015-03-12 | 2016-09-15 | Micron Technology, Inc. | Apparatuses and methods for data movement |
Family Cites Families (318)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4380046A (en) | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
| JPS6032911B2 (ja) | 1979-07-26 | 1985-07-31 | 株式会社東芝 | 半導体記憶装置 |
| US4435792A (en) | 1982-06-30 | 1984-03-06 | Sun Microsystems, Inc. | Raster memory manipulation apparatus |
| US4727474A (en) | 1983-02-18 | 1988-02-23 | Loral Corporation | Staging memory for massively parallel processor |
| EP0214718A3 (en) | 1985-07-22 | 1990-04-04 | Alliant Computer Systems Corporation | Digital computer |
| US5201039A (en) | 1987-09-30 | 1993-04-06 | Mitsubishi Denki Kabushiki Kaisha | Multiple address-space data processor with addressable register and context switching |
| US4843264A (en) | 1987-11-25 | 1989-06-27 | Visic, Inc. | Dynamic sense amplifier for CMOS static RAM |
| US5276643A (en) | 1988-08-11 | 1994-01-04 | Siemens Aktiengesellschaft | Integrated semiconductor circuit |
| JPH0713858B2 (ja) | 1988-08-30 | 1995-02-15 | 三菱電機株式会社 | 半導体記憶装置 |
| US5023838A (en) | 1988-12-02 | 1991-06-11 | Ncr Corporation | Random access memory device with integral logic capability |
| US4958378A (en) | 1989-04-26 | 1990-09-18 | Sun Microsystems, Inc. | Method and apparatus for detecting changes in raster data |
| US5253308A (en) | 1989-06-21 | 1993-10-12 | Amber Engineering, Inc. | Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing |
| EP0446721B1 (en) | 1990-03-16 | 2000-12-20 | Texas Instruments Incorporated | Distributed processing memory |
| JP2979584B2 (ja) * | 1990-05-28 | 1999-11-15 | 日本電気株式会社 | 半導体記憶装置の読み出し方法 |
| 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 |
| 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 |
| EP0584783A3 (en) | 1992-08-25 | 1994-06-22 | Texas Instruments Inc | Method and apparatus for improved processing |
| 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 |
| US5369622A (en) | 1993-04-20 | 1994-11-29 | Micron Semiconductor, Inc. | Memory with isolated digit lines |
| US5754478A (en) | 1993-04-20 | 1998-05-19 | Micron Technology, Inc. | Fast, low power, write scheme for memory circuits using pulsed off isolation device |
| JP2663838B2 (ja) | 1993-07-27 | 1997-10-15 | 日本電気株式会社 | 半導体集積回路装置 |
| JP3252306B2 (ja) | 1993-08-10 | 2002-02-04 | 株式会社日立製作所 | 半導体不揮発性記憶装置 |
| JP3904244B2 (ja) | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
| JP3251421B2 (ja) | 1994-04-11 | 2002-01-28 | 株式会社日立製作所 | 半導体集積回路 |
| US5655113A (en) | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
| JPH0831168A (ja) | 1994-07-13 | 1996-02-02 | Hitachi Ltd | 半導体記憶装置 |
| US5481500A (en) | 1994-07-22 | 1996-01-02 | International Business Machines Corporation | Precharged bit decoder and sense amplifier with integrated latch usable in pipelined memories |
| US5615404A (en) | 1994-10-31 | 1997-03-25 | Intel Corporation | System having independently addressable bus interfaces coupled to serially connected multi-ported signal distributors generating and maintaining frame based polling schedule favoring isochronous peripherals |
| US5638128A (en) | 1994-11-08 | 1997-06-10 | General Instrument Corporation Of Delaware | Pixel interpolation filters for video decompression processor |
| US5724366A (en) | 1995-05-16 | 1998-03-03 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device |
| KR0146530B1 (ko) | 1995-05-25 | 1998-09-15 | 김광호 | 단속제어회로를 구비한 반도체 메모리 장치와 제어방법 |
| US7301541B2 (en) | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
| US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
| JP2812262B2 (ja) | 1995-08-31 | 1998-10-22 | 日本電気株式会社 | 連想記憶装置 |
| JP2817836B2 (ja) | 1995-11-30 | 1998-10-30 | 日本電気株式会社 | 半導体メモリ装置 |
| JP3356612B2 (ja) | 1996-02-29 | 2002-12-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 高速な輪郭スムージング方法及び装置 |
| US6092186A (en) | 1996-05-07 | 2000-07-18 | Lucent Technologies Inc. | Apparatus and method for aborting un-needed instruction fetches in a digital microprocessor device |
| US5915084A (en) | 1996-09-30 | 1999-06-22 | Advanced Micro Devices, Inc. | Scannable sense amplifier circuit |
| US5991209A (en) | 1997-04-11 | 1999-11-23 | Raytheon Company | Split sense amplifier and staging buffer for wide memory architecture |
| JP3592887B2 (ja) | 1997-04-30 | 2004-11-24 | 株式会社東芝 | 不揮発性半導体記憶装置 |
| US6510098B1 (en) | 1997-05-28 | 2003-01-21 | Cirrus Logic, Inc. | Method and apparatus for transferring data in a dual port memory |
| JPH1115773A (ja) | 1997-06-24 | 1999-01-22 | Matsushita Electron Corp | 半導体集積回路、コンピュータシステム、データ処理装置及びデータ処理方法 |
| US5935263A (en) | 1997-07-01 | 1999-08-10 | Micron Technology, Inc. | Method and apparatus for memory array compressed data testing |
| US6195734B1 (en) | 1997-07-02 | 2001-02-27 | Micron Technology, Inc. | System for implementing a graphic address remapping table as a virtual register file in system memory |
| US6181698B1 (en) | 1997-07-09 | 2001-01-30 | Yoichi Hariguchi | Network routing table using content addressable memory |
| US6025221A (en) | 1997-08-22 | 2000-02-15 | Micron Technology, Inc. | Processing methods of forming integrated circuitry memory devices, methods of forming DRAM arrays, and related semiconductor masks |
| US5991785A (en) | 1997-11-13 | 1999-11-23 | Lucent Technologies Inc. | Determining an extremum value and its index in an array using a dual-accumulation processor |
| US5867429A (en) | 1997-11-19 | 1999-02-02 | Sandisk Corporation | High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates |
| US6163862A (en) | 1997-12-01 | 2000-12-19 | International Business Machines Corporation | On-chip test circuit for evaluating an on-chip signal using an external test signal |
| JP3488612B2 (ja) | 1997-12-11 | 2004-01-19 | 株式会社東芝 | センス増幅回路 |
| US5986942A (en) | 1998-01-20 | 1999-11-16 | Nec Corporation | Semiconductor memory device |
| JPH11260057A (ja) | 1998-03-13 | 1999-09-24 | Nec Corp | 半導体記憶装置 |
| JPH11265995A (ja) | 1998-03-17 | 1999-09-28 | Mitsubishi Electric Corp | 半導体記憶装置 |
| JPH11306751A (ja) | 1998-04-22 | 1999-11-05 | Toshiba Corp | 半導体記憶装置 |
| US6005799A (en) | 1998-08-06 | 1999-12-21 | Silicon Aquarius | Methods and circuits for single-memory dynamic cell multivalue data storage |
| US6141286A (en) | 1998-08-21 | 2000-10-31 | Micron Technology, Inc. | Embedded DRAM architecture with local data drivers and programmable number of data read and data write lines |
| US7409694B2 (en) | 1998-09-09 | 2008-08-05 | Microsoft Corporation | Highly componentized system architecture with loadable virtual memory manager |
| JP2000173269A (ja) | 1998-12-08 | 2000-06-23 | Mitsubishi Electric Corp | 半導体記憶装置 |
| KR100381968B1 (ko) | 1998-12-30 | 2004-03-24 | 주식회사 하이닉스반도체 | 고속동작용디램 |
| US5999435A (en) | 1999-01-15 | 1999-12-07 | Fast-Chip, Inc. | Content addressable memory device |
| US6389507B1 (en) | 1999-01-15 | 2002-05-14 | Gigabus, Inc. | Memory device search system and method |
| US6134164A (en) | 1999-04-22 | 2000-10-17 | International Business Machines Corp. | Sensing circuit for a memory cell array |
| US6741104B2 (en) | 1999-05-26 | 2004-05-25 | Micron Technology, Inc. | DRAM sense amplifier for low voltages |
| US6157578A (en) | 1999-07-15 | 2000-12-05 | Stmicroelectronics, Inc. | Method and apparatus for accessing a memory device |
| US6208544B1 (en) | 1999-09-09 | 2001-03-27 | Harris Corporation | Content addressable memory cell providing simultaneous read and compare capability |
| US6578058B1 (en) | 1999-10-06 | 2003-06-10 | Agilent Technologies, Inc. | System and method for comparing values from target systems |
| US7124221B1 (en) | 1999-10-19 | 2006-10-17 | Rambus Inc. | Low latency multi-level communication interface |
| US6418498B1 (en) | 1999-12-30 | 2002-07-09 | Intel Corporation | Integrated system management memory for system management interrupt handler independent of BIOS and operating system |
| JP4627103B2 (ja) | 2000-01-18 | 2011-02-09 | 富士通セミコンダクター株式会社 | 半導体記憶装置及びその制御方法 |
| WO2001057875A1 (en) | 2000-02-04 | 2001-08-09 | Hitachi, Ltd. | Semiconductor device |
| WO2001065359A2 (en) | 2000-02-29 | 2001-09-07 | Peter Petrov | Method and apparatus for building a memory image |
| JP3983969B2 (ja) | 2000-03-08 | 2007-09-26 | 株式会社東芝 | 不揮発性半導体記憶装置 |
| US7028170B2 (en) | 2000-03-08 | 2006-04-11 | Sun Microsystems, Inc. | Processing architecture having a compare capability |
| US6678678B2 (en) | 2000-03-09 | 2004-01-13 | Braodcom Corporation | Method and apparatus for high speed table search |
| JP3822412B2 (ja) | 2000-03-28 | 2006-09-20 | 株式会社東芝 | 半導体記憶装置 |
| US6965648B1 (en) | 2000-05-04 | 2005-11-15 | Sun Microsystems, Inc. | Source synchronous link integrity validation |
| EP1307884A2 (en) | 2000-07-07 | 2003-05-07 | 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 |
| US7302582B2 (en) | 2000-08-21 | 2007-11-27 | United States Postal Service | Delivery point validation system |
| US6301164B1 (en) | 2000-08-25 | 2001-10-09 | Micron Technology, Inc. | Antifuse method to repair columns in a prefetched output memory architecture |
| US6704828B1 (en) | 2000-08-31 | 2004-03-09 | Micron Technology, Inc. | System and method for implementing data pre-fetch having reduced data lines and/or higher data rates |
| US6948056B1 (en) | 2000-09-28 | 2005-09-20 | Intel Corporation | Maintaining even and odd array pointers to extreme values by searching and comparing multiple elements concurrently where a pointer is adjusted after processing to account for a number of pipeline stages |
| US6304477B1 (en) | 2001-01-31 | 2001-10-16 | Motorola, Inc. | Content addressable magnetic random access memory |
| US6563754B1 (en) | 2001-02-08 | 2003-05-13 | Integrated Device Technology, Inc. | DRAM circuit with separate refresh memory |
| US6650158B2 (en) | 2001-02-21 | 2003-11-18 | Ramtron International Corporation | Ferroelectric non-volatile logic elements |
| US7546438B2 (en) | 2001-07-19 | 2009-06-09 | Chung Shine C | Algorithm mapping, specialized instructions and architecture features for smart memory computing |
| US6807614B2 (en) | 2001-07-19 | 2004-10-19 | Shine C. Chung | Method and apparatus for using smart memories in computing |
| ITRM20010531A1 (it) | 2001-08-31 | 2003-02-28 | Micron Technology Inc | Dispositivo rilevatore a bassa potenza e alta tensione per memorie ditipo flash. |
| US7260672B2 (en) | 2001-09-07 | 2007-08-21 | Intel Corporation | Using data stored in a destructive-read memory |
| US7062689B2 (en) | 2001-12-20 | 2006-06-13 | Arm Limited | Method and apparatus for memory self testing |
| 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 |
| US7450438B1 (en) | 2002-06-20 | 2008-11-11 | Cisco Technology, Inc. | Crossbar apparatus for a forwarding table memory in a router |
| 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 |
| 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 |
| 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 |
| 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 | ローム株式会社 | 演算機能付き記憶装置および演算記憶方法 |
| US7827372B2 (en) | 2003-09-04 | 2010-11-02 | Nxp B.V. | Intergrated 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 |
| KR100546385B1 (ko) * | 2003-09-30 | 2006-01-26 | 삼성전자주식회사 | 입출력라인 감지증폭기와 입출력라인 드라이버 제어방법및 이를 이용하는 반도체 메모리장치 |
| US7913125B2 (en) | 2003-11-04 | 2011-03-22 | Lsi Corporation | BISR mode to test the redundant elements and regular functional memory to avoid test escapes |
| US6950771B1 (en) | 2003-12-09 | 2005-09-27 | Xilinx, Inc. | Correlation of electrical test data with physical defect data |
| US7401281B2 (en) | 2004-01-29 | 2008-07-15 | International Business Machines Corporation | Remote BIST high speed test and redundancy calculation |
| US7631236B2 (en) | 2004-01-29 | 2009-12-08 | International Business Machines Corporation | Hybrid built-in self test (BIST) architecture for embedded memory arrays and an associated method |
| JP4819316B2 (ja) | 2004-02-23 | 2011-11-24 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
| US7088606B2 (en) | 2004-03-10 | 2006-08-08 | Altera Corporation | Dynamic RAM storage techniques |
| US7020017B2 (en) | 2004-04-06 | 2006-03-28 | Sandisk Corporation | Variable programming of non-volatile memory |
| US7120063B1 (en) | 2004-05-07 | 2006-10-10 | Spansion Llc | Flash memory cell and methods for programming and erasing |
| US8522205B2 (en) | 2004-05-18 | 2013-08-27 | Oracle International Corporation | Packaging multiple groups of read-only files of an application's components into multiple shared libraries |
| JP2006127460A (ja) | 2004-06-09 | 2006-05-18 | Renesas Technology Corp | 半導体装置、半導体信号処理装置、およびクロスバースイッチ |
| US7061817B2 (en) | 2004-06-30 | 2006-06-13 | Micron Technology, Inc. | Data path having grounded precharge operation and test compression capability |
| US7116602B2 (en) | 2004-07-15 | 2006-10-03 | Micron Technology, Inc. | Method and system for controlling refresh to avoid memory cell data losses |
| US7434024B2 (en) | 2004-08-30 | 2008-10-07 | Ati Technologies, Inc. | SIMD processor with register addressing, buffer stall and methods |
| 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 |
| US7193898B2 (en) | 2005-06-20 | 2007-03-20 | Sandisk Corporation | Compensation currents in non-volatile memory read operations |
| KR100720644B1 (ko) | 2005-11-17 | 2007-05-21 | 삼성전자주식회사 | 메모리 장치 및 메모리 그 동작 방법 |
| JP4804479B2 (ja) | 2005-12-13 | 2011-11-02 | スパンション エルエルシー | 半導体装置およびその制御方法 |
| JP5129450B2 (ja) | 2006-01-16 | 2013-01-30 | ルネサスエレクトロニクス株式会社 | 情報処理装置 |
| US8077533B2 (en) | 2006-01-23 | 2011-12-13 | Freescale Semiconductor, Inc. | Memory and method for sensing data in a memory using complementary sensing scheme |
| JP4989900B2 (ja) | 2006-01-31 | 2012-08-01 | ルネサスエレクトロニクス株式会社 | 並列演算処理装置 |
| US7400532B2 (en) | 2006-02-16 | 2008-07-15 | Micron Technology, Inc. | Programming method to reduce gate coupling interference for non-volatile memory |
| KR100755370B1 (ko) | 2006-04-17 | 2007-09-04 | 삼성전자주식회사 | 반도체 메모리 장치 |
| TW200828333A (en) | 2006-04-28 | 2008-07-01 | Samsung Electronics Co Ltd | Sense amplifier circuit and sense amplifier-based flip-flop having the same |
| US7752417B2 (en) | 2006-06-05 | 2010-07-06 | Oracle America, Inc. | Dynamic selection of memory virtualization techniques |
| US7372715B2 (en) | 2006-06-14 | 2008-05-13 | Micron Technology, Inc. | Architecture and method for NAND flash memory |
| US8069377B2 (en) | 2006-06-26 | 2011-11-29 | Micron Technology, Inc. | Integrated circuit having memory array including ECC and column redundancy and method of operating the same |
| US7724559B2 (en) | 2006-07-14 | 2010-05-25 | International Business Machines Corporation | Self-referenced match-line sense amplifier for content addressable memories |
| US7443729B2 (en) | 2006-07-20 | 2008-10-28 | Sandisk Corporation | System that compensates for coupling based on sensing a neighbor using coupling |
| US7885119B2 (en) | 2006-07-20 | 2011-02-08 | Sandisk Corporation | Compensating for coupling during programming |
| US7692466B2 (en) | 2006-08-18 | 2010-04-06 | Ati Technologies Ulc | Sense amplifier based flip-flop |
| US7805587B1 (en) | 2006-11-01 | 2010-09-28 | Nvidia Corporation | Memory addressing controlled by PTE fields |
| US8151082B2 (en) | 2007-12-06 | 2012-04-03 | Fusion-Io, Inc. | Apparatus, system, and method for converting a storage request into an append data storage command |
| US7471536B2 (en) | 2006-12-08 | 2008-12-30 | Texas Instruments Incorporated | Match mismatch emulation scheme for an addressed location in a CAM |
| 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 |
| WO2008131058A2 (en) | 2007-04-17 | 2008-10-30 | Rambus Inc. | Hybrid volatile and non-volatile memory device |
| US7515501B2 (en) * | 2007-05-24 | 2009-04-07 | Micron Technology, Inc. | Memory architecture having local column select lines |
| 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 |
| 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 |
| US8555037B2 (en) | 2008-08-15 | 2013-10-08 | Apple Inc. | Processing vectors using wrapping minima and maxima instructions in the macroscalar architecture |
| US8417921B2 (en) | 2008-08-15 | 2013-04-09 | Apple Inc. | Running-min and running-max instructions for processing vectors using a base value from a key element of an input vector |
| US8259509B2 (en) | 2008-08-18 | 2012-09-04 | Elpida Memory, Inc. | Semiconductor memory device and method with auxiliary I/O line assist circuit and functionality |
| ITRM20080543A1 (it) | 2008-10-09 | 2010-04-10 | Micron Technology Inc | Architettura e metodo per la programmazione di memorie. |
| KR101596283B1 (ko) | 2008-12-19 | 2016-02-23 | 삼성전자 주식회사 | 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치 |
| KR101622922B1 (ko) | 2009-03-06 | 2016-05-20 | 삼성전자 주식회사 | 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치 |
| US8484276B2 (en) | 2009-03-18 | 2013-07-09 | International Business Machines Corporation | Processing array data on SIMD multi-core processor architectures |
| KR20100134235A (ko) | 2009-06-15 | 2010-12-23 | 삼성전자주식회사 | 반도체 메모리 장치 |
| US7898864B2 (en) | 2009-06-24 | 2011-03-01 | Sandisk Corporation | Read operation for memory with compensation for coupling based on write-erase cycles |
| US8412987B2 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Non-volatile memory to store memory remap information |
| US8412985B1 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Hardwired remapped memory |
| US9076527B2 (en) | 2009-07-16 | 2015-07-07 | Mikamonu Group Ltd. | Charge sharing in a TCAM array |
| US8238173B2 (en) | 2009-07-16 | 2012-08-07 | Zikbit Ltd | Using storage cells to perform computation |
| JP4951041B2 (ja) | 2009-08-06 | 2012-06-13 | 株式会社東芝 | 半導体記憶装置 |
| US8059438B2 (en) | 2009-08-28 | 2011-11-15 | International Business Machines Corporation | Content addressable memory array programmed to perform logic operations |
| US8077532B2 (en) | 2009-09-02 | 2011-12-13 | Micron Technology, Inc. | Small unit internal verify read in a memory device |
| US8482975B2 (en) | 2009-09-14 | 2013-07-09 | Micron Technology, Inc. | Memory kink checking |
| US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
| US20120246380A1 (en) | 2009-10-21 | 2012-09-27 | Avidan Akerib | Neighborhood operations for parallel processing |
| US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
| US8650232B2 (en) | 2009-10-26 | 2014-02-11 | Via Technologies, Inc. | System and method for determination of a horizontal minimum of digital values |
| KR101634340B1 (ko) | 2009-11-03 | 2016-06-28 | 삼성전자주식회사 | 반도체 메모리 장치의 프로그램 방법 |
| US8583896B2 (en) | 2009-11-13 | 2013-11-12 | Nec Laboratories America, Inc. | Massively parallel processing core with plural chains of processing elements and respective smart memory storing select data received from each chain |
| KR20110054773A (ko) | 2009-11-18 | 2011-05-25 | 삼성전자주식회사 | 비트라인 디스털번스를 개선하는 반도체 메모리 장치 |
| US8089815B2 (en) | 2009-11-24 | 2012-01-03 | Sandisk Technologies Inc. | Programming memory with bit line floating to reduce channel-to-floating gate coupling |
| US8605015B2 (en) | 2009-12-23 | 2013-12-10 | Syndiant, Inc. | Spatial light modulator with masking-comparators |
| JP2011146102A (ja) | 2010-01-15 | 2011-07-28 | Elpida Memory Inc | 半導体装置及びデータ処理システム |
| CN102141905B (zh) | 2010-01-29 | 2015-02-25 | 上海芯豪微电子有限公司 | 一种处理器体系结构 |
| US8164942B2 (en) | 2010-02-01 | 2012-04-24 | International Business Machines Corporation | High performance eDRAM sense amplifier |
| US8533245B1 (en) | 2010-03-03 | 2013-09-10 | Altera Corporation | Multipliers with a reduced number of memory blocks |
| EP2564306A4 (en) | 2010-04-27 | 2017-04-26 | Cornell University | System and methods for mapping and searching objects in multidimensional space |
| KR101119371B1 (ko) | 2010-04-29 | 2012-03-06 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 이의 동작 방법 |
| US8559232B2 (en) | 2010-05-03 | 2013-10-15 | Aplus Flash Technology, Inc. | DRAM-like NVM memory array and sense amplifier design for high temperature and high endurance operation |
| US8351278B2 (en) | 2010-06-23 | 2013-01-08 | International Business Machines Corporation | Jam latch for latching memory array output data |
| KR101143471B1 (ko) | 2010-07-02 | 2012-05-11 | 에스케이하이닉스 주식회사 | 센스앰프 및 이를 포함하는 반도체 장치 |
| US20120017039A1 (en) | 2010-07-16 | 2012-01-19 | Plx Technology, Inc. | Caching using virtual memory |
| US8462532B1 (en) | 2010-08-31 | 2013-06-11 | Netlogic Microsystems, Inc. | Fast quaternary content addressable memory cell |
| 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 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置 |
| 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 | データ処理装置およびそのデータ処理方法 |
| 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 |
| WO2013062596A1 (en) | 2011-10-28 | 2013-05-02 | Hewlett-Packard Development Company, L.P. | Row shifting shiftable memory |
| US8891297B2 (en) | 2011-11-01 | 2014-11-18 | Micron Technology, Inc. | Memory cell sensing |
| KR101321481B1 (ko) | 2011-11-04 | 2013-10-28 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이를 위한 테스트 회로 |
| US9830158B2 (en) | 2011-11-04 | 2017-11-28 | Nvidia Corporation | Speculative execution and rollback |
| KR20130052971A (ko) | 2011-11-14 | 2013-05-23 | 삼성전자주식회사 | 비휘발성 메모리 장치의 동작 방법 |
| GB2511957B (en) | 2011-11-22 | 2015-02-11 | Mips Tech Inc | Processor with kernel mode access to user space virtual addresses |
| CN105955704B (zh) | 2011-11-30 | 2018-12-04 | 英特尔公司 | 用于提供向量横向比较功能的指令和逻辑 |
| 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 |
| 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 |
| US9442854B2 (en) * | 2012-11-15 | 2016-09-13 | Elwha Llc | Memory circuitry including computational circuitry for performing supplemental functions |
| KR102062301B1 (ko) | 2013-01-03 | 2020-01-03 | 삼성전자주식회사 | 메모리 장치의 페이지 복사 방법 및 메모리 시스템의 페이지 관리 방법 |
| EP2755138B1 (en) * | 2013-01-11 | 2018-11-28 | Fujitsu Limited | Testing implementation parameters of a computer program in a distributed environment |
| 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 |
| US20150270015A1 (en) | 2014-03-19 | 2015-09-24 | Micron Technology, Inc. | Memory mapping |
| US9934856B2 (en) | 2014-03-31 | 2018-04-03 | Micron Technology, Inc. | Apparatuses and methods for comparing data patterns in memory |
| WO2015171905A1 (en) | 2014-05-08 | 2015-11-12 | Micron Technology, Inc. | In-memory lightweight coherency |
| US10838865B2 (en) | 2014-05-08 | 2020-11-17 | Micron Technology, Inc. | Stacked memory device system interconnect directory-based cache coherence methodology |
| US9455020B2 (en) | 2014-06-05 | 2016-09-27 | Micron Technology, Inc. | Apparatuses and methods for performing an exclusive or operation using sensing circuitry |
| US9786335B2 (en) | 2014-06-05 | 2017-10-10 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
| US9449674B2 (en) | 2014-06-05 | 2016-09-20 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
| US9711206B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
| US9711207B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
| US10074407B2 (en) | 2014-06-05 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for performing invert operations using sensing circuitry |
| US9496023B2 (en) | 2014-06-05 | 2016-11-15 | Micron Technology, Inc. | Comparison operations on logical representations of values in memory |
| US9779019B2 (en) | 2014-06-05 | 2017-10-03 | Micron Technology, Inc. | Data storage layout |
| US9830999B2 (en) | 2014-06-05 | 2017-11-28 | Micron Technology, Inc. | Comparison operations in memory |
| US9704540B2 (en) | 2014-06-05 | 2017-07-11 | Micron Technology, Inc. | Apparatuses and methods for parity determination using sensing circuitry |
| US9910787B2 (en) | 2014-06-05 | 2018-03-06 | Micron Technology, Inc. | Virtual address table |
| US10068652B2 (en) | 2014-09-03 | 2018-09-04 | Micron Technology, Inc. | Apparatuses and methods for determining population count |
| US9589602B2 (en) | 2014-09-03 | 2017-03-07 | Micron Technology, Inc. | Comparison operations in memory |
| US9740607B2 (en) | 2014-09-03 | 2017-08-22 | Micron Technology, Inc. | Swap operations in memory |
| US9898252B2 (en) | 2014-09-03 | 2018-02-20 | Micron Technology, Inc. | Multiplication operations in memory |
| US9747961B2 (en) | 2014-09-03 | 2017-08-29 | Micron Technology, Inc. | Division operations in memory |
| US9847110B2 (en) | 2014-09-03 | 2017-12-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector |
| US9836218B2 (en) | 2014-10-03 | 2017-12-05 | Micron Technology, Inc. | Computing reduction and prefix sum operations in memory |
| US9940026B2 (en) | 2014-10-03 | 2018-04-10 | Micron Technology, Inc. | Multidimensional contiguous memory allocation |
| US10163467B2 (en) | 2014-10-16 | 2018-12-25 | Micron Technology, Inc. | Multiple endianness compatibility |
| US10147480B2 (en) | 2014-10-24 | 2018-12-04 | Micron Technology, Inc. | Sort operation in memory |
| US9779784B2 (en) | 2014-10-29 | 2017-10-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
| US10073635B2 (en) | 2014-12-01 | 2018-09-11 | Micron Technology, Inc. | Multiple endianness compatibility |
| US9747960B2 (en) | 2014-12-01 | 2017-08-29 | Micron Technology, Inc. | Apparatuses and methods for converting a mask to an index |
| US10061590B2 (en) | 2015-01-07 | 2018-08-28 | Micron Technology, Inc. | Generating and executing a control flow |
| US10032493B2 (en) | 2015-01-07 | 2018-07-24 | Micron Technology, Inc. | Longest element length determination in memory |
| US9583163B2 (en) | 2015-02-03 | 2017-02-28 | Micron Technology, Inc. | Loop structure for operations in memory |
| US9741399B2 (en) | 2015-03-11 | 2017-08-22 | Micron Technology, Inc. | Data shift by elements of a vector in memory |
| US9898253B2 (en) | 2015-03-11 | 2018-02-20 | Micron Technology, Inc. | Division operations on variable length elements in memory |
| US10146537B2 (en) | 2015-03-13 | 2018-12-04 | Micron Technology, Inc. | Vector population count determination in memory |
| US9911727B2 (en) | 2015-03-16 | 2018-03-06 | Taiwan Semiconductor Manufacturing Company, Ltd. | Strapping structure of memory circuit |
| US10049054B2 (en) | 2015-04-01 | 2018-08-14 | Micron Technology, Inc. | Virtual register file |
| US10140104B2 (en) | 2015-04-14 | 2018-11-27 | Micron Technology, Inc. | Target architecture determination |
| US9959923B2 (en) | 2015-04-16 | 2018-05-01 | Micron Technology, Inc. | Apparatuses and methods to reverse data stored in memory |
| US10073786B2 (en) | 2015-05-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for compute enabled cache |
| US9704541B2 (en) | 2015-06-12 | 2017-07-11 | Micron Technology, Inc. | Simulating access lines |
| US9921777B2 (en) | 2015-06-22 | 2018-03-20 | Micron Technology, Inc. | Apparatuses and methods for data transfer from sensing circuitry to a controller |
| US9996479B2 (en) | 2015-08-17 | 2018-06-12 | Micron Technology, Inc. | Encryption of executables in computational memory |
| US9697876B1 (en) | 2016-03-01 | 2017-07-04 | Micron Technology, Inc. | Vertical bit vector shift in memory |
| US10379772B2 (en) * | 2016-03-16 | 2019-08-13 | Micron Technology, Inc. | Apparatuses and methods for operations using compressed and decompressed data |
| US9659605B1 (en) | 2016-04-20 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
| KR102617843B1 (ko) * | 2016-05-13 | 2023-12-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
| US9659610B1 (en) | 2016-05-18 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for shifting data |
| US9825647B1 (en) * | 2016-09-28 | 2017-11-21 | Intel Corporation | Method and apparatus for decompression acceleration in multi-cycle decoder based platforms |
| US9761300B1 (en) | 2016-11-22 | 2017-09-12 | Micron Technology, Inc. | Data shift apparatuses and methods |
| US10838899B2 (en) * | 2017-03-21 | 2020-11-17 | Micron Technology, Inc. | Apparatuses and methods for in-memory data switching networks |
| US10185674B2 (en) * | 2017-03-22 | 2019-01-22 | Micron Technology, Inc. | Apparatus and methods for in data path compute operations |
| US9997212B1 (en) | 2017-04-24 | 2018-06-12 | Micron Technology, Inc. | Accessing data in memory |
| US10068664B1 (en) | 2017-05-19 | 2018-09-04 | Micron Technology, Inc. | Column repair in memory |
-
2017
- 2017-03-22 US US15/466,477 patent/US10185674B2/en active Active
-
2018
- 2018-03-12 WO PCT/US2018/021931 patent/WO2018175129A1/en not_active Ceased
- 2018-03-12 CN CN201880020103.0A patent/CN110462738B/zh active Active
- 2018-03-12 JP JP2019551436A patent/JP6791522B2/ja active Active
- 2018-03-12 KR KR1020207014607A patent/KR102306034B1/ko active Active
- 2018-03-12 EP EP18771952.1A patent/EP3583597A4/en not_active Ceased
- 2018-03-12 KR KR1020197030776A patent/KR20190121873A/ko not_active Ceased
- 2018-03-22 TW TW107109757A patent/TWI659427B/zh active
- 2018-12-14 US US16/220,912 patent/US10452578B2/en active Active
-
2019
- 2019-10-17 US US16/655,545 patent/US10817442B2/en active Active
-
2020
- 2020-10-26 US US17/080,075 patent/US11048652B2/en active Active
-
2021
- 2021-06-28 US US17/360,388 patent/US11550742B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5638317A (en) * | 1990-08-22 | 1997-06-10 | Texas Instruments Incorporated | Hierarchical DRAM array with grouped I/O lines and high speed sensing circuit |
| US20100172190A1 (en) * | 2007-09-18 | 2010-07-08 | Zikbit, Inc. | Processor Arrays Made of Standard Memory Cells |
| US20150085589A1 (en) * | 2013-09-26 | 2015-03-26 | Shih-Lien Lu | Data movement in memory devices |
| US20150134713A1 (en) * | 2013-11-08 | 2015-05-14 | Micron Technology, Inc. | Divsion operations for memory |
| US20160063284A1 (en) * | 2014-09-03 | 2016-03-03 | Micron Technology, Inc. | Multiplication operations in memory |
| WO2016144726A1 (en) * | 2015-03-12 | 2016-09-15 | Micron Technology, Inc. | Apparatuses and methods for data movement |
Also Published As
| Publication number | Publication date |
|---|---|
| US20180276151A1 (en) | 2018-09-27 |
| KR102306034B1 (ko) | 2021-10-01 |
| US11550742B2 (en) | 2023-01-10 |
| EP3583597A4 (en) | 2020-03-04 |
| US20210042249A1 (en) | 2021-02-11 |
| US11048652B2 (en) | 2021-06-29 |
| JP2020512653A (ja) | 2020-04-23 |
| CN110462738A (zh) | 2019-11-15 |
| US20210326281A1 (en) | 2021-10-21 |
| US20190121757A1 (en) | 2019-04-25 |
| KR20200060778A (ko) | 2020-06-01 |
| US10817442B2 (en) | 2020-10-27 |
| CN110462738B (zh) | 2021-12-07 |
| KR20190121873A (ko) | 2019-10-28 |
| EP3583597A1 (en) | 2019-12-25 |
| US20200050563A1 (en) | 2020-02-13 |
| US10185674B2 (en) | 2019-01-22 |
| WO2018175129A1 (en) | 2018-09-27 |
| US10452578B2 (en) | 2019-10-22 |
| TW201839759A (zh) | 2018-11-01 |
| JP6791522B2 (ja) | 2020-11-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI659427B (zh) | 用於資料路徑內計算操作之裝置及方法 | |
| US11693561B2 (en) | Apparatuses and methods for simultaneous in data path compute operations | |
| TWI656533B (zh) | 用於在資料路徑中計算之裝置及方法 | |
| US11474965B2 (en) | Apparatuses and methods for in-memory data switching networks | |
| TW201839758A (zh) | 用於記憶體內操作之裝置及方法 |