EP1728170A2 - Signaling arrangement and approach therefor - Google Patents
Signaling arrangement and approach thereforInfo
- Publication number
- EP1728170A2 EP1728170A2 EP05718562A EP05718562A EP1728170A2 EP 1728170 A2 EP1728170 A2 EP 1728170A2 EP 05718562 A EP05718562 A EP 05718562A EP 05718562 A EP05718562 A EP 05718562A EP 1728170 A2 EP1728170 A2 EP 1728170A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- pci express
- endpoint device
- tag field
- communications link
- arrangement
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
- 230000011664 signaling Effects 0.000 title abstract description 20
- 238000013459 approach Methods 0.000 title description 31
- 238000004891 communication Methods 0.000 claims abstract description 66
- 230000001360 synchronised effect Effects 0.000 claims abstract description 49
- 230000004044 response Effects 0.000 claims description 9
- 238000000034 method Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 4
- 238000011144 upstream manufacturing Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4295—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
Definitions
- the present invention relates generally to passing information and, more particularly, to the passing of information involving the use of a tag (or similar) field for communicating information.
- Many different types of electronic communications are carried out for a variety of purposes and with a variety of different types of devices and systems.
- One type of electronic communications system involves those communications associated with BUS- type communications between two or more different components.
- computers typically include a central processing unit (CPU) that communicates with peripheral devices via a bus. Instructions and other information is passed between the CPU and the peripheral devices on a communications BUS or other link.
- PCI Peripheral Component Interconnect
- PCI is an interconnection system between a microprocessor and attached devices in which expansion slots are spaced closely for high speed operation.
- a computer can support new PCI cards while continuing to support Industry Standard Architecture (ISA), expansion cards, which is an older standard.
- ISA Industry Standard Architecture
- PCI is designed to be independent of microprocessor design and to be synchronized with the clock speed ofthe microprocessor.
- PCI uses active paths (on a multi-drop bus) to transmit both address and data signals, sending the address on one clock cycle and data on the next.
- the PCI bus can be populated with adapters requiring fast accesses to each other and/or system memory and that can be accessed by a host processor at speeds approaching that of the processor's full native bus speed.
- PCI-type architecture is widely implemented, and is now installed on most desktop computers.
- PCI Express architecture exhibits similarities to PCI architecture with certain changes.
- PCI Express architecture employs a switch that replaces the multi-drop bus ofthe PCI architecture with a switch that provides fan-out for an input-output (I/O) bus. The fan- out capability ofthe switch facilitates a series of connections for add-in, high-performance I/O.
- the switch is a logical element that may be implemented within a component that also contains a host bridge.
- a PCI switch can logically be thought of, e.g., as a collection of PCI-to-PCI bridges in which one bridge is the upstream bridge that is connected to a private local bus via its downstream side to the upstream sides of a group of additional PCI-to-PCI bridges.
- information such as that indicating synchronization events is desirably signaled to devices, such as PCI Express endpoint devices, communicatively coupled to one another.
- this signaling involves the use of interrupts requiring multiple packets, vendor unique message processing or other processing that tends to slow the processing of communications.
- interrupts generally involve periodic breaks in communication on the bus, thus interrupting streaming data such as write data. These breaks tend to increase the communication overhead of synchronization events (e.g., by increasing latency and tying up communication bandwidth).
- PCI Express communications approaches include PCI Express communications approaches.
- Various aspects ofthe present invention involve communication approaches for a variety of computer circuits, such as those including communication BUS-type structures (e.g., PCI-type structures) and others.
- the present invention is exemplified in a number of implementations and applications, some of which are summarized below.
- information is included in a tag field of data posted to a communications link, such as posted request data.
- This posted data is communicated between devices coupled to the link and can be used to. signal, for example, synchronous events.
- synchronous events are signaled to PCI Express devices by setting a tag field of posted write request data to a "true" value.
- the tag field can be used in accordance with PCI Express communication approaches to send data relating to the synchronous events from a PCI Express endpoint device to another PCI Express endpoint device using a common PCI
- the tag field can be implemented in accordance with PCI Express requirements allowing the tag field for such requests to include any value.
- the information in the tag field can be transferred across hubs and switches and is correspondingly compatible with PCI Express protocol requirements and checkers.
- FIG. 1 is an arrangement for communications involving the signaling of synchronous events between devices communicatively coupled with a link, according to an example embodiment ofthe present invention
- FIG. 2 is a flow diagram for an approach to signaling synchronous events between endpoints on a PCI Express link, according to another example embodiment ofthe present invention.
- a communications arrangement includes a communications link with at least two endpoint type devices adapted for passing information using a tag (or similar) field of communications over the communications link (e.g., via the tag field of posted write data).
- the communications link may include, for example, a PCI Express bus, switch and/or other component(s).
- the tag field communication can be effected while facilitating the passing ofthe selected information with other communications (i.e., that do not necessarily require or disallow use ofthe tag field).
- the above-discussed approach is implemented with a PCI
- the tag field is identified by a Requester function and returned by a Completer function, and, in some instances, where the Requester function involves a posted write that does not require completion.
- the Requester function is implemented by a Requester (a logical device that introduces a sequence, or logical transfer into the PCI Express domain) that implements a Request, or packet.
- the Completer function is implemented by a Completer (a logical device addressed by the Requester) that generates a Completion, or packet, in response to a Request and that terminates, or partially terminates a sequence.
- the Requester function uses the tag field in any manner, such as for signaling synchronous events.
- PCI Express-compliant See PCI Express-compliant
- the communications system 100 includes a PCI Express switch 110 adapted to pass communications among a host 105 and a plurality of endpoint devices including endpoint devices 150 and 152.
- the host 105 e.g., a CPU, network-based chipset, a host bridge or another PCI Express type link
- a plurality of downstream ports including downstream ports 140, 142, 144 and 146 are also coupled to the virtual PCI Express bus 130, each downstream port being adapted to pass data to and receive data from a PCI Express endpoint device.
- Each ofthe endpoint devices 150 and 152 are configured for communicating synchronous event information using the tag field of posted write packets passed on the virtual bus 130. For instance, when endpoint device 150 is communicating information in packet form via the virtual bus 130, a tag field in a portion ofthe packet can be set with data related to a synchronous event. Endpoint device 152 then parses the packet(s) and uses information in the tag field to ascertain the synchronous event information.
- endpoint device 150 acts as a requester in posting write data, with a write request being posted to the virtual PCI Express bus 130 in packet form.
- This write request includes a "tag in" signal (e.g., one or more bits) in a header ofthe write request, alerting recipients ofthe write request to a synchronous event condition.
- the tag in data is set when the synchronous event is "true” and removed (or not set) when the synchronous event is not true.
- An endpoint device e.g., endpoint device 152 parsing the posted write request identifies the synchronous event using the tag in data and responds to the synchronization event signal from endpoint device 150 with appropriate action.
- This endpoint device acts here as a completer device that does not respond to the endpoint device 150 (i.e., with the requests including tag field signaling not requiring completion).
- the intended recipient ofthe posted write data is not necessarily the intended recipient ofthe synchronous event signal.
- the completer device 152 and/or another endpoint device coupled to one ofthe downstream ports 140-146 may process the synchronous event data, while a different endpoint device processes other portions ofthe posted write data.
- an adapter is used to create packets for transmission on the virtual PCI Express bus 130 in response to requests by each endpoint device.
- Each adapter may be implemented, for example, in connection with a PCI Express endpoint device generating a posted write or at the PCI Express switch 110.
- Each adapter has an input and a corresponding output (e.g., a single bit or an extended bit up to about 8 bits wide) that is used in providing the synchronous event signal in the tag field.
- the adapter is used with input and output signals for providing the synchronous event signal as follows.
- An input signal is sampled with an address at an input interface with the adapter (e.g., a dynamic termination logic (DTL) target interface).
- This input signal e.g., one or more bits
- An output signal e.g., one or more bits
- the most significant bit ofthe tag field (bit 7 of byte 6) for the memory write drives this output signal from the header of all memory write commands with timing consistent with memory address out timing.
- the output signal is zero for all other cycles (i.e., cycles in which synchronous event-signaling is not carried out) and is only valid when the address out is valid.
- synchronization signaling is disabled when connecting to a non-user PCI Express component and/or system. For instance, when the endpoint devices 150 and 152 are of different types, with the endpoint device 152 implemented with a non- user PCI Express component and/or system, signaling from the endpoint device 150 is disabled. This disabling may be implemented, for example, using a switch or gate type approach. In addition, this approach may be implemented as discussed above in connection with the selective use of synchronous event signaling with compatible manufacturers of endpoint devices. The approaches discussed above in connection with FIG.
- the tag field of posted write data in a PCI Express arrangement is implemented and defined such that each outstanding transaction requiring a complete (non posted operation requiring a response) has a unique tag. These outstanding transactions are not implemented for communicating synchronous event data in the tag field, and are compliant with PCI Express type communications.
- read operations use the four least significant bits (LSBs) with the four MSBs unused and accordingly being implemented with a "0" value.
- Completion logic is configured to ignore the tag field for posted writes, which is typically implemented for PCI Express type communications, as discussed above.
- the tag field is implemented for synchronous event communication with posted write data (i.e., data not requiring a complete).
- the length ofthe tag field is tailored to the particular application in which the PCI Express arrangement is employed and is further implemented in accordance with available bits. For example, 5 bits may typically be reserved for the tag field in many PCI Express implementations. In other implementations, the tag field is implemented with 8 or more bits (e.g., when an extended tag is enabled) as discussed in the preceding paragraph.
- a JetStream PCI Express core available from Perle Systems of Nashville, Tennessee is used in connection with a tag field synchronization approach.
- endpoint devices implemented for synchronous event signaling with tag fields are configured to limit event signaling to selected device types. For example, when synchronous events are to be signaled for receipt by devices that meet particular manufacturer criteria, a code or other recognition approach is implemented for ensuring that endpoint devices receiving the synchronous event signals meet the criteria (e.g., are manufactured by the particular manufacturer).
- Synchronous event signaling can be enabled after the code or other recognition approach identifies that the criteria have been met. For instance, when synchronous event signaling is to be carried out for two PCI Express endpoint devices having a common manufacturer, signaling by a first PCI Express endpoint device is enabled after determining that the other PCI Express endpoint device is ofthe same manufacturer.
- the tag in signal (e.g., single bit or multiple bits) is added to the tag field using, for instance, an adapter that places the tag signal in the communication header. This tag in signal is set when the 'Synchronization Event' is true, for instance, when a last write or vertical sync pulse is true, with timing being optionally implemented substantially identical to any address line.
- a tag out signal (e.g., single bit or multiple bits) is added to the tag field ofthe communication in order to remove the synchronization event information from additional communications effected via the adapter.
- the tag out can be implemented in a similar manner to the implementation of the tag in signal discussed above.
- an adapter can be used to take bit(s) out of the tag field of a header in a manner that is similar to the extraction of an address bit from a header, thus providing a new signal(s) with the same timing as address out timing.
- FIG. 2 shows a flow diagram for synchronous event signaling, according to another example embodiment ofthe present invention.
- write data is generated at a first PCI Express endpoint device for posting to a PCI Express communications link. If a synchronous event is active at block 220, a tag field header ofthe write data is set at block 230, indicating the active nature ofthe synchronous event. At block 240, the write data is posted with a synchronous event signal (e.g., data indicative of a synchronous event, such as a "true" bit). If a synchronous event is not active at block 220, write data is instead posted at block 225 without a synchronous event signal. Posted write data is accessed at block 250 (e.g., received at another PCI Express endpoint device).
- a synchronous event signal e.g., data indicative of a synchronous event, such as a "true" bit
- the posted write data has a synchronous event signal at block 260, it is processed with the synchronous event signal at block 270. If the posted write data does not have a synchronous event signal at block 260, it is processed (without reference to synchronization) wt block 280. In some instances, the synchronous event signal is processed without processing the write data when, for example, a particular synchronous event is applicable to a PCI Express endpoint device that is not necessarily the intended recipient of other posted write data.
- the approaches discussed herein may be implemented with a variety of PCI Express type arrangements and approaches.
- this approach is, compatible with the PCI Express type protocols for which, regarding requests that do not require completion (posted requests), the value in the tag field is undefined and may contain any value (see PCI Express Base Specification Revision 1.0a, referenced above).
- This approach is further compatible with PCI Express protocols indicating that, for posted requests, the value in the tag field must not affect receiver processing ofthe request; non zero tag bits are thus legal.
- this approach can be implemented such that the tag field does not affect receiver processing ofthe request.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Near-Field Transmission Systems (AREA)
Abstract
A communications arrangement is implemented for tag-field type communications signaling. According to an example embodiment of the present invention, a communications arrangement, such as a PCI Express type arrangement, is configurable for communicating over a communications link using a tag (or similar) available field. According to an example embodiment of the present invention involving PCI Express communications, a first PCI Express endpoint device (150) is adapted to communicate selected information (e.g., synchronous event signals) to a second PCI Express endpoint device (152) using the tag field of data posted to a PCI Express communications link (130). The tag field is set to indicate a characteristic of the synchronous event, and passed from the first PCI Express endpoint device to the second PCI Express endpoint device.
Description
SIGNALING ARRANGEMENT AND APPROACH THEREFOR The present invention relates generally to passing information and, more particularly, to the passing of information involving the use of a tag (or similar) field for communicating information. Many different types of electronic communications are carried out for a variety of purposes and with a variety of different types of devices and systems. One type of electronic communications system involves those communications associated with BUS- type communications between two or more different components. For instance, computers typically include a central processing unit (CPU) that communicates with peripheral devices via a bus. Instructions and other information is passed between the CPU and the peripheral devices on a communications BUS or other link. One type of communications approach involves the use of a PCI (Peripheral Component Interconnect) system. PCI is an interconnection system between a microprocessor and attached devices in which expansion slots are spaced closely for high speed operation. Using PCI, a computer can support new PCI cards while continuing to support Industry Standard Architecture (ISA), expansion cards, which is an older standard. PCI is designed to be independent of microprocessor design and to be synchronized with the clock speed ofthe microprocessor. PCI uses active paths (on a multi-drop bus) to transmit both address and data signals, sending the address on one clock cycle and data on the next. The PCI bus can be populated with adapters requiring fast accesses to each other and/or system memory and that can be accessed by a host processor at speeds approaching that of the processor's full native bus speed. Read and write transfers over the PCI bust are implemented with burst transfers that can be sent starting with an address on the first cycle and a sequence of data transmissions on a certain number of successive cycles. The length of the burst is negotiated between the initiator and target devices and may be of any length. PCI-type architecture is widely implemented, and is now installed on most desktop computers. PCI Express architecture exhibits similarities to PCI architecture with certain changes. PCI Express architecture employs a switch that replaces the multi-drop bus ofthe PCI architecture with a switch that provides fan-out for an input-output (I/O) bus. The fan- out capability ofthe switch facilitates a series of connections for add-in, high-performance I/O. The switch is a logical element that may be implemented within a component that also contains a host bridge. A PCI switch can logically be thought of, e.g., as a collection of
PCI-to-PCI bridges in which one bridge is the upstream bridge that is connected to a private local bus via its downstream side to the upstream sides of a group of additional PCI-to-PCI bridges. In some instances, information such as that indicating synchronization events is desirably signaled to devices, such as PCI Express endpoint devices, communicatively coupled to one another. Typically, this signaling involves the use of interrupts requiring multiple packets, vendor unique message processing or other processing that tends to slow the processing of communications. These interrupts generally involve periodic breaks in communication on the bus, thus interrupting streaming data such as write data. These breaks tend to increase the communication overhead of synchronization events (e.g., by increasing latency and tying up communication bandwidth). These and other limitations present challenges to the implementation of integrated devices with a variety of communications approaches including PCI Express communications approaches. Various aspects ofthe present invention involve communication approaches for a variety of computer circuits, such as those including communication BUS-type structures (e.g., PCI-type structures) and others. The present invention is exemplified in a number of implementations and applications, some of which are summarized below. According to an example embodiment ofthe present invention, information is included in a tag field of data posted to a communications link, such as posted request data. This posted data is communicated between devices coupled to the link and can be used to. signal, for example, synchronous events. With this approach, limitations including those discussed above typically associated with interrupt and other type of synchronous event signaling are reduced and/or eliminated while fully complying with any field-use associated requirements, such as those implemented with PCI Express requirements. According to another example embodiment ofthe present invention, synchronous events are signaled to PCI Express devices by setting a tag field of posted write request data to a "true" value. For example, the tag field can be used in accordance with PCI Express communication approaches to send data relating to the synchronous events from a PCI Express endpoint device to another PCI Express endpoint device using a common PCI
Express link to which the devices are communicatively coupled. When implemented with posted write request data that does not require a response (e.g., completion), the tag field can be implemented in accordance with PCI Express requirements allowing the tag field for
such requests to include any value. The information in the tag field can be transferred across hubs and switches and is correspondingly compatible with PCI Express protocol requirements and checkers. The above summary ofthe present invention is not intended to describe each embodiment or every implementation ofthe present invention. The above summary ofthe present invention is not intended to describe each illustrated embodiment or every implementation ofthe present invention. The figures and detailed description that follow more particularly exemplify these embodiments. The invention may be more completely understood in consideration ofthe following detailed description of various embodiments ofthe invention in connection with the accompanying drawings, in which: FIG. 1 is an arrangement for communications involving the signaling of synchronous events between devices communicatively coupled with a link, according to an example embodiment ofthe present invention; and FIG. 2 is a flow diagram for an approach to signaling synchronous events between endpoints on a PCI Express link, according to another example embodiment ofthe present invention. While the invention is amenable to various modifications and alternative forms, specifics thereof have been shown by way of example in the drawings and will be described in detail. It should be understood, however, that the intention is not to limit the invention to the particular embodiments described. On the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the scope ofthe invention as defined by the appended claims. The present invention is believed to be applicable to a variety of circuits and approaches involving electronic communications, and in particular to those involving communications between endpoint-type devices coupled to a common link. While the present invention is not necessarily limited to such applications, an appreciation of various aspects ofthe invention is best gained through a discussion of examples in such an environment. According to an example embodiment ofthe present invention, a communications arrangement includes a communications link with at least two endpoint type devices adapted for passing information using a tag (or similar) field of communications over the communications link (e.g., via the tag field of posted write data). The communications link
may include, for example, a PCI Express bus, switch and/or other component(s). With this approach, the tag field communication can be effected while facilitating the passing ofthe selected information with other communications (i.e., that do not necessarily require or disallow use ofthe tag field). In one implementation, the above-discussed approach is implemented with a PCI
Express arrangement. The tag field is identified by a Requester function and returned by a Completer function, and, in some instances, where the Requester function involves a posted write that does not require completion. The Requester function is implemented by a Requester (a logical device that introduces a sequence, or logical transfer into the PCI Express domain) that implements a Request, or packet. The Completer function is implemented by a Completer (a logical device addressed by the Requester) that generates a Completion, or packet, in response to a Request and that terminates, or partially terminates a sequence. In certain PCI Express applications wherein the Completer is not responsive to data in the tag field (i.e., the Completer function does not process the tag field), the Requester function uses the tag field in any manner, such as for signaling synchronous events. For more information regarding the above-mentioned functions (and others herein) as implemented in connection with "PCI Express-compliant" applications, reference may be made to "PCI Express Base Specification Revision 1.0a," April 2003, available from PCI- SIG (PCI-special interest group) of Portland, Oregon. Approaches that are compliant with this PCI Express Base Specification can be considered "PCI Express-compliant." Turning now to the figures, FIG. 1 shows a PCI Express-type communications system 100 implemented for transporting synchronous events using tag fields of posted write packets, according to another example embodiment ofthe present invention. While shown in and discussed with PCI Express-type approaches, the communications system 100 may be implemented using other communications types and protocols, either with PCI Express or different from PCI Express. The communications system 100 includes a PCI Express switch 110 adapted to pass communications among a host 105 and a plurality of endpoint devices including endpoint devices 150 and 152. The host 105 (e.g., a CPU, network-based chipset, a host bridge or another PCI Express type link) passes data to and receives data from an upstream port 120, which is coupled to a virtual (e.g., software-implemented) PCI Express bus 130. A plurality of downstream ports including downstream ports 140, 142, 144 and 146 are also coupled to
the virtual PCI Express bus 130, each downstream port being adapted to pass data to and receive data from a PCI Express endpoint device. Each ofthe endpoint devices 150 and 152 are configured for communicating synchronous event information using the tag field of posted write packets passed on the virtual bus 130. For instance, when endpoint device 150 is communicating information in packet form via the virtual bus 130, a tag field in a portion ofthe packet can be set with data related to a synchronous event. Endpoint device 152 then parses the packet(s) and uses information in the tag field to ascertain the synchronous event information. In one implementation, endpoint device 150 acts as a requester in posting write data, with a write request being posted to the virtual PCI Express bus 130 in packet form. This write request includes a "tag in" signal (e.g., one or more bits) in a header ofthe write request, alerting recipients ofthe write request to a synchronous event condition. The tag in data is set when the synchronous event is "true" and removed (or not set) when the synchronous event is not true. An endpoint device (e.g., endpoint device 152) parsing the posted write request identifies the synchronous event using the tag in data and responds to the synchronization event signal from endpoint device 150 with appropriate action. This endpoint device acts here as a completer device that does not respond to the endpoint device 150 (i.e., with the requests including tag field signaling not requiring completion). In some implementations, the intended recipient ofthe posted write data is not necessarily the intended recipient ofthe synchronous event signal. In this regard, the completer device 152 and/or another endpoint device coupled to one ofthe downstream ports 140-146 may process the synchronous event data, while a different endpoint device processes other portions ofthe posted write data. In another implementation, an adapter is used to create packets for transmission on the virtual PCI Express bus 130 in response to requests by each endpoint device. Each adapter may be implemented, for example, in connection with a PCI Express endpoint device generating a posted write or at the PCI Express switch 110. Each adapter has an input and a corresponding output (e.g., a single bit or an extended bit up to about 8 bits wide) that is used in providing the synchronous event signal in the tag field.
In one implementation, the adapter is used with input and output signals for providing the synchronous event signal as follows. An input signal is sampled with an
address at an input interface with the adapter (e.g., a dynamic termination logic (DTL) target interface). This input signal (e.g., one or more bits) drives the most significant bit of a tag field in the header for memory write commands. An output signal (e.g., one or more bits) corresponding to the input signal is provided with an address at an interface (e.g., a DTL initiator interface). The most significant bit ofthe tag field (bit 7 of byte 6) for the memory write drives this output signal from the header of all memory write commands with timing consistent with memory address out timing. The output signal is zero for all other cycles (i.e., cycles in which synchronous event-signaling is not carried out) and is only valid when the address out is valid. In some implementations, synchronization signaling is disabled when connecting to a non-user PCI Express component and/or system. For instance, when the endpoint devices 150 and 152 are of different types, with the endpoint device 152 implemented with a non- user PCI Express component and/or system, signaling from the endpoint device 150 is disabled. This disabling may be implemented, for example, using a switch or gate type approach. In addition, this approach may be implemented as discussed above in connection with the selective use of synchronous event signaling with compatible manufacturers of endpoint devices. The approaches discussed above in connection with FIG. 1 and otherwise herein can be implemented for a variety of applications and in a variety of manners. For instance, in another example embodiment, the tag field of posted write data in a PCI Express arrangement is implemented and defined such that each outstanding transaction requiring a complete (non posted operation requiring a response) has a unique tag. These outstanding transactions are not implemented for communicating synchronous event data in the tag field, and are compliant with PCI Express type communications. When implemented with an 8-bit data field, read operations use the four least significant bits (LSBs) with the four MSBs unused and accordingly being implemented with a "0" value. Completion logic is configured to ignore the tag field for posted writes, which is typically implemented for PCI Express type communications, as discussed above. In this regard, the tag field is implemented for synchronous event communication with posted write data (i.e., data not requiring a complete). The length ofthe tag field is tailored to the particular application in which the PCI Express arrangement is employed and is further implemented in accordance with available bits. For example, 5 bits may typically be reserved for the tag field in many PCI Express
implementations. In other implementations, the tag field is implemented with 8 or more bits (e.g., when an extended tag is enabled) as discussed in the preceding paragraph. In another example embodiment, a JetStream PCI Express core available from Perle Systems of Nashville, Tennessee is used in connection with a tag field synchronization approach. When a JetStream core is implemented, the most significant bits (MSBs) are not used for cycles that require completions, and the entire 8-bit field is fixed to all zeros for writes. Optionally, this 8-bit field is implemented for synchronous event signaling. This approach can further be implemented differently for different vendor PCI Express core types. In a more particular example embodiment, endpoint devices implemented for synchronous event signaling with tag fields are configured to limit event signaling to selected device types. For example, when synchronous events are to be signaled for receipt by devices that meet particular manufacturer criteria, a code or other recognition approach is implemented for ensuring that endpoint devices receiving the synchronous event signals meet the criteria (e.g., are manufactured by the particular manufacturer). Synchronous event signaling can be enabled after the code or other recognition approach identifies that the criteria have been met. For instance, when synchronous event signaling is to be carried out for two PCI Express endpoint devices having a common manufacturer, signaling by a first PCI Express endpoint device is enabled after determining that the other PCI Express endpoint device is ofthe same manufacturer. The tag in signal (e.g., single bit or multiple bits) is added to the tag field using, for instance, an adapter that places the tag signal in the communication header. This tag in signal is set when the 'Synchronization Event' is true, for instance, when a last write or vertical sync pulse is true, with timing being optionally implemented substantially identical to any address line. When the synchronization event has been implemented, a tag out signal (e.g., single bit or multiple bits) is added to the tag field ofthe communication in order to remove the synchronization event information from additional communications effected via the adapter. The tag out can be implemented in a similar manner to the implementation of the tag in signal discussed above. For instance, an adapter can be used to take bit(s) out of the tag field of a header in a manner that is similar to the extraction of an address bit from a header, thus providing a new signal(s) with the same timing as address out timing. FIG. 2 shows a flow diagram for synchronous event signaling, according to another example embodiment ofthe present invention. At block 210, write data is generated at a
first PCI Express endpoint device for posting to a PCI Express communications link. If a synchronous event is active at block 220, a tag field header ofthe write data is set at block 230, indicating the active nature ofthe synchronous event. At block 240, the write data is posted with a synchronous event signal (e.g., data indicative of a synchronous event, such as a "true" bit). If a synchronous event is not active at block 220, write data is instead posted at block 225 without a synchronous event signal. Posted write data is accessed at block 250 (e.g., received at another PCI Express endpoint device). If the posted write data has a synchronous event signal at block 260, it is processed with the synchronous event signal at block 270. If the posted write data does not have a synchronous event signal at block 260, it is processed (without reference to synchronization) wt block 280. In some instances, the synchronous event signal is processed without processing the write data when, for example, a particular synchronous event is applicable to a PCI Express endpoint device that is not necessarily the intended recipient of other posted write data. The approaches discussed herein may be implemented with a variety of PCI Express type arrangements and approaches. In some implementations, this approach is, compatible with the PCI Express type protocols for which, regarding requests that do not require completion (posted requests), the value in the tag field is undefined and may contain any value (see PCI Express Base Specification Revision 1.0a, referenced above). This approach is further compatible with PCI Express protocols indicating that, for posted requests, the value in the tag field must not affect receiver processing ofthe request; non zero tag bits are thus legal. In addition, this approach can be implemented such that the tag field does not affect receiver processing ofthe request. The various embodiments described above and shown in the figures are provided by way of illustration only and should not be construed to limit the invention. Based on the above discussion and illustrations, those skilled in the art will readily recognize that various modifications and changes may be made to the present invention without strictly following the exemplary embodiments and applications illustrated and described herein. For instance, data other than synchronous event type data may be amenable to transfer using similar approaches. In addition, one or more ofthe above example embodiments and implementations may be implemented with a variety of PCI Express devices and other approaches, including chips and printed circuit boards (PCBs). The above example embodiments and implementations may also be integrated with a variety of circuits,
devices, systems and approaches including those for use in connection with storage, display, networking and mobile communications. Moreover, various embodiments discussed in the context of PCI and PCI Express type applications may be implemented using a variety of devices and communications approaches, including those not necessarily applicable to PCI or PCI Express. These approaches are implemented in connection with various example embodiments ofthe present invention. Such modifications and changes do not depart from the true spirit and scope ofthe present invention that is set forth in the following claims.
Claims
CLAIMS What is claimed is: 1. A PCI Express arrangement comprising: a PCI Express communications link (110); a PCI Express endpoint device (150) communicatively coupled with the PCI Express communications link and adapted to communicate selected information to another PCI Express endpoint device (152) communicatively coupled with the PCI Express communications link using the tag field of posted data passed over the PCI Express communications link. 2. The arrangement of claim 1, wherein the PCI Express communications link is adapted to communicate selected information including asynchronous event information to another PCI Express endpoint device communicatively coupled with the PCI Express communications link using the tag field of posted write data passed over the PCI Express communications link. 3. The arrangement of claim 2, wherein the PCI Express endpoint device is further adapted to communicate the selected information exclusively using the tag field of posted write data. 4. The arrangement of claim 2, wherein the PCI Express endpoint device is further adapted to assign a unique tag to data passed over the PCI Express communications link that does not include the selected information. 5. The arrangement of claim 4, wherein the PCI Express endpoint device is further adapted to assign the unique tag to data passed over the PCI Express communications link that requires a response from the other PCI Express endpoint device. 6. The arrangement of claim 1, wherein the PCI Express endpoint device is further adapted to communicate information exclusively using the tag field of posted data that does not require a response from the other PCI Express endpoint device. 7. The arrangement of claim 1, wherein the PCI Express endpoint device is configured and arranged to communicate the information using the tag field of a posted data packet passed over the PCI Express communications link. 8. The arrangement of claim 1 , wherein the PCI Express endpoint device is configured and arranged to communicate the selected information using the tag field in a header ofthe posted data packet. 9. The arrangement of claim 1, wherein the PCI Express endpoint device is adapted to communicate selected information including synchronous event information to
the other PCI Express endpoint device using the tag field of posted data passed over the PCI Express communications link. 10. The arrangement of claim 9, wherein the PCI Express endpoint device is adapted to use the tag field to communicate a logical "true" signal indicating that a synchronous event is true. 11. The arrangement of claim 1 , wherein the PCI Express endpoint device is adapted to detect a characteristic ofthe other PCI Express endpoint device and to communicate the selected information using the tag field as a function ofthe detected characteristic. 12. The arrangement of claim 11, wherein the PCI Express endpoint device is adapted to detect a manufacturer characteristic ofthe other PCI Express endpoint device and to communicate the selected information using the tag field as a function ofthe detected manufacturer characteristic. 13. The arrangement of claim 1, wherein the PCI Express endpoint device is adapted to communicate the selected information using the tag field in a PCI-Express compliant manner. 14. The arrangement of claim 1, further comprising an adapter configured and arranged to receive a request from the PCI Express endpoint device for posting the selected information to the PCI Express communication link and, in response to the request, to generate a data packet including a tag field having information to communicate the selected information to the other PCI Express endpoint device. 15. A PCI Express system comprising: a PCI Express communications link; at least two PCI Express endpoint devices communicatively coupled with the PCI Express communications link; a first one ofthe at least two PCI Express endpoint devices being adapted to include synchronous event information in a tag field of write data posted to the PCI Express communication link, the posted write data not requiring a completion response from another PCI Express endpoint device; and a second one ofthe at least two PCI Express endpoint devices being adapted to receive and process the synchronous event information in the tag field. 16. The system of claim 15, wherein the PCI Express communications link includes a PCI Express switch. 17. The system of claim 16, wherein the PCI Express switch comprises: a virtual PCI Express bus; an upstream port of a switch communicatively coupled with the PCI
Express bus; and a plurality of downstream ports of a switch communicatively coupled with the PCI Express bus, a first one ofthe downstream ports of a switch coupled to the first PCI Express endpoint device and a second one ofthe downstream ports of a switch coupled to the second PCI Express endpoint device. 18. A method for communicating information in a PCI Express arrangement including a PCI Express endpoint device communicatively coupled to a PCI Express communications link, the method comprising: communicating selected information to another PCI Express endpoint device communicatively coupled with the PCI Express communications link using the tag field of posted data passed over the PCI Express communications link. 19. The method of claim 18, wherein communicating selected information to another PCI Express endpoint device communicatively coupled with the PCI Express communications link using the tag field of data passed over the PCI Express communications link includes communicating selected information using the tag field of posted write data that does not require a completion response. 20. The method of claim 19, wherein communicating selected information to another PCI Express endpoint device includes communicating synchronization event data to the other PCI Express endpoint device using the tag field ofthe posted write data.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US55450404P | 2004-03-19 | 2004-03-19 | |
PCT/IB2005/051031 WO2005091156A2 (en) | 2004-03-19 | 2005-03-19 | Signaling arrangement and approach therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1728170A2 true EP1728170A2 (en) | 2006-12-06 |
Family
ID=34962013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP05718562A Withdrawn EP1728170A2 (en) | 2004-03-19 | 2005-03-19 | Signaling arrangement and approach therefor |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1728170A2 (en) |
JP (1) | JP2007529815A (en) |
KR (1) | KR20060130664A (en) |
CN (1) | CN1934558A (en) |
WO (1) | WO2005091156A2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5057548B2 (en) * | 2006-05-02 | 2012-10-24 | 株式会社リコー | Image data transfer apparatus and image data transfer method |
US7702827B2 (en) | 2007-06-29 | 2010-04-20 | International Business Machines Corporation | System and method for a credit based flow device that utilizes PCI express packets having modified headers wherein ID fields includes non-ID data |
US8139575B2 (en) * | 2007-06-29 | 2012-03-20 | International Business Machines Corporation | Device, system and method of modification of PCI express packet digest |
JP5151567B2 (en) * | 2008-03-07 | 2013-02-27 | 日本電気株式会社 | Method and system for avoiding deadlock in data communication system and control program therefor |
US20100306442A1 (en) * | 2009-06-02 | 2010-12-02 | International Business Machines Corporation | Detecting lost and out of order posted write packets in a peripheral component interconnect (pci) express network |
JPWO2015155997A1 (en) * | 2014-04-11 | 2017-04-27 | 日本電気株式会社 | Setting device, control device, setting method, and network switch |
EP3771889A1 (en) * | 2019-07-31 | 2021-02-03 | Siemens Aktiengesellschaft | Measuring device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5751723A (en) * | 1996-07-01 | 1998-05-12 | Motorola, Inc. | Method and system for overhead bandwidth recovery in a packetized network |
US7120722B2 (en) * | 2002-05-14 | 2006-10-10 | Intel Corporation | Using information provided through tag space |
-
2005
- 2005-03-19 CN CNA2005800087305A patent/CN1934558A/en active Pending
- 2005-03-19 KR KR1020067019311A patent/KR20060130664A/en not_active Application Discontinuation
- 2005-03-19 JP JP2007503488A patent/JP2007529815A/en not_active Withdrawn
- 2005-03-19 WO PCT/IB2005/051031 patent/WO2005091156A2/en not_active Application Discontinuation
- 2005-03-19 EP EP05718562A patent/EP1728170A2/en not_active Withdrawn
Non-Patent Citations (1)
Title |
---|
None * |
Also Published As
Publication number | Publication date |
---|---|
JP2007529815A (en) | 2007-10-25 |
KR20060130664A (en) | 2006-12-19 |
WO2005091156A3 (en) | 2006-03-02 |
WO2005091156A2 (en) | 2005-09-29 |
CN1934558A (en) | 2007-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100572165B1 (en) | Universal Serial Bus Device Controller | |
US6754209B1 (en) | Method and apparatus for transmitting and receiving network protocol compliant signal packets over a platform bus | |
US7328300B2 (en) | Method and system for keeping two independent busses coherent | |
JP6517243B2 (en) | Link Layer / Physical Layer (PHY) Serial Interface | |
US8463962B2 (en) | MAC and PHY interface arrangement | |
US20050138260A1 (en) | On-chip bus | |
US20090292854A1 (en) | Use of bond option to alternate between pci configuration space | |
US6134625A (en) | Method and apparatus for providing arbitration between multiple data streams | |
US7016994B2 (en) | Retry mechanism for blocking interfaces | |
JPH10187594A (en) | Method and system for supporting equal access among plural pct host/bridges inside data processing system | |
JP2000082035A (en) | Method and system for supporting plural peripheral components interconnect buses supporting various frequency operations | |
CN112639753B (en) | Aggregated inband interruption | |
US11797468B2 (en) | Peripheral component interconnect express device and computing system including the same | |
WO2005060688A2 (en) | Serial communication device configurable to operate in root mode or endpoint mode | |
EP1728170A2 (en) | Signaling arrangement and approach therefor | |
US20030065868A1 (en) | Distributed peer-to-peer communication for interconnect busses of a computer system | |
US20130326097A1 (en) | Semiconductor device | |
US20090144478A1 (en) | Performance based packet ordering in a pci express bus | |
JP4630288B2 (en) | Verifying the rate of the received serial transfer alignment sequence | |
US6959398B2 (en) | Universal asynchronous boundary module | |
CN101071406A (en) | Interface configurable universal series bus controller | |
US9025614B2 (en) | Unified system networking with PCIE-CEE tunneling | |
US20230315672A1 (en) | Interface device and computing system including the same | |
US20230315591A1 (en) | PCIe DEVICE AND COMPUTING SYSTEM INCLUDING THE SAME | |
KR100333585B1 (en) | Method and system for selective disablement of expansion bus slots in a multibus data-processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20061019 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU MC NL PL PT RO SE SI SK TR |
|
17Q | First examination report despatched |
Effective date: 20070222 |
|
DAX | Request for extension of the european patent (deleted) | ||
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: NXP B.V. |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20070705 |