CN100390745C - 在处理数据时检验数据完整性的装置及方法 - Google Patents

在处理数据时检验数据完整性的装置及方法 Download PDF

Info

Publication number
CN100390745C
CN100390745C CNB2005101246777A CN200510124677A CN100390745C CN 100390745 C CN100390745 C CN 100390745C CN B2005101246777 A CNB2005101246777 A CN B2005101246777A CN 200510124677 A CN200510124677 A CN 200510124677A CN 100390745 C CN100390745 C CN 100390745C
Authority
CN
China
Prior art keywords
data
identifier
parity
target sector
storage medium
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
Application number
CNB2005101246777A
Other languages
English (en)
Other versions
CN1779649A (zh
Inventor
斯蒂文·T·布劳德本
迈克尔·H·哈藤
卡尔·E·琼斯
卡尔·A·尼尔森
杰雷米·M·宾森
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1779649A publication Critical patent/CN1779649A/zh
Application granted granted Critical
Publication of CN100390745C publication Critical patent/CN100390745C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

公开了一种在处理数据时检验完整性的装置及方法。所述方法提供包括多个扇区的存储阵列。所述方法定义了(N)数据状态标识符和(N)奇偶校验状态标识符。所述方法接收处理数据的命令,其中所述命令指定目标扇区。所述方法确定分配给目标扇区的数据状态标识符,确定分配给目标扇区的奇偶校验状态标识符,并比较数据状态标识符和奇偶校验状态标识符。如果所述方法确定了数据状态标识符和奇偶校验状态标识符相同,所述方法执行处理数据的命令。或者,如果所述方法确定了数据状态标识符和奇偶校验状态标识符不同,所述方法生成错误消息。

Description

在处理数据时检验数据完整性的装置及方法
技术领域
本发明涉及一种处理数据时检验数据完整性的装置及方法。更特别地,本发明涉及一种处理数据时检验数据状态及奇偶校验状态的装置及方法。在某些实施例中,本发明涉及一种写入数据时检验数据状态及奇偶校验状态的装置及方法。在某些实施例中,本发明涉及一种读取数据时检验数据状态及奇偶校验状态的装置及方法。
背景技术
信息存储和检索系统用于存储一个或多个主计算机系统提供的信息。这种信息存储和检索系统接收对一个或多个信息存储设备进行写入及读取信息的请求。该系统连续地对存储设备移入和移出信息。
数据存储设备,例如硬盘驱动器,能够“撤销写入”,即未能将数据写入存储介质的指定扇区,和/或对指定扇区执行偏移磁道的写入。随后对所述扇区的读取将接收旧的,即“失效的”数据代替最近一次写入的数据。在RAID-5编码阵列中,如果计算新的奇偶校验时随后写入使无效写入的扇区被读取的奇偶校验条纹,奇偶校验将对于先前的数据来说被恶化,因为用于更新奇偶校验的读取不获得生成奇偶校验时所用的数据,而是获得失效的数据。
为了识别这种撤销的写入/偏移磁道的写入,现有技术教导的是在每次写入之后读回数据,这种读回检验数据能够正确写入。然而,这种读回必须要求对每次写入操作进行一次附加的读取操作。现有技术还教导了对整个存储阵列奇偶校验的定期检查,这种方法不仅烦琐而且需要大量的时间。此外,当这种奇偶校验进行时,奇偶校验恶化会出现在存储介质的不同部分。
需要一种方法,识别撤销写入和/或偏移磁道写入而在每次写入时不用读回,也不用检查整个存储阵列的奇偶校验。申请人的方法通过处理数据时检验扇区的数据状态及奇偶校验状态来识别撤销写入及偏移磁道的写入。
发明内容
申请人的发明包括一种处理数据时检验数据状态和奇偶校验状态的数据处理装置及方法。
该方法提供了一种信息存储阵列,其包括一个包含多个扇区的信息存储阵列。该方法定义了数据状态标识符及奇偶校验状态标识符。本方法接收处理数据的命令,其中所述命令指定一个目标扇区。所述方法确定了分配到目标扇区的数据状态标识符及奇偶校验状态标识符,并对数据状态标识符和奇偶校验状态标识符进行比较。如果所述方法确定数据状态标识符和奇偶校验状态标识符相同,则所述方法执行处理数据的命令。或者,如果该方法确定数据状态标识符和奇偶校验状态标识符不同,则该方法生成错误信息。
该数据处理装置,用于在处理数据时检验数据完整性,该数据处理装置包括:接收处理数据的命令的装置,其中所述命令指定目标扇区,且其中所述目标扇区是所述多个扇区之一;确定分配给所述目标扇区的数据状态标识符的装置;确定分配给所述目标扇区的奇偶校验状态标识符的装置;比较所述数据状态标识符和所述奇偶校验状态标识符的装置;如果所述数据状态标识符和所述奇偶校验状态标识符相同,则在操作上执行所述命令的装置;如果所述数据状态标识符和所述奇偶校验状态标识符不同,则在操作上生成错误信息的装置。
附图说明
通过结合附图阅读以下的详细说明,本发明将得到更好的理解,附图中相同的附图标记用来指定相同的元件,其中:
图1是申请人的信息存储和检索系统的一个实施例的框图;
图2是表示四个数据状态/奇偶校验状态的框图;
图3A是表示包括数据部分及无数据部分的数据扇区的框图;
图3B是图3A中包括多个数据状态地址的元数据部分的框图;
图4A是表示保持在第一个状态地址用于写入第一个存储介质的信息的数据状态标识符的框图;
图4B是表示保持在第二个状态地址用于写入第二个存储介质的信息的数据状态标识符的框图;
图4C是表示保持在第三个状态地址用于写入第三个存储介质的信息的数据状态标识符的框图;
图4D是表示写入第一个存储介质的保持在第(m)个扇区上的第一个状态地址的数据状态标识符及写入第三个存储介质的保持在第(m)个扇区上的第一个状态地址的相应奇偶校验状态标识符的框图;
图4E是表示写入第二个存储介质的保持在第(m)个扇区上的第二个状态地址的数据状态标识符及写入第三个存储介质的保持在第(m)个扇区上的第二个状态地址的相应奇偶校验状态标识符的框图;
图4F是表示写入第三个存储介质的保持在第(m)个扇区上的第三个状态地址的数据状态标识符及写入第一个存储介质的保持在第(m)个扇区上的第三个状态地址的相应奇偶校验状态标识符的框图;
图5是概括申请人的写入数据方法的步骤的流程图;
图6描述了对图5中所述方法进行编码的算法;及
图7是概括申请人的读取数据方法的步骤的流程图。
具体实施方式
参照附图,同样的数字对应附图中描述的同样的元件。本发明将被实施为一个包括两个或多个群集器的数据存储和检索系统,其中每个所速群集器包括一个或多个处理器、一个或多个数据高速缓存及一个或多个非易失性存储装置。但是,下述申请人的在写入数据时分配数据状态及奇偶校验状态的方法的描述不意味着将申请人的发明限于一般的数据处理系统或限于包括多个群集器的数据处理系统,因为这里的本发明可以一般地适用于将数据写入多个存储介质。
图1所示的实施例中,申请人的信息存储和检索系统100包括第一个群集器101A和第二个群集器101B,每个群集器分别包括处理器部分130/140及输入/输出部分160/170,每个群集器的内部PCI总线分别通过处理器部分130/140和设备I/O部分160/170之间的远程I/O桥接器155/165连接。
图1所示的实施例中,系统100通过通信链路127能够同主计算机125进行通信。在某些实施例中,通信链路127从串行互连路中被选择出来,串行互连例如RS-232或RS-422、以太网互连、SCSI互连、光纤信道互连、ESCON互连、FICON互连、局域网(LAN)、专用广域网(WAN)、公用广域网、存储区域网(SAN)、传输控制协议/网际协议(TCP/IP)、互联网及其结合。
信息存储和检索系统100还包括设置在四个主机架101、106、111及116中的多个主适配器102-105、107-110、112-115及117-120。每个主适配器可以包括一个或多个光纤信道端口、一个或多个FICON端口、一个或多个ESCON端口或者一个或多个SCSI端口。每个主适配器与两个群集器通过一个或多个通用平台互连总线121连接,使每个群集器能够处理任一主适配器的I/O。
处理器部分130包括处理器132及高速缓存134。在某些实施例中,处理器部分130还包括存储器133。在某些实施例中,存储设备133包括随机存取存储器。在某些实施例中,存储设备133包括非易失性存储器。
处理器部分140包括处理器142及高速缓存144。在某些实施例中,处理器部分140还包括存储器143。在某些实施例中,存储设备143包括随机存取存储器。在某些实施例中,存储设备143包括非易失性存储器。
I/O部分160包括非易失性存储器(“NVS”)162及NVS电池164。I/O部分170包括NVS172及NVS电池174。
I/O部分160还包括多个设备适配器,例如设备适配器165、166、167和168,及组成为两个阵列的信息存储介质,即阵列“A”和阵列“B”。图1所示的实施例描述了两个信息存储阵列。在其他实施例中,申请人的信息存储和检索系统包括多于两个的信息存储阵列。每个这种信息存储阵列在主计算机看来就象一个或多个逻辑设备。
在某些实施例中,申请人的信息存储介质包括磁性介质,例如设置在单独的硬盘驱动器单元中的硬盘。在某些实施例中,申请人的信息存储介质包括光学介质,例如CD、DVD等。在某些实施例中,申请人的信息存储介质包括电子存储介质,例如PROM、EPROM、EEPROM、闪速PROM、压缩闪存、智能介质等。
在某些实施例中,阵列“A”和“B”利用RAID协议。在某些实施例中,阵列“A”和“B”包括有时被称为JBOD阵列的阵列。即“单束盘(Just a Bunch of Disk)”,其中的阵列不依照RAID配置。本领域技术人员应当理解,RAID(独立盘冗余阵列)队列包括独立信息存储介质,其以阵列配置以获得超过单个大型存储介质的性能、容量及可靠性。
在某些实施例中,阵列“A”包括硬磁盘驱动器181、182、183、191、192、193及194,阵列“B”包括硬磁盘驱动器185、186、187、188、196、197及198。
申请人的信息存储和检索系统,例如系统100(图1),从一个或多个主计算机中接收新数据,所述主计算机例如主计算机125,并将新数据写入一个或多个信息存储阵列,例如信息存储阵列180(图1)。图1所示的实施例表示了与一个主计算机互连的系统100。在其他实施例中,申请人的信息存储和检索系统能够和多个主计算机进行通信。
申请人的信息存储和检索系统接收新数据,并将新数据写入一个或多个信息存储介质的一个或多个指定扇区。其中新数据可能没能被编码到存储介质的多个故障模式存在。例如,数据存储设备有时不能正确地将数据写入信息存储介质。另外,数据存储设备有时对扇区执行偏离磁道的写入。不管故障模式如何,随后读取新数据的尝试代替地返回旧的数据。利用RAIDS协议,如果一次扇区写入失败,随后在计算新的奇偶校验时写入使得被无效写入的扇区被读取的奇偶校验条纹,所述奇偶校验将对于先前的数据来说恶化,因为用于更新所述奇偶校验的读取将获得失效的数据而不是当生成奇偶校验时使用的数据。
在某些实施例中,申请人的方法利用RAID 5协议将信息写入指定的扇区。RAID(独立盘的冗余阵列)结合两个协议:并行度和冗余度。RAID用多个并行的信息存储介质提供比单个存储介质高得多的带宽。RAID还能够执行并行的多个操作。奇偶校验的形式的冗余用于保持可靠性。通过存储奇偶校验,数据在单个存储设备故障后可以被完全恢复。
利用RAID5协议,数据在多个存储介质间被剥离成为块。利用(R)存储介质,(R-1)数据块组在(R-1)介质中被剥离。奇偶校验块通过对这些(R-1)块进行“异或”(“XOR”)被计算,且奇偶校验块被存储在剩余存储介质中。奇偶校验被分布是指连续的奇偶校验块被存储在不同的存储介质以避免专用的奇偶校验介质的瓶颈。每个单独的块称为条纹单元,(R-1)数据块和奇偶校验块的集合称为奇偶校验条纹。
为获得峰值效率,应该立刻写入完整的奇偶校验条纹。这种情况能够并行地写出数据和奇偶校验。如果仅部分奇偶校验条纹被修改,奇偶校验必须根据已经在盘上的数据被重算。旧的数据和奇偶校验必须被读取,然后新的数据和重算的奇偶校验被写入。
申请人的一个或多个存储阵列中的每个信息存储介质包括多个扇区,例如扇区300(图3A),其中每个所述扇区包括包含约512字节的信息部分340及包含约12字节的元数据部分350。
在包括(R)存储介质的存储系统中,申请人的方法保持了用于写入扇区300的数据的(R)状态地址,其中(R)大于或等于2。数据状态标识符保持在其中一个所述(R)状态地址中。
一般地说,申请人的方法将数据及相应数据状态标识符写入同一扇区。在扇区300写入第(i)个存储介质的情况下,然后申请人的方法利用第(i)个状态地址存储用于写入扇区300的数据的数据状态标识符。
举例来说并参照图4A,在所示的实施例中,申请人的存储系统包括三个存储介质,即存储介质410、420及430。在图4A所示的实施例中,扇区300写入第一个存储介质410,因此,申请人的方法利用第一个状态地址,即状态地址310,为扇区300中的数据保持了数据状态标识符。在该图中所示的实施例中,该数据状态标识符为“01”。
在图4B所示的实施例中,扇区300写入第二个存储介质420,因此,申请人的方法利用第二个状态地址,即状态地址320,为扇区300中的数据保持了数据状态标识符。在该图中所示的实施例中,该数据状态标识符为“00″。
在图4C所示的实施例中,扇区300写入第三个存储介质430,因此,申请人的方法利用第三个状态地址,即状态地址330,为扇区300中的数据保持了数据状态标识符。在该图中所示的实施例中,该数据状态标识符为“02”。
本领域技术人员应当理解,信息存储介质可以包括的扇区有数千个或更多。利用申请人的方法,通过检查写入设置在所述扇区元数据部分中的一个状态地址的数据状态标识符,可确定所述任一扇区的数据状态。
参照图2,在某些实施例中,申请人的方法定义了四种不同的数据状态,即状态0、状态1、状态2及状态3。在图2所示的实施例中,状态0分配为标识符“00”,状态1分配为标识符“01”,状态2分配为标识符“10”,状态3分配为标识符“11”。
申请人的方法为每个信息扇区保持了相应的奇偶校验扇区。一般来说,如果申请人的方法将信息写入第(i)个存储介质的第(m)个扇区,那么申请人的方法为第(i)个存储介质的第(m)个扇区的第(i)个状态地址部分的该信息保持了数据状态标识符,也为第(j)个存储介质的第(m)个扇区的第(i)个状态地址部分的信息保持了奇偶校验状态标识符,其中(i)和(j)不同。更一般地说,如果奇偶校验扇区写入第(j)个存储介质的第(m)个扇区,那么第(j)个存储介质的所述第(m)个扇区的第(j)个状态地址部分将不被利用。
例如在图4D所示的实施例中,信息已写入扇区300,即第(i)个存储介质410的“第(m)个”扇区,其中(i)为1。在这种情况下,申请人的方法在第(i)个存储介质的所述第(m)个扇区的第(i)个状态地址部分310保持了数据状态标识符。在图4D所示的实施例中,所述数据状态标识符为“01”。申请人的方法在第(j)个存储介质上保持了相应的第(m)个奇偶校验扇区。在图4D所示的实施例中,(j)为3,即奇偶校验扇区300写入第三个存储介质430。申请人的方法此外还将奇偶校验状态标识符保持在第(i)个状态地址部分中,即第三个存储介质的奇偶校验扇区300的状态地址310部分。在图4D所示的实施例中,所述奇偶校验状态标识符为”01”。因此在图4D所示的实施例中,数据状态标识符及奇偶校验状态标识符对于写入存储介质410的扇区300的信息而言相同。
在图4E所示的实施例中,信息已写入扇区300,即第(i)个存储介质420的“第(m)个”扇区,其中(i)为2。在这种情况下,申请人的方法将数据状态标识符保持在第(i)个存储介质的第(m)个扇区的第(i)个状态地址部分320。在图4E所示的实施例中,所述数据状态标识符为“00″。申请人的方法将相应的第(m)个奇偶校验扇区保持在第(j)个存储介质上。在图4E所示的实施例中,(j)为3,即奇偶校验扇区300写入第三个存储介质430。申请人的方法此外还将奇偶校验状态标识符保持在第(i)个状态地址部分,即第三个存储介质的扇区300的状态地址320部分。在图4E所示的实施例中,所述奇偶校验状态标识符为“00”。因此在图4E所示的实施例中,数据状态标识符及奇偶校验状态标识符相对于写入存储介质410的扇区300的信息而言相同。
在图4F所示的实施例中,信息已写入扇区300,即第(i)个存储介质430的“第(m)个”扇区,其中(i)为3。在这种情况下,申请人的方法将数据状态标识符保持在第(i)个存储介质的第(m)个扇区的第(i)个状态地址部分330。在图4F所示的实施例中,所述数据状态标识符为“02″。申请人的方法将相应的第(m)个奇偶校验扇区保持在第(j)个存储介质上。在图4F所示的实施例中,(j)为1,即奇偶校验扇区300写入第一个存储介质410。申请人的方法此外还将奇偶校验状态标识符保持在第(i)个状态地址部分,即第一个存储介质的扇区300的状态地址330部分。在图4F所示的实施例中,所述奇偶校验状态标识符为“00”。因此在图4F所示的实施例中,数据状态标识符及奇偶校验状态标识符不同表明出现了撤销的写入。
再参照图2,在某些实施例中,申请人的方法定义了四种不同的奇偶校验状态,即状态0、状态1、状态2及状态3。在图2所示的实施例中,状态0分配为标识符“00”,状态1分配为标识符“01”,状态2分配为标识符“10”,状态3分配为标识符“11”。
利用申请人的方法,每次数据写入扇区300时,扇区300的数据状态标识符及奇偶校验标识符加1。一般地说,申请人的方法包括定义(N)状态。扇区300的第(i)个数据状态/奇偶校验状态加1包括给扇区300分配第(i+1)个数据状态及第(i+1)个奇偶校验状态,除非(i)等于(N-1)。如果(i)等于(N-1),则第(i)个数据状态/奇偶校验状态加1意味着设置(i)值等于0。例如其中(N)为4,状态0加1到状态1,状态1加1到状态2,状态2加1到状态3,状态3加1到状态0。
申请人的发明包括一种处理数据时检验数据完整性的方法。附图5概括了所述方法的实施例的写数据步骤。现参照附图5,在步骤510中,申请人的方法定义了(N)第一数据及奇偶校验状态和(M)第二数据及奇偶校验状态。(N)第一状态用在执行小于完整阵列宽度写入的时候。(M)第二状态用在执行完整阵列宽度写入的时候。
在某些实施例中,步骤510包括定义4种第一状态。在某些实施例中,所述4种第一状态相应于状态210(图2)、230(图2)、250(图2)及270(图2),其中所述4种第一状态分别分配标识符220、240、260及280。在某些实施例中,申请人的方法定义超过4种状态。在另一些实施例中,申请人的方法定义2种状态。在另一些实施例中,申请人的方法定义3种状态。
在某些实施例中,步骤510的(N)第一状态由信息存储和检索系统的生产商定义,所述系统例如系统100(图1)。在其它实施例中,步骤510的(N)第一状态由信息存储和检索系统的拥有者和/或操作员定义。在另一些实施例中,步骤510的(N)第一状态由主计算机定义,所述主计算机例如主计算机125(图1)。
在步骤520中,申请人的信息存储和检索系统接收数据和写入将该数据写入目标扇区的命令,所述目标扇区即指定的逻辑块地址。在某些实施例中,步骤520通过设置在申请人的信息存储和检索系统中的处理器执行,例如处理器132(图1)。
在步骤530中,申请人的方法确定了步骤520的写入命令是否包括完整阵列宽度的写入,即完整奇偶校验条纹。在某些实施例中,步骤530通过设置在申请人的信息存储和检索系统中的处理器执行,例如处理器132(图1)。如果申请人的方法在步骤530中确定了步骤520的写入命令包括完整阵列宽度的写入,那么该方法从步骤530转换到步骤532,其中所述方法随机地分配(M)第二状态中的一种状态既作为数据状态标识符又作为奇偶校验状态标识符。在某些实施例中,步骤532通过设置在申请人的信息存储和检索系统中的处理器执行,例如处理器132(图1)。
申请人的方法从步骤532转换到步骤534,其中,所述方法写入步骤520中接收的数据,且将步骤532中分配的数据状态标识符写入指定的信息存储阵列。在某些实施例中,步骤534通过设置在申请人的信息存储和检索系统中的处理器执行,例如处理器132(图1)。
在步骤536中,申请人的方法将步骤532中指定的奇偶校验状态标识符写入设置在申请人的信息存储阵列中的相应的奇偶校验块。在某些实施例中,步骤536通过设置在申请人的信息存储和检索系统中的处理器执行,例如处理器132(图1)。
如果申请人的方法在步骤530中确定了步骤520的写入命令不包括完整阵列宽度的写入,那么所述方法从步骤530转换到步骤540,其中,所述方法读取每个目标扇区最后分配的数据状态标识符。这里参考的写入“目标扇区”或“该目标扇区”包括写入多于一个的目标扇区,其中写操作包括小于一个完整跨距的写入。在某些实施例中,步骤540通过设置在申请人的信息存储和检索系统中的处理器执行,例如处理器132(图1)。
申请人的方法从步骤540转换到步骤550,其中,所述方法读取每个目标扇区最后分配的奇偶校验状态标识符。在某些实施例中,步骤550通过设置在申请人的信息存储和检索系统中的处理器执行,例如处理器132(图1)。
申请人的方法从步骤550转换到步骤560,其中,所述方法将在步骤540中读取的用于每个目标扇区的数据状态标识符同在步骤550中读取的用于每个目标扇区的奇偶校验状态标识符进行比较。在某些实施例中,步骤560通过设置在申请人的信息存储和检索系统中的处理器执行,例如处理器132(图1)。
如果申请人的方法在步骤560中确定了任一目标扇区的数据状态标识符和奇偶校验状态标识符不同,那么检测到撤销的写入。例如,在图4F所示的实施例中,数据状态标识符和奇偶校验状态标识符不同。如果数据状态标识符和奇偶校验状态标识符不同,那么申请人的方法从步骤560转换到步骤565,其中,所述方法生成错误记录。在某些实施例中,步骤565通过设置在申请人的信息存储和检索系统中的处理器执行,例如处理器132(图1)。
或者,如果申请人的方法在步骤560中确定了每个目标扇区的数据状态标识符和奇偶校验状态标识符相同,那么申请人的方法转换从步骤560转换到步骤570。例如,在图4D所示的实施例中,数据状态标识符和奇偶校验状态标识符相同。
在步骤570中,申请人的方法将每个目标扇区的数据状态标识符加1,并保存加1的数据状态标识符。在某些实施例中,步骤570通过设置在申请人的信息存储和检索系统中的处理器执行,例如处理器132(图1)。
在步骤580中,申请人的方法计算每个目标扇区的新的奇偶校验,并将每个目标扇区的奇偶校验状态标识符加1。在某些实施例中,步骤580通过设置在申请人的信息存储和检索系统中的处理器执行,例如处理器132(图1)。
在步骤590中,申请人的方法将步骤520中接收的数据写入目标扇区的数据部分,且将每个目标扇区的加1的数据状态标识符写入目标扇区的元数据部分。在某些实施例中,步骤590通过设置在申请人的信息存储和检索系统中的处理器执行,例如处理器132(图1)。
在步骤595中,申请人的方法将每个目标扇区的新的奇偶校验及每个目标扇区的加1的奇偶校验状态标识符写入每个目标扇区的奇偶校验块。在某些实施例中,步骤595通过设置在申请人的信息存储和检索系统中的处理器执行,例如处理器132(图1)。
现在参照附图5和附图6,在某些实施例中,申请人的方法利用算法600编码。步骤610包括步骤540的元素。步骤620包括步骤550的元素。步骤630包括步骤560的元素。步骤640及650包括步骤570的元素。步骤660包括步骤580的元素。步骤670包括步骤590的元素。步骤680包括步骤595的元素。
申请人的方法还包括读取数据的实施例。现在参照附图7,在步骤710中,申请人的信息存储和检索系统接收从目标扇区中读取数据的读取命令,所述目标扇区即指定的逻辑块地址。这里参考的读取“目标扇区”或“该目标扇区”包括读取多于一个的目标扇区。在某些实施例中,步骤710通过设置在申请人的信息存储和检索系统中的处理器执行,例如处理器132(图1)。
在步骤720中,申请人的方法读取每个目标扇区最后分配的数据状态标识符。在某些实施例中,步骤720通过设置在申请人的信息存储和检索系统中的处理器执行,例如处理器132(图1)。
申请人的方法从步骤720转换到步骤730,其中,所述方法读取每个目标扇区最后赋值的奇偶校验状态标识符。在某些实施例中,步骤730通过设置在申请人的信息存储和检索系统中的处理器执行,例如处理器132(图1)。
申请人的方法从步骤730转换到步骤740,其中,所述方法将每个目标扇区的数据状态标识符和每个目标扇区的奇偶校验状态标识符进行比较。在某些实施例中,步骤740通过设置在申请人的信息存储和检索系统中的处理器执行,例如处理器132(图1)。
如果申请人的方法在步骤740中确定了任一目标扇区的数据状态标识符和奇偶校验状态标识符不同,则检测到撤销的写入。如果任一目标扇区的数据状态标识符和奇偶校验状态标识符不同,那么申请人的方法从步骤740转换到步骤750,其中,所述方法生成错误记录。在某些实施例中,步骤740通过设置在申请人的信息存储和检索系统中的处理器执行,例如处理器132(图1)。
或者,如果申请人的方法在步骤740中确定了所有目标扇区的数据状态标识符和奇偶校验状态标识符相同,那么申请人的方法从步骤740转换到步骤760,其中,所述方法提供请求信息。在某些实施例中,步骤760通过设置在申请人的信息存储和检索系统中的处理器执行,例如处理器132(图1)。
图5所示的方法、图6所示的方法或图7所示的方法,可以被分别执行。在某些实施例中,图5和/或图6和/或图7中描述的单个步骤可以被组合、删去或重新排序。
在某些实施例中,申请人的发明包括存储器133(图1)中的指令,其中通过处理器132(图1)执行所述指令以执行图5中描述的步骤520、530、532、534、536、540、550、560、565、570、580、590及595,或执行图6中描述的步骤610至680,和/或执行图7中描述的步骤710至760。在其他实施例中,申请人的发明包括任何其他计算机程序产品中的指令,其中通过系统100外部或内部的计算机执行所述指令以执行附图5中描述的步骤520、530、532、534、536、540、550、560、565、570、580、590及595,或执行图6中描述的步骤610至680,和/或执行图7中描述的步骤710至760。在任一情况下,指令可以被编码到信息存储介质,例如包括磁性信息存储介质、光学信息存储介质、电子信息存储介质等。申请人通过“电子存储介质”来指例如象PROM,EPROM,EEPROM,闪速PROM,压缩闪存,智能介质等设备。
尽管对本发明的优选实施方式已经进行了详细的阐述,应当清楚,对于本领域技术人员来说,对所述实施例的修改和调整是可能作出的,而不背离下述权利要求中所阐述的本发明的范围。

Claims (20)

1.一种在处理数据时检验数据完整性的方法,包括以下步骤:
提供信息存储阵列,所述信息存储阵列包括包含多个扇区的信息存储阵列;
定义N个数据状态标识符及N个奇偶校验状态标识符;
接收处理数据的命令,其中所述命令指定目标扇区,且其中所述目标扇区是所述多个扇区之一;
确定分配给所述目标扇区的数据状态标识符,其中所述数据状态标识符是所述N个数据状态标识符之一;
确定分配给所述目标扇区的奇偶校验状态标识符,其中所述奇偶校验状态标识符是所述N个奇偶校验状态标识符之一;
比较所述数据状态标识符和所述奇偶校验状态标识符;
如果所述数据状态标识符及所述奇偶校验状态标识符相同,则在操作上执行所述命令;
如果所述数据状态标识符及所述奇偶校验状态标识符不同,则在操作上生成错误信息。
2.如权利要求1所述的方法,其中所述接收处理数据的命令的步骤还包括接收写入指令,所述方法还包括:
接收数据;
如果所述数据状态标识符及所述奇偶校验状态标识符相同,则在操作上执行以下步骤:
给所述目标扇区的所述数据状态标识符加1,其中所述加1的数据状态标识符是所述N个数据状态标识符之一;
计算所述目标扇区新的奇偶校验;
将所述数据及所述加1的数据状态标识符写入所述目标扇区;
将所述奇偶校验状态标识符加1,其中所述加1的奇偶校验状态标识符是所述N个奇偶校验状态标识符之一;
将所述新的奇偶校验及所述加1的奇偶校验状态标识符写入所述信息存储阵列。
3.如权利要求2所述的方法,还包括以下步骤:
提供包括数据部分及元数据部分的目标扇区;
将所述数据写入所述数据部分;及
所述加1的数据状态标识符写入所述元数据部分。
4.如权利要求3所述的方法,还包括提供包括2个校验位的组的数据状态标识符的步骤。
5.如权利要求3所述的方法,还包括提供包括多于2个校验位的组的数据状态标识符的步骤。
6.如权利要求3所述的方法,其中所述信息存储阵列包括存储介质,所述方法还包括以下步骤:
在所述元数据部分设置R个数据状态地址;
将所述加1的数据状态标识符写入所述R个数据状态地址之一。
7.如权利要求2所述的方法,还包括:
提供包括R个存储介质的信息存储阵列,其中R等于或大于2;
提供包括多个奇偶校验块的信息存储阵列,其中所述多个奇偶校验块中的一个或多个写入每个所述R个存储介质;
其中所述写入新的奇偶校验及加1的奇偶校验状态标识符的步骤还包括将所述新的奇偶校验及所述加1的奇偶校验状态标识符写入所述多个奇偶校验块的一个或多个。
8.如权利要求7所述的方法,其中所述信息存储阵列包括R个信息存储介质,所述方法还包括将所述数据及所述加1的数据状态标识符写入所述R个信息存储介质的R-1个信息存储介质的步骤。
9.如权利要求8所述的方法,还包括将所述新的奇偶校验及所述加1的奇偶校验状态标识符写入所述R个信息存储介质的剩余信息存储介质的步骤。
10.如权利要求1所述的方法,其中所述接收处理数据的命令的步骤还包括接收指定目标扇区的读取命令,所述方法还包括如果所述数据状态标识符及所述奇偶校验状态标识符相同,则提供从所述目标扇区读取信息的步骤。
11.一种数据处理装置,用于在处理数据时检验数据完整性,该数据处理装置包括:
接收处理数据的命令的装置,其中所述命令指定目标扇区,且其中所述目标扇区是所述多个扇区之一;
确定分配给所述目标扇区的数据状态标识符的装置;
确定分配给所述目标扇区的奇偶校验状态标识符的装置;
比较所述数据状态标识符和所述奇偶校验状态标识符的装置;
如果所述数据状态标识符和所述奇偶校验状态标识符相同,则在操作上执行所述命令的装置;
如果所述数据状态标识符和所述奇偶校验状态标识符不同,则在操作上生成错误信息的装置。
12.如权利要求11所述的数据处理装置,还包括:
接收将数据写入目标扇区的写入命令的装置;
接收所述数据的装置;
如果所述数据状态标识符和所述奇偶校验状态标识符相同,则还包括以下装置:
给所述目标扇区的所述数据状态标识符加1的装置,其中所述加1的数据状态标识符是N个预定的数据状态标识符之一;
计算所述目标扇区新的奇偶校验的装置;
将所述数据及所述加1的数据状态标识符写入所述目标扇区的装置;
将所述奇偶校验状态标识符加1的装置,其中所述加1的奇偶校验状态标识符是N个预定的奇偶校验状态标识符之一;
将所述新的奇偶校验及所述加1的奇偶校验状态标识符写入所述信息存储阵列的装置。
13.如权利要求12所述的数据处理装置,其中所述数据状态标识符包括2个校验位的组。
14.如权利要求12所述的数据处理装置,其中所述数据状态标识符包括多于2个的校验位的组。
15.如权利要求12所述的数据处理装置,其中所述目标扇区包括元数据部分和数据部分,所述数据处理装置还包括:
将所述数据写入所述数据部分的装置;及
将所述加1的数据状态标识符写入所述元数据部分的装置。
16.如权利要求15所述的数据处理装置,其中所述信息存储阵列包括R个存储介质,且其中元数据部分包括R个数据状态地址,所述数据处理装置还包括将所述加1的数据状态标识符写入所述R个数据状态地址之一的装置。
17.如权利要求12所述的数据处理装置,其中所述信息存储阵列包括R个存储介质及多个奇偶校验块,其中所述多个奇偶校验块的一个或多个被写入每个所述R个存储介质,所述数据处理装置还包括实现将所述新的奇偶校验及所述加1的奇偶校验状态标识符写入所述多个奇偶校验块的一个或多个的装置。
18.如权利要求12所述的数据处理装置,其中所述信息存储阵列包括R个信息存储介质,所述数据处理装置还包括将所述数据及所述加1的数据状态标识符写入所述R个信息存储介质的R-1个信息存储介质的装置。
19.如权利要求18所述的数据处理装置,还包括将所述新的奇偶校验及所述加1的奇偶校验状态标识符写入所述R个信息存储介质的剩余信息存储介质的装置。
20.如权利要求11所述的数据处理装置,还包括:
接收指定目标扇区的读取命令的装置;
如果所述数据状态标识符及所述奇偶校验状态标识符相同,则在操作上提供从所述目标扇区中读取信息的装置。
CNB2005101246777A 2004-11-23 2005-11-14 在处理数据时检验数据完整性的装置及方法 Expired - Fee Related CN100390745C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/995,873 2004-11-23
US10/995,873 US7454686B2 (en) 2004-11-23 2004-11-23 Apparatus and method to check data integrity when handling data

Publications (2)

Publication Number Publication Date
CN1779649A CN1779649A (zh) 2006-05-31
CN100390745C true CN100390745C (zh) 2008-05-28

Family

ID=36460838

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101246777A Expired - Fee Related CN100390745C (zh) 2004-11-23 2005-11-14 在处理数据时检验数据完整性的装置及方法

Country Status (2)

Country Link
US (2) US7454686B2 (zh)
CN (1) CN100390745C (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0507912D0 (en) * 2005-04-20 2005-05-25 Ibm Disk drive and method for protecting data writes in a disk drive
US8566894B2 (en) * 2006-02-10 2013-10-22 Scott W. Lewis Method and system for distribution of media
US9740552B2 (en) * 2006-02-10 2017-08-22 Percept Technologies Inc. Method and system for error correction utilized with a system for distribution of media
US20070192819A1 (en) * 2006-02-10 2007-08-16 Lewis Scott W System for distribution of media utilized with a receiver/set top box
US8451850B2 (en) * 2006-02-10 2013-05-28 Scott W. Lewis Method and system for distribution of media including a gigablock
GB0623255D0 (en) * 2006-11-22 2007-01-03 Ibm Apparatus and method for resource reclamation in data storage
US8375177B2 (en) * 2007-05-01 2013-02-12 International Business Machines Corporation Apparatus, system, and method for efficiently verifying writes
US7752489B2 (en) * 2007-05-10 2010-07-06 International Business Machines Corporation Data integrity validation in storage systems
US8751859B2 (en) * 2007-05-10 2014-06-10 International Business Machines Corporation Monitoring lost data in a storage system
JP4890613B2 (ja) * 2007-06-04 2012-03-07 富士通株式会社 パケットスイッチ装置
US7793168B2 (en) * 2007-08-23 2010-09-07 International Business Machines Corporation Detection and correction of dropped write errors in a data storage system
US7793167B2 (en) * 2007-08-23 2010-09-07 International Business Machines Corporation Detection and correction of dropped write errors in a data storage system
US7873878B2 (en) * 2007-09-24 2011-01-18 International Business Machines Corporation Data integrity validation in storage systems
US8176405B2 (en) * 2007-09-24 2012-05-08 International Business Machines Corporation Data integrity validation in a computing environment
US7908512B2 (en) * 2008-03-05 2011-03-15 International Business Machines Corporation Method and system for cache-based dropped write protection in data storage systems
US8667326B2 (en) 2011-05-23 2014-03-04 International Business Machines Corporation Dual hard disk drive system and method for dropped write detection and recovery
US9378098B2 (en) 2012-06-06 2016-06-28 Qualcomm Incorporated Methods and systems for redundant data storage in a register
US9720627B2 (en) * 2013-01-17 2017-08-01 Western Digital Technologies, Inc. Data management for a data storage device
US9229813B2 (en) * 2014-03-06 2016-01-05 HGST Netherlands B.V. Error correction with on-demand parity sectors in magnetic data storage devices
US9710320B2 (en) 2015-03-23 2017-07-18 Microsoft Technology Licensing, Llc Data processing validation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504858A (en) * 1993-06-29 1996-04-02 Digital Equipment Corporation Method and apparatus for preserving data integrity in a multiple disk raid organized storage system
US6553511B1 (en) * 2000-05-17 2003-04-22 Lsi Logic Corporation Mass storage data integrity-assuring technique utilizing sequence and revision number metadata
US6606629B1 (en) * 2000-05-17 2003-08-12 Lsi Logic Corporation Data structures containing sequence and revision number metadata used in mass storage data integrity-assuring technique

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4692893A (en) * 1984-12-24 1987-09-08 International Business Machines Corp. Buffer system using parity checking of address counter bit for detection of read/write failures
US5233618A (en) * 1990-03-02 1993-08-03 Micro Technology, Inc. Data correcting applicable to redundant arrays of independent disks
US5223618A (en) * 1990-08-13 1993-06-29 Isis Pharmaceuticals, Inc. 4'-desmethyl nucleoside analog compounds
US5369758A (en) * 1991-11-15 1994-11-29 Fujitsu Limited Checking for proper locations of storage devices in a storage array
US5878280A (en) * 1993-09-23 1999-03-02 Philips Electronics North America Corp. Data buffering system for plural data memory arrays
US5913927A (en) * 1995-12-15 1999-06-22 Mylex Corporation Method and apparatus for management of faulty data in a raid system
US6018778A (en) * 1996-05-03 2000-01-25 Netcell Corporation Disk array controller for reading/writing striped data using a single address counter for synchronously transferring data between data ports and buffer memory
US5960169A (en) * 1997-02-27 1999-09-28 International Business Machines Corporation Transformational raid for hierarchical storage management system
US6886108B2 (en) * 2001-04-30 2005-04-26 Sun Microsystems, Inc. Threshold adjustment following forced failure of storage device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504858A (en) * 1993-06-29 1996-04-02 Digital Equipment Corporation Method and apparatus for preserving data integrity in a multiple disk raid organized storage system
US6553511B1 (en) * 2000-05-17 2003-04-22 Lsi Logic Corporation Mass storage data integrity-assuring technique utilizing sequence and revision number metadata
US6606629B1 (en) * 2000-05-17 2003-08-12 Lsi Logic Corporation Data structures containing sequence and revision number metadata used in mass storage data integrity-assuring technique

Also Published As

Publication number Publication date
US20090006904A1 (en) 2009-01-01
US20060109792A1 (en) 2006-05-25
US7454686B2 (en) 2008-11-18
CN1779649A (zh) 2006-05-31

Similar Documents

Publication Publication Date Title
CN100390745C (zh) 在处理数据时检验数据完整性的装置及方法
CN101971148B (zh) 选择用于数据存储库的重复删除协议
US9448886B2 (en) Flexible data storage system
US8839028B1 (en) Managing data availability in storage systems
KR100992024B1 (ko) 부가적인 및 자율적인 보호 방법을 이용하여 저장 장치들의어레이에 데이터를 저장하는 방법 및 시스템
US6006308A (en) Removable library media system utilizing redundant data storage and error detection and correction
US7093157B2 (en) Method and system for autonomic protection against data strip loss
US6546499B1 (en) Redundant array of inexpensive platters (RAIP)
US20090210742A1 (en) Methods, systems and media for data recovery using global parity for multiple independent RAID levels
US7093069B2 (en) Integration of a RAID controller with a disk drive module
US20070294565A1 (en) Simplified parity disk generation in a redundant array of inexpensive disks
US20020091897A1 (en) Method and apparatus for supporting parity protected raid in a clustered environment
US20070159897A1 (en) Method and apparatus for preventing permanent data loss due to single failure of a fault tolerant array
US20060136778A1 (en) Process for generating and reconstructing variable number of parity for byte streams independent of host block size
CN102508733B (zh) 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器
JP2000207136A (ja) 複数ドライブ故障トレラントraidアルゴリズム
US7506200B2 (en) Apparatus and method to reconfigure a storage array disposed in a data storage system
JP2018508073A (ja) データ除去、割り当て、及び再構築
US7962690B2 (en) Apparatus and method to access data in a raid array
JP2006331076A (ja) データ記憶システム及び記憶方法
JP3736134B2 (ja) 分散記憶方法及び分散記憶システム及び分散記憶プログラムを記録した記録媒体
US7506201B2 (en) System and method of repair management for RAID arrays
CN107977285A (zh) 一种纠删码存储机制的数据修改方法、装置及介质
GB2343265A (en) Data storage array rebuild
CN102147714B (zh) 一种网络存储系统的管理方法及装置

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

Granted publication date: 20080528

Termination date: 20181114

CF01 Termination of patent right due to non-payment of annual fee