INTRODUCTION

在雲端環境中,可預測的讀寫延遲時間對服務品質有相當大的影響。我們之所以難以預測延遲是因為在現行的系統架構中硬體設計經過階層化後使得系統效能被大幅拖累,而 Open-Channel SSD 是透過將硬體內部的 Flash 通道讓作業系統中的子系統能夠識別,搭配自行設計的 FTL 取代部分傳統固態硬碟控制器的功能,使得作業系統在存取硬碟時不用再經過繁雜的對應程序可以直接對 Flash 進行讀寫,如此一來便可大幅降低讀寫延遲。且由於每個指令的執行都是經由系統直接排程,也使得讀寫延遲變得可以預測,不會再像過去由 SSD Controller 排程時延遲時間飄忽不定。

完整的 LightNVM 架構如圖一所示,可分為 pblk 及 liblightnvm 兩種存取路徑。 pblk 主要針對傳統檔案系統提供一般應用程式直接存取 Open-Channel SSD , liblightnvm 則是提供一完整的 API 供應用程式直接存取 Open-Channel SSD 。在這次的專題中我主要對 pblk 原始碼進行分析並測試在多個使用者的情況下的效能表現。


Fig. 1

心得感想

在一開始對固態硬碟技術幾乎一無所知的情況下經過教授及實驗室學長在每週例會時的報告逐漸了解固態硬碟技術。在找題目時發現 LightNVM 覺得這是個滿有創意的發想於是就開始進行更深入的研究。過程中非常感謝教授引導我該往哪部分的原始碼進行分析及 Matias Bjorling 協助指導我進行模擬環境建置,使我對固態硬碟技術及 Linux 系統有更深入的了解。