一種管理高速緩存的方法及存儲裝置制造方法
【專利摘要】本發(fā)明實施例公開了管理高速緩存的方法及裝置,其中所述方法應(yīng)用于存儲裝置中,所述存儲裝置包括高速緩存,所述方法包括:所述存儲裝置確定保存在所述高速緩存中的目標數(shù)據(jù)是否為順序流中的數(shù)據(jù);當所述存儲裝置確定所述目標數(shù)據(jù)為順序流中的數(shù)據(jù)時,將所述目標數(shù)據(jù)寫入所述高速緩存的數(shù)據(jù)淘汰隊列;所述存儲裝置根據(jù)先進先出的原則,對所述高速緩存中寫入所述數(shù)據(jù)淘汰隊列中的所述目標數(shù)據(jù)進行淘汰處理。本發(fā)明實施例,可有效將高速緩存中的順序流數(shù)據(jù)快速進行淘汰,保證高速緩存的高效利用率。
【專利說明】一種管理高速緩存的方法及存儲裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲領(lǐng)域,尤其涉及一種管理高速緩存的方法及存儲裝置。
【背景技術(shù)】
[0002]高速緩存是存在于主存(比如,硬盤)與CPU之間的一級存儲器,由靜態(tài)存儲芯片(Static RAM, SRAM)組成,容量比較小但速度比主存高得多,接近于CPU的速度。局部性原理是高速緩存的理論基礎(chǔ)。局部性原理分為時間局部性和空間局部性。其中,時間局部性是指:如果數(shù)據(jù)在時間點TO被訪問,那么從TO開始的一段時間內(nèi),該數(shù)據(jù)被再次訪問的可能性會比TO時刻之前高??臻g局部性是指:如果數(shù)據(jù)在時間點TO被訪問,那么從TO開始的一段時間內(nèi),該數(shù)據(jù)周圍的其他數(shù)據(jù)被訪問的可能性比TO時刻高。
[0003]因為局部性原理的存在,使得人們可以根據(jù)訪問歷史記錄來預(yù)測未來的輸入輸出訪問情況,進而將那些硬盤中預(yù)計相對會被頻繁訪問的數(shù)據(jù)提升到性能較高的存儲介質(zhì)中,再周期性地將數(shù)據(jù)同步回低速設(shè)備(比如硬盤中),從而提升整個系統(tǒng)的性能。
[0004]目前,存儲裝置可通過輪轉(zhuǎn)算法(CLOCK算法)對高速緩存中的數(shù)據(jù)進行管理,在CLOCK算法中,將高速緩存中的數(shù)據(jù)從邏輯上組織在一個環(huán)狀數(shù)據(jù)結(jié)構(gòu)中,并配有一個指針,稱為CLOCK指針。CLOCK指針按照一定的速率,按照順時針或者逆時針方向循環(huán)遍歷所述環(huán)狀數(shù)據(jù)結(jié)構(gòu)中的高速緩存中的數(shù)據(jù)。同時,高速緩存中的每個數(shù)據(jù)有一個狀態(tài)屬性參數(shù) recency,
[0005]當數(shù)據(jù)被訪問時,其recency取值I,當CLOCK指針旋轉(zhuǎn)到一個數(shù)據(jù),當所述數(shù)據(jù)的recency取值為I時,將所述數(shù)據(jù)的recency修改為O,所述數(shù)據(jù)的recency取值為O時,將所述數(shù)據(jù)從所述高速緩存中淘汰。
[0006]上述現(xiàn)有技術(shù)提供了一種對高速緩存中的數(shù)據(jù)進行管理的方法,但是,該現(xiàn)有技術(shù)中以CLOCK指針旋轉(zhuǎn)的頻率決定數(shù)據(jù)在高速緩存中的保存時間,當被訪問的數(shù)據(jù)為順序流(順序流包括兩個或兩個以上在硬盤中地址連續(xù)的數(shù)據(jù))中的數(shù)據(jù)時,順序流的數(shù)據(jù)會很快占滿整個緩存,從而浪費高速緩存的空間,造成高速緩存的利用效率較低。
【發(fā)明內(nèi)容】
[0007]本發(fā)明實施例提供一種管理高速緩存的方法及存儲裝置,可有效將高速緩存中的順序流數(shù)據(jù)快速進行淘汰,保證高速緩存的高效利用率。
[0008]本發(fā)明第一方面提供一種管理高速緩存的方法,所述方法應(yīng)用于存儲裝置中,所述存儲裝置包括高速緩存,所述方法包括:
[0009]所述存儲裝置確定保存在所述高速緩存中的目標數(shù)據(jù)是否為順序流中的數(shù)據(jù);
[0010]當所述存儲裝置確定所述目標數(shù)據(jù)為順序流中的數(shù)據(jù)時,將所述目標數(shù)據(jù)寫入所述高速緩存的數(shù)據(jù)淘汰隊列;
[0011]所述存儲裝置根據(jù)先進先出的原則,對所述高速緩存中寫入所述數(shù)據(jù)淘汰隊列中的所述目標數(shù)據(jù)進行淘汰處理。[0012]結(jié)合第一方面,在第一種可行的實施方式中,所述方法還可包括:
[0013]當所述存儲裝置確定所述目標數(shù)據(jù)不是順序流中的數(shù)據(jù),且通過輪轉(zhuǎn)指針循環(huán)遍歷到所述目標數(shù)據(jù)時,所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值為第一數(shù)值,則將所述目標數(shù)據(jù)寫入數(shù)據(jù)淘汰候補隊列,并當所述數(shù)據(jù)淘汰隊列為空后,根據(jù)先進先出的原則,對所述高速緩存中寫入所述數(shù)據(jù)淘汰候補隊列中的所述目標數(shù)據(jù)進行淘汰處理。
[0014]結(jié)合第一方面,在第二種可行的實施方式中,所述方法還可包括:
[0015]當所述存儲裝置確定目標數(shù)據(jù)不是順序流中的數(shù)據(jù),且通過輪轉(zhuǎn)指針循環(huán)遍歷到所述目標數(shù)據(jù)時,所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值大于第一數(shù)值,則按照預(yù)設(shè)的遞減規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。
[0016]結(jié)合第一方面的第一種可行的實施方式,在第三種可行的實施方式中,所述方法還可包括:
[0017]當所述存儲裝置接收到請求訪問所述目標數(shù)據(jù)的訪問請求時,若所述目標數(shù)據(jù)在所述數(shù)據(jù)淘汰隊列或所述數(shù)據(jù)淘汰候補隊列中,從所述高速緩存中獲取所述目標數(shù)據(jù),將所述目標數(shù)據(jù)從所述數(shù)據(jù)淘汰隊列中或所述數(shù)據(jù)淘汰候補隊列中刪除,并按照與所述遞減規(guī)則反向的遞增規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。
[0018]結(jié)合第一方面的第二種可行的實施方式,在第四種可行的實施方式中,所述方法還可包括:
[0019]當所述存儲裝置接收到請求訪問所述目標數(shù)據(jù)的訪問請求時,從所述高速緩存中獲取所述目標數(shù)據(jù),并按照與所述遞減規(guī)則反向的遞增規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。
[0020]本發(fā)明第二方面提供一種存儲裝置,包括高速緩存,所述存儲裝置還包括:
[0021]判定模塊,用于確定保存在所述高速緩存中的目標數(shù)據(jù)是否為順序流中的數(shù)據(jù);
[0022]第一處理模塊,用于當所述判定模塊確定所述目標數(shù)據(jù)為順序流中的數(shù)據(jù)時,將所述目標數(shù)據(jù)寫入所述高速緩存的數(shù)據(jù)淘汰隊列,并根據(jù)先進先出的原則,對所述高速緩存中寫入所述數(shù)據(jù)淘汰隊列中的所述目標數(shù)據(jù)進行淘汰處理。
[0023]結(jié)合第二方面,在第一種可行的實施方式中,所述存儲裝置還可包括:
[0024]第二處理模塊,用于當所述判定模塊確定目標數(shù)據(jù)不是順序流中的數(shù)據(jù),且通過輪轉(zhuǎn)指針循環(huán)遍歷到所述目標數(shù)據(jù)時,所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值為第一數(shù)值,則將所述目標數(shù)據(jù)寫入數(shù)據(jù)淘汰候補隊列,并當所述數(shù)據(jù)淘汰隊列為空后,根據(jù)先進先出的原則,對所述高速緩存中寫入所述數(shù)據(jù)淘汰候補隊列中的所述目標數(shù)據(jù)進行淘汰處理。
[0025]結(jié)合第二方面,在第二種可行的實施方式中,所述存儲裝置還可包括:
[0026]第三處理模塊,用于當所述判定模塊確定所述目標數(shù)據(jù)不是順序流中的數(shù)據(jù),且通過輪轉(zhuǎn)指針循環(huán)遍歷到所述目標數(shù)據(jù)時,所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值大于第一數(shù)值,則按照預(yù)設(shè)的遞減規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。
[0027]結(jié)合第二方面的第一種可行的實施方式,在第三種可行的實施方式中,所述第二處理模塊,還用于當所述存儲裝置接收到請求訪問所述目標數(shù)據(jù)的訪問請求時,若所述目標數(shù)據(jù)在所述數(shù)據(jù)淘汰隊列或所述數(shù)據(jù)淘汰候補隊列中,則從所述高速緩存中獲取所述目標數(shù)據(jù),將所述目標數(shù)據(jù)從所述數(shù)據(jù)淘汰隊列中或所述數(shù)據(jù)淘汰候補隊列中刪除,并按照與所述遞減規(guī)則反向的遞增規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。
[0028]結(jié)合第二方面的第二種可行的實施方式,在第四種可行的實施方式中,所述第三處理模塊,還用于當所述存儲裝置接收到請求訪問所述目標數(shù)據(jù)的訪問請求時,從所述高速緩存中獲取所述目標數(shù)據(jù),并按照與所述遞減規(guī)則反向的遞增規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。
[0029]由上可見,在本發(fā)明的一些可行的實施方式中,所述存儲裝置確定保存在所述高速緩存中的目標數(shù)據(jù)是否為順序流中的數(shù)據(jù);當所述存儲裝置確定所述目標數(shù)據(jù)為順序流中的數(shù)據(jù)時,將所述目標數(shù)據(jù)寫入所述高速緩存的數(shù)據(jù)淘汰隊列;所述存儲裝置根據(jù)先進先出的原則,對所述高速緩存中寫入所述數(shù)據(jù)淘汰隊列中的所述目標數(shù)據(jù)進行淘汰處理。由此,本發(fā)明實施例通過數(shù)據(jù)淘汰隊列管理順序流中的目標數(shù)據(jù)的淘汰,可有效將高速緩存中屬于順序流的目標數(shù)據(jù)進行淘汰,保證高速緩存的高效利用率。
【專利附圖】
【附圖說明】
[0030]圖1為本發(fā)明的管理高速緩存的方法的一實施例的流程示意圖。
[0031]圖2為本發(fā)明的管理高速緩存的方法的另一實施例的流程示意圖。
[0032]圖3為本發(fā)明的存儲裝置的一實施例的結(jié)構(gòu)組成示意圖。
[0033]圖4為本發(fā)明的存儲裝置的另一實施例的結(jié)構(gòu)組成示意圖。
[0034]圖5為本發(fā)明的存儲裝置的另一實施例的結(jié)構(gòu)組成示意圖。
【具體實施方式】
[0035]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明作進一步地詳細描述。
[0036]圖1為本發(fā)明的管理高速緩存的方法的一實施例的流程示意圖。具體實現(xiàn)中,本發(fā)明實施例的管理高速緩存的方法可應(yīng)用于存儲裝置中,所述存儲裝置包括高速緩存。如圖1所示,本發(fā)明實施例的方法可包括:
[0037]步驟S110,存儲裝置確定保存在所述高速緩存中的目標數(shù)據(jù)是否為順序流中的數(shù)據(jù)。
[0038]具體實現(xiàn)中,本發(fā)明實施例的順序流可包括兩個或兩個以上在硬盤等低速設(shè)備中地址連續(xù)的數(shù)據(jù),順序流的判斷方法多種多樣,在比不進行贅述。以硬盤為例,比如,比如,當四個被連續(xù)訪問的數(shù)據(jù)的邏輯快地址依次遞增時,則可認為這四個數(shù)據(jù)形成一個順序流,其中四個數(shù)據(jù)的均為該順序流中的數(shù)據(jù)。
[0039]步驟S111,當所述存儲裝置確定所述目標數(shù)據(jù)為順序流中的數(shù)據(jù)時,將所述目標數(shù)據(jù)寫入所述高速緩存的數(shù)據(jù)淘汰隊列。
[0040]具體實現(xiàn)中,在步驟S111,當將所述目標數(shù)據(jù)寫入所述高速緩存的數(shù)據(jù)淘汰隊列時,若所述順序流中的其他數(shù)據(jù)未寫入所述數(shù)據(jù)淘汰隊列中,本發(fā)明實施例,還可將所述目標數(shù)據(jù)所屬的順序流中的其他數(shù)據(jù)也寫入所述數(shù)據(jù)淘汰隊列中。并且,順序流中的數(shù)據(jù)在所述數(shù)據(jù)淘汰隊列中的排放順序與所述數(shù)據(jù)在順序流中的順序可一致。
[0041]假設(shè),硬盤中的數(shù)據(jù)的一個順序流中的數(shù)據(jù)的地址分別為:1、2、3、4。當存儲裝置接收到訪問地址為4的數(shù)據(jù)時,在把地址為4的數(shù)據(jù)寫入高速緩存時,檢查硬盤中地址為1、2、3的數(shù)據(jù)是不是都在高速緩存中,如果都在高速緩存中,這時,可識別出地址4的數(shù)據(jù)為順序流中的數(shù)據(jù),這樣,存儲裝置可在將地址為4的數(shù)據(jù)寫入高速緩存的數(shù)據(jù)淘汰隊列時,并且,將地址1-3的數(shù)據(jù)也寫入所述數(shù)據(jù)淘汰隊列。
[0042]當然,具體實現(xiàn)中,當將所述目標數(shù)據(jù)寫入所述高速緩存的數(shù)據(jù)淘汰隊列時,所述目標數(shù)據(jù)所屬的順序流的中的其他數(shù)據(jù)也可能已經(jīng)寫入了所述數(shù)據(jù)淘汰隊列,則此時,僅將所述目標數(shù)據(jù)寫入所述數(shù)據(jù)淘汰隊列即可。
[0043]步驟S112,所述存儲裝置根據(jù)先進先出的原則,對所述高速緩存中寫入所述數(shù)據(jù)淘汰隊列中的所述目標數(shù)據(jù)進行淘汰處理。
[0044]具體實現(xiàn)中,本發(fā)明實施例的數(shù)據(jù)淘汰隊列可為先進先出(First In First Out,FIFO)隊列,這樣在從數(shù)據(jù)淘汰隊列中淘汰數(shù)據(jù)時,可優(yōu)先淘汰先進入隊列的數(shù)據(jù)。當然,本發(fā)明實施例的數(shù)據(jù)淘汰隊列也可為其他形式的隊列,并不限于FIFO。
[0045]由上可見,在本發(fā)明上述實施例中,將順序流的數(shù)據(jù)的淘汰單獨通過數(shù)據(jù)淘汰隊列來完成,可有效將高速緩存中的順序流數(shù)據(jù)快速進行淘汰,保證高速緩存的高效利用率。
[0046]圖2為本發(fā)明的管理高速緩存的方法的另一實施例的流程示意圖。如圖2所示,其可包括:
[0047]步驟S210,存儲裝置確定保存在所述高速緩存中的目標數(shù)據(jù)是否為順序流中的數(shù)據(jù)。
[0048]具體實現(xiàn)中,步驟S210與步驟SllO可相同,在此可不進行贅述。
[0049]步驟S211,當所述存儲裝置確定所述目標數(shù)據(jù)為順序流中的數(shù)據(jù)時,將所述目標數(shù)據(jù)寫入所述高速緩存的數(shù)據(jù)淘汰隊列。
[0050]具體實現(xiàn)中,步驟S211與步驟Slll可相同,在此可不進行贅述。
[0051]具體實現(xiàn)中,將所述目標數(shù)據(jù)寫入所述高速緩存的數(shù)據(jù)淘汰隊列之后,還可將所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)(可簡記為iecencyl)取值為第一數(shù)值。具體實現(xiàn)中,本發(fā)明實施例可通過當前狀態(tài)屬性參數(shù)的取值來指示目標數(shù)據(jù)是否即將被淘汰。比如,當所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)recencyl取值為第一數(shù)值(比如,第一數(shù)值可為“O”)時,表示所述目標數(shù)據(jù)是即將從高速緩存中淘汰的數(shù)據(jù)。
[0052]步驟S212,所述存儲裝置根據(jù)先進先出的原則,對所述高速緩存中寫入所述數(shù)據(jù)淘汰隊列中的所述目標數(shù)據(jù)進行淘汰處理。
[0053]具體實現(xiàn)中,步驟S212可與步驟SI 12相同,在此可不進行贅述。
[0054]步驟S221,當所述存儲裝置確定所述目標數(shù)據(jù)不是順序流中的數(shù)據(jù),且通過輪轉(zhuǎn)指針循環(huán)遍歷到所述目標數(shù)據(jù)時,所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值為第一數(shù)值,則將所述目標數(shù)據(jù)寫入數(shù)據(jù)淘汰候補隊列,并當所述數(shù)據(jù)淘汰隊列為空后,根據(jù)先進先出的原則,對所述高速緩存中寫入所述數(shù)據(jù)淘汰候補隊列中的所述目標數(shù)據(jù)進行淘汰處理。
[0055]步驟S222,當所述存儲裝置接收到請求訪問所述目標數(shù)據(jù)的訪問請求時,若所述目標數(shù)據(jù)在所述數(shù)據(jù)淘汰隊列或所述數(shù)據(jù)淘汰候補隊列中,從所述高速緩存中獲取所述目標數(shù)據(jù),將所述目標數(shù)據(jù)從所述數(shù)據(jù)淘汰隊列中或所述數(shù)據(jù)淘汰候補隊列中刪除,并按照與所述遞減規(guī)則反向的遞增規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。
[0056]步驟S231,當所述存儲裝置確定所述目標數(shù)據(jù)不是順序流中的數(shù)據(jù),且通過輪轉(zhuǎn)指針循環(huán)遍歷到所述目標數(shù)據(jù)時,所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值大于第一數(shù)值,則按照預(yù)設(shè)的遞減規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。
[0057]步驟S232,當所述存儲裝置接收到請求訪問所述目標數(shù)據(jù)的訪問請求時,從所述高速緩存中獲取所述目標數(shù)據(jù),并按照與所述遞減規(guī)則反向的遞增規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。
[0058]具體實現(xiàn)中,在步驟S221或步驟S231,本發(fā)明實施例可通過輪轉(zhuǎn)指針循環(huán)遍歷高速緩存中的數(shù)據(jù),并根據(jù)輪轉(zhuǎn)指針遍歷到的目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值,對高速緩存中的所述目標數(shù)據(jù)是否需要被淘汰進行相應(yīng)處理。比如,在步驟S221或步驟S231,可通過CLOCK指針按照預(yù)定的速度和預(yù)定的方向(比如,順時針或逆時針)循環(huán)遍歷所述高速緩存中的數(shù)據(jù),當所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值為第一數(shù)值,則將所述目標數(shù)據(jù)寫入數(shù)據(jù)淘汰候補隊列,并當所述數(shù)據(jù)淘汰隊列為空后,根據(jù)先進先出的原則,對所述高速緩存中寫入所述數(shù)據(jù)淘汰候補隊列中的所述目標數(shù)據(jù)進行淘汰處理。如前所述,當所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)recencyl取值為第一數(shù)值(比如,第一數(shù)值可為“O”)時,表示所述目標數(shù)據(jù)是即將從高速緩存中淘汰的數(shù)據(jù);而當所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)recencyl的取值大于第一數(shù)值,則按照預(yù)設(shè)的遞減規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。具體實現(xiàn)中,當目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)recencyl的取值大于第一數(shù)值(比如,取值為“ I ”),表示在輪轉(zhuǎn)指針下次循環(huán)到所述目標數(shù)據(jù)之前,所述目標數(shù)據(jù)不會從所述高速緩存中淘汰。
[0059]所述按照預(yù)設(shè)的遞減規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值中的遞減規(guī)則可為遞減n,其中,η為正整數(shù)。本發(fā)明實施例,當目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)recencyl的取值大于第一數(shù)值(比如,recencyl的取值可為“ I”或“2”或其他)時,按照預(yù)設(shè)的遞減規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)recencyl的取值的作用在于,使所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)recencyl隨著輪轉(zhuǎn)指針循環(huán)的次數(shù)的增加,逐漸降低,直至降低為所述第一數(shù)值,由此,最終通過步驟S221將所述目標數(shù)據(jù)寫入數(shù)據(jù)淘汰候補隊列中,以便對所述目標數(shù)據(jù)進行淘汰處理。
[0060]由此可見,本發(fā)明實施例的CLOCK指針的作用不再像現(xiàn)有技術(shù)那樣直接用于淘汰數(shù)據(jù),而僅是選擇一些即將被淘汰的數(shù)據(jù)放入淘汰候補隊列,由淘汰候補隊列根據(jù)預(yù)定先進先出的規(guī)則實施數(shù)據(jù)的真正淘汰??捎行У貙Ω咚倬彺娴拇鎯﹃嚵械男阅苓M行削峰填谷。
[0061]具體實現(xiàn)中,在步驟S222中,充分考慮了即將被淘汰的數(shù)據(jù)重新變?yōu)闊狳c被訪問數(shù)據(jù)后的處理方案。具體的,在步驟S222,當處于數(shù)據(jù)淘汰隊列或數(shù)據(jù)淘汰候補隊列中的目標數(shù)據(jù)被訪問時,將所述目標數(shù)據(jù)從所述數(shù)據(jù)淘汰隊列中或所述數(shù)據(jù)淘汰候補隊列中刪除,并按照與所述遞減規(guī)則反向的遞增規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。由此,可避免變?yōu)闊狳c的目標數(shù)據(jù)被執(zhí)行淘汰處理。
[0062]其中,步驟S222或步驟S232中按照與所述遞減規(guī)則反向的遞增規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值,具體可為,將所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值遞增η。本發(fā)明實施例,將所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)recencyl的取值按照預(yù)設(shè)的遞增規(guī)則修改的作用在于,使所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)recencyl隨著訪問次數(shù)的增加,逐漸增加,由此,本發(fā)明實施例可使訪問頻繁的目標數(shù)據(jù)不會在短時間寫入數(shù)據(jù)淘汰候補隊列中,而避免了將熱點被訪問數(shù)據(jù)進行淘汰。[0063]具體實現(xiàn)中,在其他的實施例中,本發(fā)明的管理高速緩存的方法可僅包括圖2中S210-S221-S222的分支;或者,本發(fā)明的管理高速緩存的方法也可僅包括圖2中的S210-S231-S232 的分支。
[0064]具體實現(xiàn)中,本發(fā)明實施例的方法還可包括:通過歷史狀態(tài)屬性參數(shù)(可簡記為:recency2)記錄所述當前狀態(tài)屬性參數(shù)recencyl的歷史最近一次的取值。由此,本發(fā)明實施例可通過兩個狀態(tài)屬性參數(shù)來記錄高速緩存中的數(shù)據(jù)被訪問的狀態(tài),這樣便可記錄下數(shù)據(jù)曾經(jīng)被訪問的變化趨勢,比如,假設(shè)數(shù)據(jù)A, TO時刻recencyl取值為I, recency2取值為0,Tl時刻該數(shù)據(jù)A被再次訪問,則recencyl取值變?yōu)?,recency2取值將跟隨變?yōu)镮。由TO和Tl時刻的recencyl和recency2的取值的變化便可知,數(shù)據(jù)A在TO至Tl時刻的訪問趨勢是次數(shù)增多。
[0065]具體實現(xiàn)中,在本發(fā)明實施例包括歷史狀態(tài)屬性參數(shù)recency2和當前狀態(tài)屬性參數(shù)recencyl的前提下,本發(fā)明實施例的方法還可包括:
[0066]當輪轉(zhuǎn)指針(比如,CLOCK指針)連續(xù)掃描所述高速緩存中的X個數(shù)據(jù)后,所述X個數(shù)據(jù)中有Y個數(shù)據(jù)的歷史狀態(tài)屬性參數(shù)recency2大于當前狀態(tài)屬性參數(shù)recencyl,則倉ij建一個冷指針指向所述X個數(shù)據(jù)的第一個數(shù)據(jù);
[0067]其中,所述X和Y為正整數(shù)。
[0068]此時,輪轉(zhuǎn)指針可直接移至所述冷指針所指向的位置。
[0069]由此,本發(fā)明實施例通過冷指針來改變輪轉(zhuǎn)指針的指示位置,可便于輪轉(zhuǎn)指針跳到不常被訪問的數(shù)據(jù)區(qū)域,而直接迅速將這些數(shù)據(jù)移入淘汰候補隊列進行淘汰。這樣可提高高速緩存的數(shù)據(jù)的淘汰速率,提高整個系統(tǒng)的性能。
[0070]具體實現(xiàn)中,本發(fā)明實施例的方法還可包括:
[0071]當所述數(shù)據(jù)淘汰隊列中的數(shù)據(jù)量加上所述淘汰候補隊列中的數(shù)據(jù)量小于第一閾值時,加快所述輪轉(zhuǎn)指針(比如,CLOCK指針)遍歷所述高速緩存中的數(shù)據(jù)的速度;
[0072]當所述數(shù)據(jù)淘汰隊列中的數(shù)據(jù)量加上所述淘汰候補隊列中的數(shù)據(jù)量大于第二閾值時,將所述輪轉(zhuǎn)指針(比如,CLOCK指針)遍歷所述高速緩存中的數(shù)據(jù)的速度調(diào)整為所述預(yù)定的速度;
[0073]所述第二閾值大于所述第一閾值。具體實現(xiàn)中,所述第一閾值和所述第二閾值可為絕對的數(shù)值,也可是百分比,當采用百分比時,先將百分比乘上高速緩存中的總數(shù)量之后,再跟數(shù)據(jù)淘汰隊列中的數(shù)據(jù)量加上所述淘汰候補隊列中的數(shù)據(jù)量之和進行比較。
[0074]由此,本發(fā)明實施例通過控制輪轉(zhuǎn)指針的移動速度,從而保證淘汰候補隊列及數(shù)據(jù)淘汰隊列中的相對低價值數(shù)據(jù)的數(shù)據(jù)量保持在一個合理的水平,從而可達到有效吸收系統(tǒng)突發(fā)的輸入輸出的效果。相應(yīng)的,本發(fā)明實施例提供了可用于實施本發(fā)明的管理高速緩存的方法的存儲裝置的實施例。
[0075]圖3為本發(fā)明的存儲裝置的一實施例的結(jié)構(gòu)組成示意圖。如圖3所示,其可包括:高速緩存30、判定模塊31和第一處理模塊32,其中,
[0076]高速緩存30,用于緩存數(shù)據(jù);
[0077]判定模塊31,用于確定保存在所述高速緩存30中的目標數(shù)據(jù)是否為順序流中的數(shù)據(jù)。
[0078]第一處理模塊32,用于當所述判定模塊31確定所述目標數(shù)據(jù)為順序流中的數(shù)據(jù)時,將所述目標數(shù)據(jù)寫入所述高速緩存30的數(shù)據(jù)淘汰隊列,并根據(jù)先進先出的原則,對所述高速緩存30中寫入所述數(shù)據(jù)淘汰隊列中的所述目標數(shù)據(jù)進行淘汰處理。
[0079]具體實現(xiàn)中,本發(fā)明實施例的順序流可包括兩個或兩個以上在硬盤等低速設(shè)備中地址連續(xù)的數(shù)據(jù),順序流的判斷方法多種多樣,在比不進行贅述。以硬盤為例,比如,當四個被連續(xù)訪問的數(shù)據(jù)的邏輯快地址依次遞增時,則可認為這四個數(shù)據(jù)形成一個順序流,其中四個數(shù)據(jù)的均為該順序流中的數(shù)據(jù)。
[0080]具體實現(xiàn)中,當所述第一處理模塊32將所述目標數(shù)據(jù)寫入所述高速緩存30的數(shù)據(jù)淘汰隊列時,若所述順序流中的其他數(shù)據(jù)未寫入所述數(shù)據(jù)淘汰隊列中,本發(fā)明實施例中,所述第一處理模塊32還可用于將所述目標數(shù)據(jù)所屬的順序流中的其他數(shù)據(jù)也寫入所述數(shù)據(jù)淘汰隊列中。并且,所述第一處理模塊32將所述順序流中的數(shù)據(jù)在所述數(shù)據(jù)淘汰隊列中的排放順序與所述數(shù)據(jù)在順序流中的順序可一致。
[0081]假設(shè),硬盤中的數(shù)據(jù)的一個順序流中的數(shù)據(jù)的地址分別為:1、2、3、4。當存儲裝置接收到訪問地址為4的數(shù)據(jù)時,在把地址為4的數(shù)據(jù)寫入高速緩存時,檢查硬盤中地址為1、
2、3的數(shù)據(jù)是不是都在高速緩存中,如果都在高速緩存中,這時,判定模塊31可確定地址4的數(shù)據(jù)為順序流中的數(shù)據(jù),這樣,第一處理模塊32可在將地址為4的數(shù)據(jù)寫入高速緩存的數(shù)據(jù)淘汰隊列時,將地址1-3的數(shù)據(jù)也寫入所述數(shù)據(jù)淘汰隊列。
[0082]當然,具體實現(xiàn)中,當將所述目標數(shù)據(jù)寫入所述高速緩存的數(shù)據(jù)淘汰隊列時,所述目標數(shù)據(jù)所屬的順序流的中的其他數(shù)據(jù)也可能已經(jīng)寫入了所述數(shù)據(jù)淘汰隊列,則此時,僅將所述目標數(shù)據(jù)寫入所述數(shù)據(jù)淘汰隊列即可。
[0083]具體實現(xiàn)中,本發(fā)明實施例的數(shù)據(jù)淘汰隊列可為先進先出(First In First Out,FIFO)隊列,這樣在從數(shù)據(jù)淘汰隊列中淘汰數(shù)據(jù)時,可優(yōu)先淘汰先進入隊列的數(shù)據(jù)。當然,本發(fā)明實施例的數(shù)據(jù)淘汰隊列也可為其他形式的隊列,并不限于FIFO。
[0084]由上可見,在本發(fā)明上述實施例中,將順序流的數(shù)據(jù)的淘汰單獨通過數(shù)據(jù)淘汰隊列來完成,可有效將高速緩存中的順序流數(shù)據(jù)快速進行淘汰,保證高速緩存的高效利用率。
[0085]圖4為本發(fā)明的存儲裝置的另一實施例的結(jié)構(gòu)組成示意圖。如圖4所示,其可包括:高速緩存40、判定模塊41、第一處理模塊42、第二處理模塊43以及第三處理模塊44,其中:
[0086]所述高速緩存40可與圖3中的高速緩存30相同,在此不進行贅述。
[0087]所述判定模塊41可與圖3中的判定模塊31相同,在此不進行贅述。
[0088]所述第一處理模塊42可與圖3中的第一處理模塊32相同,在此不進行贅述。
[0089]具體實現(xiàn)中,本發(fā)明實施例的第一處理模塊42在將所述目標數(shù)據(jù)寫入所述高速緩存的數(shù)據(jù)淘汰隊列之后,還可將所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)(可簡記為:recencyl)取值為第一數(shù)值。具體實現(xiàn)中,本發(fā)明實施例可通過當前狀態(tài)屬性參數(shù)的取值來指示目標數(shù)據(jù)是否即將被淘汰。比如,當所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)recencyl取值為第一數(shù)值(比如,第一數(shù)值可為“O”)時,表示所述目標數(shù)據(jù)是即將從高速緩存中淘汰的數(shù)據(jù)。
[0090]所述第二處理模塊43,用于當所述判定模塊41確定目標數(shù)據(jù)不是順序流中的數(shù)據(jù),且通過輪轉(zhuǎn)指針循環(huán)遍歷到所述目標數(shù)據(jù)時,所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值為第一數(shù)值,則將所述目標數(shù)據(jù)寫入數(shù)據(jù)淘汰候補隊列,并當所述數(shù)據(jù)淘汰隊列為空后,根據(jù)先進先出的原則,對所述高速緩存40中寫入所述數(shù)據(jù)淘汰候補隊列中的所述目標數(shù)據(jù)進行淘汰處理,以及當所述存儲裝置接收到請求訪問所述目標數(shù)據(jù)的訪問請求時,若所述目標數(shù)據(jù)在所述數(shù)據(jù)淘汰隊列或所述數(shù)據(jù)淘汰候補隊列中,則從所述高速緩存40中獲取所述目標數(shù)據(jù),將所述目標數(shù)據(jù)從所述數(shù)據(jù)淘汰隊列中或所述數(shù)據(jù)淘汰候補隊列中刪除,并按照與所述遞減規(guī)則反向的遞增規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。
[0091]所述第三處理模塊44,用于當所述判定模塊41確定所述目標數(shù)據(jù)不是順序流中的數(shù)據(jù),且通過輪轉(zhuǎn)指針循環(huán)遍歷到所述目標數(shù)據(jù)時,所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值大于第一數(shù)值,則按照預(yù)設(shè)的遞減規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值,以及當所述存儲裝置接收到請求訪問所述目標數(shù)據(jù)的訪問請求時,從所述高速緩存中獲取所述目標數(shù)據(jù)給所述存儲裝置,并按照與所述遞減規(guī)則反向的遞增規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。
[0092]具體實現(xiàn)中,第二處理模塊43或第三處理模塊44可用于通過輪轉(zhuǎn)指針循環(huán)遍歷高速緩存中的數(shù)據(jù),并根據(jù)輪轉(zhuǎn)指針遍歷到的目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值,對高速緩存中的所述目標數(shù)據(jù)是否需要被淘汰進行相應(yīng)處理。比如,第二處理模塊43或第三處理模塊44,可用于通過CLOCK指針按照預(yù)定的速度和預(yù)定的方向(比如,順時針或逆時針)循環(huán)遍歷所述高速緩存中的數(shù)據(jù),當所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值為第一數(shù)值,則將所述目標數(shù)據(jù)寫入數(shù)據(jù)淘汰候補隊列,并當所述數(shù)據(jù)淘汰隊列為空后,根據(jù)先進先出的原則,對所述高速緩存中寫入所述數(shù)據(jù)淘汰候補隊列中的所述目標數(shù)據(jù)進行淘汰處理。如前所述,當所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)recencyl取值為第一數(shù)值(比如,第一數(shù)值可為“O”)時,表示所述目標數(shù)據(jù)是即將從高速緩存中淘汰的數(shù)據(jù);而當所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)recencyl的取值大于第一數(shù)值,則按照預(yù)設(shè)的遞減規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。具體實現(xiàn)中,當目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)recencyl的取值大于第一數(shù)值(比如,取值為“ 1”),表示在輪轉(zhuǎn)指針下次循環(huán)到所述目標數(shù)據(jù)之前,所述目標數(shù)據(jù)不會從所述高速緩存中淘汰。
[0093]其中,所述按照預(yù)設(shè)的遞減規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值中的遞減規(guī)則可為遞減n,其中,η為正整數(shù)。本發(fā)明實施例,當目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)recencyl的取值大于第一數(shù)值(比如,recencyl的取值可為“ I”或“2”或其他)時,按照預(yù)設(shè)的遞減規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)recencyl的取值的作用在于,使所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)recencyl隨著輪轉(zhuǎn)指針循環(huán)的次數(shù)的增加,逐漸降低,直至降低為所述第一數(shù)值,由此,最終通過步驟S221將所述目標數(shù)據(jù)寫入數(shù)據(jù)淘汰候補隊列中,以便對所述目標數(shù)據(jù)進行淘汰處理。
[0094]由此可見,本發(fā)明實施例的CLOCK指針的作用不再像現(xiàn)有技術(shù)那樣直接用于淘汰數(shù)據(jù),而僅是選擇一些即將被淘汰的數(shù)據(jù)放入淘汰候補隊列,由淘汰候補隊列根據(jù)預(yù)定先進先出的規(guī)則實施數(shù)據(jù)的真正淘汰??捎行У貙Ω咚倬彺娴拇鎯﹃嚵械男阅苓M行削峰填谷。
[0095]具體實現(xiàn)中,本發(fā)明實施例,充分考慮了即將被淘汰的數(shù)據(jù)重新變?yōu)闊狳c被訪問數(shù)據(jù)后的處理方案。具體的,當處于數(shù)據(jù)淘汰隊列或數(shù)據(jù)淘汰候補隊列中的目標數(shù)據(jù)被訪問時,第二處理模塊43可用于將所述目標數(shù)據(jù)從所述數(shù)據(jù)淘汰隊列中或所述數(shù)據(jù)淘汰候補隊列中刪除,并按照與所述遞減規(guī)則反向的遞增規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。由此,可避免變?yōu)闊狳c的目標數(shù)據(jù)被執(zhí)行淘汰處理。
[0096]其中,按照與所述遞減規(guī)則反向的遞增規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值,具體可為,將所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值遞增η。本發(fā)明實施例,將所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)recencyl的取值按照預(yù)設(shè)的遞增規(guī)則修改的作用在于,使所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)recencyl隨著訪問次數(shù)的增加,逐漸增加,由此,本發(fā)明實施例可使訪問頻繁的目標數(shù)據(jù)不會在短時間寫入數(shù)據(jù)淘汰候補隊列中,而避免了將熱點被訪問數(shù)據(jù)進行淘汰。
[0097]進一步,在其他的一些實施例中,本發(fā)明實施例的存儲裝置還可包括記錄模塊(未圖示)和/或指針管理模塊(未圖示),其中:
[0098]所述記錄模塊,用于通過歷史狀態(tài)屬性參數(shù)recency2記錄所述當前狀態(tài)屬性參數(shù)recencyl的歷史最近一次的取值。由此,本發(fā)明實施例可通過兩個狀態(tài)屬性參數(shù)來記錄高速緩存中的數(shù)據(jù)被訪問的狀態(tài),這樣便可記錄下數(shù)據(jù)曾經(jīng)被訪問的變化趨勢,比如,假設(shè)數(shù)據(jù)A,TO時刻recencyl取值為1,recency〗取值為0,Tl時刻該數(shù)據(jù)A被再次訪問,則recencyl取值變?yōu)?, recency2取值將跟隨變?yōu)镮。由TO和Tl時刻的recencyl和recency2的取值的變化便可知,數(shù)據(jù)A在TO至Tl時刻的訪問趨勢是次數(shù)增多。
[0099]所述指針管理模塊,用于當輪轉(zhuǎn)指針(比如,CLOCK指針)連續(xù)掃描所述高速緩存中的X個數(shù)據(jù)后,所述X個數(shù)據(jù)中有Y個數(shù)據(jù)的歷史狀態(tài)屬性參數(shù)recency2大于當前狀態(tài)屬性參數(shù)recencyl,則倉Il建一個冷指針指向所述X個數(shù)據(jù)的第一個數(shù)據(jù),并將所述輪轉(zhuǎn)指針直接移至所述冷指針所指向的數(shù)據(jù), 其中,所述X和Y為正整數(shù)。
[0100]由此,本發(fā)明實施例通過冷指針來改變輪轉(zhuǎn)指針的指示位置,可便于輪轉(zhuǎn)指針跳到不常被訪問的數(shù)據(jù)區(qū)域,而直接迅速將這些數(shù)據(jù)移入淘汰候補隊列進行淘汰。這樣可提高高速緩存的數(shù)據(jù)的淘汰速率,提高整個系統(tǒng)的性能。
[0101]具體實現(xiàn)中,所述指針管理模塊還用于當所述數(shù)據(jù)淘汰隊列中的數(shù)據(jù)量加上所述淘汰候補隊列中的數(shù)據(jù)量小于第一閾值時,加快所述輪轉(zhuǎn)指針(比如,CLOCK指針)遍歷所述高速緩存中的數(shù)據(jù)的速度;當所述數(shù)據(jù)淘汰隊列中的數(shù)據(jù)量加上所述淘汰候補隊列中的數(shù)據(jù)量大于第二閾值時,將所述輪轉(zhuǎn)指針(比如,CLOCK指針)遍歷所述高速緩存中的數(shù)據(jù)的速度調(diào)整為所述預(yù)定的速度;所述第二閾值大于所述第一閾值。具體實現(xiàn)中,所述第一閾值和所述第二閾值可為絕對的數(shù)值,也可是百分比,當采用百分比時,先將百分比乘上高速緩存中的總數(shù)量之后,再跟數(shù)據(jù)淘汰隊列中的數(shù)據(jù)量加上所述淘汰候補隊列中的數(shù)據(jù)量之和進行比較。
[0102]由此,本發(fā)明實施例通過控制輪轉(zhuǎn)指針的移動速度,從而保證淘汰候補隊列及數(shù)據(jù)淘汰隊列中的相對低價值數(shù)據(jù)的數(shù)據(jù)量保持在一個合理的水平,從而可達到有效吸收系統(tǒng)突發(fā)的輸入輸出的效果。
[0103]以上實施例均是從的管理高速緩存的設(shè)備所包含的功能模塊的角度對設(shè)備的結(jié)構(gòu)組成進行了限定,具體實現(xiàn)中,如圖5所示,作為本發(fā)明實施例的存儲裝置的一種硬件結(jié)構(gòu)實施例,本發(fā)明的存儲裝置可包括存儲器51和處理器52,其中,存儲器51包括高速緩存,除此之外,所述存儲器51中還存儲有特定的程序代碼,處理器52可通過調(diào)用存儲器51中的所述特定的程序代碼,用于執(zhí)行本發(fā)明圖1或圖2實施例所示的存儲裝置所執(zhí)行的流程。[0104] 以上所列舉的僅為本發(fā)明較佳實施例而已,當然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
【權(quán)利要求】
1.一種管理高速緩存的方法,其特征在于,所述方法應(yīng)用于存儲裝置中,所述存儲裝置包括高速緩存,所述方法包括: 所述存儲裝置確定保存在所述高速緩存中的目標數(shù)據(jù)是否為順序流中的數(shù)據(jù); 當所述存儲裝置確定所述目標數(shù)據(jù)為順序流中的數(shù)據(jù)時,將所述目標數(shù)據(jù)寫入所述高速緩存的數(shù)據(jù)淘汰隊列; 所述存儲裝置根據(jù)先進先出的原則,對所述高速緩存中寫入所述數(shù)據(jù)淘汰隊列中的所述目標數(shù)據(jù)進行淘汰處理。
2.如權(quán)利要求1所述的管理高速緩存的方法,其特征在于,還包括: 當所述存儲裝置確定所述目標數(shù)據(jù)不是順序流中的數(shù)據(jù),且通過輪轉(zhuǎn)指針循環(huán)遍歷到所述目標數(shù)據(jù)時,所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值為第一數(shù)值,則將所述目標數(shù)據(jù)寫入數(shù)據(jù)淘汰候補隊列,并當所述數(shù)據(jù)淘汰隊列為空后,根據(jù)先進先出的原則,對所述高速緩存中寫入所述數(shù)據(jù)淘汰候補隊列中的所述目標數(shù)據(jù)進行淘汰處理。
3.如權(quán)利要求1所述的管理高速緩存的方法,其特征在于,還包括: 當所述存儲裝置確定目標數(shù)據(jù)不是順序流中的數(shù)據(jù),且通過輪轉(zhuǎn)指針循環(huán)遍歷到所述目標數(shù)據(jù)時,所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值大于第一數(shù)值,則按照預(yù)設(shè)的遞減規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。
4.如權(quán)利要求2所述的管理高速緩存的方法,其特征在于,還包括: 當所述存儲裝置接收到請求訪問所述目標數(shù)據(jù)的訪問請求時,若所述目標數(shù)據(jù)在所述數(shù)據(jù)淘汰隊列或所述數(shù)據(jù)淘汰候補隊列中,從所述高速緩存中獲取所述目標數(shù)據(jù),將所述目標數(shù)據(jù)從所述數(shù)據(jù)淘汰隊列中或所述數(shù)據(jù)淘汰候補隊列中刪除,并按照與所述遞減規(guī)則反向的遞增規(guī)則修改所述目標數(shù)據(jù)的當`前狀態(tài)屬性參數(shù)的取值。
5.如權(quán)利要求3所述的管理高速緩存的方法,其特征在于,還包括: 當所述存儲裝置接收到請求訪問所述目標數(shù)據(jù)的訪問請求時,從所述高速緩存中獲取所述目標數(shù)據(jù),并按照與所述遞減規(guī)則反向的遞增規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。
6.一種存儲裝置,包括高速緩存,其特征在于,所述存儲裝置還包括: 判定模塊,用于確定保存在所述高速緩存中的目標數(shù)據(jù)是否為順序流中的數(shù)據(jù); 第一處理模塊,用于當所述判定模塊確定所述目標數(shù)據(jù)為順序流中的數(shù)據(jù)時,將所述目標數(shù)據(jù)寫入所述高速緩存的數(shù)據(jù)淘汰隊列,并根據(jù)先進先出的原則,對所述高速緩存中寫入所述數(shù)據(jù)淘汰隊列中的所述目標數(shù)據(jù)進行淘汰處理。
7.如權(quán)利要求6所述的存儲裝置,其特征在于,還包括: 第二處理模塊,用于當所述判定模塊確定目標數(shù)據(jù)不是順序流中的數(shù)據(jù),且通過輪轉(zhuǎn)指針循環(huán)遍歷到所述目標數(shù)據(jù)時,所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值為第一數(shù)值,則將所述目標數(shù)據(jù)寫入數(shù)據(jù)淘汰候補隊列,并當所述數(shù)據(jù)淘汰隊列為空后,根據(jù)先進先出的原則,對所述高速緩存中寫入所述數(shù)據(jù)淘汰候補隊列中的所述目標數(shù)據(jù)進行淘汰處理。
8.如權(quán)利要求6所述的存儲裝置,其特征在于,還包括: 第三處理模塊,用于當所述判定模塊確定所述目標數(shù)據(jù)不是順序流中的數(shù)據(jù),且通過輪轉(zhuǎn)指針循環(huán)遍歷到所述目標數(shù)據(jù)時,所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值大于第一數(shù)值,則按照預(yù)設(shè)的遞減規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。
9.如權(quán)利要求7所述的存儲裝置,其特征在于,所述第二處理模塊,還用于當所述存儲裝置接收到請求訪問所述目標數(shù)據(jù)的訪問請求時,若所述目標數(shù)據(jù)在所述數(shù)據(jù)淘汰隊列或所述數(shù)據(jù)淘汰候補隊列中,則從所述高速緩存中獲取所述目標數(shù)據(jù),將所述目標數(shù)據(jù)從所述數(shù)據(jù)淘汰隊列中或所述數(shù)據(jù)淘汰候補隊列中刪除,并按照與所述遞減規(guī)則反向的遞增規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。
10.如權(quán)利要求8所述的存儲裝置,其特征在于,所述第三處理模塊,還用于當所述存儲裝置接收到請求訪問所述目標數(shù)據(jù)的訪問請求時,從所述高速緩存中獲取所述目標數(shù)據(jù),并按照 與所述遞減規(guī)則反向的遞增規(guī)則修改所述目標數(shù)據(jù)的當前狀態(tài)屬性參數(shù)的取值。
【文檔編號】G06F12/08GK103761052SQ201310740472
【公開日】2014年4月30日 申請日期:2013年12月28日 優(yōu)先權(quán)日:2013年12月28日
【發(fā)明者】龔濤 申請人:華為技術(shù)有限公司