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 PDF

Info

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
Application number
TW089114935A
Other languages
English (en)
Inventor
Xiaolin Lu
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Application granted granted Critical
Publication of TW488134B publication Critical patent/TW488134B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2869Operational details of access network equipments
    • H04L12/2878Access multiplexer, e.g. DSLAM
    • H04L12/2892Access multiplexer, e.g. DSLAM characterised by the access multiplexer architecture
    • H04L12/2896Distributed processing, e.g. on line cards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • H04L49/9094Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/168Implementation 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol 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. 、申請專利範圍 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公釐)
TW089114935A 1999-07-26 2000-08-15 Efficient packet buffer management in a digital subscriber line access multiplexer TW488134B (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI462605B (zh) * 2009-12-22 2014-11-21

Families Citing this family (11)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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