CN115174409A - Network connection method and system based on CXL protocol - Google Patents

Network connection method and system based on CXL protocol Download PDF

Info

Publication number
CN115174409A
CN115174409A CN202210760854.4A CN202210760854A CN115174409A CN 115174409 A CN115174409 A CN 115174409A CN 202210760854 A CN202210760854 A CN 202210760854A CN 115174409 A CN115174409 A CN 115174409A
Authority
CN
China
Prior art keywords
network
data
cxl
host
network card
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210760854.4A
Other languages
Chinese (zh)
Inventor
李晓霖
郝沁汾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Core Optical Smart Network Integrated Circuit Design Wuxi Co ltd
Wuxi Core Optical Interconnect Technology Research Institute Co ltd
Original Assignee
Wuxi Core Optical Interconnect Technology Research Institute Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuxi Core Optical Interconnect Technology Research Institute Co ltd filed Critical Wuxi Core Optical Interconnect Technology Research Institute Co ltd
Priority to CN202210760854.4A priority Critical patent/CN115174409A/en
Publication of CN115174409A publication Critical patent/CN115174409A/en
Priority to PCT/CN2023/103035 priority patent/WO2024002123A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Abstract

The invention relates to the technical field of network communication, and provides a network connection method and a system based on a CXL protocol, which comprises the following steps: a host end CXL _ IP module is arranged in the host, and a network card end CXL _ IP module and a network card memory are arranged in the network card; the CXL _ IP module at the host end is connected with the CXL _ IP module at the network card end through a CXL protocol, and the CXL _ IP module at the network card end is connected with a memory of the network card; sending host end data to a network card end CXL _ IP module through the host end CXL _ IP module; storing the host data into the network card memory, reading the host data in the network card memory and sending the host data to the network; and receiving and storing the network data into a network card memory, and sending the network data in the network card memory to a host computer end CXL _ IP module through a network card end CXL _ IP module so as to send the network data to the host computer. The invention solves the problem of overhigh memory bandwidth occupied by the prior art and has the characteristic of remarkable effect.

Description

Network connection method and system based on CXL protocol
Technical Field
The present invention relates to the field of network communication technologies, and in particular, to a network connection method and system based on a CXL protocol.
Background
The network card is a network component working on a second layer link layer, is an interface for connecting a computer and a transmission medium in a local area network, not only can realize physical connection and electric signal matching with the transmission medium of the local area network, but also relates to functions of frame sending and receiving, frame packaging and unpacking, medium access control, data encoding and decoding, data caching and the like.
Currently, common types of network card bus interfaces are PCIE and USB. Taking a network card based on a PCIE interface as an example, a flow of receiving a network packet is as follows:
the network card obtains network data from the network through the transceiver and restores the network data into data according to the functions of the network card. For example, the conventional network card frames the network data received by the physical layer, and after checking the data without errors, the ethernet frame header is removed to obtain the final data packet.
The network card copies the received data packet to the host side memory through a PCIE DMA mechanism.
The network card triggers PCIE interruption to inform the operating system that the data packet is received.
And the interrupt service function of the operating system reads the data packet from the memory and calls the corresponding protocol stack to process according to the interrupt number, and finally copies the data to the user program space.
The transmission process is then reversed:
and processing the data to be sent by the user program through the corresponding protocol stack, and storing the obtained data packet in the memory of the host side.
The host informs the network card of sending information of the data packet through the PCIE interface, such as a host side memory address, a length and the like.
The network card fetches and transmits the data packet from the corresponding host side memory through a PCIE DMA mechanism.
The network card converts the transmission data into network data of a physical layer through the self function and transmits the network data to the network. For example, the traditional network card adds an ethernet header to the head of a transmission data packet and adds an FCS check to the tail of the transmission data packet, and encapsulates the transmission data packet into a network packet, and finally converts the network packet into network data to be transmitted to a network.
In the flow of sending data or receiving data, the network card occupies a certain memory bandwidth, however, the memory bandwidth is only occupied by the network card in a smaller proportion due to the lower network bandwidth.
With the development of network technology, network bandwidth has moved towards 400Gbps ethernet gateway in 2020 and is moving towards faster 800Gbps, even 1.6 Tbps. At this time, the storage technology is slowly developed, and the problem of the memory wall is still not solved. Therefore, the difference between the network bandwidth and the memory bandwidth is increasing, resulting in that the network card needs to occupy more memory bandwidth. In this case, the memory bandwidth available to the user program running on the host is reduced, further exacerbating the memory wall problem.
The prior art has a PCIE real-time network card based on an FPGA module, which includes: the ZYNQ module comprises an FPGA chip; the PHY chip is connected with the ZYNQ module, performs data interaction with the ZYNQ module through an MII interface and/or an RMII interface, and is connected with an external interface; and the PCIE bus is connected with the ZYNQ module and used for transmitting the received data to the ZYNQ module for processing. The ZYNQ module comprises an FPGA chip with an ARM core; the FPGA chip is connected with a host memory through the PCIE bus, and the FPGA chip and the host memory perform data interaction through the PCIE bus.
However, in the prior art, the problem that the memory bandwidth occupied by data transmission through a network is too high exists, and therefore how to invent a novel network connection method with low memory bandwidth occupied is a problem to be solved urgently in the technical field.
Disclosure of Invention
The invention provides a network connection method and a network connection system based on a CXL (extensible markup language) protocol, which aim to solve the problem of overhigh memory bandwidth occupied by the prior art and have the characteristic of remarkable effect.
In order to achieve the purpose of the invention, the technical scheme is as follows:
a network connection method based on CXL protocol comprises the following steps: a host end CXL _ IP module is arranged in the host, and a network card end CXL _ IP module and a network card memory are arranged in the network card; the CXL _ IP module of the host end is connected with the CXL _ IP module of the network card end through a CXL protocol, and the CXL _ IP module of the network card end is connected with a memory of the network card;
sending host end data to a network card end CXL _ IP module through the host end CXL _ IP module; storing the host data into the network card memory, reading the host data in the network card memory and sending the host data to the network;
and receiving and storing the network data into a network card memory, and sending the network data in the network card memory to a host computer end CXL _ IP module through a network card end CXL _ IP module so as to send the network data to the host computer.
In the scheme, the CXL _ IP module of the host side is arranged in the host, and the CXL _ IP module of the network card side is arranged in the network card, so that network data transmission based on the CXL protocol is realized, and the occupancy rate of the network card to the memory bandwidth of the host side is reduced; therefore, the invention solves the problem of overhigh memory bandwidth occupied by the prior art and has the characteristic of remarkable effect.
Preferably, a network based on a PCIE protocol is further reconstructed to obtain a network application programming interface based on a CXL protocol, and the interface of the network application is referred to as a network API; and the CXL _ IP module at the host end and the CXL _ IP module at the network card end both use a network API based on a CXL protocol to carry out data transmission.
Further, sending host end data to a network card end CXL _ IP module through the host end CXL _ IP module; storing the host data into the network card memory, reading the host data in the network card memory and sending the host data to the network, wherein the specific flow is as follows:
s101, sending data of a host computer to a network card memory through a network API based on a CXL protocol; the host data comprises data to be sent and control information thereof;
s102, a host inputs a command for sending data into a network card through a network API based on a CXL protocol;
s103, the network card reads data to be sent and control information thereof in the memory of the network card according to a data sending command, and converts the read data to be sent into a corresponding data packet according to the control information;
and S104, converting the data packet into network data by the network card and uploading the network data to the network.
Further, receiving and storing the network data into a network card memory, and sending the network data in the network card memory to a host-side CXL _ IP module through a network card-side CXL _ IP module, so as to send the network data to the host, wherein the specific process is as follows:
s201, downloading network data from a network through a network card, and converting the network data into a data packet;
s202, the network card unpacks the data packet to obtain a data load, and the data load is stored in a network card memory;
s203, the host queries whether the network card receives a data packet or not through a network API based on a CXL protocol;
s204, the network card judges whether the network card memory receives data, if so, the network card informs the host computer of receiving the data packet through a network API based on the CXL protocol, and step S205 is executed; if not, go back to step S201 to receive the network decoupling data again;
s205, the host reads data from a network card memory through a network API based on a CXL protocol, and receives a data load sent from the network card.
Furthermore, the network data is binary stream data.
Further, in step S203, if the host uses the interrupt mechanism, the following steps are adopted to receive the data payload:
A1. the network card triggers the host to interrupt without being inquired by the host, obtains an interrupt number, and informs the host of receiving a data packet through a network API based on a CXL protocol;
A2. and the host reads data from the network card memory through a network API based on the CXL protocol according to the interrupt number and receives the data load sent from the network card.
A network connection system based on CXL protocol comprises a host and a network card;
the host comprises a CXL _ IP module used for receiving and transmitting data;
the network card comprises a network card end CXL _ IP module for receiving and transmitting data and a network card memory for storing host end data and network data;
the CXL _ IP module at the host end and the CXL _ IP module at the network card end are connected through a CXL protocol; the CXL _ IP module at the network card end is connected with the network card memory; sending host end data to a network card end CXL _ IP module through the host end CXL _ IP module; storing the host data into the network card memory, reading the host data in the network card memory and sending the host data to the network; and receiving and storing the network data into a network card memory, and sending the network data in the network card memory to a host computer end CXL _ IP module through the network card end CXL _ IP module so as to send the network data to the host computer.
Preferably, the network card further comprises a network offload unit for encapsulating the data packet into network data and decapsulating the network data into a data payload, and a transceiver for receiving and transmitting the network data; the network card end CXL _ IP module, the network card memory, the network unloading unit and the transceiver are sequentially connected;
the network card end CXL _ IP module receives host end data from the host end CXL _ IP module, wherein the host end data comprises data to be sent and control information thereof, and the data to be sent and the control information thereof are stored in a network card memory; after the network card end CXL-IP module receives a data sending command, the network card memory is read by the network unloading unit, the data to be sent in the network card memory is converted into a data packet according to the control information of the data to be sent, the data packet is finally converted into network data, and the network data is uploaded to a network through the transceiver;
after the transceiver downloads the network data from the network, the network unloading unit converts the network data into a data packet, unpacks the data packet to obtain a data load, and stores the data load in a network card memory; and after the CXL _ IP module of the network card end informs the host that the network data is received, reading the data load in the memory of the network card and sending the data load to the CXL _ IP module of the host.
Furthermore, the host also comprises a host memory module for storing data and a CPU for controlling the sending and receiving of the data; the host memory module, the CPU and the host end CXL _ IP module are sequentially connected;
when sending host end data to a network, a CPU controls a host memory module to send the host end data to a network card through a host end CXL _ IP module, and sends a data sending command to the network card through the host end CXL _ IP module;
when receiving network data from a network, the CPU inquires or receives the network data storage condition of the network card through the CXL _ IP module of the host computer, receives the data load of the network data according to the data storage condition and stores the data load in the memory module of the host computer.
Furthermore, the network card is a network card without an operating system, and the memory of the network card is a DRAM memory.
The invention has the following beneficial effects:
the invention realizes the network data transmission based on the CXL protocol by arranging the host end CXL _ IP module in the host and arranging the network card end CXL _ IP module in the network card, reduces the occupancy rate of the network card to the host side memory bandwidth, and simultaneously stores the sent and received data packets in the memory on the network card by arranging the network card memory, further reduces the occupancy rate of the network card to the host side memory bandwidth; therefore, the invention solves the problem of overhigh memory bandwidth occupied by the prior art and has the characteristic of remarkable effect.
Drawings
Fig. 1 is a flow chart illustrating a network connection method employed in the present invention.
Fig. 2 is a schematic diagram of a network connection system employed by the present invention.
Fig. 3 is a schematic diagram of data transmission according to the present invention in embodiment 4.
Detailed Description
The invention is described in detail below with reference to the drawings and the detailed description.
Example 1
As shown in fig. 1, a network connection method based on a CXL protocol includes: a host end CXL _ IP module is arranged in the host, and a network card end CXL _ IP module and a network card memory are arranged in the network card; the CXL _ IP module at the host end is connected with the CXL _ IP module at the network card end through a CXL protocol, and the CXL _ IP module at the network card end is connected with a memory of the network card;
in this embodiment, because the CXL protocol is compatible with the PCIE protocol, the network card end CXL _ IP module is connected to the network card end CXL _ IP module by directly inserting the PCIE slot.
Sending host end data to a network card end CXL _ IP module through the host end CXL _ IP module; storing the host data into the network card memory, reading the host data in the network card memory and sending the host data to the network;
and receiving and storing the network data into a network card memory, and sending the network data in the network card memory to a host computer end CXL _ IP module through the network card end CXL _ IP module so as to send the network data to the host computer.
In a specific embodiment, a network based on a PCIE protocol is further reconstructed to obtain a network application programming interface based on a CXL protocol, and the interface of the network application is referred to as a network API; and the CXL _ IP module at the host end and the CXL _ IP module at the network card end both use a network API based on a CXL protocol to carry out data transmission.
In this embodiment, CXL is fully known as computer Express Link, and is an open industry standard for high-bandwidth low-latency device interconnect. It can be used to connect the CPU with the Accelerator, memory Buffer and Smart NIC type devices. The method is used for scenes such as AI Machine Learning, high-performance calculation and the like.
The CXL _ IP module used in this embodiment may use a CXL _ IP core provided by intel or plda.
Example 2
As shown in fig. 1, a network connection method based on a CXL protocol includes: a host end CXL _ IP module is arranged in the host, and a network card end CXL _ IP module and a network card memory are arranged in the network card; the CXL _ IP module at the host end is connected with the CXL _ IP module at the network card end through a CXL protocol, and the CXL _ IP module at the network card end is connected with a memory of the network card;
sending host end data to a network card end CXL _ IP module through the host end CXL _ IP module; storing the host data into the network card memory, reading the host data in the network card memory and sending the host data to the network;
and receiving and storing the network data into a network card memory, and sending the network data in the network card memory to a host computer end CXL _ IP module through a network card end CXL _ IP module so as to send the network data to the host computer.
In a specific embodiment, a network based on a PCIE protocol is further reconstructed to obtain a network application programming interface based on a CXL protocol, and the interface of the network application is referred to as a network API; and the CXL _ IP module at the host end and the CXL _ IP module at the network card end both use a network API based on a CXL protocol to carry out data transmission.
In a specific embodiment, sending host end data to a network card end CXL _ IP module through a host end CXL _ IP module; storing the host data into the network card memory, reading the host data in the network card memory and sending the host data to the network, wherein the specific flow is as follows:
s101, sending data of a host computer to a network card memory through a network API based on a CXL protocol; the host data comprises data to be sent and control information thereof;
s102, a host inputs a command for sending data into a network card through a network API based on a CXL protocol;
s103, the network card reads data to be sent and control information thereof in the memory of the network card according to a data sending command, and converts the read data to be sent into a corresponding data packet according to the control information;
and S104, the network card converts the data packet into network data and uploads the network data to a network.
Example 3
As shown in fig. 1, a network connection method based on a CXL protocol includes: a host end CXL _ IP module is arranged in the host, and a network card end CXL _ IP module and a network card memory are arranged in the network card; the CXL _ IP module at the host end is connected with the CXL _ IP module at the network card end through a CXL protocol, and the CXL _ IP module at the network card end is connected with a memory of the network card;
sending host end data to a network card end CXL _ IP module through the host end CXL _ IP module; storing the host data into the network card memory, reading the host data in the network card memory and sending the host data to the network;
and receiving and storing the network data into a network card memory, and sending the network data in the network card memory to a host computer end CXL _ IP module through a network card end CXL _ IP module so as to send the network data to the host computer.
In a specific embodiment, a network based on a PCIE protocol is further reconstructed to obtain a network application programming interface based on a CXL protocol, and the interface of the network application is referred to as a network API; and the CXL _ IP module at the host end and the CXL _ IP module at the network card end both use a network API based on a CXL protocol to carry out data transmission.
In a specific embodiment, sending host end data to a network card end CXL _ IP module through a host end CXL _ IP module; storing the host data into the network card memory, reading the host data in the network card memory and sending the host data to the network, wherein the specific flow is as follows:
s101, sending data of a host computer to a network card memory through a network API based on a CXL protocol; the host data comprises data to be sent and control information thereof;
s102, a host inputs a command for sending data into a network card through a network API based on a CXL protocol;
s103, the network card reads the data and the control information of the host according to the data sending command, and converts the read data to be sent into a corresponding data packet according to the control information;
and S104, converting the data packet into network data by the network card and uploading the network data to the network.
In a specific embodiment, the network data is received and stored in the network card memory, and the network data in the network card memory is sent to the host-side CXL _ IP module through the network card-side CXL _ IP module, so that the network data is sent to the host, and the specific process is as follows:
s201, downloading network data from a network through a network card, and converting the network data into a data packet;
s202, the network card unpacks the data packet to obtain a data load, and the data load is stored in a network card memory;
s203, the host queries whether the network card receives a data packet or not through a network API based on a CXL protocol;
s204, the network card judges whether the network card memory receives data, if so, the network card informs the host computer of receiving the data packet through a network API based on the CXL protocol, and step S205 is executed; if not, go back to step S201 to re-receive the network decoupling data;
s205, the host reads data from a network card memory through a network API based on a CXL protocol, and receives a data load sent from the network card.
In a specific embodiment, the network data is binary stream data.
Example 4
As shown in fig. 1, a network connection method based on a CXL protocol includes: a host end CXL _ IP module is arranged in the host, and a network card end CXL _ IP module and a network card memory are arranged in the network card; the CXL _ IP module at the host end is connected with the CXL _ IP module at the network card end through a CXL protocol, and the CXL _ IP module at the network card end is connected with a memory of the network card;
sending host end data to a network card end CXL _ IP module through the host end CXL _ IP module; storing the host data into the network card memory, reading the host data in the network card memory and sending the host data to the network;
and receiving and storing the network data into a network card memory, and sending the network data in the network card memory to a host computer end CXL _ IP module through a network card end CXL _ IP module so as to send the network data to the host computer.
In a specific embodiment, a network based on a PCIE protocol is further reconstructed to obtain a network application programming interface based on a CXL protocol, and the interface of the network application is referred to as a network API; and the CXL _ IP module at the host end and the CXL _ IP module at the network card end both use a network API based on a CXL protocol to carry out data transmission.
In a specific embodiment, sending host end data to a network card end CXL _ IP module through a host end CXL _ IP module; storing the host data into the network card memory, reading the host data in the network card memory and sending the host data to the network, wherein the specific flow is as follows:
s101, sending data of a host computer to a network card memory through a network API based on a CXL protocol; the host data comprises data to be sent and control information thereof;
s102, a host inputs a command for sending data into a network card through a network API based on a CXL protocol;
s103, the network card reads the data of the host and the control information thereof according to the data sending command, and converts the read data to be sent into a corresponding data packet according to the control information thereof;
and S104, converting the data packet into network data by the network card and uploading the network data to the network.
In a specific embodiment, the network data is received and stored in the network card memory, and the network data in the network card memory is sent to the host-side CXL _ IP module through the network card-side CXL _ IP module, so that the network data is sent to the host, and the specific process is as follows:
s201, downloading network data from a network through a network card, and converting the network data into a data packet;
s202, the network card unpacks the data packet to obtain a data load, and the data load is stored in a network card memory;
s203, the host inquires whether the network card receives a data packet or not through a network API based on a CXL protocol;
s204, the network card judges whether the network card memory receives data, if so, the network card informs the host computer of receiving the data packet through a network API based on the CXL protocol, and step S205 is executed; if not, go back to step S201 to re-receive the network decoupling data;
s205, the host reads data from a network card memory through a network API based on a CXL protocol, and receives a data load sent from the network card.
In a specific embodiment, the network data is binary stream data.
In this embodiment, an interrupt request signal may be sent to the processor when the external device is ready to receive more data. This is where the processor responds by suspending processing of the current program, and moving to processing of the program servicing the particular I/O device, this program being referred to as an interrupt handler. After the service response to the device is complete, the processor resumes the original execution.
In one embodiment, in step S203, if the host uses the interrupt mechanism, the following steps are adopted to receive the data payload:
A1. the network card triggers the host to interrupt without being inquired by the host, obtains an interrupt number, and informs the host of receiving a data packet through a network API based on a CXL protocol;
A2. and the host reads data from the network card memory through a network API based on the CXL protocol according to the interrupt number and receives the data load sent from the network card.
In this embodiment, the CXL protocol includes three sub-protocols: cxl.io, cxl.cache, cxl.memory, wherein cxl.io is an IO type, similar to conventional PCIe; the cache allows the device to access the main memory and the cache; memory allows the CPU to access the memory of the device.
As shown in fig. 3, in this embodiment, an operating system controls data packets to be transmitted between the CXL _ IP of the host side and the CXL _ IP of the network card side through the CXL _ IP-based network API; when interruption processing is not performed, the host and the network card perform data transmission in the network card memory and the host memory through the network API by transmitting CXL.memory; when the interrupt processing is carried out, the network card reports the data condition by actively sending CXL.io to the host, and then data transmission is carried out in the network card memory and the host memory through the network API; the data packet is accessed in the network card memory through the CXL _ IP modules of the host terminal and the network card terminal; the network card memory transmits data to the transceiver through the network unloading unit by the RDMA protocol.
The invention realizes the network data transmission based on the CXL protocol by arranging the host end CXL _ IP module in the host and arranging the network card end CXL _ IP module in the network card, reduces the occupancy rate of the network card to the host side memory bandwidth, and simultaneously stores the sent and received data packets in the memory on the network card by arranging the network card memory, further reduces the occupancy rate of the network card to the host side memory bandwidth; therefore, the invention solves the problem of overhigh memory bandwidth occupied by the prior art and has the characteristic of remarkable effect.
Example 5
As shown in fig. 2, a CXL protocol-based network connection system includes a host and a network card;
the host comprises a CXL _ IP module used for receiving and transmitting data;
the network card comprises a network card end CXL _ IP module for receiving and transmitting data and a network card memory for storing host end data and network data;
the CXL _ IP module at the host end and the CXL _ IP module at the network card end are connected through a CXL protocol; the CXL _ IP module at the network card end is connected with the network card memory; sending host end data to a network card end CXL _ IP module through the host end CXL _ IP module; storing the host data into the network card memory, reading the host data in the network card memory and sending the host data to the network; and receiving and storing the network data into a network card memory, and sending the network data in the network card memory to a host computer end CXL _ IP module through a network card end CXL _ IP module so as to send the network data to the host computer.
In a specific embodiment, the network card further includes a network offload unit for encapsulating the data packet into network data and decapsulating the network data into a data payload, and a transceiver for receiving and transmitting the network data; the network card end CXL _ IP module, the network card memory, the network unloading unit and the transceiver are sequentially connected;
the network card end CXL _ IP module receives host end data from the host end CXL _ IP module, wherein the host end data comprises data to be sent and control information thereof, and the data to be sent and the control information thereof are stored in a network card memory; after the network card end CXL _ IP module receives a data sending command, a network card memory is read by a network unloading unit, data to be sent in the network card memory is converted into a data packet according to control information of the data to be sent, the data packet is finally converted into network data, and the network data is uploaded to a network through a transceiver;
after the transceiver downloads the network data from the network, the network unloading unit converts the network data into a data packet, unpacks the data packet to obtain a data load, and stores the data load in a network card memory; and the CXL _ IP module of the network card end informs the host that the network data is received, reads the data load in the memory of the network card and sends the data load to the CXL _ IP module of the host.
In a specific embodiment, the host further includes a host memory module for storing data and a CPU for controlling transmission and reception of data; the host memory module, the CPU and the host end CXL _ IP module are sequentially connected;
when sending host end data to a network, a CPU controls a host memory module to send the host end data to a network card through a host end CXL _ IP module, and sends a data sending command to the network card through the host end CXL _ IP module;
when receiving network data from a network, the CPU inquires or receives the network data storage condition of the network card through the CXL _ IP module of the host computer, receives the data load of the network data according to the data storage condition and stores the data load in the memory module of the host computer.
In one embodiment, the network card is a non-operating system network card, and the network card memory is a DRAM memory.
It should be understood that the above-described embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not intended to limit the embodiments of the present invention. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention should be included in the protection scope of the claims of the present invention.

Claims (10)

1. A network connection method based on CXL protocol is characterized in that: the method comprises the following steps: a host end CXL _ IP module is arranged in the host, and a network card end CXL _ IP module and a network card memory are arranged in the network card; the CXL _ IP module at the host end is connected with the CXL _ IP module at the network card end through a CXL protocol, and the CXL _ IP module at the network card end is connected with a memory of the network card;
sending host end data to a network card end CXL _ IP module through the host end CXL _ IP module; storing the host data into the network card memory, reading the host data in the network card memory and sending the host data to the network;
and receiving and storing the network data into a network card memory, and sending the network data in the network card memory to a host computer end CXL _ IP module through a network card end CXL _ IP module so as to send the network data to the host computer.
2. The CXL protocol-based network connection method of claim 1, wherein: a network based on a PCIE protocol is reconstructed to obtain a network application program programming interface based on a CXL protocol, and the interface of the network application program is called as a network API; and the CXL _ IP module at the host end and the CXL _ IP module at the network card end both use a network API based on a CXL protocol to carry out data transmission.
3. The CXL protocol-based network connection method of claim 2, wherein: sending the data of the host computer to a CXL _ IP module of a network card end through the CXL _ IP module of the host computer; storing the host data into the network card memory, reading the host data in the network card memory and sending the host data to the network, wherein the specific flow is as follows:
s101, sending data of a host computer to a network card memory through a network API based on a CXL protocol; the host data comprises data to be sent and control information thereof;
s102, the host inputs a command for sending data into a network card through a network API based on a CXL protocol;
s103, the network card reads data to be sent and control information thereof in the memory of the network card according to a data sending command, and converts the read data to be sent into a corresponding data packet according to the control information;
and S104, converting the data packet into network data by the network card and uploading the network data to the network.
4. The CXL protocol-based network connection method of claim 2, wherein: receiving and storing the network data into a network card memory, and sending the network data in the network card memory to a host computer end CXL _ IP module through a network card end CXL _ IP module so as to send the network data to the host computer, wherein the specific flow is as follows:
s201, downloading network data from a network through a network card, and converting the network data into a data packet;
s202, the network card unpacks the data packet to obtain a data load, and the data load is stored in a network card memory;
s203, the host inquires whether the network card receives a data packet or not through a network API based on a CXL protocol;
s204, the network card judges whether the network card memory receives data, if so, the network card informs the host computer of receiving the data packet through a network API based on the CXL protocol, and step S205 is executed; if not, go back to step S201 to receive the network decoupling data again;
s205, the host reads data from a network card memory through a network API based on a CXL protocol, and receives a data load sent from the network card.
5. The CXL protocol-based network connection method of claim 4, wherein: the network data is binary stream data.
6. The CXL protocol-based network connection method of claim 4, wherein: in step S203, if the host uses the interrupt mechanism, the following steps are adopted to receive the data payload:
A1. the network card triggers the host to interrupt without being inquired by the host, obtains an interrupt number, and informs the host of receiving a data packet through a network API based on a CXL protocol;
A2. and the host reads data from the network card memory through a network API based on the CXL protocol according to the interrupt number and receives the data load sent from the network card.
7. A CXL protocol-based network connection system, characterized in that: comprises a host and a network card;
the host comprises a CXL _ IP module used for receiving and transmitting data;
the network card comprises a network card end CXL _ IP module for receiving and transmitting data and a network card memory for storing host end data and network data;
the CXL _ IP module at the host end and the CXL _ IP module at the network card end are connected through a CXL protocol; the CXL _ IP module at the network card end is connected with the network card memory; sending host end data to a network card end CXL _ IP module through the host end CXL _ IP module; storing the host data into the network card memory, reading the host data in the network card memory and sending the host data to the network; and receiving and storing the network data into a network card memory, and sending the network data in the network card memory to a host computer end CXL _ IP module through a network card end CXL _ IP module so as to send the network data to the host computer.
8. The CXL protocol-based network connection system of claim 7, wherein: the network card also comprises a network unloading unit for encapsulating the data packet into network data and decapsulating the network data into a data load, and a transceiver for receiving and transmitting the network data; the network card end CXL _ IP module, the network card memory, the network unloading unit and the transceiver are sequentially connected;
the network card end CXL _ IP module receives host end data from the host end CXL _ IP module, wherein the host end data comprises data to be sent and control information thereof, and the data to be sent and the control information thereof are stored in a network card memory; after the network card end CXL-IP module receives a data sending command, the network card memory is read by the network unloading unit, the data to be sent in the network card memory is converted into a data packet according to the control information of the data to be sent, the data packet is finally converted into network data, and the network data is uploaded to a network through the transceiver;
after the transceiver downloads the network data from the network, the network unloading unit converts the network data into a data packet, unpacks the data packet to obtain a data load, and stores the data load in a network card memory; and after the CXL _ IP module of the network card end informs the host that the network data is received, reading the data load in the memory of the network card and sending the data load to the CXL _ IP module of the host.
9. The CXL protocol-based network connection system of claim 7, wherein: the host also comprises a host memory module for storing data and a CPU for controlling the sending and receiving of the data; the host memory module, the CPU and the host end CXL _ IP module are sequentially connected;
when sending host end data to a network, a CPU controls a host memory module to send the host end data to a network card through a host end CXL _ IP module, and sends a data sending command to the network card through the host end CXL _ IP module;
when receiving network data from a network, the CPU inquires or receives the network data storage condition of the network card through the CXL _ IP module of the host computer, receives the data load of the network data according to the data storage condition and stores the data load in the memory module of the host computer.
10. The CXL protocol-based network connection system of claim 8, wherein: the network card is a network card without an operating system, and the memory of the network card is a DRAM memory.
CN202210760854.4A 2022-06-30 2022-06-30 Network connection method and system based on CXL protocol Pending CN115174409A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210760854.4A CN115174409A (en) 2022-06-30 2022-06-30 Network connection method and system based on CXL protocol
PCT/CN2023/103035 WO2024002123A1 (en) 2022-06-30 2023-06-28 Cxl protocol-based network connection method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210760854.4A CN115174409A (en) 2022-06-30 2022-06-30 Network connection method and system based on CXL protocol

Publications (1)

Publication Number Publication Date
CN115174409A true CN115174409A (en) 2022-10-11

Family

ID=83488395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210760854.4A Pending CN115174409A (en) 2022-06-30 2022-06-30 Network connection method and system based on CXL protocol

Country Status (2)

Country Link
CN (1) CN115174409A (en)
WO (1) WO2024002123A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024002123A1 (en) * 2022-06-30 2024-01-04 无锡芯光互连技术研究院有限公司 Cxl protocol-based network connection method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1992610A (en) * 2005-12-31 2007-07-04 中国科学院计算技术研究所 Intelligent Ethernet card with function of hardware acceleration
WO2015149374A1 (en) * 2014-04-04 2015-10-08 华为技术有限公司 Method and system for distributing network data in many-core processor
CN107077426A (en) * 2016-12-05 2017-08-18 华为技术有限公司 Control method, equipment and the system of reading and writing data order in NVMe over Fabric frameworks
KR20210124082A (en) * 2020-04-06 2021-10-14 삼성전자주식회사 Systems and methods for composable coherent devices

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220061771A (en) * 2020-11-06 2022-05-13 삼성전자주식회사 Memory device including direct memory access engine, System having the same and Operating method of memory device
CN113360093B (en) * 2021-06-03 2022-11-08 锐掣(杭州)科技有限公司 Memory system and device
CN113645258A (en) * 2021-10-18 2021-11-12 阿里云计算有限公司 Data transmission method and device, storage medium, processor and electronic equipment
CN115174409A (en) * 2022-06-30 2022-10-11 无锡芯光互连技术研究院有限公司 Network connection method and system based on CXL protocol

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1992610A (en) * 2005-12-31 2007-07-04 中国科学院计算技术研究所 Intelligent Ethernet card with function of hardware acceleration
WO2015149374A1 (en) * 2014-04-04 2015-10-08 华为技术有限公司 Method and system for distributing network data in many-core processor
CN107077426A (en) * 2016-12-05 2017-08-18 华为技术有限公司 Control method, equipment and the system of reading and writing data order in NVMe over Fabric frameworks
KR20210124082A (en) * 2020-04-06 2021-10-14 삼성전자주식회사 Systems and methods for composable coherent devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈艳平等: "直接内存通信技术的研究与实现", 《计算机测量与控制》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024002123A1 (en) * 2022-06-30 2024-01-04 无锡芯光互连技术研究院有限公司 Cxl protocol-based network connection method and system

Also Published As

Publication number Publication date
WO2024002123A1 (en) 2024-01-04

Similar Documents

Publication Publication Date Title
KR102505220B1 (en) A novel method for nvme ssd based storage service using rpc and grpc tunneling over pcie
EP1687997B1 (en) A method and apparatus to provide data streaming over a network connection in a wireless mac processor
US9448957B2 (en) Unified system area network and switch
US7428690B2 (en) Packet communication apparatus
CN111656336B (en) PCIE sending and receiving method, device, equipment and system
CN111327603B (en) Data transmission method, device and system
US20060230119A1 (en) Apparatus and method for packet transmission over a high speed network supporting remote direct memory access operations
JP2008519373A (en) Hardware peripheral component memory alignment method
US20090286489A1 (en) Wireless Communications Between Wired Devices with Adaptive Data Rates
US10817460B2 (en) RDMA data sending and receiving methods, electronic device, and readable storage medium
KR20080076811A (en) Method and apparatus for data processing in mobile communication system
US7680944B1 (en) Rapid transport service in a network to peripheral device servers
WO2024002123A1 (en) Cxl protocol-based network connection method and system
CN115866081B (en) SOC-based industrial Ethernet protocol conversion method
WO2004019165A2 (en) Method and system for tcp/ip using generic buffers for non-posting tcp applications
CN113051204A (en) Serial backplane bus communication method and system
CN113961499B (en) GIGE vision data transmission method, acquisition card and system
WO2015055008A1 (en) Storage controller chip and disk packet transmission method
CN116016701A (en) Conversion method, controller and architecture of CAN bus and AUTBUS bus
CN116248758A (en) Efficient bridge type connection structure of kernel-network on chip
CN114760370A (en) UDP (user Datagram protocol) -based high-speed data transmission architecture and implementation method for upper computer and FPGA (field programmable Gate array)
CN111836024A (en) Hybrid network system design based on video transmission
CN112019450A (en) Inter-device streaming communication
CN115442267B (en) ICMP method based on ARINC664 protocol
US20230385223A1 (en) Compute Express Link™ (CXL) Over Ethernet (COE)

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20221230

Address after: Room 802, Building A, Yankuang Xinda Building, Anzhen Street, Xishan District, Wuxi City, Jiangsu Province 214000

Applicant after: Wuxi Core Optical Interconnect Technology Research Institute Co.,Ltd.

Applicant after: Core Optical Smart Network Integrated Circuit Design (Wuxi) Co.,Ltd.

Address before: Room 802, Building A, Yankuang Xinda Building, Anzhen Street, Xishan District, Wuxi City, Jiangsu Province 214000

Applicant before: Wuxi Core Optical Interconnect Technology Research Institute Co.,Ltd.