專利名稱:數據塊同步設備、系統和方法
技術領域:
在此被公開的主題涉及數據通信。在此被公開的主題特別涉及處理在目的地被接收的數據。
背景技術:
在數據傳輸媒體中,數據通常被作為離散量的數據或數據塊量傳輸到目的地。數據塊典型地包括在傳輸前的一個源上已經被編碼和/或被擾碼的數據。一旦在目的地接收到這種數據塊,被接收的數據塊可以被解擾碼或者解碼以便恢復所述被傳輸的數據。在數據流中數據塊可以被傳輸到目的地,其中連續的數據塊被所述數據流中的一個同步標題分開。數據塊可以被從所述數據流分析或者通過定位一個預定的在所述數據流中分開所述數據塊的同步標題被“對準”。所述被分析的或被對準的數據塊隨后可以被解擾碼或被解碼。
發明內容
根據本發明的第一方面,提供了一種系統,包括一個XGXS設備;和一個物理編碼子層設備,它包括一個被耦合到所述XGXS設備的XGMII;一個響應于被同步的數據來給所述XGMII提供數據幀的解碼器;和一個響應于數據流來給所述解碼器提供所述被同步的數據的數據同步部分,該數據同步部分包括一個檢測器,該檢測器在每個連續的固定字增量的設定部分的公共位置中檢測多個連續的固定字增量的每一個中的同步標題;和一個齒輪箱邏輯電路,該齒輪箱邏輯電路響應于在被接收的固定字增量的設定部分的公共位置中檢測到所述同步標題的缺乏,用固定的比特數量滑動所述數據流。
根據本發明的第二方面,提供了一種方法,包括在設定的數據字增量上接收數據流;在每個連續的數據字增量的設定部分的公共位置中檢測多個連續的被接收的數據字增量的每一個中的同步標題的存在;以及響應于在至少一個被接收的數據字增量的設定部分的公共位置中檢測到所述同步標題的缺乏,用固定的比特數量滑動所述數據流。
根據本發明的第三方面,提供了一種設備,包括一個在數據字增量上接收數據流的接口;一個在每個連續的數據字增量的設定部分的公共位置中檢測多個被接收的連續的數據字增量的每一個中的同步標題的檢測器;以及一個響應于在被接收的數據字增量的設定部分的公共位置中檢測到所述同步標題的缺乏,用固定的比特數量滑動所述數據流的齒輪箱。
根據本發明的第四方面,提供了一種設備,包括在設定的數據字增量上接收數據流的裝置;在每個連續的數據字增量的設定部分的公共位置中檢測多個連續的被接收的數據字增量的每一個中的同步標題的存在的裝置;以及響應于在至少一個被接收的數據字增量中的設定部分的公共位置中檢測到所述同步標題的缺乏而用固定的比特數量滑動所述數據流的裝置。
參考下列附圖將描述本發明的非限制和不詳盡的實施方案,其中除非另外規定,否則相同的編號指各圖中相同的部分。
圖1顯示根據本發明的一個實施方案的在兩點之間傳輸數據的一種系統。
圖2顯示根據在圖1中顯示的系統的實施方案的在一個物理編碼子層(PCS)設備和物理媒體附件(PMA)設備之間的一個接口。
圖3顯示根據在圖1中顯示的系統的實施方案的一種數據接收機。
圖4顯示根據在圖3中顯示的塊同步部分的實施方案的在一個PCS設備上同步接收數據塊的一種算法。
圖5顯示根據在圖4中表示的算法的實施方案的一個說明在數據幀中定位同步標題的算法中狀態轉移的示意圖。
具體實施例方式
貫穿這個說明書的對于“一個實施方案”或者“實施方案”的參考意味著結合所述實施方案被描述的特殊的特點、結構、或特性被包括在本發明的至少一個實施方案中。因此,顯然,在貫穿這個說明書的各個位置中的短語“在一個實施方案中”或者“實施方案”不必全部指相同的實施方案。而且,特殊的特點、結構、或特性可以被包括在一個或多個實施方案中。
在此提到的“機器可讀取的”指令指可以被一個或多個機器理解的用于執行一個或多個邏輯操作的表達式。例如,機器可讀取的指令可以包括是處理器編譯程序可解釋的用于在一個或多個數據對象上執行一個或多個操作的指令。然而,這僅僅是機器可讀取的指令的一個例子,并且本發明的實施方案未被限制在這個方面中。
在此提到的“存儲媒體”指能夠維護一個或多個機器可察覺的表達式的媒體。例如,機器可讀取的媒體可以包括一個或多個用于存儲機器可讀取的指令或數據的存儲設備。這種存儲設備可以包括諸如光學的、磁性的或半導體存儲媒體的存儲媒體。然而,這僅僅是機器可讀取的媒體的一個例子,并且本發明的實施方案未被限制在這個方面中。
在此提到的“邏輯電路”指用于執行一個或多個邏輯操作的結構。例如,邏輯電路可以包括基于一個或多個輸入信號提供一個或多個輸出信號的電路。這種電路可以包括接收數字輸入并且提供數字輸出的有限狀態機,或者響應于一個或多個模擬輸入信號提供一個或多個模擬輸出信號的電路。這種電路可以在專用集成電路(ASIC)或現場可編程門陣列(FPGA)中被提供。而且,邏輯電路可以包括被存儲在存儲媒體中的機器可讀取的指令,與處理電路共同執行這種機器可讀取的指令。然而,這些僅僅是可以提供邏輯電路的結構的例子,并且本發明的實施方案未被限制在這個方面中。
在此提到的“數據字”指固定數量的數據。例如,一個數據字可以包括固定數量的有序數據比特。一個數據字可以有包括16個比特、32個比特、64個比特或更多比特的預定的長度。然而,這些僅僅是數據字的例子,并且本發明的實施方案未被限制在這些方面中。
在此提到的“數據流”指在一個時間周期中以順序地被傳輸的數據單元的方式被傳輸到目的地的數據。數據流可以以均勻的數據率給目的地提供數據。數據流還可以在一個時間周期中以數據字增量的方式被提供給目的地。然而,這些僅僅是數據流的例子,并且本發明的實施方案未被限制在這些方面中。
在此提到的“數據幀”指在目的地被接收的數據單元。一個數據傳輸可以被劃分成多個有序數據幀用于傳輸到所述目的地。然而,這僅僅是數據幀的一個例子,并且本發明未被限制在這些方面中。
在此提到的“數據塊”指可以在數據幀中被傳輸的數據數量。數據塊可以包括一些已經被擾碼或編碼的數據。在數據流中和多個數據幀一起被傳輸的每個數據幀可以包括“同步標題”以便表示所述數據幀的開始并且把所述數據幀的數據塊部分和前面的數據幀的數據塊部分分開。然而,這些僅僅是數據塊和同步標題的例子,并且本發明的實施方案未被限制在這些方面中。
在此提到的“齒輪箱”指在一個第一數據寬度上接收并行數據并且在一個不同于所述第一數據寬度的第二數據寬度上按照并行數據提供所述被接收的數據的一種設備。在齒輪箱的一個例子中,在具有所述第一數據寬度的輸入端的數據吞吐量可以和在具有所述第二數據寬度的輸出端的數據吞吐量相同。然而,這僅僅是齒輪箱的一個例子,并且本發明的實施方案未被限制在這個方面中。
在此提到的“滑動”指在數據流中被接收的比特的暫時移動。例如,通過刪除固定的比特數,數據流中的比特可以被用所述固定的比特數滑動。然而,這僅僅是數據流如何可以被滑動的一個例子,并且本發明的實施方案未被限制在這個方面中。
簡單地說,本發明的一個實施方案涉及在數據流中同步被接收的塊數據的一種方法和設備,其中所述數據流在設定的數據字增量上被接收。在多個連續的數據字增量的每一個中的同步標題可以在每個連續的固定字增量的設定部分的公共位置中被檢測。響應于在被接收的數據字增量的設定部分的公共位置中檢測所述同步標題的缺乏,所述數據流可以被滑動固定的比特數量。然而,這僅僅是一個實施方案的例子,并且在這些方面本發明的其它實施方案未被限制。
圖1顯示根據本發明的一個實施方案的在數據通道中兩點之間傳輸數據的系統10。數據收發信機12可以通過媒體依賴接口(MDI)22傳輸數據到一個傳輸媒體或者從一個傳輸媒體接收數據。例如,數據收發信機12可以包括一個物理媒體附件(PMA)設備25、物理媒體依賴(PMD)設備26和一個物理編碼子層(PCS)設備24,以便根據IEEE標準802.3ae-2002,條款48到51與一個光學傳輸媒體通信。
系統10還可以包括一個媒體接入控制(MAC)設備14以便通過諸如根據IEEE標準802.3ae-2002,條款46形成的10吉比特MII(XGMII)20的媒體獨立接口(MII)與數據收發信機12通信。MAC設備14還可以被耦合到幾種類型的輸入/輸出系統之一,例如,一個多路復用數據總線或一個交換結構。然而,這些僅僅是MAC設備如何可以被與一個通信平臺集成的例子,并且本發明的實施方案未被限制在這個方面。
通過諸如根據IEEE標準802.3ae,條款47和48形成的10吉比特附件單元接口(XAUI)16的一個串行數據鏈路,MAC設備14和PCS設備24可以被耦合到數據收發信機12。XAUI 16可以被耦合在第一和第二XGMII擴展器子層(XGXS)電路18之間。通過在一個底板配置中伸展到大約50cm的跡線(trace),所述第一和第二XGXS電路18可以被耦合在一個打印電路板上。然而,這僅僅是MAC設備如何可以通過一個數據鏈路被耦合到數據收發信機的例子,并且本發明的實施方案未被限制在這些方面中。在一個可替代的實施方案中,例如,PCS設備24可以在一個與XAUI或XGXS設備無關的XGMII上直接被耦合到一個MAC設備。此外,這些僅僅是MAC設備如何可以被耦合到數據收發信機的例子,并且其它的實施方案未被限制在這個方面。
在被表示的實施方案中,XGXS電路18可以在多個數據通道中通過XAUI 16傳輸數據,其中每個數據通道以一個朝向或者離開數據收發信機12的特殊的方向傳輸數據。在被表示的實施方案中,在一個時間周期中在不同的通道上被傳輸到XGXS電路18的數據可以被重新結合。因此,XGXS電路18可以抗扭斜(deskew)在不同的數據通道上被傳輸的數據以保持在所述不同的數據通道上被接收的數據的正確對準。
圖2顯示根據圖1中被顯示的系統的實施方案在一個PCS設備64和一個PMA設備52之間的一個接口。PMA和PCS設備52和64可以在不同的半導體器件中被形成。可替代地,PMA和PCS設備52和64可以在一個公共半導體器件中被形成。PMA設備52包括一個輸出接口68以便從一個串行數據流中提供一個固定寬度數據字(例如,如被表示的一個16比特字)。PCS設備64包括一個輸入接口66以便在離散間隔上從所述輸出接口接收所述固定寬度數據字。
根據一個實施方案,PMA設備52可以輸出不對準的數據幀到PCS設備64。例如,66比特數據幀可以被以16比特數據字的方式提供給接口66。每個數據幀可以包括一個被與一個兩比特同步標題連接的64比特數據塊部分。因此,一個兩比特同步標題可以分開在接口66上以16比特增量的方式被接收的連續的66比特幀。
圖3顯示根據在圖1中被顯示的系統的實施方案的一種數據接收機。如上面在圖2中所討論的,PMA設備112可以以16比特字增量的方式給PCS設備124提供66比特數據幀。PCS設備124可以包括一個齒輪箱部分142以便接收所述16比特字,并且包括一個解碼部分130以便按照在IEEE標準802.3ae-2002的條款49中規定的來給XGMII120提供以太網幀。基于兩比特寬同步標題,塊同步部分140可以識別所述66比特數據幀。隨后,解擾碼部分132可以解擾碼所述64比特數據塊部分以便按照在IEEE標準802.3ae-2002的條款49中規定的來給所述解碼部分130提供被解擾碼的數據。
根據一個實施方案,在每個數據間隔上,齒輪箱部分142可以從接收自PMA部分112的所述16比特字提供一個66比特數據字到所述塊同步部分140。例如,齒輪箱部分142可以從由連接來自所述被接收的16比特數據字的比特形成的數據流提供所述66比特數據字(例如,由連接四個被接收的16比特數據字的比特和第五個被接收的16比特數據字的兩比特部分構成一個66比特字)。在提供所述66比特數據字中,響應于來自塊同步部分140的一個信號,齒輪箱部分142可以在所述被接收的數據流(也就是來自所述被連接的16比特數據字的數據流)中選擇性地滑動設定的比特數量。例如,齒輪箱部分142可以截斷或丟棄在構成所述66比特數據字中被使用的數據流的一個固定部分。
圖4和圖5中的狀態圖顯示根據圖3中顯示的塊同步部分140的一個實施方案的在一個PCS設備上同步接收數據塊的過程。一個復位事件(例如,一個加電事件)可以轉移到無條件轉移到FRAME_ALIGN狀態204的LOCK_INIT狀態202。如參考圖5所討論的,所述FRAME_ALIGN狀態204可以在從齒輪箱部分142接收的66比特數據字的公共位置中檢測兩比特同步標題的位置。基于在每個66比特數據幀中被檢測的所述同步標題的位置,一個64比特數據塊可以被從所述66比特數據幀提取。
狀態206到214涉及監控設定數量的連續的66比特數據幀(例如,64個連續的66比特數據幀)的誤碼率(BER)。在每個連續的66比特數據幀中的同步標題可以在狀態208被測試。如果設定數量的連續的66比特數據幀中的每一個在無同步標題誤差的情況下被接收,則所述同步標題的位置可以在狀態214被驗證。如果一個無效的比特同步標題在狀態208被檢測,則狀態210可以增加無效同步標題檢測的計數,并且如果小于已經被測試的連續的66比特數據幀的設定數量,則選擇性地返回到狀態208。如果所述設定數量的連續66比特數據幀已經被測試并且無效同步標題檢測數量低于一個閾值(例如,在0和16之間),則狀態212和212將轉移到狀態206。如果無效同步標題的閾值在所述設定數量的連續的66比特數據幀中被檢測,則所述幀定位過程通過從狀態210轉移到204被啟動。
圖5中的狀態圖顯示根據在圖4中顯示的過程中的狀態204的實施方案,對準66比特數據幀的過程。狀態252可以被從來自狀態202的轉移啟動(圖4)。根據一個實施方案,狀態256嘗試在設定數量的連續的66比特數據字(例如,如現在被表示的實施方案中顯示的64個連續的數據字)的每一個中檢測一個兩比特同步標題的存在。所述同步標題可以包括一個設定的位模式,例如,“10”或“01”。然而,這些僅僅是可以在一個數據幀中被用作同步標題以便標記一個數據幀開始的位模式的例子,并且本發明的實施方案未被限制在這些方面。
狀態256可以在每個連續的66比特數據字的一個設定部分或窗口的公共位置中搜尋所述同步標題的存在,而不是在全部66個比特數據字中搜尋所述同步標題(一次一個同步標題位置)。現在被表示的實施方案中,例如,狀態256可以只嘗試在設定數量的66比特數據字中的每一個的前16比特中的公共位置中檢測所述同步標題的存在。例如,對于一個兩比特同步標題,所述同步標題的公共位置可以在所述16比特窗口中的16個位置中的任何一個位置。
如果在設定數量的66比特數據字中的每一個的16比特窗口的相同位置檢測到所述同步標題,則所述數據幀的對準可以在狀態258被確定。一個輸出值“對準_輸出”可以代表在每個66比特數據字中同步標題的公共位置,由解擾碼部分132(圖3)用于在66比特數據字的數據流中識別64個比特數據塊。
狀態256還可以在一個或多個設定數量的66比特數據字的窗口的公共位置中檢測所述同步標題的缺乏。例如,通過未能在設定數量的66比特數據字的每一個的前16比特的相同位置中檢測到所述同步標題的存在,狀態256可以檢測到所述同步標題的缺乏。因此,狀態256可以在任何所述66比特數據字的公共位置中檢測到所述同步標題的缺乏。響應于檢測到所述同步標題的缺乏,到狀態260的轉移隨后可以導致塊同步部分140提供一個滑動信號到齒輪箱部分142。響應于所述滑動信號,齒輪箱部分142可以用設定數量的比特(例如,相當于用于定位一個同步標題的窗口長度的16個比特)滑動所述被接收的數據流(例如,被用于構成所述66比特數據字的數據流)。
通過根據所述窗口的大小滑動所述數據流,狀態256可以在后來的設定數量的連續的66比特數據字(例如,后來的64個連續的66比特數據字)的每一個的下一個16比特窗口部分中搜尋所述同步標題。同時,狀態256可以繼續在被從齒輪箱部分142接收的每個66比特數據字的前16比特的窗口中搜尋所述同步標題,響應于在狀態260的滑動,所述數據流已經被16個比特移動。如果一個代表所述同步標題的比特順序在設定數量的66比特數據字的每一個中的16比特窗口的一個以上的位置被檢測到,則數據字計數器“sh_cnt”可以被復位為0以便能夠測試另一個設定數量的連續的66比特數據字。
盡管本發明實施方案的例子已經被表示和描述,但是本領域技術人員應該理解,在不背離本發明的真實范圍的情況下,各種其它的修改可以被進行,并且等價物可以被代替。另外,在不背離在此被描述的本發明概念的情況下,很多修改可以被進行以便使得一個特定情況適合于本發明的示教。因此,本發明未被限于被公開的特殊的實施方案,而是本發明包括落在附加權利要求書的范圍內的全部實施方案。
權利要求
1.一種系統,包括一個XGXS設備;和一個物理編碼子層設備,它包括一個被耦合到所述XGXS設備的XGMII;一個響應于被同步的數據來給所述XGMII提供數據幀的解碼器;和一個響應于數據流來給所述解碼器提供所述被同步的數據的數據同步部分,該數據同步部分包括一個檢測器,該檢測器在每個連續的固定字增量的設定部分的公共位置中檢測多個連續的固定字增量的每一個中的同步標題;和一個齒輪箱邏輯電路,該齒輪箱邏輯電路響應于在被接收的固定字增量的設定部分的公共位置中檢測到所述同步標題的缺乏,用固定的比特數量滑動所述數據流。
2.如權利要求1所述的系統,其中所述系統包括一個被耦合到所述XGMII的第一XGXS設備和一個通過XAUI被耦合到所述第一XGXS設備的第二XGXS設備。
3.如權利要求1所述的系統,所述系統還包括一個被耦合到所述XGMII的媒體接入控制器。
4.如權利要求1所述的系統,其中所述系統還包括一個物理媒體附件設備以便響應于一個數據信號來給所述物理媒體附件設備提供所述數據流。
5.如權利要求4所述的系統,其中所述系統還包括一個響應于在光學傳輸媒體上被接收的信號來提供所述數據信號的物理媒體依賴設備。
6.一種方法,包括在設定的數據字增量上接收數據流;在每個連續的數據字增量的設定部分的公共位置中檢測多個連續的被接收的數據字增量的每一個中的同步標題的存在;以及響應于在至少一個被接收的數據字增量的設定部分的公共位置中檢測到所述同步標題的缺乏,用固定的比特數量滑動所述數據流。
7.如權利要求6所述的方法,所述方法還包括響應于在設定數量的連續的數據字增量中的公共位置中定位所述同步標題,在所述數據流中檢測數據塊的對準。
8.如權利要求6所述的方法,其中所述設定部分包括設定數量的數據比特,并且其中用固定的比特數量滑動所述數據流包括用等于所述設定的數據比特量的量來滑動所述數據流。
9.如權利要求6所述的方法,其中所述固定的字增量包括66個比特。
10.如權利要求9所述的方法,其中每個數據字增量中的設定部分包括16個數據比特。
11.如權利要求10所述的方法,其中所述同步標題包括設定模式的兩比特。
12.一種設備,包括一個在數據字增量上接收數據流的接口;一個在每個連續的數據字增量的設定部分的公共位置中檢測多個被接收的連續的數據字增量的每一個中的同步標題的檢測器;以及一個響應于在被接收的數據字增量的設定部分的公共位置中檢測到所述同步標題的缺乏,用固定的比特數量滑動所述數據流的齒輪箱。
13.如權利要求12所述的設備,其中所述檢測器包括響應于在設定數量的連續的數據字增量中的公共位置中定位所述同步標題而在所述數據流中檢測數據塊的對準的邏輯電路。
14.如權利要求12所述的設備,其中所述設定部分包括設定數量的數據比特,并且其中所述齒輪箱包括響應于檢測到所述同步標題的缺乏而用等于所述設定的數據比特數量的量來滑動所述數據流的邏輯電路。
15.如權利要求12所述的設備,其中所述固定的字增量包括66個比特。
16.如權利要求15所述的設備,其中每個數據字增量中的設定部分包括16個數據比特。
17.如權利要求16所述的設備,其中所述同步標題包括設定模式的兩比特。
18.一種設備,包括在設定的數據字增量上接收數據流的裝置;在每個連續的數據字增量的設定部分的公共位置中檢測多個連續的被接收的數據字增量的每一個中的同步標題的存在的裝置;以及響應于在至少一個被接收的數據字增量中的設定部分的公共位置中檢測到所述同步標題的缺乏而用固定的比特數量滑動所述數據流的裝置。
19.如權利要求18所述的設備,所述方法還包括響應于在設定數量的連續的數據字增量中的公共位置中定位所述同步標題,而在所述數據流中檢測數據塊的校準。
20.如權利要求18所述的設備,其中所述設定部分包括設定數量的數據比特,并且其中用固定的比特數量滑動所述數據流包括用等于所述設定的數據比特量的量來滑動所述數據流。
21.如權利要求18所述的設備,其中所述固定的字增量包括66個比特。
22.如權利要求21所述的設備,其中每個數據字增量中的所述設定部分包括16個數據比特。
23.如權利要求22所述的設備,其中所述同步標題包括設定模式的兩比特。
全文摘要
描述了一種系統、方法和設備,用于同步在數據流中被接收的塊數據,其中所述數據流在設定的數據字增量上被接收。在多個連續的數據字增量的每一個中的同步標題可以被在每個連續的固定字增量的設定部分或窗口的公共位置中檢測到。響應于在被接收的數據字增量的設定部分的公共位置中檢測到所速同步標題的缺乏,所述數據流可以被固定的比特數量滑動。
文檔編號H04L7/10GK1514615SQ200310120659
公開日2004年7月21日 申請日期2003年12月16日 優先權日2002年12月16日
發明者D·W·阿德勞, D·H·N·特蘭, D W 阿德勞, N 特蘭 申請人:英特爾公司