JP5276220B2 - バス制御装置およびバス制御装置に指示を出力する制御装置 - Google Patents

バス制御装置およびバス制御装置に指示を出力する制御装置 Download PDF

Info

Publication number
JP5276220B2
JP5276220B2 JP2012517116A JP2012517116A JP5276220B2 JP 5276220 B2 JP5276220 B2 JP 5276220B2 JP 2012517116 A JP2012517116 A JP 2012517116A JP 2012517116 A JP2012517116 A JP 2012517116A JP 5276220 B2 JP5276220 B2 JP 5276220B2
Authority
JP
Japan
Prior art keywords
bus
transmission
control device
route
path
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.)
Active
Application number
JP2012517116A
Other languages
English (en)
Other versions
JPWO2011148583A1 (ja
Inventor
友規 石井
孝雄 山口
篤 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2012517116A priority Critical patent/JP5276220B2/ja
Publication of JPWO2011148583A1 publication Critical patent/JPWO2011148583A1/ja
Application granted granted Critical
Publication of JP5276220B2 publication Critical patent/JP5276220B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/50Circuit switching systems, i.e. systems in which the path is physically permanent during the communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Bus Control (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

本発明は、ネットワーク化された通信バスを備える半導体チップに於いて、通信バスの制御を行うための装置、方法及びプログラムに関する。
近年、SoC(System on Chip)やプロセッサの高機能化に伴い、通常の通信バスに代わって、ネットワーク型のバスであるNoC(Network on Chip)が注目されている。NoCでは、多数のバスマスタやメモリを相互に接続することが可能である。
たとえば図1(a)および(b)は、NoCバスの一部の構成を示す。図1(a)はハードウェア接続構成例を示す図であり、図1(b)はその模式図である。図1(a)および(b)によれば、チップ10上に設けられたバスマスタ1a〜1cが、それぞれバス制御装置(R)2を介してバス3に接続されていることが示されている。なお、以下の本願図面のNoCバスは、図1(b)に示す模式図で記載する。
図2は、2次元メッシュ型でバスマスタを結合したNoCバスの構成例を示す。マイクロプロセッサやDSP、メモリ、入出力回路等のバスマスタ毎に、データ転送経路の制御を行う中継ノードRが配置され、中継ノードR間を短配線で接続(リンク)する。本願明細書では、中継ノードRは、中継装置またはバス制御装置とも呼ばれる。
このような構成では、送信元のバスマスタから、受信先のバスマスタに対してデータ転送を行うための通信経路が複数存在する。たとえば図3は、送信元から送信先までの3本の経路(1)〜(3)を示す。
複数の選択候補経路の中から、バスの負荷状況に合わせて、最適な経路を選択することで、転送データがチップ全体に効率的に分散することになり、平均的なバスの利用効率の向上を見込むことができる。このため、バス全体のスループットが向上し、設計時または動作時のバスの動作周波数を低減することが可能となり、チップの消費電力を低減できる。またバスマスタ間でのデータ転送のためのレイテンシ(遅延時間)が改善されるため、バスマスタのパフォーマンスを最大限に引き出すことができ、チップ全体の処理能力向上にも繋がる。
バスマスタを相互に接続するバス上で、複数のデータ転送経路をバスの状態に合わせて選択する方法が特許文献1に開示されている。特許文献1の技術によれば、送信元のバスマスタから受信先のバスマスタ迄、転送対象のデータがフレーム単位で転送される。受信先でフレームが正常に受信された場合には、アクノリッジデータを返信し、そうでない場合にはアクノリッジデータを返信しない。送信元のバスマスタは、アクノリッジデータの返信がなかったことをもってフレーム転送の不具合を検出し、他の送信経路を選択してフレームを再送信することで、通信を継続する。受信したフレームのヘッダにエラーが検出された場合には、受信先のバスマスタでフレームが破棄されるため、送信元のバスマスタでアクノリッジデータを受信することはない。また利用中のデータ転送経路に於いて、フレームの転送遅延が大きくなり、規定時間内にフレームが受信先に着信しない場合にも、規定時間内にアクノリッジデータを受信することができず、経路の切換が発生する。データ転送経路の状態に合わせて経路をダイナミックに切り換えることにより、転送遅延やエラーが少ない経路で通信することが可能となる。
特許第3816531号明細書
従来技術である複数経路制御技術を用いる場合、送信元のバスマスタは、転送遅延時間の悪化を検出することでデータ転送経路の切り換えの必要性があると判定し、自らのデータ転送状態が最良となるよう経路の選択(利己的な経路選択)を行う。言い換えると、送信元のバスマスタは、高負荷な経路から低負荷な経路に使用経路を切り換えることで、転送遅延時間を改善しようとする。
しかしながら、独立に動作する複数のバスマスタが存在するような一般的なNoCにおいて、各バスマスタが従来の方法によって経路切り換えを行っても、データ転送性能の改善は必ずしも達成できない。その理由は、独立に動作する複数のバスマスタが競合して最良経路を選択しようとすることで、データ転送経路及びリンク資源の奪い合いが生じ、いくつかのリンクに複数の送信元からの転送データが集中するためである。その結果、各経路間を流れる転送データ流量の偏りが拡大する。
この転送データ流量の偏りに起因する転送遅延時間の悪化により、各バスマスタは繰返し経路の再選択を行うため、経路切り換えに要する遅延時間が増大する。またデータ転送に要するレイテンシも増大し、それによって各バスマスタの動作速度が律速される。例えばプロセッサとメモリ間のデータ転送の場合には、メモリアクセスレイテンシに対応したプロセッサのウエイトサイクル数が増大し、処理性能の低下に繋がる。また競合によるスループットの低下により、バスで消費される電力も増加する。バスの動作周波数を上げなければ所望のバス転送能力が得られなくなるためである。バスの消費電力は、バスを構成するトランジスタの消費電力Pで表され、スイッチングレートα、回路の容量C、電源電圧V、動作周波数fとすると、数1で表される。
Figure 0005276220
なお、ここでいう「バスを構成するトランジスタ」とは、データを送信するネットワーク要素とそのデータを受信するネットワーク要素との間に存在するネットワーク要素(たとえば中継ノード)のトランジスタを含む。
また、動作周波数を抑えることにより、電源電圧も数2に示す関係で低減することが可能となる。
Figure 0005276220
数2中のηはトランジスタの動作スレッショルド電圧と電源電圧の比であり、γはプロセスルールに依存する定数である。例えばγ=2とした場合、動作周波数の低減は、消費電力Pに3乗のオーダーで寄与するため、高い転送レートを収容するためのリンクでは、スループットの偏りによる消費電力が非常に大きくなる。
本発明は、上記課題を解決するためになされたものであり、その目的は、経路切り換え時のバスのリソース競合を効率的に抑制することで経路切り換え遅延を短縮し、バスの平均利用効率を向上させることが可能なバス制御装置(中継装置)を提供することにある。
本発明によるバス制御装置は、バスマスタと、ネットワーク化された通信バスとの間に設けられ、前記通信バスに流れるパケットの送信経路を制御するバス制御装置であって、複数の送信経路および前記複数の送信経路の各々の送信状況を管理する経路表管理部と、所定の確率分布に従うパラメータ、または、予め定められた規則に従うパラメータを生成するパラメータ生成部と、前記複数の送信経路の各々の送信状況と前記パラメータとに基き、送信経路を決定する決定部と、前記通信バス上を流れるパケットの中継処理を行う中継部とを備えている。
前記バス制御装置は、前記パケットの送信経路を、前記決定部によって決定された新たな送信経路に切り換える切換部をさらに備え、前記中継部は、前記切換部によって切り換えられた前記新たな送信経路を利用して前記パケットを送信してもよい。
前記決定部は、前記パラメータが、前記送信状況を示す評価値に応じて算出される選択確率の範囲に含まれるか否かに応じて、前記選択確率に対応する送信経路に切り換えるか否かを決定してもよい。
前記決定部は、各経路の送信状況の良さに比例した確率分布を用いて経路の選択を行ってもよい。
前記決定部は、伝送レートが基準値よりも高いレートのパケットのフローに対しては、既に使用中の経路の選択確率を補正し、経路切換確率を制限してもよい。
前記経路表管理部は、送信状況が予め定められた基準を下回った経路を切り換え対象の経路として特定し、前記パラメータ生成部は、熱雑音を基にした乱数、または、一様分布、ポアソン分布または正規分布に基づく疑似乱数を利用して前記パラメータを生成し、前記決定部は、前記切り換え対象の経路で伝送されるパケットのフローに関して、前記送信状況の悪化に応じて大きくなる評価値を算出し、前記パラメータが、前記評価値の範囲に含まれるか否かに応じて、前記評価値に対応する送信経路に切り換えるか否かを決定してもよい。
前記経路表管理部は、送信状況が予め定められた基準を下回った経路を切り換え対象の経路として特定し、前記パラメータ生成部は、規則的に変化するカウンタを利用して前記パラメータを生成し、前記決定部は、前記切り換え対象の経路で伝送されるパケットのフローに関して、前記送信状況の悪化に応じて大きくなる評価値を算出し、前記パラメータが、前記評価値の範囲に含まれるか否かに応じて、前記評価値に対応する送信経路に切り換えるか否かを決定してもよい。
本発明による制御装置は、バスマスタと、ネットワーク化された通信バスとの間に設けられたバス制御装置に指示を出力して、前記通信バスに流れるパケットの送信経路を制御する制御装置であって、複数の送信経路および前記複数の送信経路の各々の送信状況を管理する経路表管理部と、所定の確率分布に従うパラメータ、または、予め定められた規則に従うパラメータを生成するパラメータ生成部と、前記複数の送信経路の各々の送信状況と前記パラメータとに基き、送信経路を決定して、決定した前記送信経路に関する指示を前記バス制御装置に出力する決定部とを備えている。
本発明によれば、所定の確率分布に従うパラメータ、または、予め定められた規則に従うパラメータが生成され、そのパラメータと複数の送信経路の各々の送信状況とに基づき、新たな送信経路が決定される。これにより、独立して動作する複数のバスマスタが接続された一般的なネットワークバスに於いて、各バスマスタが利己的な判断のみで送信経路を変更することによって発生するリソース競合に伴うスループットの低下を防ぐことが可能となり、競合によるレイテンシの悪化を抑制することができる。またスループットの改善により、バス自体の動作周波数を低く設定できるため、バスにおける消費電力も低く抑えることが可能となる。
(a)および(b)は、NoCバスの一部の構成を示す図である。 2次元メッシュ型でバスマスタを結合したNoCバスの構成例を示す図である。 送信元から受信先までの3本の経路(1)〜(3)を示す図である。 組込機器に搭載されるシステム半導体のメモリ間インタフェースを、バタフライ形式の多段接続網であるNoCバスを用いて構成した例を示す図である。 CPUからDRAM0にアクセスする経路として、経路000102と経路001102の2本があることを示す図である。 CPUが実行するOSやアプリケーションが、経路000102を用いてDRAM0にアクセスしている状況を示す図である。 図6の状況で、更にCPUのペリフェラルであるDMAC0が、経路000102を用いてDRAM0へのデータ転送を開始したことを示す図である。 経路切り換えが行われた結果、中継ノードR11、R00に各バスマスタのメモリアクセス負荷が集中した様子を示す図である。 確率的な経路の切り換え処理によって、CPUが経路000102に留まり、DMAC0が経路001102への切り換えを行った様子を示す図である。 本発明の実施形態によるバス制御装置100の構成例を示す図である。 メモリへの書込アクセスを行うためのパケットの構成例を示す図である。 ヘッダフリットの構成例を示す図である。 ペイロードフリットの構成例を示す図である。 物理アドレス空間とDRAM0およびDRAM1との対応関係を示す図である。 図14の対応関係を記述するアドレス対応表の例を示す図である。 バス制御装置R00上の経路表管理部102で管理される経路表の例を示す図である。 フロー表の一例を示す図である。 図17のフロー表に示される通信状況において、フローIDが2のフローの経路を切り換えたときのフロー表である。 経路切換部104の処理手順を示すフローチャートである。 バス制御装置に対して送信経路の切り換えを指示する制御装置の構成例を示す図である。
以下、添付の図面を参照しながら、本発明によるバス制御装置の実施形態を説明する。
(実施形態1)
本実施形態によるバス制御装置を具体的に説明するに先立って、NoC(Network on Chip)と呼ばれる通信バス、その通信バスで利用可能な送信経路、および、本実施形態によるバス制御装置の動作原理を説明する。
図4は、組込機器に搭載されるシステム半導体のメモリ間インタフェースを、バタフライ形式の多段接続網であるNoCバスを用いて構成した例である。図4では、バスマスタにあたるCPU、DMAC、DSPと、メモリコントローラであるDRAM0、DRAM1が、2入力2出力の中継ノードRxy(x=0、1、y=0、1、2)によって多段接続されている。この構成は、バスマスタ側からメモリコントローラ側への一方向性のバスである。ただし実際には、バスマスタからメモリ側へのアクセスだけではなく、メモリ側からバスマスタへの逆方向の転送も存在する。しかしながら、その構成に関しては本例と同様のバタフライ網が往路と復路とで二重化されるだけであり、いずれの網も動作原理は同じとなる。そこで、ここではバスマスタからメモリへの往路の網を用いて説明を行い、復路の動作は省略する。
図4では、各バスマスタからいずれのメモリコントローラにデータを転送するにも、異なる2つの転送経路を利用することができる。図5は、CPUからDRAM0にアクセスする経路として、経路000102と経路001102の2本があることを示している。図中では省略されているが、同様に、他のバスマスタからいずれのメモリに対しても、それぞれ2本の利用可能な経路が存在している。
本実施形態の説明では、経路上の中継ノードに割り当てられた番号を連ねることによって、各経路を示す。例えば、図5のCPUからDRAM0に向かう経路のうち、中継ノードR00、R01、R02によって中継される経路は、「経路000102」と表現される。また、中継ノードR00、R11、R02によって中継される経路は、「経路001102」と表現される。
図6は、CPUが実行するOSやアプリケーションが、経路000102を用いてDRAM0にアクセスしている状況を示している。同様にDSP上で動作するマイクロコードが、経路101102を用いてDRAM0にアクセスしている状況を示している。これらの状況においては、いずれのメモリアクセスフローによっても、許容される平均アクセスレイテンシの時間内でメモリアクセスが実現されるとする。
図7は、図6の状況で、更にCPUのペリフェラルであるDMAC0が、経路000102を用いてDRAM0へのデータ転送を開始したことを示す。新たに発生したメモリアクセスフローの影響によって、CPU及びDMAC0の平均アクセスレイテンシが許容値を超えると、CPU及びDMAC0がデータ転送経路の切り換えを行う。
いま、負荷が存在しない状態で、データ転送パケットがNoCバスを通過するために必要な固定的な転送遅延を12サイクルと仮定し、CPUまたはDMAC0からDRAM0にアクセスする際の平均レイテンシを、経路000102で112サイクル、経路001102で62サイクルとする。レイテンシは、流れるデータの量と中継ノードの出力段に於けるアクセスの競合の強さによって増大する。したがって、経路000102のレイテンシは、経路001102のレイテンシに比べて大きい。
従来の経路切換方法によると、CPU、DMAC0共に、平均レイテンシが高い経路000102から、平均レイテンシが低い経路001102へ経路切り換えを一斉に行う。図8は、経路切り換えが行われた結果、中継ノードR11、R00に各バスマスタのメモリアクセス負荷が集中した様子を示している。中継ノードR11、R00において負荷の集中を招くことで、各フローに基づくメモリアクセス状況は更に悪化する。
本実施形態においては、経路切換動作を行う際に、確率的な挙動を付加する(経路の切り換えを確率的に行う)ことで、このような経路競合による問題点を解決する。たとえば図7の事例においては、経路000102の平均レイテンシ112サイクル、経路001102の平均レイテンシ62サイクルの比率に逆比例した割合により、確率的に経路を選択する。即ち、CPU及びDMAC0のいずれも、経路000102を選択する確率は0.4、経路001102を選択する確率は0.6となる。この結果、バスマスタが同時に経路切り換えを行おうとするときの、切り換え対象となる経路が確率的に分散されることになる。よって、図8に示されるような経路リソースの奪い合いによる競合状態に陥ることがなくなる。
図9は、確率的な経路の切り換え処理によって、CPUが経路000102に留まり、DMAC0が経路001102への切り換えを行った様子を示す。CPUのアクセス経路000102は変化しないが、DMAC0のアクセスが経路001102に移動している。そのため、CPUからDRAM0への経路のレイテンシが112サイクルから62サイクルに向上する。またDMAC0のアクセス経路は、経路000102から、経路001102に移動することで、レイテンシが112サイクルから62サイクルに向上する。さらに、DSPも経路101102により、62サイクルのレイテンシでDRAM0にアクセスする。DRAM0に向かう経路上の中継ノード間リンクの全てにアクセスフローが分散され、効率的にデータ転送帯域が利用されていることが分かる。
以下、図10を参照しながら、上述の動作を行うためのバス制御装置の構成例を説明する。
図10は、本実施形態によるバス制御装置100の構成例を示す。
バス制御装置は、中継部101と、経路表管理部102と、パラメータ生成部103と、経路切換部104とを備えている。以下、各構成要素の機能を説明する。
(中継部101)
ネットワークバス上でのメモリアクセスは、パケット単位で行われる。中継部101はパケットを受け取り、そのパケットに記述された宛先アドレスを参照して、そのパケットを隣接する中継装置やDRAM等のメモリに送信する。
図11は、メモリへの書込アクセスを行うためのパケットの構成例を示す。本例のパケットは4つのフィールド、具体的にはFLOW ID、ADDR、RW、DATAの各フィールドから構成されている。
FLOW IDフィールドには、メモリへのアクセスを発行している主体を特定するための識別子が格納される。この値は、経路の切り換え単位を意味し、同一の値を持つパケット群は同じ経路で送信される。アプリケーション毎にメモリアクセスを管理する場合であれば、アプリケーションに固有のIDを格納してもよいし、アプリケーションを構成するプロセス毎に管理する場合であれば、プロセスIDを格納してもよい。更に細かいタスク単位で管理する場合であれば、タスクIDを格納してもよい。
ADDRフィールドには、データの書込を行うメモリ番地の情報が格納される。RWフィールドには、読出命令か書込命令かを区別するための情報が格納される。DATAフィールドには、書き込むデータのビットパターンが格納される。
パケットのサイズは、使用するメモリやアプリケーションが一度にアクセスするデータの長さなどに依存する。そのため、1パケットは、バスクロック毎に転送が可能なフリットと呼ばれるより小さい単位に分割される。一般的には、パケットはひとつのヘッダフリットと、複数のペイロードフリットとによって構成される。
図12はヘッダフリットの構成例を示す。本例によるヘッダフリットは、4つのフィールドから構成されている。MARKERフィールドにはヘッダフリットであることを示す情報が格納される。LENGTHフィールドにはフリット数に関する情報が格納される。SRCフィールドには送信元のノードのID情報が格納される。DSTフィールドにはアクセス先のメモリを識別するための情報、および、使用する経路に関する情報が格納される。
図13はペイロードフリットの構成例を示す。MARKERフィールドにはペイロードフリットであることを示す情報が格納される。PACKET PAYLOADフィールドには図11に示したパケットが適切な個数に分割されて格納される。
物理的なアドレス空間と、パケットの送信先であるDRAM0またはDRAM1を識別するための情報との関係付けは、設計情報としてアドレスマップ上で定義される。図14は、物理アドレス空間とDRAM0およびDRAM1との対応関係を示す。また図15は、この対応関係を記述するアドレス対応表の例を示す。このアドレス対応表は、たとえばバスマスタの内部メモリ(図示せず)に保持され、管理されている。バスマスタは、このアドレス対応表を参照することにより、パケットの送信先を決定する。
図15に示されるように、0x00000000から0x3FFFFFFFの範囲にあるアドレスが記述されたアクセスパケットには00のメモリIDが割り当てられ、DRAM0にパケットが送信される。また0x40000000から0x7FFFFFFFの範囲にあるアドレスが記述されたアクセスパケットには10のメモリIDが割り当てられ、DRAM1にパケットが送信される。図12のDSTフィールドには、経路切換部104が管理する経路番号と送信先のメモリの識別子とが格納される。例えばCPUから経路000102を用いてDRAM0にアクセスする場合には、DSTには000が格納される。またDMAC0から経路001102を用いてDRAM0にアクセスする場合には、100が格納される。各中継ノードは、ヘッダフリットに格納されたDSTフィールドの各ビットの値を読んで、フリットの転送先のポートを決定することで、パケットをDRAM0へと中継する。
(経路表管理部102)
図16は、バス制御装置R00上の経路表管理部102で管理される経路表の例を示す。中継ノードR00からDRAM0に向かう経路として、経路000102および経路001102が存在する。また、DRAM1に向かう経路として、経路000112および経路001112が存在する。したがって、経路表管理部102は、4本の経路の各々を経路表上で経路評価値と共に管理する。
ここで、「経路評価値」とは各経路の伝送品質(送信状況)を表す値であり、たとえば経路の通信レイテンシを経路評価値として利用してもよい。各経路の通信レイテンシは、当該経路を通じたパケットの送受信にかかるサイクル数を計測することにより得ることができる。あるいは経路のレイテンシを計測するための計測用のパケットを送受信するプロトコルを備えてもよい。
経路のレイテンシが予め定められた閾値を超えた場合、言い換えると、経路の伝送品質(送信状況)が閾値によって予め定められた基準を下回った場合には、経路表管理部102は、経路切換部104に対して、経路切換要求を発行する。レイテンシの閾値を50とした場合、経路000102と経路001102が切換対象経路となり、経路切換部104に通知される。
(パラメータ生成部103)
パラメータ生成部103は、所定の確率分布に従うパラメータ、または、予め定められた規則に従うパラメータを生成する。本実施形態においては、パラメータ生成部103は、0.0から1.0の範囲上の値をランダムに発生する。例えばパラメータ生成部103は、熱雑音を基にした乱数発生用のハードウェアで構成される。または、パラメータ生成部103は、一様分布、ポアソン分布または正規分布などの確率分布に基づく疑似乱数を発生するソフトウェアで構成されてもよい。また、上述の方法によって発生させた確率のテーブルを用意し、それを読み出してもよい。これらは確率分布に従うパラメータの生成例である。
他方、パラメータ生成部103は予め定められた規則に従うパラメータを生成することもできる。ここでいう「予め定められた規則」とは、たとえば0.01から1まで規則的にインクリメントまたはデクリメントするカウンタを用意し、一定時間ごとに0.01単位で規則的にインクリメントさせる規則をいう。カウンタが示す各値をパラメータとして使うことにより、バスマスタが同時に経路切り換えを行おうとするときの切り換え対象となる経路が分散されることになる。よって、図8に示されるような経路リソースの奪い合いによる競合状態に陥ることがなくなる。
(経路切換部104)
経路切換部104は、決定部106および切換部108を有している。決定部106は、バスの負荷状況に合わせてどの経路を選択するかを決定する。切換部108は、これまで採用されていた経路を、データの伝送経路を決定部106によって決定された経路に切り換える。この「経路を切り換える」とは、パケット(またはフリット)を送信する中継装置を変更すること、または送信経路上で中継する中継装置を変更することをいう。決定部106および切換部108はハードウェアとして存在しなくてもよく、モジュール化されたプログラムとして実現されてもよい。
決定部106は、図17に示すようなフロー表を管理している。決定部106は、経路表管理部102から経路切換要求を受けた経路でメモリにアクセスしている各フローに対し、どの経路に切り換えるかを決定する。切換部108は決定部106によって決定された経路への切換を実行する。図18は、フローIDが2のフローの経路を切り換えたときのフロー表を示す。以下、図19を参照しながら、フローの経路を切り換える処理の詳細を説明する。以下では、図17のフロー表で示される状態から、図18のフロー表で示される状態に書き換えられる例を説明する。図17では、フローIDが1および2の各フローは経路000102を使用し、フローIDが3のフローは経路101102を使用して伝送されるとする。
図19は、経路切換部104の処理手順を示す。
経路切換部104の決定部106は、経路表管理部102から、経路000102に対する経路切換要求を受信する(ステップS1)。このとき、決定部106は、図17のフロー表を参照して、要求を受けた各経路に対するイテレーションを行う(ステップS2)。その結果、図17で管理されるフロー1及びフロー2が経路切換対象のフローとして認識される(ステップS3)。決定部106は、各切り換え対象フローiに対するイテレーションを行う(ステップS4)。
決定部104は、経路表管理部102で管理される経路表から、メモリIDが00のDRAM0に対応する切換候補経路である経路000102と経路001102の経路評価値E1、E2を読み出す(ステップS5)。
図16に示すように、経路評価値がE1=112、E2=62であったとすると、決定部106は、それらの逆数の比率であるE1チルダ及びE2チルダを求める(ステップS6)。この例の場合は、E1チルダ=62/(112+62)=0.4、E2チルダ=112/(112+62)=0.6となる。次に経路切り換えの対象フローであるフロー1とフロー2それぞれに対応する確率値として、パラメータ生成部103から2つの確率値P1及びP2を取得する(ステップS7)。いまそれぞれの確率値を、P1=0.2及びP2=0.7とすると、以下の関係を見て切り換え対象の経路を決定できる(ステップS8)。即ち、フロー1については、以下の基準によって経路が切り換えられる。
0<=P1<0.6 → P1が0.6(=E2チルダ)より小さければ経路000102に切り換え
0.6<=P1<=1.0 → P1が0.6(E2チルダ)以上であり、且つ1.0(=E1チルダ+E2チルダ)以下であれば経路001102に切り換え
またフロー2については、以下の基準によって経路が切り換えられる。
0<=P2<0.6 → P2が0.6(=E2チルダ)より小さければ経路000102に切り換え
0.6<=P2<=1.0 → P2が0.6(E2チルダ)以上であり、且つ1.0(=E1チルダ+E2チルダ)以下であれば経路001102に切り換え
上述の説明から理解されるとおり、上述のE2チルダは、選択確率として利用されているといえる。
この結果、決定部106は図18に示すようにフロー表を更新する。すなわち、フロー1は経路000102に留まり、フロー2は経路001102に切り換えられる(ステップS11)。この結果、切換部108はフロー2を経路001102に切り換える。その後、決定部106は、各切換対象フローiに対するイテレーションを行い(ステップS12)、要求を受けた各経路に対するイテレーションを行う(ステップS13)。以上の処理により、利用可能な複数の経路上にフローが確率的に分散されるため、経路の競合が抑制される。なお、上述した、フロー2を経路001102に切り換える処理は、パケット(またはフリット)を送信する中継装置を図5に示すR00からR11に変更する処理に相当する。
上述した処理は候補経路数が2本の場合の最も簡単な例である。そこで次に、候補経路が多いときの一般的な処理の例を示す。以下ではN本の候補経路が存在し、各候補経路の経路評価値がEiである場合、確率値の範囲判定の比率を算出するためにステップS6では次の数3にしたがって、正規化された値Eiチルダを求めてもよい。
Figure 0005276220
上述のEiチルダを用いて、ステップS8では生成した確率値Piが下記数4に示す確率範囲にあるとき、候補経路jを切り換え先の経路として選択する。
Figure 0005276220
但し下記数5の条件を満たすとする。
Figure 0005276220
また各フローの平均レートなどのレート情報が利用可能であれば、現在使用中の経路に対するEiチルダの値を次の数6ように補正してもよい。
Figure 0005276220
但しwは補正係数、u(・)はステップ関数、rは当該フローの平均レート値、rthは補正を行うかどうかを示す閾値である。
これによって、レートの大きなフローが他の経路に移動する確率が低くなり、レートの小さいフローが移動する確率が高まる。バスを流れる複数のメモリアクセスフローのレートのばらつきが大きく、高レートと低レートが混在するような用途においては、高レートのフロー同士が確率的に切り換え先経路で競合した場合の他のフローへの影響は大きいため、低レートのフローを優先的に経路切り換えしたほうがチップの動作をより安定させることができる。確率的な経路選択を行うことにより、低い負荷の経路が常に選択されるということが避けられる。したがって、従来行われていたような利己的な経路選択に起因する、リソース競合に伴うスループットの低下を防ぐことが可能となる。
また補正に用いる式は、数6には限られない。例えばシグモイド関数を用いて、数7のように定義してもよい。それ以外のさらに複雑な方法によって重み付けを行っても良い。
Figure 0005276220
Kは、rth付近での補正の変化の度合いを調整するための係数である。
またステップS6において、読み出した経路評価値EiからEiチルダに変換しているが、この部分は、予め変換テーブルとして準備しておいても良い。ステップS6は、ステップS5で読み出された経路評価値Eiを検索のキーとして、変換テーブルを探索し、予めテーブルに格納されているEiチルダの値を取得する。変換テーブルを用いることにより、変換処理に要する演算時間を削減することができる。
以上、本発明の実施形態を説明した。本実施形態においては、経路を決定した後、決定された経路に切り換えて送信データを伝送するとしている。しかしながら本発明にかかる装置は、経路を実際に切り換える処理までを行う必要はなく、新たな経路を決定する処理までを行えればよい。経路を切り換える処理は、たとえば本発明の装置から指示を受けた既存のバス制御装置によって行われてもよい。そのため、たとえば図10に示される切換部108や、中継部101は省略されてもよい。
上記変形例に関連して以下の点に留意されたい。
本願明細書では、バス制御装置は中継ノードであるとして説明したため、中継部101が省略された場合には厳密にはバス制御装置には該当しない。しかしながら、これは単に表現の問題である。中継部101が省略された構成は、データ転送経路の切り換えを制御するという意味においてはバス制御装置の範疇である。または、当該構成は、一般的なバス制御装置に対して送信経路の切り換えを指示する「制御装置」として捉えることもできる。
図20は、制御装置110の構成例を示す。制御装置110の経路切換部104は、一般的なバス制御装置111からパケット(受信データ)を受け取り、上述の処理(説明は省略する。)を行うことによってそのパケットの出力経路を決定する。そして経路切換部104は、決定した送信経路で送信するよう、送信経路に関する指示を送信するとともに当該パケット(送信データ)を一般的なバス制御装置111に送信する。
上述の実施形態では、メモリはDRAMとしたが、SRAMなどのオンチップメモリやキャッシュメモリであってもよい。またバスマスタとメモリ間だけではなく、プロセッサ同士の通信網に適用してもよい。またトポロジーもメッシュ網やトーラス網、その他の多段接続網であっても良い。またチップ設計時に使用する伝送性能や消費電力などを見積もるためのソフトウェア・シミュレータ上にアルゴリズムとして実装しても良い。設計ツールに本実施の形態を適用することで、マスキング前の評価段階でチップの性能向上を検証することができる。
本発明は、組込機器向けのSoCに於けるオンチップバスや、汎用プロセッサ、DSP上のローカルバスに於ける、データ転送経路の制御技術を備えたネットワークバス制御装置、制御方法、制御プログラムに利用可能である。
100 バス制御装置
101 中継部
102 経路表管理部
103 パラメータ生成部
104 経路切換部
110 制御装置
111 一般的なバス制御装置

Claims (8)

  1. 各々がパケットを送信する複数のバスマスタと、各バスマスタからのパケットが送信される少なくとも1つのノードとを接続する、ネットワーク化された複数の通信バス上に設けられ、前記複数の通信バスに流れるパケットの送信経路を制御するバス制御装置であって、
    前記各バスマスタから前記少なくとも1つのノードまでの複数の送信経路および前記複数の送信経路の各々の送信状況を管理する経路表管理部と、
    所定の確率分布に従うパラメータ、または、予め定められた規則に従うパラメータを生成するパラメータ生成部と、
    前記複数の送信経路の各々の送信状況と前記パラメータとに基づき、各バスマスタからのパケットが記複数の送信経路に分散するよう、各バスマスタから前記少なくとも1つのノードまでの送信経路を決定する決定部と、
    前記決定部によって決定された前記送信経路に基づいて、前記複数の通信バス上を流れるパケットの中継処理を行う中継部と
    を備えたバス制御装置。
  2. 前記パケットの送信経路を、前記決定部によって決定された新たな送信経路に切り換える切換部をさらに備え、
    前記中継部は、前記切換部によって切り換えられた前記新たな送信経路を利用して前記パケットを送信する、請求項1に記載のバス制御装置。
  3. 前記決定部は、前記パラメータが、前記送信状況を示す評価値に応じて算出される選択確率の範囲に含まれるか否かに応じて、前記選択確率に対応する送信経路に切り換えるか否かを決定する、請求項1記載のバス制御装置。
  4. 前記決定部は、各経路の送信状況の良さに比例した確率分布を用いて経路の選択を行う、請求項1に記載のバス制御装置。
  5. 前記決定部は、伝送レートが基準値よりも高いレートのパケットのフローに対しては、既に使用中の経路の選択確率を補正し、経路切換確率を制限する、請求項4に記載のバス制御装置。
  6. 前記経路表管理部は、送信状況が予め定められた基準を下回った経路を切り換え対象の経路として特定し、
    前記パラメータ生成部は、熱雑音を基にした乱数、または、一様分布、ポアソン分布または正規分布に基づく疑似乱数を利用して前記パラメータを生成し、
    前記決定部は、前記切り換え対象の経路で伝送されるパケットのフローに関して、前記送信状況の悪化に応じて大きくなる評価値を算出し、前記パラメータが、前記評価値の範囲に含まれるか否かに応じて、前記評価値に対応する送信経路に切り換えるか否かを決定する、請求項3に記載のバス制御装置。
  7. 前記経路表管理部は、送信状況が予め定められた基準を下回った経路を切り換え対象の経路として特定し、
    前記パラメータ生成部は、規則的に変化するカウンタを利用して前記パラメータを生成し、
    前記決定部は、前記切り換え対象の経路で伝送されるパケットのフローに関して、前記送信状況の悪化に応じて大きくなる評価値を算出し、前記パラメータが、前記評価値の範囲に含まれるか否かに応じて、前記評価値に対応する送信経路に切り換えるか否かを決定する、請求項3に記載のバス制御装置。
  8. 各々がパケットを送信する複数のバスマスタと、各バスマスタからのパケットが送信される少なくとも1つのノードとを接続する、ネットワーク化された複数の通信バス上に設けられたバス制御装置に指示を出力して、前記複数の通信バスに流れるパケットの送信経路を制御する制御装置であって、
    前記各バスマスタから前記少なくとも1つのノードまでの複数の送信経路および前記複数の送信経路の各々の送信状況を管理する経路表管理部と、
    所定の確率分布に従うパラメータ、または、予め定められた規則に従うパラメータを生成するパラメータ生成部と、
    前記複数の送信経路の各々の送信状況と前記パラメータとに基づき、各バスマスタからのパケットが前記複数の送信経路に分散するよう、各バスマスタから前記少なくとも1つのノードまでの送信経路を決定して、決定した前記送信経路に関する指示を前記バス制御装置に出力する決定部と、
    を備えた制御装置。
JP2012517116A 2010-05-27 2011-05-13 バス制御装置およびバス制御装置に指示を出力する制御装置 Active JP5276220B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012517116A JP5276220B2 (ja) 2010-05-27 2011-05-13 バス制御装置およびバス制御装置に指示を出力する制御装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010121899 2010-05-27
JP2010121899 2010-05-27
JP2012517116A JP5276220B2 (ja) 2010-05-27 2011-05-13 バス制御装置およびバス制御装置に指示を出力する制御装置
PCT/JP2011/002681 WO2011148583A1 (ja) 2010-05-27 2011-05-13 バス制御装置およびバス制御装置に指示を出力する制御装置

Publications (2)

Publication Number Publication Date
JPWO2011148583A1 JPWO2011148583A1 (ja) 2013-07-25
JP5276220B2 true JP5276220B2 (ja) 2013-08-28

Family

ID=45003584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012517116A Active JP5276220B2 (ja) 2010-05-27 2011-05-13 バス制御装置およびバス制御装置に指示を出力する制御装置

Country Status (4)

Country Link
US (1) US9075747B2 (ja)
JP (1) JP5276220B2 (ja)
CN (1) CN102893268B (ja)
WO (1) WO2011148583A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016099778A1 (en) * 2014-12-17 2016-06-23 Intel Corporation Parallel direction decode circuits for network-on-chip

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5723806B2 (ja) * 2012-02-24 2015-05-27 エヌ・ティ・ティ・コムウェア株式会社 通信システム、経路制御装置、経路制御方法及び経路制御プログラム
US8885510B2 (en) * 2012-10-09 2014-11-11 Netspeed Systems Heterogeneous channel capacities in an interconnect
US9054977B2 (en) * 2013-08-05 2015-06-09 Netspeed Systems Automatic NoC topology generation
US9742630B2 (en) * 2014-09-22 2017-08-22 Netspeed Systems Configurable router for a network on chip (NoC)
US10348563B2 (en) 2015-02-18 2019-07-09 Netspeed Systems, Inc. System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology
US10218580B2 (en) 2015-06-18 2019-02-26 Netspeed Systems Generating physically aware network-on-chip design from a physical system-on-chip specification
WO2017077841A1 (ja) * 2015-11-05 2017-05-11 日立オートモティブシステムズ株式会社 中継装置、電子制御装置及び車載ネットワークシステム
US10452124B2 (en) 2016-09-12 2019-10-22 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US20180159786A1 (en) 2016-12-02 2018-06-07 Netspeed Systems, Inc. Interface virtualization and fast path for network on chip
US10063496B2 (en) 2017-01-10 2018-08-28 Netspeed Systems Inc. Buffer sizing of a NoC through machine learning
US10469337B2 (en) 2017-02-01 2019-11-05 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
US11144457B2 (en) 2018-02-22 2021-10-12 Netspeed Systems, Inc. Enhanced page locality in network-on-chip (NoC) architectures
US10547514B2 (en) 2018-02-22 2020-01-28 Netspeed Systems, Inc. Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
US10983910B2 (en) 2018-02-22 2021-04-20 Netspeed Systems, Inc. Bandwidth weighting mechanism based network-on-chip (NoC) configuration
US11176302B2 (en) 2018-02-23 2021-11-16 Netspeed Systems, Inc. System on chip (SoC) builder
US11023377B2 (en) 2018-02-23 2021-06-01 Netspeed Systems, Inc. Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA)
CN108449269A (zh) * 2018-04-12 2018-08-24 重庆邮电大学 基于sdn的数据中心网络负载均衡方法
US20200234396A1 (en) * 2019-01-22 2020-07-23 Black Sesame International Holding Limited Heterogeneous computation and hierarchical memory image sensing pipeline
WO2022264351A1 (ja) * 2021-06-17 2022-12-22 三菱電機株式会社 データ処理装置及びデータ処理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0936893A (ja) * 1995-07-13 1997-02-07 Internatl Business Mach Corp <Ibm> 経路決定方法
JP2002247087A (ja) * 2001-02-15 2002-08-30 Nippon Telegr & Teleph Corp <Ntt> Ipネットワーク負荷分散方法、ipネットワーク、ipルーティング装置及びルートサーバ装置
JP2007325032A (ja) * 2006-06-01 2007-12-13 Nippon Telegr & Teleph Corp <Ntt> 要求解釈方法、および、要求解釈装置
WO2009150849A1 (ja) * 2008-06-12 2009-12-17 パナソニック株式会社 ネットワーク監視装置、バスシステム監視装置、方法、およびプログラム
JP2010056818A (ja) * 2008-08-28 2010-03-11 Kddi Corp リンクの可用率に基づく経路制御方法、装置及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5959995A (en) 1996-02-22 1999-09-28 Fujitsu, Ltd. Asynchronous packet switching
KR100601881B1 (ko) * 2004-01-28 2006-07-19 삼성전자주식회사 원칩 시스템에서 라우터들간의 라우팅 경로 설정 장치 및방법
KR100674933B1 (ko) * 2005-01-06 2007-01-26 삼성전자주식회사 온 칩 버스(On Chip Bus)에서 최적화된코어-타일-스위치(core-tile-switch)맵핑(mapping) 구조를 결정하는 방법 및 그 방법을기록한 컴퓨터로 읽을 수 있는 기록 매체
CN101142792A (zh) * 2005-02-28 2008-03-12 Nxp股份有限公司 输入缓冲交换机
JP4074310B2 (ja) * 2005-09-05 2008-04-09 日本電信電話株式会社 トラヒック分散制御装置、パケット通信ネットワークおよびプログラム
WO2008004185A2 (en) * 2006-07-05 2008-01-10 Nxp B.V. Electronic device, system on chip and method for monitoring data traffic
CN101484880B (zh) * 2006-07-05 2012-08-08 新思科技有限公司 电子装置、片上系统以及监控数据流的方法
KR100785472B1 (ko) * 2006-09-19 2007-12-13 삼성전자주식회사 긴급 NoC 패킷 대기시간 관리 장치 및 그 방법
WO2008041292A1 (fr) * 2006-09-29 2008-04-10 Fujitsu Limited Circuit intégré
US20090067343A1 (en) * 2007-06-04 2009-03-12 David Fritz Method for the synthesis of optimal asynchronous on-chip communication networks from system-level constraints
US7772880B2 (en) * 2007-09-12 2010-08-10 Neal Solomon Reprogrammable three dimensional intelligent system on a chip
FR2925187B1 (fr) * 2007-12-14 2011-04-08 Commissariat Energie Atomique Systeme comportant une pluralite d'unites de traitement permettant d'executer des taches en parallele,en mixant le mode d'execution de type controle et le mode d'execution de type flot de donnees
US8638665B2 (en) * 2008-04-30 2014-01-28 Nec Corporation Router, information processing device having said router, and packet routing method
JP4971292B2 (ja) 2008-11-25 2012-07-11 日本電信電話株式会社 オーバーレイネットワーク経路選択システムと方法およびプログラム
US8270316B1 (en) * 2009-01-30 2012-09-18 The Regents Of The University Of California On-chip radio frequency (RF) interconnects for network-on-chip designs

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0936893A (ja) * 1995-07-13 1997-02-07 Internatl Business Mach Corp <Ibm> 経路決定方法
JP2002247087A (ja) * 2001-02-15 2002-08-30 Nippon Telegr & Teleph Corp <Ntt> Ipネットワーク負荷分散方法、ipネットワーク、ipルーティング装置及びルートサーバ装置
JP2007325032A (ja) * 2006-06-01 2007-12-13 Nippon Telegr & Teleph Corp <Ntt> 要求解釈方法、および、要求解釈装置
WO2009150849A1 (ja) * 2008-06-12 2009-12-17 パナソニック株式会社 ネットワーク監視装置、バスシステム監視装置、方法、およびプログラム
JP2010056818A (ja) * 2008-08-28 2010-03-11 Kddi Corp リンクの可用率に基づく経路制御方法、装置及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016099778A1 (en) * 2014-12-17 2016-06-23 Intel Corporation Parallel direction decode circuits for network-on-chip
US9866476B2 (en) 2014-12-17 2018-01-09 Intel Corporation Parallel direction decode circuits for network-on-chip

Also Published As

Publication number Publication date
CN102893268A (zh) 2013-01-23
US20130080671A1 (en) 2013-03-28
JPWO2011148583A1 (ja) 2013-07-25
CN102893268B (zh) 2015-11-25
WO2011148583A1 (ja) 2011-12-01
US9075747B2 (en) 2015-07-07

Similar Documents

Publication Publication Date Title
JP5276220B2 (ja) バス制御装置およびバス制御装置に指示を出力する制御装置
JP6093867B2 (ja) インターコネクトにおける不均一なチャネル容量
US8819616B2 (en) Asymmetric mesh NoC topologies
JP5083464B2 (ja) ネットワークオンチップとネットワークルーティング方法とシステム
US7706275B2 (en) Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by employing bandwidth shells at areas of overutilization
Bolotin et al. Routing table minimization for irregular mesh NoCs
JP4820466B2 (ja) 半導体システム、中継器およびチップ回路
JPWO2013054497A1 (ja) 中継器、中継器の制御方法、およびコンピュータプログラム
US10637739B2 (en) Network topology system and building method for topologies and routing tables thereof
US8031614B2 (en) Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by dynamic global mapping of contended links
JP4901167B2 (ja) トラフィック重み係数を用いてトラフィックをルーティングするための方法
Uma et al. Network-on-chip (noc)-routing techniques: A study and analysis
CN117135059B (zh) 一种网络拓扑结构、构造方法、路由算法、设备及介质
CN116886591B (zh) 计算机网络系统及路由方法
CN103729332B (zh) 一种基于MoT结构的低功耗NoC路由方法
Ren et al. BLLC: A batch-level update mechanism with low cost for SDN-IoT networks
Goswami et al. Reactive and proactive routing protocols performance metric comparison in mobile ad hoc networks NS 2
WO2016078071A1 (zh) 通信系统、控制节点和通信方法
JP2016225729A (ja) ネットワークシステム、データ転送制御方法及び制御装置
Wang et al. Flow control mechanism for wireless network-on-chip
Yang et al. RIPNoC: A distributed routing scheme for balancing on-chip network load
Zhou et al. Improvement and Optimization of ZigBee Network Routing Algorithm
Gholap et al. Implementation of Novel Approach to Enhance Routing Performance

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130516

R150 Certificate of patent or registration of utility model

Ref document number: 5276220

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150