Nothing Special   »   [go: up one dir, main page]

KR100199020B1 - 고속병렬컴퓨터용 부트 에뮬레이션 방법 - Google Patents

고속병렬컴퓨터용 부트 에뮬레이션 방법 Download PDF

Info

Publication number
KR100199020B1
KR100199020B1 KR1019960062352A KR19960062352A KR100199020B1 KR 100199020 B1 KR100199020 B1 KR 100199020B1 KR 1019960062352 A KR1019960062352 A KR 1019960062352A KR 19960062352 A KR19960062352 A KR 19960062352A KR 100199020 B1 KR100199020 B1 KR 100199020B1
Authority
KR
South Korea
Prior art keywords
boot
firmware
function
device driver
function call
Prior art date
Application number
KR1019960062352A
Other languages
English (en)
Other versions
KR19980044285A (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 KR1019960062352A priority Critical patent/KR100199020B1/ko
Publication of KR19980044285A publication Critical patent/KR19980044285A/ko
Application granted granted Critical
Publication of KR100199020B1 publication Critical patent/KR100199020B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 고속병렬컴퓨터의 MPE 보드의 EPROM에 장착될 펌웨어의 기능을 개인용 컴퓨터로 구성된 테스트베드에서 부트 에뮬레이션을 수행하는 방법에 관한 것으로, 고속 병렬컴퓨터의 부트 기능 및 펌웨어 기능을 개인용 컴퓨터로 구성된 테스트베드에서 에뮬레이션학 위한 부트 에뮬레이션 방법에 있어서, 부트 플로피 디스크에 부트 에뮬레이터 코드를 기록하여 시스템 기동과 동시에 부트 에뮬레이터 코드가 메모리에 적재되어 동작할 수 있도록 하는 제1단게와, 상기한 부트 에뮬레이터(20)의 초기화 과정에서 테이프 장치 구동기(25)를 부트 플로피 디스크로부터 추가로 적재하고, 함수 호출 테이블과 장치 구동기 테이블을 작성 관리하는 제2단계와, 펌웨어로부터 함수 호출 또는 부트 처리 요구를 받아, 부트 처리기(21)가 펌웨어 함수 호출 처리기(23)에 의해 테이프 장치 구동기(25) 및 실제 모드에서의 BIOS호출을 수행하도록 하고, 보호 모드로 복귀한 후 함수 반환값을 정리하여 함수 호출 위치로 복귀하도록 하는 제3단계로 구성된 것을 특징으로 한다.

Description

고속병렬컴퓨터용 부트 에뮬레이션 방법
본 발명은 고속병렬컴퓨터용 브트 에뮬에이션 방법에 관한 것으로, 특히, 고속 병렬컴퓨터의 MPE(Main Processing Engine)보드의 EPROM 에 장착될 펌웨어의 기능을 개인용 컴퓨터로 구성된 테스트배드에서 부트 에뮬레이션을 수행하는 방법에 관한것이다.
일반적으로, 고속 병렬컴퓨터는 개인용 컴퓨터의 마더보드와 비슷하게 구성된 다수의 노드로 구성되어 있으며, 8개의 노드들이 하나의 클러스터를 형성하고, 이들 클러스터가 최대 16개로 구성되는 클러스터링 시스템이다. 이때, 각 노드들은 MPE보드에 XNIF(Crossbar Network Interface)에 의해 서로 연결된 구조를 가지고 있으며, 메시지 전송에 의해 노드들간의 통신을 수행하도록 되어 있다. 또한 , 각 노드는 공통으로 MPE보드를 가지고, 4개까지의 팬티움 프로 칩츨 프로세서로 사용하며, 최대 1기가 바이트의 지역 공유메모리를 가지고 있고, 2개의 직렬 포트와 1메가 바이트의 비휘발성 메모리 및 TOCD(Time-of-Day Clock)등과 같이 개인용 컴퓨터의 마더 보드가 구비한 하드웨어 자원을 대부분 사용하는 구조를 지니고 있다.
한편, 개인용 컴퓨터에서 사용하는 BIOS(Basic Input Output System)호출은, DOS(Disk Operating System)에서 사용할 경우에 제조회사가 다른 여러 종류의 확장 보드들을 사용할 수 있도록 인터페이스를 제공한다는 장점이 있는 반면에, 소프트웨어 인터럽트 처리에 의한 오버헤드로 인해 시스템의 성능을 크게 저하시키는 단점이 있다. 그러나,고속병렬컴퓨터의 펌웨어와 같이 펌웨어 호출리 보호 모드(Protected Mode)에서 직접 하드웨어를 제어하게 되면 성능이 대폭 향상된다. 즉, 하드 디스크로부터 운영체제를 부팅하는 경우에, 부팅 처리과정에서 펌웨어 호출에 의해 디스크 읽기를 요청하므로, 펌웨어 호출에 따른 오버헤드를 줄여 줌으로써, 6메가 바이트 이상이나 되는 고속병렬컴퓨터용 운영체제의 부팅 소요시간을 줄일 수 있다.
상기한 바아 같이, 고속병렬컴퓨터의 MPE 보드가 개인용 컴퓨터의 마더 보드가 갖고 있는 자원들을 많이 이용하고 있지만, 자원의 관리 및 사용방법에 있엇는 개인용 컴퓨터와 많은 차이가 있다. 개인용 컴퓨터가 BIOS와 이것을 이용하는 운영체제로 동작하는 반면에, 고속병렬컴퓨터는 보호 모드로 동작하는 펌웨어에 의해 하드 디스크로부터 운영체제를 부팅하며, 직렬 포트에 접속된 일반 터미널로 사용자와 인터페이스해야 한다.
즉, 대부분의 개인용 컴퓨터의 마더 보드와 시스템 슬롯에 추가된 장치들의 BIOS가 제공하는 하드웨어 초기화 및 장치 구동기가 실제 모드(Real Mode)에서 동작하며 DOS화일 시스템으로부터 운영체제를 부팅하는 방식이나 하드 디스크에 추가로 사용하는 UNIX화일 시스템으로부터 UNIX운영체제를 부팅하기 위해 2단계부팅 과정중에 모드 변환에 의해 처리하는 방식과는 달리, 보호 모드로만 동작하게 되어 있는 고속병렬컴퓨너의 특성과, 개인용컴퓨터의 기본인 BIOS및 추가 장착 보드의 확장 BIOS를 사용할 수 없는 고속 병렬컴퓨터에서는, 펌웨어가 모든 장치 구동기를 제공하여야 한다.
그러나, 펌웨어의 개발에는 많은 시간이 소요되며, MPE 보드가 완성되어야 시험이 가능할 뿐만 아니라, 다양한 추가 장치들에 대한 장치 구동기를 개발 하기란 매우 어려운 문제점이 있다.
결국, 본 발명은 상기한 문제점을 해결하기 위해 주어진 것으로, 본 발명의 주된 목적은, 펌웨어와 BIOS사이에 부트 에뮬레이터를 설치하여 개인용 컴퓨터를 테스트베드로 사용하면서 하드웨어 종속적인 부분을 에뮬레이션하여 고속병렬컴퓨터의 사용 환경을 제공함으로써, 고속병렬컴퓨터의 펌웨어를 개발하는 과정에서 펌웨어에 포함시킬 기능의 시험을 가능하게 함은 물론 EPROM 의 프로그래밍 과정을 줄여 주고, 고속병렬컴퓨터에 맞도록 개발된 부팅 과정 및 운영체제를 테스트베드에서 확인 및 수정하여 하드웨어가 완성 되기 이전에 시험이 가능하도록 하는, 고속병렬컴퓨터용 부트 에뮬레이션 방법을 제공함에 있다.
본 발명의 또다른 목적은, 테스트베드와 고속병렬컴퓨터의 하드웨어 자원 및 동작상의 차이점을 반영하여 복잡한 부팅 절차를 조기에 확인 고정시키고, 펌 웨어 및 부팅 과정이 운영체제에게 넘겨줄 내용들으 테스트베드에서 확인하며, 하드웨어 자원의 접근과 하드웨어 인증 시험의 조기 개발을 위한 도구를 제공할 수 있는, 고속병렬컴퓨터용 부트 에뮬레이션 방법을 제공함에 있다.
제1도는 본 발명에 따른 부트 에뮬레이터의 계층적 구조도.
제2도는 본 발명에 따른 부트 에뮬레이터의 초기화 부분에 대한 흐름도.
제3도는 본 발명에 있어서 펌웨어 함수 호출시, 부트 에뮬레이터가 하드웨어에 접근하는 절차를 나타낸 흐름도.
* 도면의 주요부분에 대한 부호의 설명
10 : 펌웨어 모니터 20 : 부트 에뮬레이터
21 : 부트 처리기 22 : 초기화
23 : 펌웨어 함수 호출기 24 : 구동기 적재기
25 : 테이프 구동기 30 : BIOS
40 : 하드웨어
상기한 목적을 달성하는, 본 발명에 따른 고속병렬컴퓨터용 부트 에뮬레이션 방법은, 고속병렬컴퓨터의 부트 기능 및 펌웨어 기능을 개인용 컴퓨터로 구성된 테스트베드에서 에뮬레이션하기 위한 부트 에뮬레이션 방법에 있어서, 부트 플로피 디스크에 부트 에뮬레이터 코드를 기록하여 시스템 기동과 동시에 부트에뮬레이터 코드가 메모리에 적재되어 동자갈 수 있도록 하는 제1단계와, 상기한 부트 에뮬레이터의 초기화 과정에서 테이프 장치 구동기를 부트 플로피 디스크로부터 추가로 적재하고, 함수 호출 테이블과 장치 구동기 테이블을 작성 관리하는 제2단계와, 펌웨어로부터 함수 호출 또는 부트 처리 요구르르 받아, 부트 처리기가 펌웨어 함수 호출 처리기에 의해 테이프 장치 구동기 및 실제모드에서의 BIOS호출을 수행하도록 하고, 보호 모드로 복귀한 후 함수 반환값을 정리하여 하수 호출 위치로 복귀하도록 하는 제3단계로 구성된 것을 특징으로 한다.
본 발명에서는, 부트 에뮬레이션 코드를 부트 플로피 디스크에 기록하여 플로피 부팅 방식에 의해 메모리에 적재되도록 하여, 쉽게 개인용 컴퓨터에서 이용할 수 있게 한다. 고속병렬컴퓨터의 펌웨어의 분량이 커짐에 따라, 일시에 에뮬레이션 코드를 적재하게되면, 플로피 디스크의 속도에 따라 에뮬레이션 코드를 적재하는데 소요되는 시간이 길어지며 개인용 컴퓨터의 메모리 운영 방식에 따라 모두 적재할 수가 없게 된다. 따라서, 본 발명에서는, 부트 에뮬레이션 코드를 초기화 및 펌웨어 함수 호출 기능, 테이프 구동기와 펌웨어 모니터로 구성되는 3단계 부팅 방법을 적용하여 각각 적재될 메모리를 분리함으로써, 필요한 기능을 선택적으로 수행시킬수 있게 한다.
이하, 본 발명의 바람직한 실시예에 따른, 고속병렬컴퓨터용 부트 에뮬레이션 방법에 대하여 첨부도면을 참조하여 보다 상세히 설명한다.
제1도는 본 발명에 다른 부트 에뮬레이터의 계층적 구조도로서, 개인용 컴퓨터의 마더 보드에 포함된 하드웨어(40) 자원과 그 하드웨어(40)를 제어하는 BIOS(30) 위에 부트 에뮬레이터(20)를 부트 플로피 디스크로부터 적재한 이후에, 고속병렬컴퓨터용 펌웨어를 소프트웨어 방식으로 탑재하여 펌웨어 모니터(10) 및 운영체제 부팅 기능을 시험하는 환경을 나타낸 것이다.
제1도에 도시된 바와 같이, 부트 에뮬레이터(20)는 부트 처리기(21), 초기화(22), 펌웨어 함수 호출 처리기(23), 구동기 적재기(24) 및 테이프 구동기(25)의 6가지의 기능에 따라 분리 구성할 수 있다. 이중에서, 부트 처리기(21)는 펌웨어의 부트 요구에 대해 고속병렬컴퓨터가 인식할 수 있는 부트 장치 번호를 장치 구동기 테이블에서 정한 테스트베드의 장치 번호로 변환하여, 펌웨어 함수 호출 처리기(23)에 디스크나 테이프로부터의 읽기 요구를 수행하는 부분이다.
제2도는 본 발명에 따른 부트 에뮬레이터의 초기화 부분에 대한 흐름도이다.
제2도에 도시된 바와 같이, 부트 에뮬레이터(20)는 보호 모드로 진입한 다음(S11), 메모리에 적재된 이후에 제어권을 개인용 컴퓨터의 ROM BIOS(30)로부터 이어받아 펌웨어 함수 호출을 위한 테이블을 작성한다(S12).
그후, 테이프 구동기(25)가 필요한지를 판별하여(S13), 시스템 설치와 같이 테이프 장치의 사용이 필요한 경우에 대해서는 테이프 장치 구동기(25)를 부트 플로피 디스크의 나머지 부분으로부터 구동기 적재기(24)를 이용하여 메모리에 읽어 들이고(S14), 장치 구동기 테이블을 작성하여 부트 장치 요구시 사용하도록 준비한다(S15). 이 과정에서 작성되는 함수 호출 테이블 및 장치 구동기 테이블은 BIOS에 의해 예약되어 있으나, 사용하지 않는 영역인 0x200번지부터 기록하여 펌웨어 함수 호출시 사용할 수 있도록 한다.
제3도는 본 발명에 있어서 펌웨어 함수 호출시 부트 에뮬레이터(20)가 BIOS(30) 및 테이프 장치 구동기(25)를 통해 하드웨어(40)에 접근하는 절차를 나타내는 흐름도이다.
제3도에 도시된 바와 같이, 펌웨어나 부트 처리기(21)에 의해 함수 호출을 받으면, 펌웨어 함수 호출 처리기(23)는 호출 함수 의 요구를 처리하기 위해, 요구 대상에 따라 BIOS 호출(CALL)이 필요한지, 아니면 테이프 장치 구동기(25)나 직접 하드웨어(40)자원에 접근해야 하는지를 판별한다(S21).
그후, BIOS 호출에 의해 함수 호출에 대한 서비스를 해야 하는경우에는, BIOS(30)가 실제 모드에서 동작하도록 되어 있으므로 실제 모드로 진입하여(S22), BIOS 호출에 의해 BIOS(30)가 제공하는 서비스를 이용하여 하드웨어(40)제어를 하고(S23), 보호 모드에서만 동작하는 펌웨어로 되돌아가기 위해 보호 모드로 복귀한다(S24). 한편, 테이프 장치 구동기(25)가 필요한 경우에는, 구동기를 호출한다(S25).
상기한 과정에 따라, 하드웨어 제어를 위한 서비스가 완료된 후에, 함수를 호출한 펌웨어로 복귀하기 전에 요구한 서비스의 결과에 대한 함수 반환값을 정리하여(S26), 함수를 호출할때 정해준 레지스터나 메모리에 반영하여 서비스를 완료 한다.
한편, 개인용 컴퓨터의 부트 장치는 플로피 디스크와 하드 디스크이나, 고속 병렬컴퓨터에는 플로피 디스크 드라이브가 없으며, 그 대신에 시스템 설치시에 사용하기 위해 4밀리 DAT(Digital Audio Tape)를 사용한다. 개인용 컴퓨터의 BIOS에는 테이프 장치에 대한 장치 구동기 및 인터페이스가 없으므로 테이프를 사용한 시스템 설치를 할 수 없다. 따라서, 본 발명에서는 이를 해결하기 위해 호스트 시스템과 직렬 포트를 이용해 테이프 장치를 에뮬레이션하거나 SCSI 장치 구동기에 테이프 장치 구동기 를 포함시키는 방식으로 해결할 수 있다. 에뮬레이션 방식이 테이프 장치 구동기는 직렬 포트를 이용하므로 접근 시간이 너무 길어 합리적인 방식을 아니지만, SCSI 장치 구동기의 개발에 앞서 시스템 설치를 확인하기 위해 사용할 수 있다.
상기한 본 발명은 부트 플로피 디스크에 에뮬레이션 코드를 담아 부팅하여 동작할 수 있도록 구성함으로써, 펌웨어를 개발하는 과정에서 기능 변경 및 추가에 따르는 EPROM프로그래밍의 복잡한 과정을 생략할 수 있다.
또한, 본 발명에서와 같이, 개인용 컴퓨터를 사용하여 테스트베드를 구성하고 부트 에뮬레이터를 이용하면, 고속병렬컴퓨터용 펌웨어 및 부트 기능을 조기에 시험하고 운영체제와의 인터페이스르 확정할 수 있으므로,고속병렬컴퓨터용 펌웨어 및 운영체제 개발으 일정르 대폭적으로 단축할 수 있을 뿐 아니라, 안정된 운영체제를 시험할 수 있는 환경을 제공할 수 있다.

Claims (1)

  1. 고속병렬컴퓨터의 부트 기능 및 펌웨어 기능을 개인용 컴퓨터로 구성된 테스트베드에서 에뮬레이션하기 위한 부트 에뮬레이션 방법에있어서, 부트 플로피 디스크에 부트 에뮬레이터 코드를 기록하여 시스템 기동과 동시에 부트 에뮬레이터 코드가 메모리에 적재되어 동작할 수 있도록 하는 제1단계와, 상기한 부트 에뮬레이터의초기화 과정에서 테이프 장치 구동기를 부트 플로피 디스크로부터 추가로 적재하고, 함수 호출 테이블과 장치 구동기 테이블을 작성 관리하는 제2단계와, 펌웨어로부터 함수 호출 또는 부트 처리 요구를 받아, 부트 처리기가 펌웨어 함수 호출 처리기에 의해 테이프 장치 구동기 및 실제 모드에서의 BIOS 호출을 수행하도록 하고, 보호 모드로 복귀한 후 함수 반환값을 정리하여 함수 호출 위치로 복귀하도록 하는 제3단계로 구성된 것을 특징으로 하는, 고속병렬컴퓨터용 부트 에뮬레이션 방법.
KR1019960062352A 1996-12-06 1996-12-06 고속병렬컴퓨터용 부트 에뮬레이션 방법 KR100199020B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960062352A KR100199020B1 (ko) 1996-12-06 1996-12-06 고속병렬컴퓨터용 부트 에뮬레이션 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960062352A KR100199020B1 (ko) 1996-12-06 1996-12-06 고속병렬컴퓨터용 부트 에뮬레이션 방법

Publications (2)

Publication Number Publication Date
KR19980044285A KR19980044285A (ko) 1998-09-05
KR100199020B1 true KR100199020B1 (ko) 1999-06-15

Family

ID=19486153

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960062352A KR100199020B1 (ko) 1996-12-06 1996-12-06 고속병렬컴퓨터용 부트 에뮬레이션 방법

Country Status (1)

Country Link
KR (1) KR100199020B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102173158B1 (ko) 2019-12-16 2020-11-03 이종훈 공장용 전등에 적용되는 높이 조절식 지주대

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100601164B1 (ko) * 1999-01-15 2006-07-13 삼성전자주식회사 플래시 롬을 이용한 에뮬레이터 및 펌웨어 업그레이드 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102173158B1 (ko) 2019-12-16 2020-11-03 이종훈 공장용 전등에 적용되는 높이 조절식 지주대

Also Published As

Publication number Publication date
KR19980044285A (ko) 1998-09-05

Similar Documents

Publication Publication Date Title
US6269409B1 (en) Method and apparatus for concurrent execution of operating systems
US6874060B2 (en) Distributed computer system including a virtual disk subsystem and method for providing a virtual local drive
US4787026A (en) Method to manage coprocessor in a virtual memory virtual machine data processing system
US5953516A (en) Method and apparatus for emulating a peripheral device to allow device driver development before availability of the peripheral device
JP4001877B2 (ja) 入出力ファブリックにおけるハードウェア・エラーからの自動回復
US5765198A (en) Transparent relocation of real memory addresses in the main memory of a data processor
CA2010591C (en) Kernels, description tables and device drivers
US5761458A (en) Intelligent bus bridge for input/output subsystems in a computer system
US4747040A (en) Dual operating system computer
US6629157B1 (en) System and method for virtualizing the configuration space of PCI devices in a processing system
ES2336892T3 (es) Sustitucion logica del control del procesador en un entorno informatico emulado.
US5418918A (en) Scanning initial CD-ROM sectors for a boot record and executing said boot record to load and execute floppy disk image corresponding to the existing floppy drive
EP0948768B1 (en) System for facilitating data i/o between usb input device and non-usb cognition application
EP1125212B1 (en) Apparatus and method for handling peripheral device interrupts
JPH08249191A (ja) ブート方法及び装置
US20040221200A1 (en) Apparatus and method for debugging a logical partition
US5276884A (en) Controlling the initiation of logical systems in a data processing system with logical processor facility
US5710941A (en) System for substituting protected mode hard disk driver for real mode driver by trapping test transfers to verify matching geometric translation
US5832246A (en) Virtualization of the ISA bus on PCI with the existence of a PCI to ISA bridge
US20060294149A1 (en) Method and apparatus for supporting memory hotplug operations using a dedicated processor core
KR100316190B1 (ko) 로컬 메모리에서 패킷화된 동작 정보의 기억을 통한 입출력 성능을 증가시키기 위한 시스템
KR100199020B1 (ko) 고속병렬컴퓨터용 부트 에뮬레이션 방법
EP0744051A1 (en) I/o decoder map
JPS6364133A (ja) 情報処理システム
JPH05120118A (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: 20080303

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee