CN1746854A - 用于控制存储的装置、方法和程序 - Google Patents
用于控制存储的装置、方法和程序 Download PDFInfo
- Publication number
- CN1746854A CN1746854A CNA2005100078219A CN200510007821A CN1746854A CN 1746854 A CN1746854 A CN 1746854A CN A2005100078219 A CNA2005100078219 A CN A2005100078219A CN 200510007821 A CN200510007821 A CN 200510007821A CN 1746854 A CN1746854 A CN 1746854A
- Authority
- CN
- China
- Prior art keywords
- parity checking
- regeneration
- count
- malfunction monitoring
- instruction
- 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
Links
Images
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
-
- 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
- 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/1059—Parity-single bit-RAID5, i.e. RAID 5 implementations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
Abstract
用于控制存储的装置、方法和程序。该存储控制装置包括:故障监测单元,用于与所检测的异常成比例地增加点数以为N个存储设备中的每一个求出统计相加点数,所述故障监测单元在所述统计相加点数与预定的故障确定点数较接近时发出再生奇偶校验的指令,当所述统计相加点数超过所述故障确定点数时,所述故障监测单元发出断开所述故障盘设备的指令;和奇偶校验再生单元,用于在从所述故障监测单元接收到再生奇偶校验的指令时,对所述多个盘设备的所有地址中的每一个地址,从所述(n-1)个存储设备中读取所述多个用户数据段以重新计算用于写入到所述剩下的那一个存储设备中的奇偶校验数据。
Description
技术领域
本发明一般涉及一种用于盘阵列等的存储控制装置、方法和程序,通过RAID配置来确保数据冗余,更具体地说,本发明涉及根据存储设备故障断开时的冗余配置来确保数据恢复的存储控制装置和控制方法以及程序。
背景技术
在传统的盘阵列***中,通过配置RAID(独立盘冗余阵列)来提高数据冗余以响应来自主机的I/O请求,所述RAID由布置在盘阵列中的多个盘设备构成。虽然存在各种类型的RAID,但通常使用RAID5,其适用于伴随事务处理的来自主机的I/O请求。RAID5将用户数据写入构成盘阵列的N个盘设备中的组成一个数据带(stripe)的具有相同逻辑块地址的(N-1)个盘设备中,并将奇偶校验写入剩下的那个盘设备中,所述奇偶校验是通过对用户数据进行异或(EXOR)产生的,其中不同数据带的写入了奇偶校验的盘设备是不同的,使得奇偶校验能够得以分散。在具有这种RAID5冗余配置的盘阵列***中,当盘设备发生故障和退化时,可通过对从其它的盘设备读取的用户数据和奇偶校验进行异或操作而恢复故障盘设备的用户数据,所述其它盘设备与故障盘设备一起形成一个RAID组。
然而,这种传统的RAID5盘阵列***可能面对最坏的情形,即在盘设备发生故障和退化时,不能从包括所述故障盘的两个或更多个盘设备读取数据的情况下,会因不能进行异或操作而使数据不能被恢复或丢失。可将下述情况看作在盘设备中出现故障时数据不能得以恢复的原因。首先是这样的情况,即作为由于某些原因(例如盘设备的固件设计错误)引起的奇偶校验发生异常的结果,奇偶校验一致性已经被破坏。还存在另一种情况,即在发生故障的盘设备之外的其它盘设备的介质中已经出现了异常。此外,很长时间没有进行读和写的部分甚至可能出现在相同数据带的相同逻辑块地址处,并且这样的部分可能会因那里出现的介质异常而不能进行数据恢复。
发明内容
本发明的目的是提供一种存储控制装置和控制方法以及程序,用于防止不能从包含在RAID组中的两个或更多个存储设备中读取数据,和防止当存储设备发生故障时读取的奇偶校验变得不一致,以及确保消除出现这样的情形,即故障存储设备的数据不可恢复地丢失。
本发明的特征在于提供一种存储控制装置,其用于将多个用户数据段写入到n个存储设备中的(n-1)个存储设备中并将从所述多个用户数据段计算出的奇偶校验数据写入到剩余的一(1)个存储设备中,所述存储控制装置包括:故障监测单元,用于与检测的异常成比例地增加点数以求出用于每个存储设备的统计相加点数,在所述统计相加点数与一预定的故障确定点数较接近时所述故障监测单元发出再生奇偶校验的指令;和奇偶校验再生单元,用于在从所述故障监测单元接收到再生奇偶校验的指令时,从所述(n-1)个存储设备中读取所述多个用户数据段以重新计算用于写入剩余的一(1)个存储设备中的奇偶校验数据。当所述统计相加点数到达一给定的临界值时,所述故障监测单元就发出一开始奇偶校验再生的指令,所述临界值是通过将所述故障确定点数乘以一个小于1的系数得到的。当所述统计相加点数到达一给定的临界值时,所述故障监测单元就发出一开始奇偶校验再生的指令,所述临界值是通过将所述故障确定点数乘以一个在0.7到0.9的范围内的系数得到的。当从所述多个存储设备之一输出基于SMART(自监视、分析和报告技术)特征的自诊断异常时,所述故障监测单元开始奇偶校验的再生。所述SMART用于预先收集硬盘的读出和写入操作中的错误率,基于所述错误率确定其自身不能进行操作的时间并通知其用户以催促用户在操作终止之前执行数据备份。SMART已被并入ATA/ATAPI标准中。本发明的存储控制装置还包括:与主机相连接的通道适配器;将所述多个存储设备彼此连接的设备适配器,和置于所述通道适配器和所述设备适配器之间的中央处理模块,所述故障监测单元布置在所述中央处理模块中,所述奇偶校验再生单元布置在所述设备适配器中,所述中央处理模块指示所述设备适配器执行奇偶校验的再生。
本发明提供了一种存储控制方法。在本发明的存储控制方法中,将多个用户数据段写入n个存储设备中的(n-1)个存储设备中并将从所述多个用户数据段计算出的奇偶校验数据写入剩余的一(1)个存储设备中,所述方法包括:故障监测步骤,根据所检测的每个存储设备的异常的程度发出再生奇偶校验的指令;和奇偶校验再生步骤,在从所述故障监测步骤接收到再生奇偶校验的指令时,从所述(n-1)个存储设备读取所述多个用户数据段以重新计算用于写入剩下的一(1)个存储设备中的奇偶校验数据。本发明提供了一种存储控制程序。本发明的程序用于驱动存储控制装置的计算机,所述存储控制装置将多个用户数据段写入n个存储设备中的(n-1)个存储设备中并将从所述多个用户数据段计算出的奇偶校验数据写入剩下的一(1)个存储设备中,所述程序使所述存储控制装置执行:故障监测步骤,用于与检测的异常成比例地增加点数以为每个存储设备求出统计相加点数,并当所述统计相加点数与一预定的故障确定点数较接近时发出再生奇偶校验的指令;和奇偶校验再生步骤,在从所述故障监测步骤接收到再生奇偶校验的指令时,从所述(n-1)个存储设备读取所述多个用户数据段以重新计算用于写入到剩余的一(1)个存储设备中的奇偶校验数据。根据本发明的存储控制方法和程序的细节与所述存储控制装置的相同。
根据本发明,在包含于RAID组中的一个存储设备即将发生故障之前,读出用户数据并重新产生奇偶校验以将其写入用于奇偶校验的存储设备中,从而当特定的存储设备发生故障时能够确保奇偶校验的一致性和可靠性,因此能够消除这样的最坏可能的情形,即由于在发生存储设备故障时奇偶校验不一致使数据丢失而不能恢复正确的数据。因为在重新产生奇偶校验时从所有存储设备读出用户数据,且将重新产生的奇偶校验写入到用于奇偶校验的存储设备中,所以能够检测到所有存储设备的介质异常,从而,针对所述介质异常所执行的置换处理使得能够可靠地防止出现这样的最坏可能的情形:即在发生存储设备故障时由于介质异常而不能从包括所述故障存储设备的两个或多个存储设备读取数据,并且使数据丢失。
本发明的上述和其他的目的、特征和优点数通过下述结合附图的详细说明将变得显而易见。
附图说明
图1为应用本发明的盘阵列***的功能结构的方框图;
图2A和2B为本发明中的基于故障检测的统计相加点数和奇偶校验再生的说明图;
图3为由图1的中央处理模块施行的故障监视处理的流程图;
图4为由图1的中央处理模块施行的另一故障监视处理的流程图;
图5为由图1的设备适配器执行的奇偶校验重新计算处理的流程图;
图6A和6B为图1的设备适配器进行的另一奇偶校验重新计算处理的流程图。
具体实施方式
图1为应用了本发明的盘阵列***的功能结构的方框图。在图1中,所述盘阵列***由用作存储控制器的盘阵列控制装置10和盘阵列14组成。所述盘阵列控制装置10配有通道适配器16、中央处理模块(PM)18-1和18-2、和设备适配器20-1和20-2。通道适配器16与主机12相耦合以为来自主机12的I/O请求进行接口控制。当通道适配器16从主机12接收数据写入操作请求或数据读取操作请求时,通道适配器16将操作请求通知中央处理模块18-1或18-2,并对布置在中央处理模块18-1和18-2中的高速缓冲存储器进行直接访问以在通道适配器16和主机12之间进行数据传送。中央处理模块18-1和18-2为盘阵列控制装置10的核心模块,并且每个都用于执行三个处理,即资源管理、高速缓冲存储器管理和服务。资源管理包括功能模块资源的管理和有效控制管理。高速缓冲存储器管理包括对布置在中央处理模块18-1和18-2中的存储区的分配的管理和整个高速缓存控制。所述服务通过维护工具提供各种服务。设备适配器20-1和20-2通过光纤通道接口与布置在盘阵列14中的用作存储设备的盘设备22-1到22-4以及备用盘设备24相连接以提供光纤通道接口控制、盘设备的I/O控制、RAID控制等,在本实施例中,进行RAID5的RAID控制。对布置在盘阵列14中的四个盘设备22-1到22-4进行排列以适应于由设备适配器20-1和20-2提供的具有RAID5冗余配置的控制,另外的备用盘设备24用作可代替任何发生故障的盘设备的热备用盘设备。在本发明的这种盘阵列***中,盘阵列控制装置10的中央处理模块18-1和18-2配有故障监测单元26-1和26-2,同时设备适配器20-1和20-2配有奇偶校验再生单元28-1和28-2。布置在中央处理模块18-1和18-2中的故障监测单元26-1和26-2与检测到的异常成比例地积累点数,从而为布置在盘阵列14中的具有RAID5冗余配置的四个盘设备22-1到22-4中的每一个获得统计相加点数。当统计相加点数与预定故障确定点数较接近时,故障监测单元26-1和26-2发出奇偶校验再生的指令。当统计相加点数超过了所述故障确定点数时,故障监测单元26-1和26-2进行故障判定并发出断开该故障的盘设备的指令。当从故障监测单元26-1或26-2接收到奇偶校验再生指令时,布置在设备适配器20-1和20-2中的奇偶校验再生单元28-1和28-2对四个盘设备22-1到22-4执行奇偶校验再生处理,在奇偶校验再生处理中,对于卷(即在盘上配置的逻辑区)中的各逻辑块地址,从盘设备22-1到22-4中的三个盘设备中读出用户数据以通过异或处理重新计算用于写入到剩下的那个盘设备中的奇偶校验数据。应该注意图1所示的盘阵列***的盘阵列控制装置10具有其最小的***配置,如果需要,可进一步提供有另外的通道适配器、中央处理模块、设备适配器和盘阵列14的盘设备。中央处理模块18-1和18-2以及设备适配器20-1和20-2分别具有双配置(dual configuration),使得对于来自主机12的I/O请求,例如,中央处理模块18-1和设备适配器20-1可用作初级端(primary side),中央处理模块18-2和设备适配器20-2用作次级端(secondary side),并使得对于来自主机12的I/O请求,初级端在出现故障时可被允许用次级端提供备份。
图2A和2B的图说明了在本发明的盘阵列***中根据检测到的盘设备故障的统计相加点数(statistically added points)和奇偶校验再生。图2A示出了盘阵列控制装置10和布置在与其相关的盘阵列14中的四个盘设备22-1至22-4。由于其RAID5冗余配置,盘设备22-1到22-4中的每一个都具有被卷(即盘设备上的逻辑区)中的逻辑块地址A0、A1、A2、A3……分开的数据带,以便对四个盘设备22-1到22-4的相同逻辑块地址处的数据带同时进行数据I/O。在下述的说明中,以A0、A1、A2和A3表示数据带。在RAID5冗余配置中,用户数据被存储在四个盘设备22-1到22-4中的三个上,而奇偶校验数据存储在剩下的那个盘设备中。例如,当查看所述逻辑块地址A0处的数据带时,用户数据D1、D2和D3存储在三个盘设备22-1到22-3中,而剩下的那个盘设备22-4存储通过对D1、D2和D3进行异或操作计算出的奇偶校验P1。以这种方式,虽然所有数据带来说,都是在四个盘设备22-1到22-4的相同逻辑块地址处的数据带存储了三段用户数据和一段奇偶校验数据,但由于不同的盘设备在不同的数据带上存储奇偶校验数据,使得奇偶校验数据分散。也就是说,在数据带A1上,盘设备22-3存储奇偶校验数据P2,在数据带A2上盘设备22-2存储奇偶校验数据P3,在数据带A3上盘设备22-1存储奇偶校验数据P4。在具有这种RAID5冗余配置的盘阵列***中,当例如在盘设备22-2发生了故障的情况下希望读出数据带A0上的用户数据D2时,从正常的盘设备22-1、22-3和22-4读出用户数据D1、D3和奇偶校验数据P1以便对这三段数据进行异或来恢复故障盘设备22-2的用户数据D2以响应主机。从主机向故障盘设备22-2写入用户数据的过程如下。假定在该写入之前的用户数据D1、D2和D3以及奇偶校验数据P1分别是旧数据D1old、D2old、D3old和旧奇偶校验P1old。假定来自主机的写入数据是新数据D2new。首先,分别从盘设备22-1、22-3和22-4读出旧数据D1old、D3old和旧奇偶校验P1old以如下地获得故障盘设备22-2的旧数据D2old:
D2old=D1old(+)D3old(+)P1old
其中(+)表示异或。
然后如下地从旧数据D2old、新数据D2new和旧奇偶校验P1old获得新的奇偶校验P1new:
新奇偶校验=旧奇偶校验(+)旧数据(+)新数据
P1new=P1old(+)D2old(+)D2new
将由此获得的新奇偶校验P1new写入到盘设备22-4中,从而此后在响应对故障盘设备22-2的用户数据D2的读取请求时,可以通过读出用户数据D1、D3和奇偶校验P1,对它们进行异或操作来恢复用户数据D2,用该被恢复的用户数据D2进行读取响应。当通过例如图1所示的设备适配器20-1从故障监测单元26-1接收到出错通知时,盘阵列控制装置10与被通知的错误的内容成比例地累加点数,以为具有这种RAID5冗余配置的盘设备22-1到22-4中的每个盘设备获得统计相加点数。一旦统计相加点数超过了用于判断发生了预定的盘设备故障的故障确定点数(例如255点),则该盘设备被看作是已经发生了故障并且从盘阵列***断开而被禁用,因此允许RAID5冗余配置对读请求和写请求进行处理。统计相加点数中包含的错误的内容可能是例如读取时的介质异常,致动器控制异常,读相关命令异常,节能能力异常,读性能降低。预先确定与错误程度成比例的点数,用于累加。除了根据错误通知为盘设备22-1到22-4进行统计相加点数处理之外,在本发明中还确定统计相加点数已经与故障确定点数(即255点)变得更加靠近,以指令设备适配器20-1进行奇偶校验再生处理,在所述故障确定点数,盘设备被看作已经发生了故障。除了255点的故障确定点数外,例如还可以使用200点作为临界值,以作为确定即将发生故障的结果而发出进行奇偶校验再生的指令。此外可通过将作为故障确定点数的255点与例如1或更小的系数(例如0.7到0.9)相乘获得的点数作为另外的可用临界值。
图2A示出了这样的状态,在该状态中,盘阵列控制装置10指出:在对数据带A0上的盘设备22-2的用户数据D2的读取操作过程中已经出现了例如三次介质错误。当盘设备22-2的统计相加点数因出现介质错误而超过了200点时,就发出奇偶校验再生指令。图2B示出了在盘设备22-2的统计相加点数超过临界值的情况下进行的奇偶校验再生的处理操作。对组成了盘阵列14中的RAID5组的、同时依次示出了数据带A0、A1、A2、A3等的四个盘设备22-1到22-4进行奇偶校验再生处理。例如对于数据带A0,通过用户数据读出处理30从四个盘设备22-1到22-4中的存储用户数据D1、D2和D3的盘设备22-1到22-3中读出用户数据D1、D2和D3。随后对这三段用户数据D1、D2和D3进行奇偶校验计算处理32以实现EXOR操作:
P1=D1(+)D2(+)D3
以便计算奇偶校验。然后通过奇偶校验写入处理34将所计算出的奇偶校验写入数据带A0上的盘设备22-4中,由此发出对数据带A0进行奇偶校验再生的指令。对于由数据带A1、A2、A3等表示的每个逻辑块地址重复类似的奇偶校验再生处理。通过这种在即将出现盘设备故障之前所进行的奇偶校验再生处理,对所有盘设备的所有数据带(所有逻辑块地址)毫无例外地进行用户数据的读出操作和奇偶校验的写入操作,在所述奇偶校验再生处理中,从盘阵列14中的所有盘设备22-1到22-4中的三个盘设备读出用户数据,而将奇偶校验数据写入剩余的那个盘设备中。
结果,对盘设备22-1到22-4的所有数据带(所有逻辑块地址)进行了检查。因此,在发生介质故障的情况下,通过置换处理得到一个置换区,在该区中写入通过RAID5恢复的数据或奇偶校验,从而在盘设备22-2出现故障之前就能对所有盘设备22-1到22-4的所有区域进行介质故障的检验。对于所有盘设备22-1到22-4的所有数据带(所有逻辑块地址),一旦读出了相同数据带上的用户数据,就计算和写入分散存储的奇偶校验数据,因此确保了奇偶校验数据的一致性和有效性。结果,作为奇偶校验再生之后的错误通知的结果,如果统计相加点数超过了作为故障确定点数的255点,并且盘设备22-2作为故障盘设备被断开,那么由于在即将出现故障之前进行了奇偶校验再生操作,所以基于针对介质异常的置换处理,奇偶校验一致性的恢复和保证被完成。因此,利用剩下的三个正常盘设备22-1、22-3和22-4,通常能够进行与RAID5的冗余配置相应的读取数据的恢复和与写数据的写入相应的奇偶校验数据的重新写入,因此能够确保消除这样的最坏可能情形的出现:即由于不能从包括故障盘设备的两个或更多个盘设备读出数据或缺少奇偶校验数据一致性,基于RAID5的数据恢复变得不可能,从而导致数据丢失。
图3为设置在图1的中央处理模块18-1和18-2中的故障监测单元26-1和26-2所进行的故障监测处理的流程图。在图3中,在步骤S1,根据由设备适配器通知的错误的内容使统计相加点数增加,之后,在步骤S2,检验所述统计相加点数是否已经超过了作为用于确定奇偶校验再生的临界值的200点。如果所述统计相加点数已经超过了200点,那么在步骤S3检验是否已经向设备适配器发出了奇偶校验再生的指令。如果没有,那么在步骤S4,所述盘设备被确定为即将发生故障,指示所述设备适配器进行奇偶校验再生。然后,在步骤S5,检验统计相加点数是否已经超过了作为故障确定点数的255点,由于在该情况下是否定的,所以处理将结束。然后,在步骤S4已经向设备适配器发出了奇偶校验再生指令之后,在根据来自该设备适配器的错误通知而执行了图3的故障监视处理的情况下,因为已经在步骤S3再生了奇偶校验,所以所述过程进入到步骤S5,在该步骤检验统计相加点数是否已经超过了255点。如果是肯定的,那么在步骤S6,确定所述盘设备已经发生了故障,发出断开该故障盘设备的指令。
图4为中央处理模块所进行的另一故障监视处理的流程图。该实施例的特征在于:如果来自设备适配器的错误通知是SMART异常通知,则确定所述盘设备已经发生了故障,并因此发出奇偶校验再生的指令。也就是,在图4的处理中,在步骤S1检查来自设备适配器的出错通知是否为SMART异常通知。因为盘设备22-1到22-3通常配有SMART***,所以当是SMART异常通知时,则可以确定该盘设备即将发生故障,并在步骤S5向设备适配器发出奇偶校验再生指令。类似于图3的故障监视处理,步骤S2到S7的处理包括根据来自设备适配器的错误通知,基于错误内容增加统计相加点数,并当统计相加点数超过了200点时发出奇偶校验再生指令。应该注意,虽然在图4中奇偶校验再生指令是根据统计相加点数超过200点的时间点与收到SMART异常通知的时间点中的较早的时间点发出的,但也可以不使用统计相加点数,而只使用SMART异常通知来触发奇偶校验再生指令。
图5为图1的设备适配器所进行的奇偶校验再生处理的流程图。在图5中,基于来自中央处理模块的奇偶校验再生指令启动奇偶校验再计算处理。首先,在步骤S1,将逻辑块地址设置为数据带,在步骤S2,从用于奇偶校验的盘设备之外的盘设备读取用户数据。然后在步骤S3检验是否已经成功的读取了数据。在数据读取失败的情况下,则在步骤S9进行因不能计算奇偶校验而产生的错误终止处理。在步骤S3成功地进行了数据读取的情况下,那么在步骤S4通过对用户数据进行异或操作来重新计算奇偶校验。然后在步骤S5,将重新计算出的奇偶校验写入到相应的盘设备中。如果在步骤S6成功地进行了奇偶校验写入,那么在步骤S7检查是否已经到达最后的逻辑块地址。如果还未到达最后的逻辑块地址,那么所述过程返回到步骤S1以设定下一个逻辑块地址来重复相同的处理。如果已经到达了最后的逻辑块地址,则一系列的处理将结束。在步骤S6未能写入奇偶校验的情况下,那么,然后如果发生故障的原因是介质异常,则在步骤S8执行置换处理并再次将奇偶校验写入被置换区中。
图6A和图6B为图1的设备适配器所进行的另一奇偶校验再生处理的流程图。该奇偶校验重新计算处理的特征在于:如果在未能读出用户数据时只有一段用户数据未能读出,则未能读出的数据被恢复并且根据RAID5冗余配置进行奇偶校验再生。在图6A和6B中,在步骤S1将逻辑块地址设定为数据带,然后在步骤S2从用于奇偶校验的盘设备之外的其他盘设备读取用户数据。然后,在步骤S3检验是否已经成功地进行了数据读出。如果此时未能成功进行数据读出,则在步骤S4检验是否只是未能成功读出一段用户数据。如果只是未能成功读出一段用户数据,那么在步骤S5读出奇偶校验,通过与正常读出的剩下的两段用户数据进行异或操作来恢复未能成功读出的用户数据。然后在步骤S6,通过对用户数据进行异或来重新计算奇偶校验。如果在步骤S4未能成功读出两段或更多用户数据,则因不能进行恢复而在步骤S11进行错误结束处理。在步骤S6的奇偶校验重新计算之后,在步骤S7将奇偶校验写入到相应的盘设备中,如果在步骤S8成功地进行了奇偶校验写入,那么在步骤S9检验是否已经到达最后的逻辑块地址。随后重复从步骤S1开始的处理,直到达到了最后的逻辑块地址。另选地,在步骤S8未能成功进行奇偶校验写入的情况下,如果在步骤S10确定是介质异常,那么就执行置换处理以修复介质异常,此后再次将奇偶校验写入到被替换的区域中。虽然上述实施例以示例的方式对作为盘设备的磁盘设备进行了说明,但可以使用任何其他适当的存储设备作为示例。本发明不限于上述实施例,在不损害其目的和优点的情况下而可以包含任何适当的变形。此外,本发明并不由上述实施例中所指出的数值限制。
本申请要求在2004年9月10日于日本提出的在先申请JP2004-263833的优先权。
Claims (17)
1.一种存储控制装置,用于将多个用户数据段写入n个存储设备中的(n-1)个存储设备中并将从所述多个用户数据段计算出的奇偶校验数据写入剩下的那一个存储设备中,所述存储控制装置包括:
故障监测单元,用于与所检测的异常成比例地增加点数以为每个存储设备求出统计相加点数,所述故障监测单元在所述统计相加点数与一预定故障确定点数较接近时发出再生奇偶校验的指令;和
奇偶校验再生单元,用于在从所述故障监测单元接收到所述再生奇偶校验的指令时从所述(n-1)个存储设备中读取所述多个用户数据段以重新计算用于写入到所述剩下的那一个存储设备中的奇偶校验数据。
2.根据权利要求1所述的存储控制装置,其中当所述统计相加点数到达一给定的临界值时,所述故障监测单元就发出开始奇偶校验再生的指令,所述临界值是通过将所述故障确定点数乘以一个小于1的系数得到的。
3.根据权利要求1所述的存储控制装置,其中当所述统计相加点数到达一给定的临界值时,所述故障监测单元就发出开始奇偶校验再生的指令,所述临界值是通过将所述故障确定点数乘以一个在0.7到0.9的范围内的系数得到的。
4.根据权利要求1所述的存储控制装置,其中当从所述多个存储设备之一输出基于SMART特征的自诊断异常时,所述故障监测单元就发出开始奇偶校验再生的指令。
5.根据权利要求1所述的存储控制装置,其中所述多个存储设备具有RAID5的冗余配置。
6.根据权利要求1所述的存储控制装置,进一步包括与主机相连接的通道适配器,将所述多个存储设备彼此连接的设备适配器,和介于所述通道适配器和所述设备适配器之间的中央处理模块,其中:
所述故障监测单元布置在所述中央处理模块中,
所述奇偶校验再生单元布置在所述设备适配器中,和
所述中央处理模块指示所述设备适配器执行奇偶校验的再生。
7.一种存储控制方法,用于将多个用户数据段写入n个存储设备中的(n-1)个存储设备中并将从所述多个用户数据段计算出的奇偶校验数据写入到剩下的那一个存储设备中,所述存储控制方法包括:
故障监测步骤,根据所检测的每个存储设备的异常的程度发出再生奇偶校验的指令;和
奇偶校验再生步骤,在从所述故障监测步骤接收到再生奇偶校验的指令时,从所述(n-1)个存储设备读取所述多个用户数据段以重新计算用于写入到所述剩下的那一个存储设备中的奇偶校验数据。
8.根据权利要求7所述的存储控制方法,其中所述故障监测步骤包括当所述统计相加点数到达一给定的临界值时,发出开始奇偶校验再生的指令,所述临界值是通过将所述故障确定点数乘以一个小于1的系数得到的。
9.根据权利要求7所述的存储控制方法,其中所述故障监测步骤包括当所述统计相加点数到达一给定的临界值时,发出开始奇偶校验再生的指令,所述临界值是通过将所述故障确定点数乘以一个在0.7到0.9的范围内的系数得到的。
10.根据权利要求7所述的存储控制方法,其中所述故障监测步骤包括当从所述多个存储设备之一输出基于SMART特征的自诊断异常时,发出开始奇偶校验再生的指令。
11.根据权利要求7所述的存储控制方法,其中所述多个存储设备具有RAID5的冗余配置。
12.根据权利要求7所述的存储控制方法,其中设置有与主机相连接的通道适配器,将所述多个存储设备彼此连接的设备适配器,和介于所述通道适配器和所述设备适配器之间的中央处理模块,其中:
通过所述中央处理模块来处理所述故障监测步骤,
通过所述设备适配器来处理所述奇偶校验再生步骤,和
所述中央处理模块指示所述设备适配器执行奇偶校验的再生。
13.一种用于驱动存储控制装置的计算机的程序,所述存储控制装置用于将多个用户数据段写入到n个存储设备中的(n-1)个存储设备中并将从所述多个用户数据段计算出的奇偶校验数据写入到剩下的那一个存储设备中,所述程序用于使所述存储控制装置的计算机执行以下步骤:
故障监测步骤,用于与所检测的异常成比例地增加点数以为每个存储设备求出统计相加点数,并当所述统计相加点数与一预定的故障确定点数较接近时发出再生奇偶校验的指令;和
奇偶校验再生步骤,在从所述故障监测步骤接收到再生奇偶校验的指令时,从所述(n-1)个存储设备读取所述多个用户数据段以重新计算用于写入到所述剩下的那一个存储设备中的奇偶校验数据。
14.根据权利要求13所述的程序,其中所述故障监测步骤包括当所述统计相加点数到达一给定的临界值时,发出开始奇偶校验再生的指令,所述临界值是通过将所述故障确定点数乘以一个小于1的系数得到的。
15.根据权利要求13所述的程序,其中所述故障监测步骤包括当所述统计相加点数到达一给定的临界值时,发出开始奇偶校验再生的指令,所述临界值是通过将所述故障确定点数乘以一个在0.7到0.9的范围中的系数得到的。
16.根据权利要求13所述的程序,其中所述故障监测步骤包括当从所述多个存储设备之一输出基于SMART特征的自诊断异常时,发出开始奇偶校验再生的指令。
17.根据权利要求13所述的程序,其中所述多个存储设备具有RAID5的冗余配置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004263833 | 2004-09-10 | ||
JP2004263833A JP2006079418A (ja) | 2004-09-10 | 2004-09-10 | 記憶制御装置、制御方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1746854A true CN1746854A (zh) | 2006-03-15 |
CN100353328C CN100353328C (zh) | 2007-12-05 |
Family
ID=36100606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100078219A Expired - Fee Related CN100353328C (zh) | 2004-09-10 | 2005-01-28 | 用于控制存储的装置和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7395451B2 (zh) |
JP (1) | JP2006079418A (zh) |
KR (1) | KR100711165B1 (zh) |
CN (1) | CN100353328C (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019618A (zh) * | 2012-11-29 | 2013-04-03 | 浪潮电子信息产业股份有限公司 | 一种多控器间的全局热备方法 |
CN108986869A (zh) * | 2018-07-26 | 2018-12-11 | 南京群顶科技有限公司 | 一种使用多模型预测的磁盘故障检测方法 |
CN109358809A (zh) * | 2018-09-28 | 2019-02-19 | 方信息科技(上海)有限公司 | 一种raid数据存储***及方法 |
WO2019210844A1 (zh) * | 2018-05-02 | 2019-11-07 | 杭州海康威视***技术有限公司 | 存储设备异常检测方法及装置、分布式存储*** |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007179297A (ja) * | 2005-12-28 | 2007-07-12 | Fujitsu Ltd | Raid5のパリティチェック強化方法、装置及びプログラム |
US7913108B1 (en) * | 2006-03-28 | 2011-03-22 | Emc Corporation | System and method for improving disk drive performance during high frequency vibration conditions |
US7761657B2 (en) * | 2006-07-10 | 2010-07-20 | Hitachi, Ltd. | Storage control system, control method for storage control system, port selector, and controller |
KR100809300B1 (ko) * | 2006-08-07 | 2008-03-04 | 삼성전자주식회사 | 저장장치의 개수가 가변적인 레이드(raid) 시스템을구성하는 방법 |
JP5040331B2 (ja) | 2007-01-25 | 2012-10-03 | 富士通株式会社 | 記憶装置、記憶装置の制御方法、及び記憶装置の制御プログラム |
JP4358869B2 (ja) * | 2007-02-21 | 2009-11-04 | 富士通株式会社 | ストレージ制御装置、ストレージ制御方法 |
US7913075B2 (en) * | 2007-07-03 | 2011-03-22 | Pmc-Sierra, Inc. | Systems and methods for automatic provisioning of storage and operating system installation from pre-existing iSCSI target |
JP4402711B2 (ja) * | 2007-11-05 | 2010-01-20 | 富士通株式会社 | ディスクアレイ装置、ディスクアレイ装置制御方法、ディスクアレイ装置制御プログラムおよびディスクアレイ制御装置 |
JP4542163B2 (ja) * | 2008-02-27 | 2010-09-08 | 富士通株式会社 | ディスクアレイ装置、ディスクアレイ制御方法及びディスクアレイ制御装置 |
JP4862847B2 (ja) * | 2008-03-07 | 2012-01-25 | 日本電気株式会社 | ディスクアレイのデータ復旧方法、ディスクアレイシステム及び制御プログラム |
JP2010128773A (ja) * | 2008-11-27 | 2010-06-10 | Nec Fielding Ltd | ディスクアレイ装置、そのディスク管理方法及びそのディスク管理プログラム |
JP2010238124A (ja) * | 2009-03-31 | 2010-10-21 | Fujitsu Ltd | データ管理プログラム、データ管理装置、およびデータ管理方法 |
JP5849491B2 (ja) * | 2011-07-22 | 2016-01-27 | 富士通株式会社 | ディスク制御装置、ディスク装置異常検出方法、及びプログラム |
JP6191346B2 (ja) | 2013-09-09 | 2017-09-06 | 富士通株式会社 | ストレージ制御装置、ディスクアレイ装置の制御方法及びディスクアレイ装置の制御プログラム |
US9535612B2 (en) | 2013-10-23 | 2017-01-03 | International Business Machines Corporation | Selecting a primary storage device |
US10001947B1 (en) * | 2015-05-08 | 2018-06-19 | American Megatrends, Inc. | Systems, methods and devices for performing efficient patrol read operations in a storage system |
KR102665540B1 (ko) * | 2016-11-25 | 2024-05-10 | 삼성전자주식회사 | 비휘발성 메모리를 포함하는 raid 시스템 |
US10929226B1 (en) | 2017-11-21 | 2021-02-23 | Pure Storage, Inc. | Providing for increased flexibility for large scale parity |
US11422888B2 (en) * | 2020-10-14 | 2022-08-23 | Western Digital Technologies, Inc. | Data integrity check for writing data in memory |
CN114851859A (zh) * | 2022-05-09 | 2022-08-05 | 合肥巨一动力***有限公司 | 一种电驱动***输出扭矩安全监控***及方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1035573A (zh) | 1988-10-07 | 1989-09-13 | 赏宝荣 | 气体报警器 |
JP2618078B2 (ja) | 1990-07-09 | 1997-06-11 | 富士通株式会社 | アレイディスク制御装置 |
JP3384016B2 (ja) | 1993-02-19 | 2003-03-10 | 富士ゼロックス株式会社 | 文書編集管理装置 |
JP3053153B2 (ja) | 1993-09-20 | 2000-06-19 | 株式会社日立製作所 | 文書管理システムのアプリケーション起動方法 |
US5623595A (en) * | 1994-09-26 | 1997-04-22 | Oracle Corporation | Method and apparatus for transparent, real time reconstruction of corrupted data in a redundant array data storage system |
JP2969251B2 (ja) * | 1995-01-26 | 1999-11-02 | 日本アイ・ビー・エム株式会社 | データ記憶システム及びデータ記憶システムのパリティ発生方法 |
JPH0962658A (ja) | 1995-08-21 | 1997-03-07 | Hitachi Inf Syst Ltd | 文書間リンク処理システム |
JPH09167120A (ja) | 1995-12-15 | 1997-06-24 | Denso Corp | 記憶装置の誤り訂正装置 |
KR100208801B1 (ko) * | 1996-09-16 | 1999-07-15 | 윤종용 | 데이타 입/출력 성능을 향상시키기 위한 기억장치 시스템 및 그에 따른 데이타 복구정보 캐시구현방법 |
JPH10247134A (ja) | 1997-03-05 | 1998-09-14 | Nec Corp | 直結バス用ディスクアレイ装置の障害処理回路 |
JP3063666B2 (ja) | 1997-03-31 | 2000-07-12 | 日本電気株式会社 | アレイディスク制御装置 |
JPH10283122A (ja) | 1997-04-02 | 1998-10-23 | Sony Corp | ディスク型データ記録再生装置 |
JPH11345095A (ja) | 1998-06-02 | 1999-12-14 | Toshiba Corp | ディスクアレイ装置およびその制御方法 |
US6195760B1 (en) * | 1998-07-20 | 2001-02-27 | Lucent Technologies Inc | Method and apparatus for providing failure detection and recovery with predetermined degree of replication for distributed applications in a network |
US6240429B1 (en) | 1998-08-31 | 2001-05-29 | Xerox Corporation | Using attached properties to provide document services |
JP2000339206A (ja) | 1999-05-27 | 2000-12-08 | Cadix Inc | 電子ファイル管理方法及び電子ファイルを管理するプログラムを格納したコンピュータ読み取り可能な記録媒体 |
US6553511B1 (en) * | 2000-05-17 | 2003-04-22 | Lsi Logic Corporation | Mass storage data integrity-assuring technique utilizing sequence and revision number metadata |
US7043663B1 (en) * | 2001-11-15 | 2006-05-09 | Xiotech Corporation | System and method to monitor and isolate faults in a storage area network |
JP2003162439A (ja) * | 2001-11-22 | 2003-06-06 | Hitachi Ltd | ストレージシステム及びその制御方法 |
US6993701B2 (en) | 2001-12-28 | 2006-01-31 | Network Appliance, Inc. | Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array |
JP2004022136A (ja) | 2002-06-19 | 2004-01-22 | Sony Corp | データ記録再生装置及びデータ記録再生方法、並びにデジタルカメラ |
US7024586B2 (en) * | 2002-06-24 | 2006-04-04 | Network Appliance, Inc. | Using file system information in raid data reconstruction and migration |
JP4286634B2 (ja) | 2002-11-20 | 2009-07-01 | パナソニック株式会社 | メモリ故障救済回路 |
KR20040066638A (ko) * | 2003-01-20 | 2004-07-27 | 삼성전자주식회사 | 외부 저장 서브 시스템에서의 패리티 저장 방법 및에러블록 복구 방법 |
US7434097B2 (en) * | 2003-06-05 | 2008-10-07 | Copan System, Inc. | Method and apparatus for efficient fault-tolerant disk drive replacement in raid storage systems |
US7308599B2 (en) * | 2003-06-09 | 2007-12-11 | Hewlett-Packard Development Company, L.P. | Method and apparatus for data reconstruction after failure of a storage device in a storage array |
US7058762B2 (en) * | 2003-06-09 | 2006-06-06 | Hewlett-Packard Development Company, L.P. | Method and apparatus for selecting among multiple data reconstruction techniques |
-
2004
- 2004-09-10 JP JP2004263833A patent/JP2006079418A/ja active Pending
- 2004-12-10 US US11/008,143 patent/US7395451B2/en not_active Expired - Fee Related
-
2005
- 2005-01-05 KR KR1020050000874A patent/KR100711165B1/ko not_active IP Right Cessation
- 2005-01-28 CN CNB2005100078219A patent/CN100353328C/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019618A (zh) * | 2012-11-29 | 2013-04-03 | 浪潮电子信息产业股份有限公司 | 一种多控器间的全局热备方法 |
WO2019210844A1 (zh) * | 2018-05-02 | 2019-11-07 | 杭州海康威视***技术有限公司 | 存储设备异常检测方法及装置、分布式存储*** |
CN110442298A (zh) * | 2018-05-02 | 2019-11-12 | 杭州海康威视***技术有限公司 | 存储设备异常检测方法及装置、分布式存储*** |
CN110442298B (zh) * | 2018-05-02 | 2021-01-12 | 杭州海康威视***技术有限公司 | 存储设备异常检测方法及装置、分布式存储*** |
CN108986869A (zh) * | 2018-07-26 | 2018-12-11 | 南京群顶科技有限公司 | 一种使用多模型预测的磁盘故障检测方法 |
CN109358809A (zh) * | 2018-09-28 | 2019-02-19 | 方信息科技(上海)有限公司 | 一种raid数据存储***及方法 |
CN109358809B (zh) * | 2018-09-28 | 2020-07-24 | 方一信息科技(上海)有限公司 | 一种raid数据存储***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100353328C (zh) | 2007-12-05 |
US7395451B2 (en) | 2008-07-01 |
KR20060023933A (ko) | 2006-03-15 |
JP2006079418A (ja) | 2006-03-23 |
US20060069947A1 (en) | 2006-03-30 |
KR100711165B1 (ko) | 2007-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100353328C (zh) | 用于控制存储的装置和方法 | |
JP5887757B2 (ja) | ストレージシステム、ストレージ制御装置およびストレージ制御方法 | |
JP2743606B2 (ja) | アレイ型記録装置 | |
US7877632B2 (en) | Storage control apparatus and failure recovery method for storage control apparatus | |
US7525749B2 (en) | Disk array apparatus and disk-array control method | |
US7640452B2 (en) | Method for reconstructing data in case of two disk drives of RAID failure and system therefor | |
JP4303187B2 (ja) | プログラム、記憶制御方法及び記憶装置 | |
US20080256397A1 (en) | System and Method for Network Performance Monitoring and Predictive Failure Analysis | |
US7310745B2 (en) | Efficient media scan operations for storage systems | |
CN102880522B (zh) | 面向硬件故障的***关键文件故障纠正方法及装置 | |
EP1594123A2 (en) | Method for maintaining track data integrity in magnetic disk storage devices | |
US7360018B2 (en) | Storage control device and storage device error control method | |
US20070101188A1 (en) | Method for establishing stable storage mechanism | |
US7631067B2 (en) | Server initiated predictive failure analysis for disk drives | |
US20060215456A1 (en) | Disk array data protective system and method | |
JPH09269871A (ja) | ディスクアレイ装置におけるデータ再冗長化方式 | |
US7529776B2 (en) | Multiple copy track stage recovery in a data storage system | |
CN102147714B (zh) | 一种网络存储***的管理方法及装置 | |
JP2913840B2 (ja) | 集合ディスク装置 | |
JP2005166016A (ja) | ディスクアレイ装置 | |
US7779203B2 (en) | RAID blocking determining method, RAID apparatus, controller module, and recording medium | |
JP5046305B2 (ja) | 階層型冗長ストレージシステムにおける冗長度算出方法、raid装置及びプログラム | |
CN101359299A (zh) | 一种映像廉价磁盘冗余阵列设备的写操作的方法 | |
JP2010257254A (ja) | 磁気ディスク装置 | |
WO1997027530A1 (fr) | Sous-systeme de disque magnetique |
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: 20071205 Termination date: 20170128 |