Transmitting module, service host, testing system and testing method

CN122802462APending Publication Date: 2026-09-22KUNYI ELECTRONICS TECHNOLOGY (SHANGHAI) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510344874.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-21
Publication Date
2026-09-22

AI Technical Summary

Benefits of technology

[0017]上述各方面所提供的转达模块、业务主机、测试系统与测试方法,针对于“PCIe交换机上的模块对外通讯必须依赖以太网”的问题,本申请通过转达模块实现了第一PCIe交换机与第二PCIe交换机的通讯桥梁,保障了一个PCIe交换机上的模块能够访问其他PCIe交换机的模块,降低了对外通讯对以太网的依赖。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122802462A_ABST
    Figure CN122802462A_ABST
Patent Text Reader

Abstract

The application relates to a relay module, a service host, a test system and a test method. The relay module is configured to be capable of: directly or indirectly obtaining to-be-relayed information through a first PCIe switch connected with the relay module; the to-be-relayed information is from a demand module; the to-be-relayed information is used for triggering, executing or terminating the transmission of data between the demand module and a target module; the demand module and the target module are service modules in different service hosts; through a conversion operation, the to-be-relayed information is converted into information capable of being directly or indirectly transmitted to the target module through a second PCIe switch connected therewith; and the to-be-relayed information after the conversion operation is transmitted to the second PCIe switch, so that the to-be-relayed information after the conversion operation can be directly or indirectly transmitted to the target module through the second PCIe switch.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the fields of testing or communication, and more particularly to a communication module and method, a service host, a testing system and a testing method. Background Technology

[0002] In the testing field, business hosts are required for testing. These business hosts may be equipped with real-time processing modules for real-time calculation and processing during the testing process, and / or test communication modules (such as signal generation boards, signal acquisition boards, bus boards, etc.) for communicating with external objects (such as devices under test or test auxiliary devices). These modules are usually based on Ethernet for communication.

[0003] Even considering areas other than testing, while PCIe switches are used in service hosts, in existing technologies, when modules connected to a PCIe switch communicate with external modules (devices not connected to the PCIe switch), such as when a service host needs to access a module not connected to the PCIe switch, Ethernet is often required. Therefore, the external communication of service modules on a PCIe switch relies on Ethernet.

[0004] However, Ethernet communication is often insufficient in many scenarios that require high real-time communication, and its communication efficiency is not enough to meet the needs. Summary of the Invention

[0005] Therefore, it is necessary to provide a relay module, a business host, a testing system, and a testing method to address the aforementioned technical issues.

[0006] Firstly, this application provides a relay module.

[0007] The relay module is configured to:

[0008] The information to be forwarded is obtained directly or indirectly through the first PCIe switch connected to the forwarding module; the information to be forwarded originates from the demand module; the information to be forwarded is used to initiate, execute, or terminate the data transmission between the demand module and the target module; the demand module and the target module are business modules in different business hosts.

[0009] Through a conversion operation, the information to be transmitted is converted into a form that can be directly or indirectly transmitted to the target module via the connected second PCIe switch;

[0010] The information to be forwarded after the conversion operation is sent to the second PCIe switch so that the information to be forwarded after the conversion operation can be directly or indirectly transmitted to the target module via the second PCIe switch.

[0011] Secondly, this application provides a service host, the service host including the relay module as described in any one of claims 1 to 8, and a non-public PCIe switch, the non-public PCIe switch being connected to the relay module, the non-public PCIe switch being able to be used as the first PCIe switch or the second PCIe switch at least for a portion of the time.

[0012] Thirdly, this application provides a test system, including a relay module as described in the first aspect, and a public PCIe switch and a non-public PCIe switch connected to the relay module for use as the first PCIe switch or the second PCIe switch.

[0013] Fourthly, this application provides a testing method that employs the testing system described in the optional solution of the third aspect;

[0014] The testing method includes:

[0015] In the first service host, the first service module sends the current information to be forwarded to the non-public PCIe switch. The forwarding module obtains the current information to be forwarded from the non-public PCIe switch, performs a conversion operation on the current information to be forwarded, and then sends it to the public PCIe switch.

[0016] In the second service host, the relay module obtains the current information to be relayed from the public PCIe switch, performs another round of conversion operations on the current information to be relayed, and then sends it to the non-public PCIe switch. The non-public PCIe switch then sends the current information to be relayed to the second service module.

[0017] The aforementioned relay module, service host, test system, and test methods address the issue that "modules on PCIe switches must rely on Ethernet for external communication." This application implements a communication bridge between the first and second PCIe switches through a relay module, ensuring that modules on one PCIe switch can access modules on other PCIe switches, thus reducing the dependence on Ethernet for external communication.

[0018] Furthermore, the aforementioned relay module provides a paradigm for connecting two PCIe switches via a conversion module. Other PCIe switches can also connect to the PCIe switch via the relay module according to this paradigm to achieve the same function. In addition, one of the second PCIe switches (or the first PCIe switch) can also act as the first PCIe switch (or the second PCIe switch) and connect to another PCIe switch via another relay module. It can be regarded as another second PCIe switch (or another first PCIe switch). It can be seen that the function of the aforementioned relay module determines that a module on a PCIe switch can access modules on other domains through multiple PCIe switches and multiple domains.

[0019] When applied to testing scenarios, the requirement module can access target modules in other domains through multiple PCIe switch domains. For example, the real-time processing module of a business host can access the test communication module of another business host through the PCIe switch of that business host, the PCIe switch of the management host, and the PCIe switch of another business host. As a result, the device under test (DUT) can be wired more freely without being restricted to which business host it is connected to. At the same time, the resources available to the DUT (such as the channel resources provided by the test communication module, and the computing resources provided by the real-time processing module and the memory module) are no longer limited to a single business host, providing a foundation for a richer and more diverse range of resource usage possibilities. This type of access is based on PCIe, has high communication efficiency, and can meet the high real-time interaction requirements between the real-time processing module and the DUT during testing. Attached Figure Description

[0020] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0021] Figure 1 This is a schematic diagram of the architecture of the relay module used in some embodiments of this application;

[0022] Figure 2 This is a schematic diagram of the architecture using a service host and a public PCIe switch in some embodiments of this application. Figure 1 ;

[0023] Figure 3 This is a schematic diagram of the architecture using a service host and a public PCIe switch in some embodiments of this application. Figure 2 ;

[0024] Figure 4This is a schematic diagram of the architecture using two relay modules in some embodiments of this application;

[0025] Figure 5 This is a schematic diagram of the architecture of the test system in some embodiments of this application;

[0026] Figure 6 This is a schematic diagram of the architecture of the test system implementing a relay path in some embodiments of this application;

[0027] Figure 7 This is a schematic diagram of the architecture of the test system implementing another relay path in some embodiments of this application;

[0028] Figure 8 This is a schematic diagram illustrating the working principle of address translation operations in some embodiments of this application. Detailed Implementation

[0029] To facilitate understanding of this application, a more complete description will be provided below with reference to the accompanying drawings, which illustrate embodiments of the present application. However, the present application can be implemented in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided so that the disclosure of this application will be thorough and complete.

[0030] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application.

[0031] It is understood that the terms “first,” “second,” etc., used in this application may be used herein to describe various elements, but these elements are not limited by these terms. These terms are only used to distinguish one element from another.

[0032] It should be noted that when one element is considered to be "connected" to another element, it can be directly connected to the other element or connected to the other element through an intermediary element. Furthermore, in the following embodiments, "connection" should be understood as "electrical connection," "communication connection," etc., if there is transmission of electrical signals or data between the connected objects.

[0033] When used herein, the singular forms of “a,” “an,” and “the” may also include the plural forms unless the context clearly indicates otherwise. It should also be understood that the terms “comprising,” “including,” or “having,” etc., specify the presence of the stated feature, whole, step, operation, component, part, or combination thereof, but do not preclude the possibility of the presence or addition of one or more other features, wholes, steps, operations, components, parts, or combinations thereof.

[0034] Please refer to Figure 1 This specification provides a relay module.

[0035] Correspondingly, this manual also provides a business host that includes a relay module.

[0036] The relay module can be located between PCIe switches.

[0037] The PCIe switch is used to enable data exchange and communication between modules connected to the PCIe switch. Different modules connected to the PCIe switch refer to modules connected to different ports (or connection ends) of the PCIe switch.

[0038] A PCIe switch may include a HOST connector for connecting a host and an EP connector for connecting an EP (Extended Provider). The HOST connector can be used to connect a processing module (e.g., a processor), meaning the processing module can act as a host. The EP connector can be used to connect an I / O module, such as a test communication module in a testing environment, which can act as an EP.

[0039] EP stands for End Point, which is the terminal node.

[0040] The relay module can be located on the business host, for example, by connecting to the business host via at least one method such as wired connection or plug-in connection.

[0041] A business host can be understood as any host used to execute part or all of the corresponding processing flow in a corresponding field. A business host can usually be equipped with a processing module and a non-public PCIe switch. In some examples, the non-public PCIe switch can be used as either a first PCIe switch or a second PCIe switch. In other embodiments, the non-public PCIe switch can act as both a first PCIe switch and a second PCIe switch, depending on whether the current business host is sending out or receiving information to be forwarded. If it is sending out, the non-public PCIe switch is used as a first PCIe switch. If it is receiving out, the non-public PCIe switch is used as a second PCIe switch.

[0042] The relay module is configured to:

[0043] The information to be relayed is obtained directly or indirectly through the first PCIe switch connected to the relay module;

[0044] The connection end of the first PCIe switch to which the relay module is connected is the EP connection end;

[0045] The information to be conveyed originates from the requirements module;

[0046] The information to be conveyed is used to initiate, execute, or terminate the transfer of data between the demand module and the target module; for example, the information to be conveyed includes an access request, which includes one of the following: a write request or a read request; as another example, the information to be conveyed includes data to be transferred in response to the read request.

[0047] The requirement module and the target module are business modules in different business hosts; therefore:

[0048] The direct acquisition here can be understood as the demand module being the service module connected to the first PCIe switch, such as the case where a non-public PCIe switch is used as the first PCIe switch.

[0049] Indirect acquisition can be understood as the requirement module not being directly connected to the first PCIe switch. For example, a public PCIe switch might be used as the first PCIe switch. Consequently, the information to be relayed generated by the target module needs to pass through its corresponding non-public PCIe switch before reaching the public PCIe switch. In other examples, the information may also need to pass through more PCIe switches and / or relay modules to be acquired.

[0050] The relay module is also configured to:

[0051] Through a conversion operation, the information to be conveyed is converted to be compatible with the second PCIe switch, specifically, it is converted to be able to be directly or indirectly transmitted to the target module via the connected second PCIe switch; and the converted information to be conveyed is sent to the second PCIe switch, so that the converted information to be conveyed can be transmitted to the target module connected to the second PCIe switch via the second PCIe switch.

[0052] The conversion operation can be any field of the information to be transmitted that cannot be successfully transmitted in the second PCIe switch before conversion but can be successfully transmitted in the second PCIe switch after conversion. All of these operations can be understood as conversion operations here.

[0053] In one example, the translation operation may include an address translation operation of the access address of the access request. Specific examples in this specification will further illustrate the above address translation operation.

[0054] In another example, the conversion operation includes one of the following: an identity conversion operation of the transaction initiator identifier of the write request; an identity conversion operation of the transaction completer identifier of the read request; an identity conversion operation of the transaction initiator identifier of the data to be transferred; and an identity conversion operation of the transaction completer identifier of the data to be transferred.

[0055] The transaction completer identifier can be understood as the complete ID, and the transaction initiator identifier can be understood as the request ID.

[0056] The direct transmission to the target module mentioned here can be understood as the target module being the service module connected to the second PCIe switch, such as the case where a non-public PCIe switch is used as the second PCIe switch.

[0057] The indirect transmission to the target module involved here can be understood as the target module not being directly connected to the second PCIe switch. For example, a public PCIe switch might be used as the second PCIe switch, and the data needs to pass through a non-public PCIe switch of the service host before reaching the target module. In other examples, the data may also pass through more PCIe switches and / or relay modules before reaching the target module.

[0058] The target module can be a processing module (such as a real-time processing module in a test system), an I / O module (such as a test communication module or a simulation module in a test system), or another relay module.

[0059] Two typical scenarios for the first PCIe switch and the second PCIe switch can be illustrated as follows:

[0060] like Figure 2 As shown, at least for a portion of the time, the information to be forwarded from outside to inside (i.e., for the forwarding module, it means forwarding the information to be forwarded from outside the business host to inside the business host, so it can be understood as information to be forwarded from outside to inside) is the information to be forwarded. The public PCIe switch is used as the first PCIe switch, and the non-public PCIe switch is used as the second PCIe switch. The demand module is an external demand module, which satisfies the following: it is not connected to the non-public PCIe switch connected to the forwarding module. It can also be understood that the external demand module and the forwarding module do not belong to the same business host. The non-public PCIe switch connected to the forwarding module is also connected to the target module. The forwarding module, the non-public PCIe switch, and the target module can belong to the same business host.

[0061] At least part of the time, such as Figure 3As shown, the information to be forwarded (i.e., for the forwarding module, this means forwarding the information generated within the business host to the outside of the business host, hence it can be understood as internal to external forwarding information) is used as the information to be forwarded. A non-public PCIe switch is used as the first PCIe switch, and a public PCIe switch is used as the second PCIe switch. The demand module is an internal demand module, and the internal demand module and the forwarding module are connected to the same non-public PCIe switch. Alternatively, the internal demand module and the forwarding module belong to the same business host. The target module is located on an external device (e.g., another business host), and the external device is connected to the public PCIe switch. Of course, the possibility of using other devices besides the business host as external devices is not excluded; that is, the external device may not be connected to a non-public PCIe switch but simply to an EP connected to a public PCIe switch.

[0062] As can be seen, based on the flow direction of the information to be relayed, among the PCIe switches connected to the relay module, the first PCIe switch can be defined as the PCIe switch that sends the information to be relayed to the relay module, and the second PCIe switch can be defined as the PCIe switch that receives the information from the relay module. Therefore, when the flow direction changes, the roles of the first and second PCIe switches will change. Figure 1 As shown in the example, in Figure 1 In the illustrated workflow, the access request is passed from the PCIe switch on the left side of the forwarding module to the PCIe switch on the right side. At this point, the PCIe switch on the left is the first PCIe switch, and the PCIe switch on the right is the second PCIe switch. If the workflow changes to: the access request is passed from the PCIe switch on the right side of the forwarding module to the PCIe switch on the left side of the forwarding module, then: the PCIe switch on the right (i.e., Figure 1 The second PCIe switch shown is used as the first PCIe switch, and the PCIe switch on the left (i.e. Figure 1 The first PCIe switch shown is used as the second PCIe switch.

[0063] The connection end of the first PCIe switch to which the relay module is connected is an EP connection end, and the connection end of the second PCIe switch to which the relay module is connected is an EP connection end. The HOST connection end of the first PCIe switch can be connected to a processing module, for example, and the HOST connection end of the second PCIe switch can be connected to a processing module, for example.

[0064] In the above solution, in response to the problem that "modules on a PCIe switch must rely on Ethernet for external communication", this application realizes a communication bridge between the first PCIe switch and the second PCIe switch through a relay module, which ensures that modules on a PCIe switch can access modules on other PCIe switches and reduces the dependence on Ethernet for external communication.

[0065] Meanwhile, by connecting the first PCIe switch, the relay module, and the second PCIe switch via the EP connector of the PCIe switches, an information transmission path is formed between PCIe networks of different domains. This cross-domain communication does not affect the hosts within their respective domains; each host remains independent. In contrast, existing technologies only allow one host connector per PCIe switch, where the host, for example, is a processing module that plays a crucial role in the communication of the PCIe switch. Some related technologies also provide intermediate modules connecting the host connectors of different PCIe switches. These intermediate modules function similarly to processing modules, so this solution is equivalent to a single HOS... The T (e.g., processing module) is connected to two PCIe switches. However, the above-mentioned solution in this application adopts a completely different working principle. Taking advantage of the fact that EP and HOST in PCIe switches can exchange data, the EP connection end is connected to the relay module. This can effectively expand the connection of PCIe switches without affecting the original function. At the same time, the conversion operation of the relay module avoids the mismatch of requests. Thus, it is easy to meet the requirement that a processing module, as a HOST of a PCIe switch, can access modules on another PCIe switch through the conversion module. This provides a reliable foundation for communication across devices (e.g., across service hosts) without affecting the function of the processing module in the original device (e.g., service module).

[0066] The aforementioned relay module provides a paradigm for connecting two PCIe switches via the conversion module. Other PCIe switches can also connect to the PCIe switch via the relay module according to this paradigm to achieve the same function.

[0067] For example Figure 4 As shown, PCIe switches a and b can be regarded as a pair of first PCIe switches and second PCIe switches, and PCIe switches b and c can be regarded as a pair of PCIe switches and second PCIe switches. Which one is the first PCIe switch and which one is the second PCIe switch can be defined and changed according to the specific access request flow direction.

[0068] Based on this, in one example, the process of the information to be relayed from PCIe switch a to PCIe switch b and then to PCIe switch c can be, for example:

[0069] First, for the relay module between PCIe switch a and PCIe switch b, the relay module obtains the information to be relayed through the first PCIe switch (i.e., PCIe switch a) to which it is connected; the relay module converts the information to be relayed into a form suitable for the second PCIe switch (i.e., PCIe switch b) to which it is connected through a conversion operation; the relay module then sends the information to be relayed to the second PCIe switch (i.e., PCIe switch b).

[0070] Then, for the relay module between PCIe switch b and PCIe switch c, the relay module obtains the information to be relayed through the first PCIe switch (i.e., PCIe switch b) it is connected to; the relay module converts the information to be relayed into a form suitable for the second PCIe switch (i.e., PCIe switch c) it is connected to through another round of conversion operations; the relay module then sends the information to be relayed to the first PCIe switch (i.e., PCIe switch b).

[0071] As can be seen, one of the second PCIe switches (or the first PCIe switch) can also be connected to another PCIe switch via another relay module as a first PCIe switch (or a second PCIe switch). It can be regarded as another second PCIe switch (or another first PCIe switch). It can be seen that the function of the above relay module determines that a module on a PCIe switch can access modules on other domains via multiple PCIe switches and multiple domains.

[0072] In some embodiments, the relay module described herein can be applied to a test system. Correspondingly, this specification also provides a test system and a service host for testing.

[0073] The testing system may include multiple business hosts (or may be described as containing N business hosts, where N is a positive integer), and each business host is equipped with a business module. The business module in the business host includes at least one of the following: a real-time processing module, a test communication module, a simulation module, and a memory module.

[0074] The real-time processing module can be understood as any of the following: RTPC, industrial control computer, real-time machine, or processor. It provides computing resources and performs simulation calculations during the testing process. The memory module can be integrated with the real-time processing module or separated from it.

[0075] The test communication module communicates with an external object when used for testing. The external object is at least one of the following: the device under test, or a test auxiliary device.

[0076] The testing auxiliary devices can be, for example, mechanical benches, simulation devices, loads, etc., or actuators in RCP testing.

[0077] The test communication module can be configured with channel resources to communicate with external objects.

[0078] The channel resources can be, for example, resources of at least one of the following channels:

[0079] The signal acquisition channel can be used to acquire one or more of the following signals: digital voltage, analog voltage, digital current, and analog current. For example, it can be a multi-functional signal acquisition channel with switchable functions, with different functions corresponding to the acquisition of different types of signals.

[0080] The signal generation channel can be used to generate one or more of the following signals: digital voltage, analog voltage, digital current, and analog current. For example, it can be a multi-functional signal generation channel with switchable functions, with different functions corresponding to the acquisition of different types of signals.

[0081] The channel resources can also include, for example, bus channels (such as CAN channel, Flexray channel, LIN channel, DSI3 channel, PSI5 channel, automotive Ethernet channel, etc.), simulation channels, and other customized function channels.

[0082] The test communication modules can include, for example, signal acquisition boards, signal generation boards, simulation boards, bus boards, etc.

[0083] Furthermore, the purpose of the information to be conveyed may be, for example:

[0084] It can be used for a real-time processing module of one business host to access a test communication module in another business host (for example, reading data reported to the test communication module by an external object, or sending data to the test communication module and then sending the data to the external object).

[0085] It can also be used to enable data sharing between a real-time processing module of one business host and a real-time processing module of another business host (for example, when multiple real-time processing modules are being tested collaboratively, data generated by interactive simulation is required).

[0086] It can also be used for data sharing between the test communication module of one business host and the test communication module of another business host (for example, when it is necessary to feed back the data reported by the test auxiliary device to the device under test or to feed back the data reported by the device under test to the test auxiliary device).

[0087] Furthermore, a single business host can contain one or more real-time processing modules, test communication modules, simulation modules, etc.

[0088] When the aforementioned communication module is applied to the business host of the test system, i.e., when applied to the test scenario, the requirement module (a business module of a business host) can access the target module in other domains through multiple PCIe switch domains. For example, the real-time processing module of a business host can access the test communication module of the "other business host" through the PCIe switch of the business host, the PCIe switch of the management host, and the PCIe switch of another business host. As a result, the device under test (DUT) can be wired more freely, without being restricted to which business host it is connected to. At the same time, the resources available for testing the DUT (such as the channel resources provided by the test communication module, and the computing resources provided by the real-time processing module and the memory module) are no longer limited to a single business host, providing a foundation for a richer and more diverse range of resource usage possibilities. This type of access is based on PCIe, has high communication efficiency, and can meet the high real-time interaction requirements between the real-time processing module and the DUT during the test process.

[0089] During testing, the test communication module's channel resources communicate with external objects. The real-time processing module of the business host continuously generates data that needs to be sent to external objects, and external objects continuously report data to the real-time processing module (data exchange may also occur between real-time processing modules and between external objects via the test communication module). This process enables data exchange for simulation testing, and high real-time performance is required. The challenge lies in the fact that while communication between the real-time processing module and the test communication module on a single business host via PCIe can meet real-time requirements, if the test communication module and real-time processing module of a single business host are insufficient to cover the testing needs, it becomes necessary to use the real-time processing modules and test communication modules of other business hosts to participate in the testing. In this case, if high real-time performance cannot be achieved in cross-business host communication, it will significantly impact the testing.

[0090] This significant impact on testing is illustrated by a simple example:

[0091] Assuming the device under test (DUT) is a controller for intelligent driving, it executes algorithms based on simulation information from real-time processing modules to obtain control information. If two real-time processing modules need to calculate different simulation information (denoted as the first simulation information and the second simulation information) and send them to the controller at the same interval, for example, if one real-time processing module can send the first simulation information to the DUT through the channel resources of its own business host, while the channel resources of the other real-time processing module's own business host are insufficient or unusable, then it needs to cross business hosts and send the second simulation information to the DUT through the channel resources of another business host. If the real-time performance of cross-business host communication is poor, it is possible that the first simulation information is sent to the DUT at every time t1, but the second simulation information can only be sent to the DUT at every time t2 due to the poor real-time performance of cross-business hosts. This will cause the DUT to be unable to obtain simulation information at the same interval, thus failing to obtain appropriate control information in a timely and effective manner.

[0092] Similar scenarios can occur when the controller is connected to test communication modules on different service hosts, requiring separate reporting of first and second reporting information. Furthermore, the real-time processing module and test communication module participating in the same test can reside on different service hosts. Alternatively, the same device under test (DUT) can be tested at different times using different resources, such as test communication modules connected to different service hosts and / or different real-time processing modules. However, due to the use of the relay module and PCIe switch described in this manual, under generally high real-time requirements, the test environment will not significantly differ due to such resource changes, thus ensuring test accuracy.

[0093] Furthermore, it should be noted that in the testing field, especially in the HIL testing field, in the prior art prior to this application, the access to channel resources by the real-time processing module of the cross-service host was mainly achieved through Ethernet. This application introduces the communication method of the PCIe switch, which is mainly used inside the device, into the cross-service host scenario, realizing the conversion of the communication method of the PCIe switch and solving the technical problem that the low real-time communication of the cross-service host affects the test results, which is unique to the testing field.

[0094] The relay module provided in this specification offers a reliable method for PCIe communication across service hosts because it can relay data between different PCIe switches. This lays the foundation for achieving the aforementioned high real-time performance.

[0095] In some embodiments described herein, the test system includes a relay module, and a public PCIe switch and a non-public PCIe switch connected to the relay module for use as the first PCIe switch or the second PCIe switch.

[0096] The public PCIe switches can be located on the management host, while the non-public PCIe switches can be located on the service host. The relay module can be located on the service host, or it can be located independently of the service host.

[0097] In some embodiments described in this specification, a service host of a test system may include a relay module and a non-public PCIe switch, wherein the non-public PCIe switch is connected to the relay module, and the non-public PCIe switch can be used as a first PCIe switch or a second PCIe switch at least part of the time.

[0098] In some embodiments, the service host in the test system may include at least one of the following:

[0099] A service host equipped with a real-time processing module, a non-public PCIe switch, and a relay module, but without a test communication module, does not need to provide channel resources, only computing resources;

[0100] It is equipped with a test communication module, a non-public PCIe switch, and a relay module, but lacks a real-time processing module (of course, other processing modules may be included, but they do not perform simulation calculations during testing), and therefore does not require computing resources for simulation calculations during the testing process. This type of service host can also be described as a board enclosure, etc.

[0101] The third type of service host includes a test communication module, a real-time processing module, a non-public PCIe switch, and a relay module. Figures 5 to 7 The examples primarily use this type of business host for illustration.

[0102] In some embodiments, please refer to Figure 5 In addition to multiple business hosts, the test system may also include a management host;

[0103] Each of the service hosts is equipped with the non-public PCIe switch, the relay module, and the service module. The management host is equipped with the public PCIe switch. The relay module of each service host is connected to the public PCIe switch in the management host. Figure 5 In the example shown, the relay module can be connected to a public PCIe switch via a wired communication medium such as fiber optic cable.

[0104] When a first business module of a first business host among the plurality of business hosts is used as the demand module, and a second business module of a second business host among the plurality of business hosts is used as the target module, the transmission of the currently to be conveyed information between the first business module and the second business module is achieved through the following process:

[0105] In the first service host, the first service module sends the current information to be forwarded to the non-public PCIe switch. The forwarding module obtains the current information to be forwarded from the non-public PCIe switch, performs a conversion operation on the current information to be forwarded, and then sends it to the public PCIe switch.

[0106] In the second service host, the relay module obtains the current information to be relayed from the public PCIe switch, performs another round of conversion on the current information to be relayed, and then sends it to the non-public PCIe switch. The non-public PCIe switch then sends the current information to be relayed to the second service module.

[0107] The above process can also be understood as the steps of a testing method. When conversion operations are applied to the steps of the above testing method, they can be understood as conversion operations on the information to be conveyed.

[0108] exist Figures 5 to 7 In the example shown, each business host is equipped with a real-time processing module and a test communication module.

[0109] The relay path for a real-time processing module 1 of a service host 1 to access a test communication module M of another service host M can be as follows: Figure 6 As shown, for example, the real-time processing module 1 in service host 1 can initiate a data read / write access request. This access request reaches EP0_M of service host M via the illustrated relay path. EP0_M, and then the test communication module M can read the information to be relayed from the service board via the PCIe switch of service host M. If it is a read request, the read data to be transmitted can be returned to the real-time processing module 1 of service host 1 via the same relay path. The relay path for one service host's real-time processing module to access another service host's real-time processing module can be as follows: Figure 7 As shown, its process is similar to Figure 6 The related explanations are similar. Furthermore, in examples not shown, the relay paths between test communication modules of different business hosts can also be understood by referring to this.

[0110] Regarding the working principle of the relay module, this specification provides some preferred embodiments. However, the actual implementation is not limited to these. As long as the relay function is implemented and the relevant content of the information to be relayed (such as access address, transaction initiator identifier, transaction completer identifier, etc.) is converted during the relay process, it will not deviate from the meaning of the relay module described in this specification.

[0111] When the relay module obtains the information to be relayed, it is specifically used to: act as a first EP connected to the first PCIe switch and obtain the information to be relayed from the first PCIe switch;

[0112] When the relay module sends the information to be relayed after the conversion operation, it is specifically used to send the converted channel access request to the second PCIe switch as a second EP connected to the second PCIe switch.

[0113] In one example, part or all of the relay module is configured as a first EP in the network of the first PCIe switch, and part or all of the relay module is configured as a second EP in the network of the second PCIe switch. For example, in the first PCIe switch / second PCIe switch, the connection end connected to the relay module is the EP connection end. The relay module and the PCIe switch will implement communication between the EP and the host, and between the EP and the EP in the PCIe switch. The first EP and the second EP are independent EPs, each implementing communication in its own PCIe switch, and can also communicate with each other.

[0114] Correspondingly, regarding the structure of the relay module, the relay module includes: a first EP unit for communicating with the first PCIe switch to implement the function of the first EP, and a second EP unit for communicating with the second PCIe switch to implement the function of the second EP. In some examples, the relay module is implemented using FPGA circuitry. The first EP unit and the second EP unit refer to two parts of the FPGA circuitry, and the first EP unit and the first EP can be understood as the same concept, as can the second EP unit and the second EP. In other examples, it is also possible that the first EP and the second EP are implemented using an algorithm located in the processor of the relay module.

[0115] The conversion operation is performed by at least one of the following:

[0116] The first EP unit;

[0117] The second EP unit;

[0118] A conversion unit connected between the first EP unit and the second EP unit.

[0119] The conversion operation is described in further detail below:

[0120] Translation operations can include address translation of the address of an access request (write request or read request);

[0121] Please refer to Figure 8 and combined Figure 5 In this context, the first EP and the second EP are represented as EP1 for communication with public PCIe switches and EP0 for communication with non-public PCIe switches. Therefore, EP1 in the relay module 1 of service host 1 is represented as EP1_1, EP1 in the relay module 2 of service host 2 is represented as EP1_1, EP0 in the relay module 1 of service host 1 is represented as EP0_1, and EP0 in the relay module 2 of service host 2 is represented as EP0_1. For ease of understanding, Figure 8 The explanation mainly uses Business Host 1, which has two business modules, and Business Host 2, which also has two business modules, as examples. The address translation operation that occurs when any two business modules pass access requests can be understood by referring to this example.

[0122] The address translation operation is performed based on the mapping relationship between the public address space and the non-public address space; this mapping relationship can be a single layer or multiple layers, wherein:

[0123] In the public address space, different service modules of different service hosts in the multiple service hosts correspond to different address segments, and the public PCIe switch exchanges and transmits the data to be transmitted based on the public address space; the public address space can also be understood as the address distribution in the domain of the public PCIe switch.

[0124] Since each service host's relay module acts as EP1 for data exchange and transmission on the public PCIe switch, the address ranges corresponding to different service hosts are actually the address ranges of EP1 for those different service hosts within the domain of the public PCIe switch. Figure 8 As shown in the example, there are two service hosts, and each service host's EP1 corresponds to an address segment. Furthermore, the address segment of the EP1 of the service host can be further divided into two different address segments corresponding to different service modules.

[0125] In the non-public address space, different service modules of different service hosts in the multiple service hosts correspond to different address ranges, and the non-public PCIe switch exchanges and transmits the data to be transmitted based on the non-public address space.

[0126] The non-public address space can also be understood as the address distribution within the domain of a non-public PCIe switch. For a service module within a service host, access between service modules within the same service host can bypass EP0 (although in some examples, it may be implemented via EP0). Since each service host's relay module acts as EP0 for data exchange and transmission on the non-public PCIe switch, to enable differentiated access for service modules of other service hosts, the EP0 address range needs to be divided. Each divided address range corresponds to a service module of another service host, essentially mapping the service modules of other service hosts to a segment of EP0 address space. Figure 8 As shown in the example, in the non-public address space, two address segments are for the service modules in this service host, and the other two address segments correspond to the two service modules of another service host.

[0127] Of course, the above description and Figure 8 The diagram mainly illustrates the address that needs to be mapped in the final conversion. However, when implementing this mapping, one or more complex mapping relationships can be used in the middle. Correspondingly, one round of address conversion operation may involve one conversion or multiple conversions. Regardless of how it is implemented, it can be understood as one way of implementing address conversion operation by the relay module of this specification.

[0128] In some embodiments, please refer to Figures 5 to 7 The management host and the business hosts can also communicate via an Ethernet switch to meet some communication needs that do not have high real-time requirements. For example, before testing, they can communicate via Ethernet. The communication results can be used to determine the common address space information and / or relay address space information. For example, the management host can enumerate all business modules of all business hosts and feed back the enumeration results to each business host. Then, the business hosts can allocate the business modules of each business host to the relay address space based on the enumeration results. The hosts can also allocate the business modules of each business host to the common address space based on the enumeration results.

[0129] The management host may be equipped with a designated processing module and an EP (i.e., EP0_0 in the figure). Both the EP and the designated processing module are connected to the PCIe switch in the management host (i.e., PCIe switch 0 in the figure). The designated processing module is connected to the real-time processing module of each service host through an Ethernet switch.

[0130] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.

[0131] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A relay module, characterized in that, The relay module is configured to: The information to be forwarded is obtained directly or indirectly through the first PCIe switch connected to the forwarding module; the information to be forwarded originates from the demand module; the information to be forwarded is used to initiate, execute, or terminate the data transmission between the demand module and the target module. The requirement module and the target module are business modules in different business hosts; Through a conversion operation, the information to be transmitted is converted into a form that can be directly or indirectly transmitted to the target module via the connected second PCIe switch; The information to be forwarded after the conversion operation is sent to the second PCIe switch so that the information to be forwarded after the conversion operation can be directly or indirectly transmitted to the target module via the second PCIe switch.

2. The relay module according to claim 1, characterized in that, For use in testing systems, the business modules in the business host include at least one of the following: a real-time processing module, a test communication module, a simulation module, and a memory module; in: The test communication module communicates with an external object when used for testing, and the external object is at least one of the following: the device under test, or a test auxiliary device.

3. The relay module according to claim 1, characterized in that, At least for a portion of the time, the information to be relayed from outside to inside is referred to as the information to be relayed, the public PCIe switch is used as the first PCIe switch, and the non-public PCIe switch is used as the second PCIe switch; the demand module is an external demand module, and the external demand module satisfies the following: it is not connected to the non-public PCIe switch connected to the relay module, and the non-public PCIe switch connected to the relay module is also connected to the target module.

4. The relay module according to claim 1, characterized in that, At least for a portion of the time, internal and external information to be relayed are referred to as the information to be relayed. A non-public PCIe switch is used as the first PCIe switch, and a public PCIe switch is used as the second PCIe switch. The demand module is an internal demand module. The internal demand terminal and the relay module are connected to the same non-public PCIe switch. The target module is located on an external device, and the external device is connected to the public PCIe switch.

5. The relay module according to any one of claims 1 to 4, characterized in that, The information to be conveyed includes an access request, which includes one of the following: a write request or a read request. The conversion operation includes the address conversion operation of the access address of the access request.

6. The relay module according to claim 5, characterized in that, The address translation operation is performed based on the mapping relationship between the public address space and the non-public address space; in: In the public address space, different service modules of different service hosts among the multiple service hosts correspond to different address ranges; the public PCIe switch exchanges and transmits the information to be forwarded based on the public address space; In the non-public address space, different service modules of different service hosts in the multiple service hosts correspond to different address ranges, and the non-public PCIe switch exchanges and transmits the information to be forwarded based on the non-public address space.

7. The relay module according to any one of claims 1 to 4, characterized in that, The information to be conveyed includes one of the following: a write request, a read request, or data to be conveyed in response to the read request. The conversion operation includes one of the following: The identifier conversion operation of the transaction initiator identifier of the write request; The identifier conversion operation of the transaction completer identifier of the read request; The identifier conversion operation of the transaction initiator identifier of the data to be transmitted; The identifier conversion operation of the transaction completer identifier of the data to be transmitted.

8. The relay module according to any one of claims 1 to 4, characterized in that, When the relay module obtains the information to be relayed, it is specifically used to: act as a first EP connected to the first PCIe switch and obtain the information to be relayed from the first PCIe switch; When the relay module sends the information to be relayed after the conversion operation, it is specifically used as a second EP connected to the second PCIe switch to send the information to be relayed after the conversion operation to the second PCIe switch. The relay module includes: a first EP unit for communicating with the first PCIe switch to implement the function of the first EP, and a second EP unit for communicating with the second PCIe switch to implement the function of the second EP; The conversion operation is performed by at least one of the following: The first EP unit; The second EP unit; A conversion unit connected between the first EP unit and the second EP unit.

9. A service host, characterized in that, The service host includes a relay module as described in any one of claims 1 to 8, and a non-public PCIe switch connected to the relay module, wherein the non-public PCIe switch can be used as the first PCIe switch or the second PCIe switch at least for a portion of the time.

10. A testing system, characterized in that, It includes the relay module as described in any one of claims 1 to 8, and a public PCIe switch and a non-public PCIe switch connected to the relay module for use as the first PCIe switch or the second PCIe switch.

11. The testing system according to claim 10, characterized in that, Includes multiple business hosts and management hosts; Each of the service hosts is equipped with the non-public PCIe switch, the relay module, and the service module. The management host is equipped with the public PCIe switch, and the relay module of each service host is connected to the public PCIe switch in the management host.

12. The testing system according to claim 11, characterized in that, When a first business module of a first business host among the plurality of business hosts is used as the demand module, and a second business module of a second business host among the plurality of business hosts is used as the target module, the transmission of the currently to be conveyed information between the first business module and the second business module is achieved through the following process: In the first service host, the first service module sends the current information to be forwarded to the non-public PCIe switch. The forwarding module obtains the current information to be forwarded from the non-public PCIe switch, performs a conversion operation on the current information to be forwarded, and then sends it to the public PCIe switch. In the second service host, the relay module obtains the current information to be relayed from the public PCIe switch, performs another round of conversion on the current information to be relayed, and then sends it to the non-public PCIe switch. The non-public PCIe switch then sends the current information to be relayed to the second service module.

13. A testing method, characterized in that, The testing system described in claim 11 was adopted; The testing method includes: In the first service host, the first service module sends the current information to be forwarded to the non-public PCIe switch. The forwarding module obtains the current information to be forwarded from the non-public PCIe switch, performs a conversion operation on the current information to be forwarded, and then sends it to the public PCIe switch. In the second service host, the relay module obtains the current information to be relayed from the public PCIe switch, performs another round of conversion operations on the current information to be relayed, and then sends it to the non-public PCIe switch. The non-public PCIe switch then sends the current information to be relayed to the second service module.