独立磁盘冗余阵列的架构的制作方法

文档序号:1706993阅读:184来源:国知局

专利名称::独立磁盘冗余阵列的架构的制作方法
技术领域
:本发明涉及一种数据保护方法,特别是涉及一种利用类似于数据保护信息(DataProtectionInformation)的数据保护方法保护具有多奇偶校验数据(multipleparitydata)的独立-兹盘冗余阵列(RAID)的数据。
背景技术
:由于电脑设备的发达,使得现代人的工作与生活离不开信息产品。在信息化社会中,数据的传输与储存扮演着重要的角色。只是数据在传输的过程中,由于硬件或软件的关系,难免会发生错误。如何正确地将传输数据中的错误侦测出来,一直是一个很重要的课题,因此目前市面上即有各式的检查码被使用在网络通讯、以及数据的存取、储存、传输等范畴。CRC错误侦测技术,即是所谓的循环冗余检查码(CyclicRedundancyCheckCode,CRC),简称CRC码或CRC,是一种侦测数据封包在传输过程中有无发生错误的技术。CRC的计算方式是将待传输的数据区块视为一堆连续位所构成的一整个数值,并将此数值除以一特定的除数,通常以二进位表示,此除数又称为书亍生多项式(GenerationPolynomial)。该除数一般皆由设计硬件或软件的厂商所提供。而除数值位数目则视》大得到的CRC位数目而定,目前较常使用的CRC位数目有8、16或32,一般缩写为CRC-8、CRC-16、CRC-32。通常CRC码越长,则数据发生干扰却不反应在CRC值的机率也就越低,不过得多花些时间传送较长的CRC码。理论上,计算CRC非常简单,只要一个除法运算即可,运算之后的余数即是CRC值。此CRC值会被加在欲传输的数据封包之后一起传送至目标装置。目标装置接受到该数据封包后,以相同的演算法对接收到的数据另算一组新的CRC码,若新的CRC码与伴随该数据封包一起接收到的CRC码相同,则表示接收到的数据正确;反之,则是数据错误,须请发送数据端重新发送数据。虽然CRC错误侦测技术已被广泛地应用在各领域中,用以检查数据传输的正确性,但是此技术只能侦测因硬件讯号干扰而产生的比特错误(biterror),无法解决因软件错误而引起的"将正确数据写入错误位址,,的错误(datadisplacementerror)。是故,一种"凄t据^f呆护4言息"(DataProtectionInformation,以下简称DPI)的标准被提出,提供端对端(end-to-end)传输的数据保护。请参照图1A与图IB所示,DPI标准是在传统SCSI(SmallComputerSystemInterface)协定的基本数据存取单元(BasicDataAccessUnit)ll(例如512字节(byte))后另外附加一段数据保护栏位12(例如8字节(byte)),而成为一个新的混合数据区块IO(例如520字节(byte))。若以8字节的凝:据保护栏位12为例,其中更可划分为2字节的逻辑区块护卫(logicalblockguard)子栏位121、2字节的逻辑区块应用标签(logicalblockapplicationtag)子栏位122、以及4字节的逻辑区块参考标签(logicalblockreferencetag)子栏位123。其中,逻辑区块护卫子栏位121是用来储存基本数据存取单元11的循环冗余检查码(CRC);逻辑区块参考标签子栏位123是用来储存数据的逻辑区块位址(LogicalBlockAddress,以下简称LBA)的最后四个字节;而逻辑区块应用标签子栏位122的定义则^L不同的应用而定。基本上,逻辑区块应用标签子栏位122与逻辑区块参考标签子栏位123两者皆可由使用者定义。虽然DPI标准为SCSI协定的有效载荷数据(payloaddata)传输提供了端对端的数据错误侦测,但是对于独立》兹盘冗余阵列(RedundantArrayofIndependentDisks,以下简称RAID)系统中的奇偶冲交—验数据(paritydata)的数据错误侦测却未有定义;而RAID系统则是数据储存系统的主流,其中又以具有多奇偶校验数据的RAID系统为未来发展的趋势。因此,如何在多奇偶校验数据的环境中,利用DPI标准保护RAID系统中的奇偶校验数据及/或有效载荷数据的查核数据,实为当前有待解决的重要课题。由此可见,上述现有的利用数据保护信息保护独立^f兹盘冗余阵列数据的架构在结构与使用上,显然仍存在有不便与缺陷,而亟待加以进一步改进。为了解决上述存在的问题,相关厂商莫不费尽心思来谋求解决之道,但长久以来一直未见适用的设计被发展完成,而一般产品又没有适切结构能够解决上述问题,此显然是相关业者急欲解决的问题。因此如何能创设一种新的利用数据保护信息保护独立磁盘冗余阵列数据的架构,实属当前重要研发课题之一,亦成为当前业界极需改进的目标。
发明内容本发明的目的在于,克服现有的利用数据保护信息保护独立磁盘冗余阵列数据的架构存在的缺陷,而提供一种新的具有多奇偶校验数据(multipleparitydata)的独立石兹盘冗余P车歹寸(RedundantArrayofInd印endentDisk,RAID)架构,所要解决的技术问题是通过定义奇偶校验数才居(paritydata)的"数4居j呆护4言息,,(DataProtectionInformation,DPI)的数据保护内容,来达到保护奇偶校验数据、或者是有效载荷数据(payloaddata)的数据保护信息,在传输过程中没有发生错误的目的,非常适于实用。本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的一种独立磁盘冗余阵列的架构,其包含一冗余物理储存装置阵列,包含多个物理储存装置;该冗余物理储存装置阵列界定有多个储存分割带,每一该储存分割带包含有多个有效载荷数据区块及多个奇偶校验数据区块,藉此,任意多个失效的该有效载荷数据区块中的至少一基本数据存取单元,可藉由该多个奇偶校验数据区块及未失效的该有效载荷数据区块计算产生;每一该有效载荷数据区块与该奇偶校验数据区块包含该至少一基本数据存取单元及至少一附随的数据保护栏位,其中对于每一该有效载荷数据区块,该数据保护栏位为一第一数据保护栏位,用于储存数据保护信息,其包含有一逻辑区块护卫子栏位、一逻辑区块应用标签子栏位、以及一逻辑区块参考标签子栏位,以保护该有效载荷数据区块的该基本数据存取单元内的数据;以及,对于每一奇偶校验数据区块,该数据保护栏位为一第二数据保护栏位,包含有多个子栏位,该多个子栏位能以不同的组合方式来储存多种查核数据,以保护该奇偶校验数据区块的该基本数据存取单元内的数据、或该有效载荷数据区块的该数据保护栏位内的数据。本发明的目的及解决其技术问题还可采用以下技术措施进一步实现。前述的架构,其中所述的多个奇偶校验数据区块包含一第一奇偶校验数据区块与一第二奇偶校验数据区块。前述的架构,其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第一子栏位,用于储存该多种查核数据的其中之一;藉此,任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第一子栏位、以及未失效的该有效载荷数据区块的该第一凄t据保护栏位的该逻辑区块护卫子栏位中的数据而计算产生。前述的架构,其中利用GaloisField乘法运算,4吏得任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第一子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位中的数据而计算产生。前述的架构,其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第二子栏位,用于储存该多种查核数据的其中之一;藉此,任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块应用标签子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第二子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块应用标签子栏位中的数据而计算产生。前述的架构,其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第三子栏位,用于储存该多种查核数据的其中之一;藉此,任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块参考标签子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第三子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块参考标签子栏位中的数据而计算产生。前述的架构,其中是利用GaloisField乘法运算,使得任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块参考标签子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第三子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块参考标签子栏位中的数据而计算产生。前述的架构,其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第三子栏位,用于储存该多种查核数据的其中之一,其为一逻辑区块参考标签,且该逻辑区块参考标签分别为该多个奇偶校验数据区块的基本数据存取单元所对应的物理储存装置的逻辑区块位址。前述的架构,其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第三子栏位,该第三子栏位划分为一第一空间与一第二空间。前述的架构,其中所述的第一空间用于储存一缩减大小后的该多种查核数据的其中之一;该缩减大小后的查核数据,用于验证经推算而得的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块参考标签子栏位内的数据是否正确。前述的架构,其中所述的第二空间用于储存该多种查核数据的其中之一;藉此,任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第三子栏位的该第二空间、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位中的数据而计算产生。前述的架构,其中利用GaloisField乘法运算,^f吏得任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第三子栏位的该第二空间、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位中的数据而计算产生。前述的架构,其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第一子栏位,用于储存该多种查核数据的其中之一,其为一循环冗余检查码,且储存于该第一子栏位的该循环冗余检查码分别根据该多个奇偶校验数据区块的基本数据存取单元计算而得。前述的架构,其中所述的第二空间用于储存该多种查核数据的其中之一,其为一循环冗余检查码,且储存于该第二空间的该循环冗余4企查码分别根据该多个奇偶校验数据区块的基本数据存取单元计算而得。前述的架构,其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第一子栏位,用于储存该多种查核数据的其中之一;藉此,任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第一子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位中的数据而计算产生。前述的架构,其中是利用GaloisField乘法运算J吏得任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第一子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位中的数据而计算产生。前述的架构,其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第一子栏位,用于储存该多种查核数据的其中之一,其为一循环冗余检查码,且储存于该第一子栏位的该循环冗余检查码分别根据该多个奇偶校验数据区块的基本数据存取单元计算而得。前述的架构,其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第二子栏位,用于储存该多种查核数据的其中之一;藉此,任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第二子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位中的数据而计算产生。前述的架构,其中是利用GaloisField乘法运算,4吏得任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第二子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位中的数据而计算产生。前述的架构,其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第三子栏位,用于储存该多种查核数据的其中之一,其为一逻辑区块参考标签,且该逻辑区块参考标签分别为该多个奇偶校验数据区块的基本数据存取单元所对应的物理储存装置的逻辑区块位址。前述的架构,其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第三子栏位,用于储存该多种查核数据的其中之一;藉此,任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块参考标签子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第三子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块参考标签子栏位中的数据而计算产生。前述的架构,其中是利用GaloisField乘法运算,使得任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块参考标签子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第三子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块参考标签子栏位中的数据而计算产生。前述的架构,其中所述的基本数据存取单元的长度为512字节。前述的架构,其中所述的第二数据保护栏位的该多个子栏位更包含有一第一子栏位、一第二子栏位以及一第三子栏位,所述第一、第二、第三栏位的大小分别为2字节、2字节与4字节。前述的架构,其中所述的第一空间与该第二空间的大小分别为2字节与2字节。前述的架构,其更包含有一阵列控制器,耦接于该冗余物理储存装置阵列,该阵列控制器处理涉及该多个奇偶校验数据区块的乘法运算,并且使用一特定数值做为乘法运算的溢位处理,该特定数值选自以下组合的其中之一Oxllb0x1630xl8dOxlcfOxlld0x1650xl9f0xld70xl2b0x1690xla30xldd0xl2d0x1710xla90xle70x1390x1770xlbl0xlf30xl3f0xl7b0xlbd0xlf50xl4d0x1870xlc30xlf90xl5f0xl8b前述的架构,其更包含有一阵列控制器,耦接于该冗余物理储存装置阵列,该阵列控制器使用查对数表/反对数表的方式来处理涉及该多个奇偶校验数据区块的乘法运算,并且使用一特定数值做为乘法运算的溢位处理,该特定数值是选自以下组合的其中之一0xlld0xl2d0xl5f0x1870x1710x1690xlf50xlc30xl2b0xl4d0x1630xlcf0xla90x1650xl8d0xle7本发明与现有技术相比具有明显的优点和有益效果。由以上可知,为达到上述目的,本发明提供了一种独立《兹盘冗余阵列(RedundantArrayofIndependentDisks,RAID)的架构,其包含一冗余物理-f诸存装置阵列(redundantPSDarray)包含多个物理储存装置(PhysicalStorageDevice,PSD);该冗余物理储存装置阵列界定有多个储存分割带(stripe),每一储存分割带包含有多个有效载荷^:据区块(payloaddatablock)及多个奇偶校验数据区块(paritydatablock),藉此,任意多个失效的该有效载荷数据区块中的至少一基本数据存取单元,可藉由该多个奇偶校验数据区块及未失效的该有效载荷数据区块而计算产生;每一该有效载荷数据区块与该奇偶校验数据区块包含至少一个基本数据存取单元及至少一个附随的数据保护栏位,其中对于每一该有效载荷数据区块,该数据保护栏位为一第一数据保护栏位,用于储存数据保护信息,其包含有一逻辑区块护卫(logicalblockguard)子栏位、一逻辑区块应用标签(logicalblockapplicationtag)子栏位、以及一逻辑区块参考标签(logicalblockreferencetag)子栏位,以保护该有效载荷数据区块的该基本数据存取单元内的数据;对于每一奇偶校验数据区块,该数据保护栏位为一第二数据保护栏位,包含有多个子栏位,该多个子栏位可以不同的组合方式来储存多种查核数据(checkdata),以保护该奇偶校验数据区块的该基本数据存取单元内的数据、或该有效载荷数据区块的该数据保护栏位内的数据。借由上述技术方案,本发明独立磁盘冗余阵列数据的架构至少具有下列优点及有益效果藉由本发明在奇偶校验数据序列的每一段基本数据存取单元之后加入一段数据保护栏位,并依照不同的应用,定义数据保护栏位内各子栏位的内容,以达到保护奇偶校验数据的基本数据存取单元、或有效载荷数据的数据保护栏位,在数据传输过程中不会发生错误的目的。综上所述,本发明在技术上有显著的进步,并具有明显的积极效果,诚为一新颖、进步、实用的新设计。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细i兌明如下。图IA是数据保护信息附加于SCSI基本数据存取单元的示意图。图1B是图IA的数据保护信息中包含三种不同栏位的示意图。图2是储存有两组奇偶校验数据的RAID6系统中,有效负荷数据与奇偶校验数据间储存关系的示意图。图3A与闺3B是本发明测试一设定的候选数值是否为有效(valid)密钥(encryptionkey)的第一实施例。图3A与图3C是本发明测试一设定的候选数值是否为有效(valid)密钥(encryptionkey)的第二实施例。图4是储存有两组奇偶校验数据的RAID6系统中,有效载荷数据与奇偶校验邀:据间的数据区块对应图。图5A图5F是本发明在RAID6系统中利用数据保护信息(DataProtectionInformation)数据区块保护数据的六种实施例。CRC(DOl)CRC(D21)、App(D01)~App(D21)、Ref(D01)~Ref(D21):第一种查核数据X-CRC、X-App、X-Ref:第二种查核数据G-CRC、G-App、G-Ref:第三种查核数据CRC(POl)、CRC(Pll)、Ref(POl)、Ref(Pll):第四种查核数据具体实施例方式为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的独立磁盘冗余阵列数据的架构其具体实施方式、结构、特征及其功效,详细i^明如后。本发明主要是在具有多奇偶校验数据(multipleparitydata)的冗余3虫立f兹盘冗余P车歹寸(RedundantArrayofIndependentDisk,以下简4尔RAID)系统中,定义奇偶校验数据(paritydata)的数据保护信息(DataProtectionInformation,以下简称DPI)的数据内容,以达到保护奇偶校验数据、或者是有效载荷数据(payloaddata)的数据保护信息(DPI)在传输过程中没有发生错误的目的。储存于RAID系统中的奇偶校验数据(paritydata),依照不同系统设定,可能是一组、两组、或是两组以上。在本发明中,定义RAID6是储存有两组或两组以上奇偶校验数据的冗余独立磁盘冗余阵列系统。请参照图2所示,是以储存两组奇偶校验数据的RAID6系统为例,图中绘示的冗余物理储存装置阵列(redundantPSDarray)包含五个硬盘驱动器(HDD),其中三个硬盘驱动器(HDD)储存有效载荷数据(payloaddata),分别表示为DO至D2,另两个硬盘驱动器(HDD)储存奇偶校验数据,分别表示为PO与Pl。在其他实施例中,硬盘驱动器(HDD)可以用其他物理储存装置(PhysicalStorageDevice,PSD)替代,例如(但不限于)磁带(Tape)、可读写光碟(CD-R/W)、影音光碟(DigitalVersatileDisc,DVD)等各种物理储存装置(PSD)。虽然图2是以三个储存有效载荷数据的硬盘与二个储存奇偶校验数据的硬盘为例,说明有效载荷数据与奇偶校验数据的数据储存的关系,但本发明不以此为限,在其他实施例中,有效载荷数据石乘与奇偶校验数据碟只要是两个或两个以上皆可。又,虽然图中绘示有效载荷数据与奇偶校验数据是分开储存于特定的硬盘中,但在其他实施例中,每一硬盘皆可能同时储存有位于不同储存分割带(stripe)20的有效载荷数据与奇偶校验数据,只要对应各硬盘的同一储存分割带(stripe)20上的数据可以达到利用奇偶校验数据保护其对应的有效载荷数据即可。以图2为例说明,某一储存分割带(stripe)20包含有三个有效载荷数据区块(payloaddatablock)D01-D21及一个第一奇偶校验数据区块(paritydatablock)POl与一个第二奇偶校验数据区块(paritydatablock)Pll,藉此,任意两个因硬盘故障或其他因素而失效的有效载荷数据区块)DOl、Dll、D21,可藉由第一奇偶校验数据区块POl、第二奇偶校验数据区块Pll及部分有效载荷数据区块而重新计算产生。再以图2为例,POl与Pll的计算方式可表示如下POl=a0.DOla"Dlla2.D21...........(1)Pll=b。.廳b!.Dllb2.D21...........(2)以上两式中的""代表异或(XOR)运算;POl与Pll各自代表储存于PO与PI硬盘上奇偶校验数据序列的总称;D01、Dll与D21各自代表储存于DO、Dl与D2硬盘上有效载荷数据序列的总称;(a。,al5a2)与(b。,b2)分别代表运算系数。一般来说,第一个奇偶校验数据P01的运算系数(a。,ai,a》均设定为l,也就是(l)式可以改为POl=歸@DllD21............(3)如此一来,POl的计算只须单纯地对其对应的有效载荷lt据^:异或(XOR)运算。若此RAID6系统中只有一有效载荷数据盘故障或因其他因素而导致数据错误或毁损,即可利用上述(3)式将错误或毁损的数据反算回来。至于如何利用(3)式将错误或毁损的数据反算回来,为现有习知此技艺者所熟知,因此其细节便不再多加赘述。至于(2)式中的系数(b。,、,W则不可皆设定为l,因为(2)式与(3)式须保持线性独立,以致于若有两个有效载荷数据盘故障或其中的数据毁损时,可以线性联立解两个未知数(即两个有效载荷数据碟上的数据)。这意味着,无论藉由(2)式计算P11值或反算毁损的有效载荷数据(D01、Dll、D21),均会牵涉到相当多的乘法运算。为确保数据盘中的数据可以唯一地被回算以确保RAID系统的可靠性(reliability),对于相同的乘法系数,不同有效载荷数据盘上的数据与乘法运算结果之间必须具有唯一的一对一关系。除此之夕卜,在实做上亦须考量到此乘法运算的结果须与原本的数据长度一致。因此,实务上常见RAID6系统采用Reed-Solomon数学理论与GaloisField的代数规则处理涉及第二个奇偶校验数据的运算。才艮据Reed-Solomon理"i仑,(2°,21,22)是0)。,b!,1)2)的一组有效系数,因此(2)式可改为Pll=2。.D01@21.Dll22.D21...........(4)上式中的",,代表异或(XOR)运算。更进一步地,依据本发明的另一实施例,当RAID6系统储存有第三组奇偶校验数据(P21)时,P21的计算方式可以根据一与(l)式、(2)式类似的方程式(例如P21=c。.D01Cl.Dll④c2.D21),只要其系数(c。,d,C2)设定为可与其他奇偶校验数据的方程式(例如(l)式与(2)式)产生线性独立即可。如何依据Reed-Solomon理-论求得与(1)式、(2)式线性独立的系数(C。,Cl,C2)为现有习知此技艺人士所熟知,因此本发明不再多做赘述。当DOl、Dll、D21等数据序列乘上运算系数后,由于实务上数据储存的需要,乘法运算结果需要跟原数据序列的长度一致。举例来说,若以8bits(lbyte)为数据单位,当其乘上一运算系数后,乘法运算结果也必须维持在8bits的长度;这其中意味着需要处理"溢位"的问题。GaloisField(GF)为一有限域(finitefield),其代数一见则有以下特点定义域内任二数的乘法运算结果必落在同一有限定义域之中,且一固定数与其他任意数的乘法运算结果并不重复。由上述特点可知依照GaloisField代数处理乘法运算时,需要有一"特定数值,,用于处理溢位,并且,依据此"特定数值"处理溢位的结果,能满足让GaloisField定义域中任一固定数与其他任意数间的乘法运算结果是唯一的要求。基于GaloisField是有限域(finitefield)的特质,该"特定数值,,必定也是定义域中的数值,因此,只要测试GaloisField定义域中的每一数值,是否以该数值处理溢位可以让GaloisField定义域中任一固定数与其他任意数相乘得到的运算结果是唯一;如果是,则可确定该数值即是可以用作溢位处理的"特定数值"。举例来说,々H殳GaloisField的定义域为GF(28),其包含的数值为[O,1,2,…,255],除了"0"以外,其他1至255皆有可能是该"特定数值";因此,只要利用试误法对每一个数值做测试,便可以找出定义域GF(28)中的有效(valid)数值做为该"特定数值"。若是进行乘法运算时,是采用查对数表/反对数表的方式(以下称"查表法,,)来处理乘法运算,以定义域GF(2"为例,经验证可以用做溢位处理的"特定数值"共有16个,列举如下Oxlld0xl2d0xl5f0x1870x1710x1690xlf50xlc30xl2b0xl4d0x1630xlcf0xla90x1650xl8d0xle7以上凄W直是以十六进位(hexadecimal)表示,每一个凄t字前皆以"0x"表示为十六进位,例如"Oxlld"表示是十六进位的数字"lid",二进位表示为"100011101",若以多项式(即质式)表示为"x8x4x3x2@1"。至于如何得到此16个有效数值,为现有习知此技艺人士所熟知,因此本发明不再多做赘述。有关GaloisField的定义、特性及运算法则可参阅以下的参考文献(1)"ThemathematicsofRAID6,',H.PeterAnvin,December,2004;(2)"ATutorialonReed—SolomonCodingforFault-ToleranceinRAID—likeSystems,,,JamesS.Plank,Software-Practice&Experience,27(9),pp995-1012,September,1997。若是进行乘法运算时,是采用另一种"相加与移位(Add-and-Shift)"的方式处理乘法运算,则亦需要一有效的"特定数值"用做处理溢位的基数,并使得定义域中任一固定数与其他任意数的乘法运算结果皆是唯一。请参照图3A与图3B所示,为本发明测试有效(valid)"特定数值,,的第一实施例。图3A中步骤301至307表示在设定定义域中一个候选数值为"特定数值"的前提下,依据GaloisField乘法运算MJ'J产生所有定义域中4壬两数的乘积的流程。图3B中步骤310至323则是将所有图3A中产生的乘积以一定的规则进行比较,此一定的规则为以任一乘积为基准与其同行或是同列的所有其他乘积进行比较。上述比较是为验证在乘数(或被乘数)固定的情况下,是否所有的乘积与被乘数(或乘数)间都是唯一的一对一的关系。在比较的过程中,只要遇到任两个乘积相同,则进入节点C,回到图3A,并注记该候选数值为无效(invalid)(步骤309);若所有的乘积皆完成比4交后,没有发现任两个乘积相同,则最后至节点B,回到图3A,并注记该候选数值为一个有效的(valid)的"特定数值,,(步骤308)。图3A与图3B的详细流程内容将在后面的段落中叙述。值得注意的是,执行一次上述图3A与图3B的流程,代表只测试了"一个"设定的候选数值。当一次上述流程(图3A与图3B)执行完后,须再设定另一个候选数值为乘法运算中处理溢位的"特定数值",以再一次执行以上图3A与图3B的流程。如此重复测试定义域中所有的候选数值,直到所有的候选数值皆测试过后,便可以知道哪些数值可以做为有效的(valid)"特定数值,,,其可以用来处理RAID系统中与第二个奇偶校验数据(例如Pll)相关的乘法运算。图3A的流程详述如下步骤301设定乘数i等于1;步骤302测试i是否小于等于设定的最大值(例如若是定义域为GF(28),i的最大值为255);若步骤302的测试结果为"是",则进入步骤303,否则表示所有定义域中任两数的乘积皆已产生并储存,则进入节点A以进行图3B的流程;步骤303设定被乘数j等于1;步骤304测试j是否小于等于设定的最大值(例如若是定义域为GF(28),j的最大值为255);若步骤304的测试结果为"是",则进入步骤305,否则表示同一i值已和所有j值产生乘积并储存,如此则进入步骤307以增加1个i值;步骤305以GaloisField的乘法运算规则且以设定的候选数值为处理溢位的"特定数值,,,计算D[i][j]等于i*j的乘积并将之储存于记忆体中;步骤306增加1个j值。其中,若将D[i][j]视为一个数据矩阵中的一个元素(element),则其是表示位于矩阵的i4亍(row)j歹'J(column)且对应i者存i*j的乘禾只。整体来说,步骤304至步骤306的循环(即回圈,以下均称为循环)是计算同一i值对所有j值的乘积,步骤302至步骤307的循环则是计算所有i值对所有j值的乘积。图3B的流程详述如下步骤310设定i等于1;步骤311测试i是否小于设定的最大值(例如若是定义域为GF(28),i的最大值为255);若步骤311的测试结果为"是",则进入步骤312,令j等于i;步骤313测试j是否小于设定的最大值(例如若是定义域为GF(28),j的最大值为255);若步骤313的测试结果为"是",则进入步骤314,令一变量k等于j④1。步骤314以及步骤315至步骤317的循环,是以D[i][j]为基准,测试其与同一行(row)且k〉j的各元素(D[i][k])所对应储存的乘积是否相同。其中,步骤315测试k是否小于或等于设定的最大值(例如若是定义域为GF(28),k的最大值为255);若步骤315的测试结果为"是",则进入步骤316,比较D[i][k]是否等于D[i][j];若步骤316的比较结果为"是",表示已出现两相同乘积,则进入节点C并结束图3B的流程,回到图3A以注记该设定的候选数值是无效的(invalid);若步骤316的比较结果为"否",则k值增加l(步骤317),并再回到步骤315以进行下一个D[i][k]与D[i][j]的比较;如此重复进行直到步骤315测试到k大于设定的最大值(Max),然后进入步骤318。步骤318令变量k等于i@1。步骤318以及步骤319至步骤321的循环,是以D[i][j]为基准,测试其与同一列(column)且k〉i的各元素(D[k][j])所对应储存的乘积是否相同。其中,步骤319测试k是否小于或等于设定的最大值(例如若是定义域为GF(28),k的最大值为255);若步骤319的测试结果为"是,,,则进入步骤320,比较D[k][j]是否等于D[i][j];若步骤320的比较结果为"是",表示有两乘积相同,则进入节点C并结束图3B的流程,以注记该设定的候选数值是无效(invalid)(图3A);若步骤320的比较结果为"否",则k值增加1(步骤321),并再回到步骤319以进行下一个D[k][j]与D[i][j]的比较;如此重复进行直到步骤319测试到k大于设定的最大值(Max),然后进入步骤322。步骤322递增一个j值,如此使得做为比较基准的D[i][j]往右移一位至同一4亍(row)中的下一列(column),然后重复进行步骤313至步骤321的流程,直到步骤313测试到j大于等于最大值(Max);此表示同一行(row)中所有的D[i][j]皆已做为基准与其同行(row)和同列(column)的所有其他元素进行过两两的相互比较,且没有发现有相同的乘积。如此则进入步-骤323,递增一个i值(亦即,换下一行(row)),再重复进行前述流程(步骤311至步骤323)。若一直没有比较到两个相同的乘积,且步骤311测试到i大于等于最大值(Max),则表示已做完所有定义域中任一个两数乘积与其同行(row)和同列(column)的所有其他乘积的比较,且没有发现任两个乘积相同(亦即:D[i][j]-D[i][k]且D[i][j]-D[k][j],当i,j〈k缝x),如此则进入节点B并结束图3B的流程,回到图3A以注记该设定的候选数值是有效的(valid)。请参照图3A与图3C,为本发明测试有效(valid)"特定数值,,的第二实施例。图3A中步骤301至307表示在定义域中设定一个候选数值为处理溢位的"特定数值"的前提下,依据GaloisField乘法运算规则产生所有定义域中任两数的乘积的流程。图3C中步骤324至333则是将所有图3A中产生的乘积以一定的规则进行比较,此一定的规则为以任一乘积为基准与其同行(row)的所有其他乘积进行比较。上述比较是为验证在乘数固定的情况下,是否所有的乘积与被乘数间都是唯一的一对一的关系。在另一实施例中,图3C亦可更改为任一固定的乘积与其同列(column)的所有其他乘积进行比较。在比较的过程中,只要遇到任两个乘积相同,则进入节点C,回到图3A,并注记该候选数值为无效(invalid)(步骤309);若所有的乘积皆完成比较后,没有发现任两个乘积相同,则最后至节点B,回到图3A,并注记该候选数值为一个有效的(valid)的"特定数值,,(步骤308)。图3A的详细流程内容已于前面段落中叙述过;而图3C的详细流程内容将在后面的段落中叙述。同样地,执行一次上述图3A与图3C的流程,亦只测试了"一个"设定的候选数值。当一次上述流程(图3A与图3C)执行完后,须再设定另一个候选数值为乘法运算中处理溢位的"特定数值",以再一次执行以上图3A与图3C的流程。如此重复测试定义域中所有的候选数值,直到所有的候选数值皆测试过后,便可以知道哪些数值可以做为有效的(valid)的"特定数值",其可以用来处理RAID系统中与第二个奇偶校验数据(例如Pll)相关的乘法运算。图3C的流程详述如下步骤324设定i等于1;步骤325测试i是否小于设定的最大值(例如若是定义域为GF(28),i的最大值为255);若步骤325的测试结果为"是",则进入步骤326,令j等于l;步骤327测试j是否小于设定的最大值(例如若是定义域为GF(28),j的最大值为255);若步骤327的测试结果为"是",则进入步骤328,令一变量k等于j④1。步骤328以及步骤329至步骤331的循环,是以D[i][j]为基准,测试其与同一行(row)且k〉j的各元素(D[i][k])所对应储存的乘积是否相同。其中,步骤329测试k是否小于等于设定的最大值(例如若是定义域为GF(28),k的最大值为255);若步骤329的测试结果为"是",则进入步骤330,比较D[i][k]是否等于D[i]若步骤330的比较结果为"是",表示已出现两相同乘积,则进入节点C并结束图3C的流程,回到图3A以注记该设定的候选数值是无效的(invalid);若步骤330的比较结果为"否",则k值增加l(步骤331),并再回到步骤329以进4亍下一个D[i][k]与D[i][j]的比较;如此重复进行直到步骤329测试到k大于设定的最大值(Max),然后进入步骤332。步骤332递增一个j值,如此使得做为比较基准的D[i][j]往右移一位至同一4亍(row)中的下一列(column),然后重复进4亍步骤327至步骤332的流程,直到步骤327测试到j大于等于最大值(Max);此表示同一行(row)中所有的D[i][j]皆已做为基准与同行(row)的其他元素进行过两两的相互比较,且没有发现有相同的乘积。如此则进入步骤333,递增一个i值(亦即,换下一行(row)),再重复进行前述流程(步骤325至步骤333)。若一直没有比较到两个相同的乘积,且步骤325测试到i大于或等于最大值(Max),则表示已做完所有定义域中任一个两数乘积与其同行(row)的所有其他乘积的互相比较,且没有发现任两个乘积相同,如此则进入节点B并结束图3C的流程,回到图3A以注记该设定的候选数值是有效的(valid)。值得注意的是,图3B与图3C同为比较定义域中两个数值的乘积是否相同的流程,而产生此所有两个数值的乘积者是依据图3A的流程。虽然图3B与图3C的内容有所差异,但其比较的效果实质上是相同的一皆能对所有的乘积进行与其同行或是同列的所有其他乘积的相互比较。经过上述图3A搭配图3B的流程,或是图3A搭配图3C的流程后,即可得到特定定义域(例如GF(2")中有效的(valid)"特定数值"。若是选择定义域为GF(28),也就是数据长度为8位(bits)时,经测试出的有效的(valid)"特定数值,,共有30个列举如下<table>tableseeoriginaldocumentpage20</column></row><table>以上30个有效的,,特定数值,,是以十六进位(hexadecimal)表示,每一个数字前皆以"0x,,表示为十六进位,例如"0xlld,,表示是十六进位的数字"lld",二进位表示为"100011101"。有了以上经测试i正实有效的(valid)"特定数值",便可以选择其中之一用来计算与第二个奇偶校验数据(如Pll)相关的乘法运算。请再参考(2)式与(3)式,依据GaloisField代数规则处理与第二个奇偶校验数据P11相关的乘法运算,(2)式中的运算系数(b。,b2)通常选择为2的幂次方(2°,21,22),如第(4)式所示;若再考虑到有n个有效载荷数据序列,则(2)式与(3)式可以改写为P01=歸@Dll@D21...D(n-1)1.......................(5)Pll=2。.證21.Dll22.D21@...2".D(n-l)1....(6)(6)式中的"."代表GaloisField的乘法运算符号。上述与第二个奇偶校验数据相关的乘法运算可能是将有效载荷数据序列(如DOl、Dll、D21.....D(n-l)l)代入(6)式以计算第二个奇偶校验数据(如:Pll);或是利用第二个奇偶校验数据(如Pll)与其对应的部分有效载荷数据(如Dll、D21.....D(n-l)l)计算没有回应的一有效载荷数据(如D01);或是联立(5)式与(6)式,以第一与第二个奇偶校验数据(如POl、Pll)与其对应的部分有效载荷数据(如D21~D(n-1)1)计算没有回应的二有效载荷数据(如應、Dll)。请参照图4所示,相较于图2,图4中的每一个数据序列DOl、Dll、D21皆以一个混合数据区块50代表,每一个数据序列POl与Pll皆以一个混合数据区块60代表,每一混合数据区块50、60皆分别包含一个基本数据存取单元51、61与一个数据保护栏位52、62。在一实施例中,基本数据存取单元51、61的长度可以是512字节(byte),数据保护栏位52、62的长度可以是8字节(byte);但是本发明不以此为限,在其他实施例中,基本数据存取单元51、61与数据保护栏位52、62的长度,可以是其他适当的数值;举例而言,在另一实施例中,该基本数据存取单元51、61的长度亦可为520字节(byte)。虽然图中是以三个代表有效载荷数据序列D01、Dll、D21的混合数据区块50与二个代表奇偶校验数据序列P01、Pll的混合数据区块60为例说明;但本发明不以此为限,在其他实施例中,代表有效载荷数据与奇偶校验数据的数据序列皆可以是两个或两个以上。每一有效载荷数据序列D01、Dll、D21的混合数据区块50中的数据保护栏位52是用于保护其对应的基本数据存取单元51内的数据在传输过程中不发生错误。在本发明中,以下称每一跟随于基本数据存取单元51后的数据保护栏位为,,第一数据保护栏位"52,该第一数据保护栏位52是用于储存"数据保护信息(DPI)"。用来保护有效载荷数据的数据保护信息(DPI)的规^各定义,已为现有习知此技艺人士所熟知。举例来说,若定义每一第一数据保护栏位52的长度为8字节(byte),则其中包含有一个2字节的逻辑区块护卫(logicalblockguard)子栏]立521、一个2字节的逻辑区块应用标签(logicalblockapplicationtag)子栏位522、以及一个4字节的逻辑区块参考标签(logicalblockreferencetag)子栏位523。其中,逻辑区块护卫子栏位521是用来储存由基本数据存取单元51计算而得的循环冗余检查码(CyclicRedundancyCheckCode,CRC);逻辑区块参考标签子栏位523是用来储存基本数据存取单元51的逻辑区块位址(LogicalBlockAddress,以下简称LBA)的最后四个字节;而逻辑区块应用标签子栏位522的定义则^L不同的应用而定。现有习知技术在RAID系统中,对于奇偶校验数据序列的部分,或是没有提供,,数据保护信息(DPI)"以保护传输的数据,或是只有考虑到一个奇偶校验数据(如P01)的保护,例如RAID5。本发明则是针对拥有两个以上奇偶校验数据的RAID系统(在本发明中定义有两个以上奇偶校验数据的RAID系统皆是RAID6),提供奇偶校验数据序列有类似于"数据保护信息(DPI)"的第二数据保护栏位62,以确保数据在传输过程中没有发生错误。在本发明中,依照不同的数据保护需求,奇偶校验数据(如POl、Pll)的数据保护栏位,以下称"第二数据保护栏位"62,亦区分为三个子栏位621、622、623。此三个子栏位621、622、623所储存的数据,可能会有所变动,而与第一数据保护栏位52中的三个子栏位521、522、523不尽相同。但是,基本上第二数据保护栏位62的格式还是与第一数据保护栏位52相仿,也都是用于储存查核数据(checkdata)。举例来说,若定义每一第二数据保护栏位62的长度为8字节(byte),则其亦区分为2字节的第一子栏位621、2字节的第二子栏位622、以及4字节的第三子栏位623。以下本发明将提出数种实施例,说明在RAID6系统中,如何利用此第二数据保护栏位62中的三个子栏位621、622、623来保护数据。请参照图5A所示,其为定义奇偶校验数据(如POl、Pll)的第二数据保护栏位62中三个子栏位621、622、623所储存内容的第一实施例。图中只针对有效载荷数据的第一数据保护栏位52与奇偶校验数据的第二数据保护栏位62绘示其储存的对应关系(以下图5B至图5F亦同);因为基本数据存取单元51、61的定义与现有习知无异,因此不再多估支赘述。为更清楚说明以下图5A至图5F所代表的六种实施例,以下先就图中各栏位说明其定义如下l.CRC(DOl)CRC(D21)、App(D01)~App(D21)、Ref(D01)~Ref(D21):统称为第一种查核数据(checkdata),分別表示根据"数据保护信息(DPI)"的标准,依据有效载荷数据DOl、Dll、D21的基本数据存取单元51计算或对应而得的循环冗余^r查码(CyclicRedundancyCheckCode,图中表示为CRC)、逻辑区块应用标签(logicalblockapplicationtag,图中表示为App)、以及逻辑区块参考标签(logicalblockreferencetag,图中表示为Ref)。举例来说,CRC(D01)表示由有效载荷数据D01的基本数据存取单元51计算而得的循环冗余;f全查码(CRC),用以保护有效载荷数据D01的基本数据存取单元51在传输过程中不会发生数据^"误;Ref(D01)表示由有效载荷数据D01的基本数据存取单元51对应而得的逻辑区块参考标签(Ref),用以保护有效载荷数据DOl的基本数据存取单元51在传输过程中不会发生逻辑区块位址(logicalblockaddress,LBA)错误。上述的逻辑区块参考标签(Ref)的内容是由主机命令(hostcommand)中的逻辑区块位址(LBA)直接引用或据以推算而来。2.X-CRC、X-App、X-Ref:统称为第二种查核数据(checkdata),表示根据(5)式,以异或(XOR)运算,各自针对有效载荷数据DOl、Dll、D21的第一数据保护栏位52的对应子栏位521、522、523计算而得的第一奇偶才交验数据(paritydata),并各自储存于第一奇偶校验数据P01的第二数据保护栏位62的指定子栏位621a、622a、623a中。举例来说,X-CRC=CRC(DOl)CRC(Dll)CRC(D21),其中表示异或(XOR)运算;此运算结果,在图5A、图5B与图5D中分别储存于第一子栏位621a、621b、621d,在图5C中储存于第三子栏位623c的前半部,在图5E与图5F中分别《渚存于第二子栏位622e、622f。3.G-CRC、G-App、G-Ref:统称为第三种查核数据(checkdata),表示根据(6)式,利用GaloisField乘法运算、以及异或(XOR)运算,各自针对有效载荷数据DOl、Dll、D21的第一数据保护栏位52的对应子栏位521、522、523计算而得的第二奇偶校验数据(paritydata),并各自储存于第二奇偶校验数据Pll的第二数据保护栏位62的指定子栏位621a、622a、623a中。举例来说,G-CRC=2°.CRC(DOl)21.CRC(Dll)22.CRC(D21),其中".,,表示GaloisField乘法运算、",,表示异或(XOR)运算;此运算结果,在图5A、图5B与图5D中分别储存于第一子栏位621a、621b、621d,在图5C中储存于第三子栏位623c的前半部,在图5E与图5F中分别储存于第二子栏位622e、622f。4.TX-Ref与TG-Ref:将原本四字节(byte)的X-Ref与G-Ref缩减(Truncated)后而得的第一奇偶校验数据与第二奇偶校验数据的逻辑区块参考标签(Ref),以适合分别储存于分享出部分空间储存其他数据的第三子栏位623c、623d。至于缩减的方式,在一实施例中可为将原来四字节(byte)的X-Ref与G-Ref分别截去前两字节(byte)而得TX-Ref与TG-Ref;在另一实施例中可为将原来四字节(byte)的X-Ref与G-Ref分别截去后两字节(byte)而得TX-Ref与TG-Ref。5.CRC(POl)、CRC(P11):统称为第四种查核数据(checkdata),表示由奇偶校验数据POl、Pll的基本数据存取单元61计算而得的循环冗余检查码(CRC)。6.Ref(POl)、Ref(Pll):亦属于第四种查核数据(checkdata),表示由奇偶校验数据POl、Pll的基本数据存取单元61对应而得的逻辑区块参考标签(Ref),此逻辑区块参考标签(Ref)所储存的是奇偶校验数据P01、P11的基本数据存取单元61所对应的物理储存装置(PhysicalStorageDevice,PSD)的逻辑区块位址(LogicalBlockAddress,LBA)。此奇偶校验数据POl、Pll的逻辑区块位址Ref(POl)、Ref(Pll),为控制器根据系统的RAID组态计算而得的数据储存位址,其与Ref(DOl)~Ref(D21)并不相同。由以上定义对应图5A可知,图中奇偶校验数据POl、Pll的第二数据保护栏位62的三个子栏位621a、622a、623a,皆是储存由有效载荷数据DOl、Dll、D21的第一数据保护栏位52的对应子栏位521、522、523计算而得的结果;也就是说,同时对照图4,第二数据保护栏位62的计算方式是比照基本数据存取单元61的计算方式,各自根据(5)式与(6)式计算同一储存分割带(stripe)20的相对应数据而得。图5A所代表的第一实施例的优点是提供有效载荷数据DOl、Dll、D21的第一数据保护栏位52完整的RAID功能,一^f旦其中任一子栏位521、522、523的数据遗失,可以很快速地利用奇偶校验数据POl、Pll的第二数据保护栏位62的对应子栏位621a、622a、623a计算并恢复(recovery)其遗失的数据,且此数据恢复机制与原本基本数据存取单元51、61的计算方式一致。但是,第一实施例也有其不足之处,例如实际从PSD读/写数据的过程中,奇偶校验数据POl、Pll的基本数据存取单元61没有"数据保护信息(DPI),,的保护,也因此在数据读/写的过程中无法得知奇偶校验数据POl、Pll是否有发生错误;假如用已经发生错误的奇偶校验数据POl、Pll去回算遗失的有效载荷数据DOl、Dll、D21,此错误的回算结果难以即时被发现。图5B所代表的第二实施例,则是将奇偶校验数据P01、Pll的第二数据保护栏位62的第三子栏位623b,改为储存由奇偶校验数据P01、Pll的基本数据存取单元61对应而得的逻辑区块参考标签(Ref),各自表示为Ref(POl)与Ref(Pll);至于第二数据保护栏位62的第一子栏位621b与第二子栏位622b的计算方式,则与图5A同。此实施例的做法可以补强图5A的实施例的部分不足之处,如此使得奇偶校验数据POl、Pll的基本数据存取单元61在装置端的数据传输过程中,可以有逻辑区块参考标签(Ref)的保护;但是,相对地,若有效载荷数据DOl、Dll、D21的第一数据保护栏位52的第三子栏位523发生错误、毁损或遗失,无法利用RAID机制恢复其遗失的数据。至于奇偶校验数据POl、Pll的第二数据保护栏位62的第一子栏位与第二子栏位621b、622b的部分,因其实施方式与图5A同,因此也具有相同的特点。总而言之,图5A定义奇偶校验数据P01、Pll的第二数据保护栏位62可提供有效载荷数据DOl、Dll、D21的第一数据保护栏位52全面性的RAID功能保护,但却无法侦测奇偶校验数据POl、Pll的基本数据存取单元61在装置端的数据传输过程中有无发生错误。图5B则是牺牲有效载荷数据DOl、Dll、D21的逻辑区块参考标签(Ref)523的RAID保护功能,以确保奇偶校验数据POl、Pll的基本数据存取单元61的逻辑区块位址(LBA)没有错误;但还是无法提供奇偶校验数据POl、Pll的基本数据存取单元61的循环冗余检查码(CRC)保护。若是需要提供奇偶校验数据POl、Pll的第二数据保护栏位62更多的数据保护,在图5C与图5D中,将原本配置4字节(byte)的第三子栏位623c、623d更划分为两个2字节(byte)的空间;其中一个2字节(byte)的第一空间用来4诸存缩减(Truncated)大小后的X-Ref与G-Ref,各表示为TX-Ref与TG-Ref;另一个2字节(byte)的第二空间则是用来与第一子栏位621c、621d搭配,储存CRC(POl)、CRC(P11)或X-CRC、G-CRC。虽然缩减(Truncated)大小后的TX-Ref与TG-Ref只能协助恢复(recovery)—半的逻辑区块参考标签(Ref)523的内容;但是,因为传输数据的逻辑区块位址(LBA)事实上可以藉由程序逻辑等方式推算而得,因此TX-Ref与TG-Ref可以辅助提供验证。藉由分割第三子栏位623c、623d的空间,使得图5C与图5D所代表的第三实施例与第四实施例可以多储存一组查核凄t据(checkdata)(如CRC(POl)、CRC(Pll)或X-CRC、G-CRC),如此同时提供奇偶校验数据POl、Pll的基本数据存取单元61在装置端的数据传输过程中,有循环冗余检查码(CRC)的保护(例如藉由CRC(POl)、CRC(Pll)),以及提供有效载荷数据DOl、Dll、D21的第一数据保护栏位52的循环冗余4全查码(CRC)521有RAID的数据修复(recovery)功能(例如藉由X-CRC、G-CRC)。但是这样的做法也还有不足之处第一,奇偶校验数据POl、Pll的基本数据存取单元61的传输位址(LBA)还是没有受到,,数据保护信息(DPI)"的保护(例如没有如其他实施例般,将传输位址储存于第三子栏位623而受到保护);第二,图5D所代表的第四实施例虽有提供奇偶校验数据POl、PI1的基本数据存取单元61在装置端的数据传输过程中的CRC保护,但将CRC(P01)与CRC(Pll)储存在第三栏位623d的部分空间的^t法与现有习知"数据保护信息(DPI),,的标准不同,也就是其数据偏移量(offset)与规格不符,因此一般含有"数据保护信息(DPI)"功能的晶片(chip)并无法侦测到CRC(POl)与CRC(Pll),需要额外的软硬件配合才能提供此CRC保护的功能。在有些状况下,"数据保护信息(DPI)"中的逻辑区块应用标签(App)是可以容许被修改、甚至是可以遗失的。本发明利用上述特性,在图5E与图5F所代表的第五实施例与第六实施例中,将奇偶校验数据POl、Pll的第二数据保护栏位62的第二子栏位622e、622f用来储存X-CRC与G-CRC,以提供有效载荷数据DOl、Dll、D21的第一数据保护栏位52的循环冗余检查码(CRC)521有RAID的数据修复(recovery)功能。奇偶校'睑数据POl、Pll的第二数据保护栏位62的第一子栏位621e、621f则依照现有习知"数据保护信息(DPI)"标准的定义,储存由奇偶校验数据POl、Pll的基本数据存取单元61计算而得的循环冗余检查码(CRC),以提供奇偶校验数据P01、Pll的基本数据存取单元61在装置端的数据传输过程中的CRC保护。至于奇偶;f交验数据POl、Pll的第二数据保护栏位62的第三子栏位623e、623f,在图5E所代表的第五实施例中,是储存Ref(POl)、Ref(Pll);在图5F所代表的第六实施例中,是储存X-Ref、G-Ref。总而言之,图5E所代表的第五实施例,藉由第一子栏位621e的循环冗余检查码(CRC)与第三子栏位623e的逻辑区块参考标签(Ref),保护奇偶校验数据P01、Pll的基本数据存取单元61在装置端的数据传输过程中不会发生数据错误与位址错误以及藉由第二子栏位622e,提供有效载荷数据DOl、Dll、D21的第一数据保护栏位52的循环冗余4全查码(CRC)521具有RAID的数据修复(recovery)功能。但是,此实施例无法提供有效载荷数据DOl、Dll、D21的第一数据保护栏位52的逻辑区块参考标签(Ref)523具有RAID的数据修复(recovery)功能。图5F所代表的第六实施例,藉由第一子栏位621f的循环冗余检查码(CRC),保护奇偶校验数据POl、Pll的基本数据存取单元61在装置端的数据传输过程中不会发生数据错误;以及藉由第二子栏位622f与第三子栏位623f,提供有效载荷数据DOl、Dll、D21的第一数据保护栏位52的循环冗余检查码(CRC)521与逻辑区块参考标签(Ref)523,具有RAID的数据修复(recovery)功能。但是,此实施例无法保护奇偶校验数据POl、Pll的基本数据存取单元61在装置端的数据传输过程中不会发生位址错误。更近一步地,图5E与图5F中的第二子栏位622e、622f是用来储存X-CRC与G-CRC的查核数据。藉此,任意两个失效的有效载荷数据区块的第一数据保护栏位的逻辑区块护卫子栏位,可藉由多个奇偶校验数据区块的第二数据保护栏位的第二子栏位、以及未失效的有效载荷数据区块的第一数据保护栏位的逻辑区块护卫子栏位中的数据而计算产生。更近一步地,图5E与图5F中是利用GaloisField乘法运算,使得任意两个失效的有效载荷数据区块的第一数据保护栏位的逻辑区块护卫子栏位,可藉由多个奇偶校验数据区块的第二数据保护栏位的第二子栏位、以及未失效的有效载荷数据区块的第一数据保护栏位的逻辑区块护卫子栏位中的数据而计算产生。更近一步地,图5E中的第三子栏位623e是用来储存逻辑区块参考标签的查核数据,且该逻辑区块参考标签分别为多个奇偶校验数据区块的基本数据存取单元所对应的物理储存装置的逻辑区块位址。更近一步地,图5F中的第三子栏位623f是用来储存X-Ref与G-Ref的查核数据。藉此,任意两个失效的有效载荷数据区块的第一数据保护栏位的逻辑区块参考标签子栏位,可藉由多个奇偶校验数据区块的第二数据保护栏位的第三子栏位、以及未失效的有效载荷数据区块的第一数据保护栏位的逻辑区块参考标签子栏位中的数据而计算产生。更近一步地,图5F中是利用GaloisField乘法运算,使得任意两个失效的有效载荷数据区块的第一数据保护栏位的逻辑区块参考标签子栏位,可藉由多个奇偶校验数据区块的第二数据保护栏位的第三子栏位、以及未失效的有效载荷数据区块的第一数据保护栏位的逻辑区块参考标签子栏位中的翁:据而计算产生。虽然上述图5A至图5F中的各实施例是以两个奇偶校验数据POl、Pll为例来说明,但是在有第三个奇偶校验数据P21时,该等实施例亦可以此类推实施在第三个奇偶校验数据P21上。举例来说,若图5B的实施例再增加一第三奇偶校验数据P21(图中没有绘示),则P21的第二数据保护栏位62也具有一第一子栏位621b、一第二子栏位622b与一第三子栏位623b。其中,P21的第一子栏位621b与第二子栏位622b亦是储存由有效载荷数据DOl、Dll、D21的第一数据保护栏位52的对应子栏位521、522计算而得的结果,只是前述计算需依据P21所对应的方程式(例如P21=c。.DOld.Dllc2.D21);藉此,可以提供有效载荷数据DOl、Dll、D21的对应栏位521、522有三个奇偶校验数据的保护。至于P21的第三子栏位623b,对照原图5B的实施例,也是储存由本身奇偶校验数据的基本数据存取单元对应而得的逻辑区块参考标签(Ref),可表示为Ref(P21)(图中没有绘示);藉此,提供P21的基本数据存取单元在装置端的数据传输过程中,可以有逻辑区块参考标签(Ref)的保护。根据上述图5A至图5F中的各实施例可知,本发明在具有多奇偶校验数据(multipleparitydata)的独立磁盘冗余P车歹'J(RedundantArrayofIndependentDisks,RAID)的架构下,对于每一奇偶校—睑数据的it据保护栏位,定义有多个子栏位,且使该多个子栏位可以不同的组合方式(如上述图5A至图5F中的各实施例)来储存多种查核数据,以保护奇偶校验数据区块的基本数据存取单元内的数据、或有效载荷数据区块的数据保护栏位内的数据。以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。权利要求1、一种独立磁盘冗余阵列的架构,其特征在于其包含一冗余物理储存装置阵列,包含多个物理储存装置;该冗余物理储存装置阵列界定有多个储存分割带,每一该储存分割带包含有多个有效载荷数据区块及多个奇偶校验数据区块,藉此,任意多个失效的该有效载荷数据区块中的至少一基本数据存取单元,可藉由该多个奇偶校验数据区块及未失效的该有效载荷数据区块计算产生;每一该有效载荷数据区块与该奇偶校验数据区块包含该至少一基本数据存取单元及至少一附随的数据保护栏位,其中对于每一该有效载荷数据区块,该数据保护栏位为一第一数据保护栏位,用于储存数据保护信息,其包含有一逻辑区块护卫子栏位、一逻辑区块应用标签子栏位、以及一逻辑区块参考标签子栏位,以保护该有效载荷数据区块的该基本数据存取单元内的数据;以及,对于每一奇偶校验数据区块,该数据保护栏位为一第二数据保护栏位,包含有多个子栏位,该多个子栏位能以不同的组合方式来储存多种查核数据,以保护该奇偶校验数据区块的该基本数据存取单元内的数据、或该有效载荷数据区块的该数据保护栏位内的数据。2、根据权利要求1所述的架构,其特征在于其中所述的多个奇偶才交验数据区块包含一第一奇偶校验数据区块与一第二奇偶校验数据区块。3、根据权利要求1所述的架构,其特征在于其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第一子栏位,用于储存该多种查核数据的其中之一;藉此,任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第一子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位中的数据而计算产生。4、根据权利要求3所述的架构,其特征在于,其中利用GaloisField乘法运算,使得任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第一子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位中的数据而计算产生。5、根据权利要求1所述的架构,其特征在于其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第二子栏位,用于储存该多种查核数据的其中之一;藉此,任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块应用标签子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第二子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块应用标签子栏位中的数据而计算产生。6、根据权利要求1所述的架构,其特征在于其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第三子栏位,用于储存该多种查核数据的其中之一;藉此,任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块参考标签子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第三子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块参考标签子栏位中的数据而计算产生。7、根据权利要求6所述的架构,其特征在于,其中是利用GaloisField乘法运算,使得任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块参考标签子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第三子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块参考标签子栏位中的数据而计算产生。8、根据权利要求1所述的架构,其特征在于其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第三子栏位,用于储存该多种查核数据的其中之一,其为一逻辑区块参考标签,且该逻辑区块参考标签分别为该多个奇偶校验数据区块的基本数据存取单元所对应的物理储存装置的逻辑区块位址。9、根据权利要求1所述的架构,其特征在于其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第三子栏位,该第三子栏位划分为一第一空间与一第二空间。10、根据权利要求9所述的架构,其特征在于其中所述的第一空间用于储存一缩减大小后的该多种查核数据的其中之一;该缩减大小后的查核数据,用于验证经推算而得的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块参考标签子栏位内的数据是否正确。11、根据权利要求9所述的架构,其特征在于其中所述的第二空间用于储存该多种查核数据的其中之一;藉此,任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第三子栏位的该第二空间、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位中的数据而计算产生。12、根据权利要求11所述的架构,其特征在于,其中利用GaloisField乘法运算,使得任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第三子栏位的该第二空间、以及未失效的该有效载荷凄t据区块的该第一数据保护栏位的该逻辑区块护卫子栏位中的数据而计算产生。13、根据权利要求11所述的架构,其特征在于其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第一子栏位,用于储存该多种查核数据的其中之一,其为一循环冗余检查码,且储存于该第一子栏位的该循环冗余检查码分别根据该多个奇偶校验数据区块的基本数据存取单元计算而得。14、根据权利要求9所述的架构,其特征在于其中所述的第二空间用于储存该多种查核数据的其中之一,其为一循环冗余检查码,且储存于该第二空间的该循环冗余检查码分别根据该多个奇偶校验数据区块的基本数据存取单元计算而得。15、根据权利要求14所述的架构,其特征在于其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第一子栏位,用于储存该多种查核数据的其中之一;藉此,任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第一子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位中的数据而计算产生。16、根据权利要求15所述的架构,其特征在于,其中是利用GaloisField乘法运算,使得任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第一子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位中的数据而计算产生。17、根据权利要求1所述的架构,其特征在于其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第一子栏位,用于储存该多种查核数据的其中之一,其为一循环冗余检查码,且储存于该第一子栏位的该循环冗余检查码分别根据该多个奇偶校验数据区块的基本数据存取单元计算而得。18、根据权利要求17所述的架构,其特征在于其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第二子栏位,用于储存该多种查核数据的其中之一;藉此,任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第二子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位中的数据而计算产生。19、根据权利要求18所述的架构,其特征在于,其中是利用GaloisField乘法运算,使得任意两个失效的该有效载荷数据区块的该第一凄t据保护栏位的该逻辑区块护卫子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第二子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块护卫子栏位中的数据而计算产生。20、根据权利要求18所述的架构,其特征在于其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第三子栏位,用于储存该多种查核数据的其中之一,其为一逻辑区块参考标签,且该逻辑区块参考标签分别为该多个奇偶校验数据区块的基本数据存取单元所对应的物理储存装置的逻辑区块位址。21、根据权利要求18所述的架构,其特征在于其中所述的多个奇偶校验数据区块的该第二数据保护栏位的该多个子栏位更包含有一第三子栏位,用于储存该多种查核数据的其中之一;藉此,任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块参考标签子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第三子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块参考标签子栏位中的数据而计算产生。22、根据权利要求21所述的架构,其特征在于,其中是利用GaloisField乘法运算,使得任意两个失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块参考标签子栏位,可藉由该多个奇偶校验数据区块的该第二数据保护栏位的该第三子栏位、以及未失效的该有效载荷数据区块的该第一数据保护栏位的该逻辑区块参考标签子栏位中的数据而计算产生。23、根据权利要求1所述的架构,其特征在于其中所述的基本数据存取单元的长度为512字节。24、根据权利要求1所述的架构,其特征在于其中所述的第二数据保护栏位的该多个子栏位更包含有一第一子栏位、一第二子栏位以及一第三子栏位,所述第一、第二、第三栏位的大小分别为2字节、2字节与4字节。25、根据权利要求9所述的架构,其特征在于其中所述的第一空间与该第二空间的大小分别为2字节与2字节。26、根据权利要求1所述的架构,其特征在于其更包含有一阵列控制器,耦接于该冗余物理储存装置阵列,该阵列控制器处理涉及该多个奇偶校验数据区块的乘法运算,并且使用一特定数值做为乘法运算的溢位处理,该特定数值选自以下组合的其中之一Oxllb0x1630xl8dOxlcfOxlld0x1650xl9f0xld70xl2b0x1690xla3Oxldd0xl2d0x1710xla90xle70x1390x177Oxlbl0xlf30xl3f0xl7bOxlbd0xlf50xl4d0x187Oxlc30xlf9Oxl5f0xl8b27、根据权利要求1所述的架构,其特征在于其更包含有一阵列控制器,耦接于该冗余物理储存装置阵列,该阵列控制器使用查对数表/反对数表的方式来处理涉及该多个奇偶校验数据区块的乘法运算,并且使用一特定数值做为乘法运算的溢位处理,该特定数值是选自以下组合的其中之一Oxlld0xl2d0xl5f0x1870x1710x169Oxlf50xlc30xl2b0xl4d0x163Oxlcf0xla90x1650xl8dOxle全文摘要本发明是有关于一种独立磁盘冗余阵列(RedundantArrayofIndependentDisks,RAID)的架构,其具有多奇偶校验数据(multipleparitydata),在奇偶校验数据序列的每一段基本数据存取单元(basicdataaccessunit)之后加入一段数据保护栏位,并依照不同的应用,定义数据保护栏位内各子栏位的内容,以保护奇偶校验数据的基本数据存取单元、或有效载荷数据的数据保护栏位,在数据传输过程中不会发生错误。文档编号G11B20/18GK101604267SQ20091014646公开日2009年12月16日申请日期2009年6月8日优先权日2008年6月9日发明者周庆浩,江建欣,洪清海申请人:普安科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1