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

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

Info

Publication number
CN111580752A
CN111580752A CN202010348479.3A CN202010348479A CN111580752A CN 111580752 A CN111580752 A CN 111580752A CN 202010348479 A CN202010348479 A CN 202010348479A CN 111580752 A CN111580752 A CN 111580752A
Authority
CN
China
Prior art keywords
area
data
data storage
address
write
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.)
Granted
Application number
CN202010348479.3A
Other languages
English (en)
Other versions
CN111580752B (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.)
Renmin University of China
Original Assignee
Renmin University of China
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 Renmin University of China filed Critical Renmin University of China
Priority to CN202010348479.3A priority Critical patent/CN111580752B/zh
Publication of CN111580752A publication Critical patent/CN111580752A/zh
Application granted granted Critical
Publication of CN111580752B publication Critical patent/CN111580752B/zh
Active 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明涉及一种数据存储方法、设备、计算机程序及存储介质,其包括用于处理用户读写请求的步骤;用于实现地址转换的步骤;用于缓存数据块请求的步骤;用于存储用户数据的步骤。本发明能大幅降低RAID5系统的写放大开销,提高系统读写性能。本发明就可以广泛在数据存储技术领域中应用。

Description

一种数据存储方法、设备、计算机程序及存储介质
技术领域
本发明涉及一种数据存储技术领域,特别是关于一种基于新型瓦记录磁盘的数据存储方法、设备、计算机程序及存储介质。
背景技术
磁盘:即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、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的处理方法。此外,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行将通用计算机转换为用于执行在此示出的处理的专用计算机。
本领域普通技术人员可以意识到,结合上述所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。

Claims (10)

1.一种数据存储方法,其特征在于包括以下步骤:
用于处理用户读写请求的步骤;
用于实现地址转换的步骤;
用于缓存数据块请求的步骤;
用于存储用户数据的步骤。
2.如权利要求1所述数据存储方法,其特征在于:处理读请求时,包括以下步骤:
S11:接受读请求;
S12:将读请求的逻辑地址转换为数据块的地址;
S13:判断是否命中缓冲区,若发生缓存命中,则从缓冲区中读取,否则从SMR中读取,并返回步骤S11。
3.如权利要求1所述数据存储方法,其特征在于:处理写请求时,包括以下步骤:
S21:接受写请求;
S22:将写请求进行地址转换,同时产生数据块的地址和校验块的地址;
S23:判断块类型,若为校验块则直接写入SMR,并返回步骤S21;若为数据块则进入步骤S24;
S24:判断是否命中缓冲区,若命中则在缓冲区中原位更新,并返回步骤S21;否则进入步骤S25;
S25:判断缓冲区是否已满,如果缓冲区已满,将执行垃圾回收过程;若缓冲区不满时或垃圾回收完成后则直接写入缓冲区。
4.如权利要求2或3所述数据存储方法,其特征在于:所述步骤S12和步骤S22中,具体转换方法为:把每块磁盘内校验块所在的位置上移至可覆盖写磁道,其余数据块按地址从小到大的顺序依次排布在磁盘内。
5.如权利要求4所述数据存储方法,其特征在于:需要保证RAID中的磁盘数量与Band内磁道数量相同。
6.如权利要求2所述数据存储方法,其特征在于:所述步骤S13中,具体判断执行方法为:
S131:判断读请求对应的数据块是否在可覆盖写区域内,如果是,则直接从可覆盖写缓冲区中读取相应数据;否则,再判断是否位于叠瓦式区域内,如果是,则从叠瓦式区域内读取;
S132:如果在持久化缓冲区的两个区域都找不到对应的数据块,未发生缓存命中,则直接从相应的数据块地址中读取数据。
7.如权利要求3所述数据存储方法,其特征在于:所述步骤S25中,垃圾回收过程为:
(1)可覆盖写区域垃圾回收:首先挑选出叠瓦式区域的一个空的Band,如果整个叠瓦式区域已满,那么将执行叠瓦式区域垃圾回收,具体方法为:
在该Band剩余空间允许的条件下,挑选出包含可覆盖写区域内最多数据块的Band号作为淘汰号;将淘汰号对应的数据块依次移动至该Band内,重复该过程,直到挑选不出淘汰号;
(2)叠瓦式区域垃圾回收:首先统计叠瓦式区域内各数据块的Band号分布情况,每次都选取包含最多数据块的Band号作为淘汰号,然后将所有包含淘汰号的叠瓦式区域内的Band的全部数据块移动至瓦记录对应的区域;
(3)当缓冲区未满或完成垃圾回收后,则将相应的写请求写入可覆盖写区域的空闲位置。
8.一种数据存储设备,其特征在于:包括操作系统、地址映射模块、持久化缓冲区和瓦记录磁盘组;所述操作系统用于处理用户读写请求;所述地址映射模块用于实现地址转换;所述持久化缓冲区用于缓存数据块请求;所述瓦记录磁盘组用于存储用户数据。
9.一种计算机程序,其特征在于:包括有计算机程序指令,所述程序指令被处理器执行时用于实现权利要求1-7中任一项所述数据存储方法对应的步骤。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质上存储有计算机程序指令,所述程序指令被处理器执行时用于实现权利要求1-7中任一项所述数据存储方法对应的步骤。
CN202010348479.3A 2020-04-28 2020-04-28 一种数据存储方法、设备、计算机程序及存储介质 Active CN111580752B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010348479.3A CN111580752B (zh) 2020-04-28 2020-04-28 一种数据存储方法、设备、计算机程序及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010348479.3A CN111580752B (zh) 2020-04-28 2020-04-28 一种数据存储方法、设备、计算机程序及存储介质

Publications (2)

Publication Number Publication Date
CN111580752A true CN111580752A (zh) 2020-08-25
CN111580752B CN111580752B (zh) 2023-09-26

Family

ID=72122533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010348479.3A Active CN111580752B (zh) 2020-04-28 2020-04-28 一种数据存储方法、设备、计算机程序及存储介质

Country Status (1)

Country Link
CN (1) CN111580752B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023284753A1 (zh) * 2021-07-12 2023-01-19 杭州海康威视数字技术股份有限公司 基于smr硬盘的raid创建、针对raid的数据写入及raid恢复方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101566924A (zh) * 2008-04-23 2009-10-28 中兴通讯股份有限公司 一种磁盘阵列的数据读写方法
CN102184079A (zh) * 2011-04-29 2011-09-14 华中科技大学 一种raid5级别磁盘阵列的写性能优化方法
CN103488583A (zh) * 2013-09-09 2014-01-01 华中科技大学 一种高性能高可靠的固态盘实现方法
US20170249969A1 (en) * 2016-02-29 2017-08-31 Microsemi Storage Solutions (U.S.), Inc. Method and system for handling random access write requests for a shingled magnetic recording hard disk drive
CN107735774A (zh) * 2015-05-05 2018-02-23 华为技术有限公司 一种smr感知只追加文件系统
CN109697033A (zh) * 2018-12-19 2019-04-30 中国人民解放军国防科技大学 瓦记录磁盘感知的存储缓存方法及系统
CN110515859A (zh) * 2019-07-09 2019-11-29 杭州电子科技大学 一种固态硬盘读写请求并行处理方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101566924A (zh) * 2008-04-23 2009-10-28 中兴通讯股份有限公司 一种磁盘阵列的数据读写方法
CN102184079A (zh) * 2011-04-29 2011-09-14 华中科技大学 一种raid5级别磁盘阵列的写性能优化方法
CN103488583A (zh) * 2013-09-09 2014-01-01 华中科技大学 一种高性能高可靠的固态盘实现方法
CN107735774A (zh) * 2015-05-05 2018-02-23 华为技术有限公司 一种smr感知只追加文件系统
US20170249969A1 (en) * 2016-02-29 2017-08-31 Microsemi Storage Solutions (U.S.), Inc. Method and system for handling random access write requests for a shingled magnetic recording hard disk drive
CN109697033A (zh) * 2018-12-19 2019-04-30 中国人民解放军国防科技大学 瓦记录磁盘感知的存储缓存方法及系统
CN110515859A (zh) * 2019-07-09 2019-11-29 杭州电子科技大学 一种固态硬盘读写请求并行处理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023284753A1 (zh) * 2021-07-12 2023-01-19 杭州海康威视数字技术股份有限公司 基于smr硬盘的raid创建、针对raid的数据写入及raid恢复方法

Also Published As

Publication number Publication date
CN111580752B (zh) 2023-09-26

Similar Documents

Publication Publication Date Title
KR101910840B1 (ko) 동적 그래뉼기반 매개 스토리지
KR101678868B1 (ko) 플래시 주소 변환 장치 및 그 방법
US8788876B2 (en) Stripe-based memory operation
US9514055B2 (en) Distributed media cache for data storage systems
KR100226614B1 (ko) 직접 액세스 저장장치상의 압축된 데이터에 대한 내장디렉토리 레코드 및 압축데이터에 대한 디렉토리 정보 유지방법
CN101916173B (zh) 一种基于raid的数据读写方法及其系统
US10037149B2 (en) Read cache management
US11226760B2 (en) Using data rebuilding to support large segments
JP2008204041A (ja) ストレージ装置及びデータ配置制御方法
CN106548789A (zh) 用于操作叠瓦式磁记录设备的方法和装置
US11334277B2 (en) Issuing efficient writes to erasure coded objects in a distributed storage system with two tiers of storage
US11334276B2 (en) Using segment pre-allocation to support large segments
US11467746B2 (en) Issuing efficient writes to erasure coded objects in a distributed storage system via adaptive logging
WO2018188618A1 (zh) 固态硬盘访问
CN106293543A (zh) 一种基于捎带回收的瓦记录raid写顺序化方法及装置
US9122416B2 (en) Mainframe storage apparatus that utilizes thin provisioning
CN118051179A (zh) 用于使用多个分区的分区命名空间存储的技术
CN111580752B (zh) 一种数据存储方法、设备、计算机程序及存储介质
CN107728943B (zh) 一种延迟产生校验光盘的方法及其对应的数据恢复方法
US11625370B2 (en) Techniques for reducing data log recovery time and metadata write amplification
US20230325119A1 (en) System and method for performing data read-write operations in zoned storage devices
CN107608626B (zh) 一种基于ssd raid阵列的多级缓存及缓存方法
US20090187719A1 (en) Data backup method for logical volume manager
US20150199236A1 (en) Multi-level disk failure protection
CN101739308A (zh) 映像文件的生成方法及其存放系统

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