亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

錯(cuò)誤校正代碼播種的制作方法

文檔序號(hào):6539931閱讀:155來源:國知局
錯(cuò)誤校正代碼播種的制作方法
【專利摘要】本申請(qǐng)公開了錯(cuò)誤校正代碼播種。本文中公開的技術(shù)提供了一種當(dāng)數(shù)據(jù)塊的單元號(hào)與存儲(chǔ)在數(shù)據(jù)塊中的ECC值不匹配時(shí)對(duì)從數(shù)據(jù)塊讀取的數(shù)據(jù)進(jìn)行驗(yàn)證的方法。特別地,該方法包括:基于單元號(hào)來訪問數(shù)據(jù)塊的索引序列中的數(shù)據(jù)塊,其中所述索引序列中的每個(gè)數(shù)據(jù)塊與存儲(chǔ)的ECC值;取回與所述數(shù)據(jù)庫的所述單元號(hào)相關(guān)聯(lián)的偏移量;基于所述單元號(hào)和所述偏移量來生成ECC值;以及判定所生成的ECC值和所存儲(chǔ)的ECC值是否滿足完整性條件。
【專利說明】錯(cuò)誤校正代碼播種
[0001]相關(guān)申請(qǐng)的交叉引用
[0002]本申請(qǐng)涉及到序號(hào)為—、發(fā)明名稱為“Error Correct1n Code Seeding”且與本申請(qǐng)同時(shí)遞交的美國專利申請(qǐng),該美國申請(qǐng)因其所公開和教導(dǎo)的全部內(nèi)容特此通過引用合并于本文中。

【背景技術(shù)】
[0003]在驅(qū)動(dòng)器處理的多個(gè)階段中都會(huì)發(fā)現(xiàn)不可用數(shù)據(jù)塊。當(dāng)發(fā)現(xiàn)這樣的數(shù)據(jù)塊時(shí),驅(qū)動(dòng)器會(huì)被重新線性化,以使可用數(shù)據(jù)塊具有以關(guān)于每個(gè)數(shù)據(jù)塊的錯(cuò)誤校正代碼(ECC)信息編碼的順序索引。由于該重新線性化,ECC信息被重新寫到全部可用數(shù)據(jù)塊上,使得可用塊具有順序索引。然而,要花費(fèi)幾個(gè)小時(shí)來將單個(gè)驅(qū)動(dòng)器重新線性化,這對(duì)制造商而言是相當(dāng)大的開銷。
[0004]發(fā)明概述
[0005]本文所描述的以及進(jìn)行權(quán)利要求的實(shí)施方案通過如下方案解決了上述問題:基于單元號(hào)來訪問數(shù)據(jù)塊的索引序列中的數(shù)據(jù)塊,其中所述索引序列中的每個(gè)數(shù)據(jù)塊與存儲(chǔ)的ECC值;取回與所述數(shù)據(jù)庫的所述單元號(hào)相關(guān)聯(lián)的偏移量;基于所述單元號(hào)和所述偏移量來生成ECC值;以及判定所生成的ECC值和所存儲(chǔ)的ECC值是否滿足完整性條件。
[0006]提供該概述是為了以簡化形式引入下文在發(fā)明詳述部分中進(jìn)一步說明的構(gòu)思的選擇。該概述不意在確定權(quán)利要求主題的關(guān)鍵特征或必要特征,也不意在用于限定權(quán)利要求主題的范圍。這些以及其它的特征和優(yōu)點(diǎn)將從下面的發(fā)明詳述的閱讀中變得顯然。

【專利附圖】

【附圖說明】
[0007]圖1圖示出具有當(dāng)數(shù)據(jù)塊的單元號(hào)與存儲(chǔ)在數(shù)據(jù)塊中的錯(cuò)誤校正代碼(ECC)值不匹配時(shí)用于對(duì)從數(shù)據(jù)塊中讀取的數(shù)據(jù)進(jìn)行驗(yàn)證的機(jī)構(gòu)的系統(tǒng)。
[0008]圖2圖示出具有創(chuàng)建偏移量表的偏移量表創(chuàng)建模塊的存儲(chǔ)設(shè)備,偏移量表能夠用于計(jì)算用于錯(cuò)誤檢測(cè)模塊的種子值。
[0009]圖3圖示出具有用于當(dāng)數(shù)據(jù)塊的單元號(hào)與存儲(chǔ)在數(shù)據(jù)塊中的ECC值不匹配時(shí)用于對(duì)從數(shù)據(jù)塊中讀取的數(shù)據(jù)進(jìn)行驗(yàn)證的機(jī)構(gòu)的另一系統(tǒng)。
[0010]圖4圖不出用于創(chuàng)建偏移量表的實(shí)施例操作,偏移量表能夠用于創(chuàng)建用于錯(cuò)誤檢測(cè)模塊的種子值。
[0011]圖5圖示出當(dāng)數(shù)據(jù)塊的單元號(hào)與存儲(chǔ)在數(shù)據(jù)塊中的ECC值不匹配時(shí)用于對(duì)從數(shù)據(jù)塊中讀取的數(shù)據(jù)進(jìn)行驗(yàn)證的實(shí)施例操作。
[0012]圖6披露了適于實(shí)施用于在磁盤訪問操作期間選擇性略去目標(biāo)數(shù)據(jù)塊的索引序列中的一個(gè)以上數(shù)據(jù)塊的系統(tǒng)的一個(gè)以上方案的計(jì)算機(jī)系統(tǒng)的框圖。
[0013]發(fā)明詳述
[0014]圖1圖示出具有用于當(dāng)數(shù)據(jù)塊的單元號(hào)與存儲(chǔ)在數(shù)據(jù)塊中的錯(cuò)誤校正代碼(ECC)值不匹配時(shí)用于對(duì)數(shù)據(jù)塊的數(shù)據(jù)進(jìn)行驗(yàn)證的機(jī)構(gòu)(例如,偏移量查找模塊114)的系統(tǒng)100。系統(tǒng)100包括主計(jì)算機(jī)102,其將一個(gè)或多個(gè)訪問命令104 (例如,讀命令或?qū)懨?發(fā)送到存儲(chǔ)驅(qū)動(dòng)器106。存儲(chǔ)驅(qū)動(dòng)器106是具有有形的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的設(shè)備,該存儲(chǔ)介質(zhì)能夠?qū)?shù)據(jù)存儲(chǔ)在可由計(jì)算機(jī)訪問的順序單位中(例如,單元或數(shù)據(jù)塊)。該有形計(jì)算機(jī)可讀介質(zhì)可以包括但不限于磁存儲(chǔ)盤、固態(tài)驅(qū)動(dòng)器、快擦寫存儲(chǔ)器、光存儲(chǔ)盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)等等。存儲(chǔ)驅(qū)動(dòng)器106包括多個(gè)數(shù)據(jù)塊(例如,數(shù)據(jù)塊108),其能夠保持設(shè)定數(shù)量的存儲(chǔ)字節(jié)。
[0015]每個(gè)數(shù)據(jù)塊都具有與存儲(chǔ)設(shè)備106上的數(shù)據(jù)塊的索引序列中的數(shù)據(jù)塊物理位置相關(guān)聯(lián)的物理索引(例如,數(shù)據(jù)塊108中的物理索引O)。根據(jù)一種實(shí)施方式,存儲(chǔ)設(shè)備106上的順序數(shù)據(jù)塊與連續(xù)增加的物理索引相關(guān)聯(lián)。每個(gè)數(shù)據(jù)塊還包括錯(cuò)誤校正代碼(ECC)信息(未示出),包括對(duì)數(shù)據(jù)塊的物理索引進(jìn)行編碼的ECC值。
[0016]存儲(chǔ)設(shè)備(例如,存儲(chǔ)驅(qū)動(dòng)器106)可以包括在設(shè)備的初始處理期間被標(biāo)識(shí)為差的或不可用的多個(gè)數(shù)據(jù)塊。例如,磁盤表面上的塊缺陷或不規(guī)格(例如,熱粗糙)會(huì)使得磁盤的一個(gè)或多個(gè)塊不可用。沒有實(shí)際的物理缺陷的數(shù)據(jù)塊也可能是“不可用的”,因?yàn)樗鼈冇捎谄渌驈拇鎯?chǔ)設(shè)備的數(shù)據(jù)存儲(chǔ)操作中被選擇性地略去了。因此,術(shù)語“不可用”在本文中用于表示由于任何原因而從數(shù)據(jù)存儲(chǔ)操作中的使用選擇性地略去的存儲(chǔ)塊。
[0017]當(dāng)從存儲(chǔ)驅(qū)動(dòng)器106上的數(shù)據(jù)塊讀回?cái)?shù)據(jù)時(shí),錯(cuò)誤檢測(cè)與校正模塊110執(zhí)行數(shù)據(jù)完整性校驗(yàn)以確保所讀或?qū)懙臄?shù)據(jù)是正確的并且正確的數(shù)據(jù)塊被訪問。為了執(zhí)行該完整性校驗(yàn),錯(cuò)誤檢測(cè)與校正模塊I1使用種子值和從數(shù)據(jù)塊讀回的數(shù)據(jù)來生成ECC值。當(dāng)完整性校驗(yàn)成功時(shí),所生成的ECC值與存儲(chǔ)在數(shù)據(jù)塊中的ECC值匹配。然而,如果種子值與數(shù)據(jù)塊的物理索引不匹配,該確認(rèn)通常是不可能的。
[0018]在圖1中,在初始工廠處理操作期間具有物理索引I和4的數(shù)據(jù)塊被標(biāo)識(shí)為不可用。然而,存儲(chǔ)驅(qū)動(dòng)器106無需重新線性化來從存儲(chǔ)設(shè)備的索引方案中排除不可用塊I和4。相反,系統(tǒng)100已經(jīng)被制造為包括偏移量查找模塊114,其可以是固件中的功能模塊。偏移量查找模塊114允許錯(cuò)誤檢測(cè)與校正模塊110對(duì)從數(shù)據(jù)塊讀取的數(shù)據(jù)的完整性進(jìn)行驗(yàn)證,即使當(dāng)輸入到錯(cuò)誤檢測(cè)與校正模塊110的種子值不同于數(shù)據(jù)塊的物理索引時(shí)。
[0019]在圖示的實(shí)施例中,主計(jì)算機(jī)102發(fā)送四個(gè)訪問命令104以將四個(gè)名字(例如,Sarah、Jake、June和Charlie)寫入具有單元號(hào)0_3的四個(gè)目標(biāo)數(shù)據(jù)塊中。與四個(gè)目標(biāo)數(shù)據(jù)塊中的每一個(gè)相關(guān)聯(lián)的數(shù)據(jù)(例如,名字)連同與每個(gè)數(shù)據(jù)塊對(duì)應(yīng)的邏輯塊地址(LBA) —起發(fā)送到存儲(chǔ)驅(qū)動(dòng)器106。存儲(chǔ)設(shè)備100將來自主計(jì)算機(jī)102的LBA分別轉(zhuǎn)換成單元號(hào)O、
1、2和3。此后,數(shù)據(jù)分配模塊(未示出)選擇物理塊索引以與各單元號(hào)對(duì)應(yīng)。為避免將數(shù)據(jù)寫到具有物理索引I和4的不可用塊中,數(shù)據(jù)分配模塊判定與單元號(hào)O、1、2和3相關(guān)聯(lián)的數(shù)據(jù)能夠分別分配到物理數(shù)據(jù)塊0、2、3和5中。結(jié)果是,名字Sarah、Jake、June和Charlie被寫入物理數(shù)據(jù)塊O、2、3和5中。
[0020]當(dāng)從四個(gè)目標(biāo)數(shù)據(jù)塊中的一個(gè)讀回?cái)?shù)據(jù)時(shí),偏移量查找模塊114計(jì)算種子值,該種子值能夠由錯(cuò)誤檢測(cè)與校正模塊110使用來對(duì)從目標(biāo)數(shù)據(jù)塊中讀取的數(shù)據(jù)的完整性進(jìn)行驗(yàn)證。特別地,偏移量查找模塊114訪問偏移量表(未示出)并且取回與目標(biāo)數(shù)據(jù)塊的單元號(hào)相關(guān)聯(lián)的偏移量。利用單元號(hào)和偏移量,偏移量查找模塊生成種子值。錯(cuò)誤檢測(cè)與校正模塊110使用種子值和從關(guān)聯(lián)數(shù)據(jù)塊讀回的數(shù)據(jù)來計(jì)算ECC值,將該ECC值與存儲(chǔ)在目標(biāo)數(shù)據(jù)塊中的ECC值進(jìn)行比較。
[0021]例如,為了驗(yàn)證數(shù)據(jù)“Sarah”的完整性,偏移量查找模塊114取回與單元號(hào)O相關(guān)聯(lián)的偏移量O。利用偏移量0,偏移量查找模塊114計(jì)算種子值0,該種子值用于計(jì)算與存儲(chǔ)在具有物理索引O的數(shù)據(jù)塊中的ECC值匹配的ECC值。
[0022]同樣,為了驗(yàn)證數(shù)據(jù)“Jake”的完整性,偏移量查找模塊114使用單元值I來取回偏移量I并且計(jì)算種子值2。錯(cuò)誤檢測(cè)與校正模塊110使用種子2來計(jì)算與存儲(chǔ)在具有物理索引2的數(shù)據(jù)塊中的ECC值匹配的ECC值。
[0023]類似地,為了驗(yàn)證數(shù)據(jù)“Charlie”的完整性,偏移量查找模塊110取回與單元號(hào)3相關(guān)聯(lián)的偏移量2并且計(jì)算種子值5。錯(cuò)誤檢測(cè)與校正模塊110使用種子值5和從具有物理索引5的數(shù)據(jù)塊讀回的數(shù)據(jù)來計(jì)算與存儲(chǔ)在具有物理索引5的數(shù)據(jù)塊中的ECC值匹配的ECC值。結(jié)果,數(shù)據(jù)寫入到介質(zhì)上的順序可用數(shù)據(jù)塊中,驗(yàn)證了數(shù)據(jù)的完整性,并且在初始驅(qū)動(dòng)器處理期間未對(duì)驅(qū)動(dòng)器進(jìn)行重新線性化。
[0024]圖2圖示出具有創(chuàng)建偏移量表204的偏移量表創(chuàng)建模塊202的存儲(chǔ)設(shè)備200,偏移量表204能夠用于計(jì)算用于錯(cuò)誤檢測(cè)模塊(未示出)的種子值,并且因此對(duì)從數(shù)據(jù)塊讀取的數(shù)據(jù)的完整性進(jìn)行驗(yàn)證。存儲(chǔ)設(shè)備200包括存儲(chǔ)介質(zhì)206,存儲(chǔ)介質(zhì)206具有能夠存儲(chǔ)設(shè)定數(shù)據(jù)量的多個(gè)數(shù)據(jù)塊(例如,數(shù)據(jù)塊208和210)。存儲(chǔ)介質(zhì)206可以是任何類型的有形計(jì)算機(jī)可讀介質(zhì);然而,在一種實(shí)施方式中,存儲(chǔ)介質(zhì)是磁盤并且數(shù)據(jù)塊是沿著磁盤上的數(shù)據(jù)磁道的順序扇區(qū)。在另一實(shí)施方式中,存儲(chǔ)介質(zhì)是固態(tài)驅(qū)動(dòng)器(SSD)。
[0025]存儲(chǔ)介質(zhì)206上的每個(gè)數(shù)據(jù)塊具有與索引序列(例如,包括在存儲(chǔ)介質(zhì)206上的可用的不可用的數(shù)據(jù)塊兩者的序列)中的數(shù)據(jù)塊物理位置相關(guān)聯(lián)的物理索引(例如,數(shù)據(jù)塊210中的物理索引O)。另外,每個(gè)數(shù)據(jù)塊具有經(jīng)編碼的EEC信息,經(jīng)編碼的EEC信息對(duì)數(shù)據(jù)塊的物理索引進(jìn)行編碼(例如,數(shù)據(jù)塊210中的經(jīng)編碼的物理索引“ECC0”)。在可以在ECC信息編碼到每個(gè)數(shù)據(jù)塊上之后進(jìn)行的工廠格式化操作期間,通過錯(cuò)誤檢測(cè)模塊(未示出)將不可用數(shù)據(jù)塊(例如,具有物理索引I和4的不可用數(shù)據(jù)塊)標(biāo)識(shí)在存儲(chǔ)介質(zhì)206上。
[0026]經(jīng)由偏移量表創(chuàng)建模塊202實(shí)現(xiàn)了用于對(duì)從存儲(chǔ)操作中選擇性地略去不可用塊的序列中的數(shù)據(jù)塊進(jìn)行錯(cuò)誤校驗(yàn)的機(jī)構(gòu)。偏移量表創(chuàng)建模塊202將可用數(shù)據(jù)塊的物理索引與對(duì)應(yīng)的單元號(hào)(其中單元號(hào)統(tǒng)一地表示可用數(shù)據(jù)塊的未中斷序列)相關(guān)聯(lián)并且將增量偏移量值與選定的單元號(hào)相關(guān)聯(lián)地記錄在偏移量表204中。該偏移量值隨后可用于對(duì)在磁盤存儲(chǔ)操作期間寫和讀的數(shù)據(jù)的完整性進(jìn)行校驗(yàn)。
[0027]圖2還包括邏輯表214 (其可以包括或者可以不包括在存儲(chǔ)器中),邏輯表示例了用于取得偏移量表204的偏移量的邏輯。特別地,邏輯表214具有“物理索引”欄,其包括對(duì)應(yīng)于存儲(chǔ)介質(zhì)206上的可用數(shù)據(jù)塊和不可用數(shù)據(jù)塊兩者的物理索引。邏輯表214還具有“單元號(hào)”欄,其包括與每個(gè)可用數(shù)據(jù)塊相關(guān)聯(lián)的單元號(hào)。例如,物理索引I和4不具有在偏移量表204中的對(duì)應(yīng)單元號(hào),因?yàn)檫@些數(shù)據(jù)塊已被錯(cuò)誤檢測(cè)模塊標(biāo)識(shí)為不可用。因此,一組連續(xù)的單元號(hào)0、1、2和3分別對(duì)應(yīng)于順序可用數(shù)據(jù)塊0、2、3和5的物理索引。偏移量(例如,邏輯表214中的總偏移量值)表示數(shù)據(jù)塊的物理索引和單元號(hào)之間的差值??偲屏恐蹬c索引序列中的不可用數(shù)據(jù)塊之后的每個(gè)可用數(shù)據(jù)塊關(guān)聯(lián)地增I。例如,總偏移量值與物理索引2關(guān)聯(lián)地增1,因?yàn)槲锢硭饕?對(duì)應(yīng)于具有物理索引I的不可用數(shù)據(jù)塊之后的下一可用數(shù)據(jù)塊。類似地,總偏移量還與物理索引5關(guān)聯(lián)地增1,因?yàn)槲锢硭饕?對(duì)應(yīng)于具有物理索引4的不可用數(shù)據(jù)塊之后的下一可用數(shù)據(jù)塊。通過偏移量表創(chuàng)建模塊202將在邏輯表214中所圖示的信息濃縮成偏移量表204且存儲(chǔ)在存儲(chǔ)設(shè)備200的存儲(chǔ)器中。
[0028]偏移量表創(chuàng)建模塊202不將與存儲(chǔ)設(shè)備上的每一個(gè)可用物理索引相關(guān)聯(lián)的偏移量記錄在偏移量表204中。相反,與具有受增量影響的第一個(gè)順序物理索引的每個(gè)可用數(shù)據(jù)塊(例如,物理索引的索引序列中不可用數(shù)據(jù)塊之后的第一個(gè)可用數(shù)據(jù)塊)相關(guān)聯(lián)地記錄偏移量。例如,單元號(hào)I和2均受偏移量I影響。然而,物理索引2是受偏移量I影響的第一個(gè)物理索引。因此,與物理索引2相關(guān)聯(lián)地記錄偏移量I。
[0029]偏移量表創(chuàng)建模塊202被圖示為在存儲(chǔ)設(shè)備200的內(nèi)部(例如,固件中的模塊);然而,偏移量表創(chuàng)建模塊202和/或邏輯映射模塊202可以是與存儲(chǔ)設(shè)備200通信耦合的外部設(shè)備的軟件或固件。由偏移量表創(chuàng)建模塊202創(chuàng)建的偏移量表204與存儲(chǔ)設(shè)備200相關(guān)聯(lián)地保存在例如存儲(chǔ)設(shè)備200的固件中,以使其可在存儲(chǔ)設(shè)備200的整個(gè)生命周期內(nèi)被訪問。特別地,每當(dāng)從數(shù)據(jù)塊讀取數(shù)據(jù)時(shí)可以訪問偏移量表204,并且偏移量表204用于計(jì)算用于錯(cuò)誤檢測(cè)與校正模塊的種子值,該種子值對(duì)存儲(chǔ)在數(shù)據(jù)塊中的數(shù)據(jù)的完整性進(jìn)行驗(yàn)證。
[0030]圖3圖示出具有當(dāng)數(shù)據(jù)塊的單元號(hào)與存儲(chǔ)在數(shù)據(jù)塊中的ECC值不匹配時(shí)用于對(duì)從數(shù)據(jù)塊讀取的數(shù)據(jù)進(jìn)行驗(yàn)證的機(jī)構(gòu)(例如,偏移量查找模塊310)的另一系統(tǒng)300。系統(tǒng)包括主計(jì)算機(jī)(未示出),其發(fā)送一個(gè)或多個(gè)訪問命令304 (例如,讀命令和寫命令)至存儲(chǔ)設(shè)備306。存儲(chǔ)設(shè)備306也包括偏移量查找模塊320、偏移量表322和存儲(chǔ)介質(zhì)312。存儲(chǔ)介質(zhì)312包括用于存儲(chǔ)數(shù)據(jù)的多個(gè)數(shù)據(jù)塊(例如,數(shù)據(jù)塊308)。每個(gè)數(shù)據(jù)塊都具有與存儲(chǔ)介質(zhì)312上的數(shù)據(jù)塊的索引序列中的數(shù)據(jù)塊物理位置相關(guān)聯(lián)的物理索引(例如,數(shù)據(jù)塊308中的物理索引O)。另外,每個(gè)數(shù)據(jù)塊都包含對(duì)數(shù)據(jù)塊的物理索引進(jìn)行編碼的EEC信息。例如,數(shù)據(jù)塊308具有對(duì)數(shù)據(jù)塊的物理索引“O”進(jìn)行編碼的ECC值‘ECC0’。
[0031]在存儲(chǔ)設(shè)備306的工廠處理操作期間,標(biāo)識(shí)不可用數(shù)據(jù)塊(例如,不可用數(shù)據(jù)塊314和318)??梢耘c參考圖2描述的偏移量表創(chuàng)建模塊相同或相似的偏移量表創(chuàng)建模塊(未不出)創(chuàng)建偏移量表322。偏移量表322包括名稱為“單兀號(hào)”的第一欄。此處,單兀號(hào)序列表不可用塊的未中斷序列。僅選擇列于偏移量表322中的單兀號(hào)。偏移量表322還包括名稱為“總偏移量”的欄,其包括能夠用于將既定單元號(hào)轉(zhuǎn)換成可作為種子傳遞到錯(cuò)誤檢測(cè)與校正模塊310的值的偏移量。
[0032]在圖3中,主計(jì)算機(jī)發(fā)送訪問命令304以將四個(gè)名字(例如,Sarah、Jake、June和Charlie)寫入與單元號(hào)0、1、2和3相關(guān)聯(lián)的四個(gè)目標(biāo)數(shù)據(jù)塊中。特別地,主機(jī)將LBA發(fā)送到存儲(chǔ)設(shè)備306,并且存儲(chǔ)設(shè)備將LBA轉(zhuǎn)換成關(guān)聯(lián)的單元號(hào)0-3。利用現(xiàn)有技術(shù),存儲(chǔ)設(shè)備判定與單元號(hào)0-3相關(guān)聯(lián)的數(shù)據(jù)分別可寫入到物理索引0、2、3和5。
[0033]當(dāng)隨后從目標(biāo)數(shù)據(jù)塊之一讀回?cái)?shù)據(jù)時(shí),存儲(chǔ)設(shè)備306的偏移量查找模塊320訪問偏移量表322并且取回與每個(gè)單元號(hào)相關(guān)聯(lián)的偏移量。在圖示的實(shí)施例中,偏移量查找模塊320取回與單元號(hào)O相關(guān)聯(lián)的偏移量O ;與單元號(hào)I和2相關(guān)聯(lián)的偏移量I ;以及與單元號(hào)3相關(guān)聯(lián)的偏移量2。通過將每個(gè)目標(biāo)數(shù)據(jù)塊的單元號(hào)增加到關(guān)聯(lián)的偏移量,偏移量查找模塊310計(jì)算種子值(對(duì)于每個(gè)目標(biāo)數(shù)據(jù)塊),該種子值被輸入到錯(cuò)誤檢測(cè)與校正模塊310。錯(cuò)誤檢測(cè)與校正模塊310利用種子值對(duì)存儲(chǔ)在目標(biāo)數(shù)據(jù)塊中的數(shù)據(jù)的完整性進(jìn)行驗(yàn)證。結(jié)果是,錯(cuò)誤檢測(cè)與校正模塊310能夠通過計(jì)算ECC值并且將其與存儲(chǔ)在目標(biāo)數(shù)據(jù)塊中的ECC值進(jìn)行比較來檢測(cè)并校正數(shù)據(jù)中的錯(cuò)誤。如果計(jì)算出的ECC值和所存儲(chǔ)的ECC值滿足完整性條件(例如,如果值匹配或者滿足一些其它相關(guān)),則對(duì)寫入目標(biāo)數(shù)據(jù)塊的數(shù)據(jù)的完整性進(jìn)行了驗(yàn)證。
[0034]例如,為確保名字“Jake”被正確地寫且寫到正確的數(shù)據(jù)塊中,物理索引2 (通過將關(guān)聯(lián)的單元號(hào)與來自偏移量表322的偏移量相加在一起來計(jì)算)連同寫到具有物理索引2的單元的數(shù)據(jù)(例如,“ Jake”)一起被輸入到錯(cuò)誤檢測(cè)與校正模塊310。利用這些輸入,錯(cuò)誤檢測(cè)與校正模塊310計(jì)算ECC值(例如,ECC2),該ECC值與具有物理索引2的數(shù)據(jù)塊上所存儲(chǔ)的ECC值(例如,ECC2)匹配。
[0035]在圖中示出錯(cuò)誤檢測(cè)與校正模塊310和偏移量查找模塊320兩者都位于存儲(chǔ)設(shè)備306的內(nèi)部(例如,固件)。然而,兩個(gè)模塊中的任一個(gè)還可以是與存儲(chǔ)設(shè)備300通信耦合的外部設(shè)備的軟件或固件。
[0036]圖4圖示出用于創(chuàng)建能夠用于計(jì)算用于錯(cuò)誤檢測(cè)模塊的種子值的偏移量表的示例性操作。指定操作405將索引序列中的數(shù)據(jù)塊指定為不可用,其中每個(gè)數(shù)據(jù)塊與物理索引相關(guān)聯(lián)。索引序列是包括存儲(chǔ)設(shè)備上的可用數(shù)據(jù)塊和不可用數(shù)據(jù)塊兩者的序列。在一種實(shí)施方案中,存儲(chǔ)設(shè)備上的順序數(shù)據(jù)塊被分配了在索引序列中連續(xù)增加的物理索引。關(guān)聯(lián)操作410將單元號(hào)與索引序列中的標(biāo)識(shí)數(shù)據(jù)塊之后的后續(xù)可用數(shù)據(jù)塊相關(guān)聯(lián)。記錄操作415將偏移量與后續(xù)可用數(shù)據(jù)塊的單元號(hào)相關(guān)聯(lián)地記錄在偏移量表中,其中偏移量用于生成后續(xù)可用數(shù)據(jù)塊的ECC值。在一種實(shí)施方式中,偏移量與關(guān)聯(lián)的單元號(hào)相加以創(chuàng)建用于計(jì)算ECC值的用于錯(cuò)誤檢測(cè)與校正模塊的種子值。計(jì)算出的ECC值和在后續(xù)可用數(shù)據(jù)塊上編碼的ECC值滿足完整性條件,確保寫入后續(xù)可用數(shù)據(jù)塊的數(shù)據(jù)的完整性。
[0037]在一種實(shí)施方式中,所記錄的偏移量是后續(xù)可用數(shù)據(jù)塊的單元號(hào)與物理索引之間的差值。偏移量可以與索引序列中受偏移量影響的第一個(gè)數(shù)據(jù)塊相關(guān)聯(lián)地記錄在偏移量表中。在一種實(shí)施方式中,索引序列中的數(shù)據(jù)塊是沿著磁盤上的數(shù)據(jù)磁道的連續(xù)扇區(qū)。
[0038]在一種實(shí)施方式中,示例性操作400是在存儲(chǔ)設(shè)備的初始工廠格式化期間進(jìn)行的。操作405-415可以在工廠中O重復(fù)多次,并且可以與磁盤上的多個(gè)選擇性略去(即,不可用)的數(shù)據(jù)塊中的每個(gè)相關(guān)地記錄偏移量。
[0039]圖5圖示出用于當(dāng)數(shù)據(jù)塊的單元號(hào)與存儲(chǔ)在數(shù)據(jù)塊中的ECC值不匹配時(shí)對(duì)從數(shù)據(jù)塊讀取的數(shù)據(jù)進(jìn)行驗(yàn)證的示例性操作500。訪問操作505基于單元號(hào)來訪問數(shù)據(jù)塊中具有索引序列的數(shù)據(jù)塊,其中索引序列中的每個(gè)數(shù)據(jù)塊包括存儲(chǔ)的ECC值。在一種實(shí)施方案中,數(shù)據(jù)塊的索引序列是存儲(chǔ)設(shè)備中的連續(xù)數(shù)據(jù)塊的序列。在另一實(shí)施方式中,數(shù)據(jù)塊是沿著磁介質(zhì)盤中的數(shù)據(jù)磁道的扇區(qū)。
[0040]取回操作510取回與數(shù)據(jù)塊的單元號(hào)相關(guān)聯(lián)的偏移量。在一種實(shí)施方式中,取回操作510通過訪問可存儲(chǔ)在存儲(chǔ)設(shè)備的固件中的偏移量訪問表來取回偏移量。
[0041]生成操作515基于單兀號(hào)和所取回的偏移量來生成ECC值。在一種實(shí)施方式中,判定操作515通過為錯(cuò)誤檢測(cè)與校正模塊播種單元號(hào)與偏移量之和來生成ECC值。
[0042]判定操作520判定所生成的ECC值和所存儲(chǔ)的ECC值是否滿足完整性條件。在一種實(shí)施方式中,如果所生成的ECC值和經(jīng)編碼的ECC值相等,則滿足完整性條件。
[0043]圖6披露了適于實(shí)現(xiàn)用于在磁盤訪問操作期間選擇性略去目標(biāo)數(shù)據(jù)庫的索引序列中的一個(gè)或多個(gè)數(shù)據(jù)庫的系統(tǒng)的一個(gè)或多個(gè)方案的計(jì)算機(jī)系統(tǒng)600的框圖。在一種實(shí)施方案中,計(jì)算機(jī)系統(tǒng)600與存儲(chǔ)設(shè)備可通信地耦合,存儲(chǔ)設(shè)備具有偏移量表創(chuàng)建模塊、錯(cuò)誤檢測(cè)與校正模塊和/或偏移量查找模塊,偏移量查找模塊取回偏移量以計(jì)算與用于錯(cuò)誤檢測(cè)與校正操作的數(shù)據(jù)庫相關(guān)聯(lián)的種子。
[0044]計(jì)算機(jī)系統(tǒng)600能夠執(zhí)行在有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中具體實(shí)施的計(jì)算機(jī)程序產(chǎn)品以執(zhí)行計(jì)算機(jī)處理。有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)不具體實(shí)施在載波或其它信號(hào)中。數(shù)據(jù)和程序文件可輸入到計(jì)算機(jī)系統(tǒng)600中,計(jì)算機(jī)系統(tǒng)600利用一個(gè)以上的處理器來讀取文件并且執(zhí)行其中的程序。在圖6中示出了計(jì)算機(jī)系統(tǒng)的一些元件,其中顯示處理器602具有輸入/輸出(I/O)部604、中央處理單元(CPU) 606和存儲(chǔ)器部608??纱嬖谝粋€(gè)以上的處理器602、使得計(jì)算系統(tǒng)600的處理器602包括單個(gè)中央處理單元6060或多個(gè)處理單元。計(jì)算系統(tǒng)600可以是常規(guī)的計(jì)算機(jī)、分布式計(jì)算機(jī)或任何其它類型的計(jì)算機(jī)。所描述的技術(shù)可任選地以加載于存儲(chǔ)器608、磁盤存儲(chǔ)單元612或可移除存儲(chǔ)器618中的軟件實(shí)現(xiàn)。
[0045]在示例性實(shí)施方式中,錯(cuò)誤檢測(cè)與校正模塊、偏移量查找模塊和/或偏移量表創(chuàng)建模塊可以存儲(chǔ)在存儲(chǔ)器608和/或存儲(chǔ)單元612中且由處理器607執(zhí)行的指令來具體實(shí)現(xiàn)。此外,本地計(jì)算系統(tǒng)、遠(yuǎn)程數(shù)據(jù)源和/或服務(wù)以及其它關(guān)聯(lián)邏輯表示可配置成適應(yīng)性地分配工作負(fù)荷任務(wù)以提高系統(tǒng)性能的固件、硬件和/或軟件。錯(cuò)誤檢測(cè)與校正模塊、偏移量查找模塊和/或偏移量表創(chuàng)建模塊可利用通用計(jì)算機(jī)和專用軟件(諸如執(zhí)行服務(wù)軟件的服務(wù)器)、以及專用計(jì)算系統(tǒng)和專用軟件(諸如執(zhí)行服務(wù)軟件的移動(dòng)設(shè)備或網(wǎng)絡(luò)應(yīng)用)、或其它計(jì)算配置來實(shí)現(xiàn)。另外,程序數(shù)據(jù),諸如偏移量表,可以存儲(chǔ)在存儲(chǔ)器608和/或存儲(chǔ)單元612中并且由處理器602執(zhí)行。
[0046]本文所描述的實(shí)施方式可實(shí)現(xiàn)為一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)中的邏輯步驟。本發(fā)明的邏輯操作實(shí)現(xiàn)為:(I)在一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)中執(zhí)行的處理器實(shí)現(xiàn)的步驟序列;以及(2)一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)內(nèi)的相互連接的機(jī)器或電路模塊。實(shí)施方式是選擇的問題,取決于實(shí)施本發(fā)明的計(jì)算機(jī)系統(tǒng)的性能要求。因此,構(gòu)成本文所描述的實(shí)施方案的實(shí)施方案的邏輯操作不同地稱為操作、步驟、對(duì)象或模塊。此外,應(yīng)當(dāng)理解的是,邏輯操作可以根據(jù)需要按任意次序執(zhí)行、添加和省略,除非明確地做要求或者權(quán)利要求語言本質(zhì)上使得特定次序成為必然。
[0047]上述的說明書、實(shí)施例和數(shù)據(jù)提供了對(duì)示例性實(shí)施方案的結(jié)構(gòu)和使用的完整描述。因?yàn)槟軌蛟诓黄x本發(fā)明的精神和范圍的情況下做出許多可選的實(shí)施方案,本發(fā)明在于本文中所附的權(quán)利要求。此外,不同實(shí)施方案的結(jié)構(gòu)特征可組合到另外的實(shí)施方案中而不會(huì)偏離所記述的權(quán)利要求。
【權(quán)利要求】
1.一種方法,包括: 基于單元號(hào)來訪問數(shù)據(jù)塊的索引序列中的數(shù)據(jù)塊,其中所述索引序列中的每個(gè)數(shù)據(jù)塊與存儲(chǔ)的ECC值; 取回與所述數(shù)據(jù)庫的所述單元號(hào)相關(guān)聯(lián)的偏移量; 基于所述單元號(hào)和所述偏移量來生成ECC值;以及 判定所生成的ECC值和所存儲(chǔ)的ECC值是否滿足完整性條件。
2.如權(quán)利要求1所述的方法,還包括: 為錯(cuò)誤檢測(cè)與校正模塊播種基于所述單元號(hào)和所述偏移量的值。
3.如權(quán)利要求2所述的方法,其中為所述錯(cuò)誤檢測(cè)與校正模塊播種還包括: 為所述錯(cuò)誤檢測(cè)與校正模塊播種作為所述單元號(hào)和所述偏移量之和的值。
4.如權(quán)利要求1所述的方法,其中所述偏移量是從存儲(chǔ)在存儲(chǔ)設(shè)備的固件中的偏移量表中取回的。
5.如權(quán)利要求4所述的方法,其中所述偏移量表是在工廠格式化操作期間創(chuàng)建的。
6.如權(quán)利要求1所述的方法,其中所述數(shù)據(jù)塊的索引序列是沿著磁盤上的數(shù)據(jù)磁道的連續(xù)扇區(qū)。
7.如權(quán)利要求1所述的方法,其中所述索引序列包括與存儲(chǔ)設(shè)備上的順序數(shù)據(jù)塊相關(guān)聯(lián)的連續(xù)增加的索引。
8.—個(gè)以上有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其對(duì)用于在計(jì)算機(jī)系統(tǒng)上執(zhí)行計(jì)算機(jī)處理的計(jì)算機(jī)可執(zhí)行指令進(jìn)行編碼,所述計(jì)算機(jī)處理包括: 基于單元號(hào)來訪問數(shù)據(jù)塊的索引序列中的數(shù)據(jù)塊,其中所述索引序列中的每個(gè)數(shù)據(jù)塊與存儲(chǔ)的ECC值; 取回與所述數(shù)據(jù)庫的所述單元號(hào)相關(guān)聯(lián)的偏移量; 基于所述單元號(hào)和所述偏移量來生成ECC值;以及 判定所生成的ECC值和所存儲(chǔ)的ECC值是否滿足完整性條件。
9.如權(quán)利要求8所述的一個(gè)以上有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述計(jì)算機(jī)處理還包括: 為錯(cuò)誤檢測(cè)與校正模塊播種基于所述單元號(hào)和所述偏移量的值。
10.如權(quán)利要求8所述的一個(gè)以上有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述偏移量是從存儲(chǔ)在存儲(chǔ)設(shè)備的固件中的偏移量表中取回的。
11.如權(quán)利要求8所述的一個(gè)以上有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述偏移量表是在工廠格式化操作期間創(chuàng)建的。
12.如權(quán)利要求8所述的一個(gè)以上有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述數(shù)據(jù)塊的索引序列是沿著磁盤上的數(shù)據(jù)磁道的連續(xù)扇區(qū)。
13.如權(quán)利要求8所述的一個(gè)以上有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述索引序列包括與存儲(chǔ)設(shè)備上的順序數(shù)據(jù)塊相關(guān)聯(lián)的連續(xù)增加的索引。
14.一種系統(tǒng),包括: 存儲(chǔ)設(shè)備; 偏移量查找模塊,其配置為取回與索引序列中的數(shù)據(jù)塊的單元號(hào)相關(guān)聯(lián)的偏移量,其中所述索引序列中的每個(gè)數(shù)據(jù)塊包括所存儲(chǔ)的ECC值;錯(cuò)誤檢測(cè)與校正模塊,其配置為: 基于所述單元號(hào)和所述偏移量來生成ECC值;以及 判定所生成的ECC值和所存儲(chǔ)的ECC值是否滿足完整性條件。
15.如權(quán)利要求15所述的系統(tǒng),其中所述錯(cuò)誤檢測(cè)與校正模塊進(jìn)一步配置為利用作為所述單元號(hào)與所述偏離量之和的種子來生成ECC值。
16.如權(quán)利要求15所述的系統(tǒng),其中所述偏移量查找模塊配置為從存儲(chǔ)在存儲(chǔ)設(shè)備的固件中的偏移量表中取回所述偏移量。
17.如權(quán)利要求15所述的系統(tǒng),其中所述偏移量表是在工廠格式化操作期間創(chuàng)建的。
18.如權(quán)利要求15所述的系統(tǒng),其中數(shù)據(jù)塊的索引序列是沿著磁盤上的數(shù)據(jù)磁道的連續(xù)扇區(qū)。
19.如權(quán)利要求15所述的系統(tǒng),其中所述索引序列包括與存儲(chǔ)設(shè)備上的順序數(shù)據(jù)塊相關(guān)聯(lián)的連續(xù)增加的索引。
20.如權(quán)利要求15所述的系統(tǒng),其中所述錯(cuò)誤檢測(cè)與校正模塊判定為:當(dāng)所生成的ECC值等于所存儲(chǔ)的ECC值 時(shí),滿足所述完整性條件。
【文檔編號(hào)】G06F11/10GK104050052SQ201410085225
【公開日】2014年9月17日 申請(qǐng)日期:2014年3月10日 優(yōu)先權(quán)日:2013年3月11日
【發(fā)明者】D·J·庫能, A·T·卡塔里亞 申請(qǐng)人:希捷科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1