新聞中心
聯系我們
Contact us
Contact us
- 總部電話010-51727811
- 客服熱線400 779 6696
- 更多聯系信息
磁盤緩存的組件的更多討論
時間:2012-08-10 09:21 來源:飛客數據恢復 作者:飛客數據恢復工程師
磁盤緩存的組件相對較少,其目的是為了增強性能。設計和實現緩存控制器有許多不同的方法。
大部分緩存控制器提供的基本組件為:
數據存儲設備,通常為內存
定位緩存數據的索引
數據裝入器
老化指示器
丟棄處理器
“臟”塊指示器(用于回寫緩存)
回寫處理器
下面分別簡要地介紹它們。
1.緩存設備
磁盤緩存通常把數據存放在易失存儲設備中。內存技術由設備、子系統或系統的制造商們決定。一般而言,磁盤緩存內存是市場上出售的最昂貴的內存之一。
2.定位緩存數據的索引
存儲在磁盤緩存中的數據必須能很快地恢復。如果緩存未命中,需要的數據將必須從慢速的非易失存儲中讀出,因此,很長時間的緩存數據搜索是不可接受的。緩存的索引方法是決定數據如何被放置在緩存中。
基本的索引方法有兩種:一種為直接映射,另一種為聯合索引。直接索引保留一些位來表示非易失存儲的每一個可用塊。假如這個塊在緩存中,它被標為“lit”,否則為“off”。根據這些位地址,可以立即檢查塊I/O請求。聯合映射稍為復雜一些,它建立在緩存中的若干非易失存儲段范圍搜索的基礎上。對比這兩種映射,直接映射的緩存更快,但要求為存儲設備或子系統的每一個存儲塊(段)保留一位,以表明這些塊或段的位置(即在緩存中,還是在非易失存儲中),因此,在可擴展性上受到了限制。聯合緩存則需要花更長的時間確定數據是否在緩存中,但對索引緩存的資源要求更少。
3.數據裝入器
緩存必須以某種方式存放數據,否則,它就做不了任何工作。緩存數據的存放既可能發生在正常的I/O操作(LRU緩存)中,也可以作為一個分離的進程(預先讀緩存)而進行。當作為寫操作的一部分而將數據拷貝到緩存中時,緩存的數據裝入器也可能被激活。
4.老化指示器/丟棄處理器
老化指示器的作用是決定什么數據需要被丟棄。本質上,數據裝入器總是試圖把新的數據裝入緩存,這就意味著必須有某種辦法丟棄認為近期最不可能使用的數據。為了完成這個任務,就需要有某種量度(或方法)確定數據丟棄的先后順序,并把這個順序展示給緩存處理器。
丟棄處理器按照老化指示器的標記,決定將撤除哪些老化數據。
5.“臟”塊指示器(用于回寫緩存)
在回寫緩存包含的數據中,有一些還沒有寫到非易失存儲。為了保證它們最終被寫入非易失存儲,需要給它們做上標志,這個標志就是所謂的“臟”位。在正常情況下,“臟”位是緩存索引的一部分,類似于文件系統中的備份位,標志新的數據需要保存。
6.回寫處理器
回寫處理器定期地在回寫緩存的緩存控制器中運行,負責完成所有對非易失存儲的寫操作,包括在斷電以后產生的寫。回寫處理器也能利用臟位或其他辦法決定寫什么和什么時候寫。