KR100261149B1 - 피씨아이(pci) 이더넷(ethernet) 제어장치 및 제어방법 - Google Patents

피씨아이(pci) 이더넷(ethernet) 제어장치 및 제어방법 Download PDF

Info

Publication number
KR100261149B1
KR100261149B1 KR1019980003429A KR19980003429A KR100261149B1 KR 100261149 B1 KR100261149 B1 KR 100261149B1 KR 1019980003429 A KR1019980003429 A KR 1019980003429A KR 19980003429 A KR19980003429 A KR 19980003429A KR 100261149 B1 KR100261149 B1 KR 100261149B1
Authority
KR
South Korea
Prior art keywords
data
stored
transmission
ram fifo
unit
Prior art date
Application number
KR1019980003429A
Other languages
English (en)
Other versions
KR19990069282A (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 KR1019980003429A priority Critical patent/KR100261149B1/ko
Priority to US09/138,554 priority patent/US6401146B1/en
Publication of KR19990069282A publication Critical patent/KR19990069282A/ko
Application granted granted Critical
Publication of KR100261149B1 publication Critical patent/KR100261149B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 데이타송신 도중에 언더런이 발생되면 지금까지 버퍼에 저장되었던 데이타를 그대로 유지한 후 그 이후의 데이타부터 다시 버퍼에 저장하므로써 호스트 컴퓨터로부터 각종 미디어들로 데이타를 송신함에 있어서 데이타 송신시간을 단축시키는데 적당한 PCI이더넷 제어장치 및 제어방법을 제공하기 위한 것이다. 이에따라 호스트 컴퓨터와 각종 미디어들간의 데이타송신에 있어서, 송신할 데이타를 버퍼에 순차적으로 저장하여 데이타량이 스레스홀드 값 이상이되면 순차적으로 송신하는 스텝과, 송신도중 언더런이 발생하면 상기 버퍼에 저장된 데이타를 그대로 유지한 후 미처 메모리에 저장되지 못한 데이타부터 다시 버퍼에 저장하고, 상기 언더런 이외의 에러가 발생하면 처음의 데이타부터 버퍼에 다시 저장하는 스텝과, 에러가 발생되지 않으면 완전한 하나의 패킷에 해당하는 데이타가 송신되었는지를 판단하는 스텝을 포함하여 이루어진다.

Description

피씨아이(PCI) 이더넷(Ethernet) 제어장치 및 제어방법
본 발명은 피씨아이(PCI)에 관한 것으로 특히, PCI 이더넷 컨트롤러가 PCI버스를 사용함에 있어서, 데이타를 수신하는 도중에 우선순위가 다른 디바이스로 전환되면 이미 수신한 데이타를 저장하고 있다가 다시 우선순위를 갖게될 경우 수신된 데이타 이후부터 계속하여 데이타를 수신할 수 있도록 하므로서 데이타전송에 따른 시간을 최소화시키는데 적당한 PCI이더넷 제어장치 및 제어방법에 관한 것이다.
이하, 첨부된 도면을 참조하여 종래 PCI이더넷 제어장치 및 제어방법을 설명하면 다음과 같다.
도 1은 종래 호스트 컴퓨터와 각종 미디어(media)와의 데이타통신을 위한 어댑터의 블록 다이아그램을 나타내었다.
도 1에 도시한 바와같이 어댑터(Adapter)(10)는 트위스트 페어 네트워그 케이블(Twist pair network cable)(30), 트위스트 페어 트랜시버(Twist pair transceiver)부(100), 어테치먼트 유니트 인터페이스부(attachment unit interface)(110), 디코더부(115), 앤코더부(120), 리시브(receive)컨트롤부(130), 트랜스미트(transmit)컨트롤부(140), 이더넷 컨트롤부(150), FIFO(First In First Out)트랜스미트부(180), FIFO리시브부(160), 수신측 RAM FIFO부(170), 송신측 RAM FIFO부(180), 호스트 인터페이스부(200)를 포함하여 구성된다.
여기서, 상기 트위스트 페어 트랜시버부(100)는 어테치먼트 유니트 인터페이스부(110)와 디코더부(115) 및 앤코더부(120)사이에서 병렬적으로 연결된다.
디코더부(115)는 리시브 컨트롤부(130)와 연결되고 앤코더부(120)은 트랜스미트 컨트롤부(140)과 연결된다.
리시브 컨트롤부(130)와 트랜스미트 컨트롤부(140)가 서로 연결되고 이더넷 컨트롤부(150)를 공유한다.
그리고 상기 리시브 컨트롤부(130)는 수신측 RAM FIFO부(170)과 연결된 FIFO리시브부(160)와 연결된다.
트랜스미트 컨트롤부(180)는 송신측 RAM FIFO부(190)과 연결된 FIFO트랜스미트부(180)와 연결된다.
그리고 상기 FIFO트랜스미트부(180)와 FIFO리시브부(160)은 상기 호스트 인터페이스부(200)와 연결된다.
도 1에 도시한 바와같이 점선으로 나타낸 부분 즉, 각종 컨트롤부, RAM, 트랜시버부를 모두 포함하여 ASIC(Aplication Specific Intergrated Circuit)부(210)라 칭한다.
여기서 상기 ASIC부(210)는 각 미디어 혹은 스테이션(station)의 어드레스와 같은 데이타의 배치를 제공하는 호스트 인터페이스부(200)와 연결된 이이피롬(EEPROM)(220)를 포함한다.
그리고 상기 ASIC부(210)는 클럭(clocks)부(240)와, 다양한 네트워크 상태에 따른 신호를 관리하는 네트워크 메니지먼트부(Network Management)(250)를 포함한다.
디코더부(115)와 앤코더부(120)는 VCO(Voltage Controlled Oscillator)(270)와 연결된다.
여기서 미설명부호 230은 부트(BOOT)피롬(PROM)이다.
상기와 같이 구성된 동작설명을 도 2를 참조하여 설명하기로 한다.
일반적으로 어뎁터(10)와 호스트 컴퓨터간의 모든 데이타전송은 프로그램 입출력장치(PIO)에 의해 이루어진다.
호스트 컴퓨터로부터 전달된 데이타는 어댑터(10)에 의해 2워드(4 bytes)형태로 송신측 RAM FIFO부(420)에 저장된다.
즉, 도 2에 도시한 바와같이 호스트 컴퓨터로부터 각 이더넷 컴퓨터로 전송하기 위한 송신데이타가 드라이버에 의해 송신측 RAM FIFO부(190)에 저장된다.
이때 상기 송신측 RAM FIFO부(170)내의 데이타량과 스레스홀드(Threshold) 값을 비교하여(420) 데이타량이 스레스홀드 값 이상이 되면 한 개의 완전한 패킷(packet)단위가 아니더라도 데이타를 송신하기 시작한다(425).
여기서 상기 데이타 송신동작은 에러가 발생하지 않는 이상은 한 개의 패킷을 모두 송신될 때까지 수행한다.
상기 데이타를 송신하는 동안 에러검출부에서는 에러의 발생여부를 검출(430)하는데 상기 에러가 발생되었을 경우 발생된 에러의 종류가 언더런(Underrun)인지를 확인한다(435).
이어, 상기 에러의 종류가 언더런으로 확인되면 "bad" CRC를 발생시킨다(440).
만일 에러종류를 확인한 결과 언더런이 아니거나 상기 "bad" CRC가 발생된 이후에는 데이타송신중 에러가 발생되었음을 알리는 스테터스(status)비트를 업데이트(Update)시키고(445) 데이타송신을 중단한다(450).
여기서 에러의 종류가 언더런으로 확인되어 데이타송신이 중단되었으므로 다시 데이타송신이 이루어지려면 처음의 데이타부터 다시 보내줄것을 FIFO트랜스미트부(180)가 호스트 컴퓨터에 요구한다.
따라서 호스트 컴퓨터는 FIFO트랜스미트부(180)에서 요구한대로 상기 송신측 RAM FIFO부(190)로 데이타를 출력한다.
이후 데이타송신 동작은 전술한 바와같이 이루어지게 된다.
한편, 상기 에러검출부에서 에러가 검출되지 않으면 전송 스테터스비트를 업데이트(update)시킨다(460).
이후 하나의 패킷에 해당하는 데이타가 완전히 송신되었는지를 판단한다(465).
여기서 하나의 패킷에 해당하는 데이타가 완전히 송신지지 않았으면 하나의 패킷을 완성하기 위한 이후의 데이타를 송신하기 위해 다시 처음스텝(420)으로 되돌아간다.
만일 하나의 패킷에 해당하는 데이타가 완전히 송신되었으면 이를 드라이버에게 알리는 인터럽트를 발생시킨다(470).
이상에서와 같은 과정을 통해 호스트 컴퓨터로부터 각 이더넷 컴퓨터로의 데이타송신이 이루어지게 된다.
그러나 상기와 같은 종래 PCI이더넷 제어장치에 따른 제어방법은 다음과 같은 문제점이 있었다.
데이타 송신도중에 언더런이 발생할 경우 현재까지 송신측 RAM FIFO부에 존재하고 있던 패킷데이타 일부를 모두 버리고 다시 처음부터 송신측 RAM FIFO부에 데이타를 저장할 것을 드라이버에 요구하게 된다.
따라서 드라이버는 호스트컴퓨터에게 처음부터 데이타를 다시 송신할 것을 요구한 후 송신할 데이타가 준비되었으면 이를 RAM FIFO부에 저장한 후 다시 데이타를 송신하여야 하므로 데이타 송신에 따른 전송시간이 그 만큼 늦어지게 된다.
본 발명은 상기한 문제점을 해결하기 위해 안출한 것으로서 데이타 송신도중에 언더런이 발생되더라도 송신측 RAM FIFO부에 저장된 데이타를 백-업(BACK-UP)시켜 데이타의 재전송시 백-업된 데이타 이후부터 계속하여 데이타송신이 이루어지도록 하여 데이타전송시간을 단축시키는데 적당한 PCI이더넷 제어장치의 제어방법을 제공하는데 그 목적이 있다.
도 1은 일반적인 호스트 컴퓨터와 각 미디어들간의 데이타송수신을 위한 어댑터의 구성블록도
도 2는 종래기술에 따른 PCI이더넷 제어장치의 제어방법을 설명하기 위한 플로우챠트
도 3은 본 발명의 PCI이더넷 제어장치의 개념도
도 4는 본 발명에 따른 RAM FIFO부의 데이타 입출력을 설명하기 위한 개념도
도 5는 본 발명의 PCI이더넷 제어장치의 제어방법을 설명하기 위한 플로우챠트
도면의 주요부분에 대한 부호의 설명
31 : RAM FIFO부 33 : 제 1 컨트롤부
35 : 제 2 컨트롤부
상기의 목적을 달성하기 위한 본 발명의 PCI이더넷 제어장치는 호스트 컴퓨터와 각종 미디어들과의 데이타송신을 위한 PCI제어장치에 있어서, 호스트 컴퓨터로부터 전달되는 데이타가 저장되고 저장된 데이타량이 송신 스레스홀드 값 이상이 되면 데이타가 순차적으로 출력되는 RAM FIFO부와, 상기 RAM FIFO부로의 데이타 저장을 제어하고 저장된 데이타량과 스레스홀드 값을 비교하여 데이타출력 시작신호를 출력하는 제 1 컨트롤부와, 상기 제 1 컨트롤부에서 출력하는 데이타출력 시작신호를 받아 순차적으로 데이타를 리드하고, 언더런이 발생하면 리드된 데이타량을 체크하는 싱크 포인터 템포러리의 위치를 상기 RAM FIFO부의 최초로 데이타가 저장되는 위치로 업데이트 시키는 제 2 컨트롤부를 포함하여 구성되고 본 발명의 PCI이더넷 제어장치의 제어방법은 호스트 컴퓨터와 각종 미디어들간의 데이타송신에 있어서, 송신할 데이타를 메모리에 순차적으로 저장하여 데이타량이 스레스홀드 값 이상이되면 순차적으로 송신하는 스텝과, 송신도중 언더런이 발생하면 상기 메모리에 저장된 데이타를 그대로 유지한 후 미처 메모리에 저장되지 못한 데이타부터 다시 메모리에 저장하고, 상기 언더런 이외의 에러가 발생하면 처음의 데이타부터 메모리에 다시 저장하는 스텝과, 에러가 발생되지 않으면 완전한 하나의 패킷에 해당하는 데이타가 송신되었는지를 판단하는 스텝을 포함하여 이루어진다.
이하, 본 발명의 PCI이더넷 제어장치 및 제어방법을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.
도 3은 본 발명의 PCI이더넷 제어장치의 구성블록도이다.
본 발명에 따른 PCI이더넷 제어장치는 도 3에 도시한 바와같이 RAM FIFO부(31)와, 제 1 컨트롤부(33)와, 제 2 컨트롤부(35)로 크게 구성된다.
여기서 상기 RAM FIFO부(31)는 하나의 패킷데이타를 저장할 수 있는 크기를 갖으며 시스템의 속도와 네트워크의 속도가 서로 상이하므로 투-포트(Two-port)RAM을 사용한다.
그리고 제 1 컨트롤부(33)는 시스템의 메인 메모리로부터 송신하여야 할 데이타를 상기 RAM FIFO부(31)까지 전달하는 역할을 한다.
또한 RAM FIFO부(31)에 저장되는 데이타량과 송신 스레스홀드 값을 비교하여 데이타량이 송신 스레스홀드 값을 초과하게 되면 상기 제 2 컨트롤부(35)에게 상기 RAM FIFO부(31)에 저장된 데이타를 리드하라는 송신 시작 신호를 출력한다.
그리고 상기 RAM FIFO부(31)에 데이타가 저장될 때마다 송신 소오스 포인터(Point)를 순차적으로 증가시킨다.
한편, 제 2 컨트롤부(35)는 상기 제 1 컨트롤부(33)로부터 송신 시작신호가 들어오면 RAM FIFO부(31)에 저장된 데이타를 리드(READ)한다.
이때 상기 RAM FIFO부(31)로부터 데이타를 리드하기 위하여 송신 싱크 포인터 템포러리(sink pointer temperary)를 사용한다.
여기서 상기 송신 싱크 포인터 템포러리는 RAM FIFO부(31)에 저장된 데이타가 리드될때마다 순차적으로 증가하여 상기 RAM FIFO부(31)의 몇번째 어드레스에 저장된 데이타까지 리드되었는지를 체크한다.
여기서 상기 싱크 포인터 템포러리를 도 4를 참조하여 좀 더 상세히 설명하면 다음과 같다.
도 4에 도시한 바와같이 싱크 포인터는 최초에 데이타가 저장되는 지점을 지시한다.
예를들어 하나의 패킷 데이타가 A에서 부터 K에 해당한다면 데이타 송신모드일 경우, 호스트 컴퓨터로부터 A에서 부터 순차적으로 RAM FIFO부(31)에 저장된다.
이때 싱크 포인터는 최초에 데이타가 저장되는 어드레스를 가리키고 소오스 포인터는 RAM FIFO부(31)로 데이타가 저장될 때마다 순차적으로 증가한다.
만일 상기 RAM FIFO부(31)의 송신 스레스홀드 값이 D에 해당하는 데이타가 저장될 때라고 한다면 상기 D에 해당하는 데이타가 RAM FIFO부(31)에 저장되는 순간 A에 해당하는 데이타가 리드된다.
이때 상기 싱크 포인터 템포러리도 순차적으로 증가하게 된다.
이러한 과정을 반복하는 도중에 언더런이 발생하게 되면 예를들어 G에 해당하는 데이타가 리드되고 계속하여 H에 해당하는 데이타가 RAM FIFO부(31)에 저장되는 순간 언더런이 발생하여 상기 싱크 포인터 템포러리의 값과 송신 소오스 포인터의 값이 일치하게 되면 상기 제 1 컨트롤부(33)는 송신 소오스 포인터를 중지시킨다.
그리고 재차 언더런이 발생되는 것을 미연에 방지하기 위해 상기 송신 스레스홀드 값을 증가시킨다.
즉, 스레스홀드 값이 작을수록 언더런이 발생할 확율이 많으므로 한 번 언더런이 발생되었으면 상기 스레스홀드 값을 증가시킨다.
본 발명에서는 일예로 최초에 D데이타가 저장되는 시점에 스레스홀드값이 설정되었던 것을 더 증가시켜 J에 해당하는 데이타가 RAM FIFO부(31)에 저장되는 시점으로 변경하였다.
또한 제 2 컨트롤부(35)는 상기 싱크 포인터 템포러리의 값을 상기 싱크 포인터의 값으로 업데이트(Update)시킨다.
결과적으로 언더런 이나 그 이외의 에러가 발생하면 송신 싱크 포인터는 송신 되어야 할 하나의 패킷 데이타가 메인 메모리에서 들어오기 이전의 값 즉, 언더런이 발생하여 호스트 컴퓨터로부터 RAM FIFO부(31)로 저장되지 못했던 I에 해당하는 데이타부터 다시 저장하게 된다.
그리고 다시 J에 해당하는 데이타가 RAM FIFO부(31)에 저장되면 상기 소오스 포인터 중지되었던 값에 이어서 증가하게 되고 이때 A에 해당하는 데이타가 다시 리드된다.
또한 싱크 포인터의 값으로 업데이트 되었던 송신 싱크 포인터 템포러리도 처음부터 다시 증가하게 된다.
이와같은 본 발명의 PCI이더넷 제어장치에 따른 제어방법을 설명하면 다음과 같다.
도 5는 본 발명의 PCI이더넷 제어방법을 설명하기 위한 플로우챠트이다.
드라이버가 송신할 데이타가 준비되었음을 알리는 신호를 제 1 컨트롤부(33)에 입력하면 제 1 컨트롤부(33)는 송신할 데이타를 메인 메모리로부터 리드하여 상기 RAM FIFO부(31)에 순차적으로 저장한다.
이때 상기 소오스 포인트는 RAM FIFO부(31)에 데이타가 저장될 때마다 순차적으로 증가하기 시작한다.
여기서 상기 제 1 컨트롤부(33)는 도 5에 도시한 바와같이 상기 RAM FIFO부(31)에 저장된 데이타량과 송신 스레스홀드 값과 비교하여(510) 데이타량이 스레스홀드 값 이상이면 상기 제 2 컨트롤부(35)에게 RAM FIFO부(31)의 데이타를 리드(READ)할 것을 요구하는 신호를 출력함과 동시에 계속하여 RAM FIFO부(31)에 데이타를 저장한다.
상기 제 1 컨트롤부(33)로부터 RAM FIFO부(31)에 저장된 데이타를 리드하라는 신호를 받은 제 2 컨트롤부(35)는 RAM FIFO부(31)에 저장된 데이타를 리드하여 송신하게 되는데 이때 송신 싱크 포인터 템포러리는 RAM FIFO부(31)로부터 데이타가 리드될 때마다 순차적으로 증가하게 된다(520).
데이타가 송신되고 있는 도중에 에러발생여부를 판단하여(530)에러가 발생되었으면 발생된 에러가 언더런(underrun)인지를 판단한다(540).
상기 판단결과 언더런 에러이면 상기 제 1 컨트롤부(33)는 송신 소오스 포인터의 증가를 중지시키고 제 2 컨트롤부(35)는 상기 송신 싱크 템포러리 포인터의 위치를 최초의 위치(즉, 송신 싱크 포인터의 위치)로 되돌려 놓는다(550).
이때 제 1 컨트롤부(33)는 현재 전체 패킷중 어느정도가 RAM FIFO부(31)에 저장되었는지와 어느정도의 데이타를 RAM FIFO부(31)에 더 저장하여야 할 것인지를 알고 있다.
그리고 RAM FIFO부(31)에 저장된 데이타를 제외한 그 이후의 데이만이 RAM FIFO부(31)에 저장되도록 드라이버로 요구신호를 출력한다(560).
여기서, 전술한 바와같이 재차 언더런이 발생되는 것을 미연에 방지하기 위해 상기 송신 스레스홀드 값을 증가시킨다.
즉, 스레스홀드 값이 작을수록 언더런이 발생할 확율이 많으므로 한 번 언더런이 발생되었으면 상기 스레스홀드 값을 증가시킨다.
만일 에러의 종류가 언더런인지를 판단한 결과 언더런이 아니면 상기 제 2 컨트롤부(35)는 송신 싱크 포인터 템포러리를 송신 싱크 포인터의 위치로 되돌려 놓는다(570).
그리고 상기 제 1 컨트롤부(33)는 드라이버에게 송신할 데이타를 처음부터 메인 메모리로부터 가져올 것을 알려주고(580) 드라이버가 송신할 데이타를 준비할때까지 기다린다.
이후, 드라이버가 송신할 데이타가 준비되었음을 알리는 신호가 들어오면 처음부터 데이타를 다시 송신하기 시작한다.
한편 상기 에러검출시 에러가 발생되지 않으면 현재 송신하고 있는 데이타에 관한 스테터스 비트를 업데이트하고(590)(즉, 송신 싱크 포인터 템포러리를 업데이트시키고) 하나의 패킷이 완전히 송신되었는지를 판단한다(600).
상기 판단결과 하나의 패킷이 완전히 송신되지 않았으면 하나의 패킷이 완전히 송신될 때까지 데이타송신 동작을 계속한다.
그리고 상기 판단결과 하나의 패킷이 완전히 송신되었으면 송신 싱크 포인터 템포러리의 위치를 다시 송신 싱크 포인터의 위치로 옮긴다음, 하나의 패킷이 완전히 송신되었음을 드라이버에게 알리는 인터럽트를 발생시킨다(610).
이와같은 과정을 통해 패킷단위의 데이타를 호스트 컴퓨터에서 각 미디어들로 송신하게 된다.
이상 상술한 바와같이 본 발명의 PCI이더넷 제어장치 및 제어방법은 다음과 같은 효과가 있다.
데이타송신시 언더런이 발생할 경우 다시 처음부터 데이타를 메인 메모리로부터 리드하는 것이 아니라 RAM FIFO부에 저장되었던 데이타를 제외한 이후의 데이타부터 리드하면 되므로 다시 데이타를 송신하는데 걸리는 시간을 최소화 시킨다.

Claims (8)

  1. 호스트 컴퓨터와 각종 미디어들과의 데이타송신을 위한 PCI제어장치에 있어서,
    호스트 컴퓨터로부터 전달되는 데이타가 저장되고 저장된 데이타량이 송신 스레스홀드 값 이상이 되면 데이타가 순차적으로 출력되는 RAM FIFO부;
    상기 RAM FIFO부로의 데이타 저장을 제어하고 저장된 데이타량과 스레스홀드 값을 비교하여 데이타출력 시작신호를 출력하는 제 1 컨트롤부;
    상기 제 1 컨트롤부에서 출력하는 데이타출력 시작신호를 받아 순차적으로 데이타를 리드하고, 언더런이 발생하면 리드된 데이타량을 체크하는 싱크 포인터 템포러리의 위치를 상기 RAM FIFO부의 최초로 데이타가 저장되는 위치로 업데이트 시키는 제 2 컨트롤부를 포함하여 구성되는 것을 특징으로 하는 PCI이더넷 제어장치.
  2. 제 1 항에 있어서,
    상기 제 1 컨트롤부는 호스트 컴퓨터로부터 RAM FIFO부로 데이타가 저장될 때마다 순차적으로 증가하는 송신 소오스 포인터를 제어하는 것을 특징으로 하는 PCI이더넷 제어장치.
  3. 제 1 항에 있어서,
    상기 제 1 컨트롤부는 완전히 하나의 패킷에 해당하는 데이타가 RAM FIFO부에 저장되지 못한 상황에서 언더런이 발생하면 상기 RAM FIFO부에 저장되었던 데이타를 제외한 이후의 데이타부터 호스트 컴퓨터에 요구하는 것을 특징으로 하는 PCI이더넷 제어장치.
  4. 제 1 항에 있어서,
    상기 제 2 컨트롤부는 완전한 하나의 패킷에 해당하는 데이타를 모두 송신하게 되면 상기 싱크 포인터 템포러리의 위치를 최초의 싱크 포인터의 위치로 업데이트 시키는 것을 특징으로 하는 PCI이더넷 제어장치.
  5. 제 1 항에 있어서,
    상기 싱크 포인터 템포러리는 언더런이 발생할 경우, 최초 싱크 포인터의 위치로 업데이트 되므로써 언더런의 발생전까지 RAM FIFO부에 저장되었던 데이타를 유지하게 되는 것을 특징으로 하는 PCI이더넷 제어장치.
  6. 호스트 컴퓨터와 각종 미디어들간의 데이타송신에 있어서,
    RAM FIFO부에 저장된 데이타량과 송신 스레스홀드 값을 비교하여 스레스홀드 값 이상이면 상기 RAM FIFO부에 저장된 데이타를 순차적으로 송신하는 스텝;
    데이타송신중 에러의 유무를 검출한 후 언더런 에러인지를 판단하는 스텝;
    언더런 에러일 경우 송신 싱크 포인터 템포러리를 업데이트 시킨 후 상기 RAM FIFO부에 저장되었던 데이타를 제외한 그 이후의 데이타부터 다시 RAM FIFO부에 저장하고, 언더런이 아니면 상기 송신 싱크 포인터 템포러리를 업데이트 시킨 후 처음의 데이타부터 다시 RAM FIFO부에 저장하는 스텝;
    상기 에러유무 검출결과 에러가 검출되지 않으면 하나의 패킷에 해당하는 데이타가 완전히 송신되었는지를 판단하는 스텝;
    하나의 패킷에 해당하는 데이타가 완전히 송신되었으면 이를 알리는 인터럽트를 발생하고 그렇지 않으면 완전한 하나의 패킷에 해당하는 데이타가 송신되도록 데이타송신 동작을 반복하는 스텝을 포함하여 이루어지는 것을 특징으로 하는 PCI이더넷 제어장치의 제어방법.
  7. 제 6 항에 있어서,
    상기 싱크 포인터 템포러리는 호스트 컴퓨터로부터 전달된 데이타가 최초로 저장되는 RAM FIFO부의 위치로 업데이트 시키는 것을 특징으로 하는 PCI이더넷 제어장치의 제어방법.
  8. 제 6 항에 있어서,
    상기 싱크 포인터 템포러리는 언더런이 발생할 경우, 호스트 컴퓨터로부터 전달된 데이타가 최초로 저장되는 RAM FIFO부의 위치로 업데이트 되므로써 언더런의 발생전까지 RAM FIFO부에 저장되었던 데이타를 유지하도록 하는 것을 특징으로 하는 PCI이더넷 제어장치의 제어방법.
KR1019980003429A 1998-02-06 1998-02-06 피씨아이(pci) 이더넷(ethernet) 제어장치 및 제어방법 KR100261149B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019980003429A KR100261149B1 (ko) 1998-02-06 1998-02-06 피씨아이(pci) 이더넷(ethernet) 제어장치 및 제어방법
US09/138,554 US6401146B1 (en) 1998-02-06 1998-08-24 Device and method for controlling PCI ethernet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980003429A KR100261149B1 (ko) 1998-02-06 1998-02-06 피씨아이(pci) 이더넷(ethernet) 제어장치 및 제어방법

Publications (2)

Publication Number Publication Date
KR19990069282A KR19990069282A (ko) 1999-09-06
KR100261149B1 true KR100261149B1 (ko) 2000-07-01

Family

ID=19532629

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980003429A KR100261149B1 (ko) 1998-02-06 1998-02-06 피씨아이(pci) 이더넷(ethernet) 제어장치 및 제어방법

Country Status (2)

Country Link
US (1) US6401146B1 (ko)
KR (1) KR100261149B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6779054B2 (en) * 2001-10-05 2004-08-17 Intel Corporation Method and apparatus for operating a network controller
US20030142058A1 (en) * 2002-01-31 2003-07-31 Maghielse William T. LCD controller architecture for handling fluctuating bandwidth conditions
CN102810085A (zh) * 2011-06-03 2012-12-05 鸿富锦精密工业(深圳)有限公司 Pci-e扩展系统及方法
US20140365699A1 (en) * 2013-06-11 2014-12-11 Allied Telesis Holdings Kabushiki Kaisha Adapter card for thin computing devices
US11165683B2 (en) 2015-12-29 2021-11-02 Xilinx, Inc. Network interface device
US11044183B2 (en) 2015-12-29 2021-06-22 Xilinx, Inc. Network interface device
CN112400297B (zh) * 2018-07-06 2022-03-29 华为技术有限公司 用于减少时延和缓存大小的传输缓存系统和传输缓存器操作方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5412782A (en) * 1992-07-02 1995-05-02 3Com Corporation Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
US5341476A (en) * 1992-12-23 1994-08-23 Abbott Laboratories Dynamic data distribution network with sink and source files for particular data types
US5617541A (en) * 1994-12-21 1997-04-01 International Computer Science Institute System for packetizing data encoded corresponding to priority levels where reconstructed data corresponds to fractionalized priority level and received fractionalized packets
US5771356A (en) * 1995-01-04 1998-06-23 Cirrus Logic, Inc. Apparatus for controlling FIFO buffer data transfer by monitoring bus status and FIFO buffer thresholds
US5859980A (en) * 1996-02-08 1999-01-12 Advanced Micro Devices, Inc. Network interface having adaptive transmit start point for each packet to avoid transmit underflow
US5784649A (en) * 1996-03-13 1998-07-21 Diamond Multimedia Systems, Inc. Multi-threaded FIFO pool buffer and bus transfer control system
JP3658919B2 (ja) * 1997-04-15 2005-06-15 ソニー株式会社 電子機器及びその情報伝送方法
US6047339A (en) * 1997-10-27 2000-04-04 Emulex Corporation Buffering data that flows between buses operating at different frequencies
US6067300A (en) * 1998-06-11 2000-05-23 Cabletron Systems, Inc. Method and apparatus for optimizing the transfer of data packets between local area networks

Also Published As

Publication number Publication date
KR19990069282A (ko) 1999-09-06
US6401146B1 (en) 2002-06-04

Similar Documents

Publication Publication Date Title
US5721955A (en) System for transferring portion of data to host from buffer if size of packet is greater than first threshold value but less than second threshold value
EP0217351B1 (en) Communication control apparatus
US6697366B1 (en) Ethernet memory management system and methods for operation thereof
US6430636B1 (en) Method and system for a physical bus selector
US4642630A (en) Method and apparatus for bus contention resolution
US20060277339A1 (en) Communication apparatus, switching method, and switching program
US20220058156A1 (en) Communication apparatus, communication method, program, and communication system
WO2019095124A1 (zh) 切换串口数据传输状态的方法及装置
KR100261149B1 (ko) 피씨아이(pci) 이더넷(ethernet) 제어장치 및 제어방법
KR100778114B1 (ko) 통신에러를 개선하기 위한 통신방법 및 그 통신방법이적용된 전자장치
US11544132B2 (en) Communication apparatus, communication method, program, and communication system
US20040198223A1 (en) Flow control in a bluetooth wireless communication system
EP0893019B1 (en) Multiplex communication interface circuit and method
JPH07112201B2 (ja) Lanの遠隔端末にアドレスを割り当てる方法および装置
US6625163B1 (en) Collision detection on a differential bus
WO2020250778A1 (ja) 通信装置および通信方法、並びにプログラム
JPH103436A (ja) 自動転送機能付シリアル入出力回路
US11233514B2 (en) Semiconductor device including subsystem interfaces and communications method thereof
CN112685346B (zh) 一种基于arinc429总线的多设备数据同步方法
KR940007555B1 (ko) 망동기 장치의 td 버스 인터페이스 방법
JPS59161956A (ja) 伝送制御装置
CN116418642A (zh) 载波通讯的自适应方法、运行控制装置和多联机系统
JP2003152761A (ja) Lan中継装置及びそれに用いる適応型フロー制御方法並びにそのプログラム
KR100566987B1 (ko) 유엠티에스 알엔씨의 주제어장치를 위한 이중화구조 장치및 그 제어방법
JP3356129B2 (ja) 通信機器

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: 20050322

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee