CN101512491B - 电力安全磁盘存储装置、系统和方法 - Google Patents
电力安全磁盘存储装置、系统和方法 Download PDFInfo
- Publication number
- CN101512491B CN101512491B CN2006800209805A CN200680020980A CN101512491B CN 101512491 B CN101512491 B CN 101512491B CN 2006800209805 A CN2006800209805 A CN 2006800209805A CN 200680020980 A CN200680020980 A CN 200680020980A CN 101512491 B CN101512491 B CN 101512491B
- Authority
- CN
- China
- Prior art keywords
- parity
- journal file
- data strip
- stripe
- bar
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- 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/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1019—Fast writes, i.e. signaling the host that a write is done before data is written to disk
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
装置和系统以及方法和制品可操作以在非易失性数据存储介质中创建日志文件。日志文件可包括标题记录、尾部记录以及与廉价磁盘冗余阵列(RAID)子系统中的条带关联的至少一个部分奇偶校验值。条带其中可包括位于可操作第一磁盘驱动器上的待更新的第一数据条、位于故障磁盘驱动器上的第二数据条以及位于可操作磁盘驱动器上的条带奇偶校验条。
Description
技术领域
本文所述的各种实施例一般涉及磁盘存储技术,包括用于在电力丢失之后恢复冗余阵列中的奇偶校验一致性的装置、系统和方法。
背景技术
磁盘存储系统可包括廉价磁盘冗余阵列(RAID)子系统。RAID子系统可存储位于RAID子系统中包含的若干数据磁盘驱动器的每个上称作“条(strip)”的数据聚集。来自每个数据磁盘驱动器的各条可通过位于若干数据磁盘驱动器之一上或者位于单独奇偶校验磁盘驱动器上的奇偶校验条与其它条相关。奇偶校验条和相关数据条可统称为“条带(stripe)”。
奇偶校验条可通过对相关数据条执行“异或”运算来进行计算,并且可与数据条一起由RAID子系统用来重新计算在写入条带之后的某个时间变为不可读的数据条的值。因此,可将冗余结合到RAID子系统中,并且冗余可实现在一个或多个磁盘驱动器故障之后恢复卷(操作的“降级模式”)。但是,如果对目标数据条或者奇偶校验条执行写入更新的处理器或控制器正以降级模式进行操作时意外地复位了,则可能出现问题。意外复位可能例如由电力丢失或操作系统致命错误而触发。奇偶校验条在复位之后可能与条带中的数据条不一致。
附图说明
图1是根据本发明各种实施例的装置和典型系统的框图。
图2是说明根据本发明各种实施例的若干方法的流程图。
图3是根据本发明各种实施例的制品的框图。
具体实施方式
图1包括根据本发明各种实施例的装置100和系统190的框图。装置100可包括在非易失性数据存储介质116中创建日志文件112的部分奇偶校验登录模块106。日志文件112可包括与RAID子系统130中的条带124关联的一个或多个部分奇偶校验值120。RAID子系统130可包括RAID级3、RAID级4、RAID级5、RAID级6、RAID级30、RAID级50或采用成条数据和从组成条带的数据条集合中计算的一个或多个奇偶校验值的任何其它RAID或冗余磁盘阵列子系统。
条带124其中可包括位于可操作第一磁盘驱动器138上的待更新的第一数据条134、位于故障磁盘驱动器146上的第二数据条142以及位于可操作磁盘驱动器154上的条带奇偶校验条150。部分奇偶校验值120可包括对第一数据条134和条带奇偶校验条150执行“异或”运算的结果。非易失性数据存储介质116可包括磁盘驱动器156上的存储区,其中包括位于RAID子系统130所包含的一个或多个磁盘驱动器上的保留区158。
日志文件112还可包括与条带奇偶校验条150关联的奇偶校验磁盘编号164、数据磁盘编号166、逻辑块地址170以及与第一数据条134关联的传递字节计数172。后面的奇偶校验和数据条位置信息可存在于日志文件的标题部分176;且部分奇偶校验值120可存在于日志文件的主要部分180。这些值可标识使用来自日志文件的部分奇偶校验值参与奇偶校验恢复操作的磁盘驱动器。
装置100还可包括耦合到登录模块106的奇偶校验恢复模块182,以便恢复第一数据条134与条带奇偶校验条150之间的一致性。在子系统意外复位(例如,在发起对第一数据条134和条带奇偶校验条150的更新写入184的时间与完成更新写入184的时间之间发生复位)之后,可能需要恢复一致性。恢复可包括对从日志文件112得到的部分奇偶校验值120和第一数据条134执行“异或”运算。
可实现其它实施例。例如,系统190可包括一个或多个装置100,其中包括部分奇偶校验登录模块106、日志文件112和非易失性数据存储介质116。非易失性数据存储介质116可包括位于RAID子系统130所包含的一个或多个磁盘驱动器上的保留区158。系统190还可包括如对于装置100所述的一个或多个部分奇偶校验值120、条带124、第一数据条134、条带奇偶校验条150、奇偶校验恢复模块182以及RAID子系统130。RAID子系统130可包括RAID级3、RAID级4、RAID级5、RAID级6、RAID级30、RAID级50或者采用成条数据和从组成条带的数据条集合中计算的一个或多个奇偶校验值的任何其它RAID或冗余磁盘阵列子系统。
系统190还可包括:一个或多个处理器192,耦合到登录模块106,提供写入第一数据条134的数据194;以及显示器196,耦合到处理器192,显示数据194。显示器196可包括阴极射线管显示器或者固态显示器,诸如液晶显示器、等离子显示器、或者发光二极管显示器等等。
系统190的一些实施例可包括位于RAID级6子系统内的可操作磁盘驱动器138上的第二维奇偶校验条198。可使用第一数据条134以及条带124中的其它数据条、可能包括所有其它数据条,来计算第二维奇偶校验条198。奇偶校验恢复模块182可用于在子系统意外复位(例如,RAID子系统处理中断而在中断之前没有通知RAID子系统)之后恢复第一数据条134与第二维奇偶校验条198之间的第二一致性。第二维奇偶校验一致性恢复操作可包括对已恢复条带奇偶校验条值199和条带124中的其它数据条执行的操作。
前面所述的任一个组件可通过许多方式来实现,包括通过软件的实施例。因此,装置100、部分奇偶校验登录模块106、日志文件112、非易失性数据存储介质116、部分奇偶校验值120、条带124、廉价磁盘冗余阵列(RAID)子系统130、数据条134、142、磁盘驱动器138、146、154、156、条带奇偶校验条150、保留区158、磁盘编号164、166、逻辑块地址170、传递字节计数172、日志文件的部分176、180、奇偶校验恢复模块182、更新写入184、系统190、处理器192、数据194、液晶显示器196、第二维奇偶校验条198以及已恢复条带奇偶校验条值199在本文中均可表示为“模块”。
根据装置100和系统190的设计者的需要以及适合于各种实施例的具体实现,这些模块可包括硬件电路、单或多处理器电路、存储器电路、软件程序模块和对象、固件以及它们的组合。因此,模块可包含在诸如软件电信号模拟包、功率使用和分配模拟包、电容电感模拟包、功率/热耗散模拟包、信号发射接收模拟包之类的系统操作模拟包中,或者用来模拟各种可能实施例操作的软件和硬件的任何组合中。例如,这些模拟可用于表征或测试实施例。
还应当理解,各种实施例的装置和系统可用于与在意外复位之后恢复降级模式RAID卷的条带奇偶校验一致性不同的应用。因此,本发明的各种实施例不受此限制。装置100和系统190的说明用于提供对各种实施例结构的总体理解,并且它们不是意在用作对于可能利用本文所述结构的装置和系统的全部要素及特征的完整描述。
可包括各种实施例的新颖装置和系统的应用包括用于高速计算机的电子电路、通信和信号处理电路、调制解调器、单或多处理器模块、单或多嵌入式处理器、数据开关以及包含多层多芯片模块的专用模块。这类装置和系统还可作为子组件包含在诸如电视、蜂窝电话、个人计算机、工作站、无线电、视频播放器、车辆等各种电子系统中。一些实施例可包括多种方法。
图2是说明根据本发明各种实施例的若干方法211的流程图。一种这样的方法211可在框223以在非易失性数据存储介质中创建日志文件开始。非易失性数据存储介质可包括位于RAID子系统所包含的一个或多个磁盘驱动器上的保留区。如前面所述的,RAID子系统可包括RAID级3、RAID级4、RAID级5、RAID级6、RAID级30、RAID级50或者采用成条数据和从组成条带的数据条集合中计算的一个或多个奇偶校验值的任何其它RAID或冗余磁盘阵列子系统。
日志文件可包括标题记录、尾部记录以及与RAID子系统中的条带关联的一个或多个部分奇偶校验值。条带其中可包括位于可操作第一磁盘驱动器上的待更新的第一数据条、位于故障磁盘驱动器上的第二数据条以及位于可操作磁盘驱动器上的条带奇偶校验条。条带奇偶校验条可包括使用第一数据条和条带中包含的附加数据条所计算的奇偶校验值。
方法211可继续进行在框231从可操作第一磁盘驱动器中读取第一数据条,以及在框237从RAID子系统中读取条带奇偶校验条。方法211还可包括在框241可能通过对第一数据条和条带奇偶校验条执行“异或”功能,从第一数据条和条带奇偶校验条中计算一个或多个部分奇偶校验值。方法211还可包括在框245将奇偶校验磁盘编号、数据磁盘编号、逻辑块地址以及与第一数据条关联的传递字节计数写入日志文件的标题记录。
方法211可继续进行在框251聚集对日志文件的部分奇偶校验值的写入以增加写入吞吐量,以及在框255将部分奇偶校验值写入日志文件的主要部分。方法211还可包括在框259在将部分奇偶校验值写入主要部分之后将标题记录复制到日志文件的尾部记录,以及在框261将数字签名写入日志文件,以用于确认来自日志文件的标题记录与部分奇偶校验值关联。
对数据条集合的更新集合可在完成与更新集合对应的对日志文件的写入时被写入磁盘,其中包括将日志文件标题内容复制到日志文件尾部部分。这样,标题和尾部的比较可提供关于数据条磁盘写入集合正在进行还是尚未开始的指示。数据条磁盘写入集合可被认为在与数据条更新集合对应的对日志文件的部分奇偶校验写入完成之后的某个时间已经开始,并且标题内容被复制到尾部部分,从而使标题和尾部相等。因此,如果标题和尾部不相等,则日志文件可被认为正进行更新,并且数据条写入集合可能还没开始。
方法211还可继续进行在框263在子系统意外复位之后比较标题记录与尾部记录,以便确定在发起对第一数据条和条带奇偶校验条的更新写入的时间与完成更新写入的时间之间是否已经发生复位。如果奇偶校验一致性需要恢复,则方法211可继续进行在框265从日志文件中读取与部分奇偶校验值关联的数字签名,以及在框266检验数字签名以便确认来自日志文件的标题记录与部分奇偶校验值关联。
方法211还可包括在框267在子系统意外复位之后使用日志文件来恢复第一数据条与条带奇偶校验条之间的第一一致性。恢复第一一致性可继续进行在框271从日志文件中读取部分奇偶校验值以及条带奇偶校验条和第一数据条位置值的集合。方法211可继续进行在框275从可操作第一磁盘驱动器中读取第一数据条。方法211可包括在框279对部分奇偶校验值和第一数据条执行可能包括“异或”运算的第一奇偶校验恢复操作,以获得已恢复条带奇偶校验条值。方法211还可包括在框283用已恢复条带奇偶校验条值来改写条带奇偶校验条。
日志文件可在RAID级6子系统中创建,其中使用第一数据条来计算第二维奇偶校验条。方法211可包括在框287对已恢复条带奇偶校验条值和条带中的所有数据条执行第二奇偶校验恢复操作,以便创建已恢复第二维奇偶校验条值。方法211可在框291以用已恢复第二维奇偶校验条值改写第二维奇偶校验条来结束。
本文所述的方法不必按照所述的顺序或者任何特定顺序来执行。此外,针对本文确定的方法所述的各种活动可以重复、串行或并行方式执行。包括参数、命令、操作数及其它数据的信息可采取一个或多个载波的形式来发送和接收。
本领域的技术人员会理解可从基于计算机的系统中的计算机可读介质中运行软件程序以便执行软件程序中定义的功能的方式。各种编程语言可用来创建设计成实现和执行本文公开的方法的一个或多个软件程序。程序可以面向对象的格式使用面向对象的语言、如Java或C++来构造。或者,程序可以面向过程的格式使用过程语言、如汇编或C来构造。软件组件可使用本领域技术人员众所周知的多种机制进行通信,例如应用程序接口或进程间通信技术,包括远程过程调用。各种实施例的示教不限于任何特定的编程语言或环境。因此,可实现其它实施例,如下面针对图3所述的。
图3是根据本发明各种实施例的制品385的框图。这类实施例的实例可包括计算机、存储系统、磁盘或光盘、某种其它存储装置或者任何类型的电子设备或系统。制品385可包括耦合到机器可存取介质、如存储器389(例如包括电、光或电磁元件的存储器)的一个或多个处理器387。介质可包含在被存取时使机器(例如处理器387)在非易失性数据存储介质中创建日志文件的关联信息391(例如计算机程序指令、数据或者它们两者),其中日志文件包括标题记录、尾部记录以及与廉价磁盘冗余阵列(RAID)子系统中的条带关联的一个或多个部分奇偶校验值。条带可包括位于可操作第一磁盘驱动器上的待更新的第一数据条、位于故障磁盘驱动器上的第二数据条以及位于可操作磁盘驱动器上的条带奇偶校验条。
其它活动可包括从可操作第一磁盘驱动器中读取第一数据条、从RAID子系统中读取条带奇偶校验条、以及从第一数据条和条带奇偶校验条中计算部分奇偶校验值。活动还可包括将奇偶校验磁盘编号、数据磁盘编号、逻辑块地址以及与第一数据条关联的传递字节计数写入日志文件的标题记录,以及将部分奇偶校验值写入日志文件的主要部分。其它活动可包括在将部分奇偶校验值写入主要部分之后将标题记录复制到日志文件的尾部记录,以及将数字签名写入日志文件以便用于确认来自日志文件的标题记录与部分奇偶校验值关联。
活动还可包括在子系统意外复位之后比较标题记录与尾部记录,以便确定在发起对第一数据条和条带奇偶校验条的更新写入的时间与完成更新写入的时间之间的时段期间是否已经发生复位。附加活动可包括从日志文件中读取与部分奇偶校验值关联的数字签名,并检验该数字签名以确认来自日志文件的标题记录与部分奇偶校验值关联。
其它活动可包括在子系统意外复位之后使用日志文件来恢复第一数据条与条带奇偶校验条之间的一致性。这些活动可包括从日志文件中读取部分奇偶校验值以及条带奇偶校验条和第一数据条位置值的集合。活动还可包括:从可操作第一磁盘驱动器中读取第一数据条;对部分奇偶校验值和第一数据条执行奇偶校验恢复操作,以便获得已恢复条带奇偶校验条值;以及用已恢复条带奇偶校验条值来改写条带奇偶校验条。
实现本文公开的装置、系统和方法可操作以在对与条带关联的数据或奇偶校验条的更新期间的意外复位之后,恢复降级模式RAID卷中的条带奇偶校验一致性。
构成本主题的组成部分的附图通过说明而非限制来说明可实施本主题的具体实施例。充分详细地描述了所示实施例,使本领域的技术人员能够实施本文公开的示教。可以使用并可从中导出其它实施例,使得可进行结构和逻辑替换及改变,并不背离本公开的范围。因此,该具体实施方式不应认为是限制性的,并且各种实施例的范围仅由所附权利要求书以及这种权利要求书涵盖的全部等效范围来限定。
发明主题的这类实施例在本文中可单独或共同由术语“本发明”来表示,只是为了方便,而不是要有意将本申请的范围限制于任何单一发明或发明概念,如果实际上公开了不止一个的话。因此,虽然本文已经说明和描述了具体实施例,但是,用于实现相同目的的任何配置均可替代所示的具体实施例。本公开意在涵盖各种实施例的任何以及全部修改和变更。通过阅读以上说明,本领域的技术人员会非常清楚以上实施例以及本文没有明确描述的其它实施例的组合。
公开的摘要是根据37 C.F.R.§1.72(b)要求摘要以使读者快速了解技术公开的本质而提供的。应当理解,它的提供并不是用于解释或限制权利要求书的范围或含意。另外,在以上具体实施方式中可以看到,各种特征集中在单个实施例中,用于简化本公开。这个公开的方法不应解释为要求超过各权利要求中明确描述的特征。而是,发明主题可存在于少于单个公开实施例的全部特征。因此,以下权利要求书由此结合到具体实施方式中,其中各权利要求本身代表单独的实施例。
Claims (27)
1.一种恢复廉价盘冗余阵列RAID中的奇偶校验一致性的方法,包括:
在非易失性数据存储介质中创建日志文件,其中所述日志文件包括标题记录、尾部记录以及与廉价盘冗余阵列RAID子系统中的条带关联的至少一个部分奇偶校验值,并且其中所述条带包括位于可操作第一盘驱动器上的待更新的第一数据条、位于故障盘驱动器上的第二数据条以及位于可操作盘驱动器上的条带奇偶校验条,所述至少一个部分奇偶校验值是对第一数据条和所述条带奇偶校验条执行“异或”运算的结果;以及
执行恢复,包括对从所述日志文件获得的所述至少一个部分奇偶校验值和第一数据条执行“异或”运算。
2.如权利要求1所述的方法,还包括:
从所述可操作第一盘驱动器中读取第一数据条;
从所述RAID子系统中读取所述条带奇偶校验条;
从第一数据条和所述条带奇偶校验条中计算所述至少一个部分奇偶校验值;
将奇偶校验盘编号、数据盘编号、逻辑块地址以及与第一数据条关联的传递字节计数写入所述日志文件中的所述标题记录;
将所述至少一个部分奇偶校验值写入所述日志文件的主要部分;以及
在将所述至少一个部分奇偶校验值写入所述主要部分之后,将所述标题记录复制到所述日志文件中的所述尾部记录。
3.如权利要求1所述的方法,还包括:
在子系统意外复位之后比较所述标题记录与所述尾部记录,确定在发起对第一数据条和所述条带奇偶校验条的更新写入的时间与完成所述更新写入的时间之间的时段期间是否已经发生所述复位。
4.如权利要求3所述的方法,还包括:
在所述子系统意外复位之后使用所述日志文件来恢复第一数据条与所述条带奇偶校验条之间的第一一致性。
5.如权利要求4所述的方法,还包括:
从所述日志文件中读取所述至少一个部分奇偶校验值以及条带奇偶校验条和第一数据条位置值的集合;
从所述可操作第一盘驱动器中读取第一数据条;
对所述至少一个部分奇偶校验值和第一数据条执行第一奇偶校验恢复操作,以获得已恢复条带奇偶校验条值;以及
用所述已恢复条带奇偶校验条值来改写所述条带奇偶校验条。
6.如权利要求5所述的方法,还包括:
如果在所述RAID子系统上存在使用第一数据条计算的第二维奇偶校验条,并且所述RAID子系统包括RAID级6子系统,则创建所述日志文件;
对所述已恢复条带奇偶校验条值和所述条带中的所有数据条执行第二奇偶校验恢复操作,以创建已恢复第二维奇偶校验条值;以及
用所述已恢复第二维奇偶校验条值来改写第二维奇偶校验条。
7.如权利要求1所述的方法,其中所述条带奇偶校验条包括使用第一数据条和所述条带中包含的附加数据条计算的奇偶校验值。
8.如权利要求1所述的方法,其中所述非易失性数据存储介质包括位于所述RAID子系统中包含的至少一个盘驱动器上的保留区。
9.如权利要求1所述的方法,还包括:
聚集对所述日志文件的所述至少一个部分奇偶校验值的写入,以增加写入吞吐量。
10.一种恢复廉价盘冗余阵列RAID中的奇偶校验一致性的产品,包括:
用于在非易失性数据存储介质中创建日志文件的单元,其中所述日志文件包括标题记录、尾部记录以及与廉价盘冗余阵列RAID子系统中的条带关联的至少一个部分奇偶校验值,并且其中所述条带包括位于可操作第一盘驱动器上的待更新的第一数据条、位于故障盘驱动器上的第二数据条以及位于可操作盘驱动器上的条带奇偶校验条,所述至少一个部分奇偶校验值是对第一数据条和所述条带奇偶校验条执行“异或”运算的结果;以及
用于执行恢复的单元,包括对从所述日志文件获得的所述至少一个部分奇偶校验值和第一数据条执行“异或”运算。
11.如权利要求10所述的产品,还包括:
用于从所述可操作第一盘驱动器中读取第一数据条的单元;
用于从所述RAID子系统中读取所述条带奇偶校验条的单元;
用于从第一数据条和所述条带奇偶校验条中计算所述至少一个部分奇偶校验值的单元;
用于将奇偶校验盘编号、数据盘编号、逻辑块地址以及与第一数据条关联的传递字节计数写入所述日志文件中的标题记录的单元;
用于将所述至少一个部分奇偶校验值写入所述日志文件的主要部分的单元;以及
用于在将所述至少一个部分奇偶校验值写入所述主要部分之后将所述标题记录复制到所述日志文件中的尾部记录的单元。
12.如权利要求11所述的产品,还包括:
用于将数字签名写入所述日志文件、以便用于确认来自所述日志文件的标题记录与所述至少一个部分奇偶校验值关联的单元。
13.如权利要求10所述的产品,还包括:
用于在子系统意外复位之后比较所述标题记录与所述尾部记录、以确定在发起对第一数据条和所述条带奇偶校验条的更新写入的时间与完成所述更新写入的时间之间的时段期间是否已经发生所述复位的单元。
14.如权利要求13所述的产品,还包括:
用于从所述日志文件中读取与所述至少一个部分奇偶校验值关联的数字签名的单元;以及
用于检验所述数字签名、以确认来自所述日志文件的所述标题记录与所述至少一个部分奇偶校验值关联的单元。
15.如权利要求14所述的产品,还包括:
用于在子系统意外复位之后使用所述日志文件来恢复第一数据条与所述条带奇偶校验条之间的一致性的单元,其中在发起对第一数据条和所述条带奇偶校验条的所述更新写入的时间与完成所述更新写入的时间之间的时段期间发生所述复位。
16.如权利要求15所述的产品,包括:
用于从所述日志文件中读取所述至少一个部分奇偶校验值以及条带奇偶校验条和第一数据条位置值的集合的单元;
用于从所述可操作第一盘驱动器中读取第一数据条的单元;
用于对所述至少一个部分奇偶校验值和第一数据条执行奇偶校验恢复操作、以获得已恢复条带奇偶校验条值的单元;以及
用于用所述已恢复条带奇偶校验条值来改写所述条带奇偶校验条的单元。
17.一种恢复廉价盘冗余阵列RAID中的奇偶校验一致性的装置,包括:
部分奇偶校验登录模块,其在非易失性数据存储介质中创建日志文件,其中所述日志文件包括与廉价盘冗余阵列RAID子系统中的条带关联的至少一个部分奇偶校验值,并且其中所述条带包括位于可操作第一盘驱动器上的待更新的第一数据条、位于故障盘驱动器上的第二数据条以及位于可操作盘驱动器上的条带奇偶校验条,所述至少一个部分奇偶校验值是对第一数据条和所述条带奇偶校验条执行“异或”运算的结果;以及
奇偶校验恢复模块,耦合到所述登录模块,以通过对从所述日志文件获得的所述至少一个部分奇偶校验值和第一数据条执行“异或”运算来恢复第一数据条与所述条带奇偶校验条之间的一致性。
18.如权利要求17所述的装置,其中所述日志文件还包括与所述条带奇偶校验条关联的奇偶校验盘编号、数据盘编号、逻辑块地址以及与第一数据条关联的传递字节计数。
19.如权利要求18所述的装置,其中所述奇偶校验盘编号、所述数据盘编号、所述逻辑块地址以及所述传递字节计数位于所述日志文件的标题部分中,并且所述至少一个部分奇偶校验值位于所述日志文件的主要部分中。
20.如权利要求17所述的装置,其中所述非易失性数据存储介质包括盘驱动器上的存储区。
21.如权利要求20所述的装置,其中所述存储区包括位于所述RAID子系统中包含的至少一个盘驱动器上的保留区。
22.如权利要求17所述的装置,所述奇偶校验恢复模块还包括:
以在子系统意外复位之后使用所述日志文件,其中在发起对第一数据条和所述条带奇偶校验条的更新写入的时间与完成所述更新写入的时间之间的时段期间发生所述复位,恢复所述一致性,所述奇偶校验恢复模块包括硬件模块、固件模块、或计算机可读介质上存储的软件模块中的至少一个。
23.一种恢复廉价盘冗余阵列RAID中的奇偶校验一致性的系统,包括:
部分奇偶校验登录模块,其在非易失性数据存储介质中创建日志文件,其中所述日志文件包括与廉价盘冗余阵列RAID子系统中的条带关联的至少一个部分奇偶校验值,并且其中所述条带包括位于可操作第一盘驱动器上的待更新的第一数据条、位于故障盘驱动器上的第二数据条以及位于可操作盘驱动器上的条带奇偶校验条,所述至少一个部分奇偶校验值是对第一数据条和所述条带奇偶校验条执行“异或”运算的结果;以及
奇偶校验恢复模块,耦合到所述登录模块,以在子系统意外复位之后使用所述日志文件来恢复第一数据条与所述条带奇偶校验条之间的第一一致性,其中在发起对第一数据条和所述条带奇偶校验条的更新写入的时间与完成所述更新写入的时间之间的时段期间发生所述复位,所述奇偶校验恢复模块通过对从所述日志文件获得的所述至少一个部分奇偶校验值和第一数据条执行“异或”运算来恢复第一一致性。
24.如权利要求23所述的系统,其中所述RAID子系统包括RAID级3、RAID级4、RAID级5、RAID级6、RAID级30和RAID级50中的至少一个。
25.如权利要求23所述的系统,还包括:
第二维奇偶校验条,位于可操作盘驱动器上并使用第一数据条进行计算,其中所述RAID子系统包括RAID级6子系统,并且其中所述奇偶校验恢复模块使用已恢复条带奇偶校验条和所述条带中的所有数据条来恢复第一数据条与第二维奇偶校验条之间的第二一致性。
26.如权利要求23所述的系统,其中所述非易失性数据存储介质包括位于所述RAID子系统中包含的至少一个盘驱动器上的保留区。
27.如权利要求23所述的系统,其中所述子系统意外复位包括:RAID子系统处理的中断,而在所述中断之前没有通知所述RAID子系统。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/107,396 US7779294B2 (en) | 2005-04-15 | 2005-04-15 | Power-safe disk storage apparatus, systems, and methods |
US11/107,396 | 2005-04-15 | ||
PCT/US2006/014772 WO2006113823A2 (en) | 2005-04-15 | 2006-04-17 | Power-safe disk storage apparatus, systems, and methods |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101512491A CN101512491A (zh) | 2009-08-19 |
CN101512491B true CN101512491B (zh) | 2012-11-28 |
Family
ID=37074698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800209805A Expired - Fee Related CN101512491B (zh) | 2005-04-15 | 2006-04-17 | 电力安全磁盘存储装置、系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7779294B2 (zh) |
EP (1) | EP1880290A2 (zh) |
JP (1) | JP2008539474A (zh) |
CN (1) | CN101512491B (zh) |
WO (1) | WO2006113823A2 (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7779294B2 (en) | 2005-04-15 | 2010-08-17 | Intel Corporation | Power-safe disk storage apparatus, systems, and methods |
US7441146B2 (en) * | 2005-06-10 | 2008-10-21 | Intel Corporation | RAID write completion apparatus, systems, and methods |
US7562188B2 (en) * | 2005-06-17 | 2009-07-14 | Intel Corporation | RAID power safe apparatus, systems, and methods |
EP2118746B1 (en) * | 2007-01-11 | 2019-01-02 | Red Bend Ltd. | Method and system for in-place updating content stored in a storage device |
US8046548B1 (en) | 2007-01-30 | 2011-10-25 | American Megatrends, Inc. | Maintaining data consistency in mirrored cluster storage systems using bitmap write-intent logging |
CN101452409B (zh) * | 2007-12-04 | 2010-10-13 | 无锡江南计算技术研究所 | 数据校验冗余方法及装置 |
US20090300282A1 (en) * | 2008-05-30 | 2009-12-03 | Promise Technology, Inc. | Redundant array of independent disks write recovery system |
US8255739B1 (en) * | 2008-06-30 | 2012-08-28 | American Megatrends, Inc. | Achieving data consistency in a node failover with a degraded RAID array |
US8037033B2 (en) * | 2008-09-22 | 2011-10-11 | Microsoft Corporation | Log manager for aggregating data |
US8397051B2 (en) | 2009-02-23 | 2013-03-12 | Autonomy, Inc. | Hybrid hash tables |
US8145598B2 (en) * | 2009-02-23 | 2012-03-27 | Iron Mountain Incorporated | Methods and systems for single instance storage of asset parts |
US9141289B2 (en) | 2010-03-30 | 2015-09-22 | Os Nexus, Inc. | Intelligent data storage utilizing one or more records |
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 |
US8615681B2 (en) * | 2010-12-14 | 2013-12-24 | Western Digital Technologies, Inc. | System and method for maintaining a data redundancy scheme in a solid state memory in the event of a power loss |
US8700950B1 (en) | 2011-02-11 | 2014-04-15 | Western Digital Technologies, Inc. | System and method for data error recovery in a solid state subsystem |
US8700951B1 (en) * | 2011-03-09 | 2014-04-15 | Western Digital Technologies, Inc. | System and method for improving a data redundancy scheme in a solid state subsystem with additional metadata |
US8970577B2 (en) | 2013-03-13 | 2015-03-03 | Synaptics Incorporated | Reducing display artifacts after non-display update periods |
JP5982708B2 (ja) | 2013-08-09 | 2016-08-31 | ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. | ファイル処理方法およびストレージデバイス |
IN2013KO01274A (zh) * | 2013-11-08 | 2015-05-15 | Lsi Corp | |
KR20150061258A (ko) * | 2013-11-27 | 2015-06-04 | 한국전자통신연구원 | 분산 raid 시스템에서 패리티 청크 운용 방법과 이를 지원하는 데이터 서버 장치 |
US10394391B2 (en) | 2015-01-05 | 2019-08-27 | Synaptics Incorporated | System and method for reducing display artifacts |
CN107407988B (zh) | 2015-01-05 | 2020-07-10 | 辛纳普蒂克斯公司 | 输入设备、处理系统和用于操作输入设备的方法 |
US10185639B1 (en) | 2015-05-08 | 2019-01-22 | American Megatrends, Inc. | Systems and methods for performing failover in storage system with dual storage controllers |
CN105045721A (zh) * | 2015-07-23 | 2015-11-11 | 浪潮电子信息产业股份有限公司 | 一种数据一致性校验的方法和装置 |
US9921914B2 (en) | 2015-11-03 | 2018-03-20 | Intel Corporation | Redundant array of independent disks (RAID) write hole solutions |
US9910786B2 (en) | 2015-11-03 | 2018-03-06 | Intel Corporation | Efficient redundant array of independent disks (RAID) write hole solutions |
US10592022B2 (en) | 2015-12-29 | 2020-03-17 | Synaptics Incorporated | Display device with an integrated sensing device having multiple gate driver circuits |
US10459795B2 (en) | 2017-01-19 | 2019-10-29 | International Business Machines Corporation | RAID systems and methods for improved data recovery performance |
US10210063B2 (en) * | 2017-02-05 | 2019-02-19 | International Business Machines Corporation | Disk array storage controller |
US11074130B2 (en) * | 2019-03-28 | 2021-07-27 | International Business Machines Corporation | Reducing rebuild time in a computing storage environment |
CN113760186A (zh) * | 2019-07-30 | 2021-12-07 | 华为技术有限公司 | 数据存储方法、装置、计算设备、存储系统及存储介质 |
CN112667162B (zh) * | 2020-12-28 | 2023-04-28 | 浙江大华技术股份有限公司 | 一种raid恢复方法及装置 |
US11593207B2 (en) * | 2021-01-20 | 2023-02-28 | EMC IP Holding Company LLC | Storage system having RAID stripe metadata |
CN115904795A (zh) * | 2021-08-20 | 2023-04-04 | 华为技术有限公司 | 存储系统中的数据存储方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774643A (en) * | 1995-10-13 | 1998-06-30 | Digital Equipment Corporation | Enhanced raid write hole protection and recovery |
US5911779A (en) * | 1991-01-04 | 1999-06-15 | Emc Corporation | Storage device array architecture with copyback cache |
US6067635A (en) * | 1995-10-27 | 2000-05-23 | Lsi Logic Corporation | Preservation of data integrity in a raid storage device |
CN1503224A (zh) * | 2002-11-22 | 2004-06-09 | 华为技术有限公司 | 5级独立冗余磁盘阵列中多盘失败情况下的读写操作方法 |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5305326A (en) * | 1992-03-06 | 1994-04-19 | Data General Corporation | High availability disk arrays |
AU653670B2 (en) * | 1992-03-10 | 1994-10-06 | Data General Corporation | Improvements for high availability disk arrays |
US5708668A (en) * | 1992-05-06 | 1998-01-13 | International Business Machines Corporation | Method and apparatus for operating an array of storage devices |
WO1993023803A1 (fr) * | 1992-05-21 | 1993-11-25 | Fujitsu Limited | Appareil de commande pour pile de disques |
JP2857288B2 (ja) * | 1992-10-08 | 1999-02-17 | 富士通株式会社 | ディスクアレイ装置 |
JP2888401B2 (ja) * | 1992-08-03 | 1999-05-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 冗長ディスクドライブアレイに対する同期方法 |
US5761402A (en) * | 1993-03-08 | 1998-06-02 | Hitachi, Ltd. | Array type disk system updating redundant data asynchronously with data access |
EP0701715A4 (en) * | 1993-06-04 | 1999-11-17 | Network Appliance Corp | METHOD FOR PROVIDING PARITY IN A RAID SUBSYSTEM USING REMANENT MEMORY |
US5583876A (en) * | 1993-10-05 | 1996-12-10 | Hitachi, Ltd. | Disk array device and method of updating error correction codes by collectively writing new error correction code at sequentially accessible locations |
US5522032A (en) * | 1994-05-05 | 1996-05-28 | International Business Machines Corporation | Raid level 5 with free blocks parity cache |
US5497457A (en) * | 1994-10-17 | 1996-03-05 | International Business Machines Corporation | Redundant arrays of independent libraries of dismountable media with parity logging |
US5533190A (en) * | 1994-12-21 | 1996-07-02 | At&T Global Information Solutions Company | Method for maintaining parity-data consistency in a disk array |
US5574882A (en) * | 1995-03-03 | 1996-11-12 | International Business Machines Corporation | System and method for identifying inconsistent parity in an array of storage |
US5778426A (en) * | 1995-10-23 | 1998-07-07 | Symbios, Inc. | Methods and structure to maintain a two level cache in a RAID controller and thereby selecting a preferred posting method |
US5864655A (en) * | 1996-09-09 | 1999-01-26 | International Business Machines Corporation | Managing removable media in raid and rail environments |
US6041423A (en) * | 1996-11-08 | 2000-03-21 | Oracle Corporation | Method and apparatus for using undo/redo logging to perform asynchronous updates of parity and data pages in a redundant array data storage environment |
US6073218A (en) * | 1996-12-23 | 2000-06-06 | Lsi Logic Corp. | Methods and apparatus for coordinating shared multiple raid controller access to common storage devices |
US6381674B2 (en) * | 1997-09-30 | 2002-04-30 | Lsi Logic Corporation | Method and apparatus for providing centralized intelligent cache between multiple data controlling elements |
US6446237B1 (en) * | 1998-08-04 | 2002-09-03 | International Business Machines Corporation | Updating and reading data and parity blocks in a shared disk system |
US6334168B1 (en) * | 1999-02-19 | 2001-12-25 | International Business Machines Corporation | Method and system for updating data in a data storage system |
US6826711B2 (en) * | 2000-02-18 | 2004-11-30 | Avamar Technologies, Inc. | System and method for data protection with multidimensional parity |
US6950901B2 (en) * | 2001-01-05 | 2005-09-27 | International Business Machines Corporation | Method and apparatus for supporting parity protection in a RAID clustered environment |
US6523087B2 (en) * | 2001-03-06 | 2003-02-18 | Chaparral Network Storage, Inc. | Utilizing parity caching and parity logging while closing the RAID5 write hole |
US6795895B2 (en) * | 2001-03-07 | 2004-09-21 | Canopy Group | Dual axis RAID systems for enhanced bandwidth and reliability |
US6766491B2 (en) * | 2001-05-09 | 2004-07-20 | Dot Hill Systems Corp. | Parity mirroring between controllers in an active-active controller pair |
US7055058B2 (en) * | 2001-12-26 | 2006-05-30 | Boon Storage Technologies, Inc. | Self-healing log-structured RAID |
US7080278B1 (en) * | 2002-03-08 | 2006-07-18 | Network Appliance, Inc. | Technique for correcting multiple storage device failures in a storage array |
US7065674B2 (en) * | 2002-08-01 | 2006-06-20 | Microsoft Corporation | Computer system fault recovery using distributed fault-recovery information |
US7197599B2 (en) * | 2003-12-29 | 2007-03-27 | Intel Corporation | Method, system, and program for managing data updates |
US7257732B2 (en) * | 2004-02-13 | 2007-08-14 | Kaleidescape, Inc. | Integrating content-laden media with storage system |
US7246259B2 (en) * | 2004-03-18 | 2007-07-17 | Aristos Logic Coporation | Method of calculating parity for surviving dual drive failures in a disk array |
US7237062B2 (en) * | 2004-04-02 | 2007-06-26 | Seagate Technology Llc | Storage media data structure system and method |
US7779294B2 (en) | 2005-04-15 | 2010-08-17 | Intel Corporation | Power-safe disk storage apparatus, systems, and methods |
US7441146B2 (en) * | 2005-06-10 | 2008-10-21 | Intel Corporation | RAID write completion apparatus, systems, and methods |
US7562188B2 (en) * | 2005-06-17 | 2009-07-14 | Intel Corporation | RAID power safe apparatus, systems, and methods |
US7418550B2 (en) * | 2005-07-30 | 2008-08-26 | Lsi Corporation | Methods and structure for improved import/export of raid level 6 volumes |
-
2005
- 2005-04-15 US US11/107,396 patent/US7779294B2/en not_active Expired - Fee Related
-
2006
- 2006-04-17 JP JP2008506831A patent/JP2008539474A/ja active Pending
- 2006-04-17 EP EP06750745A patent/EP1880290A2/en not_active Withdrawn
- 2006-04-17 CN CN2006800209805A patent/CN101512491B/zh not_active Expired - Fee Related
- 2006-04-17 WO PCT/US2006/014772 patent/WO2006113823A2/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5911779A (en) * | 1991-01-04 | 1999-06-15 | Emc Corporation | Storage device array architecture with copyback cache |
US5774643A (en) * | 1995-10-13 | 1998-06-30 | Digital Equipment Corporation | Enhanced raid write hole protection and recovery |
US6067635A (en) * | 1995-10-27 | 2000-05-23 | Lsi Logic Corporation | Preservation of data integrity in a raid storage device |
CN1503224A (zh) * | 2002-11-22 | 2004-06-09 | 华为技术有限公司 | 5级独立冗余磁盘阵列中多盘失败情况下的读写操作方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1880290A2 (en) | 2008-01-23 |
WO2006113823A3 (en) | 2009-03-12 |
WO2006113823A2 (en) | 2006-10-26 |
CN101512491A (zh) | 2009-08-19 |
JP2008539474A (ja) | 2008-11-13 |
US7779294B2 (en) | 2010-08-17 |
US20060236029A1 (en) | 2006-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101512491B (zh) | 电力安全磁盘存储装置、系统和方法 | |
CN102708019B (zh) | 一种硬盘数据恢复方法、装置及系统 | |
EP1000395B1 (en) | Apparatus and method for memory error detection and error reporting | |
US7849356B2 (en) | Parity data management system apparatus and method | |
US20060288161A1 (en) | RAID power safe apparatus, systems, and methods | |
EP0696773B1 (en) | Redundant array of removable cartridge disk drives | |
US7346810B2 (en) | Storage controller and method for recording diagnostic information | |
US7694171B2 (en) | Raid5 error recovery logic | |
JPH11338648A (ja) | ディスクアレイ装置、そのエラ―制御方法、ならびにその制御プログラムを記録した記録媒体 | |
US5859965A (en) | Method and apparatus for maintaining data consistency in raid | |
US20190171520A1 (en) | Internally-generated data storage in spare memory locations | |
JP2006252239A (ja) | ファイル制御装置 | |
KR20100111680A (ko) | 메모리 어레이의 에러 수정 방법 | |
US20130166991A1 (en) | Non-Volatile Semiconductor Memory Device Using Mats with Error Detection and Correction and Methods of Managing the Same | |
JPH0786810B2 (ja) | アレイディスク装置 | |
US7441146B2 (en) | RAID write completion apparatus, systems, and methods | |
CN111400084A (zh) | 进行关于容错式磁盘阵列的动态复原管理的方法与装置 | |
EP1644834B1 (en) | Redundancy in array storage system | |
Greenan et al. | Reliability of flat XOR-based erasure codes on heterogeneous devices | |
CN115705262A (zh) | 一种内存故障恢复方法、系统以及内存 | |
CN100465908C (zh) | 数据存储阵列 | |
US20100138603A1 (en) | System and method for preventing data corruption after power failure | |
CN101980176A (zh) | 一种软件错误码的传递方法、装置及系统 | |
US7457990B2 (en) | Information processing apparatus and information processing recovery method | |
US20230315565A1 (en) | Parity protected memory blocks merged with error correction code (ecc) protected blocks in a codeword for increased memory utilization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121128 Termination date: 20210417 |