Data access method, exchange subsystem, data access system and electronic equipment

By generating virtual configuration information by responsive devices, the problem of driver development efficiency in cross-host domain access is solved, simplified cross-host domain data access is achieved, and development efficiency is improved.

CN120389996AActive Publication Date: 2025-07-29SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD

Patent Information

Application Number
CN202510886685.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-30
Publication Date
2025-07-29
Estimated Expiration
2045-06-30

AI Technical Summary

Technical Problem

In computer clusters, data access operations across host domains require different drivers due to different endpoint devices, and the implementation methods of non-transparent bridges of different manufacturers vary greatly, resulting in low development efficiency.

Method used

The configuration information replies device is introduced. By generating virtual configuration information, the target host device can identify the target endpoint device and use the virtual configuration information to convert the address data. The bridge device automatically addresses across the address domain to avoid special non-transparent bridges to perform address conversion.

Benefits of technology

Improves driver development efficiency, reduces driver changes need, and simplifies cross-host domain access operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120389996A_ABST
    Figure CN120389996A_ABST
Patent Text Reader

Abstract

Disclosed are a data access method, an exchange subsystem, a data access system and an electronic device, relating to the technical field of information transmission, comprising: for a configuration information access request of a target endpoint device located in a different host domain from a target host device, a configuration information response device can respond to the configuration information access request, although the target endpoint device is not in the host domain where the target host device is located, the target virtual configuration information fed back by the configuration information response device can enable the target host device to identify the target endpoint device as an endpoint device in the host domain of the target host device, and the target virtual configuration information is utilized to execute the address data conversion operation. Therefore, when the bridge device obtains the actual address data in the target address field, the cross-address-field addressing operation can be automatically carried out, and the target endpoint device can be accessed. Therefore, the development efficiency of the drive program can be improved only by adding the conversion code of the address data on the basis of the original drive program.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of information transmission technology, and particularly to a data access method, a switching subsystem, a data access system, and an electronic device. Background Art

[0002] In the field of information transmission technology, multiple host devices can be set in a computer cluster, and the host devices can be connected to endpoint devices through a switching subsystem. Since the switching subsystem itself does not support cross-host domain communication. Therefore, a non-transparent bridge needs to be set in the switching subsystem. When a host device in a host domain needs to access an endpoint device in host domain 2, it can send a data access request to the non-transparent bridge. After the non-transparent bridge performs a conversion operation on the address data and device identification information included in the data access request, a new data access request is generated and then sent to the endpoint device in host domain 2. Conversely, when an endpoint device in host domain 2 needs to access a host device in host domain 1, the access can also be completed in a similar manner.

[0003] However, due to the different device types of endpoint devices, access operations corresponding to different types of endpoint devices need to use different drivers, and the non-transparent bridge needs to use a specific interaction interface, and there are differences in the software and hardware implementation methods of non-transparent bridges designed by different manufacturers. Therefore, when implementing cross-host domain data access operations, complex modification operations need to be performed in the drivers corresponding to different device types according to the actual configuration of the non-transparent bridge, and the development efficiency is low. Summary of the Invention

[0004] This application provides a data access method, device, switching subsystem, data access system, electronic device, storage medium, and program product to solve the problem of the efficiency of developing drivers in the process of cross-host domain access.

[0005] In a first aspect, this application provides a data access method, which is executed by a configuration information response device, and the method includes: When receiving a configuration information access request sent by a target host device, obtaining target virtual configuration information corresponding to the configuration information access request according to the configuration information access request, where the target endpoint device corresponding to the target virtual configuration information and the target host device are in different host domains; Sending the target virtual configuration information to the target host device, where when the target host device obtains a data access request corresponding to the target endpoint device, based on the target virtual configuration information, converting the original address data included in the data access request into actual address data in a target address segment, and the target address segment is used to instruct a bridge device to perform cross-host domain addressing operations to complete the data access operation on the target endpoint device.

[0006] Second aspect, the present application provides a data access method, which is executed by a target host device. The method includes: Obtain a data access request for a target endpoint device, where the data access request includes original address data and target virtual configuration information, and the target endpoint device and the target host device are in different host domains; Based on the target virtual configuration information, convert the original address data into actual address data in a target address segment corresponding to the target endpoint device, where the target address segment is used to instruct a bridge device to perform address resolution operations across host domains; After replacing the original address data included in the data access request with the actual address data, obtain a converted data access request; Send the converted data access request to a bridge device connected to the target host device, where the bridge device performs data access operations on the target endpoint device based on the converted data access request.

[0007] Third aspect, the present application provides a data access method, which is executed by a host-side bridge device. The method includes: Receive a data access request sent by a target host device connected to the host-side bridge device, where the data access request includes actual address data; According to the actual address data and at least one preset address segment, determine whether the actual address data falls into any one of the at least one address segment; When it is determined that the actual address data falls into a target address segment in the at least one address segment, determine to perform address resolution operations across host domains; Based on the target address segment, send the actual address data to an endpoint-side bridge device connected to the target endpoint device corresponding to the target address segment, where the endpoint-side bridge device writes the actual address data to the target endpoint device connected to the endpoint-side bridge device to complete the data access operation on the target endpoint device.

[0008] Fourth aspect, the present application provides a data access method, which is executed by an endpoint-side bridge device. The method includes: Receive a data access request sent by a target endpoint device connected to the endpoint-side bridge device, where the data access request includes actual address data; According to the actual address data and at least one preset address segment, determine whether the actual address data falls into any one of the at least one address segment; When it is determined that the actual address data falls into a target address segment in the at least one address segment, determine to perform address resolution operations across host domains; Based on the target address segment, obtain physical location information corresponding to the target address segment; And perform cross-host domain conversion operations on the data access request to obtain a converted data access request; Send the converted data access request to the host - side bridge device corresponding to the physical location information. The host - side bridge device then sends the converted data access request to the target host device connected to the host - side bridge device to complete the data access operation on the target host device.

[0009] In a fifth aspect, the present application provides a data access device, including: A first acquisition module, configured to, when receiving a configuration information access request sent by a target host device, acquire target virtual configuration information corresponding to the configuration information access request. The target endpoint device corresponding to the target virtual configuration information and the target host device are in different host domains; A first sending module, configured to send the target virtual configuration information to the target host device. When the target host device acquires a data access request corresponding to the target endpoint device, based on the target virtual configuration information, the original address data included in the data access request is converted into actual address data in a target address segment. The target address segment is used to instruct the bridge device to perform cross - host - domain addressing operations to complete the data access operation on the target endpoint device.

[0010] In a sixth aspect, the present application provides a data access device, including: A second acquisition module, configured to acquire a data access request for a target endpoint device. The data access request includes original address data and target virtual configuration information. The target endpoint device and the target host device are in different host domains; A first conversion module, configured to, based on the target virtual configuration information, convert the original address data into actual address data in a target address segment corresponding to the target endpoint device. The target address segment is used to instruct the bridge device to perform cross - host - domain addressing operations; after replacing the original address data included in the data access request with the actual address data, a converted data access request is obtained; A second sending module, configured to send the converted data access request to the bridge device connected to the target host device. The bridge device performs a data access operation on the target endpoint device based on the converted data access request.

[0011] In a seventh aspect, the present application provides a data access device, including: A first receiving module, configured to receive a data access request sent by a target host device connected to a host - side bridge device. The data access request includes actual address data; The first determination module is configured to determine, according to the actual address data and at least one preset address segment, whether the actual address data falls into any one of the at least one address segment; when it is determined that the actual address data falls into a target address segment among the at least one address segment, determine to perform an addressing operation across the host domain. The third sending module is configured to send the actual address data to an endpoint-side bridge device connected to a target endpoint device corresponding to the target address segment based on the target address segment, where the endpoint-side bridge device writes the actual address data into the target endpoint device connected to the endpoint-side bridge device to complete the data access operation for the target endpoint device.

[0012] In a tenth aspect, the present application provides a data access device, including: The second receiving module is configured to receive a data access request sent by a target endpoint device connected to an endpoint-side bridge device, where the data access request includes actual address data. The second determination module is configured to determine, according to the actual address data and at least one preset address segment, whether the actual address data falls into any one of the at least one address segment; when it is determined that the actual address data falls into a target address segment among the at least one address segment, determine to perform an addressing operation across the host domain. The third obtaining module is configured to obtain physical location information corresponding to the target address segment based on the target address segment. The second conversion module is configured to perform a conversion operation across the host domain on the data access request to obtain a converted data access request. The fourth sending module is configured to send the converted data access request to a host-side bridge device corresponding to the physical location information, where the host-side bridge device sends the converted data access request to a target host device connected to the host-side bridge device to complete the data access operation for the target host device.

[0013] In an eleventh aspect, the present application provides a switching subsystem, including a plurality of bridge devices and a configuration information response device, where the configuration information response device is respectively connected to each bridge device, and each bridge device is respectively connected to other bridge devices except itself among the plurality of bridge devices; The configuration information response device is configured to execute the steps of the data access method in the first aspect; The host-side bridge device among the plurality of bridge devices is configured to execute the steps of the data access method in the third aspect; The endpoint-side bridge device among the plurality of bridge devices is configured to execute the steps of the data access method in the fourth aspect.

[0014] In a twelfth aspect, the present application provides a data access system, where the data access system includes the switching subsystem in the eleventh aspect, as well as a plurality of host devices and a plurality of endpoint devices; Any host device is used to execute the steps of the data access method according to the second aspect.

[0015] In the eleventh aspect, the present application provides an electronic device, including: a memory for storing a computer program; a processor for implementing the steps of any of the above data access methods when executing the computer program.

[0016] In the twelfth aspect, the present application provides a computer-readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the steps of any of the above data access methods are implemented.

[0017] In the thirteenth aspect, the present application provides a computer program product, including a computer program, and when the computer program is executed by a processor, the steps of any of the above data access methods are implemented.

[0018] Through the present application, for a configuration information access request of a target endpoint device in a different host domain from a target host device, a configuration information response device can respond to this configuration information access request. Although the target endpoint device is not in the domain where the target host device is located, the target virtual configuration information fed back by the configuration information response device can enable the target host device to identify the target endpoint device as an endpoint device in its own host domain, and use the target virtual configuration information to perform an address data conversion operation, so that when the bridge device obtains the actual address data in the target address segment, it can automatically perform an address cross-domain addressing operation to access the target endpoint device. In this way, there is no need for a dedicated non-transparent bridge to perform the address conversion operation. Furthermore, only the address data conversion code needs to be added to the original driver program. Such conversion code is relatively simple and does not require major changes to the driver program, that is, the development efficiency of the driver program can be improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] In order to more clearly illustrate the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0020] Figure 1 A schematic diagram of using a non-transparent bridge for cross-host domain communication provided by an embodiment of the present application; Figure 2 A schematic diagram of the architecture of a switching subsystem provided by an embodiment of the present application; Figure 3 A schematic diagram of the architecture of a data transmission system provided by an embodiment of the present application; Figure 4A schematic flowchart of a data access method provided by an embodiment of the present application; Figure 5 A schematic diagram of an operation for accessing configuration information across host domains in response to a request provided by an embodiment of the present application; Figure 6 A schematic diagram of a comparison of data streams between "spoofed response" and "genuine response" provided by an embodiment of the present application; Figure 7 A schematic flowchart of another data access method provided by an embodiment of the present application; Figure 8 A schematic diagram of a data stream for accessing an endpoint device provided by an embodiment of the present application; Figure 9 A schematic flowchart of another data access method provided by an embodiment of the present application; Figure 10 A schematic diagram of a data stream for accessing a host device provided by an embodiment of the present application; Figure 11 A schematic flowchart of yet another data access method provided by an embodiment of the present application; Figure 12 A schematic flowchart of yet another data access method provided by an embodiment of the present application; Figure 13 A schematic flowchart of yet another data access method provided by an embodiment of the present application; Figure 14 A schematic flowchart of yet another data access method provided by an embodiment of the present application; Figure 15 A schematic flowchart of a data access device provided by an embodiment of the present application; Figure 16 A schematic flowchart of a data access device provided by an embodiment of the present application; Figure 17 A schematic flowchart of a data access device provided by an embodiment of the present application; Figure 18 A schematic flowchart of a data access device provided by an embodiment of the present application; Figure 19 A schematic diagram of the structure of an electronic device provided by an embodiment of the present application. Detailed implementation manners

[0021] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.

[0022] It should be noted that in the description of this application, the terms "include", "comprise" or any other variant thereof are intended to cover non-exclusive inclusion, such that a process, method, article or device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or device. The terms "first", "second", etc. in this application are used to distinguish similar objects and not to describe a specific order or sequence.

[0023] To enable those skilled in the art of this technology to better understand the solution of this application, the following further detailed description of this application will be given in conjunction with the accompanying drawings and specific embodiments.

[0024] As Figure 1 shown, a traditional data access system includes multiple host devices (Host), a switching subsystem (Switch), as well as multiple endpoint devices (End Point, EP), and multiple port devices (such as the bold boxes in the figure). The switching subsystem may include multiple bridge devices and non-transparent bridges (Non-Transparent Bridge, NTB), as well as multiple port devices. The host device is an independent computing system and may include a root port, a central processing unit (Central Processing Unit, CPU), memory, etc. The endpoint device may be a device such as a network card, a storage controller, or a graphics card that implements a specific function. The switching subsystem may be a Peripheral Component Interconnect Express (PCIE) switch.

[0025] Host device 0 and endpoint device 0 are in host domain 0, and host device 1 and endpoint device 1 are in host domain 1. As Figure 1 shown, from the perspective of host device 0 and host device 1, they can only see their respective endpoint devices. For example, host device 0 can only see endpoint device 0, and host device 1 can only see endpoint device 1. Since some switching subsystems (such as the above-mentioned PCIE switch) do not directly support cross-host domain communication themselves and need to rely on non-transparent bridges to achieve it. Therefore, when host device 0 needs to initiate an access to endpoint device 1, it can send a data access request to the non-transparent bridge. The non-transparent bridge can convert the address data included in the data access request into address data suitable for host domain 1, and convert the device identification information included in the data access request into device identification information suitable for host domain 1. In this way, a converted data access request can be obtained. Finally, the converted data access request is sent to endpoint device 1. The data flow of the data access request can refer to the Figure 1 dashed line in.

[0026] Due to differences in the device types of endpoint devices, when a host device accesses endpoint devices of different device types, different driver programs need to be called. Different manufacturers use different implementation methods and software-hardware interfaces when designing non-transparent bridges, resulting in the need for driver programs of different device types to be developed according to the actual implementation method of the non-transparent bridge in order to achieve cross-host domain data access operations. In this way, the development efficiency of driver programs is low, which brings great difficulties to the implementation of cross-host domain data access operations.

[0027] To achieve cross-host domain data access operations, the present application provides a new switching subsystem. As Figure 2 shown, a configuration information response device is set in the switching subsystem, and the configuration information response device and all bridge devices are connected to the internal interconnection bus. The connection method between the host device and the endpoint device remains unchanged. Correspondingly, the data access system can be as Figure 3 shown. The configuration information response device can be a central processing unit.

[0028] An embodiment of the present application provides a data transmission method, which can be cooperatively executed by the devices included in the above data access system. As Figure 4 shown, the specific processing steps of the data access method can include: Step S401, the configuration information response device obtains the physical configuration information corresponding to at least one endpoint device respectively.

[0029] Among them, the physical configuration information corresponding to each endpoint device can include the physical configuration information of the endpoint device itself, as well as the physical configuration information of the bridge device corresponding to the endpoint device and the physical configuration information of the port device. For example, the physical configuration information of the endpoint device itself can include physical device type information, physical device identification information, manufacturer identification information, and device function information.

[0030] Specifically, in order to enable a host device in a source host domain (for example, host domain 0) to access an endpoint device in a target host domain (for example, host domain 1), the configuration information response device needs to construct a virtual device group in the logical topology of the host device in the source data domain. Each virtual device group can include at least one virtual bridge device, a virtual port device, and a virtual endpoint device. Correspondingly, the configuration information response device needs to first obtain the physical configuration information corresponding to at least one endpoint device respectively. For example, after the configuration information response device is powered on, it can scan and obtain the address information and physical configuration information corresponding to each endpoint device according to the enumeration process of the PCIE device. For example, the address information can be a Bus Device Function (BDF) address.

[0031] Step S402: The configuration information response device modifies each piece of physical configuration information according to a preset modification rule to obtain virtual configuration information corresponding to each piece of physical configuration information.

[0032] Among them, the preset modification rule may include preset field position information.

[0033] Specifically, in the physical configuration information corresponding to each endpoint device, the actual configuration information corresponding to the bridge device and the port device does not need to be modified. The configuration information response device can modify the physical configuration information of the endpoint device itself according to the preset modification rule. After the modification is completed, the construction operation of the virtual device group can be completed. Correspondingly, the configuration information response device can modify the physical configuration information in the following manner. The specific modification steps may include: Step 1: According to the preset field position information, determine a target field corresponding to the preset field position information in the target physical configuration information.

[0034] Among them, the target physical configuration information is the physical configuration information corresponding to the target virtual configuration information.

[0035] Step 2: Extract target physical device type information from the target field.

[0036] Step 3: According to the target physical device type information, obtain target virtual device type information corresponding to the target physical device type information.

[0037] Step 4: Replace the original value of the target field with the target virtual device type information to obtain the target virtual configuration information.

[0038] Among them, the target field may be the Class Code field defined by the PCIE protocol.

[0039] The configuration information response device can first determine a target field in the target physical configuration information that matches the preset field position information. Furthermore, it can extract the target physical device type information from the target field and, according to the target physical device type information and the mapping relationship between the physical device type information and the virtual device type information, determine the target virtual device type information corresponding to the target physical device type information. Finally, the configuration information response device can replace the target physical device type information of the target field with the target virtual device type information to obtain the target virtual configuration information. In this way, for each piece of physical configuration information, similar processing as above can be performed to obtain the corresponding virtual configuration information. By simply modifying the physical configuration information, the virtual configuration information can be obtained.

[0040] In some alternative embodiments, in addition to modifying the physical device type information, the physical device identification information may also be modified. Correspondingly, the above preset modification rules may further include identification information conversion rules, and the configuration information response device may convert the physical device identification information into virtual device identification information according to the identification information conversion rules. Among them, the preset identification information conversion rules may include the mapping relationship between the physical device identification information and the virtual device identification information. Correspondingly, the configuration information response device may determine the target virtual device identification information corresponding to the target physical device identification information according to this mapping relationship, and replace the target physical device identification information in the target physical configuration information with the target virtual device identification information to obtain the target virtual configuration information. For example, convert "001a" to "AB002".

[0041] Step S403: For each virtual configuration information generated by the configuration information response device, store the generated virtual configuration information in the target storage location.

[0042] Among them, the target storage location may be the memory connected to the configuration information response device inside the switching subsystem.

[0043] Specifically, for each virtual configuration information generated by the configuration information response device, the virtual configuration information and the address information of the corresponding endpoint device (for example, the above BDF address) may be stored in the target storage location.

[0044] Step S404: The target host device sends a configuration information access request to the configuration information response device.

[0045] Among them, the configuration information access request may be used to obtain the target virtual configuration information of the target endpoint device, and the target endpoint device and the target host device are in different host domains.

[0046] Specifically, the process of the host device identifying the endpoint device may be implemented through an enumeration operation: during the enumeration process, when the host device discovers that an endpoint device is connected under the lowest-level port device, the host device may initiate a series of configuration information access requests to the endpoint device. When the endpoint device receives the configuration information access request, it may generate a response packet and output it to the host device according to its own physical configuration information. In this way, the host device can receive the response packet and extract the physical configuration information of the endpoint device from the response packet.

[0047] Under normal circumstances, when the host device initiates a configuration information access request for a non-existent location, it will receive a special response data packet indicating that there is no endpoint device at that location. In this solution, in order to make the target host device "recognize" the endpoint devices in other host domains, a "deceptive response" is made through the configuration information response device. Accordingly, the target host device can send a configuration information access request to the configuration information response device to obtain the target virtual configuration information.

[0048] As Figure 5 shown, the bridge device, port device, and endpoint device 1 enclosed by the right dotted line are the physical device group under host domain 1, and the bridge device, port device, and endpoint device 1 enclosed by the left dotted line are the virtual device group corresponding to the physical device group constructed under the logical topology of the configuration information response in host domain 0. During the configuration information access phase, when the configuration information response device obtains a configuration information access request for endpoint device 1, it can make a "deceptive response".

[0049] As Figure 6 shown, for endpoint device 1, endpoint device 1 can directly make a real response to the configuration information access operation of host device 1 in its own host domain 1. In host domain 0, the configuration information response device replaces endpoint device 1 to make a response to host device 1, that is, the configuration information response device makes a "deceptive response".

[0050] Step S405, the configuration information response device obtains the target virtual configuration information corresponding to the configuration information access request according to the configuration information access request.

[0051] Among them, the target endpoint device corresponding to the target virtual configuration information and the target host device are in different host domains.

[0052] Specifically, when the configuration information response device receives the configuration information access request sent by the target host device, it can determine the target virtual configuration information corresponding to the configuration information access request from the virtual configuration information stored in the target storage location according to the configuration information access request. The configuration information access request may include the target address information of the target endpoint device. Accordingly, the specific steps for determining the target virtual configuration information may include: Determine the target virtual configuration information corresponding to the target address information from at least one virtual configuration information stored in the target storage location according to the target address information.

[0053] Since the configuration information response device can store the virtual configuration information corresponding to the address information when storing the virtual configuration information, when obtaining the configuration information access request, it can determine the virtual configuration information corresponding to the target address information from the virtual configuration information stored in the target storage location according to the target address information included in the configuration information access request.

[0054] In some alternative embodiments, the configuration information access request received by the configuration information response device is obtained through a host-side bridge device connected to the target host device. Accordingly, the target host device first sends the configuration information access request to the host-side bridge device. The host-side bridge device can identify whether there is an endpoint device in the target address information included in the configuration information access request. If not, it means that the endpoint device corresponding to the target address information is not in the host domain where the target host device is located, and the configuration information access request can be forwarded to the configuration information response device. If so, the configuration information access request can be sent to the corresponding endpoint device according to the original processing method. Alternatively, in addition to processing the configuration information access request according to the original processing method, the host-side bridge device can also forward all the received configuration information access requests to the configuration information response device. Through the above two methods, the configuration information response device can receive the configuration information access request sent by the target host device.

[0055] Step S406, the configuration information response device sends the target virtual configuration information to the target host device.

[0056] Specifically, after determining the target virtual configuration information, the configuration information response device can directly send the target virtual configuration information to the target host device, or first send the target virtual configuration information to the host-side bridge device connected to the target host device, and then the host-side bridge device sends the target virtual configuration information to the target host device.

[0057] In this way, the configuration information response device completes the operation of "spoofed response". When the target host device obtains a data access request corresponding to the target endpoint device, based on the target virtual configuration information, the original address data included in the data access request can be converted into the actual address data in the target address segment, so that when the bridge device obtains the actual address data in the target address segment, it can perform an addressing operation across the host domain to complete the access to the target endpoint device. The actual address data can be direct memory access (DMA) address data.

[0058] Step S407, the target host device performs a driver binding operation according to the target virtual configuration information and a plurality of pre-built drivers.

[0059] Among them, the target virtual configuration information may include target virtual device type information.

[0060] Specifically, after obtaining the target virtual configuration information, the target host device can identify the target endpoint device as an endpoint device connected at a position corresponding to the physical location information in its own host domain.

[0061] Moreover, when the target host device obtains the target virtual configuration information, it can determine the target driver corresponding to the target virtual configuration information from multiple drivers according to the target virtual configuration information, and bind the target driver to the target virtual device type information, so that the target driver can be directly called when accessing the target endpoint device corresponding to the target virtual configuration information. Accordingly, the binding operation of the driver can be performed according to the following specific steps: Step 1: Determine the target field corresponding to the preset field position information in the target virtual configuration information according to the preset field position information.

[0062] Step 2: Extract the target virtual device type information from the target field.

[0063] Step 3: Determine the target driver corresponding to the target virtual device type information from multiple drivers according to the target virtual device type information.

[0064] Step 4: Bind the target virtual device type information to the target driver.

[0065] The target host device can first determine the target virtual device type information in the target virtual configuration information, and then, according to the preset field position information, determine the target field corresponding to the preset field position information in the target virtual device type information, and extract the target virtual device type information from the target field. In this way, the target host device can determine the target driver corresponding to the target virtual value from multiple drivers according to the target virtual value, and bind the target virtual device type information to the target driver.

[0066] For the configuration information access request of the target endpoint device in a different host domain from the target host device, the configuration information response device can respond to this configuration information access request in the data access method of the embodiment of the present application. Although the target endpoint device is not in the host domain where the target host device is located, the target virtual configuration information fed back by the configuration information response device can enable the target host device to recognize the target endpoint device as an endpoint device in its own host domain, and use the target virtual configuration information to perform the conversion operation of the address data, so that the bridge device can automatically perform the cross-address domain addressing operation when obtaining the actual address data in the target address segment and access the target endpoint device. In this way, there is no need for a dedicated non-transparent bridge to perform the address conversion operation. Furthermore, only the address data conversion code needs to be added to the original driver. Such conversion code is relatively simple and does not require major modifications to the driver, that is, the development efficiency can be improved.

[0067] After completing the above binding operation of the driver, the target host device can initiate data access to the target endpoint device. Accordingly, an embodiment of the present application provides a data transmission method, which can be cooperatively executed by the devices included in the above data access system, such as Figure 7 As shown, the specific processing steps of the data access method may include: Step S701, the target host device obtains a data access request for the target endpoint device.

[0068] Among them, the data access request may include original address data and target virtual configuration information. The target virtual configuration information may include target virtual device type information and target virtual device identification information. The target endpoint device and the target host device are in different host domains. The original address data may also be DMA address data.

[0069] Specifically, the target host device may receive a data access request sent from other devices (for example, a client), or may automatically generate a data access request according to its own mechanism.

[0070] Step S702, based on the target virtual configuration information, the target host device converts the original address data into actual address data in the target address segment corresponding to the target endpoint device.

[0071] Among them, the target address segment is used to instruct the bridge device to perform an addressing operation across host domains.

[0072] Specifically, since the original address data is the address data used by the target endpoint device in the host domain of the target host device and cannot be used in the host domain to which the target endpoint device belongs, and in order to trigger the bridge device to perform an addressing operation across address domains, after obtaining the data access request, the target host device may first convert the original address data in the data access request into the target address segment. Accordingly, the target host device may perform the conversion operation of the address data according to the following steps, including: Step 1, according to the target virtual device type information, obtain the target driver bound to the target virtual device type information.

[0073] Among them, the target driver may include address mapping information corresponding to at least one virtual device identification information respectively.

[0074] Step 2, according to the target virtual device identification information, determine the target address mapping information corresponding to the target virtual device identification information from the address mapping information corresponding to at least one virtual device identification information respectively.

[0075] Among them, all the actual address data included in the target address mapping information is within the target address segment.

[0076] Step 3: Generate actual address data based on the original address data and the target address mapping information.

[0077] When the target host device receives a data access request, it can extract the original address data and the target virtual configuration information therefrom. Then, the target host device can obtain the target driver bound thereto according to the target virtual device type. Since there are different virtual devices with the same device type, the target host device can determine the target address mapping information corresponding to the target virtual device identifier information from the address mapping information respectively corresponding to at least one virtual device identifier information. Finally, the target host device can determine the actual address data corresponding to the original address data in the target address mapping information. By converting the address data into the target address segment, the bridge device can accurately intercept the data access requests across host domains.

[0078] Step S703: After the target host device replaces the original address data included in the data access request with the actual address data, a converted data access request is obtained.

[0079] Specifically, the target host device can delete the original address data included in the data access request and replace it with the actual address data determined in step S702, so that a converted data access request can be obtained.

[0080] Step S704: The target host device sends the converted data access request to the host-side bridge device connected to the target host device.

[0081] Specifically, the target host device can send the converted data access request to the host-side bridge device.

[0082] Step S705: The host-side bridge device determines whether the actual address data falls into any one of at least one address segment according to the actual address data and the preset at least one address segment.

[0083] Specifically, the data transmission system may include more than two host domains. Therefore, endpoint devices under different host domains need to use different address segments. Correspondingly, when the host-side bridge device receives a data access request, it can extract the actual address data therefrom and match the actual address data with each preset address segment respectively to determine whether the actual address data falls into a certain address segment. If the actual address data does not fall into any address segment, it means that the target host device is accessing an endpoint device in its own host domain and no special processing is required.

[0084] Step S706: When the host - side bridge device determines that the actual address data falls into the target address segment among at least one address segment, it determines to perform an addressing operation across host domains.

[0085] Specifically, if the actual address data falls into the target address segment, it indicates that the target host device needs to perform a data access operation on an endpoint device in another host domain and an addressing operation across host domains is required. In this way, the host - side bridge device can perform subsequent operations of this solution.

[0086] Step S707: The host - side bridge device sends the actual address data to the endpoint - side bridge device connected to the target endpoint device corresponding to the target address segment based on the target address segment.

[0087] Specifically, the host - side bridge device can determine the host domain to which the target endpoint device to be accessed belongs according to the target address segment, and send the actual address data to the endpoint - side bridge device under the host domain to which the target endpoint device belongs, so that the endpoint - side bridge device can write the actual address data to the target endpoint device. Correspondingly, the host - side bridge device can send the actual address data to the endpoint - side bridge device according to the following specific steps, including: Step 1: Based on the target address segment, obtain the physical location information corresponding to the target address segment.

[0088] Step 2: Based on the physical location information, send the actual address data to the endpoint - side bridge device.

[0089] The host - side bridge device can store at least one address segment and the physical location information respectively corresponding to at least one address segment. When determining the target address segment, it can determine the physical location information corresponding to the target address segment from the physical location information respectively corresponding to at least one address segment. Further, the host - side bridge device can extract the location information of the endpoint - side bridge device connected to the target endpoint device from this physical location information, and based on this location information, send the actual address data to the endpoint - side bridge device.

[0090] Step S708: The endpoint - side bridge device writes the actual address data into the target endpoint device.

[0091] Among them, the target endpoint device can include multiple address register groups.

[0092] Specifically, when the endpoint - side bridge device receives the actual address data sent by the host - side bridge device, it can write the actual address data into the target endpoint device, so that the target endpoint device can subsequently access the target host device according to this actual address data and obtain the service data stored in the storage space corresponding to this actual address data in the memory of the target host device. Correspondingly, the endpoint - side bridge device can perform the operation of writing the actual address data according to the following specific steps, including: Step 1, determine the target address register group corresponding to the target address segment from multiple address register groups according to the target address segment.

[0093] Step 1, determine the register group position information corresponding to the target address segment according to the target address segment.

[0094] Step 2, determine the target address register group from multiple address register groups according to the register group position information.

[0095] Step 2, write the actual address data into the target address register group.

[0096] Specifically, multiple address register groups used by the target endpoint device under different host domains can be set in the target endpoint device. For example, endpoint device 1 uses address register group 0 under host domain 0 and address register group 1 under host domain 1. Correspondingly, after receiving the actual address data, the endpoint side bridge device can determine the target address segment in a manner similar to step S705, or the host side bridge device can send the target address segment to the endpoint side bridge device. The endpoint side bridge device can store at least one address segment and the register group position information corresponding to each address segment. In this way, the endpoint side bridge device can determine the register group position information corresponding to the target address segment according to the target address segment. Finally, the endpoint side bridge device can determine the target address register group corresponding to the register group position information from multiple address register groups, that is, determine the target address register group corresponding to the target address segment, and write the actual address data into the target address register group. By separating different host domains and using different address register groups, the isolation between host domains is better, and the business of each host domain can be ensured to proceed safely.

[0097] Reference Figure 8 In the example in, under host domain 0, A0 is the original address data, and the host device 0 (target host device) converts A0 into B0 in the target address segment through the address conversion code in the customized driver, and B0 can finally be written into the address register group 0 (target address register group) of endpoint device 1. Under host domain 1, when accessing endpoint device 1 in the same way, host device 1 only needs to send A1 using the original standard driver, and A1 will finally be written into address register group 1.

[0098] In the data access method according to the embodiments of the present application, when the target host device obtains a data access request for a target endpoint device in a different host domain from itself, it can perform a conversion operation on the original address data according to the target virtual configuration information included in the data access request, so that it is converted into an address data in the target address segment, that is, the above-mentioned actual address data. Then, the target host device replaces the original address data with the actual address data and sends it to the host-side bridge device. After identifying that the actual address data is in the target address segment, the host-side bridge device can transmit the actual address data across the host domain to the target endpoint device. For a data access request across the host domain, the target host device only needs to perform an address data conversion operation, so that the host-side bridge device can perform an address resolution operation across the host domain, that is, only the relevant code for converting the address needs to be developed, so that it is not necessary to make major changes to the driver program, which is relatively simple, that is, the development efficiency of the driver program can be improved.

[0099] After receiving the data access request sent by the target host device, the host-side bridge device determines whether the actual address data included in the data access request is in a preset address segment. If the actual address data falls within the target address segment, it indicates that the host-side bridge device needs to perform an address resolution operation across the host domain. The host-side bridge device can determine the corresponding endpoint-side bridge device according to the target address segment, and the endpoint-side bridge device can write the actual address data into the target endpoint device. In this way, there is no need for a non-transparent bridge to participate in the address conversion operation and the address resolution operation. Correspondingly, there is no need to develop a driver program for different non-transparent bridges, avoiding the problem of low development efficiency of the driver program in the related art.

[0100] After writing the actual address data into the target endpoint device, the target endpoint device can also access the service data stored in the corresponding location in the target host device corresponding to the actual address data. Correspondingly, the embodiments of the present application provide a data access method, which can be cooperatively executed by the devices included in the above data access system, such as Figure 9 As shown, the specific processing steps of the data access method may include: Step S901, the endpoint-side bridge device receives a data access request sent by a target endpoint device connected to the endpoint-side bridge device.

[0101] Among them, the data access request may include actual address data, target physical device identification information, etc.

[0102] Specifically, when the target endpoint device needs to access the target host device, it can generate a data access request according to the actual address data and the target physical device identification information, and send it to the endpoint-side bridge device connected to itself.

[0103] Step S902: The endpoint-side bridge device determines whether the actual address data falls into any one of at least one preset address segment according to the actual address data and at least one preset address segment.

[0104] Specifically, the data transmission system may include more than two host domains. Therefore, endpoint devices under different host domains need to use different address segments. Correspondingly, when the endpoint-side bridge device obtains a data access request, it can extract the actual address data from it and match the actual address data with each preset address segment respectively to determine whether the actual address data falls into a certain address segment. If the actual address data does not fall into any address segment, it means that the target endpoint device is performing a data access operation on the host device in its own host domain and no special processing is required.

[0105] Step S903: When the endpoint-side bridge device determines that the actual address data falls into the target address segment among at least one address segment, it determines to perform an addressing operation across host domains.

[0106] Specifically, if the actual address data falls into the target address segment, it means that the target endpoint device needs to perform a data access operation on the host device in another host domain and an addressing operation across host domains is required. In this way, the endpoint-side bridge device can perform the subsequent operations of this solution.

[0107] Step S904: The endpoint-side bridge device obtains the physical location information corresponding to the target address segment based on the target address segment.

[0108] For the specific processing of Step S904, reference can be made to the specific processing of Step 707 above, which will not be elaborated here.

[0109] Step S905: The endpoint-side bridge device performs a cross-host domain conversion operation on the data access request to obtain a converted data access request.

[0110] Specifically, since the actual address data is the address data used in the host domain to which the target endpoint device belongs, when accessing the target host device that is in a different host domain from the target endpoint device, it is necessary to convert the actual address data in the data access request into the original address data used under the host domain to which the target host device belongs according to the preset address conversion rule. Correspondingly, the endpoint-side bridge device can perform the conversion operation on the data access request according to the following specific steps: Step 1: Obtain the target address mapping information corresponding to the target address segment according to the target address segment.

[0111] Step 2: Determine the original address data according to the actual address data and the target address mapping information.

[0112] Step 3, replace the actual address data in the data access request with the original address data to obtain the converted data access request.

[0113] When the endpoint-side bridge device receives a data access request sent by the target endpoint device, it can extract the actual address data therefrom and determine, based on the actual address data, that the actual address data falls within the target address segment. In addition, the endpoint-side bridge device may store address mapping information corresponding to at least one address segment respectively. Furthermore, it can determine the target address mapping information corresponding to the target address segment from the address mapping information corresponding to at least one address segment respectively based on the target address segment. Finally, the endpoint-side bridge device can determine the original address data corresponding to the actual address data in the target address mapping information based on the actual address data.

[0114] In some alternative embodiments, during the process of converting the data access request, in addition to performing a conversion operation on the address data, a conversion operation may also be performed on the device identification information. Correspondingly, the endpoint-side bridge device can specifically determine the target virtual device identification information corresponding to the target physical device identification information based on the target address segment and the target physical device identification information. And after replacing the target physical device identification information included in the data access request with the target virtual device identification information, the converted data access request is obtained. In this way, when the converted data access request is sent to the target host device, the target host device can accurately identify the source of the data access request.

[0115] Among them, determining the target virtual device identification information corresponding to the target physical device identification information based on the target address segment and the target physical device identification information may include: Obtain the mapping relationship of the device identification information corresponding to the target address segment based on the target address segment. Furthermore, based on the target physical device identification information and this mapping relationship, determine the corresponding target virtual device identification information.

[0116] Step S906, the endpoint-side bridge device sends the converted data access request to the host-side bridge device corresponding to the physical location information.

[0117] Specifically, after the endpoint-side bridge device completes the conversion operation of the data access request and determines the physical location information, it can extract the location information of the host-side bridge device connected to the target host device from the physical location information and, based on this location information, send the converted data access request to the host-side bridge device.

[0118] Step S907, the host-side bridge device sends the converted data access request to the target host device connected to the host-side bridge device.

[0119] Specifically, after receiving the converted data access request, the host-side bridge device can send the converted data access request to the target host device connected to the host-side bridge device, thereby completing the data access operation on the target host device. The target host device can then retrieve the corresponding service data from the storage space corresponding to the original address data included in the data access request and send it to the target endpoint device (the specific sending process can refer to the process of sending the actual address data to the target endpoint device and will not be elaborated here).

[0120] As Figure 10 shown, the endpoint-side bridge device implements three functions. First, it intercepts data access requests across host domains through "address traps" (for example, the above-mentioned target address segment). Second, it converts the address data and identification information. Third, it performs addressing operations in a cross-host domain manner, that is, performs redirection operations. Among them, B0 is the actual address data and A0 is the original address data.

[0121] In the data access method of the embodiment of the present application, the endpoint-side bridge device can determine whether to perform cross-host domain addressing operations based on the actual address data carried in the data access request. Since the addresses that the target endpoint device can use are assigned by the host devices in its affiliated host domain, when it is determined to perform cross-host domain addressing operations, the endpoint-side bridge device can convert the data access request sent by the target endpoint device to conform to the regulations in the host domain where the target host device is located. In this way, after receiving the data access request, the target host device can directly process the data access request in the original manner (for example, the original driver), and correspondingly, there is no need to re-develop the driver for the non-transparent bridge in the development process, avoiding the problem of low efficiency in developing the driver.

[0122] The embodiment of the present application provides a data transmission method, which can be executed by the above-mentioned configuration information response device. As Figure 11 shown, the specific processing steps of the data access method may include: Step S1101, when receiving a configuration information access request sent by a target host device, obtain target virtual configuration information corresponding to the configuration information access request according to the configuration information access request.

[0123] Among them, the target endpoint device corresponding to the target virtual configuration information and the target host device are in different host domains.

[0124] Step S1102, send the target virtual configuration information to the target host device.

[0125] Among them, when the target host device obtains a data access request corresponding to the target endpoint device, based on the target virtual configuration information, the original address data included in the data access request is converted into actual address data in the target address segment, and the target address segment is used to instruct the bridge device to perform an addressing operation across the host domain to complete the data access operation on the target endpoint device. The bridge device can be a host-side bridge device or an endpoint-side bridge device.

[0126] For the specific processing from step S1101 to step S1102, reference can be made to the specific processing from step S405 to step S406, which will not be elaborated here.

[0127] In the data access method according to the embodiment of the present application, for a configuration information access request of a target endpoint device in a different host domain from the target host device, the configuration information response device can respond to this configuration information access request. Although the target endpoint device is not in the domain where the target host device is located, the target virtual configuration information fed back by the configuration information response device can enable the target host device to identify the target endpoint device as an endpoint device in its own host domain, and use the target virtual configuration information to perform the conversion operation of the address data, so that when the bridge device obtains the actual address data within the target address segment, it can automatically perform the addressing operation across the address domain to access the target endpoint device. In this way, there is no need for a dedicated non-transparent bridge to perform the address conversion operation. Furthermore, only the address data conversion code needs to be added to the original driver program. Such conversion code is relatively simple and does not require major modifications to the driver program, that is, the development efficiency can be improved.

[0128] The embodiment of the present application provides a data transmission method, which can be executed by the above-mentioned target host device (any host device), such as Figure 12 shown, the specific processing steps of the data access method may include: Step S1201, obtain a data access request for the target endpoint device.

[0129] Among them, the data access request includes original address data and target virtual configuration information, and the target endpoint device and the target host device are in different host domains.

[0130] Step S1202, based on the target virtual configuration information, convert the original address data into actual address data in the target address segment corresponding to the target endpoint device.

[0131] Among them, the target address segment is used to instruct the bridge device to perform an addressing operation across the host domain.

[0132] Step S1203, after replacing the original address data included in the data access request with the actual address data, obtain the converted data access request.

[0133] Step S1204: Send the converted data access request to the bridge device connected to the target host device.

[0134] Among them, the bridge device performs a data access operation on the target endpoint device based on the converted data access request. The bridge device can be the above-mentioned host-side bridge device or endpoint-side bridge device.

[0135] For the specific processing of steps S1201 to S1204, reference can be made to the specific processing of steps S701 to S704, which will not be elaborated here.

[0136] In the data access method according to the embodiment of the present application, when the target host device obtains a data access request for a target endpoint device in a different host domain from itself, it can perform a conversion operation on the original address data according to the target virtual configuration information included in the data access request, so that it is converted into an address data in the target address segment, that is, the above-mentioned actual address data. Then, the target host device replaces the original address data with the actual address data and sends it to the bridge device. After the bridge device recognizes that the actual address data is in the target address segment, it can transmit the actual address data across the host domain to the target endpoint device. For the data access request across the host domain, the target host device only needs to perform a conversion operation on the address data, so that the bridge device can perform the addressing operation across the host domain, that is, only the relevant code for converting the address needs to be developed, so that it is not necessary to make major changes to the driver program, which is relatively simple, that is, the development efficiency can be improved.

[0137] The embodiment of the present application provides a data transmission method, which can be executed by the above-mentioned host-side bridge device. As Figure 13 shown, the specific processing steps of the data access method may include: Step S1301: Receive a data access request sent by a target host device connected to the host-side bridge device.

[0138] Among them, the data access request includes actual address data.

[0139] Step S1302: Determine whether the actual address data falls into any one of at least one address segment according to the actual address data and at least one preset address segment.

[0140] Step S1303: When it is determined that the actual address data falls into the target address segment of at least one address segment, determine to perform an addressing operation across the host domain.

[0141] Step S1304: Based on the target address segment, send the actual address data to the endpoint-side bridge device connected to the target endpoint device corresponding to the target address segment.

[0142] Among them, the endpoint-side bridge device writes the actual address data to the target endpoint device connected to the endpoint-side bridge device to complete the data access operation for the target endpoint device.

[0143] For the specific processing of steps S1301 to S1304, reference can be made to the specific processing of steps S705 to S707, which will not be elaborated here.

[0144] In the data access method according to the embodiment of the present application, after receiving a data access request sent by a target host device, the host-side bridge device determines whether the actual address data included in the data access request is within a preset address segment. If the actual address data falls within the target address segment, it indicates that the host-side bridge device needs to perform an addressing operation across host domains. The host-side bridge device can determine the corresponding endpoint-side bridge device according to the target address segment, and the endpoint-side bridge device can write the actual address data into the target endpoint device. In this way, there is no need for a non-transparent bridge to participate in the address conversion operation and the addressing operation. Correspondingly, there is no need to develop driver programs for different non-transparent bridges, avoiding the problem of low development efficiency of driver programs in the related art.

[0145] The embodiment of the present application provides a data transmission method, which can be executed by the above-mentioned endpoint-side bridge device. As Figure 14 shown, the specific processing steps of the data access method may include: Step S1401, receiving a data access request sent by a target endpoint device connected to the endpoint-side bridge device.

[0146] Among them, the data access request includes actual address data.

[0147] Step S1402, determining whether the actual address data falls within any one of at least one address segment according to the actual address data and at least one preset address segment.

[0148] Step S1403, when it is determined that the actual address data falls within the target address segment of at least one address segment, determining to perform an addressing operation across host domains.

[0149] Step S1404, obtaining physical location information corresponding to the target address segment based on the target address segment.

[0150] Step S1405, performing a cross-host domain conversion operation on the data access request to obtain a converted data access request.

[0151] Step S1406, sending the converted data access request to the host-side bridge device corresponding to the physical location information.

[0152] Among them, the host - side bridge device sends the converted data access request to the target host device connected to the host - side bridge device to complete the data access operation on the target host device.

[0153] For the specific processing of steps S1401 to S1406, reference can be made to the specific processing of steps S901 to S907, which will not be elaborated here.

[0154] In the data access method according to the embodiments of the present application, the endpoint - side bridge device can determine whether to perform a cross - host - domain addressing operation according to the actual address data carried in the data access request. Since the addresses that the target endpoint device can use are assigned by the host devices in its affiliated host domain, when it is determined to perform a cross - host - domain addressing operation, the endpoint - side bridge device can convert the data access request sent by the target endpoint device to conform to the regulations in the host domain where the target host device is located. In this way, after receiving the data access request, the target host device can directly process the data access request in the original manner (for example, the original driver). Correspondingly, in the development process, there is no need to re - develop the driver for the non - transparent bridge, avoiding the problem of low efficiency in developing the driver.

[0155] Through the description of the above - mentioned implementation manners, those skilled in the art can clearly understand that the method according to the above - mentioned embodiments can be implemented by means of software plus a necessary general - purpose hardware platform. Of course, it can also be implemented by hardware, but in many cases, the former is a better implementation manner.

[0156] The embodiments of the present application also provide a data access device, as Figure 15 shown, including: A first acquisition module 1510, configured to, when receiving a configuration information access request sent by a target host device, acquire target virtual configuration information corresponding to the configuration information access request, where the target endpoint device corresponding to the target virtual configuration information and the target host device are in different host domains; A first sending module 1520, configured to send the target virtual configuration information to the target host device, where when the target host device acquires a data access request corresponding to the target endpoint device, based on the target virtual configuration information, the original address data included in the data access request is converted into actual address data in a target address segment, and the target address segment is used to instruct the bridge device to perform a cross - host - domain addressing operation to complete the data access operation on the target endpoint device.

[0157] In some optional implementation manners, the first acquisition module 1510 is further configured to: acquire physical configuration information corresponding to at least one endpoint device respectively; Modify each piece of physical configuration information respectively according to the preset modification rules to obtain the virtual configuration information corresponding to each piece of physical configuration information; For each generated virtual configuration information, store the generated virtual configuration information at the target storage location.

[0158] In some alternative embodiments, the preset modification rules include preset field position information; the first acquisition module 1510 is specifically configured to: According to the preset field position information, determine the target field corresponding to the preset field position information in the target physical configuration information, where the target physical configuration information is the physical configuration information corresponding to the target virtual configuration information; Extract the target physical device type information from the target field; According to the target physical device type information, obtain the target virtual device type information corresponding to the target physical device type information; Replace the target physical device type information of the target field with the target virtual device type information to obtain the target virtual configuration information.

[0159] In some alternative embodiments, the configuration information access request includes the target address information of the target endpoint device; the first acquisition module 1510 is specifically configured to: According to the target address information, determine the target virtual configuration information corresponding to the target address information from at least one piece of virtual configuration information stored at the target storage location.

[0160] The embodiments of the present application further provide a data access device, as Figure 16 shown, including: The second acquisition module 1610 is configured to acquire a data access request for the target endpoint device, where the data access request includes the original address data and the target virtual configuration information, and the target endpoint device and the target host device are in different host domains; The first conversion module 1620 is configured to convert the original address data into the actual address data in the target address segment corresponding to the target endpoint device based on the target virtual configuration information, where the target address segment is used to instruct the bridge device to perform cross-host domain addressing operations; after replacing the original address data included in the data access request with the actual address data, obtain the converted data access request; The second sending module 1630 is configured to send the converted data access request to the bridge device connected to the target host device, where the bridge device performs data access operations on the target endpoint device based on the converted data access request.

[0161] In some alternative embodiments, the second acquisition module 1610 is further configured to: Send a configuration information access request to the configuration information response device, where the configuration information access request is used for the configuration information response device to obtain the target virtual configuration information of the target endpoint device; Receive the target virtual configuration information fed back by the configuration information response device; Perform the binding operation of the driver according to the target virtual configuration information and multiple pre-built drivers.

[0162] In some alternative embodiments, the target virtual configuration information includes target virtual device type information; the second acquisition module 1610 is specifically configured to: Determine a target field corresponding to the preset field position information in the target virtual configuration information according to the preset field position information; Extract the target virtual device type information from the target field; Determine a target driver corresponding to the target virtual device type information from the multiple drivers according to the target virtual device type information; Bind the target virtual device type information to the target driver.

[0163] In some alternative embodiments, the target virtual configuration information further includes target virtual device identification information, and the target driver includes address mapping information corresponding to at least one virtual device identification information respectively; the first conversion module 1620 is specifically configured to: Obtain the target driver bound to the target virtual device type information according to the target virtual device type information; Determine the target address mapping information corresponding to the target virtual device identification information from the address mapping information corresponding to at least one virtual device identification information respectively according to the target virtual device identification information, where all the actual address data included in the target address mapping information is within the target address segment; Generate actual address data according to the original address data and the target address mapping information.

[0164] An embodiment of the present application further provides a data access device, as Figure 17 shown, including: The first receiving module 1710 is configured to receive a data access request sent by a target host device connected to the host-side bridge device, where the data access request includes actual address data; The first determination module 1720 is configured to determine whether the actual address data falls into any one of at least one address segment according to the actual address data and at least one preset address segment; when it is determined that the actual address data falls into the target address segment in at least one address segment, determine to perform an addressing operation across the host domain; A third sending module 1730, configured to send actual address data to an endpoint-side bridge device connected to a target endpoint device corresponding to a target address segment, where the endpoint-side bridge device writes the actual address data into the target endpoint device connected to the endpoint-side bridge device, so as to complete a data access operation on the target endpoint device.

[0165] In some alternative embodiments, the third sending module 1730 is specifically configured to: Obtain physical location information corresponding to the target address segment based on the target address segment; Send the actual address data to the endpoint-side bridge device based on the physical location information.

[0166] An embodiment of the present application further provides a data access device, as Figure 18 shown, including: A second receiving module 1810, configured to receive a data access request sent by a target endpoint device connected to an endpoint-side bridge device, where the data access request includes actual address data; A second determining module 1820, configured to determine whether the actual address data falls into any one of at least one address segment according to the actual address data and at least one preset address segment; when it is determined that the actual address data falls into a target address segment in the at least one address segment, determine to perform an addressing operation across a host domain; A third obtaining module 1830, configured to obtain physical location information corresponding to the target address segment based on the target address segment; A second conversion module 1840, configured to perform a conversion operation across a host domain on the data access request to obtain a converted data access request; A fourth sending module 1850, configured to send the converted data access request to a host-side bridge device corresponding to the physical location information, where the host-side bridge device sends the converted data access request to a target host device connected to the host-side bridge device, so as to complete a data access operation on the target host device.

[0167] In some alternative embodiments, the second conversion module 1840 is specifically configured to: Obtain target address mapping information corresponding to the target address segment according to the target address segment; Determine original address data according to the actual address data and the target address mapping information; Replace the actual address data in the data access request with the original address data to obtain a converted data access request.

[0168] In some alternative embodiments, the data access request further includes target physical device identification information; the second conversion module 1840 is further configured to: Determine the target virtual device identification information corresponding to the target physical device identification information according to the target address segment and the target physical device identification information; After replacing the target physical device identification information in the data access request with the target virtual device identification information, obtain the converted data access request.

[0169] In some alternative embodiments, the second receiving module 1810 is further configured to: Receive the actual address data sent by the host-side bridge device; Write the actual address data into the target endpoint device.

[0170] In some alternative embodiments, the second receiving module 1810 is specifically configured to: Determine the target address register group corresponding to the target address segment from multiple address register groups according to the target address segment; Write the actual address data into the target address register group.

[0171] For the description of the features in the embodiments corresponding to the data access device, reference can be made to the relevant description of the embodiments corresponding to the data access method, which will not be elaborated here one by one.

[0172] The embodiments of the present application further provide an electronic device, as Figure 19 shown, including a memory 10 and a processor 20. The memory 10 stores a computer program, and the processor 20 is configured to run the computer program to execute the steps in any one of the above data access method embodiments. The electronic device may be the above host device, bridge device, configuration information response device, etc. The bridge device may be the above host-side bridge device and endpoint-side bridge device.

[0173] The embodiments of the present application further provide a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps in any one of the above data access method embodiments when running.

[0174] In an exemplary embodiment, the above computer-readable storage medium may include, but is not limited to: USB flash drive, read-only memory (ROM for short), random access memory (RAM for short), mobile hard disk, magnetic disk, or optical disc, etc., various media that can store computer programs.

[0175] The embodiments of the present application further provide a computer program product. The above computer program product includes a computer program, and when the computer program is executed by a processor, it implements the steps in any one of the above data access method embodiments.

[0176] Embodiments of the present application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, the steps in any of the above-described embodiments of the data access method are implemented.

[0177] Those skilled in the art can further realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of the two. To clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described according to functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Skilled artisans can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.

[0178] The above has introduced in detail a data access method, apparatus, electronic device, storage medium, program product, switching subsystem, and data transmission system provided by the present application. Specific examples are used herein to illustrate the principle and implementation manner of the present application. The description of the above embodiments is only used to help understand the method and its core idea of the present application. It should be noted that for those of ordinary skill in the art in the technical field, without departing from the principle of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the protection scope of the claims of the present application.

Claims

1. A data access method, characterized in that, The method is executed by a configuration information response device, and the method includes: When receiving a configuration information access request sent by a target host device, according to the configuration information access request, obtain target virtual configuration information corresponding to the configuration information access request, where a target endpoint device corresponding to the target virtual configuration information and the target host device are in different host domains; Send the target virtual configuration information to the target host device, where when the target host device obtains a data access request corresponding to the target endpoint device, based on the target virtual configuration information, convert the original address data included in the data access request into actual address data in a target address segment, and the target address segment is used to instruct a bridge device to perform an addressing operation across host domains to complete a data access operation on the target endpoint device.

2. The data access method according to claim 1, wherein Before the step of when receiving a configuration information access request sent by a target host device, according to the configuration information access request, obtain target virtual configuration information corresponding to the configuration information access request, the method further includes: Obtain physical configuration information corresponding to at least one of the endpoint devices respectively; According to a preset modification rule, modify each piece of the physical configuration information respectively to obtain virtual configuration information corresponding to each piece of the physical configuration information; Each time a piece of the virtual configuration information is generated, store the generated virtual configuration information in a target storage location.

3. The data access method according to claim 2, characterized in that, The preset modification rule includes preset field position information; the step of according to the preset modification rule, modify each piece of the physical configuration information respectively to obtain virtual configuration information corresponding to each piece of the physical configuration information includes: According to the preset field position information, determine a target field corresponding to the preset field position information in target physical configuration information, where the target physical configuration information is physical configuration information corresponding to the target virtual configuration information; Extract target physical device type information from the target field; According to the target physical device type information, obtain target virtual device type information corresponding to the target physical device type information; Replace the target physical device type information of the target field with the target virtual device type information to obtain the target virtual configuration information.

4. The data access method according to claim 2 or 3, characterized in that The configuration information access request includes target address information of the target endpoint device; the step of when receiving a configuration information access request sent by a target host device, according to the configuration information access request, obtain target virtual configuration information corresponding to the configuration information access request includes: According to the target address information, determine target virtual configuration information corresponding to the target address information from at least one piece of virtual configuration information stored in the target storage location.

5. A data access method, characterized in that, The method is executed by a target host device, and the method includes: Obtain a data access request for a target endpoint device, where the data access request includes original address data and target virtual configuration information, and the target endpoint device and the target host device are in different host domains; Based on the target virtual configuration information, convert the original address data into actual address data in a target address segment corresponding to the target endpoint device, where the target address segment is used to instruct the bridge device to perform an addressing operation across host domains; After replacing the original address data included in the data access request with the actual address data, obtain a converted data access request; Send the converted data access request to a bridge device connected to the target host device, where the bridge device performs a data access operation on the target endpoint device based on the converted data access request.

6. The data access method according to claim 5, wherein Before obtaining the data access request for the target endpoint device, the method further includes: Send a configuration information access request to a configuration information response device, where the configuration information access request is used for the configuration information response device to obtain the target virtual configuration information of the target endpoint device; Receive the target virtual configuration information fed back by the configuration information response device; Perform a binding operation of the driver program according to the target virtual configuration information and a plurality of pre-built driver programs.

7. The data access method according to claim 6, characterized in that, The target virtual configuration information includes target virtual device type information; The performing a binding operation of the driver program according to the target virtual configuration information and a plurality of pre-built driver programs includes: Determine a target field corresponding to the preset field position information in the target virtual configuration information according to the preset field position information; Extract the target virtual device type information from the target field; Determine a target driver program corresponding to the target virtual device type information from the plurality of driver programs according to the target virtual device type information; Bind the target virtual device type information to the target driver program.

8. The data access method according to claim 7, wherein The target virtual configuration information further includes target virtual device identification information, and the target driver program includes address mapping information corresponding to at least one virtual device identification information respectively; the converting the original address data into actual address data in a target address segment corresponding to the target endpoint device based on the target virtual configuration information includes: Obtain the target driver program bound to the target virtual device type information according to the target virtual device type information; Determine target address mapping information corresponding to the target virtual device identification information from the address mapping information corresponding to at least one virtual device identification information respectively according to the target virtual device identification information, where all the actual address data included in the target address mapping information is within the target address segment; Generate the actual address data according to the original address data and the target address mapping information.

9. A data access method, characterized in that, The method is executed by a host-side bridge device, and the method includes: Receive a data access request sent by a target host device connected to the host-side bridge device, where the data access request includes actual address data; Determine whether the actual address data falls into any one of at least one of the address segments according to the actual address data and at least one preset address segment; When it is determined that the actual address data falls into a target address segment among at least one of the address segments, it is determined to perform an addressing operation across the host domain; Based on the target address segment, send the actual address data to an endpoint-side bridge device connected to a target endpoint device corresponding to the target address segment, where the endpoint-side bridge device writes the actual address data into the target endpoint device connected to the endpoint-side bridge device to complete the data access operation for the target endpoint device.

10. The data access method according to claim 9, characterized in that The sending the actual address data to an endpoint-side bridge device connected to a target endpoint device corresponding to the target address segment based on the target address segment includes: Based on the target address segment, obtain physical location information corresponding to the target address segment; Based on the physical location information, send the actual address data to the endpoint-side bridge device.

11. A data access method, characterized in that, The method is executed by an endpoint-side bridge device, and the method includes: Receive a data access request sent by a target endpoint device connected to the endpoint-side bridge device, where the data access request includes actual address data; According to the actual address data and at least one preset address segment, determine whether the actual address data falls into any one of the at least one address segment; When it is determined that the actual address data falls into a target address segment among at least one of the address segments, it is determined to perform an addressing operation across the host domain; Based on the target address segment, obtain physical location information corresponding to the target address segment; And perform a cross-host domain conversion operation on the data access request to obtain a converted data access request; Send the converted data access request to a host-side bridge device corresponding to the physical location information, where the host-side bridge device sends the converted data access request to a target host device connected to the host-side bridge device to complete the data access operation for the target host device.

12. The data access method according to claim 11, wherein The performing a cross-host domain conversion operation on the data access request to obtain a converted data access request includes: According to the target address segment, obtain target address mapping information corresponding to the target address segment; According to the actual address data and the target address mapping information, determine the original address data; Replace the actual address data in the data access request with the original address data to obtain the converted data access request.

13. The data access method according to claim 12, wherein The data access request further includes target physical device identification information; the method further includes: According to the target address segment and the target physical device identification information, determine target virtual device identification information corresponding to the target physical device identification information; After replacing the target physical device identification information in the data access request with the target virtual device identification information, obtain the converted data access request again.

14. The data access method according to claim 12, wherein Before receiving the data access request sent by the target endpoint device connected to the endpoint-side bridge device, the method further includes: Receive the actual address data sent by the host-side bridge device; Write the actual address data into the target endpoint device.

15. The data access method according to claim 14, wherein The target endpoint device includes a plurality of address register groups; writing the actual address data into the target endpoint device includes: Determining a target address register group corresponding to the target address segment from among the plurality of address register groups according to the target address segment; Writing the actual address data into the target address register group.

16. A switching subsystem, characterized in that, The switching subsystem includes a plurality of bridge devices and a configuration information response device, wherein the configuration information response device is respectively connected to each of the bridge devices, and each of the bridge devices is respectively connected to other bridge devices among the plurality of bridge devices except itself; The configuration information response device is configured to perform the steps of the data access method according to any one of claims 1 to 4; The host-side bridge device among the plurality of bridge devices is configured to perform the steps of the data access method according to claim 9 or 10; The endpoint-side bridge device among the plurality of bridge devices is configured to perform the steps of the data access method according to any one of claims 11 to 15.

17. A data access system, characterized in that, The data access system includes the switching subsystem according to claim 16, a plurality of host devices, and a plurality of endpoint devices; Any one of the host devices is configured to perform the steps of the data access method according to any one of claims 5 to 8.

18. An electronic device, characterized in that, Including: A memory for storing a computer program; A processor, when executing the computer program, is configured to implement the steps of the data access method according to any one of claims 1 to 4, or to implement the steps of the data access method according to any one of claims 5 to 8, or to implement the steps of the data access method according to claim 9 or 10, or to implement the steps of the data access method according to any one of claims 11 to 15.

19. A computer-readable storage medium, characterized in that, A computer program is stored in the computer-readable storage medium, wherein when the computer program is executed by a processor, it implements the steps of the data access method according to any one of claims 1 to 4, or implements the steps of the data access method according to any one of claims 5 to 8, or implements the steps of the data access method according to claim 9 or 10, or implements the steps of the data access method according to any one of claims 11 to 15.

20. A computer program product, characterized in that, The computer program product includes a computer program, wherein when the computer program is executed by a processor, it implements the steps of the data access method according to any one of claims 1 to 4, or implements the steps of the data access method according to any one of claims 5 to 8, or implements the steps of the data access method according to claim 9 or 10, or implements the steps of the data access method according to any one of claims 11 to 15.

Citation Information

Patent Citations

  • Message processing method in cloud computing system, host, and system

    CN107278359A

  • Network node configuration and access request processing method and device

    CN116418848A

  • Cross-bus-domain access method and system between virtual devices, terminal and storage medium

    CN118445219A

  • Method, bridging device, system and medium of virtualization processing of storage device

    US20240419367A1

Cited By

  • Communication method of domain isolation switching equipment, networking system, product and equipment

    CN120710957A