CN116489114A - PCIe switch and data conversion method of terminal thereof - Google Patents
PCIe switch and data conversion method of terminal thereof Download PDFInfo
- Publication number
- CN116489114A CN116489114A CN202310294591.7A CN202310294591A CN116489114A CN 116489114 A CN116489114 A CN 116489114A CN 202310294591 A CN202310294591 A CN 202310294591A CN 116489114 A CN116489114 A CN 116489114A
- Authority
- CN
- China
- Prior art keywords
- data packet
- data
- address
- module
- terminal
- 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.)
- Pending
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 title claims description 27
- 238000012544 monitoring process Methods 0.000 claims abstract description 24
- 238000013519 translation Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 8
- 241001522296 Erithacus rubecula Species 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
The invention discloses a PCIe switch which comprises a plurality of PCIe bus domains, wherein each PCIe bus domain is provided with a data conversion module, and the data conversion module comprises a packet monitoring module, a routing module and an address conversion module. The packet monitoring module is used for analyzing the address and ID information in the data packet and judging, the routing module is used for forwarding the data packet, and the address conversion module is used for converting the address and ID in the data packet into a designated PCIe bus domain. The address conversion information of the non-transparent bridge is shared among the terminals in the same PCIe bus domain of the PCIe switch, and each terminal is not required to keep a backup of one address conversion information, so that the complexity of initializing the lookup table is reduced, the equipment area is saved, and the power consumption is reduced.
Description
Technical Field
The invention relates to the technical field of computer communication, in particular to a PCIe switch and a data conversion method of a terminal thereof.
Background
Peripheral component interconnect express (Peripheral Component Interconnect Express, abbreviated as "PCIe") is a local bus technology and interface standard. PCIe devices use a separate address space, i.e., the address space of the PCIe bus, also known as the PCIe bus domain. Three types of devices are specified in the PCIe protocol, including Root Complex ("RC"), switch, and end point ("EP"). The PCIe switch can extend PCIe interfaces and interconnect different devices with PCIe interfaces to exchange and process information. The inside of a PCIe switch contains multiple PCI-PCI bridges, which are commonly referred to as transparent bridges. Devices suspended from a transparent bridge all belong to the same PCIe bus domain, and since only one RC is specified in the tree topology of the same PCIe bus domain in the PCIe protocol, other ports in the one PCIe bus domain except for the RC are typically connected to the EP.
Based on no participation of RC, the EP in the same PCIe bus domain can adopt peer-to-peer (P2P) transmission for data transmission. While two RCs need to be connected through a PCIe Non-transparent bridge (Non-Transparent Bridging, simply "NTB"). The NTB may isolate address spaces of different PCIe bus domains to connect different RCs, where the NTB acts as a PCIe device for both PCIe bus domains connected thereto. The NTB generally includes an address translation unit (address translation unit, abbreviated as "ATU") between the two PCIe bus domains, where the packets are translated through the ATU before being sent to the peer, and the packets are translated into the bus domain of the peer and then sent to the peer. The ATU typically includes a number of look-up tables ("LUTs") therein, which occupy a lot of resources. Based on this, in a PCIe switch with an NTB function, if a plug-in EP, which is the same as an RC in a PCIe bus domain, needs to access to an RC on the other side of an NTB port, an ATU is required to perform address translation, and if each port includes an ATU, resources are greatly increased, and design cost of an integrated circuit is increased.
Disclosure of Invention
In view of some or all of the problems in the prior art, a first aspect of the present invention provides a PCIe switch, including a plurality of PCIe bus domains, each PCIe bus domain being provided with a data conversion module, the data conversion module including:
the packet monitoring module is used for analyzing the address and ID information in the data packet and judging;
the routing module is used for forwarding the data packet; and
and the address conversion module is used for converting the address and the ID in the data packet into a designated PCIe bus domain.
Further, the packet monitoring module is configured to:
judging the address of the data packet to determine the target equipment of the data packet; and/or
And judging the ID of the demand end of the data packet so as to determine the target equipment of the data packet.
Further, the routing module is configured to:
forwarding the data packet to be transmitted to the opposite end of the non-transparent bridge to the address conversion module; and
and forwarding the data packet which needs to be transmitted to the root complex or the terminal of the PCIe bus domain to the root complex or the terminal.
Further, the address translation module includes a lookup table that is initialized by a root complex in the PCIe bus domain.
Based on the PCIe switch as described above, a second aspect of the present invention provides a data conversion method of a terminal (EP) of the PCIe switch, including:
the method comprises the steps of monitoring address and ID information in a data packet sent by a terminal through a packet monitoring module;
judging whether the data packet needs to access the non-transparent bridge opposite terminal equipment or not:
if yes, the data packet is forwarded to an address conversion module through a routing module, the address conversion module converts the data packet to a PCIe bus domain where the target device is located and sends the PCIe bus domain, and the non-transparent bridge opposite-end routing module forwards the data packet to a corresponding terminal or root complex after receiving the data packet.
Further, the data conversion method of the terminal further comprises the following steps:
if the destination to which the data packet needs to be accessed is other terminals in the PCIe bus domain, point-to-point transmission is adopted to perform data transmission.
Further, the data conversion method of the terminal further comprises the following steps:
if the target to be accessed by the data packet is the root complex in the PCIe bus domain, forwarding the data to the root complex through a routing module.
Further, determining whether the data packet needs to access the non-transparent bridge peer device includes:
judging whether the address of the data packet is in the non-transparent bridge address range, if so, considering that the data packet needs to access the non-transparent bridge opposite terminal equipment.
Further, determining whether the data packet needs to access the non-transparent bridge peer device includes:
judging whether the ID of the demand end of the data packet is a non-transparent bridge port, if so, considering that the data packet needs to access non-transparent bridge opposite-end equipment.
Further, the data conversion method of the terminal further comprises the following steps:
and carrying out priority judgment on the data packets received simultaneously by adopting a round robin (round robin) method through a packet monitoring module, namely sending out the data packets through the packet monitoring module in turn when the packets of a plurality of terminals arrive.
The invention provides a PCIe switch and a data conversion method of a terminal thereof, wherein a packet monitoring module is respectively arranged in each PCIe bus domain to monitor address and ID information, and further, a data packet is forwarded to corresponding equipment or modules through a routing module, wherein the data packet which is required to be sent to the opposite end of a non-transparent bridge is sent after address conversion by an address conversion module. The address conversion information of the non-transparent bridge is shared among the terminals in the same PCIe bus domain, and each terminal does not need to keep a backup of the address conversion information, so that the complexity of initializing the lookup table is reduced, the equipment area is saved, and the power consumption is reduced.
Drawings
To further clarify the above and other advantages and features of embodiments of the present invention, a more particular description of embodiments of the invention will be rendered by reference to the appended drawings. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting of its scope. In the drawings, for clarity, the same or corresponding parts will be designated by the same or similar reference numerals.
FIG. 1 is a schematic diagram illustrating a data translation module of a PCIe switch according to one embodiment of the present invention; and
fig. 2 is a flow chart illustrating a data conversion method of a terminal of a PCIe switch according to an embodiment of the present invention.
Detailed Description
In the following description, the present invention is described with reference to various embodiments. One skilled in the relevant art will recognize, however, that the embodiments may be practiced without one or more of the specific details, or with other alternative and/or additional methods or components. In other instances, well-known structures or operations are not shown or described in detail to avoid obscuring aspects of the invention. Similarly, for purposes of explanation, specific numbers and configurations are set forth in order to provide a thorough understanding of embodiments of the present invention. However, the invention is not limited to these specific details. Furthermore, it should be understood that the embodiments shown in the drawings are illustrative representations and are not necessarily drawn to scale.
Reference throughout this specification to "one embodiment" or "the embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment.
It should be noted that the embodiments of the present invention describe the steps of the method in a specific order, however, this is merely for the purpose of illustrating the specific embodiments, and not for limiting the order of the steps. In contrast, in different embodiments of the present invention, the sequence of each step may be adjusted according to the adjustment of the actual requirement.
In order to realize the function that an external EP in a PCIe bus domain can access an RC on the other side of an NTB port together with an RC, the invention provides a PCIe switch and a data conversion method of a terminal thereof, wherein packet monitoring logic is also arranged in routing logic to monitor address and ID information in a data packet, when the fact that the address falls in an NTB address range or a device with a requirement end ID (request_ID) being the NTB port is monitored, the packet sent from the EP is to access RC1 equipment of an opaque bridge opposite end is indicated, at the moment, the routing logic uniformly forwards the packet to the NTB address conversion logic, the NTB address conversion logic converts the packet into the PCIe bus domain where RC1 is positioned, thus RC0 participation is not needed, and the EP directly accesses RC1 of the opaque bridge opposite end. Otherwise, when the RC1 accesses the EP0, the packet is converted to the PCIe bus domain of the RC0 by the PCIe bus domain where the RC1 is positioned and is transferred to the routing logic, and when the packet monitoring logic in the routing logic monitors that the packet is transferred to a certain EP in the PCIe bus domain of the RC0, the routing logic transfers the packet to the EP.
The embodiments of the present invention will be further described with reference to the accompanying drawings.
The invention firstly provides a PCIe switch which has a non-transparent bridge function and can be connected with a plurality of root complexes RC, wherein each RC is respectively provided with a data conversion module in a PCIe bus domain to convert and distribute data packets, so that a terminal EP in the PCIe bus domain can interact with the RC in the PCIe bus domain and other EP data and can also access the RC in other PCIe bus domains, and the same RCs can also access different EP in different PCIe bus domains. In addition, since all the EPs in the same PCIe bus domain share NTB address translation logic, instead of maintaining a copy of address translation information for each EP, the complexity of initializing the lookup table may be effectively reduced, and the area and power consumption may be reduced.
Fig. 1 is a schematic diagram of a data conversion module of a PCIe switch according to an embodiment of the present invention. As shown in fig. 1, the data conversion module includes a packet monitoring module 101, a routing module 102, and an address conversion module 103.
The packet monitoring module 101 is configured to parse the address and ID information in the data packet, and determine the destination device of the data packet according to the parsed address and ID information. In one embodiment of the invention, determining the target device from the address comprises:
when the address is in the NTB address range, the data packet needs to access the non-transparent bridge opposite terminal equipment; and
when the address is a device address in the current PCIe bus domain, the packet needs to access a corresponding RC or EP in the current PCIe bus domain.
In one embodiment of the present invention, determining the target device from the ID information includes:
when the required end ID in the data packet is the device of the NTB port, the data packet needs to access the non-transparent bridge peer device.
The routing module 102 is configured to forward the data packet, and forward the data packet to different devices according to the analysis result of the packet monitoring module. In one embodiment of the present invention, when it is monitored that the data packet needs to access a non-transparent bridge peer device, the routing module 102 forwards the data packet to the address translation module 103, and when the address of the data packet is an RC address in the current PCIe bus domain, forwards the data packet to the RC.
The address translation module 103 is configured to translate the data packet into a PCIe domain in which the target device is located. In one embodiment of the invention, the address translation module includes a look-up table LUT that is accessible to the RC in the current PCIe bus domain, and in effect, the LUT is initialized by the RC during the initialization phase, and the EP need not configure the LUT for subsequent use.
Based on the PCIe switch as described above, fig. 2 is a schematic flow diagram of a data conversion method of a terminal of the PCIe switch according to an embodiment of the present invention. As shown in fig. 2, a data conversion method of a terminal of a PCIe switch includes:
first, in step 201, a data packet is monitored. The method comprises the steps of monitoring a data packet, particularly a data packet sent by a terminal EP, by a packet monitoring module, and analyzing to obtain address and ID information in the data packet, wherein the address and ID information mainly comprises a target address and a demand end ID;
next, in step 202, the target device is determined. And judging the equipment to be accessed by the data packet according to the target address and/or the demand end ID obtained in the step 201, forwarding the data packet to a corresponding module or equipment according to the judging result, specifically, if the data packet needs to access the equipment at the opposite end of the non-transparent bridge, entering the step 203, forwarding the data packet to the address conversion module for data packet conversion, if the equipment accessed by the data packet is in the PCIe bus domain, directly entering the step 204, and forwarding the data packet to the corresponding equipment. As described above, in the embodiment of the present invention, whether to access the non-transparent bridge peer device may be determined by determining whether the destination address of the data packet is within the non-transparent bridge address range and/or determining whether the demand side ID of the data packet is a non-transparent bridge port. Specifically, if the address of the data packet is within the non-transparent bridge address range, the data packet is considered to need to access the non-transparent bridge peer device. Likewise, if the ID of the demand end of the data packet is a non-transparent bridge port, the data packet is considered to need to access the non-transparent bridge peer device;
in step 203, the data packet is converted. When the data packet needs to access the non-transparent bridge opposite terminal equipment, forwarding the data packet to an address conversion module through a routing module, and converting the data packet to a PCIe bus domain where the target equipment is located by the address conversion module;
in step 204, a data packet is sent. If the data packet needs to access the non-transparent bridge opposite terminal equipment, the data packet converted by the address conversion module is sent to an opposite terminal, and the opposite terminal routing module receives the data packet and forwards the data packet to a corresponding terminal or root complex; and if the target to be accessed by the data packet is another EP in the PCIe bus domain, performing data transmission by adopting point-to-point transmission, and if the target to be accessed by the data packet is an RC in the PCIe bus domain, forwarding the data to the RC through a routing module.
In addition, in one embodiment of the present invention, the packet monitoring module further includes packet decision logic, specifically, when there are multiple EPs accesses, a round robin (round robin) method is used to make a priority decision for each packet, that is, when the packets of multiple EPs arrive, each EP is sent out by the packet monitoring module in turn.
The invention provides a PCIe switch and a data conversion method of a terminal thereof, wherein a packet monitoring module is respectively arranged in each PCIe bus domain to monitor address and ID information, and further, a data packet is forwarded to corresponding equipment or modules through a routing module, wherein the data packet which is required to be sent to the opposite end of a non-transparent bridge is sent after address conversion by an address conversion module. The address conversion information of the non-transparent bridge is shared among the terminals in the same PCIe bus domain, and each terminal does not need to keep a backup of the address conversion information, so that the complexity of initializing the lookup table is reduced, the equipment area is saved, and the power consumption is reduced.
While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. It will be apparent to those skilled in the relevant art that various combinations, modifications, and variations can be made therein without departing from the spirit and scope of the invention. Thus, the breadth and scope of the present invention as disclosed herein should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
Claims (10)
1. A PCIe switch comprising a plurality of PCIe bus domains, wherein each PCIe bus domain is provided with a data translation module, wherein the data translation module comprises:
the packet monitoring module is configured to analyze the address and ID information in the data packet and judge the destination equipment of the data packet according to the address and/or ID information;
a routing module configured to forward the data packet; and
an address translation module configured to translate addresses and IDs in the data packets into specified PCIe bus domains.
2. The PCIe switch of claim 1, wherein the packet monitoring module is configured to:
determining the range of the address of the data packet so as to determine the target equipment of the data packet; and/or
And judging the ID of the demand end of the data packet so as to determine the target equipment of the data packet.
3. The PCIe switch of claim 1, wherein the routing module is configured to:
forwarding the data packet to be transmitted to the opposite end of the non-transparent bridge to the address conversion module; and
and forwarding the data packet which needs to be transmitted to the root complex or the terminal of the PCIe bus domain to the root complex or the terminal.
4. The PCIe switch of claim 1 wherein the address translation module comprises a lookup table that is initialized by a root complex in the PCIe bus domain.
5. The data conversion method of the terminal of the PCIe switch as set forth in any one of claims 1 to 4, comprising the steps of:
the method comprises the steps of monitoring address and ID information in a data packet sent by a terminal through a packet monitoring module;
judging whether the data packet needs to access the opposite terminal equipment of the non-transparent bridge or not:
if yes, the data packet is forwarded to an address conversion module through a routing module, the data packet is converted to a PCIe bus domain where the target device is located through the address conversion module and is sent, and the non-transparent bridge opposite-end routing module receives the data packet and forwards the data packet to a corresponding terminal or root complex.
6. The data conversion method of a terminal according to claim 5, further comprising the step of:
if the destination to which the data packet needs to be accessed is other terminals in the PCIe bus domain, point-to-point transmission is adopted to perform data transmission.
7. The data conversion method of a terminal according to claim 5, further comprising the step of:
if the target to be accessed by the data packet is the root complex in the PCIe bus domain, forwarding the data to the root complex through a routing module.
8. The data conversion method of a terminal according to claim 5, wherein determining whether the data packet requires access to a non-transparent bridge peer device comprises:
judging whether the address of the data packet is in the non-transparent bridge address range, if so, considering that the data packet needs to access the non-transparent bridge opposite terminal equipment.
9. The data conversion method of a terminal according to claim 5, wherein determining whether the data packet requires access to a non-transparent bridge peer device comprises:
judging whether the ID of the demand end of the data packet is a non-transparent bridge port, if so, considering that the data packet needs to access non-transparent bridge opposite-end equipment.
10. The data conversion method of a terminal according to claim 5, further comprising the step of:
and carrying out priority judgment on the data packets received simultaneously through a packet monitoring module.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310294591.7A CN116489114A (en) | 2023-03-23 | 2023-03-23 | PCIe switch and data conversion method of terminal thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310294591.7A CN116489114A (en) | 2023-03-23 | 2023-03-23 | PCIe switch and data conversion method of terminal thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116489114A true CN116489114A (en) | 2023-07-25 |
Family
ID=87224236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310294591.7A Pending CN116489114A (en) | 2023-03-23 | 2023-03-23 | PCIe switch and data conversion method of terminal thereof |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116489114A (en) |
-
2023
- 2023-03-23 CN CN202310294591.7A patent/CN116489114A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100624681B1 (en) | Apparatus and method for combining forwarding tables in a distributed architecture router | |
US7599289B2 (en) | Electronic communication control | |
JP5360607B2 (en) | PCI express switch, PCI express system, and network control method | |
EP3172870B1 (en) | Non-transparent bridge method and apparatus for configuring high-dimensional pci-express networks | |
US9294403B2 (en) | Mechanism to control resource utilization with adaptive routing | |
US7804840B2 (en) | Combined FCoE network device | |
CN101252537A (en) | Switching network communicating system, method and master control board | |
US7339941B2 (en) | Connecting ethernet based system on a chip integrated circuits in a ring topology | |
CN114629816B (en) | Public network IP network state detection method and system | |
EP4246919A1 (en) | Packet transmission method, device, and system | |
KR20170102717A (en) | Micro server based on fabric network | |
CN116489114A (en) | PCIe switch and data conversion method of terminal thereof | |
US7688821B2 (en) | Method and apparatus for distributing data packets by using multi-network address translation | |
CN117743240B (en) | PCIe bridge device with transparent and non-transparent modes | |
US7969994B2 (en) | Method and apparatus for multiple connections to group of switches | |
CN115134311B (en) | RapidIO endpoint controller and endpoint equipment | |
US8345687B2 (en) | High security backplane-based interconnection system capable of processing a large amount of traffic in parallel | |
CN113132199B (en) | PCIe NTB system implementation management method | |
CN111064815B (en) | Method and device for sharing one IP by multiple single boards, computer equipment and medium | |
CN113709066B (en) | PCIe communication device and BMC | |
CN109787877B (en) | Box type switch, network interface card and management method for packet transfer | |
CN117176832A (en) | Exchange chip and control method | |
KR100429075B1 (en) | ATM High-speed Cell Switching System | |
CN117978775A (en) | Address translation method, device, equipment and medium for PCI-E non-transparent bridge | |
Fukase et al. | A study on Inter-Board Data Transmission of FPGA Cluster |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |