国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種數(shù)據(jù)存儲(chǔ)方法及設(shè)備的制作方法

      文檔序號(hào):6580835閱讀:288來(lái)源:國(guó)知局
      專利名稱:一種數(shù)據(jù)存儲(chǔ)方法及設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計(jì)算機(jī)通信網(wǎng)絡(luò),特別是涉及一種數(shù)據(jù)存儲(chǔ)方法及設(shè)備。
      背景技術(shù)
      目前,為了存儲(chǔ)海量的數(shù)據(jù),且需要提高硬盤(比如固態(tài)硬盤SSD, SolidState Disk)的使用壽命,一般采用磨損均衡技術(shù),該磨損均衡算法的核心是在硬盤每次寫操作 時(shí),將新數(shù)據(jù)寫入到最少被使用的硬盤的塊中,來(lái)達(dá)到整個(gè)固態(tài)硬盤存儲(chǔ)介質(zhì)的均衡,即硬 盤內(nèi)部均衡,以盡量保證整個(gè)硬盤中所有的塊的寫次數(shù)都基本相同,來(lái)提硬盤的使用壽命。 為進(jìn)一步提高硬盤的壽命,在磨損均衡的基礎(chǔ)上引入了保留塊的方法,該預(yù)留的保留塊平 時(shí)不用,當(dāng)某個(gè)塊不能再使用時(shí),就從保留塊中選擇一個(gè)塊進(jìn)行替換,等到保留塊全部用完 了 ,也就意味著這個(gè)硬盤不能再使用了 ,即壽命到頭了 。 在對(duì)現(xiàn)有技術(shù)的研究和實(shí)踐過(guò)程中,本發(fā)明的發(fā)明人發(fā)現(xiàn),現(xiàn)有的實(shí)現(xiàn)方式中,雖 然在磨損均衡的基礎(chǔ)上引入了保留塊,但是,預(yù)留的保留塊越多,硬盤的壽命也越高,硬盤 的可用容量也就越小,如果長(zhǎng)時(shí)間對(duì)硬盤進(jìn)行頻繁的寫操作,會(huì)降低硬盤的使用壽命。

      發(fā)明內(nèi)容
      本發(fā)明實(shí)施例提供一種數(shù)據(jù)存儲(chǔ)方法及設(shè)備,以提高固態(tài)硬盤的使用壽命。
      為解決上述技術(shù)問(wèn)題,本發(fā)明是實(shí)施例提供一種數(shù)據(jù)存儲(chǔ)方法,包括
      接收寫請(qǐng)求; 確定所述寫請(qǐng)求在預(yù)先生成的虛擬邏輯單元號(hào)LUN布局圖中的分條單元SU ;
      若判斷所述SU寫過(guò)數(shù)據(jù),所屬于所述SU的給定大小硬盤單元DU的寫次數(shù)超過(guò)預(yù) 設(shè)的寫次數(shù),則從DU資源池中重新為所述SU分配至少一個(gè)新DU ; 將所述寫請(qǐng)求中的數(shù)據(jù)以及所述SU上原有的數(shù)據(jù)寫入到所述為該SU分配的至少 一個(gè)新DU中。 相應(yīng)的,本發(fā)明實(shí)施例還提供一種數(shù)據(jù)存儲(chǔ)設(shè)備,包括
      接收單元,用于接收寫請(qǐng)求; 確定單元,用于確定所述寫請(qǐng)求在預(yù)設(shè)的虛擬邏輯單元號(hào)布局圖生成單元中的分 條單元SU ; 第一判斷單元,用于判斷所述SU是否寫過(guò)數(shù)據(jù),所屬于所述SU的給定大小硬盤單 元DU的寫次數(shù)是否超過(guò)預(yù)設(shè)的寫次數(shù),并發(fā)送判斷結(jié)果; 重新分配單元,用于在接收到第一判斷單元發(fā)送所述SU寫過(guò)數(shù)據(jù),且所屬于所述 SU的給定大小硬盤單元DU的寫次數(shù)超過(guò)預(yù)設(shè)的寫次數(shù)的判斷結(jié)果時(shí),從DU資源池重新為 該所述SU分配至少一個(gè)新DU ; 第一存儲(chǔ)單元,用于將所述寫請(qǐng)求中的數(shù)據(jù)以及所述SU原有的數(shù)據(jù)寫入到所述 為該SU分配至少一個(gè)新DU中。 由上述技術(shù)方案可知,在本發(fā)明實(shí)施例中,由于預(yù)先生成了虛擬邏輯單元號(hào)LUN布局圖,當(dāng)接收寫請(qǐng)求后,先確定所述寫請(qǐng)求在預(yù)先生成的虛擬LUN布局圖中的SU;然后, 判斷所述SU上是否寫過(guò)數(shù)據(jù),若寫過(guò),則繼續(xù)判斷所屬于所述SU的給定大小硬盤單元DU 的寫次數(shù)是否超過(guò)預(yù)設(shè)的寫次數(shù),若是,則從DU資源池中重新為所述SU分配至少一個(gè)新 DU,將所述寫請(qǐng)求中的數(shù)據(jù)以及所述SU上原有的數(shù)據(jù)寫入到所述為該SU分配至少一個(gè)新 DU中。本發(fā)明實(shí)施例通過(guò)先判斷LUN布局圖中的SU是否寫過(guò)數(shù)據(jù),以及SU所述的DU的寫 次數(shù)是否超過(guò)預(yù)設(shè)的寫次數(shù),如果超過(guò),則從DU資源池中選擇新的DU重新分配給SU,以減 少DU的寫次數(shù),實(shí)現(xiàn)對(duì)存儲(chǔ)系統(tǒng)中所有硬盤的DU進(jìn)行磨損均衡,大大提高了固態(tài)硬盤的使 用壽命。


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