TW488134B - Efficient packet buffer management in a digital subscriber line access multiplexer - Google Patents
Efficient packet buffer management in a digital subscriber line access multiplexer Download PDFInfo
- Publication number
- TW488134B TW488134B TW089114935A TW89114935A TW488134B TW 488134 B TW488134 B TW 488134B TW 089114935 A TW089114935 A TW 089114935A TW 89114935 A TW89114935 A TW 89114935A TW 488134 B TW488134 B TW 488134B
- Authority
- TW
- Taiwan
- Prior art keywords
- packet buffer
- memory
- data
- packet
- size
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2869—Operational details of access network equipments
- H04L12/2878—Access multiplexer, e.g. DSLAM
- H04L12/2892—Access multiplexer, e.g. DSLAM characterised by the access multiplexer architecture
- H04L12/2896—Distributed processing, e.g. on line cards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9084—Reactions to storage capacity overflow
- H04L49/9089—Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
- H04L49/9094—Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/168—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP] specially adapted for link layer protocols, e.g. asynchronous transfer mode [ATM], synchronous optical network [SONET] or point-to-point protocol [PPP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
488134 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(1 ) 相關申請案之對照 無0 •與政府贊助的研究或開發有關之聲明 無0 發明背景 發明是屬於資料通訊之領域,尤係有關在一多通訊協 疋$衣境中對多工化多個頻道通訊之控制。 在最近幾年中,經由傳統電話網路及接線進行通訊的資 料傳送速率已大幅增加。此種資料傳送速率的増加大部分 是由於新採用的用來代表所傳送的訊息或資料的信號之多 工及調變技術,因而使通訊頻寬大幅增加。此外,在、近 幾年中,用來進行此種通訊的载波信號頻率也已增加,因 而進一步提高了位元傳送速率。 係以一種在本門技術中被稱爲數位用户線路⑴⑷⑷ Subscriber Line ;簡稱D s L )的較新型之現有數據機通訊技 術獲致此種較高的資料傳送速率。DSL一般意指一種經由 傳統的電話公司線路而通常在有限的距離下傳送較高的頻 寬之公眾網路技術。現在已根據特定的 率' 傳送資料所用的媒介之類型及長度、以及用;:= 送的資料編碼及解碼之架構,而將DSL進一步分成數種不 同類型的技術。根據該技術,各DSL數據機間之資料傳送 速率可能遠大於現有語音數據機的速率。事實上,現有的 DSL系統係在範圍自5〇〇 Kbps(每秒千位元)到i8 (每 秒百萬位元)或更高的資料傳送速率下工作(或預計在此種 4---ί------Awl I ^-----r----------- (請先閱讀背面之注意事項再填寫本頁) -4- 經濟部智慧財產局員工消費合作社印製 488134 A7 _ _ B7 五、發明說明(2 ) 狀態下工作)。根據某些傳統的技術,例如根據被稱爲非 對稱數位用户線路(Asymmetric Digital Subscriber Line ;簡 稱ADSL)且係對應於ANSI標準T1.413的通訊協定,資料通 訊速率是不對稱的。所謂的下行通訊(亦即自電話網路妙 局到用户數據機)通常有較高的速率,而自用户數據機到 總局的上行通訊則有比該下行通訊速率低許多的資料傳送 速率。 一 D S L通訊網路中的一不可或缺部分在本門技術中被稱 爲數位用户線路接取多工器(Digital Subscriber Line Access Multiplexer ;簡稱DSLAM)。DSLAMs通常係位於電話網路 的一總局中,且包含可連接用户數據機的多個DSL數據機 埠。DSLAM的主要功能在於將用户下行通訊自其多個 D S L數據機埠多工化到諸如可包含一伺服器及一網際網路 閘道器的一區域網路(LAN)等的一網路;DSLAM亦將來自 該網路的返回下行通訊解多工,以便經由該等D S l埠而傳 送到用户。 通常可以多個分別支援一個或多個D S L埠的線路介面卡 實現傳統的DSLAMs。在該等D S L埠上接收的通訊通常是 封包形式’母一封包具有起始碼或結尾碼(或以上兩者), 而起始碼或結尾碼包含用於封包訊息的適當路由資訊。一 DSLAM控制器功能執行適當的訊框控制位元***(framing) 及資料格式化,利用此種方式且根據適當的通訊協定而將 在D S L埠上接收的封包傳送到DSLam中的一網路介面卡 (Network Interface Card ;簡稱NIC),並因而傳送到該網 -5- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 裝 . 488134 A7 B7 五、發明說明(3 ) 經濟部智慧財產局員工消費合作社印製 路。 在有可經由該網路而進行的範圍寬廣之網路通訊時,需 要有典型的DSL AMs來處理多個通訊協定。這些通訊協定 包括點對點通訊協定(Point-to-Point Protocol ;簡稱 PPP)、網際網路通訊協定(Internet Protocol ;簡稱 I P )、位址決定通訊協定(Address Resolution Protocol ;簡 稱ARP)、簡單網路管理通訊協定(simple NetworkManagement Protocol ;簡稱SNMP)、及其他的通訊協定。在DSL AM對自D S L埠接收的及將要經由d S L埠傳送的 D SL通訊進行多工化及處理時,可能需要該DSLam將一 特足的封包格式化或重新格式化到多種此類的通訊協定。 因爲每一這些程序可能都要對每一封包的封包起始碼或結 尾碼進行修改、添加、或删除,所以傳統的DSLAMs工作 時要重複地讀取並重新寫入包含封包的記憶體區段。 考慮到DSLAM所產生的記憶體拷貝數時,以該傳統方式 進行封包處理所需的記憶體及處理資源可能是相當多的。 所需的記憶體資源意指可用來儲存各種拷貝的記憶體容 量,而所需的處理資源意指處理器爲了要寫入及讀取該等 拷貝必須執行的作業(及週期)數目。在多個dsl埠的每一 DSL埠有-封包的情形中,我們可以下式來估計用來控制 多個DSL埠或頻道的—DSLAM處理器所要執行的記憶體 拷貝數N :N = (2n + A + l)*c 其中C是DSLAM處理器所控制的DSL蜂或頻道數,η是 本紙張尺度適用中國國家標準(CNS)A4規格(21〇 (請先閱讀背面之注意事項再填寫本頁) 裝 · %· -6- 488134 A7 B7 五、發明說明(4 ) DSLAM處理每一封包所用的通訊協定數(由於有上行通訊 及下行通訊,所以η是2的倍數),且A是DSL AM執行的多 個應用程式所用之記憶體拷貝數;額外的拷貝(亦即,在 該方程式中爲“ 1 ”)代表自DSLAM的接收緩衝區到傳送緩 衝區的一封包拷貝。縱使對於一種採用兩個通訊協定且一 DSLAM應用程式無須任何額夕卜拷貝的簡單系統而言,在該 DSLAM的每一 DSL頻道中,每一封包也需要有五份拷 貝。考慮到一 DSLAM所要處理的D S L頻道數可能相當 大,且亦考慮到D S L數據機通訊的封包資料傳送速率時, 此種傳統DSLAM配置所需的記憶體及處理資源變得相當 大。事實上,此種傳統作業中需要的記憶體空間通常超過 傳統控制處理器所能使用的晶片内建記憶體,因而在 DSLAM架構内需要有一記憶體子系統。 經濟部智慧財產局員工消費合作社印製 ϋ ϋ ϋ I i·— I · ϋ H (請先閱讀背面之注意事項再填寫本頁) 4 傳統的DSLAMs所執行的線路介面卡功能現在通常使用 諸如由 Texas Instruments Incorporated所供應的丁MS320C5x 及TMS320C6x系歹J數位信號處理器(Digital Signal Processors ;簡稱DSPs)等的DSPs,以便以高速方式處理 DSLAM所傳送的資料。最好是以一類似的DSPs實施 DSLAM中之控制器,以便不需要在各線路介面卡DSPs與 DSLAM控制器(及NIC)之間進行資料轉換;事實上,在諸 如TMS320C6X等級的現階段最高技術DSPs之情形中,我們 了解能會有足夠的處理容量,因而可使用處理線路介面卡 處理所用的同一個D S P執行控制功能。然而,爲了保持最 高的效能,最好是使用DSPs的晶片内建記憶體來處理封包 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 488134 A7 B7 五、發明說明(5 ) 通訊協定處理;而如前文所述,由於在各通訊協定之間拷 貝封包需要用到大量的記憶體資源,所以根據傳統的實施 方式時,將無法將D S P晶片内建記憶體用於此種功能。 發明概述 因此,本發明之一目的在於提供一種數位用户線路接取 多工器(D SLAM)、及操作該DSL AM的方法,其中係將資料 封包的通訊協定轉換所需之記憶體及處理資源減至最少。 本發明之另一目的在於提供此種DSLAM及方法,而根據 該方法,可於通訊協定轉換期間將高速晶片内建記憶體用 於儲存所傳送的封包。 本發明之又一目的在於提供此種DSL AM及方法,而根據 該方法,可利用一數位信號處理器(DSp)實現DSLAM控制 器的功能。 本發明之又一目的在於提供此種DSLAM及方法,而根據 違方法,可以一種與D S P或其他控制器一致的方式執行晶 片内建記憶體的分配。 本發明之又一目的在於提供此種DSLAM及方法,而根據 該方法,可避免封包記憶體資源的分割。 熟悉本門技術者若參照下文的説明書並配合各圖示,將 可以於了解本發明的其他目的及優點。 可利用一數位用户線路接取多工器(dslam)内的一封包 緩衝管理器功能實施本發明。該封包緩衝管理器分配可用 來儲存資料封包及起始碼的一連續記憶體區段。不論是自 網路介面或自一 D S L埠接收資料封包,都可將每一封包儲 -8- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公望) Λ ϋ l»^Ti I ϋ ϋ n n ϋ I J n (請先閱讀背面之注意事項再填寫本頁) . 4 經濟部智慧財產局員工消費合作社印製 488134 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(6 存在一資料結構中的記憶體區段中,而該資料結構不只是 爲I所傳送的資料而m夠的空間,也爲了預期將= 於孩封包的每_通訊協定之未來起始石馬及結4碼而保留足 =的2間。該資料結構中的一資料偏移指標指向實際封包 貝料的開始處。參照其中包含資料指標的各種指標,即可 對封包進行控管資料(起始碼及結尾碼)的添加、修改、及 =除,並不需要拷貝資料封包本身。於傳輸時,空出該區 •k所佔用的$己憶體邵分,而恢復連續區段,以避免分 附圖簡述 ° 圖1是可用來貫施本發明較佳實施例的一數位用户線路 (DSL)通訊網路之電氣方塊圖。 、圖2是根據本發明較佳實施例而建構的一數位用户線路 接取多工器(Dslam)之電氣方塊圖。 圖3疋可用來實施本發明較佳實施例的控制器的 一數位信號處理器(Dsp)架構之電氣方塊圖。 圖4是可根據本發明較佳實施例而操作圖2所示 的軟體架構之方塊圖。 ^ 在根據本發明較佳實施例的圖2所示DSL AM控制 斋的曰曰片内建記憶體中一記憶體共用區配置之記憶體對映 圖。 圖6疋根據本發明較佳實施例的控制器作業之流 程圖。 圖7疋根據本發明較佳實施例的控制器的一應用 之方塊圖。 -9 - 在G度適用中國涵票準(cns)a7^· (210 x 297 公釐) I ί ϋ ^i^li i IBP «ϋ —ϋ ϋ ϋ·· I u JH.r>v « tmmm ϋ (請先閱讀背面之注意事項再填寫本頁) 訂:
五、發明說明( 圖8 a到8 c是;4» 〇 m艨本發明較佳實施例的圖5所示記憶體共 用區中封包緩衝區資料项實例的位置之記憶體對映圖。 圖9 a到9 e不出根據圖6所示方法而於通訊協定處理期間 本發明較佳實施例在記憶體共用區中的〆封包緩衝區上之 作業。 圖〇疋根據本發明第二較佳實施例的封包緩衝區資料項 的連結配置之記憶體對映圖。 本發明之詳細說明 首先請參閱圖1,現在將説明可實施本發明較佳實施例 的一數位用户線路(DSL)通訊網路。將參照一DSL網路而 説明本發明之較佳實施例,因爲我們認爲當將本發明應用 於DSLit訊時將特別有利;當然,我們當了解,在熟悉本 門技術者參閱本説明書之後,將可易於將本發明應用於其 =類型的通訊。此夕卜,只是以舉例方式説明圖i所示之特 定DSL網路,我們認爲熟悉本門技術者在參閱本説明書之
後,將可易於將本發明之效益應用於根據其他配置的ML 網路,且如前文所㉟,亦可應用於根據其他技術的資料通 訊0 、、如> 圖1所示,一DSL通訊網路包含多個用户端位置Η, 該等位置可對應於家庭或辦公室用户端位置。在該dsl配 置中,,例示的用户端位置H〇包含一 DSL數據機2〇,用以 處理進出用户端電腦4 〇之通訊。電話手機6 〇係以平行於 DSL數據機2〇之方式連接到分配器8〇,而在本門技術中習 見的該分配器提供適當的過濾作業,以便將語音通訊傳送 10- ^紙張尺度適用中國國家標準(CNS)A4規格(210 x 297公釐) I w n ϋ— ι ^^1 1^1 1^1 ϋ I II ϋ (請先閱讀背面之注意事項再填寫本頁) . 經濟部智慧財產局員工消費合作社印製 34 ?? 經濟部智慧財產局員工消費合作社印製 A7 -—----— —__B7_、發明說明(8) 到手機6 G,並將資料通訊傳送到D s [數據機2 g。分配器8 〇 係連接到其中一個本地電話網路設施T w ρ,而可利用傳 統的雙绞銅線實施該本地電話網路設施r w ρ。可以類似 I方式構建其他的用户端位置Η,或者可以本門技術中習 知的其他方式實施其他的用户端位置Η。 圖1所不實例對應於類比語音信號以較下行通訊低的頻 率傳輸因而可讓兩類的通訊同時重疊在相同的電話網路設 施上之這類D S L通訊。此外,亦可使用在本門技術中被稱 爲“無分配器式”DSL,其中DSL數據機接收語音通訊, 並將語音通訊轉換成封包通訊,且以與資料通訊類似的方 式將讀語音封包當作數位封包蚶而在電話網路上傳送。亦 可根據此種無分配器式技術,在相同的效益下將本發明應 用於D S L通訊。 在圖1所示之實例中,以直接方式,或以混合雙绞線及 光纖且配備有爲了可靠的通訊而設的中繼器及其他網路元 件(圖中未示出)之方式,將各設施T W Ρ連接到總局C Ο。 當如同在本實例中涉及語音通訊時,總局C 〇通常係位於 電話提供者所在的場所。此外,亦可將D s L通訊限於資料 通訊’在此種情形中,總局C〇可以是一伺服器位置,例 如用户端位置Η可與其傳收資料的公眾或專屬(網際網路 或企業内網路)伺服器位置,在此種情形中,將不具有類 比#吾音信號的能力。 如圖1所示,數位用户線路接取多工器(DSLAM)(10)接收 每一雙绞線設施T W P,而將於下文中參照本發明較佳實 -11 - (請先閱讀背面之注意事項再填寫本頁) •t 裝 一SJ· .¾. 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 經濟部智慧財產局員工消費合作社印製 488134 B7_ ___ 五、發明說明(9 ) 施例而進一步詳述DSLAM( 10)之構造。在本實例中, DSLAM(IO)可將語音信號自設施τ WP上接收的資料通訊中 分離,並將這些信號經由亦設於總局C Ο的語音數位交換 機(12)而傳送到公眾電話交換網路(pubiic Switched Telephone Network ;簡稱PSTN);當然,亦可以傳統方式 由數位交換機(12)處理自pSTN到一用户端位置Η (例如在 用户端位置Η 〇上的手機6 〇)之語音通訊。 對於資料通訊而言,如圖1所示,DSLAM(IO)係與諸如 在總局C Ο上的區域網路(LAN)( 14)等的一本地網路通訊; 此外’作爲網際網路服務供應商上的總局實施例之典型作 業’ DSLAM(IO)亦可與一非同步傳輸模式(ASynchr〇n〇us Transfer Mode ;簡稱ATM)網路通訊,而利用該atm網路 以更直接的方式與網際網路進行雙向通訊。再回到圖1所 示之例子,如本門技術中所習知的,可以諸如以太網路等 的傳統LANs之方式配置LAN( 14),其中可以傳統方式經由 以太網路進行通訊。如大家所習知的,此種LANs係與封 包通訊相容。在圖1所示之實例中,各本地伺服器(丨5)係 設於LAN(14)上,因而用户端位置H可經由DSL連線而自 該等本地伺服器(15)擷取儲存在本地的資料。此外,尤其 在電話網路應用中,可將一網際網路閘道器設於乙八叫丨斗) 上,因而用户端位置Η可經由總局c 〇而與網際網路雙向 通訊。 DSLAM(IO)亦係連接到元件管理系統咖 Management System ·’ 簡稱 EMS)(17)。EMs(i7)是諸如一個 -12- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297^^ ------ w —ϋ ϋ 1^1 n n 11 n I ·ϋ I (請先閱讀背面之注意事項再填寫本頁) . •鮝 488134 A7 _B7_ 五、發明說明(1〇) 人電腦或工作站等的一本地主電腦,可利用EMS( 17)經由 串列或平行介面而使用並控制DSLAM( 10)内的系統管理機 能。 現在請參閱圖2,現在將説明根據本發明較佳實施例的 DSLAM(IO)之一例示架構。如圖2所示,DSLAM(IO)包含 多個類比前端(Analog Front End ;簡稱A F E )機能(20),每 一 A F E機能(20)係作爲一 D S L埠,因而係雙向連接到其中 一個雙絞線設施T W P,以便自一連接的用户端位置Η接收 通訊。係以電路板之方式建構A F Ε機能(20),這些電路板 包含混合信號(亦即包含數位及類比作業)積體電路,用以 提供全雙工D S L通訊所需之所有迴路介面及線路驅動器功 能。可用來實現A F E機能(2 0 )的積體電路之例子包括 TLV320AD12局端ADSL編碼解碼器、及THS6002線路驅動 器,這兩種積體電路都是由Texas Instruments Incorporated 所供應。 DSLAM( 10)的各DSL頻道收發機(22)分別雙向連接到多 個A F E機能(20)。在圖2所示之實例中,每一 D S L頻道收 發機(22)連接到四個AFE機能(20);當然,可經由某一 DSL頻道收發機(22)處理的AFE機能(20)數及DSL頻道數 可隨著特定的DSLAM架構及D S L頻道收發機(22)之處理容 量而有所變化。各DSL頻道收發機(22)最好是一可程式數 位裝置,用以針對載送資料的傳輸及接收而執行必要的信 號處理作業。這些作業包括諸如回波消除、將資料編碼及 解碼成適當的副頻道以供傳輸、以及在頻域與時域之間執 -13- 本紙張尺度適用中國國家標準(CNS)A4規格(210>< 297公釐) ]-----裝·-- (請先閱讀背面之注意事項再填寫本頁) 訂: 經濟部智慧財產局員工消費合作社印製 經濟部智慧財產局員工消費合作社印製 488134 A7 _____________________ B7 五、發明說明(11) 行快速傅立葉變換(Fast Fourier Transform ;簡稱FFT)信 號處理等的功能。尤其在D S L資料傳送速率上,D S L頻道 收發機(22)的數位資料處理容量及能力最好是高階的,且 取好是具有至少等於Texas Instruments Incorporated供應的 TMS320CL548 DSPs等的數位信號處理器所提供之處理容 量及能力。每一 D S L頻道收發機(22)係連接到訊框控制位 元***機能(24),而訊框控制位元***機能(24)最好是實 施爲諸如前文所述的TMS320CL548等的DSP。訊框控制位 元***機能(24)執行以適當的方式將數位資料格式化成適 當的封包及訊框,以便在DSLAM( 10)内處理。雖然圖2中 明確地示出兩個D S L頻道收發機(22),但是我們當然了 解,可根據DSLAM( 10)的特定架構及能力,而將任何數目 的D S L頻道收發機(22)連接到訊框控制位元***機能 (24) 〇 DSLAM控制器(25)在一端上係雙向連接到訊框控制位元 .***器(24),而在DSLAM控制器(25)的另一端上係雙向連 接到以太網路介面卡NIC(26)、RS422高速串列介面(27)、 及RS232串列介面(28)。以太網路NIC(26)將DSLAM(IO)連 接到圖1所示的LAN(14);串列介面(27)、(28)將DSLAM(IO) 連接到亦如圖1所示的EMS( 17)。就這一點而言,DSLAM 控制器(25)根據圖2所示例示架構而執行的一種功能即 是··回應經由串列介面(27)、(28)自EMS(17)接收的(或替 代性地經由以太網路NIC(26)自LAN(14)接收的)控制指 令,而在當地控制DSLAM(IO)之設定及作業。在將資料傳 -14- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -—f------Aw—裝-----„—訂-------- (請先閱讀背面之注意事項再填寫本頁) 488134 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(12) 送進出該等DSL埠時,DSLAM控制器(25)執行下列功能: 處理連接到DSLAM(IO)中的各A F E機能(20)的該等D S L頻 道之資料流控制及頻道管理;以及處理該等D s L頻道與 NIC(26)間之資料流控制。如將於下文中詳細説明的, DSLAM控制器(25)亦根據諸如ppp、ip路由、及arp等的 各種通訊協定,而執行第2層及第3層的網路通訊協定處 根據本發明之較佳實施例,可將DSLAM控制器(25)實施 爲前所述D S L A Μ控制器機能專用的一單一 D S P裝置,該 DSP裝置具有諸如由前文所述Texas Instruments Incorporated所供應的TMS320CL548 DSP所具有的能力。就 這一點而言,用來作爲DSLAM控制器(25)的此種DSP裝置 最好是具有晶片内建的隨機存取記憶體(Random Access Memory ;簡稱RAM),例如前文所述TMS320CL548 DSP的 情形。此外,在將諸如由Texas Instruments Incorporated所 供應的TMS320C6x等級DSP等具有較高處理能力的DSP用 於DSLAM( 10)中的其他機能(亦即訊框控制位元***機能 (24)及DSL頻道收發機(22))之情形中,且如果該DSP中還 有足夠的處理容量來處理DSLAM控制器(25)之機能時,則 可在一單一 DSP裝置中實施DSLAM(IO)的數位機能。因 此,根據特定電路的處理能力的不同狀況,圖2所示 DSLAM( 10)的機能界限可能或可能不代表用來實施這些機 能的積體電路之界限。 此外,當然可利用專用於將於下文中説明的資料流控制 -15- (請先閱讀背面之注意事項再填寫本頁) 裝 訂: 螓· 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 488134 A7 ----B7 五、發明說明(13) 作業之客户訂製邏輯電路來實施DSLAM控制器(25)。 如前文所述,最好是將DSLAM控制器(25)實施爲一數位 信號處理器(DSP),且該DSPs最好是與在DSLAM(IO)内用 來作爲D S L頻道收發機(22)及訊框控制位元***機能(24) 的其他DSP相容。以DSP實施DSLAM控制器(25)時,可在 無須資料轉換及其他應考慮的介面之情形下,使資料流經 DSLAM(IO),而將DSLAM控制器(25)實施爲一般用途微處 理器時,可能需要該資料轉換及其他應考慮的介面。此 夕卜,將DSLAM控制器(25)實施爲一 DSP時,也可將DSLAM 控制器(25)作業的相同開發平台用於DSLAM( 10)内的其他 DSPs。當然,熟悉本門技術者在參閱本説明書之後當可了 解,縱使利用非D S P裝置的此種微處理器或其他硬體實施 DSLAM控制器(25),也可實現本發明的許多效益。 現在請參閱圖3,現在將詳細説明可用來實施DSLAM控 制器(25)的DSP(130)之一例示架構。該DSP(130)實例對應 於前文所述TMS320CL548之架構,我們當了解,亦可替代 性地使用根據其他架構而建構之DSPs。 可利用一經過修改的Harvard架構實施本實例中之 DSP(130),DSP(130)因而採用分別連接到多個執行單元的 三個獨立資料匯流排C、D、E,這些執行單元包括指數單 元(132)、乘法/加法早元(134)、算術邏輯單元(Arithmetic Logic Unit ;簡稱ALU) (136)、筒形移位器(138)。累積器 (140)可讓乘法/加法單元(134)與ALU(136)平行運算,而可 同時執行乘法-累積(MAC)及算術運算。在該實例中可由 **16- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -9H ϋ ϋ ^^1 Βϋ m ·ϋ —ϋ I —ϋ Iυ'-·Λ?\ · n·. ·1 (請先閱讀背面之注意事項再填寫本頁) . 經濟部智慧財產局員工消費合作社印製 488134 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(14) DSP( 130)執行的指令集包括單一指令重複及區塊重複作 業、區塊記憶體移動指令、兩個及三個運算元讀取、有條 件的儲存作業、平行載入及儲存作業、以及專用數位信號 處理指令。DSP( 130)亦包含耦合到資料匯流排e之比較、 選擇、及儲存單元(Compare,Select,and Store Unit ;簡稱 CSSU)(142),用以加速用於許多傳統通訊演算法之viterbi 計算。 本實例中之DSP( 130)包含大量的晶片内建記憶體資源, 而記憶體/周邊裝置介面單元(145)經由資料匯流排C、D、 E、及程式匯流排p而控制對晶片内建記憶體資源的使 用。這些晶片内建記憶體資源包括隨機存取記憶體 (RAM)(144)、用於儲存程式指令之唯讀記憶體(Read_〇niy Memory ;簡稱R〇M)(146)、以及若干位址暫存器(148)。程 式控制器及位址產生器電路(149)亦連接到記憶體/周邊裝 置介面單元(145),並經由記憶體/周邊裝置介面單元(145) 自ROM(146)或其他儲存裝置接收程式指令碼,且產生將施 加到DSP( 130)的每一執行單元之控制信號,以便控制對應 於所接收程式指令碼的指令之執行。介面單元(丨5 8)亦連接 到記憶體/周邊裝置介面單元(145),以便控制外部通訊。 電源、時脈、及控制機能(15〇)—般即是Dsp(13〇)内的控制 電路’用以處理邊如電源配送及穩壓、時脈產生、及對 DSP( 13 0)的整體控制等的功能;此外,電源、時脈、及控 制機能(150)可進一步實施其他的介面機能,例如串列及主 機埠、以及定時器、JTAG測試介面電路、及内建自我測 -17 - 本紙張尺度適用中國國家標準(CNS)A4規格(21〇 X 297公爱) :ϋ — I ϋ ·ϋ m —^1 n I ϋ ϋ (請先閱讀背面之注意事項再填寫本頁) .. m 經濟部智慧財產局員工消費合作社印制衣 五、發明說明(15 試電路等的額外控制功能。 如t文所述,DSLAM控制器(25)執行在傳輸及接收方向 上的貝料封包之網路通訊協定處理。現在請參閱圖4,現 在將〃兑明利用根據本發明較佳實施例的30)實施之 DSLAM控制器(25)軟體架構。 圖4所示之架構係基於即時核心㈠〇),即時核心(3〇)包含 作爲DSLAM控制器(25)軟體的其餘部分的基礎之若干功能 元件。這些元件包含根據本發明較佳實施例的一即時排程 益、一標準1 /0管理系統、及一封包導向記憶體管理系 統。 根據本發明較佳實施例的即時核心(3〇)之即時排程器部 分使用基於優先順序的事件驅動式依序循環執行排程,以 便處理在DSLAM控制器(25)的控制下通過DSLAM(IO)之非 同步網路介面資料通訊及訊息傳輸。在該實例中,係以一 事件描述碼資料結構描述每一事件,該資料結構指示事件 的類型及優先順序、特定事件之通知値、旗標、狀態、與 裝置有關的資訊、及與事件相關聯的埠。 與標準I/O管理系統相關的硬體抽象層(3丨)包含DSLAM 控制器(25)所回應的每一介面機能的驅動程式軟體之與硬 體相關之部分。最好是如同將於下文中進一步詳述的可動 態堆疊式通訊協定,而根據一標準〗/ 〇模型開發A F E機能 (20)(圖2 )支援的D S L頻道、經由NIC(26)的以太網路介 面、及串列埠介面(27)、(28)之裝置驅動程式。如圖4所 示’應用程式介面(Application Program Interface ;簡稱 18- 本纸張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) • Y— · LI i 裝 . %· A7
經濟部智慧財產局員工消費合作社印製 488134 五、發明說明(16) 八?1)層(32)位於硬體抽象層(31)“之上,,,且包含£1^8蜂 I/O驅動程式(32a)、DSL頻道I/O驅動程式(32b)、以太網 路I/O驅動程式(32c)、及HSSP(高速串列埠)1/〇驅動程式 (32d)。API(32)中之這些驅動程式係作爲由圖4所示架構中 的k號通rfl協定堆登(36s)及資料通訊協定堆疊(36d)所代 表的該架構中的通訊協定層之介面。 根據圖4所示之該軟體架構,可利用一特定應用程式或 一可堆疊通訊協定驅動程式之方式實施一特定的網路通訊 協定。提供較佳效能但較少彈性之網路通訊協定實施例是 一幸父佳之網路通訊協定,但前提是該通訊協定必須在諸如 PPP通訊的NPL階段等的幾乎每一資料封包上執行。 圖4所示架構的信號通訊協定堆疊(36s)是一種主要用於 啓動在一用户端位置Η(圖1)上的一 DSL數據機2與 DSLAM( 10)間的通訊期間之通訊協定堆疊。一旦建立了一 雙向頻道之後,即將資料通訊協定堆疊(36d)用於儲存並處 理資料封包及與資料封包相關聯的控管資料(亦即起始碼 及結尾碼),其中情形將於下文中説明之。 在通訊協定堆疊層(36s)、(36d)之上,各種系統管理程式 軟體係位於圖4所示架構之API(3 8)。網路管理程式(3 8a)、 主埠管理程式(38b)、及DSL頻道管理程式(3 8c)分別將一 制式的API提供給DSLAM控制器(25)中最上層的應用程 式’這些最上層的應用程式包括一EMS代理程式、DSL 頻道IP路由、DSL頻道PPP處理、ARP及SNMP通訊協定 等。如前文所述,管理程式機能(38a)、(38b)、(3 8c)全都共 -19- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 裝 訂. 488134 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(17) 用標準I / 〇管理機能之共同程式碼庫,且同時提供與特定 裝置相關的管理機能。 在作業中,經由DSLAM控制器(25)而接收及重新傳輸之 資料封包有效地通過圖4所示之軟體架構。例如,硬體抽 象層(31)接收一個AFE機能(20)(圖2)所接收的一 DSL訊 息,作爲一組封包,然後由DSL頻道I/O驅動程式(32b)處 理該等封包,並將該等封包放到資料通訊協定堆疊(36d)。 根據各種通訊協定(而由封包緩衝區管理程式(4〇))處理資 料通訊協定堆疊(36d)中之封包(將在下文中説明封包緩衝 區管理程式(40)),然後將該等封包遞交到api(38),以便 根據Λ息的特定目的地而由相關聯的管理程式處理。一旦 適當的管理程式機能(38a)、(38b)、(38c)執行其處理之後, 然後將該封包經由資料通訊協定堆疊(36d)傳送回封包目的 地之適當I / 0驅動程式(32)。 如圖4所示且如前文所述,DSLAM控制器(25)之軟體架 構包含封包緩衝區管理程式(4〇)。封包緩衝區管理程式(4〇) 對應於一組程式指令,當作爲前爲所述DSLAM控制器(25) 的DSP(130)執行該組程式指令時,封包緩衝區管理程式(4〇) 即根據本發明而針對諸如DSLAM( 10)等的多通訊協定且多 頻道的D S L通訊系統執行一零拷貝封包導向記憶體管理系 統。封包緩衝區管理程式(40)實現的該零拷貝系統可讓 DSLAM控制器(25)經由一系列不同的網路介面、通訊協 定、及相關聯的處理而處理一資料區段,並同時維護置於 記憶體的資料區段之内容。 -20- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公爱) ----W--------------r---訂-------- (請先閱讀背面之注意事項再填寫本頁)
五、發明說明(18) 經濟部智慧財產局員工消費合作社印製 再參閱圖3,最好勢將封包緩衝區管理程式(4〇)的程式 指令儲存在用來實施DSLAM控制器(25)的DSp(i3〇)之 R〇M(146)中,且經由存取DSp(13〇)的晶片内建ram(⑷) 而執行忒等私式指令。因爲封包緩衝區管理程式(4〇)執行 的零拷貝記憶體管理所造成的記憶體需求減少,所以可根 據本發明較佳實施例而將RAM(丨44)用來儲存資料封包(及 其,關聯的控管資料)。因&,不只是可將記憶體需求降取低而且使用咼速晶片内建RAM( 144)時,可根據本發明而在DSLAM控制器(25)的控制下使資料流有更佳的效 能。 根據本發明的較佳實施例,(於啓動dslam控制器(25) 時)預先將一部分的RAM(144)分配爲一記憶體共用區,以 便於執行時供封包緩衝區使用。圖5示出此種預先分配的 圮憶體共用區(50)之一實例。記憶體共用區(5〇)最好是 RAM(144)中的一連續記憶體區段,而其容量則是取決於 諸如DSLAM(IO)的頻道容量等的特定應用需求。也最好是 將屺憶體共用區(50)組織爲一整數數目的連續最小容量之 兄憶體區段(5〇』)。最小容量的記憶體區段之容量也取決於 DSLAM控制器(25)所服務的特定應用,且可對應於所需應 用的一取小或平均封包大小。記憶體區段(5〇ρ的容量最好 是小於平均封包大小但大於最小封包大小,且可對應於二 的乘冪倍數的資料字組。例如,當以太網路訊息的最小封 包大小爲62位元組時,可將最小容量的記憶體區段(5〇j)設 定爲64位元組(稍微大於該最小封包大小,但小於平均封
(請先閱讀背面之注意事項再填寫本頁) 裝 · .¾ 488134 A7 B7 五、發明說明(19) (請先閱讀背面之注意事項再填寫本頁) 包大小,且具有一個二的乘冪的區段間偏移量)。我們認 爲用來選擇區段(50j)的最小容量之精確度不是重要的;因 此,諸如在前文所述64位元組的最小容量中,可能需要犧 牲記憶體的使用,以便減少處理器作業及週期的數目。此 外,如將於下文中説明的,將以一資料字组爲單位而存取 每-區段(5 0』),而字组的寬度係對應於用來實施d s l a m控 制器(25)的DSP(130)之架構。 如圖5所示,記憶體共用區(5〇)具有一儲存在Dsp(i3㈠的 一整體變數儲存區之起始位址資料庫,以便用於實體記憶 體位址炙計算。一旦分配了記憶體共用區(5〇)之後,最好 是保護1己憶體共用區(50),使其他的應用不得使用該記憶 體共用區(50;)。 〜 不論DSL AM控制益(25)根據本發明較佳實施例而處理的 是來源資料或通訊協定,都利用一共用的資料結構p_BUF 而將每一訊息資料封包儲存在封包記憶體共用區(5〇)中, 其中係針對有效率地儲存可變長度的資料封包而特別設計 該P一BUF。資料結構p一BUF的配置容許其(多個訊息封包的) 多個貫例在記憶體共用區(5〇)内進行有效率的等候、分 配、及解除分配。根據本發明的一較佳實施例,可如下文 經濟部智慧財產局員工消費合作社印製 (遵彳盾一 C語言類型定義)而説明封包緩衝區資料結構 P__BUF : / *封包佇列資料項* / / *封包緩衝區總容量* / -22-
Typedef 一 P—BUF Q_ENTRY Pkt^q WORD B Size 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 五、發明說明(20) 經濟部智慧財產局員工消費合作社印製 WORD D 一 〇ffset; WORD D Size; WORD D 一 Flag; } P—BUF,*P一BUFP 封包緩衝區資料結構的名稱*~將在其起始時 資料項結構Pkt一Q是由q_ENTRy定義的仔列資料項社 構,包含-特定資料封包緩衝區的順向及反向指標。這: 順向及反向指標分別指向現行資料封包缓衝區的相鄰起: 及結尾資㈣包緩衝區’而有助㈣等封包缓衝區之放入 佇列及取出佇列作業。 封包資料缓魅結構的每—其餘櫚位巨集描述 該資料結構中的實際機械字組。在本發明的該第一實施例 中,欄位B一Size指示分配给封包緩衝區而其中包括實際資 料及保留、给潛在通訊協定的預期起始碼及結尾碼的記情體 空間之資料字組總數。如前文所述,根據本發明較佳實施 例而使用的資料字組或區段大小最好是匹配用來實施 DSLAM控制器(25w々DSP(13〇)之自然資料字組大小。例 如,在前文所述的TMS320CL548 Dsp中,資料字組的大小 爲十六位元,或兩個位元組;因此,在欄位B—Size中(及 封包緩衝區資料結構的其他欄位中)表示的資料字組數將 才曰疋十7T位元資料字組之數目。欄位B-Size指示的記憶體 大小應爲上述最小區段大小的一整數倍,以便能得到本發 明的完整效益。 資料起始偏移量* / 總有效資料大小* / 資料旗標* / (請先閱讀背面之注意事項再填寫本頁) 裝 訂: 峰 23- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 五 發明說明(21) 襴位D-Offs_示自資科封包缓衝區的起始位址 包緩衝區中實際資料的筮 , , 以封 文m 有效字組之字組數。如將於下 =月中解説的’調整該襴位"細的値,以便代表資 上將由-特定通訊協定考慮的部分。例如,只要調整糊 ^—Offset的値,而不再將所要刪除的—起始碼包本^爲 料的—部分,即可根據本發明較佳實施例:完成 “ ^相^也,改變搁位Μ _ 、 >貝、斗,然後將所需的起始碼***該新區域,即可 加入-起始碼。因此’根據本發明的較佳實施 位之〇細的値時,即可在不需要拷貝記憶體中的二 情形下修改起始碼資料。當欄位D_size指定資料封包=衝 組爲單位的有效資料大小時’該襴位係配合 欄位D_〇ffset而作業。因此,當加入或刪除起始碼時,係 連同攔位D—〇ffset値的修改而修改欄位D-Size的値;此 外,可以類似於前文中對欄位D—〇ffset所述之方式,妒由 攔位D—Size値的修改,而加入或刪除實際資料之結尾碼。 在根據本發明較佳實施例的資料封包緩衝區結構^設有 欄位D—Flag,用以指示攔位D—以^指示的有效資料的最後 :個資料字組中之有效資料位元組數目。如前文所述,通 常係將訊息封包組織成位元組,而DSLAM控制器(25)中 DSP(130)所用的資料字組或區段之寬度爲多個位元組;因 此’根據本發明較佳實施例而組織的資料封包通常在不與 資料封包相關聯的結尾資料字組中留有空的位元組,而如 果傳送這些結尾資料字組作爲資料封包的一部分,則可能 -24 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 請 j 先 閱| 讀 I s 意 事磁 項攀 再I 本 . 頁 訂 纛 經濟部智慧財產局員工消費合作社印製 488134 A7
產生-錯誤。攔位D _ F丨a g的値“指示資料封包緩衝 結尾資料罕組中之有效位元組數。我們考慮到,爲了广到 最佳的效率,欄位D_Flag中儲存的實際値將等於非有:資 料位元組之數目。例如,#果—資料封包緩衝區的最後十 六位元資料字組中只有一個位元組是有效的,則其欄位 D,g的値將爲】;相反地,如果兩個位元組都是有饮 的,則欄位0_^牦之値將爲〇。對於三十二位元的資料^ 組而言,攔位D_Flag的可能値將爲〇到3(分別對應於四到 一個位元組是有效的)。 根據本發明的第-較佳實施例,封包缓衝區管理程式 (40)(圖4)包含在API層(38)上的一函式庫。這些函式執行 封包緩衝區分配及解除分配之機能;其他的封包緩衝區作 業意義亦係包含在該函式庫中。根據本發明第一實施例的 這些函式庫機能之一份清單係如下文: P一AUoc (WORD Size,W0RD 〇ffset):該函式分配一部分 的記憶體共用區(50),以供一封包緩衝區使用。運算 元Size指定封包緩衝區的容量,且該緩衝區的位置是 在距離位址BASE的開始處有偏移量〇ffset處。將一封 包緩衝區的内容寫入所分配的該記憶體共用區(5〇: 時,係將實際封包緩衝區的内容儲存在所界定封包緩 衝區中襴位B-Size(該攔位的値將是記憶體共用區(5〇: 中的最小容量記憶體區段之一倍數)指定的一部分。 P—Free (P—BUF *pPktBuf):該函式將所分配的封包緩衝 區内容送回到1己憶體共用區(5〇)。如將於下文中説明 -25- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) i^i ϋ ^-n an an tmmmf ϋ— ϋ I · n· i (請先閱讀背面之注意事項再填寫本頁) ·. 0 經濟部智慧財產局員工消費合作社印製 A7 ------- -B7_ 五、發明說明(23) 的,也將執行因執行該函式而造成的未使用的記憶體 區段之任何合併,以便減少分割。 p—Append (P_BUF *pPktBuf,WORD *Buf,SIGNED WORD Count):該函式將*Buf指定的資料添加到所指定封包 緩衝區*pPktBuf的開始處或結尾處(由運算元Count的 正負號決定)。 P—Remove (P_BUF *pPktBuf,SIGNED WORD Count):該 函式自封包緩衝器的開始處或結尾處(由Count的正負 號指定)移除由運算元Count的大小所指示的資料量。 P一Catenate (P—BUF *pPktBufl,P—BUF *pPktBuf2):該函 式連結指定的封包緩衝區*pPktBuf 1及*pPktBuf2。 P—BUF*NetPktRead (10—CHAN *pIODesc):該函式是一 A P I層級的函式,可讓工作中的應用程式擷取所指定 裝置I/O頻道驅動程式*pI〇Desc使用的記憶體共用區 (50)中的封包緩衝區*pPktBuf之一指標;當封包緩衝 區*pPktBuf的内容通過資料通訊協定堆疊(36d)時,該 讀取函式是用來識別該封包缓衝區之位置,此時封包 緩衝區管理程式(40)根據所介入的通訊協定而修改或 刪除該封包的起始碼及結尾碼,而留下呼叫本函式的 應用程式所需之訊息資料。
NetPktWrite (IO_CHAN,*pIODesc,P_BUF *pPktBuf):該 函式也是一 API層級的函式,用以將自NetPktRead函 式送回的封包緩衝區*pPktBuf内容經由資料通訊協定 堆疊(3 6d)而寫入所指定I/O頻道驅動程式*pI〇Desc之 -26- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 裝 . 經濟部智慧財產局員工消費合作社印製 經濟部智慧財產局員工消費合作社印製 A7----------- - 五、發明說明(24) 傳輸仔列。 這些函式可經由DSLAM控制器(25)而對訊息資料進行多個 通訊協定的處理,而無須將資料本身拷貝到記憶體中。 現在請參閱圖6及7,現在將詳細説明根據本發明第一較 佳實施例的DSLAM控制器(25)之作業。圖6以流程圖的形 式示出根據本發明該第一實施例而使用的各方法步驟,而 流程控制程序的一圖示實例則係示於圖7。如圖7所示,係 參照一封包緩衝區*PBZ而示出根據本發明的DSLAM控制器 (25)所執行之一例示工作,該封包缓衝區*Pb2内容係儲存 在兄憶體共用區(5 0)’作爲一接收仔列R X Q的一部分,且 經由兩個通訊協定(通訊協定1及通訊協定2 )而處理該封包 緩衝區*PB〗内容,而且由一應用程式操作該封包緩衝區 *PB2内容;然後經由通訊協定2及1重新處理封包緩衝區 *PB2内容,並將該封包緩衝區*pb2内容傳送到一傳輸仔列 T X Q。接收訊息資料封包的〗/ 〇裝置通常將不同於傳送該 訊息的I / 0裝置;針對上行D S L通訊之例子,係由一個 DSL I/〇(AFE(20))頻道接收該訊息資料封包,並將該訊息 資料封包重新經由以太網路NIC(26)傳送到LAN(14)。不論 在任何狀況中,如圖7所示,封包緩衝區*PB2在整個該處 理中都保持在記憶體共用區(50)中的相同位置。 請再參閱圖6,在程序(52)中,DSLAM控制器(25)的一個 I / 0頻道接收一訊息資料封包。如前文參照圖2及4所述, DSLAM控制器(25)可用來接收一訊息資料封包的該組可能 之I/O頻道包含DSLAM(IO)服務的每一 D S L頻道、經由串 -27- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) k—瞧 裝 I . 488134
經濟部智慧財產局員工消費合作社印製 五、發明說明(25) 列介面(27)、(28)而耦合到EMS( 17)的各寧列埠、以及以太 網路NIC(26)服務的以太網路I/O頻道。圖4中將這些1/〇 頻道的對應之驅動程式示爲E M S埠I / 0驅動程式(32a)、 DSL頻道I/O驅動程式(32b)、以太網路I/O驅動程式 (32c)、及高速串列埠I/O驅動程式(32d)。在程序(54)中, 接收機驅動程式(32)分配記憶體共用區(50)中的一封包緩 衝區,作爲其接收佇列的一部分;所分配的該封包緩衝區 * P B (圖7 )將被用來儲存所接收的封包資料、以及在 DSLAM控制器(25)所進行的整個通訊協定處理及傳送過程 中所接收及處理的且並未被重新拷貝的該封包資料之起始 碼及結尾碼。 圖8 a及8 b示出根據本發明第一較佳實施例的分配程序 (54)之一實例。圖8a示出諸如在DSP( 130)的晶片内建 RAM(144)中的記憶體共用區(50)之配置,其中先前已分配 了封包緩衝區*PB〇、*PBi。如圖8a所示,封包緩衝區 *ΡΒ〇、*PB!係位於記憶體共用區(5〇)的終端(在自位址 BASE算起的最遠偏移量處);該配置當然只是舉例。在程 序(54)中,接收驅動程式(32)爲其接收的訊息資料封包執 行函式庫函式 P一AU〇c (WORD Size,WORD Offset),而選 擇足以儲存實際的訊息資料以及可能在圖6所示處理過程 中增加或修改的任何起始碼之一運算元以26値(形式爲最小 容量記憶體區段(50】)的一整數);然後運算元〇ffset之値係 基於先前分配的封包緩衝區*ΡΒ〇、*ρΒι之現行位置、以及 所接收封包之運算元以^値。圖8 b示出分配記憶體共用區-28 - (請先閱讀背面之注意事項再填寫本頁)
k— I 裝 - 本紙張尺度適财0國家標準(CNS)A4規格(21G X 297公髮) 488134 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(26) 以便谷納封包緩衝區* P B2的情形。在該實例中,係選擇運 算元Size的値爲十一個最小容量記憶體區段(5〇p,且將運 算元Offset的値設定爲小於十一(亦即在該實例中的運算元 Size値)的封包緩衝區*PBl運算元〇ffseUi。由於適當的 I/O頻道驅動程式(32)執行的程序(54),而在記憶體共用區 (50)内分配封包緩衝區*pb2。 圖9a示出在分配之後所分配封包緩衝區*pB2的一實例之 内谷。如圖9 a的貫例所示,函式庫函式p—Au〇c (w〇rd Size,Word Offset)中之運算元8丨;^値指定所分配封包緩衝 區*PB2之整體谷量。圖9a中標示爲“載送資 料’’(“PAYLOAD”)之實際的訊息資料係位於封包緩衝區 *PB2之内,而封包緩衝區*PB2的額外保留部分係在載送資 料之上及之下。該實際的訊息資料不只是包含訊息資料, 也可包含最後必須要傳送的此種起始碼資訊(例如ppp封 包起始碼資料)。攔位D—〇ffset的値指示此時封包緩衝區 内實際資料PAYL0AD開始的位置,而攔位的 値被没疋爲此時在封包緩衝區*pB2内儲存的實際資料之大 小。此外,在*配之後,且一旦建立封包緩衝區的搁 位〇_抓如及匕心値之後’於1/0驅動程式(32)將資料儲 存到記憶體共用區(50)作爲一接收佇列時,將設定欄位 D_Flag,用以指示實際資料的最後一個資料字組中之有效 資料位元組數。將以與封包缓衝區*PB2相關聯的方式,在 DSLAM控制器(25)内的-本機儲存裝置或暫存器中維護這 些欄位 D—Offset、D—Size、及 D Flag。 ° --------------裝-----r---訂-------- (請先閱讀背面之注意事項再填寫本頁) -29- 488134 A7 B7 五、發明說明(27) 如程序(56)所示,對封包緩衝區*PB2進行作業的應用程 式(38)開始執行前文所述函式庫函式NetPktRead(IO—CHAN *pIODesc)的一實例。函式NetPktRead的該實例指定先前在 程序(52)、(54)中接收封包及所分配的封包緩衝區*PB2i I/O頻道驅動程式(32),且亦接收一個用來指示被界定及 分配的封包緩衝區*PB2之指標。且亦作爲程序(56)的該起 始之一部分,將一通訊協定指標i設定爲序列中的第一通 訊協定(圖7所示之通訊協定1 )。執行該函式庫函式 NetPktRead時,將使封包緩衝區管理程式(40)利用訊息所 需各序列的通訊協定(例如圖7所示的通訊協定1及通訊協 定2 )處理封包緩衝區*PB2,下文中將説明其中的情形。
NetPktRead函式的執行包括反覆地執行通訊協定處理程 序(5 8)。在程序(58)中,DSLAM控制器(25)中之封包緩衝 區管理程式(40)對所指定封包緩衝區*PB2rt容的起始碼或 結尾碼部分執行作業,而無須拷貝該封包緩衝區*ΡΒ^々整 .個内容;實際上,如下文中將參照圖9 b而説明的,係利用 上述的函式庫函式 P-Append (P—BUF *pPktBuf,WORD *Buf,SIGNED WORD Count)及 P_Remove (P—BUF *pPktBuf, SIGNED WORD Count)執行這些修改0 一般而言,通訊協定處理程序(58)通常包含:在不干擾 實際的訊息資料本身的情形下,根據適當的通訊協定而對 控管資料位元組進行增加、刪除、或修改。然後執行決定 程序(59),以便決定是否需要處理額外的通訊協定;如果 確係如此(決定程序(59)的決定爲“是”),則在程序(60)中 -30- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) • u—1 I I k— ϋ I ϋ ϋ ϋ I ϋ ϋ (請先閱讀背面之注意事項再填寫本頁) · 翁 經濟部智慧財產局員工消費合作社印製 488134 經濟部智慧財產局員工消費合作社印製 A7 _B7__五、發明說明(28) 遞增通訊協定指標i,且控制回到程序(58),以便進行額外 的處理。 在通訊協定處理程序(58)的每一實例内,封包緩衝區管 理程式(40)於執行P—BUF—NetPktRead時,可根據所要處理 的現行通訊協定,而呼叫一個或多個下列函式。例如,要 添加一個通訊協定起始碼時,將執行下列的函式: P^Append (P^BUF *pPktBuf5 WORD *Buf, SIGNED WORD Count)。添加一個起始碼時,需要使欄位*Buf的値等於 所需的起始碼資料,且使櫚位Count爲正號,以便在開 始處添加該起始碼。因此,指標D_Offset的値將被遞減 該襴位Count値,且欄位D_Size的値將被遞增該欄位 Count 値0 圖9 b示出於處理圖7所示實例中的通訊協定1時添加通訊 協定起始碼Ρ Η 1。如前文所述,係在記憶體共用區(50)中 的所分配封包緩衝區*PB2i内執行該作業,並不需要拷貝 該封包本身。 亦可由封包緩衝區管理程式(40)將一結尾碼添加到現行 封包緩衝區,而執行通訊協定處理程序(58)。藉由執行下 列函式而執行一結尾碼的添加: P_Append (P_BUF *pPktBuf? WORD *Buf? SIGNED WORD Count)。添加一個結尾碼時,需要使襴位*Buf的値等於 所需的結尾碼資料,且使攔位Count爲負號,以便在結 尾處添加該結尾碼。因此,在該實例中,指標D_Offset 的値將不會改變,但欄位D_Size的値將被遞增該攔位-31 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁)
L I I 裝 訂: ,%· A7 五、發明說明(29 ) 經濟部智慧財產局員工消費合作社印製
Count 値。 圖9 c 7F出於處理圖7所示實例中的通訊協定2時添加通訊 協定結尾碼PT2。如前文所述,係在記憶體共用區(5〇)中 的所分配封包緩衝區*PB2之内執行該作業,並不需要拷貝 該封包本身。如圖9c所示,封包緩衝區*pB2包含通訊協定 起始碼PH1及通訊協定結尾碼ρτ2。 、如前文所述(且將利用下文中的實例示出),利用利用函 式P-Remove執行作爲程序(58)一部分的一起始碼或結尾碼 〈刪除。於諸如根據位址決定通訊協定(ARp)而經常需要 執行的修改-起始碼或結尾碼時,亦可在程序(58)中執行 孩修改,且最好是以前文所述之方式,先刪除—起始碼或 結尾碼,然後將所需的起始碼或結尾碼添加到封包的開始 處或結尾處。 如前文所述,係重複執行通訊協定處理程序⑽,直到 沒有其他的通訊協μ要處理爲止(衫程序⑼之決定爲 “否”),然後如圖6中之程序(61)所示將控制轉一到應用程 式(38),以供其以特定方式處理現行封包緩衝區。此種處 理可包含單純將實際的訊息資料(載送資料)傳送到目的 !/〇頻道;此外,在傳送訊息資料之前,某種預先處理 能是必要的(例如在ΡΡΡ通訊的情形中)。$論在任何1 情形,應用程式(3 8)將查詢封包緩衝區的欄位d之狀 態’以便決定實際訊息資料的終端資料字组中之有效位 組數,以避免因在封包緩衝區儲存的過程中使用資料字姐 而不使用位元組產生的未預期零値位元組而造成之任何錯 地 可 種 元 組 (請先閱讀背面之注意事項再填寫本頁) 裝 訂·_ .¾. -32 488134 A7 B7 五、發明說明(3〇 ) 誤 經濟部智慧財產局員工消費合作社印製 我們當了解,可能會有因應用程式(38)處理封包而產生 的延遲’因而封包緩衝區管理程式(4〇)所要處理的次一封 包缓衝區不是最近處理過的同一封包緩衝區(例如*pB2); 事實上’我們考慮到在有多個應用程式(38)的情形中, DSLAM控制器(25)係同時處理來自其所服務的多個1/〇頻 道之訊息封包。如將於下文中詳細説明的,此種最終結果 大多將直接影響到記憶體共用區(5〇)中各區段的空出及合 併。 當應用程式(38)在程序(61)中完成其處理時,應用程式 (38)執行 NetPktWrite (1〇一CHAN,*pI〇DeSC,p—BUF *pPktBuf)函式庫函式,使運算元*pI〇Desc參照到該封包的 目的地I/O頻道,並使運算元*pPktBuf當然參照到將要傳 送的特定封包緩衝區,即可開始傳送對應於所需封包緩衝 區(例如*PB2)之訊息資料。此時,係將通訊協定指標丨設 定爲(或維持在)其最大値,而對應於上次在程序(58)中處 理過的通訊協定。 於執行該傳送處理時,封包緩衝區管理程式(4〇)在程序 (巧的反覆過程中,反覆地對封包緩衝區*%執行該通訊 協定處理。例%,可藉由執行下列函式而刪除—通訊協定 結尾碼(例如圖9 c之結尾碼ρ τ 2 ): P—R^move (P—BUF *pPktBuf,SIGNED w〇rd c〇贈卜刪 除一結尾碼0寺,需要使運算元Count的値等於所要刪除 的資料字組之所需數目,且使運算元。_的値爲負 33- (請先閱讀背面之注意事項再填寫本頁) 裝
-lu°JI ‘紙張尺度適s家標準(cns)a4 mum x 297公釐) 488134 經濟部智慧財產局員工消費合作社印製 A7 _B7_五、發明說明(31 ) 號,以便指示自封包緩衝器*pPktBuf中實際資料之結尾 處移除。該作業將不會改變指標D_Offeset的値;只須 將欄位D—Size的値遞減攔位Count値,即可替代性地執 行結尾碼的取消。 圖9 d示出該作業的結果。實際上,在程序(64)的該實例之 後,對應於圖9 c所示實例中的結尾碼P T 2之實際資料字組 仍然保留在記憶體中,只是不理會該資料字組罷了。 在程序(64)的第一實例之後,封包緩衝區管理程式(40)執 行決定程序(65),以便決定是否還有要處理的額外封包。 如果確係如此(決定程序(65)的決定爲“是”),則在程序(66) 中遞減通訊協定指標i,並將控制轉移回程序(64),以便進 行額外的通訊協定處理。對於封包緩衝區*PB2的實例而 言,執行下列函式即可刪除通訊協定起始碼Ρ Η 1 : P_Remove (P_BUF *pPktBuf? SIGNED WORD Count) : #J 除一起始碼時,需要使運算元Count的値等於所要刪除 的資料字組之所需數目,且使運算元Count的値爲正 號,以便指示自封包緩衝器中實際資料之開始處移 除。指標D_Offset的値將遞減欄位Count値,欄位 D__Size也將遞減相同的値。 圖9e示出在完成程序(64)之該實例之後的封包緩衝區*PB2 狀態。 當已經由程序(64)處理了所有的通訊協定時(決定程序 (65)之決定爲“否”),即警示應用程式(38)在函式庫函式 NetPktWrite (10—CHAN, *pI〇Desc,P_BUF *pPktBuf)中指定 -34- 本紙張尺度適用中國國家標準(CNS)A4規格(210 χ 297公釐) (請先閱讀背面之注意事項再填寫本頁)
L I 裝 一-口T . 4 Α7 Β7 五、發明說明(32 ) 經濟部智慧財產局員工消費合作社印製 的、當I/O頻道驅動程式(32):該1/〇頻道在記憶體共 50)有一與本實射的封包缓衝區%相關聯之封包。 2驅動程式(32),然後在程序(68)中有效地使用封包緩衝 ' B2作馬其傳輸佇列,而在適當的時間將該資料傳 其對應的1/0頻道(例如以太網路NIC(26))。 當該適當的I/O頻道驅動程式(32)完成使用本實例中 包緩衝區啊2之内容時,,然後執行程序⑽,以便空出吃 憶體共用區(50)中與封包緩衝區啊2相關聯的被分配部 分。執行p_Free (P_BUF *pPktBuf)函式,以便參照到所要 2的封包緩衝區’即可執行該封包緩衝區的空出。然後 知我憶體共用區(50)中先前分配給現行封包緩衝區 的部分,以供重新分配。 2 、根據本發明的較佳實施例,係以一種合併所空出各區 之方式’執行自έ己憶體共用區(5〇)空出一封包缓衝區,a 而避免在後續的封包緩衝區分配中造成分割的情形。現在 將參照圖8c而説明於執行該合併時程序(7〇)的一作業 例’其中在記憶體共用區⑽中仍然分配有封包緩衝 PB〇 PB2,但業已空出了封包緩衝區請參閱 8 b )。根據本發明的較佳實施例,配合封包緩衝區*pB2的 二出,封包緩衝區官理程式(4〇)檢查記憶體共用區(5〇)的 狀態’以便決定封包緩衝區%是否連續到記憶體共用 (5〇)中已被分配的各區段;如果並非如此(如同在圖”, 之情形),則封包緩衝區管理程式⑽)最好是改變前文所述 八仔列;貝料項P一ENTRY Pkt一Q中封包緩衝區*ρΒ2内含 段 因 實 區 圖 區 中 的各 ί請先閱讀背面之注意事項再填寫本頁) 裝 . -%· -35 488134
五、發明說明(33 ) 經濟部智慧財產局員工消費合作社印製 =標,而合併被認定已空出的記憶體共用區(50)之各區 丰又在此種情形下於程序(7〇)中空出封包緩衝區*PB2時, 即可使δ己憶體共用區(50)内的各可用區段不會被分割。 因此,根據本發明的該第一較佳實施例,由於免除了拷 貝訊息資料封包内容之需求,所以苦在最小的記憶體需求 下完成經由一DSLAM對資料流的控制。此外,可根據本發 明而節省在傳統DSLAM控制器中產生這些拷貝(事實上爲 多份拷貝)所需的處理作業及機器時脈週期,因而空出了 額外的處理容量。此種額外的處理容量以及所得到電路消 耗的減少可讓每一 DSLAM線路介面卡支援更多的D S L頻 迢,因而提高了 DSLAM的埠密度。因爲較低的記憶體需 求’所以亦可使用諸如作爲控制器的D S p的晶片内建 RAM等的日曰片内建記憶體,因而進一步提高了 dslam控 制器的效能。由於根據本發明而利用D S P或作爲DSLAM 控制器的其他處理器所用之資料字組,而不採用傳統的訊 息傳輸通訊協定之位元組導向,所以亦提高了 DSLAM的處 理效率。此外,由於根據本發明較佳實施例而自動合併封 包緩衝區記憶體共用區中空出的各記憶體區段,而降低記 憶體的分割,因而進一步提高了 DSLaM控制器的效能。 現在請參閱圖1〇,現在將説明根據本發明第二較佳實施 例的封包緩衝區* PB之邏輯配置。在處理封包時所碰到的 起始碼及結尾碼之長度是未知的情形中,根據本發明該實 施例的圖1 〇所示之配置尤其有其效益。經由以此種方式使 用一連結表,即可避免對記憶體共用區(50)相當大的部分 本紙張尺度適用中國國家標準(CNS)A4規格(21〇 χ 297公釐) (請先閱讀背面之注意事項再填寫本頁) 裝 -% 488134 五、發明說明(34 ) 作不必要的分配,且因而可避 贅的管理〇 士 口己月豆共用區(50)作累 經濟部智慧財產局員工消費合作社印製 根據本發明的第二實施例 的類型定義係如下: Typedef一 P—BUF Q 一 ENTRY PktQ; QJentry P—List; W〇RD B^Size; WORD D^Offset; WORD D Size; WORD D 一 Flag } P-BUF,*P—BUFP 除了有佇列資料項出現以外 咳珂a %衝區資料处槿 又所述的封包緩衝區資料結構p " 、、— 相冋。根據本發 该貫施例,一單一封包緩衝區可能 』把位於圮憶體共用區 的數個封包緩衝區位置,而實降卜彳 具你上係以一連結表之形 現。佇列資料項P—List針對每一封包續 J匕、皮衡區分配提供 分配所屬的連結表之一識別碼。 請再參閱圖1 0 ’圖中示出該連結。力今奋 仕·成戶、例中,封 衝區表*PBG,G到*PBG,2對應於在分配時無法可靠地預測 字組數目時(例如在無法當場知道特定序列的通訊/協定〖 之一單一訊息資料封包。在該實例中,該單一訊息資^斗 包係儲存在相互參照的二個連結封包緩衝區表資料 *PB0,0到*PB0,2中。因此,當以前文所示之方式執行I每
封包緩衝區資料結構p__bUF / *封包仵列資料項* / 封包表*/ / *封包緩衝區總容量* / / *資料起始偏移量* / / *總有效資料大小* / / *資料旗標* / 該封包緩衝區資料結構語前 • r> τ. 明的 (50; 式出 了該 -37- 本紙張尺度適用中國國家標準(CNS)A4規格(210 x 297公釐) (請先閱讀背面之注意事項再填寫本頁) 裝 . %· 包 資: 488134 A7 B7 五、發明說明(35 經濟部智慧財產局員工消費合作社印制衣 資料項*PB0i進行通訊協定處理日φ, 〇,J 里時,1/0驅動程式(32)及應 用程式(38)都可能重新排列封包緩衝區表資料項*pB ^ *PB0,2内容的順序,以便進行傳輸或應用處理。 〇’〇 根據本發明的該第二實施例,記憶體共用區(5〇)以與其 維護前文所述一序列的封包緩衝區本身之類似方式,維護 一序列的封包緩衝區表。在圖10所示之實例中,連結封2 緩衝區表*PBl,〇及*PBU1之資料項累積地對應於該序列的所 分配封包緩衝區中之次一封包緩衝區資料項,但係個別地 位於記憶體共用區(50)中相互不連續的區域。可將該序列 中的第二封包緩衝為*PB2,〇儲存在記憶體共用區(5〇)的一 單一連續區中,這是因爲該封包的起始碼及結尾碼資料需 求是固定的(例如在P P P封包的情形中);根據該封包緩衝 器*PB〇 2的資料結構因而將是無效。 根據本發明的該第二實施例,最好是提供額外的函式庫 函式,用以管理記憶體共用區(50)中的連結封包緩衝區資 料項表。這些函式包括: P一AllocList (WORD Size,WORD Offset) ··該函式以前文 所述的一連結表之形式而分配一部分的記憶體共用區 (50),以便用來作爲一封包緩衝區。因而將記憶體共用 區(50)中利用該函式分配的部分保留給一組資料項。 P—FreeList (P_BUF *pPktBuf):該函式將封包緩衝區位置 的分配表送回到記憶體共用區(50),而以前文所述之方 式對空出的記憶體區段執行適當的合併,以便減少分 割。 -38- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 裝 訂: % A7
五、發明說明(36 ) 如同前文中參照本發明第一較佳實施例所述的,本發明 的第二較佳實施例提供了下列類似的優點:減少必要的記 憶體資源、提高處理器效率、提高埠的密度、可使用晶片 内建RAM以供DSLAM流程控制、以及減少了分割。然 而,本發明的弟一較佳貫施例額外地提供了下列效益:可 提供封包緩衝區部分的連結表,因而可在線上定義並處理 各種通訊協定。 雖然已參照一些較佳實施例而説明了本發明,但是我們 當了解’對本門技術具有一般知識者在參閱本説明書及其 圖示之後,將可易於作出這些實施例的修改及替代、以及 具有本發明優點及效益的此類修改及替代。我們當了解, 此類修改及替代係在後文申請專利範圍的本發明範圍内。 (請先閱讀背面之注意事項再填寫本頁) 裝 %· 經濟部智慧財產局員工消費合作社印製 -39- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)
Claims (1)
- 、申請專利範圍 1· 一種處理一耦合到複數個輸入/輸出頻道的網路多工器 中的訊息資料封包之方法,包含下列步驟·· 分配一圮憶體中之一記憶體共用區; 回應自一第一輸入/輸出頻道接收到一訊息資科封包, 而將孩記憶體共用區中的一封包緩衝區分配給該訊息資 料封包; … 將該訊息資料封包儲存在該記憶體共用區内的該封包 緩衝區之一有效資料部分; 修改该封包緩衝區的該有效資料部分之大小,而處理 至少一個通訊協定之所接收訊息資料封包; 在該處理步驟之後,使該封包緩衝區的訊息資料封包 在該記憶體共用區中排隊等候,以便經由一第二輸入/ 輸出頻道而傳輸;以及 Μ 將該記憶體共用區中所分配的該封包緩衝區解除分 配。 、 2 ·如申請專利範圍第1項之方法,其中哕#取 八Υ邊處理步驟包本下 列步驟: 口 Γ 執行其中包括修改該封包缓衝區的該有效資料 大小之,一序列之作業,而處理複數個。刀、 經濟部智慧財產局員工消費合作社印製 乂'^ %疋的所拉妝 訊息資料封包。 ^^^ 3 ·如申請專利範圍第2項之方法,並中今八 /、τ舔分配一封舍镑播 、區之步驟包含下列步驟: 、复訂 將遠έ己憶體共用區中的一所選擇遠誇 乂、’’貝矛、列的記愫體區 段保留給該封包緩衝區;以及 〜 40- J4指足該封包緩衝區的一偏移位址及資料大小値,而在 該連續系列的記憶體區段内界定一有效資料部分,以供 儲存所接收的訊息資料封包。 4·如申請專利範圍第3項之方法,其中該等序列的處理步 驟包含下列步驟·· V 修改該偏移位址及資料大小値,以便增加該封包缓衝 區的该有效資料部分之大小,並將一通訊協定起始碼添 加到孩新增加的有效資料部分之開始處,而增加該通訊 協定起始碼。 。 5 ·如申凊專利範圍第3項之方法,其中該等序列的處理步 驟包含下列步驟: 修改該偏移位址及資料大小値,以便減少該封包緩衝 區的孩有效資料部分之大小,而刪除一通訊協定起始 碼。 6·如申請專利範圍第3項之方法,其中該等序列的處理步 驟包含下列步驟: 修改該資料大小値,以便增加該封包緩衝區的該有效 資料邵分之大小,並將一通訊協定結尾碼添加到該新增 加的有效:貝料邵分之結尾處,而增加該通訊協定結尾 碼。 7·如申請專利範圍第3項之方法,其中該等序列的處理步 驟包含下列步驟: 修改該資料大小値,以便減少該封包缓衝區的該有效 資料部分之大小,而刪除一通訊協定結尾碼。 -41 - 本紙張尺度適时關規格(210 X 297公釐) .V----r------Awi— ^--- (請先閱讀背面之注意事項再填寫本頁) I . 經濟部智慧財產局員工消費合作社印制农 4 祕 134 A8 B8 C8 D8 經濟部智慧財產局貫ί-消費合作社印製 /、、申凊專利範圍 8·如:叫專利範圍第3項之方法,其中每一記憶體區段具 有一對應於所選擇一數目的資料字組之大小,而每一資 料字組對應於一整數數目的位元組; 其中該儲存訊息資料封包的步驟進一步包含下列步 驟: " 設定一對應於該封包緩衝區的一終端資料字組中的有 政;貝料k元組數之旗標値。 9.如申請專利範圍第3項之方法,其中該解除分配步驟包 含下列步驟: 使茲記憶體共用區中的該封包緩衝區可供重新分配; 以及 將先前分配給該封包緩衝區的所選擇連續系列之記憶 體區段與該記憶體共用區中相鄰可用的記憶體區段合 併。 10·如申請專利範圍第2項之方法,其中該分配一封包緩衝 區之步驟包含下列步驟: 爲忒封包緩衝區選擇該記憶體共用區中一非連續複數 個區域; 以一連結表之形式使每一該等非連續區域彼此相關 聯;以及 指定該封包緩衝區的一偏移位址及一資料大小値,而 爲每一該等非連續區域界定該 1己憶體共用區内的一有效 資料部分,以供儲存-部分的所接收訊息資料封包 11.如申請專利範圍第1項之方法, 其中該分配一記憶體共 ----r------Awi I --------訂--------- (請先閱讀背面之注意事項再填寫本頁) -42- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297 '申請專利範圍 用區之步驟包含下列步驟: 分配-整數數目的固定大小記憶體區段,作 記憶體區域。 12·-種用來在一網路與複數個用户端位置之 料之多工器,包含: 成息資 轉合到該網路的一網路介面; 複數個輸入/輸出頻道介面,每一輸入/輸出八 係耦合到該等複數個用户端位置中之一用户端位置;;|面 耦合到複數個輸入/輸出頻道介面中相關聯的一些輪 /輸出頻道介面之至少_個收發機機能,用以對經:二 等相關聯的輸入/輸出頻道介面而傳送之訊息資料執f 數位作業; 仃 耦合到該網路介面及該等至少一個收發機機能之一控 制器,用以處理所傳送的訊息資料之訊息資料封包,該 控制器包含: 一記憶體; 邏輯電路,用以執行一序列的作業,該序列的作業 包含下列步驟: 經濟部智慧財產局員工消費合作社印制衣 連續 爲 -----Γ------^―裝 i · f請先閱讀背面之注意事項再填寫本頁} 分配該記憶體中之一記憶體共用區; 回應自一第一輸入/輸出頻道接收到一訊息資料 封包,而 將該記憶體共用區中的一第一封包缓衝區分配給 該第一訊息資料封包; 將該訊息資料封包儲存在該記憶體共用區内的該 -43 本纸張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 488134六、申請專利範圍 第一封包緩衝區之一有效資料部分; 修改該第一封包緩衝區的該有效資料部分之大 小,而處理至少一個通訊協定之所接收第一訊息資料封 包; 在該處理步驟之後,使該第一封包緩衝區的訊息 資料封包在該記憶體共用區中排隊等候,以便傳送到該 網路介面;以及 將遠冗憶體共用區中所分配的該第一封包緩衝區 解除分配。 13·如申請專利範圍第! 2項之多工器,其中該控制器的該邏 輯電路執行的該序列之作業包含下列步骤: 回應自該網路介面接收到一訊息資料封包,而將該記 憶體共用區中的一第二封包緩衝區分配給該訊息資料封 包; 將該訊息資料封包儲存在該記憶體共用區内的該第二 封包緩衝區之一有效資料部分; 修改該第二封包緩衝區的該有效資料部分之大小,而 處理至少一個通訊協定之所接收訊息資料封包; 在該處理步驟之後,使該第二封包緩衝區的訊息資料 封包在该$己憶體共用區中排隊等候,以便傳送到一輸入 /輸出頻道;以及 將該記憶體共用區中所分配的該第二封包緩衝區解除 分配。 14·如申請專利範圍第1 2項之多工器,其中係將該控制器的 I *-------I --- (請先閱讀背面之注意事項再填寫本頁) ·. 經濟部智慧財產局員工消費合作社印製 -44-488134 A8 B8 C8 ___ D8 '申請專利範圍 該記憶體及邏释電輅實施於一可程式數位信號處理器積 體電路。 • ----r------裝--- (請先閱讀背面之注意事項再填寫本頁) 15·如申請專利範圍第14項之多工器,其中係將該數位收發 機實施於一可程式數位信號處理器積體電路。 16·如申請專利範圍第i 2項之多工器,其中分配一封包緩衝 區之該作業包含下列步驟: 將該記憶體共用區中的一所選擇連續系列的記憶體區 段保留給該第一封包緩衝區;以及 指定該第一封包緩衝區的一偏移位址及資料大小値, 而在該連續系列的記憶體區段内界定一有效資料部分, 以供儲存所接收的訊息資料封包; 且其中該處理作業包含下列步驟: 執行其中包括修改該第一封包緩衝區的該有效資料部 分的大小之一序列的作業,而處理複數個通訊協定的所 接收訊息資料封包。 17·如申請專利範圍第1 6項之多工器,其中該序列的處理步 驟包含下列步驟: 經濟部智慧財產局員工消費合作社印制衣 修改該偏移位址及資料大小値,以便增加該第一封包 緩衝區的該有效資料部分之大小,並將一通訊協定起始 碼添加到該新增加的有效資料部分之開始處,而增加該 通訊協定起始碼。 18·如申請專利範圍第1 6項之多工器,其中該序列的處理步 驟包含下列步驟: 修改該偏移位址及資料大小値,以便減少該第一封包 -45 - 本紙張尺度剌巾關家標準(CNS)A4規格(21〇Τ^公ϋ 488134 8888 ABCD 夂、申請專利範圍 緩衝區的該有效資料部分之大小,而刪除一通訊協定起 始碼。 19. 如申請專利範圍第1 6項之多工器,其中該序列的處理步 驟包含下列步驟: 修改該資料大小値,以便增加該第一封包缓衝區的該 有效資料邵分之大小,並將一通訊協定結尾碼添加到該 新增加的有效資料部分之結尾處,而增加該通訊協定結 尾碼。 20. 如申請專利範圍第丨.6項之多工器,其中該序列的處理步 驟包含下列步驟: 修改該資料大小値,以便減少該第一封包緩衝區的該 有效資料部分之大小,而刪除一通訊協定結尾碼。 21·如申請專利範圍第丨6項之多工器,其中每一記憶體區段 具有一對應於所選擇一數目的資料字組之大小,而每一 資料字組對應於作爲該控制器的該邏輯電路的操作對象 之一整數數目的位元組; 其中分配該第一封包緩衝區的作業進一步包含下列步 驟: 經濟部智慧財產局員工消費合作社印製 設定一對應於該第一封包緩衝區的一終端資料字組 中的有效資料位元組數之旗標値。 22·如申請專利範圍第16項之多工器,其中該解除分配步驟 包含下列步驟: •使该圮憶體共用區中的該第一封包緩衝區可供重新分 配;以及 -46- 488134 Α8 Β8 C8 D8 六、申請專利範圍 將先前分配給該第一封包緩衝區的所選擇連續系列之 記憶體區段與該記憶體共用區中相鄰可用的記憶體區段 合併。 23.如申請專利範圍第1 2項之多工器,其中該分配一封包緩 衝區之步驟包含下列步驟:, 爲該第一封包缓衡G選擇該$己彳思體共用區中一非連續 複數個區域; 以一連結表之形式使每一該等非連續區域彼此相關 聯;以及 指定該第一封包缓衝區的,偏移位址及一資料大小 値,而爲每一該等非連續區城界定該記憶體共用區内的 一有效資料部分,以供儲存/部分的所接收訊息資料封 包。 ---μ------Φ! S-----r---訂· (請先閱讀背面之注意事項再填寫本頁)經濟部智慧財產局員工消費合作社印製 ί -47- 本紙張尺度適用中國國家標準(CNS)A4規格(210 x 297公釐)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US36074799A | 1999-07-26 | 1999-07-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW488134B true TW488134B (en) | 2002-05-21 |
Family
ID=23419260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW089114935A TW488134B (en) | 1999-07-26 | 2000-08-15 | Efficient packet buffer management in a digital subscriber line access multiplexer |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1073251A3 (zh) |
CN (1) | CN1205781C (zh) |
TW (1) | TW488134B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI462605B (zh) * | 2009-12-22 | 2014-11-21 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003028289A2 (de) | 2001-09-26 | 2003-04-03 | Siemens Aktiengesellschaft | Verfahren zur übertragung von echtzeit-datentelegrammen in einem zyklischen kommunikationssystem |
US6763019B2 (en) * | 2002-03-05 | 2004-07-13 | Nokia Corporation | Method and system for authenticated fast channel change of media provided over a DSL connection |
US7180872B2 (en) | 2002-08-26 | 2007-02-20 | Alcatel | DSLAM-hosted information storage functionality |
US7570585B2 (en) | 2002-12-16 | 2009-08-04 | Alcatel Lucent | Facilitating DSLAM-hosted traffic management functionality |
CN100399779C (zh) * | 2003-12-19 | 2008-07-02 | 联想(北京)有限公司 | 一种预测带宽的数据发送方法 |
CN100499566C (zh) * | 2004-06-25 | 2009-06-10 | 中兴通讯股份有限公司 | 采用指针技术存储数据包的方法 |
ATE388556T1 (de) * | 2004-11-30 | 2008-03-15 | Alcatel Lucent | Ethernet digital subscriber line access multiplexer dslam mit durchflusskontrolle |
US7493426B2 (en) | 2005-01-31 | 2009-02-17 | International Business Machines Corporation | Data communication method and apparatus utilizing programmable channels for allocation of buffer space and transaction control |
US7136954B2 (en) | 2005-01-31 | 2006-11-14 | International Business Machines Corporation | Data communication method and apparatus utilizing credit-based data transfer protocol and credit loss detection mechanism |
WO2009134055A2 (en) * | 2008-04-30 | 2009-11-05 | Samsung Electronics Co., Ltd. | System and method for data size adaptation in a ue |
CN115190089B (zh) * | 2022-05-26 | 2024-03-22 | 中科驭数(北京)科技有限公司 | 一种报文存储方法、装置、设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5887187A (en) * | 1993-10-20 | 1999-03-23 | Lsi Logic Corporation | Single chip network adapter apparatus |
US5920561A (en) * | 1996-03-07 | 1999-07-06 | Lsi Logic Corporation | ATM communication system interconnect/termination unit |
US5905873A (en) * | 1997-01-16 | 1999-05-18 | Advanced Micro Devices, Inc. | System and method of routing communications data with multiple protocols using crossbar switches |
AU8490898A (en) * | 1997-07-18 | 1999-02-10 | Interprophet Corporation | Tcp/ip network accelerator system and method |
-
2000
- 2000-07-20 EP EP00306184A patent/EP1073251A3/en not_active Withdrawn
- 2000-07-25 CN CN00122206.6A patent/CN1205781C/zh not_active Expired - Fee Related
- 2000-08-15 TW TW089114935A patent/TW488134B/zh not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI462605B (zh) * | 2009-12-22 | 2014-11-21 |
Also Published As
Publication number | Publication date |
---|---|
CN1205781C (zh) | 2005-06-08 |
EP1073251A2 (en) | 2001-01-31 |
EP1073251A3 (en) | 2003-09-10 |
CN1291029A (zh) | 2001-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pratt et al. | Arsenic: A user-accessible gigabit ethernet interface | |
TW488134B (en) | Efficient packet buffer management in a digital subscriber line access multiplexer | |
US7039061B2 (en) | Methods and apparatus for retaining packet order in systems utilizing multiple transmit queues | |
US8542693B2 (en) | Managing free packet descriptors in packet-based communications | |
JP2990345B2 (ja) | ネットワークインターフェース | |
US7529224B2 (en) | Scheduler, network processor, and methods for weighted best effort scheduling | |
US7136355B2 (en) | Transmission components for processing VLAN tag and priority packets supported by using single chip's buffer structure | |
US6795870B1 (en) | Method and system for network processor scheduler | |
US20070245074A1 (en) | Ring with on-chip buffer for efficient message passing | |
TWI222012B (en) | Method and system for network processor scheduling outputs using disconnect/reconnect flow queues | |
JPH0675262B2 (ja) | メツセージ転送機構 | |
EP0840202B1 (en) | Dynamic peripheral control of I/O buffers in peripherals with modular I/O | |
JPH02290346A (ja) | 2地点間の直列両方向通信経路における帯域幅配分方法および装置 | |
US8059670B2 (en) | Hardware queue management with distributed linking information | |
WO2020142867A1 (zh) | 一种流量整形方法及相关设备 | |
US7301958B2 (en) | Cycle-efficient TDM timeslot remapping for network processing engines | |
US6389493B1 (en) | System and method for dynamically allocating bandwidth to a plurality of slave cards coupled to a bus | |
US6618380B1 (en) | Priority queueing | |
US6484207B1 (en) | Switching system having interconnects dedicated to store and retrieve data including management of dedicated memory segments allocated when a general memory is depleted | |
US7474662B2 (en) | Systems and methods for rate-limited weighted best effort scheduling | |
US6654865B2 (en) | Netbufs: communication protocol packet buffering using paged memory management | |
Brustoloni et al. | Signaled receiver processing | |
US7114016B2 (en) | Page-aware descriptor management | |
EP1032885B1 (en) | Apparatus and method for protocol application data frame operation requests interfacing with an input/output device | |
EP1555620B1 (en) | Stream memory manager |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |