[go: up one dir, main page]

TWI242131B - Method and related circuit for increasing network transmission efficiency by speeding data updating rate of memory - Google Patents

Method and related circuit for increasing network transmission efficiency by speeding data updating rate of memory Download PDF

Info

Publication number
TWI242131B
TWI242131B TW092109803A TW92109803A TWI242131B TW I242131 B TWI242131 B TW I242131B TW 092109803 A TW092109803 A TW 092109803A TW 92109803 A TW92109803 A TW 92109803A TW I242131 B TWI242131 B TW I242131B
Authority
TW
Taiwan
Prior art keywords
data
memory
packet
network
temporary memory
Prior art date
Application number
TW092109803A
Other languages
English (en)
Other versions
TW200422840A (en
Inventor
Cheng-Yuan Wu
Cheng-Shian Shiao
Original Assignee
Via Networking Technologies In
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Networking Technologies In filed Critical Via Networking Technologies In
Priority to TW092109803A priority Critical patent/TWI242131B/zh
Priority to US10/709,200 priority patent/US7451240B2/en
Publication of TW200422840A publication Critical patent/TW200422840A/zh
Application granted granted Critical
Publication of TWI242131B publication Critical patent/TWI242131B/zh
Priority to US12/241,077 priority patent/US7822040B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

1242131 / 案號 92109803 年月日 修正 五、發明說明(1) :發明所屬之技術領域 I 本發明提供一種增加一網路介面電路網路資料傳輸 效率的方法及相關電路,尤指一種增加網路介面電路中 資料暫存記憶體資料更新速度以增加網路資料傳輸效率 的方法及相關電路。 先前技術
網路能連接不同地點的伺服器、終端機及電腦,讓 資料、數據、影音訊號能以電子訊號的形式在網路中傳 輸、交換,使得知識、技術與資訊得以突破地域之限制 而自由交流、傳播。因此,網路之建設也成為當前資訊 社會最重要的基礎建設之一,而各資訊業者也致力於網 路資料傳輸配備之研發。尤其是網路資料傳輸效率的提 升,更是增加網路服務效能最重要的課題之一。 一般來說,網路使用者都是使用裝備有一網路界面 I卡的電腦來存取網路服務的資源。請參考圖一。圖一為 |
I 一電腦1 0配合一習知網路介面電路2 0的功能方塊圖。除 了網路介面電路2 0外,電腦1 0中還設有一中央處理器 14、一北橋電路16A、一南橋電路16B、一顯示卡18B、一 顯示器18A、一系統記憶體22與周邊裝置24。中央處理器 1 4用來主控電腦1 0的運作,系統記憶體2 2通常為一隨機 存取記憶體,用來暫存中央處理器1 4運作期間必要的數
1242131 案號^109803 年月日 修正 五、發明說明(2) :據二ΐ料及程式碼等等,顯示卡188能處理影像資料,以 i將電腦1 0運作的情形以圖形影像的方式顯示於顯示器1 8Α 上’·而/北橋電路1 6人即用來管理令央處理器丨4與顯示卡 1 =、系統記憶體2 2之間的資料交換。網路介面電路2 0可 以疋網路介面卡(network interface card, NIC),用 來使電腦1 0得以存取一網路1 2的資料;週邊裝置2 4則可 以包括鍵盤、滑鼠等的輸入裝置,硬碟機、光碟機等的 非揮發性儲存裝置以及音效卡等的訊號處理電路;而南 橋電路1 6B即透過一匯流排來管理週邊裝置24、網路介面 電路2 0與中央處理器1 4間的資料交換。
在網路介面電路20中,設有一記憶存取電路26、一 暫存記憶體28、一媒體控制模組30 ;媒體控制模組30中 則設有一緩衝記憶體(b u f f e r ) 3 2、一媒體存取電路3 4以 及一傳輸電路3 6。記憶存取電路2 6可以是一直接記憶存 取(direct memory access,DMA)的實施機構,以直接存 取暫存於系統記憶體2 2中的資料;記憶存取電路2 6由系 統記憶體2 2存取到的資料則可暫存至暫存記憶體2 8中。 暫存記憶體2 8中的複數個記憶單元3 8,即可分別提供一 定的記憶容量;各記憶單元3 8的記憶容量可以是4位元組 (byte)。暫存記憶體28可以是一先進先出(firsi:—in f i r s t - o u t )記憶體,也就是說,先被存入暫存記憶體2 8 的資料,也會先被讀出暫存記憶體2 8。同樣地,在媒體 控制模組3 0中的緩衝記憶體3 2,也設有複數個記憶單元 4 〇,分別提供一定的記憶容量,像是與記憶單元3 8一樣
第7頁 1242131 〆 案號 921ϋ9803 .不 月 a l·爹正 五、發明說明(3) 的記憶容量。媒體存取電路3 4可將暫存於緩衝記憶體3 2 中的資料透過傳輸電路3 6的訊號處理及調變,實際傳輸 至網路1 2 (譬如說是一集線器或另一電腦)。 如技術人士所知,要傳輸於網路上的資料會被劃分 為多個封包,以封包為單位來進行資料傳輸的管理。舉 例來說,封包中會設有標頭(head),可指示該封包由是 由那個網路介面電路發出,又是要傳輸至那一個網路介 面電路等等。封包也會設有檢查碼,以使接收封包的遠 端電腦可以檢查封包在網路傳輸過程中是否發生了資料 誤傳等情形。若是某個封包在傳輸中發生了資料誤傳或 是沒有被正確地接收,也是以封包為單位進行重傳。封 包的標頭、檢查碼等等,通常即由媒體存取電路3 4來管 理。 請參考圖二(並一併參考圖一)。當習知之網路介 面電路2 0要將一封包傳輸至網路1 2時,就會進行圖二中 的流程1 0 0。流程1 0 0中設有下列步驟: ί步驟1 0 2 :開始。當中央處理器1 4要將資料以封包形式傳 |輸至網路1 2時,就可控制網路介面電路2 0開始進行流程 100° 步驟1 0 4 :記憶存取電路2 6取得對應到該封包的封包 資料(在本文中用封包資料代表對應到某一封包之所有資 料,用以在討論本發明之如何處理暫存記億體等之特徵 1242131 案號划098(]3 年 五、發明說明(4) 時,與要在網路進行傳輸之封包鉢 χ 匕發生混清),將豆暫存至 暫存記憶體28中。記憶存取電路^ i 货仔 i 吩^ b可經由南橋電路1 fi B瞢 1理的匯流排,由系統記憶體2 2中取γ 士士 士府 τ取仔中央處理器1 4要值 輸至網路1 2的封包資料。 处⑽i 4要得 步驟1 0 6 ··依照先進先出的眉目,丨 ^ ^ ^ 將暫存於記憶體28中的封胞資料^至緩^^模=會 再由媒體存取電路34將暫存於緩衝記怜$ H ^ 料透過傳輸電路36實際傳輸至網路12^。 j二貝 電路26資料存取速度及媒體存取電: = 取 J 12時的傳輸速度。由於記憶存取電路26是=L = 排取Ϊ資'料,再依序暫存至暫存記憶體28的各 個a己憶早兀38中,故纪憶存取電路26將資料存入暫 憶體28的速度(也就是記憶存取電路26在單位時間内= 取得的資料容$ )大致上就相當於電腦丨〇中匯流排資料 傳輸的速度。另一方面,,媒體存取電路34將資料傳輪至 網路1 2的速度(也就是媒體存取電路3 4在單位時間内能 傳輸至網路1 2的資料容量)則取決於網路1 2上資料「交 通」的情形(像是網路頻寬等)。由於記憶存取電路 取得資料的速度與媒體存取電路34傳輸資料的速度可能 會不一致’故媒體控制模組3 〇中就設置了緩衝記憶體 3 2。當記憶存取電路2 6由系統記憶體2 2取得資料的速度 大於媒體存取電路3 4將資料傳輸至網路1 2的速度時,g 體控制椟組3 0由暫存記憶體2 8讀入的一些資料(如某封包
1242131 I f ; 案號terowo^ 五、發明說明(5) 資料的一部份)就可以先暫存至緩衝記憶體32,等待媒體 丨存取3 4以較慢的速度將其傳輸至網路1 2。若是暫存記憶 體2 8本身記憶空間的資料已經有相當的部分暫存了尚未 傳輸的資料時,暫存記憶體2 8就會發出訊號使記憶存取 電路26暫時不要再將資料存入暫存記憶體28中,以等待 媒體存取電路34將暫存記憶體28中的未傳輸的資料先傳 輸至網路1 2。而後暫存記憶體2 8才能釋放出記憶空間,
使記憶存取電路26能繼續存取系統記憶體22中後續要傳 輸至網路1 2的資料,並將之暫存於暫存記憶體2 8。 步驟1 0 8 :等到媒體存取電路3 4將一個封包的所有資料皆 完整傳輸至網路1 2後,媒體存取電路3 4就能向暫存記憶 體28發出一傳輸完成(transmission done)訊號。 步驟1 1 0 :在習知技術中,暫存記憶體2 8會在接收到媒體 存取電路3 4的傳輸完成訊號後,向記憶存取電路2 6發出 一中斷要求(interrupt request)訊號。
步驟1 1 2 :記憶存取電路2 6會依據中斷要求訊號適當地向 中央處理器1 4發出一中斷訊號,要求中央處理器1 4繼續 傳輸對應到另一新封包的另一個封胞資料。接下來流程 1 0 0就會返回至步驟1 0 4,由記憶存取電路2 6根據中央處 理器1 4的指示,繼續由系統記憶體2 2中取得新的封包資 料,以重新進行步驟1 0 4至1 0 6,將新封包傳輸至網路 12° 為進一步說明流程1 0 0進行的情形,請繼續參考圖三 至圖六。圖三至圖六為圖一中之電腦1 0在進行流程1 0 0
1242131 案號 921ΰ9803
年月曰
五、發明說明(6) 日寺,相關資料配置的不思圖。如圖三所示,假設網路介 丨面電路2 0準備要將一封包傳輸至網路12,記憶存取電路 2 6就會由系統記憶體2 2中將對應之封包資料讀出,並暫 |存至暫存記憶體28中(也就是步驟1〇2至步驟1〇4);而 此處就假設該封包資料依序由五個部份的資料Dp 1至Dp5 組成,各筆資料分別佔用一個記憶單元3 8的記憶空間。 依照先進先出的原則,該封包資料的第一部份資料Dpi會 先存入至暫存記憶體28中’接下來資料Dp2至Dp5也就依 序被存入暫存記憶體2 8中。如圖四所示,先被暫存至緩 衝記憶體3 2的資料D p 1也會先被輸出至緩衝記憶體3 2 ;接 下來資料D p 2至D p 4也就依序被輸出至緩衝記憶體3 2,此 時流程1 0 0也就進行至步驟1 0 6。 如圖五所示,媒體存取電路34會依照資料Dpi至Dp4 的順序’依序將各資料連續地傳輸至網路1 2上,同時資 料Dp5也會繼續由暫存記憶體28讀出至緩衝記憶體32,再 由媒體存取電路3 4將其傳輸至網路丨2上,讓資料Dp Dp5形成完整的封包。如圖六所示,當媒體存取電路34將 對應到此封包之資料Dpi至DP5完全傳輸至網路12後,流 程1 0 0也就完成了步驟1 〇 6而進行至步驟1 〇 8,由媒體存取 電路34向暫存記憶體28發出一傳輸完成訊號42/接下來 在步驟110中,暫存記憶體28會根據傳輸完成訊號42向記 憶存取電路26發出一中斷要求訊號44。到了步驟112,記 憶存取電路26就會根據中斷要求訊號44,在適當時機發 出一中斷訊號46,要求中央處理器14指示如何取得另一
第11頁 1242131 02109808 五、發明說明(7)
新封包的封包資料,以便將一新的 記憶存取電路2 6、暫存記憶體2 8、 丨存取電路34及傳輪電路36傳輪至網 I示,假設此一新的封包資料中依序 1Dp7、Dp8、Dp9、Dpi 0等等的資料, 記憶體28中。而原來暫存於暫存記 D ρ 5就能被釋放(re!ease),以暫存 例來δ兒’像是在圖七中,原來用來 記憶單元就在環式(r i n g )記憶單元 被覆寫而存入了新封包的部份資料 1 0 0也就回到步驟1 〇 4,以開始傳輸 封包的資料再度經由 緩衝記憶體3 2、媒體 路1 2。就像圖七所 有部份資料Dp 6、 ,就會被依序存入暫存 憶體28中的資料Dpi至 新的封包的資料。舉 暫存資料Dpi、Dp2的 運用的情形下,分別 Dp9、Dpi 0 ;此時流程 新的封包。 >上述習知技術的缺點之一,就是網路資料傳輸的效 率較低。由前述對習知技術之描述可知,習知之網路介 面電路2 0要等到一封包中的所有資料皆由媒體存取電路 3 4傳輪至網路1 2後,才會經由媒體存取電路3 4傳輪完成 訊號之觸發,開始由記憶存取電路2 6繼續取得次—=包 的封包資料。換句話說,在媒體存取電路3 4結束一封包 的傳輪後,還要等待一段時間,讓記憶存取電路26由^ 統記憶體2 2取得對應到次一封包的封包資料,再經由暫 存記憶體28、緩衝記憶體32陸續傳輪至媒體控制^路 30,媒體存取電路34才能開始傳輸另一封包^網路12。 由於一封包傳輸完畢到次一封包開始傳輪時還有一 #時 間’故習知網路介面電路20在網路上傳輸資料的效^ 低’無法連續、順暢地進行網路資料傳輪,也連帶馬塑
1242131 a 案號 9210980:3 年 月 五、發明說明(8) 使用者存取網路資源的效率。 發明内容 因此,本發明之主要目的,在於提供一種加速網路 資料傳輸效率的方法及相關電路,以克服習知技術的缺 點,增進使用者存取網路資源的效率。
在習知技術中,由於記憶存取電路是在媒體存取電 路將一封包傳輸完畢後,才會根據傳輸完成訊號之觸發 將次一封包的資料開始暫存至暫存記憶體中,故在一封 包傳輸完成後,到次一封包開始傳輸時,還有相當的時 差,這也使得習知技術之網路介面電路無法有效提升網 路資料傳輸的效率。
在本發明的網路介面電路中,基本上,暫存記憶體 只要將一封包資料皆傳輸至(或傳輸經過)媒體控制模組 的緩衝記憶體後(或說是一封包資料已完全被此媒體控制 模組所處理過後),即可以發出中斷要求訊號觸發記憶存 取電路,讓記憶存取電路能開始將次一封包資料存入暫 存記憶體中。換句話說,即使一封包資料還有部份是存 在媒體控制模組的緩衝記憶體中而尚未傳輸至網路,記 憶存取電路也已經開始將次一封包資料存入至暫存記憶 體中。這樣一來,在一封包傳輸完畢到次一封包開始傳
I !輸,其間的時差就得以有效減少(因為不用再如習知技術 j
第13頁 1242131 案號 921ϋ9803 五、發明說明(9)
年 月
般花一段時間,只專門讓記憶存取電路將封包資料存入 ]暫存記憶體中,而是在媒體控制模組進行將封包資料傳 i輸至網路的同時,也讓記憶存取電路進行將封包資料存 2 ϊϊί體中的動作)’们寻本發明能順利、連續地子進 灯貝料傳輪’進而增加網路資料傳輸的效率,讓运 用者此更便捷地存取網路資源。 i實施方式 請參 備於一電 6 0,電腦 南橋電路 體6 2及週 作,顯示 形以影像 可以是揮 5 4運作期 |用來管理 i資料交換 1 52的資源 置,硬碟 等的訊號 週邊裝置 料交換。 考圖八。圖八為本發明中一網路介面電路 ,50j功能方塊示意圖。除了網路介面電路 5中°又有—中央處理器54、一北橋電路56A、一 6丨一,示器58A、一顯示卡58β、一系統記憶 f置64。中央處理器54用來主控電腦5〇的運 畫=B用來處理影像資料,以將電腦5 〇運作的情 發性=ί ί顯不於顯示器5 8 A上。系統記憶體6 ; 間所+ S ΐ ί取記憶體,用來暫存中央處理器 顯示:料、數據及程式碼;北橋電路56Α則 。 人、系統記憶體6 2與中央處理器5 4間的 ,调二面電路60用來使電腦50能存取一網路 機:ίί 可包括鍵盤、(骨氣等的輸入裝 處理ΐ ΐ 4的非揮發性儲存以或是音效卡 64、= ί丄而南橋電路56Β則透過一匯流排管理 ,用路"面電路60與中央處理器54之間的資
1242131
案號…取Τϋ!Τ8ΰ3—....................年' …k 五、發明說明(10) 在網路介面電路6 0中,則設有一記憶存取電路6 6、 一暫存記憶體6 8、一檢查電路8 8及一媒體控制模組7 〇。 媒體控制模組7 0中則設有一緩衝記憶體7 2、一媒體存取 電路7 4及一傳輸電路76。記憶存取電路6 6可以是一直接 記憶存取(direct memory access,DMA)裝置,能由系統 5己憶體6 2中取得電腦5 0要傳輸至網路5 2的資料,並將其 暫存至暫存記憶體6 8中。暫存記憶體6 8可以是一先進先 出(F I F 0)的揮發性記憶體,其中的複數個固定記憶容量 (像是4位元組)之記憶單元78,就是用來暫存圮‘憶 ,路μ取,的資料。同樣地,暫存記憶體72中也設有複 數個圮憶單兀8 0,用來記憶一定容量的資料。而體 制模組70則能將暫存記憶體68中 出^ :讀至緩衝記憶體72中,再藉著媒體存取以::原 理、調變,,傳輸至網路=輸;== (通常是暫存記憶體68之—部份)本;=2查電路88 包的所有資料是否都已妙由射产^ ^ ^查屬於同一封 憶體7 2 ;當一封@ &所:吹子"己憶體6 8傳輸至緩衝記 輸至緩衝記情以所都已經由暫存記憶體68傳 68向記憶存ίΐ::;查ΐ路88即可觸發暫存記憶體 丨丁 %电路6 6發出一中斷亜丰印缺 ^ ,可根據暫存記憶體68的:=;=;爾子取電 時機透過南橋電路56Bf理的斷要求^虎’在適當的 一中斷訊號,要韦由土 爪排向中央處理器5 4發出 下 一個I信认" 、’处理器Μ讓記憶存取電路R fife ί日 個要傳輸至網路52的封包。 取冤路66取付
修正 1242131 ffl 案彻織 五、發明說明(π) ❺芩考圖九(並一併參考圖八)。圖九中之 即為圖八中網路介面電路60與網路52之二稔2〇〇 的過程。流程2 0 0中有下列步驟: 、辱輸進行 步驟2 0 2 :開始。當電腦5 0要將資料以封包的 網路5 2時,即可開始進行流程2 〇 〇。 7工傳輪至 步驟204:記憶存取電路66由系統記憶 步驟2 0 6:依照先進先出的原則,先由記憶存取電中 入暫存記憶體68的部份封包資料,也會先被傳輸至2存 記憶體72。同時媒體存取電路74也會開始將緩衝記J = 7 2的封包資料依序傳輸至網路5 2。一存 f 檢查電路88發現一封包資料皆已經由暫存記憶以: 至媒體控制杈組70後,暫存記憶體68就會向記憶存= 路66發出一中斷要求訊號。請注意,在習知技術中取 知,術中的暫存記憶體要等待媒體控制模組將一封包次 料完全傳輸至網路後,才會以傳輸完成訊號觸發暫^ 憶體發出中斷要求訊號。但在本發明中,只要暫存記 體6 8確定一封包資料皆已經由暫存記憶體6 8中完全傳^ ^ ^(或傳輸」經過)媒體控制模組7〇的緩衝記憶體72後,= 管該封包資料是否已經被媒體存取電路74完全傳輸到網 路Y 2上,暫存記憶體6 8皆會向記憶存取電路6 6發出中斷 要求訊號。 τ - 步驟2 0 8 :根據暫存記憶體6 8傳來的中斷要求訊號,
1242131 案號此丨ϋ98ϋ3 五、發明說明(12) 月 a
千 修正 記憶存取電路即可在適當的時機透過南橋電路56β管理的 i匯,排,向中央處理器54發出一中斷訊號,要求中央處 i理Is 54能讓=憶存取電路⑽取得另一要傳輸至網路52之 封包的封胞貧料。在記憶存取電路6 6取得次一封包的封 f ΐ ’流程2 0 0也就回到步驟204中,由記憶存取電 路:— 人一封包資料存入暫存記憶體6 8中,準備要將其 傳輸至網路52上。 ^ ^ 績I:+ t ί明本發明上述流程2 0 0進行的情形,請繼 二,十三(並一併參考圖九)。圖十至圖十 介面電路6()在以流程2 0 0進行網路資料傳 右1 一射‘次二ν驟中資料流動情形之示意圖。假設現在 i、☆浐tnLT丰,依序由複數部份的資料D1至D5組成;而 在流私2 0 0的步驟2〇4Φ,# p ^ # D1J. 5 ^ 5己憶存取電路66就會依序將資 暫存至暫存s己憶體68中,如圖十所示。暫在々 的r:D1等也會依照先進先出的原則,以μ i體72中,如^媒體控制模組70將其讀入至緩衝記憶 ‘續衛"(I二79二所不。此時媒體存取電路74也會開始 ^緩衝e k體72中的資料經由傳輸電路76傳輸至網路 丨上0 如圖十二所示,等到暫存記憶體68將屬於同一封包 =,料D1至D5完^全傳輸至(或傳輸經過)媒體控制模組7〇 i即D1至D5已70全被媒體控制模組70所處理過後),本 發明之流程2 0 0就進行至步驟2〇6。當資料〇1至的完全由
年月曰 修正 1242131 案號92丨09803 五、發明說明(13) 暫存記憶體6 8傳輸到緩衝記憶體7 2之後,暫存記憶體6 8 就會發出 中斷要求訊號8 4至記憶存取電路6 6。而記憶 存取電路6 6收到中斷要求訊號8 4後,就能在適當的時機 經由南橋電路5 6B管理的匯流排發出中斷訊號8 6 (即步驟 2 0 8),要求中央處理器5 4指示記憶存取電路6 6取得次一 封包。請注意,就如圖十二中所示,當本發明網路介面 電路6 0回傳中斷訊號8 6時,前一封包的封包資料很可能 還有部伤仍未傳輸至網路5 2上,而仍暫存於媒體控制模 組70的緩衝記憶體72中。不 本暫存的資料D 1至D 5已經完 不管資料D1至D5是否全部都 憶體68中原本用來暫存資料 儲存之暫存資料D1至D5已經 供次一封包之封胞資料的暫 暫存記憶體6 8已將一封包資 7 0後的時機,讓暫存記憶體 6 6利用以暫存次一封包資料 i顯示的,此時很可能前一封 |於緩衝記憶體72中,未傳輸 i述習知技術則是要等前一封 |才會經由媒體存取電路之傳 路,以開始將次一封包資料 過,既然暫存記憶體68中原 全傳輸至緩衝記憶體7 2中, 被傳輸到網路5 2上,暫存記 D1至D5的各個記憶單元78所 不重要,也都可以釋放出來 存使用。而本發明就是利用 料完全傳輪至媒體控制模組 6 8馬上可以被記憶存取電路 。就像圖十二中的示意例 包資料還有一大部份仍暫存 至網路5 2上。相較之下, 包資料皆傳輸至網路之後, 輸完成訊號觸發記憶存取 暫存入暫存記憶體中。
^圖十三所示,此處即假設次一封 D7、D8、赚D1〇等部份資料,而這%貝枓有^、 〜貝枓即使在舸一封
第18頁 1242131 案號此109803 年 月 日 修正 五、發明說明(14) ^料(如資料D1至!)5)尚未被傳輪至網路52時,也可 丨憶存取電路66先行取得,暫存至暫存記憶體68。 |丨$ 二的圖不示意例所示,在屬於前一封包的資料D1 二中,仍有資料D3至D5尚未傳輸至網路52 ;但屬於次 封包的資料D6至D10已經可以被讀入至暫存記憶體68 。既然暫存記憶體68已將前一封包的資料…至D5完全 次輸至媒體控制模組7 0,暫存記憶體6 8中原本用來暫存 負料D1至D 5的圮憶單元就可以被釋放,而用來暫存次〆 封包的封包資料。舉例來說,像在圖十三中,資料D9、 M0就在環式(ring)記憶單元運用的情形下,被暫存至原 ,分別暫存資料D卜D2的兩記憶單元78。此時流程2〇〇相 虽於已經回到步驟步驟2 04,準備進行對次一封包的傳 輸。由於次一封包的資料(如資料⑽至D1〇)可以在前〆 封包的資料(資料D1至D5)未完全傳輸至網路前即已先 被暫存於緩衝記憶體72中,一旦等前一封包的資料完全 破傳輸至網路52後,媒體存取電路74就可以馬上跟著將 次一封包的資料繼續傳輸至網路5 2。換句.話說,在本發 |明中,由前一封包的資料傳輸完畢到次一封包開始傳輸 ^間的時差就能有效縮短,以有效增加網路資料傳輸的 放率。甚至,更進一步地,只要媒體存取電路7 4的設計 |可以精確控制,本發明還可以讓媒體存取電路74在原本 儲存於緩衝記憶體72中的資料已部份被傳輸至網路52 後,便自暫存記憶體68輸入新的資料來取代 丨資料。 欲1寻輸的
1242131 五 全 成 包 次 傳 差 提 技 輸 示 憶 前 路 暫 次 記 案號 92109803 、發明說明(15) 總結來說,在習知 將一封包的所有資料 訊號之觸發下,由記 的封包資料,再經由 _封包的資料傳輸至 開始將次一封包傳輸 輸完成後到次一封包 ’導致習知技術網路 升電腦對網路資源存 術則是在暫存記憶體 經過)緩衝記憶體後, 記憶存取電路,讓記 體來暫存次一封包的 一封包的資料還暫存 傳輸至網路,屬於次 存記憶體中;一旦前 封包的封包資料就 憶體,馬上由媒體存 年 月 i在本發明中 間 更 丨傳 封包 的時差就能大幅縮減 順暢連續地傳輸各個 輸的效率,讓使用者 技術中,要等到媒體存 皆傳輸至網路後,才會 憶存取電路開始取得屬 暫存記憶體、緩衝記憶 媒體控制模組,再由媒 至網路。如此一來,在 開始傳輸之間,就會有 資料傳輸的效率較差, 取的效能。相較之下, 將一封包的資料完全傳 暫存記憶體即以中斷$ 憶存取電路可以開始使 封包資料。換句話說, 於緩衝記憶體而未由媒 一封包的資料都已經開 一封包的資料完全傳輸 可立即由暫存.記憶體傳 取電路傳輸至網路。這 傳輸完成到次一封包開 ’讓媒體存取電路能較 封包的資料,進而提升 能快捷地存取網路資源 取電路完 在傳輪完 於次一封 體陸續將 體存取電 前一封包 相當的時 無法有效 本發明的 輸至(或傳 卜求訊號提 用暫存5己 即使屬於 體存取電 始暫存於 至網路’ 輸至缓衝 樣一來, 始傳輸之 習知技術 網路資料 .^ 在貫際實施本發明時,記憶存取 在接收到預設數目次數(可以是一次或複數 路6 6可以 )的中斷 1242131 i 妃 修正 一月 a 年 案號92i09803 ·'〜··〜… 五、發明說明(16) 要求時’才實ρ :避免太頻繁的處理器54發出一個中斷要求,以 ♦鈇,4 s 二辦要求減低中央處理器54運作的效能。 能的影變,十= 斷要求次數對中央處理器54運作效 是將資別的技術克服此方面的問題’或 要時,本發明(例如上的比中央處理器的運作效能重 在暫存記憶體中之封;^次各貫施例)可以’只要原本儲存 過)媒體控制模纟且、匕貝料有部份被傳輸至(或傳輸經 封包資料輸入'至暫’存便?發味出中斷要求’藉以將部份之另一 封包資料。舉例! 1憶體中以取代已被傳輸過之部份 路52之資料係以封^丄^然在現行的技術,要傳輸至網 整單位的形式被傳輪貝,(一位元至多數位元)為一個完 5 0内部中,要值仏^ 但如果未來的技術演變到在電腦 料為單位來52之資料可以不以整個封包資 可以不以整個-七次」疋在要傳輸到網路介面電路6 0時 有多少單位之資^ 7屬4為^單_位來傳輸’本發明便可以每 輸到媒體存取電路74,、則一封包)自暫存記憶體68被傳 料(屬於後一封包)並德便自電腦’ 5 0輸入多少單位之新資 傳輸至媒體存取雷跋7 f至暫存5己憶體6 8中以取代已被 架構也可兼容習知姑^ 4中之部份資料。當然,本發明的 封包的資料完全傳輸;;:J,當媒體存取電㉟74將-暫存記憶體68向記恃、在=路後,以一傳輸完成訊號觸發 本發明之精神特別g用】,66發出一辛斷要求訊號。 面電路,因為在螯夕 ;又夕工(full duplex)的網路介 傳輸、接收是在兩d: Ϊ介面電路中,封包訊號的 條不同的貫體傳輸線上進行,故在網
第21頁 1242131 B, 案號 92109803 一^一—^^--~^修正 五、發明說明U7) 路介面電路將訊號向網路傳輸出去時,不會剛好碰到由 網路傳向網路介面電路的訊號;由於傳、收的訊號不會 發生訊號碰撞,媒體存取電路也就不會因為訊號碰撞而 要重新傳輸一封包。這樣一來,即使前一封包的資料尚 未傳輸至網路而只是暫存於緩衝記憶體,暫存記憶體原 先用來暫存前一封包的記憶單元也可以被釋放、覆寫而 用來暫存次一封包的相關資料。 以上所述僅為本發明之較佳實施例,凡依本發明申 請專利範圍所做之均等變化與修飾,皆應屬本發明專利 之涵蓋範圍。
第22頁 1242131 案號 9UU98U3 平 a
圖式簡單說明 圖式之簡單說明 1 圖一 為一 典 型 電 腦 配 備 —— 習知 網 路介面 電 路 之 功 能 方 塊 不意 圖。 圖二 為圖 一 中 網 路 介 面 電 路進 行 網路資 料 傳 輸 時 的 流 程 圖。 圖三 至圖 七 為 圖 一 中 電 腦 進行 圖 二中流 程 時 於 不 同 階 段 資料 存取 之 示 意 圖 〇 1 圖八 為本 發 明 網 路 介 面 電 路配 備 於- -電 腦 中 之 功 能 方 塊 不意 圖。 圖九 為圖 八 中 網 路 介 面 電 路進 行 網路資 料 傳 Wm 時 的 流 程 示意 圖。 圖十 至圖 十 三 為 圖 八 中 電 腦進 行 圖九中 流 程 時 於 不 同 階 段資 料存 取 之 示 意 圖 〇 圖 式 之符 號說 明 1 ! 10^ 50 電 腦 12' 52 網 路 1 14、 54 中 央 處 理 器 16A, 、56A 北 橋 電 路 * 16B、 5 6B南 橋 電 路 18A, 、58A 顯 示 器 1 1 18B、 5 8 B顯 示 卡 20 > 60 網 路 介 面 電 路 1 11、 62 系 統 記 憶 體 24、 64 週 邊 裝 置 26^ 66 記 憶 存 取 電 路 28^ 68 暫 存 記 憶 體 30 > 70 媒 體 控 制 模 組 32 ' 72 緩 衝 記 憶 體
第23頁 1242131 案號 92109803 a 圖式簡單說明 34、74 媒體存取電路 36、76 3 8、4 0、7 8、8 0 記憶單元 4 2、8 2 傳輸完成訊號 4 4、8 4 中斷要求訊號 4 6、8 6 8 8 檢查電路 Dp卜DplO、 D1-D10 資料 2 0 0 流程 2 0 2- 2 0 8 傳輸電路 中斷訊號 步驟
第24頁

Claims (1)

  1. 年 月 日 平 1242131 案號 92丨⑽8U:i 所提疋修正木秦屮為的 或_式所揭露.1ΐ®Γ^认 修正 六、申請專利範圍 1. 一種加速暫存記憶體資料更新以增加網路資料傳輸 i效率之方法,用來增加一網路介面電路將資料傳輸至一 網路的效率;該網路介面電路包含有一暫存記憶體,用 來暫存要傳輸至該網路之至少一資料;該方法步驟包含 有·· 步驟一:將對應到一封包之一封包資料暫存至該暫 存記憶體; 步驟二:將該封包資料傳輸至該網路介面電路的其 它部份,以對該封包資料進行進一步處理;以及
    步驟三:將對應到未曾暫存於該暫存記憶體之另一 封包的另一封包資料暫存至該暫存記憶體。 2. 如申請專利範圍第1項之方法,係在該第二步驟之封 包資料已完整地被傳輸至該網路介面電路的其它部份進 一步處理過後,即開始進行該第三步驟以將未曾暫存於 該暫存記憶體的另一封包資料暫存至該暫存記憶體。 3. 如申請專利範圍第1項之方法,其中該第二步驟係在 |部份該封包資料已被該網路介面電路的其它部份所進一
    i步處理時,便可進行該第三步驟以將未曾暫存於該暫存 i記憶體之另一封包資料的至少一部份暫存至該暫存記憶 體以取代該部份封包資料。 4. 如申請專利範圍第1項之方法,其中該暫存記憶體之
    1242131 案號 921 ϋ98Ι}3~—’——平…一一一月一——-# 修正 六、申請專利範圍 運作模式係為先進先出。 | 5. 如申請專利範圍第1項之方法,若該封包資料中可分 為一第一部份資料及一第二部份資料,則尚可以在該第 一部份資料已被傳輸至該網路而該第二部份資料尚未傳 輸至該網路時,開始將未曾暫存於該暫存記憶體過之另 一封包一料的至少一部份暫存至該暫存記憶體。
    6. 如申請專利範圍第5項之方法,其中當要將未曾暫存 於該暫存記憶體之另一封包資料的至少一部份暫存於該 暫存記憶體時,係以另一封包資料來覆寫該第一部份資 料。 7. 如申請專利範圍第5項之方法,其中當進行該第三步 驟時,係將未曾暫存於該暫存記憶體之另一封包資料逐 步依序儲存於該暫存記憶體中原本儲存該第一部份資料 的部份。. I
    I 8. 如申請專利範圍第1項之方法,若該網路介面電路係 使用電性耦接至該暫存記憶體與該網路之一媒體控制模 組來進一步處理位於該暫存記憶體之多數資料並將進一 步處理過之該些資料傳輸至該網路,只要原本位於該暫 存記憶體中之該封包資料已經全部被該媒體控制模組所 處理,便可以開始以未曾暫存於該暫存記憶體過之另一
    1242131
    六、申請專利範圍 封包資料取代該暫存記憶體原本所儲存之該封包資 9. 如申請專利範圍第8項之方法,其中,當進行1 步驟及第三步驟時,當該第二步驟中已被該媒體控 組所處理之該封包資料已經部份被傳輸至該網路, 開始進行該第三步驟,以未曾暫存於該暫存記憶體 一封包資料取代該暫存記憶體中原本儲存之該封包 已被傳輸至該網路之部份。 1 0.如申請專利範圍第8項之方法,當該媒體控制;ί 有一緩衝記憶體時,係將來自該暫存記憶體之資料 存於該緩衝記憶體。 1 1.如申請專利範圍第1 0項之方法,其中該緩衝記 之運作模式係為先進先出。 1 2.如申請專利範圍第1 0項之方法,其中,當進行 二步驟時,只要原本位於該暫存記憶體中之該封包 已經全部被轉移至該緩衝記憶體,便可以開始進行 三步驟,以未曾暫存於該暫存記憶體過之另一封包 取代該暫存記憶體原本所儲存之該封包資料,不論 移至該緩衝記憶體之該封包資料是否已被傳輸至該 路0 料。 \ % 二 制模 即可 之另 資料 I組具 先儲 憶體 該第 資料 該第 資料 被轉 網
    年 月
    1242131 案號 丨ϋ;」803 六、申請專利範圍 1 3. —種可加速暫存記憶體資料更新以增加網路資料傳 輸效率的網路介面電路,用來控制對一網路的資料存 取;該網路介面電路包含有:
    一媒體控制模組,用來將一封包傳輸至該網路; 一暫存記憶體,用來暫存對應到該封包之一封包資 料;而該暫存記憶體中設有一檢查電路;當該暫存記憶 體將該封包資料傳輸至該媒體控制模組後,該檢查電路 便會使該暫存記憶體產生一中斷要求訊號;以及 一記憶存取電路,可在接收到該中斷要求訊號後, 將對應到另一封包的另一封包資料暫存至該暫存記憶 體。 1 4.如申請專利範圍第1 3項之網路介面電路,該檢查電 路係在該封包資料已完整地被該網路介面電路之其它部 份所處理過後,才發出該中斷要求訊號。 .1 5.如申請專利範圍第1 3項之網路介面電路,該檢查電 路係在部份該封包已被該網路介面電路之其它部份所處 |理時,便發出該中斷請求訊號以輸入部份之該另一封包
    丨資料。 | I i 1 6.如申請專利範圍第1 3項之網路介面電路,其中該媒 I體控制模組中另包含有一緩衝記憶體;該緩衝記憶體可 i在該媒體控制模組將來自該暫存記憶體之該封包資料完
    第28頁 1242131 案號 92丨09803
    年 月 曰
    六、申請專利範圍 全傳輸至該網路前,暫存該封包資料尚未被傳輸至該網 路之部份。 1 7.如申請專利範圍第1 3項之網路介面電路,其中該暫 存記憶體之運作模式係為先進先出。 1 8.如申請專利範圍第1 6項之網路介面電路,其中該緩 衝記憶體之運作模式係為先進先出。
    1 9.如申請專利範圍第1 3項之網路介面電路,該網路介 面電路係為一適用於雙多工(full duplex)的網路介面電 路0 2 0 .如申請專利範圍第1 3項之網路介面電路,該暫存記 憶體係以環式單元的方式在循環運用其所有記憶空間。
    第29頁
TW092109803A 2003-04-25 2003-04-25 Method and related circuit for increasing network transmission efficiency by speeding data updating rate of memory TWI242131B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW092109803A TWI242131B (en) 2003-04-25 2003-04-25 Method and related circuit for increasing network transmission efficiency by speeding data updating rate of memory
US10/709,200 US7451240B2 (en) 2003-04-25 2004-04-21 Method and related circuit for increasing network transmission efficiency by increasing a data updating rate of a memory
US12/241,077 US7822040B2 (en) 2003-04-25 2008-09-30 Method for increasing network transmission efficiency by increasing a data updating rate of a memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW092109803A TWI242131B (en) 2003-04-25 2003-04-25 Method and related circuit for increasing network transmission efficiency by speeding data updating rate of memory

Publications (2)

Publication Number Publication Date
TW200422840A TW200422840A (en) 2004-11-01
TWI242131B true TWI242131B (en) 2005-10-21

Family

ID=33297692

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092109803A TWI242131B (en) 2003-04-25 2003-04-25 Method and related circuit for increasing network transmission efficiency by speeding data updating rate of memory

Country Status (2)

Country Link
US (2) US7451240B2 (zh)
TW (1) TWI242131B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6937593B1 (en) * 1997-12-31 2005-08-30 Mci Communications Corporation System and method for servicing calls originating via the internet
TWI242131B (en) * 2003-04-25 2005-10-21 Via Networking Technologies In Method and related circuit for increasing network transmission efficiency by speeding data updating rate of memory
US7844665B2 (en) 2004-04-23 2010-11-30 Waratek Pty Ltd. Modified computer architecture having coordinated deletion of corresponding replicated memory locations among plural computers
WO2006110937A1 (en) * 2005-04-21 2006-10-26 Waratek Pty Limited Modified computer architecture with coordinated objects
EP1773043A1 (en) * 2005-10-06 2007-04-11 Dibcom Method and system for storing data packets

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410546A (en) * 1993-11-01 1995-04-25 Storage Technology Corporation Apparatus and method for CRC computation over fixed length blocks containing variable length packets of data received out of order
US5526050A (en) * 1994-03-31 1996-06-11 Cognex Corporation Methods and apparatus for concurrently acquiring video data from multiple video data sources
US7145868B2 (en) * 1997-11-28 2006-12-05 Alcatel Canada Inc. Congestion management in a multi-port shared memory switch
US6667983B1 (en) * 1999-05-27 2003-12-23 3Com Corporation Scaleable priority arbiter for arbitrating between multiple FIFO entry points of a network interface card
US6430661B1 (en) * 1999-06-28 2002-08-06 Legerity, Inc. Method and apparatus for accessing variable sized data with prioritization
US8019901B2 (en) * 2000-09-29 2011-09-13 Alacritech, Inc. Intelligent network storage interface system
TW561740B (en) * 2002-06-06 2003-11-11 Via Tech Inc Network connecting device and data packet transferring method
US7089282B2 (en) * 2002-07-31 2006-08-08 International Business Machines Corporation Distributed protocol processing in a data processing system
US7307998B1 (en) * 2002-08-27 2007-12-11 3Com Corporation Computer system and network interface supporting dynamically optimized receive buffer queues
TWI242131B (en) * 2003-04-25 2005-10-21 Via Networking Technologies In Method and related circuit for increasing network transmission efficiency by speeding data updating rate of memory

Also Published As

Publication number Publication date
US20090022158A1 (en) 2009-01-22
US7822040B2 (en) 2010-10-26
TW200422840A (en) 2004-11-01
US20040213277A1 (en) 2004-10-28
US7451240B2 (en) 2008-11-11

Similar Documents

Publication Publication Date Title
CN1698337B (zh) 利用卸载单元处理tcp连接数据的方法
US7631106B2 (en) Prefetching of receive queue descriptors
US8583839B2 (en) Context processing for multiple active write commands in a media controller architecture
US6526446B1 (en) Hardware only transmission control protocol segmentation for a high performance network interface card
CN111930676B (zh) 多处理器间的通信方法、装置、系统及存储介质
US7957392B2 (en) Method and apparatus for high-performance bonding resequencing
US6487627B1 (en) Method and apparatus to manage digital bus traffic
JP2003511777A (ja) ハードウェア実行又はオペレーティングシステム機能の加速のための装置及び方法
WO2016202120A1 (zh) 一种队列存储空间管理方法及装置、计算机存储介质
TWI247215B (en) Communication system for raising channel utilization rate and communication method thereof
CN112003800B (zh) 不同带宽端口报文交换传输方法和装置
TWI242131B (en) Method and related circuit for increasing network transmission efficiency by speeding data updating rate of memory
TW201319819A (zh) 使用資料傳輸率節流來執行序列ata連接的資料傳輸之方法、電腦可讀媒體和計算裝置
US6988160B2 (en) Method and apparatus for efficient messaging between memories across a PCI bus
TW200406682A (en) Method, system and program for configuring components on a bus for input/output operations
TWI235921B (en) System and method for effectively performing physical direct memory access operations
US6766358B1 (en) Exchanging messages between computer systems communicatively coupled in a computer system network
CN116954675A (zh) 已用环表更新方法及模块、后端设备、介质、设备、芯片
US7284075B2 (en) Inbound packet placement in host memory
US8589632B1 (en) Arbitration method for programmable multiple clock domain bi-directional interface
US20210329061A1 (en) In-network compute assistance
US7239640B1 (en) Method and apparatus for controlling ATM streams
CN117149670A (zh) 计算装置以及缓存计算装置中的计算核的相关数据的方法
CN119292804A (zh) 一种跨进程的数据零拷贝方法及装置
CN117201486A (zh) 一种用于云计算平台的镜像加速传输方法及介质

Legal Events

Date Code Title Description
MK4A Expiration of patent term of an invention patent