亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

存儲設(shè)備寫入方法及存儲設(shè)備的制作方法

文檔序號:6525513閱讀:174來源:國知局
存儲設(shè)備寫入方法及存儲設(shè)備的制作方法
【專利摘要】本發(fā)明實(shí)施例提供一種存儲設(shè)備寫入方法及存儲設(shè)備。本發(fā)明存儲設(shè)備寫入方法包括:獲取待寫入的數(shù)據(jù)的屬性;若根據(jù)所述待寫入的數(shù)據(jù)的屬性確定所述數(shù)據(jù)為第一數(shù)據(jù),則利用固態(tài)硬盤SSD快速響應(yīng)的特性將所述第一數(shù)據(jù)寫入屬于第一RAID的存儲塊中,所述第一RAID的總存儲空間大小值等于至少一個(gè)SSD的容量;若根據(jù)所述待寫入的數(shù)據(jù)的屬性確定所述數(shù)據(jù)為第二數(shù)據(jù),則將所述第二數(shù)據(jù)寫入屬于第二RAID的存儲塊中,所述第二RAID的總存儲空間大小值等于總的數(shù)據(jù)盤的容量之和。能夠加快扇區(qū)提升后的存儲設(shè)備寫入速度,從而提升存儲設(shè)備的性能,提高存儲設(shè)備的使用壽命。
【專利說明】存儲設(shè)備寫入方法及存儲設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實(shí)施例涉及存儲技術(shù),尤其涉及一種存儲設(shè)備寫入方法及存儲設(shè)備。
【背景技術(shù)】
[0002]隨著計(jì)算機(jī)技術(shù)和通信技術(shù)的不斷發(fā)展,硬盤的應(yīng)用和需求越來越多。計(jì)算機(jī)只能對傳統(tǒng)硬盤上儲存的數(shù)據(jù)以扇區(qū)為單位進(jìn)行讀出和寫入,傳統(tǒng)硬盤的扇區(qū)大小是512字節(jié),即512B。近年來,硬盤制造商正在將扇區(qū)從傳統(tǒng)的512字節(jié)增加到更大、更高效的4096字節(jié),即4KB,即將8個(gè)傳統(tǒng)512字節(jié)扇區(qū)合并為一個(gè)4KB扇區(qū),即該硬盤可以以4KB為單位進(jìn)行讀出和寫入,能夠提高區(qū)域密度和硬盤容量,同時(shí)提供更加強(qiáng)大的錯(cuò)誤糾正功能。
[0003]但是,計(jì)算機(jī)的很多方面依然默認(rèn)以512B為單位對硬盤進(jìn)行讀取和寫入。雖然計(jì)算機(jī)讀取小于4KB的數(shù)據(jù)時(shí)不會造成什么影響,但是當(dāng)計(jì)算機(jī)嘗試寫入的新數(shù)據(jù)小于4KB時(shí),如2個(gè)512B的數(shù)據(jù)寫入硬盤時(shí),首先需讀取包含計(jì)算機(jī)寫入請求目標(biāo)位置的整個(gè)4KB扇區(qū)的數(shù)據(jù),然后將新數(shù)據(jù)替換將同等大小的數(shù)據(jù)現(xiàn)有數(shù)據(jù),如替換2個(gè)512B的舊數(shù)據(jù),將新的2個(gè)512B的數(shù)據(jù)與未替換的6個(gè)512B的現(xiàn)有數(shù)據(jù)合并為一個(gè)4KB的數(shù)據(jù),才能重新將這4KB的數(shù)據(jù)寫入硬盤,且,由于現(xiàn)有的硬盤多為機(jī)械硬盤(HardDiskDrive,數(shù)據(jù)盤)存儲,數(shù)據(jù)盤的響應(yīng)速度較慢,導(dǎo)致寫入硬盤的速度很慢,造成硬盤性能較差,而多塊硬盤放一起使用時(shí)用于控制硬盤盤,保證數(shù)據(jù)能正確的讀寫陣列進(jìn)而造成硬盤整體性能下降。的整體性能下降,同時(shí),頻繁的讀寫硬盤,也會造成硬盤的磁頭不停的變化,也會降低硬盤的壽命,因此提高硬盤寫入速度和提升硬盤的使用壽命成為亟待解決的問題。

【發(fā)明內(nèi)容】

[0004]本發(fā)明實(shí)施例提供一種存儲設(shè)備寫入方法及存儲設(shè)備,能夠加快扇區(qū)提升后的存儲設(shè)備寫入速度,從而提升存儲設(shè)備的性能,提高存儲設(shè)備的使用壽命。
[0005]本發(fā)明實(shí)施例提供一種存儲設(shè)備寫入方法,包括:
[0006]獲取待寫入的數(shù)據(jù)的屬性;
[0007]若根據(jù)所述待寫入的數(shù)據(jù)的屬性確定所述數(shù)據(jù)為第一數(shù)據(jù),則利用固態(tài)硬盤SSD快速響應(yīng)的特性將所述第一數(shù)據(jù)寫入屬于第一 RAID的存儲塊中,所述第一 RAID的總存儲空間大小值等于至少一個(gè)SSD的容量;若根據(jù)所述待寫入的數(shù)據(jù)的屬性確定所述數(shù)據(jù)為第二數(shù)據(jù),則將所述第二數(shù)據(jù)寫入屬于第二 RAID的存儲塊中,所述第二 RAID的總存儲空間大小值等于總的數(shù)據(jù)盤的容量之和。
[0008]在第一種可能的實(shí)現(xiàn)方式中,根據(jù)第一方面,所述獲取待寫入的數(shù)據(jù)的屬性之前,還包括:
[0009]按照所述第一 RAID的存儲空間大小值及所述存儲塊的大小值確定屬于所述第一RAID的存儲塊個(gè)數(shù)為Μ個(gè),并按照所述第二 RAID的存儲空間大小值及所述存儲塊的大小值確定屬于所述第二 RAID的存儲塊個(gè)數(shù)為N個(gè),以使得標(biāo)記為屬于第一 RAID的存儲塊個(gè)數(shù)不大于M,標(biāo)記為屬于第二 RAID的存儲塊個(gè)數(shù)不大于N ;[0010]其中,所述第一 RAID的存儲空間大小值根據(jù)所述至少一個(gè)SSD的容量確定,所述第二 RAID的存儲空間大小值根據(jù)所述總的數(shù)據(jù)盤的容量確定,所述存儲塊的大小值為一預(yù)設(shè)的定值,所述Μ、N為正整數(shù)。
[0011]在第二種可能的實(shí)現(xiàn)方式中,結(jié)合第一方面和第一種可能的實(shí)現(xiàn)方式,所述將所述第一數(shù)據(jù)寫入屬于第一 RAID的存儲塊中包括:
[0012]確定所述第一數(shù)據(jù)需寫入屬于第一 RAID的存儲塊;
[0013]根據(jù)預(yù)設(shè)表項(xiàng)索引所有的存儲塊,獲取所有標(biāo)記為屬于第一 RAID的存儲塊的地址以及所有未標(biāo)記的存儲塊的地址;
[0014]將所述第一數(shù)據(jù)按照所述存儲塊的地址寫入對應(yīng)的存儲塊中。
[0015]在第三種可能的實(shí)現(xiàn)方式中,結(jié)合第一方面、第一種可能的實(shí)現(xiàn)方式和第二種可能實(shí)現(xiàn)的方式,所述將所述第二數(shù)據(jù)寫入屬于第二 RAID的存儲塊中包括:
[0016]確定所述第二數(shù)據(jù)需寫入屬于第二 RAID的存儲塊;
[0017]根據(jù)預(yù)設(shè)表項(xiàng)索引所有的存儲塊,獲取所有標(biāo)記為屬于第二 RAID的存儲塊的地址以及所有未標(biāo)記的存儲塊的地址;
[0018]將所述第二數(shù)據(jù)按照所述存儲塊的地址寫入對應(yīng)的存儲塊中。
[0019]在第四種可能的實(shí)現(xiàn)方式中,結(jié)合第一方面、第一種可能的實(shí)現(xiàn)方式、第二種可能實(shí)現(xiàn)的方式和第三種可能實(shí)現(xiàn)的方式,所述獲取待寫入的數(shù)據(jù)占用空間的大小值之前,還包括:
[0020]若屬于第一 RAID的存儲塊被完全占用,則將所述被完全占用的屬于第一 RAID的存儲塊中的數(shù)據(jù)轉(zhuǎn)存到第二 RAID的存儲塊中。
[0021]第二方面,本發(fā)明實(shí)施例提供的一種存儲設(shè)備,包括:
[0022]獲取單元,用于獲取待寫入的數(shù)據(jù)的屬性;
[0023]寫入控制單元,用于若根據(jù)所述待寫入的數(shù)據(jù)的屬性確定所述數(shù)據(jù)為第一數(shù)據(jù),則利用固態(tài)硬盤SSD快速響應(yīng)的特性將所述第一數(shù)據(jù)寫入屬于第一 RAID的存儲塊中,所述第一 RAID的總存儲空間大小值等于至少一個(gè)SSD的容量;若根據(jù)所述待寫入的數(shù)據(jù)的屬性確定所述數(shù)據(jù)為第二數(shù)據(jù),則將所述第二數(shù)據(jù)寫入屬于第二 RAID的存儲塊中,所述第二RAID的總存儲空間大小值等于總的數(shù)據(jù)盤的容量之和。
[0024]在第一種可能的實(shí)現(xiàn)方式中,根據(jù)第一方面,
[0025]處理單元,用于按照所述第一 RAID的存儲空間大小值及所述存儲塊的大小值確定屬于所述第一 RAID的存儲塊個(gè)數(shù)為Μ個(gè),并按照所述第二 RAID的存儲空間大小值及所述存儲塊的大小值確定屬于所述第二 RAID的存儲塊個(gè)數(shù)為N個(gè),以使得標(biāo)記為屬于第一RAID的存儲塊個(gè)數(shù)不大于M,標(biāo)記為屬于第二 RAID的存儲塊個(gè)數(shù)不大于N ;
[0026]其中,所述第一 RAID的存儲空間大小值根據(jù)所述至少一個(gè)SSD的容量確定,所述第二 RAID的存儲空間大小值根據(jù)所述總的數(shù)據(jù)盤的容量確定,所述存儲塊的大小值為一預(yù)設(shè)的定值,所述Μ、N為正整數(shù)。
[0027]在第二種可能的實(shí)現(xiàn)方式中,結(jié)合第一方面和第一種可能的實(shí)現(xiàn)方式,所述寫入控制單元包括:
[0028]確定模塊,用于確定所述第一數(shù)據(jù)需寫入屬于第一 RAID的存儲塊;
[0029]獲取模塊,用于根據(jù)預(yù)設(shè)表項(xiàng)索引所有的存儲塊,獲取所有標(biāo)記為屬于第一 RAID的存儲塊的地址以及所有未標(biāo)記的存儲塊的地址;
[0030]寫入模塊,用于將所述第一數(shù)據(jù)按照所述存儲塊的地址寫入對應(yīng)的存儲塊中。
[0031]在第三種可能的實(shí)現(xiàn)方式中,結(jié)合第一方面、第一種可能的實(shí)現(xiàn)方式和第二種可能實(shí)現(xiàn)的方式,所述確定模塊,還用于確定所述第二數(shù)據(jù)需寫入屬于第二 RAID的存儲塊;
[0032]所述確定模塊,還用于確定所述第二數(shù)據(jù)需寫入屬于第二 RAID的存儲塊;
[0033]所述獲取模塊,還用于根據(jù)預(yù)設(shè)表項(xiàng)索引所有的存儲塊,獲取所有標(biāo)記為屬于第二 RAID的存儲塊的地址以及所有未標(biāo)記的存儲塊的地址;
[0034]所述寫入模塊,還用于將所述第二數(shù)據(jù)按照所述存儲塊的地址寫入對應(yīng)的存儲塊中。
[0035]在第四種可能的實(shí)現(xiàn)方式中,結(jié)合第一方面、第一種可能的實(shí)現(xiàn)方式、第二種可能實(shí)現(xiàn)的方式和第三種可能實(shí)現(xiàn)的方式,
[0036]所述寫入控制單元,還用于若屬于第一 RAID的存儲塊被完全占用,則將所述被完全占用的屬于第一 RAID的存儲塊中的數(shù)據(jù)轉(zhuǎn)存到第二 RAID的存儲塊中。
[0037]本發(fā)明實(shí)施例提供的存儲設(shè)備寫入方法及存儲設(shè)備。存儲設(shè)備獲取待寫入的數(shù)據(jù)的屬性;若根據(jù)待寫入的數(shù)據(jù)的屬性確定數(shù)據(jù)為第一數(shù)據(jù),則利用固態(tài)硬盤SSD快速響應(yīng)的特性將第一數(shù)據(jù)寫入屬于第一 RAID的存儲塊中,第一 RAID的總存儲空間大小值等于至少一個(gè)SSD的容量;若根據(jù)待寫入的數(shù)據(jù)的屬性確定數(shù)據(jù)為第二數(shù)據(jù),則將第二數(shù)據(jù)寫入屬于第二RAID的存儲塊中,第二RAID的總存儲空間大小值等于總的數(shù)據(jù)盤的容量之和。這樣一來,存儲設(shè)備能夠利用SSD的快速響應(yīng)特性對屬性為小輸入輸出10的數(shù)據(jù)進(jìn)行寫入,以提高寫入的速度,且數(shù)據(jù)盤只處理大10的數(shù)據(jù),數(shù)據(jù)盤可以將這類大10的數(shù)據(jù)中的等于扇區(qū)的大小值的數(shù)據(jù)直接寫入,以此加快寫入的速度,減少因硬盤的磁頭頻繁讀寫帶來的變化,提升硬盤的使用壽命。存儲設(shè)備這種同時(shí)利用SSD和數(shù)據(jù)盤存儲的結(jié)構(gòu)和存儲方式可以加快扇區(qū)提升后的存儲設(shè)備寫入速度,進(jìn)而提升存儲設(shè)備的性能。
【專利附圖】

【附圖說明】
[0038]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0039]圖1為本發(fā)明提供的存儲設(shè)備寫入方法實(shí)施例的流程圖;
[0040]圖2為本發(fā)明提供的存儲設(shè)備寫入方法另一個(gè)實(shí)施例的流程圖
[0041]圖3為硬盤組成原理的結(jié)構(gòu)示意圖;
[0042]圖4為本發(fā)明提供的存儲設(shè)備寫入方法又一實(shí)施例的流程圖;
[0043]圖5為本發(fā)明提供的存儲設(shè)備實(shí)施例的結(jié)構(gòu)示意圖;
[0044]圖6為本發(fā)明提供的存儲設(shè)備另一實(shí)施例的結(jié)構(gòu)示意圖;
[0045]圖7為本發(fā)明提供的存儲設(shè)備又一實(shí)施例的結(jié)構(gòu)示意圖;
[0046]圖8為本發(fā)明提供的另一存儲設(shè)備實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】[0047]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0048]圖1為本發(fā)明提供的存儲設(shè)備寫入方法實(shí)施例的流程圖,該存儲設(shè)備由至少一個(gè)固態(tài)硬盤(Solid State Disk, SSD)和傳統(tǒng)的數(shù)據(jù)盤組合形成,硬盤的寫入功能由SSD和數(shù)據(jù)盤共同支持實(shí)現(xiàn),如圖1所示,本實(shí)施例的方法可以包括:
[0049]S101、存儲設(shè)備獲取待寫入的數(shù)據(jù)的屬性。
[0050]舉例來說,存儲設(shè)備可以是硬盤或其他具有存儲功能的設(shè)備,本實(shí)施例以硬盤舉例進(jìn)行說明,由于硬盤扇區(qū)計(jì)算機(jī)的大部分具有寫入需求的功能區(qū)域依然默認(rèn)扇區(qū)的大小值為傳統(tǒng)的512B,因此,在向硬盤寫入數(shù)據(jù)時(shí)依舊以512B為單位進(jìn)行寫入,也就是說,待寫入的數(shù)據(jù)的占用空間的大小值可以是512B的整數(shù)倍,如3個(gè)512B,2個(gè)512B,10個(gè)512B,19個(gè)512B等等。
[0051]需要說明的是,現(xiàn)有技術(shù)已經(jīng)可以將硬盤的扇區(qū)的大小值提升到以4KB即8個(gè)512B,也就是說硬盤可以以4KB為單位進(jìn)行讀出和寫入了,所以本發(fā)明實(shí)施例以扇區(qū)的大小值為4KB舉例進(jìn)行說明,任何扇區(qū)大小值大于計(jì)算機(jī)寫入的數(shù)據(jù)占用空間的大小值的寫入均在本發(fā)明保護(hù)范圍之內(nèi),如扇區(qū)的大小值為8KB,計(jì)算機(jī)依然以512B寫入,或者,扇區(qū)的大小值為8KB,計(jì)算機(jī)升級到以4KB進(jìn)行寫入等均在保護(hù)范圍之內(nèi)。
[0052]進(jìn)一步地,數(shù)據(jù)的屬性可以包括大輸入輸出(Input Output, 10)和小10,其中,10大小可以基于一個(gè)分條的大小來劃分,小于一個(gè)分條大小的10為小10,大于或等于一個(gè)分條大小的10為大10 ;—個(gè)分條大小=(RAID組的盤的個(gè)數(shù)-1)*分條深度,分條為在同一個(gè)RAID組中,物理偏移相同的若干個(gè)分條單元組成的,分條深度為一個(gè)分條單元中的塊的個(gè)數(shù),塊為存儲設(shè)備讀寫操作的最小單位,大小為512字節(jié),分條單元為同一硬盤上的連續(xù)的若干個(gè)塊組成的分條的元素。
[0053]S102、存儲設(shè)備若根據(jù)待寫入的數(shù)據(jù)的屬性確定數(shù)據(jù)為第一數(shù)據(jù),執(zhí)行步驟S103 ;若根據(jù)待寫入的數(shù)據(jù)的屬性確定數(shù)據(jù)為第二數(shù)據(jù),執(zhí)行步驟S104。
[0054]舉例來說,存儲設(shè)備若根據(jù)待寫入的數(shù)據(jù)的屬性確定該數(shù)據(jù)為小10,則執(zhí)行步驟S103,若確定該數(shù)據(jù)為大10則執(zhí)行步驟S104。
[0055]進(jìn)一步地,確認(rèn)10為大10還是小10可以是,如果該RAID組分條大小是1M,但是要寫的10是10K,其實(shí)這時(shí)候10的屬性應(yīng)該是確定為小10,這時(shí)候就把這10K 10完全都寫到第一 RAID ;如果分條大小是100K,要寫的10大小是101K,那么這個(gè)時(shí)候就把這101K的數(shù)據(jù)都寫到第二 raid中。
[0056]S103、存儲設(shè)備利用SSD快速響應(yīng)的特性將第一數(shù)據(jù)寫入屬于第一 RAID的存儲塊中,第一 RAID的總存儲空間大小值等于至少一個(gè)SSD的容量。
[0057]進(jìn)一步地,計(jì)算機(jī)寫入小于扇區(qū)的大小值的數(shù)據(jù)時(shí),如扇區(qū)為4KB但是待寫入的數(shù)據(jù)占用空間的大小值為3個(gè)512B時(shí),先讀取計(jì)算機(jī)寫入請求目標(biāo)位置即SSD對應(yīng)的屬于第一 RAID的存儲塊的一整個(gè)4KB扇區(qū)的數(shù)據(jù),然后將這4KB數(shù)據(jù)將中3個(gè)512B大小的舊數(shù)據(jù)替換為新數(shù)據(jù),即用新數(shù)據(jù)將舊數(shù)據(jù)覆蓋,將待寫入的3個(gè)512B的數(shù)據(jù)與未替換的5個(gè)512B的現(xiàn)有數(shù)據(jù)合并為一個(gè)新的4KB的數(shù)據(jù),再將這4KB的數(shù)據(jù)寫入屬于第一 RAID的存儲塊。由于第一 RAID由至少一個(gè)SSD支持,而SSD具有快速響應(yīng)的特性,即可以快速的讀出和寫入特性,可以提高小10的寫入速度。如3個(gè)512B的數(shù)據(jù)寫入傳統(tǒng)硬盤的時(shí)間可能為1秒,但是3個(gè)512B的數(shù)據(jù)寫入SSD支持的第一 RAID的存儲塊的時(shí)間可能只為10毫秒,大幅提升了小數(shù)據(jù)輸入10寫入的時(shí)間。
[0058]S104、存儲設(shè)備將第二數(shù)據(jù)寫入屬于第二 RAID的存儲塊中,第二 RAID的總存儲空間大小值等于總的數(shù)據(jù)盤的容量之和。
[0059]舉例來說,計(jì)算機(jī)寫入的數(shù)據(jù)屬性為大10時(shí),10中等于扇區(qū)的大小值的數(shù)據(jù)部分就直接寫入第二 RAID中,如扇區(qū)為4KB,待寫入的大10數(shù)據(jù)占用空間的大小值為8個(gè)512B時(shí),可以直接將這個(gè)大10數(shù)據(jù)分為兩個(gè)4KB的待寫入數(shù)據(jù)寫入屬于第二 RAID的存儲塊中,而不需要再從第二 RAID中先讀出再替換最后再寫入這2個(gè)4KB的數(shù)據(jù),節(jié)省了寫入數(shù)據(jù)的時(shí)間。
[0060]如果待寫入的大10數(shù)據(jù)占用空間的大小值為大于4K,且不滿足10的整數(shù)倍的情況下,比如15K時(shí),把15K按4K做一個(gè)圓整,如可以圓整為一個(gè)15K的數(shù)據(jù)進(jìn)行處理,即15K要寫多少個(gè)4K單位,只預(yù)讀不滿足4K的部分,如15K圓整的數(shù)據(jù)一定有一個(gè)不足4K的部分。如果要從地址塊(block)為0的地方,如上所述一個(gè)block為512B,寫一個(gè)15K的數(shù)據(jù)下去,這時(shí)候其實(shí)地址0是對齊的,要寫的數(shù)據(jù)15K不對齊,但是也只是最后的4k不對齊,這時(shí)候,就只需要預(yù)讀最后的4K數(shù)據(jù)上來,做合并,再寫;而如果要從地址block為1的地方去寫一個(gè)15K的數(shù)據(jù),這時(shí)候地址和數(shù)據(jù)大小15K都不是4K對齊的,就需要對地址和數(shù)據(jù)大小都對齊處理,而其實(shí)也只是這15K數(shù)據(jù)的頭尾4K部分不對齊,這時(shí)候就預(yù)讀0到4K和12K到16K這部分?jǐn)?shù)據(jù),做合并,再寫。
[0061]需要說明的是,本實(shí)施例雖然以硬盤舉例說明,但不以此做任何限定,其他存儲設(shè)備的寫入單位提升而使得計(jì)算機(jī)或用戶設(shè)備寫入時(shí)不能根據(jù)該提升后的單位寫入而造成的寫入緩慢均可利用本發(fā)明實(shí)施例提供的方法提高寫入速度,所以均在保護(hù)范圍之內(nèi)。
[0062]本發(fā)明實(shí)施例提供的存儲設(shè)備寫入方法。存儲設(shè)備獲取待寫入的數(shù)據(jù)的屬性;若根據(jù)待寫入的數(shù)據(jù)的屬性確定數(shù)據(jù)為第一數(shù)據(jù),則利用固態(tài)硬盤SSD快速響應(yīng)的特性將第一數(shù)據(jù)寫入屬于第一 RAID的存儲塊中,第一 RAID的總存儲空間大小值等于至少一個(gè)SSD的容量;若根據(jù)待寫入的數(shù)據(jù)的屬性確定數(shù)據(jù)為第二數(shù)據(jù),則將第二數(shù)據(jù)寫入屬于第二RAID的存儲塊中,第二 RAID的總存儲空間大小值等于總的數(shù)據(jù)盤的容量之和。這樣一來,存儲設(shè)備能夠利用SSD的快速響應(yīng)特性對屬性為小輸入輸出10的數(shù)據(jù)進(jìn)行寫入,以提高寫入的速度,且數(shù)據(jù)盤只處理大10的數(shù)據(jù),數(shù)據(jù)盤可以將這類大10的數(shù)據(jù)中的等于扇區(qū)的大小值的數(shù)據(jù)直接寫入,以此加快寫入的速度,減少因硬盤的磁頭頻繁讀寫帶來的變化,提升硬盤的使用壽命。存儲設(shè)備這種同時(shí)利用SSD和數(shù)據(jù)盤存儲的結(jié)構(gòu)和存儲方式可以加快扇區(qū)提升后的存儲設(shè)備寫入速度,進(jìn)而提升存儲設(shè)備的性能。
[0063]圖2為本發(fā)明提供的存儲設(shè)備寫入方法另一個(gè)實(shí)施例的流程圖,本實(shí)施例以存儲設(shè)備為硬盤舉例說明,但不以此做任何限定。如圖2所示,該方法包括:
[0064]S201、硬盤按照第一 RAID的存儲空間大小值及存儲塊的大小值確定屬于第一RAID的存儲塊個(gè)數(shù)為Μ個(gè),并按照第二 RAID的存儲空間大小值及存儲塊的大小值確定屬于第二 RAID的存儲塊個(gè)數(shù)為N個(gè)。
[0065]進(jìn)一步地,通過計(jì)算存儲塊個(gè)數(shù)使得標(biāo)記為屬于第一 RAID的存儲塊個(gè)數(shù)不大于M,標(biāo)記為屬于第二 RAID的存儲塊個(gè)數(shù)不大于N。
[0066]其中,第一 RAID的存儲空間大小值根據(jù)至少一個(gè)SSD的容量確定,第二 RAID的存儲空間大小值根據(jù)總的數(shù)據(jù)盤的容量確定,存儲塊的大小值為一預(yù)設(shè)的定值,Μ、N為正整數(shù)。
[0067]舉例來說,第一 RAID的存儲空間大小值根據(jù)至少一個(gè)SSD的容量確定可以是根據(jù)RAID級別來確定RAID組的空間大小。如SSD是組成RAID10級別的,所以,這里raid組的容量應(yīng)該是32GB,2塊盤中,有1塊盤是用來做數(shù)據(jù)保護(hù)的,也就是說2個(gè)SSD盤上的數(shù)據(jù)。
[0068]并按照第二 RAID的存儲空間大小值及存儲塊的大小值確定可以是根據(jù)數(shù)據(jù)盤的個(gè)數(shù)和所在的RAID級別確定,主要是因?yàn)榇鎯υO(shè)備的最終容量是與數(shù)據(jù)盤的個(gè)數(shù)及RAID組的級別有關(guān)系的。如第二 RAID的總?cè)萘康扔诳偟臄?shù)據(jù)盤的容量之和:如果RAID組級別是RAID10,則等于數(shù)據(jù)盤的容量乘以鏡像組個(gè)數(shù);如果RAID組級別是RAID3或RAID5,則等于成員盤個(gè)數(shù)減去1,然后再乘以每個(gè)盤的容量;如果RAID組級別是RAID6,則等于成員數(shù)據(jù)盤個(gè)數(shù)減去2,乘以每個(gè)盤的容量。由于每個(gè)數(shù)據(jù)盤的容量不同,因此在乘以數(shù)據(jù)盤的容量的時(shí)候,按構(gòu)成RAID組中的所有盤中容量最小的那個(gè)盤的容量為準(zhǔn)進(jìn)行計(jì)算。
[0069]如,根據(jù)上述計(jì)算得到第一 RAID的存儲空間大小值為32GB,第二 RAID的存儲空間大小值為128GB,且存儲塊的大小值為一預(yù)設(shè)的定值,如64M,則可以確定屬于第一 RAID的存儲塊個(gè)數(shù)M=512,屬于第二 RAID的存儲塊個(gè)數(shù)N=2048。
[0070]也就是說,后續(xù)對未標(biāo)記的存儲塊進(jìn)行標(biāo)記時(shí)要以屬于第一 RAID的存儲塊個(gè)數(shù)不大于512個(gè),以屬于第二 RAID的存儲塊個(gè)數(shù)不大于2048為標(biāo)準(zhǔn)進(jìn)行。如,第一 RAID的存儲塊利用一個(gè)標(biāo)志位標(biāo)記為1,第二 RAID的存儲塊利用一個(gè)標(biāo)志位標(biāo)記為0,則若標(biāo)記為1的存儲塊個(gè)數(shù)已經(jīng)等于512,則未標(biāo)記的其他存儲塊不再標(biāo)記為1,同理,若標(biāo)記為0的存儲塊個(gè)數(shù)已經(jīng)等于2048,則未標(biāo)記的其他存儲塊不再標(biāo)記為0。
[0071]需要說明的是,上述SSD和數(shù)據(jù)盤的容量僅用于舉例說明,存儲塊的大小值和標(biāo)記方式也均為舉例說明,不以此做任何限定,其他數(shù)值和標(biāo)記方式均在保護(hù)范圍之內(nèi)。
[0072]S202、硬盤若確定Μ個(gè)屬于第一 RAID的存儲塊被完全占用,則將屬于第一 RAID的存儲塊中的數(shù)據(jù)全部轉(zhuǎn)存到第二 RAID的存儲塊中,并清空占用Μ個(gè)屬于第一 RAID的存儲塊中的所有數(shù)據(jù)。
[0073]需要說明的是,如果512個(gè)屬于第一 RAID的存儲塊被完全占用,即每個(gè)存儲塊都裝滿了數(shù)據(jù),而硬盤中還存在空置的存儲塊和標(biāo)記為屬于第二 RAID的但未被完全占用的存儲塊,那么硬盤可以在空閑時(shí)間,即不讀取和寫入任何數(shù)據(jù)的時(shí)候,將第一 RAID的存儲塊中的數(shù)據(jù)全部轉(zhuǎn)存到第二 RAID的存儲塊或空置的存儲塊中,轉(zhuǎn)入空置的存儲塊后需將空置的存儲塊標(biāo)記為屬于第二 RAID。
[0074]S203、硬盤獲取待寫入的數(shù)據(jù)的屬性。
[0075]需要說明的是,獲得是屬性可以是該數(shù)據(jù)為小10或者大10數(shù)據(jù),在上述實(shí)施例已經(jīng)描述,在此不再贅述。
[0076]S204、硬盤若根據(jù)待寫入的數(shù)據(jù)的屬性確定數(shù)據(jù)為第一數(shù)據(jù),執(zhí)行步驟S205;若根據(jù)待寫入的數(shù)據(jù)的屬性確定數(shù)據(jù)為第二數(shù)據(jù),執(zhí)行步驟S208。
[0077]S205、硬盤確定第一數(shù)據(jù)需寫入屬于第一 RAID的存儲塊。
[0078]進(jìn)一步地,硬盤可以利用SSD快速響應(yīng)的特性完成步驟S205?S207。[0079]S206、硬盤根據(jù)預(yù)設(shè)表項(xiàng)索引所有的存儲塊,獲取所有標(biāo)記為屬于第一 RAID的存儲塊的地址以及所有未標(biāo)記的存儲塊的地址。
[0080]S207、硬盤將第一數(shù)據(jù)按照存儲塊的地址寫入對應(yīng)的存儲塊中。
[0081]舉例來說,圖3為硬盤組成原理的結(jié)構(gòu)示意圖,如圖3所示,硬盤的總存儲空間可以是SSD和數(shù)據(jù)盤一起構(gòu)成,SSD和數(shù)據(jù)盤處于底層來實(shí)現(xiàn)存儲功能,而不再像現(xiàn)有技術(shù)那樣由SSD提供緩存,由數(shù)據(jù)盤存儲。如可以由2個(gè)SSD組成一個(gè)第一 RAID,然后由3個(gè)數(shù)據(jù)盤組成第二 RAID。硬盤可以對第一 RAID和第二 RAID統(tǒng)一編址,區(qū)分用戶需寫入的數(shù)據(jù)的屬性,即數(shù)據(jù)的大小值,當(dāng)數(shù)據(jù)的大小值小于扇區(qū),為小10數(shù)據(jù)時(shí),對應(yīng)第一 RAID的地址就可以將小10數(shù)據(jù)寫入SSD,當(dāng)為大于或等于扇區(qū)的大小值的數(shù)據(jù)時(shí),對應(yīng)第二 RAID的地址就可以將這類較大的數(shù)據(jù)寫入數(shù)據(jù)盤。
[0082]表1為預(yù)設(shè)表項(xiàng),硬盤中存在兩層存儲塊地址(Lba,Logical Block Address),一個(gè)是對應(yīng)于真實(shí)的存儲空間的邏輯單元號(Logical Unit Numbe,LUN),每一個(gè)真實(shí)Lba即LUN的Lba為64M,另一個(gè)是虛擬的Lba,記作塊BLOCK的Lba。如表1所示,硬盤將SSD與數(shù)據(jù)盤組成的總存儲空間映射給LUN的Lba和BLOCK的Lba,并對LUN的Lba進(jìn)行編號,該LUN的Lba與BLOCK的Lba可以用地址相互唯一確定。這個(gè)表項(xiàng)中還可以標(biāo)記每一個(gè)LUN的Lba是屬于第一 RAID還是第二 RAID,如可以利用上述舉例中的標(biāo)志位為0或1標(biāo)記為屬于第一 RAID還是第二 RAID。
[0083]當(dāng)待寫入的數(shù)據(jù)為第一數(shù)據(jù)時(shí),首先去尋找是否有屬于第一 RAID的64M大小的存儲塊用來存儲該第一數(shù)據(jù),如果有,再判斷一下該存儲塊是否存滿;如果存滿了,則去獲取其他未存滿的屬于第一 RAID的存儲塊,若所有屬于第一 RAID的存儲塊均存滿,則尋找空閑的64M大小的存儲塊,并將該存儲塊標(biāo)記為屬于第一 RAID。進(jìn)一步地,SSD組成的RAID級別可以不同,如,多塊SSD組成RAID3或RAID6等。
【權(quán)利要求】
1.一種存儲設(shè)備寫入方法,其特征在于,包括:獲取待寫入的數(shù)據(jù)的屬性;若根據(jù)所述待寫入的數(shù)據(jù)的屬性確定所述數(shù)據(jù)為第一數(shù)據(jù),則利用固態(tài)硬盤SSD快速響應(yīng)的特性將所述第一數(shù)據(jù)寫入屬于第一 RAID的存儲塊中,所述第一 RAID的總存儲空間大小值等于至少一個(gè)SSD的容量;若根據(jù)所述待寫入的數(shù)據(jù)的屬性確定所述數(shù)據(jù)為第二數(shù)據(jù),則將所述第二數(shù)據(jù)寫入屬于第二 RAID的存儲塊中,所述第二 RAID的總存儲空間大小值等于總的數(shù)據(jù)盤的容量之和。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取待寫入的數(shù)據(jù)的屬性之前,還包括:按照所述第一 RAID的存儲空間大小值及所述存儲塊的大小值確定屬于所述第一 RAID的存儲塊個(gè)數(shù)為Μ個(gè),并按照所述第二 RAID的存儲空間大小值及所述存儲塊的大小值確定屬于所述第二 RAID的存儲塊個(gè)數(shù)為N個(gè),以使得標(biāo)記為屬于第一 RAID的存儲塊個(gè)數(shù)不大于M,標(biāo)記為屬于第二 RAID的存儲塊個(gè)數(shù)不大于N ;其中,所述第一 RAID的存儲空間大小值根據(jù)所述至少一個(gè)SSD的容量確定,所述第二RAID的存儲空間大小值根據(jù)所述總的數(shù)據(jù)盤的容量確定,所述存儲塊的大小值為一預(yù)設(shè)的定值,所述M、N為正整數(shù)。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述將所述第一數(shù)據(jù)寫入屬于第一RAID的存儲塊中包括:確定所述第一數(shù)據(jù)需寫入屬于第一 RAID的`存儲塊;根據(jù)預(yù)設(shè)表項(xiàng)索引所有的存儲塊,獲取所有標(biāo)記為屬于第一 RAID的存儲塊的地址以及所有未標(biāo)記的存儲塊的地址;將所述第一數(shù)據(jù)按照所述存儲塊的地址寫入對應(yīng)的存儲塊中。
4.根據(jù)權(quán)利要求1~3任一項(xiàng)所述的方法,其特征在于,所述將所述第二數(shù)據(jù)寫入屬于第二 RAID的存儲塊中包括:確定所述第二數(shù)據(jù)需寫入屬于第二 RAID的存儲塊;根據(jù)預(yù)設(shè)表項(xiàng)索引所有的存儲塊,獲取所有標(biāo)記為屬于第二 RAID的存儲塊的地址以及所有未標(biāo)記的存儲塊的地址;將所述第二數(shù)據(jù)按照所述存儲塊的地址寫入對應(yīng)的存儲塊中。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)表項(xiàng)索引所有的存儲塊,獲取所有標(biāo)記為屬于第一 RAID的存儲塊的地址以及所有未標(biāo)記的存儲塊的地址;將所述第一數(shù)據(jù)按照所述存儲塊的地址寫入對應(yīng)的存儲塊中包括:根據(jù)預(yù)設(shè)表項(xiàng)索引所有的存儲塊,將未標(biāo)記的存儲塊作為第一存儲塊,將所有標(biāo)記為屬于第一 RAID的存儲塊中未被完全占用的存儲塊確定為第二存儲塊;若存在第二存儲塊,獲取所述第二存儲塊的地址,將所述第一數(shù)據(jù)按照第二存儲塊的地址寫入第二存儲塊中;若不存在第二存儲塊,則獲取所述第一存儲塊的地址,將所述第一數(shù)據(jù)按照第一存儲塊的地址寫入第一存儲塊中,并標(biāo)記所述第一存儲塊屬于第一 RAID。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)表項(xiàng)索引所有的存儲塊,獲取所有標(biāo)記為屬于第二 RAID的存儲塊的地址以及所有未標(biāo)記的存儲塊的地址;將所述第二數(shù)據(jù)按照所述存儲塊的地址寫入對應(yīng)的存儲塊中包括:根據(jù)預(yù)設(shè)表項(xiàng)索引所有的存儲塊,將未標(biāo)記的存儲塊作為第一存儲塊,將所有標(biāo)記為屬于第二 RAID的存儲塊中未被完全占用的存儲塊確定為第三存儲塊;若存在第三存儲塊,獲取所述第三存儲塊的地址,將所述第二數(shù)據(jù)按照第三存儲塊的地址寫入第三存儲塊中;若不存在第三存儲塊,則獲取所述第一存儲塊的地址,將所述第二數(shù)據(jù)按照第一存儲塊的地址寫入第一存儲塊中,并標(biāo)記所述第一存儲塊屬于第二 RAID。
7.根據(jù)權(quán)利要求1~6任一項(xiàng)所述的方法,其特征在于,所述獲取待寫入的數(shù)據(jù)占用空間的大小值之前,還包括:若屬于第一 RAID的存儲塊被完全占用,則將所述被完全占用的屬于第一 RAID的存儲塊中的數(shù)據(jù)轉(zhuǎn)存到第二 RAID的存儲塊中。
8.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述按照所述第一RAID的存儲空間大小值及所述存儲塊的大小值確定屬于所述第一 RAID的存儲塊個(gè)數(shù)為Μ個(gè),并按照所述第二RAID的存儲空間大小值及所述存儲塊的大小值確定屬于所述第二 RAID的存儲塊個(gè)數(shù)為N個(gè)之后,還包括:若Μ個(gè)屬于第一 RAID的存儲塊被完全占用,則將所述屬于第一 RAID的存儲塊中的數(shù)據(jù)全部轉(zhuǎn)存到第二 RAID的存儲塊中;清空占用所述 Μ個(gè)屬于第一 RAID的存儲塊中的所有數(shù)據(jù)。
9.一種存儲設(shè)備,其特征在于,包括:獲取單元,用于獲取待寫入的數(shù)據(jù)的屬性;寫入控制單元,用于若根據(jù)所述待寫入的數(shù)據(jù)的屬性確定所述數(shù)據(jù)為第一數(shù)據(jù),則利用固態(tài)硬盤SSD快速響應(yīng)的特性將所述第一數(shù)據(jù)寫入屬于第一 RAID的存儲塊中,所述第一RAID的總存儲空間大小值等于至少一個(gè)SSD的容量;若根據(jù)所述待寫入的數(shù)據(jù)的屬性確定所述數(shù)據(jù)為第二數(shù)據(jù),則將所述第二數(shù)據(jù)寫入屬于第二 RAID的存儲塊中,所述第二 RAID的總存儲空間大小值等于總的數(shù)據(jù)盤的容量之和。
10.根據(jù)權(quán)利要求9所述的存儲設(shè)備,其特征在于,還包括:處理單元,用于按照所述第一 RAID的存儲空間大小值及所述存儲塊的大小值確定屬于所述第一 RAID的存儲塊個(gè)數(shù)為Μ個(gè),并按照所述第二 RAID的存儲空間大小值及所述存儲塊的大小值確定屬于所述第二 RAID的存儲塊個(gè)數(shù)為N個(gè),以使得標(biāo)記為屬于第一 RAID的存儲塊個(gè)數(shù)不大于M,標(biāo)記為屬于第二 RAID的存儲塊個(gè)數(shù)不大于N ;其中,所述第一 RAID的存儲空間大小值根據(jù)所述至少一個(gè)SSD的容量確定,所述第二RAID的存儲空間大小值根據(jù)所述總的數(shù)據(jù)盤的容量確定,所述存儲塊的大小值為一預(yù)設(shè)的定值,所述M、N為正整數(shù)。
11.根據(jù)權(quán)利要求9或10所述的存儲設(shè)備,其特征在于,所述寫入控制單元包括:確定模塊,用于確定所述第一數(shù)據(jù)需寫入屬于第一 RAID的存儲塊;獲取模塊,用于根據(jù)預(yù)設(shè)表項(xiàng)索引所有的存儲塊,獲取所有標(biāo)記為屬于第一 RAID的存儲塊的地址以及所有未標(biāo)記的存儲塊的地址;寫入模塊,用于將所述第一數(shù)據(jù)按照所述存儲塊的地址寫入對應(yīng)的存儲塊中。
12.根據(jù)權(quán)利要求9~11任一項(xiàng)所述的存儲設(shè)備,其特征在于,所述確定模塊,還用于確定所述第二數(shù)據(jù)需寫入屬于第二 RAID的存儲塊;所述獲取模塊,還用于根據(jù)預(yù)設(shè)表項(xiàng)索引所有的存儲塊,獲取所有標(biāo)記為屬于第二RAID的存儲塊的地址以及所有未標(biāo)記的存儲塊的地址;所述寫入模塊,還用于將所述第二數(shù)據(jù)按照所述存儲塊的地址寫入對應(yīng)的存儲塊中。
13.根據(jù)權(quán)利要求11所述的存儲設(shè)備,其特征在于,所述確定模塊,具體用于根據(jù)預(yù)設(shè)表項(xiàng)索引所有的存儲塊,將未標(biāo)記的存儲塊作為第一存儲塊,將所有標(biāo)記為屬于第一 RAID的存儲塊中未被完全占用的存儲塊確定為第二存儲塊;所述獲取模塊,具體用于若存在第二存儲塊,獲取所述第二存儲塊的地址,所述寫入模塊,具體用于將所述第一數(shù)據(jù)按照第二存儲塊的地址寫入第二存儲塊中;所述獲取模塊,具體用于若不存在第二存儲塊,則獲取所述第一存儲塊的地址,所述寫入模塊,具體用于將所述第一數(shù)據(jù)按照第一存儲塊的地址寫入第一存儲塊中,并標(biāo)記所述第一存儲塊屬于第一 RAID。
14.根據(jù)權(quán)利要求12所述的存儲設(shè)備,其特征在于,所述確定模塊,具體用于根據(jù)預(yù)設(shè)表項(xiàng)索引所有的存儲塊,將未標(biāo)記的存儲塊作為第一存儲塊,將所有標(biāo)記為屬于第二 RAID的存儲塊中未被完全占用的存儲塊確定為第三存儲塊;所述獲取模塊,具體用于若存在第三存儲塊,獲取所述第三存儲塊的地址,所述寫入模塊,具體用于將所述 第二數(shù)據(jù)按照第三存儲塊的地址寫入第三存儲塊中;所述獲取模塊,具體用于若不存在第三存儲塊,則獲取所述第一存儲塊的地址,所述寫入模塊,將所述第二數(shù)據(jù)按照第一存儲塊的地址寫入第一存儲塊中,并標(biāo)記所述第一存儲塊屬于第二 RAID。
15.根據(jù)權(quán)利要求9~14任一項(xiàng)所述的存儲設(shè)備,其特征在于,所述寫入控制單元,還用于若屬于第一 RAID的存儲塊被完全占用,則將所述被完全占用的屬于第一 RAID的存儲塊中的數(shù)據(jù)轉(zhuǎn)存到第二 RAID的存儲塊中。
16.根據(jù)權(quán)利要求10所述的存儲設(shè)備,其特征在于,所述寫入控制單元,還用于若所述處理單元確定的Μ個(gè)屬于第一 RAID的存儲塊被完全占用,則將所述屬于第一 RAID的存儲塊中的數(shù)據(jù)全部轉(zhuǎn)存到第二 RAID的存儲塊中,并清空占用所述Μ個(gè)屬于第一 RAID的存儲塊中的所有數(shù)據(jù)。
【文檔編號】G06F12/02GK103714010SQ201310724721
【公開日】2014年4月9日 申請日期:2013年12月24日 優(yōu)先權(quán)日:2013年12月24日
【發(fā)明者】郭利新, 王瑜, 寇俊楠 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1