專利名稱:一種存儲設(shè)備的控制方法及相關(guān)裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲技術(shù)領(lǐng)域,尤其涉及一種存儲設(shè)備的控制方法及相關(guān)裝置。
背景技術(shù):
固態(tài)存儲設(shè)備(Solid State Disk,SSD)由于沒有機械轉(zhuǎn)動部件、芯片的工作溫度范圍很寬等優(yōu)點,現(xiàn)已廣泛應(yīng)用于從消費級到企業(yè)級等存儲領(lǐng)域。對于現(xiàn)有技術(shù)的利用SSD的服務(wù)器、PC和存儲陣列等數(shù)據(jù)處理系統(tǒng)主機,其包括一個或多個SSD,數(shù)據(jù)處理系統(tǒng)主機的控制器與SSD的控制器分離,它們之間通過標準協(xié)議進行交互,但是,數(shù)據(jù)處理系統(tǒng)主機的控制器和SSD的控制器根據(jù)協(xié)議分別對數(shù)據(jù)進行封裝和解析,造成了性能損耗,每個SSD的控制器對其各自的FLASH進行管理,資源不能自上而下進行統(tǒng)一管控和優(yōu)化。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實施例提供了一種存儲設(shè)備的控制方法及相關(guān)裝置,以期由數(shù)據(jù)處理系統(tǒng)主機對存儲設(shè)備的FLASH進行自上而下的統(tǒng)一管控,實現(xiàn)資源的優(yōu)化。第一方面,本發(fā)明提供一種存儲設(shè)備的控制方法,所述存儲設(shè)備設(shè)置于數(shù)據(jù)處理系統(tǒng)主機,所述存儲設(shè)備包括閃存FLASH和數(shù)據(jù)接口,所述數(shù)據(jù)處理系統(tǒng)主機的控制器通過所述數(shù)據(jù)接口對所述FLASH進行控制,其特征在于,所述控制方法包括當接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器查找所述數(shù)據(jù)寫入請求包含的第一目標邏輯地址對應(yīng)的第一物理地址,并將所請求的待寫數(shù)據(jù)寫入所述第一物理地址對應(yīng)的FLASH中;當接收到所述數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)讀取請求時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器查找所述數(shù)據(jù)讀取請求包含的第二目標邏輯地址對應(yīng)的第二物理地址,從所述第二物理地址對應(yīng)的FLASH中讀取所請求的待讀數(shù)據(jù),并將讀取的所述數(shù)據(jù)返回至所述數(shù)據(jù)處理系統(tǒng)主機。在第一種可能的實現(xiàn)方式中,所述數(shù)據(jù)處理系統(tǒng)主機包括個人計算機、服務(wù)器或存儲陣列。結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述存儲設(shè)備包括至少兩個FLASH插卡,所述FLASH插卡上設(shè)有至少一個所述FLASH。結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式或第一方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,在接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求或數(shù)據(jù)讀取請求之前,還包括建立所述FLASH的物理地址和邏輯地址的映射關(guān)系;采用地址映射表存儲所述FLASH的物理地址和邏輯地址的映射關(guān)系,以使得所述數(shù)據(jù)處理系統(tǒng)主機的控制器在接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求或數(shù)據(jù)讀取請求時,從所述地址映射表中查找所述數(shù)據(jù)寫入/讀取請求包含的目標邏輯地址對應(yīng)的物理地址。結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式或第一方面的第二種可能的實現(xiàn)方式或第一方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述方法還包括所述數(shù)據(jù)處理系統(tǒng)主機的控制器對所述存儲設(shè)備的FLASH進行調(diào)度處理。結(jié)合第一方面的第四種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述數(shù)據(jù)處理系統(tǒng)主機的控制器對所述存儲設(shè)備的FLASH進行調(diào)度處理,包括當任一個FLASH中包含壞塊時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器查找任一個所述FLASH的冗余塊;所述數(shù)據(jù)處理系統(tǒng)主機的控制器讀取所述壞塊的數(shù)據(jù),將所述數(shù)據(jù)寫入查找到的所述幾余塊;所述數(shù)據(jù)處理系統(tǒng)主機的控制器更新所述地址映射表,將所述壞塊的邏輯地址對應(yīng)所述冗余塊的物理地址。結(jié)合第一方面的第四種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,所述數(shù)據(jù)處理系統(tǒng)主機的控制器對所述存儲設(shè)備的FLASH進行調(diào)度處理,還包括當其中一個所述FLASH插卡損壞時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器將所述損壞的FLASH插卡的FLASH中的數(shù)據(jù)備份至所述存儲設(shè)備的其它FLASH插卡的FLASH ;當將一個新的FLASH插卡替換所述損壞的FLASH插卡時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器將所述其它FLASH插卡的FLASH中備份的數(shù)據(jù)寫入所述新的FLASH插卡的FLASH。結(jié)合第一方面的第四種可能的實現(xiàn)方式或第一方面的第五種可能的實現(xiàn)方式或第一方面的第六種可能的實現(xiàn)方式,在第七種可能的實現(xiàn)方式中,所述數(shù)據(jù)處理系統(tǒng)主機的控制器對所述存儲設(shè)備的FLASH進行調(diào)度處理,還包括當進行數(shù)據(jù)寫入操作時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器檢測待寫入的FLASH的塊的磨損次數(shù);當所述待寫入的FLASH的塊的磨損次數(shù)高于任意一個FLASH的塊的磨損次數(shù)時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器選擇低于所述待寫入的FLASH的塊的磨損次數(shù)的FLASH的塊;所述數(shù)據(jù)處理系統(tǒng)主機的控制器將待寫入的數(shù)據(jù)寫入所述選擇的FLASH的塊;所述數(shù)據(jù)處理系統(tǒng)主機的控制器更新所述地址映射表,將所述待寫入的FLASH的塊的邏輯地址對應(yīng)所述選擇的FLASH的塊的物理地址。第二方面,本發(fā)明提供一種控制器,所述控制器位于數(shù)據(jù)處理系統(tǒng)主機,所述數(shù)據(jù)處理系統(tǒng)主機包括存儲設(shè)備,所述存儲設(shè)備包括閃存FLASH和數(shù)據(jù)接口,所述控制器通過所述存儲設(shè)備的數(shù)據(jù)接口控制所述FLASH,其特征在于,所述控制器包括第一查找單元,用于當接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求時,查找所述數(shù)據(jù)寫入請求包含的第一目標邏輯地址對應(yīng)的第一物理地址;第一寫入單元,用于將所請求的待寫數(shù)據(jù)寫入所述第一物理地址對應(yīng)的FLASH中;所述第一查找單元還用于當接收到所述數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)讀取請求時,查找所述數(shù)據(jù)讀取請求包含的第二目標邏輯地址對應(yīng)的第二物理地址;第一讀取單元,用于從所述第二物理地址對應(yīng)的FLASH中讀取所請求的待讀數(shù)據(jù),并將讀取的所述數(shù)據(jù)返回至所述數(shù)據(jù)處理系統(tǒng)主機。在第一種可能的實現(xiàn)方式中,所述數(shù)據(jù)處理系統(tǒng)主機包括個人計算機、服務(wù)器或存儲陣列。結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述存儲設(shè)備包括至少兩個FLASH插卡,所述FLASH插卡上設(shè)有至少一個所述FLASH。結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式或第二方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述控制器還包括建立單元,用于建立所述FLASH的物理地址和邏輯地址的映射關(guān)系;存儲單元,用于采用地址映射表存儲所述FLASH的物理地址和邏輯地址的映射關(guān)系,以使得所述數(shù)據(jù)處理系統(tǒng)主機的控制器在接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求或數(shù)據(jù)讀取請求時,從所述地址映射表中查找所述數(shù)據(jù)寫入/讀取請求包含的目標邏輯地址對應(yīng)的物理地址。結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式或第二方面的第二種可能的實現(xiàn)方式或第二方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述控制器還包括調(diào)度處理單元,用于對所述存儲設(shè)備的FLASH進行調(diào)度處理。結(jié)合第二方面的第四種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述調(diào)度處理單元包括第二查找單元,用于當任一個FLASH中包含壞塊時,查找任一個所述FLASH的冗余塊;第二讀取單元,用于讀取所述壞塊的數(shù)據(jù);第二寫入單元,用于將所述數(shù)據(jù)寫入查找到的所述冗余塊;第一更新單元,用于更新所述地址映射表,將所述壞塊的邏輯地址對應(yīng)所述冗余塊的物理地址。結(jié)合第二方面的第四種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,所述調(diào)度處理單元還包括備份單元,用于當其中一個所述FLASH插卡損壞時,將所述損壞的FLASH插卡的FLASH中的數(shù)據(jù)備份至所述存儲設(shè)備的其它FLASH插卡的FLASH ;第三寫入單元,用于當將一個新的FLASH插卡替換所述損壞的FLASH插卡時,將所述其它FLASH插卡的FLASH中備份的數(shù)據(jù)寫入所述新的FLASH插卡的FLASH。結(jié)合第二方面的第四種可能的實現(xiàn)方式或第二方面的第五種可能的實現(xiàn)方式或第二方面的第六種可能的實現(xiàn)方式,在第七種可能的實現(xiàn)方式中,所述調(diào)度處理單元還包括檢測單元,用于當進行數(shù)據(jù)寫入操作時,檢測待寫入的FLASH的塊的磨損次數(shù);選擇單元,用于當所述待寫入的FLASH的塊的磨損次數(shù)高于任意一個FLASH的塊的磨損次數(shù)時,選擇低于所述待寫入的FLASH的塊的磨損次數(shù)的FLASH的塊;第四寫入單元,用于將待寫入的數(shù)據(jù)寫入所述選擇的FLASH的塊;第二更新單元,用于更新所述地址映射表,將所述待寫入的FLASH的塊的邏輯地址對應(yīng)所述選擇的FLASH的塊的物理地址。
本發(fā)明第三方面提供一種存儲系統(tǒng),其特征在于,所述存儲系統(tǒng)包括存儲設(shè)備和本發(fā)明第二方面提供的數(shù)據(jù)處理系統(tǒng)主機的控制器,所述存儲設(shè)備設(shè)置于數(shù)據(jù)處理系統(tǒng)主機,所述存儲設(shè)備包括數(shù)據(jù)接口和閃存FLASH ;所述FLASH通過所述數(shù)據(jù)接口與數(shù)據(jù)處理系統(tǒng)主機的控制器相連;所述數(shù)據(jù)處理系統(tǒng)主機的控制器執(zhí)行如下步驟當接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器查找所述數(shù)據(jù)寫入請求包含的第一目標邏輯地址對應(yīng)的第一物理地址,并將所請求的待寫數(shù)據(jù)寫入所述第一物理地址對應(yīng)的FLASH中;當接收到所述數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)讀取請求時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器查找所述數(shù)據(jù)讀取請求包含的第二目標邏輯地址對應(yīng)的第二物理地址,從所述第二物理地址對應(yīng)的FLASH中讀取所請求的待讀數(shù)據(jù),并將讀取的所述數(shù)據(jù)返回至所述數(shù)據(jù)處理系統(tǒng)主機。在第一種可能的實現(xiàn)方式中,所述數(shù)據(jù)處理系統(tǒng)主機包括個人計算機、服務(wù)器或存儲陣列。結(jié)合第三方面或第三方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述存儲設(shè)備包括至少兩個FLASH插卡,所述FLASH插卡上設(shè)有至少一個所述FLASH。結(jié)合第三方面或第三方面的第一種可能的實現(xiàn)方式或第三方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述數(shù)據(jù)處理系統(tǒng)主機的控制器在執(zhí)行接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求或數(shù)據(jù)讀取請求的步驟之前,還執(zhí)行如下步驟建立所述FLASH的物理地址和邏輯地址的映射關(guān)系;采用地址映射表存儲所述FLASH的物理地址和邏輯地址的映射關(guān)系,以使得所述數(shù)據(jù)處理系統(tǒng)主機的控制器在接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求或數(shù)據(jù)讀取請求時,從所述地址映射表中查找所述數(shù)據(jù)寫入/讀取請求包含的目標邏輯地址對應(yīng)的物理地址。結(jié)合第三方面或第三方面的第一種可能的實現(xiàn)方式或第三方面的第二種可能的實現(xiàn)方式或第三方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述數(shù)據(jù)處理系統(tǒng)主機的控制器還執(zhí)行如下步驟對所述存儲設(shè)備的FLASH進行調(diào)度處理。結(jié)合第三方面的第四種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述數(shù)據(jù)處理系統(tǒng)主機的控制器執(zhí)行對所述存儲設(shè)備的FLASH進行調(diào)度處理的步驟包括當任一個FLASH中包含壞塊時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器查找任一個所FLASH的冗余塊;所述數(shù)據(jù)處理系統(tǒng)主機的控制器讀取所述壞塊的數(shù)據(jù),將所述數(shù)據(jù)寫入查找到的所述幾余塊;所述數(shù)據(jù)處理系統(tǒng)主機的控制器更新所述地址映射表,將所述壞塊的邏輯地址對應(yīng)所述冗余塊的物理地址。結(jié)合第三方面的第四種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,所述數(shù)據(jù)處理系統(tǒng)的控制器執(zhí)行對所述存儲設(shè)備的FLASH進行調(diào)度處理的步驟還包括當其中一個所述FLASH插卡損壞時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器將所述損壞的FLASH插卡的FLASH中的數(shù)據(jù)備份至所述存儲設(shè)備的其它FLASH插卡的FLASH ;當將一個新的FLASH插卡替換所述損壞的FLASH插卡時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器將所述其它FLASH插卡的FLASH中備份的數(shù)據(jù)寫入所述新的FLASH插卡的FLASH。結(jié)合第三方面的第四種可能的實現(xiàn)方式或第三方面的第五種可能的實現(xiàn)方式或第三方面的第六種可能的實現(xiàn)方式,在第七種可能的實現(xiàn)方式中,所述數(shù)據(jù)處理系統(tǒng)主機的控制器執(zhí)行對所述固態(tài)存儲設(shè)備的FLASH進行調(diào)度處理的步驟還包括當進行數(shù)據(jù)寫入操作時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器檢測待寫入的FLASH的塊的磨損次數(shù);當所述待寫入的FLASH的塊的磨損次數(shù)高于任意一個FLASH的塊的磨損次數(shù)時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器選擇低于所述待寫入的FLASH的塊的磨損次數(shù)的FLASH的塊;所述數(shù)據(jù)處理系統(tǒng)主機的控制器將待寫入的數(shù)據(jù)寫入所述選擇的FLASH的塊;所述數(shù)據(jù)處理系統(tǒng)主機的控制器更新所述地址映射表,將所述待寫入的FLASH的塊的邏輯地址對應(yīng)所述選擇的FLASH的塊的物理地址。采用本發(fā)明提供的一種存儲設(shè)備的控制方法及相關(guān)裝置的技術(shù)方案,由數(shù)據(jù)處理系統(tǒng)主機的控制器直接對存儲設(shè)備的FLASH進行統(tǒng)一管理,可以實現(xiàn)對存儲設(shè)備的FLASH進行自上而下的統(tǒng)一管控,有利于實現(xiàn)資源的優(yōu)化。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
I為本發(fā)明提供的一種存儲設(shè)備的控制方法的一個實施例的方法流程2為本發(fā)明提供的一種存儲設(shè)備的控制方法的另一個實施例的方法流程3為對圖2中步驟S205的進一步細化的一個實施方式的方法流程4為對圖2中步驟S205的進一步細化的另一個實施方式的方法流程5為對圖2中步驟S205的進一步細化的又一個實施方式的方法流程6為本發(fā)明提供的一種控制器的一個實施例的結(jié)構(gòu)不意7為本發(fā)明提供的一種控制器的另一個實施例的結(jié)構(gòu)示意8為對圖7中調(diào)度處理單元206進一步細化的一個實施方式的結(jié)構(gòu)示意9為對圖7中調(diào)度處理單元206進一步細化的另一個實施方式的結(jié)構(gòu)示意圖;10為對圖7中調(diào)度處理單元206進一步細化的另一個實施方式的結(jié)構(gòu)示意圖;11為本發(fā)明提供的一種存儲系統(tǒng)的實施例的結(jié)構(gòu)示意圖。圖
圖
圖
圖
圖
圖
圖
圖
圖
圖
圖
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。圖1為本發(fā)明提供的一種存儲設(shè)備的控制方法的一個實施例的方法流程圖。存儲設(shè)備設(shè)置于數(shù)據(jù)處理系統(tǒng)主機,該存儲設(shè)備包括閃存FLASH和數(shù)據(jù)接口,數(shù)據(jù)處理系統(tǒng)主機的控制器通過數(shù)據(jù)接口對FLASH進行控制,如圖1所示,該控制方法包括以下步驟步驟S101,當接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求時,數(shù)據(jù)處理系統(tǒng)主機的控制器查找所述數(shù)據(jù)寫入請求包含的第一目標邏輯地址對應(yīng)的第一物理地址,并將所請求的待寫數(shù)據(jù)寫入所述第一物理地址對應(yīng)的閃存FLASH中。在本發(fā)明中,數(shù)據(jù)處理系統(tǒng)主機包括個人計算機、服務(wù)器或存儲陣列等,數(shù)據(jù)處理系統(tǒng)主機的控制器通過存儲設(shè)備的數(shù)據(jù)接口直接與存儲介質(zhì)相連,該存儲介質(zhì)可以為FLASH,該FLASH可以設(shè)置在FLASH插卡上,當然不局限于插卡形式,存儲設(shè)備包括至少兩個FLASH插卡,該FLASH插卡上設(shè)有至少一個FLASH。數(shù)據(jù)處理系統(tǒng)主機的控制器接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求時,直接解析該請求,查找數(shù)據(jù)寫入請求包含的第一目標邏輯地址對應(yīng)的第一物理地址,并將所請求的待寫數(shù)據(jù)寫入第一物理地址對應(yīng)的閃存FLASH中。數(shù)據(jù)處理系統(tǒng)主機中存儲有表示邏輯地址與物理地址的映射關(guān)系的地址映射表或邏輯地址與物理地址的固定關(guān)系,通過該地址映射表或邏輯地址與物理地址的固定關(guān)系,可以查找到第一目標邏輯地址對應(yīng)的第一物理地址。步驟S102,當接收到所述數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)讀取請求時,數(shù)據(jù)處理系統(tǒng)主機的控制器查找所述數(shù)據(jù)讀取請求包含的第二目標邏輯地址對應(yīng)的第二物理地址,從所述第二物理地址對應(yīng)的FLASH中讀取所請求的待讀數(shù)據(jù),并將讀取的所述數(shù)據(jù)返回至所述數(shù)據(jù)處理系統(tǒng)主機。當接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)讀取請求時,直接解析該請求,查找該數(shù)據(jù)讀取請求包含的第二目標邏輯地址對應(yīng)的第二物理地址,從該第二物理地址對應(yīng)的FLASH中讀取所請求的待讀數(shù)據(jù),并將讀取的數(shù)據(jù)返回至數(shù)據(jù)處理系統(tǒng)主機。值得說明的是,步驟SlOl中的第一目標邏輯地址和第一物理地址與步驟S102中的第二目標邏輯地址和第二物理地址并不是特指,第一目標邏輯地址可以與第二目標邏輯地址相同或不相同,相應(yīng)的第一物理地址可以與第二物理地址相同或不相同。在現(xiàn)有技術(shù)中,例如存儲陣列,存儲陣列本身有一個主控制器,而各個部分FLASH又有一個SSD的控制器對該部分FLASH進行控制,各個部分的FLASH和SSD的控制器構(gòu)成一個單盤,即一個SSD,當接收到數(shù)據(jù)寫入請求時,存儲陣列的主控制器對該請求進行協(xié)議封裝,并將封裝好的請求發(fā)送給該請求針對的單盤的控制器,由單盤的控制器解析請求,并對FLASH進行操作。而在本發(fā)明中,由數(shù)據(jù)處理系統(tǒng)主機例如個人計算機、服務(wù)器或存儲陣列本身的控制器對FLASH進行操作,而不像現(xiàn)有技術(shù)中的SSD,其FLASH由SSD的控制器控制,SSD的控制器解析數(shù)據(jù)處理系統(tǒng)主機的控制器發(fā)送的指令,現(xiàn)有技術(shù)中的數(shù)據(jù)處理系統(tǒng)主機下如果有多個SSD,每個SSD的FLASH由其各自的SSD控制器控制,數(shù)據(jù)處理系統(tǒng)無法對所有SSD的存儲資源進行統(tǒng)一管理,而本發(fā)明中數(shù)據(jù)處理系統(tǒng)主機通過自身的控制器對整個FLASH進行統(tǒng)一管理,可以實現(xiàn)資源的優(yōu)化。該數(shù)據(jù)處理系統(tǒng)主機具有操作系統(tǒng),由操作系統(tǒng)統(tǒng)一管理FLASH,對FLASH進行讀寫操作。
根據(jù)本發(fā)明提供的一種存儲設(shè)備的控制方法的一個實施例,由數(shù)據(jù)處理系統(tǒng)主機的控制器直接對存儲設(shè)備的FLASH進行統(tǒng)一管理,可以實現(xiàn)對存儲設(shè)備的FLASH進行自上而下的統(tǒng)一管控,有利于實現(xiàn)資源的優(yōu)化。圖2為本發(fā)明提供的一種存儲設(shè)備的控制方法的另一個實施例的方法流程圖。存儲設(shè)備設(shè)置于數(shù)據(jù)處理系統(tǒng)主機,該存儲設(shè)備包括閃存FLASH和數(shù)據(jù)接口,數(shù)據(jù)處理系統(tǒng)主機的控制器通過數(shù)據(jù)接口對FLASH進行控制,如圖2所示,該方法包括以下步驟步驟S201,建立閃存FLASH的物理地址和邏輯地址的映射關(guān)系。在本發(fā)明中,數(shù)據(jù)處理系統(tǒng)主機包括個人計算機、服務(wù)器或存儲陣列等,數(shù)據(jù)處理系統(tǒng)主機的控制器通過存儲設(shè)備的數(shù)據(jù)接口直接與存儲介質(zhì)相連,該存儲介質(zhì)可以為FLASH,該FLASH可以設(shè)置在FLASH插卡上,當然不局限于插卡形式,存儲設(shè)備包括至少兩個FLASH插卡,該FLASH插卡上設(shè)有至少一個FLASH。建立FLASH的物理地址和邏輯地址的一一映射關(guān)系,存儲設(shè)備可以對其邏輯地址對應(yīng)的物理地址所在的任意的FLASH進行操作,該FLASH可以位于任意FLASH插卡上。步驟S202,采用地址映射表存儲所述FLASH的物理地址和邏輯地址的映射關(guān)系,以使得所述數(shù)據(jù)處理系統(tǒng)主機的控制器在接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求或數(shù)據(jù)讀取請求時,從所述地址映射表中查找所述數(shù)據(jù)寫入/讀取請求包含的目標邏輯地址對應(yīng)的物理地址。采用地址映射表存儲FLASH的物理地址和邏輯地址的映射關(guān)系,可以方便進行讀寫操作時查找邏輯地址所對應(yīng)的物理地址。步驟S203,當接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器從地址映射表中查找所述數(shù)據(jù)寫入請求包含的第一目標邏輯地址對應(yīng)的第一物理地址,并將所請求的待寫數(shù)據(jù)寫入所述第一物理地址對應(yīng)的FLASH中。數(shù)據(jù)處理系統(tǒng)主機的控制器接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求時,直接解析該請求,從地址映射表中查找數(shù)據(jù)寫入請求包含的第一目標邏輯地址對應(yīng)的第一物理地址,并將所請求的待寫數(shù)據(jù)寫入第一物理地址對應(yīng)的閃存FLASH中。該第一物理地址對應(yīng)的閃存FLASH可以位于任意FLASH插卡上。步驟S204,當接收到所述數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)讀取請求時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器從地址映射表中查找所述數(shù)據(jù)讀取請求包含的第二目標邏輯地址對應(yīng)的第二物理地址,從所述第二物理地址對應(yīng)的FLASH中讀取所請求的待讀數(shù)據(jù),并將讀取的所述數(shù)據(jù)返回至所述數(shù)據(jù)處理系統(tǒng)主機。數(shù)據(jù)處理系統(tǒng)主機的控制器接收到數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)讀取請求時,直接解析該請求,從地址映射表中查找該數(shù)據(jù)讀取請求包含的第二目標邏輯地址對應(yīng)的第二物理地址,從該第二物理地址對應(yīng)的FLASH中讀取所請求的待讀數(shù)據(jù),并將讀取的數(shù)據(jù)返回至數(shù)據(jù)處理系統(tǒng)。該第二物理地址對應(yīng)的FLASH可以位于任意的FLASH插卡上。值得說明的是,步驟S204中的第一目標邏輯地址和第一物理地址與步驟S205中的第二目標邏輯地址和第二物理地址并不是特指,第一目標邏輯地址可以與第二目標邏輯地址相同或不相同,相應(yīng)的第一物理地址可以與第二物理地址相同或不相同。在現(xiàn)有技術(shù)中,例如存儲陣列,存儲陣列本身有一個主控制器,而各個部分FLASH又有一個SSD的控制器對該部分FLASH進行控制,各個部分的FLASH和SSD的控制器構(gòu)成一個單盤,即一個SSD,當接收到數(shù)據(jù)寫入請求時,存儲陣列的主控制器對該請求進行協(xié)議封裝,并將封裝好的請求發(fā)送給該請求針對的單盤的控制器,由單盤的控制器解析請求,并對FLASH進行操作。而在本發(fā)明中,由數(shù)據(jù)處理系統(tǒng)主機例如個人計算機、服務(wù)器或存儲陣列本身的控制器對FLASH進行操作,而不像現(xiàn)有技術(shù)中的SSD,其FLASH由SSD的控制器控制,SSD的控制器解析數(shù)據(jù)處理系統(tǒng)主機的控制器發(fā)送的指令,現(xiàn)有技術(shù)中的數(shù)據(jù)處理系統(tǒng)主機下如果有多個SSD,每個SSD的FLASH由其各自的SSD控制器控制,數(shù)據(jù)處理系統(tǒng)無法對所有SSD的存儲資源進行統(tǒng)一管理,而本發(fā)明中數(shù)據(jù)處理系統(tǒng)主機通過自身的控制器對整個FLASH進行統(tǒng)一管理,可以實現(xiàn)資源的優(yōu)化。該數(shù)據(jù)處理系統(tǒng)主機具有操作系統(tǒng),由操作系統(tǒng)統(tǒng)一管理FLASH,對FLASH進行讀寫操作。步驟S205,所述數(shù)據(jù)處理系統(tǒng)主機的控制器對所述存儲設(shè)備的FLASH進行調(diào)度處理。為對存儲設(shè)備進行磨損均衡、壞塊統(tǒng)一處理、更換FLASH插卡等優(yōu)化操作,對存儲設(shè)備的各個FLASH插卡上的FLASH進行統(tǒng)一調(diào)度處理,即可利用其它FLASH插卡上的FLASH進行數(shù)據(jù)備份、搬遷等。根據(jù)本發(fā)明提供的一種存儲設(shè)備的控制方法的另一個實施例,由數(shù)據(jù)處理系統(tǒng)主機的控制器直接對存儲設(shè)備的FLASH進行統(tǒng)一管理,可以實現(xiàn)對存儲設(shè)備的FLASH進行自上而下的統(tǒng)一管控,且對存儲設(shè)備的FLASH進行調(diào)度處理,有利于實現(xiàn)資源的優(yōu)化。圖3為對圖2中步驟S205的進一步細化的一個實施方式的方法流程圖。如圖3所示,步驟S205具體包括以下步驟步驟S301,當任一個FLASH中包含壞塊時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器查找任一個所述FLASH的冗余塊。FLASH介質(zhì)在使用過程中會產(chǎn)生壞塊,為解決性能與可靠性問題,在FLASH上會留有一部分冗余塊作為冗余空間。一個FLASH由若干塊組成,當任一個FLASH中包含壞塊時,可以查找任一個FLASH的冗余塊。步驟S302,所述數(shù)據(jù)處理系統(tǒng)主機的控制器讀取所述壞塊的數(shù)據(jù),將所述數(shù)據(jù)寫入查找到的所述冗余塊。先將冗余塊擦除,讀取壞塊中的數(shù)據(jù),將該數(shù)據(jù)寫入查找到的冗余塊中。步驟S303,所述數(shù)據(jù)處理系統(tǒng)主機的控制器更新所述地址映射表,將所述壞塊的邏輯地址對應(yīng)所述冗余塊的物理地址。由于壞塊中的數(shù)據(jù)已經(jīng)全部寫入到冗余塊,其壞塊中的數(shù)據(jù)的物理地址發(fā)生了改變,因此,需要更新地址映射表,將原來壞塊的邏輯地址對應(yīng)現(xiàn)在數(shù)據(jù)所在的冗余塊的物理地址?,F(xiàn)有技術(shù)中,在某個單盤壞塊達到一定程度后,會單盤失效,影響可靠性,增加維護成本,也浪費物料,而采用本實施例的壞塊統(tǒng)一處理方法,在處理壞塊時可以將插卡A的壞塊替換至其它插卡,使插卡與存儲設(shè)備繼續(xù)使用,減少后期成本浪費。圖4為對圖2中步驟S205的進一步細化的另一個實施方式的方法流程圖。如圖4所示,步驟S205具體包括以下步驟
步驟S401,當其中一個所述FLASH插卡損壞時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器將所述損壞的FLASH插卡的FLASH中的數(shù)據(jù)備份至所述存儲設(shè)備的其它FLASH插卡的FLASH。由于損壞的FLASH插卡與其它FLASH插卡由存儲設(shè)備統(tǒng)一管理,因此,可將損壞的FLASH插卡的FLASH中的數(shù)據(jù)備份至其它FLASH插卡的FLASH中。步驟S402,當將一個新的FLASH插卡替換所述損壞的FLASH插卡時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器將所述其它FLASH插卡的FLASH中備份的數(shù)據(jù)寫入所述新的FLASH插卡的 FLASH。由于本發(fā)明的存儲設(shè)備分離了原有控制器,只以FLASH插卡形式存在,可以降低整體故障率,若單個插卡損壞,則直接更換即可,減少后期維護成本,且為工業(yè)設(shè)計提供更大的空間。圖5為對圖2中步驟S205的進一步細化的又一個實施方式的方法流程圖。如圖5所示,步驟S205具體包括以下步驟步驟S501,當進行數(shù)據(jù)寫入操作時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器檢測待寫入的FLASH的塊的磨損次數(shù)。本實施例涉及磨損均衡技術(shù),存儲設(shè)備的特性決定了必須使用磨損均衡策略,以保證存儲可靠性。進行數(shù)據(jù)寫入操作,包括接收數(shù)據(jù)處理系統(tǒng)的寫入請求進行寫入操作、對FLASH本身的壞塊統(tǒng)一處理、更換FLASH插卡等。進行FLASH數(shù)據(jù)寫操作時,必須先進行擦寫操作,而FLASH有限定的擦寫次數(shù),例如,有的FLASH的擦寫次數(shù)為10萬次,因此,進行一次擦寫即記為一次磨損,系統(tǒng)中有進行磨損次數(shù)統(tǒng)計的部件。因此,為保證磨損均衡,當進行數(shù)據(jù)寫入操作時,先檢測待寫入的FLASH的塊的磨損次數(shù)。步驟S502,當所述待寫入的FLASH的塊的磨損次數(shù)高于任意一個FLASH的塊的磨損次數(shù)時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器選擇低于所述待寫入的FLASH的塊的磨損次數(shù)的FLASH的塊。由于存儲設(shè)備對FLASH進行統(tǒng)一管理,因此,當待寫入的FLASH的塊的磨損次數(shù)高于任意一個FLASH的塊的磨損次數(shù)時,可以任意選擇低于待寫入的FLASH的塊的磨損次數(shù)的FLASH的塊。步驟S503,所述數(shù)據(jù)處理系統(tǒng)主機的控制器將待寫入的數(shù)據(jù)寫入所述選擇的FLASH的塊。步驟S504,所述數(shù)據(jù)處理系統(tǒng)主機的控制器更新所述地址映射表,將所述待寫入的FLASH的塊的邏輯地址對應(yīng)所述選擇的FLASH的塊的物理地址。由于待寫入的FLASH的塊的數(shù)據(jù)的物理地址發(fā)生了改變,因此,需要更新地址映射表,將待寫入的FLASH的塊的原先的邏輯地址對應(yīng)當前所選擇的FLASH的塊的物理地址。從整個存儲設(shè)備來看,單盤的磨損均衡無法滿足整體要求,采用本實施例的磨損均衡方案,存儲設(shè)備在分配寫入數(shù)據(jù)地址的時候就可以針對不同的插卡中的FLASH根據(jù)磨損次數(shù)進行分配與映射,可以最大限度的減少插卡間的數(shù)據(jù)搬移,減少對性能與可靠性的影響。圖6為本發(fā)明提供的一種的控制器的一個實施例的結(jié)構(gòu)示意圖。所述控制器位于數(shù)據(jù)處理系統(tǒng)主機,所述數(shù)據(jù)處理系統(tǒng)主機包括存儲設(shè)備,所述存儲設(shè)備包括閃存FLASH和數(shù)據(jù)接口,所述控制器通過所述存儲設(shè)備的數(shù)據(jù)接口控制所述FLASH,如圖6所示,該控制器1000包括第一查找單元101,用于當接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求時,查找所述數(shù)據(jù)寫入請求包含的第一目標邏輯地址對應(yīng)的第一物理地址。第一寫入單元102,用于將所請求的待寫數(shù)據(jù)寫入所述第一物理地址對應(yīng)的閃存FLASH 中。在本發(fā)明中,數(shù)據(jù)處理系統(tǒng)主機包括個人計算機、服務(wù)器或存儲陣列等,數(shù)據(jù)處理系統(tǒng)主機的控制器通過存儲設(shè)備的數(shù)據(jù)接口直接與存儲介質(zhì)相連,該存儲介質(zhì)可以為FLASH,該FLASH可以設(shè)置在FLASH插卡上,當然不局限于插卡形式,存儲設(shè)備包括至少兩個FLASH插卡,該FLASH插卡上設(shè)有至少一個FLASH。數(shù)據(jù)處理系統(tǒng)主機的控制器接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求時,直接解析該請求,查找數(shù)據(jù)寫入請求包含的第一目標邏輯地址對應(yīng)的第一物理地址,并將所請求的待寫數(shù)據(jù)寫入第一物理地址對應(yīng)的閃存FLASH中。數(shù)據(jù)處理系統(tǒng)主機中存儲有表示邏輯地址與物理地址的映射關(guān)系的地址映射表或邏輯地址與物理地址的固定關(guān)系,通過該地址映射表或邏輯地址與物理地址的固定關(guān)系,可以查找到第一目標邏輯地址對應(yīng)的第一物理地址。所述第一查找單元101還用于當接收到所述數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)讀取請求時,從地址映射表中查找所述數(shù)據(jù)讀取請求包含的第二目標邏輯地址對應(yīng)的第二物理地址。第一讀取單元103,用于從所述第二物理地址對應(yīng)的FLASH中讀取所請求的待讀數(shù)據(jù),并將讀取的所述數(shù)據(jù)返回至所述數(shù)據(jù)處理系統(tǒng)。接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)讀取請求時,直接解析該請求,查找該數(shù)據(jù)讀取請求包含的第二目標邏輯地址對應(yīng)的第二物理地址,從該第二物理地址對應(yīng)的FLASH中讀取所請求的待讀數(shù)據(jù),并將讀取的數(shù)據(jù)返回至數(shù)據(jù)處理系統(tǒng)主機。值得說明的是,數(shù)據(jù)寫入請求包含的第一目標邏輯地址和第一物理地址與數(shù)據(jù)讀取請求包含的第二目標邏輯地址和第二物理地址并不是特指,第一目標邏輯地址可以與第二目標邏輯地址相同或不相同,相應(yīng)的第一物理地址可以與第二物理地址相同或不相同。在現(xiàn)有技術(shù)中,例如存儲陣列,存儲陣列本身有一個主控制器,而各個部分FLASH又有一個SSD的控制器對該部分FLASH進行控制,各個部分的FLASH和SSD的控制器構(gòu)成一個單盤,即一個SSD,當接收到數(shù)據(jù)寫入請求時,存儲陣列的主控制器對該請求進行協(xié)議封裝,并將封裝好的請求發(fā)送給該請求針對的單盤的控制器,由單盤的控制器解析請求,并對FLASH進行操作。而在本發(fā)明中,由數(shù)據(jù)處理系統(tǒng)主機例如個人計算機、服務(wù)器或存儲陣列本身的控制器對FLASH進行操作,而不像現(xiàn)有技術(shù)中的SSD,其FLASH由SSD的控制器控制,SSD的控制器解析數(shù)據(jù)處理系統(tǒng)主機的控制器發(fā)送的指令,現(xiàn)有技術(shù)中的數(shù)據(jù)處理系統(tǒng)主機下如果有多個SSD,每個SSD的FLASH由其各自的SSD控制器控制,數(shù)據(jù)處理系統(tǒng)無法對所有SSD的存儲資源進行統(tǒng)一管理,而本發(fā)明中數(shù)據(jù)處理系統(tǒng)主機通過自身的控制器對整個FLASH進行統(tǒng)一管理,可以實現(xiàn)資源的優(yōu)化。該數(shù)據(jù)處理系統(tǒng)主機具有操作系統(tǒng),由操作系統(tǒng)統(tǒng)一管理FLASH,對FLASH進行讀寫操作。根據(jù)本發(fā)明提供的一種控制器的一個實施例,由數(shù)據(jù)處理系統(tǒng)主機的控制器直接對存儲設(shè)備的FLASH進行統(tǒng)一管理,可以實現(xiàn)對存儲設(shè)備的FLASH進行自上而下的統(tǒng)一管控,有利于實現(xiàn)資源的優(yōu)化。圖7為本發(fā)明提供的一種控制器的另一個實施例的結(jié)構(gòu)示意圖。如圖7所示,該控制器2000包括建立單元201,用于建立閃存FLASH的物理地址和邏輯地址的映射關(guān)系。在本發(fā)明中,數(shù)據(jù)處理系統(tǒng)主機包括個人計算機、服務(wù)器或存儲陣列等,數(shù)據(jù)處理系統(tǒng)主機的控制器通過存儲設(shè)備的數(shù)據(jù)接口直接與存儲介質(zhì)相連,該存儲介質(zhì)可以為FLASH,該FLASH可以設(shè)置在FLASH插卡上,當然不局限于插卡形式,存儲設(shè)備包括至少兩個FLASH插卡,該FLASH插卡上設(shè)有至少一個FLASH。建立單元201建立FLASH的物理地址和邏輯地址的——映射關(guān)系,存儲設(shè)備可以對其邏輯地址對應(yīng)的物理地址所在的任意的FLASH進行操作,該FLASH可以位于任意FLASH插卡上。存儲單元202,用于采用地址映射表存儲所述FLASH的物理地址和邏輯地址的映射關(guān)系,以使得所述數(shù)據(jù)處理系統(tǒng)主機的控制器在接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求或數(shù)據(jù)讀取請求時,從所述地址映射表中查找所述數(shù)據(jù)寫入/讀取請求包含的目標邏輯地址對應(yīng)的物理地址。具體地,存儲單元202采用地址映射表存儲FLASH的物理地址和邏輯地址的映射關(guān)系,可以方便進行讀寫操作時查找邏輯地址所對應(yīng)的物理地址。第一查找單元203,用于當接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求時,從地址映射表中查找所述數(shù)據(jù)寫入請求包含的第一目標邏輯地址對應(yīng)的第一物理地址。第一寫入單元204,用于將所請求的待寫數(shù)據(jù)寫入所述第一物理地址對應(yīng)的閃存FLASH 中。數(shù)據(jù)處理系統(tǒng)主機的控制器接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求時,直接解析該請求,從地址映射表中查找數(shù)據(jù)寫入請求包含的第一目標邏輯地址對應(yīng)的第一物理地址,并將所請求的待寫數(shù)據(jù)寫入第一物理地址對應(yīng)的閃存FLASH中。該第一物理地址對應(yīng)的閃存FLASH可以位于任意FLASH插卡上。所述第一查找單元203還用于當接收到所述數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)讀取請求時,從地址映射表中查找所述數(shù)據(jù)讀取請求包含的第二目標邏輯地址對應(yīng)的第二物理地址。第一讀取單元205,用于從所述第二物理地址對應(yīng)的FLASH中讀取所請求的待讀數(shù)據(jù),并將讀取的所述數(shù)據(jù)返回至所述數(shù)據(jù)處理系統(tǒng)。數(shù)據(jù)處理系統(tǒng)主機的控制器接收到數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)讀取請求時,直接解析該請求,從地址映射表中查找該數(shù)據(jù)讀取請求包含的第二目標邏輯地址對應(yīng)的第二物理地址,從該第二物理地址對應(yīng)的FLASH中讀取所請求的待讀數(shù)據(jù),并將讀取的數(shù)據(jù)返回至數(shù)據(jù)處理系統(tǒng)。該第二物理地址對應(yīng)的FLASH可以位于任意的FLASH插卡上。值得說明的是,數(shù)據(jù)寫入請求包含的第一目標邏輯地址和第一物理地址與數(shù)據(jù)讀取請求包含的第二目標邏輯地址和第二物理地址并不是特指,第一目標邏輯地址可以與第二目標邏輯地址相同或不相同,相應(yīng)的第一物理地址可以與第二物理地址相同或不相同。在現(xiàn)有技術(shù)中,例如存儲陣列,存儲陣列本身有一個主控制器,而各個部分FLASH又有一個SSD的控制器對該部分FLASH進行控制,各個部分的FLASH和SSD的控制器構(gòu)成一個單盤,即一個SSD,當接收到數(shù)據(jù)寫入請求時,存儲陣列的主控制器對該請求進行協(xié)議封裝,并將封裝好的請求發(fā)送給該請求針對的單盤的控制器,由單盤的控制器解析請求,并對FLASH進行操作。而在本發(fā)明中,由數(shù)據(jù)處理系統(tǒng)主機例如個人計算機、服務(wù)器或存儲陣列本身的控制器對FLASH進行操作,而不像現(xiàn)有技術(shù)中的SSD,其FLASH由SSD的控制器控制,SSD的控制器解析數(shù)據(jù)處理系統(tǒng)主機的控制器發(fā)送的指令,現(xiàn)有技術(shù)中的數(shù)據(jù)處理系統(tǒng)主機下如果有多個SSD,每個SSD的FLASH由其各自的SSD控制器控制,數(shù)據(jù)處理系統(tǒng)無法對所有SSD的存儲資源進行統(tǒng)一管理,而本發(fā)明中數(shù)據(jù)處理系統(tǒng)主機通過自身的控制器對整個FLASH進行統(tǒng)一管理,可以實現(xiàn)資源的優(yōu)化。該數(shù)據(jù)處理系統(tǒng)主機具有操作系統(tǒng),由操作系統(tǒng)統(tǒng)一管理FLASH,對FLASH進行讀寫操作。調(diào)度處理單元206,用于對所述存儲設(shè)備的FLASH進行調(diào)度處理。為對存儲設(shè)備進行磨損均衡、壞塊統(tǒng)一處理、更換FLASH插卡等優(yōu)化操作,調(diào)度處理單元206對存儲設(shè)備的各個FLASH插卡上的FLASH進行統(tǒng)一調(diào)度處理,即可利用其它FLASH插卡上的FLASH進行數(shù)據(jù)備份、搬遷等。根據(jù)本發(fā)明提供的一種控制器的另一個實施例,由數(shù)據(jù)處理系統(tǒng)主機的控制器直接對存儲設(shè)備的FLASH進行統(tǒng)一管理,可以實現(xiàn)對存儲設(shè)備的FLASH進行自上而下的統(tǒng)一管控,且對存儲設(shè)備的FLASH進行調(diào)度處理,有利于實現(xiàn)資源的優(yōu)化。圖8為對圖7中調(diào)度處理單元206進一步細化的一個實施方式的結(jié)構(gòu)示意圖。如圖8所示,該調(diào)度處理單元206包括第二查找單元2061,用于當任一個FLASH中包含壞塊時,查找任一個所述FLASH的幾余塊。FLASH介質(zhì)在使用過程中會產(chǎn)生壞塊,存儲設(shè)備為解決性能與可靠性問題在FLASH上會留有一部分冗余塊作為冗余空間。一個FLASH由若干塊組成,當任一個FLASH中包含壞塊時,可以查找任一個FLASH的冗余塊。第二讀取單元2062,用于讀取所述壞塊的數(shù)據(jù)。第二寫入單元2063,用于將所述數(shù)據(jù)寫入查找到的所述冗余塊。先將冗余塊擦除,第二讀取單元2062讀取壞塊中的數(shù)據(jù),第二寫入單元2063將該數(shù)據(jù)寫入查找到的冗余塊中。第一更新單元2064,用于更新所述地址映射表,將所述壞塊的邏輯地址對應(yīng)所述冗余塊的物理地址。由于壞塊中的數(shù)據(jù)已經(jīng)全部寫入到冗余塊,其壞塊中的數(shù)據(jù)的物理地址發(fā)生了改變,因此,需要更新地址映射表,將原來壞塊的邏輯地址對應(yīng)現(xiàn)在數(shù)據(jù)所在的冗余塊的物理地址?,F(xiàn)有技術(shù)中,在某個單盤壞塊達到一定程度后,會單盤失效,影響可靠性,增加維護成本,也浪費物料,而采用本實施例的壞塊統(tǒng)一處理方法,在處理壞塊時可以將插卡A的壞塊替換至其它插卡,使插卡與存儲設(shè)備繼續(xù)使用,減少后期成本浪費。圖9為對圖7中調(diào)度處理單元206進一步細化的另一個實施方式的結(jié)構(gòu)示意圖。如圖9所示,該調(diào)度處理單元206包括備份單元2065,用于當其中一個所述FLASH插卡損壞時,將所述損壞的FLASH插卡的FLASH中的數(shù)據(jù)備份至所述存儲設(shè)備的其它FLASH插卡的FLASH。由于損壞的FLASH插卡與其它FLASH插卡由存儲設(shè)備統(tǒng)一管理,因此,可將損壞的FLASH插卡的FLASH中的數(shù)據(jù)備份至其它FLASH插卡的FLASH中。第三寫入單元2066,用于當將一個新的FLASH插卡替換所述損壞的FLASH插卡時,將所述其它FLASH插卡的FLASH中備份的數(shù)據(jù)寫入所述新的FLASH插卡的FLASH。由于本發(fā)明的存儲設(shè)備分離了原有控制器,只以FLASH插卡形式存在,可以降低整體故障率,若單個插卡損壞,則直接更換即可,減少后期維護成本,且為工業(yè)設(shè)計提供更大的空間。圖10為對圖7中調(diào)度處理單元206進一步細化的另一個實施方式的結(jié)構(gòu)示意圖。如圖10所示,該調(diào)度處理單元206包括檢測單元2067,用于當進行數(shù)據(jù)寫入操作時,檢測待寫入的FLASH的塊的磨損次數(shù)。本實施例涉及磨損均衡技術(shù),存儲設(shè)備的特性決定了必須使用磨損均衡策略,以保證存儲可靠性。進行數(shù)據(jù)寫入操作,包括接收數(shù)據(jù)處理系統(tǒng)的寫入請求進行寫入操作、對FLASH本身的壞塊統(tǒng)一處理、更換FLASH插卡等。進行FLASH數(shù)據(jù)寫操作時,必須先進行擦寫操作,而FLASH有限定的擦寫次數(shù),例如,有的FLASH的擦寫次數(shù)為10萬次,因此,進行一次擦寫即記為一次磨損,系統(tǒng)中有進行磨損次數(shù)統(tǒng)計的部件。因此,為保證磨損均衡,當進行數(shù)據(jù)寫入操作時,先檢測待寫入的FLASH的塊的磨損次數(shù)。選擇單元2068,用于當所述待寫入的FLASH的塊的磨損次數(shù)高于任意一個FLASH的塊的磨損次數(shù)時,選擇低于所述待寫入的FLASH的塊的磨損次數(shù)的FLASH的塊。由于存儲設(shè)備對FLASH進行統(tǒng)一管理,因此,當待寫入的FLASH的塊的磨損次數(shù)高于任意一個FLASH的塊的磨損次數(shù)時,可以任意選擇低于待寫入的FLASH的塊的磨損次數(shù)的FLASH的塊。第四寫入單元2069,用于將待寫入的數(shù)據(jù)寫入所述選擇的FLASH的塊。第二更新單元2070,用于更新所述地址映射表,將所述待寫入的FLASH的塊的邏輯地址對應(yīng)所述選擇的FLASH的塊的物理地址。由于待寫入的FLASH的塊的數(shù)據(jù)的物理地址發(fā)生了改變,因此,需要更新地址映射表,將待寫入的FLASH的塊的原先的邏輯地址對應(yīng)當前所選擇的FLASH的塊的物理地址。從整個存儲設(shè)備來看,單盤的磨損均衡無法滿足整體要求,采用本實施例的磨損均衡方案,存儲設(shè)備在分配寫入數(shù)據(jù)地址的時候就可以針對不同的插卡中的FLASH根據(jù)磨損次數(shù)進行分配與映射,可以最大限度的減少插卡間的數(shù)據(jù)搬移,減少對性能與可靠性的影響。圖11為本發(fā)明提供的一種存儲系統(tǒng)的實施例的結(jié)構(gòu)示意圖。如圖11所示,該存儲系統(tǒng)包括存儲設(shè)備3000和前述實施例描述的數(shù)據(jù)處理系統(tǒng)主機4000的控制器302,該存儲設(shè)備設(shè)置于數(shù)據(jù)處理系統(tǒng)主機4000,該存儲設(shè)備3000包括數(shù)據(jù)接口 301和FLASH303。其中,存儲設(shè)備3000通過數(shù)據(jù)接口 301與數(shù)據(jù)處理系統(tǒng)4000的控制器302相連??刂破?02執(zhí)行如下步驟
當接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求時,控制器302查找所述數(shù)據(jù)寫入請求包含的第一目標邏輯地址對應(yīng)的第一物理地址,并將所請求的待寫數(shù)據(jù)寫入所述第一物理地址對應(yīng)的閃存FLASH中。當接收到所述數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)讀取請求時,查找所述數(shù)據(jù)讀取請求包含的第二目標邏輯地址對應(yīng)的第二物理地址,從所述第二物理地址對應(yīng)的FLASH中讀取所請求的待讀數(shù)據(jù),并將讀取的所述數(shù)據(jù)返回至所述數(shù)據(jù)處理系統(tǒng)主機。優(yōu)選地,數(shù)據(jù)處理系統(tǒng)主機4000包括個人計算機、服務(wù)器或存儲陣列。優(yōu)選地,存儲設(shè)備3000包括至少兩個FLASH插卡,所述FLASH插卡上設(shè)有至少一個 FLASH。進一步地,控制器302在執(zhí)行接收到數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)寫入請求或數(shù)據(jù)讀取請求的步驟之前,還執(zhí)行如下步驟建立所述FLASH的物理地址和邏輯地址的映射關(guān)系。采用地址映射表存儲所述FLASH的物理地址和邏輯地址的映射關(guān)系,以使得所述數(shù)據(jù)處理系統(tǒng)主機的控制器在接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求或數(shù)據(jù)讀取請求時,從所述地址映射表中查找所述數(shù)據(jù)寫入/讀取請求包含的目標邏輯地址對應(yīng)的物理地址。進一步地,控制器302還執(zhí)行如下步驟對所述存儲設(shè)備的FLASH進行調(diào)度處理。作為一種實施方式,控制器302執(zhí)行對所述存儲設(shè)備的FLASH進行調(diào)度處理的步驟包括當任一個FLASH中包含壞塊時,查找任一個所述FLASH的冗余塊。讀取所述壞塊的數(shù)據(jù),將所述數(shù)據(jù)寫入查找到的所述冗余塊。更新所述地址映射表,將所述壞塊的邏輯地址對應(yīng)所述冗余塊的物理地址。作為另一種實施方式,控制器302執(zhí)行對所述存儲設(shè)備的FLASH進行調(diào)度處理的步驟還包括當其中一個所述FLASH插卡損壞時,將所述損壞的FLASH插卡的FLASH中的數(shù)據(jù)備份至所述存儲設(shè)備的其它FLASH插卡的FLASH。當將一個新的FLASH插卡替換所述損壞的FLASH插卡時,將所述其它FLASH插卡的FLASH中備份的數(shù)據(jù)寫入所述新的FLASH插卡的FLASH。作為又一種實施方式,控制器302執(zhí)行對所述存儲設(shè)備的FLASH進行調(diào)度處理的步驟還包括當進行數(shù)據(jù)寫入操作時,檢測待寫入的FLASH的塊的磨損次數(shù)。當所述待寫入的FLASH的塊的磨損次數(shù)高于任意一個FLASH的塊的磨損次數(shù)時,選擇低于所述待寫入的FLASH的塊的磨損次數(shù)的FLASH的塊。將待寫入的數(shù)據(jù)寫入所述選擇的FLASH的塊。更新所述地址映射表,將所述待寫入的FLASH的塊的邏輯地址對應(yīng)所述選擇的FLASH的塊的物理地址。根據(jù)本發(fā)明提供的一種存儲系統(tǒng)的實施例,由數(shù)據(jù)處理系統(tǒng)主機的控制器直接對存儲設(shè)備的FLASH進行統(tǒng)一管理,可以實現(xiàn)對存儲設(shè)備的FLASH進行自上而下的統(tǒng)一管控,有利于實現(xiàn)資源的優(yōu)化。在現(xiàn)有技術(shù)中,例如存儲陣列,存儲陣列本身有一個主控制器,而各個部分FLASH又有一個SSD的控制器對該部分FLASH進行控制,各個部分的FLASH和SSD的控制器構(gòu)成一個單盤,即一個SSD,當接收到數(shù)據(jù)寫入請求時,存儲陣列的主控制器對該請求進行協(xié)議封裝,并將封裝好的請求發(fā)送給該請求針對的單盤的控制器,由單盤的控制器解析請求,并對FLASH進行操作。而在本發(fā)明中,由數(shù)據(jù)處理系統(tǒng)主機例如個人計算機、服務(wù)器或存儲陣列本身的控制器對FLASH進行操作,而不像現(xiàn)有技術(shù)中的SSD,其FLASH由SSD的控制器控制,SSD的控制器解析數(shù)據(jù)處理系統(tǒng)主機的控制器發(fā)送的指令,現(xiàn)有技術(shù)中的數(shù)據(jù)處理系統(tǒng)主機下如果有多個SSD,每個SSD的FLASH由其各自的SSD控制器控制,數(shù)據(jù)處理系統(tǒng)無法對所有SSD的存儲資源進行統(tǒng)一管理,而本發(fā)明中數(shù)據(jù)處理系統(tǒng)主機通過自身的控制器對整個FLASH進行統(tǒng)一管理,可以實現(xiàn)資源的優(yōu)化。該數(shù)據(jù)處理系統(tǒng)主機具有操作系統(tǒng),由操作系統(tǒng)統(tǒng)一管理FLASH,對FLASH進行讀寫操作。以上所揭露的僅為本發(fā)明較佳實施例而已,當然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
權(quán)利要求
1.一種存儲設(shè)備的控制方法,所述存儲設(shè)備設(shè)置于數(shù)據(jù)處理系統(tǒng)主機,所述存儲設(shè)備包括閃存FLASH和數(shù)據(jù)接口,所述數(shù)據(jù)處理系統(tǒng)主機的控制器通過所述數(shù)據(jù)接口對所述FLASH進行控制,其特征在于,所述控制方法包括 當接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器查找所述數(shù)據(jù)寫入請求包含的第一目標邏輯地址對應(yīng)的第一物理地址,并將所請求的待寫數(shù)據(jù)寫入所述第一物理地址對應(yīng)的FLASH中; 當接收到所述數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)讀取請求時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器查找所述數(shù)據(jù)讀取請求包含的第二目標邏輯地址對應(yīng)的第二物理地址,從所述第二物理地址對應(yīng)的FLASH中讀取所請求的待讀數(shù)據(jù),并將讀取的所述數(shù)據(jù)返回至所述數(shù)據(jù)處理系統(tǒng)主機。
2.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)處理系統(tǒng)主機包括個人計算機、服務(wù)器或存儲陣列。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述存儲設(shè)備包括至少兩個FLASH插卡,所述FLASH插卡上設(shè)有至少一個所述FLASH。
4.如權(quán)利要求1-3任意一項所述的方法,其特征在于,在接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求或數(shù)據(jù)讀取請求之前,還包括 建立所述FLASH的物理地址和邏輯地址的映射關(guān)系; 采用地址映射表存儲所述FLASH的物理地址和邏輯地址的映射關(guān)系,以使得所述數(shù)據(jù)處理系統(tǒng)主機的控制器在接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求或數(shù)據(jù)讀取請求時,從所述地址映射表中查找所述數(shù)據(jù)寫入/讀取請求包含的目標邏輯地址對應(yīng)的物理地址。
5.如權(quán)利要求1-4任意一項所述的方法,其特征在于,還包括所述數(shù)據(jù)處理系統(tǒng)主機的控制器對所述存儲設(shè)備的FLASH進行調(diào)度處理。
6.如權(quán)利要求5所述的方法,其特征在于,所述數(shù)據(jù)處理系統(tǒng)主機的控制器對所述存儲設(shè)備的FLASH進行調(diào)度處理,包括 當任一個FLASH中包含壞塊時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器查找任一個所述FLASH的冗余塊; 所述數(shù)據(jù)處理系統(tǒng)主機的控制器讀取所述壞塊的數(shù)據(jù),將所述數(shù)據(jù)寫入查找到的所述幾余塊; 所述數(shù)據(jù)處理系統(tǒng)主機的控制器更新所述地址映射表,將所述壞塊的邏輯地址對應(yīng)所述冗余塊的物理地址。
7.如權(quán)利要求5所述的方法,其特征在于,所述數(shù)據(jù)處理系統(tǒng)主機的控制器對所述存儲設(shè)備的FLASH進行調(diào)度處理,還包括 當其中一個所述FLASH插卡損壞時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器將所述損壞的FLASH插卡的FLASH中的數(shù)據(jù)備份至所述存儲設(shè)備的其它FLASH插卡的FLASH ; 當將一個新的FLASH插卡替換所述損壞的FLASH插卡時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器將所述其它FLASH插卡的FLASH中備份的數(shù)據(jù)寫入所述新的FLASH插卡的FLASH。
8.如權(quán)利要求5-7任意一項所述的方法,其特征在于,所述數(shù)據(jù)處理系統(tǒng)主機的控制器對所述存儲設(shè)備的FLASH進行調(diào)度處理,還包括 當進行數(shù)據(jù)寫入操作時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器檢測待寫入的FLASH的塊的磨損次數(shù); 當所述待寫入的FLASH的塊的磨損次數(shù)高于任意一個FLASH的塊的磨損次數(shù)時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器選擇低于所述待寫入的FLASH的塊的磨損次數(shù)的FLASH的塊;所述數(shù)據(jù)處理系統(tǒng)主機的控制器將待寫入的數(shù)據(jù)寫入所述選擇的FLASH的塊; 所述數(shù)據(jù)處理系統(tǒng)主機的控制器更新所述地址映射表,將所述待寫入的FLASH的塊的邏輯地址對應(yīng)所述選擇的FLASH的塊的物理地址。
9.一種控制器,所述控制器位于數(shù)據(jù)處理系統(tǒng)主機,所述數(shù)據(jù)處理系統(tǒng)主機包括存儲設(shè)備,所述存儲設(shè)備包括閃存FLASH和數(shù)據(jù)接口,所述控制器通過所述存儲設(shè)備的數(shù)據(jù)接口控制所述FLASH,其特征在于,所述控制器包括 第一查找單元,用于當接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求時,查找所述數(shù)據(jù)寫入請求包含的第一目標邏輯地址對應(yīng)的第一物理地址; 第一寫入單元,用于將所請求的待寫數(shù)據(jù)寫入所述第一物理地址對應(yīng)的FLASH中;所述第一查找單元還用于當接收到所述數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)讀取請求時,查找所述數(shù)據(jù)讀取請求包含的第二目標邏輯地址對應(yīng)的第二物理地址; 第一讀取單元,用于從所述第二物理地址對應(yīng)的FLASH中讀取所請求的待讀數(shù)據(jù),并將讀取的所述數(shù)據(jù)返回至所述數(shù)據(jù)處理系統(tǒng)主機。
10.如權(quán)利要求9所述的控制器,其特征在于,所述數(shù)據(jù)處理系統(tǒng)主機包括個人計算機、服務(wù)器或存儲陣列。
11.如權(quán)利要求9或10所述的控制器,其特征在于,所述存儲設(shè)備包括至少兩個FLASH插卡,所述FLASH插卡上設(shè)有至少一個所述FLASH。
12.如權(quán)利要求9-11任意一項所述的控制器,其特征在于,還包括 建立單元,用于建立所述FLASH的物理地址和邏輯地址的映射關(guān)系; 存儲單元,用于采用地址映射表存儲所述FLASH的物理地址和邏輯地址的映射關(guān)系,以使得所述數(shù)據(jù)處理系統(tǒng)主機的控制器在接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求或數(shù)據(jù)讀取請求時,從所述地址映射表中查找所述數(shù)據(jù)寫入/讀取請求包含的目標邏輯地址對應(yīng)的物理地址。
13.如權(quán)利要求9-12任意一項所述的控制器,其特征在于,還包括 調(diào)度處理單元,用于對所述存儲設(shè)備的FLASH進行調(diào)度處理。
14.如權(quán)利要求13所述的控制器,其特征在于,所述調(diào)度處理單元包括 第二查找單元,用于當任一個FLASH中包含壞塊時,查找任一個所述FLASH的冗余塊; 第二讀取單元,用于讀取所述壞塊的數(shù)據(jù); 第二寫入單元,用于將所述數(shù)據(jù)寫入查找到的所述冗余塊; 第一更新單元,用于更新所述地址映射表,將所述壞塊的邏輯地址對應(yīng)所述冗余塊的物理地址。
15.如權(quán)利要求13所述的控制器,其特征在于,所述調(diào)度處理單元還包括 備份單元,用于當其中一個所述FLASH插卡損壞時,將所述損壞的FLASH插卡的FLASH中的數(shù)據(jù)備份至所述存儲設(shè)備的其它FLASH插卡的FLASH ; 第三寫入單元,用于當將一個新的FLASH插卡替換所述損壞的FLASH插卡時,將所述其它FLASH插卡的FLASH中備份的數(shù)據(jù)寫入所述新的FLASH插卡的FLASH。
16.如權(quán)利要求13-15任意一項所述的控制器,其特征在于,所述調(diào)度處理單元還包括 檢測單元,用于當進行數(shù)據(jù)寫入操作時,檢測待寫入的FLASH的塊的磨損次數(shù); 選擇單元,用于當所述待寫入的FLASH的塊的磨損次數(shù)高于任意一個FLASH的塊的磨損次數(shù)時,選擇低于所述待寫入的FLASH的塊的磨損次數(shù)的FLASH的塊; 第四寫入單元,用于將待寫入的數(shù)據(jù)寫入所述選擇的FLASH的塊; 第二更新單元,用于更新所述地址映射表,將所述待寫入的FLASH的塊的邏輯地址對應(yīng)所述選擇的FLASH的塊的物理地址。
17.一種存儲系統(tǒng),其特征在于,所述存儲系統(tǒng)包括存儲設(shè)備和權(quán)利要求9-16所述的數(shù)據(jù)處理系統(tǒng)主機的控制器,所述存儲設(shè)備設(shè)置于所述數(shù)據(jù)處理系統(tǒng)主機,所述存儲設(shè)備包括數(shù)據(jù)接口和閃存FLASH ; 所述FLASH通過所述數(shù)據(jù)接口與所述數(shù)據(jù)處理系統(tǒng)主機的控制器相連; 所述數(shù)據(jù)處理系統(tǒng)主機的控制器執(zhí)行如下步驟 當接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器查找所述數(shù)據(jù)寫入請求包含的第一目標邏輯地址對應(yīng)的第一物理地址,并將所請求的待寫數(shù)據(jù)寫入所述第一物理地址對應(yīng)的FLASH中; 當接收到所述數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)讀取請求時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器查找所述數(shù)據(jù)讀取請求包含的第二目標邏輯地址對應(yīng)的第二物理地址,從所述第二物理地址對應(yīng)的FLASH中讀取所請求的待讀數(shù)據(jù),并將讀取的所述數(shù)據(jù)返回至所述數(shù)據(jù)處理系統(tǒng)主機。
18.如權(quán)利要求17所述的存儲設(shè)備,其特征在于,所述數(shù)據(jù)處理系統(tǒng)主機包括個人計算機、服務(wù)器或存儲陣列。
19.如權(quán)利要求17或18所述的存儲系統(tǒng),其特征在于,所述存儲設(shè)備包括至少兩個FLASH插卡,所述FLASH插卡上設(shè)有至少一個所述FLASH。
20.如權(quán)利要求17-19任意一項所述的存儲系統(tǒng),其特征在于,所述數(shù)據(jù)處理系統(tǒng)主機的控制器在執(zhí)行接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求或數(shù)據(jù)讀取請求的步驟之前,還執(zhí)行如下步驟 建立所述FLASH的物理地址和邏輯地址的映射關(guān)系; 采用地址映射表存儲所述FLASH的物理地址和邏輯地址的映射關(guān)系,以使得所述數(shù)據(jù)處理系統(tǒng)主機的控制器在接收到數(shù)據(jù)處理系統(tǒng)主機的數(shù)據(jù)寫入請求或數(shù)據(jù)讀取請求時,從所述地址映射表中查找所述數(shù)據(jù)寫入/讀取請求包含的目標邏輯地址對應(yīng)的物理地址。
21.如權(quán)利要求17-20任意一項所述的存儲系統(tǒng),其特征在于,所述數(shù)據(jù)處理系統(tǒng)主機的控制器還執(zhí)行如下步驟 對所述存儲設(shè)備的FLASH進行調(diào)度處理。
22.如權(quán)利要求21所述的存儲系統(tǒng),其特征在于,所述數(shù)據(jù)處理系統(tǒng)主機的控制器執(zhí)行對所述存儲設(shè)備的FLASH進行調(diào)度處理的步驟包括 當任一個FLASH中包含壞塊時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器查找任一個所述FLASH的冗余塊; 所述數(shù)據(jù)處理系統(tǒng)主機的控制器讀取所述壞塊的數(shù)據(jù),將所述數(shù)據(jù)寫入查找到的所述幾余塊; 所述數(shù)據(jù)處理系統(tǒng)主機的控制器更新所述地址映射表,將所述壞塊的邏輯地址對應(yīng)所述冗余塊的物理地址。
23.如權(quán)利要求21所述的存儲系統(tǒng),其特征在于,所述數(shù)據(jù)處理系統(tǒng)的控制器執(zhí)行對所述存儲設(shè)備的FLASH進行調(diào)度處理的步驟還包括 當其中一個所述FLASH插卡損壞時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器將所述損壞的FLASH插卡的FLASH中的數(shù)據(jù)備份至所述存儲設(shè)備的其它FLASH插卡的FLASH ; 當將一個新的FLASH插卡替換所述損壞的FLASH插卡時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器將所述其它FLASH插卡的FLASH中備份的數(shù)據(jù)寫入所述新的FLASH插卡的FLASH。
24.如權(quán)利要求21-23任意一項所述的存儲系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)主機的控制器執(zhí)行對所述固態(tài)存儲設(shè)備的FLASH進行調(diào)度處理的步驟還包括 當進行數(shù)據(jù)寫入操作時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器檢測待寫入的FLASH的塊的磨損次數(shù); 當所述待寫入的FLASH的塊的磨損次數(shù)高于任意一個FLASH的塊的磨損次數(shù)時,所述數(shù)據(jù)處理系統(tǒng)主機的控制器選擇低于所述待寫入的FLASH的塊的磨損次數(shù)的FLASH的塊; 所述數(shù)據(jù)處理系統(tǒng)主機的控制器將待寫入的數(shù)據(jù)寫入所述選擇的FLASH的塊; 所述數(shù)據(jù)處理系統(tǒng)主機的控制器更新所述地址映射表,將所述待寫入的FLASH的塊的邏輯地址對應(yīng)所述選擇的FLASH的塊的物理地址。
全文摘要
本發(fā)明公開了一種存儲設(shè)備的控制方法及相關(guān)裝置,該存儲設(shè)備設(shè)置于數(shù)據(jù)處理系統(tǒng)主機,由數(shù)據(jù)處理系統(tǒng)主機的控制器直接對存儲設(shè)備的FLASH進行統(tǒng)一管理,可以實現(xiàn)對存儲設(shè)備的FLASH進行自上而下的統(tǒng)一管控,有利于實現(xiàn)資源的優(yōu)化。
文檔編號G06F3/06GK103064795SQ20121058602
公開日2013年4月24日 申請日期2012年12月31日 優(yōu)先權(quán)日2012年12月31日
發(fā)明者柯喬, 楊朔 申請人:華為技術(shù)有限公司