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

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

Info

Publication number
CN110109614B
CN110109614B CN201910221103.3A CN201910221103A CN110109614B CN 110109614 B CN110109614 B CN 110109614B CN 201910221103 A CN201910221103 A CN 201910221103A CN 110109614 B CN110109614 B CN 110109614B
Authority
CN
China
Prior art keywords
dram
migration
pram
gain
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.)
Expired - Fee Related
Application number
CN201910221103.3A
Other languages
English (en)
Other versions
CN110109614A (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

Images

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的内存行发生行缓存缺失时,触发随机数生成器,生成0~100范围内的随机数w,并且将w与迁移概率对应的整数np进行比较;如果w<np,则将DRAM中的内存行数据迁移到PRAM,同时计数器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和步长λ调整迁移概率的值,具体包括:
当前周期时间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改变迁移概率值,每次改动的幅度是为步长λ,周期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 CN110109614A (zh) 2019-08-09
CN110109614B true 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 (9)

* 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 杭州华为数字技术有限公司 一种置换方法及终端
CN105183537A (zh) * 2015-09-23 2015-12-23 北京交通大学 基于动态阈值窗口的虚拟机迁移处理方法
CN105808340A (zh) * 2014-12-29 2016-07-27 中移(苏州)软件技术有限公司 负载均衡方法及系统
CN106101211A (zh) * 2016-06-08 2016-11-09 西安电子科技大学 一种基于内存页改写概率预测的载波迁移方法
CN107193631A (zh) * 2017-04-28 2017-09-22 华中科技大学 一种基于并行应用阶段检测的虚拟时间片调度方法及系统
CN108897490A (zh) * 2018-05-14 2018-11-27 浙江工商大学 一种dram/pram异质混合内存系统的数据管理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9385934B2 (en) * 2014-04-08 2016-07-05 International Business Machines Corporation Dynamic network monitoring
US9658781B2 (en) * 2014-11-19 2017-05-23 International Business Machines Corporation Tier based data file management
KR20180094372A (ko) * 2017-02-15 2018-08-23 에스케이하이닉스 주식회사 하이브리드 메모리 시스템 및 그 제어 방법

Patent Citations (9)

* 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 杭州华为数字技术有限公司 一种置换方法及终端
CN105808340A (zh) * 2014-12-29 2016-07-27 中移(苏州)软件技术有限公司 负载均衡方法及系统
CN105183537A (zh) * 2015-09-23 2015-12-23 北京交通大学 基于动态阈值窗口的虚拟机迁移处理方法
CN106101211A (zh) * 2016-06-08 2016-11-09 西安电子科技大学 一种基于内存页改写概率预测的载波迁移方法
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
《基于程序访存模式的存储系统节能技术研究》;章铁飞;《中国博士学位论文全文数据库 信息科技辑》;20140615;全文 *

Also Published As

Publication number Publication date
CN110109614A (zh) 2019-08-09

Similar Documents

Publication Publication Date Title
JP6211186B2 (ja) Dramサブアレイレベル自律リフレッシュメモリコントローラの最適化
JP4360766B2 (ja) Dramキャッシュ・メモリ中のデータをリフレッシュする方法および装置
US9852792B2 (en) Non-volatile multi-level-cell memory with decoupled bits for higher performance and energy efficiency
US20050055493A1 (en) [method for accessing large block flash memory]
US8902649B2 (en) Nonvolatile memory device and related method of operation
US20130329491A1 (en) Hybrid Memory Module
JP6227774B2 (ja) Dramサブアレイレベルリフレッシュ
KR101952827B1 (ko) 메모리 제어 장치 및 이를 포함하는 메모리 시스템
CN104505117B (zh) 一种动态存储器刷新方法与刷新控制器
KR101893895B1 (ko) 메모리 시스템 및 그 동작 제어 방법
KR20210096133A (ko) 구역화된 네임스페이스들에서의 기록 커맨드들의 유지
CN100476985C (zh) 存储控制器的读写切换方法及存储系统
JPH0821238B2 (ja) 半導体記憶装置
US20230402086A1 (en) Memory system
CN105912270B (zh) 一种面向pm的访存请求解析装置与方法
KR102446121B1 (ko) 메모리 제어 장치 및 이를 포함하는 메모리 시스템
CN110109614B (zh) 面向pram/dram混合内存的基于概率的数据迁移方法
KR20140088725A (ko) 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법
CN107195321B (zh) 一种交叉开关结构阻变式存储器性能优化方法及系统
US7082514B2 (en) Method and memory controller for adaptive row management within a memory subsystem
US20220319593A1 (en) Mitigating write disturbance errors of phase-change memory module
CN103295627A (zh) 相变存储器、数据并行写入方法及数据读取方法
US20200183791A1 (en) Voltaile memory device and method for efficient bulk data movement, backup operation in the volatile memory device
US10185510B2 (en) Bank interleaving controller and semiconductor device including the same
US8675424B2 (en) Separate read/write column select control

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20220218