精選文章

[新聞|產業] 大型企業儲存廠商面臨市場寒冬

大部份的儲存系統大型製造商在將要過去的 2016 年都不太好過;不過,這究竟只是另一個寒冬,還是根本就是冰河期的開始?春天還會不會來呢?在即將步入 2017 年的這個時候,這些儲存廠商的心裡只怕是五味雜陳吧! 根據最新的 IDC 全球企業儲存系統追蹤季報 (IDC World...

2015年7月21日

[企業儲存觀察室|技術] 如何應用快閃儲存之二:快閃快取

上文接「如何應用快閃儲存之一:自動分層」。

至於快閃快取,顧名思義就是以快閃儲存來做為儲存系統的快取記憶體 (Cache Memory),不過它是擴充而不是取代系統的快取記憶體。一般儲存系統的快取記憶體可以從數十 GB 到數百 GB,大型的企業級儲存系統的快取記憶體可能會達到 TB 等級。做為快取記憶體擴充功能的快閃儲存,則可將快取記憶體擴展到數 TB 的大小,就像是一部擁有數 TB 快取記憶體的儲存系統。


超大容量的快取記憶體當然會加快資料讀取的速度,然而只是容量大是不夠的,因為快取記憶體的重點在於讀取資料的命中率。其實儲存系統快取記憶體的讀取命中率並不高,尤其在大量隨機讀寫的情況下,能達到 30% 的讀取命中率就算是不錯的了。因此如果沒有特別的智慧化機制,光擴充大量的快取記憶體可能也只是白浪費錢。

因此在快閃快取技術中,儲存系統必須智慧化地管理整個的讀寫作業流程,包括快取記憶體以及快閃快取,有些廠商的技術還會包括了主機端的快閃儲存界面卡,它必須要依據工作負載的連續型態,再加上資料存取頻率、最後讀取時間、資料建立時間等條件,來判斷資料區塊要駐留在快取、快閃、或更低效能的磁碟機上,以加快資料讀取的速度。

在寫入加速的部份,就不需要太多的智慧化判斷,快閃快取就當成儲存系統快取與磁碟機間的另一個資料緩衝區,當快取記憶體溢位時,就將資料區塊暫時移至快閃儲存中,清出快取記憶體的空間以承接更多的寫入資料。不過在快閃快取資料回寫磁碟的部份,則有兩種不同的回寫機制。一種是把快閃快取視為快取記憶體,因此與快取記憶體的回寫機制相同,直至快閃快取溢位時,才將資料回寫至磁碟機;另一種則是把快閃快取視為儲存,當資料從快取記憶體溢位時,就將資料回寫至磁碟機,同時也保留在快閃快取中,以備資料被讀取時使用。

快閃快取資料讀寫的方式看起來好像比自動分層要複雜一點,原因是在於快取,不論是儲存系統原本的快取記憶體,或是以快閃儲存擴展而成的快取,其中的資料都是磁碟機裡資料區塊的拷貝,真正的資料仍然存放在磁碟機上,直到快取回寫時才會更新磁碟機裡的資料,因此必須要考慮更多資料保護的問題,以避免因事故而造成資料丟失的問題。所以快閃儲存在做為寫入快取時,也必須要有類似鏡射或 RAID 1 的資料保護機制。

快閃快取技術裡的快閃儲存只是用來做為讀寫加速之用,而不是用來做為實際存放資料的媒體,這與自動分層裡的快閃儲存實際用來存放資料是不同的,因此是成本與儲存容量評估上的一個考量因素。

至於何者較好,完全是因人(應用)而異,應該說沒有哪一個比較好,只有適不適合的問題。例如早期的快閃讀取加速是被應用在虛擬桌面環境裡,可以有效解決開機風暴的問題。在資料遷移是高度可被預估,或是資料讀取有固定模式的環境中,自動分層是可以獲得不錯效能的。

在決定使用何種技術之前,我的建議還是先做個 PoC 吧!畢竟每種應用環境各不相同,程式的寫法也各有所異,實際測試才能知道快閃儲存可以以哪種方式來協助你在有限的預算下,達成可預期的效能增進。如果沒有預算限制的話,那就直上全快閃/固態陣列吧!