專利名稱:在處理數(shù)據(jù)時(shí)檢驗(yàn)數(shù)據(jù)完整性的裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種處理數(shù)據(jù)時(shí)檢驗(yàn)數(shù)據(jù)完整性的裝置及方法。更特別地,本發(fā)明涉及一種處理數(shù)據(jù)時(shí)檢驗(yàn)數(shù)據(jù)狀態(tài)及奇偶校驗(yàn)狀態(tài)的裝置及方法。在某些實(shí)施例中,本發(fā)明涉及一種寫入數(shù)據(jù)時(shí)檢驗(yàn)數(shù)據(jù)狀態(tài)及奇偶校驗(yàn)狀態(tài)的裝置及方法。在某些實(shí)施例中,本發(fā)明涉及一種讀取數(shù)據(jù)時(shí)檢驗(yàn)數(shù)據(jù)狀態(tài)及奇偶校驗(yàn)狀態(tài)的裝置及方法。
背景技術(shù):
信息存儲(chǔ)和檢索系統(tǒng)用于存儲(chǔ)一個(gè)或多個(gè)主計(jì)算機(jī)系統(tǒng)提供的信息。這種信息存儲(chǔ)和檢索系統(tǒng)接收對(duì)一個(gè)或多個(gè)信息存儲(chǔ)設(shè)備進(jìn)行寫入及讀取信息的請(qǐng)求。該系統(tǒng)連續(xù)地對(duì)存儲(chǔ)設(shè)備移入和移出信息。
數(shù)據(jù)存儲(chǔ)設(shè)備,例如硬盤驅(qū)動(dòng)器,能夠“撤銷寫入”,即未能將數(shù)據(jù)寫入存儲(chǔ)介質(zhì)的指定扇區(qū),和/或?qū)χ付ㄉ葏^(qū)執(zhí)行偏移磁道的寫入。隨后對(duì)所述扇區(qū)的讀取將接收舊的,即“失效的”數(shù)據(jù)代替最近一次寫入的數(shù)據(jù)。在RAID-5編碼陣列中,如果計(jì)算新的奇偶校驗(yàn)時(shí)隨后寫入使無(wú)效寫入的扇區(qū)被讀取的奇偶校驗(yàn)條紋,奇偶校驗(yàn)將對(duì)于先前的數(shù)據(jù)來(lái)說(shuō)被惡化,因?yàn)橛糜诟缕媾夹r?yàn)的讀取不獲得生成奇偶校驗(yàn)時(shí)所用的數(shù)據(jù),而是獲得失效的數(shù)據(jù)。
為了識(shí)別這種撤銷的寫入/偏移磁道的寫入,現(xiàn)有技術(shù)教導(dǎo)的是在每次寫入之后讀回?cái)?shù)據(jù),這種讀回檢驗(yàn)數(shù)據(jù)能夠正確寫入。然而,這種讀回必須要求對(duì)每次寫入操作進(jìn)行一次附加的讀取操作?,F(xiàn)有技術(shù)還教導(dǎo)了對(duì)整個(gè)存儲(chǔ)陣列奇偶校驗(yàn)的定期檢查,這種方法不僅煩瑣而且需要大量的時(shí)間。此外,當(dāng)這種奇偶校驗(yàn)進(jìn)行時(shí),奇偶校驗(yàn)惡化會(huì)出現(xiàn)在存儲(chǔ)介質(zhì)的不同部分。
需要一種方法,識(shí)別撤銷寫入和/或偏移磁道寫入而在每次寫入時(shí)不用讀回,也不用檢查整個(gè)存儲(chǔ)陣列的奇偶校驗(yàn)。申請(qǐng)人的方法通過(guò)處理數(shù)據(jù)時(shí)檢驗(yàn)扇區(qū)的數(shù)據(jù)狀態(tài)及奇偶校驗(yàn)狀態(tài)來(lái)識(shí)別撤銷寫入及偏移磁道的寫入。
發(fā)明內(nèi)容
申請(qǐng)人的發(fā)明包括一種處理數(shù)據(jù)時(shí)檢驗(yàn)數(shù)據(jù)狀態(tài)和奇偶校驗(yàn)狀態(tài)的裝置及方法。該方法提供了一種信息存儲(chǔ)陣列,其包括一個(gè)包含多個(gè)扇區(qū)的信息存儲(chǔ)陣列。該方法定義了(N)數(shù)據(jù)狀態(tài)標(biāo)識(shí)符及(N)奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符。本方法接收處理數(shù)據(jù)的命令,其中所述命令指定一個(gè)目標(biāo)扇區(qū)。
所述方法確定了分配到目標(biāo)扇區(qū)的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符及奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符,并對(duì)數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符進(jìn)行比較。
如果所述方法確定數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符相同,則所述方法執(zhí)行處理數(shù)據(jù)的命令?;蛘撸绻摲椒ù_定數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符不同,則該方法生成錯(cuò)誤信息。
通過(guò)結(jié)合附圖閱讀以下的詳細(xì)說(shuō)明,本發(fā)明將得到更好的理解,附圖中相同的附圖標(biāo)記用來(lái)指定相同的元件,其中圖1是申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)的一個(gè)實(shí)施例的框圖;圖2是表示四個(gè)數(shù)據(jù)狀態(tài)/奇偶校驗(yàn)狀態(tài)的框圖;圖3A是表示包括數(shù)據(jù)部分及元數(shù)據(jù)部分的數(shù)據(jù)扇區(qū)的框圖;圖3B是圖3A中包括多個(gè)數(shù)據(jù)狀態(tài)地址的元數(shù)據(jù)部分的框圖;圖4A是表示保持在第一個(gè)狀態(tài)地址用于寫入第一個(gè)存儲(chǔ)介質(zhì)的信息的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符的框圖;圖4B是表示保持在第二個(gè)狀態(tài)地址用于寫入第二個(gè)存儲(chǔ)介質(zhì)的信息的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符的框圖;圖4C是表示保持在第三個(gè)狀態(tài)地址用于寫入第三個(gè)存儲(chǔ)介質(zhì)的信息的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符的框圖;
圖4D是表示寫入第一個(gè)存儲(chǔ)介質(zhì)的保持在第(m)個(gè)扇區(qū)上的第一個(gè)狀態(tài)地址的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符及寫入第三個(gè)存儲(chǔ)介質(zhì)的保持在第(m)個(gè)扇區(qū)上的第一個(gè)狀態(tài)地址的相應(yīng)奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符的框圖;圖4E是表示寫入第二個(gè)存儲(chǔ)介質(zhì)的保持在第(m)個(gè)扇區(qū)上的第二個(gè)狀態(tài)地址的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符及寫入第三個(gè)存儲(chǔ)介質(zhì)的保持在第(m)個(gè)扇區(qū)上的第二個(gè)狀態(tài)地址的相應(yīng)奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符的框圖;圖4F是表示寫入第三個(gè)存儲(chǔ)介質(zhì)的保持在第(m)個(gè)扇區(qū)上的第三個(gè)狀態(tài)地址的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符及寫入第一個(gè)存儲(chǔ)介質(zhì)的保持在第(m)個(gè)扇區(qū)上的第三個(gè)狀態(tài)地址的相應(yīng)奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符的框圖;圖5是概括申請(qǐng)人的寫入數(shù)據(jù)方法的步驟的流程圖;圖6描述了對(duì)圖5中所述方法進(jìn)行編碼的算法;及圖7是概括申請(qǐng)人的讀取數(shù)據(jù)方法的步驟的流程圖。
具體實(shí)施例方式
參照附圖,同樣的數(shù)字對(duì)應(yīng)附圖中描述的同樣的元件。本發(fā)明將被實(shí)施為一個(gè)包括兩個(gè)或多個(gè)群集器的數(shù)據(jù)存儲(chǔ)和檢索系統(tǒng),其中每個(gè)所述群集器包括一個(gè)或多個(gè)處理器、一個(gè)或多個(gè)數(shù)據(jù)高速緩存及一個(gè)或多個(gè)非易失性存儲(chǔ)裝置。但是,下述申請(qǐng)人的在寫入數(shù)據(jù)時(shí)分配數(shù)據(jù)狀態(tài)及奇偶校驗(yàn)狀態(tài)的方法的描述不意味著將申請(qǐng)人的發(fā)明限于一般的數(shù)據(jù)處理系統(tǒng)或限于包括多個(gè)群集器的數(shù)據(jù)處理系統(tǒng),因?yàn)檫@里的本發(fā)明可以一般地適用于將數(shù)據(jù)寫入多個(gè)存儲(chǔ)介質(zhì)。
圖1所示的實(shí)施例中,申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)100包括第一個(gè)群集器101A和第二個(gè)群集器101B,每個(gè)群集器分別包括處理器部分130/140及輸入/輸出部分160/170,每個(gè)群集器的內(nèi)部PCI總線分別通過(guò)處理器部分130/140和設(shè)備I/O部分160/170之間的遠(yuǎn)程I/O橋接器155/165連接。
圖1所示的實(shí)施例中,系統(tǒng)100通過(guò)通信鏈路127能夠同主計(jì)算機(jī)125進(jìn)行通信。在某些實(shí)施例中,通信鏈路127從串行互連路中被選擇出來(lái),串行互連例如RS-232或RS-422、以太網(wǎng)互連、SCSI互連、光纖信道互連、ESCON互連、FICON互連、局域網(wǎng)(LAN)、專用廣域網(wǎng)(WAN)、公用廣域網(wǎng)、存儲(chǔ)區(qū)域網(wǎng)(SAN)、傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)、互聯(lián)網(wǎng)及其結(jié)合。
信息存儲(chǔ)和檢索系統(tǒng)100還包括設(shè)置在四個(gè)主機(jī)架101、106、111及116中的多個(gè)主適配器102-105、107-110、112-115及117-120。每個(gè)主適配器可以包括一個(gè)或多個(gè)光纖信道端口、一個(gè)或多個(gè)FICON端口、一個(gè)或多個(gè)ESCON端口或者一個(gè)或多個(gè)SCSI端口。每個(gè)主適配器與兩個(gè)群集器通過(guò)一個(gè)或多個(gè)通用平臺(tái)互連總線121連接,使每個(gè)群集器能夠處理任一主適配器的I/O。
處理器部分130包括處理器132及高速緩存134。在某些實(shí)施例中,處理器部分130還包括存儲(chǔ)器133。在某些實(shí)施例中,存儲(chǔ)設(shè)備133包括隨機(jī)存取存儲(chǔ)器。在某些實(shí)施例中,存儲(chǔ)設(shè)備133包括非易失性存儲(chǔ)器。
處理器部分140包括處理器142及高速緩存144。在某些實(shí)施例中,處理器部分140還包括存儲(chǔ)器143。在某些實(shí)施例中,存儲(chǔ)設(shè)備143包括隨機(jī)存取存儲(chǔ)器。在某些實(shí)施例中,存儲(chǔ)設(shè)備143包括非易失性存儲(chǔ)器。
I/O部分160包括非易失性存儲(chǔ)器(″NVS″)162及NVS電池164。I/O部分170包括NVS 172及NVS電池174。
I/O部分160還包括多個(gè)設(shè)備適配器,例如設(shè)備適配器165、166、167和168,及組成為兩個(gè)陣列的信息存儲(chǔ)介質(zhì),即陣列″A″和陣列″B″。圖1所示的實(shí)施例描述了兩個(gè)信息存儲(chǔ)陣列。在其他實(shí)施例中,申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)包括多于兩個(gè)的信息存儲(chǔ)陣列。每個(gè)這種信息存儲(chǔ)陣列在主計(jì)算機(jī)看來(lái)就象一個(gè)或多個(gè)邏輯設(shè)備。
在某些實(shí)施例中,申請(qǐng)人的信息存儲(chǔ)介質(zhì)包括磁性介質(zhì),例如設(shè)置在單獨(dú)的硬盤驅(qū)動(dòng)器單元中的硬盤。在某些實(shí)施例中,申請(qǐng)人的信息存儲(chǔ)介質(zhì)包括光學(xué)介質(zhì),例如CD、DVD等。在某些實(shí)施例中,申請(qǐng)人的信息存儲(chǔ)介質(zhì)包括電子存儲(chǔ)介質(zhì),例如PROM、EPROM、EEPROM、閃速PROM、壓縮閃存、智能介質(zhì)等。
在某些實(shí)施例中,陣列“A”和“B”利用RAID協(xié)議。在某些實(shí)施例中,陣列“A”和“B”包括有時(shí)被稱為JBOD陣列的陣列,即“單束盤(Just a Bunch of Disk)”,其中的陣列不依照RAID配置。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,RAID(獨(dú)立盤冗余陣列)隊(duì)列包括獨(dú)立信息存儲(chǔ)介質(zhì),其以陣列配置以獲得超過(guò)單個(gè)大型存儲(chǔ)介質(zhì)的性能、容量及可靠性。
在某些實(shí)施例中,陣列“A”包括硬磁盤驅(qū)動(dòng)器181、182、183、191、192、193及194,陣列“B”包括硬磁盤驅(qū)動(dòng)器185、186、187、188、196、197及198。
申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng),例如系統(tǒng)100(圖1),從一個(gè)或多個(gè)主計(jì)算機(jī)中接收新數(shù)據(jù),所述主計(jì)算機(jī)例如主計(jì)算機(jī)125,并將新數(shù)據(jù)寫入一個(gè)或多個(gè)信息存儲(chǔ)陣列,例如信息存儲(chǔ)陣列180(圖1)。圖1所示的實(shí)施例表示了與一個(gè)主計(jì)算機(jī)互連的系統(tǒng)100。在其他實(shí)施例中,申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)能夠和多個(gè)主計(jì)算機(jī)進(jìn)行通信。
申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)接收新數(shù)據(jù),并將新數(shù)據(jù)寫入一個(gè)或多個(gè)信息存儲(chǔ)介質(zhì)的一個(gè)或多個(gè)指定扇區(qū)。其中新數(shù)據(jù)可能沒(méi)能被編碼到存儲(chǔ)介質(zhì)的多個(gè)故障模式存在。例如,數(shù)據(jù)存儲(chǔ)設(shè)備有時(shí)不能正確地將數(shù)據(jù)寫入信息存儲(chǔ)介質(zhì)。另外,數(shù)據(jù)存儲(chǔ)設(shè)備有時(shí)對(duì)扇區(qū)執(zhí)行偏離磁道的寫入。不管故障模式如何,隨后讀取新數(shù)據(jù)的嘗試代替地返回舊的數(shù)據(jù)。利用RAIDS協(xié)議,如果一次扇區(qū)寫入失敗,隨后在計(jì)算新的奇偶校驗(yàn)時(shí)寫入使得被無(wú)效寫入的扇區(qū)被讀取的奇偶校驗(yàn)條紋,所述奇偶校驗(yàn)將對(duì)于先前的數(shù)據(jù)來(lái)說(shuō)惡化,因?yàn)橛糜诟滤銎媾夹r?yàn)的讀取將獲得失效的數(shù)據(jù)而不是當(dāng)生成奇偶校驗(yàn)時(shí)使用的數(shù)據(jù)。
在某些實(shí)施例中,申請(qǐng)人的方法利用RAID 5協(xié)議將信息寫入指定的扇區(qū)。RAID(獨(dú)立盤的冗余陣列)結(jié)合兩個(gè)協(xié)議并行度和冗余度。RAID用多個(gè)并行的信息存儲(chǔ)介質(zhì)提供比單個(gè)存儲(chǔ)介質(zhì)高得多的帶寬。RAID還能夠執(zhí)行并行的多個(gè)操作。奇偶校驗(yàn)的形式的冗余用于保持可靠性。通過(guò)存儲(chǔ)奇偶校驗(yàn),數(shù)據(jù)在單個(gè)存儲(chǔ)設(shè)備故障后可以被完全恢復(fù)。
利用RAID 5協(xié)議,數(shù)據(jù)在多個(gè)存儲(chǔ)介質(zhì)間被剝離成為塊。利用(R)存儲(chǔ)介質(zhì),(R-l)數(shù)據(jù)塊組在(R-l)介質(zhì)中被剝離。奇偶校驗(yàn)塊通過(guò)對(duì)這些(R-l)塊進(jìn)行“異或”(″XOR″)被計(jì)算,且奇偶校驗(yàn)塊被存儲(chǔ)在剩余存儲(chǔ)介質(zhì)中。奇偶校驗(yàn)被分布是指連續(xù)的奇偶校驗(yàn)塊被存儲(chǔ)在不同的存儲(chǔ)介質(zhì)以避免專用的奇偶校驗(yàn)介質(zhì)的瓶頸。每個(gè)單獨(dú)的塊稱為條紋單元,(R-1)數(shù)據(jù)塊和奇偶校驗(yàn)塊的集合稱為奇偶校驗(yàn)條紋。
為獲得峰值效率,應(yīng)該立刻寫入完整的奇偶校驗(yàn)條紋。這種情況下,能夠并行地寫出數(shù)據(jù)和奇偶校驗(yàn)。如果僅部分奇偶校驗(yàn)條紋被修改,奇偶校驗(yàn)必須根據(jù)已經(jīng)在盤上的數(shù)據(jù)被重算。舊的數(shù)據(jù)和奇偶校驗(yàn)必須被讀取,然后新的數(shù)據(jù)和重算的奇偶校驗(yàn)被寫入。
申請(qǐng)人的一個(gè)或多個(gè)存儲(chǔ)陣列中的每個(gè)信息存儲(chǔ)介質(zhì)包括多個(gè)扇區(qū),例如扇區(qū)300(圖3A),其中每個(gè)所述扇區(qū)包括包含約512字節(jié)的信息部分340及包含約12字節(jié)的元數(shù)據(jù)部分350。
在包括(R)存儲(chǔ)介質(zhì)的存儲(chǔ)系統(tǒng)中,申請(qǐng)人的方法保持了用于寫入扇區(qū)300的數(shù)據(jù)的(R)狀態(tài)地址,其中(R)大于或等于2。數(shù)據(jù)狀態(tài)標(biāo)識(shí)符保持在其中一個(gè)所述(R)狀態(tài)地址中。
一般地說(shuō),申請(qǐng)人的方法將數(shù)據(jù)及相應(yīng)數(shù)據(jù)狀態(tài)標(biāo)識(shí)符寫入同一扇區(qū)。在扇區(qū)300寫入第(i)個(gè)存儲(chǔ)介質(zhì)的情況下,然后申請(qǐng)人的方法利用第(i)個(gè)狀態(tài)地址存儲(chǔ)用于寫入扇區(qū)300的數(shù)據(jù)的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符。
舉例來(lái)說(shuō)并參照?qǐng)D4A,在所示的實(shí)施例中,申請(qǐng)人的存儲(chǔ)系統(tǒng)包括三個(gè)存儲(chǔ)介質(zhì),即存儲(chǔ)介質(zhì)410、420及430。在圖4A所示的實(shí)施例中,扇區(qū)300寫入第一個(gè)存儲(chǔ)介質(zhì)410,因此,申請(qǐng)人的方法利用第一個(gè)狀態(tài)地址,即狀態(tài)地址310,為扇區(qū)300中的數(shù)據(jù)保持了數(shù)據(jù)狀態(tài)標(biāo)識(shí)符。在該圖中所示的實(shí)施例中,該數(shù)據(jù)狀態(tài)標(biāo)識(shí)符為″01″。
在圖4B所示的實(shí)施例中,扇區(qū)300寫入第二個(gè)存儲(chǔ)介質(zhì)420,因此,申請(qǐng)人的方法利用第二個(gè)狀態(tài)地址,即狀態(tài)地址320,為扇區(qū)300中的數(shù)據(jù)保持了數(shù)據(jù)狀態(tài)標(biāo)識(shí)符。在該圖中所示的實(shí)施例中,該數(shù)據(jù)狀態(tài)標(biāo)識(shí)符為“00”。
在圖4C所示的實(shí)施例中,扇區(qū)300寫入第三個(gè)存儲(chǔ)介質(zhì)430,因此,申請(qǐng)人的方法利用第三個(gè)狀態(tài)地址,即狀態(tài)地址330,為扇區(qū)300中的數(shù)據(jù)保持了數(shù)據(jù)狀態(tài)標(biāo)識(shí)符。在該圖中所示的實(shí)施例中,該數(shù)據(jù)狀態(tài)標(biāo)識(shí)符為“02”。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,信息存儲(chǔ)介質(zhì)可以包括的扇區(qū)有數(shù)千個(gè)或更多。利用申請(qǐng)人的方法,通過(guò)檢查寫入設(shè)置在所述扇區(qū)元數(shù)據(jù)部分中的一個(gè)狀態(tài)地址的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符,可確定所述任一扇區(qū)的數(shù)據(jù)狀態(tài)。
參照?qǐng)D2,在某些實(shí)施例中,申請(qǐng)人的方法定義了四種不同的數(shù)據(jù)狀態(tài),即狀態(tài)0、狀態(tài)1、狀態(tài)2及狀態(tài)3。在圖2所示的實(shí)施例中,狀態(tài)0分配為標(biāo)識(shí)符″00″,狀態(tài)1分配為標(biāo)識(shí)符″01″,狀態(tài)2分配為標(biāo)識(shí)符″10″,狀態(tài)3分配為標(biāo)識(shí)符″11″。
申請(qǐng)人的方法為每個(gè)信息扇區(qū)保持了相應(yīng)的奇偶校驗(yàn)扇區(qū)。一般來(lái)說(shuō),如果申請(qǐng)人的方法將信息寫入第(i)個(gè)存儲(chǔ)介質(zhì)的第(m)個(gè)扇區(qū),那么申請(qǐng)人的方法為第(i)個(gè)存儲(chǔ)介質(zhì)的第(m)個(gè)扇區(qū)的第(i)個(gè)狀態(tài)地址部分的該信息保持了數(shù)據(jù)狀態(tài)標(biāo)識(shí)符,也為第(j)個(gè)存儲(chǔ)介質(zhì)的第(m)個(gè)扇區(qū)的第(i)個(gè)狀態(tài)地址部分的信息保持了奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符,其中(i)和(j)不同。更一般地說(shuō),如果奇偶校驗(yàn)扇區(qū)寫入第(j)個(gè)存儲(chǔ)介質(zhì)的第(m)個(gè)扇區(qū),那么第(j)個(gè)存儲(chǔ)介質(zhì)的所述第(m)個(gè)扇區(qū)的第(j)個(gè)狀態(tài)地址部分將不被利用。
例如在圖4D所示的實(shí)施例中,信息已寫入扇區(qū)300,即第(i)個(gè)存儲(chǔ)介質(zhì)410的″第(m)個(gè)″扇區(qū),其中(i)為1。在這種情況下,申請(qǐng)人的方法在第(i)個(gè)存儲(chǔ)介質(zhì)的所述第(m)個(gè)扇區(qū)的第(i)個(gè)狀態(tài)地址部分310保持了數(shù)據(jù)狀態(tài)標(biāo)識(shí)符。在圖4D所示的實(shí)施例中,所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符為″01″。申請(qǐng)人的方法在第(j)個(gè)存儲(chǔ)介質(zhì)上保持了相應(yīng)的第(m)個(gè)奇偶校驗(yàn)扇區(qū)。在圖4D所示的實(shí)施例中,(j)為3,即奇偶校驗(yàn)扇區(qū)300寫入第三個(gè)存儲(chǔ)介質(zhì)430。申請(qǐng)人的方法此外還將奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符保持在第(i)個(gè)狀態(tài)地址部分中,即第三個(gè)存儲(chǔ)介質(zhì)的奇偶校驗(yàn)扇區(qū)300的狀態(tài)地址310部分。在圖4D所示的實(shí)施例中,所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符為″01″。因此在圖4D所示的實(shí)施例中,數(shù)據(jù)狀態(tài)標(biāo)識(shí)符及奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符對(duì)于寫入存儲(chǔ)介質(zhì)410的扇區(qū)300的信息而言相同。
在圖4E所示的實(shí)施例中,信息已寫入扇區(qū)300,即第(i)個(gè)存儲(chǔ)介質(zhì)420的″第(m)個(gè)″扇區(qū),其中(i)為2。在這種情況下,申請(qǐng)人的方法將數(shù)據(jù)狀態(tài)標(biāo)識(shí)符保持在第(i)個(gè)存儲(chǔ)介質(zhì)的第(m)個(gè)扇區(qū)的第(i)個(gè)狀態(tài)地址部分320。在圖4E所示的實(shí)施例中,所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符為“00”。申請(qǐng)人的方法將相應(yīng)的第(m)個(gè)奇偶校驗(yàn)扇區(qū)保持在第(j)個(gè)存儲(chǔ)介質(zhì)上。在圖4E所示的實(shí)施例中,(j)為3,即奇偶校驗(yàn)扇區(qū)300寫入第三個(gè)存儲(chǔ)介質(zhì)430。申請(qǐng)人的方法此外還將奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符保持在第(i)個(gè)狀態(tài)地址部分,即第三個(gè)存儲(chǔ)介質(zhì)的扇區(qū)300的狀態(tài)地址320部分。在圖4E所示的實(shí)施例中,所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符為″00″。因此在圖4E所示的實(shí)施例中,數(shù)據(jù)狀態(tài)標(biāo)識(shí)符及奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符相對(duì)于寫入存儲(chǔ)介質(zhì)410的扇區(qū)300的信息而言相同。
在圖4F所示的實(shí)施例中,信息已寫入扇區(qū)300,即第(i)個(gè)存儲(chǔ)介質(zhì)430的”第(m)個(gè)″扇區(qū),其中(i)為3。在這種情況下,申請(qǐng)人的方法將數(shù)據(jù)狀態(tài)標(biāo)識(shí)符保持在第(i)個(gè)存儲(chǔ)介質(zhì)的第(m)個(gè)扇區(qū)的第(i)個(gè)狀態(tài)地址部分330。在圖4F所示的實(shí)施例中,所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符為“02”。申請(qǐng)人的方法將相應(yīng)的第(m)個(gè)奇偶校驗(yàn)扇區(qū)保持在第(j)個(gè)存儲(chǔ)介質(zhì)上。在圖4F所示的實(shí)施例中,(j)為1,即奇偶校驗(yàn)扇區(qū)300寫入第一個(gè)存儲(chǔ)介質(zhì)410。申請(qǐng)人的方法此外還將奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符保持在第(i)個(gè)狀態(tài)地址部分,即第一個(gè)存儲(chǔ)介質(zhì)的扇區(qū)300的狀態(tài)地址330部分。在圖4F所示的實(shí)施例中,所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符為″00″。因此在圖4F所示的實(shí)施例中,數(shù)據(jù)狀態(tài)標(biāo)識(shí)符及奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符不同表明出現(xiàn)了撤銷的寫入。
再參照?qǐng)D2,在某些實(shí)施例中,申請(qǐng)人的方法定義了四種不同的奇偶校驗(yàn)狀態(tài),即狀態(tài)0、狀態(tài)1、狀態(tài)2及狀態(tài)3。在圖2所示的實(shí)施例中,狀態(tài)0分配為標(biāo)識(shí)符″00″,狀態(tài)1分配為標(biāo)識(shí)符″01″,狀態(tài)2分配為標(biāo)識(shí)符″10″,狀態(tài)3分配為標(biāo)識(shí)符″11″。
利用申請(qǐng)人的方法,每次數(shù)據(jù)寫入扇區(qū)300時(shí),扇區(qū)300的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符及奇偶校驗(yàn)標(biāo)識(shí)符加1。一般地說(shuō),申請(qǐng)人的方法包括定義(N)狀態(tài)。扇區(qū)300的第(i)個(gè)數(shù)據(jù)狀態(tài)/奇偶校驗(yàn)狀態(tài)加1包括給扇區(qū)300分配第(i+1)個(gè)數(shù)據(jù)狀態(tài)及第(i+l)個(gè)奇偶校驗(yàn)狀態(tài),除非(i)等于(N-1)。如果(i)等于(N-1),則第(i)個(gè)數(shù)據(jù)狀態(tài)/奇偶校驗(yàn)狀態(tài)加1意味著設(shè)置(i)值等于0。例如其中(N)為4,狀態(tài)0加1到狀態(tài)1,狀態(tài)1加1到狀態(tài)2,狀態(tài)2加1到狀態(tài)3,狀態(tài)3加1到狀態(tài)0。
申請(qǐng)人的發(fā)明包括一種處理數(shù)據(jù)時(shí)檢驗(yàn)數(shù)據(jù)完整性的方法。附圖5概括了所述方法的實(shí)施例的寫數(shù)據(jù)步驟。現(xiàn)參照附圖5,在步驟510中,申請(qǐng)人的方法定義了(N)第一數(shù)據(jù)及奇偶校驗(yàn)狀態(tài)和(M)第二數(shù)據(jù)及奇偶校驗(yàn)狀態(tài)。(N)第一狀態(tài)用在執(zhí)行小于完整陣列寬度寫入的時(shí)候。(M)第二狀態(tài)用在執(zhí)行完整陣列寬度寫入的時(shí)候。
在某些實(shí)施例中,步驟510包括定義4種第一狀態(tài)。在某些實(shí)施例中,所述4種第一狀態(tài)相應(yīng)于狀態(tài)210(圖2)、230(圖2)、250(圖2)及270(圖2),其中所述4種第一狀態(tài)分別分配標(biāo)識(shí)符220、240、260及280。在某些實(shí)施例中,申請(qǐng)人的方法定義超過(guò)4種狀態(tài)。在另一些實(shí)施例中,申請(qǐng)人的方法定義2種狀態(tài)。在另一些實(shí)施例中,申請(qǐng)人的方法定義3種狀態(tài)。
在某些實(shí)施例中,步驟510的(N)第一狀態(tài)由信息存儲(chǔ)和檢索系統(tǒng)的生產(chǎn)商定義,所述系統(tǒng)例如系統(tǒng)100(圖1)。在其它實(shí)施例中,步驟510的(N)第一狀態(tài)由信息存儲(chǔ)和檢索系統(tǒng)的擁有者和/或操作員定義。在另一些實(shí)施例中,步驟510的(N)第一狀態(tài)由主計(jì)算機(jī)定義,所述主計(jì)算機(jī)例如主計(jì)算機(jī)125(圖1)。
在步驟520中,申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)接收數(shù)據(jù)和寫入將該數(shù)據(jù)寫入目標(biāo)扇區(qū)的命令,所述目標(biāo)扇區(qū)即指定的邏輯塊地址。在某些實(shí)施例中,步驟520通過(guò)設(shè)置在申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)中的處理器執(zhí)行,例如處理器132(圖1)。
在步驟530中,申請(qǐng)人的方法確定了步驟520的寫入命令是否包括完整陣列寬度的寫入,即完整奇偶校驗(yàn)條紋。在某些實(shí)施例中,步驟530通過(guò)設(shè)置在申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)中的處理器執(zhí)行,例如處理器132(圖1)。如果申請(qǐng)人的方法在步驟530中確定了步驟520的寫入命令包括完整陣列寬度的寫入,那么該方法從步驟530轉(zhuǎn)換到步驟532,其中所述方法隨機(jī)地分配(M)第二狀態(tài)中的一種狀態(tài)既作為數(shù)據(jù)狀態(tài)標(biāo)識(shí)符又作為奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符。在某些實(shí)施例中,步驟532通過(guò)設(shè)置在申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)中的處理器執(zhí)行,例如處理器132(圖1)。
申請(qǐng)人的方法從步驟532轉(zhuǎn)換到步驟534,其中,所述方法寫入步驟520中接收的數(shù)據(jù),且將步驟532中分配的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符寫入指定的信息存儲(chǔ)陣列。在某些實(shí)施例中,步驟534通過(guò)設(shè)置在申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)中的處理器執(zhí)行,例如處理器132(圖1)。
在步驟536中,申請(qǐng)人的方法將步驟532中指定的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符寫入設(shè)置在申請(qǐng)人的信息存儲(chǔ)陣列中的相應(yīng)的奇偶校驗(yàn)塊。在某些實(shí)施例中,步驟536通過(guò)設(shè)置在申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)中的處理器執(zhí)行,例如處理器132(圖1)。
如果申請(qǐng)人的方法在步驟530中確定了步驟520的寫入命令不包括完整陣列寬度的寫入,那么所述方法從步驟530轉(zhuǎn)換到步驟540,其中,所述方法讀取每個(gè)目標(biāo)扇區(qū)最后分配的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符。這里參考的寫入“目標(biāo)扇區(qū)”或“該目標(biāo)扇區(qū)”包括寫入多于一個(gè)的目標(biāo)扇區(qū),其中寫操作包括小于一個(gè)完整跨距的寫入。在某些實(shí)施例中,步驟540通過(guò)設(shè)置在申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)中的處理器執(zhí)行,例如處理器132(圖1)。
申請(qǐng)人的方法從步驟540轉(zhuǎn)換到步驟550,其中,所述方法讀取每個(gè)目標(biāo)扇區(qū)最后分配的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符。在某些實(shí)施例中,步驟550通過(guò)設(shè)置在申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)中的處理器執(zhí)行,例如處理器132(圖1)。
申請(qǐng)人的方法從步驟550轉(zhuǎn)換到步驟560,其中,所述方法將在步驟540中讀取的用于每個(gè)目標(biāo)扇區(qū)的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符同在步驟550中讀取的用于每個(gè)目標(biāo)扇區(qū)的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符進(jìn)行比較。在某些實(shí)施例中,步驟560通過(guò)設(shè)置在申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)中的處理器執(zhí)行,例如處理器132(圖1)。
如果申請(qǐng)人的方法在步驟560中確定了任一目標(biāo)扇區(qū)的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符不同,那么檢測(cè)到撤銷的寫入。例如,在圖4F所示的實(shí)施例中,數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符不同。如果數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符不同,那么申請(qǐng)人的方法從步驟560轉(zhuǎn)換到步驟565,其中,所述方法生成錯(cuò)誤記錄。在某些實(shí)施例中,步驟565通過(guò)設(shè)置在申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)中的處理器執(zhí)行,例如處理器132(圖1)。
或者,如果申請(qǐng)人的方法在步驟560中確定了每個(gè)目標(biāo)扇區(qū)的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符相同,那么申請(qǐng)人的方法轉(zhuǎn)換從步驟560轉(zhuǎn)換到步驟570。例如,在圖4D所示的實(shí)施例中,數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符相同。
在步驟570中,申請(qǐng)人的方法將每個(gè)目標(biāo)扇區(qū)的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符加1,并保存加1的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符。在某些實(shí)施例中,步驟570通過(guò)設(shè)置在申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)中的處理器執(zhí)行,例如處理器132(圖1)。
在步驟580中,申請(qǐng)人的方法計(jì)算每個(gè)目標(biāo)扇區(qū)的新的奇偶校驗(yàn),并將每個(gè)目標(biāo)扇區(qū)的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符加1。在某些實(shí)施例中,步驟580通過(guò)設(shè)置在申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)中的處理器執(zhí)行,例如處理器132(圖1)。
在步驟590中,申請(qǐng)人的方法將步驟520中接收的數(shù)據(jù)寫入目標(biāo)扇區(qū)的數(shù)據(jù)部分,且將每個(gè)目標(biāo)扇區(qū)的加1的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符寫入目標(biāo)扇區(qū)的元數(shù)據(jù)部分。在某些實(shí)施例中,步驟590通過(guò)設(shè)置在申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)中的處理器執(zhí)行,例如處理器132(圖1)。
在步驟595中,申請(qǐng)人的方法將每個(gè)目標(biāo)扇區(qū)的新的奇偶校驗(yàn)及每個(gè)目標(biāo)扇區(qū)的加1的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符寫入每個(gè)目標(biāo)扇區(qū)的奇偶校驗(yàn)塊。在某些實(shí)施例中,步驟595通過(guò)設(shè)置在申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)中的處理器執(zhí)行,例如處理器132(圖1)。
現(xiàn)在參照附圖5和附圖6,在某些實(shí)施例中,申請(qǐng)人的方法利用算法600編碼。步驟610包括步驟540的元素。步驟620包括步驟550的元素。步驟630包括步驟560的元素。步驟640及650包括步驟570的元素。步驟660包括步驟580的元素。步驟670包括步驟590的元素。步驟680包括步驟595的元素。
申請(qǐng)人的方法還包括讀取數(shù)據(jù)的實(shí)施例?,F(xiàn)在參照附圖7,在步驟710中,申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)接收從目標(biāo)扇區(qū)中讀取數(shù)據(jù)的讀取命令,所述目標(biāo)扇區(qū)即指定的邏輯塊地址。這里參考的讀取“目標(biāo)扇區(qū)”或“該目標(biāo)扇區(qū)”包括讀取多于一個(gè)的目標(biāo)扇區(qū)。在某些實(shí)施例中,步驟710通過(guò)設(shè)置在申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)中的處理器執(zhí)行,例如處理器132(圖1)。
在步驟720中,申請(qǐng)人的方法讀取每個(gè)目標(biāo)扇區(qū)最后分配的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符。在某些實(shí)施例中,步驟720通過(guò)設(shè)置在申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)中的處理器執(zhí)行,例如處理器132(圖1)。
申請(qǐng)人的方法從步驟720轉(zhuǎn)換到步驟730,其中,所述方法讀取每個(gè)目標(biāo)扇區(qū)最后賦值的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符。在某些實(shí)施例中,步驟730通過(guò)設(shè)置在申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)中的處理器執(zhí)行,例如處理器132(圖1)。
申請(qǐng)人的方法從步驟730轉(zhuǎn)換到步驟740,其中,所述方法將每個(gè)目標(biāo)扇區(qū)的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和每個(gè)目標(biāo)扇區(qū)的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符進(jìn)行比較。在某些實(shí)施例中,步驟740通過(guò)設(shè)置在申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)中的處理器執(zhí)行,例如處理器132(圖1)。
如果申請(qǐng)人的方法在步驟740中確定了任一目標(biāo)扇區(qū)的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符不同,則檢測(cè)到撤銷的寫入。如果任一目標(biāo)扇區(qū)的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符不同,那么申請(qǐng)人的方法從步驟740轉(zhuǎn)換到步驟750,其中,所述方法生成錯(cuò)誤記錄。在某些實(shí)施例中,步驟740通過(guò)設(shè)置在申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)中的處理器執(zhí)行,例如處理器132(圖1)。
或者,如果申請(qǐng)人的方法在步驟740中確定了所有目標(biāo)扇區(qū)的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符相同,那么申請(qǐng)人的方法從步驟740轉(zhuǎn)換到步驟760,其中,所述方法提供請(qǐng)求信息。在某些實(shí)施例中,步驟760通過(guò)設(shè)置在申請(qǐng)人的信息存儲(chǔ)和檢索系統(tǒng)中的處理器執(zhí)行,例如處理器132(圖1)。
圖5所示的方法、圖6所示的方法或圖7所示的方法,可以被分別執(zhí)行。在某些實(shí)施例中,圖5和/或圖6和/或圖7中描述的單個(gè)步驟可以被組合、刪去或重新排序。
在某些實(shí)施例中,申請(qǐng)人的發(fā)明包括存儲(chǔ)器133(圖1)中的指令,其中通過(guò)處理器132(圖1)執(zhí)行所述指令以執(zhí)行圖5中描述的步驟520、530、532、534、536、540、550、560、565、570、580、590及595,或執(zhí)行圖6中描述的步驟610至680,和/或執(zhí)行圖7中描述的步驟710至760。在其他實(shí)施例中,申請(qǐng)人的發(fā)明包括任何其他計(jì)算機(jī)程序產(chǎn)品中的指令,其中通過(guò)系統(tǒng)100外部或內(nèi)部的計(jì)算機(jī)執(zhí)行所述指令以執(zhí)行附圖5中描述的步驟520、530、532、534、536、540、550、560、565、570、580、590及595,或執(zhí)行圖6中描述的步驟610至680,和/或執(zhí)行圖7中描述的步驟710至760。在任一情況下,指令可以被編碼到信息存儲(chǔ)介質(zhì),例如包括磁性信息存儲(chǔ)介質(zhì)、光學(xué)信息存儲(chǔ)介質(zhì)、電子信息存儲(chǔ)介質(zhì)等。申請(qǐng)人通過(guò)“電子存儲(chǔ)介質(zhì)”來(lái)指例如象PROM,EPROM,EEPROM,閃速PROM,壓縮閃存,智能介質(zhì)等設(shè)備。
盡管對(duì)本發(fā)明的優(yōu)選實(shí)施方式已經(jīng)進(jìn)行了詳細(xì)的闡述,應(yīng)當(dāng)清楚,對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),對(duì)所述實(shí)施例的修改和調(diào)整是可能作出的,而不背離下述權(quán)利要求中所闡述的本發(fā)明的范圍。
權(quán)利要求
1.一種在處理數(shù)據(jù)時(shí)檢驗(yàn)數(shù)據(jù)完整性的方法,包括以下步驟提供信息存儲(chǔ)陣列,所述信息存儲(chǔ)陣列包括包含多個(gè)扇區(qū)的信息存儲(chǔ)陣列;定義(N)數(shù)據(jù)狀態(tài)標(biāo)識(shí)符及(N)奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符;接收處理數(shù)據(jù)的命令,其中所述命令指定目標(biāo)扇區(qū),且其中所述目標(biāo)扇區(qū)包括所述多個(gè)扇區(qū)之一;確定分配給所述目標(biāo)扇區(qū)的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符,其中所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符包括所述(N)數(shù)據(jù)狀態(tài)標(biāo)識(shí)符之一;確定分配給所述目標(biāo)扇區(qū)的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符,其中所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符包括所述(N)奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符之一;比較所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符;如果所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符及所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符相同,則在操作上執(zhí)行所述命令;如果所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符及所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符不同,則在操作上生成錯(cuò)誤信息。
2.如權(quán)利要求1所述的方法,其中所述接收處理數(shù)據(jù)的命令的步驟還包括接收寫入指令,所述方法還包括接收數(shù)據(jù);如果所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符及所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符相同,則在操作上執(zhí)行以下步驟給所述目標(biāo)扇區(qū)的所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符加1,其中所述加1的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符包括所述(N)數(shù)據(jù)狀態(tài)之一;計(jì)算所述目標(biāo)扇區(qū)新的奇偶校驗(yàn);將所述數(shù)據(jù)及所述加1的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符寫入所述目標(biāo)扇區(qū);將所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符加1,其中所述加1的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符包括所述(N)奇偶校驗(yàn)狀態(tài)之一;將所述新的奇偶校驗(yàn)及所述加1的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符寫入所述信息存儲(chǔ)陣列。
3.如權(quán)利要求2所述的方法,還包括以下步驟提供包括數(shù)據(jù)部分及元數(shù)據(jù)部分的目標(biāo)扇區(qū);將所述數(shù)據(jù)寫入所述數(shù)據(jù)部分;及所述加1的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符寫入所述元數(shù)據(jù)部分。
4.如權(quán)利要求3所述的方法,還包括提供包括2個(gè)校驗(yàn)位的組的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符的步驟。
5.如權(quán)利要求3所述的方法,還包括提供包括多于2個(gè)校驗(yàn)位的組的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符的步驟。
6.如權(quán)利要求3所述的方法,其中所述信息存儲(chǔ)陣列包括(R)存儲(chǔ)介質(zhì),所述方法還包括以下步驟在所述元數(shù)據(jù)部分設(shè)置(R)數(shù)據(jù)狀態(tài)地址;將所述加1的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符寫入所述(R)數(shù)據(jù)狀態(tài)地址之一。
7.如權(quán)利要求2所述的方法,還包括提供包括(R)存儲(chǔ)介質(zhì)的信息存儲(chǔ)陣列,其中(R)等于或大于2;提供包括多個(gè)奇偶校驗(yàn)塊的信息存儲(chǔ)陣列,其中所述多個(gè)奇偶校驗(yàn)塊中的一個(gè)或多個(gè)寫入每個(gè)所述(R)存儲(chǔ)介質(zhì);其中所述寫入新的奇偶校驗(yàn)及加1的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符的步驟還包括將所述新的奇偶校驗(yàn)及所述加1的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符寫入所述多個(gè)奇偶校驗(yàn)塊的一個(gè)或多個(gè)。
8.如權(quán)利要求7所述的方法,其中所述信息存儲(chǔ)陣列包括(R)信息存儲(chǔ)介質(zhì),所述方法還包括將所述數(shù)據(jù)及所述加1的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符寫入所述(R)信息存儲(chǔ)介質(zhì)的(R-1)的步驟。
9.如權(quán)利要求8所述的方法,還包括將所述新的奇偶校驗(yàn)及所述加1的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符寫入所述剩余信息存儲(chǔ)介質(zhì)的步驟。
10.如權(quán)利要求1所述的方法,其中所述接收處理數(shù)據(jù)的命令的步驟還包括接收指定目標(biāo)扇區(qū)的讀取命令,所述方法還包括如果所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符及所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符相同,則提供從所述目標(biāo)扇區(qū)讀取的信息的步驟。
11.一種制品,包括包含多個(gè)扇區(qū)的信息存儲(chǔ)陣列和計(jì)算機(jī)可用介質(zhì),所述計(jì)算機(jī)可用介質(zhì)具有設(shè)置在其中的用于在處理數(shù)據(jù)時(shí)檢驗(yàn)數(shù)據(jù)完整性的計(jì)算機(jī)可讀程序代碼,所述計(jì)算機(jī)可讀程序代碼包括計(jì)算機(jī)可讀程序步驟的序列以實(shí)現(xiàn)接收處理數(shù)據(jù)的命令,其中所述命令指定目標(biāo)扇區(qū),且其中所述目標(biāo)扇區(qū)包括所述多個(gè)扇區(qū)之一;確定分配給所述目標(biāo)扇區(qū)的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符;確定分配給所述目標(biāo)扇區(qū)的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符;比較所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符;如果所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符相同,則在操作上執(zhí)行所述命令;如果所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符不同,則在操作上生成錯(cuò)誤信息。
12.如權(quán)利要求11所述的制品,所述計(jì)算機(jī)可讀程序代碼還包括計(jì)算機(jī)可讀程序步驟序列以實(shí)現(xiàn)接收將數(shù)據(jù)寫入目標(biāo)扇區(qū)的寫入命令;接收所述數(shù)據(jù);如果所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符相同,則在操作上執(zhí)行以下步驟給所述目標(biāo)扇區(qū)的所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符加1,其中所述加1的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符包括(N)預(yù)定的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符之一;計(jì)算所述目標(biāo)扇區(qū)新的奇偶校驗(yàn);將所述數(shù)據(jù)及所述加1的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符寫入所述目標(biāo)扇區(qū);將所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符加1,其中所述加1的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符包括(N)預(yù)定的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符之一;將所述新的奇偶校驗(yàn)及所述加1的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符寫入所述信息存儲(chǔ)陣列。
13.如權(quán)利要求12所述的制品,其中所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符包括2個(gè)校驗(yàn)位的組。
14.如權(quán)利要求12所述的制品,其中所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符包括多于2個(gè)的校驗(yàn)位的組。
15.如權(quán)利要求12所述的制品,其中所述目標(biāo)扇區(qū)包括元數(shù)據(jù)部分和數(shù)據(jù)部分,所述計(jì)算機(jī)可讀程序代碼還包括計(jì)算機(jī)可讀程序步驟序列以實(shí)現(xiàn)將所述數(shù)據(jù)寫入所述數(shù)據(jù)部分;及將所述加1的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符寫入所述元數(shù)據(jù)部分。
16.如權(quán)利要求15所述的制品,其中所述信息存儲(chǔ)陣列包括(R)存儲(chǔ)介質(zhì),且其中元數(shù)據(jù)部分包括(R)數(shù)據(jù)狀態(tài)地址,所述計(jì)算機(jī)可讀程序代碼還包括計(jì)算機(jī)可讀程序步驟序列以實(shí)現(xiàn)將所述加1的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符寫入所述(R)數(shù)據(jù)狀態(tài)地址之一。
17.如權(quán)利要求12所述的制品,其中所述信息存儲(chǔ)陣列包括(R)存儲(chǔ)介質(zhì)及多個(gè)奇偶校驗(yàn)塊,其中所述多個(gè)奇偶校驗(yàn)塊的一個(gè)或多個(gè)被寫入每個(gè)所述(R)存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀程序代碼還包括計(jì)算機(jī)可讀程序步驟序列以實(shí)現(xiàn)將所述新的奇偶校驗(yàn)及所述加1的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符寫入所述多個(gè)奇偶校驗(yàn)塊的一個(gè)或多個(gè)。
18.如權(quán)利要求12所述的制品,其中所述信息存儲(chǔ)陣列包括(R)存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀程序代碼還包括計(jì)算機(jī)可讀程序步驟序列以實(shí)現(xiàn)將所述數(shù)據(jù)及所述加1的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符寫入所述(R)存儲(chǔ)介質(zhì)的(R-1)。
19.如權(quán)利要求18所述的制品,所述計(jì)算機(jī)可讀程序代碼還包括計(jì)算機(jī)可讀程序步驟序列以實(shí)現(xiàn)將所述新的奇偶校驗(yàn)及所述加1的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符寫入剩余信息存儲(chǔ)介質(zhì)。
20.如權(quán)利要求11所述的制品,所述計(jì)算機(jī)可讀程序代碼還包括計(jì)算機(jī)可讀程序步驟序列以實(shí)現(xiàn)接收指定目標(biāo)扇區(qū)的讀取命令;如果所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符及所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符相同,則在操作上提供從所述目標(biāo)扇區(qū)中讀取的信息。
21.一種可用于可編程計(jì)算機(jī)處理器的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品具有體現(xiàn)于其中的計(jì)算機(jī)可讀程序代碼以利用包括(N)預(yù)定數(shù)據(jù)狀態(tài)標(biāo)識(shí)符、(N)預(yù)定奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符和包含多個(gè)扇區(qū)的信息存儲(chǔ)陣列的信息存儲(chǔ)和檢索系統(tǒng)來(lái)在處理數(shù)據(jù)時(shí)檢驗(yàn)數(shù)據(jù)完整性,所述計(jì)算機(jī)程序產(chǎn)品包括使所述可編程的計(jì)算機(jī)處理器接收處理數(shù)據(jù)的命令的計(jì)算機(jī)可讀程序代碼,其中所述命令指定目標(biāo)扇區(qū),且其中所述目標(biāo)扇區(qū)包括所述的多個(gè)扇區(qū)之一;使所述可編程的計(jì)算機(jī)處理器確定分配到所述目標(biāo)扇區(qū)的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符的計(jì)算機(jī)可讀程序代碼,其中所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符包括所述(N)數(shù)據(jù)狀態(tài)標(biāo)識(shí)符之一;使所述可編程的計(jì)算機(jī)處理器確定分配到所述目標(biāo)扇區(qū)的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符的計(jì)算機(jī)可讀程序代碼,其中所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符包括所述(N)奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符之一;使所述可編程的計(jì)算機(jī)處理器將所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符進(jìn)行比較的計(jì)算機(jī)可讀程序代碼;如果所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符相同,使所述可編程的計(jì)算機(jī)處理器執(zhí)行所述命令的計(jì)算機(jī)可讀程序代碼;如果所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符不同,使所述可編程的計(jì)算機(jī)處理器生成錯(cuò)誤消息的計(jì)算機(jī)可讀程序代碼。
22.如權(quán)利要求21所述的計(jì)算機(jī)程序產(chǎn)品,其中接收命令的所述計(jì)算機(jī)可讀程序代碼還包括使所述可編程計(jì)算機(jī)處理器接收將數(shù)據(jù)寫入目標(biāo)扇區(qū)的寫入命令的計(jì)算機(jī)可讀程序代碼,所述計(jì)算機(jī)程序產(chǎn)品還包括使所述可編程計(jì)算機(jī)處理器接收所述數(shù)據(jù)的計(jì)算機(jī)可讀程序代碼;如果所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符相同,使所述可編程計(jì)算機(jī)處理器執(zhí)行以下操作的計(jì)算機(jī)可讀程序代碼將所述目標(biāo)扇區(qū)的所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符加1,其中所述加1的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符包括所述(N)數(shù)據(jù)狀態(tài)標(biāo)識(shí)符之一;計(jì)算所述目標(biāo)扇區(qū)的新的奇偶校驗(yàn);將所述數(shù)據(jù)及所述加1的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符寫入所述目標(biāo)扇區(qū);將所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符加1,其中所述加1的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符包括所述(N)奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符之一;將所述新的奇偶校驗(yàn)及所述加1的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符寫入所述信息存儲(chǔ)陣列。
23.如權(quán)利要求21所述的計(jì)算機(jī)程序產(chǎn)品,其中所述目標(biāo)扇區(qū)包括數(shù)據(jù)部分和元數(shù)據(jù)部分,所述計(jì)算機(jī)程序產(chǎn)品還包括使所述可編程計(jì)算機(jī)處理器將所述數(shù)據(jù)寫入所述數(shù)據(jù)部分的計(jì)算機(jī)可讀程序代碼;及使所述可編程計(jì)算機(jī)處理器將所述加1的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符寫入所述元數(shù)據(jù)部分的計(jì)算機(jī)可讀程序代碼。
24.如權(quán)利要求23所述的計(jì)算機(jī)程序產(chǎn)品,還包括使所述可編程計(jì)算機(jī)處理器產(chǎn)生包括2個(gè)校驗(yàn)位的組的加1的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符的計(jì)算機(jī)可讀程序代碼。
25.如權(quán)利要求23所述的計(jì)算機(jī)程序產(chǎn)品,還包括使所述可編程計(jì)算機(jī)處理器產(chǎn)生包括多于2個(gè)校驗(yàn)位的組的加1的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符的計(jì)算機(jī)可讀程序代碼。
26.如權(quán)利要求23所述的計(jì)算機(jī)程序產(chǎn)品,其中所述信息存儲(chǔ)陣列包括(R)存儲(chǔ)介質(zhì),且其中所述元數(shù)據(jù)部分包括(R)數(shù)據(jù)狀態(tài)地址,所述計(jì)算機(jī)程序產(chǎn)品還包括使所述可編程計(jì)算機(jī)處理器將所述加1的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符寫入所述(R)數(shù)據(jù)狀態(tài)地址之一的計(jì)算機(jī)可讀程序代碼。
27.如權(quán)利要求22所述的計(jì)算機(jī)程序產(chǎn)品,其中所述信息存儲(chǔ)陣列包括(R)信息存儲(chǔ)介質(zhì)及寫入每個(gè)所述(R)信息存儲(chǔ)介質(zhì)的多個(gè)奇偶校驗(yàn)塊,所述計(jì)算機(jī)程序產(chǎn)品還包括使所述可編程計(jì)算機(jī)處理器將所述新的奇偶校驗(yàn)及所述加1的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符寫入所述多個(gè)奇偶校驗(yàn)塊的一個(gè)或多個(gè)的計(jì)算機(jī)可讀程序代碼。
28.如權(quán)利要求22所述的計(jì)算機(jī)程序產(chǎn)品,其中所述信息存儲(chǔ)陣列包括(R)信息存儲(chǔ)介質(zhì),所述計(jì)算機(jī)程序產(chǎn)品還包括使所述可編程計(jì)算機(jī)處理器將所述數(shù)據(jù)及所述加1的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符寫入所述(R)信息存儲(chǔ)介質(zhì)的(R-1)的計(jì)算機(jī)可讀程序代碼。
29.如權(quán)利要求28所述的計(jì)算機(jī)程序產(chǎn)品,還包括使所述可編程計(jì)算機(jī)處理器將所述新的奇偶校驗(yàn)及所述加1的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符寫入剩余信息存儲(chǔ)介質(zhì)的計(jì)算機(jī)可讀程序代碼。
30.如權(quán)利要求21所述的計(jì)算機(jī)程序產(chǎn)品,還包括使所述可編程計(jì)算機(jī)處理器接收指定一個(gè)目標(biāo)扇區(qū)的讀取命令的計(jì)算機(jī)可讀程序代碼;如果所述數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和所述奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符相同,使所述可編程計(jì)算機(jī)處理器提供從所述目標(biāo)扇區(qū)讀取的信息的計(jì)算機(jī)可讀程序代碼。
全文摘要
公開(kāi)了一種在處理數(shù)據(jù)時(shí)檢驗(yàn)完整性的裝置及方法。所述方法提供包括多個(gè)扇區(qū)的存儲(chǔ)陣列。所述方法定義了(N)數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和(N)奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符。所述方法接收處理數(shù)據(jù)的命令,其中所述命令指定目標(biāo)扇區(qū)。所述方法確定分配給目標(biāo)扇區(qū)的數(shù)據(jù)狀態(tài)標(biāo)識(shí)符,確定分配給目標(biāo)扇區(qū)的奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符,并比較數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符。如果所述方法確定了數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符相同,所述方法執(zhí)行處理數(shù)據(jù)的命令?;蛘?,如果所述方法確定了數(shù)據(jù)狀態(tài)標(biāo)識(shí)符和奇偶校驗(yàn)狀態(tài)標(biāo)識(shí)符不同,所述方法生成錯(cuò)誤消息。
文檔編號(hào)G06F11/10GK1779649SQ20051012467
公開(kāi)日2006年5月31日 申請(qǐng)日期2005年11月14日 優(yōu)先權(quán)日2004年11月23日
發(fā)明者斯蒂文·T·布勞德本, 邁克爾·H·哈藤, 卡爾·E·瓊斯, 卡爾·A·尼爾森, 杰雷米·M·賓森 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司