天天看點

為什麼說 SSD 已經過時了

固态硬碟的發展是因為有數以億計的sata和sas磁盤端口的存在。将其中的一些端口連接配接ssds硬碟,肯定是有利可圖的,這已經在過去的5年中變成現實。

但現在,今天的非易失性存儲器技術-閃存,加之明天的rram技術已被廣泛接受,是時候來建立直接采用閃存而不是通過我們的老舊的存儲棧技術了。各種為減少延時的努力- sata 3,nvme,和其他,仍然是在我們的應用和資料之間加入軟體層,這既增加了複雜性又浪費了cpu周期。

間接性(indirection)

當出現一些需要太多層來解決的問題時,在計算機科學界就出現了著名的一句名言:“所有的問題都可以通過迂回的方式用計算機解決,除了那些需要間接迂回太多層的問題。”

我們要說的ssd就是這一點問題。ssd所依賴于的閃存轉換層(ftl)使得閃存-及其寫入速度之慢與壽命之有限的特點-看起來就是塊磁盤驅動器。這個ftl就是前面所說的迂回層。

ftl已過時

檔案系統已經提供了這麼一個迂回層使得我們的儲存設備看上去就是一個連續的邏輯可尋址存儲空間。這些系統通過維護類似用于跟蹤裝置塊配置設定位圖資訊這樣的中繼資料來管理邏輯位址。

但是,ftl同樣維護了一個連續邏輯尋址空間,在這背後隐藏着像耗損平衡和垃圾回收等活動。那麼就有一個很明顯的問題了:為什麼要維護着兩個邏輯位址空間?為什麼不讓檔案系統來直接管理閃存呢?

如果我們擺脫了ftl的束縛,那麼ssd将變得更快、更低功耗、以及更可靠。何樂而不為呢?

存儲位(該如何)擷取

ssd在架構而不是功能層面是過時的。其具有許多傳統硬碟所不具有的優越性,這也使得未來将會持續有着數以百萬計的銷量,但是這背後卻是為了填補那些sata端口的原因所引起的,這就與今天的系統背道而馳了。

不久之後,我們需要結合閃存和位元組尋址的nvm存儲,隻有這樣才不至于讓他們還是一塊”類磁盤“。這一步需要不小的努力,但是面對今天處理器性能增長的緩慢,我們完全有必要在其它方面尋求系統性能提升點。目前存儲堆棧已使得颠覆性改進的時機變得成熟。