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

一種高效的nand閃存數(shù)據(jù)庫(kù)系統(tǒng)的緩存管理方法

文檔序號(hào):6547108閱讀:206來(lái)源:國(guó)知局
一種高效的nand閃存數(shù)據(jù)庫(kù)系統(tǒng)的緩存管理方法
【專(zhuān)利摘要】一種高效的NAND閃存數(shù)據(jù)庫(kù)系統(tǒng)的緩存管理方法,數(shù)據(jù)庫(kù)緩沖區(qū)由三個(gè)鏈表管理,三個(gè)鏈表都是根據(jù)最近最少使用原則來(lái)組織存儲(chǔ)數(shù)據(jù)對(duì)應(yīng)的邏輯頁(yè)號(hào),三個(gè)鏈表分別為冷干凈隊(duì)列鏈表LCC、冷臟頁(yè)隊(duì)列鏈表LDC、混合隊(duì)列鏈表LM,當(dāng)CPU處理數(shù)據(jù)庫(kù)系統(tǒng)上的數(shù)據(jù)I/O操作請(qǐng)求時(shí),首先檢查此數(shù)據(jù)是否在數(shù)據(jù)庫(kù)緩沖區(qū)中,如果數(shù)據(jù)在緩沖區(qū)中命中,則將該數(shù)據(jù)在對(duì)應(yīng)的隊(duì)列鏈表上的節(jié)點(diǎn)調(diào)整到混合隊(duì)列鏈表LM的頭部MRU,設(shè)置它的有效冷熱標(biāo)識(shí)位為熱標(biāo)識(shí);然后檢查混合鏈表LM長(zhǎng)度是否已經(jīng)超過(guò)預(yù)定的閾值,啟動(dòng)相應(yīng)操作;如果數(shù)據(jù)未在緩沖區(qū)命中,則檢查緩沖區(qū)是否有空余位置,本發(fā)明能夠獲得較高的命中率,以及整體的存儲(chǔ)系統(tǒng)性能,特別適用于對(duì)實(shí)時(shí)性要求較高的場(chǎng)景。
【專(zhuān)利說(shuō)明】一種高效的NAND閃存數(shù)據(jù)庫(kù)系統(tǒng)的緩存管理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)存儲(chǔ)設(shè)備的緩存【技術(shù)領(lǐng)域】,尤其涉及一種高效的NAND閃存數(shù)據(jù)庫(kù)系統(tǒng)的緩存管理方法。
【背景技術(shù)】
[0002]計(jì)算機(jī)存儲(chǔ)設(shè)備的緩存模塊能夠優(yōu)化I/O順序,減少對(duì)存儲(chǔ)設(shè)備的訪問(wèn)次數(shù),一種良好的緩存管理方法能夠獲得更高的命中率,能夠在整體上提高存儲(chǔ)系統(tǒng)的性能。因?yàn)榫彺嫣鎿Q策略的性能依賴于數(shù)據(jù)的訪問(wèn)特性,所以一種緩存替換方案在不同的數(shù)據(jù)訪問(wèn)特征下很難都獲得較好的性能。
[0003]閃存是一種非易失性的存儲(chǔ)器。它在斷電情況下仍然能夠保持存儲(chǔ)的數(shù)據(jù)信息。另外它的隨機(jī)訪問(wèn)特性、抗震能力強(qiáng)、低能耗、易移動(dòng)性等多方面特色使得其被廣泛用于移動(dòng)存儲(chǔ)卡和固態(tài)硬盤(pán)等多方面。NAND閃存的讀寫(xiě)速度不對(duì)稱(chēng)性使得在該介質(zhì)上的緩存替換方法也需要重新設(shè)計(jì)才能整體達(dá)到更好的性能。
[0004]當(dāng)CPU處理數(shù)據(jù)庫(kù)系統(tǒng)上的數(shù)據(jù)I/O操作請(qǐng)求時(shí),緩存替換算法都需要經(jīng)過(guò)以下步驟:
[0005](I)查找請(qǐng)求的數(shù)據(jù)是否在緩沖區(qū)中。
[0006](2)命中,則返回結(jié)果。
[0007](3)未命中,檢查緩沖區(qū)中是否有空余空間。
[0008](4)有空余空間,那么啟動(dòng)I/O操作將數(shù)據(jù)讀入緩沖區(qū)中,結(jié)束。
[0009](5)沒(méi)有空余空間,根據(jù)替換策略選擇被置換的數(shù)據(jù)。
[0010](6)檢查被置換的數(shù)據(jù)是干凈還是臟數(shù)據(jù)。
[0011](7)如果是臟數(shù)據(jù),寫(xiě)回外存,再啟動(dòng)I/O操作將數(shù)據(jù)讀入緩沖區(qū),結(jié)束。
[0012](8)如果是干凈數(shù)據(jù),直接啟動(dòng)I/O操作將數(shù)據(jù)讀入緩沖區(qū),結(jié)束。
[0013]現(xiàn)有的緩存替換策略可分為以下四種類(lèi)型:
[0014]一、根據(jù)訪問(wèn)時(shí)間決定數(shù)據(jù)替換。這一類(lèi)型中會(huì)維護(hù)一個(gè)隊(duì)列,隊(duì)列中的緩存項(xiàng)按照每個(gè)數(shù)據(jù)的最后被訪問(wèn)時(shí)間來(lái)排序。比如,在具有高局部性的數(shù)據(jù)訪問(wèn)模式下,替換時(shí)一般按照最近最少使用策略(LRU)選擇數(shù)據(jù)項(xiàng)替換出去。
[0015]二、根據(jù)訪問(wèn)頻率決定數(shù)據(jù)替換。這一類(lèi)型中會(huì)緩存數(shù)據(jù)頁(yè)的訪問(wèn)頻率。替換時(shí)按照一定優(yōu)先策略,比如最近最小頻率策略(LFU)、2Q等選擇數(shù)據(jù)項(xiàng)替換出去。
[0016]三、綜合訪問(wèn)時(shí)間和頻率決定數(shù)據(jù)替換。結(jié)合上面兩種類(lèi)型的優(yōu)缺點(diǎn),比如LRFU替換策略。
[0017]四、根據(jù)特定的數(shù)據(jù)訪問(wèn)模式?jīng)Q定數(shù)據(jù)替換。
[0018]目前基于NAND閃存的緩存管理方法也有一些,比如CFLRU替換策略。該策略在預(yù)定窗口內(nèi)首先替換干凈頁(yè),如果預(yù)定窗口內(nèi)沒(méi)有干凈頁(yè),則在預(yù)定窗口內(nèi)替換臟頁(yè)。再比如LRU-WSR策略,它對(duì)臟頁(yè)采用二次選擇機(jī)會(huì)使得臟頁(yè)不常駐緩沖區(qū)中。但它們各有優(yōu)劣,只在某些I/O訪問(wèn)場(chǎng)景中效果好。
【發(fā)明內(nèi)容】

[0019]為了克服上述現(xiàn)有技術(shù)存在的問(wèn)題,本發(fā)明的目的在于提供一種高效的NAND閃存數(shù)據(jù)庫(kù)系統(tǒng)的緩存管理方法,能夠獲得較高的命中率,以及整體的存儲(chǔ)系統(tǒng)性能。
[0020]為實(shí)現(xiàn)上述目的,本發(fā)明的采取的技術(shù)方案為:
[0021]一種高效的NAND閃存數(shù)據(jù)庫(kù)系統(tǒng)的緩存管理方法,包括以下步驟:
[0022]第一步,數(shù)據(jù)庫(kù)緩沖區(qū)由三個(gè)鏈表管理,三個(gè)鏈表都是根據(jù)最近最少使用原則來(lái)組織存儲(chǔ)數(shù)據(jù)對(duì)應(yīng)的邏輯頁(yè)號(hào),三個(gè)鏈表分別為冷干凈隊(duì)列鏈表LCC、冷臟頁(yè)隊(duì)列鏈表LDC、混合隊(duì)列鏈表LM,冷干凈隊(duì)列鏈表LCC上存儲(chǔ)的是被訪問(wèn)一次或者沒(méi)有被訪問(wèn)的冷干凈數(shù)據(jù)信息;冷臟頁(yè)隊(duì)列鏈表LDC上存儲(chǔ)的是被訪問(wèn)一次或者沒(méi)有被訪問(wèn)的是冷臟數(shù)據(jù)信息;冷干凈隊(duì)列鏈表LCC和冷臟頁(yè)隊(duì)列鏈表LDC都屬于冷區(qū);混合隊(duì)列鏈表LM上存儲(chǔ)的是至少被訪問(wèn)兩次的數(shù)據(jù)信息,包括熱干凈數(shù)據(jù)和熱臟數(shù)據(jù),屬于熱區(qū);
[0023]第二步,當(dāng)CPU處理數(shù)據(jù)庫(kù)系統(tǒng)上的數(shù)據(jù)I/O操作請(qǐng)求時(shí),首先檢查此數(shù)據(jù)是否在數(shù)據(jù)庫(kù)緩沖區(qū)中,先啟動(dòng)三個(gè)線程同時(shí)在三個(gè)鏈表上查找該數(shù)據(jù),如果數(shù)據(jù)在緩沖區(qū)中命中,則將該數(shù)據(jù)在對(duì)應(yīng)的隊(duì)列鏈表上的節(jié)點(diǎn)調(diào)整到混合隊(duì)列鏈表LM的頭部MRU,設(shè)置它的有效冷熱標(biāo)識(shí)位為熱標(biāo)識(shí);然后檢查混合鏈表LM長(zhǎng)度是否已經(jīng)超過(guò)預(yù)定的閾值,如果超過(guò)預(yù)定的閾值,則先執(zhí)行LRU-WSR算法移除一個(gè)熱區(qū)節(jié)點(diǎn)到冷區(qū)中,然后判斷數(shù)據(jù)I/O操作;否則直接判斷數(shù)據(jù)I/O操作類(lèi)型,當(dāng)數(shù)據(jù)I/O操作類(lèi)型為輸入操作,啟動(dòng)I/O操作返回緩沖區(qū)中的此數(shù)據(jù);當(dāng)數(shù)據(jù)I/O操作類(lèi)型為輸出操作,啟動(dòng)I/O操作更新緩沖區(qū)中數(shù)據(jù);
[0024]第三步,如果數(shù)據(jù)未在緩沖區(qū)命中,則檢查緩沖區(qū)是否有空余位置,如果緩存區(qū)有空余位置,則啟動(dòng)I/o操作將數(shù)據(jù)讀入緩沖區(qū)中的冷干凈隊(duì)列鏈表LCC的頭部MRU ;
[0025]第四步,如果緩沖區(qū)中無(wú)空余位置,則從緩沖區(qū)中三個(gè)鏈表上選擇一個(gè)鏈表的一個(gè)節(jié)點(diǎn)作為被替換節(jié)點(diǎn)從鏈表上刪除,首先檢查冷干凈隊(duì)列鏈表LCC長(zhǎng)度是否超過(guò)預(yù)定的下限比例閾值,如果超過(guò)此閾值,則從冷干凈隊(duì)列鏈表LCC的尾部選擇一個(gè)節(jié)點(diǎn)作為被替換節(jié)點(diǎn)從鏈表上刪除,然后啟動(dòng)I/O操作將數(shù)據(jù)讀入緩沖區(qū)中的冷干凈隊(duì)列鏈表LCC的頭部 MRU ;
[0026]第五步,如果冷干凈隊(duì)列鏈表LCC長(zhǎng)度低于預(yù)定的下限比例閾值,則從冷臟頁(yè)隊(duì)列鏈表LDC和混合隊(duì)列鏈表LM中按照概率替換機(jī)制選擇一個(gè)節(jié)點(diǎn)作為被替換節(jié)點(diǎn)從鏈表上刪除,計(jì)算替換概率來(lái)決定替換是否為冷臟數(shù)據(jù),如果是替換冷臟數(shù)據(jù),則從冷臟頁(yè)隊(duì)列鏈表LDC的尾部上選擇一個(gè)節(jié)點(diǎn)作為被替換節(jié)點(diǎn)從鏈表上刪除,然后將被替換節(jié)點(diǎn)對(duì)應(yīng)的冷臟數(shù)據(jù)寫(xiě)回閃存存儲(chǔ)區(qū)中,再啟動(dòng)I/O操作將數(shù)據(jù)讀入緩沖區(qū)中的冷干凈隊(duì)列鏈表LCC的頭部MRU;否則從混合隊(duì)列鏈表LM的尾部開(kāi)始向前選擇出第一個(gè)熱干凈頁(yè)節(jié)點(diǎn)作為被替換節(jié)點(diǎn)從鏈表上刪除,然后啟動(dòng)I/O操作將數(shù)據(jù)讀入緩沖區(qū)中的冷干凈隊(duì)列鏈表LCC的頭部 MRU。
[0027]本發(fā)明通過(guò)重新考慮NAND閃存的緩存系統(tǒng)中存儲(chǔ)介質(zhì)讀寫(xiě)不對(duì)稱(chēng)的特性而設(shè)計(jì)出一種高效的三鏈表管理模式,能夠在大部分場(chǎng)景下適用,能夠獲得較高的命中率,以及整體的存儲(chǔ)系統(tǒng)性能,特別適用于對(duì)實(shí)時(shí)性要求較高的場(chǎng)景。
【專(zhuān)利附圖】

【附圖說(shuō)明】[0028]圖1是本發(fā)明的流程圖。
[0029]圖2是本發(fā)明的三鏈表結(jié)構(gòu)示意圖。
[0030]圖3是本發(fā)明的緩存替換方法的詳細(xì)流程圖。
【具體實(shí)施方式】
[0031]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步地詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明的基本構(gòu)想,并不用于限定本發(fā)明。本領(lǐng)域技術(shù)人員可由本說(shuō)明書(shū)所表述的內(nèi)容了解本發(fā)明的其它優(yōu)點(diǎn)與功效。本發(fā)明還可以有其它不同的【具體實(shí)施方式】加以實(shí)施或應(yīng)用,本說(shuō)明書(shū)的各項(xiàng)細(xì)節(jié)也可以有基于不同觀點(diǎn)與應(yīng)用,在沒(méi)有違背本發(fā)明精神下可以進(jìn)行各種修飾或改變。
[0032]參照?qǐng)D1,一種高效的NAND閃存數(shù)據(jù)庫(kù)系統(tǒng)的緩存管理方法,包括以下步驟:
[0033]第一步,參照?qǐng)D2,數(shù)據(jù)庫(kù)緩沖區(qū)由三個(gè)鏈表管理,三個(gè)鏈表都是根據(jù)最近最少使用原則來(lái)組織存儲(chǔ)數(shù)據(jù)對(duì)應(yīng)的邏輯頁(yè)號(hào),三個(gè)鏈表分別為冷干凈隊(duì)列鏈表LCC、冷臟頁(yè)隊(duì)列鏈表LDC、混合隊(duì)列鏈表LM,冷干凈隊(duì)列鏈表LCC上存儲(chǔ)的是被訪問(wèn)一次或者沒(méi)有被訪問(wèn)的冷干凈數(shù)據(jù)信息;冷臟頁(yè)隊(duì)列鏈表LDC上存儲(chǔ)的是被訪問(wèn)一次或者沒(méi)有被訪問(wèn)的是冷臟數(shù)據(jù)信息;冷干凈隊(duì)列鏈表LCC和冷臟頁(yè)隊(duì)列鏈表LDC都屬于冷區(qū);混合隊(duì)列鏈表LM上存儲(chǔ)的是至少被訪問(wèn)兩次的數(shù)據(jù)信息,包括熱干凈數(shù)據(jù)和熱臟數(shù)據(jù),屬于熱區(qū);
[0034]第二步,當(dāng)CPU處理數(shù)據(jù)庫(kù)系統(tǒng)上的數(shù)據(jù)I/O操作請(qǐng)求時(shí),首先檢查此數(shù)據(jù)是否在數(shù)據(jù)庫(kù)緩沖區(qū)中,先啟動(dòng)三個(gè)線程同時(shí)在三個(gè)鏈表上查找該數(shù)據(jù),如果是在緩沖區(qū)中冷干凈隊(duì)列LCC鏈表上命中,則將該冷干凈頁(yè)調(diào)整為熱干凈頁(yè),即調(diào)整該數(shù)據(jù)對(duì)應(yīng)在冷干凈隊(duì)列LCC鏈表上的節(jié)點(diǎn)到混合隊(duì)列鏈表LM鏈表的MRU位置,設(shè)置它的有效冷熱標(biāo)識(shí)位為熱標(biāo)識(shí),例如設(shè)置cold-flag為0,表示為熱數(shù)據(jù),調(diào)整鏈表后需要判斷混合隊(duì)列鏈表LM長(zhǎng)度是否超過(guò)預(yù)定的閾值Threshold,比如通過(guò)帕雷托法則確定混合鏈表長(zhǎng)度閾值Threshold取值為0.2,如果超過(guò)此數(shù)值,則執(zhí)行LRU-WSR策略移除一個(gè)熱區(qū)節(jié)點(diǎn)到冷區(qū);
[0035]如果是在冷臟頁(yè)隊(duì)列LDC鏈表上命中,則將該冷臟頁(yè)調(diào)整為熱臟頁(yè),即從冷臟頁(yè)隊(duì)列LDC鏈表將該節(jié)點(diǎn)調(diào)整到混合隊(duì)列鏈表LM鏈表的MRU位置,設(shè)置它的有效冷熱標(biāo)識(shí)位為熱標(biāo)識(shí),比如設(shè)置cold-flag為0,表示為熱數(shù)據(jù),調(diào)整鏈表后需要判斷混合隊(duì)列鏈表LM鏈表長(zhǎng)度是否超過(guò)預(yù)定的閾值Threshold,如果超過(guò)此閾值,那么執(zhí)行LRU-WSR策略移除一個(gè)熱區(qū)節(jié)點(diǎn)到冷區(qū);
[0036]如果是在混合隊(duì)列鏈表LM上命中,將該數(shù)據(jù)頁(yè)節(jié)點(diǎn)調(diào)整到混合隊(duì)列鏈表LM的MRU位置;
[0037]第三步,如果請(qǐng)求數(shù)據(jù)沒(méi)有在緩沖區(qū)中命中,則檢查緩沖區(qū)是否有空余位置,如果緩沖區(qū)有空余位置,則啟動(dòng)1/0操作將數(shù)據(jù)讀入緩沖區(qū)中冷干凈隊(duì)列鏈表LCC的MRU位置;
[0038]第四步,如果緩沖區(qū)沒(méi)有空余位置,則從緩沖區(qū)中三個(gè)鏈表上選擇一個(gè)鏈表的一個(gè)節(jié)點(diǎn)作為被替換節(jié)點(diǎn)從鏈表上刪除騰出一塊緩存空間,如圖3所示,如果冷干凈隊(duì)列鏈表LCC鏈表長(zhǎng)度與緩沖區(qū)中數(shù)據(jù)個(gè)數(shù)之比大于預(yù)定的下限比例閾值,則選擇冷干凈隊(duì)列鏈表LCC鏈表的LRU位置的數(shù)據(jù)作為被替換數(shù)據(jù)從鏈表上刪除,然后再啟動(dòng)1/0操作將數(shù)據(jù)讀入緩沖區(qū)中的冷干凈隊(duì)列鏈表LCC的MRU位置;[0039]第五步,如果冷干凈隊(duì)列鏈表LCC長(zhǎng)度占整體長(zhǎng)度的比值低于預(yù)定的下限比例閾值,則計(jì)算替換概率replace-page來(lái)決定替換的數(shù)據(jù)頁(yè),比如已知讀數(shù)據(jù)的平均代價(jià)為p.RCost,寫(xiě)數(shù)據(jù)的平均代價(jià)為p.WCost,那么一種替換概率的計(jì)算公式為Pro=p.RCost/(p.RCost+p.WCost),如果當(dāng)產(chǎn)生從O到I區(qū)間內(nèi)的隨機(jī)數(shù)小于Pro時(shí),設(shè)置replace-page為1,則替換冷臟頁(yè),即替換冷臟隊(duì)列鏈表LDC的LRU位置的冷臟頁(yè);否則replace-page為0,替換熱干凈頁(yè),即替換混合隊(duì)列鏈表LM上LRU位置開(kāi)始向前的第一個(gè)熱干凈頁(yè),被替換出來(lái)的數(shù)據(jù)頁(yè),如果是臟頁(yè),那么寫(xiě)回存儲(chǔ)介質(zhì),否則直接選擇被替換節(jié)點(diǎn)從鏈表上刪除,然后再啟動(dòng)I/O操作將數(shù)據(jù)讀入緩沖區(qū)中的冷干凈隊(duì)列鏈表LCC的MRU位置。
[0040]另外,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述各實(shí)施例方法中的全部或部分步驟是可以通過(guò)程序指令來(lái)完成,該發(fā)明能夠在命中率以及讀寫(xiě)代價(jià)比上進(jìn)行權(quán)衡來(lái)提高整體的緩存替換效果。
[0041]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種高效的NAND閃存數(shù)據(jù)庫(kù)系統(tǒng)的緩存管理方法,其特征在于,包括以下步驟:第一步,數(shù)據(jù)庫(kù)緩沖區(qū)由三個(gè)鏈表管理,三個(gè)鏈表都是根據(jù)最近最少使用原則來(lái)組織存儲(chǔ)數(shù)據(jù)對(duì)應(yīng)的邏輯頁(yè)號(hào),三個(gè)鏈表分別為冷干凈隊(duì)列鏈表LCC、冷臟頁(yè)隊(duì)列鏈表LDCdg合隊(duì)列鏈表LM,冷干凈隊(duì)列鏈表LCC上存儲(chǔ)的是被訪問(wèn)一次或者沒(méi)有被訪問(wèn)的冷干凈數(shù)據(jù)信息;冷臟頁(yè)隊(duì)列鏈表LDC上存儲(chǔ)的是被訪問(wèn)一次或者沒(méi)有被訪問(wèn)的是冷臟數(shù)據(jù)信息;冷干凈隊(duì)列鏈表LCC和冷臟頁(yè)隊(duì)列鏈表LDC都屬于冷區(qū);混合隊(duì)列鏈表LM上存儲(chǔ)的是至少被訪問(wèn)兩次的數(shù)據(jù)信息,包括熱干凈數(shù)據(jù)和熱臟數(shù)據(jù),屬于熱區(qū); 第二步,當(dāng)CPU處理數(shù)據(jù)庫(kù)系統(tǒng)上的數(shù)據(jù)I/O操作請(qǐng)求時(shí),首先檢查此數(shù)據(jù)是否在數(shù)據(jù)庫(kù)緩沖區(qū)中,先啟動(dòng)三個(gè)線程同時(shí)在三個(gè)鏈表上查找該數(shù)據(jù),如果數(shù)據(jù)在緩沖區(qū)中命中,則將該數(shù)據(jù)在對(duì)應(yīng)的隊(duì)列鏈表上的節(jié)點(diǎn)調(diào)整到混合隊(duì)列鏈表LM的頭部MRU,設(shè)置它的有效冷熱標(biāo)識(shí)位為熱標(biāo)識(shí);然后檢查混合鏈表LM長(zhǎng)度是否已經(jīng)超過(guò)預(yù)定的閾值,如果超過(guò)預(yù)定的閾值,則先執(zhí)行LRU-WSR算法移除一個(gè)熱區(qū)節(jié)點(diǎn)到冷區(qū)中,然后判斷數(shù)據(jù)I/O操作;否則直接判斷數(shù)據(jù)I/O操作類(lèi)型,當(dāng)數(shù)據(jù)I/O操作類(lèi)型為輸入操作,啟動(dòng)I/O操作返回緩沖區(qū)中的此數(shù)據(jù);當(dāng)數(shù)據(jù)I/O操作類(lèi)型為輸出操作,啟動(dòng)I/O操作更新緩沖區(qū)中數(shù)據(jù); 第三步,如果數(shù)據(jù)未在緩沖區(qū)命中,則檢查緩沖區(qū)是否有空余位置,如果緩存區(qū)有空余位置,則啟動(dòng)I/O操作將數(shù)據(jù)讀入緩沖區(qū)中的冷干凈隊(duì)列鏈表LCC的頭部MRU ; 第四步,如果緩沖區(qū)中無(wú)空余位置,則從緩沖區(qū)中三個(gè)鏈表上選擇一個(gè)鏈表的一個(gè)節(jié)點(diǎn)作為被替換節(jié)點(diǎn)從鏈表上刪除,首先檢查冷干凈隊(duì)列鏈表LCC長(zhǎng)度是否超過(guò)預(yù)定的下限比例閾值,如果超過(guò)此閾值,則從冷干凈隊(duì)列鏈表LCC的尾部選擇一個(gè)節(jié)點(diǎn)作為被替換節(jié)點(diǎn)從鏈表上刪除,然后啟動(dòng)I/O操作將數(shù)據(jù)讀入緩沖區(qū)中的冷干凈隊(duì)列鏈表LCC的頭部MRU ; 第五步,如果冷干凈隊(duì)列鏈表LCC長(zhǎng)度低于預(yù)定的下限比例閾值,則從冷臟頁(yè)隊(duì)列鏈表LDC和混合隊(duì)列鏈表LM中按照概率替換機(jī)制選擇一個(gè)節(jié)點(diǎn)作為被替換節(jié)點(diǎn)從鏈表上刪除,計(jì)算替換概率來(lái)決定替換是否為冷臟數(shù)據(jù),如果是替換冷臟數(shù)據(jù),則從冷臟頁(yè)隊(duì)列鏈表LDC的尾部上選擇一個(gè)節(jié)點(diǎn)作為被替換節(jié)點(diǎn)從鏈表上刪除,然后將被替換節(jié)點(diǎn)對(duì)應(yīng)的冷臟數(shù)據(jù)寫(xiě)回閃存存儲(chǔ)區(qū)中,再啟動(dòng)I/O操作將數(shù)據(jù)讀入緩沖區(qū)中的冷干凈隊(duì)列鏈表LCC的頭部MRU ;否則從混合隊(duì)列鏈表LM的尾部開(kāi)始向前選擇出第一個(gè)熱干凈頁(yè)節(jié)點(diǎn)作為被替換節(jié)點(diǎn)從鏈表上刪除,然后啟動(dòng)I/O操作將數(shù)據(jù)讀入緩沖區(qū)中的冷干凈隊(duì)列鏈表LCC的頭部MRU。
【文檔編號(hào)】G06F17/30GK103984736SQ201410216063
【公開(kāi)日】2014年8月13日 申請(qǐng)日期:2014年5月21日 優(yōu)先權(quán)日:2014年5月21日
【發(fā)明者】崔金華, 伍衛(wèi)國(guó), 王寅峰, 段章峰 申請(qǐng)人:西安交通大學(xué), 深圳信息職業(yè)技術(shù)學(xué)院
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1