間的轉(zhuǎn)變。向上/向下計數(shù)器電路457被配置為如果該計數(shù)值小于零則提供邏輯I作為輸出461,否則,即計數(shù)值大于或等于零時,輸出為邏輯O。向上/向下計數(shù)器電路457輸出461可以響應于時鐘脈沖HRCM而改變狀態(tài),即當向上/向下計數(shù)器電路457被配置為更新其計數(shù)值時。因此,向上/向下計數(shù)器電路457的輸出461可以響應于時鐘脈沖HRCM,當其計數(shù)值從大于或等于零降低到小于零或從小于零升高到零時,改變狀態(tài)。
[0084]例如,如果不存在比特錯誤,則該M個下一狀態(tài)RBD420’與發(fā)送的真實HRB對應,那么該M個預測的真實下一狀態(tài)HRB429可以與該M個下一狀態(tài)RBD420’對應,并且計數(shù)比特差異模塊426可以輸出為零的ComptM。繼續(xù)以這個例子,M個反轉(zhuǎn)的下一狀態(tài)RBD425于是可能不與補碼HRB檢測器423的該M個預測的下一狀態(tài)HRB435對應,并且計數(shù)比特差異模塊432可以輸出表示M的值的CompcM。因為ComptM = O小于CompcM = M,那么比較電路460可以向向上/向下計數(shù)器電路457提供邏輯I作為輸出。然后向上/向下計數(shù)器電路457可以響應于HRCM時鐘脈沖而向上計一個數(shù)。如果最初,向上/向下計數(shù)器電路457的計數(shù)大于或等于零,那么向上/向下計數(shù)器電路457的輸出可能保持為零。
[0085]繼續(xù)以這個例子,如果接收到與發(fā)送的補碼HRB對應的一組或多組M個RBD,那么每M個下一狀態(tài)RBD420’可能不再與相應M個預測的真實下一狀態(tài)HRB429對應,并且計數(shù)比特差異模塊426可能輸出大于零且小于或等于M的ComptM。然后每M個反轉(zhuǎn)的下一狀態(tài)HRB425可以與補碼HRB檢測器423的相應的M個預測的下一狀態(tài)HRB435對應,并且計數(shù)比特差異模塊432可以輸出為O的相應CompcM(或接近零,這取決于比特錯誤和/或所發(fā)送的HRB是否在相應的M個RBD中從真實轉(zhuǎn)變到補碼)。然后,在相應的ComptM大于或等于相應CompcM的情況下,比較電路460可以為每M個RBD輸出相應的邏輯O。然后向上/向下計數(shù)器電路457可以響應于HRCM針對每個比較在相應ComptM大于或等于相應CompcM的情況下向下計數(shù)(只要計數(shù)值大于-N)。如果最初,向上/向下計數(shù)器電路457的計數(shù)大于或等于零,那么當該計數(shù)值達到負一時該向上/向下計數(shù)器電路457的輸出可以轉(zhuǎn)變。該轉(zhuǎn)變被配置為表示在真實和補碼HRB之間在RBD中的轉(zhuǎn)變。類似于圖3B的真實HRB檢測器321的X0R328和補碼HRB檢測器323的X0R334,下一狀態(tài)函數(shù)電路428可以等效于下一狀態(tài)函數(shù)電路434。
[0086]NRZ-S解碼電路454被配置為接收來自向上/向下計數(shù)器電路457的輸出461和LRC時鐘信號。NRZ-S解碼電路454進一步被配置為至少部分地基于來自向上/向下計數(shù)器電路457的輸出461,響應于該LRC時鐘信號而提供LRB輸出。例如,當該輸出461從零轉(zhuǎn)變到一或從一轉(zhuǎn)變到零時,NRZ-S解碼電路454被配置為響應于LRC時鐘脈沖而輸出對應于邏輯O的LRB。繼續(xù)以這個例于,如果該輸出沒有在與LRC的時鐘周期相關(guān)的時間間隔中轉(zhuǎn)變,那么NRZ-S解碼器454可以被配置為輸出對應于邏輯I的LRB。
[0087]因此,解調(diào)模塊414被配置為接收與調(diào)制的HR比特序列(即可能包括至少一個真實HRB和至少一個補碼的HRB的調(diào)制的HRB的序列)相關(guān)的、可能包括比特錯誤的RBD的序列。解調(diào)模塊414進一步被配置為并行解調(diào)多個(例如M個)RBD,以至少部分地基于真實HRB的數(shù)量和補碼HRB的數(shù)量來恢復低速率比特流(其包括反向通道信息)。解調(diào)模塊414被配置為至少部分地基于在補碼的和真實(或真實和補碼的)的發(fā)送的調(diào)制的HRB之間多個接收到的RBD中存在或不存在轉(zhuǎn)變來檢測所發(fā)送的LRB是邏輯O還是邏輯I。并行處理M個RBD被配置為促進以對應于HRC除以M的時鐘速率操作解調(diào)模塊414。為了檢測該轉(zhuǎn)變而利用多個接收到的RBD被配置為在出現(xiàn)與該接收到的調(diào)制的HRB相關(guān)聯(lián)的比特錯誤的情況下,即在均衡器調(diào)整之前和/或均衡器調(diào)整期間,提供魯棒性。因此,使用本公開的教導,可以在均衡器調(diào)整之前和/或均衡器調(diào)整期間,通過以鏈路速率操作的鏈路可靠地傳輸反向通道信息。
[0088]圖5說明符合本公開一個實施例的反向通道比特序列和幀結(jié)構(gòu)的例子500。應該注意圖5中,時間軸被定向為從右向左(即沿著時間軸向左移動時間增加)。圖5進一步說明符合本公開各種實施例的幀結(jié)構(gòu)。每個幀502包括84比特,并包括多個字段。所述字段包括開始位504 (具有對應于邏輯O的值),幀類型字段506 (在該例子中是8比特),數(shù)據(jù)字段508 (其在這個例子中包括四個字節(jié)),奇偶校驗位510,零位512和包括41個邏輯I比特的停止位字段514。該幀類型字段506和數(shù)據(jù)字段508被配置為承載反向通道信息。
[0089]該幀502中的每個比特對應于一個LRB。在這個例子500中,LRB的序列520包括與幀502,前一幀522的一部分和后續(xù)幀524的一部分對應的LRB。NRZ-S波形530說明由例如NRZ-S編碼電路208編碼的LRB的序列520,如這里描述的。時間間隔532說明用于邏輯O LRB的序列的NRZ-S輸出(即針對每個比特在NRZ-S輸出中的轉(zhuǎn)變),以及時間間隔534說明用于邏輯I LRB的序列的NRZ-S輸出(對于比特在NRZ-S中沒有轉(zhuǎn)變)。
[0090]該幀結(jié)構(gòu)被配置為促進實現(xiàn)幀同步。未能獲得幀同步可能表示圖1的節(jié)點102和鏈路伙伴120以不同比特速率操作。例如,節(jié)點元件102和鏈路伙伴120可以被配置為以它們各自的最大鏈路操作速率來開始鏈路初始化時段。如果它們各自的最大鏈路操作速率不同,則對實現(xiàn)幀同步的嘗試可能失敗??梢曰趲绞⌒畔⒄{(diào)整操作速率,使得以相同比特速率操作節(jié)點102和鏈路伙伴120,并且然后幀同步能夠?qū)崿F(xiàn)。例如,如果鏈路兩端的比特速率不同,節(jié)點元件102和鏈路伙伴120可能無法實現(xiàn)比特同步,并且該反向通道模塊108,138可能因而未能實現(xiàn)幀同步。因此,幀同步的這種失敗可以用來表示不兼容的比特速率。
[0091]一旦調(diào)整了操作比特速率使得該節(jié)點102和鏈路伙伴120以相同鏈路速率操作,就可以使用反向通道通信促進在節(jié)點102和鏈路伙伴120兩者處的均衡器調(diào)整。因為該反向通道信息被配置為調(diào)制該HR比特序列,當均衡器設(shè)置至少部分基于反向通道通信被調(diào)整時該HR比特序列被用于確定均衡質(zhì)量。
[0092]前述示例性實施例被配置為在節(jié)點元件和鏈路伙伴之間提供連續(xù)的并且至少部分同時的反向通道通信和鏈路初始化通信。因此可以通過利用與反向通道通信對應的LRB調(diào)制該HRB、使用在高比特速率(鏈路速率)操作的鏈路來提供低比特速率反向通道通信。因此,當在鏈路初始化期間提供魯棒反向通道通信時可以避免模式切換。
[0093]圖6是根據(jù)本公開各種實施例的調(diào)制操作的流程圖600。特別地,該流程圖600說明在鏈路初始化時段期間調(diào)制模塊的調(diào)制操作。該實施例的操作包括生成高速率比特序列602。操作604包括編碼包括了反向通道信息的低速率比特流。該低速率可以對應于該高速率的一部分。操作606包括使用該編碼的低速率比特流調(diào)制該HR比特序列。操作608包括向PHY Tx電路提供該調(diào)制的HR比特序列以發(fā)送給鏈路伙伴。
[0094]流程圖600的操作被配置為生成HR比特序列并使用編碼的包括反向通道信息的低比特速率流調(diào)制該HR比特序列,這樣有利于以對應于該高比特速率的鏈路速率發(fā)送該反向通道信息。
[0095]圖7是根據(jù)本公開的各種實施例的解調(diào)操作的流程圖700。特別地,該流程圖700說明在鏈路初始化時段期間解調(diào)模塊的操作的一個示例性實施例。該實施例的操作包括接收與包括至少一個真實HRB和至少一個補碼HRB的接收到的調(diào)制的HR比特序列相關(guān)的接收器比特判決(RBD)的序列702。每個HRB與流程圖600的所發(fā)送的調(diào)制的HR比特流比特對應和/或與其相關(guān)。該實施例的操作包括至少部分地基于檢測在真實HRB和補碼HRB之間轉(zhuǎn)變的存在或不存在來解調(diào)該HR比特序列以恢復低速率比特流704。該低速率比特流包括該反向通道信息。
[0096]該流程圖700的操作被配置為通過檢測在真實HRB序列和補碼HRB序列之間的轉(zhuǎn)變來恢復與反向通道信息對應的所發(fā)送的LRB??梢栽诮邮掌鞅忍嘏袥Q中存在比特錯誤的情況下,在均衡器設(shè)置調(diào)整之前和/或均衡器設(shè)置調(diào)整期間恢復該反向通道信息。
[0097]圖8是根據(jù)本公開各種實施例的解調(diào)操作的另一個流程圖800。特別地,該流程圖800是圖7的操作704的一個例子。該實施例的操作包括至少部分地基于多個RBD確定是否每個RBD對應于真實HRB802。操作804包括反轉(zhuǎn)每個RBD。操作806包括至少部分地基于所述多個反轉(zhuǎn)的RBD確定是否每個反轉(zhuǎn)的RBD對應于補碼HRB。該實施例的操作包括提供與在對應于該低速率的時間間隔中接收的檢測的真實HRB的數(shù)目和檢測的補碼HRB的數(shù)目相關(guān)的第一計數(shù)和第二計數(shù)808。操作810包括至少部分地基于該第一計數(shù)和該第二計數(shù)的比較恢復在該低速率比特流中的每個低速率比特(LRB)。在相對計數(shù)值之間的轉(zhuǎn)變(例如第一計數(shù)大于等于第二計數(shù)轉(zhuǎn)變到第一計數(shù)小于第二計數(shù))被配置為表示對應于邏輯O的LRB,并且在對應于LRB間隔的時間段內(nèi)轉(zhuǎn)變的不存在可以表示對應于邏輯I的LRB,如這里描述的。
[0098]流程圖800的操作被配置為在由該低速率比特流調(diào)制的該HR比特流中存在比特錯誤的情況下,恢復包括反向通道信息的低速率比特流的LRB。
[0099]圖9是根據(jù)本公開的各種實施例的反向通道操作的流程圖900。特別地,該流程圖900說明在鏈路初始化時段期間節(jié)點和/或鏈路伙伴的操作的一個示例性實施例。該實施例的操作以啟動鏈路初始化為開始902。該實施例的操作包括發(fā)起反向通道通信904。例如,反向通道模塊被配置為向調(diào)制器模塊發(fā)送信號以生成該HR比特序列(以HRC時鐘速率)并可以向該調(diào)制器模塊提供反向通道命令和/或數(shù)據(jù)(LRB)用于調(diào)制到該HR比特序列上。
[0100]操作906包括建立鏈路速率。該鏈路速率對應于在數(shù)據(jù)模式中該鏈路的比特速率,即被配置為高速率。在一些實施例中,節(jié)點元件和鏈路伙伴可以被配置為以它們各自的最大鏈路操作速率開始鏈路初始化時段。該節(jié)點元件和鏈路伙伴可以被配置為利用與該反向通道通信相關(guān)聯(lián)的幀結(jié)構(gòu)來同步所述幀,并由此確定正確的操作速率。在該節(jié)點元件和鏈路伙伴處的時鐘速率的失配可能典型地導致在該節(jié)點元件和該鏈路伙伴之間比特同步的失敗,然后這可能導致該反向通道幀同步的失敗。然后,可以由例如反向通道模塊利用幀同步的這種失敗來表示不兼容的比特速率。
[0101]操作908包括調(diào)整均衡器設(shè)置。節(jié)點元件和/或鏈路伙伴可以被配置為,一旦建立該鏈路操作速率,就調(diào)整它們各自的均衡器設(shè)置。當該均衡器設(shè)置被調(diào)整時,反向通道通信可以被執(zhí)行,以促進均衡。操作910包括確定均衡質(zhì)量。例如,由反向通道信息調(diào)制的該高速率比特流可以用于確定均衡質(zhì)量。該HR比特流的比特速率對應于該鏈路的數(shù)據(jù)模式操作速率,因此在傳輸該反向通道信息的同時可以使用該HR比特流執(zhí)行均衡器調(diào)整和均衡質(zhì)量確定。然后流程圖的操作可以返回912。
[0102]該流程圖900的操作被配置為使用被調(diào)制到HR比特序列上的低比特速率反向通道命令和/或數(shù)據(jù)來執(zhí)行鏈路初始化功能??梢允褂靡云鋽?shù)據(jù)模式鏈路速度或接近其數(shù)據(jù)模式鏈路速度操作的鏈路來執(zhí)行該鏈路初始化功能。與本公開的教導一致,將該低比特速率反向通道信息調(diào)制到該HR比特序列上被配置為在該鏈路初始化時段期間提供該反向通道信息的魯棒通信。
[0103]盡管圖6,7,8和9的流程圖說明了根據(jù)各種實施例的操作,但是應該理解不是圖6,7,8和/或9中描述的所有操作對其他實施例都是必要的。此外,這里考慮到,在本公開的其他實施例中,圖6,7,8和/或9中描述的操作,和/或這里描述的其他操作可以以沒有在任何附圖中特別示出的方式組合,并且這樣的實施例可以包括比圖6,7,8和/或9中說明的操作更少或更多的操作。因此,涉及沒有確切地在一個附圖中示出的特征和/或操作的權(quán)利要求被認為在本公開的精神和內(nèi)容中。
[0104]前述提供了示例性系統(tǒng)架構(gòu)和方法,然而,可以對本公開進行修改。例如,節(jié)點102和/或鏈路伙伴120也可以包括主處理器,芯片集電路和系統(tǒng)存儲器。該主處理器可以包括一個或多個處理器核,并可以被配置為執(zhí)行系統(tǒng)軟件。系統(tǒng)軟件可以包括,例如,操作系統(tǒng)碼(例如,OS核心碼)和局域網(wǎng)(LAN)驅(qū)動碼。LAN驅(qū)動碼可以被配置為至少部分地控制該網(wǎng)絡控制器104,134的操作。系統(tǒng)存儲器可以包括I/O存儲緩沖器,其被配置為存儲由網(wǎng)絡控制器104,134發(fā)送的或接收的一個或多個數(shù)據(jù)分組。芯片集電路通??梢园ā氨睒颉彪娐?未示出)以控制在處理器、網(wǎng)絡控制器104,134和系統(tǒng)存儲器之間的通信。
[0105]節(jié)點102和/或鏈路伙伴120可以進一步包括操作系統(tǒng)(OS,未示出)以管理系統(tǒng)資源和控制在例如節(jié)點102上運行的任務。例如,可以使用Microsoft Windows,HP-UX,Linux,或UNIX實現(xiàn)該OS,不過也可以使用其他操作系統(tǒng)。在一些實施例中,可以由能夠為在一個或多個處理單元上運行的各種操作系統(tǒng)(虛擬機)提供的底層硬件的抽象層的虛擬機監(jiān)視器(或管理程序)取代該OS。該操作系統(tǒng)和/或虛擬機可以實現(xiàn)一個或多個協(xié)議棧。協(xié)議??梢詧?zhí)行一個或多個程序以處理分組。協(xié)議棧的例子是TCP/IP (傳輸控制協(xié)議/網(wǎng)際協(xié)議)協(xié)議棧,其包括一個或多個用于操作(例如,處理或生成)分組以經(jīng)網(wǎng)絡發(fā)送和/或接收??商鎿Q地,協(xié)議棧可以包括在專用子系統(tǒng)中,例如,TCP卸載引擎利/或網(wǎng)絡控制器104。該TCP卸載引擎電路可以被配置為提供,例如,分組傳輸、分組分割、分組重組、錯誤檢查、傳輸確認、傳輸重試等,而不需要主CPU和/或軟件介入。
[0106]該系統(tǒng)存儲器可以包括一個或多個下列類型的存儲器:半導體固件存儲器、可編程存儲器、非易失性存儲器、只讀存儲器、電可編程存儲器、隨機存取存儲器、閃存、磁盤存儲器、和/或光盤存儲器。其他的或可替換的系統(tǒng)存儲器可以包括其他和/或以后發(fā)展的類型的計算機可讀存儲器。
[