專利名稱:硬盤的損耗均衡方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,特別是涉及硬盤的損耗均衡方法、存儲(chǔ) 系統(tǒng)控制裝置及存儲(chǔ)系統(tǒng)。
背景技術(shù):
固態(tài)硬盤(Solid State Disk, SSD),是由控制單元和固態(tài)存儲(chǔ)單元組成的 硬盤,其接口規(guī)范、功能及使用方法上與普通硬盤相同。由于固態(tài)硬盤沒(méi)有 普通硬盤的機(jī)械旋轉(zhuǎn)裝置,因此具有讀寫速度快、工作噪音低、抗震性好、 工作溫度范圍大等特點(diǎn)。
目前,固態(tài)硬盤的存儲(chǔ)單元大多采用非易失性的閃存(flash)芯片,其 優(yōu)點(diǎn)是數(shù)據(jù)保護(hù)不受電源控制、移動(dòng)方便,可以適應(yīng)于多種環(huán)境,缺點(diǎn)在于 存在擦寫壽命問(wèn)題。在基于閃存的固態(tài)硬盤中,存儲(chǔ)單元又分為單層式存儲(chǔ) (Single Level Cell, SLC )和多層式存儲(chǔ)(Multi level Cell, MLC )兩類。SLC 的最大擦寫次數(shù)在10萬(wàn)次左右,MLC在1萬(wàn)次左右。超過(guò)了最大可擦寫次 數(shù),閃存塊就會(huì)成為壞塊(badblock)。為了避免某個(gè)閃存塊被過(guò)度擦寫,以 至于它先于其他的閃存塊成為壞塊,需要在盡量不影響性能的前提下,把擦 寫操作均勻分布在每個(gè)閃存塊上,以延長(zhǎng)固態(tài)硬盤的使用壽命。
現(xiàn)有的固態(tài)硬盤損耗均衡技術(shù),使用映射的方法,把要寫入的固態(tài)硬盤 的邏輯地址映射到固態(tài)硬盤中寫入次數(shù)最少的區(qū)塊上面去,使得固態(tài)硬盤閃 存顆粒上各處的單元擦寫次數(shù)盡量保持一致,達(dá)到延長(zhǎng)固態(tài)硬盤的使用壽命 的目的。
在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問(wèn)題由 于多硬盤存儲(chǔ)技術(shù)的廣泛應(yīng)用,針對(duì)某一系統(tǒng),往往有多塊硬盤同時(shí)工作, 并且這些硬盤中存儲(chǔ)的數(shù)據(jù)還可能具有相關(guān)性,即當(dāng)某一塊硬盤出現(xiàn)故障時(shí), 會(huì)導(dǎo)致其他硬盤中存儲(chǔ)的相關(guān)數(shù)據(jù)也失效?,F(xiàn)有的耗均衡技術(shù),其操作單位 是閃存塊,只能在單個(gè)固態(tài)硬盤范圍內(nèi)進(jìn)行存儲(chǔ)介質(zhì)的損耗均衡,這就可能導(dǎo)致在應(yīng)用多塊固態(tài)硬盤的系統(tǒng)中,某塊硬盤由于其整體擦寫頻率較高而先 于其他硬盤出現(xiàn)故障,進(jìn)而還可能導(dǎo)致其他硬盤中存儲(chǔ)的相關(guān)數(shù)據(jù)也失效。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了硬盤的損耗均衡方法、存儲(chǔ)系統(tǒng)控制裝置及存儲(chǔ)系 統(tǒng),以實(shí)現(xiàn)在多個(gè)固態(tài)硬盤之間進(jìn)行損耗均衡,避免某一塊硬盤因過(guò)度擦寫
而先于其他硬盤出現(xiàn)故障,技術(shù)方案如下
本發(fā)明實(shí)施例提供一種硬盤的損耗均衡方法,包括
獲得存儲(chǔ)系統(tǒng)的壽命閾值和寫操作次數(shù)閾值;
獲得數(shù)據(jù)單元所在硬盤的壽命值和所述數(shù)據(jù)單元的寫操作次數(shù);
根據(jù)所述數(shù)據(jù)單元所在硬盤的壽命值和壽命閾值的第一比較結(jié)果和所述 數(shù)據(jù)單元的寫操作次數(shù)和寫操作次數(shù)閾值的第二比較結(jié)果,將所述數(shù)據(jù)單元 遷移到與所述第 一比較結(jié)果關(guān)聯(lián)的硬盤上。
本發(fā)明實(shí)施例還提供一種存儲(chǔ)系統(tǒng)控制裝置,其特征在于,包括 系統(tǒng)閾值獲得模塊,用于獲得所述存儲(chǔ)系統(tǒng)的壽命閾值和寫操作次數(shù)閾
值;
數(shù)據(jù)單元狀態(tài)獲得模塊,用于獲得數(shù)據(jù)單元所在硬盤的壽命值和所述數(shù) 據(jù)單元的寫操作次數(shù);
數(shù)據(jù)單元遷移模塊,用于根據(jù)所述數(shù)據(jù)單元所在硬盤的壽命值和壽命閾 值的第 一 比較結(jié)果和所述數(shù)據(jù)單元的寫操作次數(shù)和寫操作次數(shù)閾值的第二比 較結(jié)果,將所述數(shù)據(jù)單元遷移到與所述第一比較結(jié)果關(guān)聯(lián)的硬盤上。
本發(fā)明實(shí)施例還提供一種存儲(chǔ)系統(tǒng),包括主機(jī)接口控制器、硬盤接口控 制器,還包括
存儲(chǔ)系統(tǒng)控制器,用于根據(jù)獲得的數(shù)據(jù)單元所在硬盤的壽命值和獲得的 壽命閾值的第一比較結(jié)果,以及獲得的所述數(shù)據(jù)單元的寫操作次數(shù)和獲得的 寫操作次數(shù)閾值的第二比較結(jié)果,通過(guò)所述硬盤接口控制器將所述數(shù)據(jù)單元 遷移到與所述第一比較結(jié)果關(guān)聯(lián)的硬盤上。
本發(fā)明實(shí)施例中,根據(jù)所述數(shù)據(jù)單元所在硬盤的壽命值和壽命闊值的第 一比較結(jié)果和所述數(shù)據(jù)單元的寫操作次數(shù)和寫操作次數(shù)闊值的第二比較結(jié)果,將所述數(shù)據(jù)單元遷移到與所述第一比較結(jié)果關(guān)聯(lián)的硬盤上,從而實(shí)現(xiàn)將 經(jīng)常進(jìn)行寫操作的數(shù)據(jù)存儲(chǔ)在壽命相對(duì)長(zhǎng)的固態(tài)硬盤上,不經(jīng)常進(jìn)行寫操作 的數(shù)據(jù)存儲(chǔ)在壽命相對(duì)短的固態(tài)硬盤上。與現(xiàn)有的在單個(gè)固態(tài)硬盤范圍內(nèi)進(jìn) 行損耗均衡的方法相比,實(shí)現(xiàn)了在多個(gè)固態(tài)硬盤之間進(jìn)行損耗均衡,針對(duì)存 儲(chǔ)系統(tǒng)避免了某一塊硬盤因過(guò)度擦寫而先于其他硬盤出現(xiàn)故障,從而提高存 儲(chǔ)系統(tǒng)的整體數(shù)據(jù)有效性和安全性。
圖1為本發(fā)明實(shí)施例存儲(chǔ)系統(tǒng)的結(jié)構(gòu)示意圖2為本發(fā)明硬盤的損耗均衡方法具體實(shí)施例的流程圖3為本發(fā)明硬盤的損耗均衡方法具體實(shí)施例的另一種流程圖4為本發(fā)明實(shí)施例存儲(chǔ)系統(tǒng)控制裝置的結(jié)構(gòu)示意圖5為本發(fā)明實(shí)施例存儲(chǔ)系統(tǒng)控制裝置的另一種結(jié)構(gòu)示意圖。
具體實(shí)施例方式
本發(fā)明實(shí)施例中,根據(jù)獲得的數(shù)據(jù)單元所在硬盤的壽命值和獲得的壽命
閾值的第一比較結(jié)果,以及獲得的所述數(shù)據(jù)單元的寫操作次數(shù)和獲得的寫操: 作次數(shù)閾值的第二比較結(jié)果,將所述數(shù)據(jù)單元遷移到與所述第一比較結(jié)果關(guān) 聯(lián)的硬盤上。
其中,與第一比較結(jié)果相關(guān)聯(lián)的硬盤,包括壽命值大于壽命閾值的固態(tài) 硬盤和壽命值小于壽命閾值的固態(tài)硬盤兩類。本發(fā)明實(shí)施例是將壽命值大于 壽命閾值的固態(tài)硬盤上,寫操作次數(shù)小于寫操作次數(shù)閾值的數(shù)據(jù)遷移到壽命
值小于壽命闊值的硬盤上;將壽命值小于壽命閾值的固態(tài)硬盤上,寫操作次
數(shù)大于寫操作次數(shù)闊值的數(shù)據(jù)遷移到壽命值大于壽命閾值的硬盤上。以實(shí)現(xiàn) 在多個(gè)固態(tài)硬盤之間進(jìn)行損耗均衡,針對(duì)存儲(chǔ)系統(tǒng)避免某一塊硬盤因過(guò)度擦 寫而先于其他硬盤出現(xiàn)故障的情況。
下面結(jié)合附圖,對(duì)本發(fā)明實(shí)施例方案進(jìn)行詳細(xì)描述。
圖i所示為本發(fā)明實(shí)施例存儲(chǔ)系統(tǒng)的結(jié)構(gòu)示意圖,存儲(chǔ)系統(tǒng)包括存儲(chǔ) 系統(tǒng)控制器101,主機(jī)接口控制器102和硬盤接口控制器103 ,其中,
存儲(chǔ)系統(tǒng)控制器101通過(guò)主機(jī)接口控制器102接收主機(jī)發(fā)送的操作命令,并通過(guò)硬盤接口控制器103操作接入存儲(chǔ)系統(tǒng)的固態(tài)硬盤。系統(tǒng)中可以接入 多塊固態(tài)硬盤,多塊故態(tài)硬盤可以同時(shí)工作,固態(tài)硬盤的類型可以是SLC或 MLC。應(yīng)當(dāng)理解的是本發(fā)明實(shí)施例存儲(chǔ)系統(tǒng)中也可以包括一塊或多塊固態(tài) 硬盤,例如固態(tài)硬盤104。
本發(fā)明實(shí)施例存儲(chǔ)系統(tǒng)中的存儲(chǔ)系統(tǒng)控制器101,用于根據(jù)獲得的數(shù)據(jù)單 元所在硬盤的壽命值和獲得的壽命閾值的第 一比較結(jié)果,以及獲得的所述數(shù) 據(jù)單元的寫操作次數(shù)和獲得的寫操作次數(shù)閾值的第二比較結(jié)果,通過(guò)硬盤接 口控制器103將所述數(shù)據(jù)單元遷移到與所述第一比較結(jié)果關(guān)聯(lián)的硬盤上。
本發(fā)明實(shí)施例中,可以在存儲(chǔ)系統(tǒng)空閑或發(fā)出強(qiáng)制執(zhí)行命令時(shí),在硬盤 之間進(jìn)行損耗均衡;
相應(yīng)的,存儲(chǔ)系統(tǒng)控制器101,還用于通過(guò)主機(jī)接口控制器接收主機(jī)發(fā)送 的用于觸發(fā)硬盤間損耗均衡的執(zhí)行命令;這里的用于觸發(fā)硬盤間損耗均衡的 執(zhí)行命令使得存儲(chǔ)系統(tǒng)控制器實(shí)現(xiàn)對(duì)數(shù)據(jù)單元進(jìn)行遷移。
在存儲(chǔ)系統(tǒng)中,數(shù)據(jù)是以數(shù)據(jù)塊或文件為單位寫入各固態(tài)硬盤的,稱這 樣的數(shù)據(jù)塊或文件為數(shù)據(jù)單元。每次對(duì)數(shù)據(jù)單元進(jìn)行寫操作時(shí),存儲(chǔ)控制器 會(huì)對(duì)該寫操作進(jìn)行記錄,并且在存儲(chǔ)控制器中保存有該系統(tǒng)中所有數(shù)據(jù)單元 的寫操作次數(shù)??梢岳斫獾氖牵脖P中所存儲(chǔ)的數(shù)據(jù),其使用頻率是不同的, 對(duì)于在某段時(shí)間進(jìn)行寫操作次數(shù)較多的數(shù)據(jù),我們稱其為熱數(shù)據(jù),反之則稱 為冷數(shù)據(jù)。針對(duì)存儲(chǔ)系統(tǒng),如果在某一塊硬盤中的熱數(shù)據(jù)很多,那么這塊硬 盤就會(huì)先于系統(tǒng)中的其他同類硬盤或接入系統(tǒng)的其他同類硬盤出現(xiàn)故障。
本發(fā)明實(shí)施例所提供的存儲(chǔ)系統(tǒng),可以實(shí)現(xiàn)在多個(gè)固態(tài)硬盤之間進(jìn)行損 耗均衡,從而針對(duì)存儲(chǔ)系統(tǒng),避免了某一塊硬盤因過(guò)度擦寫而先于其他硬盤 出現(xiàn)故障的情況。
下面將介紹在本發(fā)明實(shí)施例的損耗均衡方法流程。 圖2所示為本發(fā)明實(shí)施例的損耗均衡方法流程圖,包括以下步驟 S201,獲得存儲(chǔ)系統(tǒng)的壽命閾值和寫操作次數(shù)閾值。 上述兩種閾值,用于判斷是否對(duì)某個(gè)數(shù)據(jù)單元進(jìn)行遷移。其中,壽命閾 值可以采用預(yù)先設(shè)置的方法,也可以采用動(dòng)態(tài)計(jì)算的方法獲得;而寫操作次數(shù)由于一般變化幅度較大,因此多采用動(dòng)態(tài)計(jì)算的方法獲得。
固態(tài)硬盤的壽命值,可以用剩余的可擦寫次數(shù)表示,也可以用剩余可擦
寫次數(shù)與最大可擦寫次數(shù)的比值來(lái)表示,目前比較常用表示形式是百分比 例如對(duì)于一塊最大擦寫次數(shù)為1萬(wàn)次的硬盤,如果其閃存塊已經(jīng)被擦寫過(guò)2000 次(由于現(xiàn)有技術(shù)已實(shí)現(xiàn)了固態(tài)硬盤內(nèi)部的損耗均衡,因此某個(gè)閃存塊的擦 寫次數(shù)即可以代表整塊硬盤的平均擦寫次數(shù)),那么該固態(tài)硬盤的壽命值即為 80%。固態(tài)硬盤的壽命值可以保存于存儲(chǔ)系統(tǒng)控制器中,也可以記錄在固態(tài)硬 盤*勺SMART ( Self-Monitoring, Analysis and Reporting Technology, 自我監(jiān)觀'J 分析與才艮告技術(shù))信息中。
動(dòng)態(tài)計(jì)算系統(tǒng)壽命閾值的方法,是首先獲得接入系統(tǒng)的或者系統(tǒng)中所有 硬盤的壽命值,再根據(jù)預(yù)設(shè)的壽命閾值計(jì)算規(guī)則,計(jì)算得到系統(tǒng)壽命閾值。 一種壽命閾值計(jì)算規(guī)則是先對(duì)所有硬盤的壽命值求平均,再以平均值減去 一個(gè)經(jīng)驗(yàn)參數(shù),即可得到系統(tǒng)壽命閾值。
系統(tǒng)的寫操作次數(shù)閾值,其動(dòng)態(tài)計(jì)算方法與壽命閾值類似獲得接入所 述存儲(chǔ)系統(tǒng)的或者所述存儲(chǔ)系統(tǒng)中各硬盤的閃存塊擦寫次數(shù),再根據(jù)預(yù)設(shè)的 寫操作次數(shù)閾值規(guī)則,計(jì)算得到存儲(chǔ)系統(tǒng)的寫操作次數(shù)閾值。 一種簡(jiǎn)單的寫 操作次數(shù)閾值規(guī)則是先計(jì)算各硬盤的閃存塊擦寫次數(shù)的平均值,再以所得 到平均值減去一個(gè)經(jīng)驗(yàn)參數(shù),即可得到存儲(chǔ)系統(tǒng)的寫才喿作次數(shù)閾值。
需要說(shuō)明的是,上述兩種閾值計(jì)算規(guī)則都是基于求平均值再減去一個(gè)經(jīng) 驗(yàn)參數(shù)的方法,應(yīng)當(dāng)理解的是,所述經(jīng)驗(yàn)參數(shù)可以是正數(shù)、負(fù)數(shù)或者0。并且, 也可以根據(jù)實(shí)際需求,采用其他計(jì)算規(guī)則獲得上述兩種閾值,本發(fā)明實(shí)施例 對(duì)此不加以限定。
S202,獲得數(shù)據(jù)單元所在硬盤的壽命值和數(shù)據(jù)單元的寫操作次數(shù)。
在存儲(chǔ)系統(tǒng)中,存儲(chǔ)系統(tǒng)控制器會(huì)對(duì)數(shù)據(jù)單元的寫操作次數(shù)和硬盤的壽 命值進(jìn)行記錄和更新。具體包括
當(dāng)存儲(chǔ)系統(tǒng)啟動(dòng)時(shí),存儲(chǔ)系統(tǒng)控制器會(huì)讀取每個(gè)數(shù)據(jù)單元的歷史寫操作 次數(shù)和數(shù)據(jù)單元所在硬盤的壽命值,并且在系統(tǒng)運(yùn)行過(guò)程中,當(dāng)進(jìn)行寫操作 時(shí),存儲(chǔ)系統(tǒng)會(huì)實(shí)時(shí)記錄/更新被寫入數(shù)據(jù)單元的寫操作次數(shù)和所在硬盤的壽 命值。數(shù)據(jù)單元寫操作次數(shù)和硬盤壽命可以保存于存儲(chǔ)系統(tǒng)控制器中,也可以記錄在固態(tài)石更盤的SMART信息中。
在本步驟中,對(duì)于某塊硬盤上的某個(gè)數(shù)據(jù)單元(數(shù)據(jù)塊或文件),通過(guò)讀 取上述所保存的信息,獲得其所在硬盤的壽命值和該數(shù)據(jù)單元的寫操作次數(shù), 這兩類數(shù)據(jù)與S101中所獲取的兩種閾值一起作為數(shù)據(jù)遷移的判斷條件。
S203,根據(jù)所述數(shù)據(jù)單元所在硬盤的壽命值和壽命閾值的第一比較結(jié)果 和所述數(shù)據(jù)單元的寫操作次數(shù)和寫操作次數(shù)閾值的第二比較結(jié)果,將所述數(shù) 據(jù)單元遷移到與所述第一比較結(jié)果關(guān)聯(lián)的硬盤上。
在一種實(shí)現(xiàn)下,步驟S203之前,進(jìn)一步的可以包括比較所述數(shù)據(jù)單元 所在硬盤的壽命值和壽命閾值的大小,比較所述數(shù)據(jù)單元的寫操作次數(shù)和寫 操作次數(shù)閾值的大??;
S203在一種實(shí)現(xiàn)下即,如果所述數(shù)據(jù)單元所在硬盤的壽命值大于所述壽 命閾值,并且所述數(shù)據(jù)單元的寫操作次數(shù)小于所述寫操作次數(shù)閾值,則將所 述數(shù)據(jù)單元遷移到硬盤壽命值小于所述壽命閾值的硬盤上;應(yīng)當(dāng)理解的是 這里的第一比較結(jié)果即"所述數(shù)據(jù)單元所在硬盤的壽命值大于所述壽命閾 值",這里的第二比較結(jié)果即"所述數(shù)據(jù)單元的寫操作次數(shù)小于所述寫才乘作次 數(shù)閾值";這里的遷移的對(duì)象"硬盤壽命值小于所述壽命閾值的硬盤",即與 "所述數(shù)據(jù)單元所在硬盤的壽命值大于所述壽命閾值,,的第一比較結(jié)果關(guān)聯(lián) 的硬盤,也可以理解為這里的遷移的對(duì)象"硬盤壽命值小于所述壽命閾值 的硬盤",即與"所述數(shù)據(jù)單元所在硬盤的壽命值大于所述壽命閾值"的第一 比較結(jié)果相對(duì)的硬盤。
如果所述數(shù)據(jù)單元所在硬盤的壽命值小于所述壽命閾值,并且所述數(shù)據(jù) 單元的寫操作次數(shù)大于所述寫操作次數(shù)閾值,則將所述數(shù)據(jù)單元遷移到硬盤 壽命值大于所述壽命閾值的硬盤上;應(yīng)當(dāng)理解的是這里的第一比較結(jié)果即 "所述數(shù)據(jù)單元所在硬盤的壽命值小于所述壽命閾值,,,這里的第二比較結(jié)果 即"所述數(shù)據(jù)單元的寫操作次數(shù)大于所述寫操作次數(shù)閾值";這里的遷移的對(duì) 象"硬盤壽命值大于所述壽命閾值的硬盤",即與"所述數(shù)據(jù)單元所在硬盤的 壽命值小于所述壽命閾值"的第一比較結(jié)果關(guān)聯(lián)的硬盤,也可以理解為這 里的遷移的對(duì)象"硬盤壽命值大于所述壽命閾值的硬盤",即與"所述數(shù)據(jù)單 元所在硬盤的壽命值小于所述壽命閾值"的第一比較結(jié)果相對(duì)的硬盤。如果在S201中,所獲得的壽命閾值是預(yù)置的,那么,可能會(huì)出現(xiàn)以下情 況存儲(chǔ)系統(tǒng)中的或接入存儲(chǔ)系統(tǒng)的所有硬盤壽命值均小于預(yù)設(shè)的壽命閾值, 或者,存儲(chǔ)系統(tǒng)中的或接入存儲(chǔ)系統(tǒng)的所有硬盤壽命值均大于預(yù)設(shè)的壽命閾 值,此時(shí)系統(tǒng)將無(wú)法進(jìn)行數(shù)據(jù)單元的遷移。如果出現(xiàn)這種情況,存儲(chǔ)系統(tǒng)控 制器可以向主機(jī)發(fā)送告警,提醒用戶或系統(tǒng)管理員重新設(shè)置壽命閾值,也可 以轉(zhuǎn)用動(dòng)態(tài)計(jì)算壽命的方法。
上述硬盤損耗均衡流程的執(zhí)行,可以由強(qiáng)制執(zhí)行命令觸發(fā),也可以在存 儲(chǔ)系統(tǒng)空閑時(shí)自動(dòng)觸發(fā),需要說(shuō)明的是,上述S202-S203,僅是針對(duì)某塊硬盤 上的某個(gè)數(shù)據(jù)單元進(jìn)行操作,為了完成整個(gè)系統(tǒng)中的硬盤間或接入系統(tǒng)的硬 盤間的損耗均衡,可以對(duì)系統(tǒng)中每塊硬盤或接入系統(tǒng)的每塊硬盤上的每個(gè)數(shù) 據(jù)單元都執(zhí)行一遍S202-S203的操作。
本發(fā)明實(shí)施例中,應(yīng)用上述方案,可以將存儲(chǔ)系統(tǒng)中經(jīng)常進(jìn)行寫操作的 數(shù)據(jù)存儲(chǔ)在壽命長(zhǎng)的固態(tài)硬盤上,不經(jīng)常進(jìn)行寫操作的數(shù)據(jù)存儲(chǔ)在壽命短的 固態(tài)硬盤上,從而實(shí)現(xiàn)以硬盤為單位進(jìn)行損耗均衡,換言之,即在硬盤之間 進(jìn)行損耗均衡,針對(duì)存儲(chǔ)系統(tǒng)避免某一塊硬盤因過(guò)度擦寫而先于其他硬盤出 現(xiàn)故障。對(duì)于在多塊硬盤中存儲(chǔ)相關(guān)數(shù)據(jù)的情況,其整體數(shù)據(jù)有效性和安全 性也得到了提高。
圖3所示為本發(fā)明另一個(gè)實(shí)施例的損耗均衡方法流程圖,示出了在獲得 存儲(chǔ)系統(tǒng)的壽命閾值和寫操作次數(shù)閾值之后,遍歷所有數(shù)據(jù)單元執(zhí)行判斷及 遷移操作的流程,包括以下步驟
S301,比較下一個(gè)數(shù)據(jù)單元所在的硬盤壽命和系統(tǒng)壽命閾值的大小,如 果該數(shù)據(jù)單元所在硬盤為小于壽命閾值的硬盤,則執(zhí)行S302,否則執(zhí)行S304。
由于是遍歷過(guò)程,所以比較操作的執(zhí)行對(duì)象在損耗流程開(kāi)始后將從第一 個(gè)數(shù)據(jù)單元開(kāi)始,并根據(jù)比較結(jié)果執(zhí)行后續(xù)步驟。執(zhí)行過(guò)一次遷移操作之后,
再對(duì)下一個(gè)數(shù)據(jù)單元執(zhí)行比較操作,以此類推。
S302,判斷該數(shù)據(jù)單元的寫操作次數(shù)是否大于寫操作次數(shù)閾值,如果是, 則執(zhí)行S303,否則執(zhí)行S306。
S303,將該數(shù)據(jù)單元遷移到硬盤壽命大于系統(tǒng)壽命閾值的硬盤,遷移完成后,執(zhí)行S306。
S304,判斷該數(shù)據(jù)單元的寫操作次數(shù)是否小于寫操作次數(shù)闊值,如果是, 則執(zhí)行S305,否則執(zhí)行S306。
5305, 將該數(shù)據(jù)單元遷移到硬盤壽命小于系統(tǒng)壽命閾值的硬盤,遷移完 成后,^Vf亍S306。
5306, 判斷是否已遍歷完存儲(chǔ)系統(tǒng)中所有的數(shù)據(jù)單元,如果是,則損耗 均衡流程結(jié)束,如果否,則返回執(zhí)行S301。
本步驟用于判斷是否系統(tǒng)中的或者接入系統(tǒng)的每塊硬盤上的每個(gè)數(shù)據(jù)單 元都執(zhí)行過(guò)S301-S305的操作,如果是,說(shuō)明所有數(shù)據(jù)單元已經(jīng)處理完畢, 則損耗均衡流程結(jié)束,如果否,說(shuō)明還有數(shù)據(jù)單元未進(jìn)行處理,此時(shí)應(yīng)回到 S301,對(duì)當(dāng)前所處理數(shù)據(jù)單元的下一個(gè)數(shù)據(jù)單元進(jìn)行處理。
本發(fā)明實(shí)施例中,可以將存儲(chǔ)系統(tǒng)中經(jīng)常進(jìn)行寫操作的數(shù)據(jù)存儲(chǔ)在壽命 長(zhǎng)的固態(tài)硬盤上,不經(jīng)常進(jìn)行寫操作的數(shù)據(jù)存儲(chǔ)在壽命短的固態(tài)硬盤上,從 而實(shí)現(xiàn)以硬盤為單位進(jìn)行損耗均衡,換言之,即在硬盤之間進(jìn)行損耗均衡, 針對(duì)存儲(chǔ)系統(tǒng)避免某一塊硬盤因過(guò)度擦寫而先于其他硬盤出現(xiàn)故障。對(duì)于在 多塊硬盤中存儲(chǔ)相關(guān)數(shù)據(jù)的情況,其整體數(shù)據(jù)有效性和安全性也得到了提高。
相應(yīng)于上面的方法實(shí)施例,本發(fā)明實(shí)施例還提供一種存儲(chǔ)系統(tǒng)控制裝置, 參見(jiàn)圖4所示,包括系統(tǒng)閾值獲得模塊410、數(shù)據(jù)單元狀態(tài)獲得模塊420和數(shù) 據(jù)單元遷移模塊430;
系統(tǒng)閾值獲得模塊410,用于獲得所述存儲(chǔ)系統(tǒng)的壽命閾值和寫操作次數(shù) 閾值;
上述兩種閾值,用于判斷是否對(duì)某個(gè)數(shù)據(jù)單元進(jìn)行遷移。其中,壽命閾 值可以采用預(yù)先設(shè)置的方法,也可以釆用動(dòng)態(tài)計(jì)算的方法獲得;而寫操作次 數(shù)由于一般變化幅度較大,因此多采用動(dòng)態(tài)計(jì)算的方法獲得。
數(shù)據(jù)單元狀態(tài)獲得模塊420,用于獲得數(shù)據(jù)單元所在硬盤的壽命值和所述 數(shù)據(jù)單元的寫操作次數(shù);
在存儲(chǔ)系統(tǒng)中,當(dāng)進(jìn)行寫操作時(shí),存儲(chǔ)系統(tǒng)會(huì)實(shí)時(shí)記錄/更新被寫入數(shù)據(jù) 單元的寫操作次數(shù)和所在硬盤的壽命值。數(shù)據(jù)單元寫操作次數(shù)和硬盤壽命可以保存于存儲(chǔ)系統(tǒng)控制器中,也可以記錄在固態(tài)硬盤的SMART信息中。對(duì)于 系統(tǒng)中或者接入系統(tǒng)的某塊硬盤上的某個(gè)數(shù)據(jù)單元(數(shù)據(jù)塊或文件),數(shù)據(jù)單 元狀態(tài)獲得模塊420通過(guò)讀取上述所保存的信息,獲得該數(shù)據(jù)單元所在硬盤 的壽命值和該數(shù)據(jù)單元的寫操作次數(shù),這兩類數(shù)據(jù)與所述系統(tǒng)閾值獲得模塊 410所獲取的兩種閾值一起作為數(shù)據(jù)遷移的判斷條件。
數(shù)據(jù)單元遷移模塊430,用于根據(jù)所述數(shù)據(jù)單元所在硬盤的壽命值和壽命 閾值的第一比較結(jié)果和所述數(shù)據(jù)單元的寫操作次數(shù)和寫操作次數(shù)閾值的第二 比較結(jié)果,將所述數(shù)據(jù)單元遷移到與所述第一比較結(jié)果關(guān)聯(lián)的硬盤上。
應(yīng)當(dāng)理解的是如果第一比較結(jié)果即"所述數(shù)據(jù)單元所在硬盤的壽命值 大于所述壽命閾值",第二比較結(jié)果即"所述數(shù)據(jù)單元的寫操作次數(shù)小于所述 寫操作次數(shù)閾值";這里的遷移的對(duì)象"硬盤壽命值小于所述壽命閾值的硬 盤,,,即與"所述數(shù)據(jù)單元所在硬盤的壽命值大于所述壽命閾值,,的第一比較 結(jié)果關(guān)聯(lián)的硬盤。
或者,如果第一比較結(jié)果即"所述數(shù)據(jù)單元所在硬盤的壽命值小于所述 壽命閾值,,,第二比較結(jié)果即"所述數(shù)據(jù)單元的寫操作次數(shù)大于所述寫操作次 數(shù)閾值";這里的遷移的對(duì)象"硬盤壽命值大于所述壽命閾值的硬盤",即與 "所述數(shù)據(jù)單元所在硬盤的壽命值小于所述壽命閾值"的第一比較結(jié)果關(guān)聯(lián) 的硬盤。
參見(jiàn)圖5所示,所述裝置還可以進(jìn)一步包括比較模塊440,用于比較所述 數(shù)據(jù)單元所在硬盤的壽命值和壽命閾值的大小,及比較所述數(shù)據(jù)單元的寫操 作次數(shù)和寫操作次數(shù)閾值的大小;
所述數(shù)據(jù)單元遷移模塊可以是第一數(shù)據(jù)單元遷移模塊430a,用于在所述 數(shù)據(jù)單元所在硬盤的壽命值大于所述壽命閾值,并且所述數(shù)據(jù)單元的寫操作
次數(shù)小于所述寫操作次數(shù)閾值時(shí),將所述數(shù)據(jù)單元遷移到硬盤壽命值小于所 述壽命閾值的硬盤上;在所述數(shù)據(jù)單元所在硬盤的壽命值小于所述壽命閾值, 并且所述數(shù)據(jù)單元的寫操作次數(shù)大于所述寫操作次數(shù)閾值時(shí),將所述數(shù)據(jù)單 元遷移到硬盤壽命值大于所述壽命閾值的硬盤上。
對(duì)于裝置實(shí)施例而言,由于其基本相應(yīng)于方法實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
本發(fā)明實(shí)施例中,上述的硬盤存儲(chǔ)系統(tǒng)控制裝置,通過(guò)將大于壽命闊值
的固態(tài)硬盤上,小于寫操作次數(shù)閾值的數(shù)據(jù)遷移到小于壽命閾值的硬盤上; 將小于壽命閾值的固態(tài)硬盤上,大于寫操作次數(shù)閾值的數(shù)據(jù)遷移到大于壽命 閾值的硬盤上,實(shí)現(xiàn)了在存儲(chǔ)系統(tǒng)中的或接入存儲(chǔ)系統(tǒng)的多個(gè)固態(tài)硬盤之間 進(jìn)行損耗均衡,從而針對(duì)存儲(chǔ)系統(tǒng)避免某一塊硬盤因過(guò)度擦寫而先于其他硬 盤出現(xiàn)故障的情況。
以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明 的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或 者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò) 單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例 方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以 理解并實(shí)施。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟 可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀 取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述 的存儲(chǔ)介質(zhì)包括ROM、 RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介 質(zhì)。
以上所述僅是本發(fā)明的具體實(shí)施方式
,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普 通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn) 飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種硬盤的損耗均衡方法,其特征在于,包括獲得存儲(chǔ)系統(tǒng)的壽命閾值和寫操作次數(shù)閾值;獲得數(shù)據(jù)單元所在硬盤的壽命值和所述數(shù)據(jù)單元的寫操作次數(shù);根據(jù)所述數(shù)據(jù)單元所在硬盤的壽命值和壽命閾值的第一比較結(jié)果和所述數(shù)據(jù)單元的寫操作次數(shù)和寫操作次數(shù)閾值的第二比較結(jié)果,將所述數(shù)據(jù)單元遷移到與所述第一比較結(jié)果關(guān)聯(lián)的硬盤上。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述數(shù)據(jù)單元所 在硬盤的壽命值和壽命閾值的第一比較結(jié)果和所述數(shù)據(jù)單元的寫操作次數(shù)和 寫操作次數(shù)闊值的第二比較結(jié)果,將所述數(shù)據(jù)單元遷移到與所述第一比較結(jié) 果關(guān)聯(lián)的硬盤上包括如果所述數(shù)據(jù)單元所在硬盤的壽命值大于所述壽命閾值,并且所述數(shù)據(jù) 單元的寫操作次數(shù)小于所述寫操作次數(shù)閾值,則將所述數(shù)據(jù)單元遷移到硬盤 壽命值小于所述壽命閾值的硬盤上;如果所述數(shù)據(jù)單元所在硬盤的壽命值小于所述壽命閾值,并且所述數(shù)據(jù) 單元的寫操作次數(shù)大于所述寫操作次數(shù)閾值,則將所述數(shù)據(jù)單元遷移到硬盤 壽命值大于所述壽命闊值的硬盤上。
3、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述獲得存儲(chǔ)系統(tǒng)的 壽命閾值包括獲得預(yù)設(shè)的存儲(chǔ)系統(tǒng)的壽命闊值;或者,獲得接入所述存儲(chǔ)系統(tǒng)的或所 述存儲(chǔ)系統(tǒng)中各硬盤的壽命值,根據(jù)預(yù)設(shè)的壽命閾值計(jì)算規(guī)則,由各硬盤的 壽命值計(jì)算得到存儲(chǔ)系統(tǒng)的壽命闊值。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)的壽命閾值 計(jì)算規(guī)則,由各硬盤的壽命值計(jì)算得到存儲(chǔ)系統(tǒng)的壽命閾值包括計(jì)算所述各硬盤壽命值的平均值;以所得到的平均值減去壽命閾值經(jīng)驗(yàn)參數(shù),得到所述存儲(chǔ)系統(tǒng)的壽命閾值。
5、 根據(jù)權(quán)利要求l或2所述的方法,其特征在于,所述獲得存儲(chǔ)系統(tǒng)的 寫操作次數(shù)閾值包括獲得接入所述存儲(chǔ)系統(tǒng)的或所述存儲(chǔ)系統(tǒng)中各硬盤的閃存塊擦寫次數(shù), 根據(jù)預(yù)設(shè)的寫操作次數(shù)閾值計(jì)算規(guī)則,由各硬盤的閃存塊擦寫次數(shù)計(jì)算得到 存儲(chǔ)系統(tǒng)的寫操作次數(shù)閾值。
6、 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)的寫操作次 數(shù)閾值計(jì)算規(guī)則,由各硬盤的閃存塊擦寫次數(shù)計(jì)算得到存儲(chǔ)系統(tǒng)的寫操作次 數(shù)閾值包括計(jì)算所述各硬盤的閃存塊擦寫次數(shù)的平均值;以所得到的平均值減去寫操作次數(shù)閾值經(jīng)驗(yàn)參數(shù),得到存儲(chǔ)系統(tǒng)的寫操 作次數(shù)閾值。
7、 一種存儲(chǔ)系統(tǒng)控制裝置,其特征在于,包括系統(tǒng)閾值獲得模塊,用于獲得所述存儲(chǔ)系統(tǒng)的壽命閾值和寫操作次數(shù)閾值;數(shù)據(jù)單元狀態(tài)獲得模塊,用于獲得數(shù)據(jù)單元所在硬盤的壽命值和所述數(shù) 據(jù)單元的寫操作次數(shù);數(shù)據(jù)單元遷移模塊,用于根據(jù)所述數(shù)據(jù)單元所在硬盤的壽命值和壽命闊 值的第一比較結(jié)果和所述數(shù)據(jù)單元的寫操作次數(shù)和寫操作次數(shù)閾值的第二比 較結(jié)果,將所述數(shù)據(jù)單元遷移到與所述第一比較結(jié)果關(guān)聯(lián)的硬盤上。
8、 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置進(jìn)一步包括 比較模塊,用于比較所述數(shù)據(jù)單元所在硬盤的壽命值和壽命闊值的大小,及比較所述數(shù)據(jù)單元的寫操作次數(shù)和寫操作次數(shù)閾值的大小;所述數(shù)據(jù)單元遷移模塊為第一數(shù)據(jù)單元遷移模塊,用于在所述數(shù)據(jù)單元 所在硬盤的壽命值大于所述壽命闞值,并且所述數(shù)據(jù)單元的寫操作次數(shù)小于 所述寫操作次數(shù)閾值時(shí),將所述數(shù)據(jù)單元遷移到硬盤壽命值小于所述壽命閾值的硬盤上;在所述數(shù)據(jù)單元所在硬盤的壽命值小于所述壽命閾值,并且所 述數(shù)據(jù)單元的寫操作次數(shù)大于所述寫操作次數(shù)閾值時(shí),將所述數(shù)據(jù)單元遷移到硬盤壽命值大于所述壽命閾值的硬盤上。
9、 一種存儲(chǔ)系統(tǒng),包括主機(jī)接口控制器、硬盤接口控制器,其特征在于, 還包括存儲(chǔ)系統(tǒng)控制器,用于根據(jù)獲得的數(shù)據(jù)單元所在硬盤的壽命值和獲得的 壽命閾值的第 一比較結(jié)果,以及獲得的所述數(shù)據(jù)單元的寫操作次數(shù)和獲得的 寫操作次數(shù)閾值的第二比較結(jié)果,通過(guò)所述硬盤接口控制器將所述數(shù)據(jù)單元 遷移到與所述第一比較結(jié)果關(guān)聯(lián)的硬盤上。
10、 根據(jù)權(quán)利要求9所述的存儲(chǔ)系統(tǒng),其特征在于,所述存儲(chǔ)系統(tǒng)控制 器,進(jìn)一步用于通過(guò)主機(jī)接口控制器接收主機(jī)發(fā)送的用于觸發(fā)硬盤間損耗均 衡的執(zhí)行命令。
全文摘要
本發(fā)明實(shí)施例公開(kāi)了一種硬盤的損耗均衡方法、裝置及系統(tǒng),其中,硬盤的損耗均衡方法包括獲得存儲(chǔ)系統(tǒng)的壽命閾值和寫操作次數(shù)閾值;獲得數(shù)據(jù)單元所在硬盤的壽命值和所述數(shù)據(jù)單元的寫操作次數(shù);根據(jù)所述數(shù)據(jù)單元所在硬盤的壽命值和壽命閾值的第一比較結(jié)果和所述數(shù)據(jù)單元的寫操作次數(shù)和寫操作次數(shù)閾值的第二比較結(jié)果,將所述數(shù)據(jù)單元遷移到與所述第一比較結(jié)果關(guān)聯(lián)的硬盤上。本發(fā)明實(shí)施例的技術(shù)方案,實(shí)現(xiàn)了在多個(gè)固態(tài)硬盤之間進(jìn)行損耗均衡,針對(duì)存儲(chǔ)系統(tǒng)避免了某一塊硬盤因過(guò)度擦寫而先于其他硬盤出現(xiàn)故障的情況。
文檔編號(hào)G11C29/00GK101419842SQ200810176508
公開(kāi)日2009年4月29日 申請(qǐng)日期2008年11月7日 優(yōu)先權(quán)日2008年11月7日
發(fā)明者君 徐, 陳云昊 申請(qǐng)人:成都市華為賽門鐵克科技有限公司