一種高速串行鏈路的通道資源回收拓展方法
【技術領域】
[0001] 本發明涉及一種高速串行鏈路的管理方法,具體涉及一種對高速串行鏈路的通道 資源進行回收拓展的管理方法。
【背景技術】
[0002] 目前高速IO通信協議的物理層設計一般采用多通道串行鏈路,比如PCI Express 協議(PCIe)、光纖通道(Fiber Channel)等。在多通道串行鏈路中,一條鏈路(link)可包含 一條或多條通道(lane),每條通道由兩對差分信號線組成雙單工的串行傳輸通路(line), 沒有專用的數據、地址、控制和時鐘線,總線上各種事務組織成信息包來傳送。每條通路由 相互獨立的發送模塊(transmitter,TX)和接收模塊(receiver,RX)組成,在不同的狀態 下,物理層具有不同的功耗。
[0003] 以目前常用的高速串行鏈路PCI Express協議為例,高速串行通路物理層Serdes 在工作在不同功耗狀態下的數據如表1所示。
[0004] 表1 :高速Serdes的功耗數據
[0005] 參見表1可知,在40nm工藝下,如果把空閑通道的狀態由LO調整為LOs,則功耗下 降接近40%。(1-55/90=38. 9%)。在任何工藝下,如果把空閑通道的狀態由LO調整為L2,則 功耗下降超過95%。(1-6/125=95. 2%)。因此通過調整空閑通道的狀態來可以有效降低功 耗。
[0006] PCIe鏈路可能由多個Lane構成。現有技術中,PCIe設備在啟動之初,在鏈路兩 端通過鏈路訓練狀態機(LTSSM)進行寬度的協商。如果8個Lane均正常工作,則為8X鏈 路;否則,依次降級嘗試4X、2X、1X等寬度。一旦鏈路寬度確定,在鏈路正常工作期間均 不能改變。這種協議設計具有以下不足:1)缺乏靈活性,不具有對程序特征的適應性。為 了滿足所有應用的帶寬需求,通信協議一般依據最壞條件(worst case)的鏈路需求進行設 計。2)沒有提供相應接口,使得協議能夠根據當前應用狀態來重新配置鏈路的帶寬,造成 資源和功耗的浪費。3)鏈路寬度的協商完全由硬件決定,系統管理員不能對其進行重新設 定,不能對鏈路的帶寬/功耗進行優化。
[0007] 為了改變鏈路寬度,一種方法是,根據傳輸需求進行重訓練。例如,美國專利申請 US2013/0067127A1公開的方法,通過鏈路重訓練方法,可以使鏈路在不同傳輸速度之間進 行切換。但是,該方法著眼于解決整個鏈路在運行時,流量變化情況下,調整數據傳輸速度, 關鍵技術在于鏈路重訓練過程,其需要對整個鏈路同時操作,無法實現通道資源的局部回 收與拓展。
【發明內容】
[0008] 本發明的發明目的是提供一種高速串行鏈路的通道資源回收方法和拓展方法,使 用通道資源的回收和拓展機制實現根據程序特征實時調整通道的功耗狀態。
[0009] 為達到上述發明目的,本發明采用的技術方案是:一種高速串行鏈路的通道資源 回收方法,對于在本地節點和遠程節點間進行通信連接的通道資源進行回收,當確認通道 資源過剩時,首先確定可回收通道位置,然后對指定通道進行下列操作: 51 :本地節點:對控制寄存器進行配置,發起鏈路關閉請求到本地節點的配置引擎; 52 :本地節點:配置引擎收到請求后,在指定通道上向遠程節點發送鏈路回收請求序 列; 53 :遠程節點:接收到鏈路回收請求序列后,修改狀態寄存器,并向本地節點返回鏈路 回收確認序列; 54 :本地節點:接收端在收到返回的鏈路回收確認序列后,修改相應鏈路的狀態寄存 器,并通知配置引擎; 55 :本地節點:配置引擎切斷相應通道的電源,并通過保留鏈路發送鏈路回收結束序 列到對方,控制對方配置引擎關閉相應通道。
[0010] 上述技術方案中,所述Si步驟包括: 1) 發送端發送遠程能力寄存器讀請求,判斷對方是否具有部分鏈路Lane關閉能力;讀 取對方的鏈路狀態寄存器,判讀對方鏈路是否可以關閉; 2) 如果對方具有該能力,則準許修改關閉鏈路控制寄存器,同時發送執行鏈路關閉請 求給配置引擎。
[0011] 鏈路回收序列定義如下,其中COM和REL均為系統保留控制字符; 鏈路回收請求序列:COM ; RELl ; RELl ;RELl ; 鏈路回收確認序列:COM ;REL2 ;REL2 ;REL2 ; 鏈路回收結束序列:COM ;RELF ;RELF ;RELF。
[0012] 一種高速串行鏈路的通道資源拓展方法,對于采用權利要求1所述方法回收的高 速串行鏈路的通道資源進行拓展,對于需要拓展的通道,進行以下操作: 521 :本地節點修改控制寄存器,并發起鏈路恢復請求到本地節點的配置引擎; 522 :本地節點的配置引擎收到請求后,打開相應被關閉通路的電源,并使用保留通路 發送鏈路恢復請求序列到遠程節點; 523 :遠程節點接收到鏈路恢復請求序列后,寫入控制寄存器值,并由其控制遠程節點 的配置引擎打開待恢復通路電源,發送鏈路恢復確認序列到本地節點; S24:本地節點在收到鏈路恢復確認序列后,在剛打開的通路上發送同步序列,重新獲 取位鎖定(Bit/Symbol Lock); S25 :在收到同步返回序列后,由配置引擎通知配置邏輯(Configurable Logic)將數據 重新轉發到已恢復鏈路上。
[0013] 上述技術方案中,S21步驟具體包括以下步驟: 1) 通過本地軟件接口,讀取能力寄存器和狀態寄存器,判斷本地端口是否可以進行鏈 路恢復操作; 2) 通過保留通路讀取對方能力寄存器和狀態寄存器,判斷對方是否支持鏈路恢復操 作; 3) 如果雙方端口都可以進行鏈路恢復操作,則對控制寄存器進行配置,并發起鏈路恢 復請求到配置引擎。
[0014] S22步驟具體包括以下步驟: 1) 本地配置引擎收到鏈路恢復請求后,根據控制寄存器的設定,打開相應通路的電 源; 2) 本地配置引擎通過保留通路,發送鏈路恢復請求,其中包含控制寄存器值。
[0015] S24步驟具體包括以下步驟: 1) 在收到鏈路恢復確認序列后,待恢復鏈路的電源均已打開;配置引擎在已打開的通 路商發送同步序列TS1,使對方重新獲取Bit/Symbol Lock ; 2) 對方端口在收到同步序列TSl后,返回同步確認序列TS2,使本地端口重新獲取Bit/ Symbol Lock0
[0016] 由于上述技術方案運用,本發明與現有技術相比具有下列優點: 1、本發明通過對數據鏈路中的部分通道的回收和拓展,實現了在線運行過程中的帶寬 控制,允許部分鏈路通道在線關閉/打開,在滿足應用帶寬需求的同時,顯著降低鏈路的功 耗開銷。
[0017] 2、本發明能實現根據特定字符序列自我下調數據鏈路通道,例如X8鏈路,如果 1-4號通道關閉,數據會自動轉向5-8號通道;例如X4鏈路,如果1-4號通道恢復,數據會 自動轉向1-8號通道。通過通道配置邏輯,實現開啟通路回收和待開啟通道無縫拓展到正 常工作狀態的鏈路中。
【附圖說明】
[0018] 圖1是本發明實施例一中通道資源回收機制示意圖; 圖2是本發明實施例二中通道資源拓展機制示意圖; 圖3是實施例三中鏈路拓展機制結構圖。
【具體實施方式】
[0019] 下面結合附圖及實施例對本發明作進一步描述: 實施例一:如圖1所示是通道資源回收機制示意圖,本方案包括下幾個步驟: Stepl :本地節點:系統管理員通過本方案提供的軟件接口,對控制寄存器進行配置, 發起鏈路關閉請求到配置引擎(Config Engine)。該步驟具體可以包括: 1) 發送端發送遠程能力寄存器讀請求,判斷對方是否具有部分鏈路Lane關閉能力;讀 取對方的鏈路狀態寄存器,判讀對方鏈路是否可以關閉; 2) 如果對方具有該能力,則準許修改關閉鏈路控制寄存器,同時發送執行鏈路關閉請 求給配置引擎; St印2 :本地節點:配置引擎收到請求后,在指定Lane上發送鏈路回收序列;序列定義 如下表所示,其中COM和REL均為系統保留控制字符;
St印3 :遠程節點:接收到鏈路回收序列后,修改