專(zhuān)利名稱(chēng):磁盤(pán)管理方法、裝置及網(wǎng)絡(luò)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲(chǔ)技術(shù)領(lǐng)域,尤其涉及一種磁盤(pán)管理方法、裝置及網(wǎng)絡(luò)設(shè)備。
背景技術(shù):
隨著科技的發(fā)展,計(jì)算機(jī)已成為各行各業(yè)所不可或缺的基本工具之一,使用在計(jì)算機(jī)中用于儲(chǔ)存數(shù)據(jù)的磁盤(pán)也是必備之物。由于磁盤(pán)采用磁介質(zhì)來(lái)存儲(chǔ)數(shù)據(jù),所以在經(jīng)歷長(zhǎng)時(shí)間的使用或者使用不當(dāng)后,例如突然斷電等,磁盤(pán)的某些扇區(qū)可能會(huì)發(fā)生損壞。現(xiàn)有技術(shù)中,通常采用靜態(tài)掃描屏蔽方式對(duì)磁盤(pán)中的損壞扇區(qū)進(jìn)行處理。例如,用戶(hù)運(yùn)行系統(tǒng)中配備的磁盤(pán)掃描功能對(duì)磁盤(pán)健康狀況進(jìn)行掃描,把掃描到的損壞扇區(qū)打上標(biāo)記,并通知文件系統(tǒng)不再對(duì)這些損壞扇區(qū)進(jìn)行訪問(wèn)。采用上述靜態(tài)掃描屏蔽方式來(lái)處理?yè)p壞扇區(qū)時(shí),不能夠動(dòng)態(tài)地對(duì)磁盤(pán)中的損壞扇區(qū)進(jìn)行處理,導(dǎo)致無(wú)法及時(shí)對(duì)損壞扇區(qū)進(jìn)行屏蔽,從而造成訪問(wèn)失敗或數(shù)據(jù)丟失等問(wèn)題,降低了磁盤(pán)的可靠性和安全性。
發(fā)明內(nèi)容
針對(duì)上述缺陷,本發(fā)明提供一種磁盤(pán)管理方法、裝置及網(wǎng)絡(luò)設(shè)備,以實(shí)現(xiàn)對(duì)磁盤(pán)中損壞扇區(qū)的動(dòng)態(tài)管理。根據(jù)本發(fā)明的一方面,提供一種磁盤(pán)管理方法,包括磁盤(pán)管理裝置接收攜帶有磁盤(pán)的扇區(qū)的邏輯地址的輸入/輸出I/O請(qǐng)求;所述磁盤(pán)管理裝置從預(yù)置的替換位圖中查找與所述邏輯地址對(duì)應(yīng)的替換標(biāo)識(shí);所述磁盤(pán)管理裝置若根據(jù)所查找的替換標(biāo)識(shí)獲知所述邏輯地址所對(duì)應(yīng)的物理扇區(qū)發(fā)生過(guò)替換,則從邏輯映射表中查找所述邏輯地址所映射的物理扇區(qū),其中所述邏輯映射表存儲(chǔ)有所述邏輯地址與用于替換損壞扇區(qū)的物理扇區(qū)的對(duì)應(yīng)關(guān)系;所述磁盤(pán)管理裝置根據(jù)所述I/O請(qǐng)求對(duì)所述物理扇區(qū)進(jìn)行I/O操作。根據(jù)本發(fā)明的另一方面,還提供一種磁盤(pán)管理裝置,包括I/O請(qǐng)求接收模塊,用于接收攜帶有磁盤(pán)的扇區(qū)的邏輯地址的I/O請(qǐng)求;替換標(biāo)識(shí)查找模塊,用于從預(yù)置的替換位圖中查找與所述邏輯地址對(duì)應(yīng)的替換標(biāo)識(shí);物理扇區(qū)查找模塊,用于若根據(jù)所查找的替換標(biāo)識(shí)獲知所述邏輯地址所對(duì)應(yīng)的物理扇區(qū)發(fā)生過(guò)替換,則從邏輯映射表中查找所述邏輯地址所映射的物理扇區(qū),其中所述邏輯映射表存儲(chǔ)有所述邏輯地址與用于替換損壞扇區(qū)的物理扇區(qū)的對(duì)應(yīng)關(guān)系;I/O操作模塊,用于根據(jù)所述I/O請(qǐng)求對(duì)所述物理扇區(qū)進(jìn)行I/O操作。根據(jù)本發(fā)明的又一方面,還提供一種網(wǎng)絡(luò)設(shè)備,包括本發(fā)明的磁盤(pán)管理裝置。根據(jù)本發(fā)明的磁盤(pán)管理方法、裝置及網(wǎng)絡(luò)設(shè)備,由于磁盤(pán)管理裝置在接收到I/O 請(qǐng)求后,首先根據(jù)磁盤(pán)的替換位圖來(lái)檢測(cè)該I/O請(qǐng)求所要訪問(wèn)的LBA號(hào)碼對(duì)應(yīng)的物理扇區(qū)是否已發(fā)生替換,并當(dāng)獲知發(fā)生替換時(shí),從記錄邏輯地址與用于替換損壞扇區(qū)的物理扇區(qū)對(duì)應(yīng)關(guān)系的邏輯映射表中查找替換后的物理扇區(qū),以對(duì)替換后的未損壞物理扇區(qū)進(jìn)行相應(yīng)的I/O操作,從而可通過(guò)利用磁盤(pán)中的預(yù)留扇區(qū)替換損壞扇區(qū)來(lái)實(shí)現(xiàn)對(duì)磁盤(pán)中損壞扇區(qū)的
動(dòng)態(tài)管理。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明磁盤(pán)管理方法的流程示意圖。圖2為磁盤(pán)的結(jié)構(gòu)示意圖。圖3為磁盤(pán)的存儲(chǔ)空間分配示意圖。圖4為磁盤(pán)管理裝置執(zhí)行本發(fā)明磁盤(pán)管理方法的詳細(xì)流程圖。圖5為本發(fā)明磁盤(pán)管理裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖1為本發(fā)明磁盤(pán)管理方法的流程示意圖。如圖1所示,該磁盤(pán)管理方法包括以下步驟步驟S101,磁盤(pán)管理裝置接收攜帶有磁盤(pán)的扇區(qū)的邏輯地址的輸入/輸出(I/O) 請(qǐng)求;步驟S102,所述磁盤(pán)管理裝置從預(yù)置的替換位圖中查找與所述邏輯地址對(duì)應(yīng)的替換標(biāo)識(shí);步驟S103,所述磁盤(pán)管理裝置若根據(jù)所查找的替換標(biāo)識(shí)獲知所述邏輯地址所對(duì)應(yīng)的物理扇區(qū)發(fā)生過(guò)替換,則從邏輯映射表中查找所述邏輯地址所映射的物理扇區(qū),其中所述邏輯映射表存儲(chǔ)有邏輯地址與用于替換損壞扇區(qū)的物理扇區(qū)的對(duì)應(yīng)關(guān)系;步驟S104,所述磁盤(pán)管理裝置根據(jù)所述I/O請(qǐng)求對(duì)所述物理扇區(qū)進(jìn)行I/O操作。其中,磁盤(pán)管理裝置可以與磁盤(pán)集成設(shè)置或獨(dú)立設(shè)置,用于執(zhí)行對(duì)磁盤(pán)空間的管理及響應(yīng)I/O請(qǐng)求對(duì)磁盤(pán)進(jìn)行相應(yīng)的I/O操作。下面以邏輯地址為目前常用的邏輯塊地址 (Logic Block Address, LBA)為例進(jìn)行說(shuō)明。具體地,圖2為磁盤(pán)的結(jié)構(gòu)示意圖。如圖2所示,磁盤(pán)由很多盤(pán)片組成,每個(gè)盤(pán)片的每個(gè)面都有一個(gè)讀寫(xiě)磁頭(Heads);每個(gè)盤(pán)片又邏輯上形成了以電機(jī)主軸為軸的多個(gè)柱面(Cylinders),即磁道;每個(gè)盤(pán)片上的每個(gè)磁道被劃分為幾十個(gè)扇區(qū)(kctor),所以磁盤(pán)上的一個(gè)數(shù)據(jù)區(qū)域由它所在的磁頭、柱面和扇區(qū)所唯一確定。早期系統(tǒng)就是直接使用磁頭、柱面和扇區(qū)來(lái)對(duì)磁盤(pán)進(jìn)行尋址,即CHS尋址方式。當(dāng)采用CHS尋址方式對(duì)磁盤(pán)進(jìn)行尋址時(shí),系統(tǒng)需要分別存儲(chǔ)每個(gè)區(qū)域的三個(gè)參數(shù),使用時(shí)再分別讀取三個(gè)參數(shù)。由于系統(tǒng)通
5常用8位(bit)來(lái)存儲(chǔ)磁頭地址,用IObit來(lái)存儲(chǔ)柱面地址,用6bit來(lái)存儲(chǔ)扇區(qū)地址,并且各扇區(qū)的容量為512字節(jié)(Byte),這樣使用CHS尋址方式所能尋址的磁盤(pán)最大容量為 256bit*1024bit*63bit*512Byte,約為 8. 4G。為了對(duì)更大容量的磁盤(pán)進(jìn)行管理,需使用LBA尋址方式對(duì)磁盤(pán)進(jìn)行尋址。在LBA尋址方式中,不再使用磁盤(pán)的實(shí)際物理地址進(jìn)行尋址,而是將硬盤(pán)的三維實(shí)際物理地址(柱面/磁頭/扇區(qū))轉(zhuǎn)變?yōu)橐痪S的線性尋址,即通過(guò)一定的規(guī)則將磁盤(pán)的所有物理扇區(qū)轉(zhuǎn)變?yōu)榫€性的編號(hào),即LBA號(hào)碼。在訪問(wèn)磁盤(pán)時(shí),由磁盤(pán)管理裝置將I/O請(qǐng)求中攜帶的LBA號(hào)碼轉(zhuǎn)換為實(shí)際物理地址,即物理扇區(qū)。每個(gè)LBA號(hào)碼對(duì)應(yīng)一個(gè)512字節(jié)的物理扇區(qū),LBA號(hào)碼與實(shí)際物理地址之間的轉(zhuǎn)換關(guān)系為L(zhǎng)BA = NHXNSX C+NS X H+S-1C = (LBA div NS) div NHH= (LBA div NS) mod NHS = (LBA mod NS)+1其中,NS為每磁道扇區(qū)數(shù),NH為磁頭數(shù),C、H、S分別表示磁盤(pán)的柱面、磁頭和扇區(qū)編號(hào),LBA表示邏輯扇區(qū)號(hào),div為整除計(jì)算,mod為求余計(jì)算。為實(shí)現(xiàn)上述實(shí)施例的磁盤(pán)管理方法,磁盤(pán)中需預(yù)先定義一些預(yù)留扇區(qū),以供在出現(xiàn)損壞扇區(qū)時(shí)作為替換扇區(qū)使用。更為具體地,若某一或多個(gè)LBA號(hào)碼對(duì)應(yīng)的物理扇區(qū)發(fā)生損壞,則選取同樣數(shù)量的預(yù)留扇區(qū)替換為該一或多個(gè)LBA號(hào)碼所對(duì)應(yīng)的物理扇區(qū)。其中, 預(yù)留扇區(qū)的大小可以由用戶(hù)指定或默認(rèn)為磁盤(pán)空間的1%。例如,對(duì)于一塊有16個(gè)磁面、 1024個(gè)磁道、且每個(gè)磁盤(pán)有63個(gè)扇區(qū)的磁盤(pán),可在每個(gè)磁面上設(shè)置645個(gè)扇區(qū)作為預(yù)留扇區(qū)。圖3為磁盤(pán)的存儲(chǔ)空間分配示意圖。如圖3所示,磁盤(pán)中除數(shù)據(jù)存儲(chǔ)區(qū)外,還預(yù)置有一個(gè)邏輯映射表和一個(gè)替換位圖。具體地,該邏輯映射表在磁盤(pán)中的位置例如圖3所示,位于磁盤(pán)的尾部存儲(chǔ)空間。 邏輯映射表用于存儲(chǔ)磁盤(pán)的扇區(qū)的LBA號(hào)碼與磁盤(pán)的實(shí)際物理扇區(qū)之間的對(duì)應(yīng)關(guān)系,它以 LBA號(hào)碼為索引查找對(duì)應(yīng)的物理扇區(qū)。邏輯映射表的結(jié)構(gòu)如表1所示表 權(quán)利要求
1.一種磁盤(pán)管理方法,其特征在于,包括磁盤(pán)管理裝置接收攜帶有磁盤(pán)的扇區(qū)的邏輯地址的輸入/輸出I/O請(qǐng)求; 所述磁盤(pán)管理裝置從預(yù)置的替換位圖中查找與所述邏輯地址對(duì)應(yīng)的替換標(biāo)識(shí); 所述磁盤(pán)管理裝置若根據(jù)所查找的替換標(biāo)識(shí)獲知所述邏輯地址所對(duì)應(yīng)的物理扇區(qū)發(fā)生過(guò)替換,則從邏輯映射表中查找所述邏輯地址所映射的物理扇區(qū),其中所述邏輯映射表存儲(chǔ)有所述邏輯地址與用于替換損壞扇區(qū)的物理扇區(qū)的對(duì)應(yīng)關(guān)系;所述磁盤(pán)管理裝置根據(jù)所述I/O請(qǐng)求對(duì)所述物理扇區(qū)進(jìn)行I/O操作。
2.根據(jù)權(quán)利要求1所述的磁盤(pán)管理方法,其特征在于,所述磁盤(pán)管理裝置從預(yù)置的替換位圖中查找與所述邏輯地址對(duì)應(yīng)的替換標(biāo)識(shí)的步驟之后還包括所述磁盤(pán)管理裝置若根據(jù)所查找的替換標(biāo)識(shí)獲知所述邏輯地址所對(duì)應(yīng)的物理扇區(qū)未發(fā)生過(guò)替換,則按照默認(rèn)規(guī)則查找與所述邏輯地址所對(duì)應(yīng)的物理扇區(qū)。
3.根據(jù)權(quán)利要求1或2所述的磁盤(pán)管理方法,其特征在于,所述磁盤(pán)管理裝置根據(jù)所述 I/O請(qǐng)求對(duì)所述物理扇區(qū)進(jìn)行I/O操作的步驟之后還包括所述磁盤(pán)管理裝置若判斷獲知所述物理扇區(qū)為損壞扇區(qū),則從所述磁盤(pán)的預(yù)留扇區(qū)中選擇用于替換損壞扇區(qū)的物理扇區(qū);所述磁盤(pán)管理裝置將所述邏輯映射表中與所述邏輯地址對(duì)應(yīng)的物理扇區(qū)更新為所選擇的物理扇區(qū),并將所述替換位圖中與所述邏輯地址對(duì)應(yīng)的替換標(biāo)識(shí)設(shè)置為用于指示所述邏輯地址對(duì)應(yīng)的物理扇區(qū)已發(fā)生過(guò)替換的已替換標(biāo)識(shí)。
4.根據(jù)權(quán)利要求3所述的磁盤(pán)管理方法,其特征在于,所述磁盤(pán)的預(yù)留扇區(qū)分布在所述磁盤(pán)的各磁道,相應(yīng)地,從所述磁盤(pán)的預(yù)留扇區(qū)中選擇替換扇區(qū)的步驟包括所述磁盤(pán)管理裝置從所述磁盤(pán)的預(yù)留扇區(qū)中選擇與所述物理扇區(qū)位于相同磁道的預(yù)留扇區(qū)作為用于替換損壞扇區(qū)的物理扇區(qū)。
5.根據(jù)權(quán)利要求3所述的磁盤(pán)管理方法,其特征在于,所述磁盤(pán)管理裝置接收攜帶有磁盤(pán)的扇區(qū)的邏輯地址的I/O請(qǐng)求的步驟之前還包括所述磁盤(pán)管理裝置將所述磁盤(pán)中存儲(chǔ)的所述替換位圖和所述邏輯映射表讀取并存儲(chǔ)至本地的隨機(jī)存儲(chǔ)器RAM ;相應(yīng)地,所述磁盤(pán)管理裝置根據(jù)所述I/O請(qǐng)求對(duì)所述物理扇區(qū)進(jìn)行I/O操作的步驟之后還包括所述磁盤(pán)管理裝置根據(jù)所述RAM中存儲(chǔ)的替換位圖和邏輯映射表更新所述磁盤(pán)中存儲(chǔ)的替換位圖和邏輯映射表。
6.根據(jù)權(quán)利要求5所述的磁盤(pán)管理方法,其特征在于,所述磁盤(pán)管理裝置根據(jù)所述I/O 請(qǐng)求對(duì)所述物理扇區(qū)進(jìn)行I/O操作的步驟之后還包括所述磁盤(pán)管理裝置根據(jù)所述RAM中存儲(chǔ)的邏輯映射表更新所述磁盤(pán)中存儲(chǔ)的備份映射表。
7.一種磁盤(pán)管理裝置,其特征在于,包括I/O請(qǐng)求接收模塊,用于接收攜帶有磁盤(pán)的扇區(qū)的邏輯地址的I/O請(qǐng)求; 替換標(biāo)識(shí)查找模塊,用于從預(yù)置的替換位圖中查找與所述邏輯地址對(duì)應(yīng)的替換標(biāo)識(shí); 物理扇區(qū)查找模塊,用于若根據(jù)所查找的替換標(biāo)識(shí)獲知所述邏輯地址所對(duì)應(yīng)的物理扇區(qū)發(fā)生過(guò)替換,則從邏輯映射表中查找所述邏輯地址所映射的物理扇區(qū),其中所述邏輯映射表存儲(chǔ)有所述邏輯地址與用于替換損壞扇區(qū)的物理扇區(qū)的對(duì)應(yīng)關(guān)系;I/O操作模塊,用于根據(jù)所述I/O請(qǐng)求對(duì)所述物理扇區(qū)進(jìn)行I/O操作。
8.根據(jù)權(quán)利要求7所述的磁盤(pán)管理裝置,其特征在于,所述物理扇區(qū)查找模塊還用于若根據(jù)所查找的替換標(biāo)識(shí)獲知所述邏輯地址所對(duì)應(yīng)的物理扇區(qū)未發(fā)生過(guò)替換,則按照默認(rèn)規(guī)則查找與所述邏輯地址所對(duì)應(yīng)的物理扇區(qū)。
9.根據(jù)權(quán)利要求7或8所述的磁盤(pán)管理裝置,其特征在于,還包括扇區(qū)選擇模塊,用于若判斷獲知所述物理扇區(qū)為損壞扇區(qū),則從所述磁盤(pán)的預(yù)留扇區(qū)中選擇用于替換損壞扇區(qū)的物理扇區(qū);扇區(qū)替換模塊,用于將所述邏輯映射表中與所述邏輯地址對(duì)應(yīng)的物理扇區(qū)更新為所選擇的物理扇區(qū),并將所述替換位圖中與所述邏輯地址對(duì)應(yīng)的替換標(biāo)識(shí)設(shè)置為用于指示所述邏輯地址對(duì)應(yīng)的物理扇區(qū)已發(fā)生過(guò)替換的已替換標(biāo)識(shí)。
10.根據(jù)權(quán)利要求9所述的磁盤(pán)管理裝置,其特征在于,所述磁盤(pán)的預(yù)留扇區(qū)分布在所述磁盤(pán)的各磁道,相應(yīng)地,所述扇區(qū)選擇模塊還用于從所述磁盤(pán)的預(yù)留扇區(qū)中選擇與所述物理扇區(qū)位于相同磁道的預(yù)留扇區(qū)作為用于替換損壞扇區(qū)的物理扇區(qū)。
11.根據(jù)權(quán)利要求9所述的磁盤(pán)管理裝置,其特征在于,還包括讀取模塊,用于將所述磁盤(pán)中存儲(chǔ)的所述替換位圖和所述邏輯映射表讀取并存儲(chǔ)至本地的隨機(jī)存儲(chǔ)器RAM ;更新模塊,用于根據(jù)所述MM中存儲(chǔ)的替換位圖和邏輯映射表更新所述磁盤(pán)中存儲(chǔ)的替換位圖和邏輯映射表。
12.根據(jù)權(quán)利要求11所述的磁盤(pán)管理裝置,其特征在于,所述更新模塊還用于根據(jù)所述RAM中存儲(chǔ)的邏輯映射表更新所述磁盤(pán)中存儲(chǔ)的備份映射表。
13.一種網(wǎng)絡(luò)設(shè)備,其特征在于,包括如權(quán)利要求7至12任一所述的磁盤(pán)管理裝置。
全文摘要
本發(fā)明提供一種磁盤(pán)管理方法、裝置及網(wǎng)絡(luò)設(shè)備。該磁盤(pán)管理方法包括磁盤(pán)管理裝置接收攜帶有磁盤(pán)的扇區(qū)的邏輯地址的輸入/輸出I/O請(qǐng)求;所述磁盤(pán)管理裝置從預(yù)置的替換位圖中查找與所述邏輯地址對(duì)應(yīng)的替換標(biāo)識(shí);所述磁盤(pán)管理裝置若根據(jù)所查找的替換標(biāo)識(shí)獲知所述邏輯地址所對(duì)應(yīng)的物理扇區(qū)發(fā)生過(guò)替換,則從邏輯映射表中查找所述邏輯地址所映射的物理扇區(qū),其中所述邏輯映射表存儲(chǔ)有所述邏輯地址與用于替換損壞扇區(qū)的物理扇區(qū)的對(duì)應(yīng)關(guān)系;所述磁盤(pán)管理裝置根據(jù)所述I/O請(qǐng)求對(duì)所述物理扇區(qū)進(jìn)行I/O操作。本發(fā)明的磁盤(pán)管理方法、裝置及網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)能夠?qū)Υ疟P(pán)中損壞扇區(qū)的動(dòng)態(tài)管理。
文檔編號(hào)G06F12/06GK102306128SQ20111027618
公開(kāi)日2012年1月4日 申請(qǐng)日期2011年9月16日 優(yōu)先權(quán)日2011年9月16日
發(fā)明者陳曉彬 申請(qǐng)人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司