<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 網(wǎng)絡(luò)與存儲 > 設(shè)計應(yīng)用 > 用NiosII搭建的固態(tài)盤設(shè)備系統(tǒng)

          用NiosII搭建的固態(tài)盤設(shè)備系統(tǒng)

          作者:北京航空航天大學(xué) 楊鑫 刑小地 徐偉俊 夏宇聞 時間:2008-07-10 來源:單片機與嵌入式系統(tǒng)應(yīng)用 收藏

            引言

          本文引用地址:http://www.ex-cimer.com/article/85542.htm

            隨著電子技術(shù)的發(fā)展,人們不斷地追求更好的新型存儲設(shè)備。目前海量存儲領(lǐng)域中的主流產(chǎn)品非莫屬,而則被認(rèn)為是一種最有可能取代的全新解決方案。與相比,其主要的優(yōu)勢在于能夠達到更高速度、更小體積、更低功耗、更小噪聲、更高可靠性,同時與硬盤一樣使用方便。

            廣義上講,設(shè)備包括所有使用半導(dǎo)體芯片作為存儲介質(zhì)的存儲設(shè)備,例如使用動態(tài)RAM存儲數(shù)據(jù)的某些特定設(shè)備,或是CF/SD/MMC卡等同樣使用存儲數(shù)據(jù)但使用了其他接口的存儲設(shè)備;但狹義上講,僅指使用NAND型存儲數(shù)據(jù),使用/S/SCSI等接口,在行為上與硬盤完全一致的存儲器。在下文中,固態(tài)盤一詞僅指狹義上的固態(tài)盤。本文介紹的是一種使用接口的固態(tài)盤的實現(xiàn)方法。

            1 系統(tǒng)設(shè)計

            系統(tǒng)對外的主要功能是通過ATA接口完成數(shù)據(jù)的讀/寫,與NAND型芯片間的數(shù)據(jù)交換是通過緩存來完成的,對閃存芯片的讀/寫操作由系統(tǒng)內(nèi)部完成。

            ATA協(xié)議中含有專門針對閃存而設(shè)計的CFA指令部分,包含了閃存擦寫等指令內(nèi)容,CF(Compact Flash)卡即使用了該命令集;而普通硬盤使用的ATA接口一般不使用該命令集,操作中只涉及數(shù)據(jù)的讀/寫操作和一些輔助特性的設(shè)置。因此在固態(tài)盤設(shè)計中不能利用CFA指令將ATA接口直接轉(zhuǎn)接至閃存接口,必須在系統(tǒng)內(nèi)部自動處理與閃存相關(guān)的操作,即通過系統(tǒng)的內(nèi)部處理向上隱藏這一操作細節(jié)。

            可以在系統(tǒng)中通過數(shù)據(jù)緩存來把ATA端操作和閃存端操作分離開來,這樣就可以方便地解決傳輸協(xié)議的轉(zhuǎn)換和管理問題。基于這種設(shè)計思路,綜合考慮閃存的管理、與ATA協(xié)議的銜接等問題,可以將實現(xiàn)系統(tǒng)時的主要問題歸結(jié)為如下兩個方面:

            ① 數(shù)據(jù)緩存管理,主要面對與主機端數(shù)據(jù)交換如何發(fā)生的問題,包括緩存數(shù)據(jù)的建立、查詢、維護、失效、銷毀等問題。

           ?、?數(shù)據(jù)存儲管理,主要面對數(shù)據(jù)在閃存中的物理存儲問題,包括均衡磨損、壞塊映射等問題。

            由此得到的系統(tǒng)邏輯結(jié)構(gòu)框圖如圖1所示。

          圖1 固態(tài)盤設(shè)備系統(tǒng)邏輯結(jié)構(gòu)框圖

            在具體的實現(xiàn)中,系統(tǒng)使用獨立的硬件接口完成ATA接口控制和NAND型閃存控制;使用大容量SDRAM芯片作為數(shù)據(jù)緩存,由Nios處理器負責(zé)調(diào)度數(shù)據(jù)流;使用Avalon總線連接所有模塊,提供快速響應(yīng)的控制連接和高帶寬的數(shù)據(jù)連接。

            在Nios上運行的軟件負責(zé)所有組件的控制。由于需要確保響應(yīng)時間,軟件中不使用包括實時操作系統(tǒng)在內(nèi)的任何嵌入式操作系統(tǒng),所有軟件直接貼近硬件事件設(shè)計,重要事件采用中斷響應(yīng),普通事件采用輪詢響應(yīng)。

            2 系統(tǒng)硬件設(shè)計

            系統(tǒng)采用SOPC的設(shè)計方式,使得硬件系統(tǒng)獲得相當(dāng)高的靈活度;而將所有控制邏輯集成在一個FPGA內(nèi)部的設(shè)計方法,在增強了系統(tǒng)可靠性的同時,也降低了對外部板級電路的設(shè)計要求。系統(tǒng)除FPGA芯片以外,還使用了數(shù)據(jù)存儲用NAND型閃存芯片、緩存用SDRAM、ATA接口連線以及Nios程序的代碼存儲/運行的相關(guān)芯片。

            2.1 Nios系統(tǒng)簡介

            一個基于Nios的SOPC系統(tǒng)主要包括Nios處理器、Avalon總線結(jié)構(gòu)和其他通過總線互連的組件模塊。

            Nios處理器主要分為兩代,即Nios處理器和處理器。現(xiàn)在廣泛使用的是處理器,下文均是針對處理器。最新的Avalon總線標(biāo)準(zhǔn)是一套擁有AvalonMM和AvalonST兩套分支標(biāo)準(zhǔn)的SOPC總線規(guī)范。下文中Avalon總線一詞泛指這兩套規(guī)范。在Altera提出的SOPC設(shè)計概念當(dāng)中,兩者將分別用于不同的數(shù)據(jù)應(yīng)用,因此兩者的基本結(jié)構(gòu)差異很大:AvalonMM接口是一套互聯(lián)式總線接口,主要用于多節(jié)點的互聯(lián);而AvalonST接口是一種單向點對點的接口,主要用于單向高速數(shù)據(jù)流的傳輸。在SOPC設(shè)計中,可以針對不同需求將二者結(jié)合起來使用,以提高設(shè)計的工作性能。由于AvalonST接口是最近剛剛提出的,目前廣泛使用的是AvalonMM接口,在一般設(shè)計中,完全能夠提供足夠的傳輸帶寬。

            2.2 硬件平臺結(jié)構(gòu)

            硬件系統(tǒng)即FPGA內(nèi)部基于NiosII處理器的SOPC系統(tǒng),包括ATA控制器、NAND型閃存控制器、DMA控制器、2個SDRAM控制器、CFI接口閃存控制器以及其他輔助組件等,其結(jié)構(gòu)框圖如圖2所示。

          圖2 固態(tài)盤設(shè)備硬件系統(tǒng)結(jié)構(gòu)

            在該結(jié)構(gòu)中,使用一塊SDRAM作為NiosII處理器的程序運行空間,使用一塊CFI接口的閃存作為NiosII處理器的軟件代碼的存儲空間,其他I/O和其他組件包括了定時器、調(diào)試端口以及用于顯示系統(tǒng)狀態(tài)的PIO端口等。總線DMA控制器用于完成NAND型閃存與緩存空間之間的數(shù)據(jù)交換。ATA控制器則負責(zé)ATA接口的實現(xiàn),并根據(jù)配置參數(shù)利用自帶的DMA控制器直接完成與緩存之間的數(shù)據(jù)交換。NiosII處理器通過控制總線DMA控制器和ATA控制器來管理整個系統(tǒng)的數(shù)據(jù)流,實現(xiàn)靈活的管理策略。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: NiosII 固態(tài)盤 硬盤 閃存 ATA

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();