999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于NAND Flash的存儲設備設計與實現

2017-06-27 08:14:18潘旭明劉嵩巖齊可心吳尚儒
無線電通信技術 2017年4期
關鍵詞:設計

潘旭明,劉嵩巖,齊可心,吳尚儒,陳 婷

(黑龍江大學 電子工程學院,黑龍江 哈爾濱 150080)

基于NAND Flash的存儲設備設計與實現

潘旭明,劉嵩巖,齊可心,吳尚儒,陳 婷

(黑龍江大學 電子工程學院,黑龍江 哈爾濱 150080)

Flash是目前最火的存儲介質,具有傳輸速度快、功耗小、無噪音等優點。但用于存儲設備時常因片上總線的局限而性能低下。針對因總線限制Flash性能發揮的問題,設計了一種基于AXI總線的NAND Flash存儲設備,所設計的存儲設備具有多通道傳輸、流水線操作、ECC校驗,以及RAID5架構存儲等功能。設計分析與測試結果表明,設計的基于NAND Flash存儲系統傳輸速度更快,系統更穩定,同時增強了存儲數據的可靠性為NAND Flash存儲設備的研究提供了一個新的解決方案。

AXI總線;SSD存儲;DMA;NAND Flash

0 引言

隨著科技的快速發展,存儲行業也發生了很大的變化,固態硬盤(簡稱固盤),因其傳輸速度快、無噪音、功耗小等優點,迅速占領了大量存儲設備的市場,即將成為當今主流存儲介質的不二人選。固態硬盤通常具有很快的傳輸速度,但設計成存儲設備時常因為片上總線的傳輸限制而發揮不出應有的傳輸性能。搭配怎樣的片上總線能把SSD性能更好地發揮出來,這已成為設計SSD存儲設備應考慮的重要問題。

基于這種情況,人們著手研究SSD的原理與特性以及各類總線的原理和特性,并且在不斷突破創新。目前,此項研究在國內外已經取得了很大的成果。文獻[1]中,作者根據PCIE總線和SSD的特點,設計出一種基于PCIE的固態硬盤嵌入式存儲系統;文獻[2]中作者將SSD與PCIE總線相結合,提出了基于PCIE總線的SSD標準化準則;文獻[3]作者及其團隊將SSD設備與AHB總線結合在了一起,并提出一種8通道傳輸機制來提高其傳輸速度。

設計了一款基于AXI總線的SSD存儲模塊,將AXI總線的性能與SSD更好地結合在了一起,模塊主要由產生并發送實驗數據的下載板和接收數據的SSD電子盤2部分組成。

1 基于NAND Flash存儲設備的技術分析

1.1 SSD(NAND Flash)技術

固態硬盤是用固態電子存儲芯片陣列而制成的硬盤。固態硬盤的存儲介質可分為2種,一種是采用閃存(FLASH芯片)作為存儲介質[4],另外一種是采用DRAM作為存儲介質。基于閃存的固態硬盤是固態硬盤的主要類別,其內部構造十分簡單,固態硬盤內主體其實就是一塊有著控制芯片、緩存芯片和用于存儲數據閃存芯片的PCB板。SSD相較于傳統的機械硬盤擁有以下優點:

① 不用磁頭,快速隨機讀取,讀延遲極小;

② 無噪音。因為沒有機械馬達和風扇,工作時噪音值為0 dB;

③ 工作溫度范圍更大。典型的硬盤驅動器只能在5~55℃范圍內工作。而大多數固態硬盤可在-10~70℃工作,一些工業級的固態硬盤還可在-40~85℃,甚至更大的溫度范圍下工作;

④ 低容量的固態硬盤比同容量硬盤體積小、重量輕。

因此SSD目前以傳統硬盤無法比擬的優勢逐步蠶食傳統硬盤的市場,相信在不久的將來會代替傳統硬盤,成為存儲的主流設備。

1.2 AXI片上總線協議

隨著多核、多級內存及眾多外設復雜化的SOC設計需求增大,總線架構日益成為系統性能的瓶頸,ARM公司適時推出了AMBA3.0系列規范,AXI作為這個系列新發布高性能協議,很快得到了整個半導體行業的廣泛認可和采用,這是因為AXI協議具備以下技術優勢:

① 單項通道體系;

② 結構獨立的地址和數據;

③ 通道支持多項數據交換,通過并行執行的Burst碎發操作,極大地提高數據吞吐能力;

④ 很強的靈活性。

如圖1所示,AXI協議有以下幾大特點:

① 在整個AXI單項通道體系中,分了讀寫2類通道,將這2個實現機制不同的操作分開實現,這有利于協議根據讀和寫自身的特點,來提高數據傳輸能力。

② 在讀和寫2個獨立的體系中,又細分了Address Channel、Data Channel和Response Channel。在一般的總線請求中,主設備要了解從設備的情況,需要增加讀寫Busy信號,這種機制不僅增加了互連線,而且增加了讀寫操作所需要的時序開銷。在AXI協議中讀寫的主動權由主機交給了從機,從機完全可以根據自身硬件環境(例如總線帶寬和時序等),采取最合理的讀寫實現方案。

③ AXI協議能兼容以前的AMBA2、AHB總線協議,但相比AHB協議具有更高的數據總線帶寬、支持亂序訪問和非對齊操作等優勢。

圖1 AXI總線讀寫體系結構

2 基于NAND Flash存儲設備的硬件設計

本文設計的存儲設備可以分為SSD電子盤和下載板2部分組成。SSD電子盤通過FMC接口接收上位機發來的數據或命令,并將其存儲到NAND Flash 芯片[4]中,用戶可以通過下載板先將數據從Flash芯片中先下載到下載板上,再通過網口將數據還原到PC機中用以處理。系統的整體框圖如圖2所示。

圖2 系統的整體框圖

2.1 SSD電子盤

如圖3所示,SSD電子盤的硬件主要由FPGA形成的4個cortex-M1軟核及24塊NAND Flash芯片[5]組成,ARM Cortex-M1 處理器是第一個針對FPGA 而優化的 ARM 處理器。處理系統為4個核形成的一控三處理架構,由一個cortex-M1軟核作為總控制器控制另外3個cortex-M1軟核形成3條數據傳輸通道,輪詢快速地處理由下載板發到上位機的數據,將數據快速地通過3條通道,存儲到上位機上的24塊NAND Flash芯片中,實現數據的存儲。

圖3 SSD電子盤實物圖

2.2 下載板

下載板的處理器為Z-7020芯片[6],Z-7020芯片是Xilinx公司生產的Zynq-7000系列中一款,Zynq-7000系列是首款將ARM cortex-A9硬核與FPGA相結合的芯片,屬于ARM+FPGA結構,如果暫時沒有用到FPGA的部分,ARM處理器子系統也可以獨立工作。處理器芯片連接著AXI總線和2片512 M的DDR3芯片,因為有這2片DDR3的存在,操作系統才可以順暢地運行。此外,下載板上還有一個網口用來接收PC機的命令和數據,一個串口用來調試和測試程序,以及一個FMC接口用來與上位機相連,實物如圖4所示。

圖4 下載板實物圖

下載板運行的系統為PetaLinux,PetaLinux操作系統[7]是PetaLogix公司發布的面向MicroBlaze軟核處理器的嵌入式Linux操作系統,作為一種特殊的嵌入式微處理器系統,PetaLinux融合了SOC和FPGA各自的優點,具備軟硬件在系統可編程、可裁剪、可升級等功能。它擁有專門針對FPGA片上系統的開發套件,可以在滿足工程應用的同時,極大地縮短產品的開發周期。

2.3 AXI DMA

AXI總線的DMA(AXI DMA)可分為直接模式和分散/聚合模式[8],本文使用分散/聚合模式的DMA傳輸數據,分散/聚合模式就是可以把離散的內存組成一個描述符用來傳輸。AXI DMA分為MM2S用來發送數據和S2MM用來接收數據,以發送數據為例,將第一段內存地址放在MM2S_CURDESC寄存器中,最后一段內存地址放在MM2S_TAILDESC寄存器中,然后給MM2S_DMACR寄存器的最低位置1,啟動DMA,傳輸數據,接收數據時也是一樣。具體的寄存器描述如表1所示。

表1 AXI總線寄存器地址、名稱及描述

地址偏移量名稱描述00hMM2S_DMACRMM2SDMA控制寄存器04hMM2S_DMASRMM2SDMA狀態寄存器08hMM2S_CURDESCMM2S當前描述符指針寄存器10hMM2S_TAILDESCMM2S結束描述符指針寄存器2ChSG_CTL分散/聚合模式30hS2MM_DMACRS2MMDMA控制寄存器34hS2MM_DMASRS2MMDMA狀態寄存器38hS2MM_CURDESCS2MM當前描述符指針寄存器40hS2MM_TAILDESCS2MM結束描述符指針寄存器

3 基于NAND Flash存儲設備的軟件設計

基于AXI的SSD存儲設備軟件主要為:PC端窗口app程序、下載板的AXI DMA驅動程序及上位機數據處理程序。其中AXI DMA驅動最為重要,也是SSD存儲設備性能的主要程序,本文的研究重心也是下載板AXI DMA驅動,AXI DMA程序大體可分為5步,其流程圖如圖5所示。

① DMA通道申請

DMA數據的傳輸都是通過通道來完成的,所以驅動的第一步是申請DMA通道[9]。本文使用dma_request_channel函數來申請DMA通道。通道申請完成后需要提交使用,提交申請的通道使用函數dmatest_add_slave_channels(chan,rx_chan),函數的參數為申請的通道。

② 申請數據內存及數據初始化

當申請和提交后,需要申請數據內存以及初始化傳輸數據。申請數據空間時要注意cache一致性問題[10],因為DMA傳輸需要的是內存的物理地址而CPU給內存賦值時操作的是緩存,CPU賦值后要想數據能DMA傳輸需要將cache中的數據刷到內存中,所以申請的空間最好能是cache一致性空間。本文用dma_alloc_coherent()函數申請一致性空間[11],空間申請完,需要CPU給空間賦上要傳輸的數據(即數據的初始化使用函數)dmatest_init_src()完成。

③ 數據描述符的封裝

數據初始化完成后,需要將數據封裝成用于DMA傳輸的描述符[12]。本文使用的是AXI DMA的S/G模式,所以使用device_prep_slave_sg(tx_chan,rx_sg,bd_cnt,DMA_MEM_TO_DEV,flags,NULL)完成描述符的封裝,參數分別為傳輸通道、傳輸的分散內存、分散內存的個數、傳輸方向和應答標志。

④ DMA傳輸

封裝完數據描述符后,需要將描述符掛載到通道上用于傳輸[13]。掛載完成后給控制寄存器最低位置1,啟動DMA,用dma_async_issue_pending(chan)函數完成,當一個描述符傳輸完成之后會產生一個中斷,并進入中斷處理函數,在中斷處理函數中判斷是否有下一個描述符需要傳輸,如果有則繼續傳輸,如果沒有,傳輸結束。具體流程如圖6所示。

圖6 數據傳輸流程圖

⑤ 傳輸完成釋放資源

數據傳輸完成后,需要將申請的數據空間和傳輸通道釋放掉,分別用kfree(thread->srcs)和dma_release_channel(chan)實現。

4 操作步驟及實驗結果

經實驗測試,基于NAND Flash存儲設備傳輸數據的速度最高可達到230 MB/s。其測試原理:傳輸的數據量÷傳輸所用的時間。所以只需要知道傳輸的數據量和傳輸這些數據所用的時間,即可求得設備的傳輸速度。

本文驅動發送數據的方式是循環發送,一次循環發送64 KB的數據,并且發送結束時會進入回調函數,在程序發送數據前獲取時間用do_gettimeofday(&tv_start)來實現[14],所得到的時間為tv_start。在回調函數中加入函數記錄驅動進入回調函數的次數n,隨即循環發送數據,當數據發送結束后,再調用do_gettimeofday(&tv_end)來獲取發送數據之后的時間,得到時間為tv_end,這樣傳輸速度就可用64 K*n/ (tv_end - tv_start)值得到。

將程序編輯成模塊并加載到內核中,然后編輯內核將生成的內核文件image.ub[15]、引導文件boot.bin和系統文件system.dtb拷貝到下載板中。在串口助手的窗口種輸入命令insmod axidmatest.ko來加載驅動模塊,會得到圖7所示的圖片。

圖7 試驗測試結果圖

如圖7所示,發送的開始時間為356.659 980 s,發送的結束時間為365.974 488 s。Callback為進入回調函數的次數為32 768次,如上文所說,循環發送數據,循環一次發送64 KB數據同時調用一次Callback函數,也就是說此次發送了64*1 024*32 768=2*1 024*1 024*1 024=2 G數據,發送時間約為9 s,所以傳輸速率為2 G / 9 = 227.6 MB/s。

5 結束語

此次設計了一款基于NAND Flash的存儲設備,首先簡述了基于AXI總線SSD設備的主要技術,完成了SSD設備的硬件設計和軟件設計,闡述了測試數據產生的原理以及實際操作步驟。設計原理和實驗數據表明,本文設計的存儲設備可以和AXI片上總線完美結合,擁有很好的傳輸速度和很穩定的系統,無論是設備的硬件設計,還是軟件模塊程序都可以為研究AXI總線、SSD存儲設備或AXI DMA驅動提供一定的參考價值。未來的研究工作將進一步提高設備的性能,并在數據傳輸安全上進一步優化和改進,使其能擁有更高的推廣性和普及性。

[1] 雷雨. 基于PCIE固態硬盤的嵌入式存儲技術[D].成都:中國科學院研究生院(光電技術研究所),2014.

[2] 彭振翼. 固態存儲系統PCIe接口的設計方法與實現[D].武漢:華中科技大學,2013.

[3] Yu Z L,Hua J,Feng L. The Design and Implement of SSD Chip with Multi-Bus and 8 Channels[J]. Applied Mechanics & Materials,2011,58-60:2592-2596.

[4] 鄭文靜,李明強,舒繼武. Flash存儲技術[J]. 計算機研究與發展,2010(4):716-726.

[5] 黃小勇. NAND Flash的存儲管理設計[D].北京:北京郵電大學,2011.

[6] 倪峰. 基于Zynq7000嵌入式平臺的Flash驗證系統設計與實現[D].蘇州:蘇州大學,2014.

[7] 薛慧敏,武傳華,路后兵. MicroBlaze處理器的PetaLinux操作系統移植[J]. 單片機與嵌入式系統應用,2011(4):67-69.

[8] 張迪宇. 基于AHB總線的DMA控制器分析與驗證[D].西安:西安電子科技大學,2015.

[9] 梁科,李國峰,王錦,等.通用多通道高性能DMA控制器設計[J]. 天津大學學報,2008(5):621-626.

[10]張駿,田澤,梅魁志,等. 基于節點預測的直接Cache一致性協議[J].計算機學報,2014(3):700-720.

[11]曹彥榮,張 銳. DMA傳輸與Cache一致性分析[J]. 硅谷,2014(8):39-40.

[12]李超,邱柯妮,張偉功,等. 基于PCIE總線主模式DMA高速數據傳輸系統設計[J]. 電子技術應用,2015(9):142-145.

[13]楊立成,劉丹峰,史繼輝. 基于DMA的大批量數據快速傳輸模塊設計[J]. 電子科技,2012(12):49-51.

[14]孫亮亮,呂虹,劉德方,等. 嵌入式系統中實時時間的獲取[J]. 電子技術,2009(2):63-66.

[15]舒志文. 嵌入式Linux操作系統實時性的研究與實現[D].武漢:華中科技大學,2007.

Design and Implementation of Storage Device Based on NAND Flash

PAN Xu-ming,LIU Song-yan,QI Ke-xin ,WU Shang-ru,CHEN Ting

(School of Electronic Engineering,Heilongjiang University,Harbin Heilongjiang 150080,China)

Flash is the most popular storage medium,which has the advantages of high transmission speed,low power consumption,no noise and so on. However,when it is used for storage device,the performance is often limited by the limitations of on-chip buses. Aiming at the problem of Flash performance restricted by bus,a NAND Flash storage device based on AXI bus is designed. The designed storage device has the functions of multi-channel transmission,pipeline operation,ECC check,RAID5 architecture storage and so on. Design analysis and test results show that the designed storage system has faster transmission speed and is more stable,and the data reliability is enhanced at the same time. This provides a new solution for the research of NAND Flash storage devices.

AXI bus;SSD;DMA;NAND Flash

10. 3969/j.issn. 1003-3114. 2017.22

潘旭明,劉嵩巖,齊可心,等.基于NAND Flash的存儲設備設計與實現[J].無線電通信技術,2017,43(4):91-95.

[PAN Xuming ,LIU Songyan ,QI Kexin,et al. Design and Implementation of Storage Device Based on NAND Flash [J]. Radio Communications Technology,2017,43(4):91-95. ]

2017-03-03

潘旭明(1990—),男,碩士研究生,主要研究方向:嵌入式系統與應用。劉嵩巖(1969—),男,副教授,主要研究方向:嵌入式系統與應用。

TP333.5

A

1003-3114(2017)04-91-5

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 无码一区二区波多野结衣播放搜索 | 免费99精品国产自在现线| 国产69精品久久久久孕妇大杂乱| 亚洲综合日韩精品| 97视频精品全国免费观看| 欧美成人看片一区二区三区| 欧美色图久久| 伊人查蕉在线观看国产精品| 国产97色在线| 婷婷午夜影院| 国产网站一区二区三区| 午夜高清国产拍精品| 国产成人综合亚洲欧美在| 国产成人久久综合一区| 成·人免费午夜无码视频在线观看 | 午夜日b视频| 五月婷婷导航| 99九九成人免费视频精品| 一区二区自拍| 亚洲国产理论片在线播放| 71pao成人国产永久免费视频| 免费A∨中文乱码专区| 91精品国产综合久久香蕉922| 日韩视频免费| 中文字幕永久在线观看| 成人韩免费网站| 亚洲国产av无码综合原创国产| 中文字幕永久在线看| 特级做a爰片毛片免费69| 久久国产乱子伦视频无卡顿| 亚洲综合网在线观看| 欧洲av毛片| 97综合久久| 噜噜噜久久| 91国内外精品自在线播放| 久久精品国产精品一区二区| 国产理论精品| 国产99在线| 欧美亚洲一二三区| 自拍偷拍欧美| 国产午夜福利片在线观看| 欧洲极品无码一区二区三区| 四虎永久在线精品影院| 狠狠做深爱婷婷久久一区| 国产精品爆乳99久久| 91免费观看视频| 久久精品91麻豆| 亚洲欧美精品一中文字幕| 午夜精品福利影院| 亚洲男人的天堂久久香蕉 | 国产制服丝袜91在线| 亚洲一区波多野结衣二区三区| 国产精品无码一区二区桃花视频| 99视频在线免费观看| jizz亚洲高清在线观看| 亚洲狠狠婷婷综合久久久久| 又黄又湿又爽的视频| 午夜无码一区二区三区| 久久久久人妻一区精品色奶水 | 欧美日韩另类国产| 国产美女精品在线| 欧美精品H在线播放| 午夜福利视频一区| 久久人搡人人玩人妻精品一| 久久性视频| 美女视频黄频a免费高清不卡| 性视频一区| 国产一级精品毛片基地| 天天综合网色| 国产精品无码制服丝袜| 熟妇丰满人妻| 久久久国产精品无码专区| 国产成+人+综合+亚洲欧美| 精品久久久久久久久久久| 久久美女精品国产精品亚洲| 国产一级二级三级毛片| 欧美性爱精品一区二区三区| 亚洲欧美日韩另类| 综合人妻久久一区二区精品 | 中文字幕伦视频| 夜夜操天天摸| 国产精品一线天|