CN110109614A - 面向pram/dram混合内存的基于概率的数据迁移方法 - Google Patents

面向pram/dram混合内存的基于概率的数据迁移方法 Download PDF

Info

Publication number
CN110109614A
CN110109614A CN201910221103.3A CN201910221103A CN110109614A CN 110109614 A CN110109614 A CN 110109614A CN 201910221103 A CN201910221103 A CN 201910221103A CN 110109614 A CN110109614 A CN 110109614A
Authority
CN
China
Prior art keywords
migration
dram
pram
memory line
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910221103.3A
Other languages
English (en)
Other versions
CN110109614B (zh
Inventor
章铁飞
傅均
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Gongshang University
Original Assignee
Zhejiang Gongshang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Gongshang University filed Critical Zhejiang Gongshang University
Priority to CN201910221103.3A priority Critical patent/CN110109614B/zh
Publication of CN110109614A publication Critical patent/CN110109614A/zh
Application granted granted Critical
Publication of CN110109614B publication Critical patent/CN110109614B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device

Abstract

面向PRAM/DRAM混合内存的基于概率的数据迁移方法。在PRAM/DRAM混合内存中,将行缓存缺失率高的内存行数据从PRAM迁移到读写数据速度更快的DRAM,规避PRAM的读写速度慢的劣势,有效提升混合内存的读写性能。每当PRAM中的内存行发生行缓存访问缺失时,以一定的概率将该内存行迁移到DRAM;周期性地评估内存行迁移的收益与代价,根据收益代价差调整迁移概率值,使得进一步增大内存行迁移的收益。本发明的优点是可以快速准确地实现内存行数据迁移,同时存储代价可忽略。

Description

面向PRAM/DRAM混合内存的基于概率的数据迁移方法
所属技术领域
本发明涉及针对现有计算机中PRAM和DRAM构成的混合内存架构的基于概率的数据迁移方法。
背景技术
内存是计算机系统中的重要组件,主要作用是存储数据,供处理器读写。传统的DRAM内存静态能耗大、存储密度低、单位存储成本高,不再适合作为下一代计算内存。相比于DRAM,phase-change RAM(PRAM)作为新一代的存储器,具有静态功耗低、数据非易失、存储密度高、可扩展性强等优点,很适合作为未来的大容量内存。但是PRAM也有自身的不足,包括数据的读写能耗高、写延时长。相比于DRAM,PRAM写数据延时是2~4倍,读写数据的能耗是2~10倍。鉴于PRAM和DRAM优势的互补性,将两者整合构成异质混合内存系统是十分自然的选择。当前主流的方案是大容量的PRAM作为主存,而小容量的DRAM作为缓存,两者内部的结构与传统内存结构一致。
内存系统从逻辑上组织为通道(Channel)、内存组(Rank)、内存块(Bank)、内存行(Row)和存储单元(Cell)。多个Bank共享某个Channel与处理器相连。每个Rank包含一组同步工作的Bank。Bank是最小的可以独立并行工作的物理单元,即同时可有多个Bank独立地读/写数据。一个Bank包含大量Cell,所有Cell横向为Row,纵向为Column排列成二维矩阵。每列的Cell与一纵向的位线(Bitline)相联,横向的字线(Wordline)选中目标行的数据与位线联通后,将数据读取到Bank下部的行缓存器(Row Buffer)。数据访问请求到达Bank后,读写数据要经历三个步骤:1)激活:将二维存储阵列中的目标行数据读取到行缓存器;2)读写:读写行缓存器中的数据;3)写回:将行缓存器中的数据写回到二维存储阵列。写数据时间主要就耗费在写回步骤,尤其是对PRAM而言。
通常情况,行缓存器中的数据在服务当前的数据访问请求后,不会马上写回二维存储阵列。因为下一个数据访问请求的目标数据很可能是当前行缓存器中的数据,如果发生这种情况,就说明发生行缓存命中。反之,如果目标数据不是当前行缓存器中的数据,就需要执行步骤3)将行缓存器中的数据写回,同时执行步骤1)和步骤2)读取目标数据到行缓存器中,这种情况称为行缓存缺失(row access miss)。内存块在处理数据访问时,部分内存行数据反复发生行缓存缺失现象,我们称这些数据为行缓存缺失率高的内存行数据,而部分较少发生行缓存缺失现象,则称为缓存缺失率低的内存行数据。
行缺失率高的内存行数据会频繁从二维存储阵列读取到行缓存器中,又会反复地由行缓存器写入到二维存储阵列中。PRAM的写延时是DRAM的2~4倍,如果行缺失率高的数据在PRAM内存中,相应的写延时就要比在DRAM中长得多。更长的写延时一方面当然是影响写数据性能,另一方面也造成后续的其他读写请求更长的等待时间,极大地影响内存的性能。
为了有效利用DRAM更快的读写时间,规避PRAM较长的写延时,一种自然的做法是将行缓存缺失率高的内存行数据从PRAM迁移到DRAM中,从而提升内存性能。但是,数据迁移会引入额外的代价,要使得数据迁移后的收益大于代价,必须区分PRAM中行缓存缺失率低的内存行数据与行缓存缺失率高的内存行数据,并且准确地将高缺失率的内存行数据迁移到DRAM。如果PRAM中每个内存行增加统计行缺失次数的计数器,虽然可以获得每个内存行的缺失率,但这么多计数器的存储代价不可接受。
发明内容
本发明要克服现有技术的上述缺点,提出一种存储代价可忽略的将PRAM中的行缓存缺失率高的内存行数据迁移到DRAM的方法。
本发明的面向PRAM/DRAM混合内存的基于概率的数据迁移方法,包含以下的技术步骤:
S1:按迁移概率将PRAM中发生行缓存缺失的内存行的数据迁移到DRAM;
S2:按周期T记录内存行数据迁移的代价和收益;
S3:根据当前和上一周期的收益代价差,按周期T和步长λ调整迁移概率的值。
其中,步骤S1具体为:PRAM的某个内存行发生行缓存访问缺失时,按迁移概率将对应的内存行数据迁移到DRAM,同时计数器nummigration递增1。
其中,步骤S2具体为:采用计数器nummigration记录从PRAM迁移到DRAM的内存行数量,采用计数器RDRAM和WDRAM分别记录DRAM中的内存行的读写次数,根据计数器评估内存行迁移的收益和代价。
其中,结合DRAM的数据读写时间tdram_read和tdram_write,PRAM的数据读写时间tpram_read和tpram_write,以及内存行数据迁移的时间tmigration,计算当前周期的收益代价差current_gain。
其中,迁移的收益benefit=RDRAM*(tpram_read-tdram_read)+WDRAM*(tpram_write-tdram_write),迁移的代价cost=nummigration*tmigration,当前周期的收益代价差current_gain=benefit-cost。
其中,步骤S3具体为:根据current_gain的值调整迁移概率p,当current_gain小于0,则要降低迁移概率的值,当current_gain大于0,则与上一周期T的收益代价差previous_gain比较后再确定迁移概率的值。
其中,以周期T改变迁移概率值,每次改动的幅度是为步长λ,周期T和步长λ通过实际运行遍历确定最优值。
其中,current_gain的值完成当前周期T的迁移概率调整后,暂存作为下一周期的previous_gain。
本发明的优点是:在存储代价可忽略的情况下,还能快速准确地实现内存行数据的迁移,最大化发挥PRAM/DRAM混合内存的优势。
附图说明
图1是本发明方法的PRAM/DRAM混合内存架构。
图2是本发明方法的内存块结构图。
图3是本发明方法的流程图。
具体实施方式
下面结合附图和实施例,进一步说明本发明方法的技术方案。
图1是PRAM/DRAM混合内存架构,大容量的PRAM主存和小容量的DRAM缓存通过各自的内存通道(Memory Channel)与内存控制器相联。PRAM和DRAM底层的Bank结构一致,适宜内存行数据的迁移与管理。
图2是Bank结构图,二维阵列中横向的存储单元(Cell)构成内存行(Block),二维阵列的下方就是行缓存器(Row Buffer)。
如图3所示,为本发明的面向PRAM/DRAM混合内存的基于概率的数据迁移方法流程图,包括:
步骤S01,根据设定的迁移概率迁移内存行数据。具体地,当PRAM的内存行发生行缓存缺失时,触发随机数生成器,生成0~100范围内的随机数w,并且将w与迁移概率对应的整数np进行比较。如果w<np,则将DRAM中的内存行数据迁移到PRAM,同时计数器nummigration的值递增1;否则,不进行内存行数据迁移。
步骤S02,计算当前周期的迁移收益代价差current_gain。具体地,每次DRAM中发生读和写内存行操作时,计数器RDRAM和WDRAM分别递增1。DRAM每次读写内存行数据的时间代价分别为tdram_read和tdram_write,而PRAM每次读写内存行数据的时间代价分别为tpram_read和tpram_write。当前周期时间T截止时,内存行数据迁移的收益是内存行数据迁移到DRAM后读写操作所节省的时间,表示为:benefit=WDRAM*(tpram_read-tdram_read)+RDRAM*(tpram_write-tdram_write)。内存行数据迁移的代价是内存行迁移数与每次迁移代价的乘积,表示为:cost=nummigration*tmigration。所以,当前周期的迁移收益代价差current_gain=benefit-cost。
步骤S03,根据内存行数据迁移代价差调整迁移概率。具体地,当前周期时间T截止时,根据当前周期收益代价差的current_gain和上一周期的收益代价差previous_gain确定迁移概率。迁移概率的值采用0~100的整数np来表示,调整的步长λ也是整数。具体的调整步骤如下:
1.如果current_gain<0,则np=np-λ;
2.如果current_gain>0,且current_gain>previous_gain,
2.1如果上一周期中np增加,则np=np+λ;
2.2否则,np=np-λ;
3.如果current_gain>0,且current_gain<previous_gain,
3.1如果上一周期中np增加,则np=np-λ;
3.2否则,np=np+λ;
4.更新previous_gain=current_gain,重置计数器RDRAM,WDRAM和nummigration,开始新的记录周期T。
周期T和步长λ的具体值,可采用实验遍历最优性确定。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

Claims (1)

1.面向PRAM/DRAM混合内存的基于概率的数据迁移方法,包含以下的技术步骤:
S1:按迁移概率将PRAM中发生行缓存缺失的内存行的数据迁移到DRAM;具体包括:PRAM的某个内存行发生行缓存访问缺失时,按迁移概率将对应的内存行数据迁移到DRAM,同时计数器nummigration递增1;
S2:按周期T记录内存行数据迁移的代价和收益;具体包括:采用计数器nummigration记录从PRAM迁移到DRAM的内存行数量,采用计数器RDRAM和WDRAM分别记录DRAM中的内存行的读写次数,根据计数器评估内存行迁移的收益和代价;
结合DRAM的数据读写时间tdram_read和tdram_write,PRAM的数据读写时间tpram_read和tpram_write,以及内存行数据迁移的时间tmigration,计算当前周期的收益代价差current_gain;
迁移的收益benefit=RDRAM*(tpram_read-tdram_read)+WDRAM*(tpram_write-tdram_write),迁移的代价cost=nummigration*tmigration,当前周期的收益代价差current_gain=benefit-cost;
S3:根据当前和上一周期的收益代价差,按周期T和步长λ调整迁移概率的值,具体包括:
根据current_gain的值调整迁移概率值,当current_gain小于0,降低迁移概率,当current_gain大于0,则与上一周期T的收益代价差previous_gain比较后再确定迁移概率的值;
以周期T改变迁移概率值,每次改动的幅度是为步长λ,周期T和步长λ通过实际运行遍历确定最优值;
current_gain的值完成当前周期T的迁移概率调整后,暂存作为下一周期的previous_gain。
CN201910221103.3A 2019-03-22 2019-03-22 面向pram/dram混合内存的基于概率的数据迁移方法 Expired - Fee Related CN110109614B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910221103.3A CN110109614B (zh) 2019-03-22 2019-03-22 面向pram/dram混合内存的基于概率的数据迁移方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910221103.3A CN110109614B (zh) 2019-03-22 2019-03-22 面向pram/dram混合内存的基于概率的数据迁移方法

Publications (2)

Publication Number Publication Date
CN110109614A true CN110109614A (zh) 2019-08-09
CN110109614B CN110109614B (zh) 2022-02-18

Family

ID=67484507

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910221103.3A Expired - Fee Related CN110109614B (zh) 2019-03-22 2019-03-22 面向pram/dram混合内存的基于概率的数据迁移方法

Country Status (1)

Country Link
CN (1) CN110109614B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1480850A (zh) * 2002-12-04 2004-03-10 联想(北京)有限公司 动态迁移数据的方法及其存储系统
US8095929B1 (en) * 2007-04-16 2012-01-10 Vmware, Inc. Method and system for determining a cost-benefit metric for potential virtual machine migrations
CN103970879A (zh) * 2014-05-16 2014-08-06 中国人民解放军国防科学技术大学 一种调整数据块存储位置的方法及系统
CN104182514A (zh) * 2014-08-21 2014-12-03 杭州华为数字技术有限公司 一种置换方法及终端
US20150288592A1 (en) * 2014-04-08 2015-10-08 International Business Machines Corporation Dynamic network monitoring
CN105183537A (zh) * 2015-09-23 2015-12-23 北京交通大学 基于动态阈值窗口的虚拟机迁移处理方法
US20160139821A1 (en) * 2014-11-19 2016-05-19 International Business Machines Corporation Tier based data file management
CN105808340A (zh) * 2014-12-29 2016-07-27 中移(苏州)软件技术有限公司 负载均衡方法及系统
CN106101211A (zh) * 2016-06-08 2016-11-09 西安电子科技大学 一种基于内存页改写概率预测的载波迁移方法
CN107193631A (zh) * 2017-04-28 2017-09-22 华中科技大学 一种基于并行应用阶段检测的虚拟时间片调度方法及系统
US20180232173A1 (en) * 2017-02-15 2018-08-16 SK Hynix Inc. Hybrid memory system and control method thereof
CN108897490A (zh) * 2018-05-14 2018-11-27 浙江工商大学 一种dram/pram异质混合内存系统的数据管理方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1480850A (zh) * 2002-12-04 2004-03-10 联想(北京)有限公司 动态迁移数据的方法及其存储系统
US8095929B1 (en) * 2007-04-16 2012-01-10 Vmware, Inc. Method and system for determining a cost-benefit metric for potential virtual machine migrations
US20150288592A1 (en) * 2014-04-08 2015-10-08 International Business Machines Corporation Dynamic network monitoring
CN103970879A (zh) * 2014-05-16 2014-08-06 中国人民解放军国防科学技术大学 一种调整数据块存储位置的方法及系统
CN104182514A (zh) * 2014-08-21 2014-12-03 杭州华为数字技术有限公司 一种置换方法及终端
US20160139821A1 (en) * 2014-11-19 2016-05-19 International Business Machines Corporation Tier based data file management
CN105808340A (zh) * 2014-12-29 2016-07-27 中移(苏州)软件技术有限公司 负载均衡方法及系统
CN105183537A (zh) * 2015-09-23 2015-12-23 北京交通大学 基于动态阈值窗口的虚拟机迁移处理方法
CN106101211A (zh) * 2016-06-08 2016-11-09 西安电子科技大学 一种基于内存页改写概率预测的载波迁移方法
US20180232173A1 (en) * 2017-02-15 2018-08-16 SK Hynix Inc. Hybrid memory system and control method thereof
CN107193631A (zh) * 2017-04-28 2017-09-22 华中科技大学 一种基于并行应用阶段检测的虚拟时间片调度方法及系统
CN108897490A (zh) * 2018-05-14 2018-11-27 浙江工商大学 一种dram/pram异质混合内存系统的数据管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
章铁飞: "《基于程序访存模式的存储系统节能技术研究》", 《中国博士学位论文全文数据库 信息科技辑》 *

Also Published As

Publication number Publication date
CN110109614B (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
KR102370760B1 (ko) 존 네임스페이스에 대한 존 형성
CN102364474B (zh) 用于机群文件系统的元数据存储系统和管理方法
US11003356B2 (en) Memory system
EP3121703B1 (en) Data caching method, cache and computer system
US9852792B2 (en) Non-volatile multi-level-cell memory with decoupled bits for higher performance and energy efficiency
CN107845394A (zh) 存储装置及其操作方法
CN100383792C (zh) 缓存数据库数据组织方法
JP2016526750A (ja) Dramサブアレイレベル自律リフレッシュメモリコントローラの最適化
CN109002257B (zh) 一种基于可变便笺存储器的数据分布优化方法
CN108897490A (zh) 一种dram/pram异质混合内存系统的数据管理方法
US11615030B2 (en) Cache memory system and cache memory control method
US20100153645A1 (en) Cache control apparatus and method
CN102200892A (zh) 一种基于动态raid系统的扩容方法
CN104484128A (zh) 基于一读一写存储器的多读多写存储器及其实现方法
CN100377118C (zh) 基于sram的嵌入式文件系统的实现方法
US20100228930A1 (en) Access control device, information processing device, access control program and access control method
KR101436442B1 (ko) 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법
CN103135096A (zh) 一种合成孔径雷达成像处理转置存储方法和数据访问方法
CN105988720A (zh) 数据存储装置和方法
CN108647157A (zh) 一种基于相变存储器的映射管理方法及固态硬盘
EP3716076B1 (en) Technologies for providing high efficiency compute architecture on cross point memory for artificial intelligence operations
CN110109614A (zh) 面向pram/dram混合内存的基于概率的数据迁移方法
WO2023179619A1 (zh) 一种神经网络的高速缓存方法、系统、装置及存储介质
CN102043591B (zh) Pram的写操作方法
CN107195321B (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20220218

CF01 Termination of patent right due to non-payment of annual fee