两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

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

文檔序號(hào):6539934閱讀:191來(lái)源:國(guó)知局
錯(cuò)誤校正代碼播種的制作方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了錯(cuò)誤校正代碼播種。本發(fā)明中公開(kāi)的技術(shù)提供了一種當(dāng)數(shù)據(jù)塊的單元號(hào)與存儲(chǔ)在數(shù)據(jù)塊中的ECC值不匹配時(shí)對(duì)從數(shù)據(jù)塊讀取的數(shù)據(jù)進(jìn)行驗(yàn)證的方法。特別地,該方法包括:將數(shù)據(jù)塊的索引序列中的數(shù)據(jù)塊指定為不可用,其中每個(gè)數(shù)據(jù)塊與物理索引相關(guān)聯(lián);將單元號(hào)與所述索引序列中的指定的數(shù)據(jù)塊之后的后續(xù)可用數(shù)據(jù)塊相關(guān)聯(lián);以及將偏移量與所述后續(xù)可用數(shù)據(jù)塊的單元號(hào)相關(guān)聯(lián)地記錄在可由錯(cuò)誤檢測(cè)與校正模塊訪問(wèn)的偏移量表中,其中所述偏移量和所述單元號(hào)的組合表示用于所述錯(cuò)誤檢測(cè)與校正模塊的種子。
【專(zhuān)利說(shuō)明】錯(cuò)誤校正代碼播種
[0001]相關(guān)申請(qǐng)的交叉引用
[0002]本申請(qǐng)涉及到序號(hào)為、發(fā)明名稱(chēng)為“Error Correct1n Code Seeding”且與本申請(qǐng)同時(shí)遞交的美國(guó)專(zhuān)利申請(qǐng),該美國(guó)申請(qǐng)因其所公開(kāi)和教導(dǎo)的全部?jī)?nèi)容特此通過(guò)引用合并于本文中。

【背景技術(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信息被重新寫(xiě)到全部可用數(shù)據(jù)塊上,使得可用塊具有順序索引。然而,要花費(fèi)幾個(gè)小時(shí)來(lái)將單個(gè)驅(qū)動(dòng)器重新線性化,這對(duì)制造商而言是相當(dāng)大的開(kāi)銷(xiāo)。
[0004]發(fā)明概述
[0005]本文所描述的以及進(jìn)行權(quán)利要求的實(shí)施方案通過(guò)如下方案解決了上述問(wèn)題:將數(shù)據(jù)塊的索引序列中的數(shù)據(jù)塊指定為不可用,其中每個(gè)數(shù)據(jù)塊與物理索引相關(guān)聯(lián);將單元號(hào)與索引序列中的識(shí)別的數(shù)據(jù)塊之后的后續(xù)可用數(shù)據(jù)塊相關(guān)聯(lián);以及與后續(xù)可用數(shù)據(jù)塊的單元號(hào)相關(guān)聯(lián)地將偏移量記錄在可由錯(cuò)誤檢測(cè)與校正模塊訪問(wèn)的偏移量表中,其中偏移量和單元號(hào)的組合表示用于錯(cuò)誤檢測(cè)與校正模塊的種子。
[0006]提供該概述是為了以簡(jiǎn)化形式引入下文在發(fā)明詳述部分中進(jìn)一步說(shuō)明的構(gòu)思的選擇。該概述不意在確定權(quán)利要求主題的關(guān)鍵特征或必要特征,也不意在用于限定權(quán)利要求主題的范圍。這些以及其它的特征和優(yōu)點(diǎn)將從下面的發(fā)明詳述的閱讀中變得顯然。

【專(zhuān)利附圖】

【附圖說(shuō)明】
[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í)施用于在磁盤(pán)訪問(wèn)操作期間選擇性略去目標(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è)訪問(wèn)命令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ī)訪問(wèn)的順序單位中(例如,單元或數(shù)據(jù)塊)。該有形計(jì)算機(jī)可讀介質(zhì)可以包括但不限于磁存儲(chǔ)盤(pán)、固態(tài)驅(qū)動(dòng)器、快擦寫(xiě)存儲(chǔ)器、光存儲(chǔ)盤(pán)、隨機(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ù)塊。例如,磁盤(pán)表面上的塊缺陷或不規(guī)格(例如,熱粗糙)會(huì)使得磁盤(pán)的一個(gè)或多個(gè)塊不可用。沒(méi)有實(shí)際的物理缺陷的數(shù)據(jù)塊也可能是“不可用的”,因?yàn)樗鼈冇捎谄渌驈拇鎯?chǔ)設(shè)備的數(shù)據(jù)存儲(chǔ)操作中被選擇性地略去了。因此,術(shù)語(yǔ)“不可用”在本文中用于表示由于任何原因而從數(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ù)塊被訪問(wèn)。為了執(zhí)行該完整性校驗(yàn),錯(cuò)誤檢測(cè)與校正模塊I1使用種子值和從數(shù)據(jù)塊讀回的數(shù)據(jù)來(lái)生成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無(wú)需重新線性化來(lái)從存儲(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è)訪問(wèn)命令104以將四個(gè)名字(例如,Sarah、Jake、June和Charlie)寫(xiě)入具有單元號(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將來(lái)自主計(jì)算機(jī)102的LBA分別轉(zhuǎn)換成單元號(hào)O、1、2和3。此后,數(shù)據(jù)分配模塊(未示出)選擇物理塊索引以與各單元號(hào)對(duì)應(yīng)。為避免將數(shù)據(jù)寫(xiě)到具有物理索引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被寫(xiě)入物理數(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使用來(lái)對(duì)從目標(biāo)數(shù)據(jù)塊中讀取的數(shù)據(jù)的完整性進(jìn)行驗(yàn)證。特別地,偏移量查找模塊114訪問(wèn)偏移量表(未示出)并且取回與目標(biāo)數(shù)據(jù)塊的單元號(hào)相關(guān)聯(lián)的偏移量。利用單元號(hào)和偏移量,偏移量查找模塊生成種子值。錯(cuò)誤檢測(cè)與校正模塊110使用種子值和從關(guān)聯(lián)數(shù)據(jù)塊讀回的數(shù)據(jù)來(lái)計(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來(lái)取回偏移量I并且計(jì)算種子值2。錯(cuò)誤檢測(cè)與校正模塊110使用種子2來(lái)計(jì)算與存儲(chǔ)在具有物理索引2的數(shù)據(jù)塊中的ECC值匹配的ECC值。
[0023]類(lèi)似地,為了驗(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ù)來(lái)計(jì)算與存儲(chǔ)在具有物理索引5的數(shù)據(jù)塊中的ECC值匹配的ECC值。結(jié)果,數(shù)據(jù)寫(xiě)入到介質(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可以是任何類(lèi)型的有形計(jì)算機(jī)可讀介質(zhì);然而,在一種實(shí)施方式中,存儲(chǔ)介質(zhì)是磁盤(pán)并且數(shù)據(jù)塊是沿著磁盤(pán)上的數(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)行的工廠格式化操作期間,通過(guò)錯(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ì)在磁盤(pán)存儲(chǔ)操作期間寫(xiě)和讀的數(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ù)塊。類(lèi)似地,總偏移量還與物理索引5關(guān)聯(lián)地增1,因?yàn)槲锢硭饕?對(duì)應(yīng)于具有物理索引4的不可用數(shù)據(jù)塊之后的下一可用數(shù)據(jù)塊。通過(guò)偏移量表創(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)被訪問(wèn)。特別地,每當(dāng)從數(shù)據(jù)塊讀取數(shù)據(jù)時(shí)可以訪問(wèn)偏移量表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è)訪問(wèn)命令304 (例如,讀命令和寫(xiě)命令)至存儲(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)。可以與參考圖2描述的偏移量表創(chuàng)建模塊相同或相似的偏移量表創(chuàng)建模塊(未不出)創(chuàng)建偏移量表322。偏移量表322包括名稱(chēng)為“單兀號(hào)”的第一欄。此處,單兀號(hào)序列表不可用塊的未中斷序列。僅選擇列于偏移量表322中的單兀號(hào)。偏移量表322還包括名稱(chēng)為“總偏移量”的欄,其包括能夠用于將既定單元號(hào)轉(zhuǎn)換成可作為種子傳遞到錯(cuò)誤檢測(cè)與校正模塊310的值的偏移量。
[0032]在圖3中,主計(jì)算機(jī)發(fā)送訪問(wèn)命令304以將四個(gè)名字(例如,Sarah、Jake、June和Charlie)寫(xiě)入與單元號(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ù)分別可寫(xiě)入到物理索引0、2、3和5。
[0033]當(dāng)隨后從目標(biāo)數(shù)據(jù)塊之一讀回?cái)?shù)據(jù)時(shí),存儲(chǔ)設(shè)備306的偏移量查找模塊320訪問(wèn)偏移量表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。通過(guò)將每個(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能夠通過(guò)計(jì)算ECC值并且將其與存儲(chǔ)在目標(biāo)數(shù)據(jù)塊中的ECC值進(jìn)行比較來(lái)檢測(cè)并校正數(shù)據(jù)中的錯(cuò)誤。如果計(jì)算出的ECC值和所存儲(chǔ)的ECC值滿(mǎn)足完整性條件(例如,如果值匹配或者滿(mǎn)足一些其它相關(guān)),則對(duì)寫(xiě)入目標(biāo)數(shù)據(jù)塊的數(shù)據(jù)的完整性進(jìn)行了驗(yàn)證。
[0034]例如,為確保名字“Jake”被正確地寫(xiě)且寫(xiě)到正確的數(shù)據(jù)塊中,物理索引2 (通過(guò)將關(guān)聯(lián)的單元號(hào)與來(lái)自偏移量表322的偏移量相加在一起來(lái)計(jì)算)連同寫(xiě)到具有物理索引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值滿(mǎn)足完整性條件,確保寫(xiě)入后續(xù)可用數(shù)據(jù)塊的數(shù)據(jù)的完整性。
[0037]在一種實(shí)施方式中,所記錄的偏移量是后續(xù)可用數(shù)據(jù)塊的單元號(hào)與物理索引之間的差值。偏移量可以與索引序列中受偏移量影響的第一個(gè)數(shù)據(jù)塊相關(guān)聯(lián)地記錄在偏移量表中。在一種實(shí)施方式中,索引序列中的數(shù)據(jù)塊是沿著磁盤(pán)上的數(shù)據(jù)磁道的連續(xù)扇區(qū)。
[0038]在一種實(shí)施方式中,示例性操作400是在存儲(chǔ)設(shè)備的初始工廠格式化期間進(jìn)行的。操作405-415可以在工廠中O重復(fù)多次,并且可以與磁盤(pán)上的多個(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。訪問(wèn)操作505基于單元號(hào)來(lái)訪問(wèn)數(shù)據(jù)塊中具有索引序列的數(shù)據(jù)塊,其中索引序列中的每個(gè)數(shù)據(jù)塊包括存儲(chǔ)的ECC值。在一種實(shí)施方案中,數(shù)據(jù)塊的索引序列是存儲(chǔ)設(shè)備中的連續(xù)數(shù)據(jù)塊的序列。在另一實(shí)施方式中,數(shù)據(jù)塊是沿著磁介質(zhì)盤(pán)中的數(shù)據(jù)磁道的扇區(qū)。
[0040]取回操作510取回與數(shù)據(jù)塊的單元號(hào)相關(guān)聯(lián)的偏移量。在一種實(shí)施方式中,取回操作510通過(guò)訪問(wèn)可存儲(chǔ)在存儲(chǔ)設(shè)備的固件中的偏移量訪問(wèn)表來(lái)取回偏移量。
[0041]生成操作515基于單兀號(hào)和所取回的偏移量來(lái)生成ECC值。在一種實(shí)施方式中,判定操作515通過(guò)為錯(cuò)誤檢測(cè)與校正模塊播種單元號(hào)與偏移量之和來(lái)生成ECC值。
[0042]判定操作520判定所生成的ECC值和所存儲(chǔ)的ECC值是否滿(mǎn)足完整性條件。在一種實(shí)施方式中,如果所生成的ECC值和經(jīng)編碼的ECC值相等,則滿(mǎn)足完整性條件。
[0043]圖6披露了適于實(shí)現(xiàn)用于在磁盤(pán)訪問(wèn)操作期間選擇性略去目標(biāo)數(shù)據(jù)庫(kù)的索引序列中的一個(gè)或多個(gè)數(shù)據(jù)庫(kù)的系統(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ù)庫(kù)相關(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è)以上的處理器來(lái)讀取文件并且執(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ī)或任何其它類(lèi)型的計(jì)算機(jī)。所描述的技術(shù)可任選地以加載于存儲(chǔ)器608、磁盤(pán)存儲(chǔ)單元612或可移除存儲(chǔ)器618中的軟件實(shí)現(xiàn)。
[0045]在示例性實(shí)施方式中,錯(cuò)誤檢測(cè)與校正模塊、偏移量查找模塊和/或偏移量表創(chuàng)建模塊可以存儲(chǔ)在存儲(chǔ)器608和/或存儲(chǔ)單元612中且由處理器607執(zhí)行的指令來(lái)具體實(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ī)和專(zhuān)用軟件(諸如執(zhí)行服務(wù)軟件的服務(wù)器)、以及專(zhuān)用計(jì)算系統(tǒng)和專(zhuān)用軟件(諸如執(zhí)行服務(wù)軟件的移動(dòng)設(shè)備或網(wǎng)絡(luò)應(yīng)用)、或其它計(jì)算配置來(lái)實(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í)施方式是選擇的問(wèn)題,取決于實(shí)施本發(fā)明的計(jì)算機(jī)系統(tǒng)的性能要求。因此,構(gòu)成本文所描述的實(shí)施方案的實(shí)施方案的邏輯操作不同地稱(chēng)為操作、步驟、對(duì)象或模塊。此外,應(yīng)當(dāng)理解的是,邏輯操作可以根據(jù)需要按任意次序執(zhí)行、添加和省略,除非明確地做要求或者權(quán)利要求語(yǔ)言本質(zhì)上使得特定次序成為必然。
[0047]上述的說(shuō)明書(shū)、實(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.一種方法,包括: 將數(shù)據(jù)塊的索引序列中的數(shù)據(jù)塊指定為不可用,其中每個(gè)數(shù)據(jù)塊與物理索引相關(guān)聯(lián); 將單元號(hào)與所述索引序列中的指定的數(shù)據(jù)塊之后的后續(xù)可用數(shù)據(jù)塊相關(guān)聯(lián);以及 將偏移量與所述后續(xù)可用數(shù)據(jù)塊的單元號(hào)相關(guān)聯(lián)地記錄在可由錯(cuò)誤檢測(cè)與校正模塊訪問(wèn)的偏移量表中,其中所述偏移量和所述單元號(hào)的組合表示用于所述錯(cuò)誤檢測(cè)與校正模塊的種子。
2.如權(quán)利要求1所述的方法,其中所述偏移量是所述后續(xù)可用數(shù)據(jù)塊的所述單元號(hào)與所述物理索引之間的差值。
3.如權(quán)利要求1所述的方法,其中將所述偏移量記錄在所述偏移量表中還包括與所述索引序列中的受所述偏移量影響的第一數(shù)據(jù)塊相關(guān)聯(lián)地記錄所述偏移量。
4.如權(quán)利要求1所述的方法,其中記錄所述偏移量是在存儲(chǔ)設(shè)備的工廠格式化操作期間執(zhí)行的。
5.如權(quán)利要求1所述的方法,其中所述偏移量表存儲(chǔ)在存儲(chǔ)設(shè)備的固件中。
6.如權(quán)利要求1所述的方法,其中所述索引序列包括與存儲(chǔ)設(shè)備上的順序數(shù)據(jù)塊相關(guān)聯(lián)的連續(xù)增加的索引。
7.如權(quán)利要求1所述的方法,其中所述索引序列中的數(shù)據(jù)塊是沿著磁盤(pán)上的數(shù)據(jù)磁道的連續(xù)扇區(qū)。
8.—個(gè)以上有形處理器可讀存儲(chǔ)介質(zhì),其對(duì)用于在基于處理器的系統(tǒng)上執(zhí)行計(jì)算處理的處理器可執(zhí)行指令進(jìn)行編碼,所述計(jì)算處理包括: 將數(shù)據(jù)塊的索引序列中的數(shù)據(jù)塊指定為不可用,其中每個(gè)數(shù)據(jù)塊與物理索引相關(guān)聯(lián); 將單元號(hào)與所述索引序列中的指定的數(shù)據(jù)塊之后的后續(xù)可用數(shù)據(jù)塊相關(guān)聯(lián);以及 將偏移量與所述后續(xù)可用數(shù)據(jù)塊的單元號(hào)相關(guān)聯(lián)地記錄在可由錯(cuò)誤檢測(cè)與校正模塊訪問(wèn)的偏移量表中,其中所述偏移量和所述單元號(hào)的組合表示用于所述錯(cuò)誤檢測(cè)與校正模塊的種子。
9.如權(quán)利要求8所述的一個(gè)以上計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述偏移量是所述后續(xù)可用數(shù)據(jù)塊的所述單元號(hào)與所述物理索引之間的差值。
10.如權(quán)利要求8所述的一個(gè)以上計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中將所述偏移量記錄在所述偏移量表中還包括與所述索引序列中的受所述偏移量影響的第一數(shù)據(jù)塊相關(guān)聯(lián)地記錄所述偏移量。
11.如權(quán)利要求8所述的一個(gè)以上計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中記錄所述偏移量是在存儲(chǔ)設(shè)備的工廠格式化操作期間執(zhí)行的。
12.如權(quán)利要求8所述的一個(gè)以上計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述偏移量表存儲(chǔ)在存儲(chǔ)設(shè)備的固件中。
13.如權(quán)利要求8所述的一個(gè)以上計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述索引序列包括與存儲(chǔ)設(shè)備上的順序數(shù)據(jù)塊相關(guān)聯(lián)的連續(xù)增加的索引。
14.如權(quán)利要求8所述的一個(gè)以上計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述索引序列中的數(shù)據(jù)塊是沿著磁盤(pán)上的數(shù)據(jù)磁道的連續(xù)扇區(qū)。
15.—種系統(tǒng),包括: 存儲(chǔ)設(shè)備;以及錯(cuò)誤檢測(cè)模塊,其配置為將數(shù)據(jù)塊的索引序列中的數(shù)據(jù)塊識(shí)別為不可用,其中每個(gè)數(shù)據(jù)塊與物理索引相關(guān)聯(lián);以及 偏移量表創(chuàng)建模塊,其配置為: 將單元號(hào)與與所述索引序列中的指定的數(shù)據(jù)塊之后的后續(xù)可用數(shù)據(jù)塊相關(guān)聯(lián);以及 將偏移量與所述后續(xù)可用數(shù)據(jù)塊的單元號(hào)相關(guān)聯(lián)地記錄在可由錯(cuò)誤檢測(cè)與校正模塊訪問(wèn)的偏移量表中,其中所述偏移量和所述單元號(hào)的組合表示用于所述錯(cuò)誤檢測(cè)與校正模塊的種子。
16.如權(quán)利要求15所述的系統(tǒng),其中所述偏移量是所述后續(xù)可用數(shù)據(jù)塊的所述單元號(hào)與所述物理索引之間的差值。
17.如權(quán)利要求15所述的系統(tǒng),其中所述偏移量表創(chuàng)建模塊還配置為將與所述索引序列中的受所述偏移量影響的第一數(shù)據(jù)塊相關(guān)聯(lián)地記錄所述偏移量。
18.如權(quán)利要求15所述的系統(tǒng),其中偏移量表創(chuàng)建模塊在所述存儲(chǔ)設(shè)備上進(jìn)行工廠格式化操作期間記錄所述偏移量。
19.如權(quán)利要求15所述的系統(tǒng),其中所述偏移量表存儲(chǔ)在所述存儲(chǔ)設(shè)備的固件中。
20.如權(quán)利要求15所述 的系統(tǒng),其中所述索引序列包括與存儲(chǔ)設(shè)備上的順序數(shù)據(jù)塊相關(guān)聯(lián)的連續(xù)增加的索引。
【文檔編號(hào)】G06F11/10GK104050053SQ201410085259
【公開(kāi)日】2014年9月17日 申請(qǐng)日期:2014年3月10日 優(yōu)先權(quán)日:2013年3月11日
【發(fā)明者】D·J·庫(kù)能, A·T·卡塔里亞 申請(qǐng)人:希捷科技有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
蕉岭县| 内江市| 绿春县| 会同县| 绥阳县| 沛县| 宁陵县| 枣强县| 武宁县| 吴桥县| 屏边| 梁平县| 社会| 出国| 高碑店市| 长子县| 灵川县| 临夏县| 手机| 双柏县| 云阳县| 墨竹工卡县| 大兴区| 三门县| 卓尼县| 西贡区| 靖江市| 汉寿县| 精河县| 武鸣县| 大庆市| 宁都县| 凯里市| 临湘市| 祁门县| 龙口市| 临泽县| 永丰县| 逊克县| 深州市| 长白|