Data flow control in a network
Patent Information
- Application Number
- CN202180071242.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-10-19
- Filing Date
- 2021-10-18
- Publication Date
- 2026-09-08
- Estimated Expiration
- 2041-10-18
AI Technical Summary
在此,在相应的更小的数据帧的开始和结束处添加附加的报头,由此也必须分别创建CRC(循环冗余校验)等,由此产生附加的开销
Smart Images

Figure CN116325691B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a method for data transmission in a network, wherein a first participant transmits data symbols in a data frame to a second participant, and the second participant forwards and / or processes the data frame. The invention further relates to a network comprising a first participant and a second participant connected to the first participant via a data connection, wherein the first participant is designed to transmit data symbols in a data frame to the second participant via the data connection. Background Technology
[0002] The distinction is essentially between standard networks and real-time networks. In standard networks, data frames are transmitted spontaneously between participants, while in real-time networks, they are transmitted periodically. A data frame begins with a start header, includes multiple data symbols, and ends with an end header. The data symbols are, therefore, the original, useful data transmitted within the data frame. A participant that has received a data frame stores the entire frame in a store-and-forward buffer, or temporarily stores a portion of the frame in a cut-through buffer. The temporary storage of the entire data frame and its subsequent forwarding are referred to as "store-and-forward." "Cut-through," in contrast, means that only a portion of the data frame is stored, the portion necessary to determine where the data frame should be forwarded to (i.e., through which destination port). This portion may include, for example, a few bytes and is preferably placed at the beginning of the data frame. After the destination port is determined, the temporarily stored portion of the data frame, along with the remaining portion of the data frame, is directed to the appropriate destination port. Throughput can be reduced by temporarily storing and forwarding the smallest possible portion of a data frame in a "pass-through" scenario—where the remaining portion of the data frame is forwarded directly without storage. Data frames stored in a pass-through buffer or store-and-forward buffer (hereinafter generally referred to as a switching buffer) are then processed by the participants (if the destination port is an internal port) and / or forwarded (if the destination port is an external port) and subsequently removed from the switching buffer.
[0003] In both real-time and standard networks, delays may occur during processing or forwarding of data frames after they are received, for example, because the participants have different clocks. If a data frame is transmitted from a participant with a faster clock to a participant with a slower clock, the participant with the slower clock may receive the data frame with a clock (the sending participant's clock) that is faster than the clock it can process / forward (its own clock), potentially causing a symbol buffer overflow downstream of the switching buffer.
[0004] In both real-time and standard networks, situations may arise where a participant (e.g., a switch) receives data frames on multiple ports and is required to forward those frames through a single port. In this case, a data frame may be received from the participant faster than it can be forwarded or processed, resulting in latency. Furthermore, the receiving participant's symbol buffer may overflow.
[0005] To prevent symbol buffer overflow, data flow control is implemented in both real-time and standard networks. This data flow control is used to control the transmission of data frames between the participants as efficiently and losslessly as possible.
[0006] In both real-time and standard networks, if participants simultaneously receive data frames on multiple ports and also need to transmit data frames on at least one other port, flow control may be required to manage the assignment of each data frame to the participant. For example, internal ports can be designated as other ports, enabling processing within the participant. Similarly, external ports can be designated as other ports, enabling forwarding to other participants. Using flow control eliminates the need for separate and explicit planning of each data frame, thus efficiently utilizing the bandwidth available in the real-time network.
[0007] Real-time networks configured according to the standard TSN IEEE 802.1Qbu have, for example, time-controlled data flow control. Here, switches allocate periodically repeating transmission periods to each participant for sending data frames, and the real-time network has correspondingly configured switches. This time-controlled data flow control is relatively complex because it must ensure that data packets sent by different participants do not overlap.
[0008] Regarding data flow control, a distinction is made between the on / off method and the credit-based method. In the on / off method, if the receiving participant is ready to receive data frames (on), the receiving participant notifies the sending participant, and the sending participant then begins transmitting data frames. Once the receiving participant can no longer receive data frames, for example because its symbol buffer is full, the receiving participant signals to the sending participant that the sending participant should pause the transmission of the data frames (off). For this purpose, explicit control signals (e.g., RTS and CTS in the case of RS-232, or IRDY and TRDY in the case of PCI) are transmitted on a separately implemented control line, which is called out-of-band signaling. However, special control symbols are also used (e.g., ASCII codes for X-on / X-off, and pause frames in the case of Ethernet IEEE 802.3x), which is called in-band signaling.
[0009] In a credit-based approach, the receiving party notifies the sending party at regular intervals how many more data frames can be received (credit). The sending party then sends data frames accordingly and stops transmitting after the predetermined number of data frames, provided that it has not received any new information from the receiving party regarding the data frames to be received within the specified time. The credit information is typically transmitted in-band (e.g., PCIe).
[0010] In contrast, in Ethernet, the current data frame (including the header) is transmitted in its entirety. Transmission pauses, meaning no more frames are sent, only after the entire data frame has been transmitted. Flow control, especially in modern serial networks, typically affects the entire data frame, meaning either the frame is transmitted completely (including the header) or not. This granularity is therefore coarse and sluggish.
[0011] For example, in a real-time network configured according to the standard TSN IEEE 802.1Qbu, priorities can be set for data frames, where lower-priority data frames can be split to allow the transmission of higher-priority data frames. However, this splitting is achieved by dividing the relevant data frames into smaller ones. Here, additional headers are added at the beginning and end of the corresponding smaller data frames, thus requiring the creation of CRC (Cyclic Redundancy Check) checks, etc., resulting in additional overhead. As mentioned, data flow control is also time-controlled, meaning that each participant has periodically repeating transmission periods, which can, for example, allow for periodic interruptions of data frames. Summary of the Invention
[0012] The objective of this invention is to provide a method for data flow control in which overhead is reduced.
[0013] The task is solved by a method in which, in the event of a delay in the forwarding and / or processing of data frames, a second participant instructs a first participant to suspend the transmission of data frames at a granularity of one data symbol, wherein the first participant resumes the transmission of data frames at a granularity of one data symbol after the suspension. Furthermore, the task is solved by a network, preferably a real-time network, in which the second participant is designed to instruct the first participant to suspend the transmission of data frames at a granularity of one data symbol. Delays may occur in the forwarding and / or processing of data frames because the second participant has a slower clock than the first participant, and therefore receives data frames at a faster clock than it can process / forward. Moreover, delays may occur, for example, in the forwarding and / or processing of data frames, if the second participant receives data frames on multiple ports, and these data frames should be forwarded through external ports or processed through internal ports.
[0014] In the sense of this invention, pausing or interrupting means the stopping of a frame (data frame or paused frame), wherein the frame continues unchanged after the pause / interruption. This means dividing a frame into multiple frame parts, however, these frame parts together constitute the frame. For example, a real-time network configured according to the standard TSN IEEE 802.1Qbu does not pause / interrupt data frames, but instead splits the data frame into smaller data frames, each with a header. These smaller data frames are therefore not data frame parts, but independent data frames containing a portion of the data symbols of the original data frame.
[0015] According to the present invention, in the event of a delay in the forwarding and / or processing of data frames by a second participant, the transmission of data frames from the first participant to the second participant can be immediately suspended without terminating or discarding the current data frame. This divides the data frame into several data frame portions, each comprising a plurality of data symbols. This division is not predetermined but is implemented through an instruction from the second participant to suspend the transmission of the data frame. The transmission can then be resumed by sending the remaining data frame portion of the current data frame. Multiple pauses, i.e., subdivision into multiple data frame portions, can also occur within a single data frame. Furthermore, each data frame does not need to be pre-planned individually and explicitly as in known time-controlled real-time networks. The method according to the present invention enables a self-regulating system that optimizes bandwidth utilization. This results in low overhead and rapid responsiveness in the data stream while maintaining low cost. Low latency can be achieved through the fine-grained interruptibility of data symbols, which is particularly advantageous when multiple participants connect sequentially.
[0016] Preferably, the second participant temporarily stores the received data frames in a symbol buffer. The symbol buffer can be located after the switching buffer (pass-through buffer or store-and-forward buffer) located on the second participant.
[0017] Furthermore, if the predetermined upper limit (oberer Füllstand) of the second participant's symbol buffer is exceeded, the second participant may instruct the first participant to suspend the transmission of data frames. Exceeding the upper limit is therefore an indication of delays in the forwarding and / or processing of data frames.
[0018] Preferably, the first participant resumes data frame transmission after the pause duration expires. This is particularly advantageous in real-time networks with periodic data communication, but can also be applied to standard networks. The resumption of data frame transmission can be achieved through a timeout after the pause duration expires. The pause duration thus begins with the pause of the data frame and ends with the resumption of the data frame. As mentioned earlier, the data frame can also be divided into more than two data frame parts.
[0019] The second participant can instruct the first participant to continue the transmission of the data frame. For example, if the data frame transmission falls below a predetermined lower limit of the symbol buffer, the second participant can instruct the first participant to continue the transmission. If the data frame transmission falls below the lower limit (i.e., there is sufficient space available in the symbol buffer), then the second participant outputs an instruction to the first participant to continue transmitting the data frame, thereby receiving (and, if necessary, temporarily storing or directly forwarding) additional data symbols (i.e., the second data frame portion). This is particularly advantageous in standard networks (i.e., networks without real-time capabilities). In real-time networks, if the instruction sent by the second participant to the first participant to continue transmission is lost, an unforeseen pause can occur without additional measures.
[0020] Advantageously, the first participant sends a higher-priority frame to the second participant, which thereby suspends or interrupts the transmission of data frames. After the transmission of the higher-priority frame expires, the transmission of data frames resumes. Multiple higher-priority frames may also exist. Depending on the priority, a higher-priority frame may also interrupt the transmission of a lower-priority frame.
[0021] Furthermore, the suspension request for transmission from the second participant to the first participant can also be achieved using higher priority frames.
[0022] Preferably, the pause frame or management frame can be a higher priority frame.
[0023] Preferably, the first participant transmits a pause frame to the second participant during a pause in the transmission of a data frame. This can be achieved by giving the pause frame a higher priority than the data frame, thereby interrupting the data frame transmission. The pause frame does not need to contain special pause data and can be discarded by the receiving participant. Once the transmission of the pause frame is complete, the transmission of the data frame resumes.
[0024] Source-synchronous real-time networks are known in which clocks are not transmitted between participants. This is also the case in real-time networks where participants are configured according to the newly developed X2X+ protocol. To enable participants to reconstruct the clock (clock data recovery - CDR) from received frames (data frames and pause frames), 8B / 10B encoded data is continuously transmitted within the frames. Therefore, in addition to data frames, pause frames are preferably also 8B / 10B encoded.
[0025] Preferably, the second participant instructs the first participant to send a pause frame by transmitting an activated pause-start request. The second participant may also instruct the first participant to stop sending pause frames by transmitting a pause-end request—preferably in another periodic management frame.
[0026] A particularly advantageous feature is that the second participant transmits an active pause-start request (and / or, if applicable, a pause-end request) to the first participant in another periodic management frame. Here, another management cycle is established for the other management frame.
[0027] Preferably, another management frame is sent from the second participant to the first participant at equal time intervals of another management cycle. This other management frame may include management data for managing communication between the participants. Specifically, the other management frame may include an active pause-start request (and / or, if present, a pause-end request) to the first participant in relation to additional data frames sent from the first participant to the second participant.
[0028] For example, a bit in another management frame can be set for a pause-start request; and a bit for a pause-end request. Alternatively, the same bit can be set for both pause-start and pause-end requests, where the bit can be set to "1" for a pause-start request and "0" for a pause-end request; or vice versa—in which case a pause-end request can be synonymous with an inactive pause-start request.
[0029] Preferably, the first participant periodically transmits management frames to the second participant, wherein the first participant interrupts data frame transmission at a granularity of one data symbol, transmits a management frame to the second participant, and then resumes data frame transmission. A management period is defined for the management frames. Management frames are transmitted at equidistant time intervals of the management period. The management frames may include management data used to manage communication between the participants. Specifically, the management frames may include a pause-start request (and / or optionally a pause-end request) to the second participant in relation to additional data frames transmitted from the second participant to the first participant.
[0030] If the first participant transmits a pause frame during the management cycle, then the first participant interrupts the transmission of the pause frame, transmits the management frame to the second participant, and then resumes the transmission of the pause frame. This means that the pause frame is paused during the transmission of the management frame.
[0031] Therefore, management frames can be given a higher priority than pause frames and / or data frames.
[0032] Preferably, the second participant transmits data symbols to the first participant in another data frame, wherein the first participant instructs the second participant to pause the transmission of the other data frame at a granularity of one data symbol, and after the pause, the second participant resumes the transmission of the other data frame. This means that other data frames transmitted from the second participant to the first participant can also be paused by an instruction from the first participant to the second participant. The same mechanism can be used here, as described with respect to the transmission of data frames from the first participant to the second participant.
[0033] In summary, the first / second participants can each merge multiple logical channels (data channels, pause channels, and management channels) into a single data stream, interleaving data frames, pause frames, and management frames on the data connection. Here, the management channel (i.e., management frames) has the highest priority, the pause channel (i.e., pause frames) has medium priority, and the data channel (i.e., data frames) has the lowest priority. A logical channel can be interrupted at any time by a higher-priority logical channel.
[0034] The method according to the invention is particularly advantageous in real-time networks where periodic transmission of management frames is already provided for exchanging time information among the participants. If, for example, 8B / 10B line encoding of the transmitted data is used, the transmitted data is scrambled to minimize the impact on electromagnetic radiation.
[0035] If special control symbols, the so-called K symbols, are included in the line code (as is the case in the newly developed X2X+ protocol), then the already defined "no-op" (NOp) K symbols can be used as pause frames, where the pause frame is only one NOp symbol long. Of course, multiple such pause frames can be sent consecutively to signal a longer interruption of the data frame. However, because the K symbols are not scrambled, pause frames consisting of multiple NOp symbols will consecutively cause the same bit sequence, resulting in undesirable electromagnetic radiation.
[0036] To avoid this, the start and end of a pause frame can be defined using the K symbol. For example, the start of a pause frame can be defined by a pause start flag in the form of a K28.3 symbol, and the end of a pause frame can be defined by a pause end flag in the form of a K28.4 symbol. The pause data transmitted between the pause start and pause end flags does not convey any actual information but can be scrambled. Because the pause data of the pause frame in this embodiment does not contain important content, it can be discarded by the receiver.
[0037] Not only pause frames, but also data and management frames can be defined using K symbols with line coding. Thus, the start of a management frame can be defined, for example, by a management start marker in the form of a K28.1 symbol, while the end of a management frame can be defined, for example, by a management end marker in the form of a K28.0 symbol. Similarly, the start of a data frame can be defined by a frame start marker in the form of a K29.7 symbol, while the end of a data frame can be defined by a frame end marker in the form of a K27.7 symbol.
[0038] If a pause-start request is transmitted in a management frame, then a single bit in the header of the management frame can be used. Alternatively, the management frame can also consist of a single symbol representing a pause-start request. Therefore, if no other management information needs to be transmitted in the management frame within the network, the overhead can be minimized. Thus, a pause-start symbol, such as the K28.1 symbol, can be defined, which in this case is of course not used as a symbol for the start of management. If the first participant receives such a pause-start symbol as a pause-start request from the second participant, then a pause frame is started.
[0039] If a pause-end request is provided, this can also be achieved using the pause-end symbols defined in the management frame.
[0040] In the newly developed X2X+ protocol, for example, a 4-microsecond management cycle is provided. This means that within one management cycle, i.e., between sending two management frames, at a data transmission rate of 51.2 megasymbols / second, 204 data symbols can be transmitted. If these data symbols (one or more data frames) are temporarily stored in the symbol buffer, then a management frame with a positive pause request must be sent after receiving 204 data symbols, thus preventing the symbol buffer from overflowing. Preferably, however, the symbol buffer is chosen more extensively, because the symbol buffer may also overflow shortly after sending the last management frame (including a negative pause request). Preferably, the symbol buffer is chosen as much as twice, and particularly preferably three times, the amount of data symbols that can be transmitted between two management frames. Attached Figure Description
[0041] In the following reference Figures 1 to 4 To explain the invention in more detail, these accompanying drawings exemplify, schematically, and non-limitingly illustrate advantageous designs of the invention. In the figures:
[0042] Figure 1 This illustrates a real-time network involving two participants;
[0043] Figure 2a An exemplary structure of a data frame is shown;
[0044] Figure 2b An exemplary structure for a pause frame is shown;
[0045] Figure 2c An exemplary structure for a management frame is shown;
[0046] Figure 3 This shows a data frame interrupted by a pause frame;
[0047] Figure 4 This illustrates the transmission of data frames between the first and second participants. Detailed Implementation
[0048] Network 1—preferably configured as a real-time network—comprises multiple participants interconnected linearly or branchingly, wherein adjacent participants transmit symbolic frames to each other. If Network 1 is a real-time network, then adjacent participants periodically transmit symbolic frames to each other. Figure 1 The diagram shows a network 1 consisting of only a first participant 11 and a second participant 12. For transmitting frames containing symbols, at least one port 11[1] and at least one port 12[1] are provided on each participant 11 and 12, respectively. Ports 11[1] and 12[1] are configured to receive and transmit symbols in the frames and are interconnected via a data connection V.
[0049] Data frames DF1 and DF2, each comprising multiple data symbols DS, are periodically transmitted between participants 11 and 12. Therefore, participant 11 transmits data frame DF1 to port 12[1] of participant 12 via its port 11[1] and data connection V. Partially (if the store-and-forward buffer is configured as a switching buffer) or partially (if the pass-through buffer is configured as a switching buffer) of data frame DF1 in its respective switching buffer (depending on the design of a pass-through buffer or a store-and-forward buffer), and then processes / forwards it. Similarly, participant 12 transmits another data frame DF2 to port 11[1] of participant 11 via its port 12[1] and data connection V. Partially (if the first participant) receives the other data frame DF2, temporarily stores it entirely or partially in its respective switching buffer, and then processes / forwards it. Of course, participants 11 and 12 may also have additional ports, which are connected to ports of additional participants via data connections.
[0050] Data frame DF1 sent by the first participant 11 and another data frame DF2 sent by the second participant 12 preferably, but not necessarily, have the same structure, each beginning with a start-of-frame marker SoF and ending with a stop-of-frame marker EoF. Eight data symbols DS are transmitted between the start-of-frame marker SoF and the stop-of-frame marker EoF, as shown in... Figure 2a As shown in the image.
[0051] If the first participant 11 sends one or more data frames DF1 to the second participant, then the second participant 12 is designed to instruct the first participant 11 to suspend the transmission of data frame DF1 at a granularity of one data symbol DS. This means that transmission can also be interrupted in the middle of data frame DF1 as instructed by the second participant 12. Then, the second participant 12 can instruct the first participant 11 to continue the transmission of data frame DF1. Therefore, data frame DF1 can be divided into a first data frame portion DF1' transmitted first and a second data frame portion DF1 transmitted subsequently.
[0052] The pause in the transmission of data frame DF1 can preferably be achieved by using a frame with a higher priority than data frame DF1.
[0053] Preferably, during the pause in the transmission of data frame DF1, the first participant 11 transmits a pause frame PF1 to the second participant 12 via data connection V. The pause frame PF1 preferably begins with a pause start flag SoP and ends with a pause end flag EoP. Pause data P is transmitted between the pause start flag SoP and the pause end flag EoP, as in... Figure 2b As shown in the image.
[0054] The start of pause frame PF1 can be requested by the second participant 12, for example, by transmitting a pause-start request PR=0 / 1 (PR=1 indicates an "active" pause-start request, PR=0 indicates an "inactive" pause-start request) to the first participant 11. The end of pause frame PF1 is advantageously achieved after the pause time tp has expired. However, the end of pause frame PF1 can also be indicated by the second participant 12, for example, by transmitting a pause-end request PER. The pause data P can be discarded by the first participant 11.
[0055] Furthermore, the simultaneous data transmission from the second participant 12 to the first participant is described in detail below (in addition, the pause-start request PR = 0 / 1).
[0056] Figure 3 The diagram illustrates the transmission of a data frame DF1, comprising eight data symbols DS, from a first participant 11 to a second participant 12, wherein the data frame DF1 is interrupted and thus paused by a pause frame PF1. The first participant 11 begins transmitting the data frame DF1 to the second participant 12 with a start-of-frame marker SoF, followed by three data symbols DS (the first data frame portion DF1'). The data frame DF1 is then interrupted by an active pause-start request PR=1 from the second participant 12, thereby transmitting a pause frame PF1 beginning with a pause start marker SoP. After the pause start marker SoP, a pause data P is transmitted for approximately this length until the pause frame PF1 ends with a pause end marker EoP (or, if set, interrupted by a management frame MF1, see below).
[0057] The end of pause frame PF1 is preferably achieved after the pause duration td has expired. The pause duration td can be defined, for example, as the duration of transmission of multiple symbols, such as data symbols DS (e.g., 204 symbols). However, the end of pause frame PF1 can also be triggered by the second participant 12, just as the start of pause frame PF1. For this purpose, the second participant can transmit a pause-end request to the first participant 11.
[0058] Then, the second data frame portion DF1” of data frame DF1 is transmitted, which is here five additional data symbols DS, and ends with the frame end marker EoF. Data frame DF1 is thus interrupted by pause frame PF1 into the first data frame portion DF1' and the second data frame portion DF1”. Then, the additional data frame DF1 can be transmitted from the first participant 11 to the second participant 12.
[0059] Preferably, the second participant 12 temporarily stores all or part of the received data symbol DS in a symbol buffer, and instructs the first participant 11 to interrupt the transmission of data frame DF1 if the data exceeds a predetermined upper limit of the symbol buffer, for example by transmitting an active pause-start request PR=1 to the first participant 11. Furthermore, if the symbol buffer of the second participant 12 is sufficiently processed to allow it to receive data symbol DS again, then the second participant 12 may transmit a pause-end request PER to the first participant 11 if the data falls below a predetermined lower limit of the symbol buffer.
[0060] The continuation of the transmission from the first participant 11 to the second participant 12 via data frame DF1 can be achieved, for example, after the pause duration td has expired and / or by transmitting a pause-end request PER to the first participant 11.
[0061] A pause-start request PR = 0 / 1 (and optionally a pause-end request PER) can be transmitted from the second participant 12 to the first participant 11, for example, in another management frame MF2, which is periodically sent in another management cycle Tm2. Similarly, the first participant 11 can periodically send a management frame MF1 to the second participant 12, which can also include a pause-start request PR = 0 / 1 (and optionally a pause-end request PER) to interrupt (and optionally continue) another data frame DF2 sent from the second participant 12 to the first participant 11 (in the case of an active pause-start request PR = 1). To describe this interaction, in Figure 4 The diagram shows the transmission of data frame DF1 from the first participant 11 to the second participant 12, and the simultaneous transmission of another data frame DF2 from the second participant 12 to the first participant 11.
[0062] Here, in Figure 4 Not only is the pause frame PF1 used, for example, as a frame with higher priority, but the management frame MF1 is also used, for example, as a frame with higher priority. However, it is also possible that other higher priority frames are used in the method according to the invention.
[0063] Data frame DF1, beginning with the start of frame marker SoF, is transmitted from first participant 11 to second participant 12. After receiving three data symbols DS, first participant 11 is instructed by second participant 12 to interrupt the transmission of data frame DF1. This instruction is shown here as an active pause-start request PR=1 (upward-pointing arrow) transmitted in another management frame MF2. Thus, only the first data frame portion DF1' of data frame DF1 is transmitted until the interruption.
[0064] Then, the first participant 11 sends a pause frame PF1, which essentially begins with a pause start marker SoP, followed by pause data P, and ends with a pause end marker EoP, as already present. Figure 2b As shown in the diagram. However, the first participant 11 also periodically (with a first management cycle Tm1) transmits management frames MF1 to the second participant 12, which begin with a management start flag SoM and end with a management end flag EoM. This management frame MF1... Figure 2c As shown in the image.
[0065] Management data M can be selectively transmitted between the management start marker SoM and the management end marker EoM, wherein... Figure 4 The text only shows a pause-start request PR = 0 / 1 as management data M. The pause-start request PR = 0 / 1 is preferably transmitted via a defined set or unset bit in the management frame MF. The management frame MF1 can interrupt not only the pause frame PF1 but also the data frame DF1, thus having a higher priority than both the pause frame PF1 and the data frame DF1. Figure 4 In the middle, pause frame PF1 is interrupted by management frame MF1. Therefore, although the pause start flag SoP and some pause data PF' are transmitted to the second participant 12, the management start flag SoM is then transmitted, followed by management data (inactive pause-start request PR = 0) and the management end flag EoM are transmitted to the second participant 12. After the transmission of management frame MF1, the previously interrupted pause frame PF1 is seamlessly resumed. Then, any further pause data P is sent. Figure 4 This means pausing data PF1.
[0066] The pause frame PF1 ends with the pause end flag EoP after the pause duration td, and then continues the previously interrupted data frame DF1, that is, the second data frame portion DF1 of the data frame DF1 being transmitted.
[0067] However, according to Figure 4 Data frame DF1 is interrupted again, exemplarily. Because the first management cycle Tm1 has expired, management frame MF1 is restarted with the management start flag SoM. Then, management data M (which again includes the inactive pause-start request PR=0) is transmitted to the second participant 12, and management frame MF1 is then terminated with the management end flag EoM. Subsequently, data frame DF1 continues again, i.e., a third data frame portion DF1"' is sent to the second participant 12 and terminated with the frame end flag EoF. Thus, the entire data frame DF1 has been transmitted from the first participant 11 to the second participant 12. The next data frame DF1 can then be transmitted from the first participant 11 to the second participant 12.
[0068] In parallel with the transmission of the first data frame DF1 from the first participant 11 to the second participant 12, another data frame DF2 is transmitted from the second participant 12 to the first participant 11. This second data frame DF2 begins with the frame start marker SoF, followed by (here, eight) data symbols DS. Data frame DF2 is then interrupted by the management frame MF2 after two data symbols DS, thus only the first portion of the other data frame DF2' is transmitted first. The interruption of the second data frame DF2 by the management frame MF2 is also implemented here at the granularity of one data symbol DS. The management frame MF2 begins with the management start marker SoM, followed by management data M. The management data M here includes the (active) pause-start request PR = 1, for example because the symbol buffer of the second participant 12 is full, or has exceeded the predetermined upper limit of the symbol buffer. As described above, the second participant 12 therefore instructs the first participant 11 to interrupt data frame DF1 via the pause frame PF1 (upward-pointing arrow). After another management frame MF2 expires via the management end flag EoM, another (in this case, five) data symbols DS are sent.
[0069] Because the management data M of the management frame MF1 of the first participant 11 does not contain an active pause-start request PR=1 (but rather an inactive pause-start request PR=0), the second participant 12 is not instructed to interrupt another data frame DF2 via another pause frame PF2. However, after transmitting the second other data frame portion DF2”, the other data frame DF2 is interrupted again by the management frame MF2 because another management cycle Tm2 has expired. The other management frame MF2 does not contain an active pause-start request PR=1 (but rather an inactive pause-start request PR=0), therefore the first participant 11 is not instructed to interrupt data frame DF1 again via pause frame PF1 (i.e., in this second frame portion DF1”).
[0070] After another management frame MF2 expires via the management end flag EoM, another data frame DF2 continues, which here corresponds to the third another data frame portion DF2"' in the form of data symbol DS. Because the management data M of the second management frame MF1 of the first participant 11 (as the first management frame MF1) does not contain an active pause-start request PR=1 (but rather an inactive pause-start request PR=0), the second participant 12 is not instructed to interrupt the other data frame DF2 via another pause frame PF2.
[0071] Another data frame DF2 ends with the frame end marker EoF. Therefore, the transmission of another data frame DF2 (divided into first, second, and third other data frame portions DF2', DF2"', and DF2"') is completely finished. The next other data frame DF2 can then be transmitted from the second participant 12 to the first participant 11, however, this is not shown.
[0072] Although the accompanying drawings only show data transmission between two participants 11 and 12 in network 1, the method can of course also be applied to communication between multiple participants in the network.
Claims
1. Method for data transmission in a network (1), wherein, The first participant (11) transmits a data symbol (DS) in a data frame (DF1) to the second participant (12), and the second participant (12) forwards and / or processes the data frame (DF1). The second participant (12) instructs the first participant (11) to suspend the transmission of the data frame (DF1) at a granularity of one data symbol (DS) after the suspending; and the first participant (11) resumes the transmission of the data frame (DF1) at a granularity of one data symbol (DS) after the suspending.
2. The method according to claim 1, characterized in that, The second participant (12) temporarily stores the received data frame (DF1) in the symbol buffer.
3. The method according to claim 2, characterized in that, If the predetermined upper limit of the symbol buffer is exceeded, the second participant (12) instructs the first participant (11) to interrupt the transmission of the data frame (DF1).
4. The method according to any one of claims 1 to 3, characterized in that, The second participant (12) instructs the first participant (11) to continue the transmission of the data frame (DF1).
5. The method according to claim 2 or 3, characterized in that, If the data is below the predetermined lower limit of the symbol buffer, the second participant (12) instructs the first participant (11) to continue the transmission of the data frame (DF1).
6. The method according to any one of claims 1 to 3, characterized in that, The first participant (11) sends a higher priority frame to the second participant (12), and the higher priority frame suspends or interrupts the transmission of the data frame (DF1).
7. The method according to any one of claims 1 to 3, characterized in that, The first participant (11) resumes the transmission of data frame (DF1) after the predetermined pause duration (td) expires.
8. The method according to any one of claims 1 to 3, characterized in that, The first participant (11) transmits a pause frame (PF1) to the second participant (12) during the interruption of the transmission of the data frame (DF1).
9. The method according to claim 8, characterized in that, The second participant (12) instructs the first participant (11) to start sending a pause frame (PF1) by transmitting an activated pause-start request.
10. The method according to claim 8, characterized in that, The second participant periodically transmits an active pause-start request or an inactive pause-start request to the first participant (11) in another management frame (MF2) during another management cycle (Tm2).
11. The method according to claim 8, characterized in that, The second participant (12) instructs the first participant (11) to end sending the pause frame (PF1) by transmitting a pause-end request (PER).
12. The method according to any one of claims 1 to 3, characterized in that, The first participant (11) periodically transmits management frames (MF1) to the second participant (12) in a first management cycle (Tm1); and the first participant (11) interrupts the transmission of data frames (DF1) at the granularity of a data symbol (DS), transmits management frames (MF1) to the second participant (12) and then continues the transmission of data frames (DF1).
13. The method according to claim 8, characterized in that, The first participant (11) periodically transmits management frames (MF1) to the second participant (12) in a first management cycle (Tm1); the first participant (11) interrupts the transmission of data frames (DF1) at the granularity of one data symbol (DS), transmits management frames (MF1) to the second participant (12) and then continues the transmission of data frames (DF1); and the first participant (11) interrupts the transmission of pause frames (PF1), transmits management frames (MF1) to the second participant (12) and then continues the transmission of pause frames (PF1).
14. The method according to any one of claims 1 to 3, characterized in that, The second participant (12) transmits a data symbol (DS) to the first participant (11) in another data frame (DF2), wherein the first participant (11) instructs the second participant (12) to pause the transmission of the other data frame (DF2) at a granularity of one data symbol (DS), and after the pause, the second participant (12) resumes the transmission of the other data frame (DF2).
15. The method according to any one of claims 1 to 3, characterized in that, The network (1) is a real-time network.
16. A network (1), the network comprising a first participant (11) and a second participant (12) connected to the first participant (11) via a data connection (V), wherein, The first participant (11) is designed to transmit data symbols (DS) in a data frame (DF1) to the second participant (12) via a data connection (V). The second participant (12) is designed to instruct the first participant (11) to pause the transmission of the data frame (DF1) at a granularity of one data symbol (DS), and the first participant is configured to continue the transmission of the data frame (DF1) at a granularity of one data symbol (DS) after the pause.
17. The network (1) according to claim 16, characterized in that, The second participant (12) includes a symbol buffer for temporarily storing received data frames (DF1).
18. The network (1) according to claim 16, characterized in that, The network (1) is a real-time network.
Citation Information
Patent Citations
Explicit flow control in a gigabit / 10 gigabit Ethernet system
CN101322357A
Queue aware flow control
CN101536413A
Interface circuit
CN110275853A