CN103268292B - 一种延长非易失外存寿命的方法及高速长寿外存系统 - Google Patents

一种延长非易失外存寿命的方法及高速长寿外存系统 Download PDF

Info

Publication number
CN103268292B
CN103268292B CN201310232880.0A CN201310232880A CN103268292B CN 103268292 B CN103268292 B CN 103268292B CN 201310232880 A CN201310232880 A CN 201310232880A CN 103268292 B CN103268292 B CN 103268292B
Authority
CN
China
Prior art keywords
write
buffer memory
memory
buffer
writes
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
Application number
CN201310232880.0A
Other languages
English (en)
Other versions
CN103268292A (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.)
Yangzhou (Jiangdu) New Energy Automobile Industry Research Institute of Jiangsu University
Original Assignee
Jiangsu 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 Jiangsu University filed Critical Jiangsu University
Priority to CN201310232880.0A priority Critical patent/CN103268292B/zh
Publication of CN103268292A publication Critical patent/CN103268292A/zh
Application granted granted Critical
Publication of CN103268292B publication Critical patent/CN103268292B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种延长非易失外存寿命的方法及高速长寿外存系统,通过维护两份缓存,写缓存和原始缓存来工作;维护两份缓存的方法包括写缓存混合粒度调度方法、基于字节的比较写回方法和双缓存协调方法;首先使用写缓存来合并文件系统对同一数据的多次写操作,再通过写缓存和原始缓存基于字节的比较来写回新数据,降低写外存数据量。本发明减少写非易失存储器的数据量,增加了外存系统的使用寿命,可应用于延长非易失外存寿命。

Description

一种延长非易失外存寿命的方法及高速长寿外存系统
技术领域
本发明属于存储技术领域,具体涉及一种非易失存储器的缓存技术。主要用于解决使用新型非易失存储器构建高速外存系统时存在的寿命短问题,。
背景技术
现有基于非易失存储器外存系统的研究主要集中与如何提高I/O性能方面。SCMFS不按照块管理和访问外存系统,同时获得较高的I/O性能,但没有设计如何减少写操作、延长使用寿命。BPFS使得系统的I/O性能比RAMFS提高了4~10倍,但同样缺乏延长非易失存储器寿命的方法。
现有的研究者针对非易失存储器作为内存时存在的使用寿命问题,提了如下解决方案:使用非易失存储器和DRAM混合构建主存,交替分配非易失存储器和DRAM,使用DRAM完成大部分的写操作,由于DRAM的易失性,这种方法无法适用于外存;使用DRAM作为非易失存储器的缓存,构建主存系统。但DRAM在断电的情况下无法保存数据,无法用于构建外存系统。
现有的用于解决flash介质寿命问题的磨损均衡方法,只是将数据较均匀的写到flash中,延长存储器的使用寿命。但并没有减少写数据量,只是在整个存储介质上进行了均匀分布,在一定程度上还增加了写数据量;访问数据之前还需要进行数据逻辑地址和实际地址的转换,增加了时间和空间开销;此外Flash中仍然以块的方式进行读写操作,缺乏针对非易失存储器基于字节读写能力的优化方法。
现有技术中普通缓存方法是为了缓冲高速设备和低速设备的速度差异而建立的,缺少减少写外存数据量的方法。
发明内容
本发明的目的在于提供一种延长非易失外存寿命的方法及高速长寿外存系统,解决非易失存储器作为外存时耐写次数有限问题,延长非易失外存寿命。
本发明出于降低非易失存储器的写数据量和同时满足非易失存储器的高速性的考虑,本设计使用DRAM构建两份缓存,写缓存和原始缓存,并且针对DRAM缓存的易失性作出优化。
一种延长非易失外存寿命的方法,其特征在于通过维护两份缓存,写缓存和原始缓存来工作;所述维护两份缓存的方法包括写缓存混合粒度调度方法、基于字节的比较写回方法和双缓存协调方法;具体包括以下步骤:首先使用写缓存来合并文件系统对同一数据的多次写操作,再通过写缓存和原始缓存基于字节的比较来降低写外存数据量。
写缓存用于合并对同一数据的多次写操作,因此在管理写缓存时也同样使用块为单位;但区别于现有的缓存管理方法,写缓存中仅使用块作为调入和调出缓存的基本单位,而不使用块作为读取和写入缓存的基本单位。为此本发明设计写缓存混合粒度调度方法,按照不同的粒度调度和读写写缓存,合理管理写缓存,合并对同一数据的多次写操作。
文件系统提交写数据请求时,使用文件标识和偏移量等,查找写缓存中是否已有对应的写数据项。如未存在对应的写数据项,则将文件系统以块为单位提交的写数据增加到写缓存中;反之替换相应的写数据项。
在增加新的写数据项之前,检查写缓存是否已满,如未满则直接增加新的写数据项;如果已满,则需要淘汰写数据项。在选择出需要淘汰的写数据项之后,为了降低写非易失存储器的数据量,使用基于字节的比较写回方法比较写数据项和原始缓存项,查找写数据项中修改的部分。
所述写缓存混合粒度调度方法具体包括下列步骤:
步骤1,按照文件名和偏移地址查找写缓存中是否存在新数据项;新数据项在写缓存中时转到步骤1.7,否则转到步骤1.2;
步骤2,如果写缓存空间不足,转到步骤3,否则转到步骤6;
步骤3,把当前时刻写缓存中写频率最低的写数据项淘汰出写缓存,使用基于字节的比较写回方法将淘汰的写数据项中修改的部分以字节为单位写回非易失存储器;
步骤4,把所淘汰的写数据项在原始缓存中对应的写数据项从原始缓存中删除;
步骤5,如果写缓存空间仍然不足,转到步骤3;否则转到步骤6;
步骤6,把新数据项写入写缓存;
步骤7,把该写数据项在写缓存中对应的写频率num(num∈N)值加1,当该写数据项为一个新写数据项时设置num值为0;
步骤8,向上层应用报告写数据完成。
本发明中的两个缓存中数据存在相关性,因此独立的管理方法难以满足要求。首先分析写缓存和原始缓存的作用,以及它们之间的关联,设计双缓存协调方法,协调调度写缓存和原始缓存。
写缓存用于暂时保存文件系统提交的写数据,因此写缓存中应该保存最近修改频繁的数据;文件系统缓存的目的是减少写非易失存储器的数据量,因此应该优先淘汰再次修改几率最低的写数据项;此外由于非易失存储器的写速度相比DRAM还有较大差距,因此在再次被修改几率相同的情况下,应该优先淘汰修改量较小的写数据项,并在文件系统写负载较轻时主动淘汰那些修改几率同样较小但修改量较小的写数据项。
在写缓存里的写数据项没有被写回外存前,上层应用读数据时应该先从写缓存中读取数据,这样才能保证读取数据的正确性,而且能提高读取数据的速度;如果需要读取的数据项不在写缓存中,则直接从外存中读取,但是并不影响写缓存的淘汰方法。
所述的双缓存协调方法包括下列步骤:
步骤1,到达检查周期t(t∈N)时;
步骤2,找出写缓存中写频率num值最低的M个写数据项,把这M个写数据项对应的原始数据从外存调入原始缓存,其中M是自然数同时M的值不超过缓存可容纳数据项的个数;
步骤3,把写缓存中所有写数据项的写频率num值减半,即令num=num/2。
原始缓存用来与写缓存中需要淘汰的写数据项进行比较,找出以字节为单位的修改区,并最终只将修改区写回到非易失存储器中;最优情况下原始缓存的内容应与写缓存对应,但这样需要占用较大的缓存空间;在原始缓存较小时,应该保存即将被淘汰的写数据项所对应的原始数据,才能用于在淘汰写数据项时查找出修改的区域,避免读非易失存储器比读DRAM所需更多的时间。
所述的基于字节的比较写回方法包括下列步骤:
步骤1,淘汰写缓存中写频率最低的写数据项;
步骤2,将写数据项与原始缓存中对应的原始缓存项进行比较;
步骤3,找出以字节为单位的修改区域;
步骤4,以字节为单位将修改区域写回到非易失存储器中;
步骤5,把该写数据项和对应的原始数据项从写缓存与原始缓存中删除;
步骤6,比较写回结束。
一种延长非易失外存寿命的方法的外存系统,包括一块DRAM内存和一块非易失存储器,其特征在于:DRAM缓存和非易存储器之间用双向数据线连接。数据进入延长非易失外存寿命的方法的外存系统后,首先进入DRAM缓存,经过延长非易失外存寿命的方法处理后沿写数据线写回非易失存储器。延长非易失外存寿命的方法的外存系统对外提供一根双向数据线和一根电源线。
本发明具有有益效果。本发明针对写缓存和原始缓存的功能和工作特性,引入缓存技术,使用写缓存吸收对同一数据的多次写操作,减少对非易失存储器的写次数;使用原始缓存减少写回非易失存储器的数据量;设计了写缓存混合粒度调度方法、双缓存协调方法和基于字节的比较写回方法,从而减少写非易失存储器的数据量,增加外存系统的使用寿命,降低了工作能耗,同时提高了外存系统的I/O性能。本发明还针对DRAM缓存的易失性设计了缓存空间协调方法,在系统空闲时提前写回写缓存中写频率最低的写数据项,提高系统的整体稳定性。
附图说明
图1是本发明整体结构图;
图2是本发明的工作流程图;
图3是filebench测试本发明写数据量效果图;
图4是postmark测试本发明写数据量效果图;
图5是filebench测试本发明I/O效果图;
图6是postmark测试本发明I/O效果图。
具体实施方式
实施例1
如图1所示,该高速长寿外存系统包括写缓存、原始缓存、非易失存储器介质、写缓存混合粒度调度模块、双缓存协调模块和比较写回模块。各功能模块的说明如表1所示。
表1高速长寿外存系统中各功能模块
实施例2
为了直接和方便地统计外存写数据量,本设计在开源的基于对象存储设备Open-osd的基础上修改OSDTarget模块中的代码。首先使用DRAM模拟非易失存储器构建一定容量的外存系统,同时使用DRAM构建写缓存和原始缓存,并增加一种延长非易失外存寿命的方法,此外统计每次实际写入外存系统的数据量和总数据量,便于分析一种延长非易失外存寿命的方法的性能。
为了减少网络通信对测试I/O性能的影响,使用一台机器搭建测试环境,配有Intel(R)Xeon(R)E56062.13GHz处理器和16G内存。使用postmark和filebench作为测试工具,测试使用一种延长非易失外存寿命的方法前后的外存写数据量和I/O性能。postmark是一款通用的文件系统I/O性能测试工具,用于模拟真实应用程序服务器的负载,同时使用filebench测试将文件系统用于支持email或电子商务等更新数据频繁的应用时写外存的数据量和I/O性能。测试时设置写缓存和原始缓存容量大小的初始比是4:1,每次测试中的I/O数据量和缓存容量比大于50:1。
设写缓存的容量为8M,原始缓存的容量为2M,使用本发明对某一个文件,文件A进行比较写回。本系统的系统主线程和后台检测线程的工作步骤分别如下所示。
系统主线程:
步骤1,按照文件名和偏移地址查找写缓存中是否存在新数据项;新数据项在写缓存中时转到步骤1.7,否则转到步骤1.2;
步骤2,如果写缓存空间不足,转到步骤3,否则转到步骤6;
步骤3,把当前时刻写缓存中写频率最低的写数据项淘汰出写缓存,使用基于字节的比较写回方法将淘汰的写数据项中修改的部分以字节为单位写回非易失存储器;
步骤4,把所淘汰的写数据项在原始缓存中对应的写数据项从原始缓存中删除;
步骤5,如果写缓存空间仍然不足,转到步骤3;否则转到步骤6;
步骤6,把新数据项写入写缓存;
步骤7,把该写数据项在写缓存中对应的写频率num(num∈N)值加1(当该写数据项为一个新写数据项时设置num值为0);
步骤8,向上层应用报告写数据完成。
后台检定期测线程:
步骤1:到达后台检测线程的检查周期t,;
步骤2:找出写缓存中写频率num值最低的M个写数据项,把这M个写数据项对应的原始数据从外存调入原始缓存,其中M是自然数同时M的值不超过缓存可容纳数据项的个数;
步骤3:把写缓存中所有写数据项的写频率num减半,即令num=num/2;
假设外存上文件A的原始内容为”IamapostgraduatestudentofJiangSuuniversity”。文件系统初次更新文件系统的内容为”IamapostgraduatestudentofJiangSuuniversity,Imajorincomputersencise.Ilikeprograming.”,此时写缓存中存在文件A的偏移地址为0的数据,系统会在确保写缓存有足够容量时首先把该写数据项直接写入写缓存;接着文件系统继续写文件A,写入内容变更为”IamapostgraduatestudentofJiangSuuniversity,Imajorinfinanceandeconomics”;最终文件A被文件系统再次更新,最后内容为”IamapostgraduatestudentofJiangSuuniversity,Imajorinfinanceandeconomics,ButIlikeprograming.”,假如此时该写数据项是写缓存中写频率最低的写数据项,则它将被淘汰出写缓存并比较写回外存。
在此之前后台检测线程已经将写缓存中写频率最低的M项数据对应的原始数据调入原始缓存,其中文件A的原始内容为”IamapostgraduatestudentofJiangSuuniversity”。则系统的比较写回过程如表2所示。
表2比较写回结果
原始缓存中的数据项为:IamapostgraduatestudentofJiangSuuniversity.
写缓存中的写数据项为:IamapostgraduatestudentofJiangSuuniversity,Imajorinfinanceandeconomics,ButIlikeprograming.
文件系统三次一共写了287字节的数据,但是最终写回外存的只有55字节。其中写缓存合并了文件系统提交的前两次写操作;而经过基于字节比较写回方法后,最终只写回了两份缓存中的数据项的不同部分,一共55字节。图3、4、5、6是使用filebench和postmark工具测试Open-osd系统使用本设计前后写数据量效果比较图和I/O性能效果比较图。

Claims (3)

1.一种延长非易失外存寿命的方法,其特征在于通过维护两份缓存,写缓存和原始缓存来工作;所述维护两份缓存的方法包括写缓存混合粒度调度方法、基于字节的比较写回方法和双缓存协调方法;具体包括以下步骤:首先使用写缓存来合并文件系统对同一数据的多次写操作,再通过写缓存和原始缓存基于字节的比较来写回新数据,降低写外存数据量;
其特征在于:所述写缓存混合粒度调度方法具体包括下列步骤:
步骤1.1,按照文件名和偏移地址查找写缓存中是否存在新数据项;新数据项在写缓存中时转到步骤1.7,否则转到步骤1.2;
步骤1.2,如果写缓存空间不足,转到步骤1.3,否则转到步骤1.6;
步骤1.3,把当前时刻写缓存中写频率最低的写数据项淘汰出写缓存,使用基于字节的比较写回方法将淘汰的写数据项中修改的部分以字节为单位写回非易失存储器;
步骤1.4,把所淘汰的写数据项在原始缓存中对应的写数据项从原始缓存中删除;
步骤1.5,如果写缓存空间仍然不足,转到步骤1.3;否则转到步骤1.6;
步骤1.6,把新数据项写入写缓存;
步骤1.7,把新数据项在写缓存中对应的写频率num值加1,当新数据项为一个新写数据项时设置num值为0;num∈N;
步骤1.8,向上层应用报告写数据完成。
2.根据权利要求1所述的一种延长非易失外存寿命的方法,其特征在于所述的双缓存协调方法包括下列步骤:
步骤2.1,到达检查周期t时;t∈N;
步骤2.2,找出写缓存中写频率num值最低的M个写数据项,把这M个写数据项对应的原始数据从外存调入原始缓存,其中M是自然数同时M的值不超过缓存可容纳数据项的个数;
步骤2.3,把写缓存中所有写数据项的写频率num值减半,即令num=num/2。
3.根据权利要求1所述的一种延长非易失外存寿命的方法,其特征在于所述的基于字节的比较写回方法包括下列步骤:
步骤3.1,淘汰写缓存中写频率最低的写数据项;
步骤3.2,将写数据项与原始缓存中对应的原始缓存项进行比较;
步骤3.3,找出以字节为单位的修改区域;
步骤3.4,以字节为单位将修改区域写回到非易失存储器中;
步骤3.5,把新数据项项和对应的原始数据项从写缓存与原始缓存中删除;
步骤3.6,比较写回结束。
CN201310232880.0A 2013-06-13 2013-06-13 一种延长非易失外存寿命的方法及高速长寿外存系统 Active CN103268292B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310232880.0A CN103268292B (zh) 2013-06-13 2013-06-13 一种延长非易失外存寿命的方法及高速长寿外存系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310232880.0A CN103268292B (zh) 2013-06-13 2013-06-13 一种延长非易失外存寿命的方法及高速长寿外存系统

Publications (2)

Publication Number Publication Date
CN103268292A CN103268292A (zh) 2013-08-28
CN103268292B true CN103268292B (zh) 2016-02-10

Family

ID=49011923

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310232880.0A Active CN103268292B (zh) 2013-06-13 2013-06-13 一种延长非易失外存寿命的方法及高速长寿外存系统

Country Status (1)

Country Link
CN (1) CN103268292B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105471955B (zh) * 2014-09-11 2019-01-18 北京金山云网络技术有限公司 分布式文件系统的写方法、客户端设备及分布式文件系统
CN107430551B (zh) * 2015-12-01 2020-10-23 华为技术有限公司 数据缓存方法、存储控制装置、及存储设备
CN107066208B (zh) * 2017-04-19 2020-04-03 江苏大学 一种外存设备的非对称读写方法及nvm外存设备
US11099948B2 (en) 2018-09-21 2021-08-24 Microsoft Technology Licensing, Llc Persistent storage segment caching for data recovery
CN112289352B (zh) * 2019-07-25 2023-10-03 上海磁宇信息科技有限公司 具有ecc功能的mram系统及其操作方法
CN110691219A (zh) * 2019-09-11 2020-01-14 视联动力信息技术股份有限公司 一种数据处理的方法及装置、电子设备、存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092775A (zh) * 2013-01-31 2013-05-08 武汉大学 一种基于键值结构的空间数据双缓存方法及机制

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019943B2 (en) * 2000-01-06 2011-09-13 Super Talent Electronics, Inc. High endurance non-volatile memory devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092775A (zh) * 2013-01-31 2013-05-08 武汉大学 一种基于键值结构的空间数据双缓存方法及机制

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NVMMDS-一种面向非易失存储器的元数据管理方法;蔡涛;《计算机研究与发展》;20130115;第50卷(第1期);第69-79页 *

Also Published As

Publication number Publication date
CN103268292A (zh) 2013-08-28

Similar Documents

Publication Publication Date Title
CN103268292B (zh) 一种延长非易失外存寿命的方法及高速长寿外存系统
US10303596B2 (en) Read-write control method for memory, and corresponding memory and server
US10915546B2 (en) Counter-based compaction of key-value store tree data block
US10176113B2 (en) Scalable indexing
CN103425600B (zh) 一种固态盘闪存转换层中的地址映射方法
US20200117368A1 (en) Method for achieving data copying in ftl of solid state drive, system and solid state drive
US20140258596A1 (en) Memory controller and memory system
CN111399777A (zh) 一种基于数据值分类的差异化键值数据存储方法
CN106775476A (zh) 混合内存系统及其管理方法
CN110825748A (zh) 利用差异化索引机制的高性能和易扩展的键值存储方法
CN102012791A (zh) 基于Flash的数据存储PCIE板卡
US9921954B1 (en) Method and system for split flash memory management between host and storage controller
CN109783398A (zh) 一种基于相关感知页面级ftl固态硬盘性能优化方法
Jin et al. Optimizing B+-tree for hybrid storage systems
CN103914483A (zh) 文件存储方法、装置及文件读取方法、装置
US8468297B2 (en) Content addressable memory system
CN107766258A (zh) 内存存储方法与装置、内存查询方法与装置
CN111352593A (zh) 一种区分快写和正常写的固态硬盘数据写入方法
US9697898B2 (en) Content addressable memory with an ordered sequence
CN103020077A (zh) 一种电力系统实时数据库内存管理方法
CN102650972A (zh) 数据存储方法、装置及系统
CN107229580A (zh) 顺序流检测方法与装置
CN107133334A (zh) 基于高带宽存储系统的数据同步方法
CN104571959A (zh) 数据处理方法和装置
CN105302736A (zh) 一种提高混合映射中日志块数据整理性能的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20171128

Address after: 212100 Zhenjiang province Jiangsu city Dantu District Shangdang ecological Automobile Industrial Park No. 8

Patentee after: JIANGSU HUIZHI INTELLECTUAL PROPERTY SERVICES CO., LTD.

Address before: 212013 Zhenjiang City, Jiangsu Province University Road, No. 301

Patentee before: Jiangsu University

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191217

Address after: 225200 No. 88 Wenchang East Road, Jiangdu District, Yangzhou, Jiangsu.

Patentee after: Yangzhou (Jiangdu) New Energy Automobile Industry Research Institute of Jiangsu University

Address before: 212100 Zhenjiang province Jiangsu city Dantu District Shangdang ecological Automobile Industrial Park No. 8

Patentee before: JIANGSU HUIZHI INTELLECTUAL PROPERTY SERVICES CO., LTD.

TR01 Transfer of patent right