国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種提高多數(shù)據(jù)緩沖區(qū)dma效率的系統(tǒng)和方法

      文檔序號:6439338閱讀:286來源:國知局
      專利名稱:一種提高多數(shù)據(jù)緩沖區(qū)dma效率的系統(tǒng)和方法
      技術領域
      本發(fā)明屬于數(shù)字信息傳輸領域,具體講涉及一種提高多數(shù)據(jù)緩沖區(qū)DMA效率的系統(tǒng)和方法。
      背景技術
      在現(xiàn)有技術中,從網(wǎng)卡請求數(shù)據(jù)到數(shù)據(jù)從主機內(nèi)存中返回需要較長時間。在單隊列的DMA系統(tǒng)中,從請求發(fā)送到數(shù)據(jù)返回的這段時間內(nèi),主機IO總線一直處于空閑狀態(tài),浪費了大量總線帶寬,這種現(xiàn)象在使用中斷的描述符機制系統(tǒng)中更為嚴重。同時,現(xiàn)有的網(wǎng)卡并未考慮對多個應用的數(shù)據(jù)緩沖區(qū)進行支持,對于運行在高速網(wǎng)絡上的服務器,由操作系統(tǒng)對多個數(shù)據(jù)緩沖區(qū)進行管理會占用相當多的CPU資源,進而影響對主機IO總線的使用效率。專利號為ZL200680011384. 0、名稱為“完成事件中包括描述符隊列空事件”的 PCT披露了一種基于事件通知的主機子系統(tǒng)和網(wǎng)絡接口設備間的管理數(shù)據(jù)傳輸?shù)姆椒?。該方法主機將數(shù)據(jù)緩沖區(qū)描述符寫入到一 DMA描述符隊列中,并且當數(shù)據(jù)緩沖區(qū)的處理已經(jīng)完成時,網(wǎng)絡接口設備寫入完成事件來通知主機。每個完成事件描述符通知主機在NIC和一個或更多個數(shù)據(jù)緩沖區(qū)之間的數(shù)據(jù)傳輸?shù)耐瓿?,并且也可以將一隊列空通知嵌入在完成事件里。專利號為ZL02U8709. 0的、名稱為“多通道數(shù)據(jù)直接內(nèi)存訪問系統(tǒng)和方法”的發(fā)明披露了一種涉及數(shù)字信息傳輸?shù)亩嗤ǖ罃?shù)據(jù)直接內(nèi)存訪問系統(tǒng)和方法。該方法利用空閑隊列描述子、完成隊列描述子等數(shù)據(jù)結構信息,用一個接收DMA模塊不連續(xù)地接收各通道的數(shù)據(jù),在FREE_FIF0存儲器中的空閑隊列描述子數(shù)目少于某個設定的門限時,根據(jù)其內(nèi)部實時調(diào)整的讀空閑隊列指針通過總線接口控制模塊從片外主存中的空閑隊列;在發(fā)送 DMA模塊中,利用待發(fā)送隊列描述子、發(fā)送完成隊列描述子、配置RAM、待發(fā)包數(shù)據(jù)描述子的數(shù)據(jù)結構信息用一個發(fā)送DMA模塊不連續(xù)地發(fā)送多通道數(shù)據(jù),將各通道在主存中的連續(xù)數(shù)據(jù)正確發(fā)送到各通道。論文“高速網(wǎng)卡芯片設計中一種新的多隊列描述符機制”(戴斌,孫志剛,國防科技大學計算機學院,CCIC2007)中記錄了一種方法,該方法根據(jù)網(wǎng)絡上報文大小的分布情況的分析,提出了一種可應用于高速網(wǎng)卡芯片設計的多隊列描述符機制。以上發(fā)明和論文都是對傳統(tǒng)描述符機制的優(yōu)化和擴展,并未解決描述符傳輸所帶來的時間開銷和系統(tǒng)總線開銷;而且在操作系統(tǒng)對多個數(shù)據(jù)緩沖區(qū)進行管理所帶來的開銷也未考慮。

      發(fā)明內(nèi)容
      為克服上述缺陷,本發(fā)明提供了一種提高多數(shù)據(jù)緩沖區(qū)DMA效率的系統(tǒng)和方法, 基于非描述符機制的多隊列DMA引擎,并對多個數(shù)據(jù)緩沖區(qū)進行支持,以提高主機IO總線的利用率和報文發(fā)送速度。
      為實現(xiàn)上述目的,本發(fā)明提供一提高多數(shù)據(jù)緩沖區(qū)DMA效率的系統(tǒng),其包括主機和與其通過IO總線連接的網(wǎng)卡,所述主機包括數(shù)據(jù)緩沖區(qū)、數(shù)據(jù)緩沖區(qū)信息模塊和DMA 控制器,其特征在于,所述網(wǎng)卡包括數(shù)據(jù)緩沖區(qū)信息管理單元以及與所述DMA控制器分別通信的DMA請求隊列和返回數(shù)據(jù)接收隊列;所述數(shù)據(jù)緩沖區(qū)信息模塊中的數(shù)據(jù)緩沖區(qū)信息 (Buffer Info)通過主機IO總線傳輸?shù)剿鰯?shù)據(jù)緩沖區(qū)信息管理單元。本發(fā)明提供的優(yōu)選技術方案中,所述DMA請求隊列與所述返回數(shù)據(jù)接收隊列的數(shù)量相等并有一一對應關系;所述數(shù)據(jù)緩沖區(qū)的數(shù)量有64個。本發(fā)明提供的第二優(yōu)選技術方案中,所述數(shù)據(jù)緩沖區(qū)信息管理單元包括Buffer Info 模塊、Lock 模塊、Buffer Number 模塊 l、Block Address 模塊、Block Length 模塊、DMA Info Available 模塊禾口 Ack for DMA Read Pointer Write Back 模塊。本發(fā)明提供的第三優(yōu)選技術方案中,所述DMA請求隊列包括:Ack for DMA hfo模 Buffer NumberIl^i2>DMA Read PointerH^i>DMA Read Pointer Write Back Request
      模塊禾口 DMA Read Request Sender 模塊。本發(fā)明提供的第四優(yōu)選技術方案中,所述網(wǎng)卡使用型號為V5110T的fpga芯片。本發(fā)明提供的第五優(yōu)選技術方案中,提供一種提高多數(shù)據(jù)緩沖區(qū)DMA效率的方法,其改進之處在于,所述方法包括如下步驟(1).向數(shù)據(jù)緩沖區(qū)填入數(shù)據(jù)時,數(shù)據(jù)緩沖區(qū)信息通過主機10總線送往網(wǎng)卡并存儲在數(shù)據(jù)緩沖區(qū)信息管理單元;(2).從緩沖區(qū)相關信息中提取出待發(fā)送數(shù)據(jù)的地址和長度,并送往DMA請求隊列;(3). DMA請求隊列將對數(shù)據(jù)塊的請求組織為一個或多個符合主機10總線要求的 DMA請求,并發(fā)送到主機;(4).主機的DMA控制器響應接收到的DMA請求,將被請求的數(shù)據(jù)通過主機10總線發(fā)送網(wǎng)卡上;其中,步驟1和步驟2中,從所述數(shù)據(jù)緩沖區(qū)中提取的相關信息包括待發(fā)送數(shù)據(jù)的地址和長度。本發(fā)明提供的第六優(yōu)選技術方案中,在所述步驟2中,所述數(shù)據(jù)緩沖區(qū)信息管理單元優(yōu)先處理DMA Read Pointer Write Back Request,隨后檢查是否有緩沖區(qū)正在等待處理,如果等待處理的緩沖區(qū)請求未被DMA請求隊列所接受,則重新執(zhí)行此流程,否則將所述 DMA Info Available 模塊置 0。本發(fā)明提供的第七優(yōu)選技術方案中,在所述步驟4中,如果已有數(shù)據(jù)緩沖區(qū)正在等待處理,且能仲裁出空閑的請求隊列,則將等待處理的緩沖區(qū)信息送往空閑的DMA請求隊列,將所述Ack for DMA hfo模塊置為1并保持一周期。本發(fā)明提供的第八優(yōu)選技術方案中,所述數(shù)據(jù)緩沖區(qū)信息管理單元提供數(shù)據(jù)緩沖區(qū)號和讀指針信息;內(nèi)部號為緩沖區(qū)號的數(shù)值模DMA請求隊列數(shù)量所得的余數(shù);所述DMA Read Pointer Write Back Request的過程包括仲裁出一個已處理完緩沖區(qū)數(shù)據(jù)請求任務的DMA請求隊列,將要寫回的數(shù)據(jù)緩沖區(qū)號和讀指針信息送往數(shù)據(jù)緩沖區(qū)信息管理單元并將 DMA Read Pointer Write Back Request 模塊置為 1 ;如果此時 Ack for DMA Read Pointer Write Back 模塊置 1,貝叫f DMA Read Pointer Write Back Request 模塊置 0 ;其中,緩沖區(qū)號的低位由DMA請求隊列號(RRS Number)構成,高位由內(nèi)部號(Internal Number)構成。與現(xiàn)有技術比,本發(fā)明提供的一種提高多數(shù)據(jù)緩沖區(qū)DMA效率的系統(tǒng)和方法,基于非描述符機制的多隊列DMA引擎,并對多個數(shù)據(jù)緩沖區(qū)進行支持,以提高主機IO總線的利用率和報文發(fā)送速度。而且解決了描述符傳輸所帶來的時間開銷和系統(tǒng)總線開銷大以及操作系統(tǒng)在對多個數(shù)據(jù)緩沖區(qū)進行管理時會帶來額外的開銷的問題。


      圖1為提高多數(shù)據(jù)緩沖區(qū)DMA效率的系統(tǒng)的結構示意圖。圖2為數(shù)據(jù)緩沖區(qū)與DMA請求隊列的數(shù)據(jù)結構示意圖。圖3為數(shù)據(jù)緩沖區(qū)信息管理模塊流程圖。圖4為緩沖區(qū)請求信號控制流程圖。圖5為數(shù)據(jù)緩沖區(qū)請求處理流程圖。圖6為數(shù)據(jù)緩沖區(qū)寫回請求流程圖。圖7為直接相聯(lián)模式示意圖。圖8為直接相聯(lián)模式流程圖。
      具體實施例方式圖1為此系統(tǒng)的整體結構圖。一種提高多數(shù)據(jù)緩沖區(qū)DMA效率的系統(tǒng),其包括 主機和與其通過IO總線連接的網(wǎng)卡,所述主機包括數(shù)據(jù)緩沖區(qū)、數(shù)據(jù)緩沖區(qū)信息模塊和 DMA控制器,其特征在于,所述網(wǎng)卡包括數(shù)據(jù)緩沖區(qū)信息管理單元以及與所述DMA控制器分別通信的DMA請求隊列和返回數(shù)據(jù)接收隊列;數(shù)據(jù)緩沖區(qū)信息模塊中的數(shù)據(jù)緩沖區(qū)信息 (Buffer Info)通過主機IO總線傳輸?shù)剿鰯?shù)據(jù)緩沖區(qū)信息管理單元。所述DMA請求隊列與所述返回數(shù)據(jù)接收隊列的數(shù)量各為4 ;所述數(shù)據(jù)緩沖區(qū)有64 個。所述數(shù)據(jù)緩沖區(qū)信息管理單元,包括Buffer hfo模塊、Lock模塊、Buffer Number模塊 1、Block Address 模塊、Block Length 模塊、DMA Info Available 模塊禾口 Ack for DMA Read Pointer Write Back模塊。所述DMA請求隊列,包括Ack for DMA hfo模塊、Buffer Number 模塊 2、DMA Read Pointer 模塊、DMA Read Pointer Write Back Request 模塊禾口 DMA Read Request Sender模塊。所述網(wǎng)卡使用型號為M6110T的fpga芯片。提高多數(shù)據(jù)緩沖區(qū)DMA效率的系統(tǒng)和方法,包括(1)當應用程序向數(shù)據(jù)緩沖區(qū)填入數(shù)據(jù)時,緩沖區(qū)的相關信息(如讀寫指針)通過主機10總線送往網(wǎng)卡并存儲在數(shù)據(jù)緩沖區(qū)信息管理模塊。(2)數(shù)據(jù)緩沖區(qū)信息管理模塊檢測到數(shù)據(jù)緩沖區(qū)中有數(shù)據(jù)需要發(fā)送時, 就從緩沖區(qū)相關信息中提取出待發(fā)送數(shù)據(jù)的地址和長度,并送往DMA請求隊列。C3)DMA請求隊列將對數(shù)據(jù)塊的請求組織為一個或多個符合主機10總線要求的DMA請求,并發(fā)送到主機。(4)主機的DMA控制器響應接收到的DMA請求,將被請求的數(shù)據(jù)通過主機10總線發(fā)送網(wǎng)卡上。圖1中的數(shù)據(jù)緩沖區(qū)、DMA請求隊列、返回數(shù)據(jù)接收隊列可以為多個,其中DMA請求隊列與返回數(shù)據(jù)接收隊列的數(shù)量相等并有一一對應關系。DMA請求隊列與返回數(shù)據(jù)接收隊列之間需要流控信號,以保證請求數(shù)據(jù)的速度不超過整個系統(tǒng)的處理能力。
      下面以使用FPGA作為網(wǎng)卡控制器和PCI Express總線的系統(tǒng)為例,其中數(shù)據(jù)緩沖區(qū)的數(shù)量為64,DMA請求隊列與返回數(shù)據(jù)接收隊列的數(shù)量各為4。數(shù)據(jù)緩沖區(qū)與DMA請求隊列采用全相聯(lián)模式連接,即任意一個數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)發(fā)送請求可以由任意一個空閑的DMA請求隊列完成。如圖2所示,數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)結構與DMA請求隊列包括如下數(shù)據(jù)結構=Buffer Info 數(shù)據(jù)緩沖區(qū)信息,可存放在FPGA片內(nèi)RAM上。緩沖區(qū)讀指針由驅(qū)動程序維護,每次讀指針變化時,就通過PCI Express總線將讀指針位置發(fā)送到網(wǎng)卡中。緩沖區(qū)寫指針由網(wǎng)卡維護,每次緩沖區(qū)數(shù)據(jù)傳輸結束后,將更新的緩沖區(qū)讀指針寫回到緩沖區(qū)信息中。為避免因主機頻繁的讀取緩沖區(qū)讀指針而影響數(shù)據(jù)發(fā)送效率,可以等到緩沖區(qū)中已保存了一些待發(fā)送數(shù)據(jù)后(如緩沖區(qū)空閑空間小于緩沖區(qū)總大小一半時)再更新讀指針。Lock 數(shù)據(jù)緩沖區(qū)鎖定標記。對應于每個數(shù)據(jù)緩沖區(qū),有1位的Lock信號控制此緩沖區(qū)能否被訪問。當一個數(shù)據(jù)緩沖區(qū)被選中并正在等待處理,或已經(jīng)與某一對DMA請求—— 數(shù)據(jù)返回隊列進行數(shù)據(jù)傳輸時,此緩沖區(qū)不能被輪詢選中,Lock標記為1,直到DMA請求隊列已經(jīng)處理完該數(shù)據(jù)緩沖區(qū)上一次提交的全部傳輸請求且更新后的讀指針被寫回到DMA Buffer Info 中。Buffer Number 正在等待處理的緩沖區(qū)號。Block Address 請求傳輸?shù)臄?shù)據(jù)在內(nèi)存中的起始地址。Block Length 請求傳輸?shù)臄?shù)據(jù)長度,由數(shù)據(jù)緩沖區(qū)的讀寫指針決定。DMA Info Available :DMA信息有效信號,表示已檢測一個緩沖區(qū)在請求數(shù)據(jù)傳輸。Ack for DMA Info :DMA信息響應信號,表示當前緩沖區(qū)的數(shù)據(jù)傳輸請求已被接受。DMA RRS (DMA Read Request Sender) :DMA讀請求發(fā)送器將對緩沖區(qū)數(shù)據(jù)塊的請求組織為一個或多個符合主機10總線要求的DMA請求,并發(fā)送到主機。DMA Read Pointer :DMA 讀指針,由 Block Address+Block Length 計算得出,需寫回到數(shù)據(jù)緩沖區(qū)信息中。DMA Read Pointer Write Back Request :DMAi賣指針寫回請求。Ack for DMA Read Pointer Write Back :DMA讀指針寫回請求響應,表示該請求已被接受。在圖3所示的數(shù)據(jù)緩沖區(qū)信息管理流程中,優(yōu)先處理讀指針的寫回請求。隨后檢查是否有緩沖區(qū)正在等待處理,如果等待處理的緩沖區(qū)請求未被DMA請求隊列所接受,則重新執(zhí)行此流程。所有正在等待處理和處理請求已被接受但尚未寫回讀指針的隊列都必須被鎖定(Lock位置為1),以防止因同一緩沖區(qū)同時被多個DMA請求隊列同時訪問而產(chǎn)生的緩沖區(qū)指針錯誤。數(shù)據(jù)緩沖區(qū)信息管理模塊對64個緩沖區(qū)輪詢檢查,被鎖定的緩沖區(qū)直接跳過輪詢。由于每次檢查緩沖區(qū)是否有數(shù)據(jù)需要發(fā)送所用時間很短,遠小于等待DMA請求從主機返回的時間,所以輪詢查找方式對緩沖區(qū)數(shù)據(jù)傳輸請求的響應時間不會產(chǎn)生太大影響。圖4顯示數(shù)據(jù)緩沖區(qū)信息管理模塊與DMA請求隊列之間的數(shù)據(jù)交換流程。圖5顯示如和給正在等待處理的緩沖區(qū)請求分配一個DMA請求隊列??臻eDMA之間的仲裁可以選用任意的仲裁方法(包括固定優(yōu)先級仲裁)。因為DMA請求隊列與數(shù)據(jù)緩沖區(qū)并無一一對應關系,所以數(shù)據(jù)緩沖區(qū)之間的響應機會均等由圖3所示的順序輪詢所保證,而與空閑DMA之間的仲裁方式無關。如圖6所示為數(shù)據(jù)緩沖區(qū)寫回請求流程圖,對于圖6中選擇一個已處理完緩沖區(qū)數(shù)據(jù)請求任務的DMA請求隊列的仲裁方式,可使用與圖5中選擇空閑DMA相同的仲裁方式。所述數(shù)據(jù)緩沖區(qū)信息管理單元提供數(shù)據(jù)緩沖區(qū)號和讀指針信息;內(nèi)部號為緩沖區(qū)號的數(shù)值模DMA請求隊列數(shù)量所得的余數(shù);數(shù)據(jù)緩沖區(qū)與DMA請求隊列采用直接聯(lián)模式連接,即一個數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)發(fā)送請求只能由一個指定的DMA請求隊列完成。具體數(shù)據(jù)結構如圖7所示。如圖7所示,64個緩沖區(qū)被分為4組,每組的16個緩沖區(qū)傳輸請求只能被一個指定的DMA請求隊列處理。緩沖區(qū)號(Buffer Number)的低位由DMA請求隊列號(RRS Number)構成,高位由內(nèi)部號(Internal Number)構成。圖8為直接相聯(lián)模式流程圖,由于采用直接相聯(lián)的分組模式,同組的緩沖區(qū)傳輸請求只能被同一個DMA請求隊列處理,與圖2所示全相聯(lián)模式相比,不需要對正在傳輸數(shù)據(jù)的緩沖區(qū)進行鎖定操作。需要聲明的是,本發(fā)明內(nèi)容及具體實施方式
      意在證明本發(fā)明所提供技術方案的實際應用,不應解釋為對本發(fā)明保護范圍的限定。本領域技術人員在本發(fā)明的精神和原理啟發(fā)下,可作各種修改、等同替換、或改進。但這些變更或修改均在申請待批的保護范圍內(nèi)。
      權利要求
      1.一種提高多數(shù)據(jù)緩沖區(qū)DMA效率的系統(tǒng),其包括主機和與其通過IO總線連接的網(wǎng)卡,所述主機包括數(shù)據(jù)緩沖區(qū)、數(shù)據(jù)緩沖區(qū)信息模塊和DMA控制器,其特征在于,所述網(wǎng)卡包括數(shù)據(jù)緩沖區(qū)信息管理單元以及與所述DMA控制器分別通信的DMA請求隊列和返回數(shù)據(jù)接收隊列;所述數(shù)據(jù)緩沖區(qū)信息模塊中的數(shù)據(jù)緩沖區(qū)信息(Buffer Info)通過主機IO總線傳輸?shù)剿鰯?shù)據(jù)緩沖區(qū)信息管理單元。
      2.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述DMA請求隊列與所述返回數(shù)據(jù)接收隊列的數(shù)量各為4 ;所述數(shù)據(jù)緩沖區(qū)的數(shù)量有64個。
      3.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述數(shù)據(jù)緩沖區(qū)信息管理單元包括 Buffer Info 模塊、Lock 模塊、Buffer Number 模塊 1、Block Address 模塊、Block Length 模塊、DMA Info Available 模塊禾口 Ack for DMA Read Pointer Write Back 模塊。
      4.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述DMA請求隊列包括Ackfor DMA Info Illfe>Buffer Number 2>DMA Read Pointer DMA Read Pointer Write Back Request 模塊禾口 DMA Read Request Sender 模塊。
      5.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述網(wǎng)卡使用型號為V5110T的fpga芯片。
      6.根據(jù)1-5項權利要求任一項所述的提高多數(shù)據(jù)緩沖區(qū)DMA效率的系統(tǒng)的提高多數(shù)據(jù)緩沖區(qū)DMA效率的方法,其特征在于,所述方法包括如下步驟(1).向數(shù)據(jù)緩沖區(qū)填入數(shù)據(jù)時,數(shù)據(jù)緩沖區(qū)信息通過主機IO總線送往網(wǎng)卡并存儲在數(shù)據(jù)緩沖區(qū)信息管理單元;(2).從緩沖區(qū)相關信息中提取出待發(fā)送數(shù)據(jù)的地址和長度,并送往DMA請求隊列;(3).DMA請求隊列將對數(shù)據(jù)塊的請求組織為一個或多個符合主機IO總線要求的DMA請求,并發(fā)送到主機;⑷.主機的DMA控制器響應接收到的DMA請求,將被請求的數(shù)據(jù)通過主機10總線發(fā)送網(wǎng)卡上。
      7.根據(jù)權利要求6所述的方法,其特征在于,在所述步驟2中,所述數(shù)據(jù)緩沖區(qū)信息管理單元優(yōu)先處理DMA Read Pointer Write Back Itequest,隨后檢查是否有緩沖區(qū)正在等待處理,如果等待處理的緩沖區(qū)請求未被DMA請求隊列所接受,則重新執(zhí)行此流程,否則將所述 DMA Info Available 模塊置 0。
      8.根據(jù)權利要求6所述的方法,其特征在于,在所述步驟4中,如果已有數(shù)據(jù)緩沖區(qū)正在等待處理,且能仲裁出空閑的請求隊列,則將等待處理的緩沖區(qū)信息送往空閑的DMA請求隊列,將所述Ack for DMA hfo模塊置為1。
      9.根據(jù)權利要求7所述的方法,其特征在于,所述數(shù)據(jù)緩沖區(qū)信息管理單元提供數(shù)據(jù)緩沖區(qū)號和讀指針信息;內(nèi)部號為緩沖區(qū)號的數(shù)值模DMA請求隊列數(shù)量所得的余數(shù);所述 DMA Read Pointer Write Back Request的過程包括仲裁出一個已處理完緩沖區(qū)數(shù)據(jù)請求任務的DMA請求隊列,將要寫回的數(shù)據(jù)緩沖區(qū)號和讀指針信息送往數(shù)據(jù)緩沖區(qū)信息管理單元并將 DMA Read Pointer Write Back Request 模塊置為 1 ;如果此時 Ack for DMA Read Pointer Write Back|f|feSDMA Read Pointer Write Back Request HlfeS 0 ;其中,緩沖區(qū)號的低位由DMA請求隊列號(RRS Number)構成,高位由內(nèi)部號(Internal Number)構成。
      全文摘要
      本發(fā)明提供了一種提高多數(shù)據(jù)緩沖區(qū)DMA效率的系統(tǒng)和方法,包括(1)當應用程序向數(shù)據(jù)緩沖區(qū)填入數(shù)據(jù)時,緩沖區(qū)的相關信息通過主機IO總線送往網(wǎng)卡并存儲在數(shù)據(jù)緩沖區(qū)信息管理模塊。(2)數(shù)據(jù)緩沖區(qū)信息管理模塊檢測到數(shù)據(jù)緩沖區(qū)中有數(shù)據(jù)需要發(fā)送時,就從緩沖區(qū)相關信息中提取出待發(fā)送數(shù)據(jù)的地址和長度,并送往DMA請求隊列。(3)DMA請求隊列將對數(shù)據(jù)塊的請求組織為一個或多個符合主機IO總線要求的DMA請求,并發(fā)送到主機。(4)主機的DMA控制器響應接收到的DMA請求,將被請求的數(shù)據(jù)通過主機IO總線發(fā)送網(wǎng)卡上。本發(fā)明提供的提高多數(shù)據(jù)緩沖區(qū)DMA效率的系統(tǒng)和方法,基于非描述符機制的多隊列DMA引擎,提高主機IO總線的利用率和報文發(fā)送速度。
      文檔編號G06F13/28GK102541779SQ201110383370
      公開日2012年7月4日 申請日期2011年11月28日 優(yōu)先權日2011年11月28日
      發(fā)明者張磊, 張英文, 李旭, 李靜, 白宗元, 竇曉光, 紀奎 申請人:曙光信息產(chǎn)業(yè)(北京)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1