專利名稱:容錯(cuò)數(shù)據(jù)存儲(chǔ)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種具有容錯(cuò)功能的數(shù)據(jù)存儲(chǔ)設(shè)備。
背景技術(shù):
當(dāng)數(shù)據(jù)存儲(chǔ)設(shè)備的任何分區(qū)被更新,更新流程中出現(xiàn)的任何中斷可帶來(lái)嚴(yán)重的后果,特別是當(dāng)更新是在元數(shù)據(jù)上執(zhí)行時(shí)。元數(shù)據(jù)的更新可以經(jīng)由在該數(shù)據(jù)存儲(chǔ)設(shè)備上的更新程序來(lái)完成。令人遺憾地,在一些情形下,這樣的更新程序可能被中斷,存儲(chǔ)于該數(shù)據(jù)存儲(chǔ)設(shè)備的數(shù)據(jù)可能包含有被破壞的數(shù)據(jù)。當(dāng)執(zhí)行該更新程序時(shí),中斷可能是由電子或物理原因所引起。例如,在更新程序的過(guò)程中,電源故障可能會(huì)破壞正被寫入該數(shù)據(jù)存儲(chǔ)設(shè)備的一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器內(nèi)的數(shù)據(jù)。另外,從該數(shù)據(jù)存儲(chǔ)設(shè)備物理地移動(dòng)一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器可能會(huì)中斷該更新程序,從而導(dǎo)致對(duì)元數(shù)據(jù)一個(gè)或多個(gè)錯(cuò)誤。當(dāng)出現(xiàn)這樣的元數(shù)據(jù)錯(cuò)誤時(shí),訪問(wèn)存儲(chǔ)數(shù)據(jù)的能力會(huì)受到消極影響,因?yàn)樗龃鎯?chǔ)數(shù)據(jù)是依賴于元數(shù)據(jù)的。
通過(guò)將這樣的系統(tǒng)與本發(fā)明進(jìn)行比較,對(duì)本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),傳統(tǒng)方案的其它缺點(diǎn)和局限性是顯而易見(jiàn)的。以下將參考附圖對(duì)本發(fā)明進(jìn)行闡述。
發(fā)明內(nèi)容
本發(fā)明涉及一種當(dāng)利用數(shù)據(jù)存儲(chǔ)設(shè)備實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)系統(tǒng)時(shí)提供容錯(cuò)的系統(tǒng)及方法。本發(fā)明提供用于一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的分區(qū)、或一個(gè)或多個(gè)扇區(qū)的一部分的冗余編碼。當(dāng)錯(cuò)誤的出現(xiàn)損壞了存儲(chǔ)在一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中的數(shù)據(jù)時(shí),該冗余編碼可以被采用。前述的方面可結(jié)合至少一個(gè)下述的附圖被充分顯示及描述,如在權(quán)利要求中更完全的陳述。
根據(jù)本發(fā)明的一方面,提供一種在數(shù)據(jù)存儲(chǔ)設(shè)備中實(shí)現(xiàn)容錯(cuò)的方法,所述數(shù)據(jù)存儲(chǔ)設(shè)備包括一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,所述方法包括,首先,將與一個(gè)或多個(gè)數(shù)據(jù)庫(kù)的實(shí)現(xiàn)相關(guān)的信息存儲(chǔ)進(jìn)所述一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的一個(gè)或多個(gè)分區(qū)的一個(gè)或多個(gè)第一庫(kù)信息塊中;及其次,將所述與一個(gè)或多個(gè)數(shù)據(jù)庫(kù)的實(shí)現(xiàn)相關(guān)的信息存儲(chǔ)進(jìn)所述一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的一個(gè)或多個(gè)分區(qū)的一個(gè)或多個(gè)第二庫(kù)信息塊中。
優(yōu)選地,由所述一個(gè)或多個(gè)第一庫(kù)信息塊及所述一個(gè)或多個(gè)第二庫(kù)信息塊提供的冗余被用于排除數(shù)據(jù)錯(cuò)誤,當(dāng)對(duì)所述一個(gè)或多個(gè)第一庫(kù)信息塊及所述一個(gè)或多個(gè)第二庫(kù)信息塊的數(shù)據(jù)進(jìn)行更新時(shí),該數(shù)據(jù)錯(cuò)誤可在所述一個(gè)或多個(gè)第一庫(kù)信息塊及所述一個(gè)或多個(gè)第二庫(kù)信息塊中出現(xiàn)。
優(yōu)選地,所述數(shù)據(jù)錯(cuò)誤是由于電源中斷所產(chǎn)生。
優(yōu)選地,所述數(shù)據(jù)錯(cuò)誤是由于當(dāng)對(duì)所述一個(gè)或多個(gè)第一及/或第二庫(kù)信息塊的數(shù)據(jù)進(jìn)行更新時(shí),移動(dòng)一個(gè)或多個(gè)數(shù)據(jù)驅(qū)動(dòng)器所產(chǎn)生。
優(yōu)選地,該方法包括執(zhí)行對(duì)所述一個(gè)或多個(gè)第一和第二庫(kù)信息塊中的一個(gè)或多個(gè)第一庫(kù)信息塊或一個(gè)或多個(gè)第二庫(kù)信息塊的更新。
優(yōu)選地,所述更新的一個(gè)或多個(gè)第一庫(kù)信息塊或所述一個(gè)或多個(gè)第二庫(kù)信息塊處于靜止?fàn)顟B(tài)。
根據(jù)本發(fā)明的一個(gè)方面,提供一種更新數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的兩個(gè)或多個(gè)分區(qū)表的方法,所述兩個(gè)或多個(gè)分區(qū)表包括一個(gè)或多個(gè)靜止分區(qū)表及一個(gè)或多個(gè)活動(dòng)分區(qū)表,所述方法包括訪問(wèn)所述兩個(gè)或多個(gè)分區(qū)表的一個(gè)或多個(gè)靜止分區(qū)表;在所述一個(gè)或多個(gè)靜止分區(qū)表中寫入新的數(shù)據(jù);及采用來(lái)自所述一個(gè)或多個(gè)靜止分區(qū)表的所述新的數(shù)據(jù),在所述的兩個(gè)或多個(gè)分區(qū)表的一個(gè)或多個(gè)活動(dòng)分區(qū)表中寫入所述新的數(shù)據(jù),此后所述一個(gè)或多個(gè)活動(dòng)分區(qū)表變成靜止。
根據(jù)本發(fā)明的一個(gè)方面,提供一種提供在數(shù)據(jù)存儲(chǔ)設(shè)備中的硬盤驅(qū)動(dòng)器的容錯(cuò)重命名的方法,所述數(shù)據(jù)存儲(chǔ)設(shè)備包括一個(gè)或多個(gè)硬盤驅(qū)動(dòng)器,所述方法包括當(dāng)所述一個(gè)或多個(gè)硬盤驅(qū)動(dòng)器中一個(gè)盤頭的盤名稱區(qū)段中包含錯(cuò)誤時(shí),執(zhí)行駐存在所述數(shù)據(jù)存儲(chǔ)設(shè)備的內(nèi)存中的軟件指令集,所述錯(cuò)誤在所述重命名過(guò)程中出現(xiàn);首先,定位在所述硬盤驅(qū)動(dòng)器的一個(gè)分區(qū)的第一庫(kù)信息塊中的第一區(qū)段;其次,定位在所述硬盤驅(qū)動(dòng)器的一個(gè)分區(qū)的第二庫(kù)信息塊中的第二區(qū)段;首先,識(shí)別在所述第一區(qū)段中的第一硬盤名稱;再次,識(shí)別在所述第二區(qū)段中的第二硬盤名稱;比較所述第一硬盤名稱與第二硬盤名稱;及如果所述第一硬盤名稱與第二硬盤名稱相同,將所述第一硬盤名稱寫入到所述硬盤驅(qū)動(dòng)器的所述盤頭的所述盤的名稱區(qū)段中。
優(yōu)選地,所述第一區(qū)段及所述第二區(qū)段包括窗格分區(qū)說(shuō)明區(qū)段(panepartition specification fields)。
根據(jù)本發(fā)明的一方面,提供一種提供數(shù)據(jù)存儲(chǔ)設(shè)備的數(shù)據(jù)庫(kù)的容錯(cuò)重命名的方法,所述數(shù)據(jù)存儲(chǔ)設(shè)備包括一個(gè)或多個(gè)硬盤驅(qū)動(dòng)器,所述方法包括在內(nèi)存中創(chuàng)建第一變量用于存儲(chǔ)所述數(shù)據(jù)庫(kù)的新名稱,所述第一變量被一個(gè)或多個(gè)數(shù)據(jù)處理設(shè)備所采用,所述第一變量補(bǔ)碼成(complementary to)第二變量,所述第二變量存儲(chǔ)有所述數(shù)據(jù)庫(kù)的舊名稱;及利用存儲(chǔ)在所述第一變量的所述數(shù)據(jù)庫(kù)的所述新名稱更新所述第二變量。
優(yōu)選地,所述一個(gè)或多個(gè)數(shù)據(jù)處理設(shè)備包括打印機(jī)服務(wù)器。
優(yōu)選地,所述一個(gè)或多個(gè)數(shù)據(jù)處理設(shè)備包括主域控制器。
根據(jù)本發(fā)明的一方面,提供一種在數(shù)據(jù)存儲(chǔ)設(shè)備中實(shí)現(xiàn)容錯(cuò)的方法,所述數(shù)據(jù)存儲(chǔ)設(shè)備包括一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,所述方法包括首先,將與一個(gè)或多個(gè)分區(qū)的大小和位置相關(guān)的信息存儲(chǔ)進(jìn)所述一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的一個(gè)或多個(gè)第一分區(qū)表中;及其次,將所述與一個(gè)或多個(gè)分區(qū)的大小和位置相關(guān)的信息存儲(chǔ)進(jìn)所述一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的一個(gè)或多個(gè)第二分區(qū)表中。
優(yōu)選地,由所述一個(gè)或多個(gè)第一分區(qū)表及所述一個(gè)或多個(gè)第二分區(qū)表提供的冗余被用于排除數(shù)據(jù)錯(cuò)誤,該數(shù)據(jù)錯(cuò)誤可能在對(duì)所述一個(gè)或多個(gè)第一及第二分區(qū)表進(jìn)行更新時(shí)出現(xiàn)。
優(yōu)選地,所述數(shù)據(jù)錯(cuò)誤由電源中斷所產(chǎn)生。
優(yōu)選地,所述數(shù)據(jù)錯(cuò)誤由當(dāng)對(duì)所述一個(gè)或多個(gè)第一分區(qū)表或所述一個(gè)或多個(gè)第二分區(qū)表的數(shù)據(jù)進(jìn)行更新時(shí),移動(dòng)一個(gè)或多個(gè)數(shù)據(jù)驅(qū)動(dòng)器所產(chǎn)生。
優(yōu)選地,該方法包括當(dāng)所述一個(gè)或多個(gè)第一分區(qū)表或所述一個(gè)或多個(gè)第二分區(qū)表中的分區(qū)表處于靜止?fàn)顟B(tài)時(shí),執(zhí)行對(duì)所述分區(qū)表的更新。
根據(jù)本發(fā)明的一個(gè)方面,提供一種利用一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器用于提供一個(gè)或多個(gè)數(shù)據(jù)庫(kù)的容錯(cuò)實(shí)現(xiàn)的系統(tǒng),所述系統(tǒng)包括內(nèi)存;駐存在所述內(nèi)存中的軟件;及可執(zhí)行所述軟件的處理器,所述執(zhí)行可產(chǎn)生第一分區(qū)表及第二分區(qū)表,所述第一分區(qū)表是所述第二分區(qū)表的鏡像,所述第一分區(qū)表及第二分區(qū)表提供所述一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備中的一個(gè)或多個(gè)分區(qū)的位置及大小;所述執(zhí)行可在每一所述的一個(gè)或多個(gè)分區(qū)中產(chǎn)生第一庫(kù)信息塊及第二庫(kù)信息塊,所述第一庫(kù)信息塊是所述第二庫(kù)信息塊的鏡像,所述第一庫(kù)信息塊及所述第二庫(kù)信息塊提供與連接所述一個(gè)或多個(gè)分區(qū)相關(guān)的信息,其中所述連接利用一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器產(chǎn)生所述一個(gè)或多個(gè)數(shù)據(jù)庫(kù)。
優(yōu)選地,所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器包括硬盤驅(qū)動(dòng)器。
本發(fā)明的這些及其他的優(yōu)點(diǎn)、方面及新穎性,和其實(shí)施例的細(xì)節(jié),將結(jié)合下述的描述及附圖而更易于全面理解。
圖1示出了根據(jù)本發(fā)明實(shí)施例的一種在系統(tǒng)中采用了網(wǎng)絡(luò)附屬存儲(chǔ)設(shè)備(NAS)的典型系統(tǒng)的方框圖。
圖2示出了根據(jù)本發(fā)明實(shí)施例的一種NAS的方框圖。
圖3示出了根據(jù)本發(fā)明實(shí)施例的一種NAS芯片(NASoC)的方框圖。
圖4示出了根據(jù)本發(fā)明實(shí)施例,當(dāng)故障出現(xiàn)時(shí),成功地從NAS訪問(wèn)數(shù)據(jù)的操作步驟流程圖。
圖5示出了根據(jù)本發(fā)明實(shí)施例,在對(duì)硬盤重命名操作過(guò)程中,當(dāng)一個(gè)或多個(gè)問(wèn)題破壞了其盤頭中的盤名稱區(qū)段時(shí),實(shí)現(xiàn)容錯(cuò)程序的運(yùn)作流程圖。
具體實(shí)施例方式
本發(fā)明涉及當(dāng)利用數(shù)據(jù)存儲(chǔ)設(shè)備實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)系統(tǒng)時(shí)提供容錯(cuò)的系統(tǒng)及方法。在一個(gè)實(shí)施例中,該數(shù)據(jù)存儲(chǔ)設(shè)備包括一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器。輔助數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器可被成功地增加以擴(kuò)展數(shù)據(jù)存儲(chǔ)設(shè)備的容量。該數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器可包括硬盤驅(qū)動(dòng)器。
本發(fā)明提供用于一個(gè)或多個(gè)硬盤驅(qū)動(dòng)器的一個(gè)或多個(gè)扇區(qū)或分區(qū)的一部分的冗余編碼,以使該分區(qū)可被共同地用于產(chǎn)生一個(gè)或多個(gè)數(shù)據(jù)庫(kù)。該編碼部分包括駐存于一個(gè)或多個(gè)扇區(qū)或分區(qū)的一個(gè)或多個(gè)表頭中的數(shù)據(jù)。該存儲(chǔ)在表頭中的一個(gè)或多個(gè)數(shù)據(jù)區(qū)段內(nèi)的信息可被用于映射或訪問(wèn)來(lái)自一個(gè)或多個(gè)分區(qū)的某些數(shù)據(jù),以使用戶所需的一個(gè)或多個(gè)數(shù)據(jù)庫(kù)被成功地訪問(wèn)及檢索。該表頭可被稱為庫(kù)信息塊(PIBs),其位于每一分區(qū)中。該冗余編碼可包括存儲(chǔ)在一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中的一個(gè)或多個(gè)分區(qū)的一個(gè)或多個(gè)區(qū)段中的數(shù)據(jù)。該一個(gè)或多個(gè)區(qū)段可包括一個(gè)例如在PIB中的窗格分區(qū)說(shuō)明區(qū)段。當(dāng)然,數(shù)據(jù)庫(kù)與超過(guò)一個(gè)或多個(gè)硬盤驅(qū)動(dòng)器的一個(gè)或多個(gè)分區(qū)的集合相對(duì)應(yīng),以致產(chǎn)生一個(gè)“邏輯驅(qū)動(dòng)器”。在一代表性實(shí)施例中,該表頭(或PIB)被復(fù)制以產(chǎn)生第二表頭。象這樣,兩個(gè)PIB被合并進(jìn)每一分區(qū),作為冗余手段,產(chǎn)生成雙的或鏡像的PIB。該數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器被用于存儲(chǔ)由電纜話務(wù)員或電信服務(wù)商所提供的視頻或多媒體數(shù)據(jù)。該數(shù)據(jù)存儲(chǔ)設(shè)備可被通信地連接到一個(gè)或多個(gè)數(shù)據(jù)處理設(shè)備(如人個(gè)視頻錄像器(PVR)、PVR準(zhǔn)備機(jī)頂盒、電腦、PDA、數(shù)字化應(yīng)用設(shè)備等等),以使該存儲(chǔ)在數(shù)據(jù)存儲(chǔ)設(shè)備中的數(shù)據(jù)可被傳送到或接收自一個(gè)或多個(gè)數(shù)據(jù)處理設(shè)備。例如,該數(shù)據(jù)存儲(chǔ)設(shè)備可被連接或配置到一個(gè)網(wǎng)絡(luò)中,以使該一個(gè)或多個(gè)數(shù)據(jù)處理設(shè)備可在該數(shù)據(jù)存儲(chǔ)設(shè)備上進(jìn)行數(shù)據(jù)讀寫操作。因?yàn)槠渌邆涞墓δ?,上述的?shù)據(jù)存儲(chǔ)設(shè)備可被稱為網(wǎng)絡(luò)附屬存儲(chǔ)設(shè)備(NAS)。有關(guān)庫(kù)信息塊(PIB)的使用的細(xì)節(jié)信息可在2005年3月22日申請(qǐng)的專利申請(qǐng)?zhí)枮開(kāi)_______的美國(guó)專利中找到,其名稱為“利用一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備分配及管理數(shù)據(jù)存儲(chǔ)容量的系統(tǒng)及方法(Method and System of Data Storage Capacity Allocation andManagement Using One or More Data Storage Drives)”(代理所編號(hào)15675US03),在此通過(guò)整體參照將該申請(qǐng)的全部主題結(jié)合于本文中。
如此處所描述,數(shù)據(jù)存儲(chǔ)設(shè)備可包括一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,諸如硬盤驅(qū)動(dòng)器,或其他類型的驅(qū)動(dòng)器。數(shù)據(jù)存儲(chǔ)設(shè)備可包括不同類型的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的組合。數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器可包括能夠存儲(chǔ)數(shù)據(jù)的任何類型的媒介。以下,可選用術(shù)語(yǔ)“硬盤驅(qū)動(dòng)器”來(lái)指代數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器或任何驅(qū)動(dòng)器或包括有用于存儲(chǔ)數(shù)據(jù)的媒介的部件。在代表性實(shí)施例中,一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器或硬盤驅(qū)動(dòng)器可被結(jié)合進(jìn)數(shù)據(jù)存儲(chǔ)設(shè)備。該數(shù)據(jù)存儲(chǔ)設(shè)備包括一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器或硬盤驅(qū)動(dòng)器。在代表性實(shí)施例中,該數(shù)據(jù)存儲(chǔ)設(shè)備促進(jìn)了一個(gè)或多個(gè)附加數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器或硬盤驅(qū)動(dòng)器的結(jié)合。通過(guò)將一個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器與另一個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器鏈接到一起的連接器,可以對(duì)該數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器或硬盤驅(qū)動(dòng)器進(jìn)行擴(kuò)展。
圖1示出了根據(jù)本發(fā)明實(shí)施例的一種配置有網(wǎng)絡(luò)附屬存儲(chǔ)設(shè)備(NAS)100的典型系統(tǒng)的方框圖。該NAS 100為一個(gè)或多個(gè)數(shù)據(jù)處理設(shè)備提供數(shù)據(jù)存儲(chǔ)。如圖所示,一個(gè)典型的交換設(shè)備提供了NAS 100到一個(gè)或多個(gè)數(shù)據(jù)處理設(shè)備的連接。該交換設(shè)備能夠采用無(wú)線或有線通信提供連接。例如,無(wú)線路由器可采用下述的任一無(wú)線或有線數(shù)據(jù)通信協(xié)議10/100M以太網(wǎng)、千兆以太網(wǎng)、802.11X、藍(lán)牙等等。該一個(gè)或多個(gè)數(shù)據(jù)處理設(shè)備包括如下設(shè)備,諸如,數(shù)碼攝像機(jī)(cybercam)、數(shù)碼相機(jī)、MP3播放機(jī)、PDA及一個(gè)或多個(gè)個(gè)人視頻錄像機(jī)(PVR)。如圖所示,PVR可配備/不配備硬盤驅(qū)動(dòng)器。在一個(gè)實(shí)施例中,PVR可被認(rèn)為是一個(gè)結(jié)合有個(gè)人視頻錄像機(jī)功能的機(jī)頂盒(STB)。在另一實(shí)施例中,PVR可被認(rèn)為是PVR-STB。圖示的PVR被連接到可為家庭用戶播放多媒體內(nèi)容的電視機(jī)或監(jiān)視器。NAS 100的使用提供了一個(gè)中央存儲(chǔ)設(shè)備,可用于存儲(chǔ)從該一個(gè)或多個(gè)PVR所接收的多媒體內(nèi)容。作為在NAS 100中存儲(chǔ)內(nèi)容的結(jié)果,未配置存儲(chǔ)裝置(如硬盤驅(qū)動(dòng)器)的PVR,可將其接收到的任何數(shù)據(jù)存儲(chǔ)進(jìn)NAS 100。另外,任何由其他數(shù)據(jù)處理設(shè)備存儲(chǔ)的數(shù)據(jù),包括PVR,可被任何一個(gè)或多個(gè)數(shù)據(jù)處理設(shè)備很容易地訪問(wèn)或查看。例如,不帶硬驅(qū)的PVR可訪問(wèn)由帶有硬驅(qū)的PVR最初存儲(chǔ)到NAS 100中的多媒體內(nèi)容,反之亦然。結(jié)果,NAS 100促使了一個(gè)或多個(gè)數(shù)據(jù)處理設(shè)備中的數(shù)據(jù)分享。既然它提供了一個(gè)遠(yuǎn)程存儲(chǔ)機(jī)構(gòu),該NAS 100可被一個(gè)或多個(gè)數(shù)據(jù)處理設(shè)備認(rèn)作為一個(gè)“虛擬存儲(chǔ)設(shè)備”。該NAS 100的配置使得其存儲(chǔ)容量可以容易地?cái)U(kuò)展。在一個(gè)實(shí)施例中,該NAS 100可接受附加硬盤驅(qū)動(dòng)器。通過(guò)將硬盤驅(qū)動(dòng)器插進(jìn)“驅(qū)動(dòng)器滑板(driver sled)”可以很容易地?cái)U(kuò)展該NAS的存儲(chǔ)容量,且該“驅(qū)動(dòng)器滑板”可以很容易地插入到NAS 100的機(jī)架中。該“驅(qū)動(dòng)器滑板”可被認(rèn)為是一個(gè)可與一類或多類硬盤驅(qū)動(dòng)器接口連接或配合的裝置,以使其插入進(jìn)NAS 100被毫不費(fèi)力地實(shí)現(xiàn)。在一個(gè)實(shí)施例中,現(xiàn)存的硬盤驅(qū)器可被具有更高容量的驅(qū)動(dòng)器所代替。NAS 100可包括附加的多個(gè)能夠容納一定數(shù)量的驅(qū)動(dòng)器的空“驅(qū)動(dòng)器滑板”,適于將來(lái)的擴(kuò)充和擴(kuò)展。
當(dāng)NAS第一次連接到圖1所顯示的典型交換設(shè)備,作為初始化流程的一部分,可對(duì)其一個(gè)或多個(gè)參數(shù)進(jìn)行設(shè)置。在一個(gè)實(shí)施例中,在初始化過(guò)程中設(shè)置的參數(shù)包括該NAS的時(shí)間、日期及時(shí)區(qū)。該NAS可利用圖1所顯示的電腦作為其時(shí)間、日期及時(shí)區(qū)設(shè)置中的參考源。可預(yù)期的是,NAS可以利用圖1中所示的其他處理設(shè)備(如,數(shù)碼攝像機(jī)、數(shù)碼相機(jī)、不帶硬驅(qū)的PVR、帶硬驅(qū)的PVR、MP3播放器、或PDA)中任何一個(gè)作為其設(shè)置過(guò)程中的參考源。
圖2示出了根據(jù)本發(fā)明實(shí)施例的一種網(wǎng)絡(luò)附屬存儲(chǔ)設(shè)備(NAS)200的方框圖。該NAS 200包括一個(gè)包含有一個(gè)或多個(gè)元件的印刷電路板(NASPCB)202。該一個(gè)或多個(gè)元件經(jīng)由印刷電路板(PCB)202電連接。一個(gè)或多個(gè)元件包括NAS芯片(NASoC)204、隨機(jī)存儲(chǔ)器208、快閃存儲(chǔ)器212、AC電源接口216、電源220、接口塊224、無(wú)線收發(fā)信機(jī)/天線模塊228、一個(gè)或多個(gè)硬盤驅(qū)動(dòng)器232及控制器236。接口塊224可包括一個(gè)或多個(gè)下述接口IEEE 1394、USB、10/100M以太網(wǎng)、千兆以太網(wǎng)、PCI、SATA、ATA、IDE、SCSI、GPIO等等。無(wú)線收發(fā)信機(jī)/天線模塊228可包括一塊可任選地連接或附裝到NAS的印刷電路板202上的可附加模塊或袖珍型PCI卡。如圖所示,該NAS 200可以配置多達(dá)N個(gè)硬盤驅(qū)動(dòng)器?;陬A(yù)定的應(yīng)用,該NAS 200可配置任何數(shù)目的硬驅(qū)。該所配置的硬盤驅(qū)動(dòng)器的數(shù)目,例如,可依賴于接入到該NAS 200的用戶的數(shù)目或所使用的應(yīng)用的類型。該所配置的硬盤驅(qū)動(dòng)器的數(shù)目,例如,也可依賴于所期望的數(shù)據(jù)映射或數(shù)據(jù)分拆(datamirroring or data striping)(即RAID)的范圍。根據(jù)本發(fā)明的特征,由于NAS被設(shè)計(jì)成可接納附加的驅(qū)動(dòng)器,因而允許對(duì)存儲(chǔ)容量進(jìn)行擴(kuò)展。通過(guò)簡(jiǎn)單地將一種或多種類型驅(qū)動(dòng)器(具有不同的大小及速度)連接進(jìn)一個(gè)可很容易地滑進(jìn)NAS機(jī)架中的硬盤架或“驅(qū)動(dòng)器滑板”,使一個(gè)或多個(gè)附加驅(qū)動(dòng)器結(jié)合于NAS。在一個(gè)實(shí)施例中,控制器236對(duì)任何一種連接到NASoC 204的設(shè)備(如硬盤驅(qū)動(dòng)器)進(jìn)行控制。該MASoC 204可包括一塊結(jié)合了處理器或中央處理單元(CPU)240的集成電路芯片。
圖3示出了根據(jù)本發(fā)明實(shí)施例的一種NAS芯片(NASoC)300的方框圖。該NASoC 300是一塊安裝在以上所描述的NAS PCB上的集成電路。該NASoC 300提供一個(gè)或多個(gè)功能,可允許NAS適當(dāng)操作。該NASoC300包括中央處理單元(CPU)304、芯片內(nèi)隨機(jī)存儲(chǔ)器308、以太網(wǎng)/MAC控制器312、密碼加速器316、一個(gè)安全/鑒定、密鈅的交換、DRM芯片320,及許多接口324、328、332、336、340。例如,可采用下述的接口USB設(shè)備I/F324、PCI主機(jī)I/F 332、GPIO/LCD/閃存媒體I/F 328、ATA I/F 336及USB主機(jī)I/F 340。該NAS芯片300可通信及/或連接到圖5中所描述的一個(gè)或多個(gè)元件(請(qǐng)參考圖5的描述)。
參考圖2,NAS 200可根據(jù)其存儲(chǔ)容量及RAID(映射及/或分拆(mirroringand/or striping))可配置可變數(shù)目的硬盤驅(qū)動(dòng)器。例如,該NAS 200可采用4個(gè)硬盤驅(qū)動(dòng)器來(lái)執(zhí)行RAID 0+1(數(shù)據(jù)映射和數(shù)據(jù)分拆兩者(both datamirroring and data striping)),以適于在小型辦公/商業(yè)環(huán)境中使用。在另一方面,該NAS 200可在家庭(或家用)環(huán)境僅利用1或2個(gè)硬盤驅(qū)動(dòng)器,因?yàn)槠洳捎玫拇鎯?chǔ)器容量一般小于在辦公/商業(yè)環(huán)境中所采用的。在另外的代表性實(shí)施例中,該NAS 200可采用任何數(shù)目(即一個(gè)或多個(gè))的硬盤驅(qū)動(dòng)器。相似地,在NAS 200中采用的內(nèi)存元件也可依使用的類型而變化。由于數(shù)據(jù)存儲(chǔ)需求的增長(zhǎng)及數(shù)據(jù)存儲(chǔ)相關(guān)請(qǐng)求的頻率的增長(zhǎng),可以通過(guò)增加NAS 200的內(nèi)存大小來(lái)提高NAS 200的性能以符合其工作的需要。例如,閃存或DRAM內(nèi)存容量可被增加以提高NAS 200的處理性能。相似地,機(jī)架尺寸、電源電路、及其他元件也可被調(diào)整以符合當(dāng)NAS的存儲(chǔ)器容量被擴(kuò)展后的處理需求。
在一個(gè)實(shí)施例中,當(dāng)該NAS 200被啟動(dòng)或加電時(shí),該NASoC(204或300)中的處理器240會(huì)執(zhí)行駐存于RAM 208及/或閃存212內(nèi)的軟件或韌件。在一個(gè)實(shí)施例中,執(zhí)行該軟件會(huì)產(chǎn)生一個(gè)或多個(gè)容錯(cuò)算法,在NAS 200的數(shù)據(jù)處理過(guò)程中出現(xiàn)一個(gè)或多個(gè)錯(cuò)誤時(shí),使用該算法。在一個(gè)實(shí)施例中,該軟件或韌件存儲(chǔ)在NAS 200的RAM 208或閃存212中(請(qǐng)參考在先的圖2)。該閃存可包括非易失隨機(jī)存儲(chǔ)器(NVRAM)。
圖4示出了根據(jù)本發(fā)明實(shí)施例,對(duì)NAS的一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中的被破壞數(shù)據(jù)的檢錯(cuò)和糾錯(cuò)過(guò)程的操作流程圖。錯(cuò)誤的出現(xiàn)會(huì)導(dǎo)致存儲(chǔ)在一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的一個(gè)或多個(gè)分區(qū)中的數(shù)據(jù)被破壞。被破壞的數(shù)據(jù)可能包括一個(gè)或多個(gè)庫(kù)信息塊(PIB),該庫(kù)信息塊用在對(duì)一個(gè)或多個(gè)用于創(chuàng)建或形成數(shù)據(jù)庫(kù)的分區(qū)進(jìn)行鏈接或連接。該錯(cuò)誤的出現(xiàn)可包括在PIS的數(shù)據(jù)處理或操作過(guò)程中的電源斷電。例如,在PIB上的一個(gè)操作過(guò)程中的電源斷電或電源中斷會(huì)使數(shù)據(jù)遭到破壞。該操作可包括更新存儲(chǔ)在PIB中的數(shù)據(jù)。另外,提供到NAS中的一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的電子信號(hào)的中斷也可構(gòu)成錯(cuò)誤發(fā)生。這可在當(dāng)用戶移動(dòng)或突然斷開(kāi)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器時(shí)出現(xiàn)。錯(cuò)誤發(fā)生可包括引起NAS的一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中的數(shù)據(jù)被破壞的任何物理的或電子的刺激。在步驟404,當(dāng)NAS正在對(duì)數(shù)據(jù)進(jìn)行操作時(shí),一個(gè)典型的電源斷電出現(xiàn)。例如,該電源斷電可能在當(dāng)庫(kù)信息塊(PIB)正進(jìn)行更改或更新時(shí)發(fā)生。電源斷電會(huì)導(dǎo)致在一個(gè)或多個(gè)硬盤驅(qū)動(dòng)器的一個(gè)或多個(gè)分區(qū)中出現(xiàn)遭破壞的數(shù)據(jù)。該一個(gè)或多個(gè)分區(qū)可包括正被更改的PIB。每一該一個(gè)或多個(gè)分區(qū)可包括鏡像的(或成雙的)庫(kù)信息塊(PIB)。因而,該兩個(gè)PIB中僅有一個(gè)(例如,該活動(dòng)的或第一PIB)會(huì)受該錯(cuò)誤發(fā)生或典型電源斷電的影響。在步驟408,NAS在讀取一個(gè)或多個(gè)數(shù)據(jù)庫(kù)時(shí)檢測(cè)被破壞的數(shù)據(jù)。在一個(gè)或多個(gè)分區(qū)被連接之后對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀取時(shí),該NAS可檢測(cè)被破壞的數(shù)據(jù)。在步驟412,一個(gè)或多個(gè)算法被用于通過(guò)采用其鏡像PIB(如靜止PIB或第二PIB或第二表頭)在被破壞的PIB(例如活動(dòng)PIB或第一PIB或第一表頭)中恢復(fù)該被破壞的數(shù)據(jù)。在一個(gè)代表性實(shí)施例中,當(dāng)在受影響的PIB中恢復(fù)該被破壞的數(shù)據(jù)時(shí),該關(guān)聯(lián)的數(shù)據(jù)庫(kù)可以是未安裝的。請(qǐng)參照結(jié)合于2005年3月22日申請(qǐng)的,序列號(hào)為_(kāi)_______的專利,其名稱為“利用一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器分配及管理數(shù)據(jù)存儲(chǔ)容量的系統(tǒng)及方法(Method and System of Data Storage Capacity Allocation and ManagementUsing One or More Data Storage Drives)”(代理所編號(hào)15675US03),該第一及第二表頭(該鏡像的PIB)可包含與各個(gè)分區(qū)相關(guān)的信息,該各個(gè)分區(qū)共同形成數(shù)據(jù)庫(kù)的。該第一或第二表頭中的每一個(gè)表頭可包含與其關(guān)聯(lián)的數(shù)據(jù)庫(kù)中的其分區(qū)的組織結(jié)構(gòu)及/或識(shí)別相關(guān)的信息。這些檢錯(cuò)及糾錯(cuò)處理可通過(guò)讀取、校驗(yàn)及測(cè)試一個(gè)或多個(gè)數(shù)據(jù)庫(kù)時(shí)產(chǎn)生。在第一PIB中的數(shù)據(jù)被恢復(fù)之后,流程繼續(xù)步驟416,該糾錯(cuò)數(shù)據(jù)被成功地訪問(wèn)或讀取,且其關(guān)聯(lián)的分區(qū)被正確鏈接以形成預(yù)期的數(shù)據(jù)庫(kù)。作為最后的校驗(yàn)步驟,采用一個(gè)或多個(gè)應(yīng)用程序?qū)υ摂?shù)據(jù)庫(kù)進(jìn)行測(cè)試。此后,該關(guān)聯(lián)的數(shù)據(jù)庫(kù)可被重安裝。來(lái)自該數(shù)據(jù)庫(kù)的數(shù)據(jù)可被一個(gè)或多個(gè)通信地連接到NAS的數(shù)據(jù)處理或計(jì)算設(shè)備所請(qǐng)求及檢索。一個(gè)或多個(gè)應(yīng)用程序現(xiàn)在可利用存儲(chǔ)在該數(shù)據(jù)庫(kù)中的該數(shù)據(jù)。
在一個(gè)代表性實(shí)施例中,NAS通過(guò)檢查該兩個(gè)PIB中每一個(gè)PIB的一個(gè)或多個(gè)對(duì)應(yīng)區(qū)段來(lái)檢測(cè)被破壞的數(shù)據(jù)。例如,該NAS可檢測(cè)在該兩對(duì)應(yīng)區(qū)段之間數(shù)據(jù)的不匹配。在一代表性實(shí)施例中,一個(gè)或多個(gè)算法被應(yīng)用到每一該一個(gè)或多個(gè)分區(qū)的成雙的PIB,以對(duì)在該數(shù)據(jù)庫(kù)的一個(gè)或多個(gè)分區(qū)中的每一個(gè)PIB中發(fā)現(xiàn)的任何被破壞的數(shù)據(jù)進(jìn)行檢錯(cuò)及糾錯(cuò)。例如,該一個(gè)或多個(gè)算法可對(duì)在成雙的PIB的對(duì)應(yīng)區(qū)段之間的任何不匹配進(jìn)行檢錯(cuò)及糾錯(cuò)。一旦差異被檢測(cè)到,該一個(gè)或多個(gè)算法可執(zhí)行在PIB中的其他區(qū)段的進(jìn)一步檢查。該算法可包括對(duì)數(shù)據(jù)庫(kù)的每一該一個(gè)或多個(gè)分區(qū)的對(duì)應(yīng)PIB之間存儲(chǔ)的數(shù)據(jù)進(jìn)行比較。在一個(gè)代表性實(shí)施例中,該NAS可使用該P(yáng)IB的時(shí)間及日期區(qū)段確定該兩個(gè)PIB中哪個(gè)建立得更早。在一個(gè)代表性實(shí)施例中,較早建立的該P(yáng)IB可被用作參照以在其他PIB的被破壞的區(qū)段重寫數(shù)據(jù)。
圖5示出了根據(jù)本發(fā)明實(shí)施例,在對(duì)硬盤重命名操作過(guò)程中,當(dāng)一個(gè)或多個(gè)問(wèn)題破壞了其盤頭中的盤名稱區(qū)段時(shí),實(shí)現(xiàn)容錯(cuò)程序的運(yùn)作流程圖。該一個(gè)或多個(gè)問(wèn)題可包括在進(jìn)行重命名操作時(shí),由NAS的電源故障引起的或從NAS上移動(dòng)硬盤驅(qū)動(dòng)器所引起的數(shù)據(jù)錯(cuò)誤。在步驟504,一個(gè)或多個(gè)問(wèn)題出現(xiàn)會(huì)在將一硬盤名稱寫入到硬盤驅(qū)動(dòng)器的盤頭的盤名稱區(qū)段中時(shí)引發(fā)錯(cuò)誤。例如,在盤重命名操作過(guò)程中的電源故障可能引起NAS重啟動(dòng)。在重啟動(dòng)周期的過(guò)程中,該NAS可自動(dòng)執(zhí)行引導(dǎo)程序中的指令以校驗(yàn)或檢查一個(gè)或多個(gè)與該盤重命名操作相關(guān)的區(qū)段。該一個(gè)或多個(gè)區(qū)段可包括位于一個(gè)或多個(gè)庫(kù)信息塊(PIB)內(nèi)的窗格分區(qū)說(shuō)明區(qū)段。(請(qǐng)參照結(jié)合于2005年3月22日申請(qǐng)的,序列號(hào)為_(kāi)_______的專利,其名稱為“利用一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器分配及管理數(shù)據(jù)存儲(chǔ)容量的系統(tǒng)及方法(Method and System ofData Storage Capacity Allocation and Management Using One or More DataStorage Drives)”(代理所編號(hào)15675US03))。在步驟508,該NAS定位該硬盤驅(qū)動(dòng)器中的分區(qū)的PIB中的窗格分區(qū)說(shuō)明區(qū)段。該窗格分區(qū)說(shuō)明區(qū)段可包括該分區(qū)所駐存的盤名稱。在步驟512,該NAS可驗(yàn)證該兩個(gè)PIB的窗格分區(qū)說(shuō)明區(qū)段中的盤名稱是相同的。而且,該NAS可進(jìn)一步驗(yàn)證該盤的唯一ID、該NAS ID及時(shí)間/日期圖章,以確保由PIB提供的數(shù)據(jù)的完整性。接下來(lái),在步驟516,如果該窗格分區(qū)說(shuō)明區(qū)段中的盤名稱是相同的,該NAS將該盤名稱(利用從PIB獲得的盤名稱)重寫到硬盤驅(qū)動(dòng)器的盤頭中的盤名稱區(qū)段中。
關(guān)于盤頭的指令的詳細(xì)信息可在于2005年3月22日申請(qǐng)的,專利申請(qǐng)?zhí)枮開(kāi)_______的專利中找到,其名稱為“利用一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器分配及管理數(shù)據(jù)存儲(chǔ)容量的系統(tǒng)及方法(Method and System of Data StorageCapacity Allocation and Management Using One or More Data Storage Drives)”(代理所編號(hào)15675US03),在此通過(guò)整體參照從而結(jié)合以上陳述的申請(qǐng)。在該代表性實(shí)施例中,每一盤頭包括2,560字節(jié)。該盤頭包括許多區(qū)段。該盤頭中的區(qū)段偏移及字節(jié)長(zhǎng)度可以不同。值得預(yù)期的是,根據(jù)本發(fā)明的不同方面可以采用其他的實(shí)施例。
本發(fā)明的不同方面提供了該盤頭利用兩個(gè)相同的分區(qū)表。使用兩個(gè)相同的分區(qū)表提供了一種對(duì)冗余的度量。該第一分區(qū)表或第二分區(qū)表均可包括1024字節(jié)。該盤頭被構(gòu)建以使在任一給定的時(shí)間,該兩個(gè)分區(qū)表中僅有一個(gè)是活動(dòng)的,以盤頭中的一個(gè)字節(jié)的標(biāo)志區(qū)段進(jìn)行標(biāo)明。當(dāng)改變或修改分區(qū)表,新信息被寫進(jìn)該靜止的分區(qū)表,此處被標(biāo)識(shí)為第一分區(qū)表,且該一個(gè)字節(jié)的標(biāo)志被觸發(fā)(toggle)以使該靜止的分區(qū)表(第一分區(qū)表)變成活動(dòng)。該第一分區(qū)表現(xiàn)在可被一個(gè)或多個(gè)應(yīng)用訪問(wèn)或使用,而該第二分區(qū)表現(xiàn)在從該第一分區(qū)表復(fù)制該更新的數(shù)據(jù)。當(dāng)一個(gè)或兩個(gè)分區(qū)表由于錯(cuò)誤發(fā)生而被破壞時(shí),冗余分區(qū)表提供了安全的手段。該錯(cuò)誤發(fā)生引起到受影響的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的一個(gè)或多個(gè)分區(qū)表的數(shù)據(jù)被破壞及/或數(shù)據(jù)錯(cuò)誤。該錯(cuò)誤發(fā)生可包括在兩個(gè)相同的分區(qū)表其中一個(gè)上進(jìn)行數(shù)據(jù)處理或操作過(guò)程中,發(fā)生的電源中斷。該錯(cuò)誤發(fā)生可包括當(dāng)對(duì)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的分區(qū)表進(jìn)行更新時(shí),移動(dòng)了數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器。該分區(qū)表,當(dāng)然提供數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中的一個(gè)或多個(gè)分區(qū)的位置及大小。關(guān)于盤頭的詳細(xì)信息可在于2005年3月22日申請(qǐng)的,專利申請(qǐng)?zhí)枮開(kāi)_______的專利中找到,其名稱為“利用一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器分配及管理數(shù)據(jù)存儲(chǔ)容量的系統(tǒng)及方法(Method and System of DataStorage Capacity Allocation and Management Using One or More Data StorageDrives)”(代理所編號(hào)15675US03),在此通過(guò)整體參照從而結(jié)合以上陳述的申請(qǐng)。
本發(fā)明的不同方面提供了在數(shù)據(jù)庫(kù)重命名操作過(guò)程中的容錯(cuò)。一個(gè)或多個(gè)在數(shù)據(jù)庫(kù)重命名操作過(guò)程中的容錯(cuò)方法及系統(tǒng)被實(shí)現(xiàn)。在一個(gè)代表性實(shí)施例中,所采用的該方法在第一PIB被完全寫入之前阻止將數(shù)據(jù)庫(kù)名寫入到第二PIB中。所采用的該方法可在至少一個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器故障(missing)時(shí)阻止重命名數(shù)據(jù)庫(kù)。在該數(shù)據(jù)庫(kù)被重命名之前,該故障(missing)的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器必須被重安裝到數(shù)據(jù)存儲(chǔ)設(shè)備中。
另外,一個(gè)或多個(gè)新變量可在內(nèi)存(如非易失性隨機(jī)存儲(chǔ)器(NVRAM))中被創(chuàng)建,以使該新數(shù)據(jù)庫(kù)名稱可被存儲(chǔ)進(jìn)該一個(gè)或多個(gè)新變量的一個(gè)之中,而該舊名稱正被現(xiàn)存的變量所使用。在這種情況下,為使打印機(jī)服務(wù)器及/或主域控制器(PDC)正常操作,可能需要該數(shù)據(jù)庫(kù)名稱。當(dāng)該現(xiàn)存的變量未被打印機(jī)服務(wù)器及/或主域控制器所請(qǐng)求的功能或操作而使用時(shí),可以利用存儲(chǔ)在該新變量中的數(shù)據(jù)對(duì)該現(xiàn)存的變量進(jìn)行更新。此后,新的變量可以刪除。
雖然通過(guò)實(shí)施例對(duì)本發(fā)明進(jìn)行了描述,本領(lǐng)域技術(shù)人員知曉,在不脫離本發(fā)明權(quán)利要求范圍的情況下,可以對(duì)本發(fā)明進(jìn)行各種改變及等同替代。另外,在不脫離本發(fā)明權(quán)利要求范圍的情況下,從本發(fā)明的教導(dǎo)中可以對(duì)本發(fā)明進(jìn)行修改以適應(yīng)特定的情形或材料。因而,本發(fā)明不受此處所公開(kāi)的特殊的實(shí)施例的限制,任何落入本發(fā)明權(quán)利要求范圍內(nèi)的實(shí)施例都屬于本發(fā)明的范圍。
本申請(qǐng)引用、要求優(yōu)先權(quán)及主張受益于于2004年4月15日提交的序列號(hào)為60/562852的美國(guó)臨時(shí)專利申請(qǐng),其名稱為“在硬盤存儲(chǔ)設(shè)備中的容錯(cuò)數(shù)據(jù)存儲(chǔ)(Fault Tolerant Data Storage ina Disk Storage Device)”(代理方編號(hào)為1568US01),在此通過(guò)整體參照從而結(jié)合以上陳述的申請(qǐng)。
于2005年1月31日提交的序列號(hào)為60/648488的美國(guó)臨時(shí)專利申請(qǐng),其名稱為“容錯(cuò)數(shù)據(jù)存儲(chǔ)設(shè)備(Fault Tolerant Data Storage Device)”,(代理方編號(hào)為1568US02),在此通過(guò)整體參照從而結(jié)合以上陳述的申請(qǐng)。以及于2005年3月22日提交的序列號(hào)為_(kāi)_______的美國(guó)專利申請(qǐng),(代理方編號(hào)為15675US03),在此通過(guò)整體參照從而結(jié)合以上陳述的申請(qǐng)。
權(quán)利要求
1.一種在數(shù)據(jù)存儲(chǔ)設(shè)備中實(shí)現(xiàn)容錯(cuò)的方法,所述數(shù)據(jù)存儲(chǔ)設(shè)備包括一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,其特征在于,所述方法包括首先,將與一個(gè)或多個(gè)數(shù)據(jù)庫(kù)的實(shí)現(xiàn)相關(guān)的信息存儲(chǔ)進(jìn)所述一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的一個(gè)或多個(gè)分區(qū)的一個(gè)或多個(gè)第一庫(kù)信息塊中;及其次,將所述與一個(gè)或多個(gè)數(shù)據(jù)庫(kù)的實(shí)現(xiàn)相關(guān)的信息存儲(chǔ)進(jìn)所述一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的一個(gè)或多個(gè)分區(qū)的一個(gè)或多個(gè)第二庫(kù)信息塊中。
2.如權(quán)利要求1所述的方法,其中,當(dāng)對(duì)所述一個(gè)或多個(gè)第一庫(kù)信息塊及所述一個(gè)或多個(gè)第二庫(kù)信息塊進(jìn)行數(shù)據(jù)更新時(shí),在所述一個(gè)或多個(gè)第一庫(kù)信息塊及所述一個(gè)或多個(gè)第二庫(kù)信息塊中可能出現(xiàn)數(shù)據(jù)錯(cuò)誤,其特征在于利用由所述一個(gè)或多個(gè)第一庫(kù)信息塊及所述一個(gè)或多個(gè)第二庫(kù)信息塊提供的冗余排除該數(shù)據(jù)錯(cuò)誤。
3.如權(quán)利要求2所述的方法,其特征在于,所述數(shù)據(jù)錯(cuò)誤是由于電源中斷所產(chǎn)生。
4.如權(quán)利要求2所述的方法,其特征在于,所述數(shù)據(jù)錯(cuò)誤是由于當(dāng)對(duì)所述一個(gè)或多個(gè)第一及/或第二庫(kù)信息塊進(jìn)行數(shù)據(jù)更新時(shí),移動(dòng)一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器所產(chǎn)生。
5.一種更新兩個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的分區(qū)表的方法,所述兩個(gè)或多個(gè)分區(qū)表包括一個(gè)或多個(gè)靜止分區(qū)表及一個(gè)或多個(gè)活動(dòng)分區(qū)表,其特征在于,所述方法包括訪問(wèn)(accessing)所述兩個(gè)或多個(gè)分區(qū)表的一個(gè)或多個(gè)靜止分區(qū)表;在所述一個(gè)或多個(gè)靜止分區(qū)表中寫入新的數(shù)據(jù);及采用來(lái)自所述一個(gè)或多個(gè)靜止分區(qū)表的所述新的數(shù)據(jù),將所述新的數(shù)據(jù)寫入所述的兩個(gè)或多個(gè)分區(qū)表的一個(gè)或多個(gè)活動(dòng)分區(qū)表中,此后所述一個(gè)或多個(gè)活動(dòng)分區(qū)表變成靜止。
6.一種提供在數(shù)據(jù)存儲(chǔ)設(shè)備中的硬盤驅(qū)動(dòng)器的容錯(cuò)重命名的方法,所述數(shù)據(jù)存儲(chǔ)設(shè)備包括一個(gè)或多個(gè)硬盤驅(qū)動(dòng)器,其特征在于,所述方法包括當(dāng)所述一個(gè)或多個(gè)硬盤驅(qū)動(dòng)器的盤頭的盤名稱區(qū)段中包含錯(cuò)誤時(shí),執(zhí)行駐存在所述數(shù)據(jù)存儲(chǔ)設(shè)備的內(nèi)存中的軟件指令集,其中所述錯(cuò)誤在所述重命名過(guò)程中出現(xiàn);首先,定位在所述硬盤驅(qū)動(dòng)器的一個(gè)分區(qū)的第一庫(kù)信息塊中的第一區(qū)段;其次,定位在所述硬盤驅(qū)動(dòng)器的所述分區(qū)的第二庫(kù)信息塊中的第二區(qū)段;首先,識(shí)別在所述第一區(qū)段中的第一硬盤名稱;再次,識(shí)別在所述第二區(qū)段中的第二硬盤名稱;比較所述第一硬盤名稱與第二硬盤名稱;及如果所述第一硬盤名稱與第二硬盤名稱相同,將所述第一硬盤名稱寫入到所述硬盤驅(qū)動(dòng)器的所述盤頭的所述盤名稱區(qū)段中。
7.一種提供數(shù)據(jù)存儲(chǔ)設(shè)備的數(shù)據(jù)庫(kù)的容錯(cuò)重命名的方法,所述數(shù)據(jù)存儲(chǔ)設(shè)備包括一個(gè)或多個(gè)硬盤驅(qū)動(dòng)器,其特征在于,所述方法包括在內(nèi)存中創(chuàng)建第一變量用于存儲(chǔ)所述數(shù)據(jù)庫(kù)的新名稱,所述第一變量被一個(gè)或多個(gè)數(shù)據(jù)處理設(shè)備所采用,所述第一變量補(bǔ)碼成(complementary to)第二變量,所述第二變量存儲(chǔ)有所述數(shù)據(jù)庫(kù)的舊名稱;及利用存儲(chǔ)在所述第一變量的所述數(shù)據(jù)庫(kù)的所述新名稱更新所述第二變量。
8.一種在數(shù)據(jù)存儲(chǔ)設(shè)備中實(shí)現(xiàn)容錯(cuò)的方法,所述數(shù)據(jù)存儲(chǔ)設(shè)備包括一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,其特征在于,所述方法包括首先,將與一個(gè)或多個(gè)分區(qū)的大小和位置相關(guān)的信息存儲(chǔ)進(jìn)所述一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的一個(gè)或多個(gè)第一分區(qū)表中;及其次,將與一個(gè)或多個(gè)分區(qū)的大小和位置相關(guān)的信息存儲(chǔ)進(jìn)所述一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的一個(gè)或多個(gè)第二分區(qū)表中。
9.一種利用一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器提供一個(gè)或多個(gè)數(shù)據(jù)庫(kù)的容錯(cuò)實(shí)現(xiàn)的系統(tǒng),其特征在于,所述系統(tǒng)包括內(nèi)存;駐存在所述內(nèi)存中的軟件;及可執(zhí)行所述軟件的處理器,所述執(zhí)行可產(chǎn)生第一分區(qū)表及第二分區(qū)表,所述第一分區(qū)表是所述第二分區(qū)表的鏡像,所述第一分區(qū)表及第二分區(qū)表提供所述一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中的一個(gè)或多個(gè)分區(qū)的位置及大小;所述執(zhí)行可在每一所述的一個(gè)或多個(gè)分區(qū)中產(chǎn)生第一庫(kù)信息塊及第二庫(kù)信息塊,所述第一庫(kù)信息塊是所述第二庫(kù)信息塊的鏡像,所述第一庫(kù)信息塊及所述第二庫(kù)信息塊提供與連接所述一個(gè)或多個(gè)分區(qū)相關(guān)的信息,其中所述連接利用一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器產(chǎn)生所述一個(gè)或多個(gè)數(shù)據(jù)庫(kù)。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器包括硬盤驅(qū)動(dòng)器。
全文摘要
本發(fā)明公開(kāi)了一種在數(shù)據(jù)存儲(chǔ)設(shè)備的一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中提供容錯(cuò)數(shù)據(jù)恢復(fù)的系統(tǒng)及方法。該在數(shù)據(jù)存儲(chǔ)設(shè)備中實(shí)現(xiàn)容錯(cuò)的方法可包括將與一個(gè)或多個(gè)數(shù)據(jù)庫(kù)相關(guān)的信息存儲(chǔ)進(jìn)數(shù)據(jù)存儲(chǔ)設(shè)備的一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的一個(gè)或多個(gè)分區(qū)的一個(gè)或多個(gè)庫(kù)信息塊中。當(dāng)該實(shí)現(xiàn)容錯(cuò)的系統(tǒng)利用一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器實(shí)現(xiàn)一個(gè)或多個(gè)數(shù)據(jù)庫(kù)時(shí),該系統(tǒng)包括內(nèi)存、駐存在該內(nèi)存中的軟件、及能執(zhí)行該軟件的處理器。
文檔編號(hào)G06F11/20GK1737769SQ20051005669
公開(kāi)日2006年2月22日 申請(qǐng)日期2005年4月14日 優(yōu)先權(quán)日2004年4月15日
發(fā)明者克里斯多佛·S·威爾遜, 維雷謝·拉斯特吉 申請(qǐng)人:美國(guó)博通公司