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

高速緩存控制系統(tǒng)的制作方法

文檔序號:6408913閱讀:254來源:國知局
專利名稱:高速緩存控制系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種用在計算機數(shù)據(jù)存貯裝置中的高速緩存控制系統(tǒng),尤其涉及在具有可拆卸安裝存儲元件(如磁盤或光盤等)的數(shù)據(jù)存儲裝置中減少功率損耗的高速緩存控制系統(tǒng)。
電池供電的便攜式計算機的普及使降低計算機系統(tǒng)功率損耗的需要變得十分重要。這是因為電池的容量是有限的,希望能最大限度地延長便攜式計算機的使用時間,而不必更換電池或為了對電池重新充電把計算機連接到某個主電源上。
此外,越來越引起人們重視的環(huán)境和生態(tài)問題也要求設(shè)計一種能量損耗降低的桌面?zhèn)€人計算機。
由于這種計算機一般都帶有移動部件(例如磁盤或光盤),因此,從總體上說,這種計算機的數(shù)據(jù)存儲子系統(tǒng)通常是設(shè)備功率損耗的主要部件。
本發(fā)明是針對降低在具有可拆卸安裝元件(例如磁盤)的數(shù)據(jù)存儲裝置中的功率損耗問題的。本發(fā)明可具體應(yīng)用于個人計算機和便攜式計算機的磁盤存儲子系統(tǒng),但并不局限于此。
許多計算機的數(shù)據(jù)存儲系統(tǒng)用固態(tài)存儲器做為驅(qū)動磁盤設(shè)備的前端。這些系統(tǒng)使用一種高速的固態(tài)存儲器做為被存儲在相對為較低速度的磁盤存儲器中的數(shù)據(jù)的緩沖區(qū),由此提高存取的速度(與單純使用相對速度較低的磁盤存儲器相比)。例如,在WO92/15933中已公開的這樣一個系統(tǒng)。
一方面,本發(fā)明提供了一種用于具有可拆卸安裝存儲元件和固態(tài)高速緩存的數(shù)據(jù)存儲裝置中的高速緩存控制系統(tǒng),在這種數(shù)據(jù)存儲裝置中,當數(shù)據(jù)存取在一個預(yù)定的時間周期內(nèi)沒有發(fā)生時,其存儲元件并沒有達到工作速度。高速緩存控制系統(tǒng)響應(yīng)來自計算機的讀寫請求,并且包括這樣的裝置,如果某個讀寫請求不能通過對高速緩存的訪問來滿足時,該裝置就去訪問存在存儲元件中的數(shù)據(jù)。高速緩存控制系統(tǒng)還包括一個高速緩存替換機制,用于在高速緩存和存儲元件之間傳送數(shù)據(jù),以維持它們之間數(shù)據(jù)的一致性,其特征在于,僅當讀寫請求已經(jīng)導致了對存儲元件的一次訪問之后,存儲元件正處于工作速度時,高速緩存替換機制在操作中才能用來執(zhí)行高速緩存和存儲元件之間的數(shù)據(jù)傳送。
由于為了維持存在高速緩存和存儲元件之間數(shù)據(jù)的一致性而對磁盤的訪問被限制在僅當讀寫請求不能從高速緩存中得到滿足而需要訪問存儲元件時才發(fā)生的,因此功率的損耗就被降低了。由于存儲元件必須被加速到工作速度的次數(shù)減少了,因此功率損耗也就降低了。
因此,在一個實施例中,這樣一個控制系統(tǒng)利用了這樣一個事實如果在某一時間周期內(nèi)不出現(xiàn)與之有關(guān)的動作,則便攜式工作站的磁盤通常是關(guān)閉的。當磁盤空閑時發(fā)出讀/寫請求,就需要能量來把磁盤加速到其工作速度。
高速緩存被當作一個倉庫,使小的獨立讀/寫操作能在不激活磁盤的情況下執(zhí)行。
在本發(fā)明的裝置中,不同于常規(guī)的高速緩存,該高速緩存設(shè)備不一定要比數(shù)據(jù)存儲器快,如果能在較低的功率消耗下是可訪問的,就能滿足要求。
不同于常規(guī)的高速緩存控制系統(tǒng),根據(jù)本發(fā)明的系統(tǒng)不是針對重疊操作,而是針對有效的批處理操作的?,F(xiàn)有技術(shù)的高速緩存替換算法傾向于通過后臺的高速緩存替換機制使用獨立的磁盤啟動,以保證單純通過訪問高速緩存來滿足讀寫請求的可能性最大。因為啟動磁盤的能量損耗很高。因此,本發(fā)明的高速緩存替換算法傾向于最小化要求磁盤啟動的次數(shù),而不是象以前的技術(shù)那樣,最小化磁盤訪問的請求次數(shù)。
顯然,高速緩存替換機制可用在某一預(yù)定的時間,每當該寫請求導致對存儲元件進行一次訪問時,執(zhí)行從高速緩存到存儲元件的數(shù)據(jù)傳送。
因此,對那些并不需要順序的片段系列,可能會形成大型的磁盤訪問鏈,因為在一個被請求的磁盤訪問后,由這些訪問保存起來的能量分期償還了磁盤的旋轉(zhuǎn)能量。
高速緩存控制系統(tǒng)最好包括這樣的裝置如果該寫請求涉及多于預(yù)定的數(shù)據(jù)量,該裝置能訪問存儲元件上的數(shù)據(jù),而不用修改高速緩存中的數(shù)據(jù)。這樣做是更有效的,因為它避免了在顯然無法從高速緩存中滿足讀寫請求時還去訪問高速緩存。
在本發(fā)明的一種有益的形式中,高速緩存控制系統(tǒng)包括識別同每個扇區(qū)關(guān)聯(lián)的一個扇區(qū)集的裝置,其中的高速緩存替換機制在讀寫請求已經(jīng)產(chǎn)生了正從存儲元件中讀出的扇區(qū)時,能把與該扇區(qū)關(guān)聯(lián)的扇區(qū)集合的所有元素從存儲元件中傳送到高速緩存中。
因此,適當維持相關(guān)扇區(qū)的集合,就能利用訪問的空間局部性把那些在任何給定時間內(nèi)最有可能被訪問的扇區(qū)保持在高速緩存中。
這樣做能方便有效地保持相關(guān)的扇區(qū)集合即在任一特定的時間,識別那些在先前某一預(yù)定的時間間隔內(nèi)已經(jīng)被訪問的扇區(qū);當讀寫請求已經(jīng)產(chǎn)生了正從存儲元件中被讀出的扇區(qū)時,對與該扇區(qū)相關(guān)的集合進行更新,并把在先前預(yù)定時間間隔中已被訪問的那些扇區(qū)加到該扇區(qū)集合中。
更新機制最好還能用來判定在該相關(guān)集合中的每個扇區(qū)是否在先前預(yù)定的時間周期中已經(jīng)被訪問過,并且在判定在先前預(yù)定時間周期內(nèi)沒有被訪問的扇區(qū)這樣的機會發(fā)生的預(yù)定次數(shù)后,從該相關(guān)集合中去掉那些已經(jīng)被訪問過的扇區(qū)。
在一個實施例中,至少對于這些扇區(qū)的一個子集,該系統(tǒng)包括判定并存儲一個標識的裝置,該標識表明每個扇區(qū)被送入高速緩存時是否在最近的場合中被訪問,并且當讀寫請求已經(jīng)產(chǎn)生從存儲元件中讀出的扇區(qū),僅當該扇區(qū)被送入高速緩存時在最近的場合中被訪問時,高速緩存替換機制用來把該扇區(qū)從存儲元件中傳送到高速緩存。
這使得系統(tǒng)能識別那些一旦被送入高速緩存就不再被引用的扇區(qū)。如果重復(fù)地觀察到這種模式,這些扇區(qū)將不被送入高速緩存,以便更好地利用高速緩存的空間。
本發(fā)明也提供了包含這樣的高速緩存控制系統(tǒng)、光盤或磁盤驅(qū)動器和非易失固態(tài)高速緩存的數(shù)據(jù)存儲裝置。有利地,該數(shù)據(jù)存儲裝置是個人或便攜計算機中所用的盤存儲子系統(tǒng)的形式。以這種形式,可將該數(shù)據(jù)存儲裝置設(shè)計為保留盤子系統(tǒng)的外部接口,并在系統(tǒng)級不需要特殊的支持,這樣,使該子系統(tǒng)能直接取代常規(guī)硬盤驅(qū)動器。
從另一方面來看,本發(fā)明提供了一種操作數(shù)據(jù)存儲裝置的方法,該裝置具有一個可拆卸安裝的存儲元件和固態(tài)高速緩存,在這種數(shù)據(jù)存儲裝置中,當數(shù)據(jù)訪問在某個預(yù)定的時間周期內(nèi)不發(fā)生時,存儲元件并沒有達到其工作速度,該方法包括響應(yīng)不能通過訪問高速緩存來滿足的讀寫請求而訪問存儲元件上的數(shù)據(jù),還包括在高速緩存和存儲元件之間傳送數(shù)據(jù),以維持它們之間的數(shù)據(jù)一致性,該方法的特征在于僅當在讀寫請求已經(jīng)導致對存儲元件的一次訪問而存儲元件以工作速度運轉(zhuǎn)時,才能執(zhí)行高速緩存和存儲元件之間的數(shù)據(jù)傳送。
現(xiàn)在只通過例子并參考附圖來描述本發(fā)明的一個實施例,其中

圖1是說明數(shù)據(jù)存儲裝置的一個示意圖;圖2a和2b說明存放在高速緩存控制機制中的數(shù)據(jù)結(jié)構(gòu);圖3是一個流程圖,說明當一個扇區(qū)從磁盤被傳送到高速緩存時所執(zhí)行的步驟圖4是一個流程圖,說明在讀操作期間數(shù)據(jù)存儲裝置的操作過程;圖5也是一個流程圖,說明寫操作期間數(shù)據(jù)存儲裝置的操作過程;圖6給出了對數(shù)據(jù)存儲裝置操作時間的功率損耗圖。
參考圖1的數(shù)據(jù)處理系統(tǒng),該系統(tǒng)包括一臺計算機100,由SC-SI(小型計算機系統(tǒng)接口)10連接到數(shù)據(jù)存儲裝置110。熟悉這種技術(shù)的人很容易理解這類接口以及實現(xiàn)這種接口所需的硬件和軟件的操作過程,因此將不在此進一步描述。它滿足了現(xiàn)在所要說明的目的的需要,即響應(yīng)來自計算機的讀寫請求的數(shù)據(jù)存儲裝置能借助該接口存取數(shù)據(jù)。
數(shù)據(jù)存儲裝置110包括磁盤存儲設(shè)備104(在本例子中具有120兆的容量);帶有非易失性固態(tài)高速緩存106的高速緩存系統(tǒng)102(在本例中為2兆)以及高速緩存控制或管理邏輯108。高速緩存控制系統(tǒng)108包括一個適當?shù)奈⑻幚砥?,該微處理器中帶有相關(guān)的控制代碼,使之能執(zhí)行這里所述的各種功能,高速緩存控制系統(tǒng)108還包括高速緩存管理表,用于存放高速緩存和數(shù)據(jù)存儲設(shè)備的控制數(shù)據(jù)。
磁盤存儲設(shè)備104屬于這一技術(shù)中的常見類型,包括一個可旋轉(zhuǎn)安裝的磁盤、驅(qū)動電機、讀/寫磁頭組件和相關(guān)的控制系統(tǒng)。
應(yīng)該知道,本例中所用的磁盤存儲設(shè)備是為了便于討論,本發(fā)明同樣適用于任意其他的帶有可移動部件(例如光盤驅(qū)動器或類似的設(shè)備)的數(shù)據(jù)存儲設(shè)備。
在這個實施例中,數(shù)據(jù)存儲裝置采用了集成磁盤存儲子系統(tǒng)的形式,使得對于計算機100來說,該數(shù)據(jù)存儲裝置就象單個的可尋址實體,通過該裝置中的專用數(shù)據(jù)傳輸線,在高速緩存和數(shù)據(jù)存儲設(shè)備之間進行數(shù)據(jù)傳送。然而,通過適當?shù)臄?shù)據(jù)總線,高速緩存控制系統(tǒng)的功能也同樣可由計算機本身來實現(xiàn)。
磁盤存儲設(shè)備104有3種可能的狀態(tài)等待、空閑和激活。在激活狀態(tài)下,磁盤以工作速度轉(zhuǎn)動并執(zhí)行讀/寫和查找操作。在這種狀態(tài)下所需的一般功率可能在1.5W和2.5W之間。在空閑狀態(tài)下,磁盤仍處于工作速度并且一般的功率損耗為0.9W。當從空閑狀態(tài)變?yōu)榧せ顮顟B(tài)時不需要額外的功率損耗。在等待狀態(tài)下磁盤是靜止的,這時具有最低的功率損耗,一般為0.2W。從等待狀態(tài)到激活狀態(tài)的轉(zhuǎn)換需要使磁盤達到工作速度,這種向上旋轉(zhuǎn)通常要求在整個加速期中高達4W的功率。與輸入/輸出操作相比,加速時間是相當長的。
這類磁盤驅(qū)動器的一種商品化產(chǎn)品是型號為25252A的Max-tor2.5英寸的磁盤驅(qū)動器,其功率如下上旋功率為2.8W,驅(qū)動器達到工作速度需用2秒的時間;激活功率為1.6W;空閑為0.9W;等待狀態(tài)下為0.1W。
存儲裝置中的數(shù)據(jù)按扇區(qū)存放,扇區(qū)是磁盤上最小的數(shù)據(jù)可尋址單位。每個扇區(qū)包括(例如)512字節(jié)的數(shù)據(jù)。
高速緩存106包括對應(yīng)磁盤上n個扇區(qū)S1,…Sn中的數(shù)據(jù)。每個高速緩存中的扇區(qū)可以具有以下的三種狀態(tài)之一(i)無效。被標識為無效的扇區(qū)不包含有意義的數(shù)據(jù)。
(ii)一致。被標識為一致的扇區(qū)包含與被存在磁盤上對應(yīng)的扇區(qū)上相同的信息。
(iii)新的。被標識為新的扇區(qū)包含比存放在磁盤上對應(yīng)的扇區(qū)中的信息更新的信息。
高速緩存控制系統(tǒng)把與磁盤上的扇區(qū)的訪問模式有關(guān)的統(tǒng)計信息收集在高速緩存管理表中,并試圖利用這些統(tǒng)計信息來猜出給定系統(tǒng)中扇區(qū)的行為模式。
圖2a是一個示意圖,說明高速緩存控制系統(tǒng)的高速緩存管理表200。對于磁盤Si的每個扇區(qū)在該表中都有一個表項210。
每個表項包括用于高速緩存的扇區(qū)的信息,例如說明該扇區(qū)是否在高速緩存中的標識符,如果在高速緩存中,還要給出其狀態(tài)(新的,一致或無效),時間標記等等。圖2a中并沒有給出這些常規(guī)信息。
此外,每個表項還包括如下的信息,如圖2b所示。
每個表項包括下面的有關(guān)扇區(qū)的數(shù)據(jù)訪問歷史數(shù)據(jù)220(1)歷史標記222,標識該扇區(qū)最近訪問歷史的狀態(tài);(2)三個引用計算器224,標識該扇區(qū)在最近的三次被帶入高速緩存中的場合下被訪問的次數(shù)。
歷史引用標記的作用是標記那些一進入高速緩存就不再被引用的扇區(qū)。如果重復(fù)觀察到這種模式,這些扇區(qū)在以后的調(diào)用中必須直接送到系統(tǒng),以便更好地利用高速緩存空間。
歷史引用標記222是一個變量,初值為—1,說明還沒有設(shè)置一個合適的值。當該扇區(qū)第一次被訪問,歷史標記被置為另一值,例如1,表示該扇區(qū)已經(jīng)被訪問過。如果三個引用計算器都為零,歷史標記被置為第三個值,例如零說明該扇區(qū)在最近被帶入高速緩存的場合下還沒有被訪問過。
存在該表表項的還有親緣信息226,親緣信息226說明在相同的時間間隔期間被裝入的那些扇區(qū)。
除了存放在高速緩存管理表200中的信息之外,高速緩存管理系統(tǒng)還保存某些全局信息。這些全局信息包括各種系統(tǒng)參數(shù)和可調(diào)參數(shù),以及對于那些在某一時間窗口內(nèi)最近已經(jīng)接收到讀請求的扇區(qū)的標識符(ID)表(時間窗口的概念將在下面解釋),這些扇區(qū)將被稱為當前代(ganeration)窗口。
在下面,術(shù)語“代”(generation)將被用來代表一個有效的短時間間隔,在此期間,所有發(fā)生的讀扇區(qū)請求都被懷疑是來自相同的或相關(guān)的應(yīng)用。這個時間周期是一個可調(diào)參數(shù),被高速緩存控制器用來管理高速緩存。
一組扇區(qū)將被稱為“同代的”,如果這些扇區(qū)是在同一個代內(nèi)被帶入內(nèi)存的。同代組可能有一個或多個成員。如果屬于某個同代組的一個扇區(qū)被訪問,則該組中的其他成員也被訪問的可能性是很高的。
在高速緩存管理表200中,親緣信息包括一個位圖228,其中的每一位對應(yīng)磁盤的每個扇區(qū)。該位圖被用作記錄扇區(qū)的同代組的一種集合數(shù)據(jù)結(jié)構(gòu),也可以采用其他的數(shù)據(jù)結(jié)構(gòu),例如,另一種可能的數(shù)據(jù)結(jié)構(gòu)是樹結(jié)構(gòu)。
高速緩存管理表中的數(shù)據(jù)被不斷更新和精練,使系統(tǒng)能“學習”使用模式,以便最大限度節(jié)省能量。
扇區(qū)之間的親緣是利用代參數(shù)計算的。被認為象某個扇區(qū)一樣是由相同或相關(guān)應(yīng)用帶入的那些扇區(qū)在位圖中被標記為該扇區(qū)的同代,并且每當該扇區(qū)被帶入高速緩存時也把其同代一塊帶入。
同代信息被動態(tài)更新來反映這樣的一些事實例如一致性,而不是在初始接納決定中邏輯的親緣,使用模式的變化或者把該扇區(qū)重新分配到一個新文件。
更新同代組的算法考慮到這樣的事實任何更新算法都是用來預(yù)測磁盤訪問模式的一種近似,并且把不需要的扇區(qū)帶入高速緩存所損耗的能量比丟失需要的所損耗的能量少。
本算法的目的是把那些在一個短的時間間隔內(nèi)被經(jīng)常和最近訪問的扇區(qū)保持在相同的同代組中。
在一代的時間窗口中已經(jīng)發(fā)出讀請求的那些扇區(qū)本身的信息由高速緩存控制系統(tǒng)維持,正如上面所介紹的那樣。這些信息用在當某個扇區(qū)每次從磁盤被帶入高速緩存時,更新該扇區(qū)的同代組。
高速緩存管理表為同代組中的每個扇區(qū)保存兩個整數(shù)Mode(模型)232生LU(最近更新)230。
每當一個從磁盤中被傳送到高速緩存時,就執(zhí)行圖3所示的過程。把該扇區(qū)的同代組同當前代窗口中的扇區(qū)本身的信息進行比較,那些出現(xiàn)在這兩個集的交集中的扇區(qū)的模型值被增1并置其LU值為1。在同代組中且不在當前代窗口中的那些扇區(qū),如果其LU值大于某個預(yù)定的值K,則把它們從正在被傳送的扇區(qū)的同代組中刪去。否則對其LU值增1并保留其模型值。當把數(shù)據(jù)移到高速緩存時,由于同代的扇區(qū)按非增序的模型讀入,因此用到了模型值。
僅當高速緩存有足夠的空間可用時,才能把整個同代集合從磁盤中傳送出來。當寫到高速緩存上時,可能替換所有的無效和一致扇區(qū),但不能替換新扇區(qū)。當高速緩存中沒有足夠的無效或一致性的扇區(qū)時,模型值就會起作用,只有空間允許的那么多扇區(qū)能被讀入高速緩存中。適當?shù)剡x擇高速緩存的大小,使得在大部分時間里,整個同代組都能裝入高速緩存中。
理想地,高速緩存應(yīng)該存儲有關(guān)磁盤上所有扇區(qū)的信息。當存儲空間不夠時,可以把更常用的扇區(qū)的有關(guān)信息保存在一個散列表數(shù)據(jù)結(jié)構(gòu)中,對于熟悉這類技術(shù)的人來說,這應(yīng)該是很好理解的。
高速緩存控制系統(tǒng)有一個高速緩存替換機制,它執(zhí)行兩個主要的任務(wù)離臺,即把數(shù)據(jù)從高速緩存?zhèn)魉偷酱疟P,以及替換。
僅當磁盤正在旋轉(zhuǎn)時,高速緩存控制系統(tǒng)才能執(zhí)行離臺操作,而且只有新扇區(qū)才能離臺。已經(jīng)離臺的每個扇區(qū)被標記為一致狀態(tài)。
扇區(qū)的“空閑時間”一詞用來表示當前時間減去該扇區(qū)的同代組中任何扇區(qū)被用的最近時間。因此,一個同代組中的每個扇區(qū)都有相同的空閑時間,每個扇區(qū)的空閑時間被存在高速緩存管理表200中該扇區(qū)的入口中,如圖2a和2b所示。
離臺就是把狀態(tài)為“新”的扇區(qū)S1,…,Sn按其IS值的非遞增次序排列在高速緩存中,對于具有相同IS值的扇區(qū),則根據(jù)其扇區(qū)標識符(ID)按升序排列。這種排序方法能避免讓那些可能很快又要被重新訪問的扇區(qū)組離臺。用扇區(qū)的ID作為次關(guān)鍵碼的排序方式能使離臺查找時間達到最小。扇區(qū)被離臺的順序?qū)⒈环Q為離臺次序。
每當該寫請求導致了對磁盤存儲設(shè)備的一次訪問時,如果高速緩存中有新扇區(qū),就會在某一時間周期發(fā)生離臺操作。每次發(fā)生離臺的最大時間周期由分配給它的某個能量預(yù)算決定。例如,如果把磁盤保持在激活狀態(tài)t時間單位所需的能量同上旋該磁盤所需的能量一樣,則離臺將發(fā)生在at+b個時間單位期間,其中的a和b為依賴系統(tǒng)的可調(diào)參數(shù)。
調(diào)整參數(shù)a和b,使這一時間間隔足夠長到能分期償還讓磁盤達到工作速度所需的能量。這個周期將被標為離臺時間間隔。
離臺操作,即,將數(shù)據(jù)從高速緩存106傳送到數(shù)據(jù)存儲設(shè)備104,將高速緩存中的新扇區(qū)變?yōu)橐恢律葏^(qū)。這是高速緩存替換機制的一部分。
高速緩存替換機制在替換高速緩存中的扇區(qū)時服從下面的規(guī)則。一個新扇區(qū)被替換僅當一個寫操作提供了該扇區(qū)的一個較新版本,那么該扇區(qū)仍然是新的。如果一個寫操作繞過高速緩存直接對數(shù)據(jù)存儲設(shè)備104執(zhí)行,則一個新的或一致的扇區(qū)變成無效的。
在下面的情況下,一致的或無效的扇區(qū)可以被替換(i)對一個新扇區(qū)或同一扇區(qū)的較新版本執(zhí)行一次寫操作,在這種情況下,該扇區(qū)變成新的,式(ii)把一個扇區(qū)從磁盤帶入高速緩存的讀操作的結(jié)果,那么該扇區(qū)保持或變成一致的。
圖4和圖5分別給出了高速緩存控制系統(tǒng)用來處理來自計算機100的讀寫請求的方法。下面將說明不同輸入/輸出請求模式之間所造成的區(qū)別。
如圖4所示,任何讀請求都要被檢查,看看該請求是否針對多于某個預(yù)定數(shù)目的扇區(qū),該閾值將取決于高速緩存的大小和磁盤的特性。這樣大的請求可通過直接把數(shù)據(jù)從磁盤中傳送到計算機100的主存來滿足。因為磁盤正處在讀/寫狀態(tài)并且磁盤必須被加速到其工作速度,因此,任何所需的離臺也是在等于離臺間隔的時間周期中執(zhí)行的。
該閾值將由高速緩存的大小決定。對于大的輸入/輸出請求,高速緩存將不夠用,并且將不可避免地要求磁盤啟動。因此沒有必要由高速緩存來滿足這些請求。
如果讀請求所涉及的扇區(qū)少于該閾值,則該請求就能從高速緩存中得到滿足。如果發(fā)生高速緩存失誤,磁盤將被激活,對該扇區(qū)的讀請求將從磁盤中得到滿足,并且丟失的扇區(qū)以及相關(guān)的扇區(qū)都可以被讀入高速緩存。在高速緩存失誤的事件中,如果象前面那樣需要的話,將執(zhí)行離臺操作,因為磁盤已經(jīng)是激活的。
如圖5所示,寫操作遵循同樣的原理。如果寫操作涉及大量的扇區(qū),則這些扇區(qū)將被直接寫到磁盤上。如果需要的話,這時可以執(zhí)行離臺操作。如果寫操作規(guī)模不大,則把扇區(qū)寫到高速緩存上。
因此,當讀數(shù)據(jù)時,可能會出現(xiàn)三種情況。如果高速緩存包含所有被請求的信息,則請求由高速緩存提供服務(wù)。如果高速緩存并不包含所有所需的信息并且被讀的數(shù)據(jù)量大于該閾值(即是大的),則從磁盤流到系統(tǒng)的數(shù)據(jù)將不被存在高速緩存中,換句話說,在這種情況下,高速緩存的內(nèi)容不改變。
如果高速緩存不包含所有所需的信息并且將被讀的數(shù)據(jù)量小于該閾值(即是小的)并且高速緩存中有足夠多的無效或一致狀態(tài)的扇區(qū),則高速緩存中得不到的數(shù)據(jù)從磁盤中讀出。
當由于讀請求導致高速緩存失誤而訪問磁盤上的任何特定的扇區(qū)時,該扇區(qū)的歷史引用標識222被用來決定是否把該扇區(qū)傳送到高速緩存中。通過區(qū)分以下的三種可能的情況來決定。
如果歷史引用標識表明該扇區(qū)最近已經(jīng)被訪問過,則該扇區(qū)及其同代被讀入高速緩存中。該扇區(qū)的最近引用計數(shù)被置為1,其同代的最近引用計數(shù)被置為0。
在歷史引用標識沒有設(shè)置的情況下,該扇區(qū)被同時移到高速緩存和系統(tǒng)中,其最近引用計數(shù)被置為1。在這種情況下,同代集合只包含該扇區(qū),因為該同代集最初是個空集。
如果歷史引用標識表明該扇區(qū)最近沒有被訪問過,則只將其同代讀入高速緩存。扇區(qū)S本身被送到系統(tǒng),但不讀入高速緩存。該同代組中的扇區(qū)的最近引用計數(shù)被置為0。
當寫數(shù)據(jù)時,只有兩種情況可能發(fā)生。當寫少量的數(shù)據(jù)時,存在高速緩存中的每個扇區(qū)被較新的版本替換,并被標記為新的。對于那些不在高速緩存的扇區(qū),如果高速緩存中有足夠數(shù)量的一致扇區(qū),則把這些扇區(qū)寫入高速緩存中替換這些已存在的一致扇區(qū)。
當把多于閾值的數(shù)據(jù)寫到磁盤時,包含系統(tǒng)正在寫的數(shù)據(jù)的那些在高速緩存中的扇區(qū)被標記為無效的,位實際的寫操作直接對磁盤。
圖6是一個簡圖,說明具有這樣裝置的系統(tǒng)的使用。運行在計算機上的應(yīng)用程序600對磁盤發(fā)生讀寫請求,這些請求在操作系統(tǒng)610的控制下被送到磁盤存儲子系統(tǒng)620。
當用戶啟動系統(tǒng)時,所有的應(yīng)用程序被裝入,而且相關(guān)的扇區(qū)也被裝入高速緩存。一旦這個初始階段630過去,磁盤處于其最低的能量消耗狀態(tài),并且保持這種狀態(tài)直到出現(xiàn)讀失誤、大規(guī)模讀或大規(guī)模寫,在這些情況下能量損耗增加,如640所示。實際上,磁盤在大部分時間中都將處于等待位置。
數(shù)據(jù)存儲裝置的這種特定設(shè)計保留了磁盤的外部接口,在系統(tǒng)級上不需要特別的支持。
高速緩存的有效性是由于這樣的事實當處于空閑狀態(tài)時,構(gòu)成高速緩存的存儲器所消耗的功率比磁盤少。對磁盤激活時和激活期間作出預(yù)算以保存能量。
訪問的局部性原理意味著有可能在高速緩存中保持所有扇區(qū)的一個子集,并保證對磁盤的訪問機會相當少。正是這一局部性原理使那些適當?shù)纳葏^(qū)被有效地保持在高速緩存中。
有三種類型的局部性,即宏空間、微空間和臨時性,頭二個涉及引用模式,第三個涉及時間。如果在相同的執(zhí)行過程中,對當前被訪問數(shù)據(jù)附近數(shù)據(jù)進行訪問的可能性高于對其他數(shù)據(jù)訪問的可能性,則該應(yīng)用被認為具有好的微空間局部性。如果被某個程序訪問的扇區(qū)集合在不同的執(zhí)行過程中不發(fā)生變化,則稱該應(yīng)用具有良好的宏空間局部性。如果對最近被訪問過的數(shù)據(jù)再進行訪問的可能性很高時,則認為某個應(yīng)用具有良好的臨時局部性。
可調(diào)參數(shù)代和離臺次序使能遵循局部性原則,并把最有可能被小規(guī)模的讀寫請求所訪問的那些扇區(qū)保持在高速緩存中。
為每個扇區(qū)保留的歷史標記使能利用臨時局部性。使用同代扇區(qū)組和歷史引用標記,使能把具有良好空間局部性的那些扇區(qū)留在高速緩存中。
這樣一個事實是很有用的大多數(shù)應(yīng)用程序只使用非常小的文件。例如在UNIX操作系統(tǒng)中,一個文件的一般尺寸都小于4KB(UNIX是UNIX系統(tǒng)實驗公司的商標)。
因此,象傳統(tǒng)的高速緩存存儲器一樣,也是基于局部性的原則設(shè)計的,但這僅僅是類似。與傳統(tǒng)的高速緩存不一樣,這種存儲器不需要更快,而只要求消耗更少的功率。
權(quán)利要求
1.高速緩存控制系統(tǒng),用于帶有可拆卸安裝存儲元件和固態(tài)高速緩存存儲器的數(shù)據(jù)存儲裝置,在這類數(shù)據(jù)存儲裝置中,當數(shù)據(jù)訪問在某個預(yù)定的時間周期內(nèi)不發(fā)生時,存儲元件并不處于工作速度,高速緩存控制系統(tǒng)響應(yīng)來自計算機的讀寫請求,并且包括一個裝置,當讀寫請求不能通過對高速緩存的訪問來滿足時,該裝置用來訪問存在存儲元件上的數(shù)據(jù),高速緩存控制系統(tǒng)還包括一個高速緩存替換機制,用于在高速緩存和存儲元件之間傳送數(shù)據(jù),以維持它們之間數(shù)據(jù)的一致性,高速緩存控制系統(tǒng)的特征在于,高速緩存替換機制在操作中用來執(zhí)行高速緩存和存儲元件之間的數(shù)據(jù)傳送,僅當在某個讀寫請求已經(jīng)導致對存儲元件的一次訪問后,存儲元件才處于工作速度。
2.權(quán)利要求1中的高速緩存控制系統(tǒng),其特征在于,每當讀寫請求已經(jīng)導致對存儲元件的訪問時,高速緩存替換機制被用來在某個預(yù)定的時間內(nèi)執(zhí)行高速緩存到存儲元件的數(shù)據(jù)傳送。
3.權(quán)利要求1和2中的高速緩存控制系統(tǒng),其特征在于包括一個裝置,如果讀寫請求涉及多于預(yù)定數(shù)量的數(shù)據(jù),該裝置用來訪問存儲元件上的數(shù)據(jù),而不用修改高速緩存存儲器中的數(shù)據(jù)。
4.上述任一權(quán)利要求中所述的用在其特征為數(shù)據(jù)按扇區(qū)存放的數(shù)據(jù)存儲裝置上的高速緩存控制系統(tǒng),其特征為,至少對于扇區(qū)的一個子集,包括這樣的裝置能識別與每個扇區(qū)相關(guān)的一個扇區(qū)的集合,在該集合中,當讀寫請求已經(jīng)得到正從存儲文件中讀出的一個扇區(qū)時,高速緩存替換機制能把其相關(guān)的扇區(qū)集合的所有成負從存儲元件傳送到高速緩存存儲器。
5.權(quán)利要求4中的高速緩存控制系統(tǒng),其特征在于包括能響應(yīng)已經(jīng)導致對存儲元件的訪問的讀寫請求的裝置,把高速緩存中那些包含著的信息比存在存儲元件對應(yīng)扇區(qū)上的信息更新的扇區(qū),按照其當前時間減去與該扇區(qū)相關(guān)的扇區(qū)組中任何扇區(qū)被訪問的最近時間結(jié)果的非遞增次序傳送到存儲元件上。
6.權(quán)利要求3或4的高速緩存控制系統(tǒng),其特征在于包括在任何特定時間用來識別那些在某個預(yù)定的時間間隔中已經(jīng)被訪問的扇區(qū)的裝置,以及一個機制,當讀寫請求已經(jīng)產(chǎn)生一個正從存儲元件中讀出的扇區(qū)時,對與該扇區(qū)有關(guān)的扇區(qū)集合更新,具體做法是把在上述的預(yù)定時間間隔中已經(jīng)被訪問的那些扇區(qū)加到該集合中。
7.權(quán)利要求6的高速緩存控制系統(tǒng),其特征在于,該更新機制用來決定相關(guān)扇區(qū)集合中的每一扇區(qū)是否已經(jīng)在上述的預(yù)定時間周期中被訪問過,并且在根據(jù)某個預(yù)定的次數(shù)決定了在先前預(yù)定的時間周期中又經(jīng)被訪問的扇區(qū)后,把這些扇區(qū)從該集合中刪去。
8.權(quán)利要求4到7的高速緩存控制系統(tǒng),其特征在于,至于對于扇區(qū)的一個子集,包括決定和存儲一個標識的裝置,該標識說明每個扇區(qū)在其最近的一次或多次被帶入高速緩存的機會中是否被訪問過,并且當讀寫請求已經(jīng)產(chǎn)生一個正從存儲單元中讀出的扇區(qū),僅當讀扇區(qū)在最近的一次或多次被帶入高速緩存的機會中被訪問過,高速緩存替換機制才用來把該扇區(qū)從存儲單元中送到高速9緩存存儲器。
9.數(shù)據(jù)存儲裝置,其特征在于,包括上述權(quán)利要求中的高速緩存控制系統(tǒng)、光盤或磁盤驅(qū)動器和非易失性的固態(tài)高速緩存存儲器。
10.權(quán)利要求9的數(shù)據(jù)存儲裝置,其特征在于,采用個人計算機或便攜式計算機的磁盤存儲子系統(tǒng)的形式。
11.具有可拆卸安裝存儲元件和固態(tài)高速緩存存儲器的數(shù)據(jù)存儲裝置的操作方法,在這種數(shù)據(jù)存儲裝置中,在某個預(yù)定的時間周期中沒有發(fā)生數(shù)據(jù)訪問時,存儲元件并沒有達到工作速度,該方法包括響應(yīng)不能通過訪問高速緩存來滿足的讀寫請求,對存儲元件上的數(shù)據(jù)進行訪問,并且在高速緩存和存儲元件之間傳送數(shù)據(jù)比維持它們之間的數(shù)據(jù)一致性,該方法的特征在于,僅當讀寫請求已經(jīng)導致了對存儲元件的一次訪問后存儲元件達到其工作速度時,才能執(zhí)行高速緩存和存儲元件之間的數(shù)據(jù)傳送。
全文摘要
用于具有可拆卸安裝存儲元件的數(shù)據(jù)存儲裝置的高速緩存控制系統(tǒng)。包括這樣的裝置,當對高速緩存的訪問不能滿足讀寫請求時,該裝置用來訪問存在存儲元件上的數(shù)據(jù),還包括一個高速緩存替換機制,用于在高速緩存和存儲元件之間傳送數(shù)據(jù),以維持它們之間的數(shù)據(jù)一致性。其特征在于,僅當讀定請求導致對存儲元件的一次訪問后存儲元件達到其工作速度時,高速緩存替換機制才執(zhí)行高速緩存存儲器和存儲元件之間的數(shù)據(jù)傳送。
文檔編號G06F1/32GK1120699SQ9510113
公開日1996年4月17日 申請日期1995年1月9日 優(yōu)先權(quán)日1994年2月3日
發(fā)明者奧德·科恩, 埃利澤爾·德克爾, 邁克爾·羅德 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
格尔木市| 南雄市| 安福县| 新干县| 抚顺市| 郸城县| 河北区| 东乌珠穆沁旗| 湛江市| 石屏县| 乌拉特中旗| 固镇县| 贺州市| 平乡县| 阿图什市| 台山市| 濉溪县| 全州县| 中方县| 东莞市| 额济纳旗| 黄陵县| 泰和县| 郧西县| 南和县| 民和| 满洲里市| 南乐县| 汉川市| 泌阳县| 景宁| 丹寨县| 宁阳县| 翁牛特旗| 长春市| 修文县| 阳泉市| 乌兰浩特市| 上蔡县| 客服| 南宫市|