KR100270703B1 - Method and apparatus for transmitting and receiving ethernet packet for usage of protocol and handshaking used in lan packet - Google Patents

Method and apparatus for transmitting and receiving ethernet packet for usage of protocol and handshaking used in lan packet Download PDF

Info

Publication number
KR100270703B1
KR100270703B1 KR1019980032815A KR19980032815A KR100270703B1 KR 100270703 B1 KR100270703 B1 KR 100270703B1 KR 1019980032815 A KR1019980032815 A KR 1019980032815A KR 19980032815 A KR19980032815 A KR 19980032815A KR 100270703 B1 KR100270703 B1 KR 100270703B1
Authority
KR
South Korea
Prior art keywords
mac layer
packet
receiving
transmission
transmitting
Prior art date
Application number
KR1019980032815A
Other languages
Korean (ko)
Other versions
KR20000013762A (en
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 KR1019980032815A priority Critical patent/KR100270703B1/en
Publication of KR20000013762A publication Critical patent/KR20000013762A/en
Application granted granted Critical
Publication of KR100270703B1 publication Critical patent/KR100270703B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

랜 패킷을 취급하는 버스 프로토콜 및 핸드쉐이킹을 위한, 이더넷 패킷 송수신 방법 및 장치에 대하여 개시한다. 본 이더넷 패킷 송수신 방법은, 다수의 MAC 계층(MAC Layer)들의 수신용 선입선출(Receive FIFO) 메모리와 송신용 선입선출(Transmit FIFO) 메모리의 상태를 취합하여 송수신 동작이 가능한 MAC 계층을 폴링 블록(Polling Block)에게 보고하는 단계, 제어 블록이 MAC 계층에서 패킷을 수신하기 위한 동작을 수행하고 제어 신호들을 만드는 단계, 수신 전송부(Receive Transfer)가 MAC 계층들로부터 패킷을 수신하는 단계, MAC 계층에게 패킷을 전송하기(transmit) 위한 작업을 수행하고 제어 신호들을 만들어 내는 단계, 및 MAC 계층에게 패킷을 전송하는 단계를 더 포함하여 이루어진다.A method and apparatus for transmitting and receiving an Ethernet packet for a bus protocol and handshaking for handling a LAN packet are disclosed. The Ethernet packet transmission / reception method includes polling a MAC layer capable of transmitting / receiving by combining the states of a receive FIFO memory and a transmit FIFO memory of a plurality of MAC layers. Polling block), the control block performing an operation for receiving a packet at the MAC layer and generating control signals, a Receive Transfer receiving a packet from the MAC layers, to the MAC layer Performing operations for transmitting the packet and generating control signals, and transmitting the packet to the MAC layer.

Description

랜 패킷용 버스 프로토콜 및 핸드쉐이킹을 위한 이더넷 패킷 송수신 방법 및 장치Method and apparatus for transmitting / receiving Ethernet packet for LAN packet bus protocol and handshaking

본 발명은, 랜 패킷용 버스 프로토콜 및 핸드쉐이킹(Hand-Shaking)을 위한 이더넷 패킷 송수신 방법 및 장치에 관한 것이다. 특히 본 발명은 이더넷 패킷(Ethernet Packet)을 패킷 스위칭하기 위해, 데이터 링크 계층(MAC 계층, Layer 2) 사이에서 이루어지는 패킷 전송을 위한 프로토콜을 정의한 버스 방식의 인터페이스에 관한 것이다. 즉, 본 발명은 이더넷 패킷을 송수신 하기 위한 일종의 패킷 버스를 하드웨어적으로 구현한 회로에 관한 것으로서, 통신분야에서 유용하게 사용되고 있으며, MAC 계층 블록과 패킷 스위칭을 담당하는 스위칭 블록간을 인터페이스 하기 위하여 사용된다.The present invention relates to a bus protocol for LAN packets and a method and apparatus for transmitting and receiving Ethernet packets for handshaking. In particular, the present invention relates to a bus interface that defines a protocol for packet transmission between the data link layer (MAC layer, Layer 2) for packet switching Ethernet packets. That is, the present invention relates to a circuit that implements a kind of packet bus for transmitting and receiving Ethernet packets in hardware, and is usefully used in the communication field, and is used to interface between a MAC layer block and a switching block for packet switching. do.

기존 LSI Logic사에서 개발한 MAC 계층 장치(MAC layer device)는 칩 패키지(chip package)의 핀(pin)수를 줄이기 위하여, 이더넷 패킷을 전송하기 위한 패킷 버스(Packet bus) 인터페이스로서 송수신이 동시에 이루어지지 않으면서 순차적으로 수행되는 하나의 양방향성 버스를 이용한다.The MAC layer device developed by LSI Logic Co., Ltd. is a packet bus interface for transmitting Ethernet packets to reduce the number of pins of a chip package. It uses one bidirectional bus that is performed sequentially without holding.

그러나 이 MAC 계층 장치는 송수신이 동시에 이루어지지 못하므로 이더넷 패킷 전송의 한 모드인 반이중 모드(Half duplex mode)처럼 패킷 수신시 송신은 수신 완료 시까지 대기하여야 하므로 실제 버스 대역폭(bus bandwidth)의 1/2 정도로 효율이 감소된다.However, since this MAC layer device cannot transmit and receive at the same time, when receiving a packet, such as half duplex mode, which is one mode of Ethernet packet transmission, transmission must wait until the reception is completed. The efficiency is reduced to about two.

또한 송수신이 한 개의 버스를 공통으로 사용하게 되므로 이를 순차적으로 동작시키기 위한 일련의 중재 로직(arbitration logic)이 필요하게 되고, 이에 따른 부가회로가 필요하게 되어 회로의 신뢰성이 감소하게 된다.In addition, since transmission and reception use a single bus in common, a series of arbitration logic is required to sequentially operate the same bus, thereby requiring an additional circuit, thereby reducing the reliability of the circuit.

이밖에 MAC 계층 장치에서 사용되는 선입선출 상태(FIFO status)를 폴링(polling)하는 방식이 포트수의 증가에 따른 MAC 계층 칩의 핀수 증가를 피하기 위해 시리얼(serial)하게 각 포트의 선입선출 상태를 순차적으로 알려주었다. 그래서 이에 따른 선입선출 상태 폴링에 대한 시간이 증가하게 된다.In addition, the method of polling the FIFO status used in the MAC layer device serially checks the first-in, first-out state of each port in order to avoid an increase in the number of pins of the MAC layer chip due to the increase in the number of ports. I told you sequentially. Thus, the time for first-in first-out status polling increases accordingly.

따라서 본 발명은, 상기한 문제점들을 해결하기 위하여 창안된 것으로, 랜 패킷용 버스 프로토콜 및 핸드쉐이킹을 위한 장치 및 방법을 제공하는 것을 목적으로 한다. 본 발명의 좀 더 구체적인 목적은:Accordingly, an object of the present invention is to solve the above problems, and an object of the present invention is to provide a bus protocol for LAN packets and an apparatus and method for handshaking. More specific objects of the present invention are:

첫째, MAC 계층과 소프트웨어 엔진의 원칩(One chip) 환경 하에서의 새로운 인터페이스 제공한다.First, it provides a new interface under the MAC layer and one-chip environment of software engine.

둘째, 송수신시의 대역폭을 모두 사용토록 한다.Second, all bandwidths for transmission and reception should be used.

셋째, 송수신 동작이 연동되지 않고 독립적으로 사용할 수 있는 송수신 별도의 패킷 전송 버스 인터페이스를 구현한다.Third, it implements a separate transmission and reception packet interface bus interface that can be used independently without the transmission and reception operations.

넷째, 송수신시의 동작을 별도로 구성하여 회로의 크기를 감소시켜 회로의 신뢰성을 높인다.Fourth, the operation of transmitting and receiving is separately configured to reduce the size of the circuit to increase the reliability of the circuit.

다섯째, 고속의 패킷 전송을 구현한다.Fifth, implement high speed packet transmission.

본 발명의 다른 목적과 장점은 하기된 발명의 상세한 설명을 읽고 첨부된 도면을 참조하면 보다 명백해질 것이다.Other objects and advantages of the present invention will become more apparent from the following detailed description of the invention and the accompanying drawings.

도 1 은 본 발명에 따른 이더넷 패킷 송수신 장치 구성도.1 is a block diagram of an Ethernet packet transceiver according to the present invention.

< 도면의 주요부분에 대한 부호의 설명 ><Explanation of symbols for the main parts of the drawings>

10 : 수신 버스(RX BUS)10: RX BUS

20 : 송신 버스(TX BUS)20: TX BUS

30 : 수신 제어부(Receive Control)30: Receive Control

40 : 수신 전송부(Receive Transfer)40: Receive Transfer

50 : 폴링 블록(Polling Block)50: polling block

60 : 송신 제어부(Transmit Control)60: transmit control

70 : 송신 전송부(Transmit Transfer)70: Transmit Transfer

상기한 목적을 달성하기 위한 본 발명에 따른 이더넷 패킷 송수신 방법의 바람직한 실시예는, 다수의 MAC 계층(MAC Layer)들의 수신용 선입선출(Receive FIFO) 메모리와 송신용 선입선출(Transmit FIFO) 메모리의 상태를 취합하여 송수신 동작이 가능한 MAC 계층을 폴링 블록(Polling Block)에게 보고하는 단계, 제어 블록이 상기 MAC 계층에서 패킷을 수신하기 위한 동작을 수행하고 제어신호들을 만드는 단계, 수신 전송부(Receive Transfer)가 상기 MAC 계층들로부터 패킷을 수신하는 단계, 상기 MAC 계층에게 패킷을 전송하기(transmit) 위한 작업을 수행하고 제어 신호들을 만들어 내는 단계, 및 상기 MAC 계층에게 패킷을 전송하는 단계를 포함하여 이루어진다.An embodiment of the Ethernet packet transmission and reception method according to the present invention for achieving the above object is, the reception of the first-in first-out (receive FIFO) memory and the transmit first-in first-out (transmit FIFO) memory of a plurality of MAC layers (MAC Layer) Collecting the status and reporting a MAC layer capable of transmitting and receiving to a polling block; performing a control block for receiving a packet at the MAC layer and generating control signals; receiving transfer unit Receiving a packet from the MAC layers, performing a task to transmit a packet to the MAC layer and generating control signals, and sending a packet to the MAC layer. .

상기한 목적을 달성하기 위한 본 발명에 따른 이더넷 패킷 송수신 장치의 바람직한 실시예는, 다수의 MAC 계층들로부터 수신용 선입선출 메모리와 송신용 선입선출 메모리상태를 취합하고, 이중 디제이블된 MAC 계층을 필터링하는 폴링 블록, MAC 계층에게서 패킷을 수신하기 위한 수신작업을 제어하는 수신 제어부, MAC 계층들로부터 패킷을 수신하는 수신 전송부, MAC 계층에게 패킷을 전송하기 위한 전송작업을 제어하는 송신 제어부, 및 MAC 계층들에게로 패킷을 전송하는 송신 전송부를 포함하여 이루어진다.An embodiment of an Ethernet packet transceiver according to the present invention for achieving the above object is to collect the first-in, first-out memory for transmission and first-in, first-out memory for transmission from a plurality of MAC layers, and the dual disabled MAC layer A polling block for filtering, a reception control unit for controlling a reception operation for receiving a packet from the MAC layer, a reception transmission unit for receiving a packet from the MAC layers, a transmission control unit for controlling a transmission operation for transmitting a packet to the MAC layer, and And a transmission transmitter for transmitting the packet to the MAC layers.

본 발명에 따른 이더넷 패킷 송수신 장치의 다른 바람직한 실시예는, 다수개의 MAC 계층, 각 MAC 계층으로부터 전송받은 선입선출 메모리 상태 정보를 취합하기 위한 폴링 블록, 상기 MAC 계층과 상기 폴링 블록간에 패킷을 송수신 해주는 제1 스위치 엔진, 상기 폴링 블록에 의해 취합된 수신용 선입선출 메모리 상태를 전송받아 다음 수신 작업을 수행할 MAC 계층을 결정한 후 결정된 MAC 계층 ID를 전송하는 수신 서비스 스케쥴러, 상기 폴링 블록에 의해 취합된 송신용 선입선출 메모리 상태를 전송받는 송신 서비스 스케쥴러, 상기 전송된 MAC 계층 ID에 따라 수신작업을 시작하여 상기 ID의 MAC 계층이 버스 소유권을 가질 수 있도록 MAC 계층 ID를 디코딩하여 비트 벡터 형식으로 리드 인에이블 신호를 만들고 패킷을 전송하기 위한 수신 버스, SOP, EOP, byte-valid, MAC 오류를 포함하는 상기 수신 버스의 정보 및 MAC 계층 ID가 전달되는 제2 스위치 엔진, 상기 송신 서비스 스케쥴러에서 다음 전송 작업을 수행할 MAC 계층을 결정한 후 결정된 MAC 계층 ID를 전송하고, 상기 전송된 MAC 계층 ID에 따라 전송 작업을 시작하여 상기 ID의 MAC 계층이 버스 소유권을 가질 수 있도록 MAC 계층 ID를 디코딩하여 비트 벡터 형식으로 라이트 인에이블 신호를 만든 후 패킷을 라이트하기 위한 송신 버스, 및 상기 제2 스위치 엔진으로부터 입수한 정보를 기준으로 패킷을 수신하는 MAC 계층에서 계산된 FCS 정보 및 SOP, EOP, byte-valid를 포함하는 상기 송신 버스의 전송신호를 상기 송신 버스에 전달하기 위한 송신 전송부를 포함하여 이루어진다.Another preferred embodiment of the Ethernet packet transceiver according to the present invention is a polling block for collecting first-in, first-out memory state information received from a plurality of MAC layers, each MAC layer, and transmits and receives packets between the MAC layer and the polling block. A receiving service scheduler which receives a first-in first-out memory state collected by the polling block by a first switch engine, determines a MAC layer to perform a next receiving operation, and then transmits the determined MAC layer ID, collected by the polling block A transmission service scheduler that receives the first-in, first-out memory state for transmission, starts receiving according to the transmitted MAC layer ID, decodes the MAC layer ID so that the MAC layer of the ID has bus ownership, and reads in a bit vector format. Receive bus, SOP, EOP, byte-valid, MAC for creating enable signals and sending packets A second switch engine to which the information on the receive bus including the error and the MAC layer ID are transmitted, determines the MAC layer to perform a next transmission operation in the transmission service scheduler, and then transmits the determined MAC layer ID, and transmits the determined MAC layer ID. A transmit bus for writing a packet after decoding a MAC layer ID to generate a write enable signal in a bit vector format so that the MAC layer of the ID has bus ownership by starting a transmission operation according to an ID, and the second switch And a transmission transmitter for transmitting the transmission signal of the transmission bus including SOP, EOP, byte-valid and the FCS information calculated in the MAC layer receiving the packet based on the information obtained from the engine to the transmission bus. .

상기 폴링 블록은 MAC 계층간의 송신용 및 수신용 선입선출 메모리의 상태(status)를 취합하여 수신 및 송신 동작이 가능한 MAC 계층들을 보고하는 기능을 가지고 있으며, 상기 수신 제어부는 수신 동작을 전반적으로 조절하며, 상기 수신 전송부에서는 MAC 계층 수신 버스와 인터페이스를 이루어 실제적인 수신 전송이 이루어지게 한다. 또한 상기 송신 제어부는 전송 동작을 전반적으로 제어하며, 마지막으로 상기 송신 전송부는 MAC 계층 송신 버스와 인터페이스를 이루어 실제적인 송신 전송이 이루어지도록 한다.The polling block has a function of collecting the states of the first-in, first-out memory for transmission and reception between MAC layers and reporting MAC layers capable of receiving and transmitting operations, and the receiving controller controls the receiving operation as a whole. In addition, the reception transmission unit interfaces with the MAC layer reception bus to perform actual reception transmission. In addition, the transmission control unit controls the overall transmission operation. Finally, the transmission transmission unit interfaces with the MAC layer transmission bus so that actual transmission transmission is performed.

본 발명은 프레임(frame) 단위의 이더넷 패킷을 송수신 하기 위한 하드웨어 프로토콜로서, IEEE 802.3 프레임 포맷으로 연동되는 인터페이스나 MAC 장치 ASIC의 패킷 버스 인터페이스 프로토콜, 이더넷 스위치 장치 ASIC의 패킷 버스 인터페이스 프로토콜 그리고 송수신이 분리된 고속 패킷 버스 등에 응용된다.The present invention is a hardware protocol for transmitting / receiving frame-by-frame Ethernet packets, which is an interface interworking with the IEEE 802.3 frame format, a packet bus interface protocol of an MAC device ASIC, a packet bus interface protocol of an Ethernet switch device ASIC, and transmission / reception. To a high-speed packet bus or the like.

이하, 도면을 참조하여 본 발명의 구체적 동작을 보다 상세히 설명한다.Hereinafter, with reference to the drawings will be described in detail the specific operation of the present invention.

도 1은 본 발명에 따른 이더넷 패킷 송수신 장치 구성도를 나타낸다. 본 발명의 장치에 있어서, 상기 폴링 블록(Polling block)은 N개의 MAC 계층의 송신용 선입선출 메모리가 버퍼 효용(buffer avail)을 나타내는 신호인 경우 MAC 계층의 ID에 따라 (N-1) 비트 벡터(bit vector) 신호를 발생시키는 수단과, N개의 MAC 계층의 수신용 선입선출 메모리가 패킷 효용(Packet avail)을 나타내는 신호인 경우 MAC 계층의 ID에 따라 (N-1) 비트 벡터 신호를 발생시키는 수단으로 이루어진다.1 is a block diagram of an Ethernet packet transceiver according to the present invention. In the apparatus of the present invention, the polling block is a (N-1) bit vector according to the ID of the MAC layer when the first-in, first-out memory for transmitting the N MAC layers is a signal indicating buffer avail. means for generating a (bit vector) signal, and generating a (N-1) bit vector signal according to the ID of the MAC layer when the first-in, first-out memory for N MAC layers is a signal indicating packet avail. By means of

또한, 상기 수신 제어부는 수신작업의 상태를 만드는 상태 머신(state machine) 수단 및 MAC 계층 ID를 디코딩하여 N개 MAC 계층에 대해 (N-1) 비트의 리드 인에이블(Read Enable) 신호를 만드는 수단으로 이루어진다.In addition, the reception control unit may be a state machine means for creating a state of a reception operation and a means for decoding a MAC layer ID to generate a read enable signal of (N-1) bits for N MAC layers. Is done.

또한, 상기 송신 제어부는 전송 작업의 시작에서 종료까지의 상태를 만드는 상태 머신 수단과, MAC 계층 ID를 디코딩하여 N개 MAC 계층에 대해 (N-1) 비트의 라이트 인에이블(Write Enable) 신호를 만드는 수단으로 이루어진다.In addition, the transmission control unit generates a state machine means for creating a state from the start to the end of the transmission operation, and decodes the MAC layer ID to provide a write enable signal of (N-1) bits for the N MAC layers. It is made by means of making.

본 발명에 의한 패킷 송수신 방법은 다음과 같다.The packet transmission / reception method according to the present invention is as follows.

상기 폴링 블록은 다음과 같은 단계를 수행한다. 수신용 선입선출 메모리인 경우, 스위치 엔진으로 보낼 효율적인(available) 패킷이 특정 임계 용량(threshold bytes) 이상인지를 확인하여 각 MAC 계층으로부터 폴링 블록으로 신호를 전송하는 단계와, 송신용 선입선출 메모리인 경우, 스위치 엔진에서 보내온 패킷을 받을 만한 여유공간이 있는지 확인하여 각 MAC 계층으로부터 폴링 블록으로 신호를 전송하는 단계와, 상기 각 MAC 계층으로부터 전송받은 선입선출 메모리 상태 정보를 폴링 블록 내에서 취합하는 단계와, 상기 취합된 수신용 선입선출 메모리 상태는 수신 서비스 스케쥴러에게 보고하고, 상기 취합된 송신용 선입선출 메모리 상태를 전송 서비스 스케쥴러에게 보고하는 단계로 이루어지며, 아울러 상기 수신 제어부는 다음과 같은 단계를 수행한다.The polling block performs the following steps. In the case of receiving first-in, first-out memory, transmitting a signal from each MAC layer to a polling block by checking whether an efficient packet to be sent to the switch engine is greater than or equal to a certain threshold byte, and transmitting first-in first-out memory. If there is a free space to receive the packet sent from the switch engine, transmitting a signal from each MAC layer to the polling block, and collecting the first-in, first-out memory status information received from each MAC layer in the polling block And reporting the aggregated first-in, first-out memory status to a receiving service scheduler and reporting the aggregated first-in, first-out memory status to a transmission service scheduler. In addition, the reception controller performs the following steps. Perform.

상기 수신 서비스 스케쥴러에서 다음 수신 작업을 수행할 MAC 계층을 결정한 후 결정된 MAC 계층 ID를 전송하는 단계와, 상기 전송된 MAC 계층 ID에 따라 수신작업을 시작하여 상기 ID의 MAC 계층이 버스 소유권을 가질 수 있도록 MAC 계층 ID를 디코딩하여 비트 벡터 형식으로 리드 인에이블 신호를 만들고 수신 버스에 패킷을 전송하는 단계와, 하나의 MAC 계층이 전송할 수 있는 단위를 16 워드로 고정하여 전송되고 있는 워드의 수를 계수하여 16이 될 때까지 리드 인에이블 신호를 셋(set)으로 유지시켜주고, EOP(end of 패킷)인 경우나 혹은 16번째 워드를 전송한 후는 전송을 종료시키기 위해 리드 인에이블을 리셋(reset)시키는 단계로 이루어진다.Determining, by the receiving service scheduler, a MAC layer to perform a next reception operation and transmitting the determined MAC layer ID; and starting a reception operation according to the transmitted MAC layer ID so that the MAC layer of the ID may have bus ownership. Decoding the MAC layer ID so as to create a read enable signal in a bit vector format and transmitting a packet to a receive bus, and counting the number of words being transmitted by fixing a unit that can be transmitted by one MAC layer to 16 words The read enable signal remains set until 16, and resets the read enable to end the transfer in the case of an end of packet (EOP) or after the 16th word is transmitted. ).

또한, 상기 수신 전송부는 다음과 같은 단계를 수행한다.In addition, the receiving transmitter performs the following steps.

수신 버스에서 32 비트 버스로 전송된 패킷을 래치하여 다음 블록인 스위치 엔진에게 전달하는 단계와, SOP, EOP, byte-valid, MAC 오류 등과 같은 수신 버스(Rx bus)의 정보 및 MAC 계층 ID를 다음 블록인 스위치 엔진블록으로 전달하는 단계로 이루어진다.Latching the packet transmitted from the receive bus to the 32-bit bus and passing it to the next block, the switch engine, and the MAC layer ID and information of the Rx bus such as SOP, EOP, byte-valid, MAC error, etc. Transfer to the switch engine block is a block.

또한, 상기 송신 서비스 스케쥴러는 다음과 같은 단계를 수행한다.In addition, the transmission service scheduler performs the following steps.

상기 송신 서비스 스케쥴러에서 다음 전송 작업을 수행할 MAC 계층을 결정한 후 결정된 MAC 계층 ID를 전송하는 단계, 상기 전송된 MAC 계층 ID에 따라 전송 작업을 시작하여 상기 ID의 MAC 계층이 버스 소유권을 가질 수 있도록 MAC 계층 ID를 디코딩하여 비트 벡터 형식으로 라이트 인에이블 신호를 만들고 송신 버스에 패킷을 라이트하는 단계, 하나의 MAC 계층이 전송할 수 있는 단위를 16 워드(Words)로 고정하여 전송되고 있는 워드의 수를 계수하여 16이 될 때까지 라이트 인에이블 신호를 셋으로 유지시켜주고, EOP(end of Packet)인 경우나 혹은 16번째 워드를 전송한 후는 전송을 종료시키기 위해 라이트 인에이블을 리셋시키는 단계로 이루어진다.Determining, by the transmitting service scheduler, a MAC layer to perform a next transmission operation, and then transmitting the determined MAC layer ID, starting a transmission operation according to the transmitted MAC layer ID, so that the MAC layer of the ID may have bus ownership. Decoding the MAC layer ID to create a write enable signal in bit vector format and writing a packet to the transmit bus, fixing the number of words being transmitted by fixing the unit that one MAC layer can transmit to 16 words. It keeps the write enable signal set to 3 until the count is 16, and resets the write enable to terminate the transmission after the end of packet (EOP) or after transmitting the 16th word. .

마지막으로 상기 송신 전송부는 다음과 같은 단계를 수행한다.Finally, the transmission transmitter performs the following steps.

스위치 엔진에서 패킷을 전송함에 따라 이를 래치하여 송신 버스의 32 비트 버스 상으로 전송하는 단계, SOP, EOP, byte-valid 등과 같은 전송신호를 송신 버스 상에 전해주는 단계, 패킷을 수신하는 MAC 계층이 FCS를 계산하여 첨가여부를 스위치 엔진이 알려주는 정보를 토대로 신호를 만들어 송신 버스에 전달하는 단계로 이루어진다.When the switch engine transmits a packet, the packet is latched and transmitted on a 32-bit bus of a transmission bus, a transmission signal such as SOP, EOP, byte-valid, etc. is transmitted on the transmission bus, and the MAC layer receiving the packet is Calculate the FCS and make a signal based on the information that the switch engine tells you whether to add the signal and transmit it to the transmit bus.

본 발명은 다양하게 변형될 수 있고 여러 가지 형태를 취할 수 있으며 상기 발명의 상세한 설명에서는 그에 따른 특별한 실시예에 대해서만 기술하였다. 하지만 본 발명은 상기 발명의 상세한 설명에서 언급된 특별한 형태로 한정되는 것이 아닌 것으로 이해되어야 하며, 오히려 첨부된 청구범위에 의해 정의되는 본 발명의 정신과 범위 내에 있는 모든 변형물과 균등물 및 대체물을 포함하는 것으로 이해되어야 한다.The present invention can be variously modified and can take various forms and only the specific embodiments thereof are described in the detailed description of the invention. It is to be understood, however, that the present invention is not limited to the specific forms mentioned in the detailed description of the invention, but rather includes all modifications, equivalents, and substitutions within the spirit and scope of the invention as defined by the appended claims. It should be understood to do.

이와 같은 본 발명의 효과로는 밴드 폭(bandwidth)이 기존 1.056 Gbps에서 2.112 Gbps로 개선되며, 제어회로를 간단한 로직으로 변경 가능하여 칩 사이즈를 줄일 수 있다. 또한 실제 패킷전송에 필요한 대역폭보다 넓은 대역폭을 확보할 수 있으므로 버스트 패킷 전송(burst packet transfer)이 가능하다.Such an effect of the present invention is to improve the bandwidth (bandwidth) from the existing 1.056 Gbps to 2.112 Gbps, it is possible to reduce the chip size by changing the control circuit with a simple logic. In addition, since a bandwidth wider than the bandwidth required for actual packet transmission can be secured, burst packet transfer is possible.

그리고 본 발명은, 이더넷 패킷(프레임 단위)을 송수신하기 위한 하드웨어 프로토콜을 가지고 있으므로, IEEE 802.3 프레임 포맷으로 연동되는 인터페이스, MAC 장치 ASIC의 패킷 버스 인터페이스 프로토콜, 이더넷 스위치 장치 ASIC의 패킷 버스 인터페이스 프로토콜 및 송수신이 분리된 고속 패킷 버스 등에 사용 가능하다.In addition, since the present invention has a hardware protocol for transmitting and receiving Ethernet packets (frame unit), an interface interworking with the IEEE 802.3 frame format, the packet bus interface protocol of the MAC device ASIC, the packet bus interface protocol of the Ethernet switch device ASIC, and the transmission and reception It can be used for the separated high speed packet bus.

Claims (11)

다수의 MAC 계층(MAC Layer)들의 수신용 선입선출(Receive FIFO) 메모리와 송신용 선입선출(Transmit FIFO) 메모리의 상태를 취합하여 송수신 동작이 가능한 MAC 계층을 폴링 블록(Polling Block)에게 보고하는 단계;Collecting the states of a Receive FIFO memory and a Transmit FIFO memory of a plurality of MAC layers and reporting a MAC layer capable of transmitting and receiving to a Polling Block. ; 제어 블록이 상기 MAC 계층에서 패킷을 수신하기 위한 동작을 수행하고 제어 신호들을 만드는 단계;A control block performing an operation for receiving a packet at the MAC layer and generating control signals; 수신 전송부(Receive Transfer)가 상기 MAC 계층들로부터 패킷을 수신하는 단계;Receiving a packet from the MAC layers by a Receive Transfer; 상기 MAC 계층에게 패킷을 전송하기(transmit) 위한 작업을 수행하고 제어 신호들을 만들어 내는 단계; 및Performing a task to transmit a packet to the MAC layer and generating control signals; And 상기 MAC 계층에게 패킷을 전송하는 단계를 포함하는, 이더넷 패킷 송수신 방법.And transmitting the packet to the MAC layer. 제 1 항에 있어서, 상기 MAC 계층을 폴링 블록에게 보고하는 단계는,The method of claim 1, wherein reporting the MAC layer to a polling block comprises: 수신용 선입선출 메모리인 경우, 스위치 엔진으로 보낼 패킷(available packet)이 특정 임계 용량(threshold bytes) 이상인지 여부에 대한 정보를 각 MAC 계층으로부터 받는 단계;Receiving a first-in, first-out memory for receiving, from each MAC layer, information on whether an available packet to be transmitted to the switch engine is greater than or equal to a certain threshold byte; 송신용 선입선출 메모리인 경우, 스위치 엔진에서 보내온 패킷을 받을 만한 여유공간이 있는지 여부에 대한 정보를 각 MAC 계층으로부터 받는 단계;Receiving a first-in, first-out memory for transmitting, from each MAC layer, information on whether there is free space for receiving a packet sent from the switch engine; 상기 각 MAC 계층으로부터 전송받은 선입선출 메모리 상태 정보를 취합하는 단계;Collecting first-in, first-out memory state information received from each MAC layer; 상기 취합된 수신용 선입선출 메모리 상태를 수신 서비스 스케쥴러(receive service scheduler)에게 보고하고, 상기 취합된 송신용 선입선출 메모리 상태를 송신 서비스 스케쥴러에게 보고하는 단계를 구비하는, 이더넷 패킷 송수신 방법.And reporting the aggregated incoming first-in, first-out memory status to a receive service scheduler, and reporting the aggregated first-in, first-out memory status to a transmission service scheduler. 제 2 항에 있어서, 상기 제어블록이 상기 MAC 계층에서 패킷을 수신하기 위한 동작을 수행하고 제어 신호들을 만드는 단계는,The method of claim 2, wherein the control block performs an operation for receiving a packet at the MAC layer and generates control signals. 상기 수신 서비스 스케쥴러에서 다음 수신 작업을 수행할 MAC 계층을 결정한 후 결정된 MAC 계층 ID를 전송하는 단계;Determining, by the receiving service scheduler, a MAC layer to perform a next receiving operation and transmitting the determined MAC layer ID; 상기 전송된 MAC 계층 ID에 따라 수신작업을 시작하여 상기 ID의 MAC 계층이 버스 소유권(bus ownership)을 가질 수 있도록 MAC 계층 ID를 디코딩하여 비트 벡터(bit vector) 형식으로 리드 인에이블 신호를 만들고 송신 버스에 패킷을 전송하는 단계; 및Start receiving according to the transmitted MAC layer ID to decode the MAC layer ID so that the MAC layer of the ID has bus ownership, and create and transmit a lead enable signal in a bit vector format. Sending a packet to the bus; And 하나의 MAC 계층이 전송할 수 있는 단위를 16 워드(words)로 고정하여 전송되고 있는 워드 수를 계수하여 16이 될 때까지 리드 인에이블 신호를 셋으로 유지시켜주고, EOP(End Of Packet)인 경우나 혹은 16번째 워드를 전송한 후는 전송을 종료시키기 위해 리드 인에이블을 리셋시키는 단계를 구비하는, 이더넷 패킷 송수신 방법.The unit that can be transmitted by one MAC layer is fixed to 16 words, and the number of words being transmitted is counted to maintain the read enable signal as three until 16, and in case of EOP (End Of Packet). Or resetting the read enable to end the transmission after transmitting the 16th word. 제 1 항에 있어서, 상기 수신 전송부(Receive Transfer)가 상기 MAC 계층들로부터 패킷을 수신하는 단계는,The method of claim 1, wherein the receiving transfer unit receives a packet from the MAC layers. 수신 버스에서 32bit 버스로 전송된 패킷을 래치(latch)하여 다음 블록인 스위치 엔진으로 전달하는 단계; 및Latching a packet transmitted from the receive bus to the 32-bit bus and delivering it to the next block, the switch engine; And SOP, EOP, byte-valid, MAC 오류를 포함하는 수신 버스의 정보 및 MAC 계층 ID를 다음 블록인 스위치 엔진 블록으로 전달하는 단계를 구비하는, 이더넷 패킷 송수신 방법.And transmitting the information of the receiving bus including the SOP, EOP, byte-valid, MAC error, and MAC layer ID to the next block, the switch engine block. 제 2 항에 있어서, 상기 MAC 계층에게 패킷을 전송하기(transmit) 위한 작업을 수행하고 제어 신호들을 만들어 내는 단계는,The method of claim 2, wherein the performing of the task of transmitting a packet to the MAC layer and generating control signals comprises: 상기 송신 서비스 스케쥴러에서 다음 전송 작업을 수행할 MAC 계층을 결정한 후 결정된 MAC 계층 ID를 전송하는 단계;Determining, by the transmitting service scheduler, a MAC layer to perform a next transmission operation and transmitting the determined MAC layer ID; 상기 전송된 MAC 계층 ID에 따라 전송 작업을 시작하여 상기 ID의 MAC 계층이 버스 소유권을 가질 수 있도록 MAC 계층 ID를 디코딩하여 비트 벡터 형식으로 라이트 인에이블 신호를 만들고 송신 버스에 패킷을 라이트하는 단계; 및Starting a transmission operation according to the transmitted MAC layer ID to decode the MAC layer ID so that the MAC layer of the ID has bus ownership, creating a write enable signal in bit vector format, and writing a packet to a transmission bus; And 하나의 MAC 계층이 전송할 수 있는 단위를 16 워드로 고정하여 전송되고 있는 워드 수를 계수하여 16이 될 때까지 라이트 인에이블 신호를 셋으로 유지시켜주고, EOP(end of 패킷)인 경우나 혹은 16번째 워드를 전송한 후는 전송을 종료시키기 위해 라이트 인에이블을 리셋시키는 단계를 구비하는, 이더넷 패킷 송수신 방법.By fixing the unit that can be transmitted by one MAC layer to 16 words, the number of words being transmitted is counted, and the write enable signal is maintained until 16, and in case of EOP (end of packet) or 16 Resetting the write enable to terminate the transmission after transmitting the first word. 제 1 항에 있어서, 상기 MAC 계층에게 패킷을 전송하는 단계는,The method of claim 1, wherein transmitting a packet to the MAC layer comprises: 스위치 엔진에서 패킷을 전송함에 따라 이를 래치하여 송신 버스의 32 비트 버스 상으로 전송하는 단계;Latching as the packet is transmitted by the switch engine and transmitting it on the 32-bit bus of the transmit bus; SOP, EOP, byte-valid를 포함하는 전송신호를 송신 버스 상에 전해주는 단계; 및Transmitting a transmission signal including an SOP, an EOP, and a byte-valid on a transmission bus; And 패킷을 수신하는 MAC 계층이 FCS를 계산하여 첨가여부를 스위치 엔진이 알려주는 정보를 토대로 신호를 만들어 송신 버스에 전달하는 단계를 구비하는, 이더넷 패킷 송수신 방법.And a MAC layer receiving the packet, calculating a FCS, and generating a signal based on information that the switch engine informs whether to add the packet to the transmit bus. 다수의 MAC 계층들로부터 수신용 선입선출 메모리와 송신용 선입선출 메모리상태를 취합하고, 이중 디제이블된 MAC 계층을 필터링하는 폴링 블록;A polling block for collecting the first-in first-out memory and the first-in first-out memory states for receiving from the plurality of MAC layers, and filtering the dual disabled MAC layers; MAC 계층에게서 패킷을 수신하기 위한 수신작업을 제어하는 수신 제어부;A reception control unit controlling a reception operation for receiving a packet from a MAC layer; MAC 계층들로부터 패킷을 수신하는 수신 전송부;A reception transmitter for receiving a packet from MAC layers; MAC 계층에게 패킷을 전송하기 위한 전송작업을 제어하는 송신 제어부; 및A transmission control unit controlling a transmission operation for transmitting a packet to a MAC layer; And MAC 계층들에게로 패킷을 전송하는 송신 전송부를 포함하는, 이더넷 패킷 송수신 장치.An Ethernet packet transceiver comprising a transmission transmitter for transmitting a packet to MAC layers. 제 7 항에 있어서, 상기 폴링 블록은 N개의 MAC 계층의 송신용 선입선출 메모리가 버퍼 효용을 나타내는 신호인 경우 MAC 계층의 ID에 따라 (N-1) 비트 벡터 신호를 발생시키는 수단과, N개의 MAC 계층의 수신용 선입선출 메모리가 패킷 avail을 나타내는 신호인 경우 MAC 계층의 ID에 따라 (N-1) 비트 벡터 신호를 발생시키는 수단을 구비하는, 이더넷 패킷 송수신 장치.8. The method of claim 7, wherein the polling block comprises: means for generating a (N-1) bit vector signal according to the ID of the MAC layer when the first-in, first-out memory for the N MAC layers is a signal indicating buffer utilization; And means for generating an (N-1) bit vector signal in accordance with the ID of the MAC layer when the reception first-in-first-out memory for the MAC layer is a signal indicating packet avail. 제 7 항에 있어서, 상기 수신 제어부는,The method of claim 7, wherein the receiving control unit, 수신작업의 시작에서 종료까지의 상태를 만드는 상태 머신(state machine) 수단; 및State machine means for creating a state from start to end of a receive operation; And MAC 계층 ID를 디코딩하여 N개 MAC 계층에 대해 (N-1) 비트의 리드 인에이블 신호를 만드는 수단을 구비하는, 이더넷 패킷 송수신 장치.And means for decoding the MAC layer ID to generate a read enable signal of (N-1) bits for the N MAC layers. 제 7 항에 있어서, 상기 송신 제어부는,The method of claim 7, wherein the transmission control unit, 전송 작업의 시작에서 종료까지의 상태를 만드는 상태 머신 수단; 및State machine means for creating a state from the start to the end of the transfer operation; And MAC 계층 ID를 디코딩하여 N개 MAC 계층에 대해 (N-1) 비트의 라이트 인에이블 신호를 만드는 수단을 구비하는, 이더넷 패킷 송수신 장치.And means for decoding the MAC layer ID to generate a write enable signal of (N-1) bits for the N MAC layers. 다수개의 MAC 계층;Multiple MAC layers; 각 MAC 계층으로부터 전송받은 선입선출 메모리 상태 정보를 취합하기 위한 폴링 블록;A polling block for collecting first-in, first-out memory state information received from each MAC layer; 상기 MAC 계층과 상기 폴링 블록간에 패킷을 송수신 해주는 제1 스위치 엔진;A first switch engine for transmitting and receiving a packet between the MAC layer and the polling block; 상기 폴링 블록에 의해 취합된 수신용 선입선출 메모리 상태를 전송받아 다음 수신 작업을 수행할 MAC 계층을 결정한 후 결정된 MAC 계층 ID를 전송하는 수신 서비스 스케쥴러;A reception service scheduler which receives a first-in first-out memory state collected by the polling block, determines a MAC layer to perform a next reception operation, and then transmits the determined MAC layer ID; 상기 폴링 블록에 의해 취합된 송신용 선입선출 메모리 상태를 전송받는 송신 서비스 스케쥴러;A transmission service scheduler for receiving a first-in, first-out memory state collected by the polling block; 상기 전송된 MAC 계층 ID에 따라 수신작업을 시작하여 상기 ID의 MAC 계층이 버스 소유권을 가질 수 있도록 MAC 계층 ID를 디코딩하여 비트 벡터 형식으로 리드 인에이블 신호를 만들고 패킷을 전송하기 위한 수신 버스;A receiving bus for starting a receiving operation according to the transmitted MAC layer ID to decode the MAC layer ID to generate a read enable signal in a bit vector format and to transmit a packet so that the MAC layer of the ID has bus ownership; SOP, EOP, byte-valid, MAC 오류를 포함하는 상기 수신 버스의 정보 및 MAC 계층 ID가 전달되는 제2 스위치 엔진;A second switch engine to which information on the receive bus and MAC layer ID including SOP, EOP, byte-valid, and MAC error are delivered; 상기 송신 서비스 스케쥴러에서 다음 전송 작업을 수행할 MAC 계층을 결정한 후 결정된 MAC 계층 ID를 전송하고, 상기 전송된 MAC 계층 ID에 따라 전송 작업을 시작하여 상기 ID의 MAC 계층이 버스 소유권을 가질 수 있도록 MAC 계층 ID를 디코딩하여 비트 벡터 형식으로 라이트 인에이블 신호를 만든 후 패킷을 라이트하기 위한 송신 버스; 및After determining the MAC layer to perform the next transmission operation in the transmission service scheduler and transmits the determined MAC layer ID, and starts the transmission operation according to the transmitted MAC layer ID so that the MAC layer of the ID can have bus ownership A transmit bus for decoding the layer ID to produce a write enable signal in bit vector format and then to write the packet; And 상기 제2 스위치 엔진으로부터 입수한 정보를 기준으로 패킷을 수신하는 MAC 계층에서 계산된 FCS 정보 및 SOP, EOP, byte-valid를 포함하는 상기 송신 버스의 전송신호를 상기 송신 버스에 전달하기 위한 송신 전송부를 포함하는, 이더넷 패킷 송수신 장치.Transmission transmission for transmitting the transmission signal of the transmission bus including the FCS information and SOP, EOP, byte-valid calculated in the MAC layer receiving the packet based on the information obtained from the second switch engine to the transmission bus An Ethernet packet transceiver comprising a unit.
KR1019980032815A 1998-08-13 1998-08-13 Method and apparatus for transmitting and receiving ethernet packet for usage of protocol and handshaking used in lan packet KR100270703B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980032815A KR100270703B1 (en) 1998-08-13 1998-08-13 Method and apparatus for transmitting and receiving ethernet packet for usage of protocol and handshaking used in lan packet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980032815A KR100270703B1 (en) 1998-08-13 1998-08-13 Method and apparatus for transmitting and receiving ethernet packet for usage of protocol and handshaking used in lan packet

Publications (2)

Publication Number Publication Date
KR20000013762A KR20000013762A (en) 2000-03-06
KR100270703B1 true KR100270703B1 (en) 2000-11-01

Family

ID=19547102

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980032815A KR100270703B1 (en) 1998-08-13 1998-08-13 Method and apparatus for transmitting and receiving ethernet packet for usage of protocol and handshaking used in lan packet

Country Status (1)

Country Link
KR (1) KR100270703B1 (en)

Also Published As

Publication number Publication date
KR20000013762A (en) 2000-03-06

Similar Documents

Publication Publication Date Title
US5519693A (en) High speed transmission line interface
EP1454440B1 (en) Method and apparatus for providing optimized high speed link utilization
US5857075A (en) Method and integrated circuit for high-bandwidth network server interfacing to a local area network
US20070047443A1 (en) Channelized flow control
US7072294B2 (en) Method and apparatus for controlling network data congestion
US6169729B1 (en) 200 Mbps PHY/MAC apparatus and method
US20100188980A1 (en) Explicit Flow Control in a Gigabit/10 Gigabit Ethernet System
JPH09149083A (en) Fiber channel switching device
WO2006044726A2 (en) System packet interface packet exchange for queue concatenation and logical identification
CN106257434A (en) A kind of data transmission method based on enhancement mode peripheral interconnection protocol bus and device
EP2579513B1 (en) Node device, integrated circuit and control method in ring transmission system
US6229817B1 (en) System and method for programming late collision slot time
US20240202158A1 (en) SYSTEM COMMUNICATION TECHNIQUE OVER PCIe (PERIPHERAL COMPONENT INTERCONNECT EXPRESS) LINK
WO2002080008A1 (en) Method and apparatus for improving time constraints and extending limited length cables in a multiple-speed bus
CA2325857C (en) Method of validation and host buffer allocation for unmapped fibre channel frames
JP2986798B2 (en) Data transmission control method and data communication device
US20030193894A1 (en) Method and apparatus for early zero-credit determination in an infiniband system
KR100270703B1 (en) Method and apparatus for transmitting and receiving ethernet packet for usage of protocol and handshaking used in lan packet
US5761465A (en) System for coupling asynchronous data path to field check circuit of synchronous data path when the asynchronous data path communicating data in synchronous format
EP1158735A1 (en) TDMA bus interface, system for communicating data, and method
RU2700560C1 (en) Gigaspacewire communication interface device
Greaves et al. The Cambridge backbone network an overview and preliminary performance
US20060004936A1 (en) Bridge for enabling communication between a FIFO interface and a PL3 bus for a network processor and an I/O card
RU187642U1 (en) GIGASPACEWIRE COMMUNICATION INTERFACE DEVICE
Duan et al. An SRIO Bus-Based Implementation of a High-Speed Interface for Satellite 5G

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120730

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee