• 沒有找到結果。

2 BACKGROUND

2.6 Related Work

在過去的文獻中,大都將注意力放在共用匯流排的平行度,也就是多個快閃 記憶體模組共用相同匯流排,讓不同快閃記憶體模組輪流使用匯流排傳輸資料,

並讓快閃記憶體模組的 Erase、Program 和 Read 的時間重疊而達到平行的效果。

9

L. P. Chang 等人 [13] 提出了動態 striping 的方式來提升平行度。針對共用相 同匯流排的架構,讓資料寫入空閒的快閃記憶體模組,而不強迫資料須放置在固 定的快閃記憶體模組內,如此可以省下資料因為要放置在固定的快閃記憶體模組 內而等待的時間。將這樣的設計帶入多通道的運作也可提升寫入的平行度,但是 這樣的設計會使得連續讀取無法平行運作而降低讀取效能。

Y. B. Chang 等人 [15] 提出可以用 striping 的方式存放經常讀取資料的複本來 提升讀取的平行度。針對共用相同匯流排的架構,將經常需要讀取的資料編碼後 放置在與原本資料放置位置不同的快閃記憶體模組內,使讀取的時候有更多選擇 可以讀出原始資料,讓讀取可以減少等待時間而提升讀取效能。這篇論文主要是 在提升讀取效能,並沒有提升寫入或是 GC 的效能。

J. Seol 等人 [19] 提出 MCA,使用緩衝區來提升寫入平行度。針對共用相同 匯流排的架構,動態 striping 寫入資料時,read-modify-write 需要讀取的 page 存 放在其他正在忙碌的快閃記憶體模組內,因此必須等待而導致閒置。加入緩衝區 可以暫存一些 request,當發現會因為 read-modify-write 需要讀取其他正在忙碌 的快閃記憶體模組時,就先讓其他的 request 優先寫入,避免閒置。將這樣的設 計帶入多通道的運作中,首先是動態 striping 需要解決讀取無法平行的問題,其 次是雖然可以提升寫入平行度,但是卻無法提升 GC 的平行度,而且在他的實驗 中需要使用數 MB 的 RAM。

C. Park 等人 [14] 針對大量連續資料,提出多通道且自動化 interleaving 的硬 體架構,可以大量提升存取的效能。但是這篇論文並沒有解決小資料隨機寫入的 問題。

J. U. Kang 等人 [16] 提出 DUMBO,其中有四個獨立通道,包含三種平行機 制,分別是 striping、interleaving 和 pipelining,striping 及 interleaving 是將資料 分散在不同快閃記憶體模組藉以提升平行度,而 pipelining 是提升同一個通道內 的快閃記憶體模組的平行度。然而 DUMBO 並沒有去解決部分通道會閒置的問題。

Y. J. Seong 等人 [20] 提出 Hydra,將多通道並聯並同步運作以加大存取的頻 寬,並讓多組獨立的快閃記憶體模組串連並共用匯流排來增加匯流排的使用率而 提高效能。與一般共用匯流排的 interleaving 技術不同的地方在於他是獨立的,

不同群組的快閃記憶體模組可以執行不同的操作。然而 Hydra 並沒有解決小資料 隨機寫入效能不佳的問題。

N. Agrawal 等人 [17] 與 J. Shin 等人 [18] 討論了許多 SSD 設計上的議題。

10

他針對 page-mapped FTL 模擬在各種設定下的表現,包括 mapping 的單位、

overprovisioning、interleaving、ganging 以及一些門檻(threshold)的設定,最後歸 納出 FTL 設計上的各種考量因素的優缺點。這兩篇研究並沒有提出新的方法,只 是針對現有的議題進行比較測試。

本篇論文提出多通道的管理方法,除了提升小資料隨機寫入的效能,也要兼 顧讀取、寫入以及 GC 的平行度。

11

相關文件