KR101120241B1 - 반도체 장치, 다중 프로세서 시스템 및 반도체 장치의 인터페이싱 방법 - Google Patents

반도체 장치, 다중 프로세서 시스템 및 반도체 장치의 인터페이싱 방법 Download PDF

Info

Publication number
KR101120241B1
KR101120241B1 KR1020087022518A KR20087022518A KR101120241B1 KR 101120241 B1 KR101120241 B1 KR 101120241B1 KR 1020087022518 A KR1020087022518 A KR 1020087022518A KR 20087022518 A KR20087022518 A KR 20087022518A KR 101120241 B1 KR101120241 B1 KR 101120241B1
Authority
KR
South Korea
Prior art keywords
core
common
processor
data
multiplexer
Prior art date
Application number
KR1020087022518A
Other languages
English (en)
Other versions
KR20080094728A (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 인텔 코오퍼레이션
Publication of KR20080094728A publication Critical patent/KR20080094728A/ko
Application granted granted Critical
Publication of KR101120241B1 publication Critical patent/KR101120241B1/ko

Links

Images

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/10Program control for 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7828Architectures of general purpose stored program computers comprising a single central processing unit without memory
    • G06F15/7832Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Multi Processors (AREA)
  • Microcomputers (AREA)

Abstract

일 실시예에서, 본 발명은 명령어들을 실행하기 위한 다중 프로세서 코어를 갖는 프로세서를 포함하고, 그 코어들 각각은 전용 디지털 인터페이스 회로를 포함한다. 프로세서는 디지털 인터페이스 회로를 통하여 코어들에 연결된 아날로그 인터페이스를 더 포함한다. 아날로그 인터페이스는 코어들을 포함하는 패키지와 그에 연결된 공유 버스와 같은 상호접속부 사이에서 트래픽을 전달하기 위해 사용될 수 있다.
다중코어, 다중 프로세서 코어, 상호접속부, 전용 디지털 인터페이스 회로, 공통 아날로그 인터페이스

Description

반도체 장치, 다중 프로세서 시스템 및 반도체 장치의 인터페이싱 방법{SEMICONDUCTOR DEVICE, MULTI-PROCESSOR SYSTEM AND INTERFACING METHOD IN A SEMICONDUCTOR DEVICE}
본 발명의 실시예들은 반도체 장치에 관한 것으로, 구체적으로는 시스템-레벨 상호접속 구조들을 갖는 반도체 장치들의 인터페이싱에 관한 것이다.
오늘날의 반도체 장치들은 소형 패키지들 내에서 프로세싱 능력들을 점차 증가시키는 것을 특징으로 하고, 계속 고주파에서 동작한다. 프로세싱 속도가 빨라지고 사이즈가 감소하면 전력 및 온도 관련 문제들을 포함하는 다양한 문제들이 생길 수 있다. 따라서, 이제는 많은 프로세서들이 단일 패키지 내에 다수의 코어들을 포함하도록 제조되고, 심지어 단일 다이 상에 다수의 코어들이 있도록 제조되고 있다. 그러한 프로세서들은 낮은 온도에서 고급 프로세싱 작업들을 수행할 수 있어 열 발산을 감소시킨다. 또한, 다수의 코어들을 이용하여 저주파에서 많은 양의 프로세싱이 행해질 수 있다.
그러나, 프로세서 소켓과 같은 단일 패키지 내에 다수의 코어들을 집적시키면 다양한 문제들이 생길 수 있다. 하나의 그러한 문제는 다수의 코어들이 전기 성능에 영향을 미친다는 것이다. 특히, 다수의 코어는, 그들 각각이 아날로그 입출력(I/O) 인터페이스 회로뿐만 아니라 디지털 논리 회로를 포함하는데, 프로세서 소켓이 시스템에 연결되게 하는 상호접속 매체에 상당한 전기 부하를 생성한다. 예를 들어, 많은 컴퓨터 시스템들은 종종 전면 버스(front side bus; FSB)라고 칭해지며 프로세서를 다른 시스템 컴포넌트들, 즉 메모리 컨트롤러 허브(memory controller hub; MCH), 시스템 메모리 및 다른 시스템 컴포넌트들과 같은 다른 시스템 컴포넌트들에 연결시키는데 사용되는 멀티 드롭(multi-drop) 버스인 시스템 버스를 포함한다. 부정적인 전기적 성능 문제를 회피하기 위해, FSB는 성능에 영향을 미치는 저주파에서 수행하도록 제어될 수 있다. 그러한 낮은 버스 주파수는 듀얼 코어 또는 다른 다중 코어 디바이스들에 대한 성능에 상당히 영향을 줄 수 있는데, 이는 코어수에 비례하여 대역폭 요구가 증가할 수 있기 때문이다.
일부 듀얼 코어 프로세서 설계는 다중 프로세서 시스템 내의 다중 프로세서 소켓들 사이를 라우팅하는 것과 유사한 방식으로 패키지 내에서 코어들을 함께 접속시킨다. 그러나, 그러한 설계는 FSB의 전기 성능을 저하시킨다. 특히, 패키지 트레이스(trace) 길이가 상당히 증가되고 커패시턴스도 증가되어 I/O 주파수를 상당히 제한할 수 있다. 복잡도를 증가시키고 베이스 코어 설계에 영향을 미치는 다른 코어 접속 방식들은 상당한 설계 노력들을 발생시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 프로세서의 블록도.
도 2는 본 발명의 일 실시예에 따른 프로세서의 개략도.
도 3은 본 발명의 실시예들을 이용할 수 있는 예시적인 프로세서 기반 시스템의 블록도.
각종 실시예들에서, 다수의 코어들은 코어 설계 및 I/O 주파수 양자에 최소로 영향을 미치도록 패키지 내에서 접속될 수 있다. 특히, 시스템 버스에 하나의 부하를 제공함으로써, 다수의 코어의 주파수 영향이 최소화될 수 있다. 본원에 기재된 실시예에서, 단일 부하는 (예를 들어, 프로세서 소켓의) 단일 다이 상에 다수의 코어들의 버스 신호들을 디지털 결합하고 공통 아날로그 인터페이스를 통해 시스템 버스 외부로 그 결합을 이동시킴으로써 실현될 수 있다. 그 결합을 얻기 위해, 코어들과 공통 아날로그 인터페이스 사이에 연결된 디지털 인터페이스 로직은 사실상 유선 OR 회로로 작용할 수 있다.
몇몇 시스템들에서, 거닝 트랜시버 로직(gunning transceiver logic; GTL+) 시그널링 기술을 이용하는 시스템 버스는 시스템 컴포넌트들을 함께 연결하기 위해 이용될 수 있다. 그러한 시스템 버스는 유선 OR 버스로서 논리적으로 작용할 수 있다. 유선 OR 로직을, 다수의 코어를 프로세서 소켓의 공통 아날로그 인터페이스로 인터페이싱하는 디지털 회로로 이동시킴으로써, 전기 성능의 향상 및 구현의 용이화를 실현할 수 있다. 즉, 시스템 버스에 단지 하나의 전기 부하가 보여지고, 코어 입력들 및 출력들의 결합을 처리하기 위해 베이스 코어 설계에 최소한의 변경이 필요하거나 변경이 필요하지 않게 된다. 따라서, 코어들의 파이프라인, 속도 경로들 또는 논리 연산에 최소의 영향을 미친다.
이제 도 1을 참조하면, 본 발명의 일 실시예에 따른 프로세서의 블록도가 도시된다. 특히, 도 1에 도시된 바와 같이 프로세서 소켓(10)은 제1 코어(20a)(코어 0) 및 제2 코어(20b)(코어 1)를 포함하는 듀얼 코어 프로세서일 수 있다. 일반적으로, 프로세서 소켓(10)의 코어는 본원에서 코어(20)로 지칭될 수 있다. 도 1의 실시예에서 단지 2개의 코어로 도시되었지만, 본 발명의 범위는 이에 한정되지 않으며, 다른 실시예들에서는 주어진 프로세서 내에 추가적인 코어들이 존재할 수 있음을 이해해야 한다.
각 코어(20)는 파이프라인 자원, 실행 유닛, 캐시 메모리, 레지스터 파일 및 다른 그러한 구조들과 같은 주어진 코어에 대한 모든 로직 및 자원을 포함할 수 있다. 또한, 각 코어(20)는 그 자신의 전용 디지털 I/O 인터페이스, 각각 디지털 I/O(25a) 및 디지털 I/O(25b)[일반적으로, 디지털 I/O(25)]를 포함할 수 있다. 더 후술하면, 디지털 I/O(25)는 관련 코어와 프로세서의 아날로그 I/O 인터페이스 사이에 신호들을 위한 인터페이스를 제공하는 각종 논리 회로를 포함할 수 있다. 각종 실시예들에서, 디지털 I/O(25)는 그것의 관련 코어에 대해 모든 버스 제어 로직을 포함할 수 있다(마치 그 관련 코어가 존재하는 유일한 코어인 것처럼). 즉, 각 디지털 I/O(25)는 그것의 관련 코어(20)에 대한 버스 컨트롤러이다. 따라서, 도 1에 도시된 바와 같이, 각 코어(20)는 디지털 인터페이스 회로뿐만 아니라 모든 코어 로직을 포함한다. 또한, 제1 코어(20a) 및 제2 코어(20b)는 동일할 수 있거나 적어도 실질적으로 동일할 수 있음을 이해해야 한다. 따라서, 단일 코어 설계를 이용하고 복제하여 동일한 회로 및 기능을 갖는 2개 이상의 코어들을 갖는 패키지를 생성할 수 있다. 다른 실시예들에서, 제1 코어(20a) 및 제2 코어(20b)는 이종 코어 설계(heterogeneous core design)들과 같은 상이한 유형의 코어들일 수 있다. 이러한 방식으로, 각각의 대응하는 디지털 I/O(25)가 실질적으로 유사한 한, 상이한 코어들의 로직은 매우 상이할 수 있다. 그러한 이종 코어들은 FSB 프로토콜 등의 호환가능한 버스 프로토콜을 모두 구현할 수 있다.
그러나, 각 코어(20)는 전용 아날로그 인터페이스 회로가 없다. 대신, 공통 아날로그 I/O 인터페이스(아날로그 I/O)(30)가 존재할 수 있고 이를 이용하여 코어들(20a 및 20b) 모두로부터의 신호들을 프로세서 소켓(10)이 연결되는 상호접속부에 대해 연결할 수 있다. 다수의 코어와 상호접속부, 즉 프로세서가 연결되는 버스 사이의 이러한 공통 아날로그 인터페이스는 전면 버스와 같은 공유 버스를 이용하여 다중코어 프로세서를 시스템에 통합할 때 시그널링 대기시간 및 설계 용이함을 향상시킬 수 있다. 도 1의 하이레벨 뷰(high-level view)에 도시되지는 않지만, 주어진 코어와 아날로그 I/O(30) 사이에서 신호들을 라우팅하기 위해 디지털 I/O(25) 및 아날로그 I/O(30) 사이에 일부 부가적인(예를 들어, 공통의) 디지털 인터페이스 회로가 제공될 수 있음을 이해해야 한다.
도 1에서는 이러한 특정 구현으로 기재되었지만, 본 발명의 범위는 이로 제한되지 않음을 이해해야 한다. 즉, 각종 실시예들에서는 상이한 형태의 전용 프로세서 회로가 다수의 코어에 대해 존재할 수 있고, 버스 또는 다수의 코어들에 대한 기타 상호접속부와의 인터페이스를 제공하는 한 세트의 아날로그 회로가 존재한다. 이러한 방식으로, 상호접속부에서 인식되는 전기 부하는 최소화되어, 즉, 단일 코어의 전기 부하에 대응하도록 최소화된다. 그 결과, 상호접속부는 프로세서 소켓에 단지 하나의 코어 프로세서만이 있을 때 동작하는 것과 동일한 주파수로 동작할 수 있다. 또한, 코어들 내에 다수의 코어의 접속을 가능하게 하는 부가적인 로직 회로가 요구되지 않기 때문에 설계 복잡도가 줄어든다. 또한, 한 세트의 아날로그 인터페이스만이 구현되기 때문에 전체 다이(die) 회로가 줄어든다.
이제 도 2를 참조하면, 본 발명의 일 실시예에 따른 프로세서의 개략도가 도시된다. 특히, 도 2에 도시된 바와 같이, 프로세서(100)는 코어들(20a, 20b)을 포함하는 듀얼 코어 프로세서일 수 있다. 도 1 및 도 2에서는 동일한 참조 부호를 이용하여 동일한 구성요소의 존재를 나타내는 것을 주의해야 한다. 도 2의 상부에서 참조 부호로 도시된 바와 같이, 프로세서(100)는 코어부(20), 디지털 I/O부(여기서, 디지털부라고도 칭해짐)(25) 및 아날로그 I/O부(여기서, 아날로그부라고도 칭해짐)(30)로 나누어질 수 있다. 코어부(20)는 개별적인 코어들을 형성하기 위해 사용되는 로직 및 회로의 전용부들일 수 있다. 또한, 디지털 I/O부(25)는 코어들(20a 및 20b) 각각에 전용 회로의 일부를 포함하고, 코어들(20a 및 20b)과 아날로그 I/O부(30) 사이에 연결된 부가 인터페이스 로직의 일부를 포함할 수 있다. 도 2에 더 도시된 바와 같이, 아날로그부(30)는 다수의 코어들(20a 및 20b)과 오프칩(off-chip) 버스 또는 기타 상호접속부 사이의 결합을 제공하는 하나의 공통 아날로그 인터페이스일 수 있다.
도 2에 도시된 바와 같이, 코어(20a)는 코어 로직과 라우팅 채널(120) 사이의 인터페이싱에 이용하기 위한 디지털부(25)의 일부일 수 있는 다양한 디지털 회로를 포함한다. 클록 신호 라인들의 구동 이외에, 데이터 송신, 데이터 수신 및 신호들의 스트로브에 대응하는 다수의 신호 라인들의 각각에 대해 각종 디지털 회로가 존재할 수 있다. 특히, 도 2에 도시된 바와 같이, 코어(20a)는 데이터의 송신을 위한 각각의 공통 클록 데이터 라인에 대한 공통 클록 신호(CCClock)에 의해 클록되는 플립플롭(110a) 및 데이터의 수신을 위한 각 공통 클록 데이터 라인과 유사하게 클록되는 대응 플립플롭(112a)을 포함할 수 있다. 이점에 관해서는 본 발명의 범위는 제한되지 않지만, 일부 실시예에서는 송수신 방향 각각에 16개의 공통 클록 신호 라인들이 존재할 수 있다. 도 2에 도시된 바와 같이, 인출 공통 클록 데이터 라인들은 CCTxData#로서 열거될 수 있고, 인입 공통 클록 데이터 라인들은 CCRxData#로 지칭될 수 있다. 액티브 로우(active-low) 논리 신호를 지시하도록 사용된 신호명 뒤의 # 기호는 저레벨로 구동될 때 신호가 액티브 상태에 있음을 나타내지만, 그러한 액티브 로우 논리 레벨들은 단지 예시용일 뿐 이점에 관해서는 본 발명의 범위가 제한되지 않는다는 것을 주의해야 한다.
코어(20a)는, 연관된 소스 동기 전송 데이터 라인(즉, SSTxData#)으로 전송될 소스 동기 데이터를 제공하기 위해 연결된 플립플롭(114a)를 더 포함할 수 있다. 유사하게, 인입 소스 동기 데이터는 FIFO(first-in-first-out)(116a)와 같은 저장 디바이스를 통해 소스 동기 수신 데이터 라인(즉, SSRxData#)을 따라 수신될 수 있다. 그러한 소스 동기 경로(source synchronous path)는 버스 클록(예를 들어, 4x)당 몇 배의 데이터를 전송함으로써 성능을 향상시킬 수 있다는 것을 주목한다. 부가적으로, 코어(20a)는 소스 동기 전송 스트로브 라인(즉, SSTxStb#)에 데이터를 제공하기 위해 연결된 플립플롭(118a)을 더 포함할 수 있다. 플립플롭들(114a 및 118a)은 소스 동기 클록(즉, SSClock)에 의해 반대 관계로 클록될 수 있다는 것을 주목한다. 차례로, 소스 동기 클록 및 드라이브 코어 신호(DriveCore)는, 차례로 드라이브 클록 신호, 즉, 소스 동기 드라이브 클록 신호(즉, SSDrvClk)를 제공하도록 연결되는 논리 게이트(119a)에 연결된다. 상술된 회로에 대한 유사 회로가 코어(20b)(동일한 참조 번호들 및 지명자(designator) "b"로 나타냄)에 존재한다는 것을 주목한다.
이러한 상술된 신호 라인들 각각은, 차례로, 디지털부(25) 내에 부가적인 디지털 로직에 그리고 부가적인 디지털 로직으로부터 신호를 제공하는 라우팅 채널(120)에 연결된다. 라우팅 채널(120)은 증폭기들, 중계기들 등을 포함할 수 있다. 디지털부(25) 내의 그러한 추가 로직은 신호 라인들을 통한 데이터의 송/수신을 위해, 코어들(20a 및 20b) 중 액티브한 코어의 선택을 제공할 수 있다. 따라서, 라우팅 채널(120)은 디지털부(25)에서 선택된 신호 라인들로부터 코어들(20a 및 20b)로/코어들(20a 및 20b)로부터 디지털부(25)에서 선택된 신호 라인들로 신호들을 라우팅하는 회로를 포함할 수 있다. 전송 방향에서, 두 코어들로부터의 공통 클록 전송 신호들(즉, c0CCTxData# 또는 c1CCTxData#)은 테스트(DFT)/제어 레지스터-관련 신호들(도 2에 도시되지 않음)에 대한 설계에 의해 제어되는 다중화기(140)에 연결될 수 있다. 그러한 DFT 신호들은 듀얼 코어 프로세서가, 테스트 또는 디버그 목적으로 단일 코어로 변환되도록 할 수 있다. 그러나, 디폴트로 그리고 정상 동작에서, 다중화기(140)는 논리 게이트(142)의 출력을 선택할 수 있다. 논리 게이트(142)가 액티브 로우(active-low) 시그널링 실시예에서 OR 게이트로서 작용할 수 있기 때문에, 논리 게이트(142)는, GTL-시그널링 기반 버스와 같은 배선형(wired) OR 버스에 대한 논리적인 균등물을 에뮬레이트(emulate)하거나 또는 논리적 균등물로서 작용할 수 있다. 차례로, 선택된 데이터 라인은 아날로그부(30) 및 보다 구체적으로 아날로그 버퍼(143)로 전달되고, 아날로그 버퍼는, 프로세서(100)가 연결되는 상호접속부, 예를 들어, 버스를 따라 전송하기 위해 디지털 신호를 적절한 레벨로 버퍼링한다. 따라서, 버스의 공통 클록 데이터 라인(예를 들어, xxCCData#)을 따라 원하는 데이터가 전송될 수 있다. xxCCData# 라인들을 통해 수신된 인입 공통 클록 데이터 신호들은 입력 버퍼(141)를 통해 연결될 수 있고, 공통 클록 수신 데이터 라인(즉, CCRxData#)을 따라 라우팅 채널(120)에 제공될 수 있다. 데이터는 선택된 코어에 기초하여, 라우팅 채널(120)로부터 플립플롭(112a) 또는 플립플롭(112b) 중 하나에 전달될 수 있다. 대안으로서, 인입 신호들은 모든 코어들에 전달될 수 있으며, 여기서 코어들은 그들이 신호들을 처리할지를 스스로 결정할 수 있다.
또한, 도 2를 참조하면, 코어들(20a 및 20b) 중 하나로부터 전송될 소스 동기 데이터는 라우팅 채널(120)을 통해 라우팅될 수 있고, 주어진 코어의 라인을 통해 다중화기(144)에 제공될 수 있다(즉, c0SSTxData# 또는 c1SSTxData#). 또한, 이러한 라인들은, 논리 게이트(142)에 대해 상기 설명된 바와 같이 동작하는, 논리 게이트(146)에 연결된다. 다중화기(144)로부터 선택된 데이터는 래치(148)에 전달된다. 소스 동기 드라이버 클록에 의해 클록될 때, 래치(148)는 디지털부(25)의 밖으로 그리고 아날로그부(30)의 버퍼(149)에 데이터를 전달한다. 이러한 방법으로, 주어진 소스 동기 데이터 라인(즉, xxSSData#)이 신호를 전송시킬 수 있다.
버스로부터 프로세서(100)로의 인입 소스 동기 데이터에 대한 데이터는 버퍼(161)를 통해 연결되고, 선택된 래치(163)에 제공된다. 래치(163)의 동작은 인입 소스 동기 스트로브 신호(즉, SSRxStb#)에 의해 제어될 수 있다. 래치될 때, 데이터는 다중화기(165)에 전달되고, 소스 동기 수신 데이터(즉, SSRxData#)로서 라우팅 채널(120)에 제공된다. 도 2에 도시된 바와 같이, 다중화기(165)는 다양한 지연 인버터(delay inverter)(173), 디스큐 셀렉터(deskew selector)(175) 및 다른 다양한 지연 인버터(180)를 통해 제공되는 인입 소스 동기 스트로브 신호에 기초하여 제어될 수 있다. 데이터가 의도된(intended) 코어에 기초하여, 라우팅 채널(120)은 FIFO (116a) 또는 FIFO (116b) 중 하나에 소스 동기 수신 데이터를 전달할 것이다. 대안으로서, 공통 클록 신호들로서 전술된 바와 같이, 소스 동기 수신 데이터는 FIFO들(116a 및 116b) 모두에 전달될 수 있다. 도 2에 도시된 바와 같이, 이러한 FIFO들은 인입 소스 동기 수신 스트로브 신호에 의해 제어되고, 라우팅 채널(120)을 통해서도 라우팅된다.
또한, 도 2를 참조하면, 소스 동기 전송 스트로브 신호들은 코어들(20a 및 20b)에서 생성될 수 있고, 라우팅 채널(120)을 통해 다중화기(150) 및 연관 논리 게이트(152)에 제공된다. 특히, 각각의 코어는, 소스 동기 전송 스트로브 라인들(즉, c0SSTxStb# 및 c1SSTxStb#)을 통해 다중화기(150)에 제공된 소스 동기 스트로브 신호들을 생성할 수 있다. 선택된 스트로브 신호는, 차례로, 인입 소스 동기 드라이브 클록 신호들(즉, c0SSDrvClk# 및 c1SSDrvClk#)로부터, 라우팅 채널(120)을 통해 주어진 코어로부터 그리고 OR 게이트(156) 및 다양한 지연 인버터(158)를 통해 나오는(derived) 소스 동기 드라이브 클록 신호에 의해 클록되는, 다중화기(150) 및 래치(154)로부터 제공된다. 선택된 소스 동기 스트로브 신호는 래치(154)를 통해 래치되고, 소스 동기 스트로브 신호(즉, xxSSStb#)로서 버스를 따라 전송하기 위해 버퍼(155)에 제공된다. 차례로, 인입 스트로브 신호들은 소스 동기 스트로브 라인들을 따라 버퍼(171)에 제공되고, 차례로 다양한 지연 인버터(173)를 통해 전달되며, 소스 동기 수신 스트로브 라인(즉, SSRxStb#)을 따라 라우팅 채널(120)에 제공된다. 차례로, FIFO들(116a 및 116b) 중 선택된 하나를 제어하기 위해, 소스 동기 스트로브 신호가 라우팅 채널(120)을 통해 제공된다. 이러한 특정 구현이 도 2의 실시예에 기재되었지만, 본 발명의 범위는 이에 한정되지 않고, 듀얼 코어 프로세서와 같은 프로세서의 다수의 코어들에 공통 아날로그 인터페이스를 제공하는 다른 구현들이 이루어질 수 있다는 것이 이해될 것이다.
도 3은 본 발명의 실시예들이 사용될 수 있는 예시적인 프로세서 기반의 시스템의 블록도이다. 본원에서 사용될 때, "시스템"이라는 용어는 메인프레임 컴퓨터, 데스크탑 컴퓨터, 서버 컴퓨터, 랩탑 컴퓨터, 휴대용 디바이스, 어플라이언스(appliance), 셋톱 박스 등과 같은 임의의 타입의 프로세서 기반의 시스템일 수 있다. 시스템(300)은 범용 또는 특정 목적 프로세서일 수 있는 프로세서(310)를 포함한다. 본 발명의 실시예에서, 프로세서(310)는 다중코어 프로세서, 예를 들어, 듀얼 코어 프로세서일 수 있다. 또한, 프로세서(310)는 전기 부하를 감소시킬 수 있고, 부가적으로 단일 코어 설계를 다중코어 프로세서에 이식하기 쉽도록 하는 공통 아날로그 인터페이스를 포함할 수 있다.
일 실시예에서, 프로세서(310)는 전면 버스(315)를 통해 메모리 허브(330)에 연결될 수 있고, 메모리 허브(330)는, 차례로, 메모리 버스(325)를 통해, 일 실시예에서 DRAM일 수 있는 시스템 메모리(320)에 연결될 수 있다. 도 3의 실시예에 도시되지 않았지만, 다양한 실시예들에서, 부가적인 다중코어 또는 다른 그러한 프로세서들이 전면 버스(315)에 연결될 수 있다는 것이 이해될 것이다. 메모리 허브(330)는 AGP(Advanced Graphics Port) 버스(333)를 통해, 디스플레이(337)에 연결될 수 있는 비디오 컨트롤러(335)에 연결될 수도 있다. AGP 버스(333)는 캘리포니아주, 산타클라라의 인텔사에 의해, 1998년 5월 4일 공개된, AGPIS(Accelerated Graphics Port Interface Specification), 수정판 2.0에 따른다.
메모리 허브(330)는 제1 버스(342) 및 제2 버스(344)에 연결된 입/출력(I/O) 허브(340)에 (허브 링크(338)를 통해) 연결될 수도 있다. 제1 버스(342)는 하나 이상의 I/O 디바이스들로의 액세스를 제어하는 I/O 컨트롤러(346)에 연결될 수 있다. 도 3에 도시된 바와 같이, 이러한 디바이스들은 일 실시예에서, 그러한 키보드(352) 및 마우스(354)와 같은 입력 디바이스들을 포함할 수 있다. I/O 허브(340)는 예를 들어, 하드 디스크 드라이브(356)에 연결될 수도 있다. 시스템(300)에 다른 저장 매체도 포함될 수 있다는 것이 이해될 것이다.
제2 버스(344)는 예를 들어, 플래시 메모리 및 무선 인터페이스(362)와 같은 비휘발성 메모리(360)을 포함하는 다양한 컴포넌트들에 연결될 수도 있다. 무선 인터페이스(362)는 소정의 실시예들에서, 원격 디바이스들과 통신하는데 사용될 수 있다. 도 3에 도시된 바와 같이, 무선 인터페이스(362)는 (도 3에 도시되지 않은 다른 컴포넌트들에 따라) 2극(dipole) 또는 다른 안테나(363)를 포함할 수 있다. 물론, 추가 디바이스들이 제1 버스(342) 및 제2 버스(344)에 연결될 수 있다. 명세서는 시스템(300)의 특정한 컴포넌트들을 참조하지만, 기재되고 도시된 실시예들의 다양한 수정들 및 변경들이 가능할 수 있다는 것이 고려된다.
실시예들은 명령어들을 수행하기 위해 시스템을 프로그램하는데 사용될 수 있는 저장된 명령어들을 갖는 저장 매체 상에 저장될 수 있고, 코드로 구현될 수 있다. 저장 매체는, 플로피 디스크들, 광 디스크들, CD-ROM들, CD-RW들 및 자기-광 디스크들을 포함하는 임의의 타입의 디스크, ROM들, DRAM들, SRAM들과 같은 RAM들, EPROM들, 플래시 메모리들, EEPROM들과 같은 반도체 장치들, 자기 또는 광 카드들 또는 전자 명령어들을 저장하기에 적합한 임의의 다른 타입의 매체를 포함할 수 있지만, 이에 한정되지 않는다.
본 발명이 제한된 수의 실시예들에 대해 기술되었지만, 본 기술분야의 통상의 기술자들은 그로부터의 다수의 수정들 및 변경들을 이해할 것이다. 첨부된 특허청구범위는 이러한 본 발명의 진정한 사상 및 범위 내에 포함되는 그러한 수정들 및 변경들을 모두 포함하도록 의도된다.

Claims (20)

  1. 반도체 장치로서,
    제1 디지털 인터페이스 회로를 포함하며, 명령어들을 실행하는 제1 프로세서 코어;
    제2 디지털 인터페이스 회로를 포함하며, 명령어들을 실행하는 제2 프로세서 코어; 및
    상기 제1 디지털 인터페이스 회로를 통하여 상기 제1 프로세서 코어에 연결되고 상기 제2 디지털 인터페이스 회로를 통하여 상기 제2 프로세서 코어에 연결된 아날로그 인터페이스 수단을 포함하고,
    상기 아날로그 인터페이스 수단은 상기 제1 프로세서 코어 및 상기 제2 프로세서 코어를 포함하는 패키지와 그에 연결된 상호접속부(interconnect) 사이에서 트래픽을 전달하고,
    상기 반도체 장치는 상기 제1 및 제2 프로세서 코어와 상기 아날로그 인터페이스 수단 사이에 연결된 공통 디지털 인터페이스를 더 포함하고, 상기 공통 디지털 인터페이스는 공통 클록 경로 또는 소스 동기 경로(source synchronous path)를 따라 트래픽을 라우팅하는 라우터를 포함하는, 반도체 장치.
  2. 제1항에 있어서,
    상기 패키지는 상기 제1 프로세서 코어, 상기 제2 프로세서 코어 및 상기 아날로그 인터페이스 수단을 포함하는 프로세서 소켓을 포함하는 반도체 장치.
  3. 삭제
  4. 제2항에 있어서,
    상기 아날로그 인터페이스 수단은 상기 프로세서 소켓에 대한 단일 전기 부하를 상기 상호접속부에 제공하는 반도체 장치.
  5. 삭제
  6. 제1항에 있어서,
    상기 공통 디지털 인터페이스는 상기 상호접속부 상의 전달을 위해 상기 제1 프로세서 코어 또는 상기 제2 프로세서 코어로부터 상기 트래픽을 선택하기 위한 다중화기를 포함하고,
    상기 다중화기는 유선 OR 버스(wired OR bus)를 에뮬레이트(emulating)하기 위한 선택 로직 수단의 출력을 수신하는, 반도체 장치.
  7. 삭제
  8. 제1항에 있어서,
    상기 공통 디지털 인터페이스는 스트로브 경로를 더 포함하고, 상기 스트로브 경로 및 상기 소스 동기 경로는 공통 드라이브 클록 신호에 의해 제어되는 반도체 장치.
  9. 제1항에 있어서,
    상기 소스 동기 경로는,
    상기 제1 프로세서 코어에 대한 인입 데이터를 수신하는 제1 래치 및 상기 제2 프로세서 코어에 대한 인입 데이터를 수신하는 제2 래치- 상기 제1 래치 및 상기 제2 래치는 인입 스트로브 신호에 의해 제어가능함 - ; 및
    상기 제1 래치 및 상기 제2 래치에 연결된 다중화기
    를 포함하고,
    상기 다중화기는 디스큐 셀렉터(deskew selector)에 의해 제어가능하고, 상기 디스큐 셀렉터는 상기 인입 스트로브 신호에 의해 제어가능한 반도체 장치.
  10. 다중 프로세서 시스템으로서,
    제1 디지털 인터페이스를 갖는 제1 코어, 제2 디지털 인터페이스를 갖는 제2 코어, 및 상기 제1 코어 및 상기 제2 코어에 연결된 공통 아날로그 인터페이스를 포함하는 다중코어 프로세서;
    DRAM(dynamic random access memory); 및
    상기 DRAM에 상기 다중코어 프로세서를 연결하는 공유 버스(shared bus)를 포함하고,
    상기 다중 프로세서 시스템은 상기 제1 및 제2 디지털 인터페이스와 상기 공통 아날로그 인터페이스 사이에 연결된 공통 디지털 인터페이스를 더 포함하고, 상기 공통 디지털 인터페이스는 상기 공유 버스 상의 전송을 위해 상기 제1 코어의 데이터 및 상기 제2 코어의 데이터를 수신하는 다중화기를 포함하는, 다중 프로세서 시스템.
  11. 제10항에 있어서,
    상기 다중코어 프로세서는 상기 제1 코어, 상기 제2 코어, 상기 제1 디지털 인터페이스, 상기 제2 디지털 인터페이스 및 상기 공통 아날로그 인터페이스를 포함하는 단일 기판을 포함하는 다중 프로세서 시스템.
  12. 제10항에 있어서,
    상기 공통 아날로그 인터페이스는 상기 제1 코어 및 상기 제2 코어로부터 상기 공유 버스에 단일 전기 부하를 제공하는 다중 프로세서 시스템.
  13. 삭제
  14. 삭제
  15. 제10항에 있어서,
    상기 다중화기에 연결된 로직 수단을 더 포함하고, 상기 로직 수단은 유선 OR 버스를 에뮬레이트하는 다중 프로세서 시스템.
  16. 공통 다중화기에 제1 코어의 데이터를 제공하는 단계;
    상기 공통 다중화기에 제2 코어의 데이터를 제공하는 단계;
    상기 공통 다중화기로부터의 출력을 위해 상기 제1 코어의 데이터 또는 상기 제2 코어의 데이터를 선택하는 단계; 및
    상기 제1 코어 및 상기 제2 코어에 대한 공통 아날로그 인터페이스를 통해 상기 선택된 데이터를 공유 버스로 라우팅하는 단계
    를 포함하는 반도체 장치의 인터페이싱 방법.
  17. 제16항에 있어서,
    상기 공통 다중화기에 제1 코어의 데이터를 제공하는 단계는 상기 제1 코어의 제1 버스 컨트롤러를 통해 상기 공통 다중화기에 상기 제1 코어의 데이터를 제공하는 단계를 포함하고, 상기 공통 다중화기에 제2 코어의 데이터를 제공하는 단계는 상기 제2 코어의 제2 버스 컨트롤러를 통해 상기 공통 다중화기에 상기 제2 코어의 데이터를 제공하는 단계를 포함하는 반도체 장치의 인터페이싱 방법.
  18. 제16항에 있어서,
    상기 데이터를 선택하는 단계는 상기 공통 다중화기로부터 상기 제1 코어의 데이터 또는 상기 제2 코어의 데이터를 출력하도록 유선 OR 연산(wired OR operation)을 수행하는 단계를 포함하는 반도체 장치의 인터페이싱 방법.
  19. 제18항에 있어서,
    상기 제1 코어의 데이터와 상기 제2 코어의 데이터를 상기 공통 다중화기에 연결된 논리 게이트에서 결합하는 단계를 더 포함하는 반도체 장치의 인터페이싱 방법.
  20. 제16항에 있어서,
    제3 코어의 데이터를 상기 공통 다중화기에 제공하는 단계를 더 포함하고, 상기 공통 다중화기로부터의 출력을 위해 상기 제1 코어의 데이터 또는 상기 제2 코어의 데이터를 선택하는 단계는 상기 공통 다중화기로부터의 출력을 위해 상기 제1 코어 또는 상기 제2 코어 또는 상기 제3 코어의 데이터를 선택하는 단계를 포함하는 반도체 장치의 인터페이싱 방법.
KR1020087022518A 2006-03-14 2007-03-13 반도체 장치, 다중 프로세서 시스템 및 반도체 장치의 인터페이싱 방법 KR101120241B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/374,708 2006-03-14
US11/374,708 US7647476B2 (en) 2006-03-14 2006-03-14 Common analog interface for multiple processor cores
PCT/US2007/063924 WO2007106834A1 (en) 2006-03-14 2007-03-13 A common analog interface for multiple processor cores

Publications (2)

Publication Number Publication Date
KR20080094728A KR20080094728A (ko) 2008-10-23
KR101120241B1 true KR101120241B1 (ko) 2012-03-16

Family

ID=38509820

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087022518A KR101120241B1 (ko) 2006-03-14 2007-03-13 반도체 장치, 다중 프로세서 시스템 및 반도체 장치의 인터페이싱 방법

Country Status (8)

Country Link
US (1) US7647476B2 (ko)
JP (1) JP5232019B2 (ko)
KR (1) KR101120241B1 (ko)
CN (1) CN101385008B (ko)
DE (1) DE112007000443B4 (ko)
GB (1) GB2450281B (ko)
RU (1) RU2417412C2 (ko)
WO (1) WO2007106834A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7734972B2 (en) * 2008-01-23 2010-06-08 Intel Corporation Common test logic for multiple operation modes
US8639885B2 (en) * 2009-12-21 2014-01-28 Oracle America, Inc. Reducing implementation costs of communicating cache invalidation information in a multicore processor
US8195883B2 (en) * 2010-01-27 2012-06-05 Oracle America, Inc. Resource sharing to reduce implementation costs in a multicore processor
KR101121454B1 (ko) * 2010-07-26 2012-03-16 엠텍비젼 주식회사 블록간 분리 구조를 가지는 프로세서 칩
US8484642B2 (en) * 2010-11-17 2013-07-09 Intel Corporation Processor core selection based at least in part upon at least one inter-dependency
KR101104380B1 (ko) 2010-12-17 2012-01-16 한국과학기술원 반도체 칩 패키지, 이를 포함하는 반도체 모듈, 전자 시스템 및 반도체 칩 패키지의 제조 방법
EP2939114A1 (en) * 2012-12-26 2015-11-04 Huawei Technologies Co., Ltd. Processing method for a multicore processor and multicore processor
US9658642B2 (en) 2013-07-01 2017-05-23 Intel Corporation Timing control for unmatched signal receiver
CN105279007B (zh) * 2014-07-10 2018-12-25 龙芯中科技术有限公司 多核处理器的模拟方法及装置
CN105550140B (zh) * 2014-11-03 2018-11-09 联想(北京)有限公司 一种电子设备及数据处理方法
CN108572892B (zh) * 2017-03-14 2020-10-27 大唐移动通信设备有限公司 一种基于PowerPC多核处理器的离线测试方法和装置
KR102482896B1 (ko) 2017-12-28 2022-12-30 삼성전자주식회사 이종 휘발성 메모리 칩들을 포함하는 메모리 장치 및 이를 포함하는 전자 장치
US11841776B2 (en) * 2019-06-12 2023-12-12 Intel Corporation Single chip multi-die architecture having safety-compliant cross-monitoring capability
US11689326B2 (en) * 2020-07-29 2023-06-27 Infineon Technologies Ag Diverse sensor measurement with analog output

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4389710A (en) * 1981-01-12 1983-06-21 Goodyear Aerospace Corporation Braking system test circuit
US20020169938A1 (en) 2000-12-14 2002-11-14 Scott Steven L. Remote address translation in a multiprocessor system

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4698753A (en) * 1982-11-09 1987-10-06 Texas Instruments Incorporated Multiprocessor interface device
JPS59165540A (ja) * 1983-03-09 1984-09-18 Ricoh Co Ltd デ−タ伝送制御方式
JPS61166668A (ja) * 1985-01-19 1986-07-28 Panafacom Ltd 多重プロセツサ制御方式
JPH0731661B2 (ja) * 1986-10-20 1995-04-10 株式会社日立製作所 プロセツサ
US5038143A (en) * 1987-12-09 1991-08-06 Texas Instruments Incorporated Analog interface system
JP2517141B2 (ja) * 1990-02-19 1996-07-24 富士通株式会社 バストランシ―バ強制閉塞試験方式
GB9419246D0 (en) * 1994-09-23 1994-11-09 Cambridge Consultants Data processing circuits and interfaces
US7099949B1 (en) * 1995-10-23 2006-08-29 Imec Vzw Interprocess communication protocol system
US6090650A (en) * 1997-09-30 2000-07-18 Intel Corporation Method to reduce timing skews in I/O circuits and clock drivers caused by fabrication process tolerances
US6009488A (en) * 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
JP2000068801A (ja) * 1998-08-21 2000-03-03 Nec Kyushu Ltd 半導体集積回路装置
JP4179677B2 (ja) * 1998-09-04 2008-11-12 株式会社ルネサステクノロジ マルチプロセッサ装置
US6601104B1 (en) * 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
JP3769413B2 (ja) * 1999-03-17 2006-04-26 株式会社日立製作所 ディスクアレイ制御装置
AU3829500A (en) * 1999-04-09 2000-11-14 Clearspeed Technology Limited Parallel data processing apparatus
US6725317B1 (en) * 2000-04-29 2004-04-20 Hewlett-Packard Development Company, L.P. System and method for managing a computer system having a plurality of partitions
US6920572B2 (en) * 2000-11-15 2005-07-19 Texas Instruments Incorporated Unanimous voting for disabling of shared component clocking in a multicore DSP device
US6892266B2 (en) * 2000-11-15 2005-05-10 Texas Instruments Incorporated Multicore DSP device having coupled subsystem memory buses for global DMA access
US20030120896A1 (en) * 2001-06-29 2003-06-26 Jason Gosior System on chip architecture
US6836813B1 (en) * 2001-11-30 2004-12-28 Advanced Micro Devices, Inc. Switching I/O node for connection in a multiprocessor computer system
US20030103490A1 (en) * 2001-12-05 2003-06-05 International Business Machines Corporation Integration of digital signal processor
US6880133B2 (en) * 2002-05-15 2005-04-12 Sonics, Inc. Method and apparatus for optimizing distributed multiplexed bus interconnects
US7155637B2 (en) * 2003-01-31 2006-12-26 Texas Instruments Incorporated Method and apparatus for testing embedded memory on devices with multiple processor cores
US7093147B2 (en) * 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
EP1475798A1 (en) * 2003-05-08 2004-11-10 Matsushita Electric Industrial Co., Ltd. Data processor, data processing method, program for data processor, and program recording medium
US7117419B2 (en) * 2003-08-05 2006-10-03 Newisys, Inc. Reliable communication between multi-processor clusters of multi-cluster computer systems
US20050080999A1 (en) * 2003-10-08 2005-04-14 Fredrik Angsmark Memory interface for systems with multiple processors and one memory system
US7290169B2 (en) * 2004-04-06 2007-10-30 Hewlett-Packard Development Company, L.P. Core-level processor lockstepping
JP4241921B2 (ja) * 2004-06-10 2009-03-18 株式会社日立製作所 計算機システム及びその資源割当て方法
US7340541B2 (en) * 2004-08-16 2008-03-04 National Instruments Corporation Method of buffering bidirectional digital I/O lines
US7752426B2 (en) * 2004-08-30 2010-07-06 Texas Instruments Incorporated Processes, circuits, devices, and systems for branch prediction and other processor improvements
US8789896B2 (en) * 2004-10-08 2014-07-29 Cequent Electrical Products Brake control unit
US7624250B2 (en) * 2005-12-05 2009-11-24 Intel Corporation Heterogeneous multi-core processor having dedicated connections between processor cores

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4389710A (en) * 1981-01-12 1983-06-21 Goodyear Aerospace Corporation Braking system test circuit
US20020169938A1 (en) 2000-12-14 2002-11-14 Scott Steven L. Remote address translation in a multiprocessor system

Also Published As

Publication number Publication date
GB2450281B (en) 2011-04-06
WO2007106834A1 (en) 2007-09-20
JP2009527829A (ja) 2009-07-30
US20070220233A1 (en) 2007-09-20
CN101385008A (zh) 2009-03-11
RU2008140511A (ru) 2010-04-20
GB0818601D0 (en) 2008-11-19
CN101385008B (zh) 2011-07-13
DE112007000443B4 (de) 2015-04-16
DE112007000443T5 (de) 2008-12-11
RU2417412C2 (ru) 2011-04-27
JP5232019B2 (ja) 2013-07-10
GB2450281A (en) 2008-12-17
KR20080094728A (ko) 2008-10-23
US7647476B2 (en) 2010-01-12

Similar Documents

Publication Publication Date Title
KR101120241B1 (ko) 반도체 장치, 다중 프로세서 시스템 및 반도체 장치의 인터페이싱 방법
US11424744B2 (en) Multi-purpose interface for configuration data and user fabric data
US8352774B2 (en) Inter-clock domain data transfer FIFO circuit
US8234483B2 (en) Memory units with packet processor for decapsulating read write access from and encapsulating response to external devices via serial packet switched protocol interface
KR100721581B1 (ko) 직렬 입/출력 인터페이스를 가진 멀티 포트 메모리 소자
US20070260778A1 (en) Memory controller with bi-directional buffer for achieving high speed capability and related method thereof
USRE46754E1 (en) Integrated circuit for clock generation for memory devices
US8902956B2 (en) On-package input/output clustered interface having full and half-duplex modes
US9502384B2 (en) Semiconductor devices and semiconductor systems including the same
US20230178121A1 (en) High-bandwidth memory module architecture
US8228101B2 (en) Source-synchronous clocking
US6754838B2 (en) Method for reducing tuning etch in a clock-forwarded interface
JP2005353168A (ja) メモリインターフェース回路及びメモリインターフェース方法
US8737233B2 (en) Increasing throughput of multiplexed electrical bus in pipe-lined architecture
KR20040094181A (ko) 커맨드 신호와 어드레스 신호의 고속 전송이 가능한메모리 시스템
US9959230B2 (en) Data transfer device
GB2521121A (en) A method and apparatus use with interrupts
US20170302430A1 (en) Asynchronous Interface For Communications Between Computing Resources That Are In Different Clock Domains
US20100017569A1 (en) Pcb including multiple chips sharing an off-chip memory, a method of accessing off-chip memory and a mcm utilizing fewer off-chip memories than chips
US20090113084A1 (en) Controlling transmission on an asynchronous bus
US7269681B1 (en) Arrangement for receiving and transmitting PCI-X data according to selected data modes
US11989145B2 (en) Write busy signaling for interface structures
US12015412B1 (en) Dual phase clock distribution from a single source in a die-to-die interface
JP5245658B2 (ja) バス接続におけるチップ間信号の共有化方法及び回路
JP2004110224A (ja) データ転送回路

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150130

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160127

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170201

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180201

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190129

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 9