CN102945212A - 汇集分区布局和表示 - Google Patents

汇集分区布局和表示 Download PDF

Info

Publication number
CN102945212A
CN102945212A CN2012103335648A CN201210333564A CN102945212A CN 102945212 A CN102945212 A CN 102945212A CN 2012103335648 A CN2012103335648 A CN 2012103335648A CN 201210333564 A CN201210333564 A CN 201210333564A CN 102945212 A CN102945212 A CN 102945212A
Authority
CN
China
Prior art keywords
space
subregion
memory storage
storage
pond
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
CN2012103335648A
Other languages
English (en)
Other versions
CN102945212B (zh
Inventor
K.梅拉
E.帕莱奥罗古
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102945212A publication Critical patent/CN102945212A/zh
Application granted granted Critical
Publication of CN102945212B publication Critical patent/CN102945212B/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0644Management of space entities, e.g. partitions, extents, pools
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一组存储装置可以互操作以共享存储空间池,如,在廉价磁盘冗余阵列(RAID)机制中。然而,池的表示和容量向池分配的细节可以实现优点和/或在存储集合上施加限制。本文中呈现的是用于生成表示一个或多个存储装置上汇集分区的技术,特征在于把池表示成池表现的一组空间的池配置;共享池的一组存储装置;以及向空间的逻辑区域映射存储装置的物理区域的一组扩展。这些汇集技术的灵活性可以实现诸如灵活容量分配、延迟绑定、精简指配、以及存储装置参与和存储装置的不同集合共享的两个或更多个不同池的特征。

Description

汇集分区布局和表示
背景技术
在运算的领域内,许多场景涉及可以通过各种方式分配的一个或更多个存储装置(例如,基于盘片的磁和/或光学硬盘驱动、固态存储装置、以及非易失性存储器电路)的集合。作为第一实例,可以把存储装置提供的存储空间分组到一个或更多个分区中,每个分区可以存储与操作环境中反映的一个或更多个逻辑驱动相关联的数据。作为第二实例,可以通过许多方式组合两个或更多个存储装置的容量以提供额外存储特征,例如,提供诸如吞吐量改进、自动镜像、以及自动奇偶运算的特征的各种廉价磁盘冗余阵列(RAID)机制。作为第三实例,存储空间可以对于一个或更多个计算机是可访问的(例如,网络上的数个计算机同时可访问的网络附接存储装置)。这种装置还可以提供较多复杂技术,如,日志(journaled)空间和精简指配(thin provisioning)。
这种场景中涉及的设计选项得到表明存储集合的存储装置提供的数量、类型、容量、分配、以及特征的元数据,以及一个或更多个存储装置的汇集(pooling)布置。可以通过许多方式(如,在存储控制器(例如,被配置成存储有关应用于存储装置的RAID机制的信息的RAID控制器)的存储器中、或者在存储集合的一个或更多个存储盘上的标准化地点中)存储此元数据。例如,存储装置可以在存储空间的开始处包括列出存储装置上存储的分区的数量、地点、大小、以及类型的主引导记录(MBR),以及,在存储空间的结束处包括表明分区显露的逻辑驱动的逻辑盘模式(LDM)数据库。
发明内容
提供此发明内容以介绍下面在具体实施方式中进一步描述的简化形式的概念的选择。此发明内容并非意在识别要求保护主题的关键因素或必要特征,它也并非意在用来限制要求保护主题的范围。
维持描述存储集合的元数据的方式可以呈现各种优点和/或缺点。作为第一实例,存储控制器的存储器中存储的元数据可以迅速可访问,但是会使存储装置向不同存储控制器或计算机的移植复杂化(例如,如果向不同机器或阵列重新定位存储装置,则存储装置上的数据会在未把分区信息存储在相同存储装置上的情况下不可访问)。作为第二实例,在后续故障的仅一个存储装置上存储阵列的元数据会导致存储集合的存储装置中数个或所有存储装置上数据的丢失。作为第三实例,同时与各自可以更新元数据的两个或更多个计算机共享存储装置会导致元数据的镜像版本之中的竞争情况和/或版本冲突。作为第四实例,以新方式把元数据存储在存储装置上会减少存储装置与其它存储装置和/或计算机的兼容性和/或可访问性(例如,元数据可能无法通过未相应配置的装置可读取和/或可使用),以及会导致元数据的重写和数据和/或功能性的损失。作为第五实例,一些表示可能无法准许存储装置参与存储装置的不同集合上分布的多个存储池(例如,与存储装置的第一集合共享的第一汇集分区和与存储装置的第二、不同集合共享的第二汇集分区)、或者参与不同角色中的相同存储池(例如,特征在于包括用户数据的第一分区、以及在相同存储装置上针对用户数据的奇偶数据分配的第二分区的汇集分区的单个存储装置)。
本文中呈现的是用于存储元数据的技术,所述元数据标识存储集合中的存储装置和存储空间、以及存储装置的指配和汇集布置。按照这些技术,一个或更多个存储装置可以共享包括池配置和扩展集合的汇集分区。池配置可以把汇集分区表示成池记录(用于识别池);表示汇集分区所表现的各种空间的一组空间记录(例如,用户数据的卷、维护空间、以及存储用户数据的日志的日志空间);表示参与池的存储装置的一组存储装置记录;以及向汇集分区的空间内的逻辑地点映射存储装置上汇集分区内分配的物理地点的一组扩展记录。可以通过镜像方式把池配置存储在每个存储装置的汇集分区的顶部以提供对任何存储装置上汇集分区的一致元数据表示的访问。可以通过生成表示空间的空间记录(可以包括空间的指配容量)完成用以表现汇集分区内空间的请求。也可以向该空间分配和绑定扩展以向该空间分配物理容量。可以在创建空间后立即执行此绑定、或者可以延迟直至该空间的容量被利用。另外,在访问汇集分区的计算机之中,可以识别排他地准许更新池配置的池配置所有者,可以向池配置所有者转发用以变换池配置(例如,添加空间或向空间分配扩展)的任何请求。
汇集分区的此表示可以实现优于汇集分区其它表示的数个优点。作为第一实例,由于在共享汇集分区的每个存储装置上对池配置进行镜像,所以在重新定位存储装置(例如,向不同机器或不同存储阵列)的情况下、或者在共享汇集分区的另一存储装置崩溃或变得不可用的情况下,存储装置的汇集分区内的数据会仍然可访问。作为第二实例,此表示把空间的指配与扩展的分配区分,可以通过延迟方式(如,基于准时制)执行此内容。此区分可以实现存储集合各种类型的灵活性,如,重新分配扩展以调节空间大小的轻松方式、不涉及存储装置上容量分配的快速指配技术、以及精简指配的能力(例如,在具有如下这种选项的情况下,指配容量超过存储装置可用物理容量的空间:随着空间容量耗尽通过以额外存储装置的形式添加物理存储容量来完成指配容量)。作为第三实例,以此方式表示的汇集分区可以跨越相同存储装置上的两个或更多个分区。作为第四实例,第一汇集分区可以与非汇集分区(其可以在未辨识汇集分区的存储系统上可访问)共存。作为第五实例,存储装置可以存储分别与其它存储装置的不同集合共享的两个或更多个汇集分区。作为第六实例,可以访问存储装置的计算机或装置之中池配置所有者的选择可以减少竞争情况,该竞争情况会导致如若不然会在两个或更多个装置同时更新池配置的情况下出现的池配置异步。这些和其它优点可以通过根据本文中呈现的技术对汇集分区的表示可取得。
为了以上和相关结论的实现,以下描述和附图叙述某些示例性方面和实施。这些表明可以采用一个或更多个方面的各种方式中的仅一些方式。本公开的其它方面、优点、以及新颖特征将会在结合附图考虑时根据以下具体实施方式而变得明显。
附图说明
图1是特征在于将存储装置的容量分配到一组分区、以及存储装置上分区配置的表示的示范性场景的示例。
图2是特征在于将存储集合的容量按照廉价磁盘冗余阵列(RAID)5级存储机制分配到跨越数个存储装置的卷中的示范性场景的示例。
图3是特征在于将两个存储装置的容量分配到跨越存储装置的动态分区、以及存储装置上动态卷的表示的示范性场景的示例。
图4是按照本文中呈现的技术,特征在于汇集分区(包括共享汇集分区的存储装置上分配的一组扩展所绑定的一组空间)的分配、以及存储装置上汇集分区的表示的示范性场景的示例。
图5是按照本文中呈现的技术,特征在于包括两个池(各自与不同其它存储装置共享)的存储装置、以及存储装置上汇集分区的表示的示范性场景的示例。
图6是示例了按照本文中呈现的技术分派包括至少两个存储装置的存储集合的示范性方法的流程图示例。
图7是包括被配置成实施本文中叙述的指配中一个或更多个指配的处理器可执行指令的示范性计算机可读介质的示例。
图8是用于指配存储装置的汇集分区内的空间和向空间分配扩展的第一示范性技术的示例。
图9是用于指配存储装置的汇集分区内的空间和向空间分配扩展的第二示范性技术的示例。
图10是用于指配存储装置的汇集分区内的空间和向空间分配扩展的第三示范性技术的示例。
图11示例了可以实施本文中叙述的指配中一个或更多个指配的示范性运算环境。
具体实施方式
现在参照图描述要求保护的主题,其中,通篇使用相似附图标记指代相似元件。在以下描述中,为了解释的目的,叙述众多具体细节以提供要求保护主题的透彻理解。然而可以在没有这些具体细节的情况下实践要求保护的主题可以是显然的。在其它实例中,以方框图形式示出结构和装置以便于描述要求保护的主题。
A. 介绍
在运算的领域内,许多场景涉及被配置成代表一个或更多个计算机或其它装置存储数据的存储装置(例如,硬盘驱动、固态存储装置、或者易失性或非易失性存储器电路)。存储的数据可以包括许多类型的对象(例如,文件、媒体对象、媒体对象、数据集合、或者数据库记录)和可以通过各种方式(例如,作为标称对象的集群、作为层级、或者以相关方式)组织。然而,在较低级别,常常根据装置可使用的布局配置存储装置;例如,无论要存储数据的类型和组织如何,均常常以计算机和其它装置能够读取的特定方式组织(例如,组织)存储装置。作为一个这种实例,存储装置的可用容量常常组织为一组分区,并且存储装置的开始处生成的分区表表明分区的地点、大小、以及类型。将存储装置的容量分离为卷可以提供各种优点(例如,不同分区可以隔离不同组的数据;可以用来表现不同卷;或者可以通过不同方式组织以存储不同类型的数据、和/或以存储数据以便在利用不同类型分区的不同计算机或装置上访问)。
图1呈现了特征在于数据存储容量作为一系列分区104组织的存储装置102的示范性场景100的示例。在此示范性场景100中,各分区104被配置成存储各种类型的用户数据114,包括可以在计算机或装置上表现、通过文件系统进一步格式化、以及用来存储一组文件的一个或更多个逻辑卷106。例如,存储装置102可以包括第一分区104,其以基本方式组织,并且能够存储包括主文件表108的一个逻辑卷106,该主文件表108表示包括逻辑卷106用户数据112的文件目录。存储装置102还可以包括以扩展方式组织、以及因此能够存储多于一个逻辑卷106的第二分区106。例如,第二分区106可以包括两个逻辑卷106,每个包含在第三分区106中(在扩展的第二分区106内),第三分区106又包括含有逻辑卷106的数据。有关顶级分区104的信息可以包含在分区表110中,该分区表存储在存储装置102的可用容量的开始处并且包含每个分区104的元数据,所述元数据包括分区104开始的物理地点、分区104是否包括用以使得计算机能够引导到操作环境中的信息、和/或识别分区104类型(例如,第一分区104的基本分区类型和第二分区104的扩展分区类型)的分区类型指示符,扩展的第二分区104可以在每个包含的分区108之前加上主文件表(MFT)(其包括有关包含的分区108的元数据)。以此方式,存储装置102的容量可以组织为一组分区104,每个分区包括一个或更多个逻辑卷106,以及因此可以显露把存储装置102的存储容量划分到数个逻辑卷106中。
虽然图1的示范性场景100中分区104的示范性格式可以满足一些场景,但会期望以实现一些额外特征的方式设计格式。作为第一实例,会期望建立两个或更多个分区104之间的关系,如,镜像关系(其中,在每个分区104中存储相同数据集合,以及其中,向其它分区104自动传播一个分区104内数据的改变)。这种镜像在数据损坏的情况下可以促进数据集合的持久性;例如,在分区104损坏、或者包括分区104的存储装置102故障的情况下,数据集合可以在第二分区104(可以在不同存储装置102上)中镜像的情况下仍然完好和可访问。镜像也可以改进性能;例如,第一存储装置102可以限于一组性能特性(例如,发起访问请求的过程中涉及的最小延迟、或者在访问数据的情况下的最大可承受吞吐量),在两个或更多个存储装置102上对数据集合进行镜像可以实现表示全部存储装置102的总和的性能特性。一些格式的存储装置102可以实现的第二特征是两个或更多个存储装置102的分区104上数据集合的跨越。例如,在图1的示范性场景100中,逻辑卷106的大小限于包括逻辑分区106的分区104的大小,逻辑分区106继而限于存储装置102的可用容量。然而,其它格式可以实现一个或更多个存储装置102的两个或更多个分区的汇集,从而超过任何一个分区104或存储装置102的大小限制。还可以构想存储装置102的格式化以促进检错和纠错(例如,对于各数据集合,存储装置102可以自动生成和存储一组验证器,如,校验和,其可以与数据集合的内容相比较以检测会不正确写入的数据)和对数据集合的共享访问(例如,存储装置102可以在不把数据集合显露给基于写的竞争情况(这会导致对数据集合的不一致或非确定性更新)的情况下实现多个计算机或其它装置)。
相应地,可以扩展图1的示范性场景100中展现的基本格式以实现诸如镜像、同时访问、容错、以及检错和纠错的特征。例如,可以根据廉价磁盘冗余阵列(RAID)机制(其可以在硬件和/或软件中实施以实现这些特征)组织一组存储装置102。作为第一实例,在RAID 0机制中,作为单个逻辑卷104呈现数个存储装置102的数个分区104中存储的数据。作为第二实例,在RAID 1机制中,在一个或更多个存储装置102上的数个分区104上自动镜像存储的数据,从而在存储装置102或分区104变得不可靠或不可访问的情况下实现对数据集合的较快速访问和/或容错。作为第三实例,在RAID 4机制中,针对数据集合的各部分运算校验和,其可以用来验证数据集合的完整性(例如,写入到数据集合的数据从数据集合被一致地读取、以及在存储期间未不经意地改变)、和/或用来从分区104和/或存储装置102的故障恢复(例如,如果存储装置102的分区104变得损坏,或者如果存储装置102被去除,则分区104中包含的数据可以使用丢失数据的校验和以及校验和表示的数据集合的其它部分可恢复)。RAID机制、以及其它格式规范,从而通过存储装置102上数据的特定组织和访问实现这些和其它特征。
图2呈现了特征在于根据RAID 4机制对四个存储装置102的集合格式化以建立具有特定存储特征的容量的池202的示范性场景200的示例。在此示范性场景200中,各存储装置102被配置成在数个分区104上扩展的逻辑卷106中存储用户数据114,以及自动生成和存储奇偶数据204以在存储装置102故障的情况下验证用户数据114的完整性和恢复数据集合。相应地,每个存储装置102可以在包括描述存储装置102的分区104的元数据的存储装置102的开始处存储分区表110。每个存储装置102也存储分区104。前三个存储装置102的分区104被配置成呈现单个逻辑卷106(例如,主文件表112和用户数据114)的池202。另外,第四存储装置102的容量包括在池202中但是为奇偶数据204保留,该奇偶数据204针对前三个存储装置102中存储的相应数据集合而自动计算。例如,对于前三个存储装置102的分区104中的特定物理地址处存储的数据字,可以运算字长校验和并将其存储在第四存储装置102的分区104中的同样物理地址中。存储装置RAID 4布局的此格式化因此实现存储装置102容量的聚集以生成呈现逻辑卷106的池202和可以改进存储集合102容错的验证器数据。
然而,图2的示范性场景200中的布局会呈现一些限制。作为第一实例,RAID 4机制会仅能够汇集具有匹配特性的存储装置102;例如,可能不会通过变化容量的存储装置102(例如,一千兆字节存储装置102和两千兆字节存储装置)应用此机制。此限制可以源自针对前三个存储装置102上数据集合的相应物理地址、在第四存储装置102对校验和的运算;例如,算法会无法使这些运算(无性能削减)适用于不同大小的存储装置102。作为第二实例,RAID 4机制可以展现包括性能特性不同的存储装置102的存储集合的削减的一致性、可靠性、和/或性能(例如,即使在使存储装置102大小相同的情况下,不同型式和/或模型的存储装置102的延时和吞吐量特性的差异也会导致存储集合的问题或性能削减)。作为第三实例,存储装置102的相互依存可以削减任何一个存储装置102的便携性。例如,因为描述存储装置102内容的元数据会与其它存储装置102和/或其控制器相关,所以在传送给不同阵列的情况下可能不会访问存储装置102的内容(例如,可以把描述池202的元数据存储在RAID控制器的单独存储器组件上,向不同RAID控制器传送一个或更多个存储装置102会不能传送元数据,而导致数据集合的不可访问)。作为第四实例,这些存储装置102的格式化可以仅由被配置成支持RAID 4机制的系统(例如,存储控制器和软件)可使用。作为第五实例,此机制可以利用全部存储装置102的所有容量。因此,可能不会分配这些存储装置102上的一些容量以便在池202的外部使用,例如,作为池202外部的第二分区104、或者作为参与具有同样或其它存储装置102的另一池202的分区104。此外,难以在一组存储装置102上实施不同RAID机制,例如,RAID控制器可以被配置成向它的部署处全部存储装置102的整个容量应用一个RAID机制。
图3呈现了特征在于按照可以克服图2示范性场景200的一些限制的逻辑盘管理器(LDM)机制对存储装置102示范性格式化的示范性场景300的示例。在此示范性场景300中,组织两个存储装置102以利用分区表110开始,后续是动态分区302,其包括一组子盘304、表示可以聚集以表现逻辑卷106的邻近物理地址的大型、分配块、包括跨越这两个存储装置102的逻辑卷106和表示第一存储装置102的动态分区302和第二存储装置102的动态分区302容量的池202。可以通过逻辑方式表示动态分区,例如,作为从第一存储装置102的动态分区302中存储的第一子盘304和第二存储装置102的动态分区302中存储的第二子盘304聚集的逻辑地址的序列。虽然包括不同存储装置102上物理地址的单独块,但子盘304被聚集并作为逻辑地址的邻近块表现。另外,把池202的元数据存储在逻辑盘管理器(LDM)数据库306中,该数据库位于把存储装置102的子盘304的分配表示成逻辑卷106的每个存储装置102的结束处。例如,在此示范性场景300中,逻辑盘管理器数据库306表明第一存储装置102包括两个子盘304,第二存储装置102包括一个子盘304,但是第一存储装置102的第一子盘304表现为第一逻辑卷106,而第一存储装置102的第二子盘304和第二存储装置102的唯一子盘304一起表现为第二逻辑卷106。此外,逻辑盘管理器数据库306在这两个存储装置102上被镜像,因此通过每个存储装置102可移动以表明其中包含的动态分区302的逻辑表现。
具有逻辑盘管理器数据库306的存储装置102的格式化可以呈现一些优点。作为第一实例,相比于图1中示例的示范性场景100而言,逻辑盘管理器数据库306实现了多个存储装置102上子盘304的池202的表示。另外,相比于图2的示范性场景200而言,可以在不同大小和/或不同性能特性的存储装置102(例如,图3中的第一和第二存储装置102可以具有通过存储控制器不同的不同制造商生成的不同总容量)上实施图3的示范性场景300中示例的格式化。另外,进一步相比于图2中示例的示范性场景200而言,逻辑盘管理器数据库306可以实现池202与其它分区104的共存,所述其它分区104未包括在池202中(例如,第一存储装置102上的第一分区104)、以及可以通过无法使用逻辑盘管理器数据库306的系统(例如,存储控制器和软件)可访问和可使用。
然而,使用逻辑盘管理器数据库306表示子盘304的池202也会呈现一些限制。作为第一实例,许多逻辑盘管理器数据库306仅能够表示一个池202,会难以扩展逻辑盘管理器数据库306以表示子盘304的多个池202。作为第二实例,存储装置104的结束处逻辑盘管理器数据库306的地点会限制逻辑盘管理器数据库306的大小,扩充逻辑盘管理器数据库306会涉及在每个存储装置102上不同地点处重新写入整个逻辑盘管理器数据库306。作为第三实例,会难以表示包括分区104的仅一部分的逻辑卷106的表现。例如,以及如与图1的示范性场景100中类似示例的,把每个分区104整个分配给一个逻辑卷106。因为此对应性,会难以通过灵活方式(例如,使分区104的容量分布在两个或更多个逻辑卷106上)分配分区104,调节逻辑卷106(包括其中包含的子盘304)的大小会涉及显著变换存储装置102的分区104(例如,调节逻辑卷106的大小会涉及重新分配分区104,可能涉及分区104中存储的数据的完全重写)。
B. 呈现的技术
本文中呈现的是用于格式化存储装置102的技术,其可以解决其它格式化技术的一些限制,包括图3中示范性场景中逻辑盘管理器(LDM)数据库306展现的那些。按照这些技术,可以构想如下这种格式:以便于各种存储特征的实施的方式组织存储装置102的可用容量(例如,多个存储装置102共享的存储容量的一个或更多个池202的生成;各种协调存储特征的规范和自动应用,如,RAID 1阵列中的镜像或RAID 4阵列中的校验和;以及通过多个计算机或装置的同时访问)。这种技术也可以促进存储装置102上存储的存储集合的健壮性(例如,在重新定位到不同存储控制器的情况下存储装置102的元数据的预留);组织的灵活性(例如,便于分区104的大小调节、存储装置102可用容量的分配和重新分配)以及组织与其它组织技术的兼容性(例如,使得存储装置能够包括这两个较复杂组织结构,如,与其它存储装置102同步的存储池202,以及标准化结构,如,基本分区104)。
因此,按照这些和其它考虑,本文中呈现的技术涉及组织存储装置102以包括分别可以与其它存储装置102共享和可以实施各种存储特征(例如,不同RAID机制或其它特征)的一个或更多个汇集分区。在存储装置102的粗略粒度视图中,以与其它分区104类似的方式(例如,作为分区表110中留出和索引的可用容量的块)分配汇集分区。因而,汇集分区可以与不同类型的其它分区104共存。然而,以不同方式利用汇集分区的容量。作为第一实例,把描述汇集分区的元数据不存储在单独结构(例如,逻辑盘管理器数据库306)中,而是在汇集分区内,从而使得能够在任意不同类型(例如,与其它存储装置102的不同集合共享,和/或实施不同RAID机制或其它存储特征)的同样存储装置102上存储多个汇集分区。作为第二实例,汇集分区可以定义可以表示不同构造(例如,存储用户数据的逻辑卷106;空间的维护元数据,如,建议重新同步的过时或建议存储装置102替换的故障;或者被配置成向存储集合写入的临时存储库的日志)的一组空间。此外,并非把分区102的容量整个分配给一个逻辑卷106、或者在少量大型、邻近块中分配给少量逻辑卷106,可以把汇集分区的容量分配在可以映射到各空间的小块(在本文中称作“扩展”)中。可以把这些关联存储在汇集分区配置中。此外,关联可以便于空间的大小调节(例如,通过分配或释放扩展)、以及其它特征,如,延迟空间扩展的指配和/或绑定,从而实现诸如精简指配的特征。这些和其它特征可以通过根据本文中呈现的技术对存储装置102的格式化和组织可取得。
图4呈现了特征在于可以实现这些和其它特征的存储装置102的示范性表示的示范性场景400的示例。为了对比,在图3的示范性场景300中,逻辑盘管理器数据库306把存储装置102的指配表示成通过各动态分区302中存储的一组子盘304关联的一组逻辑卷106和一组存储装置102。在此示范性场景400中,把指配表示成池404(例如,通过存储池404的元数据的池记录(如,池404的和识别池404所有者的名称)表示)、以及表示成从池404表现的一组空间406(例如,通过存储各空间406元数据的空间记录(如,空间406的名称、空间406的类型、空间406的指配容量、以及空间406实施的存储特征,如,RAID机制)表示)。池404可以表现许多类型的空间406,包括提供用户数据容量的逻辑卷106;存储有关池404其它空间406的元数据的维护空间410,如,表示各空间406健康(例如,过时、故障、或者不可用)的健康指示符412;存储其它空间406的校验和的校验和空间,如,在RAID 4机制中;以及被配置成可以暂时存储要向另一空间406写入的数据集合的日志的日志空间(例如,以促进批量写入和/或减少RAID写入口)。物理上,把指配表示成一组存储装置102(例如,通过存储了存储装置102元数据(包括名称和总容量)的存储装置记录表示)、以及表示与各空间406相关联的存储装置102分配部分的一组扩展408(例如,通过向空间406的逻辑地址范围映射存储装置102物理地址范围的扩展记录来表示)。池配置402因而表示存储装置102的物理容量向池404的指配(其通过向池404内表现的空间406分配的扩展408的关联)。
图5呈现了示例使用图4的示范性场景400中示例的表示来组织存储装置102的示范性场景500的示例。在此示范性场景500中,第一存储装置102可以被配置成存储两个池404,与第二存储装置102共享第一个池404,与第三存储装置102共享第二个池404。第一存储装置102以分区表110开始,后续是第一汇集分区404,该分区包括结合第二存储装置102上存储的第二汇集分区404表现的空间。这两个汇集分区404以池配置402开始,该池配置包括根据图4中示例的表示的组织描述存储装置102的指配的记录。池配置402识别从池104表现的一组空间406,以及表明在空间406的一组逻辑地址分别映射的第一和第二存储装置102的汇集分区404内分配的扩展408(例如,物理分配)。例如,第一存储装置102的第一汇集分区404存储分别作为维护空间(例如,图4中示例的示范性维护空间410)、存储用户数据的两个扩展408;以及表示汇集分区404的一个或更多个其它扩展408和/或空间406的日志的扩展408来利用的四个扩展408。所述分配可以提供用于空间逻辑容量的物理存储空间(例如,扩展408)指配的过程中的一些灵活性(例如,第二空间406以第一存储装置102的第二扩展408开始,通过第一存储装置102的第三扩展406继续,以及在逻辑上后续是第二存储装置102上的第二扩展408)。池配置402也可以表示空间408之中各种类型的关系,如,第一存储装置102的维护空间和第二存储装置102的第一汇集分区404内相应维护空间的镜像504。此外,与第二存储装置102共享的第一存储装置102上的第一汇集分区404可以与第一存储装置102上存储的第二汇集分区404共存以及与第三存储装置102、以及基本分区104共享。
按照本文中呈现的技术对图4-5的示范性场景400、500中存储装置102的组织可以实现针对其它组织(包括图1-3中呈现的那些)的一些优点。作为第一实例,池配置402实现不同类型空间406(例如,维护空间、用户数据空间、以及日志空间)的规范、以及要向每个空间406应用的存储特征的规范(这实现对于不同空间406的对不同存储特征(如,不同RAID机制)的使用)。作为第二实例,池配置402可以定义池404表现的一组空间406,但是可以呈现在包括存储装置102物理容量的扩展408向池404的空间406分配的过程中的一些灵活性。例如,通过分配一系列小扩展408而非诸如子盘304的大块,此组织实现了通过扩展408的重新分派对空间406的精细粒度的大小调节。另外,可以为空间406指配特定大小,但是实施例可以分配扩展408并在稍后时刻(例如,当接收到向尚未绑定到扩展404的空间406内的地点写入时)把扩展408的物理地址绑定到空间406的逻辑地址。延迟分配和延迟绑定的这些概念可以实现存储装置102的格式化(例如,不需要在接收用以创建空间406的请求后分配和初始化全部扩展408)和过度指配(例如,创建定义的容量超过存储装置102可用容量508的空间406,当空间406的使用容量耗尽可用容量508时,提示用户向存储集合添加容量)的迅速完成。这些和其它特征可以通过如图4-5的示范性场景400、500中所示例的和按照本文中呈现的技术对存储装置102的组织可取得。
C. 示范性实施例
图6呈现了示例为组织包括至少两个存储装置102的存储集合的示范性方法600的这些技术的示范性实施例的示例。实施示范性方法600可以例如实施为在装置的存储器组件(例如,存储器电路、硬盘驱动的盘片、固态存储器组件、或者磁或光盘)中存储的一组指令,当指令由装置的处理器执行时使得装置执行本文中呈现的技术。示范性方法600在602开始和涉及在处理器上执行604指令。具体地,指令被配置成在至少两个汇集存储装置102的存储区域内,生成606包括池配置402的汇集分区502。池配置402指定608、610存储汇集分区402的汇集存储装置102、以及汇集分区402内表示的至少一个空间406。指令还被配置成在接收到612用以分配空间406的扩展408的请求后、在汇集分区402内分配614空间406的扩展408,以及使扩展408与池配置402中的空间406相关联。以此方式,所述指令是实现根据本文中呈现的技术对存储装置102的组织,示范性方法600如此在618结束。
另一实施例涉及包括处理器可执行指令的计算机可读介质,所述指令被配置成应用本文中呈现的技术。这种计算机可读介质可以包括例如涉及有形装置的计算机可读存储介质,如,存储器半导体(例如,利用静态随机访问存储器(SRAM)、动态随机访问存储器(DRAM)、和/或同步动态随机访问存储器(SDRAM)技术的半导体)、硬盘驱动的盘片、闪存装置、或者磁或光盘(如,CD-R、DVD-R、或者软盘),编码一组计算机可读指令,该指令在通过装置的处理器执行时使得装置实施本文中呈现的技术。这种计算机可读介质还可以包括(作为与计算机可读存储介质不同的一类技术)各种类型的通信介质,诸如,如下信号:其可以通过各种物理现象(例如,电磁信号、声波信号、或者光学信号)和在各种有线场景(例如,经由以太网或光纤线缆)和/或无线场景(例如,诸如WiFi的无线局域网(WLAN)、诸如蓝牙的个域网(PAN)、或者蜂窝或无线电网络)中传播;以及其编码一组计算机可读指令,当该指令由装置的处理器执行时使得装置实施本文中呈现的技术。
在图7中示例了可以通过这些方式构想的示范性计算机可读介质,其中,实施方式700包括其上是编码的计算机可读数据704的计算机可读介质702(例如,CD-R、DVD-R、或者硬盘驱动的盘片)。此计算机可读数据704又包括被配置成根据本文中叙述的原理操作的一组计算机指令706。在一个这种实施例中,处理器可执行指令706可以在被装置710的处理器712执行时使得装置710执行组织存储装置102的容量的方法,如,图6的示范性方法600。此计算机可读介质的一些实施例可以包括被配置成存储以此方式配置的处理器可执行指令的非暂时性计算机可读存储介质(例如,硬盘驱动、光盘、或者闪存装置)。本领域普通技术人员可以构想被配置成按照本文中呈现的技术操作的许多这种计算机可读介质。
D. 变化
可以通过许多方面的变化构想本文中讨论的技术,一些变化可以针对这些和其它技术的其它变化而呈现额外优点和/或减少缺点。此外,可以组合实施一些变化,一些组合可以通过协同合作来刻画额外优点和/或减少的缺点。可以在各种实施例中合并所述变化以在这种实施例上赋予各自和/或协同的优点。
D1. 场景
可以在这些技术的实施例中变化的第一方面涉及可以利用这种技术的场景。作为此第一方面的第一变化,可以通过许多类型的存储装置102(包括硬盘驱动、固态存储装置、非易失性存储器电路、基于带的存储装置、以及磁和光盘)使用这些技术。这种存储装置102也可以直接连接到实施这些技术的装置710(如,计算机);可以通过有线或无线局域网(例如,802.11 WiFi网络或特设连接、或者红外连接)可访问;和/或可以通过有线或无线广域网(例如,蜂窝网络或互联网)可访问。此外,可以通过独立操作的(例如,通过软件过程独立访问的存储装置106)、通过松散互操作进行操作的(例如,独立操作但是被通知和可以与共享存储集合的其它存储装置102通信的存储装置102)、或者通过紧密互操作进行操作的(例如,管理作为存储系统组件的数个存储装置106的廉价磁盘冗余阵列(RAID)控制器)两个或更多个存储装置102使用这些技术。作为此第一方面的第二变化,可以结合包括各种类型数据集合的许多类型的存储集合(包括存储各种类型二进制对象的二进制存储系统;存储文件的文件系统;存储媒体对象的媒体库;存储许多类型对象的对象系统;存储记录的数据库;以及存储电子邮件消息的电子邮件系统)来使用这些技术。作为此第一方面的第三变化,可以在运算环境内的一个或更多个组件内实施这些技术中的部分或所有技术,如,对存储装置102访问的易失性或非易失性计算机或装置中存储的一组软件指令(例如,操作系统进程或硬件驱动器);通过被配置成与存储装置102对接的存储系统(例如,RAID控制器);或者在存储集合的各存储装置102中。
作为此第一方面的第四变化,用于组织存储装置104容量的这些技术可以实现可能难以通过其它技术(如,图1-3中示例的那些)实现的一些结果。作为第一实例,这些技术可以实现跨越和聚集第一存储装置102上至少两个分区104的汇集分区502的生成。作为第二实例,这些技术可以实现空间406的生成,该空间包括第一存储装置102上汇集分区502中存储的至少两个扩展408、以及第二存储装置102上汇集分区502中存储的至少一个扩展408。作为第三实例,在三个存储装置102的集合中,这些技术可以使得第一存储装置102能够与第二存储装置102而非第三存储装置102共享第一池404、以及与第三存储装置102而非第二存储装置102共享第二存储池404。此类型的共享无法通过其它技术(如,逻辑盘管理器数据库306)的使用可取得,以及特别地,无法使得共享第一池404的存储装置102能够以与更新与存储装置102的不同集合共享的第二池404的池配置402隔离的方式更新池配置402。可以按照本文中呈现的技术通过存储装置102的组织实现许多这种存储场景。
D2. 池配置
可以在这些技术的实施例之中变化的第二方面涉及池配置402的本性和使用以表示存储装置102共享的池404。作为此第二方面的第一变化,可以把池配置402存储在一个存储装置102上,或者可以在存储池404的存储装置102上镜像。作为此第二方面的第二变化,可以通过许多方式在存储装置102上标识汇集分区502。例如,存储装置102可以包括指定各分区104的地点、大小、以及分区类型标识符的分区表110,可以通过汇集分区类型标识符在分区表中标识汇集分区502,所述汇集分区类型标识符可以通过被配置成利用汇集分区502的装置710可理解和可使用、以及可以被其它类型的装置710忽略(和因此未误用)。
作为此第二方面的第三变化,可以把池配置402存储在汇集分区502的许多区域中,包括在汇集分区502的开始处、在汇集分区502的结束处、或者在汇集分区502中定义或可识别的地点处。把池配置402放置在汇集分区502的开始处会是有益的以便轻松访问和/或实现池配置402的增长(较之把池配置402放置在汇集分区502的结束处而言,这里增长会在没有把池配置402在池汇集分区502中不同地点处重写的情况下难以实现)。作为此第二方面的第四变化,可以通过许多方式(如,关系型数据库、层级结构文档(例如,可扩展标记语言(XML)文档、或者表格)构建池配置502。作为此第二方面的第五变化,池配置502可以包含描述各实体(例如,池402、空间406、扩展408、以及存储装置102)的各种类型元数据,包括名称、制造商、模型、容量、性能特性、以及使用。特别地,池配置502可以指定空间类型标识符以识别各空间406的类型,如,用于存储用户数据的空间406的用户空间类型标识符;存储其它空间406的校验和(或其它类型的验证器)的空间406的校验和空间标识符;以及作为用于存储要向其它空间406应用的写入的日志使用的空间406的日志空间类型标识符。另外,空间406可以标识父代空间406以识别顺序或嵌套关系(例如,与第一用户数据空间406邻近的第二用户数据空间406、或者识别父代空间(针对该父代空间,日志空间存储要向父代空间应用的日志更新)的日志空间)。
作为此第二方面的第六变化,可以使用存储装置102上的固定物理地点(例如,轨道和扇区)、存储装置102上物理地址序列内的物理地址(例如,物理地址范围)、或者汇集分区502内的偏移量(例如,从汇集分区502的起始物理地址的偏移量)将扩展408指定成汇集分区502内的物理地址块;以及也可以使地址范围与空间406内的逻辑地址范围相关联(例如,指定起始逻辑地址和长度或结束逻辑地址)。
作为此第二方面的第七变化,可以通过各种方式实现扩展408到空间406的分配和绑定。图8-10呈现了用于实现此绑定的一些替选场景(这些图中的每个图在两个时间点呈现了存储装置102的状态,分别作为图的左和右部分示例)。在图8的示范性场景800中,在第一时间点802,存储装置102除了大量可用容量508之外,还包括存储池404的池配置402的汇集分区502、以及存储池404的存储装置102的记录。在第二时间点804,当接收到生成用以存储用户数据的空间406的空间分配请求806时,可以更新池配置402以添加空间406的记录,包括它的类型和指配容量。另外,在此第二时间点804,可以根据汇集分区502的可用容量508创建两个扩展408,可以更新池配置402以添加扩展408的记录(其将扩展408绑定到空间406的逻辑地点。以此方式,空间406的扩展408可以及时被分配和对于使用可用。
可替选地,空间406的扩展408的绑定可以延迟、以及可以基于准时制执行。例如,如图9的示范性场景900中所示例的,在第一时间点902,可以接收空间分配请求以创建空间406,可以在池配置402内创建空间406的记录。然而,无法在第一时间点902彻底分配空间406的容量;例如,在第一时间点902,可以仅分配一个扩展408,而非空间406的其它部分(例如,其它地址块)。然而,在第二时间点904,当接收到请求向尚未分配扩展408的空间406的特定地址写入时,可以从汇集分区502的可用容量508分配第二扩展408并将其绑定到池配置404内扩展记录408中的空间406。此延迟分配可以实现用以创建空间406的请求的较快速完成(由于在第一时间点902需要分配少于所有扩展408),和/或可以实现精简指配,其中,可以用比向空间406绑定的扩展408的扩展大小与共享池404的存储装置102的可用容量508的总和大的指配大小来指配空间406。
图10呈现了包括空间406的分配中进一步变化的示范性场景1000的示例,其中,可以把空间406的扩展408分配与扩展408向空间406的特定逻辑地点的绑定分开。在此示范性场景1000中,在第一时间点1002,存储装置102包括具有空间406(已经针对该空间分配了两个扩展408)的汇集分区502。然而,尚未向空间406内的特定逻辑地点映射该扩展408,而是简单地作为空间406的可用容量保留。可以例如在接收到用以创建空间406的请求后执行此保留,以使得即使在保留了少于空间406的所有指配容量以及尚未知晓要向空间406写入数据的地址的情况下,也保留一些容量且对于使用可用。相应地,在第二时间点1004,当接收到写入请求以向尚未绑定扩展408的空间406中的逻辑地址写入时,可以选择未绑定扩展408中的一个并将其绑定到空间406的地点(其包括写入请求中指定的逻辑地址)。以此方式,可以在不损害空间406容量可用性的情况下推迟空间406向扩展408的绑定。以这些和其它方式,可以向空间406分配扩展408以实现诸如改进性能和精简指配的各种特征。本领域普通技术人员可以在实施本文中呈现的技术的情况下构想池配置408在使用的过程中的许多变化。
D3. 池配置所有者
可以在这些技术的实施例之中变化的第三方面涉及池404的池所有者的标识。例如,在对包括池的存储装置102访问的计算机或其它装置710之中,可以选取在计算机之中排他地写入访问池配置402的池配置所有者。在接收到用以更新池配置402的请求(例如,用以创建空间406或向空间406绑定扩展408的请求)后,计算机可以确定它是否是池配置所有者,如果否,则可以把请求转发给池配置所有者。此外,如果池配置所有者变得无响应或不可用,则其它计算机在检测池配置所有者的故障后可以标识计算机之中的替代池配置所有者(例如,选取新的池配置所有者)。此选取可以实现要以避免源自竞争情况的冲突更新(这会把池配置402置于不一致状态中)的方式执行的对池配置402的更新。本领域普通技术人员可以设想和利用以如下方式识别的多种变化:更新池配置402以保护池配置402和池404的完整性免于这种情况。
E. 运算环境
图11呈现了可以实施本文中呈现的技术的运算装置1102内示范性运算环境的示例。实例运算装置包括但不限于个人计算机、服务器计算机、手持或膝上型装置、移动装置(如,移动电话、个人数字助理(PDA)、媒体播放器等)、多处理器系统、消费电子产品、微型计算机、大型计算机、以及包括以上系统或装置中任何内容的分布式运算环境。
图11示例了包括被配置成实施本文中提供的一个或更多个实施例的运算装置1102的系统1100的实例。在一个配置中,运算装置1102包括至少一个处理器1106和至少一个存储器组件1108。根据运算装置的精确配置和类型,存储器组件1108可以是易失性(如,例如RAM)、非易失性(如,例如ROM、闪存等)或中间或混合类型的存储器组件。通过虚线1104在图11中示例了此配置。
在一些实施例中,装置1102可以包括额外特征和/或功能。例如,装置1102可以包括一个或更多个额外存储组件1110,包括但不限于硬盘驱动、固态存储装置、和/或其它可移除或不可移除磁或光学介质。在一个实施例中,在存储组件1110中存储实施本文中提供的一个或更多个实施例的计算机可读和处理器可执行指令。存储组件1110也可以存储其它数据对象,如,操作系统的组件、包括一个或更多个应用的可执行二进制、编程库(例如,应用编程接口(API))、媒体对象、以及文档。可以把计算机可读指令加载在存储器组件1108中以便通过处理器1106执行。
运算装置1102还可以包括允许运算装置1102与其它装置通信的一个或更多个通信组件1116。一个或更多个通信组件1116可以包括(例如)调制解调器、网络接口卡(NIC)、射频发射器/接收器、红外端口、以及通用串行总线(USB)USB连接。这种通信组件1116可以包括有线连接(通过物理线绳、线缆、或线路连接到网络)或无线连接(以无线方式与组网装置通信,如,通过可见光、红外线、或者一个或更多个射频)。
运算装置1102可以包括一个或更多个输入组件1114,如,键盘、鼠标、笔、语音输入装置、触摸输入装置、红外摄像器、或者视频输入装置,和/或一个或更多个输出组件1112,如,一个或更多个显示器、扬声器、以及打印机。输入组件1114和/或输出组件1112可以经由有线连接、无线连接、或者其任何组合连接到运算装置1102。在一个实施例中,可以使用来自另一运算装置的输入组件1114或输出组件1112作为运算装置1102的输入组件1114和/或输出组件1112。
可以通过各种互连(如,总线)连接运算装置1102的组件。这种互连可以包括外围组件互连(PCI),如,快速PCI(PCI Express)、通用串行总线(USB)、火线(IEEE 1394)、光学总线结构等。在另一实施例中,运算装置1102的组件可以通过网络互连。例如,存储器组件1108可以包括位于通过网络互连的不同物理地点中的多个物理存储器单元。
本领域技术人员将会认识到,用来存储计算机可读指令的存储装置可以分布在网络上。例如,经由网络1118可访问的运算装置1120可以存储计算机可读指令以实施本文中提供的一个或更多个实施例。运算装置1102可以访问运算装置1120和下载计算机可读指令中的一部分或全部以便执行。可替选地,运算装置1102可以根据需要下载计算机可读指令项,或者可以在运算装置1102处执行一些指令和在运算装置1120处执行一些。
F. 术语的使用
如本申请中所使用的,术语“组件”、“模块”、“系统”、“接口”等通常意指计算机相关实体,硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是但是不限于是处理器上运行的进程、处理器、对象、可执行物、执行的线程、程序、和/或计算机。通过示例,控制器上运行的应用和控制器均可以是组件。一个或更多个组件可以处于执行的进程和/或线程内,组件可以在一个计算机上本地化和/或分布在两个或更多个计算机之间。
此外,可以作为使用标准编程和/或工程技术的方法、设备、或制品实施要求保护的主题,以产生用以控制计算机实施所公开主题的软件、固件、硬件、或者其任何组合。如本文中所使用的术语“制品”意在涵盖从任何计算机可读装置、载体、或者介质可访问的计算机程序。当然,本领域技术人员将会意识到,可以在不脱离要求保护主题的范围或精神的情况下对此配置做出许多修改。
在本文中提供了实施例的各种操作。在一个实施例中,描述的操作中的一个或更多个操作可以构建在一个或更多个计算机可读介质上存储的计算机可读指令,所述指令在通过运算装置执行的情况下将会使得运算装置执行描述的操作。不应当把描述操作中的一些或所有操作的次序解释成隐含意味着这些操作是必定次序相关的。借助本说明书的本领域技术人员将会明白替选排序。进一步地,将会理解,并非在本文中提供的每个实施例中必定存在所有操作。
此外,在本文中使用词语“示范性”意指作为实例、例子、或者示例。并非必定要把在本文中作为“示范性”描述的任何方面或设计解释成优于其它方面或设计。实际上,词语示范性的使用意在以具体方式呈现概念。如本申请中所使用的,术语“或”意指包括性“或”而非排他性“或”。即,如非另行说明、或者根据上下文清楚,“X采用A或B”意指任何自然的包括性的排列。即,如果X采用A;X采用B;或者X采用A和B这二者,则在以上实例中的任何实例下满足“X采用A或B”。另外,如非另行说明或根据上下文清楚要指向单数形式,否则本申请和所附权利要求中所使用的冠词“一”和“一个”通常可以解释为意指“一个或更多个”。
另外,虽然针对一个或更多个实施方式示出和描述了本公开,但本领域其它技术人员将会基于对本说明书和附图的阅读和理解想到等同变换和修改。本公开包括所有这种修改和变换并且仅通过以下权利要求的范围限定。特别是对于以上描述的组件(例如,元件、资源等)所执行的各种功能,用来描述这种组件的术语意在如非另行表明则对应于执行所描述组件(例如,在功能上等同的)的指定功能的任何组件,即使在未在结构上等同于执行本公开的本文中示例的示范性实施方式中的功能的公开结构的情况下。另外,虽然可能已经针对数个实施方式中的仅一个实施方式公开了本公开的特定特征,但可以如对于任何给定或特定应用可能期望和有益地那样把这种特征与其它实施方式的一个或更多个其它特征组合。此外,在详细实施方式或者权利要求中使用术语“包括”、“具有”、“含有”、“有”、或者其变形的程度上,这种术语意指包括性的(以类似于术语“包括”的方式)。

Claims (10)

1. 一种系统,被配置成分派包括至少一个存储装置(102)的存储集合,该系统包括:
至少一个汇集存储装置(102)的分区(104)之中存储的汇集分区(502),汇集分区(502)包括:
     汇集分区(502)内分配的扩展(506);以及
     池配置(402),用于识别:
          用于存储所述汇集分区(502)的汇集存储装置(102);以及
          在汇集分区(502)内表示的以及与至少一个扩展(408)相关联的至少一个空间(406)。
2. 一种组织存储集合的方法(600),该存储集合包括在具有处理器(712)的计算机(710)上可访问的至少两个存储装置(102),所述方法(600)包括:
在处理器(712)上执行(604)被配置成如下内容的指令(706):
     在至少两个汇集存储装置(102)的存储区域内,生成(606)包括识别如下内容的池配置(402)的汇集分区(502):
          用于存储所述汇集分区(502)的汇集存储装置(102),以及
          在汇集分区(502)内表示的至少一个空间(406);以及
在接收(612)用以分配空间(406)的扩展(408)的请求后:
          在汇集分区(502)内分配(614)空间(406)的扩展(408);以及
          使扩展(408)与池配置(402)中的空间(406)相关联(616)。
3. 如权利要求2所述的方法:
各存储装置存储分区表,该分区表针对存储装置的存储区域内的各分区指定分区的分区类型标识符;以及
作为汇集分区类型标识符在分区表中指定汇集分区。
4. 如权利要求2所述的方法,池配置被配置成将扩展指定为空间的逻辑区域和存储装置的物理区域。
5. 如权利要求4所述的方法,指令被配置成在接收到用以向池内的空间分配容量的请求后:
在汇集分区内分配扩展;
把所述扩展绑定到所述空间;以及
更新池配置以标识所述扩展和所述空间。
6. 如权利要求2所述的方法:
池配置针对各空间指定空间类型标识符;以及
至少一个空间包括日志和作为日志空间类型标识符在池配置中指定。
7. 如权利要求2所述的方法,所述空间包括针对汇集分区的各空间识别所述空间的状态描述符的维护空间。
8. 如权利要求7所述的方法:
所述池配置针对各空间指定空间类型标识符;以及
作为维护空间类型标识符在池配置中指定维护空间。
9. 如权利要求2所述的方法:
通过至少两个计算机可访问存储集合的至少一个存储装置;以及
指令被配置成在计算机之中识别计算机之中对池配置排他式写入访问的池配置所有者。
10. 如权利要求9所述的方法,指令被配置成在接收到用以更新池配置的请求后:
确定计算机是否是池配置所有者;以及
在确定计算机并非池配置所有者后,把请求转发给池配置所有者。
CN201210333564.8A 2011-09-11 2012-09-11 汇集分区布局和表示 Active CN102945212B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/229,734 US9069468B2 (en) 2011-09-11 2011-09-11 Pooled partition layout and representation
US13/229,734 2011-09-11
US13/229734 2011-09-11

Publications (2)

Publication Number Publication Date
CN102945212A true CN102945212A (zh) 2013-02-27
CN102945212B CN102945212B (zh) 2016-04-27

Family

ID=47728160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210333564.8A Active CN102945212B (zh) 2011-09-11 2012-09-11 汇集分区布局和表示

Country Status (6)

Country Link
US (1) US9069468B2 (zh)
EP (1) EP2754052A4 (zh)
JP (1) JP5932041B2 (zh)
KR (1) KR101915830B1 (zh)
CN (1) CN102945212B (zh)
WO (1) WO2013036254A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9069468B2 (en) 2011-09-11 2015-06-30 Microsoft Technology Licensing, Llc Pooled partition layout and representation
CN107943412A (zh) * 2016-10-12 2018-04-20 阿里巴巴集团控股有限公司 一种分区分裂、删除分区中数据文件的方法、装置及系统
CN108595122A (zh) * 2018-04-25 2018-09-28 银川华联达科技有限公司 一种基于局域网的计算机安全管理系统
CN108733485A (zh) * 2017-04-18 2018-11-02 泰雷兹公司 分区配置的检验方法和电子装置,相关计算机程序
CN113779952A (zh) * 2021-09-28 2021-12-10 北京字跳网络技术有限公司 文本处理方法、装置和电子设备

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9239781B2 (en) 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US9146856B2 (en) * 2012-04-10 2015-09-29 Micron Technology, Inc. Remapping and compacting in a memory device
US9870232B2 (en) * 2012-05-29 2018-01-16 Fujitsu Limited Extensible method and system for storage metadata
US9244868B2 (en) * 2012-09-21 2016-01-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Leased lock in active-active high availability DAS systems
US9495287B2 (en) * 2012-09-26 2016-11-15 International Business Machines Corporation Solid state memory device logical and physical partitioning
US8914578B2 (en) * 2012-09-27 2014-12-16 Hewlett-Packard Development Company, L.P. Capacity-expansion of a logical volume
US9671962B2 (en) 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
US8943107B2 (en) * 2012-12-04 2015-01-27 At&T Intellectual Property I, L.P. Generating and using temporal metadata partitions
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9543025B2 (en) 2013-04-11 2017-01-10 Sandisk Technologies Llc Storage control system with power-off time estimation mechanism and method of operation thereof
US10546648B2 (en) 2013-04-12 2020-01-28 Sandisk Technologies Llc Storage control system with data management mechanism and method of operation thereof
US9367353B1 (en) 2013-06-25 2016-06-14 Sandisk Technologies Inc. Storage control system with power throttling mechanism and method of operation thereof
US9244519B1 (en) 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling
US9213611B2 (en) 2013-07-24 2015-12-15 Western Digital Technologies, Inc. Automatic raid mirroring when adding a second boot drive
US9448946B2 (en) 2013-08-07 2016-09-20 Sandisk Technologies Llc Data storage system with stale data mechanism and method of operation thereof
US9361222B2 (en) 2013-08-07 2016-06-07 SMART Storage Systems, Inc. Electronic system with storage drive life estimation mechanism and method of operation thereof
US9431113B2 (en) * 2013-08-07 2016-08-30 Sandisk Technologies Llc Data storage system with dynamic erase block grouping mechanism and method of operation thereof
US9747157B2 (en) 2013-11-08 2017-08-29 Sandisk Technologies Llc Method and system for improving error correction in data storage
US9471259B2 (en) * 2014-01-28 2016-10-18 Netapp, Inc. Shared storage architecture
US9779015B1 (en) * 2014-03-31 2017-10-03 Amazon Technologies, Inc. Oversubscribed storage extents with on-demand page allocation
US10048865B2 (en) 2014-10-24 2018-08-14 Microsoft Technology Licensing, Llc Disk partition stitching and rebalancing using a partition table
US11892913B2 (en) * 2015-01-05 2024-02-06 Rubrik, Inc. Data lineage based multi-data store recovery
US10229022B1 (en) * 2017-04-27 2019-03-12 EMC IP Holding Company LLC Providing Raid-10 with a configurable Raid width using a mapped raid group
US10852966B1 (en) * 2017-10-18 2020-12-01 EMC IP Holding Company, LLC System and method for creating mapped RAID group during expansion of extent pool
JP7246869B2 (ja) * 2018-06-28 2023-03-28 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びプログラム
US10725930B2 (en) * 2018-08-27 2020-07-28 Micron Technology, Inc. Logical to physical memory address mapping tree
US10901645B1 (en) 2019-09-06 2021-01-26 International Business Machines Corporation Converting small extent storage pools into large extent storage pools in place
US11132138B2 (en) 2019-09-06 2021-09-28 International Business Machines Corporation Converting large extent storage pools into small extent storage pools in place
CN112558867B (zh) * 2020-12-10 2024-04-09 中国航空工业集团公司沈阳飞机设计研究所 一种对记录器存储空间高效使用的方法
US11748016B2 (en) * 2021-05-06 2023-09-05 EMC IP Holding Company LLC Method for adding disks in a raid system having a protection pool of storage units

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050235337A1 (en) * 2004-04-15 2005-10-20 Chris Wilson Method and system of data storage capacity allocation and management using one or more data storage drives
CN101893999A (zh) * 2010-06-08 2010-11-24 孟智平 一种将存储设备虚拟划分为多个设备的系统
CN101916173A (zh) * 2010-08-27 2010-12-15 杭州华三通信技术有限公司 一种基于raid的数据读写方法及其系统
CN101976174A (zh) * 2010-08-19 2011-02-16 北京同有飞骥科技有限公司 一种垂直排布分布校验的节能型磁盘阵列的构建方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721858A (en) 1995-12-12 1998-02-24 International Business Machines Corporation Virtual memory mapping method and system for memory management of pools of logical partitions for bat and TLB entries in a data processing system
US6370619B1 (en) 1998-06-22 2002-04-09 Oracle Corporation Managing partitioned cache
KR20010098429A (ko) 2000-04-27 2001-11-08 포만 제프리 엘 다층 논리 볼륨 생성 및 관리를 위한 시스템 및 방법
US7349908B2 (en) 2002-02-21 2008-03-25 International Business Machines Corporation Method for specifying a dynamic construct in a storage management system
US7937551B2 (en) 2003-01-21 2011-05-03 Dell Products L.P. Storage systems having differentiated storage pools
JP2004265110A (ja) 2003-02-28 2004-09-24 Hitachi Ltd メタデータ配置方法、プログラムおよびディスク装置
US7885921B2 (en) 2004-11-18 2011-02-08 International Business Machines Corporation Managing atomic updates on metadata tracks in a storage system
US7260681B2 (en) 2005-06-02 2007-08-21 Seagate Technology Llc Stripe buffer list
US7971025B2 (en) 2007-03-14 2011-06-28 Hitachi, Ltd. Method and apparatus for chunk allocation in a thin provisioning storage system
CN102405460B (zh) * 2009-02-11 2016-05-04 艾梵尼达有限公司 虚拟存储系统及其运行方法
US8583893B2 (en) * 2009-05-28 2013-11-12 Marvell World Trade Ltd. Metadata management for virtual volumes
DE102009031923A1 (de) * 2009-07-07 2011-01-13 Sones Gmbh Verfahren zum Verwalten von Datenobjekten
US8578087B2 (en) 2010-02-02 2013-11-05 International Business Machines Corporation On demand conversion of standard logical volumes to thin-provisioned logical volumes
WO2011108027A1 (ja) 2010-03-04 2011-09-09 株式会社日立製作所 計算機システム及びその制御方法
US9069468B2 (en) 2011-09-11 2015-06-30 Microsoft Technology Licensing, Llc Pooled partition layout and representation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050235337A1 (en) * 2004-04-15 2005-10-20 Chris Wilson Method and system of data storage capacity allocation and management using one or more data storage drives
CN101893999A (zh) * 2010-06-08 2010-11-24 孟智平 一种将存储设备虚拟划分为多个设备的系统
CN101976174A (zh) * 2010-08-19 2011-02-16 北京同有飞骥科技有限公司 一种垂直排布分布校验的节能型磁盘阵列的构建方法
CN101916173A (zh) * 2010-08-27 2010-12-15 杭州华三通信技术有限公司 一种基于raid的数据读写方法及其系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9069468B2 (en) 2011-09-11 2015-06-30 Microsoft Technology Licensing, Llc Pooled partition layout and representation
CN107943412A (zh) * 2016-10-12 2018-04-20 阿里巴巴集团控股有限公司 一种分区分裂、删除分区中数据文件的方法、装置及系统
CN107943412B (zh) * 2016-10-12 2021-10-22 阿里巴巴集团控股有限公司 一种分区分裂、删除分区中数据文件的方法、装置及系统
CN108733485A (zh) * 2017-04-18 2018-11-02 泰雷兹公司 分区配置的检验方法和电子装置,相关计算机程序
CN108595122A (zh) * 2018-04-25 2018-09-28 银川华联达科技有限公司 一种基于局域网的计算机安全管理系统
CN113779952A (zh) * 2021-09-28 2021-12-10 北京字跳网络技术有限公司 文本处理方法、装置和电子设备
CN113779952B (zh) * 2021-09-28 2024-03-01 北京字跳网络技术有限公司 文本处理方法、装置和电子设备

Also Published As

Publication number Publication date
US20130067191A1 (en) 2013-03-14
WO2013036254A1 (en) 2013-03-14
KR101915830B1 (ko) 2018-11-06
JP2014526729A (ja) 2014-10-06
CN102945212B (zh) 2016-04-27
US9069468B2 (en) 2015-06-30
JP5932041B2 (ja) 2016-06-08
EP2754052A1 (en) 2014-07-16
EP2754052A4 (en) 2015-05-20
KR20140061441A (ko) 2014-05-21

Similar Documents

Publication Publication Date Title
CN102945212A (zh) 汇集分区布局和表示
CN102929786B (zh) 非易失性存储设备集合的易失性存储器表示
CN102103567B (zh) 在异构处理器之间共享基于虚拟存储器的多版本数据
CN101268439B (zh) 数据库片段克隆和管理
CN103229171B (zh) 基于快照的复制
EP3186728B1 (en) File system with data block sharing
CN109167811A (zh) 一种基于区块链的跨链数据访问方法和装置
CN102937882B (zh) 对具有使用位图的存储设备的有效访问
CN110019066A (zh) 数据库处理方法及装置、系统
CN103106286A (zh) 元数据的管理方法和装置
CN102726002B (zh) 数据配置及其回退方法和设备
CN102243660A (zh) 一种数据访问方法及设备
CN109902034A (zh) 快照创建方法、装置、电子设备及机器可读存储介质
CN100517305C (zh) 阴影分页
CN114547203A (zh) 执行交易的方法、区块链、主节点和从节点
CN114385089B (zh) 一种基于交叉编址的动态bank存储方法、装置及电子设备
CN104461384A (zh) 一种数据写入方法及存储设备
CN109558453A (zh) 一种区块链数据网络化存储和移存的方法
CN108304142A (zh) 一种数据管理方法和装置
CN104133970A (zh) 一种数据空间管理方法及装置
JP4854973B2 (ja) 記憶制御プログラム、記憶制御方法、記憶制御装置および記憶制御システム
CN112988696B (zh) 文件整理方法、装置及相关设备
CN102902629A (zh) 存储空间映射方法及装置
US20100185652A1 (en) Multi-Dimensional Resource Fallback
JP2005316624A (ja) データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150616

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150616

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant