a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 網絡與存儲 > 設計應用 > 用NiosII搭建的固態盤設備系統

用NiosII搭建的固態盤設備系統

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

  所用的這些控制器中,除了NAND型控制器和控制器需要自定義開發外,都可以使用標準的IP模塊。NAND型控制器和控制器在自定義開發完成后也被集成到開發系統之中,可以方便地調用。

本文引用地址:http://www.j9360.com/article/85542.htm

  控制器負責ATA接口的實現。它是系統中最復雜的組件,所有與主機間的交互均通過ATA接口完成。為了滿足各種需求,ATA控制器除了實現基本的ATA傳輸協議之外,開發中還增加了如下功能:

  ① 自帶DMA控制器。ATA控制器中自帶一個DMA控制器,只需給定源地址或目的地址,ATA控制器自帶的DMA控制器就可以自動完成與緩存之間的數據交換。

  ② 帶有中斷信號源。ATA控制器帶有一個中斷源,當接收到主機端讀/寫傳輸請求時,即可發起一個中斷提示處理器優先處理該事件。

  ③ 采用與系統異步的時鐘。為了達到最優性能,ATA控制器可以使用與系統異步的時鐘信號,而使用異步時鐘橋與系統總線連接。例如在該系統實現中,主系統運行在65MHz,而ATA控制器運行在100 MHz。

  NAND型控制器則做成通用的接口控制器,提供基本的NAND型閃存讀/寫/擦除等操作即可。

  3 系統軟件設計

  基于的SOPC平臺搭建完成之后,需要在上設計適當的軟件以調度整個系統,實現數據的緩存策略和存儲策略。在軟件設計中,采用了一種流程控制與策略控制弱耦合的結構,使得緩存策略和存儲策略可以獨立開發。

  3.1 系統流程

  考慮到所有事務中最頻繁和最重要的事務都是與ATA控制器相關的,因此在系統算法中做如下設計:在ATA控制器和之間連接中斷信號,使用中斷服務來處理相關事務,而其他事務則采用軟件輪詢的方式處理。一個典型的處理流程如圖3所示。

圖3 軟件基本流程設計

  圖3并非完整的軟件流程(未涉及調試、錯誤處理以及其他輔助流程),僅僅標示出了系統最為重要的幾個處理環節:緩存檢查與維護、ATA讀/寫請求的處理。從該系統流程設計中可以看到,系統在運行過程中將在一個軟件主循環中不斷進行數據檢查與維護,而當ATA中斷來到時則轉入ATA中斷處理。數據維護模塊和ATA處理模塊是系統流程控制的主要部分。

  數據維護模塊主要負責檢查緩存塊是否老化/失效,緩存空間的碎片狀態,并根據實際情況對緩存數據進行清理。而其中緩存片和緩存段所有的檢查、判斷、處理操作,都是直接調用緩存管理模塊的相關函數,即直接依賴于緩存策略。該模塊流程如圖4所示。

圖4 數據維護模塊流程

  ATA中斷處理模塊是在ATA控制器發起中斷時進入處理模塊的。ATA中斷模塊的主要任務包括查詢ATA控制器的事務狀態及參數,獲取所需數據區域在NAND型閃存中的信息,申請緩存片,完成數據交換并清ATA中斷。其中數據區信息由存儲管理模塊提供,而緩存的申請則是調用緩存管理模塊的接口函數完成。該模塊流程如圖5所示。

圖5 數據維護模塊流程

  軟件控制流程中還包含一些輔助性的模塊,以保證系統的魯棒性。這些輔助性的模塊包括獨立的系統初始化模塊、系統軟復位模塊和調試模式模塊等,以便在系統出現錯誤時及時復位整套系統,維持系統正常的工作,或者供開發人員了解系統的錯誤所在。

  3.2 存儲管理模塊

  存儲管理模塊主要實現了數據在NAND型閃存中的存儲策略。存儲管理模塊主要管理的信息包括:邏輯地址到物理塊地址的映射信息、物理塊磨損程度信息以及壞塊映射信息。其主要作用是確保系統工作的魯棒性以及盡量平均閃存塊的磨損程度。當系統接收到主機的數據讀/寫請求時,首先須通過存儲管理模塊定位其物理位置信息,然后才能根據該信息創建緩存片,完成數據交換。

  當系統需要將某格緩存片排空刪除時,對數據的回寫是需要根據緩存片內保留的相關信息來完成具體操作的。

  存儲管理模塊的對外接口設計只有一個函數,即地址轉換,輸入操作的各種參數,返回一個確定的物理塊描述結構,如表1所列。

  表1 存儲管理模塊對外接口函數

  在該函數內,將進行邏輯地址到物理地址的轉換以及壞塊再映射等操作,確保最終給出的數據信息是真正正確的物理信息。在返回提供的數據信息中,包括了應讀取區域和應寫入區域兩個部分,這兩個部分可以不相同,這樣可以方便均衡磨損算法的設計。例如,如果一個塊的寫入次數已經達到一定程度,那么當出現對該塊的寫請求時,可以將應讀取區域指定為該區域,而應寫入區域指向另一個物理塊,同時修改邏輯地址到物理地址的映射信息,那么當相應緩存片被銷毀時,數據被寫入新塊,即在保證映射關系的同時避免了對該塊的過度擦寫。



評論


相關推薦

技術專區

關閉