TWI620063B - 用於快取無效之裝置及方法 - Google Patents
用於快取無效之裝置及方法 Download PDFInfo
- Publication number
- TWI620063B TWI620063B TW106108061A TW106108061A TWI620063B TW I620063 B TWI620063 B TW I620063B TW 106108061 A TW106108061 A TW 106108061A TW 106108061 A TW106108061 A TW 106108061A TW I620063 B TWI620063 B TW I620063B
- Authority
- TW
- Taiwan
- Prior art keywords
- cache
- memory
- bit vector
- bit
- pim
- Prior art date
Links
Classifications
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/621—Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
-
- 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/4097—Bit-line organisation, e.g. bit-line layout, folded bit lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2245—Memory devices with an internal cache buffer
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本發明包含用於快取無效之裝置及方法。一實例性裝置包括一具有位元向量之記憶體器件及耦合至該記憶體器件之一通道控制器。該通道控制器經組態以回應於接收一位元向量運算請求而使得一整體無效命令發送至一快取記憶體系統。
Description
本發明大體上係關於半導體記憶體及方法,且更特定言之,本發明係關於用於快取無效之裝置及方法。
記憶體器件通常設置為運算系統中之內部半導體積體電路。存在諸多不同類型之記憶體,包含揮發性及非揮發性記憶體。揮發性記憶體可需要維持其資料(例如,主機資料、誤差資料等等)之電力且包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、同步動態隨機存取記憶體(SDRAM)及閘流體隨機存取記憶體(TRAM)等等。非揮發性記憶體可藉由當不供電時保持儲存之資料而提供永久性資料且可包含NAND快閃記憶體、NOR快閃記憶體及電阻可變記憶體,諸如相變隨機存取記憶體(PCRAM)、電阻隨機存取記憶體(RRAM)及磁阻隨機存取記憶體(MRAM),諸如自旋力矩轉移隨機存取記憶體(STT RAM)等等。 運算系統通常包含數個處理資源(例如,一或多個處理器),該運算系統可擷取及執行指令且將該等執行之指令之結果儲存至一適合位置。一處理資源(例如,CPU)可包括數個功能單元,諸如(例如)算術邏輯單元(ALU)電路、浮動點單元(FPU)電路及/或一組合邏輯區塊,可藉由對資料(例如,一或多個運算元)執行邏輯運算(諸如AND、OR、NOT、NAND、NOR及XOR)及反相(例如反轉)邏輯運算而使用該等功能單元來執行指令。例如,可使用功能單元電路經由數個邏輯運算對運算元執行算術運算,諸如加、減、乘及/或除。 在將指令提供至功能單元電路以用於執行時可涉及一運算系統中之數個組件。可(例如)由一處理資源(諸如,一控制器及/或主機處理器)執行指令。可將資料(例如,將對其執行指令之運算元)儲存於可由該功能單元電路獲得之一記憶體陣列中。該等指令及/或資料可自記憶體陣列擷取且在該功能單元電路開始對資料執行指令之前經定序及/或緩衝。此外,由於可通過該功能單元電路在一個或多個時脈週期中執行不同類型之運算,所以亦可定序及/或緩衝指令及/或資料之中間結果。在一或多個時脈週期中完成一運算之一序列可被稱為一運算週期。就處理資源而言,完成一運算週期所耗費之時間需要付出運算效能及電力消耗之代價。 在諸多例項中,處理資源(例如,處理器及/或相關聯之功能單元電路)可在記憶體陣列之外部,且經由該處理資源與記憶體陣列之間之一匯流排存取資料以執行一組指令。處理效能可在一記憶體中處理器(PIM)器件中改良,其中可在一記憶體內部及/或接近處(例如,直接位於與記憶體陣列相同之一晶片上)實施一處理器。如本文所使用,一PIM器件意欲意謂其中在一記憶體內部及/或接近處實施一處理能力之一器件。PIM器件可藉由減少及/或消除外部通信而節省時間且亦可節約電力。PIM運算可涉及基於位元向量之運算。在一虛擬位址空間中對連續位元(亦被稱為「塊」)執行基於位元向量之運算。例如,一塊虛擬位址空間可具有256位元之一連續位元長度。虛擬位址空間之連續塊可或可不係實體連續的。 一典型快取架構(完全關聯、設置關聯或直接映射)使用由一處理器產生之一位址之一部分來定位快取(在本文中亦被稱為一「快取區塊」)中之資料之一區塊之佈置且可具有描述該快取區塊之狀態之一些元資料(例如,有效及壞位元)。一快取標籤係用於該快取中之資料之一群組之一獨特識別符。一末級快取架構可係基於3D積體記憶體,其中標籤及元資料儲存於SRAM中之晶片上且快取資料之區塊儲存於快速存取之DRAM中。在此一架構中,發生使用晶片上SRAM標籤之匹配且由相對較快之封裝上DRAM (相較於一封裝下解決方案)加速記憶體存取。 一快取架構可具有與多個處理資源(處理器核)操作之多級快取。例如,一膝上型電腦可具有兩個處理核及兩級快取,一個用於指令且一個用於資料。第二級快取(L2)可被稱為末級快取(LLC)且能夠儲存256千位元組資料。一伺服器可具有三個或三個以上級之快取。在一個三級快取中,第三級快取(L3)可充當為末級快取(LLC)。所有處理核應具有記憶體之相同視圖。據此,一基於快取之記憶體系統將使用快取一致性協定之一些形式(例如,一MESI (經修改之獨有共享無效)或基於目錄之快取一致性協定)以維持至處理核之間之快取記憶體系統中之準確資料之存取。 在一處理核上運行之編碼可想要存取一位元向量運算器件(例如,PIM器件)以執行一基於位元向量之運算。一主機中之一處理資源通常知道其本身之快取線位元長度(一快取線在本文中亦可被稱為一「快取區塊」)以維持其快取一致性。然而,一PIM器件中之一基於位元向量之運算可對一不同位元長度之位元向量運算。用於執行一基於位元向量之運算且同時維持軟體中之快取一致性之一典型使用圖案可涉及一整個快取之昂貴沖洗或使得特定頁變得不可快取(在快取中不可使用)。沖洗快取記憶體涉及將快取項目之一整個區塊返回寫入至記憶體且刪除該等快取項目以騰出在快取記憶體中使用之空間。沖洗一整個快取記憶體可非必要地自快取記憶體移除可使用之快取項目且在執行運算時消耗大量電力及時間。 相比而言,將快取項目標記為無效(亦被稱為「無效」快取項目或「快取無效」)涉及標記特定快取項目(例如,特定快取線)且僅刪除彼等快取項目以騰出在快取記憶體中為另一目的而使用之空間。因此,將一特定快取項目(例如,快取線)返回寫入至記憶體且為另一目的刪除快取記憶體中之快取項目之一快取無效命令比一沖洗操作消耗更少電力及時間。一快取無效運算係用於確保資料在一主機器件與一記憶體器件之間一致之一種技術。然而,使得一PIM器件完全知道一致性協定將十分昂貴及複雜。
本發明包含用於快取無效之裝置及方法。本文描述之快取無效實施例可使得一基於位元向量之運算請求能夠在一位元向量運算記憶體器件(例如,一記憶體中處理器(PIM)器件)上執行,且在具有不同於一位元向量位元長度之一快取線位元長度之分離器件(例如,一「主機」處理資源)上更有效地與一基於快取之記憶體系統互動。例如,一基於快取之記憶體系統中之一快取線之一實例可具有一128位元組(一千位元)位元長度,包含元資料及標籤以及快取區塊資料。相比而言,一位元向量運算記憶體器件(例如,一PIM器件)可對相當於一DRAM陣列中之一區塊寬度或等於一不同選定位元寬度(取決於一特定設計實施方案)之「塊」中之資料之區塊運算。在一個實施例中,一塊可經選擇具有256位元之一位元寬度來匹配一特定介面頻寬之一寬度。因此,在一基於快取之記憶體系統中,四個(4)塊可總共對應於128位元組之一快取線位元長度。 如本文所使用,術語「位元向量」意欲意謂實體連續數目之位元。該實體連續數目之位元可存在(例如儲存)於一位元向量記憶體器件(例如,PIM器件)上,不論係該位元向量記憶體器件上之記憶體胞之一陣列中之列中之實體連續(例如,水平定向)或行中之實體連續(例如,垂直定向)。如本文所使用,一「位元向量運算」意欲意謂對係(例如)由PIM器件使用之虛擬位址空間之一連續部分(亦被稱為「塊」)之一位元向量執行之一運算。在該虛擬位址空間中,一塊與其他塊可或可不實體連續。 在一個實例性實施例中,一裝置包括具有記憶體胞之一陣列及耦合至該陣列之感測電路之一記憶體器件。該感測電路包含一感測放大器及經組態以實施邏輯運算之一運算組件。一記憶體控制器耦合至該陣列及感測電路且經組態以接收一位元向量運算請求。一通道控制器耦合至該記憶體器件且經組態以回應於接收一位元向量運算請求而將一整體無效命令發送至一快取記憶體系統。如本文所使用,一快取記憶體系統(亦被稱為一「基於快取之記憶體系統」)意欲意謂與一特定快取一致性協定相關聯之一裝置,例如組件、器件、系統等等。如本文所使用,術語「整體無效」意欲意謂在多個位置(例如,多個快取線)中對無效資訊定址且操作而不必將無效指令分開定址且傳遞至該多個位置之各者之一能力。如以上所提及,將快取項目標記為無效(亦被稱為「無效」快取項目或「快取無效」)包括刪除一快取項目之內容以騰出在快取記憶體中使用之空間。在本文描述之一些實施例中,一快取無效操作騰出在一快取記憶體中與正在一PIM器件上執行之運算搭配使用之空間。 在本發明之以下詳細描述中,參考形成本發明之一部分之附圖,且其中以繪示之方式展示可如何實踐本發明之一或多個實施例。充分詳細地描述此等實施例以使得一般技術者能夠實踐本發明之實施例,且將瞭解可利用其它實施例且可在不違背本發明之範疇之情況下做出程序、電及/或結構改變。如本文所使用,諸如「N」、「M」等等之元件符號(尤其係相對於圖中之元件符號)指示可包含如此標示之數個特定特徵。如本文所使用,「數個」特定事物可係指此等事物之一或多者(例如,數個記憶體陣列可被稱為一或多個記憶體陣列)。「複數個」意欲指此等事物之一個以上。 本文中之圖式遵循其中第一數字或前幾個數字對應於圖式圖編號且剩餘數字識別圖式中之一元件或組件之一編號慣例。可藉由使用類似數字識別不同圖之間之類似元件或組件。例如,206可係圖2中之參考元件「06」,且一類似元件可在圖6中引用為606。如將明白,可添加、交換及/或消除本文之各種實施例中展示之元件以提供本發明之數個額外實施例。另外,如將明白,圖中提供之元件之比例及相對尺寸意欲繪示本發明之特定實施例,且不應視為具有一限制意義。 圖1A係根據本發明之數個實施例之為包含一記憶體器件之一運算系統之形式之一裝置之一方塊圖。如圖1A中所展示,一主機110可包含邏輯及/或處理資源112 (例如,一運算組件)。如本文所使用,邏輯意欲意謂諸如電晶體電路及/或一或多個特定應用積體電路(ASIC)之硬體且亦可包含韌體。在至少一實施例中,邏輯資源112可包含邏輯資源112 (有時亦被稱為一「邏輯層」)上之一靜態隨機存取記憶體(SRAM)。如圖1A之實例性實施例中所展示,邏輯資源112可在主機110上耦合至主機110上之一快取記憶體113,例如,諸如一3D積體記憶體中之封裝上(亦被稱為晶片上及/或晶粒上)。邏輯組件112可經由一寬介面114 (例如,256位元介面)耦合至快取記憶體113。此介面可包含作為具有堆疊於一邏輯晶粒上之多個記憶體晶粒之一3D積體記憶體之一部分之矽通孔(TSV)。 在一或多個實施例中,快取記憶體113可具有複數個快取級、陣列、記憶體層、記憶體庫、記憶體庫區段、子陣列、列等等113-1、113-2,..., 113-N。實施例不限制於此。在至少一實施例中,快取記憶體113之一部分可充當為至快取記憶體113之一末層快取(LLC)部分(級),例如113-N。在此結構中,LLC 113-N可控制區塊資料對準,且將自本文之描述明白,可減少一邏輯及/或3D積體記憶體晶片之快取記憶體113之一總資料尺寸。 如圖1A中所展示,可提供可包含為韌體及/或硬體(例如,一特定應用積體電路(ASIC))及/或軟體(例如,儲存於記憶體中且由邏輯及/或處理資源112執行之指令)形式之邏輯之一快取控制器115。根據實施例,由快取控制器115使用之韌體及/或軟體可包含與快取記憶體113之一快取一致性協定相關聯之一無效引擎116。在一些實施例中,快取控制器115可(例如)藉由執行指令及/或執行邏輯運算而經組態以維持與快取記憶體113中之快取線(亦被稱為「快取區塊」)相關聯之一快取一致性協定。一快取一致性協定可為一MESI (經修改之獨有共享無效)或基於目錄之快取一致性協定等等。實施例可不限制於此等實例。如本文所使用,一快取線(「快取區塊」)意欲意謂用於快取儲存之一基礎單元且可含有資料之多個位元組/字組。在一或多個實施例中,快取控制器可將元資料(諸如,區塊選擇元資料及/或子列選擇元資料)加入至一快取線。例如,區塊選擇元資料可實現至快取線之一偏移且子列選擇元資料可實現至一設置相關快取之多個設置。在一個實施例中,區塊選擇提供至一動態隨機存取記憶體(DRAM)中之一頁之一偏移。 為了瞭解改良之系統操作技術及用於實施此等技術之裝置,其後跟著一位元向量運算記憶體器件(例如,PIM器件)及相關聯之主機之一討論。根據各種實施例,可將指令(例如,PIM命令(微碼指令))發送至具有實施邏輯運算之PIM能力之一記憶體器件。該PIM器件可儲存一記憶體陣列內之PIM命令且可由記憶體器件上之一控制器執行而不必利用一主機通過一匯流排向後及向前轉移命令。可在記憶體器件上執行PIM命令以在記憶體器件上執行邏輯運算,此可比在主機上執行邏輯運算用時更少且使用更少電力來完成。另外,可藉由減少圍繞一運算系統移動以處理請求之記憶體陣列操作(例如,讀取、寫入等等)之資料量來實現時間及電力節省優勢。 本發明之數個實施例相較於先前系統(諸如先前PIM系統及具有一外部處理器(例如,定位於一記憶體陣列外部,(諸如)位於一分離積體電路晶片上之一處理資源)之系統)可提供與執行運算功能相關聯之改良之平行性及/或減少之電力消耗。例如,數個實施例可在(例如)不將資料經由一匯流排(例如,資料匯流排、位址匯流排、控制匯流排)轉移至記憶體陣列及感測電路外部之情況下提供執行完全完整之運算功能,諸如整數加、減、乘、除及CAM (內容可定址記憶體)。此等運算功能可涉及執行數個邏輯運算(例如邏輯功能,諸如AND、OR、NOT、NOR、NAND、XOR等等)。然而,實施例不限制於此等實例。例如,執行邏輯運算可包含執行數個非布林(Boolean)邏輯運算,諸如複製、比較、銷毀等等。 在先前做法中,可將資料自陣列及感測電路(例如,經由包括輸入/輸出(I/O)線之一匯流排)轉移至可包括ALU電路及/或經組態以執行合適邏輯運算之其他功能單元電路之一處理資源,諸如一處理器、微處理器及/或運算引擎。然而,將資料自一記憶體陣列及感測電路轉移至此(等)處理資源可涉及顯著電力消耗。即使該處理資源位於與記憶體陣列相同之一晶片上,在將陣列外部之資料移動至運算電路中時可消耗顯著電力,此可涉及執行一感測線(在本文中可被稱為一數位線或資料線)、位址存取(例如,啟動一行解碼信號)以自I/O線(例如,局部I/O線)上之感測線轉移資料,從而將資料移動至陣列周邊,且將資料提供至運算功能。 此外,(若干)處理資源(例如,運算引擎)之電路可不符合與一記憶體陣列相關聯之間距規則。例如,一記憶體陣列之胞可具有一4F2
或6F2
胞尺寸,其中「F」係對應於該等胞之一特徵尺寸。因而,與先前PIM系統之ALU電路相關聯之器件(例如,邏輯閘)可不能夠與記憶體胞形成於間距上,此可影響(例如)晶片尺寸及/或記憶體密度。本發明之數個實施例包含與記憶體胞之一陣列形成於間距上且能夠執行運算功能之感測電路。 再者,圖1A係根據本發明之數個實施例之為包含一記憶體器件120之一運算系統100之形式之一裝置之一方塊圖。以上詳細討論主機110、邏輯資源112、快取記憶體113及快取控制器。圖1A中展示之記憶體器件120可包含一記憶體控制器140、具有感測電路150及/或邏輯電路170之一記憶體陣列130。本文使用之此等元件之各者亦可分開稱為一「裝置」。 圖1A展示包含耦合(例如,連接)至記憶體器件120之一主機110之系統100,記憶體器件120包含一記憶體陣列130。主機110可為一主機系統,諸如一個人膝上型電腦、一桌上型電腦、一數位相機、一智慧型電話或一記憶體卡讀取器以及各種其他類型之主機。主機110可包含一系統母板及/或背板且可包含數個處理資源(例如,一或多個處理器、微處理器或一些其他類型之控制電路)。系統100可包含分離積體電路或主機110及記憶體器件120兩者可位於相同積體電路上。系統100可為(例如)一伺服器系統及/或一高效能運算(HPC)系統及/或其之一部分。儘管圖1A (及後來圖1B)中展示之實例繪示具有一馮·諾依曼(Von Neumann)架構之一系統,但本發明之實施例可在非馮·諾依曼架構中實施,該非馮·諾依曼架構可不包含通常與一馮·諾依曼架構相關聯之一或多個組件(例如,CPU、ALU等等)。 記憶體陣列130可為(例如)一DRAM陣列、SRAM陣列、STT RAM陣列、PCRAM陣列、TRAM陣列、RRAM陣列、NAND快閃陣列及/或NOR快閃陣列。陣列130可包括配置成由存取線(在本文中可被稱為字線或選擇線)耦合之列及由感測線(在本文中可被稱為資料線或數位線)耦合之行之記憶體胞。儘管在圖1中展示一單一陣列130,但實施例不限制於此。例如,記憶體器件120可包含數個陣列130 (例如,DRAM胞、NAND快閃胞等等之數個記憶體庫)。 記憶體器件120包含鎖存透過一資料匯流排156 (例如,一I/O匯流排)通過I/O電路144提供之位址信號之位址電路142。可將狀態及/或例外狀態資訊自記憶體器件120上之記憶體控制器140提供至包含一頻帶外匯流排157 (圖1B中展示)之一通道控制器143 (圖1B中展示),繼而可將狀態及/或例外狀態資訊自記憶體器件120提供至主機110。位址信號通過位址電路142接收且由一列解碼器146及一行解碼器152解碼以存取記憶體陣列130。藉由使用感測電路150感測資料線上之電壓及/或電流變化而自記憶體陣列130讀取資料。感測電路150可自記憶體陣列130讀取且鎖存一頁(例如,列)資料。I/O電路144可用於通過資料匯流排156與主機110雙向資料通信。使用寫入電路148來將資料寫入至記憶體陣列130。 記憶體控制器140 (例如,記憶體庫控制邏輯及/或定序器)解碼來自主機110之由控制匯流排154 (例如,一位址及控制(A/C)匯流排)提供之信號。此等信號可包含用於控制在記憶體陣列130上執行之操作(包含資料讀取、資料寫入及資料擦除操作)之晶片啟用信號、寫入啟用信號及位址鎖存信號。在各種實施例中,記憶體控制器140負責用於執行來自主機110之指令。記憶體控制器140可為一狀態機、一定序器或一些其他類型之控制器。控制器140可控制一陣列(例如,記憶體陣列130)中偏移資料(例如,向右或向左)。 以下進一步描述感測電路150之實例。例如,在數個實施例中,感測電路150可包括數個感測放大器及數個運算組件,該數個運算組件可充當且在本文中被稱為一累加器且可用於(例如,對與互補資料線相關聯之資料)執行邏輯運算。 在數個實施例中,可使用感測電路150利用儲存於陣列130中作為輸入之資料來執行邏輯運算且將該等邏輯運算之結果返回儲存至陣列130而非經由一感測線位址存取轉移資料(例如,不啟動一行解碼信號)。因而,可使用感測電路150且在感測電路150內而非由該感測電路外部之處理資源執行(或與其相關聯)各種運算功能。例如,可在不使用與一主機110及/或位於器件120上(例如,位於控制器140或其他地方上)之其他處理電路(諸如ALU電路)相關聯之一處理器之情況下執行運算功能。 在各種先前做法中,例如,可經由感測電路自記憶體讀取與一運算元相關聯之資料且經由I/O線(例如,經由局部I/O線及/或全域I/O線)將該資料提供至外部ALU電路。外部ALU電路可包含數個暫存區且將使用該等運算元執行運算功能,且結果將經由I/O線返回轉移至陣列。相比而言,在本發明之數個實施例中,感測電路150經組態以對儲存於記憶體陣列130中之資料執行邏輯運算且將結果返回儲存至記憶體陣列130而不啟用耦合至感測電路150之一I/O線(例如,一局部I/O線)。感測電路150可與陣列之記憶體胞形成於間距上。額外周邊感測放大器、暫存器、快取及/或資料緩衝(例如邏輯電路170)可耦合至感測電路150且可用於儲存(例如,快取及/或緩衝)本文描述之運算之結果。 因而,在數個實施例中,陣列130及感測電路150外部之電路無需執行運算功能,因為感測電路150可執行合適邏輯運算以在不使用一外部處理資源之情況下執行此等運算功能。因此,可使用感測電路150在至少一些程度上互補及/或替換此一外部處理資源(或此一外部處理資源之至少頻寬消耗)。實質上,當記憶體控制器120對具有區塊選擇162及子列選擇163元資料結構之一快取線160接收且操作時,陣列130及感測電路可根據實施例充當為一運算啟用快取。 然而,在數個實施例中,可使用感測電路150來執行除由一外部處理資源(例如,主機110)執行之邏輯運算外之邏輯運算(例如以執行指令)。例如,主機110及/或感測電路150可限制於僅執行某些邏輯運算及/或特定數目個邏輯運算。 啟用一I/O線可包含啟用(例如,接通)具有耦合至一解碼信號(例如,一行解碼信號)之一閘極及耦合至該I/O線之一源極/汲極之一電晶體。然而,實施例不限制於不啟用一I/O線。例如,在數個實施例中,可使用感測電路(例如150)來執行邏輯運算而不啟用陣列之行解碼線;然而,可啟用(若干)局部I/O線以將一結果轉移至一適合位置而非返回至陣列130 (例如,至一外部暫存器)。 圖1B係根據本發明之數個實施例之為包含經由一通道控制器143耦合至一主機110之複數個記憶體器件120-1,...,120-N之一運算系統100之形式之另一裝置架構之一方塊圖。如本文所使用,一通道控制器143意欲包含具有硬體(例如,為一特定應用積體電路(ASIC)之形式)及/或韌體之邏輯以實施一或多個特定功能。一通道控制器之一個實例可包含一狀態機。另一實例可包含一嵌入式處理資源。通道控制器143包含將輸入/輸出(I/O)任務處理至一器件之邏輯。 在至少一實施例中,通道控制器143可以一積體方式且以一模組118 (例如,形成於具有複數個記憶體器件120-1,...,120-N之相同晶片上)之形式耦合至複數個記憶體器件120-1,...,120-N。在一替代實施例中,通道控制器143可與(例如)形成於與複數個記憶體器件120-1,...,120-N分離之一晶片上之主機110 (由虛線111繪示)整合。通道控制器143可經由一控制匯流排154耦合至複數個記憶體器件120-1,...,120-N之各者,如圖1A中所描述,通道控制器143繼而可耦合至主機110。通道控制器143亦可經由一資料匯流排156耦合至複數個記憶體器件120-1,...,120-N之各者,如圖1A中所描述,通道控制器143繼而可耦合至主機110。另外,通道控制器143可經由與經組態以將狀態、例外狀態及其他資料資訊報告至通道控制器143以與主機110交換之一高速介面(HSI) 141相關聯之一頻帶外(OOB)匯流排157而耦合至複數個記憶體器件120-1,...,120-N之各者。 根據各種實施例,通道控制器143耦合至複數個記憶體器件120-1,...,120-N且經組態以回應於接收一位元向量運算請求而使得將一整體無效命令發送至一快取記憶體系統。在至少一實施例中,通道控制器143包含經組態以回應於接收一位元向量運算請求而產生該整體無效命令之邏輯160。另外,通道控制器143可自與複數個記憶體器件120-1,...,120-N之各者中之一記憶體庫仲裁器145相關聯之一高速介面(HSI)(在本文中亦被稱為一狀態通道介面) 141接收狀態及例外狀態資訊。在圖1B之實例中,複數個記憶體器件120-1,...,120-N之各者可包含一記憶體庫仲裁器145以定序且控制與複數個記憶體庫(例如,記憶體庫0 (0)、記憶體庫1 (1),...,記憶體庫6 (6)、記憶體庫7 (7)等等)相關聯之資料。複數個記憶體庫(記憶體庫0,...,記憶體庫7)之各者可包含一記憶體控制器140及其他組件,包含記憶體胞130之一陣列及感測電路150、邏輯電路170等等,如結合圖1A所描述。 例如,複數個記憶體器件120-1,...,120-N中之複數個記憶體庫(記憶體庫0,...,記憶體庫7)之各者可包含鎖存通過一控制匯流排154提供之位址信號之位址電路142且可包含接收通過一資料匯流排156提供之資料之I/O電路144。可將狀態及/或例外狀態資訊自記憶體器件120上之記憶體控制器140提供至通道控制器143。通道控制器143經組態以回應於接收一位元向量運算請求而使得一整體無效命令發送至一快取記憶體系統且可使用控制匯流排154及/或OOB匯流排157在複數個記憶體器件120-1,...,120-N與主機110之間通信。 針對複數個記憶體庫(例如,記憶體庫0,...,記憶體庫7)之各者,位址信號可通過位址電路142接收且由一列解碼器146及一行解碼器152解碼以存取記憶體陣列130。藉由使用感測電路150感測資料線上之電壓及/或電流變化而自記憶體陣列130讀取資料。感測電路150可自記憶體陣列130讀取且鎖存一頁(例如,列)資料。I/O電路144可用於通過資料匯流排156與主機110雙向資料通信。使用寫入電路148將資料寫入至記憶體陣列130且可使用OOB匯流排157將狀態、例外狀態及其他資料資訊報告至通道控制器143。 通道控制器143可包含一或多個局部緩衝器161以儲存指令且可包含邏輯160以分配各自記憶體庫之陣列中之複數個位置(例如,子陣列或子陣列之部分)以儲存與複數個記憶體器件120-1, . . ., 120-N之各者之運算相關聯之各種記憶體庫之記憶體庫命令及引數(PIM命令)。通道控制器143可將命令(例如,PIM命令)發送至複數個記憶體器件120-1,...,120-N以儲存一記憶體器件之一給定記憶體庫內之彼等程式指令。 根據實施例,通道控制器143可包含邏輯160以將具有由一位元向量運算記憶體器件(例如,PIM器件)使用之一位元長度之位元向量位址轉換成具有由一快取記憶體系統使用之一不同位元長度之快取線位址。此外,通道控制器143可包含邏輯160以使得將一整體無效命令發送至一快取記憶體系統。由如圖1A中展示之與一主機110相關聯之快取記憶體113、邏輯資源112、快取控制器115及/或無效引擎116表示一快取記憶體系統(如本文使用之術語)之一實例。如以上所提及,術語「整體無效」意欲意謂在多個位置(例如,多個快取線)中對無效資訊定址且操作而不必將無效指令分開定址且傳遞至該多個位置之各者之一能力。該整體無效命令包含使得快取記憶體系統將快取項目標記為無效(亦被稱為「無效」快取項目或「快取無效」操作)之指令。 使得一快取項目或整個快取線無效包括刪除一快取項目或線之內容以騰出空間用於快取記憶體中之其他用途,例如保持與PIM運算相關聯之PIM命令及/或PIM資料。在本文描述之一些實施例中,一快取無效操作騰出在一快取記憶體中與正在一PIM器件上執行之運算搭配使用之空間。如以上所提及,使得一快取項目或整個快取線無效在時間、電力及資源使用上比沖洗一快取線或整個快取記憶體更便宜。再者,沖洗快取記憶體涉及將快取項目返回寫入至記憶體且接著刪除該等快取項目以騰出空間用於該快取記憶體中之其他用途,例如PIM運算。使得一快取項目或整個快取線無效額外比將特定頁標記為不可快取(在快取記憶體中不可使用)更便宜,其僅消耗快取記憶體系統上之有價值空間。 例如,本文揭示之實施例可有利地使用一單一整體無效命令允許一多級快取記憶體系統中之多個快取線無效,該單一整體無效命令經組態以由該快取記憶體系統接收。在一項實例中,一末級快取(LLC)可接收可由各快取級內之無效引擎共用且操作之整體無效命令以使得可位於該快取級中之任何快取線無效。依此方式,可保存頻寬資源、可增加操作速度且可減少電力消耗。另外,依此方式,可遵循由快取記憶體系統使用之一快取一致性協定(例如,MESI (經修改之獨有共享無效)或基於目錄之快取一致性協定)且同時避免浪費及昂貴(在快取資源、電力消耗及時間方面)之一整個快取級之沖洗及/或避免由軟體、韌體及/或邏輯(由一快取記憶體系統使用)將整頁快取標記為「不可快取」。此外,實施例可避免發展努力將具有一個位元長度之位元向量之一基於位元向量之運算器件(例如,PIMRAM器件)鏈接至具有一不同位元長度之一快取線尺寸之一快取記憶體系統之昂貴架構。例如,根據諸多各種快取一致性協定及系統將一PIMRAM架構標記為完全知道快取一致性協定可係一十分複雜及昂貴之架構設計問題(具體問題具體分析)。 如以上結合圖1A所描述,記憶體陣列130可為(例如)一DRAM陣列、SRAM陣列、STT RAM陣列、PCRAM陣列、TRAM陣列、RRAM陣列、3D XPoint陣列、NAND快閃陣列及/或NOR快閃陣列。陣列130可包括配置成由存取線(在本文中可被稱為字線或選擇線)耦合之列及由感測線(在本文中可被稱為資料線或數位線)耦合之行之記憶體胞。 如圖1A中,與一給定記憶體器件120-1,...,120-N中之任何特定記憶體庫(記憶體庫0,...,記憶體庫7)相關聯之一記憶體控制器140 (例如,記憶體庫控制邏輯及/或定序器)可解碼來自主機110之由控制匯流排154提供之信號。此等信號可包含晶片啟用信號、寫入啟用信號及位址鎖存信號,其等用於控制對儲存於記憶體陣列130中之記憶體胞上之資料執行之運算,包含資料讀取、資料寫入及資料擦除操作以及邏輯布林運算(諸如AND、OR、XOR等等)。在各種實施例中,記憶體控制器140可負責用於執行來自一主機110及/或記憶體器件120上之任何地方之指令。又,如以上所提及,記憶體控制器140可為一狀態機、一定序器或一些其他類型之控制器。例如,控制器140可控制在一陣列(例如,記憶體陣列130)中偏移資料(例如,向右或向左)。 圖1C係根據本發明之數個實施例之繪示一PIM器件120、一通道控制器143與具有多個處理資源112-1,...,112-M及多個快取級113-1,...,113-N之一主機110之間之一訊息交換之一方塊圖。在圖1C中展示之實例繪示「M」個處理核,其中各處理核具有一第一級快取,例如113-1-1,...,113-1-M。然而,實施例不限制於特定數目個處理核或與彼等處理核相關聯之第一級快取。僅為繪示目的給出可變之「M」且該可變之「M」可與其他可變數字表示方法(「N」)相同或不同。如以上所提及,快取之各級可與一快取控制器(例如,圖1A及圖1B中展示之115)介接且一給定快取級可與該級快取之在硬體(如一特定應用積體電路(ASIC))及/或韌體中提供之一無效引擎(例如,狀態機) 116-1,...,116-N相關聯。在圖1C之實例中,針對與處理核112-1,...,112-M相關聯之各級一個快取(L1)展示一無效引擎116-1,...,116-N。 如圖1C之實例中所展示,一通道控制器143可耦合至主機110且耦合至一記憶體器件120。通道控制器143可包含以上結合圖1B描述之相同之一通道控制器143。記憶體器件120可包含一能夠進行位元向量運算之記憶體器件(例如,PIM器件120),其包含記憶體胞130之一陣列及如結合本文實施例所描述之相同之一記憶體控制器140。 如圖1C中所展示,通道控制器143可自一主機110及/或自位元向量運算記憶體器件(例如,PIM器件)接收一基於位元向量之運算請求182 (例如,一PIM命令、PIM向量運算指令)。通道控制器143經組態以具有為硬體及/或韌體形式之邏輯(例如,圖1B中展示之邏輯160)以尋找用於在基於位元向量之運算請求中涉及之位元向量(例如,源位元向量及目的地位元向量)之一基礎位址。例如,通道控制器143可使用邏輯識別用於容納於接收為位元向量運算請求182之一部分之一封裝之域中之一位元向量運算記憶體器件之一位元向量虛擬位址。通道控制器143可進一步經組態以基於識別之位元向量虛擬位址而使用邏輯來使得一整體無效命令184發送至與主機110相關聯之一快取記憶體系統。根據本文描述之實施例,該整體無效命令184可由通道控制器143產生且包括一基礎位址及關於一基於快取之記憶體系統之一長度。 在一些實施例中,如圖1C之實例中所展示,通道控制器143經組態以具有根據一MESI (經修改之獨有共享無效)快取一致性協定將整體無效命令184發送186 (例如廣播)至與一主機110相關聯之所有快取級113-1,...,113-N之邏輯。一旦接收整體無效命令184後,與各快取級113-1,...,113-N相關聯之一無效引擎116-1,...,116-N即將對該整體無效命令操作以使得各自快取級中之相關快取線無效。依此方式,一單一快取無效請求可使得一主機110之快取記憶體系統中之快取記憶體之各種快取級113-1,...,113-N處之多個連續快取線無效,該主機110含有表示一PIM器件120中之一位元向量或形狀之資訊(例如,資料)。 在一替代實施例中,通道控制器143可經組態以將整體無效命令184發送至與主機110相關聯之一末級快取(LLC) 113-N,在主機110處,與LLC 113-N相關聯之一無效引擎可根據一基於目錄之快取一致性協定對整體無效命令184操作以使得LLC 113-N中之相關快取線無效且進一步將該整體無效命令184發送(例如配送)至一下一級快取(例如113-3等等)。實施例不限制於此等實例。 在至少一實施例中,通道控制器143可經組態具有回應於接收一「加」位元向量運算請求而依以下方式產生一整體無效命令184之邏輯。通道控制器143可自主機及/或自含有資訊域之一位元向量運算記憶體器件(例如,PIM器件)接收一指令封裝。在一項實例中,該資訊域可包含ADDVEC DEST、SOURCE0、SOURCE1及VECLEN。一指令封裝中之ADDVEC DEST、SOURCE0、SOURCE1及VECLEN域之長度可係數目可變之位元且表示將在一運算(例如,一位元向量運算)中使用之各種位址。在此實例中,含有ADDVEC DEST、SOURCE0、SOURCE1及VECLEN域之封裝可表示由一位元向量運算記憶體器件(例如,一PIM器件)接收之一減加位元向量指令,該指令使得位於一PIM器件中之SOURCE0及SOURCE1虛擬位址處之SOURCE0及SOURCE1位元向量值相加且將該加法運算中之一所得值儲存至由一ADDVEC DEST域中至指令封裝之一位址指示之一目的地位元向量虛擬位址。 SOURCE0、SOURCE1、DEST域可皆含有表示一位元向量運算記憶體器件(例如,PIM器件)中與位元向量運算請求相關聯之一位元向量之一起始位置位址之位元向量「基礎位址」。在至少一實例性實施例中,VECLEN可為表示與一位元向量運算請求相關聯之一位元向量之一位元長度之一整數。根據各種實施例,由VECLEN給出之整數可以位元組、元件(其中一元件具有一固定或可變位元長度)、列(例如,PIM器件之一陣列中之列,該列可具有一已知位元長度)為單位,或以一快取線(例如,與一主機或與一PIM器件快取記憶體系統相關聯之一快取線,其中該快取線可具有一已知位元長度)為單元。實施例不限制於此等實例。 在一個實例性實施例中,通道控制器143包括經組態以產生關於各位元向量(與一位元向量運算請求相關聯)之一整體無效命令之邏輯(例如,圖1B中展示之邏輯160)。例如,在以上給出之「加法」位元向量運算請求實例中,通過參考一DEST位元向量、一SOURCE0位元向量及一SOURCE1位元向量,與通道控制器143相關聯之邏輯可經組態以產生三(3)個整體無效命令且將彼等無效命令發送至主機110及/或一位元向量運算記憶體器件(例如,PIM器件)以由在主機110及/或位元向量運算記憶體器件上使用之一快取一致性協定使用以將主機110之基於快取之系統或其他器件鏈接至一位元向量運算記憶體器件120上之一基於位元向量之運算。例如,其他器件可為對不同於快取記憶體系統之一快取線位元長度之位元向量長度操作之一器件。 為了完成以上動作,與通道控制器143相關聯之邏輯可將容納於位元向量運算請求中之DEST、SOURCE0及SOURCE1位元向量位址尺寸轉換為關於一給定快取記憶體系統之快取線尺寸位址。快取記憶體系統可為一主機之快取記憶體系統或另一快取記憶體系統之快取記憶體系統,例如位元向量運算記憶體器件120上之一快取記憶體系統。實施例不限制於與一基於特定快取之記憶體系統相關聯之一特定快取線位址尺寸。例如,一主機可具有一128位元組(一千位元(1K))快取線位址尺寸。此實例亦可表達為一128位元組快取線位址尺寸。在此實例中,位元向量運算記憶體器件120 (例如,PIM器件)可具有一64位元虛擬位址空間。為了轉換PIM器件120之DEST、SOURCE0及SOURCE1位元向量位址尺寸,通道控制器可使用0xFFFFFFFFFFFFFF80之一十六進位遮罩值對位元向量基礎位址之各位元值執行一邏輯AND運算以產生一正確快取線位址尺寸。 再者,此係有利的,因為若一位元向量容納於多個快取線上之快取記憶體系統中,則快取記憶體系統將不必沖洗整個快取或將特定頁標記為「不可快取」,此在運算時間、電力及頻寬消耗方面係昂貴的。 可將表示位元長度值(在此實例中係「位元組」)之VECLEN整數值轉換為將基於以上對準無效之數個快取線。給定一位元向量位址ADDR (在此實例中係DEST、SOURCE0或SOURCE1),則可(例如)由與通道控制器相關聯之邏輯根據以下算式運算將係無效之數個快取線: 若(((VECLEN % 128) == 0)且(ADDR & 0xFFFFFFFFFFFFFF80) == 0)) NUMLINES = VECLEN/128; 否則 NUMLINES = VECLEN/128 +1; 接著,通道控制器143可使用一基礎位址ADDR (例如,用於DEST、SOURCE0或SOURCE1之基礎位址)及NUMLINES產生該整體無效命令作為發送至(例如)與主機110、PIM器件快取系統等等相關聯之一基於給定快取之記憶體系統之快取一致性協定方案中之一路徑之一引數。在向量不係快取線數目之倍數之情況中,NUMLINES允許該向量之一部分之各快取線之無效。可將此整體無效命令發送至可為快取記憶體(例如,另一器件、PIM器件等等)之任何快取記憶體系統。與接收該整體無效命令之一處理資源相關聯之各快取級113-1,...,113-N可使用一相關聯之無效引擎(例如,狀態機) 116-1,...,116-N來產生用於可在各自快取級113-1,...,113-N中快取之任何線之一快取無效。舉例而言,且不具有限制性, 其中(i=0;i< numlines;i++ {若( M(ADDR + i*128)係在此快取中) {無效且若應快取一致性協定政策需要,則沖洗線(例如,若該線係髒的)}} 如圖1C中所展示,根據快取記憶體系統之快取一致性協定,在無效運算結束時,(例如)主機110上之快取記憶體系統可回應於通道控制器143一應答187,即無效完成。根據一些實施例,回應於接收所有無效已完成之應答187之通道控制器143,通道控制器143可在188處指導一位元向量運算記憶體器件120執行與由通道控制器143接收之位元向量運算請求相關聯之一位元向量運算。例如,該通道控制器可將一指令188發送至位元向量運算記憶體器件120 (例如,PIM器件)上之一記憶體控制器140 (例如,定序器)以開始在位元向量運算請求中指示之位元向量運算(例如,PIM向量運算)。在各種實施例中,通道控制器143可使用如圖1B中展示之一控制器154及/或資料匯流排156指導一PIM器件120開始位元向量運算。 如讀者將明白,在至少一替代實施例中,通道控制器143可產生一整體無效命令且藉由在基於快取之記憶體系統中計算一位址範圍以使其無效而發送該整體無效命令以由一快取一致性協定使用以將一基於快取之記憶體系統鏈接至一位元向量運算記憶體器件上之一基於位元向量之運算。此做法之一個實例性實施例可包括根據以下計算產生位址範圍以使其無效之通道控制器。 包含(ADDR/快取線尺寸)...((ADDR + VECLEN+1)/快取線尺寸)排斥。 在額外實施例中,可使用與通道控制器143相關聯之邏輯(例如,圖1B中之160)來追蹤一位元向量運算記憶體器件120上之進行中之位元向量運算以操作為一基於交易之記憶體。例如,通道控制器143可通過位元向量(例如,以上實例中之ADDR至ADDR+(VECLEN*128))追蹤進行中之PIM運算以根據快取一致性協定修改回應於至一快取記憶體系統之存取請求之行為。 因此,根據各種揭示之實施例,用於操作一記憶體之一方法可包含由通道控制器產生且發送至快取記憶體系統之整體無效命令,其包括至快取記憶體系統之暫時拒絕「獨有存取」(例如,在一MESI快取一致性協定中)或當執行PIM位元向量運算時更新至快取記憶體之一無效部分之請求之指令。該等整體無效命令指令亦可包含暫停對快取記憶體之一無效部分之獨有存取或更新請求直至PIM位元向量運算完成或可中斷之指令。 此外,該等整體無效命令指令可包含當執行PIM位元向量運算時允許至快取記憶體之一無效部分之讀取存取之指令。該等整體無效命令指令可包含將元資料加入至快取記憶體系統之一快取一致性協定且將一快取線標記為在任何地方使用且不共用之指令。該等整體無效命令指令可包含停止PIM位元向量運算以允許完成一快取操作之指令。又,該等整體無效命令指令可包含停止PIM位元向量運算、重新排程該PIM位元向量運算、暫時提供至請求之快取資料之存取且產生至快取記憶體系統之一新整體無效命令以恢復PIM位元向量運算之指令。然而,實施例不限制於此等實例。 圖1D係根據本發明之數個實施例之至一記憶體器件之一記憶體庫121-1之一方塊圖。例如,記憶體庫121-1可表示至一記憶體器件之一實例性記憶體庫,諸如圖1B中展示之記憶體庫0,...,記憶體庫7 (121-0,...,121-7)。如圖1D中所展示,一記憶體庫架構可包含複數個主要記憶體行(水平展示為X),例如一實例性DRAM記憶體庫中之16,384行。另外,記憶體庫121-1可分成由一資料路徑之放大區域分離之區段123-1、123-2,...,123-N。記憶體庫區段123-1,...,123-N之各者可包含複數個列(垂直展示為Y),例如,各區段在一實例性DRAM記憶體庫中可包含16,384列。實例性實施例不限制於本文描述之行及列之實例性水平及/或垂直定向或其之實例性數字。 如圖1D中所展示,記憶體庫架構可包含邏輯電路170,其包含感測放大器、暫存器、耦合至記憶體庫區段123-1,...,123-N之快取及資料緩衝。邏輯電路170可提供與記憶體控制器140相關聯之快取(例如(諸如)與圖1A中展示之感測電路150及陣列130相關聯之邏輯電路170)之另一形式。此外,如圖1D中所展示,記憶體庫架構可與記憶體庫控制器(例如,記憶體控制器140)相關聯。在實例中,圖1D中展示之記憶體庫控制器可表示由圖1A及圖1B中展示之記憶體控制器140體現且容納於記憶體控制器140中之功能之至少一部分。 圖1E係根據本發明之數個實施例之至一記憶體器件之一記憶體庫121之另一方塊圖。例如,記憶體庫121可表示至一記憶體器件之一實例性記憶體庫,諸如圖1B中展示之記憶體庫0,...,記憶體庫7 (121-0,...,121-7)。如圖1E中所展示,一記憶體庫架構可包含一位址/控制(A/C)路徑,例如,耦合至一控制器140之控制匯流排153。再者,圖1E中展示之控制器140在實例中可表示由圖1A及圖1B中展示之記憶體控制器140體現且容納於記憶體控制器140中之功能之至少一部分。再者,如圖1C中所展示,一記憶體庫架構可包含在一指令(例如,程式指令(PIM命令))中耦合至複數個控制/資料暫存器之一資料路徑(例如,匯流排155)、讀取路徑且耦合至複數個記憶體庫區段,例如一特定記憶體庫121中之記憶體庫區段123。 如圖1E中所展示,一記憶體庫區段123可進一步再分成複數個子陣列125-1、125-2,...,125-N,該複數個子陣列再次被如圖1A中展示且進一步結合圖2至圖4描述之複數個感測電路及邏輯150/170分離。在一個實例中,一記憶體庫區段121可分為十六個(16)子陣列。然而,實施例不限制於此實例性數字。 圖1E繪示耦合至一寫入路徑149且耦合至記憶體庫123中之子陣列125-1,...,125-N之各者之一記憶體庫控制器/定序器140。替代地或另外,圖1A中展示之邏輯電路170可用作為一指令快取,例如,用於將擷取之指令局部(「按一定間距」)快取及/或重新快取至一特定記憶體庫。在至少一實施例中,複數個子陣列125-1,...,125-N及/或複數個子陣列之部分可被稱為用於將程式指令(例如,PIM命令)及/或常數資料儲存至一記憶體器件中之一記憶體庫123之複數個位置。 根據本發明之實施例,記憶體控制器140 (例如,圖1B中展示之記憶體庫控制器/定序器140)經組態以自一主機(例如,圖1A中之主機110)接收指令及/或常數資料之一區塊。替代地,指令及/或常數資料之區塊可自一通道控制器143接收至記憶體控制器140,該通道控制器143與主機110整合或與該主機分離,例如以一模組118之形式與如圖1B中展示之複數個記憶體器件120-1,...,120-N整合。 指令及/或資料之區塊可包含一組程式指令,例如,PIM命令及/或常數資料(例如,針對PIM計算設置之資料)。根據實施例,記憶體控制器140經組態以儲存來自主機110及/或通道控制器143之指令及/或常數資料之區塊,主機110及/或通道控制器143與一陣列(例如,圖1A中展示之陣列130)及/或一記憶體庫(例如,圖1B、圖1D及圖1E中展示之記憶體庫121-0,...,121-7)之記憶體庫區段123 (圖1D/圖1E中展示)相關聯。記憶體控制器140 (例如,包含為硬體電路及/或特定應用積體電路(ASIC)形式之邏輯)進一步經組態以將程式指令路由至感測電路(包含一運算組件,諸如圖1A中之150展示之感測電路及圖2及圖3中之運算組件231及331)以執行邏輯功能及/或運算,例如本文描述之程式指令執行。 如圖1E中所展示,在至少一實施例中,記憶體控制器140經組態以使用DRAM協定及DRAM邏輯及電介面來自主機110及/或通道控制器143接收程式指令及/或常數資料且將程式指令及/或常數資料路由至感測電路150、250及/或350之一運算組件。接收至記憶體控制器140之程式指令及/或常數資料可由一程序員預先解決(例如,預先界定)及/或提供至主機110及/或通道控制器143。 在一些實施例中,如圖1B中所見,記憶體胞之陣列(圖1A中之130)包含記憶體胞120-1,...,120-N之複數個記憶體庫且記憶體器件120包含耦合至複數個記憶體庫120-1,...,120-N之各者之一記憶體庫仲裁器145。在此等實施例中,各記憶體庫仲裁器經組態以自記憶體庫仲裁器145接收關於一特定記憶體庫之程式指令及/或常數資料之一指令區塊。接著,記憶體控制器140可將接收之指令區塊中之指令及/或常數資料儲存至特定記憶體庫之由主機110及/或通道控制器143分配之複數個位置。例如,主機110及/或通道控制器143經組態以位址平移記憶體庫仲裁器145之複數個位置以將該等複數個位置指派至記憶體器件120之記憶體庫。 在至少一實施例中,如圖1E中所展示,複數個位置包含DRAM記憶體庫121-1,...,121-7中之數個子陣列125-1,...,125-N及/或數個子陣列之部分。根據實施例,各記憶體控制器140可經組態以(例如)在A/C匯流排154上自主機110及/或通道控制器143接收快取線160以儲存接收至一給定記憶體庫121-1,...,121-7之快取區塊。接著,記憶體控制器140經組態以(例如)在具有控制及資料暫存器151之讀取資料路徑155上自特定記憶體庫之複數個位置擷取快取區塊資料且使用感測電路150之運算組件執行。記憶體控制器140可將擷取之快取區塊局部快取至特定記憶體庫(例如,陣列130、記憶體庫區段123及/或子陣列125)以處理支路、迴路、容納於指令區塊執行內之邏輯及資料運算。又,記憶體控制器140可根據需要重新快取擷取之指令。因此,DRAM部分上之專屬指令記憶體(快取)之尺寸不必針對一PIM系統增大。 在一些實施例中,複數個記憶體器件120-1,...,120-N耦合至一主機110及/或通道控制器143。在本文中,主機110及/或通道控制器143可(例如)通過一資料匯流排156將快取區塊發送至複數個記憶體器件120-1,...,120-N之一合適記憶體庫仲裁器145-1,...,145-N。 此外,根據實施例,記憶體控制器140經組態以使得一記憶體庫121可接收一後續快取線160,該後續快取線160與關於特定記憶體庫之另一快取區塊相關聯且當(例如)記憶體控制器140對另一先前擷取之快取區塊平行操作時使用接收之快取線160中之區塊選擇162及子列選擇163元資料資料結構將快取區塊儲存且存取至特定記憶體庫之複數個位置及/或自該複數個位置儲存且存取快取區塊。因此,本文描述之實施例無需等待將自一主機110及/或通道控制器143接收之快取區塊存取指令(例如,PIM命令)之未來或一下一設置。相反,本文描述之裝置及方法器件促進充當為快取區塊之一DRAM部分中之一末層快取(LLC)之記憶體器件120且可促進直接位於晶片上且與PIM系統中之記憶體器件120 (例如,PIMRAM)有一定間距之一運算啟用快取。 如讀者將明白且如在圖2至圖4之實例中更詳細地描述,記憶體控制器140經組態以藉由控制感測電路150 (包含運算組件251及/或351)而控制程式指令(例如,PIM命令)之執行以實施邏輯功能,諸如AND、OR、NOT、NAND、NOR及XOR邏輯功能。另外,記憶體控制器140經組態以控制感測電路150執行非布林邏輯運算(包含複製、比較及擦除操作)以作為執行程式指令(例如,PIM命令)之一部分。 圖2係根據本發明之數個實施例之繪示感測電路250之一示意圖。感測電路250可對應於圖1A中展示之感測電路150。一記憶體胞包括一儲存元件(例如,電容器)及一存取裝置(例如,電晶體)。例如,一第一記憶體胞包括電晶體202-1及電容器203-1,且一第二記憶體胞包括電晶體202-2及電容器203-2等等。在此實例中,記憶體陣列 230係1T1C (一個電晶體一個電容器)記憶體胞之一DRAM陣列。在數個實施例中,記憶體胞可係可破壞之讀取記憶體胞(例如,讀取儲存於該胞中之資料會銷毀該資料,使得最初儲存於該胞中之資料在讀取後再新)。 記憶體陣列230之胞可配置成由字線204-X (列X)、204-Y (列Y)耦合之列及由互補感測線對(例如,資料線DIGIT(n-1)/DIGIT(n-1)_、DIGIT(n)/DIGIT(n)_、DIGIT(n+1)/DIGIT(n+1)_)耦合之行。對應於各對互補感測線之個別感測線亦可分別被稱為資料線205-1 (D)及205-2 (D_)。儘管在圖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。感測放大器206可耦合至互補感測線對205-1及205-2。運算組件231可經由通道閘207-1及207-2耦合至感測放大器206。通道閘207-1及207-2之閘極可耦合至邏輯運算選擇邏輯213。 邏輯運算選擇邏輯213可經組態以包含:通道閘邏輯,其用於控制耦合未在感測放大器206與運算組件231 (如圖2中所展示)之間轉置之互補感測線對之通道閘;及/或交換閘邏輯,其用於控制耦合在感測放大器206與運算組件231之間轉置之互補感測線對之交換閘。邏輯運算選擇邏輯213亦可耦合至互補感測線對205-1及205-2。邏輯運算選擇邏輯213可經組態以基於一選定邏輯運算而控制通道閘207-1及207-2之連續性,如以下針對邏輯運算選擇邏輯213之各種組態詳細描述。 感測放大器206可經操作以判定儲存於一選定記憶體胞中之一資料值(例如,邏輯狀態)。感測放大器206可包括一交叉耦合鎖存(在本文中可被稱為一主要鎖存)。在圖2中繪示之實例中,對應於感測放大器206之電路包括一鎖存215,該鎖存215包含耦合至一對互補資料線D 205-1 及D_ 205-2之四個電晶體。然而,實施例不限制於此實例。鎖存215可為一交叉耦合鎖存(例如,一對電晶體(諸如n通道電晶體(例如,NMOS電晶體) 227-1及227-2)之閘極與另一對電晶體(諸如p通道電晶體(例如,PMOS電晶體) 229-1及229-2)之閘極耦合) 。包括電晶體227-1、227-2、229-1及229-2之交叉耦合鎖存215可被稱為一主要鎖存。 在操作中,當感測(例如,讀取)到一記憶體胞時,資料線205-1 (D)或205-2 (D_)之一者上之電壓將稍大於資料線205-1 (D)或205-2 (D_)之另一者上之電壓。可將一ACT信號及RNL*信號驅動至較低以啟用(例如,啟動)感測放大器206。具有較低電壓之資料線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_)驅動至低更大。因此,在一短暫延遲之後,通過源極電晶體211將具有稍大電壓之資料線205-1 (D)或205-2 (D_)驅動至供應電壓VCC
之電壓,且通過水槽電晶體213將其他資料線205-1 (D)或205-2 (D_)驅動至參考電壓(例如,接地)之電壓。因此,交叉耦合之NMOS電晶體227-1及227-2及PMOS電晶體229-1及229-2充當為放大資料線205-1 (D)及205-2 (D_)上之差分電壓且操作鎖存自選定記憶體胞感測之一資料值之一感測放大器對。 實施例不限制於圖2中繪示之感測放大器206組態。舉一實例,感測放大器206可為電流模式感測放大器及/或單端感測放大器(例如,耦合至一個資料線之感測放大器)。再者,本發明之實施例不限制於諸如圖2中展示之一折疊資料線架構。 感測放大器206可與運算組件231結合操作以使用來自一陣列之作為輸入之資料執行各種邏輯運算。在數個實施例中,可將一邏輯運算之結果返回儲存至陣列而不經由一資料線位址存取轉移資料(例如,不啟動一行解碼信號,使得資料經由局部I/O線轉移至陣列及感測電路外部之電路)。因而,本發明之數個實施例可實現使用比各種先前做法更少之電力執行邏輯運算及與其相關聯之運算功能。另外,由於數個實施例無需跨I/O線轉移資料以執行運算功能(例如,在記憶體與離散處理器之間),所以數個實施例相較於先前做法可實現一增加之平行處理能力。 感測放大器206可進一步包含可經組態以使得資料線205-1 (D)及205-2 (D_)平衡之平衡電路214。在此實例中,平衡電路214包括在資料線205-1 (D)與205-2 (D_)之間耦合之一電晶體224。平衡電路214亦包括電晶體225-1及225-2,其各者具有耦合至一平衡電壓(例如,VDD
/2)之一第一源極/汲極區域,其中VDD
係與陣列相關聯之一供應電壓。電晶體225-1之一第二源極/汲極區域可耦合資料線205-1 (D),且電晶體225-2之一第二源極/汲極區域可耦合資料線205-2 (D_)。電晶體224、225-1及225-2之閘極可耦合在一起且耦合至一平衡(EQ)控制信號線226。因而,啟動EQ可啟用電晶體224、225-1及225-2,此有效地將資料線205-1 (D)及205-2 (D_)一起縮短且縮短至一平衡電壓(例如,VDD
/2)。 儘管圖2展示包括平衡電路214之感測放大器206,但實施例不限制於此,且平衡電路214可與感測放大器206分離實施,在不同於圖2中展示之一組態中實施或根本不實施。 如以下所進一步描述,在數個實施例中,感測電路250 (例如,感測放大器206及運算組件231)可經操作以執行一選定邏輯運算且最初儲存感測放大器206或運算組件231之一者中之結果而不經由一I/O線轉移來自該感測電路之資料(例如,不經由啟動(例如)一行解碼信號而執行一資料線位址存取)。 邏輯運算(例如,涉及資料值之布林邏輯功能)之效能係基礎及常用的。在諸多較高階功能中使用布林邏輯功能。因此,可利用改良之邏輯運算實現之速度及/或功率效率可轉化成較高階功能之速度及/或功率效率。 如圖2中所展示,運算組件231亦可包括在本文中可被稱為一第二鎖存264之一鎖存。第二鎖存264可以類似於以上相對於主要鎖存215描述之方式經組態且操作,除了包括第二鎖存之交叉耦合p通道電晶體對(例如,PMOS電晶體)可具有耦合至一供應電壓(例如,VDD
)之其等各自源極,且第二鎖存之交叉耦合n通道電晶體對(例如,NMOS電晶體)可具有選擇性地耦合至一參考電壓(例如,接地)之其等各自源極,使得連續啟用第二鎖存外。運算組件之組態不限制於圖2中之231處所展示之組態,且以下進一步描述各種其他實施例。 圖3係根據本發明之數個實施例之繪示能夠實施一XOR邏輯運算之感測電路之一示意圖。圖3展示耦合至一對互補感測線305-1及305-2之一感測放大器306及經由通道閘307-1及307-2耦合至感測放大器306之一運算組件331。圖3中展示之感測放大器306可對應於圖2中展示之感測放大器206。圖3中展示之運算組件331可對應於包含運算組件之圖1A中展示之感測電路150。圖3中展示之邏輯運算選擇邏輯313可對應於圖2中展示之邏輯運算選擇邏輯213。 通道閘307-1及307-2之閘極可由一邏輯運算選擇邏輯信號Pass控制。例如,邏輯運算選擇邏輯之一輸出可耦合至通道閘307-1及307-2之閘極。運算組件331可包括經組態以使得資料值左右移位之一可負載移位暫存器。 圖3中展示之感測電路亦展示耦合至數個邏輯選擇控制輸入控制線(包含ISO、TF、TT、FT及FF)之一邏輯運算選擇邏輯313。當經由確立之ISO控制信號啟用隔離電晶體350-1及350-2時,自邏輯選擇控制輸入線上之邏輯選擇控制信號之狀態以及在互補感測線對305-1及305-2上呈現之資料值判定複數個邏輯運算中之一邏輯運算之選擇。 根據各種實施例,邏輯運算選擇邏輯313可包含四個邏輯選擇電晶體:邏輯選擇電晶體362,其在交換電晶體342之閘極與一TF信號控制線之間耦合;邏輯選擇電晶體352,其在通道閘307-1及307-2之閘極與一TT信號控制線之間耦合;邏輯選擇電晶體354,其在通道閘307-1及307-2之閘極與一FT信號控制線之間耦合;及邏輯選擇電晶體364,其在交換電晶體342之閘極與一FF信號控制線之間耦合。邏輯選擇電晶體362及352之閘極通過隔離電晶體350-1 (具有耦合至一ISO信號控制線之一閘極)耦合至真實感測線。邏輯選擇電晶體364及354之閘極通過隔離電晶體350-2 (亦具有耦合至一ISO信號控制線之一閘極)耦合至互補感測線。 在互補感測線對305-1及305-2上呈現之資料值可經由通道閘307-1及307-2載入至運算組件331內。運算組件331可包括一可載入移位暫存器。當通道閘307-1及307-2打開時,互補感測線對305-1及305-2上之資料值傳遞至運算組件331且藉此載入至可載入移位暫存器內。當啟動感測放大器時,互補感測線對305-1及305-2上之資料值可為儲存於感測放大器306中之資料值。邏輯運算選擇邏輯信號Pass係較高的以打開通道閘307-1及307-2。 ISO、TF、TT、FT及FF控制信號可經操作以基於感測放大器306中之資料值(「B」)及運算組件331中之資料值(「A」)而選擇一邏輯功能來實施。特定言之,ISO、TF、TT、FT及FF控制信號經組態以獨立於在互補感測線對305-1及305-2上呈現之資料值選擇邏輯功能來實施(儘管實施之邏輯運算之結果可取決於在互補感測線對305-1及305-2上呈現之資料值)。例如,ISO、TF、TT、FT及FF控制信號直接選擇邏輯運算來實施,因為在互補感測線對305-1及305-2上呈現之資料值不通過邏輯來操作通道閘307-1及307-2之閘極。 另外,圖3展示經組態以在感測放大器306與運算組件331之間交換互補感測線對305-1及305-2之定向之交換電晶體342。當交換電晶體342打開時,交換電晶體342之感測放大器306側上之互補感測線對305-1及305-2上之資料值相對地耦合至交換電晶體342之運算組件331上之互補感測線對305-1及305-2,且藉此載入至運算組件331之可載入移位暫存器內。 當啟動ISO控制信號線且啟動TT控制信號(例如,高)且真實感測線上之資料值係「1」或啟動FT控制信號(例如,高)且互補感測線上之資料值係「1」時可啟動邏輯運算選擇邏輯信號Pass (例如,高)以打開通道閘307-1及307-2 (例如,導電)。 真實感測線上之資料值係一「1」可打開邏輯選擇電晶體352及362。互補感測線上之資料值係一「1」可打開邏輯選擇電晶體354及364。若ISO控制信號或各自TT/FT控制信號或對應感測線(例如,特定邏輯選擇電晶體之閘極耦合至其之感測線)上之資料值不高,則接著通道閘307-1及307-2將不由一特定邏輯選擇電晶體打開。 當啟動ISO控制信號線且啟動TF控制信號(例如,高),其中真實感測線上之資料值係「1」或啟動FF控制信號(例如,高),其中互補感測線上之資料值係「1」時可啟動邏輯運算選擇邏輯信號Pass* (例如,高)以打開交換電晶體342 (例如,導電)。若各自控制信號或對應感測線(例如,特定邏輯選擇電晶體之閘極耦合至其之感測線)上之資料值不高,則接著交換電晶體342將不由一特定邏輯選擇電晶體打開。 Pass*控制信號不必與Pass控制信號互補。同時啟動或撤銷Pass及Pass*控制信號兩者係可能的。然而,同時啟動Pass及Pass*控制信號兩者使得互補感測線對一起縮短,此可為待避免之一毀滅性組態。 圖3中繪示之感測電路經組態以直接自四個邏輯選擇控制信號選擇複數個邏輯運算之一者來實施(例如,邏輯運算選擇不取決於在互補感測線對上呈現之資料值)。邏輯選擇控制信號之一些組合可使得通道閘307-1及307-2兩者及交換電晶體342同時打開,此使得互補感測線對305-1及305-2一起縮短。根據本發明之數個實施例,可由圖3中繪示之感測電路實施之邏輯運算可為在圖4中展示之邏輯表中概述之邏輯運算。 圖4係根據本發明之數個實施例之繪示由圖3中展示之一感測電路實施之可選邏輯運算結果之一邏輯表。可使用結合在互補感測線上呈現之一特定資料值之四個邏輯選擇控制信號(例如,TF、TT、FT及FF)來選擇複數個邏輯運算之一者來實施,此涉及儲存於感測放大器306及運算組件331中之起始資料值。結合在互補感測線上呈現之一特定資料值之四個控制信號控制通道閘307-1及307-2及交換電晶體342之連續性,繼而影響啟動前/後之運算組件331及/或感測放大器306中之資料值。可選擇地控制交換電晶體342之連續性之能力促進實施涉及逆資料值(例如,逆運算元及/或逆結果)之邏輯運算等等。 圖4中繪示之邏輯表4-1展示儲存於444之行A中展示之運算組件331中之起始資料值及儲存於445之行B中展示之感測放大器306中之起始資料值。邏輯表4-1中之其他3行標題係指通道閘307-1及307-2及交換電晶體342之連續性,此可分別經控制以打開或關閉,此取決於結合在互補感測線對305-1及305-2上呈現之一特定資料值之四個邏輯選擇控制信號(例如,TF、TT、FT及FF)之狀態。「不打開」行456對應於處於一非導電狀態之通道閘307-1及307-2及交換電晶體342,「真實打開」行470對應於處於一導電狀態下之通道閘307-1及307-2,且「逆打開」行471對應於處於一導電狀態下之交換電晶體342。對應於皆處於一導電狀態下之通道閘307-1及307-2及交換電晶體342之組態未在邏輯表4-1中反應,因為感測線中之此結果一起縮短。 邏輯表4-1之上部分之三行之各者可經由對通道閘307-1及307-2及交換電晶體342之連續性之選擇控制而與邏輯表4-1之下部分之三行之各者組合以提供3 x 3 = 9個不同結果組合,此對應於由475處展示之各種連接路徑指示之九個不同邏輯運算。在圖4中繪示之邏輯表4-2中概述可由感測電路(例如,圖1A中之150)實施之九個不同可選擇邏輯運算,包含一XOR邏輯運算。 在圖4中繪示之邏輯表4-2之行展示包含邏輯選擇控制信號之狀態之一標題480。例如,在列476中提供一第一邏輯選擇控制信號之狀態,在列477中提供一第二邏輯選擇控制信號之狀態,在列478中提供一第三邏輯選擇控制信號之狀態,且在列479中提供一第四邏輯選擇控制信號之狀態。在列447中概述對應於結果之特定邏輯運算。 儘管已在本文中繪示及描述包含感測電路、感測放大器、運算組件、動態鎖存、隔離器件及/或移位電路之各種組合及組態之實例性實施例,但本發明之實施例不限制於本文明確所述之彼等組合。本文揭示之感測電路、感測放大器、運算組件、動態鎖存、隔離器件及/或移位電路之其他組合及組態清楚包含於本發明之範疇內。 儘管在本文中已繪示且描述特定實施例,但一般技術者將明白經計算以達成相同結果之一配置可替換所展示之特定實施例。本發明意欲涵蓋本發明之一或多個實施例之調適或變動。應瞭解,已按一繪示性方式而非一限制性方式做出以上描述。熟習技術者當檢視以上描述時將明白未在本文具體描述之以上實施例及其他實施例之組合。本發明之一或多個實施例之範疇包含其中使用以上結構及方法之其他應用。因此,應參考隨附申請專利範圍以及此申請專利範圍所稱述之等效物之整個範圍來判定本發明之一或多個實施例之範疇。 在以上[實施方式]中,為提高效率之目的在一單一實施例中將一些特徵組合在一起。本發明之此方法不應解譯為反應本發明之所揭示之實施例必須使用比在各申請專利範圍中清楚所述之更多特徵之一意向。相反,如以下申請專利範圍所反應,本發明標的在於少於一單一揭示實施例之所有特徵。因此,以下申請專利範圍在本文中併入至[實施方式]內,其中各申請專利範圍單獨作為一分離實施例。
4-1‧‧‧邏輯表
4-2‧‧‧邏輯表
100‧‧‧系統
110‧‧‧主機
111‧‧‧虛線
112‧‧‧邏輯及/或處理資源
112-1,...,112-M‧‧‧處理資源/處理核
113‧‧‧快取記憶體
113-1,...,113-N‧‧‧快取級
114‧‧‧寬介面
115‧‧‧快取控制器
116‧‧‧無效引擎
116-1,...,116-N‧‧‧無效引擎
118‧‧‧模組
120‧‧‧記憶體器件
120-1,...,120-N‧‧‧記憶體器件
121‧‧‧記憶體庫
121-0,...,121-7‧‧‧記憶體庫
123‧‧‧記憶體庫區段
123-1,...,123-N‧‧‧記憶體庫區段
125-1,...,125-N‧‧‧子陣列
130‧‧‧記憶體陣列
140‧‧‧記憶體庫控制器/定序器
141‧‧‧高速介面(HSI)
142‧‧‧位址電路
143‧‧‧通道控制器
144‧‧‧I/O電路
145-1,...,145-N‧‧‧記憶體庫仲裁器
146‧‧‧列解碼器
148‧‧‧寫入電路
149‧‧‧寫入路徑
150‧‧‧感測電路
151‧‧‧控制及資料暫存器
152‧‧‧行解碼器
153‧‧‧控制匯流排
154‧‧‧控制匯流排
155‧‧‧匯流排
156‧‧‧控制匯流排
157‧‧‧頻帶外(OOB)匯流排
160‧‧‧快取線
161‧‧‧局部緩衝器
170‧‧‧邏輯電路
182‧‧‧運算請求
184‧‧‧整體無效命令
186‧‧‧發送
187‧‧‧應答
188‧‧‧指令
202-1‧‧‧電晶體
202-2‧‧‧電晶體
203-1‧‧‧電容器
203-2‧‧‧電容器
204-X‧‧‧字線
204-Y‧‧‧字線
205-1 (D)‧‧‧資料線
205-2 (D_)‧‧‧資料線
206‧‧‧感測放大器
207-1‧‧‧通道閘
207-2‧‧‧通道閘
211‧‧‧源極電晶體
213‧‧‧邏輯運算選擇邏輯
214‧‧‧平衡電路
215‧‧‧鎖存
224‧‧‧電晶體
225-1‧‧‧電晶體
225-2‧‧‧電晶體
226‧‧‧平衡(EQ)控制信號線
227-1‧‧‧NMOS電晶體
227-2‧‧‧NMOS電晶體
229-1‧‧‧PMOS電晶體
229-2‧‧‧PMOS電晶體
230‧‧‧記憶體陣列
231‧‧‧運算組件
250‧‧‧感測電路
264‧‧‧第二鎖存
305-1‧‧‧互補感測線
305-2‧‧‧互補感測線
306‧‧‧感測放大器
307-1‧‧‧感測放大器
307-2‧‧‧感測放大器
313‧‧‧邏輯運算選擇邏輯
331‧‧‧運算組件
342‧‧‧交換電晶體
350-1‧‧‧隔離電晶體
350-2‧‧‧隔離電晶體
352‧‧‧邏輯選擇電晶體
354‧‧‧邏輯選擇電晶體
362‧‧‧邏輯選擇電晶體
364‧‧‧邏輯選擇電晶體
447‧‧‧列
456‧‧‧行
470‧‧‧行
471‧‧‧行
476‧‧‧列
477‧‧‧列
478‧‧‧列
479‧‧‧列
480‧‧‧標題
圖1A係根據本發明之數個實施例之為包含一記憶體器件之一運算系統之形式之一裝置之一方塊圖。 圖1B係根據本發明之數個實施例之為包含一記憶體器件之一運算系統之形式之一裝置之另一方塊圖。 圖1C係根據本發明之數個實施例之繪示一位元向量運算器件、一通道控制器與具有一或多個處理資源及多個快取級之一主機之間之一訊息交換之一方塊圖。 圖1D係根據本發明之數個實施例之至一記憶體器件之一記憶體庫之一方塊圖。 圖1E係根據本發明之數個實施例之至一記憶體器件之一記憶體庫之另一方塊圖。 圖2係根據本發明之數個實施例之繪示至一記憶體器件之感測電路之一示意圖。 圖3係根據本發明之數個實施例之繪示至一記憶體器件之感測電路之一示意圖。 圖4係根據本發明之數個實施例之繪示由圖3中展示之一感測電路實施之可選邏輯運算結果之一邏輯表。
Claims (25)
- 一種裝置,其包括:一能夠進行位元向量運算之記憶體器件,其包括:記憶體胞之一陣列;及感測電路,其耦合至該陣列,該感測電路包含一感測放大器及一運算組件,該運算組件經組態以實施位元向量運算作為邏輯運算;及一通道控制器,其耦合至該記憶體器件且經組態以回應於接收一位元向量運算請求而使得一整體無效命令發送至一快取記憶體系統。
- 如請求項1之裝置,該能夠進行位元向量運算之記憶體器件進一步包括:一記憶體控制器,其耦合至該陣列及感測電路,該記憶體控制器經組態以接收該位元向量運算請求。
- 如請求項1之裝置,其中:該位元向量運算請求與一記憶體中處理器(PIM)命令相關聯;且一基於位元向量之運算係一PIM運算。
- 如請求項1之裝置,其中該通道控制器經組態以將該整體無效命令發送至快取記憶體系統中之所有快取級。
- 如請求項1之裝置,其中該通道控制器經組態以將該整體無效命令發 送至該快取記憶體系統中之一末級快取(LLC),且該LLC進一步根據一基於目錄之快取一致性協定將該整體無效命令發送至另一級之快取記憶體。
- 如請求項5之裝置,其中與該LLC相關聯之一無效引擎經組態以進一步將該整體無效命令發送至另一級之快取記憶體。
- 一種裝置,其包括:一通道控制器,其經組態以:接收一記憶體中處理器(PIM)位元向量運算請求;使得一整體無效命令發送至一快取記憶體系統;接收一快取無效運算已完成之一應答;及回應於接收該應答而使得一記憶體器件執行一PIM位元向量運算。
- 如請求項7之裝置,其中該通道控制器經組態以自一基礎位址及與將在該PIM位元向量運算中使用之一位元向量相關聯之一長度產生該整體無效命令。
- 如請求項7之裝置,其中該PIM位元向量運算請求係一加法位元向量運算請求,其包括:一第一源位元向量;一第二源位元向量;及一目的地位元向量。
- 如請求項7之裝置,其中該通道控制器經組態以將一位元向量之一長度轉換為關於該快取記憶體系統中之一快取線尺寸位址之數個快取線。
- 如請求項7之裝置,其中該通道控制器經組態以使用一基礎位址及數個快取線產生該整體快取無效命令作為該命令之一引數。
- 如請求項7之裝置,其中該快取記憶體系統位於耦合至該記憶體器件之一主機中。
- 如請求項7之裝置,其中該快取記憶體系統包括耦合至該記憶體器件之一主機中之一末級快取(LLC)且該快取記憶體系統具有一基於目錄之快取一致性協定。
- 一種裝置,其包括:一通道控制器,其經組態以:在一基於位元向量位元長度之運算與一基於快取線位元長度之運算之間轉換,其中該位元長度對應至資料之數個位元,在其上藉由耦合至記憶體胞之一陣列的感測電路執行數個邏輯運算作為基於位元向量之運算;且根據一快取一致性協定使得一整體無效命令發送至一快取記憶體系統。
- 如請求項14之裝置,其中一快取線位元長度不同於一位元向量位元長度。
- 如請求項14之裝置,其中該通道控制器耦合至一主機且該通道控制器整合至一記憶體器件。
- 如請求項14之裝置,其中該通道控制器經組態以將該整體無效命令發送至一主機中之一末級快取(LLC)。
- 一種用於操作一裝置之方法,其包括:將一位元向量位元長度轉換為將無效之數個快取線,其中該位元長度對應至資料之數個位元,在其上藉由耦合至記憶體胞之一陣列的感測電路執行數個邏輯運算作為基於位元向量之運算;且根據一快取記憶體系統之一快取一致性協定產生一整體無效命令,其中該整體無效命令使用將無效之該數個快取線作為一引數。
- 如請求項18之方法,其進一步包括:將該位元向量之一位址轉換為關於該快取記憶體系統之一快取線尺寸位址,其中該整體無效命令使用該快取線尺寸位址作為一基礎位址。
- 如請求項18之方法,其中產生該整體無效命令包括:將一基礎位址及將無效之數個快取線提供為發送至該快取記憶體系統之封包欄位中之一引數。
- 一種用於操作一記憶體器件之方法,其包括:接收一記憶體中處理器(PIM)位元向量運算請求,其中該請求係用於藉由耦合至該記憶體器件之記憶體胞之一陣列的感測電路以執行一PIM位元向量運算;及使得一整體無效命令發送至一快取記憶體系統;且其中該感測電路包含一感測放大器及一運算組件,該運算組件經組態以實施PIM位元向量運算作為邏輯運算。
- 如請求項21之方法,其中該方法進一步包括:接收一無效應答;及回應於接收該無效應答而使得該記憶體器件執行與該PIM位元向量運算請求相關聯之一PIM位元向量運算。
- 一種用於操作一裝置之方法,其包括:接收一位元向量運算請求,其中該請求係用於藉由耦合至一記憶體器件之記憶體胞之一陣列的感測電路以執行一位元向量運算;及回應於接收該位元向量運算請求而將一整體無效命令發送至一快取記憶體系統以騰出在該快取記憶體系統中由一位元向量運算使用之空間;且其中該感測電路包含一感測放大器及一運算組件,該運算組件經組態以實施位元向量運算作為邏輯運算。
- 如請求項23之方法,其進一步包括:修改與該快取記憶體系統相關聯之一快取一致性協定之一行為以回應於快取請求;且回應於接收該位元向量運算請求而追蹤執行之該位元向量運算。
- 如請求項23之方法,其進一步包括:隨後停止該位元向量運算以允許執行一後來接收之快取運算請求;重新排程該位元向量運算;暫時將存取提供至與該後來接收之快取運算請求相關聯之請求之快取資料;且一旦完成該後來接收之快取運算請求後,即使得一新整體無效命令發送至該快取記憶體系統以恢復該位元向量運算。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/066,674 US10262721B2 (en) | 2016-03-10 | 2016-03-10 | Apparatuses and methods for cache invalidate |
US15/066,674 | 2016-03-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201738755A TW201738755A (zh) | 2017-11-01 |
TWI620063B true TWI620063B (zh) | 2018-04-01 |
Family
ID=59786579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106108061A TWI620063B (zh) | 2016-03-10 | 2017-03-10 | 用於快取無效之裝置及方法 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10262721B2 (zh) |
EP (1) | EP3427156B1 (zh) |
CN (1) | CN108780432B (zh) |
TW (1) | TWI620063B (zh) |
WO (1) | WO2017155915A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI804860B (zh) * | 2020-12-14 | 2023-06-11 | 南韓商韓領有限公司 | 用於使區域快取同步的電腦實行系統以及方法 |
TWI824780B (zh) * | 2022-01-21 | 2023-12-01 | 美商聖圖爾科技公司 | 微處理器及其處理零值資料的方法 |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8971124B1 (en) * | 2013-08-08 | 2015-03-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9997232B2 (en) | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
US10268580B2 (en) * | 2016-09-30 | 2019-04-23 | Intel Corporation | Processors and methods for managing cache tiering with gather-scatter vector semantics |
US10373666B2 (en) | 2016-11-08 | 2019-08-06 | Micron Technology, Inc. | Apparatuses and methods for compute components formed over an array of memory cells |
KR20180058328A (ko) * | 2016-11-24 | 2018-06-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작 방법 |
US10846230B2 (en) * | 2016-12-12 | 2020-11-24 | Intel Corporation | Methods and systems for invalidating memory ranges in fabric-based architectures |
US10409739B2 (en) | 2017-10-24 | 2019-09-10 | Micron Technology, Inc. | Command selection policy |
US10522210B2 (en) | 2017-12-14 | 2019-12-31 | Micron Technology, Inc. | Apparatuses and methods for subarray addressing |
US10332586B1 (en) | 2017-12-19 | 2019-06-25 | Micron Technology, Inc. | Apparatuses and methods for subrow addressing |
US10614875B2 (en) | 2018-01-30 | 2020-04-07 | Micron Technology, Inc. | Logical operations using memory cells |
US11194477B2 (en) | 2018-01-31 | 2021-12-07 | Micron Technology, Inc. | Determination of a match between data values stored by three or more arrays |
US10437557B2 (en) | 2018-01-31 | 2019-10-08 | Micron Technology, Inc. | Determination of a match between data values stored by several arrays |
US10725696B2 (en) | 2018-04-12 | 2020-07-28 | Micron Technology, Inc. | Command selection policy with read priority |
US10440341B1 (en) | 2018-06-07 | 2019-10-08 | Micron Technology, Inc. | Image processor formed in an array of memory cells |
US10769071B2 (en) | 2018-10-10 | 2020-09-08 | Micron Technology, Inc. | Coherent memory access |
US11175915B2 (en) | 2018-10-10 | 2021-11-16 | Micron Technology, Inc. | Vector registers implemented in memory |
US10483978B1 (en) | 2018-10-16 | 2019-11-19 | Micron Technology, Inc. | Memory device processing |
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
US12118056B2 (en) | 2019-05-03 | 2024-10-15 | Micron Technology, Inc. | Methods and apparatus for performing matrix transformations within a memory array |
US10867655B1 (en) | 2019-07-08 | 2020-12-15 | Micron Technology, Inc. | Methods and apparatus for dynamically adjusting performance of partitioned memory |
US11360768B2 (en) | 2019-08-14 | 2022-06-14 | Micron Technolgy, Inc. | Bit string operations in memory |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
US11216373B2 (en) | 2020-05-29 | 2022-01-04 | Advanced Micro Devices, Inc. | Memory access commands with near-memory address generation |
US11227641B1 (en) | 2020-07-21 | 2022-01-18 | Micron Technology, Inc. | Arithmetic operations in memory |
US20220188233A1 (en) * | 2020-12-16 | 2022-06-16 | Advanced Micro Devices, Inc. | Managing cached data used by processing-in-memory instructions |
US11947456B2 (en) | 2021-09-30 | 2024-04-02 | Advanced Micro Devices, Inc. | Weak cache line invalidation requests for speculatively executing instructions |
US12061800B2 (en) | 2021-10-28 | 2024-08-13 | Silicon Motion, Inc. | Method and apparatus for performing data access control of memory device with aid of predetermined command |
US11977783B2 (en) | 2021-10-28 | 2024-05-07 | Silicon Motion, Inc. | Method and apparatus for performing data access control of memory device with aid of predetermined command |
CN114064517A (zh) | 2021-11-19 | 2022-02-18 | 上海兆芯集成电路有限公司 | 指定密钥进行高速缓存写回且无效的计算机系统及方法 |
CN114064518A (zh) | 2021-11-19 | 2022-02-18 | 上海兆芯集成电路有限公司 | 指定密钥辨识码进行转译后备缓冲区清除的处理器和方法 |
CN114064520A (zh) * | 2021-11-19 | 2022-02-18 | 上海兆芯集成电路有限公司 | 进行阶层式高速缓存不写回即无效的计算机系统以及方法 |
US20230325317A1 (en) * | 2022-04-12 | 2023-10-12 | Advanced Micro Devices, Inc. | Reducing probe filter accesses for processing in memory requests |
US12050531B2 (en) | 2022-09-26 | 2024-07-30 | Advanced Micro Devices, Inc. | Data compression and decompression for processing in memory |
US20240211402A1 (en) * | 2022-12-27 | 2024-06-27 | Advanced Micro Devices, Inc. | Condensed Coherence Directory Entries for Processing-in-Memory |
KR20240114591A (ko) * | 2023-01-17 | 2024-07-24 | 삼성전자주식회사 | Pim 연산과 관련된 데이터의 캐시 일관성을 유지하는 전자 장치, 프로세서 및 전자 장치의 동작 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040059871A1 (en) * | 2002-08-08 | 2004-03-25 | International Business Machines Corporation | Local invalidation buses for a highly scalable shared cache memory hierarchy |
TW591384B (en) * | 2001-05-16 | 2004-06-11 | Advanced Micro Devices Inc | Method and system for speculatively invalidating lines in a cache |
US20080205185A1 (en) * | 2007-02-23 | 2008-08-28 | Hynix Semiconductor Inc. | Semiconductor memory device and its driving method |
US20160026571A1 (en) * | 2014-07-24 | 2016-01-28 | Nec Corporation | Information processing device, memory order guarantee method, and recording medium storing program |
Family Cites Families (320)
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 |
US5307477A (en) * | 1989-12-01 | 1994-04-26 | Mips Computer Systems, Inc. | Two-level cache memory system |
DE69132495T2 (de) | 1990-03-16 | 2001-06-13 | Texas Instruments Inc., Dallas | Verteilter Verarbeitungsspeicher |
US5034636A (en) | 1990-06-04 | 1991-07-23 | Motorola, Inc. | Sense amplifier with an integral logic function |
US5210850A (en) | 1990-06-15 | 1993-05-11 | Compaq Computer Corporation | Memory address space determination using programmable limit registers with single-ended comparators |
JP3361825B2 (ja) | 1990-08-22 | 2003-01-07 | テキサス インスツルメンツ インコーポレイテツド | メモリ・アレイ・アーキテクチャ |
JPH06103599B2 (ja) | 1990-11-16 | 1994-12-14 | 三菱電機株式会社 | 半導体集積回路装置 |
JPH04353949A (ja) * | 1991-05-31 | 1992-12-08 | Nec Corp | キャッシュメモリ制御方式 |
US5325519A (en) | 1991-10-18 | 1994-06-28 | Texas Microsystems, Inc. | Fault tolerant computer with archival rollback capabilities |
FR2685973B1 (fr) | 1992-01-03 | 1994-02-25 | France Telecom | Point memoire pour memoire associative. |
KR950005095Y1 (ko) | 1992-03-18 | 1995-06-22 | 문정환 | 양방향성 그로벌 비트 라인을 갖는 dram |
KR940004434A (ko) | 1992-08-25 | 1994-03-15 | 윌리엄 이. 힐러 | 스마트 다이나믹 랜덤 억세스 메모리 및 그 처리방법 |
KR950004854B1 (ko) | 1992-10-08 | 1995-05-15 | 삼성전자 주식회사 | 반도체 메모리 장치 |
US5440482A (en) | 1993-03-25 | 1995-08-08 | Taligent, Inc. | Forward and reverse Boyer-Moore string searching of multilingual text having a defined collation order |
US5485373A (en) | 1993-03-25 | 1996-01-16 | Taligent, Inc. | Language-sensitive text searching system with modified Boyer-Moore process |
US5754478A (en) | 1993-04-20 | 1998-05-19 | Micron Technology, Inc. | Fast, low power, write scheme for memory circuits using pulsed off isolation device |
US5369622A (en) | 1993-04-20 | 1994-11-29 | Micron Semiconductor, Inc. | Memory with isolated digit lines |
JP3230898B2 (ja) * | 1993-06-02 | 2001-11-19 | シャープ株式会社 | データ駆動型情報処理システム |
JP2663838B2 (ja) | 1993-07-27 | 1997-10-15 | 日本電気株式会社 | 半導体集積回路装置 |
JP3252306B2 (ja) | 1993-08-10 | 2002-02-04 | 株式会社日立製作所 | 半導体不揮発性記憶装置 |
JP3904244B2 (ja) | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
JP3251421B2 (ja) | 1994-04-11 | 2002-01-28 | 株式会社日立製作所 | 半導体集積回路 |
US5655113A (en) | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
JPH0831168A (ja) | 1994-07-13 | 1996-02-02 | Hitachi Ltd | 半導体記憶装置 |
US5481500A (en) | 1994-07-22 | 1996-01-02 | International Business Machines Corporation | Precharged bit decoder and sense amplifier with integrated latch usable in pipelined memories |
US5615404A (en) | 1994-10-31 | 1997-03-25 | Intel Corporation | System having independently addressable bus interfaces coupled to serially connected multi-ported signal distributors generating and maintaining frame based polling schedule favoring isochronous peripherals |
US5638128A (en) | 1994-11-08 | 1997-06-10 | General Instrument Corporation Of Delaware | Pixel interpolation filters for video decompression processor |
US5724366A (en) | 1995-05-16 | 1998-03-03 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device |
KR0146530B1 (ko) | 1995-05-25 | 1998-09-15 | 김광호 | 단속제어회로를 구비한 반도체 메모리 장치와 제어방법 |
US7301541B2 (en) | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
JP2812262B2 (ja) | 1995-08-31 | 1998-10-22 | 日本電気株式会社 | 連想記憶装置 |
US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
JP2817836B2 (ja) | 1995-11-30 | 1998-10-30 | 日本電気株式会社 | 半導体メモリ装置 |
JP3356612B2 (ja) | 1996-02-29 | 2002-12-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 高速な輪郭スムージング方法及び装置 |
US6092186A (en) | 1996-05-07 | 2000-07-18 | Lucent Technologies Inc. | Apparatus and method for aborting un-needed instruction fetches in a digital microprocessor device |
US5915084A (en) | 1996-09-30 | 1999-06-22 | Advanced Micro Devices, Inc. | Scannable sense amplifier circuit |
US5961628A (en) * | 1997-01-28 | 1999-10-05 | Samsung Electronics Co., Ltd. | Load and store unit for a vector processor |
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 | 富士通セミコンダクター株式会社 | 半導体記憶装置及びその制御方法 |
US6687175B1 (en) | 2000-02-04 | 2004-02-03 | Renesas Technology Corporation | Semiconductor device |
AU2001239907A1 (en) | 2000-02-29 | 2001-09-12 | Stephen J. Guerreri | Method and apparatus for building a memory image |
US7028170B2 (en) | 2000-03-08 | 2006-04-11 | Sun Microsystems, Inc. | Processing architecture having a compare capability |
JP3983969B2 (ja) | 2000-03-08 | 2007-09-26 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6678678B2 (en) | 2000-03-09 | 2004-01-13 | Braodcom Corporation | Method and apparatus for high speed table search |
JP3822412B2 (ja) | 2000-03-28 | 2006-09-20 | 株式会社東芝 | 半導体記憶装置 |
US6965648B1 (en) | 2000-05-04 | 2005-11-15 | Sun Microsystems, Inc. | Source synchronous link integrity validation |
AU2001270400A1 (en) | 2000-07-07 | 2002-01-21 | Mosaid Technologies Incorporated | A high speed dram architecture with uniform access latency |
US6466499B1 (en) | 2000-07-11 | 2002-10-15 | Micron Technology, Inc. | DRAM sense amplifier having pre-charged transistor body nodes |
US6915388B1 (en) * | 2000-07-20 | 2005-07-05 | Silicon Graphics, Inc. | Method and system for efficient use of a multi-dimensional sharing vector in a computer system |
AU2001285161A1 (en) | 2000-08-21 | 2002-03-04 | United States Postal Services | Delivery point validation system |
US6301164B1 (en) | 2000-08-25 | 2001-10-09 | Micron Technology, Inc. | Antifuse method to repair columns in a prefetched output memory architecture |
US6704828B1 (en) | 2000-08-31 | 2004-03-09 | Micron Technology, Inc. | System and method for implementing data pre-fetch having reduced data lines and/or higher data rates |
US6948056B1 (en) | 2000-09-28 | 2005-09-20 | Intel Corporation | Maintaining even and odd array pointers to extreme values by searching and comparing multiple elements concurrently where a pointer is adjusted after processing to account for a number of pipeline stages |
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 |
US6701417B2 (en) * | 2001-04-11 | 2004-03-02 | Sun Microsystems, Inc. | Method and apparatus for supporting multiple cache line invalidations per cycle |
US6807614B2 (en) | 2001-07-19 | 2004-10-19 | Shine C. Chung | Method and apparatus for using smart memories in computing |
US7546438B2 (en) | 2001-07-19 | 2009-06-09 | Chung Shine C | Algorithm mapping, specialized instructions and architecture features for smart memory computing |
US6961804B2 (en) * | 2001-07-20 | 2005-11-01 | International Business Machines Corporation | Flexible techniques for associating cache memories with processors and main memory |
ITRM20010531A1 (it) | 2001-08-31 | 2003-02-28 | Micron Technology Inc | Dispositivo rilevatore a bassa potenza e alta tensione per memorie ditipo flash. |
US7260672B2 (en) | 2001-09-07 | 2007-08-21 | Intel Corporation | Using data stored in a destructive-read memory |
US7062689B2 (en) | 2001-12-20 | 2006-06-13 | Arm Limited | Method and apparatus for memory self testing |
US20040073773A1 (en) | 2002-02-06 | 2004-04-15 | Victor Demjanenko | Vector processor architecture and methods performed therein |
US6707729B2 (en) | 2002-02-15 | 2004-03-16 | Micron Technology, Inc. | Physically alternating sense amplifier activation |
WO2003088033A1 (en) | 2002-04-09 | 2003-10-23 | University Of Rochester | Multiplier-based processor-in-memory architectures for image and graphics processing |
JP2003331598A (ja) | 2002-05-13 | 2003-11-21 | Mitsubishi Electric Corp | 半導体記憶装置 |
US7406494B2 (en) | 2002-05-14 | 2008-07-29 | Texas Instruments Incorporated | Method of generating a cycle-efficient bit-reverse index array for a wireless communication system |
JP2003346484A (ja) | 2002-05-23 | 2003-12-05 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
US6789099B2 (en) | 2002-06-10 | 2004-09-07 | International Business Machines Corporation | Sense-amp based adder with source follower evaluation tree |
US6785879B2 (en) | 2002-06-11 | 2004-08-31 | Numerical Technologies, Inc. | Model-based data conversion |
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 |
US20040103251A1 (en) * | 2002-11-26 | 2004-05-27 | Mitchell Alsup | Microprocessor including a first level cache and a second level cache having different cache line sizes |
KR100546307B1 (ko) | 2002-12-05 | 2006-01-26 | 삼성전자주식회사 | 글로벌 입출력라인을 프리차지 및/또는 이퀄라이징하기위한 프리차지 회로를 구비하는 반도체 장치 및프리차지 및/또는 이퀄라이즈하는 트랜지스터의 레이아웃 |
US6731542B1 (en) | 2002-12-05 | 2004-05-04 | Advanced Micro Devices, Inc. | Circuit for accurate memory read operations |
US6888372B1 (en) | 2002-12-20 | 2005-05-03 | Altera Corporation | Programmable logic device with soft multiplier |
US20050015557A1 (en) | 2002-12-27 | 2005-01-20 | Chih-Hung Wang | Nonvolatile memory unit with specific cache |
US7346903B2 (en) | 2003-02-04 | 2008-03-18 | Sun Microsystems, Inc. | Compiling and linking modules of a cycle-based logic design |
US6768679B1 (en) | 2003-02-10 | 2004-07-27 | Advanced Micro Devices, Inc. | Selection circuit for accurate memory read operations |
US6819612B1 (en) | 2003-03-13 | 2004-11-16 | Advanced Micro Devices, Inc. | Apparatus and method for a sense amplifier circuit that samples and holds a reference voltage |
US6865122B2 (en) | 2003-04-11 | 2005-03-08 | Intel Corporation | Reclaiming blocks in a block-alterable memory |
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 | ローム株式会社 | 演算機能付き記憶装置および演算記憶方法 |
US7065614B1 (en) * | 2003-06-20 | 2006-06-20 | Unisys Corporation | System and method for maintaining memory coherency within a multi-processor data processing system |
WO2005024843A1 (en) | 2003-09-04 | 2005-03-17 | Koninklijke Philips Electronics N.V. | Integrated circuit and a method of cache remapping |
US6956770B2 (en) | 2003-09-17 | 2005-10-18 | Sandisk Corporation | Non-volatile memory and method with bit line compensation dependent on neighboring operating modes |
US7177183B2 (en) | 2003-09-30 | 2007-02-13 | Sandisk 3D Llc | Multiple twin cell non-volatile memory array and logic block structure and method therefor |
US7913125B2 (en) | 2003-11-04 | 2011-03-22 | Lsi Corporation | BISR mode to test the redundant elements and regular functional memory to avoid test escapes |
US6950771B1 (en) | 2003-12-09 | 2005-09-27 | Xilinx, Inc. | Correlation of electrical test data with physical defect data |
US7401281B2 (en) | 2004-01-29 | 2008-07-15 | International Business Machines Corporation | Remote BIST high speed test and redundancy calculation |
US7631236B2 (en) | 2004-01-29 | 2009-12-08 | International Business Machines Corporation | Hybrid built-in self test (BIST) architecture for embedded memory arrays and an associated method |
JP4819316B2 (ja) | 2004-02-23 | 2011-11-24 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US7088606B2 (en) | 2004-03-10 | 2006-08-08 | Altera Corporation | Dynamic RAM storage techniques |
US7020017B2 (en) | 2004-04-06 | 2006-03-28 | Sandisk Corporation | Variable programming of non-volatile memory |
US7120063B1 (en) | 2004-05-07 | 2006-10-10 | Spansion Llc | Flash memory cell and methods for programming and erasing |
US8522205B2 (en) | 2004-05-18 | 2013-08-27 | Oracle International Corporation | Packaging multiple groups of read-only files of an application's components into multiple shared libraries |
JP2006127460A (ja) | 2004-06-09 | 2006-05-18 | Renesas Technology Corp | 半導体装置、半導体信号処理装置、およびクロスバースイッチ |
US7061817B2 (en) | 2004-06-30 | 2006-06-13 | Micron Technology, Inc. | Data path having grounded precharge operation and test compression capability |
US7116602B2 (en) | 2004-07-15 | 2006-10-03 | Micron Technology, Inc. | Method and system for controlling refresh to avoid memory cell data losses |
US7434024B2 (en) | 2004-08-30 | 2008-10-07 | Ati Technologies, Inc. | SIMD processor with register addressing, buffer stall and methods |
US7685365B2 (en) | 2004-09-30 | 2010-03-23 | Intel Corporation | Transactional memory execution utilizing virtual memory |
US20060069849A1 (en) | 2004-09-30 | 2006-03-30 | Rudelic John C | Methods and apparatus to update information in a memory |
US20060149804A1 (en) | 2004-11-30 | 2006-07-06 | International Business Machines Corporation | Multiply-sum dot product instruction with mask and splat |
US7230851B2 (en) | 2004-12-23 | 2007-06-12 | Sandisk Corporation | Reducing floating gate to floating gate coupling effect |
KR100673901B1 (ko) | 2005-01-28 | 2007-01-25 | 주식회사 하이닉스반도체 | 저전압용 반도체 메모리 장치 |
US7543119B2 (en) | 2005-02-10 | 2009-06-02 | Richard Edward Hessel | Vector processor |
US7624313B2 (en) | 2005-03-28 | 2009-11-24 | Hewlett-Packard Development Company, L.P. | TCAM BIST with redundancy |
US7392351B2 (en) * | 2005-03-29 | 2008-06-24 | International Business Machines Corporation | Method and apparatus for filtering snoop requests using stream registers |
US7536513B2 (en) * | 2005-03-31 | 2009-05-19 | International Business Machines Corporation | Data processing system, cache system and method for issuing a request on an interconnect fabric without reference to a lower level cache based upon a tagged cache state |
US7196928B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
US7187585B2 (en) | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
US7193898B2 (en) | 2005-06-20 | 2007-03-20 | Sandisk Corporation | Compensation currents in non-volatile memory read operations |
KR100720644B1 (ko) | 2005-11-17 | 2007-05-21 | 삼성전자주식회사 | 메모리 장치 및 메모리 그 동작 방법 |
WO2007069295A1 (ja) | 2005-12-13 | 2007-06-21 | Spansion Llc | 半導体装置およびその制御方法 |
US20070143550A1 (en) * | 2005-12-19 | 2007-06-21 | Intel Corporation | Per-set relaxation of cache inclusion |
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 | ルネサスエレクトロニクス株式会社 | 並列演算処理装置 |
US7366847B2 (en) * | 2006-02-06 | 2008-04-29 | Azul Systems, Inc. | Distributed cache coherence at scalable requestor filter pipes that accumulate invalidation acknowledgements from other requestor filter pipes using ordering messages from central snoop tag |
US7400532B2 (en) | 2006-02-16 | 2008-07-15 | Micron Technology, Inc. | Programming method to reduce gate coupling interference for non-volatile memory |
US7716428B2 (en) * | 2006-02-28 | 2010-05-11 | International Business Machines Corporation | Data processing system, cache system and method for reducing imprecise invalid coherency states |
KR100755370B1 (ko) | 2006-04-17 | 2007-09-04 | 삼성전자주식회사 | 반도체 메모리 장치 |
TW200828333A (en) | 2006-04-28 | 2008-07-01 | Samsung Electronics Co Ltd | Sense amplifier circuit and sense amplifier-based flip-flop having the same |
US7752417B2 (en) | 2006-06-05 | 2010-07-06 | Oracle America, Inc. | Dynamic selection of memory virtualization techniques |
US7372715B2 (en) | 2006-06-14 | 2008-05-13 | Micron Technology, Inc. | Architecture and method for NAND flash memory |
US8069377B2 (en) | 2006-06-26 | 2011-11-29 | Micron Technology, Inc. | Integrated circuit having memory array including ECC and column redundancy and method of operating the same |
US7724559B2 (en) | 2006-07-14 | 2010-05-25 | International Business Machines Corporation | Self-referenced match-line sense amplifier for content addressable memories |
US7885119B2 (en) | 2006-07-20 | 2011-02-08 | Sandisk Corporation | Compensating for coupling during programming |
US7443729B2 (en) | 2006-07-20 | 2008-10-28 | Sandisk Corporation | System that compensates for coupling based on sensing a neighbor using coupling |
US7692466B2 (en) | 2006-08-18 | 2010-04-06 | Ati Technologies Ulc | Sense amplifier based flip-flop |
US7805587B1 (en) | 2006-11-01 | 2010-09-28 | Nvidia Corporation | Memory addressing controlled by PTE fields |
US7836258B2 (en) | 2006-11-13 | 2010-11-16 | International Business Machines Corporation | Dynamic data cache invalidate with data dependent expiration |
US8151082B2 (en) | 2007-12-06 | 2012-04-03 | Fusion-Io, Inc. | Apparatus, system, and method for converting a storage request into an append data storage command |
US7471536B2 (en) | 2006-12-08 | 2008-12-30 | Texas Instruments Incorporated | Match mismatch emulation scheme for an addressed location in a CAM |
US7460387B2 (en) | 2007-01-05 | 2008-12-02 | International Business Machines Corporation | eDRAM hierarchical differential sense amp |
US7743303B2 (en) | 2007-01-22 | 2010-06-22 | Micron Technology, Inc. | Defective memory block remapping method and system, and memory device and processor-based system using same |
US7937535B2 (en) | 2007-02-22 | 2011-05-03 | Arm Limited | Managing cache coherency in a data processing apparatus |
US7804718B2 (en) | 2007-03-07 | 2010-09-28 | Mosaid Technologies Incorporated | Partial block erase architecture for flash memory |
US7492640B2 (en) | 2007-06-07 | 2009-02-17 | Sandisk Corporation | Sensing with bit-line lockout control in non-volatile memory |
JP2009009665A (ja) | 2007-06-29 | 2009-01-15 | Elpida Memory Inc | 半導体記憶装置 |
US7996749B2 (en) | 2007-07-03 | 2011-08-09 | Altera Corporation | Signal loss detector for high-speed serial interface of a programmable logic device |
US7489543B1 (en) | 2007-07-25 | 2009-02-10 | Micron Technology, Inc. | Programming multilevel cell memory arrays |
US7694195B2 (en) | 2007-08-14 | 2010-04-06 | Dell Products L.P. | System and method for using a memory mapping function to map memory defects |
US7869273B2 (en) | 2007-09-04 | 2011-01-11 | Sandisk Corporation | Reducing the impact of interference during programming |
US7787319B2 (en) | 2007-09-06 | 2010-08-31 | Innovative Silicon Isi Sa | Sense amplifier circuitry for integrated circuit having memory cell array, and method of operating same |
US8042082B2 (en) | 2007-09-12 | 2011-10-18 | Neal Solomon | Three dimensional memory in a system on a chip |
US7965564B2 (en) | 2007-09-18 | 2011-06-21 | Zikbit Ltd. | Processor arrays made of standard memory cells |
US7663928B2 (en) | 2007-10-09 | 2010-02-16 | Ememory Technology Inc. | Sense amplifier circuit having current mirror architecture |
WO2009052525A1 (en) | 2007-10-19 | 2009-04-23 | Virident Systems, Inc. | Managing memory systems containing components with asymmetric characteristics |
US7924628B2 (en) | 2007-11-14 | 2011-04-12 | Spansion Israel Ltd | Operation of a non-volatile memory array |
US7979667B2 (en) | 2007-12-10 | 2011-07-12 | Spansion Llc | Memory array search engine |
US7755960B2 (en) | 2007-12-17 | 2010-07-13 | Stmicroelectronics Sa | Memory including a performance test circuit |
US8495438B2 (en) | 2007-12-28 | 2013-07-23 | Texas Instruments Incorporated | Technique for memory imprint reliability improvement |
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 | ルネサスエレクトロニクス株式会社 | 半導体信号処理装置 |
CN101546282B (zh) * | 2008-03-28 | 2011-05-18 | 国际商业机器公司 | 用于在处理器中执行写拷贝的方法和设备 |
US8332580B2 (en) | 2008-04-02 | 2012-12-11 | Zikbit Ltd. | System, method and apparatus for memory with embedded associative section for computations |
US20090254694A1 (en) | 2008-04-02 | 2009-10-08 | Zikbit Ltd. | Memory device with integrated parallel processing |
US7957206B2 (en) | 2008-04-04 | 2011-06-07 | Micron Technology, Inc. | Read circuitry for an integrated circuit having memory cells and/or a memory cell array, and method of operating same |
US9513695B2 (en) * | 2008-06-24 | 2016-12-06 | Virident Systems, Inc. | Methods of managing power in network computer systems |
US8339824B2 (en) | 2008-07-02 | 2012-12-25 | Cooke Laurence H | Nearest neighbor serial content addressable memory |
US8417921B2 (en) | 2008-08-15 | 2013-04-09 | Apple Inc. | Running-min and running-max instructions for processing vectors using a base value from a key element of an input vector |
US8555037B2 (en) | 2008-08-15 | 2013-10-08 | Apple Inc. | Processing vectors using wrapping minima and maxima instructions in the macroscalar architecture |
US8259509B2 (en) | 2008-08-18 | 2012-09-04 | Elpida Memory, Inc. | Semiconductor memory device and method with auxiliary I/O line assist circuit and functionality |
ITRM20080543A1 (it) | 2008-10-09 | 2010-04-10 | Micron Technology Inc | Architettura e metodo per la programmazione di memorie. |
KR101596283B1 (ko) | 2008-12-19 | 2016-02-23 | 삼성전자 주식회사 | 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치 |
KR101622922B1 (ko) | 2009-03-06 | 2016-05-20 | 삼성전자 주식회사 | 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치 |
US8484276B2 (en) | 2009-03-18 | 2013-07-09 | International Business Machines Corporation | Processing array data on SIMD multi-core processor architectures |
KR20100134235A (ko) | 2009-06-15 | 2010-12-23 | 삼성전자주식회사 | 반도체 메모리 장치 |
US7898864B2 (en) | 2009-06-24 | 2011-03-01 | Sandisk Corporation | Read operation for memory with compensation for coupling based on write-erase cycles |
US8412985B1 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Hardwired remapped memory |
US8412987B2 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Non-volatile memory to store memory remap information |
US8238173B2 (en) | 2009-07-16 | 2012-08-07 | Zikbit Ltd | Using storage cells to perform computation |
US9076527B2 (en) | 2009-07-16 | 2015-07-07 | Mikamonu Group Ltd. | Charge sharing in a TCAM array |
JP4951041B2 (ja) | 2009-08-06 | 2012-06-13 | 株式会社東芝 | 半導体記憶装置 |
US20120135225A1 (en) | 2009-08-18 | 2012-05-31 | Andre Colas | Multi-layer Transdermal Patch |
US8059438B2 (en) | 2009-08-28 | 2011-11-15 | International Business Machines Corporation | Content addressable memory array programmed to perform logic operations |
US8077532B2 (en) | 2009-09-02 | 2011-12-13 | Micron Technology, Inc. | Small unit internal verify read in a memory device |
US8482975B2 (en) | 2009-09-14 | 2013-07-09 | Micron Technology, Inc. | Memory kink checking |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
US20120246380A1 (en) | 2009-10-21 | 2012-09-27 | Avidan Akerib | Neighborhood operations for parallel processing |
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 |
US8639885B2 (en) * | 2009-12-21 | 2014-01-28 | Oracle America, Inc. | Reducing implementation costs of communicating cache invalidation information in a multicore processor |
US8605015B2 (en) | 2009-12-23 | 2013-12-10 | Syndiant, Inc. | Spatial light modulator with masking-comparators |
JP2011146102A (ja) | 2010-01-15 | 2011-07-28 | Elpida Memory Inc | 半導体装置及びデータ処理システム |
CN102141905B (zh) | 2010-01-29 | 2015-02-25 | 上海芯豪微电子有限公司 | 一种处理器体系结构 |
US8164942B2 (en) | 2010-02-01 | 2012-04-24 | International Business Machines Corporation | High performance eDRAM sense amplifier |
US8533245B1 (en) | 2010-03-03 | 2013-09-10 | Altera Corporation | Multipliers with a reduced number of memory blocks |
US9317536B2 (en) | 2010-04-27 | 2016-04-19 | Cornell University | System and methods for mapping and searching objects in multidimensional space |
KR101119371B1 (ko) | 2010-04-29 | 2012-03-06 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 이의 동작 방법 |
US8559232B2 (en) | 2010-05-03 | 2013-10-15 | Aplus Flash Technology, Inc. | DRAM-like NVM memory array and sense amplifier design for high temperature and high endurance operation |
US8351278B2 (en) | 2010-06-23 | 2013-01-08 | International Business Machines Corporation | Jam latch for latching memory array output data |
KR101143471B1 (ko) | 2010-07-02 | 2012-05-11 | 에스케이하이닉스 주식회사 | 센스앰프 및 이를 포함하는 반도체 장치 |
US20120017039A1 (en) | 2010-07-16 | 2012-01-19 | Plx Technology, Inc. | Caching using virtual memory |
US8462532B1 (en) | 2010-08-31 | 2013-06-11 | Netlogic Microsystems, Inc. | Fast quaternary content addressable memory cell |
US8347154B2 (en) | 2010-09-21 | 2013-01-01 | International Business Machines Corporation | Use of hashing function to distinguish random and repeat errors in a memory system |
US8904115B2 (en) | 2010-09-28 | 2014-12-02 | Texas Instruments Incorporated | Cache with multiple access pipelines |
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 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置 |
DE112011103433B4 (de) * | 2010-11-26 | 2019-10-31 | International Business Machines Corporation | Verfahren, System und Programm zum Steuern von Cache-Kohärenz |
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 | 株式会社東芝 | 不揮発性半導体メモリ |
US9432298B1 (en) | 2011-12-09 | 2016-08-30 | P4tents1, LLC | System, method, and computer program product for improving memory systems |
US8725730B2 (en) | 2011-05-23 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Responding to a query in a data processing system |
US8856456B2 (en) * | 2011-06-09 | 2014-10-07 | Apple Inc. | Systems, methods, and devices for cache block coherence |
US8706958B2 (en) | 2011-09-01 | 2014-04-22 | Thomas Hein | Data mask encoding in data bit inversion scheme |
US20140247673A1 (en) | 2011-10-28 | 2014-09-04 | Naveen Muralimanohar | Row shifting shiftable memory |
US8891297B2 (en) | 2011-11-01 | 2014-11-18 | Micron Technology, Inc. | Memory cell sensing |
KR101321481B1 (ko) | 2011-11-04 | 2013-10-28 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이를 위한 테스트 회로 |
US9830158B2 (en) | 2011-11-04 | 2017-11-28 | Nvidia Corporation | Speculative execution and rollback |
KR20130052971A (ko) | 2011-11-14 | 2013-05-23 | 삼성전자주식회사 | 비휘발성 메모리 장치의 동작 방법 |
GB2511957B (en) | 2011-11-22 | 2015-02-11 | Mips Tech Inc | Processor with kernel mode access to user space virtual addresses |
JP5803614B2 (ja) * | 2011-11-29 | 2015-11-04 | ソニー株式会社 | 不揮発性キャッシュメモリ、不揮発性キャッシュメモリの処理方法、コンピュータシステム |
CN103959237B (zh) | 2011-11-30 | 2016-09-28 | 英特尔公司 | 用于提供向量横向比较功能的指令和逻辑 |
KR20130072869A (ko) | 2011-12-22 | 2013-07-02 | 에스케이하이닉스 주식회사 | 프리차지 회로 및 비휘발성 메모리 장치 |
CN104011657B (zh) | 2011-12-22 | 2016-10-12 | 英特尔公司 | 用于向量计算和累计的装置和方法 |
US20130173834A1 (en) * | 2011-12-30 | 2013-07-04 | Advanced Micro Devices, Inc. | Methods and apparatus for injecting pci express traffic into host cache memory using a bit mask in the transaction layer steering tag |
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 |
US9069684B2 (en) | 2012-07-16 | 2015-06-30 | Nvidia Corporation | System, method, and computer program product for invalidatng cache lines |
US20140095801A1 (en) * | 2012-09-28 | 2014-04-03 | Devadatta V. Bodas | System and method for retaining coherent cache contents during deep power-down operations |
US9223717B2 (en) * | 2012-10-08 | 2015-12-29 | Wisconsin Alumni Research Foundation | Computer cache system providing multi-line invalidation messages |
US20140173216A1 (en) * | 2012-12-18 | 2014-06-19 | Advanced Micro Devices, Inc. | Invalidation of Dead Transient Data in Caches |
KR102062301B1 (ko) | 2013-01-03 | 2020-01-03 | 삼성전자주식회사 | 메모리 장치의 페이지 복사 방법 및 메모리 시스템의 페이지 관리 방법 |
US20140215185A1 (en) | 2013-01-29 | 2014-07-31 | Atmel Norway | Fetching instructions of a loop routine |
US9158667B2 (en) | 2013-03-04 | 2015-10-13 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9424031B2 (en) * | 2013-03-13 | 2016-08-23 | Intel Corporation | Techniques for enabling bit-parallel wide string matching with a SIMD register |
US9171153B2 (en) | 2013-05-17 | 2015-10-27 | Hewlett-Packard Development Company, L.P. | Bloom filter with memory element |
US8964496B2 (en) | 2013-07-26 | 2015-02-24 | Micron Technology, Inc. | Apparatuses and methods for performing compare operations using sensing circuitry |
US8971124B1 (en) | 2013-08-08 | 2015-03-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US10133678B2 (en) * | 2013-08-28 | 2018-11-20 | Advanced Micro Devices, Inc. | Method and apparatus for memory management |
US9153305B2 (en) | 2013-08-30 | 2015-10-06 | Micron Technology, Inc. | Independently addressable memory array address spaces |
US9019785B2 (en) | 2013-09-19 | 2015-04-28 | Micron Technology, Inc. | Data shifting via a number of isolation devices |
US9449675B2 (en) | 2013-10-31 | 2016-09-20 | Micron Technology, Inc. | Apparatuses and methods for identifying an extremum value stored in an array of memory cells |
US9430191B2 (en) | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
US20150270015A1 (en) | 2014-03-19 | 2015-09-24 | Micron Technology, Inc. | Memory mapping |
US9665153B2 (en) * | 2014-03-21 | 2017-05-30 | Intel Corporation | Selecting a low power state based on cache flush latency determination |
US9934856B2 (en) | 2014-03-31 | 2018-04-03 | Micron Technology, Inc. | Apparatuses and methods for comparing data patterns in memory |
CN106415522B (zh) | 2014-05-08 | 2020-07-21 | 美光科技公司 | 存储器内轻量一致性 |
CN106462501B (zh) | 2014-05-08 | 2019-07-09 | 美光科技公司 | 基于混合存储器立方体系统互连目录的高速缓冲存储器一致性方法 |
US9910787B2 (en) | 2014-06-05 | 2018-03-06 | Micron Technology, Inc. | Virtual address table |
US9496023B2 (en) | 2014-06-05 | 2016-11-15 | Micron Technology, Inc. | Comparison operations on logical representations of values in memory |
US9704540B2 (en) | 2014-06-05 | 2017-07-11 | Micron Technology, Inc. | Apparatuses and methods for parity determination using sensing circuitry |
US9786335B2 (en) | 2014-06-05 | 2017-10-10 | Micron Technology, Inc. | Apparatuses and methods for 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 |
US9455020B2 (en) | 2014-06-05 | 2016-09-27 | Micron Technology, Inc. | Apparatuses and methods for performing an exclusive or operation using sensing circuitry |
US9711206B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
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 |
US9711207B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9449674B2 (en) | 2014-06-05 | 2016-09-20 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9747961B2 (en) | 2014-09-03 | 2017-08-29 | Micron Technology, Inc. | Division operations in memory |
US9898252B2 (en) | 2014-09-03 | 2018-02-20 | Micron Technology, Inc. | Multiplication operations in memory |
US9589602B2 (en) | 2014-09-03 | 2017-03-07 | Micron Technology, Inc. | Comparison operations in memory |
US9847110B2 (en) | 2014-09-03 | 2017-12-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector |
US9740607B2 (en) | 2014-09-03 | 2017-08-22 | Micron Technology, Inc. | Swap operations in memory |
US9904515B2 (en) | 2014-09-03 | 2018-02-27 | Micron Technology, Inc. | Multiplication operations in memory |
US10068652B2 (en) | 2014-09-03 | 2018-09-04 | Micron Technology, Inc. | Apparatuses and methods for determining population count |
US9836277B2 (en) * | 2014-10-01 | 2017-12-05 | Samsung Electronics Co., Ltd. | In-memory popcount support for real time analytics |
CN104317737A (zh) * | 2014-10-10 | 2015-01-28 | 浪潮集团有限公司 | 一种不需要硬件支持实现基于程序同步点高速缓存一致性的方法 |
US9811464B2 (en) * | 2014-12-11 | 2017-11-07 | Intel Corporation | Apparatus and method for considering spatial locality in loading data elements for execution |
US20160188341A1 (en) * | 2014-12-24 | 2016-06-30 | Elmoustapha Ould-Ahmed-Vall | Apparatus and method for fused add-add instructions |
US9659605B1 (en) | 2016-04-20 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
-
2016
- 2016-03-10 US US15/066,674 patent/US10262721B2/en active Active
-
2017
- 2017-03-07 CN CN201780015908.1A patent/CN108780432B/zh active Active
- 2017-03-07 WO PCT/US2017/021041 patent/WO2017155915A1/en active Application Filing
- 2017-03-07 EP EP17763851.7A patent/EP3427156B1/en active Active
- 2017-03-10 TW TW106108061A patent/TWI620063B/zh active
-
2018
- 2018-08-24 US US16/112,563 patent/US10199088B2/en active Active
-
2019
- 2019-02-01 US US16/265,623 patent/US10878883B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW591384B (en) * | 2001-05-16 | 2004-06-11 | Advanced Micro Devices Inc | Method and system for speculatively invalidating lines in a cache |
US20040059871A1 (en) * | 2002-08-08 | 2004-03-25 | International Business Machines Corporation | Local invalidation buses for a highly scalable shared cache memory hierarchy |
US20080205185A1 (en) * | 2007-02-23 | 2008-08-28 | Hynix Semiconductor Inc. | Semiconductor memory device and its driving method |
US20160026571A1 (en) * | 2014-07-24 | 2016-01-28 | Nec Corporation | Information processing device, memory order guarantee method, and recording medium storing program |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI804860B (zh) * | 2020-12-14 | 2023-06-11 | 南韓商韓領有限公司 | 用於使區域快取同步的電腦實行系統以及方法 |
US11704244B2 (en) | 2020-12-14 | 2023-07-18 | Coupang Corp. | System and method for local cache synchronization |
TWI824780B (zh) * | 2022-01-21 | 2023-12-01 | 美商聖圖爾科技公司 | 微處理器及其處理零值資料的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170262369A1 (en) | 2017-09-14 |
EP3427156A1 (en) | 2019-01-16 |
EP3427156B1 (en) | 2021-05-05 |
US10262721B2 (en) | 2019-04-16 |
US10878883B2 (en) | 2020-12-29 |
US10199088B2 (en) | 2019-02-05 |
CN108780432A (zh) | 2018-11-09 |
EP3427156A4 (en) | 2019-11-06 |
US20180366180A1 (en) | 2018-12-20 |
CN108780432B (zh) | 2021-11-02 |
US20190164592A1 (en) | 2019-05-30 |
WO2017155915A1 (en) | 2017-09-14 |
TW201738755A (zh) | 2017-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI620063B (zh) | 用於快取無效之裝置及方法 | |
US11915741B2 (en) | Apparatuses and methods for logic/memory devices | |
US11599475B2 (en) | Apparatuses and methods for compute enabled cache | |
TWI620194B (zh) | 用於記憶體器件之裝置及方法以作為程式化指令之一儲存 | |
CN109416918B (zh) | 库到库数据传送 | |
CN109003640B (zh) | 存储器中子阵列之间的数据传送 | |
TW201841131A (zh) | 用於操作神經網路的裝置及方法 | |
TW201706855A (zh) | 記憶體中之轉譯後備緩衝器 | |
US20240354254A1 (en) | Apparatuses and methods for compute enabled cache |