KR20240094812A - Apparatus and method for network extension of credit-based interfaces - Google Patents

Apparatus and method for network extension of credit-based interfaces Download PDF

Info

Publication number
KR20240094812A
KR20240094812A KR1020220177409A KR20220177409A KR20240094812A KR 20240094812 A KR20240094812 A KR 20240094812A KR 1020220177409 A KR1020220177409 A KR 1020220177409A KR 20220177409 A KR20220177409 A KR 20220177409A KR 20240094812 A KR20240094812 A KR 20240094812A
Authority
KR
South Korea
Prior art keywords
credit
message
init
transmitting
transmission
Prior art date
Application number
KR1020220177409A
Other languages
Korean (ko)
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 KR1020220177409A priority Critical patent/KR20240094812A/en
Publication of KR20240094812A publication Critical patent/KR20240094812A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 개시(disclosure)는 일반적으로 통신 시스템에 관한 것으로, 보다 구체적으로 크레딧 기반 인터페이스의 네트워크 확장을 위한 장치 및 방법에 관한 것이다. 구체적으로 수신 장치의 동작 방법은 수신 장치를 리셋하는 과정과, 송신 장치로 수신 장치 초기화 응답 메시지를 송신하는 과정과, 수신 장치 초기화 응답 메시지에 대응하여 제1 타이머를 동작하는 과정과, 제1 타이머가 만료되기 전까지 송신 장치로부터 송신 장치 초기화 응답 메시지가 수신되지 않으며 수신 장치 초기화 응답 메시지를 다시 송신하는 과정과, 제1 타이머가 만료되기 전까지 송신 장치로부터 송신 장치 초기화 응답 메시지가 수신된 경우, 송신 장치에게 송신 장치 초기화 응답 메시지를 송신하는 과정과, 송신 장치 초기화 응답 메시지에 대응하여 제2 타이머를 동작하는 과정과, 제2 타이머가 만료되기 전까지 송신 장치 초기화 완료 메시지가 수신되지 않으면, 수신 장치 초기화 응답 메시지를 다시 송신하는 과정과, 제2 타이머가 만료되기 전까지 송신 장치 초기화 완료 메시지가 수신된 경우, 데이터를 수신하는 과정을 포함할 수 있다.This disclosure relates generally to communication systems, and more specifically to an apparatus and method for network expansion of a credit-based interface. Specifically, the operating method of the receiving device includes a process of resetting the receiving device, a process of transmitting a receiving device initialization response message to a transmitting device, a process of operating a first timer in response to the receiving device initialization response message, and a first timer. If the transmitting device initialization response message is not received from the transmitting device before the expiration of the transmitting device and the receiving device initialization response message is retransmitted, and the transmitting device initialization response message is received from the transmitting device before the first timer expires, the transmitting device transmitting a transmitting device initialization response message to a device, operating a second timer in response to the transmitting device initialization response message, and, if a transmitting device initialization complete message is not received before the second timer expires, receiving a receiving device initialization response. It may include a process of transmitting a message again, and a process of receiving data when a transmitting device initialization complete message is received before the second timer expires.

Description

크레딧 기반 인터페이스의 네트워크 확장을 위한 장치 및 방법{APPARATUS AND METHOD FOR NETWORK EXTENSION OF CREDIT-BASED INTERFACES}Apparatus and method for network extension of credit-based interface {APPARATUS AND METHOD FOR NETWORK EXTENSION OF CREDIT-BASED INTERFACES}

본 개시(disclosure)는 일반적으로 통신 시스템에 관한 것으로, 보다 구체적으로 크레딧 기반 인터페이스의 네트워크 확장을 위한 장치 및 방법에 관한 것이다.This disclosure relates generally to communication systems, and more specifically to an apparatus and method for network expansion of a credit-based interface.

하드웨어에서 데이터 전달시에는 수신한 데이터를 저장하기 위한 버퍼가 흔히 사용된다. 송신하는 측에서는 버퍼에 오버플로우가 발생하지 않도록 제어하면서 데이터를 보내야 한다. 이를 위해서 수신측 버퍼의 크기를 일정한 개수로 나누어 크레딧이라 정의하고 이를 관리하는 방법이 흔히 사용된다.When transferring data in hardware, a buffer is commonly used to store the received data. The sending side must send data while controlling the buffer to prevent overflow. For this purpose, a commonly used method is to divide the size of the buffer on the receiving side into a certain number, define credits, and manage this.

PCI Express, CXL 등의 연결망뿐만 아니라 하드웨어를 계층별로 나누어 구현할 때 데이터 전달을 위해 크레딧을 활용하는데 대표적인 예로 CODI 인터페이스를 들 수 있다.When implementing not only connection networks such as PCI Express and CXL, but also hardware by layer, credits are used to transmit data. A representative example is the CODI interface.

상술한 바와 같은 논의를 바탕으로, 본 개시(disclosure)는, 통신 시스템에서 크레딧 기반 인터페이스의 네트워크 확장을 위한 장치 및 방법을 제공한다.Based on the above-described discussion, this disclosure provides an apparatus and method for network expansion of a credit-based interface in a communication system.

또한, 본 개시는, 크레딧 기반 인터페이스를 이용하여 계층적으로 구성된 하드웨어를 별다른 인터페이스 변경없이 계층을 분리해 서로 다른 칩에서 구성하기 위한 장치 및 방법을 제공한다.In addition, the present disclosure provides an apparatus and method for configuring hardware configured hierarchically using a credit-based interface on different chips by separating the layers without changing the interface.

본 개시의 다양한 실시 예들에 따르면, 수신 장치의 동작 방법은 수신 장치를 리셋하는 과정과, 송신 장치로 수신 장치 초기화 응답 메시지를 송신하는 과정과, 수신 장치 초기화 응답 메시지에 대응하여 제1 타이머를 동작하는 과정과, 제1 타이머가 만료되기 전까지 송신 장치로부터 송신 장치 초기화 응답 메시지가 수신되지 않으며 수신 장치 초기화 응답 메시지를 다시 송신하는 과정과, 제1 타이머가 만료되기 전까지 송신 장치로부터 송신 장치 초기화 응답 메시지가 수신된 경우, 송신 장치에게 송신 장치 초기화 응답 메시지를 송신하는 과정과, 송신 장치 초기화 응답 메시지에 대응하여 제2 타이머를 동작하는 과정과, 제2 타이머가 만료되기 전까지 송신 장치 초기화 완료 메시지가 수신되지 않으면, 수신 장치 초기화 응답 메시지를 다시 송신하는 과정과, 제2 타이머가 만료되기 전까지 송신 장치 초기화 완료 메시지가 수신된 경우, 데이터를 수신하는 과정을 포함할 수 있다.According to various embodiments of the present disclosure, a method of operating a receiving device includes a process of resetting the receiving device, a process of transmitting a receiving device initialization response message to a transmitting device, and operating a first timer in response to the receiving device initialization response message. A process of re-transmitting a receiving device initialization response message when a transmitting device initialization response message is not received from the transmitting device until the first timer expires, and a transmitting device initialization response message from the transmitting device until the first timer expires. When received, a process of transmitting a transmission device initialization response message to the transmission device, operating a second timer in response to the transmission device initialization response message, and receiving a transmission device initialization completion message before the second timer expires. If not, the process may include retransmitting the receiving device initialization response message and, if the transmitting device initialization complete message is received before the second timer expires, receiving data.

본 개시의 다양한 실시 예들에 따른 장치 및 방법은, 크레딧 기반 인터페이스를 이용함으로써, 계층적으로 구성된 하드웨어를 별다른 인터페이스 변경없이 계층을 분리해 서로 다른 칩에서 구성할 수 있게 한다.Devices and methods according to various embodiments of the present disclosure enable hierarchically configured hardware to be configured on different chips by separating the layers without changing the interface by using a credit-based interface.

본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects that can be obtained from the present disclosure are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below. will be.

도 1a, 도 1b, 및 도 1c은 본 개시의 다양한 실시 예에 따른 크레딧 기반 인터페이스를 도시한다.
도 2, 및 도 3은 본 개시의 일 실시 예에 따라 계층이 오프칩으로 분리된 경우 송신장치와 수신장치의 크레딧 초기화를 수행하는 절차를 도시한다.
도 4는 본 개시의 일 실시 예에 따른 크레딧 초기화, 업데이트, 및 데이터 전송을 수행하기 위한 하드웨어 구조를 도시한다.
도 5는 본 개시의 일 실시 예에 따라 송신 크레딧 제어부의 동작 흐름도를 도시한다.
도 6는 본 개시의 일 실시 예에 따라 수신 크레딧 제어부의 동작 흐름도를 도시한다.
도 7은 본 개시의 일 실시 예 따른 패킷의 형태를 도시한다.
도 8는 본 개시의 일 실시 예에 따른 송신측/수신측 하드웨어를 묶어서 구현한 구조를 도시한다.
1A, 1B, and 1C illustrate credit-based interfaces according to various embodiments of the present disclosure.
2 and 3 illustrate a procedure for performing credit initialization of a transmitter and a receiver when layers are separated into off-chips according to an embodiment of the present disclosure.
Figure 4 shows a hardware structure for performing credit initialization, update, and data transmission according to an embodiment of the present disclosure.
Figure 5 shows an operation flowchart of a transmission credit control unit according to an embodiment of the present disclosure.
Figure 6 shows an operation flowchart of a received credit control unit according to an embodiment of the present disclosure.
Figure 7 shows the form of a packet according to an embodiment of the present disclosure.
Figure 8 shows a structure implemented by bundling transmitter/receiver hardware according to an embodiment of the present disclosure.

본 개시에서 사용되는 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시 예들을 배제하도록 해석될 수 없다.Terms used in the present disclosure are merely used to describe specific embodiments and may not be intended to limit the scope of other embodiments. Singular expressions may include plural expressions, unless the context clearly dictates otherwise. Terms used herein, including technical or scientific terms, may have the same meaning as commonly understood by a person of ordinary skill in the technical field described in this disclosure. Among the terms used in this disclosure, terms defined in general dictionaries may be interpreted to have the same or similar meaning as the meaning they have in the context of related technology, and unless clearly defined in this disclosure, have an ideal or excessively formal meaning. It is not interpreted as In some cases, even terms defined in the present disclosure cannot be interpreted to exclude embodiments of the present disclosure.

이하에서 설명되는 본 개시의 다양한 실시 예들에서는 하드웨어적인 접근 방법을 예시로서 설명한다. 하지만, 본 개시의 다양한 실시 예들에서는 하드웨어와 소프트웨어를 모두 사용하는 기술을 포함하고 있으므로, 본 개시의 다양한 실시 예들이 소프트웨어 기반의 접근 방법을 제외하는 것은 아니다.In various embodiments of the present disclosure described below, a hardware approach method is explained as an example. However, since various embodiments of the present disclosure include technology using both hardware and software, the various embodiments of the present disclosure do not exclude software-based approaches.

이하 본 개시는 크레딧 기반 인터페이스의 네트워크 확장을 위한 장치 및 방법에 관한 것이다. 구체적으로, 본 개시는 크레딧 기반 인터페이스를 이용함으로써, 계층적으로 구성된 하드웨어를 별다른 인터페이스 변경없이 계층을 분리해 서로 다른 칩에서 구성하기 위한 기술을 설명한다.Hereinafter, the present disclosure relates to an apparatus and method for network expansion of a credit-based interface. Specifically, the present disclosure describes a technology for configuring hierarchically configured hardware on different chips by separating the layers without changing the interface by using a credit-based interface.

이하 설명에서 사용되는 신호를 지칭하는 용어, 채널을 지칭하는 용어, 제어 정보를 지칭하는 용어, 네트워크 객체(network entity)들을 지칭하는 용어, 장치의 구성 요소를 지칭하는 용어 등은 설명의 편의를 위해 예시된 것이다. 따라서, 본 개시가 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 다른 용어가 사용될 수 있다.In the following description, terms referring to signals, terms referring to channels, terms referring to control information, terms referring to network entities, terms referring to device components, etc. are used for convenience of explanation. This is exemplified. Accordingly, the present disclosure is not limited to the terms described below, and other terms having equivalent technical meaning may be used.

또한, 본 개시는, 일부 통신 규격(예: 3GPP(3rd Generation Partnership Project))에서 사용되는 용어들을 이용하여 다양한 실시 예들을 설명하지만, 이는 설명을 위한 예시일 뿐이다. 본 개시의 다양한 실시 예들은, 다른 통신 시스템에서도, 용이하게 변형되어 적용될 수 있다.In addition, the present disclosure describes various embodiments using terms used in some communication standards (eg, 3rd Generation Partnership Project (3GPP)), but this is only an example for explanation. Various embodiments of the present disclosure can be easily modified and applied to other communication systems.

본 개시는 하드웨어 구현에 있어서, 계층간 데이터 전달을 위한 전송 제어와 관련된 기술일 수 있다. 규모가 큰 하드웨어 로직을 디자인할 때는 흔히 해당 하드웨어를 계층별로 나누어 구현할 수 있다. 이 때 계층간에 데이터를 전달하는 경우, 수신하는 계층의 버퍼의 오버플로우를 방지하기 위해 크레딧 기반의 흐름제어를 사용하는 경우가 많다. 본 개시는 이러한 흐름제어 방식을 오프칩으로 확장할 수 있도록 네트워크를 통한 크레딧 관리를 처리하는 기술을 개시한다.The present disclosure may be a technology related to transmission control for inter-layer data transfer in hardware implementation. When designing large-scale hardware logic, the hardware can often be implemented by dividing it into layers. At this time, when transferring data between layers, credit-based flow control is often used to prevent overflow of the buffer of the receiving layer. This disclosure discloses a technology for processing credit management through a network so that this flow control method can be extended off-chip.

이러한 크레딧 기반의 인터페이스 기술로서 CODI 인터페이스가 대표적이다. CODI 인터페이스와 같은 계층간 인터페이스는 크레딧을 초기화 하고 반환하는 과정등이 매우 단순하게 구성되어 있어서 오프칩 간 인터페이스로 사용하기에는 적합하지 않다. 본 발명은 이러한 문제점을 해결하기 위하여 인터페이스로 구성된 하드웨어의 계층을 인터페이스 변경없이 분리하고 분리된 계층을 다른 칩에서 구성하는 기술에 관한 것이다. 이를 위하여, 기존의 크레딧 기반 인터페이스(CODI)를 변형하고 이더넷 연결망을 통해 크레딧의 초기화, 반환 등을 구현하는 하드웨어를 구성하였다.The CODI interface is a representative example of this credit-based interface technology. Inter-layer interfaces such as the CODI interface are not suitable for use as off-chip interfaces because the process of initializing and returning credits is very simple. In order to solve this problem, the present invention relates to a technology for separating hardware layers composed of interfaces without changing the interface and configuring the separated layers on different chips. To this end, the existing credit-based interface (CODI) was modified and hardware was configured to implement credit initialization and return through an Ethernet connection network.

도 1a, 도 1b, 및 도 1c은 본 개시의 다양한 실시 예에 따른 크레딧 기반 인터페이스를 도시한다. 구체적으로, 도 1a은 하드웨어 내부 계층간 인터페이스에 사용되는 크레딧 기반 인터페이스의 한 예로서, CODI 인터페이스에서 가상레인을 제거하여 단순화한 인터페이스일 수 있다. 1A, 1B, and 1C illustrate credit-based interfaces according to various embodiments of the present disclosure. Specifically, Figure 1a is an example of a credit-based interface used for an interface between hardware internal layers, and may be a simplified interface by removing virtual lanes from the CODI interface.

도 1a은 참조하면, 도 1a의 인터페이스는 데이터를 전달하는 신호와 크레딧을 관리하는 신호로 구분될 수 있다.Referring to FIG. 1A, the interface of FIG. 1A can be divided into signals that transmit data and signals that manage credits.

데이터를 관리하는 신호는 도 1b에서 구체적으로 도시할 수 있다. pkt 신호는 실제 데이터를 전달할 수 있다. pkt 신호의 폭은 구현되는 하드웨어에 따라 달라질 수 있다. 일 실시 예에 따라, 전달하고자 하는 데이터는 여러 개의 pkt 신호가 연결되어 구성될 수 있다. 도 1b은 7개의 pkt 신호가 하나의 데이터 패킷을 구성하는 경우를 도시한다.Signals that manage data can be shown in detail in FIG. 1B. The pkt signal can carry actual data. The width of the pkt signal may vary depending on the hardware being implemented. According to one embodiment, data to be transmitted may be composed of multiple pkt signals connected. Figure 1b shows a case where 7 pkt signals constitute one data packet.

pkt_valid 신호는 해당 pkt 신호가 유효한지 여부를 알려줄 수 있다. pkt_last 신호는 pkt 신호가 전달하고자 하는 데이터의 마지막인지 아닌지를 알려주는 신호로 사용될 수 있다. The pkt_valid signal can inform whether the corresponding pkt signal is valid. The pkt_last signal can be used as a signal to indicate whether the pkt signal is the last of the data to be transmitted.

cr_ret, cr_rst_scr_dest, 및 cr_rst_dest_src는 크레딧을 관리하는 신호일 수 있다. 송신하고자 하는 계층에서는 수신하는 계층의 버퍼 공간, 즉 크레딧의 초기값을 확인한 다음부터 데이터의 전송이 가능할 수 있다. 이를 위하여 리셋 이후에는 수신측과 통신하여 크레딧 초기화 과정을 수행할 수 있다. 도 1c은 이러한 크레딧 초기화 과정을 구체적으로 도시한다. cr_ret , cr_rst_scr_dest , and cr_rst_dest_src may be signals that manage credits. The layer to be transmitted may be able to transmit data after confirming the initial value of the buffer space, or credit, of the receiving layer. To this end, after reset, the credit initialization process can be performed by communicating with the receiving party. Figure 1c specifically shows this credit initialization process.

송신측에서 시스템 리셋 이후 cr_rst_src_dest 신호를 0으로 활성화시키면 수신측에서는 가지고 있는 크레딧의 개수만큼 cr_ret 신호를 주고, cr_rst_dest_src 를 0으로 만들어 초기화가 완료되었음을 알릴 수 있다. 도 1c은 수신측 버퍼가 4개의 크레딧을 가진 경우의 예를 보여준 것이다.If the sending side activates the cr_rst_src_dest signal to 0 after system reset, the receiving side can send a cr_ret signal equal to the number of credits it has and set cr_rst_dest_src to 0 to indicate that initialization has been completed. Figure 1c shows an example where the receiving side buffer has 4 credits.

초기화가 끝난 후에는 데이터의 전송이 가능할 수 있다. 송신측은 pkt 신호에 데이터를 한번 실을 때마다 크레딧 값을 감소시키게 되고, 크레딧 값이 모두 소진되면 더 이상 데이터를 전송할 수 없다. 수신측에서는 버퍼에 도착한 데이터를 꺼낼 때마다 사용 가능한 크레딧이 추가되었음을 송신측으로 알려주어야 하며, 이는 cr_ret 신호를 통해서 알려줄 수 있다. 송신측은 cr_ret 신호가 active 인 클럭마다 크레딧 값을 증가시켜서 복원하며 이에 따라 계속적인 데이터 전송이 가능할 수 있다.After initialization is complete, data transmission may be possible. Each time data is loaded into the pkt signal, the transmitting side decreases the credit value, and when the credit value is used up, data can no longer be transmitted. Each time the receiving side retrieves data from the buffer, it must inform the transmitting side that available credits have been added, and this can be notified through the cr_ret signal. The transmitting side restores the credit value by increasing it for each clock in which the cr_ret signal is active, thereby enabling continuous data transmission.

전술한 인터페이스에서 송신계층과 수신계층을 오프칩으로 분리한다고 하면 데이터의 전송은 큰 변경 없이 연결망 인터페이스를 통해서 전달이 가능할 수 있다. 이더넷 등의 연결망 하드웨어 IP는 데이터 전송을 위한 사용자 인터페이스로 도 1b와 유사한 인터페이스를 제공하고 있다. 하지만 크레딧 관리 신호는 전달이 어려워 하드웨어를 대폭적으로 수정해야 하는 문제가 발생한다. 따라서 본 개시는 해당 하드웨어의 크레딧 관리 하드웨어를 그대로 사용하면서 오프칩 연결망으로 연결하는 하드웨어 로직을 제안한다.If the transmission layer and the reception layer are separated off-chip in the above-described interface, data may be transmitted through the network interface without major changes. Connection network hardware IP, such as Ethernet, provides an interface similar to Figure 1b as a user interface for data transmission. However, credit management signals are difficult to transmit, resulting in the need for significant hardware modifications. Therefore, this disclosure proposes hardware logic that connects to an off-chip network while using the credit management hardware of the corresponding hardware.

도 2는 본 개시의 일 실시 예에 따라 계층이 오프칩으로 분리된 경우 송신장치와 수신장치의 크레딧 초기화를 수행하는 절차를 도시한다. 구체적으로, 계층이 오프칩으로 분리된 경우 두 계층이 서로 리셋되는 타임밍이 다를 수 있고, 동작하는 중간에 한쪽만 리셋되는 경우도 생길 수 있는 데, 도 2는 송신계층과 수신계층이 오프칩으로 분리되었을 때, 초기화를 진행하는 과정으로 양쪽이 모두 리셋되었거나 동작 중 송신장치측만 리셋된 경우를 도시하고 있다.Figure 2 illustrates a procedure for performing credit initialization of a transmitter and a receiver when layers are separated into off-chips according to an embodiment of the present disclosure. Specifically, if the layers are separated off-chip, the reset timing of the two layers may be different, and there may be cases where only one side is reset during operation. Figure 2 shows that the transmitting layer and the receiving layer are off-chip. When separated, both sides are reset during the initialization process, or only the transmitter side is reset during operation.

[송신장치와 수신장치가 거의 동시에 모두 리셋된 경우][When both the transmitting device and receiving device are reset almost simultaneously]

송신장치는 리셋이 완료되면 수신장치로 src_init_req(Source Initialization Request) 메시지를 송신할 수 있다. 수신장치는 src_init_req 메시지를 수신하면 dest_init_cr(Destination Initial Credits) 메시지를 송신장치로 송신할 수 있다. dest_init_cr 메시지는 수신장치에서 받을 수 있는 크레딧의 개수가 포함될 수 있다. 송신장치는 dest_init_cr 메시지를 받으면 src_init_done(Source Initialization Done) 메시지를 보내고, 수신 장치에서는 src_init_done 메시지를 받은 후에 dest_init_done(Destination Initialization Done) 메시지를 다시 송신장치로 전송할 수 있다. 송신장치가 dest_init_done 메시지를 확인하면 초기화가 완료될 수 있다.When reset is complete, the transmitting device can send a src_init_req (Source Initialization Request) message to the receiving device. When the receiving device receives the src_init_req message, it can transmit a dest_init_cr (Destination Initial Credits) message to the transmitting device. The dest_init_cr message may include the number of credits that can be received by the receiving device. When the transmitting device receives the dest_init_cr message, it sends the src_init_done (Source Initialization Done) message, and the receiving device can transmit the dest_init_done (Destination Initialization Done) message back to the transmitting device after receiving the src_init_done message. Initialization can be completed when the sending device confirms the dest_init_done message.

[수신장치가 먼저 리셋이 완료된 경우][If the receiving device has completed reset first]

수신장치의 리셋이 먼저 완료되었다면 수신장치에서는 dest_init_req (Destination Initialization Request) 메시지를 송신장치로 보내게 되지만 송신장치에서는 리셋 전 혹은 리셋이 막 완료되어 초기화 되기 전 상태이므로 해당 메시지는 모두 무시될 수 있다.If the reset of the receiving device is completed first, the receiving device sends a dest_init_req (Destination Initialization Request) message to the transmitting device, but since the transmitting device is in a state before reset or has just completed reset and is before initialization, the message can be ignored.

[수신장치 측의 리셋이 늦어지는 경우][If reset on the receiving device is delayed]

수신장치의 리셋이 늦은 경우라면 송신장치의 src_init_req 메시지를 못 받을 수 있다. 따라서 송신장치는 src_init_req 메시지를 전송한 후, 일정 시간동안 dest_init_cr 메시지를 기다리다가 일정 시간이 지나고 나면 src_init_req 메시지를 다시 보내야 한다. 일 실시 예에 따라, 일정 시간은 두 장치를 연결하는 연결망의 round-trip-time 보다 충분히 큰 시간으로 설정될 수 있다.If the receiving device resets late, the src_init_req message from the sending device may not be received. Therefore, after transmitting the src_init_req message, the transmitting device must wait for the dest_init_cr message for a certain period of time and then send the src_init_req message again after a certain period of time has passed. According to one embodiment, the certain time may be set to a time sufficiently larger than the round-trip-time of the network connecting two devices.

[데이터 전송 중 송신장치가 리셋된 경우][If the transmitting device is reset during data transmission]

초기화가 완료되어 데이터를 전송하는 도중에 송신장치가 리셋되었다면 송신 장치는 크레딧 초기화가 되지 않은 상태로 돌아가므로 데이터를 전송하지 못할 수 있다. 이 때 송신장치는 다시 src_init_req 메시지를 보내고, 수신장치가 이 메시지를 받게 되면 수신 버퍼를 클리어 한 다음에 dest_init_cr 메시지를 보내는 절차부터 다시 초기화를 시작할 수 있게 된다.If initialization is completed and the transmitting device is reset while data is being transmitted, the transmitting device returns to a state where its credits have not been initialized and data may not be transmitted. At this time, the sending device sends the src_init_req message again, and when the receiving device receives this message, it clears the receiving buffer and then can start initialization again from the procedure of sending the dest_init_cr message.

도 3는 본 개시의 일 실시 예에 따라 크레딧 초기화를 수행하는 절차를 도시한다. 구체적으로, 도 3는 초기화가 완료되어 데이터를 전송하는 도중에 수신장치가 리셋된 경우에 크레딧 초기화를 수행하는 절차를 도시한다.Figure 3 illustrates a procedure for performing credit initialization according to an embodiment of the present disclosure. Specifically, Figure 3 shows a procedure for performing credit initialization when initialization is completed and the receiving device is reset while data is being transmitted.

도 3를 참조하면, 수신장치가 리셋되면 수신되는 데이터들은 모두 버려지고 dest_init_req 메시지를 송신장치로 송신할 수 있다. 송신장치는 초기화가 완료되어 동작되는 상황이었으므로 dest_init_req 메시지는 무시되지 않으며, 송신 크레딧 정보를 리셋한 후에 src_init_req를 전송하는 단계로 다시 진입할 수 있다. 수신장치는 dest_init_req 메시지를 전달한 후, 일정기간 src_init_req 메시지를 받지 못하면 dest_init_req 메시지를 반복해서 전달하므로, 송신장치는 src_init_req 메시지를 전송한 이후에 수신되는 dest_init_req 메시지는 무시할 수 있다. src_init_req 메시지를 전달 이후의 동작 절차는 도 2의 절차와 동일할 수 있다.Referring to FIG. 3, when the receiving device is reset, all received data is discarded and a dest_init_req message can be transmitted to the transmitting device. Since the transmitting device has completed initialization and is in operation, the dest_init_req message is not ignored, and the src_init_req transmission stage can be re-entered after resetting the transmission credit information. After transmitting the dest_init_req message, the receiving device repeatedly transmits the dest_init_req message if it does not receive the src_init_req message for a certain period of time, so the transmitting device can ignore the dest_init_req message received after transmitting the src_init_req message. The operation procedure after delivering the src_init_req message may be the same as the procedure in FIG. 2.

도 4는 본 개시의 일 실시 예에 따른 크레딧 초기화, 업데이트, 및 데이터 전송을 수행하기 위한 하드웨어 구조를 도시한다. 도 4의 송신계층과 수신계층은 도 1의 송신계층과 수신계층과 동일한 구성일 수 있다.Figure 4 shows a hardware structure for performing credit initialization, update, and data transmission according to an embodiment of the present disclosure. The transmission layer and reception layer of FIG. 4 may have the same configuration as the transmission layer and reception layer of FIG. 1.

도 4를 참조하면, 송신계층, 수신계층이 크레딧 관리 확장 하드웨어와 인터페이스 되는 신호들 중, 데이터 I/F는 도 1의 pkt, pkt_valid, pkt_last 신호선 일 수 있다. 크레딧 I/F는 도 1의 cr_rst_scr_dest, cr_rst_dest_scr, cr_ret 신호선을 의미할 수 있다.Referring to FIG. 4, among the signals that the transmission layer and the reception layer interface with credit management extension hardware, the data I/F may be the pkt, pkt_valid, and pkt_last signal lines of FIG. 1. Credit I/F may refer to the cr_rst_scr_dest, cr_rst_dest_scr, and cr_ret signal lines of FIG. 1.

연결망 IP 전송 어댑터와 연결망 IP 수신 어댑터는 사용하고자 하는 연결망이 있을 때 해당 연결망 기능을 제공하는 IP 인터페이스 신호가 데이터 I/F와 다를 경우, 이를 적절히 수정해주는 하드웨어 로직을 말할 수 있다. 연결망 IP 전송 어댑터와 연결망 IP 수신 어댑터는 연결망에 따라 다소 복잡할 수도, 필요없을 수도 있다.The network IP transmission adapter and the network IP reception adapter can refer to hardware logic that appropriately corrects the IP interface signal that provides the network function when there is a network to use and is different from the data I/F. The network IP transmission adapter and network IP reception adapter may be somewhat complicated or unnecessary depending on the network.

송신 크레딧 제어부와 수신 크레딧 제어부는 도 2와 도 3에서 설명된 초기화 절차를 진행하고 초기화 모두가 완료된 후에는 일반 모드에서 크레딧을 업데이트하는 기능을 수행할 수 있다.The transmission credit control unit and the reception credit control unit may perform the initialization procedure described in FIGS. 2 and 3 and perform a credit update function in normal mode after all initialization is completed.

[일반 모드에서 크레딧을 업데이트 하는 기능][Ability to update credits in normal mode]

일반 모드에서 크레딧을 업데이트 하는 기능은 수신계층에서 버퍼내에 수신된 데이터를 소비하고 나면 버퍼에 공간이 새로 준비되었다는 의미로 도 1c의 cr_ret 신호를 1로 표시할 수 있다. 수신 크레딧 제어부는 cr_ret 신호가 몇개의 클럭동안 1로 표시되는가를 카운트하여 일정 개수에 도달하면 이를 송신 크레딧 제어부에 dest_ret_cr(destination returned credits) 메시지를 전달해서 알려줄 수 있다. 일정 개수는 버퍼의 크기와 데이터의 대역폭 및 지연시간을 고려하여 송신 크레딧 제어부와 수신 크레딧 제어부 사이에서 같은 값으로 설정할 수 있다. 송신 크레딧 제어부는 메시지를 받고 나면 cr_ret 신호를 갱신해야 할 개수의 클럭동안 1로 표시하여 송신계층에 이를 알려줄 수 있다.The function of updating credits in normal mode can display the cr_ret signal in Figure 1c as 1, meaning that new space in the buffer is prepared after the reception layer consumes the data received in the buffer. The reception credit control unit counts how many clocks the cr_ret signal is displayed as 1, and when it reaches a certain number, it can notify the transmission credit control unit of this by sending a dest_ret_cr (destination returned credits) message. A certain number can be set to the same value between the transmission credit control unit and the reception credit control unit, considering the buffer size, data bandwidth, and delay time. After receiving a message, the transmission credit control unit can indicate this to the transmission layer by indicating the cr_ret signal as 1 for the number of clocks that need to be updated.

[크레딧 정보 생성기 1의 기능][Features of Credit Information Generator 1]

크레딧 정보 생성기 1은 송신 크레딧 제어부가 일반 모드에 있는 경우에는 송신계층과 연결된 데이터 I/F 로부터의 데이터를 연결망 IP 전송 어댑터로 전달하는 기능을 할 수 있다. 하지만 초기화 모드에 있는 경우에는 송신계층과 연결된 데이터 I/F 로부터의 데이터를 막을 수 있다. 초기화 모드에서는 송신 크레딧 제어부에서 동작 절차에 따라서 도 3에서 보이는 src_init_req 또는 src_init_done 메시지 생성 및 전달 요청이 크레딧 정보 생성기1 에 수신되고, 크레딧 정보 생성기1 은 이를 실제 메시지 패킷으로 생성하여 데이터 I/F 에 맞추어 연결망 IP 전송 어댑터로 전달할 수 있다.When the transmission credit control unit is in normal mode, credit information generator 1 can transmit data from the data I/F connected to the transmission layer to the network IP transmission adapter. However, when in initialization mode, data from the data I/F connected to the transmission layer can be blocked. In initialization mode, a request to create and deliver the src_init_req or src_init_done message shown in FIG. 3 is received by credit information generator 1 according to the operation procedure in the transmission credit control unit, and credit information generator 1 generates this as an actual message packet and matches it to the data I/F. It can be transmitted to the network IP transmission adapter.

[크레딧 정보 생성기 2의 기능][Features of Credit Information Generator 2]

크레딧 정보 생성기2 는 수신 크레딧 제어부에서 요청하는 크레딧 관련 메시지들을 실제 메시지 패킷으로 생성하여 데이터 I/F 에 맞추어 연결망 IP 전송 어댑터로 전달할 수 있다. 수신 크레딧 제어부에서 요청하는 메시지들은 초기화모드인 도 3에서 도시된 dest_init_req, dest_init_cr, dest_init_done 과 일반모드에서 사용하는 dest_ret_cr을 포함할 수 있다.Credit information generator 2 can generate credit-related messages requested by the receiving credit control unit as actual message packets and deliver them to the network IP transmission adapter according to the data I/F. Messages requested by the reception credit control unit may include dest_init_req , dest_init_cr , and dest_init_done shown in FIG. 3, which is the initialization mode, and dest_ret_cr , which is used in the normal mode.

[크레딧 추출기 1의 기능][Features of Credit Extractor 1]

크레딧 정보 추출기 1은 연결망 IP 수신 어댑터로부터 받은 데이터의 CRC 등을 체크하여 정상적인 메시지인지 아닌지를 점검한 후, 정상적이라면 종류를 구분하여 어떤 메시지가 도착하였는지를 송신 크레딧 제어부로 알려주는 기능을 할 수 있다. 이때 dest_init_cr, dest_ret_cr의 두가지 메시지의 경우라면 메시지에 포함된 크레딧 값도 같이 알려줄 수 있다.Credit information extractor 1 checks whether the message is normal by checking the CRC, etc. of the data received from the network IP reception adapter. If it is normal, it can classify the type and inform the transmission credit control unit of what message has arrived. At this time, in the case of two messages, dest_init_cr and dest_ret_cr , the credit value included in the message can also be informed.

[크레딧 추출기 2의 기능][Features of Credit Extractor 2]

크레딧 정보 추출기 2의 경우는 연결망 IP 수신 어댑터로부터 받은 데이터에 크레딧 관련 메시지 이외에도 일반적인 전송 데이터가 포함될 수 있다. 크레딧 정보 추출기 1과 마찬가지로 받은 데이터는 CRC 체크 등을 통해 오류 데이터를 일단 걸러낸다.In the case of credit information extractor 2, the data received from the network IP receiving adapter may include general transmission data in addition to credit-related messages. As with Credit Information Extractor 1, error data is first filtered out from the received data through CRC checks, etc.

그 후, 수신 크레딧 제어부가 초기화 모드에 있는 경우에는 크레딧 정보 추출기 2가 받은 데이터 중 일반적인 전송 데이터는 모두 버려지고, (수신측만 리셋된 경우에 일반적인 전송 데이터가 수신될 수 있다) 크레딧 관련 메시지의 종류를 구분하여 어떤 메시지가 도착하였는지 수신 크레딧 제어부로 알려줄 수 있다. 수신 크레딧 제어부가 일반 모드에 있는 경우라면 일반적인 전송 데이터는 수신계층으로 전달하고, 크레딧 관련 메시지(src_init_req 가 수신될 수 있다)라면 수신 크레딧 제어부로 해당 메시지가 도착했음을 알려줄 수 있다.Afterwards, when the receiving credit control unit is in the initialization mode, all general transmission data among the data received by credit information extractor 2 is discarded (normal transmission data can be received when only the receiving side is reset). Types of credit-related messages You can tell the receiving credit control unit which message has arrived by distinguishing between them. If the reception credit control unit is in normal mode, general transmission data can be delivered to the reception layer, and if it is a credit-related message ( src_init_req can be received), the reception credit control unit can be notified that the message has arrived.

도 5는 본 개시의 일 실시 예에 따라 송신 크레딧 제어부의 동작 흐름도를 도시한다.Figure 5 shows an operation flowchart of a transmission credit control unit according to an embodiment of the present disclosure.

도 5를 참조하면, 송신장치가 리셋(501)되면 송신계층과 연결된 송신 크레딧 제어부는 도 1c의 cr_rst_src_dest 신호가 1이 되었다가 0으로 변화하는 것을 감지할 수 있다.Referring to FIG. 5, when the transmission device is reset (501), the transmission credit control unit connected to the transmission layer can detect that the cr_rst_src_dest signal in FIG. 1C changes from 1 to 0.

cr_rst_src_dest 신호의 변화가 감지된 경우, 송신 크레딧 제어부는 src_init_req 메시지를 전송(502)할 것을 요청한 후 타이머를 동작(503)할 수 있다.When a change in the cr_rst_src_dest signal is detected, the transmission credit control unit may request to transmit a src_init_req message (502) and then operate a timer (503).

송신 크레딧 제어부는 동작(503)의 타이머가 만료되기 전까지 dest_init_cr 메시지가 수신(505)되지 않으면 src_init_req 메시지의 전송(502)을 반복할 수 있다.If the dest_init_cr message is not received (505) before the timer in operation (503) expires, the transmission credit control unit may repeat transmission (502) of the src_init_req message.

송신 크레딧 제어부는 dest_init_cr 메시지가 수신(505)되면 src_init_done 메시지를 전송(509)한 후 다시 타이머를 동작(511)시킬 수 있다. 타이머가 만료되기 전까지 dest_init_done 메시지가 수신(513)되지 않으면 리셋 직후 src_init_req 메시지를 전송하는 절차(502)로 다시 돌아갈 수 있다. 일 실시 예에 따라, 타이머는 연결망의 종류를 고려하여 메시지의 round-trip-time 보다 충분히 큰 값으로 설정되어야 한다. dest_init_done 메시지까지 수신(513)이 되고 나면 도 1c의 cr_ret 값을 1로 설정하는 절차를 진행하기 시작하고 송신계층과 인터페이스를 통해서 송신계층 내부에 존재하는 크레딧값의초기화를 완료(517)할 수 있다. When the dest_init_cr message is received (505), the transmission credit control unit may transmit the src_init_done message (509) and then operate the timer again (511). If the dest_init_done message is not received (513) before the timer expires, the process may return to the procedure (502) of transmitting the src_init_req message immediately after reset. According to one embodiment, the timer should be set to a value sufficiently larger than the round-trip-time of the message in consideration of the type of connection network. After the dest_init_done message is received (513), the process of setting the cr_ret value in Figure 1c to 1 begins, and initialization of the credit value existing inside the transmission layer can be completed through the transmission layer and the interface (517). .

이를 완료하면 일반 모드로 변경되어 데이터를 전송(519)할 것을 크레딧 정보 생성기1로 알릴 수 있다. 이후에는 dest_init_req 메시지가 수신(515)되었는 지만을 감시하며, 수신된 경우 도 1c의 cr_rst_dest_src 신호를 1로 변경하여, 초기화 모드로 돌아갈 수 있다.Once this is completed, the credit information generator 1 can be notified that it will change to the normal mode and transmit data (519). Afterwards, it only monitors whether the dest_init_req message has been received (515), and if it is received, the cr_rst_dest_src signal in FIG. 1C is changed to 1 to return to the initialization mode.

도 6는 본 개시의 일 실시 예에 따라 수신 크레딧 제어부의 동작 흐름도를 도시한다.Figure 6 shows an operation flowchart of a received credit control unit according to an embodiment of the present disclosure.

도 6을 참조하면, 수신장치가 리셋(601)되면 수신계층과 연결된 수신 크레딧 제어부는 도 1c에 도시된 절차에 따라 초기화(603)를 진행하여 수신계층 내부에 존재하는 크레딧 값을 알아낸다. 그 후 dest_init_req 메시지를 전송(605)할 것을 요청하고 타이머(607)를 동작할 수 있다. 해당 타이머가 만료되기 전까지 src_init_req 메시지가 수신(609)되지 않으면 dest_init_req 메시지의 전송(605)을 반복할 수 있다. src_init_req 메시지가 수신(609)되면 dest_init_cr 메시지를 전송(611)한 후 다시 타이머를 동작(613)시킬 수 있다. 타이머가 만료되기 전까지 src_init_done 메시지가 수신(615)되지 않으면 dest_init_req 메시지를 전송(605)하는 절차로 다시 돌아갈 수 있다. 일 실시 예에 따라, 타이머는 연결망의 종류를 고려하여 메시지의 round-trip-time 보다 충분히 큰 값으로 설정되어야 한다. src_init_done 메시지도 수신(615)이 되고 나면 일반 모드로 변경되어 이후로는 데이터를 버리지 말고 수신(623)할 것을 크레딧 정보 추출기2 로 알릴 수 있다. 일반 모드에서는 src_init_req 메시지가 수신(617)되었는지와 도 1c의 cr_ret 신호로 인해 일정 개수만큼의 크레딧 변화가 있는지(619)를 감시할 수 있다. 크레딧 변화가 있었다면 dest_ret_cr 메시지의 전송 요청(621)을 하게 되며, src_init_req 메시지가 수신(617)된 경우, 도 1c의 cr_rst_src_dest 신호를 1로 변경하여, 초기화 모드로 돌아갈 수 있다.Referring to FIG. 6, when the receiving device is reset (601), the receiving credit control unit connected to the receiving layer performs initialization (603) according to the procedure shown in FIG. 1C to find out the credit value existing within the receiving layer. Afterwards, a dest_init_req message may be requested to be transmitted (605) and a timer (607) may be operated. If the src_init_req message is not received (609) before the timer expires, transmission (605) of the dest_init_req message can be repeated. When the src_init_req message is received (609), the dest_init_cr message can be transmitted (611) and the timer can be operated again (613). If the src_init_done message is not received (615) before the timer expires, the process can be returned to sending (605) the dest_init_req message. According to one embodiment, the timer should be set to a value sufficiently larger than the round-trip-time of the message in consideration of the type of connection network. Once the src_init_done message is received (615), it changes to normal mode and informs credit information extractor 2 that data will be received (623) instead of being discarded. In normal mode, it is possible to monitor whether the src_init_req message has been received (617) and whether a certain number of credits have changed (619) due to the cr_ret signal in FIG. 1C. If there has been a change in credit, a request to transmit a dest_ret_cr message is made (621), and if the src_init_req message is received (617), the cr_rst_src_dest signal in FIG. 1C is changed to 1 to return to initialization mode.

도 7은 본 개시의 일 실시 예 따른 패킷의 형태를 도시한다. 구체적으로, 도 7은 크레딧 정보 생성기 1과 2가 생성하는 패킷의 형태를 도시한다.Figure 7 shows the form of a packet according to an embodiment of the present disclosure. Specifically, Figure 7 shows the form of packets generated by credit information generators 1 and 2.

크레딧 정보 생성기 1의 경우에는 초기화 모드에선 송신 크레딧 제어부가 요청하는 메시지를 생성해서 전송하며, 일반 모드에서는 일반 전송 데이터를 인캡슐레이션 하여 전송해야 한다. 따라서 메시지의 종류를 표시하는 도 7의 CODE 필드값에는 일반 데이터인 경우(0)도 포함될 수 있다. In the case of credit information generator 1, in initialization mode, a message requested by the transmission credit control unit is generated and transmitted, and in normal mode, general transmission data must be encapsulated and transmitted. Therefore, the CODE field value in FIG. 7, which indicates the type of message, may also include general data (0).

CREDITS 필드값은 메시지 중 dest_init_cr, dest_ret_cr 두가지의 경우에만 유효하지만 각각의 의미는 다를 수 있다. dest_init_cr의 경우에는 수신계층의 버퍼가 받을수 있는 크레딧의 최대값이 표시되어 있고. dest_ret_cr의 경우에는 초기화 이후 0부터 차례대로 증가하는 값이 표시되어 있다. 이는 dest_ret_cr 메시지가 혹시나 오류로 버려지더라도 다음 메시지를 수신하면 정상적으로 동작할 수 있게 하기 위함이다. 송신 크레딧 제어부는 기존에 받았던 dest_ret_cr 메시지의 크레딧 값을 저장하고 있다가 새로 받은 dest_ret_cr 메시지의 크레딧 값과 비교하여 그 차이만큼 크레딧을 업데이트할 수 있다.The CREDITS field value is valid only for two types of messages: dest_init_cr and dest_ret_cr , but their meanings may be different. In the case of dest_init_cr , the maximum value of credits that the buffer of the receiving layer can receive is displayed. In the case of dest_ret_cr , the values are displayed sequentially increasing from 0 after initialization. This is to ensure that even if the dest_ret_cr message is discarded in error, it can operate normally when the next message is received. The transmission credit control unit stores the credit value of the previously received dest_ret_cr message and can compare it with the credit value of the newly received dest_ret_cr message and update the credit by the difference.

만일 일반 전송 데이터가 헤더와 데이터 등으로 이루어진 패킷의 형태라면 Vendor-defined 명령과 같은 코드를 이용하여 추가적인 오버헤드없이 패킷을 생성할 수도 있다.If general transmission data is in the form of a packet consisting of a header and data, packets can be created without additional overhead using code such as vendor-defined commands.

계층간의 데이터 전송이 한방향이 아니고 양방향으로 진행되는 경우라면, 도 1a과 같은 인터페이스 두개가 대칭적으로 존재하게 된다. 이 경우, 연결망을 사용해 분리하려고 할 때, 연결망을 2개 사용하는것은 리소스의 낭비를 가져온다. 따라서 도 4의 송신측/수신측 하드웨어를 묶어서 구현해야 될 수도 있다.If data transmission between layers proceeds in both directions instead of in one direction, two interfaces as shown in Figure 1a exist symmetrically. In this case, when trying to separate using a connection network, using two connection networks results in a waste of resources. Therefore, it may be necessary to implement the transmitter/receiver hardware of FIG. 4 by combining them.

도 8는 본 개시의 일 실시 예에 따른 송신측/수신측 하드웨어를 묶어서 구현한 구조를 도시한다. 송신측/수신측 하드웨어를 묶어서 구현한 구조는 연결망 양쪽이 동일한 하드웨어를 대칭적으로 가질 수 있다.Figure 8 shows a structure implemented by bundling transmitter/receiver hardware according to an embodiment of the present disclosure. A structure implemented by combining transmitter/receiver hardware allows both sides of the network to have the same hardware symmetrically.

도 8를 참조하면, 크레딧 정보 생성기는 도 4의 크레딧 정보 생성기1, 2의 기능을 모두 포함해야 한다. 즉 송신 크레딧 제어부 상태에 상관 없이 수신 크레딧 제어부에서 요청하는 메시지들을 실제 패킷으로 만들어 전송해야 한다. 송신 크레딧 제어부가 일반모드에 있어서 데이터를 전송하는 중이라면 해당 전송을 완료 한 후, 수신 크레딧 제어부에서 요청하는 메시지들을 전송하여야 한다.Referring to FIG. 8, the credit information generator must include all of the functions of credit information generators 1 and 2 of FIG. 4. In other words, regardless of the status of the transmission credit control unit, the messages requested by the reception credit control unit must be converted into actual packets and transmitted. If the transmission credit control unit is transmitting data in normal mode, after completing the transmission, it must transmit the messages requested by the reception credit control unit.

크레딧 정보 추출기도 도 4의 크레딧 정보 추출기 1, 2의 기능을 모두 포함해야 한다. 즉 크레딧 정보 추출기 2와 거의 동일하지만 수신되는 크레딧 관련 메시지에는 크레딧 정보 추출기 1에서 수신하던 4개의 메시지(dest_***) 가 포함될 수 있다. 따라서 메시지를 구분하여 송신 크레딧 제어부 혹은 수신 크레딧 제어부에 해당하는 메시지가 도착하였음을 나누어 전달하는 기능이 포함되어야 한다.The credit information extractor must also include all of the functions of credit information extractors 1 and 2 in Figure 4. In other words, it is almost the same as credit information extractor 2, but the received credit-related messages may include the four messages (dest_***) received from credit information extractor 1. Therefore, a function must be included to classify messages and deliver the arrival of the corresponding message to the transmission credit control unit or the reception credit control unit.

본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.A person skilled in the art to which the present invention pertains will understand that the present invention can be implemented in other specific forms without changing its technical idea or essential features. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive.

본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.A person skilled in the art to which the present invention pertains will understand that the present invention can be implemented in other specific forms without changing its technical idea or essential features. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive.

이상 기술한 본 발명에 따르면, 계층으로 분리되어 있지만 하나의 칩에서 구현되어있던 하드웨어를 별다른 변경없이 오프칩으로 분리해 낼 수 있다. 또한 크레딧 관리 및 CRC를 이용한 오류체크 등의 기능을 제공하므로, 재전송이 필요 없거나 상위 계층에서 재전송을 보장하는 경우에는 일반적으로 사용되는 별도의 LINK 계층 없이 연결망을 사용할 수 있는 장점도 있다.According to the present invention described above, hardware that is separated into layers but implemented on one chip can be separated off-chip without any changes. In addition, since it provides functions such as credit management and error checking using CRC, there is also the advantage of being able to use the connection network without a commonly used separate LINK layer in cases where retransmission is not required or when retransmission is guaranteed at the upper layer.

본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다. Methods according to embodiments described in the claims or specification of the present disclosure may be implemented in the form of hardware, software, or a combination of hardware and software.

소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다. When implemented as software, a computer-readable storage medium that stores one or more programs (software modules) may be provided. One or more programs stored in a computer-readable storage medium are configured to be executable by one or more processors in an electronic device (configured for execution). One or more programs include instructions that cause the electronic device to execute methods according to embodiments described in the claims or specification of the present disclosure.

이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(read only memory, ROM), 전기적 삭제가능 프로그램가능 롬(electrically erasable programmable read only memory, EEPROM), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(compact disc-ROM, CD-ROM), 디지털 다목적 디스크(digital versatile discs, DVDs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다. These programs (software modules, software) may include random access memory, non-volatile memory, including flash memory, read only memory (ROM), and electrically erasable programmable ROM. (electrically erasable programmable read only memory, EEPROM), magnetic disc storage device, compact disc-ROM (CD-ROM), digital versatile discs (DVDs), or other types of disk storage. It can be stored in an optical storage device or magnetic cassette. Alternatively, it may be stored in a memory consisting of a combination of some or all of these. Additionally, multiple configuration memories may be included.

또한, 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(local area network), WAN(wide area network), 또는 SAN(storage area network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 개시의 실시 예를 수행하는 장치에 접속할 수도 있다.In addition, the program may be distributed through a communication network such as the Internet, an intranet, a local area network (LAN), a wide area network (WAN), or a storage area network (SAN), or a combination thereof. It may be stored on an attachable storage device that is accessible. This storage device can be connected to a device performing an embodiment of the present disclosure through an external port. Additionally, a separate storage device on a communication network may be connected to the device performing an embodiment of the present disclosure.

상술한 본 개시의 구체적인 실시 예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.In the specific embodiments of the present disclosure described above, elements included in the disclosure are expressed in singular or plural numbers depending on the specific embodiment presented. However, singular or plural expressions are selected to suit the presented situation for convenience of explanation, and the present disclosure is not limited to singular or plural components, and even components expressed in plural may be composed of singular or singular. Even expressed components may be composed of plural elements.

한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.Meanwhile, in the detailed description of the present disclosure, specific embodiments have been described, but of course, various modifications are possible without departing from the scope of the present disclosure. Therefore, the scope of the present disclosure should not be limited to the described embodiments, but should be determined not only by the scope of the patent claims described later, but also by the scope of this patent claim and equivalents.

Claims (1)

수신 장치의 동작 방법에 있어서,
수신 장치를 리셋하는 과정과,
송신 장치로 수신 장치 초기화 응답 메시지(dest_init_req)를 송신하는 과정과,
상기 수신 장치 초기화 응답 메시지에 대응하여 제1 타이머를 동작하는 과정과,
상기 제1 타이머가 만료되기 전까지 송신 장치로부터 송신 장치 초기화 응답 메시지(src_init_req)가 수신되지 않으면 상기 수신 장치 초기화 응답 메시지를 다시 송신하는 과정과,
상기 제1 타이머가 만료되기 전까지 송신 장치로부터 상기 송신 장치 초기화 응답 메시지(src_init_req)가 수신된 경우, 상기 송신 장치에게 상기 송신 장치 초기화 응답 메시지를 송신하는 과정과,
상기 송신 장치 초기화 응답 메시지에 대응하여 제2 타이머를 동작하는 과정과,
상기 제2 타이머가 만료되기 전까지 송신 장치 초기화 완료 메시지(src_init_done)가 수신되지 않으면, 수신 장치 초기화 응답 메시지를 다시 송신하는 과정과,
상기 제2 타이머가 만료되기 전까지 상기 송신 장치 초기화 완료 메시지(src_init_done)가 수신된 경우, 데이터를 수신하는 과정을 포함하는 방법.
In a method of operating a receiving device,
The process of resetting the receiving device,
A process of transmitting a receiving device initialization response message (dest_init_req) to a transmitting device;
operating a first timer in response to the receiving device initialization response message;
If a transmitting device initialization response message (src_init_req) is not received from the transmitting device before the first timer expires, retransmitting the receiving device initialization response message;
If the transmission device initialization response message (src_init_req) is received from the transmission device before the first timer expires, transmitting the transmission device initialization response message to the transmission device;
operating a second timer in response to the transmitting device initialization response message;
If the transmitting device initialization completion message (src_init_done) is not received before the second timer expires, retransmitting the receiving device initialization response message;
A method comprising receiving data when the transmitting device initialization completion message (src_init_done) is received before the second timer expires.
KR1020220177409A 2022-12-16 2022-12-16 Apparatus and method for network extension of credit-based interfaces KR20240094812A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220177409A KR20240094812A (en) 2022-12-16 2022-12-16 Apparatus and method for network extension of credit-based interfaces

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220177409A KR20240094812A (en) 2022-12-16 2022-12-16 Apparatus and method for network extension of credit-based interfaces

Publications (1)

Publication Number Publication Date
KR20240094812A true KR20240094812A (en) 2024-06-25

Family

ID=91711025

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220177409A KR20240094812A (en) 2022-12-16 2022-12-16 Apparatus and method for network extension of credit-based interfaces

Country Status (1)

Country Link
KR (1) KR20240094812A (en)

Similar Documents

Publication Publication Date Title
Mittal et al. Revisiting network support for RDMA
KR101727874B1 (en) Method, apparatus and system for qos within high performance fabrics
US10791054B2 (en) Flow control and congestion management for acceleration components configured to accelerate a service
US10084699B2 (en) Transferring data
US9385962B2 (en) Method and system for flexible credit exchange within high performance fabrics
KR100651571B1 (en) System, method, and product for managing data transfers in a network
US7016971B1 (en) Congestion management in a distributed computer system multiplying current variable injection rate with a constant to set new variable injection rate at source node
US7165110B2 (en) System and method for simultaneously establishing multiple connections
US7724678B1 (en) Method and apparatus for testing a communication link
US8625448B2 (en) Method and system for validating network traffic classification in a blade server
US8699346B2 (en) Method and system for optical network smart timer management via delay measurement between spans
JP2006236391A (en) System and method for positive response of message reception on communication network of packet base
CN101292475A (en) Adaptive bandwidth control
US11677675B2 (en) Method and system for determining a path maximum transmission unit (MTU) between endpoints of a generic routing encapsulation (GRE) tunnel
EP3563535B1 (en) Transmission of messages by acceleration components configured to accelerate a service
US20170012738A1 (en) Minimum latency link layer metaframing and error correction
EP3288220B1 (en) A bridge for connecting ethernet and spacewire networks
US10459791B2 (en) Storage device having error communication logical ports
EP2940965B1 (en) Time-locked network and nodes for exchanging secure data packets
KR20240094812A (en) Apparatus and method for network extension of credit-based interfaces
JP2010130610A (en) Data transmission system
Kamp AXI over Ethernet; a protocol for the monitoring and control of FPGA clusters
KR20150109836A (en) Method and apparatus for protection switching based on memory control in packet transport system