• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于BRAM的NVMe控制器原型仿真平臺設計

    2021-04-22 10:06:46馮志華王華卓安東博王紅艷
    計算機工程與設計 2021年4期
    關鍵詞:寄存器隊列命令

    馮志華,王華卓,安東博,羅 重,王紅艷

    (中國航天科工集團第二研究院 七〇六所,北京 100854)

    0 引 言

    近年來,面向PCIe接口的非易失性存儲協(xié)議,簡稱NVMe協(xié)議,為固態(tài)硬盤(solid state disk,SSD)提供了高帶寬、高吞吐量和低延遲的性能提升。在固態(tài)硬盤存儲系統(tǒng)中,存儲設備的容量、帶寬、延遲、每秒進行讀寫操作的次數(shù)(input/output operations per second,IOPS)、可靠性和功耗等指標直接決定了存儲服務質(zhì)量,乃至整個系統(tǒng)的計算性能。其中基于閃存的存儲設備在存儲器技術領域引領了新的技術方向,填補了動態(tài)隨機存儲器與機械硬盤之間的性能差距,同時擁有較好的性價比指標。

    在固態(tài)硬盤開發(fā)過程中,根據(jù)NVMe控制器搭建原型仿真平臺,對各部分功能進行驗證,以確保所開發(fā)固態(tài)硬盤的可用性。通過優(yōu)化工程的結(jié)構復雜程度,可以有效降低功能驗證過程中的時間成本。不但可以快速完成各部分功能的驗證工作,加快開發(fā)迭代周期,還能幫助開發(fā)人員進一步評估設計改動對整體設計的影響,基于驗證得到的結(jié)果改進后續(xù)設計方案。

    為進一步降低工程的結(jié)構復雜程度,加速開發(fā)迭代周期,本文提出通過塊隨機存儲器(block random access memory,BRAM)代替閃存作為存儲介質(zhì),既而從工程中省略閃存控制器模塊,優(yōu)化工程結(jié)構,加速完成各部分功能的驗證工作,能夠適用于NVMe控制器的開發(fā)過程。

    1 NVMe技術簡介

    1.1 NVMe協(xié)議

    NVMe協(xié)議是針對IO到內(nèi)存,特別是到非易失性閃存進行優(yōu)化的一種基于命令的應用層協(xié)議,規(guī)定主機端和存儲設備之間的通信方式,針對固態(tài)硬盤定義了存儲器接口、指令集和功能集。相比于傳統(tǒng)固態(tài)硬盤優(yōu)化了數(shù)據(jù)傳輸路徑和傳輸方式,提高數(shù)據(jù)傳輸效率,降低數(shù)據(jù)訪問延遲,釋放閃存存儲介質(zhì)的性能優(yōu)勢。

    1.2 系統(tǒng)架構

    NVMe協(xié)議驅(qū)動位于NVMe存儲系統(tǒng)的主機端,是通用IO塊層(block IO、BIO層)和NVMe控制器之間的軟件層,負責將來自BIO層的I/O請求合成NVMe命令,通過PCIe Root Complex(以下簡稱RC)下發(fā)到主機端內(nèi)存中的NVMe命令提交隊列中,等待NVMe控制器來獲取命令;RC是高速串行計算機擴展總線標準體系結(jié)構(peri-pheral component interconnect express,PCIe)的一個重要組成部件,RC并非本設計關注重點,而且RC的相關細節(jié)也被包含在操作系統(tǒng)的PCIe基礎驅(qū)動中[1],因此對于RC的形式和分擔的功能不做深入解釋。

    NVMe控制器位于NVMe存儲系統(tǒng)的設備端[2],NVMe控制器通過RC從主機端內(nèi)存中獲得主機下發(fā)的命令后,將獲取的數(shù)據(jù)包進行拆解獲取命令的相關信息,將其發(fā)送到軟核處理器MicroBlaze進行命令處理;當NVMe控制器處理完成命令后,通過中斷響應機制通知主機端命令執(zhí)行已完成[3]。主機端接收到命令處理完成的中斷響應后,會暫停其它任務,優(yōu)先處理保存在主機內(nèi)存中的NVMe命令完成隊列中的完成信息,之后根據(jù)完成信息對設備端下發(fā)的命令完成指令,同時釋放內(nèi)存資源[4]。

    NVMe原型仿真主要是根據(jù)NVMe標準協(xié)議對NVMe控制器進行設計與驗證,因此本設計沒有采用傳統(tǒng)NVMe存儲系統(tǒng)使用NAND閃存(NAND flash memory,NAND Flash)作為存儲介質(zhì)的方案[5],而是使用BRAM替代NAND Flash作為存儲介質(zhì),繼而省略掉Nand控制器模塊,以及軟件部分中閃存轉(zhuǎn)換層部分(flash translation la-yer,F(xiàn)TL),包括磨損均衡、垃圾回收等復雜算法。存取數(shù)據(jù)時通過片內(nèi)總線直接從BRAM中讀取或?qū)懭???朔F(xiàn)有仿真控制器的速度慢、結(jié)構復雜的缺點,能夠?qū)崿F(xiàn)快速、方便的仿真,適用于高性能NVMe控制器的開發(fā)驗證,如圖1所示。

    圖1 存儲系統(tǒng)整體架構

    1.3 初始化與命令處理

    主機在對NVMe設備初始化過程中需要了解NVMe設備的容量、邏輯塊大小等信息,這些信息均由identify命令獲取[6]。對NVMe控制器的初始化流程包括:

    (1)基于系統(tǒng)配置,設置PCIe寄存器。當IO隊列數(shù)量確定之后,配置中斷方式;

    (2)等待控制器RDY信號為‘0’,表明控制器已復位;

    (3)配置管理隊列相關信息,包含AQA (admin queue attributes),ASQ(admin submission queue base address),ACQ(admin completion queue base address)等寄存器;

    (4)配置控制器配置(controller configuration,CC)寄存器,包括在CC.MPS中初始化內(nèi)存頁大小、在CC.AMS中選擇命令仲裁機制以及在CC.CSS對IO Command進行配置;

    (5)配置控制器配置使能,即配置CC.EN為‘1’;

    (6)等待控制器表明已經(jīng)準備好處理命令,不斷向控制器發(fā)送讀控制器狀態(tài)(controller status,CSTS)寄存器的信號,直到控制器CSTS.RDY為‘1’時停止;

    (7)向NVMe控制器發(fā)送Identify命令,獲取Controller data structure和Namespace data structure;

    (8)通過Set Feature命令決定IO提交隊列和IO完成隊列的數(shù)量,然后再配置中斷寄存器;

    (9)根據(jù)系統(tǒng)配置需求和控制器的數(shù)量需求,使用創(chuàng)建IO完成隊列命令分配IO完成隊列;

    (10)根據(jù)系統(tǒng)配置需求和控制器的數(shù)量需求,使用創(chuàng)建IO提交隊列命令分配IO提交隊列;

    (11)如果想要獲取可選項的異步通知,應該發(fā)送Set Feature命令去使能此項功能。

    在執(zhí)行完上述初始化過程后,NVMe設備端可用來執(zhí)行端下發(fā)的IO指令。主機端內(nèi)存中有兩種隊列,提交隊列(submission queue,SQ)和完成隊列(completion queue,CQ),分別用來存放提交命令和完成命令。提交隊列存放下發(fā)給NVMe設備端的命令(64字節(jié)),完成隊列存放NVMe設備端返回的完成命令(16字節(jié))。通過寫提交隊列門鈴信號通知NVMe控制器有新的命令需要處理,NVMe控制器檢測到門鈴信號之后,從提交隊列中讀取命令;完成命令之后,NVMe控制器回傳命令完成報文到完成隊列,命令執(zhí)行的具體流程包括:

    (1)主機端將NVMe協(xié)議命令封裝之后寫到內(nèi)存的提交隊列中,更新提交隊列的尾指針;

    (2)將提交隊列的尾指針寫到NVMe控制器的門鈴寄存器中,通知設備有新的命令需處理,等待設備獲?。?/p>

    (3)設備端通過輪詢門鈴寄存器,得知有新的命令要處理,立即從提交隊列中將命令取到設備固件上;

    (4)設備進行命令執(zhí)行,若是讀命令,則通過DMA將數(shù)據(jù)傳輸?shù)絻?nèi)存相應的位置;若是寫命令,則通過DMA將數(shù)據(jù)從內(nèi)存?zhèn)鬏數(shù)皆O備中,然后寫到對應的介質(zhì)上;

    (5)設備執(zhí)行命令后,將執(zhí)行結(jié)果封裝在完成包中,傳輸?shù)较鄳耐瓿申犃兄小M瓿砂邪嗣畹膱?zhí)行情況,如命令是否正確執(zhí)行,或者是否因為數(shù)據(jù)無法訪問或者執(zhí)行超時產(chǎn)生了錯誤等;

    (6)設備發(fā)送MSI-X中斷通知有新的命令完成包;

    (7)選取新的完成包進行處理,從命令完成包中的內(nèi)容可以得知命令的完成情況,然后進行相應的處理;

    (8)寫相應完成隊列的門鈴寄存器,告訴控制器完成包已經(jīng)處理結(jié)束,設備釋放完成包占用空間。至此,命令處理結(jié)束。

    2 關鍵技術

    2.1 NVMe原型仿真平臺整體架構

    主要由NVMe IP、MICROBLAZE、AXI_BRAM、AXI_INTC、AXI_INTERCONNECT等模塊組成,系統(tǒng)架構如圖2所示。NVMe IP模塊包含了NVMe協(xié)議處理過程的可編程邏輯(programble logic,PL)部分與PCIe模塊共同組成了NVMe原型仿真平臺與主機端交互的底層接口;剩余的MICROBLAZE、AXI_BRAM、AXI_INTC、AXI_INTERCONNECT等模塊均為賽靈思官方提供的功能性模塊。MICROBLAZE包含了NVMe協(xié)議命令處理過程的可編程系統(tǒng)(programble system,PS)部分,二者協(xié)同處理由主機端下發(fā)的NVMe命令。AXI_BRAM作為存儲器,用于存儲Identify數(shù)據(jù)以及主機端寫入的數(shù)據(jù)。AXI_INTC模塊是一個中斷控制器,通過AXI總線掛在MICROBLAZE上,用于處理NVMe命令處理完成時產(chǎn)生的中斷。AXI_INTERCONNECT模塊用于NVMe_IP模塊、MICROBLAZE、AXI_BRAM、AXI_INTC各模塊之間的數(shù)據(jù)傳輸[7,8]。

    圖2 NVMe原型仿真架構

    2.2 PCIe模塊

    該模塊由賽靈思官方提供的PCIe Gen3.0 IP核和PCIe傳輸模塊兩部分組成,如圖3所示。

    圖3 PCIe IP與NVMe IP間的數(shù)據(jù)交互

    PCIe Gen3.0 IP核集成了標準的PCIe協(xié)議以及與外部通信的AXI-S接口,通過AXI-S總線協(xié)議進行數(shù)據(jù)傳輸。PCIe Gen3.0 IP的AXI-S總線為4個,分別是m_axis_cq_*(接收端請求信號)、 m_axis_rc_*(發(fā)送方完成信號)、s_axis_rq_*(發(fā)送方請求信號)、s_axis_cc_*(接收端完成信號),請求端接口和完成端接口完全分開[9]。

    PCIe傳輸模塊則用于PCIe IP核與NVMe IP模塊之間的數(shù)據(jù)交互,在NVMe原型仿真平臺中起承上啟下的作用,它一方面與PCIe IP核進行數(shù)據(jù)通信,另一方面通過AXI總線與NVMe IP模塊中其它子模塊進行交互。它通過m_axis_cq_*、m_axis_rc_*系列信號接收來自PCIe IP的數(shù)據(jù)報文,并對TLP包進行解析;通過s_axis_rq_*、s_axis_cc_*系列信號將組裝好的TLP包發(fā)送到PCIe IP。PCIe傳輸模塊主要通過存儲器讀請求(memory read request,MRd)、存儲器寫請求(memory write request,MWr)、完成包數(shù)據(jù)(completion with data,CPLD)3種格式的TLP包進行主機端和NVMe原型仿真平臺之間的信息交互。

    其中主機端通過MRd數(shù)據(jù)包從設備端中讀取寄存器信息;通過MWr數(shù)據(jù)包來操作設備端的寄存器,也可以向設備端中寫入數(shù)據(jù),最終寫入到BRAM;通過CPLD數(shù)據(jù)包來傳輸完成命令中的數(shù)據(jù)包到主機端;另外MSI數(shù)據(jù)包是設備端向主機傳遞到的中斷信號。NVMe IP模塊從PCIe傳輸模塊中獲得主機的下發(fā)的TLP包之后,按照不同類型的數(shù)據(jù)包,傳遞給不同子模塊進行處理;當處理完成后,通過MSI數(shù)據(jù)包通知主機命令執(zhí)行已完成。

    2.3 NVMe IP模塊

    該模塊由控制器寄存器模塊、內(nèi)部寄存器模塊、命令處理模塊以及中斷模塊組成。

    2.3.1 控制器寄存器模塊

    該模塊用于NVMe IP模塊與主機軟件部分進行通信,主機軟件需要檢測NVMe IP狀態(tài)時,會通過讀取控制器寄存器來判斷當前所處狀態(tài);主機軟件也可通過配置控制器寄存器狀態(tài)來操作NVMe IP模塊。寄存器模塊均通過PCIe以MWr、MRd、CPLD報文形式進行傳輸,由于寄存器最大數(shù)據(jù)位寬為64位,所以對于MWr報文和CPLD報文,負載數(shù)據(jù)長度均不超過2DW。在PCIe模塊中MWr、WRd數(shù)據(jù)包已經(jīng)存儲在FIFO中,因此控制器寄存器模塊對于接收到的TLP報文處理流程為:

    (1)判斷FIFO是否為空,如果FIFO不空,表示有TLP報文寫入,則該模塊需要從FIFO中讀取TLP報文,獲取出TLP報文頭;

    (2)通過TLP報文頭中Req Type字段確定TLP的類型;

    (3)如果TLP為MWr報文,則需要再從FIFO中讀一次數(shù)據(jù),把負載數(shù)據(jù)讀取出來,寫給內(nèi)部寄存器;

    (4)如果TLP為MRd報文,則不用再從FIFO中讀取,需要將主機所讀取地址信息中的數(shù)據(jù)通過CPLD報文發(fā)送給主機。

    2.3.2 內(nèi)部寄存器模塊

    該模塊是NVMe原型仿真平臺內(nèi)部處理器與FPGA通信時使用的寄存器,是CPU與FPGA協(xié)同工作的紐帶,用于PS與PL間的數(shù)據(jù)交互,共同完成NVMe命令處理、數(shù)據(jù)的DMA傳輸、PCIe狀態(tài)處理等任務。在NVMe命令處理過程中,PS從內(nèi)部寄存器模塊中讀取從主機端下發(fā)的NVMe命令,通過OPC字段分析命令類型,按照不同命令類型,給PL下發(fā)相應的指令。PL按照PS下發(fā)的指令,進行后續(xù)處理,直至命令處理完畢,產(chǎn)生完成命令。

    內(nèi)部寄存器包括控制器準備信號、IO完成隊列使能信號、IO提交隊列使能信號、IO完成隊列中斷信號、IO提交隊列基地址、IO完成隊列基地址、IO提交隊列空間大小、IO完成隊列空間大小、IO完成隊列向量、數(shù)據(jù)存放地址等寄存器。另外包含3個NVMe完成命令寄存器和4個DMA命令寄存器。

    該模塊與CPU通信的接口為AXI_Lite接口,傳輸數(shù)據(jù)位寬為32位,在CPU進行寫寄存器操作時,取地址的高位作為使能信號,地址低位作為具體地址。NVMe完成命令分配有3個地址,在寫完第3個地址時,需要給出寫FIFO使能信號,用于存儲NVMe完成命令。即在寫寄存器地址等于0x30c時,給出使寫能信號r_awaddr_hcmd_cq_wr1_en,表示將存儲完成命令數(shù)據(jù)。DMA命令分配有4個地址,在寫完第4個地址時,同樣需要將DMA命令存儲到FIFO中。在寫寄存器地址等于0x31c時,給出使能信號r_awaddr_dma_cmd_wr_en,表示將存儲DMA命令數(shù)據(jù)。當需要數(shù)據(jù)寫入其它寄存器時,用r_s_axi_awaddr[7∶2]表示低八位地址,低兩位默認為0。

    2.3.3 命令處理模塊

    該模塊是NVMe原型仿真平臺中的重要模塊,主要作用是從主機內(nèi)存中獲取提交隊列命令,與PS部分配合對獲取的NVMe命令進行相應的處理,完成后向主機發(fā)送完成隊列命令。

    命令處理模塊分為提交隊列命令處理和完成隊列命令處理兩部分。其中提交隊列命令處理模塊處理主機的門鈴信號,通過與本地維護的提交隊列頭指針r_sq_head_ptr[7∶0]進行比較,如果不一致,則表示主機內(nèi)存中有新命令需要處理,此時向PCIe數(shù)據(jù)傳輸模塊發(fā)起MRd讀請求。讀取到提交命令后,該模塊將從讀取的命令中提取邏輯塊起始地址(starting logical block address,SLBA)、數(shù)據(jù)占用邏輯塊數(shù)量(number of logical blocks,NLB)、頁地址空間(physical region page,PRP)等信息存在對應的FIFO中,并更新本地提交隊列的頭指針。PS檢測到hcmd_sq_fifo中不為空時,則從FIFO中讀取命令進行軟件部分處理。命令完成隊列處理模塊接收從命令完成標志cpl_status[14∶13],向PCIe傳輸模塊發(fā)出MWr請求,發(fā)出命令完成報文。該模塊接收的命令完成標志有兩個來源,第一個是PS下發(fā)的完成標志,PS在處理管理命令后,會通知PL端命令已完成;第二個是IO命令中數(shù)據(jù)傳輸完成后,該模塊會收到數(shù)據(jù)傳輸完成的標志,再向主機發(fā)送完成命令報文。

    2.4 軟件部分

    NVMe控制器的軟件部分通過FPGA上的MICROBLAZE軟核來完成。PS不斷從內(nèi)部寄存器NVME_CMD_FIFO_REG_ADDR中讀取NVMe命令,通過Quene Identify的值判斷是Admin命令還是IO命令,如圖4所示。

    圖4 NVMe命令解析流程

    NVMe Admin命令處理部分可支持NVMe1.3協(xié)議規(guī)定的大部分管理命令,不支持Abort管理命令。從命令處理主函數(shù)輸入為NVMe命令結(jié)構體的nvmeCmd,通過cmdDword第一個Dword得到操作碼OPC,用來區(qū)分不同的Admin命令,從而進入到不同的子函數(shù)中進行命令處理,如圖5所示。

    圖5 Admin命令處理流程

    NVMe IO命令處理部分通過AXI_Lite從NVMe IP的FIFO中讀取命令,從中獲取PRP、SLBA、NLB等信息,通過地址映射確定BRAM中的物理地址。此處通過DMA直接將數(shù)據(jù)從DDR存儲到BRAM中,因此軟件部分也可以省略FTL部分,包括磨損均衡、垃圾回收等復雜算法。

    2.5 可擴展性

    本文設計的NVMe原型仿真驗證方案能夠支持基礎的NVMe管理命令如Set Features、Identify、Get Log Pagede等以及讀寫IO命令。同時支持自定義開發(fā)驗證,可以在NVMe IP的命令處理模塊中添加待驗證功能的邏輯代碼,在控制器內(nèi)部寄存器中添加該命令的OPC、QID等狀態(tài)信息,同時軟件部分更新相應命令的處理流程,最后在仿真文件sample_tests.vh中添加對應的激勵信號用來驗證功能的實現(xiàn)程度。除此之外該設計可以通過改變主機端下發(fā)數(shù)據(jù)文件大小,驗證數(shù)據(jù)大小對NVMe存儲速度的影響,下文仿真過程將實現(xiàn)4 K數(shù)據(jù)文件的寫操作。

    3 仿真驗證

    3.1 仿真環(huán)境

    在Windows10操縱系統(tǒng)下使用VIVADO 2017.4開發(fā)工具進行仿真實驗。根據(jù)NVMe1.3協(xié)議中的指令操作流程,通過TestBench模塊模擬主機端對NVMe設備端下發(fā)指令的過程,包括寄存器配置信號、配置控制器使能信號、等待RDY信號、下發(fā)提交隊列門鈴信號以及下發(fā)提交隊列命令等指令信號。

    3.2 仿真過程

    通過IO寫命令來執(zhí)行寫4 K數(shù)據(jù)的操作,將數(shù)據(jù)通過處理器直接寫到BRAM中。驗證NVMe控制器原型仿真平臺能否正確執(zhí)行初始化以及IO讀/寫命令,實現(xiàn)基本的讀寫功能。通過所占用硬件資源情況對比,體現(xiàn)工程結(jié)構優(yōu)化前后結(jié)構復雜度的變化,同時關注仿真過程耗時情況,體現(xiàn)仿真平臺對于加快NVMe控制器功能驗證的功能。

    首先主機端通過rq接口信號發(fā)送MWr請求寫提交隊列門鈴信號,如圖6所示。s_axis_rq_tdata[15:0]=0x1008表示I/O命令的提交隊列門鈴信號地址,s_axis_rq_tdata[159:128]=0x00000001表示I/O命令的第一條命令。

    圖6 發(fā)送MWr請求寫提交隊列門鈴信號

    NVMe控制器的cq接口信號接收到主機端發(fā)過來的MWr請求信號,如圖7所示。第一包TLP包頭s_axis_cq_tdata[15∶0]=0x1008表示I/O命令的提交隊列門鈴信號地址,第二包TLP數(shù)據(jù)包s_axis_cq_tdata[31∶0]=0x00000001表示I/O命令的第一條命令,和主機端發(fā)送的數(shù)據(jù)一致。

    圖7 接收主機端發(fā)過來的MWr請求信號

    當檢測到提交隊列門鈴信號更新表示有命令送入NVMe控制器,所以NVMe控制器通過rq接口發(fā)送MRd請求信號,如圖8所示。其中m_axis_rq_tdata[78:75]=0x0表示MRd請求,m_axis_rq_tdata[31:0]=0x76543210表示創(chuàng)建IO提交隊列(Creat_IO_SQ)中PRP1地址,即從主機內(nèi)存中讀取數(shù)據(jù)包的地址。

    圖8 NVMe控制器發(fā)送MRd請求信號

    主機端通過cq接口信號接收NVMe控制器發(fā)送過來的MRd請求命令,如圖9所示??梢钥吹絤_axis_cq_tdata[31∶0]=0x76543210為PRP1地址,和NVMe控制器發(fā)出的數(shù)據(jù)包一致。

    圖9 接收NVMe控制器發(fā)送過來的MRd請求信號

    主機端接收到MRd請求信號后,通過cc接口返回CPLD包報文,如圖10所示,此512 bit全部為有效數(shù)據(jù)。

    圖10 主機端接收到MRd請求信號

    NVMe控制器通過rc接口接收到CPLD包數(shù)據(jù)如圖11所示,第一包s_axis_rc_tdata[127∶0]=0x10001a00601a0001000404210,第二包s_axis_rc_tdata[127∶0]=0x01,第3包s_axis_rc_tdata[127∶0]=0x8cb7c00000000000,第4包s_axis_rc_tdata[127∶0]=0x0,第3個數(shù)據(jù)包中s_axis_rc_tdata[63∶32]=0x8cb7c000代表PRP1的地址,s_axis_rc_tdata[127∶96]=0x0代表PRP2的地址,前3包數(shù)據(jù)都是128 bit有效,根據(jù)s_axis_rc_tkeep[3∶0]=0x0111可知最后一包數(shù)據(jù)是低96Bit有效。

    圖11 NVMe控制器接收CPLD命令包信號

    NVMe控制器接收完主機端的CPLD命令包之后,控制器再繼續(xù)發(fā)送MRd數(shù)據(jù)請求包,讀取待寫入NVMe控制器的數(shù)據(jù),以實現(xiàn)I/O寫命令,將主機中的數(shù)據(jù)寫往BRAM中。

    NVMe控制器通過rc接口收到主機端的CPLD數(shù)據(jù)包,如圖12所示第一包數(shù)據(jù)s_axis_rc_tdata[127∶0]=0x443300000001a01001a0002000804000,第二包數(shù)據(jù)s_axis_rc_tdata[127∶0]=0x554433221100987654321099887-76655,第3包數(shù)據(jù)s_axis_rc_tdata[127∶0]=0xeeddccbbaaefcdab,第4、5、6、7、8包數(shù)據(jù)s_axis_rc_tdata[127∶0]=0x0,總共有1024 bit數(shù)據(jù)和主機端下發(fā)的一致。在I/O寫命令中總共寫了4 KB數(shù)據(jù),每次寫128 bit數(shù)據(jù),共寫入32次。初始地址是0x8cb7c000,按照32次寫入每次0x80依次遞增到0xh8cb7cf80,至此整個I/O寫命令完成。

    圖12 收到主機端的CPLD數(shù)據(jù)包信號

    上述仿真過程表明本文設計的基于BRAM的NVMe控制器原型仿真方案能夠正確執(zhí)行主機端下發(fā)的NVMe命令,實現(xiàn)NVMe仿真平臺的基本功能。同時通過該工程仿真過程中的綜合布線報告可以得知,在相同仿真環(huán)境下,在使用BRAM作為存儲介質(zhì)時所使用的FPGA內(nèi)部邏輯資源相比于使用閃存作為存儲介質(zhì)時減少約25%,仿真環(huán)境內(nèi)存占用率峰值下降約16.7%,仿真用時縮短約47%,見表1。

    表1 NVMe原型仿真對比數(shù)據(jù)

    4 結(jié)束語

    本文設計了基于BRAM的NVMe控制器原型仿真驗證方案,具有集成度高、可擴展性強、可運用靈活等特點,適用于適用于NVMe控制器的開發(fā)和驗證。現(xiàn)階段能夠支持主要的NVMe管理命令以及讀寫IO命令,后續(xù)NVMe控制器還可以進一步用于開發(fā)NVMe命令仲裁機制、命令硬件卸載提速[10]、IO命令的分散聚合表(scatter gather list,SGL)尋址、指令亂序優(yōu)化等功能,實現(xiàn)更高性能的NVMe控制器從而應用于存儲技術的飛速發(fā)展中。

    猜你喜歡
    寄存器隊列命令
    只聽主人的命令
    Lite寄存器模型的設計與實現(xiàn)
    計算機應用(2020年5期)2020-06-07 07:06:44
    隊列里的小秘密
    基于多隊列切換的SDN擁塞控制*
    軟件(2020年3期)2020-04-20 00:58:44
    在隊列里
    移防命令下達后
    豐田加速駛?cè)胱詣玉{駛隊列
    分簇結(jié)構向量寄存器分配策略研究*
    這是人民的命令
    藍色命令
    久久久久久久久久久久大奶| 欧美激情 高清一区二区三区| 夜夜看夜夜爽夜夜摸 | 超色免费av| 韩国精品一区二区三区| 精品久久久精品久久久| 亚洲成国产人片在线观看| 亚洲熟妇中文字幕五十中出 | 另类亚洲欧美激情| 亚洲色图av天堂| 欧美一级毛片孕妇| 国产午夜精品久久久久久| 亚洲成人久久性| 色播在线永久视频| 国产成人精品久久二区二区91| www.999成人在线观看| 国产欧美日韩一区二区三| av在线播放免费不卡| 一进一出抽搐gif免费好疼 | 999久久久国产精品视频| 曰老女人黄片| 亚洲专区字幕在线| 亚洲av成人一区二区三| 国产日韩一区二区三区精品不卡| 久99久视频精品免费| 亚洲一区二区三区欧美精品| 最近最新中文字幕大全免费视频| 亚洲狠狠婷婷综合久久图片| 天堂√8在线中文| 99精品在免费线老司机午夜| 久久九九热精品免费| 99国产精品一区二区蜜桃av| 午夜福利在线免费观看网站| 长腿黑丝高跟| 亚洲激情在线av| 12—13女人毛片做爰片一| 丁香六月欧美| 一级,二级,三级黄色视频| 国产欧美日韩精品亚洲av| 999久久久国产精品视频| 免费av中文字幕在线| 欧美精品一区二区免费开放| 欧美激情极品国产一区二区三区| 色老头精品视频在线观看| 啦啦啦在线免费观看视频4| 熟女少妇亚洲综合色aaa.| 极品人妻少妇av视频| 欧美日韩一级在线毛片| 桃红色精品国产亚洲av| 69av精品久久久久久| 亚洲av电影在线进入| 天堂√8在线中文| 久久精品影院6| 免费高清视频大片| 亚洲精品久久成人aⅴ小说| 黄色女人牲交| 欧美黑人精品巨大| 99久久久亚洲精品蜜臀av| 在线国产一区二区在线| e午夜精品久久久久久久| 久久精品国产亚洲av高清一级| 国产蜜桃级精品一区二区三区| 国产无遮挡羞羞视频在线观看| netflix在线观看网站| 国产成人啪精品午夜网站| 亚洲国产欧美一区二区综合| 国产精品国产av在线观看| 欧美日韩亚洲高清精品| 黄色毛片三级朝国网站| svipshipincom国产片| 91麻豆av在线| 久久久久国产一级毛片高清牌| 首页视频小说图片口味搜索| 欧美黄色淫秽网站| 中文字幕色久视频| 国产单亲对白刺激| 99久久综合精品五月天人人| 香蕉国产在线看| 国产一区二区激情短视频| 日韩 欧美 亚洲 中文字幕| 亚洲第一av免费看| 国产亚洲精品第一综合不卡| 亚洲自拍偷在线| 欧美+亚洲+日韩+国产| 欧美成人午夜精品| 亚洲一区中文字幕在线| 欧美乱色亚洲激情| 欧美人与性动交α欧美软件| 日韩免费高清中文字幕av| 在线观看舔阴道视频| 啦啦啦在线免费观看视频4| 黄片播放在线免费| 精品一区二区三区av网在线观看| 国产精品电影一区二区三区| 亚洲精品av麻豆狂野| 真人做人爱边吃奶动态| 久久久久久久久中文| 国产极品粉嫩免费观看在线| 18美女黄网站色大片免费观看| av欧美777| 精品久久久久久,| 亚洲自偷自拍图片 自拍| 久久草成人影院| 欧美另类亚洲清纯唯美| 亚洲性夜色夜夜综合| 日韩成人在线观看一区二区三区| 国产无遮挡羞羞视频在线观看| 岛国在线观看网站| 一本大道久久a久久精品| 丝袜美足系列| 国产成人精品久久二区二区免费| 亚洲欧美一区二区三区久久| 不卡av一区二区三区| 看片在线看免费视频| 成熟少妇高潮喷水视频| 日韩欧美在线二视频| 成人三级做爰电影| 欧美日韩一级在线毛片| 搡老岳熟女国产| 一级a爱片免费观看的视频| 精品国产亚洲在线| 国产精品一区二区免费欧美| 真人一进一出gif抽搐免费| 亚洲av成人av| 在线视频色国产色| 亚洲一区二区三区色噜噜 | 正在播放国产对白刺激| 日本vs欧美在线观看视频| 亚洲国产欧美一区二区综合| 免费女性裸体啪啪无遮挡网站| 国产黄a三级三级三级人| 久热这里只有精品99| 日韩免费av在线播放| 国产一区二区三区视频了| 女同久久另类99精品国产91| 亚洲av成人一区二区三| 91在线观看av| 757午夜福利合集在线观看| 一二三四在线观看免费中文在| 国产精品1区2区在线观看.| 中文亚洲av片在线观看爽| 日本黄大片高清| 国产乱人伦免费视频| 内射极品少妇av片p| 久久精品国产亚洲av涩爱 | 两人在一起打扑克的视频| 国产中年淑女户外野战色| 国产69精品久久久久777片| 老司机午夜福利在线观看视频| 亚洲人成网站在线播| 99久久成人亚洲精品观看| 真实男女啪啪啪动态图| 久久久精品大字幕| 脱女人内裤的视频| 国产欧美日韩精品一区二区| 亚洲午夜理论影院| 少妇熟女aⅴ在线视频| 又紧又爽又黄一区二区| 免费在线观看影片大全网站| 国产在线男女| 在线十欧美十亚洲十日本专区| 首页视频小说图片口味搜索| 99久久精品国产亚洲精品| 两个人视频免费观看高清| 美女高潮喷水抽搐中文字幕| 国产精品,欧美在线| 国产精品综合久久久久久久免费| 欧美又色又爽又黄视频| 91九色精品人成在线观看| 亚洲成av人片在线播放无| 91九色精品人成在线观看| 757午夜福利合集在线观看| 91久久精品电影网| 国产精品久久久久久久电影| 免费在线观看影片大全网站| 色在线成人网| 午夜福利欧美成人| 亚洲成人中文字幕在线播放| 日韩欧美一区二区三区在线观看| www.999成人在线观看| 99国产综合亚洲精品| 中亚洲国语对白在线视频| 欧美在线一区亚洲| or卡值多少钱| 少妇的逼好多水| 欧美+亚洲+日韩+国产| 亚洲av中文字字幕乱码综合| 亚洲人与动物交配视频| 美女高潮喷水抽搐中文字幕| .国产精品久久| 级片在线观看| 久久午夜福利片| 最新中文字幕久久久久| 波野结衣二区三区在线| 九色国产91popny在线| 99在线视频只有这里精品首页| a级毛片免费高清观看在线播放| 欧美+亚洲+日韩+国产| 国产亚洲精品av在线| 亚洲第一电影网av| 蜜桃久久精品国产亚洲av| 亚洲三级黄色毛片| 内射极品少妇av片p| ponron亚洲| 在线免费观看的www视频| 我要看日韩黄色一级片| 久久亚洲真实| 午夜日韩欧美国产| 9191精品国产免费久久| 日本黄色视频三级网站网址| 欧美bdsm另类| 黄色视频,在线免费观看| 欧美成人a在线观看| 热99re8久久精品国产| 观看免费一级毛片| 国内精品一区二区在线观看| 99国产极品粉嫩在线观看| 久久久成人免费电影| 一个人免费在线观看电影| 亚洲成av人片免费观看| 国产精品亚洲av一区麻豆| 脱女人内裤的视频| 亚洲经典国产精华液单 | 精品久久久久久久久av| 国产黄色小视频在线观看| 一级作爱视频免费观看| av黄色大香蕉| 老司机深夜福利视频在线观看| 三级国产精品欧美在线观看| 成人三级黄色视频| 亚洲综合色惰| 欧美精品国产亚洲| 男女床上黄色一级片免费看| 少妇的逼好多水| 中文字幕熟女人妻在线| 国产精品女同一区二区软件 | 丰满的人妻完整版| 丰满人妻一区二区三区视频av| 国产主播在线观看一区二区| 国产免费av片在线观看野外av| 色综合亚洲欧美另类图片| 丰满人妻一区二区三区视频av| 日本精品一区二区三区蜜桃| 久久精品影院6| 淫秽高清视频在线观看| 欧美性感艳星| а√天堂www在线а√下载| 毛片一级片免费看久久久久 | 91午夜精品亚洲一区二区三区 | 国产免费一级a男人的天堂| 国产精品久久久久久亚洲av鲁大| 国产野战对白在线观看| 久久中文看片网| 一个人观看的视频www高清免费观看| 欧美xxxx性猛交bbbb| 久久人妻av系列| 人妻制服诱惑在线中文字幕| 免费在线观看影片大全网站| avwww免费| 女人十人毛片免费观看3o分钟| 在线免费观看不下载黄p国产 | 99久久精品国产亚洲精品| 丰满人妻熟妇乱又伦精品不卡| 欧美最黄视频在线播放免费| 亚洲经典国产精华液单 | 亚洲av免费高清在线观看| 欧美另类亚洲清纯唯美| 欧美日韩国产亚洲二区| 激情在线观看视频在线高清| 又粗又爽又猛毛片免费看| 久久中文看片网| 精品久久久久久久久av| 国产亚洲精品久久久com| 日本三级黄在线观看| 窝窝影院91人妻| 一区二区三区激情视频| 最新中文字幕久久久久| 成人特级av手机在线观看| 熟女人妻精品中文字幕| 尤物成人国产欧美一区二区三区| 日韩欧美在线乱码| 精品一区二区三区人妻视频| 香蕉av资源在线| 国产一区二区在线av高清观看| 日日干狠狠操夜夜爽| 一级黄片播放器| 人妻丰满熟妇av一区二区三区| 亚洲欧美日韩东京热| 午夜福利高清视频| 国产午夜精品久久久久久一区二区三区 | 首页视频小说图片口味搜索| 日韩欧美在线二视频| 看免费av毛片| 色5月婷婷丁香| 一级黄色大片毛片| 欧美+亚洲+日韩+国产| 午夜a级毛片| 亚洲熟妇中文字幕五十中出| 一级毛片久久久久久久久女| 在线观看午夜福利视频| 亚洲人与动物交配视频| 精品久久久久久成人av| 国产亚洲精品综合一区在线观看| 国产精品一区二区三区四区免费观看 | 午夜影院日韩av| 国产一区二区在线av高清观看| 久久午夜亚洲精品久久| 亚洲在线自拍视频| 亚洲第一区二区三区不卡| 白带黄色成豆腐渣| 一级a爱片免费观看的视频| 少妇的逼好多水| 亚洲国产精品成人综合色| 女人被狂操c到高潮| 赤兔流量卡办理| 国产精品国产高清国产av| 欧美绝顶高潮抽搐喷水| 日韩免费av在线播放| 精品久久久久久久久亚洲 | 久久九九热精品免费| 欧美丝袜亚洲另类 | 男人狂女人下面高潮的视频| 老女人水多毛片| 国产老妇女一区| 波多野结衣高清作品| 一区二区三区免费毛片| 99热精品在线国产| 亚洲电影在线观看av| 天堂av国产一区二区熟女人妻| 熟妇人妻久久中文字幕3abv| 国产一区二区三区视频了| 日韩中字成人| 欧美性猛交黑人性爽| 俺也久久电影网| 特大巨黑吊av在线直播| 国产在线男女| 国产色爽女视频免费观看| 欧洲精品卡2卡3卡4卡5卡区| 少妇熟女aⅴ在线视频| 亚洲成人中文字幕在线播放| 日本a在线网址| 99热这里只有精品一区| 国产免费男女视频| 久久久久亚洲av毛片大全| 免费av毛片视频| 欧美在线一区亚洲| 特大巨黑吊av在线直播| 欧美最新免费一区二区三区 | 波多野结衣高清作品| 别揉我奶头~嗯~啊~动态视频| 欧美一级a爱片免费观看看| 亚洲av二区三区四区| 色在线成人网| 成人特级av手机在线观看| 最新在线观看一区二区三区| 天堂网av新在线| 国语自产精品视频在线第100页| 久久精品国产自在天天线| 亚洲av一区综合| 日韩有码中文字幕| 夜夜躁狠狠躁天天躁| 国产午夜福利久久久久久| 丰满人妻一区二区三区视频av| 狠狠狠狠99中文字幕| 国产亚洲欧美98| 看片在线看免费视频| 我的老师免费观看完整版| 日本精品一区二区三区蜜桃| 男人和女人高潮做爰伦理| 色av中文字幕| 亚洲国产日韩欧美精品在线观看| av在线蜜桃| 国产精品一及| 欧美成人性av电影在线观看| 精品熟女少妇八av免费久了| 国产av一区在线观看免费| 搞女人的毛片| 波多野结衣高清无吗| 国产一区二区在线av高清观看| 俺也久久电影网| 别揉我奶头 嗯啊视频| 亚洲精品一卡2卡三卡4卡5卡| 亚洲综合色惰| 午夜老司机福利剧场| 尤物成人国产欧美一区二区三区| 熟女电影av网| 波多野结衣高清作品| 麻豆成人午夜福利视频| 国产伦精品一区二区三区四那| 日本免费一区二区三区高清不卡| 国产成年人精品一区二区| 美女cb高潮喷水在线观看| 成人美女网站在线观看视频| 欧美三级亚洲精品| 国产一区二区在线av高清观看| 观看美女的网站| 18禁黄网站禁片午夜丰满| 精品一区二区三区av网在线观看| 国产高潮美女av| 听说在线观看完整版免费高清| 久久精品国产亚洲av天美| 日韩中文字幕欧美一区二区| 亚洲国产欧洲综合997久久,| 狂野欧美白嫩少妇大欣赏| 国产成+人综合+亚洲专区| 婷婷精品国产亚洲av在线| 丰满乱子伦码专区| 亚洲人与动物交配视频| 国产免费男女视频| 日韩欧美精品v在线| 极品教师在线免费播放| 国产单亲对白刺激| 欧美最新免费一区二区三区 | 亚洲美女视频黄频| 亚洲五月天丁香| 九色国产91popny在线| 大型黄色视频在线免费观看| 亚洲性夜色夜夜综合| 国内精品久久久久久久电影| 9191精品国产免费久久| 五月伊人婷婷丁香| 美女cb高潮喷水在线观看| 欧美潮喷喷水| 色在线成人网| 中国美女看黄片| 美女被艹到高潮喷水动态| ponron亚洲| 亚洲精品粉嫩美女一区| 成人av在线播放网站| 人妻丰满熟妇av一区二区三区| 亚洲一区二区三区色噜噜| 九色成人免费人妻av| 国产成人aa在线观看| 免费av观看视频| 深夜a级毛片| 成人午夜高清在线视频| 亚洲男人的天堂狠狠| 在线观看66精品国产| 色吧在线观看| 高清毛片免费观看视频网站| 天堂网av新在线| 日本免费一区二区三区高清不卡| 亚洲无线在线观看| 久久精品国产99精品国产亚洲性色| 国产精品不卡视频一区二区 | 十八禁人妻一区二区| 亚洲在线观看片| 成人国产一区最新在线观看| 亚洲狠狠婷婷综合久久图片| 国产成人av教育| 国产精品亚洲美女久久久| 中文字幕人成人乱码亚洲影| 精品久久久久久久末码| 国产aⅴ精品一区二区三区波| 日本黄大片高清| 露出奶头的视频| 亚洲久久久久久中文字幕| 精品一区二区三区视频在线观看免费| 可以在线观看毛片的网站| 成人毛片a级毛片在线播放| av在线观看视频网站免费| 九九热线精品视视频播放| 日本撒尿小便嘘嘘汇集6| 观看免费一级毛片| 12—13女人毛片做爰片一| 少妇裸体淫交视频免费看高清| 又黄又爽又刺激的免费视频.| 日韩欧美精品v在线| 国产成人影院久久av| 成人精品一区二区免费| 亚洲综合色惰| 91麻豆av在线| 97碰自拍视频| 久久天躁狠狠躁夜夜2o2o| 亚洲中文日韩欧美视频| 啦啦啦韩国在线观看视频| 大型黄色视频在线免费观看| 久久久久久久精品吃奶| 国产色婷婷99| 国产精品久久久久久精品电影| 日本撒尿小便嘘嘘汇集6| 日本成人三级电影网站| 欧美性感艳星| 天堂影院成人在线观看| 国产三级中文精品| 亚洲国产精品成人综合色| 日韩大尺度精品在线看网址| av在线观看视频网站免费| 嫩草影院入口| 天堂av国产一区二区熟女人妻| 中文字幕人成人乱码亚洲影| 国产精品嫩草影院av在线观看 | 国产精品久久久久久精品电影| 久99久视频精品免费| 欧美绝顶高潮抽搐喷水| 久久久久久久久久黄片| 美女高潮的动态| 噜噜噜噜噜久久久久久91| 99久国产av精品| 999久久久精品免费观看国产| 少妇裸体淫交视频免费看高清| 久久人妻av系列| 国产真实伦视频高清在线观看 | 制服丝袜大香蕉在线| 又黄又爽又刺激的免费视频.| 自拍偷自拍亚洲精品老妇| 日韩高清综合在线| 国产精品不卡视频一区二区 | 国产单亲对白刺激| 国内精品美女久久久久久| 嫩草影院入口| 特级一级黄色大片| 久久久久久久午夜电影| 亚洲国产精品久久男人天堂| 此物有八面人人有两片| 午夜福利视频1000在线观看| h日本视频在线播放| 51午夜福利影视在线观看| 中文字幕高清在线视频| 欧美黑人欧美精品刺激| 天堂影院成人在线观看| 日本 av在线| 亚洲第一欧美日韩一区二区三区| 亚洲av成人不卡在线观看播放网| 久久午夜亚洲精品久久| 白带黄色成豆腐渣| 欧美黑人巨大hd| 亚洲国产精品合色在线| 深爱激情五月婷婷| 久久久久久久久中文| 成年女人永久免费观看视频| 精品久久久久久久久久久久久| 久久人人精品亚洲av| 热99re8久久精品国产| 日本黄色视频三级网站网址| 一个人观看的视频www高清免费观看| 欧美乱色亚洲激情| 亚洲国产精品合色在线| 免费大片18禁| 日日摸夜夜添夜夜添av毛片 | 色噜噜av男人的天堂激情| 午夜激情福利司机影院| 12—13女人毛片做爰片一| 男人和女人高潮做爰伦理| 999久久久精品免费观看国产| 国产精品久久久久久人妻精品电影| 久久久久久久久中文| 国产av不卡久久| 怎么达到女性高潮| 精品午夜福利在线看| 国产又黄又爽又无遮挡在线| av欧美777| 首页视频小说图片口味搜索| 在线观看av片永久免费下载| 最近在线观看免费完整版| 国产一级毛片七仙女欲春2| 国产精华一区二区三区| 国语自产精品视频在线第100页| 欧美一区二区亚洲| 色综合婷婷激情| 欧美一区二区国产精品久久精品| 啦啦啦韩国在线观看视频| 国产av不卡久久| 国产探花在线观看一区二区| 亚洲av美国av| 久久人妻av系列| 黄片小视频在线播放| 亚洲美女搞黄在线观看 | 国产精品伦人一区二区| 神马国产精品三级电影在线观看| 国产真实乱freesex| 一区二区三区激情视频| 性插视频无遮挡在线免费观看| 伊人久久精品亚洲午夜| 亚洲性夜色夜夜综合| 国产激情偷乱视频一区二区| 五月玫瑰六月丁香| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 免费av毛片视频| 午夜福利成人在线免费观看| 午夜影院日韩av| 色视频www国产| 人人妻人人澡欧美一区二区| 国产视频内射| 色在线成人网| 亚洲男人的天堂狠狠| 久久精品国产亚洲av香蕉五月| 精品久久久久久成人av| 日本 av在线| 丰满人妻熟妇乱又伦精品不卡| 一进一出好大好爽视频| av黄色大香蕉| 美女黄网站色视频| 十八禁国产超污无遮挡网站| 99热只有精品国产| 亚洲欧美日韩高清在线视频| 亚洲av美国av| 国产在线精品亚洲第一网站| 免费电影在线观看免费观看| 真实男女啪啪啪动态图| 免费高清视频大片| 99精品在免费线老司机午夜| 亚洲国产欧美人成| 波多野结衣巨乳人妻| 中文字幕熟女人妻在线| 国产熟女xx| 一夜夜www| 伦理电影大哥的女人| 最近中文字幕高清免费大全6 | 在现免费观看毛片| 成人毛片a级毛片在线播放| 国产淫片久久久久久久久 | 精品国产三级普通话版| 亚洲精品乱码久久久v下载方式| 国产蜜桃级精品一区二区三区|