KR100624641B1 - 기능 블록 코어-스위치 포인트 다중 매핑 온 칩 버스 구조및 이를 이용한 반도체 장치 - Google Patents

기능 블록 코어-스위치 포인트 다중 매핑 온 칩 버스 구조및 이를 이용한 반도체 장치 Download PDF

Info

Publication number
KR100624641B1
KR100624641B1 KR1020040080009A KR20040080009A KR100624641B1 KR 100624641 B1 KR100624641 B1 KR 100624641B1 KR 1020040080009 A KR1020040080009 A KR 1020040080009A KR 20040080009 A KR20040080009 A KR 20040080009A KR 100624641 B1 KR100624641 B1 KR 100624641B1
Authority
KR
South Korea
Prior art keywords
functional block
switch point
switch
block core
data
Prior art date
Application number
KR1020040080009A
Other languages
English (en)
Other versions
KR20060031112A (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 KR1020040080009A priority Critical patent/KR100624641B1/ko
Priority to US11/244,482 priority patent/US8051238B2/en
Publication of KR20060031112A publication Critical patent/KR20060031112A/ko
Application granted granted Critical
Publication of KR100624641B1 publication Critical patent/KR100624641B1/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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

기능 블록 코어-스위치 포인트 다중 매핑 온 칩 버스 구조 및 이를 이용한 반도체 장치가 개시된다. 복수개의 스위치 포인트, 상기 스위치 포인트에 연결되어 데이터를 송수신하는 적어도 하나의 기능 블록 코어, 및 상기 스위치 포인트들간에 연결되어 상기 스위치 포인트들간에 데이터를 송수신하는 적어도 하나의 링크를 포함하고, 동일한 스위치 포인트에 연결된 기능 블록 코어들간에는 상기 동일한 스위치 포인트를 통해서 데이터를 송수신하며, 상이한 스위치 포인트에 연결된 기능 블록 코어들간에는 상기 상이한 스위치 포인트들간에 연결된 링크들과 스위치 포인트들을 통해서 데이터를 송수신하는 것을 특징으로 하는 온 칩 버스를 구성한다. 따라서, 시스템 온 칩을 구성하는 기능 블록 코어들간의 통신에 필요한 에너지 소모량과 통신 지연 시간을 개선할 수 있다.

Description

기능 블록 코어-스위치 포인트 다중 매핑 온 칩 버스 구조 및 이를 이용한 반도체 장치{ON-CHIP BUS ARCHITECTURE WITH MULTIPLE MAPPING OF FUNCTIONAL BLOCK CORES AND SWITCH POINTS, AND SEMICONDUCTOR DEVICE USING THE SAME}
도 1은 종래 기술에 의한 온 칩 버스 구조의 한 예를 도시한 블록도이다.
도 2는 메쉬 기반의 온 칩 버스 구조에 이용되는 종래의 스위치 포인트의 구성예를 도시한 블록도이다.
도 3은 본 발명에 따른 온 칩 버스 구조의 구성예를 도시한 블록도이다.
도 4는 본 발명에 따라 두 개의 기능 블록 코어들에 연결될 수 있는 스위치 포인트의 구성예를 도시한 블록도이다.
도 5는 본 발명에 따른 온 칩 버스 구조를 구비한 반도체 장치의 구성예를 도시한 블록도이다.
* 도면의 주요부분에 대한 부호의 설명 *
300 : 메쉬 기반 온 칩 버스
310a~310i : 기능 블록 코어
320a~320l : 스위치 포인트
330a~330l, 331a~331h : 링크
본 발명은 시스템 온 칩의 온 칩 버스에 대한 것으로, 특히 시스템 온 칩을 구성하는 기능 블록 코어들간의 통신에 필요한 에너지 소모량과 통신 지연 시간을 개선할 수 있는 메쉬 기반의 온 칩 버스 구조 및 메쉬 기반의 온 칩 버스 구조를 채택한 반도체 장치에 관한 것이다.
필요로 하는 기능을 수행하는 칩들을 그룹(group)화하여 개발하고 제품화하는 칩 세트(chip set)의 개념을 넘어서, 최근의 시스템 구현은 하나의 칩에 다양한 기능 블록들을 모두 집적시킨 시스템 온 칩(SOC; System On Chip)의 개념으로 발전되었다.
시스템 온 칩은 마이크로 프로세서, 온 칩 메모리, 오디오와 비디오 컨트롤러 및 코덱(CODEC; Coder and Decoder), 디지털 신호 처리기(DSP; Digital Signal Processor) 등의 다양한 기능 블록들, 즉, 기능 블록 코어(functional block core)들을 하나의 칩 위에 집적시켜서 제품의 사이즈를 줄이고, 이들 각 구성요소를 사용한 시스템의 개발에 들어가는 시간과 비용의 부담을 줄이는데 그 목적이 있다.
여기에서, 시스템 온 칩을 구성하는 기능 블록 코어들은 필요한 경우에는 별 도로 개발되어질 수도 있으나, 전문 개발 업체들에 의해서 이미 개발된 코어를 이용할 수도 있다. 이러한 코어의 재사용성(reusability) 때문에 개발에 들어가는 시간과 비용의 절감을 꾀할 수 있는 장점이 있다.
한편, 시스템 온 칩을 구성하는 기능 블록 코어들 간에도 높은 데이터 대역폭을 필요로 하는 응용예들이 증가하고 있어 이에 따라서 기능 블록 코어들간의 데이터 송수신의 부담이 증가하고 있다.
예를 들면, 상기한 바와 같이, 시스템 온 칩에 대용량의 온 칩 메모리가 내장되어 있거나, 오디오와 비디오 신호를 처리하기 위한 컨트롤러 또는 코덱이 내장된 시스템 온 칩의 경우에는 칩 내부의 기능 블록 코어들 간의 데이터 송수신 설계 측면에서 상당한 개발 부담이 존재한다.
일반적으로 많은 수의 칩과 칩간의 데이터 전달에는 버스(bus)가 이용된다. 예를 들면, ARM CPU가 사용되는 임베디드(embedded) 시스템에서는 시스템을 구성하는 CPU, 메모리 컨트롤러, 디스플레이 컨트롤러 등의 구성요소를 AMBA(Advanced Microprocessor Bus Architecture)와 같은 버스 아키텍쳐를 이용하여 연결시킨다.
시스템 온 칩이 종래의 칩 세트 개념을 하나의 칩 위에 집적시키는 방향으로 발전되어 가게되고, 시스템 온 칩 내부의 기능 블록 코어들간의 연결 관계도 상기한 버스 구조를 차용하여 이루어지는 방향으로 발전해가고 있다. 따라서, 종래 저집적도의 시스템 온 칩의 경우에는 칩 레벨의 버스 구조가 큰 수정 없이 그대로 차용되는 방향으로 이루어졌다.
그러나, 시스템 온 칩의 집적도가 급격히 높아지게 됨에 따라 버스를 구성하 는 와이어 폭이 극히 좁아지게 됨에 따라 와이어의 인덕턴스, 저항, 커패시턴스 등의 특성치가, 기능 블록 코어들을 구성하는 게이트들의 사이즈들과 비교하여서 무시할 수 없는 수준에 이르게 되었다. 이에 따라 종래의 버스 구조를 시스템 온 칩에 그대로 적용할 경우에는 원하는 시스템의 성능을 구현하기가 어려워지게 되었다.
따라서, 이와 같은 시스템 온 칩에 대응된 효율적인 온 칩 버스 구조(on-chip bus architecture)와 설계 방법론(design methodology)을 포함한 기술 분야로서 네트워크 온 칩(NOC; Network On Chip)의 기술 분야가 대두되었으며, 현재 다양한 형태의 온 칩 버스 구조가 제시되고 있다.
도1은 종래 기술에 의한 온 칩 버스 구조의 한 예를 도시한 블록도이다.
도1에서 예시된 온 칩 버스 구조는 9개의 기능 블록 코어들이 포함된 시스템 온 칩에 사용될 수 있는 버스 구조의 한 형태로, AMD(Advanced Micro Devices, Inc.)사에 의해 출원된 미합중국 등록 특허 제5,974,487호에서 개시된 버스 구조를 일부 수정하여 도시한 것이다.
도 1의 온 칩 버스 구조는 다양한 기능 블록들로 구성된 9개의 기능 블록 코어(110a~110i)들, 기능 블록 코어들간의 통신을 담당하는 스위치 포인트들(120a~120l) 및 스위치 포인트들간을 연결하는 링크(link; 130a~130l,131a~131h)들로 구성되어 있다.
각 링크들과 스위치 포인트들은 링 구조(ring topology)로 이루어져 있으며, 상기 링 구조들이 모여서 2차원 메쉬(mesh)형태를 이루어 전체적인 버스구조를 이루고 있다.
이 경우에 있어서, 스위치 포인트(120a~120l)들은 메쉬 형태의 교차점(intersection)에 위치하고 있다. 각 스위치 포인트는 다른 스위치 포인트로부터 링크를 통하여 수신한 데이터를 다시 다른 스위치 포인트로 링크를 통하여 송신하는 중개 기능을 수행한다.
또한 각 스위치 포인트는 다른 스위치 포인트로부터 링크를 통하여 수신한 데이터를 자신에게 연결된 기능 블록 코어에 전달하고, 자신에게 연결된 기능 블록 코어가 송신하는 데이터를 목적(destination) 기능 블록 코어에 전달하기 위해서 다른 스위치 포인트로 링크를 통하여 전송하는 역할을 수행한다.
여기에서, 상기 스위치 포인트들간의 링크는 양방향(bi-directional)으로 연결될 수도 있으며, 단방향(uni-directional)으로만 연결될 수도 있다. 다시 양방향 링크는 서로 반대 방향으로 송신하는 단방향 와이어 쌍으로 이루어질 수도 있고, 하나의 와이어로 양방향 송수신을 구성할 수도 있다.
도 1에서 예시된 온 칩 버스 구조에 따라서, 기능 블록 코어들간 통신의 구체적인 예를 들면, 기능 블록 코어(110a)가 기능 블록 코어(110e)에 전송하여야 할 데이터가 있을 경우에, 기능 블록 코어(110a)는 기능 블록 코어(110a)가 연결된 스위치 포인트(120a)로 데이터를 전송한다.
스위치 포인트(120a)는 기능 블록 코어(110a)로부터 수신한 데이터를 스위치 포인트(120a)와 스위치 포인트(120d)간에 연결된 링크(131a)를 통해서 스위치 포인 트(120d)로 전달하며, 스위치 포인트(120d)는 링크(131a)를 통해서 스위치 포인트(120a)가 전송한 데이터를 수신한다. 마지막으로 스위치 포인트(120d)는 링크(131a)를 통해서 수신한 데이터를 스위치 포인트(120d)에 연결되어 있는 기능 블록 코어(110e)로 전달한다.
즉, 도1과 같은 온 칩 버스 구조에 있어서, 기능 블록 코어들간의 데이터 송수신은 각 기능 블록 코어가 연결된 스위치 포인트들과 스위치 포인트들을 연결한 링크를 매개로 하여 이루어진다.
도2는 메쉬 기반의 온 칩 버스 구조에 이용되는 종래의 스위치 포인트의 구성예를 도시한 블록도이다.
도2에 도시된 스위치 포인트의 구성예는 Proc. ISVLSI 02, April 2002에 게재된 "A Network on Chip Architecture and Design Methodology"에서 소개된 것이다.
도2에서 예시한 스위치 포인트(200)는 링크(213a~213d,214a~214d), 링크(213a~213d)를 통하여 수신되는 데이터의 큐잉(queueing)을 처리하기 위한 큐(queue; 210a~210d)와 수신한 데이터를 출력할 링크를 선택하기 위한 다중화기들(MUX; multiplier; 211a~211d)을 포함하여 구성된다. 또한 스위치 포인트(200)는 상기 다중화기들(211a~211d)을 제어하기 위한 각각의 선택 제어부(selection logic; 212a~212d)를 포함하여 구성된다.
도2에서 예시한 스위치 포인트(200)의 링크(213a~213d,214a~214d)는 양방향 링크를 구성하고 있고, 다시 양방향 링크은 서로 반대 방향으로 송신하는 단방향 와이어 두 개로 이루어져 있다. 즉, 스위치 포인트(200)의 양방향 링크는 스위치 포인트(200)측으로 수신하기 위한 링크(213a~213d)와 스위치 포인트(200)측에서 발신하기 위한 링크(214a~214d)로 구성된다.
스위치 포인트는 도1에서 예시한 메쉬 기반의 온 칩 버스 구조에서는 메쉬의 교차점에 위치하게 되기 때문에 각각 4개의 링크에 연결되는 경우(120d, 120e, 120h, 120i)와 3개의 링크에 연결되는 경우(120a, 120b, 120c, 120e, 120g, 120j, 120k, 120l)가 있을 수 있다.
도2에서 예시한 스위치 포인트(200)는 도1에서 예시한 메쉬 기반의 온 칩 버스 구조에서 4개의 링크에 연결되어 있는 경우의 스위치 포인트들(120d,120e, 120h, 120i)중의 하나에 적용될 수 있는 스위치 포인트의 구성예를 보여주고 있다. 특히, 4개의 링크와 좌하단에 기능 블록 코어가 연결된 스위치 포인트(120h,120i) 중의 하나의 적용될 수 있는 스위치 포인트의 구성예이다.
다른 스위치 포인트로부터 링크(213a~213d)를 통해서 수신된 데이터는 큐(210a~210d)에 입력되고, 큐에서 출력되어진 데이터는 데이터를 수신한 링크를 제외한 나머지 세 개의 링크중의 적어도 하나를 통해서 선택하여 스위치 포인트의 외부로 다시 출력될 수 있다. 이러한 중개 역할을 담당하기 위해서 스위치 포인트에는 다른 스위치 포인트와 연결되어 있는 링크 중에서 데이터가 출력될 링크를 선택하기 위한 다중화기가 각각 위치한다.
예를 들면, 도2의 다중화기(211d)는 하나의 링크(214d)로 출력될 데이터를 결정하기 위해서 나머지 세 개의 링크(213a~213c)로부터 입력되어 큐(210a~210c)에 준비되어 있는 데이터를 선택하는 역할을 담당한다. 다중화기(211d)는 다중화기(211d)를 제어하는 선택 제어부(212d)에 의해서 제어된다.
또한, 각 스위치 포인트는 각 스위치 포인트에 연결된 기능 블록 코어의 버스 인터페이스와 연결하기 위한 포트(port)를 가진다.
기능 블록 코어와 연결하기 위한 포트 역시, 기능 블록 코어로부터 수신한 데이터를 큐잉하기 위한 큐(210e)와 4개의 링크로부터 전달된 데이터를 선택적으로 기능 블록 코어에 전달하기 위한 다중화기(211e) 및 다중화기를 제어하는 선택 제어부(212e)를 포함하여 구성된다.
도2에서 예시한 스위치 포인트를 이용한 도1의 온 칩 버스 구조는 버스의 확장이 쉽고 모듈화되어 있으며, 버스를 이루고 있는 링크의 길이가 짧다는 장점을 가지고 있지만, 바로 옆에 위치한 코어와 통신하기 위해서도 링크를 사용하여야 한다.
도1의 경우에서 상기한 기능 블록 코어들간의 통신예에서 언급한 바와 같이, 바로 옆에 위치한 기능 블록 코어(110a)와 기능 블록 코어(110e)간의 데이터 송수신을 위해서도 링크(131a)를 사용하여야 한다는 단점이 존재한다.
따라서, 링크 사용 정도와 비례하여서 에너지 소모 및 통신 지연 시간이 증가하게 됨으로써 각 코어들간의 통신 특성에 맞게 위치를 배정하여야 하는 것은 물론 링크 사용 정도를 최소한으로 조정하기 위한 방법이 필요하게 된다.
상기와 같은 문제점을 해결하기 위해서 본 발명의 목적은 시스템 온 칩의 구성 요소인 기능 블록 코어들간의 통신 에너지와 통신 지연 시간을 줄일 수 있는 시스템 온 칩의 온 칩 버스 구조를 제공하는데 있다.
본 발명의 다른 목적은 시스템 온 칩의 구성 요소인 기능 블록 코어들간의 통신 에너지와 통신 지연 시간을 줄일 수 있는 시스템 온 칩의 온 칩 버스 구조가 채택된 반도체 장치를 제공하는데 있다.
본 발명의 또 다른 목적은 시스템 온 칩의 구성 요소인 기능 블록 코어들간의 통신 에너지와 통신 지연 시간을 줄일 수 있는 시스템 온 칩의 온 칩 버스의 데이터 송수신 방법을 제공하는데 있다.
상기 목적을 달성하기 위해 본 발명은, 복수개의 스위치 포인트, 상기 스위치 포인트에 연결되어 데이터를 송수신하는 적어도 하나의 기능 블록 코어, 및 상기 스위치 포인트들간에 연결되어 상기 스위치 포인트들간에 데이터를 송수신하는 적어도 하나의 링크를 포함하고, 동일한 스위치 포인트에 연결된 기능 블록 코어들간에는 상기 동일한 스위치 포인트를 통해서 데이터를 송수신하며, 상이한 스위치 포인트에 연결된 기능 블록 코어들간에는 상기 상이한 스위치 포인트들간에 연결된 링크들과 스위치 포인트들을 통해서 데이터를 송수신하는 것을 특징으로 하는 온 칩 버스를 제공한다.
여기에서, 상기 온 칩 버스는 링크를 그물형으로 배열하고, 상기 스위치 포인트는 상기 링크가 배열된 그물형의 각 교점의 전부 또는 일부에 위치시키는 메쉬 기반의 온 칩 버스 구조를 이룰 수 있다.
여기에서, 상기 스위치 포인트는 기능 블록 코어 또는 링크들로부터 수신한 데이터를 큐잉하는 적어도 하나의 큐를 포함하여 구성될 수 있고, 기능 블록 코어 또는 링크들로부터 수신한 데이터를 목적 기능 블록 코어 또는 목적 링크로 선택적으로 발신하기 위한 적어도 하나의 다중화기를 포함하여 구성될 수 있다.
상기 다른 목적을 달성하기 위해 본 발명은, 복수개의 스위치 포인트, 상기 스위치 포인트에 연결되어 데이터를 송수신하는 적어도 하나의 기능 블록 코어, 및 상기 스위치 포인트들간에 연결되어 상기 스위치 포인트들간에 데이터를 송수신하는 적어도 하나의 링크를 포함하고, 동일한 스위치 포인트에 연결된 기능 블록 코어들간에는 상기 동일한 스위치 포인트를 통해서 데이터를 송수신하며, 상이한 스위치 포인트에 연결된 기능 블록 코어들간에는 상기 상이한 스위치 포인트들간에 연결된 링크들과 스위치 포인트들을 통해서 데이터를 송수신하는 것을 특징으로 하는 온 칩 버스를 구비한 반도체 장치를 제공한다.
여기에서, 상기 반도체 장치는 상기 온 칩 버스가 포함한 스위치 포인트들 중의 일부 스위치 포인트를 외부와 연결하여 외부와 데이터를 송수신하는 것을 특징으로 할 수 있다.
상기 또 다른 목적을 달성하기 위해 본 발명은, 소스 기능 블록 코어가 연결된 스위치 포인트에서 상기 소스 기능 블록 코어가 전송한 데이터를 수신하는 단계, 목적 기능 블록 코어가 상기 스위치 포인트에 직접 연결되어 있는지를 판단하는 단계, 상기 목적 기능 블록 코어가 상기 스위치 포인트에 직접 연결되어 있는 경우에는 상기 스위치 포인트를 통하여 상기 데이터를 상기 목적 기능 블록 코어가 수신하는 단계, 및 상기 목적 기능 블록 코어가 상기 스위치 포인트에 직접 연결되어 있지 않은 경우에는 상기 스위치 포인트와 상기 목적 기능 블록 코어들간에 연결된 링크들과 스위치 포인트들을 통하여 상기 데이터를 상기 목적 기능 블록 코어가 수신하는 단계를 포함하여 구성된 것을 특징으로 하는 온 칩 버스의 데이터 송수신 방법을 제공한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도3은 본 발명에 따른 온 칩 버스 구조의 구성예를 도시한 블록도이다.
도3에서 예시된 온 칩 버스 구조는 도1에서 예시한 온 칩 버스 구조와 마찬가지로 다양한 기능 블록들로 구성된 코어(310a~310i)들과 코어들간의 통신을 담당하는 스위치 포인트들(320a~320l)과 링크들(330a~330l, 331a~331h)로 구성되어 있다.
각 링크들과 스위치 포인트들은 링 구조로 이루어져 있으며, 상기 링 구조들이 모여서 2차원 메쉬 형태를 이루어 전체적인 버스 구조를 이루고 있음은 상기 도 1에서 예시한 버스 구조(100)와 동일하다.
이 경우에 있어서, 각 스위치 포인트는 메쉬 형태의 교차점에 위치하고 있으며, 각 스위치 포인트는 다른 스위치 포인트로부터 링크를 통하여 수신한 데이터를 다시 다른 스위치 포인트로 링크를 통하여 송신하는 중개 기능을 수행함은 상기 도1에서 예시한 버스 구조와 동일하다.
즉, 각 스위치 포인트는 다른 스위치 포인트로부터 링크를 통하여 수신한 데이터를 자신에게 연결된 기능 블록 코어에 전달하고, 자신에게 연결된 기능 블록 코어가 송신하는 데이터를 목적 기능 블록 코어에 전달하기 위해서 다른 스위치 포인트로 링크를 통하여 전송하는 역할을 수행한다.
또한, 상기 스위치 포인트들간의 링크는 양방향으로 연결될 수도 있고, 단방향으로만 연결될 수도 있으며, 양방향 링크는 다시 서로 반대 방향으로 송신하는 단방향 와이어 쌍 또는 송수신을 모두 담당하는 하나의 와이어를 이용하여 구성될 수 있음도 동일하다.
그러나, 도1에서 예시한 온 칩 버스 구조와 비교하여 볼 때에 하나의 스위치 포인트에 하나의 기능 블록 코어들이 연결되어 있는 경우뿐 아니라, 하나의 스위치 포인트에 복수개의 기능 블록 코어들이 연결되어 있는 경우도 존재한다는 점이 중요한 차이점이다.
즉, 기능 블록 코어들과 스위치 포인트의 다중 매핑(multiple mapping)이 가능하도록 온 칩 버스 구조가 구성된다는 점이 차이점이다.
예를 들면, 스위치 포인트(320a)는 두 개의 기능 블록 코어들(310a,310b)에 연결되어 있으며, 스위치 포인트(320h)는 네 개의 기능 블록 코어들(310d,310e,310g,310h)에 연결되어 있다.
본 발명은 통신량이 많은 기능 블록 코어들을 서로 이웃에 배치하고 기능 블록 코어들이 하나의 스위치 포인트를 공유하도록 함으로써 링크의 사용빈도를 줄여 통신 에너지의 소모와 통신 지연 시간을 줄이도록 한다.
도3에서 예시된 온 칩 버스 구조(300)에서 기능 블록 코어들간의 통신의 예를 들면, 기능 블록 코어(310a)가 기능 블록 코어(310e)에 전송하여야 할 데이터가 있을 경우에, 기능 블록 코어(310a)는 기능 블록 코어(310a)가 연결된 스위치 포인트(320d)로 데이터를 전송한다. 스위치 포인트(320d)는 기능 블록 코어(310a)와 함께 스위치 포인트(320d)에 연결되어 있는 기능 블록 코어(310e)에 직접적으로 기능 블록 코어(310a)로부터 수신한 데이터를 전송한다.
이에 반하여, 종래 기술에 따른 도1에서 예시한 온 칩 버스구조의 경우에서 기능 블록 코어(110a)가 기능 블록 코어(110e)에 데이터를 전송할 경우의 예를 들면, 스위치 포인트(120a)는 기능 블록(110a)으로부터 수신한 데이터를 스위치 포인트(120a)와 스위치 포인트(120d)간에 연결된 링크(131a)를 통해서 스위치 포인트(120d)로 전달한다. 다음으로, 스위치 포인트(120d)는 링크(131a)를 통해서 스위치 포인트(120a)가 전송한 데이터를 수신한다. 마지막으로, 스위치 포인트(120d)는 링크(131a)를 통해서 수신한 데이터를 스위치 포인트(120d)에 연결되어 있는 기능 블록(110e)으로 전달한다.
따라서, 본 발명의 온 칩 버스 구조에 있어서는 통신량이 많은 기능 블록 코어들간에 스위치 포인트를 공유하도록 함으로써, 링크의 사용량을 최소화함으로써 통신 에너지 소모와 통신 지연 시간을 줄일 수 있다.
상기한 동작예는 두 개의 기능 블록 코어들(310a,310b)이 연결된 스위치 포인트(320a)의 경우를 예시한 것이지만, 네 개의 기능 블록 코어들(310d,310e,310g,310h)이 연결된 스위치 포인트(320h)의 경우에도 동일한 동작이 이루어질 수 있다.
한편, 하나의 스위치 포인트에 연결된 기능 블록 코어들의 수가 늘어남에 따라서, 각 스위치 포인트는 복수개의 기능 블록 코어의 버스 인터페이스들과 연결하기 위한 버스 인터페이스 포트를 가져야 할 것이다.
이에 따라서 하나의 스위치 포인트에 포함된 포트수가 늘어나게 되면, 공유 배선의 증가로 인한 커패시턴스의 증가 등의 요인에 의해서 스위치 포인트 자체의 에너지 소모량이 늘어날 수 있지만, 종래 기술에 의해서 목적 기능 블록 코어로 데이터를 전달하기 위해서 여러 링크를 통과하기 위해서 소모되는 에너지 소모량에 비해서는 미미한 것으로 알려져 있다.
마찬가지로 여러 링크를 통과하는 경우를 줄임으로써, 링크의 사용량을 줄이게 되어 링크의 데이터 대역폭을 늘이는 효과를 가져올 수 있으므로 기능 블록 코어들간의 통신 지연 시간까지도 줄이는 효과를 가져올 수 있다.
도4는 본 발명에 따라 두 개의 기능 블록 코어들에 연결될 수 있는 스위치 포인트의 구성예를 도시한 블록도이다.
도4에서 예시한 스위치 포인트(400)는, 본 발명을 위하여 네 개의 링크(413a~413d, 414a~414d)에 연결되고, 두 개의 기능 블록 코어들에 연결되어 사용될 수 있는 스위치 포인트를 예시한 것이다. 즉, 도3의 온 칩 버스 구조(300)에서 스위치 포인트(320i)에 적용될 수 있는 스위치 포인트의 구성예이다.
도4의 스위치 포인트(400) 역시 수신 데이터의 큐잉을 처리하기 위한 큐(410a~410d)와 수신한 데이터를 선택적으로 송신하기 위해한 다중화기(411a~411d)를 포함하여 구성된다. 각 다중화기(411a~411d)는 각각의 선택 제어부(412a~412d)에 의해서 제어됨은 종래 기술에 따른 도2의 스위치 포인트(200)의 구성예와 동일하다.
도2에서 예시한 스위치 포인트(200)와 비교하면, 도4의 스위치 포인트(400)는 스위치 포인트(400)에 연결된 두 개의 기능 블록 코어들의 버스 인터페이스에 대한 포트를 두 개 가지고 있다.
또한, 두 개의 기능 블록 코어들에 대한 포트는 스위치 포인트(400)에 연결된 네 개의 링크뿐만 아니라 서로간에도 직접적으로 연결되어 있다.
따라서, 하나의 스위치 포인트를 공유하여 연결된 기능 블록 코어들간의 데이터 송수신은, 데이터를 송신하는 기능 블록 코어의 버스 인터페이스와 데이터를 수신하는 기능 블록 코어의 버스 인터페이스에 연결된 포트간의 직접적인 연결에 의해서 이루어지게 된다.
반면에, 하나의 스위치 포인트를 공유하여 연결된 기능 블록 코어들간이 아 니라 서로 다른 스위치 포인트에 연결된 기능 블록 코어들간의, 링크를 사용하여야 하는 데이터 송수신의 경우에는 종래 기술에 의한 도2에서 예시한 스위치 포인트의 경우와 동일하게 동작한다.
도5는 본 발명에 따른 온 칩 버스 구조를 구비한 반도체 장치의 구성예를 도시한 블록도이다.
도5의 반도체 장치(500)는 도3에서 도시된 본 발명의 온 칩 버스 구조(300)를 구비한 반도체 장치의 구성예를 간략히 도시한 블록도이다.
상기 반도체 장치(500)에 포함된 온 칩 버스(300)에 위치한 상기 스위치 포인트들(320a~320l) 중에서 일부 스위치 포인트는 반도체 장치(500)의 외부와 연결되어 데이터를 송수신할 수 있다.
즉, 도5의 경우에 있어서, 메쉬 형태로 이루어진 온 칩 버스(300)의 가장 자리에 위치한 스위치 포인트들(320a,320b,320c,320f,320g,320j,320k,320l)중의 적어도 하나를 이용하여 반도체 장치(500)의 외부와의 연결을 담당하게 할 수 있다.
물론, 반도체 장치(500)의 구성에 따라서는 온 칩 버스(300)의 가장 자리에 위치한 스위치 포인트들이 아닌 스위치 포인트들(320d,320e,320h,320i)중의 적어도 하나를 이용하여서도 반도체 장치(500)의 외부와의 연결을 담당하게 할 수도 있다.
예를 들면, 도5의 온 칩 버스 구조를 채택한 반도체 장치(500)에 있어서 스위치 포인트(320c)를 이용하여 칩의 외부와의 연결을 담당하게 한다면, 스위치 포인트(320c)는 세 개의 링크(330a,330d,331c)에 연결되고, 이에 추가로 링크(530)에 의해서 칩의 외부와 연결된다.
상기 링크(530)는 양방향으로 연결될 수도 있으며, 단방향으로만 연결될 수도 있다. 양방향 구성에 있어서도 서로 반대 방향으로 송신하는 단방향 와이어 쌍으로 이루어질 수도 있고, 하나의 와이어로 양방향 송수신을 구성할 수도 있음은 온 칩 버스 구조 내부의 링크와 동일하다.
또한 반도체 장치(500)의 구성에 따라서 상기 링크(530)은 복수개의 와이어로 구성되어 병렬 통신 라인으로 구성되거나, 하나의 와이어로 구성되어 직렬 통신 라인으로 구성되어, 필요한 개수의 반도체 장치의 입출력 패드(pad)를 통해서 외부와 연결된다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
상기와 같은 본 발명에 따르면, 메쉬 기반의 시스템 온 칩 버스 구조에 있어서, 기능 블록 코어들과 스위치 포인트의 다중 매핑을 활용하여, 서로간의 통신량이 많은 기능 블록 코어들간의 통신은 공유된 스위치 포인트를 이용하도록 함으로써 링크의 사용을 감소시켜 통신에 필요한 에너지 소모 및 지연 시간을 줄이는 효 과를 가져올 수 있다.

Claims (14)

  1. 복수개의 스위치 포인트;
    상기 스위치 포인트에 연결되어 상기 스위치 포인트를 통해 데이터를 송수신하는 적어도 하나의 기능 블록 코어; 및
    상기 스위치 포인트들간에 연결되어 상기 스위치 포인트들간에 데이터를 송수신하는 적어도 하나의 링크를 포함하고,
    동일한 스위치 포인트에 연결된 기능 블록 코어들간에는 상기 동일한 스위치 포인트를 통해서 데이터를 송수신하며,
    상이한 스위치 포인트에 연결된 기능 블록 코어들간에는 상기 상이한 스위치 포인트들간에 연결된 링크들과 스위치 포인트들을 통해서 데이터를 송수신하는 것을 특징으로 하는 온 칩 버스.
  2. 제 1 항에 있어서,
    상기 링크는 그물형으로 배열되며,
    상기 스위치 포인트는 상기 링크가 배열된 그물형의 각 교점의 전부 또는 일부에 위치하는 메쉬 기반의 온칩 버스를 이루는 것을 특징으로 하는 온 칩 버스.
  3. 제 1 항에 있어서,
    상기 동일한 스위치 포인트에 연결된 기능 블록 코어들간에 필요한 데이터 대역폭은
    상기 상이한 스위치 포인트에 연결된 기능 블록 코어들간에 필요한 데이터 대역폭에 비해서 평균적으로 큰 것을 특징으로 하는 온 칩 버스.
  4. 제 1 항에 있어서,
    상기 스위치 포인트는
    상기 스위치 포인트에 연결된 기능 블록 코어 또는 상기 스위치 포인트에 연결된 링크들로부터 수신한 데이터를 큐잉하는 적어도 하나의 큐를 포함하여 구성된 것을 특징으로 하는 온 칩 버스.
  5. 제 1 항에 있어서,
    상기 스위치 포인트는
    상기 스위치 포인트에 연결된 기능 블록 코어 또는 상기 스위치 포인트에 연결된 링크들 중의 하나로부터 수신한 데이터를,
    상기 데이터를 발신한 기능 블록 코어 또는 링크를 제외한, 상기 스위치 포인트에 연결된 기능 블록 코어와 상기 스위치 포인트에 연결된 링크들 중의 적어도 하나로 선택적으로 발신하기 위한 적어도 하나의 다중화기를 구비한 것을 특징으로 하는 온 칩 버스.
  6. 복수개의 스위치 포인트;
    상기 스위치 포인트에 연결되어 상기 스위치 포인트를 통해 데이터를 송수신하는 적어도 하나의 기능 블록 코어; 및
    상기 스위치 포인트들간에 연결되어 상기 스위치 포인트들간에 데이터를 송수신하는 적어도 하나의 링크를 포함하고,
    동일한 스위치 포인트에 연결된 기능 블록 코어들간에는 상기 동일한 스위치 포인트를 통해서 데이터를 송수신하며,
    상이한 스위치 포인트에 연결된 기능 블록 코어들간에는 상기 상이한 스위치 포인트들간에 연결된 링크들과 스위치 포인트들을 통해서 데이터를 송수신하는 것을 특징으로 하는 온 칩 버스를 구비한 반도체 장치.
  7. 제 6 항에 있어서,
    상기 온 칩 버스의 링크는 그물형으로 배열되며,
    상기 온 칩 버스의 스위치 포인트는 상기 링크가 배열된 그물형의 각 교점의 전부 또는 일부에 위치하는 메쉬 기반의 온칩 버스를 이루는 것을 특징으로 하는 온 칩 버스를 구비한 반도체 장치.
  8. 제 6 항에 있어서,
    상기 온 칩 버스의 동일한 스위치 포인트에 연결된 기능 블록 코어들간에 필요한 데이터 대역폭은
    상기 온 칩 버스의 상이한 스위치 포인트에 연결된 기능 블록 코어들간에 필 요한 데이터 대역폭에 비해서 평균적으로 큰 것을 특징으로 하는 온 칩 버스를 구비한 반도체 장치.
  9. 제 6 항에 있어서,
    상기 온 칩 버스의 스위치 포인트는
    상기 스위치 포인트에 연결된 기능 블록 코어 또는 상기 스위치 포인트에 연결된 링크들로부터 수신한 데이터를 큐잉하는 적어도 하나의 큐를 포함하여 구성된 것을 특징으로 하는 온 칩 버스를 구비한 반도체 장치.
  10. 제 6 항에 있어서,
    상기 온 칩 버스의 스위치 포인트는
    상기 스위치 포인트에 연결된 기능 블록 코어 또는 상기 스위치 포인트에 연결된 링크들 중의 하나로부터 수신한 데이터를,
    상기 데이터를 발신한 기능 블록 코어 또는 링크를 제외한, 상기 스위치 포인트에 연결된 기능 블록 코어와 상기 스위치 포인트에 연결된 링크들 중의 적어도 하나로 발신하기 위한 적어도 하나의 다중화기를 구비한 것을 특징으로 하는 온 칩 버스를 구비한 반도체 장치.
  11. 제 6 항에 있어서,
    상기 반도체 장치는
    상기 온 칩 버스가 포함한 상기 스위치 포인트들 중의 일부 스위치 포인트를
    상기 반도체 장치의 외부와 연결하여 외부와 데이터를 송수신하는 것을 특징으로 하는 온 칩 버스를 구비한 반도체 장치.
  12. 제 6 항에 있어서,
    상기 기능 블록 코어는
    마이크로 프로세서, 디지털 신호 처리기, FPGA 블록, 혼성 신호 처리기, 입출력 컨트롤러, 메모리 블록들 중의 하나인 것을 특징으로 하는 온 칩 버스를 구비한 반도체 장치.
  13. 소스 기능 블록 코어가 연결된 스위치 포인트에서 상기 소스 기능 블록 코어가 전송한 데이터를 수신하는 단계;
    상기 데이터를 수신할 목적 기능 블록 코어가 상기 소스 기능 블록 코어가 연결된 스위치 포인트에 직접 연결되어 있는지를 판단하는 단계;
    상기 목적 기능 블록 코어가 상기 소스 기능 블록 코어가 연결된 스위치 포인트에 직접 연결되어 있는 경우에는 상기 소스 기능 블록 코어가 연결된 스위치 포인트를 통하여 상기 데이터를 상기 목적 기능 블록 코어가 수신하는 단계; 및
    상기 목적 기능 블록 코어가 상기 소스 기능 블록 코어가 연결된 스위치 포인트에 직접 연결되어 있지 않은 경우에는 상기 소스 기능 블록 코어가 연결된 스위치 포인트와 상기 목적 기능 블록 코어들간에 연결된 링크들과 스위치 포인트들 을 통하여 상기 데이터를 상기 목적 기능 블록 코어가 수신하는 단계를 포함하여 구성된 것을 특징으로 하는 온 칩 버스의 데이터 송수신 방법.
  14. 제 13 항에 있어서,
    상기 소스 기능 블록 코어가 연결된 스위치 포인트에서 상기 소스 기능 블록 코어가 전송한 데이터를 수신하는 단계는
    상기 스위치 포인트에서 수신한 데이터를 큐잉하는 단계를 포함하여 구성된 것을 특징으로 하는 온 칩 버스의 데이터 송수신 방법.
KR1020040080009A 2004-10-07 2004-10-07 기능 블록 코어-스위치 포인트 다중 매핑 온 칩 버스 구조및 이를 이용한 반도체 장치 KR100624641B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020040080009A KR100624641B1 (ko) 2004-10-07 2004-10-07 기능 블록 코어-스위치 포인트 다중 매핑 온 칩 버스 구조및 이를 이용한 반도체 장치
US11/244,482 US8051238B2 (en) 2004-10-07 2005-10-06 On-chip bus architectures with interconnected switch points, semiconductor devices using the same and methods for communicating data in an on-chip bus architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040080009A KR100624641B1 (ko) 2004-10-07 2004-10-07 기능 블록 코어-스위치 포인트 다중 매핑 온 칩 버스 구조및 이를 이용한 반도체 장치

Publications (2)

Publication Number Publication Date
KR20060031112A KR20060031112A (ko) 2006-04-12
KR100624641B1 true KR100624641B1 (ko) 2006-09-15

Family

ID=36145206

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040080009A KR100624641B1 (ko) 2004-10-07 2004-10-07 기능 블록 코어-스위치 포인트 다중 매핑 온 칩 버스 구조및 이를 이용한 반도체 장치

Country Status (2)

Country Link
US (1) US8051238B2 (ko)
KR (1) KR100624641B1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100662471B1 (ko) * 2005-10-11 2007-01-02 엘지전자 주식회사 시스템 온 칩 구조 및 데이터 전송 방법
US20070174549A1 (en) * 2006-01-24 2007-07-26 Yevgen Gyl Method for utilizing a memory interface to control partitioning of a memory module
EP2080128A1 (en) * 2006-10-10 2009-07-22 Ecole Polytechnique Federale De Lausanne (Epfl) Method to design network-on-chip (noc)-based communication systems
US8856488B2 (en) * 2010-02-11 2014-10-07 Memory Technologies Llc Method for utilizing a memory interface to control partitioning of a memory module
US9619418B2 (en) * 2012-02-17 2017-04-11 Netronome Systems, Inc. Local event ring in an island-based network flow processor
US9405713B2 (en) * 2012-02-17 2016-08-02 Netronome Systems, Inc. Commonality of memory island interface and structure
US9069649B2 (en) * 2012-02-17 2015-06-30 Netronome Systems, Incorporated Distributed credit FIFO link of a configurable mesh data bus
US9237095B2 (en) * 2012-02-17 2016-01-12 Netronome Systems, Inc. Island-based network flow processor integrated circuit
US9612981B2 (en) * 2012-02-17 2017-04-04 Netronome Systems, Inc. Configurable mesh data bus in an island-based network flow processor
US9626306B2 (en) * 2012-02-17 2017-04-18 Netronome Systems, Inc. Global event chain in an island-based network flow processor
US8902902B2 (en) 2012-07-18 2014-12-02 Netronome Systems, Incorporated Recursive lookup with a hardware trie structure that has no sequential logic elements
US9866476B2 (en) * 2014-12-17 2018-01-09 Intel Corporation Parallel direction decode circuits for network-on-chip
US10305796B2 (en) * 2015-06-01 2019-05-28 Ciena Corporation Enhanced forwarding database synchronization for media access control addresses learned in interconnected layer-2 architectures
US10769080B2 (en) * 2017-03-30 2020-09-08 Futurewei Technologies, Inc. Distributed and shared memory controller

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152693A (ja) * 1993-11-29 1995-06-16 Canon Inc 情報処理装置
US6275975B1 (en) * 1997-01-16 2001-08-14 Advanced Micro Devices, Inc. Scalable mesh architecture with reconfigurable paths for an on-chip data transfer network incorporating a network configuration manager
US6018782A (en) * 1997-07-14 2000-01-25 Advanced Micro Devices, Inc. Flexible buffering scheme for inter-module on-chip communications
US6111859A (en) * 1997-01-16 2000-08-29 Advanced Micro Devices, Inc. Data transfer network on a computer chip utilizing combined bus and ring topologies
US5908468A (en) * 1997-10-24 1999-06-01 Advanced Micro Devices, Inc. Data transfer network on a chip utilizing a multiple traffic circle topology
US6549954B1 (en) * 1997-01-16 2003-04-15 Advanced Micro Devices, Inc. Object oriented on-chip messaging
US6266797B1 (en) * 1997-01-16 2001-07-24 Advanced Micro Devices, Inc. Data transfer network on a computer chip using a re-configurable path multiple ring topology
US6853641B2 (en) * 2000-12-20 2005-02-08 Nortel Networks Limited Method of protecting traffic in a mesh network
US7218616B2 (en) * 2001-03-09 2007-05-15 Stmicroelectronics, Inc. Octagonal interconnection network for linking processing nodes on an SOC device and method of operating same
KR100477641B1 (ko) 2002-01-15 2005-03-23 삼성전자주식회사 버스 시스템 및 그 데이터 전송경로 결정방법
US7039740B2 (en) * 2002-07-19 2006-05-02 Newisys, Inc. Interrupt handling in systems having multiple multi-processor clusters
KR100555753B1 (ko) * 2004-02-06 2006-03-03 삼성전자주식회사 원칩 시스템에서 라우터들간의 라우팅 경로 설정 장치 및방법
US7096310B2 (en) * 2004-03-16 2006-08-22 Hewlett-Packard Development, L.P. Switch configurable for a plurality of communication protocols
US7467358B2 (en) * 2004-06-03 2008-12-16 Gwangju Institute Of Science And Technology Asynchronous switch based on butterfly fat-tree for network on chip application
KR100674934B1 (ko) * 2005-01-06 2007-01-26 삼성전자주식회사 온 칩 버스(On Chip Bus)에서 최적화된타일-스위치(tile-switch)맵핑(mapping) 구조를 결정하는 방법 및 그 방법을기록한 컴퓨터로 읽을 수 있는 기록 매체
KR100674933B1 (ko) * 2005-01-06 2007-01-26 삼성전자주식회사 온 칩 버스(On Chip Bus)에서 최적화된코어-타일-스위치(core-tile-switch)맵핑(mapping) 구조를 결정하는 방법 및 그 방법을기록한 컴퓨터로 읽을 수 있는 기록 매체
US7965725B2 (en) * 2005-05-31 2011-06-21 Stmicroelectronics, Inc. Hyper-ring-on-chip (HyRoC) architecture

Also Published As

Publication number Publication date
KR20060031112A (ko) 2006-04-12
US8051238B2 (en) 2011-11-01
US20060077914A1 (en) 2006-04-13

Similar Documents

Publication Publication Date Title
KR100624641B1 (ko) 기능 블록 코어-스위치 포인트 다중 매핑 온 칩 버스 구조및 이를 이용한 반도체 장치
EP2923279B1 (en) Processing system with interspersed processors; dma-fifo
US7554355B2 (en) Crossbar switch architecture for multi-processor SoC platform
US6317804B1 (en) Concurrent serial interconnect for integrating functional blocks in an integrated circuit device
US8285912B2 (en) Communication infrastructure for a data processing apparatus and a method of operation of such a communication infrastructure
US8001286B2 (en) Multipurpose and programmable pad for an integrated circuit
US6990566B2 (en) Multi-channel bi-directional bus network with direction sideband bit for multiple context processing elements
US6653859B2 (en) Heterogeneous integrated circuit with reconfigurable logic cores
US5935232A (en) Variable latency and bandwidth communication pathways
US6247161B1 (en) Dynamically configured on-chip communications paths based on statistical analysis
US6275975B1 (en) Scalable mesh architecture with reconfigurable paths for an on-chip data transfer network incorporating a network configuration manager
KR100951856B1 (ko) 멀티미디어 시스템용 SoC 시스템
Lan et al. BiNoC: A bidirectional NoC architecture with dynamic self-reconfigurable channel
JP2002511958A (ja) 汎用プログラム制御バスアーキテクチャの方法および装置
US8675681B2 (en) Communication within an integrated circuit including an array of interconnected programmable logic elements
KR100706801B1 (ko) 멀티 프로세서 시스템 및 그것의 데이터 전송 방법
CN114254577A (zh) 基于带有具有扫描寄存器的数据寄存器的微扇区基础架构的逻辑结构
KR20030084971A (ko) 통신 시스템
Hagemeyer et al. A scalable platform for run-time reconfigurable satellite payload processing
KR100947446B1 (ko) Vliw 프로세서
CN114143276A (zh) 一种PCI-e交换机及其配置分支模式的方法
Pétrot et al. Ludovic Devaux
KR20060059375A (ko) 크로스바 스위치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120831

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130902

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140901

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150831

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180831

Year of fee payment: 13