KR20020008955A - 버스 시스템 및 그 실행 순서 조정방법 - Google Patents

버스 시스템 및 그 실행 순서 조정방법 Download PDF

Info

Publication number
KR20020008955A
KR20020008955A KR1020000042000A KR20000042000A KR20020008955A KR 20020008955 A KR20020008955 A KR 20020008955A KR 1020000042000 A KR1020000042000 A KR 1020000042000A KR 20000042000 A KR20000042000 A KR 20000042000A KR 20020008955 A KR20020008955 A KR 20020008955A
Authority
KR
South Korea
Prior art keywords
execution
access command
command
slave device
access
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020000042000A
Other languages
English (en)
Other versions
KR100708096B1 (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 KR1020000042000A priority Critical patent/KR100708096B1/ko
Priority to GB0031289A priority patent/GB2365288B/en
Priority to CNB001364626A priority patent/CN100341012C/zh
Priority to JP2001017591A priority patent/JP4184614B2/ja
Priority to US09/774,009 priority patent/US6782439B2/en
Publication of KR20020008955A publication Critical patent/KR20020008955A/ko
Application granted granted Critical
Publication of KR100708096B1 publication Critical patent/KR100708096B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 발명은, 버스 시스템 및 그 실행순서 조정방법에 관한 것이다.
본 발명에 따른 버스 시스템의 실행순서 조정방법은, (a) 적어도 하나의 마스터 디바이스로부터의 억세스 커맨드를 대응 슬래이브 디바이스에 전달하는 단계; (b) 상기 슬래이브 디바이스로 전달된 억세스 커맨드를 저장하는 단계; 및 (c) 상기 슬래이브 디바이스 중 실행준비가 완료된 순서에 따라 상기 억세스 커맨드를 실행시키는 단계를 포함한다. 이에 의하여, 억세스 커맨드의 실행순서를 조정함으로써 데이터 처리속도가 보다 향상된 버스 시스템 및 그 실행순서 조정방법이 제공된다.

Description

버스 시스템 및 그 실행순서 조정방법{Bus system and execution scheduling method for access commands thereof}
본 발명은, 버스 시스템 및 그 실행순서 조정방법에 관한 것으로, 보다 상세하게는, 복수의 마스터 디바이스 및 복수의 슬래이브 디바이스를 포함하는 버스 시스템에 있어서, 실행준비가 완료된 슬래이브 디바이스 순서대로 상기 마스터 디바이스로부터의 커맨드가 실행되도록 하는 버스 시스템 및 그 실행순서 조정방법에 관한 것이다.
일반적으로, 버스 시스템에 있어서 다른 디바이스에게 명령의 수행을 요구하는 디바이스를 마스터 디바이스, 마스터 디바이스로부터 명령의 수행이 요구되는 디바이스를 슬래이브 디바이스라고 부른다. 대표적인 마스터 디바이스와 슬래이브 디바이스로는 프로세서와 메모리를 들 수 있다. 마스터 디바이스와 슬래이브 디바이스는 버스를 통해 서로 커뮤니케이션한다. 즉, 마스터 디바이스로부터의 커맨드는 버스를 통해 슬래이브 디바이스로 전달되고, 슬래이브 디바이스로부터 마스터 디바이스로 소정 데이터가 전송되거나 마스터 디바이스로부터 슬래이브 디바이스로 소정 데이터가 전송됨으로써 전달된 커맨드는 실행완료된다.
근래 컴퓨팅 시스템은 보다 우수한 처리 속도를 얻기 위해 복수의 프로세서를 채용하는 경우가 많다. 이들 복수의 프로세서들은 마스터 디바이스로서, 메모리와 같은 슬래이브 디바이스로 데이터를 전송하거나 전송받는다. 따라서 프로세서간의 버스의 사용을 중재하기 위한 다양한 중재방식이 개발되어 적용되고 있다.
그러나, 종래 다양한 중재방식은 모두 어드레스/제어버스 및 데이터버스의 소유권을 중재대상으로 한다. 다시 말해, 중재기는 버스의 소유권에 대한 중재역할을 할 뿐이며, 버스에 대한 제어권한 및 사용권한은 그 시점에서의 마스터 디바이스가 갖게 된다. 마스터 디바이스는 또한 슬래이브 디바이스의 각종 응답을 적절히 처리해야 할 책임을 지게 된다. 다시 말해, 중재기의 중재알고리즘에 따라 데이터버스 및 어드레스/제어버스의 소유권이 특정 마스터 디바이스에게 주어지면, 당해 마스터 디바이스는 커맨드의 실행을 완료할 때까지 데이터버스와 어드레스/제어버스를 독점한다.
이에 따라, 입출력 디바이스에 연결되어 있는 입출력버스, 부트롬(Boot ROM)에 접속되어 있는 롬버스 등, 메인 데이터버스보다 전송대역폭이 좁은 기타 다양한 로컬 데이터버스에 연결된 슬래이브 디바이스에 대한 커맨드를 실행하고자 하는 경우, 메인 데이터버스의 아이들클럭이 발생하게 된다. 즉, 전송되어야 할 데이터가 메인 데이터버스에 비해 전송속도가 느린 로컬 데이터버스를 통과할 때까지(커맨드가 실행완료될 때까지) 메인 데이터버스는 당해 커맨드를 발한 마스터 디바이스에 의해 독점되기 때문이다. 메인 데이터버스로부터 로컬 데이터버스로 데이터가 전송되는 라이트 커맨드의 경우, 메인 데이터버스와 로컬 데이터버스 사이에 마련된 브리지 디바이스에 데이터를 보관하고 마스터 디바이스의 메인 데이터버스의 독점을 완료시킴으로써 메인 데이터버스의 아이들클럭을 감소시킬 수 있다. 그러나, 입출력버스로부터 메인 데이터버스로 데이터가 전송되어 오는 리드 커맨드의 경우, 데이터는 메인 데이터버스를 통과하여 마스터 디바이스에게 전달되어야 하므로, 로컬 데이터버스로부터 전송되어 오는 데이터를 메인 데이터버스로 넘겨받을 때까지 마스터 디바이스는 메인 데이터버스를 아이들시키면서 기다려야만 한다. 이에 따라, 메인 데이터버스의 아이들클럭이 다수 발생되고, 이는 전체 시스템의 동작속도가 느려지게 되는 큰 원인의 하나가 되고 있다.
한편, 복수의 슬래이브 디바이스에 대해 복수의 데이터버스를 구비한 버스 시스템의 경우라하더라도, 중재기의 중재알고리즘에 따른 순서대로 커맨드가 실행되므로, 데이터버스가 비어있어 대응 슬래이브 디바이스가 커맨드를 실행할 수 있음에도 불구하고 중재기를 통해 버스에 대한 소유권을 얻게 될 때까지 기다려야 하는 문제점이 있다. 커맨드의 실행을 위해 어드레스/제어버스의 점유와 데이터버스의 점유의 간격(지연시간:latency time)이 상대적으로 긴 SDRAM 등의 슬래이브 디바이스의 경우 특히 그러하다.
따라서, 본 발명의 목적은, 커맨드의 실행순서를 조정함으로써 시스템의 데이터 처리속도가 보다 향상된 버스 시스템 및 그 실행순서 조정방법을 제공하는 것이다.
도 1은 본 발명의 바람직한 실시예에 따른 버스 시스템의 개략도,
도 2는 도 1의 실행스케줄러(4) 및 슬래이브 디바이스(21,22,23,24,25)의 블록도,
도 3은 도 2의 실행스케줄러(4) 및 슬래이브 디바이스(21)의 상세 블록도,
도 4는 실행스케줄러(4)의 억세스 커맨드 분배부(41) 및 대응 슬래이브 디바이스에서의 절차를 설명하기 위한 플로우챠트,
도 5는 실행스케줄러(4)의 실행스케줄부(46)에서의 절차를 설명하기 위한 플로우챠트,
도 6은 실행스케줄이 필요한 슬래이브 디바이스에서의 절차를 설명하기 위한 플로우챠트,
도 7은 실행스케줄이 불필요한 슬래이브 디바이스에서의 절차를 설명하기 위한 플로우챠트이다.
* 도면의 주요 부분에 대한 부호의 설명
3: 중재기 4: 실행 스케줄러
11,12,13,14: 마스터 21,22,23,24,25: 슬래이브
41: 억세스 커맨드 분배부 46: 실행 스케줄부
210,220,230,240,250: 실행 커맨드 저장부
211,221,231,241,251: 실행부 212: 실행 커맨드 저장큐
213: 실행 커맨드 저장큐 제어부 410: 커맨드 저장큐
411: 커맨드 저장큐 제어부 460: 식별자 저장큐
461: 식별자 저장큐 제어부 462: 비교기
463: 디코더
상기 목적은, 본 발명에 따라, (a) 적어도 하나의 마스터 디바이스로부터의 억세스 커맨드를 대응 슬래이브 디바이스에 전달하는 단계; (b) 상기 슬래이브 디바이스로 전달된 억세스 커맨드를 저장하는 단계; 및 (c) 상기 슬래이브 디바이스 중 실행준비가 완료된 순서에 따라 상기 억세스 커맨드를 실행시키는 단계를 포함하는 것을 특징으로 하는 억세스 커맨드의 실행순서 조정방법에 의해 달성된다.
상기 (a)단계는, (a1) 상기 억세스 커맨드를 저장하는 단계; 및 (a2) 저장된 억세스 커맨드를 FIFO에 따라 상기 대응 슬래이브 디바이스로 전달하는 단계를 포함하는 것이 바람직하다.
상기 (b)단계는, (b1) 상기 슬래이브 디바이스로부터 실행준비가 완료되었음을 통지받는 단계; 및 (b2) 통지받은 순서에 따라 대응 슬래이브 디바이스에게 상기 억세스 커맨드의 실행시작을 지시하는 단계를 포함하는 것이 바람직하다.
상기 마스터 디바이스로부터의 억세스 커맨드는, 소정 중재기로부터 중재결과에 의해 전달된 것임이 바람직하다.
한편, 본 발명의 다른 분야에 따르면, 상기 목적은, 복수의 마스터 디바이스, 복수의 슬래이브 디바이스, 및 복수의 데이터버스를 포함한 버스 시스템에 있어서, 상기 마스터 디바이스로부터의 억세스 커맨드를 소정 중재결과에 따른 순서대로 출력하기 위한 중재기; 및 상기 중재기로부터 출력된 억세스 커맨드의 대응슬래이브 디바이스에 대해, 실행준비가 완료된 순서에 따라 상기 억세스 커맨드가 실행되도록 대응 데이터버스를 허여하기 위한 실행스케줄러를 포함하는 것을 특징으로 하는 버스 시스템에 의해서도 달성된다.
상기 실행스케줄러는, 상기 중재기로부터 출력된 억세스 커맨드를 대응 슬래이브 디바이스로 전달하기 위한 억세스 커맨드 분배부; 및 상기 억세스 커맨드 분배부에 의해 억세스 커맨드를 전달받은 슬래이브 디바이스 중 실행준비 완료신호를 수신받은 슬래이브 디바이스로 상기 전달된 억세스 커맨드의 실행시작신호를 전송하기 위한 실행스케줄부를 포함하고,
상기 슬래이브 디바이스는, 상기 실행스케줄러로부터 전달된 억세스 커맨드를 저장하기 위한 실행 커맨드 저장부; 및 상기 실행준비 완료신호를 상기 실행스케줄부로 전달하며, 상기 실행시작신호가 수신되면 상기 실행 커맨드 저장부에 저장된 억세스 커맨드를 실행하고, 실행이 완료되면 상기 실행스케줄부로 실행완료신호를 전송하기 위한 실행부를 포함하는 것이 바람직하다.
상기 실행스케줄부는, 상기 억세스 커맨드 분배부를 통해 억세스 커맨드를 전달받은 대응 슬래이브 디바이스의 식별자를 저장하기 위한 식별자 저장부로서, 상기 식별자를 저장하기 위한 적어도 하나의 저장셀을 구비한 식별자 저장큐, 및 상기 식별자 저장큐를 제어하기 위한 식별자 저장큐 제어부; 상기 저장셀에 대응되도록 각각 마련되어 상기 저장셀에 저장된 식별자와 상기 실행준비 완료신호가 전송된 슬래이브 디바이스의 식별자의 동일성 여부를 판단하기 위한 비교기; 및 상기 비교기에 의한 판단결과 식별자가 동일한 경우 상기 실행준비 완료신호가 전송된 슬래이브 디바이스로 상기 실행시작신호를 전송하기 위한 디코더를 구비하는 것이 바람직하다.
상기 억세스 커맨드 분배부는, 상기 중재기로부터 수신된 억세스 커맨드를 저장하기 위한 커맨드 저장부를 더 포함하는 것이 더욱 바람직하다.
그리고, 상기 커맨드 저장부는, 상기 억세스 커맨드를 저장하기 위한 커맨드 저장큐, 및 상기 커맨드 저장큐를 제어하기 위한 커맨드 저장큐 제어부를 포함하며,
상기 실행 커맨드 저장부는, 상기 억세스 커맨드를 저장하기 위한 슬래이브 디바이스 저장큐, 및 상기 슬래이브 디바이스 저장큐를 제어하기 위한 슬래이브 디바이스 저장큐 제어부를 포함하는 것이 더욱 바람직하다.
이하 첨부도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 버스 시스템의 개략도이다.
도 1을 참조하면, 버스 시스템(100)은, 복수의 마스터 디바이스(11,12,13,14), 복수의 슬래이브 디바이스(21,22,23,24,25), 중재기(3), 및 실행스케줄러(4)를 포함한다. 한편, 복수의 마스터 디바이스(11,12,13,14), 및 복수의 슬래이브 디바이스(21,22,23, 24,25)는, 단순화를 위해 도시않은 데이터버스 및 어드레스/제어버스에 의해 연결되어 있다. 데이터버스는, 데이터 전송속도가 서로다른 메인 데이터버스와 로컬 데이터버스를 포함한다.
마스터 디바이스(11,12,13,14)는, 일반적으로 프로세서이며, 슬래이브 디바이스(21,22,23,24,25)는 일반적으로 RAM, ROM 등의 메모리, 입출력 디바이스, 또는 기타 주변장치를 의미한다. 마스터 디바이스(11,12,13,14) 각각은 다른 마스터 디바이스(11,12,13,14)에 대한 슬래이브 디바이스가 될 수 있다. 또한, 마스터 디바이스 및 슬래이브 디바이스의 수는 시스템에 따라 다양하게 변경가능하다.
중재기(3)는, 종래 버스 시스템의 중재기가 어드레스/제어버스에 대한 소유권을 마스터 디바이스에게 허여함으로써 마스터 디바이스가 슬래이브 디바이스를 직접 제어하며 슬래이브 디바이스로부터의 응답을 처리하던 것과 달리, 어드레스/제어버스의 소유권을 마스터 디바이스(11,12,13,14)에게 허여하지 않는다. 즉, 중재기(3)는 마스터 디바이스(11,12,13,14)로부터 출력되는 어드레스, 리드/라이트 플래그, 블록전송되는 데이터의 크기, 비트폭 등 소정 데이터의 전송을 위해 필요한 정보(이하 "억세스 커맨드"라 함)를 수신하여 직접 슬래이브 디바이스(21,22,23,24,25)로 전달하며, 슬래이브 디바이스(21,22,23,24,25)로부터의 응답을 처리한다.
실행스케줄러(4)는, 중재기(3)로부터 전달된 억세스 커맨드를 대응 슬래이브 디바이스(21,22,23,24, 또는 25)로 전송하고, 슬래이브 디바이스(21,22,23,24, 또는 25) 중 전송된 억세스 커맨드의 실행준비가 완료된 슬래이브 디바이스(21,22,23,24, 또는 25) 순서대로 억세스 커맨드가 실행되도록 한다. 여기서, 억세스 커맨드가 실행된다는 의미는 억세스 커맨드가 의도하는 데이터의 전송이 완료됨을 의미한다.
도 2는 도 1의 실행스케줄러(4) 및 슬래이브 디바이스(21,22,23,24,25)의 블록도이다.
도 2를 참조하면, 실행스케줄러(4)는, 중재기(3)로부터 출력된 억세스 커맨드를 대응 슬래이브 디바이스(21,22,23,24, 또는 25)로 전달하기 위한 억세스 커맨드 분배부(41), 및 억세스 커맨드 분배부(41)에 의해 억세스 커맨드가 전달된 슬래이브 디바이스(21,22,23,24, 또는 25) 중 실행준비 완료신호를 전송한 슬래이브 디바이스(21,22,23,24, 또는 25)로 상기 전달된 억세스 커맨드의 실행시작신호를 전송하기 위한 실행스케줄부(46)를 포함한다.
슬래이브 디바이스(21,22,23,24,25)는, 실행 커맨드 저장부(210,220,230,240 ,250), 및 실행부(211,221,231,241,251)를 각각 구비한다.
실행 커맨드 저장부(210,220,230,240,250)는 실행스케줄러(4)로부터 전달된 억세스 커맨드를 저장하고, 실행부(211,221,231,241,251)는 실행스케줄러(4)로부터 실행시작신호가 수신되면 실행 커맨드 저장부(210,220,230,240,250)에 저장된 억세스 커맨드를 각각 실행하며, 실행이 완료되면 실행스케줄부(46)로 실행완료신호를 전송한다.
도 3은 도 2의 실행스케줄러(4) 및 슬래이브 디바이스(21)의 상세 블록도이다. 나머지 슬래이브 디바이스(22,23,24,25) 또한 슬래이브 디바이스(21)와 동일한 구성을 가지므로, 단순화를 위해 도시하지 않았다.
도 3을 참조하면, 실행스케줄러(4)의 억세스 커맨드 분배부(41)는, 중재기(3)로부터 수신된 억세스 커맨드를 저장하기 위한 커맨드 저장부로서, 상기 억세스 커맨드를 저장하기 위한 커맨드 저장큐(410), 및 커맨드 저장큐(410)를 제어하기 위한 커맨드 저장큐 제어부(411)를 구비한다. 실행스케줄러(4)의 실행스케줄부(46)는, 슬래이브 디바이스(21,22 ,23,24,25)의 식별자를 저장하기 위한 식별자 저장부로서 식별자 저장큐(460), 및 식별자 저장큐 제어부(461)를 구비하며, 비교기(462) 및 디코더(463)을 포함한다.
식별자 저장큐(460)는, 억세스 커맨드 분배부(41)를 통해 억세스 커맨드를 전달받은 슬래이브 디바이스(21,22 ,23,24, 또는 25)의 식별자를 저장하기 위한 적어도 하나의 저장셀을 구비하며, 식별자 저장큐 제어부(461)는 식별자 저장큐(460)의 입출력을 제어한다. 비교기(462)는 상기 저장셀에 대응되도록 각각 마련되어 상기 저장셀에 저장된 식별자와 상기 실행준비 완료신호가 전송된 슬래이브 디바이스의 식별자의 동일성 여부를 판단하며, 디코더(463)는 비교기(462)에 의한 판단결과 식별자가 동일한 경우 상기 실행준비 완료신호가 전송된 슬래이브 디바이스(21,22,23,24, 또는 25)로 상기 실행시작신호를 전송한다. 여기서, 비교기(462) 및 디코더(463)는 논리적인 의미로 사용되었으며, 회로적 구성은 다양하게 구현가능하다.
슬래이브 디바이스(21)의 실행 커맨드 저장부(210)는, 상기 억세스 커맨드를 저장하기 위한 실행 커맨드 저장큐(212), 및 실행 커맨드 저장큐(212)의 입출력을 제어하기 위한 실행 커맨드 저장큐 제어부(213)를 구비한다.
상기와 같은 구성에 따라 본 발명의 바람직한 실시예에의 실행순서 조정방법을 설명하면 다음과 같다.
먼저, 실행스케줄러(4)에서의 절차를 설명한다.
도 4는 실행스케줄러(4)의 억세스 커맨드 분배부(41) 및 대응 슬래이브 디바이스에서의 절차를 설명하기 위한 플로우챠트이다.
도 4를 참조하면, 억세스 커맨드 분배부(41)는, 중재기(3)로부터 소정 중재결과에 따른 순서에 의해 출력된 억세스 커맨드를 수신한다(4001단계). 수신된 억세스 커맨드는 FIFO의 커맨드 저장큐(410)에 보관된다.
억세스 커맨드 분배부(41)는 커맨드 저장큐(410)에 보관된 억세스 커맨드를 어드레스 맵에 기초하여 디코딩함으로써 대응 슬래이브 디바이스(21,22,23,24, 또는 25)를 알아내고, 대응 슬래이브 디바이스(21,22,23,24, 또는 25)로 억세스 커맨드를 전달한다(4002단계).
억세스 커맨드를 전달받은 슬래이브 디바이스(21,22,23,24, 또는 25)는 억세스 커맨드 분배부(41)로 억세스 커맨드의 수신확인을 통지하고, 이에 억세스 커맨드 분배부(41)로 수신확인이 도착된다(4003단계).
수신확인이 도착된 슬래이브 디바이스(21,22,23,24, 또는 25)의 식별자를 실행스케줄부(46)로 출력한다(4004단계).
상기 4002단계에서 분배된 억세스 커맨드는 대응 슬래이브 디바이스(21,22,23,24, 또는 25)에서 수신된다(4005단계).
슬래이브 디바이스(21,22,23,24, 또는 25)는 실행 커맨드 저장큐(212)가 다 찼는지 확인한 후(4006단계), 빈 저장셀이 있는 경우 실행 커맨드 저장큐(212)에 수신된 억세스 커맨드를 집어 넣는다(4007단계).
도 5는 실행스케줄러(4)의 실행스케줄부(46)에서의 절차를 설명하기 위한 플로우챠트이다.
도 3 및 도 5를 참조하면, 실행스케줄부(46)는, 소정 슬래이브 디바이스(21,22,23, 24, 또는 25)로부터 실행완료신호가 수신되면(5001단계), 실행되어야 할 억세스 커맨드의 유무를 확인하기 위해 식별자 저장큐(460)에 마련된 저장셀이 모두 비어있는지를 첵크한다(5002단계).
식별자 저장큐(460)에 억세스 커맨드가 저장되어 있으면 슬래이브 디바이스(21,22,23,24, 또는 25)로부터 실행준비 완료신호가 도착되기를 기다린다(5003단계).
저장된 억세스 커맨드 중 어느 하나에 대응되는 슬래이브 디바이스(21,22,23,24, 또는 25)로부터 실행준비 완료신호가 도착되면(5004단계), 각 저장셀에 마련된 비교기(462)에 의해 실행준비 완료신호가 도착된 슬래이브 디바이스(21,22,23,24, 또는 25)의 식별자와 동일여부를 확인하고 동일한 경우 결과를 식별자 저장큐 제어부(461)로 전달하며, 식별자 저장큐 제어부(461)는 당해 저장셀에 저장되어 있는 슬래이브 디바이스(21,22,23,24, 또는 25)의 식별자가 식별자 저장큐(460)로부터 디코더(463)로 출력되도록 한다. 디코더(463)는 식별자 저장큐(460)로부터 출력된 식별자를 디코딩하여 대응 슬래이브 디바이스(21,22,23,24, 또는 25)로 실행시작신호를 내보낸다(5005단계).
다음으로, 슬래이브 디바이스(21,22,23,24,25)에서의 절차를 설명한다. 다만, 슬래이브 디바이스(21,22,23,24,25)에서의 절차를 설명함에 있어, 메인 데이터버스만을 억세스하므로 실행스케줄이 필요하지 않은 슬래이브 디바이스와 그렇지않은 슬래이브 디바이스에서의 절차를 분리하여 설명한다.
도 6은 실행스케줄이 필요한 슬래이브 디바이스에서의 절차를 설명하기 위한 플로우챠트이다. 설명의 편의를 위해, 실행스케줄이 필요한 슬래이브 디바이스는 도 3의 슬래이브 디바이스(21)로 전제한다.
도 6을 참조하면, 슬래이브 디바이스(21)의 실행부(211)는 실행 커맨드 저장큐 제어부(213)로 실행 커맨드 저장큐(212)에 억세스 커맨드가 저장되어 있는지 여부를 확인한다(6001단계).
실행 커맨드 저장큐(212)에 억세스 커맨드가 저장되어 있는 경우(6002단계), 실행 커맨드 저장큐 제어부(213)는 실행 커맨드 저장큐(212)로부터 FIFO순서로 억세스 커맨드가 출력되도록 하고, 실행부(21)는 실행 커맨드 저장큐(212)로부터 입력받은 억세스 커맨드의 실행을 위한 데이터의 전송을 준비한다(6003단계).
데이터 전송준비가 완료되면(6004단계), 실행부(211)는 실행준비완료신호선을 셋팅하여 실행준비 완료신호를 실행스케줄부(46)로 전송한다(6005단계).
실행준비 완료신호를 전송한 실행부(211)는 실행스케줄부(46)로부터 실행시작신호가 도착되기를 기다린다(6006단계).
실행부(211)는 실행스케줄부(46)로부터 실행시작신호가 도착되면(6007단계), 준비된 데이터를 대응 마스터 디바이스(11,12,13, 또는 14)로 전송한다(6008단계).
데이터의 전송이 완료되면, 실행부(211)는 실행스케줄부(46)로 실행완료신호를 전송한다(6009단계). 실행완료신호를 전달받음으로써, 실행스케줄러(4)는 데이터버스가 비어있음을 확인하게 되고, 실행스케줄러(4)는 다시 식별자 저장큐(460)에 저장되어 있는 다른 억세스 커맨드에 대한 실행스케줄링을 수행하게 된다.
도 7은 실행스케줄이 불필요한 슬래이브 디바이스에서의 절차를 설명하기 위한 플로우챠트이다. 설명의 편의를 위해, 실행스케줄이 불필요한 슬래이브 디바이스는 도 3의 슬래이브 디바이스(21)로 전제한다.
실행 커맨드 저장큐(212)에 억세스 커맨드가 저장되어 있다면, 슬래이브 디바이스(21)의 식별자는 실행스케줄러(4)의 식별자 저장큐(460)에 저장되어 있다. 이 때, 슬래이브 디바이스(21)의 실행부(211)는 실행시작신호선을 항상 셋팅시키고 있으므로, 식별자 저장큐(460)로 슬래이브 디바이스(21)의 식별자가 입력되면 실행스케줄러(4)의 실행스케줄부(46)는 실행시작신호를 즉시 실행부(211)로 전송하고, 이에 실행부(211)는 실행시작신호를 수신한다(7001단계).
이에, 실행부(211)는 실행 커맨드 저장큐(210)로부터 입력받은 억세스 커맨드의 실행을 위한 데이터의 전송을 준비한다(7002단계).
데이터 전송이 준비되면 메인 데이터버스에 억세스하여 데이터를 대응 마스터 디바이스(11,12,13, 또는 14)로 전송한다(7003단계).
데이터의 전송이 완료되면, 실행부(211)는 실행스케줄부(46)로 실행완료신호를 전송한다(7004단계). 실행완료신호를 전달받음으로써, 실행스케줄러(4)는 데이터버스가 비어있음을 확인하게 되고, 실행스케줄러(4)는 다시 식별자 저장큐(460)에 저장되어 있는 다른 억세스 커맨드에 대한 실행스케줄링을 수행하게 된다.
실제로, 본 발명의 바람직한 실시예에 따른 실행순서 조정방법은, 메인 데이터버스보다 데이터 전송속도가 느린 로컬 데이터버스에 억세스해야하는 슬래이브디바이스를 구비한 버스 시스템의 경우에 더욱 효과적이다. 왜냐하면, 로컬 데이터버스로부터 메인 데이터버스로 데이터를 전송해야 하는 경우, 실행순서 조정방법에 의해 마스터의 대기시간이 최소화되는 효과가 발휘되기 때문이다. 그러나, 메인 데이터버스만을 억세스하므로 억세스 커맨드의 실행순서 조정이 사실상 불필요한 슬래이브 디바이스를 위해 별개의 모듈을 마련하는 것은 하드웨어 및 소프트웨어의 복잡성을 더하게 되므로, 전술한 실시예에서는, 메인 데이터버스만을 억세스하는 슬래이브 디바이스(21,22,23,24, 또는 25)에 있어 실행준비 완료신호선을 항상 액티브시킴으로써, 메인 데이터버스가 비어있는 경우 실행스케줄러(4)로부터 실행시작신호를 전달받아 즉시 데이터를 전송할 수 있게 하였다.
한편, 전술한 실시예에서는 메인 데이터버스 및 로컬 데이터버스가 구비되어 있고, 메인 데이터버스의 데이터 전송속도가 더 빠른 버스 시스템에 대해 설명하였으나, 반드시 그에 한정되지 않는다. 즉, 복수의 마스터와 복수의 슬래이브를 포함한 버스 시스템에 있어서, 소정 중재방법에 의해 억세스 커맨드의 실행순서가 결정된 이후라도 실행준비가 먼저 완료된 슬래이브 디바이스가 먼저 실행되도록 실행순서를 재조정함으로써 전체 시스템의 처리속도 향상을 제고할 수 있는 것이다.
이상 설명한 바와 같이, 본 발명에 따르면, 실행준비가 완료된 슬래이브 디바이스 먼저 커맨드를 실행할 수 있도록(데이터버스에 억세스하도록) 커맨드의 실행순서를 조정함으로써 전체적인 데이터 처리속도가 보다 향상된 버스 시스템 및 그 실행순서 조정방법이 제공된다.
특히, 슬래이브 디바이스가 메인 데이터버스에 비해 데이터 전송속도가 느린 로컬 데이터버스에 연결되어 있는 경우, 슬래이브 디바이스로 하여금 로컬 데이터버스에 효율적으로 억세스할 수 있도록 함으로써 메인 데이터버스의 아이들클럭이 감소되어 시스템 전체의 처리속도가 향상된다.

Claims (10)

  1. (a) 적어도 하나의 마스터 디바이스로부터의 억세스 커맨드를 대응 슬래이브 디바이스에 전달하는 단계;
    (b) 상기 슬래이브 디바이스로 전달된 억세스 커맨드를 저장하는 단계; 및
    (c) 상기 슬래이브 디바이스 중 실행준비가 완료된 순서에 따라 상기 억세스 커맨드를 실행시키는 단계를 포함하는 것을 특징으로 하는 억세스 커맨드의 실행순서 조정방법.
  2. 제1항에 있어서,
    상기 (a)단계는,
    (a1) 상기 억세스 커맨드를 저장하는 단계; 및
    (a2) 저장된 억세스 커맨드를 FIFO에 따라 상기 대응 슬래이브 디바이스로 전달하는 단계를 포함하는 것을 특징으로 하는 실행순서 조정방법.
  3. 제1항에 있어서,
    상기 (b)단계는,
    (b1) 상기 슬래이브 디바이스로부터 실행준비가 완료되었음을 통지받는 단계; 및
    (b2) 통지받은 순서에 따라 대응 슬래이브 디바이스에게 상기 억세스 커맨드의 실행시작을 지시하는 단계를 포함하는 것을 특징으로 하는 실행순서 조정방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 마스터 디바이스로부터의 억세스 커맨드는 소정 중재기로부터 중재결과에 의해 전달된 것임을 특징으로 하는 실행순서 조정방법.
  5. 복수의 마스터 디바이스, 복수의 슬래이브 디바이스, 및 복수의 데이터버스를 포함한 버스 시스템에 있어서,
    상기 마스터 디바이스로부터의 억세스 커맨드를 소정 중재결과에 따른 순서대로 출력하기 위한 중재기; 및
    상기 중재기로부터 출력된 억세스 커맨드의 대응 슬래이브 디바이스에 대해, 실행준비가 완료된 순서에 따라 상기 억세스 커맨드가 실행되도록 대응 데이터버스를 허여하기 위한 실행스케줄러를 포함하는 것을 특징으로 하는 버스 시스템.
  6. 제5항에 있어서,
    상기 실행스케줄러는,
    상기 중재기로부터 출력된 억세스 커맨드를 대응 슬래이브 디바이스로 전달하기 위한 억세스 커맨드 분배부; 및
    상기 억세스 커맨드 분배부에 의해 억세스 커맨드를 전달받은 슬래이브 디바이스 중 실행준비 완료신호를 수신받은 슬래이브 디바이스로 상기 전달된 억세스 커맨드의 실행시작신호를 전송하기 위한 실행스케줄부를 포함하고,
    상기 슬래이브 디바이스는, 상기 실행스케줄러로부터 전달된 억세스 커맨드를 저장하기 위한 실행 커맨드 저장부; 및
    상기 실행준비 완료신호를 상기 실행스케줄부로 전달하며, 상기 실행시작신호가 수신되면 상기 실행 커맨드 저장부에 저장된 억세스 커맨드를 실행하고, 실행이 완료되면 상기 실행스케줄부로 실행완료신호를 전송하기 위한 실행부를 포함하는 것을 특징으로 하는 버스 시스템.
  7. 제6항에 있어서,
    상기 실행스케줄부는, 상기 억세스 커맨드 분배부를 통해 억세스 커맨드를 전달받은 대응 슬래이브 디바이스의 식별자를 저장하기 위한 식별자 저장부로서, 상기 식별자를 저장하기 위한 적어도 하나의 저장셀을 구비한 식별자 저장큐, 및 상기 식별자 저장큐를 제어하기 위한 식별자 저장큐 제어부;
    상기 저장셀에 대응되도록 각각 마련되어 상기 저장셀에 저장된 식별자와 상기 실행준비 완료신호가 전송된 슬래이브 디바이스의 식별자의 동일성 여부를 판단하기 위한 비교기; 및
    상기 비교기에 의한 판단결과 식별자가 동일한 경우 상기 실행준비 완료신호가 전송된 슬래이브 디바이스로 상기 실행시작신호를 전송하기 위한 디코더를 구비하는 것을 특징으로 하는 버스 시스템.
  8. 제7항에 있어서,
    상기 억세스 커맨드 분배부는,
    상기 중재기로부터 수신된 억세스 커맨드를 저장하기 위한 커맨드 저장부를 더 포함하는 것을 특징으로 하는 버스 시스템.
  9. 제5항 내지 제8항 중 어느 한 항에 있어서,
    상기 커맨드 저장부는, 상기 억세스 커맨드를 저장하기 위한 커맨드 저장큐, 및 상기 커맨드 저장큐를 제어하기 위한 커맨드 저장큐 제어부를 포함하는 것을 특징으로 하는 버스 시스템.
  10. 제9항에 있어서,
    상기 실행 커맨드 저장부는, 상기 억세스 커맨드를 저장하기 위한 실행 커맨드 저장큐, 및 상기 실행 커맨드 저장큐를 제어하기 위한 실행 커맨드 저장큐 제어부를 포함하는 것을 특징으로 하는 버스 시스템.
KR1020000042000A 2000-07-21 2000-07-21 버스 시스템 및 그 실행 순서 조정방법 Expired - Fee Related KR100708096B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020000042000A KR100708096B1 (ko) 2000-07-21 2000-07-21 버스 시스템 및 그 실행 순서 조정방법
GB0031289A GB2365288B (en) 2000-07-21 2000-12-21 Bus arbitration system
CNB001364626A CN100341012C (zh) 2000-07-21 2000-12-26 总线系统及其存取命令的执行调度方法
JP2001017591A JP4184614B2 (ja) 2000-07-21 2001-01-25 バスシステム及びその実行順序の調整方法
US09/774,009 US6782439B2 (en) 2000-07-21 2001-01-31 Bus system and execution scheduling method for access commands thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000042000A KR100708096B1 (ko) 2000-07-21 2000-07-21 버스 시스템 및 그 실행 순서 조정방법

Publications (2)

Publication Number Publication Date
KR20020008955A true KR20020008955A (ko) 2002-02-01
KR100708096B1 KR100708096B1 (ko) 2007-04-16

Family

ID=19679251

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000042000A Expired - Fee Related KR100708096B1 (ko) 2000-07-21 2000-07-21 버스 시스템 및 그 실행 순서 조정방법

Country Status (5)

Country Link
US (1) US6782439B2 (ko)
JP (1) JP4184614B2 (ko)
KR (1) KR100708096B1 (ko)
CN (1) CN100341012C (ko)
GB (1) GB2365288B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100716950B1 (ko) * 2000-08-11 2007-05-10 삼성전자주식회사 버스 시스템

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058740B2 (en) * 2001-03-08 2006-06-06 Sony Corporation Effective bus utilization using multiple buses and multiple bus controllers
US7043533B2 (en) * 2001-12-06 2006-05-09 Sun Microsystems, Inc. Method and apparatus for arbitrating master-slave transactions
US7177925B2 (en) 2002-09-27 2007-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Event management system
GB2407662B (en) * 2003-11-03 2006-02-22 Compxs Uk Ltd Two way serial communication
JP4932142B2 (ja) * 2004-06-09 2012-05-16 三菱電機株式会社 バス装置
US20060026308A1 (en) * 2004-07-29 2006-02-02 International Business Machines Corporation DMAC issue mechanism via streaming ID method
JP2006318139A (ja) * 2005-05-11 2006-11-24 Matsushita Electric Ind Co Ltd データ転送装置、データ転送方法およびプログラム
EP1897332B1 (en) * 2005-06-23 2015-10-14 Koninklijke Philips N.V. An apparatus and method of configuring a device in a network
US7461190B2 (en) * 2005-08-11 2008-12-02 P.A. Semi, Inc. Non-blocking address switch with shallow per agent queues
US20070255874A1 (en) * 2006-04-28 2007-11-01 Jennings Kevin F System and method for target device access arbitration using queuing devices
JP2008269555A (ja) * 2007-03-28 2008-11-06 Mitsubishi Electric Corp バス装置
JP2010165175A (ja) * 2009-01-15 2010-07-29 Internatl Business Mach Corp <Ibm> バスの使用権を制御する装置および方法
CN102880143B (zh) * 2012-09-27 2014-10-22 中国船舶重工集团公司第七一九研究所 单can控制器热冗余can总线系统及其实现方法
CN104346310B (zh) * 2013-08-05 2018-01-02 豪威科技(上海)有限公司 一种高性能i2c从机数据交换电路及方法
CN108196849A (zh) * 2018-01-12 2018-06-22 江苏华存电子科技有限公司 一种低延迟指令调度器
CN117040963B (zh) * 2023-10-09 2023-12-26 成都亿佰特电子科技有限公司 一种分布式io主从快速通讯的方法和系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0179936B1 (de) * 1984-10-31 1990-01-03 Ibm Deutschland Gmbh Verfahren und Einrichtung zur Steuerung einer Sammelleitung
JPS63155249A (ja) 1986-12-18 1988-06-28 Fujitsu Ltd 装置間通信方式
JPH02101560A (ja) * 1988-10-11 1990-04-13 Nec Corp バスインタフェース装置
US5253347A (en) * 1988-11-18 1993-10-12 Bull Hn Information Systems Italia S.P.A. Centralized arbitration system using the status of target resources to selectively mask requests from master units
US5257356A (en) * 1991-05-28 1993-10-26 Hewlett-Packard Company Method of reducing wasted bus bandwidth due to slow responding slaves in a multiprocessor computer system
SE9103450L (sv) * 1991-11-21 1993-02-08 Icl Data Ab Anordning foer oeverfoering av data mellan datasaendande och datamottagande enheter anslutna till en gemensam databuss.
JPH05274256A (ja) * 1992-03-27 1993-10-22 Shikoku Nippon Denki Software Kk 周辺装置制御装置
JPH06119282A (ja) 1992-10-05 1994-04-28 Mitsubishi Electric Corp デバイス制御装置及びその優先処理方式
JPH07334453A (ja) 1994-06-06 1995-12-22 Nec Eng Ltd メモリアクセスシステム
JPH0844662A (ja) * 1994-07-26 1996-02-16 Fuji Xerox Co Ltd 情報処理装置
JPH0863427A (ja) * 1994-08-19 1996-03-08 Fuji Xerox Co Ltd データ処理装置
US5548788A (en) * 1994-10-27 1996-08-20 Emc Corporation Disk controller having host processor controls the time for transferring data to disk drive by modifying contents of the memory to indicate data is stored in the memory
JP2591502B2 (ja) * 1994-12-09 1997-03-19 日本電気株式会社 情報処理システムおよびそのバス調停方式
US5621897A (en) * 1995-04-13 1997-04-15 International Business Machines Corporation Method and apparatus for arbitrating for a bus to enable split transaction bus protocols
JPH08339345A (ja) 1995-06-12 1996-12-24 Hitachi Ltd 情報処理システム
KR970010824U (ko) * 1995-08-17 1997-03-29 인터럽트 요구 분배장치
JPH09114779A (ja) * 1995-10-16 1997-05-02 Nec Eng Ltd 情報処理装置のウェイト制御方式
US5701422A (en) * 1995-12-13 1997-12-23 Ncr Corporation Method for ensuring cycle ordering requirements within a hierarchical bus system including split-transaction buses
US5881264A (en) * 1996-01-31 1999-03-09 Kabushiki Kaisha Toshiba Memory controller and memory control system
US5905876A (en) * 1996-12-16 1999-05-18 Intel Corporation Queue ordering for memory and I/O transactions in a multiple concurrent transaction computer system
KR19980053218A (ko) * 1996-12-26 1998-09-25 김광호 입력 디바이스의 우선 순위 결정 회로
JP3186661B2 (ja) 1997-09-16 2001-07-11 日本電気株式会社 リクエスト管理回路
JPH11167557A (ja) * 1997-12-02 1999-06-22 Hitachi Ltd 共有メモリアクセス順序保証方法及びマルチプロセッサシステム
US6363441B1 (en) * 1999-03-05 2002-03-26 Silicon Graphics, Inc. Timing controller having dependency memory, selection serialization component and reordering component for maintaining time dependencies in conversions between sequential and parallel operations using staging memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100716950B1 (ko) * 2000-08-11 2007-05-10 삼성전자주식회사 버스 시스템

Also Published As

Publication number Publication date
JP4184614B2 (ja) 2008-11-19
CN100341012C (zh) 2007-10-03
CN1334516A (zh) 2002-02-06
GB0031289D0 (en) 2001-01-31
US20020010822A1 (en) 2002-01-24
KR100708096B1 (ko) 2007-04-16
US6782439B2 (en) 2004-08-24
GB2365288A (en) 2002-02-13
GB2365288B (en) 2003-05-07
JP2002041449A (ja) 2002-02-08

Similar Documents

Publication Publication Date Title
US7350004B2 (en) Resource management device
KR100716950B1 (ko) 버스 시스템
EP1131729B1 (en) Communications system and method with multilevel connection identification
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
JP2004318901A (ja) データ処理モジュール相互間の高速制御およびデータバスシステム
US10120815B2 (en) Configurable mailbox data buffer apparatus
KR20000053380A (ko) 다양한 기능 모듈 접속용 포트 매니저 제어기
KR102549085B1 (ko) 버스 제어회로
US20020174165A1 (en) Cluster system, computer and program
KR100644596B1 (ko) 버스 시스템 및 그 버스 중재방법
EP1846831B1 (en) Flow control method to improve data transfer via a switch matrix
WO2008028101A1 (en) Method and apparatus for conditional broadcast of barrier operations
US5649209A (en) Bus coupling information processing system for multiple access to system bus
JPH0728758A (ja) ダイナミックタイムループ調停及び装置
US6748505B1 (en) Efficient system bus architecture for memory and register transfers
US7006521B2 (en) External bus arbitration technique for multicore DSP device
US6701407B1 (en) Multiprocessor system with system modules each having processors, and a data transfer method therefor
US7752400B1 (en) Arbitration and crossbar device and method
US5446847A (en) Programmable system bus priority network
GB2364867A (en) Controlling access to a slave unit by a plurality of master units over plural buses using a slave interface
JPH1185673A (ja) 共有バスの制御方法とその装置
KR100243868B1 (ko) 주 전산기에서의 중재로직 방법
CN120448074A (zh) 基于执行引擎的数据处理方法、设备、存储介质及产品
CA2228342C (en) System bus control system in a multi-processor system
GB2341765A (en) Bus idle usage

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

A201 Request for examination
PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

FPAY Annual fee payment
PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

FPAY Annual fee payment
PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 10

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 10

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20170411

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20170411