CN117472292A - 独立磁盘冗余阵列的数据重构方法及存储系统、控制器 - Google Patents
独立磁盘冗余阵列的数据重构方法及存储系统、控制器 Download PDFInfo
- Publication number
- CN117472292A CN117472292A CN202311822662.2A CN202311822662A CN117472292A CN 117472292 A CN117472292 A CN 117472292A CN 202311822662 A CN202311822662 A CN 202311822662A CN 117472292 A CN117472292 A CN 117472292A
- Authority
- CN
- China
- Prior art keywords
- data
- block
- stripe
- fault
- reconstructed
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000004422 calculation algorithm Methods 0.000 claims description 68
- 238000004590 computer program Methods 0.000 claims description 31
- 238000005192 partition Methods 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种独立磁盘冗余阵列的数据重构方法及存储系统、控制器、存储介质,包括:响应于启动独立磁盘冗余阵列的数据重构任务;在识别出当前条带需要被重构时,从元数据结构中读取当前条带的热备块的标识信息,元数据结构中包含第一标识和/或第二标识,第一标识用于标识对应热备块写有数据,第二标识用于标识对应热备块未写有数据;在识别到热备块的标识信息为第一标识时,从当前条带的热备块读取备份数据;根据读取到的备份数据对故障盘对应的分块进行数据重构处理。上述方法能够在对条带执行RAID重构任务时,避免写前重构操作,节省用户写IO数据的时间。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种独立磁盘冗余阵列的数据重构方法及存储系统、控制器、存储介质。
背景技术
RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)作为一种冗余阵列,在磁盘发生故障时,为了保护数据,会启动RAID重构任务,利用正常的数据块和校验块把每一个条带上坏块的数据内容通过异或计算重新构建数据并写入热备块。如果一个条带已经被重构过,RAID就不会从坏块位置读取数据,而是从热备块读取数据,由此有效避免处理写IO数据时无法从坏盘上读取数据的情况。
对于RAID重构任务还没有对一个条带进行重构但用户却写到了这个条带的情况,当前现有技术采用写前重构的方式处理。此种方式,RAID处理用户写IO数据前,需要先重构条带的坏块位置的数据,然后再处理用户写IO数据,这将导致在有重构任务时处理写IO数据速度比正常情况低。例如处理一个用户写IO数据耗时1毫秒左右,重构一个条带耗时3毫秒左右,但因为有写前重构,导致原本1毫秒左右处理完的用户写IO数据,需要耗时4毫秒左右,这无疑大大降低了存储设备处理写IOPS性能,严重影响用户的使用体验。
发明内容
基于此,有必要针对上述技术问题,提供一种独立磁盘冗余阵列的数据重构方法及存储系统、控制器、存储介质,能够在对条带执行RAID重构任务时,避免写前重构操作,节省用户写IO数据的时间。
一种独立磁盘冗余阵列的数据重构方法,包括:响应于启动独立磁盘冗余阵列的数据重构任务,识别当前条带是否需要被重构;在识别出当前条带需要被重构时,从元数据结构中读取当前条带的热备块的标识信息,元数据结构中包含第一标识和/或第二标识,第一标识用于标识对应热备块写有数据,第二标识用于标识对应热备块未写有数据;在识别到热备块的标识信息为第一标识时,从当前条带的热备块读取备份数据;备份数据为对当前条带的故障盘对应的分块执行数据重构处理之前接收到的故障盘对应的分块的待写入IO数据;根据读取到的备份数据对故障盘对应的分块进行数据重构处理。
在其中一个实施例中,一种独立磁盘冗余阵列的数据重构方法还包括:在启动独立磁盘冗余阵列的数据重构任务时,创建元数据结构;数据重构任务用于检测独立磁盘冗余阵列中故障盘的各个条带是否需要被重构并在任一条带需要被重构时对任一条带进行数据重构处理,元数据结构中各元数据用于表示故障盘的各个条带的热备块的标识信息且所有元数据均初始化为第二标识;在对当前条带的故障盘对应的分块执行数据重构处理之前,若接收到用户输入的故障盘对应的分块的待写入IO数据,则在当前条带的热备块写入待写入IO数据,并将元数据结构中当前条带对应的元数据修改为第一标识。
在其中一个实施例中,第一标识为比特位1,第二标识为比特位0。
在其中一个实施例中,一种独立磁盘冗余阵列的数据重构方法还包括:在对当前条带的故障盘对应的分块执行数据重构处理之后,若接收到用户输入的故障盘对应的分块的待写入IO数据,将待写入IO数据写入数据重构后的故障盘对应的分块。
在其中一个实施例中,一种独立磁盘冗余阵列的数据重构方法还包括:接收用户的数据读取请求;若数据读取请求的请求对象为当前条带的故障盘对应的分块,则识别当前条带的故障盘对应的分块是否已被重构;若故障盘对应的分块已被重构,则从已被重构的故障盘对应的分块中读取数据,向数据读取请求的请求端反馈读取到的数据。
在其中一个实施例中,一种独立磁盘冗余阵列的数据重构方法还包括:若故障盘对应的分块未被重构,则利用数据重构算法重构出故障盘对应的分块的数据,向数据读取请求的请求端反馈重构的数据。
在其中一个实施例中,利用数据重构算法重构出故障盘对应的分块的数据,向数据读取请求的请求端反馈重构的数据,包括:若当前条带的热备块的标识信息为第一标识,则从当前条带的热备块读取数据,利用数据重构算法以及读取的数据重构出故障盘对应的分块的数据,向数据读取请求的请求端反馈重构的数据;若当前条带的热备块的标识信息为第二标识,则利用数据重构算法以及非故障盘的分块中的数据重构出故障盘对应的分块的数据,向数据读取请求的请求端反馈重构的数据。
在其中一个实施例中,根据读取到的备份数据对故障盘对应的分块进行数据重构处理,包括:获取当前条带的校验块中的校验数据、当前条带的非故障盘的分块中的数据;根据备份数据、当前条带的校验数据以及当前条带的非故障盘的分块中的数据,采用数据重构算法对故障盘对应的分块进行数据重构处理。
在其中一个实施例中,根据备份数据、当前条带的校验数据以及当前条带的非故障盘的分块中的数据,采用数据重构算法对故障盘对应的分块进行数据重构处理,包括:根据异或算法对当前条带的校验数据和当前条带的非故障盘的分块中的数据进行处理,得到故障盘对应的分块发生故障前的存储的旧数据;根据异或算法对旧数据和备份数据进行处理,得到中间数据;根据异或算法对中间数据和当前条带的校验数据进行处理,得到当前条带的更新后的校验数据;根据异或算法对更新后的校验数据和当前条带的非故障盘的分块中的数据进行处理,得到重构的数据;其中数据重构算法为异或算法。
在其中一个实施例中,根据读取到的备份数据对故障盘对应的分块进行数据重构处理的步骤之后,还包括:在确认故障盘对应的分块已完成数据重构之后,将当前条带的热备块的标识信息配置为第二标识。
在其中一个实施例中,一种独立磁盘冗余阵列的数据重构方法还包括:在识别到热备块的标识信息为第二标识时,读取当前条带的非故障盘的分块的数据以及当前条带的校验块中的校验数据;基于当前条带的非故障盘的分块的数据以及当前条带的校验块中的校验数据对当前条带的故障盘的分块进行数据重构处理,并将重构的数据写入当前条带的热备块。
在其中一个实施例中,独立磁盘冗余阵列的数据重构任务用于检索独立磁盘冗余阵列的各个条带是否需要被重构;一种独立磁盘冗余阵列的数据重构方法还包括:在识别出当前条带不需要被重构时,按照设定顺序检索下一条带,并识别下一条带是否需要被重构。
一种控制器,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一项方法的步骤。
一种存储系统,包括上述控制器以及独立磁盘冗余阵列。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项的方法的步骤。
上述一种独立磁盘冗余阵列的数据重构方法及存储系统、控制器、存储介质,包括:响应于启动独立磁盘冗余阵列的数据重构任务,识别当前条带是否需要被重构;在识别出当前条带需要被重构时,从元数据结构中读取当前条带的热备块的标识信息,元数据结构中包含第一标识和/或第二标识,第一标识用于标识对应热备块写有数据,第二标识用于标识对应热备块未写有数据;在识别到热备块的标识信息为第一标识时,从当前条带的热备块读取备份数据;备份数据为对当前条带的故障盘对应的分块执行数据重构处理之前接收到的故障盘对应的分块的待写入IO数据;根据读取到的备份数据对故障盘对应的分块进行数据重构处理。因此,在RAID重构过程中,合理的复用条带的热备块,把用户写入的IO数据临时保存在热备块内,从而直接免去了写前重构的处理,把重构条带全部交由RAID的数据重构任务去处理。在保证数据一致性的同时,把数据重构任务对用户写IOPS的影响,提升RAID重构过程中处理写IO数据的性能,提高数据中心的核心竞争力。
附图说明
图1为一个实施例中的一种独立磁盘冗余阵列的数据重构方法的应用环境示意图;
图2为一个实施例中的一种独立磁盘冗余阵列的数据重构方法的流程示意图;
图3为一个实施例中的RAID处理写IO数据的示意图;
图4为一个实施例中的利用热备块的备份数据计算重构数据的示意图;
图5为一个实施例中的RAID的数据重构任务的实现流程示意图;
图6为一个实施例中的RAID的数据重构过程用户读IO数据的流程示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,在本申请的描述中,除非上下文明确要求,否则整个说明书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
还应当理解,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
需要注意的是,术语“S1”、“S2”等仅用于步骤的描述目的,并非特别指称次序或顺位的意思,亦非用以限定本申请,其仅仅是为了方便描述本申请的方法,而不能理解为指示步骤的先后顺序。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本申请提供的一种独立磁盘冗余阵列的数据重构方法,应用于如图1所示的应用环境中。如图1所示,控制器10用于执行本申请的一种独立磁盘冗余阵列的数据重构方法。独立磁盘冗余阵列(RAID)20包含多个磁盘。RAID作为一种独立冗余磁盘阵列发展至今,数据条带化和奇偶性校验是其两个主要的基本特征。数据条带化就是将用户端下发的一块连续的IO数据分割成很多分块并把它们分别存储到不同的磁盘上,如图1所示,RAID中每行表示一个条带。控制器10接收到独立磁盘冗余阵列的数据重构任务并响应于启动独立磁盘冗余阵列的数据重构任务,识别当前条带是否需要被重构,在识别出当前条带需要被重构时,从元数据结构中读取当前条带的热备块的标识信息,元数据结构中包含第一标识和/或第二标识,第一标识用于标识对应热备块写有数据,第二标识用于标识对应热备块未写有数据,在识别到热备块的标识信息为第一标识时,从当前条带的热备块读取备份数据;备份数据为对当前条带的故障盘对应的分块执行数据重构处理之前接收到的故障盘对应的分块的待写入IO数据,根据读取到的备份数据对故障盘对应的分块进行数据重构处理。其中,当前条带可以是图1所示的条带1、条带2、条带3、条带4或条带5。相应的,热备块对应为分块B1、分块B2、分块B3、分块B4或分块B5。相应的,故障盘对应为磁盘1、磁盘2、磁盘3、磁盘4、磁盘5或磁盘6。
在一个实施例中,本申请提供一种独立磁盘冗余阵列的数据重构方法。如图2所示,一种独立磁盘冗余阵列的数据重构方法包括如下步骤:
S202,响应于启动独立磁盘冗余阵列的数据重构任务,识别当前条带是否需要被重构。
本实施例中,独立磁盘冗余阵列中出现磁盘故障时,将会启动独立磁盘冗余阵列的数据重构任务。独立磁盘冗余阵列的数据重构任务用于检索出现磁盘故障时需要数据重构的条带,并对条带上对应的分块进行数据重构。启动独立磁盘冗余阵列的数据重构任务之后,控制器识别独立磁盘冗余阵列的各条带,并判断各条带是否需要做数据重构。识别的方式可以是:识别到当前条带的任一分块对应的磁盘发生故障时,确定当前条带需要被重构。
在一个实施例中,独立磁盘冗余阵列的数据重构任务用于检索独立磁盘冗余阵列的各个条带是否需要被重构;上述步骤S202之后还包括:在识别出当前条带不需要被重构时,按照设定顺序检索下一条带,并识别下一条带是否需要被重构。
S204,在识别出当前条带需要被重构时,从元数据结构中读取当前条带的热备块的标识信息,元数据结构中包含第一标识和/或第二标识,第一标识用于标识对应热备块写有数据,第二标识用于标识对应热备块未写有数据。
本实施例中,预配置各个条带的标识信息,标识信息可以配置为第一标识信息或第二标识信息。在任一条带的热备块中写有数据时,其对应的标识信息配置为第一标识。在任一条带的热备块中未写有数据时,其对应的标识信息配置为第二标识。因此,通过配置第一标识和第二标识,能够识别出条带的热备块中是否写有数据。进而,确定当前条带需要被重构时,进一步读取当前条带的热备块的标识信息。
在一个实施例中,上述步骤S204之前,还包括:在启动独立磁盘冗余阵列的数据重构任务时,创建元数据结构;数据重构任务用于检测独立磁盘冗余阵列中故障盘的各个条带是否需要被重构并在任一条带需要被重构时对任一条带进行数据重构处理,元数据结构中各元数据用于表示故障盘的各个条带的热备块的标识信息且所有元数据均初始化为第二标识;在对当前条带的故障盘对应的分块执行数据重构处理之前,若接收到用户输入的故障盘对应的分块的待写入IO数据,则在当前条带的热备块写入待写入IO数据,并将元数据结构中当前条带对应的元数据修改为第一标识。其中,第一标识为比特位1,第二标识为比特位0。
具体地,如图3所示,RAID在有磁盘故障时启动独立磁盘冗余阵列的数据重构任务的同时,创建一个名为写热备元数据的元数据结构,所有的元数据全部初始化为比特位0,用于标记对应条带在数据重构任务启动后到条带被重构的这段时间内,是否对其对应的热备块做过写操作。如果对热备块有写操作,该条带对应比特位会被设置为比特位1,直到条带被重构后会重置为比特位0。
S206,在识别到热备块的标识信息为第一标识时,从当前条带的热备块读取备份数据;备份数据为对当前条带的故障盘对应的分块执行数据重构处理之前接收到的故障盘对应的分块的待写入IO数据。
本实施例中,若当前条带的标识信息为第一标识,则表明当前条带的热备块预先写入有备份数据。此时,从当前条带的热备块读取备份数据。
其中,热备块中的备份数据的来源为:在对当前条带的故障盘对应的分块执行数据重构之前,若接收到用户写入该分块的待写入IO数据,则将待写入IO数据写入热备块,从而作为热备块中的备份数据。
具体地, RAID在数据重构过程中,接收到用户写入的IO数据后,先对IO数据进行条带化处理。然后检测IO(Input/Output,输入/输出)数据所在条带是否被重构过,如果该条带已被重构过,则按没有重构任务时的正常流程处理。如果该条带未被重构过,则把用户要写的IO数据写入到热备块对应的磁盘上。如图3所示,用户要对条带1的D1位置写入IO数据,但是磁盘1故障触发RAID重构任务,而条带1还没有被重构,用户写入的IO数据被写入条带1的热备块B1上。
此外,如图3所示,如果IO数据写入到热备盘中,则需要查询写热备元数据,检测该条带对应比特位是否为1,如果其值为0,则设置元数据对应比特位为1,表示该条带对热备块做了写操作。如图3所示,数据写入热备块B1后,同时更新元数据的对应比特位为1。
在一个实施例中,上述步骤S204之后还包括:在识别到热备块的标识信息为第二标识时,读取当前条带的非故障盘的分块的数据以及当前条带的校验块中的校验数据;基于当前条带的非故障盘的分块的数据以及当前条带的校验块中的校验数据对当前条带的故障盘的分块进行数据重构处理,并将重构的数据写入当前条带的热备块。
S208,根据读取到的备份数据对故障盘对应的分块进行数据重构处理。
本实施例中,利用当前条带的热备块的备份数据对当前条带的故障盘对应的分块进行数据重构处理。
在一个实施例中,上述根据读取到的备份数据对故障盘对应的分块进行数据重构处理,包括:获取当前条带的校验块中的校验数据、当前条带的非故障盘的分块中的数据;根据备份数据、当前条带的校验数据以及当前条带的非故障盘的分块中的数据,采用数据重构算法对故障盘对应的分块进行数据重构处理。
其中,根据备份数据、当前条带的校验数据以及当前条带的非故障盘的分块中的数据,采用数据重构算法对故障盘对应的分块进行数据重构处理,包括:根据异或算法对当前条带的校验数据和当前条带的非故障盘的分块中的数据进行处理,得到故障盘对应的分块发生故障前的存储的旧数据;根据异或算法对旧数据和备份数据进行处理,得到中间数据;根据异或算法对中间数据和当前条带的校验数据进行处理,得到当前条带的更新后的校验数据;根据异或算法对更新后的校验数据和当前条带的非故障盘的分块中的数据进行处理,得到重构的数据;其中数据重构算法为异或算法。
具体地,利用校验块、其他盘上正常的数据块、热备块中临时存放的用户数据,通过多次异或计算得出故障盘在条带上对应的最终数据。如图4所示,以条带1进行说明:
(1)磁盘1故障后,需要重构得到D1的数据,利用校验块和其他盘上正常的数据块做异或算法,得到D1的数据,算法如下:
D2 ⊕ D3 ⊕ D4 ⊕ P = D1_old;
这里得到的是D1分块存放的旧数据。
(2)利用热备块B1上临时存放的用户数据和D1_old做异或计算,可以得到中间数据D1_mid,算法如下:
B1 ⊕ D1_old = D1_mid;
(3)利用读到的P校验块和D1_mid做异或计算,得到最新的P校验数据P_new,算法如下:
P ⊕ D1_mid = P_new;
(4)利用最新的P校验数据P_new和其他盘上正常的数据块做异或计算,得到最终D1最终数据内容,算法如下:
D2 ⊕ D3 ⊕ D4 ⊕ P_new = D1_new。
在一个实施例中,上述步骤S208之后,还包括:在对当前条带的故障盘对应的分块执行数据重构处理之后,若接收到用户输入的故障盘对应的分块的待写入IO数据,将待写入IO数据写入数据重构后的故障盘对应的分块。
在一个实施例中,根据读取到的备份数据对故障盘对应的分块进行数据重构处理的步骤之后,还包括:在确认故障盘对应的分块已完成数据重构之后,将当前条带的热备块的标识信息配置为第二标识。
基于上述各个实施例的一种独立磁盘冗余阵列的数据重构方法,以下给出一具体示例,具体参见图5所示:
(1)基于数据重构任务从头到尾检索独立磁盘冗余阵列的每一个条带,检索到条带没有被重构时,需要先读取其他非故障盘的数据块及其P校验块和Q校验块,然后利用异或计算重构出故障盘上对应分块的数据。
(2)检索被重构的当前条带对应热备块的元数据的比特位的值,如果其值为0,则表示该条带没有写过热备块,即重构开始后到重构该条带的这段时间内,用户没有往该条带故障盘对应分块写过数据,这种情况下直接把重构出的分块的数据写入到热备块即可。
(3)如果被重构的当前条带对应热备块的元数据的比特位的值为1,则表示该条带往热备块写过数据,即重构开始后到重构该条带的这段时间内,用户往该条带的故障盘对应分块写过数据。这种情况下,需要先读取热备块中的数据,然后与重构出的分块的数据做异或计算,计算出的数据就是最终数据,把计算得到的重构的数据重新写入到热备块即可。
(4)如果执行了步骤(3)的操作,则表示热备块上保存的用户数据已经失效,当前热备块存入的是正式数据,而不是临时保存的用户数据,这时需要把该条带对应写热备元数据的比特位的值重置为0。
上述一种独立磁盘冗余阵列的数据重构方法,响应于启动独立磁盘冗余阵列的数据重构任务,识别当前条带是否需要被重构;在识别出当前条带需要被重构时,读取当前条带的热备块的标识信息;标识信息包括第一标识和第二标识,第一标识用于标识当前条带的热备块写有数据,第二标识用于标识当前条带的热备块未写有数据;在识别到热备块的标识信息为第一标识时,从当前条带的热备块读取备份数据;备份数据为对当前条带的故障盘对应的分块执行数据重构处理之前接收到的故障盘对应的分块的待写入IO数据;根据读取到的备份数据对故障盘对应的分块进行数据重构处理。因此,在RAID重构过程中,合理的复用条带的热备块,把用户写入的IO数据临时保存在热备块内,从而直接免去了写前重构的处理,把重构条带全部交由RAID的数据重构任务去处理。在保证数据一致性的同时,把数据重构任务对用户写IOPS的影响,提升RAID重构过程中处理写IO数据的性能,提高数据中心的核心竞争力。
在一个实施例中,上述步骤S208之前,还包括:接收用户的数据读取请求;若数据读取请求的请求对象为当前条带的故障盘对应的分块,则识别当前条带的故障盘对应的分块是否已被重构;若故障盘对应的分块已被重构,则从已被重构的故障盘对应的分块中读取数据,向数据读取请求的请求端反馈读取到的数据。其中,若故障盘对应的分块未被重构,则利用数据重构算法重构出故障盘对应的分块的数据,向数据读取请求的请求端反馈重构的数据。
在一个示例中,上述利用数据重构算法重构出故障盘对应的分块的数据,向数据读取请求的请求端反馈重构的数据,包括:若当前条带的热备块的标识信息为第一标识,则从当前条带的热备块读取数据,利用数据重构算法以及读取的数据重构出故障盘对应的分块的数据,向数据读取请求的请求端反馈重构的数据;若当前条带的热备块的标识信息为第二标识,则利用数据重构算法以及非故障盘的分块中的数据重构出故障盘对应的分块的数据,向数据读取请求的请求端反馈重构的数据。
具体地,如图6所示,RAID在数据重构过程中,接收到用户读IO数据的数据读取请求后,先对IO数据进行条带化处理。如果读IO数据没有落在故障盘对应的分块上,则直接读盘即可;如果读IO数据落在故障盘上,需要检测IO数据所在条带是否被重构过,如果该条带已被重构过,则表示故障盘上的数据已经被重构到热备块上,直接从热备块上读取数据即可。如果读IO数据落在故障盘上且该条带还没有被重构,则需要先读取其他数据块和P校验块和Q校验块,然后利用异或计算重构出故障盘上对应数据块的数据。检索该条带对应的写热备元数据,即热备块的标识信息,判断该条带是否写过热备块。如果对应写热备元数据的比特位为0,则表示该条带没有写过热备块,即重构开始后到处理该读IO这段时间内,用户没有往该条带故障盘对应分块写过数据,重构出的内容就是最终数据,返回给用户即可。如果该条带对应写热备元数据比特位为1,则表示该条带往热备块写过数据,即重构开始后到处理该读IO数据这段时间内,用户往该条带故障盘对应分块写过数据。这种情况下,需要先读取热备块上的备份数据,然后与重构出的分块做异或计算,计算出的数据就是最终数据,返回用户即可。
本申请的一种独立磁盘冗余阵列的数据重构方法,主要由写IO数据、读IO数据处理、独立磁盘冗余阵列的数据重构任务处理以及数据重构的异或计算最终数据这四大部分组成。RAID对未重构条带的坏盘位置不再做写前重构,而是直接将写IO数据写入到该条带的热备块,并标记热备块对应的记录该条带对热备块做了写入操作。在处理读IO数据时,如果条带未被重构且条带标记了元数据,通过特定算法,得出最终的读数据。在数据重构任务对条带执行重构操作时,如果条带标记热备块对应的元数据,通过特定算法,得出最终的重构数据。
本申请的一种独立磁盘冗余阵列的数据重构方法,相较于现有技术在数据重构过程中对每个用户写IO数据都做写前重构,本申请通复用热备块临时保存用户写IO数据,直接免去了写前重构的处理:
(1)RAID的数据重构过程中,如果用户写IO数据落在故障盘对应的分块上,且该条带没有被重构过,则直接把用户写IO数据保存到热备块中;同时标记热备快对应的元数据的比特位1,以表示该条带已经在热备块上临时保存了用户写IO数据。
(2)复用热备块临时保存用户IO数据后,为了保证数据一致性,如果用户读IO数据落在故障盘上,且该条带没有被重构过,则在利用其他费故障盘的数据块和P校验块、Q校验块重构出故障盘上对应的数据块后,检索热备块的元数据是否被标记过。如果被标记过,则利用重构出的数据块内容和热备块上临时保存的用户写IO数据做特定计算,得到最终的存储数据。
(3)复用热备块临时保存用户IO数据后,为了保证数据一致性,如果条带没有重构过,则在利用其他非故障盘的数据块和P校验块、Q校验块重构出故障盘上对应的数据块后,检索热备块的元数据是否被标记过。如果被标记过,则利用重构出的数据和热备块上临时保存的用户写IO数据做特定计算,得到最终数据重新写入热备块,同时把元数据对应的比特位重置为0。
(4)利用校验块、其他非故障盘上正常的数据块、热备块中临时存放的用户数据,通过多次异或计算的特定算法,得出故障盘在条带上对应的最终数据。
应该理解的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种控制器,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:响应于启动独立磁盘冗余阵列的数据重构任务,识别当前条带是否需要被重构;在识别出当前条带需要被重构时,从元数据结构中读取当前条带的热备块的标识信息,元数据结构中包含第一标识和/或第二标识,第一标识用于标识对应热备块写有数据,第二标识用于标识对应热备块未写有数据;在识别到热备块的标识信息为第一标识时,从当前条带的热备块读取备份数据;备份数据为对当前条带的故障盘对应的分块执行数据重构处理之前接收到的故障盘对应的分块的待写入IO数据;根据读取到的备份数据对故障盘对应的分块进行数据重构处理。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:在启动独立磁盘冗余阵列的数据重构任务时,创建元数据结构;数据重构任务用于检测独立磁盘冗余阵列中故障盘的各个条带是否需要被重构并在任一条带需要被重构时对任一条带进行数据重构处理,元数据结构中各元数据用于表示故障盘的各个条带的热备块的标识信息且所有元数据均初始化为第二标识;在对当前条带的故障盘对应的分块执行数据重构处理之前,若接收到用户输入的故障盘对应的分块的待写入IO数据,则在当前条带的热备块写入待写入IO数据,并将元数据结构中当前条带对应的元数据修改为第一标识。
在其中一个实施例中,第一标识为比特位1,第二标识为比特位0。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:在对当前条带的故障盘对应的分块执行数据重构处理之后,若接收到用户输入的故障盘对应的分块的待写入IO数据,将待写入IO数据写入数据重构后的故障盘对应的分块。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:接收用户的数据读取请求;若数据读取请求的请求对象为当前条带的故障盘对应的分块,则识别当前条带的故障盘对应的分块是否已被重构;若故障盘对应的分块已被重构,则从已被重构的故障盘对应的分块中读取数据,向数据读取请求的请求端反馈读取到的数据。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:若故障盘对应的分块未被重构,则利用数据重构算法重构出故障盘对应的分块的数据,向数据读取请求的请求端反馈重构的数据。
在其中一个实施例中,处理器执行计算机程序实现上述利用数据重构算法重构出故障盘对应的分块的数据,向数据读取请求的请求端反馈重构的数据的步骤时,具体实现以下步骤:若当前条带的热备块的标识信息为第一标识,则从当前条带的热备块读取数据,利用数据重构算法以及读取的数据重构出故障盘对应的分块的数据,向数据读取请求的请求端反馈重构的数据;若当前条带的热备块的标识信息为第二标识,则利用数据重构算法以及非故障盘的分块中的数据重构出故障盘对应的分块的数据,向数据读取请求的请求端反馈重构的数据。
在其中一个实施例中,处理器执行计算机程序实现上述根据读取到的备份数据对故障盘对应的分块进行数据重构处理的步骤时,具体实现以下步骤:获取当前条带的校验块中的校验数据、当前条带的非故障盘的分块中的数据;根据备份数据、当前条带的校验数据以及当前条带的非故障盘的分块中的数据,采用数据重构算法对故障盘对应的分块进行数据重构处理。
在其中一个实施例中,处理器执行计算机程序实现上述根据备份数据、当前条带的校验数据以及当前条带的非故障盘的分块中的数据,采用数据重构算法对故障盘对应的分块进行数据重构处理的步骤时,具体实现以下步骤:根据异或算法对当前条带的校验数据和当前条带的非故障盘的分块中的数据进行处理,得到故障盘对应的分块发生故障前的存储的旧数据;根据异或算法对旧数据和备份数据进行处理,得到中间数据;根据异或算法对中间数据和当前条带的校验数据进行处理,得到当前条带的更新后的校验数据;根据异或算法对更新后的校验数据和当前条带的非故障盘的分块中的数据进行处理,得到重构的数据;其中数据重构算法为异或算法。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:在确认故障盘对应的分块已完成数据重构之后,将当前条带的热备块的标识信息配置为第二标识。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:在识别到热备块的标识信息为第二标识时,读取当前条带的非故障盘的分块的数据以及当前条带的校验块中的校验数据;基于当前条带的非故障盘的分块的数据以及当前条带的校验块中的校验数据对当前条带的故障盘的分块进行数据重构处理,并将重构的数据写入当前条带的热备块。
在其中一个实施例中,独立磁盘冗余阵列的数据重构任务用于检索独立磁盘冗余阵列的各个条带是否需要被重构;处理器执行计算机程序时还实现以下步骤:在识别出当前条带不需要被重构时,按照设定顺序检索下一条带,并识别下一条带是否需要被重构。
本申请还提供一种存储系统。如图1所示,一种存储系统包括上述实施例的控制器以及独立磁盘冗余阵列。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:响应于启动独立磁盘冗余阵列的数据重构任务,识别当前条带是否需要被重构;在识别出当前条带需要被重构时,从元数据结构中读取当前条带的热备块的标识信息,元数据结构中包含第一标识和/或第二标识,第一标识用于标识对应热备块写有数据,第二标识用于标识对应热备块未写有数据;在识别到热备块的标识信息为第一标识时,从当前条带的热备块读取备份数据;备份数据为对当前条带的故障盘对应的分块执行数据重构处理之前接收到的故障盘对应的分块的待写入IO数据;根据读取到的备份数据对故障盘对应的分块进行数据重构处理。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:在启动独立磁盘冗余阵列的数据重构任务时,创建元数据结构;数据重构任务用于检测独立磁盘冗余阵列中故障盘的各个条带是否需要被重构并在任一条带需要被重构时对任一条带进行数据重构处理,元数据结构中各元数据用于表示故障盘的各个条带的热备块的标识信息且所有元数据均初始化为第二标识;在对当前条带的故障盘对应的分块执行数据重构处理之前,若接收到用户输入的故障盘对应的分块的待写入IO数据,则在当前条带的热备块写入待写入IO数据,并将元数据结构中当前条带对应的元数据修改为第一标识。
在其中一个实施例中,第一标识为比特位1,第二标识为比特位0。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:在对当前条带的故障盘对应的分块执行数据重构处理之后,若接收到用户输入的故障盘对应的分块的待写入IO数据,将待写入IO数据写入数据重构后的故障盘对应的分块。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收用户的数据读取请求;若数据读取请求的请求对象为当前条带的故障盘对应的分块,则识别当前条带的故障盘对应的分块是否已被重构;若故障盘对应的分块已被重构,则从已被重构的故障盘对应的分块中读取数据,向数据读取请求的请求端反馈读取到的数据。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:若故障盘对应的分块未被重构,则利用数据重构算法重构出故障盘对应的分块的数据,向数据读取请求的请求端反馈重构的数据。
在其中一个实施例中,计算机程序被处理器执行实现上述利用数据重构算法重构出故障盘对应的分块的数据,向数据读取请求的请求端反馈重构的数据的步骤时,具体实现以下步骤:若当前条带的热备块的标识信息为第一标识,则从当前条带的热备块读取数据,利用数据重构算法以及读取的数据重构出故障盘对应的分块的数据,向数据读取请求的请求端反馈重构的数据;若当前条带的热备块的标识信息为第二标识,则利用数据重构算法以及非故障盘的分块中的数据重构出故障盘对应的分块的数据,向数据读取请求的请求端反馈重构的数据。
在其中一个实施例中,计算机程序被处理器执行实现上述根据读取到的备份数据对故障盘对应的分块进行数据重构处理的步骤时,具体实现以下步骤:获取当前条带的校验块中的校验数据、当前条带的非故障盘的分块中的数据;根据备份数据、当前条带的校验数据以及当前条带的非故障盘的分块中的数据,采用数据重构算法对故障盘对应的分块进行数据重构处理。
在其中一个实施例中,计算机程序被处理器执行实现上述根据备份数据、当前条带的校验数据以及当前条带的非故障盘的分块中的数据,采用数据重构算法对故障盘对应的分块进行数据重构处理的步骤时,具体实现以下步骤:根据异或算法对当前条带的校验数据和当前条带的非故障盘的分块中的数据进行处理,得到故障盘对应的分块发生故障前的存储的旧数据;根据异或算法对旧数据和备份数据进行处理,得到中间数据;根据异或算法对中间数据和当前条带的校验数据进行处理,得到当前条带的更新后的校验数据;根据异或算法对更新后的校验数据和当前条带的非故障盘的分块中的数据进行处理,得到重构的数据;其中数据重构算法为异或算法。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:在确认故障盘对应的分块已完成数据重构之后,将当前条带的热备块的标识信息配置为第二标识。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:在识别到热备块的标识信息为第二标识时,读取当前条带的非故障盘的分块的数据以及当前条带的校验块中的校验数据;基于当前条带的非故障盘的分块的数据以及当前条带的校验块中的校验数据对当前条带的故障盘的分块进行数据重构处理,并将重构的数据写入当前条带的热备块。
在其中一个实施例中,独立磁盘冗余阵列的数据重构任务用于检索独立磁盘冗余阵列的各个条带是否需要被重构;计算机程序被处理器执行时还实现以下步骤:在识别出当前条带不需要被重构时,按照设定顺序检索下一条带,并识别下一条带是否需要被重构。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。
Claims (15)
1.一种独立磁盘冗余阵列的数据重构方法,其特征在于,所述方法包括:
响应于启动独立磁盘冗余阵列的数据重构任务,识别当前条带是否需要被重构;
在识别出所述当前条带需要被重构时,从元数据结构中读取所述当前条带的热备块的标识信息,所述元数据结构中包含第一标识和/或第二标识,所述第一标识用于标识对应热备块写有数据,所述第二标识用于标识对应热备块未写有数据;
在识别到所述热备块的标识信息为所述第一标识时,从所述当前条带的热备块读取备份数据;所述备份数据为对所述当前条带的故障盘对应的分块执行数据重构处理之前接收到的所述故障盘对应的分块的待写入IO数据;
根据读取到的备份数据对所述故障盘对应的分块进行数据重构处理。
2.根据权利要求1所述的数据重构方法,其特征在于,所述方法还包括:
在启动独立磁盘冗余阵列的数据重构任务时,创建元数据结构;所述数据重构任务用于检测所述独立磁盘冗余阵列中故障盘的各个条带是否需要被重构并在任一条带需要被重构时对所述任一条带进行数据重构处理,所述元数据结构中各元数据用于表示所述故障盘的各个条带的热备块的标识信息且所有元数据均初始化为所述第二标识;
在对所述当前条带的故障盘对应的分块执行数据重构处理之前,若接收到用户输入的所述故障盘对应的分块的待写入IO数据,则在所述当前条带的热备块写入所述待写入IO数据,并将所述元数据结构中所述当前条带对应的元数据修改为所述第一标识。
3.根据权利要求2所述的数据重构方法,其特征在于,所述第一标识为比特位1,所述第二标识为比特位0。
4.根据权利要求2所述的数据重构方法,其特征在于,所述方法还包括:
在对所述当前条带的故障盘对应的分块执行数据重构处理之后,若接收到用户输入的所述故障盘对应的分块的待写入IO数据,将所述待写入IO数据写入数据重构后的所述故障盘对应的分块。
5.根据权利要求1所述的数据重构方法,其特征在于,所述方法还包括:
接收用户的数据读取请求;
若所述数据读取请求的请求对象为所述当前条带的所述故障盘对应的分块,则识别所述当前条带的所述故障盘对应的分块是否已被重构;
若所述故障盘对应的分块已被重构,则从已被重构的所述故障盘对应的分块中读取数据,向所述数据读取请求的请求端反馈读取到的数据。
6.根据权利要求5所述的数据重构方法,其特征在于,所述方法还包括:
若所述故障盘对应的分块未被重构,则利用数据重构算法重构出所述故障盘对应的分块的数据,向所述数据读取请求的请求端反馈重构的数据。
7.根据权利要求6所述的数据重构方法,其特征在于,所述利用数据重构算法重构出所述故障盘对应的分块的数据,向所述数据读取请求的请求端反馈重构的数据,包括:
若所述当前条带的热备块的标识信息为所述第一标识,则从所述当前条带的热备块读取数据,利用数据重构算法以及读取的数据重构出所述故障盘对应的分块的数据,向所述数据读取请求的请求端反馈重构的数据;
若所述当前条带的热备块的标识信息为所述第二标识,则利用数据重构算法以及非故障盘的分块中的数据重构出所述故障盘对应的分块的数据,向所述数据读取请求的请求端反馈重构的数据。
8.根据权利要求1所述的数据重构方法,其特征在于,所述根据读取到的备份数据对所述故障盘对应的分块进行数据重构处理,包括:
获取所述当前条带的校验块中的校验数据、所述当前条带的非故障盘的分块中的数据;
根据所述备份数据、所述当前条带的校验数据以及所述当前条带的非故障盘的分块中的数据,采用数据重构算法对所述故障盘对应的分块进行数据重构处理。
9.根据权利要求8所述的数据重构方法,其特征在于,所述根据所述备份数据、所述当前条带的校验数据以及所述当前条带的非故障盘的分块中的数据,采用数据重构算法对所述故障盘对应的分块进行数据重构处理,包括:
根据异或算法对所述当前条带的校验数据和所述当前条带的非故障盘的分块中的数据进行处理,得到所述故障盘对应的分块发生故障前的存储的旧数据;
根据异或算法对所述旧数据和所述备份数据进行处理,得到中间数据;
根据异或算法对所述中间数据和所述当前条带的校验数据进行处理,得到所述当前条带的更新后的校验数据;
根据异或算法对所述更新后的校验数据和所述当前条带的非故障盘的分块中的数据进行处理,得到所述重构的数据;
其中所述数据重构算法为所述异或算法。
10.根据权利要求1所述的数据重构方法,其特征在于,所述根据读取到的备份数据对所述故障盘对应的分块进行数据重构处理的步骤之后,还包括:
在确认所述故障盘对应的分块已完成数据重构之后,将所述当前条带的热备块的标识信息配置为所述第二标识。
11.根据权利要求1所述的数据重构方法,其特征在于,所述方法还包括:
在识别到所述热备块的标识信息为所述第二标识时,读取所述当前条带的非故障盘的分块的数据以及所述当前条带的校验块中的校验数据;
基于所述当前条带的非故障盘的分块的数据以及所述当前条带的校验块中的校验数据对所述当前条带的故障盘的分块进行数据重构处理,并将重构的数据写入所述当前条带的热备块。
12.根据权利要求1所述的数据重构方法,其特征在于,所述独立磁盘冗余阵列的数据重构任务用于检索所述独立磁盘冗余阵列的各个条带是否需要被重构;所述方法还包括:
在识别出所述当前条带不需要被重构时,按照设定顺序检索下一条带,并识别所述下一条带是否需要被重构。
13.一种控制器,其特征在于,包括处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述方法的步骤。
14.一种存储系统,其特征在于,包括权利要求13所述的控制器以及独立磁盘冗余阵列。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311822662.2A CN117472292B (zh) | 2023-12-27 | 2023-12-27 | 独立磁盘冗余阵列的数据重构方法及存储系统、控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311822662.2A CN117472292B (zh) | 2023-12-27 | 2023-12-27 | 独立磁盘冗余阵列的数据重构方法及存储系统、控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117472292A true CN117472292A (zh) | 2024-01-30 |
CN117472292B CN117472292B (zh) | 2024-03-12 |
Family
ID=89635136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311822662.2A Active CN117472292B (zh) | 2023-12-27 | 2023-12-27 | 独立磁盘冗余阵列的数据重构方法及存储系统、控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117472292B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103513942A (zh) * | 2013-10-21 | 2014-01-15 | 华为技术有限公司 | 独立冗余磁盘阵列的重构方法及装置 |
CN111427516A (zh) * | 2020-03-27 | 2020-07-17 | 杭州宏杉科技股份有限公司 | Raid重建方法及装置 |
WO2022146177A1 (ru) * | 2020-12-30 | 2022-07-07 | Антон Анатольевич Дремлюга | Способ хранения данных в избыточном массиве независимых дисков с повышенной отказоустойчивостью |
CN116719484A (zh) * | 2023-08-09 | 2023-09-08 | 苏州浪潮智能科技有限公司 | 一种磁盘阵列的写数据处理方法、装置、设备和介质 |
-
2023
- 2023-12-27 CN CN202311822662.2A patent/CN117472292B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103513942A (zh) * | 2013-10-21 | 2014-01-15 | 华为技术有限公司 | 独立冗余磁盘阵列的重构方法及装置 |
CN111427516A (zh) * | 2020-03-27 | 2020-07-17 | 杭州宏杉科技股份有限公司 | Raid重建方法及装置 |
WO2022146177A1 (ru) * | 2020-12-30 | 2022-07-07 | Антон Анатольевич Дремлюга | Способ хранения данных в избыточном массиве независимых дисков с повышенной отказоустойчивостью |
CN116719484A (zh) * | 2023-08-09 | 2023-09-08 | 苏州浪潮智能科技有限公司 | 一种磁盘阵列的写数据处理方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117472292B (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3125120B1 (en) | System and method for consistency verification of replicated data in a recovery system | |
US5819109A (en) | System for storing pending parity update log entries, calculating new parity, updating the parity block, and removing each entry from the log when update is complete | |
US10481988B2 (en) | System and method for consistency verification of replicated data in a recovery system | |
CN105468479B (zh) | 一种磁盘阵列raid坏块处理方法及装置 | |
CN109144790A (zh) | MySQL数据库的合成备份方法和装置 | |
CN111176885A (zh) | 一种分布式存储系统的数据校验方法及相关装置 | |
CN115599607B (zh) | 一种raid阵列的数据恢复方法及相关装置 | |
TW202011202A (zh) | 持久性儲存元件管理 | |
CN114721602B (zh) | 一种基于FreeRTOS的Nor Flash滚动存储方法及装置 | |
CN115268784A (zh) | 基于四控存储系统的raid校验写保护方法及系统 | |
US20140258792A1 (en) | Symmetrical Data Replication For Failure Management In Non-Volatile Memory Systems | |
CN115543217A (zh) | 独立冗余磁盘阵列数据组织方法、装置、服务器和介质 | |
CN111966531B (zh) | 数据快照方法、装置、计算机设备及存储介质 | |
CN117472292B (zh) | 独立磁盘冗余阵列的数据重构方法及存储系统、控制器 | |
KR101548452B1 (ko) | 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치 | |
CN109542671B (zh) | 校验数据生成方法及固态硬盘 | |
CN112000524A (zh) | 系统数据在硬盘中的备份和读取方法、装置、设备及介质 | |
CN113312205A (zh) | 数据校验方法、装置、存储介质和计算机设备 | |
US20220374310A1 (en) | Write request completion notification in response to partial hardening of write data | |
CN114356369A (zh) | Ssd固件一致性加载方法、装置、计算机设备及存储介质 | |
CN110275596B (zh) | 基于固态硬盘的上电初始化加速方法、装置和计算机设备 | |
WO2014094572A1 (zh) | 一种Raid5阵列读IO失败的修复方法和装置 | |
CN111124740A (zh) | 一种数据读取方法、装置、存储设备及机器可读存储介质 | |
CN111897495A (zh) | 提高ssd写性能的实现方法、装置、计算机设备及存储介质 | |
CN108268336B (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 |