硬盤的預讀和回寫

磁盤CACHE的兩大功能:預讀和回寫
 
對於磁盤I/O 來說,如果沒有CACHE ,就直接從硬盤讀寫;如果有CACHE ,則首先從CACHE 讀寫。
 
CACHE 具有兩大功能:
 
1 、預讀
 
CACHE 預讀提高了計算機系統中的硬盤讀的功能,尤其是在讀取含有大量文件碎片的文件時。具有良好預讀功能的RAID 卡能在看起來很隨機的讀訪問中,識別出讀取磁盤的規律, 通過這個規律提前將系統要讀取的數據放在CACHE 中。
 
預讀的兩種方式:
 
Read Ahead
 
由於硬盤數據經常是以一族連續的硬盤扇區組織起來的,所以有時侯如把系統所請求的扇區隨後的一個扇區裏的數據 同時讀進來是有價值的。對於數據文件的讀取有利, 特別是系統CPU 的性能低時。
 
Pre-Fetch
 
當RAID 卡發現系統要讀的是先前已經讀過的數據時,在這一次,便將這一個數據塊的數據寫到CACHE 裏。對於程序文件的讀取有利 。
 
2 、回寫
 
回寫是通過暫時將數據存在CACHE 裏,從而推遲將數據寫到慢設備(如硬盤、磁帶機)的一種工作方式。數據將在隨後的時間,硬盤閒置的時候寫到硬盤中。寫的時候也是統一將CACHE 內的尚未寫出的數據按照數據塊的在硬盤中的BLOCK 序號寫入,這樣可以提高寫的效率。
 
回寫需要加電池給CACHE 供電,以免數據在寫到硬盤之前系統斷電導致硬盤數據丟失。
 
增加CACHE 大小對於預讀來說,爲系統提供了更多的來自CACHE 的可供讀取的記錄。 對於回寫來說,允許控制卡保存更多的記錄留待後期寫磁盤。特別是對於電梯式回寫,使得連續的回寫段之間有更近的間隔,降低硬盤寫操作的平均訪時間並提高了吞吐率。
 
寫策略
 
通寫模式下,所有數據在以命令完成狀態返回到計算機之前,直接寫到硬盤。兩種寫策略比較來說,寫策略由通寫改爲回寫時,可大幅度提高性能。但回寫具有一定的數據危險性。在突然斷電的情況下,會丟失存於Cache 尚未寫入硬盤的數據。
 
RAID卡 工作在寫策略爲THROUGH 時,緩存大小對RAID卡 的性能影響很小,只有當寫策略改爲BACK 時,緩存的作用纔會發揮出來。
 
影響RAID卡 性能的因素很多,其中可調因素主要有RAID卡 緩存(CACHE )大小、寫策略(WRITE POLICY )、讀策略(READ POLICY )、條帶的大小(STRIPE SIZE )。不同的RAID卡 雖然說法略有不同,但意思是一樣的。很多設置可以在RAID卡 的配置工具中調整。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章