[go: up one dir, main page]

CN104965768A - 用于存储系统中的服务感知数据放置的方法和系统 - Google Patents

用于存储系统中的服务感知数据放置的方法和系统 Download PDF

Info

Publication number
CN104965768A
CN104965768A CN201510035668.4A CN201510035668A CN104965768A CN 104965768 A CN104965768 A CN 104965768A CN 201510035668 A CN201510035668 A CN 201510035668A CN 104965768 A CN104965768 A CN 104965768A
Authority
CN
China
Prior art keywords
raid
band
data block
parity
raid band
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
CN201510035668.4A
Other languages
English (en)
Other versions
CN104965768B (zh
Inventor
J·S·邦威克
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.)
EMC Corp
Original Assignee
DSSD Inc
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 DSSD Inc filed Critical DSSD Inc
Publication of CN104965768A publication Critical patent/CN104965768A/zh
Application granted granted Critical
Publication of CN104965768B publication Critical patent/CN104965768B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration 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/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
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/104Metadata, i.e. metadata associated with RAID systems with parity
    • 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/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种用于服务感知数据放置的方法和系统。方法包括:接收指定目标SD的服务通知;以及,在接收服务通知之后,接收写入数据的请求、写入包括数据块和奇偶校验块的RAID条带,其中,奇偶校验块不存储于目标SD上,并且,数据块均不存储于目标SD上。方法还包括执行改进的垃圾收集操作,该改进的垃圾收集操作包括标识包括N个数据块的活RAID条带、写入包括N-1个数据块和第二奇偶校验块的新的RAID条带,其中,第二数据校验块以及N-1均不存储于目标SD上;以及,发出指示可去除目标SD的去除通知。

Description

用于存储系统中的服务感知数据放置的方法和系统
背景技术
为了防止存储系统中的数据的潜在丢失,实施复制方案常常是有利的。在写入数据和奇偶校验值时,现有的复制方案不考虑存储系统的硬件服务调度。
发明内容
一般地,在一个方面,本发明涉及一种包括当通过处理器被执行时执行方法的指令的非暂时性计算机可读介质,该方法包括:接收指定目标存储设备(SD)的服务通知;在接收服务通知之后,完成以下操作:接收将数据写入到永久存储器的请求,其中,永久存储器包括SD;响应请求,将独立磁盘冗余阵列(RAID)条带写入到永久存储器,其中,RAID条带包括第一数据块和第一奇偶校验块,其中,第一数据块中的至少一个包括数据的一部分,第一奇偶校验块包括通过使用第一数据块计算的第一奇偶校验值,并且,第一奇偶校验块不存储于目标SD上,并且,第一数据块均不存储于目标SD上;执行改进的垃圾收集操作,其中,改进的垃圾收集操作包括:标识永久存储器中的活RAID条带,其中,活RAID条带包括N个第二数据块和第二奇偶校验块,其中,活RAID条带的至少一部分位于目标SD上;将新的RAID条带写入到永久存储器中的新位置,其中,新的RAID条带包括N-1个第三数据块,N-1个第三数据块中的至少一个包括第二数据块中的至少一个中的数据的副本,新的RAID条带包括第三奇偶校验块,第三奇偶校验块包括通过使用N-1个第三数据块计算的第二奇偶校验值,第三奇偶校验块不存储于目标SD上,并且,N-1个第三数据块均不存储于目标SD上;和当完成改进的垃圾收集操作时,发出去除通知,其中,去除通知指示可从永久存储器去除目标SD。
一般地,在一个方面,本发明涉及一种系统,该系统包括:包括N+M个存储设备(SD)的存储阵列;和与存储阵列可操作地连接并且被配置为完成以下操作的存储控制器:标识用于去除的目标SD;在标识作为多个SD中的一个的目标SD之后,完成以下操作:接收将数据写入到存储阵列的请求;响应请求,将包括N-1个数据块和M个奇偶校验块的独立磁盘冗余阵列(RAID)条带写入到存储阵列,其中,N-1个数据块均不存储于目标SD上,并且,M个奇偶校验块均不存储于目标SD上;执行改进的垃圾收集操作,其中,改进的垃圾收集操作包括:标识存储阵列中的活RAID条带,其中,活RAID条带包括第二数据并且包括N个第二数据块和M个第二奇偶校验块;将新的RAID条带写入到存储阵列中的新位置,其中,新的RAID条带包括N-1个第三数据块和M个第三奇偶校验块,其中,N-1个第三数据块中的至少一个包括N个第二数据块中的至少一个中的数据的副本;和当完成改进的垃圾收集操作时,发出去除通知,其中,去除通知指示可从存储阵列去除目标SD。
从以下的描述和所附的权利要求,本发明的其它方面将十分明显。
附图说明
图1表示根据本发明的一个实施例的系统。
图2表示根据本发明的一个或更多个实施例的RAID条带。
图3表示根据本发明的一个实施例的数据结构。
图4表示根据本发明的一个或更多个实施例的实现RAID写入操作的流程图。
图5表示根据本发明的一个或更多个实施例的用于实现服务感知数据放置的流程图。
图6表示根据本发明的一个或更多个实施例的用于实现改进的RAID写入操作的流程图。
图7A-7B表示根据本发明的一个或更多个实施例的用于实现改进的垃圾收集操作的流程图。
图8A-8B表示根据本发明的一个或更多个实施例的例子。
具体实施方式
现在参照附图详细描述本发明的具体实施例。在本发明的实施例的以下详细描述中,为了使得能够更彻底地理解本发明,阐述大量的特定细节。但是,对于本领域技术人员来说,很显然,可以在没有这些具体细节的情况下实施本发明。在其它情况下,为了避免不必要地使描述复杂化,没有描述公知的特征。
在图1~8B的以下描述中,在本发明的各种实施例中针对附图描述的任何组件可以与针对任何其它附图描述的一个或更多个名称类似的组件等同。为了简便起见,对这些组件的描述并不针对每个附图进行重复。因此,各附图的组件的每一个实施例通过引用被并入,并且被假定为可选地存在于具有一个或更多个名称类似的组件的每一个其它附图中。另外,根据本发明的各种实施例,附图的组件的任何描述要被解释为可选实施例,该可选实施例的实施可以附加于、结合于或者替代针对其他任意附图中相应的名称类似组件所描述的实施例。
一般地,本发明的实施例涉及通过使用RAID方案在存储阵列中存储数据。具体而言,RAID方案使用关于在确定新的和活RAID条带的RAID条带几何结构时被去除和/或替代的存储设备的信息。
对于本发明,这里使用的术语“RAID”指的是“独立磁盘冗余阵列”。虽然“RAID”指的是独立磁盘的任何阵列,但可通过使用任何类型的永久性存储设备实现本发明的实施例。
图1表示根据本发明的一个实施例的系统。如图1所示,系统包括一个或更多个客户机(100A、100M)、RAID控制器(104)、存储器(106)、可选的现场可编程门阵列(FPGA)(102)和存储阵列(108)。
在本发明的一个实施例中,客户机(100A、100M)是包括向RAID控制器(104)发出读取请求或写入请求的功能的任何系统或任何在这种系统上执行的处理。在本发明的一个实施例中,每个客户机(100A、100M)可包括处理器(未示出)、存储器(未示出)和永久存储器(未示出)。在本发明的一个实施例中,RAID控制器(104)被配置为实现RAID方案,该RAID方案包括以与在图4~7中描述的实施例一致的方式将数据写入到存储阵列(108),和根据在图7中描述的实施例执行垃圾收集操作。进一步地,RAID控制器包括从存储阵列(108)读取数据(包括重构数据)的功能。在本发明的一个实施例中,RAID控制器(104)包括被配置为执行用于实现本发明的一个或更多个实施例的指令的处理器,其中,指令存储于位于RAID控制器(104)内或者与其可操作地连接的非暂时性计算机可读介质(未示出)上。作为替代方案,可通过使用硬件实现RAID控制器(104)。本领域技术人员可以理解,可通过使用软件和/或硬件的任意组合实现RAID控制器(104)。
在本发明的一个实施例中,RAID控制器(104)与存储器(106)可操作地连接。存储器(106)可以是任何易失性存储器,包括但不限于动态随机存储器(DRAM)、同步DRAM、SDR SDRAM和DDR SDRAM。在本发明的一个实施例中,存储器(106)被配置为在各种数据(包括奇偶校验数据)被存储于存储阵列中之前暂时存储这些数据。
在本发明的一个实施例中,FPGA(102)(如果存在的话)包括出于在存储阵列(108)中存储数据的目的计算奇偶校验值(例如,P奇偶校验值、Q奇偶校验值)的功能,和/或执行恢复通过使用RAID方案存储的损坏数据所需要的各种计算的功能。根据本发明的一个或更多个实施例,RAID控制器(104)可使用FPGA(102)以卸载各种数据的处理。
在本发明的一个实施例中,存储阵列(108)包括一个或更多个存储设备(SDD)(110A、110B)。各存储设备包括永久存储介质。存储设备的例子包括但不限于磁存储设备、光学存储设备、相变存储设备、固态存储设备、带驱动、任何其它适当类型的永久存储设备或它们的任意组合。
本领域技术人员可以理解,虽然图1表示FPGA,但可以在没有FPGA的情况下实现本发明。并且,本领域技术人员可以理解,在不背离本发明的情况下,可以使用其它的组件以替代FPGA。例如,可通过使用下列设备来实现本发明:专用集成电路(ASIC)、图形处理单元(GPU)、通用处理器、能够出于在存储阵列中存储数据的目的计算奇偶校验值和/或执行恢复通过使用RAID方案存储的损坏数据所需要的各种计算的任何其它硬件设备、包括被配置为出于在存储阵列(108)中存储数据的目的计算奇偶校验值和/或执行恢复通过使用RAID方案存储的损坏数据所需要的各种计算的硬件、固件和/或软件的组合的任何设备或它们的任意组合。
本领域技术人员可以理解,本发明不限于图1所示的配置。
图2表示根据本发明的一个或更多个实施例的RAID条带。各RAID条带包括数据块和奇偶校验块。数据块与位于包括数据(与奇偶校验值相对)的存储设备上的RAID条带的一部分对应。奇偶校验块与位于包括RAID条带的奇偶校验值(或奇偶校验值中的一个)的存储设备上的RAID条带的一部分对应。各RAID条带包括数据块和一个或更多个奇偶校验块。
在本发明的一个实施例中,各块(即,数据块和奇偶校验块)可以是死块或活块。死块是包括陈旧数据或另外被标记为要被擦除的数据的块。当数据的更新副本存储于存储阵列中的另一活块中时,数据可被视为陈旧。死块中的数据不被用于服务读取请求。在本发明的一个实施例中,活块是包括被客户机和/或存储控制器积极使用的至少一些数据的块。活块中的数据被用于服务读取请求。
系统中的各RAID条带为活条带(200)或死条带(202)。如果RAID条带仅包括死块(例如,数据块4~7和奇偶校验块1),那么它是死条带。如果存储阵列中的RAID条带包括至少一个活块,那么它是活条带(200)。
如图2所示,RAID条带(200、202)包括数据块和奇偶校验块。数据块和奇偶校验块的数量可基于用于产生RAID条带的RAID方案而改变。例如,如果根据RAID-5产生RAID条带,那么RAID条带可包括四个数据块和一个奇偶校验块。在另一例子中,如果根据RAID-6产生RAID条带,那么RAID条带可包括四个数据块和两个奇偶校验块(例如,具有P奇偶校验值的奇偶校验块和具有Q奇偶校验值的第二奇偶校验块)。可通过使用同一奇偶方案实现存储阵列中所有的RAID条带。作为替代方案,可通过使用不同的RAID方案实现存储阵列中的RAID条带。
在本发明的一个实施例中,P奇偶校验值是通过使用P奇偶校验函数产生的Reed-Solomon综合征(syndrome)。P奇偶校验函数可与可产生Reed-Solomon综合征的任何函数对应。在本发明的一个实施例中,P奇偶校验函数是XOR函数。
在本发明的一个实施例中,Q奇偶校验值是通过使用Q奇偶校验函数产生的Reed-Solomon综合征。Q奇偶校验函数可与可产生Reed-Solomon综合征的任何函数对应。在本发明的一个实施例中,Q奇偶校验值为Reed-Solomon代码。在本发明的一个实施例中,Q=g0·D0+g1·D1+g2·D2+…+gn-1·Dn-1,其中,Q与在本发明中描述的Q奇偶校验值中的任一个对应,g是字段生成器,并且,D的值与数据(存储于相应RAID条带中的数据块中)对应。
在本发明的一个实施例中,RAID条带几何结构限定RAID条带中的每一个块的位置。例如,参照活条带(200),RAID几何结构可指定以下方面:(i)RAID方案-RAID5和(ii)奇偶校验块位于SD4上。类似地,对于死条带(202),RAID几何结构可指定以下方面:(i)RAID方案-RAID5和(ii)奇偶校验块位于SD2上。根据SD的特定实现,RAID条带几何结构也可包括与奇偶校验块对应的SD内的特定块的位置。
通过使用该信息,存储控制器(或系统中的另一组件)可确定存储阵列中针对活条带(200)和死条带(202)的数据块的位置。在不背离本发明的情况下,条带几何结构可包括附加的信息(例如,数据块位置)和/或其他信息。
在本发明的一个实施例中,RAID条带中的各块位于不同的SD上。并且,存储阵列中的各RAID条带的宽度可相同并且跨过整个存储阵列(例如,图2中的5个SD)。在本发明的另一实施例中,RAID条带可以不跨过整个存储阵列(例如,参见图8C~8D)。
可通过使用不同的RAID方案(例如,RAID-4、RAID-5、RAID6、多维RAID等)和不同的条带宽度实现本发明的实施例,而不偏离本发明。进一步地,给定的存储阵列可同时在其中存储通过使用不同的RAID方案存储的不同宽度的RAID条带。
图3表示根据本发明的一个实施例的数据结构。在本发明的一个实施例中,RAID控制器包括用于实现本发明的实施例的一个或更多个数据结构。
在本发明的一个实施例中,对于存储阵列中的各块(300)保持块状态(302)。块状态(302)指示块是活块还是死块。在本发明的一个实施例中,对于存储于存储阵列中的各RAID条带(304)保持RAID条带几何结构(306)。进一步地,对于各RAID条带(304)保持指示RAID条带(304)是活条带还是死条带的条带状态(308)。另外,RAID控制器还可跟踪各存储设备(310)中的可用空间(312)。可用空间表示存储设备有多少空间可用于存储块(数据或奇偶)。可用空间可包括(i)当前不使用的空间和/或(ii)当前被使用但可被新块(数据或奇偶)重写的空间。
转到流程图,虽然依次给出和描述了流程图中的各步骤,但本领域技术人员可以理解,可以以不同的次序执行、可以组合或者省略步骤中的一些或全部,并且可以并行执行步骤中的一些或全部。在本发明的一个实施例中,图4~7B所示的一个或更多个步骤可以与图4~7B所示的其它步骤中的一个或更多个并行地执行。
图4表示根据本发明的一个或更多个实施例实现RAID写入操作的流程图。具体而言,图4表示标识目标SD(参见图6)之前的常规RAID写入操作。
在步骤400中,接收用于将数据写入存储阵列的请求。请求可包括要存储的数据或者可包括对要存储的数据的参照。在不背离本发明的情况下,请求可采取任何形式。在步骤402中,产生N个数据块以存储于RAID条带(参见图2)中。数据块与要存储于存储阵列中的数据的一部分对应。RAID条带的数据块的数量基于RAID条带基于的RAID方案。在步骤404中,通过使用数据块计算新的RAID条带的一个或更多个奇偶校验值。奇偶校验值的数量依赖于RAID条带基于的RAID方案。例如,如果基于RAID-6产生RAID条带,那么存在两个计算的奇偶校验值:P奇偶校验值和Q奇偶校验值。步骤404的结果是奇偶校验块组。在步骤406中,确定了RAID条带的RAID条带几何结构(参见图2)。RAID条带几何结构可与任何RAID条带几何结构对应。具体而言,奇偶校验值可位于存储阵列中的任何SD上。
在步骤408中,数据块和奇偶校验块根据RAID条带几何结构(在步骤406中确定)作为RAID条带被写入到存储阵列。在步骤410中,数据结构(例如,图3中的数据结构)被更新以反映新的RAID条带已被写入到存储阵列。例如,步骤410可包括(i)存储新的RAID条带的RAID条带几何结构和(ii)更新新的RAID条带中的至少一个块被写入到的存储设备中的每一个中的可用空间的量。
与图4所示的处理的执行同时,存储控制器也可执行垃圾收集操作。一般地,垃圾收集操作包括:(i)标识具有零个或更多个死数据块的活RAID条带;(ii)通过使用来自在(i)中标识的RAID条带的活数据块产生新的RAID条带;(iii)将新的RAID条带写入到存储阵列中的可用位置;(iv)擦除或恢复(reclaim)包括死RAID条带或在(i)中标识的RAID条带的存储阵列中的所有位置。
图5~7B表示针对标识目标SD之后的存储控制器的操作的流程图。
转到图5,图5表示用于根据本发明的一个或更多个实施例实现服务感知奇偶校验放置的流程图。在步骤500中,接收标识目标SD的服务通知请求。目标SD与存储阵列中的下类SD相对应,该SD(i)被调度为基于SD服务调度被替代(例如,各SD在服务一定的时间周期之后被替代)、(ii)基于来自用户(例如,系统管理员)的输入被替代或(iii)正在经历高于错误事件阈值的错误事件(例如,失败的写入操作、失败的读取操作等)。错误事件阈值可基于(a)用户输入、(b)缺省值和/或(c)关于存储阵列和/或SD的历史信息被设定。服务通知可基于以上列出的条目(i)、(ii)和/或(iii)由存储控制器发出和/或接收。作为替代方案,存储控制器可在不接收服务通知的情况下基于以上列出的条目(i)、(ii)和/或(iii)执行剩余的步骤。在本发明的另一实施例中,在存储控制器中执行的一个处理(或一组处理)可基于条目(i)、(ii)和/或(iii)产生服务通知,该服务通知然后在存储控制器执行图5中的步骤时被处理(或一组处理)接收。
在步骤502中,确定在存储阵列中是否存在用于执行图5中的剩余步骤的可用空间。这可以通过使用图3中的数据结构来进行。具体而言,如果RAID条带包括N个数据块,那么,为了有足够的可用空间以执行图5中的剩余步骤,必须在存储阵列中存在足够的空间以在N-1个存储设备中存储N个数据块。例如,考虑在具有实现RAID-5的五个存储设备的存储阵列中存在两个RAID条带的情形,其中,各RAID条带包括四个数据块和一个奇偶校验块。因此,在五个存储设备中的每一个上存在两个块(数据或奇偶)。为了确定是否存在足够的可用空间,各存储设备(目标存储设备以外)必须具有足够的空间以存储三个块(数据或奇偶校验)。如果存在足够的可用空间,那么处理前进到步骤504;否则,处理结束。
在步骤504中,启动改进的RAID操作(参见图6)。仅当在步骤500(或在标识目标SD之后)与步骤508中的去除通知的发出之间接收到写入请求时执行改进的RAID操作。在步骤506中,执行改进的垃圾收集操作(参见图7A-7B)。在本发明的一个实施例中,虽然仅在接收到写入请求时执行改进的RAID操作,但总是执行改进的垃圾收集操作。由此,如果在步骤500与改进的垃圾收集操作的完成之间未接收到写入请求,那么不执行步骤504。如上面讨论的那样,步骤504和506可被同时执行。在步骤508中,一旦完成了改进的垃圾收集操作,存储控制器(或在其上执行的处理)就可发出指示可从存储阵列物理去除目标SD的去除通知。在步骤508之后,存储控制器根据图4服务写入请求,并且执行以上描述的垃圾收集操作(且不执行改进的垃圾收集操作),直到另一目标SD被标识。
图6表示根据本发明的一个或更多个实施例的实现改进的RAID写入操作的流程图。
在步骤600中,接收将数据写入到存储阵列的请求。请求可包括要存储的数据或者可包括对要存储的数据的参照。在不背离本发明的情况下,请求可采取任何形式。在步骤602中,产生数据块以将其存储在RAID条带(例如,参见图2)中。数据块与要存储于存储阵列中的数据的一部分对应。关于步骤602,数据块的数量基于处于RAID条带中的数据块的数量。如果存储阵列包括N个存储设备,那么RAID条带中的块(数据块+奇偶校验块)的最大数量为N-1。并且,如果在RAID条带中存在X个奇偶校验块,那么RAID条带中的数据块的最大数量为N-1-X。例如,如果在存储阵列中存在五个存储设备并且在RAID条带中存在一个奇偶校验块,那么RAID条带中的数据块的最大数量为5-1-1=3。
在步骤604中,通过使用数据块计算新的RAID条带的一个或更多个奇偶校验值。奇偶校验值的数量依赖于RAID条带基于的RAID方案。例如,如果基于RAID-6产生RAID条带,那么存在两个计算的奇偶校验值:P奇偶校验值和Q奇偶校验值。步骤604的结果是一个或更多个奇偶校验块。在步骤606中,确定新的RAID条带的RAID条带几何结构(参见图2)。RAID条带几何结构可与不在目标SD上放置任何数据块或奇偶校验块的任何RAID条带几何结构对应。继续讨论图6,在步骤608中,根据RAID条带几何结构(在步骤606中确定),数据块和奇偶校验块作为RAID条带被写入存储阵列。
图7A~7B表示根据本发明的一个或更多个实施例的用于实现改进的垃圾收集操作的流程图。在步骤700中,选择RAID条带。RAID条带可以是在启动改进的垃圾收集操作时存在的存储阵列中的任何RAID条带。在启动改进的垃圾收集操作之后,在被写入存储阵列的RAID条带上并不执行在图7A~7B中描述的处理(作为改进的垃圾收集操作的一部分或者作为改进的RAID写入操作(参见图6)的一部分)。在步骤700中选择的RAID条带包括N个数据块。
在步骤702中,确定选择的RAID条带是否死条带。如果选择的RAID条带是死条带,那么处理前进到步骤724;否则,处理前进到步骤704。在步骤704中,选择RAID条带中的数据块。在步骤706中,确定选择的数据是否是活的。如果选择的数据块是活的,那么处理前进到步骤708;否则,处理前进到步骤722。
在步骤708中,确定在新的RAID条带中是否存在可用于存储选择的数据块的空间。换句话说,作为改进的垃圾收集操作的一部分,确定是否存在当前正被填充数据块的新的RAID条带(例如,参见图8A~8B)。如果在新的RAID条带中存在可用于存储选择的数据块的空间,那么处理前进到步骤712;否则,处理前进到步骤710。在本发明的一个实施例中,如果存在少于N-1个与新的RAID条带相关的数据块,那么新的RAID条带不满,其中,RAID条带(当满时)包括N-1个数据块和M个奇偶校验块(其中,例如,N≥4且M≥1)。
在步骤710中,当在新的RAID条带中不存在可用于存储选择的数据块的空间时,创建新的RAID条带。在本发明的一个实施例中,在创建新的RAID条带时,RAID条带不包括任何数据块或奇偶校验块。在步骤712中,数据块(在步骤704中所选择的)与新的RAID条带(即,在步骤710中创建的空的新的RAID条带或包括至少一个其它的数据块并在执行步骤708时不满的另一新的RAID条带)相关联。
在步骤714中,确定新的RAID条带是否充满(即,新的RAID条带是否与N-1个数据块相关联)。如果新的RAID条带充满,那么处理前进到步骤716;否则,处理前进到步骤722。
在步骤716中,针对选择的RAID条带产生新的RAID条带几何结构,其中,RAID条带中的块均不存储于目标SD上。在步骤718中,通过使用与新的RAID条带相关联的数据块对奇偶校验块计算新的奇偶校验值。在步骤720中,根据在步骤716中确定的RAID条带几何结构,数据块和奇偶校验块(包括奇偶校验值)作为RAID条带(具有N-1个数据块)写入存储阵列中。然后,处理前进到步骤722。
在步骤722中,确定在选择的RAID条带中是否仍存在要处理的其他数据块。如果在选择的RAID条带中仍存在要处理的其他数据块,那么处理前进到步骤704;否则,处理前进到步骤724。
在步骤724中,RAID条带(在步骤700中所选择的)被标记为处理过。在步骤726中,确定在存储阵列中是否存在要处理的剩余RAID条带。如果在存储阵列中存在要处理的剩余RAID条带,那么处理前进到步骤700;否则,处理前进到步骤728。
在步骤728中,确定是否存在剩余的任何不满的新的RAID条带。换句话说,确定是否存在包括需要存储于存储阵列中的数据块的不满的RAID条带。如果存在剩余的任何不满的新的RAID条带,那么处理前进到步骤730;否则,处理前进到步骤738。
在步骤730中,为了使RAID条带(在步骤728中所标识的)具有与之相关联的总共N-1个数据块,将一个或更多个填充数据块与该RAID条带相关联。填充数据块是包括例如包括全零或全一的块的数据块,以不影响通过使用RAID条带中的非填充数据块产生的奇偶校验值。
在步骤732中,针对选择的RAID条带确定新的RAID条带几何结构,其中,RAID条带中的块均不存储于目标SD上。在步骤734中,通过使用与新的RAID条带相关联的数据块对奇偶校验块计算新的奇偶校验值。在步骤736中,根据在步骤732中确定的RAID条带几何结构,数据块和奇偶校验块(包括奇偶校验值)作为RAID条带(具有N-1个数据块)写入存储阵列中。然后,处理前进到步骤738。
在步骤738中,在改进的垃圾收集操作启动之前存在于存储阵列中的所有RAID条带都已被处理,因此,所有已处理的RAID条带都被擦除。一旦所有已处理的RAID条带被擦除,就可发出去除通知,该去除通知指示可去除目标SD。去除通知可被发送给用户(例如,系统管理员),以指示可从存储阵列去除目标SD。虽然不需要,但也可在擦除已处理的RAID条带时擦除所有死块。
在本发明的一个实施例中,图7A~7B中的处理结果是一组新的RAID条带,其中,与这些新的RAID条带相关联的块(数据或奇偶)均不位于目标SD上。
图8A~8B表示根据本发明的一个或更多个实施例的例子。例子不是要限制本发明的范围。
转到图8A,考虑存储阵列具有五个存储设备(SD0~SD4)并且已接收到指示需要去除SD2的服务通知的情形。图8A表示启动改进的垃圾收集操作时存储阵列的状态。
在该阶段中,存储控制器如图7A~7B描述的那样启动改进的垃圾收集操作。具体而言,参照图8A,RAID条带RS_0~RAID条带RS_3每个都包括四个数据块和一个奇偶校验块。更具体而言,RAID条带RS_0是活RAID条带并且包括活数据块D0、D2和D3。RAID条带RS_1是死条带。RAID条带RS_2是包括活数据块D9的活RAID条带。最后,RAID条带RS_3是包括活数据块D13和D15的活RAID条带。
RS_0~RAID条带RS_3根据图7A~7B被处理。具体而言,活数据块D0、D2和D3被组合以形成新的RAID条带RS_4(参见图8B)。并且,活数据块D9、D13和D15被组合以形成新的RAID条带RS_5。如图8B所示,新的RAID条带(RS_4和RS_5)具有三个数据块(而不是四个数据块)。关于RAID条带RS_1,在任一个新的RAID条带中都不重写RAID条带RS_1中的数据块,原因是RS_1中的所有数据块是死的。
在本例子中,在执行改进的垃圾收集操作(即,在RAID条带RS_4和RAID条带RS_5被写入到存储阵列之后,但在RAID条带RS_0~RAID条带RS_3被擦除之前)的同时,存储控制器(未示出)接收将新数据作为RAID条带写入到存储阵列的请求。新数据根据图6被写入到存储阵列(步骤606),其中,RAID条带几何结构指定奇偶校验块(P6)要位于SD1上。RAID条带RS_6随后被写入存储阵列。
在本阶段中,在启动改进的垃圾收集操作时存在于存储阵列中的所有RAID条带都已被处理,因此,参照图8B,所有已处理的RAID条带(即,RAID条带RS_0~RS_3)可被擦除并且SD2可随后被去除。在不背离本发明的情况下,可在擦除死块之前去除SD2。
本领域技术人员可以理解,虽然参照单维RAID方案描述了本发明,但本发明的实施例可被扩展到任何多维RAID方案。例如,本发明的实施例可扩展到在美国专利No.8,316,260(在此通过引用并入本文)中描述的多维RAID方案。
在本发明的一个或更多个实施例中,在执行了图5~7B所示的方法之后,在目标SD被去除之后剩余的RAID条带与在启动图5~7A之前存在的RAID条带相比具有相同数量的奇偶校验块,但是,每一个RAID条带具有少一个的数据块。一旦完成改进的垃圾收集操作,写入到存储阵列的新的RAID条带就可包括与在启动改进的垃圾收集操作之前RAID条带包括的相同数量的数据块。并且,可跨越所有SD写入RAID条带。换句话说,在完成图5之后,随后接收的数据可被写入到包括N个数据块的RAID条带(与在执行图5时产生的RAID条带中的N-1个数据块相比)中的存储阵列。
可通过使用由系统中的一个或更多个处理器执行的指令实现本发明的一个或更多个实施例。并且,这些指令可与存储于一个或更多个非暂时性计算机可读介质上的计算机可读指令对应。
虽然按照有限数量的实施例描述了本发明,但受益于本公开的本领域技术人员可以理解,可以设计不背离这里公开的本发明的范围的其它实施例。因此,本发明的范围应仅由所附的权利要求限定。

Claims (20)

1.一种非暂时性计算机可读介质,包括当由处理器执行时执行方法的指令,所述方法包括:
接收指定目标存储设备(SD)的服务通知;
在接收服务通知之后:
接收将数据写入到永久存储器的请求,其中,所述永久存储器包括所述SD;
响应于所述请求,将独立磁盘冗余阵列(RAID)条带写入到永久存储器中,其中,所述RAID条带包括第一数据块和第一奇偶校验块,其中,所述第一数据块中的至少一个包括数据的一部分,其中所述第一奇偶校验块包括通过使用所述第一数据块计算的第一奇偶校验值,并且其中,所述第一奇偶校验块不存储于所述目标SD上,并且其中,所述第一数据块均不存储于所述目标SD上;
执行改进的垃圾收集操作,其中,所述改进的垃圾收集操作包括:
标识所述永久存储器中的活RAID条带,其中,所述活RAID条带包括N个第二数据块和第二奇偶校验块,其中,所述活RAID条带的至少一部分位于所述目标SD上;
将新的RAID条带写入到所述永久存储器中的新位置,
其中,所述新的RAID条带包括N-1个第三数据块,其中所述N-1个第三数据块中的至少一个包括所述第二数据块中的至少一个中的数据的副本,
其中所述新的RAID条带包括第三奇偶校验块,其中所述第三奇偶校验块包括通过使用所述N-1个第三数据块计算的第二奇偶校验值,
其中所述第三奇偶校验块不存储于所述目标SD上,并且,所述N-1个第三数据块均不存储于所述目标SD上;和
当完成所述改进的垃圾收集操作时,发出去除通知,其中,所述去除通知指示可从所述永久存储器中去除所述目标SD。
2.根据权利要求1所述的非暂时性计算机可读介质,还包括:
在向所述永久存储器添加新的SD以替代所述目标SD之后:
接收将第二数据写入所述永久存储器的第二请求;
响应于所述第二请求,将第二RAID条带写入到所述永久存储器,其中,所述第二RAID条带包括N个第四数据块和第四奇偶校验块,其中所述N个第四数据块中的至少一个包括第二数据的一部分,其中所述第四奇偶校验块包括通过使用所述N个第四数据块计算的第四奇偶校验值,并且其中,所述第四奇偶校验块和所述N个第四数据块中的至少一个存储于所述新的SD上。
3.根据权利要求1所述的非暂时性计算机可读介质,其中,在接收所述服务通知之前,所述活RAID条带存储于所述永久存储器中。
4.根据权利要求3所述的非暂时性计算机可读介质,其中,根据RAID条带几何结构配置所述第二数据块和所述第二奇偶校验块,其中,所述RAID条带几何结构指定N+1个存储设备,其中,所述目标SD是所述N+1个存储设备中的一个。
5.根据权利要求4所述的非暂时性计算机可读介质,其中,所述RAID条带几何结构指定所述第二奇偶校验块位于所述目标SD上。
6.根据权利要求4所述的非暂时性计算机可读介质,其中,所述RAID几何结构指定所述第二数据块中的一个位于所述目标SD上。
7.根据权利要求1所述的非暂时性计算机可读介质,其中,所述存储阵列包括至少N+2个SD,其中,所述目标SD是所述至少N+2个SD中的一个。
8.根据权利要求7所述的非暂时性计算机可读介质,其中,所述活RAID条带包括第一P奇偶校验值和第一Q奇偶校验值,其中,所述新的RAID条带包括第二P奇偶校验值和第二Q奇偶校验值。
9.根据权利要求1所述的非暂时性计算机可读介质,其中,所述目标SD是固态存储设备。
10.根据权利要求1所述的非暂时性计算机可读介质,其中,所述永久存储器中的所有活RAID条带通过所述改进的垃圾收集操作而处理,其中,所述所有活RAID条带在所述服务通知之前存储于所述永久存储器中,并且其中,所述活RAID条带是所述所有活RAID条带中的一个。
11.一种系统,包括:
包括N+M个存储设备(SD)的存储阵列;和
与所述存储阵列可操作地连接并且被配置为完成以下操作的存储控制器:
标识用于去除的目标SD;
在标识所述目标SD之后,其中所述目标SD是多个SD中的一个:
接收将数据写入到所述存储阵列的请求;
响应于所述请求,将包括N-1个数据块和M个奇偶校验块的独立磁盘冗余阵列(RAID)条带写入到所述存储阵列,其中,所述N-1个数据块均不存储于所述目标SD上,并且,所述M个奇偶校验块均不存储于所述目标SD上;
执行改进的垃圾收集操作,其中,所述改进的垃圾收集操作包括:
标识所述存储阵列中的活RAID条带,其中,所述活RAID条带包括第二数据并且包括N个第二数据块和M个第二奇偶校验块;
将新的RAID条带写入到所述存储阵列中的新位置,其中,所述新的RAID条带包括N-1个第三数据块和M个第三奇偶校验块,其中,所述N-1个第三数据块中的至少一个包括所述N个第二数据块中的至少一个中的数据的副本;和
当完成所述改进的垃圾收集操作时,发出去除通知,其中,所述去除通知指示可从所述存储阵列去除所述目标SD。
12.根据权利要求11所述的系统,其中,对所述目标SD的标识基于来自用户的输入。
13.根据权利要求11所述的系统,其中,对所述目标SD的标识基于SD服务调度。
14.根据权利要求11所述的系统,其中,对所述目标SD的标识基于所述目标SD超过错误事件阈值。
15.根据权利要求11所述的系统,其中,所述多个SD中的每一个包括NAND闪存。
16.根据权利要求11所述的系统,还包括:
现场可编程门阵列(FPGA),被配置为计算所述RAID条带中的M个奇偶校验块中的至少一个的奇偶校验值。
17.根据权利要求11所述的系统,其中,所述存储控制器被配置为跟踪多个活RAID条带中的每一个的RAID条带几何结构,其中所述多个活RAID条带中的每一个的RAID条带几何结构被用于执行所述改进的垃圾收集操作,其中,所述活RAID条带是所述多个RAID条带中的一个。
18.根据权利要求11所述的系统,其中,N≥2。
19.根据权利要求11所述的系统,其中,M=1。
20.根据权利要求11所述的系统,其中,M>1。
CN201510035668.4A 2014-01-23 2015-01-23 用于存储系统中的服务感知数据放置的方法和系统 Active CN104965768B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/162,310 US20150205667A1 (en) 2014-01-23 2014-01-23 Method and system for service-aware data placement in a storage system
US14/162,310 2014-01-23

Publications (2)

Publication Number Publication Date
CN104965768A true CN104965768A (zh) 2015-10-07
CN104965768B CN104965768B (zh) 2019-01-18

Family

ID=52396515

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510035668.4A Active CN104965768B (zh) 2014-01-23 2015-01-23 用于存储系统中的服务感知数据放置的方法和系统

Country Status (3)

Country Link
US (1) US20150205667A1 (zh)
EP (1) EP2899626B1 (zh)
CN (1) CN104965768B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373487A (zh) * 2015-12-16 2016-03-02 浪潮(北京)电子信息产业有限公司 一种存储操作系统的碎片整理方法及系统
CN107526536A (zh) * 2016-06-22 2017-12-29 伊姆西公司 用于管理存储系统的方法和系统
CN108073357A (zh) * 2016-11-07 2018-05-25 三星电子株式会社 以raid方式存储数据的存储装置
WO2019090756A1 (zh) * 2017-11-13 2019-05-16 清华大学 资源全局共享的基于raid机制的数据存储系统
CN110427279A (zh) * 2019-07-19 2019-11-08 深圳忆联信息系统有限公司 一种恢复写条带的Raid奇偶校验数据的方法及系统
CN111367864A (zh) * 2018-12-25 2020-07-03 深圳市茁壮网络股份有限公司 一种文件的无缝替换方法、读取方法及相关系统
CN111736771A (zh) * 2020-06-12 2020-10-02 广东浪潮大数据研究有限公司 一种数据迁移方法、装置、设备及计算机可读存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6477320B2 (ja) * 2015-07-17 2019-03-06 富士通株式会社 記憶装置制御装置、記憶装置制御方法、および記憶装置制御プログラム
JP6696280B2 (ja) * 2016-04-13 2020-05-20 富士通株式会社 情報処理装置、raid制御方法、およびraid制御プログラム
US10297274B2 (en) * 2016-06-01 2019-05-21 Spectra Logic, Corp. Shingled magnetic recording raid scheme
US10289548B1 (en) * 2017-04-28 2019-05-14 EMC IP Holding Company LLC Method and system for garbage collection in a storage system which balances wear-leveling and performance
US11074130B2 (en) * 2019-03-28 2021-07-27 International Business Machines Corporation Reducing rebuild time in a computing storage environment
US11119913B2 (en) * 2020-02-12 2021-09-14 International Business Machines Corporation Selective use of garbage collection during expansion of geometry addressable regions of a redundant array of independent drive (RAID) configuration

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5488701A (en) * 1994-11-17 1996-01-30 International Business Machines Corporation In log sparing for log structured arrays
US6058489A (en) * 1995-10-13 2000-05-02 Compaq Computer Corporation On-line disk array reconfiguration
US20040068676A1 (en) * 2001-08-07 2004-04-08 Larson Thane M. LCD panel for a server system
CN101470640A (zh) * 2007-12-27 2009-07-01 国际商业机器公司 用于提供对存储系统的延迟维护的系统和方法
CN102023815A (zh) * 2009-09-15 2011-04-20 格雷戈里·伯德 在固态存储器中实现raid
US20130173955A1 (en) * 2012-01-04 2013-07-04 Xtremlo Ltd Data protection in a random access disk array

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371882A (en) * 1992-01-14 1994-12-06 Storage Technology Corporation Spare disk drive replacement scheduling system for a disk drive array data storage subsystem
US5875456A (en) * 1995-08-17 1999-02-23 Nstor Corporation Storage device array and methods for striping and unstriping data and for adding and removing disks online to/from a raid storage array
US7024586B2 (en) * 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
US7185144B2 (en) * 2003-11-24 2007-02-27 Network Appliance, Inc. Semi-static distribution technique
US7373559B2 (en) * 2003-09-11 2008-05-13 Copan Systems, Inc. Method and system for proactive drive replacement for high availability storage systems
US7533292B2 (en) * 2004-07-15 2009-05-12 International Business Machines Corporation Management method for spare disk drives in a raid system
US20070143541A1 (en) * 2005-12-19 2007-06-21 Lsi Logic Corporation Methods and structure for improved migration of raid logical volumes
JP5466953B2 (ja) * 2008-02-08 2014-04-09 富士通株式会社 バックアップ方法及びディスクアレイシステム
US8645749B2 (en) * 2009-02-04 2014-02-04 Micron Technology, Inc. Systems and methods for storing and recovering controller data in non-volatile memory devices
US8065558B2 (en) * 2009-03-24 2011-11-22 Lsi Corporation Data volume rebuilder and methods for arranging data volumes for improved RAID reconstruction performance
US8307258B2 (en) * 2009-05-18 2012-11-06 Fusion-10, Inc Apparatus, system, and method for reconfiguring an array to operate with less storage elements
US8775868B2 (en) * 2010-09-28 2014-07-08 Pure Storage, Inc. Adaptive RAID for an SSD environment
US8601313B1 (en) * 2010-12-13 2013-12-03 Western Digital Technologies, Inc. System and method for a data reliability scheme in a solid state memory
US8601311B2 (en) * 2010-12-14 2013-12-03 Western Digital Technologies, Inc. System and method for using over-provisioned data capacity to maintain a data redundancy scheme in a solid state memory
JP5887757B2 (ja) * 2011-08-17 2016-03-16 富士通株式会社 ストレージシステム、ストレージ制御装置およびストレージ制御方法
US8327185B1 (en) 2012-03-23 2012-12-04 DSSD, Inc. Method and system for multi-dimensional raid

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5488701A (en) * 1994-11-17 1996-01-30 International Business Machines Corporation In log sparing for log structured arrays
US6058489A (en) * 1995-10-13 2000-05-02 Compaq Computer Corporation On-line disk array reconfiguration
US20040068676A1 (en) * 2001-08-07 2004-04-08 Larson Thane M. LCD panel for a server system
CN101470640A (zh) * 2007-12-27 2009-07-01 国际商业机器公司 用于提供对存储系统的延迟维护的系统和方法
CN102023815A (zh) * 2009-09-15 2011-04-20 格雷戈里·伯德 在固态存储器中实现raid
US20130173955A1 (en) * 2012-01-04 2013-07-04 Xtremlo Ltd Data protection in a random access disk array

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373487A (zh) * 2015-12-16 2016-03-02 浪潮(北京)电子信息产业有限公司 一种存储操作系统的碎片整理方法及系统
CN105373487B (zh) * 2015-12-16 2018-06-08 浪潮(北京)电子信息产业有限公司 一种存储操作系统的碎片整理方法及系统
CN107526536A (zh) * 2016-06-22 2017-12-29 伊姆西公司 用于管理存储系统的方法和系统
CN107526536B (zh) * 2016-06-22 2020-11-27 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和系统
CN108073357A (zh) * 2016-11-07 2018-05-25 三星电子株式会社 以raid方式存储数据的存储装置
WO2019090756A1 (zh) * 2017-11-13 2019-05-16 清华大学 资源全局共享的基于raid机制的数据存储系统
US10997025B2 (en) 2017-11-13 2021-05-04 Tsinghua University RAID-based globally resource-shared data storage system
CN111367864A (zh) * 2018-12-25 2020-07-03 深圳市茁壮网络股份有限公司 一种文件的无缝替换方法、读取方法及相关系统
CN110427279A (zh) * 2019-07-19 2019-11-08 深圳忆联信息系统有限公司 一种恢复写条带的Raid奇偶校验数据的方法及系统
CN110427279B (zh) * 2019-07-19 2023-02-10 深圳忆联信息系统有限公司 一种恢复写条带的Raid奇偶校验数据的方法及系统
CN111736771A (zh) * 2020-06-12 2020-10-02 广东浪潮大数据研究有限公司 一种数据迁移方法、装置、设备及计算机可读存储介质
CN111736771B (zh) * 2020-06-12 2024-02-23 广东浪潮大数据研究有限公司 一种数据迁移方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN104965768B (zh) 2019-01-18
EP2899626A1 (en) 2015-07-29
EP2899626B1 (en) 2022-05-25
US20150205667A1 (en) 2015-07-23

Similar Documents

Publication Publication Date Title
CN104965768A (zh) 用于存储系统中的服务感知数据放置的方法和系统
CN104809032A (zh) 用于存储系统中服务感知的奇偶校验放置的方法和系统
US11119856B2 (en) Method and system for multi-dimensional RAID
JP5923964B2 (ja) ディスクアレイ装置、制御装置、およびプログラム
US8977894B2 (en) Operating a data storage system
US9489148B2 (en) Selecting between non-volatile memory units having different minimum addressable data unit sizes
US20160217040A1 (en) Raid parity stripe reconstruction
CN101916173B (zh) 一种基于raid的数据读写方法及其系统
US9575844B2 (en) Mass storage device and method of operating the same to back up data stored in volatile memory
CN102799533B (zh) 一种磁盘损坏扇区屏蔽方法及装置
KR101870521B1 (ko) 스토리지 저널링을 개선하는 방법 및 시스템
US20090204846A1 (en) Automated Full Stripe Operations in a Redundant Array of Disk Drives
CN106095700A (zh) 在存储系统中复制和使用网格层级元数据的方法和系统
CN103970487A (zh) 一种独立磁盘冗余阵列及实现方法
CN111124262B (zh) 独立盘冗余阵列(raid)的管理方法、设备和计算机可读介质
CN110874194A (zh) 持久存储设备管理
US20110035549A1 (en) Data storage device
CN107885620A (zh) 一种提高固态盘阵列性能和可靠性的方法及系统
CN105095352B (zh) 应用于分布式系统的数据处理方法及装置
US9547554B2 (en) Mass storage device and method of operating the same to store parity data
CN105573862B (zh) 一种恢复文件系统的方法和设备
US20120110377A1 (en) Performing data writes in parity protected redundant storage arrays
CN103544072A (zh) 一种数据恢复的方法及装置
HK40025859A (zh) 持久存儲設備管理
WO2006072991A1 (ja) Raid装置におけるライトバック方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20180802

Address after: Massachusetts, USA

Applicant after: EMC Intellectual Property Holdings Ltd.

Address before: Massachusetts, USA

Applicant before: EMC Corp.

Effective date of registration: 20180802

Address after: Massachusetts, USA

Applicant after: EMC Corp.

Address before: California, USA

Applicant before: DSSD, INC.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant