專(zhuān)利名稱(chēng)::一種存儲(chǔ)設(shè)備的制作方法
技術(shù)領(lǐng)域:
:本實(shí)用新型涉及數(shù)據(jù)存儲(chǔ)領(lǐng)域,尤其涉及一種存儲(chǔ)設(shè)備。
背景技術(shù):
:在航天領(lǐng)域中,進(jìn)行系統(tǒng)集成測(cè)試時(shí),存儲(chǔ)的數(shù)據(jù)容量很大且存儲(chǔ)時(shí)要求很快的速度。目前,常以閃存(Flash)作為存儲(chǔ)基礎(chǔ),涉及專(zhuān)門(mén)的硬件存儲(chǔ)設(shè)備,以實(shí)現(xiàn)大容量高速數(shù)據(jù)的存儲(chǔ)和管理。這樣的存儲(chǔ)設(shè)備為集成設(shè)備,在應(yīng)用過(guò)程中,當(dāng)需要對(duì)容量進(jìn)行擴(kuò)充時(shí),因?yàn)椴灰自谠鎯?chǔ)設(shè)備基礎(chǔ)上進(jìn)行二次開(kāi)發(fā),則需要重新購(gòu)買(mǎi)存儲(chǔ)設(shè)備,這加大了存儲(chǔ)設(shè)備的成本。為了能夠?qū)Υ鎯?chǔ)設(shè)備進(jìn)行二次開(kāi)發(fā),減小存儲(chǔ)設(shè)備的成本,在除航天領(lǐng)域外的其他領(lǐng)域,通常采用獨(dú)立》茲盤(pán)冗余陣列(RAID,RedundantArrayofIndependentDisks)卡、至少兩塊,茲盤(pán)以及控制模塊構(gòu)成存儲(chǔ)設(shè)備。RAID卡上有插口,將所述至少兩塊》茲盤(pán)通過(guò)該插口插入RAID卡上,插入RAID卡的》茲盤(pán)可以部分作為寫(xiě)入塊;茲盤(pán),部分作為備份,茲盤(pán),其中,寫(xiě)入塊》茲盤(pán)用于存儲(chǔ)寫(xiě)入的數(shù)據(jù),備份磁盤(pán)用于備份寫(xiě)入塊磁盤(pán)中的數(shù)據(jù)。進(jìn)行數(shù)據(jù)寫(xiě)入時(shí),控制模塊隨機(jī)選取分頁(yè)大小,將需要存儲(chǔ)的數(shù)據(jù)劃分為等于分頁(yè)大小的數(shù)據(jù)塊,將劃分后的數(shù)據(jù)塊發(fā)送給RAID卡,RAID卡接收控制模塊發(fā)送的數(shù)據(jù)塊,將數(shù)據(jù)塊寫(xiě)入插在RAID卡中的磁盤(pán)中。分頁(yè)大小的取值一般為2n,n為自然數(shù)。需要說(shuō)明的是,磁盤(pán)在寫(xiě)入之前都存有數(shù)據(jù),這里將磁盤(pán)寫(xiě)入之前存有的數(shù)據(jù)稱(chēng)為現(xiàn)有數(shù)據(jù)。插入RAID卡的各個(gè)磁盤(pán)被劃分為相同數(shù)目的條塊(Strip),每個(gè)磁盤(pán)劃分為相同的層數(shù),每層包括各個(gè)磁盤(pán)的一個(gè)條塊,進(jìn)行數(shù)據(jù)寫(xiě)入時(shí),RAID卡以數(shù)據(jù)塊為單位將數(shù)據(jù)填入各層條塊。如果該層條塊剛好被覆蓋完,覆蓋完了該層條塊的現(xiàn)有數(shù)據(jù),則將寫(xiě)入該層條塊的數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算,將計(jì)算的結(jié)果填入到備份磁盤(pán)中。如果數(shù)據(jù)塊小于一層條塊的容量,使該層條塊未覆蓋完,未覆蓋完該層條塊的現(xiàn)有數(shù)據(jù),則讀取該層條塊未覆蓋完部分的現(xiàn)有數(shù)據(jù),將該層條塊未覆蓋完部分的現(xiàn)有數(shù)據(jù)與寫(xiě)入該層條塊的數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算,將計(jì)算的結(jié)果填入到備份磁盤(pán)中,為了便于說(shuō)明,這里將該層條塊的填充部分用A部分表示,對(duì)該層條塊未覆蓋完部分用B部分表示;進(jìn)行下次數(shù)據(jù)寫(xiě)入時(shí),繼續(xù)對(duì)該層條塊B部分進(jìn)行填充,這里假設(shè)寫(xiě)入B部分的數(shù)據(jù)為C部分,則讀取該層條塊中除C部分外的其他部分的現(xiàn)有數(shù)據(jù),將寫(xiě)入C部分的數(shù)據(jù)與其他部分的現(xiàn)有數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算,將計(jì)算的結(jié)果填入到備份磁盤(pán)中,依此類(lèi)推,直至該層條塊被覆蓋完??梢?jiàn),進(jìn)行數(shù)據(jù)寫(xiě)入時(shí),對(duì)于一層條塊剛好被一次覆蓋完的情況,進(jìn)行一次校驗(yàn)和計(jì)算即可,無(wú)須讀取未覆蓋完部分的現(xiàn)有數(shù)據(jù)再次進(jìn)行校驗(yàn)和計(jì)算。而對(duì)于未能一次未覆蓋完一層條塊的情況,需要至少一次讀取未覆蓋完部分的現(xiàn)有數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算,這導(dǎo)致存儲(chǔ)速度慢。綜上,采用現(xiàn)有的存儲(chǔ)設(shè)備,由于分頁(yè)大小隨機(jī)選擇,如果數(shù)據(jù)塊容量選擇過(guò)小,將導(dǎo)致存儲(chǔ)速度過(guò)慢。
實(shí)用新型內(nèi)容本實(shí)用新型提供一種存儲(chǔ)設(shè)備,該存儲(chǔ)設(shè)備能夠提高存儲(chǔ)速度。一種存儲(chǔ)設(shè)備,該存儲(chǔ)設(shè)備包括RAID卡、控制模塊和至少兩塊磁盤(pán);所述至少兩塊》茲盤(pán)插入RAID卡,所述控制模塊,獲取分頁(yè)的最小合理值,選取大于或等于所述最小合理值的數(shù)值作為分頁(yè)大??;控制模塊接收數(shù)據(jù),將數(shù)據(jù)劃分為等于所述分頁(yè)大小的數(shù)據(jù)塊,將劃分后的數(shù)據(jù)塊發(fā)送給RAID卡;所述RAID卡,接收控制模塊發(fā)送的數(shù)據(jù)塊,寫(xiě)入插在RAID卡中的磁盤(pán)。從上述方案可以看出,本實(shí)用新型的控制模塊獲取分頁(yè)的最小合理值,選取大于或等于所述最小合理值的數(shù)值作為分頁(yè)大?。豢刂颇K接收數(shù)據(jù),將數(shù)據(jù)劃分為等于所述分頁(yè)大小的數(shù)據(jù)塊,將劃分后的數(shù)據(jù)塊發(fā)送給RAID卡。確定了最小合理值之后,可以使RAID卡劃分的數(shù)據(jù)塊容量不至于過(guò)小,提高了存儲(chǔ)速度。'圖1為本實(shí)用新型存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖。具體實(shí)施方式為使本實(shí)用新型的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)施例和附圖,對(duì)本實(shí)用新型進(jìn)一步詳細(xì)說(shuō)明。參見(jiàn)圖1,為本使用新型存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖,該存儲(chǔ)設(shè)備包括RAID卡、控制模塊和至少兩塊磁盤(pán);所述至少兩塊》茲盤(pán)插入RAID卡,所述控制模塊,獲取分頁(yè)的最小合理值,選取大于或等于所述最小合理值的數(shù)值作為分頁(yè)大小;控制模塊接收數(shù)據(jù),將數(shù)據(jù)劃分為等于所述分頁(yè)大d、的數(shù)據(jù)塊,將劃分后的數(shù)據(jù)塊發(fā)送給RAID卡;所述RAID卡,接收控制模塊發(fā)送的數(shù)據(jù)塊,寫(xiě)入插在RAID卡中的磁盤(pán)??刂颇K獲取分頁(yè)的最小合理值,在進(jìn)行數(shù)據(jù)存儲(chǔ)時(shí),選取大于或等于所述最小合理值的數(shù)值作為分頁(yè)大小,這樣,避免了現(xiàn)有技術(shù)中因?yàn)殡S機(jī)選取分頁(yè)大小使劃分的數(shù)據(jù)塊容量過(guò)小,而造成存儲(chǔ)速度慢的問(wèn)題??蛇x地,控制模塊包括最小合理值獲取模塊,用于將磁盤(pán)的條塊大小與寫(xiě)入塊磁盤(pán)的數(shù)目相乘,將得到的乘積作為所述最小合理值,所述寫(xiě)入塊磁盤(pán)的數(shù)目為插入RAID卡的磁盤(pán)總塊數(shù)減去插入RAID卡的磁盤(pán)中用于備份的磁盤(pán)塊數(shù)后得到的值。最小合理值獲取模塊獲取的所述最小合理值可以是自身計(jì)算后確定的;也可以是從外部直接接收到的,這種情況下,可通過(guò)其他計(jì)算設(shè)備計(jì)算出所述最小合理值后傳送給該最小合理值獲取模塊,也可以是人為計(jì)算后輸入給該最小合理值獲取模塊的。根據(jù)最小合理值選取分頁(yè)大小進(jìn)行數(shù)據(jù)存儲(chǔ)的方案可提高存儲(chǔ)速度。下面舉例進(jìn)行說(shuō)明。假設(shè)將5塊磁盤(pán)插入RAID卡后構(gòu)成4+1模式,即4塊磁盤(pán)作為寫(xiě)入塊》茲盤(pán),包括。磁盤(pán)1、-磁盤(pán)2、》茲盤(pán)3和》茲盤(pán)4,1塊石茲盤(pán)作為備份f茲盤(pán),為磁盤(pán)5。分頁(yè)大小的取值一般為2n,n為自然數(shù)。這里假設(shè)每塊磁盤(pán)劃分后的條塊容量都為4k,則最小合理值為4x4=16k。這里假設(shè)選取的分頁(yè)大小為16k。進(jìn)行數(shù)據(jù)寫(xiě)入時(shí),由于條塊的容量4k小于數(shù)據(jù)塊的容量16k,將一個(gè)數(shù)據(jù)塊同時(shí)填入磁盤(pán)1的一個(gè)條塊、磁盤(pán)2的一個(gè)條塊、磁盤(pán)3的一個(gè)條塊和》茲盤(pán)4的一個(gè)條塊中,剛好在^茲盤(pán)1、磁盤(pán)2、磁盤(pán)3和磁盤(pán)4中分別覆蓋完1個(gè)條塊,即剛好覆蓋完一層條塊,并且,將寫(xiě)入各條塊的數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算,將計(jì)算的結(jié)果填入到備份磁盤(pán)中,然后,再同時(shí)進(jìn)行》茲盤(pán)1、》茲盤(pán)2、i茲盤(pán)3和i茲盤(pán)4的其他條塊的填充。采用這種填充方式,不存在對(duì)各層條塊未覆蓋完部分進(jìn)行讀取并計(jì)算校驗(yàn)和的過(guò)程,從而加快了數(shù)據(jù)存儲(chǔ)速度。根據(jù)實(shí)際應(yīng)用,可對(duì)本實(shí)用新型存儲(chǔ)設(shè)備的存儲(chǔ)容量進(jìn)行調(diào)整,例如,當(dāng)需要增加存儲(chǔ)容量時(shí),可在RAID卡上增加插入的磁盤(pán),其操作方便,實(shí)現(xiàn)了在原存儲(chǔ)設(shè)備基礎(chǔ)上進(jìn)行二次開(kāi)發(fā)。本實(shí)用新型提供的存儲(chǔ)設(shè)備不僅可以應(yīng)用于航天領(lǐng)域,還可以應(yīng)用于其他任何需要進(jìn)行數(shù)據(jù)存儲(chǔ)的場(chǎng)景。下面通過(guò)一個(gè)具體實(shí)例對(duì)本實(shí)用新型的實(shí)施進(jìn)行:沈明,該實(shí)例的實(shí)現(xiàn)需要以下設(shè)備設(shè)備數(shù)量性能指標(biāo)PCl臺(tái)CPU:2.5GHZ及以上內(nèi)存DDR2667MHZ3G及以上RAID卡l塊支持RAID0-RAID5可支持8塊以上磁盤(pán)大容量的磁盤(pán)若干(5塊以上)500G以上SATA2接口標(biāo)準(zhǔn)服務(wù)器操作系統(tǒng)(以便支持大內(nèi)存)l套DBMSl套數(shù)據(jù)讀寫(xiě)應(yīng)用程序若干表一設(shè)備說(shuō)明上述設(shè)備中,PC、服務(wù)器操作系統(tǒng)和數(shù)據(jù)讀寫(xiě)應(yīng)用程序?yàn)檫M(jìn)行數(shù)據(jù)存儲(chǔ)的輔助設(shè)備,由上述設(shè)備可以組合成2+1模式的RAID卡,即將3塊磁盤(pán)插入RAID卡中,將其中2塊磁盤(pán)作為寫(xiě)入塊磁盤(pán),將另l塊磁盤(pán)作為備份磁盤(pán);也可以組合成4+1模式的RAID卡,將其中4塊磁盤(pán)作為寫(xiě)入塊磁盤(pán),將另1塊磁盤(pán)作為備份磁盤(pán)。數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS,DataBaseManagementSystem)對(duì)應(yīng)圖1中的控制模塊,DBMS獲取最小合理值,假設(shè)各個(gè)磁盤(pán)的條塊大小都為4k,則對(duì)于2+1模式的RAID卡,最小合理值為8k,對(duì)于4+1模式的RAID卡,最小合理值為16k。下面針對(duì)2+l模式的RAID卡和4+1模式的RAID卡,分別選取不同的分頁(yè)大小進(jìn)行測(cè)試,觀測(cè)各種情況下寫(xiě)入存儲(chǔ)設(shè)備的速度大小。測(cè)試時(shí),將存儲(chǔ)設(shè)備與PC相連,DBMS運(yùn)行于服務(wù)器操作系統(tǒng)上,并在服務(wù)器操作系統(tǒng)上運(yùn)行數(shù)據(jù)讀寫(xiě)應(yīng)用程序,通過(guò)讀寫(xiě)應(yīng)用程序?qū)⒏咚贁?shù)據(jù)寫(xiě)入存儲(chǔ)設(shè)備,實(shí)現(xiàn)大容量高速數(shù)據(jù)的存儲(chǔ)。表二為測(cè)得的2+1模式RAID卡的各參數(shù),表三為測(cè)得的4+l模式RAID卡的各參數(shù)。<table>tableseeoriginaldocumentpage8</column></row><table>表三4+1模式RAID卡的各參數(shù)由上述兩表中的寫(xiě)入速度平均值也可以看出,分頁(yè)大小為大于或等于最小合理值的寫(xiě)入速度平均值明顯大于分頁(yè)大小小于最小合理值的寫(xiě)入速度平均值。PC的配置可選用IntelPentiumD3.2GHZ;3.5GDDR2800MHZ。服務(wù)器操作系統(tǒng)的配置可選用WindowsServer2003EnterpeiseSP2。DBMS運(yùn)行時(shí)的實(shí)際性能如下表每次提交記錄數(shù)每秒寫(xiě)入的記錄數(shù)單條記錄大小(字節(jié))寫(xiě)入速度(MB/S)1350020486.81000620020481210006200409624表四DBMS運(yùn)行時(shí)的實(shí)際性能表根據(jù)表四可知,通過(guò)適當(dāng)增多每次提交記錄數(shù)可獲得較高的寫(xiě)入速度;而且單條記錄大小對(duì)DBMS的寫(xiě)入速度影響不大。24MB/S的寫(xiě)入速度已經(jīng)足以應(yīng)對(duì)大多數(shù)航天聯(lián)試的中低速應(yīng)用(此類(lèi)應(yīng)用大約每天能產(chǎn)生8G左右的實(shí)驗(yàn)數(shù)據(jù))。對(duì)于高速應(yīng)用,可通過(guò)增加插入RAID卡的磁盤(pán)數(shù)目,調(diào)整分頁(yè)大小,以及各類(lèi)DBMS特有的優(yōu)化手段來(lái)提高寫(xiě)入速度。應(yīng)該說(shuō),磁盤(pán)整理的寫(xiě)入速度是整個(gè)DBMS的極限。表三中測(cè)得的寫(xiě)入速度平均值229.1MB/S已經(jīng)基本滿足當(dāng)前航天應(yīng)用中的高速數(shù)據(jù)存儲(chǔ)要求,而且還留有相當(dāng)大的余量。本實(shí)用新型存儲(chǔ)設(shè)備的設(shè)計(jì)方案,在滿足高速大容量數(shù)據(jù)存儲(chǔ)和管理的基礎(chǔ)之上,壓縮了成本,提高了安全性和可靠性以及整體的可擴(kuò)展性,易于實(shí)施,易于維護(hù),易于升級(jí),可以勝任絕大多數(shù)和數(shù)據(jù)存儲(chǔ)相關(guān)的各類(lèi)應(yīng)用。DBMS可采用DB2V9Express實(shí)現(xiàn),下面為其具體實(shí)現(xiàn)的舉例9通過(guò)DB2V9的安裝包安裝數(shù)據(jù)庫(kù);設(shè)置DB2的分頁(yè)大小為磁盤(pán)陣列的最小合理值,例如可設(shè)置為16k;設(shè)置DB2獨(dú)占整個(gè)磁盤(pán)陣列,以保證其存儲(chǔ)性能;設(shè)置DB2獨(dú)占2G物理內(nèi)存(也可以更大),以保證其足夠的內(nèi)存空間;根據(jù)實(shí)際需求對(duì)DB2其它參數(shù)做相應(yīng)的設(shè)置;根據(jù)存儲(chǔ)需求,建立數(shù)據(jù)庫(kù)結(jié)構(gòu)。數(shù)據(jù)讀寫(xiě)應(yīng)用程序可選用ADO讀寫(xiě)數(shù)據(jù)庫(kù)。綜上,本實(shí)用新型具有以下有益效果成本低廉采用RAID卡和磁盤(pán)這樣的廉價(jià)通用設(shè)備。通用不限制具體的應(yīng)用場(chǎng)景,不限制被存儲(chǔ)數(shù)據(jù)的類(lèi)型。高可靠RAID和DBMS的使用保證了整個(gè)系統(tǒng)的安全可靠。RAID卡從硬件的角度針對(duì)可靠性有很多的優(yōu)化策略,如使用不間斷電源(UPS,UninterruptiblePowerSystem),使用更高的RAID等級(jí)(如RAID6)和使用Spare磁盤(pán)等一系列廉價(jià)和高度可操作的技術(shù)都能提高存儲(chǔ)的安全性和可靠性。易于維護(hù)和升級(jí)服務(wù)器操作系統(tǒng)和DBMS提供了完整的管理硬件和數(shù)據(jù)的解決方案,不用額外開(kāi)發(fā)硬件和軟件來(lái)維護(hù)和管理。以上所述的具體實(shí)施例,對(duì)本實(shí)用新型的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本實(shí)用新型的具體實(shí)施例而已,并不用于限定本實(shí)用新型的保護(hù)范圍,凡在本實(shí)用新型的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本實(shí)用新型的保護(hù)范圍之內(nèi)。權(quán)利要求1、一種存儲(chǔ)設(shè)備,其特征在于,該存儲(chǔ)設(shè)備包括獨(dú)立磁盤(pán)冗余陣列RAID卡、控制模塊和至少兩塊磁盤(pán);所述至少兩塊磁盤(pán)插入RAID卡,所述控制模塊,獲取分頁(yè)的最小合理值,選取大于或等于所述最小合理值的數(shù)值作為分頁(yè)大??;控制模塊接收數(shù)據(jù),將數(shù)據(jù)劃分為等于所述分頁(yè)大小的數(shù)據(jù)塊,將劃分后的數(shù)據(jù)塊發(fā)送給RAID卡;所述RAID卡,接收控制模塊發(fā)送的數(shù)據(jù)塊,寫(xiě)入插在RAID卡中的磁盤(pán)。2、如權(quán)利要求1所述的存儲(chǔ)設(shè)備,其特征在于,插入RAID卡的磁盤(pán)部分作為寫(xiě)入塊磁盤(pán),部分作為備份磁盤(pán),所述控制模塊包括最小合理值獲取模塊,用于將磁盤(pán)的條塊大小與寫(xiě)入塊磁盤(pán)的數(shù)目相乘,將得到的乘積作為所述最小合理值,所述寫(xiě)入塊^磁盤(pán)的數(shù)目為插入RAID卡的》茲盤(pán)總塊數(shù)減去插入RAID卡的磁盤(pán)中用于備份的磁盤(pán)塊數(shù)后得到的值。3、如要求1或2所述的存儲(chǔ)設(shè)備,其特征在于,所述控制模塊通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)現(xiàn)。4、如權(quán)利要求1或2所述的存儲(chǔ)設(shè)備,其特征在于,所述至少兩塊磁盤(pán)為5塊磁盤(pán),將5塊磁盤(pán)插入RAID卡構(gòu)成4+1模式,且磁盤(pán)的條塊大小為4k,則所述最小合理值為16k。專(zhuān)利摘要本實(shí)用新型公開(kāi)了一種存儲(chǔ)設(shè)備,該存儲(chǔ)設(shè)備包括獨(dú)立磁盤(pán)冗余陣列RAID卡、控制模塊和至少兩塊磁盤(pán);所述至少兩塊磁盤(pán)插入RAID卡,所述控制模塊,獲取分頁(yè)的最小合理值,選取大于或等于所述最小合理值的數(shù)值作為分頁(yè)大??;控制模塊接收數(shù)據(jù),將數(shù)據(jù)劃分為等于所述分頁(yè)大小的數(shù)據(jù)塊,將劃分后的數(shù)據(jù)塊發(fā)送給RAID卡;所述RAID卡,接收控制模塊發(fā)送的數(shù)據(jù)塊,寫(xiě)入插在RAID卡中的磁盤(pán)。本實(shí)用新型可以使傳送給RAID卡的數(shù)據(jù)塊容量不至于過(guò)小,提高了存儲(chǔ)速度。文檔編號(hào)G06F9/00GK201397674SQ20092010724公開(kāi)日2010年2月3日申請(qǐng)日期2009年4月21日優(yōu)先權(quán)日2009年4月21日發(fā)明者劉亞冰,謝安虎申請(qǐng)人:北京國(guó)科環(huán)宇空間技術(shù)有限公司