KR20110117815A - 복수 개의 마스터가 존재하는 시스템에서 데이터 트래픽 최적화 방법 및 장치 - Google Patents

복수 개의 마스터가 존재하는 시스템에서 데이터 트래픽 최적화 방법 및 장치 Download PDF

Info

Publication number
KR20110117815A
KR20110117815A KR1020100037258A KR20100037258A KR20110117815A KR 20110117815 A KR20110117815 A KR 20110117815A KR 1020100037258 A KR1020100037258 A KR 1020100037258A KR 20100037258 A KR20100037258 A KR 20100037258A KR 20110117815 A KR20110117815 A KR 20110117815A
Authority
KR
South Korea
Prior art keywords
traffic
data
control factor
master
amount
Prior art date
Application number
KR1020100037258A
Other languages
English (en)
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 KR1020100037258A priority Critical patent/KR20110117815A/ko
Priority to US13/092,454 priority patent/US20110261693A1/en
Publication of KR20110117815A publication Critical patent/KR20110117815A/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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control

Abstract

본 발명은 복수 개의 마스터(Master)가 존재하는 시스템에서 데이터 트래픽 최적화 방법 및 장치에 관한 것으로서, 트래픽 최적화부가 상기 데이터 트래픽을 제어하기 위한 제어 인자를 획득하는 제어 인자 획득 단계, 상기 트래픽 최적화부가 상기 제어 인자를 이용하여 상기 마스터에서 출력되는 데이터에 대한 버스(Bus)로의 전송 또는 전송 차단 여부를 결정하고, 상기 결정에 따라 트래픽 제어 신호를 출력하는 트래픽 제어 신호 출력 단계 및 상기 마스터와 연결된 트래픽 컨트롤러가 상기 트래픽 제어 신호를 수신하여 상기 데이터를 전송 또는 차단하는 데이터 트래픽 제어 단계를 포함하는 것을 특징으로 한다. 본 발명에 따르면 각 마스터들의 데이터 전송에 대한 QoS를 보장할 뿐만 아니라 시스템 자원을 효율적으로 사용할 수 있다.

Description

복수 개의 마스터가 존재하는 시스템에서 데이터 트래픽 최적화 방법 및 장치{METHOD AND APPARATUS FOR OPTIMIZING DATA TRAFFIC IN SYSTEM COMPRISING PLURAL MASTER}
본 발명은 복수 개의 마스터가 존재하는 시스템에서 데이터 트래픽을 최적화하는 방법 및 장치에 관한 것이다. 보다 구체적으로, 본 발명은 복수 개의 마스터들에 대해 최적화된 데이터 전송량에 따라 각 마스터가 정해진 시간 내에 일정량의 데이터만을 전송하도록 하여 데이터 전송량의 서비스 품질을 보장하는 데이터 트래픽 최적화 방법 및 장치에 관한 것이다.
단일 칩 시스템 (system on chip, SoC)은 하나의 집적회로에 집적된 컴퓨터나 전자 시스템 부품을 의미하며, 일반적으로 임베디드 시스템 영역에 주로 사용된다.
최근 Soc가 복잡해짐에 따라 SoC 내에 수많은 마스터(Master)들이 존재하게 되었다. 종래에는 복수의 마스터들이 데이터를 동시에 전송하고자 하는 경우, 시스템 내부를 연결하는 버스(Bus) 사용권에 대한 각 마스터들의 우선 순위(Priority)를 조절하는 방법을 사용하였다. 즉, 종래에는 정해진 시간 내에 어느 정도의 데이터 트래픽을 보장하기보다는 여러 마스터들의 데이터 전송 요청이 발생한 경우, 단순하게 우선 순위를 설정하여 데이터 전송 순서만을 정하였다.
이와 같은 방법에 따르면, 우선 순위를 각 마스터들에게 정적 또는 동적으로 할당하므로 데이터 전송량의 서비스 품질(Quality of Service, QoS)을 보장할 수 없다는 문제점이 발생한다.
따라서 복수 개의 마스터를 포함하는 시스템에서 정확한 데이터 트래픽의 QoS를 보장하는 데이터 트래픽 최적화 방법에 대한 필요성이 대두된다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 복수 개의 마스터들에 대해 최적화된 데이터 전송량에 따라 각 마스터가 정해진 시간 내에 일정량의 데이터만을 전송하도록 하여 데이터 트래픽의 서비스 품질을 보장하는 데이터 트래픽 최적화 방법 및 장치를 제공하는데 그 목적이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 복수 개의 마스터(Master)가 존재하는 시스템에서 데이터 트래픽 최적화 방법은 트래픽 최적화부가 상기 데이터 트래픽을 제어하기 위한 제어 인자를 획득하는 제어 인자 획득 단계, 상기 트래픽 최적화부가 상기 제어 인자를 이용하여 상기 마스터에서 출력되는 데이터에 대한 버스(Bus)로의 전송 또는 전송 차단 여부를 결정하고, 상기 결정에 따라 트래픽 제어 신호를 출력하는 트래픽 제어 신호 출력 단계 및 상기 마스터와 연결된 트래픽 컨트롤러가 상기 트래픽 제어 신호를 수신하여 상기 데이터를 전송 또는 차단하는 데이터 트래픽 제어 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 복수 개의 마스터(Master)가 존재하는 시스템에서 데이터 트래픽을 최적화 하는 장치는 상기 데이터 트래픽을 제어하기 위한 제어 인자를 획득하고, 상기 획득한 제어 인자를 이용하여 상기 마스터에서 출력되는 데이터에 대한 버스로의 전송 또는 전송 차단 여부를 결정하고, 상기 결정에 따라 트래픽 제어 신호를 출력하는 트래픽 최적화부 및 상기 마스터와 연결되며, 상기 트래픽 제어 신호를 수신하여 상기 데이터를 전송 또는 차단하는 트래픽 컨트롤러를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 어플리케이션의 상황 및 버스 내의 데이터 트래픽 상황을 반영하여 각 마스터들의 대역폭 할당량을 적절히 조절할 수 있다. 이에 따라, 복수 개의 마스터들에 대해 최적화된 데이터 전송량에 따라 각 마스터는 정해진 시간 내에 일정량의 데이터만을 전송하므로 데이터 트래픽의 서비스 품질을 보장할 수 있다.
도 1은 본 발명의 실시예에 따른 데이터 트래픽 최적화 장치의 내부 구조를 도시하는 도면.
도 2는 본 발명의 실시예에 따른 트래픽 컨트롤러(140)의 구조 및 동작 과정을 보다 구체적으로 도시하는 도면.
도 3은 본 발명의 실시예에 따른 트래픽 최적화부(150)의 내부 구조를 도시하는 블록도.
도 4는 본 발명의 다른 실시예에 따른 트래픽 최적화부(150)의 내부 구조를 도시하는 블록도.
도 5는 본 발명의 실시예에 따른 데이터 트래픽 최적화 장치의 동작 순서를 도시하는 순서도.
도 6은 본 발명의 실시예에 따른 트래픽 최적화부(150)의 구체적인 동작 순서를 도시하는 순서도.
도 7은 본 발명의 실시예에 따른 트래픽 컨트롤러(140)의 동작 순서를 도시하는 순서도.
도 8은 본 발명의 데이터 트래픽 최적화 방법에 따른 효과를 도시하는 도면.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. 이 때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다.
도 1은 본 발명의 실시예에 따른 데이터 트래픽 최적화 장치의 내부 구조를 도시하는 도면이다. 도 1에서 도시되는 바와 같이, 데이터 트래픽 최적화 장치는 하나 이상의 마스터(110), 하나 이상의 슬레이브(120), 버스(130), 하나 이상의 트래픽 컨트롤러(140), 트래픽 최적화부(150), 트래픽 계산부(160)를 포함할 수 있다.
마스터(Master, 110)는 하나 이상의 마스터를 포함하는 시스템(예를 들어, SoC)에서, 작업을 수행하는데 있어 동작의 주체가 되는 구성 요소이다. 본 발명의 실시예에 따른 데이터 트래픽 최적화 장치는 하나 이상의 마스터(110)를 포함할 수 있고 각 마스터는 독립 개별적으로 동작하는 것이지만, 이하에서는 설명의 편의를 위해 동일한 식별 기호(110)를 사용하도록 한다.
슬레이브(Slave, 120)는 상기 마스터(110)에 대해 종속적인 역할을 수행하는 구성 요소이다. 즉, 슬레이브(120)는 마스터(110)의 명령에 따라 동작한다. 마스터(110)의 경우와 마찬가지로 본 발명의 실시예에 따른 데이터 트래픽 최적화 장치는 하나 이상의 슬레이브(120)를 포함할 수 있고 각 슬레이브(120)는 마스터의 명령에 따라 독립 개별적으로 동작하는 것이지만, 이하에서는 설명의 편의를 위해 동일한 식별 기호(120)를 사용하도록 한다. 슬레이브(120)는 예를 들어, 메모리(memory) 등이 될 수 있다.
버스(130)는 본 발명의 데이터 트래픽 최적화 장치를 구성하는 각 구성 요소들 사이에 발생하는 제어 신호, 데이터 등을 전달해주는 통로이다.
트래픽 컨트롤러(Traffic Controller, 140)는 마스터(110)와 버스(130)를 이어주는 중개 역할을 수행하며, 슬레이브(120)로 전달되는 데이터 트래픽을 제어한다. 보다 구체적으로 트래픽 컨트롤러(140)는 트래픽 최적화부(150)에서 출력되는 트래픽 제어 신호에 따라 마스터(110)에서 슬레이브(120)로 데이터를 전송하거나 또는 데이터 전송을 차단한다.
또한, 본 발명의 일 실시예에 따른 트래픽 컨트롤러(140)는 데이터 전송 후, 전송된 데이터 량을 트래픽 최적화부(150)로 보고한다. 후술하는 바와 같이, 트래픽 최적화부(150)는 보고받은 데이터 량을 기준으로 트래픽 컨트롤러(140)가 계속하여 데이터를 전송하도록 제어할지 여부를 결정하게 된다. 만약, 정해진 시간 내에 일정량 이상의 데이터가 전송되면, 트래픽 컨트롤러(140)는 트래픽 최적화부(150)의 제어에 따라 해당 데이터 전송을 차단한다.
트래픽 최적화부(Traffic Optimizer, 150)는 본 발명의 데이터 트래픽 최적화 장치에서 각 마스터(110)들의 데이터 트래픽을 최적화한다. 이를 위해, 트래픽 최적화부(150)는 어플리케이션으로부터 데이터 트래픽 최적화를 위한 파라미터(후술함)를 수신한다. 그리고 트래픽 최적화부(150)는 상기 파라미터를 이용하여 데이터 트래픽을 최적화할 수 있는 제어 인자(Control Factor)를 획득한다. 본 발명의 제어 인자는 각 마스터의 제한 전송량을 의미할 수 있다. 트래픽 최적화부(150)는 상기 획득한 제어 인자에 따라 트래픽 컨트롤러(140)를 제어한다. 다시 말해, 트래픽 최적화부는 트래픽 최적화부(150)를 제어하여 마스터(110)에서 슬레이브(120)로의 데이터 전송을 허용 또는 차단한다.
또한, 트래픽 최적화부(150)는 트래픽 컨트롤러(140)로부터, 트래픽 컨트롤러(140)에 연결된 마스터(110)가 버스(130)로 전송한 데이터 량을 보고받는다. 트래픽 최적화부(150)는 보고 받은 데이터 량을 기준으로, 계속하여 해당 마스터(110)의 데이터 전송을 허용할지 여부를 결정한다. 그리고 트래픽 최적화부(150)는 상기 결정된 사항에 따라 데이터 전송 신호 또는 데이터 전송 차단 신호를 출력하여 트래픽 컨트롤러(140)를 제어한다.
트래픽 계산부(160)는 트래픽 최적화부(150)로부터 제어 인자 계산을 위한 파라미터를 수신한다. 그리고 트래픽 계산부(160)는 상기 수신한 파라미터를 이용하여 데이터 트래픽을 최적화할 수 있는 제어 인자(Control Factor)를 계산하고 트래픽 최적화부(150)에 전달한다. 여기서, 데이터 트래픽을 최적화 한다는 것은, 정해진 버스(Bus) 자원에 대해 복수 개 마스터들의 데이터 전송량이 최대가 된다는 것을 의미할 수 있다.
본 발명의 일 실시예에 따르면, 트래픽 계산부(160)는 기본적으로 선형 프로그래밍 계산기(Linear Programming Solver)이다. 트래픽 계산부(160)는 트래픽 최적화부(150)로부터 수신한 파라미터를 이용하여 각 마스터들의 데이터 전송량을 변수(x)로 설정하고, 상기 변수에 가중치 인자(p)를 곱하여 아래 수학식 1과 같은 선형 프로그래밍의 해를 구한다.
[수학식 1]
Figure pat00001
여기서,
Figure pat00002
이다.
선형 프로그래밍의 해를 구하는 방법은 Graphical Solution, Algebraic Solution, Numerical Solution 등이 있으며, 이는 당업자에게 널리 알려진 사항이므로 자세한 설명은 생략하기로 한다. 상기한 방법으로 구해진 해가 제어 인자가 되며, 상기 제어 인자는 각 마스터들의 데이터 전송량을 제한한다.
도 2는 본 발명의 실시예에 따른 트래픽 컨트롤러(140)의 구조 및 동작 과정을 보다 구체적으로 도시하는 도면이다.
우선, 도 2에서 도시되는 바와 같이 트래픽 컨트롤러(140)는 마스터(110)로부터 출력되는 데이터를 버스(130)로 전달한다. 이 경우, 마스터(110) 또는 트래픽 컨트롤러(140)에서 출력되는 데이터는 해당 버스 프로토콜(Bus Protocol)에 따라 트래픽 컨트롤러(140)와 버스(130)에 전달된다.
트래픽 컨트롤러(140)는 트래픽 최적화부(150)로부터 데이터 전송 신호 또는 데이터 전송 차단 신호를 수신한다. 데이터 전송 신호 수신 시, 트래픽 컨트롤러(140)는 마스터(110)에서 버스(130)로 전달되는 데이터 전송을 계속하여 유지한다. 반면, 데이터 전송 차단 신호 수신 시, 트래픽 컨트롤러(140)는 마스터(110)에서 버스(130)로 전달되는 데이터 전송을 차단한다.
이를 위해 트래픽 컨트롤러(140)는 내부적으로 AND 게이트를 구비하여 마스터(110)에서 버스(130)로 전달되는 데이터 흐름을 제어할 수 있다. 즉, 트래픽 최적화부(150)로부터 전달되는 신호가 '1'이면 데이터 전송 신호로 인식하여 데이터 전송을 유지하고, '0'이면 데이터 전송 차단 신호로 인식하여 데이터 전송을 차단할 수 있다. 그러나 이는 트래픽 컨트롤러(140)의 다양한 구현 방법 중 일 실시예만을 기술한 것일 뿐, 반드시 트래픽 컨트롤러(140)가 AND 게이트를 구비해야 하는 것은 아님에 유의해야 한다.
또한 트래픽 컨트롤러(140)는 버스(130)로 데이터 전송 후, 일정 시간동안 전송한 데이터 량을 트래픽 최적화부(150)로 보고한다. 만약, 정해진 시간 내에 일정량 이상의 데이터가 전송되면, 트래픽 컨트롤러(140)는 트래픽 최적화부(150)의 제어에 따라 해당 데이터 전송을 차단한다. 이와 같은 과정은 어플리케이션을 포함한 전체 SoC 시스템 관점에서 단위 시간당 데이터 전송량이 최적화되도록 한다.
도 3은 본 발명의 실시예에 따른 트래픽 최적화부(150)의 내부 구조를 도시하는 블록도이다. 도 3에서 도시되는 바와 같이, 트래픽 최적화부(150)는 파라미터 관리부(150A), 제어 인자 관리부(150B), 비교 제어부(150C)를 더 구비할 수 있다. 한편, 도 3에서 도시된 실시예는 트래픽 계산부(160)가 하드웨어(Hardware)로 설계된 경우를 기술한다. 상기 트래픽 계산부(160)가 소프트웨어(Software)로 설계된 경우는 도 4에서 기술하도록 한다.
우선, 트래픽 최적화부(150)는 본 발명의 데이터 트래픽 최적화 장치에서 각 마스터(110)들의 데이터 트래픽을 최적화 시킨다.
이를 위해, 파라미터 관리부(150A)는 어플리케이션(또는 소프트웨어, 'SW')(310)으로부터 데이터 트래픽을 최적화하기 위한 파라미터들을 수신한다. 본 발명의 실시예에 따르면, 상기 파라미터들은 각 마스터들의 가중치, 각 마스터의 최대 할당 전송 속도 결과 값, 단위 시간당 전송되어야 할 데이터 량, 시스템에서 전송될 수 있는 최대 전송 속도, 슬레이브의 평균 처리 시간, 슬레이브의 허용 가능한 최대 지연(transaction delay), 마스터의 개수 중 적어도 하나를 포함할 수 있다. 파라미터 관리부(150A)는 상기 수신한 파라미터들을 트래픽 계산부(160)에 전달한다.
트래픽 계산부(160)는 파라미터 관리부(150A)로부터 수신한 파라미터들을 이용하여 데이터 트래픽을 최적화할 수 있는 제어 인자(Control Factor)를 계산한다. 수신한 파라미터들을 이용하여 제어 인자를 계산하는 방법은 도 1에서 기술한 바 있으므로 자세한 설명은 생략하기로 한다. 그리고 트래픽 계산부(160)는 계산된 제어 인자를 제어 인자 관리부(150B)에 전달한다.
제어 인자 관리부(150B)는 트래픽 계산부(160)로부터 전달되는 제어 인자를 수신하고 관리한다. 본 발명의 실시예에 따르면, 제어 인자 관리부(150B)는 수신한 제어 인자를 저장하거나 또는 어플리케이션의 실행 단위에 따라 주기적으로 전달되는 제어 인자를 업데이트할 수 있다.
비교 제어부(150C)는 트래픽 컨트롤러(140)의 데이터 전송 여부를 결정하기 위한 트래픽 제어 신호를 생성하여 출력한다. 이를 위해, 비교 제어부(150C)는 트래픽 컨트롤러(140)로부터 전송되는 데이터 전송량을 보고받는다. 그리고 비교 제어부(150C)는 제어 인자와 데이터 전송량을 비교하고, 제어 인자가 데이터 전송량보다 큰 경우, 마스터(110)가 계속하여 데이터를 전송할 수 있도록 데이터 전송 신호를 트래픽 컨트롤러(140)로 출력한다. 반면, 데이터 전송량이 제어 인자보다 큰 경우, 비교 제어부(150C)는 마스터(110)의 데이터 전송을 차단하기 위한 데이터 전송 차단 신호를 트래픽 컨트롤러(140)로 출력한다. 트래픽 컨트롤러(140)는 상기 비교 제어부(150C)에서 출력되는 데이터 전송 신호 또는 데이터 전송 차단 신호에 따라 마스터(110)의 데이터 전송 여부를 제어한다.
도 4는 본 발명의 다른 실시예에 따른 트래픽 최적화부(150)의 내부 구조를 도시하는 블록도이다. 도 3에서는 트래픽 계산부(160)가 하드웨어로 설계된 실시예에 대해 도시하였지만, 도 4에서는 트래픽 계산부(160)가 소프트웨어로 설계된 실시예에 대해 도시한다.
도 4는 트래픽 계산부(150A)가 논리적으로 어플리케이션(410) 내부에 존재한다는 점에서 도 3과 상이하다. 도 4에 따르면 트래픽 계산부(150A)는 어플리케이션으로부터 직접 데이터 트래픽을 최적화하기 위한 파라미터들을 수신한다. 그리고 트래픽 계산부(150A)는 수신한 파라미터들을 이용하여 데이터 트래픽을 최적화할 수 있는 제어 인자(Control Factor)를 계산하고, 상기 제어 인자를 제어 인자 관리부(150B)에 출력한다.
정리하면, 트래픽 계산부(150A)가 하드웨어로 구현될 경우에는 트래픽 최적화부(150) 내에 설계되며, 어플리케이션으로부터 전달되는 파라미터를 수신하여 제어 인자를 계산하여 출력한다. 이를 트래픽 최적화부(150) 관점에서 본다면, 트래픽 최적화부(150)는 소프트웨어로부터 파라미터를 수신하고, 데이터 트래픽 최적화를 위한 제어 인자를 직접 계산한다.
반면, 트래픽 계산부(150A)가 소프트웨어로 구현될 경우에는 어플리케이션 내에 설계되며, 어플리케이션으로부터 전달되는 파라미터를 수신하여 제어 인자를 계산하여 출력한다. 이를 트래픽 최적화부(150) 관점에서 본다면, 트래픽 최적화부(150)는 소프트웨어로부터 데이터 트래픽 최적화를 위한 제어 인자를 직접 수신한다.
도 5는 본 발명의 실시예에 따른 데이터 트래픽 최적화 장치의 동작 순서를 도시하는 순서도이다.
우선, 어플리케이션(310 또는 410)은 본 발명의 실시예에 따른 트래픽 최적화 실행에 앞서, S510 단계에서 트래픽 최적화부(150)의 파라미터들을 초기화한다. 그리고 어플리케이션(310)은 S520 단계에서, 데이터 트래픽 최적화를 위한 파라미터를 트래픽 최적화부(150)로 전달한다. 트래픽 최적화부(150)로 전달되는 파라미터는 상기한 바와 같이, 각 마스터들의 가중치, 각 마스터의 최대 할당 전송 속도 결과 값, 단위 시간당 전송되어야 할 데이터 량, 시스템에서 전송될 수 있는 최대 전송 속도, 슬레이브의 평균 처리 시간, 슬레이브의 허용 가능한 최대 지연(transaction delay), 마스터의 개수 중 적어도 하나를 포함할 수 있다. 그러면 트래픽 최적화부(150)는 S530 단계에서 수신한 파라미터를 이용하여 데이터 트래픽 최적화를 위한 제어 인자를 획득한다.
한편, 상기한 바와 같이 본 발명의 다른 실시예에 다르면 트래픽 최적화부(150)는 어플리케이션(410)으로부터 계산된 제어 인자를 직접 획득할 수도 있다. 이 경우에는 트래픽 최적화부(150)가 제어 인자를 계산하는 S530 단계는 생략될 수도 있다.
그러면 트래픽 최적화부(150)는 S540 단계에서 트래픽 컨트롤러(140)를 제어하여 데이터 트래픽을 제어한다. 구체적으로 트래픽 최적화부(150)는 데이터 전송 신호를 트래픽 컨트롤러(140)로 출력하여, 마스터(110)에서 슬레이브(120)로의 데이터 전송을 허용한다.
그리고 트래픽 최적화부(150)는 트래픽 컨트롤러(140)로부터 주기적으로 데이터 전송량을 보고받는다. 트래픽 최적화부(150)는 상기 수신한 데이터 전송량을 이용하여 마스터(110)의 데이터 전송을 계속하여 허용할지 여부를 결정한다. 이를 위해, 트래픽 최적화부(150)는 S560 단계에서 제어 인자와, 보고받은 데이터 전송량을 비교한다. 만약 데이터 전송량이 제어 인자를 초과하는 경우, 트래픽 최적화부(150)는 S570 단계에서, 데이터 전송 차단 신호를 트래픽 컨트롤러(140)로 출력하여 마스터(110)의 데이터 전송을 차단한다.
도 6은 본 발명의 실시예에 따른 트래픽 최적화부(150)의 구체적인 동작 순서를 도시하는 순서도이다.
우선, 트래픽 최적화부(150)는 S610 단계에서, 어플리케이션(또는 소프트웨어)으로부터 제어 인자 계산을 위한 파라미터를 수신하였는지 판단한다. 미수신시에는 S620 단계로 진행하여 파라미터 수신을 대기한다. 그리고 트래픽 최적화부(150)는 파라미터 수신 시, S630 단계로 진행하여 수신한 파라미터를 이용하여 트래픽 제어를 위한 제어 인자를 획득한다. 본 발명의 다른 실시예에 따르면, 트래픽 최적화부(150)는 어플리케이션(410)으로부터 계산된 제어 인자를 직접 획득할 수도 있다.
그리고 트래픽 최적화부(150)는 S640 단계로 진행하여 획득된 제어 인자를 이용하여 하나 이상의 마스터(110)들에 대한 데이터 트래픽을 제어한다. 이를 위해, 트래픽 최적화부(150)는 우선적으로 데이터 전송 신호를 출력하여 마스터들의 데이터 전송을 허용한다. 그리고 트래픽 최적화부(150)는 S650 단계에서 트래픽 컨트롤러(140)로부터 정해진 시간동안 전송된 데이터량을 보고받는다.
그러면 트래픽 최적화부(150)는 S650 단계에서, 제어 인자와 보고받은 데이터량을 비교한다. 만약, 제어 인자가 보고받은 데이터량보다 크다면, 트래픽 최적화부(150)는 S670 단계로 진행하여 데이터 전송 신호를 출력한다. 상기 출력된 데이터 전송 신호는 트래픽 컨트롤러(140)에 입력되어 계속하여 데이터 전송을 허용하도록 한다.
만약, 보고받은 데이터량이 제어 인자보다 크다면, 트래픽 최적화부(150)는 S680 단계로 진행하여 데이터 전송 차단 신호를 출력한다. 상기 출력된 데이터 전송 차단 신호는 트래픽 컨트롤러(140)에 입력되어 데이터 전송을 차단한다.
도 7은 본 발명의 실시예에 따른 트래픽 컨트롤러(140)의 동작 순서를 도시하는 순서도이다.
우선, 트래픽 컨트롤러(140)는 S710 단계에서 데이터 전송 중인지 여부를 판단한다. 데이터 전송 중이라면, 트래픽 컨트롤러(140)는 S720 단계로 진행하여 트래픽 최적화부(150)로부터 트래픽 제어 신호를 수신하였는지 여부를 판단한다. 트래픽 제어 신호를 수신하였다면, 트래픽 컨트롤러(140)는 S730 단계에서 데이터 전송 신호인지 판단한다. 데이터 전송 신호라면, 트래픽 컨트롤러(140)는 S740 단계로 진행하여 전송 중인 데이터를 계속하여 전송한다. 즉, 마스터(110)에서 버스(130)로의 데이터 전송을 허용한다.
한편, 데이터 전송 신호가 아니라면, 트래픽 컨트롤러(140)는 S750 단계로 진행하여 데이터 전송 차단 신호인지 여부를 판단한다. 데이터 전송 차단 신호라면, 트래픽 컨트롤러(140)는 S760 단계로 진행하여 전송 중인 데이터 전송을 차단한다. 즉, 마스터(110)에서 버스(130)로의 데이터 전송을 차단한다.
한편, S720 단계에서, 트래픽 제어 신호를 수신한 것이 아니라면 트래픽 컨트롤러(140)는 S770 단계로 진행하여 데이터 전송량 보고 시점인지 판단한다. 데이터 전송량 보고 시점인 경우, 트래픽 컨트롤러(140)는 S780 단계로 진행하여 정해진 시간 동안 전송된 데이터량을 트래픽 최적화부(150)로 보고한다.
도 8은 본 발명의 데이터 트래픽 최적화 방법에 따른 효과를 도시하는 도면이다.
도 8에서 도시되는 바와 같이, 종래에는 시간에 따른 각 마스터들의 데이터 전송량이 일정하지 않아 버스를 효율적으로 사용하지 못한다는 문제점이 발생하였다. 즉, 특정 시점에서는 시스템 전체 용량을 초과하는 양의 데이터 전송이 요구되는가 하면, 다른 특정 시점에는 시스템 전체 용량에 못미치는 양의 데이터 전송이 요구되었다. 이는 각 마스터들의 데이터 전송에 대한 QoS를 보장하지 못할 뿐만 아니라 시스템 자원을 효율적으로 사용하지 못하는 결과를 초래하였다.
본 발명은 상기와 같은 문제점을 해결할 수 있다. 즉, 데이터 트래픽을 시간 축에서 분산시키고 각 마스터들의 데이터 전송량을 동적으로 조절한다. 따라서 각 마스터들의 데이터 전송에 대한 QoS를 보장할 뿐만 아니라 시스템 자원을 효율적으로 사용할 수 있다.
본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
110 : 마스터 120 : 슬레이브
130 : 버스 140 : 트래픽 컨트롤러
150 : 트래픽 최적화부 160 : 트래픽 계산부
310 : 어플리케이션(소프트웨어)
<트래픽 최적화부(150)>
150A : 파라미터 관리부 150B : 제어 인자 관리부
150C : 비교 제어부

Claims (12)

  1. 복수 개의 마스터(Master)가 존재하는 시스템에서 데이터 트래픽 최적화 방법에 있어서,
    트래픽 최적화부가, 상기 데이터 트래픽을 제어하기 위한 제어 인자를 획득하는 제어 인자 획득 단계;
    상기 트래픽 최적화부가, 상기 제어 인자를 이용하여 상기 마스터에서 출력되는 데이터에 대한 버스(Bus)로의 전송 또는 전송 차단 여부를 결정하고, 상기 결정에 따라 트래픽 제어 신호를 출력하는 트래픽 제어 신호 출력 단계; 및
    상기 마스터와 연결된 트래픽 컨트롤러가, 상기 트래픽 제어 신호를 수신하여 상기 데이터를 전송 또는 차단하는 데이터 트래픽 제어 단계를 포함하는 것을 특징으로 하는 데이터 트래픽 최적화 방법.
  2. 제1항에 있어서, 상기 제어 인자 획득 단계는,
    트래픽 계산부가, 실행 중인 어플리케이션으로부터 상기 제어 인자를 계산하기 위한 파라미터를 획득하는 단계;
    상기 트래픽 계산부가, 상기 획득한 파라미터를 이용하여 정해진 버스(Bus) 자원에 대해 상기 복수 개 마스터들의 데이터 전송량이 최대가 되는 제어 인자를 계산하는 단계; 및
    상기 계산된 제어 인자를 상기 트래픽 최적화부에 전달하는 단계를 더 포함하는 것을 특징으로 하는 데이터 트래픽 최적화 방법.
  3. 제2항에 있어서, 상기 파라미터는,
    각 마스터들의 가중치, 각 마스터의 최대 할당 전송 속도 결과 값, 단위 시간당 전송되어야 할 데이터 량, 시스템에서 전송될 수 있는 최대 전송 속도, 슬레이브의 평균 처리 시간, 슬레이브의 허용 가능한 최대 지연(transaction delay), 마스터의 개수 중 적어도 하나를 포함하는 것을 특징으로 하는 데이터 트래픽 최적화 방법.
  4. 제1항에 있어서, 상기 제어 인자 획득 단계 이후에,
    상기 트래픽 최적화부가, 정해진 시간 동안 임의의 마스터에서 버스로 전송된 데이터량을 상기 트래픽 컨트롤러로부터 수신하는 단계를 더 포함하는 것을 특징으로 하는 데이터 트래픽 최적화 방법.
  5. 제4항에 있어서, 상기 트래픽 제어 신호 출력 단계는,
    상기 제어 인자와 상기 데이터량을 비교하는 단계;
    상기 데이터량이 상기 제어 인자 이상인 경우 데이터 전송 차단 신호를 출력하는 단계; 및
    상기 제어 인자가 상기 데이터량 미만인 경우데이터 전송 신호를 출력하는 단계를 더 포함하는 것을 특징으로 하는 데이터 트래픽 최적화 방법.
  6. 제1항에 있어서, 상기 제어 인자 획득 단계 이전에,
    실행 중인 어플리케이션이 상기 트래픽 최적화부를 초기화 하는 단계를 더 포함하는 것을 특징으로 하는 데이터 트래픽 최적화 방법.
  7. 복수 개의 마스터(Master)가 존재하는 시스템에서 데이터 트래픽을 최적화 하는 장치에 있어서,
    상기 데이터 트래픽을 제어하기 위한 제어 인자를 획득하고, 상기 획득한 제어 인자를 이용하여 상기 마스터에서 출력되는 데이터에 대한 버스로의 전송 또는 전송 차단 여부를 결정하고, 상기 결정에 따라 트래픽 제어 신호를 출력하는 트래픽 최적화부; 및
    상기 마스터와 연결되며, 상기 트래픽 제어 신호를 수신하여 상기 데이터를 전송 또는 차단하는 트래픽 컨트롤러를 포함하는 것을 특징으로 하는 데이터 트래픽 최적화 장치.
  8. 제7항에 있어서,
    실행 중인 어플리케이션으로부터 상기 제어 인자를 계산하기 위한 파라미터를 획득하고, 상기 획득한 파라미터를 이용하여 정해진 버스(Bus) 자원에 대해 상기 복수 개 마스터들의 데이터 전송량이 최대가 되는 제어 인자를 계산하며, 상기 제어 인자를 상기 트래픽 최적화부로 출력하는 트래픽 계산부를 더 포함하는 것을 특징으로 하는 데이터 트래픽 최적화 장치.
  9. 제8항에 있어서, 상기 파라미터는,
    각 마스터들의 가중치, 각 마스터의 최대 할당 전송 속도 결과 값, 단위 시간당 전송되어야 할 데이터 량, 시스템에서 전송될 수 있는 최대 전송 속도, 슬레이브의 평균 처리 시간, 슬레이브의 허용 가능한 최대 지연(transaction delay), 마스터의 개수 중 적어도 하나를 포함하는 것을 특징으로 하는 데이터 트래픽 최적화 장치.
  10. 제7항에 있어서, 상기 트래픽 컨트롤러는,
    정해진 시간 동안 임의의 마스터에서 버스로 전송된 데이터량을 상기 트래픽 최적화부에 주기적으로 보고하는 것을 특징으로 하는 것을 특징으로 하는 데이터 트래픽 최적화 장치.
  11. 제10항에 있어서, 상기 트래픽 최적화부는,
    상기 제어 인자와 상기 데이터량을 비교하고, 상기 데이터량이 상기 제어 인자 이상인 경우 데이터 전송 차단 신호를 출력고, 상기 제어 인자가 상기 데이터량 미만인 경우데이터 전송 신호를 출력하는 것을 특징으로 하는 데이터 트래픽 최적화 장치.
  12. 제7항에 있어서, 상기 트래픽 최적화부는,
    제어 인자 획득 이전에 실행 중인 어플리케이션에 의하여 초기화되는 것을 특징으로 하는 데이터 트래픽 최적화 장치.
















KR1020100037258A 2010-04-22 2010-04-22 복수 개의 마스터가 존재하는 시스템에서 데이터 트래픽 최적화 방법 및 장치 KR20110117815A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100037258A KR20110117815A (ko) 2010-04-22 2010-04-22 복수 개의 마스터가 존재하는 시스템에서 데이터 트래픽 최적화 방법 및 장치
US13/092,454 US20110261693A1 (en) 2010-04-22 2011-04-22 Method and apparatus for optimizing data traffic in system comprising plural masters

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100037258A KR20110117815A (ko) 2010-04-22 2010-04-22 복수 개의 마스터가 존재하는 시스템에서 데이터 트래픽 최적화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20110117815A true KR20110117815A (ko) 2011-10-28

Family

ID=44815730

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100037258A KR20110117815A (ko) 2010-04-22 2010-04-22 복수 개의 마스터가 존재하는 시스템에서 데이터 트래픽 최적화 방법 및 장치

Country Status (2)

Country Link
US (1) US20110261693A1 (ko)
KR (1) KR20110117815A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140233439A1 (en) * 2011-10-24 2014-08-21 Broadcom Corporation Downlink-uplink configuration determination

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6577646B2 (en) * 1995-04-28 2003-06-10 Matsushita Electric Industrial Co., Ltd. Data transmitting apparatus, data receiving apparatus and data transmission control apparatus
US5805827A (en) * 1996-03-04 1998-09-08 3Com Corporation Distributed signal processing for data channels maintaining channel bandwidth
JP2955561B1 (ja) * 1998-05-29 1999-10-04 株式会社ディジタル・ビジョン・ラボラトリーズ ストリーム通信システム及びストリーム転送制御方法
US7027393B1 (en) * 2001-03-02 2006-04-11 Cisco Technology, Inc. TCP optimized single rate policer
US7652988B2 (en) * 2002-06-04 2010-01-26 Alcatel-Lucent Usa Inc. Hardware-based rate control for bursty traffic
US7177311B1 (en) * 2002-06-04 2007-02-13 Fortinet, Inc. System and method for routing traffic through a virtual router-based network switch
US20040033806A1 (en) * 2002-08-16 2004-02-19 Cellglide Technologies Corp. Packet data traffic management system for mobile data networks
US7821929B2 (en) * 2004-04-05 2010-10-26 Verizon Business Global Llc System and method for controlling communication flow rates
JP2006005437A (ja) * 2004-06-15 2006-01-05 Fujitsu Ltd トラフィック分散制御装置
US8463308B2 (en) * 2004-10-20 2013-06-11 Toshiba America Research, Inc. Terminal transmit power control with link adaptation
US7400578B2 (en) * 2004-12-16 2008-07-15 International Business Machines Corporation Method and system for throttling network transmissions using per-receiver bandwidth control at the application layer of the transmitting server
JP3961000B2 (ja) * 2005-05-26 2007-08-15 株式会社日立コミュニケーションテクノロジー パケット転送装置及びネットワークシステム
US7756028B2 (en) * 2006-04-27 2010-07-13 Alcatel Lucent Pulsed backpressure mechanism for reduced FIFO utilization
JP4367505B2 (ja) * 2007-03-06 2009-11-18 日本電気株式会社 通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム
EP2140613A1 (en) * 2007-03-26 2010-01-06 Telefonaktiebolaget LM Ericsson (PUBL) Method and apparatus for performance monitoring in a communications network
EP2272214B8 (en) * 2008-04-28 2016-08-10 Hewlett-Packard Enterprise Development LP Adjustable server-transmission rates over fixed-speed backplane connections within a multi-server enclosure
JP5237841B2 (ja) * 2009-01-27 2013-07-17 アラクサラネットワークス株式会社 帯域制御装置および通信制御半導体

Also Published As

Publication number Publication date
US20110261693A1 (en) 2011-10-27

Similar Documents

Publication Publication Date Title
US10120820B2 (en) Direct memory access transmission control method and apparatus
CN1926529B (zh) 基于仲裁的功率管理
KR101740338B1 (ko) 디지털 시스템에서 동적 클럭 제어 장치 및 방법
CN107748696B (zh) 一种任务调度的方法及终端设备
JP6179321B2 (ja) ストレージ管理装置、制御方法及び制御プログラム
CN105900064A (zh) 调度数据流任务的方法和装置
KR101686658B1 (ko) 사용자 서비스 품질 기반 클라우드 오토 스케일링 장치 및 그 방법
CN107480078B (zh) 一种总线带宽分配方法、装置及芯片
US20130042032A1 (en) Dynamic resource allocation for transaction requests issued by initiator devices to recipient devices
JP5144934B2 (ja) サービス品質モデルを確立するための方法と装置
CN112292652A (zh) 一种动态电压频率调整系统和方法
CN115129645B (zh) 一种基于总线的事务处理方法、系统、存储介质及设备
CN109818863A (zh) 链路优先级设置方法及装置
CN110740164A (zh) 服务器确定方法、调控方法、装置、设备及存储介质
JP2005333434A (ja) 無線モジュール
US9363331B2 (en) Data allocation method and data allocation system
KR20200131178A (ko) 분산 시스템 아키텍처에서 애플리케이션을 실행하기 위한 방법
JP2015011365A (ja) プロビジョニング装置、システム、プロビジョニング方法、および、プロビジョニングプログラム
US7873759B2 (en) Information processing system and method of allocating I/O to paths in same
KR20110117815A (ko) 복수 개의 마스터가 존재하는 시스템에서 데이터 트래픽 최적화 방법 및 장치
CN114642047A (zh) Rssi上报方法及装置、用户设备及存储介质
CN114640630B (zh) 一种流量管控方法、装置、设备及可读存储介质
KR20170024876A (ko) 실시간 공유 인터페이스를 포함하는 시스템 온 칩의 스케쥴링 방법
WO2021161863A1 (ja) 無線通信装置、無線通信方法及び無線通信システム
CN110213178B (zh) 流量管理方法、集成芯片、及装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application