CN109597712B - 空间分配方法及装置 - Google Patents
空间分配方法及装置 Download PDFInfo
- Publication number
- CN109597712B CN109597712B CN201811424711.6A CN201811424711A CN109597712B CN 109597712 B CN109597712 B CN 109597712B CN 201811424711 A CN201811424711 A CN 201811424711A CN 109597712 B CN109597712 B CN 109597712B
- Authority
- CN
- China
- Prior art keywords
- address field
- backup
- main
- main address
- space
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种空间分配方法及装置,方法包括:在接收到携带的数据类型为管理元数据的分配空间指令或写指令时,确定需分配备份空间的主地址段;按照预设的最大地址段长度对主地址段进行拆分,得到至少一个主地址段;针对每一主地址段,为该主地址段分配备份地址段,备份地址段的长度与该主地址段的长度一致且位于不同磁盘阵列RAID上;将该主地址段和分配的备份地址段添加到管理元数据的备份表。在分配空间时,通过对需分配备份空间的主地址段,按照最大地址段长度进行拆分,使得备份表中每一地址段的粒度不会太大,从而在RAID中某个LBA地址发生写错误时,不会出现很大的故障域,进而使RAID错误的影响范围得到有效控制,提高了对介质错误的容忍度。
Description
技术领域
本申请涉及数据存储技术领域,尤其涉及一种空间分配方法及装置。
背景技术
随着大数据应用的出现,对于海量数据的存储管理显得尤为重要。目前,通过在存储设备上利用多个磁盘创建RAID(Redundant Arrays of Independent Drives,磁盘阵列),并通过在RAID上再创建LUN(Logical Unit Number,逻辑单元号),并在LUN层面通过双活、复制、快照等业务实现数据的保护。无论是RAID上创建LUN,还是LUN启用数据保护业务,都将涉及到管理元数据的存储和备份。
目前,通常是通过维护一张管理元数据的备份表实现存储和备份。该表中记录了主数据区的地址段(即主地址段)和备份数据区的地址段(即备份地址段)的对应关系,主地址段与备份地址段中存储的管理元数据相同,主地址段对业务可见,备份地址段对业务不可见,由此可知,备份表是按段实现的存储和备份。然而备份表中的每个地址段的粒度是由分配空间指令的需分配大小或写IO的地址段决定的,其可能很大也可能很小,当地址段的粒度很大时,只要RAID中某个LBA地址发生写错误,备份表中包含该LBA地址的地址段中的数据均会被标记为无效,导致故障域大。
发明内容
有鉴于此,本申请提供一种空间分配方法及装置,以解决相关技术中空间分配方式导致地址段粒度大,进而导致故障域大的问题。
根据本申请实施例的第一方面,提供一种空间分配方法,所述方法包括:
在接收到携带的数据类型为管理元数据的分配空间指令或写指令时,确定需分配备份空间的主地址段;
按照预设的最大地址段长度对所述主地址段进行拆分,得到至少一个主地址段;
针对所述至少一个主地址段中的每一主地址段,为该主地址段分配备份地址段,所述备份地址段的长度与该主地址段的长度一致且位于不同磁盘阵列RAID上;
将该主地址段和分配的备份地址段添加到管理元数据的备份表中。
根据本申请实施例的第二方面,提供一种空间分配装置,所述装置包括:
确定单元,用于在接收到携带的数据类型为管理元数据的分配空间指令或写指令时,确定需分配备份空间的主地址段;
拆分单元,用于按照预设的最大地址段长度对所述主地址段进行拆分,得到至少一个主地址段;
分配单元,用于针对所述至少一个主地址段中的每一主地址段,为该主地址段分配备份地址段,所述备份地址段的长度与该主地址段的长度一致且位于不同磁盘阵列RAID上;
添加单元,用于将该主地址段和分配的备份地址段添加到管理元数据的备份表中。
应用本申请实施例,在接收到携带的数据类型为管理元数据的分配空间指令或写指令时,确定需分配备份空间的主地址段,并按照预设的最大地址段长度对所述主地址段进行拆分,得到至少一个主地址段,然后针对至少一个主地址段中的每一主地址段,为该主地址段分配备份地址段(备份地址段的长度与该主地址段的长度一致且位于不同RAID上),并将该主地址段和分配的备份地址段添加到管理元数据的备份表中。
基于上述描述可知,在分配空间时,通过对需分配备份空间的主地址段,按照最大地址段长度进行拆分,使得备份表中每一地址段的粒度不会太大,从而在RAID中某个LBA地址发生写错误时,不会出现很大的故障域,进而使RAID错误的影响范围得到有效控制,提高了对介质错误的容忍度。
附图说明
图1为本申请根据一示例性实施例示出的一种空间分配方法的实施例流程图;
图2为本申请根据一示例性实施例示出的一种存储设备的硬件结构图;
图3为本申请根据一示例性实施例示出的一种空间分配装置的实施例结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
由于,目前维护的管理元数据的备份表是按段实现的存储和备份,备份表中的每个地址段的粒度是由分配空间指令的需分配大小或写IO的地址段决定的,其可能很大也可能很小,当地址段的粒度很大时,只要RAID中某个LBA地址发生写错误,备份表中包含该LBA地址的地址段中的数据均会被标记为无效,导致故障域大。
为解决上述问题,本申请提出一种空间分配方法,在接收到携带的数据类型为管理元数据的分配空间指令或写指令时,确定需分配备份空间的主地址段,并按照预设的最大地址段长度对所述主地址段进行拆分,得到至少一个主地址段,然后针对至少一个主地址段中的每一主地址段,为该主地址段分配备份地址段(备份地址段的长度与该主地址段的长度一致且位于不同RAID上),并将该主地址段和分配的备份地址段添加到管理元数据的备份表中。
基于上述描述可知,在分配空间时,通过对需分配备份空间的主地址段,按照最大地址段长度进行拆分,使得备份表中每一地址段的粒度不会太大,从而在RAID中某个LBA地址发生写错误时,不会出现很大的故障域,进而使RAID错误的影响范围得到有效控制,提高了对介质错误的容忍度。
下面以具体实施例对本申请技术方案进行详细阐述。
图1为本申请根据一示例性实施例示出的一种空间分配方法的实施例流程图,所述空间分配方法可以应用在存储设备上,如图1所示,所述空间分配方法包括如下步骤:
步骤101:在接收到携带的数据类型为管理元数据的分配空间指令或写指令时,确定需分配备份空间的主地址段。
其中,分配空间指令或写指令携带的数据类型可以是管理元数据(MD)也可以是用户数据(UD)。
在一实施例中,针对确定需分配备份空间的主地址段的过程,若接收到的是分配空间指令,则依据分配空间指令携带的待分配大小分配地址段,并将分配的地址段确定为需分配备份空间的主地址段;若接收到的是写指令,则依据写指令携带的写地址段和管理元数据的备份表中记录的主地址段,确定出需分配备份空间的主地址段,需分配备份空间的主地址段与写地址段有交集但与备份表中记录的主地址段没有交集。
其中,有些业务在分配存储空间时能够预先区分属于管理元数据的空间和属于用户数据的空间,因此在分配空间指令中会指定具体的数据类型;而有些特殊业务在分配存储空间时,无法预先区分属于管理元数据的空间和属于用户数据的空间,存储设备只能为其分配一段存储空间,特殊业务后续是按需交叉使用存储空间,因此对于写管理元数据的写指令,其中携带的写地址段可能一部分已记录在备份表中,因此需要从写地址段中获取备份表中未记录的地址段作为需分配备份空间的主地址段。当然如果写地址段与备份表中的主地址段无交集,可以直接将整个写地址段确定为需分配备份空间的主地址段。
步骤102:按照预设的最大地址段长度对所述主地址段进行拆分,得到至少一个主地址段。
其中,最大地址段长度可以根据实践经验预先设置,例如可以将统计得到的一条管理元数据的长度值设置为最大地址段长度。如果主地址段的长度小于最大地址段长度,经过拆分后,得到的还是该主地址段,如果主地址段的长度大于最大地址段长度,经过拆分后,可以得到多个主地址段,且拆分得到的每个主地址段的长度均小于等于最大地址段长度。
步骤103:针对至少一个主地址段中的每一主地址段,为该主地址段分配备份地址段,备份地址段的长度与该主地址段的长度一致且位于不同RAID上。
其中,主地址段和分配的备份地址段用于存储相同的管理元数据。
步骤104:将该主地址段和分配的备份地址段添加到管理元数据的备份表中。
需要说明的是,备份表还可包含主地址段的数据状态和备份地址段的数据状态,数据状态用于标识数据的有效性,如果数据状态为无效,表示数据无效,如果数据状态为有效,表示数据有效。基于此,若上述步骤101接收是分配空间指令,在将该主地址段和分配的备份地址段添加到备份表中之后,将该主地址段的无效数据状态和分配的备份地址段的无效数据状态添加到备份表中。
若上述步骤101接收是写指令,在将该主地址段和分配的备份地址段添加到备份表中之后,从写指令携带的写数据中提取该主地址段对应空间大小的写数据,并将提取的写数据写入该主地址段和分配的备份地址段,并根据各自的写入结果将各自的数据状态添加到备份表中。同时,如果写地址段与备份表中的主地址段有交集,需要获取与写地址段存在交集的主地址段,并依据写地址段从获取的主地址段和该主地址段对应的备份地址段中获取待写入主地址段和待写入备份地址段,并依据该主地址段的数据状态和该备份地址段的数据状态,将剩余的写数据写入待写入地址段和待写入备份地址段中,最后依据各自的写入结果再更新各自的数据状态。
在一实施例中,在执行写指令过程中,有的主地址段或备份地址段可能因RAID故障写入数据失败,导致数据状态无效,如果RAID长时间无法修复,导致管理元数据由于长时间无备份,其安全性比较低。
基于此,存储设备可以在后台每隔一定时间,从备份表中获取主地址段的数据状态和备份地址段的数据状态不一致的记录,并检测该记录中无效数据状态对应的主地址段或备份地址段所属的RAID的状态是否可访问;若可访问,则将该记录中有效数据状态对应的备份地址段或主地址段中的数据同步至无效数据状态对应的主地址段或备份地址段中,并在同步成功时,将该记录中的无效数据状态修改为有效数据状态;若不可访问或者同步失败,再从可访问的RAID的空闲空间中,分配有效数据状态对应的备份地址段或主地址段的空间大小的地址段,并将有效数据状态对应的备份地址段或主地址段中的数据同步至分配的地址段中,在同步成功时,用分配的地址段修改无效数据状态对应的主地址段或备份地址段,并将无效数据状态修改为有效数据状态。从而使得管理元数据不会长时间无备份,提高了本申请技术方案的健壮性。
其中,从可访问的RAID的空闲空间中,分配有效数据状态对应的备份地址段或主地址段的空间大小的地址段时,可以优先从与有效数据状态对应的备份地址段或主地址段所属RAID不同的RAID中分配,以确保主数据与备份数据在不同的RAID上存储,其次再尝试从与有效数据状态对应的备份地址段或主地址段所属的RAID中分配。
由上述分析可知,在重新尝试同步管理元数据后,备份表中可能存在主地址段和备份地址段位于同一RAID的记录,从而无法保证在主地址段所在的RAID故障时,再从备份地址段中读取管理元数据。从而,在从备份表中检测到主地址段和备份地址段位于同一RAID的记录时,获取状态为可访问且空闲空间大小大于等于该记录中主地址段的空间大小的RAID,所述RAID非该记录中主地址段位于的RAID,并从获取的RAID的空闲空间中分配该记录中主地址段的空间大小的地址段,然后将该记录中主地址段中的数据同步至分配的地址段中,在同步成功时,用分配的地址段修改该记录中备份地址段,并将备份地址段的数据状态更新为有效,以进一步提高本申请技术方案的健壮性。
需要进一步说明的是,由上述步骤102中描述的如果主地址段的长度小于最大地址段长度,经过拆分后,得到的还是该主地址段的情况,会将粒度小的地址段记录到备份表中,如果粒度小的地址段增多,导致备份表的规模很大,进而影响到IO处理效率。基于此,当在备份表中检测到多个连续的主地址段且该多个连续的主地址段的空间总大小小于等于最大地址段长度时,获取状态为可访问且空闲空间大小大于等于该多个连续的主地址段的空间总大小的RAID(所述RAID非该多个连续的主地址段位于的RAID),并从获取的RAID的空闲空间中分配该多个连续的主地址段的空间总大小的地址段作为备份地址段,并将该多个连续的主地址段中的数据同步至该备份地址段中,在同步成功时,再从备份表中删除该多个连续的主地址段所属的记录,将该多个连续的主地址段合并为一个主地址段和该备份地址段添加到备份表中。从而,通过合并多条主空间连续的记录,使得备份表的规模变小,进而提高IO处理效率。
在本申请实施例中,在接收到携带的数据类型为管理元数据的分配空间指令或写指令时,确定需分配备份空间的主地址段,并按照预设的最大地址段长度对所述主地址段进行拆分,得到至少一个主地址段,然后针对至少一个主地址段中的每一主地址段,为该主地址段分配备份地址段(备份地址段的长度与该主地址段的长度一致且位于不同RAID上),并将该主地址段和分配的备份地址段添加到管理元数据的备份表中。
基于上述描述可知,在分配空间时,通过对需分配备份空间的主地址段,按照最大地址段长度进行拆分,使得备份表中每一地址段的粒度不会太大,从而在RAID中某个LBA地址发生写错误时,不会出现很大的故障域,进而使RAID错误的影响范围得到有效控制,提高了对介质错误的容忍度。
图2为本申请根据一示例性实施例示出的一种存储设备的硬件结构图,该存储设备包括:通信接口201、处理器202、机器可读存储介质203和总线204;其中,通信接口201、处理器202和机器可读存储介质203通过总线204完成相互间的通信。处理器202通过读取并执行机器可读存储介质203中与空间分配方法的控制逻辑对应的机器可执行指令,可执行上文描述的空间分配方法,该方法的具体内容参见上述实施例,此处不再累述。
本申请中提到的机器可读存储介质203可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质203可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
图3为本申请根据一示例性实施例示出的一种空间分配装置的实施例结构图,所述空间分配装置应用在存储设备上,如图3所示,所述空间分配装置包括:
确定单元310,用于在接收到携带的数据类型为管理元数据的分配空间指令或写指令时,确定需分配备份空间的主地址段;
拆分单元320,用于按照预设的最大地址段长度对所述主地址段进行拆分,得到至少一个主地址段;
分配单元330,用于针对所述至少一个主地址段中的每一主地址段,为该主地址段分配备份地址段,所述备份地址段的长度与该主地址段的长度一致且位于不同磁盘阵列RAID上;
添加单元340,用于将该主地址段和分配的备份地址段添加到管理元数据的备份表中。
在一可选实现方式中,所述确定单元310,具体用于若接收到的是分配空间指令,则依据所述分配空间指令携带的待分配大小分配地址段,并将分配的地址段确定为需分配备份空间的主地址段;若接收到的是写指令,则依据所述写指令携带的写地址段和所述备份表中记录的主地址段,确定出需分配备份空间的主地址段,所述需分配备份空间的主地址段与所述写地址段有交集但与所述备份表中记录的主地址段没有交集。
在一可选实现方式中,所述备份表还包含主地址段的数据状态和备份地址段的数据状态,所述装置还包括(图3中未示出):
第一处理单元,用于从所述备份表中获取主地址段的数据状态和备份地址段的数据状态不一致的记录;检测该记录中无效数据状态对应的主地址段或备份地址段所属的RAID的状态是否可访问;若可访问,则将该记录中有效数据状态对应的备份地址段或主地址段中的数据同步至无效数据状态对应的主地址段或备份地址段中,并在同步成功时,将该记录中的无效数据状态修改为有效数据状态;若不可访问或者同步失败,则从可访问的RAID的空闲空间中,分配有效数据状态对应的备份地址段或主地址段的空间大小的地址段,并将有效数据状态对应的备份地址段或主地址段中的数据同步至分配的地址段中;在同步成功时,用分配的地址段修改无效数据状态对应的主地址段或备份地址段,并将所述无效数据状态修改为有效数据状态。
在一可选实现方式中,所述装置还包括(图3中未示出):
第二处理单元,用于从所述备份表中获取主地址段和备份地址段位于同一RAID的记录;获取状态为可访问且空闲空间大小大于等于该记录中主地址段的空间大小的RAID,所述RAID非该记录中主地址段位于的RAID;从获取的RAID的空闲空间中分配该记录中主地址段的空间大小的地址段;将该记录中主地址段中的数据同步至分配的地址段中;在同步成功时,用分配的地址段修改该记录中备份地址段,并将备份地址段的数据状态更新为有效。
在一可选实现方式中,所述装置还包括(图3中未示出):
第三处理单元,用于从所述备份表中,获取多个连续的主地址段且该多个连续的主地址段的空间总大小小于等于最大地址段长度;获取状态为可访问且空闲空间大小大于等于该多个连续的主地址段的空间总大小的RAID,所述RAID非该多个连续的主地址段位于的RAID;从获取的RAID的空闲空间中分配该多个连续的主地址段的空间总大小的地址段作为备份地址段,并将该多个连续的主地址段中的数据同步至该备份地址段中;在同步成功时,从所述备份表中删除该多个连续的主地址段所属的记录,将该多个连续的主地址段合并为一个主地址段和该备份地址段添加到所述备份表中。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种空间分配方法,其特征在于,所述方法包括:
在接收到携带的数据类型为管理元数据的分配空间指令或写指令时,确定需分配备份空间的主地址段;
按照预设的最大地址段长度对所述主地址段进行拆分,得到至少一个主地址段;
针对所述至少一个主地址段中的每一主地址段,为该主地址段分配备份地址段,所述备份地址段的长度与该主地址段的长度一致且位于不同磁盘阵列RAID上;
将该主地址段和分配的备份地址段添加到管理元数据的备份表中,所述备份表还包括主地址段和备份地址段的数据状态,所述数据状态用于标识数据的有效性。
2.根据权利要求1所述的方法,其特征在于,确定需分配备份空间的主地址段,包括:
若接收到的是分配空间指令,则依据所述分配空间指令携带的待分配大小分配地址段,并将分配的地址段确定为需分配备份空间的主地址段;
若接收到的是写指令,则依据所述写指令携带的写地址段和所述备份表中记录的主地址段,确定出需分配备份空间的主地址段,所述需分配备份空间的主地址段与所述写地址段有交集但与所述备份表中记录的主地址段没有交集。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述备份表中获取主地址段的数据状态和备份地址段的数据状态不一致的记录;
检测该记录中无效数据状态对应的主地址段或备份地址段所属的磁盘阵列RAID的状态是否可访问;
若可访问,则将该记录中有效数据状态对应的备份地址段或主地址段中的数据同步至无效数据状态对应的主地址段或备份地址段中,并在同步成功时,将该记录中的无效数据状态修改为有效数据状态;
若不可访问或者同步失败,则从可访问的磁盘阵列RAID的空闲空间中,分配有效数据状态对应的备份地址段或主地址段的空间大小的地址段,并将有效数据状态对应的备份地址段或主地址段中的数据同步至分配的地址段中;在同步成功时,用分配的地址段修改无效数据状态对应的主地址段或备份地址段,并将所述无效数据状态修改为有效数据状态。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
从所述备份表中获取主地址段和备份地址段位于同一磁盘阵列RAID的记录;
获取状态为可访问且空闲空间大小大于等于该记录中主地址段的空间大小的磁盘阵列RAID,所述磁盘阵列RAID非该记录中主地址段位于的磁盘阵列RAID;
从获取的磁盘阵列RAID的空闲空间中分配该记录中主地址段的空间大小的地址段;
将该记录中主地址段中的数据同步至分配的地址段中;
在同步成功时,用分配的地址段修改该记录中备份地址段,并将备份地址段的数据状态更新为有效。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述备份表中,获取多个连续的主地址段且该多个连续的主地址段的空间总大小小于等于最大地址段长度;
获取状态为可访问且空闲空间大小大于等于该多个连续的主地址段的空间总大小的磁盘阵列RAID,所述磁盘阵列RAID非该多个连续的主地址段位于的磁盘阵列RAID;
从获取的磁盘阵列RAID的空闲空间中分配该多个连续的主地址段的空间总大小的地址段作为备份地址段,并将该多个连续的主地址段中的数据同步至该备份地址段中;
在同步成功时,从所述备份表中删除该多个连续的主地址段所属的记录,将该多个连续的主地址段合并为一个主地址段和该备份地址段添加到所述备份表中。
6.一种空间分配装置,其特征在于,所述装置包括:
确定单元,用于在接收到携带的数据类型为管理元数据的分配空间指令或写指令时,确定需分配备份空间的主地址段;
拆分单元,用于按照预设的最大地址段长度对所述主地址段进行拆分,得到至少一个主地址段;
分配单元,用于针对所述至少一个主地址段中的每一主地址段,为该主地址段分配备份地址段,所述备份地址段的长度与该主地址段的长度一致且位于不同磁盘阵列RAID上;
添加单元,用于将该主地址段和分配的备份地址段添加到管理元数据的备份表中,所述备份表还包括主地址段和备份地址段的数据状态,所述数据状态用于标识数据的有效性。
7.根据权利要求6所述的装置,其特征在于,所述确定单元,具体用于若接收到的是分配空间指令,则依据所述分配空间指令携带的待分配大小分配地址段,并将分配的地址段确定为需分配备份空间的主地址段;若接收到的是写指令,则依据所述写指令携带的写地址段和所述备份表中记录的主地址段,确定出需分配备份空间的主地址段,所述需分配备份空间的主地址段与所述写地址段有交集但与所述备份表中记录的主地址段没有交集。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一处理单元,用于从所述备份表中获取主地址段的数据状态和备份地址段的数据状态不一致的记录;检测该记录中无效数据状态对应的主地址段或备份地址段所属的磁盘阵列RAID的状态是否可访问;若可访问,则将该记录中有效数据状态对应的备份地址段或主地址段中的数据同步至无效数据状态对应的主地址段或备份地址段中,并在同步成功时,将该记录中的无效数据状态修改为有效数据状态;若不可访问或者同步失败,则从可访问的磁盘阵列RAID的空闲空间中,分配有效数据状态对应的备份地址段或主地址段的空间大小的地址段,并将有效数据状态对应的备份地址段或主地址段中的数据同步至分配的地址段中;在同步成功时,用分配的地址段修改无效数据状态对应的主地址段或备份地址段,并将所述无效数据状态修改为有效数据状态。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二处理单元,用于从所述备份表中获取主地址段和备份地址段位于同一磁盘阵列RAID的记录;获取状态为可访问且空闲空间大小大于等于该记录中主地址段的空间大小的磁盘阵列RAID,所述磁盘阵列RAID非该记录中主地址段位于的磁盘阵列RAID;从获取的磁盘阵列RAID的空闲空间中分配该记录中主地址段的空间大小的地址段;将该记录中主地址段中的数据同步至分配的地址段中;在同步成功时,用分配的地址段修改该记录中备份地址段,并将备份地址段的数据状态更新为有效。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第三处理单元,用于从所述备份表中,获取多个连续的主地址段且该多个连续的主地址段的空间总大小小于等于最大地址段长度;获取状态为可访问且空闲空间大小大于等于该多个连续的主地址段的空间总大小的磁盘阵列RAID,所述磁盘阵列RAID非该多个连续的主地址段位于的磁盘阵列RAID;从获取的磁盘阵列RAID的空闲空间中分配该多个连续的主地址段的空间总大小的地址段作为备份地址段,并将该多个连续的主地址段中的数据同步至该备份地址段中;在同步成功时,从所述备份表中删除该多个连续的主地址段所属的记录,将该多个连续的主地址段合并为一个主地址段和该备份地址段添加到所述备份表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811424711.6A CN109597712B (zh) | 2018-11-27 | 2018-11-27 | 空间分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811424711.6A CN109597712B (zh) | 2018-11-27 | 2018-11-27 | 空间分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109597712A CN109597712A (zh) | 2019-04-09 |
CN109597712B true CN109597712B (zh) | 2021-04-23 |
Family
ID=65958813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811424711.6A Active CN109597712B (zh) | 2018-11-27 | 2018-11-27 | 空间分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109597712B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2673554C (en) * | 2009-07-21 | 2017-01-03 | Ibm Canada Limited - Ibm Canada Limitee | Web distributed storage system |
US10055343B2 (en) * | 2015-12-29 | 2018-08-21 | Memory Technologies Llc | Memory storage windows in a memory system |
CN108008911A (zh) * | 2016-11-01 | 2018-05-08 | 阿里巴巴集团控股有限公司 | 读写请求处理方法及装置 |
KR102680418B1 (ko) * | 2016-11-29 | 2024-07-03 | 삼성전자주식회사 | 컨트롤러 및 컨트롤러와 불휘발성 메모리 장치들을 포함하는 스토리지 장치 |
TWI639917B (zh) * | 2017-04-25 | 2018-11-01 | 慧榮科技股份有限公司 | 資料儲存裝置及映射表重建方法 |
-
2018
- 2018-11-27 CN CN201811424711.6A patent/CN109597712B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109597712A (zh) | 2019-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106548789B (zh) | 用于操作叠瓦式磁记录设备的方法和装置 | |
US8356148B2 (en) | Snapshot metadata management in a storage system | |
US8909883B2 (en) | Storage system and storage control method | |
US9274723B2 (en) | Storage apparatus and its control method | |
WO2011033692A1 (ja) | ストレージ装置及びそのスナップショット制御方法 | |
US8332581B2 (en) | Stale track initialization in a storage controller | |
CN102096561B (zh) | 分层数据存储处理方法、装置以及存储设备 | |
JP2004342050A (ja) | 複数のスナップショット維持方法及びサーバ装置及びストレージ装置 | |
US20130103902A1 (en) | Method and apparatus for implementing protection of redundant array of independent disks in file system | |
US8019953B2 (en) | Method for providing atomicity for host write input/outputs (I/Os) in a continuous data protection (CDP)-enabled volume using intent log | |
CN103019890A (zh) | 一种块级别的磁盘数据保护系统及其方法 | |
US11449402B2 (en) | Handling of offline storage disk | |
CN111913664B (zh) | 一种数据写入方法及装置 | |
CN108491290B (zh) | 一种数据写入方法及装置 | |
CN111444114B (zh) | 一种非易失性内存中数据的处理方法、装置及系统 | |
CN109558068B (zh) | 数据迁移方法及迁移系统 | |
CN109582235B (zh) | 管理元数据存储方法及装置 | |
WO2017041670A1 (zh) | 数据修复方法及装置 | |
CN109344011B (zh) | 一种数据备份方法及装置 | |
CN109597712B (zh) | 空间分配方法及装置 | |
CN115599589B (zh) | 一种数据恢复方法及相关装置 | |
CN109508140B (zh) | 存储资源管理方法、装置、电子设备及电子设备、系统 | |
CN107545022B (zh) | 磁盘管理方法及装置 | |
CN109597573B (zh) | 管理元数据读取方法及装置 | |
CN107491263B (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 |