TWI383294B - 用以識別資料通訊架構之構件的系統 - Google Patents

用以識別資料通訊架構之構件的系統 Download PDF

Info

Publication number
TWI383294B
TWI383294B TW94113113A TW94113113A TWI383294B TW I383294 B TWI383294 B TW I383294B TW 94113113 A TW94113113 A TW 94113113A TW 94113113 A TW94113113 A TW 94113113A TW I383294 B TWI383294 B TW I383294B
Authority
TW
Taiwan
Prior art keywords
data
communication
data communication
link
block
Prior art date
Application number
TW94113113A
Other languages
English (en)
Other versions
TW200622584A (en
Inventor
Gregg Bernard Lesartre
Mark Edward Shaw
Original Assignee
Hewlett Packard Development Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/056,471 external-priority patent/US7624213B2/en
Application filed by Hewlett Packard Development Co filed Critical Hewlett Packard Development Co
Publication of TW200622584A publication Critical patent/TW200622584A/zh
Application granted granted Critical
Publication of TWI383294B publication Critical patent/TWI383294B/zh

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Debugging And Monitoring (AREA)

Description

用以識別資料通訊架構之構件的系統 相互參考與包含之參考
本申請整體地或部分地係關於下面之美國專利申請序號10/756441案(代理編號:200313774-1/192667)、10/756439案(代理編號:20031780-1/192668)、10/756685案(代理編號:20031378-1/192669)、10/756435案(代理編號:20031784-1/192670)、10/756530案(代理編號:200313948-1/192671)、10/756529案(代理編號:200313969-1/192673)、10/756667案,(代理編號:200313971-2/192674)、10/756600案(代理編號:200313932-1/192678)、11/XXXXXX案(代理編號:200314178-2/204285)、11/XXXXXX案(代理編號:200313783-2/204283)、以及11/XXXXXX案(代理編號:200313781-2/204282),並且其相互參考及這些申請案皆整體地併入此處之參考。
發明領域
本發明係有關用於電腦處理器之資料通訊結構,並且,尤其是,有關採用串接器和解串接器之電腦處理器的通訊結構。
發明背景
能有效地操作且可快速地處理資料之計算結構,一般是比其對應物件較受歡迎。當處理資料時,這些計算結構處理資料之速度可能受限制於一些因素,如包含結構設計、操作情況、所採用構件之品質、以及電腦結構所採用之協定、邏輯以及方法。由於在計算結構之資料通訊結構和協定所引起跨越構件的資料通訊潛伏期也可能衝擊資料被處理之速度。
目前一些資料通訊結構被採用以在電腦結構之配合構件之間通訊資料(例如,在計算環境處理單元之內或在電腦處理器和週邊構件,例如,資料儲存裝置,之間的電腦處理器)。例如,IDE/ATA(整合驅動電子/高級技術附件)和SCSI(小電腦系統界面)兩者皆為硬體驅動器之公用界面(以及一些其他裝置,例如,CD-ROM和DVD驅動器),並且各有許多的版本。其他資料通訊結構包含PCI(週邊構件互連)、AGP(加速圖形接埠)、USB(通用串接匯流排)、串接資料通訊埠、以及併接資料通訊埠。
雖然上面各資料通訊結構在配合構件之間發送資料是有效的,這些結構各具有缺點、性能限制並且可能不是可靠的。明確地說,此類資料通訊結構不是被設計以處理大量的資料通訊,其是以高時脈頻率(例如,數十億Hertz)被通訊。另外地,當通訊衝擊全部資料通訊速率之資料時,PCI、IDE以及SCSI資料通訊結構一般需要經常管理處理計算。換句話說,除了所需的通訊資料之外,另外經常管理之處理資料必須被通訊。因此,在各時脈週期期間較少的整體資料被處理。
反應於較高頻寬資料通訊結構之需求,SERDES(串接器/解串接器)資料通訊結構被產生。SERDES依據一預定機構(例如,八位元/十位元-8b10b編碼)操作以編碼且解碼資料。該被編碼之資料經由一個或多個通訊通道自串接器被通訊至一對應的解串接器以供解碼。SERDES資料通訊結構已被展示可增加配合構件之間的資料通訊頻寬。於本文中,SERDES資料通訊結構被部署作為操作以攜帶配合構件之間的資料之資料匯流排。
發明概要
一種資料通訊結構被提供,其採用串接器和解串接器器以供在計算環境的電腦處理構件之間通訊資料而降低潛伏期。於展示的實施例中,資料通訊結構包含資料界面、串接器以及解串接器。操作時,來自電腦處理構件之資料利用串接器而被接收。配合於資料界面之串接器依據所選擇之編碼協定而編碼用以通訊至解串接器之資料。操作地,該串接器和解串接器(SERDES)配合以形成一通訊鏈路或通訊通道。資料界面允許將自該鏈路各端點跨越該鏈路而被傳送之資料的收集、提供鏈路管理及控制資訊、編碼錯誤保護並且提供邏輯以供處理跨越該通訊通道之資料。
於進一步之實施範例中,展示的資料通訊結構進一步地包含資料緩衝器、一訓練模組、一除錯模組、一錯誤引入模組以及一錯誤檢測模組。這些監視器及/或模組包含一部分之串接器和解串接器。操作時,這些監視器及/或模組配合於包含在串接器和解串接器之資料界面以及指令集,以實現包含(但是不受限於)處理除錯資訊、處理鏈路識別資訊、引入跨越通訊鏈路之錯誤、並且進行錯誤檢測的功能。
下面將進一步地說明本發明的其他特點。
圖式簡單說明
將參考附圖而進一步說明所使用之資料通訊結構及方法,其中:第1圖是依據上述系統和方法實施例之計算環境範例的方塊圖;第2圖是展示配合於資料通訊結構範例之構件範例的方塊圖;第3圖是依據資料通訊結構實施範例之發送核心的方塊圖;第4圖是依據資料通訊結構實施範例之接收核心的方塊圖;第5圖是展示當通訊資料時藉由資料通訊結構範例被進行之處理的流程圖;第6圖是展示當處理除錯資訊時藉由資料通訊結構範例被進行之處理的流程圖;第7圖是展示當處理識別資訊時藉由資料通訊結構範例被進行之處理的流程圖;第8圖是展示當引入錯誤作為部份鏈路測試時藉由資料通訊結構範例被進行之處理的流程圖;以及第9圖是展示當處理錯誤檢測時藉由資料通訊結構範例被進行之處理的流程圖。
較佳實施例之詳細說明 概述:
為提供計算環境所需要的基礎結構頻寬,實施例利用以高頻率操作之串接器/解串接器(SERDES)點對點的資料通訊結構。當施加SERDES資料通訊結構至計算環境之內部資料通訊基礎結構上時,具有一些限制。一般而言,資料通訊中非必要的潛伏期出現自無效率的資料通訊結構管理。SERDES資料通訊結構之管理可利用資料界面被進行,沿著該SERDES通訊鏈路收集供通訊之資料並且提供關於錯誤資料之錯誤檢測以及處理指令。
本發明提供一資料界面以供於SERDES鏈路頻道之使用,其支援發生在資料通訊結構構件之間的雙向操作。於所展示的實施例中,一機構被提供而收集供自鏈路各端點跨越一SERDES鏈路之資料轉移。另外地,該機構可操作以提供涵蓋鏈路管理資訊,而編碼錯誤檢測,並且編碼該資料成為適當的格式。此處展示的實施例所說明之資料界面同時也保持邏輯,其指示SERDES構件在SERDES鏈路構件之間收集、產生、嵌進、及/或通訊特定型式的資料(例如,錯誤檢測資訊、鏈路識別資訊、錯誤資訊以及除錯資訊),以供用於可靠度測試及/或特性描述、除錯、鏈路訓練,並且檢查此類資料是否正確地被收集與被通訊。
展示的SERDES資料通訊結構同時也可採用一資料緩衝器以儲存資料。操作時,該資料緩衝器可被使用以儲存資料,直至正確接收藉由來自SERDES通訊鏈路之接收端點的反應被確認為止。於此情況中,一認可可被嵌進作為在SERDES資料通訊結構的配合構件之間被通訊的部份資料。當一錯誤被SERDES構件檢測時,資料緩衝器可被使用而重送該資料以更正該錯誤。
更進一步地,所展示的實施例可協調多數個併接SERDES通訊通道之使用。SERDES通訊通道可包含在SERDES構件(例如,串接器和解串接器)之間實體鏈路(例如,電纜線)上操作之邏輯通訊鏈路。當進行錯誤檢測和其他操作時,所展示的SERDES資料通訊結構可採用一備用頻道。另外地,此備用頻道可被使用以保持通訊有效性,即使於該等頻道之一的硬體失效之事件中亦然。
展示性計算環境
第1圖展示依據此處說明之系統和方法的計算系統100範例。計算系統100能夠執行多種計算應用180。範例計算系統100主要利用電腦可讀取指令被控制,其可以是此軟體將於何處且如何被儲存或被取出之軟體形式。此軟體可在中央處理單元(CPU)110之內被執行,以導致資料處理系統100起作用。於許多習知的電腦伺服器、工作站以及個人電腦中,中央處理單元110利用被稱為微處理機之微電子晶片CPU被製作。不同於主要CPU 110,輔助處理器115是一選擇性處理器,其進行另外的功能或協助CPU 110。CPU 110可經由互連112被連接到輔助處理器115。一種常見的輔助處理器型式是浮動點輔助處理器,其同時也被稱為數值或數學輔助處理器,其被設計以進行比一般用途之CPU 110更快並且更好的數值計算。
應了解到,雖然一展示的計算環境被展示而包含單一的CPU 110,此說明僅為展示,因計算環境100可包含數個CPU 110。另外地,計算環境100可經由通訊網路160或一些其他資料通訊裝置(未被展示)而利用遠處CPU(未被展示)之資源。
操作時,CPU 110擷取、解碼且執行指令,並且經由電腦之主要資料轉移通道(如系統匯流排105)而傳送資訊至與自其他資源。此一系統匯流排連接計算系統100中之構件並且定義用於資料交換之媒體。系統匯流排105一般包含用以傳送資料之資料線、用以傳送位址之位址線、以及用以傳送中斷及用以操作系統匯流排之控制線。此系統匯流排之一範例是PCI(週邊構件互連)匯流排。現今之一些先進匯流排提供被稱為匯流排仲裁之功能,其利用延伸插卡、控制器、以及CPU 110而調整匯流排之存取。附帶於這些匯流排且仲裁以管理匯流排之裝置被稱為匯流排管理器(bus masters)。匯流排管理器支援同時也允許匯流排之多處理器組態,其是藉由添加包含一處理器和其支援晶片之匯流排管理器轉接器而被產生。
被耦合至系統匯流排105之記憶體裝置包含隨機存取記憶體(RAM)125以及唯讀記憶體(ROM)130。此記憶體包含允許資訊被儲存且被取得之電路。ROM 130一般包含不能被修改之儲存資料。被儲存於RAM 125中之資料可利用CPU 110或其他硬體裝置而被讀取或被改變。存取於RAM 125及/或ROM 130可利用記憶體控制器120而被控制。記憶體控制器120可提供一位址轉譯功能,當指令被執行時,其轉譯虛擬位址成為實體位址。記憶體控制器120同時也可提供一記憶體保護功能,其隔離在系統內之處理程序並且隔離系統處理程序與使用者處理程序。因此,以使用者模式執行之程式通常僅可存取利用其獨有的處理程序虛擬位址空間被映射之記憶體;其不能存取在另一處理程序之虛擬位址空間內之記憶體,除非於處理程序之間共用的記憶體已經被設定。
此外,計算系統100可包含負資自CPU 110至週邊,例如,印表機140、鍵盤145、滑鼠150、以及資料儲存驅動器155之通訊指令的週邊控制器135。
顯示器165,其利用顯示器控制器163被控制,被使用以顯示利用計算系統100被產生之視覺輸出。此視覺輸出可包含文字、圖示、動畫圖形以及視訊。顯示器165可利用CRT為主之視訊顯示器、LCD為主的平面板顯示器、電漿為主的平面顯示器、碰觸式面板、或其他形式的顯示器而被製作。顯示器控制器163包含產生被傳送至顯示器165之視訊信號所需的電子構件。
進一步地,計算系統100可包含網路轉接器170,其可被使用以連接計算系統100至一外接通訊網路160。通訊網路160可電子式提供電腦使用者通訊和轉移軟體之方法以及資訊。另外地,通訊網路160可提供分佈式處理,其包含許多電腦和進行工作時工作量分享或合作努力。應了解到,所展示之網路連接僅是範例且在電腦之間建立一通訊鏈路的其他方法可被使用。
應了解到,範例電腦系統100僅是展示計算環境,於其中上述之系統和方法可操作,且不限制上述之計算環境中的系統和方法之實施例具有不同構件和組態,因本發明上述之概念可被製作於具有各種構件和組態之各種計算環境中。
資料通訊結構:
第2-4圖描述供使用於計算環境範例中之展示的資料通訊結構之方塊圖。該展示的資料通訊結構可被製作為計算環境構件並且可採用SERDES構件。明確地說,第2圖示出展示性資料通訊結構200之方塊圖。如第2圖之展示,資料通訊結構200包含經由實體鏈路220配合於通訊資料230的資料通訊界面模組205以及210。資料界面通訊模組205和210包含至少一個發送核心以及至少一個接收核心。實體鏈路220經由實體連接器225而附帶於資料通訊界面模組205和210。
操作時,範例計算環境(未被展示)配合於資料通訊界面模組205和210以在資料通訊界面模組205和210之間通訊資料。於展示的實施例中,資料通訊界面模組可存在於範例計算環境(未被展示)內之不同的地理位置或可存在作為範例計算環境(未被展示)印刷電路板(PCB)之一部件。如所展示,資料可在資料通訊界面205和210的發送核心和接收核心之間,於一選擇之方向或雙向地被通訊,如實體鏈路220和資料230上箭號232和234之指示。同時也應了解到,被展示之實體鏈路220具有不同線粗度以指示不同的實體鏈路220媒體。
更進一步地,如所展示,破折線方塊215展示資料通訊背板範例之構件。於被提供之實施例中,背板215被展示而具有操作以通訊資料的一對發送-接收核心。明確地說,資料藉由資料通訊界面205之發送核心235被處理以經由實體連接器225和實體鏈路220而通訊至資料通訊界面210之接收核心245。同樣地,資料可藉由資料通訊界面210之發送核心250被處理以供通訊至資料通訊界面205之接收核心240。此外,發送-接收核心組對235、240以及245、250可配合以形成一通訊通道。作為一通訊通道,發送-接收核心組對可被校準並且被訓練以依據一選擇之編碼協定(例如,八位元-十位元(8b10b)編碼)而處理資料。
進一步地,如第2圖所展示,資料230可包含一些封包。明確地說,資料230可包含一檔頭部份和資料封包部分。該資料封包部分可進一步地包含小的資料封包。應了解到,於所提供之展示實施例中,一小的封包可能被視為一資料封包,其是較小於標準尺寸之全尺寸資料封包。操作時,各種資料、控制、訓練、以及頻道管理資訊可在範例資料通訊結構200之上被通訊(如資料230)。
第3圖展示發送核心環境300範例的方塊圖,該圖形揭示其構件以及它們的配合物件。如第3圖所展示,發送核心環境300範例包含自發送核心300-1至發送核心300-n之多數個發送核心。發送核心300-1被展示以包含邏輯區塊,分別地包含自串接器1至串接器n之多數個串接器以及驅動器1至驅動器m之多數個驅動器。另外地,發送核心300-1配合於外接資料通訊構件(未被展示)以得到時脈信號CLK。同時,如所展示地,發送核心300-1也包含邏輯,其保持指令集以指示發送核心300-1之構件(例如,串接器1)依據資料通訊操作而執行功能。發送核心300-1之邏輯同時也可作用以保持一個或多個模組與機構以供在資料通訊操作期間之使用,該模組與機構包含(但是不受限制於)資料緩衝器(未被展示)、除錯模組305、訓練模組310、錯誤引入模組315以及錯誤檢測模組320。
操作時,資料被提供做為至發送核心300-1之一串接器的輸入。該資料依據一選擇之編碼協定(例如,8位元-10位元編碼)被編碼並且被備妥以在一發送核心之輸出頻道上藉由發送核心之一驅動器而通訊至配合之資料通訊構件。該編碼協定可採用CLK信號以在CLK信號所選擇之週期內編碼一些位元。例如,資料A可依據所選擇之編碼協定利用發送核心300-1之串接器1被編碼,並且被備妥以根據由發送核心300-1之邏輯所提供之指令,利用驅動器1通訊而在頻道A之輸出產生被編碼之資料。同樣地,資料B可根據一選擇之編碼協定利用發送核心300-1之串接器2被編碼並且被備妥以在頻道B利用驅動器2通訊而產生被編碼之資料。此編碼程序和資料通訊準備在發送核心環境300的發送核心300-1和其他發送核心之其餘串接器及驅動器被進行。
第4圖展示接收核心環境400範例的方塊圖,該圖形揭示其構件以及它們的配合物件。如第4圖所展示,接收核心400範例包含自接收核心400-1至接收核心400-n之多數個接收核心。接收核心400-1被展示而包含一邏輯區塊,分別地包含自解串接器1至解串接器n的多數個解串接器以及自驅動器1至驅動器m之驅動器。另外地,接收核心400-1配合於一外接資料通訊構件(未被展示)以得到時脈信號CLK。同時,如所展示地,接收核心400-1也包含一邏輯,其保持指令集以指示接收核心400-1構件(例如,解串接器1)依據資料通訊操作而執行其功能。接收核心400-1邏輯同時也可作用以保持一個或多個模組與機構在資料通訊操作期間供使用,其包含(但是不受限制於)資料緩衝器(未被展示)、除錯模組405、訓練模組410、錯誤引入模組415以及錯誤檢測模組420。
操作時,被編碼之資料被提供作為至接收核心400-1之一解串接器的輸入。該資料依據所選擇之解碼協定(例如,10位元-8位元)而被解碼並且被備妥以供一接收核心驅動器通訊至在一接收核心之解串接器輸出之配合資料通訊構件。解碼協定可採用CLK信號以在被選擇之CLK信號週期內解碼一些位元。例如,被編碼之資料A可依據被選擇之解碼協定利用接收核心400-1之解串接器1被解碼,並且被備妥供驅動器1之通訊以依據由接收核心400-1邏輯所提供之指令而產生資料A。同樣地,被編碼之資料B可依據被選擇之解碼協定利用接收核心400-1之解串接器2而被解碼,並且被備妥供驅動器2之通訊以產生資料B。此解碼處理程序和資料通訊預備在發送核心環境400之接收核心400-1和其他接收核心之其餘解串接器和驅動器而被進行。
第3圖和第4圖一起說明通訊通道環境範例,以至於資料被編碼以藉由一個或多個發送核心通訊而供依序地利用一個或多個接收核心而解碼並且處理。雖然已說明分別構件,應了解到,發送核心和接收核心可能存在於個別的通訊構件上(參看第2圖之資料通訊界面205)。此外,發送核心和接收核心可成對地操作以形成一個或多個雙向資料通訊通道。
跨越通訊鏈路之通訊資料:
第5圖展示當建立通訊通道時利用範例資料通訊結構200所進行之處理。如所展示,處理程序自區塊500開始並且前進至區塊505,其中通訊構件被供電以操作。自那裡,處理程序前進至區塊510,其中通訊鏈路被建立在資料通訊結構構件之間。該通訊鏈路接著在區塊515被訓練以形成一通訊通道。接著在區塊520,訓練資料被發送經由通訊通道以測試該通訊通道。接著在區塊525進行檢查以決定該通訊通道測試是否成功。如果其是成功的,則處理程序前進至區塊540,於其中進行檢查以決定是否有資料流經由成功地被測試之通訊通道之上通訊。如果在區塊540,判定沒有資料通訊,則處理程序回復至區塊540之輸入。但是,如果有資料流經由成功地被測試且被訓練之通訊通道上通訊,則處理程序前進至區塊545,其中資料流利用串接器被編碼。該被編碼之資料流接著經由通訊通道之上被通訊以配合在區塊550之解串接器。該資料流接著在區塊555利用解串接器被解碼。接著在區塊560進行檢查以決定資料流之各小資料封包是否成功地被通訊。如果該小資料封包成功地被發送,則處理程序回復至區塊540並且自該處繼續進行。但是,如果小資料封包未成功地被通訊,則處理程序返回至區塊530,其中通訊通道重新被訓練並且自該處繼續進行。
但是,如果在區塊525決定通訊通道測試不是成功的,則處理程序前進至區塊530,其中該通訊鏈路重新被訓練。處理程序自該處繼續前進至區塊535,其中控制資訊在通訊鏈路構件之間被通訊。自該處,處理程序回復至區塊520並且自該處繼續前進。
操作時,所展示之實施例提供訓練序列由通訊鏈路解串接器所管理。明確地說,在解串接器上被選擇之軟體型式暫存器的寫入指示識別後啟始訓練立即被視為完成。此時,資料利用通訊通道之串接器被驅動至鏈路上。於解串接器操作形式中,解串接器保持一個或多個指令集,其指示解串接器檢測鏈路上之活動以發出信號給配合串接器而開始初始化。通訊通道之解串接器和串接器保持至少一個指令集而指示該通道開始啟動。在成功地啟動之後,每一通道自身測試被進行,其結果被收集且被比較。指令集接著指示串接器和解串接器通訊一被選擇之資料樣型,其是解串接器所預期的,其允許解串接器決定聚集以供串接器和解串接器所採用之編碼和解碼協定使用的位元單元。
另外地,第二可辨認的資料樣型被通訊至解串接器,其中解串接器將之視為小的封包資料通訊。藉由設定該小的封包資料通訊,解串接器可操作以使群集中之小封包一起配合於小封包起初之通訊方式。一旦第二資料樣型成功地被通訊且被處理,則控制信號自解串接器被傳送至通訊鏈路之串接器而指示訓練已被完成。依此論點,資料封包可跨越該被訓練之通道被通訊。
此外,所展示之實施例提供如果錯誤發生在通訊鏈路之上,則該鏈路可進行再訓練程序。鏈路再訓練是相似於上述在前述啟動通訊通道構件之外之鏈路訓練。再訓練可利用一些事件(包含,但是不受限制於,跨越通訊鏈路之錯誤識別)而被觸發,或利用接收在鏈路上利用通訊鏈路接收端點被產生之錯誤信號而被觸發。
除錯操作:
第2圖之範例資料通訊結構200同時也能夠傳送除錯資料以供處理及分析。於本文之SERDES資料通訊結構中,資料通訊結構範例的內部設計更明顯可轉譯成為更有效的除錯以及SERDES資料通訊結構設計和製作之確認。於SERDES資料通訊結構中,在除錯操作期間,除錯資料被引導而跨越該結構之各種構件以供處理及分析。當除錯資料跨越該結構而成功地被傳輸時,除錯資訊之適當的發動和卸載發生。
於所提供之實施例中,該除錯資料可能來自一內部除錯資料硬體構件,其包含發送核心(第3圖之300)或接收核心(第4圖之400)之任一部份。除錯資料依據一個或多個指令集而被處理以在範例通訊結構的配合構件之間傳輸該除錯資料。在被提供之實施例中,範例結構可接收具有第一被選擇位元數之除錯資料且組對此除錯資料以產生具有第二被選擇位元數之被修改除錯資料(例如,除錯資料封包)。該成對之除錯資料接著可被緩衝以匹配於通訊鏈路頻率,並且接著跨越該通訊鏈路而被通訊。於接收末端,該成對之除錯資料可被獲得並且被分解為具有該第一被選擇位元數的資料封包。
除錯操作可以包含一種能力,其是利用範例通訊結構的範例通訊鏈路之接收端點以收集鏈路之一般的非除錯處理並且提供全部,或部分之非除錯處理至供依序通訊之內部除錯邏輯(例如,於範例通訊結構之不同範例向外鏈路上被重複之處理資料)。因此,除錯邏輯提供更多的有效處理以及跨越範例資料通訊結構的資料通訊。
另外地,展示的實施例提供,通訊鏈路之發送端點可配對於內部除錯資料硬體構件之交錯週期作為除錯資料封包,或其可能採用與除錯資料一起被傳送之有效指示以匹配自一配合之資料通訊結構構件(例如,鏈路接埠)被傳送的除錯資料。更進一步地,展示的實施例提供,範例資料通訊結構可經由鏈路再訓練啟用而進入除錯操作。在該鏈路訓練序列完成之後,除錯操作立即進行。
第6圖展示當處理除錯資料時,利用範例資料通訊結構200所進行之處理。如所展示,處理開始在區塊600且前進至區塊610,其中具有起始被選擇之位元數(例如,76位元)的除錯資料,被配對以產生具有第二組被選擇位元數(例如,152位元)之除錯資料封包。自該處,在區塊615,除錯資料封包被緩衝以匹配它於通訊鏈路頻率。接著在區塊620,除錯資料封包跨越通訊鏈路被通訊。自該處,除錯資料封包在區塊625於通訊鏈路之接收端點上被獲得並且被處理。
接著在區塊640進行檢查以決定是否有鏈路故障。如果在區塊640之檢查指示鏈路故障,則處理程序前進至區塊645,於其中故障被報告以供用於進一步的行動。處理程序接著前進至區塊660,於其中通訊鏈路重新被訓練。自該處,處理程序回復至區塊610並且自該處繼續。
但是,如果在區塊640決定沒有鏈路故障,則處理程序前進至區塊635,於其中除錯資料封包被分解成為一種形式,其中除錯資料具有其原始地被選擇之位元數。自該處,處理前進至區塊650以繼續資料之處理。處理程序接著在區塊655終止。
鏈路識別資訊:
範例資料通訊結構200同時也能夠傳送鏈路識別資訊。展示的實施例操作經由使用鏈路識別資訊以允許範例通訊資料結構200實體通訊鏈路之確認、批准、以及映射。
於本文之SERDES資料通訊結構中,許多鏈路一起被使用於在資料通訊結構範例內之各個點對點的連接。於展示的實施例中,SERDES資料通訊結構之通訊節點可被連接成為橫杆式之硬體構件,其便利於跨越SERDES資料通訊結構之資料通訊。這些實體連接指示且指定範例資料通訊結構的操作。為保證這些連接是正確的,及/或建立一連接映圖,關於連接之了解是需要的。
展示的實施例提供,範例資料通訊結構的通訊鏈路可在使用之前先被訓練。在訓練期間,範例資料通訊結構確認資料通訊結構各種配合構件之時脈定位。使用時脈定位資訊,資料封包可自通訊鏈路之發送端點至接收端點被校準而確保資料通訊之結合性。
展示的實施例進一步地提供,操作時,位置識別符被產生並且自範例通訊鏈路的發送端點被通訊至通訊鏈路之接收端點而提供關於通訊鏈路之發送端點的位置資訊(例如,映射和連接)。於展示的實施例中,該位置識別符可依被選擇之區間被嵌進於訓練序列中,或訓練步驟中,但是應在鏈路被釋放以供常態操作之前。該被嵌進之位置識別符依據接收端點邏輯(例如,指令集和命令),而在該訓練序列期間,被接收端點所獲得,而安置該位置識別信號於儲存構件中以供依序的處理。於本文中,資料通訊結構範例可採用一個或多個指令集以處理位置識別資訊(例如,經由內部或外部軟體之使用)而產生資料通訊結構連接和連接關係之架構型態。
明確地說,經由通訊鏈路發送端點被傳送之資料樣型(例如,位置識別符)可能是利用硬體邏輯之硬接線樣型及/或是經由指令集(例如,軟體)之可程控樣型或可利用外部來源(例如,配合之硬體構件)被提供。展示之實施例提供,位置識別符資料欄可以是被負載進入接收端之可程控類型,其是藉由自可利用一個或多個場可程式閘陣列(FPGA)(未被展示)而被驅動之外接輸入通訊埠轉移該資料樣型(例如,位置識別符)。以此可程控型式,該資料樣型可能包含關於剛好超越於位置之實體連接的另外資訊,包含(但是不受限制於)硬體型式(例如,晶片型式)、鏈路頻率以及鏈路狀態。於狀態資訊之本文中,此類資訊可包含(但是不受限制於)重置進展、接埠狀態、組態資訊或錯誤狀態。
第7圖展示當傳送鏈路識別資訊時,藉由範例資料通訊結構200所進行之處理。如所展示,處理開始於區塊700並且前進至區塊705,其中資料通訊結構啟動通訊鏈路之訓練。自該處,處理程序前進至區塊710,其中一位置識別符被得到,其確認範例通訊鏈路之發送端點至接收端點的相對位置。在區塊715,位置識別符被嵌進作為通訊鏈路訓練序列之部份。處理接著前進至區塊720,其中該位置識別符被通訊鏈路接收端點所獲得且被處理。在區塊725,位置識別符數值利用通訊鏈路接收端點而被比較於一預期數值。
接著在區塊830進行檢查,以決定於位置識別符發送中是否有任何錯誤。如果在區塊830判定沒有錯誤,則處理程序前進至區塊735,其中在區塊745訓練被完成並且資料處理被進行。
但是,如果在區塊730被判定有錯誤,則處理程序前進至區塊750,其中該錯誤被報告。該錯誤接著在區塊755重新被解決。自該處,處理前進至區塊705並且自該處繼續。
錯誤引入:
第2圖的範例資料通訊結構200同時也能夠引入被選擇之錯誤作為通訊鏈路測試之部份。於SERDES資料通訊結構本文中,展示的實施例確認評估下之系統中錯誤情況功能(例如,通訊鏈路測試)。
SERDES資料通訊結構提供,在通訊鏈路接收端點被接收之資料的許多不同正確性檢查。不同活動依據錯誤性質被預期,並且在通訊鏈路接收端點,不同的資訊可以是所預期的。展示的實施例明確地說明多種被引入的錯誤事件,其是藉由被發現於通訊鏈路發送端點上之除錯邏輯(例如,第3圖之315)信號而被觸發。例如,此類錯誤事件可包含(但是不受限制於)簡單之單位元錯誤、略過或增加小的資料封包、以及切斷通訊鏈路頻道。
另外地,展示的實施例提供,引入多於一個錯誤作為測試序列之部份。於本文中,一依序的錯誤可被引入,因此其與第一組錯誤同時地出現,或當第二組觸發發生時方出現。藉由此能力,多數個錯誤事件能夠被測試。另外地,展示的實施例可允許各個錯誤型式之持續規格。這可能是自一個至許多個週期,或永久(例如,直至情況自通訊鏈路被除去為止)。就其本身而論,此展示的實施例能夠處理偶發和持續式的失效。此外,當錯誤觸發發生時,該展示的實施例可獲得於通訊鏈路發送端點上緩衝器中訛誤的小資料封包(例如,第3圖之300)。因此,一參考可以可被產生以比較於在鏈路接收端點被獲得之錯誤記錄而確認所預期的通訊鏈路行動。
第8圖展示當引入錯誤作為通訊鏈路測試之部份時,利用第2圖之範例資料通訊結構200所進行之處理。如所展示,處理開始於區塊800並且前進至區塊805,於其中通訊鏈路被建立。自該處,處理前進至區塊810,於其中所產生之一個或多個錯誤(例如,失控、時間經過、不正確之小資料封包等等)被引進自通訊鏈路發送端點被通訊至接收端點之資料中。處理接著前進至區塊815,於其中被產生之錯誤被引進資料中。該被修改之資料接著在區塊820跨越該通訊鏈路而被通訊。接著在區塊825,錯誤在通訊鏈路接收端點上被獲得。該被獲得之錯誤接著在區塊830被分析以比較於初始被引入之錯誤。依據該比較,通訊鏈路操作在區塊835被核對。接著在區塊840進行檢查以判定鏈路是否如所預期地操作。如果在區塊840之檢查指示通訊鏈路是如所預期地操作,則處理程序終止在區塊850。
但是,如果在區塊840,判定鏈路不是正確地操作,則處理程序前進至區塊845,於其中通訊鏈路之故障被分析。自該處,處理終止於區塊850。
錯誤檢測:
第2圖之範例資料通訊結構200同時也能夠有效地檢測資料通訊處理程序之錯誤,而不引進潛伏期至通訊鏈路中。於SERDES資料通訊結構之本文中,展示的實施例能夠再嚐試不能精確地跨越SERDES通訊鏈路而傳輸之資料轉移。
於SERDES資料通訊結構中,資料封包可被追蹤並且被監控以決定成功的發送。於本文中,越過鏈路之被選擇小資料封包之標幟被監控以決定自通訊鏈路發送端點至通訊鏈路接收端點之成功的發送。在成功的發送之後,認可訊息可立即自通訊鏈路接收端點被傳送至通訊鏈路發送端點以指示一成功的發送。如先前之說明,處理可跨越通訊鏈路被傳送作為小資料封包之一序列:一個具有路由與處理之檔頭小資料封包,以及處理型式資訊之後緊接著完成資料轉移所需之許多另外的小資料封包。於展示的實施例中,該檔頭可包含目前之小資料封包標籤。
操作時,鏈路接收端點檢查包含於檔頭封包中之標籤並且如果所預期的標籤未被發現,則標示鏈路錯誤。就其本身而論,當預期為檔頭之下一個小資料封包不具有正確之標籤時,由於捨去或重複小資料封包之錯誤將被發現。但是,直至全部處理被完成為止,錯誤可能不被檢測時,可能產生無效率性。
所展示的實施例提供,包含隱式標籤的位元於被使用以保護小資料封包的位元錯誤之同位欄的能力。操作時,該標籤位元被包含於被計算以檢測位元錯誤之一不同的同位位元中。就其本身而論,被遺失的或被重複的小資料封包將導致通訊鏈路接收端點上之同位計算錯誤。所展示的實施例,在檢測一同位錯誤之後,可立即要求小資料封包的再發送並且同時也可以防止訛誤的資料自通訊鏈路接收端點被傳送。
第9圖展示當檢測資料通訊處理之錯誤時,利用第2圖範例資料通訊結構200所進行之處理。如所展示,處理開始於區塊900並且前進至區塊905,於其中一通訊鏈路被建立。自該處,處理程序前進至區塊910,於其中隱式資料標籤之標籤位元被產生。該被產生之標籤位元接著在區塊915被編碼(例如,計算攜帶資料越過頻道的八個同位位元,其中,各個同位位元是以於鏈路上被傳送資料之8位元之第1,2,3,…8位元為主的通訊)成為通訊鏈路發送端點上之同位位元計算。自該處,處理前進至區塊920,於其中具有被編碼標籤位元作為同位位元之部份之資料跨越該通訊鏈路而被通訊。該資料在通訊鏈路接收端點被接收並且該同位資料在區塊925利用接收端點被計算。接著在區塊930進行檢查以決定在被發送之同位計算以及該被接收之同位計算中是否有任何錯誤。如果在區塊930判定沒有錯誤,則處理程序前進至區塊940,於其中該資料通訊處理繼續。處理程序接著終止於區塊945。
但是,如果在區塊930,判定有錯誤,則處理程序前進至區塊940,於其中資料再發送要求利用通訊鏈路接收端點被傳送至通訊鏈路發送端點。處理程序接著返回至區塊910並且繼續。
簡言之,上述之裝置和方法提供一種資料通訊結構,其採用於減低資料潛伏期之計算環境通訊結構。但是,應了解到,本發明可有各種修改以及不同的構造。本發明是不限於此處說明之特定構造。相對地,本發明是有意地涵蓋所有的修改、不同的構造、以及在本發明範圍和精神之內之等效者。
同時也應注意到,本發明可被製作於多種電腦環境(包含非無線和無線電腦兩環境)、部份的計算環境、以及真實世界環境中。上述之各種技術可被製作於硬體或軟體中,或其兩者之組合中。最好是,該技術被製作於保持可程控電腦之計算環境中,該可程控電腦包含一處理器、一可利用該處理器讀取之儲存媒體(包含依電性和非依電性記憶體及/或儲存元件)、至少一輸入裝置、以及至少一輸出裝置。配合於各種指令集之計算硬體邏輯被應用至資料以進行上述之功能並且產生輸出資訊。該輸出資訊被施加至一個或多個輸出裝置。被範例計算硬體所使用之程式可以各種程式語言(其包含高位準程序或物件導向之程式語言)而最佳地被製作,以與電腦系統通訊。如果需要的話,此處所說明之裝置和方法可以組合或機器語言被製作。於任何情況情況中,該語言可以是被編譯或被釋譯之語言。此電腦程式最好是各被儲存於儲存媒體或裝置(例如,ROM或磁碟)上,其是可利用一般或特殊用途之可程控電腦被讀取,當該儲存媒體或裝置利用電腦被讀取時,其可組態和操作該電腦以進行上述之步驟。該裝置同時也可考慮被製作為電腦可讀取儲存媒體,利用電腦程式被組態,其中因此被組態之儲存媒體導致電腦以特定和預定方式操作。
雖然上面已詳細說明本發明實施範例,熟習本技術者應明白,本發明實施範例可有許多另外的修改而實質上不脫離本發明的新穎技術和優點。因此,這些和所有的此等修改將包含於本發明範圍之內。本發明可藉由下面的申請專利範圍而較佳地被定義。
100...計算系統
105...系統匯流排
110...電腦中央處理單元
112...互連
115...輔助處理器
120...記憶體控制器
125...隨機存取記憶體(RAM)
130...唯讀記憶體(ROM)
135...週邊控制器
140...印表機
145...鍵盤
150...滑鼠
155...資料儲存驅動器
160...通訊網路
163...顯示器控制器
165...顯示器
170...網路轉接器
180...計算應用
200...資料通訊結構
205...資料通訊界面模組
210...資料通訊界面模組
215...背板
220...實體鏈路
225...實體連接器
230...通訊資料
234...發送方向
235、240...發送接收核心組對
245、250...發送接收核心組對
300...發送核心環境
305...除錯模組
310...訓練模組
315...錯誤引入模組
320...錯誤檢測模組
400...接收核心
405...除錯模組
410...訓練模組
415...錯誤引入模組
420...錯誤檢測模組
第1圖是依據上述系統和方法實施例之計算環境範例的方塊圖;第2圖是展示配合於資料通訊結構範例之構件範例的方塊圖;第3圖是依據資料通訊結構實施範例之發送核心的方塊圖;第4圖是依據資料通訊結構實施範例之接收核心的方塊圖;第5圖是展示當通訊資料時藉由資料通訊結構範例被進行之處理的流程圖;第6圖是展示當處理除錯資訊時藉由資料通訊結構範例被進行之處理的流程圖;第7圖是展示當處理識別資訊時藉由資料通訊結構範例被進行之處理的流程圖;第8圖是展示當引入錯誤作為部份鏈路測試時藉由資料通訊結構範例被進行之處理的流程圖;以及第9圖是展示當處理錯誤檢測時藉由資料通訊結構範例被進行之處理的流程圖。
200...資料通訊結構
205...資料通訊界面模組
210...資料通訊界面模組
215...背板
220...實體鏈路
225...實體連接器
230...通訊資料
234...發送方向
235、240...發送接收核心組對
245、250...發送接收核心組對

Claims (11)

  1. 一種用以識別一資料通訊架構之構件的系統,該系統包含:一訓練模組,其操作以依據一訓練序列而組配該資料通訊架構之該等構件;一位置識別符,其包含該訓練序列之一部份,以指示該資料通訊架構之至少一個第一構件相對於該資料通訊架構之一個第二構件之實體和虛擬位置;以及具有一發射端點及一接收端點之一通訊鏈路,其操作以跨越該資料通訊架構之該等構件而傳送該位置識別符;其中該發射端點及該接收端點之其中之一包括該第一構件,且該發射端點及該接收端點之另外一個則包括該第二構件。
  2. 如申請專利範圍第1項之系統,其進一步地包含至少一指令集以提供指示至該訓練模組而嵌進該位置識別符作為該訓練序列之部份。
  3. 如申請專利範圍第2項之系統,其中該通訊鏈路包含一串列化器和一解串列化器之任一者。
  4. 如申請專利範圍第3項之系統,其中該訓練模組包含該串列化器之一部份。
  5. 如申請專利範圍第4項之系統,其中該訓練模組包含該解串列化器之一部份。
  6. 如申請專利範圍第1項之系統,其中該位置識別符在該 通訊鏈路之一發送端點產生。
  7. 如申請專利範圍第1項之系統,其中跨越該通訊鏈路傳送之該位置識別符在該通訊鏈路之一接收端點被獲得。
  8. 如申請專利範圍第7項之系統,其中該被獲得之位置識別符在該通訊鏈路之該接收端點與一選定數值相比較。
  9. 如申請專利範圍第8項之系統,其中該通訊鏈路之該接收端點包含於該訓練模組所提供以識別一錯誤之一組預期數值。
  10. 如申請專利範圍第9項之系統,其進一步地包含提供指示至該通訊鏈路之該接收端點以處理一被識別之錯誤之一指令集。
  11. 如申請專利範圍第10項之系統,其中當識別到一個錯誤時,該通訊鏈路之該接收端點產生一個報告。
TW94113113A 2004-05-25 2005-04-25 用以識別資料通訊架構之構件的系統 TWI383294B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US57427104P 2004-05-25 2004-05-25
US11/056,471 US7624213B2 (en) 2005-02-11 2005-02-11 Passing identification information

Publications (2)

Publication Number Publication Date
TW200622584A TW200622584A (en) 2006-07-01
TWI383294B true TWI383294B (zh) 2013-01-21

Family

ID=50023229

Family Applications (1)

Application Number Title Priority Date Filing Date
TW94113113A TWI383294B (zh) 2004-05-25 2005-04-25 用以識別資料通訊架構之構件的系統

Country Status (1)

Country Link
TW (1) TWI383294B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI567547B (zh) * 2015-04-02 2017-01-21 三菱電機股份有限公司 冗餘化系統及通信單元
US11531475B2 (en) 2015-09-25 2022-12-20 Intel Corporation Processors, methods and systems to allow secure communications between protected container memory and input/output devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5420893A (en) * 1989-02-16 1995-05-30 International Business Machines Corporation Asynchronous data channel for information storage subsystem
US20020138675A1 (en) * 2001-03-23 2002-09-26 International Business Machines Corporation Processor for determining physical lane skew order
TW514738B (en) * 2000-08-09 2002-12-21 Teradyne Inc Capturing and evaluating high speed data streams
US20030120852A1 (en) * 2001-12-20 2003-06-26 Mcconnell James A. Multiple port allocation and configurations for different port operation modes on a host
US20040078494A1 (en) * 2002-09-25 2004-04-22 Lennox Edward Alex System and apparatus for implementing devices interfacing higher speed networks using lower speed network components

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5420893A (en) * 1989-02-16 1995-05-30 International Business Machines Corporation Asynchronous data channel for information storage subsystem
TW514738B (en) * 2000-08-09 2002-12-21 Teradyne Inc Capturing and evaluating high speed data streams
US20020138675A1 (en) * 2001-03-23 2002-09-26 International Business Machines Corporation Processor for determining physical lane skew order
US6625675B2 (en) * 2001-03-23 2003-09-23 International Business Machines Corporation Processor for determining physical lane skew order
US20030120852A1 (en) * 2001-12-20 2003-06-26 Mcconnell James A. Multiple port allocation and configurations for different port operation modes on a host
US20040078494A1 (en) * 2002-09-25 2004-04-22 Lennox Edward Alex System and apparatus for implementing devices interfacing higher speed networks using lower speed network components

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI567547B (zh) * 2015-04-02 2017-01-21 三菱電機股份有限公司 冗餘化系統及通信單元
US11531475B2 (en) 2015-09-25 2022-12-20 Intel Corporation Processors, methods and systems to allow secure communications between protected container memory and input/output devices
TWI808342B (zh) * 2015-09-25 2023-07-11 美商英特爾股份有限公司 用於容許安全通訊之積體電路、方法及電腦系統

Also Published As

Publication number Publication date
TW200622584A (en) 2006-07-01

Similar Documents

Publication Publication Date Title
US7231560B2 (en) Apparatus and method for testing motherboard having PCI express devices
US8443126B2 (en) Hot plug process in a distributed interconnect bus
US7721159B2 (en) Passing debug information
US7461321B2 (en) Error detection
JP3996928B2 (ja) 破損データを処理する方法
US20080163005A1 (en) Error injection in pci-express devices
CN107122277A (zh) 基于pcie协议分析仪的pcieras注错测试***及方法
US20070179733A1 (en) Methods and apparatus for testing a link between chips
US7436777B2 (en) Failed link training
CN115685785A (zh) 通用总线模型和仿真测试的方法
CN1703027B (zh) 传递调试信息
FR2865089A1 (fr) Procede pour communiquer des donnees a l'aide de tampons de donnees de relance
TWI383294B (zh) 用以識別資料通訊架構之構件的系統
US7363402B2 (en) Data communications architecture employing parallel SERDES channels
US20060184707A1 (en) Error injection
WO2020259339A1 (zh) 总线监控装置及方法、存储介质、电子装置
KR101086599B1 (ko) 데이터 통신의 갭을 처리하는 방법
US7672222B2 (en) Link failures
JP4455393B2 (ja) プログラマブルロジックコントローラ
US7624213B2 (en) Passing identification information
US7310762B2 (en) Detection of errors
US7613958B2 (en) Error detection in a system having coupled channels
CN104699418B (zh) 对安全数码卡进行异常恢复的方法及设备
CN116775390B (zh) 接口协议转换验证***及方法、电子设备及存储介质
TWI381174B (zh) 新世代周邊連接介面的測試系統及其測試方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees