每日最新頭條.有趣資訊

奸商在作假?為何軟體檢測不到硬碟緩存容量

在挑選硬碟的時候,除了接口之外很多人關心的就是緩存容量。有朋友應該已經發現,怎麽現在的硬碟都不顯示緩存容量了?!這裡面會有奸商的陰謀詭計嗎?

最近幾年購買的硬碟,不管是機械硬碟還是固態硬碟,在新版檢測軟體中都是查不到緩存容量的,下圖為CrystalDiskInfo檢測2TB機械硬碟,HDTune中乾脆將它的緩存標注為n/a(不存在)。這是ATA標準的一個局限,當時設計時隻預留到32MB的代碼,而現在硬碟的容量全都超過了32MB,無法正確識別。

大家一定會好奇,硬碟緩存到底是做什麽用的呢?讀完本文你將會有一個全新的認識!

機械硬碟的緩存:運氣爆發可以提升讀取

通常來說,機械硬碟的讀取和寫入速度基本一樣。但如果在ATTO測試中使用較小的測試區塊(64K),你會發現讀取的速度明顯比寫入更快,甚至會發生讀取400MB/s以上現象:正常是不可能有這麽快的。

在機械硬碟中,緩存主要發揮了加速讀取的作用。如果一個數據剛剛被讀取過,將臨近它位置的數據保留在DRAM緩存中,就有機會被下一次讀取命中——直接從DRAM緩存讀出的速度遠比從機械盤片讀取快的多。

緩存命中意味著性能大幅提升,這就是機械硬碟緩存的主要作用。理論上大緩存的確有助於提升機械硬碟的讀取性能,但是提升幅度是非常有限的:它對於最重要的隨機讀取速度沒有幫助。

大緩存不一定意味著高性能,當前很多採用128M以上大緩存設計的機械硬碟採用了SMR疊瓦磁記錄技術,增大緩存容量是為了降低SMR帶來的性能衰減幅度。

固態硬碟的緩存:照顧寫入只是兼職

而固態硬碟就有很大的不同了,首先閃存的讀取比寫入更快,這是MLC、TLC閃存天生決定的,壓根不需要專門為讀取做緩存。在ATTO測試結果中代表讀取速度的灰色條總會比代表寫入的紅色條更長一些:

不過如果將測試區塊調小到64KB,你可能會發現不一樣的結果:紅條長度首次超過了灰條,小於4KB的區塊寫入速度比讀取速度還要快!

出現這種現象也很簡單:固態硬碟對小於4KB的區塊進行了緩存,將他們湊滿4KB或16KB(1個Page頁的大小)之後再合並寫入,造成寫入比讀取更快的結果。閃存的最小寫入部門是Page,固態硬碟通常使用4K作為頁的邏輯大小,而閃存頁的實際大小往往是16KB,只有512字節或1KB、2KB還不夠一次寫入的最小部門,所以將他們緩存起來合並寫入是最明智的。

做小於4KB數據的緩存合並只需要很小的太空,固態硬碟對於DRAM緩存的需求並不是緩存數據,而是存儲對固態硬碟至關重要的FTL閃存映射表:管理邏輯地址與閃存物理地址的映射關係。

隨著技術的發展,DRAM緩存早已不是固態硬碟的必備組件。透過最新NVMe協定,固態硬碟可以調用主機記憶體的一小部分專用太空存儲FTL映射表,實現精簡增效。

在東芝推出的單芯片融合NVMe固態硬碟中,主控與閃存被封裝為一體,而DRAM緩存則被NVMe協定的HMB功能所取代,緩存容量最終成為了歷史。

獲得更多的PTT最新消息
按讚加入粉絲團