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