亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

在基于閃存的存儲介質(zhì)中寫入存儲數(shù)據(jù)的方法和裝置與流程

文檔序號:11589879閱讀:426來源:國知局

本申請涉及計算機及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種在基于閃存的存儲介質(zhì)中寫入存儲數(shù)據(jù)的方法和裝置。



背景技術(shù):

使用閃存作為存儲介質(zhì),并采用電子讀寫的ssd(solidstatedrives,固態(tài)硬盤)有著優(yōu)異的讀寫性能,已經(jīng)成為個人電腦以及服務(wù)器存儲的主流硬件。ssd的存儲介質(zhì)是nandflash閃存顆粒,其每一位(bit)的物理特性是可以通過對晶體管充電使該位的值由1變?yōu)?,而只能通過擦除來將其值由0重置為1。擦除操作以block(塊)為單位進行。

而nandflash閃存顆粒的壽命通過其擦寫次數(shù)來衡量,某個block達到了這個擦寫次數(shù)后,該block無法再用來存儲數(shù)據(jù),成為壞塊。隨著壞塊的增多,ssd的使用壽命就會銳減。

因此,現(xiàn)有技術(shù)中采用ftl(flashtranslationlevel,閃存轉(zhuǎn)換層)均衡擦寫算法或具有均衡擦寫功能的文件系統(tǒng)層,來盡可能實現(xiàn)對同一個ssd上各個塊的均衡擦寫,以延長單個ssd的使用壽命。例如,ftl層動態(tài)均衡策略、ftl層的靜態(tài)均衡策略、jaff2(journallingflashfilesystemversion2,日志閃存文件系統(tǒng)第2版)、yaffs(yetanotherflashfilesystem,另一種閃存文件系統(tǒng))等。

但是,對于有多個ssd可供使用的系統(tǒng),常常會發(fā)生對某個或某些ssd的擦寫次數(shù)過多,遠超過對另外某個或某些ssd的情形,從而導致使用過多的ssd提前損壞。如果該ssd上存儲的數(shù)據(jù)沒有采用高可用性方案,可能造成數(shù)據(jù)丟失;對采用了高可用性存儲方案的系統(tǒng)來說,則會因額外的數(shù)據(jù)遷移降低系統(tǒng)的穩(wěn)定性。



技術(shù)實現(xiàn)要素:

有鑒于此,本申請?zhí)峁┮环N在基于閃存的存儲介質(zhì)中寫入存儲數(shù)據(jù)的方法,應(yīng)用在對至少兩個物理存儲單位進行寫入控制的中控功能模塊上,包括:

獲取每個物理存儲單位內(nèi)所有塊的累計擦除總次數(shù);

在滿足預定寫入條件的物理存儲單位中,將存儲數(shù)據(jù)寫入到累計擦除總次數(shù)最少的至少一個物理存儲單位上。

本申請還提供了一種在基于閃存的存儲介質(zhì)中寫入存儲數(shù)據(jù)的裝置,應(yīng)用在對至少兩個物理存儲單位進行寫入控制的中控功能模塊上,包括:

累計擦除總次數(shù)單元,用于獲取每個物理存儲單位內(nèi)所有塊的累計擦除總次數(shù);

物理存儲單位單元,用于在滿足預定寫入條件的物理存儲單位中,將存儲數(shù)據(jù)寫入到累計擦除總次數(shù)最少的至少一個物理存儲單位上。

由以上技術(shù)方案可見,本申請的實施例中,由中控功能模塊基于各個物理存儲單位內(nèi)所有塊的累計擦除總次數(shù),在滿足預定寫入條件的物理存儲單位中選擇累計擦除總次數(shù)最少的進行存儲數(shù)據(jù)的寫入,從而在不同的物理存儲單位之間實現(xiàn)了均衡擦寫,避免了對單個物理存儲單位擦寫過多導致的該物理存儲單位的提前損壞,在非高可用性場景中能夠降低丟失數(shù)據(jù)的可能性,在高可用性場景中能夠提高所在系統(tǒng)的穩(wěn)定性。

附圖說明

圖1是本申請實施例第一種應(yīng)用場景示例的一種主機結(jié)構(gòu)組成結(jié)構(gòu)示意圖;

圖2是本申請實施例第二種應(yīng)用場景示例的一種集群組成結(jié)構(gòu)示意圖;

圖3是本申請實施例一中一種寫入存儲數(shù)據(jù)的方法的流程圖;

圖4是本申請實施例二中一種在集群中寫入存儲數(shù)據(jù)的方法的流程圖;

圖5是本申請實施例所在設(shè)備的一種硬件結(jié)構(gòu)圖;

圖6是本申請實施例中一種寫入存儲數(shù)據(jù)的裝置的邏輯結(jié)構(gòu)圖;

圖7是本申請實施例中一種集群的邏輯結(jié)構(gòu)圖。

具體實施方式

本申請的實施例提出一種新的在基于閃存的存儲介質(zhì)中寫入存儲數(shù)據(jù)的方法,以每個物理存儲單位內(nèi)所有塊的累計擦除總次數(shù)的統(tǒng)計數(shù)據(jù)為依據(jù),在滿足預定寫入條件的物理存儲單位中,選擇具有最小累計擦除總次數(shù)的一個到多個物理存儲單位,來寫入存儲數(shù)據(jù),實現(xiàn)了不同物理存儲單位之間的均衡擦寫,使得不同物理存儲單位的使用壽命更為接近,降低了因單個物理存儲單位的提前損壞造成的丟失數(shù)據(jù)、或影響系統(tǒng)穩(wěn)定的可能性,以解決現(xiàn)有技術(shù)存在的問題。

本申請的實施例中,兩個或兩個以上的物理存儲單位由一個中控功能模塊來進行寫入控制,即由該中控功能模塊決定將存儲數(shù)據(jù)寫入到哪個或哪些物理存儲單位上。其中,物理存儲單位是在物理上獨立于其他物理存儲單位、采用基于閃存的存儲介質(zhì)的實體,可以是一個獨立的基于閃存的物理存儲部件(如flash閃存芯片、硬盤等)、一個包括至少一個獨立的基于閃存的物理存儲部件的主機(如一個磁盤陣列柜、一臺個人電腦、一臺服務(wù)器)等等;中控功能模塊采用軟件、或軟件和硬件相結(jié)合的方式實現(xiàn),可以運行在某個物理存儲單位上,也可以運行在獨立于其控制的所有物理存儲單位的其他主機上。

圖1所示為本申請實施例應(yīng)用場景的一個例子,一臺主機上安裝有若干個硬盤(本應(yīng)用場景中的物理存儲單位),并且在該主機上運行有存儲控制模塊(本應(yīng)用場景中的中控功能模塊),用來對所有硬盤進行讀寫控制,包括確定將哪些數(shù)據(jù)存放在哪個硬盤上。

圖2所示為本申請實施例應(yīng)用場景的另一個例子,在一個以若干臺主機(本應(yīng)用場景中的物理存儲單位)組成的集群中,其中一臺主機是主控節(jié)點,其他主機是工作節(jié)點。集群的集群控制模塊(本應(yīng)用場景中的中控功能模塊)運行在主控節(jié)點上,對若干臺服務(wù)器的數(shù)據(jù)存儲進行分配和管理。當作為主控節(jié)點的主機發(fā)生故障時,其他的某臺主機能夠升級為主控節(jié)點繼續(xù)集群的運行。

本申請實施例應(yīng)用的中控功能模塊可以運行在任何具有計算和存儲能力的設(shè)備上,例如可以是平板電腦、pc(personalcomputer,個人電腦)、筆記本、服務(wù)器等設(shè)備。

本申請的實施例一中,寫入存儲數(shù)據(jù)的方法的流程如圖3所示。

步驟310,獲取每個物理存儲單位內(nèi)所有塊的累計擦除總次數(shù)。

塊是數(shù)據(jù)存儲中存儲空間分配的最小單位,當某個塊被分配后會對該塊進行擦除操作,以便得到該塊空間的應(yīng)用程序(或線程、進程等)能夠使用該塊寫入數(shù)據(jù)。因此,塊被分配的次數(shù)就是該塊的累計擦除次數(shù)。

對物理上獨立的存儲部件(如硬盤、閃存芯片等)而言,塊的分割通常在對該存儲部件進行初始化時進行,以硬盤為例,在絕大多數(shù)文件系統(tǒng)中,管理員可以在硬盤初始化時指定塊的大小。假設(shè)由該硬盤所在主機的存儲控制模塊對該硬盤進行存儲管理,在完成初始化后,存儲控制模塊可以用該硬盤范圍內(nèi)唯一的塊標識來代表硬盤上的每個塊,并且維護該硬盤的每個塊標識與累計擦除次數(shù)的對應(yīng)關(guān)系,每次將某個塊分配后則在該塊塊標識的累計擦除次數(shù)上加1;當該硬盤作為應(yīng)用場景中的物理存儲單位時,可以將所有塊的累計擦除次數(shù)相加,得到該硬盤的累計擦除總次數(shù)?;蛘?,存儲控制模塊也可以在該硬盤的超級塊(superblock)中維護所有塊的累計擦除總次數(shù),每次有塊分配時,則在累計擦除總次數(shù)上增加該次分配的塊數(shù)量;換言之,在每個塊被分配后都在累計擦除總次數(shù)上加1。通過上述方式,可以得到物理上獨立的存儲部件的所有塊的累計擦除總次數(shù)。

對物理存儲單位是包括至少一塊獨立物理存儲部件的主機的情形,可以由每個主機上的存儲控制模塊統(tǒng)計其控制的物理存儲部件的累計擦除總次數(shù),并上報給中控功能模塊。具體的上報方式可以根據(jù)應(yīng)用場景的實現(xiàn)來確定,例如,假設(shè)所有主機組成一個集群,該集群的集群控制模塊為該應(yīng)用場景中的中控功能模塊,則可以由每個主機以預定周期主動向集群控制模塊上報該主機上所有塊的累計擦除總次數(shù),或者也可以由集群控制模塊以預定周期向各個主機輪詢所有塊的累計擦除總次數(shù),集群控制模塊即可以預定周期收到每個主機的所有塊的累計擦除總次數(shù)。

步驟320,在滿足預定寫入條件的物理存儲單位中,將存儲數(shù)據(jù)寫入到累計擦除總次數(shù)最少的至少一個物理存儲單位上。

假設(shè)存儲數(shù)據(jù)需要寫入到n(n為自然數(shù))個物理存儲單位上,現(xiàn)有技術(shù)中,如果有兩個或兩個以上物理存儲單位可以用來寫入存儲數(shù)據(jù),會采用某個或某些條件來確定將存儲數(shù)據(jù)寫入哪個或哪幾個物理存儲單位。例如,要滿足的條件通常包括剩余存儲空間足以容納要寫入的存儲數(shù)據(jù)。本申請的實施例中,可以根據(jù)上述某個或某些條件的可接受范圍來生成預定寫入條件,以下用兩個例子說明:

第一個例子,在若干個硬盤中選擇剩余存儲空間最大的n個來用作寫入存儲數(shù)據(jù)的硬盤,則本申請實施例中,可以將剩余存儲空間不小于預定值或不小于硬盤容量的預定比例來作為預定寫入條件。

第二個例子,在若干個主機中,選擇剩余存儲空間足以容納要寫入的存儲數(shù)據(jù)、并且對主機上已保存數(shù)據(jù)的訪問量最小的n個主機來寫入存儲數(shù)據(jù),則本申請實施例中,可以將剩余存儲空間足以容納要寫入的存儲數(shù)據(jù)、并且對主機上已保存數(shù)據(jù)的訪問量不超過某個閾值來作為預定寫入條件。

要寫入物理存儲單位的存儲數(shù)據(jù)可以是在進行文件保存時需要寫入的存儲數(shù)據(jù),也可以是在進行文件遷移時需要寫入的存儲數(shù)據(jù)。對中控功能模塊而言,在進行文件保存時需要寫入的存儲數(shù)據(jù)通常是新增加的存儲數(shù)據(jù),而文件遷移時需要寫入的存儲數(shù)據(jù)則是對已保存的存儲數(shù)據(jù)的維護。根據(jù)應(yīng)用場景的具體實現(xiàn),進行文件保存時需要寫入的存儲數(shù)據(jù)可能是一份,也可能是兩份或兩份以上、并且通常要將每份寫入到不同的物理存儲單位上。文件遷移包括兩種情形,一種是更換保存文件的物理存儲單位,即將已保存的文件寫入新的物理存儲單位并從原來保存該文件的物理存儲單位上刪除;另一種是在保存兩份以上文件的應(yīng)用場景中,當其中某一份文件損壞或其中某一份文件所在的物理存儲單位故障時,需要將該文件拷貝一份到工作正常的物理存儲單位上,以滿足整個系統(tǒng)高可用性的要求。在進行文件遷移時,可以采用預定寫入條件來排除已保存有該文件拷貝的物理存儲單位、和/或發(fā)生故障的物理存儲單位。

可見,不論是在文件保存還是在文件遷移中,需要用來寫入存儲數(shù)據(jù)的物理存儲單位都可能超過1個。因此,中控功能模塊在得到各個物理存儲單位的所有塊的累計擦除總次數(shù)后,在有存儲數(shù)據(jù)需要進行寫入操作時,基于預定寫入條件確定可供選擇的若干個物理存儲單位,并在其中選擇累計擦除總次數(shù)最小的n(n為自然數(shù))個物理存儲單位來寫入存儲數(shù)據(jù)。這樣,可以在不同的物理存儲單位之間實現(xiàn)均衡擦寫。

本申請的實施例中,中控功能模塊除了在有存儲數(shù)據(jù)寫入時進行各物理存儲單位之間的均衡擦寫外,還可以在各物理存儲單位的擦寫差異較大時,主動進行文件遷移,以平衡各個物理存儲單位的使用情況。具體而言,中控功能模塊可以對各個物理存儲單位的擦寫情況進行監(jiān)測,在出現(xiàn)某兩個物理存儲單位的累計擦除總次數(shù)的差異超過預定偏差范圍的情形時,將存儲數(shù)據(jù)從上述兩個物理存儲單位中累計擦除總次數(shù)較高的物理存儲單位遷移到累計擦除總次數(shù)較低的物理存儲單位。

可以根據(jù)實際應(yīng)用場景中存儲文件的大小、對擦寫均衡的要求等因素來確定物理存儲單位間的預定偏差范圍。在一種應(yīng)用場景中,可以根據(jù)所有物理存儲單位的累計擦除總次數(shù)的平均值來確定預定偏差范圍,例如,將該平均值的20%作為預定偏差范圍。

可見,本申請的實施例一中,由中控功能模塊以每個物理存儲單位內(nèi)所有塊的累計擦除總次數(shù)的統(tǒng)計數(shù)據(jù)為依據(jù),在滿足預定寫入條件的物理存儲單位中,選擇累計擦除總次數(shù)最少的物理存儲單位進行存儲數(shù)據(jù)的寫入,實現(xiàn)了不同物理存儲單位之間的均衡擦寫,避免了對單個物理存儲單位擦寫過多導致的該物理存儲單位的提前損壞,使得不同物理存儲單位的使用壽命更為接近,在非高可用性場景中能夠降低丟失數(shù)據(jù)的可能性,在高可用性場景中能夠提高所在系統(tǒng)的穩(wěn)定性。

需要說明的是,在一個由若干主機組成的集群中,如果至少部分主機帶有兩個以上的硬盤或其他獨立的物理存儲部件,則可以在集群層面和主機層面分別應(yīng)用本申請的實施例,即:在集群層面實現(xiàn)不同主機之間的擦寫均衡,在主機層面實現(xiàn)單個主機上不同硬盤或其他物理存儲部件的擦寫均衡。此外,還可以在單個硬盤或其他物理存儲部件上采用現(xiàn)有技術(shù)中的ftl均衡擦寫算法或采用具有均衡擦寫功能的文件系統(tǒng)層,來在物理存儲部件的層面實現(xiàn)擦寫均衡,從而在整個集群系統(tǒng)的各個層面都達到均衡擦寫,延長集群系統(tǒng)中存儲設(shè)備的使用壽命,同時提高集群系統(tǒng)的穩(wěn)定性。

本申請的實施例二中,一種在集群中寫入存儲數(shù)據(jù)的方法的流程如圖4所示。本實施例中的集群包括至少兩臺主機,這些主機由集群控制模塊進行存儲管理;每臺主機包括至少兩個采用閃存作為存儲介質(zhì)的硬盤,每臺主機上的硬盤由該主機上的存儲控制模塊進行存儲管理。實施例二給出了一種在兩個層面(集群層面和主機層面)同時應(yīng)用實施例一的具體實現(xiàn),其中對各個步驟的詳細說明請參見實施例一中的描述,不再重復。

步驟410,由集群控制模塊獲取每臺主機上所有塊的累計擦除總次數(shù)。

步驟420,由每臺主機的存儲控制模塊分別獲取所在主機上每個硬盤的累計擦除總次數(shù)。

步驟430,在滿足主機預定寫入條件的主機中,集群控制器選擇主機的累計擦除總次數(shù)最少的至少一臺主機作為目標主機。

當集群有需要寫入的存儲數(shù)據(jù)時,例如當有進行文件遷移時、和/或進行文件保存時需要寫入的存儲數(shù)據(jù)時,假設(shè)存儲數(shù)據(jù)需要寫入到n臺主機上,集群控制器在滿足主機預定寫入條件的主機中,選擇主機的累計擦除總次數(shù)最少的n臺主機作為目標主機,即要寫入存儲數(shù)據(jù)的主機。

步驟440,在每臺目標主機上,該主機的存儲控制器將存儲數(shù)據(jù)寫入到滿足硬盤預定寫入條件、硬盤的累計擦除總次數(shù)最少的至少一個硬盤上。

當某臺主機被選擇作為目標主機后,假設(shè)存儲數(shù)據(jù)需要寫入該主機上的m(m為自然數(shù))個硬盤中,該主機上的存儲控制器在滿足硬盤預定寫入條件的硬盤中,選擇m個硬盤的累計擦除總次數(shù)最少的硬盤作為目標硬盤,將存儲數(shù)據(jù)寫入到目標硬盤中。

可以由集群控制器對各臺主機間累計擦除總次數(shù)的差異進行監(jiān)測,當某兩臺主機的累計擦除總次數(shù)的差異超過主機預定偏差范圍時,集群控制器將存儲數(shù)據(jù)從這兩臺主機中累計擦除總次數(shù)較高的主機上,遷移到累計擦除總次數(shù)較低的主機上。作為寫入遷移存儲數(shù)據(jù)的主機,可以由其上的存儲控制器將數(shù)據(jù)寫入到滿足硬盤預定寫入條件、硬盤的累計擦除總次數(shù)最少的硬盤上。

可以各臺主機的存儲控制器對該主機上各個硬盤間累計擦除總次數(shù)的差異進行監(jiān)測,當某臺主機上的某兩個硬盤的累計擦除總次數(shù)的差異超過硬盤預定偏差范圍時,該主機的存儲控制器可以將存儲數(shù)據(jù)從這兩個硬盤中累計擦除總次數(shù)較高的硬盤上,遷移到累計擦除總次數(shù)較低的硬盤上。

可見,本申請實施例二通過在集群層面(各個主機之間)和主機層面(每臺主機上的各個硬盤之間)分別應(yīng)用實施例一中的方法,使得整個集群系統(tǒng)的物理存儲部件都達到均衡擦寫,延長集群系統(tǒng)中存儲設(shè)備的使用壽命,同時提高集群系統(tǒng)的穩(wěn)定性。

在本申請的一個應(yīng)用示例中,一個高可用性集群系統(tǒng)包括k(k為大于3的自然數(shù))臺主機,每臺主機包括至少3塊采用閃存作為存儲介質(zhì)的硬盤。存儲在該集群中的每個文件應(yīng)該在3個不同的主機上分別保存一份。該集群的集群控制器運行在集群的主控節(jié)點(其中一臺主機)上,用來控制文件存儲在哪3臺主機上;每臺主機上運行有存儲控制器,用來控制文件存儲在該主機的哪塊硬盤上。

在每臺主機上,存儲控制器在每個硬盤的超級塊中維護有該硬盤上每個塊的累計擦除次數(shù)block_wear_count和該硬盤所有塊的累計擦除總次數(shù)disk_wear_count。當該硬盤上的某個塊被分配后,在該塊的塊標識block_num對應(yīng)的累計擦除次數(shù)block_wear_count上加1,并且在該硬盤所有塊的累計擦除總次數(shù)disk_wear_count上加1。

另外,存儲控制器維護有該主機上所有塊的累計擦除總次數(shù)server_wear_count,server_wear_count等于該主機上每個硬盤的disk_wear_count的總和。集群中每臺工作節(jié)點要定時向主控節(jié)點發(fā)送心跳信號,工作節(jié)點所在主機的server_wear_count可以在周期性的心跳信號中上報給集群控制器,主控節(jié)點上的存儲控制器也以與心跳信號相同的周期將主控節(jié)點所在主機的server_wear_count上報給集群控制器。

當集群中有新文件寫入時,集群控制器在k個主機中確定符合主機預定寫入條件的若干個主機,本應(yīng)用示例中寫入新文件的主機預定寫入條件為:剩余存儲容量超過主機存儲總?cè)萘康?5%、并且對已保存數(shù)據(jù)的訪問量不超過既定閾值。在符合寫入新文件的主機預定寫入條件的主機中,集群控制器選擇server_wear_count數(shù)目最小的3臺主機作為寫入新文件的主機。

在被選中的3臺主機上,每臺主機的存儲控制器在該主機上的硬盤中確定符合硬盤預定寫入條件的若干個硬盤,本應(yīng)用示例中硬盤預定寫入條件為:剩余存儲容量超過硬盤存儲總?cè)萘康?0%。在符合硬盤寫入條件的硬盤中,存儲控制器選擇disk_wear_count最小的硬盤,來寫入新的文件。

當集群中某臺主機、或某臺主機上的某個硬盤發(fā)生故障時,集群控制器認為該主機或該硬盤上保存的文件已不可使用,這樣集群中對這些文件的存儲份數(shù)不足3份。設(shè)遷移文件的主機預定寫入條件為:剩余存儲容量超過主機存儲總?cè)萘康?5%、對已保存數(shù)據(jù)的訪問量不超過既定閾值、并且尚未保存有要寫入的文件,則集群控制器在符合遷移文件的主機預定寫入條件的主機中,選擇server_wear_count數(shù)目最小的主機作為寫入遷移文件的主機。在被選中的主機上,存儲控制器在符合硬盤寫入條件的硬盤中,選擇disk_wear_count最小的硬盤,來寫入遷移的文件。

集群控制器以一定的主機監(jiān)測周期來檢查各個主機的累計擦除總次數(shù)server_wear_count之間的差異程度,如果集群中server_wear_count的最大值與最小值的差異超過所有server_wear_count的平均值的20%,則將server_wear_count最大的主機上的文件遷移到server_wear_count最小的主機上,直到集群中server_wear_count的最大值與最小值的差異在所有server_wear_count的平均值的20%之內(nèi)。對遷移文件的選擇可參照現(xiàn)有技術(shù)實現(xiàn),不再贅述。

在每臺主機上,存儲控制器以一定的硬盤監(jiān)測周期來檢查該主機上各個硬盤的累計擦除總次數(shù)disk_wear_count之間的差異程度,如果該主機上disk_wear_count的最大值與最小值的差異超過所有disk_wear_count的平均值的15%,則將disk_wear_count最大的硬盤上的文件遷移到disk_wear_count最小的硬盤上,直到該主機上disk_wear_count的最大值與最小值的差異在所有disk_wear_count的平均值的15%之內(nèi)。對遷移文件的選擇同樣可參照現(xiàn)有技術(shù)實現(xiàn)。

與上述流程實現(xiàn)對應(yīng),本申請的實施例還提供了一種寫入存儲數(shù)據(jù)的裝置。該裝置可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為邏輯意義上的裝置,是通過所在設(shè)備的cpu(centralprocessunit,中央處理器)將對應(yīng)的計算機程序指令讀取到內(nèi)存中運行形成的。從硬件層面而言,除了圖5所示的cpu、內(nèi)存以及非易失性存儲器之外,寫入存儲數(shù)據(jù)的裝置所在的設(shè)備通常還包括用于進行無線信號收發(fā)的芯片等其他硬件,和/或用于實現(xiàn)網(wǎng)絡(luò)通信功能的板卡等其他硬件。

圖6所示為本申請實施例提供的一種寫入存儲數(shù)據(jù)的裝置,應(yīng)用在對至少兩個物理存儲單位進行寫入控制的中控功能模塊上,包括累計擦除總次數(shù)單元和物理存儲單位單元,其中:累計擦除總次數(shù)單元用于獲取每個物理存儲單位內(nèi)所有塊的累計擦除總次數(shù);物理存儲單位單元用于在滿足預定寫入條件的物理存儲單位中,將存儲數(shù)據(jù)寫入到累計擦除總次數(shù)最少的至少一個物理存儲單位上。

一個例子中,所述裝置還包括偏差遷移單元,用于當某兩個物理存儲單位的累計擦除總次數(shù)的差異超過預定偏差范圍時,將存儲數(shù)據(jù)從所述兩個物理存儲單位中累計擦除總次數(shù)較高的物理存儲單位遷移到累計擦除總次數(shù)較低的物理存儲單位。

上述例子中,所述預定偏差范圍可以根據(jù)所有物理存儲單位的累計擦除總次數(shù)的平均值確定。

可選的,所述存儲數(shù)據(jù)包括:進行文件遷移時需要寫入的存儲數(shù)據(jù)、和/或進行文件保存時需要寫入的存儲數(shù)據(jù)。

可選的,所述物理存儲單位包括:主機;所述中控功能模塊包括:包括所有主機的集群的集群控制模塊;所述累計擦除總次數(shù)單元具體用于:接收每個主機以預定周期上報的累計擦除總次數(shù)。

可選的,所述物理存儲單位包括:硬盤;所述中控功能模塊包括:主機的存儲控制模塊;所述累計擦除總次數(shù)單元具體用于:讀取每個硬盤的超級塊中維護的累計擦除總次數(shù),所述累計擦除總次數(shù)在所述硬盤的每個塊被分配后加1。

圖7所示為本申請實施例提供的一種集群,包括至少兩臺主機,每臺主機包括至少兩個采用閃存作為存儲介質(zhì)的硬盤,還包括集群控制模塊和每臺主機上的存儲控制模塊,其中:集群控制模塊用于獲取每臺主機上所有塊的累計擦除總次數(shù),以及在需要寫入存儲數(shù)據(jù)時,在滿足主機預定寫入條件的主機中,選擇主機的累計擦除總次數(shù)最少的至少一臺主機作為目標主機;每臺主機上的存儲控制模塊用于獲取所在主機上每個硬盤的累計擦除總次數(shù),以及當所在主機作為目標主機時,將存儲數(shù)據(jù)寫入到滿足硬盤預定寫入條件、硬盤的累計擦除總次數(shù)最少的至少一個硬盤上。

可選的,所述集群控制模塊還用于:當某兩臺主機的的累計擦除總次數(shù)的差異超過主機預定偏差范圍時,將存儲數(shù)據(jù)從所述兩臺主機中累計擦除總次數(shù)較高的主機遷移到累計擦除總次數(shù)較低的主機;所述每條主機上的存儲控制模塊還用于:當某臺主機上的某兩個硬盤的累計擦除總次數(shù)的差異超過硬盤預定偏差范圍時,將存儲數(shù)據(jù)從所述兩個硬盤中累計擦除總次數(shù)較高的硬盤遷移到累計擦除總次數(shù)較低的硬盤。

可選的,所述存儲數(shù)據(jù)包括:進行文件遷移時需要寫入的存儲數(shù)據(jù)。

以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本申請保護的范圍之內(nèi)。

在一個典型的配置中,計算設(shè)備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。

內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計算機可讀介質(zhì)的示例。

計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機存取存儲器(sram)、動態(tài)隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。

還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。

本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1