快閃(Flash)記憶體在企業儲存有兩種典型應用——作為儲存資料用的磁碟裝置,以及作為輔助DRAM的快取記憶體。

將Flash記憶體當作一般磁碟裝置使用時,任何存放到Flash記憶體上的資料,都能得到Flash記憶體的高速存取效能利益,但連帶也會產生新的問題:

顯然的,無論個人或企業,都不可能單靠Flash記憶體滿足所有的儲存需求,而需與傳統硬碟、光碟或磁帶等性能較低、但單位成本也較便宜的儲存媒體搭配運用,因此這便衍生出一個問題——哪些資料要放到高速、但昂貴的Flash記憶體上﹖而哪些資料要放到性能較低、但成本也便宜的傳統硬碟上﹖

理想的做法,自然是將存取最頻繁、需要高存取回應速度的資料與應用程式配置在Flash記憶體上,至於寫入後就很少需要再讀取的資料,則放到傳統機械式硬碟之類的便宜儲存裝置上,形成一種分層儲存架構。

在實務上,從個人端到大型企業機構,這類分層儲存可說隨處可見,以個人端來說,將作業系統與常用應用程式放在高速的本機硬碟,並將不常存取的保存用資料,放在速度慢、但單位成本低廉的USB外接硬碟上,就是十分常見的一種分層儲存應用。

然而要讓分層儲存架構中不同層級的資料配置,持續維持在最佳化狀態卻非易事,管理者必須持續追蹤各資料區塊的存取狀況,並定期執行資料遷移作業,按照各資料區塊的存取頻繁程度,重新配置存放位置,若非如此,分層儲存就無法維持在最佳配置上。為了減少這類監控與遷移作業的麻煩,便誕生了自動分層儲存技術——由系統自動執行存取狀況分析與分層遷移作業。

相較於複雜的分層儲存,若將Flash記憶體當作快取記憶體使用,情況就相對單純許多。

Flash記憶體快取應用的特性

Flash記憶體的快取應用,是扮演輔助DRAM的第二層快取角色。Flash記憶體的速度雖然遠低於DRAM,但單位容量成本只有後者的1/10,因而能夠「以量取勝」,藉由大幅擴增快取記憶體的容量,來提高快取命中率,從而減少系統存取緩慢的底層磁碟的機率。

一般伺服器的DRAM配置大多只有數十GB等級,而即使是高階的磁碟儲存設備控制器,配備的DRAM快取記憶體多數也只有數十到上百GB等級,若能以Flash記憶體作為輔助用的第二層快取記憶體,便能以相對較低的成本,將伺服器或磁碟控制器的快取記憶體擴充到數百GB甚至是TB等級。而當快取緩衝區域增加為原先的十倍甚至數十倍後,快取命中率也可望有相當程度的提高,從而達到改善I/O效能的效果。

相對於把Flash記憶體當作一般磁碟使用,把Flash記憶體當作快取使用有空間運用效率更佳的優點。在快取演算法的運作下,永遠只有存取最頻繁的「熱點」資料區塊,才會保存在Flash快取記憶體中。

其次,與自動分層儲存技術相比,在快取應用中,只要資料被系統讀取過一次、進入快取記憶體後,快取便能生效,後續存取便可發揮快取加速的效果,I/O加速生效的時間,比起必須定期執行資料遷移才能生效的分層儲存技術,要快了許多。

Flash記憶體快取應用的限制

Flash記憶體快取應用雖能帶來加速I/O的效用,但亦存在兩項限制:

首先,I/O加速效果完全依靠命中快取來達成,但不同應用型態與存取環境的快取命中效果差異很大,在某些環境下(如大區塊資料連續存取),幾乎很難有快取命中,連帶也無法產生I/O加速效果。因此Flash記憶體快取應用能發揮加速效果的場合是有限制的,通常是小區塊、隨機存取為主的環境。

其次,許多快取軟體都只提供讀取快取功能,而不支援寫入快取功能,所以只有讀取作業能得到快取的助益,寫入作業則否。不過從另一方面來看,在一個讀、寫混合的存取環境中,若能透過Flash快取記憶體加速讀取效能,則底層磁碟的負擔減輕,能釋出更多磁碟資源給寫入作業使用,連帶也能一定程度改善寫入作業的效能(讀取作業被導向到Flash快取記憶體裝置承擔,底層磁碟只需負擔寫入作業即可)。

反觀若把Flash記憶體當成磁碟使用,就沒有前述這些限制,只要將資料存放到Flash記憶體中,無論讀取或寫入都能發揮相對於傳統硬碟的加速效果。

Flash記憶體快取應用解決方案的基本類型

如同其他類型的快取應用技術,Flash記憶體快取應用解決方案,也是由Flash記憶體儲存裝置搭配快取軟體所組成,依照產品的搭配與組成方式,可以分成硬體通用型與硬體專用型兩種類型:

硬體通用型

硬體通用型產品的核心,是通用型的快取軟體,可以將安裝平臺上指定的儲存裝置空間,規畫為快取記憶體空間,除了透過第三方快取軟體外,有些作業系統亦內建了快取功能。

這類型產品的優點在於可搭配任意廠牌、型號與傳輸介面的儲存裝置使用,無論哪種廠牌型號的Flash記憶體儲存裝置,包括SATA或SAS介面的SSD,或是PCIe介面的SSD卡,都能被快取軟體模擬為快取記憶體使用。

在產品形態上,這類產品可以單獨以快取軟體型式存在,再搭配用戶自行購置的Flash記憶體設備,也可搭配現成的Flash記憶體儲存裝置一同出售,典型的產品有STEC EnhanceIO、Nvelo DataPlex,以及NetApp的Flash Accel等快取軟體。

硬體專用型

硬體專用型產品,同樣也是由快取軟體搭配Flash記憶體儲存裝置組成,但軟、硬體之間彼此綑綁,快取軟體只支援特定廠牌、型號的硬體裝置,構成一種軟硬體結合的解決方案。依照綑綁的型式不同,又可分為兩類:

第一類是搭配特定磁碟控制器晶片的快取軟體,如Intel Z68晶片組附帶的Smart Response Technology(SRT)功能、Marvell的88SE9130 SATA 6Gb控制晶片的快取功能,以及LSI用於搭配該公司RAID控制器卡的MegaRAID CacheCade Pro軟體等。

第二類,則是搭配特定廠商Flash記憶體儲存裝置的專屬產品,如Fusion-io的DirectCache與ioTurbine快取軟體、EMC的FAST Cache與VFCache、NetApp Flash Cache,以及LSI的Nytro XD等。

與通用型快取解決方案相較,專用型產品限制了用戶的硬體選擇,不過在軟、硬體之間的整合與相容性方面較有保障,也提供了一次購足的方案,建置上較為便利。


相關報導請參考「Flash記憶體的快取應用」

熱門新聞

Advertisement