CN108701093A - 使用动态随机存取存储器(dram)高速缓存指示符高速缓存存储器以提供可扩展dram高速缓存管理 - Google Patents
使用动态随机存取存储器(dram)高速缓存指示符高速缓存存储器以提供可扩展dram高速缓存管理 Download PDFInfo
- Publication number
- CN108701093A CN108701093A CN201780010596.5A CN201780010596A CN108701093A CN 108701093 A CN108701093 A CN 108701093A CN 201780010596 A CN201780010596 A CN 201780010596A CN 108701093 A CN108701093 A CN 108701093A
- Authority
- CN
- China
- Prior art keywords
- dram
- dram cache
- cache memory
- address
- memory
- 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.)
- Pending
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/0893—Caches characterised by their organisation or structure
-
- 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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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/12—Replacement control
-
- 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/1008—Correctness of operation, e.g. memory ordering
-
- 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/28—Using a specific disk cache architecture
- G06F2212/281—Single cache
-
- 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/70—Details relating to dynamic memory management
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2245—Memory devices with an internal cache buffer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供使用动态随机存取存储器DRAM高速缓存指示符高速缓存存储器以提供可扩展DRAM高速缓存管理。在一个方面中,提供DRAM高速缓存管理电路以管理对高带宽存储器中的DRAM高速缓存存储器的存取。所述DRAM高速缓存管理电路包括DRAM高速缓存指示符高速缓存存储器,其存储从系统存储器DRAM中的主控表读取并含有DRAM高速缓存指示符的主控表项。所述DRAM高速缓存指示符使得所述DRAM高速缓存管理电路能够确定所述系统存储器DRAM中的存储器行是否在高带宽存储器的所述DRAM高速缓存存储器中被高速缓存,且如果是,那么确定所述存储器行被存储在所述DRAM高速缓存存储器的哪一路中。基于所述DRAM高速缓存指示符高速缓存存储器,所述DRAM高速缓存管理电路可确定是否采用所述DRAM高速缓存存储器及/或所述系统存储器DRAM而以优化方式执行存储器存取操作。
Description
优先权要求
本申请案要求2016年2月22日申请且题为“使用动态随机存取存储器(DRAM)高速缓存指示符高速缓存存储器以提供可扩展DRAM高速缓存管理(PROVIDING SCALABLEDYNAMIC RANDOM ACCESS MEMORY(DRAM)CACHE MANAGEMENT USING DRAM CACHE INDICATORCACHES)”的第62/298,088号美国临时专利申请案的优先权,所述申请案的内容以全文引用的方式并入本文中。
本申请案要求2016年8月4日申请且题为“使用动态随机存取存储器(DRAM)高速缓存指示符高速缓存存储器以提供可扩展DRAM高速缓存管理(ROVIDING SCALABLE DYNAMICRANDOM ACCESS MEMORY(DRAM)CACHE MANAGEMENT USING DRAM CACHE INDICATORCACHES)”的第15/228,320号美国专利申请案的优先权,所述专利申请案内容以全文引用方式并入本文中。
技术领域
本发明的技术大体上涉及动态随机存取存储器(DRAM)管理,且详细来说涉及DRAM高速缓存存储器的管理。
背景技术
由经垂直互连的多个堆叠裸片构成的裸片堆叠集成电路(IC)的出现已使得能够开发裸片堆叠式动态随机存取存储器(DRAM)。裸片堆叠式DRAM可用于实施本文中称为“高带宽存储器”的存储器。高带宽存储器提供比常规系统存储器DRAM更大的带宽,同时提供类似存取时延。在一些实施方案中,高带宽存储器也可为“附近”存储器,或相较于其它系统存储器DRAM更接近于存储器接口物理地定位的存储器。高带宽存储器可用于实施DRAM高速缓存存储器以存储先前从系统存储器DRAM读取且从较高级高速缓存存储器(例如作为非限制性实例的3阶(L3)高速缓存存储器)逐出的经频繁存取的数据。提供高带宽存储器中的DRAM高速缓存存储器可减少系统存储器DRAM上的存储器争用,且因此实际上增加整体存储器带宽。
然而,高带宽存储器中的DRAM高速缓存存储器的管理可造成挑战。DRAM高速缓存存储器大小相较于系统存储器DRAM小数个数量级。因此,因为DRAM高速缓存存储器可仅仅存储系统存储器DRAM中的数据的子集,所以DRAM高速缓存存储器的有效使用取决于待存储的存储器地址的智能型选择。因此,DRAM高速缓存管理机构应能够确定哪些存储器地址应选择性地安装在DRAM高速缓存存储器中,且应进一步能够确定存储器地址何时应安装在DRAM高速缓存存储器中及/或从DRAM高速缓存存储器中逐出。对于DRAM高速缓存管理机构来说,也可需要最小化对DRAM高速缓存存储器的存取时延的影响,且相对于DRAM高速缓存存储器大小及/或系统存储器DRAM大小可扩展。
类似于可管理常规高速缓存存储器的方式,DRAM高速缓存管理的一些方法利用用于存储对应于经高速缓存存储器地址的标签的高速缓存存储器。根据一种此类方法,与DRAM高速缓存存储器相关联的所有标签存储于计算裸片上与高带宽存储器分离的静态随机存取存储器(SRAM)中。然而,此方法可并非可充分扩展DRAM高速缓存存储器大小,此是由于较大DRAM高速缓存存储器大小可需要较大区域用于非所需及/或太大以致不能存储于SRAM中的标签。另一方法涉及将标签定位于DRAM高速缓存存储器自身内而非定位于计算裸片上的SRAM内,及使用命中/未命中预测器以确定给定存储器地址是否存储于DRAM高速缓存存储器内。虽然此后一种方法最小化计算裸片中的SRAM的使用量,但任何不正确预测将导致数据从系统存储器DRAM读取。举例来说,如果命中/未命中预测器不正确地预测存储器地址定位于DRAM高速缓存存储器中,那么时延惩罚是由在从系统存储器DRAM读取存储器地址之前对DRAM高速缓存存储器的不必要读取而引发。相反,如果命中/未命中预测器不正确地预测存储器地址并不定位于DRAM高速缓存存储器中,那么避免对系统存储器DRAM的不必要读取的机会可能被浪费。不必要额外读取引发额外存取时延,其可抵消由使用DRAM高速缓存存储器产生的任何性能改进。
因此,需要提供可扩展的DRAM高速缓存管理以改进存储器带宽同时最小化SRAM消耗及时延惩罚。
发明内容
详细描述中公开的方面包含使用动态随机存取存储器(DRAM)高速缓存指示符高速缓存存储器提供可扩展DRAM高速缓存管理。在一些方面中,提供DRAM高速缓存管理电路以管理对高带宽存储器中的DRAM高速缓存存储器的存取。DRAM高速缓存管理电路包括DRAM高速缓存指示符高速缓存存储器,所述DRAM高速缓存指示符高速缓存存储器用以高速缓存主控表项,所述主控表项含有DRAM高速缓存指示符且从系统存储器DRAM中的主控表予以读取。DRAM高速缓存指示符使得DRAM高速缓存管理电路能够确定系统存储器DRAM中的存储器行是否在DRAM高速缓存存储器中被高速缓存(即,使用高带宽存储器实施),且如果是,那么确定存储器行存储在DRAM高速缓存存储器的哪一路。基于DRAM高速缓存指示符高速缓存存储器,DRAM高速缓存管理电路可确定存储器操作是否可使用DRAM高速缓存存储器及/或使用系统存储器DRAM而执行。DRAM高速缓存管理电路的一些方面可进一步提供负载平衡电路。在数据可从DRAM高速缓存存储器或系统存储器DRAM读取的情形中,DRAM高速缓存管理电路可使用负载平衡电路来选择读取数据所自的适当源。
DRAM高速缓存管理电路的其它方面可经配置以在完全写入模式或回写中操作。在后一方面中,DRAM高速缓存指示符高速缓存存储器可为存储于其中的每一存储器行提供已变更位。在一些方面中,DRAM高速缓存存储器及/或DRAM高速缓存指示符高速缓存存储器可基于概率性确定而由DRAM高速缓存管理电路来补充。举例来说,DRAM高速缓存管理电路可经配置而以随机间隔补充DRAM高速缓存存储器及/或DRAM高速缓存指示符高速缓存存储器,以使得仅一个百分比的经随机选择的数据被写入到DRAM高速缓存存储器及/或DRAM高速缓存指示符高速缓存存储器。
在另一方面中,提供一种DRAM高速缓存管理电路。DRAM高速缓存管理电路以通信方式耦合到为高带宽存储器的部分的DRAM高速缓存存储器,且进一步以通信方式耦合到系统存储器DRAM。DRAM高速缓存管理电路包括经配置以高速缓存从系统存储器DRAM中的主控表读取的多个DRAM高速缓存指示符的DRAM高速缓存指示符高速缓存存储器。所述多个DRAM高速缓存指示符指示系统存储器DRAM的对应存储器行是否在DRAM高速缓存存储器中被高速缓存。DRAM高速缓存管理电路经配置以接收包括读取地址的存储器读取请求。DRAM高速缓存管理电路经进一步配置以确定读取地址是否是在DRAM高速缓存指示符高速缓存存储器中被发现。DRAM高速缓存管理电路也经配置以响应于确定读取地址在DRAM高速缓存指示符高速缓存存储器中未被发现,读取在系统存储器DRAM中的读取地址处的数据。DRAM高速缓存管理电路另外经配置以响应于确定读取地址在DRAM高速缓存指示符高速缓存存储器中被发现,基于DRAM高速缓存指示符高速缓存存储器而确定读取地址是否在DRAM高速缓存存储器中被发现。DRAM高速缓存管理电路经进一步配置以响应于确定读取地址在DRAM高速缓存存储器中未被发现,读取在系统存储器DRAM中的读取地址处的数据。DRAM高速缓存管理电路也经配置以响应于确定读取地址在DRAM高速缓存存储器中被发现,从DRAM高速缓存存储器读取针对读取地址的数据。
在另一方面中,提供一种用于提供可扩展DRAM高速缓存管理的方法。所述方法包括通过DRAM高速缓存管理电路接收包括读取地址的存储器读取请求。所述方法进一步包括确定读取地址是否在DRAM高速缓存管理电路的DRAM高速缓存指示符高速缓存存储器中被发现。所述方法也包括响应于确定读取地址在DRAM高速缓存指示符高速缓存存储器中未被发现,读取在系统存储器DRAM中的读取地址处的数据。所述方法另外包括响应于确定读取地址在DRAM高速缓存指示符高速缓存存储器中被发现,基于DRAM高速缓存指示符高速缓存存储器确定读取地址是否在为高带宽存储器的部分的DRAM高速缓存存储器中被发现。所述方法也包括响应于确定读取地址在DRAM高速缓存存储器中未被发现,读取在系统存储器DRAM中的读取地址处的数据。所述方法另外包括响应于确定读取地址在DRAM高速缓存存储器中被发现,从DRAM高速缓存存储器读取针对读取地址的数据。
在另一方面中,提供一种DRAM高速缓存管理电路。DRAM高速缓存管理电路包括用于接收包括读取地址的存储器读取请求的装置。DRAM高速缓存管理电路进一步包括用于确定读取地址是否在DRAM高速缓存管理电路的DRAM高速缓存指示符高速缓存存储器中被发现的装置。DRAM高速缓存管理电路也包括用于响应于确定读取地址在DRAM高速缓存指示符高速缓存存储器中未被发现而读取在系统存储器DRAM中的读取地址处的数据的装置。DRAM高速缓存管理电路另外包括用于响应于确定读取地址在DRAM高速缓存指示符高速缓存存储器中被发现而基于DRAM高速缓存指示符高速缓存存储器确定读取地址是否在为高带宽存储器的部分的DRAM高速缓存存储器中被发现的装置。DRAM高速缓存管理电路进一步包括用于响应于确定读取地址在DRAM高速缓存存储器中未被发现而读取在系统存储器DRAM中的读取地址处的数据的装置。DRAM高速缓存管理电路也包括用于响应于确定读取地址在DRAM高速缓存存储器中被发现而从DRAM高速缓存存储器读取针对读取地址的数据的装置。
在另一方面中,提供一种上面存储有计算机可执行指令的非暂时性计算机可读媒体。当通过处理器执行时,所述计算机可执行指令使得所述处理器接收包括读取地址的存储器读取请求。所述计算机可执行指令进一步使得处理器确定读取地址是否在DRAM高速缓存管理电路的DRAM高速缓存指示符高速缓存存储器中被发现。所述计算机可执行指令也使得处理器响应于确定读取地址在DRAM高速缓存指示符高速缓存存储器中未被发现而读取在系统存储器DRAM中的读取地址处的数据。所述计算机可执行指令另外使得处理器响应于确定读取地址在DRAM高速缓存指示符高速缓存存储器中被发现而基于DRAM高速缓存指示符高速缓存存储器确定读取地址是否在为高带宽存储器的部分的DRAM高速缓存存储器中被发现。所述计算机可执行指令进一步使得处理器响应于确定读取地址未在DRAM高速缓存存储器中被发现而读取在系统存储器DRAM中的读取地址处的数据。所述计算机可执行指令也使得处理器响应于确定读取地址在DRAM高速缓存存储器中被发现而从DRAM高速缓存存储器读取针对读取地址的数据。
附图说明
图1为基于处理器的系统的框图,所述基于处理器的系统包含提供动态随机存取存储器(DRAM)高速缓存存储器的高带宽存储器,及用于使用DRAM高速缓存指示符高速缓存存储器以提供可扩展DRAM高速缓存管理的示范性DRAM高速缓存管理电路;
图2A到2B为说明用于可由图1的DRAM高速缓存管理电路管理的两个示范性DRAM高速缓存存储器的示范性主控表项及DRAM高速缓存指示符高速缓存内容的框图;
图3为说明用于使用图1的DRAM高速缓存指示符高速缓存存储器及DRAM高速缓存存储器来执行读取操作的图1的DRAM高速缓存管理电路的示范性操作的流程图;
图4A到4C为说明用于在完全写入模式或回写模式中执行由“清洁”(即,未经修改)数据从3阶(L3)高速缓存存储器逐出产生的写入操作的图1的DRAM高速缓存管理电路的示范性操作的流程图;
图5A到5C为说明用于在完全写入模式中执行由“已变更”(即,经修改)数据从L3高速缓存存储器逐出产生的写入操作的图1的DRAM高速缓存管理电路的示范性操作的流程图;
图6A到6D为说明用于在回写模式中执行由已变更数据从L3高速缓存存储器逐出产生的写入操作的图1的DRAM高速缓存管理电路的示范性操作的流程图;且
图7为可包含图1的DRAM高速缓存管理电路的示范性基于处理器的系统的框图。
具体实施方式
现在参考图式,描述本发明的若干示范性方面。词语“示范性”在本文中用以意谓“充当实例、例项或说明”。不必将本文中描述为“示范性”的任何方面解译为优选或优于其它方面。
详细描述中公开的方面包含使用动态随机存取存储器(DRAM)高速缓存指示符高速缓存存储器提供可扩展DRAM高速缓存管理。如本文中所描述,DRAM高速缓存管理方案在由DRAM高速缓存管理方案利用的资源的大小相对独立于被管理的DRAM高速缓存存储器的容量的意义上为“可扩展的”。因此,就此来说,图1为示范性基于处理器的系统100的框图,所述基于处理器的系统100提供用于管理为高带宽存储器106的部分的DRAM高速缓存存储器104的DRAM高速缓存管理电路102。基于处理器的系统100包含系统存储器DRAM 108,其在一些方面中可包括一或多个双行存储器模块(DIMM)(未图示)。基于处理器的系统100进一步提供计算裸片110,系统高速缓存存储器112(作为非限制性实例例如3阶(L3)高速缓存存储器)定位于所述计算裸片上。基于处理器的系统100可涵盖已知数字逻辑元件、半导体电路、处理核心及/或存储器结构以及其它元件或其组合中的任一者。本文中所描述的方面并不约束于元件的任何特定布置,且所公开技术可易于扩展到半导体裸片或封装上的各种结构及布局。应理解,基于处理器的系统100的一些方面可包含除图1中所说明的那些元件以外的元件。
为改进存储器带宽,基于处理器的系统100的高带宽存储器106内的DRAM高速缓存存储器104可用于高速缓存先前从系统存储器DRAM 108内的存储器行114(0)到114(X)读取及/或从系统高速缓存存储器112逐出的存储器地址(未图示)及数据(未图示)。作为非限制性实例,一些方面可规定仅仅在从系统存储器DRAM 108读取数据后才可在DRAM高速缓存存储器104中高速缓存数据,而在一些方面中数据可仅仅在从系统高速缓存存储器112逐出时才在DRAM高速缓存存储器104中被高速缓存。根据一些方面,对于由处理器载入及来自系统高速缓存存储器112的已变更逐出所触发的读取,在从系统存储器DRAM 108读取数据后可在DRAM高速缓存存储器104中高速缓存数据。
高带宽存储器106内的DRAM高速缓存存储器104可独立于系统存储器DRAM 108及与系统存储器DRAM 108并行地存取。因此,存储器带宽可通过同时从DRAM高速缓存存储器104及系统存储器DRAM 108两者读取而有效增加。在一些方面中,DRAM高速缓存存储器104可实施随机替换策略以确定DRAM高速缓存存储器104内的逐出的候选者。
存储在系统存储器DRAM 108中的主控表116用以跟踪系统存储器DRAM 108的哪些存储器行114(0)到114(X)存储于DRAM高速缓存存储器104中。应理解,如本文中所使用,系统存储器DRAM 108的“存储器行”指系统存储器DRAM 108的具有等于系统高速缓存存储器112的高速缓存行(未图示)的长度的长度的一部分。主控表116含有用于存储针对系统存储器DRAM 108的存储器行114(0)到114(X)中的每一者的DRAM高速缓存指示符120(0)到120(X)的主控表项118(0)到118(M)。一些方面可规定,主控表项118(0)到118(M)中的每一者的大小对应于底层存储器的存储器存取粒度。作为非限制性实例,对于64个字节的存储器存取粒度,主控表项118(0)到118(M)中的每一者同样包括64个字节。因此,在DRAM高速缓存指示符120(0)到120(X)中的每一者包括四(4)个位的方面中,主控表116的64字节主控表项118(0)到118(M)中的每一者可存储针对系统存储器DRAM 108的128个存储器行114(0)到114(X)的DRAM高速缓存指示符120(0)到120(X)。
在一些方面中,主控表116中的DRAM高速缓存指示符120(0)到120(X)中的每一者不仅指示系统存储器DRAM 108的对应存储器行114(0)到114(X)是否存储于高带宽存储器106的DRAM高速缓存存储器104中,而且指示对应存储器行114(0)到114(X)存储于DRAM高速缓存存储器104的哪一路122(0)到122(Z)中。举例来说,在一些方面中,DRAM高速缓存指示符120(0)到120(X)中的每一者包括四(4)个位,且DRAM高速缓存存储器104可提供15个路122(0)到122(14)(即,24-1)。具有零(0)值的DRAM高速缓存指示符120(0)到120(X)指示系统存储器DRAM 108的对应存储器行114(0)到114(X)不存储于DRAM高速缓存存储器104中。具有大于零(0)的值N的DRAM高速缓存指示符120(0)到120(X)指示系统存储器DRAM 108的对应存储器行114(0)到114(X)于路122(N-1)中存储于DRAM高速缓存存储器104中,其中0≤N-1≤Z。
应理解,在一些方面中,主控表116的主控表项118(0)到118(M)可根据由DRAM高速缓存存储器104提供的路122(0)到122(Z)的数目提供大于或小于四个(4)位的DRAM高速缓存指示符120(0)到120(X)。作为非限制性实例,对于每一DRAM高速缓存指示符120(0)到120(X)中的位的编号Q,DRAM高速缓存存储器104可提供某数目个路122(0)到122(Z),其中Z=2Q-1。因此,包括两(2)个位的DRAM高速缓存指示符120(0)到120(X)对应于经组织成三(3)路122(0)到122(2)的DRAM高速缓存存储器104,而包括三(3)位的DRAM高速缓存指示符120(0)到120(X)对应于提供七(7)路122(0)到122(6)的DRAM高速缓存存储器104。下文关于图2A及2B更详细地论述DRAM高速缓存指示符120(0)到120(X)及DRAM高速缓存存储器104的不同配置。
因为主控表116的主控表项118(0)到118(M)存储针对系统存储器DRAM 108中的每一存储器行114(0)到114(X)的DRAM高速缓存指示符120(0)到120(X),所以主控表116的大小随着系统存储器DRAM 108的大小增加而增加。举例来说,在主控表116内的DRAM高速缓存指示符120(0)到120(X)各自为四(4)位的方面中,主控表116的总大小为系统存储器DRAM108的大小的0.4%。因此,存取用于每一存储器操作的主控表116可引发可补偿使用DRAM高速缓存存储器104的性能益处的时延惩罚。因此,需要提供可扩展机构以用于管理对DRAM高速缓存存储器104的存取以改进存储器带宽同时最小化时延惩罚。
就此来说,DRAM高速缓存管理电路102经提供以管理对DRAM高速缓存存储器104的存取。DRAM高速缓存管理电路102定位于计算裸片110上,且以通信方式耦合到高带宽存储器106及系统存储器DRAM 108。也可由系统高速缓存存储器112从DRAM高速缓存管理电路102进行读取,并由系统高速缓存存储器112对DRAM高速缓存管理电路102进行写入。如下文更详细地论述,DRAM高速缓存管理电路102可响应于接收到包括读取地址126的存储器读取请求124而执行存储器读取操作,所述读取地址指定检索数据所自的存储器地址。在一些方面中,DRAM高速缓存管理电路102可响应于接收到存储器写入请求128而进一步执行存储器写入操作,所述存储器写入请求包括写入数据132将写入到的写入地址130。
为减少可由对主控表116的存取引起的存取时延,DRAM高速缓存管理电路102提供DRAM高速缓存指示符高速缓存存储器134。DRAM高速缓存指示符高速缓存存储器134由DRAM高速缓存管理电路102使用以在DRAM高速缓存指示符高速缓存行138(0)到138(Y)的路136(0)到136(C)、136'(0)到136'(C)内高速缓存经频繁存取的主控表项118(0)到118(M)(及存储于其中的DRAM高速缓存指示符120(0)到120(X))。在一些方面中,DRAM高速缓存指示符高速缓存存储器134的路136(0)到136(C)、136'(0)到136'(C)中的每一者的大小对应于主控表116中的主控表项118(0)到118(M)的大小。一些方面可规定DRAM高速缓存指示符高速缓存存储器134的路136(0)到136(C)、136'(0)到136'(C)中的每一者的大小可大于主控表116中的主控表项118(0)到118(M)的大小。作为非限制性实例,DRAM高速缓存指示符高速缓存存储器134的路136(0)到136(C)、136'(0)到136'(C)可包含已变更指示符140(0)到140(C)、140'(0)到140'(C),其每一路136(0)到136(C)、136'(0)到136'(C)添加一(1)个位。因此,在路136(0)到136(C)、136'(0)到136'(C)在每一DRAM高速缓存指示符120(0)到120(X)四(4)个位的情况下大小为64个字节的方面中,可需要总共128个额外位以提供已变更指示符140(0)到140(C)、140'(0)到140'(C)。
DRAM高速缓存管理电路102的一些方面可进一步提供负载平衡电路142以改进存储器带宽并减少存储器存取争用。在可从系统存储器DRAM 108或DRAM高速缓存存储器104读取经请求存储器地址的情形中,负载平衡电路142识别读取存储器地址所自的最适当源。举例来说,在一些方面中,负载平衡电路142可监视从DRAM高速缓存存储器104及系统存储器DRAM 108的读取的时延,并可选择最近具有较好平均时延的源。以此方式,负载平衡电路142可在系统存储器DRAM 108与DRAM高速缓存存储器104之间分配存储器存取以优化系统资源的使用。
在一些方面中,DRAM高速缓存管理电路102可经实施为“完全写入”高速缓存管理系统。在完全写入实施方案中,从系统高速缓存存储器112逐出的已变更(即,经修改)数据通过DRAM高速缓存管理电路102写入到高带宽存储器106的DRAM高速缓存存储器104及系统存储器DRAM 108两者。因此,DRAM高速缓存存储器104内的数据及系统存储器DRAM 108内的数据始终经同步。因为在完全写入实施方案中的DRAM高速缓存存储器104及系统存储器DRAM 108两者被确保含有正确数据,所以DRAM高速缓存管理电路102的负载平衡电路142可自由地负载平衡DRAM高速缓存存储器104与系统存储器DRAM 108之间的存储器读取操作。然而,DRAM高速缓存管理电路102的完全写入实施方案可不导致系统存储器DRAM 108的减少的写入带宽,此是由于对DRAM高速缓存存储器104的每一写入将对应于对系统存储器DRAM 108的写入。
DRAM高速缓存管理电路102的一些方面可经实施为“回写”高速缓存管理系统,其中DRAM高速缓存管理电路102的DRAM高速缓存指示符高速缓存存储器134包含用于其中的每一路136(0)到136(C)、136'(0)到136'(C)的已变更指示符140(0)到140(C)、140'(0)到140'(C)。已变更指示符140(0)到140(C)、140'(0)到140'(C)中的每一者指示存储于对应于DRAM高速缓存指示符高速缓存存储器134内的路136(0)到136(C)、136'(0)到136'(C)的DRAM高速缓存存储器104中的数据是否为已变更(即,数据是否被写入到DRAM高速缓存存储器104但并未写入到系统存储器DRAM 108)。如果数据并非为已变更的,那么数据可从DRAM高速缓存存储器104或系统存储器DRAM 108读取,如由DRAM高速缓存管理电路102的负载平衡电路142所确定。然而,如果已变更指示符140(0)到140(C)、140'(0)到140'(C)指示存储于DRAM高速缓存存储器104中的数据为已变更的,那么负载平衡为不可能的,此是由于DRAM高速缓存存储器104为经修改数据的唯一源。因此,DRAM高速缓存管理电路102从DRAM高速缓存存储器104读取已变更数据。
DRAM高速缓存管理电路102的回写实施方案可减少系统存储器DRAM 108的存储器写入带宽消耗,但DRAM高速缓存管理电路102最终必须将从DRAM高速缓存存储器104逐出的已变更数据回写到系统存储器DRAM 108。在DRAM高速缓存管理电路102的回写实施方案的一些方面中,当DRAM高速缓存指示符高速缓存行138(0)到138(Y)从DRAM高速缓存指示符高速缓存存储器134逐出时,DRAM高速缓存管理电路102经配置以将DRAM高速缓存存储器104中的对应于经逐出DRAM高速缓存指示符高速缓存行138(0)到138(Y)的所有已变更数据复制到系统存储器DRAM 108。
DRAM高速缓存管理电路102的一些方面可根据通过DRAM高速缓存管理电路102进行的对应概率确定通过执行一些操作(例如,作为非限制性实例,涉及对系统存储器DRAM108及/或DRAM高速缓存存储器104的存储器存取的操作)而进一步改进存储器带宽。每一概率确定可用于调谐对应操作的频率,且可为无状态的(即,与先前概率确定的结果不相关)。举例来说,根据DRAM高速缓存管理电路102的一些方面,由系统高速缓存存储器112逐出的数据可基于概率确定而写入到DRAM高速缓存存储器104,以使得通过系统高速缓存存储器112逐出的仅仅一个百分比经随机选择数据写入到DRAM高速缓存存储器104。类似地,DRAM高速缓存管理电路102的一些方面可经配置以基于概率确定补充DRAM高速缓存指示符高速缓存存储器134(例如,通过将读取数据的主控表项118(0)到118(M)从主控表116复制到DRAM高速缓存指示符高速缓存存储器134)。因此,应理解,本文中描述为“概率性地”发生的每一操作在给定例项中可能执行或可能不执行,且进一步理解其给定概率操作的发生或缺少可通过DRAM高速缓存管理电路102进一步触发额外操作。
为说明图1的DRAM高速缓存存储器104的一些实施方案的示范性主控表项118(0)到118(M)及DRAM高速缓存指示符120(0)到120(X)内容,提供图2A到2B。图2A说明包括15路的DRAM高速缓存存储器104的实施方案,而图2B说明包括三(3)路的DRAM高速缓存存储器104的实施方案。为清楚起见,在描述图2A及2B时参考图1的元件。
在图2A中,说明具有64个字节的大小的示范性主控表项200(其可对应于图1的主控表项118(0)到118(M)中的一者)。主控表项200包含DRAM高速缓存指示符202(0)到202(127)(对应于图1的DRAM高速缓存指示符120(0)到120(X)),其每一者大小为四(4)个位。因此,主控表项200存储针对系统存储器DRAM 108的128个存储器行114(0)到114(X)的DRAM高速缓存指示符202(0)到202(127)。为了高速缓存DRAM高速缓存指示符202(0)到202(127),DRAM高速缓存指示符高速缓存存储器134提供DRAM高速缓存指示符高速缓存行204(0)到204(511)(对应于图1的DRAM高速缓存指示符高速缓存行138(0)到138(Y))。DRAM高速缓存指示符高速缓存行204(0)到204(511)中的每一者由八(8)路(例如,分别为DRAM高速缓存指示符高速缓存行204(0)、204(511)的路206(0)到206(7)、208(0)到208(7))构成。路206(0)到206(7)、208(0)到208(7)中的每一者对应于图1的路136(0)到136(C)、136'(0)到136'(C),且可存储一(1)个主控表项,例如主控表项200。
现参看图2B,展示具有64个字节的主控表项210。在图2B的实例中,主控表项210包含DRAM高速缓存指示符212(0)到212(255),其每一者大小为两个(2)位。因此,主控表项210存储针对系统存储器DRAM 108的256个存储器行的DRAM高速缓存指示符212(0)到212(255)。在此实例中的DRAM高速缓存指示符高速缓存存储器134提供DRAM高速缓存指示符高速缓存行214(0)到214(511)以高速缓存DRAM高速缓存指示符212(0)到212(255)。DRAM高速缓存指示符高速缓存行214(0)到214(511)中的每一者由八(8)路(例如,分别为DRAM高速缓存指示符高速缓存行214(0)、214(511)的路216(0)到216(7)、218(0)到218(7))构成。路216(0)到216(7)、218(0)到218(7)中的每一者可存储一(1)个主控表项,例如主控表项210。
图3为说明用于使用图1的DRAM高速缓存指示符高速缓存存储器134及DRAM高速缓存存储器104来执行读取操作的图1的DRAM高速缓存管理电路102的示范性操作的流程图。为清楚起见,在描述图3时参考图1的元件。在图3中,操作以DRAM高速缓存管理电路102接收包括读取地址126的存储器读取请求124(例如,由于系统高速缓存存储器112上的未命中)开始(块300)。因此,DRAM高速缓存管理电路102可在本文中称为“用于接收包括读取地址的存储器读取请求的装置”。DRAM高速缓存管理电路102确定读取地址126是否在DRAM高速缓存管理电路102的DRAM高速缓存指示符高速缓存存储器134中被发现(块302)。DRAM高速缓存管理电路102因此可在本文中称为“用于确定读取地址是否在DRAM高速缓存管理电路的DRAM高速缓存指示符高速缓存存储器中被发现的装置”。
如果存储器读取请求124的读取地址126在DRAM高速缓存指示符高速缓存存储器134中未被发现,那么DRAM高速缓存管理电路102读取在系统存储器DRAM 108中的读取地址126处的数据(块304)。就此来说,DRAM高速缓存管理电路102可在本文中称为“用于响应于确定读取地址在DRAM高速缓存指示符高速缓存存储器中未被发现而读取在系统存储器DRAM中的读取地址处的数据的装置”。与对读取地址126处的数据进行读取并行地,DRAM高速缓存管理电路102的一些方面可概率性地补充DRAM高速缓存指示符高速缓存存储器134(块306)。通过补充DRAM高速缓存指示符高速缓存存储器134,后续读取(其可在空间上邻近于读取数据)将引起DRAM高速缓存指示符高速缓存存储器134命中的似然度可得以增加。
作为非限制性实例,在一些方面中,概率性地补充DRAM高速缓存指示符高速缓存存储器134可包含将所读取数据的主控表项118(0)到118(M)从主控表116复制到DRAM高速缓存指示符高速缓存存储器134。一些方面可规定,用于补充DRAM高速缓存指示符高速缓存存储器134的块306的操作可包含从系统存储器DRAM 108中的主控表116跨越读取地址126读取主控表项118(0)到118(M)。主控表项118(0)到118(M)接着安装于DRAM高速缓存指示符高速缓存存储器134中。如果主控表项118(0)到118(M)的安装使得路136(0)到136(C)、136'(0)到136'(C)中的一者从DRAM高速缓存指示符高速缓存存储器134逐出,那么经逐出路136(0)到136(C)、136'(0)到136'(C)的内容(不具有可能存在的任何已变更指示符140(0)到140(C)、140'(0)到140'(C))经写入到系统存储器DRAM 108中的主控表116。在DRAM高速缓存管理电路102经配置以在回写模式中操作的方面中,由经逐出路136(0)到136(C)、136'(0)到136'(C)指示的任何已变更DRAM高速缓存行也从DRAM高速缓存存储器104复制到系统存储器DRAM 108。
如果DRAM高速缓存管理电路102在决定块302处确定读取地址126在DRAM高速缓存指示符高速缓存存储器134中被发现,那么DRAM高速缓存管理电路102接下来基于DRAM高速缓存指示符高速缓存存储器134确定读取地址126是否在为高带宽存储器106的部分的DRAM高速缓存存储器104中被发现(块308)。因此,DRAM高速缓存管理电路102可在本文中称为“用于响应于确定读取地址在DRAM高速缓存指示符高速缓存存储器中被发现而基于DRAM高速缓存指示符高速缓存存储器确定读取地址是否在为高带宽存储器的部分的DRAM高速缓存存储器中被发现的装置”。在一些方面中,确定读取地址126是否在DRAM高速缓存存储器104中被发现可包含确定DRAM高速缓存指示符高速缓存存储器134中的用于读取地址126的路编号是否为非零。如果是,那么读取地址126是在DRAM高速缓存存储器104中。否则,如果DRAM高速缓存指示符高速缓存存储器134中的用于读取地址126的路编号为零(0),那么读取地址126不在DRAM高速缓存存储器104中。
如果读取地址126在DRAM高速缓存存储器104中未被发现,那么DRAM高速缓存管理电路102读取在系统存储器DRAM 108中的读取地址126处的数据(块310)。DRAM高速缓存管理电路102因此可在本文中称为“用于响应于确定读取地址在DRAM高速缓存存储器中未被发现而读取在系统存储器DRAM中的读取地址处的数据的装置”。然而,如果DRAM高速缓存管理电路102在决定块308处确定读取地址126在DRAM高速缓存存储器104中被发现,那么DRAM高速缓存管理电路102在一些方面中确定DRAM高速缓存存储器104中的针对读取地址126的数据是否清洁(或替代地,DRAM高速缓存管理电路102是否经配置以在完全写入模式中操作)(块312)。如果DRAM高速缓存存储器104中的数据不清洁及/或DRAM高速缓存管理电路102并非在完全写入模式中操作,那么经请求数据可仅仅从DRAM高速缓存存储器104被安全地读取。因此,DRAM高速缓存管理电路102从DRAM高速缓存存储器104读取针对读取地址126的数据(块314)。就此来说,DRAM高速缓存管理电路102可在本文中称为“用于响应于确定读取地址在DRAM高速缓存存储器中被发现而从DRAM高速缓存存储器读取针对读取地址的数据的装置”。
如果DRAM高速缓存管理电路102在决定块312处确定DRAM高速缓存存储器104中的数据为清洁的及/或DRAM高速缓存管理电路102在完全写入模式中操作,那么经请求数据可从系统存储器DRAM 108或DRAM高速缓存存储器104被安全地读取。因此,作为非限制性实例,DRAM高速缓存管理电路102的负载平衡电路142基于负载平衡准则(例如带宽及时延)从DRAM高速缓存存储器104及系统存储器DRAM 108当中识别优选数据源(块316)。如果负载平衡电路142确定系统存储器DRAM 108为优选数据源,那么读取地址126处的数据可从系统存储器DRAM 108读取(块318)。类似地,如果负载平衡电路142确定DRAM高速缓存存储器104为优选数据源,那么针对读取地址126的数据可从DRAM高速缓存存储器104读取(块320)。
为了说明图1的DRAM高速缓存管理电路102的用于在完全写入模式中或在回写模式中执行由清洁(即,未经修改)数据从系统高速缓存存储器112的逐出引起的写入操作的示范性操作,提供图4A到4C。为清楚起见,在描述图4A到4C时参考图1的元件。图4A中的操作以DRAM高速缓存管理电路102接收包括写入地址130及写入数据132的存储器写入请求128(块400)开始。在此实例中,写入数据132表示从系统高速缓存存储器112逐出的清洁(即,未经修改)数据,且因此在本文中称为“清洁逐出的数据132”。
DRAM高速缓存管理电路102确定清洁逐出的数据132的写入地址130是否在DRAM高速缓存指示符高速缓存存储器134中被发现(块402)。如果写入地址130不存在于DRAM高速缓存指示符高速缓存存储器134中,那么DRAM高速缓存管理电路102概率性地补充DRAM高速缓存指示符高速缓存存储器134(例如,通过将主控表项118(0)到118(M)从主控表116复制到DRAM高速缓存指示符高速缓存存储器134)(块404)。如果DRAM高速缓存指示符高速缓存存储器134在块404处不予以补充(即,补充经概率性地确定为不发生),那么处理完成(块406)。否则,DRAM高速缓存管理电路102在块408处恢复处理。
如果DRAM高速缓存管理电路102在决定块402处确定清洁逐出的数据132的写入地址130存在于DRAM高速缓存指示符高速缓存存储器134中(或如果在块404处补充DRAM高速缓存指示符高速缓存存储器134),那么DRAM高速缓存管理电路102接下来确定清洁逐出的数据132的写入地址130存在于DRAM高速缓存存储器104中(块408)。如果写入地址130存在于DRAM高速缓存存储器104中,那么处理完成(块406)。然而,如果清洁逐出的数据132的写入地址130不存在于DRAM高速缓存存储器104中,那么处理在图4B的块410处恢复。
现参看图4B,DRAM高速缓存管理电路102接下来将写入地址130及清洁逐出的数据132概率性地写入到DRAM高速缓存存储器104(块410)。在一些方面中,用于将写入地址130及清洁逐出的数据132写入到DRAM高速缓存存储器104的块410的操作可包含首先随机地选择待从DRAM高速缓存存储器104逐出的路122(0)到122(Z)(块412)。DRAM高速缓存管理电路102从DRAM高速缓存存储器104读取所选择路122(0)到122(Z)的存储器地址(块414)。DRAM高速缓存管理电路102接着将写入地址130及清洁逐出的数据132写入到DRAM高速缓存存储器104中的所选择路122(0)到122(Z)(块416)。DRAM高速缓存管理电路102将DRAM高速缓存指示符高速缓存存储器134中的用于写入地址130的路编号更新为所选择路122(0)到122(Z)的路编号(块418)。处理接着在图4C的块420处继续。
转到图4C,用于将写入地址130及清洁逐出的数据132概率性地写入到DRAM高速缓存存储器104的块410的其它操作包含DRAM高速缓存管理电路102确定所选择路122(0)到122(Z)的存储器地址是否存在于DRAM高速缓存指示符高速缓存存储器134中(块420)。如果不存在,那么处理在图4C的块424处恢复。如果DRAM高速缓存管理电路102在决定块420处确定所选择路122(0)到122(Z)的存储器地址存在于DRAM高速缓存指示符高速缓存存储器134中,那么DRAM高速缓存管理电路102复位DRAM高速缓存指示符高速缓存存储器134中的针对存储器地址的所选择路122(0)到122(Z)的路编号(块422)。
如果DRAM高速缓存管理电路102在决定块420处确定所选择路122(0)到122(Z)的存储器地址不存在于DRAM高速缓存指示符高速缓存存储器134中,那么DRAM高速缓存管理电路102补充DRAM高速缓存指示符高速缓存存储器134(块424)。在一些方面中,用于补充DRAM高速缓存指示符高速缓存存储器134的块424的操作包含从系统存储器DRAM 108中的主控表116读取对应于存储器地址的所选择路122(0)到122(Z)的主控表项118(0)到118(M)(块426)。DRAM高速缓存管理电路102在一些方面中可接下来基于主控表项118(0)到118(M)将针对存储器地址的所选择路122(0)到122(Z)的路编号写入到DRAM高速缓存指示符高速缓存存储器134(块428)。在一些方面中,DRAM高速缓存管理电路102复位对应于存储器地址的所选择路122(0)到122(Z)的路编号(块430)。DRAM高速缓存管理电路102接着将路编号写入到系统存储器DRAM 108中的主控表116(而不需将主控表项118(0)到118(M)安装于DRAM高速缓存指示符高速缓存存储器134中)(块432)。
图5A到5C经提供以说明用于在完全写入模式中执行由已变更数据从系统高速缓存存储器112逐出引起的写入操作的图1的DRAM高速缓存管理电路102的示范性操作。为清楚起见,在描述图5A到5C时参考图1的元件。在图5A中,操作以DRAM高速缓存管理电路102接收包括写入地址130及写入数据132的存储器写入请求128(块500)开始。图5A的实例中的写入数据132表示从系统高速缓存存储器112逐出的已变更(即,经修改)数据,且因此在本文中称为“已变更逐出的数据132”。
DRAM高速缓存管理电路102确定已变更逐出的数据132的写入地址130是否在DRAM高速缓存指示符高速缓存存储器134中被发现(块502)。如果写入地址130不存在于DRAM高速缓存指示符高速缓存存储器134中,那么DRAM高速缓存管理电路102概率性地补充DRAM高速缓存指示符高速缓存存储器134(作为非限制性实例,通过将主控表项118(0)到118(M)从主控表116复制到DRAM高速缓存指示符高速缓存存储器134)(块504)。如果DRAM高速缓存指示符高速缓存存储器134在块504处予以补充(即,补充经概率性地确定为发生),那么处理在块506处恢复。否则,DRAM高速缓存管理电路102在系统存储器DRAM 108中的主控表116中更新对应于写入地址130的DRAM高速缓存指示符120(0)到120(X)(例如,通过对针对DRAM高速缓存指示符120(0)到120(X)的主控表项118(0)到118(M)执行读取-修改-写入(RMW)操作)(块508)。DRAM高速缓存管理电路102接着将已变更逐出的数据132写入到DRAM高速缓存存储器104(块510)。应理解,在一些方面中,用于更新DRAM高速缓存指示符120(0)到120(X)的块508的操作及用于将已变更逐出的数据132写入到DRAM高速缓存存储器104的块510的操作可经并行进行。
如果DRAM高速缓存管理电路102在决定块502处确定已变更逐出的数据132的写入地址130在DRAM高速缓存指示符高速缓存存储器134中被发现(或如果在块504处补充DRAM高速缓存指示符高速缓存存储器134),那么DRAM高速缓存管理电路102接下来确定已变更逐出的数据132的写入地址130是否在DRAM高速缓存存储器104中被发现(块506)。如果写入地址130未在DRAM高速缓存存储器104中被发现,那么处理在图5B的块512处恢复。然而,如果DRAM高速缓存管理电路102在决定块506处确定写入地址130在DRAM高速缓存存储器104中被发现,那么DRAM高速缓存管理电路102将已变更逐出的数据132写入到DRAM高速缓存存储器104(例如,通过对DRAM高速缓存存储器104执行非-逐出-写入)(块514)。DRAM高速缓存管理电路102接着将已变更逐出的数据132写入到系统存储器DRAM 108(块516)。
转到图5B,DRAM高速缓存管理电路102接下来将写入地址130及已变更逐出的数据132概率性地写入到DRAM高速缓存存储器104(块512)。一些方面可规定用于将写入地址130及已变更逐出的数据132写入到DRAM高速缓存存储器104的块512的操作可包含首先随机地选择待从DRAM高速缓存存储器104逐出的路122(0)到122(Z)(块518)。通过DRAM高速缓存管理电路102从DRAM高速缓存存储器104读取所选择路122(0)到122(Z)的存储器地址(块520)。DRAM高速缓存管理电路102接着将写入地址130及已变更逐出的数据132写入到DRAM高速缓存存储器104中的所选择路122(0)到122(Z)(块522)。DRAM高速缓存管理电路102将DRAM高速缓存指示符高速缓存存储器134中的用于写入地址130的路编号更新为所选择路122(0)到122(Z)的路编号(块524)。处理接着在图5C的块526处继续。
现参看图5C,用于将写入地址130及已变更逐出的数据132概率性地写入到DRAM高速缓存存储器104的块512的其它操作包含DRAM高速缓存管理电路102确定所选择路122(0)到122(Z)的存储器地址是否存在于DRAM高速缓存指示符高速缓存存储器134中(块526)。如果不存在,那么处理在图5C的块528处恢复。如果DRAM高速缓存管理电路102在决定块526处确定所选择路122(0)到122(Z)的存储器地址存在于DRAM高速缓存指示符高速缓存存储器134中,那么DRAM高速缓存管理电路102复位DRAM高速缓存指示符高速缓存存储器134中的针对存储器地址的所选择路122(0)到122(Z)的路编号(块530)。
如果DRAM高速缓存管理电路102在决定块526处确定所选择路122(0)到122(Z)的存储器地址不存在于DRAM高速缓存指示符高速缓存存储器134中,那么DRAM高速缓存管理电路102补充DRAM高速缓存指示符高速缓存存储器134(块528)。在一些方面中,用于补充DRAM高速缓存指示符高速缓存存储器134的块528的操作包含从系统存储器DRAM 108中的主控表116读取对应于存储器地址的所选择路122(0)到122(Z)的主控表项118(0)到118(M)(块532)。DRAM高速缓存管理电路102在一些方面中可接下来基于主控表项118(0)到118(M)将针对存储器地址的所选择路122(0)到122(Z)的路编号写入到DRAM高速缓存指示符高速缓存存储器134(块534)。在一些方面中,DRAM高速缓存管理电路102复位对应于存储器地址的所选择路122(0)到122(Z)的路编号(块536)。DRAM高速缓存管理电路102接着将路编号写入到系统存储器DRAM 108中的主控表116(而不需将主控表项118(0)到118(M)安装于DRAM高速缓存指示符高速缓存存储器134中)(块538)。
为了说明用于在回写模式中执行由已变更数据从系统高速缓存存储器112的逐出引起的写入操作的图1的DRAM高速缓存管理电路102的示范性操作,提供图6A到6D。为清楚起见,在描述图6A到6D时参考图1的元件。图6A中的操作以DRAM高速缓存管理电路102接收包括写入地址130及写入数据132的存储器写入请求128(块600)开始。如同图5A一般,图6A的实例中的写入数据132表示从系统高速缓存存储器112逐出的已变更(即,经修改)数据,且因此在本文中称为“已变更逐出的数据132”。
DRAM高速缓存管理电路102确定已变更逐出的数据132的写入地址130是否在DRAM高速缓存指示符高速缓存存储器134中被发现(块602)。如果写入地址130不存在于DRAM高速缓存指示符高速缓存存储器134中,那么DRAM高速缓存管理电路102概率性地补充DRAM高速缓存指示符高速缓存存储器134(例如,通过将主控表项118(0)到118(M)从主控表116复制到DRAM高速缓存指示符高速缓存存储器134)(块604)。如果DRAM高速缓存指示符高速缓存存储器134在块604处予以补充(即,补充经概率性地确定为发生),那么处理在块606处恢复。否则,DRAM高速缓存管理电路102在系统存储器DRAM 108中的主控表116中更新对应于写入地址130的DRAM高速缓存指示符120(0)到120(X)(例如,通过对针对DRAM高速缓存指示符120(0)到120(X)的主控表项118(0)到118(M)执行读取-修改-写入(RMW)操作)(块608)。DRAM高速缓存管理电路102接着将已变更逐出的数据132写入到DRAM高速缓存存储器104(块610)。应理解,在一些方面中,用于更新DRAM高速缓存指示符120(0)到120(X)的块608的操作及用于将已变更逐出的数据132写入到DRAM高速缓存存储器104的块610的操作可并行地进行。
DRAM高速缓存管理电路102的一些方面可接下来确定来自主控表116的针对写入地址130的DRAM高速缓存指示符120(0)到120(X)是否指示写入地址130是在DRAM高速缓存存储器104中(块612)。如果否,那么处理完成(块614)。然而,如果DRAM高速缓存管理电路102在决定块612处确定来自主控表116的针对写入地址130的DRAM高速缓存指示符120(0)到120(X)指示写入地址130是在DRAM高速缓存存储器104中,那么DRAM高速缓存管理电路102将已变更逐出的数据132写入到DRAM高速缓存存储器104(块616)。
返回参看决定块602,如果DRAM高速缓存管理电路102确定已变更逐出的数据132的写入地址130在DRAM高速缓存指示符高速缓存存储器134中被发现(或如果在块604处补充DRAM高速缓存指示符高速缓存存储器134),那么DRAM高速缓存管理电路102接下来确定已变更逐出的数据132的写入地址130是否在DRAM高速缓存存储器104中被发现(块606)。如果写入地址130未在DRAM高速缓存存储器104中被发现,那么处理在图6B的块618处恢复。然而,如果DRAM高速缓存管理电路102在决定块606处确定写入地址130在DRAM高速缓存存储器104中被发现,那么DRAM高速缓存管理电路102将已变更逐出的数据132写入到DRAM高速缓存存储器104(例如,通过对DRAM高速缓存存储器104执行非-逐出-写入操作)(块616)。
现转而参看图6B,DRAM高速缓存管理电路102接下来将写入地址130及已变更逐出的数据132概率性地写入到DRAM高速缓存存储器104(块618)。根据一些方面,用于将写入地址130及已变更逐出的数据132写入到DRAM高速缓存存储器104的块618的操作可包含首先随机地选择待从DRAM高速缓存存储器104逐出的路122(0)到122(Z)(块620)。通过DRAM高速缓存管理电路102从DRAM高速缓存存储器104读取所选择路122(0)到122(Z)的存储器地址(块622)。DRAM高速缓存管理电路102接着将写入地址130及已变更逐出的数据132写入到DRAM高速缓存存储器104中的所选择路122(0)到122(Z)(块624)。DRAM高速缓存管理电路102将DRAM高速缓存指示符高速缓存存储器134中的用于写入地址130的路编号更新为所选择路122(0)到122(Z)的路编号(块626)。DRAM高速缓存管理电路102也设定DRAM高速缓存指示符高速缓存存储器134中的针对写入地址130的已变更指示符140(0)到140(C)、140'(0)到140'(C)(块628)。处理接着在图6C的块630处继续。
在图6C中,用于将写入地址130及已变更逐出的数据132概率性地写入到DRAM高速缓存存储器104的块618的其它操作包含DRAM高速缓存管理电路102确定所选择路122(0)到122(Z)的存储器地址是否存在于DRAM高速缓存指示符高速缓存存储器134中(块630)。如果否,那么处理在图6D中的块632处恢复。如果DRAM高速缓存管理电路102在决定块630处确定所选择路122(0)到122(Z)的存储器地址存在于DRAM高速缓存指示符高速缓存存储器134中,那么DRAM高速缓存管理电路102复位DRAM高速缓存指示符高速缓存存储器134中的针对存储器地址的所选择路122(0)到122(Z)的路编号及已变更指示符140(0)到140(C)、140'(0)到140'(C)(块634)。
现参看图6D,如果DRAM高速缓存管理电路102在图6C的决定块630处确定所选择路122(0)到122(Z)的存储器地址不存在于DRAM高速缓存指示符高速缓存存储器134中,那么DRAM高速缓存管理电路102补充DRAM高速缓存指示符高速缓存存储器134(块632)。在一些方面中,用于补充DRAM高速缓存指示符高速缓存存储器134的块632的操作包含从系统存储器DRAM 108中的主控表116读取对应于存储器地址的所选择路122(0)到122(Z)的主控表项118(0)到118(M)(块634)。DRAM高速缓存管理电路102在一些方面中可接下来基于主控表项118(0)到118(M)将针对存储器地址的所选择路122(0)到122(Z)的路编号写入到DRAM高速缓存指示符高速缓存存储器134(块636)。在一些方面中,DRAM高速缓存管理电路102复位对应于存储器地址的所选择路122(0)到122(Z)的路编号(块638)。DRAM高速缓存管理电路102接着将路编号写入到系统存储器DRAM 108中的主控表116(而不需将主控表项118(0)到118(M)安装于DRAM高速缓存指示符高速缓存存储器134中)(块640)。如果在块618中写入地址130及已变更逐出的数据132并未概率性地写入到DRAM高速缓存存储器104,那么DRAM高速缓存管理电路102将已变更逐出的数据132写入到系统存储器DRAM 108(块642)。
根据本文所公开的方面使用DRAM高速缓存指示符高速缓存存储器以提供可扩展DRAM高速缓存管理可在任一基于处理器的装置中提供或集成于任一基于处理器的装置中。实例包含(但不限于)机顶盒、娱乐单元、导航装置、通信装置、固定位置数据单元、移动位置数据单元、移动电话、蜂窝式电话、智能型手机、平板计算机、平板手机、计算机、便携式计算机、台式计算机、个人数字助理(PDA)、监视器、计算机监视器、电视、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频光盘(DVD)播放器、便携式数字视频播放器及汽车。
就此来说,图7说明可采用图1中所说明的DRAM高速缓存管理电路(DCMC)102的基于处理器的系统700的实例。基于处理器的系统700包含一或多个中央处理单元(CPU)702,每一中央处理单元702包含一或多个处理器704。一或多个CPU 702可具有耦合到一或多个处理器704以用于快速存取暂时存储的数据的高速缓存存储器706。一或多个CPU 702耦合到系统总线708且可将包含于基于处理器的系统700中的主控装置与从属装置相互耦合。如所熟知,一或多个CPU 702通过经由系统总线708交换地址、控制及数据信息而与此些其它装置通信。举例来说,一或多个CPU 702可将总线异动请求传达到作为从属装置的实例的存储器控制器710。
其它主控装置及从属装置可连接到系统总线708。作为实例,如图7中所说明,此些装置可包含存储器系统712、一或多个输入装置714、一或多个输出装置716、一或多个网络接口装置718及一或多个显示器控制器720。输入装置714可包含任何类型的输入装置,包含(但不限于)输入按键、开关、语音处理器等。输出装置716可包含任何类型的输出装置,包含(但不限于)音频、视频、其它视觉指示器等。网络接口装置718可为经配置以允许到及从网络722的数据交换的任何装置。网络722可为任何类型的网络,包含(但不限于)有线或无线网络、私用或公用网络、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、BLUETOOTHTM网络及因特网。网络接口装置718可经配置以支持任何类型的所要通信协议。存储器系统712可包含一或多个存储器单元724(0)到724(N)。
CPU 702也可经配置以经由系统总线708存取显示器控制器720以控制发送到一或多个显示器726的信息。显示器控制器720将信息发送到待经由一或多个视频处理器728显示的显示器726,所述视频处理器将待显示的信息处理成适合于显示器726的格式。显示器726可包含任何类型的显示器,包含(但不限于)阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器等。
所属领域的一般技术人员将进一步了解,结合本文所公开的方面所描述的各种说明性逻辑块、模块、电路及算法可实施为电子硬件、存储于存储器中或另一计算机可读媒体中且由处理器或其它处理装置执行的指令,或此两者的组合。作为实例,本文中所描述的主控装置及从属装置可用于任何电路、硬件组件、集成电路(IC)或IC芯片中。本文中所公开的存储器可为任何类型及大小的存储器,且可经配置以存储任何类型的所要信息。为了清楚地说明此可互换性,上文已大体上在功能性方面描述了各种说明性组件、块、模块、电路及步骤。如何实施此功能性视特定应用、设计选择及/或强加于整个系统的设计约束而定。对于每一特定应用来说,所属领域的一般技术人员可以变化的方式实施所描述的功能性,但不应将所述实施决策解译为导致脱离本发明的范围。
结合本文中所公开的方面而描述的各种说明性逻辑块、模块及电路可通过以下各者来实施或执行:处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散闸或晶体管逻辑、离散硬件组件或其经设计以执行本文中所描述的功能的任何组合。处理器可为微处理器,但在替代方案中,处理器可为任何常规的处理器、控制器、微控制器或状态机。处理器也可实施为计算装置的组合(例如,DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器,或任何其它此配置)。
本文中所公开的方面可以硬件及存储于硬件中的指令体现,且可驻存于(例如)随机存取存储器(RAM)、快闪存储器、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、寄存器、硬盘、抽取式磁盘、CD-ROM或所属领域中已知的任何其它形式的计算机可读媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息且将信息写入到存储媒体。在替代方案中,存储媒体可集成到处理器。处理器及存储媒体可驻存于ASIC中。所述ASIC可驻存于远程台中。在替代方案中,处理器及存储媒体可作为离散组件而驻存于远程台、基站或服务器中。
也应注意,描述于本文中的示范性方面中的任一者中的操作步骤经描述以提供实例及论述。可以除了所说明的序列以外的众多不同序列来执行所描述的操作。此外,描述于单一操作步骤中的操作可实际上以数个不同步骤执行。另外,可组合示范性方面中所论述的一或多个操作步骤。应理解,如所属领域的一般技术人员将显而易见,流程图中所说明的操作步骤可经受众多不同修改。所属领域的一般技术人员也将理解,可使用各种不同技术及技法中的任一者表示信息及信号。举例来说,贯穿以上描述可能参考的数据、指令、命令、信息、信号、位、符号及码片可由电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子或其任何组合来表示。
提供本发明的先前描述以使得任何所属领域的一般技术人员能够制造或使用本发明。对本发明的各种修改对于所属领域的一般技术人员来说将易于为显而易见的,且本文中所定义的一般原理可在不背离本发明的精神或范围的情况下应用于其它变化。因此,本发明并不打算限于本文中所描述的实例及设计,而是应符合与本文中所公开的原理及新颖特征相一致的最广泛范围。
Claims (47)
1.一种动态随机存取存储器DRAM高速缓存管理电路,其以通信方式耦合到为高带宽存储器的部分的DRAM高速缓存存储器且进一步以通信方式耦合到系统存储器DRAM;
所述DRAM高速缓存管理电路包括DRAM高速缓存指示符高速缓存存储器,其经配置以高速缓存从所述系统存储器DRAM中的主控表读取的多个DRAM高速缓存指示符,所述多个DRAM高速缓存指示符指示所述系统存储器DRAM的对应存储器行是否在所述DRAM高速缓存存储器中被高速缓存;
所述DRAM高速缓存管理电路经配置以:
接收包括读取地址的存储器读取请求;
确定所述读取地址是否在所述DRAM高速缓存指示符高速缓存存储器中被发现;
响应于确定所述读取地址在所述DRAM高速缓存指示符高速缓存存储器中未被发现,读取在所述系统存储器DRAM中的所述读取地址处的数据;及
响应于确定所述读取地址在所述DRAM高速缓存指示符高速缓存存储器中被发现:
基于所述DRAM高速缓存指示符高速缓存存储器确定所述读取地址是否在所述DRAM高速缓存存储器中被发现;
响应于确定所述读取地址在所述DRAM高速缓存存储器中未被发现,读取在所述系统存储器DRAM中的所述读取地址处的数据;及
响应于确定所述读取地址在所述DRAM高速缓存存储器中被发现,从所述DRAM高速缓存存储器读取针对所述读取地址的数据。
2.根据权利要求1所述的DRAM高速缓存管理电路,其经配置而在回写模式中操作,且经进一步配置以响应于确定所述读取地址在所述DRAM高速缓存存储器中被发现,确定所述DRAM高速缓存存储器中的针对所述读取地址的所述数据是否清洁;
其中所述DRAM高速缓存管理电路经配置以进一步响应于确定所述DRAM高速缓存存储器中的针对所述读取地址的所述数据并非清洁而从所述DRAM高速缓存存储器读取针对所述读取地址的所述数据。
3.根据权利要求2所述的DRAM高速缓存管理电路,其经进一步配置以响应于确定所述DRAM高速缓存存储器中的针对所述读取地址的所述数据为清洁的:
基于所述DRAM高速缓存管理电路的负载平衡电路从所述DRAM高速缓存存储器及所述系统存储器DRAM当中识别优选数据源;
响应于将所述DRAM高速缓存存储器识别为所述优选数据源,从所述DRAM高速缓存存储器读取数据;及
响应于将所述系统存储器DRAM识别为所述优选数据源,从所述系统存储器DRAM读取数据。
4.根据权利要求1所述的DRAM高速缓存管理电路,其经配置以在完全写入模式中操作,且经进一步配置以响应于确定所述读取地址在所述DRAM高速缓存存储器中被发现:
基于所述DRAM高速缓存管理电路的负载平衡电路从所述DRAM高速缓存存储器及所述系统存储器DRAM当中识别优选数据源;及
响应于将所述系统存储器DRAM识别为所述优选数据源,从所述系统存储器DRAM读取数据;
其中所述DRAM高速缓存管理电路经配置以进一步响应于确定所述DRAM高速缓存存储器中的针对所述读取地址的所述数据为清洁的及将所述DRAM高速缓存存储器识别为所述优选数据源而从所述DRAM高速缓存存储器读取针对所述读取地址的所述数据。
5.根据权利要求1所述的DRAM高速缓存管理电路,其中:
所述DRAM高速缓存管理电路进一步耦合到系统高速缓存存储器;及
所述DRAM高速缓存管理电路经配置以响应于对所述系统高速缓存存储器的未命中而接收包括所述读取地址的所述存储器读取请求。
6.根据权利要求1所述的DRAM高速缓存管理电路,其经配置以在读取所述系统存储器DRAM中的所述读取地址处的所述数据之后概率性地补充所述DRAM高速缓存指示符高速缓存存储器。
7.根据权利要求1所述的DRAM高速缓存管理电路,其经配置以基于所述DRAM高速缓存指示符高速缓存存储器通过经配置以确定所述DRAM高速缓存存储器中的针对所述读取地址的路编号是否为非零的而确定所述读取地址是否在所述DRAM高速缓存存储器中被发现。
8.根据权利要求1所述的DRAM高速缓存管理电路,其经进一步配置以:
从系统高速缓存存储器接收存储器写入请求,所述存储器写入请求包括写入地址及包括清洁逐出的数据的写入数据;
确定所述写入地址是否在所述DRAM高速缓存存储器中被发现;及
响应于确定所述写入地址在所述DRAM高速缓存存储器中未被发现,将所述写入地址及所述清洁逐出的数据概率性地写入到所述DRAM高速缓存存储器。
9.根据权利要求8所述的DRAM高速缓存管理电路,其经进一步配置以在确定所述写入地址是否在所述DRAM高速缓存存储器中被发现之前:
确定所述写入地址是否在所述DRAM高速缓存指示符高速缓存存储器中被发现;及
响应于确定所述写入地址在所述DRAM高速缓存指示符高速缓存存储器中未被发现,概率性地补充所述DRAM高速缓存指示符高速缓存存储器;
其中所述DRAM高速缓存管理电路经配置以响应于补充所述DRAM高速缓存指示符高速缓存存储器而确定所述写入地址是否在所述DRAM高速缓存存储器中被发现。
10.根据权利要求8所述的DRAM高速缓存管理电路,其经配置以通过经配置以执行以下操作而将所述写入地址及所述清洁逐出的数据概率性地写入到所述DRAM高速缓存存储器:
选择待从所述DRAM高速缓存存储器逐出的路;
从所述DRAM高速缓存存储器读取所述所选择路的存储器地址;
将所述写入地址及所述清洁逐出的数据写入到所述DRAM高速缓存存储器中的所述所选择路;
将所述DRAM高速缓存指示符高速缓存存储器中的针对所述写入地址的路编号更新为所述所选择路的路编号;
确定所述所选择路的所述存储器地址是否存在于所述DRAM高速缓存指示符高速缓存存储器中;及
响应于确定所述所选择路的所述存储器地址存在于所述DRAM高速缓存指示符高速缓存存储器中,复位所述DRAM高速缓存指示符高速缓存存储器中的针对所述存储器地址的所述所选择路的所述路编号。
11.根据权利要求10所述的DRAM高速缓存管理电路,其经进一步配置以响应于确定所述所选择路的所述存储器地址不存在于所述DRAM高速缓存指示符高速缓存存储器中,通过经配置以执行以下操作而补充所述DRAM高速缓存指示符高速缓存存储器:
读取对应于所述存储器地址的所述所选择路的主控表项;及
基于所述主控表项将针对所述存储器地址的所述所选择路的所述路编号写入到所述DRAM高速缓存指示符高速缓存存储器。
12.根据权利要求10所述的DRAM高速缓存管理电路,其经进一步配置以响应于确定所述所选择路的所述存储器地址不存在于所述DRAM高速缓存指示符高速缓存存储器中:
复位对应于所述存储器地址的所述所选择路的所述路编号;及
写入所述路编号到所述主控表。
13.根据权利要求1所述的DRAM高速缓存管理电路,其经配置以在完全写入模式中操作,且经进一步配置以:
从系统高速缓存存储器接收存储器写入请求,所述存储器写入请求包括写入地址及包括已变更逐出的数据的写入数据;
确定所述写入地址是否在所述DRAM高速缓存存储器中被发现;
响应于确定所述写入地址在所述DRAM高速缓存存储器中未被发现,将所述写入地址及所述已变更逐出的数据概率性地写入到所述DRAM高速缓存存储器;
响应于确定所述写入地址在所述DRAM高速缓存存储器中被发现,将所述已变更逐出的数据写入到所述DRAM高速缓存存储器;及
将所述已变更逐出的数据写入到所述系统存储器DRAM。
14.根据权利要求13所述的DRAM高速缓存管理电路,其经进一步配置以在确定所述写入地址是否在所述DRAM高速缓存存储器中被发现之前:
确定所述写入地址是否在所述DRAM高速缓存指示符高速缓存存储器中被发现;及
响应于确定所述写入地址在所述DRAM高速缓存指示符高速缓存存储器中未被发现,概率性地补充所述DRAM高速缓存指示符高速缓存存储器;
响应于不补充所述DRAM高速缓存指示符高速缓存存储器:
更新所述主控表中的对应于所述写入地址的DRAM高速缓存指示符;及
将所述已变更逐出的数据写入到所述DRAM高速缓存存储器;
其中所述DRAM高速缓存管理电路经配置以响应于补充所述DRAM高速缓存指示符高速缓存存储器而确定所述写入地址是否在所述DRAM高速缓存存储器中被发现。
15.根据权利要求13所述的DRAM高速缓存管理电路,其经配置以通过经配置以执行以下操作而将所述写入地址及所述已变更逐出的数据概率性地写入到所述DRAM高速缓存存储器:
选择待从所述DRAM高速缓存存储器逐出的路;
从所述DRAM高速缓存存储器读取所述所选择路的存储器地址;
将所述写入地址及所述已变更逐出的数据写入到所述DRAM高速缓存存储器中的所述所选择路;
将所述DRAM高速缓存指示符高速缓存存储器中的针对所述写入地址的所述路编号更新为所述所选择路的路编号;
确定所述所选择路的所述存储器地址是否存在于所述DRAM高速缓存指示符高速缓存存储器中;及
响应于确定所述所选择路的所述存储器地址存在于所述DRAM高速缓存指示符高速缓存存储器中,复位所述DRAM高速缓存指示符高速缓存存储器中的针对所述存储器地址的所述所选择路的所述路编号。
16.根据权利要求15所述的DRAM高速缓存管理电路,其经进一步配置以响应于确定所述所选择路的所述存储器地址不存在于所述DRAM高速缓存指示符高速缓存存储器中,通过经配置以执行以下操作而补充所述DRAM高速缓存指示符高速缓存存储器:
读取对应于所述存储器地址的所述所选择路的主控表项;及
基于所述主控表项将针对所述存储器地址的所述所选择路的所述路编号写入到所述DRAM高速缓存指示符高速缓存存储器。
17.根据权利要求15所述的DRAM高速缓存管理电路,其经进一步配置以响应于确定所述所选择路的所述存储器地址不存在于所述DRAM高速缓存指示符高速缓存存储器中:
复位对应于所述存储器地址的所述所选择路的所述路编号;及
写入所述路编号到所述主控表。
18.根据权利要求1所述的DRAM高速缓存管理电路,其经配置以在回写模式中操作,且经进一步配置以:
从系统高速缓存存储器接收存储器写入请求,所述存储器写入请求包括写入地址及包括已变更逐出的数据的写入数据;
确定所述写入地址是否在所述DRAM高速缓存存储器中被发现;
响应于确定所述写入地址在所述DRAM高速缓存存储器中未被发现,将所述写入地址及所述已变更逐出的数据概率性地写入到所述DRAM高速缓存存储器;
响应于未将所述写入地址及所述已变更逐出的数据写入到所述DRAM高速缓存存储器,将所述已变更逐出的数据写入到所述系统存储器DRAM;及
响应于确定所述写入地址在所述DRAM高速缓存存储器中被发现,将所述已变更逐出的数据写入到所述DRAM高速缓存存储器。
19.根据权利要求18所述的DRAM高速缓存管理电路,其经进一步配置以在确定所述写入地址是否在所述DRAM高速缓存存储器中被发现之前:
确定所述写入地址是否在所述DRAM高速缓存指示符高速缓存存储器中被发现;及
响应于确定所述写入地址在所述DRAM高速缓存指示符高速缓存存储器中未被发现,概率性地补充所述DRAM高速缓存指示符高速缓存存储器;
响应于不补充所述DRAM高速缓存指示符高速缓存存储器:
从所述主控表读取针对所述写入地址的DRAM高速缓存指示符;
将所述已变更逐出的数据写入到所述系统存储器DRAM;及
确定来自所述主控表的针对所述写入地址的所述DRAM高速缓存指示符是否指示所述写入地址是在所述DRAM高速缓存存储器中;
其中所述DRAM高速缓存管理电路经配置以响应于补充所述DRAM高速缓存指示符高速缓存存储器而确定所述写入地址是否在所述DRAM高速缓存存储器中被发现。
20.根据权利要求18所述的DRAM高速缓存管理电路,其经配置以通过经配置以执行以下操作而将所述写入地址及所述已变更逐出的数据概率性地写入到所述DRAM高速缓存存储器:
选择待从所述DRAM高速缓存存储器逐出的路;
从所述DRAM高速缓存存储器读取所述所选择路的存储器地址;
在从所述DRAM高速缓存存储器读取所述所选择路的所述存储器地址之后,将所述写入地址及所述已变更逐出的数据写入到所述DRAM高速缓存存储器中的所述所选择路;
将所述DRAM高速缓存指示符高速缓存存储器中的针对所述写入地址的路编号更新为所述所选择路的路编号;
设定所述DRAM高速缓存指示符高速缓存存储器中的针对所述写入地址的已变更指示符;
确定所述所选择路的所述存储器地址是否存在于所述DRAM高速缓存指示符高速缓存存储器中;及
响应于确定所述所选择路的所述存储器地址存在于所述DRAM高速缓存指示符高速缓存存储器中,复位所述DRAM高速缓存指示符高速缓存存储器中针对所述所选择路的所述写入地址的所述路编号及所述已变更指示符。
21.根据权利要求20所述的DRAM高速缓存管理电路,其经进一步配置以响应于确定所述所选择路的所述存储器地址不存在于所述DRAM高速缓存指示符高速缓存存储器中,通过经配置以执行以下操作而补充所述DRAM高速缓存指示符高速缓存存储器:
读取对应于所述存储器地址的所述所选择路的主控表项;及
基于所述主控表项将针对所述存储器地址的所述所选择路的所述路编号写入到所述DRAM高速缓存指示符高速缓存存储器。
22.根据权利要求20所述的DRAM高速缓存管理电路,其经进一步配置以响应于确定所述所选择路的所述存储器地址不存在于所述DRAM高速缓存指示符高速缓存存储器中:
复位对应于所述存储器地址的所述所选择路的所述路编号;及
写入所述路编号到所述主控表。
23.根据权利要求1所述的DRAM高速缓存管理电路,其集成到集成电路IC中。
24.根据权利要求1所述的DRAM高速缓存管理电路,其集成到选自由以下各者组成的群的装置中:机顶盒;娱乐单元;导航装置;通信装置;固定位置数据单元;移动位置数据单元;移动电话;蜂窝式电话;智能型电话;平板计算机;平板手机;计算机;便携式计算机;台式计算机;个人数字助理PDA;监视器;计算机监视器;电视;调谐器;无线电;卫星无线电;音乐播放器;数字音乐播放器;便携式音乐播放器;数字视频播放器;视频播放器;数字视频光盘DVD播放器;便携式数字视频播放器;及汽车。
25.一种用于提供可扩展动态随机存取存储器DRAM高速缓存管理的方法,其包括:
通过DRAM高速缓存管理电路接收包括读取地址的存储器读取请求;
确定所述读取地址是否在所述DRAM高速缓存管理电路的DRAM高速缓存指示符高速缓存存储器中被发现;
响应于确定所述读取地址在所述DRAM高速缓存指示符高速缓存存储器中未被发现,读取在系统存储器DRAM中的所述读取地址处的数据;及
响应于确定所述读取地址在所述DRAM高速缓存指示符高速缓存存储器中被发现:
基于所述DRAM高速缓存指示符高速缓存存储器确定所述读取地址是否在为高带宽存储器的部分的DRAM高速缓存存储器中被发现;
响应于确定所述读取地址在所述DRAM高速缓存存储器中未被发现,读取在所述系统存储器DRAM中的所述读取地址处的数据;及
响应于确定所述读取地址在所述DRAM高速缓存存储器中被发现,从所述DRAM高速缓存存储器读取针对所述读取地址的数据。
26.根据权利要求25所述的方法,其中所述DRAM高速缓存管理电路经配置以在回写模式中操作,且所述方法进一步包括,响应于确定所述读取地址在所述DRAM高速缓存存储器中被发现,确定所述DRAM高速缓存存储器中的针对所述读取地址的所述数据是否为清洁的;
其中从所述DRAM高速缓存存储器读取针对所述读取地址的所述数据是进一步响应于确定所述DRAM高速缓存存储器中的针对所述读取地址的所述数据为不清洁的。
27.根据权利要求26所述的方法,其进一步包括响应于确定所述DRAM高速缓存存储器中的针对所述读取地址的所述数据为清洁的:
从所述DRAM高速缓存存储器及所述系统存储器DRAM当中识别优选数据源;
响应于将所述DRAM高速缓存存储器识别为所述优选数据源,从所述DRAM高速缓存存储器读取数据;及
响应于将所述系统存储器DRAM识别为所述优选数据源,从所述系统存储器DRAM读取数据。
28.根据权利要求25所述的方法,其中所述DRAM高速缓存管理电路经配置以在完全写入模式中操作,且其进一步包括响应于确定所述读取地址在所述DRAM高速缓存存储器中被发现:
从所述DRAM高速缓存存储器及所述系统存储器DRAM当中识别优选数据源;及
响应于将所述系统存储器DRAM识别为所述优选数据源,从所述系统存储器DRAM读取数据;
其中从所述DRAM高速缓存存储器读取针对所述读取地址的所述数据进一步是响应于确定所述DRAM高速缓存存储器中的针对所述读取地址的所述数据为清洁的及将所述DRAM高速缓存存储器识别为所述优选数据源。
29.根据权利要求25所述的方法,其中接收包括所述读取地址的所述存储器读取请求是响应于对系统高速缓存存储器的未命中。
30.根据权利要求25所述的方法,其进一步包括在读取所述系统存储器DRAM中的所述读取地址处的所述数据之后概率性地补充所述DRAM高速缓存指示符高速缓存存储器。
31.根据权利要求25所述的方法,其进一步包括基于所述DRAM高速缓存指示符高速缓存存储器通过确定所述DRAM高速缓存存储器中的针对所述读取地址的路编号是否为非零而确定所述读取地址是否在所述DRAM高速缓存存储器中被发现。
32.根据权利要求25所述的方法,其进一步包括:
从系统高速缓存存储器接收存储器写入请求,所述存储器写入请求包括写入地址及包括清洁逐出的数据的写入数据;
确定所述写入地址是否在所述DRAM高速缓存存储器中被发现;及
响应于确定所述写入地址在所述DRAM高速缓存存储器中未被发现,将所述写入地址及所述清洁逐出的数据概率性地写入到所述DRAM高速缓存存储器。
33.根据权利要求32所述的方法,其进一步包括在确定所述写入地址是否在所述DRAM高速缓存存储器中被发现之前:
确定所述写入地址是否在所述DRAM高速缓存指示符高速缓存存储器中被发现;及
响应于确定所述写入地址未在所述DRAM高速缓存指示符高速缓存存储器中被发现,概率性地补充所述DRAM高速缓存指示符高速缓存存储器;
其中确定所述写入地址是否在所述DRAM高速缓存存储器中被发现是响应于补充所述DRAM高速缓存指示符高速缓存存储器。
34.根据权利要求32所述的方法,其包括通过以下操作将所述写入地址及所述清洁逐出的数据概率性地写入到所述DRAM高速缓存存储器:
选择待从所述DRAM高速缓存存储器逐出的路;
从所述DRAM高速缓存存储器读取所述所选择路的存储器地址;
将所述写入地址及所述清洁逐出的数据写入到所述DRAM高速缓存存储器中的所述所选择路;
将所述DRAM高速缓存指示符高速缓存存储器中的针对所述写入地址的路编号更新为所述所选择路的路编号;
确定所述所选择路的所述存储器地址是否存在于所述DRAM高速缓存指示符高速缓存存储器中;及
响应于确定所述所选择路的所述存储器地址存在于所述DRAM高速缓存指示符高速缓存存储器中,复位所述DRAM高速缓存指示符高速缓存存储器中的针对所述存储器地址的所述所选择路的所述路编号。
35.根据权利要求34所述的方法,其进一步包括响应于确定所述所选择路的所述存储器地址不存在于所述DRAM高速缓存指示符高速缓存存储器中,通过以下操作补充所述DRAM高速缓存指示符高速缓存存储器:
从所述系统存储器DRAM中的主控表读取对应于所述存储器地址的所述所选择路的主控表项;及
基于所述主控表项将针对所述存储器地址的所述所选择路的所述路编号写入到所述DRAM高速缓存指示符高速缓存存储器。
36.根据权利要求34所述的方法,其进一步包括响应于确定所述所选择路的所述存储器地址不存在于所述DRAM高速缓存指示符高速缓存存储器中:
复位对应于所述存储器地址的所述所选择路的所述路编号;及
将所述路编号写入到所述系统存储器DRAM中的主控表。
37.根据权利要求25所述的方法,其中所述DRAM高速缓存管理电路经配置以在完全写入模式中操作,且其进一步包括:
从系统高速缓存存储器接收存储器写入请求,所述存储器写入请求包括写入地址及包括已变更逐出的数据的写入数据;
确定所述写入地址是否在所述DRAM高速缓存存储器中被发现;
响应于确定所述写入地址在所述DRAM高速缓存存储器中未被发现,将所述写入地址及所述已变更逐出的数据概率性地写入到所述DRAM高速缓存存储器;
响应于确定所述写入地址在所述DRAM高速缓存存储器中被发现,将所述已变更逐出的数据写入到所述DRAM高速缓存存储器;及
将所述已变更逐出的数据写入到所述系统存储器DRAM。
38.根据权利要求37所述的方法,其进一步包括在确定所述写入地址是否在所述DRAM高速缓存存储器中被发现之前:
确定所述写入地址是否在所述DRAM高速缓存指示符高速缓存存储器中被发现;及
响应于确定所述写入地址在所述DRAM高速缓存指示符高速缓存存储器中未被发现,概率性地补充所述DRAM高速缓存指示符高速缓存存储器;
响应于不补充所述DRAM高速缓存指示符高速缓存存储器:
更新所述系统存储器DRAM中的主控表中的对应于所述写入地址的DRAM高速缓存指示符;及
将所述已变更逐出的数据写入到所述DRAM高速缓存存储器;
其中确定所述写入地址是否在所述DRAM高速缓存存储器中被发现是响应于补充所述DRAM高速缓存指示符高速缓存存储器。
39.根据权利要求37所述的方法,其中将所述写入地址及所述已变更逐出的数据概率性地写入到所述DRAM高速缓存存储器包括:
选择待从所述DRAM高速缓存存储器逐出的路;
从所述DRAM高速缓存存储器读取所述所选择路的存储器地址;
将所述写入地址及所述已变更逐出的数据写入到所述DRAM高速缓存存储器中的所述所选择路;
将所述DRAM高速缓存指示符高速缓存存储器中的针对所述写入地址的路编号更新为所述所选择路的路编号;
确定所述所选择路的所述存储器地址是否存在于所述DRAM高速缓存指示符高速缓存存储器中;及
响应于确定所述所选择路的所述存储器地址存在于所述DRAM高速缓存指示符高速缓存存储器中,复位所述DRAM高速缓存指示符高速缓存存储器中的针对所述存储器地址的所述所选择路的所述路编号。
40.根据权利要求39所述的方法,其进一步包括响应于确定所述所选择路的所述存储器地址不存在于所述DRAM高速缓存指示符高速缓存存储器中,通过以下操作补充所述DRAM高速缓存指示符高速缓存存储器:
读取对应于所述存储器地址的所述所选择路的主控表项;及
基于所述主控表项将针对所述存储器地址的所述所选择路的所述路编号写入到所述DRAM高速缓存指示符高速缓存存储器。
41.根据权利要求39所述的方法,其进一步包括响应于确定所述所选择路的所述存储器地址不存在于所述DRAM高速缓存指示符高速缓存存储器中:
复位对应于所述存储器地址的所述所选择路的所述路编号;及
将所述路编号写入到所述系统存储器DRAM中的主控表。
42.根据权利要求25所述的方法,其中所述DRAM高速缓存管理电路经配置以在回写模式中操作,且所述方法进一步包括:
从系统高速缓存存储器接收存储器写入请求,所述存储器写入请求包括写入地址及包括已变更逐出的数据的写入数据;
确定所述写入地址是否在所述DRAM高速缓存存储器中被发现;
响应于确定所述写入地址未在所述DRAM高速缓存存储器中被发现,将所述写入地址及所述已变更逐出的数据概率性地写入到所述DRAM高速缓存存储器;
响应于未将所述写入地址及所述已变更逐出的数据写入到所述DRAM高速缓存存储器,将所述已变更逐出的数据写入到所述系统存储器DRAM;及
响应于确定所述写入地址在所述DRAM高速缓存存储器中被发现,将所述已变更逐出的数据写入到所述DRAM高速缓存存储器。
43.根据权利要求42所述的方法,其进一步包括在确定所述写入地址是否在所述DRAM高速缓存存储器中被发现之前:
确定所述写入地址是否在所述DRAM高速缓存指示符高速缓存存储器中被发现;及
响应于确定所述写入地址在所述DRAM高速缓存指示符高速缓存存储器中未被发现,概率性地补充所述DRAM高速缓存指示符高速缓存存储器;
响应于不补充所述DRAM高速缓存指示符高速缓存存储器:
更新所述系统存储器DRAM中的主控表中的对应于所述写入地址的DRAM高速缓存指示符;
将所述已变更逐出的数据写入到所述系统存储器DRAM;及
确定来自所述主控表的针对所述写入地址的所述DRAM高速缓存指示符是否指示所述写入地址是在所述DRAM高速缓存存储器中;
其中确定所述写入地址是否在所述DRAM高速缓存存储器中被发现是响应于补充所述DRAM高速缓存指示符高速缓存存储器。
44.根据权利要求42所述的方法,其中将所述写入地址及所述已变更逐出的数据概率性地写入到所述DRAM高速缓存存储器包括:
选择待从所述DRAM高速缓存存储器逐出的路;
从所述DRAM高速缓存存储器读取所述所选择路的存储器地址;
在从所述DRAM高速缓存存储器读取所述所选择路的所述存储器地址之后,将所述写入地址及所述已变更逐出的数据写入到所述DRAM高速缓存存储器中的所述所选择路;
将所述DRAM高速缓存指示符高速缓存存储器中的针对所述写入地址的路编号更新为所述所选择路的路编号;
设定所述DRAM高速缓存指示符高速缓存存储器中的针对所述写入地址的已变更指示符;
确定所述所选择路的所述存储器地址是否存在于所述DRAM高速缓存指示符高速缓存存储器中;及
响应于确定所述所选择路的所述存储器地址存在于所述DRAM高速缓存指示符高速缓存存储器中,复位所述DRAM高速缓存指示符高速缓存存储器中针对所述写入地址的所述所选择路的所述路编号及所述已变更指示符。
45.根据权利要求44所述的方法,其进一步包括响应于确定所述所选择路的所述存储器地址不存在于所述DRAM高速缓存指示符高速缓存存储器中,通过以下操作补充所述DRAM高速缓存指示符高速缓存存储器:
读取对应于所述存储器地址的所述所选择路的主控表项;及
基于所述主控表项将针对所述存储器地址的所述所选择路的所述路编号写入到所述DRAM高速缓存指示符高速缓存存储器。
46.根据权利要求44所述的方法,其进一步包括响应于确定所述所选择路的所述存储器地址不存在于所述DRAM高速缓存指示符高速缓存存储器中:
复位对应于所述存储器地址的所述所选择路的所述路编号;及
将所述路编号写入到所述系统存储器DRAM中的主控表。
47.一种动态随机存取存储器DRAM高速缓存管理电路,其包括:
用于接收包括读取地址的存储器读取请求的装置;
用于确定所述读取地址是否在所述DRAM高速缓存管理电路的DRAM高速缓存指示符高速缓存存储器中被发现的装置;
用于响应于确定所述读取地址在所述DRAM高速缓存指示符高速缓存存储器中未被发现而读取在系统存储器DRAM中的所述读取地址处的数据的装置;
用于响应于确定所述读取地址在所述DRAM高速缓存指示符高速缓存存储器中被发现而基于所述DRAM高速缓存指示符高速缓存存储器确定所述读取地址是否在为高带宽存储器的部分的DRAM高速缓存存储器中被发现的装置;
用于响应于确定所述读取地址在所述DRAM高速缓存存储器中未被发现而读取在所述系统存储器DRAM中的所述读取地址处的数据的装置;及
用于响应于确定所述读取地址在所述DRAM高速缓存存储器中被发现而从所述DRAM高速缓存存储器读取针对所述读取地址的数据的装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662298088P | 2016-02-22 | 2016-02-22 | |
US62/298,088 | 2016-02-22 | ||
US15/228,320 | 2016-08-04 | ||
US15/228,320 US10176096B2 (en) | 2016-02-22 | 2016-08-04 | Providing scalable dynamic random access memory (DRAM) cache management using DRAM cache indicator caches |
PCT/US2017/016005 WO2017146882A1 (en) | 2016-02-22 | 2017-02-01 | Providing scalable dynamic random access memory (dram) cache management using dram cache indicator caches |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108701093A true CN108701093A (zh) | 2018-10-23 |
Family
ID=59629409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780010596.5A Pending CN108701093A (zh) | 2016-02-22 | 2017-02-01 | 使用动态随机存取存储器(dram)高速缓存指示符高速缓存存储器以提供可扩展dram高速缓存管理 |
Country Status (11)
Country | Link |
---|---|
US (1) | US10176096B2 (zh) |
EP (1) | EP3420460B1 (zh) |
JP (1) | JP2019509557A (zh) |
KR (1) | KR20180113536A (zh) |
CN (1) | CN108701093A (zh) |
BR (1) | BR112018017135A2 (zh) |
ES (1) | ES2870516T3 (zh) |
HK (1) | HK1256013A1 (zh) |
SG (1) | SG11201805988VA (zh) |
TW (1) | TW201732599A (zh) |
WO (1) | WO2017146882A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669882A (zh) * | 2018-12-28 | 2019-04-23 | 贵州华芯通半导体技术有限公司 | 带宽感知的动态高速缓存替换方法、装置、系统和介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10783083B2 (en) * | 2018-02-12 | 2020-09-22 | Stmicroelectronics (Beijing) Research & Development Co. Ltd | Cache management device, system and method |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5287481A (en) * | 1991-12-19 | 1994-02-15 | Opti, Inc. | Automatic cache flush with readable and writable cache tag memory |
US6327645B1 (en) * | 1999-11-08 | 2001-12-04 | Silicon Integrated Systems Corp. | Cache memory system with memory request address queue, cache write address queue, and cache read address queue |
US20040078702A1 (en) * | 2002-06-28 | 2004-04-22 | Fujitsu Limited | Cache memory device and reference history bit error detection method |
US20040193808A1 (en) * | 2003-03-28 | 2004-09-30 | Emulex Corporation | Local emulation of data RAM utilizing write-through cache hardware within a CPU module |
CN101310259A (zh) * | 2005-12-30 | 2008-11-19 | 英特尔公司 | 用于共享l2映射高速缓存的对称分配的方法和系统 |
CN101533371A (zh) * | 2008-03-12 | 2009-09-16 | Arm有限公司 | 使用微标签的高速缓存存取 |
CN101770397A (zh) * | 2008-12-30 | 2010-07-07 | 英特尔公司 | 扩展高速缓存一致性协议以支持本地缓冲的数据 |
US20150293847A1 (en) * | 2014-04-13 | 2015-10-15 | Qualcomm Incorporated | Method and apparatus for lowering bandwidth and power in a cache using read with invalidate |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2256512B (en) | 1991-06-04 | 1995-03-15 | Intel Corp | Second level cache controller unit and system |
US6029224A (en) * | 1995-06-07 | 2000-02-22 | Lucent Technologies Inc. | Self-contained memory apparatus having diverse types of memory and distributed control |
US6173368B1 (en) * | 1995-12-18 | 2001-01-09 | Texas Instruments Incorporated | Class categorized storage circuit for storing non-cacheable data until receipt of a corresponding terminate signal |
US5752262A (en) * | 1996-07-25 | 1998-05-12 | Vlsi Technology | System and method for enabling and disabling writeback cache |
US6092155A (en) * | 1997-07-10 | 2000-07-18 | International Business Machines Corporation | Cache coherent network adapter for scalable shared memory processing systems |
US7146454B1 (en) * | 2002-04-16 | 2006-12-05 | Cypress Semiconductor Corporation | Hiding refresh in 1T-SRAM architecture |
US20030204702A1 (en) * | 2002-04-30 | 2003-10-30 | Adc Dsl Systems, Inc. | Flexible memory architecture for an embedded processor |
US7707621B2 (en) | 2002-12-02 | 2010-04-27 | Silverbrook Research Pty Ltd | Creation and usage of mutually exclusive messages |
US7613870B2 (en) * | 2004-11-18 | 2009-11-03 | International Business Machines Corporation | Efficient memory usage in systems including volatile and high-density memories |
US7958312B2 (en) | 2005-11-15 | 2011-06-07 | Oracle America, Inc. | Small and power-efficient cache that can provide data for background DMA devices while the processor is in a low-power state |
EP2441005A2 (en) | 2009-06-09 | 2012-04-18 | Martin Vorbach | System and method for a cache in a multi-core processor |
US20130254491A1 (en) * | 2011-12-22 | 2013-09-26 | James A. Coleman | Controlling a processor cache using a real-time attribute |
WO2013095639A1 (en) | 2011-12-23 | 2013-06-27 | Intel Corporation | Utility and lifetime based cache replacement policy |
US9286221B1 (en) * | 2012-06-06 | 2016-03-15 | Reniac, Inc. | Heterogeneous memory system |
US8819342B2 (en) * | 2012-09-26 | 2014-08-26 | Qualcomm Incorporated | Methods and apparatus for managing page crossing instructions with different cacheability |
US9348753B2 (en) * | 2012-10-10 | 2016-05-24 | Advanced Micro Devices, Inc. | Controlling prefetch aggressiveness based on thrash events |
US20150095582A1 (en) * | 2013-09-30 | 2015-04-02 | Avaya, Inc. | Method for Specifying Packet Address Range Cacheability |
KR101944378B1 (ko) | 2014-03-29 | 2019-04-17 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 메모리 장치에서의 동적 캐시 사이징 방법 및 이를 포함하는 프로세서 |
US9356602B1 (en) * | 2015-05-14 | 2016-05-31 | Xilinx, Inc. | Management of memory resources in a programmable integrated circuit |
-
2016
- 2016-08-04 US US15/228,320 patent/US10176096B2/en active Active
-
2017
- 2017-01-23 TW TW106102354A patent/TW201732599A/zh unknown
- 2017-02-01 JP JP2018543628A patent/JP2019509557A/ja active Pending
- 2017-02-01 ES ES17704933T patent/ES2870516T3/es active Active
- 2017-02-01 SG SG11201805988VA patent/SG11201805988VA/en unknown
- 2017-02-01 KR KR1020187023757A patent/KR20180113536A/ko unknown
- 2017-02-01 CN CN201780010596.5A patent/CN108701093A/zh active Pending
- 2017-02-01 WO PCT/US2017/016005 patent/WO2017146882A1/en active Application Filing
- 2017-02-01 BR BR112018017135A patent/BR112018017135A2/pt unknown
- 2017-02-01 EP EP17704933.5A patent/EP3420460B1/en active Active
-
2018
- 2018-11-26 HK HK18115063.0A patent/HK1256013A1/zh unknown
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5287481A (en) * | 1991-12-19 | 1994-02-15 | Opti, Inc. | Automatic cache flush with readable and writable cache tag memory |
US6327645B1 (en) * | 1999-11-08 | 2001-12-04 | Silicon Integrated Systems Corp. | Cache memory system with memory request address queue, cache write address queue, and cache read address queue |
US20040078702A1 (en) * | 2002-06-28 | 2004-04-22 | Fujitsu Limited | Cache memory device and reference history bit error detection method |
US20040193808A1 (en) * | 2003-03-28 | 2004-09-30 | Emulex Corporation | Local emulation of data RAM utilizing write-through cache hardware within a CPU module |
CN101310259A (zh) * | 2005-12-30 | 2008-11-19 | 英特尔公司 | 用于共享l2映射高速缓存的对称分配的方法和系统 |
CN101533371A (zh) * | 2008-03-12 | 2009-09-16 | Arm有限公司 | 使用微标签的高速缓存存取 |
CN101770397A (zh) * | 2008-12-30 | 2010-07-07 | 英特尔公司 | 扩展高速缓存一致性协议以支持本地缓冲的数据 |
US20150293847A1 (en) * | 2014-04-13 | 2015-10-15 | Qualcomm Incorporated | Method and apparatus for lowering bandwidth and power in a cache using read with invalidate |
Non-Patent Citations (1)
Title |
---|
K.E. MOORE等: "LogTM: log-based transactional memory", 《THE TWELFTH INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE COMPUTER ARCHITECTURE, 2006》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669882A (zh) * | 2018-12-28 | 2019-04-23 | 贵州华芯通半导体技术有限公司 | 带宽感知的动态高速缓存替换方法、装置、系统和介质 |
Also Published As
Publication number | Publication date |
---|---|
US10176096B2 (en) | 2019-01-08 |
ES2870516T3 (es) | 2021-10-27 |
WO2017146882A1 (en) | 2017-08-31 |
US20170242793A1 (en) | 2017-08-24 |
EP3420460B1 (en) | 2021-04-07 |
JP2019509557A (ja) | 2019-04-04 |
SG11201805988VA (en) | 2018-09-27 |
HK1256013A1 (zh) | 2019-09-13 |
TW201732599A (zh) | 2017-09-16 |
EP3420460A1 (en) | 2019-01-02 |
BR112018017135A2 (pt) | 2019-01-02 |
KR20180113536A (ko) | 2018-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI545435B (zh) | 於階層式快取處理器中之協調預取 | |
AU2022203960B2 (en) | Providing memory bandwidth compression using multiple last-level cache (llc) lines in a central processing unit (cpu)-based system | |
US20170212840A1 (en) | Providing scalable dynamic random access memory (dram) cache management using tag directory caches | |
JP2017509998A (ja) | キャッシュ汚染を低減するために専用キャッシュセットにおける専用プリフェッチポリシーを競合させることに基づいた適応キャッシュプリフェッチング | |
TWI773683B (zh) | 使用在以一中央處理器單元為基礎的系統中之適應性壓縮提供記憶體頻寬壓縮 | |
WO2018052654A1 (en) | Providing memory bandwidth compression in chipkill-correct memory architectures | |
US10545887B2 (en) | Multiple linked list data structure | |
CN108628770A (zh) | 用于高性能高速缓存的基于近期最少使用的热跟踪机制增强 | |
CN108701093A (zh) | 使用动态随机存取存储器(dram)高速缓存指示符高速缓存存储器以提供可扩展dram高速缓存管理 | |
JP6377084B2 (ja) | キャッシュメモリアクセスを高速化するためのキャッシュメモリフィルの重要ワード優先順序付け、ならびに関連するプロセッサベースのシステムおよび方法 | |
US11797439B2 (en) | Balancing memory-portion accesses | |
US10152261B2 (en) | Providing memory bandwidth compression using compression indicator (CI) hint directories in a central processing unit (CPU)-based system | |
US20240202131A1 (en) | Processor-based system for allocating cache lines to a higher-level cache memory | |
US20240248851A1 (en) | Processor-based system for allocating cache lines to a higher-level cache memory | |
CN108027776A (zh) | 在多个主要装置间使用有条件干预维持高速缓存同调性 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1256013 Country of ref document: HK |
|
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181023 |
|
WD01 | Invention patent application deemed withdrawn after publication |