CN106104499A - 高速缓冲存储器架构 - Google Patents
高速缓冲存储器架构 Download PDFInfo
- Publication number
- CN106104499A CN106104499A CN201580013810.3A CN201580013810A CN106104499A CN 106104499 A CN106104499 A CN 106104499A CN 201580013810 A CN201580013810 A CN 201580013810A CN 106104499 A CN106104499 A CN 106104499A
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- memory
- cache memory
- response
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/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/0877—Cache access modes
- G06F12/0882—Page mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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/0215—Addressing or allocation; Relocation with look ahead addressing means
-
- 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
-
- 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
- G06F2212/1021—Hit rate 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/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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/22—Employing cache memory using specific memory technology
- G06F2212/221—Static RAM
-
- 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/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/30—Providing cache or TLB in specific location of a processing system
- G06F2212/304—In main memory subsystem
- G06F2212/3042—In main memory subsystem being part of a memory device, e.g. cache DRAM
-
- 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/30—Providing cache or TLB in specific location of a processing system
- G06F2212/305—Providing cache or TLB in specific location of a processing system being part of a memory device, e.g. cache DRAM
-
- 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)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明包含用于高速缓冲存储器架构的设备及方法。包含根据本发明的高速缓冲存储器架构的实例性设备可包含:存储器单元阵列,其经配置以每存储器单元页存储多个高速缓冲存储器条目;及感测电路,其经配置以确定对应于来自高速缓冲存储器控制器的请求的高速缓冲存储器数据是否位于所述阵列中对应于所述请求的位置处,且将指示高速缓冲存储器数据是否位于所述阵列中对应于所述请求的所述位置处的响应返回到所述高速缓冲存储器控制器。
Description
技术领域
本发明一般来说涉及半导体存储器及方法,且更特定来说涉及用于高速缓冲存储器架构的设备及方法。
背景技术
存储器装置通常经提供作为计算装置或其它电子装置中的内部半导体集成电路。存在包含易失性及非易失性存储器的许多不同类型的存储器。易失性存储器可需要电力来维持其数据(例如,用户数据、错误数据等),且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)以及其它易失性存储器。非易失性存储器可通过在未被供电时保留所存储数据而提供持久的数据,且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)及磁阻式随机存取存储器(MRAM)以及其它非易失性存储器。
存储器系统可包含高速缓冲存储器,所述高速缓冲存储器可小于及/或快于所述系统的其它存储器(例如,可称为主存储器的DRAM、NAND、磁盘存储装置、固态驱动器(SSD)等)。作为实例,高速缓冲存储器可包括DRAM存储器。存储器系统可高速缓存数据以改进所述存储器系统的性能。因此,提供实现存储器系统的经改进性能的高速缓冲存储器是合意的。改进高速缓冲存储器的等待时间及命中率是可提供存储器系统的经改进性能的性能特性。
附图说明
图1图解说明根据本发明的若干个实施例的呈包含高速缓冲存储器的系统的形式的设备的框图。
图2是图解说明根据本发明的若干个实施例的从存储器装置的存储器映射到高速缓冲存储器的数据映射的框图。
图3图解说明根据本发明的若干个实施例的高速缓冲存储器中的高速缓冲存储器条目。
图4A及4B图解说明根据本发明的若干个实施例的高速缓冲存储器中的页的内容。
图5图解说明根据本发明的若干个实施例的与包括高速缓冲存储器的设备相关联的命令。
图6A到6B图解说明根据本发明的若干个实施例的对与包括高速缓冲存储器的设备相关联的读取命令的响应。
图7A到7B图解说明根据本发明的若干个实施例的对与包括高速缓冲存储器的设备相关联的写入命令的响应。
具体实施方式
本发明包含用于高速缓冲存储器架构的设备及方法。包含根据本发明的高速缓冲存储器架构的实例性设备可包含经配置以每存储器单元页存储多个高速缓冲存储器条目的存储器单元阵列。所述设备可包含感测电路,所述感测电路经配置以确定对应于来自高速缓冲存储器控制器的请求的高速缓冲存储器数据是否位于所述阵列中对应于所述请求的位置处,且将指示高速缓冲存储器数据是否位于所述阵列中对应于所述请求的所述位置处的响应返回到所述高速缓冲存储器控制器。
在若干个实施例中,本发明的高速缓冲存储器架构可提供映射到存储器装置(例如,CDRAM装置、STT-RAM装置、PCM装置(举例来说)以及其它存储器装置)中的同一页(例如,行)上的多个高速缓冲存储器条目,此可允许并行检查存储器装置上的多个高速缓冲存储器条目。在若干个实施例中,与先前的方法相比,本发明的高速缓冲存储器架构可提供减少的能量消耗及/或经改进等待时间。举例来说,在若干个实施例中,可将比较逻辑(例如,比较器)嵌入于感测电路或高速缓冲存储器(例如,CDRAM)中的其它地方内,以在不将数据(例如,标签数据及/或高速缓冲存储器数据)传送出CDRAM(例如,经由输入/输出(I/O)线)的情况下并行执行多个高速缓冲存储器条目的比较。可将来自命令的标签数据与CDRAM的高速缓冲存储器条目中的标签数据进行比较,以确定所请求数据是否位于CDRAM中或CDRAM是否准备好将对应于命令的数据写入到CDRAM。使用CDRAM上的感测电路执行此类比较可允许在(举例来说)CDRAM与高速缓冲存储器控制器之间不传送数据的情况下执行命令。在若干个实施例中,高速缓冲存储器架构可包括用以接收命令及发送响应的双(例如,单独的)接口(例如,输入接口及输出接口)。
在本发明的以下详细说明中,参考形成本发明的部分且其中以图解说明方式展示可如何实践本发明的一或多个实施例的附图。充分详细地描述这些实施例以使得所属领域的技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可在不背离本发明的范围的情况下做出过程、电及/或结构的改变。如本文中所使用,标志符“M”、“N”、“P”、“R”及“S”(尤其关于图式中的参考编号)指示可包含经如此标志的若干个特定特征。如本文中所使用,“若干个”特定事物可指此类事物中的一或多者(例如,若干个存储器装置可指一或多个存储器装置)。
本文中的图遵循其中第一个数字或前几个数字对应于图式的图编号且剩余数字识别图式中的元件或组件的编号惯例。可通过使用类似的数字来识别不同图之间的类似元件或组件。举例来说,120可指的是图1中的元件“20”,且在图2中类似元件可指代为220。如将了解,可添加、交换及/或消除本文中的各种实施例中所展示的元件以便提供本发明的若干个额外实施例。
图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。
在若干个实施例中,存储器装置120可包含存储器单元(例如DRAM存储器单元及/或NAND存储器单元(举例来说)以及其它类型的存储器单元)阵列。存储器装置120可用作存储可由CDRAM装置110高速缓存的数据的后备存储区。
在若干个实施例中,存储器装置120可经由总线124耦合到控制器122。总线124可为共享总线124或可包括若干个单独总线(例如,地址总线、数据总线、控制总线等)以在控制器122与存储器装置120之间传送信息。在若干个实施例中,系统100可包含经由总线124耦合在一起的若干个存储器装置(例如,存储器装置120)及若干个控制器(例如,控制器122)。
在若干个实施例中,系统100可经由互连总线102耦合到主机(例如,主机处理器)及/或其它存储器装置(未展示)。主机及/或其它存储器装置可经由互连总线102将数据及/或命令发送到队列104。系统100可为将数据存储于存储器装置120中且使用CDRAM存储器装置110来高速缓存来自存储器装置120的数据的存储器系统。系统100还可高速缓存经由互连总线102从主机及/或其它存储器装置接收的数据(例如,在CDRAM装置110中)。
系统100可通过将命令(举例来说)从队列104发送到CDRAM 110而高速缓存数据。举例来说,所述命令可为读取命令或写入命令。可将所述命令从队列104传送到高速缓冲存储器控制器112且经由输入接口114传送到CDRAM 110。经由输入接口114传送的命令可包含命令指示符、标签数据(例如,地址)及事务ID(TID)。
在若干个实施例中,CDRAM装置110可通过定位由读取命令地址指示的特定高速缓冲存储器条目(例如,槽)而处理读取命令。CDRAM装置110在单个页上可包含多个高速缓冲存储器条目,此可允许通过存取(例如,打开)单个页而检查多个高速缓冲存储器条目。在若干个实施例中,高速缓冲存储器页可包含多个高速缓冲存储器条目,其中每一高速缓冲存储器条目包含来自后备存储区(例如,存储器装置120)的所高速缓存数据的一部分。下文与图2到4相关联进一步描述实例性高速缓冲存储器页及高速缓冲存储器条目。CDRAM装置110可读取对应于所指示高速缓冲存储器条目的数据,且使用比较逻辑(例如,比较器)来确定有效性指示符是否指示对应于命令的数据位于对应于所述命令的地址处(例如,是否设定了高速缓冲存储器条目的有效位及读取命令地址的块地址是否匹配高速缓冲存储器条目的块地址位)。如果设定了有效位且块地址匹配,那么槽可视为命中且CDRAM 110可经由输出接口116将适合响应返回到高速缓冲存储器控制器112。到高速缓冲存储器控制器112的响应可包含TID及对应于高速缓冲存储器条目的高速缓冲存储器数据。在响应中包含TID可允许高速缓冲存储器控制器112识别所述响应对应的特定命令。举例来说,如果未设定有效位及/或块地址不匹配,那么高速缓冲存储器条目可视为未命中且CDRAM 110可经由输出接口116将指示在读取命令中所请求的高速缓冲存储器数据并不位于CDRAM 110中的适合响应返回到高速缓冲存储器控制器112。到高速缓冲存储器控制器112的响应可包含TID,所述TID可由高速缓冲存储器控制器用于识别所述响应对应的特定命令。
在若干个实施例中,CDRAM装置110可通过定位由写入命令地址指示的特定高速缓冲存储器条目(例如,槽)而处理写入命令。CDRAM 110可读取对应于所指示槽的数据且使用位于CDRAM装置110上的比较逻辑来确定有效性指示符是否指示有效数据位于对应于所述命令中的地址的槽处(例如,是否设定了槽中的有效位及是否设定了槽中的已更改位)。未设定有效位的确定可指示槽并未正存储有效数据,使得可将对应于写入命令的数据写入到高速缓冲存储器条目。设定了有效位但未设定已更改位(dirty bit)的确定可指示高速缓冲存储器条目正存储并不与后备存储区中的数据不同的有效数据,如此可将数据从写入命令写入到高速缓冲存储器条目。可将指示写入已完成的响应发送到高速缓冲存储器控制器。所述响应可包含事务ID(TID),所述事务ID可识别完成了哪一特定命令。设定了有效位且设定了已更改位的确定可指示将逐出当前位于槽中的数据。在从槽逐出数据之后,将对应于写入命令的数据写入到所述槽。接着可将指示写入已完成的响应发送到高速缓冲存储器控制器112。所述响应可包含TID以及从槽逐出的数据及所述数据的地址。系统100接着可将此经逐出数据返回到后备存储区(例如,存储器装置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经映射到CDRAM装置210中的页232-0及232-1。页230-0的第一半部分经映射到页232-1且页230-0的第二半部分经映射到页232-0。此外,在图2中,存储器装置220中的块的最后页(例如,页230-R)经映射到CDRAM 210中的最后两个页(例如,页232-(S-1)及232-S)。页230-R的第一半部分经映射到页232-S且页230-R的第二半部分经映射到页232-(S-1)。
本发明的实施例不限于直接映射。举例来说,CDRAM装置210可用作N路关联高速缓冲存储器。也就是说,可使用关联性来将数据从存储器装置N路映射到CDRAM装置。CDRAM装置可经配置使得对应于来自存储器装置的数据的特定部分的高速缓冲存储器条目(例如,槽)的位置中的每一者可经映射到CDRAM装置中的同一页。因此,当在CDRAM装置中定位数据时,所请求数据可定位的每一位置(例如,槽)是位于CDRAM中的同一页上。如此,仅需要打开、读取一个页,且仅一个页需要使其标签数据与来自命令的标签数据相比以确定所请求高速缓冲存储器数据是否位于对应于来自存储器装置的数据的特定部分的CDRAM装置中的高速缓冲存储器条目的可能位置中的任一者处。
图3图解说明根据本发明的若干个实施例的高速缓冲存储器中的高速缓冲存储器条目。在若干个实施例中,例如CDRAM的高速缓冲存储器中的页可包括若干个(例如,多个)高速缓冲存储器条目(例如,槽)。每一槽可包含从存储器装置所高速缓存的数据的一部分以及标签数据(例如,地址、有效位及已更改位)。在图3中,槽340包含标签数据,所述标签数据包含地址342、有效位344及已更改位346。槽340还包含数据348(例如,高速缓冲存储器数据)。地址342包含指示槽340的块、页及槽的若干个位。有效位344包含指示槽中的数据是否有效(例如,包含当前正由CDRAM高速缓存的数据)的位,且已更改位346包含指示槽中的数据是否已改变但还未经写入到后备存储区的位。数据348可包含表示存储于槽340中的高速缓冲存储器数据的若干个位。
图4A及4B图解说明根据本发明的若干个实施例的高速缓冲存储器中的页的内容。在图4A中,高速缓冲存储器页432-1可包含若干个高速缓冲存储器条目(例如,槽452-(M-1)及452-M/2)。槽中的每一者可包含标签数据(其包含地址、有效位及已更改位)以及高速缓冲存储器数据。举例来说,页432-1可高速缓存对应于来自后备存储区的数据的页的第一半部分的数据(例如,在来自所述后备存储区的数据的所述页是高速缓冲存储器页432-1的两倍大的情况下)。
在图4B中,高速缓冲存储器页430可包含若干个高速缓冲存储器条目(例如,槽452-(M-1)及452-M/4)。槽中的每一者可包含标签数据(其包含地址、有效位及已更改位),且还包含高速缓冲存储器数据以及路径索引(路径索引,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路关联性)。
图5图解说明根据本发明的若干个实施例的与包括高速缓冲存储器的设备相关联的命令560。举例来说,命令560可为读取命令或写入命令。命令560可包含命令指示符562,所述命令指示符指示命令类型(例如,读取命令或写入命令)。命令560还可包含标签数据,所述标签数据包含地址564,其指示与命令560相关联的数据的块、页及/或槽。命令560还包含事务ID(TID)566,所述事务ID可由高速缓冲存储器控制器及/或CDRAM装置用于识别对应于在高速缓冲存储器控制器与CDRAM装置之间传递的数据的命令。
作为实例,命令560可为可由CDRAM装置接收的读取命令。CDRAM装置可通过定位命令中所指示的特定高速缓冲存储器页且打开所述页而处理所述命令。所述命令中所指示的特定槽可位于所打开的高速缓冲存储器页中,且可读取所述特定槽中的标签数据。CDRAM装置上的比较逻辑可用以检查是否设定了槽中的有效位及命令的地址中的块地址是否匹配槽中的块地址位。如果设定了有效位且块地址匹配,那么所述槽可视为命中且CDRAM可将适合响应返回到高速缓冲存储器控制器。到高速缓冲存储器控制器的响应可包含TID及来自特定槽的高速缓冲存储器数据。如果未设定有效位及/或块地址不匹配,那么所述槽视为未命中且CDRAM可将适合响应(例如,指示读取命令中所请求的数据并不位于CDRAM中的响应)返回到高速缓冲存储器控制器。
在若干个实施例中,CDRAM 110可通过定位写入命令的地址中所指示的槽而处理所述写入命令。CDRAM(例如,110)可读取所述槽处的数据且使用比较器来检查是否设定了所述槽中的有效位及是否设定了已更改位。如果未设定有效位,那么可将来自写入命令的数据写入到槽。如果设定了有效位,但未设定已更改位,那么可将来自写入命令的数据写入到槽。可将指示写入已完成的响应发送到高速缓冲存储器控制器(例如,112)。所述响应可包含事务ID(TID),所述事务ID可由高速缓冲存储器控制器(例如,112)用于识别完成了哪一特定命令。设定了有效位且设定了已更改位的确定可指示需要逐出当前位于槽中的高速缓冲存储器数据。在从槽逐出高速缓冲存储器数据后,可即刻将来自写入命令的高速缓冲存储器数据写入到所述槽。接着可将指示写入已完成的适合响应发送到高速缓冲存储器控制器。所述响应可包含事务ID(TID)以及从槽逐出的数据及所述数据的地址。可将所逐出数据从CDRAM返回到后备存储区(例如,存储器装置120)。
图6A到6B图解说明根据本发明的若干个实施例的对与包括高速缓冲存储器的设备相关联的读取命令的响应。图6A图解说明对读取命令的响应672,所述响应是命中。在图6A中,响应672包含命中指示符676、事务ID(TID)666及数据648。命中指示符676可指示所述读取命令中所请求的数据存在于CDRAM中。事务ID 666可用于识别与响应672相关联的命令。数据648可为从CDRAM读取的所述读取命令中所请求的高速缓冲存储器数据。可响应于CDRAM装置处理命令而在输出接口上将响应672从所述CDRAM装置发送到高速缓冲存储器控制器。CDRAM装置可在命令的处理期间于不在CDRAM装置与高速缓冲存储器控制器之间发送数据(例如,标签数据)的情况下处理所述命令。
图6B图解说明对读取命令的响应674,所述响应是未命中。在图6B中,响应674包含未命中指示符678及事务ID(TID)666。未命中指示符678可指示所述读取命令中所请求的数据不存在于CDRAM中。事务ID 666可用于识别与响应674相关联的命令。可响应于CDRAM装置处理命令而在输出接口上将响应674从所述CDRAM装置发送到高速缓冲存储器控制器。CDRAM装置可在命令的处理期间于不在CDRAM装置与高速缓冲存储器控制器之间发送数据(例如,标签数据)的情况下处理所述命令。
图7A到7B图解说明根据本发明的若干个实施例的对与包括高速缓冲存储器的设备相关联的写入命令的响应。图7A图解说明对写入命令的响应782,所述写入命令将数据写入到其中未设定有效位或已更改位(例如,在执行所述写入命令时,数据未被逐出)的槽。在图7A中,响应782包含写入完成指示符786及事务ID(TID)766。写入完成指示符786可指示所述写入命令中的数据经写入到CDRAM。事务ID 766可用以识别与响应782相关联的命令。可响应于处理命令的CDRAM装置而在输出接口上将响应782从所述CDRAM装置发送到高速缓冲存储器控制器。CDRAM装置可在命令的处理期间于不在CDRAM装置与高速缓冲存储器控制器之间发送数据(例如,标签数据)的情况下处理所述命令。
图7B图解说明对写入命令的响应784,所述写入命令将数据写入到其中设定了有效位及已更改位(例如,在执行所述写入命令时,数据被逐出)的槽。在图7B中,响应784包含写入完成指示符786、事务ID(TID)766及被逐出的数据的地址742,及从槽逐出的数据748。写入完成指示符786可指示所述写入命令中的数据被写入到CDRAM。事务ID 766可用于识别与响应782相关联的命令。可由CDRAM装置从槽读取被逐出的数据的地址742及被逐出的数据748且在响应784中将其发送到高速缓冲存储器控制器,使得所逐出数据可被写入到存储器装置。可响应于CDRAM装置处理命令而在输出接口上将响应784从所述CDRAM装置发送到高速缓冲存储器控制器。CDRAM装置可在命令的处理期间于不在CDRAM装置与高速缓冲存储器控制器之间发送数据(例如,标签数据)的情况下处理所述命令。
本发明包含用于高速缓冲存储器架构的设备及方法。包含根据本发明的高速缓冲存储器架构的实例性设备可包含:存储器单元阵列,其经配置以每存储器单元页存储多个高速缓冲存储器条目;及感测电路,经配置以确定对应于来自高速缓冲存储器控制器的请求的高速缓冲存储器数据是否位于所述阵列中对应于所述请求的位置处,且将指示高速缓冲存储器数据是否位于所述阵列中对应于所述请求的所述位置处的响应返回到所述高速缓冲存储器控制器。
虽然本文中已图解说明及描述了特定实施例,但所属领域的技术人员将了解,经计算以实现相同结果的布置可替代所展示的特定实施例。本发明打算涵盖本发明的一或多个实施例的变更形式或变化形式。应理解,已以说明性方式而非限定性方式做出以上说明。在审阅以上说明之后,所属领域的技术人员将明了以上实施例的组合及本文中未具体描述的其它实施例。本发明的一或多个实施例的范围包含其中使用以上结构及方法的其它应用。因此,本发明的一或多个实施例的范围应参考所附权利要求书连同此权利要求书被授权的等效内容的全部范围来确定。
在前述实施方式中,出于简化本发明的目的,将一些特征共同分组于单个实施例中。本发明的此方法不应解释为反映本发明的所揭示实施例必须使用比明确陈述于每一技术方案中更多的特征的意图。而是,如所附权利要求书反映:发明性标的物在于少于单个所揭示实施例的所有特征。因此,特此将所附权利要求书并入到实施方案中,其中每一技术方案独立地作为单独实施例。
Claims (34)
1.一种设备,其包括:
存储器单元阵列,其经配置以每存储器单元页存储多个高速缓冲存储器条目;及
感测电路,其经配置以:
确定对应于来自高速缓冲存储器控制器的请求的高速缓冲存储器数据是否位于所述阵列中对应于所述请求的位置处;且
将指示高速缓冲存储器数据是否位于所述阵列中对应于所述请求的所述位置处的响应返回到所述高速缓冲存储器控制器。
2.根据权利要求1所述的设备,其中所述设备经配置以:响应于对应于所述请求的高速缓冲存储器数据位于所述阵列中对应于所述请求的所述位置处的确定而返回所述高速缓冲存储器数据。
3.根据权利要求1中任一权利要求所述的设备,其中所述设备经配置以:响应于指示有效数据并不位于所述存储器单元阵列中对应于所述请求的所述位置处的有效性指示符的状态而将对应于所述请求的高速缓冲存储器数据写入于所述阵列中。
4.根据权利要求1中任一权利要求所述的设备,其中所述设备经配置以:响应于指示有效数据位于所述阵列中对应于所述请求的所述位置处的有效性指示符的状态而从所述阵列逐出已更改数据。
5.根据权利要求4所述的设备,其中所述设备经配置以:在从所述存储器单元阵列中的所述位置逐出已更改数据之后,将对应于所述请求的高速缓冲存储器数据写入于所述阵列中的所述位置处。
6.根据权利要求1到5中任一权利要求所述的设备,其中所述设备经配置以:在不向所述高速缓冲存储器控制器发送标签数据的情况下,确定高速缓冲存储器数据是否位于所述阵列中对应于所述请求的所述位置处。
7.根据权利要求1到5中任一权利要求所述的设备,其中所述若干个高速缓冲存储器条目中的每一高速缓冲存储器条目是存储于所述存储器单元阵列的若干个页中的一者上的若干个槽中的一者中。
8.根据权利要求7所述的设备,其中所述多个高速缓冲存储器条目中的每一高速缓冲存储器条目包含相应高速缓冲存储器数据及标签数据。
9.根据权利要求7所述的设备,其中标签数据包括对应于后备存储区的地址、有效位及已更改位。
10.根据权利要求7所述的设备,其中所述多个高速缓冲存储器条目中的每一高速缓冲存储器条目包含相应路径索引。
11.一种用于操作高速缓冲存储器的方法,其包括:
从高速缓冲存储器控制器接收读取请求;
在不经由输入/输出I/O接口传送来自所述高速缓冲存储器的标签数据的情况下通过使用所述高速缓冲存储器的比较逻辑而确定对应于所述读取请求的高速缓冲存储器数据是否位于所述高速缓冲存储器中;及
将指示对应于所述读取请求的所述高速缓冲存储器数据是否位于所述高速缓冲存储器中的响应返回到所述高速缓冲存储器控制器。
12.根据权利要求11所述的方法,其中所述方法包含:响应于通过所述比较逻辑进行的对应于所述读取请求的所述高速缓冲存储器数据位于所述高速缓冲存储器中的确定而将所述高速缓冲存储器数据从所述读取请求返回到所述高速缓冲存储器控制器。
13.根据权利要求11中任一权利要求所述的方法,其中返回所述响应包含:响应于指示有效数据并不位于所述高速缓冲存储器中对应于所述读取请求的位置处的有效性指示符而在所述响应中提供指示所述高速缓冲存储器数据并不位于所述高速缓冲存储器中的指示。
14.根据权利要求11到13中任一权利要求所述的方法,其中返回所述响应包含:响应于与所述读取请求相关联的标签数据不匹配所述高速缓冲存储器中的对应位置中的标签数据而在所述响应中提供指示所述高速缓冲存储器数据并不位于所述高速缓冲存储器中的指示。
15.根据权利要求11到13中任一权利要求所述的方法,其中返回所述响应包含返回事务识别符TID。
16.一种用于操作高速缓冲存储器的方法,其包括:
从高速缓冲存储器控制器接收写入请求;
确定有效数据是否位于所述高速缓冲存储器中对应于所述写入请求的位置处;
响应于所述高速缓冲存储器中对应于所述写入请求的所述位置包含有效数据的确定而从所述位置逐出数据;
将对应于所述写入请求的高速缓冲存储器数据写入到所述高速缓冲存储器中对应于所述写入请求的所述位置;及
将指示对应于所述写入请求的所述高速缓冲存储器数据已被写入到所述高速缓冲存储器的响应返回到所述高速缓冲存储器控制器。
17.根据权利要求16所述的方法,其中确定有效数据是否位于CDRAM中对应于所述写入请求的所述位置处包含:确定第一指示符及第二指示符的状态。
18.根据权利要求16中任一权利要求所述的方法,其中所述第一指示符是有效位且第二指示符是已更改位。
19.根据权利要求16到18中任一权利要求所述的方法,其中将所述响应返回到所述高速缓冲存储器控制器包含发送从所述高速缓冲存储器中对应于所述写入请求的所述位置逐出的所述数据。
20.根据权利要求16到18中任一权利要求所述的方法,其中返回所述响应包含返回事务识别符TID。
21.一种设备,其包括:
存储器装置,其耦合到控制器;及
高速缓冲存储器,其包括存储器单元阵列及感测电路,其中所述高速缓冲存储器经由输入接口及输出接口耦合到高速缓冲存储器控制器,且其中所述高速缓冲存储器经配置以经由所述输入接口接收命令、处理所述命令且经由所述输出接口将响应返回到所述高速缓冲存储器控制器。
22.根据权利要求21所述的设备,其中所述感测电路包含比较逻辑,所述比较逻辑用以确定对应于所述命令的数据是否位于所述高速缓冲存储器中对应于所述命令的位置处。
23.根据权利要求21中任一权利要求所述的设备,其中所述高速缓冲存储器经配置以在不向所述高速缓冲存储器控制器传送标签数据的情况下处理所述命令。
24.根据权利要求21中任一权利要求所述的设备,其中所述高速缓冲存储器经配置以:通过以并行逻辑检查多个高速缓冲存储器条目以确定对应于所述命令的数据是否位于对应于所述命令的所述高速缓冲存储器中而处理所述命令。
25.根据权利要求21中任一权利要求所述的设备,其中所述响应包含在处理所述命令时位于所述高速缓冲存储器中的高速缓冲存储器数据。
26.根据权利要求21到25中任一权利要求所述的设备,其中所述响应包含未命中指示符及事务指示符TID。
27.根据权利要求21到25中任一权利要求所述的设备,其中所述响应包含写入完成指示符及事务指示符TID。
28.根据权利要求21到25中任一权利要求所述的设备,其中所述响应包含写入完成指示符、事务指示符TID、从所述高速缓冲存储器逐出的数据及从所述高速缓冲存储器逐出的所述数据的地址。
29.一种设备,其包括:
存储器单元阵列,其经配置以每存储器单元页存储多个高速缓冲存储器条目,且每一特定存储器单元页经配置以存储对应于后备存储区的特定地址的多个高速缓冲存储器条目;及
感测电路,其经配置以:在不将标签数据从所述多个高速缓冲存储器条目传送到高速缓冲存储器控制器的情况下,确定高速缓冲存储器数据是否位于所述多个高速缓冲存储器条目中对应于命令中所指示的所述后备存储区的特定地址的一个高速缓冲存储器条目中。
30.根据权利要求29所述的设备,其中所述感测电路经配置以将指示高速缓冲存储器数据是否位于所述多个高速缓冲存储器条目中对应于所述命令中所指示的所述后备存储区的所述特定地址的一个高速缓冲存储器条目中的响应返回到所述高速缓冲存储器控制器。
31.根据权利要求29中任一权利要求所述的设备,其中所述感测电路包含比较逻辑,所述比较逻辑用以确定高速缓冲存储器数据是否位于所述多个高速缓冲存储器条目中对应于所述命令中所指示的所述后备存储区的所述特定地址的一个高速缓冲存储器条目中。
32.根据权利要求29中任一权利要求所述的设备,其中所述感测电路经配置以:通过打开所述存储器单元阵列的特定页而确定高速缓冲存储器数据是否位于所述多个高速缓冲存储器条目中对应于所述命令中所指示的所述后备存储区的所述特定地址的一个高速缓冲存储器条目中。
33.根据权利要求29到32中任一权利要求所述的设备,其中所述存储器单元阵列经配置以高速缓存从所述后备存储区直接映射的数据。
34.根据权利要求29到32中任一权利要求所述的设备,其中所述存储器单元阵列经配置以高速缓存从所述后备存储区N路关联映射的数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/293,521 | 2014-06-02 | ||
US14/293,521 US9779025B2 (en) | 2014-06-02 | 2014-06-02 | Cache architecture for comparing data |
PCT/US2015/033474 WO2015187529A1 (en) | 2014-06-02 | 2015-06-01 | Cache architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106104499A true CN106104499A (zh) | 2016-11-09 |
CN106104499B CN106104499B (zh) | 2019-07-19 |
Family
ID=54701905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580013810.3A Active CN106104499B (zh) | 2014-06-02 | 2015-06-01 | 存储器设备及用于操作高速缓冲存储器的方法 |
Country Status (6)
Country | Link |
---|---|
US (3) | US9779025B2 (zh) |
EP (1) | EP3149596A4 (zh) |
KR (1) | KR101890506B1 (zh) |
CN (1) | CN106104499B (zh) |
TW (1) | TWI570561B (zh) |
WO (1) | WO2015187529A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110546625A (zh) * | 2017-04-11 | 2019-12-06 | 美光科技公司 | 具有可编程缓冲器及高速缓冲存储器大小的存储器协议 |
CN110678852A (zh) * | 2017-05-31 | 2020-01-10 | 美光科技公司 | 控制对缓冲器的存储器操作的设备和方法 |
CN110998548A (zh) * | 2017-08-03 | 2020-04-10 | 美光科技公司 | 高速缓冲存储器筛选器 |
CN111033482A (zh) * | 2017-08-30 | 2020-04-17 | 美光科技公司 | 高速缓存缓冲器 |
CN111052096A (zh) * | 2017-08-30 | 2020-04-21 | 美光科技公司 | 缓存行数据 |
CN111190836A (zh) * | 2018-11-14 | 2020-05-22 | 爱思开海力士有限公司 | 具有高速缓存系统的存储系统 |
CN111868677A (zh) * | 2018-03-19 | 2020-10-30 | 美光科技公司 | 用于具有高速缓冲存储器及多个独立阵列的存储器的接口 |
Families Citing this family (8)
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 |
US10845866B2 (en) * | 2017-06-22 | 2020-11-24 | Micron Technology, Inc. | Non-volatile memory system or sub-system |
US10572389B2 (en) * | 2017-12-12 | 2020-02-25 | Advanced Micro Devices, Inc. | Cache control aware memory controller |
US12072807B2 (en) | 2018-06-05 | 2024-08-27 | Rambus Inc. | Storage and access of data and tags in a multi-way set associative cache |
US11842762B2 (en) | 2019-03-18 | 2023-12-12 | Rambus Inc. | System application of DRAM component with cache mode |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070233966A1 (en) * | 2006-03-31 | 2007-10-04 | Sundaram Chinthanmani | Partial way hint line replacement algorithm for a snoop filter |
US20090129138A1 (en) * | 1999-12-27 | 2009-05-21 | Panasonic Corporation | Semiconductor Integrated Circuit |
US20120246410A1 (en) * | 2011-03-24 | 2012-09-27 | Kabushiki Kaisha Toshiba | Cache memory and cache system |
CN102959529A (zh) * | 2011-02-17 | 2013-03-06 | 甲骨文国际公司 | 用于缓存的网络的广播协议 |
US20130138892A1 (en) * | 2011-11-30 | 2013-05-30 | Gabriel H. Loh | Dram cache with tags and data jointly stored in physical rows |
WO2013095404A1 (en) * | 2011-12-20 | 2013-06-27 | Intel Corporation | Dynamic partial power down of memory-side cache in a 2-level memory hierarchy |
US20140032855A1 (en) * | 2012-07-30 | 2014-01-30 | Fujitsu Limited | Information processing apparatus and method |
US20140040550A1 (en) * | 2011-09-30 | 2014-02-06 | Bill Nale | Memory channel that supports near memory and far memory access |
US20140047175A1 (en) * | 2012-08-09 | 2014-02-13 | International Business Machines Corporation | Implementing efficient cache tag lookup in very large cache systems |
Family Cites Families (22)
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 (ja) * | 1991-04-30 | 1992-11-17 | Toshiba Corp | キャッシュメモリ |
US5367653A (en) | 1991-12-26 | 1994-11-22 | International Business Machines Corporation | Reconfigurable multi-way associative cache memory |
JP3305056B2 (ja) | 1993-08-31 | 2002-07-22 | 沖電気工業株式会社 | ダイナミック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 |
KR100617663B1 (ko) | 2001-09-14 | 2006-08-28 | 썬 마이크로시스템즈, 인코포레이티드 | 캐시 메모리 내 태그 액세스 및 데이터 액세스의 분리방법 및 장치 |
JP4160790B2 (ja) * | 2002-06-28 | 2008-10-08 | 株式会社ルネサステクノロジ | 半導体装置 |
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 |
KR20070093452A (ko) * | 2005-04-08 | 2007-09-18 | 마쯔시다덴기산교 가부시키가이샤 | 캐시 메모리 시스템 및 그 제어 방법 |
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 |
US8266409B2 (en) * | 2009-03-03 | 2012-09-11 | Qualcomm Incorporated | Configurable cache and method to configure same |
US8516230B2 (en) * | 2009-12-29 | 2013-08-20 | International Business Machines Corporation | SPE software instruction cache |
US8775754B2 (en) * | 2011-06-24 | 2014-07-08 | Arm Limited | Memory controller and method of selecting a transaction using a plurality of ordered lists |
US9396117B2 (en) * | 2012-01-09 | 2016-07-19 | Nvidia Corporation | Instruction cache power reduction |
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 |
US9779025B2 (en) * | 2014-06-02 | 2017-10-03 | Micron Technology, Inc. | Cache architecture for comparing data |
-
2014
- 2014-06-02 US US14/293,521 patent/US9779025B2/en active Active
-
2015
- 2015-06-01 EP EP15803327.4A patent/EP3149596A4/en not_active Withdrawn
- 2015-06-01 KR KR1020167036736A patent/KR101890506B1/ko active IP Right Grant
- 2015-06-01 CN CN201580013810.3A patent/CN106104499B/zh active Active
- 2015-06-01 WO PCT/US2015/033474 patent/WO2015187529A1/en active Application Filing
- 2015-06-02 TW TW104117830A patent/TWI570561B/zh active
-
2017
- 2017-08-31 US US15/691,859 patent/US10303613B2/en active Active
-
2019
- 2019-05-24 US US16/422,589 patent/US11243889B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090129138A1 (en) * | 1999-12-27 | 2009-05-21 | Panasonic Corporation | Semiconductor Integrated Circuit |
US20070233966A1 (en) * | 2006-03-31 | 2007-10-04 | Sundaram Chinthanmani | Partial way hint line replacement algorithm for a snoop filter |
CN102959529A (zh) * | 2011-02-17 | 2013-03-06 | 甲骨文国际公司 | 用于缓存的网络的广播协议 |
US20120246410A1 (en) * | 2011-03-24 | 2012-09-27 | Kabushiki Kaisha Toshiba | Cache memory and cache system |
US20140040550A1 (en) * | 2011-09-30 | 2014-02-06 | Bill Nale | Memory channel that supports near memory and far memory access |
US20130138892A1 (en) * | 2011-11-30 | 2013-05-30 | Gabriel H. Loh | Dram cache with tags and data jointly stored in physical rows |
WO2013095404A1 (en) * | 2011-12-20 | 2013-06-27 | Intel Corporation | Dynamic partial power down of memory-side cache in a 2-level memory hierarchy |
US20140032855A1 (en) * | 2012-07-30 | 2014-01-30 | Fujitsu Limited | Information processing apparatus and method |
US20140047175A1 (en) * | 2012-08-09 | 2014-02-13 | International Business Machines Corporation | Implementing efficient cache tag lookup in very large cache systems |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110546625A (zh) * | 2017-04-11 | 2019-12-06 | 美光科技公司 | 具有可编程缓冲器及高速缓冲存储器大小的存储器协议 |
CN110678852A (zh) * | 2017-05-31 | 2020-01-10 | 美光科技公司 | 控制对缓冲器的存储器操作的设备和方法 |
CN110678852B (zh) * | 2017-05-31 | 2023-11-24 | 美光科技公司 | 控制对缓冲器的存储器操作的设备和方法 |
CN110998548A (zh) * | 2017-08-03 | 2020-04-10 | 美光科技公司 | 高速缓冲存储器筛选器 |
CN111033482A (zh) * | 2017-08-30 | 2020-04-17 | 美光科技公司 | 高速缓存缓冲器 |
CN111052096A (zh) * | 2017-08-30 | 2020-04-21 | 美光科技公司 | 缓存行数据 |
CN111868677A (zh) * | 2018-03-19 | 2020-10-30 | 美光科技公司 | 用于具有高速缓冲存储器及多个独立阵列的存储器的接口 |
CN111868677B (zh) * | 2018-03-19 | 2024-05-31 | 美光科技公司 | 用于具有高速缓冲存储器及多个独立阵列的存储器的接口 |
CN111190836A (zh) * | 2018-11-14 | 2020-05-22 | 爱思开海力士有限公司 | 具有高速缓存系统的存储系统 |
CN111190836B (zh) * | 2018-11-14 | 2023-08-29 | 爱思开海力士有限公司 | 具有高速缓存系统的存储系统 |
Also Published As
Publication number | Publication date |
---|---|
KR101890506B1 (ko) | 2018-08-21 |
CN106104499B (zh) | 2019-07-19 |
US10303613B2 (en) | 2019-05-28 |
US9779025B2 (en) | 2017-10-03 |
US20170364444A1 (en) | 2017-12-21 |
US11243889B2 (en) | 2022-02-08 |
WO2015187529A1 (en) | 2015-12-10 |
EP3149596A1 (en) | 2017-04-05 |
US20150347307A1 (en) | 2015-12-03 |
TWI570561B (zh) | 2017-02-11 |
KR20170012457A (ko) | 2017-02-02 |
US20190278712A1 (en) | 2019-09-12 |
EP3149596A4 (en) | 2018-01-24 |
TW201617888A (zh) | 2016-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106104499A (zh) | 高速缓冲存储器架构 | |
CN108572796B (zh) | 具有异构nvm类型的ssd | |
CN109582214B (zh) | 数据访问方法以及计算机系统 | |
EP3089045B1 (en) | Multi-bank memory with one read port and one or more write ports per cycle | |
US20170024326A1 (en) | Method and Apparatus for Caching Flash Translation Layer (FTL) Table | |
CN109952565B (zh) | 内存访问技术 | |
US10223037B2 (en) | Memory device including controller for controlling data writing using writing order confirmation request | |
CN110018971A (zh) | 缓存替换技术 | |
CN107797759A (zh) | 访问缓存信息的方法、装置与驱动器 | |
CN106062724A (zh) | 存储器模块上的数据管理 | |
CN106469126A (zh) | 处理io请求的方法及其存储控制器 | |
CN107797760A (zh) | 基于缓存优化写命令处理的方法、装置与驱动器 | |
CN109164976A (zh) | 利用写缓存优化存储设备性能 | |
US11494306B2 (en) | Managing data dependencies in a transfer pipeline of a hybrid dimm | |
US9496009B2 (en) | Memory with bank-conflict-resolution (BCR) module including cache | |
KR20220062399A (ko) | 하이브리드 dimm에서 비순차적 처리를 위한 데이터 의존도 관리 | |
CN109388344B (zh) | 一种基于带宽扩展交叉编址的双端口sram访问控制系统及方法 | |
US12020030B2 (en) | Command delay | |
US20210064368A1 (en) | Command tracking | |
CN101464838B (zh) | 数据管理方法及固态存储系统 | |
US20170192690A1 (en) | Method, electronic device and computer program product for data processing | |
CN114270311A (zh) | 分级存储器系统 | |
CN114303124A (zh) | 分级存储器设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |