1.一種硬盤陣列控制方法,其特征在于,所述方法包括:
接收寫操作請求;
將所述寫操作請求下發(fā)到硬盤陣列中的所述寫操作請求的目標(biāo)硬盤,以使所述目標(biāo)硬盤執(zhí)行所述寫操作請求對應(yīng)的寫操作;
如果到達(dá)第一時間閾值未收到所述目標(biāo)硬盤對所述寫操作的反饋信息,則:
將所述寫操作請求中攜帶的寫數(shù)據(jù)寫到預(yù)設(shè)存儲區(qū),并在預(yù)設(shè)記錄表中記錄所述寫數(shù)據(jù)的跳轉(zhuǎn)記錄,所述跳轉(zhuǎn)記錄記錄了所述寫數(shù)據(jù)的目標(biāo)地址與實際寫入所述寫數(shù)據(jù)的實際地址的映射關(guān)系,以及,
返回寫操作成功的反饋信息。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
接收讀操作請求;
判斷所述預(yù)設(shè)記錄表中是否存在與所述讀操作請求中的讀數(shù)據(jù)的目標(biāo)地址匹配的跳轉(zhuǎn)記錄;
如果所述預(yù)設(shè)記錄表中不存在與所述讀操作請求中的讀數(shù)據(jù)的目標(biāo)地址匹配的跳轉(zhuǎn)記錄,則將所述讀操作請求下發(fā)到所述硬盤陣列的讀操作請求的目標(biāo)硬盤,以使所述讀操作請求的目標(biāo)硬盤執(zhí)行所述讀操作請求對應(yīng)的讀操作;
如果所述預(yù)設(shè)記錄表中存在與所述讀操作請求中的讀數(shù)據(jù)的目標(biāo)地址匹配的跳轉(zhuǎn)記錄,則獲取所述匹配的跳轉(zhuǎn)記錄中的寫數(shù)據(jù)的實際地址,并根據(jù)所述實際地址從所述預(yù)設(shè)存儲區(qū)中讀取數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
當(dāng)所述寫數(shù)據(jù)被寫入所述預(yù)設(shè)存儲區(qū),則對所述目標(biāo)硬盤的寫失敗次數(shù)加1;
判斷所述目標(biāo)硬盤的寫失敗次數(shù)是否大于第一數(shù)量閾值,若大于,則確定所述目標(biāo)硬盤為失效盤。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
定期遍歷所述預(yù)設(shè)記錄表中的各條跳轉(zhuǎn)記錄;
遍歷時,根據(jù)當(dāng)前跳轉(zhuǎn)記錄中記錄的寫數(shù)據(jù)的實際地址從所述預(yù)設(shè)存儲區(qū)獲取所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù),并根據(jù)所述跳轉(zhuǎn)記錄中記錄的目標(biāo)地址將所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù)寫入所述目標(biāo)硬盤;
如果所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù)成功寫入所述目標(biāo)硬盤,則刪除所述當(dāng)前跳轉(zhuǎn)記錄。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括:
如果所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù)失敗寫入所述目標(biāo)硬盤,則將所述當(dāng)前跳轉(zhuǎn)記錄的重試次數(shù)加1;
判斷所述當(dāng)前跳轉(zhuǎn)記錄的重試次數(shù)是否超過第二數(shù)量閾值;
如果所述當(dāng)前記錄的重試次數(shù)超過所述第二數(shù)量閾值,則下次遍歷時跳過所述當(dāng)前跳轉(zhuǎn)記錄。
6.一種硬盤陣列控制裝置,其特征在于,所述裝置包括:
寫操作請求接收模塊,用于接收寫操作請求;
寫操作請求下發(fā)模塊,用于將所述寫操作請求接收模塊接收的所述寫操作請求下發(fā)到硬盤陣列中的所述寫操作請求的目標(biāo)硬盤,以使所述目標(biāo)硬盤執(zhí)行所述寫操作請求對應(yīng)的寫操作;
寫操作監(jiān)控模塊,用于當(dāng)?shù)竭_(dá)第一時間閾值未收到所述目標(biāo)硬盤對所述寫操作請求下發(fā)模塊所下發(fā)的所述寫操作請求對應(yīng)的所述寫操作的反饋信息時,將所述寫操作請求中攜帶的寫數(shù)據(jù)寫到預(yù)設(shè)存儲區(qū),并在預(yù)設(shè)記錄表中記錄所述寫數(shù)據(jù)的跳轉(zhuǎn)記錄,所述跳轉(zhuǎn)記錄記錄了所述寫數(shù)據(jù)的目標(biāo)地址與實際寫入所述寫數(shù)據(jù)的實際地址的映射關(guān)系,以及,返回寫操作成功的反饋信息。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括:
讀操作請求接收模塊,用于接收讀操作請求;
跳轉(zhuǎn)處理模塊,用于判斷所述預(yù)設(shè)記錄表中是否存在與所述讀操作請求接收模塊接收的所述讀操作請求中的讀數(shù)據(jù)的目標(biāo)地址匹配的跳轉(zhuǎn)記錄;如果所述預(yù)設(shè)記錄表中不存在與所述讀操作請求中的讀數(shù)據(jù)的目標(biāo)地址匹配的跳轉(zhuǎn)記錄,則將所述讀操作請求下發(fā)到所述硬盤陣列的讀操作請求的目標(biāo)硬盤,以使所述讀操作請求的目標(biāo)硬盤執(zhí)行所述讀操作請求對應(yīng)的讀操作;如果所述預(yù)設(shè)記錄表中存在與所述讀操作請求中的讀數(shù)據(jù)的目標(biāo)地址匹配的跳轉(zhuǎn)記錄,則獲取所述匹配的跳轉(zhuǎn)記錄中的寫數(shù)據(jù)的實際地址,并根據(jù)所述實際地址從所述預(yù)設(shè)存儲區(qū)中讀取數(shù)據(jù)。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括:
失效處理模塊,用于當(dāng)所述寫數(shù)據(jù)被寫入所述預(yù)設(shè)存儲區(qū),則對所述目標(biāo)硬盤的寫失 敗次數(shù)加1;判斷所述目標(biāo)硬盤的寫失敗次數(shù)是否大于第一數(shù)量閾值,若大于,則確定所述目標(biāo)硬盤為失效盤。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括:
后臺修復(fù)模塊,用于定期遍歷所述預(yù)設(shè)記錄表中的各條跳轉(zhuǎn)記錄;遍歷時,根據(jù)當(dāng)前跳轉(zhuǎn)記錄中記錄的寫數(shù)據(jù)的實際地址從所述預(yù)設(shè)存儲區(qū)獲取所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù),并根據(jù)所述跳轉(zhuǎn)記錄中記錄的目標(biāo)地址將所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù)寫入所述目標(biāo)硬盤;如果所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù)成功寫入所述目標(biāo)硬盤,則刪除所述當(dāng)前跳轉(zhuǎn)記錄。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述后臺修復(fù)模塊還用于:
如果所述當(dāng)前跳轉(zhuǎn)記錄所關(guān)聯(lián)的寫數(shù)據(jù)成功寫入所述目標(biāo)硬盤,則將所述當(dāng)前跳轉(zhuǎn)記錄的重試次數(shù)加1;判斷所述當(dāng)前跳轉(zhuǎn)記錄的重試次數(shù)是否超過第二數(shù)量閾值;如果所述當(dāng)前記錄的重試次數(shù)超過所述第二數(shù)量閾值,則下次遍歷時跳過所述當(dāng)前跳轉(zhuǎn)記錄。
11.一種硬盤陣列控制設(shè)備,其特征在于,所述設(shè)備包括:處理器、存儲器、收發(fā)單元及總線;
所述處理器、所述存儲器、所述收發(fā)單元均與所述總線相連;
所述收發(fā)單元用于接收外部發(fā)來的數(shù)據(jù)以及向外部發(fā)送數(shù)據(jù);
所述存儲器用于存儲所述處理器可執(zhí)行的指令;
所述處理器被配置為:
接收寫操作請求;
將所述寫操作請求下發(fā)到硬盤陣列中的所述寫操作請求的目標(biāo)硬盤,以使所述目標(biāo)硬盤執(zhí)行所述寫操作請求對應(yīng)的寫操作;
如果到達(dá)第一時間閾值未收到所述目標(biāo)硬盤對所述寫操作的反饋信息,則:
將所述寫操作請求中攜帶的寫數(shù)據(jù)寫到預(yù)設(shè)存儲區(qū),并在預(yù)設(shè)記錄表中記錄所述寫數(shù)據(jù)的跳轉(zhuǎn)記錄,所述跳轉(zhuǎn)記錄記錄了所述寫數(shù)據(jù)的目標(biāo)地址與實際寫入所述寫數(shù)據(jù)的實際地址的映射關(guān)系,以及,
返回寫操作成功的反饋信息。