本申請涉及通訊電路設(shè)計(jì)的,尤其涉及一種pcie交換機(jī)。
背景技術(shù):
1、隨著pcie(peripheral?component?interconnect?express,外設(shè)部件互連標(biāo)準(zhǔn)擴(kuò)展)技術(shù)的發(fā)展,通過pcie協(xié)議將多個(gè)設(shè)備進(jìn)行板間互聯(lián)從而進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)已是大勢所趨,而這項(xiàng)技術(shù)需要用到pcie交換機(jī)。
2、圖1為現(xiàn)有技術(shù)示例性示出的一種pcie交換機(jī)的數(shù)據(jù)交互體系的整體結(jié)構(gòu)示意圖。如圖1所示,現(xiàn)有技術(shù)的pcie交換機(jī)設(shè)計(jì)中,交換機(jī)的業(yè)務(wù)主要?jiǎng)澐譃槎丝诳刂破?包括上游端口和下游端口)和交換核心,為了滿足自身業(yè)務(wù)的需求,會(huì)對端口控制器做部分功能適配的修改,同時(shí)一些與應(yīng)用層功能相關(guān)的業(yè)務(wù),比如多播、報(bào)文過濾、錯(cuò)誤包處理、錯(cuò)誤信息登記、報(bào)文路由、報(bào)文仲裁、排序規(guī)則等,會(huì)在交換核心內(nèi)實(shí)現(xiàn)。
3、但在實(shí)際應(yīng)用過程中,現(xiàn)有技術(shù)的pcie交換機(jī),對于端口控制器進(jìn)行功能適配修改的過程,容易導(dǎo)致端口控制器ip的驗(yàn)證收斂時(shí)間過長,同時(shí),由于交換核心的業(yè)務(wù)量太臃腫,也會(huì)導(dǎo)致整個(gè)業(yè)務(wù)單元邏輯量較大,從而導(dǎo)致整個(gè)業(yè)務(wù)收斂困難,影響項(xiàng)目的收斂速率。
技術(shù)實(shí)現(xiàn)思路
1、為解決上述技術(shù)問題,本申請的實(shí)施例提供了一種pcie交換機(jī)。
2、本申請?zhí)峁┝艘环Npcie交換機(jī),包括:端口控制器,對輸入或輸出交換機(jī)的報(bào)文按照預(yù)設(shè)的第一數(shù)據(jù)處理流程進(jìn)行處理后進(jìn)行傳輸;交換核心,與所述端口控制器連接,將所述端口控制器傳輸?shù)膱?bào)文按照預(yù)設(shè)的第二數(shù)據(jù)處理流程進(jìn)行處理,以使所述交換核心基于所述第二數(shù)據(jù)處理流程的處理結(jié)果執(zhí)行路由業(yè)務(wù)和交換業(yè)務(wù);在所述端口控制器和所述交換核心之間連接有數(shù)據(jù)傳輸優(yōu)化模塊,以在所述端口控制器執(zhí)行所述第一數(shù)據(jù)處理流程時(shí),將所述第一數(shù)據(jù)處理流程的處理流程轉(zhuǎn)移到所述數(shù)據(jù)傳輸優(yōu)化模塊執(zhí)行,以及在所述交換核心執(zhí)行所述第二數(shù)據(jù)處理流程時(shí),將所述第二數(shù)據(jù)處理流程的處理流程轉(zhuǎn)移到所述數(shù)據(jù)傳輸優(yōu)化模塊執(zhí)行。
3、在本申請的一些實(shí)施例中,基于以上技術(shù)方案,所述數(shù)據(jù)傳輸優(yōu)化模塊包括接收模塊和發(fā)送模塊,所述接收模塊和所述發(fā)送模塊用于執(zhí)行所述第一數(shù)據(jù)處理流程,以及所述接收模塊和所述發(fā)送模塊用于執(zhí)行所述第二數(shù)據(jù)處理流程,?根據(jù)所述接收模塊對輸入所述數(shù)據(jù)傳輸優(yōu)化模塊的報(bào)文進(jìn)行報(bào)文過濾處理、錯(cuò)誤處理、跨時(shí)鐘域處理和帶寬切換處理;以及根據(jù)所述發(fā)送模塊對輸出所述數(shù)據(jù)傳輸優(yōu)化模塊的報(bào)文進(jìn)行報(bào)文過濾處理、錯(cuò)誤處理、跨時(shí)鐘域處理和帶寬切換處理;其中,所述報(bào)文過濾處理用于根據(jù)獲取的業(yè)務(wù)需求,過濾與所述業(yè)務(wù)需求不相關(guān)的報(bào)文;所述錯(cuò)誤處理用于處理所述業(yè)務(wù)需求對應(yīng)的報(bào)文錯(cuò)誤;所述跨時(shí)鐘域處理用于協(xié)調(diào)不同傳輸端口之間的傳輸速率;所述帶寬切換處理用于協(xié)調(diào)不同傳輸端口之間的帶寬。
4、在本申請的一些實(shí)施例中,基于以上技術(shù)方案,所述數(shù)據(jù)傳輸優(yōu)化模塊還包括緩存單元和時(shí)鐘域異步處理單元,所述協(xié)調(diào)不同傳輸端口之間的傳輸速率,包括:在所述交換核心或所述端口控制器通過所述數(shù)據(jù)傳輸優(yōu)化模塊讀取報(bào)文時(shí),基于所述時(shí)鐘域異步處理單元執(zhí)行報(bào)文讀取的延時(shí)處理,并基于所述緩存單元執(zhí)行報(bào)文的緩存處理,以協(xié)調(diào)不同傳輸端口之間的傳輸速率。
5、在本申請的一些實(shí)施例中,基于以上技術(shù)方案,所述基于所述緩存單元執(zhí)行報(bào)文的緩存處理,包括:獲取所述端口控制器的第一時(shí)鐘頻率和所述交換核心的第二時(shí)鐘頻率;計(jì)算所述第一時(shí)鐘頻率和所述第二時(shí)鐘頻率的差值,并計(jì)算所述差值與所述第二時(shí)鐘頻率的比值,以根據(jù)所述比值得到報(bào)文的緩存長度;控制所述緩存單元根據(jù)所述緩存長度執(zhí)行報(bào)文的緩存處理。
6、在本申請的一些實(shí)施例中,基于以上技術(shù)方案,所述根據(jù)獲取的業(yè)務(wù)需求,過濾與所述業(yè)務(wù)需求不相關(guān)的報(bào)文,包括:獲取所述交換機(jī)端口的當(dāng)前模式;如果所述當(dāng)前模式為非透明橋端口,則執(zhí)行報(bào)文過濾,以保留目標(biāo)報(bào)文,所述目標(biāo)報(bào)文包括不帶鎖的存儲類型的報(bào)文、原子操作包以及不帶鎖的完成包中的至少一種;如果所述當(dāng)前模式為透明橋端口,則根據(jù)所述業(yè)務(wù)需求執(zhí)行對應(yīng)的報(bào)文過濾。
7、在本申請的一些實(shí)施例中,基于以上技術(shù)方案,所述處理所述業(yè)務(wù)需求對應(yīng)的報(bào)文錯(cuò)誤,包括:獲取交換機(jī)端口的當(dāng)前模式;如果所述當(dāng)前模式為透明橋端口,且未檢測到報(bào)文中的結(jié)束標(biāo)志信號,則產(chǎn)生一個(gè)新的結(jié)束標(biāo)志信號,并將所述新的結(jié)束標(biāo)志信號隨報(bào)文輸出,以及將用于指示報(bào)文存在結(jié)束標(biāo)志缺失的錯(cuò)誤,登記在預(yù)設(shè)的錯(cuò)誤記錄中。
8、在本申請的一些實(shí)施例中,基于以上技術(shù)方案,所述處理所述業(yè)務(wù)需求對應(yīng)的報(bào)文錯(cuò)誤,包括:獲取交換機(jī)端口的當(dāng)前狀態(tài);如果所述交換機(jī)端口的當(dāng)前狀態(tài)為即將復(fù)位或者即將關(guān)斷時(shí)鐘或者即將進(jìn)入低功耗狀態(tài),且預(yù)設(shè)的超時(shí)機(jī)制觸發(fā)時(shí)端口的報(bào)文仍未接收完或未發(fā)送完,則產(chǎn)生結(jié)束標(biāo)志信號,并停止報(bào)文的接收或發(fā)送,以及產(chǎn)生報(bào)文無效標(biāo)志信號發(fā)送給所述交換核心;通過所述交換核心對接收超時(shí)或發(fā)送超時(shí)的報(bào)文執(zhí)行靜默丟包操作,并將用于指示報(bào)文存在接收超時(shí)或發(fā)送超時(shí)的錯(cuò)誤,登記在預(yù)設(shè)的錯(cuò)誤記錄中。
9、在本申請的一些實(shí)施例中,基于以上技術(shù)方案,所述處理所述業(yè)務(wù)需求對應(yīng)的報(bào)文錯(cuò)誤,包括:獲取所述接收模塊接收到的報(bào)文類型;如果所述報(bào)文類型在當(dāng)前端口默認(rèn)不能接收,則對默認(rèn)不能接收的報(bào)文執(zhí)行靜默丟棄操作,并將用于指示報(bào)文存在默認(rèn)不能接收的錯(cuò)誤,登記在預(yù)設(shè)的錯(cuò)誤記錄中。
10、在本申請的一些實(shí)施例中,基于以上技術(shù)方案,所述接收模塊對輸入所述數(shù)據(jù)傳輸優(yōu)化模塊的報(bào)文進(jìn)行協(xié)調(diào)不同傳輸端口之間的帶寬,包括:在所述交換核心基于所述接收模塊讀取報(bào)文時(shí),判斷當(dāng)前的端口鏈路條數(shù),并根據(jù)所述端口鏈路條數(shù)進(jìn)行逐一篩選,以獲取多個(gè)端口鏈路中最大支持配置的目標(biāo)端口鏈路;獲取當(dāng)前報(bào)文的時(shí)鐘周期個(gè)數(shù);如果所述時(shí)鐘周期個(gè)數(shù)為多個(gè),則獲取每個(gè)時(shí)鐘周期中有效數(shù)據(jù)的字節(jié)數(shù),以按照所述目標(biāo)端口鏈路的最大支持配置對多個(gè)時(shí)鐘周期中有效數(shù)據(jù)的字節(jié)進(jìn)行拼接后,對拼接后的報(bào)文進(jìn)行傳輸;如果當(dāng)前報(bào)文只有1個(gè)時(shí)鐘周期,則對報(bào)文直接進(jìn)行傳輸。
11、在本申請的一些實(shí)施例中,基于以上技術(shù)方案,所述發(fā)送模塊對輸出所述數(shù)據(jù)傳輸優(yōu)化模塊的報(bào)文進(jìn)行協(xié)調(diào)不同傳輸端口之間的帶寬,包括:在所述交換核心基于所述發(fā)送模塊回讀報(bào)文時(shí),按照預(yù)設(shè)的最大包長將所述交換核心輸出的數(shù)據(jù)進(jìn)行緩存后,讀取緩存后的報(bào)文,并按照所述最大包長輸出報(bào)文。
12、本申請實(shí)施例的技術(shù)方案中,通過上述
技術(shù)實(shí)現(xiàn)要素:
至少可以帶來如下有益效果:
13、本申請?jiān)诟鶕?jù)pcie交換機(jī)執(zhí)行數(shù)據(jù)交換的業(yè)務(wù)處理過程中,將需要端口控制器執(zhí)行的第一數(shù)據(jù)處理流程,以及將需要交換核心執(zhí)行的第二數(shù)據(jù)處理流程,分別轉(zhuǎn)移到數(shù)據(jù)傳輸優(yōu)化模塊進(jìn)行處理,從而減輕了端口控制器和交換核心的業(yè)務(wù)處理負(fù)擔(dān),進(jìn)而有利于pcie交換機(jī)在業(yè)務(wù)處理時(shí)加速項(xiàng)目整體收斂速率。
1.一種pcie交換機(jī),其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的pcie交換機(jī),所述數(shù)據(jù)傳輸優(yōu)化模塊包括接收模塊和發(fā)送模塊,所述接收模塊和所述發(fā)送模塊用于執(zhí)行所述第一數(shù)據(jù)處理流程,以及所述接收模塊和所述發(fā)送模塊用于執(zhí)行所述第二數(shù)據(jù)處理流程,其特征在于,
3.根據(jù)權(quán)利要求2所述的pcie交換機(jī),所述數(shù)據(jù)傳輸優(yōu)化模塊還包括緩存單元和時(shí)鐘域異步處理單元,其特征在于,所述協(xié)調(diào)不同傳輸端口之間的傳輸速率,包括:
4.根據(jù)權(quán)利要求3所述的pcie交換機(jī),其特征在于,所述基于所述緩存單元執(zhí)行報(bào)文的緩存處理,包括:
5.根據(jù)權(quán)利要求2所述的pcie交換機(jī),其特征在于,所述根據(jù)獲取的業(yè)務(wù)需求,過濾與所述業(yè)務(wù)需求不相關(guān)的報(bào)文,包括:
6.根據(jù)權(quán)利要求2所述的pcie交換機(jī),其特征在于,所述處理所述業(yè)務(wù)需求對應(yīng)的報(bào)文錯(cuò)誤,包括:
7.根據(jù)權(quán)利要求2所述的pcie交換機(jī),其特征在于,所述處理所述業(yè)務(wù)需求對應(yīng)的報(bào)文錯(cuò)誤,包括:
8.根據(jù)權(quán)利要求2所述的pcie交換機(jī),其特征在于,所述處理所述業(yè)務(wù)需求對應(yīng)的報(bào)文錯(cuò)誤,包括:
9.根據(jù)權(quán)利要求2-8任一項(xiàng)所述的pcie交換機(jī),其特征在于,所述接收模塊對輸入所述數(shù)據(jù)傳輸優(yōu)化模塊的報(bào)文進(jìn)行協(xié)調(diào)不同傳輸端口之間的帶寬,包括:
10.根據(jù)權(quán)利要求2-8任一項(xiàng)所述的pcie交換機(jī),其特征在于,所述發(fā)送模塊對輸出所述數(shù)據(jù)傳輸優(yōu)化模塊的報(bào)文進(jìn)行協(xié)調(diào)不同傳輸端口之間的帶寬,包括: