KR0176096B1 - 동기 버스간의 고속 데이터 전송장치 - Google Patents
동기 버스간의 고속 데이터 전송장치 Download PDFInfo
- Publication number
- KR0176096B1 KR0176096B1 KR1019960047124A KR19960047124A KR0176096B1 KR 0176096 B1 KR0176096 B1 KR 0176096B1 KR 1019960047124 A KR1019960047124 A KR 1019960047124A KR 19960047124 A KR19960047124 A KR 19960047124A KR 0176096 B1 KR0176096 B1 KR 0176096B1
- Authority
- KR
- South Korea
- Prior art keywords
- bus
- standby
- active
- transaction
- fifo
- Prior art date
Links
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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
-
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Hardware Redundancy (AREA)
Abstract
고장 감내형을 구성하는 이중화 CPU 시스템에서 액티브측 CPU 시스템과 스탠바이측 CPU 시스템간의 메모리 맵을 일치시키는 동기 버스간의 고속 데이터 전송장치가 개시된다.
본 발명은 동기 로칼 버스에서 일어나는 여러 가지 CPU 트랜잭션 동작 가운데 쓰기(write) 동작에 한해서, 특정 영역 또는 전 메모리 영역을 감시하다가 라이팅이 일어나면 이를 데이터 저장 FIFO에 저장하였다가 백 플레인 버스를 통하여 스탠바이쪽 로칼 버스에 동일한 라이트 트랜잭션을 발생시킴으로써 액티브, 스탠바이 블록의 메모리 맵을 일치시키는 것이다.
본 발명에 의하면 별도의 소프트웨어적인 추가 액션 없이, 또한 데이터 저장을 위한 FIFO 용량의 증가없이 하드웨어적으로 라이트 트랜잭션 트래픽을 감소시킴으로써, FIFO 넘침을 방지할 수 있다.
Description
제1도는 본 발명에 의한 고속 데이터 전송장치의 적용예를 설명하기 위한 고장 감내형 이중화 CPU 시스템의 블록도.
제2도는 본 발명에 의한 고속 데이터 전송장치의 기능별 블록도.
제3도는 제2도에서의 액티브 블록을 상세 도시한 블록도.
제4도는 제2도에서의 스탠바이 블록을 상세 도시한 블록도이다.
본 발명은 한 CPU 시스템의 메모리를 백 플레인 버스를 통해서 반대편의 CPU 시스템의 메모리에 전송하는 두 CPU 시스템간의 메모리 전송 장치에 관한 것으로서, 특히 고장 감내형을 구성하는 이중화 CPU 시스템에서 액티브측 CPU 시스템과 스탠바이측 CPU 시스템간의 메모리 맵을 일치시키는 동기 버스간의 고속 데이터 전송장치에 관한 것이다.
기존에 사용된 고속 데이터 전송장치의 문제점은, 액티브 영역과 스탠바이 영역의 특정 메모리 구간의 데이터를 일치시키기 위해서 액티브측의 메모리 쓰기 작업 이외에도 별도로 확장된 개념의 어드레스 맵으로 스탠바이측 메모리 쓰기를 소프트웨어에서 수행해야 하기 때문에 성능이 떨어지는 문제점이 있다.
더욱이, 동시 쓰기를 하더라도 스탠바이쪽의 메모리가 완전히 write 되어야 응답 신호를 받을 수 있으므로 전체적으로 시스템 성능을 저하시킨다. 또한, 이러한 기존의 방식은 비동기 로칼 버스에는 구현이 가능하지만, 동기 로칼 버스간의 데이터 전송에는 적합치 않다는 문제점을 갖는다.
전술한 문제점 외에도 고속 데이터 전송장치에는 순간적으로 발생하는 많은 양의 라이트(write) 트랜잭션에 기인하여 데이터 저장 FIFO(First In First Out)의 넘침(full) 현상이 발생하는 문제점을 갖는다. 이러한 현상은 이동될 데이터가 액티브 버스의 메모리에 라이트되는 것을 바로 데이터 FIFO에 저장하고, 이를 스탠바이 블록의 이중 포트 메모리에 이동시킨 후 다시 스탠바이 버스권을 잡고 스탠바이 블록의 로칼 메모리에 저장하기까지 많은 시간이 소요되기 때문이다. 이러한 FIFO 넘침은 버퍼링을 위한 데이터 저장 FIFO 사이즈를 크게 함으로써 어느 정도 방지될 수 있지만 근본적인 해결책은 되지 못하고 있다.
따라서, 본 발명은 전술한 문제점들을 해소하기 위해 안출된 것으로서, 그 목적은 별도의 소프트웨어적인 추가 액션 없이, 그리고 FIFO 용량의 증가없이 하드웨어적으로 라이트 트랜잭션 트래픽을 감소시킴으로써, FIFO 넘침을 방지할 수 있는 동기 버스간의 고속 데이터 전송장치를 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명은 액티브 블록과 스탠바이 블록으로 구별된 두 CPU 시스템의 동기 버스간의 고속 데이터 전송장치에 있어서, 데이터 저장 FIFO에 저장된 각각의 트랜잭션의 크기 및 에러 정보를 저장하는 정보 저장 FIFO, 액티브 로칼 버스의 정합 기능을 수행하고 해당 라이트(write) 트랜잭션을 감지하여 이를 상기 데이터 저장 FIFO에 저장하는 액티브 로칼 버스 정합수단, 상기 데이터 저장 FIFO의 프로그래머블 풀(programable full) 신호를 이용하여 일정 이상의 데이터가 데이터 저장 FIFO에 차면 액티브 로칼버스의 버스권을 획득하여 강제로 버스권을 잡아 액티브 로칼 버스상의 라이트 트랜잭션 트래픽을 감소시키기 위한 FIFO를 감시 및 액티브 버스권 획득수단, 상기 액티브 버스에서 일어나는 라이트 트랜잭션 한 개분의 데이터를 데이터 저장 FIFO로부터 읽어 스탠바이 블록의 이중 포트 메모리에 이동시켜 스탠바이 버스의 로칼 메모리에 라이트 트랜잭션 수행 시 에러가 나더라도 정보 유실없이 다시 이중 포트 메모리에 재 전송하는 트랜잭션 이동수단, 및 상기 이중 포트 메모리에 저장된 한 개분의 트랜잭션을 스탠바이 로칼 버스로 정합하기 위한 스탠바이 로칼버스 정합부를 포함하여 구성됨을 특징으로 한다.
본 발명은 스탠바이 로칼 버스의 메모리 라이트(write)를 위해서 별도의 소프트웨어 동작 없이 단순히 액티브 버스의 로칼 메모리에 라이팅하는 것만으로 스탠바이 로칼 메모리에 똑같은 메모리 영역으로 복사되는 전송장치로서, 특히 동기 버스간의 메모리 전송에 적합하다.
본 발명에서는, 스탠바이 블록 로칼 메모리에 미처 전송도 하기 전에 순간적으로 데이터 저장 FIFO가 넘칠 정도로 라이트 트랜잭션이 발생하는 경우, 소프트웨어 동작에 무관하게 액티브 로칼 버스에 버스권을 요청하여 데이터 저장 FIFO가 일정 수준으로 비워질 때까지 실제로 하는 일은 없지만 가짜로 버스를 잡아줌으로써, FIFO 넘침을 소프트웨어 동작에 무관하게 동적으로 제어하는 것이다.
이하, 본 발명의 바람직한 실시예를 첨부 도면에 의거하여 보다 상세히 설명한다.
제1도는 본 발명에 의한 고속 데이터 전송장치의 적용예를 설명하기 위한 도면으로서, 고장 감내형 이중화 CPU 시스템의 블록도를 나타낸다. 먼저, CPU A 모듈(101)을 액티브 프로세서라 하고 CPU B 모듈(103)을 스탠바이 프로세서라 가정하면, 상기 CPU A 모듈(101)이 자기 자신의 로칼 메모리(102)에 라이트 트랜잭션을 수행하면 고속 데이터 전송장치(200)에서 이를 모니터링하고 있다가 실시간으로 CPU B 모듈(103)의 로칼 메모리(104)로 고속 이동시킨다. 상기 고속 데이터 전송장치(200)의 데이터 이동 방향은 액티브에서 스탠바이로 이동이 되며, 설정에 따라 데이터 패스를 끊거나, 방향을 전환시킬 수 있다.
제2도는 본 발명에 따른 고속 데이터 전송장치를 기능별로 나타낸 블록도로서, 자기쪽이 액티브 또는 스탠바이에 따라 동작하는 별도의 블록으로 구별되어 크게 액티브 블록과 스탠바이 블록으로 나누어진다.
상기 액티브 블록은 액티브 로칼버스 정합부(201), 정보 저장 FIFO(203), 데이터 저장 FIFO(204), 및 데이터 저장 FIFO(204)에 데이터가 넘치기 직전 가짜로 버스권을 잡는 액티브 버스권 획득부(202)로 구성되며, 상기 스탠바이 블록은 이중 포트 메모리(207), 트랜잭션 이동부(206), 및 스탠바이 로컬버스 정합부(205)로 구성된다.
상술한 구성을 갖는 데이터 전송장치의 동작을 블록별로 살펴보면 다음과 같다.
먼저, 액티브 로칼 버스(버스 A)에서 자기가 원하능 영역의 메모리 영역에 라이트 동작이 일어나면, 액티브 로칼버스 정합부(201)에서 그 라이트 트랜잭션 정보를 그대로 데이터 저장 FIFO(204)에 래치하여 저장한다. 그리고, 그 해당 트랜잭션의 사이즈 및 에러 정보 유무를 정보 저장 FIFO(203)에 저장한다.
이때, 스탠바이 블록에서 데이터 저장 FIFO(204)에 있는 라이트 트랜잭션 데이터를 빨리 못 가져가 발생하는 FIFO 넘침(full)을 방지하기 위해, 상기 액티브 버스권 획득부(202)는 데이터 저장 FIFO(204)의 프로그램 가능 넘침(programmable full) 신호를 입력받아 이 신호가 검출이 되면 강제로 액티브 버스에 버스권을 요청하여 액티브 로칼 버스에서 발생하는 라이트 트랜잭션 부하를 줄인다. 이 기간 동안 스탠바이 블록에서 데이터 저장 FIFO(204)에 저장된 데이터를 가져감으로 넘침을 막을 수 있다. 그리고, 데이터 저장 FIFO(204)에 일정 수준 이하의 데이터가 남으면 버스권을 풀고 다시 라이트 트랜잭션이 생기도록 한다.
한편, 스탠바이 블록에서는 정보 저장 FIFO(203)에 한 개 이상의 트랜잭션이 들어 있으면, 트랜잭션 이동부(206)에서 그 트랜잭션의 정보를 액티브 블록의 정보 저장 FIFO(203)에 해당 트랜잭션이 몇 개의 사이즈로 데이터 저장 FIFO(204)에 들어 있는지, 또한 그 해당 트랜잭션이 에러는 없는지를 읽어 온다. 이 정보를 가지고 한 개분의 라이트 트랜잭션을 데이터 저장 FIFO(204)로 부터 읽어서 이중 포트 메모리(207)에 저장한 다음, 이중 포트 메모리(207)에 한 개분의 트랜잭션이 준비되었음을 스탠바이 로칼버스 정합부(205)에 알려준다. 스탠바이 로칼버스 정합부(205)는 버스권을 획득한 후, 이중 포트 메모리(207)에 저장된 한 개분의 트랜잭션을 읽어서 스탠바이 시스템의 로칼 메모리에 저장한다. 스탠바이 버스(버스 B)에서 라이트 동작 수행시 에러 사이클이 발생하면, 다시 이중 포트 메모리(207)에서 그 값을 읽은 후, 다시 라이트 트랜잭션을 수행한다. 정상적으로 스탠바이 버스(버스 B)에 라이트 트랜잭션을 종료하면, 트랜잭션 이동부(206)에게 종료가 되었음을 알려준다. 트랜잭션 이동부(206)는 다시 정보 저장 FIFO(203)에 트랜잭션이 남아 있는 지를 확인하여 남아 있으면, 한 개분의 트랜잭션분의 정보를 읽은 후 그 트랜잭션의 데이터를 데이터 저장 FIFO(204)로부터 읽어서 이중 포트 메모리(207)에 저장하고, 스탠바이 로칼버스 정합부(205)에 시작 신호를 알려주며, 스탠바이 로칼버스 정합부(205)는 다시 버스권을 잡은 후 데이터 이동을 시작한다. 이러한 작업을 계속해서 반복한다.
제3도는 상술한 고속 데이터 전송장치의 액티브 블록을 확대도시한 도면으로서, 이를 참조하여 액티브 블록의 동작 특히, 액티브 버스 획득부의 동작을 보다 상세히 설명한다. 액티브 로칼버스 정합부(201)에서는 자기가 원하는 메모리 영역의 라이트 트랜잭션이 발생하면 이를 데이터 저장 FIFO(203)에 저장한다. 이때, 해당 트랜잭션의 에러 유무, 및 해당 트랜잭션이 몇 개로 구성되어 있는지의 정보를 정보 저장 FIFO(204)에 저장한다. 데이터 저장 FIFO(203)에 라이트 데이터를 저장시 각 트랜잭션의 구분을 위해서 별도로 비트를 확장하여 시작 비트를 설정한다. 이 시작 비트는 나중에 스탠바이 버스에서 트랜잭션 정렬 에러로서 사용된다. 이러한 동작은 스탠바이 블록과는 무관하게 계속 수행된다.
만약, 스탠바이 블록에서 전송 속도 차이로 인해 데이터 저장 FIFO(203)에 저장된 데이터를 빨리 가져가지 못해 FIFO 넘침(full)이 발생할 가능성이 있다면, 넘침이 생기기 바로 전에 넘침 정보를 알려주는 프로그램 가능 넘침 신호를 액티브 버스권 획득부(202)를 통하여 감지한다. 이 신호를 받은 액티브 버스권 획득부(202)는 액티브 로칼 버스에 버스권을 요청하고, 버스권 허락을 받으면 그 즉시 버스권을 잡아 버스를 바쁜(busy) 상태로 만들어 액티브 로칼 버스에 더 이상의 라이트 동작이 일어나지 않도록 한다. 이때, 데이터 저장 FIFO(203)에 저장된 데이터의 양이 일정수준 이하로 떨어지면, 버스 비지(busy)를 놓고 다시 액티브 쪽에서 라이트 동작이 계속되도록 한다. 그 결과, 액티브 블록과 스탠바이 블록과의 메모리 전송 속도가 일치하지 않는 경우에도 FIFO 넘침을 방지할 수 있다.
제4도는 고속 데이터 전송장치의 스탠바이 블록을 확대 도시한 도면으로서, 한 개분의 트랜잭션이 저장되는 이중 포트 메모리(207)와, 액티브 블록의 정보 저장 FIFO(204)에서 한 개 이상의 트랜잭션이 있으면 데이터 정보 FIFO(203)로부터 데이터를 읽어서 이중 포트 메모리(207)에 한 개분의 트랜잭션을 옮기는 트랜잭션 이동부(206)와, 이중 포트 메모리(207)에 이동된 한 개분으 트랜잭션을 스탠바이 로칼 시스템 버스의 로칼 메모리에 저장하는 스탠바이 로칼버스 정합부(205)로 구성된다.
이러한 구성을 갖는 제4도를 참조하여, 그 동작을 살펴본다. 먼저, 트랜잭션 이동부(206)에서는 항상 정보 저장 FIFO(204)를 감시하여 한 개 이상의 데이터가 들어 있으면 그 트랜잭션의 에러 유무, 트랜잭션의 사이즈를 읽어서 그 정보를 트랜잭션의 개수만큼 이중 포트 메모리(207)로 이동시킨다. 이때, 해당 트랜잭션이 에러가 난 트랜잭션이면 단순히 그 사이즈 정보만큼 데이터 저장 FIFO(203)에서 읽기 동작만을 수행하여 버려 버린다. 한 개분의 트랜잭션을 이중 포트 메모리(207)에 옮기면 이중 포트 메모리(207)에 유효 데이터가 준비도었다는 시작 신호를 스탠바이 로칼버스 정합부(205)에 알려준다. 스탠바이 로칼버스 정합부(205)에서는 트랜잭션 이동부(206)로부터 시작 신호를 받으면 그 즉시 스탠바이 버스에 버스권을 요청하여 버스를 잡고, 이중 포트 메모리(207)에서 데이터를 읽어 라이트 트랜잭션을 수행한다. 이중 포트 메모리(207)에서 데이터를 읽을 때, 트랜잭션 시작 비트가 맞지 않으면 전송 에러가 생겼음을 액티브 로칼버스 정합부에 알려준다. 액티브 로칼버스 정합부(201)는 이 정보를 인터럽트 처리하여 상위 액티브 CPU 블록에 알려준다. 한편, 이중 포트 메모리(207)에서 데이터를 읽어서 스탠바이 로칼버스에 국부적인 라이팅 에러가 발생하면, 다시 이중 포트 메모리(207)에서 처음부터 시작을 하고 정상적으로 트랜잭션을 종료하면 트랜잭션 이동부(206)에 종료신호를 준다.
이와 같이, 본 발명은 동기 로칼 버스에서 일어나는 여러 가지 CPU 트랜잭션 동작 가운데 쓰기(write) 동작에 한해서, 특정 영역 또는 전 메모리 영역을 감시하다가 라이팅이 일어나면 이를 데이터 저장 FIFO에 저장하였다가 백 플레인 버스를 통하여 스탠바이쪽 로칼 버스에 동일한 라이트 트랜잭션을 발생시킴으로써 액티브, 스탠바이 블록의 메모리 맵을 일치시키는 것이다.
이상 설명한 바와 같이, 본 발명에 의하면 별도의 소프트웨어적인 추가 액션 없이, 또한 데이터 저장을 위한 FIFO 용량의 증가없이 하드웨어적으로 라이트 트랜잭션 트래픽을 감소시킴으로써, FIFO 넘침을 방지할 수 있다.
Claims (1)
- 액티브 블록과 스탠바이 블록으로 구별된 두 CPU 시스템의 동기 버스간의 고속 데이터 전송장치에 있어서, 데이터 저장 FIFO에 저장된 각각의 트랜잭션의 크기 및 에러 정보를 저장하는 정보 저장 FIFO; 액티브 로칼 버스의 정합 기능을 수행하고 해당 라이트(write) 트랜잭션을 감지하여 이를 상기 데이터 저장 FIFO에 저장하는 액티브 로칼 버스 정합수단; 상기 데이터 저장 FIFO의 프로그래머블 풀(programable full) 신호를 이용하여 일정 이상의 데이터가 데이터 저장 FIFO에 차면 액티브 로칼버스의 버스권을 획득하여 강제로 버스권을 잡아 액티브 로칼 버스상의 라이트 트랜잭션 트래픽을 감소시키기 위한 FIFO 풀 감시 및 액티브 버스권 획득수단; 상기 액티브 버스에서 일어나는 라이트 트랜잭션 한 개분의 데이터를 데이터 저장 FIFO로부터 읽어 스탠바이 블록의 이중 포트 메모리에 이동시켜 스탠바이 버스의 로칼 메모리에 라이트 트랜잭션 수행 시 에러가 나더라도 정보 유실없이 다시 이중 포트 메모리에 재 전송하는 트랜잭션 이동수단; 및 상기 이중 포트 메모리에 저장된 한 개분의 트랜잭션을 스탠바이 로칼 버스로 정합하기 위한 스탠바이 로칼버스 정합부를 포함하는 것을 특징으로 하는 데이터 전송장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960047124A KR0176096B1 (ko) | 1996-10-21 | 1996-10-21 | 동기 버스간의 고속 데이터 전송장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960047124A KR0176096B1 (ko) | 1996-10-21 | 1996-10-21 | 동기 버스간의 고속 데이터 전송장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980028132A KR19980028132A (ko) | 1998-07-15 |
KR0176096B1 true KR0176096B1 (ko) | 1999-05-15 |
Family
ID=19478216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960047124A KR0176096B1 (ko) | 1996-10-21 | 1996-10-21 | 동기 버스간의 고속 데이터 전송장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0176096B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020033254A (ko) * | 2000-10-30 | 2002-05-06 | 구자홍 | 이중화 프로세서의 흐름 제어장치 및 방법 |
KR100474704B1 (ko) * | 2002-04-29 | 2005-03-08 | 삼성전자주식회사 | 데이터의 버스트 동시쓰기가 가능한 프로세서 이중화 장치 |
-
1996
- 1996-10-21 KR KR1019960047124A patent/KR0176096B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19980028132A (ko) | 1998-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2307816C (en) | Buffering data that flows between buses operating at different frequencies | |
US5133062A (en) | RAM buffer controller for providing simulated first-in-first-out (FIFO) buffers in a random access memory | |
US4949301A (en) | Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs | |
JP2514208B2 (ja) | ホットスタンドバイメモリ−コピ−方式 | |
US5594877A (en) | System for transferring data onto buses having different widths | |
US5732238A (en) | Non-volatile cache for providing data integrity in operation with a volatile demand paging cache in a data storage system | |
US6493773B1 (en) | Data validity measure for efficient implementation of first-in-first-out memories for multi-processor systems | |
US4282572A (en) | Multiprocessor memory access system | |
EP0466339A2 (en) | A method of passing task messages in a data processing system | |
EP0397476A2 (en) | Error logging data storing system | |
CN100470524C (zh) | 一种小容量fifo存储器的数据搬移触发装置和方法 | |
US20010047439A1 (en) | Efficient implementation of first-in-first-out memories for multi-processor systems | |
KR0176096B1 (ko) | 동기 버스간의 고속 데이터 전송장치 | |
JP2005267148A (ja) | メモリ制御装置 | |
US6434592B1 (en) | Method for accessing a network using programmed I/O in a paged, multi-tasking computer | |
JPH0427583B2 (ko) | ||
JP3162459B2 (ja) | データ処理装置 | |
JP2713528B2 (ja) | 記憶装置容量の無中断拡張方法 | |
KR0150068B1 (ko) | 데이터 큐 모듈 및 그 제어방법 | |
JPH0324634A (ja) | 二重系システム装置 | |
US5617544A (en) | Interface having receive and transmit message label memories for providing communication between a host computer and a bus | |
JP2834948B2 (ja) | データ転送方式 | |
JP3273191B2 (ja) | データ転送装置 | |
JPH0675796A (ja) | パリティエラー記録装置 | |
JPS6235146B2 (ko) |
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: 20041101 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |