[go: up one dir, main page]

TWI570561B - Memory apparatus and method for operating cache - Google Patents

Memory apparatus and method for operating cache Download PDF

Info

Publication number
TWI570561B
TWI570561B TW104117830A TW104117830A TWI570561B TW I570561 B TWI570561 B TW I570561B TW 104117830 A TW104117830 A TW 104117830A TW 104117830 A TW104117830 A TW 104117830A TW I570561 B TWI570561 B TW I570561B
Authority
TW
Taiwan
Prior art keywords
cache memory
data
cache
memory
location
Prior art date
Application number
TW104117830A
Other languages
Chinese (zh)
Other versions
TW201617888A (en
Inventor
羅伯特M 沃克
Original Assignee
美光科技公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美光科技公司 filed Critical 美光科技公司
Publication of TW201617888A publication Critical patent/TW201617888A/en
Application granted granted Critical
Publication of TWI570561B publication Critical patent/TWI570561B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing or allocation; Relocation with look ahead addressing means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1021Hit rate improvement
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/221Static RAM
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/304In main memory subsystem
    • G06F2212/3042In main memory subsystem being part of a memory device, e.g. cache DRAM
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/305Providing cache or TLB in specific location of a processing system being part of a memory device, e.g. cache DRAM
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

記憶體設備及操作快取記憶體之方法 Memory device and method of operating memory

本發明一般而言係關於半導體記憶體及方法,且更特定而言係關於用於一快取記憶體結構之設備及方法。 The present invention relates generally to semiconductor memory and methods, and more particularly to apparatus and methods for a cache memory structure.

記憶體裝置通常經提供作為計算裝置或其他電子裝置中之內部半導體積體電路。存在包含揮發性及非揮發性記憶體之諸多不同類型之記憶體。揮發性記憶體可需要電力以維持其資料(例如,使用者資料、錯誤資料等),且包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)及同步動態隨機存取記憶體(SDRAM)以及其他揮發性記憶體。非揮發性記憶體可藉由在未被供電時保留所儲存資料而提供持久之資料,且可包含NAND快閃記憶體、NOR快閃記憶體、唯讀記憶體(ROM)、電可抹除可程式化ROM(EEPROM)、可抹除可程式化ROM(EPROM)及電阻可變記憶體,諸如相變隨機存取記憶體(PCRAM)、電阻式隨機存取記憶體(RRAM)及磁阻式隨機存取記憶體(MRAM)以及其他非揮發性記憶體。 Memory devices are typically provided as internal semiconductor integrated circuits in computing devices or other electronic devices. There are many different types of memory containing volatile and non-volatile memory. Volatile memory can require power to maintain its data (eg, user data, error data, etc.) and includes random access memory (RAM), dynamic random access memory (DRAM), and synchronous dynamic random access memory. Body (SDRAM) and other volatile memory. Non-volatile memory provides long-lasting data by retaining stored data when not powered, and can include NAND flash memory, NOR flash memory, read-only memory (ROM), and electrically erasable Programmable ROM (EEPROM), erasable programmable ROM (EPROM) and resistive variable memory such as phase change random access memory (PCRAM), resistive random access memory (RRAM) and magnetoresistive Random access memory (MRAM) and other non-volatile memory.

一記憶體系統可包含一快取記憶體,該快取記憶體可小於及/或快於該系統之其他記憶體(例如,可稱為主記憶體之DRAM、NAND、磁碟儲存裝置、固態硬碟機(SSD)等)。作為一實例,快取記憶體可包括DRAM記憶體。一記憶體系統可快取資料以改良該記憶體系統之效能。因此,提供遞送記憶體系統之經改良效能之快取記憶體係合意 的。改良快取記憶體之延時及命中率係可提供記憶體系統之經改良效能之效能特性。 A memory system can include a cache memory that can be smaller and/or faster than other memory of the system (eg, DRAM, NAND, disk storage, solid state, which can be referred to as main memory) Hard disk drive (SSD), etc.). As an example, the cache memory can include DRAM memory. A memory system can cache data to improve the performance of the memory system. Therefore, it is desirable to provide an improved performance cache memory system for delivering a memory system. of. The improved cache memory latency and hit rate provide improved performance performance of the memory system.

100‧‧‧系統 100‧‧‧ system

102‧‧‧互連匯流排 102‧‧‧Interconnect bus

104‧‧‧佇列 104‧‧‧伫

110‧‧‧快取記憶體DRAM裝置/快取記憶體DRAM 110‧‧‧Cache Memory DRAM Device / Cache Memory DRAM

112‧‧‧快取記憶體控制器 112‧‧‧Cache Memory Controller

114‧‧‧輸入介面 114‧‧‧Input interface

115‧‧‧感測放大器 115‧‧‧Sense Amplifier

116‧‧‧輸出介面 116‧‧‧Output interface

117‧‧‧比較邏輯 117‧‧‧Comparative logic

118‧‧‧陣列 118‧‧‧Array

119‧‧‧感測電路 119‧‧‧Sensor circuit

120‧‧‧記憶體裝置 120‧‧‧ memory device

122‧‧‧控制器 122‧‧‧ Controller

124‧‧‧匯流排 124‧‧‧ Busbars

210‧‧‧快取記憶體DRAM裝置/快取記憶體DRAM 210‧‧‧Cache Memory DRAM Device / Cache Memory DRAM

220‧‧‧記憶體裝置 220‧‧‧ memory device

230-0‧‧‧頁 230-0‧‧‧

230-R‧‧‧頁 Page 230-R‧‧‧

232-0‧‧‧頁 232-0‧‧‧

232-1‧‧‧頁 Page 232-1‧‧‧

232-(S-1)‧‧‧頁 232-(S-1)‧‧‧Page

232-S‧‧‧頁 232-S‧‧‧

234-0‧‧‧區塊 234-0‧‧‧ Block

234-(P-1)‧‧‧區塊 234-(P-1)‧‧‧ Block

340‧‧‧槽 340‧‧‧ slots

342‧‧‧位址 342‧‧‧ address

344‧‧‧有效位元 344‧‧‧ Valid Bits

346‧‧‧已變更位元 346‧‧‧ changed bits

348‧‧‧資料 348‧‧‧Information

432-1‧‧‧快取記憶體頁/頁 432-1‧‧‧Cache Memory Page/Page

432-2‧‧‧快取記憶體頁/頁 432-2‧‧‧Cache Memory Page/Page

452-(M-1)‧‧‧槽 452-(M-1)‧‧‧ slot

452-(M/2)‧‧‧槽 452-(M/2)‧‧‧ slots

452-(M/4)‧‧‧槽 452-(M/4)‧‧‧ slots

560‧‧‧命令 560‧‧‧ Order

562‧‧‧命令指示符 562‧‧‧Command indicator

564‧‧‧位址 564‧‧‧ address

566‧‧‧異動ID 566‧‧‧Transaction ID

648‧‧‧資料 648‧‧‧Information

666‧‧‧異動ID 666‧‧‧Transaction ID

672‧‧‧回應 672‧‧‧Respond

674‧‧‧回應 674‧‧‧Respond

676‧‧‧命中指示符 676‧‧‧ hit indicator

678‧‧‧遺漏指示符 678‧‧‧ Missing indicator

742‧‧‧位址 742‧‧‧ address

748‧‧‧資料 748‧‧‧Information

766‧‧‧異動ID 766‧‧‧Transaction ID

782‧‧‧回應 782‧‧‧Respond

784‧‧‧回應 784‧‧‧Respond

786‧‧‧寫入完成指示符 786‧‧‧Write completion indicator

M-1‧‧‧位置 M-1‧‧‧ position

M-2‧‧‧位置 M-2‧‧‧ position

M/2‧‧‧位置 M/2‧‧‧ position

(M/2)-1‧‧‧位置 (M/2)-1‧‧‧ position

圖1圖解說明根據本發明之若干實施例之呈包含一快取記憶體之一系統之形式之一設備之一方塊圖。 1 illustrates a block diagram of one of the devices in the form of a system including a cache memory in accordance with several embodiments of the present invention.

圖2係圖解說明根據本發明之若干實施例之自一記憶體裝置之一記憶體映射至快取記憶體之資料之映射之一方塊圖。 2 is a block diagram illustrating a mapping of data mapped from one memory of a memory device to a cache memory in accordance with some embodiments of the present invention.

圖3圖解說明根據本發明之若干實施例之快取記憶體中之一快取記憶體項目。 3 illustrates one cache memory item in a cache memory in accordance with several embodiments of the present invention.

圖4A及圖4B圖解說明根據本發明之若干實施例之快取記憶體中之一頁之內容。 4A and 4B illustrate the contents of a page in a cache memory in accordance with several embodiments of the present invention.

圖5圖解說明根據本發明之若干實施例之與包括快取記憶體之一設備相關聯之一命令。 Figure 5 illustrates one of the commands associated with one of the devices including the cache memory in accordance with several embodiments of the present invention.

圖6A至圖6B圖解說明根據本發明之若干實施例之對與包括快取記憶體之一設備相關聯之一讀取命令之回應。 6A-6B illustrate a response to a read command associated with one of the devices including the cache memory, in accordance with several embodiments of the present invention.

圖7A至圖7B圖解說明根據本發明之若干實施例之對與包括快取記憶體之一設備相關聯之一寫入命令之回應。 7A-7B illustrate a response to a write command associated with one of the devices including the cache memory, in accordance with several embodiments of the present invention.

本發明包含用於一快取記憶體結構之設備及方法。包含根據本發明之一快取記憶體結構之一實例性設備可包含經組態以每記憶體單元頁儲存多個快取記憶體項目之一記憶體單元陣列。該設備可包含感測電路,該感測電路經組態以決定對應於來自一快取記憶體控制器之一請求之快取記憶體資料是否位於對應於該請求的陣列中之一位置處,且將指示快取記憶體資料是否位於對應於該請求之該陣列中的該位置處之一回應傳回至該快取記憶體控制器。 The present invention includes apparatus and methods for a cache memory structure. An exemplary device comprising a cache memory structure in accordance with the present invention can include an array of memory cells configured to store a plurality of cache memory items per memory unit page. The device can include a sensing circuit configured to determine whether a cache memory data corresponding to a request from one of the cache memory controllers is located at a location in the array corresponding to the request, And the response indicating whether the cache memory data is located at the location in the array corresponding to the request is returned to the cache controller.

在若干實施例中,本發明之快取記憶體結構可提供映射至一記 憶體裝置(例如,一CDRAM裝置、STT-RAM裝置、PCM裝置(舉例而言)以及其他記憶體裝置)中之同一頁(例如,列)上之多個快取記憶體項目,此可允許平行檢查記憶體裝置上之多個快取記憶體項目。在若干實施例中,與先前之方法相比,本發明之快取記憶體結構可提供減少之能量消耗及/或經改良延遲。舉例而言,在若干實施例中,可將比較邏輯(例如,比較器)嵌入於感測電路或快取記憶體(例如,CDRAM)中之其他地方內,以在不將資料(例如,標籤資料及/或快取記憶體資料)傳送出CDRAM(例如,經由一輸入/輸出(I/O)線)之情況下平行執行多個快取記憶體項目之比較。可比較來自命令之標籤資料與CDRAM之快取記憶體項目中之標籤資料,以決定所請求資料是否位於CDRAM中或CDRAM是否準備好將對應於一命令之資料寫入至CDRAM。使用CDRAM上之感測電路執行此等比較可允許在(舉例而言)CDRAM與一快取記憶體控制器之間不傳送資料之情況下執行命令。在若干實施例中,一快取記憶體結構可包括用以接收命令及發送回應之雙(例如,單獨的)介面(例如,一輸入介面及一輸出介面)。 In several embodiments, the cache memory structure of the present invention can provide a mapping to a record Multiple cache memory items on the same page (eg, a column) of a memory device (eg, a CDRAM device, an STT-RAM device, a PCM device (for example), and other memory devices), which may allow Parallel inspection of multiple cache memory items on the memory device. In several embodiments, the cache memory structure of the present invention can provide reduced energy consumption and/or improved delay as compared to prior methods. For example, in some embodiments, comparison logic (eg, a comparator) can be embedded in a sensing circuit or elsewhere in a cache memory (eg, CDRAM) to not include data (eg, tags) Data and/or cache memory data) A comparison of multiple cache memory items is performed in parallel with the transfer of CDRAM (eg, via an input/output (I/O) line). The tag data from the command tag data and the CDRAM cache memory item can be compared to determine whether the requested data is in the CDRAM or whether the CDRAM is ready to write the data corresponding to a command to the CDRAM. Performing such comparisons using the sensing circuitry on the CDRAM may allow execution of the command without, for example, transferring data between the CDRAM and a cache memory controller. In some embodiments, a cache memory structure can include a dual (eg, separate) interface (eg, an input interface and an output interface) for receiving commands and transmitting responses.

在本發明之以下詳細說明中,參考形成本發明之一部分且其中以圖解說明方式展示可如何實踐本發明之一或多個實施例之附圖。充分詳細地闡述此等實施例以使得熟習此項技術者能夠實踐本發明之實施例,且應理解,可利用其他實施例且可在不背離本發明之範疇之情況下做出程序、電及/或結構之改變。如本文中所使用,標誌符「M」、「N」、「P」、「R」及「S」(尤其係關於圖式中之元件符號)指示可包含經如此標誌之若干特定特徵。如本文中所使用,「若干」一特定事物可係指一或多個此等事物(例如,若干記憶體裝置可係指一或多個記憶體裝置)。 BRIEF DESCRIPTION OF THE DRAWINGS In the following detailed description of the invention, reference to the claims The embodiments are described in sufficient detail to enable those skilled in the art to practice the embodiments of the present invention, and it is understood that other embodiments can be utilized and can be practiced without departing from the scope of the invention. / or structural changes. As used herein, the designations "M", "N", "P", "R", and "S" (especially with respect to the component symbols in the drawings) may include a number of specific features so marked. As used herein, "a plurality of" a particular thing may refer to one or more of such things (eg, a plurality of memory devices may refer to one or more memory devices).

本文中之圖遵循其中第一個數字或前幾個數字對應於圖式之圖編號且剩餘數字識別圖式中之一元件或組件之一編號慣例。可藉由使 用類似之數字來識別不同圖之間的類似元件或組件。舉例而言,120可參考圖1中之元件「20」,且在圖2中一類似元件可參考為220。如將瞭解,可添加、交換及/或消除本文中之各種實施例中所展示之元件以便提供本發明之若干額外實施例。 The figures herein follow the numbering convention in which the first number or the first few digits correspond to the figure number of the drawing and the remaining digits identify one of the elements or components in the drawing. By making Similar numbers are used to identify similar elements or components between different figures. For example, 120 can refer to component "20" in FIG. 1, and a similar component in FIG. 2 can be referred to as 220. As will be appreciated, the elements shown in the various embodiments herein can be added, interchanged, and/or eliminated to provide several additional embodiments of the invention.

圖1係根據本發明之若干實施例之呈包含一快取記憶體之一系統100之形式之一設備之一方塊圖。在圖1中,快取記憶體可係一快取記憶體DRAM(CDRAM)裝置110。在圖1中所展示之實例中,系統100包含一記憶體裝置120、一快取記憶體控制器112、一控制器122、一佇列104及一互連匯流排102。在若干實施例中,CDRAM裝置110、記憶體裝置120、快取記憶體控制器112、控制器122及佇列104亦可視為一設備。CDRAM裝置110包含DRAM記憶體單元之一陣列118及感測電路119。感測電路119可包含與執行由CDRAM裝置110接收之命令相關聯而使用之若干感測放大器115及比較邏輯117(例如,若干比較器)。CDRAM裝置110可經由輸入介面114及輸出介面116耦合至快取記憶體控制器112。輸入介面114可用以在CDRAM裝置110處接收來自快取記憶體控制器112之資訊(例如,命令及/或資料)。輸出介面116可用以將資訊自CDRAM裝置110發送至快取記憶體控制器112。 1 is a block diagram of one of the devices in the form of a system 100 including a cache memory in accordance with several embodiments of the present invention. In FIG. 1, the cache memory can be a cache memory DRAM (CDRAM) device 110. In the example shown in FIG. 1, system 100 includes a memory device 120, a cache controller 112, a controller 122, a queue 104, and an interconnect bus 102. In some embodiments, CDRAM device 110, memory device 120, cache memory controller 112, controller 122, and queue 104 can also be considered a device. The CDRAM device 110 includes an array 118 of DRAM memory cells and a sensing circuit 119. Sensing circuit 119 can include a number of sense amplifiers 115 and comparison logic 117 (eg, a number of comparators) that are used in connection with executing commands received by CDRAM device 110. CDRAM device 110 can be coupled to cache memory controller 112 via input interface 114 and output interface 116. Input interface 114 can be used to receive information (e.g., commands and/or data) from cache memory controller 112 at CDRAM device 110. Output interface 116 can be used to send information from CDRAM device 110 to cache memory controller 112.

在若干實施例中,記憶體裝置120可包含一陣列之記憶體單元(諸如DRAM記憶體單元及/或NAND記憶體單元(舉例而言)以及其他類型之記憶體單元)。記憶體裝置120可用作儲存可由CDRAM裝置110快取之資料之一備份儲存區。 In some embodiments, memory device 120 can include an array of memory cells (such as DRAM memory cells and/or NAND memory cells (for example) and other types of memory cells). The memory device 120 can be used as a backup storage area for storing data that can be cached by the CDRAM device 110.

在若干實施例中,記憶體裝置120可經由匯流排124耦合至控制器122。匯流排124可係一共用之匯流排124或可包括若干單獨匯流排(例如,位址匯流排、資料匯流排、控制匯流排等)以在控制器122與記憶體裝置120之間傳送資訊。在若干實施例中,系統100可包含經由匯流排124耦合在一起之若干記憶體裝置(例如,記憶體裝置120)及若 干控制器(例如,控制器122)。 In some embodiments, memory device 120 can be coupled to controller 122 via bus bar 124. The bus bar 124 can be a shared bus bar 124 or can include a number of individual bus bars (eg, address bus, data bus, control bus, etc.) to transfer information between the controller 122 and the memory device 120. In some embodiments, system 100 can include a number of memory devices (eg, memory device 120) coupled together via bus bar 124 and if A dry controller (eg, controller 122).

在若干實施例中,系統100可經由互連匯流排102耦合至一主機(例如,主機處理器)及/或其他記憶體裝置(未展示)。主機及/或其他記憶體裝置可經由互連匯流排102將資料及/或命令發送至佇列104。系統100可係將資料儲存於記憶體裝置120中且使用CDRAM記憶體裝置110來自記憶體裝置120快取資料之一記憶體系統。系統100亦可快取經由互連匯流排102自一主機及/或其他記憶體裝置接收之資料(例如,在CDRAM裝置110中)。 In some embodiments, system 100 can be coupled to a host (eg, a host processor) and/or other memory device (not shown) via interconnect bus 102. The host and/or other memory device can send data and/or commands to the queue 104 via the interconnect bus 102. System 100 can store data in memory device 120 and use CDRAM memory device 110 to retrieve one of the memory systems from memory device 120. System 100 can also cache data received from a host and/or other memory device via interconnect bus 102 (e.g., in CDRAM device 110).

系統100可藉由將一命令(舉例而言)自佇列104發送至CDRAM 110而快取資料。舉例而言,該命令可係一讀取命令或一寫入命令。可將該命令自佇列104傳達至快取記憶體控制器112且經由輸入介面114傳達至CDRAM 110。經由輸入介面114傳達之命令可包含一命令指示符、標籤資料(例如,一位址)及一異動ID(TID)。 System 100 can cache data by sending a command, for example, from queue 104 to CDRAM 110. For example, the command can be a read command or a write command. The command can be communicated from the queue 104 to the cache controller 112 and to the CDRAM 110 via the input interface 114. The commands communicated via the input interface 114 can include a command indicator, tag data (eg, a single address), and a transaction ID (TID).

在若干實施例中,CDRAM裝置110可藉由定位由讀取命令位址指示之特定快取記憶體項目(例如,槽)而處理一讀取命令。CDRAM裝置110在一單個頁上可包含多個快取記憶體項目,此可允許藉由存取(例如,開啟)一單個頁而檢查多個快取記憶體項目。在若干實施例中,一快取記憶體頁可包含多個快取記憶體項目,其中每一快取記憶體項目包含來自一備份儲存區(例如,記憶體裝置120)之所快取資料之一部分。下文與圖2至圖4相關聯進一步闡述實例性快取記憶體頁及快取記憶體項目。CDRAM裝置110可讀取對應於所指示快取記憶體項目之資料且使用比較邏輯(例如,比較器)來決定一有效性指示符是否指示對應於命令之資料位於對應於該命令之位址處,(例如,是否設定了快取記憶體項目之一有效位元且讀取命令位址之一區塊位址是否匹配快取記憶體項目之區塊位址位元)。若設定了有效位元且區塊位址匹配,則槽可視為一命中且CDRAM 110可將一適合回應經由輸出 介面116傳回至快取記憶體控制器112。至快取記憶體控制器112之回應可包含一TID及對應於快取記憶體項目之快取記憶體資料。在回應中包含TID可允許快取記憶體控制器112識別該回應對應之特定命令。 舉例而言,若未設定有效位元及/或區塊位址不匹配,則快取記憶體項目可視為一遺漏且CDRAM 110可將指示在讀取命令中所請求之快取記憶體資料並不位於CDRAM 110中之一適合回應經由輸出介面116傳回至快取記憶體控制器112。至快取記憶體控制器112之回應可包含一TID,該TID可由快取記憶體控制器使用以識別該回應對應之特定命令。 In some embodiments, CDRAM device 110 can process a read command by locating a particular cache memory item (e.g., slot) indicated by the read command address. CDRAM device 110 may include multiple cache memory items on a single page, which may allow for the inspection of multiple cache memory items by accessing (eg, turning on) a single page. In some embodiments, a cache memory page can include a plurality of cache memory items, wherein each cache memory item includes cached data from a backup storage area (eg, memory device 120). portion. Exemplary cache memory pages and cache memory items are further illustrated below in connection with Figures 2 through 4. The CDRAM device 110 can read the data corresponding to the indicated cache memory item and use comparison logic (eg, a comparator) to determine whether a validity indicator indicates that the data corresponding to the command is located at an address corresponding to the command. (For example, whether one of the valid bits of the cache memory item is set and the block address of one of the read command addresses matches the block address bit of the cache memory item). If a valid bit is set and the block address matches, the slot can be considered a hit and CDRAM 110 can pass a suitable response via the output. Interface 116 is passed back to cache memory controller 112. The response to the cache controller 112 may include a TID and cache data corresponding to the cache memory item. Including the TID in the response may allow the cache memory controller 112 to identify the particular command corresponding to the response. For example, if the valid bit and/or the block address are not matched, the cache memory item can be regarded as a miss and the CDRAM 110 can indicate the cache data requested in the read command. One of the non-located CDRAMs 110 is adapted to be passed back to the cache controller 112 via the output interface 116. The response to the cache controller 112 can include a TID that can be used by the cache controller to identify the particular command corresponding to the response.

在若干實施例中,CDRAM裝置110可藉由定位由寫入命令位址指示之特定快取記憶體項目(例如,槽)而處理一寫入命令。CDRAM 110可讀取對應於所指示槽之資料且使用位於CDRAM裝置110上之比較邏輯來決定一有效性指示符是否指示有效資料位於對應於該命令中之位址之槽處(例如,是否設定了槽中之有效位元且是否設定了槽中之已變更位元(dirty bit))。未設定有效位元之一決定可指示槽並未正儲存有效資料,使得可將對應於寫入命令之資料寫入至快取記憶體項目。 設定了有效位元但未設定已變更位元之一決定可指示快取記憶體項目正儲存並不與一備份儲存區中之資料不同之有效資料,如此可將資料自寫入命令寫入至快取記憶體項目。可將指示寫入已完成之一回應發送至快取記憶體控制器。該回應可包含一異動ID(TID),該異動ID可識別完成了哪一特定命令。設定了有效位元且設定了已變更位元之一決定可指示將撤出當前位於槽中之資料。在自槽撤出資料之後,將對應於寫入命令之資料寫入至該槽。然後可將指示寫入已完成之一回應發送至快取記憶體控制器112。該回應可包含一TID以及自槽撤出之資料及該資料之位址。系統100然後可將此經撤出資料傳回至一備份儲存區(例如,記憶體裝置120)。 In some embodiments, CDRAM device 110 can process a write command by locating a particular cache memory item (e.g., a slot) indicated by a write command address. The CDRAM 110 can read the data corresponding to the indicated slot and use the comparison logic located on the CDRAM device 110 to determine whether a validity indicator indicates that the valid data is located in a slot corresponding to the address in the command (eg, whether to set The valid bit in the slot and whether the changed bit in the slot is set. One of the unset valid bits determines that the slot is not storing valid data so that data corresponding to the write command can be written to the cache memory item. Setting a valid bit but not setting one of the changed bits determines that the cache memory item is storing valid data that is not different from the data in a backup storage area, so that the data can be written from the write command to Cache memory items. A response indicating that the write has been completed can be sent to the cache controller. The response may include a Transaction ID (TID) that identifies which particular command was completed. Setting a valid bit and setting one of the changed bits determines that the data currently in the slot will be withdrawn. After the data is withdrawn from the slot, the data corresponding to the write command is written to the slot. A response indicating that the write has been completed can then be sent to the cache controller 112. The response may include a TID and the information withdrawn from the slot and the address of the data. System 100 can then pass the withdrawn data back to a backup storage area (e.g., memory device 120).

圖2係圖解說明根據本發明之若干實施例之自一記憶體裝置之一記憶體映射至快取記憶體之資料之映射之一方塊圖。圖2中所展示之實例圖解說明自記憶體裝置220至CDRAM裝置210之資料之直接映射。記憶體裝置220可包含若干區塊(例如,區塊234-0及區塊234-(P-1))且每一區塊可包含記憶體單元之若干頁(例如頁230-0及頁230-R)。一區塊之每一頁可經快取至CDRAM裝置210中之相同位置。舉例而言,一區塊之第一頁(例如,來自區塊234-0或區塊234-(P-1)之頁230-0)可經快取至CDRAM裝置210之前兩個頁(例如,頁232-0及232-1)。來自頁230-0之位置M-1至M/2中之資料可經映射且經快取至CDRAM裝置210之頁232-1。在若干實施例中,來自一記憶體裝置之一個頁可經映射至一CDRAM裝置之前兩個頁(例如,若記憶體裝置中之一頁係CDRAM裝置中之一頁之兩倍大)。舉例而言,一特定記憶體裝置之一4KB頁可經映射至一CDRAM裝置之兩個2KB頁中。在圖2中,來自記憶體裝置220之頁230-0包含位置0、1、…、M-2、M-1,頁230-0經映射至CDRAM裝置210中之頁232-0及232-1。頁230-0之第一半部分,例如位置0至(M/2)-1,經映射至頁232-1且頁230-0之第二半部分,例如位置M/2至M-1,經映射至頁232-0。此外,在圖2中,記憶體裝置220中之區塊之最後一頁(例如,頁230-R)經映射至CDRAM 210中之最後兩個頁(例如,頁232-(S-1)及232-S)。頁230-R之第一半部分經映射至頁232-S且頁230-R之第二半部分經映射至頁232-(S-1)。 2 is a block diagram illustrating a mapping of data mapped from one memory of a memory device to a cache memory in accordance with some embodiments of the present invention. The example shown in FIG. 2 illustrates a direct mapping of data from memory device 220 to CDRAM device 210. The memory device 220 can include a number of blocks (eg, block 234-0 and block 234-(P-1)) and each block can include several pages of memory cells (eg, page 230-0 and page 230) -R). Each page of a block can be cached to the same location in CDRAM device 210. For example, a first page of a block (eg, page 230-0 from block 234-0 or block 234-(P-1)) may be cached to the first two pages of CDRAM device 210 (eg, , pages 232-0 and 232-1). The data from locations M-1 through M/2 of page 230-0 can be mapped and cached to page 232-1 of CDRAM device 210. In some embodiments, a page from a memory device can be mapped to the first two pages of a CDRAM device (eg, if one of the pages in the memory device is twice as large as one of the pages in the CDRAM device). For example, a 4KB page of a particular memory device can be mapped into two 2KB pages of a CDRAM device. In FIG. 2, page 230-0 from memory device 220 includes locations 0, 1, ..., M-2, M-1, and page 230-0 is mapped to pages 232-0 and 232 in CDRAM device 210. 1. The first half of page 230-0, such as position 0 to (M/2)-1, is mapped to page 232-1 and the second half of page 230-0, such as position M/2 to M-1, Mapped to page 232-0. In addition, in FIG. 2, the last page of the block in memory device 220 (eg, page 230-R) is mapped to the last two pages of CDRAM 210 (eg, page 232-(S-1) and 232-S). The first half of page 230-R is mapped to page 232-S and the second half of page 230-R is mapped to page 232-(S-1).

本發明之實施例不限於直接映射。舉例而言,CDRAM裝置210可用作一N路相關聯快取記憶體。亦即,可使用相關聯性來將資料自一記憶體裝置N路映射至一CDRAM裝置。CDRAM裝置可經組態,使得對應於來自一記憶體裝置之資料之一特定部分之一快取記憶體項目(例如,槽)之位置中之每一者可經映射至CDRAM裝置中之同一頁。因此,當將資料定位於CDRAM裝置中時,所請求資料可定位之每一位置(例如槽)係處於CDRAM中之一同一頁上。如此,僅需要開啟、 讀取一個頁,且僅一個頁需要使其標籤資料與來自一命令之標籤資料相比以決定所請求快取記憶體資料是否位於對應於來自一記憶體裝置之資料之一特定部分之CDRAM裝置中之一快取記憶體項目之可能位置中之任一者處。 Embodiments of the invention are not limited to direct mapping. For example, CDRAM device 210 can be used as an N-way associated cache memory. That is, correlation can be used to map data from a memory device to a CDRAM device. The CDRAM device can be configured such that each of the locations of the cache memory item (e.g., slot) corresponding to one of a particular portion of the data from a memory device can be mapped to the same page in the CDRAM device . Thus, when the data is located in the CDRAM device, each location (e.g., slot) to which the requested data can be located is on the same page in the CDRAM. So, just open, Reading a page, and only one page needs to have its tag data compared to the tag data from a command to determine whether the requested cache data is located in a CDRAM device corresponding to a particular portion of the data from a memory device. One of the possible locations of the cache memory item.

圖3圖解說明根據本發明之若干實施例之快取記憶體中之一快取記憶體項目。在若干實施例中,諸如CDRAM之快取記憶體中之一頁可包括若干(例如,多個)快取記憶體項目(例如,槽)。每一槽可包含自一記憶體裝置所快取之資料之一部分以及標籤資料(例如,一位址、一有效位元及一已變更位元)。在圖3中,槽340包含標籤資料,該標籤資料包含一位址342、一有效位元344及一已變更位元346。槽340亦包含資料348(例如,快取記憶體資料)。位址342包含指示槽340之區塊、頁及槽之若干位元。有效位元344包含指示槽中之資料是否有效(例如,包含當前正由CDRAM快取之資料)之一位元且已變更位元346包含指示槽中之資料是否已改變但還未經寫入至一備份儲存區之一位元。資料348可包含表示儲存於槽340中之快取記憶體資料之若干位元。 3 illustrates one cache memory item in a cache memory in accordance with several embodiments of the present invention. In several embodiments, one page of the cache memory, such as CDRAM, can include several (eg, multiple) cache memory items (eg, slots). Each slot may contain a portion of the data cached from a memory device and tag data (eg, a bit address, a valid bit, and a changed bit). In FIG. 3, slot 340 contains tag data including a bit address 342, a valid bit 344, and a changed bit 346. Slot 340 also contains material 348 (e.g., cache memory data). Address 342 contains a number of bits indicating the block, page, and slot of slot 340. Valid bit 344 contains a bit indicating whether the data in the slot is valid (eg, contains data currently being cached by CDRAM) and changed bit 346 contains information indicating whether the data in the slot has changed but has not been written yet One bit to a backup storage area. The data 348 can include a number of bits representing the cache memory data stored in the slot 340.

圖4A及圖4B圖解說明根據本發明之若干實施例之快取記憶體中之一頁之內容。在圖4A中,快取記憶體頁432-1可包含若干快取記憶體項目(例如,槽452-(M-1)及452-M/2)。槽中之每一者可包含標籤資料(其包含一位址、一有效位元及一已變更位元)以及快取記憶體資料。舉例而言,頁432-1可快取對應於來自一備份儲存區之資料之一頁之一第一半部分之資料(例如,若來自該備份儲存區之資料之該頁係快取記憶體頁432-1之兩倍大)。 4A and 4B illustrate the contents of a page in a cache memory in accordance with several embodiments of the present invention. In FIG. 4A, cache memory page 432-1 may include a number of cache memory items (eg, slots 452-(M-1) and 452-M/2). Each of the slots may contain tag data (which includes a bit address, a valid bit, and a changed bit) and cache data. For example, page 432-1 can cache data corresponding to the first half of one of the pages from a backup storage area (eg, if the page from the backup storage area is the cache memory) Page 432-1 is twice as large).

在圖4B中,快取記憶體頁432-2可包含若干快取記憶體項目(例如,槽452-(M-1)及452-M/4)。槽中之每一者可包含標籤資料(其包含一位址、一有效位元及一已變更位元),且還包含快取記憶體資料以 及一路徑索引(way index,WI)。一路徑索引(例如,WI-1或WI-N)可用以指示若干潛在槽中之一特定槽,其中(舉例而言)當CDRAM正使用N路相關聯性時,所請求資料可位於該特定槽中。在此實例中,頁432-2可包含若干槽,該等槽可各自儲存對應於來自一備份儲存區之資料之一頁之四分之一之資料(例如,若來自該備份儲存區之資料之該頁係快取記憶體頁432-2之兩倍大且用2路相關聯性映射快取記憶體頁432-2)。在圖4B中,快取記憶體頁432-2圖解說明2路相關聯性,其中對應於來自一記憶體裝置(例如,一備份儲存區)之位置M-1之資料可位於具有對應之路徑索引WI-1或WI-N之槽452-(M-1)中之任一者中且對應於來自一記憶體裝置之位置M/4之資料可位於具有路徑索引WI-1或WI-N之槽452-(M/4)中之任一者中。在若干實施例中,CDRAM可適應各種程度之相關聯性(例如,N路相關聯性)。 In FIG. 4B, cache memory page 432-2 may include a number of cache memory items (eg, slots 452-(M-1) and 452-M/4). Each of the slots may include tag data (which includes a bit address, a valid bit, and a changed bit), and also includes cache memory data to And a path index (WI). A path index (eg, WI-1 or WI-N) may be used to indicate one of a number of potential slots, where, for example, when CDRAM is using N-way correlation, the requested data may be located at that particular In the slot. In this example, page 432-2 can include a number of slots, each of which can store data corresponding to one-quarter of one page of data from a backup storage area (eg, if data from the backup storage area) This page is twice as large as the cache memory page 432-2 and is cached by the 2-way associative memory page 432-2). In FIG. 4B, cache memory page 432-2 illustrates 2-way correlation, wherein data corresponding to location M-1 from a memory device (eg, a backup storage area) may be located in a corresponding path. The information in any of the slots 452-(M-1) of the index WI-1 or WI-N and corresponding to the location M/4 from a memory device may be located with the path index WI-1 or WI-N. In any of the slots 452-(M/4). In several embodiments, CDRAM can accommodate various degrees of correlation (eg, N-way correlation).

圖5圖解說明根據本發明之若干實施例之與包括快取記憶體之一設備相關聯之一命令560。舉例而言,命令560可係一讀取命令或一寫入命令。命令560可包含一命令指示符562,該命令指示符指示命令類型(例如,讀取命令或寫入命令)。命令560亦可包含標籤資料,該標籤資料包含一位址564,其指示與命令560相關聯之資料之區塊、頁及/或槽。命令560亦包含一異動ID(TID)566,該異動ID可由快取記憶體控制器及/或CDRAM裝置使用以識別在快取記憶體控制器與CDRAM裝置之間傳遞之對應於資料之命令。 FIG. 5 illustrates a command 560 associated with a device including one of cache memories in accordance with several embodiments of the present invention. For example, command 560 can be a read command or a write command. Command 560 can include a command indicator 562 that indicates the type of command (eg, a read command or a write command). The command 560 can also include tag material that includes a bit address 564 that indicates the block, page, and/or slot of the data associated with the command 560. The command 560 also includes a transaction ID (TID) 566 that can be used by the cache controller and/or the CDRAM device to identify commands corresponding to the data communicated between the cache controller and the CDRAM device.

作為一實例,命令560可係可由一CDRAM裝置接收之一讀取命令。CDRAM裝置可藉由定位命令中所指示之特定快取記憶體頁且開啟彼頁而處理該命令。該命令中所指示之一特定槽可位於所開啟之快取記憶體頁中且可讀取該特定槽中之標籤資料。CDRAM裝置上之比較邏輯可用以檢查是否設定了槽中之有效位元且命令之位址中之區塊位址是否匹配槽中之區塊位址位元。若設定了有效位元且區塊位址匹 配,則該槽可視為一命中且CDRAM可將一適合回應傳回至快取記憶體控制器。至快取記憶體控制器之回應可包含一TID及來自特定槽之快取記憶體資料。若未設定有效位元及/或區塊位址不匹配,則該槽視為一遺漏且CDRAM可將一適合回應(例如,指示讀取命令中所請求之資料並不位於CDRAM中之一回應)傳回至快取記憶體控制器。 As an example, command 560 can receive a read command from a CDRAM device. The CDRAM device can process the command by locating the particular cache page indicated in the command and opening the page. One of the specific slots indicated in the command can be located in the cache page that is opened and the tag data in the particular slot can be read. The compare logic on the CDRAM device can be used to check if the valid bit in the slot is set and the block address in the command address matches the block address bit in the slot. If the valid bit is set and the block address is With the match, the slot can be considered a hit and the CDRAM can pass a suitable response back to the cache controller. The response to the cache controller can include a TID and cache data from a particular slot. If the valid bit and/or the block address are not matched, the slot is considered to be a miss and the CDRAM can respond with a suitable response (eg, indicating that the requested data in the read command is not located in the CDRAM) ) is passed back to the cache memory controller.

在若干實施例中,一CDRAM 110可藉由定位一寫入命令之位址中所指示之槽而處理該寫入命令。CDRAM(例如,110)可讀取該槽處之資料且使用比較器來檢查是否設定了該槽中之有效位元且是否設定了已變更位元。若未設定有效位元,則可將來自寫入命令之資料寫入至槽。若設定了有效位元,但未設定已變更位元,則可將來自寫入命令之資料寫入至槽。可將指示寫入已完成之一回應發送至一快取記憶體控制器(例如,112)。該回應可包含一異動ID(TID),該異動ID可由快取記憶體控制器(例如,112)使用以識別完成了哪一特定命令。設定了有效位元且設定了已變更位元之一決定可指示需要撤出當前處於槽中之快取記憶體資料。在自槽撤出快取記憶體資料之後,可將來自寫入命令之快取記憶體資料旋即寫入至該槽。然後可將指示寫入已完成之一適合回應發送至一快取記憶體控制器。該回應可包含一異動ID(TID)以及自槽撤出之資料及該資料之位址。可將所撤出資料自CDRAM傳回至一備份儲存區(例如,記憶體裝置120)。 In some embodiments, a CDRAM 110 can process the write command by locating the slot indicated in the address of a write command. The CDRAM (e.g., 110) can read the data at the slot and use the comparator to check if the valid bit in the slot is set and if the changed bit is set. If a valid bit is not set, the data from the write command can be written to the slot. If a valid bit is set but the changed bit is not set, the data from the write command can be written to the slot. A response indicating that the write has been completed may be sent to a cache controller (e.g., 112). The response may include a transaction ID (TID) that may be used by the cache controller (e.g., 112) to identify which particular command was completed. Setting a valid bit and setting one of the changed bits determines that the cached data currently in the slot needs to be withdrawn. After the cache data is withdrawn from the slot, the cache data from the write command can be immediately written to the slot. A suitable response to the write write can then be sent to a cache controller. The response may include a Transaction ID (TID) and the information withdrawn from the slot and the address of the data. The withdrawn data can be passed back from the CDRAM to a backup storage area (e.g., memory device 120).

圖6A至圖6B圖解說明根據本發明之若干實施例之對與包括快取記憶體之一設備相關聯之一讀取命令之回應。圖6A圖解說明對一讀取命令之一回應672,該回應係一命中。在圖6A中,回應672包含一命中指示符676、一異動ID(TID)666及資料648。命中指示符676可指示該讀取命令中所請求之資料存在於CDRAM中。異動ID 666可用以識別與回應672相關聯之命令。資料648可係自CDRAM讀取之該讀取命令中所請求之快取記憶體資料。可回應於處理一命令之一CDRAM 裝置而在一輸出介面上將回應672自該CDRAM裝置發送至一快取記憶體控制器。CDRAM裝置可在一命令之處理期間於不在CDRAM裝置與快取記憶體控制器之間發送資料(例如,標籤資料)之情況下處理該命令。 6A-6B illustrate a response to a read command associated with one of the devices including the cache memory, in accordance with several embodiments of the present invention. Figure 6A illustrates a response 672 to one of the read commands, the response being a hit. In FIG. 6A, response 672 includes a hit indicator 676, a transaction ID (TID) 666, and data 648. The hit indicator 676 can indicate that the requested data in the read command is present in the CDRAM. The transaction ID 666 can be used to identify the command associated with the response 672. The data 648 can be the cache data requested in the read command read from the CDRAM. Can respond to processing one of the commands CDRAM The device transmits a response 672 from the CDRAM device to a cache memory controller on an output interface. The CDRAM device can process the command during processing of a command without transmitting data (e.g., tag data) between the CDRAM device and the cache controller.

圖6B圖解說明對一讀取命令之一回應674,該回應係一遺漏。在圖6B中,回應674包含一遺漏指示符678及一異動ID(TID)666。遺漏指示符678可指示該讀取命令中所請求之資料不存在於CDRAM中。異動ID 666可用以識別與回應674相關聯之命令。可回應於處理一命令之一CDRAM裝置而在一輸出介面上將回應674自該CDRAM裝置發送至一快取記憶體控制器。CDRAM裝置可在一命令之處理期間於不在CDRAM裝置與快取記憶體控制器之間發送資料(例如,標籤資料)之情況下處理該命令。 Figure 6B illustrates a response 674 to one of the read commands, which is a miss. In FIG. 6B, response 674 includes a missing indicator 678 and a transaction ID (TID) 666. The missing indicator 678 may indicate that the requested material in the read command is not present in the CDRAM. The transaction ID 666 can be used to identify the command associated with the response 674. A response 674 can be sent from the CDRAM device to a cache memory controller on an output interface in response to processing a CDRAM device of a command. The CDRAM device can process the command during processing of a command without transmitting data (e.g., tag data) between the CDRAM device and the cache controller.

圖7A至圖7B圖解說明根據本發明之若干實施例之對與包括快取記憶體之一設備相關聯之一寫入命令之回應。圖7A圖解說明對一寫入命令之一回應782,該寫入命令將資料寫入至其中未設定有效位元或已變更位元(例如,在執行該寫入命令時,資料未被撤出)之一槽。 在圖7A中,回應782包含一寫入完成指示符786及一異動ID(TID)766。寫入完成指示符786可指示該寫入命令中之資料經寫入至CDRAM。異動ID 766可用以識別與回應782相關聯之命令。可回應於處理一命令之一CDRAM裝置而在一輸出介面上將回應782自該CDRAM裝置發送至一快取記憶體控制器。CDRAM裝置可在一命令之處理期間於不在CDRAM裝置與快取記憶體控制器之間發送資料(例如,標籤資料)之情況下處理該命令。 7A-7B illustrate a response to a write command associated with one of the devices including the cache memory, in accordance with several embodiments of the present invention. Figure 7A illustrates a response 782 to a write command that writes data to a valid bit or changed bit (e.g., when the write command is executed, the data is not withdrawn) ) One of the slots. In FIG. 7A, response 782 includes a write completion indicator 786 and a transaction ID (TID) 766. The write completion indicator 786 can indicate that the data in the write command is written to the CDRAM. The transaction ID 766 can be used to identify the command associated with the response 782. A response 782 can be sent from the CDRAM device to a cache memory controller on an output interface in response to processing a CDRAM device of a command. The CDRAM device can process the command during processing of a command without transmitting data (e.g., tag data) between the CDRAM device and the cache controller.

圖7B圖解說明對一寫入命令之一回應784,該寫入命令將資料寫入至其中設定了有效位元及已變更位元(例如,在執行該寫入命令時,資料被撤出)之一槽。在圖7B中,回應784包含一寫入完成指示符 786、一異動ID(TID)766及被撤出之資料之位址742,及自一槽撤出之資料748。寫入完成指示符786可指示該寫入命令中之資料經寫入至CDRAM。異動ID 766可用以識別與回應782相關聯之命令。可由CDRAM裝置自槽讀取被撤出之資料之位址742及被撤出之資料748且在回應784中將其發送至快取記憶體控制器,使得所撤出資料可經寫入至一記憶體裝置。可回應於處理一命令之一CDRAM裝置而在一輸出介面上將回應784自該CDRAM裝置發送至一快取記憶體控制器。 CDRAM裝置可在一命令之處理期間於不在CDRAM裝置與快取記憶體控制器之間發送資料(例如,標籤資料)之情況下處理該命令。 Figure 7B illustrates a response 784 to one of the write commands that writes data to where the valid bit and the changed bit are set (e.g., when the write command is executed, the data is withdrawn) One of the slots. In Figure 7B, response 784 includes a write completion indicator. 786, a transaction ID (TID) 766 and the address 742 of the withdrawn data, and information 748 withdrawn from a slot. The write completion indicator 786 can indicate that the data in the write command is written to the CDRAM. The transaction ID 766 can be used to identify the command associated with the response 782. The address 742 of the withdrawn data and the withdrawn data 748 can be read from the slot by the CDRAM device and sent to the cache controller in response 784 so that the withdrawn data can be written to Memory device. A response 784 can be sent from the CDRAM device to a cache memory controller on an output interface in response to processing a CDRAM device of a command. The CDRAM device can process the command during processing of a command without transmitting data (e.g., tag data) between the CDRAM device and the cache controller.

本發明包含用於一快取記憶體結構之設備及方法。包含根據本發明之一快取記憶體結構之一實例性設備可包含:一記憶體單元陣列,其經組態以每記憶體單元頁儲存多個快取記憶體項目;及感測電路,經組態以決定對應於來自一快取記憶體控制器之一請求之快取記憶體資料是否位於對應於該請求的陣列中之一位置處,且將指示快取記憶體資料是否位於對應於該請求的該陣列中之該位置處之一回應傳回至該快取記憶體控制器。 The present invention includes apparatus and methods for a cache memory structure. An exemplary device comprising a cache memory structure in accordance with the present invention can comprise: a memory cell array configured to store a plurality of cache memory items per memory cell page; and a sensing circuit Configuring to determine whether a cache memory data corresponding to a request from one of the cache memory controllers is located at a location in the array corresponding to the request, and indicating whether the cache memory data is located corresponding to the One of the requested locations in the array is returned to the cache controller.

雖然本文中已圖解說明及闡述了具體實施例,但熟習此項技術者將瞭解,旨在達成相同結果之一配置可替代所展示之具體實施例。本發明意欲涵蓋本發明之一或多個實施例之變更形式或變化形式。應理解,已以一說明性方式而非一限定性方式做出以上說明。在審閱以上說明之後,熟習此項技術者將旋即明瞭以上實施例之組合及本文中未具體闡述之其他實施例。本發明之一或多個實施例之範疇包含其中使用以上架構及方法之其他應用。因此,本發明之一或多個實施例之範疇應參考所附申請專利範圍連同此等申請專利範圍所授權之等效內容之全部範圍來決定。 Although specific embodiments have been illustrated and described herein, it will be understood by those skilled in the art that the <RTIgt; The invention is intended to cover modifications or variations of one or more embodiments of the invention. It should be understood that the above description has been made in an illustrative manner and not in a limiting manner. After reviewing the above description, those skilled in the art will immediately understand the combination of the above embodiments and other embodiments not specifically described herein. The scope of one or more embodiments of the invention encompasses other applications in which the above architectures and methods are used. Therefore, the scope of one or more embodiments of the invention should be determined by the scope of the appended claims.

在前述實施方式中,出於簡化本發明之目的,將某些特徵一起 集合於一單個實施例中。本發明之此方法不應解釋為反映本發明之所揭示實施例必須使用比明確陳述於每一請求項中更多之特徵之一意圖。而是,如以下申請專利範圍反映:發明性標的物在於少於一單個所揭示實施例之所有特徵。因此,特此將以下申請專利範圍併入至實施方案中,其中每一請求項獨立地作為一單獨實施例。 In the foregoing embodiments, certain features are included together for the purpose of simplifying the present invention. Collected in a single embodiment. This method of the invention is not to be interpreted as reflecting that the disclosed embodiments of the invention are intended to use one of the features of the invention. Rather, the scope of the following claims is to be construed that the invention Accordingly, the scope of the following claims is hereby incorporated by reference in its entirety in its entirety in its entirety herein

100‧‧‧系統 100‧‧‧ system

102‧‧‧互連匯流排 102‧‧‧Interconnect bus

104‧‧‧佇列 104‧‧‧伫

110‧‧‧快取記憶體DRAM裝置/快取記憶體DRAM 110‧‧‧Cache Memory DRAM Device / Cache Memory DRAM

112‧‧‧快取記憶體控制器 112‧‧‧Cache Memory Controller

114‧‧‧輸入介面 114‧‧‧Input interface

115‧‧‧感測放大器 115‧‧‧Sense Amplifier

116‧‧‧輸出介面 116‧‧‧Output interface

117‧‧‧比較邏輯 117‧‧‧Comparative logic

118‧‧‧陣列 118‧‧‧Array

119‧‧‧感測電路 119‧‧‧Sensor circuit

120‧‧‧記憶體裝置 120‧‧‧ memory device

122‧‧‧控制器 122‧‧‧ Controller

124‧‧‧匯流排 124‧‧‧ Busbars

Claims (23)

一種記憶體設備,其包括:一記憶體單元陣列,其經組態以每記憶體單元頁儲存多個快取記憶體項目;及感測電路,其經組態以:藉由比較自一快取記憶體中之位置所讀取之標籤資料與來自使用位於該快取記憶體之比較邏輯之一請求之標籤資料,以決定對應於來自一快取記憶體控制器之該請求之快取記憶體資料是否位於對應於該請求的該陣列中之一位置處,其中自該陣列中之該位置所讀取之該標籤資料係唯一被讀取之標籤資料且基於來自該快取記憶體控制器之該請求中的資訊位於該陣列中,且其中該陣列中之該位置對應一記憶體裝置中之一特定位置,該特定位置被映射至對應該請求之該資料之所在處;且將指示快取記憶體資料是否位於對應於該請求的該陣列中之該位置處之一回應傳回至該快取記憶體控制器。 A memory device comprising: a memory cell array configured to store a plurality of cache memory items per memory cell page; and a sensing circuit configured to: compare by a fast Taking the tag data read from the location in the memory and the tag data requested from one of the comparison logics located in the cache memory to determine the cache memory corresponding to the request from a cache memory controller Whether the volume data is located at a location in the array corresponding to the request, wherein the tag data read from the location in the array is the only tag data that is read and based on the controller from the cache memory The information in the request is located in the array, and wherein the location in the array corresponds to a specific location in a memory device, the specific location is mapped to where the corresponding data is requested; and the indication is fast Whether the memory data is located at one of the locations in the array corresponding to the request is returned to the cache controller. 如請求項1之設備,其中該設備經組態以:回應於對應於該請求之快取記憶體資料位於對應於該請求的該陣列中之該位置處之一決定而傳回該快取記憶體資料。 The device of claim 1, wherein the device is configured to: return the cache memory in response to determining that the cache memory data corresponding to the request is located at one of the locations in the array corresponding to the request Body data. 如請求項1之設備,其中該設備經組態以:回應於指示有效資料並不處於對應於該請求的該陣列中之該位置處的一有效性指示符之一狀態而將對應於該請求之快取記憶體資料寫入於該記憶體單元陣列中。 The device of claim 1, wherein the device is configured to: correspond to the request in response to indicating that the valid material is not in a state of a validity indicator at the location in the array corresponding to the request The cache data is written in the memory cell array. 如請求項1之設備,其中該設備經組態以:回應於指示有效資料處於對應於該請求的該陣列中之該位置處的一有效性指示符之 一狀態而自該陣列撤出已變更資料。 The device of claim 1, wherein the device is configured to: respond to a validity indicator indicating that the valid material is at the location in the array corresponding to the request A changed state is withdrawn from the array. 如請求項4之設備,其中該設備經組態以:在自該記憶體單元陣列中之該位置撤出已變更資料之後,將對應於該請求之快取記憶體資料寫入於該陣列中之該位置處。 The device of claim 4, wherein the device is configured to: after the changed data is withdrawn from the location in the array of memory cells, the cache data corresponding to the request is written in the array At that location. 如請求項1至5之設備,其中該設備經組態以:在不將標籤資料發送至該快取記憶體控制器之情況下,決定快取記憶體資料是否位於對應於該請求的該陣列中之該位置處。 The device of claim 1 to 5, wherein the device is configured to: determine whether the cache data is located in the array corresponding to the request without transmitting the tag data to the cache controller In the middle of the location. 如請求項1至5之設備,其中該若干快取記憶體項目中之每一快取記憶體項目係儲存於該記憶體單元陣列之若干頁中之一者上的若干槽中之一者中。 The device of any one of claims 1 to 5, wherein each of the plurality of cache memory items is stored in one of a plurality of slots on one of a plurality of pages of the array of memory cells . 一種用於操作快取記憶體之方法,其包括:自一快取記憶體控制器接收一讀取請求;在不經由一輸入/輸出(I/O)介面傳送來自該快取記憶體之標籤資料之情況下藉由比較自該快取記憶體所讀取之標籤資料與來自使用位於該快取記憶體之比較邏輯之該讀取請求之標籤資料而決定對應於該讀取請求之快取記憶體資料是否位於該快取記憶體中,其中自該快取記憶體中之該位置所讀取之該標籤資料係唯一被讀取之標籤資料且基於來自該快取記憶體控制器之該讀取請求中的資訊位於該快取記憶體中,且其中該快取記憶體中之該位置對應一記憶體裝置中之一特定位置,該特定位置被映射至對應該請求之該資料之所在處;及將指示對應於該讀取請求之該快取記憶體資料是否位於該快取記憶體中之一回應傳回至該快取記憶體控制器。 A method for operating a cache memory, comprising: receiving a read request from a cache memory controller; transmitting a tag from the cache memory without an input/output (I/O) interface In the case of data, the cache corresponding to the read request is determined by comparing the tag data read from the cache memory with the tag data from the read request using the comparison logic located in the cache memory. Whether the memory data is located in the cache memory, wherein the tag data read from the location in the cache memory is the only tag data read and based on the tag from the cache controller The information in the read request is located in the cache memory, and wherein the location in the cache memory corresponds to a specific location in a memory device, the specific location is mapped to the corresponding location of the data And returning to the cache memory controller a response indicating whether the cache memory data corresponding to the read request is located in the cache memory. 如請求項8之方法,其中該方法包含:回應於藉由該比較邏輯進行之對應於該讀取請求之該快取記憶體資料位於該快取記憶體中之一決定而將該快取記憶體資料自該讀取請求傳回至該快取 記憶體控制器。 The method of claim 8, wherein the method comprises: responding to the cache memory by one of the cache memory data corresponding to the read request by the comparison logic being located in the cache memory The body data is passed back to the cache from the read request Memory controller. 如請求項8至9中任一項之方法,其中傳回該回應包含:回應於指示有效資料並不位於該快取記憶體中在對應於該讀取請求之該位置處之一有效性指示符而在該回應中提供指示該快取記憶體資料並不位於該快取記憶體中之一指示。 The method of any one of clauses 8 to 9, wherein the returning the response comprises: responding to the validity indication that the valid material is not located in the cache memory at the location corresponding to the read request And providing an indication in the response that the cache memory data is not located in the cache memory. 如請求項8至9中任一項之方法,其中傳回該回應包含:回應於與該讀取請求相關聯之標籤資料不匹配該快取記憶體中之一對應位置中之標籤資料而在該回應中提供指示該快取記憶體資料並不位於該快取記憶體中之一指示。 The method of any one of clauses 8 to 9, wherein the returning the response comprises: responding to the tag data associated with the read request not matching the tag data in a corresponding location in the cache memory The response provides an indication that the cache memory data is not located in the cache memory. 一種用於操作快取記憶體之方法,其包括:自一快取記憶體控制器接收一寫入請求;藉由比較自該快取記憶體所讀取之標籤資料與來自使用位於該快取記憶體之比較邏輯之該寫入請求之標籤資料而決定有效資料是否位於對應於該寫入請求的該快取記憶體中之一位置處,其中自該快取記憶體中之該位置所讀取之該標籤資料係唯一被讀取之標籤資料且基於來自該快取記憶體控制器之該寫入請求中的資訊位於該快取記憶體中,且其中該快取記憶體中之該位置對應一記憶體裝置中之一特定位置,該特定位置被映射至對應該請求之該資料之所在處;回應於對應於該寫入請求的該快取記憶體中之該位置包含有效資料之一決定而自該位置撤出資料;將對應於該寫入請求之快取記憶體資料寫入至對應於該寫入請求的該快取記憶體中之該位置;及將指示對應於該寫入請求之該快取記憶體資料已被寫入至該快取記憶體之一回應傳回至該快取記憶體控制器。 A method for operating a cache memory, comprising: receiving a write request from a cache memory controller; and comparing the tag data read from the cache memory with the slave access located in the cache The comparison logic of the memory writes the tag data of the request to determine whether the valid data is located at a position in the cache corresponding to the write request, wherein the location is read from the cache memory Taking the tag data as the only tag data to be read and the information based on the write request from the cache controller is located in the cache memory, and wherein the location in the cache memory Corresponding to a specific location in a memory device, the specific location is mapped to the location corresponding to the data requested; and the location in the cache corresponding to the write request includes one of valid data Deciding to withdraw the data from the location; writing the cache data corresponding to the write request to the location in the cache corresponding to the write request; and indicating the corresponding to the write The demand of cache data has been written to one of the cache memory responses are returned to the cache memory controller. 如請求項12之方法,其中決定有效資料是否位於對應於該寫入 請求的該快取記憶體中之該位置處包含:決定一第一指示符及一第二指示符之一狀態。 The method of claim 12, wherein determining whether the valid material is located corresponding to the write The location in the requested cache memory includes: determining a state of a first indicator and a second indicator. 如請求項12至13中任一項之方法,其中該第一指示符係一有效位元且一第二指示符係一已變更位元。 The method of any one of clauses 12 to 13, wherein the first indicator is a valid bit and a second indicator is a changed bit. 如請求項12至13中任一項之方法,其中將該回應傳回至該快取記憶體控制器包含發送自對應於該寫入請求的該快取記憶體中之該位置撤出之該資料。 The method of any one of clauses 12 to 13, wherein the returning the response back to the cache memory controller includes the location of the location in the cache memory corresponding to the write request being withdrawn data. 一種記憶體設備,其包括:一記憶體裝置,其耦合至一控制器;及一快取記憶體,其包括一記憶體單元陣列及感測電路,其中該快取記憶體經由一輸入介面及一輸出介面耦合至一快取記憶體控制器,且其中該快取記憶體經組態以經由該輸入介面藉由定位由一命令所指示之該快取記憶體中之一特定頁以及僅自該特定頁所讀取之資料而接收該命令、處理該命令且經由該輸出介面將一回應傳回至該快取記憶體控制器,其中該快取記憶體中之該特定頁對應一記憶體裝置中之一特定位置,該特定位置被映射至對應該命令之該資料之所在處。 A memory device, comprising: a memory device coupled to a controller; and a cache memory comprising a memory cell array and a sensing circuit, wherein the cache memory is via an input interface and An output interface is coupled to a cache memory controller, and wherein the cache memory is configured to locate a particular page of the cache memory indicated by a command and only from the input interface via the input interface Receiving the command, processing the command, and transmitting a response to the cache controller via the output interface, wherein the specific page in the cache corresponds to a memory A particular location in the device that is mapped to where the data corresponding to the command is located. 如請求項16之設備,其中該感測電路包含用以決定對應於該命令之資料是否位於對應於該命令的該快取記憶體中之一位置處之比較邏輯。 The device of claim 16, wherein the sensing circuit includes comparison logic to determine whether the material corresponding to the command is located at a location in the cache corresponding to the command. 如請求項16至17中任一項之設備,其中該快取記憶體經組態以在不將標籤資料傳送至該快取記憶控制器之情況下處理該命令。 The device of any one of claims 16 to 17, wherein the cache memory is configured to process the command without transferring the tag data to the cache memory controller. 如請求項16至17中任一項之設備,其中該快取記憶體經組態以:藉由以平行邏輯檢查多個快取記憶體項目而處理該命令來決定對應於該命令之資料是否位於對應於該命令之該快取記憶 體中。 The device of any one of claims 16 to 17, wherein the cache memory is configured to: process the command by checking a plurality of cache memory items in parallel logic to determine whether the data corresponding to the command is Located in the cache memory corresponding to the command In the body. 一種記憶體設備,其包括:一記憶體單元陣列,其經組態以每記憶體單元頁儲存多個快取記憶體項目,且每一特定記憶體單元頁經組態以儲存對應於一備份儲存區之特定位址之多個快取記憶體項目;及感測電路,其經組態以:在不將標籤資料自該多個快取記憶體項目傳送至一快取記憶體控制器之情況下,藉由定位由一命令所指示之該快取記憶體中之一特定頁以及僅自該特定頁所讀取之資料而決定快取記憶體資料是否位於對應於該命令中所指示之該備份儲存區之一特定位址的該多個快取記憶體項目中之一者中,其中對應該命令之該資料亦位於該備份儲存區之該特定位址。 A memory device includes: a memory cell array configured to store a plurality of cache memory items per memory unit page, and each specific memory unit page is configured to store a backup corresponding to a backup a plurality of cache memory items at a specific address of the storage area; and a sensing circuit configured to: transfer the tag data from the plurality of cache memory items to a cache memory controller In the case of determining whether the cache memory data is located corresponding to the command in the command by locating a specific page in the cache memory indicated by a command and reading only the data from the specific page. In one of the plurality of cache memory items of a specific address of the backup storage area, the data corresponding to the command is also located at the specific address of the backup storage area. 如請求項20之設備,其中該感測電路經組態以將指示快取記憶體資料是否位於對應於該命令中所指示之該備份儲存區之該特定位址的該多個快取記憶體項目中之一者中之一回應傳回至該快取記憶體控制器。 The device of claim 20, wherein the sensing circuit is configured to indicate whether the cache memory data is located in the plurality of cache memories corresponding to the particular address of the backup storage area indicated in the command One of the items responded back to the cache controller. 如請求項20至21中任一項之設備,其中該感測電路包含用以決定快取記憶體資料是否位於對應於該命令中所指示之該備份儲存區之該特定位址的該多個快取記憶體項目中之一者中之比較邏輯。 The device of any one of claims 20 to 21, wherein the sensing circuit includes the plurality of sensing circuits for determining whether the cache memory material is located at the specific address corresponding to the backup storage area indicated in the command The comparison logic in one of the cached memory items. 如請求項20至21中任一項之設備,其中該感測電路經組態以:藉由開啟該記憶體單元陣列之一特定頁而決定快取記憶體資料是否位於對應於該命令中所指示之該備份儲存區之該特定位址的該多個快取記憶體項目中之一者中。 The device of any one of claims 20 to 21, wherein the sensing circuit is configured to: determine whether the cache memory data is located in the command corresponding to the command by turning on a particular page of the memory cell array One of the plurality of cache memory items indicating the particular address of the backup storage area.
TW104117830A 2014-06-02 2015-06-02 Memory apparatus and method for operating cache TWI570561B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/293,521 US9779025B2 (en) 2014-06-02 2014-06-02 Cache architecture for comparing data

Publications (2)

Publication Number Publication Date
TW201617888A TW201617888A (en) 2016-05-16
TWI570561B true TWI570561B (en) 2017-02-11

Family

ID=54701905

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104117830A TWI570561B (en) 2014-06-02 2015-06-02 Memory apparatus and method for operating cache

Country Status (6)

Country Link
US (3) US9779025B2 (en)
EP (1) EP3149596A4 (en)
KR (1) KR101890506B1 (en)
CN (1) CN106104499B (en)
TW (1) TWI570561B (en)
WO (1) WO2015187529A1 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9779025B2 (en) * 2014-06-02 2017-10-03 Micron Technology, Inc. Cache architecture for comparing data
US9852074B2 (en) * 2015-01-12 2017-12-26 Alcatel Lucent Cache-optimized hash table data structure
US20170177482A1 (en) * 2015-12-18 2017-06-22 Intel Corporation Computing system having multi-level system memory capable of operating in a single level system memory mode
US10474581B2 (en) * 2016-03-25 2019-11-12 Micron Technology, Inc. Apparatuses and methods for cache operations
US20180292991A1 (en) * 2017-04-11 2018-10-11 Micron Technology, Inc. Memory protocol with programmable buffer and cache size
US10372353B2 (en) * 2017-05-31 2019-08-06 Micron Technology, Inc. Apparatuses and methods to control memory operations on buffers
US10845866B2 (en) 2017-06-22 2020-11-24 Micron Technology, Inc. Non-volatile memory system or sub-system
US10402337B2 (en) * 2017-08-03 2019-09-03 Micron Technology, Inc. Cache filter
US11188234B2 (en) * 2017-08-30 2021-11-30 Micron Technology, Inc. Cache line data
US20190065373A1 (en) * 2017-08-30 2019-02-28 Micron Technology, Inc. Cache buffer
US10572389B2 (en) * 2017-12-12 2020-02-25 Advanced Micro Devices, Inc. Cache control aware memory controller
US10534731B2 (en) * 2018-03-19 2020-01-14 Micron Technology, Inc. Interface for memory having a cache and multiple independent arrays
WO2019236427A1 (en) 2018-06-05 2019-12-12 Rambus Inc. Cache dynamic random access memory
KR102753289B1 (en) * 2018-07-17 2025-01-14 에스케이하이닉스 주식회사 Cache memory amd memory system including the same, eviction method of cache memory
KR102767981B1 (en) * 2018-11-14 2025-02-17 에스케이하이닉스 주식회사 Memory system having cache system and method of controlling caching operation in the memory system
CN113597599A (en) 2019-03-18 2021-11-02 拉姆伯斯公司 System application of DRAM component with cache mode
US11243883B2 (en) * 2019-05-24 2022-02-08 Texas Instruments Incorporated Cache coherence shared state suppression

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090129138A1 (en) * 1999-12-27 2009-05-21 Panasonic Corporation Semiconductor Integrated Circuit
US20120215987A1 (en) * 2011-02-17 2012-08-23 Oracle International Corporation Broadcast protocol for a network of caches
TW201351145A (en) * 2012-01-09 2013-12-16 Nvidia Corp Instruction cache power reduction
US20140032855A1 (en) * 2012-07-30 2014-01-30 Fujitsu Limited Information processing apparatus and method
TW201415228A (en) * 2009-03-03 2014-04-16 高通公司 Configurable cache memory and method of configuring the same

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5201041A (en) * 1988-12-29 1993-04-06 International Business Machines Corporation Cache bypass apparatus
US5652723A (en) * 1991-04-18 1997-07-29 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device
JPH04328656A (en) * 1991-04-30 1992-11-17 Toshiba Corp Cache memory
US5367653A (en) 1991-12-26 1994-11-22 International Business Machines Corporation Reconfigurable multi-way associative cache memory
JP3305056B2 (en) 1993-08-31 2002-07-22 沖電気工業株式会社 Dynamic RAM
US5905996A (en) 1996-07-29 1999-05-18 Micron Technology, Inc. Combined cache tag and data memory architecture
US6678815B1 (en) * 2000-06-27 2004-01-13 Intel Corporation Apparatus and method for reducing power consumption due to cache and TLB accesses in a processor front-end
US6606680B2 (en) * 2001-06-29 2003-08-12 International Business Machines Corporation Method and apparatus for accessing banked embedded dynamic random access memory devices
EP1425670A2 (en) 2001-09-14 2004-06-09 Sun Microsystems, Inc. Method and apparatus for decoupling tag and data accesses in a cache memory
JP4160790B2 (en) * 2002-06-28 2008-10-08 株式会社ルネサステクノロジ Semiconductor device
US6944714B2 (en) * 2002-07-30 2005-09-13 Hewlett-Packard Development Company, L.P. Method and apparatus for saving microprocessor power when sequentially accessing the microprocessor's instruction cache
US7284094B2 (en) * 2005-02-09 2007-10-16 International Business Machines Corporation Mechanism and apparatus allowing an N-way set associative cache, implementing a hybrid pseudo-LRU replacement algorithm, to have N L1 miss fetch requests simultaneously inflight regardless of their congruence class
WO2006112111A1 (en) * 2005-04-08 2006-10-26 Matsushita Electric Industrial Co., Ltd. Cache memory system, and control method therefor
US7962694B2 (en) 2006-03-31 2011-06-14 Intel Corporation Partial way hint line replacement algorithm for a snoop filter
US8327072B2 (en) 2008-07-23 2012-12-04 International Business Machines Corporation Victim cache replacement
US20100169578A1 (en) 2008-12-31 2010-07-01 Texas Instruments Incorporated Cache tag memory
US8516230B2 (en) * 2009-12-29 2013-08-20 International Business Machines Corporation SPE software instruction cache
JP2012203560A (en) 2011-03-24 2012-10-22 Toshiba Corp Cache memory and cache system
US8775754B2 (en) * 2011-06-24 2014-07-08 Arm Limited Memory controller and method of selecting a transaction using a plurality of ordered lists
EP2761472B1 (en) * 2011-09-30 2020-04-01 Intel Corporation Memory channel that supports near memory and far memory access
US9753858B2 (en) 2011-11-30 2017-09-05 Advanced Micro Devices, Inc. DRAM cache with tags and data jointly stored in physical rows
BR112014013390A2 (en) * 2011-12-20 2017-06-13 Intel Corp dynamic partial power reduction of memory side cache in 2-tier memory hierarchy
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US8954672B2 (en) 2012-03-12 2015-02-10 Advanced Micro Devices, Inc. System and method for cache organization in row-based memories
US20140047175A1 (en) * 2012-08-09 2014-02-13 International Business Machines Corporation Implementing efficient cache tag lookup in very large cache systems
US9779025B2 (en) * 2014-06-02 2017-10-03 Micron Technology, Inc. Cache architecture for comparing data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090129138A1 (en) * 1999-12-27 2009-05-21 Panasonic Corporation Semiconductor Integrated Circuit
TW201415228A (en) * 2009-03-03 2014-04-16 高通公司 Configurable cache memory and method of configuring the same
US20120215987A1 (en) * 2011-02-17 2012-08-23 Oracle International Corporation Broadcast protocol for a network of caches
TW201351145A (en) * 2012-01-09 2013-12-16 Nvidia Corp Instruction cache power reduction
US20140032855A1 (en) * 2012-07-30 2014-01-30 Fujitsu Limited Information processing apparatus and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Jim Handy,"The Cache Memory Book",Academic Press,1993 *

Also Published As

Publication number Publication date
US9779025B2 (en) 2017-10-03
US20190278712A1 (en) 2019-09-12
WO2015187529A1 (en) 2015-12-10
US11243889B2 (en) 2022-02-08
TW201617888A (en) 2016-05-16
EP3149596A4 (en) 2018-01-24
KR101890506B1 (en) 2018-08-21
CN106104499B (en) 2019-07-19
KR20170012457A (en) 2017-02-02
EP3149596A1 (en) 2017-04-05
US20170364444A1 (en) 2017-12-21
US20150347307A1 (en) 2015-12-03
CN106104499A (en) 2016-11-09
US10303613B2 (en) 2019-05-28

Similar Documents

Publication Publication Date Title
TWI570561B (en) Memory apparatus and method for operating cache
US10437669B2 (en) Apparatuses and methods for selective determination of data error repair
CN111712876B (en) Apparatus and method for subarray addressing
TWI456496B (en) Indirect register access method and system
US20160062883A1 (en) Data storage device and operating method thereof
US9753849B2 (en) Methods for manufacturing and operating a memory device and a method for operating a system having the same
CN113971001B (en) Memory traffic pattern detection in a memory device
US10445252B2 (en) Storage device and operating method performed by the same
CN114556312B (en) Managing data dependencies in hybrid DIMMs for out-of-order processing
KR20180012565A (en) Non-volatile memory system using volatile memory as cache
CN114270317A (en) Hierarchical memory system
CN114258528A (en) Hierarchical memory device
US20130297968A1 (en) Nonvolatile memory controller and a nonvolatile memory system
CN113126902B (en) Execution of commands addressed to a logical block
KR102808909B1 (en) 3-stage hierarchical memory system
US20180357280A1 (en) Trie search engine
US20210373887A1 (en) Command delay
US20210064368A1 (en) Command tracking
CN114341817A (en) Hierarchical memory system
US11782635B2 (en) Method to ensure message arrival before a message pointer
KR102825618B1 (en) Hierarchical memory device
CN114270311B (en) Hierarchical Memory System
CN114258534B (en) Hierarchical memory system
CN114341818B (en) Hierarchical memory device
CN114270324A (en) Hierarchical memory system