一种数据存储方法、设备、计算机程序及存储介质

文档序号:1270532 发布日期:2020-08-25 浏览:1次 >En<

阅读说明:本技术 一种数据存储方法、设备、计算机程序及存储介质 (Data storage method, data storage equipment, computer program and storage medium ) 是由 柴云鹏 吴坤尧 于 2020-04-28 设计创作,主要内容包括:本发明涉及一种数据存储方法、设备、计算机程序及存储介质,其包括用于处理用户读写请求的步骤;用于实现地址转换的步骤;用于缓存数据块请求的步骤;用于存储用户数据的步骤。本发明能大幅降低RAID5系统的写放大开销,提高系统读写性能。本发明就可以广泛在数据存储技术领域中应用。(The invention relates to a data storage method, device, computer program and storage medium, comprising steps for processing read-write request of user; a step for implementing address translation; a step for caching a data block request; a step for storing user data. The invention can greatly reduce the write amplification overhead of the RAID5 system and improve the read-write performance of the system. The invention can be widely applied in the technical field of data storage.)

一种数据存储方法、设备、计算机程序及存储介质

技术领域

本发明涉及一种数据存储技术领域,特别是关于一种基于新型瓦记录磁盘的数据存储方法、设备、计算机程序及存储介质。

背景技术

磁盘:即Hard Disk Drive(HDD),是目前最主要的数据存储介质。与基于闪存的固态盘(Solid State Drive,SSD)相比,磁盘有着高容量、低成本、寿命长的优势。随着数据量的指数级增长,包括社交媒体、物联网、天文观测、医学影像在内的各领域对大规模存储系统的需求也迅速增大。廉价、大容量、稳定的磁盘仍将是满足未来存储需求的主要存储介质。

瓦记录:即Shingled Magnetic Recording(SMR),是一种区别于传统磁盘(Conventional Magnetic Recording,CMR)的新型存储设备。瓦记录主要分为以下三类:驱动管理式瓦记录(Drive-Managed SMR,DM-SMR)、主机管理式瓦记录(Host-Managed SMR,HM-SMR)和主机感知式瓦记录(Host-Aware SMR,HA-SMR)。由于物理学上的超顺磁效应限制(Superparamagnetic limit),现有传统磁盘存储密度已达到1Tb/in2的极限。瓦记录在现有磁盘的硬件技术上,更改了磁道的分布方式,以增加存储密度。通过利用磁盘中读磁头的宽度小于写磁头这一特质,瓦记录内的磁道如同瓦片一样互相堆叠,每个磁道暴露出的区域宽度大于读磁头宽度,以保证读磁头可以正常读取。由于磁道重叠,瓦记录在处理读请求和连续写请求时性能与传统磁盘相似,但在处理随机写请求时会遭遇性能下降。与尚未商业化的热辅助磁记录(Heat-Assisted Magnetic Recording,HAMR)和比特模式磁记录(Bit-Patterned Magnetic Recording)相比,瓦记录不需大幅度改变现有磁盘结构,目前已经被希捷、西部数据公司广泛生产。由于容量更大、价格更低,瓦记录被认为是一种有前景的存储设备。

磁盘阵列:即Redundant Array of Independent Disks(RAID),是一种由多块磁盘构成、逻辑上表现为统一接口的存储方案,目的是在容量、性能和可靠性之间取得平衡。磁盘阵列存在不同级别,如RAID0,RAID10,RAID4,RAID5。RAID4将用户数据平均分布在数据盘中,并将用户数据生成的校验信息存储在校验盘中。当其中一块磁盘发生故障时,RAID4系统可以通过其余硬盘的信息恢复故障盘的数据。RAID5在RAID4基础上做了改动,将校验信息平均分布在每块盘上。由于良好的读写性能、容单盘错特性和较大的容量,大规模存储系统中广泛部署RAID5。

区域块指令集:即Zone Block Commands(ZBC),是国际信息技术标准委员会提出的基于HM-SMR的接口标准。该标准提供了一系列以区域(Zone)为粒度的操作,包括查看Zone的类型和大小、打开和关闭Zone、读取Zone、写入Zone和复位Zone内写指针。

现有技术中的基于捎带回收的瓦记录RAID写顺序化方法及装置,是为了减小瓦记录磁盘阵列引发的高昂写放大开销,该方案使用循环日志管理瓦记录中的条带,将随机写请求转化为顺序写,并把相应信息存储在地址映射表中。在处理小粒度的读操作时,系统会顺带回收附近的无效数据,以减轻垃圾回收过程引起的开销。同时,在出现单盘故障需要进行数据恢复时,该方案可以避免对所有条带进行读写,从而提高数据恢复的性能。但是该方法采用的是循环日志结构。

现有技术中的基于CMR-SMR混合存储的RAID4方案,该方案将RAID4部署在CMR-SMR混合存储上,以避免在瓦记录中校验块的频繁更新。例如一个3块数据盘、1块校验盘组成的RAID4系统,共需要3块SMR和2块CMR。其中,3块SMR作为数据盘,存储平均分布后的用户数据。其中一块CMR作为校验盘,存储用户数据产生的校验信息。另一块CMR用作数据更新盘,对3块SMR内数据的更新操作都会被重定向到这款盘中。但是该方法是引入2块传统磁记录(CMR),与3块瓦记录(SMR)作为混合存储。

现有技术中的基于可变长条带写的瓦记录RAID5方案,为减少校验位更新带来的开销,该方案提供了一种重建条带的方式。当不同条带的数据位更新时,相应数据不会被原位更新,而会被重新视为一个新的条带,以追加写的方式记录在磁盘上。为了记录更新后数据的位置,系统需要维护一张地址映射表。每次接受读请求时,都要先查看该请求对应的块地址是否位于映射表中。

综上,瓦记录在部署RAID5时会遭遇严重的性能下降,原因在于写放大开销。瓦记录的磁道相互重叠,在写入数据时写磁头会覆盖临近磁道,改变其他磁道原有的数据。为了防止对一个磁道的写操作级联影响整个磁盘,瓦记录将临近的若干磁道归为一个组(Band)。Band之间隔着一段称为警戒区(Guard Region)的不可读写区域,保证写覆盖的影响只出现在某个band内部。瓦记录不能像传统磁盘一样原位处理随机写请求。为此,瓦记录采用了以下方案。用户的写请求将会先进入瓦记录的持久化缓存(Persistent Buffer,PB)区域。PB内的数据可以被原位更新。当PB的空间满了后,将会触发垃圾回收(GarbageCollection,GC)过程,将PB内的数据按band为单位刷回原来的区域。GC过程会引发写放大(WriteAmplification,WA)开销,这也是影响SMR随机写性能的主要原因。由于RAID5方案中,任意数据块的更新都伴随着校验块的更新,这一性质加剧了瓦记录RAID5系统的写放大开销。现有的数据存储技术,如在混合存储中实现RAID4和基于捎带回收的RAID5,没有很好地解决瓦记录部署RAID5时引起的高额写放大现象。

发明内容

针对上述问题,本发明的目的是提供一种数据存储方法、设备、计算机程序及存储介质,其能大幅降低RAID5系统的写放大开销,提高系统读写性能。

为实现上述目的,本发明采取以下技术方案:一种数据存储方法,其包括:用于处理用户读写请求的步骤;用于实现地址转换的步骤;用于缓存数据块请求的步骤;用于存储用户数据的步骤。

进一步,处理读请求时,包括以下步骤:S11:接受读请求;S12:将读请求的逻辑地址转换为数据块的地址;S13:判断是否命中缓冲区,若发生缓存命中,则从缓冲区中读取,否则从SMR中读取,并返回步骤S11。

进一步,处理写请求时,包括以下步骤:S21:接受写请求;S22:将写请求进行地址转换,同时产生数据块的地址和校验块的地址;S23:判断块类型,若为校验块则直接写入SMR,并返回步骤S21;若为数据块则进入步骤S24;S24:判断是否命中缓冲区,若命中则在缓冲区中原位更新,并返回步骤S21;否则进入步骤S25;S25:判断缓冲区是否已满,如果缓冲区已满,将执行垃圾回收过程;若缓冲区不满时或垃圾回收完成后则直接写入缓冲区。

进一步,所述步骤S12和步骤S22中,具体转换方法为:把每块磁盘内校验块所在的位置上移至可覆盖写磁道,其余数据块按地址从小到大的顺序依次排布在磁盘内。

进一步,需要保证RAID中的磁盘数量与Band内磁道数量相同。

进一步,所述步骤S13中,具体判断执行方法为:S131:判断读请求对应的数据块是否在可覆盖写区域内,如果是,则直接从可覆盖写缓冲区中读取相应数据;否则,再判断是否位于叠瓦式区域内,如果是,则从叠瓦式区域内读取;S132:如果在持久化缓冲区的两个区域都找不到对应的数据块,未发生缓存命中,则直接从相应的数据块地址中读取数据。

进一步,所述步骤S25中,垃圾回收过程为:(1)可覆盖写区域垃圾回收:首先挑选出叠瓦式区域的一个空的Band,如果整个叠瓦式区域已满,那么将执行叠瓦式区域垃圾回收,具体方法为:在该Band剩余空间允许的条件下,挑选出包含可覆盖写区域内最多数据块的Band号作为淘汰号;将淘汰号对应的数据块依次移动至该Band内,重复该过程,直到挑选不出淘汰号;(2)叠瓦式区域垃圾回收:首先统计叠瓦式区域内各数据块的Band号分布情况,每次都选取包含最多数据块的Band号作为淘汰号,然后将所有包含淘汰号的叠瓦式区域内的Band的全部数据块移动至瓦记录对应的区域;(3)当缓冲区未满或完成垃圾回收后,则将相应的写请求写入可覆盖写区域的空闲位置。

一种数据存储设备,其包括操作系统、地址映射模块、持久化缓冲区和瓦记录磁盘组;所述操作系统用于处理用户读写请求;所述地址映射模块用于实现地址转换;所述持久化缓冲区用于缓存数据块请求;所述瓦记录磁盘组用于存储用户数据。

一种计算机程序,其包括有计算机程序指令,所述程序指令被处理器执行时用于实现上述数据存储方法对应的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述程序指令被处理器执行时用于实现上述数据存储方法对应的步骤。

本发明由于采取以上技术方案,其具有以下优点:1、本发明可以提高瓦记录RAID5系统的读写速度,尤其是随机写速度。2、本发明可以在不改变现有的硬件和操作系统的情况下,通过改变地址映射模式提高存储系统的性能。3、本发明采用新型存储介质(主机管理型瓦记录),在拥有比传统磁记录更高的存储密度的同时拥有更低的成本。

综上,本发明通过利用可覆盖写磁道的随机写性质,实现新的地址映射和缓冲区结构,大幅降低RAID5系统的写放大开销,提高系统读写性能。

附图说明

图1是本发明的读请求处理流程图;

图2是本发明的写请求处理流程图;

图3传统RAID5映射示意图;

图4是本发明的映射示意图;

图5是本发明的可覆盖写磁道结构示意图;

图6是本发明的持久化缓冲区结构示意图;

图7是本发明的系统设备架构图。

具体实施方式

下面结合附图和实施例对本发明进行详细的描述。

实施例1

本实施例提供一种基于新型瓦记录磁盘的数据存储方法,其包括以下步骤:

用于处理用户读写请求的步骤;

用于实现地址转换的步骤;

用于缓存数据块请求的步骤;

用于存储用户数据的步骤。

上述步骤中,在处理读请求时,如图1所示,包括以下步骤:

S11:接受读请求;

S12:将读请求的逻辑地址转换为数据块的地址;

S13:判断是否命中缓冲区,若发生缓存命中,则从缓冲区中读取,否则从SMR中读取,并返回步骤S11。

上述步骤中,在处理写请求时,如图2所示,包括以下步骤:

S21:接受写请求;

S22:将写请求进行地址转换,同时产生数据块的地址和校验块的地址;

S23:判断块类型,若为校验块则直接写入SMR,并返回步骤S21;若为数据块则进入步骤S24;

S24:判断是否命中缓冲区,若命中则在缓冲区中原位更新,并返回步骤S21;否则进入步骤S25;

S25:判断缓冲区是否已满,如果缓冲区已满,将执行垃圾回收过程;若缓冲区不满时或垃圾回收完成后则直接写入缓冲区。

上述步骤S12和步骤S22中,传统RAID5会将一个逻辑块请求映射成数据块和校验块的地址(如图3所示)。校验块均匀地分布在各块磁盘中,如3图中磁盘4中的P0位于磁道0,表示数据块0、1、2、3的校验块;磁盘3中的P1位于磁道1,表示数据块4、5、6、7的校验块。在本实施例中,采用地址在传统RAID5的基础上做了地址映射的改动,如图4所示,具体转换方法如下:

把每块磁盘内校验块所在的位置上移至可覆盖写磁道,其余数据块按地址从小到大的顺序依次排布在磁盘内。每块磁盘内包含的数据块和检验块与RAID5相同,但位置有变化,即在每块磁盘中,所有的校验块都会上移至Band最上方的磁道,即可覆盖写磁道。如磁盘3中的P1不再位于磁道1,而是上移至磁道0,余下的数据块3、10、14、18将按照顺序排布于1、2、3、4号磁道。

在本实施例中,需要保证RAID中的磁盘数量与Band内磁道数量相同。Band内磁道数量的多少属于逻辑上的属性,可以根据实际需要具体设定。本地址映射方案也可以拓展到N块磁盘的情景。由此规则,可以将一个逻辑块地址转换为一个位于可覆盖写磁道的校验块地址和一个数据块地址。

其中,对于读请求而言,只需要转换出相应的数据块地址。对于写请求,需要同时转换出数据块地址和校验块地址。

上述实施例中,可覆盖写磁道是一种具有可覆盖写(Rewriteable)性质的磁道,可以实现数据的原位更新。在本实施例中,持久化缓冲区和非缓冲区内的band均包含可覆盖写磁道。如图5所示,每个band内的第一个磁道是可覆盖写磁道。传统的叠瓦式磁道执行写操作时,写磁头会覆盖下方临近磁道。而本实施例中采用的可覆盖写磁道执行写操作时,写磁头的位置会向上移动至Guard Region,以实现向上覆盖写。存储在可覆盖写磁道内的数据可以被原位更新,因此更新操作不会覆盖任何邻近磁道内的有效数据。

上述步骤S13中,如图6所示,持久化缓冲区内包含若干个Band,每个Band内的结构与图5给出的完全相同。持久化缓冲区分为两个区域,即可覆盖写区域和叠瓦式区域。可覆盖写区域包含了区域内所有Band的可覆盖写磁道,而叠瓦式区域则包含了各Band内剩余的磁道。该步骤中具体判断执行方法为:

S131:判断读请求对应的数据块是否在可覆盖写区域内,如果是,则直接从可覆盖写缓冲区中读取相应数据。否则,再判断是否位于叠瓦式区域内,如果是,则从叠瓦式区域内读取。

S132:如果在持久化缓冲区的两个区域都找不到对应的数据块,即未发生缓存命中,则直接从相应的数据块地址中读取数据。

上述步骤S23、步骤S24中的,如图6所示,持久化缓冲区分为两个区域,即可覆盖写区域和叠瓦式区域。可覆盖写区域包含了区域内所有Band的可覆盖写磁道,而叠瓦式区域则包含了各Band内剩余的磁道。

对于地址转换后同时产生的数据块地址和校验块地址,具体判断执行方法为:

校验块:校验块位于可覆盖写磁道,可以直接写入SMR的相应位置,直接原位更新。

数据块:首先判断数据块是否位于持久化缓冲区中。如果数据块位于可覆盖写区域,就直接原位更新;未发生缓存命中时则判断缓冲区是否已满。

上述步骤S25中,当数据块不在可覆盖写区域中,就需要判断当前可覆盖写区域是否已满。如果该区域已满,需要执行垃圾回收过程。垃圾回收过程为:

(1)可覆盖写区域垃圾回收:首先挑选出叠瓦式区域的一个空的Band,如果整个叠瓦式区域已满,那么将执行叠瓦式区域垃圾回收,具体方法为:

在该Band剩余空间允许的条件下,挑选出包含可覆盖写区域内最多数据块的Band号作为淘汰的标志(下简称淘汰号);将淘汰号对应的数据块依次移动至该Band内,重复该过程,直到挑选不出淘汰号。

(2)叠瓦式区域垃圾回收:首先统计叠瓦式区域内各数据块的Band号分布情况。每次都选取包含最多数据块的Band号作为淘汰号,然后将所有包含淘汰号的叠瓦式区域内的Band的全部数据块移动至瓦记录对应的区域。

(3)当缓冲区未满或完成垃圾回收后,则将相应的写请求写入可覆盖写区域的空闲位置。

实施例2

如图7所示,本实施例中提供一种基于新型瓦记录磁盘的数据存储设备,其包括操作系统、地址映射模块、持久化缓冲区和瓦记录磁盘组。操作系统用于处理用户读写请求;地址映射模块用于实现地址转换;持久化缓冲区用于缓存数据块请求;瓦记录磁盘组用于存储用户数据。

实施例3

本实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本发明上述实施例提供的任一数据存储方法的步骤。

本实施例还提供了一种计算机程序,其包括有计算机程序指令,该程序指令被处理器执行时用于实现本发明上述实施例提供的任一数据存储方法的步骤。

上述实施例中,计算机可读存储介质和计算机程序用于实现上述方法实施例中相应的数据存储方法,并具有相应的方法实施例的有益效果,在此不再赘述。

需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。

上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的处理方法。此外,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行将通用计算机转换为用于执行在此示出的处理的专用计算机。

本领域普通技术人员可以意识到,结合上述所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。

以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:存储卷级联架构、批量作业处理系统和电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类