CN108762671A - 基于pcm和dram的混合内存***及其管理方法 - Google Patents
基于pcm和dram的混合内存***及其管理方法 Download PDFInfo
- Publication number
- CN108762671A CN108762671A CN201810498060.9A CN201810498060A CN108762671A CN 108762671 A CN108762671 A CN 108762671A CN 201810498060 A CN201810498060 A CN 201810498060A CN 108762671 A CN108762671 A CN 108762671A
- Authority
- CN
- China
- Prior art keywords
- pcm
- dram
- page
- grouping
- cold
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 36
- 230000008859 change Effects 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims abstract description 17
- 238000002156 mixing Methods 0.000 claims description 31
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 238000005299 abrasion Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 238000013403 standard screening design Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000003491 array Methods 0.000 claims description 2
- 238000012546 transfer Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 8
- 238000005265 energy consumption Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 241000665848 Isca Species 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000000265 homogenisation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- 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
- G06F3/068—Hybrid 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/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
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0638—Organizing or formatting or addressing of data
-
- 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
本发明公开一种基于PCM和DRAM的混合内存***及其管理方法。混合内存***包括MB级小容量DRAM作为缓存、GB级大容量DRAM和GB级非易失相变存储介质PCM统一编址共同作为主存;管理方法包括:(10)小容量DRAM缓存:基于LRU和LFU‑Aging改进的两级缓存算法进行管理;(20)大容量DRAM主存:采用LRU替换算法管理写倾向数据页;(30)相变存储介质PCM主存:基于组间磨损均衡方法和LRU替换算法进行管理读倾向数据页。本发明的混合内存***及管理方法具有混合内存I/O性能高、能耗低,以及PCM写负载均衡、使用寿命长的优点。
Description
技术领域
本发明属于计算机体系结构和内存管理技术领域,特别是一种I/O性能好、能耗低、使用寿命长的基于PCM和DRAM的混合内存***及其管理方法。
背景技术
大数据所催生的内存计算迅速发展和处理器核数不断增长,促使内存在速度、容量、功耗和可靠性的需求都达到前所未有的新高度。在过去数十年期间,DRAM作为主要的主存储器被广泛应用在移动终端和大规模计算***中。随着当前计算机***对大容量、低功耗、扩展性强的高性能内存的需求不断增加,现有DRAM面临高静态功耗、容量提升达到上限、扩展性有限等多种技术挑战。
新型非易失性存储器(Non-Volatile Memory,NVM)的出现为打破这些限制提供了契机。其中,一种称为相变存储器(Phase Change Memory,PCM)的NVM被视为最有希望替代DRAM成为下一代的主存储器。PCM具有非易失性、低静态功耗、扩展性强等特性,但同时PCM单个存储单元的写寿命有限,耐受性差,访问时延大,访问性能也逊色于DRAM。因此,PCM还无法完全取代DRAM而单独作为主存使用。利用两种存储介质特性互补,并充分发挥各自优势,设计基于DRAM和PCM的混合内存成为一种必然选择。
为了解决PCM访问时延以及耐受性两方面的问题,研究者从存储层次结构方面提出了两种基于PCM和DRAM的混合存储架构。
第一种水平架构如图1所示,是使用DRAM和PCM共同作为主存进行统一编址,通过数据分配以及数据迁移技术发挥DRAM的读写性能优势,同时减少PCM的写操作次数。但因为PCM性能较DRAM低,影响水平架构混合内存的性能。在中国发明专利申请“一种混合内存***及其管理方法”(申请号:201410673934.1,公开日:2014年11月21日),IEEE DAC’2009论文“PDRAM:a Hybrid PRAM and DRAM Main Memory System”(公开日:2009年7月26日)和ICS’2011论文“Page Placement in Hybrid Memory Systems”(公开日:2011年5月31日)中所提方法均采用这种架构。
第二种垂直架构如图2所示,是使用DRAM作为PCM的缓存来掩盖PCM的I/O性能以及写耐受性的不足,但不能充分利用DRAM内存空间来存储数据,也不能减少PCM的写操作。IEEE ISCA’2009论文“Architecting Phase Change Memory as a Scalable DRAMAlternative”(公开日:2009年6月20日),ACM SAC’2012论文“PRAM Wear-LevelingAlgorithm for Hybrid Main Memory Based on Data Buffering,Swapping,andShifting”(公开日:2012年3月26日)和中国发明专利申请“一种混合内存结构的数据读取方法和***”(申请号:201610821890.1,公开日:2016年9月13日)。
由此可见,现有技术存在的问题之一是:基于PCM和DRAM的混合存储架构,不论水平架构还是垂直架构都不能有效地平衡混合内存性能、空间利用率以及PCM写耐受性。
由于PCM的每个存储单元只能承受107~109次的写操作,远低于DRAM存储单元超过1015次写操作的耐久性,特别是在连续写的情况下,PCM存储单元的耐受性将受到严重制约。如何减少PCM写次数以及更好地均匀化写操作分布是设计高效磨损均衡算法必须考虑的两个因素。研究者提出使用DRAM缓存技术来减少PCM的写操作次数,如ACM SAC’2012论文“PRAM Wear-Leveling Algorithm for Hybrid Main Memory Based on Data Buffering,Swapping,and Shifting”(公开日:2012年3月26日)和IEEE DATE’2010论文“IncreasingPCM Main Memory Lifetime”(公开日:2010年3月8日)所采用的方法,还有同时通过数据交换和移位技术来实现数据块内部和不同数据块之间的磨损均衡,如IEEE DATE’2010论文“Energy-and Endurance-Aware Design of Phase Change Memory Caches”(公开日:2010年3月8日)和IEEE ISCA’2009论文“A Durable and Energy Efficient Main MemoryUsing Phase Change Memory Technology”(公开日:2009年6月20日)。前者将修改频繁的数据块缓存在DRAM中,把修改较少或者访问不频繁的数据块淘汰至PCM,能够一定程度上减少写访问密集型应用对某些存储单元的磨损次数。数据移位和交换技术通过改变逻辑地址到物理地址映射关系的方式,将磨损严重的存储单元的写操作均匀到磨损较轻的存储单元,实现不同粒度下的写操作均匀分布。
现有的基于PCM的磨损均衡算法能够一定程度上延长PCM的写寿命,但是依然存在以下几点问题。第一,已有的以DRAM作为缓存减少PCM写次数的设计方法只关注如何优化脏数据页的淘汰策略,并不能利用数据块的读写倾向性避免PCM上不必要的写操作;第二,采用确定性映射机制的静态磨损均衡策略不能有效处理恶意访问攻击情况下的写操作均匀分布,替换页的选择缺乏随机性的保护;第三,以单个页面为粒度的磨损均衡操作在空间局部性较强的应用场景中效率低下。
综上所述,现有技术存在如下两方面问题:
1、基于PCM和DRAM的混合存储架构,不能有效地平衡混合内存的性能、空间利用率以及写耐受性;
2、对于基于PCM和DRAM的混合存储架构的管理中,由于磨损均衡方法存在缺陷,导致非易失存储介质PCM的写负载高、使用寿命短,影响整体寿命和***可靠性。
发明内容
本发明的目的在于提供一种基于PCM和DRAM的混合内存***,I/O性能好、能耗低、使用寿命长。
本发明的另一目的在于提供一种基于PCM和DRAM的混合内存***的管理方法。
实现本发明目的的技术解决方案为:
一种基于PCM和DRAM的混合内存***,包括MB级小容量DRAM、GB级大容量DRAM和GB级非易失相变存储介质PCM,所述MB级小容量DRAM作为写缓存空间,GB级大容量DRAM和GB级非易失相变存储介质PCM作为主存空间,GB级大容量DRAM用于存储写倾向性的数据,GB级非易失相变存储介质PCM用于存储读倾向性的数据,所述MB级小容量DRAM、GB级大容量DRAM和GB级非易失相变存储介质PCM统一编址,形成混合内存。所述MB级小容量DRAM用作GB级大容量DRAM和GB级非易失相变存储介质PCM共同的缓存空间。
实现本发明另一目的的技术解决方案为:
一种基于PCM和DRAM的混合内存***的管理方法,包括如下步骤:
(10)小容量DRAM管理:基于LRU和LFU-Aging改进的两级缓存算法,对MB级小容量DRAM缓存空间进行管理;
(20)大容量DRAM管理:采用LRU替换算法管理写倾向数据页,替换出GB级大容量DRAM的数据存放到外存设备磁盘HDD/固态硬盘SSD;
(30)相变存储介质PCM管理:采用基于组间磨损均衡方法和LRU替换算法管理读倾向数据页,替换出GB级非易失相变存储介质PCM的数据存放到外存设备磁盘HDD/固态硬盘SSD。
与现有技术相比,本发明的显著优点为:
1、混合主存I/O性能高:一方面是利用DRAM Cache来提升CPU的I/O访问性能,另一方面通过充分发挥DRAM和PCM介质的优势,将写倾向数据块存放在DRAM中,将读倾向数据块存放在PCM中。
2、混合主存能耗低:通过使用能耗更低的非易失存储介质PCM来补充DRAM的容量,混合主存在保持高I/O性能的同时降低内存***能耗;同时,设计基于LRU+LFU-Aging的两级缓存替换算法减少PCM能耗高的写操作,从而也降低了PCM的能耗。
3、PCM写负载均衡:提出基于Partial Counting Bloom Filter实现了分组间和分组内的磨损均衡算法,在PCM存储介质上不仅实现了分组间,还有分组内的写操作负载均衡。
4、PCM使用寿命长:由于PCM介质的写次数非常有限,我们通过实现PCM分组间和分组内的写负载均衡,避免少数单元因为写操作过载而失效,同时在小容量DRAM缓存区分写倾向数据页和读倾向数据页,仅存放读倾向数据页到PCM,减少PCM存储介质的写操作次数,从两个方面提升了整个PCM存储设备的使用寿命。
下面结合附图对本发明作进一步详细描述。
附图说明
图1是现有技术的基于PCM和DRAM水平架构的混合存储***结构示意图。
图2是现有技术的基于PCM和DRAM垂直架构的混合存储***结构示意图。
图3是本发明基于PCM和DRAM的混合内存***结构示意图。
图4是本发明基于PCM和DRAM的混合内存***的管理方法的主流程图。
图5是基于LRU和LFU-Aging的两级缓存策略示意图。
图6是图4中小容量DRAM管理步骤的流程图。
图7是图4中相变存储介质PCM管理步骤的流程图。
图8是基于Partial Counting Bloom Filter的写计数近似统计示意图。
图9是图7中冷热数据交换的流程图。
图10是基于Partial Counting Bloom Filter的组间磨损均衡策略示意图。
具体实施方式
如图3所示,本发明基于PCM和DRAM的混合内存***,包括MB级小容量DRAM、GB级大容量DRAM和GB级非易失相变存储介质PCM。
所述MB级小容量DRAM作为写缓存空间,GB级大容量DRAM和GB级非易失相变存储介质PCM统一编址作为主存空间,GB级大容量DRAM用于存储写倾向性的数据,GB级非易失相变存储介质PCM用于存储读倾向性的数据,所述MB级小容量DRAM、GB级大容量DRAM和GB级非易失相变存储介质PCM统一编址,形成混合内存。
优选地,
所述MB级小容量DRAM用作GB级大容量DRAM和GB级非易失相变存储介质PCM共同的缓存空间。
如图4所示,本发明基于PCM和DRAM的混合内存***的管理方法,包括如下步骤:
(10)小容量DRAM管理:如图5所示,基于LRU和LFU-Aging改进的两级缓存算法,对MB级小容量DRAM缓存空间进行管理;
如图6所示,所述(10)小容量DRAM缓存管理步骤包括:
(11)一级缓存单链表管理:通过LRU替换策略,第一级缓存由一个LRU链表管理所有的缓存CPU请求的数据块;所述的LRU链表将最近最频繁访问的数据块放在链表前端MRU位置,而将最近最少使用的数据块放在链表末端LRU位置;
(12)一级缓存数据块淘汰:当第一级缓存的空间资源不够用时,第一级缓存根据时间局部性原理,淘汰LRU链表中最近最少使用的LRU位置冷数据块至第二级缓存;
(13)二级缓存双链表管理:如果从第一级缓存淘汰下来的冷数据块是修改过的数据块,该数据页进入一个脏数据块LFU-Aging链表,否则为未修改过的数据块,进入一个干净数据块LFU-Aging链表;所述的脏数据块LFU-Aging链表和干净数据块LFU-Aging链表均是将最频繁访问的数据块放在链表前端MFU位置,将最少访问的数据块放在链表末端LFU位置;
(14)二级缓存数据块淘汰:当第二级缓存空间资源不够用时,将脏数据块LFU-Aging链表和干净数据块LFU-Aging链表中处于最末端LFU位置的数据块删除;如若是脏数据块,写回到DRAM中,否则为干净数据块,写回到PCM中。
(20)大容量DRAM管理:采用LRU替换算法管理写倾向数据页,替换出GB级大容量DRAM的数据存放到外存设备HDD/SSD;
(30)相变存储介质PCM管理:采用基于组间磨损均衡方法和LRU替换算法管理读倾向数据页,替换出GB级非易失相变存储介质PCM的数据存放到外存设备HDD/SSD。
如图7所示,所述(30)相变存储介质PCM管理步骤包括:
(31)冷热转换链表结构查询:当需要读/写访问GB级非易失相变存储介质PCM的一个特定地址时,先要查询冷热转换链表结构,判断是否有该地址,;
(32)冷热转换链表访问:若冷热转换链表结构有需要访问的特定地址时,则表明该地址之前已进行过地址转换,访问冷热转换链表中转换后的PCM地址,否则,只需直接访问GB级非易失相变存储介质PCM的原始地址;
(33)写操作计数器更新:待地址访问操作完成后,若访问操作为写操作,更新Partial Counting Bloom Filter相应的计数器,否则流程结束;
(34)访问超限检测:检测相应的Partial Counting Bloom Filter的计数器是否超过阈值,若有,则执行冷热数据交换,否则流程结束。
优选地,
所述冷热转换链表由两条按先进先出FIFO策略管理的链表构成,其中一条链表记录冷分组和热分组的数据交换,另一条链表记录分组内冷页面与热页面的数据交换。
优选地,
所述(33)计数器更新步骤中,所述Partial Counting Bloom Filter是将标准Bloom Filter位数组的每一位扩展为一个小的计数器,如图8所示。计数器数组被等分成k个区域,其中k为哈希函数个数,图8中k为2。每个哈希函数hi只映射到其中一个区域,这里i=1,2,…,k;在***元素时给对应的k个计数器的值分别加1,删除元素时给对应的k个计数器的值分别减1。
如图9所示,所述(34)所述(34)步骤访问超限后的进行冷热数据转换过程包括:
(341)地址空间分组:利用数据流的空间局部性,将相变存储介质PCM的地址空间进行分组,每个分组大小为128MB,包含32768个页面;
(342)写操作次数跟踪:通过读取每个分组所分配的Partial Counting BloomFilter的计数器,实时跟踪分组及分组内页面的写操作次数;
(343)写次数阈值设置:为分组的总写次数和分组内的页面写次数分别设置冷阈值Tgc和Tpc,为分组的总写次数和分组内的页面写次数分别设置热阈值Tgh和Tph;
(344)分组或页面分类:当整个分组或者分组内的页面的写操作次数不高于相应的写操作次数冷阈值Tgc或Tpc,则将相应的分组或页面归为冷分组或冷页面;而当整个分组或者分组内的页面的写操作次数高于相应的写操作次数热阈值Tgh或Tph,则将相应的分组或页面归为热分组或热页面;
(345)冷热页面地址间数据交换:当出现热分组或热页面时,则与冷分组或冷页面间进行一一对应的数据交换,如图10所示,并通过冷热转换链表结构来记录页面地址映射的变换,实现PCM地址空间上的写操作负载平衡。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均包括在本发明的专利保护范围内。
Claims (8)
1.一种基于PCM和DRAM的混合内存***,包括MB级小容量DRAM、GB级大容量DRAM和GB级非易失相变存储介质PCM,其特征在于:
所述MB级小容量DRAM作为写缓存空间,GB级大容量DRAM和GB级非易失相变存储介质PCM作为主存空间,GB级大容量DRAM用于存储写倾向性的数据,GB级非易失相变存储介质PCM用于存储读倾向性的数据,所述MB级小容量DRAM、GB级大容量DRAM和GB级非易失相变存储介质PCM统一编址,形成混合内存。
2.根据权利要求1所述的混合内存***,其特征在于:
所述MB级小容量DRAM用作GB级大容量DRAM和GB级非易失相变存储介质PCM共同的缓存空间。
3.一种如权利要求1或2所述的基于PCM和DRAM的混合内存***的管理方法,其特征在于,包括如下步骤:
(10)小容量DRAM管理:基于LRU和LFU-Aging改进的两级缓存算法,对MB级小容量DRAM缓存空间进行管理;
(20)大容量DRAM管理:采用LRU替换算法管理写倾向数据页,将最近最少使用的数据页替换出大容量DRAM,存放到外存设备磁盘HDD/固态硬盘SSD;
(30)相变存储介质PCM管理:采用基于组间磨损均衡方法和LRU替换算法管理读倾向数据页,将最近最少使用的数据页替换出非易失相变存储介质PCM,存放到外存设备磁盘HDD/固态硬盘SSD。
4.根据权利要求3所述的管理方法,其特征在于,所述(10)小容量DRAM管理步骤包括:
(11)一级缓存单链表管理:通过LRU替换策略,第一级缓存由一个LRU链表管理所有的缓存CPU请求的数据块;所述的LRU链表将最近最频繁访问的数据块放在链表前端MRU位置,而将最近最少使用的数据块放在链表末端LRU位置;
(12)一级缓存数据块淘汰:当第一级缓存的空间资源不够用时,第一级缓存根据时间局部性原理,淘汰LRU链表中最近最少使用的LRU位置冷数据块至第二级缓存;
(13)二级缓存双链表管理:如果从第一级缓存淘汰下来的冷数据块是修改过的数据块,该数据页进入一个脏数据块LFU-Aging链表,否则为未修改过的数据块,进入一个干净数据块LFU-Aging链表;所述的脏数据块LFU-Aging链表和干净数据块LFU-Aging链表均是将最频繁访问的数据块放在链表前端MFU位置,将最少访问的数据块放在链表末端LFU位置;
(14)二级缓存数据块淘汰:当第二级缓存空间资源不够用时,将脏数据块LFU-Aging链表和干净数据块LFU-Aging链表中处于最末端LFU位置的数据块删除;如若是脏数据块,写回到DRAM中,否则为干净数据块,写回到PCM中。
5.根据权利要求3所述的管理方法,其特征在于,所述(30)相变存储介质PCM管理步骤包括:
(31)冷热转换链表结构查询:当需要读/写访问GB级非易失相变存储介质PCM的一个特定地址时,首先查询冷热转换链表结构,判断是否有该地址,;
(32)冷热转换链表访问:若冷热转换链表结构有需要访问的特定地址时,则表明该地址之前已进行过地址转换,访问冷热转换链表中转换后的PCM地址,否则,只需直接访问GB级非易失相变存储介质PCM的原始地址;
(33)写操作计数器更新:待地址访问操作完成后,若访问操作为写操作,更新PartialCounting Bloom Filter相应的计数器值,否则流程结束;
(34)访问超限检测:检测相应的Partial Counting Bloom Filter的计数器值是否超过阈值,若是,则执行冷热数据交换,否则流程结束。
6.根据权利要求5所述的管理方法,其特征在于:
所述冷热转换链表由两条按先进先出FIFO策略管理的链表构成,其中一条链表记录冷分组和热分组的数据交换,另一条链表记录分组内冷页面与热页面的数据交换。
7.根据权利要求5所述的管理方法,其特征在于:
所述(33)计数器更新步骤中,所述Partial Counting Bloom Filter是将标准BloomFilter位数组的每一位扩展为一个小的计数器,计数器数组被等分成k个区域,其中k为哈希函数个数;每个哈希函数hi只映射到其中一个区域,这里i=1,2,…,k;在***元素时给对应的k个计数器的值分别加1,删除元素时给对应的k个计数器的值分别减1。
8.根据权利要求5所述的管理方法,其特征在于,所述(34)访问超限检测步骤中,执行冷热数据交换包括:
(341)地址空间分组:利用数据流的空间局部性,将相变存储介质PCM的地址空间进行分组,每个分组大小为128MB,包含32768个页面;
(342)写操作次数跟踪:通过读取每个分组所分配的Partial Counting Bloom Filter的计数器,实时跟踪分组及分组内页面的写操作次数;
(343)写次数阈值设置:为分组的总写次数和分组内的页面写次数分别设置冷阈值Tgc和Tpc,为分组的总写次数和分组内的页面写次数分别设置热阈值Tgh和Tph;
(344)分组或页面分类:当整个分组或者分组内的页面的写操作次数不高于相应的写操作次数冷阈值Tgc或Tpc,则将相应的分组或页面归为冷分组或冷页面;而当整个分组或者分组内的页面的写操作次数高于相应的写操作次数热阈值Tgh或Tph,则将相应的分组或页面归为热分组或热页面;
(345)冷热页面地址间数据交换:当出现热分组或热页面时,则与冷分组或冷页面间进行一一对应的数据交换,并通过冷热转换链表结构来记录页面地址映射的变换,实现PCM地址空间上的写操作负载平衡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810498060.9A CN108762671A (zh) | 2018-05-23 | 2018-05-23 | 基于pcm和dram的混合内存***及其管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810498060.9A CN108762671A (zh) | 2018-05-23 | 2018-05-23 | 基于pcm和dram的混合内存***及其管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108762671A true CN108762671A (zh) | 2018-11-06 |
Family
ID=64004900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810498060.9A Pending CN108762671A (zh) | 2018-05-23 | 2018-05-23 | 基于pcm和dram的混合内存***及其管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108762671A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347338A (zh) * | 2019-06-18 | 2019-10-18 | 重庆大学 | 混合内存数据交换处理方法、***及可读存储介质 |
CN110543433A (zh) * | 2019-08-30 | 2019-12-06 | 中国科学院微电子研究所 | 一种混合内存的数据迁移方法及装置 |
CN111176584A (zh) * | 2019-12-31 | 2020-05-19 | 曙光信息产业(北京)有限公司 | 一种基于混合内存的数据处理方法及装置 |
CN111290706A (zh) * | 2020-01-15 | 2020-06-16 | 哈尔滨工业大学 | 一种基于布隆过滤器的双层读写磨损均衡方法 |
CN112230843A (zh) * | 2019-07-15 | 2021-01-15 | 美光科技公司 | 限制热-冷交换磨损均衡 |
WO2021008311A1 (zh) * | 2019-07-12 | 2021-01-21 | 华为技术有限公司 | 访问电子设备中的混合缓存的方法及装置 |
CN112363957A (zh) * | 2020-11-20 | 2021-02-12 | 中国科学院微电子研究所 | 混合存储级内存及其磨损均衡方法 |
CN113157605A (zh) * | 2021-03-31 | 2021-07-23 | 西安交通大学 | 一种两级缓存的资源分配方法、***、存储介质及计算设备 |
WO2021238594A1 (zh) * | 2020-05-29 | 2021-12-02 | 华为技术有限公司 | 存储介质管理方法、装置、设备以及计算机可读存储介质 |
CN114816734A (zh) * | 2022-03-28 | 2022-07-29 | 西安电子科技大学 | 一种基于访存特征的Cache旁路***及其数据存储方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528454A (zh) * | 2016-11-04 | 2017-03-22 | 中国人民解放军国防科学技术大学 | 一种基于闪存的内存***缓存机制 |
-
2018
- 2018-05-23 CN CN201810498060.9A patent/CN108762671A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528454A (zh) * | 2016-11-04 | 2017-03-22 | 中国人民解放军国防科学技术大学 | 一种基于闪存的内存***缓存机制 |
Non-Patent Citations (2)
Title |
---|
J. YUN, S. LEE AND S. YOO: "Bloom filter-based dynamic wear leveling for phase-change RAM", 《2012 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE)》 * |
张震,付印金,胡谷雨: "基于布隆过滤器的新型混合内存架构磨损均衡策略", 《计算机应用》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347338B (zh) * | 2019-06-18 | 2021-04-02 | 重庆大学 | 混合内存数据交换处理方法、***及可读存储介质 |
CN110347338A (zh) * | 2019-06-18 | 2019-10-18 | 重庆大学 | 混合内存数据交换处理方法、***及可读存储介质 |
WO2021008311A1 (zh) * | 2019-07-12 | 2021-01-21 | 华为技术有限公司 | 访问电子设备中的混合缓存的方法及装置 |
CN112230843A (zh) * | 2019-07-15 | 2021-01-15 | 美光科技公司 | 限制热-冷交换磨损均衡 |
CN110543433B (zh) * | 2019-08-30 | 2022-02-11 | 中国科学院微电子研究所 | 一种混合内存的数据迁移方法及装置 |
CN110543433A (zh) * | 2019-08-30 | 2019-12-06 | 中国科学院微电子研究所 | 一种混合内存的数据迁移方法及装置 |
CN111176584A (zh) * | 2019-12-31 | 2020-05-19 | 曙光信息产业(北京)有限公司 | 一种基于混合内存的数据处理方法及装置 |
CN111176584B (zh) * | 2019-12-31 | 2023-10-31 | 曙光信息产业(北京)有限公司 | 一种基于混合内存的数据处理方法及装置 |
CN111290706A (zh) * | 2020-01-15 | 2020-06-16 | 哈尔滨工业大学 | 一种基于布隆过滤器的双层读写磨损均衡方法 |
CN111290706B (zh) * | 2020-01-15 | 2023-03-31 | 哈尔滨工业大学 | 一种基于布隆过滤器的双层读写磨损均衡方法 |
WO2021238594A1 (zh) * | 2020-05-29 | 2021-12-02 | 华为技术有限公司 | 存储介质管理方法、装置、设备以及计算机可读存储介质 |
CN113742253A (zh) * | 2020-05-29 | 2021-12-03 | 华为技术有限公司 | 存储介质管理方法、装置、设备以及计算机可读存储介质 |
CN113742253B (zh) * | 2020-05-29 | 2023-09-01 | 超聚变数字技术有限公司 | 存储介质管理方法、装置、设备以及计算机可读存储介质 |
CN112363957A (zh) * | 2020-11-20 | 2021-02-12 | 中国科学院微电子研究所 | 混合存储级内存及其磨损均衡方法 |
CN113157605A (zh) * | 2021-03-31 | 2021-07-23 | 西安交通大学 | 一种两级缓存的资源分配方法、***、存储介质及计算设备 |
CN114816734A (zh) * | 2022-03-28 | 2022-07-29 | 西安电子科技大学 | 一种基于访存特征的Cache旁路***及其数据存储方法 |
CN114816734B (zh) * | 2022-03-28 | 2024-05-10 | 西安电子科技大学 | 一种基于访存特征的Cache旁路***及其数据存储方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108762671A (zh) | 基于pcm和dram的混合内存***及其管理方法 | |
CN104834607B (zh) | 一种提高分布式缓存的命中率并减少固态硬盘磨损的方法 | |
CN102760101B (zh) | 一种基于ssd 的缓存管理方法及*** | |
CN107193646B (zh) | 一种基于混合主存架构的高效动态页面调度方法 | |
US9424180B2 (en) | System for increasing utilization of storage media | |
Zhou et al. | An efficient page-level FTL to optimize address translation in flash memory | |
US9235530B2 (en) | Method and system for binary cache cleanup | |
CN105930282B (zh) | 一种用于nand flash的数据缓存方法 | |
CN103150136B (zh) | 基于ssd的大容量缓存中的lru策略实现方法 | |
US11693775B2 (en) | Adaptive cache | |
CN109901800B (zh) | 一种混合内存***及其操作方法 | |
CN107423229B (zh) | 一种面向页级ftl的缓冲区改进方法 | |
CN103608782A (zh) | Lsb页面和msb页面中的选择性数据存储 | |
CN108845957B (zh) | 一种置换和回写自适应的缓冲区管理方法 | |
CN110532200B (zh) | 一种基于混合内存架构的内存*** | |
CN110262982A (zh) | 一种固态硬盘地址映射的方法 | |
CN113254358A (zh) | 用于地址表高速缓存管理的方法和*** | |
CN109446117A (zh) | 一种固态硬盘页级闪存转换层设计方法 | |
CN107590084A (zh) | 一种基于分类策略的页级缓冲区改进方法 | |
CN110795363A (zh) | 一种存储介质的热页预测方法和页面调度方法 | |
CN108710581A (zh) | 基于布隆过滤器的pcm存储介质磨损均衡方法 | |
Yao et al. | An advanced adaptive least recently used buffer management algorithm for SSD | |
KR101351550B1 (ko) | 비휘발성 메인 메모리 기반을 위한 이중 버퍼 구조 및 데이터 운영 방식 | |
Gu et al. | Dynamic file cache optimization for hybrid SSDs with high-density and low-cost flash memory | |
CN115344201A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181106 |