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

文档序号:6650856阅读:417来源:国知局
专利名称:在处理数据时检验数据完整性的装置及方法
技术领域
本发明涉及一种处理数据时检验数据完整性的装置及方法。更特别地,本发明涉及一种处理数据时检验数据状态及奇偶校验状态的装置及方法。在某些实施例中,本发明涉及一种写入数据时检验数据状态及奇偶校验状态的装置及方法。在某些实施例中,本发明涉及一种读取数据时检验数据状态及奇偶校验状态的装置及方法。
背景技术
信息存储和检索系统用于存储一个或多个主计算机系统提供的信息。这种信息存储和检索系统接收对一个或多个信息存储设备进行写入及读取信息的请求。该系统连续地对存储设备移入和移出信息。
数据存储设备,例如硬盘驱动器,能够“撤销写入”,即未能将数据写入存储介质的指定扇区,和/或对指定扇区执行偏移磁道的写入。随后对所述扇区的读取将接收旧的,即“失效的”数据代替最近一次写入的数据。在RAID-5编码阵列中,如果计算新的奇偶校验时随后写入使无效写入的扇区被读取的奇偶校验条纹,奇偶校验将对于先前的数据来说被恶化,因为用于更新奇偶校验的读取不获得生成奇偶校验时所用的数据,而是获得失效的数据。
为了识别这种撤销的写入/偏移磁道的写入,现有技术教导的是在每次写入之后读回数据,这种读回检验数据能够正确写入。然而,这种读回必须要求对每次写入操作进行一次附加的读取操作。现有技术还教导了对整个存储阵列奇偶校验的定期检查,这种方法不仅烦琐而且需要大量的时间。此外,当这种奇偶校验进行时,奇偶校验恶化会出现在存储介质的不同部分。
需要一种方法,识别撤销写入和/或偏移磁道写入而在每次写入时不用读回,也不用检查整个存储阵列的奇偶校验。申请人的方法通过处理数据时检验扇区的数据状态及奇偶校验状态来识别撤销写入及偏移磁道的写入。

发明内容
申请人的发明包括一种处理数据时检验数据状态和奇偶校验状态的装置及方法。该方法提供了一种信息存储阵列,其包括一个包含多个扇区的信息存储阵列。该方法定义了(N)数据状态标识符及(N)奇偶校验状态标识符。本方法接收处理数据的命令,其中所述命令指定一个目标扇区。
所述方法确定了分配到目标扇区的数据状态标识符及奇偶校验状态标识符,并对数据状态标识符和奇偶校验状态标识符进行比较。
如果所述方法确定数据状态标识符和奇偶校验状态标识符相同,则所述方法执行处理数据的命令。或者,如果该方法确定数据状态标识符和奇偶校验状态标识符不同,则该方法生成错误信息。


通过结合附图阅读以下的详细说明,本发明将得到更好的理解,附图中相同的附图标记用来指定相同的元件,其中图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包括NVS 172及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还能够执行并行的多个操作。奇偶校验的形式的冗余用于保持可靠性。通过存储奇偶校验,数据在单个存储设备故障后可以被完全恢复。
利用RAID 5协议,数据在多个存储介质间被剥离成为块。利用(R)存储介质,(R-l)数据块组在(R-l)介质中被剥离。奇偶校验块通过对这些(R-l)块进行“异或”(″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+l)个奇偶校验状态,除非(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,压缩闪存,智能介质等设备。
尽管对本发明的优选实施方式已经进行了详细的阐述,应当清楚,对于本领域技术人员来说,对所述实施例的修改和调整是可能作出的,而不背离下述权利要求中所阐述的本发明的范围。
权利要求
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)存储介质,所述方法还包括以下步骤在所述元数据部分设置(R)数据状态地址;将所述加1的数据状态标识符写入所述(R)数据状态地址之一。
7.如权利要求2所述的方法,还包括提供包括(R)存储介质的信息存储阵列,其中(R)等于或大于2;提供包括多个奇偶校验块的信息存储阵列,其中所述多个奇偶校验块中的一个或多个写入每个所述(R)存储介质;其中所述写入新的奇偶校验及加1的奇偶校验状态标识符的步骤还包括将所述新的奇偶校验及所述加1的奇偶校验状态标识符写入所述多个奇偶校验块的一个或多个。
8.如权利要求7所述的方法,其中所述信息存储阵列包括(R)信息存储介质,所述方法还包括将所述数据及所述加1的数据状态标识符写入所述(R)信息存储介质的(R-1)的步骤。
9.如权利要求8所述的方法,还包括将所述新的奇偶校验及所述加1的奇偶校验状态标识符写入所述剩余信息存储介质的步骤。
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的奇偶校验状态标识符写入剩余信息存储介质。
20.如权利要求11所述的制品,所述计算机可读程序代码还包括计算机可读程序步骤序列以实现接收指定目标扇区的读取命令;如果所述数据状态标识符及所述奇偶校验状态标识符相同,则在操作上提供从所述目标扇区中读取的信息。
21.一种可用于可编程计算机处理器的计算机程序产品,所述计算机程序产品具有体现于其中的计算机可读程序代码以利用包括(N)预定数据状态标识符、(N)预定奇偶校验状态标识符和包含多个扇区的信息存储阵列的信息存储和检索系统来在处理数据时检验数据完整性,所述计算机程序产品包括使所述可编程的计算机处理器接收处理数据的命令的计算机可读程序代码,其中所述命令指定目标扇区,且其中所述目标扇区包括所述的多个扇区之一;使所述可编程的计算机处理器确定分配到所述目标扇区的数据状态标识符的计算机可读程序代码,其中所述数据状态标识符包括所述(N)数据状态标识符之一;使所述可编程的计算机处理器确定分配到所述目标扇区的奇偶校验状态标识符的计算机可读程序代码,其中所述奇偶校验状态标识符包括所述(N)奇偶校验状态标识符之一;使所述可编程的计算机处理器将所述数据状态标识符和所述奇偶校验状态标识符进行比较的计算机可读程序代码;如果所述数据状态标识符和所述奇偶校验状态标识符相同,使所述可编程的计算机处理器执行所述命令的计算机可读程序代码;如果所述数据状态标识符和所述奇偶校验状态标识符不同,使所述可编程的计算机处理器生成错误消息的计算机可读程序代码。
22.如权利要求21所述的计算机程序产品,其中接收命令的所述计算机可读程序代码还包括使所述可编程计算机处理器接收将数据写入目标扇区的写入命令的计算机可读程序代码,所述计算机程序产品还包括使所述可编程计算机处理器接收所述数据的计算机可读程序代码;如果所述数据状态标识符和所述奇偶校验状态标识符相同,使所述可编程计算机处理器执行以下操作的计算机可读程序代码将所述目标扇区的所述数据状态标识符加1,其中所述加1的数据状态标识符包括所述(N)数据状态标识符之一;计算所述目标扇区的新的奇偶校验;将所述数据及所述加1的数据状态标识符写入所述目标扇区;将所述奇偶校验状态标识符加1,其中所述加1的奇偶校验状态标识符包括所述(N)奇偶校验状态标识符之一;将所述新的奇偶校验及所述加1的奇偶校验状态标识符写入所述信息存储阵列。
23.如权利要求21所述的计算机程序产品,其中所述目标扇区包括数据部分和元数据部分,所述计算机程序产品还包括使所述可编程计算机处理器将所述数据写入所述数据部分的计算机可读程序代码;及使所述可编程计算机处理器将所述加1的数据状态标识符写入所述元数据部分的计算机可读程序代码。
24.如权利要求23所述的计算机程序产品,还包括使所述可编程计算机处理器产生包括2个校验位的组的加1的数据状态标识符的计算机可读程序代码。
25.如权利要求23所述的计算机程序产品,还包括使所述可编程计算机处理器产生包括多于2个校验位的组的加1的数据状态标识符的计算机可读程序代码。
26.如权利要求23所述的计算机程序产品,其中所述信息存储阵列包括(R)存储介质,且其中所述元数据部分包括(R)数据状态地址,所述计算机程序产品还包括使所述可编程计算机处理器将所述加1的数据状态标识符写入所述(R)数据状态地址之一的计算机可读程序代码。
27.如权利要求22所述的计算机程序产品,其中所述信息存储阵列包括(R)信息存储介质及写入每个所述(R)信息存储介质的多个奇偶校验块,所述计算机程序产品还包括使所述可编程计算机处理器将所述新的奇偶校验及所述加1的奇偶校验状态标识符写入所述多个奇偶校验块的一个或多个的计算机可读程序代码。
28.如权利要求22所述的计算机程序产品,其中所述信息存储阵列包括(R)信息存储介质,所述计算机程序产品还包括使所述可编程计算机处理器将所述数据及所述加1的数据状态标识符写入所述(R)信息存储介质的(R-1)的计算机可读程序代码。
29.如权利要求28所述的计算机程序产品,还包括使所述可编程计算机处理器将所述新的奇偶校验及所述加1的奇偶校验状态标识符写入剩余信息存储介质的计算机可读程序代码。
30.如权利要求21所述的计算机程序产品,还包括使所述可编程计算机处理器接收指定一个目标扇区的读取命令的计算机可读程序代码;如果所述数据状态标识符和所述奇偶校验状态标识符相同,使所述可编程计算机处理器提供从所述目标扇区读取的信息的计算机可读程序代码。
全文摘要
公开了一种在处理数据时检验完整性的装置及方法。所述方法提供包括多个扇区的存储阵列。所述方法定义了(N)数据状态标识符和(N)奇偶校验状态标识符。所述方法接收处理数据的命令,其中所述命令指定目标扇区。所述方法确定分配给目标扇区的数据状态标识符,确定分配给目标扇区的奇偶校验状态标识符,并比较数据状态标识符和奇偶校验状态标识符。如果所述方法确定了数据状态标识符和奇偶校验状态标识符相同,所述方法执行处理数据的命令。或者,如果所述方法确定了数据状态标识符和奇偶校验状态标识符不同,所述方法生成错误消息。
文档编号G06F11/10GK1779649SQ20051012467
公开日2006年5月31日 申请日期2005年11月14日 优先权日2004年11月23日
发明者斯蒂文·T·布劳德本, 迈克尔·H·哈藤, 卡尔·E·琼斯, 卡尔·A·尼尔森, 杰雷米·M·宾森 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1