CN110532200B - 一种基于混合内存架构的内存*** - Google Patents
一种基于混合内存架构的内存*** Download PDFInfo
- Publication number
- CN110532200B CN110532200B CN201910792500.6A CN201910792500A CN110532200B CN 110532200 B CN110532200 B CN 110532200B CN 201910792500 A CN201910792500 A CN 201910792500A CN 110532200 B CN110532200 B CN 110532200B
- Authority
- CN
- China
- Prior art keywords
- page
- accessed
- hot
- feature
- storage medium
- 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.)
- Active
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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- 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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种基于混合内存架构的内存***,包括第一存储介质、第二存储介质和内存控制器,通过内存控制器获取近期N个被访问页面的访问信息,并依据当前被访问页面的访问信息和近期N个被访问页面的访问信息,获取当前被访问页面的权重值,并依据被访问页面的权重值对该被访问页面进行热页预测,再依据被访问页面的权重值进行页面调度。由于依据访问信息中的访问次数和物理地址对被访问页面进行热页预测,使得热页预测的效率和准确率更高,进而提高内存***的工作效率。
Description
技术领域
本发明涉及存储器访问技术领域,具体涉及一种基于混合内存架构的内存***。
背景技术
随机存取存储器(random access memory,RAM)又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写,而且速度很快,通常作为操作***或其他正在运行中的程序的临时数据存储媒介。按照存储单元的工作原理,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。随着数据规模不断增大,内存访问密集的应用不断增多,DRAM渐渐不能满足应用的需求。新兴的存储器件有着更大的存储密度,更低的价格,更低的能耗,但却有着延迟更高,且寿命有限的缺点,不能直接替代DRAM使用。例如,非易失存储器(non-volatile memory,NVM)是指断电后仍能保持数据的一种存储器,具有非易失、按字节存取、存储密度高、低能耗、读写性能接近DRAM,但读写速度不对称,寿命有限的特点。利用这种新型的存储器件和DRAM组成混合内存,可以很好地利用它们各自的优点。一种方式是将DRAM与NVM组成统一的地址空间,数据要么放在DRAM上,要么放在NVM上。由于DRAM与NVM延迟不同,所以将访问更多的热数据存储在DRAM中能大大降低内存的平均访问延迟。随着程序的运行,应用程序的热数据不是一成不变的,数据的冷热程度可能随时发生变化,所以需要根据热度的变化对数据进行迁移,时刻保证热度更高的数据存储在DRAM中。如何准确地识别热数据,并进行迁移,是平行混合内存架构需要解决的重要问题。
现有的混合内存页面调度技术主要对传统的LRU、CLOCK算法进行改进,利用局部性原理和读写请求按存储介质存放的基本原则,通过不同的数据结构实现了不同阶段页面的迁移操作。大致可以划分为被动式迁移、主动式迁移和主动和被动相结合的迁移方式。被动式页面迁移策略在主存未命中时将请求数据直接写到DRAM中,而当DRAM写满时便会触发迁移操作,再将访问频率低的冷页面或者读写倾向性不明确的页面迁移到NVM。这种被动迁移方式能够充分利用DRAM高读写带宽的特点,将尽可能多的写操作集中在DRAM,达到增加NVM寿命的目标。但是这种被动式迁移策略,缺乏从NVM到DRAM的写频繁页面迁移,读写预测机制的不足导致NVM写次数减少程度有限。主动式页面迁移策略通过访问频率和访问间隔定义页面的冷热,选择合适的数据结构开发时间局部性和空间局部性,并判断页面的读写倾向性进行相应的页迁移,保证DRAM存放写倾向页面,而NVM存放读倾向页面。这些方法能够有效预测页面的读写热度,在页面表现出读写倾向时执行迁移操作,但是需要较大的空间开销去记录读写访问频率和局部访问热度,并且各算法预测结果也存在较大差异。基于CLOCK提出一种主动和被动相结合的页面调度算法,对DRAM中的页面采取被动方式管理页面迁移到NVM,而对NVM中的页面采用主动方式区分写频繁页面,再迁移到DRAM。主动和被动相结合的页面调度算法能够充分发挥DRAM和NVM两种存储介质的优点,实现的开销也相对较小,但是这种管理方式会造成读写热度判断上的不统一,并且页面迁移比例也会出现差异。这些算法能够有效发挥DRAM写性能上的优势,控制NVM的写操作数量,但是普遍存在以下问题:第一、无法有效避免在混合内存介质之间频繁无效的页迁移,造成不必要的***开销;第二、对于弱局部性应用场景下数据读写倾向性的预测效果不佳,容易产生不准确的迁移操作;第三、没有能够把尽可能多的读频繁数据迁移到NVM,不能进一步开发NVM读功耗和静态功耗低的优势。其中,所谓的弱时间局部性,从时间角度上讲,访问在时间维度上比较分散,不呈现出某一时间段对某一块数据集中访问的现象,称为弱时间局部性;从空间角度上讲,不呈现对某一地址范围集中访问的特性,称为弱空间局部性。
可见,无论采取哪种迁移方式都需要对热页面进行有效的预测,并且对于不同的应用场景缺乏相适应的调度策略,尤其是在局部性较弱的情况下不能准确预测页面的读写热度,容易造成页面迁移频繁的问题,不能充分发挥混合内存***的I/O性能和节能水平。因此,设计一种合理有效的热页预测器对基于动态页排序的混合内存页面调度策略显得格外重要。
发明内容
本发明主要解决的技术问题是现有技术中基于混合内存架构的热页预测的缺陷,而提出一种基于混合内存架构的内存***。
根据第一方面,一种基于混合内存架构的内存***,包括:
包括第一存储介质、第二存储介质和内存控制器;其中,第一存储介质的访问延迟小于第二存储介质的访问延迟;
所述内存控制器包括热页预测器,用于获取第一存储介质和第二存储介质中近期N个被访问页面的访问信息,还用于当第一存储介质或第二存储介质有页面被访问时,依据当前被访问页面的访问信息和所述近期N个被访问页面的访问信息,获取当前被访问页面的权重值,再依据被访问页面的权重值对该被访问页面进行热页预测;其中所述访问信息包括访问次数和物理地址;
所述内存控制器用于将权重值高的页面放置于第一存储介质中。
进一步,所述热页预测器包括N个热页预测单元,每个热页预测单元用于记录一个近期被访问页面的访问次数和物理地址,还用于记录该近期被访问页面的权重值。
进一步,当当前被访问页面的物理地址没有记录在所述热页预测器中时,所述热页预测器将当前被访问页面的物理地址记录在所述热页预测器中的一个热页预测单元中,并将该热页预测单元中的访问次数设置为1,所述热页预测器依据当前被访问页面的访问次数和物理地址获取该当前被访问页面的权重值,并记录在该热页预测单元中;
当当前被访问页面的物理地址记录在所述热页预测器中时,所述热页预测器将记录当前被访问页面的热页预测单元中的访问次数加1,并依据当前被访问页面的访问次数和物理地址对该热页预测单元中的权重值进行更新。
当当前被访问页面的物理地址没有记录在所述热页预测器中,且所述热页预测器的热页预测单元都已满时,所述热页预测器应用最近最少使用算法剔除一个页面,并将当前被访问页面记录在该所述热页预测器中;
所述第一存储介质用于记录被剔除页面的访问次数作为该被剔除页面下一次进入所述热页预测器中时的历史访问次数,或先对该被剔除页面的访问次数进行量子化处理,将进行量子化处理后的结果作为该被剔除页面下一次进入所述热页预测器中时的历史访问次数;
按以下规则对所述访问次数进行量子化处理:
当访问次数是0时,则量子化的结果为0;
当访问次数是1至8时,则量子化的结果为1;
当访问次数是9至31时,则量子化的结果为2;
当访问次数大于31时,则量子化的结果为3。
当当前被访问页面的物理地址不在所述热页预测器中时,所述热页预测器还用于从所述第一介质读取当前被访问页面的历史访问次数,并将所述历史访问次数记录在该页面的热页预测单元中。
进一步,所述热页预测器还包括第一特征权重表、第二特征权重表和/或第三特征权重表;
所述第一特征权重表包括多个第一特征索引值和与该索引值相对应的第一特征权重值,是用于记录第一存储介质和第二存储介质中任一被访问页面的访问次数与第一特征权重值的对应关系;
所述第二特征权重表包括多个第二特征索引值和与该索引值相对应的第二特征权重值,是用于记录第一存储介质和第二存储介质中任一被访问页面的历史访问次数与第二特征权重值的对应关系;
所述第三特征权重表包括多个第三特征索引值和与该索引值相对应的第三特征权重值,是用于记录之前被访问页面的物理地址与第三特征权重值的对应关系;所述之前被访问页面的物理地址包括前一次被访问页面的物理地址或前两次被访问页面的物理地址;
每个所述热页预测单元还记录被访问页面的第一特征索引值、第二特征索引值和/或第三特征索引值,以用于依据该被访问页面的第一特征索引值、第二特征索引值和/或第三特征索引值获取该被访问页面的权重值。
所述热页预测单元还用于记录第一特征权重值、第二特征权重值和/或第三特征权重值之和,以作为被访问页面的权重值;所述第一特征权重值、所述第二特征权重值和/或所述第三特征权重值是依据该被访问页面的第一特征索引值、第二特征索引值和/或第三特征索引值获得的。
进一步,当当前被访问页面的物理地址记录在所述热页预测器中,且所述当前被访问页面的权重值大于一预设值时,所述热页预测器不对所述当前被访问页面的权重值进行更新。
依据上述实施例的一种基于混合内存架构的内存***,包括第一存储介质、第二存储介质和内存控制器,内存控制器包括热页预测器,用于获取第一存储介质和第二存储介质中近期N个被访问页面的访问信息,还用于依据当前被访问页面的访问信息,获取当前被访问页面的权重值,再依据被访问页面的权重值对该被访问页面进行热页预测。内存控制器用于将权重值高的页面放置于第一存储介质中。通过获取近期N个被访问页面的访问信息,并依据当前被访问页面的访问信息和近期被访问页面的访问信息,获取当前被访问页面的权重值,并依据被访问页面的权重值对该被访问页面进行热页预测,再依据权重值进行页面调度。由于依据访问信息中的访问次数和物理地址对被访问页面进行热页预测,使得热页预测的效率和准确率更高,进而提高内存***的工作效率。
附图说明
图1为一种实施例中基于混合内存架构的内存***的结构示意图;
图2为一种实施例中热页预测器的结构框图;
图3为一种实施例中热页预测单元的结构框图;
图4为一种实施例中第一存储介质和第二存储介质分组示意图;
图5为一种实施例中热页预测方法的流程示意图;
图6为一种实施例中第一特征权重值的获取方法的流程示意图;
图7为一种实施例中第二特征权重值的获取方法的流程示意图;
图8为一种实施例中第三特征权重值的获取方法的流程示意图;
图9为与MDM算法比较DRAM访问率的对比示意图;
图10为与MDM算法比较NVM写数量的对比示意图;
图11为不同权重表下DRAM访问率对比示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
现有技术中已提出多种迁移方式,但这些迁移方式在热页预测时仅仅考虑了单一的特征,只通过页面历史访问频度来识别热页。但有时单一的频度特征并不能很好地反应数据未来的热度,结合多个特征才能更准确地识别热页。在不同阶段,反映页面热度的特征可能不同。在某些时候,反映不同页面的热度的特征也可能不同,仅使用单个特征可能得到错误的结果。例如,考虑两个内存访问序列:
1)ACCCD…
2)BCC…CCE…
在这两种情况下,页面C都不会再次被访问,如果仅基于访问次数判断(被页面被访问了n次,为热页,进行迁移),则在两种情况下(n=3),页面C都将被识别为热页面,在被访问3次之后迁移到DRAM。但实际上在第一种情况下,C将永远不会再次被访问,如果迁移它将产生不必要的开销。如果通过它们的上一个被访问的页面帮助进一步判断,则可以区分这两种情况并更准确地预测热页。在上面的例子中,如果前一个访问的页面是A,那么页面C不会是热页,如果前一个访问的页面是B那么页面C会是一个热页。所以此时可以选取页面此时的访问次数和历史访问次数、前序访问页面的地址和访问的当前页面的地址等特征。我们可以对每个特征,记录下页面在不同特征值下为热页的概率。例如,对于访问次数这个特征,当页面被访问1,2...n次时,记录页面是热页面的概率p1,p2...pn。因为在相同特征下不同页面是热页的概率是不同的,因此有必要在每个特征的不同值下记录每个页面是热页面的概率。但这个开销将十分巨大,不可接受。因此,我们借鉴了在预测缓存中页面重用和分支预测中使用的方式,预测不同页面在不同特征值下为热页的概率。
在本申请实施例中,通过内存控制器获取近期N个被访问页面的访问信息,并依据当前被访问页面的访问信息,获取当前被访问页面的权重值,并依据被访问页面的权重值对该被访问页面进行热页预测,再依据被访问页面的权重值进行页面调度。由于依据访问信息中的访问次数和物理地址对被访问页面进行热页预测,使得热页预测的效率和准确率更高,进而提高内存***的工作效率。
实施例一:
请参考图1,为一种实施例中基于混合内存架构的内存***的结构示意图,包括第一存储介质30、第二存储介质20和内存控制器10。其中,第一存储介质30的访问延迟小于第二存储介质20的访问延迟。内存控制器10包括热页预测器11,用于获取第一存储介质和第二存储介质中近期N个被访问页面的访问信息,还用于当第一存储介质或第二存储介质有页面被访问时,依据当前被访问页面的访问信息和近期N个被访问页面的访问信息,获取当前被访问页面的权重值,再依据被访问页面的权重值对该被访问页面进行热页预测。其中访问信息包括访问次数和物理地址,N为自然数。内存控制器10用于将权重值高的页面放置于第一存储介质30中。内存控制器10还包括多个特征权重表12,用于记录任一被访问页面一特征的特征值所对应的权重值。每个特征权重表包括多个特征索引值和与该索引值相对应的特征权重值。
请参考图2,为一种实施例中热页预测器的结构框图,热页预测器11包括N个热页预测单元,每个热页预测单元用于记录一个近期被访问页面的访问次数,还用于记录该近期被访问页面的权重值。一实施例中,热页预测单元采用物理页号对所记录页面进行索引。
请参考图3,为一种实施例中热页预测单元的结构框图,以第一热页预测单元111为例,每个热页预测单元都记录该页面的访问次数1111、特征索引值1112、历史访问次数1113和权重值1114。内存控制器10用于当当前被访问页面的物理地址没有记录在热页预测器11中时,热页预测器11将当前被访问页面的物理地址记录在热页预测器11中的一个热页预测单元中,并将该热页预测单元中的访问次数设置为1,热页预测器11依据当前被访问页面的访问信息获取该当前被访问页面的权重值,并记录在该热页预测单元中,即记录在热页预测单元的权重值位置上,一实施例中,访问信息包括访问次数和物理地址;当当前被访问页面的物理地址记录在热页预测器11中时,热页预测器11将记录当前被访问页面的热页预测单元中的访问次数加1,并依据当前被访问页面的访问次数和物理地址对该热页预测单元中的权重值进行更新;当当前被访问页面的物理地址没有记录在热页预测器11中,且热页预测器11的热页预测单元都已满时,热页预测器11中还用于应用最近最少使用算法剔除一个页面,并将当前被访问页面记录在该所述热页预测器中。最近最少使用算法(LeastRecently Used,LRU),是为虚拟页式存储管理服务的,是根据页面调入后的使用情况进行决策的。由于无法预测各页面将来的使用情况,只能利用“最近的过去”作为“最近的将来”的近似,因此,LRU算法就是将最近最久未使用的页面予以淘汰。一实施例中,热页预测器11采用一个特殊的栈来记录近期N个被访问页面的页面信息。当当前被访问页面要记录在热页预测器11中时,便将当前被访问页面压入栈顶,其它的页面往栈底移,如果热页预测器11中热页预测单元以满,则将栈底的页面移除。这样,栈顶始终是最新被访问页面,而栈底则是最近最久未访问的页面。
一实施例中,第一存储介质用于记录被剔除页面的访问次数作为该被剔除页面下一次进入热页预测器11中时的历史访问次数,或先对该被剔除页面的访问次数进行量子化处理,将进行量子化处理后的结果作为该被剔除页面下一次进入热页预测器11中时的历史访问次数。
一实施例中,按以下规则对访问次数进行量子化处理:
当访问次数是0时,则量子化的结果为0;
当访问次数是1至8时,则量子化的结果为1;
当访问次数是9至31时,则量子化的结果为2;
当访问次数大于31时,则量子化的结果为3。
当当前被访问页面的物理地址不在热页预测器11中时,热页预测器11还用于从第一介质读取当前被访问页面的历史访问次数,并将历史访问次数记录在该页面的热页预测单元中,即记录在热页预测单元的历史访问次数位置。
一实施例中,内存控制器10还包括多个特征权重表,即第一特征权重表、第二特征权重表和/或第三特征权重表。第一特征权重表包括多个第一特征索引值和与该索引值相对应的第一特征权重值,是用于记录第一存储介质和第二存储介质中任一被访问页面的访问次数与第一特征权重值的对应关系。第二特征权重表包括多个第二特征索引值和与该索引值相对应的第二特征权重值,是用于记录第一存储介质和第二存储介质中任一被访问页面的历史访问次数与第二特征权重值的对应关系。第三特征权重表包括多个第三特征索引值和与该索引值相对应的第三特征权重值,是用于记录之前被访问页面的物理地址与第三特征权重值的对应关系。一实施例中,之前被访问页面的物理地址包括前一次被访问页面的物理地址或前两次被访问页面的物理地址,即当前被访问页面的物理地址作为下一次被访问页面的第三特征,和/或相对于当前被访问页面的前一次被访问页面的物理地址作为下一次被访问页面的第三特征。每个热页预测单元还记录被访问页面的第一特征索引值、第二特征索引值和/或第三特征索引值,以用于依据该被访问页面的第一特征索引值、第二特征索引值和/或第三特征索引值获取该被访问页面的权重值。热页预测单元还用于记录第一特征权重值、第二特征权重值和/或第三特征权重值之和,以作为被访问页面的权重值,记录在该热页预测单元的权重值位置。其中,第一特征权重值、第二特征权重值和/或第三特征权重值是依据该被访问页面的第一特征索引值、第二特征索引值和/或第三特征索引值获得的,即通过索引值在特征权重表获取该索引值对应的权重值。
一实施例中,当当前被访问页面的物理地址记录在热页预测器11中,且当前被访问页面的权重值大于一预设值时,热页预测器11不对当前被访问页面的权重值进行更新。即当热页预测器11中一热页预测单元记录的权重值大于一预设值时,不在增加该预测单元记录的权重值。
一实施例中,第一存储介质包括地址重映射表,用于将被访问页面的物理地址翻译为真实地址,依据真实地址访问第一存储介质或第二存储介质中的页面,内存控制器还包括第一存储介质的地址重映射表缓存。
请参考图4,为一种实施例中第一存储介质和第二存储介质分组示意图,内存控制器还用于将第一存储介质的每一个页面和第二存储介质的多个页面建立对应关系以构成一个页面交换组,并将每个所述页面交换组中热度最高的页面存储在所述第一存储介质中。例如,第一存储介质的页面1和第二存储介质的第1页面至第m页面构成第一页面交换组,内存控制器将第一页面交换组中权重值最大的页面存储在第一存储介质的页面1中。
一实施例中,第一存储介质是DRAM,第二存储介质是NVM。混合内存架构的内存***包含缓存架构和平行架构。将DRAM与NVM组成统一的地址空间的平行架构,可以更好地利用DRAM与NVM的容量。所以我们采用平行架构,DRAM与NVM组成统一的地址空间,数据要么放在DRAM中,要么放在NVM中。当内存控制器获取到物理地址时,首先通过地址重映射表RT(Remap Table)将物理地址翻译为真实地址,再根据真实地址去DRAM或者NVM中获取数据。为了加快地址翻译,在内存中维护了RT的地址重映射表缓存RTC(RemapTable Cache)。每个访问都会根据访问修改判断迁移所需要的特征值,以及用于决策是否迁移的特征权重表。而每个NVM访问会根据权重表的信息决策是否进行迁移。如果要迁移进DRAM,则将该页面和被换出的DRAM页面都读取到内存控制器的交换buffer中,再分别写回DRAM和NVM。
地址重映射有多种方式,全相联,组相联,直接映射,全相联最为灵活,任意NVM页面都可以交换到DRAM的任意位置,但是重映射开销最大,直接映射的方式将一个DRAM页面与多个NVM页面组织为一个交换组,页面迁移只能在组内进行,任意NVM页面只能和组内唯一的DRAM页面交换,灵活性差,但是映射开销小。为了减少元数据的开销,我们采用了直接映射的方式。DRAM与NVM按1:m组成混合内存,每一个DRAM页面与m个NVM页面组成一个交换组,页面迁移只能在交换组内部进行,组内只有一个页面可以被迁移到DRAM上。整个内存空间被分为n个交换组,交换组号为1到n,物理地址模n即可得到页面的交换组号,在确定所属交换组后,查询该组的RT就可得到页面组内的位置。M=32时,需要6位来标识每一个页面的位置,所以一个交换组需要25B存储重映射信息。重映射表被放在DRAM中,如果每次内存访问,都要先访问一次DRAM,获得页面位置,再进行数据读取,将会造成大量的额外访存,大大降低性能。所以在内存控制中维护了一个重映射表的缓存RTC,只有在RTC发生miss时,才会访问DRAM获取重映射表,这样可以大大减少额外的访存。
整个访存过程如下:物理地址到达内存控制器后,根据RTC中的对应项转换为真实地址,再用真实地址访问DRAM或者NVM,如果RTC发生miss,则需要访问DRAM获取对应的真实地址,再将条目***RTC中。
本申请实施例中,利用多特征的迁移算法来对热页进行预测,需要记录每个页面在不同特征值下为热页的权重,再用权重和来做出判断。本申请实施例为每个特征都维护了一张权重表,其中包括访问次数、历史访问次数和两个前序访问物理地址这四个特征(即当前被访问页面的物理地址作为下一次被访问页面的第三特征,和/或相对于当前被访问页面的前一次被访问页面的物理地址作为下一次被访问页面的第三特征),所以维护了四个权重表。我们用特征值和当前被访问页面的物理地址的异或结果,对权重表大小取模的值作为权重表的索引,索引在权重表中指向的位置即为该页面在该特征值下的权重。如果页面被访问,则增大该页面上次访问的特征对应的权重,如果页面被剔除出训练集合,则减小该页面上次访问对于特征的权重。为了修改上次访问特征的权重,我们需要记录上次访问的特征值在权重表的索引,所以热页预测单元记录的信息包括访问次数(AC)、历史访问次数(QAC)、权重值(yout)和四个特征索引值。AC记录历史访问频度,描述该页面上一次在热页预测器中AC的情况。页面被淘汰出热页预测器时,将该被剔除页面的AC值进行量子化处理,结果即为新的QAC值。四个特征索引值用来存储上一次访问该页的四个特征对应的权重表的索引。yout字段记录当前的权重和。
为了快速获取和更新热页预测信息,热页预测器设置在内存控制器中,热页预测单元所占用的空间如下:AC字段为一个6位的饱和计数器,记录访问次数。QAC只需要2位,记录量子化的访问次数。由于每个特征所对应的权重表大小为1024项,因此四个特征索引值字段的每个元素用10位来描述即可。由于本实施例中使用4个特征对访问页进行分析,故该字段用40个字节来维护。由于yout的绝对值设定了上限,在上限为256时,需要9位来存储yout值。如果我们设计热页预测单元的大小为1024个条目,那么总开销约为7KB。内存控制器为每一个特征都维护一个权重表,本实施例采用四个特征,所以需要在内存控制器中维护四张权重表。权重表条目记录权重值,所以每个条目需要8位,每张权重表大小为1024,所以总开销位1KB。四张权重表总开销为4KB。具体访问流程为:
到达内存控制器时,同时在RTC和TS中查找,通过RTC查找真实地址,加入到热页预测器中。对于每个访问,通过热页预测器中记录的索引更新权重表的值,同时修改几个特征的特征值,并利用新的特征值与页号进行异或,对权重表取模得到本次访问特征值在权重表上的索引值,将新的索引记录到热页预测器中,同时计算新的权重和更新到热页预测器中。如果在热页预测器中未找到该页面对应的条目,则从DRAM中获取该页的QAC值,将QAC值和新的AC值写入新建立的热页预测单元中,根据当前的特征值计算出新的索引和权重和,记录下来。新的条目***热页预测器时,如果热页预测器已满,需要淘汰一个页面的条目,被淘汰的页面被视为热度降低,根据它记录的索引值,减小权重表中的权重值,将淘汰页面的AC值量子化为新的QAC值写回DRAM,之后删除该条目。进一步,如果被访问的页面是一个NVM页面,还需要判断是否迁移。在计算该页面的权重和时,同步计算该交换组唯一可以交换的DRAM页当前的权重和,如果该NVM页的权重和更大,则交换,否则不交换。
基于以上所述的内存***,请参考图5,为一种实施例中热页预测方法的流程示意图,本申请还公开了一种热页预测方法,包括:
步骤一,获取近期被访问页面的访问信息。
获取存储介质中近期被访问页面的访问信息,其中访问信息包括访问次数和物理地址。一实施例中,获取近期2次被访问页面的访问信息,即获取相对于当前被访问页面的前一次被访问页面的访问信息和前两次被访问页面的访问信息。一实施例中,获取近期多次被访问页面的访问信息。
步骤二,获取当前被访问页面的访问信息。
当存储介质有页面被访问时,获取当前被访问页面的访问信息。
步骤三,依据访问信息获取权重值。
依据当前被访问页面的访问信息和近期被访问页面的访问信息,获取当前被访问页面的权重值。一实施例中,依据当前被访问页面的访问信息和前一次被访问页面的访问信息获取当前被访问页面的权重值。一实施例中,依据当前被访问页面的访问信息和前两次被访问页面的访问信息获取当前被访问页面的权重值。
当当前被访问页面不在近期N个被访问页面中时,将当前被访问页面加入到近期N个被访问的页面中,并将当前被访问页面的访问次数设置为1,以更新近期N个被访问页面,并依据当前被访问页面的访问信息获取该当前被访问页面的权重值。一实施例中,被访问页面的权重值为第一特征权重值、第二特征权重值和/或第三特征权重值之和。
请参考图6,为一种实施例中第一特征权重值的获取方法的流程示意图,第一特征权重值的获取方法包括:
步骤11,获取当前被访问页面的访问信息。
获取当前被访问页面的物理地址和访问次数。
步骤12,访问次数和物理地址取异或。
将当前被访问页面的访问次数与当前被访问页面的物理地址取异或,以获取异或结果。
步骤13,异或结果对第一特征权重表取模。
将步骤12的异或结果对第一特征权重表的总大小取模,以获取第一特征索引值。其中,第一特征权重表包括多个第一特征索引值和与该索引值相对应的第一特征权重值,是用于记录存储介质中任一被访问页面的访问次数与第一特征权重值的对应关系。
步骤14,在第一特征权重表中检索权重值。
从第一特征权重表中获取第一特征索引值所对应的第一特征权重值。该第一特征权重值就是该页面相对于访问次数的这个特征的权重值。
请参考图7,为一种实施例中第二特征权重值的获取方法的流程示意图,第二特征权重值的获取方法包括:
步骤21,获取当前被访问页面的历史访问次数。
获取当前被访问页面的历史访问次数。其中,历史访问次数是该当前访问页面上一次进入到近期N个被访问页面中时的访问次数,或是将上一次进入到近期N个被访问页面中时的访问次数进行量子化处理后的数值作为该页面的历史访问次数。存储介质中任一被访问页面的访问次数都存储在存储介质的预设的位置中,如果当前被访问页面是第一次进入近期N个被访问页面中,则该页面的历史访问次数就是0。
步骤22,历史访问次数与物理地址取异或。
将当前被访问页面的历史访问次数与当前被访问页面的物理地址取异或,以获取异或结果。
步骤23,异或结果对第二特征权重表取模。
将步骤22的异或结果对第二特征权重表的总大小取模,以获取第二特征索引值。其中,第二特征权重表包括多个第二特征索引值和与该索引值相对应的第二特征权重值,是用于记录存储介质中任一被访问页面的历史访问次数与第二特征权重值的对应关系。
步骤24,在第二特征权重表中检索权重值。
从所述第二特征权重表中获取所述第二特征索引值所对应的第二特征权重值。该第二特征权重值就是该页面相对于历史访问次数的这个特征的权重值。
请参考图8,为一种实施例中第三特征权重值的获取方法的流程示意图,第三特征权重值的获取方法包括:
步骤31,获取当前和之前被访问页面的物理地址。
获取当前被访问页面的物理地址,再获取之前被访问页面的物理地址。
步骤32,将当前和之前的被访问页面的物理地址取异或。
将之前被访问页面的物理地址与当前被访问页面的物理地址取异或,以获取异或结果。一实施例中,之前被访问页面的物理地址包括前一次被访问页面的物理地址。一实施例中,之前被访问页面的物理地址包括前两次被访问页面的物理地址。
步骤33,异或结果对第三特征权重表取模。
将步骤32的异或结果对第三特征权重表的总大小取模,以获取第三特征索引值。其中,第三特征权重表包括多个第三特征索引值和与该索引值相对应的第三特征权重值,是用于记录之前被访问页面的物理地址与第三特征权重值的对应关系。
步骤34,在第三特征权重表中检索权重值。
从第三特征权重表中获取第三特征索引值所对应的第三特征权重值。该第三特征权重值就是该页面相对于之前被访问页面的物理地址的这个特征的权重值。
当当前被访问页面在近期N个被访问的页面中时,将当前被访问页面的访问次数加1,并获取当前被访问页面的物理地址,以用于依据当前被访问页面的物理地址和访问次数对该当前被访问页面的权重值进行更新。其更新方法是将当前被访问页面的第一特征权重值、第二特征权重值和/或第三特征权重值进行更新。其中,第一特征权重值的更新方法包括将当前被访问页面的第一特征权重值加1,第二特征权重值的更新方法包括将当前被访问页面的第二特征权重值加1,第三特征权重值的更新方法包括将当前被访问页面的第三特征权重值加1。更新后的被访问页面的权重值为更新后的第一特征权重值、第二特征权重值和/或第三特征权重值之和。被访问说明上次访问对应特征预示着之后会被访问,所以需要增加上次访问特征的权重。三个特征的权重值在权重表中所处的位置记录在热页预测单元中的特征索引位置,根据记录的索引位置找到每张权重表上该特征的权重值,根据上述规则增加权重,即该页面在该特征下被访问可能性增加。更新了上次访问的特征对应权重值后,需要记录下本次访问的特征对应权重值的索引值,方便在下一次页面被访问或者剔除时修改这次特征对应的权重值。对于三个特征,分别用本次访问页号和特征值进行异或,异或结果对权重表大小求模,计算得到的结果即为本次访问特征的权重值在权重表中所处的位置。
当当前被访问页面不在近期N个被访问页面中时,应用最近最少使用算法在近期N个被访问页面中剔除一个页面,并将当前被访问页面加入到近期N个被访问页面中,并记录该被剔除页面的访问次数作为该页面下一次进入近期N个被访问页面中时的历史访问次数。或对被剔除页面的访问次数进行量子化处理,再记录进行量子化处理后的结果,以作为被剔除页面下一次进入近期N个被访问页面中时的历史访问次数。一实施例中,按以下规则对被剔除页面的访问次数进行量子化处理:
当访问次数是0时,则量子化的结果为0;
当访问次数是1至8时,则量子化的结果为1;
当访问次数是9至31时,则量子化的结果为2;
当访问次数大于31时,则量子化的结果为3。
页面被剔除说明对应页面访问热度不够,需要减小权重。和被访问相似,根据热页预测单元中记录的上次访问特征的权重表索引找到权重值,按照上述规则减小权重,就表示该页面上次的访问特征可能预示着该页面热度下降。修改完四个权重表的值之后,该条目将该页面剔除出热页预测器,需要将本轮的AC值量子化后写回DRAM。
一实施例中,当当前被访问页面的权重值大于一预设值时,就不对当前被访问页面的权重值进行更新。当权重值增加到一定阈值时不能再继续增加,以保证程序访问模式发生变化时,权重值能更快地反应变化情况。考虑这种情况:假设不做限制,当某页在第一个阶段热度非常高时,经过一段时间,权重值会变得很大;当下一个阶段来临时,该页骤然变冷,很少再被访问。此时需要很长时间对权重值进行调整,不断减小,在这段时间,由于权重值过大,热页预测器很可能出现误判,对本该冷却的页进行迁移。所以需要给权重值设定范围,使得当应用访存阶段发生明显变化时,能够快速收敛。
本申请实施例中,提出了一种基于多特征的混合存储数据迁移方法,选择了四种特征来进行热页预测,并应用感知机学习的方法来融合可能反映数据热度的多个特征并行预测。感知机是二分类的线性模型,其输入是实例的特征向量,输出的是实例的类别。为了利用多个特征对结果进行预测,将多个特征组成一个特征向量,特征向量与对应权重的点积结果yout即为预测结果,如果点积结果超过了阈值,那么预测结果为真,否则为假,训练即为更新权重的过程。如果预测结果为真,且权重值未超过上限,则增加权重值,如果预测结果为假,则减小权重值。经过训练,权重值将反映出在这个特征下预测结果为真的概率。在热页预测中,如果热页被访问,则表示预测它是热页结果为真,权重值增加,如果被剔除,说明它不是热页,预测结果为假,减小特征对应权重值。此时权重值越大,意味着拥有这个特征的页面越可能是个热页。为了减小开销,计算预测结果时不再使用点积进行计算,而是用特征来索引权重表,再将索引的权重和作为预测结果的方式来替代。对于每个NVM访问,都会判断该页面是否需要进行迁移。由于每次访问的特征预示着下次访问情况,所以判断该NVM页将来是否为热页,只需要根据当前访问的特征进行判断。将本次访问的特征对应的权重值相加得到权重和,如果权重和超过阈值,则判定为热页并进行迁移。
和现有技术的MDM热页预测方法相比,本申请公开的内存***考虑了更多反映页面热度的特征,可以更准确进行热页预测。
请参考图9和图10,为与MDM算法比较DRAM访问率的对比示意图和NVM写数量的对比示意图,其中图9的纵坐标为DRAM访问率,图10的纵坐标为NVM写数量,分别表示为本申请实施例中公开的内存***与MDM算法比较的DRAM访问率及NVM写数量的对比。在gem5和NVMain上实现了以上算法,利用SPEC2006的benchmark来进行测试,与现有性能最优的MDM迁移算法进行对比。通过比较了MDM与mfHMM在DRAM访问比例和NVM写数量上的差异。发现mfHMM能将更多的热页迁移到DRAM上,增加DRAM访问的比例,同时减少了NVM的访问次数。请参考图11,为不同权重表下DRAM访问率对比示意图,其中纵坐标为DRAM访问率。可以看出增大权重表大小,可以提升预测的准确度,图中分别表示为权重表大小为1024、2048和4096。只增加了不到12KB的开销,将DRAM访问率平均提升7.07%,将NVM写入平均减少20.57%。
本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的***进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。
以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。
Claims (5)
1.一种基于混合内存架构的内存***,其特征在于,包括第一存储介质、第二存储介质和内存控制器;其中,第一存储介质的访问延迟小于第二存储介质的访问延迟;
所述内存控制器包括热页预测器,用于获取第一存储介质和第二存储介质中近期N个被访问页面的访问信息,还用于当第一存储介质或第二存储介质有页面被访问时,依据当前被访问页面的访问信息和所述近期N个被访问页面的访问信息,获取当前被访问页面的权重值,再依据被访问页面的权重值对该被访问页面进行热页预测;其中所述访问信息包括访问次数和物理地址;
所述内存控制器用于将权重值高的页面放置于第一存储介质中;
所述热页预测器包括N个热页预测单元,每个热页预测单元用于记录一个近期被访问页面的访问次数和物理地址,还用于记录该近期被访问页面的权重值;
当当前被访问页面的物理地址没有记录在所述热页预测器中时,所述热页预测器将当前被访问页面的物理地址记录在所述热页预测器中的一个热页预测单元中,并将该热页预测单元中的访问次数设置为1,所述热页预测器依据当前被访问页面的访问次数和物理地址获取该当前被访问页面的权重值,并记录在该热页预测单元中;
当当前被访问页面的物理地址记录在所述热页预测器中时,所述热页预测器将记录当前被访问页面的热页预测单元中的访问次数加1,并依据当前被访问页面的访问次数和物理地址对该热页预测单元中的权重值进行更新;
当当前被访问页面的物理地址没有记录在所述热页预测器中,且所述热页预测器的热页预测单元都已满时,所述热页预测器应用最近最少使用算法剔除一个页面,并将当前被访问页面记录在该所述热页预测器中;
所述第一存储介质用于记录被剔除页面的访问次数作为该被剔除页面下一次进入所述热页预测器中时的历史访问次数,或先对该被剔除页面的访问次数进行量子化处理,将进行量子化处理后的结果作为该被剔除页面下一次进入所述热页预测器中时的历史访问次数;
按以下规则对所述访问次数进行量子化处理:
当访问次数是0时,则量子化的结果为0;
当访问次数是1至8时,则量子化的结果为1;
当访问次数是9至31时,则量子化的结果为2;
当访问次数大于31时,则量子化的结果为3;
当当前被访问页面的物理地址不在所述热页预测器中时,所述热页预测器还用于从所述第一存储介质读取当前被访问页面的历史访问次数,并将所述历史访问次数记录在该页面的热页预测单元中;
所述热页预测器还包括第一特征权重表、第二特征权重表和/或第三特征权重表;
所述第一特征权重表包括多个第一特征索引值和与该索引值相对应的第一特征权重值,是用于记录第一存储介质和第二存储介质中任一被访问页面的访问次数与第一特征权重值的对应关系;
所述第二特征权重表包括多个第二特征索引值和与该索引值相对应的第二特征权重值,是用于记录第一存储介质和第二存储介质中任一被访问页面的历史访问次数与第二特征权重值的对应关系;
所述第三特征权重表包括多个第三特征索引值和与该索引值相对应的第三特征权重值,是用于记录之前被访问页面的物理地址与第三特征权重值的对应关系;所述之前被访问页面的物理地址包括前一次被访问页面的物理地址或前两次被访问页面的物理地址;
每个所述热页预测单元还记录被访问页面的第一特征索引值、第二特征索引值和/或第三特征索引值,以用于依据该被访问页面的第一特征索引值、第二特征索引值和/或第三特征索引值获取该被访问页面的权重值。
2.如权利要求1所述的内存***,其特征在于,所述热页预测单元还用于记录第一特征权重值、第二特征权重值和/或第三特征权重值之和,以作为被访问页面的权重值;所述第一特征权重值、所述第二特征权重值和/或所述第三特征权重值是依据该被访问页面的第一特征索引值、第二特征索引值和/或第三特征索引值获得的。
3.如权利要求2所述的内存***,其特征在于,当当前被访问页面的物理地址记录在所述热页预测器中,且所述当前被访问页面的权重值大于一预设值时,所述热页预测器不对所述当前被访问页面的权重值进行更新。
4.如权利要求1所述的内存***,其特征在于,所述第一存储介质包括地址重映射表,用于将被访问页面的物理地址翻译为真实地址,以据所述真实地址访问第一存储介质或第二存储介质中的页面;所述内存控制器还包括第一存储介质的地址重映射表缓存。
5.如权利要求1所述的内存***,其特征在于,所述内存控制器还用于将第一存储介质的每一个页面和第二存储介质的多个页面建立对应关系以构成一个页面交换组,并将每个所述页面交换组中热度最高的页面存储在所述第一存储介质中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910792500.6A CN110532200B (zh) | 2019-08-26 | 2019-08-26 | 一种基于混合内存架构的内存*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910792500.6A CN110532200B (zh) | 2019-08-26 | 2019-08-26 | 一种基于混合内存架构的内存*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110532200A CN110532200A (zh) | 2019-12-03 |
CN110532200B true CN110532200B (zh) | 2023-08-01 |
Family
ID=68664254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910792500.6A Active CN110532200B (zh) | 2019-08-26 | 2019-08-26 | 一种基于混合内存架构的内存*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110532200B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148486B (zh) * | 2020-09-17 | 2024-07-02 | 重庆大学 | 内存页面管理方法、装置、设备及可读存储介质 |
CN115904212A (zh) * | 2021-09-30 | 2023-04-04 | 华为技术有限公司 | 数据处理的方法、装置、处理器和混合内存*** |
CN114116528B (zh) * | 2021-11-22 | 2022-11-11 | 深圳大学 | 一种内存访问地址预测方法、装置、存储介质及电子设备 |
CN114691541B (zh) * | 2022-03-28 | 2024-07-02 | 重庆大学 | 一种基于动态访问的dram-nvm混合内存预测器 |
CN117234432B (zh) * | 2023-11-14 | 2024-02-23 | 苏州元脑智能科技有限公司 | 一种混合内存***的管理方法、管理装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699424A (zh) * | 2015-03-26 | 2015-06-10 | 华中科技大学 | 一种基于页面热度的异构内存管理方法 |
CN104899154A (zh) * | 2015-06-10 | 2015-09-09 | 山东大学 | 基于嵌入式***混合主存的页面管理方法 |
CN105022696A (zh) * | 2015-07-21 | 2015-11-04 | 浙江大学 | 一种基于内存访问热度的大内存页整合方法 |
CN106709068A (zh) * | 2017-01-22 | 2017-05-24 | 郑州云海信息技术有限公司 | 一种热点数据识别方法及其装置 |
CN107193646A (zh) * | 2017-05-24 | 2017-09-22 | 中国人民解放军理工大学 | 一种基于混合主存架构的高效动态页面调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150043102A (ko) * | 2013-10-14 | 2015-04-22 | 한국전자통신연구원 | 하이브리드 메모리의 데이터 관리 장치 및 방법 |
-
2019
- 2019-08-26 CN CN201910792500.6A patent/CN110532200B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699424A (zh) * | 2015-03-26 | 2015-06-10 | 华中科技大学 | 一种基于页面热度的异构内存管理方法 |
CN104899154A (zh) * | 2015-06-10 | 2015-09-09 | 山东大学 | 基于嵌入式***混合主存的页面管理方法 |
CN105022696A (zh) * | 2015-07-21 | 2015-11-04 | 浙江大学 | 一种基于内存访问热度的大内存页整合方法 |
CN106709068A (zh) * | 2017-01-22 | 2017-05-24 | 郑州云海信息技术有限公司 | 一种热点数据识别方法及其装置 |
CN107193646A (zh) * | 2017-05-24 | 2017-09-22 | 中国人民解放军理工大学 | 一种基于混合主存架构的高效动态页面调度方法 |
Non-Patent Citations (1)
Title |
---|
Mbalancer:虚拟机内存资源动态预测与调配;王志钢 等;《软件学报 》;20141231;第25卷(第10期);第2206-2219页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110532200A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110532200B (zh) | 一种基于混合内存架构的内存*** | |
CN110795363B (zh) | 一种存储介质的热页预测方法和页面调度方法 | |
US10303596B2 (en) | Read-write control method for memory, and corresponding memory and server | |
CN107193646B (zh) | 一种基于混合主存架构的高效动态页面调度方法 | |
KR102510384B1 (ko) | 압축된 데이터 백그라운드를 캐싱하는 장치, 시스템 및 방법 | |
TWI684099B (zh) | 剖析快取替代 | |
CN104115134B (zh) | 用于管理对复合数据存储设备进行访问的方法和*** | |
JP5379358B2 (ja) | データの優先順位付けを用いるマルチレベルのメモリ・アーキテクチャ | |
US6393525B1 (en) | Least recently used replacement method with protection | |
KR101443231B1 (ko) | 라이트-백 동작시 라이트-백 데이터의 버스트 길이를조절할 수 있는 캐시 메모리와 이를 포함하는 시스템 | |
CN108804350A (zh) | 一种内存访问方法及计算机*** | |
CN110888600B (zh) | 一种面向nand闪存的缓冲区管理方法 | |
US10740251B2 (en) | Hybrid drive translation layer | |
US9959054B1 (en) | Log cleaning and tiering in a log-based data storage system | |
CN109582593B (zh) | 一种基于计算的ftl地址映射读、写方法 | |
JPH02281350A (ja) | キヤツシユ・メモリ管理 | |
KR101297442B1 (ko) | 공간 지역성을 고려한 요구 기반 플래시 메모리 변환 계층을 포함하는 낸드 플래시 메모리 시스템 | |
CN103019887A (zh) | 数据备份方法及装置 | |
CN107391398A (zh) | 一种闪存缓存区的管理方法及*** | |
CN110347338B (zh) | 混合内存数据交换处理方法、***及可读存储介质 | |
CN103309815A (zh) | 一种提高固态盘有效容量和寿命的方法和*** | |
CN106055679A (zh) | 一种多层次缓存感知型索引方法 | |
CN103942161A (zh) | 只读缓存的去冗余***及方法以及缓存的去冗余方法 | |
CN106909323B (zh) | 适用于dram/pram混合主存架构的页缓存方法及混合主存架构*** | |
CN109002400B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |