緩存對于固態硬盤真的那么重要嗎?
隨著固態硬盤的飛速發展,存儲市場上出現了大量高性價比的SSD,這讓我們在挑選硬盤時有了更多的選擇;現階段人們在購買固態硬盤時,除了關心硬盤接口和容量之外,硬盤的緩存容量也逐漸成為了購買的參考因素;那么什么是硬盤的緩存?它究竟在固態硬盤中發揮著怎樣的作用?又是否值得成為了購買的參考因素?這是現階段很多玩家的疑惑,接下來我們一一來解答。
首先我們需要明確什么是緩存?
緩存,從字面上可理解為延緩存放,是數據交換的緩沖區,簡單來說是為了平衡高速設備和低速設備之間的速度差異而存在的,其主要功能減小低速設備和高速設備的差距。因為各產品的緩存容量有限,算法無法百分百準確命中,所以低速設備或多或少會拖高速設備的后腿,緩存的作用只能是盡量減少這種現象。
在傳統的機械硬盤中,緩存主要發揮的是加速讀取作用;如一個數據剛被讀取,將臨近它位置的數據都保留在DRAM緩存中,就有機會被下一次讀取命中(直接從DRAM緩存讀出的速度比從機械盤片讀取快),這就是機械硬盤緩存的主要作用;理論上緩存越大越有助于提升機械硬盤的讀取性能。
而固態硬盤的緩存就有點不太一樣了;通常情況下,帶有緩存的固態硬盤在速度上會比不帶緩存的更高一些,但對固態硬盤來說,這個提升是具有一定的限度。就反應速度來說,SSD的反應速度一般都在0.2毫秒以內,不比緩存慢,所以帶緩存對讀取速度的提升并不是特別大。
但固態硬盤對于DRAM緩存的真正需求并不是緩存數據,而是存儲對固態硬盤至關重要的FTL閃存映射表:管理邏輯地址與閃存物理地址的映射關系。
固態硬盤雖然讀寫速度比機械硬盤快很多,但閃存不能像磁盤盤片那樣直接覆蓋寫入,這就意味著固態硬盤必須要有一個邏輯地址與實際物理地址之間的轉換表;當對3號位置進行覆蓋寫入時,固態硬盤內實際執行的可能是對E位置的寫入,然后讓原本對應的C位置無效。
這張FTL閃存映射表就需要有內存來儲存并實時更新,不一樣的固態硬盤在處理這張轉換表時所用的算法不一樣,所需要的內存空間也會千差萬別,空間優化后的轉換表甚至可以直接放入主控中集成的小容量內存中,這是無外置緩存固態硬盤誕生的前提。
既然緩存的功能對于固態硬盤來說幾乎這么重要,那為什么還會有一些不帶緩存的SSD呢?
其實為了存放FTL閃存映射表,SSD存在兩種設計方案:DRAM(帶DRAM的)和DRAM-less(不帶DRAM的);帶DRAM的一般會把緩沖數據和映射表統統存放在DRAM中,優點是查找更新映射表迅速,性能較好,劣勢是多了一個DRAM,成本和功耗上升,當前的主流SSD是該方案。
而DRAM-less則會將少部分映射表放在片內的SRAM上,其余部分的映射表則會放在Flash中,這種方案好處是節省了DRAM的成本和功耗,但是讀寫Flash要比讀寫DRAM要慢得多,所以速度上不如DRAM方案,性能也相對低一些,這是當前入門級的SSD多采用這種方案。
除此之外,還有一些固態硬盤通過另一種方式“擁有緩存”了——群聯的新技術叫做“HMB內存緩沖技術”,簡單說,就是去掉了原本應該在硬盤上出現的緩存,轉而在內存中借用儲存空間,實現了數據緩沖!這樣就可以在固態硬盤會減少了一個緩存顆粒,從而降低成本,以更合適的價格面向消費者。
一款SSD產品是否有緩存這樣的設計,往往是廠商根據產品定位和用途做得決定,一般一些入門級產品或者低速產品,在設計上就會考慮不帶緩存方案,而一些高速產品由于數據交換量大,就有緩存設計,以提高產品的讀寫效率。
以上就是對固態硬盤緩存作用詳解,總的來說,是否購買帶有緩存作用的固態硬盤,還需要根據自己的需求決定,如果預算充足,想要更好的使用體驗,那么帶有緩存的固態硬盤應該不會讓你失望。