專利名稱:一種混合型二級存儲系統(tǒng)的實現(xiàn)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)領(lǐng)域,尤其涉及一種混合型二級存儲系統(tǒng)的實現(xiàn)方法及裝置。
背景技術(shù):
隨著社會經(jīng)濟(jì)的高速發(fā)展,能源供應(yīng)難以滿足發(fā)展需求,在開發(fā)新能源的同時,節(jié) 省能源,保護(hù)環(huán)境也成了全人類的重要任務(wù)。在引領(lǐng)信息時代的計算機(jī)領(lǐng)域,低功耗設(shè)計開 始倍受人們關(guān)注。在筆記本等使用電池的移動設(shè)備中,低功耗設(shè)計是延遲電池使用時間的 主要途徑。 近幾十年來,磁盤一直占據(jù)計算機(jī)二級存儲設(shè)備的主要地位,但是磁盤的機(jī)械特 性導(dǎo)致它有較大的讀寫延遲,也使其成為電池能量的主要消耗者。為改善磁盤的讀寫延遲, 人們提出了增大系統(tǒng)內(nèi)存的方案,該方案可以降低磁盤訪問次數(shù),從而降低系統(tǒng)的1/0訪 問延遲,但是常用的內(nèi)存設(shè)備DRAM的功耗也比較大。 Flash(閃存)則以其低功耗、非易失性和抗震動性等特點,得到廣泛關(guān)注。隨著 半導(dǎo)體工藝的不斷進(jìn)步,F(xiàn)lash的可靠性越來越高,容量也逐漸增大,被廣泛地應(yīng)用到嵌入 式和移動式設(shè)備中。但是現(xiàn)階段可用的Flash設(shè)備,容量越大其價格也越高,其單位存儲 的價格仍然無法與磁盤匹敵,用Flash作為二級存儲系統(tǒng)的主要設(shè)備在價格上顯然沒有優(yōu) 勢。于是,實現(xiàn)低成本、高性能、低功耗的二級存儲系統(tǒng)成為研究的熱點。價格、容量和性能 等因素之間的權(quán)衡問題觸發(fā)了很多新的存儲系統(tǒng)設(shè)計方案。很多研究者提出用Flash作數(shù) 據(jù)緩存,作為DRAM內(nèi)存的補充,但是這種方案,并不能有效降低磁盤的訪問次數(shù),當(dāng)緩存失 效或有將內(nèi)存緩存與磁盤數(shù)據(jù)進(jìn)行同步操作時還是會有較多的磁盤訪問。也有研究者提出 將Flash作為與磁盤并列二級存儲設(shè)備,這種方法也沒能有效降低磁盤的訪問次數(shù),并且 在Flash與磁盤之間存在文件的反復(fù)搬移問題。 計算機(jī)系統(tǒng)中傳統(tǒng)的一二級存儲系統(tǒng)主要是由DRAM內(nèi)存和磁盤組成,其結(jié)構(gòu)如 圖1所示。其中占據(jù)二級存儲主要地位的磁盤因其機(jī)械特性具有較大的I/O延遲,同時耗 能巨大。Flash問世后,則以其低功耗、非易失性和抗震動性等特點,得到廣泛關(guān)注。但是 由于大容量的Flash價格很高,容量有限,現(xiàn)階段還不適合取代磁盤作為二級存儲設(shè)備。于 是以低成本實現(xiàn)低功耗、高性能的二級存儲系統(tǒng)的需求觸發(fā)了多種存儲系統(tǒng)設(shè)計方案的誕 生。 很多研究者提出用Flash作數(shù)據(jù)緩存,作為DRAM內(nèi)存的補充,其組成結(jié)構(gòu)如圖2 所示。由于Flash的容量較DRAM來說比較大,這種方案,可以一定程度地降低磁盤的訪問 次數(shù),但由于所有的文件訪問操作還是在磁盤上進(jìn)行,節(jié)能效果和文件訪問性能提升效果 并不明顯。另外,另一種將Flash作為與磁盤并列二級存儲設(shè)備的方案被提出,其組成結(jié)構(gòu) 圖如圖3所示。這種結(jié)構(gòu)的典型機(jī)制中,文件是按讀寫訪問的頻繁度來分配的。將經(jīng)常讀 的文件存放在Flash中,經(jīng)常寫的文件存放在磁盤中。這種結(jié)構(gòu)中Flash上保存的文件不 在磁盤中保留其副本。隨著文件的讀寫頻繁度的改變,F(xiàn)lash與磁盤之間便存在著頻繁的 文件的搬移,內(nèi)存DRAM既訪問Flash也訪問磁盤,這樣磁盤的訪問次數(shù)也不能有效降低。
發(fā)明內(nèi)容
為了解決上述的技術(shù)問題,提供了一種混合型二級存儲系統(tǒng)的實現(xiàn)方法及裝置, 其目的在于,有效降低二級存儲系統(tǒng)能耗,并能夠改善系統(tǒng)的I/O訪問時間。
本發(fā)明提供了一種混合型二級存儲系統(tǒng)的實現(xiàn)方法,混合型二級存儲系統(tǒng)包括一 級存儲和二級存儲;其中內(nèi)存作為一級存儲,磁盤和閃存作為二級存儲,閃存作為磁盤的文 件級緩存; 該實現(xiàn)方法包括 步驟1,文件默認(rèn)存儲在磁盤中; 步驟2,當(dāng)所需的文件不在內(nèi)存中時訪問閃存,如果所需的文件不在閃存中,則訪 問磁盤,以獲得該文件; 步驟3,如果所需的文件存儲于磁盤中并且被訪問的頻率達(dá)到預(yù)設(shè)值,則將該所需 的文件緩存在閃存中。 還包括步驟4,閃存中的文件緩存滿時,按照預(yù)置的規(guī)則置換部分文件并寫入到磁 盤中。 在步驟1之前,將需要永久緩存的文件預(yù)先加載到閃存中。
步驟3包括 步驟31,建立一個列表,用于記錄磁盤中的文件被訪問的次數(shù); 步驟32,當(dāng)所需的文件被訪問的次數(shù)到達(dá)到預(yù)設(shè)值,將該所需的文件緩存到閃存
中; 步驟33,刪除該列表中所需的文件所對應(yīng)的記錄。 步驟4中,預(yù)置的規(guī)則按照閃存中的文件被訪問的頻率或者在特定時間段中的訪
問次數(shù)進(jìn)行設(shè)置;閃存中的文件被訪問的頻率未達(dá)到預(yù)設(shè)的頻率,則該文件被置換;閃存
中的文件在特定時間段中的訪問次數(shù)未達(dá)到預(yù)設(shè)的次數(shù),則該文件被置換。 本發(fā)明提供了一種混合型二級存儲系統(tǒng)的實現(xiàn)裝置,混合型二級存儲系統(tǒng)包括一
級存儲和二級存儲;其中內(nèi)存作為一級存儲,磁盤和閃存作為二級存儲,閃存作為磁盤的文
件級緩存; 該實現(xiàn)裝置還包括文件管理模塊,用于將文件默認(rèn)存儲在磁盤中;當(dāng)所需的文件 不在內(nèi)存中時訪問閃存,如果所需的文件不在閃存中,則訪問磁盤,以獲得該文件;如果所 需的文件存儲于磁盤中并且被訪問的頻率達(dá)到預(yù)設(shè)值,則將該所需的文件緩存在閃存中。
文件管理模塊,還用于在閃存中的文件緩存滿時,按照預(yù)置的規(guī)則置換部分文件 并寫入到磁盤中。 文件管理模塊,還用于將需要永久緩存的文件預(yù)先加載到閃存中。 文件管理模塊,用于建立一個列表,以記錄磁盤中的文件被訪問的次數(shù);當(dāng)所需的
文件被訪問的次數(shù)到達(dá)到預(yù)設(shè)值,將該所需的文件緩存到閃存中;刪除該列表中所需的文
件所對應(yīng)的記錄。 預(yù)置的規(guī)則稱為緩存替換算法,閃存中的文件被訪問的頻率未達(dá)到預(yù)設(shè)的頻率, 則該文件被置換;或者閃存中的文件在特定時間段中的訪問次數(shù)未達(dá)到預(yù)設(shè)的次數(shù),則該 文件被置換。
4
與現(xiàn)有技術(shù)相比,本發(fā)明能夠以低成本實現(xiàn)大容量、低功耗的二級存儲系統(tǒng)。
圖1是計算機(jī)傳統(tǒng)一二級存儲系統(tǒng)組成結(jié)構(gòu); 圖2是將Flash作二級內(nèi)存數(shù)據(jù)緩存的存儲系統(tǒng)結(jié)構(gòu); 圖3是將Flash與磁盤并列作二級存儲系統(tǒng)的示意圖; 圖4是混合型二級存儲系統(tǒng)結(jié)構(gòu)示意圖; 圖5是混合型二級存儲系統(tǒng)結(jié)構(gòu)的管理方法示意圖。
具體實施例方式
本發(fā)明提出的二級存儲的實現(xiàn)方法,包括 采用Flash與磁盤構(gòu)成混合型二級存儲系統(tǒng),以充分利用磁盤的低成本、大容量 特性與Flash的低功耗特性。 Flash作為磁盤的文件級緩存,充分利用文件訪問局部性,使得多數(shù)的文件操作都 可以在Flash進(jìn)行,磁盤處于低功耗狀態(tài),以改善系統(tǒng)的功耗和性能。 Flash代替磁盤向系統(tǒng)提供絕大數(shù)的文件操作,只有在Flash文件緩存失效時才 會訪問磁盤,以減少磁盤訪問次數(shù)。 Flash作為獨立的非易失性二級存儲設(shè)備,可以被單獨使用。
所述的文件級緩存較傳統(tǒng)的數(shù)據(jù)緩存包括 所述文件級緩存以文件為單位對磁盤中的文件子集進(jìn)行緩存,區(qū)別于傳統(tǒng)以塊為
單位的緩存方式,這有利于用Flash代替磁盤向系統(tǒng)提供文件訪問操作。 文件級的緩存管理與傳統(tǒng)的塊緩存管理方法不同,緩存不命中時,磁盤文件不一
定讀取到Flash中,只有某磁盤文件的訪問足夠頻繁時該文件才會被緩存到Flash中。 所述的Flash文件級緩中可存放的文件數(shù)目是不定的,緩存中可以存放的文件數(shù)
量與Flash容量大小以及文件的大小有關(guān)。是否引發(fā)緩存文件替換操作由Flash緩存的實
際可用存儲空間決定。 緩存文件選擇算法以及緩存文件替換算法,以管理文件的分配,提高文件緩存的 命中率。 所述二級存儲系統(tǒng)的節(jié)能管理機(jī)制可在有節(jié)能需求的計算機(jī)系統(tǒng),特別是移動設(shè) 備上得到廣泛應(yīng)用。 如圖4所示,二級存儲系統(tǒng)的低功耗實現(xiàn)方法采用Flash與磁盤構(gòu)成混合型二級 存儲系統(tǒng),且其中Flash作為磁盤的文件級緩存,代替磁盤向系統(tǒng)提供絕大數(shù)的文件操作, 盡量減少磁盤的訪問次數(shù)。 已有的研究結(jié)果顯示,系統(tǒng)在一個24小時的時間段內(nèi)訪問的文件數(shù)僅占所有文 件的5%,即系統(tǒng)短時間內(nèi)訪問的文件具有良好的局部性。利用上述文件訪問的局部性原 理,將磁盤中訪問頻繁的文件緩存到Flash中,用Flash代替磁盤向系統(tǒng)提供訪問文件的操 作,那么磁盤便可降低轉(zhuǎn)速節(jié)省能耗。 所述的二級存儲系統(tǒng)的節(jié)能管理方法采用Flash作為磁盤的文件級緩存。這里文 件默認(rèn)被存放在磁盤上,當(dāng)發(fā)現(xiàn)某文件訪問頻繁時,將該文件的副本存放在Flash中,并稱這些訪問頻繁的文件為熱文件。為更好地發(fā)掘文件的局部性,文件系統(tǒng)會紀(jì)錄每個文件的 訪問歷史,將訪問頻繁的熱文件存到Flash中。當(dāng)系統(tǒng)所需數(shù)據(jù)不在內(nèi)存DRAM中時,二級 存儲系統(tǒng)將被訪問,大多數(shù)情況下文件訪問操作在Flash中實現(xiàn),而磁盤可降低轉(zhuǎn)速以節(jié) 省能耗。但是當(dāng)Flash文件緩存失效時,磁盤將提高轉(zhuǎn)速實現(xiàn)文件訪問,如果導(dǎo)致文件緩存 失效的是熱文件,那么它將被緩存到Flash中。當(dāng)Flash文件緩存滿時,某些文件將被置換 并寫入到磁盤中去。 Flash的容量越大則文件緩存的命中率就高,二級存儲的節(jié)能效果及I/O訪問延 遲的改進(jìn)情況就越顯著。但是越大的Flash容量也意味著越高的價格,這時就需要在價格、 能耗及性能等方面做出權(quán)衡。另外,緩存和置換算法也很重要,好算法能夠很好地發(fā)掘文件 訪問的局部性。 緩存文件的選擇算法決定了哪些文件將被緩存到Flash中。本機(jī)制采用靜態(tài)選擇 與動態(tài)選擇結(jié)合的方法實現(xiàn)緩存文件的選擇。靜態(tài)選擇是指在系統(tǒng)啟動時將那些需要永久 緩存的文件預(yù)先加載到Flash中,這些文件一般包括操作系統(tǒng)文件,編譯器以及一些庫文 件。動態(tài)選擇是指在系統(tǒng)運行過程中逐步發(fā)現(xiàn)熱文件并將它緩存到Flash中。發(fā)現(xiàn)熱文件 的方法有很多種,所述節(jié)能管理方法參考文件訪問的歷史信息來實現(xiàn)。本發(fā)明中給出一個 發(fā)現(xiàn)熱文件算法實例,其具體步驟如下所示 步驟一 為訪問過且沒有被緩存到Flash中的文件建立一個LRU (LeastRecently Used)列表; 步驟二 LRU成員的個數(shù)是由某個預(yù)先定義的數(shù)值來限定; 步驟三在LRU列表的成員中紀(jì)錄相關(guān)文件的訪問歷史信息,例如其訪問次數(shù);
步驟四當(dāng)文件被訪問 一次其訪問次數(shù)就會加1 ; 步驟五當(dāng)文件所對應(yīng)的訪問次數(shù)到達(dá)預(yù)先定義的某個值時,該文件被認(rèn)為是熱 文件,并被緩存到Flash中; 步驟六當(dāng)文件被緩存到Flash中后,其將在LRU列表中被刪除。 當(dāng)Flash中的空閑空間減小到總?cè)萘康囊欢ū壤?0% ,或者所??臻g不足以
緩存下一個熱文件時,其中的某些文件將需要被置換出去??捎玫闹脫Q算法有多種,這里不
作特別限定,列出兩種置換算法的實例。 第一種是最近最少使用LRU算法。Flash緩存中的文件維護(hù)在一個LRU鏈表中,當(dāng) Flash空間不足需要換出文件時,可替換文件從LRU鏈表的末尾進(jìn)行選擇。LRU算法側(cè)重于 最近的訪問情況,沒有考慮到訪問的頻繁性。 第二種是以LRU算法為基礎(chǔ)的基于訪問頻率的置換算法FBR(Frequency-Based R印lacement)。該算法不僅考慮到最近訪問情況也考慮到文件訪問的頻率。FBR算法的基 本思想如圖5所示。為Flash中緩存的文件創(chuàng)建一個記錄訪問歷史信息鏈表,如圖5中的 50所示,其中每個成員54對應(yīng)一個被緩存的文件,其中有紀(jì)錄該文件訪問信息的coimt值。 整個鏈表從頭到尾被分成三個部分,分別是新區(qū),如51所示;中間區(qū),如52所示;舊區(qū),如 53所示。置換算法的基本思想如下 當(dāng)文件剛被緩存時,鏈表中相應(yīng)的新成員被創(chuàng)建,其count值被初始化為1,并將 給成員插入到鏈表頭部的新區(qū)中; 處在新區(qū)的文件被訪問時,其count值將不改變,但是對應(yīng)得列表成員將被提到鏈表頭; 當(dāng)最新被訪問的文件位于中間區(qū)或者舊區(qū)時,其count值加l,并將其提到鏈表 頭; 當(dāng)Flash因空閑空間問題需要置換其間的文件時,鏈表舊區(qū)中count值最小的成 員所對應(yīng)的文件將被置換出去; 如圖5所示,Bl, B2標(biāo)志著鏈表的分區(qū)邊界,這里可有多種方法來分區(qū),所述的節(jié)
能管理機(jī)制采用預(yù)先定義各區(qū)在鏈表中所占比例的方法實現(xiàn),由于Flash中緩存文件的數(shù)
量是不斷變化的,所以Bl, B2的值也會動態(tài)變化。 該系統(tǒng)的設(shè)計和管理方法具有以下特點 1)采用Flash與磁盤構(gòu)成混合型二級存儲系統(tǒng); 2) Flash作為磁盤的文件級緩存; 3)Flash代替磁盤向系統(tǒng)提供絕大數(shù)的文件操作,只有在Flash文件緩存失效時 才會訪問磁盤; 4)Flash作為獨立的非易失性二級存儲設(shè)備,可以被單獨使用。 本領(lǐng)域的技術(shù)人員在不脫離權(quán)利要求書確定的本發(fā)明的精神和范圍的條件下,還
可以對以上內(nèi)容進(jìn)行各種各樣的修改。因此本發(fā)明的范圍并不僅限于以上的說明,而是由
權(quán)利要求書的范圍來確定的。
權(quán)利要求
一種混合型二級存儲系統(tǒng)的實現(xiàn)方法,其特征在于,混合型二級存儲系統(tǒng)包括一級存儲和二級存儲;其中內(nèi)存作為一級存儲,磁盤和閃存作為二級存儲,閃存作為磁盤的文件級緩存;該實現(xiàn)方法包括步驟1,文件默認(rèn)存儲在磁盤中;步驟2,當(dāng)所需的文件不在內(nèi)存中時訪問閃存,如果所需的文件不在閃存中,則訪問磁盤,以獲得該文件;步驟3,如果所需的文件存儲于磁盤中并且被訪問的頻率達(dá)到預(yù)設(shè)值,則將該所需的文件緩存在閃存中。
2. 如權(quán)利要求1所述的混合型二級存儲系統(tǒng)的實現(xiàn)方法,其特征在于,還包括步驟4, 閃存中的文件緩存滿時,按照預(yù)置的規(guī)則置換部分文件并寫入到磁盤中。
3. 如權(quán)利要求1所述的混合型二級存儲系統(tǒng)的實現(xiàn)方法,其特征在于,在步驟1之前, 將需要永久緩存的文件預(yù)先加載到閃存中。
4. 如權(quán)利要求1所述的混合型二級存儲系統(tǒng)的實現(xiàn)方法,其特征在于,步驟3包括 步驟31,建立一個列表,用于記錄存儲于磁盤中的所需的文件被訪問的次數(shù);步驟32,當(dāng)所需的文件被訪問的次數(shù)到達(dá)到預(yù)設(shè)值,將該所需的文件緩存到閃存中; 步驟33,刪除該列表中所需的文件所對應(yīng)的記錄。
5. 如權(quán)利要求2所述的混合型二級存儲系統(tǒng)的實現(xiàn)方法,其特征在于,步驟4中,預(yù)置 的規(guī)則按照閃存中的文件被訪問的頻率或者在特定時間段中的訪問次數(shù)進(jìn)行設(shè)置;閃存中 的文件被訪問的頻率未達(dá)到預(yù)設(shè)的頻率,則該文件被置換;閃存中的文件在特定時間段中 的訪問次數(shù)未達(dá)到預(yù)設(shè)的次數(shù),則該文件被置換。
6. —種混合型二級存儲系統(tǒng)的實現(xiàn)裝置,其特征在于,混合型二級存儲系統(tǒng)包括一級 存儲和二級存儲;其中內(nèi)存作為一級存儲,磁盤和閃存作為二級存儲,閃存作為磁盤的文件 級緩存;該實現(xiàn)裝置還包括文件管理模塊,用于將文件默認(rèn)存儲在磁盤中;當(dāng)所需的文件不在 內(nèi)存中時訪問閃存,如果所需的文件不在閃存中,則訪問磁盤,以獲得該文件;如果所需的 文件存儲于磁盤中并且被訪問的頻率達(dá)到預(yù)設(shè)值,則將該所需的文件緩存在閃存中。
7. 如權(quán)利要求6所述的混合型二級存儲系統(tǒng)的實現(xiàn)裝置,其特征在于,文件管理模塊, 還用于在閃存中的文件緩存滿時,按照預(yù)置的規(guī)則置換部分文件并寫入到磁盤中。
8. 如權(quán)利要求6所述的混合型二級存儲系統(tǒng)的實現(xiàn)裝置,其特征在于,文件管理模塊, 還用于將需要永久緩存的文件預(yù)先加載到閃存中。
9. 如權(quán)利要求6所述的混合型二級存儲系統(tǒng)的實現(xiàn)裝置,其特征在于,文件管理模塊, 用于建立一個列表,以記錄存儲于磁盤中的所需的文件被訪問的次數(shù);當(dāng)所需的文件被訪 問的次數(shù)到達(dá)到預(yù)設(shè)值,將該所需的文件緩存到閃存中;刪除該列表中所需的文件所對應(yīng) 的記錄。
10. 如權(quán)利要求7所述的混合型二級存儲系統(tǒng)的實現(xiàn)裝置,其特征在于,預(yù)置的規(guī)則為 閃存中的文件被訪問的頻率未達(dá)到預(yù)設(shè)的頻率,則該文件被置換;或者閃存中的文件在特 定時間段中的訪問次數(shù)未達(dá)到預(yù)設(shè)的次數(shù),則該文件被置換。
全文摘要
本發(fā)明涉及一種混合型二級存儲系統(tǒng)的實現(xiàn)方法及裝置。該實現(xiàn)方法包括步驟1,文件默認(rèn)存儲在磁盤中;步驟2,當(dāng)所需的文件不在內(nèi)存中時訪問閃存,如果所需的文件不在閃存中,則訪問磁盤,以獲得該文件;步驟3,如果所需的文件存儲于磁盤中并且被訪問的頻率達(dá)到預(yù)設(shè)值,則將該所需的文件緩存在閃存中;步驟4,當(dāng)閃存中緩存的文件大小達(dá)到一定值時,選擇某些文件寫回磁盤。與現(xiàn)有技術(shù)相比,本發(fā)明能夠以低成本實現(xiàn)大容量、低功耗的二級存儲系統(tǒng)。
文檔編號G06F12/08GK101777028SQ201010034530
公開日2010年7月14日 申請日期2010年1月21日 優(yōu)先權(quán)日2010年1月21日
發(fā)明者劉姝, 程旭, 管雪濤 申請人:北京北大眾志微系統(tǒng)科技有限責(zé)任公司