CN116489114A - PCIe switch and data conversion method of terminal thereof - Google Patents

PCIe switch and data conversion method of terminal thereof Download PDF

Info

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
Application number
CN202310294591.7A
Other languages
Chinese (zh)
Inventor
孙向向
江国范
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingxin Semiconductor Technology Shanghai Co ltd
Original Assignee
Qingxin Semiconductor Technology Shanghai Co ltd
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
Application filed by Qingxin Semiconductor Technology Shanghai Co ltd filed Critical Qingxin Semiconductor Technology Shanghai Co ltd
Priority to CN202310294591.7A priority Critical patent/CN116489114A/en
Publication of CN116489114A publication Critical patent/CN116489114A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

PCIe switch and data conversion method of terminal thereof
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.
CN202310294591.7A 2023-03-23 2023-03-23 PCIe switch and data conversion method of terminal thereof Pending CN116489114A (en)

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)

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