www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]用NiosII搭建的固態(tài)盤設(shè)備系統(tǒng)

引 言
   
隨著電子技術(shù)的發(fā)展,人們不斷地追求更好的新型存儲(chǔ)設(shè)備。目前海量存儲(chǔ)領(lǐng)域中的主流產(chǎn)品非硬盤莫屬,而固態(tài)盤則被認(rèn)為是一種最有可能取代硬盤的全新解決方案。與硬盤相比,其主要的優(yōu)勢在于能夠達(dá)到更高速度、更小體積、更低功耗、更小噪聲、更高可靠性,同時(shí)與硬盤一樣使用方便。
    廣義上講,固態(tài)盤設(shè)備包括所有使用半導(dǎo)體芯片作為存儲(chǔ)介質(zhì)的存儲(chǔ)設(shè)備,例如使用動(dòng)態(tài)RAM存儲(chǔ)數(shù)據(jù)的某些特定設(shè)備,或是CF/SD/MMC卡等同樣使用閃存存儲(chǔ)數(shù)據(jù)但使用了其他接口的存儲(chǔ)設(shè)備;但狹義上講,固態(tài)盤僅指使用NAND型閃存存儲(chǔ)數(shù)據(jù),使用ATA/SATA/SCSI等接口,在行為上與硬盤完全一致的存儲(chǔ)器。在下文中,固態(tài)盤一詞僅指狹義上的固態(tài)盤。本文介紹的是一種使用ATA接口的固態(tài)盤的實(shí)現(xiàn)方法。


1 系統(tǒng)設(shè)計(jì)
   
系統(tǒng)對外的主要功能是通過ATA接口完成數(shù)據(jù)的讀/寫,與NAND型閃存芯片間的數(shù)據(jù)交換是通過緩存來完成的,對閃存芯片的讀/寫操作由系統(tǒng)內(nèi)部完成。
    ATA協(xié)議中含有專門針對閃存而設(shè)計(jì)的CFA指令部分,包含了閃存擦寫等指令內(nèi)容,CF(Compact Flash)卡即使用了該命令集;而普通硬盤使用的ATA接口一般不使用該命令集,操作中只涉及數(shù)據(jù)的讀/寫操作和一些輔助特性的設(shè)置。因此在固態(tài)盤設(shè)計(jì)中不能利用CFA指令將ATA接口直接轉(zhuǎn)接至閃存接口,必須在系統(tǒng)內(nèi)部自動(dòng)處理與閃存相關(guān)的操作,即通過系統(tǒng)的內(nèi)部處理向上隱藏這一操作細(xì)節(jié)。
    可以在系統(tǒng)中通過數(shù)據(jù)緩存來把ATA端操作和閃存端操作分離開來,這樣就可以方便地解決傳輸協(xié)議的轉(zhuǎn)換和管理問題?;谶@種設(shè)計(jì)思路,綜合考慮閃存的管理、與ATA協(xié)議的銜接等問題,可以將實(shí)現(xiàn)系統(tǒng)時(shí)的主要問題歸結(jié)為如下兩個(gè)方面:
    ①數(shù)據(jù)緩存管理,主要面對與主機(jī)端數(shù)據(jù)交換如何發(fā)生的問題,包括緩存數(shù)據(jù)的建立、查詢、維護(hù)、失效、銷毀等問題。
    ②數(shù)據(jù)存儲(chǔ)管理,主要面對數(shù)據(jù)在閃存中的物理存儲(chǔ)問題,包括均衡磨損、壞塊映射等問題。
    由此得到的系統(tǒng)邏輯結(jié)構(gòu)框圖如圖1所示。

    在具體的實(shí)現(xiàn)中,系統(tǒng)使用獨(dú)立的硬件接口完成ATA接口控制和NAND型閃存控制;使用大容量SDRAM芯片作為數(shù)據(jù)緩存,由Nios處理器負(fù)責(zé)調(diào)度數(shù)據(jù)流;使用Avalon總線連接所有模塊,提供快速響應(yīng)的控制連接和高帶寬的數(shù)據(jù)連接。
    在Nios上運(yùn)行的軟件負(fù)責(zé)所有組件的控制。由于需要確保響應(yīng)時(shí)間,軟件中不使用包括實(shí)時(shí)操作系統(tǒng)在內(nèi)的任何嵌入式操作系統(tǒng),所有軟件直接貼近硬件事件設(shè)計(jì),重要事件采用中斷響應(yīng),普通事件采用輪詢響應(yīng)。


2 系統(tǒng)硬件設(shè)計(jì)
   
系統(tǒng)采用SOPC的設(shè)計(jì)方式,使得硬件系統(tǒng)獲得相當(dāng)高的靈活度;而將所有控制邏輯集成在一個(gè)FPGA內(nèi)部的設(shè)計(jì)方法,在增強(qiáng)了系統(tǒng)可靠性的同時(shí),也降低了對外部板級電路的設(shè)計(jì)要求。系統(tǒng)除FPGA芯片以外,還使用了數(shù)據(jù)存儲(chǔ)用NAND型閃存芯片、緩存用SDRAM、ATA接口連線以及Nios程序的代碼存儲(chǔ)/運(yùn)行的相關(guān)芯片。
2.1 NiOS系統(tǒng)簡介
   
一個(gè)基于Nios的SOPC系統(tǒng)主要包括Nios處理器、Avalon總線結(jié)構(gòu)和其他通過總線互連的組件模塊。
    Nios處理器主要分為兩代,即Nios處理器和NiosII處理器。現(xiàn)在廣泛使用的是NiosII處理器,下文均是針對NiosII處理器。最新的Avalon總線標(biāo)準(zhǔn)是一套擁有Ava-lon-MM和Avalon-ST兩套分支標(biāo)準(zhǔn)的SOPC總線規(guī)范。下文中Avalon總線一詞泛指這兩套規(guī)范。在Altera提出的SOPC設(shè)計(jì)概念當(dāng)中,兩者將分別用于不同的數(shù)據(jù)應(yīng)用,因此兩者的基本結(jié)構(gòu)差異很大:Avalon-MM接口是一套互聯(lián)式總線接口,主要用于多節(jié)點(diǎn)的互聯(lián);而Aval-on-ST接口是一種單向點(diǎn)對點(diǎn)的接口,主要用于單向高速數(shù)據(jù)流的傳輸。在SOPC設(shè)計(jì)中,可以針對不同需求將二者結(jié)合起來使用,以提高設(shè)計(jì)的工作性能。由于Aval-on-ST接口是最近剛剛提出的,目前廣泛使用的是Aval-on-MM接口,在一般設(shè)計(jì)中,完全能夠提供足夠的傳輸帶寬。
2.2 硬件平臺結(jié)構(gòu)
   
硬件系統(tǒng)即FPGA內(nèi)部基于NiosII處理器的SOPC系統(tǒng),包括ATA控制器、NAND型閃存控制器、DMA控制器、2個(gè)SDRAM控制器、CFI接口閃存控制器以及其他輔助組件等,其結(jié)構(gòu)框圖如圖2所示。

    在該結(jié)構(gòu)中,使用一塊SDRAM作為Nios II處理器的程序運(yùn)行空間,使用一塊CFI接口的閃存作為Nios II處理器的軟件代碼的存儲(chǔ)空間,其他I/O和其他組件包括了定時(shí)器、調(diào)試端口以及用于顯示系統(tǒng)狀態(tài)的PIO端口等。總線DMA控制器用于完成NAND型閃存與緩存空間之間的數(shù)據(jù)交換。ATA控制器則負(fù)責(zé)ATA接口的實(shí)現(xiàn),并根據(jù)配置參數(shù)利用自帶的DMA控制器直接完成與緩存之間的數(shù)據(jù)交換。Nios II處理器通過控制總線DMA控制器和ATA控制器來管理整個(gè)系統(tǒng)的數(shù)據(jù)流,實(shí)現(xiàn)靈活的管理策略。
    所用的這些控制器中,除了NAND型閃存控制器和ATA控制器需要自定義開發(fā)外,都可以使用標(biāo)準(zhǔn)的IP模塊。NAND型閃存控制器和ATA控制器在自定義開發(fā)完成后也被集成到開發(fā)系統(tǒng)之中,可以方便地調(diào)用。
    ATA控制器負(fù)責(zé)ATA接口的實(shí)現(xiàn)。它是系統(tǒng)中最復(fù)雜的組件,所有與主機(jī)間的交互均通過ATA接口完成。為了滿足各種需求,ATA控制器除了實(shí)現(xiàn)基本的ATA傳輸協(xié)議之外,開發(fā)中還增加了如下功能:
    ①自帶DMA控制器。ATA控制器中自帶一個(gè)DMA控制器,只需給定源地址或目的地址,ATA控制器自帶的DMA控制器就可以自動(dòng)完成與緩存之間的數(shù)據(jù)交換。
    ②帶有中斷信號源。ATA控制器帶有一個(gè)中斷源,當(dāng)接收到主機(jī)端讀/寫傳輸請求時(shí),即可發(fā)起一個(gè)中斷提示處理器優(yōu)先處理該事件。
    ③采用與系統(tǒng)異步的時(shí)鐘。為了達(dá)到最優(yōu)性能,ATA控制器可以使用與系統(tǒng)異步的時(shí)鐘信號,而使用異步時(shí)鐘橋與系統(tǒng)總線連接。例如在該系統(tǒng)實(shí)現(xiàn)中,主系統(tǒng)運(yùn)行在65 MHz,而ATA控制器運(yùn)行在100 MHz。
    NAND型閃存控制器則做成通用的接口控制器,提供基本的NAND型閃存讀/寫/擦除等操作即可。


3 系統(tǒng)軟件設(shè)計(jì)
   
基于NiosⅡ的SOPC平臺搭建完成之后,需要在Nios Ⅱ上設(shè)計(jì)適當(dāng)?shù)能浖哉{(diào)度整個(gè)系統(tǒng),實(shí)現(xiàn)數(shù)據(jù)的緩存策略和存儲(chǔ)策略。在軟件設(shè)計(jì)中,采用了一種流程控制與策略控制弱耦合的結(jié)構(gòu),使得緩存策略和存儲(chǔ)策略可以獨(dú)立開發(fā)。
3.1 系統(tǒng)流程
   
考慮到所有事務(wù)中最頻繁和最重要的事務(wù)都是與ATA控制器相關(guān)的,因此在系統(tǒng)算法中做如下設(shè)計(jì):在ATA控制器和Nios Ⅱ之間連接中斷信號,使用中斷服務(wù)來處理相關(guān)事務(wù),而其他事務(wù)則采用軟件輪詢的方式處理。一個(gè)典型的處理流程如圖3所示。

    圖3并非完整的軟件流程(未涉及調(diào)試、錯(cuò)誤處理以及其他輔助流程),僅僅標(biāo)示出了系統(tǒng)最為重要的幾個(gè)處理環(huán)節(jié):緩存檢查與維護(hù)、ATA讀/寫請求的處理。從該系統(tǒng)流程設(shè)計(jì)中可以看到,系統(tǒng)在運(yùn)行過程中將在一個(gè)軟件主循環(huán)中不斷進(jìn)行數(shù)據(jù)檢查與維護(hù),而當(dāng)ATA中斷來到時(shí)則轉(zhuǎn)入ATA中斷處理。數(shù)據(jù)維護(hù)模塊和ATA處理模塊是系統(tǒng)流程控制的主要部分。
    數(shù)據(jù)維護(hù)模塊主要負(fù)責(zé)檢查緩存塊是否老化/失效,緩存空間的碎片狀態(tài),并根據(jù)實(shí)際情況對緩存數(shù)據(jù)進(jìn)行清理。而其中緩存片和緩存段所有的檢查、判斷、處理操作,都是直接調(diào)用緩存管理模塊的相關(guān)函數(shù),即直接依賴于緩存策略。該模塊流程如圖4所示。

    ATA中斷處理模塊是在ATA控制器發(fā)起中斷時(shí)進(jìn)入處理模塊的。ATA中斷模塊的主要任務(wù)包括查詢ATA控制器的事務(wù)狀態(tài)及參數(shù),獲取所需數(shù)據(jù)區(qū)域在NAND型閃存中的信息,申請緩存片,完成數(shù)據(jù)交換并清ATA中斷。其中數(shù)據(jù)區(qū)信息由存儲(chǔ)管理模塊提供,而緩存的申請則是調(diào)用緩存管理模塊的接口函數(shù)完成。該模塊流程如圖5所示。

    軟件控制流程中還包含一些輔助性的模塊,以保證系統(tǒng)的魯棒性。這些輔助性的模塊包括獨(dú)立的系統(tǒng)初始化模塊、系統(tǒng)軟復(fù)位模塊和調(diào)試模式模塊等,以便在系統(tǒng)出現(xiàn)錯(cuò)誤時(shí)及時(shí)復(fù)位整套系統(tǒng),維持系統(tǒng)正常的工作,或者供開發(fā)人員了解系統(tǒng)的錯(cuò)誤所在。
3.2 存儲(chǔ)管理模塊
   
存儲(chǔ)管理模塊主要實(shí)現(xiàn)了數(shù)據(jù)在NAND型閃存中的存儲(chǔ)策略。存儲(chǔ)管理模塊主要管理的信息包括:邏輯地址到物理塊地址的映射信息、物理塊磨損程度信息以及壞塊映射信息。其主要作用是確保系統(tǒng)工作的魯棒性以及盡量平均閃存塊的磨損程度。
    當(dāng)系統(tǒng)接收到主機(jī)的數(shù)據(jù)讀/寫請求時(shí),首先須通過存儲(chǔ)管理模塊定位其物理位置信息,然后才能根據(jù)該信息創(chuàng)建緩存片,完成數(shù)據(jù)交換。當(dāng)系統(tǒng)需要將某格緩存片排空刪除時(shí),對數(shù)據(jù)的回寫是需要根據(jù)緩存片內(nèi)保留的相關(guān)信息來完成具體操作的。
    存儲(chǔ)管理模塊的對外接口設(shè)計(jì)只有一個(gè)函數(shù),即地址轉(zhuǎn)換,輸入操作的各種參數(shù),返回一個(gè)確定的物理塊描述結(jié)構(gòu),如表1所列。

    在該函數(shù)內(nèi),將進(jìn)行邏輯地址到物理地址的轉(zhuǎn)換以及壞塊再映射等操作,確保最終給出的數(shù)據(jù)信息是真正正確的物理信息。在返回提供的數(shù)據(jù)信息中,包括了應(yīng)讀取區(qū)域和應(yīng)寫入?yún)^(qū)域兩個(gè)部分,這兩個(gè)部分可以不相同,這樣可以方便均衡磨損算法的設(shè)計(jì)。例如,如果一個(gè)塊的寫入次數(shù)已經(jīng)達(dá)到一定程度,那么當(dāng)出現(xiàn)對該塊的寫請求時(shí),可以將應(yīng)讀取區(qū)域指定為該區(qū)域,而應(yīng)寫入?yún)^(qū)域指向另一個(gè)物理塊,同時(shí)修改邏輯地址到物理地址的映射信息,那么當(dāng)相應(yīng)緩存片被銷毀時(shí),數(shù)據(jù)被寫入新塊,即在保證映射關(guān)系的同時(shí)避免了對該塊的過度擦寫。
3.3 緩存管理模塊
   
緩存管理模塊主要負(fù)責(zé)緩存的管理,所有與緩存相關(guān)的操作均須通過緩存管理模塊提供的接口函數(shù)來完成。緩存管理模塊管理的基本單元是緩存片(buffer clip),對每次傳輸請求,緩存管理將根據(jù)給定信息在緩存空間中開辟一個(gè)緩存片,用于該傳輸?shù)?strong>數(shù)據(jù)交換。根據(jù)緩存片可能的繁忙程度,可以給予其不同的駐留時(shí)間,一種可行的方法是將物理緩存空間分成若干段,每段對應(yīng)不同的駐留時(shí)間,開辟緩存片之前可以首先定位到某個(gè)段再進(jìn)行操作。這樣可以有效地提高緩存片碎片整理和維護(hù)的工作效率。
    緩存管理模塊對外接口非常簡單,這樣可以有效地隱藏緩存策略,使用段/片兩級管理策略的緩存管理模塊對外接口如表2所列。

    其中申請緩存片的操作是唯一一個(gè)必須對外開放的接口,其他3個(gè)對緩存段的操作接口屬于可選式開放,即如果外部不需要的話,可以由緩存管理模塊自行進(jìn)行緩存段的整理工作。
    申請緩存片是緩存操作中最常用的操作。在具體過程中,需要判斷數(shù)據(jù)段是否已經(jīng)被緩存,以及當(dāng)前緩存空間是否有足夠的空間開辟新的緩存片,并在必要時(shí)對緩存空間進(jìn)行一些整理以獲取相關(guān)資源等。一種可行的操作流程如圖6所示。

    在上述操作中,需要用到很多與緩存相關(guān)的操作,例如,查詢狀態(tài)、創(chuàng)建片、調(diào)整片、刪除片等。這些操作都封裝成通用的處理函數(shù)集成在緩存管理模塊內(nèi)部,供上層策略調(diào)用,但對外并不開放。


結(jié) 語
   
基于Nios Ⅱ搭建的固態(tài)盤設(shè)備系統(tǒng)完整地實(shí)現(xiàn)了固態(tài)盤應(yīng)有的功能。通過使用靈活的SOPC系統(tǒng),配合弱耦合的軟件結(jié)構(gòu),使得核心算法的開發(fā)與系統(tǒng)的相關(guān)程度降到了最低,極大地方便了核心算法的獨(dú)立開發(fā)。這就使系統(tǒng)能夠在保證基本功能的同時(shí),擁有了足夠的靈活性來面對各種可能的需求。
    固態(tài)盤是近幾年最有希望替代硬盤成為主流存儲(chǔ)設(shè)備的新型存儲(chǔ)設(shè)備,各種系統(tǒng)結(jié)構(gòu)設(shè)計(jì)和相關(guān)算法等技術(shù)都在不斷的更新。面對各種實(shí)際問題,研究固態(tài)盤的系統(tǒng)結(jié)構(gòu)和各種關(guān)鍵算法不僅具有重要的學(xué)術(shù)意義,同時(shí)還有廣闊的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉