写缓存的方法和装置以及磁盘缓存区的同步方法和装置的制造方法

文档序号:9750487阅读:262来源:国知局
写缓存的方法和装置以及磁盘缓存区的同步方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术,尤其涉及一种写缓存的方法和装置以及磁盘缓存区的同步方法和装置。
【背景技术】
[0002]目前,很多新型存储介质具有更好的访问性能,使用这些新型存储介质作为写缓存,可以提升写入速度,合并小1聚合成大的1操作,来提升hdd磁盘(Hard Disk Drive硬盘驱动器)的每秒小1的的操作个数。
[0003]但是,由于新型存储介质的成本昂贵,所以使用新型存储介质作为写缓存时,缓存容量都很小,在应付吞吐率较高的应用环境时,写缓存被迅速写满,写入性能会急速下降。如何提高写缓存应付长时间持续压力的写入,是设计写缓存时面对的主要问题。
[0004]非易失性随机存取存储器nvram(nonvolatilerandom access memory^Pnvdimm技术(一种集成了动态随机存取存储器DRAM+非易失性内存芯片的内存条规格)的发展和商用,使得访问非易失性存储器的性能达到和主存储器的性能相当。而hdd磁盘在顺序写入的粒度达到IMB时,可以达到120MBps以上,以4KB的1来进行计算,则单个hdd磁盘的1PS(Input/Output Operat1ns Per Second,即每秒进行读写)可以达到30K。
[0005]现有的写缓存实现中,都是将缓存放在更快速的存储介质上,但是越快速的存储介质,其成本越高,容量越小。

【发明内容】

[0006]本发明的实施例提供了一种写缓存的方法和装置以及磁盘缓存区的同步方法和装置,能够减少大吞吐量应用对缓存区空间的占用率。
[0007]为了实现上述目的,本发明采取了如下技术方案。
[0008]—种写缓存的方法,包括:
[0009]获取系统的待写入数据;
[0010]判断所述待写入数据的大小:
[0011]当所述待写入数据的大小大于第一阈值时,将所述待写入数据写入磁盘的数据区;
[0012]当所述待写入数据的大小小于或者等于所述第一阈值时,将所述待写入数据和对应的元数据信息写入非易失性内存存储器的缓存区中;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号;
[0013]当所述非易失性内存存储器的缓存区中的数据大小大于第二阈值时,将所述非易失性内存存储器的缓存区中的数据和对应的元数据信息写入磁盘的缓存区中;并移除所述非易失性内存存储器的缓存区中的数据和对应的元数据信息;
[0014]当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息。
[0015]所述当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中的步骤包括:
[0016]对所述磁盘的缓存区中的数据进行合并,合并成一个数据块;
[0017]判断所述数据块的大小是否大于第四阈值;
[0018]当所述数据块的大小大于第四阈值时,将所述数据块写入磁盘的数据区中;并将所述数据块和对应的元数据信息从所述磁盘的缓存区中移除;
[0019]当所述数据块小于或者等于所述第四阈值时,判断所述数据块中的第一个数据页被合并的时长是否大于或等于设定时长,所述数据页包括预订比特的数据;
[0020]如果被合并的时长大于或等于设定时长,将所述数据块的第一个数据页写入所述磁盘的数据区,并将所述第一个数据页和对应的元数据信息从所述磁盘的缓存区中移除。[0021 ] —种磁盘缓存区的同步方法,包括:
[0022]判断磁盘的缓存区中的数据大小是否大于第三阈值;
[0023]当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息。
[0024]一种写缓存的装置,包括:
[0025]获取模块,获取系统的待写入数据;
[0026]第一判断模块,判断所述待写入数据的大小:
[0027]第一写入模块,当所述待写入数据的大小大于第一阈值时,将所述待写入数据写入磁盘的数据区;
[0028]第二写入模块,当所述待写入数据的大小小于或者等于所述第一阈值时,将所述待写入数据和对应的元数据信息写入非易失性内存存储器的缓存区中;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号。
[0029 ] 一种磁盘缓存区的同步装置,包括:
[0030]判断模块,判断磁盘的缓存区中的数据大小是否大于第三阈值;
[0031]写入模块,当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据
?目息O
[0032]由上述本发明的实施例提供的技术方案可以看出,本发明实施例中,通过将待写入数据直接写入到磁盘的数据区,让大吞吐量数据不用经过磁盘的缓存区进行缓存,减少大吞吐量应用对缓存区空间的占用率,减少对缓存设备的压力。
[0033]本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0034]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0035]图1为本发明实施例一提供的一种写缓存的方法的处理流程图;
[0036]图2为本发明实施例一提供的一种写缓存的装置的连接示意图;
[0037]图3为本发明实施例一提供的一种磁盘缓存区的同步方法的处理流程图;
[0038]图4为本发明实施例一提供的一种磁盘缓存区的同步装置的连接示意图。
[0039]图5为本发明实施例中的数据结构图;
[0040]图6为本发明写缓存的方法的应用场景;
[0041]图7为本发明写缓存的方法的另一应用场景;
[0042]图8为本发明实施例中读取非易失性内存缓存区中的缓存区的数据的处理流程图;
[0043]图9为本发明实施例中读取非易失性内存缓存区中的掉电保护区的数据的处理流程图;
[0044]图10为本发明的数据页最新查找树的流程图。
【具体实施方式】
[0045]下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0046]本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
[0047]本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
[0048]为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
[0049]如图1所示,为本发明所述的一种写缓存的方法,包括:
[0050]步骤11,获取系统的待写入数据;
[0051 ]步骤12,判断所述待写入数据的大小:
[0052]步骤13,当所述待写入数据的大小大于第一阈值时,将所述待写入数据写入磁盘的数据区;
[0053]步骤14,当所述待写入数据的大小小于或者
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1