CN116974458A - 用于处理数据的方法、电子设备和计算机程序产品 - Google Patents
用于处理数据的方法、电子设备和计算机程序产品 Download PDFInfo
- Publication number
- CN116974458A CN116974458A CN202210431612.0A CN202210431612A CN116974458A CN 116974458 A CN116974458 A CN 116974458A CN 202210431612 A CN202210431612 A CN 202210431612A CN 116974458 A CN116974458 A CN 116974458A
- Authority
- CN
- China
- Prior art keywords
- disk
- pool
- data
- blocks
- block
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012545 processing Methods 0.000 title claims abstract description 35
- 238000004590 computer program Methods 0.000 title claims abstract description 15
- 238000012546 transfer Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 31
- 238000007726 management method Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 8
- 238000003491 array Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000013507 mapping Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101100478969 Oryza sativa subsp. japonica SUS2 gene Proteins 0.000 description 1
- 101100004663 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) BRR2 gene Proteins 0.000 description 1
- 101100504519 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GLE1 gene Proteins 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Abstract
本公开的实施例涉及用于处理数据的方法、电子设备和计算机程序产品。该方法包括接收针对用于存储数据的逻辑块的访问请求,访问请求包括针对逻辑块的逻辑块地址。该方法还包括如果确定逻辑块地址在已用地址空间中,从多个索引条目确定与逻辑块地址相对应的第一索引条目,多个索引条目中的索引条目指示多个逻辑块在对应的池条带上的布置,其中池条带包括来自盘池中的多个盘的多个盘块并且多个逻辑块中的数据块形成针对盘阵列的至少一个数据条带。该方法还包括基于第一索引条目,从多个盘块中确定与逻辑块相对应的目标盘块。该方法还包括使用目标盘块来处理访问请求。通过该方法,提高了顺序I/O操作的处理速度,节省了时间,改进了用户体验。
Description
技术领域
本公开的实施例涉及数据存储领域,并且更具体地,涉及用于处理数据的方法、电子设备和计算机程序产品。
背景技术
随着存储技术的发展,用户越来越多的使用盘阵列来存储数据。盘阵列是由多个独立的盘按不同方式组合起来而形成的一组盘。盘阵列例如可以是独立磁盘冗余阵列(RAID),也可以是具有其他适当结构/形式的一组盘。对于用户而言,盘阵列就像是一个盘,但是其可以提供比单个硬盘更高的存储能力,并且还可以提供数据备份。盘阵列的不同组成方式被称为RAID级别(RAID Levels),如RAID 0,RAID 1,RAID 5等。
随着RAID技术的发展,人们将许多盘组成盘池(pool)。然后将盘池中的盘划分为区段,然后通过这些区段来构建盘阵列。此时对盘池数据读取和写入在盘区段级别上而不是在盘的级别上执行。例如用于创建RAID的每个盘区段大小是4GB,则对于4+1的RAID5的盘阵列,其存储容量大小为16GB。然而,在采用盘区段组成的盘阵列中还存在许多需要解决的问题。
发明内容
本公开的实施例提供一种用于处理数据的方法、电子设备和计算机程序产品。
根据本公开的第一方面,提供了一种用于处理数据的方法。该方法包括接收针对用于存储数据的逻辑块的访问请求,访问请求包括针对逻辑块的逻辑块地址。该方法还包括如果确定逻辑块地址在已用地址空间中,从多个索引条目确定与逻辑块地址相对应的第一索引条目,多个索引条目中的索引条目指示多个逻辑块在对应的池条带上的布置,池条带包括来自盘池中的多个盘的多个盘块并且多个逻辑块中的数据块形成针对盘阵列的至少一个数据条带。该方法还包括基于第一索引条目,从多个盘块中确定与逻辑块相对应的目标盘块。该方法还包括使用目标盘块来处理访问请求。
根据本公开的第二方面,提供了一种电子设备。该电子设备包括至少一个处理器;以及存储器,耦合至至少一个处理器并且具有存储于其上的指令,指令在由至少一个处理器执行时使设备执行动作,所述动作包括:接收针对用于存储数据的逻辑块的访问请求,访问请求包括针对逻辑块的逻辑块地址;如果确定逻辑块地址在已用地址空间中,从多个索引条目确定与逻辑块地址相对应的第一索引条目,多个索引条目中的索引条目指示多个逻辑块在对应的池条带上的布置,池条带包括来自盘池中的多个盘的多个盘块并且多个逻辑块中的数据块形成针对盘阵列的至少一个数据条带;基于所述第一索引条目,从多个盘块中确定与逻辑块相对应的目标盘块;以及使用目标盘块来处理访问请求。
根据本公开的第三方面,提供了一种计算机程序产品,该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行本公开的第一方面中的方法的步骤。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1图示了根据本公开的实施例的设备和/或方法可以在其中被实施的示例环境100的示意图;
图2图示了根据本公开的实施例的用于处理数据的方法200的流程图;
图3图示了根据本公开的实施例的用于盘池中逻辑块布置的示例300的示意图;
图4图示了根据本公开的实施例的增加盘后的逻辑块布置变化的示例400的示意图;
图5图示了根据本公开的实施例的增加盘后的逻辑块布置变化的示例500的示意图;
图6图示了根据本公开的实施例的逻辑块布置的示例600的示意图;
图7图示了根据本公开的实施例的池条带上的逻辑块布置的示例700的示意图;
图8图示了根据本公开的实施例的盘池中的数据移动的示例800的示意图;
图9图示了根据本公开的实施例的盘池中的数据移动的示例900的示意图;
图10图示了根据本公开的实施例的地址映射关系的示例1000的示意图;
图11图示了根据本公开的实施例的备份索引条目的示例1100的示意图;
图12图示了根据本公开的实施例的盘池结构的示例1200的示意图;
图13图示了根据本公开的实施例的盘池结构的示例1300的示意图;
图14图示了根据本公开的实施例的盘池结构的示例1400的示意图;
图15图示了适于用来实施本公开内容的实施例的示例设备1500的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
如上所述,传统方案中采用盘池中的盘区段来构建映射的RAID。映射RAID可以提供RAID保护。然而这种映射的RAID不能将用户I/O平均分配到所有磁盘。因为这种存储方式中每个条带与逻辑块地址的关系是固定的,尤其是已使用的逻辑地址已用于存储条带中的数据时,用户顺序IO只能分配到RAID宽度数的磁盘上。由于逻辑块与RAID条带的映射关系已经固定,此时即使盘池中增加了盘,也没有办法利用增加的盘来并行处理这些顺序I/O,使得顺序I/O的操作时间变长。
至少为了解决上述和其他潜在问题,本公开的实施例提出了一种用于处理数据的方法。在该方法中,管理设备接收针对用于存储数据的逻辑块的访问请求,访问请求包括针对逻辑块的逻辑块地址。如果确定逻辑块地址在已用地址空间中,则管理设备从多个索引条目确定与逻辑块地址相对应的第一索引条目,多个索引条目中的索引条目指示多个逻辑块在对应的池条带上的布置,池条带包括来自盘池中的多个盘的多个盘块并且多个逻辑块中的数据块形成针对盘阵列的至少一个数据条带。然后管理设备基于第一索引条目,从多个盘块中确定与逻辑块相对应的目标盘块,并使用目标盘块来处理访问请求。通过该方法,提高了顺序I/O操作的处理速度,节省了时间,改进了用户体验。
在本文中,术语“池条带”是指由盘池中的多个盘中的每个盘提供一个物理盘块来形成的一组盘块。该一组盘块用于存储构成针对盘阵列的至少一个条带的数据块和校验块。
下面结合图1描述根据本公开的实施例的设备和/或方法可以在其中被实施的示例环境100。如图1所示,示例环境100包括管理设备102和盘池104。管理设备102管理盘池104中的各种操作。
盘池104由存储大量数据的盘构成。盘的示例可以包括但不限于磁盘、光盘、硬盘(HDD)、固态硬盘(SSD)、高速缓存。备选地或附加地,盘池104可以包括相同类型的存储盘,也可以不同类型的存储盘。
图1中图示的盘池104具有多个盘106-0、106-1、106-2…106-M,M为正整数,为了描述方便,统称为盘106。盘池104中的每个盘均被划分为具有多个盘块,其中每个盘块的大小是相同的。每个盘上的盘块的数目可能不同,也可能相同。盘块的大小可以依据需要设置。其中盘106上的盘块用于存储数据,其被映射到提供给用户的逻辑空间中的逻辑块。
盘池104中的盘形成至少一个盘阵列。盘阵列的格式包括但不限于RAID 2、RAID3、RAID 4、RAID 5、RAID 7、RAID 10,等等。在一个示例中,盘池104具有10个盘,可以形成两个4+1RAID5盘阵列。在另一个示例中盘池中具有8个盘,可以形成一个4+1RAID5盘阵列和一个2+1RAID 5盘阵列。此外,盘池中的盘可以增加,例如原盘池具有5个盘,形成了4+1RAID5盘阵列。如果加入5个盘时,则再形成一个新的4+1RAID5盘阵列。如果加入3个盘,则再形成2+1RAID5盘阵列,此进如果再加入2个盘,可以用先前加入的3个盘和又加入的2个盘形成4+1RAID5盘阵列。上述示例仅是用于描述本公开,而非对本公开的具体限定。
盘池104还包括快速存储装置108。该快速存储装置108能够用于快速的存取数据,其存取数据通常要快于盘106。快速存储装置108可以为非易失性随机访问存储器(NVRAM)或闪存等。该快速存储装置108主要用于存储针对盘池中的池条带的索引信息。该索引信息包括多个索引条目,每个索引条目用于指示盘池中的池条带中的逻辑块的布置信息。每个索引条目通常包括池条带号、在该池条带存储的起始逻辑块的块地址、逻辑块数量的大小、,以及起始位置。逻辑块数量的大小也可替代为存储的数据量的大小。起始位置指示起始逻辑块在池条带中的位置。
管理设备102会从用户或上层应用接收对盘阵列进行各种操作的请求。例如,接收用户处理数据的I/O请求,或者在盘池中增加盘或发现损坏盘时,对盘中的数据进行转移操作等。
在一些实施例中,在对池条带进行写入后,管理设备102需要将针对池条带的索引信息存储在快速存储装置108中。当增加盘时,管理设备102通过索引信息和盘池中盘的数目来直接实现在新增加的盘上并行执行I/O操作。
通过该方法,提高了顺序I/O操作的处理速度,节省了时间,改进了用户体验。
上面结合图1描述了本公开的实施例能够在其中被实现的示例系统100的框图。下面结合图2描述根据本公开的实施例的用于处理数据的方法200的流程图。方法200可以在图1中的管理设备102及任意合适的计算设备处执行。
在框202处,接收针对用于存储数据的逻辑块的访问请求,访问请求包括针对逻辑块的逻辑块地址。例如,图1中的管理设备102可以从上层应用接收I/O操作请求,包括读操作或写操作等。管理设备102接收的访问请求中包括需要访问的逻辑块的逻辑块地址。
在框204处,如果确定逻辑块地址在已用地址空间中,从多个索引条目确定与逻辑块地址相对应的第一索引条目。其中多个索引条目中的每个索引条目指示多个逻辑块在对应的池条带上的布置。池条带包括来自盘池中的多个盘的多个盘块并且多个逻辑块中的数据块形成针对盘阵列的至少一个数据条带。
下面结合图3来描述盘池中的池条带和对应的索引条目。如图3所示,盘池中具有十个盘:盘304、盘306、盘308、盘310、盘312、盘314、盘316、盘318、盘320、盘322,也称为盘0-盘9。其中盘304、盘306、盘308、盘310、盘312形成4+1RAID5盘阵列,盘盘314、盘316、盘318、盘320、盘322也形成4+1RAID5盘阵列。
其中每个盘提供一个相同大小的盘块来形成一个池条带。呈现给用户的用于存储数据块的逻辑块被映射到池条带中的盘块。在一个池条带上存储的数据块可以构成至少一个数据条带。快速存储装置302存储池条带的索引信息。索引信息包括多个索引条目,每个索引条目用于指示一个池条带。每个索引条目包括池条带号、起始逻辑块的逻辑块地址、可存储的逻辑块的数目的大小以及起始位置。其中起始逻辑块的逻辑块地址是在该池条带中按序存储的起始逻辑块的逻辑块地址或针对该池条带的最小逻辑块址;逻辑块的数目的大小也可以替换为存储的数据量的大小;起始位置指示起始逻辑块或具有最小逻辑块地址的逻辑块在池条带中的位置。
下面结合图7具体描述索引条目。如图7所示,其示出了针对一个池条带的索引条目702,其包括与该池条带相对应的池条带号。在该池条带中映射有顺序存储数据块的逻辑块,其中针对数据块D0的逻辑块地址为1000,针对数据块D1的为逻辑块地址1001,针对数据块D2的逻辑块地址为1002,依此类推,针对数据块D7的逻辑块地址为1007。可以看出,数据块存储顺序为从左向右进行存储。当数据块D0在池条带的第5个盘块时,从该盘块开始向右顺序存储,然后再折返到池条带开始接着进行顺序存储。由于该条带中存储的第一个数据块D0对应的超始逻辑块的逻辑块地址1000。因此,在索引条目中的逻辑块地址为1000。该池条带具有存储了8个数据块的8个逻辑块,因此池索引条目中的逻辑块的数目为8。由于数据块D0在盘5上或该盘块在池条带中的第5个盘块上,因此位置标识为5,从而形成索引条目-池条带号:1000:8:5。
下面返回图2接着进行描述,在一些实施例中,由于索引条目包括位于池条带中的起始逻辑块的地址和逻辑块的数目。因此,管理设备102可以基于索引信息来查找该逻辑块地址在对应于哪个索引条目。首先管理设备102从索引信息中的多个索引条目中顺序查找索引条目。在查找每个索引条目时,基于索引条目中的起始逻辑块的地址和数目来确定与索引条目相关联的地址范围。如果确定逻辑块地址在地址范围内,将索引条目确定为第一索引条目。如果逻辑块地址不在该范围内,则查找下一个索引条目。通过上述方式,可以快速的确定出与逻辑地址相对应的索引条目。上述示例仅是用于描述本公开,而非对本公开的具体限定。
在框206处,基于第一索引条目,从多个盘块中确定与逻辑块相对应的目标盘块。例如,管理设备102用于从盘106中确定与逻辑块对应的目标盘块。
在一些实施例中,索引条目还包括起始逻辑块在池条带中的多个盘块中的位置。此时,管理设备102根据起始逻辑块地址和位置,从多个盘块中确定与访问请求中的逻辑块相对应的目标盘块。例如,通过确定该逻辑块号与起始逻辑块地址的间隔,从起始逻辑块所在的位置从按预定顺序查找与该间隔对应的盘块。参考图7,如果该逻辑块的罗辑块地址为1002,其与该条索引条目的超始逻辑块地址1000的距离为2。由于逻辑块地址1000的逻辑块在第5个盘块,则向右数2个盘块即为与逻辑地址1002相对应的盘块。上述示例仅是用于描述本公开,而非对本公开的具体限定。
在框208处,使用目标盘块来处理访问请求。在管理设备102确定了目标盘块后,对该目标盘块进行访问处理。
在一些实施例中,在该访问请求为读请求时,则读取目标盘块上的数据返给用户或上层应用。
在一些实施例中,在访问请求是写请求时,将数据写入目标盘块以形成数据块。此时,还获取池条带中的相关盘块上的相关数据块。然后基于该数据块以及池条带中的相关盘块上的相关数据块,生成校验数据块。然后存储校验数据块以更新数据条带。参见图3,如果重新存储了池条带0中的数据块D2,则还获取数据块D0、D1和D3,重新计算校验块P。然后将重新计算的校验块P进行存储。如果该写请求还重新写入了D0、D1和D3,则利用重新存储的D0、D1、D2和D3来重成校验块P。上述示例仅是用于描述本公开,而非对本公开的具体限定。
在一些实施例中,在访问请求为写请求,且访问请求中的逻辑块地址在未使用地址空间时,管理设备102从未使用的池条带中确定可用于逻辑块的盘块。然后将将数据写入盘块以形成数据块。管理设备102还基于数据块结合其他写入的数据块,在新池条带中形成针对盘阵列的数据条带。然后基于逻辑块在新池条带中的布置更新针对新池条带的新索引条目。例如如图3所示,如果写请求是在未使用过的逻辑空间中写入数据,且逻辑空间对应于池条带M,则在池条带M的盘块中写入数据,然后结合与该盘块相关联的其他盘块的数据块形成条带。
在一些实施例,盘池会增加多个盘以形成存储空间更大的盘池。原来盘池中的第一组盘和新加入的第二个多个盘共同构成了新盘池。如果在盘池中增加第二组盘之后接收到写请求,其中写请求包括用于存储数据的多个逻辑块的多个有序逻辑块地址,则需要确定多个有序逻辑块地址是否在已使用的地址空间中。如果该多个有序逻辑地块址不在已使用的地址空间中,则表明这些逻辑块地址是新分配的逻辑空间。此时在写入数据时,可以在确定好第一个有序逻辑地块地址对应的盘块后,从该盘块将数据顺序写入来自第一组盘和第二组盘中的盘块形成的池条带。
如图4所示,旧盘池具有存储池条带索引信息的快速存储设备402和盘404、406、408、410和412。其中盘404、406、408、410和412用来形成RAID4+1盘阵列。因此,池条带中的来自五个盘的五个盘块形成RAID条带。后来增加了新的盘414、416、418、420和422形成新盘池。增加的5个盘也形成4+1RAID 5盘阵列。因此,新盘池中的池条带可形成两个RAID条带。如果新的写请求所需要多个逻辑块地址的第一逻辑块地址对应于池条带2。则在该池条带中写入数据形成数据块D8,则依据顺序写入多个数据块。此时池条带的大小已由5个盘块变为10个盘块,因此,可以顺序写入数据到该池条带以及下面的池条带。在写完每个池条带后更新池条带的索引条目。
在一些实施例中,在写操作是重写原有逻辑块时,即写请求中的多个有序逻辑块地址在已使用地址空间中,则管理设备102从多个索引条目确定与多个有序逻辑块地址中的第一有序逻辑块地址相对应的第二索引条目。此时管理设备102还要根据第一组盘和第二组盘,来确定与第二索引条目相对应的目标池条带中盘块的总数目。接下来基于第二索引条目和总数目,确定目标池条带中可用于多个逻辑块中的盘块的参考数目。然后将数据按序存储在目标池条带中的参考数目的盘块中。最后更新所述第二索引条目和目标池条带的下一池条带的索引条目。下面参考图5详细描述上述过程。
图5示出了根据本公开的实施例的增加盘后的逻辑块布置变化的示例500的示意图。如图5所示,旧盘池具有存储池条带索引信息的快速存储设备502和盘504、506、508、510和512。其中盘504、506、508、510和512用来形成4+1的RAID 5盘阵列。因此,池条带中的来自五个盘的五个盘块形成RAID条带。后来增加了新的盘514、516、518、520和522形成新盘池。增加的5个盘形成4+1RAID5盘阵列。因此,新盘池中的池条带可形成两个RAID条带。如果写请求是重写之前写入的数据D0-D15。此时,管理设备102接收到针对D0-D15的多个逻辑块地址后,查找对应于D0的逻辑块地址对应的索引条目。然后确定D0在盘504上。管理设备还会确定此时盘的总数目变为10个,然后确定出可以在池条带应用的逻辑块的数目。然后将数据顺序写入池条带0上的参考数目的盘块中。可以看出在顺序写入D0、D1、D2和D3后,还顺序写入数据D4-D7。写完这些数据后更新池条带0的索引条目。接下来更新池条带1的索引条目,由于原池条带1中的对应的逻辑块的数据已写入新加入盘后的池条带0。因此,将池条带1的索引条目置为无效,以在后续处理后将其用于作为新的空闲条带来存储数据。然后接着查找到数据D8所在的池条带,继续写入数据D8-D15,更新条带2的索引条目,并将条带3的索引条目置为无效。以这种方式重写数据,可以直接利用新增加的盘来写入数据,提高了数据写入的并行性,加快了顺序I/O的处理。
在一些实施例中,如果新增加的盘不是5个,而是3个,形成RAID 2+1的盘阵列。此时在原池条带2中的数据没有被全部写入池条带0,例如只写了条带1中的数据块D4和D5。则写完池条带0之后,更新完条带0的索引条目后,还需要更新条带1的索引条目。将针对池条带1的索引条目中的逻辑块地址更新为D6对应的逻辑块地址,并将大小由4调整为2,超始地址由0调整为3,对应于相应的物理块在池条带中的位置3。上述示例仅是用于描述本公开,而非对本公开的具体限定。
通过上述方法,提高了顺序I/O操作的处理速度,节省了时间,改进了用户体验
上面结合图2-5和图7描述了处理数据的过程,下面结合图6图示了根据本公开的实施例的逻辑块布置的示例600的示意图;
在图6中,池条带中存储了8个数据块D0-D7,其起始逻辑块的地址为0,且起始逻辑块位于第0个盘块。因此,池条带的索引条目为:池条带0:0:8:0。由于第二池条带中没有存储数据,因此其池条带索引条目被置为池条带1:N:0:0,其中N为最大值或任意合适的值,以用于以后的使用。池条带2中存储了6个数据块D8-D13,且超始逻辑块的逻辑地址为8,超始位置为0,因此,池条带2的索引条目为池条带2:8:6:0。池条带3中存储了2个数据块D14和D15,超始逻辑块的逻辑地址为14,超始位置为3,因此,索引条目为池条带3:14:2:3。
在一些实施例中,在盘池中增加第二组盘之后,为了提高访问盘的并行性,需要将数据平均分布到所有盘中。因此,如果不存在访问操作时,对盘池中的数据进行转移以将数据均匀存储于盘池中的第一组盘和第二组盘中。如图8所示,其示出了根据本公开的实施例的盘池中的数据移动的示例800的示意图。旧盘池中存在数据块D0-Dn+3。加入新盘后,通过移动数据将数据分配到所有盘上,并且在所有盘上形成池条带的新增空闲空间802以用于并行处理访问操作。
在一些实施例中,在移动数据的过程中,可以对盘池中的池条带中存储的数据进行向上移动或向下移动来对盘池中的数据进行转移。如图9所示,其示出了根据本公开的实施例的盘池中的数据移动的示例900的示意图。在图9中,在加入了新盘后,对与区域924、926、928和930中存储在原盘中的部分数据进行向上移动或向下移动到新加入的盘中,形成了图9中的旧的线性空间和扩展的线性空间。旧线性空间用于存储盘上的数据,扩展的线性空间作为新增加的空间映射到存储器索引中以呈现给上层应用。通过该方式,可以减少移动的数据量,并且减少磁头抖动,提高了数据转移效率。
如图10进一步图示了根据本公开的实施例的地址映射关系。在该映射关系的示例1000中,存储器索引1002用于反映哪些池条带对应的空间已被使用,哪些池条带对应的空间未被使用。例如第一索引器索引1004映射到索引条目1010至索引条目1012之间的所有索引条目,其可以指示已使用的连续逻辑空间,对于第二存储器索引1006映射到索引条目1018至索引条目1020之间的所有索引条目,其指示已使用的连续逻辑空间。对于第三存储器索引1008,其映射到索引条目1014至索引条目1016之间的所有索引条目,其指示变成空闲未被使用的逻辑空间。在通过存储器索引呈现给上层空间时,使用逻辑空间分配在已使用的逻辑空间后面,而在实际的盘上,可能如图10所示未使用的逻辑空间可能布置在盘中存储数据的数据区域之间。
在一些实施例中,为了保证存储的索引条目在存储装置1102损坏时不影响盘池的操作,可以将与池条带相对应的索引条目存储到池条带的盘块中。
如图11所示,其图示了根据本公开的实施例的备份索引条目的示例1100。池条带0的索引条目在池条带0的每个存储有数据的盘块中具有备份。如在池条带1仅存储数据块D0-D3时,在D0-D3以校验块P中存储有池条带0的索引条目。备选地或附加地,索引条目中具有时间戳,用于指示索引条目的备份时间。例如,一开始存储D0-D3以及校验块P时的时间戳为4,则索引条目为1:0X10:4:0:4。由于只是将数据块D4-D7从池条带1移动到了池条带0,因此,在调整索引条目后在D4-D7及P中存储新的索引条目,然后将时间戳标记为5。这样在查找备份的索引条目时,仅需要查找时间戳最新的索引条目。在将数据块D4-D7从池条带1移动到了池条带0后,将针对条带1的索引条目进行设置以使其形成未分配逻辑块的池条带。
在一些实施例中,盘池中的多个盘各自保留预定大小的空闲空间。如图12所示,其图示了根据本公开的实施例的盘池结构的示例1200的示意图。盘池中的每个盘保留预定大小的空闲空间形成空闲区域1202,其中盘0-盘4的可使用部分开成4+1RAID 5区域1204,盘5-盘9的可使用部分开成4+1RAID 5区域1206。盘10-盘12形成2+1RAID 5区域1208。如果盘池中的盘出现故障,将存储在故障盘中的数据块恢复到盘池中的正在使用的盘中的空闲空间中。如图12中所示的盘7出现故障,则其数据块1210、1212、1214、1216存储在到盘0到盘3中。在替换新盘或盘7恢复后把存储在空闲区域中的数据再转移动这些盘上。
在一些实施例中,盘池中的盘的大小并不能一定都相同,对于所有的盘可以以最小盘容量划分为第一区域,例如图13中的1304区域,来构造盘阵列以及池条带。对于具有较大盘容量的盘,利用多余的容量再构造合适的盘阵列及池条带,如图13中的区域1306。
在一些实施例中,将具有相同类型的盘依据需要数据分成多个RAID弹性集合,例中对于SSD可以选择25个盘RAID弹性集合的最大盘数。对于HDD,可以选择65个盘作为最大RAID弹性集合的最大盘数。在每个RAID弹性集合设置池条带。在不同的RAID弹性集合中设置不同的池条带。如图14所示,具有两个RAID弹性集合RSS0(1402)和RSS1(1404)。上述示例仅是用于描述本公开,而非对本公开的具体限定。
图15示出了可以用来实施本公开的实施例的示例设备1500的示意性框图。图1中的管理设备102可以利用设备1500来实现。如图所示,设备1500包括中央处理单元(CPU)1501,其可以根据存储在只读存储器(ROM)1502中的计算机程序指令或者从存储单元1508加载到随机访问存储器(RAM)1503中的计算机程序指令,来执行各种适当的动作和处理。在RAM 1503中,还可存储设备1500操作所需的各种程序和数据。CPU 1501、ROM 1502以及RAM1503通过总线1504彼此相连。输入/输出(I/O)接口1505也连接至总线1504。
设备1500中的多个部件连接至I/O接口1505,包括:输入单元1506,例如键盘、鼠标等;输出单元1507,例如各种类型的显示器、扬声器等;存储页面1508,例如磁盘、光盘等;以及通信单元1509,例如网卡、调制解调器、无线通信收发机等。通信单元1509允许设备1500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200,可由处理单元1501执行。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1502和/或通信单元1509而被载入和/或安装到设备1500上。当计算机程序被加载到RAM1503并由CPU 1501执行时,可以执行上文描述的方法200的一个或多个动作。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (21)
1.一种用于处理数据的方法,包括:
接收针对用于存储数据的逻辑块的访问请求,所述访问请求包括针对所述逻辑块的逻辑块地址;
如果确定所述逻辑块地址在已用地址空间中,从多个索引条目确定与所述逻辑块地址相对应的第一索引条目,所述多个索引条目中的索引条目指示多个逻辑块在对应的池条带上的布置,所述池条带包括来自盘池中的多个盘的多个盘块并且所述多个逻辑块中的数据块形成针对盘阵列的至少一个数据条带;
基于所述第一索引条目,从所述多个盘块中确定与所述逻辑块相对应的目标盘块;以及
使用所述目标盘块来处理所述访问请求。
2.根据权利要求1所述的方法,其中所述索引条目包括位于所述池条带中的起始逻辑块的地址和逻辑块的数目;
其中确定所述第一索引条目包括:
基于所述起始逻辑块的地址和所述数目,确定与所述索引条目相关联的地址范围;以及
如果确定所述逻辑块地址在所述地址范围内,将所述索引条目确定为所述第一索引条目。
3.根据权利要求2所述的方法,其中所述索引条目还包括所述起始逻辑块在所述池条带中的所述多个盘块中的位置;
其中确定所述目标盘块包括:
基于所述起始逻辑块地址和所述位置,从所述多个盘块中确定与所述逻辑块相对应的目标盘块。
4.根据权利要求1所述的方法,其中所述访问请求是写请求,其中使用所述目标盘块来处理所述访问请求包括:
将所述数据写入所述目标盘块以形成数据块;
基于所述数据块以及所述池条带中的相关盘块上的相关数据块,生成校验数据块;以及
存储所述校验数据块以更新所述数据条带。
5.根据权利要求4所述的方法,还包括:
如果确定所述逻辑块地址在未使用地址空间中,基于所述多个盘,确定可用于所述逻辑块的新池条带;
从所述新池条带中确定可用于所述逻辑块的盘块;
将数据写入所述盘块以形成数据块;
基于所述数据块,在所述新池条带中形成针对盘阵列的数据条带;以及
基于所述逻辑块在所述新池条带中的布置更新针对所述新池条带的新索引条目。
6.根据权利要求1所述的方法,其中所述多个盘是第一组盘,还包括:
响应于在盘池中增加第二组盘之后接收到写请求,所述写请求包括用于存储数据的多个逻辑块的多个有序逻辑块地址;
如果确定所述多个有序逻辑块地址在已使用地址空间中,从多个索引条目确定与所述多个有序逻辑块地址中的第一有序逻辑块地址相对应的第二索引条目;
基于所述第一组盘和所述第二组盘,确定与所述第二索引条目相对应的目标池条带中盘块的总数目;
基于所述第二索引条目和所述总数目,确定所述目标池条带中可用于所述多个逻辑块中的逻辑块的参考数目;
将数据按序存储在所述目标池条带中的所述参考数目的盘块中;以及
基于所述存储更新所述第二索引条目和所述目标池条带的下一池条带的索引条目。
7.根据权利要求6所述的方法,还包括:
在所述盘池中增加所述第二组盘之后,如果确定不存在访问操作,对所述盘池中的数据进行转移以将所述数据均匀存储于所述盘池中的所述第一组盘和所述第二组盘中。
8.根据权利要求7所述的方法,其中对所述盘池中的数据进行转移包括:
对盘池中的池条带中存储的数据进行向上移动或向下移动来对盘池中的数据进行转移。
9.根据权利要求1所述的方法,还包括:
将与所述池条带相对应的索引条目存储到所述池条带的盘块中。
10.根据权利要求1中所述的方法,其中所述盘池中的多个盘各自保留预定大小的空闲空间;所述方法还包括:
响应于所述盘池中的盘故障,将存储在所述故障盘中的数据块恢复到所述盘池中的正在使用的盘中的所述空闲空间中。
11.一种电子设备,包括:
至少一个处理器;以及
存储器,耦合至所述至少一个处理器并且具有存储于其上的指令,所述指令在由所述至少一个处理器执行时使所述设备执行动作,所述动作包括:
接收针对用于存储数据的逻辑块的访问请求,所述访问请求包括针对所述逻辑块的逻辑块地址;
如果确定所述逻辑块地址在已用地址空间中,从多个索引条目确定与所述逻辑块地址相对应的第一索引条目,所述多个索引条目中的索引条目指示多个逻辑块在对应的池条带上的布置,所述池条带包括来自盘池中的多个盘的多个盘块并且所述多个逻辑块中的数据块形成针对盘阵列的至少一个数据条带;
基于所述第一索引条目,从所述多个盘块中确定与所述逻辑块相对应的目标盘块;以及
使用所述目标盘块来处理所述访问请求。
12.根据权利要求11所述的电子设备,其中所述索引条目包括位于所述池条带中的起始逻辑块的地址和逻辑块的数目;
其中确定所述第一索引条目包括:
基于所述起始逻辑块的地址和所述数目,确定与所述索引条目相关联的地址范围;以及
如果确定所述逻辑块地址在所述地址范围内,将所述索引条目确定为所述第一索引条目。
13.根据权利要求12所述的电子设备,其中所述索引条目还包括所述起始逻辑块在所述池条带中的所述多个盘块中的位置;
其中确定所述目标盘块包括:
基于所述起始逻辑块地址和所述位置,从所述多个盘块中确定与所述逻辑块相对应的目标盘块。
14.根据权利要求11所述的电子设备,其中所述访问请求是写请求,其中使用所述目标盘块来处理所述访问请求包括:
将所述数据写入所述目标盘块以形成数据块;
基于所述数据块以及所述池条带中的相关盘块上的相关数据块,生成校验数据块;以及
存储所述校验数据块以更新所述数据条带。
15.根据权利要求14所述的电子设备,所述动作还包括:
如果确定所述逻辑块地址在未使用地址空间中,基于所述多个盘,确定可用于所述逻辑块的新池条带;
从所述新池条带中确定可用于所述逻辑块的盘块;
将数据写入所述盘块以形成数据块;
基于所述数据块,在所述新池条带中形成针对盘阵列的数据条带;以及
基于所述逻辑块在所述新池条带中的布置更新针对所述新池条带的新索引条目。
16.根据权利要求11所述的电子设备,其中所述多个盘是第一组盘,所述动作还包括:
响应于在盘池中增加第二组盘之后接收到写请求,所述写请求包括用于存储数据的多个逻辑块的多个有序逻辑块地址;
如果确定所述多个有序逻辑块地址在已使用地址空间中,从多个索引条目确定与所述多个有序逻辑块地址中的第一有序逻辑块地址相对应的第二索引条目;
基于所述第一组盘和所述第二组盘,确定与所述第二索引条目相对应的目标池条带中盘块的总数目;
基于所述第二索引条目和所述总数目,确定所述目标池条带中可用于所述多个逻辑块中的逻辑块的参考数目;
将数据按序存储在所述目标池条带中的所述参考数目的盘块中;以及
基于所述存储更新所述第二索引条目和所述目标池条带的下一池条带的索引条目。
17.根据权利要求16所述的电子设备,所述动作还包括:
在所述盘池中增加所述第二组盘之后,如果确定不存在访问操作,对所述盘池中的数据进行转移以将所述数据均匀存储于所述盘池中的所述第一组盘和所述第二组盘中。
18.根据权利要求17所述的电子设备,其中对所述盘池中的数据进行转移包括:
对盘池中的池条带中存储的数据进行向上移动或向下移动来对盘池中的数据进行转移。
19.根据权利要求11所述的电子设备,所述动作还包括:
将与所述池条带相对应的索引条目存储到所述池条带的盘块中。
20.根据权利要求11中所述的电子设备,其中所述盘池中的多个盘各自保留预定大小的空闲空间;所述动作还包括:
响应于所述盘池中的盘故障,将存储在所述故障盘中的数据块恢复到所述盘池中的正在使用的盘中的所述空闲空间中。
21.一种计算机程序产品,所述计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至10中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210431612.0A CN116974458A (zh) | 2022-04-22 | 2022-04-22 | 用于处理数据的方法、电子设备和计算机程序产品 |
US17/993,263 US20230342054A1 (en) | 2022-04-22 | 2022-11-23 | Method, electronic device and computer program product for processing data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210431612.0A CN116974458A (zh) | 2022-04-22 | 2022-04-22 | 用于处理数据的方法、电子设备和计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116974458A true CN116974458A (zh) | 2023-10-31 |
Family
ID=88415230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210431612.0A Pending CN116974458A (zh) | 2022-04-22 | 2022-04-22 | 用于处理数据的方法、电子设备和计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230342054A1 (zh) |
CN (1) | CN116974458A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113742253B (zh) * | 2020-05-29 | 2023-09-01 | 超聚变数字技术有限公司 | 存储介质管理方法、装置、设备以及计算机可读存储介质 |
-
2022
- 2022-04-22 CN CN202210431612.0A patent/CN116974458A/zh active Pending
- 2022-11-23 US US17/993,263 patent/US20230342054A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230342054A1 (en) | 2023-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10140041B1 (en) | Mapped RAID (redundant array of independent disks) in a data storage system with RAID extent sub-groups that are used to perform drive extent allocation and data striping for sequential data accesses to a storage object | |
US10606491B2 (en) | Providing redundancy in a virtualized storage system for a computer system | |
US10146447B1 (en) | Mapped RAID (redundant array of independent disks) in a data storage system with drive extents allocated to individual RAID extents from individual sub-groups of storage made up of ranges of logical block addresses defined across a group of hard disk drives | |
AU2012294218B2 (en) | Logical sector mapping in a flash storage array | |
AU2012296510B2 (en) | Mapping in a storage system | |
US10528520B2 (en) | Snapshot management using heatmaps in a large capacity disk environment | |
US8850145B1 (en) | Managing consistency groups in storage systems | |
KR20130083356A (ko) | 메타데이터 지속성을 위한 방법 | |
CN109902034B (zh) | 快照创建方法、装置、电子设备及机器可读存储介质 | |
CN113220242B (zh) | 存储管理方法、设备和计算机可读介质 | |
US11429498B2 (en) | System and methods of efficiently resyncing failed components without bitmap in an erasure-coded distributed object with log-structured disk layout | |
US11256447B1 (en) | Multi-BCRC raid protection for CKD | |
CN112748849A (zh) | 用于存储数据的方法、设备和计算机程序产品 | |
US20230342054A1 (en) | Method, electronic device and computer program product for processing data | |
US10705853B2 (en) | Methods, systems, and computer-readable media for boot acceleration in a data storage system by consolidating client-specific boot data in a consolidated boot volume | |
CN111124257B (zh) | 用于管理独立盘冗余阵列的方法、设备和计算机程序产品 | |
CN111857557B (zh) | Raid类型转换的方法、设备和计算机程序产品 | |
US11874795B2 (en) | Targetless snapshot virtual replication data pointer table | |
US11449237B2 (en) | Targetless snapshot system replication data pointer table | |
US11513712B2 (en) | Method for storage management, device and computer program product | |
US11188425B1 (en) | Snapshot metadata deduplication | |
WO2019026221A1 (ja) | ストレージシステム及びストレージ制御方法 | |
CN113722131A (zh) | 用于促进存储设备中的快速崩溃恢复的方法和系统 | |
US8935488B2 (en) | Storage system and storage control method | |
CN111124746A (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 |