當硬盤受到CPU指令控制開始讀取數據時,硬盤上的控制芯片将控制磁頭在緩存中讀取正在讀取的下一個或幾個簇中的數據(由于硬盤上的數據存儲相對連續,因此讀取命中率較高)。當需要讀取下一個或幾個簇中的數據時,硬盤不需要再讀取數據,隻需将緩存中的數據直接傳輸到内存中,緩存速度遠高于磁頭讀寫速度,因此能達到顯著提高性能的目的;
緩存寫入動作
當硬盤收到寫入數據的指令時,它不會立即将數據寫入磁盤,而是暫時存儲在緩存中,然後向系統發送數據已寫入信号。此時,系統将認為數據已寫入并繼續執行以下工作,而硬盤将緩存中的數據寫入磁盤(不讀取或寫入)。雖然寫入數據的性能有所提高,但不可避免地會帶來安全隐患——如果數據在緩存過程中突然斷電,這些數據就會丢失。對于這個問題,硬盤制造商自然有一個解決方案:當斷電時,磁頭将緩存中的數據寫入零磁道以外的臨時存儲區域,并在下次啟動時将數據寫入目的地;
臨時存儲最近訪問的數據有時候,一些數據經常需要訪問。硬盤内的緩存會在緩存中存儲一些讀取頻繁的數據,可以直接從緩存中傳輸。有時候,一些數據經常需要訪問。硬盤内的緩存會在緩存中存儲一些讀取頻繁的數據,可以直接從緩存中傳輸。 還有一個緩存算法問題。如果算法不好,命中率就不會高,所以大容量緩存是徒勞的,甚至會出現速度下降的問題。此外,這取決于硬盤本身的單盤容量和速度。例如,傳輸持續讀寫速度為150MB/s左右,單盤不超過1TB容量機械硬盤緩存64MB就足夠,128MB顯然有些浪費;隻有單盤容量超過1TB、2000年連續讀寫性能MB/s機械硬盤,128MB緩存是有意義的。
固态硬盤的速度遠高于機械硬盤,但比内存慢得多。固态硬盤的緩存通常由一到兩個緩存DRAM顆粒(說白了就是内存顆粒)用作緩存。早期固态硬盤是否有緩存是一個非常重要的指标,低端入門級産品甚至有緩存設計,使用壽命和性能都要差得多。目前,由于數據交換量大,緩存已成為固态硬盤的标準配置,用于提高産品的讀寫性能。
,