WO2020000489A1 - Pcie sending and receiving method, apparatus, device and system - Google Patents

Pcie sending and receiving method, apparatus, device and system Download PDF

Info

Publication number
WO2020000489A1
WO2020000489A1 PCT/CN2018/093927 CN2018093927W WO2020000489A1 WO 2020000489 A1 WO2020000489 A1 WO 2020000489A1 CN 2018093927 W CN2018093927 W CN 2018093927W WO 2020000489 A1 WO2020000489 A1 WO 2020000489A1
Authority
WO
WIPO (PCT)
Prior art keywords
pcie
parameter group
module
information
virtual interface
Prior art date
Application number
PCT/CN2018/093927
Other languages
French (fr)
Chinese (zh)
Inventor
曹雷
孙学全
赵阳
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201880087858.2A priority Critical patent/CN111656336B/en
Priority to PCT/CN2018/093927 priority patent/WO2020000489A1/en
Publication of WO2020000489A1 publication Critical patent/WO2020000489A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure

Definitions

  • the present invention relates to the field of electronic science and technology, and in particular, to a PCIE sending and receiving method and device, device, and system.
  • terminal devices need to be able to implement more and more functions. In order to realize these functions, terminal devices often need to include many chips. Many chips of the terminal equipment need to be interconnected for data transmission, so that the terminal equipment can realize corresponding functions. In existing terminal equipment, chips can be interconnected in various ways. For example, a modem communication chip and an application (APP) chip in a terminal device can be connected through a universal serial bus. (universal serial bus, USB) port or Gigabit Ethernet media access control (GMAC) network card interconnection.
  • APP application
  • the downlink rate of the wireless air interface side can reach 10Gbps or more, while the transmission rate of the GMAC port is only 1Gbps, and the transmission rate of the USB3.0 port can only theoretically reach 5Gbps, and the measured performance will also decrease.
  • the chip interconnection method of GMAC network card or USB port will be difficult to meet the requirements of 5G technology, and peripheral component high-speed interconnection (PCIE) due to its high transmission rate, which further improves the transmission efficiency between chips. It becomes possible, so it is one of the important research directions of the interconnection scheme between chips in 5G technology.
  • the chips are to be interconnected by PCIE
  • multiple packaging modules in the software running on the chip processor are usually required (for example, to add a packet header to the running data so that it conforms to the protocol stack specified by the transmission protocol, and for dialing Specially designed with AT command processing program that configures modems, operation, management, and maintenance (OAM) functions for obtaining maintenance information, etc.) so that these packaging modules can be adapted to
  • the PCIE driver module enables the processor to pass the information generated by running these packaged modules through the PCIE controller running the PCIE driver module driver chip. This software modification is more complicated and prevents the PCIE interconnection from being based on existing software. Further use of the chip in the architecture, therefore, there is an urgent need for a solution that can simplify the design of the PCIE interconnection between the chips, without the need to significantly change the existing software architecture, the existing chip can use the PCIE controller.
  • the embodiments of the present application provide a method and device for transmitting and receiving a PCIE, a device, and a system, so as to support a PCIE interface without substantially changing an existing software architecture.
  • an embodiment of the present application provides a high-speed interconnection PCIE transmission device for peripheral devices, including a packaging module, a virtual interface module, and a PCIE driver module.
  • the encapsulation module is configured to generate first information to be transmitted and a second parameter group that satisfies a preset encapsulation format according to a preset encapsulation rule.
  • the second parameter group includes the first information corresponding to the PCIE sending device.
  • a storage address in the first memory a virtual interface module for receiving a second parameter group from the encapsulation module, and generating a third parameter group that meets the PCIE format according to the second parameter group, the third parameter group including the foregoing storage address and the The destination address in the second memory corresponding to the PCIE receiving device; the PCIE driver module is configured to receive a third parameter group from the virtual interface module, parse the third parameter group to obtain the foregoing storage address and destination address, and send the device address to the PCIE device.
  • the corresponding first PCIE controller sends a first instruction, and the first instruction is used to drive the first PCIE controller to send the first information.
  • the first instruction includes the foregoing destination address, and further includes the first information or a storage address of the first information in the first memory.
  • the virtual interface module can receive the second parameter group that meets the preset packaging format generated by the packaging module, and convert the second parameter group into a third parameter group that can be recognized and received by the PCIE driver module.
  • the PCIE drive modules play a role of undertaking, so that even if the software structure of the packaging module is not adjusted according to the PCIE drive module, PCIE transmission can be realized.
  • using the above-mentioned method to add a virtual interface module to the PCIE transmission device will bring much less design, thereby realizing that the existing software architecture can be made without substantially changing the existing software architecture.
  • Some chips can support PCIE interface.
  • the virtual interface module includes a virtual interface and a PCIE adaptation layer.
  • the virtual interface corresponds to the packaging module and is used to receive the second parameter group from the corresponding packaging module and provide it to the PCIE adaptation layer; the PCIE adaptation layer is used to determine the second memory and provide the second parameter to it.
  • the virtual interface is adapted upward to the corresponding packaging module, and the second parameter group provided by the packaging module is received, and the PCIE adaptation layer is downward adapted to the PCIE driver module, and the virtual interface and the address space in the second memory are
  • the corresponding relationship determines the destination address, and generates a third parameter group that can be recognized and received by the PCIE driver module according to the second parameter and the destination address, thereby realizing the role of the virtual interface module between the encapsulation module and the PCIE driver module.
  • the virtual interface is a virtual network interface adapter VNIC or a virtual serial communication port VCOM.
  • the PCIE sending device includes multiple packaging modules, and the virtual interface module of the PCIE sending device includes multiple virtual interfaces; each virtual interface corresponds to one packaging module, And each virtual interface has a priority; the PCIE adaptation layer is specifically used to: obtain the processing order of multiple virtual interfaces according to the priorities of multiple virtual interfaces, and sequentially generate a third parameter corresponding to each virtual interface in accordance with the processing order. group.
  • the PCIE sending device further includes: a service module, configured to generate service running data in the first memory; based on this, the above-mentioned encapsulation module is specifically configured to perform a preset operation according to a preset The encapsulation rule performs encapsulation processing on the business operation data to generate first information and a second parameter group corresponding to the type of the business operation data.
  • the packaging module in the PCIE sending device is a transmission control protocol / network interconnection protocol TCP / IP protocol stack packaging module, or an AT command processing program packaging module, or an operation, Manage and maintain OAM inspection program package modules.
  • an embodiment of the present application provides a high-speed interconnection PCIE receiving device for peripheral devices, including: a PCIE driver module, a virtual interface module, and a packaging module.
  • the PCIE driver module is configured to determine a storage address of the second information to be processed in a second memory corresponding to the PCIE receiving device, and generate a fourth parameter group that meets the PCIE format, where the fourth parameter group includes the foregoing storage address;
  • virtual An interface module is configured to receive the fourth parameter group from the PCIE driver module, and generate a fifth parameter group that satisfies a preset encapsulation format according to the fourth parameter group; the fifth parameter group includes the foregoing storage address;
  • the virtual interface module receives the fifth parameter group, parses the fifth parameter group to obtain the foregoing storage address, and obtains the second information according to the foregoing storage address, and decapsulates the second information according to a preset decapsulation rule to generate a to-be-processed data.
  • the virtual interface module can receive the fourth parameter group generated by the PCIE driver module, and convert the fourth parameter group into a fifth parameter group that can be recognized and received by the packaging module, which starts between the PCIE driver module and the packaging module.
  • PCIE reception can be achieved.
  • using the above method to add a virtual interface module to the PCIE receiving device will bring much less design, thus realizing that the existing software architecture can be made without substantially changing the existing software architecture.
  • Some chips can support PCIE interface.
  • the virtual interface module includes a virtual interface and a PCIE adaptation layer.
  • the PCIE adaptation layer is used to receive a fourth parameter group from the PCIE driver module, and determine an address space corresponding to the storage address according to the fourth parameter group; determine a virtual interface corresponding to the address space; determine a packaging module corresponding to the virtual interface A predetermined package format according to the fourth parameter group; a fifth parameter group that satisfies the preset package format is generated according to the fourth parameter group, and the fifth parameter group is provided to a virtual interface; the virtual interface corresponds to the packaging module and is used to receive PCIE adaptation The fifth parameter group provided by the layer, and sends the fifth parameter group to the encapsulation module.
  • the PCIE adaptation layer adapts the PCIE driver module, determines the virtual interface corresponding to the second information through the correspondence between the address space and the virtual interface in the second memory, and uses the correspondence between the virtual interface and the encapsulation module.
  • the encapsulation format of the fifth parameter group is determined, so that the fourth parameter group is converted into a fifth parameter group that the encapsulation module can recognize and receive.
  • the virtual interface is adapted to the corresponding packaging module, and a fifth parameter group is provided to the packaging module.
  • the virtual interface module and the PCIE adaptation layer realize the role of the virtual interface module between the packaging module and the PCIE driver module.
  • the virtual interface is a virtual network interface adapter VNIC or a virtual serial communication port VCOM.
  • the encapsulation module is specifically configured to perform decapsulation processing on the second information according to a preset decapsulation rule to generate data to be processed corresponding to the type of the encapsulation module;
  • the PCIE receiving device further includes a service module, and the service module is configured to process the data to be processed generated by the encapsulation module.
  • the packaging module in the PCIE receiving device is a transmission control protocol / network interconnection protocol TCP / IP protocol stack packaging module, or an AT command processing program packaging module, or an operation, Manage and maintain OAM inspection program package modules.
  • an embodiment of the present application provides a high-speed interconnect PCIE transmission method for a peripheral device, including: using a packaging module to generate first information to be sent and a second parameter group that satisfies a preset packaging format according to a preset packaging rule;
  • the second parameter group includes a storage address of the first information in the first memory corresponding to the PCIE transmitting device; and a third parameter group that meets the PCIE format is generated according to the second parameter group by using the virtual interface module, and the third parameter group includes the foregoing storage.
  • the virtual interface module includes a virtual interface and a PCIE adaptation layer; using the virtual interface module to generate a third parameter group that meets the PCIE format according to the second parameter group includes: using virtual The interface receives the second parameter group from the encapsulation module and provides it to the PCIE adaptation layer; using the PCIE adaptation layer to determine an address space corresponding to the virtual interface in the second memory, and determining a destination address of the first information according to the address space, Generating the third parameter group that meets the PCIE format according to the second parameter and the destination address.
  • the virtual interface is a virtual network interface adapter VNIC, and / or, a virtual serial communication port VCOM.
  • the PCIE sending device includes multiple encapsulation modules, and the virtual interface module includes multiple virtual interfaces; each virtual interface corresponds to one encapsulation module, and each virtual interface The interface has a priority; and generating the third parameter group that meets the PCIE format according to the second parameter and the destination address includes: using the PCIE adaptation layer to obtain a to-many according to the priorities of the multiple virtual interfaces For the processing order of each virtual interface, the third parameter group corresponding to each virtual interface is sequentially generated according to the processing order.
  • an embodiment of the present application provides a PCIE receiving method for high-speed interconnection of peripheral devices, which includes: using a PCIE driver module to determine a storage address of the second information to be processed in a second memory corresponding to the PCIE receiving device, and generating a PCIE satisfying PCIE A fourth parameter group of the format, the fourth parameter group including the storage address; and thereafter, using a virtual interface module to receive the fourth parameter group from the PCIE drive module, and generating a satisfying preset according to the fourth parameter group A fifth parameter group in an encapsulated format; the fifth parameter group includes the storage address; and then, receiving the fifth parameter group by using an encapsulation module, parsing the fifth parameter group to obtain the storage address, and The storage address obtains the second information, and generates the data to be processed after decapsulating the second information according to a preset decapsulation rule.
  • the virtual interface module includes a virtual interface and a PCIE adaptation layer; and a virtual interface module is used to generate a fifth that satisfies the identification format of the encapsulation module according to the storage address of the second information.
  • a parameter group includes: using the PCIE adaptation layer to receive the fourth parameter group from the PCIE driver module, and determining an address space corresponding to the storage address according to the fourth parameter group; and determining to correspond to the address space Determine the preset packaging format of the packaging module corresponding to the virtual interface; generate a fifth parameter group that satisfies the preset packaging format according to the fourth parameter group, and set the fifth parameter group Provided to the virtual interface; using the virtual interface, receiving the fifth parameter group provided by the PCIE adaptation layer, and sending the fifth parameter group to the encapsulation module.
  • the virtual interface is a virtual network interface adapter VNIC or a virtual serial communication port VCOM.
  • the present application provides a peripheral device high-speed interconnected PCIE transmission device, including a processor and a first PCIE controller.
  • the processor is configured to: run a packaging module to generate first information to be sent according to a preset packaging rule and satisfy A second parameter group in a preset encapsulation format; the second parameter group includes a storage address of the first information in a first memory corresponding to the PCIE sending device; and a virtual interface module is run according to the second parameter
  • the group generates a third parameter group that meets the PCIE format.
  • the third parameter group includes the storage address and a destination address in a second memory corresponding to the PCIE receiving device.
  • the third parameter group is parsed by running a PCIE driver module.
  • the first PCIE control A device for receiving the first instruction, obtaining the first information from the first instruction, or obtaining the first information from the first memory according to the storage address in the first instruction And sending the first information to a second PCIE controller corresponding to the PCIE receiving device.
  • the PCIE sending device is a root complex
  • the processor is further configured to: run a PCIE driver module to generate an interrupt message according to the destination address and send the interrupt message to the A first PCIE controller; the first PCIE controller is further configured to send the interrupt message to the second PCIE controller.
  • the device that is the root complex lacks an interrupt mechanism in the process of sending information to the endpoint device, so that after receiving the information sent by the root complex device, the endpoint device cannot determine and process the information sent by the root complex.
  • the PCIE sending device is a root complex
  • this application also sends interrupt information, so that the corresponding PCIE receiving device as the endpoint device can determine and process the information sent by the PCIE sending device through the interrupt message.
  • an embodiment of the present application provides a high-speed peripheral PCIE receiving device including a processor and a second PCIE controller.
  • the second PCIE controller is configured to receive a first PCIE corresponding to a PCIE transmitting device.
  • the second information sent by the controller, and storing the second information into the second memory corresponding to the PCIE receiving device according to the destination address corresponding to the second information;
  • the processor configured to run the PCIE driver module to determine
  • the storage address of the second information in the second memory generates a fourth parameter group that meets the PCIE format, where the fourth parameter group includes the storage address; the running virtual interface module receives all the information from the PCIE driver module.
  • the fourth parameter group generates a fifth parameter group that satisfies a preset package format according to the fourth parameter group; the fifth parameter group includes the storage address; and the operation packaging module receives the fifth parameter group and analyzes the The fifth parameter group to obtain the storage address, and obtain the second information according to the storage address, and decapsulate the second information according to a preset decapsulation rule Generating data to be processed.
  • the PCIE receiving device is an endpoint, and the PCIE receiving device further includes an interrupt register connected to the second PCIE controller and the processor, respectively;
  • the second PCIE controller is further configured to receive an interrupt message sent by the first PCIE controller, and store the interrupt message in the interrupt register;
  • the interrupt register is used to buffer the interrupt message, and Sending a first trigger signal to the processor;
  • the processor is further configured to, after receiving the first trigger signal, determine, according to the interrupt message in the interrupt register, that the second memory is configured for: A storage address where the second information is stored.
  • an interrupt mechanism is added to the process of the endpoint device receiving the information sent by the root complex device, so that the PCIE receiving device as the endpoint device can determine and process it as the root device. Information sent by the complex PCIE sending device.
  • an embodiment of the present invention provides a high-speed interconnected PCIE system for peripheral devices.
  • the PCIE system includes the PCIE transmitting device according to the foregoing fifth aspect, and / or the PCIE receiving device according to the foregoing sixth aspect.
  • a computer-readable storage medium for storing a computer program.
  • the computer program includes a method for executing any one of the third aspect, the fourth aspect, the third aspect, or the fourth aspect. Instructions for any of the possible implementations of the method.
  • a computer program product includes: computer program code that, when the computer program code runs on a computer or a processor, causes the computer or processor to execute the third aspect.
  • the fourth aspect the method in any one of the possible implementation manners in the third aspect or the fourth aspect.
  • FIG. 1 is a schematic diagram of a PCIE interconnection system according to an embodiment of the present application
  • FIG. 2 is a schematic diagram of a software architecture run by a processor according to an embodiment of the present application
  • FIG. 3 is a schematic diagram of an address space mapping relationship of a memory of a PCIE device at two ends according to an embodiment of the present application
  • FIG. 4 is a schematic diagram of a correspondence relationship between a virtual interface and an address space according to an embodiment of the present application.
  • FIG. 1 is a schematic diagram of a PCIE interconnection system according to an embodiment of the present application.
  • chip 1 includes a processor 11 and a PCIE controller 12, and chip 2 includes a processor 21 and a PCIE controller 22. It is connected to the PCIE controller 22 through a PCIE physical connection.
  • the chip 1 is also connected to the memory 1.
  • the processor 11 in the chip 1 processes the data in the memory 1 by running software.
  • the software run by the processor 11 may also be stored in the memory 1 or other memories coupled with the chip 1.
  • the chip 2 is also connected to the memory 2.
  • the processor 21 in the chip 2 processes data in the memory 2 by running software, and the software running by the processor 12 may also be stored in the memory 2 or other memory coupled with the chip 2.
  • Each of the above memories may include multiple different types of memories, which are used to implement different storage capabilities, such as storing different data or software codes.
  • the memory may include at least one of volatile memory or non-volatile memory.
  • chip 1 serves as the root complex in the PCIE interconnection
  • chip 2 serves as the end point in the PCIE interconnection.
  • the processor 21 of the chip 2 in this embodiment may periodically query the memory 2 according to a preset periodic interval to confirm whether the information sent by the chip 1 is received within the periodic interval. If it is determined that the information sent by the chip 1 is received within the periodic interval, the storage address of the received information sent by the chip 1 in the memory 2 can be confirmed, and the information can be processed.
  • the chip 2 further includes an interrupt register 23 respectively connected to the processor 21 and the PCIE controller 22.
  • the chip 1 sends the information to be sent to the chip 2, it also sends an interrupt message to the chip 2 through the PCIE controller 12.
  • the interrupt message is determined by the processor 11 according to the destination address of the information to be sent in the memory 2. of.
  • the PCIE controller 22 of the chip 2 buffers the interrupt message in the interrupt register 23.
  • the interrupt register 23 stores the interrupt message, it sends a first trigger signal to the processor 21, so that after receiving the first trigger signal, the processor 21 actively queries the interrupt message buffered by the interrupt register 23 and determines the received message according to the interrupt message.
  • the storage address of the received information in the memory 2 so that the information received from the chip 1 can be obtained from the memory 2, and the information is processed.
  • FIG. 2 provides a schematic diagram of software running on the internal processor of chip 1 and chip 2 on the basis of the PCIE interconnection system shown in FIG. 1.
  • the software architectures run by the processors 11 and 12 include business modules (111, 211), multiple packaging modules, virtual interface modules (113, 213), and PCIE driver modules (114, 214). ), Wherein the packaging module, the virtual interface module (113, 213) and the PCIE driver module (114, 214) may be included in the kernel of the operating system in the processor 11 and the processor 12, as shown by the dotted line in FIG. 2 It is shown that the cores of the processor 11 and the processor 12 may be a Linux kernel, a real-time operating system (RTOS) kernel, and other types.
  • RTOS real-time operating system
  • the architecture of the software running in processor 11 is introduced. It should be understood that the process of sending information from chip 2 to chip 1 is similar, and this application is no longer One by one.
  • the software architecture that the processor 11 runs on, for example, the operating system or its kernel may include a service module 111, a packaging module (1121, 1122, 1123, 1124), a virtual interface module 113, and a PCIE driver module 114. Therefore, the software architecture can exist in the form of a computer program, which enables information or data processing when the program is executed by a processor or a computer.
  • the processor 11 generates service running data in the memory 1 by running the service module 111 in the software architecture.
  • the specific implementation of the service module 111 is related to the type of the chip 1.
  • the service module 111 includes various application programs, such as a WeChat client, a Baidu client, and the like.
  • the processor 11 generates service operation data in the memory 1 by running the application program in the service module 111.
  • a communication service module 111 includes various types of procedures, e.g., 4G (fourth generation, 4 th Generation) or.
  • the communication chip After the wireless antenna receives the wireless signal, the processor 11 runs the 4G or 5G air interface communication program to demodulate the received wireless signal to obtain the received air interface message that conforms to the air interface protocol, parses the air interface message, obtains the IP message and The IP message is stored in the memory 1 as service operation data.
  • the architecture of the software run by the processor 11 includes a plurality of packaging modules (such as the packaging modules 1121, 1122, 1123, and 1124 in FIG. 2).
  • the processor 11 runs different types of packaging modules, and can be configured according to different packaging rules.
  • the service operation data is subjected to different encapsulation processing, so as to obtain different types of information to be transmitted, that is, the first information.
  • Each type of information to be transmitted has a data format corresponding to the type.
  • the encapsulation module 1121 may be a transmission control protocol / Internet Protocol (TCP / IP) protocol stack encapsulation module.
  • TCP / IP Internet Protocol
  • the data is divided into data, and a message header is added, so that the service operation data is encapsulated in the memory 1 as an IP message including a destination IP address.
  • the encapsulation module 1122 may be an AT command processing program encapsulation module.
  • the processor 11 runs the encapsulation module 1122 and may be generated according to the AT command data.
  • AT command messages There are various types of AT command messages, such as configuration commands and query commands.
  • the AT commands generated by the processor 11 running the encapsulation module 1122 have multiple formats. AT command messages of different formats correspond to different types of AT command messages. .
  • the encapsulation module 1123 may be an OAM detection program encapsulation module.
  • the processor 11 runs the encapsulation module 1123 to generate an OAM according to the OAM detection data. Detect messages, and so on.
  • the running service module 111 may further generate a first parameter group, and the first parameter group may include parameters such as a storage address and a data length of the service running data.
  • the processor 11 continues to run the encapsulation module corresponding to the type of service operation data. For example, when the type of service operation data is communication data, the encapsulation module 1121 is run to encapsulate the service operation data into an IP report.
  • the encapsulation module 1122 is run to generate AT command messages based on the AT command data; when the service operation data type is OAM detection data, the encapsulation module 1123 is run to generate from the OAM detection data OAM detection message.
  • the processor 11 When the processor 11 runs the packaging module corresponding to the service operation data type, the processor 11 may obtain the service operation data from the memory 1 according to the storage address in the first parameter group, thereby generating information to be sent according to the service operation data.
  • the first parameter group may also include the service operation data, so that when the processor 11 runs the encapsulation module, the service may be directly obtained from the first parameter group Operating data.
  • the processor 11 After the processor 11 generates the information to be sent in the memory 1, it also generates a second parameter group that meets the preset packaging format by running the encapsulation module, which includes the storage address of the information to be sent in the memory 1, and may also include the information to be sent. Parameters such as the message length of the message.
  • the encapsulation module 1121 is a TCP / IP protocol stack.
  • the information to be sent generated by the processor 11 running the encapsulation module 1121 is an IP packet.
  • the IP packet can be sent by a network interface adapter (NIC), so it is processed.
  • the second parameter group generated by the processor 11 running the encapsulation module 1121 may be used as an operating parameter of a driver for running the NIC.
  • the encapsulation module 1122 is an AT command processing program.
  • the information to be sent generated by the processor 11 running the encapsulation module 1122 is an AT command message.
  • the AT command message can be sent by a serial communication port (cluster communication port, COM).
  • the second parameter group generated by the encapsulation module 1122 can be used as an operation parameter of a driver running COM.
  • the processor 11 will run the virtual interface module 113 during the configuration phase.
  • Each of the multiple virtual interfaces in the virtual interface module 113 simulates the registration process of the driver software of the physical interface (such as NIC, COM) to the corresponding
  • the encapsulation module registers the physical interface.
  • the registration information includes the identification, type, and format requirements of the physical interface.
  • the encapsulation module can accept the registration of the virtual interface under the existing software structure that does not support PCIE interconnection.
  • the processor 11 runs the packaging module, after generating the second parameter group, the processor 11 can call the virtual interface corresponding to the packaging module by running the existing program that calls the physical interface in the packaging module, even if the packaging module does not support PCIE interconnection. It is coupled with the lower-level PCIE driver module through the corresponding virtual interface. Therefore, the virtual interface module plays a role between the packaging module and the PCIE driver module.
  • the processor 11 receives the second parameter group by running the virtual interface corresponding to the packaging module in the virtual interface module 113, and the driver software of the physical interface (such as the aforementioned NIC, COM interface) in the existing software architecture is replaced by the virtual interface.
  • the phase virtual interface is registered in the encapsulation module, so the second parameter group generated by the encapsulation module can satisfy the parameter format required by the virtual interface corresponding to the encapsulation module and can be recognized by the virtual interface.
  • the virtual interface module 113 includes multiple virtual interfaces (such as virtual interfaces A, B, C, and D in FIG. 2). The types of these virtual interfaces may be the same or different.
  • the virtual interface A is a virtual network interface adapter (VNIC).
  • VNIC virtual network interface adapter
  • the processor 11 runs the encapsulation module 1121 to generate a communication packet and a second parameter group
  • the virtual interface A replaces the existing software architecture.
  • the driver software of the NIC receives the second parameter group.
  • the virtual interface B is a virtual serial communication port (VCOM).
  • the processor 11 runs the encapsulation module 1122 to generate an AT command message and a second parameter group, and then calls the virtual interface B.
  • the virtual interface B B receives the second parameter group instead of the driver software of COM in the existing software architecture.
  • the virtual interface module 113 includes multiple virtual interfaces and a PCIE adaptation layer 1132.
  • the processor 11 After the processor 11 receives the second parameter group through the virtual interface instead of the driver software of the actual interface in the existing software architecture, it runs the PCIE adaptation layer 1132 to convert the second parameter group into a third parameter group that meets the PCIE format.
  • the third parameter group can be recognized and received by the PCIE driver module.
  • the third parameter group includes at least a storage address of the information to be transmitted in the memory 1 and a destination address of the information to be transmitted in the memory 2, and may further include parameters such as the information length of the information to be transmitted.
  • the chip 1 as the transmitting end can specify the storage address of the information to be transmitted in the memory 2.
  • chip 1 enumerates and maps the address space configuration of chip 2, so that the address space 21, 22 in memory 2 for storing the information sent by chip 1 can be determined. , 23, 24 (same for chip 2).
  • a plurality of virtual interfaces in the virtual interface module 113 respectively correspond to a plurality of address spaces of the memory 2.
  • the same is true for the chip 2.
  • the processor 11 runs the virtual interface module 113
  • the destination address of the information to be sent in the memory 2 is determined according to the virtual interface receiving the second parameter group.
  • the virtual interface A corresponds to the address space 21 in the memory 2.
  • the processor 11 runs the virtual interface module 113, if the virtual interface A receives the second parameter group, the processor 11 determines the destination address of the information to be sent For address space 21.
  • the processor 11 can monitor the usage of each address space in the memory 2. After determining the address space corresponding to the virtual interface, the processor 11 can further determine the information to be sent according to the storage conditions of the address space. A more specific destination address is specified in this address space. For example, the processor 11 may enumerate and map the address space configuration of the chip 2 and then run the PCIE adaptation layer to divide each address space in the memory 2 into multiple storage units and continuously monitor each of the memory 2 Usage of multiple storage units in the address space. After the processor 11 determines the address space corresponding to the virtual interface, it can also designate one or more unoccupied storage units for the information to be sent according to the use of multiple storage units in the address space by running the PCIE adaptation layer. Store the information to be sent.
  • the processor 11 After the processor 11 generates a third parameter group that meets the PCIE format by running the virtual interface module 113, the processor 11 runs the PCIE driving module 114.
  • the processor 11 drives the PCIE controller 12 to send the information to be sent to the PCIE controller 22 of the chip 2 by running the PCIE driver module 114 according to the third parameter group.
  • the specific implementation manners thereof can include at least the following two types: in a feasible implementation In the method, the processor 11 runs the PCIE driver module 114 to obtain the information to be transmitted from the memory 1 according to the storage address of the information to be transmitted in the third parameter group in the memory 1, and drives the PCIE controller to transmit the information to be transmitted. The information is sent to chip 2.
  • This implementation requires the processor 11 to send the information to be sent to the PCIE controller 12, so it is suitable for situations where the amount of information to be sent is small, such as AT command messages or OAM messages from the encapsulation module. Control surface information.
  • the processor 11 obtains the storage address of the information to be sent in the third parameter group by running the PCIE driver module 114, and drives the PCIE controller 12 from the memory 1 according to the storage address of the information to be sent. To obtain the information to be sent, and send the information to be sent to the chip 2.
  • the PCIE controller 12 obtains and sends information to be sent from the memory 1, so compared to the previous implementation mode, it is more suitable for situations where the amount of data to be sent is large, such as IP from the encapsulation module.
  • a message which may be data from a higher-level service module and IP-encapsulated by an encapsulation module.
  • the data may include game data, graphic data, and other user-plane data with a large amount of data.
  • the processor 11 runs the PCIE driver module 114, it can drive the PCIE controller 12 to send the identification information of the address space 21 to the PCIE controller 22, so that the PCIE controller 22 can receive the received information according to the identification information of the address space 21.
  • the information is stored in the address space 21 of the memory 2.
  • the PCIE physical connection between the PCIE controller 12 and the PCIE controller 22 includes multiple virtual channels, which may also be referred to as logical channels, and multiple virtual channels and multiple addresses of the memory at both ends. Spaces correspond to each other.
  • the processor 11 determines the virtual channel corresponding to the address space 21 and drives the PCIE controller 12 to send information to be sent through the virtual channel, so that the PCIE controller 22 of the chip 2 After receiving the information, the virtual channel stores the received information in the address space 21 corresponding to the channel in the memory 2.
  • the second parameter set generated by processor 11 by running the packaging module may be the second parameter set of the driving software for running the physical interface in the existing software architecture.
  • the virtual interface in the virtual interface module 113 replaces the driver software of the physical interface to achieve the adaptation to the encapsulation module.
  • the second parameter group is converted into a third parameter that the PCIE driver module 114 can recognize. Group, to achieve the adaptation to the PCIE driver module 114, so that the PCIE interconnection can be achieved without changing the existing packaging module.
  • the embodiment of this application The design brought by adding the virtual interface module 113 to the running software architecture will be much less, thereby realizing that the existing chip can use the PCIE controller without substantially changing the existing software architecture.
  • the virtual interface of this embodiment is used to implement the connection with the packaging module to adapt to different types of packaging modules upwards, and the PCIE adaptation layer downwardly adapts to the PCIE driver module.
  • the virtual interface module 113 can realize the upward connection with different packaging modules and the downward connection with the PCIE driver module.
  • the information formed after the packaging and processing of different packaging modules is converted into information that can be recognized by the PCIE driver module, without the need to significantly modify the existing Packaging module.
  • multiple virtual interfaces in the virtual interface module 113 have different priorities.
  • the processor 11 When the processor 11 generates multiple second parameter groups simultaneously by running different encapsulation modules, it can run the virtual interface module 113 to run the PCIE adaptation layer according to the priorities of the virtual interfaces corresponding to the multiple second parameter groups.
  • the second parameter group received by the virtual interface is sequentially converted into a third parameter group in order of priority from high to low, and processed in sequence.
  • the above scheme enables services corresponding to a virtual interface with a higher priority to be preferentially delivered to the PCIE adaptation layer 1132 and the PCIE driver module 114 and processed preferentially.
  • the processor 11 can run the PCIE driver module 114 to drive the PCIE controller 12 to preferentially send the information to be sent generated by the packaging module corresponding to the virtual interface with a higher priority, thereby improving the overall quality of service of the system. service, QOS).
  • QOS Quality of service
  • the processor 11 encapsulates service operation data generated by running the emergency sequence service by running the encapsulation module 1124, the virtual interface D in the virtual interface module 113 has the highest priority.
  • the processor 11 runs the PCIE adaptation layer 1132, and firstly converts the second parameter group received by the virtual interface D into a third parameter group, so that the PCIE driver module 114 can preferentially drive the PCIE controller 12 to send an emergency according to the third parameter group. Information to be sent corresponding to the time series service.
  • the information transmitted between the chip 1 and the chip 2 through the PCIE interface may be control plane information, including control information that meets various control functions, or user plane data, such as various service data.
  • control plane information may include control information generated by the encapsulation module, such as AT command messages or OAM messages generated by the encapsulation module.
  • the control information may be initiated by the encapsulation module, or it may be generated after the information initiated by the service module is encapsulated by the encapsulation module. .
  • the user plane data includes various types of business data generated by the encapsulation module that meets user requirements, that is, various types of IP packets.
  • the IP packets are generated after the encapsulation module performs IP encapsulation on the business data of the upper-level business module.
  • Includes user data such as game data, graphic data, video data, voice data, or communication data.
  • chip 2 receives information sent by chip 1 as an example
  • the architecture of the software running in processor 21 is introduced. It should be understood that the process in which chip 1 receives information sent by chip 2 is similar to this. Repeat them one by one.
  • the processor 21 runs the PCIE driver module 214, and after determining that the to-be-processed information (ie, the second information) is received from the chip 1, determines the storage address of the to-be-processed information in the memory 2 and generates a fourth address that meets the PCIE format A parameter group, and the fourth parameter group includes a storage address of the information to be processed in the memory 2.
  • the storage address of the information to be processed in the memory 2 can be queried by the processor 21 by running the PCIE driver module 214 according to a preset period, so as to determine that the information to be processed and the information to be processed are received within the period interval. Storage address in memory 2.
  • the processor 11 is generated by running the PCIE driver module 114 according to the destination address of the information to be sent, and the processor 21 may determine the storage address of the information to be processed in the memory 2 according to the interrupt message.
  • the processor 21 runs the virtual interface module 213 to generate a fifth parameter group that satisfies a preset packaging format according to the fourth parameter group, and the fifth parameter group includes a storage address of the information to be processed in the memory 21.
  • the processor 21 determines that the memory 21 stores the memory 21 in the memory 2 according to the information to be processed in the fourth parameter group by running the PCIE adaptation layer 2132 in the virtual interface module 213.
  • the address space of the information is processed to determine a virtual interface corresponding to the address space, and according to the virtual interface, a preset packaging format of a packaging module corresponding to the virtual interface is determined, so as to convert the fourth parameter group to meet the packaging module
  • the fifth parameter group of the packaging format is set so that the fifth parameter group can be identified by the packaging module corresponding to the virtual interface.
  • the virtual interface module 213 includes multiple virtual interfaces (such as virtual interfaces E, F, G, and H in FIG. 2), and the multiple virtual interfaces correspond to multiple address spaces in the memory 2, as shown in FIG. 4, Chip 1 is the same.
  • the virtual interface E in FIG. 4 corresponds to the address space 21.
  • the processor 21 can determine the information to be processed according to the fourth parameter group and store the address space 21 in the memory 2.
  • the processor 21 when the processor 21 runs the virtual interface module 213 and determines the address space 22 to be stored in the memory 2 according to the fourth parameter group, it can determine the virtual interface F and virtual interface corresponding to the address space 22 F is VCOM, the encapsulation module 2122 is an AT command processing program, and the processor 21 converts the fourth parameter group into a fifth parameter group for running the AT command processing program by running the virtual interface module 213.
  • the processor 21 After the processor 21 runs the encapsulation module corresponding to the virtual interface determined according to the storage address where the information to be processed is located, the processor 21 decapsulates the information to be processed according to a preset decapsulation rule by running the encapsulation module to obtain the data to be processed and A sixth parameter group is generated, and the sixth parameter group can be identified by the service module 211.
  • the processor 21 determines the data to be processed from the memory 2 according to the storage address of the data to be processed in the sixth parameter by running the service module 211 and performs processing.
  • the encapsulation module 2121 is a TCP / IP protocol stack, and the information to be processed is an IP packet.
  • the encapsulation module 2121 can forward the IP packet to the 4G or 5G air interface communication program in the service module 211.
  • the processor 21 determines the IP message from the memory 2 according to the sixth parameter group by running the 4G or 5G air interface communication program in the service module 211, and encapsulates the IP message into an air interface message conforming to the 4G or 5G air interface communication protocol and converts the IP message. It is a wireless signal and sent out through the antenna.
  • the processor 21 can perform decapsulation and merge operations on the IP packet according to the TCP / IP protocol by running the encapsulation module 2121.
  • the processor 21 runs the service module 211
  • the application processes the data to be processed according to the sixth parameter group.
  • the encapsulation module 2122 is an AT command processing program, and the information to be processed is an AT command message.
  • the processor 21 can determine the type of the AT command message according to the format of the AT command message by running the encapsulation module 2122, and send it to the service module 211.
  • the corresponding program executes the AT command message.
  • each software module that can be run by the processor can be implemented in whole or in part through configurable software, firmware, or any combination thereof.
  • firmware is also a special kind of software.
  • any module is implemented using software, it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer or a processor of the embodiment, the processes or functions according to the embodiment of the present invention are wholly or partially generated.
  • the computer or processor may be equivalent to a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium, such as the memory mentioned in the previous embodiment, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • the computer instructions may be transmitted from A website site, computer, server, or data center uses wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) to another website site, computer, server, or data Center for transmission.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, a data center, and the like that includes one or more available medium integrations.
  • the available medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (Solid State Disk (SSD)), and the like.
  • a magnetic medium for example, a floppy disk, a hard disk, a magnetic tape
  • an optical medium for example, a DVD
  • a semiconductor medium for example, a solid state disk (Solid State Disk (SSD)
  • the present application is described with reference to block diagrams of an apparatus (system) and a computer program product according to the present application.
  • These computer program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing device to produce a machine, so that the instructions generated by the processor of the computer or other programmable data processing device are used to generate instructions Means for implementing the functions specified in one or more blocks of the block diagram.
  • These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to work in a specific manner such that the instructions stored in the computer-readable memory produce a manufactured article including an instruction device, the instructions The device implements the functions specified in one or more blocks of the block diagram.

Abstract

Provided are a PCIE sending and receiving method, apparatus, device and system, for realizing usage of a PCIE controller without significantly changing existing software architecture, wherein the PCIE sending apparatus comprises: an encapsulation module for generating first information and a second parameter set; a virtual interface module for receiving the second parameter set from the encapsulation module, and generating, according to the second parameter set, a third parameter set which satisfies a PCIE format, wherein the third parameter set comprises a storage address and a destination address in a second memory corresponding to a PCIE receiving apparatus; and a PCIE drive module for receiving the third parameter set from the virtual interface module, and driving, according to the third parameter set, a first PCIE controller to send the first information. The virtual interface module serves the function of linking between the encapsulation module and the PCIE drive module, so that even if the encapsulation module is not adaptively adjusted, sending of a PCIE can still be realized.

Description

一种PCIE发送、接收方法及装置、设备和系统Method and device for transmitting and receiving PCIE, device and system 技术领域Technical field
本发明涉及电子科学技术领域,尤其涉及一种PCIE发送、接收方法及装置、设备和系统。The present invention relates to the field of electronic science and technology, and in particular, to a PCIE sending and receiving method and device, device, and system.
背景技术Background technique
随着电子技术的发展以及用户需求的增长,终端设备需要能够实现越来越多的功能,为了实现这些功能,终端设备中往往需要包括众多芯片。终端设备的众多芯片之间需要实现互联以进行数据传输,才能使终端设备实现相应的功能。在现有的终端设备中,芯片之间可以通过多种方式实现互联,例如,终端设备中的调制解调(modem)通信芯片和应用(application,APP)芯片之间便可以通过通用串行总线(universal serial bus,USB)口或千兆以太网介质访问控制(gigabit ethernet media access control,GMAC)网卡互联。With the development of electronic technology and the growth of user needs, terminal devices need to be able to implement more and more functions. In order to realize these functions, terminal devices often need to include many chips. Many chips of the terminal equipment need to be interconnected for data transmission, so that the terminal equipment can realize corresponding functions. In existing terminal equipment, chips can be interconnected in various ways. For example, a modem communication chip and an application (APP) chip in a terminal device can be connected through a universal serial bus. (universal serial bus, USB) port or Gigabit Ethernet media access control (GMAC) network card interconnection.
在5G技术中,无线空口侧的下行速率能达到10Gbps甚至更多,而GMAC口的传输速率只有1Gbps,USB3.0口的传输速率理论上也只能达到5Gbps,而且实测性能还会有下降,从而使得GMAC网卡或者USB口的芯片互联方式将难以满足5G技术的要求,而外围器件高速互联(peripheral component interconnect express,PCIE)由于其所具备的高传输速率,使芯片之间传输效率的进一步提高成为可能,因此是5G技术中芯片之间互联方案的重要研究方向之一。In 5G technology, the downlink rate of the wireless air interface side can reach 10Gbps or more, while the transmission rate of the GMAC port is only 1Gbps, and the transmission rate of the USB3.0 port can only theoretically reach 5Gbps, and the measured performance will also decrease. As a result, the chip interconnection method of GMAC network card or USB port will be difficult to meet the requirements of 5G technology, and peripheral component high-speed interconnection (PCIE) due to its high transmission rate, which further improves the transmission efficiency between chips. It becomes possible, so it is one of the important research directions of the interconnection scheme between chips in 5G technology.
然而,芯片之间若要采用PCIE互联,通常需要对芯片处理器运行的软件中多个封装模块(比如,用于为运行数据增加报文头使其符合传输协议规定的协议栈、用于拨号和配置调制解调的AT命令处理程序、用于获取维测信息的操作、管理和维护(operation administration and maintenance,OAM)功能的封装模块等)进行特殊设计,以使这些封装模块能够适配于PCIE驱动模块,从而可以使处理器能够通过运行PCIE驱动模块驱动芯片中的PCIE控制器传递运行这些封装模块所生成的信息,这种对软件的修改比较复杂,阻碍了PCIE互联在基于现有软件架构的芯片中的进一步使用,因此,目前亟需一种能够简化芯片之间PCIE互联设计的方案,在无需大幅改变现有软件架构的基础上可以使得现有芯片能够使用PCIE控制器。However, if the chips are to be interconnected by PCIE, multiple packaging modules in the software running on the chip processor are usually required (for example, to add a packet header to the running data so that it conforms to the protocol stack specified by the transmission protocol, and for dialing Specially designed with AT command processing program that configures modems, operation, management, and maintenance (OAM) functions for obtaining maintenance information, etc.) so that these packaging modules can be adapted to The PCIE driver module enables the processor to pass the information generated by running these packaged modules through the PCIE controller running the PCIE driver module driver chip. This software modification is more complicated and prevents the PCIE interconnection from being based on existing software. Further use of the chip in the architecture, therefore, there is an urgent need for a solution that can simplify the design of the PCIE interconnection between the chips, without the need to significantly change the existing software architecture, the existing chip can use the PCIE controller.
发明内容Summary of the invention
本申请实施例提供一种PCIE发送、接收方法及装置、设备和系统,以在无需大幅改变现有软件架构的基础上可以支持PCIE接口。The embodiments of the present application provide a method and device for transmitting and receiving a PCIE, a device, and a system, so as to support a PCIE interface without substantially changing an existing software architecture.
第一方面,本申请实施例提供一种外围器件高速互联PCIE发送装置,包括封装模块、虚拟接口模块和PCIE驱动模块。其中,封装模块,用于按照预设的封装规则生成待发送的的第一信息和满足预设封装格式的第二参数组,该第二参数组中包括第一信息在PCIE发送装置所对应的第一存储器中的存储地址;虚拟接口模块,用于从封装模块接收第二参数组,并根据第二参数组生成满足PCIE格式的第三参数组,该第三参数组包括前述存储地址和在PCIE接收装置所对应的第二存储器中的目的地址;PCIE驱动模块,用于从虚拟接口模块接收第三参数组,解析该第三参数组以得到前述存储地址和目的地址,向PCIE发送装置所对应的第一PCIE控制器发送第一指令,该第一指令用于驱动第一PCIE控制器 发送第一信息。其中,第一指令包括前述目的地址,且进一步包括第一信息或第一信息在第一存储器中的存储地址。In a first aspect, an embodiment of the present application provides a high-speed interconnection PCIE transmission device for peripheral devices, including a packaging module, a virtual interface module, and a PCIE driver module. The encapsulation module is configured to generate first information to be transmitted and a second parameter group that satisfies a preset encapsulation format according to a preset encapsulation rule. The second parameter group includes the first information corresponding to the PCIE sending device. A storage address in the first memory; a virtual interface module for receiving a second parameter group from the encapsulation module, and generating a third parameter group that meets the PCIE format according to the second parameter group, the third parameter group including the foregoing storage address and the The destination address in the second memory corresponding to the PCIE receiving device; the PCIE driver module is configured to receive a third parameter group from the virtual interface module, parse the third parameter group to obtain the foregoing storage address and destination address, and send the device address to the PCIE device. The corresponding first PCIE controller sends a first instruction, and the first instruction is used to drive the first PCIE controller to send the first information. The first instruction includes the foregoing destination address, and further includes the first information or a storage address of the first information in the first memory.
采用上述方案,虚拟接口模块能够接收封装模块生成的满足预设封装格式的第二参数组,并将第二参数组转换为PCIE驱动模块能够识别并接收的第三参数组,其在封装模块和PCIE驱动模块之间起到了承接的作用,使得即使不对封装模块的软件结构根据PCIE驱动模块进行适配调整,也可以实现PCIE发送。与更改开源、通用的封装模块相比,采用上述方法在PCIE发送装置中增加虚拟接口模块所带来的设计会少得多,从而实现了在无需大幅改变现有软件架构的基础上可以使得现有芯片能够支持PCIE接口。With the above solution, the virtual interface module can receive the second parameter group that meets the preset packaging format generated by the packaging module, and convert the second parameter group into a third parameter group that can be recognized and received by the PCIE driver module. The PCIE drive modules play a role of undertaking, so that even if the software structure of the packaging module is not adjusted according to the PCIE drive module, PCIE transmission can be realized. Compared with changing the open source and general-purpose packaging module, using the above-mentioned method to add a virtual interface module to the PCIE transmission device will bring much less design, thereby realizing that the existing software architecture can be made without substantially changing the existing software architecture. Some chips can support PCIE interface.
基于上述第一方面,在一种可能的实现方式中,虚拟接口模块包括虚拟接口和PCIE适配层。其中,虚拟接口,对应于封装模块,用于从对应的封装模块接收第二参数组,并提供给PCIE适配层;PCIE适配层,用于确定第二存储器中与为其提供第二参数组的虚拟接口相对应的地址空间,根据该地址空间确定目的地址,并根据第二参数组和该目的地址生成满足PCIE格式的第三参数组。Based on the above first aspect, in a possible implementation manner, the virtual interface module includes a virtual interface and a PCIE adaptation layer. The virtual interface corresponds to the packaging module and is used to receive the second parameter group from the corresponding packaging module and provide it to the PCIE adaptation layer; the PCIE adaptation layer is used to determine the second memory and provide the second parameter to it. An address space corresponding to the virtual interface of the group, a destination address is determined according to the address space, and a third parameter group that meets the PCIE format is generated according to the second parameter group and the destination address.
采用上述方案,由虚拟接口向上适配与其对应的封装模块,接收封装模块提供的第二参数组,由PCIE适配层向下适配PCIE驱动模块,通过虚拟接口与第二存储器中地址空间的对应关系确定目的地址,并根据第二参数和该目的地址生成可以被PCIE驱动模块识别并接收的第三参数组,从而实现了虚拟接口模块在封装模块和PCIE驱动模块之间的承接作用。With the above solution, the virtual interface is adapted upward to the corresponding packaging module, and the second parameter group provided by the packaging module is received, and the PCIE adaptation layer is downward adapted to the PCIE driver module, and the virtual interface and the address space in the second memory are The corresponding relationship determines the destination address, and generates a third parameter group that can be recognized and received by the PCIE driver module according to the second parameter and the destination address, thereby realizing the role of the virtual interface module between the encapsulation module and the PCIE driver module.
基于上述第一方面,在一种可能的实现方式中,上述虚拟接口是虚拟网络接口适配器VNIC或虚拟串行通信端口VCOM。Based on the first aspect, in a possible implementation manner, the virtual interface is a virtual network interface adapter VNIC or a virtual serial communication port VCOM.
基于上述第一方面,在一种可能的实现方式中,该PCIE发送装置包括多个封装模块,且该PCIE发送装置的虚拟接口模块包括多个虚拟接口;每个虚拟接口对应于一个封装模块,且每个虚拟接口具有优先级;PCIE适配层具体用于:根据多个虚拟接口的优先级得到对多个虚拟接口的处理顺序,按照该处理顺序依次生成每个虚拟接口对应的第三参数组。Based on the above first aspect, in a possible implementation manner, the PCIE sending device includes multiple packaging modules, and the virtual interface module of the PCIE sending device includes multiple virtual interfaces; each virtual interface corresponds to one packaging module, And each virtual interface has a priority; the PCIE adaptation layer is specifically used to: obtain the processing order of multiple virtual interfaces according to the priorities of multiple virtual interfaces, and sequentially generate a third parameter corresponding to each virtual interface in accordance with the processing order. group.
采用上述方案,使得优先级更高的虚拟接口对应的业务可以被优先下发至PCIE适配层和PCIE驱动模块并被优先处理,从而使处理器运行PCIE驱动模块驱动PCIE控制器优先发送优先级较高的业务所对应的待发送的信息,从而提高系统整体的服务质量(quality of service,QOS)。By adopting the above scheme, services corresponding to a virtual interface with a higher priority can be preferentially delivered to the PCIE adaptation layer and the PCIE driver module and processed preferentially, so that the processor runs the PCIE driver module to drive the PCIE controller to send priority priority. Information to be sent corresponding to a higher service, thereby improving the overall quality of service (QOS) of the system.
基于上述第一方面,在一种可能的实现方式中,该PCIE发送装置还包括:业务模块,用于在第一存储器中生成业务运行数据;基于此,上述封装模块具体用于按照预设的封装规则对业务运行数据进行封装处理以生成与业务运行数据的类型相对应的第一信息和第二参数组。Based on the above first aspect, in a possible implementation manner, the PCIE sending device further includes: a service module, configured to generate service running data in the first memory; based on this, the above-mentioned encapsulation module is specifically configured to perform a preset operation according to a preset The encapsulation rule performs encapsulation processing on the business operation data to generate first information and a second parameter group corresponding to the type of the business operation data.
基于上述第一方面,在一种可能的实现方式中,该PCIE发送装置中的封装模块为传输控制协议/网络互联协议TCP/IP协议栈封装模块,或AT命令处理程序封装模块,或操作、管理和维护OAM检测程序封装模块。Based on the above first aspect, in a possible implementation manner, the packaging module in the PCIE sending device is a transmission control protocol / network interconnection protocol TCP / IP protocol stack packaging module, or an AT command processing program packaging module, or an operation, Manage and maintain OAM inspection program package modules.
第二方面,本申请实施例提供一种外围器件高速互联PCIE接收装置,包括:PCIE驱动模块、虚拟接口模块和封装模块。其中,PCIE驱动模块,用于确定待处理的第二信息在PCIE接收装置对应的第二存储器中的存储地址,生成满足PCIE格式的第四参数组,该第四参数组包括前述存储地址;虚拟接口模块,用于从PCIE驱动模块接收该第四参数组,根据该第四参数组生成满足预设封装格式的第五参数组;该第五参数组包括前述存储地址; 封装模块,用于从虚拟接口模块接收该第五参数组,解析该第五参数组以得到前述存储地址,并根据前述存储地址获取第二信息,按照预设的解封装规则对第二信息解封装后生成待处理的数据。In a second aspect, an embodiment of the present application provides a high-speed interconnection PCIE receiving device for peripheral devices, including: a PCIE driver module, a virtual interface module, and a packaging module. The PCIE driver module is configured to determine a storage address of the second information to be processed in a second memory corresponding to the PCIE receiving device, and generate a fourth parameter group that meets the PCIE format, where the fourth parameter group includes the foregoing storage address; virtual An interface module is configured to receive the fourth parameter group from the PCIE driver module, and generate a fifth parameter group that satisfies a preset encapsulation format according to the fourth parameter group; the fifth parameter group includes the foregoing storage address; The virtual interface module receives the fifth parameter group, parses the fifth parameter group to obtain the foregoing storage address, and obtains the second information according to the foregoing storage address, and decapsulates the second information according to a preset decapsulation rule to generate a to-be-processed data.
采用上述方案,虚拟接口模块能够接收PCIE驱动模块生成的第四参数组,并将第四参数组转换为封装模块能够识别并接收的第五参数组,其在PCIE驱动模块和封装模块之间起到了承接的作用,使得即使不对封装模块的软件结构根据PCIE驱动模块进行适配调整,也可以实现PCIE接收。与更改开源、通用的封装模块相比,采用上述方法在PCIE接收装置中增加虚拟接口模块所带来的设计会少得多,从而实现了在无需大幅改变现有软件架构的基础上可以使得现有芯片能够支持PCIE接口。With the above solution, the virtual interface module can receive the fourth parameter group generated by the PCIE driver module, and convert the fourth parameter group into a fifth parameter group that can be recognized and received by the packaging module, which starts between the PCIE driver module and the packaging module. With the role of undertaking, even if the software structure of the packaging module is not adjusted according to the PCIE driver module, PCIE reception can be achieved. Compared with changing the open source and general-purpose packaging module, using the above method to add a virtual interface module to the PCIE receiving device will bring much less design, thus realizing that the existing software architecture can be made without substantially changing the existing software architecture. Some chips can support PCIE interface.
基于上述第二方面,在一种可能的实现方式中,虚拟接口模块包括虚拟接口和PCIE适配层。其中,PCIE适配层,用于从PCIE驱动模块接收第四参数组,根据第四参数组确定存储地址对应的地址空间;确定与该地址空间对应的虚拟接口;确定该虚拟接口对应的封装模块的预设封装格式;根据第四参数组生成满足该预设封装格式的第五参数组,并将该第五参数组提供给虚拟接口;虚拟接口,与封装模块对应,用于接收PCIE适配层提供的第五参数组,并向该封装模块发送该第五参数组。Based on the second aspect, in a possible implementation manner, the virtual interface module includes a virtual interface and a PCIE adaptation layer. The PCIE adaptation layer is used to receive a fourth parameter group from the PCIE driver module, and determine an address space corresponding to the storage address according to the fourth parameter group; determine a virtual interface corresponding to the address space; determine a packaging module corresponding to the virtual interface A predetermined package format according to the fourth parameter group; a fifth parameter group that satisfies the preset package format is generated according to the fourth parameter group, and the fifth parameter group is provided to a virtual interface; the virtual interface corresponds to the packaging module and is used to receive PCIE adaptation The fifth parameter group provided by the layer, and sends the fifth parameter group to the encapsulation module.
采用上述方案,由PCIE适配层适配PCIE驱动模块,通过第二存储器中地址空间与虚拟接口的对应关系确定第二信息所对应的虚拟接口,通过虚拟接口与封装模块之间的对应关系,确定第五参数组的封装格式,从而将第四参数组转换为封装模块能够识别并接收的第五参数组。由虚拟接口适配与其对应的封装模块,向封装模块提供第五参数组,通过虚拟接口和PCIE适配层实现了虚拟接口模块在封装模块和PCIE驱动模块之间的承接作用。By adopting the above scheme, the PCIE adaptation layer adapts the PCIE driver module, determines the virtual interface corresponding to the second information through the correspondence between the address space and the virtual interface in the second memory, and uses the correspondence between the virtual interface and the encapsulation module. The encapsulation format of the fifth parameter group is determined, so that the fourth parameter group is converted into a fifth parameter group that the encapsulation module can recognize and receive. The virtual interface is adapted to the corresponding packaging module, and a fifth parameter group is provided to the packaging module. The virtual interface module and the PCIE adaptation layer realize the role of the virtual interface module between the packaging module and the PCIE driver module.
基于上述第二方面,在一种可能的实现方式中,上述虚拟接口是虚拟网络接口适配器VNIC或虚拟串行通信端口VCOM。Based on the second aspect, in a possible implementation manner, the virtual interface is a virtual network interface adapter VNIC or a virtual serial communication port VCOM.
基于上述第二方面,在一种可能的实现方式中,上述封装模块具体用于按照预设的解封装规则对第二信息进行解封装处理,以生成与封装模块类型对应的待处理的数据;该PCIE接收装置还包括业务模块,业务模块用于处理封装模块生成的待处理的数据。Based on the second aspect described above, in a possible implementation manner, the encapsulation module is specifically configured to perform decapsulation processing on the second information according to a preset decapsulation rule to generate data to be processed corresponding to the type of the encapsulation module; The PCIE receiving device further includes a service module, and the service module is configured to process the data to be processed generated by the encapsulation module.
基于上述第二方面,在一种可能的实现方式中,该PCIE接收装置中的封装模块为传输控制协议/网络互联协议TCP/IP协议栈封装模块,或AT命令处理程序封装模块,或操作、管理和维护OAM检测程序封装模块。Based on the above second aspect, in a possible implementation manner, the packaging module in the PCIE receiving device is a transmission control protocol / network interconnection protocol TCP / IP protocol stack packaging module, or an AT command processing program packaging module, or an operation, Manage and maintain OAM inspection program package modules.
第三方面,本申请实施例提供一种外围器件高速互联PCIE发送方法,包括:利用封装模块按照预设的封装规则生成待发送的第一信息和满足预设封装格式的第二参数组;该第二参数组包括第一信息在PCIE发送装置所对应的第一存储器中的存储地址;利用虚拟接口模块根据第二参数组生成满足PCIE格式的第三参数组,该第三参数组包括前述存储地址和在PCIE接收装置所对应的第二存储器中的目的地址;利用PCIE驱动模块解析第三参数组以得到存储地址和目的地址,并向PCIE发送装置所对应的第一PCIE控制器发送用于驱动第一PCIE控制器发送第一信息的第一指令,该第一指令包括目的地址,且第一指令进一步包括第一信息或第一信息在第一存储器中的存储地址。In a third aspect, an embodiment of the present application provides a high-speed interconnect PCIE transmission method for a peripheral device, including: using a packaging module to generate first information to be sent and a second parameter group that satisfies a preset packaging format according to a preset packaging rule; The second parameter group includes a storage address of the first information in the first memory corresponding to the PCIE transmitting device; and a third parameter group that meets the PCIE format is generated according to the second parameter group by using the virtual interface module, and the third parameter group includes the foregoing storage. The address and the destination address in the second memory corresponding to the PCIE receiving device; using the PCIE driver module to parse the third parameter group to obtain the storage address and the destination address, and sending it to the first PCIE controller corresponding to the PCIE transmitting device for A first instruction that drives the first PCIE controller to send first information, the first instruction includes a destination address, and the first instruction further includes the first information or a storage address of the first information in the first memory.
基于上述第三方面,在一种可能的实现方式中,虚拟接口模块包括虚拟接口和PCIE适配层;利用虚拟接口模块根据第二参数组生成满足PCIE格式的第三参数组,包括:利用虚拟接口从封装模块接收第二参数组,并提供给所述PCIE适配层;利用PCIE适配层确定第二存储器中与虚拟接口相对应的地址空间,根据地址空间确定第一信息的目的地址, 根据第二参数和该目的地址生成满足PCIE格式的所述第三参数组。Based on the third aspect described above, in a possible implementation manner, the virtual interface module includes a virtual interface and a PCIE adaptation layer; using the virtual interface module to generate a third parameter group that meets the PCIE format according to the second parameter group includes: using virtual The interface receives the second parameter group from the encapsulation module and provides it to the PCIE adaptation layer; using the PCIE adaptation layer to determine an address space corresponding to the virtual interface in the second memory, and determining a destination address of the first information according to the address space, Generating the third parameter group that meets the PCIE format according to the second parameter and the destination address.
基于上述第三方面,在一种可能的实现方式中,虚拟接口是虚拟的网络接口适配器VNIC,和/或,虚拟的串行通信端口VCOM。Based on the third aspect, in a possible implementation manner, the virtual interface is a virtual network interface adapter VNIC, and / or, a virtual serial communication port VCOM.
基于上述第三方面,在一种可能的实现方式中,PCIE发送装置包括多个封装模块,且所述虚拟接口模块包括多个虚拟接口;每个虚拟接口对应于一个封装模块,且每个虚拟接口具有优先级;根据所述第二参数和所述目的地址生成满足PCIE格式的所述第三参数组,包括:利用所述PCIE适配层根据所述多个虚拟接口的优先级得到对多个虚拟接口的处理顺序,按照所述处理顺序依次生成所述每个虚拟接口对应的所述第三参数组。Based on the above third aspect, in a possible implementation manner, the PCIE sending device includes multiple encapsulation modules, and the virtual interface module includes multiple virtual interfaces; each virtual interface corresponds to one encapsulation module, and each virtual interface The interface has a priority; and generating the third parameter group that meets the PCIE format according to the second parameter and the destination address includes: using the PCIE adaptation layer to obtain a to-many according to the priorities of the multiple virtual interfaces For the processing order of each virtual interface, the third parameter group corresponding to each virtual interface is sequentially generated according to the processing order.
第四方面,本申请实施例提供一种外围器件高速互联PCIE接收方法,包括:利用PCIE驱动模块确定待处理的第二信息在PCIE接收装置所对应的第二存储器中的存储地址,生成满足PCIE格式的第四参数组,所述第四参数组包括所述存储地址;之后,利用虚拟接口模块从所述PCIE驱动模块接收所述第四参数组,根据所述第四参数组生成满足预设封装格式的第五参数组;所述第五参数组包括所述存储地址;之后,利用封装模块接收所述第五参数组,解析所述第五参数组以得到所述存储地址,并根据所述存储地址获取所述第二信息,按照预设的解封装规则对所述第二信息解封装后生成待处理的数据。According to a fourth aspect, an embodiment of the present application provides a PCIE receiving method for high-speed interconnection of peripheral devices, which includes: using a PCIE driver module to determine a storage address of the second information to be processed in a second memory corresponding to the PCIE receiving device, and generating a PCIE satisfying PCIE A fourth parameter group of the format, the fourth parameter group including the storage address; and thereafter, using a virtual interface module to receive the fourth parameter group from the PCIE drive module, and generating a satisfying preset according to the fourth parameter group A fifth parameter group in an encapsulated format; the fifth parameter group includes the storage address; and then, receiving the fifth parameter group by using an encapsulation module, parsing the fifth parameter group to obtain the storage address, and The storage address obtains the second information, and generates the data to be processed after decapsulating the second information according to a preset decapsulation rule.
基于第四方面,在一种可能的实现方式中,所述虚拟接口模块包括虚拟接口和PCIE适配层;利用虚拟接口模块根据所述第二信息的存储地址生成满足封装模块识别格式的第五参数组,包括:利用所述PCIE适配层从所述PCIE驱动模块接收所述第四参数组,根据所述第四参数组确定所述存储地址对应的地址空间;确定与所述地址空间对应的所述虚拟接口;确定所述虚拟接口对应的封装模块的预设封装格式;根据所述第四参数组生成满足所述预设封装格式的第五参数组,并将所述第五参数组提供给所述虚拟接口;利用所述虚拟接口,接收所述PCIE适配层提供的所述第五参数组,并向所述封装模块发送所述第五参数组。Based on the fourth aspect, in a possible implementation manner, the virtual interface module includes a virtual interface and a PCIE adaptation layer; and a virtual interface module is used to generate a fifth that satisfies the identification format of the encapsulation module according to the storage address of the second information. A parameter group includes: using the PCIE adaptation layer to receive the fourth parameter group from the PCIE driver module, and determining an address space corresponding to the storage address according to the fourth parameter group; and determining to correspond to the address space Determine the preset packaging format of the packaging module corresponding to the virtual interface; generate a fifth parameter group that satisfies the preset packaging format according to the fourth parameter group, and set the fifth parameter group Provided to the virtual interface; using the virtual interface, receiving the fifth parameter group provided by the PCIE adaptation layer, and sending the fifth parameter group to the encapsulation module.
基于第四方面,在一种可能的实现方式中,所述虚拟接口是虚拟网络接口适配器VNIC或虚拟串行通信端口VCOM。Based on the fourth aspect, in a possible implementation manner, the virtual interface is a virtual network interface adapter VNIC or a virtual serial communication port VCOM.
第五方面,本申请提供一种外围器件高速互联PCIE发送设备,包括处理器和第一PCIE控制器所述处理器用于:运行封装模块按照预设的封装规则生成待发送的第一信息和满足预设封装格式的第二参数组;所述第二参数组包括所述第一信息在所述PCIE发送设备所对应的第一存储器中的存储地址;通过运行虚拟接口模块根据所述第二参数组生成满足PCIE格式的第三参数组,所述第三参数组包括所述存储地址和在PCIE接收设备所对应的第二存储器中的目的地址;通过运行PCIE驱动模块解析所述第三参数组以得到所述存储地址和所述目的地址,向所述第一PCIE控制器发送用于驱动所述第一PCIE控制器发送所述第一信息的第一指令,所述第一指令包括所述目的地址,且所述第一指令进一步包括所述第一信息或所述第一信息在所述第一存储器中的存储地址;所述第一PCIE控制器,用于接收所述第一指令,从所述第一指令获取所述第一信息,或,根据所述第一指令中所述存储地址,从所述第一存储器获取所述第一信息,向所述PCIE接收设备对应的第二PCIE控制器发送所述第一信息。In a fifth aspect, the present application provides a peripheral device high-speed interconnected PCIE transmission device, including a processor and a first PCIE controller. The processor is configured to: run a packaging module to generate first information to be sent according to a preset packaging rule and satisfy A second parameter group in a preset encapsulation format; the second parameter group includes a storage address of the first information in a first memory corresponding to the PCIE sending device; and a virtual interface module is run according to the second parameter The group generates a third parameter group that meets the PCIE format. The third parameter group includes the storage address and a destination address in a second memory corresponding to the PCIE receiving device. The third parameter group is parsed by running a PCIE driver module. To obtain the storage address and the destination address, and send a first instruction for driving the first PCIE controller to send the first information to the first PCIE controller, where the first instruction includes the A destination address, and the first instruction further includes the first information or a storage address of the first information in the first memory; the first PCIE control A device for receiving the first instruction, obtaining the first information from the first instruction, or obtaining the first information from the first memory according to the storage address in the first instruction And sending the first information to a second PCIE controller corresponding to the PCIE receiving device.
基于第五方面,在一种可能的实现方式中,所述PCIE发送设备为根复合体,所述处理器还用于:运行PCIE驱动模块根据所述目的地址,生成中断消息并发送给所述第一PCIE控制器;所述第一PCIE控制器,还用于向所述第二PCIE控制器发送所述中断消息。Based on the fifth aspect, in a possible implementation manner, the PCIE sending device is a root complex, and the processor is further configured to: run a PCIE driver module to generate an interrupt message according to the destination address and send the interrupt message to the A first PCIE controller; the first PCIE controller is further configured to send the interrupt message to the second PCIE controller.
现有的PCIE中,作为根复合体的设备向端点设备发送信息的过程中缺少中断机制,使得端点设备在收到根复合体设备发送的信息后,无法确定并处理根复合体发送的信息。本申请在PCIE发送设备为根复合体时,还会发送中断信息,使得对应的作为端点设备的PCIE接收设备可以通过该中断消息确定并处理PCIE发送设备发送的信息。In the existing PCIE, the device that is the root complex lacks an interrupt mechanism in the process of sending information to the endpoint device, so that after receiving the information sent by the root complex device, the endpoint device cannot determine and process the information sent by the root complex. When the PCIE sending device is a root complex, this application also sends interrupt information, so that the corresponding PCIE receiving device as the endpoint device can determine and process the information sent by the PCIE sending device through the interrupt message.
第六方面,本申请实施例提供一种外围器件高速互联PCIE接收设备,包括处理器和第二PCIE控制器,其中,所述第二PCIE控制器,用于接收PCIE发送设备对应的第一PCIE控制器发送的第二信息,并根据所述第二信息对应的目的地址将所述第二信息存入所述PCIE接收设备对应的第二存储器;所述处理器,用于运行PCIE驱动模块确定所述第二信息在所述第二存储器中的存储地址,生成满足PCIE格式的第四参数组,所述第四参数组包括所述存储地址;运行虚拟接口模块从所述PCIE驱动模块接收所述第四参数组,根据所述第四参数组生成满足预设封装格式的第五参数组;所述第五参数组包括所述存储地址;运行封装模块接收所述第五参数组,解析所述第五参数组以得到所述存储地址,并根据所述存储地址获取所述第二信息,按照预设的解封装规则对所述第二信息解封装后生成待处理的数据。According to a sixth aspect, an embodiment of the present application provides a high-speed peripheral PCIE receiving device including a processor and a second PCIE controller. The second PCIE controller is configured to receive a first PCIE corresponding to a PCIE transmitting device. The second information sent by the controller, and storing the second information into the second memory corresponding to the PCIE receiving device according to the destination address corresponding to the second information; the processor, configured to run the PCIE driver module to determine The storage address of the second information in the second memory generates a fourth parameter group that meets the PCIE format, where the fourth parameter group includes the storage address; the running virtual interface module receives all the information from the PCIE driver module. The fourth parameter group generates a fifth parameter group that satisfies a preset package format according to the fourth parameter group; the fifth parameter group includes the storage address; and the operation packaging module receives the fifth parameter group and analyzes the The fifth parameter group to obtain the storage address, and obtain the second information according to the storage address, and decapsulate the second information according to a preset decapsulation rule Generating data to be processed.
基于上述第六方面,在一种可能的实现方式中,所述PCIE接收设备为端点,所述PCIE接收设备还包括分别与所述第二PCIE控制器和所述处理器连接的中断寄存器;所述第二PCIE控制器,还用于接收所述第一PCIE控制器发送的中断消息,并将所述中断消息存入所述中断寄存器;所述中断寄存器,用于缓存所述中断消息,并向所述处理器发送第一触发信号;所述处理器,还用于在接收所述第一触发信号之后,根据所述中断寄存器中的所述中断消息,确定所述第二存储器中用于存储所述第二信息的存储地址。Based on the sixth aspect, in a possible implementation manner, the PCIE receiving device is an endpoint, and the PCIE receiving device further includes an interrupt register connected to the second PCIE controller and the processor, respectively; The second PCIE controller is further configured to receive an interrupt message sent by the first PCIE controller, and store the interrupt message in the interrupt register; the interrupt register is used to buffer the interrupt message, and Sending a first trigger signal to the processor; the processor is further configured to, after receiving the first trigger signal, determine, according to the interrupt message in the interrupt register, that the second memory is configured for: A storage address where the second information is stored.
采用上述方案,通过在作为端点设备的PCIE接收设备中增加中断寄存器,为端点设备接收根复合体设备发送的信息的过程增加了中断机制,使得作为端点设备的PCIE接收设备可以确定并处理作为根复合体的PCIE发送设备所发送的信息。With the above solution, by adding an interrupt register to the PCIE receiving device as the endpoint device, an interrupt mechanism is added to the process of the endpoint device receiving the information sent by the root complex device, so that the PCIE receiving device as the endpoint device can determine and process it as the root device. Information sent by the complex PCIE sending device.
第七方面,本发明实施例提供一种外围器件高速互联PCIE系统,该PCIE系统包括如上述第五方面所述的PCIE发送设备,和/或,如上述第六方面所述的PCIE接收设备。In a seventh aspect, an embodiment of the present invention provides a high-speed interconnected PCIE system for peripheral devices. The PCIE system includes the PCIE transmitting device according to the foregoing fifth aspect, and / or the PCIE receiving device according to the foregoing sixth aspect.
第八方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于执行第三方面、第四方面、第三方面中任一种可能实现方式或第四方面中任一种可能实现方式中的方法的指令。According to an eighth aspect, a computer-readable storage medium is provided for storing a computer program. The computer program includes a method for executing any one of the third aspect, the fourth aspect, the third aspect, or the fourth aspect. Instructions for any of the possible implementations of the method.
第九方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机或处理器上运行时,使得所述计算机或处理器执行上述第三方面、第四方面、第三方面中任一种可能实现方式或第四方面中任一种可能实现方式中的方法。In a ninth aspect, a computer program product is provided. The computer program product includes: computer program code that, when the computer program code runs on a computer or a processor, causes the computer or processor to execute the third aspect. , The fourth aspect, the method in any one of the possible implementation manners in the third aspect or the fourth aspect.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to explain the technical solutions in the embodiments of the present invention more clearly, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present invention. Those of ordinary skill in the art can obtain other drawings based on these drawings without paying creative labor.
图1为本申请实施例提供的一种PCIE互联系统示意图;FIG. 1 is a schematic diagram of a PCIE interconnection system according to an embodiment of the present application;
图2为本申请实施例提供的一种处理器所运行的软件架构示意图;2 is a schematic diagram of a software architecture run by a processor according to an embodiment of the present application;
图3为本申请实施例提供的一种位于两端的PCIE设备的存储器的地址空间映射关系示意图;FIG. 3 is a schematic diagram of an address space mapping relationship of a memory of a PCIE device at two ends according to an embodiment of the present application; FIG.
图4为本申请实施例提供的一种虚拟接口与地址空间之间的对应关系示意图。FIG. 4 is a schematic diagram of a correspondence relationship between a virtual interface and an address space according to an embodiment of the present application.
具体实施方式detailed description
下面将结合附图对本申请实施例作进一步详细描述。The embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
图1为本申请实施例提供的一种PCIE互联系统示意图,如图1所示,芯片1包括处理器11和PCIE控制器12,芯片2包括处理器21和PCIE控制器22,PCIE控制器12和PCIE控制器22通过PCIE物理连接相连。此外,芯片1还与存储器1连接,芯片1中的处理器11通过运行软件处理存储器1中的数据,该处理器11运行的软件也可以存储于所述存储器1或与芯片1耦合的其他存储器。芯片2还与存储器2连接,芯片2中的处理器21通过运行软件处理存储器2中的数据,该处理器12运行的软件也可以存储于所述存储器2或与芯片2耦合的其他存储器。以上每个存储器可以包括多个不同类型的存储器,用来实现不同的存储能力,例如存储不同数据或软件代码等。存储器可包括易失性存储器或非易失性存储器中的至少一个。FIG. 1 is a schematic diagram of a PCIE interconnection system according to an embodiment of the present application. As shown in FIG. 1, chip 1 includes a processor 11 and a PCIE controller 12, and chip 2 includes a processor 21 and a PCIE controller 22. It is connected to the PCIE controller 22 through a PCIE physical connection. In addition, the chip 1 is also connected to the memory 1. The processor 11 in the chip 1 processes the data in the memory 1 by running software. The software run by the processor 11 may also be stored in the memory 1 or other memories coupled with the chip 1. . The chip 2 is also connected to the memory 2. The processor 21 in the chip 2 processes data in the memory 2 by running software, and the software running by the processor 12 may also be stored in the memory 2 or other memory coupled with the chip 2. Each of the above memories may include multiple different types of memories, which are used to implement different storage capabilities, such as storing different data or software codes. The memory may include at least one of volatile memory or non-volatile memory.
在图1所示的PCIE互联系统中,芯片1作为PCIE互联中的根复合体(root complex),芯片2作为PCIE互联中的端点(end point)。在现有的PCIE协议,缺少触发作为端点的芯片2确定接收到了芯片1发送的信息,并对存储器2中的该信息进行处理的机制。基于此,在一种可行的实现方式中,本实施例的芯片2的处理器21可以按照预设周期间隔,周期性查询存储器2以确认是否有在周期间隔内接收到芯片1发送的信息,若在周期间隔内确定有接收到芯片1发送的信息,则可以确认接收到的芯片1发送的信息在存储器2中的存储地址,并对该信息进行处理。In the PCIE interconnection system shown in FIG. 1, chip 1 serves as the root complex in the PCIE interconnection, and chip 2 serves as the end point in the PCIE interconnection. In the existing PCIE protocol, there is a lack of a mechanism that triggers chip 2 as an endpoint to determine that it has received the information sent by chip 1 and to process the information in memory 2. Based on this, in a feasible implementation manner, the processor 21 of the chip 2 in this embodiment may periodically query the memory 2 according to a preset periodic interval to confirm whether the information sent by the chip 1 is received within the periodic interval. If it is determined that the information sent by the chip 1 is received within the periodic interval, the storage address of the received information sent by the chip 1 in the memory 2 can be confirmed, and the information can be processed.
在另一种可行的替代的实现方式中,如图1所示,芯片2还包括分别与处理器21和PCIE控制器22相连的中断寄存器23。芯片1在向芯片2发送完待发送的信息之后,还会通过PCIE控制器12向芯片2发送中断消息,其中,中断消息是由处理器11根据待发送的信息在存储器2中的目的地址确定的。芯片2的PCIE控制器22在接收到中断消息后,将中断消息缓存于中断寄存器23中。中断寄存器23在存入中断消息后,向处理器21发送第一触发信号,使处理器21在接收到第一触发信号后,主动查询中断寄存器23缓存的中断消息,并根据中断消息确定所接收到的信息在存储器2中的存储地址,从而可以从存储器2中获取从芯片1接收的信息,并对该信息进行处理。In another feasible alternative implementation manner, as shown in FIG. 1, the chip 2 further includes an interrupt register 23 respectively connected to the processor 21 and the PCIE controller 22. After the chip 1 sends the information to be sent to the chip 2, it also sends an interrupt message to the chip 2 through the PCIE controller 12. The interrupt message is determined by the processor 11 according to the destination address of the information to be sent in the memory 2. of. After receiving the interrupt message, the PCIE controller 22 of the chip 2 buffers the interrupt message in the interrupt register 23. After the interrupt register 23 stores the interrupt message, it sends a first trigger signal to the processor 21, so that after receiving the first trigger signal, the processor 21 actively queries the interrupt message buffered by the interrupt register 23 and determines the received message according to the interrupt message. The storage address of the received information in the memory 2, so that the information received from the chip 1 can be obtained from the memory 2, and the information is processed.
由于芯片1和芯片2之间通过PCIE控制器(12、22)互联,PCIE控制器(12、22)需要由PCIE驱动模块进行驱动,因此需要对现有的非PCIE互联系统中处理器11和处理器21所运行的软件的架构进行调整。基于此,本申请实施例提供一种能够驱动处理器工作的软件架构,可以在无需大幅改变现有的不支持PCIE互联的软件架构的基础上可以使得现有芯片能够使用PCIE控制器。图2在图1所示PCIE互联系统的基础上,分别提供了芯片1和芯片2内部处理器中所运行的软件的架构示意图。如图2所示,处理器11和处理器12所运行的软件架构中皆包括业务模块(111、211)、多个封装模块、虚拟接口模块(113、213)和PCIE驱动模块(114、214),其中,封装模块、虚拟接口模块(113、213)和PCIE驱动模块(114、214)可以包含于处理器11和处理器12中操作系统的内核(kernel)中,如图2中虚线所示,处理器11和处理器12的内核可以是Linux内核、实时操作系统(real  time operation system,RTOS)内核等多种类型。Because chip 1 and chip 2 are interconnected through the PCIE controller (12, 22), the PCIE controller (12, 22) needs to be driven by the PCIE driver module, so the processors 11 and 11 in the existing non-PCIE interconnected system need to be driven. The architecture of the software running by the processor 21 is adjusted. Based on this, the embodiment of the present application provides a software architecture capable of driving a processor to work, which can enable an existing chip to use a PCIE controller without substantially changing an existing software architecture that does not support PCIE interconnection. FIG. 2 provides a schematic diagram of software running on the internal processor of chip 1 and chip 2 on the basis of the PCIE interconnection system shown in FIG. 1. As shown in Figure 2, the software architectures run by the processors 11 and 12 include business modules (111, 211), multiple packaging modules, virtual interface modules (113, 213), and PCIE driver modules (114, 214). ), Wherein the packaging module, the virtual interface module (113, 213) and the PCIE driver module (114, 214) may be included in the kernel of the operating system in the processor 11 and the processor 12, as shown by the dotted line in FIG. 2 It is shown that the cores of the processor 11 and the processor 12 may be a Linux kernel, a real-time operating system (RTOS) kernel, and other types.
接下来,以芯片1向芯片2发送信息的过程为例,对处理器11中所运行的软件的架构进行介绍,应理解,芯片2向芯片1发送信息的过程与之类似,本申请不再一一赘述。处理器11运行的软件架构,例如操作系统或其内核中可包括业务模块111、封装模块(1121、1122、1123、1124)、虚拟接口模块113和PCIE驱动模块114。因此,软件架构可以计算机程序的形式存在,使得该程序被处理器或计算机执行的时候实现信息或数据处理。Next, taking the process of sending information from chip 1 to chip 2 as an example, the architecture of the software running in processor 11 is introduced. It should be understood that the process of sending information from chip 2 to chip 1 is similar, and this application is no longer One by one. The software architecture that the processor 11 runs on, for example, the operating system or its kernel may include a service module 111, a packaging module (1121, 1122, 1123, 1124), a virtual interface module 113, and a PCIE driver module 114. Therefore, the software architecture can exist in the form of a computer program, which enables information or data processing when the program is executed by a processor or a computer.
处理器11通过运行软件架构中的业务模块111在存储器1中生成业务运行数据。其中,业务模块111的具体实现与芯片1的类型有关。例如,在芯片1为应用芯片时,业务模块111包括各类应用程序,例如微信客户端、百度客户端等,处理器11通过运行业务模块111中的应用程序在存储器1中生成业务运行数据。又例如,在芯片1为通信芯片时,业务模块111包括各类通信相关程序,例如,4G(第四代,4 th Generation)或5G(第五代,5 th Generation)空口通信程序,通信芯片的天线接收无线信号后,处理器11通过运行4G或5G空口通信程序,解调接收到的无线信号,得到所接收到的符合空口协议的空口报文,解析空口报文,获得IP报文并将IP报文作为业务运行数据存入存储器1中。 The processor 11 generates service running data in the memory 1 by running the service module 111 in the software architecture. The specific implementation of the service module 111 is related to the type of the chip 1. For example, when the chip 1 is an application chip, the service module 111 includes various application programs, such as a WeChat client, a Baidu client, and the like. The processor 11 generates service operation data in the memory 1 by running the application program in the service module 111. As another example, when the chip 1 is a communications chip, a communication service module 111 includes various types of procedures, e.g., 4G (fourth generation, 4 th Generation) or. 5G (fifth generation, 5 th Generation) air interface communication program, the communication chip After the wireless antenna receives the wireless signal, the processor 11 runs the 4G or 5G air interface communication program to demodulate the received wireless signal to obtain the received air interface message that conforms to the air interface protocol, parses the air interface message, obtains the IP message and The IP message is stored in the memory 1 as service operation data.
在处理器11所运行的软件的架构中,包括多个封装模块(如图2中封装模块1121、1122、1123和1124),处理器11运行不同类型的封装模块,可以按照不同的封装规则对业务运行数据进行不同的封装处理,从而获得不同类型的待发送的信息,即第一信息。每个类型的待发送的信息具有该类型所对应的数据格式。例如,封装模块1121可以是传输控制协议/网络互联协议(transmission control protocol/internet protocol,TCP/IP)协议栈封装模块,在芯片1为应用芯片时,处理器11运行封装模块1121可以对业务运行数据进行数据分割、增加报文头等操作,从而在存储器1中将业务运行数据封装为包含目的IP地址的IP报文。又例如,封装模块1122可以是AT命令处理程序封装模块,在处理器11通过运行业务模块111所获得的业务运行数据为AT命令数据时,处理器11运行封装模块1122,可以根据AT命令数据生成AT命令消息,AT命令消息具有多种类型,如配置命令、查询命令等,处理器11运行封装模块1122所生成的AT命令具有多种格式,不同格式的AT命令消息对应不同类型的AT命令消息。又例如,封装模块1123可以是OAM检测程序封装模块,在处理器11通过运行业务模块111所获得的业务运行数据为OAM检测数据时,处理器11运行封装模块1123,可以根据OAM检测数据生成OAM检测消息,等等。The architecture of the software run by the processor 11 includes a plurality of packaging modules (such as the packaging modules 1121, 1122, 1123, and 1124 in FIG. 2). The processor 11 runs different types of packaging modules, and can be configured according to different packaging rules. The service operation data is subjected to different encapsulation processing, so as to obtain different types of information to be transmitted, that is, the first information. Each type of information to be transmitted has a data format corresponding to the type. For example, the encapsulation module 1121 may be a transmission control protocol / Internet Protocol (TCP / IP) protocol stack encapsulation module. When chip 1 is an application chip, the processor 11 runs the encapsulation module 1121 to run services. The data is divided into data, and a message header is added, so that the service operation data is encapsulated in the memory 1 as an IP message including a destination IP address. For another example, the encapsulation module 1122 may be an AT command processing program encapsulation module. When the service operation data obtained by the processor 11 by running the service module 111 is AT command data, the processor 11 runs the encapsulation module 1122 and may be generated according to the AT command data. AT command messages. There are various types of AT command messages, such as configuration commands and query commands. The AT commands generated by the processor 11 running the encapsulation module 1122 have multiple formats. AT command messages of different formats correspond to different types of AT command messages. . For another example, the encapsulation module 1123 may be an OAM detection program encapsulation module. When the service operation data obtained by the processor 11 by running the service module 111 is OAM detection data, the processor 11 runs the encapsulation module 1123 to generate an OAM according to the OAM detection data. Detect messages, and so on.
处理器11在存储器1中生成业务运行数据之后,通过运行业务模块111还可以生成第一参数组,第一参数组中可以包括业务运行数据的存储地址、数据长度等参数。处理器11在生成第一参数组后,继续运行与业务运行数据的类型对应的封装模块,例如,在业务运行数据类型为通信数据时,则运行封装模块1121,将业务运行数据封装为IP报文;在业务运行数据类型为AT命令数据时,则运行封装模块1122,根据AT命令数据生成AT命令消息;在业务运行数据类型为OAM检测数据时,则运行封装模块1123,根据OAM检测数据生成OAM检测消息。处理器11在运行与业务运行数据类型对应的封装模块时,可以根据第一参数组中的存储地址从存储器1中获取业务运行数据,从而根据业务运行数据生成待发送的信息。在一种可行的实现方式中,若业务运行数据的数据量较少,第一参数组也可以包括业务运行数据,从而在处理器11运行封装模块时,可以直接从第一参数组中获取业务运行数据。After the processor 11 generates service running data in the memory 1, the running service module 111 may further generate a first parameter group, and the first parameter group may include parameters such as a storage address and a data length of the service running data. After generating the first parameter group, the processor 11 continues to run the encapsulation module corresponding to the type of service operation data. For example, when the type of service operation data is communication data, the encapsulation module 1121 is run to encapsulate the service operation data into an IP report. When the service operation data type is AT command data, the encapsulation module 1122 is run to generate AT command messages based on the AT command data; when the service operation data type is OAM detection data, the encapsulation module 1123 is run to generate from the OAM detection data OAM detection message. When the processor 11 runs the packaging module corresponding to the service operation data type, the processor 11 may obtain the service operation data from the memory 1 according to the storage address in the first parameter group, thereby generating information to be sent according to the service operation data. In a feasible implementation manner, if the data amount of the service operation data is small, the first parameter group may also include the service operation data, so that when the processor 11 runs the encapsulation module, the service may be directly obtained from the first parameter group Operating data.
处理器11在存储器1中生成待发送的信息后,还会通过运行封装模块生成满足预设封 装格式的第二参数组,其包括待发送的信息在存储器1中的存储地址,还可以包括待发送信息的信息长度等参数。例如,封装模块1121为TCP/IP协议栈,处理器11运行封装模块1121所产生的待发送的信息为IP报文,IP报文可以由网络接口适配器(net interface controller,NIC)发送,因此处理器11运行封装模块1121所产生的第二参数组可以作为运行NIC的驱动程序的运行参数。又例如,封装模块1122为AT命令处理程序,处理器11运行封装模块1122所产生的待发送的信息为AT命令消息,AT命令消息可以由串行通信端口(cluster communication port,COM)发送,因此封装模块1122所产生第二参数组可以作为运行COM的驱动程序的运行参数。在本申请实施例中,处理器11会在配置阶段运行虚拟接口模块113,虚拟接口模块113中的多个虚拟接口分别模拟物理接口(如NIC、COM)的驱动软件的注册过程,向对应的封装模块注册物理接口,注册信息包括了物理接口的标识、类型、格式要求等,因此,对于封装模块而言,封装模块可以在现有的不支持PCIE互联的软件结构下接受虚拟接口的注册,使得处理器11在运行封装模块时,可以在生成第二参数组后,通过运行封装模块中现有的调用物理接口的程序调用封装模块对应的虚拟接口,即便不支持PCIE互联的封装模块也可以通过对应的虚拟接口与更下层的PCIE驱动模块耦合。因此,虚拟接口模块在封装模块和PCIE驱动模块之间起到了承接的作用。After the processor 11 generates the information to be sent in the memory 1, it also generates a second parameter group that meets the preset packaging format by running the encapsulation module, which includes the storage address of the information to be sent in the memory 1, and may also include the information to be sent. Parameters such as the message length of the message. For example, the encapsulation module 1121 is a TCP / IP protocol stack. The information to be sent generated by the processor 11 running the encapsulation module 1121 is an IP packet. The IP packet can be sent by a network interface adapter (NIC), so it is processed. The second parameter group generated by the processor 11 running the encapsulation module 1121 may be used as an operating parameter of a driver for running the NIC. For another example, the encapsulation module 1122 is an AT command processing program. The information to be sent generated by the processor 11 running the encapsulation module 1122 is an AT command message. The AT command message can be sent by a serial communication port (cluster communication port, COM). The second parameter group generated by the encapsulation module 1122 can be used as an operation parameter of a driver running COM. In the embodiment of the present application, the processor 11 will run the virtual interface module 113 during the configuration phase. Each of the multiple virtual interfaces in the virtual interface module 113 simulates the registration process of the driver software of the physical interface (such as NIC, COM) to the corresponding The encapsulation module registers the physical interface. The registration information includes the identification, type, and format requirements of the physical interface. Therefore, for the encapsulation module, the encapsulation module can accept the registration of the virtual interface under the existing software structure that does not support PCIE interconnection. When the processor 11 runs the packaging module, after generating the second parameter group, the processor 11 can call the virtual interface corresponding to the packaging module by running the existing program that calls the physical interface in the packaging module, even if the packaging module does not support PCIE interconnection. It is coupled with the lower-level PCIE driver module through the corresponding virtual interface. Therefore, the virtual interface module plays a role between the packaging module and the PCIE driver module.
处理器11通过运行虚拟接口模块113中与封装模块对应的虚拟接口,由虚拟接口代替现有的软件架构中物理接口(如上述NIC、COM等接口)的驱动软件接收第二参数组,由于配置阶段虚拟接口会在封装模块中进行注册,因此封装模块生成的第二参数组可以满足与封装模块对应的虚拟接口所需的参数格式并可被虚拟接口识别。如图2所示的软件架构,虚拟接口模块113包括多个虚拟接口(如图2中虚拟接口A、B、C和D),这些虚拟接口的类型可以相同也可以不同,不同类型的虚拟接口可以接收运行不同封装模块所产生的第二参数组,从而使虚拟接口模块113能够向上适配不同类型的封装模块。例如,虚拟接口A为虚拟的网络接口适配器(virtual network interface controller,VNIC),处理器11在运行封装模块1121,生成通信报文和第二参数组后,由虚拟接口A代替现有软件架构中的NIC的驱动软件接收第二参数组。又例如,虚拟接口B为虚拟的串行通信端口(virtual cluster communication port,VCOM),处理器11在运行封装模块1122,生成AT命令消息和第二参数组后,调用虚拟接口B,由虚拟接口B代替现有软件架构中的COM的驱动软件接收第二参数组。The processor 11 receives the second parameter group by running the virtual interface corresponding to the packaging module in the virtual interface module 113, and the driver software of the physical interface (such as the aforementioned NIC, COM interface) in the existing software architecture is replaced by the virtual interface. The phase virtual interface is registered in the encapsulation module, so the second parameter group generated by the encapsulation module can satisfy the parameter format required by the virtual interface corresponding to the encapsulation module and can be recognized by the virtual interface. As shown in the software architecture shown in FIG. 2, the virtual interface module 113 includes multiple virtual interfaces (such as virtual interfaces A, B, C, and D in FIG. 2). The types of these virtual interfaces may be the same or different. Different types of virtual interfaces The second parameter group generated by running different packaging modules can be received, so that the virtual interface module 113 can adapt to different types of packaging modules upwards. For example, the virtual interface A is a virtual network interface adapter (VNIC). After the processor 11 runs the encapsulation module 1121 to generate a communication packet and a second parameter group, the virtual interface A replaces the existing software architecture. The driver software of the NIC receives the second parameter group. As another example, the virtual interface B is a virtual serial communication port (VCOM). The processor 11 runs the encapsulation module 1122 to generate an AT command message and a second parameter group, and then calls the virtual interface B. The virtual interface B B receives the second parameter group instead of the driver software of COM in the existing software architecture.
在一种可行的实现方式中,如图2所示,虚拟接口模块113包括多个虚拟接口和PCIE适配层1132。处理器11在通过虚拟接口代替现有的软件架构中实际接口的驱动软件接收第二参数组后,通过运行PCIE适配层1132,将第二参数组转换为满足PCIE格式的第三参数组,使得第三参数组能够被PCIE驱动模块识别并接收。第三参数组至少包括待发送的信息在存储器1中的存储地址、待发送的信息在存储器2中的目的地址,还可以包括待发送的信息的信息长度等参数。基于PCIE协议,作为发送端的芯片1可以指定待发送的信息在存储器2中的存储地址。如图3所示,在芯片1和芯片2上电初期,芯片1枚举并映射芯片2的地址空间配置,从而可以确定存储器2中用于保存芯片1所发送的信息的地址空间21、22、23、24(芯片2同理)。在处理器11所运行软件架构中,虚拟接口模块113中的多个虚拟接口分别与存储器2的多个地址空间对应,如图4所示,芯片2同理。处理器11运行虚拟接口模块113时,根据接收第二参数组的虚拟接口确定待发送的信息在存储器2中的目的地址。比如,虚拟接口A与存储器2中的地址空间21相对应,在处理器11 运行虚拟接口模块113时,若虚拟接口A接收到了第二参数组,则处理器11确定待发送的信息的目的地址为地址空间21。In a feasible implementation manner, as shown in FIG. 2, the virtual interface module 113 includes multiple virtual interfaces and a PCIE adaptation layer 1132. After the processor 11 receives the second parameter group through the virtual interface instead of the driver software of the actual interface in the existing software architecture, it runs the PCIE adaptation layer 1132 to convert the second parameter group into a third parameter group that meets the PCIE format. The third parameter group can be recognized and received by the PCIE driver module. The third parameter group includes at least a storage address of the information to be transmitted in the memory 1 and a destination address of the information to be transmitted in the memory 2, and may further include parameters such as the information length of the information to be transmitted. Based on the PCIE protocol, the chip 1 as the transmitting end can specify the storage address of the information to be transmitted in the memory 2. As shown in FIG. 3, during the initial power-up period of chip 1 and chip 2, chip 1 enumerates and maps the address space configuration of chip 2, so that the address space 21, 22 in memory 2 for storing the information sent by chip 1 can be determined. , 23, 24 (same for chip 2). In the software architecture run by the processor 11, a plurality of virtual interfaces in the virtual interface module 113 respectively correspond to a plurality of address spaces of the memory 2. As shown in FIG. 4, the same is true for the chip 2. When the processor 11 runs the virtual interface module 113, the destination address of the information to be sent in the memory 2 is determined according to the virtual interface receiving the second parameter group. For example, the virtual interface A corresponds to the address space 21 in the memory 2. When the processor 11 runs the virtual interface module 113, if the virtual interface A receives the second parameter group, the processor 11 determines the destination address of the information to be sent For address space 21.
在一种可行的实现方式中,处理器11可以监控存储器2中各个地址空间的使用情况,在确定了虚拟接口对应的地址空间之后,还可以根据该地址空间的存储情况为待发送的信息在该地址空间中指定一个更为具体的目的地址。例如,处理器11可以在芯片1枚举并映射芯片2的地址空间配置后,通过运行PCIE适配层,将存储器2中的各个地址空间划分为多个存储单元,并持续监控存储器2中各个地址空间内多个存储单元的使用情况。处理器11在确定了虚拟接口对应的地址空间之后,还可以通过运行PCIE适配层根据地址空间内多个存储单元的使用情况为待发送的信息指定一个或多个未被占用的存储单元以存储待发送的信息。In a feasible implementation manner, the processor 11 can monitor the usage of each address space in the memory 2. After determining the address space corresponding to the virtual interface, the processor 11 can further determine the information to be sent according to the storage conditions of the address space. A more specific destination address is specified in this address space. For example, the processor 11 may enumerate and map the address space configuration of the chip 2 and then run the PCIE adaptation layer to divide each address space in the memory 2 into multiple storage units and continuously monitor each of the memory 2 Usage of multiple storage units in the address space. After the processor 11 determines the address space corresponding to the virtual interface, it can also designate one or more unoccupied storage units for the information to be sent according to the use of multiple storage units in the address space by running the PCIE adaptation layer. Store the information to be sent.
处理器11在通过运行虚拟接口模块113生成满足PCIE格式的第三参数组后,运行PCIE驱动模块114。处理器11通过运行PCIE驱动模块114,根据第三参数组驱动PCIE控制器12向芯片2的PCIE控制器22发送待发送信息,其具体实现方式至少可以包括以下两种:在一种可行的实现方式中,处理器11通过运行PCIE驱动模块114,根据第三参数组中待发送的信息在存储器1中的存储地址,从存储器1中获取待发送的信息,并驱动PCIE控制器将待发送的信息发送给芯片2。该实现方式需要处理器11将待发送的信息发送给PCIE控制器12,因此适用于待发送的信息数据量较小的情况,例如来自封装模块的AT命令消息、或OAM消息等数据量较小的控制面信息。在另一种可行的实现方式中,处理器11通过运行PCIE驱动模块114获取第三参数组中待发送的信息的存储地址,并驱动PCIE控制器12根据待发送的信息的存储地址从存储器1中获取待发送的信息,并将待发送的信息发送给芯片2。该实现方式由PCIE控制器12从存储器1中获取并发送待发送的信息,因此相较于前一种实现方式,更适用于待发送的信息数据量较大的情况,如来自封装模块的IP报文,该报文可来自于更上位的业务模块的数据并由封装模块做IP封装,所述数据可以包括游戏数据、或图形数据等之类数据量较大的用户面数据。After the processor 11 generates a third parameter group that meets the PCIE format by running the virtual interface module 113, the processor 11 runs the PCIE driving module 114. The processor 11 drives the PCIE controller 12 to send the information to be sent to the PCIE controller 22 of the chip 2 by running the PCIE driver module 114 according to the third parameter group. The specific implementation manners thereof can include at least the following two types: in a feasible implementation In the method, the processor 11 runs the PCIE driver module 114 to obtain the information to be transmitted from the memory 1 according to the storage address of the information to be transmitted in the third parameter group in the memory 1, and drives the PCIE controller to transmit the information to be transmitted. The information is sent to chip 2. This implementation requires the processor 11 to send the information to be sent to the PCIE controller 12, so it is suitable for situations where the amount of information to be sent is small, such as AT command messages or OAM messages from the encapsulation module. Control surface information. In another feasible implementation manner, the processor 11 obtains the storage address of the information to be sent in the third parameter group by running the PCIE driver module 114, and drives the PCIE controller 12 from the memory 1 according to the storage address of the information to be sent. To obtain the information to be sent, and send the information to be sent to the chip 2. In this implementation mode, the PCIE controller 12 obtains and sends information to be sent from the memory 1, so compared to the previous implementation mode, it is more suitable for situations where the amount of data to be sent is large, such as IP from the encapsulation module. A message, which may be data from a higher-level service module and IP-encapsulated by an encapsulation module. The data may include game data, graphic data, and other user-plane data with a large amount of data.
处理器11在运行PCIE驱动模块114时,可以驱动PCIE控制器12将地址空间21的标识信息发送给PCIE控制器22,使得PCIE控制器22可以根据地址空间21的标识信息将其所接收到的信息存入存储器2的地址空间21。在另一种可行的实现方式中,PCIE控制器12和PCIE控制器22之间的PCIE物理连接包括多个虚拟通道,也可称为逻辑通道,多条虚拟通道与两端存储器的多个地址空间分别相对应,处理器11通过运行PCIE驱动模块114,确定地址空间21对应的虚拟通道并驱动PCIE控制器12通过该虚拟通道发送待发送的信息,使得芯片2的PCIE控制器22在从该虚拟通道接收到信息后,将接收到的信息存入存储器2中与该通道对应的地址空间21中。When the processor 11 runs the PCIE driver module 114, it can drive the PCIE controller 12 to send the identification information of the address space 21 to the PCIE controller 22, so that the PCIE controller 22 can receive the received information according to the identification information of the address space 21. The information is stored in the address space 21 of the memory 2. In another feasible implementation manner, the PCIE physical connection between the PCIE controller 12 and the PCIE controller 22 includes multiple virtual channels, which may also be referred to as logical channels, and multiple virtual channels and multiple addresses of the memory at both ends. Spaces correspond to each other. By running the PCIE driver module 114, the processor 11 determines the virtual channel corresponding to the address space 21 and drives the PCIE controller 12 to send information to be sent through the virtual channel, so that the PCIE controller 22 of the chip 2 After receiving the information, the virtual channel stores the received information in the address space 21 corresponding to the channel in the memory 2.
在芯片1向芯片2发送信息的过程中,处理器11通过运行封装模块所产生的第二参数组可以是现有的软件架构中用于运行物理接口的驱动软件的第二参数组,通过运行虚拟接口模块113中的虚拟接口代替物理接口的驱动软件实现了与封装模块的适配,同时,通过运行PCIE适配层1132,将第二参数组转换为PCIE驱动模块114可识别的第三参数组,实现了与PCIE驱动模块114的适配,从而可以不对现有的封装模块进行更改,便可以实现PCIE互联,与更改开源、通用的封装模块相比,本申请实施例在处理器11所运行的软件架构中增加虚拟接口模块113所带来的设计会少得多,从而实现了在无需大幅改变现有软件架构的基础上可以使得现有芯片能够使用PCIE控制器。可以理解,本实施例的虚拟 接口用于实现与封装模块的对接,以向上适配不同类型的封装模块,而PCIE适配层则向下适配PCIE驱动模块。基于本方案,虚拟接口模块113可以实现向上对接不同的封装模块,向下对接PCIE驱动模块,将不同封装模块封装处理后形成的信息转化为PCIE驱动模块能够识别的信息,无需大幅度修改现有的封装模块。In the process of sending information from chip 1 to chip 2, the second parameter set generated by processor 11 by running the packaging module may be the second parameter set of the driving software for running the physical interface in the existing software architecture. The virtual interface in the virtual interface module 113 replaces the driver software of the physical interface to achieve the adaptation to the encapsulation module. At the same time, by running the PCIE adaptation layer 1132, the second parameter group is converted into a third parameter that the PCIE driver module 114 can recognize. Group, to achieve the adaptation to the PCIE driver module 114, so that the PCIE interconnection can be achieved without changing the existing packaging module. Compared with changing the open source and general packaging module, the embodiment of this application The design brought by adding the virtual interface module 113 to the running software architecture will be much less, thereby realizing that the existing chip can use the PCIE controller without substantially changing the existing software architecture. It can be understood that the virtual interface of this embodiment is used to implement the connection with the packaging module to adapt to different types of packaging modules upwards, and the PCIE adaptation layer downwardly adapts to the PCIE driver module. Based on this solution, the virtual interface module 113 can realize the upward connection with different packaging modules and the downward connection with the PCIE driver module. The information formed after the packaging and processing of different packaging modules is converted into information that can be recognized by the PCIE driver module, without the need to significantly modify the existing Packaging module.
在一种可行的实现方式中,虚拟接口模块113中的多个虚拟接口具有不同的优先级。处理器11在通过运行不同的封装模块同时生成了多个第二参数组时,可以通过运行虚拟接口模块113,根据多个第二参数组所对应的虚拟接口的优先级,运行PCIE适配层1132,按照优先级由高到低的顺序依次将虚拟接口所接收的第二参数组转换为第三参数组,并依次处理。以上方案使得优先级更高的虚拟接口对应的业务被优先下发至PCIE适配层1132和PCIE驱动模块114并被优先处理。采用以上方案,可以使处理器11运行PCIE驱动模块114驱动PCIE控制器12优先发送优先级较高的虚拟接口所对应的封装模块生成的待发送的信息,从而提高系统整体的服务质量(quality of service,QOS)。例如,对于业务模块111中紧急时序业务,假设处理器11通过运行封装模块1124对运行该紧急时序业务所产生的业务运行数据进行封装,则虚拟接口模块113中虚拟接口D具有最高优先级。处理器11运行PCIE适配层1132,最先将虚拟接口D所接收的第二参数组转换为第三参数组,进而可以使PCIE驱动模块114优先根据第三参数组驱动PCIE控制器12发送紧急时序业务对应的待发送的信息。In a feasible implementation manner, multiple virtual interfaces in the virtual interface module 113 have different priorities. When the processor 11 generates multiple second parameter groups simultaneously by running different encapsulation modules, it can run the virtual interface module 113 to run the PCIE adaptation layer according to the priorities of the virtual interfaces corresponding to the multiple second parameter groups. In 1132, the second parameter group received by the virtual interface is sequentially converted into a third parameter group in order of priority from high to low, and processed in sequence. The above scheme enables services corresponding to a virtual interface with a higher priority to be preferentially delivered to the PCIE adaptation layer 1132 and the PCIE driver module 114 and processed preferentially. With the above solution, the processor 11 can run the PCIE driver module 114 to drive the PCIE controller 12 to preferentially send the information to be sent generated by the packaging module corresponding to the virtual interface with a higher priority, thereby improving the overall quality of service of the system. service, QOS). For example, for the emergency sequence service in the service module 111, assuming that the processor 11 encapsulates service operation data generated by running the emergency sequence service by running the encapsulation module 1124, the virtual interface D in the virtual interface module 113 has the highest priority. The processor 11 runs the PCIE adaptation layer 1132, and firstly converts the second parameter group received by the virtual interface D into a third parameter group, so that the PCIE driver module 114 can preferentially drive the PCIE controller 12 to send an emergency according to the third parameter group. Information to be sent corresponding to the time series service.
在本实施例中,在芯片1和芯片2之间通过PCIE接口传输的信息可以是控制面信息,包括满足各类控制功能的控制信息,也可以是用户面数据,如各类业务数据。例如,如果虚拟接口是虚拟VCOM,其用于传输控制面信息;如果虚拟接口是虚拟VNIC,其用于传输用户面数据。控制面信息可以包括封装模块所生成的控制信息,如封装模块产生的AT命令消息、或OAM消息等,该控制信息可由封装模块发起,也可是由业务模块发起的信息被封装模块封装后所产生。用户面数据包括封装模块所生成的各类满足用户使用需求的业务数据,即各类IP报文,该IP报文是封装模块对更上层的业务模块的业务数据做IP封装后产生的,可包括用户数据,如游戏数据、图形数据、视频数据、语音数据或通信数据等各类业务数据。In this embodiment, the information transmitted between the chip 1 and the chip 2 through the PCIE interface may be control plane information, including control information that meets various control functions, or user plane data, such as various service data. For example, if the virtual interface is a virtual VCOM, it is used to transmit control plane information; if the virtual interface is a virtual VNIC, it is used to transmit user plane data. The control plane information may include control information generated by the encapsulation module, such as AT command messages or OAM messages generated by the encapsulation module. The control information may be initiated by the encapsulation module, or it may be generated after the information initiated by the service module is encapsulated by the encapsulation module. . The user plane data includes various types of business data generated by the encapsulation module that meets user requirements, that is, various types of IP packets. The IP packets are generated after the encapsulation module performs IP encapsulation on the business data of the upper-level business module. Includes user data, such as game data, graphic data, video data, voice data, or communication data.
相对应地,以芯片2接收芯片1发送信息的过程为例,对处理器21中所运行的软件的架构进行介绍,应理解,芯片1接收芯片2发送信息的过程与之类似,本申请不再一一赘述。Correspondingly, taking the process in which chip 2 receives information sent by chip 1 as an example, the architecture of the software running in processor 21 is introduced. It should be understood that the process in which chip 1 receives information sent by chip 2 is similar to this. Repeat them one by one.
处理器21通过运行PCIE驱动模块214,在确定从芯片1接收到待处理的信息(即第二信息)后,确定待处理的信息在存储器2中的存储地址,并生成满足PCIE格式的第四参数组,第四参数组包括待处理的信息在存储器2中的存储地址。其中,待处理的信息在存储器2中的存储地址可以由处理器21通过运行PCIE驱动模块214,按照预设周期查询存储器2,从而确定在周期间隔内接收到了待处理的信息以及待处理的信息在存储器2中的存储地址。也可以通过运行PCIE驱动模块214,在接收到中断寄存器23所发送的第一触发信号后,确定接收到了待处理的信息,并主动查询中断寄存器23所缓存的中断消息,其中,中断消息是处理器11通过运行PCIE驱动模块114根据待发送的信息的目的地址生成的,处理器21可以根据中断消息确定待处理的信息在存储器2中的存储地址。The processor 21 runs the PCIE driver module 214, and after determining that the to-be-processed information (ie, the second information) is received from the chip 1, determines the storage address of the to-be-processed information in the memory 2 and generates a fourth address that meets the PCIE format A parameter group, and the fourth parameter group includes a storage address of the information to be processed in the memory 2. Wherein, the storage address of the information to be processed in the memory 2 can be queried by the processor 21 by running the PCIE driver module 214 according to a preset period, so as to determine that the information to be processed and the information to be processed are received within the period interval. Storage address in memory 2. Alternatively, by running the PCIE driver module 214, after receiving the first trigger signal sent by the interrupt register 23, it is determined that the information to be processed is received, and the interrupt message buffered by the interrupt register 23 is actively queried, where the interrupt message is processed The processor 11 is generated by running the PCIE driver module 114 according to the destination address of the information to be sent, and the processor 21 may determine the storage address of the information to be processed in the memory 2 according to the interrupt message.
处理器21通过运行虚拟接口模块213,根据第四参数组生成满足预设封装格式的第五参数组,第五参数组包括待处理的信息在存储器21中的存储地址。在一种可行的实现方 式中,处理器21通过运行虚拟接口模块213中的PCIE适配层2132,根据第四参数组中待处理的信息在存储器2中的存储地址确定存储器21中存储该待处理信息的地址空间,从而确定该地址空间所对应的虚拟接口,根据该虚拟接口,确定与该虚拟接口对应的封装模块的预设封装格式,从而将第四参数组转换为满足该封装模块预设封装格式的第五参数组,使得该第五参数组可被该虚拟接口对应的封装模块所识别。在虚拟接口模块213中包括多个虚拟接口(如图2中虚拟接口E、F、G和H),多个虚拟接口分别与存储器2中的多个地址空间相对应,如图4所示,芯片1同理。例如,图4中虚拟接口E与地址空间21相对应,处理器21通过运行虚拟接口模块213,在根据第四参数组确定待处理的信息存储于存储器2中的地址空间21时,便可以确定与地址空间21对应的虚拟接口E,虚拟接口E为VNIC,封装模块2121为TCP/IP协议栈,处理器21通过运行虚拟接口模块213将第四参数组转换为用于运行TCP/IP协议栈的第五参数组。又例如,处理器21通过运行虚拟接口模块213,在根据第四参数组确定待处理的信息存储于存储器2中的地址空间22时,便可以确定与地址空间22对应的虚拟接口F,虚拟接口F为VCOM,封装模块2122为AT命令处理程序,处理器21通过运行虚拟接口模块213将第四参数组转换为用于运行AT命令处理程序的第五参数组。The processor 21 runs the virtual interface module 213 to generate a fifth parameter group that satisfies a preset packaging format according to the fourth parameter group, and the fifth parameter group includes a storage address of the information to be processed in the memory 21. In a feasible implementation manner, the processor 21 determines that the memory 21 stores the memory 21 in the memory 2 according to the information to be processed in the fourth parameter group by running the PCIE adaptation layer 2132 in the virtual interface module 213. The address space of the information is processed to determine a virtual interface corresponding to the address space, and according to the virtual interface, a preset packaging format of a packaging module corresponding to the virtual interface is determined, so as to convert the fourth parameter group to meet the packaging module The fifth parameter group of the packaging format is set so that the fifth parameter group can be identified by the packaging module corresponding to the virtual interface. The virtual interface module 213 includes multiple virtual interfaces (such as virtual interfaces E, F, G, and H in FIG. 2), and the multiple virtual interfaces correspond to multiple address spaces in the memory 2, as shown in FIG. 4, Chip 1 is the same. For example, the virtual interface E in FIG. 4 corresponds to the address space 21. By running the virtual interface module 213, the processor 21 can determine the information to be processed according to the fourth parameter group and store the address space 21 in the memory 2. The virtual interface E corresponding to the address space 21, the virtual interface E is a VNIC, the encapsulation module 2121 is a TCP / IP protocol stack, and the processor 21 converts the fourth parameter group into a TCP / IP protocol stack by running the virtual interface module 213 The fifth parameter group. As another example, when the processor 21 runs the virtual interface module 213 and determines the address space 22 to be stored in the memory 2 according to the fourth parameter group, it can determine the virtual interface F and virtual interface corresponding to the address space 22 F is VCOM, the encapsulation module 2122 is an AT command processing program, and the processor 21 converts the fourth parameter group into a fifth parameter group for running the AT command processing program by running the virtual interface module 213.
处理器21运行根据待处理的信息所在的存储地址所确定的虚拟接口对应的封装模块后,通过运行封装模块按照预设的解封装规则对待处理的信息进行解封装处理,获取待处理的数据并生成第六参数组,该第六参数组可被业务模块211识别。处理器21通过运行业务模块211,根据第六参数中待处理的数据的存储地址,从存储器2中确定待处理数据并进行处理。例如,封装模块2121为TCP/IP协议栈,待处理的信息为IP报文,在芯片2为通信芯片时,封装模块2121可以将IP报文转发至业务模块211中的4G或5G空口通信程序,处理器21通过运行业务模块211中的4G或5G空口通信程序根据第六参数组从存储器2中确定IP报文,将IP报文封装为符合4G或5G空口通信协议的空口报文后转化为无线信号,并通过天线发送出去。在芯片2为应用芯片时,处理器21通过运行封装模块2121可以根据TCP/IP协议对IP报文执行解封装、合并等操作,获得待处理的数据之后,处理器21通过运行业务模块211中的应用程序根据第六参数组对待处理的数据进行处理。又例如,封装模块2122为AT命令处理程序,待处理的信息为AT命令消息,处理器21通过运行封装模块2122可以根据AT命令消息的格式确定AT命令消息的类型,从而发送给业务模块211中对应的程序以执行该AT命令消息。After the processor 21 runs the encapsulation module corresponding to the virtual interface determined according to the storage address where the information to be processed is located, the processor 21 decapsulates the information to be processed according to a preset decapsulation rule by running the encapsulation module to obtain the data to be processed and A sixth parameter group is generated, and the sixth parameter group can be identified by the service module 211. The processor 21 determines the data to be processed from the memory 2 according to the storage address of the data to be processed in the sixth parameter by running the service module 211 and performs processing. For example, the encapsulation module 2121 is a TCP / IP protocol stack, and the information to be processed is an IP packet. When the chip 2 is a communication chip, the encapsulation module 2121 can forward the IP packet to the 4G or 5G air interface communication program in the service module 211. The processor 21 determines the IP message from the memory 2 according to the sixth parameter group by running the 4G or 5G air interface communication program in the service module 211, and encapsulates the IP message into an air interface message conforming to the 4G or 5G air interface communication protocol and converts the IP message. It is a wireless signal and sent out through the antenna. When chip 2 is an application chip, the processor 21 can perform decapsulation and merge operations on the IP packet according to the TCP / IP protocol by running the encapsulation module 2121. After obtaining the data to be processed, the processor 21 runs the service module 211 The application processes the data to be processed according to the sixth parameter group. For another example, the encapsulation module 2122 is an AT command processing program, and the information to be processed is an AT command message. The processor 21 can determine the type of the AT command message according to the format of the AT command message by running the encapsulation module 2122, and send it to the service module 211. The corresponding program executes the AT command message.
在上述实施例中,可以处理器运行的各个软件模块,例如业务模块、封装模块、虚拟接口模块和PCIE驱动模块可全部或部分地通过可更改可配置的软件、固件或者其任意组合来实现,可以理解固件也是一种特殊软件。当任一模块使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机或所述实施例的处理器上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机或处理器可以等效为是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,如之前实施例提到的存储器中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存 储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。In the above embodiments, each software module that can be run by the processor, such as a business module, a packaging module, a virtual interface module, and a PCIE driver module, can be implemented in whole or in part through configurable software, firmware, or any combination thereof. It can be understood that firmware is also a special kind of software. When any module is implemented using software, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer or a processor of the embodiment, the processes or functions according to the embodiment of the present invention are wholly or partially generated. The computer or processor may be equivalent to a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium, such as the memory mentioned in the previous embodiment, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from A website site, computer, server, or data center uses wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) to another website site, computer, server, or data Center for transmission. The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, a data center, and the like that includes one or more available medium integrations. The available medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (Solid State Disk (SSD)), and the like.
本申请是参照根据本申请的设备(系统)、和计算机程序产品的方框图来描述的。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在方框图一个方框或多个方框中指定的功能的装置。The present application is described with reference to block diagrams of an apparatus (system) and a computer program product according to the present application. These computer program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing device to produce a machine, so that the instructions generated by the processor of the computer or other programmable data processing device are used to generate instructions Means for implementing the functions specified in one or more blocks of the block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to work in a specific manner such that the instructions stored in the computer-readable memory produce a manufactured article including an instruction device, the instructions The device implements the functions specified in one or more blocks of the block diagram.
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. In this way, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalent technologies, this application also intends to include these modifications and variations.

Claims (23)

  1. 一种外围器件高速互联PCIE发送装置,其特征在于,包括:A high-speed interconnected PCIE transmission device for peripheral devices is characterized in that it includes:
    封装模块,用于按照预设的封装规则生成待发送的第一信息和满足预设封装格式的第二参数组;所述第二参数组包括所述第一信息在所述PCIE发送装置所对应的第一存储器中的存储地址;An encapsulation module, configured to generate first information to be transmitted and a second parameter group that satisfies a preset encapsulation format according to a preset encapsulation rule; the second parameter group includes the first information corresponding to the PCIE sending device A storage address in the first memory;
    虚拟接口模块,用于从所述封装模块接收所述第二参数组,并根据所述第二参数组生成满足PCIE格式的第三参数组,所述第三参数组包括所述存储地址和在PCIE接收装置所对应的第二存储器中的目的地址;A virtual interface module, configured to receive the second parameter group from the encapsulation module, and generate a third parameter group that meets the PCIE format according to the second parameter group, where the third parameter group includes the storage address and the The destination address in the second memory corresponding to the PCIE receiving device;
    PCIE驱动模块,用于从所述虚拟接口模块接收所述第三参数组,解析所述第三参数组以得到所述存储地址和所述目的地址,向所述PCIE发送装置所对应的第一PCIE控制器发送用于驱动所述第一PCIE控制器发送所述第一信息的第一指令,所述第一指令包括所述目的地址,且所述第一指令进一步包括所述第一信息或所述第一信息在所述第一存储器中的存储地址。A PCIE driver module is configured to receive the third parameter group from the virtual interface module, parse the third parameter group to obtain the storage address and the destination address, and send the first corresponding to the PCIE device to the first The PCIE controller sends a first instruction for driving the first PCIE controller to send the first information, the first instruction includes the destination address, and the first instruction further includes the first information or A storage address of the first information in the first memory.
  2. 如权利要求1所述的PCIE发送装置,其特征在于,所述虚拟接口模块包括虚拟接口和PCIE适配层;The PCIE transmitting device according to claim 1, wherein the virtual interface module comprises a virtual interface and a PCIE adaptation layer;
    所述虚拟接口,对应于所述封装模块,用于从所述封装模块接收所述第二参数组,并提供给所述PCIE适配层;The virtual interface corresponds to the encapsulation module, and is configured to receive the second parameter group from the encapsulation module and provide it to the PCIE adaptation layer;
    所述PCIE适配层,用于确定所述第二存储器中与所述虚拟接口相对应的地址空间,根据所述地址空间确定所述目的地址,根据所述第二参数组和所述目的地址生成满足所述PCIE格式的所述第三参数组。The PCIE adaptation layer is configured to determine an address space corresponding to the virtual interface in the second memory, determine the destination address according to the address space, and determine the destination address according to the second parameter group and the destination address. Generating the third parameter group that satisfies the PCIE format.
  3. 如权利要求2所述的PCIE发送装置,其特征在于,所述虚拟接口是虚拟网络接口适配器VNIC或虚拟串行通信端口VCOM。The PCIE transmitting device according to claim 2, wherein the virtual interface is a virtual network interface adapter VNIC or a virtual serial communication port VCOM.
  4. 如权利要求2或3所述的PCIE发送装置,其特征在于,该装置包括多个封装模块,且所述虚拟接口模块包括多个虚拟接口;每个虚拟接口对应于一个封装模块,且每个虚拟接口具有优先级;The PCIE transmitting device according to claim 2 or 3, wherein the device includes multiple encapsulation modules, and the virtual interface module includes multiple virtual interfaces; each virtual interface corresponds to one encapsulation module, and each Virtual interfaces have priority;
    所述PCIE适配层具体用于:根据所述多个虚拟接口的优先级得到对多个虚拟接口的处理顺序,按照所述处理顺序依次生成所述每个虚拟接口对应的所述第三参数组。The PCIE adaptation layer is specifically configured to obtain a processing order for multiple virtual interfaces according to the priorities of the multiple virtual interfaces, and sequentially generate the third parameter corresponding to each virtual interface according to the processing order. group.
  5. 如权利要求1至4中任一项所述的PCIE发送装置,其特征在于,还包括:The PCIE sending device according to any one of claims 1 to 4, further comprising:
    业务模块,用于在所述第一存储器中生成业务运行数据;A service module, configured to generate service running data in the first memory;
    所述封装模块,具体用于按照所述预设的封装规则对所述业务运行数据进行封装处理以生成与所述业务运行数据的类型相对应的所述第一信息和所述第二参数组。The encapsulation module is specifically configured to perform encapsulation processing on the service operation data according to the preset encapsulation rule to generate the first information and the second parameter group corresponding to the type of the service operation data. .
  6. 如权利要求1至5中任一项所述的PCIE发送装置,其特征在于,所述封装模块为传输控制协议/网络互联协议TCP/IP协议栈封装模块,或AT命令处理程序封装模块,或操作、管理和维护OAM检测程序封装模块。The PCIE transmitting device according to any one of claims 1 to 5, wherein the encapsulation module is a transmission control protocol / network interconnection protocol TCP / IP protocol stack encapsulation module, or an AT command processing program encapsulation module, or Operate, manage, and maintain OAM inspection program packaging modules.
  7. 一种外围器件高速互联PCIE接收装置,其特征在于,包括:A high-speed interconnected PCIE receiving device for peripheral devices, comprising:
    PCIE驱动模块,用于确定待处理的第二信息在所述PCIE接收装置对应的第二存储器中的存储地址,生成满足PCIE格式的第四参数组,所述第四参数组包括所述存储地址;A PCIE driver module, configured to determine a storage address of the second information to be processed in a second memory corresponding to the PCIE receiving device, and generate a fourth parameter group that meets the PCIE format, where the fourth parameter group includes the storage address ;
    虚拟接口模块,用于从所述PCIE驱动模块接收所述第四参数组,根据所述第四参数组生成满足预设封装格式的第五参数组;所述第五参数组包括所述存储地址;A virtual interface module, configured to receive the fourth parameter group from the PCIE drive module, and generate a fifth parameter group that satisfies a preset package format according to the fourth parameter group; the fifth parameter group includes the storage address ;
    所述封装模块,用于从所述虚拟接口模块接收所述第五参数组,解析所述第五参数组以得到所述存储地址,并根据所述存储地址获取所述第二信息,按照预设的解封装规则对所述第二信息解封装后生成待处理的数据。The encapsulation module is configured to receive the fifth parameter group from the virtual interface module, parse the fifth parameter group to obtain the storage address, and obtain the second information according to the storage address. The set decapsulation rule generates data to be processed after decapsulating the second information.
  8. 如权利要求7所述的PCIE接收装置,其特征在于,所述虚拟接口模块包括虚拟接口和PCIE适配层;The PCIE receiving device according to claim 7, wherein the virtual interface module comprises a virtual interface and a PCIE adaptation layer;
    所述PCIE适配层,用于从所述PCIE驱动模块接收所述第四参数组,根据所述第四参数组确定所述存储地址对应的地址空间;确定与所述地址空间对应的所述虚拟接口;确定所述虚拟接口对应的封装模块的所述预设封装格式;根据所述第四参数组生成满足所述预设封装格式的第五参数组,并将所述第五参数组提供给所述虚拟接口;The PCIE adaptation layer is configured to receive the fourth parameter group from the PCIE driver module, determine an address space corresponding to the storage address according to the fourth parameter group, and determine the corresponding space corresponding to the address space. A virtual interface; determining the preset packaging format of the packaging module corresponding to the virtual interface; generating a fifth parameter group that satisfies the preset packaging format according to the fourth parameter group, and providing the fifth parameter group Giving the virtual interface;
    所述虚拟接口,对应于所述封装模块,用于接收所述PCIE适配层提供的所述第五参数组,并向所述封装模块发送所述第五参数组。The virtual interface corresponds to the encapsulation module, and is configured to receive the fifth parameter group provided by the PCIE adaptation layer, and send the fifth parameter group to the encapsulation module.
  9. 如权利要求8所述的PCIE接收装置,其特征在于,所述虚拟接口是虚拟网络接口适配器VNIC或虚拟串行通信端口VCOM。The PCIE receiving device according to claim 8, wherein the virtual interface is a virtual network interface adapter VNIC or a virtual serial communication port VCOM.
  10. 如权利要求7至9中任一项所述的PCIE接收装置,其特征在于:The PCIE receiving device according to any one of claims 7 to 9, wherein:
    所述封装模块,具体用于按照预设的解封装规则对所述第二信息进行解封装处理,以生成与所述封装模块类型对应的待处理的数据;The encapsulation module is specifically configured to perform decapsulation processing on the second information according to a preset decapsulation rule to generate data to be processed corresponding to the type of the encapsulation module;
    所述PCIE接收装置还包括业务模块,用于处理所述待处理的数据。The PCIE receiving device further includes a service module, configured to process the data to be processed.
  11. 如权利要求7至10中任一项所述的PCIE接收装置,其特征在于,所述封装模块为传输控制协议/网络互联协议TCP/IP协议栈封装模块,或AT命令处理程序封装模块,或操作、管理和维护OAM检测程序封装模块。The PCIE receiving device according to any one of claims 7 to 10, wherein the packaging module is a transmission control protocol / network interconnection protocol TCP / IP protocol stack packaging module, or an AT command processing program packaging module, or Operate, manage, and maintain OAM inspection program packaging modules.
  12. 一种外围器件高速互联PCIE发送方法,其特征在于,包括:A high-speed interconnection PCIE transmission method for peripheral devices is characterized in that it includes:
    利用封装模块按照预设的封装规则生成待发送的第一信息和满足预设封装格式的第二参数组;所述第二参数组包括所述第一信息在所述PCIE发送装置所对应的第一存储器中的存储地址;Use the encapsulation module to generate first information to be transmitted and a second parameter group that satisfies a preset encapsulation format according to a preset encapsulation rule; the second parameter group includes a first parameter corresponding to the first information in the PCIE sending device. A storage address in a memory;
    利用虚拟接口模块根据所述第二参数组生成满足PCIE格式的第三参数组,所述第三参数组包括所述存储地址和在PCIE接收装置所对应的第二存储器中的目的地址;Using a virtual interface module to generate a third parameter group that meets the PCIE format according to the second parameter group, where the third parameter group includes the storage address and a destination address in a second memory corresponding to the PCIE receiving device;
    利用PCIE驱动模块解析所述第三参数组以得到所述存储地址和所述目的地址,向所述PCIE发送装置所对应的第一PCIE控制器发送用于驱动所述第一PCIE控制器发送所述第一信息的第一指令,所述第一指令包括所述目的地址,且所述第一指令进一步包括所述第一信息或所述第一信息在所述第一存储器中的存储地址。Use a PCIE driver module to parse the third parameter group to obtain the storage address and the destination address, and send the first parameter to the first PCIE controller corresponding to the PCIE sending device for driving the first PCIE controller to send all The first instruction of the first information, the first instruction includes the destination address, and the first instruction further includes the first information or a storage address of the first information in the first memory.
  13. 如权利要求12所述的PCIE发送方法,其特征在于,所述虚拟接口模块包括虚拟接口和PCIE适配层;The PCIE sending method according to claim 12, wherein the virtual interface module comprises a virtual interface and a PCIE adaptation layer;
    所述利用虚拟接口模块根据所述第二参数组生成满足PCIE格式的第三参数组,包括:The generating a third parameter group that meets the PCIE format according to the second parameter group by using the virtual interface module includes:
    利用所述虚拟接口从所述封装模块接收所述第二参数组,并提供给所述PCIE适配层;Receiving the second parameter group from the encapsulation module by using the virtual interface, and providing the second parameter group to the PCIE adaptation layer;
    利用所述PCIE适配层确定所述第二存储器中与所述虚拟接口相对应的地址空间,根据所述地址空间确定所述目的地址,根据所述第二参数组和所述目的地址生成满足所述PCIE格式的所述第三参数组。Use the PCIE adaptation layer to determine an address space corresponding to the virtual interface in the second memory, determine the destination address according to the address space, and generate a satisfying address based on the second parameter group and the destination address The third parameter group in the PCIE format.
  14. 如权利要求13所述的PCIE发送方法,其特征在于,所述虚拟接口是虚拟的网络接口适配器VNIC,和/或,虚拟的串行通信端口VCOM。The PCIE sending method according to claim 13, wherein the virtual interface is a virtual network interface adapter VNIC, and / or a virtual serial communication port VCOM.
  15. 如权利要求13或14所述的PCIE发送方法,其特征在于,所述PCIE发送装置包 括多个封装模块,且所述虚拟接口模块包括多个虚拟接口;每个虚拟接口对应于一个封装模块,且每个虚拟接口具有优先级;The PCIE sending method according to claim 13 or 14, wherein the PCIE sending device includes multiple encapsulation modules, and the virtual interface module includes multiple virtual interfaces; each virtual interface corresponds to one encapsulation module, And each virtual interface has priority;
    根据所述第二参数和所述目的地址生成满足PCIE格式的所述第三参数组,包括:Generating the third parameter group that meets the PCIE format according to the second parameter and the destination address includes:
    利用所述PCIE适配层根据所述多个虚拟接口的优先级得到对多个虚拟接口的处理顺序,按照所述处理顺序依次生成所述每个虚拟接口对应的所述第三参数组。Use the PCIE adaptation layer to obtain a processing order for multiple virtual interfaces according to the priorities of the multiple virtual interfaces, and sequentially generate the third parameter group corresponding to each virtual interface according to the processing order.
  16. 一种外围器件高速互联PCIE接收方法,其特征在于,包括:A high-speed interconnect PCIE receiving method for peripheral devices, comprising:
    利用PCIE驱动模块确定待处理的第二信息在PCIE接收装置所对应的第二存储器中的存储地址,生成满足PCIE格式的第四参数组,所述第四参数组包括所述存储地址;Using a PCIE driver module to determine a storage address of the second information to be processed in a second memory corresponding to the PCIE receiving device, and generating a fourth parameter group that meets the PCIE format, where the fourth parameter group includes the storage address;
    利用虚拟接口模块从所述PCIE驱动模块接收所述第四参数组,根据所述第四参数组生成满足预设封装格式的第五参数组;所述第五参数组包括所述存储地址;Receiving the fourth parameter group from the PCIE driver module by using a virtual interface module, and generating a fifth parameter group that satisfies a preset packaging format according to the fourth parameter group; the fifth parameter group includes the storage address;
    利用封装模块接收所述第五参数组,解析所述第五参数组以得到所述存储地址,并根据所述存储地址获取所述第二信息,按照预设的解封装规则对所述第二信息解封装后生成待处理的数据。Receiving the fifth parameter group by using an encapsulation module, parsing the fifth parameter group to obtain the storage address, and obtaining the second information according to the storage address, and performing The information is decapsulated to generate data to be processed.
  17. 如权利要求16所述的PCIE接收方法,其特征在于,所述虚拟接口模块包括虚拟接口和PCIE适配层;The PCIE receiving method according to claim 16, wherein the virtual interface module comprises a virtual interface and a PCIE adaptation layer;
    利用虚拟接口模块根据所述第二信息的存储地址生成满足封装模块识别格式的第五参数组,包括:Using a virtual interface module to generate a fifth parameter group that satisfies the identification format of the encapsulation module according to the storage address of the second information, including:
    利用所述PCIE适配层从所述PCIE驱动模块接收所述第四参数组,根据所述第四参数组确定所述存储地址对应的地址空间;确定与所述地址空间对应的所述虚拟接口;确定所述虚拟接口对应的封装模块的预设封装格式;根据所述第四参数组生成满足所述预设封装格式的第五参数组,并将所述第五参数组提供给所述虚拟接口;Receiving the fourth parameter group from the PCIE driver module by using the PCIE adaptation layer, and determining an address space corresponding to the storage address according to the fourth parameter group; determining the virtual interface corresponding to the address space Determining a preset packaging format of the packaging module corresponding to the virtual interface; generating a fifth parameter group that satisfies the preset packaging format according to the fourth parameter group, and providing the fifth parameter group to the virtual interface;
    利用所述虚拟接口,接收所述PCIE适配层提供的所述第五参数组,并向所述封装模块发送所述第五参数组。Using the virtual interface to receive the fifth parameter group provided by the PCIE adaptation layer, and send the fifth parameter group to the encapsulation module.
  18. 如权利要求17所述的PCIE接收方法,其特征在于,所述虚拟接口是虚拟网络接口适配器VNIC或虚拟串行通信端口VCOM。The PCIE receiving method according to claim 17, wherein the virtual interface is a virtual network interface adapter VNIC or a virtual serial communication port VCOM.
  19. 一种外围器件高速互联PCIE发送设备,包括处理器和第一PCIE控制器,其特征在于,所述处理器用于:A peripheral device high-speed interconnected PCIE transmission device includes a processor and a first PCIE controller. The processor is used for:
    运行封装模块按照预设的封装规则生成待发送的第一信息和满足预设封装格式的第二参数组;所述第二参数组包括所述第一信息在所述PCIE发送设备所对应的第一存储器中的存储地址;通过运行虚拟接口模块根据所述第二参数组生成满足PCIE格式的第三参数组,所述第三参数组包括所述存储地址和在PCIE接收设备所对应的第二存储器中的目的地址;通过运行PCIE驱动模块解析所述第三参数组以得到所述存储地址和所述目的地址,向所述第一PCIE控制器发送用于驱动所述第一PCIE控制器发送所述第一信息的第一指令,所述第一指令包括所述目的地址,且所述第一指令进一步包括所述第一信息或所述第一信息在所述第一存储器中的存储地址;The running encapsulation module generates first information to be sent and a second parameter group that satisfies a preset encapsulation format according to a preset encapsulation rule; the second parameter group includes a first information corresponding to the first information in the PCIE sending device. A storage address in a memory; generating a third parameter group that meets the PCIE format according to the second parameter group by running a virtual interface module, the third parameter group including the storage address and a second corresponding to the PCIE receiving device The destination address in the memory; the third parameter group is parsed by running the PCIE driver module to obtain the storage address and the destination address, and is sent to the first PCIE controller for driving the first PCIE controller to send A first instruction of the first information, the first instruction includes the destination address, and the first instruction further includes a storage address of the first information or the first information in the first memory ;
    所述第一PCIE控制器,用于接收所述第一指令,从所述第一指令获取所述第一信息,或,根据所述第一指令中所述存储地址,从所述第一存储器获取所述第一信息,向所述PCIE接收设备对应的第二PCIE控制器发送所述第一信息。The first PCIE controller is configured to receive the first instruction, obtain the first information from the first instruction, or, from the first memory, according to the storage address in the first instruction Acquiring the first information, and sending the first information to a second PCIE controller corresponding to the PCIE receiving device.
  20. 如权利要求19所述的PCIE发送设备,其特征在于,所述PCIE发送设备为根复合体,所述处理器还用于:运行PCIE驱动模块根据所述目的地址,生成中断消息并发送 给所述第一PCIE控制器;The PCIE transmission device according to claim 19, wherein the PCIE transmission device is a root complex, and the processor is further configured to: run a PCIE driver module to generate an interrupt message according to the destination address and send the interrupt message to all The first PCIE controller;
    所述第一PCIE控制器,还用于向所述第二PCIE控制器发送所述中断消息。The first PCIE controller is further configured to send the interrupt message to the second PCIE controller.
  21. 一种外围器件高速互联PCIE接收设备,其特征在于,包括处理器和第二PCIE控制器;A peripheral device high-speed interconnected PCIE receiving device, comprising a processor and a second PCIE controller;
    所述第二PCIE控制器,用于接收PCIE发送设备对应的第一PCIE控制器发送的第二信息,并根据所述第二信息对应的目的地址将所述第二信息存入所述PCIE接收设备对应的第二存储器;The second PCIE controller is configured to receive second information sent by the first PCIE controller corresponding to the PCIE sending device, and store the second information into the PCIE reception according to a destination address corresponding to the second information. A second memory corresponding to the device;
    所述处理器,用于运行PCIE驱动模块确定所述第二信息在所述第二存储器中的存储地址,生成满足PCIE格式的第四参数组,所述第四参数组包括所述存储地址;运行虚拟接口模块从所述PCIE驱动模块接收所述第四参数组,根据所述第四参数组生成满足预设封装格式的第五参数组;所述第五参数组包括所述存储地址;运行封装模块接收所述第五参数组,解析所述第五参数组以得到所述存储地址,并根据所述存储地址获取所述第二信息,按照预设的解封装规则对所述第二信息解封装后生成待处理的数据。The processor is configured to run a PCIE driver module to determine a storage address of the second information in the second memory, and generate a fourth parameter group satisfying the PCIE format, where the fourth parameter group includes the storage address; The running virtual interface module receives the fourth parameter group from the PCIE driver module, and generates a fifth parameter group that satisfies a preset package format according to the fourth parameter group; the fifth parameter group includes the storage address; The encapsulation module receives the fifth parameter group, parses the fifth parameter group to obtain the storage address, and obtains the second information according to the storage address, and performs a second decapsulation rule on the second information. After decapsulation, data to be processed is generated.
  22. 如权利要求21所述的PCIE接收设备,其特征在于,所述PCIE接收设备为端点,所述PCIE接收设备还包括分别与所述第二PCIE控制器和所述处理器连接的中断寄存器;The PCIE receiving device according to claim 21, wherein the PCIE receiving device is an endpoint, and the PCIE receiving device further comprises interrupt registers respectively connected to the second PCIE controller and the processor;
    所述第二PCIE控制器,还用于接收所述第一PCIE控制器发送的中断消息,并将所述中断消息存入所述中断寄存器;The second PCIE controller is further configured to receive an interrupt message sent by the first PCIE controller, and store the interrupt message in the interrupt register;
    所述中断寄存器,用于缓存所述中断消息,并向所述处理器发送第一触发信号;The interrupt register is used to buffer the interrupt message and send a first trigger signal to the processor;
    所述处理器,还用于在接收所述第一触发信号之后,根据所述中断寄存器中的所述中断消息,确定所述第二存储器中用于存储所述第二信息的存储地址。The processor is further configured to determine, after receiving the first trigger signal, a storage address in the second memory for storing the second information according to the interrupt message in the interrupt register.
  23. 一种外围器件高速互联PCIE系统,其特征在于,包括如权利要求19或权利要求20所述的PCIE发送设备,和/或,如权利要求21或权利要求22所述的PCIE接收设备。A peripheral device high-speed interconnected PCIE system, comprising a PCIE transmitting device according to claim 19 or claim 20, and / or a PCIE receiving device according to claim 21 or claim 22.
PCT/CN2018/093927 2018-06-30 2018-06-30 Pcie sending and receiving method, apparatus, device and system WO2020000489A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201880087858.2A CN111656336B (en) 2018-06-30 2018-06-30 PCIE sending and receiving method, device, equipment and system
PCT/CN2018/093927 WO2020000489A1 (en) 2018-06-30 2018-06-30 Pcie sending and receiving method, apparatus, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/093927 WO2020000489A1 (en) 2018-06-30 2018-06-30 Pcie sending and receiving method, apparatus, device and system

Publications (1)

Publication Number Publication Date
WO2020000489A1 true WO2020000489A1 (en) 2020-01-02

Family

ID=68985846

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/093927 WO2020000489A1 (en) 2018-06-30 2018-06-30 Pcie sending and receiving method, apparatus, device and system

Country Status (2)

Country Link
CN (1) CN111656336B (en)
WO (1) WO2020000489A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111615150A (en) * 2020-05-13 2020-09-01 深圳市广和通无线股份有限公司 5G data transmission method, device, equipment and storage medium based on PCIe interface
CN114116544A (en) * 2020-08-31 2022-03-01 北京达佳互联信息技术有限公司 Method, device and equipment for acquiring slot information and storage medium
CN114416630A (en) * 2021-12-24 2022-04-29 深圳市广和通无线通信软件有限公司 Communication method and device based on PCIE, computer equipment and readable storage medium
CN114443537A (en) * 2022-01-28 2022-05-06 浪潮(山东)计算机科技有限公司 Method, device, equipment and medium for configuring parameters of PCIE signal sending terminal
CN114817115A (en) * 2022-05-20 2022-07-29 深圳市广和通无线通信软件有限公司 Serial port communication method and related device
WO2023015551A1 (en) * 2021-08-13 2023-02-16 深圳市大疆创新科技有限公司 Communication method and apparatus, and electronic device
WO2023016059A1 (en) * 2021-08-09 2023-02-16 哲库科技(上海)有限公司 Data transmission control method and related apparatus
US11604742B2 (en) * 2019-06-25 2023-03-14 Huawei Technologies Co., Ltd. Independent central processing unit (CPU) networking using an intermediate device

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112835837B (en) * 2021-02-04 2023-06-23 北京百度网讯科技有限公司 Method for establishing data connection, related device and computer program product
CN116150054B (en) * 2023-02-24 2023-09-05 广州万协通信息技术有限公司 Interrupt information processing method based on PCIE
CN116743587B (en) * 2023-08-11 2024-01-26 太初(无锡)电子科技有限公司 Virtual network interface implementation method and device based on heterogeneous computing accelerator card

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101065741A (en) * 2004-11-23 2007-10-31 摩托罗拉公司 Method of transporting a pci express packet over an ip packet network
CN103312720A (en) * 2013-07-01 2013-09-18 华为技术有限公司 Data transmission method, equipment and system
US20140195711A1 (en) * 2013-01-04 2014-07-10 American Megatrends, Inc. Pci express channel implementation in intelligent platform management interface stack
CN107453999A (en) * 2016-05-31 2017-12-08 新华三技术有限公司 A kind of network equipment and network message retransmission method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101150527B (en) * 2007-11-09 2010-09-01 杭州华三通信技术有限公司 A PCIE data transmission method, system and device
US8739179B2 (en) * 2008-06-30 2014-05-27 Oracle America Inc. Method and system for low-overhead data transfer
CN102103471B (en) * 2011-02-23 2012-11-14 浪潮(北京)电子信息产业有限公司 Data transmission method and system
TW201423422A (en) * 2012-12-07 2014-06-16 Hon Hai Prec Ind Co Ltd System and method for sharing device having PCIe interface
CN103873374B (en) * 2014-03-27 2017-08-11 新华三技术有限公司 Message processing method and device in virtualization system
US9792138B2 (en) * 2015-02-18 2017-10-17 Red Hat Israel, Ltd. Virtual machine migration to hyper visors with virtual function capability
US10333865B2 (en) * 2015-08-21 2019-06-25 Cisco Technology, Inc. Transformation of peripheral component interconnect express compliant virtual devices in a network environment
CN206209478U (en) * 2016-10-09 2017-05-31 广州微分电子科技有限公司 A kind of server master board that externally can be interconnected at a high speed

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101065741A (en) * 2004-11-23 2007-10-31 摩托罗拉公司 Method of transporting a pci express packet over an ip packet network
US20140195711A1 (en) * 2013-01-04 2014-07-10 American Megatrends, Inc. Pci express channel implementation in intelligent platform management interface stack
CN103312720A (en) * 2013-07-01 2013-09-18 华为技术有限公司 Data transmission method, equipment and system
CN107453999A (en) * 2016-05-31 2017-12-08 新华三技术有限公司 A kind of network equipment and network message retransmission method

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11604742B2 (en) * 2019-06-25 2023-03-14 Huawei Technologies Co., Ltd. Independent central processing unit (CPU) networking using an intermediate device
CN111615150A (en) * 2020-05-13 2020-09-01 深圳市广和通无线股份有限公司 5G data transmission method, device, equipment and storage medium based on PCIe interface
CN111615150B (en) * 2020-05-13 2023-09-08 深圳市广和通无线股份有限公司 5G data transmission method, device, equipment and storage medium based on PCIe interface
CN114116544A (en) * 2020-08-31 2022-03-01 北京达佳互联信息技术有限公司 Method, device and equipment for acquiring slot information and storage medium
WO2023016059A1 (en) * 2021-08-09 2023-02-16 哲库科技(上海)有限公司 Data transmission control method and related apparatus
WO2023015551A1 (en) * 2021-08-13 2023-02-16 深圳市大疆创新科技有限公司 Communication method and apparatus, and electronic device
CN114416630A (en) * 2021-12-24 2022-04-29 深圳市广和通无线通信软件有限公司 Communication method and device based on PCIE, computer equipment and readable storage medium
WO2023115852A1 (en) * 2021-12-24 2023-06-29 深圳市广和通无线通信软件有限公司 Pcie-based communication method and apparatus, and computer device and readable storage medium
CN114443537A (en) * 2022-01-28 2022-05-06 浪潮(山东)计算机科技有限公司 Method, device, equipment and medium for configuring parameters of PCIE signal sending terminal
CN114443537B (en) * 2022-01-28 2023-12-19 浪潮(山东)计算机科技有限公司 PCIE signal transmitting end parameter configuration method, device, equipment and medium
CN114817115A (en) * 2022-05-20 2022-07-29 深圳市广和通无线通信软件有限公司 Serial port communication method and related device

Also Published As

Publication number Publication date
CN111656336B (en) 2022-01-14
CN111656336A (en) 2020-09-11

Similar Documents

Publication Publication Date Title
WO2020000489A1 (en) Pcie sending and receiving method, apparatus, device and system
US10986171B2 (en) Method for unified communication of server, baseboard management controller, and server
EP3942759A1 (en) System and method for facilitating efficient management of idempotent operations in a network interface controller (nic)
US10341230B2 (en) Techniques for forwarding or receiving data segments associated with a large data packet
US8649387B2 (en) Method and system for fibre channel and ethernet interworking
US10841230B1 (en) Intelligent controller and sensor network bus, system and method
US11089140B2 (en) Intelligent controller and sensor network bus, system and method including generic encapsulation mode
US11269316B2 (en) Intelligent controller and sensor network bus, system and method including smart compliant actuator module
CN109412922B (en) Method, forwarding device, controller and system for transmitting message
WO2019134383A1 (en) Method for controlling network congestion, access device, and computer readable storage medium
WO2016191990A1 (en) Packet conversion method and device
AU2016202660B2 (en) Techniques for forwarding or receiving data segments associated with a large data packet
TWI535251B (en) Method and system for low-latency networking
WO2020073907A1 (en) Method and apparatus for updating forwarding entry
TWI411264B (en) Non-block network system and packet arbitration method thereof
CN113347017A (en) Network communication method and device, network node equipment and hybrid network
CN102907046B (en) For the treatment of the method for message
US8583822B2 (en) Method and system for minimum frame size support for a communication protocol encapsulated over Ethernet
WO2021055205A1 (en) Intelligent controller and sensor network bus, system and method including generic encapsulation mode
WO2012126352A1 (en) Method, device and system for transmitting messages on pcie bus
WO2021076333A1 (en) Intelligent controller and sensor network bus, system and method including smart compliant actuator module
CN109522256A (en) A kind of serial port communication method, the network equipment, control equipment and storage medium
TW202009722A (en) USB transmission system, USB device and host capable of USB transmission
WO2023231264A1 (en) Ethernet device with high transmission efficiency
CN112988633A (en) Electronic equipment and data transmission method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18924337

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18924337

Country of ref document: EP

Kind code of ref document: A1