專利名稱:一種數(shù)據存儲方法及設備的制作方法
技術領域:
本發(fā)明涉及計算機通信網絡,特別是涉及一種數(shù)據存儲方法及設備。
背景技術:
目前,為了存儲海量的數(shù)據,且需要提高硬盤(比如固態(tài)硬盤SSD, SolidState Disk)的使用壽命,一般采用磨損均衡技術,該磨損均衡算法的核心是在硬盤每次寫操作 時,將新數(shù)據寫入到最少被使用的硬盤的塊中,來達到整個固態(tài)硬盤存儲介質的均衡,即硬 盤內部均衡,以盡量保證整個硬盤中所有的塊的寫次數(shù)都基本相同,來提硬盤的使用壽命。 為進一步提高硬盤的壽命,在磨損均衡的基礎上引入了保留塊的方法,該預留的保留塊平 時不用,當某個塊不能再使用時,就從保留塊中選擇一個塊進行替換,等到保留塊全部用完 了 ,也就意味著這個硬盤不能再使用了 ,即壽命到頭了 。 在對現(xiàn)有技術的研究和實踐過程中,本發(fā)明的發(fā)明人發(fā)現(xiàn),現(xiàn)有的實現(xiàn)方式中,雖 然在磨損均衡的基礎上引入了保留塊,但是,預留的保留塊越多,硬盤的壽命也越高,硬盤 的可用容量也就越小,如果長時間對硬盤進行頻繁的寫操作,會降低硬盤的使用壽命。
發(fā)明內容
本發(fā)明實施例提供一種數(shù)據存儲方法及設備,以提高固態(tài)硬盤的使用壽命。
為解決上述技術問題,本發(fā)明是實施例提供一種數(shù)據存儲方法,包括
接收寫請求; 確定所述寫請求在預先生成的虛擬邏輯單元號LUN布局圖中的分條單元SU ;
若判斷所述SU寫過數(shù)據,所屬于所述SU的給定大小硬盤單元DU的寫次數(shù)超過預 設的寫次數(shù),則從DU資源池中重新為所述SU分配至少一個新DU ; 將所述寫請求中的數(shù)據以及所述SU上原有的數(shù)據寫入到所述為該SU分配的至少 一個新DU中。 相應的,本發(fā)明實施例還提供一種數(shù)據存儲設備,包括
接收單元,用于接收寫請求; 確定單元,用于確定所述寫請求在預設的虛擬邏輯單元號布局圖生成單元中的分 條單元SU ; 第一判斷單元,用于判斷所述SU是否寫過數(shù)據,所屬于所述SU的給定大小硬盤單 元DU的寫次數(shù)是否超過預設的寫次數(shù),并發(fā)送判斷結果; 重新分配單元,用于在接收到第一判斷單元發(fā)送所述SU寫過數(shù)據,且所屬于所述 SU的給定大小硬盤單元DU的寫次數(shù)超過預設的寫次數(shù)的判斷結果時,從DU資源池重新為 該所述SU分配至少一個新DU ; 第一存儲單元,用于將所述寫請求中的數(shù)據以及所述SU原有的數(shù)據寫入到所述 為該SU分配至少一個新DU中。 由上述技術方案可知,在本發(fā)明實施例中,由于預先生成了虛擬邏輯單元號LUN布局圖,當接收寫請求后,先確定所述寫請求在預先生成的虛擬LUN布局圖中的SU;然后, 判斷所述SU上是否寫過數(shù)據,若寫過,則繼續(xù)判斷所屬于所述SU的給定大小硬盤單元DU 的寫次數(shù)是否超過預設的寫次數(shù),若是,則從DU資源池中重新為所述SU分配至少一個新 DU,將所述寫請求中的數(shù)據以及所述SU上原有的數(shù)據寫入到所述為該SU分配至少一個新 DU中。本發(fā)明實施例通過先判斷LUN布局圖中的SU是否寫過數(shù)據,以及SU所述的DU的寫 次數(shù)是否超過預設的寫次數(shù),如果超過,則從DU資源池中選擇新的DU重新分配給SU,以減 少DU的寫次數(shù),實現(xiàn)對存儲系統(tǒng)中所有硬盤的DU進行磨損均衡,大大提高了固態(tài)硬盤的使 用壽命。
圖1為本發(fā)明實施例中提供的一種數(shù)據存儲方法的流程圖; 圖2為本發(fā)明實施例中提供的將固態(tài)硬盤按照給定大小硬盤單元劃分的示意圖; 圖3為本發(fā)明實施例中提供的一個成員盤為4的虛擬LUN布局圖; 圖4為本發(fā)明實施例中提供的SU的大小等于DU的大小的一個虛擬LUN布局圖; 圖5為本發(fā)明實施例中提供的SU的大小等于10倍的DU大小的一個虛擬LUN布 局圖; 圖6為本發(fā)明實施例中提供的一種數(shù)據存儲方法的具體流程圖; 圖7為本發(fā)明實施例中提供的一種數(shù)據存儲設備的結構示意圖; 圖8為本發(fā)明實施例中提供的一種數(shù)據存儲設備的另一結構示意圖。
具體實施例方式
下面我們將結合附圖,對本發(fā)明的實施方案進行詳細描述。 請參閱圖l,為本發(fā)明實施例中提供的一種數(shù)據存儲方法的流程圖,本實施例可以 適用于固態(tài)硬盤SSD,也可以適用于其他的硬盤,本實施例以SSD為例,所述方法包括
步驟101 :接收寫請求; 步驟102 :確定所述寫請求在預先生成的虛擬邏輯單元號(LUN, LogicalUnit Numbe)布局圖中的分條單元(SU, Stripe Unit); 步驟103 :若判斷所述SU寫過數(shù)據,且所屬于所述SU的給定大小硬盤單元(DU, Disk Unit)的寫次數(shù)超過預設的寫次數(shù),則從DU資源池中重新為所述SU分配至少一個新 DU ; 步驟104 :將所述寫請求中的數(shù)據以及所述SU上原有的數(shù)據寫入到所述為該SU 分配的至少一個新DU中。 可選的,在SU寫數(shù)據后,所述方法還可以包括標記該SU寫過數(shù)據,并將所屬于所 述SU的DU的寫次數(shù)加1。
還包括 可選的,在步驟104之后,所述方法還可以包括釋放原來寫過數(shù)據的所屬于所述 SU的DU。 可選的,所述方法還可以包括若判斷所述SU寫過數(shù)據,且所屬于所述SU的DU的 寫次數(shù)沒有超過預設的寫次數(shù),則將所述寫請求中的數(shù)據寫入到所屬于所述SU的DU中。
可選的,所述方法還可以包括若判斷所述SU沒有寫過數(shù)據,則從DU資源池為所 述SU分配至少一個DU ;將所述寫請求中的數(shù)據寫入到所述為該SU分配至少一個DU中。
可選的,在為所述SU分配至少一個DU后,所述方法還可以包括標記該SU寫過數(shù) 據,更新所屬于所述SU的DU的寫次數(shù)為1。 可選的,在接收到寫請求后,所述方法還可以包括判斷所述寫請求的起始位置與
寫請求的長度是否大于LUN容量,若不大于,則依次執(zhí)行步驟102至步驟104,當然,還可以
執(zhí)行該方法中除步驟102至104以外的其它可選的步驟,本實施例不作限制。 可選的,在步驟101之前,所述方法還可以包括 預先生成虛擬LUN布局圖,其生成虛擬LUN布局圖的過程包括 A、將存儲系統(tǒng)中每個固態(tài)硬盤按照DU進行等分,并為所述DU進行唯一編號; 也就是說,存儲系統(tǒng)將每個固態(tài)硬盤按照DU( —般為4KB的倍數(shù))將每個固態(tài)硬
盤進行等分,并為所述DU進行唯一編號,比如用固態(tài)硬盤編號+等分后硬盤內的DU編號為
每個DU進行唯一編號,具體如圖2所示,為本發(fā)明實施例中將固態(tài)硬盤按照給定大小硬盤
單元劃分的示意圖,在該圖2中的DU 2:0表示固態(tài)硬盤標號2的第0個DU ;DUx:2表示固
態(tài)硬盤標號x的第2個DU。每個固態(tài)硬盤中的所有DU組成"DU池"。 B、根據用戶所需的LUN容量、磁盤冗余陣列RAID組的成員盤數(shù)量、RAID級另l」、SU 大小計算所需的DU數(shù)量,其中,SU的大小為DU的整數(shù)倍; 也就是說,用戶需要給出所需的LUN容量、磁盤冗余陣列(RAID,Redundant Arrays of Ind印endent Disks)組的成員盤數(shù)量、RAID級別、分條單元SU大小( 一般情況下,SU 與DU相等,當然,SU也可以是DU的整數(shù)倍,本實施例不作限制);其中,常見的RAID的類 型有RAID0、RAID10、RAID5等,但并不限于此;存儲系統(tǒng)根據用戶所需的參數(shù)計算所需的DU 數(shù)量;在該步驟中,不同的RAID類型,其計算公式也不同,比如,
如果RAID的類型為RAIDO,則DU數(shù)量=LUN容量/DU大??;
如果RAID的類型為RAIDIO,則DU數(shù)量=(LUN容量/DU大小)*RAID10鏡像盤個 數(shù); 如果RAID的類型為RAID5,則DU數(shù)量二 (LUN容量/DU大小)* (RAID5成員盤個數(shù) /(RAID5成員盤個數(shù)-1)等,但并不限于此。 C、根據所述所需的DU數(shù)量選取對應的SSD,并生成一個虛擬LUN布局圖。
也就是說,在計算出用戶需要的DU數(shù)據后,根據用戶所需的DU數(shù)量選取存儲系統(tǒng) 中對應的SSD,并生成一個虛擬LUN布局圖。可以如圖3所示,為本發(fā)明實施例提供的一個 成員盤為4的虛擬LUN布局圖。在圖3中,虛擬LUN布局圖是有邏輯硬盤(LD,Logic Disk) 和條帶(S, Stripe)組成的二維圖,,LD是由一列SU組成的,S是由一行SU組成的,同一個 S中的DU必須分布在不同物理固態(tài)硬盤上,以避免一個固態(tài)硬盤故障后,導致一個條帶上 的數(shù)據都丟失。 其中,SU的大小為DU的整數(shù)倍, 一般情況下,SU的大小與DU的大小相同,當然,也 可以不同,具體如圖4和圖5所示,圖4為本發(fā)明實施例中SU的大小等于DU的大小的一個
虛擬LUN布局圖;圖5為本發(fā)明實施例中以此類推P大小等于SU, D表示數(shù)據;P表示校驗;
PO-2表示該校驗數(shù)據是用D0、D1、D2生成的。在該圖5中,比如D220-29中,D2表示第2個 數(shù)據,其他以此類推,20-29表示該SU對應的地址段。如前所示,假設SU的大小等于10,地址都是從0開始編址,因此,每個數(shù)據SU,即圖中的D的地址范圍都在X0-X9之間。
在本發(fā)明實施例中,由于預先生成了虛擬邏輯單元號LUN布局圖,當接收寫請求 后,先確定所述寫請求在預先生成的虛擬LUN布局圖中的SU;然后,判斷所述SU上是否寫 過數(shù)據,若所述SU寫過數(shù)據,且所屬于所述SU的給定大小硬盤單元DU的寫次數(shù)超過預設 的寫次數(shù),則從DU資源池中重新為所述SU分配至少一個新DU ;之后,將所述寫請求中的數(shù) 據以及所述SU上原有的數(shù)據寫入到所述為該SU分配至少一個新DU中。也就是說,本發(fā)明 實施例對存儲系統(tǒng)中所有固態(tài)硬盤的DU進行磨損均衡,即先判斷LUN布局圖中的SU是否 寫過數(shù)據,以及SU所述的DU的寫次數(shù)是否超過預設的寫次數(shù),如果超過,則從DU資源池中 選擇寫次數(shù)較少或新的DU重新分配給SU,以減少DU的寫次數(shù),從而大大提高了固態(tài)硬盤的 使用壽命。 還請參閱圖6,為本發(fā)明實施例中提供的一種數(shù)據存儲方法的具體流程圖,在該實 施例中,以固態(tài)硬盤SSD為例,但并不限于此。先預先生成虛擬LUN布局圖,具體包括將存 儲系統(tǒng)中每個固態(tài)硬盤SSD按照DU進行等分,并為所述DU進行唯一編號;根據用戶所需的 LUN容量、磁盤冗余陣列RAID組的成員盤數(shù)量、RAID級別、SU大小計算所需的DU數(shù)量,其 中,SU的大小為DU的整數(shù)倍;根據用戶所需的DU數(shù)量選取存儲系統(tǒng)中對應的SSD,并生成 一個虛擬LUN布局圖。其中,所述虛擬LUN布局圖的具體包括至少包括一個邏輯硬盤LD 和一個條帶S,其中, 一個LD包括一列SU, S包括一行SU,且同一條帶中的DU分布在不同的 SSD上。所述方法包括 步驟601 :接收到寫請求;比如,存儲系統(tǒng)收到與該存儲系統(tǒng)相連接的主機(HOST) 發(fā)送的寫請求。 步驟602 :判斷寫請求是否越界,如果是,執(zhí)行步驟603 ;否則執(zhí)行步驟604 ; 其中,判斷寫請求是否越界,也就是說,存儲系統(tǒng)中的控制器判斷所述寫請求的起
始位置與寫請求的長度是否大于LUN容量。其中,該控制器可以理解為一種特殊的計算機,
即計算機中的CPU來判斷寫請求的起始位置與寫請求的長度是否大于LUN容量。 步驟603 :返回寫失敗響應,結束; 步驟604 :計算寫請求所在虛擬LUN布局圖中的SU ; 由于RAID類型的不同,其計算公式也不同,比如,上述圖5所示,即以4盤RAID5 為例,如果需要讀取起始地址等于61,長度為2的數(shù)據,可知位置在LD2的D6,即SU2的位 置。對于其他的RAID類型,在此不再贅述。 步驟605 :判斷所述SU是否寫過數(shù)據,若是,執(zhí)行步驟609 ;否則執(zhí)行步驟606 ; 步驟606 :從DU資源池為所述SU分配至少一個DU ; 步驟607 :標記該SU寫過數(shù)據,更新所屬于所述SU的DU的寫次數(shù); 步驟608 :將所述寫請求中的數(shù)據寫入到所述為該SU分配至少一個DU中; 步驟609 :判斷該所屬于所述SU的DU的寫次數(shù)是否溢出,即寫次數(shù)是否超過預
設的寫次數(shù),而DU的寫次數(shù)一般情況下等于5千至1萬次,但并不限于此;若是,執(zhí)行步驟
611 ;否則執(zhí)行步驟610 ; 步驟610 :將所述寫請求中的數(shù)據寫入到SU中,結束; 步驟611 :從DU資源池重新為所述SU分配至少一個新DU ; 步驟612 :標記該SU寫過數(shù)據,并將所屬于所述SU的DU的寫次數(shù)加1 ;
步驟613 :將所述寫請求中的數(shù)據以及所述SU上寫的數(shù)據寫入到所述為該SU分 配至少一個新DU中; 步驟614 :將原所屬于SU的DU釋放回DU資源池。 為了便于本領域技術人員的理解,下面以具體的實例來說明。 比如,存儲系統(tǒng)收到一個起始地址等于O,長度為1的寫請求,根據預先生成的虛 擬邏輯單元號LUN布局圖(如圖5所示),可以確定該寫請求對應在LUN布局圖中的D0,即 SUO處,將寫請求寫到SUO前,先判斷SUO是否寫過數(shù)據W,即W是否等于0 ;
如果沒有寫過數(shù)據,則從DU池中分配一個曾經被寫過的次數(shù)T (T初始值等于0) 最少的一個DU出來,比如DUO: 0,然后將數(shù)據寫入DUO: 0,設置W = 1 ,更新DU本次被寫過的 次數(shù)M等于1 ; 如果寫過數(shù)據,則判斷DUO:O本次被寫過的次數(shù)M是否小于給定值N(比如等于 5000) 如果小于給定值N,則直接將數(shù)據寫到DUO:O,更新寫計數(shù)T = T+l, M = M+l ;
否則,從DU池中重新分配一個曾經被寫過的次數(shù)T最少的一個DU出來,比如 DU5:4,然后再將該請求中的數(shù)據寫到入DU5:4,更新寫計數(shù)T = T+1,M = 1 ;
但是,需要說明的是,每次從DU池中分配DU時,要求同一個分條上的所有DU不能 屬于相同的固態(tài)硬盤,即對相同的S, Dux :y中的x都不能相同。 基于上述方法的實現(xiàn)過程,本發(fā)明實施例還提供一種數(shù)據存儲設備,其結構示意 圖詳見圖7,所述數(shù)據存儲設備包括接收單元71、確定單元72、第一判斷單元73、重新分配 單元74和第一存儲單元75。其中,所述接收單元71,用于接收寫請求;所述確定單元72, 用于確定所述接收單元71接收的寫請求在預設的虛擬邏輯單元號布局圖生成單元中的分 條單元SU ;所述第一判斷單元73,用于判斷所述確定單元72確定的SU是否寫過數(shù)據,所屬 于所述SU的給定大小硬盤單元DU的寫次數(shù)是否超過預設的寫次數(shù),并發(fā)送判斷結果;所述 重新分配單元74,用于在接收到第一判斷單元73發(fā)送所述SU寫過數(shù)據,且所屬于所述SU 的定大小硬盤單元DU的寫次數(shù)超過預設的寫次數(shù)的判斷結果時,從DU資源池重新為該所 述SU分配至少一個新DU ;所述第一存儲單元75,用于將所述接收單元71接收的寫請求中 的數(shù)據寫入到所述分配單元74為該SU分配至少一個DU中。用于將所述接收單元71接收 的寫請求中的數(shù)據以及所述SU原有的數(shù)據寫入到所述重新分配單元74為該SU分配至少 一個新DU中。 可選的,所述設備還可以包括第一標記單元,用于在SU寫數(shù)據后,標記該SU寫過 數(shù)據,并將所屬于所述SU的DU的寫次數(shù)加1。 可選的,所述設備還可以包括資源釋放單元,用于釋放原來寫過數(shù)據的所屬于 SU的DU。 可選的,所述設備還可以包括第二存儲單元,用于在接收到第一判斷單元發(fā)送所 述SU寫過數(shù)據,且所屬于所述SU的給定大小硬盤單元DU的寫次數(shù)沒有超過預設的寫次數(shù) 的判斷結果時,將所述寫請求中的數(shù)據寫入到所屬于所述SU的DU中。
可選的,所述設備還可以包括分配單元76和第三存儲單元77,其中,分配單元 76,用于在接收到第一判斷單元73發(fā)送所述SU沒有寫過數(shù)據的判斷結果時,則從DU資源 池為所述SU分配至少一個DU ;第三存儲單元77,用于將所述接收單元71接收到的寫請求中的數(shù)據寫入到所述分配單元為該SU分配的至少一個DU中。其相應的結構示意圖詳見圖 8。 可選的,所述設備還可以包括第二標記單元,用于在為所述SU分配至少一個DU 后,標記該SU寫過數(shù)據,更新所屬于所述SU的DU的寫次數(shù)為1。 可選的,所述設備還可以包括越界判斷單元,用于在接收單元接收到寫請求后, 判斷所述寫請求的起始位置與寫請求的長度是否大于LUN容量,并將不大于的判斷結果發(fā) 送給確定單元。 優(yōu)選的,所述數(shù)據存儲設備還可以進一步包括虛擬邏輯單元號布局圖生成單元, 與確定單元相連,用于將每個SSD按照DU進行等分,并為所述DU唯一編號;根據用戶所需 的LUN容量、RAID組的成員盤數(shù)量、RAID級別、SU大小計算所需的DU數(shù)量,根據所述所需 的DU數(shù)量選取對應的SSD,并生成一個虛擬LUN布局圖,其中,SU的大小為DU的整數(shù)倍。
由上述實施例可知,在本發(fā)明實施例中,由于預先生成了虛擬邏輯單元號LUN布 局圖,當接收寫請求后,先確定所述寫請求在預先生成的虛擬LUN布局圖中的SU;然后,判 斷所述SU上是否寫過數(shù)據,若沒有,則從DU資源池為所述SU分配至少一個DU,并將所述寫 請求中的數(shù)據寫入到所述至少一個DU中;若寫過,則繼續(xù)判斷所屬于所述SU的給定大小硬 盤單元DU的寫次數(shù)是否超過預設的寫次數(shù),若是,則從DU資源池重新為該所述SU分配至 少一個新DU ;并將所述寫請求中的數(shù)據以及所述SU原有的數(shù)據寫入到所述為該SU分配至 少一個新DU中;若否,則將所述寫請求中的數(shù)據寫入到所屬于所述SU的DU中。以便于對 存儲系統(tǒng)中所有硬盤的DU進行磨損均衡的同時,從而大大提高了固態(tài)硬盤的使用壽命。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā)明可借助 軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更 佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的 部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品可以存儲在存儲介質中,如ROM/ RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器, 或者網絡設備等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的方法。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人 員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應 視為本發(fā)明的保護范圍。
權利要求
一種數(shù)據存儲方法,其特征在于,包括接收寫請求;確定所述寫請求在預先生成的虛擬邏輯單元號LUN布局圖中的分條單元SU;若判斷所述SU寫過數(shù)據,所屬于所述SU的給定大小硬盤單元DU的寫次數(shù)超過預設的寫次數(shù),則從DU資源池中重新為所述SU分配至少一個新DU;將所述寫請求中的數(shù)據以及所述SU上原有的數(shù)據寫入到所述為該SU分配的至少一個新DU中。
2. 根據權利要求1所述的方法,其特征在于,在SU寫數(shù)據后,所述方法還包括標記該SU寫過數(shù)據,并將所屬于所述SU的DU的寫次數(shù)加1。
3. 根據權利要求1或2所述的方法,其特征在于,還包括釋放原來寫過數(shù)據的所屬于所述SU的DU。
4. 根據權利要求1或2所述的方法,其特征在于,還包括若判斷所述SU寫過數(shù)據,且所屬于所述SU的DU的寫次數(shù)沒有超過預設的寫次數(shù),則將所述寫請求中的數(shù)據寫入到所屬于所述SU的DU中。
5. 根據權利要求1或2所述的方法,其特征在于,還包括若判斷所述SU沒有寫過數(shù)據,則從DU資源池為所述SU分配至少一個DU ;將所述寫請求中的數(shù)據寫入到所述為該SU分配的至少一個DU中。
6. 根據權利要求3所述的方法,其特征在于,在接收到寫請求后,所述方法還包括判斷所述寫請求的起始位置與寫請求的長度是否大于LUN容量,若不大于,則執(zhí)行確定所述寫請求在虛擬LUN布局圖中的分條單元SU的步驟。
7. —種數(shù)據存儲設備,其特征在于,包括接收單元,用于接收寫請求;確定單元,用于確定所述寫請求在預設的虛擬邏輯單元號布局圖生成單元中的分條單元SU;第一判斷單元,用于判斷所述SU是否寫過數(shù)據,所屬于所述SU的給定大小硬盤單元DU的寫次數(shù)是否超過預設的寫次數(shù),并發(fā)送判斷結果;重新分配單元,用于在接收到第一判斷單元發(fā)送所述SU寫過數(shù)據,且所屬于所述SU的給定大小硬盤單元DU的寫次數(shù)超過預設的寫次數(shù)的判斷結果時,從DU資源池重新為該所述SU分配至少一個新DU ;第一存儲單元,用于將所述寫請求中的數(shù)據以及所述SU原有的數(shù)據寫入到所述為該SU分配至少一個新DU中。
8. 根據權利要求7所述的數(shù)據存儲設備,其特征在于,還包括第一標記單元,用于在SU寫數(shù)據后,標記該SU寫過數(shù)據,并將所屬于所述SU的DU的寫次數(shù)加1。
9. 根據權利要求7或8所述的數(shù)據存儲設備,其特征在于,還包括資源釋放單元,用于釋放原來寫過數(shù)據的所屬于所述SU的DU。
10. 根據權利要求7或8所述的數(shù)據存儲設備,其特征在于,還包括第二存儲單元,用于在接收到第一判斷單元發(fā)送所述SU寫過數(shù)據,且所屬于所述SU的給定大小硬盤單元DU的寫次數(shù)沒有超過預設的寫次數(shù)的判斷結果時,將所述寫請求中的數(shù)據寫入到所屬于所述SU的DU中。
11. 根據權利要求7或8所述的數(shù)據存儲設備,其特征在于,還包括分配單元,用于在接收到第一判斷單元發(fā)送所述SU沒有寫過數(shù)據的判斷結果時,則從DU資源池為所述SU分配至少一個DU ;第三存儲單元,用于將所述寫請求中的數(shù)據寫入到所述分配單元為該SU分配的至少一個DU中。
12. 根據權利要求9所述的數(shù)據存儲設備,其特征在于,還包括越界判斷單元,用于在接收單元接收到寫請求后,判斷所述寫請求的起始位置與寫請求的長度是否大于LUN容量,并將不大于的判斷結果發(fā)送給確定單元。
全文摘要
本發(fā)明涉及一種數(shù)據存儲方法及設備,所述方法包括接收寫請求;確定所述寫請求在預先生成的虛擬邏輯單元號LUN布局圖中的分條單元SU;若判斷所述SU寫過數(shù)據,所述所屬于SU的給定大小硬盤單元DU的寫次數(shù)超過預設的寫次數(shù),則從DU資源池中重新為所述SU分配至少一個新DU;將所述寫請求中的數(shù)據以及所述SU上原有的數(shù)據寫入到所述為該SU分配至少一個新DU中。本發(fā)明實施例對存儲系統(tǒng)中所有硬盤的DU進行磨損均衡,大大提高了固態(tài)硬盤的使用壽命。
文檔編號G06F3/06GK101719050SQ20091017837
公開日2010年6月2日 申請日期2009年11月25日 優(yōu)先權日2009年11月25日
發(fā)明者張巍 申請人:成都市華為賽門鐵克科技有限公司