隨著SSD固態硬盤的普及,如今帶有緩存的SSD價格也逐漸被用戶接受,雖然我們知道沒有緩存的SSD在價格上會比有緩存的略貴一些,但是緩存究竟在SSD固態硬盤中發揮了怎樣的作用並不是每個用戶都了解。
其實“緩存”一詞單純從字面上理解可解釋為延緩存放,簡單的說“緩存”是為了平衡高速設備和低速設備之間的速度差異而存在的。作用是讓低速設備盡量的不拖高速設備的後退。這裡之所以用“盡量”一詞,主要是各類產品中的緩存容量有限,算法也不可能100%的准確命中,所以低速設備多多少少還是會拖高速設備的後腿,緩存的作用只能是“盡量”減少這種現象。
例如CPU緩存;每當CPU從內存裡讀數據時,會向內存控制器發出一個讀指令,要求內存控制器返回其要求的數據,可是因為內存響應速度相對於CPU是很慢的,所以在數據返回之前CPU只有無所事事的“等待”,如果經常出現這樣的情況,再快的CPU也會被內存拖後腿,效率也不會提高。
如圖所示,在主內存(RAM)和CPU之間,放一塊小容量的SRAM。當CPU申請RAM數據的時候,先在SRAM裡面尋找,如果找到了數據,就不用花費很多時間到RAM裡去讀了(同步讀取)。如果SRAM裡沒有數據,再到RAM去讀,當RAM返回數據的時候,不僅僅返回原來所需要的數據,同時“捎帶”返回所需數據“前後”的一些看似無關的數據,並將這些數據放入SRAM中。
下次CPU再次到SRAM裡讀數據的時候,如果所需數據正好在SRAM裡,就可以“命中”了。從原理上可以看出,命中率越高,CPU的效率就越高。而命中率又是被“捎帶”返回的數據所決定的,哪些數據被捎帶返回,這個就要依CPU內部的緩存算法而定了。由此可見,由於緩存容量遠遠小於主內存容量,而緩存算法也不可能100%的准確命中。
緩存在機械硬盤中的作用:
以上是以CPU緩存做例子。但是在電腦系統裡,緩存並不僅僅是CPU獨有,因為高速設備與低速設備的矛盾並不僅僅體現在CPU和內存之間。現在假如說,我要把數據從內存寫入硬盤,由於硬盤相當緩慢,需要等待很長的時間才能完成此任務。那麼用戶體驗就是電腦非常慢。實際上,這裡CPU不慢,內存不慢,只是硬盤太慢了。
解決機械硬盤速度過慢的問題,就在其內部安置了一個小容量的內存,也就是硬盤的緩存,數據首先寫入到緩存裡。那麼在操作系統層面,就會認為數據已經寫入了,用戶的感覺就是快速。隨後硬盤自己再從緩存寫入到盤片,這個過程無需用戶干預了。
不過需要注意的是,其實硬盤的緩存並不全都用於緩存數據,還有其他用途,所以不見得緩存越大,性能就越好。而且還有個緩存算法問題。如果算法不優秀,命中率就不會高,這樣大容量緩存形同虛設。
緩存在SSD固態硬盤中的作用:
剛才為大家介紹了什麼是緩存,以及它在機械硬盤和內存中發揮的作用,其實緩存在SSD固態硬盤中發揮的作用也相差不遠。SSD上的緩存一般都是1或者2顆DRAM顆粒構成,起到數據交換緩沖作用。一款SSD產品是否有緩存這樣的設計,往往是廠商根據產品定位和用途做得決定,一般一些入門級產品或者低速產品,在設計上就會考慮不帶緩存方案,而一些高速產品由於數據交換量大,就設計有緩存,以提高產品的讀寫效率。
通常帶有緩存的SSD在價格上或比不帶緩存的略高一些,雖然SSD帶緩存讀取小文件的速度會快些,但對SSD來說,快的太有限了。就反應速度來說,SSD的反應速度一般都在0.2毫秒以內,不比緩存慢。所以帶緩存對讀取速度的提升,幾乎可以忽略。其次帶不帶緩存並不影響SSD的壽命,決定SSD壽命的是NAND FLASH的寫入次數。其次,主控芯片的好壞才是是決定SSD性能和使用壽命的重要因素。
文章總結:
通過筆者的介紹相信大家對緩存的作用有了深入的了解,另外我們可以看出緩存在內存、機械硬盤和SSD固態硬盤身上發揮作用的強弱是不一樣的。緩存是為了平衡高速設備和低速設備之間的速度差異而存在的,其作用是讓低速設備盡量的不拖高速設備的後腳。
緩存的主要功能在於是電腦有資料放到HDD時,因為HDD機械式運作比電腦慢很多,所以在HDD上放上緩存,暫時存儲資料以便電腦能夠繼續做其他事情,不會因為HDD的動作慢,而拖慢了電腦的效能。
而SSD的速度大幅提升,已經能夠實時處理數據,緩存作為提升速度的作用就不大了。由此我們可以得出依據緩存大小判斷SSD速度並不科學,固態硬盤速度快慢主要由主控芯片和閃存顆粒品質決定。
.