一种基于数据更新频率的写入方法与流程

文档序号:12462700阅读:285来源:国知局
一种基于数据更新频率的写入方法与流程

本发明涉及存储器领域,尤其涉及一种基于数据更新频率的写入方法。



背景技术:

DRAM(Dynamic Random Access Memory),即动态随机存取存储器,由于其结构简单,是最为常见的系统内存。它在数据中心(Data Center)、IMC(Intelligent Management Center,智能管理中心)中被大量使用,并且随着大数据(Big Data)时代的到来,其容量将会变得更加巨大。然而DRAM也存在着一些缺点,由于其电荷存储机理,DRAM只能将数据保持很短的时间,所以为了保持数据,DRAM必须每隔一段时间刷新(refresh)一次,如果超出刷新周期存储单元没有被刷新,存储的信息就会丢失。

为解决DRAM掉电数据即丢失的缺点,目前市面上解决的方法是使用NVDIMM(Non-volatile Dual-Inline-Memory-Modules,非易失性双列直插式存储模块)。如附图1所示,NVDIMM由DRAM、NVM(Non-volatile Memory,非易失性存储)和超级电容组成,可在系统突然掉电后利用超级电容,将DRAM中的数据备份到NVM中,防止由于意外掉电造成内存中的数据丢失。然而传统的NVDIMM也存在其缺点,比如为了完整备份DRAM中的所有数据,NVM的存储容量必须大于或等于DRAM的容量,这样成本将会变得很大,而且需要一个容量很大的超级电容来完成DRAM中数据的备份,这又将带来很大的发热量,使存储器的性能大大降低。

在目前的计算机中,内存作为硬盘的cache(缓存),数据写入内存主要有两种方式:

1)直写模式(Write-through):在数据更新时,将数据同时写入内存和后端存储(比如磁盘或者固态硬盘)。此模式的优点是操作简单;缺点是由于数据修改需要同时写入数据至内存和硬盘,因此写入速度较慢。

2)回写模式(Write-back):在数据更新时,只将数据写入内存,只在数据被替换出内存时,被修改的内存数据才会被写到后端存储。此模式的优点是数据写入速度快;缺点是更新后的数据未被写入后端存储前一旦出现系统意外掉电的情况,这些数据将无法找回。



技术实现要素:

本发明提出了一种基于数据更新频率的写入方法,应用于包括一控制器和一动态随机存取存储器和一非易失存储器的混合内存;所述控制器中预设有一标准频率;所述写入方法包括:

步骤S1:通过所述控制器获得所述动态随机存取存储器中的每个存取单元的数据更新频率;

步骤S2:通过所述控制器将每个所述存取单元的所述数据更新频率分别与所述标准频率比较大小;

步骤S3:将所述数据更新频率低于所述标准频率的每个所述存取单元设为直写模式,并且将所述数据更新频率高于所述标准频率的每个所述存取单元设为回写模式;

步骤S4:返回所述步骤S1。

上述的基于数据更新频率的写入方法,其中,所述步骤S1包括:

步骤S11:于所述控制器中设置一第一时间;

步骤S12:通过所述控制器计算所述第一时间内的每个存取单元的所述数据更新频率。

上述的基于数据更新频率的写入方法,其中,所述步骤S1还包括:

步骤S13:于用户针对任意所述存取单元的所述数据进行重复性操作时,所述控制器将所述更新频率存储于所述非易失存储器中。

上述的基于数据更新频率的写入方法,其中,所述步骤S4具体为:

判断所述用户是否再次进行所述重复性操作;

若是,则将所述非易失存储器中存储的所有所述数据更新频率提取至所述控制器中,并返回所述步骤S3;

若否,则返回所述步骤S1。

上述的基于数据更新频率的写入方法,其中,所述步骤S4中,判断所述用户是否进行所述重复性操作的方法为:

判断所述用户的当前操作与先前操作相比,是否在相同的时间针对相同的所述存取单元进行相同的读写操作;

若是,则判断所述用户的所述当前操作为重复性操作;

若否,则判断所述用户的所述当前操作不为重复性操作。

上述的基于数据更新频率的写入方法,其中,所述步骤S4中:

经过一第二时间后返回所述步骤S1。

上述的基于数据更新频率的写入方法,其中,所述用户根据所述数据更新频率的变化快慢调整所述第二时间的时间长度。

上述的基于数据更新频率的写入方法,所述混合内存还包括一电容;其中,于所述混合内存掉电时,所述电容提供电能将所述动态随机存取存储器中采用所述回写模式的所述存取单元中的数据存入所述非易失存储器中,以及不对采用所述直写模式的所述存取单元中的数据进行备份;

于所述混合内存重新得电时,所述非易失存储器将所述数据重新写入所述动态随机存取存储器中。

上述的基于数据更新频率的写入方法,其中,所述标准频率的大小与所需的所述非易失存储器的容量呈正相关。

有益效果:本发明提出的基于数据更新频率的写入方法,使得备份数据所需要的非易失存储器的容量远小于传统的NVDIMM,这将大大降低NVDIMM的价格、超级电容的容量、超级电容的发热量等,对于大量使用NVDIMM的数据中心等是一个很大的改善。

附图说明

图1:传统非易失性双列直插式存储模块的结构示意图;

图2:本发明一实施例中的基于数据更新频率的写入方法的流程示意图;

图3:本发明一实施例中的混合内存的结构示意图;

图4:本发明一实施例中的非易失存储器的结构示意图;

图5:本发明一实施例中的混合内存的结构示意图。

具体实施方式

现结合附图对本发明具体实施方式作进一步说明。

在一个较佳的实施例中,如图2所示,提出了一种基于数据更新频率的写入方法,可以应用于包括一控制器和一动态随机存取存储器和一非易失存储器的混合内存,混合内存可以如图3所示;控制器中可以预设有一标准频率;该写入方法可以包括:

步骤S1:通过控制器获得动态随机存取存储器中的每个存取单元的数据更新频率;

步骤S2:通过控制器将每个存取单元的数据更新频率分别与标准频率比较大小;

步骤S3:将数据更新频率低于标准频率的每个存取单元设为直写模式,并且将数据更新频率高于标准频率的每个存取单元设为回写模式;

步骤S4:返回步骤S1。

上述实施例中,优选地,步骤S1可以包括:

步骤S11:于控制器中设置一第一时间;

步骤S12:通过控制器计算第一时间内的每个存取单元的数据更新频率。

上述实施例中,优选地,步骤S1还可以包括:

步骤S13:于用户针对任意存取单元的数据进行重复性操作时,控制器可以将更新频率存储于非易失存储器中。

上述实施例中,优选地,步骤S4具体可以为:

判断用户是否再次进行重复性操作;

若是,则可以将非易失存储器中存储的所有数据更新频率提取至控制器中,并返回步骤S3;

若否,则返回步骤S1。

上述实施例中,优选地,步骤S4中,判断用户是否进行重复性操作的方法可以为:

判断用户的当前操作与先前操作相比,是否在相同时间针对相同的存取单元进行相同的读写操作;

若是,则判断用户的当前操作为重复性操作;

若否,则判断用户的当前操作不为重复性操作。

其中,通过在相同时间对相同的存取单元进行相同的读写操作的判断方法来判断用户是否进行重复性操作仅为一种优选的情况,不应作为对本发明的限制,其他判断方式也应视为包含在本发明中;在相同的时间可以理解为一天中相同的时间,或固定时间周期中相同的时间等。

在一个较佳的实施例中,步骤S4中:

经过一第二时间后返回步骤S1。

上述实施例中,优选地,用户根据数据更新频率的变化快慢调整第二时间的时间长度。

在一个较佳的实施例中,混合内存还包括一电容;于混合内存掉电时,电容提供电能将动态随机存取存储器中采用回写模式的存取单元中的数据存入非易失存储器中,以及不对采用直写模式的存取单元中的数据进行备份;

于混合内存重新得电时,非易失存储器将数据重新写入动态随机存取存储器中。

在一个较佳的实施例中,标准频率的大小与所需的非易失存储器的容量呈正相关。

本发明与传统的NVIDIMM相比,优势明显:

优选地,在计算机开启,应用、软件开始运行的情况下,系统先采取直写模式进行数据更新,即将数据同时写入缓存和后端存储。

在系统进行数据更新的过程中,CPU(Central Processing Unit,中央处理器)开始分析计算第一时间(例如为T0时间)内每个内存存取单元的数据更新频率。每个内存存取单元可以是一个缓存行(cache line),即cpu利用自身cache和内存之间交换数据的最小粒度,一般为32Byte或者64Byte,也可为几个缓存行。如附图4所示,即为n个内存存取单元组成的内存。假设内存有n个内存存取单元,则由此可得到每个内存存取单元的更新频率F01到F0n。其中时间T0可以是一个与系统参数有关的预设值。

T0时间后,分别比较F01到F0n与标准频率F1的大小。若得到的F0小于F1,说明此内存存取单元的数据更新频率较小,即使同时更新此内存存取单元与后端存储中的数据也不会太影响数据的写入速度,因此当需要再次对此内存存取单元进行数据更新时,继续采用直写模式更新数据;若得到的F0大于F1,说明此内存存取单元的数据更新频率较快,若继续使用直写模式将拖慢此内存存取单元的写入速度,因此当需要再次对此内存存取单元进行数据更新时,变为采用回写模式更新数据。其中频率F1可以是一个与系统参数有关的预设值,它将决定NVM的容量大小。如果F1相对较大,则系统更多地采用直写模式更新数据,系统所需要的NVM容量就要大些;如果F1相对较小,则系统更多地采用回写模式更新数据,系统所需要的NVM容量就要小些。当系统掉电后,采用回写模式的内存存取单元需要利用超级电容将其中未写入后端存储的数据写入NVM中进行备份。当电源恢复后,再将NVM中备份的数据重新写入到对应的内存存取单元中,系统开始继续之前的工作。由于系统仅需对数据更新频率较高的一些内存存取单元采用回写模式更新数据,因此当系统掉电后,备份数据所需要的NVM容量将会小于缓存。

一段时间后,或者紧接着上一次数据更新模式变换之后,重复上述步骤,重新得到每个内存存取单元的F01到F0n,比较F0与F1的大小,重新选择该内存存取单元的数据更新模式。

更优地,系统可以对每次分析得到F0进行记录、分析,例如若每次分析得到的F0变化得很快,则每次对内存存取单元进行分析的时间间隔就要变短一些;若每次分析得到的F0变化得很慢,则每次对内存存取单元进行分析的时间间隔就可以变长一些。若对计算机用户的使用习惯进行记录,分析在哪些时间段里内存存取单元数据更新的F0几乎不变,则可将其保存在NVM中。当再到这些时间段时,可无需等待T0时间,直接使用存储在NVM中的F0,来决定该内存存取单元的数据更新模式。

如附图5所示为根据本发明制作的混合内存。它由一个64Mb的DRAM(可以是8MB)、一个32Mb的PCM(Phase Change Memory,相变存储器)(可以是4MB)、一个超级电容和一个控制模块组成,其中DRAM为内存,PCM用来备份掉电后未来得及保存到后端存储的数据,其容量小于DRAM,超级电容用于维持掉电后瞬时的数据转移过程的电力,控制模块用于切换直写和回写两种不同的数据写入模式。该混合内存基于更新频率的写入步骤具体如下:

在计算机开启,应用、软件开始运行的情况下,系统先采取直写模式进行数据更新,即将数据同时写入DRAM和后端存储HDD(Hard Disk Drive,硬盘驱动器)。

在系统进行数据更新的过程中,CPU开始分析T0时间内每个内存存取单元的更新次数。假设每个内存存取单元占64Byte,则整个内存共有128个内存存取单元,则由此可得到每个内存存取单元的更新频率F01到F0128。其中时间T0是一个与系统参数有关的预设值。同时,对计算机用户的使用习惯进行记录,分析在哪些时间段里内存数据更新的F0几乎不变,并将这组F01到F0128保存在PCM中。

T0时间后,分别比较F01到F0128与F1的大小。若得到的F0小于F1,说明此内存存取单元的数据更新频率较慢,即使同时更新此内存存取单元与HDD中的数据也不会影响写入速度,因此当需要再次对此内存存取单元进行数据更新时,继续采用直写模式更新数据;若得到的F0大于F1,说明此内存存取单元的数据更新频率较快,若继续使用直写模式将拖慢此内存存取单元的写入速度,因此当需要再次对此内存存取单元进行数据更新时,变为采用回写模式更新数据。其中频率F1可以是一个与系统参数有关的预设值,它将决定PCM的容量大小。如果F1相对较大,则系统更多地采用直写模式更新数据,系统所需要的PCM容量就要大些;如果F1相对较小,则系统更多地采用回写模式更新数据,系统所需要的PCM容量就要小些。在本例中假设预设的F1能使大约一半内存存取单元采用直写模式,一半内存存取单元采用回写模式。若PCM的容量不够或者太多,也可调整F1的大小。当系统掉电后,采用回写模式的内存存取单元需要利用超级电容将其中未写入HDD中的数据写入PCM中进行备份。当电源恢复后,再将PCM中备份的数据重新写入到对应的内存存取单元中,系统开始继续之前的工作。由于系统仅需对数据更新频率较高的一些内存存取单元采用回写模式更新数据,因此当系统掉电后,备份数据所需要的PCM容量将会小于DRAM。

一段时间后,或者紧接着上一次数据更新模式变换之后(取决于F0的变化快慢),判断下一时刻要进行的是否为用户的习惯操作,若不是,则重复上述的步骤,重新得到每个缓存单元的F01到F0128,比较F0与F1的大小,重新选择对应内存存取单元的数据更新模式;若是,则无需等待T0时间,直接使用存储在PCM中对应的F01到F0128,来决定对应内存存取单元的数据更新模式。

综上所述,本发明提出的一种基于数据更新频率的写入方法,应用于包括一控制器和一动态随机存取存储器和一非易失存储器的混合内存,控制器中预设有一标准频率,包括:步骤S1,通过控制器获得动态随机存取存储器中的每个存取单元的数据更新频率;步骤S2,通过控制器将每个存取单元的数据更新频率分别与标准频率比较大小;步骤S3,将数据更新频率低于标准频率的每个存取单元设为直写模式,并且将数据更新频率高于标准频率的每个存取单元设为回写模式;步骤S4,返回步骤S1;这使得备份数据所需要的非易失存储器的容量远小于传统的NVDIMM,这将大大降低NVDIMM的价格、超级电容的容量、超级电容的发热量等,对于大量使用NVDIMM的数据中心等是一个很大的改善。

通过说明和附图,给出了具体实施方式的典型实施例,基于本发明精神,还可作其他的转换。尽管上述发明提供了一个实施例,然而,这些内容并不作为局限。

对于本领域的技术人员而言,阅读上述说明后,各种变化和修正无疑将显而易见。因此,所附的权利要求书应看作是涵盖本发明的真实意图和范围的全部变化和修正。在权利要求书范围内任何和所有等价的范围与内容,都应认为仍属本发明的意图和范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1