[發明專利]存儲控制器DMA設計方法有效
| 申請號: | 202110762205.3 | 申請日: | 2021-07-06 |
| 公開(公告)號: | CN113342721B | 公開(公告)日: | 2022-09-23 |
| 發明(設計)人: | 宮曉淵;刁永翔;徐娟 | 申請(專利權)人: | 無錫眾星微系統技術有限公司 |
| 主分類號: | G06F13/28 | 分類號: | G06F13/28 |
| 代理公司: | 北京動力號知識產權代理有限公司 11775 | 代理人: | 董鋼;梁凡麗 |
| 地址: | 214000 江蘇省無錫市新吳區*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 存儲 控制器 dma 設計 方法 | ||
本發明提供了一種存儲控制器DMA設計方法,在內存中構建DMA控制塊,用于描述所述存儲控制器DMA的當前I/O數據傳輸信息;在內存中構建DMA操作描述符鏈表,用于描述等待DMA傳輸的數據塊信息,將一個或多個表項與所述DMA控制塊相關聯;將所述DMA控制塊的物理基地址通知給DMA硬件邏輯,以使所述DMA硬件邏輯根據所述DMA控制塊和所述DMA操作描述符鏈表的描述信息來啟動存儲控制器DMA的數據傳輸任務。本發明的技術方案兼容傳統DMA的鏈表控制模式,支持存儲控制領域中I/O傳輸的斷點續傳,滿足存儲應用中的數據傳輸完整性、可靠性和穩定性需求,避免軟件缺陷引發的數據搬移錯誤和系統異常。
技術領域
本發明屬于存儲控制領域,特別涉及一種存儲控制器DMA設計方法。
背景技術
在SOC設計開發的過程中,對于數據流的高效處理是一個至關重要的問題。為了提升整個系統的性能,避免CPU在數據流的調度和搬移上占用過多時間,DMA被設計出來用于幫助CPU進行數據流的調度和搬移。在既定配置模式下,DMA可以獨立高效完成系統存儲和存儲之間、系統存儲和外設單元之間的數據搬移。DMA的出現和引入有效的降低了整個系統CPU的負載,提高數據搬移的效率。存儲控制器對于數據的完整性、可靠性,以及系統的穩定性都有較高的要求。為了提高系統的性能和吞吐率,存儲控制器在運行時刻并發控制多個目標設備,每個目標設備同時存在多I/O并發傳輸。不同目標設備的多個I/O交織進行,并分時復用存儲控制器的物理鏈路。此外,單個I/O的數據通常需要分為多個階段傳輸,因此需要DMA支持傳輸中斷時刻的上下文保存和多次續傳的功能。
典型DMA的控制方式采用鏈表結構(通常稱為Scatter-Gather或者Linked ListDMA)。系統軟件在內存中按照預定義的格式構造操作描述符鏈表,并將鏈表首地址賦予DMA硬件邏輯。DMA硬件邏輯獲得描述符鏈表的首地址,依次解析鏈表中的操作描述符,并按照描述符信息將源地址內存區域或者外設單元的數據搬移至目標地址內存區域或者外設單元,直至整個鏈表所有描述符被解析和執行完畢。
如圖1所示,典型DMA的控制鏈表的操作描述符通常包含數據的源物理地址(Source Physical Address)、目標物理地址(Destination Physical Address)、傳輸長度(Transfer Size)、擴展標志位(E)、結束標志位(L)、中斷標志位(I)等信息。其中,源物理地址段指示DMA搬移數據在物理內存中的源地址或者后續描述符鏈表的首地址;目標物理地址段指示數據搬移至物理內存中的目的地址;傳輸長度定義該項描述符搬移的數據塊長度;中斷標志位指示DMA控制器在完成該描述符定義的數據搬移后是否上報中斷至CPU;結束標志位指示當前描述符為鏈表中的最后一個描述符項,該描述符執行完畢后,結束整個DMA的搬移任務;擴展標志位指示當前描述符項為指針描述符,DW0的源物理地址段指示后續描述符鏈表在物理內存中的位置,該描述符項不執行實質的數據搬移任務。
DMA硬件邏輯按照軟件配置的描述符鏈表首地址,在系統內存中按照順序讀取操作描述符,根據預定義格式解析描述符,并執行數據搬移任務,直至整個鏈表最后一個描述符執行完畢。然而在通常情況下,DMA硬件邏輯每讀取一項描述符進行解析和執行時,每個描述符表項就需要DMA硬件觸發單次總線讀取操作。而且DMA在執行數據搬移的過程中并未檢查描述符項的完整性和有效性。隨著SOC系統軟件的復雜性不斷增大,軟件缺陷發生的概率隨之增大。在極端場景下,軟件缺陷可能導致系統內存中的DMA描述符鏈表構造失敗或者損壞,會引發鏈表中描述符的地址字段、數據傳輸大小字段或者標志位被篡改,進而導致數據搬移地址或內容錯誤,使數據存儲業務出現異常甚至整個系統的崩潰。
發明內容
本發明的目的在于提供一種存儲控制器DMA設計方法,以克服存儲控制器的數據搬移可能引發的上述問題。所述存儲控制器DMA設計方法包括:
在內存中構建DMA控制塊,所述DMA控制塊用于描述所述存儲控制器DMA的當前I/O數據傳輸信息;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于無錫眾星微系統技術有限公司,未經無錫眾星微系統技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110762205.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種基于標簽約束的多模態主題挖掘方法
- 下一篇:一種可折疊式的混合現實眼鏡





