基于NVMe接口的三維閃存固態(tài)盤固件研究
發(fā)布時(shí)間:2020-10-11 05:55
NAND Flash的高密度、大容量、非易失等特性,使其在存儲(chǔ)領(lǐng)域得到廣泛應(yīng)用。NVMe(Non-Volatile Memory express)接口具有帶寬高、讀寫速度快、支持多隊(duì)列等特點(diǎn),需要硬件、固件和軟件層相互協(xié)作配合,提升NAND Flash并行性及其性能。三維閃存堆疊技術(shù)的出現(xiàn),進(jìn)一步提升了NAND Flash的存儲(chǔ)密度與存儲(chǔ)容量,卻帶來(lái)更嚴(yán)重相鄰頁(yè)編程干擾問(wèn)題,F(xiàn)有工作在MTD(Memory Technology Device)驅(qū)動(dòng)層提出交錯(cuò)編程算法,減少編程干擾對(duì)數(shù)據(jù)的影響,但空間利用率較低,且在空閑空間低時(shí),算法效果不佳。針對(duì)三維閃存相鄰頁(yè)編程干擾嚴(yán)重的問(wèn)題,在設(shè)備固件層設(shè)計(jì)實(shí)現(xiàn)了順序交錯(cuò)混合閃存轉(zhuǎn)換層算法(Sequence and Interlace Hybrid FTL,SIH-FTL)。提出細(xì)拆物理塊和干擾檢測(cè)策略,提高空間利用率并進(jìn)一步降低編程干擾;提出多級(jí)隊(duì)列冷熱數(shù)據(jù)處理策略,將不同熱度數(shù)據(jù)分配到合適的隊(duì)列編程,冷數(shù)據(jù)采用順序編程方式,進(jìn)一步提升塊利用率;提出高頁(yè)優(yōu)先遷移策略,降低高頁(yè)受到的編程干擾。設(shè)計(jì)實(shí)現(xiàn)了NVMe固件,使設(shè)備支持NVMe接口。在固態(tài)盤模擬器上對(duì)不同負(fù)載進(jìn)行測(cè)試,與現(xiàn)有的算法相比,SIH-FTL算法平均能夠減少10%的讀干擾錯(cuò)誤和25%的寫干擾錯(cuò)誤。測(cè)試結(jié)果表明多級(jí)隊(duì)列冷熱數(shù)據(jù)處理策略對(duì)降低寫干擾效果顯著,約減少30%的寫干擾錯(cuò)誤;高頁(yè)優(yōu)先遷移策略對(duì)降低讀干擾效果顯著,約減少17%的讀干擾錯(cuò)誤。通過(guò)在實(shí)驗(yàn)室自主開發(fā)的固態(tài)盤硬件平臺(tái)上實(shí)測(cè),NVMe固件程序能夠和通用NVMe驅(qū)動(dòng)通訊并使設(shè)備正常工作。
【學(xué)位單位】:華中科技大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位年份】:2018
【中圖分類】:TP333
【部分圖文】:
華 中 科 技 大 學(xué) 碩 士 學(xué) 位 論 文NVMe 固件實(shí)現(xiàn)4.3.1 硬件配置硬件配置主要是指在建硬件工程時(shí)配置 PCIe。主機(jī)和 NVMe 固件通過(guò)設(shè)備上的PCIe 進(jìn)行通訊。為了讓主機(jī)能夠識(shí)別 NVMe 設(shè)備,需要先和設(shè)備的 PCIe 對(duì)接。和NVMe 相關(guān)的 PCIe 配置信息如下:(1) PCIe BAR0。主機(jī)和 NVMe 控制器構(gòu)建初步通訊主要通過(guò) PCIe BAR0 實(shí)現(xiàn),NVMe 協(xié)議定義了 NVMe 控制器寄存器結(jié)構(gòu),該結(jié)構(gòu)的起址是 PCIe BAR0 的起址PCIe BAR0 的存儲(chǔ)空間主要在設(shè)備上。在搭建硬件工程的時(shí)候,設(shè)備會(huì)分配一段地址給 PCIe BAR0。具體配置如圖 4-3 所示,PCIe BAR0 的起址位置設(shè)置為 0x2000000空間大小為 2 的 14 次方,共 16KB。
圖 4-5 設(shè)備信息配置圖(2) MSI 中斷。由于 DSAL SSD 2.0 硬件原型平臺(tái)采用的是 PCIe2.0 接口,還持 MSI-X,所以在配置的時(shí)候僅配置 MSI 中斷。如圖 4-4 所示。將 Number of M置為 5,意指有 2 的 5 次方共 32 個(gè)中斷。(3) 設(shè)備信息。設(shè)備信息設(shè)置如圖 4-5 所示。NVMe 協(xié)議定義了 NVMe 設(shè)備CIe Class Code 必須是 0x010802。在配置 PCIe 時(shí),主要把 PCIe Class Code 設(shè)置x010802。其他設(shè)備信息如 PCIe Vendor ID(PCIe 廠商號(hào))可以自行定義。.3.2 固件實(shí)現(xiàn)NVMe 固件模塊具體實(shí)現(xiàn)如下:(1) 初始化模塊。初始化模塊包括 NVMe 控制器管理結(jié)構(gòu)和 NVMe 控制器寄存器結(jié)構(gòu)初始化。NVMe 控制器寄存器結(jié)構(gòu)用于管理一組用于主機(jī)與 NVMe 控制器交互的寄存
NVMe 固件的功能性測(cè)試將在 DSALSSD 2.0 硬件原型平臺(tái)上完成。該平lash 芯片,配備了基礎(chǔ)的 FTL 算法,主要查看 NVMe 固件下的平臺(tái)設(shè)備識(shí)別、進(jìn)行正常讀寫。由于 DSALSSD 3.0 硬件原型平臺(tái)還不夠完善,DSA件原型平臺(tái)僅支持 2D Flash;同時(shí)在硬件平臺(tái)下,無(wú)法測(cè)試真實(shí)負(fù)載環(huán)境性,SIH-FTL 算法將在模擬器上實(shí)現(xiàn)并驗(yàn)證。在固態(tài)盤模擬器中實(shí)現(xiàn)另外轉(zhuǎn)換層算法作為對(duì)照,并加入了一些對(duì)照實(shí)驗(yàn),測(cè)試各個(gè)模塊的具體效果NVMe 固件功能性測(cè)試 測(cè)試平臺(tái)硬件平臺(tái):實(shí)驗(yàn)室自主開發(fā)的 DSAL SSD 2.0 硬件原型平臺(tái)(如圖 5-1 所ung 的 K9WAG08U1A 閃存芯片。軟件平臺(tái):CentOS6.7、Linux 4.4.0 內(nèi)核、Xilinx 開發(fā)套件 SDK14.4、XP
【參考文獻(xiàn)】
本文編號(hào):2836172
【學(xué)位單位】:華中科技大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位年份】:2018
【中圖分類】:TP333
【部分圖文】:
華 中 科 技 大 學(xué) 碩 士 學(xué) 位 論 文NVMe 固件實(shí)現(xiàn)4.3.1 硬件配置硬件配置主要是指在建硬件工程時(shí)配置 PCIe。主機(jī)和 NVMe 固件通過(guò)設(shè)備上的PCIe 進(jìn)行通訊。為了讓主機(jī)能夠識(shí)別 NVMe 設(shè)備,需要先和設(shè)備的 PCIe 對(duì)接。和NVMe 相關(guān)的 PCIe 配置信息如下:(1) PCIe BAR0。主機(jī)和 NVMe 控制器構(gòu)建初步通訊主要通過(guò) PCIe BAR0 實(shí)現(xiàn),NVMe 協(xié)議定義了 NVMe 控制器寄存器結(jié)構(gòu),該結(jié)構(gòu)的起址是 PCIe BAR0 的起址PCIe BAR0 的存儲(chǔ)空間主要在設(shè)備上。在搭建硬件工程的時(shí)候,設(shè)備會(huì)分配一段地址給 PCIe BAR0。具體配置如圖 4-3 所示,PCIe BAR0 的起址位置設(shè)置為 0x2000000空間大小為 2 的 14 次方,共 16KB。
圖 4-5 設(shè)備信息配置圖(2) MSI 中斷。由于 DSAL SSD 2.0 硬件原型平臺(tái)采用的是 PCIe2.0 接口,還持 MSI-X,所以在配置的時(shí)候僅配置 MSI 中斷。如圖 4-4 所示。將 Number of M置為 5,意指有 2 的 5 次方共 32 個(gè)中斷。(3) 設(shè)備信息。設(shè)備信息設(shè)置如圖 4-5 所示。NVMe 協(xié)議定義了 NVMe 設(shè)備CIe Class Code 必須是 0x010802。在配置 PCIe 時(shí),主要把 PCIe Class Code 設(shè)置x010802。其他設(shè)備信息如 PCIe Vendor ID(PCIe 廠商號(hào))可以自行定義。.3.2 固件實(shí)現(xiàn)NVMe 固件模塊具體實(shí)現(xiàn)如下:(1) 初始化模塊。初始化模塊包括 NVMe 控制器管理結(jié)構(gòu)和 NVMe 控制器寄存器結(jié)構(gòu)初始化。NVMe 控制器寄存器結(jié)構(gòu)用于管理一組用于主機(jī)與 NVMe 控制器交互的寄存
NVMe 固件的功能性測(cè)試將在 DSALSSD 2.0 硬件原型平臺(tái)上完成。該平lash 芯片,配備了基礎(chǔ)的 FTL 算法,主要查看 NVMe 固件下的平臺(tái)設(shè)備識(shí)別、進(jìn)行正常讀寫。由于 DSALSSD 3.0 硬件原型平臺(tái)還不夠完善,DSA件原型平臺(tái)僅支持 2D Flash;同時(shí)在硬件平臺(tái)下,無(wú)法測(cè)試真實(shí)負(fù)載環(huán)境性,SIH-FTL 算法將在模擬器上實(shí)現(xiàn)并驗(yàn)證。在固態(tài)盤模擬器中實(shí)現(xiàn)另外轉(zhuǎn)換層算法作為對(duì)照,并加入了一些對(duì)照實(shí)驗(yàn),測(cè)試各個(gè)模塊的具體效果NVMe 固件功能性測(cè)試 測(cè)試平臺(tái)硬件平臺(tái):實(shí)驗(yàn)室自主開發(fā)的 DSAL SSD 2.0 硬件原型平臺(tái)(如圖 5-1 所ung 的 K9WAG08U1A 閃存芯片。軟件平臺(tái):CentOS6.7、Linux 4.4.0 內(nèi)核、Xilinx 開發(fā)套件 SDK14.4、XP
【參考文獻(xiàn)】
相關(guān)博士學(xué)位論文 前1條
1 胡洋;高性能固態(tài)盤的多級(jí)并行性及算法研究[D];華中科技大學(xué);2012年
相關(guān)碩士學(xué)位論文 前1條
1 余晨曄;基于重復(fù)寫入特性的大容量閃存頁(yè)讀寫優(yōu)化[D];華中科技大學(xué);2016年
本文編號(hào):2836172
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2836172.html
最近更新
教材專著