日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

一種使用高速非易失介質(zhì)做緩存的管理方法

文檔序號:6438599閱讀:187來源:國知局
專利名稱:一種使用高速非易失介質(zhì)做緩存的管理方法
技術領域
本發(fā)明涉及磁盤緩存管理技術,具體來說,涉及將慢速磁盤的數(shù)據(jù)緩存在高速非易失介質(zhì)中的一種管理策略。
背景技術
磁盤緩存分為讀緩存和寫緩存。讀緩存是指,操作系統(tǒng)為已讀取的文件數(shù)據(jù),在內(nèi)存較空閑的情況下留在內(nèi)存空間中,當下次軟件或用戶再次讀取同一文件時就不必重新從磁盤上讀取,從而提高速率。寫緩存實際上就是將要寫入磁盤的數(shù)據(jù)先保存于系統(tǒng)為寫緩存分配的內(nèi)存空間中,當保存到內(nèi)存池中的數(shù)據(jù)達到一個程度時,便將數(shù)據(jù)保存到硬盤中。 這樣可以減少實際的磁盤操作,有效的保護磁盤免于重復的讀寫操作而導致的損壞,也能減少寫入所需的時間。根據(jù)寫入方式的不同,有寫通式和回寫式兩種。寫通式在讀硬盤數(shù)據(jù)時,系統(tǒng)先檢查請求指令,看看所要的數(shù)據(jù)是否在緩存中,在的話就由緩存送出響應的數(shù)據(jù),這個過程稱為命中。這樣系統(tǒng)就不必訪問硬盤中的數(shù)據(jù),由于SDRAM的速率比磁介質(zhì)快很多,因此也就加快了數(shù)據(jù)傳輸?shù)乃俾省;貙懯骄褪窃趯懭胗脖P數(shù)據(jù)時也在緩存中找,找到就由緩存就數(shù)據(jù)寫入盤中,多數(shù)硬盤都是采用的回寫式緩存,這樣就大大提高了性能。然而,采用如內(nèi)存這樣的易失性設備,在系統(tǒng)崩潰或者掉電以后,緩存在高速設備上的數(shù)據(jù)將會丟失,這對類似于數(shù)據(jù)庫這樣的對數(shù)據(jù)安全性要求很高的應用程序來說是不可忍受的。

發(fā)明內(nèi)容
本發(fā)明使用高速非易失介質(zhì)替代易失性高速設備來緩存慢速的磁盤數(shù)據(jù),即使在系統(tǒng)崩潰或者掉電的情況下,緩存的數(shù)據(jù)也不會丟失,通過約定的格式在重啟后可以將緩存的數(shù)據(jù)讀出。一種使用高速非易失介質(zhì)做緩存的管理方法,使用固態(tài)硬盤做為緩存設備,每個緩存設備可以被多個磁盤共享,每個磁盤只能使用一個緩存設備;所述緩存設備劃分 region結構,緩存設備與磁盤之間采用組映射相連;緩存設備劃分為兩部分,前面部分存儲內(nèi)存中的region數(shù)據(jù)結構,后面部分為緩存。優(yōu)選的,所述固態(tài)硬盤可以組成raid磁盤陣列擴大緩存容量及提高性能。優(yōu)選的,所述region大小為64KB 1MB,且為2的冪,所述region在設備運行后不能被更改。優(yōu)選的,所述緩存設備與磁盤之間采用組映射相連時,默認每組16個region,可以通過宏更改優(yōu)選的,所述緩存設備在讀操作時,根據(jù)bio里記錄的地址信息找到對應的 region數(shù)據(jù)結構,然后通過region數(shù)據(jù)結構查看是否數(shù)據(jù)緩存在固態(tài)硬盤中,如果是,則直接從固態(tài)硬盤讀出;否則,從磁盤讀出并緩存到固態(tài)硬盤中。優(yōu)選的,所述緩存設備在寫操作時,根據(jù)bio里記錄的地址信息找到對應的region數(shù)據(jù)結構,如果有空閑的固態(tài)硬盤空間,則直接將數(shù)據(jù)寫往固態(tài)硬盤;否則,寫往傳統(tǒng)硬盤;如果寫往固態(tài)硬盤則同時更新對應的region數(shù)據(jù)結構元數(shù)據(jù)信息到固態(tài)硬盤。優(yōu)選的,所述緩存設備在系統(tǒng)崩潰后掉電的情況下,當系統(tǒng)故障恢復后,會掃描存放在固態(tài)硬盤內(nèi)的元數(shù)據(jù)信息,并根據(jù)這些信息恢復之前的所有環(huán)境,獨處緩存在固態(tài)硬盤中的臟數(shù)據(jù)。本發(fā)明采取將元數(shù)據(jù)實時寫入固態(tài)硬盤的策略來解決這個問題,在臟數(shù)據(jù)寫進固態(tài)硬盤的同時,管理這些數(shù)據(jù)的元數(shù)據(jù)也被同步到固態(tài)硬盤的指定位置,只要重啟時讀出這些元數(shù)據(jù)即可將所有緩存在固態(tài)硬盤而沒有寫入傳統(tǒng)磁盤的數(shù)據(jù)讀出,從而所有的數(shù)據(jù)在系統(tǒng)崩潰和掉電的情況下也能保證不丟失。


圖1是本發(fā)明的整體結構示意2是本發(fā)明的映射關系示意圖
具體實施例方式本發(fā)明利用Linux的Device Mapper機制來管理多個塊設備,以其中的高速設備作為低速設備的緩存來建立一個兩級存儲系統(tǒng),以較低的成本獲得較高的存儲性能,整體結構如圖1所示。本發(fā)明將所管理的設備分為緩存設備和磁盤設備,其中緩存設備使用性能較高的固態(tài)硬盤,實際使用中可用多塊固態(tài)硬盤組成RAID以提高緩存的性能。緩存設備和磁盤設備都是對用戶不可見的,但是本發(fā)明會向用戶提供與磁盤設備個數(shù)相同、特性相同的偽設備。本發(fā)明可以管理多個緩存設備和磁盤設備,緩存設備與磁盤設備是一對多的關系,即一個緩存設備可以被多個磁盤設備共享,但是任何一個磁盤設備只可使用一個緩存設備。至于設備,具體則對應于磁盤分區(qū),即Linux下的塊設備文件/dev/sdal等。之所以選擇固態(tài)硬盤而不是直接使用內(nèi)存等更高速的設備,是因為固態(tài)硬盤上的數(shù)據(jù)在系統(tǒng)崩潰或掉電后不會丟失,而且固態(tài)硬盤的容量更大,可以緩存更多的數(shù)據(jù)。但是,雖然緩存的數(shù)據(jù)可以保存在固態(tài)硬盤中,但是對這些數(shù)據(jù)的管理元數(shù)據(jù)卻必須采取一定的措施才能獲得,否則雖然數(shù)據(jù)存在但是我們卻無法分析這些數(shù)據(jù)的真實含義。本發(fā)明對磁盤作緩存,本身的思路比較直觀,類似于處理器cache,將緩存設備按固定大小劃分為許多region,一般地,region的大小為64K 1M,且為2的冪,一旦運行不可再動態(tài)更改。region是緩存設備管理的基本單位,可類比處理器中的cache line。每個 region維護相應的狀態(tài)、必要的鎖、tag等信息。region相對于文件系統(tǒng)的請求是比較大的,文件系統(tǒng)10的最小單位一般是512字節(jié)(稱之為sector),因此文件系統(tǒng)的一次10更多可能是只覆蓋了某個region的部分區(qū)域,鑒于此,每個region還需要維護若干位圖,用來標記其中各個sector的狀態(tài)。緩存設備與磁盤設備的映射采用組相聯(lián),默認一組16個 region,可對相關宏進行調(diào)整。管理數(shù)據(jù)映射關系的數(shù)據(jù)結構(struct region)位于內(nèi)存中,而內(nèi)存是易失性設備,在系統(tǒng)崩潰或掉電后將會丟失這些數(shù)據(jù)結構。雖然固態(tài)硬盤上的數(shù)據(jù)實際上并沒有丟失,但是因為管理這些數(shù)據(jù)的struct region丟失,所以實際上數(shù)據(jù)也就丟失了。為了解決這個問題,本發(fā)明采用如圖2所示的結構。固態(tài)硬盤分為兩部分,前一部分保存內(nèi)存中的struct region數(shù)據(jù)結構,后一部分才是實際緩存的數(shù)據(jù)。這樣,當系統(tǒng)崩潰或掉電后可以通過讀取存放在固態(tài)硬盤前一部分的struct region來找到存放在后一部分的數(shù)據(jù), 并重建整個文件系統(tǒng)環(huán)境,從而保證緩存的數(shù)據(jù)不丟失。實際應用時不必將任何對struct region的修改都同步到固態(tài)硬盤,這樣開銷較大??梢詢H在數(shù)據(jù)發(fā)生改變時再修改struct region,特別是要記錄那些只緩存在固態(tài)硬盤而沒有在傳統(tǒng)磁盤的數(shù)據(jù)的變化情況。讀操作。根據(jù)bio里記錄的地址信息找到對應的struct region,然后通過struct region查看是否數(shù)據(jù)緩存在固態(tài)硬盤中,如果是,則直接從固態(tài)硬盤讀出;否則,從磁盤讀出并緩存到固態(tài)硬盤中。寫操作。根據(jù)bio里記錄的地址信息找到對應的struct region,如果有空閑的固態(tài)硬盤空間,則直接將數(shù)據(jù)寫往固態(tài)硬盤;否則,寫往傳統(tǒng)硬盤。如果寫往固態(tài)硬盤則同時更新對應的struct region元數(shù)據(jù)信息到固態(tài)硬盤?;謴筒僮?。在系統(tǒng)崩潰后掉電的情況下,當系統(tǒng)故障恢復后,本發(fā)明會掃描存放在固態(tài)硬盤內(nèi)的元數(shù)據(jù)信息,并根據(jù)這些信息恢復之前的所有環(huán)境,此時緩存在固態(tài)硬盤中的臟數(shù)據(jù)都可以完整地讀出。
權利要求
1.一種使用高速非易失介質(zhì)做緩存的管理方法,其特征在于使用固態(tài)硬盤做為緩存設備,每個緩存設備可以被多個磁盤共享,每個磁盤只能使用一個緩存設備;所述緩存設備劃分region結構,緩存設備與磁盤之間采用組映射相連;緩存設備劃分為兩部分,前面部分存儲內(nèi)存中的region數(shù)據(jù)結構,后面部分為緩存。
2.如權利要求1所述的方法,其特征在于所述固態(tài)硬盤可以組成raid磁盤陣列擴大緩存容量及提高性能。
3.如權利要求1所述的方法,其特征在于所述region大小為64KB 1MB,且為2的冪,所述region在設備運行后不能被更改。
4.如權利要求1所述的方法,其特征在于所述緩存設備與磁盤之間采用組映射相連時,默認每組16個region,可以通過宏更改。
5.如權利要求1所述的方法,其特征在于所述緩存設備在讀操作時,根據(jù)bio里記錄的地址信息找到對應的region數(shù)據(jù)結構,然后通過region數(shù)據(jù)結構查看是否數(shù)據(jù)緩存在固態(tài)硬盤中,如果是,則直接從固態(tài)硬盤讀出;否則,從磁盤讀出并緩存到固態(tài)硬盤中。
6.如權利要求1所述的方法,其特征在于所述緩存設備在寫操作時,根據(jù)bio里記錄的地址信息找到對應的region數(shù)據(jù)結構,如果有空閑的固態(tài)硬盤空間,則直接將數(shù)據(jù)寫往固態(tài)硬盤;否則,寫往傳統(tǒng)硬盤;如果寫往固態(tài)硬盤則同時更新對應的region數(shù)據(jù)結構元數(shù)據(jù)信息到固態(tài)硬盤。
7.如權利要求1所述的方法,其特征在于所述緩存設備在系統(tǒng)崩潰后掉電的情況下, 當系統(tǒng)故障恢復后,會掃描存放在固態(tài)硬盤內(nèi)的元數(shù)據(jù)信息,并根據(jù)這些信息恢復之前的所有環(huán)境,獨處緩存在固態(tài)硬盤中的臟數(shù)據(jù)。
全文摘要
本發(fā)明提供了一種使用高速非易失介質(zhì)做緩存的管理方法,使用固態(tài)硬盤做為緩存設備,每個緩存設備可以被多個磁盤共享,每個磁盤只能使用一個緩存設備;所述緩存設備劃分region結構,緩存設備與磁盤之間采用組映射相連;緩存設備劃分為兩部分,前面部分存儲內(nèi)存中的region數(shù)據(jù)結構,后面部分為緩存。本發(fā)明采取將元數(shù)據(jù)實時寫入固態(tài)硬盤的策略來解決這個問題,在臟數(shù)據(jù)寫進固態(tài)硬盤的同時,管理這些數(shù)據(jù)的元數(shù)據(jù)也被同步到固態(tài)硬盤的指定位置,只要重啟時讀出這些元數(shù)據(jù)即可將所有緩存在固態(tài)硬盤而沒有寫入傳統(tǒng)磁盤的數(shù)據(jù)讀出,從而所有的數(shù)據(jù)在系統(tǒng)崩潰和掉電的情況下也能保證不丟失。
文檔編號G06F12/08GK102521147SQ20111036431
公開日2012年6月27日 申請日期2011年11月17日 優(yōu)先權日2011年11月17日
發(fā)明者劉新春, 袁清波, 許建衛(wèi), 邵宗有 申請人:曙光信息產(chǎn)業(yè)(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1