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

        ?

        一種新型SPI NAND控制器設(shè)計(jì)?

        2021-07-16 14:04:50蔡聲鎮(zhèn)
        電子器件 2021年3期
        關(guān)鍵詞:指令設(shè)計(jì)

        陳 亮,蔡聲鎮(zhèn)

        (1.福州理工學(xué)院計(jì)算與信息科學(xué)學(xué)院,福建 福州 350506;2.福建師范大學(xué)數(shù)學(xué)與信息學(xué)院,福建 福州 350117)

        閃存介質(zhì)(NAND Flash)因其低延時、高并行、低能耗、體積小等特點(diǎn)受到了廣泛關(guān)注,基于閃存介質(zhì)構(gòu)建的閃存存儲系統(tǒng)是當(dāng)前的研究熱點(diǎn),構(gòu)建形式多樣[1]。存儲系統(tǒng)主要由主機(jī)、存儲設(shè)備構(gòu)成;閃存設(shè)備主要由閃存介質(zhì)、閃存控制器兩部分構(gòu)成。Open-Channel SSDs,Denali 等為新型的閃存控制器架構(gòu)[2],根據(jù)應(yīng)用需求,將閃存轉(zhuǎn)換層(flash translation layer,F(xiàn)TL)、垃圾回收等功能從存儲設(shè)備移植到主控端實(shí)現(xiàn),從而提升存儲系統(tǒng)整體性能。

        SPI NAND Flash 為嵌入式領(lǐng)域的閃存設(shè)備,主要用于嵌入式系統(tǒng)的代碼存儲和數(shù)據(jù)存儲,其主流的存儲容量為1 Gbit/2 Gbit/4 Gbit,典型的傳輸速率為30 Mbit/s,50 Mbit/s,80 Mbit/s 等[3]。圖1 所示為傳統(tǒng)的SPI NAND 存儲系統(tǒng),閃存介質(zhì)相關(guān)的介質(zhì)管理,壞塊管理,地址映射等功能均放在主控端實(shí)現(xiàn)。該架構(gòu)的優(yōu)點(diǎn)是簡化SPI NAND Flash 內(nèi)部控制器,不足是存儲容量小、傳輸速率低、不同廠商協(xié)議命令復(fù)雜繁多不統(tǒng)一。隨著物聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展和人工智能等復(fù)雜計(jì)算或邊緣計(jì)算的引入,嵌入式設(shè)備對性能和存儲容量的需求呈現(xiàn)大幅增長。如何實(shí)現(xiàn)大容量、高速率和簡化及統(tǒng)一協(xié)議命令,已成為SPI NAND Flash 需要急迫解決的問題。

        圖1 傳統(tǒng)SPI NAND 存儲系統(tǒng)

        本文借鑒Open-Channel SSDs 的設(shè)計(jì)思想,提出了一種新型SPI NAND 控制器的設(shè)計(jì)方法,針對SPI NAND 存儲系統(tǒng)架構(gòu)和控制器軟件進(jìn)行優(yōu)化設(shè)計(jì)[4],可實(shí)現(xiàn)較大幅度提升上述主流SPI NAND Flash 在存儲容量、傳輸速率和主控命令復(fù)雜度等方面的性能指標(biāo)。

        1 系統(tǒng)架構(gòu)設(shè)計(jì)

        主控端處理器性能和內(nèi)存資源都優(yōu)于SPI NAND 控制器,為了高效實(shí)現(xiàn)主控端的閃存介質(zhì)相關(guān)功能,在系統(tǒng)架構(gòu)設(shè)計(jì)上,需要對SPI 接口和Flash 閃存接口進(jìn)行硬件加速設(shè)計(jì)。同時主控端不再考慮閃存介質(zhì)的特性,可以簡化并統(tǒng)一SPI 接口傳輸指令。對控制器的功能和性能進(jìn)行合理分布,使用模塊化設(shè)計(jì)理念,整個架構(gòu)分為前端、FTL、后端三個模塊,模塊之間通過32 位AXI 總線連接,每個模塊處理各自任務(wù),流水作業(yè),形成高效緊湊的SOC 系統(tǒng),見圖2。

        圖2 SPI NAND 控制器頂層架構(gòu)

        前端模塊主要負(fù)責(zé)與主機(jī)的接口指令協(xié)議處理和數(shù)據(jù)在Central Buffer 和主機(jī)之間高效傳輸。FTL 模塊主要由CPU 實(shí)現(xiàn)主控端的閃存介質(zhì)相關(guān)功能,比如地址映射、垃圾回收、損耗均衡等。后端模塊主要根據(jù)FTL 模塊的地址映射算法,實(shí)現(xiàn)Flash 顆粒管理和數(shù)據(jù)在Central Buffer 和Flash 顆粒之間高效傳輸。

        2 功能模塊設(shè)計(jì)

        2.1 SPI 控制器設(shè)計(jì)

        SPI 接口指令簡化為數(shù)據(jù)傳輸和控制指令,在傳統(tǒng)SPI 控制器基礎(chǔ)上[5-6],實(shí)現(xiàn)了協(xié)議控制邏輯,將命令解析軟件功能通過硬件來實(shí)現(xiàn),加速SPI 接口指令處理能力。協(xié)議控制邏輯格式化硬件解析SPI 接口命令,區(qū)分指令類型,提取指令中地址和數(shù)據(jù)長度等信息,并按照自定義格式傳遞給處理器。

        圖3 所示SPI 控制器框圖,SPI 控制器通過32位AXI Master 總線與SOC 系統(tǒng)連接,采取DMA 方式進(jìn)行數(shù)據(jù)的高效傳輸;通過32 位的AXI Slave 總線和SOC 系統(tǒng)連接,支持軟件配置SPI 控制器。靈活配置SPI 接口工作在標(biāo)準(zhǔn)模式(1 bit 傳輸),雙線模式(2 bit 傳輸),四線模式(4 bit 傳輸);工作模式可在主設(shè)備/從設(shè)備模式切換。

        圖3 SPI 控制器

        2.2 Flash 控制器設(shè)計(jì)

        傳統(tǒng)的SPI NAND 存儲系統(tǒng),對Flash 顆粒的介質(zhì)管理通過主機(jī)軟件來實(shí)現(xiàn)。通過硬件方式實(shí)現(xiàn)Flash 管理,可降低對處理器性能要求,提高Flash 顆粒讀寫鏈路的吞吐量。尤其將BCH 糾錯算法,采用硬件引擎實(shí)現(xiàn),降低糾錯運(yùn)算延遲,提升Flash 讀操作效率。

        Flash 控制器的主要功能是管理Flash 顆粒,完成對顆粒的reset、erase、read、write 操作。圖4 為Flash 控制器框圖,主要由Page Buffer,BCH ECC 引擎,die 控制邏輯,die 仲裁邏輯,以及兩組32 位的AXI 總線接口構(gòu)成。BCH ECC 引擎為Flash 控制器的核心部分,設(shè)計(jì)為8 bit/512 byte 的糾錯能力,支持SLC 和部分MLC 顆粒[7],為了提升Flash 控制器的性能,采用兩個die 控制邏輯,將讀寫Flash 顆粒的命令進(jìn)行并行化設(shè)計(jì),每一個die 控制邏輯對應(yīng)映射到顆粒中的一個die,并通過die 仲裁邏輯進(jìn)行調(diào)度操作[8]。

        圖4 Flash 控制器

        2.3 Central Buffer 的設(shè)計(jì)

        Central Buffer 模塊作為數(shù)據(jù)緩存,用于SPI 控制器和Flash 控制器之間大批量數(shù)據(jù)交互,并為控制器軟件實(shí)現(xiàn)地址映射,均衡算法,垃圾回收等功能提供硬件基礎(chǔ)。靈活的Central Buffer 設(shè)計(jì),對控制器整體性能起到關(guān)鍵作用。其采用雙口RAM 結(jié)構(gòu)設(shè)計(jì),分別擁有A 和B 兩組獨(dú)立讀寫接口,A 端口與SPI 控制器同頻,由SPI 控制器、CPU、系統(tǒng)DMA共享;B 端口與Flash 控制器同頻,由Flash 控制器使用(見圖2)。

        考慮SLC 和MLC 顆粒的特性,其Page 一般為512/1 024/2 048 字節(jié)。嵌入式設(shè)備的文件系統(tǒng)一般以sector(512 字節(jié))為最小的單元。根據(jù)顆粒和文件系統(tǒng)的需求,Central Buffer 的容量設(shè)計(jì)為8 kB,將Central Buffer 按照512/1 024/2 048 字節(jié)的頁進(jìn)行靈活劃分,采用鏈表的數(shù)據(jù)結(jié)構(gòu)進(jìn)行調(diào)度管理[9],如圖5 所示。

        圖5 Central Buffer 映射

        2.4 系統(tǒng)帶寬設(shè)計(jì)

        SPI 協(xié)議的端口時鐘SCK 范圍為10 MHz~104 MHz,支持標(biāo)準(zhǔn)模式和雙線、四線、八線模式,端口傳輸速率從10 Mbit/s 到最高832 Mbit/s[10]。MLC 和SLC 顆粒采用ASYNC 和ONFI1.2 協(xié)議,支持異步模式和同步模式,同時支持NV-DDR 技術(shù),即允許顆粒采用雙沿觸發(fā)采樣數(shù)據(jù)的技術(shù),端口傳輸速率從10 Mbit/s 最高可達(dá)100 Mbit/s[8]。

        考慮對未來高性能的需求,將SPI 端口的最高傳輸速率定義為8 線模式,驅(qū)動時鐘為104 MHz,則其傳輸速率為104 Mbit/s。Flash 端口的最高傳輸速率定義為NV-DDR 的模式2[8],其傳輸速率為100 Mbit/s。SPI 端口和Flash 端口的速率是匹配的。對于控制器內(nèi)部系統(tǒng)互聯(lián)的AXI 總線,采用32 bit 位寬和50 MHz 時鐘,則AXI 總線的傳輸速率為200 Mbit/s,可滿足線速的設(shè)計(jì)要求。

        2.5 軟件設(shè)計(jì)

        通過SPI 控制器和Flash 控制器的硬件加速功能,架構(gòu)上的CPU(32 位RISC 處理器),在不降低性能條件下,實(shí)現(xiàn)對Flash 顆粒相關(guān)的復(fù)雜管理移植,把SPI NAND 抽象為類似RAM 的訪問模式,屏蔽顆粒底層的復(fù)雜信息;同時給嵌入式設(shè)備主控提供統(tǒng)一的指令協(xié)議,從而達(dá)到簡化嵌入式主控的驅(qū)動設(shè)計(jì)。SPI NAND 控制器的軟件架構(gòu)如圖6所示。

        圖6 軟件功能

        控制器內(nèi)的CPU,實(shí)現(xiàn)SPI NAND 存儲系統(tǒng)的核心功能,包括對SPI 接口的控制,自定義協(xié)議的解析處理,Cache/Buffer 的管理,算法的映射,NAND Flash 的管理等功能。尤其是FTL 的算法映射功能[11],包含地址映射[12],垃圾回收[13],損耗均衡[14]和壞塊管理。

        以損耗均衡為例,在SPI NAND 使用過程中,存在用戶數(shù)據(jù)及其訪問行為冷熱不均,導(dǎo)致顆粒一些物理塊長期不被使用,而另一些物理塊被頻繁使用的情況,長此以往將導(dǎo)致某些塊提前壞掉,嚴(yán)重影響SPI NAND 的壽命。損耗均衡通過軟件監(jiān)控顆粒上每個塊的擦除次數(shù)以及塊上數(shù)據(jù)的存入時間,然后控制所有的擦除次數(shù)在平均擦除次數(shù)附近偏移,一旦超過設(shè)定的最大偏移值,則該塊閑置不用。損耗均衡按照算法執(zhí)行的系統(tǒng)空間分布情況,可以分為動態(tài)損耗均衡[15]和靜態(tài)損耗均衡[16],通過兩種均衡算法的結(jié)合,SPI NAND 中的物理塊均衡使用,提高使用壽命。算法流程如圖7 所示。

        圖7 損耗均衡流程

        3 性能測試與分析

        3.1 測試環(huán)境搭建

        為了驗(yàn)證本文SPI NAND 控制器的性能,采用工業(yè)界最主流和具有代表性的旺宏公司的SPI NAND 顆粒MX35LF[10],在FPGA 開發(fā)板搭建了性能測試平臺,如圖8 所示,由主控端、設(shè)備端構(gòu)成。主控端由一塊Xilinx 公司的Artix-7 開發(fā)板實(shí)現(xiàn),為了盡量消除主控端軟硬件對測試的影響,采用兩組完全一樣的SPI 接口,接口SCK 時鐘均工作在50 MHz,Microblaze 處理器工作在200 MHz。設(shè)備端由另外一塊Artix-7 開發(fā)板和MX35LF 顆粒子板構(gòu)成,SPI NAND 控制器通過Verilog 代碼設(shè)計(jì)和驗(yàn)證,燒寫到另外一塊Artix-7 開發(fā)板。SPI0 支持主/從設(shè)備兼容模式,通過軟件實(shí)現(xiàn)自定義協(xié)議,通過改進(jìn)型SPI 接口和實(shí)現(xiàn)了SPI NAND 控制器的FPGA 開發(fā)板相連接。SPI1 支持主設(shè)備模式,通過傳統(tǒng)SPI接口和MX35LF 顆粒子板相連。根據(jù)MX35LF 的數(shù)據(jù)手冊,在讀取數(shù)據(jù)時,MX35LF 顆粒Trd 為25 μs,在寫入數(shù)據(jù)時,MX35LF 顆粒Tprog 設(shè)置為320 μs。整個測試平臺的測試代碼均運(yùn)行在Microblaze 處理器上。

        圖8 測試平臺

        3.2 控制指令

        在SPI NAND 控制器和MX35LF 進(jìn)行讀寫的對比測試過程中,同樣的讀操作,MX35LF 需要4 條指令完成,不同的讀方式,還需要額外6 條指令;同樣的寫操作,MX35LF 需要4 條指令完成,不同的寫方式,還需要額外2 條指令,而SPI NAND 控制器的讀寫操作是一致的,只需要支持2~3 條指令,明顯簡化并統(tǒng)一了主控端的驅(qū)動。相關(guān)的指令比較如表1所列。

        表1 指令系統(tǒng)比較

        3.3 存儲容量

        Flash 控制器的尋址范圍是決定Flash 存儲器存儲容量的關(guān)鍵指標(biāo)。MX35LF 的尋址位寬為24 bit,同時最小粒度為1 字節(jié);本文的SPI NAND 控制器尋址位寬為28 bit,最小粒度為512 字節(jié),支持的存儲容量是MX35LF 的213倍,通過Flash 控制器并行連接多個die 的方式,可以支持高達(dá)128 GB 的存儲容量。

        3.4 傳輸速率

        設(shè)置SPI0 和SPI1 的SCK 為50 MHz,對SPI NAND 控制器和MX35LF 分別進(jìn)行讀寫數(shù)據(jù)測試,數(shù)據(jù)的粒度分為512 byte、1K、2K 三個檔次,SPI 分別配置為標(biāo)準(zhǔn)(50 Mbit/s)、雙線(100 Mbit/s)和四線(200 Mbit/s)模式,圖9 所示為讀數(shù)據(jù)和寫數(shù)據(jù)的性能比較,顯然存在如下規(guī)律:

        圖9 性能比較

        (1)由于讀寫數(shù)據(jù)時,每次傳輸?shù)拿铋L度是固定的,隨著傳輸數(shù)據(jù)長度變長、傳輸線數(shù)變多,命令所占傳輸時間比例降低,因此有效數(shù)據(jù)傳輸速率隨數(shù)據(jù)長度提升。

        (2)MX35LF 部分命令不能通過改變線數(shù)實(shí)現(xiàn)并行傳輸,隨著傳輸數(shù)據(jù)長度變長,自定義存儲設(shè)備傳輸速率的優(yōu)勢越明顯。

        (3)對于寫操作,由于NAND Flash 顆粒特性決定了Tprog 時間比較長,而且無法進(jìn)行并行寫操作。SPI NAND 控制器采用了Central Buffer 的設(shè)計(jì)方法,以及Flash 控制器支持雙die 引擎,支持對NAND Flash 顆粒的并行操作,整體性能比MX35LF 提升一倍左右。

        4 結(jié)論

        本文介紹了一種新型的SPI NAND 控制器的設(shè)計(jì)和實(shí)現(xiàn),重點(diǎn)描述了SPI NAND 控制器的架構(gòu)設(shè)計(jì)以及SPI 控制器、Flash 控制器、Central Buffer 的設(shè)計(jì)和軟件設(shè)計(jì)。通過測試驗(yàn)證,與當(dāng)前主流Flash存儲設(shè)備進(jìn)行性能比對,在讀寫數(shù)據(jù)方面效率獲得顯著提升。證明了架構(gòu)的合理性和高效性。

        猜你喜歡
        指令設(shè)計(jì)
        聽我指令:大催眠術(shù)
        何為設(shè)計(jì)的守護(hù)之道?
        《豐收的喜悅展示設(shè)計(jì)》
        流行色(2020年1期)2020-04-28 11:16:38
        ARINC661顯控指令快速驗(yàn)證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        電子測試(2018年18期)2018-11-14 02:30:34
        瞞天過海——仿生設(shè)計(jì)萌到家
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        殺毒軟件中指令虛擬機(jī)的脆弱性分析
        一種基于滑窗的余度指令判別算法
        成人免费xxxxx在线视频| 嗯啊好爽高潮了在线观看| 国产精品久久久久高潮| 久久久www成人免费无遮挡大片| 九色91精品国产网站| 色噜噜精品一区二区三区| 国产亚洲精品av久久| 国产深夜男女无套内射| 澳门毛片精品一区二区三区| 日本精品人妻一区二区三区| 中文有码人妻字幕在线| 999国内精品永久免费观看| 欧美日韩另类视频| 青青草手机成人自拍视频| 亚洲精品国产av成人精品| 久久久国产精品黄毛片| 亚洲av日韩aⅴ无码电影 | 精品无码久久久久久久久| 成年无码av片完整版| 亚洲av成人在线网站| 女主播国产专区在线观看| 在线观看的网站| 亚洲男人av香蕉爽爽爽爽| 天堂女人av一区二区| 亚洲美女毛多水多免费视频| 国产尤物av尤物在线观看 | 亚洲色欲综合一区二区三区| 亚洲av不卡电影在线网址最新| 亚洲中文乱码在线视频| 中文字幕人妻伦伦| 亚洲色大成网站www尤物| 亚洲精品美女久久777777| 久久久久久久综合狠狠综合| 无码成年性午夜免费网站蜜蜂 | 亚洲av无码精品无码麻豆| 一本色道久久综合亚洲精品不卡 | 精品天堂色吊丝一区二区| 内射囯产旡码丰满少妇| 红杏性无码免费专区| 日韩精品在线观看在线| 日本丰满熟妇videossex8k|