專利名稱:Aal2和aal5數(shù)據(jù)的實時分段與重組的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及異步傳輸模式(ATM)數(shù)據(jù)的傳輸。更具體地,本發(fā)明涉及一種用于實時分段與重組異步傳輸模式數(shù)據(jù)的系統(tǒng)和方法。
背景技術(shù):
異步傳輸模式(ATM)是一種已經(jīng)普及并將繼續(xù)用作高速光纖光通信網(wǎng)絡(luò)的優(yōu)選通信協(xié)議的通信協(xié)議。ATM是基于分組的通信協(xié)議,即通過發(fā)送與接收稱作“信元”的分組來通信。每一個ATM信元包括一個信頭部分和一個負(fù)載部分。信頭部分包括五字節(jié)(也稱作“八位組(octet)”)的信息,而負(fù)載部分包括48個八位組。信頭部分包括定義ATM信元及負(fù)載類型的信息。在某些情形中,合并多個信元的負(fù)載部分(典型地通過拼接)以形成較大的分組。ATM適配層5(AAL5)就是這樣的例子,其中數(shù)個具有相似信頭信息的信元將它們的負(fù)載拼接形成較大的分組。通常,ATM是面向連接的協(xié)議,其采用了“虛信道連接”(VCC),通過虛信道連接在稱作“用戶前端設(shè)備”(CPE)的網(wǎng)絡(luò)端點(diǎn)之間傳輸通信數(shù)據(jù)。
通常,在ATM中執(zhí)行分段與重組(SAR)功能,以在源端將通信數(shù)據(jù)分段成多個ATM信元,而在終端將多個ATM信元重組成通信數(shù)據(jù)。
不幸的是,ATM數(shù)據(jù)的分段與重組需要大量的資源并且難于實時執(zhí)行。當(dāng)試圖在ATM網(wǎng)絡(luò)中測試、故障排除和收集統(tǒng)計數(shù)據(jù)時,這種情況尤其棘手。
因此,最好有在信元分段與重組期間加快ATM數(shù)據(jù)處理的方法。
發(fā)明內(nèi)容
本發(fā)明的實施例包括用于實時重組異步傳輸模式(ATM)數(shù)據(jù)的系統(tǒng),該系統(tǒng)包括循環(huán)緩沖區(qū)和多個并行處理元件,所述循環(huán)緩沖區(qū)用于存儲包括被分割為信元的信息的ATM數(shù)據(jù),所述并行處理元件被配置來分析ATM信元并且確定信元的類別,其中實時重組ATM適配層(AAL)2和AAL5信元。
本領(lǐng)域的技術(shù)人員通過查閱附圖及詳細(xì)描述,將會明白本發(fā)明的其它系統(tǒng)、方法、計算機(jī)可讀介質(zhì)和特性。所有這類其它的系統(tǒng)、方法、計算機(jī)可讀介質(zhì)和特性都包括在說明書以及本發(fā)明的范圍之內(nèi)并且受到權(quán)利要求的保護(hù)。
參考附圖,可以更好地理解如權(quán)利要求書所定義的本發(fā)明。附圖中的組件相互之間的比例關(guān)系不是必需的,只是為了清楚地說明本發(fā)明的原理。
圖1是說明示例性的異步傳輸模式(ATM)網(wǎng)絡(luò)的方框圖,其中存在包括用于實時重組ATM數(shù)據(jù)的系統(tǒng)在內(nèi)的分析設(shè)備。
圖2A是說明示例性的ATM信元的方框圖。
圖2B是說明示例性的ATM微信元的方框圖。
圖3是說明由圖1的分析設(shè)備執(zhí)行的分段與重組(SAR)邏輯的方框圖。
圖4是說明包含在圖3的FPGA中的分段與重組邏輯的操作的方框圖。
圖5是說明圖4的緩沖區(qū)管理器的操作的方框圖。
圖6A和6B是共同說明分段與重組邏輯的一個實施例的操作的流程圖。
具體實施例方式
根據(jù)本發(fā)明實施例的用于實時重組異步傳輸模式(ATM)數(shù)據(jù)的系統(tǒng)可以在軟件(例如固件)、硬件或者它們的組合中實現(xiàn)。在一個實施例中,主要用軟件與硬件的組合來實現(xiàn)用于實時重組ATM數(shù)據(jù)的系統(tǒng),其中在現(xiàn)場可編程門陣列(FPGA)中執(zhí)行可執(zhí)行代碼。但是,不考慮實施方式,可以由諸如個人計算機(jī)(PC;IBM兼容機(jī)、蘋果兼容機(jī)或其它)、工作站、小型機(jī)或大型機(jī)等專用或者通用計算機(jī)來執(zhí)行用于實時重組ATM數(shù)據(jù)的軟件部分。此外,可以在例如但并不限于專用處理器等其它處理器件或者計算器件中實現(xiàn)用于實時重組異步傳輸模式(ATM)數(shù)據(jù)的系統(tǒng)。
圖1是說明示例性的異步傳輸模式(ATM)網(wǎng)絡(luò)100的方框圖,其中有包括用于實時重組ATM數(shù)據(jù)的系統(tǒng)的分析設(shè)備150。網(wǎng)絡(luò)100包括經(jīng)由連接116耦合到ATM交換機(jī)118的ATM交換機(jī)114。ATM交換機(jī)114和118操作來按照ATM通信標(biāo)準(zhǔn)通過連接116來路由ATM流量。連接116稱為網(wǎng)絡(luò)節(jié)點(diǎn)接口(NNI)。如本領(lǐng)域所知,NNI116耦合兩個或者更多ATM交換機(jī)以形成ATM通信網(wǎng)絡(luò)。用戶前端設(shè)備(CPE)102經(jīng)由連接104被耦合到ATM交換機(jī)114。連接104稱為用戶網(wǎng)絡(luò)接口(UNI),并且可以包括多種不同的通信信道。例如,UNI可以是用戶位置與ATM交換機(jī)在其上通信的任何通信信道,可以是例如數(shù)字用戶線(DSL)、用于有線調(diào)制解調(diào)器的同軸連接、T1通信信道、光學(xué)或者無線連接等。用戶前端設(shè)備110包括經(jīng)由連接112耦合到ATM交換機(jī)114的用戶前端設(shè)備106和108。連接112也是用戶網(wǎng)絡(luò)接口(UNI)。此外,用戶前端設(shè)備106和108經(jīng)由局域網(wǎng)(LAN)115耦合。
類似地,用戶前端設(shè)備124經(jīng)由UNI連接122被連接到ATM交換機(jī)118,并且用戶前端設(shè)備128經(jīng)由UNI連接126被連接到ATM交換機(jī)118。根據(jù)本發(fā)明的實施例,分析設(shè)備150經(jīng)由可以是光纖的連接132被耦合到任何UNI連接或者NNI連接116,該分析設(shè)備150包括用于實時重組ATM數(shù)據(jù)、也被稱作“分段與重組邏輯”的系統(tǒng)(將在后面描述)。如本領(lǐng)域的技術(shù)人員所知的,可以經(jīng)由諸如遵循準(zhǔn)同步數(shù)字系列(PDH)或同步數(shù)字系列(SDH)標(biāo)準(zhǔn)的不同物理介質(zhì)來實現(xiàn)各種用戶網(wǎng)絡(luò)接口連接和網(wǎng)絡(luò)節(jié)點(diǎn)接口連接。存在數(shù)種不同的定義ATM通信網(wǎng)絡(luò)的物理層接口實現(xiàn)方式的標(biāo)準(zhǔn)。多種介質(zhì)、物理層、協(xié)議和服務(wù)可以共存于相同的基礎(chǔ)設(shè)施中,以傳輸ATM信元,并且全都包括在本說明中。這意味著面向連接和非連接的數(shù)據(jù)類型并行共存。ATM被設(shè)計來支持所有這些數(shù)據(jù)類型。
ATM網(wǎng)絡(luò)也利用“虛電路”來傳輸信息。使用“虛信道連接”(VCC)來定義虛電路(VC)。在ATM網(wǎng)絡(luò)中任何源和目的地之間建立VCC,而不考慮數(shù)據(jù)被路由過網(wǎng)絡(luò)的方式。例如,用戶前端設(shè)備124、128、102、106、108被認(rèn)為是“端點(diǎn)”,它們中任何一個都可以是ATM流量形式的數(shù)據(jù)的源和目的地。ATM基本上是面向連接的技術(shù)。通過發(fā)信號來建立連接,即將建立請求從源端點(diǎn)通過網(wǎng)絡(luò)傳輸?shù)侥康牡囟它c(diǎn)。如果目的地端點(diǎn)同意建立連接,那么在兩個端點(diǎn)之間建立連接。在與源端點(diǎn)和目的地端點(diǎn)相關(guān)聯(lián)的兩個UNI的虛信道標(biāo)識符(VCI)/虛通道標(biāo)識符(VPI)之間建立映射,并且在諸如ATM交換機(jī)114和118的任何中間交換設(shè)備的適當(dāng)輸入鏈路和對應(yīng)的輸出鏈路之間建立映射。VCC是正在通信的兩個ATM端點(diǎn)之間的連接。它可以包括幾個使用ATM反向復(fù)用(IMA)的ATM VC鏈路的級聯(lián)。ATM網(wǎng)絡(luò)中的所有通信都沿相同的VCC傳輸,其保持信元順序并且提供了確定的服務(wù)質(zhì)量。每個網(wǎng)絡(luò)實體到實體的鏈路都分配了ATM信元信頭(將在下面描述)中的虛信道標(biāo)識符(VCI),即在同一VCC中,VCI可以在穿越網(wǎng)絡(luò)時發(fā)生變化。
虛通道(VP)將在兩個ATM實體之間建立的多個VC組成組,并且也可以包括許多ATM VP鏈路。整體地交換和某個VP相關(guān)聯(lián)的VC,而不用拆組或處理單個VC或改變其VCI。這樣,保持了每個VC的信元順序,并且VP的服務(wù)質(zhì)量依賴于其最苛刻的VC的服務(wù)質(zhì)量。由于信元地址機(jī)制同時使用VCI和VPI,所以不同的VP也可以使用相同的VCI而不會沖突。
圖2A是說明示例性的ATM信元200的方框圖。ATM信元200包括五字節(jié)的信頭部分202和48字節(jié)的負(fù)載部分204。48字節(jié)的負(fù)載部分204也叫做信息字段。信頭202中的第一字節(jié)包括在NNI連接的情形中的虛通道標(biāo)識符(VPI),或者在UNI連接情形中的一般流控制(GFC)加VPI。第二字節(jié)的四位的第一部分也包括虛通道標(biāo)識符,而第二字節(jié)的四位的第二部分包括虛信道標(biāo)識符(VCI)。信頭202的第三字節(jié)也包括虛信道標(biāo)識符,和第四字節(jié)的四位的第一部分一樣。信頭202中的第四字節(jié)的三位的第二部分包括負(fù)載類別(PT)指示符(PTI),而第四字節(jié)的一位的第三部分包括信元丟失優(yōu)先(CLP)位。信頭202的第五字節(jié)包括信頭糾錯(HEC)字節(jié)。對于ATM信元,字節(jié)也叫做“八位組”。
圖2B是說明示例性的ATM微信元290的方框圖。微信元是AAL2特有的結(jié)構(gòu)。微信元290位于ATM信元負(fù)載部分204中并且可以跨越兩個或更多的ATM信元。ATM微信元290包括信頭部分222和負(fù)載部分224。信頭部分222中的第一字節(jié)包含信道標(biāo)識符(CID)。第二字節(jié)的第一部分包含長度指示符(LI)。第二字節(jié)的第二部分加上第三字節(jié)的第一部分包含用戶-用戶指示符(UUI)的一部分。第三字節(jié)的第二部分包含有不同于ATM信元HEC的信頭糾錯字段(HEC)。
ATM是基于層的體系結(jié)構(gòu)。就ATM協(xié)議棧而言,ATM層位于物理層之上。ATM層為所有服務(wù)提供信元傳輸,并且包括ATM適配層(AAL)。ATM適配層向AAL層之上的層提供與服務(wù)有關(guān)的功能。ATM是一種分組交換技術(shù),它使用包含在信頭202中的標(biāo)識符(VPI/VCI)來引導(dǎo)流量。但是,與其它分組技術(shù)不同,ATM使用稱作信元的短的、固定長度的分組。如上所述,典型地每一個信元長53個字節(jié)。由AAL將負(fù)載數(shù)據(jù)插入到48字節(jié)負(fù)載部分204中。AAL向ATM提供了在相同的格式內(nèi)傳輸不同類別服務(wù)的靈活性。應(yīng)當(dāng)理解AAL不是網(wǎng)絡(luò)處理,而是由網(wǎng)絡(luò)終端設(shè)備來執(zhí)行的。因此,網(wǎng)絡(luò)的任務(wù)是根據(jù)信元的信頭信息將信元從一點(diǎn)路由到另一點(diǎn)。在這里,對兩種ATM適配層特點(diǎn)尤其感興趣。ATM適配層2(AAL2)提供可變比特速率(VBR)時序敏感服務(wù)。當(dāng)在源和目的地點(diǎn)之間需要很強(qiáng)的時序關(guān)系,但是比特速率可以變化時,AAL2被用來傳輸流量。例子包括可變比特率語音以及例如使用運(yùn)動圖像專家組(MPEG)編碼的壓縮視頻。
ATM適配層類別5(AAL5)也叫“簡單有效適配層(SEAL)”,它被設(shè)計來滿足實現(xiàn)本地、高速LAN的需求。AAL5用于面向連接或無連接的VBR服務(wù)。
AAL5是這樣一種格式,其中一個到n個具有相同VPI/VCI的信元將它們的負(fù)載級聯(lián)起來以形成較大的分組。AAL2是一種其中有多個微信元的格式。多個具有相同VPI/VCI和信道標(biāo)識符(CID)的微信元將它們的負(fù)載級聯(lián)起來以形成較大的分組。如將要在下面詳細(xì)描述的,將在下面圖3中描述的分段與重組邏輯300區(qū)分AAL2信元和AAL5信元,并且按照接近和超過光載波(OC)12速度(即622.080兆比特每秒(Mbps)的線速率)的網(wǎng)絡(luò)速度實時重組這些信元。
圖3是說明由圖1中的分析設(shè)備150執(zhí)行的分段與重組(SAR)邏輯300的方框圖。在這一實施例中,分段與重組邏輯300包括線接口模塊(LIM)306,該線接口模塊包括至少一個LIM模擬模塊302和LIM數(shù)字模塊304。這里所稱的“模塊”可以是印刷電路卡或配線板。盡管分段與重組邏輯在圖3中被圖示為特定的實現(xiàn),但是其包括可以在任何處理器中執(zhí)行的可執(zhí)行軟件。LIM模擬模塊302從可以是光纖的連接132接收ATM信元。
典型地,在LIM接口模塊306上設(shè)置有多個LIM模擬模塊302和一個LIM數(shù)字模塊304。但是,為了簡單只圖示了單個LIM模擬模塊302,其具有多個到LIM數(shù)字模塊304上的現(xiàn)場可編程門陣列(FPGA)350的連接。例如,在LIM模擬模塊302與FPGA 350之間所示的連接308和316。每一個連接308和316都包括控制信息和數(shù)據(jù)。例如,在連接308上,連接312傳輸控制信息,而連接314以ATM信元的形式傳輸數(shù)據(jù)。
實時分段與重組邏輯355在FPGA 350中被執(zhí)行,其包括很多不同的外部存儲模塊和嵌入式存儲模塊。例如,實時分段與重組邏輯355包括包含有將在下面解釋的循環(huán)緩沖區(qū)346的嵌入式存儲部分。然而,為了便于描述,循環(huán)緩沖區(qū)346被示出在FPGA 350之外。相似地,為了說明的簡單,在FPGA外圖示了和FPGA 350關(guān)聯(lián)的其它存儲模塊。例如,F(xiàn)PGA350包括靜態(tài)隨機(jī)訪問存儲器(SRAM)元件318、同步動態(tài)隨機(jī)訪問存儲器(SDRAM)344和內(nèi)容可編址存儲器(CAM)324。CAM的尺寸和配置是可變的。例如,可以選擇8192×64位的配置。存儲元件318、322和CAM 324處理并且存儲出現(xiàn)在連接314上的數(shù)據(jù)。
相似地,也和FPGA 350關(guān)聯(lián)的SRAM 328、SDRAM 332和CAM 334處理包含在連接316上的數(shù)據(jù)。此外,額外的SDRAM元件326也和FPGA 350相關(guān)聯(lián)。
循環(huán)緩沖區(qū)346包括用于32個ATM信元的存儲空間348以及用于每一個信元348的“上下文字段”354。上下文字段354在信息字段356中包括有關(guān)信元的信息,并且包括關(guān)于包含在信元中的數(shù)據(jù)段的信息。這一存儲位置被稱作分段表358。在這個例子中,雖然AAL2信元理論上可以有多至11個微信元,但是分段表358只可以包含多至六個段。但是,AAL2信元不大可能包含六個以上的段。分段表358的大小是可變的。
經(jīng)由連接總線336、338和342將FPGA 350耦合到鏈路層處理器344??偩€336傳輸中央處理器單元(CPU)信息,而線接口模塊BUS1是指連接338并且線接口模塊BUS2是指連接342。
鏈路層處理器344分析來自線接口模塊306的幀和信元,并且經(jīng)由連接352向諸如個人計算機(jī)提供信號以顯示ATM信息。
圖4是說明實時分段與重組邏輯355的操作的方框圖。方框圖400包括循環(huán)緩沖區(qū)346和訪問仲裁器404。如將要在下面描述的,訪問仲裁器控制循環(huán)緩沖區(qū)346與將在下面描述的許多處理元件之間的信息交換。并行處理元件包括初始信元檢查(ICC)元件412、AAL檢測元件418、AAL5處理元件426、AAL2處理元件434、輸出元件442和統(tǒng)計元件448。此外,統(tǒng)計RAM元件452經(jīng)由連接454被耦合到AAL檢測元件418,并且經(jīng)由連接458被耦合到統(tǒng)計元件448。緩沖區(qū)管理器500經(jīng)由連接456被耦合到輸出元件442。
元件412、418、426、434、442和448的每一個分別包括隊列機(jī)制408、416、424、432、438和446。隊列機(jī)制408、416、424、432、438和446中的每一個都包括兩個計數(shù)器。第一計數(shù)器被稱作“頭指針”,第二計數(shù)器被稱作“尾指針”。頭指針指向被寫入循環(huán)緩沖區(qū)346并且已由前面的處理元件進(jìn)行處理的最后信元。尾指針指向正由各個并行處理元件進(jìn)行處理的當(dāng)前信元。當(dāng)信元由處理元件412、418、426、434、442和448之一進(jìn)行處理時,該元件將所述信元排隊到下一個處理元件上。同時,只要循環(huán)緩沖區(qū)中有信元在等待,就允許處理單元處理下一個信元。
經(jīng)由連接314將來自LIM模擬模塊302的進(jìn)入信元提供給循環(huán)緩沖區(qū)346。訪問仲裁器404控制循環(huán)緩沖區(qū)346與處理元件412、418、426、434、442及448之間的通信。
統(tǒng)計RAM 452存儲關(guān)于(在本例中)多至8000個獨(dú)特VPI/VCI對的信息和統(tǒng)計量,并且允許鏈路層處理器344(圖3)中的軟件(沒有示出)訪問與統(tǒng)計RAM 452的內(nèi)容相關(guān)聯(lián)的統(tǒng)計信息,并將其發(fā)送到個人計算機(jī)(PC)或其它終端進(jìn)行顯示。
初始信元檢查(ICC)元件412檢查循環(huán)緩沖區(qū)346中的進(jìn)入信元,并且確定ATM級別信息,例如PTI、CLP、HEC錯誤、信元類別、VPI/VCI以及被指定給信元用作收集關(guān)于該信元的統(tǒng)計量的參考的索引。該索引是對應(yīng)于CAM 324(圖3)中的存儲地址的數(shù)字。所述索引是一種標(biāo)簽一類的跟蹤機(jī)制,實時分段與重組邏輯355用該索引來關(guān)聯(lián)等同的VPI/VCI和VPI/VCI+CID,而無需使用VPI/VCI或VPI/VCI+CID的整個位字段。反過來可以將CAM 324(圖3)認(rèn)為是一個存儲器。輸入數(shù)據(jù)而輸出地址。地址就是所說的索引。每當(dāng)識別出獨(dú)特的VPI/VCI或VPI/VCI+CID并且將其添加到CAM 324時,就可以從CAM 324獲得索引。遞增地分配索引(CAM地址)。此外,用戶可以通過軟件(沒有示出)將VPI/VCI條目輸入到CAM中。索引被放入到循環(huán)緩沖區(qū)346的上下文部分354中(見圖3)。將正被分析的信元的VPI/VCI提供給CAM324,這導(dǎo)致要么返回的是該VPI/VCI的索引,要么返回的是VPI/VCI被添加到CAM 324,所述返回過程返回定義了VPI/VCI被放置的位置的索引。
AAL檢測元件418檢查PTI、信元類別、微信元HEC以及該索引的統(tǒng)計RAM條目,以確定正被分析的信元的AAL模式(如果有的話)。AAL模式可能已通過軟件輸入了,或者通過檢查前面的信元被預(yù)先確定了。如果檢測到AAL2或AAL5信元,那么AAL檢測元件418就將該信元標(biāo)記為AAL2或AAL5。
AAL5處理元件426只檢查在循環(huán)緩沖區(qū)346的上下文部分中的信息字段356(見圖3)中被標(biāo)記為信元的AAL5數(shù)據(jù)。AAL5處理元件426確定該信元是分組的“開始”、“繼續(xù)”還是“結(jié)束”,并且用該信息在分段表358中構(gòu)造條目。AAL5處理元件426也對每一幀執(zhí)行循環(huán)冗余校驗(CRC)32計算。
AAL2處理元件434只檢查在循環(huán)緩沖區(qū)346的上下文部分中的信息字段356(見圖3)中被標(biāo)記為信元的AAL2數(shù)據(jù),并且確定該微信元是分組的“開始”、“繼續(xù)”還是“結(jié)束”,并用該信息在分段表358中構(gòu)造條目。AAL2處理元件434也在CAM 324(見圖3)中執(zhí)行VPI/VCI+CID查找,以確定用于跟蹤及匹配具有相同VPI/VCI+CID的微信元的次級索引。如果在一個信元中有一個以上的微信元,那么AAL2處理元件434可以在分段表358中創(chuàng)建一個以上的條目。
輸出元件442檢查分段表358中的條目,并且從循環(huán)緩沖區(qū)346(圖3)中的信元數(shù)據(jù)348中讀取適當(dāng)?shù)呢?fù)載信息塊,并且經(jīng)由連接456將所述負(fù)載信息傳遞到緩沖區(qū)管理器500。輸出元件442還為每一個幀計算持續(xù)幀長度,并且和負(fù)載數(shù)據(jù)一起將幀長度信息傳遞到LLP 344(圖3)。
統(tǒng)計元件448檢查分段表358中的每一條目,并且計數(shù)空閑信元、未分配信元、運(yùn)行及維護(hù)(OAM)信元、資源管理(RM)信元、HEC錯誤信元、CLP=1信元、擁塞信元、AAL5幀、AAL5 CRC錯誤、AAL5字節(jié)計數(shù)、AAL2幀和AAL2字節(jié)計數(shù)的數(shù)目。統(tǒng)計元件448對所有幀,同時也基于每一VPI/VCI執(zhí)行這種分析。如上所述,統(tǒng)計元件448中的信息被傳遞給統(tǒng)計RAM 452。
緩沖區(qū)管理器500累積具有相同VPI/VCI或VPI/VCI+CID的信元和/或微信元(經(jīng)由索引)。當(dāng)幀是完整的時,緩沖區(qū)管理器500將該幀作為一個完整的幀輸出到下游處理器,例如圖3中的鏈路層處理器344。
圖5是說明圖4的緩沖區(qū)管理器的操作的方框圖500。流狀態(tài)列表(SSL)550、自由塊列表(FBL)551和已完成消息列表(CML)552是保存在外部SDRAM 326中的列表。SSL管理器522、FBL管理器538和CML管理器524分別管理這些列表。輸入緩沖區(qū)504經(jīng)由連接456從圖4的輸出元件442接收信元或段。流狀態(tài)列表管理器522經(jīng)由連接506確定該信元或段是新的幀的開始還是現(xiàn)存幀的繼續(xù)。如果流狀態(tài)列表管理器522確定所述信元或段是新的幀,那么從自由塊列表管理器538獲得緩沖區(qū)號,并將該緩沖區(qū)號保存在SSL 550中用于所述索引。如果流狀態(tài)列表管理器522確定所述信元或段是現(xiàn)存幀的繼續(xù),那么從流狀態(tài)列表550獲得現(xiàn)存的緩沖區(qū)。內(nèi)核512將數(shù)據(jù)寫到外部SDRAM 322中已分配的緩沖區(qū)。該外部SDRAM 322被劃分成許多緩沖區(qū),每個緩沖區(qū)大到足以容納一個幀。
如果內(nèi)核512確定整個幀已被寫入,那么該內(nèi)核就通過已完成消息列表管理器524向CML 552添加消息。已完成消息列表管理器524通知輸出元件520有幀正等待被輸出。輸出元件520經(jīng)由內(nèi)核512訪問所述幀,并且經(jīng)由連接338將該幀輸出到圖3的鏈路層處理器344。
圖6A和6B是共同說明實時分段與重組邏輯355的一種實施例的操作流程圖??梢詫σ粋€具體的信元按照圖示的順序執(zhí)行流程圖600中的框,也可以對一個以上的信元同時并行執(zhí)行。此外,可以不按照圖示的順序或者并行地執(zhí)行這些框。
在框602中,由ICC元件412(圖4)檢查循環(huán)緩沖區(qū)346中的進(jìn)入信元。在框604中,在CAM 324中查找到信元的VPI/VCI,以確定索引標(biāo)識符。在框606中,將與信元相關(guān)的附加信息放入到循環(huán)緩沖區(qū)356中。
在框608中,AAL檢測元件418使用來自CAM 324的索引來查詢存儲器,以確定信元是否將要被重組。在框610中,根據(jù)是否將要重組數(shù)據(jù)而做出判定。如果數(shù)據(jù)不會被重組,例如如果信元被認(rèn)為是空閑的、未被分配的或者OAM信元等,那么這個信元繞過AAL5和AAL2重組處理元件而直接前進(jìn)到框626(圖6B)。為具有“開始”及“結(jié)束”兩種屬性的整個信元產(chǎn)生段。然后在框628(圖6B)中由輸出元件520(圖4)處理該段。如果在框610中確定將要重組信元,那么在框612中AAL檢測元件418確定信元模式。如果信元是AAL2信元,那么在框614中,AAL2處理元件434(圖4)根據(jù)ATM論壇規(guī)范解析該AAL2信元,并且確定該信元中每一個微信元的位置。
在框616中,對于每一個微信元,AAL2處理元件434(圖4)在CAM 324中查找VPI/VCI+CID組合來獲得新的(次級)索引,以跟蹤并匹配具有相同VPI/VCI+CID的微信元。在框618中,在框616中找到的索引被用來訪問循環(huán)緩沖區(qū)346(圖3),以獲得關(guān)于信元的信息。在框622中,確定微信元是一個較大幀的“開始段”、“繼續(xù)段”還是“結(jié)束段”。在框626中,在分段表358中構(gòu)建條目。
如果在框612中確定信元是AAL5信元,那么在框624中確定該信元是“開始”、“繼續(xù)”還是“結(jié)束”信元。在框626中,用在框622或624中發(fā)現(xiàn)的信息在分段表358中構(gòu)造條目。
在框628中,輸出元件442檢查分段表358中的條目,并且從存儲在循環(huán)緩沖區(qū)346(圖3)中的信元讀取適當(dāng)?shù)呢?fù)載塊。在框632中,緩沖區(qū)管理器500在RAM中逐幀地累積信元或微信元的段,以重建較大的幀。在框632中,RAM被分成例如16384個長2048字節(jié)的緩沖區(qū)。每一緩沖區(qū)可以累積足以形成一幀的段。當(dāng)幀被轉(zhuǎn)發(fā)到LLP 344(圖3)時,可以重新使用這個緩沖區(qū)。多個幀可以在RAM中對應(yīng)于同一VPI/VCI或索引的多個緩沖區(qū)中共存。在框634中,統(tǒng)計元件448收集并且向統(tǒng)計RAM 452提供上述統(tǒng)計量,以輸出到圖3的鏈路層處理器344。
對于本領(lǐng)域的技術(shù)人員很明顯的是,可以對本發(fā)明的上述優(yōu)選實施例做出多種修改和變化,而不會從實質(zhì)上背離本發(fā)明的原理。例如,可以在任何ATM通信環(huán)境中使用用于實時重組異步傳輸模式數(shù)據(jù)的系統(tǒng)。這里將所有這樣的修改和變化都包括在本發(fā)明的范圍之內(nèi),正如所附權(quán)利要求定義的那樣。
權(quán)利要求
1.一種用于實時重組ATM數(shù)據(jù)的系統(tǒng),包括用于存儲ATM數(shù)據(jù)的循環(huán)緩沖區(qū),所述ATM數(shù)據(jù)包括被分割成信元的信息;和多個并行處理元件,所述元件被配置來分析所述ATM信元并確定信元類別,其中實時重組AAL2信元和AAL5信元。
2.如權(quán)利要求1所述的系統(tǒng),其中,所述循環(huán)緩沖區(qū)同時和所述多個處理元件通信。
3.如權(quán)利要求2所述的系統(tǒng),還包括分段表,所述分段表被配置來接收并存儲與ATM信元相關(guān)聯(lián)的數(shù)據(jù)段。
4.如權(quán)利要求3所述的系統(tǒng),還包括緩沖區(qū)管理器,所述緩沖區(qū)管理器被配置來累積所述數(shù)據(jù)段并將所述數(shù)據(jù)段組裝為幀。
5.如權(quán)利要求4所述的系統(tǒng),還包括統(tǒng)計存儲器,所述統(tǒng)計存儲器被配置來存儲與所述信元相關(guān)聯(lián)的統(tǒng)計量。
6.如權(quán)利要求5所述的系統(tǒng),其中,所述統(tǒng)計量是從以下成員中選出的,這些成員包括空閑信元、未分配信元、運(yùn)行與維護(hù)信元、AAL2信元、AAL5信元、信頭糾錯錯誤信元、幀計數(shù)、字節(jié)計數(shù)、擁塞信息、AAL5循環(huán)冗余校驗錯誤計數(shù)和資源管理信元計數(shù)。
7.如權(quán)利要求6所述的系統(tǒng),其中,為每一個獨(dú)特的虛通道標(biāo)識符/虛信道標(biāo)識符信元流收集所述統(tǒng)計量。
8.如權(quán)利要求7所述的系統(tǒng),其中,將所述統(tǒng)計量周期性地提供給處理器進(jìn)行顯示。
9.一種用于實時重組ATM數(shù)據(jù)的方法,包括將ATM數(shù)據(jù)提供給循環(huán)緩沖區(qū),所述ATM數(shù)據(jù)包括被分割為信元的信息;將所述ATM數(shù)據(jù)存儲在所述循環(huán)緩沖區(qū)中;分析所述ATM信元以確定信元類別,其中實時重組AAL2信元和AAL5信元。
10.如權(quán)利要求9所述的方法,還包括在所述循環(huán)緩沖區(qū)與所述多個處理元件之間同時通信。
11.如權(quán)利要求10所述的方法,還包括在分段表中接收并存儲與ATM信元相關(guān)聯(lián)的數(shù)據(jù)段。
12.如權(quán)利要求11所述的方法,還包括在緩沖區(qū)管理器中累積所述數(shù)據(jù)段;以及將所述數(shù)據(jù)段組裝成幀。
13.如權(quán)利要求12所述的方法,還包括在統(tǒng)計存儲器中存儲與所述信元相關(guān)聯(lián)的統(tǒng)計量。
14.如權(quán)利要求13所述的方法,其中,所述統(tǒng)計量是從以下成員中選出的,這些成員包括空閑信元、未分配信元、運(yùn)行及維護(hù)信元、AAL2信元、AAL5信元、信頭糾錯錯誤信元、幀計數(shù)、字節(jié)計數(shù)、擁塞信息、AAL5循環(huán)冗余校驗錯誤計數(shù)和資源管理信元計數(shù)。
15.如權(quán)利要求14所述的方法,其中,為每一個獨(dú)特的虛通道標(biāo)識符/虛信道標(biāo)識符信元流收集所述統(tǒng)計量。
16.如權(quán)利要求15所述的方法,還包括將所述統(tǒng)計量周期性地提供給處理器進(jìn)行顯示。
17.一種計算機(jī)可讀介質(zhì),其具有用于實時重組ATM數(shù)據(jù)的程序,包括用于將ATM數(shù)據(jù)提供給循環(huán)緩沖區(qū)的邏輯,所述ATM數(shù)據(jù)包括被分割為信元的信息;用于將所述ATM數(shù)據(jù)存儲在所述循環(huán)緩沖區(qū)中的邏輯;用于分析所述ATM信元以確定信元類別的邏輯,其中實時重組AAL2信元和AAL5信元。
18.如權(quán)利要求17所述的介質(zhì),還包括用于在所述循環(huán)緩沖區(qū)與所述多個處理元件之間同時通信的邏輯。
19.如權(quán)利要求18所述的介質(zhì),還包括用于在分段表中接收并存儲與ATM信元相關(guān)聯(lián)的數(shù)據(jù)段的邏輯。
20.如權(quán)利要求19所述的介質(zhì),還包括用于在緩沖區(qū)管理器中累積所述數(shù)據(jù)段的邏輯;和用于將所述數(shù)據(jù)段組裝成幀的邏輯。
21.如權(quán)利要求20所述的介質(zhì),還包括在統(tǒng)計存儲器中存儲與所述信元相關(guān)聯(lián)的統(tǒng)計量。
22.如權(quán)利要求21所述的介質(zhì),其中,所述統(tǒng)計量是從以下成員中選出的,這些成員包括空閑信元、未分配信元、運(yùn)行及維護(hù)信元、AAL2信元、AAL5信元、信頭糾錯錯誤信元、幀計數(shù)、字節(jié)計數(shù)、擁塞信息、AAL5循環(huán)冗余校驗錯誤計數(shù)和資源管理信元計數(shù)。
23.如權(quán)利要求22所述的介質(zhì),其中,為每一個獨(dú)特的虛通道標(biāo)識符/虛信道標(biāo)識符信元流收集所述統(tǒng)計量。
24.如權(quán)利要求23所述的介質(zhì),還包括用于將所述統(tǒng)計量周期性地提供給處理器進(jìn)行顯示的邏輯。
全文摘要
本發(fā)明公開了一種用于實時重組異步傳輸模式(ATM)數(shù)據(jù)的系統(tǒng)。在一個實施例中,所述用于實時重組ATM數(shù)據(jù)的系統(tǒng)包括循環(huán)緩沖區(qū)和多個并行處理元件,所述循環(huán)緩沖區(qū)用于存儲包括被分割為信元的信息的ATM數(shù)據(jù),所述并行處理元件被配置來分析ATM信元并且確定信元的類別,其中實時重組ATM適配層(AAL)2信元和AAL5信元。
文檔編號H04L29/06GK1665220SQ20041009121
公開日2005年9月7日 申請日期2004年11月17日 優(yōu)先權(quán)日2004年3月2日
發(fā)明者羅伯特·杰弗里·沃德 申請人:安捷倫科技有限公司