CN102929786B - 非易失性存储设备集合的易失性存储器表示 - Google Patents
非易失性存储设备集合的易失性存储器表示 Download PDFInfo
- Publication number
- CN102929786B CN102929786B CN201210335532.1A CN201210335532A CN102929786B CN 102929786 B CN102929786 B CN 102929786B CN 201210335532 A CN201210335532 A CN 201210335532A CN 102929786 B CN102929786 B CN 102929786B
- Authority
- CN
- China
- Prior art keywords
- sheet
- storage device
- logical disk
- extension
- distribution
- 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
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2058—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
-
- 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
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/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/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
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)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
例如RAID阵列的存储设备集合的存储设备可以生成在存储设备的物理介质上的包括逻辑盘、空间、存储池以及布局和供应计划的存储设备集合的配置的非易失性表示。访问存储设备集合的计算机也可以生成存储设备集合的易失性存储器表示以便在访问存储设备时使用;然而,非易失性表示可能因为其不同使用和特性而不可执行。这里给出了用于根据包括逻辑盘、片和扩展的层级的易失性存储器表示来访问存储设备集合的技术,以及包括供应部件的访问器,所述供应部件在应用供应计划时处理片访问,并且在将布局计划应用于存储设备集合时与将片访问转换成存储设备访问的较低级别布局部件接口。
Description
背景技术
在计算领域内,许多情形涉及将数据存储在存储设备集合(诸如由存储控制器管理的硬盘驱动器集合)上。存储设备集合可以以许多方式来配置,例如利用各种寻址方案、各种形式的存储设备的容量的容量聚集、以及弹性和供应计划。例如,可以生成各种存储池,其中使用两个或更多个存储设备或其存储区域的共享容量来给出逻辑盘或逻辑卷。
存储设备集合的配置通常被存储在一个或多个存储设备的物理介质上,例如作为下述各项的表示的集合:一个或多个存储设备、一个或多个存储池、从存储池显露的空间、以及从存储设备的物理存储区域分配并且被映射到所述空间的对应逻辑存储区域的物理扩展。物理存储设备上的存储设备集合的表示的持久性可以使得存储服务从故障(例如,使用存储设备集合擦除计算机的易失性存储器的电力故障,或通过使用弹性存储计划将发生故障的存储设备的数据重构到替代存储设备上)中恢复。
发明内容
提供该发明内容从而以简化形式引入下面在具体实施方式中进一步描述的概念选集。该发明内容既不意图确认要求保护的主题的关键因素或实质特征,也不意图被用来限制要求保护的主题的范围。
利用存储设备集合的计算机可以生成存储设备集合的配置的易失性存储器表示,以便以正确的方式访问存储设备而且不必频繁查阅存储在存储设备上的配置信息。在一些情形中,该计算机可以简单地生成在结构上与存储在物理介质上的配置相同的易失性存储器表示,但是存储集合的该表示可能对于易失性存储器使用是无效的。例如,在存储设备的物理介质上持久存在的表示可能被选择以促进存储效率、同时访问、以及将物理介质表示镜像到其它存储设备上。然而,存储集合配置的物理介质表示的这些特性对于易失性存储器表示可能不是特别有益,该易失性存储器表示可能被频繁查阅以便访问存储集合。例如,尽管物理存储器表示可能使得能够在对应于空间的逻辑位置的扩展内标识物理位置,但是该确定可能不是高性能的,并且可能延迟计算机在访问存储设备时的响应。因此,生成促进这种确定以由计算机主动使用的存储设备集合的配置的不同表示会是有益的。
此处给出的是用于生成存储设备集合的配置的易失性存储器表示的技术。根据这些技术,存储设备集合可以被表示为逻辑盘集合,其中每个逻辑盘包括片(slab)集合,每个片具有供应的容量和布局计划。各个片进而包括被标识为存储设备上的物理分配的多个扩展。存储集合的这个模型可以在易失性存储器中表示,例如表示为层级或树,并且可以使能快速确定存储特定逻辑位置的数据的扩展的物理位置。另外,对以这种方式表示的存储集合的访问可以通过下述系统来实现,该系统包括被配置成与作为片集合的存储设备集合接口的供应部件,以及被配置成将片访问请求转换成物理扩展的访问的布局部件。按照这种方式的访问系统的架构可以使得实现高效划分;例如供应部件可以整体管理存储设备集合并且可以处理供应计划的细节(例如履行对容量片的分配请求),同时布局部件可以实施布局计划的细节(例如对于每个片分配请求,在物理存储设备上分配满足弹性计划的扩展,所述弹性计划为诸如跨越多个存储设备的片的存储的条带,跨越多个存储设备的片的容量镜像)。
为了实现前述和相关目标,下面的描述和附图阐述某些说明性方面和实施方式。这些仅仅表明可以采用一个或多个方面的各种方式当中的几种。通过结合附图考虑的下面的具体实施方式,本公开的其它方面、优点和新颖特征将变得显而易见。
附图说明
图1是表征存储设备集合的非易失性存储器表示的示例性情形的图示。
图2是表征根据这里给出的技术的存储集合的易失性存储器表示的示例性情形的图示。
图3是图示根据这里给出的技术的为存储设备集合的存储设备上的逻辑盘分配容量的示例性方法的流程图。
图4是包括被配置成具体化这里阐述的一个或多个供应的处理器可执行指令的示例性计算机可读介质的图示。
图5图示可以在其中实施这里阐述的一个或多个供应的示例性计算环境。
具体实施方式
下面将参照附图描述所要求保护的主题,其中相同的附图标记始终被用来指代相同的元件。在下面的描述中,出于解释的目的阐述了许多特定细节以便提供对于所要求保护的主题的透彻理解。但是可以明显看出,可以在没有这些特定细节的情况下实践所要求保护的主题。在其它情况中,以框图形式示出了各结构和设备以便于描述所要求保护的主题。
A.背景。
在计算领域中,许多情形涉及访问存储设备集合的非易失性存储设备。这样的存储设备可以包括许多类型(例如,硬盘驱动器;固态存储设备;以及磁盘或光盘),并且可以被用来存储许多类型的数据(例如文件、电子邮件消息、数据库记录、或媒体对象、或其组合)。该存储设备可以被附接到特定计算机或设备,或者可以连接到网络并且通过网络被访问。该存储设备还可以独立地操作(例如没有存储设备集合的其它存储设备的互相通信或者甚至互相了解);具有松散的协作(例如在通信和交换状态通知方面);或者具有紧密的相互操作(例如加载在存储控制器中的硬盘驱动器集合,诸如廉价盘冗余阵列(RAID)装置)。而且,存储设备的相互操作和/或使用可以导致在其中存储的数据之间的逻辑或实际划分,或者可以导致数据的聚集。例如,两个或更多存储设备的可用容量可以被聚集到被作为单个集成卷呈现给计算机的存储池。
该存储设备还可以实施各种布局计划,诸如跨越(例如逻辑上串接存储设备的容量);划条带(例如使横跨存储设备的连续逻辑地址交叉);镜像(例如将数据集合的相同拷贝存储在存储设备集合的各个存储设备上,并且通过自动以及同时将对数据集合的变化应用于所有拷贝来维持该拷贝的同一性);以及奇偶计算(例如当数据被存储在一个或多个存储设备上时,所存储的数据的校验和可以自动被计算并且被存储在不同存储设备上,例如以便使得能够从存储设备的故障中恢复)。另外,该存储设备的容量可以根据各种供应计划而被供应。作为第一示例,在固定的供应计划中,当接收到分配存储区域的请求时,一个或多个存储设备可以迅速地分配所有在供应请求中被请求的容量,并且可以向请求用户或过程通知这样的容量是可用的(并且可以可选地利用默认值来初始化该容量)。作为第二示例,在延迟的供应计划中,当接收到分配存储区域的请求时,该存储设备可以指示该存储区域可用于写入,但是可能不能为存储区域迅速地分配容量。更准确地,该存储设备可能等待对存储区域内的位置的访问请求,并且在接收到访问请求时可以迅速地分配存储设备的物理存储(例如扩展)以及将其绑定到该位置的逻辑地址。这种“准时化”延迟供应可以呈现某些性能改进(例如迅速履行生成存储器设备的请求,和/或比为保持未使用的存储区域分配容量更高效的存储设备集合的可用容量的分配)。作为附加变型,在“单薄(thin)”供应计划中,存储设备集合可以授权分配超过存储设备集合的可用容量的容量的请求。作为代替,该存储设备集合可以将该容量分配为被使用,并且在可用容量减小时,可以通知管理员添加提供附加容量的存储设备。这些或其它类型的布局和/或供应计划可以被应用于存储设备。
为了表示涉及多个存储设备、存储池以及布局和供应计划的复杂存储情形,存储设备集合可以存储所述存储设备及其之间分配的物理、非易失性表示。例如,集群的存储池管理器可以被指定以代表各种过程处理分配存储区域和容量的请求,并且可以具有对被配置成存储描述存储池的分配和特征的元数据的一个或多个存储设备的存储区域的排它性写入访问。此外,存储设备集合的非易失性表示可以在存储设备之间自动同步,从而使能实现任何存储设备上的元数据的可用性;例如如果任何一个存储设备出现故障,则其它存储设备可以使用存储设备集合的非易失性表示来确定发生故障的存储设备的内容并且重构存储在其上的数据。
图1呈现表征可以被存储在一个或多个存储设备上的存储设备集合的非易失性表示的示例性情形100的图示。该非易失性表示可以包括多个记录,所述记录表示:例如每一个存储设备108;一个或多个存储池104;从存储池104显露的空间106,诸如逻辑卷、奇偶空间和日志;以及从存储设备108的物理容量分配并且被绑定到各个空间106的各个逻辑地址的物理扩展110。该示例性非易失性表示可以由设法访问存储设备集合以便确定由存储设备集合的存储设备实施并且展示的分配、供应和关系的任何计算机或设备读取。
计算机还可以在其易失性存储器中生成存储设备集合的表示。例如,为了访问存储设备集合的特定逻辑位置,计算机可以努力标识存储逻辑位置的物理位置,并且遵从存储设备集合的供应计划和/或布局计划。在一个这样的情形中,计算机可以简单地将非易失性表示加载到易失性存储器中,并且查阅非易失性表示以便做出这样的确定。然而,非易失性表示和易失性的存储器中的表示之间的使用差别可能带来某些缺点。例如,非易失性表示可能被生成以便按照精确且一致的方式(例如按照许多计算机和存储设备可以同时访问和/或更新的方式)以文件记录存储设备集合的属性。特别地,存储在存储设备上的非易失性表示可能很少被访问(例如可能仅仅偶尔被计算机或存储设备读取),并且可能不会针对性能而被设计或优化。例如,为了定位绑定到特定空间106的扩展110,计算机可能必须检查所有空间106和/或扩展110,因为这些结构可能不会以任何特定方式被索引或排序。然而,计算机可能设法频繁(例如每秒许多次)利用易失性存储器表示。易失性存储器表示的结构可能因此影响计算机访问存储设备的性能,并且没有针对快速访问而特别配置(例如非易失性表示)的易失性存储器表示可能显著削弱计算机的性能。而且,计算机可能包括许多易失性存储容量,并且可能不会将其易失性存储器暴露给其它计算机;因此,非易失性表示的配置(以减小该表示的尺寸并且减少同时访问问题)可能不适用于由计算机来使用。
B.所呈现的技术。
这里所呈现的是用于生成存储设备集合的表示的技术,所述存储设备集合的表示可以被存储在诸如计算机的设备的易失性存储器中并且可以促进对存储设备集合的访问。特别地,构造该表示从而使加速对对应于感兴趣逻辑位置的存储设备的物理位置的标识,这会显著影响计算机访问存储设备集合的性能。
图2呈现表征可以在计算机或其它设备的易失性存储器中生成并且可以被快速利用以访问存储设备集合的逻辑容量的存储设备集合的示例性易失性存储器表示的示例性情形200的图示。在该示例性情形200中,易失性存储器表示202包括层级,其以显露在计算机上的逻辑盘204集合开始。逻辑盘204与片206相关联,每个片206包括逻辑盘204的存储容量的逻辑块。片206可具有供应的尺寸208,以及/或者可以指示布局计划210(例如镜像的片、条带的片或奇偶片)。然而,布局计划210的细节不会在片206级别被暴露;例如100千兆字节镜像的片和100千兆字节简单的片可以用相同的供应容量208表示,并且可以分别将100千兆字节的供应容量提供给逻辑盘204,即使在镜像(如果在两个存储设备上执行的话)可以利用200千兆字节的物理容量。更精确地,布局计划210的细节在被分配用于各个片206且绑定到各个片206并且从存储设备108的物理容量供应的扩展110的较低级别处实施。
该易失性存储器表示202可以被用来以高性能方式标识与逻辑地址相关联的物理位置。例如,逻辑地址可能指定逻辑盘204。使用特定逻辑地址,被绑定到逻辑盘204的逻辑地址的片206可以被标识。接下来,片206内的逻辑位置可以被用来标识绑定到包括片206内的逻辑地址的逻辑地址范围的扩展110,所述逻辑地址可以被转换成扩展110内的物理地址。最终,扩展110内的物理地址可以被映射到存储设备106上的物理位置,在那里可以找到并访问所请求的逻辑位置。以这种方式,易失性存储器表示202的层级性质可能特别适合于快速标识被映射到逻辑盘204的逻辑位置的存储设备108的物理位置。
此外,易失性存储器表示202的层级性质可以使能实现灵活处理分配存储设备的容量的复杂性的访问器的发展。特别地,可以在片206的分配(根据供应计划)和扩展110的分配(根据片206的布局计划210)之间标识概念划分。特别地,访问位置或分配容量的请求可能在概念上由供应部件220来处理,该供应部件220可以整体评估存储设备集合的逻辑存储容量,并且可以应用片206的供应计划的供应概念。然而,访问和分配请求可能被转换成可以由布局部件222处理的物理访问请求,该布局部件222可以推行各个片的布局计划210。例如,对分配具有100千兆字节的迅速供应容量和双重镜像布局计划的片206的请求可以按照以下方式处理:首先作为对于供应部件220的分配具有100千兆字节的迅速分配容量的片206的请求,并且其次作为对于布局部件222的为两个不同存储设备108上的两个100千兆字节扩展110的形式的片206分配容量的请求。类似地,在接收到对访问逻辑卷204的逻辑地址处的数据集合的请求时,供应部件220可以标识与该逻辑卷的逻辑地址相关联的片206,并且可能将访问请求转换成访问片206的特定逻辑位置的片访问请求。然而,布局部件222可以检查片206并且可以标识跨过存储在三个存储设备108上的三个扩展110的条带布局计划210。布局部件222可以因此生成访问各个扩展110上的数据集合的各个部分的三个访问请求,并且可以将读取的数据去条带成原始数据集合。以这种方式,供应部件220和布局部件222可以将访问和分配任务划分成与涉及供应计划的逻辑盘204和片206的逻辑交互以及根据由片206实施的布局计划与存储集合的存储设备108和扩展110的物理交互。
C.基本实施例。
图2呈现表征这些技术的第一实施例的示例性情形200的图示,该第一实施例被图示为被配置成为存储设备集合的存储设备108上的逻辑盘204分配容量的示例性系统218。该示例性系统218可以被实施为例如相互操作的部件集合,每个所述相互操作的部件包括存储在计算机的存储器部件(例如存储器电路、硬盘驱动器的盘片、固态存储设备或者磁盘或光盘)中的指令集合,当该指令集合被计算机的处理器执行时,使得计算机根据此处给出的技术来分配容量。该示例性系统218包括布局部件220,其被配置成在接收到指定布局计划的片分配请求时,在一起满足片分配请求和布局计划的存储设备108上分配扩展。布局部件220还被配置成在接收到访问片的布局访问请求时,根据该布局计划来访问该片的扩展。示例性系统218还包括供应部件222,其被配置成在接收到为逻辑盘分配容量的容量请求时,生成指定布局计划的至少一个片分配请求,并且将各个逻辑盘呈现为一系列片。该供应部件222还被配置成在接收到访问逻辑盘的位置的访问请求时,标识包括该访问的位置的至少一个片,并且根据访问请求来生成访问片的布局访问请求。以这种方式,示例性系统218根据此处给出的技术在存储设备集合的存储设备108上分配容量。
图3呈现此处给出的技术的第二实施例,该第二实施例被图示成为包括至少一个存储设备108的存储设备集合上的逻辑盘分配容量的示例性方法300。该示例性方法300可以被实施为例如存储在计算机的存储器部件(例如存储器电路、硬盘驱动器的盘片、固态存储器部件或者磁盘或光盘)中的指令集合,当该指令集合被计算机的处理器执行时,使得计算机执行此处给出的技术。示例性方法300在302处开始并且涉及在处理器上执行304指令。具体地,指令被配置成在接收到306为逻辑盘分配容量的分配请求时,生成308指定布局计划并且一起满足分配请求的容量的至少一个片,并且对于各个片,在一起满足布局计划的存储设备上分配310扩展。所述指令还被配置成在接收到312访问逻辑盘的至少一个位置的访问请求时,标识314包括布局访问请求的各个位置的至少一个片,对于各个片316,标识318片的布局计划,并且根据该布局计划访问320片的扩展。已经实现了根据此处给出的技术在存储设备上分配容量,示例性方法300在322处结束。
又一实施例涉及包括处理器可执行指令的计算机可读介质,所述处理器可执行指令配置成应用此处给出的技术。这样的计算机可读介质可以包括例如涉及有形设备的计算机可读存储介质,诸如存储器半导体(例如利用静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)和/或同步动态随机存取存储器(SDRAM)技术的半导体)、硬盘驱动器的盘片、闪速存储器设备或者磁盘或光盘(诸如CD-R、DVD-R或软盘),其编码计算机可读指令集合,当由设备的处理器执行时,所述计算机可读指令集合使得设备实施此处给出的技术。这样的计算机可读介质还可以包括(作为与计算机可读存储介质不同的一类技术的)各种类型的通信介质,比如可以通过各种物理现象传播的信号(例如电磁信号、声波信号或光学信号)以及在各种有线情形(例如通过以太网或光纤线缆)和/或无线情形(例如,诸如WiFi的无线局域网(WLAN)、诸如蓝牙的个人区域网(PAN)、或者蜂窝或无线电网络)中传播的信号,并且其编码计算机可读指令集合,当由设备的处理器执行时,所述计算机可读指令集合使得该设备实施此处给出的技术。
在图4中图示了可以按这些方式设想到的示例性计算机可读介质,其中实施方式400包括在其上编码计算机可读数据404的计算机可读介质402(例如CD-R、DVD-R或者硬盘驱动器的盘片)。该计算机可读数据404进而包括计算机指令406集合,当在计算机410的处理器412上执行时,该计算机指令406使得计算机410根据这里阐述的原理来分配存储设备108上的存储。在一个这样的实施例中,处理器可执行指令406可以被配置成执行为存储设备集合的存储设备上的逻辑盘分配存储的方法,诸如图3的示例性方法300。该计算机可读介质的一些实施例可以包括非瞬时计算机可读存储介质(例如硬盘驱动器、光盘或闪速存储器设备),其被配置成存储以这种方式配置的处理器可执行指令。本领域普通技术人员可以设想到被配置成根据此处给出的技术操作的许多这种计算机可读介质。
D.变型。
在许多方面可以设想到此处讨论的技术的变型,并且其中一些变型相对于这些和其它技术的其它变型可以给出附加的优点和/或减少缺点。再者,一些变型可以被组合实施,并且通过协同的合作,一些组合可以特征在于附加的优点和/或减少的缺点。所述变型可以被结合在各种实施例中以为这种实施例赋予单独的和/或协作的优点。
D1.情形。
可以在这些技术的实施例之间改变的第一方面涉及其中可以利用这些技术的情形。作为该第一方面的第一变型,这些技术可以与许多类型的存储设备一起使用,所述存储设备包括硬盘驱动器、固态存储设备、非易失性存储器电路、基于带的存储设备以及磁盘和光盘。这样的存储设备还可以直接连接到实施这些技术的设备(诸如计算机);能够通过有线或无线局域网(例如,802.11WiFi网络或者特别(ad-hoc)连接、或红外连接)访问;以及/或者可以通过有线或无线广域网(例如,蜂窝网或因特网)访问。此外,这些技术可以与独立操作的两个或更多个存储设备(例如,通过软件进程独立访问的存储设备)一起使用;利用松散相互操作进行操作(例如,独立操作但是向共享存储集合的其它存储设备通知并与该其它存储设备通信的存储设备);或者利用紧密相互操作进行操作(例如,管理作为存储系统的部件的若干存储设备的廉价盘冗余阵列(RAID)控制器)。
作为该第一方面的第二变型,这些技术可以结合许多类型的存储设备来使用,所述存储集合包括各种类型的数据集合,其包括存储各种类型的二进制对象的二进制存储系统;存储文件的文件系统;存储媒体对象的媒体库;存储许多类型的对象的对象系统;存储记录的数据库;以及存储电子邮件消息的电子邮件系统。
作为该第一方面的第三变型,这些技术的部分或所有可以在计算环境内的一个或多个部件内实施,诸如存储在访问存储设备(例如操作系统进程或硬盘驱动器)的计算机或设备的易失性或非易失性中的软件指令集合;由被配置成与存储设备(例如RAID控制器)接口的存储系统实施;或者在存储集合的各个存储设备中实施。
作为该第一方面的第四变型,由此处给出的技术生成和使用的易失性存储器表示可以呈现许多结构。作为一个这样的示例,并且如在图2的示例性情形200中所描绘的那样,易失性存储器表示可以被构造为互相联系的记录或对象的集合,诸如包括分别被表示为一系列片的逻辑盘的逻辑盘集合;包括分别被表示为扩展集的片的片集合;以及包括分别被表示为存储设备的扩展、物理地址和扩展长度的扩展集合。此外,该互相联系的记录或对象集可以表示特定组织,例如包括表示逻辑盘的第一层级级别、表示片的第二层级级别、以及表示扩展的第三层级级别的层级结构。由存储设备集合显露的逻辑盘内的位置因此可以通过首先标识包括逻辑盘的位置的片,并且然后标识包括该位置的该片内的至少一个扩展来定位。
作为该第一方面的第五变型,通过此处给出的技术来访问存储设备集合可以使能在存储设备集合中实现特定类型的灵活性。作为第一示例,第一片可以被分配给指定第一布局计划的逻辑盘,并且第二片可以被分配给指定不同于第一布局计划的第二布局计划的逻辑盘。作为第二示例,从指定片使用的应用接收至少一个容量请求,并且供应部件被配置成根据该片的片使用来选择布局计划。特别地,为具有第一片容量的逻辑盘分配第一片,并且为具有不同于第一片容量的第二片容量的逻辑盘分配第二片。
作为该第一方面的第六变型,许多类型的布局计划可以由存储集合来表示。示例性布局计划集合可以包括:例如指定在一个存储设备上扩展的分配的整体布局计划;指定在一起提供片分配请求的容量的至少两个存储设备上扩展的分配的条带布局计划;镜像布局计划,其指定扩展的分配,所述扩展的分配分别提供片分配请求的容量并且被镜像;以及检验布局计划,其指定以下分配:在一起提供片分配请求的容量的至少一个存储设备上分配至少一个数据扩展,和在存储用于数据扩展的检验符(verifier)的至少一个其它存储设备上分配至少一个检验符扩展。本领域普通技术人员可以设想到此处给出的技术的情形、组织和使用中的许多变型。
D2.供应计划和布局计划
可以在这些技术的实施例之间改变的第二方面涉及这里表示的存储设备集合上的各个供应计划和布局计划的表示和实施。作为该第二方面的第一示例,各个逻辑盘可以实施供应计划,其中在存储设备上分配扩展可以通过下述来现实:在接收到为逻辑盘分配容量的分配请求时,根据该逻辑盘的供应计划来分配扩展,并且访问逻辑盘的片可以包括根据逻辑盘的供应计划来访问片的扩展。供应计划可以从示例性供应计划集合中选择,所述示例性供应计划集合包括例如指定满足逻辑盘的容量的片的迅速分配的固定供应计划,以及在响应于访问请求访问片时为逻辑盘指定片的分配的延迟供应计划。特别地,延迟供应计划可以涉及:在接收到指定逻辑盘的位置的访问请求时,标识与该访问请求的位置相关联的片;在标识该片时,根据访问请求访问片;以及在不能标识与访问请求的位置相关联的片时,为逻辑盘分配片,并且将该片与由访问请求指定的逻辑盘的位置相关联。在分配片时,该实施例可以利用默认值初始化该扩展的内容,并且因此可以通过直接查阅该扩展的所存储的内容来满足所有写入请求。可替换地,实施例可以推迟片的扩展的初始化,并且在接收到读取请求(不能为其标识与该读取请求的位置相关联的片(例如在这种情况下因为先前没有执行写入所以片不能被绑定到该位置))时,这些技术的实施例可以响应于读取请求而返回默认值(例如0)。另外,延迟的供应可以使能实现特征为单薄供应的存储情形,在这种情况下片的供应尺寸超过存储设备集合的可用容量。例如,存储设备集合可能包括具有超过存储设备集合的可用容量的供应容量的逻辑盘。作为单薄供应的另一示例,各个逻辑盘具有存储设备集合的可用容量内的供应容量;但是逻辑盘的总共供应容量超过存储设备集合的可用容量。
作为该第二方面的第二示例,可以在不同上下文中有差别地选择各个片和/或扩展的尺寸。作为第一这样的示例,片可以被分配有满足访问请求的小的容量。分配小尺寸的片会是有利的,例如用于通过限制必须被修补的片的容量来加速修补过程。可替换地,对于根据固定供应计划分配在特定存储设备上的片,可以例如通过分配减小数目的大尺寸的片来使片尺寸最大化。该变型可以使能实现在存储设备集合的非易失性表示中表示的记录的数目的减小,并且可以由此通过非易失性存储器表示来改进访问存储设备集合的性能。此外,可以考虑各种因素而选择在修补操作期间片和扩展的分配。作为第一示例,在检测到发生故障的存储设备的故障时,布局部件被配置成,对于发生故障的存储设备的各个扩展,标识包括该扩展的片,并且为该片分配替代扩展;并且对于包括至少一个替代扩展并且具有弹性布局计划的各个片,发起包括替代扩展的片的修补。因此,布局部件可以基于由此实施的布局计划来自动发起扩展的修补操作。作为第二示例,其中存储设备集合包括至少三个存储设备;该替代扩展的分配可以跨越存储设备集合的其它存储设备而分发从发生故障的存储设备分配的替代扩展。这可以减小分配有许多扩展且具有大量容量的存储设备的过载。根据此处给出的技术,可以通过存储设备102的组织来实现许多这样的存储情形。
E.计算环境。
图5和下面的讨论提供了适当计算环境的简要、普通描述以实施这里阐述的一个或多个供应的实施例。图5的操作环境仅是适当操作环境的一个示例并且不意图建议对操作环境的使用或功能的范围进行任何限制。示例计算设备包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费者电子装置、小型计算机、大型计算机、包括任何前述系统或设备的分布式计算环境等等。
图5图示了包括被配置成实施这里提供的一个或多个实施例的计算设备502的系统500的示例。在一种配置中,计算设备502包括至少一个处理单元506和存储器508。取决于计算设备的确切配置和类型,存储器508可以是易失性的(例如,诸如RAM)、非易失性的(诸如ROM、闪速存储器等等)或者这二者的某种组合。这种配置在图5中由虚线504图示。
在其它实施例中,设备502可以包括附加的特征和/或功能。例如,设备502还可以包括附加的存储装置(例如可移除和/或不可移除),其包括(但不限于)磁性存储装置、光学存储装置等等。这样的附加存储装置在图5中由存储装置510图示。在一个实施例中,实施这里提供的一个或多个实施例的计算机可读指令可以在存储装置510中。存储装置510还可以存储其它计算机可读指令以实施操作系统、应用程序等等。计算机可读指令可以被加载到存储器508中例如用于由处理单元506执行。
这里所使用的术语“计算机可读介质”包括计算机存储介质。该计算机存储介质包括以用于存储诸如计算机可读指令或其它数据的信息的任何方法或技术实施的易失性和非易失性、可移除和不可移除的介质。存储器508和存储装置510是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪速存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储装置、磁带盒、磁带、磁盘存储装置或其它磁性存储设备、或者可以被用来存储期望信息并且可以被设备502访问的任何其它介质。任何这样的计算机存储介质可以是设备502的一部分。
设备502还可以包括(多个)通信连接516,其允许设备502与其它设备进行通信。所述(多个)通信连接516可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发送器/接收器、红外端口、USB连接或者用于将计算设备502连接到其它计算设备的其它接口。(多个)通信连接516可以包括有线连接或无线连接。(多个)通信连接516可以发送和/或接收通信介质。
术语“计算机可读介质”可以包括通信介质。通信介质典型地具体化计算机可读指令或者在诸如载波的“调制数据信号”或其它传送机制中的其它数据,并且包括任何信息递送介质。术语“调制数据信号”可以包括这样的信号,该信号具有其特性集合中的一个或多个或者以解码该信号中的信息的方式来改变。
设备502可以包括(多个)输入设备514,比如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外摄影机、视频输入设备和/或任何其它输入设备。(多个)输出设备512(比如一个或多个显示器、扬声器、打印机和/或任何其它输出设备)也可以被包括在设备502中。(多个)输入设备514和/或(多个)输出设备512可以通过有线连接、无线连接或其任意组合连接到设备502。在一个实施例中,来自另一个计算设备的输入设备或输出设备可以被用作用于计算设备502的(多个)输入设备514或(多个)输出设备512。
计算设备502的部件可以通过各种互连(比如总线)连接。这样的互连可以包括外围部件互连(PCI)(比如PCIExpress)、通用串行总线(USB)、火线(IEEE1394)、光学总线结构等等。在另一个实施例中,计算设备502的部件可以通过网络互连。举例来说,存储器508可以包括位于通过网络互连的不同物理位置的多个物理存储器单元。
本领域技术人员将认识到,被用来存储计算机可读指令的存储设备可以分布在网络上。举例来说,可通过网络518访问的计算设备520可以存储计算机可读指令以实施这里所提供的一个或多个实施例。计算设备502可以访问计算设备520,并且下载所述计算机可读指令的一部分或全部以便执行。可替换地,计算设备502可以按照需要下载一部分计算机可读指令,或者一些指令可以在计算设备502处执行,并且一些指令可以在计算设备520处执行。
F.术语的使用。
如在本申请中使用的术语“部件”、“模块”、“系统”、“接口”等等通常意图指代与计算机有关的实体,或者是硬件、硬件与软件的组合、软件,或者是执行中的软件。举例来说,部件可以是但不限于运行在处理器上的进程、处理器、对象、可执行程序、执行线程、程序和/或计算机。以说明的方式,运行在控制器上的应用和控制器都可以是部件。一个或多个部件可以驻留在执行的进程和/或线程内,并且部件可以位于一台计算机上和/或分布在两台或更多台计算机之间。
此外,所要求保护的主题可以被实施为一种利用标准编程和/或工程技术来产生软件、固件、硬件或其任意组合以便控制计算机实施所公开的主题的方法、设备、或者制造品。这里使用的术语“制造品”意图包含可以从任何计算机可读设备、载体或介质访问的计算机程序。当然,本领域技术人员将认识到,在不背离所要求保护的主题的范围或精神的情况下,可以对这种配置做出许多修改。
这里提供了实施例的各种操作。在一个实施例中,所描述的其中一项或多项操作可以构成存储在一个或多个计算机可读介质上的计算机可读指令,在由计算设备执行时,所述计算机可读指令将使得所述计算设备执行所描述的操作。描述其中一部分或全部操作的顺序不应被理解为意味着这些操作必须依赖于顺序。受益于本说明书,本领域技术人员将认识到替换的排序。此外还将理解的是,不一定所有操作都必须存在于这里提供的每一个实施例中。
此外,这里使用的“示例性”一词意味着充当一个示例、事例或说明。在这里被描述为“示例性”的任何方面或设计不必须被理解为比其它方面或设计有利。更确切地,使用“示例性”一词是意图以具体的方式呈现概念。本申请中所使用的术语“或者”意图是指包含性的“或者”而不是排它性的“或者”。也就是说,除非另行指明或者可以从上下文明显看出,否则“X采用A或B”意图是指任何自然的包含性排列。也就是说,如果X采用A;X采用B;或者X采用A和B两者,则“X采用A或B”在任何前述事例下都得以满足。此外,除非另行指明或者从上下文中可以明显看出是针对单数形式,否则用在本申请和所附权利要求书中的“一”("a"或"an")通常可以被理解为是指“一个或多个”。
此外,虽然关于一种或多种实现方式示出并描述了本公开内容,但是基于阅读并理解本说明书和附图,本领域技术人员将会想到等效的更改和修改。本公开内容包括所有这样的修改和更改,并且仅由所附权利要求书的范围限制。特别关于由前面描述的部件(例如元件、资源等等)所施行的各项功能,被用来描述这样的部件的术语意图对应于(除非另行表明)施行所述部件的指定功能的任何部件(例如功能上等效),尽管其在结构上不等效于在本公开内容的这里说明的示例性实现方式中施行所述功能的所公开的结构。此外,虽然本公开内容的具体特征可能是关于几种实现方式当中的仅仅一种公开的,但是这样的特征可以与其它实现方式的一项或多项其它特征组合,正如可能对于任何给定或特定应用所期望且有利的那样。此外,就在详细描述部分或权利要求书中使用的“包含”、“具有”、“带有”等术语或其各种变体而言,这样的术语与术语“包括”类似都意图是包含性的。
Claims (9)
1.一种在具有处理器(412)的设备(410)上为包括至少一个存储设备(108)的存储设备集合上的逻辑盘(204)分配容量的方法(300),该方法(300)包括:
在处理器(412)上执行(304)被配置成进行以下各项的指令(406):
在接收到(306)为逻辑盘(204)分配容量的分配请求时:
生成(308)指定布局计划(210)并且一起满足分配请求的容量的至少一个片(206),以及
对于各个片,在一起满足布局计划(210)的存储设备(108)上分配(310)扩展(110);以及
在接收到(312)访问逻辑盘(204)的至少一个位置的访问请求(212)时:
标识(314)包括布局访问请求(212)的各个位置的至少一个片(206);以及
对于各个(316)片(206):
标识片(206)的布局计划(210);以及
根据布局计划(210)来访问(320)片(206)的扩展(110),
其中,被表示为存储设备集合表示的存储设备集合包括:
逻辑盘集合,其包括分别被表示为一系列片的逻辑盘;
片集合,其包括分别被表示为扩展集的片;以及
扩展集合,其包括分别被表示为存储设备、物理地址和扩展长度的扩展。
2.根据权利要求1所述的方法,
为具有第一片容量的逻辑盘分配第一片;以及
为具有不同于第一片容量的第二片容量的逻辑盘分配第二片。
3.根据权利要求1所述的方法,
各个逻辑盘都具有供应计划;
在存储设备上分配扩展包括:在接收到为逻辑盘分配容量的分配请求时,根据该逻辑盘的供应计划来分配扩展;以及
访问逻辑盘的片包括:根据该逻辑盘的供应计划来访问片的扩展。
4.根据权利要求3所述的方法,根据供应计划集合选择的供应计划包括:
指定满足该逻辑盘的容量的片的迅速分配的固定供应计划;以及
在响应于访问请求而访问片时,为逻辑盘指定片的分配的延迟供应计划。
5.根据权利要求4所述的方法,根据延迟供应计划访问逻辑盘的片包括:
在接收到指定逻辑盘的位置的访问请求时:
标识与访问请求的位置相关联的片;
在标识片时,根据访问请求来访问片;以及
在不能标识与该访问请求的位置相关联的片时:
为逻辑盘分配片,以及
将片与由访问请求指定的逻辑盘的位置相关联。
6.根据权利要求5所述的方法,
访问请求包括指定逻辑盘的位置的读取请求;以及
指令被配置成在不能标识与该读取请求的位置相关联的片时,响应于该读取请求返回默认值。
7.一种用于为包括至少一个存储设备(108)的存储设备集合上的逻辑盘(204)分配容量的系统(218),该系统(218)包括:
布局部件(222),其被配置成:
在接收到指定布局计划(210)的片分配请求时,在一起满足片分配请求和布局计划(210)的存储设备(108)上分配(310)扩展;以及
在接收到访问片(206)的布局访问请求(212)时,根据布局计划(210)访问(320)片(206)的扩展(110);以及
供应部件(220),其被配置成:
在接收到(306)为逻辑盘(204)分配容量的容量请求时,生成(308)指定布局计划(210)的至少一个片分配请求;
将各个逻辑盘(204)呈现为一系列片(206);以及
在接收到(312)访问逻辑盘(204)的位置的访问请求(212)时:
标识包括访问的位置的至少一个片(206);以及
生成根据访问请求(212)访问片(206)的布局访问请求,
其中,被表示为存储设备集合表示的存储设备集合包括:
逻辑盘集合,其包括分别被表示为一系列片的逻辑盘;
片集合,其包括分别被表示为扩展集的片;以及
扩展集合,其包括分别被表示为存储设备、物理地址和扩展长度的扩展。
8.根据权利要求7所述的系统,从布局计划集合选择的布局计划包括:
整体布局计划,其指定在一个存储设备上扩展的分配;
条带布局计划,其指定在一起提供片分配请求的容量的至少两个存储设备上扩展的分配;
镜像布局计划,其指定扩展的分配,所述扩展的分配分别提供片分配请求的容量并且被镜像;以及
检验布局计划,其指定以下分配:
在一起提供片分配请求的容量的至少一个存储设备上分配至少一个数据扩展;以及
在存储用于数据扩展的检验符的至少一个其它存储设备上分配至少一个检验符扩展。
9.根据权利要求8所述的系统,所述布局部件被配置成,在检测到发生故障的存储设备的故障时:
对于发生故障的存储设备的各个扩展:
标识包括该扩展的片,以及
为该片分配替代扩展;以及
对于包括至少一个替代扩展且具有弹性布局计划的各个片,发起包括替代扩展的片的修补。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/230,832 US8856440B2 (en) | 2011-09-12 | 2011-09-12 | Volatile memory representation of nonvolatile storage device set |
US13/230832 | 2011-09-12 | ||
US13/230,832 | 2011-09-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102929786A CN102929786A (zh) | 2013-02-13 |
CN102929786B true CN102929786B (zh) | 2016-08-03 |
Family
ID=47644589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210335532.1A Active CN102929786B (zh) | 2011-09-12 | 2012-09-12 | 非易失性存储设备集合的易失性存储器表示 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8856440B2 (zh) |
EP (1) | EP2756401A4 (zh) |
JP (1) | JP5932043B2 (zh) |
KR (1) | KR101930117B1 (zh) |
CN (1) | CN102929786B (zh) |
WO (1) | WO2013039523A1 (zh) |
Families Citing this family (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8856440B2 (en) * | 2011-09-12 | 2014-10-07 | Microsoft Corporation | Volatile memory representation of nonvolatile storage device set |
US8793466B2 (en) * | 2012-04-27 | 2014-07-29 | Netapp, Inc. | Efficient data object storage and retrieval |
US9141626B2 (en) * | 2013-03-14 | 2015-09-22 | Microsoft Technology Licensing, Llc | Volume having tiers of different storage traits |
US9802124B2 (en) * | 2013-03-15 | 2017-10-31 | Skyera, Llc | Apparatus and method for cloning and snapshotting in multi-dimensional to linear address space translation |
JP5962621B2 (ja) * | 2013-09-19 | 2016-08-03 | 日本電気株式会社 | ストレージ装置及びその制御方法、並びにストレージ制御プログラム |
JP6260407B2 (ja) * | 2014-03-28 | 2018-01-17 | 富士通株式会社 | ストレージ管理装置、性能調整方法及び性能調整プログラム |
CN105094685B (zh) | 2014-04-29 | 2018-02-06 | 国际商业机器公司 | 进行存储控制的方法和设备 |
US9753850B1 (en) * | 2014-08-15 | 2017-09-05 | Hazelcast, Inc. | On-heap huge slab allocator |
CN104484130A (zh) * | 2014-12-04 | 2015-04-01 | 北京同有飞骥科技股份有限公司 | 一种横向扩展存储系统的构建方法 |
US9785575B2 (en) | 2014-12-30 | 2017-10-10 | International Business Machines Corporation | Optimizing thin provisioning in a data storage system through selective use of multiple grain sizes |
CN106095330B (zh) * | 2016-05-30 | 2019-04-16 | 杭州宏杉科技股份有限公司 | 一种元数据的存储方法和装置 |
US10514847B2 (en) | 2016-12-28 | 2019-12-24 | Amazon Technologies, Inc. | Data storage system with multiple durability levels |
US11301144B2 (en) | 2016-12-28 | 2022-04-12 | Amazon Technologies, Inc. | Data storage system |
US10771550B2 (en) | 2016-12-28 | 2020-09-08 | Amazon Technologies, Inc. | Data storage system with redundant internal networks |
US10484015B2 (en) | 2016-12-28 | 2019-11-19 | Amazon Technologies, Inc. | Data storage system with enforced fencing |
US10509601B2 (en) * | 2016-12-28 | 2019-12-17 | Amazon Technologies, Inc. | Data storage system with multi-tier control plane |
US10496531B1 (en) * | 2017-04-27 | 2019-12-03 | EMC IP Holding Company LLC | Optimizing virtual storage groups by determining and optimizing associations between virtual devices and physical devices |
US10761743B1 (en) | 2017-07-17 | 2020-09-01 | EMC IP Holding Company LLC | Establishing data reliability groups within a geographically distributed data storage environment |
US10880040B1 (en) | 2017-10-23 | 2020-12-29 | EMC IP Holding Company LLC | Scale-out distributed erasure coding |
CN108038062B (zh) * | 2017-11-27 | 2021-05-04 | 北京锦鸿希电信息技术股份有限公司 | 嵌入式系统的内存管理方法和装置 |
CN108037894B (zh) * | 2017-12-05 | 2021-07-20 | 浙江大华技术股份有限公司 | 一种磁盘空间管理方法及装置 |
US10382554B1 (en) | 2018-01-04 | 2019-08-13 | Emc Corporation | Handling deletes with distributed erasure coding |
US10579297B2 (en) | 2018-04-27 | 2020-03-03 | EMC IP Holding Company LLC | Scaling-in for geographically diverse storage |
US10936196B2 (en) | 2018-06-15 | 2021-03-02 | EMC IP Holding Company LLC | Data convolution for geographically diverse storage |
US11023130B2 (en) | 2018-06-15 | 2021-06-01 | EMC IP Holding Company LLC | Deleting data in a geographically diverse storage construct |
US11436203B2 (en) | 2018-11-02 | 2022-09-06 | EMC IP Holding Company LLC | Scaling out geographically diverse storage |
US10901635B2 (en) | 2018-12-04 | 2021-01-26 | EMC IP Holding Company LLC | Mapped redundant array of independent nodes for data storage with high performance using logical columns of the nodes with different widths and different positioning patterns |
US11119683B2 (en) | 2018-12-20 | 2021-09-14 | EMC IP Holding Company LLC | Logical compaction of a degraded chunk in a geographically diverse data storage system |
US10931777B2 (en) | 2018-12-20 | 2021-02-23 | EMC IP Holding Company LLC | Network efficient geographically diverse data storage system employing degraded chunks |
US10892782B2 (en) | 2018-12-21 | 2021-01-12 | EMC IP Holding Company LLC | Flexible system and method for combining erasure-coded protection sets |
US11023331B2 (en) | 2019-01-04 | 2021-06-01 | EMC IP Holding Company LLC | Fast recovery of data in a geographically distributed storage environment |
US10942827B2 (en) | 2019-01-22 | 2021-03-09 | EMC IP Holding Company LLC | Replication of data in a geographically distributed storage environment |
US10846003B2 (en) | 2019-01-29 | 2020-11-24 | EMC IP Holding Company LLC | Doubly mapped redundant array of independent nodes for data storage |
US10866766B2 (en) | 2019-01-29 | 2020-12-15 | EMC IP Holding Company LLC | Affinity sensitive data convolution for data storage systems |
US10936239B2 (en) | 2019-01-29 | 2021-03-02 | EMC IP Holding Company LLC | Cluster contraction of a mapped redundant array of independent nodes |
US10942825B2 (en) | 2019-01-29 | 2021-03-09 | EMC IP Holding Company LLC | Mitigating real node failure in a mapped redundant array of independent nodes |
US10944826B2 (en) | 2019-04-03 | 2021-03-09 | EMC IP Holding Company LLC | Selective instantiation of a storage service for a mapped redundant array of independent nodes |
US11029865B2 (en) * | 2019-04-03 | 2021-06-08 | EMC IP Holding Company LLC | Affinity sensitive storage of data corresponding to a mapped redundant array of independent nodes |
US11121727B2 (en) | 2019-04-30 | 2021-09-14 | EMC IP Holding Company LLC | Adaptive data storing for data storage systems employing erasure coding |
US11113146B2 (en) | 2019-04-30 | 2021-09-07 | EMC IP Holding Company LLC | Chunk segment recovery via hierarchical erasure coding in a geographically diverse data storage system |
US11119686B2 (en) | 2019-04-30 | 2021-09-14 | EMC IP Holding Company LLC | Preservation of data during scaling of a geographically diverse data storage system |
US11748004B2 (en) | 2019-05-03 | 2023-09-05 | EMC IP Holding Company LLC | Data replication using active and passive data storage modes |
US11169723B2 (en) | 2019-06-28 | 2021-11-09 | Amazon Technologies, Inc. | Data storage system with metadata check-pointing |
US11209996B2 (en) | 2019-07-15 | 2021-12-28 | EMC IP Holding Company LLC | Mapped cluster stretching for increasing workload in a data storage system |
US11023145B2 (en) | 2019-07-30 | 2021-06-01 | EMC IP Holding Company LLC | Hybrid mapped clusters for data storage |
US11449399B2 (en) | 2019-07-30 | 2022-09-20 | EMC IP Holding Company LLC | Mitigating real node failure of a doubly mapped redundant array of independent nodes |
US11228322B2 (en) | 2019-09-13 | 2022-01-18 | EMC IP Holding Company LLC | Rebalancing in a geographically diverse storage system employing erasure coding |
US11449248B2 (en) | 2019-09-26 | 2022-09-20 | EMC IP Holding Company LLC | Mapped redundant array of independent data storage regions |
US11435910B2 (en) | 2019-10-31 | 2022-09-06 | EMC IP Holding Company LLC | Heterogeneous mapped redundant array of independent nodes for data storage |
US11288139B2 (en) | 2019-10-31 | 2022-03-29 | EMC IP Holding Company LLC | Two-step recovery employing erasure coding in a geographically diverse data storage system |
US11119690B2 (en) | 2019-10-31 | 2021-09-14 | EMC IP Holding Company LLC | Consolidation of protection sets in a geographically diverse data storage environment |
US11435957B2 (en) | 2019-11-27 | 2022-09-06 | EMC IP Holding Company LLC | Selective instantiation of a storage service for a doubly mapped redundant array of independent nodes |
US11144220B2 (en) | 2019-12-24 | 2021-10-12 | EMC IP Holding Company LLC | Affinity sensitive storage of data corresponding to a doubly mapped redundant array of independent nodes |
KR20210085499A (ko) | 2019-12-30 | 2021-07-08 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US11231860B2 (en) | 2020-01-17 | 2022-01-25 | EMC IP Holding Company LLC | Doubly mapped redundant array of independent nodes for data storage with high performance |
US11507308B2 (en) | 2020-03-30 | 2022-11-22 | EMC IP Holding Company LLC | Disk access event control for mapped nodes supported by a real cluster storage system |
US11288229B2 (en) | 2020-05-29 | 2022-03-29 | EMC IP Holding Company LLC | Verifiable intra-cluster migration for a chunk storage system |
US11693983B2 (en) | 2020-10-28 | 2023-07-04 | EMC IP Holding Company LLC | Data protection via commutative erasure coding in a geographically diverse data storage system |
US11847141B2 (en) | 2021-01-19 | 2023-12-19 | EMC IP Holding Company LLC | Mapped redundant array of independent nodes employing mapped reliability groups for data storage |
US11625174B2 (en) | 2021-01-20 | 2023-04-11 | EMC IP Holding Company LLC | Parity allocation for a virtual redundant array of independent disks |
US11782616B2 (en) | 2021-04-06 | 2023-10-10 | SK Hynix Inc. | Storage system and method of operating the same |
US11354191B1 (en) | 2021-05-28 | 2022-06-07 | EMC IP Holding Company LLC | Erasure coding in a large geographically diverse data storage system |
US11449234B1 (en) | 2021-05-28 | 2022-09-20 | EMC IP Holding Company LLC | Efficient data access operations via a mapping layer instance for a doubly mapped redundant array of independent nodes |
US11687272B2 (en) * | 2021-06-25 | 2023-06-27 | Hewlett Packard Enterprise Development Lp | Method and system for dynamic topology-aware space allocation in a distributed system |
US11874740B2 (en) * | 2021-12-21 | 2024-01-16 | Dell Products L.P. | Techniques for avoiding and reducing data unavailability |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101213510A (zh) * | 2005-06-29 | 2008-07-02 | 桑迪士克股份有限公司 | 用于管理存储装置中的分区的方法和系统 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6643654B1 (en) | 2001-06-25 | 2003-11-04 | Network Appliance, Inc. | System and method for representing named data streams within an on-disk structure of a file system |
US7162600B2 (en) | 2005-03-29 | 2007-01-09 | Hitachi, Ltd. | Data copying method and apparatus in a thin provisioned system |
US7200715B2 (en) | 2002-03-21 | 2007-04-03 | Network Appliance, Inc. | Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes |
US7603532B2 (en) | 2004-10-15 | 2009-10-13 | Netapp, Inc. | System and method for reclaiming unused space from a thinly provisioned data container |
JP4402565B2 (ja) * | 2004-10-28 | 2010-01-20 | 富士通株式会社 | 仮想ストレージ管理プログラム、方法及び装置 |
US7711897B1 (en) | 2005-06-10 | 2010-05-04 | American Megatrends, Inc. | Method, system, apparatus, and computer-readable medium for improving disk array performance |
JP2007066259A (ja) * | 2005-09-02 | 2007-03-15 | Hitachi Ltd | 計算機システムとストレージシステム並びにボリューム容量拡張方法 |
US7467276B1 (en) | 2005-10-25 | 2008-12-16 | Network Appliance, Inc. | System and method for automatic root volume creation |
US7574560B2 (en) * | 2006-01-03 | 2009-08-11 | Emc Corporation | Methods, systems, and computer program products for dynamic mapping of logical units in a redundant array of inexpensive disks (RAID) environment |
US7945726B2 (en) | 2006-05-08 | 2011-05-17 | Emc Corporation | Pre-allocation and hierarchical mapping of data blocks distributed from a first processor to a second processor for use in a file system |
KR100818797B1 (ko) * | 2006-10-19 | 2008-04-01 | 삼성전자주식회사 | 메모리 용량 조절 방법과 메모리 용량 조절 장치 |
JP2008146536A (ja) * | 2006-12-13 | 2008-06-26 | Hitachi Ltd | ストレージ装置及びこれを用いたデータ管理方法 |
US7631155B1 (en) * | 2007-06-30 | 2009-12-08 | Emc Corporation | Thin provisioning of a file system and an iSCSI LUN through a common mechanism |
CN102598019B (zh) * | 2009-09-09 | 2015-08-19 | 才智知识产权控股公司(2) | 用于分配存储的设备、系统和方法 |
US8402214B2 (en) * | 2009-09-16 | 2013-03-19 | Hitachi, Ltd. | Dynamic page reallocation storage system management |
US8205062B2 (en) * | 2009-10-14 | 2012-06-19 | Inetco Systems Limited | Tiered data management method and system for high performance data monitoring |
US8555022B1 (en) * | 2010-01-06 | 2013-10-08 | Netapp, Inc. | Assimilation of foreign LUNS into a network storage system |
US8443153B1 (en) * | 2010-01-06 | 2013-05-14 | Netapp, Inc. | Dynamic balancing of performance with block sharing in a storage system |
JP5444464B2 (ja) * | 2010-01-14 | 2014-03-19 | 株式会社日立製作所 | ストレージシステム |
US8543778B2 (en) * | 2010-01-28 | 2013-09-24 | Hitachi, Ltd. | Management system and methods of storage system comprising pool configured of actual area groups of different performances |
US8656136B2 (en) * | 2010-02-05 | 2014-02-18 | Hitachi, Ltd. | Computer system, computer and method for performing thin provisioning capacity management in coordination with virtual machines |
US8732518B2 (en) * | 2011-04-13 | 2014-05-20 | Netapp, Inc. | Reliability based data allocation and recovery in a storage system |
US8856440B2 (en) | 2011-09-12 | 2014-10-07 | Microsoft Corporation | Volatile memory representation of nonvolatile storage device set |
US8793466B2 (en) * | 2012-04-27 | 2014-07-29 | Netapp, Inc. | Efficient data object storage and retrieval |
-
2011
- 2011-09-12 US US13/230,832 patent/US8856440B2/en active Active
- 2011-10-10 WO PCT/US2011/055608 patent/WO2013039523A1/en active Application Filing
- 2011-10-10 EP EP11872359.2A patent/EP2756401A4/en not_active Ceased
- 2011-10-10 JP JP2014529677A patent/JP5932043B2/ja active Active
- 2011-10-10 KR KR1020147006536A patent/KR101930117B1/ko active IP Right Grant
-
2012
- 2012-09-12 CN CN201210335532.1A patent/CN102929786B/zh active Active
-
2014
- 2014-10-02 US US14/504,891 patent/US9229826B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101213510A (zh) * | 2005-06-29 | 2008-07-02 | 桑迪士克股份有限公司 | 用于管理存储装置中的分区的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
JP2014530394A (ja) | 2014-11-17 |
US20130067159A1 (en) | 2013-03-14 |
US9229826B2 (en) | 2016-01-05 |
KR20140061444A (ko) | 2014-05-21 |
EP2756401A4 (en) | 2015-06-03 |
WO2013039523A1 (en) | 2013-03-21 |
EP2756401A1 (en) | 2014-07-23 |
US8856440B2 (en) | 2014-10-07 |
KR101930117B1 (ko) | 2018-12-17 |
US20150095695A1 (en) | 2015-04-02 |
CN102929786A (zh) | 2013-02-13 |
JP5932043B2 (ja) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102929786B (zh) | 非易失性存储设备集合的易失性存储器表示 | |
CN102945212B (zh) | 汇集分区布局和表示 | |
CN102937882B (zh) | 对具有使用位图的存储设备的有效访问 | |
EP3617867B1 (en) | Fragment management method and fragment management apparatus | |
CN109558084B (zh) | 一种数据处理方法以及相关设备 | |
CN101187898A (zh) | 管理非易失性存储器的设备和方法 | |
JP2007042034A (ja) | 計算機システム、管理計算機及び論理記憶領域の管理方法 | |
CN104272242B (zh) | 创建加密存储体 | |
CN109902034A (zh) | 快照创建方法、装置、电子设备及机器可读存储介质 | |
TWI249670B (en) | System and method capable of sequentially writing a flash memory | |
CN114385089B (zh) | 一种基于交叉编址的动态bank存储方法、装置及电子设备 | |
US20210132860A1 (en) | Management of multiple physical function non-volatile memory devices | |
JP2006039772A (ja) | メモリカード、不揮発性半導体メモリ、及び半導体メモリの制御方法 | |
CN102446072B (zh) | 用于池式存储中的raid 阵列变换的系统和方法 | |
US11429311B1 (en) | Method and system for managing requests in a distributed system | |
CN108304142A (zh) | 一种数据管理方法和装置 | |
US11467777B1 (en) | Method and system for storing data in portable storage devices | |
CN115639968A (zh) | 一种对raid的容量空间的分配方法、装置、设备及介质 | |
CN103186349B (zh) | 块级分布式存储系统及其数据读写方法 | |
US11816088B2 (en) | Method and system for managing cross data source data access requests | |
US11966637B1 (en) | Method and system for storing data in portable storage devices | |
WO2014010016A1 (ja) | プログラム、データ管理方法、および情報処理装置 | |
CN114706828A (zh) | 一种文件加载方法、计算设备及存储介质 | |
CN113741819A (zh) | 数据分级存储的方法和装置 |
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: 20150617 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150617 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 |