TWI383294B - System to identify components of a data communications architecture - Google Patents

System to identify components of a data communications architecture 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
Chinese (zh)
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/en
Application granted granted Critical
Publication of TWI383294B publication Critical patent/TWI383294B/en

Links

Landscapes

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

Description

用以識別資料通訊架構之構件的系統System for identifying components of a data communication architecture 相互參考與包含之參考Mutual reference and inclusion reference

本申請整體地或部分地係關於下面之美國專利申請序號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),並且其相互參考及這些申請案皆整體地併入此處之參考。The present application is in whole or in part related to the following U.S. Patent Application Serial No. 10/756,441 (Attorney No.: 200313774-1/192667), 10/756,439 (Attorney No.: 20031780-1/192668), 10/756,685 ( Agent number: 20031378-1/192669), 10/756435 case (agent number: 20031784-1/192670), 10/756530 case (agent number: 200313948-1/192671), 10/756529 case (agent number: 200313969- 1/192673), 10/756667, (Agent No.: 200313971-2/192674), 10/756600 (Agent No.: 200313932-1/192678), 11/XXXXXX (Agent No.: 200314178-2/204285) , 11/XXXXXX (Attachment No.: 200313783-2/204283), and 11/XXXXXX (Attachment No.: 200313781-2/204282), the disclosure of each of which is hereby incorporated by reference.

發明領域Field of invention

本發明係有關用於電腦處理器之資料通訊結構,並且,尤其是,有關採用串接器和解串接器之電腦處理器的通訊結構。The present invention relates to a data communication structure for a computer processor, and, more particularly, to a communication structure of a computer processor employing a serializer and a deserializer.

發明背景Background of the invention

能有效地操作且可快速地處理資料之計算結構,一般是比其對應物件較受歡迎。當處理資料時,這些計算結構處理資料之速度可能受限制於一些因素,如包含結構設計、操作情況、所採用構件之品質、以及電腦結構所採用之協定、邏輯以及方法。由於在計算結構之資料通訊結構和協定所引起跨越構件的資料通訊潛伏期也可能衝擊資料被處理之速度。A computational structure that can operate efficiently and quickly process data is generally more popular than its counterpart. When processing data, the speed at which these computational structures process data may be limited by factors such as structural design, operational conditions, the quality of the components employed, and the protocols, logic, and methods employed by the computer architecture. The data communication latency of the spanning components caused by the data communication structure and agreement of the computing structure may also impact the speed at which the data is processed.

目前一些資料通訊結構被採用以在電腦結構之配合構件之間通訊資料(例如,在計算環境處理單元之內或在電腦處理器和週邊構件,例如,資料儲存裝置,之間的電腦處理器)。例如,IDE/ATA(整合驅動電子/高級技術附件)和SCSI(小電腦系統界面)兩者皆為硬體驅動器之公用界面(以及一些其他裝置,例如,CD-ROM和DVD驅動器),並且各有許多的版本。其他資料通訊結構包含PCI(週邊構件互連)、AGP(加速圖形接埠)、USB(通用串接匯流排)、串接資料通訊埠、以及併接資料通訊埠。Some data communication structures are currently employed to communicate data between mating components of a computer structure (eg, within a computing environment processing unit or a computer processor between a computer processor and peripheral components, such as data storage devices). . For example, both IDE/ATA (Integrated Drive Electronics/Advanced Technology Attachment) and SCSI (Small Computer System Interface) are common interfaces for hardware drives (and some other devices, such as CD-ROM and DVD drives), and each There are many versions. Other data communication structures include PCI (peripheral component interconnect), AGP (accelerated graphics interface), USB (universal serial bus), serial data communication, and parallel data communication.

雖然上面各資料通訊結構在配合構件之間發送資料是有效的,這些結構各具有缺點、性能限制並且可能不是可靠的。明確地說,此類資料通訊結構不是被設計以處理大量的資料通訊,其是以高時脈頻率(例如,數十億Hertz)被通訊。另外地,當通訊衝擊全部資料通訊速率之資料時,PCI、IDE以及SCSI資料通訊結構一般需要經常管理處理計算。換句話說,除了所需的通訊資料之外,另外經常管理之處理資料必須被通訊。因此,在各時脈週期期間較少的整體資料被處理。While the above various data communication structures are effective in transmitting data between mating components, these structures each have disadvantages, performance limitations, and may not be reliable. Specifically, such data communication structures are not designed to handle large amounts of data communication, which are communicated at high clock frequencies (eg, billions of Hertz). In addition, when communications impact data on all data communication rates, PCI, IDE, and SCSI data communication structures typically require frequent management processing calculations. In other words, in addition to the required communication materials, the frequently managed processing data must be communicated. Therefore, less overall data is processed during each clock cycle.

反應於較高頻寬資料通訊結構之需求,SERDES(串接器/解串接器)資料通訊結構被產生。SERDES依據一預定機構(例如,八位元/十位元-8b10b編碼)操作以編碼且解碼資料。該被編碼之資料經由一個或多個通訊通道自串接器被通訊至一對應的解串接器以供解碼。SERDES資料通訊結構已被展示可增加配合構件之間的資料通訊頻寬。於本文中,SERDES資料通訊結構被部署作為操作以攜帶配合構件之間的資料之資料匯流排。In response to the need for higher bandwidth data communication structures, a SERDES (serulator/de-serial) data communication structure is generated. The SERDES operates in accordance with a predetermined mechanism (e.g., octet/tenset-8b10b encoding) to encode and decode the data. The encoded data is communicated from the serializer via a one or more communication channels to a corresponding deserializer for decoding. The SERDES data communication structure has been demonstrated to increase the bandwidth of data communication between the mating components. In this context, the SERDES data communication structure is deployed as a data bus that operates to carry data between the mating components.

發明概要Summary of invention

一種資料通訊結構被提供,其採用串接器和解串接器器以供在計算環境的電腦處理構件之間通訊資料而降低潛伏期。於展示的實施例中,資料通訊結構包含資料界面、串接器以及解串接器。操作時,來自電腦處理構件之資料利用串接器而被接收。配合於資料界面之串接器依據所選擇之編碼協定而編碼用以通訊至解串接器之資料。操作地,該串接器和解串接器(SERDES)配合以形成一通訊鏈路或通訊通道。資料界面允許將自該鏈路各端點跨越該鏈路而被傳送之資料的收集、提供鏈路管理及控制資訊、編碼錯誤保護並且提供邏輯以供處理跨越該通訊通道之資料。A data communication architecture is provided that employs a serializer and a deserializer for communicating data between computer processing components of a computing environment to reduce latency. In the illustrated embodiment, the data communication structure includes a data interface, a serializer, and a deserializer. During operation, data from the computer processing component is received using the serializer. The splicer coupled to the data interface encodes the data for communication to the deserializer in accordance with the selected coding protocol. In operation, the splicer and the deserializer (SERDES) cooperate to form a communication link or communication channel. The data interface allows for the collection of data transmitted across the link from the end of the link, provides link management and control information, code error protection, and provides logic for processing data across the communication channel.

於進一步之實施範例中,展示的資料通訊結構進一步地包含資料緩衝器、一訓練模組、一除錯模組、一錯誤引入模組以及一錯誤檢測模組。這些監視器及/或模組包含一部分之串接器和解串接器。操作時,這些監視器及/或模組配合於包含在串接器和解串接器之資料界面以及指令集,以實現包含(但是不受限於)處理除錯資訊、處理鏈路識別資訊、引入跨越通訊鏈路之錯誤、並且進行錯誤檢測的功能。In a further embodiment, the data communication structure shown further includes a data buffer, a training module, a debug module, an error introduction module, and an error detection module. These monitors and/or modules include a portion of the splicer and splicer. In operation, the monitors and/or modules are coupled to the data interface and the instruction set included in the serializer and the deserializer to implement (but are not limited to) processing debug information, processing link identification information, Introduces errors across communication links and performs error detection.

下面將進一步地說明本發明的其他特點。Further features of the invention are further described below.

圖式簡單說明Simple illustration

將參考附圖而進一步說明所使用之資料通訊結構及方法,其中:第1圖是依據上述系統和方法實施例之計算環境範例的方塊圖;第2圖是展示配合於資料通訊結構範例之構件範例的方塊圖;第3圖是依據資料通訊結構實施範例之發送核心的方塊圖;第4圖是依據資料通訊結構實施範例之接收核心的方塊圖;第5圖是展示當通訊資料時藉由資料通訊結構範例被進行之處理的流程圖;第6圖是展示當處理除錯資訊時藉由資料通訊結構範例被進行之處理的流程圖;第7圖是展示當處理識別資訊時藉由資料通訊結構範例被進行之處理的流程圖;第8圖是展示當引入錯誤作為部份鏈路測試時藉由資料通訊結構範例被進行之處理的流程圖;以及第9圖是展示當處理錯誤檢測時藉由資料通訊結構範例被進行之處理的流程圖。The data communication structure and method used will be further described with reference to the accompanying drawings, wherein: FIG. 1 is a block diagram showing an example of a computing environment according to the above system and method embodiment; FIG. 2 is a block diagram showing an example of a data communication structure. The block diagram of the example; the third diagram is a block diagram of the transmission core according to the implementation example of the data communication structure; the fourth diagram is a block diagram of the receiving core according to the implementation example of the data communication structure; and FIG. 5 is a diagram showing the communication core according to the implementation example; A flowchart of the processing of the data communication structure example; FIG. 6 is a flow chart showing the processing performed by the data communication structure example when processing the debugging information; and FIG. 7 is a diagram showing the data when processing the identification information. A flow chart for processing a communication structure example; FIG. 8 is a flow chart showing processing performed by an example of a data communication structure when an error is introduced as a partial link test; and FIG. 9 is a diagram showing processing error detection A flow chart that is processed by an example of a data communication structure.

較佳實施例之詳細說明Detailed description of the preferred embodiment 概述:Overview:

為提供計算環境所需要的基礎結構頻寬,實施例利用以高頻率操作之串接器/解串接器(SERDES)點對點的資料通訊結構。當施加SERDES資料通訊結構至計算環境之內部資料通訊基礎結構上時,具有一些限制。一般而言,資料通訊中非必要的潛伏期出現自無效率的資料通訊結構管理。SERDES資料通訊結構之管理可利用資料界面被進行,沿著該SERDES通訊鏈路收集供通訊之資料並且提供關於錯誤資料之錯誤檢測以及處理指令。To provide the infrastructure bandwidth required for a computing environment, embodiments utilize a serial-to-point data communication architecture that operates at high frequencies with a serializer/deserializer (SERDES). There are some limitations when applying the SERDES data communication structure to the internal data communication infrastructure of the computing environment. In general, the non-essential incubation period in data communication arises from inefficient data communication structure management. Management of the SERDES data communication structure can be performed using the data interface, collecting information for communication along the SERDES communication link and providing error detection and processing instructions regarding the error data.

本發明提供一資料界面以供於SERDES鏈路頻道之使用,其支援發生在資料通訊結構構件之間的雙向操作。於所展示的實施例中,一機構被提供而收集供自鏈路各端點跨越一SERDES鏈路之資料轉移。另外地,該機構可操作以提供涵蓋鏈路管理資訊,而編碼錯誤檢測,並且編碼該資料成為適當的格式。此處展示的實施例所說明之資料界面同時也保持邏輯,其指示SERDES構件在SERDES鏈路構件之間收集、產生、嵌進、及/或通訊特定型式的資料(例如,錯誤檢測資訊、鏈路識別資訊、錯誤資訊以及除錯資訊),以供用於可靠度測試及/或特性描述、除錯、鏈路訓練,並且檢查此類資料是否正確地被收集與被通訊。The present invention provides a data interface for use with the SERDES link channel that supports bidirectional operation between data communication fabric components. In the illustrated embodiment, an organization is provided to collect data transfers for each endpoint of the link across a SERDES link. Additionally, the mechanism is operable to provide coverage link management information, while encoding error detection, and encoding the data into an appropriate format. The data interface illustrated by the embodiments presented herein also maintains logic that instructs SERDES components to collect, generate, embed, and/or communicate specific types of data between SERDES link components (eg, error detection information, chains) Road identification information, error information, and debug information) for reliability testing and/or characterization, debugging, link training, and checking whether such data is properly collected and communicated.

展示的SERDES資料通訊結構同時也可採用一資料緩衝器以儲存資料。操作時,該資料緩衝器可被使用以儲存資料,直至正確接收藉由來自SERDES通訊鏈路之接收端點的反應被確認為止。於此情況中,一認可可被嵌進作為在SERDES資料通訊結構的配合構件之間被通訊的部份資料。當一錯誤被SERDES構件檢測時,資料緩衝器可被使用而重送該資料以更正該錯誤。The SERDES data communication structure shown can also use a data buffer to store data. In operation, the data buffer can be used to store data until it is properly received by the response from the receiving endpoint of the SERDES communication link. In this case, an approval can be embedded as part of the communication between the mating components of the SERDES data communication structure. When an error is detected by the SERDES component, the data buffer can be used to resend the data to correct the error.

更進一步地,所展示的實施例可協調多數個併接SERDES通訊通道之使用。SERDES通訊通道可包含在SERDES構件(例如,串接器和解串接器)之間實體鏈路(例如,電纜線)上操作之邏輯通訊鏈路。當進行錯誤檢測和其他操作時,所展示的SERDES資料通訊結構可採用一備用頻道。另外地,此備用頻道可被使用以保持通訊有效性,即使於該等頻道之一的硬體失效之事件中亦然。Still further, the illustrated embodiment can coordinate the use of a plurality of parallel SERDES communication channels. The SERDES communication channel can include a logical communication link operating on a physical link (eg, a cable) between SERDES components (eg, a serializer and a deserializer). When performing error detection and other operations, the SERDES data communication structure shown may use an alternate channel. Additionally, this alternate channel can be used to maintain communication effectiveness even in the event of a hardware failure of one of the channels.

展示性計算環境Display computing environment

第1圖展示依據此處說明之系統和方法的計算系統100範例。計算系統100能夠執行多種計算應用180。範例計算系統100主要利用電腦可讀取指令被控制,其可以是此軟體將於何處且如何被儲存或被取出之軟體形式。此軟體可在中央處理單元(CPU)110之內被執行,以導致資料處理系統100起作用。於許多習知的電腦伺服器、工作站以及個人電腦中,中央處理單元110利用被稱為微處理機之微電子晶片CPU被製作。不同於主要CPU 110,輔助處理器115是一選擇性處理器,其進行另外的功能或協助CPU 110。CPU 110可經由互連112被連接到輔助處理器115。一種常見的輔助處理器型式是浮動點輔助處理器,其同時也被稱為數值或數學輔助處理器,其被設計以進行比一般用途之CPU 110更快並且更好的數值計算。FIG. 1 shows an example of a computing system 100 in accordance with the systems and methods described herein. Computing system 100 is capable of executing a variety of computing applications 180. The example computing system 100 is primarily controlled using computer readable instructions, which may be in the form of software where the software will be stored and retrieved. This software can be executed within central processing unit (CPU) 110 to cause data processing system 100 to function. In many conventional computer servers, workstations, and personal computers, central processing unit 110 is fabricated using a microelectronics chip CPU known as a microprocessor. Unlike the primary CPU 110, the secondary processor 115 is a selective processor that performs additional functions or assists the CPU 110. CPU 110 may be connected to auxiliary processor 115 via interconnect 112. One common type of auxiliary processor is the floating point auxiliary processor, also referred to as a numerical or mathematical auxiliary processor, which is designed to perform faster and better numerical calculations than the general purpose CPU 110.

應了解到,雖然一展示的計算環境被展示而包含單一的CPU 110,此說明僅為展示,因計算環境100可包含數個CPU 110。另外地,計算環境100可經由通訊網路160或一些其他資料通訊裝置(未被展示)而利用遠處CPU(未被展示)之資源。It should be appreciated that while a computing environment shown is shown to include a single CPU 110, this description is merely illustrative, as computing environment 100 may include a number of CPUs 110. Additionally, computing environment 100 may utilize resources of a remote CPU (not shown) via communication network 160 or some other data communication device (not shown).

操作時,CPU 110擷取、解碼且執行指令,並且經由電腦之主要資料轉移通道(如系統匯流排105)而傳送資訊至與自其他資源。此一系統匯流排連接計算系統100中之構件並且定義用於資料交換之媒體。系統匯流排105一般包含用以傳送資料之資料線、用以傳送位址之位址線、以及用以傳送中斷及用以操作系統匯流排之控制線。此系統匯流排之一範例是PCI(週邊構件互連)匯流排。現今之一些先進匯流排提供被稱為匯流排仲裁之功能,其利用延伸插卡、控制器、以及CPU 110而調整匯流排之存取。附帶於這些匯流排且仲裁以管理匯流排之裝置被稱為匯流排管理器(bus masters)。匯流排管理器支援同時也允許匯流排之多處理器組態,其是藉由添加包含一處理器和其支援晶片之匯流排管理器轉接器而被產生。In operation, the CPU 110 retrieves, decodes, and executes the instructions and transmits the information to and from other resources via the primary data transfer channel of the computer (eg, system bus 105). This system bus bar connects the components in computing system 100 and defines the media for data exchange. The system bus 105 generally includes a data line for transmitting data, an address line for transmitting an address, and a control line for transmitting an interrupt and for operating the bus. An example of this system bus is the PCI (Peripheral Component Interconnect) bus. Some of today's advanced bus bars provide a function known as bus arbitration, which utilizes an extension card, controller, and CPU 110 to adjust access to the bus. Devices that are attached to these bus bars and arbitrated to manage the bus bars are called bus masters. The bus manager support also allows multi-processor configuration of the bus, which is generated by adding a bus manager switch that includes a processor and its supporting chips.

被耦合至系統匯流排105之記憶體裝置包含隨機存取記憶體(RAM)125以及唯讀記憶體(ROM)130。此記憶體包含允許資訊被儲存且被取得之電路。ROM 130一般包含不能被修改之儲存資料。被儲存於RAM 125中之資料可利用CPU 110或其他硬體裝置而被讀取或被改變。存取於RAM 125及/或ROM 130可利用記憶體控制器120而被控制。記憶體控制器120可提供一位址轉譯功能,當指令被執行時,其轉譯虛擬位址成為實體位址。記憶體控制器120同時也可提供一記憶體保護功能,其隔離在系統內之處理程序並且隔離系統處理程序與使用者處理程序。因此,以使用者模式執行之程式通常僅可存取利用其獨有的處理程序虛擬位址空間被映射之記憶體;其不能存取在另一處理程序之虛擬位址空間內之記憶體,除非於處理程序之間共用的記憶體已經被設定。The memory device coupled to system bus 105 includes random access memory (RAM) 125 and read only memory (ROM) 130. This memory contains circuitry that allows information to be stored and retrieved. ROM 130 typically contains stored material that cannot be modified. The data stored in the RAM 125 can be read or changed using the CPU 110 or other hardware device. Access to RAM 125 and/or ROM 130 can be controlled using memory controller 120. The memory controller 120 can provide an address translation function that translates the virtual address into a physical address when the instruction is executed. The memory controller 120 also provides a memory protection function that isolates the processing within the system and isolates the system handler from the user handler. Thus, a program executing in user mode typically only has access to memory that is mapped using its unique handler virtual address space; it cannot access memory in the virtual address space of another handler, Unless the memory shared between the handlers has been set.

此外,計算系統100可包含負資自CPU 110至週邊,例如,印表機140、鍵盤145、滑鼠150、以及資料儲存驅動器155之通訊指令的週邊控制器135。In addition, computing system 100 can include peripheral controller 135 that is backed up from CPU 110 to peripherals, such as printer 140, keyboard 145, mouse 150, and data storage driver 155.

顯示器165,其利用顯示器控制器163被控制,被使用以顯示利用計算系統100被產生之視覺輸出。此視覺輸出可包含文字、圖示、動畫圖形以及視訊。顯示器165可利用CRT為主之視訊顯示器、LCD為主的平面板顯示器、電漿為主的平面顯示器、碰觸式面板、或其他形式的顯示器而被製作。顯示器控制器163包含產生被傳送至顯示器165之視訊信號所需的電子構件。Display 165, which is controlled by display controller 163, is used to display the visual output produced by computing system 100. This visual output can include text, graphics, animated graphics, and video. The display 165 can be fabricated using a CRT-based video display, an LCD-based flat panel display, a plasma-based flat panel display, a touch panel, or other form of display. Display controller 163 includes the electronic components needed to generate the video signals that are transmitted to display 165.

進一步地,計算系統100可包含網路轉接器170,其可被使用以連接計算系統100至一外接通訊網路160。通訊網路160可電子式提供電腦使用者通訊和轉移軟體之方法以及資訊。另外地,通訊網路160可提供分佈式處理,其包含許多電腦和進行工作時工作量分享或合作努力。應了解到,所展示之網路連接僅是範例且在電腦之間建立一通訊鏈路的其他方法可被使用。Further, computing system 100 can include a network adapter 170 that can be used to connect computing system 100 to an external communication network 160. The communication network 160 can electronically provide methods and information for computer users to communicate and transfer software. Additionally, communication network 160 can provide distributed processing that includes many computers and work-time sharing or collaborative efforts. It should be understood that the network connections shown are merely examples and other methods of establishing a communication link between computers can be used.

應了解到,範例電腦系統100僅是展示計算環境,於其中上述之系統和方法可操作,且不限制上述之計算環境中的系統和方法之實施例具有不同構件和組態,因本發明上述之概念可被製作於具有各種構件和組態之各種計算環境中。It should be appreciated that the example computer system 100 is merely a computing environment in which the systems and methods described above are operational, and embodiments of the systems and methods in the computing environment described above are not limited to having different components and configurations, as described above. The concept can be fabricated in a variety of computing environments with a variety of components and configurations.

資料通訊結構:Data communication structure:

第2-4圖描述供使用於計算環境範例中之展示的資料通訊結構之方塊圖。該展示的資料通訊結構可被製作為計算環境構件並且可採用SERDES構件。明確地說,第2圖示出展示性資料通訊結構200之方塊圖。如第2圖之展示,資料通訊結構200包含經由實體鏈路220配合於通訊資料230的資料通訊界面模組205以及210。資料界面通訊模組205和210包含至少一個發送核心以及至少一個接收核心。實體鏈路220經由實體連接器225而附帶於資料通訊界面模組205和210。Figure 2-4 depicts a block diagram of a data communication structure for use in an example of a computing environment. The data communication structure of the presentation can be fabricated as a computing environment component and can employ SERDES components. In particular, Figure 2 shows a block diagram of an illustrative data communication structure 200. As shown in FIG. 2, the data communication structure 200 includes data communication interface modules 205 and 210 that are coupled to the communication material 230 via the physical link 220. The data interface communication modules 205 and 210 include at least one transmit core and at least one receive core. The physical link 220 is attached to the data communication interface modules 205 and 210 via the physical connector 225.

操作時,範例計算環境(未被展示)配合於資料通訊界面模組205和210以在資料通訊界面模組205和210之間通訊資料。於展示的實施例中,資料通訊界面模組可存在於範例計算環境(未被展示)內之不同的地理位置或可存在作為範例計算環境(未被展示)印刷電路板(PCB)之一部件。如所展示,資料可在資料通訊界面205和210的發送核心和接收核心之間,於一選擇之方向或雙向地被通訊,如實體鏈路220和資料230上箭號232和234之指示。同時也應了解到,被展示之實體鏈路220具有不同線粗度以指示不同的實體鏈路220媒體。In operation, the example computing environment (not shown) is coupled to the data communication interface modules 205 and 210 to communicate data between the data communication interface modules 205 and 210. In the illustrated embodiment, the data communication interface module can exist in different geographic locations within the example computing environment (not shown) or can exist as a component of a sample computing environment (not shown) printed circuit board (PCB). . As shown, the data can be communicated between the transmit core and the receive core of the data communication interfaces 205 and 210 in a selected direction or bidirectionally, such as the indications of arrows 232 and 234 on physical link 220 and data 230. It should also be appreciated that the physical links 220 being displayed have different line thicknesses to indicate different physical link 220 media.

更進一步地,如所展示,破折線方塊215展示資料通訊背板範例之構件。於被提供之實施例中,背板215被展示而具有操作以通訊資料的一對發送-接收核心。明確地說,資料藉由資料通訊界面205之發送核心235被處理以經由實體連接器225和實體鏈路220而通訊至資料通訊界面210之接收核心245。同樣地,資料可藉由資料通訊界面210之發送核心250被處理以供通訊至資料通訊界面205之接收核心240。此外,發送-接收核心組對235、240以及245、250可配合以形成一通訊通道。作為一通訊通道,發送-接收核心組對可被校準並且被訓練以依據一選擇之編碼協定(例如,八位元-十位元(8b10b)編碼)而處理資料。Still further, as shown, dashed line block 215 shows the components of the data communication backplane paradigm. In the embodiment provided, the backplane 215 is shown with a pair of transmit-receive cores operating with communication material. In particular, the data is processed by the transmit core 235 of the data communication interface 205 to communicate to the receive core 245 of the data communication interface 210 via the physical connector 225 and the physical link 220. Similarly, data may be processed by the transmit core 250 of the data communication interface 210 for communication to the receive core 240 of the data communication interface 205. In addition, the transmit-receive core set pair 235, 240 and 245, 250 can cooperate to form a communication channel. As a communication channel, the transmit-receive core group pair can be calibrated and trained to process data in accordance with a selected encoding protocol (e.g., octet-decibel (8b10b) encoding).

進一步地,如第2圖所展示,資料230可包含一些封包。明確地說,資料230可包含一檔頭部份和資料封包部分。該資料封包部分可進一步地包含小的資料封包。應了解到,於所提供之展示實施例中,一小的封包可能被視為一資料封包,其是較小於標準尺寸之全尺寸資料封包。操作時,各種資料、控制、訓練、以及頻道管理資訊可在範例資料通訊結構200之上被通訊(如資料230)。Further, as shown in FIG. 2, the material 230 can include some packets. Specifically, the material 230 can include a header portion and a data packet portion. The data packet portion may further include a small data packet. It should be appreciated that in the illustrated embodiment provided, a small packet may be considered a data packet, which is a full size data packet that is smaller than a standard size. In operation, various data, control, training, and channel management information can be communicated over the example data communication structure 200 (e.g., material 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。Figure 3 shows a block diagram of an example of a transmitting core environment 300 that reveals its components and their mating objects. As shown in FIG. 3, the transmit core environment 300 example includes a plurality of transmit cores from the transmit core 300-1 to the transmit core 300-n. Transmit core 300-1 is shown to include logic blocks, including a plurality of serializers from serial 1 to serializer n and a plurality of drivers from drive 1 to drive m, respectively. Additionally, the transmitting core 300-1 is coupled to an external data communication component (not shown) to obtain the clock signal CLK. Also, as shown, the transmitting core 300-1 also contains logic that holds the set of instructions to indicate that the component of the transmitting core 300-1 (e.g., the serializer 1) performs functions in accordance with the data communication operation. The logic of the transmit core 300-1 can also function to maintain one or more modules and mechanisms for use during data communication operations, the module and mechanism including (but not limited to) data buffers (not The display module 305, the training module 310, the error introduction module 315, and the error detection module 320 are shown.

操作時,資料被提供做為至發送核心300-1之一串接器的輸入。該資料依據一選擇之編碼協定(例如,8位元-10位元編碼)被編碼並且被備妥以在一發送核心之輸出頻道上藉由發送核心之一驅動器而通訊至配合之資料通訊構件。該編碼協定可採用CLK信號以在CLK信號所選擇之週期內編碼一些位元。例如,資料A可依據所選擇之編碼協定利用發送核心300-1之串接器1被編碼,並且被備妥以根據由發送核心300-1之邏輯所提供之指令,利用驅動器1通訊而在頻道A之輸出產生被編碼之資料。同樣地,資料B可根據一選擇之編碼協定利用發送核心300-1之串接器2被編碼並且被備妥以在頻道B利用驅動器2通訊而產生被編碼之資料。此編碼程序和資料通訊準備在發送核心環境300的發送核心300-1和其他發送核心之其餘串接器及驅動器被進行。In operation, the data is provided as input to a serializer of one of the transmitting cores 300-1. The data is encoded according to a selected encoding protocol (eg, 8-bit-10 bit encoding) and is prepared to communicate to a data communication component by a driver of a transmitting core on an output channel of a transmitting core. . The encoding protocol can employ a CLK signal to encode some bits during the period selected by the CLK signal. For example, the material A can be encoded using the serializer 1 of the transmitting core 300-1 according to the selected encoding protocol, and is prepared to communicate with the driver 1 according to the instructions provided by the logic of the transmitting core 300-1. The output of channel A produces the encoded data. Similarly, the material B can be encoded by the serializer 2 of the transmitting core 300-1 according to a selected encoding protocol and prepared to communicate with the driver 2 at channel B to generate encoded material. This encoding program and data communication is prepared in the transmitting core 300-1 of the transmitting core environment 300 and the remaining serials and drivers of the other transmitting cores.

第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。Figure 4 shows a block diagram of an example of a receiving core environment 400 that reveals its components and their mating objects. As shown in FIG. 4, the receive core 400 example includes a plurality of receive cores from the receive core 400-1 to the receive core 400-n. The receiving core 400-1 is shown to include a logical block, which includes a plurality of de-serializers from the de-serial 1 to the deserializer n and a driver from the driver 1 to the driver m, respectively. In addition, the receiving core 400-1 is coupled to an external data communication component (not shown) to obtain the clock signal CLK. Also, as shown, receive core 400-1 also includes a logic that maintains a set of instructions to instruct receiving core 400-1 components (e.g., deserializer 1) to perform its functions in accordance with data communication operations. The receiving core 400-1 logic can also function to maintain one or more modules and mechanisms for use during data communication operations, including (but not limited to) data buffers (not shown), debug modules 405. The training module 410, the error introduction module 415, and the error detection module 420.

操作時,被編碼之資料被提供作為至接收核心400-1之一解串接器的輸入。該資料依據所選擇之解碼協定(例如,10位元-8位元)而被解碼並且被備妥以供一接收核心驅動器通訊至在一接收核心之解串接器輸出之配合資料通訊構件。解碼協定可採用CLK信號以在被選擇之CLK信號週期內解碼一些位元。例如,被編碼之資料A可依據被選擇之解碼協定利用接收核心400-1之解串接器1被解碼,並且被備妥供驅動器1之通訊以依據由接收核心400-1邏輯所提供之指令而產生資料A。同樣地,被編碼之資料B可依據被選擇之解碼協定利用接收核心400-1之解串接器2而被解碼,並且被備妥供驅動器2之通訊以產生資料B。此解碼處理程序和資料通訊預備在發送核心環境400之接收核心400-1和其他接收核心之其餘解串接器和驅動器而被進行。In operation, the encoded material is provided as an input to a deserializer of one of the receiving cores 400-1. The data is decoded in accordance with the selected decoding protocol (e.g., 10-bit-8 bits) and is prepared for communication by a receiving core driver to a mating data communication component of the de-serial output of a receiving core. The decoding protocol can employ a CLK signal to decode some bits during the selected CLK signal period. For example, the encoded material A can be decoded using the deserializer 1 of the receiving core 400-1 in accordance with the selected decoding protocol, and is prepared for communication by the driver 1 in accordance with the logic provided by the receiving core 400-1. Data A is generated by the instruction. Similarly, the encoded material B can be decoded using the deserializer 2 of the receiving core 400-1 in accordance with the selected decoding protocol, and is prepared for communication by the driver 2 to generate the material B. This decoding process and data communication are prepared in the receiving core 400-1 of the core environment 400 and the remaining deserializers and drivers of the other receiving cores.

第3圖和第4圖一起說明通訊通道環境範例,以至於資料被編碼以藉由一個或多個發送核心通訊而供依序地利用一個或多個接收核心而解碼並且處理。雖然已說明分別構件,應了解到,發送核心和接收核心可能存在於個別的通訊構件上(參看第2圖之資料通訊界面205)。此外,發送核心和接收核心可成對地操作以形成一個或多個雙向資料通訊通道。Figures 3 and 4 together illustrate an example of a communication channel environment such that data is encoded for decoding and processing by one or more receiving cores in sequence by one or more transmitting core communications. Although separate components have been described, it should be understood that the transmitting core and the receiving core may be present on individual communication components (see data communication interface 205 of Figure 2). In addition, the transmit core and the receive core can operate in pairs to form one or more bidirectional data communication channels.

跨越通訊鏈路之通訊資料:Communication information across the communication link:

第5圖展示當建立通訊通道時利用範例資料通訊結構200所進行之處理。如所展示,處理程序自區塊500開始並且前進至區塊505,其中通訊構件被供電以操作。自那裡,處理程序前進至區塊510,其中通訊鏈路被建立在資料通訊結構構件之間。該通訊鏈路接著在區塊515被訓練以形成一通訊通道。接著在區塊520,訓練資料被發送經由通訊通道以測試該通訊通道。接著在區塊525進行檢查以決定該通訊通道測試是否成功。如果其是成功的,則處理程序前進至區塊540,於其中進行檢查以決定是否有資料流經由成功地被測試之通訊通道之上通訊。如果在區塊540,判定沒有資料通訊,則處理程序回復至區塊540之輸入。但是,如果有資料流經由成功地被測試且被訓練之通訊通道上通訊,則處理程序前進至區塊545,其中資料流利用串接器被編碼。該被編碼之資料流接著經由通訊通道之上被通訊以配合在區塊550之解串接器。該資料流接著在區塊555利用解串接器被解碼。接著在區塊560進行檢查以決定資料流之各小資料封包是否成功地被通訊。如果該小資料封包成功地被發送,則處理程序回復至區塊540並且自該處繼續進行。但是,如果小資料封包未成功地被通訊,則處理程序返回至區塊530,其中通訊通道重新被訓練並且自該處繼續進行。Figure 5 shows the processing performed by the example data communication structure 200 when establishing a communication channel. As shown, the process begins at block 500 and proceeds to block 505 where the communication components are powered to operate. From there, the process proceeds to block 510 where the communication link is established between the data communication fabric components. The communication link is then trained at block 515 to form a communication channel. Next at block 520, training data is sent via the communication channel to test the communication channel. A check is then made at block 525 to determine if the communication channel test was successful. If it is successful, the process proceeds to block 540 where a check is made to determine if there is a data stream communicating over the successfully tested communication channel. If at block 540, it is determined that there is no data communication, then the process returns to the input of block 540. However, if there is a data stream communicating via the successfully tested and trained communication channel, then the process proceeds to block 545 where the data stream is encoded using the serializer. The encoded data stream is then communicated over the communication channel to match the deserializer of block 550. The data stream is then decoded at block 555 using a deserializer. A check is then made at block 560 to determine if the small data packets of the data stream were successfully communicated. If the small data packet was successfully sent, the handler reverts to block 540 and proceeds from there. However, if the small data packet was not successfully communicated, the process returns to block 530 where the communication channel is retrained and continues from there.

但是,如果在區塊525決定通訊通道測試不是成功的,則處理程序前進至區塊530,其中該通訊鏈路重新被訓練。處理程序自該處繼續前進至區塊535,其中控制資訊在通訊鏈路構件之間被通訊。自該處,處理程序回復至區塊520並且自該處繼續前進。However, if it is determined at block 525 that the communication channel test was not successful, then the process proceeds to block 530 where the communication link is retrained. From there, the process continues to block 535 where control information is communicated between the communication link components. From there, the handler reverts to block 520 and proceeds from there.

操作時,所展示之實施例提供訓練序列由通訊鏈路解串接器所管理。明確地說,在解串接器上被選擇之軟體型式暫存器的寫入指示識別後啟始訓練立即被視為完成。此時,資料利用通訊通道之串接器被驅動至鏈路上。於解串接器操作形式中,解串接器保持一個或多個指令集,其指示解串接器檢測鏈路上之活動以發出信號給配合串接器而開始初始化。通訊通道之解串接器和串接器保持至少一個指令集而指示該通道開始啟動。在成功地啟動之後,每一通道自身測試被進行,其結果被收集且被比較。指令集接著指示串接器和解串接器通訊一被選擇之資料樣型,其是解串接器所預期的,其允許解串接器決定聚集以供串接器和解串接器所採用之編碼和解碼協定使用的位元單元。In operation, the illustrated embodiment provides a training sequence that is managed by a communications link deserializer. In particular, the initiation of training immediately after the write indication of the selected software type register on the deserializer is recognized is considered complete. At this point, the data is driven to the link using the serializer of the communication channel. In the form of the deserializer operation, the deserializer maintains one or more sets of instructions that instruct the deserializer to detect activity on the link to signal to the companion to begin initialization. The deserializer and the serializer of the communication channel maintain at least one instruction set to indicate that the channel begins to start. After successful startup, each channel's own test is performed and the results are collected and compared. The set of instructions then instructs the serializer and the deserializer to communicate a selected data pattern that is expected by the deserializer, which allows the deserializer to determine the aggregation for use by the serializer and the deserializer. The bit unit used by the encoding and decoding protocol.

另外地,第二可辨認的資料樣型被通訊至解串接器,其中解串接器將之視為小的封包資料通訊。藉由設定該小的封包資料通訊,解串接器可操作以使群集中之小封包一起配合於小封包起初之通訊方式。一旦第二資料樣型成功地被通訊且被處理,則控制信號自解串接器被傳送至通訊鏈路之串接器而指示訓練已被完成。依此論點,資料封包可跨越該被訓練之通道被通訊。Additionally, the second identifiable data sample is communicated to the deserializer, where the deserializer treats it as a small packet data communication. By setting up the small packet data communication, the deserializer is operable to match the small packets in the cluster to the initial communication mode of the small packet. Once the second data sample is successfully communicated and processed, the control signal self-deserializer is transmitted to the serial link of the communication link indicating that the training has been completed. According to this argument, data packets can be communicated across the channel being trained.

此外,所展示之實施例提供如果錯誤發生在通訊鏈路之上,則該鏈路可進行再訓練程序。鏈路再訓練是相似於上述在前述啟動通訊通道構件之外之鏈路訓練。再訓練可利用一些事件(包含,但是不受限制於,跨越通訊鏈路之錯誤識別)而被觸發,或利用接收在鏈路上利用通訊鏈路接收端點被產生之錯誤信號而被觸發。Moreover, the illustrated embodiment provides that if an error occurs over a communication link, the link can be retrained. Link retraining is similar to the link training described above in the aforementioned launch communication channel components. Retraining may be triggered by the use of some events (including, but not limited to, misidentification across the communication link) or by receiving an error signal generated on the link using the communication link to receive the endpoint.

除錯操作:Debugging operation:

第2圖之範例資料通訊結構200同時也能夠傳送除錯資料以供處理及分析。於本文之SERDES資料通訊結構中,資料通訊結構範例的內部設計更明顯可轉譯成為更有效的除錯以及SERDES資料通訊結構設計和製作之確認。於SERDES資料通訊結構中,在除錯操作期間,除錯資料被引導而跨越該結構之各種構件以供處理及分析。當除錯資料跨越該結構而成功地被傳輸時,除錯資訊之適當的發動和卸載發生。The example data communication structure 200 of Figure 2 is also capable of transmitting debug data for processing and analysis. In the SERDES data communication structure of this paper, the internal design of the data communication structure example is more clearly translatable into a more effective debugging and confirmation of the design and production of the SERDES data communication structure. In the SERDES data communication architecture, during debug operations, debug data is directed across various components of the structure for processing and analysis. When the debug data is successfully transmitted across the structure, proper firing and unloading of the debug information occurs.

於所提供之實施例中,該除錯資料可能來自一內部除錯資料硬體構件,其包含發送核心(第3圖之300)或接收核心(第4圖之400)之任一部份。除錯資料依據一個或多個指令集而被處理以在範例通訊結構的配合構件之間傳輸該除錯資料。在被提供之實施例中,範例結構可接收具有第一被選擇位元數之除錯資料且組對此除錯資料以產生具有第二被選擇位元數之被修改除錯資料(例如,除錯資料封包)。該成對之除錯資料接著可被緩衝以匹配於通訊鏈路頻率,並且接著跨越該通訊鏈路而被通訊。於接收末端,該成對之除錯資料可被獲得並且被分解為具有該第一被選擇位元數的資料封包。In the embodiment provided, the debug data may be from an internal debug data hardware component that includes any portion of the transmit core (300 of Figure 3) or the receive core (400 of Figure 4). The debug data is processed in accordance with one or more sets of instructions to transfer the debug data between the mating components of the example communication structure. In an embodiment provided, the example structure can receive debug data having a first selected number of bits and group the debug data to generate modified debug data having a second selected number of bits (eg, Wrong data packet). The paired debug data can then be buffered to match the communication link frequency and then communicated across the communication link. At the receiving end, the paired debug data can be obtained and decomposed into data packets having the first selected number of bits.

除錯操作可以包含一種能力,其是利用範例通訊結構的範例通訊鏈路之接收端點以收集鏈路之一般的非除錯處理並且提供全部,或部分之非除錯處理至供依序通訊之內部除錯邏輯(例如,於範例通訊結構之不同範例向外鏈路上被重複之處理資料)。因此,除錯邏輯提供更多的有效處理以及跨越範例資料通訊結構的資料通訊。The debug operation may include an ability to utilize the receiving endpoints of the example communication link of the example communication structure to collect general non-debug processing of the link and provide all, or part, of the non-debug processing to the sequential communication Internal debug logic (for example, different instances of the example communication structure are processed repeatedly on the outer link). Therefore, the debug logic provides more efficient processing and data communication across the sample data communication structure.

另外地,展示的實施例提供,通訊鏈路之發送端點可配對於內部除錯資料硬體構件之交錯週期作為除錯資料封包,或其可能採用與除錯資料一起被傳送之有效指示以匹配自一配合之資料通訊結構構件(例如,鏈路接埠)被傳送的除錯資料。更進一步地,展示的實施例提供,範例資料通訊結構可經由鏈路再訓練啟用而進入除錯操作。在該鏈路訓練序列完成之後,除錯操作立即進行。Additionally, the illustrated embodiment provides that the transmitting end of the communication link can be configured with an interleaving period for the internal debug data hardware component as a debug data packet, or it can use a valid indication that the debug data is transmitted with the debug data. Matching debug data transmitted from a cooperating data communication fabric (eg, link interface). Still further, the illustrated embodiment provides that the example data communication structure can be enabled for debug operation via link retraining. After the link training sequence is completed, the debug operation is performed immediately.

第6圖展示當處理除錯資料時,利用範例資料通訊結構200所進行之處理。如所展示,處理開始在區塊600且前進至區塊610,其中具有起始被選擇之位元數(例如,76位元)的除錯資料,被配對以產生具有第二組被選擇位元數(例如,152位元)之除錯資料封包。自該處,在區塊615,除錯資料封包被緩衝以匹配它於通訊鏈路頻率。接著在區塊620,除錯資料封包跨越通訊鏈路被通訊。自該處,除錯資料封包在區塊625於通訊鏈路之接收端點上被獲得並且被處理。Figure 6 shows the processing performed by the example data communication structure 200 when processing the debug data. As shown, processing begins at block 600 and proceeds to block 610 where the debug data having the number of bits initially selected (eg, 76 bits) is paired to produce a second set of selected bits. A debug data packet of a number of elements (for example, 152 bits). From there, at block 615, the debug data packet is buffered to match it to the communication link frequency. Next at block 620, the debug data packet is communicated across the communication link. From there, the debug data packet is obtained at block 625 on the receiving end of the communication link and processed.

接著在區塊640進行檢查以決定是否有鏈路故障。如果在區塊640之檢查指示鏈路故障,則處理程序前進至區塊645,於其中故障被報告以供用於進一步的行動。處理程序接著前進至區塊660,於其中通訊鏈路重新被訓練。自該處,處理程序回復至區塊610並且自該處繼續。A check is then made at block 640 to determine if there is a link failure. If the check at block 640 indicates a link failure, then the process proceeds to block 645 where the fault is reported for further action. The process then proceeds to block 660 where the communication link is retrained. From there, the handler reverts to block 610 and continues from there.

但是,如果在區塊640決定沒有鏈路故障,則處理程序前進至區塊635,於其中除錯資料封包被分解成為一種形式,其中除錯資料具有其原始地被選擇之位元數。自該處,處理前進至區塊650以繼續資料之處理。處理程序接著在區塊655終止。However, if it is determined at block 640 that there is no link failure, then the process proceeds to block 635 where the debug data packet is decomposed into a form in which the debug data has its originally selected number of bits. From there, processing proceeds to block 650 to continue processing of the data. The handler then terminates at block 655.

鏈路識別資訊:Link identification information:

範例資料通訊結構200同時也能夠傳送鏈路識別資訊。展示的實施例操作經由使用鏈路識別資訊以允許範例通訊資料結構200實體通訊鏈路之確認、批准、以及映射。The sample data communication structure 200 is also capable of transmitting link identification information. The illustrated embodiment operates by using link identification information to allow validation, approval, and mapping of the example communication material structure 200 physical communication links.

於本文之SERDES資料通訊結構中,許多鏈路一起被使用於在資料通訊結構範例內之各個點對點的連接。於展示的實施例中,SERDES資料通訊結構之通訊節點可被連接成為橫杆式之硬體構件,其便利於跨越SERDES資料通訊結構之資料通訊。這些實體連接指示且指定範例資料通訊結構的操作。為保證這些連接是正確的,及/或建立一連接映圖,關於連接之了解是需要的。In the SERDES data communication architecture herein, many links are used together for various point-to-point connections within the data communication structure paradigm. In the illustrated embodiment, the communication nodes of the SERDES data communication structure can be connected as a crossbar hardware component that facilitates communication of data across the SERDES data communication structure. These entity connections indicate and specify the operation of the sample data communication structure. To ensure that these connections are correct and/or to establish a connection map, knowledge of the connection is needed.

展示的實施例提供,範例資料通訊結構的通訊鏈路可在使用之前先被訓練。在訓練期間,範例資料通訊結構確認資料通訊結構各種配合構件之時脈定位。使用時脈定位資訊,資料封包可自通訊鏈路之發送端點至接收端點被校準而確保資料通訊之結合性。The illustrated embodiment provides that the communication link of the example data communication structure can be trained prior to use. During the training period, the sample data communication structure confirms the clock position of various matching components of the data communication structure. Using clock positioning information, the data packet can be calibrated from the transmitting end of the communication link to the receiving end to ensure data communication.

展示的實施例進一步地提供,操作時,位置識別符被產生並且自範例通訊鏈路的發送端點被通訊至通訊鏈路之接收端點而提供關於通訊鏈路之發送端點的位置資訊(例如,映射和連接)。於展示的實施例中,該位置識別符可依被選擇之區間被嵌進於訓練序列中,或訓練步驟中,但是應在鏈路被釋放以供常態操作之前。該被嵌進之位置識別符依據接收端點邏輯(例如,指令集和命令),而在該訓練序列期間,被接收端點所獲得,而安置該位置識別信號於儲存構件中以供依序的處理。於本文中,資料通訊結構範例可採用一個或多個指令集以處理位置識別資訊(例如,經由內部或外部軟體之使用)而產生資料通訊結構連接和連接關係之架構型態。The illustrated embodiment further provides that, in operation, a location identifier is generated and that the transmitting endpoint of the example communication link is communicated to the receiving endpoint of the communication link to provide location information regarding the transmitting endpoint of the communication link ( For example, mapping and linking). In the illustrated embodiment, the location identifier can be embedded in the training sequence, or in the training step, depending on the selected interval, but should be before the link is released for normal operation. The embedded location identifier is obtained by the receiving endpoint during the training sequence according to the receiving endpoint logic (eg, the instruction set and the command), and the location identification signal is placed in the storage component for sequential Processing. In this context, an example of a data communication structure may employ one or more sets of instructions to process location identification information (eg, via use of internal or external software) to produce an architectural pattern of data communication structure connections and connection relationships.

明確地說,經由通訊鏈路發送端點被傳送之資料樣型(例如,位置識別符)可能是利用硬體邏輯之硬接線樣型及/或是經由指令集(例如,軟體)之可程控樣型或可利用外部來源(例如,配合之硬體構件)被提供。展示之實施例提供,位置識別符資料欄可以是被負載進入接收端之可程控類型,其是藉由自可利用一個或多個場可程式閘陣列(FPGA)(未被展示)而被驅動之外接輸入通訊埠轉移該資料樣型(例如,位置識別符)。以此可程控型式,該資料樣型可能包含關於剛好超越於位置之實體連接的另外資訊,包含(但是不受限制於)硬體型式(例如,晶片型式)、鏈路頻率以及鏈路狀態。於狀態資訊之本文中,此類資訊可包含(但是不受限制於)重置進展、接埠狀態、組態資訊或錯誤狀態。In particular, the type of data (eg, location identifier) transmitted by the endpoint via the communication link may be hardwired using hardware logic and/or programmable via an instruction set (eg, software) The sample may be provided using an external source (eg, a mating hardware component). The illustrated embodiment provides that the location identifier data field can be a programmable type that is loaded into the receiving end by the load, which is driven by utilizing one or more field programmable gate arrays (FPGAs) (not shown). An external input communication port transfers the data type (for example, a location identifier). In this programmable format, the data sample may contain additional information about physical connections just beyond the location, including (but not limited to) hardware types (eg, wafer type), link frequency, and link status. In the context of this information, such information may include (but is not limited to) reset progress, interface status, configuration information, or error status.

第7圖展示當傳送鏈路識別資訊時,藉由範例資料通訊結構200所進行之處理。如所展示,處理開始於區塊700並且前進至區塊705,其中資料通訊結構啟動通訊鏈路之訓練。自該處,處理程序前進至區塊710,其中一位置識別符被得到,其確認範例通訊鏈路之發送端點至接收端點的相對位置。在區塊715,位置識別符被嵌進作為通訊鏈路訓練序列之部份。處理接著前進至區塊720,其中該位置識別符被通訊鏈路接收端點所獲得且被處理。在區塊725,位置識別符數值利用通訊鏈路接收端點而被比較於一預期數值。Figure 7 shows the processing performed by the example data communication structure 200 when transmitting link identification information. As shown, processing begins at block 700 and proceeds to block 705 where the data communication structure initiates training of the communication link. From there, the process proceeds to block 710 where a location identifier is obtained which confirms the relative location of the transmitting endpoint to the receiving endpoint of the example communication link. At block 715, the location identifier is embedded as part of the communication link training sequence. Processing then proceeds to block 720 where the location identifier is obtained by the communication link receiving endpoint and processed. At block 725, the location identifier value is compared to an expected value using the communication link receiving endpoint.

接著在區塊830進行檢查,以決定於位置識別符發送中是否有任何錯誤。如果在區塊830判定沒有錯誤,則處理程序前進至區塊735,其中在區塊745訓練被完成並且資料處理被進行。A check is then made at block 830 to determine if there are any errors in the location identifier transmission. If it is determined at block 830 that there are no errors, then the process proceeds to block 735 where training is completed and data processing is performed.

但是,如果在區塊730被判定有錯誤,則處理程序前進至區塊750,其中該錯誤被報告。該錯誤接著在區塊755重新被解決。自該處,處理前進至區塊705並且自該處繼續。However, if an error is determined at block 730, the process proceeds to block 750 where the error is reported. This error is then re-solved at block 755. From there, processing proceeds to block 705 and continues from there.

錯誤引入:Error introduction:

第2圖的範例資料通訊結構200同時也能夠引入被選擇之錯誤作為通訊鏈路測試之部份。於SERDES資料通訊結構本文中,展示的實施例確認評估下之系統中錯誤情況功能(例如,通訊鏈路測試)。The example data communication architecture 200 of Figure 2 can also introduce selected errors as part of the communication link test. In the SERDES data communication structure herein, the illustrated embodiment confirms the error condition function in the system under evaluation (eg, communication link test).

SERDES資料通訊結構提供,在通訊鏈路接收端點被接收之資料的許多不同正確性檢查。不同活動依據錯誤性質被預期,並且在通訊鏈路接收端點,不同的資訊可以是所預期的。展示的實施例明確地說明多種被引入的錯誤事件,其是藉由被發現於通訊鏈路發送端點上之除錯邏輯(例如,第3圖之315)信號而被觸發。例如,此類錯誤事件可包含(但是不受限制於)簡單之單位元錯誤、略過或增加小的資料封包、以及切斷通訊鏈路頻道。The SERDES data communication architecture provides a number of different correctness checks for the data received at the receiving end of the communication link. Different activities are expected depending on the nature of the error, and at the receiving end of the communication link, different information may be expected. The illustrated embodiment explicitly illustrates a variety of introduced error events that are triggered by a debug logic (e.g., 315 of FIG. 3) signal found on the communication link transmitting endpoint. For example, such an error event may include (but is not limited to) a simple unit error, skipping or adding a small data packet, and cutting off the communication link channel.

另外地,展示的實施例提供,引入多於一個錯誤作為測試序列之部份。於本文中,一依序的錯誤可被引入,因此其與第一組錯誤同時地出現,或當第二組觸發發生時方出現。藉由此能力,多數個錯誤事件能夠被測試。另外地,展示的實施例可允許各個錯誤型式之持續規格。這可能是自一個至許多個週期,或永久(例如,直至情況自通訊鏈路被除去為止)。就其本身而論,此展示的實施例能夠處理偶發和持續式的失效。此外,當錯誤觸發發生時,該展示的實施例可獲得於通訊鏈路發送端點上緩衝器中訛誤的小資料封包(例如,第3圖之300)。因此,一參考可以可被產生以比較於在鏈路接收端點被獲得之錯誤記錄而確認所預期的通訊鏈路行動。Additionally, the illustrated embodiment provides for introducing more than one error as part of the test sequence. In this context, a sequential error can be introduced, so it occurs simultaneously with the first set of errors, or when the second set of triggers occurs. With this ability, most error events can be tested. Additionally, the illustrated embodiment may allow for continuous specifications of various error patterns. This may be from one to many cycles, or permanently (for example, until the situation is removed from the communication link). For its part, the embodiment shown here is capable of handling sporadic and continuous failures. Moreover, when an error trigger occurs, the illustrated embodiment can obtain a small data packet that is corrupted in the buffer on the communication link transmission endpoint (e.g., 300 of FIG. 3). Thus, a reference can be generated to confirm the expected communication link action compared to the error record obtained at the link receiving endpoint.

第8圖展示當引入錯誤作為通訊鏈路測試之部份時,利用第2圖之範例資料通訊結構200所進行之處理。如所展示,處理開始於區塊800並且前進至區塊805,於其中通訊鏈路被建立。自該處,處理前進至區塊810,於其中所產生之一個或多個錯誤(例如,失控、時間經過、不正確之小資料封包等等)被引進自通訊鏈路發送端點被通訊至接收端點之資料中。處理接著前進至區塊815,於其中被產生之錯誤被引進資料中。該被修改之資料接著在區塊820跨越該通訊鏈路而被通訊。接著在區塊825,錯誤在通訊鏈路接收端點上被獲得。該被獲得之錯誤接著在區塊830被分析以比較於初始被引入之錯誤。依據該比較,通訊鏈路操作在區塊835被核對。接著在區塊840進行檢查以判定鏈路是否如所預期地操作。如果在區塊840之檢查指示通訊鏈路是如所預期地操作,則處理程序終止在區塊850。Figure 8 shows the processing performed by the example data communication structure 200 of Figure 2 when an error is introduced as part of the communication link test. As shown, processing begins at block 800 and proceeds to block 805 where a communication link is established. From there, processing proceeds to block 810 where one or more errors (eg, runaway, time lapse, incorrect small data packets, etc.) are introduced from the communication link transmitting endpoint to be communicated to Receive data from the endpoint. Processing then proceeds to block 815 where the error that was generated is introduced into the material. The modified data is then communicated across block 820 across the communication link. Next at block 825, an error is obtained at the communication link receiving endpoint. The error obtained is then analyzed at block 830 to compare the error that was initially introduced. Based on the comparison, the communication link operation is checked at block 835. A check is then made at block 840 to determine if the link is operating as intended. If the check at block 840 indicates that the communication link is operating as expected, the process terminates at block 850.

但是,如果在區塊840,判定鏈路不是正確地操作,則處理程序前進至區塊845,於其中通訊鏈路之故障被分析。自該處,處理終止於區塊850。However, if at block 840, it is determined that the link is not operating properly, then the process proceeds to block 845 where the failure of the communication link is analyzed. From there, processing terminates at block 850.

錯誤檢測:Error detection:

第2圖之範例資料通訊結構200同時也能夠有效地檢測資料通訊處理程序之錯誤,而不引進潛伏期至通訊鏈路中。於SERDES資料通訊結構之本文中,展示的實施例能夠再嚐試不能精確地跨越SERDES通訊鏈路而傳輸之資料轉移。The example data communication structure 200 of Fig. 2 can also effectively detect errors in the data communication processing program without introducing an incubation period into the communication link. In the context of the SERDES data communication architecture, the illustrated embodiment is capable of retrieving data transfers that cannot be transmitted accurately across the SERDES communication link.

於SERDES資料通訊結構中,資料封包可被追蹤並且被監控以決定成功的發送。於本文中,越過鏈路之被選擇小資料封包之標幟被監控以決定自通訊鏈路發送端點至通訊鏈路接收端點之成功的發送。在成功的發送之後,認可訊息可立即自通訊鏈路接收端點被傳送至通訊鏈路發送端點以指示一成功的發送。如先前之說明,處理可跨越通訊鏈路被傳送作為小資料封包之一序列:一個具有路由與處理之檔頭小資料封包,以及處理型式資訊之後緊接著完成資料轉移所需之許多另外的小資料封包。於展示的實施例中,該檔頭可包含目前之小資料封包標籤。In the SERDES data communication structure, data packets can be tracked and monitored to determine successful delivery. In this document, the flag of the selected small data packet across the link is monitored to determine the successful transmission from the communication link transmitting endpoint to the communication link receiving endpoint. After successful transmission, the acknowledgement message can be immediately transmitted from the communication link receiving endpoint to the communication link transmitting endpoint to indicate a successful transmission. As previously explained, processing can be transmitted across the communication link as a sequence of small data packets: a small data packet with routing and processing headers, and a number of additional small files needed to process the type information followed by data transfer. Data packet. In the illustrated embodiment, the header can include the current small data packet tag.

操作時,鏈路接收端點檢查包含於檔頭封包中之標籤並且如果所預期的標籤未被發現,則標示鏈路錯誤。就其本身而論,當預期為檔頭之下一個小資料封包不具有正確之標籤時,由於捨去或重複小資料封包之錯誤將被發現。但是,直至全部處理被完成為止,錯誤可能不被檢測時,可能產生無效率性。In operation, the link receiving endpoint checks the tag contained in the header packet and indicates a link error if the expected tag is not found. For its part, when it is expected that a small data packet under the file header does not have the correct label, errors due to rounding off or repeating the small data packet will be discovered. However, when all the processing is completed, the error may not be detected, and inefficiency may occur.

所展示的實施例提供,包含隱式標籤的位元於被使用以保護小資料封包的位元錯誤之同位欄的能力。操作時,該標籤位元被包含於被計算以檢測位元錯誤之一不同的同位位元中。就其本身而論,被遺失的或被重複的小資料封包將導致通訊鏈路接收端點上之同位計算錯誤。所展示的實施例,在檢測一同位錯誤之後,可立即要求小資料封包的再發送並且同時也可以防止訛誤的資料自通訊鏈路接收端點被傳送。The illustrated embodiment provides the ability to include bits of an implicit tag in a co-located column that is used to protect the bit error of a small data packet. In operation, the tag bit is included in a parity bit that is calculated to detect a different bit error. For its part, lost or duplicated small data packets will result in a parity calculation error on the communication link receiving endpoint. The illustrated embodiment, upon detecting a parity error, immediately requests retransmission of the small data packet and also prevents the corrupted data from being transmitted from the communication link receiving endpoint.

第9圖展示當檢測資料通訊處理之錯誤時,利用第2圖範例資料通訊結構200所進行之處理。如所展示,處理開始於區塊900並且前進至區塊905,於其中一通訊鏈路被建立。自該處,處理程序前進至區塊910,於其中隱式資料標籤之標籤位元被產生。該被產生之標籤位元接著在區塊915被編碼(例如,計算攜帶資料越過頻道的八個同位位元,其中,各個同位位元是以於鏈路上被傳送資料之8位元之第1,2,3,…8位元為主的通訊)成為通訊鏈路發送端點上之同位位元計算。自該處,處理前進至區塊920,於其中具有被編碼標籤位元作為同位位元之部份之資料跨越該通訊鏈路而被通訊。該資料在通訊鏈路接收端點被接收並且該同位資料在區塊925利用接收端點被計算。接著在區塊930進行檢查以決定在被發送之同位計算以及該被接收之同位計算中是否有任何錯誤。如果在區塊930判定沒有錯誤,則處理程序前進至區塊940,於其中該資料通訊處理繼續。處理程序接著終止於區塊945。Figure 9 shows the processing performed by the example data communication structure 200 of Figure 2 when detecting errors in data communication processing. As shown, processing begins at block 900 and proceeds to block 905 where a communication link is established. From there, the process proceeds to block 910 where the tag bit of the implicit data tag is generated. The generated tag bit is then encoded at block 915 (e.g., the eight parity bits carrying the data across the channel are calculated, wherein each co-bit is the first of the octets of the transmitted data on the link. , 2, 3, ... 8-bit-based communication) becomes the calculation of the parity bit on the transmission link of the communication link. From there, processing proceeds to block 920 where the data having the encoded tag bit as part of the parity bit is communicated across the communication link. The data is received at the communication link receiving endpoint and the parity data is calculated at block 925 using the receiving endpoint. A check is then made at block 930 to determine if there are any errors in the transmitted parity calculation and the received parity calculation. If it is determined at block 930 that there are no errors, then the process proceeds to block 940 where the data communication process continues. The process then terminates at block 945.

但是,如果在區塊930,判定有錯誤,則處理程序前進至區塊940,於其中資料再發送要求利用通訊鏈路接收端點被傳送至通訊鏈路發送端點。處理程序接著返回至區塊910並且繼續。However, if at block 930, an error is determined, then the process proceeds to block 940 where the data retransmission request is transmitted to the communication link transmitting endpoint using the communication link. The process then returns to block 910 and continues.

簡言之,上述之裝置和方法提供一種資料通訊結構,其採用於減低資料潛伏期之計算環境通訊結構。但是,應了解到,本發明可有各種修改以及不同的構造。本發明是不限於此處說明之特定構造。相對地,本發明是有意地涵蓋所有的修改、不同的構造、以及在本發明範圍和精神之內之等效者。Briefly, the above apparatus and method provide a data communication structure for use in a computing environment communication structure that reduces data latency. However, it should be understood that the invention is capable of various modifications and various modifications. The invention is not limited to the specific configurations described herein. Rather, the invention is intended to cover all modifications, various modifications, and equivalents

同時也應注意到,本發明可被製作於多種電腦環境(包含非無線和無線電腦兩環境)、部份的計算環境、以及真實世界環境中。上述之各種技術可被製作於硬體或軟體中,或其兩者之組合中。最好是,該技術被製作於保持可程控電腦之計算環境中,該可程控電腦包含一處理器、一可利用該處理器讀取之儲存媒體(包含依電性和非依電性記憶體及/或儲存元件)、至少一輸入裝置、以及至少一輸出裝置。配合於各種指令集之計算硬體邏輯被應用至資料以進行上述之功能並且產生輸出資訊。該輸出資訊被施加至一個或多個輸出裝置。被範例計算硬體所使用之程式可以各種程式語言(其包含高位準程序或物件導向之程式語言)而最佳地被製作,以與電腦系統通訊。如果需要的話,此處所說明之裝置和方法可以組合或機器語言被製作。於任何情況情況中,該語言可以是被編譯或被釋譯之語言。此電腦程式最好是各被儲存於儲存媒體或裝置(例如,ROM或磁碟)上,其是可利用一般或特殊用途之可程控電腦被讀取,當該儲存媒體或裝置利用電腦被讀取時,其可組態和操作該電腦以進行上述之步驟。該裝置同時也可考慮被製作為電腦可讀取儲存媒體,利用電腦程式被組態,其中因此被組態之儲存媒體導致電腦以特定和預定方式操作。It should also be noted that the present invention can be fabricated in a variety of computer environments (including both non-wireless and wireless computer environments), part of the computing environment, and real world environments. The various techniques described above can be fabricated in hardware or software, or a combination of both. Preferably, the technology is fabricated in a computing environment that maintains a programmable computer, the programmable computer including a processor, a storage medium readable by the processor (including electrical and non-electrical memory) And/or storage element), at least one input device, and at least one output device. Computational hardware logic coupled to various instruction sets is applied to the data to perform the functions described above and to generate output information. The output information is applied to one or more output devices. The programs used by the example computing hardware can be optimally programmed to communicate with a computer system in a variety of programming languages, including high level programming or object oriented programming languages. The apparatus and methods described herein can be fabricated in combination or machine language, if desired. In any case, the language can be a language that is compiled or interpreted. Preferably, the computer programs are each stored on a storage medium or device (for example, a ROM or a magnetic disk), which can be read by a programmable computer for general or special use, when the storage medium or device is read by a computer. In time, it can configure and operate the computer to perform the above steps. The device can also be considered as a computer readable storage medium, configured using a computer program, whereby the configured storage medium causes the computer to operate in a specific and predetermined manner.

雖然上面已詳細說明本發明實施範例,熟習本技術者應明白,本發明實施範例可有許多另外的修改而實質上不脫離本發明的新穎技術和優點。因此,這些和所有的此等修改將包含於本發明範圍之內。本發明可藉由下面的申請專利範圍而較佳地被定義。While the invention has been described in detail hereinabove, it is understood that the invention may be Accordingly, these and all such modifications are intended to be included within the scope of the invention. The invention is preferably defined by the scope of the following claims.

100...計算系統100. . . Computing system

105...系統匯流排105. . . System bus

110...電腦中央處理單元110. . . Computer central processing unit

112...互連112. . . interconnection

115...輔助處理器115. . . Auxiliary processor

120...記憶體控制器120. . . Memory controller

125...隨機存取記憶體(RAM)125. . . Random access memory (RAM)

130...唯讀記憶體(ROM)130. . . Read only memory (ROM)

135...週邊控制器135. . . Peripheral controller

140...印表機140. . . Printer

145...鍵盤145. . . keyboard

150...滑鼠150. . . mouse

155...資料儲存驅動器155. . . Data storage drive

160...通訊網路160. . . Communication network

163...顯示器控制器163. . . Display controller

165...顯示器165. . . monitor

170...網路轉接器170. . . Network adapter

180...計算應用180. . . Computing application

200...資料通訊結構200. . . Data communication structure

205...資料通訊界面模組205. . . Data communication interface module

210...資料通訊界面模組210. . . Data communication interface module

215...背板215. . . Backplane

220...實體鏈路220. . . Physical link

225...實體連接器225. . . Physical connector

230...通訊資料230. . . Communication information

234...發送方向234. . . Sending direction

235、240...發送接收核心組對235, 240. . . Send and receive core group pair

245、250...發送接收核心組對245, 250. . . Send and receive core group pair

300...發送核心環境300. . . Send core environment

305...除錯模組305. . . Debug module

310...訓練模組310. . . Training module

315...錯誤引入模組315. . . Error introduction module

320...錯誤檢測模組320. . . Error detection module

400...接收核心400. . . Receiving core

405...除錯模組405. . . Debug module

410...訓練模組410. . . Training module

415...錯誤引入模組415. . . Error introduction module

420...錯誤檢測模組420. . . Error detection module

第1圖是依據上述系統和方法實施例之計算環境範例的方塊圖;第2圖是展示配合於資料通訊結構範例之構件範例的方塊圖;第3圖是依據資料通訊結構實施範例之發送核心的方塊圖;第4圖是依據資料通訊結構實施範例之接收核心的方塊圖;第5圖是展示當通訊資料時藉由資料通訊結構範例被進行之處理的流程圖;第6圖是展示當處理除錯資訊時藉由資料通訊結構範例被進行之處理的流程圖;第7圖是展示當處理識別資訊時藉由資料通訊結構範例被進行之處理的流程圖;第8圖是展示當引入錯誤作為部份鏈路測試時藉由資料通訊結構範例被進行之處理的流程圖;以及第9圖是展示當處理錯誤檢測時藉由資料通訊結構範例被進行之處理的流程圖。1 is a block diagram showing an example of a computing environment according to the above system and method embodiment; FIG. 2 is a block diagram showing an example of a component that is combined with an example of a data communication structure; and FIG. 3 is a transmitting core according to an example of a data communication structure implementation; Figure 4 is a block diagram of the receiving core according to the implementation example of the data communication structure; Figure 5 is a flow chart showing the processing performed by the data communication structure example when communicating data; Figure 6 is a diagram showing A flow chart processed by the data communication structure example when processing debug information; FIG. 7 is a flow chart showing the processing performed by the data communication structure example when processing the identification information; FIG. 8 is a display when introduced The error is a flow chart processed by the data communication structure example as part of the link test; and FIG. 9 is a flow chart showing the processing performed by the data communication structure example when the error detection is processed.

200...資料通訊結構200. . . Data communication structure

205...資料通訊界面模組205. . . Data communication interface module

210...資料通訊界面模組210. . . Data communication interface module

215...背板215. . . Backplane

220...實體鏈路220. . . Physical link

225...實體連接器225. . . Physical connector

230...通訊資料230. . . Communication information

234...發送方向234. . . Sending direction

235、240...發送接收核心組對235, 240. . . Send and receive core group pair

245、250...發送接收核心組對245, 250. . . Send and receive core group pair

Claims (11)

一種用以識別一資料通訊架構之構件的系統,該系統包含:一訓練模組,其操作以依據一訓練序列而組配該資料通訊架構之該等構件;一位置識別符,其包含該訓練序列之一部份,以指示該資料通訊架構之至少一個第一構件相對於該資料通訊架構之一個第二構件之實體和虛擬位置;以及具有一發射端點及一接收端點之一通訊鏈路,其操作以跨越該資料通訊架構之該等構件而傳送該位置識別符;其中該發射端點及該接收端點之其中之一包括該第一構件,且該發射端點及該接收端點之另外一個則包括該第二構件。 A system for identifying components of a data communication architecture, the system comprising: a training module operative to assemble the components of the data communication architecture in accordance with a training sequence; a location identifier comprising the training a portion of the sequence to indicate the physical and virtual location of at least one first component of the data communication architecture relative to a second component of the data communication architecture; and a communication link having a transmitting endpoint and a receiving endpoint The operation of transmitting the location identifier across the components of the data communication architecture; wherein one of the transmitting endpoint and the receiving endpoint comprises the first component, and the transmitting endpoint and the receiving end The other point includes the second member. 如申請專利範圍第1項之系統,其進一步地包含至少一指令集以提供指示至該訓練模組而嵌進該位置識別符作為該訓練序列之部份。 The system of claim 1, further comprising at least one set of instructions to provide an indication to the training module to embed the location identifier as part of the training sequence. 如申請專利範圍第2項之系統,其中該通訊鏈路包含一串列化器和一解串列化器之任一者。 The system of claim 2, wherein the communication link comprises any one of a serializer and a deserializer. 如申請專利範圍第3項之系統,其中該訓練模組包含該串列化器之一部份。 The system of claim 3, wherein the training module includes a portion of the serializer. 如申請專利範圍第4項之系統,其中該訓練模組包含該解串列化器之一部份。 The system of claim 4, wherein the training module includes a portion of the deserializer. 如申請專利範圍第1項之系統,其中該位置識別符在該 通訊鏈路之一發送端點產生。 The system of claim 1, wherein the location identifier is One of the communication links is generated by the sending endpoint. 如申請專利範圍第1項之系統,其中跨越該通訊鏈路傳送之該位置識別符在該通訊鏈路之一接收端點被獲得。 A system as claimed in claim 1, wherein the location identifier transmitted across the communication link is obtained at a receiving end of the communication link. 如申請專利範圍第7項之系統,其中該被獲得之位置識別符在該通訊鏈路之該接收端點與一選定數值相比較。 The system of claim 7, wherein the obtained location identifier is compared to a selected value at the receiving end of the communication link. 如申請專利範圍第8項之系統,其中該通訊鏈路之該接收端點包含於該訓練模組所提供以識別一錯誤之一組預期數值。 The system of claim 8, wherein the receiving end of the communication link is included in a set of expected values provided by the training module to identify an error. 如申請專利範圍第9項之系統,其進一步地包含提供指示至該通訊鏈路之該接收端點以處理一被識別之錯誤之一指令集。 A system of claim 9 further comprising a set of instructions for providing an indication to the receiving endpoint of the communication link to process an identified error. 如申請專利範圍第10項之系統,其中當識別到一個錯誤時,該通訊鏈路之該接收端點產生一個報告。 A system as claimed in claim 10, wherein the receiving end of the communication link generates a report when an error is identified.
TW94113113A 2004-05-25 2005-04-25 System to identify components of a data communications architecture TWI383294B (en)

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 (en) 2013-01-21

Family

ID=50023229

Family Applications (1)

Application Number Title Priority Date Filing Date
TW94113113A TWI383294B (en) 2004-05-25 2005-04-25 System to identify components of a data communications architecture

Country Status (1)

Country Link
TW (1) TWI383294B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI567547B (en) * 2015-04-02 2017-01-21 三菱電機股份有限公司 Redundancy system and communication unit
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 (en) * 2015-04-02 2017-01-21 三菱電機股份有限公司 Redundancy system and communication unit
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 (en) * 2015-09-25 2023-07-11 美商英特爾股份有限公司 Integrated circuit, method and computer system for allowing secure communications

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
CN107122277A (en) The wrong test system of PCIERAS notes and method based on PCIE protocol analyzers
JP3996928B2 (en) How to handle corrupted data
US20070179733A1 (en) Methods and apparatus for testing a link between chips
US7436777B2 (en) Failed link training
CN115685785A (en) Universal bus model and simulation test method
CN1703027B (en) Transmitting debugging information
FR2865089A1 (en) METHOD FOR COMMUNICATING DATA USING RECOVERY DATA BUFFERS
TWI383294B (en) System to identify components of a data communications architecture
US7363402B2 (en) Data communications architecture employing parallel SERDES channels
US20060184707A1 (en) Error injection
KR101086599B1 (en) Uncertain data arrival time
US7672222B2 (en) Link failures
CN115454881A (en) Debugging system and debugging method of RISC-V architecture
US7624213B2 (en) Passing identification information
US7310762B2 (en) Detection of errors
US7613958B2 (en) Error detection in a system having coupled channels
JP4455393B2 (en) Programmable logic controller
CN104699418B (en) The method and apparatus of abnormal restoring is carried out to safe digital card
CN116775390B (en) Interface protocol conversion verification system and method, electronic equipment and storage medium
TWI381174B (en) A testing system and method of the peripheral component interconnect express
TWI298438B (en)

Legal Events

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