專利名稱:用于檢測具有寬端口的存儲子系統(tǒng)中電纜長度的設備和方法
技術領域:
本申請總體上涉及改進的數(shù)據(jù)處理系統(tǒng)和方法。更具體地說,本申請涉及用于檢 測具有寬端口的存儲子系統(tǒng)中電纜長度的設備和方法。
背景技術:
在存儲網絡系統(tǒng)中,高速串行差分接口被用于互連多個存儲部件。例如,在來自 IBM公司的BiadeGenter 產品中,串行連接SCSI(SAS)交換機可以被用于將刀片服務器 互連到諸如典型存儲機箱的外部存儲器??梢越浻蓛炔扛咚俳Y構將刀片服務器直接連接到 SAS交換機。SAS交換機經由外部SAS電纜被連接到外部存儲器。通常,需要多個電纜長度,用于從SAS交換機連接在不同距離處的存儲器。第一 BladeCenter 存儲產品的最初版本可以要求諸如3米的“短”電纜和諸如Ii米的“長” 電纜。不久之后,存儲產品可能會要求諸如20米的更長的電纜。隨著數(shù)據(jù)速率中高速接口的增長,需要選擇性地調整發(fā)射機/接收機特性,諸如 預加重和去加重。由于顯著不同的電纜長度,難于優(yōu)化短和長電纜的高速接口。因此,需要 確定連接到SAS交換機的每個端口的電纜長度。此外,可能發(fā)生其中短電纜被不經意地或 者可能故意地由長電纜代替的某些場景。為了適應通過統(tǒng)計上預先規(guī)劃的布線過程或通過在顧客位置動態(tài)交換電纜創(chuàng)建 的不同電纜長度,需要動態(tài)地確定SAS交換機和外部存儲器之間的電纜長度?,F(xiàn)有技術已 經建議和實現(xiàn)了多種方法。例如,某些光纖通道電纜實現(xiàn)包括電纜長度信息的嵌入VPD (重 要產品數(shù)據(jù))電路。這已經僅僅利用電纜使用小形狀因子可插入(SFP)連接實現(xiàn)。不管電 纜是光學的還是銅的,仍需使用僅僅經由嵌入在高速電纜內的某種帶外接口可訪問的某種 類型的電纜VPD實現(xiàn)必要的電纜長度信息。此外,最近的SAS布線技術使用“寬”端口的概念。寬端口由多個通道或物理收發(fā) 機元件(PHY)組成。今天,SFP被設計用于單個端口。為光學端口提供寬SFP是不現(xiàn)實的。 例如,4個寬端口將需要4個激光發(fā)射機和4個接收機。更有可能使用寬SFP用于銅纜布線, 但是將需要非常大的成本增加。應該注意,不論是光學的還是銅的SFP都需要帶外接口,這 些是至今沒有標準化或實現(xiàn)的。高速串行接口的通常接受的比特誤碼率(BER)是1X10_12 (被傳送的每IO12比特 發(fā)生一個錯誤)??赡苡绊懜咚傩帕畹囊恍┣闆r包括由沿傳輸路徑的不期望的電連接斷開、 高速驅動器/接收機電路缺陷導致的阻抗變化,由彎曲或損壞的連接器管腳導致的不合適 的配合接觸,由機械或安裝問題導致的不完整的連接器配合以及相鄰信號路徑之間的信號 耦合。在性能范圍內測試單個部件,但是容差構造可能導致超出標稱設計目標的衰減。通 常,通過制造過程控制和非100%測試保證性能參數(shù)。因此,會遭遇單獨的缺陷。理想地,由互連和子系統(tǒng)制造商測試和驗證所有上述問題。然而,通常不是 這樣的,并且這種缺陷被引入到最終系統(tǒng)集成過程中??梢猿浞值販y試所有低速電路(<lGHz)。必須仔細地驗證高速電路。常規(guī)技術是使用電纜回繞高速接口,或者回繞子系 統(tǒng)外部的路徑;然而,當系統(tǒng)集成時,這沒有覆蓋實際的接口連接。當子系統(tǒng)部件被集成到系統(tǒng)中時,與標稱情形的參數(shù)變化可能導致高速接口上的 通信故障。惡化因素可能包括顧客數(shù)據(jù)模式、印刷電路變化和寄生、連接器寄生、電纜長度 或電纜斷開和系統(tǒng)環(huán)境。當檢測到通信故障時,系統(tǒng)可嘗試重新發(fā)送數(shù)據(jù)或可能使用糾錯 方案。實現(xiàn)傳輸恢復的代價可能表現(xiàn)為性能損失??梢砸员忍卣`碼率(BER)衡量性能退化。
發(fā)明內容
因此,本發(fā)明在第一方面提供了一種用于在計算裝置中檢測電纜長度的方法,該方法包括在計算裝置中設置至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)并且記錄誤碼 率;調整至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)并且記錄誤碼率,直到所述至少一個 發(fā)射機參數(shù)和至少一個接收機參數(shù)從最小值變?yōu)樽畲笾?;比較所記錄的誤碼率和針對已知 電纜長度的誤碼率;并基于比較結果確定電纜長度。該方法還可包括在終端裝置處配置發(fā)射機/接收機對,用于診斷回送。優(yōu)選地,計算裝置是串行連接SCSI交換機模塊。優(yōu)選地,串行連接SCSI交換機模塊包括交換機處理器。優(yōu)選地,串行連接SCSI交換機模塊包括數(shù)據(jù)處理器。優(yōu)選地,數(shù)據(jù)處理器包括循環(huán)冗余檢驗模塊、模式發(fā)生器/檢驗模塊、數(shù)據(jù)緩沖 器、包控制器或協(xié)議控制器中的至少一個。優(yōu)選地,串行連接SCSI交換機模塊包括串行連接SCSI交換機。優(yōu)選地,終端裝置是串行連接SCSI終端裝置。優(yōu)選地,誤碼率是比特誤碼率。優(yōu)選地,至少一個發(fā)射機參數(shù)包括發(fā)射機幅值。優(yōu)選地,至少一個接收機參數(shù)包括接收機均衡。在一個實施例中,可以提供用于在計算裝置中檢測電纜長度的方法,該方法包括 在計算裝置中設置至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)并且記錄誤碼率;調整所述 至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)并且記錄誤碼率,直到所述至少一個發(fā)射機參 數(shù)和至少一個接收機參數(shù)從最小值變?yōu)樽畲笾?;比較所記錄的誤碼率和針對已知電纜長度 的誤碼率;并基于比較結果確定電纜長度,其中所述計算裝置包括多個發(fā)射機/接收機對, 并且通過寬端口電纜連接到終端裝置。優(yōu)選地,設置至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)并且記錄誤碼率包括在 多個發(fā)射機/接收機對內建立命令發(fā)射機/接收機對,用于寬端口電纜上的通信。優(yōu)選地,終端裝置包括多個發(fā)射機/接收機對,該方法還包括使用命令發(fā)射機/ 接收機對來配置終端裝置處的用于診斷回送的多個發(fā)射機/接收機對內的下一個發(fā)射機/ 接收機對。優(yōu)選地,調整至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)包括重復地調整用于下 一個發(fā)射機/接收機對的至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù),直到多個發(fā)射機/ 接收機對內所有發(fā)射機/接收機對的至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)從最小 值變?yōu)樽畲笾怠?br>
優(yōu)選地,重復地調整至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)包括將發(fā)射機 參數(shù)設置為最小值;將接收機參數(shù)設置為標稱值;計算誤碼率;記錄計算出的誤碼率;以及 重復地遞增發(fā)射機參數(shù),計算誤碼率,并記錄計算出的誤碼率,直到發(fā)射機參數(shù)達到最大 值。優(yōu)選地,重復地調整至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)還包括將發(fā)射 機參數(shù)設置為標稱值;將接收機參數(shù)設置為最小值;計算誤碼率;記錄計算出的誤碼率;以 及重復地遞增接收機參數(shù),計算誤碼率,并記錄計算出的誤碼率,直到接收機參數(shù)達到最大
值。該方法還可以包括對于多個發(fā)射機/接收機對的誤碼率求平均。優(yōu)選地,至少一個發(fā)射機參數(shù)包括發(fā)射機幅值。優(yōu)選地,至少一個接收機參數(shù)包括接收機均衡。在第二方面中,提供了一種設備,包括至少一個發(fā)射機/接收機對;以及處理器, 其中該處理器被配置為在計算裝置中設置至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)并 記錄誤碼率;調整至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)并記錄誤碼率,直到至少一 個發(fā)射機參數(shù)和至少一個接收機參數(shù)從最小值變?yōu)樽畲笾?;比較所記錄的誤碼率和針對已 知電纜長度的誤碼率;并且基于比較結果確定電纜長度。優(yōu)選地,計算裝置是通過外部電纜連接到終端裝置的交換機模塊。優(yōu)選地,在終端裝置處的發(fā)射機/接收機對被配置為用于診斷回送。優(yōu)選地,至少一個發(fā)射機/接收機對包括多個發(fā)射機/接收機對,并且是通過寬端 口電纜連接到終端裝置的交換機模塊。優(yōu)選地,設置至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)并記錄誤碼率包括在多 個發(fā)射機/接收機對內建立命令發(fā)射機/接收機對,用于寬端口電纜上的通信。優(yōu)選地,終端裝置包括多個發(fā)射機/接收機對,其中處理器被配置為使用命令發(fā) 射機/接收機對來配置終端裝置處的用于診斷回送的多個發(fā)射機/接收機對內的下一個發(fā) 射機/接收機對。優(yōu)選地,調整至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)包括重復地調整用于下 一個發(fā)射機/接收機對的至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù),直到多個發(fā)射機/ 接收機對內的所有發(fā)射機/接收機對的至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)從最 小值變?yōu)樽畲笾?。?yōu)選地,重復地調整至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)包括將發(fā)射機 參數(shù)設置為最小值;將接收機參數(shù)設置為標稱值;計算誤碼率;記錄計算出的誤碼率;以及 重復地遞增發(fā)射機參數(shù),計算誤碼率,并且記錄計算的誤碼率,直到發(fā)射機參數(shù)達到最大 值。優(yōu)選地,重復地調整至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)還包括將發(fā)射 機參數(shù)設置為標稱值;將接收機參數(shù)設置為最小值;計算誤碼率;記錄計算出的誤碼率;以 及重復地遞增接收機參數(shù),計算誤碼率,并且記錄計算出的誤碼率,直到接收機參數(shù)達到最 大值。優(yōu)選地,比較所記錄的誤碼率和針對已知電纜長度的誤碼率包括對于多個發(fā)射 機/接收機對的所記錄的誤碼率求平均。
示例性的實施例認識到了現(xiàn)有技術中的缺點,并且提供了一種用于檢測具有寬端 口的存儲子系統(tǒng)中電纜長度的機制和過程。該機制可以使用現(xiàn)場雙向電纜回繞用于確定不 同的電纜長度。對于每個外部端口和甚至對于每個在寬端口內的PHY,該機制將發(fā)射機輸出 的限度下降到故障?;趶摹昂谩被乩@到“壞”回繞的轉變點,可以確定電纜長度。這假設 存在固定數(shù)量的預定電纜長度,諸如“長”和“短”。轉變點識別電纜是長的還是短的,在轉 變點,可以據(jù)此設置最優(yōu)調諧參數(shù)。示例性的實施例還提供了一種機制以校準高速發(fā)射機/接收機對特性,并且從而 優(yōu)化子系統(tǒng)之間的傳輸性能。該機制減輕了對于頻繁糾錯的需要,并且沒有招致與糾錯技 術相關聯(lián)的性能退化。在一個示例性實施例中,計算機程序產品包括具有計算機可讀程序的計算機可用 介質。當在計算裝置上執(zhí)行計算機可讀程序時,使得計算裝置在計算裝置中設置至少一個 發(fā)射機參數(shù)和至少一個接收機參數(shù)并記錄誤碼率,調整至少一個發(fā)射機參數(shù)和至少一個接 收機參數(shù)并記錄誤碼率,直到至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)從最小值變?yōu)樽?大值,比較記錄的誤碼率和已知電纜長度的誤碼率;以及基于比較確定電纜長度。在一個示例性實施例中,計算裝置是通過外部電纜連接到終端裝置的交換機模 塊。在另一個示例性實施例中,在終端裝置處的發(fā)射機/接收機對被配置為用于診斷回送。在另一個示例性實施例中,計算裝置包括多個發(fā)射機/接收機對,并且是通過寬 端口電纜連接到終端裝置的交換機模塊。在另一個實施例中,設置至少一個發(fā)射機參數(shù)和 至少一個接收機參數(shù)并記錄誤碼率包括在多個發(fā)射機/接收機對內建立命令發(fā)射機/接收 機對,用于寬端口電纜上的通信。在另一個示例性實施例中,終端裝置包括多個發(fā)射機/接收機對。當在計算裝置 上執(zhí)行計算機可讀程序時,還使得計算裝置使用命令發(fā)射機/接收機對來配置終端裝置處 的用于診斷回送的多個發(fā)射機/接收機對內的下一個發(fā)射機/接收機對。在另一個示例性實施例中,調整至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)包括 重復地調整用于下一個發(fā)射機/接收機對的至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù), 直到多個發(fā)射機/接收機對內所有發(fā)射機/接收機對的至少一個發(fā)射機參數(shù)和至少一個接 收機參數(shù)從最小值變?yōu)樽畲笾怠T诹硪粋€示例性實施例中,重復地調整至少一個發(fā)射機參數(shù)和至少一個接收機參 數(shù)包括將發(fā)射機參數(shù)設置為最小值,將接收機參數(shù)設置為標稱值,計算誤碼率,記錄計算出 的誤碼率,以及重復地遞增發(fā)射機參數(shù),計算誤碼率并記錄計算出的誤碼率,直到發(fā)射機參 數(shù)達到最大值。在另一個示例性實施例中,調整至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)還包 括將發(fā)射機參數(shù)設置為標稱值,將接收機參數(shù)設置為最小值,計算誤碼率,記錄計算出的誤 碼率,以及重復地遞增接收機參數(shù)、計算誤碼率并記錄計算出的誤碼率,直到接收機參數(shù)達 到最大值。在另一個示例性實施例中,當在計算裝置上執(zhí)行計算機可讀程序時,計算機可讀 程序還使得計算裝置對于多個發(fā)射機/接收機對的誤碼率求平均。在另一個示例性實施例中,計算裝置包括至少一個發(fā)射機/接收機對和處理器。 該處理器被配置為在計算裝置中設置至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)并記錄誤碼率,調整至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)并記錄誤碼率,直到至少一個發(fā) 射機參數(shù)和至少一個接收機參數(shù)從最小值變?yōu)樽畲笾担容^所記錄的誤碼率和針對已知電 纜長度的誤碼率,并且基于比較結果確定電纜長度。在一個示例性實施例中,計算裝置是通過外部電纜連接到終端裝置的交換機模 塊。在另一個示例性實施例中,在終端裝置處的發(fā)射機/接收機對被配置為用于診斷回送。在另一個示例性實施例中,至少一個發(fā)射機/接收機對包括多個發(fā)射機/接收機 對,并且是通過寬端口電纜連接到終端裝置的交換機模塊。在另一個示例性實施例中,設置 至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)并記錄誤碼率包括在多個發(fā)射機/接收機對 內建立命令發(fā)射機/接收機對,用于寬端口電纜上的通信。在另一個示例性實施例中,終端裝置包括多個發(fā)射機/接收機對。該處理器被配 置為使用命令發(fā)射機/接收機對來配置終端裝置處用于診斷回送的多個發(fā)射機/接收機對 內的下一個發(fā)射機/接收機對。在另一個示例性實施例中,調整至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)包括 重復地調整用于下一個發(fā)射機/接收機的至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù),直 到多個發(fā)射機/接收機對內所有發(fā)射機/接收機對的至少一個發(fā)射機參數(shù)和至少一個接收 機參數(shù)從最小值變?yōu)樽畲笾?。在另一個示例性實施例中,重復地調整至少一個發(fā)射機參數(shù)和至少一個接收機參 數(shù)包括將發(fā)射機參數(shù)設置為最小值,將接收機參數(shù)設置為標稱值,計算誤碼率,記錄計算出 的誤碼率,以及重復地遞增發(fā)射機參數(shù),計算誤碼率和記錄計算出的誤碼率,直到發(fā)射機參 數(shù)達到最大值。在另一個示例性實施例中,重復地調整至少一個發(fā)射機參數(shù)和至少一個接收機參 數(shù)還包括將發(fā)射機參數(shù)設置為標稱值,將接收機參數(shù)設置為最小值,計算誤碼率,記錄所計 算的誤碼率,以及重復地遞增接收機參數(shù),計算誤碼率和記錄計算出的誤碼率,直到接收機 參數(shù)達到最大值。在另一個示例性實施例中,比較所記錄的誤碼率和針對已知電纜長度的誤碼率包括對于多個發(fā)射機/接收機對的記錄的誤碼率求平均。對于本領域的技術人員來說,參考本發(fā)明的示例性實施例的以下詳細描述,本發(fā) 明的這些和其它特征和優(yōu)點將變得明顯。
現(xiàn)在將僅僅通過例子的方式,參考附圖描述本發(fā)明的優(yōu)選實施例,其中圖1A-1C是根據(jù)本發(fā)明的示例性實施例的存儲網絡中的窄端口的框圖;圖2A-2C是根據(jù)本發(fā)明的示例性實施例的存儲網絡中的寬端口的框圖;圖3是示出根據(jù)本發(fā)明的示例性實施例的用于檢測具有寬端口的存儲子系統(tǒng)中 電纜長度的機制的操作的流程圖;圖4是示出其中可以實現(xiàn)示例性實施例的各個方面的示例系統(tǒng)環(huán)境的框圖;圖5是示出其中可以實現(xiàn)示例性實施例的各個方面的子系統(tǒng)接口環(huán)境的框圖;圖6是示出根據(jù)本發(fā)明的示例性實施例的高速點到點校準過程的框圖;圖7是示出根據(jù)本發(fā)明的示例性實施例的點到點校準機制的操作的流程圖;和
圖8是示出根據(jù)本發(fā)明的示例性實施例的系統(tǒng)校準的流程圖。
具體實施例方式參考附圖,圖1A-1C是根據(jù)一個示例性實施例的存儲網絡中的窄端口的框圖。更 特別地參考圖1A,交換機模塊110具有處理器112和交換機專用集成電路(ASIC) 114。交 換機ASIC 114具有物理收發(fā)機元件(PHY) 116。PHY包括發(fā)射機和接收機對。終端裝置120 具有處理器122和終端裝置ASIC 124。終端裝置ASIC 124具有PHY126。PHY 116經由用 于正常數(shù)據(jù)傳輸?shù)耐獠侩娎|連接到PHY 126。在一個示例性實施例中,交換機模塊110可以 是串行連接的SCSI (SAS)交換機模塊,且終端裝置120可以是SAS終端裝置。
現(xiàn)在參考圖1B,交換機ASIC 114中的PHY 116和終端裝置ASIC124中的PHY 126 被配置為用于在每端處的診斷內部回送。根據(jù)示例性實施例,PHY 116和PHY 126具有將 發(fā)射機連接到接收機以形成內部回送的能力。圖IB示出怎樣在外部接口的診斷驗證期間 配置SAS網絡。在用電纜連接的接口的每端處的SAS裝置執(zhí)行內部回繞以考驗每個相應裝 置的窄端口。轉到圖1C,在終端裝置ASIC 124中的PHY 126被配置為用于在終端裝置處的診斷 回送。PHY 126具有將發(fā)射機連接到接收機以形成外部回送的能力。圖IC示出提供針對電 纜長度檢測機制的基礎和針對將在以下詳細描述的窄端口的過程的配置。圖2A-2C是根據(jù)一個示例性實施例的存儲網絡中的寬端口的框圖。更特別地參考 圖2A,交換機模塊210包括交換機ASIC 220,其具有交換機處理器222、數(shù)據(jù)處理器224、交 換機226和PHY 0-N212-216。每個PHY包括一個發(fā)射機和接收機對。數(shù)據(jù)處理器224包括 循環(huán)冗余檢驗模塊、模式生成器/檢驗模塊、數(shù)據(jù)緩沖器、包控制器或協(xié)議控制器中的至少 一個。終端裝置230包括終端裝置ASIC 240,其具有目標處理器242、數(shù)據(jù)處理器244、交換 機246和PHY 0-N232-236。PHY 212-216經由用于正常數(shù)據(jù)傳輸?shù)膶挾丝谕獠侩娎|連接到 相應的PHY 232-236。在一個示例性實施例中,交換機模塊210可以是串行連接SCSI (SAS) 交換機模塊,并且終端裝置230可以是SAS終端裝置?,F(xiàn)在參考圖2B,交換機ASIC 220中的PHY 212-216和終端裝置ASIC 240中的PHY 232-236被配置為用于在每端處的診斷內部回送。根據(jù)示例性實施例,PHY 212-216和PHY 232-236具有將發(fā)射機連接接收機以形成內部回送的能力。圖2B示出怎樣在外部接口的診 斷驗證期間配置寬端口 SAS網絡。在電纜連接的接口的每端處的SAS裝置執(zhí)行內部回繞以 考查每個相應裝置的窄端口。轉到圖2C,在交換機ASIC 220中的PHY 212和在終端裝置ASIC 240中的PHY 232 被配置為用于正常數(shù)據(jù)傳輸。在所描述的例子中,PHY 0212是命令PHY。在終端裝置ASIC 240中的PHY1-N234-236被配置為用于在終端裝置處的診斷回送。圖2C示出提供針對電纜 長度檢測機制的基礎和針對將在以下詳細描述的示例性實施例的寬端口的過程的配置。本領域的技術人員應該理解,在圖1A-1C和圖2A-2C中描述的硬件可以變化。例 如,圖1A-1C中的交換機模塊110可以包括多于一個的窄端口,圖2A-2C中的交換機模塊 210可以包括多于一個的寬端口。如本領域技術人員清楚的,可以進行對存儲區(qū)域網絡配置 的其它修改。根據(jù)示例性實施例,提供了用于檢測具有寬端口的存儲子系統(tǒng)中電纜長度的機制和過程。該機制可以使用現(xiàn)場雙向電纜回繞,用于確定不同電纜長度。注意到,高速差分接 口通常實現(xiàn)發(fā)射機和接收機電路,也已知為并串行轉換/串并行轉換(SERDES)電路,其允 許調整發(fā)射機幅值以及接收機均衡。以下參考圖4-8將更加詳細地描述用于調整發(fā)射機幅 值和接收機均衡的機制和過程。在正常操作期間,期望最優(yōu)地調諧這些參數(shù)以提供最可靠 的系統(tǒng)電氣性能。為了確定任何連接電纜的長度,診斷過程被定義為對于每個外部端口甚至對于在 寬端口內的每個PHY將發(fā)射機輸出的限度下降到并且將接收機的輸入失調到接口發(fā)生故障的點?;谵D變點從“成功”回繞變?yōu)椤肮收稀被乩@,可以確定電纜長度。這假設存在固定 數(shù)量的預定電纜長度,諸如“長”電纜和“短”電纜。轉變點可以識別電纜是短的還是長的, 在該點處,可以在正常操作期間據(jù)此確定和編程最優(yōu)調諧參數(shù)。圖3是示出根據(jù)示例性實施例的用于檢測具有寬端口的存儲子系統(tǒng)中電纜長度 的機制的操作的流程圖。應該理解,流程圖所示的每個框和流程圖中所示的框的組合可以 由計算機程序指令實現(xiàn)。這些計算機程序指令可以被提供給處理器或其它可編程數(shù)據(jù)處理 設備,以生成機器,使得在處理器或其它可編程數(shù)據(jù)處理設備上執(zhí)行的指令創(chuàng)建用于實現(xiàn) 在流程框中指定的功能的裝置。這些計算機程序指令也可以被存儲在計算機可讀存儲器或 存儲介質上,其可以指令處理器或其它可編程數(shù)據(jù)處理設備以特定方式工作,使得存儲在計算機可讀存儲器或存儲介質中的指令產生包括實現(xiàn)在流程框中指定的功能的指令裝置 的產品。因此,流程圖所示的框支持用于執(zhí)行指定功能的裝置的組合、用于執(zhí)行指定功能 的步驟的組合和用于執(zhí)行指定功能的程序指令裝置。還應該理解,流程圖所示的每個框和 流程圖中所示的框的組合可以由執(zhí)行指定功能或步驟的專用的基于硬件的計算機系統(tǒng)、或 者由專用硬件和計算機指令的組合實現(xiàn)。此外,提供了流程圖以表明在示例性實施例中執(zhí)行的操作。該流程圖沒有試圖闡 述或暗示關于指定操作或更特別地關于操作順序的限制??梢孕薷牧鞒虉D的操作以適應特 定實施方式?,F(xiàn)在參考圖3,當連接到寬端口的電纜長度未知時操作開始。該機制調用診斷電纜 回繞例程以配置每端上的PHY用于電纜長度檢測(框302)。然后,該機制建立用于在寬端 口上通信的命令PHY (框304)。該機制通過配置PHY將發(fā)射機連接到接收機以形成外部回送來回繞在寬端口中 的下一個PHY(框306)。該機制將發(fā)射機和接收機參數(shù)調整到最小,并且記錄誤碼率(框 308)。然后該機制將發(fā)射機和接收機參數(shù)調整到下一步并且記錄誤碼率(框310)。該機制 確定是否所有調整均已完成(框312)。如果完成了所有調整,操作返回框310,以將發(fā)射機 和接收機參數(shù)調整到下一步并且記錄誤碼率。如果在框312完成對于PHY的所有調整,該機制確定是否已經測試了最后的 PHY (框314)。如果還沒有測試最后的PHY,操作返回框306以回繞在寬端口中的下一個 PHY。然而,如果已經在框314測試了最后的PHY,該機制比較針對每個PHY所記錄的數(shù) 據(jù)以確定值表(框316)。該機制對已回繞的PHY的數(shù)據(jù)求平均(框318)。然后該機制基 于已回繞的PHY的平均值來確定電纜長度。此后,操作結束。
在產品測試期間,可以連接多個電纜長度,從而每個指定電纜長度的特征在于當回繞被失調為故障時采集一組數(shù)據(jù)點。圖3示出了特征化數(shù)據(jù)怎樣反映關于最優(yōu)性能和故 障的數(shù)據(jù)點的范圍。這些特征化值表可以在回繞測試期間使用,以識別連接的是長電纜還 是短電纜,或者其它預定的長度。換句話說,針對已知長度可以記錄誤碼率。然后該機制可 以將來自框308和310的記錄值或者來自框318的平均數(shù)據(jù)與針對已知長度所記錄的誤碼 率進行比較。當特征化寬端口時,存在被測試的多個鏈接回繞。這提供了多個數(shù)據(jù)點用于 所連接的電纜的更加顆?;拈L度確定。注意,圖3的流程圖可以對于針對窄端口電纜的 單個PHY進行操作。根據(jù)一個示例性實施例,可以動態(tài)地使在高頻應用中使用的高速串行接口的限度 超出正常極限以確定最優(yōu)性能設置。所獲得的設置代表針對每個物理路徑的系統(tǒng)校準點。 每個系統(tǒng)可以存儲針對串行接口連接的相應點到點節(jié)點的校準數(shù)據(jù)。高速差分接口可以由四條導線組成。兩條導線差分地用于代表單個信號,諸如發(fā) 射信號。類似地,兩條導線差分地用于代表第二個信號,諸如接收信號。通過這種方式,實 現(xiàn)了發(fā)射和接收信號。根據(jù)示例性實施例,提供了一種機制以優(yōu)化在高速接口上子系統(tǒng)之 間的數(shù)據(jù)傳輸?shù)男阅?。該機制可以以加強通信接口傳輸功能的方式改變激勵的參數(shù)和響應機制。然后該 機制可以確定測試下的指定硬件的設計/保護頻帶限度。然后所得到的信息可以用作針對 指定硬件配置的校準因子。對于高速SAS交換機,該機制可以使用預加重/輸入補償以測試限度。在這種情 況下,焦點是在通信接口上從發(fā)射機到接收機的點到點通信。這可以例如覆蓋刀片插槽、內 部高速結構和外部布線。在過去,單個校準因子可用于系統(tǒng)或有限的電纜長度組。作為各個點到點校準的 結果,該示例性實施例的機制覆蓋了無限數(shù)量的電纜長度和路徑(可變寬度電纜)。注意到 還可以將該示例性實施例的機制應用到內部化的高速結構,與電纜連接的接口相反。作為 標稱參數(shù)組的替代,可以針對每條路徑優(yōu)化系統(tǒng)。常常,由于連接上的寄生現(xiàn)象,電纜或路 徑的電氣長度可能與物理長度不密切相關。該校準機制可以針對物理和電氣差別來優(yōu)化系 統(tǒng)。校準可以應用于每個點到點連接,諸如電纜連接在一起的子系統(tǒng)的相容組。作為 另一個例子,校準可以應用到子系統(tǒng)的變化組,諸如系統(tǒng)重新配置、電纜連接的子系統(tǒng)的附 加或減少,或者由于時間或環(huán)境引起的子系統(tǒng)退化。性能校準可以通過上電復位、通知硬件 變化或重新配置或者糾錯率增大到設定的極限之上來啟動。圖4是示出其中可以實現(xiàn)示例性實施例的各個方面的示例系統(tǒng)環(huán)境的框圖。高速 子系統(tǒng)410經由子系統(tǒng)外部布線連接到高速子系統(tǒng)430。高速子系統(tǒng)410包括PHY和鏈路 層412,其通過并串行轉換/串并行轉換(SERDES)電路416連接到發(fā)射機/接收機對。高 速子系統(tǒng)410還包括PHY和鏈路層414,其通過并串行轉換/串并行轉換(SERDES)電路418 連接到發(fā)射機/接收機對。高速子系統(tǒng)410中的發(fā)射機/接收機對通過連接器420連接到 子系統(tǒng)外部布線。高速子系統(tǒng)430包括PHY和鏈路層432,其通過并串行轉換/串并行轉換 (SERDES)電路436連接到發(fā)射機/接收機對。高速子系統(tǒng)430還包括PHY和鏈路層434, 其通過并串行轉換/串并行轉換(SERDES)電路438連接到發(fā)射機/接收機對。高速子系統(tǒng)430中的發(fā)射機/接收機對通過連接器440連接到子系統(tǒng)外部布線。在圖4中描述的例子中,高速子系統(tǒng)410中的PHY和鏈路層412、414以及SERDES 電路416、418代表激勵(發(fā)射機)452。高速子系統(tǒng)430中的PHY和鏈路層432、434以及 SERDES電路436、438代表響應(接收器)456。收發(fā)機對,連接器420、440和子系統(tǒng)外部布 線代表復雜接口傳輸功能454。根據(jù)示例性實施例,該機制改變激勵和響應參數(shù)。功能性的 范圍確定了針對外部電纜連接子系統(tǒng)的給定組的性能限度。
圖5是示出其中可以實現(xiàn)示例性實施例的各個方面的子系統(tǒng)接口環(huán)境的框圖。主 機系統(tǒng)510包括內部應用處理器512-516,其在內部端口處連接到SAS交換機518。存儲子 系統(tǒng)522-526經由高速SAS電纜在外部端口處連接到SAS交換機518。該示例性實施例的 機制可以界定每個點到點連接以找到最優(yōu)性能設置。然后該機制可以校準為每個點到點連 接所存儲的數(shù)據(jù)。圖6是示出根據(jù)示例性實施例的高速點到點校準過程的框圖。子系統(tǒng)610包括PHY 和鏈路層612,其經由SERDES 616連接到發(fā)射機/接收機對。子系統(tǒng)630包括PHY和鏈路 層632,其經由SERDES 636連接到發(fā)射機/接收機對。通過外部電纜650將子系統(tǒng)610的 發(fā)射機/接收機對連接到子系統(tǒng)630的發(fā)射機/接收機對。節(jié)點到節(jié)點連接包括輸出發(fā)射機、印刷電路板路徑、連接器、內部高速結構、外部 電纜和輸入接收機。該示例性實施例的校準機制將發(fā)射機和接收機參數(shù)設置為標稱設計值。然后該機制確定針對點到點外部連接的一端(節(jié)點A)的發(fā)射設定點。該機制在源 交換機處生成自測試模式,并且監(jiān)視在外部連接的另一端(節(jié)點B)處的接收交換機處的期 望的數(shù)據(jù)。該機制衡量的參數(shù)是比特誤碼率(BER)。在一個示例性實施例中,BER的單位是 每兆接收數(shù)據(jù)一個錯誤。然后該校準機制使發(fā)射設置的限度從最小(min)變?yōu)樽畲?max) 范圍。節(jié)點A的發(fā)射設定點對應于在接收機,即節(jié)點B處達到最大BER的發(fā)射設定點。然后該校準機制確定針對點到點外部連接的另一端(節(jié)點B)的接收機設定點。該 機制在源交換機處生成自測試模式,并且在接收交換機、即外部連接的節(jié)點B處監(jiān)視期望 的數(shù)據(jù)。該校準機制使接收機設置的限度從最小變?yōu)樽畲蠓秶?。?jié)點B的接收機設定點對 應于在接收機處達到最大BER的接收機設定點。然后該校準機制針對外部電纜節(jié)點C和節(jié)點D重復以上校準序列。圖7是示出根據(jù)一個示例性實施例的點到點校準機制的操作的流程圖。操作開 始,并且校準機制在發(fā)射一側設定自測試模式(框702)。該校準機制將發(fā)射SAS參數(shù)設定 為最小值(框704),并將接收SAS參數(shù)設定為標稱值(框706)。校準機制計算比特誤碼率(BER)(框708)。然后該機制確定發(fā)射參數(shù)是否等于最 大值(框710)。如果發(fā)射參數(shù)不等于最大值,則校準機制遞增發(fā)射SAS參數(shù)(框712),并 且操作返回框708以計算針對遞增了的發(fā)射參數(shù)的BER。隨著校準機制使發(fā)射SAS參數(shù)從 最小值變?yōu)樽畲笾担摍C制記錄針對每個參數(shù)值的BER,如在框714中所示的。如果在框710中發(fā)射參數(shù)等于最大值,則該校準機制計算發(fā)射計算值(框716)。 接著,該校準機制將接收SAS參數(shù)設定為最小值(框718),并將發(fā)射SAS參數(shù)設定為標稱值 (框 720)。該校準機制計算BER(框722)。然后該機制確定接收參數(shù)是否等于最大值(框724)。如果接收參數(shù)不等于最大值,則該校準機制遞增接收SAS參數(shù)(框726),并且操作返 回框722,以計算針對遞增的接收參數(shù)的BER。隨著校準機制使接收SAS參數(shù)從最小值變?yōu)?最大值,機制記錄針對每個參數(shù)值的BER,如在框728中所示的。
如果在框724中接收參數(shù)等于最大值,則該校準機制計算接收校準值(框730)。 此后,操作結束。圖8是示出根據(jù)示例性實施例的系統(tǒng)校準的流程圖。操作響應于多個啟動條件之 一開始,包括上電復位(框802)、系統(tǒng)重新配置(框804)、增加或減少電纜連接的子系統(tǒng) (框806)或者SAS比特誤碼率接口退化(框808)。響應于啟動條件,該校準機制針對受 影響的高速接口執(zhí)行點到點校準(框810)。然后,該校準機制更新系統(tǒng)固件內的校準參數(shù) (框812)。此后,完成系統(tǒng)校準(框814),并且操作結束。因此,示例性實施例通過提供一種用于檢測具有寬端口的存儲子系統(tǒng)中的電纜長 度的機制和過程解決了現(xiàn)有技術的缺點。該機制可以使用現(xiàn)場雙向電纜回繞用于確定不同 電纜長度。對于每個外部端口和甚至對于每個在寬端口內的PHY,該機制將發(fā)射機輸出的限 度下降到故障?;趶摹昂谩被乩@到“壞”回繞的轉變點,可以確定電纜長度。這假設存在 固定數(shù)量的預定電纜長度,諸如“長”和“短”。轉變點識別電纜是否是長的還是短的,在轉 變點,可以據(jù)此設置最優(yōu)調諧參數(shù)示例性的實施例還提供了一種機制以校準高速發(fā)射機/接收機對特性,并且從而 優(yōu)化子系統(tǒng)之間的傳輸性能。該機制減輕了對于頻繁糾錯的需要,并且沒有招致與糾錯技 術相關聯(lián)的性能退化。應該理解,這些示例性實施例可以采取完全硬件實施例、完全軟件實施例或者包 含硬件和軟件元素兩者的實施例的形式。在一個示例性實施例中,示例性實施例的機制以 軟件形式實現(xiàn),其包括但不限于固件、駐留軟件、微代碼等。此外,示例性實施例可以采取從提供程序代碼的計算機可用或計算機可讀介質可 獲得的計算機程序產品的形式,用于由計算機或任何指令執(zhí)行系統(tǒng)使用或者與其聯(lián)系。為 了描述的目的,所述計算機可用或計算機可讀介質可以是能夠包含、存儲、通信、傳播或傳 送用于由指令執(zhí)行系統(tǒng)、設備或裝置使用或者與其聯(lián)系的程序的任何設備。該介質可以是電的、磁的、光的、電磁的、紅外的或半導體的系統(tǒng)(或者設備或裝 置)或者傳播介質。計算機可讀介質的例子包括半導體或固態(tài)存儲器、磁帶、可移動計算機 軟盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、硬磁盤和光盤。光盤的現(xiàn)有例子包括光盤 只讀存儲器(CD-ROM)、讀/寫光盤(CD-R/W)和DVD。適用于存儲和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)將包括通過系統(tǒng)總線直接或間 接耦合到存儲元件的至少一個處理器。存儲器元件可以包括在程序代碼的實際執(zhí)行期間使 用的本地存儲器、大容量存儲器和高速緩沖存儲器,高速緩沖存儲器提供至少某些程序代 碼的暫存,以便減少執(zhí)行期間代碼必須從大容量存儲器提取的次數(shù)。輸入/輸出或I/O裝置(包括但不限于鍵盤、顯示器、指向裝置等)可以直接或通 過插入I/O控制器耦合到系統(tǒng)。還可以將網絡適配器耦合到系統(tǒng),使得數(shù)據(jù)處理系統(tǒng)能夠 變?yōu)橥ㄟ^介入私有或公共網絡耦合到其它數(shù)據(jù)處理系統(tǒng)或者遠程打印機或存儲裝置。調制 解調器、線纜調制解調器和以太網卡僅僅是網絡適配器當前可獲得的類型中的幾種。
權利要求
一種用于在計算裝置中檢測電纜長度的方法,所述方法包括在計算裝置中設置至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)并記錄誤碼率;調整至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)并記錄誤碼率,直到至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)從最小值變?yōu)樽畲笾?;比較所記錄的誤碼率和針對已知電纜長度的誤碼率;以及基于比較結果確定電纜長度。
2.根據(jù)權利要求1所述的方法,還包括在終端裝置處配置發(fā)射機/接收機對,用于診斷回送。
3.根據(jù)權利要求1或2所述的方法,其中計算裝置包括多個發(fā)射機/接收機對,并且通 過寬端口電纜連接到終端裝置。
4.根據(jù)上述權利要求之一所述的方法,其中調整至少一個發(fā)射機參數(shù)和至少一個接收 機參數(shù)包括重復地調整用于下一個發(fā)射機/接收機對的至少一個發(fā)射機參數(shù)和至少一個 接收機參數(shù),直到多個發(fā)射機/接收機對內所有發(fā)射機/接收機對的至少一個發(fā)射機參數(shù) 和至少一個接收機參數(shù)從最小值變?yōu)樽畲笾怠?br>
5.根據(jù)權利要求4所述的方法,重復地調整至少一個發(fā)射機參數(shù)和至少一個接收機參 數(shù)包括以下步驟之一將發(fā)射機參數(shù)設置為最小值;將接收機參數(shù)設置為標稱值;計算誤碼率;記錄計算出 的誤碼率;以及重復地遞增發(fā)射機參數(shù),計算誤碼率,并記錄計算出的誤碼率,直到發(fā)射機 參數(shù)達到最大值;或者將發(fā)射機參數(shù)設置為標稱值;將接收機參數(shù)設置為最小值;計算誤碼率;記錄計算出 的誤碼率;以及重復地遞增接收機參數(shù),計算誤碼率,并記錄計算出的誤碼率,直到接收機 參數(shù)達到最大值。
6.一種裝置,包括至少一個發(fā)射機/接收機對;和 處理器,其中所述處理器被配置為在計算裝置中設置至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)并且記錄誤碼率; 調整至少一個發(fā)射機參數(shù)和至少一個接收機參數(shù)并且記錄誤碼率,直到至少一個發(fā)射 機參數(shù)和至少一個接收機參數(shù)從最小值變?yōu)樽畲笾担槐容^所記錄的誤碼率和針對已知電纜長度的誤碼率;以及 基于比較結果確定電纜長度。
7.根據(jù)權利要求6所述的裝置,其中至少一個發(fā)射機/接收機對包括多個發(fā)射機/接 收機對,并且所述裝置是通過寬端口電纜連接到終端裝置的交換機模塊。
8.根據(jù)權利要求6或7所述的裝置,其中調整至少一個發(fā)射機參數(shù)和至少一個接收機 參數(shù)包括重復地調整用于下一個發(fā)射機/接收機對的至少一個發(fā)射機參數(shù)和至少一個接 收機參數(shù),直到多個發(fā)射機/接收機對內所有發(fā)射機/接收機對的至少一個發(fā)射機參數(shù)和 至少一個接收機參數(shù)從最小值變?yōu)樽畲笾怠?br>
9.根據(jù)權利要求8所述的裝置,其中重復地調整至少一個發(fā)射機參數(shù)和至少一個接收 機參數(shù)包括以下步驟之一將發(fā)射機參數(shù)設置為最小值;將接收機參數(shù)設置為標稱值;計算誤碼率;記錄計算出的誤碼率;以及重復地遞增發(fā)射機參數(shù),計算誤碼率,并記錄計算出的誤碼率,直到發(fā)射機 參數(shù)達到最大值;或者將發(fā)射機參數(shù)設置為標稱值;將接收機參數(shù)設置為最小值;計算誤碼率;記錄計算出 的誤碼率;以及重復地遞增接收機參數(shù),計算誤碼率,并且記錄計算出的誤碼率,直到接收 機參數(shù)達到最大值。
10.根據(jù)權利要求9所述的裝置,其中比較所記錄的誤碼率和已知電纜長度的誤碼率 包括對于多個發(fā)射機/接收機對的所記錄的誤碼率求平均。
全文摘要
檢測具有寬端口的存儲子系統(tǒng)中電纜長度的機制。該機制使用現(xiàn)場雙向電纜回繞用于確定不同的電纜長度。對于每個外部端口和甚至對于每個在寬端口內的PHY,該機制將發(fā)射機輸出的限度下降到故障?;趶摹昂谩被乩@到“壞”回繞的轉變點,可以確定電纜長度。轉變點識別電纜是否是長的還是或短的,在轉變點,可以據(jù)此設置最優(yōu)調諧參數(shù)。一種校準機制校準高速發(fā)射機/接收機對特性,并且從而優(yōu)化子系統(tǒng)之間的傳輸性能。該校準機制減輕了對于頻繁糾錯的需要,并且沒有招致與糾錯技術相關聯(lián)的性能退化。
文檔編號G06F13/40GK101802799SQ200880025588
公開日2010年8月11日 申請日期2008年6月18日 優(yōu)先權日2007年7月26日
發(fā)明者B·J·卡格諾, G·S·盧卡斯, T·S·特魯曼 申請人:國際商業(yè)機器公司