KR100261149B1 - 피씨아이(pci) 이더넷(ethernet) 제어장치 및 제어방법 - Google Patents
피씨아이(pci) 이더넷(ethernet) 제어장치 및 제어방법 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000005540 biological transmission Effects 0.000 claims abstract description 63
- 230000002123 temporal effect Effects 0.000 claims description 16
- 238000013500 data storage Methods 0.000 claims description 2
- 238000001514 detection method Methods 0.000 claims description 2
- 230000002093 peripheral effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information 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)에 관한 것으로 특히, 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)
- 호스트 컴퓨터와 각종 미디어들과의 데이타송신을 위한 PCI제어장치에 있어서,호스트 컴퓨터로부터 전달되는 데이타가 저장되고 저장된 데이타량이 송신 스레스홀드 값 이상이 되면 데이타가 순차적으로 출력되는 RAM FIFO부;상기 RAM FIFO부로의 데이타 저장을 제어하고 저장된 데이타량과 스레스홀드 값을 비교하여 데이타출력 시작신호를 출력하는 제 1 컨트롤부;상기 제 1 컨트롤부에서 출력하는 데이타출력 시작신호를 받아 순차적으로 데이타를 리드하고, 언더런이 발생하면 리드된 데이타량을 체크하는 싱크 포인터 템포러리의 위치를 상기 RAM FIFO부의 최초로 데이타가 저장되는 위치로 업데이트 시키는 제 2 컨트롤부를 포함하여 구성되는 것을 특징으로 하는 PCI이더넷 제어장치.
- 제 1 항에 있어서,상기 제 1 컨트롤부는 호스트 컴퓨터로부터 RAM FIFO부로 데이타가 저장될 때마다 순차적으로 증가하는 송신 소오스 포인터를 제어하는 것을 특징으로 하는 PCI이더넷 제어장치.
- 제 1 항에 있어서,상기 제 1 컨트롤부는 완전히 하나의 패킷에 해당하는 데이타가 RAM FIFO부에 저장되지 못한 상황에서 언더런이 발생하면 상기 RAM FIFO부에 저장되었던 데이타를 제외한 이후의 데이타부터 호스트 컴퓨터에 요구하는 것을 특징으로 하는 PCI이더넷 제어장치.
- 제 1 항에 있어서,상기 제 2 컨트롤부는 완전한 하나의 패킷에 해당하는 데이타를 모두 송신하게 되면 상기 싱크 포인터 템포러리의 위치를 최초의 싱크 포인터의 위치로 업데이트 시키는 것을 특징으로 하는 PCI이더넷 제어장치.
- 제 1 항에 있어서,상기 싱크 포인터 템포러리는 언더런이 발생할 경우, 최초 싱크 포인터의 위치로 업데이트 되므로써 언더런의 발생전까지 RAM FIFO부에 저장되었던 데이타를 유지하게 되는 것을 특징으로 하는 PCI이더넷 제어장치.
- 호스트 컴퓨터와 각종 미디어들간의 데이타송신에 있어서,RAM FIFO부에 저장된 데이타량과 송신 스레스홀드 값을 비교하여 스레스홀드 값 이상이면 상기 RAM FIFO부에 저장된 데이타를 순차적으로 송신하는 스텝;데이타송신중 에러의 유무를 검출한 후 언더런 에러인지를 판단하는 스텝;언더런 에러일 경우 송신 싱크 포인터 템포러리를 업데이트 시킨 후 상기 RAM FIFO부에 저장되었던 데이타를 제외한 그 이후의 데이타부터 다시 RAM FIFO부에 저장하고, 언더런이 아니면 상기 송신 싱크 포인터 템포러리를 업데이트 시킨 후 처음의 데이타부터 다시 RAM FIFO부에 저장하는 스텝;상기 에러유무 검출결과 에러가 검출되지 않으면 하나의 패킷에 해당하는 데이타가 완전히 송신되었는지를 판단하는 스텝;하나의 패킷에 해당하는 데이타가 완전히 송신되었으면 이를 알리는 인터럽트를 발생하고 그렇지 않으면 완전한 하나의 패킷에 해당하는 데이타가 송신되도록 데이타송신 동작을 반복하는 스텝을 포함하여 이루어지는 것을 특징으로 하는 PCI이더넷 제어장치의 제어방법.
- 제 6 항에 있어서,상기 싱크 포인터 템포러리는 호스트 컴퓨터로부터 전달된 데이타가 최초로 저장되는 RAM FIFO부의 위치로 업데이트 시키는 것을 특징으로 하는 PCI이더넷 제어장치의 제어방법.
- 제 6 항에 있어서,상기 싱크 포인터 템포러리는 언더런이 발생할 경우, 호스트 컴퓨터로부터 전달된 데이타가 최초로 저장되는 RAM FIFO부의 위치로 업데이트 되므로써 언더런의 발생전까지 RAM FIFO부에 저장되었던 데이타를 유지하도록 하는 것을 특징으로 하는 PCI이더넷 제어장치의 제어방법.
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)
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)
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 |
-
1998
- 1998-02-06 KR KR1019980003429A patent/KR100261149B1/ko not_active IP Right Cessation
- 1998-08-24 US US09/138,554 patent/US6401146B1/en not_active Expired - Lifetime
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 |