亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        固態(tài)盤(pán)模擬器現(xiàn)狀分析

        2020-02-08 04:12:08馮志華安東博鄢軍霞李文佳
        關(guān)鍵詞:模型

        馮志華,安東博+,鄢軍霞,李文佳,萬(wàn) 星

        (1.中國(guó)航天科工集團(tuán)第二研究院706所,北京 100854;2.武漢軟件工程職業(yè)學(xué)院 信息學(xué)院,湖北 武漢 430205)

        0 引 言

        隨著大數(shù)據(jù)與云計(jì)算的發(fā)展以及存儲(chǔ)性能和計(jì)算性能之間的差距在不斷擴(kuò)大,存儲(chǔ)系統(tǒng)的性能逐漸成為制約信息系統(tǒng)發(fā)展的瓶頸。而固態(tài)盤(pán)具有隨機(jī)訪問(wèn)性能好、體積小、功耗低等突出優(yōu)點(diǎn),且容量逐步上升,單盤(pán)容量可達(dá)TB級(jí),正逐漸取代傳統(tǒng)磁盤(pán)成為應(yīng)用于存儲(chǔ)系統(tǒng)的主要存儲(chǔ)器件。

        固態(tài)盤(pán)主要由控制器和存儲(chǔ)芯片構(gòu)成,控制器算法的好壞,對(duì)固態(tài)盤(pán)性能影響很大。在對(duì)固態(tài)盤(pán)進(jìn)行架構(gòu)與控制算法的研究與優(yōu)化時(shí),直接在固態(tài)盤(pán)上實(shí)現(xiàn)設(shè)計(jì)構(gòu)想需要花費(fèi)大量的時(shí)間成本和人力物力成本。而選擇在固態(tài)盤(pán)模擬器上對(duì)設(shè)計(jì)進(jìn)行驗(yàn)證,不但能夠快速得到功能、性能等方面的估測(cè)數(shù)據(jù),加快設(shè)計(jì)迭代周期,還有助于設(shè)計(jì)者更好的評(píng)估設(shè)計(jì)改動(dòng)對(duì)固態(tài)盤(pán)各部分影響,并基于驗(yàn)證結(jié)果進(jìn)一步改進(jìn)設(shè)計(jì)方案。

        文獻(xiàn)[1-4]分別提出了4種開(kāi)源固態(tài)盤(pán)模擬器,都對(duì)固態(tài)盤(pán)的一些重要組成部分(如閃存、內(nèi)存等)與功能模型(如延遲模型等)進(jìn)行了模擬,但在架構(gòu)組成和模型設(shè)計(jì)等方面存在差異,這也導(dǎo)致其對(duì)固態(tài)盤(pán)功能與性能的模擬精度不盡相同。為評(píng)估各固態(tài)盤(pán)模擬器的功能與性能,選用合適的固態(tài)盤(pán)模擬器對(duì)固態(tài)盤(pán)的設(shè)計(jì)進(jìn)行評(píng)估與驗(yàn)證,本文對(duì)幾種典型固態(tài)盤(pán)模擬器的架構(gòu)組成與功能進(jìn)行分析,并選取實(shí)際固態(tài)盤(pán)與各固態(tài)盤(pán)模擬器在同等測(cè)試環(huán)境下進(jìn)行性能比對(duì)實(shí)驗(yàn)。

        1 固態(tài)盤(pán)模擬器基本組成

        固態(tài)盤(pán)是一個(gè)包括硬件與軟件的嵌入式系統(tǒng)。在開(kāi)發(fā)設(shè)計(jì)固態(tài)盤(pán)產(chǎn)品時(shí),使用固態(tài)盤(pán)模擬器,能夠提前驗(yàn)證設(shè)計(jì)的硬件結(jié)構(gòu)與軟件算法,降低開(kāi)發(fā)成本,縮短研發(fā)周期。

        固態(tài)盤(pán)模擬器需要對(duì)固態(tài)盤(pán)的硬件行為(包括固態(tài)盤(pán)內(nèi)部通道、閃存顆粒等)、軟件算法(包括地址映射、磨損均衡及垃圾回收等)進(jìn)行模擬。而軟件算法與真實(shí)的固態(tài)盤(pán)系統(tǒng)中的軟件類似,所以固態(tài)盤(pán)模擬器的重點(diǎn)在于對(duì)固態(tài)盤(pán)硬件行為的模擬。其中作為固態(tài)盤(pán)硬件的關(guān)鍵部分,閃存是固態(tài)盤(pán)模擬器需要模擬的核心點(diǎn)。模擬器通過(guò)對(duì)固態(tài)盤(pán)設(shè)計(jì)的硬件結(jié)構(gòu)和固件算法的模擬,可以對(duì)固態(tài)盤(pán)設(shè)計(jì)的性能(包括順序/隨機(jī)讀寫(xiě)速率及延遲等)與能耗指標(biāo)進(jìn)行模擬測(cè)試,從而對(duì)固態(tài)盤(pán)設(shè)計(jì)工作做出指導(dǎo)與驗(yàn)證。

        固態(tài)盤(pán)模擬器主要由主機(jī)接口、數(shù)據(jù)緩存、閃存轉(zhuǎn)換層(flash translation layer,F(xiàn)TL)、閃存等部分組成,本文從模擬器的基本組成以及延遲模型等部分對(duì)固態(tài)盤(pán)模擬器進(jìn)行分析。

        1.1 主機(jī)接口

        主機(jī)接口實(shí)現(xiàn)與主機(jī)通信的協(xié)議邏輯,如SATA、NVMe等。目前大多數(shù)固態(tài)盤(pán)使用SATA協(xié)議接口,其中原生命令隊(duì)列(native command queuing,NCQ)使固態(tài)盤(pán)能夠優(yōu)化工作負(fù)載執(zhí)行順序,通過(guò)對(duì)內(nèi)部隊(duì)列中的命令進(jìn)行重新排序來(lái)提高執(zhí)行效率[5]。NVMe協(xié)議突破SATA協(xié)議瓶頸,精簡(jiǎn)了指令調(diào)用方式,減少對(duì)寄存器的訪問(wèn)次數(shù),且最大支持64 K隊(duì)列深度,充分利用PCIe通道性能,具有低延遲、高性能等特點(diǎn)。

        1.2 數(shù)據(jù)緩存

        數(shù)據(jù)緩存對(duì)固態(tài)盤(pán)整體性能的提升有著較大的影響。數(shù)據(jù)緩存負(fù)責(zé)服務(wù)來(lái)自上層的請(qǐng)求,即首先在數(shù)據(jù)緩存區(qū)搜索新收到請(qǐng)求的目標(biāo)數(shù)據(jù)。若收到讀請(qǐng)求,則先在緩存區(qū)搜索目標(biāo)數(shù)據(jù),然后讀出該數(shù)據(jù)并響應(yīng)讀請(qǐng)求。若收到寫(xiě)請(qǐng)求,在緩存區(qū)搜索到該請(qǐng)求數(shù)據(jù),則直接將本次請(qǐng)求數(shù)據(jù)寫(xiě)入緩存區(qū)替換之前的舊數(shù)據(jù)。若在緩存區(qū)未搜索到請(qǐng)求的數(shù)據(jù),則需要進(jìn)一步去訪問(wèn)閃存。

        1.3 閃存轉(zhuǎn)換層

        閃存轉(zhuǎn)換層負(fù)責(zé)模擬固態(tài)盤(pán)閃存轉(zhuǎn)換層中包括地址映射、垃圾回收及磨損均衡等在內(nèi)的各種算法。地址映射完成邏輯地址空間到物理地址空間的映射,包括塊映射、頁(yè)映射和混合映射等。垃圾回收完成對(duì)某些閃存塊中的有效數(shù)據(jù)的重寫(xiě)與無(wú)效數(shù)據(jù)的擦除,從而得到新的可用的閃存塊。磨損均衡負(fù)責(zé)使固態(tài)盤(pán)中每個(gè)閃存塊的磨損(擦除)次數(shù)保持平衡,包括動(dòng)態(tài)磨損均衡和靜態(tài)磨損均衡兩種算法。

        閃存轉(zhuǎn)換層算法的優(yōu)劣與否,直接決定了固態(tài)盤(pán)在性能、可靠性、耐用性等方面的優(yōu)劣,是固態(tài)盤(pán)固件的核心部分。

        1.4 閃 存

        閃存將信息存儲(chǔ)在由浮柵晶體管制成的存儲(chǔ)單元中,出于成本考慮,數(shù)據(jù)存儲(chǔ)應(yīng)用主要采用NAND閃存。固態(tài)盤(pán)的工作原理基于閃存特性,如閃存寫(xiě)操作前必須先擦除,需要有垃圾回收(garbage collection,GC)操作;閃存擦寫(xiě)次數(shù)超過(guò)一定閾值后,內(nèi)部存儲(chǔ)的數(shù)據(jù)變得不可靠,需要有磨損均衡(wear leveling,WL)操作等。閃存由大量的存儲(chǔ)單元按照一定的組織結(jié)構(gòu)組成的:每個(gè)閃存芯片(package)由若干個(gè)共享同一通道的裸片(Die)組成,每個(gè)裸片有若干個(gè)分組(Plane),每個(gè)分組中有若干個(gè)塊(Block),同時(shí)也有獨(dú)立的寄存器用以緩存數(shù)據(jù)。每個(gè)塊包括若干個(gè)頁(yè)(Page),是擦除操作的最小操作單位,一個(gè)塊的擦除次數(shù)有限,且擦除操作會(huì)帶來(lái)延遲。頁(yè)是寫(xiě)操作的最小操作單位,可在模擬器中用來(lái)計(jì)算讀寫(xiě)操作延遲。

        在ONFI(open NAND flash interface)/Toggle協(xié)議下,閃存支持基本的讀、寫(xiě)以及擦除命令,同時(shí)提供了數(shù)據(jù)遷移、多分組操作等高級(jí)命令,優(yōu)化閃存的訪問(wèn)速度。

        1.5 延遲模型

        請(qǐng)求延遲是評(píng)估固態(tài)盤(pán)性能好壞的一個(gè)重要指標(biāo)。從主機(jī)端發(fā)起請(qǐng)求到設(shè)備端響應(yīng)為止,一個(gè)請(qǐng)求的延遲可分為以下幾部分(以NVMe接口固態(tài)盤(pán)讀請(qǐng)求為例):①主機(jī)將命令寫(xiě)到提交隊(duì)列;②PCIe總線傳輸延遲;③閃存轉(zhuǎn)換層的地址轉(zhuǎn)換以及任務(wù)調(diào)度;④命令及地址發(fā)送給閃存芯片;⑤閃存讀數(shù)據(jù);⑥數(shù)據(jù)通過(guò)ONFI傳輸至固態(tài)盤(pán)固件;⑦數(shù)據(jù)通過(guò)PCIe總線傳輸至主機(jī)。

        其中各部分延遲不盡相同,由于相對(duì)于其它部分來(lái)說(shuō),某些部分延遲很小(如處理器的時(shí)間開(kāi)銷),所以許多模擬器可能這些部分的延遲忽略不計(jì),不同的延遲模型也是影響固態(tài)盤(pán)模擬器準(zhǔn)確度的一個(gè)重要原因。

        2 典型開(kāi)源固態(tài)盤(pán)模擬器分析

        本文選取了Flashsim、SSDsim、Amber和MQSim這4個(gè)典型開(kāi)源固態(tài)盤(pán)模擬器,根據(jù)固態(tài)盤(pán)模擬器基本組成,從主機(jī)接口、數(shù)據(jù)緩存、閃存轉(zhuǎn)換層、閃存以及延遲模型等方面對(duì)各個(gè)固態(tài)盤(pán)模擬器分別進(jìn)行分析。

        2.1 Flashsim模擬器

        Flashsim[1]是事件驅(qū)動(dòng)的基于C++的固態(tài)盤(pán)模擬器,其架構(gòu)如圖1所示。硬件部分由SSD模塊、控制器、內(nèi)存、閃存芯片等部分組成。SSD模塊用于例化模擬器并對(duì)外提供調(diào)用接口;控制器負(fù)責(zé)對(duì)接軟件與硬件,對(duì)事件做出處理并計(jì)算所需時(shí)間;內(nèi)存主要用于數(shù)據(jù)緩存,計(jì)算讀寫(xiě)RAM的延遲;閃存芯片則模擬真實(shí)的閃存結(jié)構(gòu),包括分組、裸片、塊、頁(yè)等結(jié)構(gòu)。軟件部分即閃存轉(zhuǎn)換層,實(shí)現(xiàn)了地址映射、垃圾回收、磨損均衡以及RAID算法,同時(shí)定義了Event和Address兩個(gè)類,用于在各層之間傳輸操作信息和記錄狀態(tài)。

        圖1 Flashsim模擬器架構(gòu)

        Flashsim中的事件處理流程如下:SSD模塊接收到事件,將其傳遞給控制器后,F(xiàn)TL將該多頁(yè)請(qǐng)求轉(zhuǎn)換為一個(gè)事件列表,并把列表中的事件發(fā)送到對(duì)應(yīng)的總線通道,總線通道處理分發(fā)各個(gè)請(qǐng)求。

        (1)主機(jī)接口

        Flashsim中并沒(méi)有提供SATA、NVMe等主機(jī)接口,只通過(guò)SSD模塊來(lái)例化整個(gè)模擬器,并提供對(duì)外的調(diào)用接口,用于建立事件,獲取統(tǒng)計(jì)信息等操作。

        (2)數(shù)據(jù)緩存

        控制器在將數(shù)據(jù)傳輸?shù)娇偩€之前會(huì)將其在內(nèi)存中緩存,RAM模塊負(fù)責(zé)計(jì)算數(shù)據(jù)在內(nèi)存中的讀寫(xiě)延遲。

        (3)閃存轉(zhuǎn)換層

        Flashsim的閃存轉(zhuǎn)換層提供地址映射、垃圾回收以及磨損均衡算法,支持固態(tài)盤(pán)RAID模擬操作,同時(shí)定義了Event和Address兩個(gè)類,用于在各層之間傳輸操作信息和記錄狀態(tài)。Flashsim的FTL算法支持DFTL、FAST、BAST以及Page-level等。

        (4)閃存

        Flashsim閃存芯片模型模擬真實(shí)的閃存結(jié)構(gòu),包括分組、裸片、塊、頁(yè)等結(jié)構(gòu)。支持對(duì)閃存芯片的讀、寫(xiě)、擦除操作所需的時(shí)間進(jìn)行設(shè)置,以模擬實(shí)際閃存芯片的讀、寫(xiě)、擦除操作延遲。同時(shí)支持對(duì)閃存芯片在不同狀態(tài)之間轉(zhuǎn)換時(shí)的電流、電壓的模擬,用以估算閃存每次讀、寫(xiě)、擦除操作的能耗。

        (5)延遲模型

        Flashsim中延遲模型考慮了內(nèi)存讀寫(xiě)延遲、總線傳輸延遲和閃存讀、寫(xiě)、擦除等操作延遲,忽略了處理器的時(shí)間開(kāi)銷。

        2.2 SSDsim模擬器

        SSDsim的架構(gòu)如圖2所示,結(jié)構(gòu)分為數(shù)據(jù)緩存層、閃存轉(zhuǎn)換層和硬件行為模擬層,能夠?qū)虘B(tài)盤(pán)的高級(jí)命令、時(shí)間延遲和能耗進(jìn)行模擬。

        圖2 SSDsim模擬器架構(gòu)

        SSDsim的基本操作流程如下:在執(zhí)行初始化函數(shù),完成從參數(shù)文件中讀入固態(tài)盤(pán)的參數(shù)設(shè)置等初始化操作后,開(kāi)始接收外部請(qǐng)求。外部請(qǐng)求來(lái)臨,在數(shù)據(jù)緩存區(qū)尋找目標(biāo)數(shù)據(jù)或進(jìn)一步訪問(wèn)閃存。訪問(wèn)閃存時(shí),外部請(qǐng)求被分為獨(dú)立的子請(qǐng)求,掛載到相應(yīng)的子請(qǐng)求隊(duì)列中進(jìn)行處理。所有請(qǐng)求完成后輸出此外部請(qǐng)求模擬結(jié)果。

        (1)主機(jī)接口

        SSDsim不提供SATA、NVMe等主機(jī)接口,通過(guò)調(diào)用get_request函數(shù),根據(jù)SSDsim的系統(tǒng)時(shí)間、當(dāng)前請(qǐng)求隊(duì)列長(zhǎng)度以及外部請(qǐng)求到達(dá)時(shí)間做出判斷,將外部請(qǐng)求讀入到SSDsim中。

        (2)數(shù)據(jù)緩存

        在SSDsim架構(gòu)中,設(shè)置了數(shù)據(jù)緩存層來(lái)模擬固態(tài)盤(pán)中緩存區(qū)域?qū)φ?qǐng)求的服務(wù)過(guò)程。并且使用一個(gè)結(jié)構(gòu)體表示數(shù)據(jù)緩存區(qū)的最小單位,并根據(jù)緩存管理算法(如最近最少使用算法、最不經(jīng)常使用算法等)進(jìn)行排序。

        (3)閃存轉(zhuǎn)換層

        SSDsim的閃存轉(zhuǎn)換層模擬固態(tài)盤(pán)地址映射、垃圾回收、磨損均衡等算法。其中地址映射包括頁(yè)映射、塊映射、混合映射、DFTL等,垃圾回收算法采用貪婪算法等,磨損均衡算法包括靜態(tài)磨損均衡與動(dòng)態(tài)磨損均衡。

        (4)閃存

        SSDsim遵循ONFI2.2協(xié)議,支持基本的讀、寫(xiě)、擦除命令與數(shù)據(jù)遷移、多分組操作、交錯(cuò)操作等命令。除正常閃存的讀、寫(xiě)、擦除延遲和不同狀態(tài)轉(zhuǎn)換下電氣參數(shù)外,定義了模擬固態(tài)盤(pán)的使用程度的老化參數(shù)(age),用于真實(shí)模擬實(shí)際固態(tài)盤(pán)使用場(chǎng)景。

        (5)延遲模型

        SSDsim的延遲模型包括閃存的讀、寫(xiě)、擦除操作延遲和內(nèi)存的平均讀寫(xiě)延遲,忽略了處理器的時(shí)間開(kāi)銷。

        2.3 Amber模擬器

        Amber[2]是SimpleSSD[3]的第二代改進(jìn)版本,相對(duì)于1.x版本來(lái)說(shuō),增加了SATA、UFS(universal flash sto-rage)、OCSSD(open-channel SSD)主機(jī)接口模型,支持FTL頁(yè)級(jí)映射,建立了處理器以及內(nèi)存的能耗模型,能夠動(dòng)態(tài)地更為精確地模擬固態(tài)盤(pán)能耗性能。同時(shí)Amber中模擬了多個(gè)ARM8指令集架構(gòu)的嵌入式CPU,用于實(shí)現(xiàn)固態(tài)盤(pán)固件的不同功能。Amber的架構(gòu)框架如圖3所示。

        圖3 Amber模擬器架構(gòu)

        (1)主機(jī)接口

        Amber提供SATA、NVMe主機(jī)接口以及UFS、OCSSD模型,支持SATA原生命令隊(duì)列、NVMe命名空間(Namespace)等功能,實(shí)現(xiàn)了DMA以仿真數(shù)據(jù)與主機(jī)內(nèi)存間的傳輸。

        (2)數(shù)據(jù)緩存

        Amber在提供DRAM作為緩存外,實(shí)現(xiàn)了“預(yù)讀”的緩存管理算法,即根據(jù)DRAM中多個(gè)請(qǐng)求的地址與長(zhǎng)度做出判斷,預(yù)先將flash中的數(shù)據(jù)讀到緩存中,提高固態(tài)盤(pán)的讀性能。

        (3)閃存轉(zhuǎn)換層

        Amber在SimpleSSD1.x版本支持混合映射的基礎(chǔ)上增加了頁(yè)級(jí)映射,并提供可用的垃圾回收、磨損均衡和任務(wù)調(diào)度算法。

        (4)閃存

        Amber的閃存模型也采用了目前實(shí)際固態(tài)盤(pán)中使用的多通道、多路徑架構(gòu),即總線上掛載多通道負(fù)責(zé)任務(wù)調(diào)度。外部請(qǐng)求被分為多個(gè)子請(qǐng)求,通過(guò)多通道、多路徑架構(gòu)完成后,向主機(jī)返回完成信息。

        (5)延遲模型

        Amber可以在用戶級(jí)執(zhí)行FIO測(cè)試,實(shí)現(xiàn)了包括主機(jī)接口協(xié)議處理、處理器延遲、FTL算法以及閃存等在內(nèi)的延遲模型。

        2.4 MQSim模擬器

        MQSim[4]提供了“穩(wěn)定狀態(tài)”的固態(tài)盤(pán)性能模擬與端到端延遲模型。所謂“穩(wěn)定狀態(tài)”是相對(duì)于理想狀態(tài)而言的(如,某些模擬器在進(jìn)行固態(tài)盤(pán)模擬測(cè)試時(shí),不能覆蓋固態(tài)盤(pán)存儲(chǔ)容量將要寫(xiě)滿的情況,此時(shí)所測(cè)固態(tài)盤(pán)性能是在理想情況下的,不能代表固態(tài)盤(pán)整個(gè)生命周期的性能)。MQSim對(duì)固態(tài)盤(pán)讀寫(xiě)操作的過(guò)程進(jìn)行了詳細(xì)分析,結(jié)合目前固態(tài)盤(pán)技術(shù)現(xiàn)狀(如新型閃存3D Xpoint技術(shù)等),更新了模擬器的延遲模型。MQSim模擬器架構(gòu)框架如圖4所示。

        圖4 MQSim模擬器架構(gòu)

        (1)主機(jī)接口

        MQSim支持SATA、NVMe主機(jī)接口。在主機(jī)接口部分設(shè)置了獲取請(qǐng)求單元(request fetch unit)以獲取和調(diào)度來(lái)自不同隊(duì)列的不同I/O請(qǐng)求。同時(shí)向用戶提供QueueFetchSize參數(shù),該參數(shù)定義了固態(tài)盤(pán)模擬器所能同時(shí)服務(wù)的來(lái)自每個(gè)提交隊(duì)列(submission queue)的最大請(qǐng)求數(shù)。

        (2)數(shù)據(jù)緩存

        MQSim實(shí)現(xiàn)了DRAM作為緩存,并模擬了最近最少使用(least-recently-used)算法。DRAM可被配置為最近寫(xiě)數(shù)據(jù)(默認(rèn)情況下)、最近讀數(shù)據(jù)和最近讀寫(xiě)數(shù)據(jù)3種模式。同時(shí)實(shí)現(xiàn)了考慮到并發(fā)訪問(wèn)和命令延遲的DRAM訪問(wèn)模型。

        (3)閃存轉(zhuǎn)換層

        MQSim結(jié)合當(dāng)前學(xué)術(shù)界較為前沿的算法與策略,實(shí)現(xiàn)了地址映射、垃圾回收、磨損均衡以及任務(wù)調(diào)度等功能。閃存轉(zhuǎn)換層支持多隊(duì)列請(qǐng)求處理,提高服務(wù)質(zhì)量(quality of service,QoS)與性能表現(xiàn)。

        同時(shí),為真實(shí)模擬固態(tài)盤(pán)實(shí)際使用情況下的性能,MQSim模擬器在進(jìn)行實(shí)際的模擬之前會(huì)執(zhí)行“預(yù)熱”操作,以使模擬器達(dá)到固態(tài)盤(pán)真實(shí)的“穩(wěn)定”狀態(tài)。

        (4)閃存

        MQSim支持裸片級(jí)和分組級(jí)的并行I/O調(diào)度算法,能夠模擬SLC、MLC和TLC這3種類型的閃存顆粒。

        (5)延遲模型

        MQSim在考慮閃存操作和閃存內(nèi)部數(shù)據(jù)傳輸延遲之外,分固定延遲和可變延遲兩部分模擬了固態(tài)盤(pán)端到端的延遲。固定延遲包括請(qǐng)求命令、用戶數(shù)據(jù)和請(qǐng)求完成信息在PCIe總線上傳輸時(shí)間與控制器中的微處理器執(zhí)行FTL操作的時(shí)間??勺冄舆t主要指由于對(duì)緩存映射表和DRAM寫(xiě)緩存的競(jìng)爭(zhēng)所導(dǎo)致的FTL處理時(shí)間開(kāi)銷,包括從數(shù)據(jù)緩存中讀/寫(xiě)數(shù)據(jù)的時(shí)間和從flash中取映射表的時(shí)間。

        2.5 功能對(duì)比

        綜合以上對(duì)各個(gè)模擬器的分析與總結(jié),本文從主機(jī)接口、關(guān)鍵組件、閃存轉(zhuǎn)換層、延遲模型和能耗模型等方面對(duì)各模擬器進(jìn)行功能對(duì)比。

        Flashsim是由來(lái)自賓夕法尼亞大學(xué)的團(tuán)隊(duì)使用單線程的C++編寫(xiě)的。該模擬器支持包括頁(yè)級(jí)映射在內(nèi)的多種映射算法,并在最新版本中增加了RAID功能,但其硬件模型較為簡(jiǎn)單,未能實(shí)現(xiàn)閃存高級(jí)命令與能耗的模擬。

        SSDsim是由華中科技大學(xué)的團(tuán)隊(duì)開(kāi)發(fā),詳細(xì)描述了閃存內(nèi)部通道級(jí)、分組級(jí)以及裸片級(jí)并行訪問(wèn)機(jī)制,提供主流的緩存管理算法與FTL算法等,支持閃存數(shù)據(jù)遷移、多分組操作、交錯(cuò)操作等高級(jí)命令模擬,建立了閃存能耗模型。其不足之處在于模擬器并未提供主機(jī)端接口,僅用外部請(qǐng)求調(diào)用函數(shù)模擬固態(tài)盤(pán)請(qǐng)求過(guò)程。

        Amber是SimpleSSD的第二代版本,支持SATA、UFS、NVMe、OCSSD主機(jī)接口模型,建立了處理器以及內(nèi)存的能耗模型,能夠更精確地動(dòng)態(tài)模擬固態(tài)盤(pán)能耗性能。同時(shí)Amber中模擬了多個(gè)ARM8指令集架構(gòu)的嵌入式CPU,用于實(shí)現(xiàn)固態(tài)盤(pán)固件的不同功能。但模擬器中FTL算法功能并不完善,與實(shí)際固態(tài)盤(pán)仍有差距。

        MQSim是由卡內(nèi)基梅隆大學(xué)的團(tuán)隊(duì)開(kāi)發(fā),分別根據(jù)讀寫(xiě)命令處理過(guò)程對(duì)固態(tài)盤(pán)的延遲模型進(jìn)行了詳細(xì)分析與研究。指出在新型閃存(如3D XPoint[6,7])中,固態(tài)盤(pán)延遲模型較之以往發(fā)生變化,對(duì)固態(tài)盤(pán)的端到端延遲模型做出了完善與優(yōu)化。類似SSDsim中老化參數(shù)(age)的設(shè)置,MQSim實(shí)現(xiàn)了“穩(wěn)定狀態(tài)”下對(duì)固態(tài)盤(pán)的模擬工作。但MQSim中并未使用真實(shí)數(shù)據(jù)來(lái)模擬固態(tài)盤(pán)數(shù)據(jù)的傳輸過(guò)程。

        現(xiàn)從模擬器的結(jié)構(gòu)與功能角度出發(fā),選取主機(jī)接口、閃存轉(zhuǎn)換層、延遲模型以及能耗模型等方面對(duì)上文提到的4個(gè)模擬器進(jìn)行了綜合分析與對(duì)比,具體結(jié)果見(jiàn)表1。

        表1 模擬器結(jié)構(gòu)功能對(duì)比

        3 固態(tài)盤(pán)模擬器性能測(cè)試實(shí)驗(yàn)

        3.1 實(shí)驗(yàn)環(huán)境與方案

        本文選取SATA固態(tài)盤(pán)作為實(shí)際比對(duì)盤(pán),按照該固態(tài)盤(pán)的實(shí)際參數(shù)對(duì)各模擬器進(jìn)行配置。對(duì)固態(tài)盤(pán)中關(guān)鍵的參數(shù)進(jìn)行了配置,其余參數(shù)皆為固定,且各模擬器保持一致。實(shí)際固態(tài)盤(pán)的關(guān)鍵配置參數(shù)見(jiàn)表2。

        按照以上參數(shù)完成模擬器配置后,對(duì)實(shí)際固態(tài)盤(pán)與各模擬器進(jìn)行測(cè)試。測(cè)試內(nèi)容為固定大小的隨機(jī)讀寫(xiě)請(qǐng)求,記錄各請(qǐng)求的響應(yīng)延遲時(shí)間。測(cè)試環(huán)境參數(shù)見(jiàn)表3。

        3.2 實(shí)驗(yàn)結(jié)果分析

        根據(jù)3.1節(jié)內(nèi)容完成實(shí)際固態(tài)盤(pán)和各模擬器的性能測(cè)試,其隨機(jī)讀/寫(xiě)延遲性能測(cè)試結(jié)果如圖5、圖6所示。

        圖5 隨機(jī)讀延遲

        可以看出各模擬器與實(shí)際固態(tài)盤(pán)的延遲時(shí)間曲線表現(xiàn)出相似的變化趨勢(shì),說(shuō)明各模擬器能夠有效模擬固態(tài)盤(pán)的讀/寫(xiě)延遲性能,但精度不盡相同。

        其中Amber與MQSim所測(cè)數(shù)據(jù)與實(shí)際固態(tài)盤(pán)性能比較吻合,而Flashsim較真實(shí)固態(tài)盤(pán)延遲數(shù)據(jù)偏高,SSDsim則相反。分析其原因可能是因?yàn)镕lashsim受限于簡(jiǎn)化的硬件模型,未對(duì)閃存內(nèi)部并行模型作充分模擬,且缺少任務(wù)調(diào)度處理,導(dǎo)致讀寫(xiě)延遲提高。而SSDsim在進(jìn)行時(shí)間模型建立時(shí),忽略了包括處理器在內(nèi)的部分延遲,對(duì)內(nèi)存的讀寫(xiě)延遲取平均值,這導(dǎo)致了SSDsim的模擬延遲低于實(shí)際固態(tài)盤(pán)數(shù)據(jù)。

        表2 SATA固態(tài)盤(pán)參數(shù)配置

        表3 測(cè)試環(huán)境參數(shù)

        3.3 未來(lái)展望

        通過(guò)以上對(duì)固態(tài)盤(pán)模擬器的分析與總結(jié),綜合目前固態(tài)盤(pán)模擬器發(fā)展現(xiàn)狀,未來(lái)模擬器可能需要在以下幾方面做出改進(jìn):

        (1)閃存并行性模擬

        為充分利用并行性[8,9]以提高性能,當(dāng)前固態(tài)盤(pán)在Flash芯片級(jí)搭建RAID。針對(duì)此問(wèn)題,固態(tài)盤(pán)模擬器可以對(duì)通道級(jí)的并發(fā)訪問(wèn)策略,裸片級(jí)的亂序訪問(wèn)策略,分組級(jí)的并行I/O調(diào)度算法等閃存中各級(jí)并行性進(jìn)行模擬,以更精確地模擬真實(shí)閃存性能。

        (2)糾錯(cuò)算法模型

        由于擦寫(xiě)磨損、讀寫(xiě)干擾和數(shù)據(jù)保持等情況下,會(huì)導(dǎo)致閃存發(fā)生比特翻轉(zhuǎn)[10]。固態(tài)盤(pán)采用糾錯(cuò)碼的方法來(lái)修正錯(cuò)誤數(shù)據(jù),糾錯(cuò)算法的糾錯(cuò)能力大小是衡量固態(tài)盤(pán)質(zhì)量可靠性的一個(gè)重要指標(biāo)。在目前模擬器中沒(méi)有涉及糾錯(cuò)碼功能,不能真實(shí)模擬固態(tài)盤(pán)發(fā)生數(shù)據(jù)錯(cuò)誤時(shí)的場(chǎng)景。針對(duì)此問(wèn)題,固態(tài)盤(pán)模擬器可以建立閃存中數(shù)據(jù)錯(cuò)誤模型,如讀/寫(xiě)干擾、駐留錯(cuò)誤和存儲(chǔ)單元間耦合影響等;并設(shè)計(jì)糾錯(cuò)算法模型,如BCH算法、LDPC算法等,綜合評(píng)估對(duì)固態(tài)盤(pán)性能的影響。

        (3)存儲(chǔ)安全機(jī)制模擬

        安全是數(shù)據(jù)存儲(chǔ)的一個(gè)本質(zhì)需求。在固態(tài)盤(pán)設(shè)計(jì)過(guò)程中,需要將安全因素考慮在內(nèi),并進(jìn)行安全性設(shè)計(jì)。針對(duì)此問(wèn)題,固態(tài)盤(pán)模擬器可以考慮安全性設(shè)計(jì)模型,包括對(duì)稱/非對(duì)稱加密算法、散列值算法以及安全協(xié)議等,評(píng)估固態(tài)盤(pán)安全性能以及預(yù)測(cè)安全設(shè)計(jì)對(duì)性能的影響。

        (4)支持新型Flash顆粒與先進(jìn)固件算法

        隨著固件算法的不斷改進(jìn)和新型Flash技術(shù)(如3D XPoint等)出現(xiàn),傳統(tǒng)固態(tài)盤(pán)模擬器在延遲模型、能耗模型等方面與實(shí)際固態(tài)盤(pán)存在差異。針對(duì)此問(wèn)題,固態(tài)盤(pán)模擬器可以根據(jù)現(xiàn)有被廣泛接受認(rèn)可的固態(tài)盤(pán)技術(shù)(如3D XPoint等)來(lái)完整模擬固態(tài)盤(pán)各部分,精確延遲與能耗模型。

        4 結(jié)束語(yǔ)

        綜上,本文首先敘述了固態(tài)盤(pán)模擬器的基本原理與架構(gòu)。然后從主機(jī)接口、數(shù)據(jù)緩存、閃存轉(zhuǎn)換層、閃存以及延遲模型五方面,對(duì)Flashsim、SSDsim、Amber以及MQSim這4種應(yīng)用較為廣泛的固態(tài)盤(pán)模擬器分別進(jìn)行了研究與介紹。對(duì)各模擬器的結(jié)構(gòu)及功能進(jìn)行了對(duì)比分析,并通過(guò)模擬實(shí)際固態(tài)盤(pán)的參數(shù),對(duì)各模擬器進(jìn)行了性能測(cè)試與比較。其中各模擬器測(cè)試結(jié)果存在差異的原因主要由于各模擬器對(duì)固態(tài)盤(pán)內(nèi)部延遲模型的建立上存在差異。最后指出了當(dāng)前模擬器在閃存并行性、糾錯(cuò)算法、安全機(jī)制以及新型顆粒的模擬方面的不足以及未來(lái)的發(fā)展方向。

        猜你喜歡
        模型
        一半模型
        一種去中心化的域名服務(wù)本地化模型
        適用于BDS-3 PPP的隨機(jī)模型
        提煉模型 突破難點(diǎn)
        函數(shù)模型及應(yīng)用
        p150Glued在帕金森病模型中的表達(dá)及分布
        函數(shù)模型及應(yīng)用
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        3D打印中的模型分割與打包
        少妇高潮无码自拍| 国产精品一区二区久久乐下载 | 亚洲国产一区二区三区在线视频| 啪啪视频免费看一区二区| 日本a爱视频二区三区| 少妇被又大又粗又爽毛片| 99久久精品免费看国产| 亚洲国产av精品一区二区蜜芽| 久久人人爽人人爽人人av东京热| 国内久久婷婷精品人双人| 日本中文字幕一区二区在线观看| 国产av一区二区三区狼人香蕉| 久久国产在线精品观看| 亚洲av成人片无码网站| 日日澡夜夜澡人人高潮| 香蕉视频在线观看国产| 中文字幕无码免费久久| 国产一区二区三区探花| 国产自拍精品一区在线观看| 内射合集对白在线| 乱码午夜-极国产极内射| 五月天精品视频在线观看| 无码Av在线一区二区三区| 国产精品亚洲一区二区三区妖精| 亚洲网站一区在线播放| 亚洲精品久久久www小说| 99久久久无码国产精品免费砚床| 国产视频最新| 91精品亚洲熟妇少妇| 熟女体下毛荫荫黑森林| 军人粗大的内捧猛烈进出视频| 久热香蕉精品视频在线播放| 日韩精品资源在线观看免费| 亚洲精品无码不卡在线播he | 337p粉嫩日本欧洲亚洲大胆| 国产suv精品一区二区69| 日本一极品久久99精品| 国产一区高清在线观看| 欧美巨大巨粗黑人性aaaaaa| 免费va国产高清不卡大片| 高清在线有码日韩中文字幕 |