一種直接內(nèi)存存取的實現(xiàn)系統(tǒng)及方法
【專利摘要】本發(fā)明提供一種直接內(nèi)存存取的實現(xiàn)系統(tǒng),包括:交換模塊用于當源模塊發(fā)出DMA請求并將產(chǎn)生的報文和數(shù)據(jù)傳輸出去;切換模塊用于在接收到源模塊發(fā)出的DMA請求和報文和數(shù)據(jù)時將其直接發(fā)送;數(shù)據(jù)報文控制模塊用于響應DMA請求,根據(jù)預存的數(shù)據(jù)報文優(yōu)先級判斷報文和數(shù)據(jù)是否處于緊急狀態(tài),若是,中央處理模塊處理報文和數(shù)據(jù);若否,將報文和數(shù)據(jù)寫入數(shù)據(jù)報文控制模塊下掛的隨機存儲模塊緩存,當數(shù)據(jù)報文控制模塊檢測到中央處理模塊處理完處于緊急狀態(tài)的報文和數(shù)據(jù)后,讀取緩存在隨機存儲模塊中的報文和數(shù)據(jù),中央處理模塊處理處理報文和數(shù)據(jù)。本發(fā)明實現(xiàn)了FPGA下掛的DDR與CPU實現(xiàn)的共享內(nèi)存,大大提高系統(tǒng)對大數(shù)據(jù)與報文的處理能力,提升CPU處理系統(tǒng)事件的效率。
【專利說明】一種直接內(nèi)存存取的實現(xiàn)系統(tǒng)及方法
【技術領域】
[0001]本發(fā)明屬于網(wǎng)絡通信【技術領域】,特別是涉及一種直接內(nèi)存存取的實現(xiàn)系統(tǒng)及方法。
【背景技術】
[0002]在大數(shù)據(jù)交換的機架式設備中,交換中每時每刻有大量的OAM (操作(operation)、管理(administration)、維護(maintenance))報文和數(shù)據(jù)需要上報到 CPU中,需要與CPU實現(xiàn)共享。但是CPU本身也承載著大量的系統(tǒng)其他的管理任務工作。
[0003]在傳統(tǒng)設計中,通常會采用交換中的PCIe中總線與CPU的總線進行通信時交換這些報文和數(shù)據(jù)信息。這樣做本身會占據(jù)CPU大量的運行時隙,保證這些數(shù)據(jù)和報文都得到相應的處理,這實際上是降低了系統(tǒng)本身的系統(tǒng)效率。在現(xiàn)有一些設備CPU大數(shù)據(jù)量的處理過程中一般采用CPU的內(nèi)部DMA控制器的操作,來實現(xiàn)數(shù)據(jù)直接通過I/O交換工作方式,達到內(nèi)存中。這種方式中,首先是PCIe設備發(fā)出DMA (Direct Memory Access,直接內(nèi)存存取)請求,CPU接受到請求后會響應該請求。此時CPU將工作方式更改為DMA操作方式,此時CPU放棄對內(nèi)存的控制,轉(zhuǎn)由DMA控制器直接控制。由CPU內(nèi)部的DMA控制器對內(nèi)存尋址,決定數(shù)據(jù)傳送的內(nèi)存單元地址和數(shù)據(jù)的量,并執(zhí)行響應的數(shù)據(jù)傳送的操作。當數(shù)據(jù)操作完成后,DMA控制器向CPU報告操作完成。此時CPU重新獲得內(nèi)存的控制權。在CPU的DMA方式,雖然可以滿足將PCIe設備將大量的OAM報文和數(shù)據(jù)寫入內(nèi)存中。但是其缺點有
I)是在CPU內(nèi)部的DMA方位內(nèi)存的階段中,內(nèi)存的效能沒有充分發(fā)揮。相當一部分的內(nèi)存工作周期是空閑的。這是因為PCIe設備在傳送兩個數(shù)據(jù)之間的間隔一般總是大于內(nèi)存的存儲周期。2)CPU在執(zhí)行DMA方式的時候會放棄對系統(tǒng)總線上的內(nèi)存的操作。此時,CPU如果有些內(nèi)存操作時被禁止的,實際上此時的CPU處于一個掛起狀態(tài)(即非正常工作狀態(tài))。這也是降低了 CPU的處理系統(tǒng)事件的效率大大降低。
[0004]因而,如何提供一種直接內(nèi)存存取的實現(xiàn)系統(tǒng)及方法,以解決現(xiàn)有技術中的等種種缺陷,實已成為本領域從業(yè)者亟待解決的技術問題。
【發(fā)明內(nèi)容】
[0005]鑒于以上所述現(xiàn)有技術的缺點,本發(fā)明的目的在于提供一種直接內(nèi)存存取的實現(xiàn)系統(tǒng)及方法,用于解決現(xiàn)有技術中在CPU內(nèi)部的DMA方式內(nèi)存階段,內(nèi)存效能無法充分發(fā)揮,相當一部分的內(nèi)存工作周期是空閑的,且CPU在執(zhí)行DMA方式的時候會放棄對系統(tǒng)總線上的內(nèi)存的操作,此時CPU如果禁止某些內(nèi)存操作時,CPU處于掛起狀態(tài),這樣便降低了 CPU的處理系統(tǒng)事件的效率大大降低的問題。
[0006]為實現(xiàn)上述目的及其他相關目的,本發(fā)明一方面提供一種直接內(nèi)存存取的實現(xiàn)系統(tǒng),應用于與產(chǎn)生操作管理維護報文和數(shù)據(jù)的源模塊連接的大數(shù)據(jù)交換的機架式設備中,所述機架式設備包括用于處理所述操作管理維護報文和數(shù)據(jù)的中央處理模塊,所述直接內(nèi)存存取的實現(xiàn)系統(tǒng)包括:與所述源模塊連接的交換模塊,用于當所述源模塊發(fā)出DMA請求并將產(chǎn)生的操作管理維護報文和數(shù)據(jù)傳輸至所述交換模塊時根據(jù)所述源模塊的識別符再將所述操作管理維護報文和數(shù)據(jù)轉(zhuǎn)發(fā)出去;與所述交換模塊連接的切換模塊還與所述中央處理模塊和一數(shù)據(jù)報文控制模塊連接,用于在接收到所述源模塊發(fā)出的DMA請求和所述操作管理維護報文和數(shù)據(jù)時將其直接發(fā)送至所述數(shù)據(jù)報文控制模塊;與所述中央處理模塊連接的所述數(shù)據(jù)報文控制模塊用于響應所述DMA請求,根據(jù)預存的數(shù)據(jù)報文優(yōu)先級判斷所述操作管理維護報文和數(shù)據(jù)是否處于緊急狀態(tài),若是,則令所述中央處理模塊處理所述操作管理維護報文和數(shù)據(jù);若否,則將所述操作管理維護報文和數(shù)據(jù)寫入所述數(shù)據(jù)報文控制模塊下掛的多個隨機存儲模塊進行緩存,當所述數(shù)據(jù)報文控制模塊檢測到所述中央處理模塊處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)后,讀取緩存在所述隨機存儲模塊中的操作管理維護報文和數(shù)據(jù),令所述中央處理模塊處理處理所述操作管理維護報文和數(shù)據(jù)。
[0007]優(yōu)選地,所述切換模塊包括第一傳輸通道和第二傳輸通道,還用于當接收到DMA請求和操作管理維護報文和數(shù)據(jù)時將操作管理維護報文和數(shù)據(jù)通過所述第一傳輸通道直接發(fā)送給所述數(shù)據(jù)報文控制模塊;當所述數(shù)據(jù)報文控制模塊檢測到所述中央處理模塊處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù),將傳輸通道從所述第一傳輸通道切換至第二傳輸通道,通過所述第二傳輸通道將未處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)傳輸給所述中央處理模塊,令所述中央處理模塊處理處理所述操作管理維護報文和數(shù)據(jù)。
[0008]優(yōu)選地,所述數(shù)據(jù)報文控制模塊包括:用于判斷所述操作管理維護報文和數(shù)據(jù)是否處于緊急狀態(tài)的判斷單元;符合PCIe接口協(xié)議、用于傳輸操作管理維護報文和數(shù)據(jù)的數(shù)據(jù)傳輸單元;用于緩存兩個不同時鐘域間數(shù)據(jù)報文的跨時鐘域的數(shù)據(jù)緩存單元;用于檢測所述中央處理模塊是否處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)的檢測單元;及用于控制所述隨機存儲模塊、及對緩存在所述隨機存儲模塊進行讀寫操作的緩存控制單元。
[0009]優(yōu)選地,所述數(shù)據(jù)傳輸單元為PCIe-1P核,所述PCIe-1P核中包括用于初始PCIe-1P核參數(shù)的初始單元。
[0010]優(yōu)選地,所述數(shù)據(jù)緩存單元包括雙時鐘異步寫入先入先出單元和雙時鐘異步讀取先入先出單元,其中,所述雙時鐘異步寫入先入先出單元用于在判斷出所述操作管理維護報文和數(shù)據(jù)未處于緊急狀態(tài)時將所述操作管理維護報文和數(shù)據(jù)寫入其中;所述雙時鐘異步讀取先入先出單元用于在所述中央處理模塊處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)后通過所述緩存控制單元從隨機存儲模塊中讀取緩其中的操作管理維護報文和數(shù)據(jù),并通過所述數(shù)據(jù)傳輸單元將所述操作管理維護報文和數(shù)據(jù)通過所述切換模塊傳輸至所述中央處理模塊。
[0011]優(yōu)選地,所述交換模塊和所述切換模塊、所述切換模塊與所述數(shù)據(jù)報文控制模塊、及所述切換模塊和所述中央處理模塊都是通過PCIe總線連接的。
[0012]本發(fā)明另一方面還提供一種直接內(nèi)存存取的實現(xiàn)方法,應用于與產(chǎn)生操作管理維護報文和數(shù)據(jù)的源模塊連接的大數(shù)據(jù)交換的機架式設備中的直接內(nèi)存存取的實現(xiàn)系統(tǒng),所述機架式設備包括用于處理所述操作管理維護報文和數(shù)據(jù)的中央處理模塊,所述直接內(nèi)存存取的實現(xiàn)系統(tǒng)包括與所述源模塊連接的交換模塊,與所述交換模塊連接的切換模塊,所述切換模塊還與所述中央處理模塊和數(shù)據(jù)報文控制模塊連接,及下掛在所述數(shù)據(jù)報文控制模塊的多個隨機存儲模塊,所述直接內(nèi)存存取的實現(xiàn)方法包括:所述源模塊發(fā)出DMA請求并將產(chǎn)生的操作管理維護報文和數(shù)據(jù)傳輸至所述交換模塊;所述交換模塊根據(jù)所述源模塊的識別符再將所述操作管理維護報文和數(shù)據(jù)轉(zhuǎn)發(fā)至所述切換模塊;所述切換模塊在接收到所述源模塊發(fā)出的DMA請求和所述操作管理維護報文和數(shù)據(jù)時將其直接發(fā)送至所述數(shù)據(jù)報文控制模塊;所述數(shù)據(jù)報文控制模塊響應所述DMA請求,根據(jù)預存的數(shù)據(jù)報文優(yōu)先級判斷所述操作管理維護報文和數(shù)據(jù)是否處于緊急狀態(tài),若是,則令所述中央處理模塊處理所述操作管理維護報文和數(shù)據(jù);若否,則將所述操作管理維護報文和數(shù)據(jù)寫入所述數(shù)據(jù)報文控制模塊下掛的多個隨機存儲模塊進行緩存,當所述數(shù)據(jù)報文控制模塊檢測到所述中央處理模塊處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)后,讀取緩存在所述隨機存儲模塊中的操作管理維護報文和數(shù)據(jù),令所述中央處理模塊處理處理所述操作管理維護報文和數(shù)據(jù)。
[0013]優(yōu)選地,所述直接內(nèi)存存取的實現(xiàn)方法還包括:當接收到DMA請求和操作管理維護報文和數(shù)據(jù)時將操作管理維護報文和數(shù)據(jù)通過所述第一傳輸通道直接發(fā)送給所述數(shù)據(jù)報文控制模塊;當所述數(shù)據(jù)報文控制模塊檢測到所述中央處理模塊處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù),將傳輸通道從所述第一傳輸通道切換至第二傳輸通道,通過所述第二傳輸通道將未處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)傳輸給所述中央處理模塊,令所述中央處理模塊處理處理所述操作管理維護報文和數(shù)據(jù)。
[0014]優(yōu)選地,所述直接內(nèi)存存取的實現(xiàn)方法還包括:在判斷出所述操作管理維護報文和數(shù)據(jù)未處于緊急狀態(tài)時將所述操作管理維護報文和數(shù)據(jù)寫入所述數(shù)據(jù)報文控制模塊中;在所述中央處理模塊處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)后從隨機存儲模塊中讀取緩存其中的操作管理維護報文和數(shù)據(jù),并將操作管理維護報文和數(shù)據(jù)通過所述切換模塊傳輸至所述中央處理模塊。
[0015]優(yōu)選地,所述直接內(nèi)存存取的實現(xiàn)方法還包括:在所述數(shù)據(jù)報文控制模塊接收到DMA請求和所述操作管理維護報文和數(shù)據(jù)時初始化所述數(shù)據(jù)報文控制模塊中的PCIe-1P核參數(shù)。
[0016]如上所述,本發(fā)明的直接內(nèi)存存取的實現(xiàn)系統(tǒng)及方法,具有以下有益效果:
【專利附圖】
【附圖說明】
[0017]圖1顯示為本發(fā)明直接內(nèi)存存取的實現(xiàn)系統(tǒng)原理結(jié)構(gòu)示意圖。
[0018]圖2顯示為本發(fā)明直接內(nèi)存存取的實現(xiàn)系統(tǒng)中數(shù)據(jù)報文控制模塊的原理結(jié)構(gòu)圖。
[0019]圖3顯示為本發(fā)明直接內(nèi)存存取的實現(xiàn)系統(tǒng)中數(shù)據(jù)報文控制模塊將操作管理維護報文和數(shù)據(jù)寫入隨機存儲模塊的過程圖。
[0020]圖4顯示為本發(fā)明直接內(nèi)存存取的實現(xiàn)系統(tǒng)中數(shù)據(jù)報文控制模塊從隨機存儲模塊讀取操作管理維護報文和數(shù)據(jù)的過程圖。
[0021]圖5顯示為本發(fā)明直接內(nèi)存存取的實現(xiàn)方法流程圖。
[0022]圖6顯示為本發(fā)明直接內(nèi)存存取的實現(xiàn)方法中步驟S4的具體流程圖。
[0023]元件標號說明
[0024]I 直接內(nèi)存存取的實現(xiàn)系統(tǒng)
[0025]11 交換模塊
[0026]12 切換模塊
[0027]13 數(shù)據(jù)報文控制模塊[0028]131判斷單元
[0029]132數(shù)據(jù)傳輸單元
[0030]133數(shù)據(jù)緩存單元
[0031]1331雙時鐘異步寫入先入先出單元
[0032]1332雙時鐘異步讀取先入先出單元
[0033]134檢測單元
[0034]135緩存控制單元
[0035]14隨機存儲模塊
[0036]2源模塊
[0037]3機架式設備
[0038]31中央處理模塊
[0039]SI ~S7 步驟
【具體實施方式】
[0040]以下通過特定的具體實例說明本發(fā)明的實施方式,本領域技術人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點與功效。本發(fā)明還可以通過另外不同的【具體實施方式】加以實施或應用,本說明書中的各項細節(jié)也可以基于不同觀點與應用,在沒有背離本發(fā)明的精神下進行各種修飾或改變。需說明的是,在不沖突的情況下,以下實施例及實施例中的特征可以相互組合。
[0041]需要說明的是,以下實施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關的組件而非按照實際實施時的組件數(shù)目、形狀及尺寸繪制,其實際實施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復雜。
[0042]本發(fā)明的發(fā)明原理為:DMA存儲操作:交換芯片產(chǎn)生大量的OAM報文和數(shù)據(jù),通過PCIe總線,送到PCIe橋接芯片。PCIe橋接芯片并未將OAM數(shù)據(jù)報文直接傳送給CPU進行處理,而是將其轉(zhuǎn)發(fā)給FPGA。FPGA通過PCIe IP Megacore實現(xiàn)了 PCIe接口協(xié)議,從而接收到這些數(shù)據(jù)和OAM報文。然后FPGA內(nèi)部的PCIe Megacore將接收到的這些報文,通過發(fā)送到FPGA內(nèi)部的一個雙時鐘的異步的WRITE FIFO中進行存儲。而此時WRITE FIFO中的另一端將這些數(shù)據(jù)通過FPGA的DDR2控制器寫入到下掛在FPGA下的DDR2中去;DMA讀取操作:通過FPGA中的DDR2控制器將數(shù)據(jù)從DDR2內(nèi)存單元中讀出,并送入對應的異步Read FIFO中,然后PCIe Megacore再從ReadFIFO中取走剛才的數(shù)據(jù),再通過PCIe總線,通過PCIe橋發(fā)送給CPU進行處理。
[0043]其中,OAM報文和數(shù)據(jù)是指根據(jù)運營商網(wǎng)絡運營的實際需要,通常將網(wǎng)絡的管理工作劃分為3大類:操作(Operation)、管理(Administration)和維護(Maintenance)。操作主要完成日常網(wǎng)絡和業(yè)務進行的分析、預測、規(guī)劃和配置工作;維護主要是對網(wǎng)絡及其業(yè)務的測試和故障管理等進行的日常操作活動。
[0044]OAM功能進行了定義:
[0045]I)性能監(jiān)控并產(chǎn)生維護信息,根據(jù)這些信息評估網(wǎng)絡的穩(wěn)定性;
[0046]2)通過定期查詢的方式檢測網(wǎng)絡故障,產(chǎn)生各種維護和告警信息;[0047]3)通過調(diào)度或者切換到其它的實體,旁路失效實體,保證網(wǎng)絡的正常運行;
[0048]4)將故障信息傳遞給管理實體。
[0049]實施例一
[0050]本實施例提供一種直接內(nèi)存存取的實現(xiàn)系統(tǒng)1,該系統(tǒng)I應用于與產(chǎn)生操作管理維護報文和數(shù)據(jù)的源模塊2連接的大數(shù)據(jù)交換的機架式設備3中,所述機架式設備包括用于處理所述操作管理維護報文和數(shù)據(jù)的中央處理模塊31,請參閱圖1,顯示為直接內(nèi)存存取的實現(xiàn)系統(tǒng)的原理結(jié)構(gòu)圖,所述直接內(nèi)存存取的實現(xiàn)系統(tǒng)I包括:交換模塊11、切換模塊12、數(shù)據(jù)報文控制模塊13及多個隨機存儲模塊14。在本實施例中,所述隨機存儲模塊14可以采用DDR2或DDR3等。
[0051]所述交換模塊11與所述源模塊2連接用于當所述源模塊2發(fā)出DMA (直接內(nèi)存存取)請求并將所述源模塊2產(chǎn)生的操作管理維護報文和數(shù)據(jù)傳輸至所述交換模塊11時,所述交換模塊11根據(jù)所述源模塊2的識別符再將所述操作管理維護報文和數(shù)據(jù)轉(zhuǎn)發(fā)至所述切換模塊13。在本實施例中,所述源模塊2為終端設備,包括PC機、筆記本電腦等等。本實施例中,為了截獲發(fā)給中央處理模塊31的數(shù)據(jù)報文才會根據(jù)所述源模塊2的識別符將所述操作管理維護報文和數(shù)據(jù)轉(zhuǎn)發(fā)給所述切換模塊12進行處理。
[0052]所述切換模塊12與所述交換模塊11連接,還與中央處理模塊31和所述數(shù)據(jù)報文控制模塊13連接,所述切換模塊12用于在接收到所述源模塊2發(fā)出的DMA請求和其產(chǎn)生的操作管理維護報文和數(shù)據(jù)時將所述操作管理維護報文和數(shù)據(jù)直接發(fā)送至所述數(shù)據(jù)報文控制模塊13。在本實施例中,所述切換模塊12具有第一傳輸通道和第二傳輸通道,當所述切換模塊12首次接收到DMA請求和操作管理維護報文和數(shù)據(jù)時將操作管理維護報文和數(shù)據(jù)通過所述第一傳輸通道直接發(fā)送給所述數(shù)據(jù)報文控制模塊13。在本實施例中,所述切換模塊12為PCIe橋接芯片。
[0053]所述數(shù)據(jù)報文控制模塊13與所述中央處理模塊31連接應用于接收DMA請求和操作管理維護報文和數(shù)據(jù),響應所述源模塊2發(fā)出的DMA請求,并根據(jù)預存在所述數(shù)據(jù)報文模塊13中的數(shù)據(jù)報文優(yōu)先級判斷接收到的所述操作管理維護報文和數(shù)據(jù)是否處于緊急狀態(tài),若操作管理維護報文和數(shù)據(jù)處于緊急狀態(tài),所述數(shù)據(jù)報文控制模塊13再將操作管理維護報文和數(shù)據(jù)返回至所述切換模塊12,所述切換模塊12將傳輸通道從所述第一傳輸通道切換至第二傳輸通道,通過所述第二傳輸通道將處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)傳輸給所述中央處理模塊31,令所述中央處理模塊31處理所述操作管理維護報文和數(shù)據(jù);若所述操作管理維護報文和數(shù)據(jù)沒有處于緊急狀態(tài),則將所述操作管理維護報文和數(shù)據(jù)寫入所述數(shù)據(jù)報文控制模塊13下掛的多個隨機存儲模塊14進行緩存,當所述數(shù)據(jù)報文控制模塊13檢測到所述中央處理模塊31處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)后,讀取緩存在所述隨機存儲模塊中的操作管理維護報文和數(shù)據(jù),所述數(shù)據(jù)報文控制模塊13再將操作管理維護報文和數(shù)據(jù)返回至所述切換模塊12,所述切換模塊12將傳輸通道從所述第一傳輸通道切換至第二傳輸通道,通過所述第二傳輸通道將未處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)傳輸給所述中央處理模塊31,令所述中央處理模塊31處理處理所述操作管理維護報文和數(shù)據(jù)。在本實施例中,所述數(shù)據(jù)報文控制模塊13為一 FPGA。
[0054]請參閱圖2,顯示為直接內(nèi)存存取的實現(xiàn)系統(tǒng)中數(shù)據(jù)報文控制模塊的原理結(jié)構(gòu)圖,所述數(shù)據(jù)報文控制模塊13包括判斷單元131、數(shù)據(jù)傳輸單元132、數(shù)據(jù)緩存單元133、檢測單元134、及緩存控制單元135。其中,所述判斷單元131用于判斷接收到的所述操作管理維護報文和數(shù)據(jù)是否處于緊急狀態(tài)的判斷單元。所述數(shù)據(jù)傳輸單元132符合PCIe接口協(xié)議、用于傳輸操作管理維護報文和數(shù)據(jù)。在所述數(shù)據(jù)傳輸單元132為PCIe IP核,所述PCIe-1P核中包括用于初始PCIe-1P核參數(shù)的初始單元。所述數(shù)據(jù)緩存單元133用于緩存兩個不同時鐘域間數(shù)據(jù)報文的跨時鐘域的數(shù)據(jù)緩存單元。所述數(shù)據(jù)緩存單元133包括雙時鐘異步寫入先入先出單元1331 (WRITE FIFO)和雙時鐘異步讀取先入先出單元(READ FIFO) 1332,其中,所述雙時鐘異步寫入先入先出單元1331用于在判斷出所述操作管理維護報文和數(shù)據(jù)未處于緊急狀態(tài)時,同時發(fā)出寫入命令,根據(jù)所述寫入命令將所述操作管理維護報文和數(shù)據(jù)寫入。其中;所述雙時鐘異步讀取先入先出單元1332用于在所述中央處理模塊處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)后發(fā)出讀取命令,根據(jù)所述讀取命令通過所述緩存控制單元134從隨機存儲模塊14中讀取緩存其中的操作管理維護報文和數(shù)據(jù),并通過所述數(shù)據(jù)傳輸單元132將所述操作管理維護報文和數(shù)據(jù)傳輸至所述切換模塊13。所述檢測單元134與所述數(shù)據(jù)傳輸單元132、所述中央處理模塊31連接,用于檢測所述中央處理模塊31是否處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)。所述緩存控制單元135用于控制所述隨機存儲模塊14、及對緩存在所述隨機存儲模塊14進行讀寫操作。在本實施例中,由于數(shù)據(jù)傳輸單元132與緩存控制單元135處理數(shù)據(jù)報文的速度不一致,因此,在所述數(shù)據(jù)報文控制模塊13中設置雙時鐘異步寫入先入先出單元1331 (WRITE FIFO)和雙時鐘異步讀取先入先出單元(READ FIFO) 1332以便所述數(shù)據(jù)傳輸單元132與緩存控制單元135可以按照各自的速度進行讀取和寫入操作。請參閱圖3和圖4,顯示為直接內(nèi)存存取的實現(xiàn)系統(tǒng)中數(shù)據(jù)報文控制模塊將操作管理維護報文和數(shù)據(jù)寫入隨機存儲模塊的過程圖和直接內(nèi)存存取的實現(xiàn)系統(tǒng)中數(shù)據(jù)報文控制模塊從隨機存儲模塊讀取操作管理維護報文和數(shù)據(jù)的過程圖。
[0055]在本實施例中,所述交換模塊11和所述切換模塊12、所述切換模塊12與所述數(shù)據(jù)報文控制模塊13、及所述切換模塊12和所述中央處理模塊31都是通過PCIe總線連接的。
[0056]本實施例所述的直接內(nèi)存存取的實現(xiàn)系統(tǒng)實現(xiàn)了 FPGA下掛在的隨機存儲模塊(DDR2)與CPU實現(xiàn)的共享內(nèi)存的功能。同時,這種共享方式不占用CPU內(nèi)部的總線,從而并不影響CPU的其他管理方式,而且所述直接內(nèi)存存取的實現(xiàn)系統(tǒng)可以快速、靈活的實現(xiàn)CPU對OAM報文和數(shù)據(jù)的處理,大大提高了 CPU處理系統(tǒng)事件的效率。
[0057]實施例二
[0058]本實施例提供一種直接內(nèi)存存取的實現(xiàn)方法,應用于與產(chǎn)生操作管理維護報文和數(shù)據(jù)的源模塊連接的大數(shù)據(jù)交換的機架式設備中的直接內(nèi)存存取的實現(xiàn)系統(tǒng),所述機架式設備包括用于處理所述操作管理維護報文和數(shù)據(jù)的中央處理模塊,所述直接內(nèi)存存取的實現(xiàn)系統(tǒng)包括與所述源模塊連接的交換模塊,與所述交換模塊連接的切換模塊,所述切換模塊還與所述中央處理模塊和數(shù)據(jù)報文控制模塊連接,及下掛在所述數(shù)據(jù)報文控制模塊的多個隨機存儲模塊,請參閱圖5,顯示為直接內(nèi)存存取的實現(xiàn)方法流程圖,所述直接內(nèi)存存取的實現(xiàn)方法包括:
[0059]SI,當所述源模塊發(fā)出DMA(直接內(nèi)存存取)請求并將所述源模塊產(chǎn)生的操作管理維護報文和數(shù)據(jù)傳輸至所述交換模塊時,所述交換模塊根據(jù)所述源模塊的識別符再將所述操作管理維護報文和數(shù)據(jù)轉(zhuǎn)發(fā)至所述切換模塊。在本實施例中,為了截獲發(fā)給中央處理模塊的數(shù)據(jù)報文才會根據(jù)所述源模塊的識別符將所述操作管理維護報文和數(shù)據(jù)轉(zhuǎn)發(fā)給所述切換模塊進行處理。
[0060]S2,所述切換模塊在接收到所述源模塊發(fā)出的DMA請求和其產(chǎn)生的操作管理維護報文和數(shù)據(jù)時將所述操作管理維護報文和數(shù)據(jù)直接發(fā)送至所述數(shù)據(jù)報文控制模塊。在本實施例中,所述切換模塊具有第一傳輸通道和第二傳輸通道,當所述切換模塊首次接收到DMA請求和操作管理維護報文和數(shù)據(jù)時將操作管理維護報文和數(shù)據(jù)通過所述第一傳輸通道直接發(fā)送給所述數(shù)據(jù)報文控制模塊。在本實施例中,所述切換模塊為PCIe橋接芯片。
[0061]S3,所述數(shù)據(jù)報文控制模塊接收DMA請求和操作管理維護報文和數(shù)據(jù),響應所述源模塊發(fā)出的DMA請求,并根據(jù)預存在所述數(shù)據(jù)報文模塊中的數(shù)據(jù)報文優(yōu)先級判斷接收到的所述操作管理維護報文和數(shù)據(jù)是否處于緊急狀態(tài),若操作管理維護報文和數(shù)據(jù)沒有處于緊急狀態(tài),則執(zhí)行步驟S4 ;若操作管理維護報文和數(shù)據(jù)處于緊急狀態(tài),執(zhí)行步驟S6。在本步驟中,所述數(shù)據(jù)報文控制模塊接收到DMA請求和所述操作管理維護報文和數(shù)據(jù)時初始化所述數(shù)據(jù)報文控制模塊中的PCIe-1P核參數(shù)。
[0062]S4,將所述操作管理維護報文和數(shù)據(jù)寫入所述數(shù)據(jù)報文控制模塊下掛的多個隨機存儲模塊進行緩存,當所述數(shù)據(jù)報文控制模塊檢測到所述中央處理模塊處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)后,讀取緩存在所述隨機存儲模塊中的操作管理維護報文和數(shù)據(jù),所述數(shù)據(jù)報文控制模塊再將操作管理維護報文和數(shù)據(jù)返回至所述切換模塊。所述數(shù)據(jù)報文控制模塊包括判斷單元、數(shù)據(jù)傳輸單元、數(shù)據(jù)緩存單元(雙時鐘異步寫入先入先出單元和雙時鐘異步讀取先入先出單元)、檢測單元、及緩存控制單元。具體地講,請參閱圖6,顯示為步驟S4的具體流程圖,步驟S4包括:
[0063]S41,當判斷單元判斷出所述操作管理維護報文和數(shù)據(jù)沒有處于緊急狀態(tài),所述數(shù)據(jù)傳輸單元接收所述操作管理維護報文和數(shù)據(jù);
[0064]S42,通過雙時鐘異步寫入先入先出單元存儲所述操作管理維護報文和數(shù)據(jù),發(fā)送寫入命令,并將所述操作管理維護報文和數(shù)據(jù)發(fā)送至緩存控制單元;
[0065]S43,所述緩存控制單元根據(jù)所述寫入命令將所述操作管理維護報文和數(shù)據(jù)寫入到所述隨機存儲模塊中;
[0066]S44,檢測所述中央處理模塊是否已處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù),若否,則繼續(xù)檢測;若是,則執(zhí)行下一步;
[0067]S45,在檢測到所述中央處理模塊處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)后所述緩存控制單元發(fā)出讀取命令;
[0068]S46,根據(jù)所述讀取命令通過所述緩存控制單元從隨機存儲模塊中讀取緩存其中的操作管理維護報文和數(shù)據(jù),并通過所述數(shù)據(jù)傳輸單元將所述操作管理維護報文和數(shù)據(jù)傳輸至所述切換模塊。
[0069]S5,所述切換模塊將傳輸通道從所述第一傳輸通道切換至第二傳輸通道,通過所述第二傳輸通道將未處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)傳輸給所述中央處理模塊,令所述中央處理模塊處理處理所述操作管理維護報文和數(shù)據(jù),結(jié)束進程。
[0070]S6,所述數(shù)據(jù)報文控制模塊再將操作管理維護報文和數(shù)據(jù)返回至所述切換模塊。
[0071]S7,所述切換模塊將傳輸通道從所述第一傳輸通道切換至第二傳輸通道,通過所述第二傳輸通道將處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)傳輸給所述中央處理模塊,令所述中央處理模塊處理所述操作管理維護報文和數(shù)據(jù),結(jié)束進程。[0072]本發(fā)明所述的直接內(nèi)存存取的實現(xiàn)系統(tǒng)及方法實現(xiàn)了 FPGA下掛在的DDR2與CPU實現(xiàn)的共享內(nèi)存的功能。同時,這種共享方式不占用CPU內(nèi)部的總線。從而并不影響CPU的其他管理方式。而且更加快速,靈活的實現(xiàn)CPU對數(shù)據(jù)和OAM報文的處理。同時提高了機架式設備對大量數(shù)據(jù)與報文的處理能力,同時不影響系統(tǒng)CPU的處理效率的情況下。本發(fā)明經(jīng)過驗證,就數(shù)據(jù)的讀取效率而言,比采用CPU內(nèi)部DMA控制器,整體提升了 25%的速度。且對系統(tǒng)的適應性更好,設計更加靈活。由于FPGA屬于可編程器件,即可以根據(jù)系統(tǒng)的實際具體的需求進行相應的設計。
[0073]所以,本發(fā)明有效克服了現(xiàn)有技術中的種種缺點而具高度產(chǎn)業(yè)利用價值。
[0074]上述實施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此技術的人士皆可在不違背本發(fā)明的精神及范疇下,對上述實施例進行修飾或改變。因此,舉凡所屬【技術領域】中具有通常知識者在未脫離本發(fā)明所揭示的精神與技術思想下所完成的一切等效修飾或改變,仍應由本發(fā)明的權利要求所涵蓋。
【權利要求】
1.一種直接內(nèi)存存取的實現(xiàn)系統(tǒng),應用于與產(chǎn)生操作管理維護報文和數(shù)據(jù)的源模塊連接的大數(shù)據(jù)交換的機架式設備中,所述機架式設備包括用于處理所述操作管理維護報文和數(shù)據(jù)的中央處理模塊,其特征在于,所述直接內(nèi)存存取的實現(xiàn)系統(tǒng)包括: 與所述源模塊連接的交換模塊,用于當所述源模塊發(fā)出DMA請求并將產(chǎn)生的操作管理維護報文和數(shù)據(jù)傳輸至所述交換模塊時根據(jù)所述源模塊的識別符再將所述操作管理維護報文和數(shù)據(jù)轉(zhuǎn)發(fā)出去; 與所述交換模塊連接的切換模塊還與所述中央處理模塊和一數(shù)據(jù)報文控制模塊連接,用于在接收到所述源模塊發(fā)出的DMA請求和所述操作管理維護報文和數(shù)據(jù)時將其直接發(fā)送至所述數(shù)據(jù)報文控制模塊; 與所述中央處理模塊連接的所述數(shù)據(jù)報文控制模塊用于響應所述DMA請求,根據(jù)預存的數(shù)據(jù)報文優(yōu)先級判斷所述操作管理維護報文和數(shù)據(jù)是否處于緊急狀態(tài),若是,則令所述中央處理模塊處理所述操作管理維護報文和數(shù)據(jù);若否,則將所述操作管理維護報文和數(shù)據(jù)寫入所述數(shù)據(jù)報文控制模塊下掛的多個隨機存儲模塊進行緩存,當所述數(shù)據(jù)報文控制模塊檢測到所述中央處理模塊處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)后,讀取緩存在所述隨機存儲模塊中的操作管理維護報文和數(shù)據(jù),令所述中央處理模塊處理處理所述操作管理維護報文和數(shù)據(jù)。
2.根據(jù)權利要求1所述的直接內(nèi)存存取的實現(xiàn)系統(tǒng),其特征在于:所述切換模塊包括第一傳輸通道和第二傳輸通道,還用于當接收到DMA請求和操作管理維護報文和數(shù)據(jù)時將操作管理維護報文和數(shù)據(jù)通過所述第一傳輸通道直接發(fā)送給所述數(shù)據(jù)報文控制模塊;當所述數(shù)據(jù)報文控制模塊檢測到所述中央處理模塊處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù),將傳輸通道從所述第一傳輸通道切換至第二傳輸通道,通過所述第二傳輸通道將未處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)傳輸給所述中央處理模塊,令所述中央處理模塊處理處理所述操作管理維護報文和數(shù)據(jù)。
3.根據(jù)權利要求1所述的直接內(nèi)存存取的實現(xiàn)系統(tǒng),其特征在于:所述數(shù)據(jù)報文控制模塊包括: 用于判斷所述操作管理維護報文和數(shù)據(jù)是否處于緊急狀態(tài)的判斷單元; 符合PCIe接口協(xié)議、用于傳輸操作管理維護報文和數(shù)據(jù)的數(shù)據(jù)傳輸單元; 用于緩存兩個不同時鐘域間數(shù)據(jù)報文的跨時鐘域的數(shù)據(jù)緩存單元; 用于檢測所述中央處理模塊是否處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)的檢測單元;及 用于控制所述隨機存儲模塊、及對緩存在所述隨機存儲模塊進行讀寫操作的緩存控制單元。
4.根據(jù)權利要求3所述的直接內(nèi)存存取的實現(xiàn)系統(tǒng),其特征在于:所述數(shù)據(jù)傳輸單元為PCIe-1P核,所述PCIe-1P核中包括用于初始PCIe-1P核參數(shù)的初始單元。
5.根據(jù)權利要求3所述的直接內(nèi)存存取的實現(xiàn)系統(tǒng),其特征在于:所述數(shù)據(jù)緩存單元包括雙時鐘異步寫入先入先出單元和雙時鐘異步讀取先入先出單元,其中,所述雙時鐘異步寫入先入先出單元用于在判斷出所述操作管理維護報文和數(shù)據(jù)未處于緊急狀態(tài)時將所述操作管理維護報文和數(shù)據(jù)寫入其中;所述雙時鐘異步讀取先入先出單元用于在所述中央處理模塊處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)后通過所述緩存控制單元從隨機存儲模塊中讀取緩其中的操作管理維護報文和數(shù)據(jù),并通過所述數(shù)據(jù)傳輸單元將所述操作管理維護報文和數(shù)據(jù)通過所述切換模塊傳輸至所述中央處理模塊。
6.根據(jù)權利要求1所述的直接內(nèi)存存取的實現(xiàn)系統(tǒng),其特征在于:所述交換模塊和所述切換模塊、所述切換模塊與所述數(shù)據(jù)報文控制模塊、及所述切換模塊和所述中央處理模塊都是通過PCIe總線連接的。
7.一種直接內(nèi)存存取的實現(xiàn)方法,應用于與產(chǎn)生操作管理維護報文和數(shù)據(jù)的源模塊連接的大數(shù)據(jù)交換的機架式設備中的直接內(nèi)存存取的實現(xiàn)系統(tǒng),所述機架式設備包括用于處理所述操作管理維護報文和數(shù)據(jù)的中央處理模塊,所述直接內(nèi)存存取的實現(xiàn)系統(tǒng)包括與所述源模塊連接的交換模塊,與所述交換模塊連接的切換模塊,所述切換模塊還與所述中央處理模塊和數(shù)據(jù)報文控制模塊連接,及下掛在所述數(shù)據(jù)報文控制模塊的多個隨機存儲模塊,其特征在于,所述直接內(nèi)存存取的實現(xiàn)方法包括: 所述源模塊發(fā)出DMA請求并將產(chǎn)生的操作管理維護報文和數(shù)據(jù)傳輸至所述交換模塊; 所述交換模塊根據(jù)所述源模塊的識別符再將所述操作管理維護報文和數(shù)據(jù)轉(zhuǎn)發(fā)至所述切換模塊; 所述切換模塊在接收到所述源模塊發(fā)出的DMA請求和所述操作管理維護報文和數(shù)據(jù)時將其直接發(fā)送至所述數(shù)據(jù)報文控制模塊; 所述數(shù)據(jù)報文控制模塊響應所述DMA請求,根據(jù)預存的數(shù)據(jù)報文優(yōu)先級判斷所述操作管理維護報文和數(shù)據(jù)是否處于緊急狀態(tài),若是,則令所述中央處理模塊處理所述操作管理維護報文和數(shù)據(jù);若否,則將所述操作管理維護報文和數(shù)據(jù)寫入所述數(shù)據(jù)報文控制模塊下掛的多個隨機存儲模塊進行緩存,當所述數(shù)據(jù)報文控制模塊檢測到所述中央處理模塊處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)后,讀取緩存在所述隨機存儲模塊中的操作管理維護報文和數(shù)據(jù),令所述中央處理模塊處理處理所述操作管理維護報文和數(shù)據(jù)。
8.根據(jù)權利要求7所述的直接內(nèi)存存取的實現(xiàn)方法,其特征在于:所述直接內(nèi)存存取的實現(xiàn)方法還包括:當接收到DMA請求和操作管理維護報文和數(shù)據(jù)時將操作管理維護報文和數(shù)據(jù)通過所述第一傳輸通道直接發(fā)送給所述數(shù)據(jù)報文控制模塊;當所述數(shù)據(jù)報文控制模塊檢測到所述中央處理模塊處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù),將傳輸通道從所述第一傳輸通道切換至第二傳輸通道,通過所述第二傳輸通道將未處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)傳輸給所述中央處理模塊,令所述中央處理模塊處理處理所述操作管理維護報文和數(shù)據(jù)。
9.根據(jù)權利要求7所述的直接內(nèi)存存取的實現(xiàn)方法,其特征在于:所述直接內(nèi)存存取的實現(xiàn)方法還包括:在判斷出所述操作管理維護報文和數(shù)據(jù)未處于緊急狀態(tài)時將所述操作管理維護報文和數(shù)據(jù)寫入所述數(shù)據(jù)報文控制模塊中;在所述中央處理模塊處理完處于緊急狀態(tài)的操作管理維護報文和數(shù)據(jù)后從隨機存儲模塊中讀取緩存其中的操作管理維護報文和數(shù)據(jù),并將操作管理維護報文和數(shù)據(jù)通過所述切換模塊傳輸至所述中央處理模塊。
10.根據(jù)權利要求7所述的直接內(nèi)存存取的實現(xiàn)方法,其特征在于:所述直接內(nèi)存存取的實現(xiàn)方法還包括:在所述數(shù)據(jù)報文控制模塊接收到DMA請求和所述操作管理維護報文和數(shù)據(jù)時初始化所述數(shù)據(jù)報文控制模塊中的PCIe-1P核參數(shù)。
【文檔編號】G06F13/16GK103995789SQ201410245401
【公開日】2014年8月20日 申請日期:2014年6月4日 優(yōu)先權日:2014年6月4日
【發(fā)明者】李軍 申請人:上海斐訊數(shù)據(jù)通信技術有限公司