国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2021-07-16 14:04:50蔡聲鎮(zhèn)
電子器件 2021年3期
關(guān)鍵詞:存儲(chǔ)容量存儲(chǔ)系統(tǒng)傳輸速率

陳 亮,蔡聲鎮(zhèn)

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

閃存介質(zhì)(NAND Flash)因其低延時(shí)、高并行、低能耗、體積小等特點(diǎn)受到了廣泛關(guān)注,基于閃存介質(zhì)構(gòu)建的閃存存儲(chǔ)系統(tǒng)是當(dāng)前的研究熱點(diǎn),構(gòu)建形式多樣[1]。存儲(chǔ)系統(tǒng)主要由主機(jī)、存儲(chǔ)設(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)、垃圾回收等功能從存儲(chǔ)設(shè)備移植到主控端實(shí)現(xiàn),從而提升存儲(chǔ)系統(tǒng)整體性能。

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

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

本文借鑒Open-Channel SSDs 的設(shè)計(jì)思想,提出了一種新型SPI NAND 控制器的設(shè)計(jì)方法,針對(duì)SPI NAND 存儲(chǔ)系統(tǒng)架構(gòu)和控制器軟件進(jìn)行優(yōu)化設(shè)計(jì)[4],可實(shí)現(xiàn)較大幅度提升上述主流SPI NAND Flash 在存儲(chǔ)容量、傳輸速率和主控命令復(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ì)上,需要對(duì)SPI 接口和Flash 閃存接口進(jìn)行硬件加速設(shè)計(jì)。同時(shí)主控端不再考慮閃存介質(zhì)的特性,可以簡(jiǎn)化并統(tǒng)一SPI 接口傳輸指令。對(duì)控制器的功能和性能進(jìn)行合理分布,使用模塊化設(shè)計(jì)理念,整個(gè)架構(gòu)分為前端、FTL、后端三個(gè)模塊,模塊之間通過32 位AXI 總線連接,每個(gè)模塊處理各自任務(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 接口指令簡(jiǎn)化為數(shù)據(jù)傳輸和控制指令,在傳統(tǒng)SPI 控制器基礎(chǔ)上[5-6],實(shí)現(xiàn)了協(xié)議控制邏輯,將命令解析軟件功能通過硬件來實(shí)現(xiàn),加速SPI 接口指令處理能力。協(xié)議控制邏輯格式化硬件解析SPI 接口命令,區(qū)分指令類型,提取指令中地址和數(shù)據(jù)長(zhǎng)度等信息,并按照自定義格式傳遞給處理器。

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

Flash 控制器的主要功能是管理Flash 顆粒,完成對(duì)顆粒的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 的糾錯(cuò)能力,支持SLC 和部分MLC 顆粒[7],為了提升Flash 控制器的性能,采用兩個(gè)die 控制邏輯,將讀寫Flash 顆粒的命令進(jìn)行并行化設(shè)計(jì),每一個(gè)die 控制邏輯對(duì)應(yīng)映射到顆粒中的一個(gè)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ì),對(duì)控制器整體性能起到關(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é)議的端口時(shí)鐘SCK 范圍為10 MHz~104 MHz,支持標(biāo)準(zhǔn)模式和雙線、四線、八線模式,端口傳輸速率從10 Mbit/s 到最高832 Mbit/s[10]。MLC 和SLC 顆粒采用ASYNC 和ONFI1.2 協(xié)議,支持異步模式和同步模式,同時(shí)支持NV-DDR 技術(shù),即允許顆粒采用雙沿觸發(fā)采樣數(shù)據(jù)的技術(shù),端口傳輸速率從10 Mbit/s 最高可達(dá)100 Mbit/s[8]。

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

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

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

圖6 軟件功能

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

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

圖7 損耗均衡流程

3 性能測(cè)試與分析

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

為了驗(yàn)證本文SPI NAND 控制器的性能,采用工業(yè)界最主流和具有代表性的旺宏公司的SPI NAND 顆粒MX35LF[10],在FPGA 開發(fā)板搭建了性能測(cè)試平臺(tái),如圖8 所示,由主控端、設(shè)備端構(gòu)成。主控端由一塊Xilinx 公司的Artix-7 開發(fā)板實(shí)現(xiàn),為了盡量消除主控端軟硬件對(duì)測(cè)試的影響,采用兩組完全一樣的SPI 接口,接口SCK 時(shí)鐘均工作在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ù)手冊(cè),在讀取數(shù)據(jù)時(shí),MX35LF 顆粒Trd 為25 μs,在寫入數(shù)據(jù)時(shí),MX35LF 顆粒Tprog 設(shè)置為320 μs。整個(gè)測(cè)試平臺(tái)的測(cè)試代碼均運(yùn)行在Microblaze 處理器上。

圖8 測(cè)試平臺(tái)

3.2 控制指令

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

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

3.3 存儲(chǔ)容量

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

3.4 傳輸速率

設(shè)置SPI0 和SPI1 的SCK 為50 MHz,對(duì)SPI NAND 控制器和MX35LF 分別進(jìn)行讀寫數(shù)據(jù)測(cè)試,數(shù)據(jù)的粒度分為512 byte、1K、2K 三個(gè)檔次,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í),每次傳輸?shù)拿铋L(zhǎng)度是固定的,隨著傳輸數(shù)據(jù)長(zhǎng)度變長(zhǎng)、傳輸線數(shù)變多,命令所占傳輸時(shí)間比例降低,因此有效數(shù)據(jù)傳輸速率隨數(shù)據(jù)長(zhǎng)度提升。

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

(3)對(duì)于寫操作,由于NAND Flash 顆粒特性決定了Tprog 時(shí)間比較長(zhǎng),而且無法進(jìn)行并行寫操作。SPI NAND 控制器采用了Central Buffer 的設(shè)計(jì)方法,以及Flash 控制器支持雙die 引擎,支持對(duì)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ì)。通過測(cè)試驗(yàn)證,與當(dāng)前主流Flash存儲(chǔ)設(shè)備進(jìn)行性能比對(duì),在讀寫數(shù)據(jù)方面效率獲得顯著提升。證明了架構(gòu)的合理性和高效性。

猜你喜歡
存儲(chǔ)容量存儲(chǔ)系統(tǒng)傳輸速率
城市數(shù)字化管理中的信息通信技術(shù)研究
安防科技(2021年1期)2021-11-12 13:18:50
分布式存儲(chǔ)系統(tǒng)在企業(yè)檔案管理中的應(yīng)用
哈爾濱軸承(2020年2期)2020-11-06 09:22:36
天河超算存儲(chǔ)系統(tǒng)在美創(chuàng)佳績(jī)
跨山通信中頻段選擇與傳輸速率的分析
黑龍江電力(2017年1期)2017-05-17 04:25:16
數(shù)據(jù)傳輸速率
CHIP新電腦(2016年9期)2016-09-21 10:31:09
華為震撼發(fā)布新一代OceanStor 18000 V3系列高端存儲(chǔ)系統(tǒng)
新一代全球衛(wèi)星通信網(wǎng)絡(luò)將百倍提升傳輸速率
淺析云盤技術(shù)及存儲(chǔ)原理
一種基于STM32的具有斷電保護(hù)機(jī)制的采集存儲(chǔ)系統(tǒng)設(shè)計(jì)
新一代全球衛(wèi)星通信網(wǎng)絡(luò)將百倍提升傳輸速率
彰化市| 长治市| 自贡市| 罗甸县| 周宁县| 萝北县| 色达县| 开化县| 大方县| 鞍山市| 临洮县| 同江市| 东阳市| 嘉鱼县| 剑阁县| 呼和浩特市| 黄石市| 宝兴县| 遵义市| 遂溪县| 鹰潭市| 铁岭市| 徐州市| 丰镇市| 磐石市| 台中县| 雷州市| 门源| 阳信县| 常熟市| 珠海市| 义乌市| 拉萨市| 海城市| 南召县| 蓬安县| 广河县| 微博| 扶余县| 常山县| 饶河县|