特許第5764299号(P5764299)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ スパンション エルエルシーの特許一覧

<>
  • 特許5764299-データ転送装置およびデータ転送方法 図000002
  • 特許5764299-データ転送装置およびデータ転送方法 図000003
  • 特許5764299-データ転送装置およびデータ転送方法 図000004
  • 特許5764299-データ転送装置およびデータ転送方法 図000005
  • 特許5764299-データ転送装置およびデータ転送方法 図000006
  • 特許5764299-データ転送装置およびデータ転送方法 図000007
  • 特許5764299-データ転送装置およびデータ転送方法 図000008
  • 特許5764299-データ転送装置およびデータ転送方法 図000009
  • 特許5764299-データ転送装置およびデータ転送方法 図000010
  • 特許5764299-データ転送装置およびデータ転送方法 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5764299
(24)【登録日】2015年6月19日
(45)【発行日】2015年8月19日
(54)【発明の名称】データ転送装置およびデータ転送方法
(51)【国際特許分類】
   H04L 12/28 20060101AFI20150730BHJP
【FI】
   H04L12/28 200B
【請求項の数】5
【全頁数】13
(21)【出願番号】特願2010-85270(P2010-85270)
(22)【出願日】2010年4月1日
(65)【公開番号】特開2011-217258(P2011-217258A)
(43)【公開日】2011年10月27日
【審査請求日】2012年12月28日
【前置審査】
(73)【特許権者】
【識別番号】504378124
【氏名又は名称】スパンション エルエルシー
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】上野 弘貴
【審査官】 安藤 一道
(56)【参考文献】
【文献】 特開2000−151538(JP,A)
【文献】 特開平02−250451(JP,A)
【文献】 特開2001−094575(JP,A)
【文献】 特開2003−078527(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/28
(57)【特許請求の範囲】
【請求項1】
複数のチャネルから受信したデータをアイソクロナス転送により共通バスに転送するデータ転送装置であって、
前記複数のチャネルのいずれかから受信したデータをそれぞれ保持する複数のデータ保持部と、
前記共通バスへのデータ転送に先立ち前記チャネルごとに前記受信したデータに対して転送帯域を割り当てる際、前記データに対する優先度の高い順に、前記チャネルから受信したデータの処理順序を決定する処理データ決定部と、
前記共通バスに確保されている許容帯域の範囲内で、前記処理データ決定部により決定された処理順序に従って、前記転送帯域を割り当てるフロー制御部と、
前記フロー制御部により前記データに前記転送帯域が割り当てられる際、前記許容帯域から前記転送帯域を減じることによって前記許容帯域を更新する帯域更新部と、
を有し、
特定のチャネルからのデータによる転送帯域の独占を防ぐように、前記複数のチャネルのそれぞれから受信したデータに対して、前記共通バスへの前記アイソクロナス転送が許可される最大サイズが規定されていることを特徴とするデータ転送装置。
【請求項2】
予め設定された値に応じて、複数の処理チャネル決定ルールのうちのいずれかを選択するデータサイズ制御部を有し、
前記処理データ決定部による前記処理順序の決定は、前記選択された処理チャネル決定ルールに従って、前記データに対する優先度の高い順に行われる、請求項1に記載のデータ転送装置。
【請求項3】
前記データ保持部の保持するデータ量と前記データ保持部の保持可能な最大のデータ量との比を前記データ保持部の使用率として計算するデータ保持部使用率演算器と、
前記使用率が高いほど前記優先度を高く設定する処理データ決定部と、を備えることを特徴とする請求項1又は2に記載のデータ転送装置。
【請求項4】
前記転送帯域の割り当てが行われないデータについて優先フラグをセットする優先フラグ管理部を備え、
該優先フラグがセットされたデータについて優先度を高く設定することを特徴とする請求項1乃至3の何れかに記載のデータ転送装置。
【請求項5】
複数のチャネルから受信したデータをアイソクロナス転送により共通バスに転送するデータ転送方法であって、
前記複数のチャネルのそれぞれから受信したデータを保持するステップと、
前記共通バスへのデータ転送に先立ち前記チャネルごとに前記受信したデータに対して転送帯域を割り当てる際、前記データのうち優先度の高い順に、前記共通バスに確保されている許容帯域の範囲内で、前記転送帯域を割り当てるステップと、
前記転送帯域を割り当てるステップにより割り当てられた前記転送帯域を前記許容帯域から減じることによって前記許容帯域を更新するステップと、を有し、
特定のチャネルからのデータによる転送帯域の独占を防ぐように、前記複数のチャネルのそれぞれから受信したデータに対して、前記共通バスへの前記アイソクロナス転送が許可される最大サイズが規定されていることを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は複数種類のデータをアイソクロナス転送により共通バスに転送する際に、共通バスのデータ転送帯域を有効利用するデータ転送装置およびデータ転送方法に関するものである。
【背景技術】
【0002】
複数のチャネルから伝送されたデータをアイソクロナス転送によりネットワークへマルチキャストするデータ転送装置では、各チャネルから伝送されたデータのネットワークへの円滑な転送を確保する必要がある。これは、データごとの転送帯域のピーク値を加算した値を、データ転送装置の使用帯域として確保することで実現できる。しかし、全チャネルのデータ転送のピークが重なり合うことはまれであるため、該使用帯域の確保の方法を用いると、過剰な帯域を確保することとなり、ネットワークに接続されている他の装置の帯域確保を阻害する要因となる。
【0003】
かかる問題を解消するため、変動レートデータを扱う場合に発生する未使用帯域を他のチャネルに貸し出す方式がある。また、映像データなどの間歇バースト型データの転送に用いられるチャネルを、該データ転送のブランキング期間において、音声データなどの転送に用いる方法がある(特許文献1、2)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−94575
【特許文献2】特開2003−8578
【発明の概要】
【発明が解決しようとする課題】
【0005】
変動レートデータを扱う場合に発生する未使用帯域を他のチャネルに貸し出す方式においては、二つのチャネル間の調停を前提としている。多数のチャネルを有するデータ転送装置に対して該方式を適用した場合、多数のチャネル間での調停を行わなければならない場合があり、調停等の処理が複雑になるおそれがある。
【0006】
また、間歇的バースト型データ転送を行うチャネルについて、転送帯域を割り当てる方法では、固定長のデータの転送を前提としている。よって、符号化データのような可変長のデータを転送するチャネルに対して適切に転送帯域の割り当てを行うことが出来ない。
【課題を解決するための手段】
【0007】
複数のデータをアイソクロナス転送により共通バスに転送するデータ転送装置であって、データを保持するデータ保持部と、共通バスへのデータ転送に先立ちデータごとに転送帯域を割り当てる際、データのうち優先度の高い順に、共通バスに確保されている許容帯域の範囲内で、転送帯域を割り当てるフロー制御部と、共通バスにおいて予め確保された使用帯域から、フロー制御部により割り当てられた転送帯域を減じて許容帯域を更新する帯域更新部とを有するものである。
【発明の効果】
【0008】
本発明によれば、データ転送を行うチャネルを複数備えるデータ転送装置において、データ転送装置が確保した帯域の範囲内で、各チャネルへ転送帯域を割り当てることが可能となる。これにより余分な帯域を確保する必要が無くなり、有限である共通バスの転送帯域を有効に活用する事が可能になる。また、一つのデータ転送装置に割り当てる許容帯域を低減した場合であっても、優先度の高いデータを確実に転送することが可能となる。
【図面の簡単な説明】
【0009】
図1】従来の回路構成図
図2】本実施例に係る回路構成図
図3】データサイズ制御部の回路図
図4】データサイズ制御部の動作フロー
図5】音声データのデータ量の時間変動
図6】映像データのデータ量の時間変動
図7】符号化データのデータ量の時間変動
図8】音声データ、映像データ、符号化データのデータ量
図9】従来回路によるパケット構成
図10】本実施例に係る回路によるパケット構成
【発明を実施するための形態】
【0010】
図1に、複数のチャネルから伝送されたデータをアイソクロナス転送によりネットワークへマルチキャストするデータ転送装置について、一般的な構成を示す。チャネルChA乃至ChDに対応するFIFOメモリFA乃至FDに、データが入力される。FIFOメモリFA乃至FDは、バッファとして機能する。FIFOメモリFA乃至FDは、格納済みのデータ量をパケット生成部PGに通知する。パケット生成部PGは、通知されたデータ量に応じて転送量を決定したうえでパケットを生成する。そして、パケット生成部PGは、FIFOメモリFA乃至FDからデータを取り出しパケットを生成した上で送信部SPへ出力する。
【0011】
図2に、本実施例における構成図を示す。本実施例における構成は、図1に示す構成に加えて、データサイズ制御部DSCを備える。データサイズ制御部DSCは、FIFOメモリFA乃至FDから、各FIFOメモリに蓄積されているデータ量が入力される。また、データサイズ制御部DSCには、あらかじめ、データ転送装置について確保されている使用帯域、各チャネルの1サイクルあたりの最大転送量等、各種の制御用信号が後述するレジスタ等に格納されている。そして、データサイズ制御部はこれらの制御用信号をもとに、各チャネルに割り当てられる転送量を計算し、パケット生成部PGへと通知する。パケット生成部PGは、データサイズ制御部DSCにより通知された各チャネルに割り当てられる転送量に基づき、FIFOメモリFA乃至FDからデータを取り出し、送信部SPへパケットを出力する。
【0012】
次に、本実施例に係るデータサイズ制御部DSCの回路図を図3に示す。図3は、IEEE1394規格により定められるデータ転送について例示するものである。
データサイズ制御部DSCは、チャネルChA乃至ChD毎に、サイズ設定レジスタCLR(A)乃至CLR(D)を備える。サイズ設定レジスタCLR(A)乃至CLR(D)は、Channel_LIMIT(A)乃至Channel_LIMIT(D)を管理する。Channel_LIMIT(A)乃至Channel_LIMIT(D)は、各チャネルについて一回のサイクルで送ることの出来る最大のデータ量を示す値である。
【0013】
FIFO使用率演算器FUAは、FIFOメモリFA乃至FDに蓄積されているデータの量とFIFOメモリFA乃至FDに蓄積することの出来る最大のデータ量との比、すなわち各FIFOメモリの使用率を計算する。なお、FIFO使用率演算器FUAは、チャネルChA乃至ChDに応じたFIFO使用率演算器FUA(A)乃至FUA(D)を備える。
データサイズ制御部DSCの外部に存在するFIFOメモリより各FIFOメモリに蓄積されたデータ量を示す信号FIFO_DATA_SIZE A乃至FIFO_DATA_SIZE DがFIFO使用率演算器FUA(A)乃至FUA(D)に入力される。FIFO使用率演算器FUA(A)乃至FUA(D)は、FIFOメモリに蓄積されたデータ量を示す信号FIFO_DATA_SIZE A乃至FIFO_DATA_SIZE Dに基づき、各FIFOメモリの使用率を計算し、結果をフロー制御シーケンサFCSに出力する。
【0014】
フロー制御シーケンサFCSは、IEEE1394規格によって定められるCycleStartイベントを検出することで、動作を開始する。
【0015】
また、フロー制御シーケンサFCSは、処理チャネル決定ルールを定める設定レジスタCRより従うべき処理チャネル決定ルールを示す信号が入力される。本実施例では、処理チャネル決定ルールは以下の3種類を用いるとする。なお、処理チャネル決定ルールは組み合わせて使用することも可能である。
【0016】
処理チャネル決定ルール1は、FIFO使用率演算器FUA(A)乃至FUA(D)により得られた各チャネルChA乃至ChDに係るFIFOメモリFA乃至FDの使用率を相互に比較する。比較した結果、最もFIFO使用率が高いチャネルからデータ転送を行うとするルールである。FIFO使用率が最も高いチャネルからデータ転送を行うことで、全てのチャネルについて均等に、FIFOメモリが溢れることによるデータ転送の抜けを防止することができる。
【0017】
処理チャネル決定ルール2は、ユーザが設定した優先度の順にチャネルを処理するとするルールである。ユーザが優先度を高く設定するほど、そのチャネルのFIFOメモリが溢れる可能性は低くなる。よって、ユーザは重要なデータを送信するチャネルについて優先度を高くすることで、該チャネルについて、FIFOメモリからデータが溢れることによるデータ転送の抜けを防止することができる。ユーザによる優先度の設定は、一のチャネルについてのみ行うことも、全チャネルについて行うことも可能である。処理チャネル決定ルール2により優先度の設定の行われていないチャネルは、同等の優先度として取り扱ってもよいし、処理チャネル決定ルール1又は後述する処理チャネル決定ルール3に従って優先度を設定してもよい。
【0018】
処理チャネル決定ルール3は、処理チャネル決定ルール1に加えて、フラグを用いて、優先制御を行うとするルールである。転送タイミングにおいて転送の割り当てが行われていないチャネルに対してフラグZERO_FLAGをセットする。次回の転送タイミングにおいて、フラグZERO_FLAGがセットされているチャネルから優先的に転送が行われるようにすることで、チャネル間の公平性を担保する。
【0019】
また、処理チャネル決定ルールとして処理チャネル決定ルール2が選択されている場合は、各チャネルの優先度についての情報が設定レジスタCRに保持され、フロー制御シーケンサFCSへ入力される。
【0020】
フロー制御シーケンサFCSには、FIFO使用率演算器FUA(A)乃至FUA(D)より各FIFOメモリの使用率が入力され、該使用率に基づき処理するチャネルを選択する。また、フロー制御シーケンサFCSは、内部にフラグZERO_FLAGを管理するレジスタを有し、処理チャネル決定ルールとして処理チャネル決定ルール3が選択されているときに該レジスタを用いる。
【0021】
また、フロー制御シーケンサFCSには、外部に存在するFIFOメモリから、各FIFOメモリに蓄積されたデータ量を示す値であるFIFO_DATA_SIZE A乃至FIFO_DATA_SIZE Dが入力される。また、フロー制御シーケンサFCSには、チャネルChA乃至ChD各々において定められる一回の転送タイミングで転送可能な最大帯域Channel_LIMIT(A)乃至Channel_LIMIT(D)がサイズ設定レジスタCLRから入力される。フロー制御シーケンサFCSは、これら入力されたFIFO_DATA_SIZE A乃至FIFO_DATA_SIZE DならびにChannel_LIMIT(A)乃至(D)に基づいて、各チャネルのデータ転送量を決定する。
【0022】
また、フロー制御シーケンサFCSは、外部に存在するIEEE1394規格により定められるアイソクロナス・マネジャー配下のBANDWIDTH_AVAILABLEレジスタから、データ転送装置について確保した使用帯域を示す値を読み込む。フロー制御シーケンサFCSは、残りの転送量を保持するレジスタLSRに該確保した帯域を示す値を残りの転送量LIMIT_SIZEとして書き込む。そして、各チャネルについて転送量を割り当てる度、割り当てた量だけLIMIT_SIZEを減算する。
【0023】
フロー制御シーケンサFCSは、前記入力された信号群に基づき、図4として後記するフローに従い、各チャネルの転送量を計算し、計算結果を転送量保持レジスタTSR(A)乃至TSR(D)に出力する。転送量保持レジスタTSR(A)乃至TSR(D)は入力された転送量をTRANS_SIZE(A)乃至(D)として保持する。転送量保持レジスタTSR(A)乃至TSR(D)は、外部に存在するパケット生成部PGへ各チャネルに割り当てられた転送量を通知する。
【0024】
本実施例にかかるデータサイズ制御部DSCが、各チャネルの転送量を決定するフローについて図4に示す。CycleStart信号がフロー制御シーケンサFCSへ入力され、CycleStartイベントを検出することをトリガとしてデータサイズ制御部DSCは処理を開始する(S0)。ユーザは、装置の外部に存在するレジスタを設定することでデータ転送装置の占有する使用帯域値LIMIT_SIZEを決定する(S2)。
IEEE1394規格においては、アイソクロナス・リソース・マネジャー配下のBANDWIDTH_AVAILABLEレジスタが共通バスで割り当て可能なデータ量を示しており、この値の範囲内でLIMIT_SIZEを決定する。
データサイズ制御部DSCは、設定レジスタCRより値を読み込み、いずれの処理チャネル決定ルールに従うか判断を行う(S4)。データサイズ制御部DCSは、処理チャネル決定ルールに従い、処理チャネルを決定する(S6)。予め、ユーザは、処理チャネル決定ルール1乃至3のうちの何れかを選択する。
【0025】
処理チャネル毎に設定される一回の転送タイミングで転送が許される最大のサイズを規定するサイズ設定レジスタCLRに格納される値Channel_LIMITと、処理チャネルのFIFOメモリに格納されているデータサイズFIFO_DATA_SIZEを比較する(S8)。
【0026】
Channel_LIMITがFIFO_DATA_SIZEより大きい場合(S8:YES)は、次の送信タイミングにおいて転送するデータ量を保持する転送量レジスタTSRにFIFO_DATA_SIZEをTRANS_SIZEとして格納する(S10)。これにより、処理チャネルのFIFOメモリに蓄積されている全データを転送することが出来る。
【0027】
また、FIFO_DATA_SIZEがChannel_LIMIT以上の場合(S8:No)は、転送量レジスタTSRにChannel_LIMITをTRANS_SIZEとして格納する(S12)。これにより、一つのチャネルから転送される転送量をChannel_LIMIT以下に制限することができ、特定のチャネルによって使用帯域が独占されることを防ぐことが出来る。
【0028】
次の転送タイミングで送ることの出来る最大の転送量であるLIMIT_SIZEとTRANS_SIZEの比較を行う(S14)。
LIMIT_SIZEがTRANS_SIZE以上の場合(S14:Yes)は、LIMIT_SIZEに格納されている値からTRANS_SIZEに格納されている値を減算した値をLIMIT_SIZEに格納する(S16)。更に、処理チャネル決定ルールが処理チャネル決定ルール3である場合は、処理チャネルのフラグZERO_FRAGをクリアする(S18)。尚、処理チャネル決定ルールが決定ルール3ではない場合には処理(S18)はスキップする。そして、全チャネルのFIFOメモリにデータが残っているか否かをチェック(S20)し、残っていない場合は(S20:NO)、処理を終了する(S28)。TRANS_SIZEの割り当てが終わっていないチャネルが存在する場合は(S20:YES)、処理チャネル決定ルールに従って再度処理チャネルを決定する(S6)。このとき割り当てが済んでいるチャネルは選択の対象にならない。
【0029】
処理チャネルについて、TRANS_SIZEがLIMIT_SIZE以上の場合(S14:No)は、TRANS_SIZEにLIMIT_SIZEを代入する(S22)。LIMIT_SIZEは、初期状態(S2)ではネットワーク上の使用帯域の転送量の最大値を示す。その後処理が進み、チャネルのデータが割り当てられるたびに割り当てられた転送量を示すTRANS_SIZEの分だけ減算される(S16)。従って、この時点では、未だ割り当て可能な転送量の最大サイズを示すこととなる。TRANS_SIZEにLIMIT_SIZEを代入することにより、今回の転送タイミングで該当するチャネルにおける転送可能な転送量を示すこととなる、LIMIT_SIZE以上のデータ転送は、不可能だからである。
そして、処理が為されていないチャネルのTRANS_SIZEをゼロとする(S24)。次に、処理チャネル決定ルールが、決定ルール3の場合は、該TRANS_SIZEがゼロとされたチャネルのフラグZERO_FLAGをセットする(S26)。尚、処理チャネル決定ルールが処理チャネル決定ルール3ではない場合には処理(S26)はスキップする。以上で、処理を終了する(S28)。
以上のように全てのチャネルのTRANS_SIZEが決定されると、各チャネルでは割り当てられた転送量TRANS_SIZEに従ってFIFOメモリからデータを読出し、パケットを生成する。そして各パケットは送信部SPを経由してネットワークへと送信される。ここまでを1サイクルとして、以降、CycleStartイベントを検出するたびに上記フローを繰り返す。
【0030】
本実施例によるデータサイズ制御の具体例について図5乃至図10を用いて述べる。まず、IEEE1394バスにより転送するデータとして代表的な3種類のデータに関し、その転送量の時間変化について述べる。
【0031】
図5に示す様に音声データAudioは、時間により変動することなく、常に固定長のデータが転送され続けるという特徴がある。
【0032】
図6に示す様にビデオカメラにより撮像される映像データVideoは、フレーム単位でデータを転送するため、データ転送の間にブランキング期間が存在し、間歇的にデータが転送されるという特徴がある。
【0033】
図7に示す様にDVDやBlu−ray Disc(登録商標)のデータなど符号化技術によりエンコードされた符号化データTS1を転送する場合、そのデータ転送量は時間により変動するという特徴がある。
【0034】
また、図5図6図7、各々に時刻T1、T2、T3を示す。時刻T1時においては、時刻によりデータ転送量が変動する映像データVideoおよびTS1のデータ転送量が最大となっている。時刻T2時においては、時刻によりデータ転送量が変動するTS1のデータ転送量がT1時に比べて減少している。時刻T3においては、時刻によりデータ転送量が変動するVideoのデータ転送量がゼロとなっている。
【0035】
音声データAudio、映像データVideo、符号化データTS1および符号化データTS1と同様の符号化データTS2のデータ量について、図8に示す。音声データAudioは固定長である。映像データVideoのデータ量は、時刻T1、T2において最大値となり、時刻T3においてはゼロとなる。符号化データTS1のデータ量は、時刻T1において最大値となる。
【0036】
時刻T1、T2、T3において、パケットを送信する場合の各時刻におけるパケット構成について図示する。図9に、FIFOメモリに入ってきた分だけデータの転送を行う従来の方式において、各時刻T1、T2、T3において転送される転送パケットを示す。従来の方式においては、時刻T1における転送量、すなわち、各チャネルの転送量のピーク値の和の転送帯域BW1を確保する必要がある。
【0037】
図10に本実施例に記載のデータサイズ制御部DSCを用いた場合のパケット構成について図示する。なお、処理チャネル決定ルールとして、処理チャネル決定ルール1を用いるとする。
【0038】
時刻T1において、データレートが平均的に高い映像データVIDEOおよび符号化データTS1はFIFOメモリの使用量が多いため、FIFO使用率が高くなる結果、優先的に帯域が確保されている。図10の場合においては、FIFOメモリの使用量が少なく、FIFO使用率が低い符号化データTS2の一部と、音声データAudioについて帯域が割り当てられていない。
かかる場合においても、次の転送サイクル以降において、符号化データTS2および音声データAudioに係るFIFOメモリの使用量が増えた場合には、優先的に帯域を確保することができ、FIFO溢れを防止することができる。
【0039】
時刻T2において、符号化データTS1のデータレートが下がったために、符号化データTS1に係るFIFOの使用量が下がったため、音声データAudioおよび符号化データTS2のデータが転送される。
【0040】
時刻T3において、映像データVIDEOのデータがゼロとなるため、VIDEOの帯域は確保されない。よって、この期間は符号化データTS1およびTS2ならびに音声データAudioが転送される。
【0041】
本実施例に記載のデータサイズ制御部DSCを用いた場合、該転送装置について確保する必要がある転送帯域は図10に示す転送帯域BW2である。転送帯域BW2は、従来技術において確保する必要がある転送帯域BW1と比して減少しており、該転送装置について確保する転送帯域を低減することが出来る。
【0042】
以下、本実施例の奏する作用効果について述べる。共通バスの全帯域は有限であり、アイソクロナス転送において、バスにつながる転送装置は、転送装置毎に転送帯域を確保する必要がある。従来、複数チャネルを送信する装置は、チャネル毎に、時間的に変動するデータ量の最大値の帯域を確保する必要があったが、本実施例では、時間的なデータ量の変動をチャネル間で分散させるため、最大値が平坦化されて余分な帯域確保が必要ない。従って、共通バスの帯域を他の装置に開放する事ができるため、有限な共通バスの帯域を有効に活用することができる。
【0043】
また、例えば、映像データをストリーミングする場合、転送データの一部でも欠損すると正常な映像再生ができなくなる。共通バスの初期化などで、一時的に転送ができない状態になった場合、転送装置のFIFOメモリがオーバーフローを起こすとこのようなデータ欠損が生じる場合がある。本実施例では、映像データのような転送データの欠損が生じると不具合がおこるデータに対し、帯域割り当ての優先度を高く設定する事で、オーバーフローを抑止することができる。
【0044】
確保した帯域以上の転送を行った場合、プロトコル違反になり、共通バス全体の通信機能に支障をきたすことになるため、確保した帯域以上のデータ転送を抑止するのは重要である。本実施例では、転送装置が確保した転送帯域の範囲内で、チャネル毎に帯域を分け合う事ができるため、確保した帯域以上のデータを転送する事が無い。さらに、いずれかのFIFOメモリに格納されたデータがオーバーフローしそうになった場合には、優先的に帯域を割り当ててオーバーフローを回避する。この場合も、確保した転送帯域の範囲内で転送帯域の割り当てを行うため、確保した帯域以上のデータを転送する事が無い。
【0045】
時間的にデータ量が変動する複数のデータを転送する場合、それぞれのチャネルを監視し、データ量の増減をチャネル間で分散する処理は、例えばIEEE1394規格においては、125μSという短い周期で実行するため、急激なデータ量の変動にも対応できる。
【0046】
転送チャネル決定ルール1では、FIFO使用率演算器FUA乃至FUDにより得られるFIFO使用率に基づき、転送帯域の割り当て処理を行うチャネルを決定する。これにより、全てのチャネルについて均等に、FIFOメモリの溢れを防止することが可能となり、データ転送の抜けを防止することが出来る。
【0047】
転送チャネル決定ルール2では、ユーザが任意の数のチャネルについて優先度を予め設定する。これにより、重要なデータを転送するチャネルについて、ユーザが優先度を高く設定することで、該チャネルに係るFIFOメモリの溢れを優先的に防止することが可能となり、該チャネルのデータ転送の抜けを防止することが出来る。
【0048】
転送チャネル決定ルール3では、転送帯域が割り当てられなかったチャネルについて、フラグZERO_FLAGをセットする。該フラグZERO_FLAGがセットされているチャネルについて、次回のCycleStartイベントで優先的に転送帯域の割り当てが行われるようにすることで、チャネル間の公平性を担保することが出来る。
【0049】
なお、本発明の趣旨を逸脱しない範囲内で種々の改良、変形が可能であることは言うまでもない。
【0050】
なお、FIFOメモリFA乃至FDは、データ保持部の一例である。また、IEEE1394によるデータ転送は、アイソクロナス転送の一例である。
【0051】
以下、発明の諸態様を付記としてまとめる。
【0052】
<付記1>
複数のデータをアイソクロナス転送により共通バスに転送するデータ転送装置であって、
前記データを保持するデータ保持部と、
前記共通バスへのデータ転送に先立ち前記データごとに転送帯域を割り当てる際、前記データに係る処理順序を決定する処理データ決定部と、
前記共通バスに確保されている許容帯域の範囲内で、前記処理データ部により決定された順に前記転送帯域を割り当てるフロー制御部と、を有することを特徴とするデータ転送装置。
<付記2>
前記処理データ決定部は、前記データのうち優先度の高い順に転送帯域を割り当てることを特徴とする付記1に記載のデータ転送装置。
<付記3>
前記フロー制御部により前記データに前記転送帯域が割り当てられる際、前記許容帯域から前記転送帯域を減じて更新する帯域更新部を有する事を特徴とする付記1又は2に記載のデータ転送装置。
<付記4>
前記データ保持部の保持するデータ量と前記データ保持部の保持可能な最大のデータ量との比を前記データ保持部の使用率として計算するデータ保持部使用率演算器と、
前記使用率が高いほど前記優先度を高く設定する処理データ決定部と、を備えることを特徴とする付記1乃至3の何れかに記載のデータ転送装置。
<付記5>
前記転送帯域の割り当てが行われないデータについて優先フラグをセットする優先フラグ管理部を備え、
該優先フラグがセットされたデータについて優先度を高く設定することを特徴とする付記1乃至4の何れかに記載のデータ転送装置。
<付記6>
前記優先度についての設定を保持する優先度保持レジスタを備えることを特徴とする付記1乃至5の何れかに記載のデータ転送装置。
<付記7>
前記優先度保持レジスタは、一又は複数のデータに係る前記優先度を予め定められた値に設定し、保持することを特徴とする付記1乃至6の何れかに記載のデータ転送装置。
<付記8>
複数のデータをアイソクロナス転送により共通バスに転送するデータ転送方法であって、
前記データを保持するステップと、
前記共通バスへのデータ転送に先立ち前記データごとに前記転送帯域を割り当てる際、前記データのうち優先度の高い順に、前記共通バスに確保されている許容帯域の範囲内で、前記転送帯域を割り当てるステップと、
前記転送帯域を割り当てるステップにより割り当てられた前記転送帯域を減じて前記許容帯域を更新するステップと、を有することを特徴とするデータ転送方法。
【符号の説明】
【0053】
DSC データサイズ制御部
FA乃至FD FIFOメモリ
SP 送信部
PG パケット生成部
FUA FIFO使用率演算器
CLR サイズ設定レジスタ
FCS フロー制御シーケンサ
CR 設定レジスタ
TSR 転送量保持レジスタ
LSR 残りの転送量を保持するレジスタ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10