我們常常會關注SSD的優點,功能、存儲的容量、應用的范圍,而往往會忽略小細節比如:
當用戶寫入數據時,如果可用的閃存塊小于一定閾值,就需要做GC,為用戶騰出寫作的空間。此時制作的GC稱為ForegroundGC(前臺垃圾回收)。這是一種被動的方式,它是在SSD沒有多少可用的閃存塊時制作的GC。相應的是BackgroundGC(后臺垃圾回收),是SSD空閑時SSD主動制作的GC,讓用戶在寫入時有足夠的可用閃存塊,無需臨時抱佛腳(ForegroundGC),從而提高用戶的寫入性能。
然而,出于功耗考慮,一些SSD可能不會回收后臺垃圾。SSD空閑時,可以直接進入省電模式,或者做少量GC,然后進入省電模式。這是兩種常見的垃圾回收時間,由SSD自己控制。事實上,除了SSD本身,一些SSD還支持主機控制GC。這就非常有趣,讓我們花點時間來看看。2015年,Agrade發布了SATA接口工業級SSD,Agrade技術主機通過應用軟件獲取SSD的運行狀態,然后控制SSD的一些行為。
在SSD內部,運行一些后臺任務,如垃圾回收、記錄SSD運行日志等。這些后臺任務的執行會影響SSD的性能,使SSD的延遲不可預測。HMS技術使主機能夠控制SSD的后臺任務、后臺任務執行或不執行、何時執行、何時不執行,主機控的。這有什么用?對于單個SSD,用戶可以在SSD空閑時通過HMS軟件執行垃圾回收任務。這樣,在后續的寫作過程中,SSD有足夠的空閑塊可以寫,不需要時可以回收垃圾,從而提高SSD的性能,減少寫作的延遲。Agrade SSD是工業級固態硬盤,與消費級SSD相比,工業級更追求穩定的性能和延遲。后臺任務的存在使得SSD性能和延遲難以保持一致。Agrade技術的出現使整個系統具有穩定的性能和可預測的延遲。
由此可見,無論是前臺垃圾回收站亦或是后臺垃圾回收站,對用戶寫入數據都發揮著舉足輕重的作用。