欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

磁盤緩存的管理方法及裝置的制作方法

文檔序號(hào):6359380閱讀:222來源:國知局
專利名稱:磁盤緩存的管理方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)存儲(chǔ)領(lǐng)域,尤其涉及一種磁盤緩存的管理方法及裝置。
背景技術(shù)
目前,磁盤與內(nèi)存間的輸入輸出IO速度一直是系統(tǒng)性能的一個(gè)重要瓶頸,在IO密集型的應(yīng)用場(chǎng)景下,CPU往往需要等待磁盤10。很多系統(tǒng)采用內(nèi)存或類似的validatememory介質(zhì)來作為磁盤的緩存,用于提高IO速度,但內(nèi)存的價(jià)格較貴,且下電后數(shù)據(jù)丟失。固態(tài)硬盤SSD是一種合適做磁盤/內(nèi)存緩存cache的閃存介質(zhì),速度介于內(nèi)存和磁盤之間,且是non-validate memory,可以基本避免數(shù)據(jù)丟失。
為了提高磁盤的IO性能,現(xiàn)有技術(shù)中可以利用磁盤緩存,例如SSD、PCM等來作為磁盤的高速緩存,采用與cpu cache相同的模式來組織磁盤的cache。以SSD來說,使用組相聯(lián)模式來作為磁盤HDD到緩存SSD的地址映射方式,將SSD的空間等分為若干個(gè)組set,每個(gè)set默認(rèn)由512個(gè)SSD數(shù)據(jù)塊組成,每個(gè)數(shù)據(jù)塊默認(rèn)為4KB大??;同樣的將磁盤空間分為SSD大小的n個(gè)區(qū)域,每個(gè)區(qū)域內(nèi)的組織方式和SSD的組織方式相同。但上述現(xiàn)有技術(shù)的方案中,磁盤緩存中每個(gè)組set空間大小固定,無法動(dòng)態(tài)伸縮,在系統(tǒng)應(yīng)用程序集中在少數(shù)set進(jìn)行頻繁訪問時(shí),導(dǎo)致各set間使用率不均,降低了磁盤緩存的空間使用率和緩存命中率,影響了系統(tǒng)輸入輸出性能。

發(fā)明內(nèi)容
本發(fā)明提供一種磁盤緩存的管理方法及裝置,能夠動(dòng)態(tài)調(diào)整與磁盤區(qū)域關(guān)聯(lián)的磁盤緩存組的大小,提高應(yīng)用程序使用磁盤數(shù)據(jù)的緩存命中率,提高磁盤緩存的空間利用率,從而提高系統(tǒng)輸入輸出性能。本發(fā)明實(shí)施例提供了一種磁盤緩存的管理方法,所述方法包括將磁盤緩存劃分為第一區(qū)域和第二區(qū)域,第一區(qū)域用于在該磁盤緩存創(chuàng)建時(shí)生成預(yù)分配的若干個(gè)組set,其中為每個(gè)所述組建立與磁盤內(nèi)區(qū)域的映射;將第二區(qū)域的空間組織成一系列的塊chunk ;設(shè)置所述塊的大小,使所述塊用于進(jìn)行所述第一區(qū)域內(nèi)的組的動(dòng)態(tài)擴(kuò)展或收縮。本發(fā)明實(shí)施例還提供了一種磁盤緩存的管理裝置,所述管理裝置包括磁盤緩存劃分單元,用于將磁盤緩存劃分為第一區(qū)域和第二區(qū)域,第一區(qū)域用于在該磁盤緩存創(chuàng)建時(shí)生成預(yù)分配的若干個(gè)組set,其中為每個(gè)所述組建立與磁盤內(nèi)區(qū)域的映射,且第二個(gè)區(qū)域預(yù)留;塊組織單元,用于將第二區(qū)域的空間組織成一系列的塊chunk,并設(shè)置所述塊的大小;組動(dòng)態(tài)伸縮單元,用于利用所述塊進(jìn)行所述第一區(qū)域內(nèi)的組的動(dòng)態(tài)擴(kuò)展或收縮。由上述所提供的技術(shù)方案可以看出,所述管理方法首先將磁盤緩存劃分為第一區(qū)域和第二區(qū)域,第一區(qū)域用于在該磁盤緩存創(chuàng)建時(shí)生成預(yù)分配的若干個(gè)組set,其中為每個(gè)所述組建立與磁盤內(nèi)區(qū)域的映射;將第二區(qū)域的空間組織成一系列的塊chunk ;設(shè)置所述塊的大小,使所述塊用于進(jìn)行所述第一區(qū)域內(nèi)的組的動(dòng)態(tài)擴(kuò)展或收縮。通過上述管理方法就能夠動(dòng)態(tài)調(diào)整與磁盤區(qū)域關(guān)聯(lián)的磁盤緩存組的大小,提高應(yīng)用程序使用磁盤數(shù)據(jù)的緩存命中率,提高磁盤緩存的空間利用率,從而提高系統(tǒng)輸入輸出性能。


圖I為本發(fā)明實(shí)施例所提供磁盤緩存的管理方法的流程示意圖;圖2為本發(fā)明實(shí)施例所舉出的具體實(shí)例中磁盤緩存劃分和映射的一種結(jié)構(gòu)示意圖;圖3為本發(fā)明實(shí)施例所舉出的具體實(shí)例中磁盤緩存劃分和映射的另一種結(jié)構(gòu)示意圖;圖4為本發(fā)明實(shí)施例所舉出的具體實(shí)例中組的動(dòng)態(tài)擴(kuò)展的示意圖; 圖5為本發(fā)明實(shí)施例所舉出的具體實(shí)例中組的動(dòng)態(tài)收縮的示意圖;圖6為本發(fā)明實(shí)施例所提供磁盤緩存的管理裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明實(shí)施方式提供了一種磁盤緩存的管理方法及裝置,基于磁盤緩存cache預(yù)分配組set和預(yù)留的塊chunk來實(shí)現(xiàn)組的動(dòng)態(tài)調(diào)整,該方法能夠動(dòng)態(tài)調(diào)整與磁盤區(qū)域關(guān)聯(lián)的磁盤緩存組的大小,提高應(yīng)用程序使用磁盤數(shù)據(jù)的緩存命中率,提高磁盤緩存的空間利用率,從而提高系統(tǒng)輸入輸出性能。為更好的描述本發(fā)明實(shí)施方式,現(xiàn)結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
進(jìn)行說明,如圖I所示為本發(fā)明實(shí)施例所提供磁盤緩存的管理方法的流程示意圖,所述方法包括步驟11 :將磁盤緩存劃分為第一區(qū)域和第二區(qū)域。在該步驟中,首先對(duì)磁盤緩存進(jìn)行劃分,將其劃分為兩個(gè)區(qū)域,其中第一區(qū)域用于在該磁盤緩存創(chuàng)建時(shí)生成預(yù)分配的若干個(gè)組set,其中每個(gè)組均建立與磁盤內(nèi)區(qū)域的映射;劃分出的第二區(qū)域預(yù)留。在具體實(shí)現(xiàn)過程中,上述的磁盤緩存可以使用固態(tài)硬盤SSD作為磁盤的高速緩存,也可以實(shí)用其他的非易失性閃存介質(zhì),比如PCM介質(zhì)等,均可以作為磁盤的高速緩存介質(zhì)。上述將磁盤緩存劃分為兩個(gè)區(qū)域,具體有兩種劃分方式I)將磁盤緩存劃分成相鄰的兩個(gè)空間,其中,第一區(qū)域和第二區(qū)域相鄰。舉例來說,如圖2所示為本發(fā)明實(shí)施例所舉出的具體實(shí)例中磁盤緩存劃分和映射的一種結(jié)構(gòu)示意圖,圖2中將磁盤緩存劃分成相鄰的兩個(gè)空間,第一區(qū)域和第二區(qū)域相鄰,其中,第一區(qū)域用于在磁盤緩存創(chuàng)建時(shí)生成預(yù)分配的組,每個(gè)組均建立與磁盤內(nèi)區(qū)域的映射,映射關(guān)系可以為target set number = (Disk block number*磁盤緩存size)/(Diskblock total number*set size) Disk block number表示磁盤數(shù)據(jù)塊的扇區(qū)號(hào),磁盤緩存size為磁盤緩存數(shù)據(jù)塊的大小,set size為組中數(shù)據(jù)塊的數(shù)量,Disk block total number表不磁盤數(shù)據(jù)塊的總扇區(qū)號(hào)。上述圖2中是將磁盤緩存劃分為2/3和1/3大小的兩個(gè)區(qū)域,第一區(qū)域劃分為4個(gè)組,第二區(qū)域預(yù)留,用于進(jìn)行組的動(dòng)態(tài)伸縮。圖2中,磁盤區(qū)域i中的數(shù)據(jù)塊可以進(jìn)入組i中任意一個(gè)空閑的緩存塊中,且不受數(shù)據(jù)塊磁盤先后位置的影響,比如磁盤塊號(hào)為8的數(shù)據(jù)塊可以進(jìn)入塊號(hào)為2的磁盤緩存塊中,磁盤塊號(hào)為I的數(shù)據(jù)塊可以進(jìn)入塊號(hào)為20的磁盤緩存塊中;在組中的所有磁盤緩存塊均放滿了磁盤的數(shù)據(jù)塊后,如果再有磁盤數(shù)據(jù)塊要緩存入該組,則會(huì)進(jìn)行緩存塊的替換操作,或者組的擴(kuò)展操作。2)將磁盤緩存劃分成交叉的多個(gè)空間,其中,第一區(qū)域和第二區(qū)域交叉分布。舉例來說,如圖3所示為本發(fā)明實(shí)施例所舉出的具體實(shí)例中磁盤緩存劃分和映射的另一種結(jié)構(gòu)示意圖,圖3中磁盤緩存劃分成交叉的多個(gè)空間,其中,第一區(qū)域和第二區(qū)域交叉分布,從上至下的第一個(gè)空間作為第二區(qū)域,用于預(yù)留空間,大小可以在磁盤緩存創(chuàng)建時(shí)指定;第二個(gè)空間為第一區(qū)域,該第一區(qū)域預(yù)分配有一個(gè)組;第三個(gè)空間再作為第二區(qū)域,用于預(yù)留空間,依次往下,使得第一區(qū)域和第二區(qū)域交叉分布。該磁盤緩存的劃分方式較上述第一種方式更為靈活,每個(gè)組可以進(jìn)行首尾動(dòng)態(tài)擴(kuò)展,使得預(yù)分配的組和預(yù)留的后續(xù)動(dòng)態(tài)分配的塊之間的距離更短,便于形成連續(xù)的組空間。 在該劃分方式下,還可以動(dòng)態(tài)更新每組的起始位置,以便更好的實(shí)現(xiàn)組動(dòng)態(tài)伸縮。除上述本實(shí)施例所述的兩種劃分方式之外,本領(lǐng)域技術(shù)人員能夠根據(jù)本發(fā)明實(shí)施例想到的其他劃分方式都是可以的。另外,上述每個(gè)組均建立與磁盤內(nèi)區(qū)域的映射是通過如下方式來實(shí)現(xiàn)的本發(fā)明實(shí)施例是將組的非連續(xù)地址與磁盤的連續(xù)區(qū)域進(jìn)行映射,具體來說,首先將磁盤內(nèi)的區(qū)域劃分為若干個(gè)連續(xù)的區(qū)域;再如圖2和3中所示,將磁盤內(nèi)的第一個(gè)區(qū)域與所述磁盤緩存內(nèi)第一區(qū)域內(nèi)預(yù)分配的第一個(gè)組映射,將磁盤內(nèi)的第二個(gè)區(qū)域與所述磁盤緩存內(nèi)第一區(qū)域內(nèi)預(yù)分配的第二個(gè)組映射,以此類推,最終將磁盤內(nèi)的最后一個(gè)區(qū)域與所述磁盤緩存內(nèi)第一區(qū)域內(nèi)預(yù)分配的最后一個(gè)組映射。通過上述映射方式,能夠減少輸入輸出IO次數(shù),縮短磁盤尋道距離,從而提高回寫效率。步驟12 :將第二區(qū)域的空間組織成一系列的塊chunk,并設(shè)置每個(gè)塊的大小。在該步驟中,經(jīng)過上述步驟11的設(shè)置后,就可以將第二區(qū)域的空間組織成一系列的塊,并設(shè)置每個(gè)塊的大小,例如可以將塊設(shè)置為1/2的組大小。并通過特定的元數(shù)據(jù)來維護(hù)這些塊,記錄這些塊是否已被分配,是否空閑,以及塊的已讀寫次數(shù)。步驟13 :利用所述塊來進(jìn)行所述第一區(qū)域內(nèi)的組的動(dòng)態(tài)擴(kuò)展或收縮。在該步驟中,所述利用所述塊來進(jìn)行所述第一區(qū)域內(nèi)的組的動(dòng)態(tài)擴(kuò)展,具體包括首先根據(jù)所述第一區(qū)域內(nèi)各個(gè)組的統(tǒng)計(jì)參數(shù),如組中塊的讀次數(shù),組中塊的寫次數(shù),組的緩存命中率,組中臟塊的數(shù)目等參數(shù),來判斷各個(gè)組是否滿足分配塊的條件;若判斷其中一個(gè)組滿足分配塊的條件,則在所述第二區(qū)域所預(yù)留的未分配的塊中選擇空閑且讀寫次數(shù)低于設(shè)定閾值的塊,將該塊分配給所述滿足分配塊條件的組。在具體實(shí)現(xiàn)過程中,上述的各個(gè)組的統(tǒng)計(jì)參數(shù),包括如下一個(gè)或多個(gè)組中塊的讀次數(shù),組中塊的寫次數(shù),組的緩存命中率,組中臟塊的數(shù)目。舉例來說,如圖4所示為本發(fā)明實(shí)施例所舉出的具體實(shí)例中組的動(dòng)態(tài)擴(kuò)展的示意圖,圖4中該磁盤緩存在創(chuàng)建時(shí)預(yù)分配了 18個(gè)set,對(duì)應(yīng)磁盤內(nèi)的18個(gè)空間區(qū)域;且預(yù)留的空間被組織成12個(gè)chunk。
其中,chunk2、4、5、7、9、10、11、12是已分配給 set 的塊;chunkl、3、6、8 為未分配的塊;chunk 1、6、10是讀寫次數(shù)較多的塊;chunk 3是讀寫次數(shù)較少的塊。set9、ll、12已獲得至少一個(gè)chunk ;經(jīng)過對(duì)各個(gè)set統(tǒng)計(jì)參數(shù)的判斷,判斷set 2滿足再分配一個(gè)chunk的條件,然后就可以在未分配的塊(1、3、6、8)中選擇空閑且讀寫次數(shù)低于設(shè)定閾值的塊,即chunk3分配給滿足分配塊條件的set2,這里設(shè)定閾值可以在磁盤緩存建立時(shí)設(shè)定,例如設(shè)定成I次或0次。具體選擇過程為chunk I是空的,但是被讀寫的次數(shù)過多;尋找下一個(gè)chunk 3,此chunk為空,且讀寫次數(shù)在未分配的chunk中最少,所以chunk 3作為選定的chunk被分配。另外,所述利用所述塊來進(jìn)行所述第一區(qū)域內(nèi)的組的動(dòng)態(tài)收縮,具體包括判斷所述第二區(qū)域所預(yù)留的塊數(shù)量是否達(dá)到回收閾值,若達(dá)到,則掃描所述第一區(qū)域內(nèi)各個(gè)組的統(tǒng)計(jì)參數(shù),判斷是否存在達(dá)到組內(nèi)塊回收閾值的組;
若存在,則回收滿足上述條件的組中的塊,對(duì)所回收的塊進(jìn)行擦除操作,并將其上的所有字節(jié)位重置。舉例來說,如圖5所示為本發(fā)明實(shí)施例所舉出的具體實(shí)例中組的動(dòng)態(tài)收縮的示意圖,圖5中所有的chunk均已分配,此時(shí)判斷塊數(shù)量達(dá)到了回收閾值,需要回收符合條件的已分配chunk,在該實(shí)例中回收閾值為0,也可以設(shè)置其他的回收閾值。然后,掃描每個(gè)set的統(tǒng)計(jì)參數(shù),判斷是否存在達(dá)到組內(nèi)塊回收閾值的set,發(fā)現(xiàn)set 12符合達(dá)到組內(nèi)塊回收閾值的條件,那么回收該setl2上的chunk5,并對(duì)回收的chunk5進(jìn)行擦除操作,將其上的所有字節(jié)位重置。在該實(shí)施例中,組內(nèi)塊回收閾值可以設(shè)定成組內(nèi)塊的讀寫次數(shù)為I次,當(dāng)然也可以設(shè)置成其他的數(shù)值。通過以上方法實(shí)施例,就能夠動(dòng)態(tài)調(diào)整與磁盤區(qū)域關(guān)聯(lián)的磁盤緩存組的大小,提高應(yīng)用程序使用磁盤數(shù)據(jù)的緩存命中率,提高磁盤緩存的空間利用率,從而提高系統(tǒng)輸入輸出性能。本發(fā)明實(shí)施例還提供了一種磁盤緩存的管理裝置,如圖6所示為本發(fā)明實(shí)施例所提供磁盤緩存的管理裝置的結(jié)構(gòu)示意圖,所述管理裝置包括磁盤緩存劃分單元,用于將磁盤緩存劃分為第一區(qū)域和第二區(qū)域,第一區(qū)域用于在該磁盤緩存創(chuàng)建時(shí)生成預(yù)分配的若干個(gè)組set,其中為每個(gè)所述組建立與磁盤內(nèi)區(qū)域的映射,且第二個(gè)區(qū)域預(yù)留;具體實(shí)現(xiàn)過程見以上方法實(shí)施例中所述。塊組織單元,用于將第二區(qū)域的空間組織成一系列的塊chunk,并設(shè)置所述塊的大??;具體實(shí)現(xiàn)過程見以上方法實(shí)施例中所述。組動(dòng)態(tài)伸縮單元,用于利用所述塊進(jìn)行所述第一區(qū)域內(nèi)的組的動(dòng)態(tài)擴(kuò)展或收縮。具體實(shí)現(xiàn)過程見以上方法實(shí)施例中所述。在具體實(shí)現(xiàn)過程中,所述組動(dòng)態(tài)伸縮單元可包括組動(dòng)態(tài)擴(kuò)展模塊,用于根據(jù)所述第一區(qū)域內(nèi)各個(gè)組的統(tǒng)計(jì)參數(shù),判斷各個(gè)組是否滿足分配塊的條件;若判斷其中一個(gè)組滿足分配塊的條件,則在所述第二區(qū)域內(nèi)的未分配的塊中選擇空閑且讀寫次數(shù)低于設(shè)定閾值的塊,將該塊分配給所述滿足分配塊條件的組。具體實(shí)現(xiàn)過程見以上方法實(shí)施例中所述。所述組動(dòng)態(tài)伸縮單元可包括組動(dòng)態(tài)收縮模塊,用于判斷所述第二區(qū)域所預(yù)留的塊數(shù)量是否達(dá)到回收閾值,若達(dá)到,則掃描所述第一區(qū)域內(nèi)各個(gè)組的統(tǒng)計(jì)參數(shù),判斷是否存在達(dá)到組內(nèi)塊回收閾值的組;若存在,則回收滿足上述條件的組中的塊,對(duì)所回收的塊進(jìn)行擦除操作,并將其上的所有字節(jié)位重置。具體實(shí)現(xiàn)過程見以上方法實(shí)施例中所述。另外,所述塊組織單元中還可包括參數(shù)記錄模塊,用于通過特定的元數(shù)據(jù)記錄所述第二區(qū)域內(nèi)的塊是否已被分配、是否空閑,以及塊的已讀寫次數(shù)。具體實(shí)現(xiàn)過程見以上方法實(shí)施例中所述。所述磁盤緩存劃分單元中還可包括組映射模塊,用于將磁盤內(nèi)的區(qū)域劃分為若干個(gè)連續(xù)的區(qū)域,將磁盤內(nèi)的第一個(gè)區(qū)域與所述磁盤緩存內(nèi)第一區(qū)域內(nèi)預(yù)分配的第一個(gè)組映射,將磁盤內(nèi)的第二個(gè)區(qū)域與所述磁盤緩存內(nèi)第一區(qū)域內(nèi)預(yù)分配的第二個(gè)組映射,以此類推,將磁盤內(nèi)的最后一個(gè)區(qū)域與所述磁盤緩存內(nèi)第一區(qū)域內(nèi)預(yù)分配的最后一個(gè)組映射。具體實(shí)現(xiàn)過程見以上方法實(shí)施例中所述。值得注意的是,上述管理裝置實(shí)施例中,所包括的各個(gè)單元只是按照功能邏輯進(jìn)行劃分的,但并不局限于上述的劃分,只要能夠?qū)崿F(xiàn)相應(yīng)的功能即可;另外,各功能單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護(hù)范圍。另外,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,相應(yīng)的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。綜上所述,本發(fā)明實(shí)施例能夠動(dòng)態(tài)調(diào)整與磁盤區(qū)域關(guān)聯(lián)的磁盤緩存組的大小,提高應(yīng)用程序使用磁盤數(shù)據(jù)的緩存命中率,提高磁盤緩存的空間利用率,從而提高系統(tǒng)輸入輸出性能。以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明實(shí)施例揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種磁盤緩存的管理方法,其特征在于,所述方法包括 將磁盤緩存劃分為第一區(qū)域和第二區(qū)域,第一區(qū)域用于在該磁盤緩存創(chuàng)建時(shí)生成預(yù)分配的若干個(gè)組set,其中為每個(gè)所述組建立與磁盤內(nèi)區(qū)域的映射; 將第二區(qū)域的空間組織成一系列的塊chunk ; 設(shè)置所述塊的大小,使所述塊用于進(jìn)行所述第一區(qū)域內(nèi)的組的動(dòng)態(tài)擴(kuò)展或收縮。
2.根據(jù)權(quán)利要求I所述的管理方法,其特征在于,所述使所述塊用于進(jìn)行所述第一區(qū)域內(nèi)的組的動(dòng)態(tài)擴(kuò)展,具體包括 根據(jù)所述第一區(qū)域內(nèi)各個(gè)組的統(tǒng)計(jì)參數(shù),判斷各個(gè)組是否滿足分配塊的條件; 若判斷其中一個(gè)組滿足分配塊的條件,則在所述第二區(qū)域內(nèi)未分配的塊中選擇空閑且讀寫次數(shù)低于設(shè)定閾值的塊,將該塊分配給所述滿足分配塊條件的組。
3.根據(jù)權(quán)利要求2所述的管理方法,其特征在于,所述各個(gè)組的統(tǒng)計(jì)參數(shù),包括如下一個(gè)或多個(gè)組中塊的讀次數(shù),組中塊的寫次數(shù),組的緩存命中率,組中臟塊的數(shù)目。
4.根據(jù)權(quán)利要求I所述的管理方法,其特征在于,所述使所述塊用于進(jìn)行所述第一區(qū)域內(nèi)的組的動(dòng)態(tài)收縮,具體包括 判斷所述第二區(qū)域內(nèi)的塊數(shù)量是否達(dá)到回收閾值,若達(dá)到,則掃描所述第一區(qū)域內(nèi)各個(gè)組的統(tǒng)計(jì)參數(shù),判斷是否存在達(dá)到組內(nèi)塊回收閾值的組; 若存在,則回收滿足上述條件的組中的塊,對(duì)所回收的塊進(jìn)行擦除操作,并將其上的所有字節(jié)位重置。
5.根據(jù)權(quán)利要求1-4其中之一所述的管理方法,其特征在于, 通過特定的元數(shù)據(jù)記錄所述第二區(qū)域內(nèi)的塊是否已被分配、是否空閑,以及塊的已讀寫次數(shù)。
6.根據(jù)權(quán)利要求I所述的管理方法,其特征在于,所述為每個(gè)所述組建立與磁盤內(nèi)區(qū)域的映射,具體包括 將磁盤內(nèi)的區(qū)域劃分為若干個(gè)連續(xù)的區(qū)域; 將磁盤內(nèi)的第一個(gè)區(qū)域與所述磁盤緩存內(nèi)第一區(qū)域內(nèi)預(yù)分配的第一個(gè)組映射,將磁盤內(nèi)的第二個(gè)區(qū)域與所述磁盤緩存內(nèi)第一區(qū)域內(nèi)預(yù)分配的第二個(gè)組映射,以此類推,將磁盤內(nèi)的最后一個(gè)區(qū)域與所述磁盤緩存內(nèi)第一區(qū)域內(nèi)預(yù)分配的最后一個(gè)組映射。
7.根據(jù)權(quán)利要求I所述的管理方法,其特征在于,所述將磁盤緩存劃分為第一區(qū)域和第二區(qū)域,具體包括 將磁盤緩存劃分成相鄰的兩個(gè)空間,其中,第一區(qū)域和第二區(qū)域相鄰; 或,將磁盤緩存劃分成交叉的多個(gè)空間,其中,第一區(qū)域和第二區(qū)域交叉分布。
8.—種磁盤緩存的管理裝置,其特征在于,所述管理裝置包括 磁盤緩存劃分單元,用于將磁盤緩存劃分為第一區(qū)域和第二區(qū)域,第一區(qū)域用于在該磁盤緩存創(chuàng)建時(shí)生成預(yù)分配的若干個(gè)組set,其中為每個(gè)所述組建立與磁盤內(nèi)區(qū)域的映射,且第二個(gè)區(qū)域預(yù)留; 塊組織單元,用于將第二區(qū)域的空間組織成一系列的塊chunk,并設(shè)置所述塊的大??; 組動(dòng)態(tài)伸縮單元,用于利用所述塊進(jìn)行所述第一區(qū)域內(nèi)的組的動(dòng)態(tài)擴(kuò)展或收縮。
9.如權(quán)利要求8所述的管理裝置,其特征在于,所述組動(dòng)態(tài)伸縮單元包括 組動(dòng)態(tài)擴(kuò)展模塊,用于根據(jù)所述第一區(qū)域內(nèi)各個(gè)組的統(tǒng)計(jì)參數(shù),判斷各個(gè)組是否滿足分配塊的條件;若判斷其中一個(gè)組滿足分配塊的條件,則在所述第二個(gè)區(qū)域內(nèi)未分配的塊中選擇空閑且讀寫次數(shù)低于設(shè)定閾值的塊,將該塊分配給所述滿足分配塊條件的組。
10.如權(quán)利要求8所述的管理裝置,其特征在于,所述組動(dòng)態(tài)伸縮單元包括 組動(dòng)態(tài)收縮模塊,用于判斷所述第二區(qū)域所預(yù)留的塊數(shù)量是否達(dá)到回收閾值,若達(dá)到,則掃描所述第一區(qū)域內(nèi)各個(gè)組的統(tǒng)計(jì)參數(shù),判斷是否存在達(dá)到組內(nèi)塊回收閾值的組;若存在,則回收滿足上述條件的組中的塊,對(duì)所回收的塊進(jìn)行擦除操作,并將其上的所有字節(jié)位重置。
11.如權(quán)利要求8所述的管理裝置,其特征在于,所述塊組織單元中還包括 參數(shù)記錄模塊,用于通過特定的元數(shù)據(jù)記錄所述第二區(qū)域內(nèi)的塊是否已被分配、是否空閑,以及塊的已讀寫次數(shù)。
12.如權(quán)利要求8所述的管理裝置,其特征在于,所述磁盤緩存劃分單元中包括 組映射模塊,用于將磁盤內(nèi)的區(qū)域劃分為若干個(gè)連續(xù)的區(qū)域,將磁盤內(nèi)的第一個(gè)區(qū)域與所述磁盤緩存內(nèi)第一區(qū)域內(nèi)預(yù)分配的第一個(gè)組映射,將磁盤內(nèi)的第二個(gè)區(qū)域與所述磁盤緩存內(nèi)第一區(qū)域內(nèi)預(yù)分配的第二個(gè)組映射,以此類推,將磁盤內(nèi)的最后一個(gè)區(qū)域與所述磁盤緩存內(nèi)第一區(qū)域內(nèi)預(yù)分配的最后一個(gè)組映射。
全文摘要
一種磁盤緩存的管理方法及裝置。所述管理方法首先將磁盤緩存劃分為第一區(qū)域和第二區(qū)域,第一區(qū)域用于在該磁盤緩存創(chuàng)建時(shí)生成預(yù)分配的若干個(gè)組set,其中為每個(gè)所述組建立與磁盤內(nèi)區(qū)域的映射;將第二區(qū)域的空間組織成一系列的塊chunk;設(shè)置所述塊的大小,使所述塊用于進(jìn)行所述第一區(qū)域內(nèi)的組的動(dòng)態(tài)擴(kuò)展或收縮。通過上述管理方法就能夠動(dòng)態(tài)調(diào)整與磁盤區(qū)域關(guān)聯(lián)的磁盤緩存組的大小,提高應(yīng)用程序使用磁盤數(shù)據(jù)的緩存命中率,提高磁盤緩存的空間利用率,從而提高系統(tǒng)輸入輸出性能。
文檔編號(hào)G06F3/06GK102763070SQ201180006548
公開日2012年10月31日 申請(qǐng)日期2011年11月1日 優(yōu)先權(quán)日2011年11月1日
發(fā)明者溫正湖, 王婷, 秦嶺, 章曉峰 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
香港 | 汶上县| 福安市| 藁城市| 鸡泽县| 河间市| 宕昌县| 昌宁县| 阿拉善盟| 松桃| 江山市| 康定县| 广灵县| 德保县| 九龙县| 敦煌市| 北宁市| 五莲县| 肥西县| 武宁县| 长宁区| 武隆县| 林西县| 新泰市| 阿荣旗| 惠安县| 宁晋县| 界首市| 宿松县| 巴彦县| 绥化市| 巧家县| 山西省| 张家口市| 西华县| 通山县| 阳泉市| 襄樊市| 通辽市| 天门市| 新兴县|