CN105446890B - 智能数据部署 - Google Patents

智能数据部署 Download PDF

Info

Publication number
CN105446890B
CN105446890B CN201510599243.6A CN201510599243A CN105446890B CN 105446890 B CN105446890 B CN 105446890B CN 201510599243 A CN201510599243 A CN 201510599243A CN 105446890 B CN105446890 B CN 105446890B
Authority
CN
China
Prior art keywords
storage
pool
storage devices
volume
pools
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
Application number
CN201510599243.6A
Other languages
English (en)
Other versions
CN105446890A (zh
Inventor
萨克西纳·倪马尔·拉吉
莫松·布鲁斯·凯恩斯
罗宾森·欧文·迈克尔
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN105446890A publication Critical patent/CN105446890A/zh
Application granted granted Critical
Publication of CN105446890B publication Critical patent/CN105446890B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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/2071Error 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 a plurality of controllers
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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

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

提供一种将存储卷映射到存储装置的多个池的方法,存储装置由具有主机标识的主机所指定。数据存储卷具有卷标识和多个区。所述方法包括:基于主机标识将存储装置的第一池指派到存储卷,以及对于存储装置的第一池,基于主机标识和卷标识来确定映射值。所述方法也包括基于映射值以及所述多个区中的一个或更多个区来确定存储装置索引,以及基于存储装置索引将区的一部分映射到存储装置的第一池。

Description

智能数据部署
技术领域
本公开涉及一种用于数据存储的系统,此外,更具体地,涉及一种利用哈希映射和冗余的用于网络数据存储的机架式存储系统。
背景技术
存储容量的需求正日益增加。现有的数据库和虚拟存储系统通常能够保存大量的数据。随着存储容量的需求的增加,数据库中的数据的可管理性、性能和可靠的可访问性变得重要。然而,到目前为止,使用单虚拟存储的来自多个网络存储装置的物理存储的存储器卷管理和当前的数据库不被智能地管理,比需要的慢,且对于高效率的数据中心应用程序而言不是足够可靠的。
发明内容
本发明的某些实施例提供一种基于网络的存储系统。
示例性实施例提供一种将存储卷映射到由具有主机标识的主机指定的存储装置的多个池的方法。数据存储卷具有卷标识和多个区(extent)。所述方法包括:基于主机标识将第一池存储装置指派给存储卷,以及对于第一池的存储装置,基于主机标识和卷标识来确定映射值。所述方法也包括:基于映射值以及所述多个区中的一个或更多个区来确定存储装置索引,基于存储装置索引将区的一部分映射到第一池的存储装置。
另一示例性实施例提供了一种网络存储系统。所述系统包括主机,主机具有主机标识,并将具有卷标识和多个区的存储卷进行映射。所述系统也包括存储装置的多个池,以将由主机指定的存储卷的区的至少一部分进行分布。所述系统还包括:处理器,基于主机标识将存储装置的所述多个池的第一池指派给存储卷;对于存储装置的指派的第一池,基于主机标识和卷标识来确定映射值;基于映射值和一个或更多个区来确定存储装置索引;以及基于存储装置索引来将区的至少一部分映射到存储装置的指派的第一池。
又一示例性实施例提供了一种将存储卷映射到由具有主机标识的主机所指定的多个存储装置的方法。数据存储卷具有卷标识和多个区。所述方法包括:对于所述多个存储装置,基于主机标识和卷标识来确定哈希值,基于所述多个区中的一个或更多个获取存储装置索引,以及基于存储装置索引对来自存储装置的所述多个池的第一池中的存储装置中的一个的存储装置地址进行指派。所述方法也包括利用指派的存储装置地址将所述多个区中的一部分映射到来自存储装置的所述多个池的第一池,在所述多个区中的所述一部分的后面插入冗余,以及对所述多个区中的在插入的冗余的后面的剩余部分进行映射。
附图说明
当结合附图阅读时,将更好地理解在前述的发明内容中描述的特征和功用以及下面接下来对本发明的总的构思的某些实施例的具体描述。
图1是示出网络存储系统的实施例的图。
图2示出了如图1中所示的系统的示例性系统。
图3A示出了根据本发明的实施例的用于将逻辑卷映射到存储装置逻辑块中的映射过程的操作流程图。
图3B示出了根据本发明的实施例的用于对存储装置中的存储空间或卷进行分配的分配过程的操作流程图。
图4示出了根据本发明的示例性的地址映射流。
图5示出了第一分配示例,其中,在存储装置的池中,多个主机通过映射函数对多个卷进行分配。
图6示出了第二分配示例,其中,在没有冗余的存储装置的池中,多个主机通过映射函数对多个卷进行分配。
图7示出了第三分配示例,其中,在具有冗余的存储装置的池中,多个主机通过映射函数对多个卷进行分配。
图8示出了第四分配示例,其中,利用自动精简配置(thin provisioning)和冗余在存储装置的多个池中,多个主机通过映射函数对多个卷进行分配。
图9示出了第五分配示例,其中,利用自动精简配置和冗余在存储装置的池中,多个主机通过映射函数对多个卷进行分配。
图10示出了利用图3的映射过程和RAID10冗余的第一示例性的平均故障间隔时间(MTBF)失效报告。
图11示出了利用图3的映射过程和RAID6冗余的第二示例性的MTBF失效报告。
为了示出发明的总的发明构思,附图中示出了某些实施例。然而,应该理解的是,本发明不限于附图中示出的布置和手段。
具体实施方式
现在,将详细参照附图中示出有其示例的本发明的总的构思的实施例,在附图中同样的附图标记始终指示同样的元件。为了解释本发明的总的构思,下面同时参照附图来描述实施例。
在详细解释发明的任何实施例之前,将理解的是,本发明在其应用方面不限于下面的描述中所阐述的或附图中所示的构件的结构和布置的细节。
通过参照下面的详细描述和附图,本发明的优点和特征以及实现其的方法会更加容易理解。然而,本发明总的构思可以以许多不同的形式来实施或者以多种方式来实现,且不应该被解释为限制于这里阐述的实施例。相反,提供这些实施例使得本公开将是彻底的,并将总的发明构思充分地传达给本领域普通技术人员。本发明的总的构思由权利要求所限定。在附图中,为了视觉清楚性,夸大了层和区域的厚度。
此外,本文中使用的表达方式和术语是出于描述的目的,且不应该被认为是限制。在描述发明的上下文中(例如,权利要求的上下文中)使用术语“一”、“一个”、“该/所述”和类似概念将被解释为覆盖单数和复数两者,除非这里另外指出或者与上下文清楚地抵触。除非另外标出,否则术语“包括”、“具有”、“包含”和“含有”将被解释为开放式术语(即,意思是“包含,但不限于此,”)。
对本领域的普通技术人员还应明显的是,附图中示出的系统是可能与实际系统相似的模型。描述的模型和逻辑结构中的一些能够以通过微处理器或类似的装置执行的软件来实现,或者能够以使用包括各种组件(例如,专用集成电路(“ASIC”))的硬件来实现。诸如“处理器”的术语可以包括或指硬件和/或软件两者。由于大写的使用使得没有隐含特定的含义或者应该被简单地推断。
类似地,如这里所使用的,术语“组件”或“模型”意思是(但不限于)诸如执行某些任务的现场可编程门阵列(FPGA)或ASIC的软件或硬件组件。组件或模块可以有利地被构造为存在于可访问的存储介质中,并且被构造为在一个或更多个处理器上执行。因此,组件或模块通过示例的方式可以包括组件(例如软件组件、面向对象软件组件、类组件和任务组件)、处理器、函数、属性、程序、子程序、程序代码的片段、驱动器、固件、微代码、电路、数据、数据库、数据结构、表、阵列和变量。为组件和/或模块提供的函数性可以结合到较少的组件和/或模块中,或者还可以被分成另外的组件和/或模块。
除非另外地限定,否则这里使用的所有技术和科学术语具有与本发明所属的领域的普通技术人员所理解的含义相同的含义。此外,除非另外地限定,否则在通常使用的词典中限定的所有术语应该具有它们一般含义。
发明构思的实施例涉及一种对主机请求的逻辑卷进行分配的方法。
图1是示出网络存储系统100的实施例的图。系统100包括通过开关网络(switching network)108来请求存储卷(volume of storage)的主机104。系统100也包括还具有一个或更多个处理器的处理复合体(processing complex)112,处理复合体112依据由应用程序强加的性能和/或请求而将一个或更多个存储装置上的数据虚拟化到存在于应用服务器的虚拟的块存储卷中。例如,在一些实施例中,如下面详细讨论的,处理复合体112执行一个或更多个映射函数,以对遍及存储装置的池的虚拟化的卷进行映射,同时将冗余能力提供给虚拟化的卷以增强对应用服务器而言透明的性能和可用性。在一些实施例中,虚拟化的卷作为具有逻辑单元号的标准逻辑卷对于主机104而言是可见的。
在示出的实施例中,处理复合体112包括M个处理器112.1至112.M(具有表示第i处理器的通用索引112.i)。在一些实施例中,处理复合体112包括未示出的通过芯片间互连(ICI)而接合的片上系统(SoC)的两个博通多核(Broadcom multicore)XLPII 964。
引导复合体(boot complex)116结合到处理复合体112,以向处理复合体112提供基本输入/输出系统(BIOS)和引导固件代码。例如,在一些实施例中,在利用软件约定和可选择的约束选项(strap-option)的接通电源期间,处理复合体112用单内核映像来引导,并在两个套接口共享存储器CC-NUMA(高速缓存一致性非统一存储器访问)模块中引导。
处理复合体112也被结合到信道存储器120和控制器复合体124。在一些实施例中,信道存储器120对于M个处理器112i中的每个包括多个72位DDR3信道存储器控制器接口,处理器提供大约400Gbps的半双向读或写存储器交易带宽。在一些实施例中,信道存储器120也具有单纠错和双检错(SEC-DED)以及半字节(nibble)错误修正能力以能够增强系统100的可靠性。在一些实施例中,信道存储器120包括一个或更多个8GB动态随机存储器(DRAM)。
根据性能需要,控制器复合体124可以具有一个或更多个控制器,以与存储器复合体128通信。在示出的实施例中,控制器复合体124包括N个控制器124.1至124.N(具有表示第i控制器的通用索引124.i)。在一些实施例中,控制器复合体124也包括一对开关(未示出)。例如,在一些实施例中,开关是PEX 8796PCIe 3.0开关。
存储器复合体128包括存储装置132的多个池。在示出的实施例中,存储器复合体128包括P个池128.1至128.P(具有表示第i池的通用索引128.i),P个池中的每个池包括K个存储装置132,存储装置132包括装置132.i.1至132.i.K(具有表示第i池的第j存储装置的通用索引132.i.j)。在一些实施例中,存储装置132是一个或更多个固态驱动器,其具有1太字节(TB)的存储。虽然遍及P个池示出了相同数量的存储装置132,但是根据应用,在其它实施例中遍及P个池也可以使用不同数量的存储装置132。在一些实施例中,存储装置132包括连续范围的逻辑块地址。
图2示出了如图1中所示的系统100的示例性系统200。示例性系统200示出了N个主机204(204.0至204.N-1,具有表示第(i+1)主机的通用索引204.i)。每个主机204.i可以访问多个逻辑卷208(例如,Q个卷)。在一些实施例中,Q个卷可以不具有同样大小。在示出的实施例中,主机0(204.0)具有Q个逻辑卷208.0.1至208.0.Q(具有表示第(i+1)主机或主机(i+1)的第j卷的通用索引208.i.j)。示例性系统200也示出了在下面详细说明的映射函数212,该映射函数212将逻辑卷208映射到存储装置220的多个池216中的虚拟化的卷中。具体地,在示出的实施例中,具有四(P=4)个池216.0至216.3,每个池216具有十(K=10)个存储装置。例如,池216.0具有十个存储装置220.0.0至220.0.9(具有表示第(i+1)池的第j存储装置的通用索引220.i.j)。在图2中示出的实施例中,遍及一些存储装置220.0.0至220.0.9,由主机0(204.0)可见的逻辑卷208.0.1可以被虚拟化,共享或分布。在一些实施例中,用于卷分布或虚拟化的存储装置的数量是预定的,在一个池(诸如,以池216.0为例)内可用的存储装置的预定数量是二的幂。在示出的实施例中,用于卷分布或虚拟化的存储装置220.0.0至220.0.9的数量被预定为八个,其是在具有十个存储装置的池216.0内可用的与二的幂相等的存储装置的最大数量。
在一些实施例中,池216中的每个存储装置220.0.i还在多个存储单元、条带或区(extend)中被分组。每个区的大小一般为两字节的幂,并且在长度上与一个或更多个千兆字节类似,例如,1GB。在池中的区通常也具有同样的大小。在一些实施例中,每个区还被细分成扇区(未示出)。在其它实施例中,每个扇区包含二的幂个连续字节的串,在大小上与十六千字节(KB)类似,具有四千字节的优化值,其成为存储装置220的页大小。例如,来自主机的4千字节(KB)逻辑块操作将导致在存储装置220上一个物理读或写。在一些实施例中,扇区是对于存储装置220的区的分配的单元;即,遍及一个池,区是条带的,每个存储装置220接收扇区大小的数据块。在其它实施例中,扇区包含在单个存储装置220中,且池中的所有的扇区具有同样的大小。区的一部分可以基于存储装置或驱动器索引而被均匀地分布或映射到预定数量的存储装置或驱动器220中,其中预定数量可以是例如二的幂。在一些实施例中,区可以包括多个连续的存储器块。
图3A示出了用于将存储卷或逻辑卷映射到逻辑块或存储装置的多个池(例如,图2的池216.0至216.3)中的映射函数或映射过程300的操作流程图,其与根据本发明的实施例的图2的映射函数212类似。在步骤304中,映射过程300从主机(例如,图2的主机0(204.0))接收逻辑卷的请求。在一些实施例中,用主机标识来识别主机(例如,图2的主机0(204.0)具有“0”的主机标识(ID))。请求也可以包括请求的逻辑卷的大小,逻辑卷也与逻辑卷标识相关。在步骤308中,映射过程300确定来自请求的主机标识和逻辑卷标识。在步骤312,基于主机标识,映射过程300访问卷标识表,这将在下面详细说明(例如,图4的卷表440)。在一些实施例中,每个主机(诸如图2的主机204.0)被指派了特定的卷标识表。在步骤316,映射过程300确定(例如,来自请求的)卷大小。在步骤320,至少部分基于卷大小,映射过程300在一个或更多个存储装置中针对请求而分配存储卷,所述一个或更多个存储装置与图1的池1的存储装置132.1.1至132.1.8或图2的池0的存储装置220.0.0至220.0.7类似。在步骤324,映射过程300也在分配的存储卷中随意地分布或插入冗余。例如,在一些实施例中,如在廉价(独立)磁盘冗余阵列级别1和0或者RAID10中使用的那些,映射过程300可以包括分配的存储卷的条带化和镜像。在一些实施例中,类似于RAID6,映射过程300可以将奇偶校验块插入到分配的存储卷中。虽然已经描述了RAID10和RAID6,然而根据需要也可以使用诸如RAID2、RAID4、RAID5等其它冗余技术。
图3B示出了与根据本发明的实施例的图3A的映射过程300的步骤320类似的用于在存储装置中分配存储空间或卷的分配过程350的操作流程图。在步骤354中,分配过程350接收分配请求。在示出的实施例中,例如,来自如对于图3A的映射过程300所讨论的请求,分配请求包括卷大小、主机标识(例如,图2的主机0(204.0)具有“0”的主机标识)和逻辑卷标识(例如,图2的卷0.1(208.0.1)具有“0.1”的逻辑卷标识)。在步骤358中,分配过程350使用映射函数以基于主机标识和逻辑卷标识而产生池标识。在一些实施例中,映射函数(例如图2的212)是随机地确定映射值或哈希值(hash value)的哈希函数(hash function)。在一些实施例中,池标识识别并指派将使用并分配请求的存储空间的存储装置216的哪个池例如,图2的存储装置220.0.0至220.0.9的池216.0。
在池标识已经产生之后,在步骤362,分配过程350基于卷大小来确定是否识别的池具有请求的可用的存储空间。如果在步骤362确定请求的卷大小在识别的池中不可用,那么分配过程350产生新的池标识,并在步骤366基于卷大小来确定新识别的池具有请求的存储空间。如果在步骤362确定请求的卷尺寸在识别的池中可用,那么分配过程350在步骤370在识别的池中对请求的卷创建条目(entry)。如果在步骤366基于卷大小确定新识别的池具有请求的存储空间,那么分配过程350同样地行进到步骤370,以在新识别的池中对于请求的卷创建条目。然而,如果在步骤366基于卷大小确定新识别的池不能提供请求的存储空间,那么分配过程350返回指示请求的存储空间不可用的错误信息。
图4示出了根据本发明的与图3B的分配过程350类似的示例性的地址映射流400。地址镜像流400示出了主机地址404。主机地址404列出了主机标识408(例如,图2的主机204.0)、识别如主机204所见的卷的逻辑卷标识412、区地址或区416以及逻辑块地址(LBA)位移地址420。如上面针对图3B所讨论的,映射池标识424利用映射函数212(例如,其可以是随机哈希函数)通过主机标识408和逻辑卷标识412来确定。在一些实施例中,映射函数212均匀地分布池标识424,例如以减少或减轻热点(hot spotting)-两个或更多个主机204被指定给同一池且在同一池中激活。在一些实施例中,地址映射流400,具体地,池标识424利用图3B的分配过程350来确定。
在图4中示出的实施例中,池标识424指的是示例性的池428(例如,图2的池216.0)。池428包括十个存储装置432.0至432.9。存储装置432.0至432.9中的每个被细分成2w-1个条带436.0.0至436.0.2w-1(具有表示第(i+1)存储装置的第(j+1)条带的通用索引436.i.j,并且具有表示第(i+1)存储装置中的通用条带的通用索引436.i)。例如,条带436.9指的是存储装置432.9中的条带,条带436.1指的是存储装置432.1中的条带。类似地,条带436.4.2指的是存储装置432.4中的第3条带。
每个识别的池也与保存有请求的卷所使用的地址或条目的记录的卷表相关。在示出的实施例中,池428与卷表440相关。在示出的实施例中,卷表440列出了两列-装置标识(SS ID)440.1和条带标识(PS ID)440.2。在一些实施例中,装置标识440.1对请求的卷将使用存储装置432.0至432.9中的哪个进行识别,条带标识440.2对识别的存储装置中的哪个条带对于请求的卷将是起始条带进行识别。装置标识440.1和条带标识440.2形成驱动索引,所述驱动索引在与请求的卷相关的池中识别装置的条带地址,这在下面详细说明。另外,在一些实施例中,卷表440也可以包括其它可选信息,例如,以被装置标识和条带标识开始限定的池中的可用区为例。
图4也示出了通过将具有池428的存储装置432.0至432.9视为二维阵列或表来使区416被映射到池428。二维阵列从而包括多个坐标、索引或驱动器索引,其中遍及多个存储装置432.0至432.9,列代表SS ID且行代表PS ID或条带436.i。在示出的实施例中,区416被映射到存储装置432.0至432.9作为扇区或条带436.i的连续的分组。如此,如由池428中的存储装置432的数量、条带436.i.j中的字节的数量与区416中的条带436.i的数量之间的数学关系所确定的,区416可以在识别的池(例如,池428)中以任一SS ID和PS ID坐标或驱动器索引来开始。区416从而以相邻的方式被置于识别的池中。如果区416中的条带436.i的数量与池中的存储装置432的数量相等,那么区416以432.0开始。如果区(例如区416)中的条带436.i的数量比池428中的存储装置432.0至432.9的数量少或多,那么地址映射流400导致沿着卷表440的长度连续缠绕的效果。在示出的实施例中,区416指向SS ID 440.1.3和PSID 440.2.3。在这种情况下,请求的卷的开始地址、坐标或驱动器索引被SS ID 440.1.3和PS ID 440.2.3识别,产生驱动器索引436.4.2,其中请求的卷的开始地址、坐标或驱动器索引具有存储装置432.4的索引和条带436.2中的两个偏移量。因此,在一些实施例中,存储装置的索引或驱动器索引可以基于映射值和一个或更多个区(例如区416)来确定,或者通过确定存储装置中的至少一个的存储装置标识来确定。
图5示出了第一分配示例500,其中,多个主机504(504.0至504.4)在存储装置516(516.0至516.9)的池中通过映射函数508来分配多个卷506(卷A至卷E)。在第一分配示例500中,映射函数508类似于图3的映射过程300。在示出的实施例中,遍及存储装置516.0至516.9,主机504.0至504.4均匀地将请求的卷(卷A至卷E)分别分布映射到配置的卷506.0至506.4。在示出的实施例中,标准配置被应用于由主机504.0至504.4请求的卷506(卷A至卷E),而不具有冗余。
图6示出了第二分配示例600,其中,多个主机604(604.0至604.4)在没有冗余的存储装置616(616.0至616.9)的池中通过映射函数608分配多个卷606(卷A至卷E)。在第二分配示例600中,映射函数608类似于图3的映射过程300,并且利用自动精简配置将请求的卷606(卷A至卷E)映射到自动精简配置的卷606.0至606.4。在示出的实施例中,遍及存储装置616.0至616.9,主机604.0至604.4利用用于自动精简配置的卷606.0至606.4倾覆(overthrow)的一个或更多个附加物(addition)620.0和620.1来均匀地映射请求的卷(卷A至卷E)。根据应用,也可使用更多附加物。
图7示出了第三分配示例700,其中,多个主机704(704.0至704.4)在存储装置716(716.0至716.9)的池712中通过映射函数708来分配多个卷(卷A至卷D),其中,存储装置716(716.0至716.9)在同一池712中具有冗余,池712被细分为第一子池712.1和第二子池或镜像子池712.m。在第三分配示例700中,映射函数708类似于图3的映射过程300,并利用自动精简配置将请求的卷(卷A至卷D)映射到自动精简配置的卷706.0至706.3中。在第三分配示例700中,也嵌入或应用了冗余。在示出的实施例中,应用的冗余包括RAID10,其还包括条带化和镜像。在这种情况下,冗余包括使池712.1中的自动精简配置的卷706.0至706.3条带化,并使对应的池712.m中的自动精简配置的卷706m.0至706m.3镜像。更具体地讲,遍及存储装置716.0至716.4,利用用于子池712.1的自动精简配置的卷706.0至706.3的倾覆的一个或更多个附加物,主机704.0至704.3利用如上所述的驱动器索引均匀地将请求的卷(卷A至卷D)映射到自动精简配置的卷706.0至706.3。类似地,自动精简配置的卷706.0至706.3和自动精简配置的附加物720.m也与在子池712.m中的镜像存储装置716.5至716.9中被镜像的驱动器索引镜像,从而创建多个镜像的卷706m.0至706m.3以及多个自动精简配置的附加物720m.0和720m.1。
图8示出了第四分配示例800,其中,遍及不同的池812.1和812.m,多个主机804(804.0至804.4)利用自动精简配置和冗余在第一池812.1和不同的第二或镜像池812.m中通过映射函数808对多个卷806(卷A至卷E)进行分配。在第四分配示例800中,第一池812.1具有存储装置816.0至816.9,第二池812.m具有镜像存储装置816m.0至816m.9。此外,映射函数808类似于图3的映射过程300,并且将请求的卷(卷A至卷E)映射到第一池812.1的自动精简配置的卷806.0至806.4。在示出的实施例中,应用的冗余包括RAID10,其还包括如上所述的条带化和镜像。具体地讲,遍及第一池812.1中的存储装置816.0至816.9,主机804.0至804.4利用用于将第一池812.1的自动精简配置的卷806.0至806.4倾覆的一个或更多个自动精简配置的附加物820.0和820.1均匀地将请求的卷(卷A至卷E)映射到自动精简配置的卷806.0至806.4。类似地,自动精简配置的卷806.0至806.4和自动精简配置的附加物820.0与820.1在第二池812.m中的镜像存储装置816m.0至816m.9中镜像,从而创建多个镜像的自动精简配置的卷806m.0至806m.4以及多个镜像的自动精简配置的附加物820m.0和820m.1。因此,在该实施例中,利用作为池812.1的镜像的池812.m,遍及两个不同的池812.1和812.m分配请求的卷806。
图9示出了第五分配示例900,其中,多个主机904(904.0至904.4)利用自动精简配置和冗余在存储装置916(916.0至916.9)的池的通过映射函数908对多个卷906(卷A至卷E)进行分配。在第五分配示例900中,映射函数908类似于图3的映射过程300,并且将请求的卷(卷A至卷E)映射到被奇偶校验的卷906.0至906.4。在示出的实施例中,应用的冗余包括RAID6,其还包括嵌入的多个PQ奇偶校验块。此外,遍及池中的存储装置916.0至916.9,主机904.0至904.4利用用于将池的被奇偶校验的卷906.0至906.4倾覆的一个或更多个自动精简配置的附加物920.0和920.1均匀地将请求的卷(卷A至卷E)映射到被奇偶校验的卷906.0至906.4。在示出的实施例中,多个奇偶校验块906pq.0至906pq.4、920pq.0和920pq.1被嵌入在池中的被奇偶校验的卷906.0至906.4以及自动精简配置的附加物920中。
图10示出了利用图3的映射过程300以及RAID10冗余(包含100%冗余)的第一示例性的平均故障间隔时间(MTBF)失效报告1000。在第一示例性的MTBF失效报告1000中,存储装置1004.0至1004.7的池1004(与图8的池812.1类似)在存储装置1008.0至1008.7的镜像池1008(与图8的池812.m类似)中镜像。在示出的实施例中,具有4千字节(KB)页面的池1004中的多个扇区1004.1和1004.3已经被确定为故障,在不同的镜像池1008中的另外的多个镜像扇区1008.6和1008.7也已经被确定为故障。如果页面级别失效报告用在故障扇区的恢复数据中,则不会实现恢复。然而,根据本发明,响应于已确定存储装置已故障,系统100能够通过利用扇区级别失效报告并且通过访问(例如,同时地访问)存储装置或驱动器的池而能够恢复完整的4KB页面1012的数据。在示出的实施例中,故障的扇区1004.1和1004.3被它们各自的镜像版本(mirror version)1008.1和1008.3替代,同时故障的镜像扇区1008.6和1008.7能够被扇区1004.6和1004.7所取代。
图11示出了利用图3的映射过程300以及RAID6冗余(包含25%冗余)的第二示例性的MTBF失效报告1100。在第二示例性的MTBF失效报告1100中,存储装置1104.0至1104.7的池1104(类似于图9的906.0)具有其PQ奇偶校验块,PQ奇偶校验块存储在存储装置1108.0至1108.7的奇偶校验池1108(类似于图9的906pq.0)中。在示出的实施例中,具有4KB页面的池1104中的多个扇区1104.1和1104.3已故障,不同的奇偶校验池1108中的另外的多个奇偶校验扇区1108.6和1108.7也已故障。根据本发明,响应于已确定了存储装置(例如,图2的存储装置220.0.0)已故障,系统100能够通过利用扇区级别失效报告并且通过访问(例如,同时地访问)存储装置或驱动器的池(例如,图2的池216.0)而能够恢复完整的4KB页面1112的数据。在示出的实施例中,故障的扇区1104.1和1104.3源自奇偶校验扇区1108.0和1108.1。
已经根据示出的实施例描述了本发明,对于实施例可以存在变化,并且任何变化将在本发明的精神和范围内。例如,示例性实施例可利用硬件、软件、包含程序指令的计算机可读介质或者它们的组合来实现。根据本发明编写的软件将以计算机可读介质(例如存储器、硬盘或CD/DVD-ROM)的某种形式存储,并由处理器执行。
虽然已经参照某些实施例描述了本发明,但本领域技术人员将理解的是,在不脱离发明的范围的情况下,可做出各种变化并可被等同物取代。另外,在不脱离发明的范围的情况下,可针对发明的教导做出多种变形来适用特定环境或材料。因此,其意图是,发明不限于公开的特定实施例,而是发明将包括落入权利要求的范围内的全部实施例。
另外,附图中描绘的逻辑流程无需示出的特定顺序、或连续的顺序以达到适合的结果。也可在描述的流程中提供其它步骤,或者可从描述的流程中消除其它步骤,可在描述的系统中添加其它组件,或者可从描述的系统中去除其它组件。因此,其它实施例在权利要求的范围内。

Claims (46)

1.一种将存储卷映射到存储装置的多个池的方法,其中,所述存储装置由具有主机标识的主机所指定,数据存储卷具有卷标识和多个区,所述方法包括:
基于主机标识将第一池存储装置指派给存储卷;
对于第一池存储装置,基于主机标识和卷标识来确定映射值;
基于映射值以及所述多个区中的一个或更多个区来确定存储装置索引;以及
基于存储装置索引将所述多个区的一部分映射到第一池存储装置。
2.如权利要求1所述的方法,其中,确定映射值的步骤包括:基于主机标识和卷标识来确定哈希值。
3.如权利要求2所述的方法,其中,确定哈希值的步骤包括:基于主机标识和卷标识来随机确定哈希值。
4.如权利要求1所述的方法,其中,所述方法还包括:
基于主机标识为存储卷分配第二池存储装置;以及
基于存储装置索引将所述多个区中剩余的区映射到第二池存储装置。
5.如权利要求1所述的方法,其中,第一池存储装置中的存储装置中的至少一个包括一个或更多个固态盘。
6.如权利要求1所述的方法,其中,确定存储装置索引的步骤包括:确定第一池存储装置中的存储装置中的至少一个的存储装置标识。
7.如权利要求1所述的方法,其中,第一池存储装置中的存储装置的至少一个包括多个存储装置条带,其中,确定存储装置索引的步骤包括确定存储装置条带中的一个的索引。
8.如权利要求1所述的方法,其中,将所述多个区的一部分映射的步骤包括:基于存储装置索引将所述多个区中的所述部分均匀地映射到第一池存储装置中的预定数量的存储装置中。
9.如权利要求8所述的方法,其中,存储装置的预定数量是二的幂。
10.如权利要求1所述的方法,其中,所述多个区包括多个连续的存储器块。
11.如权利要求1所述的方法,所述方法还包括:对于存储卷,将冗余插入到第一池存储装置中。
12.如权利要求11所述的方法,其中,插入冗余的步骤包括使存储卷的至少一部分镜像在第一池存储装置中。
13.如权利要求11所述的方法,其中,插入冗余的步骤包括将存储卷的至少一部分在第一池存储装置中条带化。
14.如权利要求11所述的方法,其中,插入冗余的步骤包括将奇偶校验块插入到第一池存储装置中。
15.如权利要求11所述的方法,所述方法还包括:
确定第一池存储装置的一个或更多个存储装置是否已故障;以及
响应于已确定所述一个或更多个存储装置已故障,利用插入的冗余对所述一个或更多个存储装置的数据进行恢复。
16.如权利要求1所述的方法,所述方法还包括同时访问第一池存储装置中的一个或更多个存储装置。
17.一种网络存储系统,所述网络存储系统包括:
主机,具有主机标识,并被构造为对具有卷标识和多个区的存储卷进行映射;
存储装置的多个池,被构造为对由主机所指定的存储卷的所述多个区的至少一部分进行分布;
处理器,被构造为:基于主机标识将来自存储装置的所述多个池的第一池指派给存储卷;对于存储装置的指派的池,基于主机标识和卷标识来确定映射值;基于映射值和所述多个区中的一个或更多个来确定存储装置索引;以及基于存储装置索引将所述多个区的所述至少一部分映射到来自存储装置的所述多个池的第一池。
18.如权利要求17所述的网络存储系统,其中,映射值包括哈希值。
19.如权利要求18所述的网络存储系统,其中,随机确定哈希值。
20.如权利要求17所述的网络存储系统,其中,处理器还被构造为:基于主机标识为存储卷指派来自存储装置的所述多个池的第二池,并基于存储装置索引将所述多个区的剩余的区映射到来自存储装置的所述多个池的第二池。
21.如权利要求17所述的网络存储系统,其中,存储装置的所述多个池中的一个或更多个存储装置包括一个或更多个固态盘。
22.如权利要求17所述的网络存储系统,其中,存储装置索引包括在存储装置的所述多个池中的存储装置中的至少一个存储装置的存储装置标识。
23.如权利要求17所述的网络存储系统,其中,存储装置的所述多个池中的第一池中的存储装置中的至少一个包括多个存储装置条带,其中,确定存储装置索引的步骤包括确定存储装置条带中的一个的索引。
24.如权利要求17所述的网络存储系统,其中,处理器还被构造为:基于存储装置索引将所述多个区中的所述部分均匀地映射到来自存储装置的所述多个池的第一池中的预定数量的存储装置中。
25.如权利要求24所述的网络存储系统,其中,存储装置的预定数量是二的幂。
26.如权利要求17所述的网络存储系统,其中,所述多个区包括多个连续的存储器块。
27.如权利要求17所述的网络存储系统,其中,处理器还被构造为:对于存储卷,将冗余插入到来自存储装置的所述多个池中的第一池中。
28.如权利要求27所述的网络存储系统,其中,冗余包括使存储卷的至少一部分镜像在来自存储装置的所述多个池的第一池中。
29.如权利要求27所述的网络存储系统,其中,冗余包括使存储卷的至少一部分在来自存储装置的所述多个池的第一池中条带化。
30.如权利要求27所述的网络存储系统,其中,冗余包括奇偶校验块。
31.如权利要求17所述的网络存储系统,其中,处理器还被构造为:确定第一池存储装置的一个或更多个存储装置是否已故障,以及,响应于已确定一个或更多个存储装置已故障,利用插入的冗余对所述一个或更多个存储装置的数据进行恢复。
32.如权利要求27所述的网络存储系统,其中,处理器还被构造为同时地访问来自存储装置的所述多个池的第一池中的存储装置。
33.一种将存储卷映射到多个存储装置的方法,其中,所述多个存储装置由具有主机标识的主机所指定,数据存储卷具有卷标识和多个区,所述方法包括:
对于所述多个存储装置,基于主机标识和卷标识来确定哈希值;
基于所述多个区中的一个或更多个获取存储装置索引;
基于存储装置索引指派来自存储装置的多个池的第一池中的存储装置中的一个的存储装置地址;
利用指派的存储装置地址将所述多个区中的一部分映射到来自存储装置的所述多个池的第一池;
在所述多个区中的所述一部分的后面插入冗余;以及
对所述多个区中的在插入的冗余的后面的剩余部分进行映射。
34.如权利要求33所述的方法,其中,基于主机标识和卷标识来确定哈希值,且哈希值随机确定。
35.如权利要求33所述的方法,其中,所述方法还包括将所述多个存储装置分组成相等数量的存储装置的多个池。
36.如权利要求33所述的方法,其中,第一池存储装置中的存储装置中的一个包括一个或更多个固态盘。
37.如权利要求33所述的方法,其中,获取存储装置索引的步骤包括:从预定的卷表确定来自存储装置的所述多个池的第一池的存储装置中的至少一个存储装置的存储装置标识。
38.如权利要求33所述的方法,其中,来自存储装置的所述多个池的第一池中的存储装置中的至少一个存储装置包括多个存储装置条带,其中,获取存储装置索引的步骤包括从预定的卷表确定存储装置条带中的一个存储装置条带的索引。
39.如权利要求33所述的方法,其中,对所述多个区中的一部分映射的步骤包括将所述多个区中的所述一部分均匀地映射到预定数量的存储装置中。
40.如权利要求39所述的方法,其中,存储装置的预定数量是二的幂。
41.如权利要求33所述的方法,其中,所述多个区包括多个连续的存储器块。
42.如权利要求33所述的方法,其中,插入冗余的步骤包括将存储卷的至少一部分镜像在所述多个存储装置的至少一个中。
43.如权利要求33所述的方法,其中,插入冗余的步骤包括将存储卷的至少一部分在所述多个存储装置的至少一个中条带化。
44.如权利要求33所述的方法,其中,插入冗余的步骤包括在所述多个存储装置中的至少一个中插入奇偶校验块。
45.如权利要求33所述的方法,所述方法还包括:
确定来自存储装置的所述多个池的第一池的一个或更多个存储装置是否已故障;以及
响应于已确定所述一个或更多个存储装置已故障,利用插入的冗余将所述一个或更多个存储装置的数据恢复。
46.如权利要求33所述的方法,所述方法还包括同时访问所述多个存储装置中的一个或更多个存储装置。
CN201510599243.6A 2014-09-18 2015-09-18 智能数据部署 Active CN105446890B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462052203P 2014-09-18 2014-09-18
US62/052,203 2014-09-18

Publications (2)

Publication Number Publication Date
CN105446890A CN105446890A (zh) 2016-03-30
CN105446890B true CN105446890B (zh) 2020-08-25

Family

ID=55525764

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510599243.6A Active CN105446890B (zh) 2014-09-18 2015-09-18 智能数据部署

Country Status (3)

Country Link
US (1) US9851909B2 (zh)
KR (1) KR102414500B1 (zh)
CN (1) CN105446890B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10656838B2 (en) 2015-07-13 2020-05-19 Samsung Electronics Co., Ltd. Automatic stream detection and assignment algorithm
US9996463B2 (en) * 2015-11-10 2018-06-12 International Business Machines Corporation Selection and placement of volumes in a storage system using stripes
KR102229013B1 (ko) * 2016-09-02 2021-03-17 삼성전자주식회사 자동 스트림 검출 및 할당 알고리즘
JP7169796B2 (ja) * 2018-07-17 2022-11-11 富士通株式会社 情報処理システム、情報処理装置、及びプログラム
US11188231B2 (en) 2019-03-01 2021-11-30 International Business Machines Corporation Data placement on storage devices
KR20200106739A (ko) * 2019-03-05 2020-09-15 에스케이하이닉스 주식회사 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법
US11604771B2 (en) 2019-09-30 2023-03-14 Dell Products L.P. Method and system for data placement in a linked node system
US11422741B2 (en) * 2019-09-30 2022-08-23 Dell Products L.P. Method and system for data placement of a linked node system using replica paths
US11481293B2 (en) 2019-09-30 2022-10-25 Dell Products L.P. Method and system for replica placement in a linked node system
US11068345B2 (en) 2019-09-30 2021-07-20 Dell Products L.P. Method and system for erasure coded data placement in a linked node system
US11360949B2 (en) 2019-09-30 2022-06-14 Dell Products L.P. Method and system for efficient updating of data in a linked node system
US20230132476A1 (en) * 2021-10-22 2023-05-04 EMC IP Holding Company LLC Global Automated Data Center Expansion
US11947420B2 (en) * 2021-12-15 2024-04-02 Google Llc Hardware memory error tolerant software system
US20230393765A1 (en) * 2022-06-01 2023-12-07 Micron Technology, Inc. Power efficient codeword scrambling in a non-volatile memory device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110078405A1 (en) * 2009-09-25 2011-03-31 Hitachi, Ltd. Computer system management apparatus and management method for the computer system
CN102123167A (zh) * 2010-12-31 2011-07-13 成都市华为赛门铁克科技有限公司 分布式文件系统及其数据存储处理方法和装置
US20120290804A1 (en) * 2005-06-02 2012-11-15 Yoshiaki Eguchi Storage system for a storage pool and virtual volumes

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5765200A (en) * 1995-06-07 1998-06-09 International Business Machines Corporation Logical positioning within a storage device by a storage controller
US8032701B1 (en) * 2004-03-26 2011-10-04 Emc Corporation System and method for managing provisioning of storage resources in a network with virtualization of resources in such a network
US7173929B1 (en) * 2001-12-10 2007-02-06 Incipient, Inc. Fast path for performing data operations
UA98770C2 (ru) * 2006-05-26 2012-06-25 Монсанто Текнолоджи, Ллс Растение кукурузы и семена, которые соответствуют трансгенному случаю mon89034, и способы его обнаружения и применения
KR20110078405A (ko) * 2009-12-31 2011-07-07 주식회사 디엠에스 탄소나노튜브 섬유 형성방법
KR20140108858A (ko) * 2013-03-04 2014-09-15 주식회사 엘지유플러스 Nfc 태그를 이용한 액세스 포인트 정보 제공 방법 및 이를 위한 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120290804A1 (en) * 2005-06-02 2012-11-15 Yoshiaki Eguchi Storage system for a storage pool and virtual volumes
US20110078405A1 (en) * 2009-09-25 2011-03-31 Hitachi, Ltd. Computer system management apparatus and management method for the computer system
CN102123167A (zh) * 2010-12-31 2011-07-13 成都市华为赛门铁克科技有限公司 分布式文件系统及其数据存储处理方法和装置

Also Published As

Publication number Publication date
KR20160033643A (ko) 2016-03-28
US20160085467A1 (en) 2016-03-24
US9851909B2 (en) 2017-12-26
KR102414500B1 (ko) 2022-06-29
CN105446890A (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
CN105446890B (zh) 智能数据部署
US10073621B1 (en) Managing storage device mappings in storage systems
US10001947B1 (en) Systems, methods and devices for performing efficient patrol read operations in a storage system
US10082959B1 (en) Managing data placement in storage systems
US11023147B2 (en) Mapping storage extents into resiliency groups
US10628043B1 (en) Systems and methods for implementing a horizontally federated heterogeneous cluster
JP5608016B2 (ja) オブジェクト単位階層の管理方法及び装置
US9846544B1 (en) Managing storage space in storage systems
US9875043B1 (en) Managing data migration in storage systems
US20130013880A1 (en) Storage system and its data processing method
US10120797B1 (en) Managing mapping metadata in storage systems
US20130275802A1 (en) Storage subsystem and data management method of storage subsystem
US8914578B2 (en) Capacity-expansion of a logical volume
WO2013158817A1 (en) Lun management with distributed raid controllers
US8868877B2 (en) Creating encrypted storage volumes based on thin-provisioning mode information
US9946485B1 (en) Efficient data marker representation
US10579540B2 (en) Raid data migration through stripe swapping
US10048885B1 (en) Managing reclaiming storage space in file systems
US10705907B1 (en) Data protection in a heterogeneous random access storage array
US20170212705A1 (en) Dynamic Weighting for Distributed Parity Device Layouts
US9298555B1 (en) Managing recovery of file systems
US11256447B1 (en) Multi-BCRC raid protection for CKD
US11526447B1 (en) Destaging multiple cache slots in a single back-end track in a RAID subsystem
US11314608B1 (en) Creating and distributing spare capacity of a disk array
US20140317367A1 (en) Storage apparatus and data copy control method

Legal Events

Date Code Title Description
C06 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