本發明專利技術公開一種PCIe交換機,其包括多個PCIe總線域,其中每個PCIe總線域中設置有一個數據轉換模塊,且數據轉換模塊包括包監測模塊、路由模塊以及地址轉換模塊。其中包監測模塊用于解析數據包中的地址及ID信息,并進行判斷,路由模塊用于轉發數據包,以及地址轉換模塊用于將數據包中的地址及ID轉換至指定的PCIe總線域中。該PCIe交換機的同一PCIe總線域中的終端之間共享非透明橋的地址轉換信息,而不需要每個終端均保留一份地址轉換信息的備份,進而降低了初始化查找表的復雜度,同時可以節省設備面積,降低功耗。降低功耗。降低功耗。
【技術實現步驟摘要】
一種PCIe交換機及其終端的數據轉換方法
[0001]本專利技術涉及計算機通信
,特別涉及一種PCIe交換機及其終端的數據轉換方法。
技術介紹
[0002]外圍設備高速互連(Peripheral Component Interconnect Express,簡稱“PCIe”)是一種局部總線技術和接口標準。PCIe設備使用獨立的地址空間,即PCIe總線的地址空間,也稱為PCIe總線域。在PCIe協議中規定了三種類型的設備,包括根聯合體(Root Complex,簡稱“RC”)、交換機(switch)、以及終端(EndPoint,簡稱“EP”)。其中PCIe交換機可以擴展PCIe接口,將不同的帶有PCIe接口的設備進行互聯以進行信息交換和處理。PCIe交換機的內部包含多個PCI
?
PCI橋,這些PCI
?
PCI橋通常被稱為透明橋。一個透明橋上所掛的設備都從屬于同一個PCIe總線域,由于PCIe協議中規定同一個PCIe總線域的樹形拓撲中只有一個RC,因此在一個PCIe總線域中除了RC外,其他端口通常都與EP連接。
[0003]在同一個PCIe總線域中的EP之間可以在RC不參與的基礎上,采用點對點(peer to peer,簡稱“P2P”)傳輸進行數據傳輸。而兩個RC則需要通過PCIe非透明橋(Non
?
Transparent Bridging,簡稱“NTB”)進行連接。NTB可將不同的PCIe總線域的地址空間進行隔離,以連接不同的RC,此時NTB同時作為與其連接的兩個PCIe總線域的PCIe設備。NTB之間通常包含地址轉換單元(address translation unit,簡稱“ATU”),兩個PCIe總線域的包在發給對端前都會先通過ATU進行地址轉換,將包轉換到對端的總線域中再傳給對端。ATU里面通常包含很多查找表(lookup table,簡稱“LUT”),所述查找表會占用不少資源。基于此,在帶有NTB功能的PCIe交換機中,與RC同在一個PCIe總線域的外掛EP若需要訪問NTB端口的另一側RC,同樣需要采用ATU進行地址轉換,而若每個端口都包含一個ATU,則會大大增加資源,增加集成電路的設計成本。
技術實現思路
[0004]針對現有技術中的部分或全部問題,本專利技術第一方面提供一種PCIe交換機,其包括多個PCIe總線域,每個PCIe總線域中設置有一個數據轉換模塊,所述數據轉換模塊包括:
[0005]包監測模塊,用于解析數據包中的地址及ID信息,并進行判斷;
[0006]路由模塊,用于轉發數據包;以及
[0007]地址轉換模塊,用于將所述數據包中的地址及ID轉換至指定的PCIe總線域中。
[0008]進一步地,所述包監測模塊用于:
[0009]判斷所述數據包的地址,以確定所述數據包的目標設備;和/或
[0010]判斷所述數據包的需求端ID,以確定所述數據包的目標設備。
[0011]進一步地,所述路由模塊用于:
[0012]將需要傳送至非透明橋對端的數據包轉發至所述地址轉換模塊;以及
[0013]將需要傳送至本PCIe總線域的根聯合體或終端的數據包轉發至所述根聯合體或
終端。
[0014]進一步地,所述地址轉換模塊包括查找表,所述查找表由所述PCIe總線域中的根聯合體初始化得到。
[0015]基于如前所述的PCIe交換機,本專利技術第二方面提供一種PCIe交換機的終端(EP)的數據轉換方法,包括:
[0016]通過包監測模塊監測終端發送的數據包中的地址及ID信息;
[0017]判斷所述數據包是否需要訪問非透明橋對端設備:
[0018]若是,則通過路由模塊將所述數據包轉發至地址轉換模塊,所述地址轉換模塊將所述數據包轉換到目標設備所在的PCIe總線域并發送,非透明橋對端路由模塊接收到數據包后轉發至對應的終端或根聯合體。
[0019]進一步地,所述終端的數據轉換方法還包括:
[0020]若所述數據包需要訪問的目標為本PCIe總線域中的其他終端,則采用點對點傳輸進行數據傳輸。
[0021]進一步地,所述終端的數據轉換方法還包括:
[0022]若所述數據包需要訪問的目標為本PCIe總線域中的根聯合體,則通過路由模塊將數據轉發至所述根聯合體。
[0023]進一步地,判斷所述數據包是否需要訪問非透明橋對端設備包括:
[0024]判斷所述數據包的地址是否位于非透明橋地址范圍內,若是,則認為所述數據包需要訪問非透明橋對端設備。
[0025]進一步地,判斷所述數據包是否需要訪問非透明橋對端設備包括:
[0026]判斷所述數據包的需求端ID是否為非透明橋端口,若是,則認為所述數據包需要訪問非透明橋對端設備。
[0027]進一步地,所述終端的數據轉換方法還包括:
[0028]通過包監測模塊對同時接收到的數據包采用輪詢調度(round robin)方法進行各個包的優先級判決,即多個終端的包到來時,各個終端之間輪流通過包監測模塊發送出去。
[0029]本專利技術提供的一種PCIe交換機及其終端的數據轉換方法,在各個PCIe總線域中分別設置有一個包監測模塊,以監測地址和ID信息,并進一步地通過路由模塊將數據包轉發至相應的設備或模塊中,其中需要發送至非透明橋對端的數據包通過地址轉換模塊進行地址轉換后發送。同一PCIe總線域中的終端之間共享非透明橋的地址轉換信息,而不需要每個終端均保留一份地址轉換信息的備份,進而降低了初始化查找表的復雜度,同時可以節省設備面積,降低功耗。
附圖說明
[0030]為進一步闡明本專利技術的各實施例的以上和其它優點和特征,將參考附圖來呈現本專利技術的各實施例的更具體的描述。可以理解,這些附圖只描繪本專利技術的典型實施例,因此將不被認為是對其范圍的限制。在附圖中,為了清楚明了,相同或相應的部件將用相同或類似的標記表示。
[0031]圖1示出本專利技術一個實施例的一種PCIe交換機的數據轉換模塊的結構示意圖;以及
[0032]圖2示出本專利技術一個實施例的一種PCIe交換機的終端的數據轉換方法的流程示意圖。
具體實施方式
[0033]以下的描述中,參考各實施例對本專利技術進行描述。然而,本領域的技術人員將認識到可在沒有一個或多個特定細節的情況下或者與其它替換和/或附加方法或組件一起實施各實施例。在其它情形中,未示出或未詳細描述公知的結構或操作以免模糊本專利技術的專利技術點。類似地,為了解釋的目的,闡述了特定數量和配置,以便提供對本專利技術的實施例的全面理解。然而,本專利技術并不限于這些特定細節。此外,應理解附圖中示出的各實施例是說明性表示且不一定按正確比例繪制。
[0034]在本說明書中,對“一個實施例”或“該實施例”的引用意味著結合該實施例描述的特定特征、結構或特性被包括在本專利技術的至少一個實施例中。在本說明書各處中出現的短語“在一個實施例中”并不一定全部指代同一實施例本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種PCIe交換機,包括多個PCIe總線域,其特征在于,每個PCIe總線域中設置有一個數據轉換模塊,其中所述數據轉換模塊包括:包監測模塊,其被配置為解析數據包中的地址及ID信息,并根據所述地址和/或ID信息判斷數據包的目的設備;路由模塊,其被配置為轉發數據包;以及地址轉換模塊,其被配置為將所述數據包中的地址及ID轉換至指定的PCIe總線域中。2.如權利要求1所述的PCIe交換機,其特征在于,所述包監測模塊被配置為執行如下操作:確定所述數據包的地址所在的范圍,以確定所述數據包的目標設備;和/或判斷所述數據包的需求端ID,以確定所述數據包的目標設備。3.如權利要求1所述的PCIe交換機,其特征在于,所述路由模塊被配置為執行如下操作:將需要傳送至非透明橋對端的數據包轉發至所述地址轉換模塊;以及將需要傳送至本PCIe總線域的根聯合體或終端的數據包轉發至所述根聯合體或終端。4.如權利要求1所述的PCIe交換機,其特征在于,所述地址轉換模塊包括查找表,所述查找表由所述PCIe總線域中的根聯合體初始化得到。5.一種如權利要求1至4任一所述的PCIe交換機的終端的數據轉換方法,其特征在于,包括步驟:通過包監測模塊監測終端所發數據包中的地址及ID信息;判斷所述數據...
【專利技術屬性】
技術研發人員:孫向向,江國范,
申請(專利權)人:青芯半導體科技上海有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。