專利名稱:一種pcie數(shù)據(jù)傳輸?shù)姆椒ā⑾到y(tǒng)及板卡的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種PC正(PCI Express, PCI快速 總線)數(shù)據(jù)傳輸?shù)姆椒ā⑾到y(tǒng)及板卡。
背景技術(shù):
PCI ( Peripheral Component Interconnect,夕卜i更吾卩"f?;ミB)Express是由Intel 倡導(dǎo)開發(fā)的處理器系統(tǒng)總線,是一種串行互連技術(shù),目前已經(jīng)被PCISIG (PCI 專業(yè)組)接受并成為PCI、 PCI-X ( PCI extended, PCI擴(kuò)展)的繼承者,目標(biāo) 是完全取代PCI和PCI-X。隨著PCI Express (筒稱PCIE)規(guī)范的發(fā)布,越來越 多的廠家開始推出基于PC正規(guī)范的芯片, 一些廠家已經(jīng)推出了基于PC正的交 換器,在一個(gè)系統(tǒng)中可以連接很多設(shè)備,基于PCIE交換器的通信設(shè)備(如路 由器、交換機(jī)、網(wǎng)關(guān)等)也成為一種選擇?,F(xiàn)有技術(shù)中, 一個(gè)典型的基于PCIE交換器的分布式系統(tǒng)的架構(gòu),如圖l 所示,PC正交換器提供多個(gè)PC正接口連接到主控板和線卡板(如接口板、業(yè) 務(wù)板等),主控板CPU ( Central Processor Unit,中央處理器)通過PCIE接口 完成PC正交換器的配置和線卡板的PC正終端空間的配置,確保不同的線卡板 可以通過PCIE交換網(wǎng)進(jìn)行通信,線卡板中的報(bào)文處理主要通過報(bào)文處理引擎 實(shí)現(xiàn),報(bào)文處理《1擎可以采用CPU、 NP (Networks Processor Unit,網(wǎng)絡(luò)處理 器)或者ASIC (Application Specific Integrated Circuit,專用集成電路)等。在基于PCIE交換器的分布式系統(tǒng)中,通過PCIE總線實(shí)現(xiàn)設(shè)備之間通信的 串行、點(diǎn)對(duì)點(diǎn)類型的互連,利用基于PCIE數(shù)據(jù)報(bào)文的通信協(xié)議實(shí)現(xiàn)串行互連 通信。PCIE數(shù)據(jù)報(bào)文格式如圖2所示,其中PCIE報(bào)文中攜帶目標(biāo)線卡板的內(nèi)存 地址,PCIE交換器根據(jù)該目標(biāo)線卡板的內(nèi)存地址對(duì)數(shù)據(jù)報(bào)文進(jìn)行轉(zhuǎn)發(fā)。具體 報(bào)文轉(zhuǎn)發(fā)流程如圖3和圖4所示,包括以下步驟步驟s301,主控板為每個(gè)線卡板中的內(nèi)存分配地址空間范圍,確保所有線卡板進(jìn)行PCIE報(bào)文轉(zhuǎn)發(fā)時(shí)內(nèi)存地址不沖突;線卡板l接收到報(bào)文后,提取報(bào)文 的五元組(MAC地址、IP地址、協(xié)議號(hào))等信息,進(jìn)行分類查表,如果查表 的結(jié)果為報(bào)文轉(zhuǎn)發(fā)的目的為線卡板4的某個(gè)端口,則線卡板1向線卡板4申請內(nèi) 存空間。步驟s302,線卡板4的CPU申請本地內(nèi)存空間。步驟s303,線卡板4把本地內(nèi)存空間的地址傳遞給線卡板l的CPU。步驟s304,線卡板1的CPU根據(jù)線卡板4提供的內(nèi)存地址,組裝PCIE報(bào)文,發(fā)送到PCIE交換網(wǎng)上,PCIE交換網(wǎng)依據(jù)PC正報(bào)文中的地址信息,轉(zhuǎn)發(fā)報(bào)文到線卡板4。步驟s305,線卡板4把^R文存儲(chǔ)到預(yù)先分配的地址空間。 圖3和圖4的轉(zhuǎn)發(fā)流程所示,要轉(zhuǎn)發(fā)一個(gè)包到目的線卡板必須先到目的線 卡板申請內(nèi)存空間地址,然后依據(jù)申請到的目的地址,組裝PCIE包,然后把 該P(yáng)CIE包通過PCIE交換網(wǎng)發(fā)送到目的線卡板。目的地址的申:^青和傳送可以通 過設(shè)備的數(shù)據(jù)承載平面,也可以通過控制平面,為了避免數(shù)據(jù)承載平面數(shù)據(jù) 報(bào)文過多、發(fā)生擁塞,優(yōu)選使用控制平面?zhèn)鬟f目的內(nèi)存地址。基于PCIE交換 網(wǎng)的這種地址路由方式,在基于PCIE交換網(wǎng)的每個(gè)線卡板地址都必須是唯一 的,不能和其他線卡板地址沖突。綜上所述,現(xiàn)有技術(shù)中PCIE數(shù)據(jù)傳輸具有以下缺陷1、 PC正交換網(wǎng)中的通信協(xié)議復(fù)雜,嚴(yán)重影響線卡板間傳輸?shù)男阅馨l(fā) 送方需要獲取接收方的地址,接收方的地址需要更新給發(fā)送方。由此增加了 通信開銷,例如接收方的地址更新給發(fā)送方時(shí),對(duì)某些加鎖的內(nèi)存地址, 接收方需要額外發(fā)送訪問加鎖的開銷;及一個(gè)數(shù)據(jù)包的傳送伴隨著以PC正 Memory寫方式的兩個(gè)小包(請求地址包和獲取地址包)的開銷等。2、 PCIE交換網(wǎng)中的VC (Virtual Channel,虛通道)數(shù)量不夠,容易引 起HOL (Head of Line Blocking,信頭阻塞)問題。如果CPU向某個(gè)槽位申 請寫空間,當(dāng)對(duì)方忙時(shí),將導(dǎo)致CPU陷入等待,無法向其他槽位發(fā)送申請。3、 為了傳輸?shù)恼_可靠,PCIE的許多操作的優(yōu)先IM艮高,需要確保這些 操作成功執(zhí)行。如果執(zhí)行這些操作時(shí),板間傳輸出了故障,CPU將繼續(xù)等待,會(huì)影響CPU的基本運(yùn)行,且造成較大的傳輸延時(shí)。發(fā)明內(nèi)容本發(fā)明實(shí)施例提供一種PCIE數(shù)據(jù)傳輸?shù)姆椒?、系統(tǒng)及設(shè)備,有效提高基 于PCIE交換網(wǎng)的設(shè)備轉(zhuǎn)發(fā)性能。本發(fā)明實(shí)施例提供了一種PCIE數(shù)據(jù)傳輸?shù)姆椒?,?yīng)用于包括線卡板、主 控板和PCIE交換器的系統(tǒng)中,所述線卡板中還包括地址隔離裝置和報(bào)文緩存 裝置,所述方法包括以下步驟源線卡板CPU將報(bào)文通過所述源線卡板的地址隔離裝置存儲(chǔ)到所述源線 卡板的報(bào)文緩存裝置;所述源線卡板的地址隔離裝置從目的線卡板的地址隔離裝置獲取所述目 的線卡板報(bào)文緩存裝置的空閑地址;所述源線卡板的地址隔離裝置將所述報(bào)文存儲(chǔ)到所述目的線卡板的報(bào)文 緩存裝置;所述目的線卡板的地址隔離裝置提取所述報(bào)文,將所述報(bào)文發(fā)送給所述 目的線卡板的CPU。其中,源線卡板CPU將報(bào)文通過所述源線卡板的地址隔離裝置存儲(chǔ)到所 述源線卡板的報(bào)文緩存裝置具體包括源線卡板CPU從物理端口接收到報(bào)文;所述源線卡板CPU向本單板的地址隔離裝置申請空閑的報(bào)文緩存裝置中 的空閑空間,地址隔離裝置把報(bào)文緩存裝置的空閑地址返回給CPU;所述源線卡板CPU把報(bào)文數(shù)據(jù)發(fā)送給地址隔離裝置,地址隔離裝置把報(bào) 文存儲(chǔ)到報(bào)文緩存裝置中。其中,所述源線卡板的地址隔離裝置從目的線卡板的地址隔離裝置獲取 所述目的線卡纟反凈艮文緩存裝置的空閑地址具體包括所述源線卡板的地址隔離裝置向所述目的線卡板的地址隔離裝置申請報(bào) 文緩存裝置的空閑地址;所述目的線卡板的地址隔離裝置將所述目的線卡板的報(bào)文緩存裝置的空閑地址返回給所述源線卡板的地址隔離裝置。其中,所述源線卡板的地址隔離裝置將所述報(bào)文存儲(chǔ)到所述目的線卡板的報(bào)文緩存裝置具體包括源線卡板地址隔離裝置依據(jù)獲得的目的線卡板報(bào)文緩存裝置的空閑地址 重新組幀PCIE報(bào)文發(fā)送到交換網(wǎng),由交換板把報(bào)文發(fā)送到目的線卡板的地址 隔離裝置;所述目的線卡板的地址隔離裝置把報(bào)文存儲(chǔ)到目的線卡板的報(bào)文緩存裝 置中。其中,所述目的線卡板的地址隔離裝置提取所述報(bào)文,將所述報(bào)文發(fā)送 給所述目的線卡板的CPU具體包括所述目的線卡板的地址隔離裝置向所述目的線卡板的CPU申請內(nèi)存空間;所述目的線卡板的CPU返回空閑的內(nèi)存地址給所述目的線卡板的地址隔 離裝置;所述目的線卡板的地址隔離裝置將PCIE報(bào)文,發(fā)送給目的線卡板的 CPU;所述目的線卡板CPU依據(jù)目的板號(hào)和端口號(hào),將所述報(bào)文從相應(yīng)的物理端口發(fā)送。其中,所述源線卡板的地址隔離裝置從目的線卡板的地址隔離裝置獲取 所述目的線卡板報(bào)文緩存裝置的空閑地址是通過線卡板中的控制裝置實(shí)現(xiàn)或通過PCIE交換器實(shí)現(xiàn)。本發(fā)明還提供了一種PCIE數(shù)據(jù)傳輸?shù)南到y(tǒng),包括線卡板、主控板和PCIE 交換器,所述線卡板中還包括報(bào)文緩存裝置,用于存儲(chǔ)待發(fā)送的報(bào)文和來自交換網(wǎng)的報(bào)文; 地址隔離裝置,用于在發(fā)送方向,從目的線卡板的地址隔離裝置獲取所 述目的線卡板報(bào)文緩存裝置的空閑地址,并將本板的報(bào)文緩存裝置中的待發(fā) 送報(bào)文發(fā)送到所述目的線卡板的地址隔離裝置;在接收方向,將來自交換網(wǎng)的報(bào)文存儲(chǔ)到本板的所述報(bào)文緩存裝置中,然后獲取本板空閑的內(nèi)存地址, 并將所述本板的報(bào)文緩存裝置中的報(bào)文存儲(chǔ)到所述空閑的內(nèi)存地址中。其中,所述報(bào)文緩存裝置具體包括 第一報(bào)文緩存單元,用于存儲(chǔ)待發(fā)送的報(bào)文; 第二報(bào)文緩存單元,用于存儲(chǔ)來自交換網(wǎng)的報(bào)文。 其中,所述地址隔離裝置具體包括第一報(bào)文接收控制單元,用于將待發(fā)送報(bào)文存儲(chǔ)到所述第一報(bào)文緩存單元;第二報(bào)文發(fā)送控制單元,用于從目的線卡板的地址隔離裝置獲取所述目 的線卡板報(bào)文緩存裝置的空閑地址,并將所述報(bào)文緩存裝置中的待發(fā)送報(bào)文發(fā)送到所述目的線卡板的地址隔離裝置;第二報(bào)文接收控制單元,用于將來自交換網(wǎng)的接收報(bào)文存儲(chǔ)到所述第二 報(bào)文緩存單元;第一報(bào)文發(fā)送控制單元,用于獲取本線卡板空閑的內(nèi)存地址,并將所述 報(bào)文緩存裝置中的接收報(bào)文存儲(chǔ)到所述空閑的內(nèi)存地址中。 其中,所述線卡板還包括控制裝置,用于源線卡板的地址隔離裝置通過控制平面與目的線卡板的 地址隔離裝置通信以獲取所述目的線卡板的報(bào)文緩存裝置的空閑地址。 本發(fā)明還提供了一種線卡板,包括報(bào)文緩存裝置,用于存儲(chǔ)待發(fā)送的報(bào)文和來自交換網(wǎng)的報(bào)文;地址隔離裝置,用于在發(fā)送方向,從目的線卡板的地址隔離裝置獲取所 述目的線卡板報(bào)文緩存裝置的空閑地址,并將本板的報(bào)文緩存裝置中的待發(fā) 送報(bào)文發(fā)送到所述目的線卡板的地址隔離裝置。其中,在接收方向,將來自交換網(wǎng)的報(bào)文存儲(chǔ)到本板的所述報(bào)文緩存裝 置中,然后獲取本板空閑的內(nèi)存地址,并將所述本板的報(bào)文緩存裝置中的報(bào) 文存儲(chǔ)到所述空閑的內(nèi)存地址中。所述線卡板還包括控制裝置,用于與對(duì)端線卡板通信以傳遞報(bào)文緩存裝 置的空閑地址。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)本發(fā)明的實(shí)施例中,在PCIE交換網(wǎng)和線卡板的CPU之間增加一個(gè)地址 隔離裝置和報(bào)文緩存裝置,此兩個(gè)裝置使每個(gè)線卡板CPU的地址空間相對(duì)獨(dú) 立,不受PCIE交換器地址路由方式的影響,PCIE交換器按照隔離后的地址 進(jìn)行轉(zhuǎn)發(fā),并不按照線卡板CPU的內(nèi)存地址進(jìn)行轉(zhuǎn)發(fā),通過此地址隔離裝置 實(shí)現(xiàn)報(bào)文的分段轉(zhuǎn)發(fā)。因?yàn)榫€卡板CPU處理報(bào)文都是本地操作,無交換網(wǎng)延 時(shí)和竟?fàn)帲俣群托士梢缘玫奖WC,這樣即使交換網(wǎng)在進(jìn)行轉(zhuǎn)發(fā)時(shí)有延時(shí), 也不會(huì)影響線卡板CPU的工作,有效提高設(shè)備的包轉(zhuǎn)發(fā)性能。
圖1是現(xiàn)有技術(shù)中基于PCIE交換網(wǎng)的系統(tǒng)結(jié)構(gòu)圖; 圖2是現(xiàn)有技術(shù)中PCIE數(shù)據(jù)報(bào)文格式示意圖; 圖3是現(xiàn)有技術(shù)中PCIE數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)流程圖; 圖4是現(xiàn)有技術(shù)中PCIE數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)示意圖; 圖5是本發(fā)明中一種PCIE數(shù)據(jù)傳輸?shù)姆椒ㄊ疽鈭D; 圖6是本發(fā)明中轉(zhuǎn)發(fā)流程中報(bào)文的格式示意圖; 圖7是本發(fā)明中線卡板結(jié)構(gòu)圖;圖8是本發(fā)明中增加了控制裝置的PCIE數(shù)據(jù)傳輸系統(tǒng)示意圖。
具體實(shí)施方式
本發(fā)明提供了一種PCIE數(shù)據(jù)傳輸?shù)姆椒?,?yīng)用于包括線卡板、主控板和 PCIE交換器的系統(tǒng)中,所述線卡板中還包括地址隔離裝置和報(bào)文緩存裝置, 該方法具體流程如圖5所示,包括以下步驟步驟s501,源線卡板CPU從物理端口接收到報(bào)文。步驟s502,源線卡板CPU向本單板的地址隔離裝置申請空閑的報(bào)文緩存 裝置中的空閑空間,地址隔離裝置把報(bào)文緩存裝置的空閑地址返回給CPU。 其中,源線卡板的地址隔離裝置可以通過PCIE交換器從目的線卡板的地址隔 離裝置獲取所述目的線卡板報(bào)文緩存裝置的空閑地址;也可以通過線卡板中的控制裝置從目的線卡板的地址隔離裝置獲取所述目的線卡板報(bào)文緩存裝置 的空閑i也址。步驟s503,源線卡板CPU把報(bào)文數(shù)據(jù)發(fā)送給地址隔離裝置,地址隔離裝 置把報(bào)文存儲(chǔ)到報(bào)文緩存裝置中。步驟s504,源線卡板的地址隔離裝置向目的線卡板的地址隔離裝置申請 ^Jl緩存地址,目的線卡板把本板報(bào)文緩存裝置的空閑空間地址返回給源線 卡板地址隔離裝置。步驟s505,源線卡板地址隔離裝置依據(jù)獲得的目的線卡板報(bào)文緩存裝置 的空閑地址重新組幀PCIE報(bào)文發(fā)送到交換網(wǎng),由交換板把報(bào)文發(fā)送到目的線 卡板的地址隔離裝置。步驟s506,目的線卡板的地址隔離裝置把報(bào)文存儲(chǔ)到目的線卡板的報(bào)文 緩存裝置中。步驟s507,目的線卡板的地址隔離裝置向目的線卡板的CPU申請內(nèi)存空間。步驟s508,目的線卡板的CPU返回空閑的內(nèi)存地址給目的線卡板的地址 隔離裝置。步驟s509,目的線卡板的地址隔離裝置重新組幀PC正報(bào)文發(fā)送給目的線 卡板的CPU。步驟s510,目的線卡板CPU依據(jù)目的板號(hào)和端口號(hào),把報(bào)文從相應(yīng)的物 理端口發(fā)送。如圖6,是報(bào)文從源線卡板接收后,最終報(bào)文從目的線卡板發(fā)送出去,在 轉(zhuǎn)發(fā)過程中不同階段報(bào)文的格式??梢钥闯霾捎梅侄无D(zhuǎn)發(fā)過程中,PC正報(bào)文 的地址進(jìn)行了三次轉(zhuǎn)變,實(shí)現(xiàn)報(bào)文分段轉(zhuǎn)發(fā)的要求。具體為源線卡板CPU 收到來自物理端口的報(bào)文,然后,源線卡板CPU獲取本板報(bào)文緩存裝置的空 閑地址后,將組裝成"PCIE報(bào)文頭信息+源線卡板報(bào)文緩存裝置空閑地址+報(bào) 文,,的格式,存儲(chǔ)到本板的報(bào)文緩存裝置;當(dāng)?shù)刂犯綦x裝置獲取了目的線卡 板的報(bào)文緩存裝置的空閑地址后,組裝成"PCIE報(bào)文頭信息+目的線卡板報(bào) 文緩存裝置空閑地址加報(bào)文"的格式;在目的線卡板的地址隔離裝置獲取了本板CPU內(nèi)存地址后,將報(bào)文組裝成"PCIE報(bào)文頭信息+目的線卡板CPU內(nèi) 存空閑地址+報(bào)文"的格式,存儲(chǔ)到目的線卡板CPU內(nèi)存空閑。本發(fā)明還提供了 一種PCIE數(shù)據(jù)傳輸?shù)南到y(tǒng),包括線卡板、主控板和PCIE 交換器。其中,線卡板如圖7所示,包括報(bào)文緩存裝置,用于存儲(chǔ)待發(fā)送 的報(bào)文和來自交換網(wǎng)的報(bào)文;地址隔離裝置,用于在發(fā)送方向,從目的線卡 板的地址隔離裝置獲取所述目的線卡板報(bào)文緩存裝置的空閑地址,并將本板 的報(bào)文緩存裝置中的待發(fā)送4艮文發(fā)送到所述目的線卡板的地址隔離裝置;在 接收方向,將來自交換網(wǎng)的報(bào)文存儲(chǔ)到本板的所述報(bào)文緩存裝置中,然后獲 取本板空閑的內(nèi)存地址,并將所述本板的報(bào)文緩存裝置中的報(bào)文存儲(chǔ)到所述 空閑的內(nèi)存地址中。所述報(bào)文緩存裝置具體包括第一報(bào)文緩存單元,用于存儲(chǔ)待發(fā)送的報(bào) 文;第二報(bào)文緩存單元,用于存儲(chǔ)來自交換網(wǎng)的報(bào)文。所述地址隔離裝置具體包括第一報(bào)文接收控制單元,用于將待發(fā)送報(bào) 文存儲(chǔ)到所述第一報(bào)文緩存單元;第二報(bào)文發(fā)送控制單元,用于從目的線卡 板的地址隔離裝置獲取所述目的線卡板報(bào)文緩存裝置的空閑地址,并將所述 報(bào)文緩存裝置中的待發(fā)送報(bào)文發(fā)送到所述目的線卡板的地址隔離裝置;第二 報(bào)文接收控制單元,用于將來自交換網(wǎng)的接收報(bào)文存儲(chǔ)到所述第二報(bào)文緩存 單元;第一報(bào)文發(fā)送控制單元,用于獲取本線卡板空閑的內(nèi)存地址,并將所 述報(bào)文緩存裝置中的接收報(bào)文存儲(chǔ)到所述空閑的內(nèi)存地址中。源線卡板CPU從物理端口接收到報(bào)文,所述源線卡板CPU向本單板的地 址隔離裝置申請空閑的報(bào)文緩存裝置中的空閑空間,地址隔離裝置把報(bào)文緩 存裝置的空閑地址返回給CPU,所述源線卡板CPU把報(bào)文數(shù)據(jù)發(fā)送給地址隔 離裝置中的第一報(bào)文接收控制單元1。第一報(bào)文接收控制單元1把報(bào)文存儲(chǔ)到 第一報(bào)文緩存單元1;地址隔離裝置中的第二報(bào)文發(fā)送控制單元2根據(jù)獲取的 目的線卡板中"^艮文緩存裝置的空閑地址更改"^艮文的地址信息,重新組幀PCIE 報(bào)文發(fā)送到交換網(wǎng),由交換板把報(bào)文發(fā)送到目的線卡板的地址隔離裝置,所 述目的線卡板的地址隔離裝置把報(bào)文存儲(chǔ)到目的線卡板的報(bào)文緩存裝置中。第二報(bào)文接收控制單元2從PCIE交換網(wǎng)接收到報(bào)文后,把報(bào)文存儲(chǔ)到第二報(bào)文緩存單元2中;第一報(bào)文發(fā)送控制單元1根據(jù)向本板CPU申請的內(nèi)存 空間更改PCIE頭中的地址信息,發(fā)送到CPU的內(nèi)存空間中;進(jìn)一步由CPU 依據(jù)目的板號(hào)、目的端口號(hào)發(fā)送到物理端口。其中第一報(bào)文接收控制單元1、第二報(bào)文接收控制單元2、第一報(bào)文發(fā)送 控制單元l、第二報(bào)文發(fā)送控制單元2可以由軟件實(shí)現(xiàn),也可以由硬件實(shí)現(xiàn), 通過石更件實(shí)現(xiàn)可以集成在CPU內(nèi)部,也可以通過外置的FPGA或者ASIC實(shí) 現(xiàn)。其中地址隔離裝置與CPU之間的接口可以是PC正接口 ,也可以是 SPI4.2/XGMII接口,或者其它虛擬的軟件接口等。如果接口是SPI4或者 XGMII接口 ,上述處理步驟可以筒化,因?yàn)镾PI4和XGMII接口不需要對(duì)應(yīng) 的內(nèi)存地i止。另外,本發(fā)明對(duì)圖3的方案進(jìn)行優(yōu)化,如圖8所示,增加了控制裝置, 用于源線卡板的地址隔離裝置通過控制平面與目的線卡板的地址隔離裝置通 信以獲取所述目的線卡板的報(bào)文緩存裝置的空閑地址。因?yàn)镻CIE交換網(wǎng)可能 會(huì)存在擁塞,為了保證源線卡板從目的線卡板有效得到地址,在地址隔離裝 置接口上增加了控制裝置。此控制裝置用于發(fā)送控制報(bào)文到目的線卡板的地 址隔離裝置,控制裝置發(fā)送的數(shù)據(jù)通過系統(tǒng)的控制平面,如控制平面為以太 網(wǎng)交換芯片,則控制裝置可以為一個(gè)以太網(wǎng)MAC控制器,實(shí)現(xiàn)地址隔離裝置 接口與以太網(wǎng)接口的接口轉(zhuǎn)換,從而完成不同線卡板的地址隔離裝置的通信。具體實(shí)現(xiàn)過程為源線卡板向目的線卡板申請報(bào)文緩存地址時(shí),隔離裝 置不采用直接向PC正交換器發(fā)送PC正報(bào)文,而是向控制裝置發(fā)送報(bào)文,如 控制裝置為以太網(wǎng)MAC控制芯片,申請地址空間的報(bào)文通過以太網(wǎng)接口發(fā)送 的以太網(wǎng)交換芯片組成的控制平面,通過控制平面進(jìn)一步轉(zhuǎn)發(fā)到目的線卡板 的控制裝置,進(jìn)而到目的板的地址隔離裝置。同樣,目的板的地址隔離裝置 把空閑的地址信息傳遞到源線卡板的地址隔離裝置??刂蒲b置的實(shí)現(xiàn)可以通 過軟件、硬件實(shí)現(xiàn),可以集成在地址隔離裝置上,也可以作為一個(gè)單獨(dú)的單 元??刂破矫?, 一般的網(wǎng)絡(luò)設(shè)備為了區(qū)分?jǐn)?shù)據(jù)平面都有一個(gè)控制平面,確保 控制報(bào)文可靠有效的傳遞,本發(fā)明中可以直接借用這個(gè)控制平面,也可以單 獨(dú)使用 一個(gè)獨(dú)立的控制平面。本發(fā)明中地址隔離裝置完成本地CPUPCIE ^JL的終結(jié),即地址隔離裝置 具有本地緩存(報(bào)文緩存裝置),CPU與地址隔離裝置進(jìn)行報(bào)文轉(zhuǎn)發(fā),申請寫 空間和地址,仍然是按照標(biāo)準(zhǔn)的PC正流程進(jìn)行操作,只是由地址隔離裝置對(duì) 本地CPU進(jìn)行響應(yīng),而不是對(duì)端線卡板的CPU進(jìn)行響應(yīng)。即將一個(gè)傳輸過程 分解成兩個(gè)本地傳輸和一個(gè)交換網(wǎng)傳輸,兩個(gè)本地傳輸速度和性能有保證, 而交換網(wǎng)傳輸由地址隔離裝置控制完成,這樣即使有交換網(wǎng)延時(shí)和效率上的問題,也不影響線卡板CPU的工作,從而使原; M艮緊耦合的兩個(gè)CPU之間的耦合變成了松耦合,在多線卡板的系統(tǒng)中,可以大大減輕各線卡板的CPU處理等待時(shí)間,提高系統(tǒng)的轉(zhuǎn)發(fā)性能。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本 發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬 件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技 術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體 現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使 得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于此, 任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種PCIE數(shù)據(jù)傳輸?shù)姆椒?,?yīng)用于包括線卡板、主控板和PCIE交換器的系統(tǒng)中,所述線卡板中還包括地址隔離裝置和報(bào)文緩存裝置,其特征在于,所述方法包括以下步驟源線卡板CPU將報(bào)文通過所述源線卡板的地址隔離裝置存儲(chǔ)到所述源線卡板的報(bào)文緩存裝置;所述源線卡板的地址隔離裝置從目的線卡板的地址隔離裝置獲取所述目的線卡板報(bào)文緩存裝置的空閑地址;所述源線卡板的地址隔離裝置將所述報(bào)文存儲(chǔ)到所述目的線卡板的報(bào)文緩存裝置;所述目的線卡板的地址隔離裝置提取所述報(bào)文,將所述報(bào)文發(fā)送給所述目的線卡板的CPU。
2、 如權(quán)利要求1所述PCIE數(shù)據(jù)傳輸?shù)姆椒ǎ涮卣髟谟?,源線卡板CPU 將報(bào)文通過所述源線卡板的地址隔離裝置存儲(chǔ)到所述源線卡板的報(bào)文緩存裝 置具體包括源線卡板CPU從物理端口接收到報(bào)文;所述源線卡板CPU向本單板的地址隔離裝置申請空閑的報(bào)文緩存裝置中 的空閑空間,地址隔離裝置把才艮文緩存裝置的空閑地址返回給CPU;所述源線卡板CPU把報(bào)文數(shù)據(jù)發(fā)送給地址隔離裝置,地址隔離裝置把報(bào) 文存儲(chǔ)到報(bào)文緩存裝置中。
3、 如權(quán)利要求1所述PCIE數(shù)據(jù)傳輸?shù)姆椒?,其特征在于,所述源線卡 板的地址隔離裝置從目的線卡板的地址隔離裝置獲取所述目的線卡板報(bào)文緩 存裝置的空閑地址具體包括所述源線卡板的地址隔離裝置向所述目的線卡板的地址隔離裝置申請報(bào) 文緩存裝置的空閑地址;所述目的線卡板的地址隔離裝置將所述目的線卡板的報(bào)文緩存裝置的空 閑地址返回給所述源線卡板的地址隔離裝置。
4、 如權(quán)利要求1所述PCIE數(shù)據(jù)傳輸?shù)姆椒?,其特征在于,所述源線卡 板的地址隔離裝置將所述報(bào)文存儲(chǔ)到所述目的線卡板的報(bào)文緩存裝置具體包括源線卡板地址隔離裝置依據(jù)獲得的目的線卡板報(bào)文緩存裝置的空閑地址重新組幀PCIE報(bào)文發(fā)送到交換網(wǎng),由交換板把報(bào)文發(fā)送到目的線卡板的地址 隔離裝置;所述目的線卡板的地址隔離裝置把報(bào)文存儲(chǔ)到目的線卡板的報(bào)文緩存裝 置中。
5、 如權(quán)利要求1所述PC正數(shù)據(jù)傳輸?shù)姆椒?,其特征在于,所述目的線 卡板的地址隔離裝置提取所述報(bào)文,將所述報(bào)文發(fā)送給所述目的線卡板的 CPU具體包括所述目的線卡板的地址隔離裝置向所述目的線卡板的CPU申請內(nèi)存空間;所述目的線卡板的CPU返回空閑的內(nèi)存地址給所述目的線卡板的地址隔 離裝置;所述目的線卡板的地址隔離裝置將PC正報(bào)文,發(fā)送給目的線卡板的 CPU;所述目的線卡板CPU依據(jù)目的板號(hào)和端口號(hào),將所述報(bào)文從相應(yīng)的物理端口發(fā)送。
6、 如權(quán)利要求1所述PC正數(shù)據(jù)傳輸?shù)姆椒ǎ涮卣髟谟?,所述源線卡 板的地址隔離裝置從目的線卡板的地址隔離裝置獲取所述目的線卡板報(bào)文緩 存裝置的空閑地址是通過線卡板中的控制裝置實(shí)現(xiàn)或通過PCIE交換器實(shí)現(xiàn)。
7、 一種PCIE數(shù)據(jù)傳輸?shù)南到y(tǒng),包括線卡板、主控板和PCIE交換器,其 特征在于,所述線卡板中還包括報(bào)文緩存裝置,用于存儲(chǔ)待發(fā)送的報(bào)文和來自交換網(wǎng)的報(bào)文; 地址隔離裝置,用于在發(fā)送方向,從目的線卡板的地址隔離裝置獲取所 述目的線卡板"t艮文緩存裝置的空閑地址,并將本板的報(bào)文緩存裝置中的待發(fā) 送報(bào)文發(fā)送到所述目的線卡板的地址隔離裝置;在接收方向,將來自交換網(wǎng) 的報(bào)文存儲(chǔ)到本板的所述報(bào)文緩存裝置中,然后獲取本板空閑的內(nèi)存地址,并將所述本板的報(bào)文緩存裝置中的報(bào)文存儲(chǔ)到所述空閑的內(nèi)存地址中。
8、 如權(quán)利要求7所述PCIE數(shù)據(jù)傳輸?shù)南到y(tǒng),其特征在于,所述凈艮文緩 存裝置具體包括第一報(bào)文緩存單元,用于存儲(chǔ)待發(fā)送的報(bào)文; 第二報(bào)文緩存單元,用于存儲(chǔ)來自交換網(wǎng)的報(bào)文。
9、 如權(quán)利要求7所述PCIE數(shù)據(jù)傳輸?shù)南到y(tǒng),其特征在于,所述地址隔 離裝置具體包括第一報(bào)文接收控制單元,用于將待發(fā)送報(bào)文存儲(chǔ)到所述第一報(bào)文緩存單元;第二報(bào)文發(fā)送控制單元,用于從目的線卡板的地址隔離裝置獲取所述目 的線卡板報(bào)文緩存裝置的空閑地址,并將所述報(bào)文緩存裝置中的待發(fā)送報(bào)文發(fā)送到所述目的線卡板的地址隔離裝置;第二報(bào)文接收控制單元,用于將來自交換網(wǎng)的接收報(bào)文存儲(chǔ)到所述第二報(bào)文緩存單元;第一報(bào)文發(fā)送控制單元,用于獲取本線卡板空閑的內(nèi)存地址,并將所述 報(bào)文緩存裝置中的接收報(bào)文存儲(chǔ)到所述空閑的內(nèi)存地址中。
10、 如權(quán)利要求7所述PCIE數(shù)據(jù)傳輸?shù)南到y(tǒng),其特征在于,所述線卡板 還包括控制裝置,用于源線卡板的地址隔離裝置通過控制平面與目的線卡板的 地址隔離裝置通信以獲取所述目的線卡板的報(bào)文緩存裝置的空閑地址。
11、 一種線卡板,其特征在于,包括報(bào)文緩存裝置,用于存儲(chǔ)待發(fā)送的報(bào)文和來自交換網(wǎng)的報(bào)文; 地址隔離裝置,用于在發(fā)送方向,從目的線卡板的地址隔離裝置獲取所述目的線卡板報(bào)文緩存裝置的空閑地址,并將本板的報(bào)文緩存裝置中的待發(fā)送才艮文發(fā)送到所述目的線卡板的地址隔離裝置。
12、 如權(quán)利要求11所述線卡板,其特征在于,在接收方向,將來自交換 網(wǎng)的報(bào)文存儲(chǔ)到本板的所述報(bào)文緩存裝置中,然后獲取本板空閑的內(nèi)存地址, 并將所述本板的報(bào)文緩存裝置中的報(bào)文存儲(chǔ)到所述空閑的內(nèi)存地址中。13、如權(quán)利要求11或12所述線卡板,其特征在于,所述線卡板還包括 控制裝置,用于與對(duì)端線卡板通信以傳遞報(bào)文緩存裝置的空閑地址。
全文摘要
本發(fā)明公開了一種PCIE數(shù)據(jù)傳輸?shù)姆椒ㄔ淳€卡板CPU將報(bào)文通過所述源線卡板的地址隔離裝置存儲(chǔ)到所述源線卡板的報(bào)文緩存裝置;所述源線卡板的地址隔離裝置從目的線卡板的地址隔離裝置獲取所述目的線卡板報(bào)文緩存裝置的空閑地址;所述源線卡板的地址隔離裝置將所述報(bào)文存儲(chǔ)到所述目的線卡板的報(bào)文緩存裝置;所述目的線卡板的地址隔離裝置提取所述報(bào)文,將所述報(bào)文發(fā)送給所述目的線卡板的CPU。本發(fā)明公開了一種PCIE數(shù)據(jù)傳輸?shù)南到y(tǒng)及板卡。本發(fā)明有效提高基于PCIE交換網(wǎng)的設(shè)備轉(zhuǎn)發(fā)性能。
文檔編號(hào)H04L12/02GK101227296SQ20071030145
公開日2008年7月23日 申請日期2007年12月27日 優(yōu)先權(quán)日2007年12月27日
發(fā)明者李晶林, 武 楊 申請人:杭州華三通信技術(shù)有限公司