WO2022246761A1 - Deadlock recovery method and on-chip system - Google Patents

Deadlock recovery method and on-chip system Download PDF

Info

Publication number
WO2022246761A1
WO2022246761A1 PCT/CN2021/096511 CN2021096511W WO2022246761A1 WO 2022246761 A1 WO2022246761 A1 WO 2022246761A1 CN 2021096511 W CN2021096511 W CN 2021096511W WO 2022246761 A1 WO2022246761 A1 WO 2022246761A1
Authority
WO
WIPO (PCT)
Prior art keywords
slot
node
data
ring network
buffer
Prior art date
Application number
PCT/CN2021/096511
Other languages
French (fr)
Chinese (zh)
Inventor
夏晶
蔡春晓
王堃
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2021/096511 priority Critical patent/WO2022246761A1/en
Priority to CN202180098579.8A priority patent/CN117397214A/en
Publication of WO2022246761A1 publication Critical patent/WO2022246761A1/en

Links

Images

Definitions

  • the present application relates to the field of chip technology, in particular to a deadlock release method and a system on chip.
  • the size of transistors is continuously reduced, so that a large number of modules can be integrated on a single chip.
  • the interconnection between the nodes, the data transmission between the modules can be carried out through the ring network.
  • the module may be a central processing unit (central processing unit, CPU), a double data rate synchronous dynamic random access memory (double data rate synchronous dynamic random access memory, DDR) and the like.
  • the chip design has begun to develop from a single ring to multiple rings. That is, there may be multiple rings in a single chip, and connections between the rings are established, so that data transmission can be performed between modules corresponding to different rings in the chip.
  • the chip system may include multiple chips, and rings on different chips may also establish connections, so that data transmission may also be performed between modules corresponding to rings on different chips.
  • a ring includes multiple slots, each slot can be connected to a node, and the node is connected to one or more modules.
  • Each node includes an egress buffer and an ingress buffer.
  • a node needs to send data to other modules, it first sends the data to the entry buffer in the connected node.
  • the entry buffer sends the data to the slot.
  • Slots transmit data to adjacent downstream slots in a clockwise or counterclockwise direction.
  • the slot sends the data to the egress buffer of the connected node, and then the module obtains the data in the egress buffer. In this way, the data transmission between the two modules is completed.
  • the two rings can be connected through a bridge.
  • a module needs to send data to other modules corresponding to the ring, the data needs to be sent to the export buffer in the connected node through the slot at the connection between the two rings, and then It is sent from the egress buffer to the buffer of the bridge, and then enters the ingress buffer of another ring, and then enters another ring, and then the ring transmits the data to the destination.
  • Embodiments of the present application provide a method, device and system-on-a-chip for deadlock release, so as to overcome the deadlock problem that occurs when multiple rings are interconnected in the related art.
  • a deadlock release method is provided, the method is applied to the first node corresponding to the first ring network, the first node is connected to the first slot in the first ring network, the first node and the first slot are connected
  • the second node connection corresponding to the two ring networks the method includes: detecting that the first node is in a first state, wherein the first state is a state where there is a possibility of deadlock. Controlling the first slot to send the first data in the first ring network to the reserved buffer in the first egress buffer of the first node, wherein the destination of the first data is not a module corresponding to the first ring network. Send the data in the first entry buffer area to the first slot.
  • the first node when it detects that the first node has the possibility of deadlock, it can set the slots in the first ring network to those whose destination is not the first ring network.
  • the data enters the reserved buffer of the first egress buffer of the first node through the first slot. In this way, an empty slot can appear in the first ring network, and the data in the first entry buffer can enter the first ring network.
  • the data in the egress cache in the second node can enter the first ingress cache
  • the data in the second ring network can enter the egress cache in the second node
  • the data in the ingress cache in the second node can Enter the second ring network, and cycle through this to remove the deadlock.
  • the data in the first entry buffer needs to be sent to the first slot when the first slot is empty.
  • the first slot sends data to the reserved buffer of the first egress buffer in the first clock cycle, then, the first slot is empty during the remaining time of the first clock cycle.
  • the first node may send the data in the first entry buffer area to the first slot in the first clock cycle.
  • the first node if the first node cannot send the data in the first entry buffer to the first slot in the first clock cycle, then the first node needs to wait for the first slot to be empty again, Only then can the data in the first entry buffer be sent to the first slot. In this way, it is necessary to ensure that the vacancy is not occupied by data sent by other nodes. Specifically, the following method can be used to realize that the vacancy is not occupied by data sent by other nodes except the first node.
  • the first node sends a vacancy reservation signal to the first slot.
  • the slot reservation signal is used to instruct the first slot to send a slot occupation signal to the second slot in the next clock cycle.
  • the second slot is a downstream slot adjacent to the first slot, and the vacancy occupancy signal is used to indicate that the node connected to the second slot is not allowed to send data to the second slot, and instruct the second slot to send data to the downstream slot adjacent to the second slot Slot occupied signal. In this way, after the slots other than the first slot receive the vacancy occupancy signal, they no longer receive the data sent by the connected nodes, so that the vacancy can be reserved and not occupied.
  • N is the number of slots in the first ring network.
  • a pre-judgment mechanism may be set in the ring network, and correspondingly, the method for sending data in the first ring network whose destination is not the first ring network to the reserved buffer may be as follows:
  • the first node sends a deadlock indication signal to the third slot.
  • the third slot is an upstream slot adjacent to the first slot, and the deadlock indication signal is used to indicate that the third slot judges that the destination of the first data currently cached is not the module corresponding to the first ring network
  • an arrival signal is sent to the first slot.
  • the arrival signal is used to instruct the first slot to send the first data to the reserved buffer in the first egress buffer of the first node when receiving the first data.
  • the method for detecting the possibility of deadlock in the first node may be as follows:
  • the first node detects that the number of consecutive failures for data in the first entry buffer to enter the first slot is greater than a first threshold.
  • the method for detecting the possibility of deadlock in the first node may also be as follows:
  • the first node detects that the available cache occupancy rate of the first entry cache area is greater than a second threshold.
  • the method for detecting the possibility of deadlock in the first node may be as follows:
  • the first node detects that the available buffer occupancy rate of the first egress buffer area is greater than a third threshold.
  • the above three methods for detecting the possibility of deadlock in the first node can be used in combination, that is, when the first node meets any of the conditions of the above three methods, it can be considered that the first node exists deadlock possibility.
  • the first node when detecting that the first node has returned to a state of normal data transmission, the first node may control each slot in the first ring network to return to a normal working state.
  • the method for detecting that the first node returns to the state of normal data transmission may be as follows:
  • the first node detects that the available cache occupancy rate of the first entry cache area is less than a fourth threshold.
  • the method for detecting that the first node returns to the state of normal data transmission may be as follows:
  • the first node detects that the available buffer occupancy rate of the first egress buffer area is less than a fifth threshold.
  • a deadlock release method is provided, the method is applied to the first node corresponding to the first ring network, the first node is connected to the first slot in the first ring network, and the first node and the first slot are connected to each other.
  • the second node connection corresponding to the two-ring network the method includes:
  • the first node detects that the first node is in a first state, wherein the first state is a state in which deadlock may occur.
  • the vacancy reservation signal is used to instruct the second slot to send a vacancy occupancy signal to the adjacent downstream third slot
  • the vacancy occupancy signal is used to indicate that the node connected to the third slot is not allowed to send data to the third slot, and to indicate that the third slot is not allowed to send data to the third slot.
  • the three slots send the vacancy occupancy signal to a downstream slot adjacent to the third slot.
  • the data cached in at least one slot in the first ring network can be entered into the reserved cache, so that an empty slot can appear in the first ring network, and the first The data in the ingress buffer can enter the first ring network. Furthermore, the data in the egress cache in the second node can enter the first ingress cache, the data in the second ring network can enter the egress cache in the second node, and the data in the ingress cache in the second node can Enter the second ring network, and cycle through this to remove the deadlock.
  • the first ring network belongs to the first chip
  • the second ring network belongs to the second chip
  • the first chip further includes a third ring network
  • the first ring network further includes a second ring network.
  • the data cached in the second slot is controlled to enter the reserved cache corresponding to the first ring network, and the reserved cache can be the third node Reserved cache in the egress cache.
  • a deadlock indication signal is sent to the fourth slot.
  • the deadlock indication information is used to instruct the fourth slot to send an arrival signal and data to the fifth slot in the next clock cycle when the fourth slot receives the vacancy occupancy signal and data sent by the adjacent upstream slot, and the arrival signal is used to indicate The fifth slot sends the data to the reserved buffer of the egress buffer of the third node when receiving the data and the arrival signal in one clock cycle.
  • the method for detecting the possibility of deadlock in the first node may be as follows:
  • the first node detects that the number of consecutive failures for data in the first entry buffer to enter the first slot reaches a first threshold.
  • the method for detecting the possibility of deadlock in the first node may be as follows:
  • the first node detects that the occupancy rate of the available cache in the first ingress cache reaches a second threshold.
  • the method for detecting the possibility of deadlock in the first node may be as follows:
  • the first node detects that the available buffer occupancy rate of the first egress buffer area is greater than a third threshold.
  • the above three methods for detecting the possibility of deadlock in the first node can be used in combination, that is, when the first node meets any of the conditions of the above three methods, it can be considered that the first node exists deadlock possibility.
  • the first node when it is detected that the first node returns to the state of normal data transmission, the first node may control each slot in the first ring network to return to the normal working state.
  • the method for detecting that the first node returns to the state of normal data transmission may be as follows:
  • the first node detects that the available cache occupancy rate of the first entry cache area is less than a fourth threshold.
  • the method for detecting that the first node returns to the state of normal data transmission may be as follows: the first node detects that the available buffer occupancy rate of the first egress buffer area is less than the fifth threshold.
  • a system on chip in a third aspect, includes a first ring network and a second ring network, the first ring network includes a first node, and the second ring network includes a second node, The first node is connected to the second node, and the first node is configured to execute the deadlock removal method described in the first aspect or the second aspect.
  • the first node when it detects that there is a possibility of deadlock in the first node, it can pass the data whose destination is not the first ring network in each slot of the first ring network
  • the first slot enters the reserved buffer of the first egress buffer of the first node. In this way, an empty slot can appear in the first ring network, and the data in the first entry buffer can enter the first ring network.
  • the data in the egress cache in the second node can enter the first ingress cache
  • the data in the second ring network can enter the egress cache in the second node
  • the data in the ingress cache in the second node can Enter the second ring network, and cycle through this to remove the deadlock.
  • FIG. 1 is a schematic diagram of a system-on-a-chip provided by an embodiment of the present application
  • FIG. 2 is a schematic diagram of a system-on-a-chip provided by an embodiment of the present application
  • FIG. 3 is a schematic diagram of a system-on-a-chip provided by an embodiment of the present application.
  • FIG. 4 is a flow chart of a deadlock release method provided in an embodiment of the present application.
  • FIG. 5 is a flowchart of a deadlock release method provided in an embodiment of the present application.
  • FIG. 6 is a schematic diagram of a system on a chip provided by an embodiment of the present application.
  • the embodiment of the present application provides a method for deadlock release, which can be applied in a system on chip (System on Chip, SoC).
  • SoC System on Chip
  • This application is applicable to any system-on-chip including multiple ring networks. Multiple ring networks can be on different chips or on the same chip.
  • SoCs are exemplarily listed below.
  • the system on chip as shown in Figure 1 comprises a first ring network and a second ring network, the first node of the first ring network and the first slot connection in the first ring network, the first node and the second ring network
  • the second nodes corresponding to the ring network are connected through the ring network connection device, and the ring network connection device includes a buffer zone.
  • Each slot in the ring network is connected to a node, and then the node is connected to a module.
  • the module can be a central processing unit (central processing unit, CPU), a double data rate synchronous dynamic random access memory (DDR), Last level cache (last level cache, LLC), etc.
  • a deadlock processing module is set in the first node, and a reserved cache is set in the first egress buffer area of the first node.
  • the deadlock removal method provided in the embodiment of the present application may be executed by the deadlock processing module.
  • each node connected to other ring networks can be provided with a deadlock processing module and a reserved cache, as shown in Figure 1, both the first node and the second node can be provided with The deadlock processing module and the reserved cache, both of the deadlock processing modules can execute the deadlock removal method provided by the embodiment of the present application.
  • the system on chip shown in FIG. 2 includes four ring networks, and the four ring networks are located on two chips.
  • FIG. 2 only exemplarily shows the relationship between multiple ring networks, and does not show the nodes and modules connected by slots. Specifically, each ring network and connected nodes and modules can be referred to as shown in FIG. 1 .
  • the system on chip shown in FIG. 3 includes six ring networks, the six ring networks are located on three chips, and the six ring networks form another ring.
  • FIG. 3 also only exemplarily shows the relationship between multiple ring networks, and does not show the nodes and modules connected by slots. Specifically, each ring network and connected nodes and modules can be referred to as shown in FIG. 1 .
  • Slot is the storage medium of data on the ring network. Data can be transmitted between the slots, and the data can be transmitted between the slots of the ring network in a clockwise or counterclockwise direction.
  • a node includes an entry buffer and an exit buffer. One side of the node is connected to the slot in the ring network.
  • the module can be a central processing unit (central processing unit, CPU), double data rate synchronous dynamic random access memory (double data rate synchronous dynamic random access memory, DDR), etc.
  • the ring network connection device includes a cache area.
  • the entry cache is used to cache data.
  • the source of the data in the entry buffer the entry cache in the node connected to the module, and the cached data comes from the connected module.
  • the entry cache in the node connected to the ring network connection device, the data in the cache comes from the buffer in the ring network connection device.
  • Destination of data in the entry cache the slot connected to the node where the entry cache is located.
  • the egress buffer is used to cache data.
  • the source of the data in the export buffer the slot connected to the node where the export buffer is located.
  • the export buffer in the node connected to the module Destination of the data in the export buffer area: the export buffer in the node connected to the module, the cached data is sent to the connected module.
  • the egress buffer in the node connected to the ring network connection device sends the buffered data to the buffer in the connected ring network connection device.
  • a module When a module needs to send data to other modules, it first sends the data to the entry buffer of the connected node. Then, in the case that the slot connected to the node is empty, data is sent to the slot.
  • the data carries the identification of the destination (the module that finally processes the data), the identification of the ring network where the destination is located, and the identification of the chip where the destination is located.
  • the slot sends the data to the adjacent downstream slot in a predetermined direction.
  • the slot corresponding to the destination receives the data
  • the slot corresponding to the destination sends the data to the egress buffer of the connected node, and the destination can obtain the data in the egress buffer and perform subsequent processing.
  • the data When the destination of the data is a module corresponding to another ring network, the data will be transmitted to the first slot (the slot connected to the node connected to the other ring network). After the first slot receives the data, it sends the data to the entry buffer of the connected node. Then the entry buffer is sent to the buffer area of the ring network connection device, and then sent from the buffer to the entry buffer of another node connected to the ring network connection device, and then enters another ring network .
  • the ring network is also equipped with an in-place pre-judgment mechanism.
  • the in-place pre-judgment mechanism can be as follows:
  • a slot When a slot receives the data sent by the upstream slot, it judges whether the destination of the data is itself according to the identifier of the destination in the data, the identifier of the ring network corresponding to the destination, and the identifier of the chip where the destination is located.
  • the module corresponding to the adjacent downstream slot If the destination of the data is the module corresponding to its adjacent downstream slot, when the data is sent to the adjacent downstream slot, an arrival (arrival) signal is sent at the same time.
  • the adjacent downstream slot receives the data and the corresponding arrive signal, it sends the data to the corresponding egress buffer, and the corresponding module acquires the data in the egress buffer for processing.
  • a method for releasing a deadlock provided in the embodiment of the present application will be described below with reference to FIG. 1 .
  • the processing flow of the method may include the following steps:
  • Step 101 Detect that the first node is in a first state, where the first state is a state in which deadlock may occur.
  • the deadlock processing module in the first node can detect the state of the first node based on various parameters. For example, the number of consecutive failures for data in the first entry buffer to enter the first slot, the available cache occupancy rate of the first entry buffer area, and the available cache occupancy rate of the first egress buffer area, etc.
  • the deadlock detection module detects that the first node meets one or more of the following conditions, it may be considered that the first node is in the first state.
  • the number of consecutive failures for data in the first entry buffer to enter the first slot is greater than a first threshold.
  • the first threshold may be set according to actual conditions, for example, the value range of the first threshold may be between 400 times and 600 times.
  • the available cache occupancy rate of the first entry cache area is greater than the second threshold.
  • the second threshold can be set according to the actual situation. For example, in order to predict the occurrence of deadlock, the second threshold can be set relatively small, such as between 70% and 80%.
  • the available buffer occupancy rate of the first egress buffer is greater than the third threshold.
  • the third threshold can be set according to the actual situation. For example, in order to predict the occurrence of deadlock, the third threshold can be set relatively small, such as between 70% and 80%.
  • the first entry cache needs to send a data sending request to the first slot. If the first slot is already occupied, it cannot receive the data sent by the first entry cache. , the first slot returns a rejection message to the first entry cache. If the first slot is not occupied and can receive the data sent by the first entry cache, a permission message is returned to the first entry cache.
  • the data sending request, the rejection message and the permission message can all be forwarded via the deadlock processing module, therefore, the deadlock processing module can know the quantity of the rejection message and the permission message, and then can use the quantity of the rejection message received continuously as The number of consecutive failures for data in the first entry buffer to enter the first slot.
  • rejection messages received continuously means that after receiving a rejection message, the rejection message is received again without receiving the permission message, and the two rejection messages are considered to be received continuously.
  • the deadlock processing module can detect the occupied available buffer in the first entry buffer according to the preset detection period, and calculate the ratio of the occupied available buffer to the total available buffer in the first entry buffer, and obtain The available cache occupancy of the first entry cache.
  • the deadlock processing module can detect the occupied available buffer in the first egress buffer according to the preset detection cycle, and calculate the ratio of the occupied available buffer to the total available buffer in the first egress buffer, The available buffer occupancy rate of the first egress buffer area is obtained.
  • the total available buffer of the first egress buffer does not include the reserved buffer specified in the first egress buffer in this application for deadlock release.
  • Step 102 controlling the first slot to send the first data in the first ring network to the reserved buffer in the first egress buffer of the first node, wherein the destination of the first data is not the first ring The corresponding module of the network.
  • step 102 when the ring network is configured with the above-mentioned pre-judgment mechanism in place, the processing of step 102 can be as follows:
  • the deadlock processing module sends a deadlock indication signal to the third slot, where the third slot is an upstream slot adjacent to the first slot.
  • the deadlock processing module can be electrically connected to the third slot, and when the deadlock processing module detects that the first node is in the first state, it sends a deadlock indication signal to the third slot, and the deadlock indication signal It can be a high level signal or a low level signal.
  • the deadlock processing module can always send a low level signal to the third slot, and when it detects that the first node is in the first state, it starts to send a low level signal to the third slot A high-level signal is sent, and the high-level signal is the above-mentioned deadlock indication signal.
  • the third slot After receiving the deadlock indication information sent by the deadlock processing module, the third slot enters the deadlock release working mode from the normal working mode. In the deadlock release mode, the operation of the third slot is as follows:
  • the third slot may store the identifier of the first ring network, and if the third slot judges that the identifier of the ring network corresponding to the destination carried in the received first data is not the identifier of the first ring network, then determine the The destination of the first data is not the module corresponding to the first ring network. Then, the third slot sends the first data to the first slot, and at the same time sends an arrive signal.
  • the first slot also receives the arrive signal when receiving the first data sent by the third slot, it sends the first data to the reserved buffer of the first egress buffer of the first node.
  • the reserved buffer in the first egress buffer when the first node is not in the first state, the reserved buffer in the first egress buffer is in an inactive state, that is, the slot is not allowed to send data to it.
  • the reserved buffer area in the first egress buffer area changes from an unopened state to an open state, that is, the first slot is allowed to send data thereto.
  • the first data in the deadlock release working mode, as long as the destination of the first data is not the first ring network, regardless of whether the destination is the second ring network, the first data must be in the second ring network.
  • the first slot is sent to the reserved buffer of the egress buffer.
  • the destination of the first data is the module corresponding to the third ring network
  • the third ring network is another ring network connected to the first ring network, and the access to the third ring network does not need to pass through the third ring network.
  • Two ring networks In this case, relative to changing the route of the first data, it enters the reserved cache of the egress buffer at the first slot, and then enters the second ring network.
  • the first data will eventually return to the first ring network through the transmission of each slot, and enter the third ring network according to a normal route after the deadlock is released.
  • Step 103 sending the data in the first entry buffer area to the first slot.
  • the first ingress buffer of the first node can send the buffered data to the first slot. Because the chip mechanism is different, the timing when the data in the first entry buffer enters the first slot can also be different.
  • the first slot in the first clock cycle, sends the buffered data to the reserved buffer of the first egress buffer, and also in the first clock cycle, the first ingress buffer sends the buffered data Send to the first slot.
  • the first slot sends the first data to the reserved buffer in the first egress buffer, then, in the first clock cycle and after the first moment, the first slot One slot is empty.
  • the first entry cache can send the cached data to the first slot.
  • the first slot in the first clock cycle, sends the buffered data to the reserved buffer of the first egress buffer, and the first ingress buffer does not send the cached data to the buffer in the first clock cycle If the data is sent to the first slot, then the first entry buffer can send the cached data to the first slot when the first slot is empty again.
  • the upstream slot adjacent to the first slot sends the buffered data to the first slot, and the downstream slot adjacent to the first slot becomes for vacancies.
  • the downstream slot adjacent to the first slot becomes for vacancies.
  • the deadlock processing module When the deadlock processing module detects that the first node is in the first state, it sends a vacancy reservation signal to the first slot, and after the first slot receives the vacancy reservation message, it sends a message to the second slot (the first slot phase
  • the adjacent downstream slot sends a vacancy occupancy signal, and after receiving the vacancy occupancy signal, the second slot no longer receives data sent by the corresponding node, and the second slot is empty within this clock cycle.
  • the second slot sends a vacancy occupancy signal to the downstream slot adjacent to the second slot. After receiving the vacancy occupancy signal, the downstream slot adjacent to the second slot no longer receives the data sent by the corresponding node. Then, within this clock cycle, the downstream slot adjacent to the second slot is empty.
  • the first slot is empty again, where N is the number of slots in the first ring network. Different from other slots, even if the first slot also receives the vacancy occupancy signal, it allows the first entry buffer to send the buffered data to the first slot.
  • the deadlock processing module When the deadlock processing module detects that the first node is in the first state, it sends an entry blocking message to each node in the ring network corresponding to the first node except the first node, and after each node receives the entry blocking message, it does not Then send data to the corresponding slot.
  • the first slot is empty in the first clock cycle
  • the second slot (the downstream slot adjacent to the first slot) is empty in the next clock cycle, and the second solt will not be occupied in this clock cycle, and the second slot will not be occupied in the next clock cycle.
  • the downstream slot adjacent to the second slot is empty in one clock cycle, and the downstream slot adjacent to the second slot will not be occupied in this clock cycle.
  • the first entry buffer can send the cached data to the first slot, where N is the slot in the ring network quantity.
  • the data in the first ring network can enter the reserved buffer, so that the first ring network leaves a space, and the data in the first entry buffer can enter the first ring network, and then the second
  • the data in the egress buffer in the node can enter the first ingress buffer
  • the data in the second ring network can enter the egress buffer in the second node
  • the data in the ingress buffer in the second node can enter the second ring
  • the deadlock can be resolved by this cycle.
  • the above process can be continuously executed, so that during the period when the first node is in the first state, empty slots will continuously appear in the first ring network, so that the first node
  • the data in the entry buffer of can enter the first ring network.
  • the deadlock processing module in the first node Until the deadlock processing module in the first node detects that the first node is in the second state, the deadlock processing module controls each slot in the ring network to return to a normal working state, and closes the reserved buffer in the first egress buffer area , does not allow data to enter.
  • the condition for detecting that the first node is in the second state may be: detecting that the available cache occupancy rate of the first ingress buffer area is less than the fourth threshold, or detecting that the available cache occupancy rate of the first egress buffer area is less than the fifth threshold value.
  • the fourth threshold and the fifth threshold can be set according to actual needs, for example, they can be 30% to 40%.
  • the processing flow of the method may include the following steps:
  • Step 201 Detect that the first node is in a first state, where the first state is a state where there is a possibility of deadlock.
  • the deadlock processing module in the first node detects that the first node is in the first state based on various parameters, such as the number of consecutive failures that the data in the first entry buffer area enters the first slot, the first entry buffer area The available cache occupancy rate of , the available cache occupancy rate of the first egress buffer area, etc.
  • the deadlock detection module detects that the first node meets one or more of the following conditions, it may be considered that the first node is in the first state.
  • the number of consecutive failures for data in the first entry buffer to enter the first slot is greater than a first threshold.
  • the first threshold may be set according to actual conditions, for example, the value range of the first threshold may be between 400 times and 600 times.
  • the available cache occupancy rate of the first entry cache area is greater than the second threshold.
  • the second threshold can be set according to the actual situation. For example, in order to predict the occurrence of deadlock, the second threshold can be set relatively small, such as between 70% and 80%.
  • the available buffer occupancy rate of the first egress buffer is greater than the third threshold.
  • the third threshold can be set according to the actual situation. For example, in order to predict the occurrence of deadlock, the third threshold can be set relatively small, such as between 70% and 80%.
  • the first entry cache needs to send a data sending request to the first slot. If the first slot is already occupied, it cannot receive the data sent by the first entry cache. , the first slot returns a rejection message to the first entry cache. If the first slot is not occupied and can receive the data sent by the first entry cache, a permission message is returned to the first entry cache.
  • the data sending request, the rejection message and the permission message can all be forwarded via the deadlock processing module, therefore, the deadlock processing module can know the quantity of the rejection message and the permission message, and then can use the quantity of the rejection message received continuously as The number of consecutive failures for data in the first entry buffer to enter the first slot.
  • rejection messages received continuously mean that after receiving a rejection message, the rejection message is received again without receiving the permission message, and the two rejection messages are considered to be received consecutively.
  • the deadlock processing module can detect the occupied available buffer in the first entry buffer according to the preset detection period, and calculate the ratio of the occupied available buffer to the total available buffer in the first entry buffer, and obtain Available cache occupancy of the first entry cache.
  • the deadlock processing module can detect the occupied available buffer in the first egress buffer according to the preset detection cycle, and calculate the ratio of the occupied available buffer to the total available buffer in the first egress buffer, The available buffer occupancy rate of the first egress buffer area is obtained.
  • the total available buffer of the first egress buffer does not include the reserved buffer specified in the first egress buffer in this application for deadlock release.
  • Step 202 Send a vacancy reservation signal to the second slot, and control the data buffered in the second slot to enter the reserved buffer corresponding to the first ring network when the second slot has data buffered.
  • the deadlock processing module when the deadlock processing module detects that the first node is in the first state, it may first enable the reserved buffer in the first egress buffer of the first node. And a vacancy reservation signal may be sent to at least one slot in the first ring network. Wherein, at least one slot may be any slot in the pre-designated first ring network, and the second slot may be any slot in the at least one slot.
  • the deadlock processing module is electrically connected to the at least one slot.
  • the slot reservation signal can be a high level signal or a low level signal.
  • the data in the second slot cache needs to enter the reserved buffer corresponding to the first ring network, so that an empty slot appears in the first ring network, and then the data in the entry buffer of the first node can enter the first ring network in a ring network.
  • the following describes how the data in the second slot enters the reserved buffer corresponding to the first ring network in combination with different scenarios.
  • the first ring network is connected to at least one ring network, and the ring networks connected to the first ring network are all in the same chip as the first ring network, or in different chips.
  • the nodes connected to the first ring network and each ring network may be provided with deadlock processing modules, and the egress buffer areas of these nodes may be provided with reserved buffers.
  • the data in the second slot enters the reserved cache of the corresponding node according to the normal route.
  • the three ring networks shown in FIG. 6 are located on the same chip or respectively located on three chips.
  • the data in the second slot enters the reserved buffer corresponding to the first ring network in combination with FIG. 6 .
  • the second slot After the second slot receives the vacancy reservation signal, in the next clock cycle, the second slot sends a vacancy occupation signal to the fourth slot, wherein the fourth slot is a downstream slot adjacent to the second slot. If there is data cached in the second slot, the data can be routed normally and enter the enabled reserved cache.
  • the data enters the reserved buffer in the egress buffer of the first node at the first slot. If the destination of the data in the second slot is the third ring network, the data enters the reserved buffer in the egress buffer of the third node at the sixth slot.
  • the reserved cache in the first node and the reserved cache in the third node are reserved caches corresponding to the first ring network.
  • the first ring network is connected to a ring network in the same chip, and is also connected to a ring network in a different chip.
  • the nodes connected to the first ring network and each ring network can be equipped with a deadlock processing module, and there can be reserved buffers in the egress buffer areas of these nodes.
  • the data in the second slot does not need to be transmitted according to the normal route, but enters the reserved buffer of the node connected to the ring network in the chip.
  • the first ring network and the third ring network are located on the same chip, and the second ring network is located separately on another chip.
  • the data in the second slot enters the reserved buffer corresponding to the first ring network in combination with FIG. 6 .
  • the second slot After the second slot receives the vacancy reservation signal, in the next clock cycle, the second slot sends a vacancy occupation signal to the fourth slot, wherein the fourth slot is a downstream slot adjacent to the second slot. At the same time, the second slot also sends the cached first data to the fourth slot.
  • the deadlock processing module sends a deadlock indication signal to the fifth slot, where the fifth slot is an upstream slot adjacent to the sixth slot.
  • the fifth slot receives the deadlock indication information sent by the deadlock processing module, it enters the deadlock release working mode from the normal working mode.
  • the fifth slot may store the identifier of the first ring network, and if the fifth slot receives a vacancy occupancy signal in a certain clock cycle, it is judged whether the identifier of the ring network corresponding to the destination carried in the first data is stored If the identifier of the first ring network corresponding to the destination carried in the first data is not the stored first ring network identifier, it is determined that the destination of the first data is not the first ring The module corresponding to the shape network. Then, the fifth slot sends the first data and the vacancy occupancy signal to the sixth slot, and simultaneously sends an arrive signal.
  • the sixth slot If the sixth slot also receives the arrive signal when receiving the first data, the first data is sent to the reserved buffer of the egress buffer of the first node. In the next clock cycle, the sixth slot sends a vacancy occupancy signal to the adjacent downstream slots, and the downstream slots adjacent to the sixth slot are empty in this clock cycle. Until a certain clock cycle, the first slot is empty, and the first slot receives a vacancy occupancy signal during the clock cycle, the entry buffer of the first node is allowed to send data to the first slot.
  • the above process can be continuously executed, so that during the period when the first node is in the first state, empty slots will continuously appear in the first ring network, so that the first node
  • the data in the entry buffer of can enter the first ring network.
  • the deadlock processing module in the first node Until the deadlock processing module in the first node detects that the first node is in the second state, the deadlock processing module controls each slot in the ring network to return to a normal working state, and closes the reserved buffer in the first egress buffer area , does not allow data to enter.
  • the condition for detecting that the first node is in the second state may be: detecting that the available cache occupancy rate of the first ingress buffer area is less than the fourth threshold, or detecting that the available cache occupancy rate of the first egress buffer area is less than the fifth threshold value.
  • the fourth threshold and the fifth threshold can be set according to actual needs, for example, they can be 30% to 40%.
  • any node connecting any ring network to other ring networks may be provided with a deadlock processing module, and the embodiment of the present application may be deployed in the deadlock processing module Either of the two deadlock release methods provided.
  • the same deadlock removal method may be deployed in the deadlock processing modules of different nodes, and different deadlock removal methods may also be deployed.
  • the first deadlock removal method may be deployed in a deadlock processing module of a node connecting the ring network to other ring networks.
  • the second deadlock removal method may be deployed in the deadlock processing module of the node connecting the ring network to other ring networks.
  • the first deadlock release method is deployed on the node Methods. If a node of the ring network is connected to another ring network of a different chip, the second deadlock removal method is deployed on the node.
  • the first deadlock removal method may be deployed in the deadlock processing module of the nodes connected to ring network 1 and ring network 2 .
  • the second deadlock removal method may be deployed in the deadlock processing module of the nodes connected by the ring network 2 and the ring network 3 .
  • the first deadlock removal method can be deployed in the deadlock processing module of the nodes connected by the ring network 3 and the ring network 4 .
  • the deadlock processing module of the nodes connected to the ring network 1 and the ring network 2 in the deadlock processing module of the nodes connected to the ring network 3 and the ring network 4, in the ring network 5
  • the first deadlock removal method can be deployed in the deadlock processing module of the nodes connected to the ring network 6 .
  • the deadlock processing module of the nodes connected by ring network 1 and ring network 3 in the deadlock processing module of the nodes connected by ring network 2 and ring network 6, the nodes connected by ring network 4 and ring network 5
  • the second deadlock removal method can be deployed in the deadlock processing module of .
  • all or part may be implemented by software, hardware, firmware or any combination thereof, and when software is used, all or part may be implemented in the form of a computer program product.
  • the computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the device, all or part of the processes or functions according to the embodiments of the present application will be generated.
  • the computer-readable storage medium may be any available medium that can be accessed by the device, or a data storage device such as a server or a data center integrated with one or more available media.
  • the available medium may be a magnetic medium (such as a floppy disk, a hard disk, and a magnetic tape, etc.), an optical medium (such as a digital video disk (Digital Video Disk, DVD), etc.), or a semiconductor medium (such as a solid-state hard disk, etc.).
  • a magnetic medium such as a floppy disk, a hard disk, and a magnetic tape, etc.
  • an optical medium such as a digital video disk (Digital Video Disk, DVD), etc.
  • a semiconductor medium such as a solid-state hard disk, etc.
  • the program can be stored in a computer-readable storage medium.
  • the above-mentioned The storage medium mentioned may be a read-only memory, a magnetic disk or an optical disk, and the like.

Landscapes

  • Small-Scale Networks (AREA)

Abstract

A deadlock recovery method and an on-chip system, relating to the technical field of chips. The method comprises: when a first node detects that there is a possibility that deadlock occurs in the first node, data, in each slot of a first ring network, the destination of which is not the first ring network enters a reserved cache of a first egress cache area of the first node by means of the first slot. In this way, an empty slot may appear in the first ring network, and data in a first ingress cache area can enter the first ring network, such that data of an egress cache area in a second node can enter the first ingress cache area, data in a second ring network can enter the egress cache area of the second node, and data in the ingress cache area of the second node can enter the second ring network, thereby recovering deadlock by means of such circulation.

Description

死锁解除的方法和片上系统Deadlock release method and system on chip 技术领域technical field
本申请涉及芯片技术领域,特别涉及一种死锁解除的方法和片上系统。The present application relates to the field of chip technology, in particular to a deadlock release method and a system on chip.
背景技术Background technique
随着半导体工艺技术的不断发展,晶体管的尺寸不断缩小,使得在单个芯片上可以集成大量模块,此时,可以采用消耗资源少、时延低的环状网络(ring network,简称ring)实现多个节点之间的互联,模块之间可以通过环状网络进行数据传输。其中,模块可以为中央处理器(central processing unit,CPU)、双倍速率同步动态随机存储器(double data rate synchronous dynamic random access memory,DDR)等。With the continuous development of semiconductor process technology, the size of transistors is continuously reduced, so that a large number of modules can be integrated on a single chip. The interconnection between the nodes, the data transmission between the modules can be carried out through the ring network. Wherein, the module may be a central processing unit (central processing unit, CPU), a double data rate synchronous dynamic random access memory (double data rate synchronous dynamic random access memory, DDR) and the like.
而随着芯片规模的扩大,ring需要连接的模块越来越多,在芯片设计上开始由单个ring向多个ring发展。即,在单个芯片内可以有多个ring,ring之间再建立连接,以使芯片内不同ring对应的模块间可以进行数据传输。此外,在芯片系统中可以包括多个芯片,不同芯片上的ring也可以建立连接,以使不同芯片上ring对应的模块间也可以进行数据传输。With the expansion of the chip scale, more and more modules need to be connected to the ring, and the chip design has begun to develop from a single ring to multiple rings. That is, there may be multiple rings in a single chip, and connections between the rings are established, so that data transmission can be performed between modules corresponding to different rings in the chip. In addition, the chip system may include multiple chips, and rings on different chips may also establish connections, so that data transmission may also be performed between modules corresponding to rings on different chips.
一个ring包括多个槽(slot),每个slot可以连接一个节点,节点再连接一个或多个模块。每个节点包括出口缓冲区和入口缓存区。某节点需要向其他模块发送数据时,先将数据发送至连接的节点中的入口缓存区,在该节点连接的slot为空时,入口缓存区将数据发送至该slot中。Slot按照顺时针或者逆时针的方向,将数据传输给相邻的下游slot。当数据传输至目的地对于的slot时,slot将数据发送至连接的节点的出口缓存区,然后,模块再在出口缓存区中获取到数据。这样,便完成了两模块间的数据传输。两个ring之间可以通过桥接器连接,如果某模块需要将数据发送至其他ring对应的模块中,则需要通过两ring连接处的slot将数据先发送至连接的节点中的出口缓存区,再由出口缓冲区发送至桥接器的缓冲区,再进入另一个ring的入口缓存区,进而进入另一个ring中,再由该ring将数据传输至目的地。A ring includes multiple slots, each slot can be connected to a node, and the node is connected to one or more modules. Each node includes an egress buffer and an ingress buffer. When a node needs to send data to other modules, it first sends the data to the entry buffer in the connected node. When the slot connected to the node is empty, the entry buffer sends the data to the slot. Slots transmit data to adjacent downstream slots in a clockwise or counterclockwise direction. When the data is transmitted to the slot of the destination pair, the slot sends the data to the egress buffer of the connected node, and then the module obtains the data in the egress buffer. In this way, the data transmission between the two modules is completed. The two rings can be connected through a bridge. If a module needs to send data to other modules corresponding to the ring, the data needs to be sent to the export buffer in the connected node through the slot at the connection between the two rings, and then It is sent from the egress buffer to the buffer of the bridge, and then enters the ingress buffer of another ring, and then enters another ring, and then the ring transmits the data to the destination.
如果多个ring之间进行大量的数据传输,那么,可能导致两ring间的缓存区被占满,且ring上的slot也不存在空位。这样,多个ring之间无法进行数据传输,这种情况通常称为死锁。死锁的发生导致芯片系统中数据传输受阻,进而影响整个电子设备的运行。因此,亟需一种死锁解除的方法。If a large amount of data is transmitted between multiple rings, the buffer area between the two rings may be full, and there is no vacancy in the slot on the ring. In this way, data transmission cannot be performed between multiple rings, and this situation is usually called a deadlock. The occurrence of deadlock causes data transmission in the chip system to be blocked, thereby affecting the operation of the entire electronic device. Therefore, there is an urgent need for a method for deadlock removal.
发明内容Contents of the invention
本申请实施例提供了一种死锁解除的方法、装置和片上系统,以克服相关技术中在多个ring互连的情况下出现的死锁问题。Embodiments of the present application provide a method, device and system-on-a-chip for deadlock release, so as to overcome the deadlock problem that occurs when multiple rings are interconnected in the related art.
第一方面,提供了一种死锁解除的方法,该方法应用于第一环状网络对应的第一节点,第一节点和第一环状网络中的第一slot连接,第一节点和第二环状网络对应的第二节点连接,该方法包括:检测第一节点处于第一状态,其中,第一状态为存在发生死锁的可能性的状态。控制第一slot向第一节点的第一出口缓存区中的预留缓存,发送第一环状网络中的第一数据,其中,第一数据的目的地不是第一环状网络对应的模块。向第一slot发送第一入口缓存区中 的数据。In the first aspect, a deadlock release method is provided, the method is applied to the first node corresponding to the first ring network, the first node is connected to the first slot in the first ring network, the first node and the first slot are connected The second node connection corresponding to the two ring networks, the method includes: detecting that the first node is in a first state, wherein the first state is a state where there is a possibility of deadlock. Controlling the first slot to send the first data in the first ring network to the reserved buffer in the first egress buffer of the first node, wherein the destination of the first data is not a module corresponding to the first ring network. Send the data in the first entry buffer area to the first slot.
在本申请实施例所示的方案中,第一节点在检测到第一节点存在发生死锁的可能性时,可以将第一环状网络的各slot中目的地不是该第一环状网络的数据通过第一slot进入到第一节点的第一出口缓存区的预留缓存中。这样,第一环状网络中便可以出现空的slot,第一入口缓存区中的数据便可以进入第一环状网络中。进而,第二节点中的出口缓存区的数据可以进入第一入口缓存区,第二环状网络中的数据可以进入第二节点的出口缓存区中,第二节点中的入口缓存区的数据可以进入第二环状网络中,以此循环,便可以解除死锁。In the scheme shown in the embodiment of the present application, when the first node detects that the first node has the possibility of deadlock, it can set the slots in the first ring network to those whose destination is not the first ring network. The data enters the reserved buffer of the first egress buffer of the first node through the first slot. In this way, an empty slot can appear in the first ring network, and the data in the first entry buffer can enter the first ring network. Furthermore, the data in the egress cache in the second node can enter the first ingress cache, the data in the second ring network can enter the egress cache in the second node, and the data in the ingress cache in the second node can Enter the second ring network, and cycle through this to remove the deadlock.
在一种可能的实现方式中,第一入口缓冲区中数据需要在第一slot为空时,将数据发送至第一slot中。具体的,第一slot在第一时钟周期将数据发送至第一出口缓存区的预留缓存中,那么,在该第一时钟周期的剩余时间内,第一slot为空。那么,第一节点可以在该第一时钟周期向第一slot发送第一入口缓存区中的数据。In a possible implementation manner, the data in the first entry buffer needs to be sent to the first slot when the first slot is empty. Specifically, the first slot sends data to the reserved buffer of the first egress buffer in the first clock cycle, then, the first slot is empty during the remaining time of the first clock cycle. Then, the first node may send the data in the first entry buffer area to the first slot in the first clock cycle.
在一种可能的实现方式中,如果第一节点不能在第一时钟周期将第一入口缓存区中的数据发送至第一slot中,那么,第一节点需要等待第一slot再次为空时,才可以将第一入口缓存区中的数据发送至第一slot中。这样,就需要保证空位不被其他节点发送的数据占用。具体的,可以通过如下方法实现空位不被除第一节点以外的其他节点发送的数据占用。In a possible implementation manner, if the first node cannot send the data in the first entry buffer to the first slot in the first clock cycle, then the first node needs to wait for the first slot to be empty again, Only then can the data in the first entry buffer be sent to the first slot. In this way, it is necessary to ensure that the vacancy is not occupied by data sent by other nodes. Specifically, the following method can be used to realize that the vacancy is not occupied by data sent by other nodes except the first node.
第一节点向第一slot发送空位预留信号。其中,空位预留信号用于指示第一slot在下一个时钟周期向第二slot发送空位占用信号。第二slot为第一slot相邻的下游slot,空位占用信号用于指示与第二slot连接的节点不允许向第二slot发送数据,并指示第二slot向第二slot相邻的下游slot发送空位占用信号。这样,除第一slot以外的slot在接收到空位占用信号后,便不再接收连接的节点发送的数据,使得该空位可以被保留不被占用。The first node sends a vacancy reservation signal to the first slot. Wherein, the slot reservation signal is used to instruct the first slot to send a slot occupation signal to the second slot in the next clock cycle. The second slot is a downstream slot adjacent to the first slot, and the vacancy occupancy signal is used to indicate that the node connected to the second slot is not allowed to send data to the second slot, and instruct the second slot to send data to the downstream slot adjacent to the second slot Slot occupied signal. In this way, after the slots other than the first slot receive the vacancy occupancy signal, they no longer receive the data sent by the connected nodes, so that the vacancy can be reserved and not occupied.
这样,在第一时钟周期后第N个时钟周期,第一slot再次为空,那么,在该时钟周期内,第一节点便可以向第一slot发送第一入口缓存区中的数据。其中,N为第一环状网络中slot的数量。In this way, at the Nth clock cycle after the first clock cycle, the first slot is empty again, then, within this clock cycle, the first node can send the data in the first entry buffer area to the first slot. Wherein, N is the number of slots in the first ring network.
在一种可能的实现方式中,在环状网络中可以设置有到位预判机制,相应的,将第一环状网络中目的地不是第一环状网络的数据发送至预留缓存的方法可以如下:In a possible implementation, a pre-judgment mechanism may be set in the ring network, and correspondingly, the method for sending data in the first ring network whose destination is not the first ring network to the reserved buffer may be as follows:
第一节点向第三slot发送死锁指示信号。其中,第三slot是所述第一slot相邻的上游slot,所述死锁指示信号用于指示第三slot在判断当前缓存的第一数据的目的地不是第一环状网络对应的模块的情况下,向第一slot发送到达信号。其中,到达信号用于指示第一slot在接收到所述第一数据时,向第一节点的第一出口缓冲区中的预留缓存发送第一数据。The first node sends a deadlock indication signal to the third slot. Wherein, the third slot is an upstream slot adjacent to the first slot, and the deadlock indication signal is used to indicate that the third slot judges that the destination of the first data currently cached is not the module corresponding to the first ring network In this case, an arrival signal is sent to the first slot. Wherein, the arrival signal is used to instruct the first slot to send the first data to the reserved buffer in the first egress buffer of the first node when receiving the first data.
在一种可能的实现方式中,检测第一节点存在死锁可能性的方法可以如下:In a possible implementation manner, the method for detecting the possibility of deadlock in the first node may be as follows:
第一节点检测第一入口缓存区中的数据进入第一slot的连续失败次数大于第一阈值。The first node detects that the number of consecutive failures for data in the first entry buffer to enter the first slot is greater than a first threshold.
在一种可能的实现方式中,检测第一节点存在死锁可能性的方法还可以如下:In a possible implementation manner, the method for detecting the possibility of deadlock in the first node may also be as follows:
第一节点检测第一入口缓存区的可用缓存占用率大于第二阈值。The first node detects that the available cache occupancy rate of the first entry cache area is greater than a second threshold.
在一种可能的实现方式中,检测第一节点存在死锁可能性的方法可以如下:In a possible implementation manner, the method for detecting the possibility of deadlock in the first node may be as follows:
第一节点检测第一出口缓存区的可用缓存占用率大于第三阈值。The first node detects that the available buffer occupancy rate of the first egress buffer area is greater than a third threshold.
在本申请实施例所示的方案中,以上三种检测第一节点存在死锁可能性的方法可以结合使用,即当第一节点满足以上三种方法的任一条件即可以认为第一节点存在死锁可能性。In the scheme shown in the embodiment of this application, the above three methods for detecting the possibility of deadlock in the first node can be used in combination, that is, when the first node meets any of the conditions of the above three methods, it can be considered that the first node exists deadlock possibility.
在一种可能的实现方式中,在检测到第一节点恢复为数据传输正常的状态时,第一节点可以控制第一环状网络中的各slot恢复正常工作状态。In a possible implementation manner, when detecting that the first node has returned to a state of normal data transmission, the first node may control each slot in the first ring network to return to a normal working state.
在一种可能的实现方式中,检测到第一节点恢复为数据传输正常的状态的方法可以如下:In a possible implementation manner, the method for detecting that the first node returns to the state of normal data transmission may be as follows:
第一节点检测第一入口缓存区的可用缓存占用率小于第四阈值。The first node detects that the available cache occupancy rate of the first entry cache area is less than a fourth threshold.
在一种可能的实现方式中,检测到第一节点恢复为数据传输正常的状态的方法可以如下:In a possible implementation manner, the method for detecting that the first node returns to the state of normal data transmission may be as follows:
第一节点检测第一出口缓存区的可用缓存占用率小于第五阈值。The first node detects that the available buffer occupancy rate of the first egress buffer area is less than a fifth threshold.
第二方面,提供了一种死锁解除的方法,该方法应用于第一环状网络对应的第一节点,第一节点和第一环状网络中的第一slot连接,第一节点和第二环状网络对应的第二节点连接,该方法包括:In the second aspect, a deadlock release method is provided, the method is applied to the first node corresponding to the first ring network, the first node is connected to the first slot in the first ring network, and the first node and the first slot are connected to each other. The second node connection corresponding to the two-ring network, the method includes:
第一节点检测第一节点处于第一状态,其中,第一状态为存在发生死锁的可能性的状态。向第二slot发送空位预留信号,并在第二slot中缓存有数据的情况下,控制第二slot中缓存的数据进入第一环状网络对应的预留缓存中。其中,空位预留信号用于指示第二slot向相邻的下游的第三slot发送空位占用信号,空位占用信号用于指示第三slot连接的节点不允许向第三slot发送数据,并指示第三slot向第三slot相邻的下游slot发送所述空位占用信号。The first node detects that the first node is in a first state, wherein the first state is a state in which deadlock may occur. Sending a vacancy reservation signal to the second slot, and controlling the data buffered in the second slot to enter the reserved buffer corresponding to the first ring network when there is data buffered in the second slot. Wherein, the vacancy reservation signal is used to instruct the second slot to send a vacancy occupancy signal to the adjacent downstream third slot, and the vacancy occupancy signal is used to indicate that the node connected to the third slot is not allowed to send data to the third slot, and to indicate that the third slot is not allowed to send data to the third slot. The three slots send the vacancy occupancy signal to a downstream slot adjacent to the third slot.
在本申请实施例所示的方案中,可以使第一环状网络中的至少一个slot中缓存的数据进入预留缓存中,这样,第一环状网络中便可以出现空的slot,第一入口缓存区中的数据便可以进入第一环状网络中。进而,第二节点中的出口缓存区的数据可以进入第一入口缓存区,第二环状网络中的数据可以进入第二节点的出口缓存区中,第二节点中的入口缓存区的数据可以进入第二环状网络中,以此循环,便可以解除死锁。In the solution shown in the embodiment of the present application, the data cached in at least one slot in the first ring network can be entered into the reserved cache, so that an empty slot can appear in the first ring network, and the first The data in the ingress buffer can enter the first ring network. Furthermore, the data in the egress cache in the second node can enter the first ingress cache, the data in the second ring network can enter the egress cache in the second node, and the data in the ingress cache in the second node can Enter the second ring network, and cycle through this to remove the deadlock.
在一种可能的实现方式中,第一环状网络属于第一芯片,第二环状网络属于第二芯片,第一芯片中还包括第三环状网络,第一环状网络中还包括第四slot、第五slot和第三节点,第五slot是第四slot相邻的下游slot,第五slot和所述第二节点连接,第二节点和第三环状网络对应的第四节点连接。在此情况下,第一节点在第二slot中缓存有数据的情况下,控制第二slot中缓存的数据进入第一环状网络对应的预留缓存中,该预留缓存可以为第三节点中出口缓存区的预留缓存。In a possible implementation manner, the first ring network belongs to the first chip, the second ring network belongs to the second chip, the first chip further includes a third ring network, and the first ring network further includes a second ring network. Four slots, the fifth slot and the third node, the fifth slot is a downstream slot adjacent to the fourth slot, the fifth slot is connected to the second node, and the second node is connected to the fourth node corresponding to the third ring network . In this case, when the first node has data cached in the second slot, the data cached in the second slot is controlled to enter the reserved cache corresponding to the first ring network, and the reserved cache can be the third node Reserved cache in the egress cache.
在第二slot中缓存有数据的情况下,向第四slot发送死锁指示信号。其中,死锁指示信息用于指示第四slot在接收到相邻的上游slot发送的空位占用信号和数据的情况下,在下一时钟周期向第五slot发送到达信号和数据,到达信号用于指示第五slot在一个时钟周期接收到数据和所述到达信号的情况下,向第三节点的出口缓冲区的预留缓存发送所述数据。In the case that data is buffered in the second slot, a deadlock indication signal is sent to the fourth slot. Wherein, the deadlock indication information is used to instruct the fourth slot to send an arrival signal and data to the fifth slot in the next clock cycle when the fourth slot receives the vacancy occupancy signal and data sent by the adjacent upstream slot, and the arrival signal is used to indicate The fifth slot sends the data to the reserved buffer of the egress buffer of the third node when receiving the data and the arrival signal in one clock cycle.
在一种可能的实现方式中,检测第一节点存在死锁可能性的方法可以如下:In a possible implementation manner, the method for detecting the possibility of deadlock in the first node may be as follows:
第一节点检测第一入口缓存区中的数据进入第一slot的连续失败次数达到第一阈值。The first node detects that the number of consecutive failures for data in the first entry buffer to enter the first slot reaches a first threshold.
在一种可能的实现方式中,检测第一节点存在死锁可能性的方法可以如下:In a possible implementation manner, the method for detecting the possibility of deadlock in the first node may be as follows:
第一节点检测第一入口缓存区中的可用缓存占用率达到第二阈值。The first node detects that the occupancy rate of the available cache in the first ingress cache reaches a second threshold.
在一种可能的实现方式中,检测第一节点存在死锁可能性的方法可以如下:In a possible implementation manner, the method for detecting the possibility of deadlock in the first node may be as follows:
第一节点检测所述第一出口缓存区的可用缓存占用率大于第三阈值。The first node detects that the available buffer occupancy rate of the first egress buffer area is greater than a third threshold.
在本申请实施例所示的方案中,以上三种检测第一节点存在死锁可能性的方法可以结合使用,即当第一节点满足以上三种方法的任一条件即可以认为第一节点存在死锁可能性。In the scheme shown in the embodiment of this application, the above three methods for detecting the possibility of deadlock in the first node can be used in combination, that is, when the first node meets any of the conditions of the above three methods, it can be considered that the first node exists deadlock possibility.
在一种可能的实现方式中,在检测到第一节点恢复为数据传输正常的状态时,第一节点 可以控制第一环状网络中的各slot恢复正常工作状态。In a possible implementation manner, when it is detected that the first node returns to the state of normal data transmission, the first node may control each slot in the first ring network to return to the normal working state.
在一种可能的实现方式中,检测到第一节点恢复为数据传输正常的状态的方法可以如下:In a possible implementation manner, the method for detecting that the first node returns to the state of normal data transmission may be as follows:
第一节点检测第一入口缓存区的可用缓存占用率小于第四阈值。The first node detects that the available cache occupancy rate of the first entry cache area is less than a fourth threshold.
在一种可能的实现方式中,检测到第一节点恢复为数据传输正常的状态的方法可以如下:第一节点检测第一出口缓存区的可用缓存占用率小于第五阈值。In a possible implementation manner, the method for detecting that the first node returns to the state of normal data transmission may be as follows: the first node detects that the available buffer occupancy rate of the first egress buffer area is less than the fifth threshold.
第三方面,提供了一种片上系统,片上系统包括第一环状网络和第二环状网络,所述第一环状网络包括第一节点,所述第二环状网络包括第二节点,所述第一节点与所述第二节点连接,所述第一节点用于执行如上述第一方面或第二方面所述的死锁解除的方法。In a third aspect, a system on chip is provided, the system on chip includes a first ring network and a second ring network, the first ring network includes a first node, and the second ring network includes a second node, The first node is connected to the second node, and the first node is configured to execute the deadlock removal method described in the first aspect or the second aspect.
本申请实施例所示的方案,第一节点在检测到第一节点存在发生死锁的可能性时,可以将第一环状网络的各slot中目的地不是该第一环状网络的数据通过第一slot进入到第一节点的第一出口缓存区的预留缓存中。这样,第一环状网络中便可以出现空的slot,第一入口缓存区中的数据便可以进入第一环状网络中。进而,第二节点中的出口缓存区的数据可以进入第一入口缓存区,第二环状网络中的数据可以进入第二节点的出口缓存区中,第二节点中的入口缓存区的数据可以进入第二环状网络中,以此循环,便可以解除死锁。In the solution shown in the embodiment of the present application, when the first node detects that there is a possibility of deadlock in the first node, it can pass the data whose destination is not the first ring network in each slot of the first ring network The first slot enters the reserved buffer of the first egress buffer of the first node. In this way, an empty slot can appear in the first ring network, and the data in the first entry buffer can enter the first ring network. Furthermore, the data in the egress cache in the second node can enter the first ingress cache, the data in the second ring network can enter the egress cache in the second node, and the data in the ingress cache in the second node can Enter the second ring network, and cycle through this to remove the deadlock.
附图说明Description of drawings
图1是本申请实施例提供的一种片上系统的示意图;FIG. 1 is a schematic diagram of a system-on-a-chip provided by an embodiment of the present application;
图2是本申请实施例提供的一种片上系统的示意图;FIG. 2 is a schematic diagram of a system-on-a-chip provided by an embodiment of the present application;
图3是本申请实施例提供的一种片上系统的示意图;FIG. 3 is a schematic diagram of a system-on-a-chip provided by an embodiment of the present application;
图4是本申请实施例提供的一种死锁解除的方法流程图;FIG. 4 is a flow chart of a deadlock release method provided in an embodiment of the present application;
图5是本申请实施例提供的一种死锁解除的方法流程图;FIG. 5 is a flowchart of a deadlock release method provided in an embodiment of the present application;
图6是本申请实施例提供的一种片上系统的示意图。FIG. 6 is a schematic diagram of a system on a chip provided by an embodiment of the present application.
具体实施方式Detailed ways
本申请实施例提供了一种死锁解除的方法,该方法可以应用在片上系统(System on Chip,SoC)中。对于包括多个环状网络的片上系统,本申请均可适用。多个环状网络可以在不同芯片上,也可以在同一芯片上。下面示例性的列举几种片上系统。The embodiment of the present application provides a method for deadlock release, which can be applied in a system on chip (System on Chip, SoC). This application is applicable to any system-on-chip including multiple ring networks. Multiple ring networks can be on different chips or on the same chip. Several SoCs are exemplarily listed below.
如图1所示的片上系统,包括第一环状网络和第二环状网络,第一环状网络的第一节点和第一环状网络中的第一slot连接,第一节点和第二环状网络对应的第二节点通过环状网络连接装置连接,环状网络连接装置中包括缓冲区。环状网络中的各slot连接节点,再由节点连接模块,模块可以为中央处理器(central processing unit,CPU)、双倍速率同步动态随机存储器(double data rate synchronous dynamic random access memory,DDR)、最后一级高速缓存(last level cache,LLC)等。The system on chip as shown in Figure 1 comprises a first ring network and a second ring network, the first node of the first ring network and the first slot connection in the first ring network, the first node and the second ring network The second nodes corresponding to the ring network are connected through the ring network connection device, and the ring network connection device includes a buffer zone. Each slot in the ring network is connected to a node, and then the node is connected to a module. The module can be a central processing unit (central processing unit, CPU), a double data rate synchronous dynamic random access memory (DDR), Last level cache (last level cache, LLC), etc.
第一节点中设置有死锁处理模块,在第一节点的第一出口缓存区中设置有预留缓存。本申请实施例提供的死锁解除的方法可以由该所述死锁处理模块执行。在一种可能的实现方式中,每个和其他环状网络连接的节点中均可以设置有死锁处理模块和预留缓存,如图1中的第一节点和第二节点中均可以设置有死锁处理模块和预留缓存,两个死锁处理模块均可以执 行本申请实施例提供的死锁解除的方法。A deadlock processing module is set in the first node, and a reserved cache is set in the first egress buffer area of the first node. The deadlock removal method provided in the embodiment of the present application may be executed by the deadlock processing module. In a possible implementation, each node connected to other ring networks can be provided with a deadlock processing module and a reserved cache, as shown in Figure 1, both the first node and the second node can be provided with The deadlock processing module and the reserved cache, both of the deadlock processing modules can execute the deadlock removal method provided by the embodiment of the present application.
如图2所示的片上系统,包括四个环状网络,四个环状网络位于两个芯片上。图2仅示例性的表明了多个环状网络之间的关系,并未示出slot连接的节点以及模块。具体的,每个环状网络以及连接的节点和模块,可以参照图1所示。The system on chip shown in FIG. 2 includes four ring networks, and the four ring networks are located on two chips. FIG. 2 only exemplarily shows the relationship between multiple ring networks, and does not show the nodes and modules connected by slots. Specifically, each ring network and connected nodes and modules can be referred to as shown in FIG. 1 .
如图3所示的片上系统,包括六个环状网络,六个环状网络位于三个芯片上,且六个环状网络又形成了一个环状。图3也仅示例性的示出了多个环状网络之间的关系,并未示出slot连接的节点以及模块。具体的,每个环状网络以及连接的节点和模块,可以参照图1所示。The system on chip shown in FIG. 3 includes six ring networks, the six ring networks are located on three chips, and the six ring networks form another ring. FIG. 3 also only exemplarily shows the relationship between multiple ring networks, and does not show the nodes and modules connected by slots. Specifically, each ring network and connected nodes and modules can be referred to as shown in FIG. 1 .
为了便于读者对本申请的理解,下面对本申请中涉及的一些术语进行解释说明。In order to facilitate readers' understanding of this application, some terms involved in this application are explained below.
一、slotOne, slot
Slot是环状网络上数据的存储媒介。slot间可以传输数据,则数据可以按照顺时针或者逆时针的方向,在环状网络的slot间传输。Slot is the storage medium of data on the ring network. Data can be transmitted between the slots, and the data can be transmitted between the slots of the ring network in a clockwise or counterclockwise direction.
二、节点2. Node
节点中包括入口缓存区和出口缓冲区。节点一侧连接环状网络中的slot。环状网络连接的节点中,除与其他环状网络连接的节点外,其余节点均可以与至少一个模块连接。模块可以为中央处理器(central processing unit,CPU)、双倍速率同步动态随机存储器(double data rate synchronous dynamic random access memory,DDR)等。环状网络连接的节点中,与其他环状网络连接的节点,则连接环状网络连接装置,如桥接器。环状网络连接装置中包括有缓存区。A node includes an entry buffer and an exit buffer. One side of the node is connected to the slot in the ring network. Among the nodes connected to the ring network, except the nodes connected to other ring networks, all other nodes can be connected to at least one module. The module can be a central processing unit (central processing unit, CPU), double data rate synchronous dynamic random access memory (double data rate synchronous dynamic random access memory, DDR), etc. Among the nodes connected to the ring network, nodes connected to other ring networks are connected to ring network connection devices such as bridges. The ring network connection device includes a cache area.
三、入口缓存区3. Entry cache
入口缓存区用于缓存数据。The entry cache is used to cache data.
入口缓冲区中数据的来源:与模块连接的节点中的入口缓存,其缓存的数据来自于连接的模块。与环状网络连接装置连接的节点中的入口缓存,其缓存的数据来自于环状网络连接装置中的缓冲区。The source of the data in the entry buffer: the entry cache in the node connected to the module, and the cached data comes from the connected module. The entry cache in the node connected to the ring network connection device, the data in the cache comes from the buffer in the ring network connection device.
入口缓存区中数据的去向:与入口缓存区所在的节点连接的slot。Destination of data in the entry cache: the slot connected to the node where the entry cache is located.
四、出口缓存区4. Export buffer area
出口缓存区用于缓存数据。The egress buffer is used to cache data.
出口缓冲区中数据的来源:与出口缓存区所在的节点连接的slot。The source of the data in the export buffer: the slot connected to the node where the export buffer is located.
出口缓存区中数据的去向:与模块连接的节点中的出口缓存,其缓存的数据向连接的模块发送。与环状网络连接装置连接的节点中的出口缓存,其缓存的数据向连接的环状网络连接装置中的缓冲区发送。Destination of the data in the export buffer area: the export buffer in the node connected to the module, the cached data is sent to the connected module. The egress buffer in the node connected to the ring network connection device sends the buffered data to the buffer in the connected ring network connection device.
下面对环状网络中数据传输机制进行说明:The following describes the data transmission mechanism in the ring network:
当某模块在有数据需要发送至其他模块时,先将数据发送至连接节点的入口缓存区中。然后,在该节点连接的slot为空的情况下,将数据发送至该slot。在数据中携带有目的地(最终处理该数据的模块)的标识、目的地所在环状网络的标识、目的地所在芯片的标识。在接收到数据的下一时钟周期,slot按照预定的方向,向相邻的下游slot发送该数据。当目的地对应的slot接收到该数据后,目的地对应的slot将数据发送至连接的节点的出口缓冲区中,目的地则可以在该出口缓冲区中获取到该数据并进行后续处理。When a module needs to send data to other modules, it first sends the data to the entry buffer of the connected node. Then, in the case that the slot connected to the node is empty, data is sent to the slot. The data carries the identification of the destination (the module that finally processes the data), the identification of the ring network where the destination is located, and the identification of the chip where the destination is located. In the next clock cycle after receiving the data, the slot sends the data to the adjacent downstream slot in a predetermined direction. When the slot corresponding to the destination receives the data, the slot corresponding to the destination sends the data to the egress buffer of the connected node, and the destination can obtain the data in the egress buffer and perform subsequent processing.
在数据的目的地是其他环状网络对应的模块的情况下,数据会被传输至第一slot(与其他环状网络连接的节点所连接的slot)。第一slot接收到数据后,将数据发送至连接的节点的 入口缓存区中。再由该入口缓冲区发送至环状网络连接装置的缓存区中,再由该缓冲区发送至环状网络连接装置所连接的另一个节点的入口缓冲区中,进而进入另一个环状网络中。When the destination of the data is a module corresponding to another ring network, the data will be transmitted to the first slot (the slot connected to the node connected to the other ring network). After the first slot receives the data, it sends the data to the entry buffer of the connected node. Then the entry buffer is sent to the buffer area of the ring network connection device, and then sent from the buffer to the entry buffer of another node connected to the ring network connection device, and then enters another ring network .
另外,在数据传输过程中,环状网络还配置有到位预判机制,具体的,到位预判机制可以如下:In addition, during the data transmission process, the ring network is also equipped with an in-place pre-judgment mechanism. Specifically, the in-place pre-judgment mechanism can be as follows:
当某slot接收到上游的slot发送的数据后,根据数据中的目的地的标识、目的地所对应的环状网络的标识以及目的地所在的芯片的标识等,判断该数据目的地是否为自己相邻的下游slot对应的模块。如果该数据的目的地是自己相邻的下游slot对应的模块,则在向相邻的下游slot发送该数据时,同时发送到达(arrive)信号。当该相邻的下游slot接收到该数据和对应的arrive信号后,将该数据发送至对应的出口缓存区,由对应的模块在出口缓冲区获取该数据进行处理。When a slot receives the data sent by the upstream slot, it judges whether the destination of the data is itself according to the identifier of the destination in the data, the identifier of the ring network corresponding to the destination, and the identifier of the chip where the destination is located. The module corresponding to the adjacent downstream slot. If the destination of the data is the module corresponding to its adjacent downstream slot, when the data is sent to the adjacent downstream slot, an arrival (arrival) signal is sent at the same time. When the adjacent downstream slot receives the data and the corresponding arrive signal, it sends the data to the corresponding egress buffer, and the corresponding module acquires the data in the egress buffer for processing.
下面结合图1,对本申请实施例提供的一种死锁解除的方法进行说明。参见图4,该方法的处理流程可以包括如下步骤:A method for releasing a deadlock provided in the embodiment of the present application will be described below with reference to FIG. 1 . Referring to Figure 4, the processing flow of the method may include the following steps:
步骤101、检测第一节点处于第一状态,其中,第一状态为存在发生死锁的可能性的状态。 Step 101. Detect that the first node is in a first state, where the first state is a state in which deadlock may occur.
在实施中,第一节点中的死锁处理模块可以基于多种参数检测第一节点的状态。例如,第一入口缓存区中的数据进入第一slot的连续失败次数、第一入口缓存区的可用缓存占用率和第一出口缓存区的可用缓存占用率等。In implementation, the deadlock processing module in the first node can detect the state of the first node based on various parameters. For example, the number of consecutive failures for data in the first entry buffer to enter the first slot, the available cache occupancy rate of the first entry buffer area, and the available cache occupancy rate of the first egress buffer area, etc.
具体的,在死锁检测模块检测到第一节点满足如下一种或多种条件时,则可以认为第一节点处于第一状态。Specifically, when the deadlock detection module detects that the first node meets one or more of the following conditions, it may be considered that the first node is in the first state.
条件一:Condition one:
第一入口缓存区中的数据进入所述第一slot的连续失败次数大于第一阈值。其中,第一阈值可以根据实际情况进行设置,例如,第一阈值的取值范围可以在400次到600次之间。The number of consecutive failures for data in the first entry buffer to enter the first slot is greater than a first threshold. Wherein, the first threshold may be set according to actual conditions, for example, the value range of the first threshold may be between 400 times and 600 times.
条件二:Condition two:
第一入口缓存区的可用缓存占用率大于第二阈值。其中,第二阈值可以根据实际情况进行设置,例如,为了能预判死锁发生,第二阈值可以设置的较小,如百分之七十到百分之八十之间。The available cache occupancy rate of the first entry cache area is greater than the second threshold. Wherein, the second threshold can be set according to the actual situation. For example, in order to predict the occurrence of deadlock, the second threshold can be set relatively small, such as between 70% and 80%.
条件三:Condition three:
第一出口缓存区的可用缓存占用率大于第三阈值。其中,第三阈值可以根据实际情况进行设置,例如,为了能预判死锁发生,第三阈值可以设置的较小,如百分之七十到百分之八十之间。The available buffer occupancy rate of the first egress buffer is greater than the third threshold. Wherein, the third threshold can be set according to the actual situation. For example, in order to predict the occurrence of deadlock, the third threshold can be set relatively small, such as between 70% and 80%.
针对条件一,第一入口缓存中的数据在进入第一slot之前,第一入口缓存需要先向第一slot发送数据发送请求,如果第一slot已经被占用无法再接收第一入口缓存发送的数据,则第一slot向第一入口缓存返回拒绝消息。如果第一slot未被占用可以接收第一入口缓存发送的数据,则向第一入口缓存返回允许消息。此处,数据发送请求、拒绝消息和允许消息均可以经由死锁处理模块转发,因此,死锁处理模块可以获知拒绝消息以及允许消息的数量,进而可以将连续接收到的拒绝消息的数量,作为第一入口缓存区中的数据进入第一slot的连续失败次数。For condition 1, before the data in the first entry cache enters the first slot, the first entry cache needs to send a data sending request to the first slot. If the first slot is already occupied, it cannot receive the data sent by the first entry cache. , the first slot returns a rejection message to the first entry cache. If the first slot is not occupied and can receive the data sent by the first entry cache, a permission message is returned to the first entry cache. Here, the data sending request, the rejection message and the permission message can all be forwarded via the deadlock processing module, therefore, the deadlock processing module can know the quantity of the rejection message and the permission message, and then can use the quantity of the rejection message received continuously as The number of consecutive failures for data in the first entry buffer to enter the first slot.
需要说明的是,上述连续接收到的拒绝消息是指在接收到一个拒绝消息后,未接收到允 许消息而再次接收到拒绝消息,则认为这俩个拒绝消息是连续接收到的。It should be noted that the above-mentioned rejection messages received continuously means that after receiving a rejection message, the rejection message is received again without receiving the permission message, and the two rejection messages are considered to be received continuously.
针对条件二,死锁处理模块可以按照预设检测周期检测第一入口缓存区中已经被占用的可用缓存,并计算已经被占用的可用缓存与第一入口缓冲区中总可用缓存的比值,得到第一入口缓存区的可用缓存占用率。For the second condition, the deadlock processing module can detect the occupied available buffer in the first entry buffer according to the preset detection period, and calculate the ratio of the occupied available buffer to the total available buffer in the first entry buffer, and obtain The available cache occupancy of the first entry cache.
针对条件三,死锁处理模块可以按照预设检测周期检测第一出口缓存区中已经被占用的可用缓存,并计算该已经被占用的可用缓存与第一出口缓冲区中总可用缓存的比值,得到第一出口缓存区的可用缓存占用率。此处,第一出口缓存区的总可用缓存不包括本申请中为了解除死锁而在第一出口缓存区中规定的预留缓存。For the third condition, the deadlock processing module can detect the occupied available buffer in the first egress buffer according to the preset detection cycle, and calculate the ratio of the occupied available buffer to the total available buffer in the first egress buffer, The available buffer occupancy rate of the first egress buffer area is obtained. Here, the total available buffer of the first egress buffer does not include the reserved buffer specified in the first egress buffer in this application for deadlock release.
步骤102、控制第一slot向第一节点的第一出口缓存区中的预留缓存,发送第一环状网络中的第一数据,其中,第一数据的目的地不是所述第一环状网络对应的模块。 Step 102, controlling the first slot to send the first data in the first ring network to the reserved buffer in the first egress buffer of the first node, wherein the destination of the first data is not the first ring The corresponding module of the network.
在实施中,在环状网络配置有上述到位预判机制的情况下,步骤102的处理可以如下:In implementation, when the ring network is configured with the above-mentioned pre-judgment mechanism in place, the processing of step 102 can be as follows:
死锁处理模块向第三slot发送死锁指示信号,其中,第三slot为第一slot相邻的上游slot。具体的,死锁处理模块可以和第三slot的电性连接,在死锁处理模块检测到第一节点处于第一状态的情况下,向第三slot发送死锁指示信号,该死锁指示信号可以为高电平信号或者低电平信号。例如,在未检测到第一节点处于第一状态的情况下,死锁处理模块可以一直向第三slot发送低电平信号,当检测到第一节点处于第一状态时,开始向第三slot发送高电平信号,该高电平信号即为上述死锁指示信号。The deadlock processing module sends a deadlock indication signal to the third slot, where the third slot is an upstream slot adjacent to the first slot. Specifically, the deadlock processing module can be electrically connected to the third slot, and when the deadlock processing module detects that the first node is in the first state, it sends a deadlock indication signal to the third slot, and the deadlock indication signal It can be a high level signal or a low level signal. For example, when it is not detected that the first node is in the first state, the deadlock processing module can always send a low level signal to the third slot, and when it detects that the first node is in the first state, it starts to send a low level signal to the third slot A high-level signal is sent, and the high-level signal is the above-mentioned deadlock indication signal.
第三slot接收到死锁处理模块发送的死锁指示信息后,由正常工作模式进入死锁解除工作模式。在死锁解除工作模式下,第三slot的操作如下:After receiving the deadlock indication information sent by the deadlock processing module, the third slot enters the deadlock release working mode from the normal working mode. In the deadlock release mode, the operation of the third slot is as follows:
第三slot可以存储有第一环状网络的标识,如果第三slot判断接收到的第一数据中携带的目的地所对应的环状网络的标识不是第一环状网络的标识,则确定该第一数据的目的地不是第一环状网络对应的模块。那么,第三slot向第一slot发送该第一数据,并同时发送arrive信号。The third slot may store the identifier of the first ring network, and if the third slot judges that the identifier of the ring network corresponding to the destination carried in the received first data is not the identifier of the first ring network, then determine the The destination of the first data is not the module corresponding to the first ring network. Then, the third slot sends the first data to the first slot, and at the same time sends an arrive signal.
第一slot如果在接收第三slot发送的第一数据时,同时还接收到arrive信号,则将该第一数据发送至第一节点的第一出口缓存区的预留缓存。If the first slot also receives the arrive signal when receiving the first data sent by the third slot, it sends the first data to the reserved buffer of the first egress buffer of the first node.
此处需要说明的是,在第一节点未处于第一状态的情况下,第一出口缓存区中的预留缓存是处于未启动状态,即不允许slot向其发送数据。在第一节点处于第一状态的情况下,第一出口缓存区中的预留缓存区由未开启状态变为开启状态,即允许第一slot向其发送数据。It should be noted here that, when the first node is not in the first state, the reserved buffer in the first egress buffer is in an inactive state, that is, the slot is not allowed to send data to it. When the first node is in the first state, the reserved buffer area in the first egress buffer area changes from an unopened state to an open state, that is, the first slot is allowed to send data thereto.
此处还需要说明的是,在死锁解除工作模式下,只要第一数据的目的地不是第一环状网络,无论其目的地是否为第二环状网络,都要将该第一数据在第一slot处发送至出口缓冲区的预留缓存中。What needs to be explained here is that in the deadlock release working mode, as long as the destination of the first data is not the first ring network, regardless of whether the destination is the second ring network, the first data must be in the second ring network. The first slot is sent to the reserved buffer of the egress buffer.
例如,第一数据的目的地是第三环状网络对应的模块,而第三环状网络是第一环状网络连接的另一个环状网络,而该进入第三环状网络不需要经过第二环状网络。在此情况下,相对于改变了第一数据的路由,使其在第一slot出进入出口缓冲区的预留缓存,进而进入第二环状网络。当然,该第一数据最终还会经过各slot的传输再次回到第一环状网络,并在死锁解除后按照正常路由进入到第三环状网络。For example, the destination of the first data is the module corresponding to the third ring network, and the third ring network is another ring network connected to the first ring network, and the access to the third ring network does not need to pass through the third ring network. Two ring networks. In this case, relative to changing the route of the first data, it enters the reserved cache of the egress buffer at the first slot, and then enters the second ring network. Of course, the first data will eventually return to the first ring network through the transmission of each slot, and enter the third ring network according to a normal route after the deadlock is released.
步骤103、向第一slot发送第一入口缓存区中的数据。 Step 103, sending the data in the first entry buffer area to the first slot.
在实施中,第一slot将第一数据发送至第一出口缓冲区中的预留缓存后,第一节点的第一入口缓存区便可以将缓存的数据发送至第一slot。因为芯片机制不同,第一入口缓冲区中 的数据进入第一slot的时机也可以不同。In an implementation, after the first slot sends the first data to the reserved buffer in the first egress buffer, the first ingress buffer of the first node can send the buffered data to the first slot. Because the chip mechanism is different, the timing when the data in the first entry buffer enters the first slot can also be different.
在一种可能的实现方式中,在第一时钟周期,第一slot将缓存的数据发送至第一出口缓存区的预留缓存,同样在该第一时钟周期,第一入口缓存将缓存的数据发送至第一slot。In a possible implementation manner, in the first clock cycle, the first slot sends the buffered data to the reserved buffer of the first egress buffer, and also in the first clock cycle, the first ingress buffer sends the buffered data Send to the first slot.
在第一时钟周期内的第一个时刻第一slot将第一数据发送至第一出口缓存区中的预留缓存,那么,在第一时钟周期内且在第一时刻之后的时间内,第一slot为空。在此情况下,第一入口缓存能够将缓存的数据发送至第一slot。At the first moment in the first clock cycle, the first slot sends the first data to the reserved buffer in the first egress buffer, then, in the first clock cycle and after the first moment, the first slot One slot is empty. In this case, the first entry cache can send the cached data to the first slot.
在又一种可能的实现方式中,在第一时钟周期,第一slot将缓存的数据发送至第一出口缓存区的预留缓存,而第一入口缓存区未在该第一时钟周期将缓存的数据发送至第一slot,那么,第一入口缓存区可以在第一slot再次为空时,将缓存的数据发送至该第一slot。In yet another possible implementation manner, in the first clock cycle, the first slot sends the buffered data to the reserved buffer of the first egress buffer, and the first ingress buffer does not send the cached data to the buffer in the first clock cycle If the data is sent to the first slot, then the first entry buffer can send the cached data to the first slot when the first slot is empty again.
在此情况下,根据环状网络数据传输规则,第一时钟周期的下一时钟周期,第一slot相邻的上游slot将缓存数据发送至第一slot,而第一slot相邻的下游slot变为空位。为了使空位只能允许第一入口缓存区中的数据进入,那么,需要限制环状网络对应的除第一入口缓存区所在节点以外的其余节点均不允许向该空位发送数据。具体的限制方式可以有多种,下面列举几种进行说明:In this case, according to the data transmission rules of the ring network, in the next clock cycle of the first clock cycle, the upstream slot adjacent to the first slot sends the buffered data to the first slot, and the downstream slot adjacent to the first slot becomes for vacancies. In order to make the slot only allow the data in the first entry buffer area to enter, it is necessary to restrict that all nodes corresponding to the ring network except the node where the first entry buffer area is located are not allowed to send data to the slot. There are many specific restriction methods, some of which are listed below for illustration:
方式一、method one,
在死锁处理模块检测到第一节点处于第一状态时,向第一slot发送空位预留信号,第一slot接收到空位预留消息后,在下一个时钟周期向第二slot(第一slot相邻的下游slot)发送空位占用信号,接收到空位占用信号后,第二slot则不再接收对应的节点发送的数据,则在该时钟周期内,第二slot为空。在再下一个时钟周期,第二slot向第二slot相邻的下游slot发送空位占用信号,接收到空位占用信号后,第二slot相邻的下游slot则不再接收对应的节点发送的数据,则在该时钟周期内,第二slot相邻的下游slot为空。以此类推,直到第一时钟周期之后的第N个时钟周期,第一slot再次为空,其中,N为第一环状网络中slot的数量。与其他slot不同的是,第一slot即使也接收到了空位占用信号,也允许第一入口缓存区将缓存的数据发送至第一slot。When the deadlock processing module detects that the first node is in the first state, it sends a vacancy reservation signal to the first slot, and after the first slot receives the vacancy reservation message, it sends a message to the second slot (the first slot phase The adjacent downstream slot) sends a vacancy occupancy signal, and after receiving the vacancy occupancy signal, the second slot no longer receives data sent by the corresponding node, and the second slot is empty within this clock cycle. In the next clock cycle, the second slot sends a vacancy occupancy signal to the downstream slot adjacent to the second slot. After receiving the vacancy occupancy signal, the downstream slot adjacent to the second slot no longer receives the data sent by the corresponding node. Then, within this clock cycle, the downstream slot adjacent to the second slot is empty. By analogy, until the Nth clock cycle after the first clock cycle, the first slot is empty again, where N is the number of slots in the first ring network. Different from other slots, even if the first slot also receives the vacancy occupancy signal, it allows the first entry buffer to send the buffered data to the first slot.
方式二、Method two,
在死锁处理模块检测到第一节点处于第一状态时,向第一节点对应的环状网络中除第一节点以外的各节点发送入口阻塞消息,各节点接收到入口阻塞消息后,则不再向对应的slot发送数据。这样,在第一时钟周期第一slot为空,在下一时钟周期第二slot(第一slot相邻的下游slot)为空,且在该时钟周期内第二solt不会被占用,在再下一个时钟周期第二slot相邻的下游slot为空,且在该时钟周期内该第二slot相邻的下游slot不会被占用。以此类推,直到第一时钟周期之后的第N个时钟周期,第一slot再次为空,第一入口缓存区便可以将缓存的数据发送至第一slot,其中,N为环状网络中slot的数量。When the deadlock processing module detects that the first node is in the first state, it sends an entry blocking message to each node in the ring network corresponding to the first node except the first node, and after each node receives the entry blocking message, it does not Then send data to the corresponding slot. In this way, the first slot is empty in the first clock cycle, and the second slot (the downstream slot adjacent to the first slot) is empty in the next clock cycle, and the second solt will not be occupied in this clock cycle, and the second slot will not be occupied in the next clock cycle. The downstream slot adjacent to the second slot is empty in one clock cycle, and the downstream slot adjacent to the second slot will not be occupied in this clock cycle. By analogy, until the Nth clock cycle after the first clock cycle, the first slot is empty again, and the first entry buffer can send the cached data to the first slot, where N is the slot in the ring network quantity.
通过上述处理,第一环状网络中的数据可以进入预留缓存,以使得第一环状网络留出空位,第一入口缓存区中的数据便可以进入第一环状网络中,进而第二节点中的出口缓存区的数据可以进入第一入口缓存区,第二环状网络中的数据可以进入第二节点的出口缓存区中,第二节点中的入口缓存区的数据可以进入第二环状网络中,以此循环,便可以解除死锁。Through the above processing, the data in the first ring network can enter the reserved buffer, so that the first ring network leaves a space, and the data in the first entry buffer can enter the first ring network, and then the second The data in the egress buffer in the node can enter the first ingress buffer, the data in the second ring network can enter the egress buffer in the second node, and the data in the ingress buffer in the second node can enter the second ring In the shape network, the deadlock can be resolved by this cycle.
在第一节点处于第一状态的情况下,上述过程可以持续执行,这样,在在第一节点处于第一状态期间,第一环状网络中会不断的出现空的slot,以使得第一节点的入口缓冲区中的数据可以进入到第一环状网络中。In the case that the first node is in the first state, the above process can be continuously executed, so that during the period when the first node is in the first state, empty slots will continuously appear in the first ring network, so that the first node The data in the entry buffer of can enter the first ring network.
直到第一节点中的死锁处理模块检测到第一节点处于第二状态时,死锁处理模块控制环状网络中的各slot恢复正常工作状态,并关闭第一出口缓存区中的预留缓存,不允许数据进入。Until the deadlock processing module in the first node detects that the first node is in the second state, the deadlock processing module controls each slot in the ring network to return to a normal working state, and closes the reserved buffer in the first egress buffer area , does not allow data to enter.
检测第一节点处于第二状态的条件可以为:检测第一入口缓存区的可用缓存占用率小于第四阈值,或者检测第一出口缓存区的可用缓存占用率小于第五阈值。其中,第四阈值和第五阈值可以根据实际需求设置,例如,可以为百分之三十到百分之四十。The condition for detecting that the first node is in the second state may be: detecting that the available cache occupancy rate of the first ingress buffer area is less than the fourth threshold, or detecting that the available cache occupancy rate of the first egress buffer area is less than the fifth threshold value. Wherein, the fourth threshold and the fifth threshold can be set according to actual needs, for example, they can be 30% to 40%.
下面结合图1,对本申请实施例提供的又一种死锁解除的方法进行说明。参见图5,该方法的处理流程可以包括如下步骤:Another deadlock release method provided by the embodiment of the present application will be described below with reference to FIG. 1 . Referring to Figure 5, the processing flow of the method may include the following steps:
步骤201、检测第一节点处于第一状态,其中,第一状态为存在发生死锁的可能性的状态。 Step 201. Detect that the first node is in a first state, where the first state is a state where there is a possibility of deadlock.
在实施中,第一节点中的死锁处理模块检测第一节点处于第一状态可以基于多种参数,如第一入口缓存区中的数据进入第一slot的连续失败次数、第一入口缓存区的可用缓存占用率、第一出口缓存区的可用缓存占用率等。In implementation, the deadlock processing module in the first node detects that the first node is in the first state based on various parameters, such as the number of consecutive failures that the data in the first entry buffer area enters the first slot, the first entry buffer area The available cache occupancy rate of , the available cache occupancy rate of the first egress buffer area, etc.
具体的,在死锁检测模块检测到第一节点满足如下一种或多种条件时,则可以认为第一节点处于第一状态。Specifically, when the deadlock detection module detects that the first node meets one or more of the following conditions, it may be considered that the first node is in the first state.
条件一:Condition one:
第一入口缓存区中的数据进入所述第一slot的连续失败次数大于第一阈值。其中,第一阈值可以根据实际情况进行设置,例如,第一阈值的取值范围可以在400次到600次之间。The number of consecutive failures for data in the first entry buffer to enter the first slot is greater than a first threshold. Wherein, the first threshold may be set according to actual conditions, for example, the value range of the first threshold may be between 400 times and 600 times.
条件二:Condition two:
第一入口缓存区的可用缓存占用率大于第二阈值。其中,第二阈值可以根据实际情况进行设置,例如,为了能预判死锁发生,第二阈值可以设置的较小,如百分之七十到百分之八十之间。The available cache occupancy rate of the first entry cache area is greater than the second threshold. Wherein, the second threshold can be set according to the actual situation. For example, in order to predict the occurrence of deadlock, the second threshold can be set relatively small, such as between 70% and 80%.
条件三:Condition three:
第一出口缓存区的可用缓存占用率大于第三阈值。其中,第三阈值可以根据实际情况进行设置,例如,为了能预判死锁发生,第三阈值可以设置的较小,如百分之七十到百分之八十之间。The available buffer occupancy rate of the first egress buffer is greater than the third threshold. Wherein, the third threshold can be set according to the actual situation. For example, in order to predict the occurrence of deadlock, the third threshold can be set relatively small, such as between 70% and 80%.
针对条件一,第一入口缓存中的数据在进入第一slot之前,第一入口缓存需要先向第一slot发送数据发送请求,如果第一slot已经被占用无法再接收第一入口缓存发送的数据,则第一slot向第一入口缓存返回拒绝消息。如果第一slot未被占用可以接收第一入口缓存发送的数据,则向第一入口缓存返回允许消息。此处,数据发送请求、拒绝消息和允许消息均可以经由死锁处理模块转发,因此,死锁处理模块可以获知拒绝消息以及允许消息的数量,进而可以将连续接收到的拒绝消息的数量,作为第一入口缓存区中的数据进入第一slot的连续失败次数。For condition 1, before the data in the first entry cache enters the first slot, the first entry cache needs to send a data sending request to the first slot. If the first slot is already occupied, it cannot receive the data sent by the first entry cache. , the first slot returns a rejection message to the first entry cache. If the first slot is not occupied and can receive the data sent by the first entry cache, a permission message is returned to the first entry cache. Here, the data sending request, the rejection message and the permission message can all be forwarded via the deadlock processing module, therefore, the deadlock processing module can know the quantity of the rejection message and the permission message, and then can use the quantity of the rejection message received continuously as The number of consecutive failures for data in the first entry buffer to enter the first slot.
需要说明的是,上述连续接收到的拒绝消息是指在接收到一个拒绝消息后,未接收到允许消息而再次接收到拒绝消息,则认为这俩个拒绝消息是连续接收到的。It should be noted that the foregoing rejection messages received continuously mean that after receiving a rejection message, the rejection message is received again without receiving the permission message, and the two rejection messages are considered to be received consecutively.
针对条件二,死锁处理模块可以按照预设检测周期检测第一入口缓存区中已经被占用的可用缓存,并计算已经被占用的可用缓存与第一入口缓冲区中总可用缓存的比值,得到第一入口缓存区的可用缓存占用率。For the second condition, the deadlock processing module can detect the occupied available buffer in the first entry buffer according to the preset detection period, and calculate the ratio of the occupied available buffer to the total available buffer in the first entry buffer, and obtain Available cache occupancy of the first entry cache.
针对条件三,死锁处理模块可以按照预设检测周期检测第一出口缓存区中已经被占用的可用缓存,并计算该已经被占用的可用缓存与第一出口缓冲区中总可用缓存的比值,得到第一出口缓存区的可用缓存占用率。此处,第一出口缓存区的总可用缓存不包括本申请中为了解除死锁而在第一出口缓存区中规定的预留缓存。For the third condition, the deadlock processing module can detect the occupied available buffer in the first egress buffer according to the preset detection cycle, and calculate the ratio of the occupied available buffer to the total available buffer in the first egress buffer, The available buffer occupancy rate of the first egress buffer area is obtained. Here, the total available buffer of the first egress buffer does not include the reserved buffer specified in the first egress buffer in this application for deadlock release.
步骤202、向第二slot发送空位预留信号,并在第二slot中缓存有数据的情况下,控制第二slot中缓存的数据进入所述第一环状网络对应的预留缓存中。Step 202: Send a vacancy reservation signal to the second slot, and control the data buffered in the second slot to enter the reserved buffer corresponding to the first ring network when the second slot has data buffered.
在实施中,死锁处理模块在检测到第一节点处于第一状态时,可以先开启第一节点的第一出口缓存区中的预留缓存。并可以向第一环状网络中的至少一个slot发送空位预留信号。其中,至少一个slot可以为预先指定的第一环状网络中的任意slot,第二slot为该至少一个slot中的任一slot。死锁处理模块和该至少一个slot之间电性连接。空位预留信号可以为高电平信号或者低电平信号。In an implementation, when the deadlock processing module detects that the first node is in the first state, it may first enable the reserved buffer in the first egress buffer of the first node. And a vacancy reservation signal may be sent to at least one slot in the first ring network. Wherein, at least one slot may be any slot in the pre-designated first ring network, and the second slot may be any slot in the at least one slot. The deadlock processing module is electrically connected to the at least one slot. The slot reservation signal can be a high level signal or a low level signal.
第二slot缓存的数据需要进入第一环状网络对应的预留缓存中,以使第一环状网络中出现空的slot,进而,使得第一节点的入口缓冲区中的数据可以进入到第一环状网络中。下面结合不同的场景,针对第二slot中的数据进入第一环状网络对应的预留缓存进行说明。The data in the second slot cache needs to enter the reserved buffer corresponding to the first ring network, so that an empty slot appears in the first ring network, and then the data in the entry buffer of the first node can enter the first ring network in a ring network. The following describes how the data in the second slot enters the reserved buffer corresponding to the first ring network in combination with different scenarios.
在一种可能的场景下,第一环状网络与至少一个环状网络连接,且与第一环状网络连接的环状网络均与第一环状网络在同一芯片内,或者不同芯片内。第一环状网络和各环状网络连接的节点均可以设置有死锁处理模块,且在这些节点的出口缓存区均可以设置有预留缓存。在该场景下,第二slot中的数据按照正常路由,进入到相应的节点的预留缓存中。In a possible scenario, the first ring network is connected to at least one ring network, and the ring networks connected to the first ring network are all in the same chip as the first ring network, or in different chips. The nodes connected to the first ring network and each ring network may be provided with deadlock processing modules, and the egress buffer areas of these nodes may be provided with reserved buffers. In this scenario, the data in the second slot enters the reserved cache of the corresponding node according to the normal route.
例如,图6所示的三个环状网络位于同一芯片或者分别位于三个芯片。下面结合图6,对此场景下,第二slot中的数据进入第一环状网络对应的预留缓存进行说明。For example, the three ring networks shown in FIG. 6 are located on the same chip or respectively located on three chips. In this scenario, the data in the second slot enters the reserved buffer corresponding to the first ring network in combination with FIG. 6 .
第二slot接收到空位预留信号后,在下一时钟周期,第二slot向第四slot发送空位占用信号,其中,第四slot是第二slot相邻的下游slot。如果第二slot中缓存有数据,则该数据可以按照正常路由,进入到开启的预留缓存中。After the second slot receives the vacancy reservation signal, in the next clock cycle, the second slot sends a vacancy occupation signal to the fourth slot, wherein the fourth slot is a downstream slot adjacent to the second slot. If there is data cached in the second slot, the data can be routed normally and enter the enabled reserved cache.
具体的,如果第二slot中的数据的目的地是第二环状网络,则数据在第一slot处进入第一节点的出口缓冲区中的预留缓存中。如果第二slot中的数据的目的地是第三环状网络,则数据在第六slot处进入第三节点的出口缓存区中的预留缓存中。其中,第一节点中的预留缓存和第三节点中的预留缓存,均为第一环状网络对应的预留缓存。Specifically, if the destination of the data in the second slot is the second ring network, the data enters the reserved buffer in the egress buffer of the first node at the first slot. If the destination of the data in the second slot is the third ring network, the data enters the reserved buffer in the egress buffer of the third node at the sixth slot. Wherein, the reserved cache in the first node and the reserved cache in the third node are reserved caches corresponding to the first ring network.
在又一种可能的场景下,第一环状网络与同一芯片内的环状网络连接,还与不同芯片内的环状网络连接。第一环状网络和各环状网络连接的节点均可以设置有死锁处理模块,且在这些节点的出口缓存区均可以有预留缓存。在该场景下,第二slot中的数据不必按照正常路由传输,而是进入到与芯片内的环状网络连接的节点的预留缓存中。In yet another possible scenario, the first ring network is connected to a ring network in the same chip, and is also connected to a ring network in a different chip. The nodes connected to the first ring network and each ring network can be equipped with a deadlock processing module, and there can be reserved buffers in the egress buffer areas of these nodes. In this scenario, the data in the second slot does not need to be transmitted according to the normal route, but enters the reserved buffer of the node connected to the ring network in the chip.
例如,图6所示的三个环状网络中,第一环状网络和第三环状网络位于同一芯片,第二环状网络单独位于另一个芯片。下面结合图6,对此场景下,第二slot中的数据进入第一环状网络对应的预留缓存进行说明。For example, among the three ring networks shown in FIG. 6 , the first ring network and the third ring network are located on the same chip, and the second ring network is located separately on another chip. In this scenario, the data in the second slot enters the reserved buffer corresponding to the first ring network in combination with FIG. 6 .
第二slot接收到空位预留信号后,在下一时钟周期,第二slot向第四slot发送空位占用信号,其中,第四slot是第二slot相邻的下游slot。同时,第二slot将缓存的第一数据也发送至第四slot。After the second slot receives the vacancy reservation signal, in the next clock cycle, the second slot sends a vacancy occupation signal to the fourth slot, wherein the fourth slot is a downstream slot adjacent to the second slot. At the same time, the second slot also sends the cached first data to the fourth slot.
在存在到位预判机制的情况下,死锁处理模块向第五slot发送死锁指示信号,其中,第五slot为第六slot相邻的上游slot。第五slot接收到死锁处理模块发送的死锁指示信息后,由 正常工作模式进入死锁解除工作模式。If there is a pre-judgment mechanism in place, the deadlock processing module sends a deadlock indication signal to the fifth slot, where the fifth slot is an upstream slot adjacent to the sixth slot. After the fifth slot receives the deadlock indication information sent by the deadlock processing module, it enters the deadlock release working mode from the normal working mode.
第五slot可以存储有第一环状网络的标识,如果第五slot在某一时钟周期接收到了空位占用信号,则判断第一数据中携带的目的地所对应的环状网络的标识是否为存储的第一环状网络的标识,如果第一数据中携带的目的地所对应的环状网络的标识不是存储的第一环状网络的标识,则确定该第一数据的目的地不是第一环状网络对应的模块。那么,第五slot向第六slot发送该第一数据和空位占用信号,并同时发送arrive信号。The fifth slot may store the identifier of the first ring network, and if the fifth slot receives a vacancy occupancy signal in a certain clock cycle, it is judged whether the identifier of the ring network corresponding to the destination carried in the first data is stored If the identifier of the first ring network corresponding to the destination carried in the first data is not the stored first ring network identifier, it is determined that the destination of the first data is not the first ring The module corresponding to the shape network. Then, the fifth slot sends the first data and the vacancy occupancy signal to the sixth slot, and simultaneously sends an arrive signal.
第六slot如果在接收第一数据时,同时还接收到arrive信号,则将该第一数据发送至第一节点的出口缓存区的预留缓存。在下一时钟周期,第六slot向相邻的下游slot发送空位占用信号,并且在该时钟周期第六slot相邻的下游slot为空。直到某一时钟周期,第一slot为空,且第一slot在该时钟周期接收到了空位占用信号,则允许第一节点的入口缓存区将数据发送至第一slot。If the sixth slot also receives the arrive signal when receiving the first data, the first data is sent to the reserved buffer of the egress buffer of the first node. In the next clock cycle, the sixth slot sends a vacancy occupancy signal to the adjacent downstream slots, and the downstream slots adjacent to the sixth slot are empty in this clock cycle. Until a certain clock cycle, the first slot is empty, and the first slot receives a vacancy occupancy signal during the clock cycle, the entry buffer of the first node is allowed to send data to the first slot.
在第一节点处于第一状态的情况下,上述过程可以持续执行,这样,在在第一节点处于第一状态期间,第一环状网络中会不断的出现空的slot,以使得第一节点的入口缓冲区中的数据可以进入到第一环状网络中。In the case that the first node is in the first state, the above process can be continuously executed, so that during the period when the first node is in the first state, empty slots will continuously appear in the first ring network, so that the first node The data in the entry buffer of can enter the first ring network.
直到第一节点中的死锁处理模块检测到第一节点处于第二状态时,死锁处理模块控制环状网络中的各slot恢复正常工作状态,并关闭第一出口缓存区中的预留缓存,不允许数据进入。Until the deadlock processing module in the first node detects that the first node is in the second state, the deadlock processing module controls each slot in the ring network to return to a normal working state, and closes the reserved buffer in the first egress buffer area , does not allow data to enter.
检测第一节点处于第二状态的条件可以为:检测第一入口缓存区的可用缓存占用率小于第四阈值,或者检测第一出口缓存区的可用缓存占用率小于第五阈值。其中,第四阈值和第五阈值可以根据实际需求设置,例如,可以为百分之三十到百分之四十。The condition for detecting that the first node is in the second state may be: detecting that the available cache occupancy rate of the first ingress buffer area is less than the fourth threshold, or detecting that the available cache occupancy rate of the first egress buffer area is less than the fifth threshold value. Wherein, the fourth threshold and the fifth threshold can be set according to actual needs, for example, they can be 30% to 40%.
此外,还需说明的是,在片上系统中,任一环状网络与其他环状网络连接的节点中,均可以设置有死锁处理模块,而在死锁处理模块中可以部署本申请实施例提供的两种死锁解除的方法中任意一种方法。当然,在不同节点的死锁处理模块中可以部署同一种死锁解除的方法,也可以部署不同的死锁解除的方法。In addition, it should be noted that, in the system on chip, any node connecting any ring network to other ring networks may be provided with a deadlock processing module, and the embodiment of the present application may be deployed in the deadlock processing module Either of the two deadlock release methods provided. Of course, the same deadlock removal method may be deployed in the deadlock processing modules of different nodes, and different deadlock removal methods may also be deployed.
在一种可能的部署方式中,对于片上系统的每个环状网络,可以将该环状网络与其他环状网络连接的节点的死锁处理模块中部署第一种死锁解除的方法。In a possible deployment manner, for each ring network of the SoC, the first deadlock removal method may be deployed in a deadlock processing module of a node connecting the ring network to other ring networks.
在又一种可能的部署方式中,对于片上系统的每个环状网络,可以将该环状网络与其他环状网络连接的节点的死锁处理模块中部署第二种死锁解除的方法。In yet another possible deployment manner, for each ring network of the SoC, the second deadlock removal method may be deployed in the deadlock processing module of the node connecting the ring network to other ring networks.
在还一种可能的部署方式中,对于片上系统的每个环状网络,如果该环状网络的某节点与同一芯片的另一个环状网络连接,则在该节点部署第一种死锁解除的方法。如果该环状网络的某节点与不同芯片的另一个环状网络连接,则在该节点部署第二种死锁解除的方法。In another possible deployment mode, for each ring network of the system on chip, if a node of the ring network is connected to another ring network of the same chip, the first deadlock release method is deployed on the node Methods. If a node of the ring network is connected to another ring network of a different chip, the second deadlock removal method is deployed on the node.
例如,在图2中,环状网络1和环状网络2连接的节点的死锁处理模块中可以部署第一种死锁解除的方法。环状网络2和环状网络3连接的节点的死锁处理模块中可以部署第二种死锁解除的方法。环状网络3和环状网络4连接的节点的死锁处理模块中可以部署第一种死锁解除的方法。For example, in FIG. 2 , the first deadlock removal method may be deployed in the deadlock processing module of the nodes connected to ring network 1 and ring network 2 . The second deadlock removal method may be deployed in the deadlock processing module of the nodes connected by the ring network 2 and the ring network 3 . The first deadlock removal method can be deployed in the deadlock processing module of the nodes connected by the ring network 3 and the ring network 4 .
又例如,在图3中,环状网络1和环状网络2连接的节点的死锁处理模块中、环状网络3和环状网络4连接的节点的死锁处理模块中、环状网络5和环状网络6连接的节点的死锁处理模块中可以部署第一种死锁解除的方法。环状网络1和环状网络3连接的节点的死锁处 理模块中、环状网络2和环状网络6连接的节点的死锁处理模块中、环状网络4和环状网络5连接的节点的死锁处理模块中可以部署第二种死锁解除的方法。For another example, in FIG. 3, in the deadlock processing module of the nodes connected to the ring network 1 and the ring network 2, in the deadlock processing module of the nodes connected to the ring network 3 and the ring network 4, in the ring network 5 The first deadlock removal method can be deployed in the deadlock processing module of the nodes connected to the ring network 6 . In the deadlock processing module of the nodes connected by ring network 1 and ring network 3, in the deadlock processing module of the nodes connected by ring network 2 and ring network 6, the nodes connected by ring network 4 and ring network 5 The second deadlock removal method can be deployed in the deadlock processing module of .
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在设备上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可读存储介质可以是设备能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如软盘、硬盘和磁带等),也可以是光介质(如数字视盘(Digital Video Disk,DVD)等),或者半导体介质(如固态硬盘等)。In the above-mentioned embodiments, all or part may be implemented by software, hardware, firmware or any combination thereof, and when software is used, all or part may be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the device, all or part of the processes or functions according to the embodiments of the present application will be generated. The computer-readable storage medium may be any available medium that can be accessed by the device, or a data storage device such as a server or a data center integrated with one or more available media. The available medium may be a magnetic medium (such as a floppy disk, a hard disk, and a magnetic tape, etc.), an optical medium (such as a digital video disk (Digital Video Disk, DVD), etc.), or a semiconductor medium (such as a solid-state hard disk, etc.).
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。Those of ordinary skill in the art can understand that all or part of the steps for implementing the above embodiments can be completed by hardware, and can also be completed by instructing related hardware through a program. The program can be stored in a computer-readable storage medium. The above-mentioned The storage medium mentioned may be a read-only memory, a magnetic disk or an optical disk, and the like.
以上所述仅为本申请一个实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。The above is only an embodiment of the application, and is not intended to limit the application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the application shall be included in the protection scope of the application. Inside.

Claims (19)

  1. 一种死锁解除的方法,其特征在于,所述方法应用于第一环状网络对应的第一节点,所述第一节点和所述第一环状网络中的第一slot连接,所述第一节点和第二环状网络对应的第二节点连接,所述方法包括:A method for deadlock release, characterized in that the method is applied to a first node corresponding to a first ring network, the first node is connected to a first slot in the first ring network, and the The first node is connected to the second node corresponding to the second ring network, and the method includes:
    检测所述第一节点处于第一状态,其中,所述第一状态为存在发生死锁的可能性的状态;Detecting that the first node is in a first state, wherein the first state is a state where there is a possibility of deadlock;
    控制第一slot向所述第一节点的第一出口缓存区中的预留缓存,发送所述第一环状网络中的第一数据,其中,所述第一数据的目的地不是所述第一环状网络对应的模块;controlling the first slot to send the first data in the first ring network to the reserved buffer in the first egress buffer of the first node, wherein the destination of the first data is not the first A module corresponding to the ring network;
    向所述第一slot发送所述第一入口缓存区中的数据。sending the data in the first entry buffer area to the first slot.
  2. 根据权利要求1所述的方法,其特征在于,所述向所述第一slot发送所述第一入口缓存区中的数据,包括:The method according to claim 1, wherein the sending the data in the first entry buffer area to the first slot comprises:
    在第一时钟周期向所述第一slot发送所述第一入口缓存区中的数据,其中,所述第一时钟周期为所述第一数据进入所述预留缓存时所处的时钟周期。Sending the data in the first entry buffer area to the first slot in a first clock cycle, wherein the first clock cycle is a clock cycle when the first data enters the reserved buffer.
  3. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method according to claim 1, further comprising:
    向所述第一slot发送空位预留信号,其中,所述空位预留信号用于指示所述第一slot在下一个时钟周期向第二slot发送空位占用信号,其中,所述第二slot为所述第一slot相邻的下游slot,所述空位占用信号用于指示与所述第二slot连接的节点不允许向所述第二slot发送数据,并指示所述第二slot向所述第二slot相邻的下游slot发送所述空位占用信号;sending a vacancy reservation signal to the first slot, wherein the vacancy reservation signal is used to instruct the first slot to send a vacancy occupancy signal to a second slot in the next clock cycle, wherein the second slot is the a downstream slot adjacent to the first slot, the vacancy occupancy signal is used to indicate that the node connected to the second slot is not allowed to send data to the second slot, and instruct the second slot to send data to the second slot The downstream slot adjacent to the slot sends the vacancy occupancy signal;
    所述向所述第一slot发送所述第一入口缓存区中的数据,包括:The sending the data in the first entry buffer area to the first slot includes:
    在第二时钟周期向所述第一slot发送所述第一入口缓存区中的数据,其中,所述第二时钟周期为所述第一slot向所述预留缓存发送所述第一数据时所处的时钟周期之后的第N个时钟周期,N为所述第一环状网络中slot的数量。Sending the data in the first entry buffer area to the first slot in a second clock cycle, wherein the second clock cycle is when the first slot sends the first data to the reserved buffer Nth clock cycle after the clock cycle, where N is the number of slots in the first ring network.
  4. 根据权利要求1-3所述的方法,其特征在于,所述控制第一slot向所述第一节点的第一出口缓存区中的预留缓存,发送所述第一环状网络中的第一数据,包括:The method according to claim 1-3, wherein the first slot of the control sends the first buffer in the first ring network to the reserved buffer in the first egress buffer of the first node. - Data, including:
    向第三slot发送死锁指示信号,其中,所述第三slot是所述第一slot相邻的上游slot,所述死锁指示信号用于指示所述第三slot在判断当前缓存的第一数据的目的地不是所述第一环状网络对应的模块的情况下,向所述第一slot发送到达信号,其中,所述到达信号用于指示所述第一slot在接收到所述第一数据时,向所述第一节点的第一出口缓冲区中的预留缓存发送所述第一数据。Sending a deadlock indication signal to a third slot, wherein the third slot is an upstream slot adjacent to the first slot, and the deadlock indication signal is used to indicate that the third slot is judging the current cached first If the destination of the data is not the module corresponding to the first ring network, sending an arrival signal to the first slot, where the arrival signal is used to indicate that the first slot receives the first data, sending the first data to the reserved buffer in the first egress buffer of the first node.
  5. 根据权利要求1-4中任一项所述的方法,其特征在于,所述检测所述第一节点处于第一状态,包括:The method according to any one of claims 1-4, wherein the detecting that the first node is in the first state comprises:
    检测所述第一入口缓存区中的数据进入所述第一slot的连续失败次数大于第一阈值。The number of consecutive failures to detect that data in the first entry buffer area enters the first slot is greater than a first threshold.
  6. 根据权利要求1-5中任一项所述的方法,其特征在于,所述检测所述第一节点处于第一状态,包括:The method according to any one of claims 1-5, wherein the detecting that the first node is in the first state comprises:
    检测所述第一入口缓存区的可用缓存占用率大于第二阈值。Detecting that the available cache occupancy rate of the first entry cache area is greater than a second threshold.
  7. 根据权利要求1-6中任一项所述的方法,其特征在于,所述检测到所述第一节点处于第一状态,包括:The method according to any one of claims 1-6, wherein the detecting that the first node is in the first state comprises:
    检测所述第一出口缓存区的可用缓存占用率大于第三阈值。Detecting that the available buffer occupancy rate of the first egress buffer area is greater than a third threshold.
  8. 根据权利要求1-7中任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 1-7, further comprising:
    检测所述第一节点处于第二状态,其中,所述第二状态为数据传输正常的状态;Detecting that the first node is in a second state, wherein the second state is a state in which data transmission is normal;
    控制所述第一环状网络中的各slot恢复正常工作状态。Controlling each slot in the first ring network to return to a normal working state.
  9. 根据权利要求8所述的方法,其特征在于,所述检测所述第一节点处于第二状态包括:The method according to claim 8, wherein the detecting that the first node is in the second state comprises:
    检测所述第一入口缓存区的可用缓存占用率小于第四阈值。Detecting that the available cache occupancy rate of the first entry cache area is less than a fourth threshold.
  10. 根据权利要求8或9所述的方法,其特征在于,所述检测到所述第一节点处于第二状态,包括:The method according to claim 8 or 9, wherein the detecting that the first node is in the second state comprises:
    检测所述第一出口缓存区的可用缓存占用率小于第五阈值。Detecting that the available buffer occupancy rate of the first egress buffer area is less than a fifth threshold.
  11. 一种死锁解除的方法,其特征在于,所述方法应用于第一环状网络对应的第一节点,所述第一节点和所述第一环状网络中的第一slot连接,所述第一节点和第二环状网络对应的第二节点连接,所述方法包括:A method for deadlock release, characterized in that the method is applied to a first node corresponding to a first ring network, the first node is connected to a first slot in the first ring network, and the The first node is connected to the second node corresponding to the second ring network, and the method includes:
    检测所述第一节点处于第一状态,其中,所述第一状态为存在发生死锁的可能性的状态;Detecting that the first node is in a first state, wherein the first state is a state where there is a possibility of deadlock;
    向第二slot发送空位预留信号,并在所述第二slot中缓存有数据的情况下,控制所述第二slot中缓存的数据进入所述第一环状网络对应的预留缓存中,其中,所述空位预留信号用于指示所述第二slot向相邻的下游的第三slot发送空位占用信号,所述空位占用信号用于指示所述第三slot连接的节点不允许向所述第三slot发送数据,并指示所述第三slot向所述第三slot相邻的下游slot发送所述空位占用信号。sending a vacancy reservation signal to the second slot, and controlling the data buffered in the second slot to enter the reserved buffer corresponding to the first ring network when there is data buffered in the second slot, Wherein, the vacancy reservation signal is used to instruct the second slot to send a vacancy occupancy signal to an adjacent downstream third slot, and the vacancy occupancy signal is used to indicate that the node connected to the third slot is not allowed to send The third slot sends data, and instructs the third slot to send the vacancy occupancy signal to a downstream slot adjacent to the third slot.
  12. 根据权利要求11所述的方法,其特征在于,所述第一环状网络属于第一芯片、所述第二环状网络属于第二芯片,所述第一芯片中还包括第三环状网络,所述第一环状网络中还包括第四slot、第五slot和第三节点,所述第五slot是所述第四slot相邻的下游slot,所述第五slot和所述第三节点连接,所述第三节点和所述第三环状网络对应的第四节点连接;The method according to claim 11, wherein the first ring network belongs to the first chip, the second ring network belongs to the second chip, and the first chip further includes a third ring network , the first ring network also includes a fourth slot, a fifth slot and a third node, the fifth slot is a downstream slot adjacent to the fourth slot, the fifth slot and the third node connection, the third node is connected to the fourth node corresponding to the third ring network;
    所述在所述第二slot中缓存有数据的情况下,控制所述第二slot中缓存的数据进入所述第一环状网络对应的预留缓存中,包括:In the case where data is cached in the second slot, controlling the data cached in the second slot to enter the reserved cache corresponding to the first ring network includes:
    在所述第二slot中缓存有数据的情况下,向所述第四slot发送死锁指示信号,其中,所述死锁指示信息用于指示所述第四slot在接收到相邻的上游slot发送的所述空位占用信号和数据的情况下,在下一时钟周期向所述第五slot发送到达信号和所述数据,所述到达信号用于指示所述第五slot在一个时钟周期接收到所述数据和所述到达信号的情况下,向所述第三 节点的出口缓冲区的预留缓存发送所述数据。In the case that data is cached in the second slot, a deadlock indication signal is sent to the fourth slot, wherein the deadlock indication information is used to indicate that the fourth slot receives an adjacent upstream slot In the case of sending the vacancy occupancy signal and data, an arrival signal and the data are sent to the fifth slot in the next clock cycle, and the arrival signal is used to indicate that the fifth slot receives the In the case of the data and the arrival signal, sending the data to the reserved buffer of the egress buffer of the third node.
  13. 根据权利要求11或12所述的方法,其特征在于,所述检测所述第一节点处于第一状态,包括:The method according to claim 11 or 12, wherein the detecting that the first node is in the first state comprises:
    检测所述第一入口缓存区中的数据进入所述第一slot的连续失败次数达到第一阈值。Detecting that the number of consecutive failures for data in the first entry buffer to enter the first slot reaches a first threshold.
  14. 根据权利要求11-13中任一项所述的方法,其特征在于,所述检测所述第一节点处于第一状态,包括:The method according to any one of claims 11-13, wherein the detecting that the first node is in the first state comprises:
    检测所述第一入口缓存区中的可用缓存占用率达到第二阈值。Detecting that the available cache occupancy rate in the first entry cache reaches a second threshold.
  15. 根据权利要求11-14中任一项所述的方法,其特征在于,所述检测所述第一节点处于第一状态,包括:The method according to any one of claims 11-14, wherein the detecting that the first node is in the first state comprises:
    检测所述第一出口缓存区的可用缓存占用率大于第三阈值。Detecting that the available buffer occupancy rate of the first egress buffer area is greater than a third threshold.
  16. 根据权利要求11-15中任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 11-15, wherein the method further comprises:
    检测所述第一节点处于第二状态,其中,所述第二状态为数据传输正常的状态;Detecting that the first node is in a second state, wherein the second state is a state in which data transmission is normal;
    控制所述第一环状网络中的各slot恢复正常工作状态。Controlling each slot in the first ring network to return to a normal working state.
  17. 根据权利要求11-16所述的方法,其特征在于,所述检测所述第一节点处于第二状态包括:The method according to claim 11-16, wherein the detecting that the first node is in the second state comprises:
    检测所述第一入口缓存区的可用缓存占用率小于第四阈值。Detecting that the available cache occupancy rate of the first entry cache area is less than a fourth threshold.
  18. 根据权利要求16或17所述的方法,其特征在于,所述检测到所述第一节点处于第二状态,包括:The method according to claim 16 or 17, wherein the detecting that the first node is in the second state comprises:
    检测所述第一出口缓存区的可用缓存占用率小于第五阈值。Detecting that the available buffer occupancy rate of the first egress buffer area is less than a fifth threshold.
  19. 一种片上系统,其特征在于,所述片上系统包括第一环状网络和第二环状网络,所述第一环状网络包括第一节点,所述第二环状网络包括第二节点,所述第一节点与所述第二节点连接,所述第一节点用于执行如权利要求1-18中任一项所述的死锁解除的方法。A system on chip, characterized in that the system on chip includes a first ring network and a second ring network, the first ring network includes a first node, and the second ring network includes a second node, The first node is connected to the second node, and the first node is configured to execute the deadlock removal method according to any one of claims 1-18.
PCT/CN2021/096511 2021-05-27 2021-05-27 Deadlock recovery method and on-chip system WO2022246761A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2021/096511 WO2022246761A1 (en) 2021-05-27 2021-05-27 Deadlock recovery method and on-chip system
CN202180098579.8A CN117397214A (en) 2021-05-27 2021-05-27 Deadlock release method and system on chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/096511 WO2022246761A1 (en) 2021-05-27 2021-05-27 Deadlock recovery method and on-chip system

Publications (1)

Publication Number Publication Date
WO2022246761A1 true WO2022246761A1 (en) 2022-12-01

Family

ID=84229435

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/096511 WO2022246761A1 (en) 2021-05-27 2021-05-27 Deadlock recovery method and on-chip system

Country Status (2)

Country Link
CN (1) CN117397214A (en)
WO (1) WO2022246761A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1542481A (en) * 2003-05-02 2004-11-03 ���ǵ�����ʽ���� Bi-directional optical cross-connect device
CN101686169A (en) * 2008-09-25 2010-03-31 英特尔公司 Scheme for avoiding deadlock in multi-ring interconnect, with additional application to congestion control
US20150016257A1 (en) * 2013-07-15 2015-01-15 Netspeed Systems Identification of internal dependencies within system components for evaluating potential protocol level deadlocks
CN108400880A (en) * 2017-02-07 2018-08-14 华为技术有限公司 Network-on-chip, data transmission method and the first switching node
CN108632172A (en) * 2017-03-23 2018-10-09 华为技术有限公司 Network-on-chip and the dead release method of extension that liquidates

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1542481A (en) * 2003-05-02 2004-11-03 ���ǵ�����ʽ���� Bi-directional optical cross-connect device
CN101686169A (en) * 2008-09-25 2010-03-31 英特尔公司 Scheme for avoiding deadlock in multi-ring interconnect, with additional application to congestion control
US20150016257A1 (en) * 2013-07-15 2015-01-15 Netspeed Systems Identification of internal dependencies within system components for evaluating potential protocol level deadlocks
CN108400880A (en) * 2017-02-07 2018-08-14 华为技术有限公司 Network-on-chip, data transmission method and the first switching node
CN108632172A (en) * 2017-03-23 2018-10-09 华为技术有限公司 Network-on-chip and the dead release method of extension that liquidates

Also Published As

Publication number Publication date
CN117397214A (en) 2024-01-12

Similar Documents

Publication Publication Date Title
JP5643185B2 (en) Reduction of traffic loss in EAPS system
US7558895B2 (en) Interconnect logic for a data processing apparatus
US5919250A (en) Data transmission system used for plant control and based on local area network
JP6174305B2 (en) Data transmission apparatus, communication control method, and communication control program
KR20070010152A (en) Integrated circuit and method for issuing transactions
TW200540709A (en) Power state coordination between devices sharing power-managed resources
TWI759585B (en) System and method for asynchronous, multiple clock domain data streams coalescing and resynchronization
KR20190134480A (en) Error checking for primary signal transmitted between first and second clock domains
US20080244136A1 (en) Integrated Circuit and Method For Transaction Abortion
JP3186917B2 (en) Local area network and transmission order automatic determination method
US7826399B2 (en) Structure for preventing starvation in a slotted ring data communications network
EP0666666B1 (en) Method and apparatus for improved throughput in a multi-node communication system with a shared resource
WO2022246761A1 (en) Deadlock recovery method and on-chip system
WO2020129219A1 (en) Network device, network system, network method, and network program
JP3640844B2 (en) Transmission apparatus having error processing function and error processing method
CN102739466A (en) Method and system for setting detection frame timeout duration of Ethernet node
WO2018171299A1 (en) On-chip network and hedge hanging removal method
JP2010118020A (en) Request order control system, request order control method, and request order control program
JP6502134B2 (en) Data transmission control device, data transmission control method, and program
US20230318979A1 (en) Bidirectional ring-based interconnection networks for multiprocessors
US20220141128A1 (en) Method and apparatus for controlling transmission for lossless packet forwarding
KR100737904B1 (en) interface device between master/slave devices and method thereof
JP2001320385A (en) Method/device for transmitting/receiving packet of computer system and packet transmission/reception program
JP2662258B2 (en) Information relay node device
JPS6225529A (en) Diagnostic method for duplicated transmission line

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 202180098579.8

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21942337

Country of ref document: EP

Kind code of ref document: A1