Data transmission method, device and system based on hierarchical port domain

By dividing switch ports into switching units and switching domains and adopting hierarchical control and virtual channel management, the limitations of existing switching architectures in terms of port expansion and control complexity are solved, achieving efficient data exchange and stable transmission, and adapting to the needs of high concurrency and high throughput data interaction.

CN122093350BActive Publication Date: 2026-07-31SHANGHAI XINLIJI SEMICON CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHANGHAI XINLIJI SEMICON CO LTD
Filing Date
2026-04-21
Publication Date
2026-07-31

AI Technical Summary

Technical Problem

Existing switching architectures are limited in terms of port size expansion, chip area, and control complexity, making it difficult to adapt to the needs of high-concurrency, high-throughput data interaction. In particular, in application scenarios where data types and priorities are consistent, complex port-side control mechanisms are difficult to adapt efficiently.

Method used

The switch ports are divided into port switching units and switching domains, internal routing numbers are defined, and data transmission paths are optimized through hierarchical control and virtual channel management. A hierarchical flow control strategy is adopted to dynamically adjust the division of port switching units and switching domains to adapt to data transmission frequency.

Benefits of technology

It improves the port scalability of the data exchange device, reduces the number of physical connections, ensures stable transmission in high-throughput scenarios, and improves the scheduling efficiency and cache resource utilization of the data exchange system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122093350B_ABST
    Figure CN122093350B_ABST
Patent Text Reader

Abstract

This invention discloses a data transmission method, apparatus, and system based on hierarchical port domains. The method includes dividing a switch port into several port switching units and switching domains. Each port switching unit includes several ports and first and second buffers. Each switching domain includes several port switching units and a temporary buffer. Each port has a pre-set internal routing number including a domain identifier, a unit selection bit, and a port index number. Data packets received by the receiving port are parsed to obtain the target port address and converted into a target internal routing number. If the unit selection bit of the target internal routing number is the same as that of the source internal routing number, the data packet is transmitted to the first buffer for reception by the target port. If the unit selection bits are different, the data packet is transmitted to the second buffer, and it is determined whether the domain identifiers are the same. If they are the same, the data packet is stored in the temporary buffer; if they are different, the data packet is placed in the out-of-band transmission queue for transmission to the target port. This invention offers high data transmission efficiency and good port scalability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer and data communication technology, and in particular to a data transmission method, apparatus and system based on hierarchical port domains. Background Technology

[0002] With the rapid development of artificial intelligence, massively parallel computing, and data-intensive applications, computing systems are gradually evolving from a host-centric processing model to a data-interaction-intensive system where a large number of computing devices work together. In such systems, the scale of data exchange between computing devices continues to expand, and the frequency of data interaction increases significantly. Inter-device communication is gradually becoming one of the key bottlenecks affecting the overall system performance and scalability.

[0003] In existing switches and switching systems, the widely adopted switching architecture is typically based on a crossbar structure to achieve direct connection between ports. This type of structure offers advantages such as intuitive paths and controllable latency when the number of ports is small. However, as the number of switching ports continues to grow, its limitations become increasingly apparent. On one hand, the crossbar structure requires the number of switching ports to grow quadratically with the size of the crossbar nodes. When the system needs to support a large number of computing devices accessing the system simultaneously, traditional crossbars are difficult to physically scale to the required size, making it difficult to meet the demands of high-concurrency data interaction.

[0004] On the other hand, multi-port crossbars require a large amount of wiring resources and cross-node logic during implementation, leading to a sharp increase in the switching structure area, which is detrimental to chip-level integration and system power consumption control. Furthermore, existing switching architectures typically deploy queue management, flow control, and arbitration logic on the port side. As the number of ports increases, each port must independently handle complex arbitration and flow control decisions, causing the port logic to continuously expand in scale. This not only increases design complexity but also poses challenges to timing convergence and system stability.

[0005] Especially in application scenarios where data levels are consistent across ports and the business type is relatively simple but the data volume is huge, the complex port arbitration mechanism designed for multi-service, multi-priority environments has become a constraint on system expansion and performance improvement. In computing environments oriented towards large-scale data interaction, continuing to use the port-centric Crossbar switching mode and distributed flow control architecture will make it difficult to achieve an effective balance between the number of ports, chip area, and arbitration complexity, and is gradually becoming unsuitable for the development needs of next-generation high-throughput data interaction systems.

[0006] In existing technologies, in computing and data processing systems, data forwarding is typically achieved through switch-based interconnection to facilitate data exchange between multiple computing devices or functional modules. Switches generally have multiple input and output ports, and a switching structure establishes data paths between these ports to enable data forwarding and transmission. A common implementation in existing switch architectures is the Crossbar switching structure. This structure uses cross-nodes between input and output ports, allowing any input port to connect to any output port simultaneously, thus enabling direct data exchange between ports. The Crossbar structure is widely used in small- to medium-sized port scenarios due to its clear forwarding path and intuitive implementation. As the number of switching ports increases, some switching systems employ multi-level switching structures to support larger-scale data exchange, connecting multiple switching modules hierarchically to expand the system's port capacity. In this type of multi-level switching architecture, data is forwarded sequentially between different switching modules to complete communication between input ports and target output ports. Furthermore, in high-performance computing and accelerated computing systems, there are also technical solutions that achieve inter-device communication through high-speed interconnect links. These solutions typically utilize high-speed serial links or dedicated interconnect interfaces to establish direct data transmission channels between computing devices, meeting the demands of high-bandwidth data exchange. Some systems also incorporate dedicated switching chips for data forwarding between multiple computing devices. These technologies are widely used in existing switching equipment and computing systems to support multi-port data exchange and data communication needs between computing devices.

[0007] It is evident that with the continuous development of artificial intelligence and large-scale data processing applications, the number of computing devices participating in data interaction in computing systems continues to increase, and the scale and frequency of data exchange between devices have significantly improved. Existing exchange technologies are gradually revealing various technical bottlenecks in such high-concurrency, high-throughput data interaction scenarios.

[0008] First, existing switching architectures face significant limitations in port expansion. Traditional switching structures are typically designed based on a finite number of ports. When switching devices need to support a large number of computing nodes accessing the network simultaneously, the number of ports required by the switching structure grows rapidly, making it difficult for existing architectures to meet large-scale expansion requirements at both the physical implementation and system integration levels.

[0009] Secondly, existing switching architectures face significant pressure in terms of chip area and implementation complexity. As the number of ports increases, the wiring resources, switching nodes, and supporting control logic required within the switching structure also grow, leading to a continuous increase in the area of ​​the switching module. This is not conducive to the implementation of highly integrated chips and also places a significant burden on power consumption and manufacturing costs.

[0010] Furthermore, existing technologies typically deploy complex queue management, flow control, and arbitration logic on the port side. As the number of ports and concurrent data streams increases, each port needs to independently handle a large number of scheduling decisions, causing the port logic to continuously expand and significantly increasing the overall system design complexity and timing constraints. In application scenarios with massive data volumes but relatively consistent data types and priorities, the aforementioned complex port-side control mechanisms are difficult to adapt efficiently.

[0011] Furthermore, in systems oriented towards high-bandwidth data exchange, data streams typically exhibit continuous, high-volume transmission characteristics, placing higher demands on latency and bandwidth stability. With the simultaneous increase in the number of ports, structural scale, and control complexity, existing switching technologies struggle to maintain stable data forwarding performance while ensuring low latency, thus impacting the overall data exchange efficiency of the system.

[0012] In summary, in the current application environment represented by artificial intelligence computing and big data processing, existing switching technologies face significant technical challenges in terms of port expansion capabilities, implementation scale, control complexity, and adaptability to high-concurrency data interaction.

[0013] The disclosure of the above background information is only for the purpose of assisting in understanding the concept and technical solution of this application, and does not necessarily provide technical instruction. Summary of the Invention

[0014] The purpose of this invention is to provide a data transmission method, apparatus, and system based on hierarchical port domains, which has good port scalability and high data transmission efficiency.

[0015] To achieve the above objectives, the technical solution adopted by the present invention is as follows:

[0016] A data transmission method based on hierarchical port domains includes the following steps:

[0017] The multiple ports of the switch are pre-divided into several port switching units, each port switching unit including several ports, a first buffer and a second buffer; the multiple port switching units are divided into several switching domains, each switching domain including several port switching units, and the switching domain includes a temporary buffer;

[0018] Each of the ports is pre-set with an internal routing number, which corresponds to the port address. The internal routing number includes a domain identifier, a unit selection bit, and a port index number to identify the switching domain, port switching unit, and position of the port within the port switching unit.

[0019] The receiving port and the destination port are two different ports. The internal routing number corresponding to the receiving port is the source internal routing number, and the internal routing number corresponding to the destination port is the destination internal routing number. Data transmission from the receiving port to the destination port is performed in the following manner:

[0020] Parse the data packets received by the receiving port to obtain the target port address, convert the target port address into a target internal routing number, and if the unit selection bits corresponding to the target internal routing number and the source internal routing number are the same, then transmit the data packet to the first buffer for the target port to receive.

[0021] If the unit selection bits corresponding to the target internal routing number and the source internal routing number are different, the data packet is transmitted to the second buffer, and it is determined whether the domain identifiers corresponding to the target internal routing number and the source internal routing number are the same. If they are the same, the data packet is stored in the temporary buffer and transmitted to the target port.

[0022] If the domain identifiers corresponding to the target internal routing number and the source internal routing number are different, the data packet is placed in the out-of-domain transmission queue for transmission to the target port.

[0023] Furthermore, following any one or a combination of the aforementioned technical solutions, the method further includes dividing the port switching unit and the switching domain based on the data transmission frequency between the ports, wherein the data transmission frequency is a historical data transmission frequency or an expected data transmission frequency;

[0024] The data transmission frequency between ports in the same port switching unit is greater than the data transmission frequency between ports in the same switching domain but different port switching units, and the data transmission frequency between ports in the same switching domain is greater than the data transmission frequency between ports in different switching domains.

[0025] Furthermore, following any one or a combination of the aforementioned technical solutions, it also includes:

[0026] The data transmission frequency between the first port and the second port is greater than the data transmission frequency between the first port and the third port, and the data transmission frequency between the first port and the third port is greater than the data transmission frequency between the first port and the fourth port.

[0027] The first port and the second port are in the same port switching unit, the first port and the third port are in the same switching domain but not in the same port switching unit, and the first port and the fourth port are not in the same switching domain.

[0028] Furthermore, following any one or a combination of the aforementioned technical solutions, the data transmission frequency is the number of historical data transmissions or the expected number of data transmissions between the same number of ports within the same time period.

[0029] Furthermore, following any one or a combination of the aforementioned technical solutions, the method further includes dynamically adjusting the port switching unit and switching domain where the port is located based on the historical data transmission frequency between the ports, so that more frequent data transmissions can be performed within the same port switching unit and / or the same switching domain.

[0030] Furthermore, following any one or a combination of the aforementioned technical solutions, the corresponding internal routing number is reconfigured for the port after dynamically adjusting the port switching unit and switching domain where the port is located.

[0031] Furthermore, by employing any one or a combination of the aforementioned technical solutions, more frequent data transmissions can be performed within the same port switching unit and / or the same switching domain, including:

[0032] The historical data transmission frequency between ports in the same port switching unit is greater than the historical data transmission frequency between ports in the same switching domain but different port switching units, and the historical data transmission frequency between ports in the same switching domain is greater than the historical data transmission frequency between ports in different switching domains.

[0033] Furthermore, based on any or a combination of the aforementioned technical solutions, the number of ports included in different port switching units varies. The port switching units are divided based on the data transmission frequency between ports. The higher the data transmission frequency between ports, the fewer ports are in the port switching unit.

[0034] Furthermore, based on any one or a combination of the aforementioned technical solutions, the number of port switching units included in different switching domains varies. The switching domains are divided based on the data transmission frequency between ports. The higher the data transmission frequency between port switching units, the fewer port switching units are included in the switching domain.

[0035] Furthermore, following any or a combination of the aforementioned technical solutions, the port switching unit includes a virtual interface, and the virtual interfaces of different port switching units within the same switching domain are connected through a virtual channel.

[0036] Furthermore, based on any one or a combination of the aforementioned technical solutions, the number of port switching units in the switching domain is no more than three, and the virtual channel adopts a bus-based communication architecture.

[0037] Furthermore, following any one or a combination of the aforementioned technical solutions, the number of port switching units within a switching domain is two; and / or,

[0038] The division of the port switching unit and the switching domain is based on the physical layout of the port on the switching chip. Ports with similar physical layouts are assigned to the same port switching unit, and port switching units with similar physical layouts are assigned to the same switching domain.

[0039] Furthermore, following any one or a combination of the aforementioned technical solutions, the multiple switching domains communicate with each other through a cross-connect matrix architecture.

[0040] Furthermore, following any one or a combination of the aforementioned technical solutions, the number of ports included in different port switching units is the same; and / or,

[0041] The number of port switching units included in different switching domains is the same.

[0042] According to another aspect of the present invention, the present invention provides a data exchange apparatus based on a hierarchical port domain, which performs data transmission based on the data transmission method based on a hierarchical port domain as described in any one or a combination of the above technical solutions.

[0043] According to another aspect of the present invention, the present invention provides a data transmission system based on a hierarchical port domain, which performs data transmission based on the data transmission method based on a hierarchical port domain as described in any one or a combination of the above technical solutions.

[0044] The beneficial effects of the technical solution provided by this invention are as follows:

[0045] a. This invention divides the ports of a switch into port switching units and switching domains, and defines the internal routing number of the port that embodies the hierarchical structure. It divides the data interaction of large-scale ports into multiple levels for processing, and different processing flows use different caches, so that data is switched first in a local area and then forwarded to a higher level when needed. This adapts to the high-concurrency data interaction needs between large-scale computing devices and can improve the port scalability of the data switching device by orders of magnitude.

[0046] b. This invention uses virtual channels as data transmission carriers between port switching unit levels, multiplexes multiple data streams onto a limited number of physical links, and manages the virtual channels so that data from different switching units or different switching domains can complete cross-layer transmission along a predetermined path, thereby reducing the number of physical connections while achieving data interoperability between switching layers.

[0047] c. This invention coordinates data interaction within different ranges through hierarchical control. By controlling and coordinating data flow during the exchange process, it avoids congestion caused by concurrent data entering the same exchange path, thereby ensuring stable data transmission in high-throughput scenarios and improving the scheduling efficiency of the overall exchange system in high-concurrency scenarios.

[0048] d. This invention divides port switching units and switching domains based on historical or expected data transmission frequencies, and dynamically adjusts the division of port switching units and switching domains according to the actual data transmission frequency during use, which can further improve data transmission efficiency;

[0049] e. The present invention divides the port switching units based on the data transmission frequency between ports. The higher the data transmission frequency between ports, the fewer ports are in the port switching unit. The higher the data transmission frequency between port switching units within a switching domain, the fewer port switching units are in the switching domain. This can further balance and improve data transmission efficiency and the utilization of cache resources. Attached Figure Description

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

[0051] Figure 1 A schematic diagram of the architecture of a data transmission device based on a hierarchical port domain is provided for an exemplary embodiment of the present invention;

[0052] Figure 2 A schematic diagram illustrating the principle of data transmission based on hierarchical port domains, provided as an exemplary embodiment of the present invention;

[0053] Figure 3 This is a flowchart illustrating a data transmission method based on hierarchical port domains, provided as an exemplary embodiment of the present invention. Detailed Implementation

[0054] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0055] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, apparatus, product, or device that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or devices.

[0056] To address the shortcomings of existing technologies, it is necessary to improve the switching architecture and flow control mechanism to suit the data exchange characteristics between large-scale computing devices, thereby alleviating system bottlenecks caused by port expansion, switching area, and arbitration complexity. Based on this, this invention proposes a data transmission method, apparatus, and system based on hierarchical port domains. Through a hierarchical port domain switching architecture, hierarchical arbitration within the switching structure, and centralized queue management, and by utilizing virtual channels to quickly locate target ports and perform cross-layer data transmission, the switching area is reduced and data interaction efficiency is improved. The data transmission method, apparatus, and system proposed in this application can further improve the efficiency of artificial intelligence computing and meet the application requirements of high-performance computing scenarios in the fields of high-speed interconnect switching and on-chip / inter-chip data communication technology.

[0057] In one embodiment of the present invention, a data transmission method based on hierarchical port domains is provided, see [link to relevant documentation]. Figure 1 and Figure 2 The data transmission method includes the following steps:

[0058] The multiple ports of the switch are pre-divided into several port switching units, each port switching unit including several ports, a first buffer and a second buffer; the multiple port switching units are divided into several switching domains, each switching domain including several port switching units, and the switching domain includes a temporary buffer;

[0059] Each of the ports is pre-set with an internal routing number, which corresponds to the port address. The internal routing number includes a domain identifier, a unit selection bit, and a port index number to identify the switching domain, port switching unit, and position of the port within the port switching unit.

[0060] The receiving port and the destination port are two different ports. The internal routing number corresponding to the receiving port is the source internal routing number, and the internal routing number corresponding to the destination port is the destination internal routing number. Data transmission from the receiving port to the destination port is performed in the following manner:

[0061] Parse the data packets received by the receiving port to obtain the target port address, convert the target port address into a target internal routing number, and if the unit selection bits corresponding to the target internal routing number and the source internal routing number are the same, then transmit the data packet to the first buffer for the target port to receive.

[0062] If the unit selection bits corresponding to the target internal routing number and the source internal routing number are different, the data packet is transmitted to the second buffer, and it is determined whether the domain identifiers corresponding to the target internal routing number and the source internal routing number are the same. If they are the same, the data packet is stored in the temporary buffer and transmitted to the target port.

[0063] If the domain identifiers corresponding to the target internal routing number and the source internal routing number are different, the data packet is placed in the out-of-domain transmission queue for transmission to the target port.

[0064] Based on the above division method, the switching system in this implementation scheme forms the following hierarchical relationship in terms of structure:

[0065] (1) The bottom layer is the port switching unit layer, which is responsible for data interaction between ports within the port switching unit;

[0066] (2) The intermediate layer is the switching domain layer, which is responsible for data interaction between different port switching units within the same switching domain;

[0067] (3) Above the exchange domain, a cross-domain exchange layer is formed to handle data interaction between different exchange domains.

[0068] The above-mentioned hierarchical structure together constitutes the hierarchical switching architecture of the switching device or switching system.

[0069] In one embodiment of the present invention, the division of the port switching unit and the switching domain is based on the physical layout position of the port on the switching chip / switching structure. That is, ports with similar physical layout positions are divided into the same port switching unit, and port switching units with similar physical layout positions are divided into the same switching domain, so as to form a set of ports that are adjacent and consistent in terms of physical connection and switching structure implementation.

[0070] See Figure 1Taking a 64-port switch as an example, the 64 ports are grouped in a fixed number, with 8 ports forming a port switching unit. Two adjacent port switching units are then grouped into a switching domain. Therefore, the 8 port switching units form 4 switching domains, each containing 2 port switching units, corresponding to 16 ports. For example, if the ports are unidirectional, they are organized in a "4-in, 4-out" configuration, meaning each port switching unit contains 4 input ports and 4 output ports. It should be noted that the ports can also be bidirectional. For bidirectional ports, a port switching unit contains 8 ports, each including both input and output ports.

[0071] In existing switching technologies, switches (CXL, PCIe) are mostly implemented based on direct port connections or flat switching structures. As the number of computing devices continues to increase and the concurrency of data interaction significantly improves, the number of ports that the switching system needs to support grows dramatically, leading to significant limitations in the port expansion capabilities of traditional switching architectures. This application organizes the switching system hierarchically, enabling data interaction to be completed rapidly at different levels, thereby adapting to the high-concurrency data exchange needs between large-scale computing devices.

[0072] Furthermore, the area and implementation cost of existing multi-port switching structures increase rapidly with scale. Specifically, as the number of ports increases, the number of cross-connect nodes, wiring resources, and control logic required within the switching structure also increases, leading to a significant increase in the area of ​​the switching module, which is detrimental to high integration. This technology, by introducing a layered data interaction method into the switching architecture, reduces the dependence on large-scale physical switching structures while ensuring data exchange capabilities, thereby alleviating the problem of increasing switching area and implementation cost with port scale. For example, to facilitate rapid expansion, switches may reserve ports. For traditional switches, one reserved port corresponds to one port expansion later; however, based on the technical solution of this application, one reserved port can later serve as an expansion interface for a port switching unit or even a switching domain. Therefore, the scalability of the switch can achieve an order-of-magnitude increase.

[0073] In this embodiment, to support port location and data forwarding under a hierarchical switching architecture, a set of internal routing numbers for port hierarchical addressing is defined for each port within the switch. These internal routing numbers are optionally used only within the switch, not exposed to the outside world, and not part of the external communication protocol. Their function is to quickly locate the target port corresponding to a data packet, thereby improving data transmission efficiency.

[0074] Taking the aforementioned 64-port switch as an example, it contains 8 switching domains, each of which includes 2 port switching units, and each port switching unit contains 8 ports. Therefore, 3 bits are used in the internal routing number to represent the domain ID, completing the location of the target switching domain. After the domain ID, 1 bit is set to represent the unit selection bit of the port switching unit within the switching domain. Since each switching domain contains 2 port switching units, the target port switching unit can be further determined using only 1 bit after the target switching domain has been identified. After the unit selection bit, 3 bits are set to represent the port index number within the target port switching unit. The port index number is used to uniquely locate a specific switch port within the identified port switching unit.

[0075] The 64 ports of the switch are numbered 0-63. Ports 0-7 are located in the first port switching unit of the first switching domain, ports 8-15 are located in the second port switching unit of the first switching domain, ports 16-23 are located in the first port switching unit of the second switching domain, and ports 24-31 are located in the second port switching unit of the second switching domain. Taking port 0 in the first port switching unit of the first switching domain as an example, its internal routing number is 000000; taking port 4 in the first port switching unit of the first switching domain as an example, its internal routing number is 000100; taking port 18 in the third port switching unit of the first switching domain (with the serial number 2 within the third port switching unit) as an example, its internal routing number is 010010.

[0076] As described above, the internal routing number is generated according to a predefined bit partitioning rule and is used to characterize the hierarchical position of the port within the switch. After assigning internal routing numbers to all ports of the switch, a corresponding port mapping table is formed. This port mapping table includes a one-to-one correspondence between port addresses (outside the switch) and internal routing numbers. The port mapping table is used to establish the correspondence between external port identifiers and the internal routing numbers of the switch, and its content can be set during system initialization or configuration.

[0077] In this implementation scheme, after a data packet enters the switch, the target port address is resolved and the internal routing number is converted in stages according to the port mapping table and a preset processing flow, so as to achieve a unified conversion from the external port identifier to the internal routing number of the switch.

[0078] When a data packet enters the switch via the input port (i.e., the source port), it is first received and processed by the corresponding port's receiving module. The input port receiving module parses the destination port information carried in the data packet to obtain the corresponding destination port information. This destination port information includes a predefined address field in the data packet header.

[0079] After parsing the destination port information of the data packet, the destination port identifier corresponding to that destination port information is obtained. The destination port identifier is used to indicate the port number or logical port location of the data packet from the perspective of the switch. For example, in the prior art, the DBS (Device Bus Service) number is usually used.

[0080] After obtaining the target port identifier, the switch internally performs a lookup matching process on the target port identifier using a pre-configured port mapping table. This lookup matching method converts the target port identifier into an internal routing number used for internal switch maintenance.

[0081] The internal routing number corresponding to the target port determined by mapping and matching is used only within the switch for data forwarding, path selection, and port location. It is not output to the outside of the switch, nor is it part of the external communication protocol, which can further improve the reliability and security of data transmission.

[0082] By converting the external target port identifier into the target internal routing number, subsequent data processing within the switch is based on the target internal routing number, thereby achieving a standardized description of the target port.

[0083] By defining the internal routing number in segments using the above method, it is possible to quickly and efficiently locate the internal port switching unit, the target switching domain, and the specific port in sequence during subsequent data transmission, thereby efficiently and quickly determining the target port corresponding to the data packet inside the switch.

[0084] The switch determines the data interaction level of the data packet based on the values ​​of each bit field in the internal routing number, and completes the routing and transmission of the data within the corresponding level. In this embodiment, the data transmission method proceeds step by step according to the hierarchical relationship of the switching structure. The following description focuses on the data interaction methods within the port switching unit and the switching domain.

[0085] First, a first buffer, a second buffer, and a virtual interface are configured within the port switching unit. The first buffer is a shared buffer for all ports within the port switching unit. The port switching unit includes a virtual interface, and the virtual interfaces of different port switching units within the same switching domain are connected through a virtual channel. A temporary buffer is configured within the switching domain, and the temporary buffer is electrically connected to the second buffer.

[0086] The data interaction within the port switching unit no longer uses the traditional Crossbar structure, but instead achieves data transmission between ports through a shared buffer. Each port manages and accesses its data in the buffer through virtual address mapping, thereby enabling dynamic and fast data transmission.

[0087] See Figure 3 When the destination port of a data packet is located within the current port switching unit (i.e., the unit selection bit is hit), the data packet is stored in the first buffer of the port switching unit. Data interaction is completed through the first-level buffer without needing to enter a higher-level switching structure. The first-level buffer stores and retrieves data based on virtual address mapping, ensuring that ports within this port switching unit can efficiently share data. Specifically, the data obtains the virtual address of the destination port through the address resolution module. The virtual address mapping table is searched in the first-level buffer; if a match is found, data transmission is completed directly through the buffer.

[0088] If the cell selection bit fails to hit, the data is stored in the second-level cache to prepare for subsequent cross-cell / cross-domain data transfers.

[0089] For data routing within the unit, the aforementioned "internal routing number" can be used as a virtual address in the first-level cache for acknowledgment and data retrieval at the actual physical interface of the unit. The first-level cache, essentially hardware SRAM used for temporary data storage, can retrieve data from the actual physical ports of the unit using the internal routing number. Since the number of actual physical ports is greater than the number of virtual interfaces, the cache capacity required for data retrieval is smaller. If the output port is found to be within the unit after address resolution, a hit occurs, and the data is placed in the first-level cache awaiting output. If a hit occurs, the data is placed in the second-level cache awaiting transport by the virtual interface. Due to the smaller number of virtual interfaces, a larger data capacity is needed to wait for transmission. For example, a port switching unit may have 8 ports and 4 virtual interfaces. These 4 virtual interfaces are allocated to the corresponding ports among the 8 ports according to usage needs. Therefore, preferably, the capacity of the second-level cache is greater than that of the first-level cache.

[0090] The virtual channel adopts a bus-based communication architecture, and the number of port switching units in the switching domain is no more than three. The bus-based communication architecture has low cost and can also meet point-to-point data transmission requirements. Therefore, in this application, the number of port switching units in the switching domain is preferably set to two. Multiple switching domains preferably communicate using a crossbar architecture to ensure the speed and efficiency of cross-domain data transmission.

[0091] Based on the hierarchical port domains and internal routing numbers proposed in this application, a hierarchical flow control strategy can be implemented for different data interaction ranges. For the transmission characteristics of data at different switching levels, this technology sets flow control strategies corresponding to each switching level, ensuring that data is subject to appropriate flow control management during transmission within the port switching unit, within the switching domain, and across switching domains. Through hierarchical control, data interaction within different ranges is coordinated, improving the overall switching system's scheduling efficiency in high-concurrency scenarios.

[0092] Preferably, in one embodiment of this application, the data transmission method based on hierarchical port domains further includes dividing the port switching unit and the switching domain based on the data transmission frequency between the ports, wherein the data transmission frequency is a historical data transmission frequency or an expected data transmission frequency; the data transmission frequency between ports in the same port switching unit is greater than the data transmission frequency between ports in the same switching domain but not in the same port switching unit, and the data transmission frequency between ports in the same switching domain is greater than the data transmission frequency between ports in different switching domains.

[0093] There are several ways to divide the port switching unit and the switching domain based on the data transmission frequency between the ports. Two examples are given below.

[0094] The first method is as follows: the data transmission frequency between the first port and the second port is greater than the data transmission frequency between the first port and the third port, and the data transmission frequency between the first port and the third port is greater than the data transmission frequency between the first port and the fourth port; the first port and the second port are in the same port switching unit, the first port and the third port are in the same switching domain but not in the same port switching unit, and the first port and the fourth port are not in the same switching domain.

[0095] This partitioning method aims to group ports with frequent data exchange into the same port switching unit, ports with a large amount of data exchange into the same switching domain, and ports with less data exchange into different switching domains, in order to reduce the number of times the target port needs to be searched, matched, or arbitrated during the hierarchical data exchange process.

[0096] The second partitioning method: The data transmission frequency is the historical or expected number of data transmissions between the same number of ports within the same time period. That is, port switching units and switching domains are partitioned based on the average data transmission frequency between ports. This partitioning method focuses more on the average data transmission frequency per port within a port switching unit and switching domain. It can reduce the number of hierarchical lookups / matches / hit arbitrations performed on target ports during hierarchical data switching, while better addressing potential conflicts in comparing data transmission frequencies during port partitioning.

[0097] In one embodiment of the present invention, see Figure 2 and Figure 3 To optimize cross-domain data interaction, this embodiment employs a dynamic grouping control mechanism. This involves periodically recording the cross-unit and / or cross-domain transmission status of each port and dynamically adjusting the grouping. The data transmission method based on hierarchical port domains further includes dynamically adjusting the port switching unit and switching domain of the port based on the historical data transmission frequency between the ports, so that more frequent data transmissions can occur within the same port switching unit and / or the same switching domain. After dynamically adjusting the port switching unit and switching domain of the port, the corresponding internal routing number is reconfigured for the port.

[0098] To enable more frequent data transmission within the same port switching unit and / or the same switching domain, including: the historical data transmission frequency between ports in the same port switching unit is greater than the historical data transmission frequency between ports in the same switching domain but not in the same port switching unit, and the historical data transmission frequency between ports in the same switching domain is greater than the historical data transmission frequency between ports in different switching domains.

[0099] To enable more frequent data transmission within the same port switching unit and / or the same switching domain, the method further includes: counting the number of times each port writes data to the secondary cache and / or the number of cross-domain transmissions within a preset data transmission period. If the proportion of the number of times each port writes data to the secondary cache and / or the proportion of the number of cross-domain transmissions within the data transmission period is greater than the corresponding proportion threshold, then dynamic port adjustment is triggered.

[0100] For example, each data transmission cycle consists of ten times. Within each cycle, the system records the number of times each port writes data to the secondary cache, especially the number of cross-domain transmissions.

[0101] Cross-domain transmission determination: If the cross-domain transmission count of a certain port reaches 80% or more within a period (i.e., 8 out of 10 times or more), dynamic adjustment of that port is triggered. The dynamic rebinding of ports is achieved through multiplexers configured between the port and each port switching unit. Each physical port is connected to the interfaces of multiple port switching units via multiplexers, which are used to select and establish data paths between different switching units.

[0102] When the system triggers dynamic packet adjustment based on cross-domain transmission statistics, it controls the selection signal of the multiplexer to close the connection path between the port and the original switching unit, while simultaneously opening the connection path between the port and the target switching unit, thereby rebinding the port to the new switching unit. After the path switching is completed, the port's data input and output both enter the target switching unit through the newly established connection path, achieving dynamic adjustment of port affiliation. In this way, without changing the physical wiring structure, port rebinding between different switching units can be achieved simply by controlling the conduction state of the multiplexer.

[0103] Migration strategy: The system will select the target port of the last cross-domain transmission as the new output port and add it to the current port switching unit. In addition, the original output port of this port will be replaced with the port with the fewest data transmissions in the group, i.e., the least active port.

[0104] This mechanism ensures that the output ports are dynamically adjusted according to actual traffic by regularly tracking port interaction behavior, thereby achieving more efficient cross-domain data transmission and preventing certain ports from becoming bottlenecks in the same port switching unit.

[0105] For data packets that need to be transmitted outside the switching domain, data exchange is not completed directly within this layer. Instead, the data packets are bound to the corresponding queue management unit through a virtual switching interface. The allocation method of the queue management unit is as follows.

[0106] The queue management unit maintains the queues according to the target switching domain of the data packets, and manages the queuing of data for different target switching domains separately. During the queue management process, the data packets are scheduled and managed based on the data's dwell time in the queue and the receiving status of the target switching domain, so as to control the timing of their entry into the cross-domain data transmission stage.

[0107] In this way, within the port switching unit and the switching domain, data packets can complete routing determination and data transmission at the corresponding level according to the resolution result of their internal routing number. At the same time, through virtual switching interfaces, arbitration and caching mechanisms, congestion problems caused by concurrent data entering the same switching path are avoided, thereby ensuring stable data transmission in high-throughput scenarios.

[0108] In this embodiment, the number of ports included in different port switching units can be the same as described in the above embodiments, and the number of port switching units included in different switching domains can be the same.

[0109] In addition, this embodiment can adopt another better approach: different port switching units include different numbers of ports, and the port switching units are divided based on the data transmission frequency between ports. The higher the data transmission frequency between ports, the fewer ports are in the port switching unit.

[0110] Correspondingly, different switching domains include different numbers of port switching units. The switching domains are divided based on the data transmission frequency between ports. The higher the data transmission frequency between port switching units, the fewer port switching units are included in the switching domain. In this way, data transmission efficiency and the utilization rate of cache resources can be balanced and improved.

[0111] In one embodiment of the present invention, a data switching device based on hierarchical port domains is provided. The data switching device can be a PCIe switch or a CXL switch, which performs data transmission based on the data transmission method based on hierarchical port domains as described in any of the above embodiments.

[0112] In one embodiment of the present invention, a data transmission system based on hierarchical port domains is provided, which performs data transmission based on the data transmission method based on hierarchical port domains as described in any of the above embodiments.

[0113] It should be noted that the above-described embodiments of the data exchange device based on hierarchical port domain and the data transmission system based on hierarchical port domain are based on the same inventive concept as the embodiments of the data transmission method based on hierarchical port domain. All contents of the embodiments of the data transmission method based on hierarchical port domain are incorporated into the embodiments of the data exchange device based on hierarchical port domain and the data transmission system based on hierarchical port domain by reference.

[0114] The technical solution proposed in this application is applicable to large-scale data exchange systems in scenarios such as artificial intelligence, big data processing, and high-performance computing, and is particularly suitable for exchange environments that need to support concurrent communication of a large number of computing devices and have strict requirements on bandwidth, latency, and hardware area. As the scale of artificial intelligence computing continues to expand, computing systems are gradually evolving from a host-centric communication mode to a mode of high-frequency interconnection of multiple computing devices, and data interaction between devices has become an important factor restricting the improvement of system performance.

[0115] In existing switching systems, traditional crossbar-based switching architectures face significant challenges in terms of port scalability, chip area, and control complexity, making it difficult to meet high throughput requirements while simultaneously balancing implementation cost and system stability. This technology, through a hierarchical switching structure and internal routing number mechanism, achieves hierarchical and rapid location of target ports and employs data transmission methods tailored to the characteristics of data interaction within different switching layers, providing an efficient and scalable switching architecture option for large-scale data interaction.

[0116] In artificial intelligence computing platforms, computing devices such as GPUs and accelerators typically require large-scale, continuous, high-bandwidth data exchange. The data types are relatively simple, but the data volume is enormous. This technology, by hierarchically organizing data interaction within the exchange structure, can effectively reduce global exchange pressure and improve local data interaction efficiency, thus better adapting to the data communication characteristics of artificial intelligence computing scenarios.

[0117] Furthermore, this technical solution introduces internal routing numbers and a hierarchical positioning method into the switching system, which helps reduce the logical complexity on the port side. This allows the switching system to maintain a clear structural organization and stable data forwarding capabilities even as the number of ports continues to grow. This characteristic makes this technology suitable for core switching modules in large-scale server clusters, data center interconnects, and high-performance computing systems, thereby improving the overall system integration and reliability.

[0118] For applications sensitive to system scalability and hardware costs, such as cloud computing platforms, artificial intelligence training and inference clusters, and next-generation heterogeneous computing systems, the layered switching architecture provided by this technology can reduce the area of ​​the switching structure and control complexity while ensuring high-throughput data interaction capabilities, and has good engineering implementation value and prospects for widespread application.

[0119] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0120] The above description is only a specific embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A method for data transmission based on hierarchical port domains, characterized in that, Includes the following steps: The multiple ports of the switch are pre-divided into several port switching units, each port switching unit including several ports, a first buffer and a second buffer; the multiple port switching units are divided into several switching domains, each switching domain including several port switching units, and the switching domain includes a temporary buffer; Each of the ports is pre-set with an internal routing number, which corresponds to the port address. The internal routing number includes a domain identifier, a unit selection bit, and a port index number to identify the switching domain, port switching unit, and position of the port within the port switching unit. The receiving port and the destination port are two different ports. The internal routing number corresponding to the receiving port is the source internal routing number, and the internal routing number corresponding to the destination port is the destination internal routing number. Data transmission from the receiving port to the destination port is performed in the following manner: Parse the data packets received by the receiving port to obtain the target port address, convert the target port address into a target internal routing number, and if the unit selection bits corresponding to the target internal routing number and the source internal routing number are the same, then transmit the data packet to the first buffer for the target port to receive. If the unit selection bits corresponding to the target internal routing number and the source internal routing number are different, the data packet is transmitted to the second buffer, and it is determined whether the domain identifiers corresponding to the target internal routing number and the source internal routing number are the same. If they are the same, the data packet is stored in the temporary buffer and transmitted to the target port. If the domain identifiers corresponding to the target internal routing number and the source internal routing number are different, the data packet is placed in the out-of-domain transmission queue for transmission to the target port.

2. The data transmission method based on hierarchical port domains according to claim 1, characterized in that, It also includes dividing the port switching unit and the switching domain based on the data transmission frequency between the ports, wherein the data transmission frequency is the historical data transmission frequency or the expected data transmission frequency; The data transmission frequency between ports in the same port switching unit is greater than the data transmission frequency between ports in the same switching domain but different port switching units, and the data transmission frequency between ports in the same switching domain is greater than the data transmission frequency between ports in different switching domains.

3. The layered port field based data transmission method of claim 2, wherein, Also includes: The data transmission frequency between the first port and the second port is greater than the data transmission frequency between the first port and the third port, and the data transmission frequency between the first port and the third port is greater than the data transmission frequency between the first port and the fourth port. The first port and the second port are in the same port switching unit, the first port and the third port are in the same switching domain but not in the same port switching unit, and the first port and the fourth port are not in the same switching domain.

4. The layered port field based data transmission method of claim 2, wherein, The data transmission frequency refers to the number of historical data transmissions or the expected number of data transmissions between the same number of ports within the same time period.

5. The hierarchical port field based data transmission method of claim 1, wherein, It also includes dynamically adjusting the port switching unit and switching domain where the port is located based on the historical data transmission frequency between the ports, so that more frequent data transmissions can be carried out within the same port switching unit and / or the same switching domain.

6. The layered port field based data transmission method of claim 5, wherein, After dynamically adjusting the port switching unit and switching domain where the port is located, the corresponding internal routing number is reconfigured for the port.

7. The layered port field based data transmission method of claim 5, wherein, To enable more frequent data transmissions to occur within the same port switching unit and / or the same switching domain, including: The historical data transmission frequency between ports in the same port switching unit is greater than the historical data transmission frequency between ports in the same switching domain but different port switching units, and the historical data transmission frequency between ports in the same switching domain is greater than the historical data transmission frequency between ports in different switching domains.

8. The layered port field based data transmission method of claim 1, wherein, The number of ports included in different port switching units varies. The port switching units are divided based on the data transmission frequency between the ports. The higher the data transmission frequency between the ports, the fewer ports are in the port switching unit.

9. The layered port field based data transmission method of claim 1, wherein, Different switching domains contain different numbers of port switching units. The switching domains are divided based on the data transmission frequency between ports. The higher the data transmission frequency between port switching units, the fewer port switching units are included in the switching domain.

10. The hierarchical port field based data transmission method of claim 1, wherein, The port switching unit includes a virtual interface, and the virtual interfaces of different port switching units within the same switching domain are connected through a virtual channel.

11. The layered port field based data transmission method of claim 10, wherein, The number of port switching units in the switching domain is no more than 3, and the virtual channel adopts a bus-based communication architecture.

12. The layered port field based data transmission method of claim 1, wherein, The number of port switching units within a switching domain is 2; and / or, The division of port switching units and switching domains is based on the physical layout of the ports on the switching chip. Ports with similar physical layout locations are grouped into the same port switching unit, and port switching units with similar physical layout locations are grouped into the same switching domain; and / or, The multiple switching domains communicate with each other via a cross-connect matrix architecture; and / or, Different port switching units include the same number of ports; and / or, The number of port switching units included in different switching domains is the same.

13. A data switching apparatus based on hierarchical port domains, characterized by, Data transmission is performed based on the data transmission method based on hierarchical port domains as described in claim 1.

14. A layered port field based data transmission system, characterized by Data transmission is performed based on the data transmission method based on hierarchical port domains as described in claim 1.