(57)【要約】【課題】リード要求とライト要求の前後関係を保つよう制御する仕組みがないデータパスを経由したＰｏｓｔｅｄ−Ｗｒｉｔｅ方式によるメモリアクセスにおいても、リード要求とライト要求の前後関係を保つことができる信号転送装置を提供する。【解決手段】信号転送装置１０２は、共有メモリ１０１へのアクセスを制御するメモリ制御装置１０３にデータを転送するポステッドライト方式のライトデータプロトコルを持つインターフェース２０５と、共有メモリ１０１へインターフェース２０５を介して書き込むライト要求があった場合、ライト要求からライトアドレスを取得し、ライトデータの転送量が共有メモリ１０１までの信号転送経路上のバッファの合計量を上回るまで、アドレスのリードを待機する待機手段２０６と、を備える【選択図】図１
2016177478.tif 000002
【特許請求の範囲】
【請求項１】
共有メモリへのアクセスを制御するメモリ制御装置にデータを転送するポステッドライト方式のライトデータプロトコルを持つインターフェースと、
前記共有メモリへ前記インターフェースを介して書き込むライト要求があった場合、前記ライト要求からライトアドレスを取得し、ライトデータの転送量が前記共有メモリまでの信号転送経路上のバッファの合計量を上回るまで、前記ライトアドレスのリードを待機する待機手段と、
を備える信号転送装置。
【請求項２】
前記待機手段は、
前記ライト要求の転送間隔を計測し、前記ライト要求の転送間隔が所定時間を超えた場合にダミーライトを指示するダミーライト指示手段をさらに備える請求項１に記載の信号転送装置。
【請求項３】
前記待機手段は、
前記ライト要求から取得した前記ライトアドレス及び前記共有メモリへのライト中であることを示す有効フラグを先入先出にて記憶するライトアドレスＦＩＦＯを備え、
前記ライトアドレスＦＩＦＯに前記有効フラグが有効である前記ライトアドレスが登録されている場合に、ダミーライト指示を出す請求項２に記載の信号転送装置。
【請求項４】
前記待機手段は、
待機しているリード要求がある場合にのみダミーライト指示を出す請求項２に記載の信号転送装置。
【請求項５】
前記待機手段は、
前記ライトアドレスＦＩＦＯに登録された前記ライトアドレスがフルとなった場合にダミーライト指示を出す請求項３に記載の信号転送装置。
【請求項６】
前記共有メモリへのアクセスを制御するメモリ制御装置と、
請求項１から請求項５までのいずれか１項に記載の信号転送装置と、
を備える情報処理装置。
【請求項７】
共有メモリへのアクセスを制御するメモリ制御装置にデータを転送するポステッドライト方式のライトデータプロトコルを持つインターフェースを介して前記共有メモリへ書き込むライト要求があった場合、前記ライト要求からライトアドレスを取得するステップと、
ライトデータの転送量が前記共有メモリまでの信号転送経路上のバッファの合計量を上回るまで、前記ライトアドレスのリードを待機するステップと、
を含む信号転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号転送装置、情報処理装置、及び信号転送方法に関する。
【背景技術】
【０００２】
複数のデバイス間、例えばマスタとスレーブの間においてデータを転送する場合、一方のデバイスは他方のデバイスにライト要求とリード要求を送信する。
【０００３】
リード要求とライト要求が同一の信号線を用いて転送されるプロトコル（例えばＯＣＰ規格：Ｏｐｅｎ  Ｃｏｒｅ  Ｐｒｏｔｏｃｏｌ）の場合、同一のマスタから出力されたリード要求とライト要求は前後関係を保ったままスレーブに到達する。
【０００４】
ところが、リード要求とライト要求とが異なる信号線を用いて転送されるプロトコル（例えばＡＸＩ規格：Ａｄｖａｎｃｅｄ  ｅＸｔｅｎｓｉｂｌｅ  Ｉｎｔｅｒｆａｃｅ）では経路上のバッファや他のマスタから発行されたリード／ライト要求とのアービトレーションによって発生する待ち時間によっては同一のマスタから出力されたリード要求とライト要求の前後関係が逆転してしまう可能性がある。同一アドレスに対するライト要求をリード要求が追越した場合、追越されたライト要求によって書き換えられる前のデータがリードされることとなり、リード要求を発行したマスタの意図に反した間違ったデータが返ってしまうことになる。
【０００５】
この点に関し、リード要求とライト要求の前後関係を保つ仕組みとして、マスタがライト要求に対するライトレスポンスを待ってからリード要求を発行するという方法がＡＸＩＩ/Ｆの規格書に記載されている。
【０００６】
また、ライトレスポンスが返らないＰｏｓｔｅｄ−Ｗｒｉｔｅ方式によるライト要求に対してはライト要求発行後に同一のメモリデバイスにダミーリードコマンドを出力し、このダミーリードコマンドに対するレスポンスを待つことによって、ライト要求がメモリに書き込まれるのを待ってからリード要求を発行する方法が既に知られている（例えば、特許文献１）。
【０００７】
しかし、従来のマスタがライト要求に対してライトレスポンスを待ってからリード要求を発行するという方法によっては、ライトレスポンスが返らないＰｏｓｔｅｄ  Ｗｒｉｔｅ方式の転送プロトコルをもつＩ／Ｆを介した１つ以上の「リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス」を経由したメモリアクセスにおいて、自デバイス内でのリード要求とライト要求の前後関係を保証することは出来ても、経由する「リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス」内部でのリード要求のライト要求追越しを防止できないという問題があった。
【０００８】
また、Ｐｏｓｔｅｄ−Ｗｒｉｔｅ方式において、ライト要求発行後に同一のメモリデバイスにダミーリードのレスポンスを待つことでライト要求がメモリに書き込まれるのを待ってからリード要求を発行する方法によっては、「リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス」を経由した場合に、そのデバイス内部でのリード要求のライト要求追越しを防止できないという問題があった。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、このような課題を解決するためになされたものであり、リード要求とライト要求の前後関係を保つよう制御する仕組みがないデータパスを経由したＰｏｓｔｅｄ−Ｗｒｉｔｅ方式によるメモリアクセスにおいても、リード要求とライト要求の前後関係を保つことができる信号転送装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するための本発明は、共有メモリへのアクセスを制御するメモリ制御装置にデータを転送するポステッドライト方式のライトデータプロトコルを持つインターフェースと、共有メモリへ前記インターフェースを介して書き込むライト要求があった場合、ライト要求からライトアドレスを取得し、ライトデータの転送量が共有メモリまでの信号転送経路上のバッファの合計量を上回るまで、アドレスのリードを待機する待機手段と、を備える信号転送装置を提供する。
【発明の効果】
【００１１】
本発明によれば、リード要求とライト要求の前後関係を保つよう制御する仕組みがないデータパスを経由したＰｏｓｔｅｄ−Ｗｒｉｔｅ方式によるメモリアクセスにおいても、リード要求とライト要求の前後関係を保つことができる信号転送装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】信号転送装置を備える情報処理装置の構成を示す図である。
【図２】情報処理装置の他の構成例を示す図である。
【図３】第１の実施形態に係る待機手段の構成を示す図である。
【図４】ライトアドレス管理手段に実装されるライトアドレスＦＩＦＯに登録されるデータを示す図である。
【図５】ライトアドレス管理手段の動作を示すフローチャートである。
【図６】アドレス照合手段の動作を示すフローチャートである。
【図７】第２の実施形態に係る待機手段の構成を示す図である。
【図８】ダミーライト指示手段の動作を示すフローチャートである。
【図９】第３の実施形態に係る待機手段の構成を示す図である。
【図１０】第４の実施形態に係る待機手段の構成を示す図である。
【図１１】第５の実施形態に係るライトアドレス管理手段に実装されるライトアドレスＦＩＦＯが格納するデータの構成を示す図である。
【図１２】第６の実施形態に係るライトアドレス管理手段に実装されるライトアドレスＦＩＦＯが格納するデータの構成を示す図である。
【図１３】第７の実施形態に係る待機手段の構成を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態に係る信号転送装置について図面を参照しながら説明する。
【００１４】
（第１の実施形態）
図１は、信号転送装置１０２を備える情報処理装置の構成を示す図である。図１に示すように、情報処理装置は、共有メモリ１０１、と、共有メモリへのアクセスを制御するメモリ制御装置１０３と、共有メモリ１０１へのメモリアクセスを要求するマスタ（機能Ａ２０１〜機能Ｃ２０３）を備えた信号転送装置１０２と、を備える。本実施例ではメモリ制御装置１０３が『リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス』であり、信号転送装置１０２とメモリ制御装置１０３との間のライト要求がＰｏｓｔｅｄ−Ｗｒｉｔｅ方式のＩ／Ｆで接続されている。インターフェース１１０は、ライトコマンドがＰｏｓｔｅｄのインターフェースである。
【００１５】
メモリ制御装置１０３の内部のバスであるアービタ３０２が、ＡＸＩ  Ｉ／Ｆ（以下、インターフェースをＩ／Ｆという。）のようなリード要求とライト要求が異なる信号線を用いて転送されるプロトコルを用いている場合がある。この場合、連続したライト要求とリード要求のアドレスが同一であった場合に、先のライト要求のライトレスポンスを待ってからリード要求を通すなどの仕組みがＡＸＩ  Ｉ／Ｆの起点となるＩ／Ｆ制御機能３０１のメモリ側、もしくはアービタ３０２のマスタ側の部分に実装されていないと、信号転送装置１０２の機能Ａ２０１等がマスタとなって発行されたライト要求を同一アドレスへのリード要求が追越してしまう場合が発生してしまう。
【００１６】
メモリ制御装置１０３がこのような『リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス』であった場合であって、メモリ制御装置１０３とのライト要求のＩ／Ｆ１１０がＰｏｓｔｅｄ−Ｗｒｉｔｅ方式であっても同一アドレスに対するライト要求をリード要求が追越さないようにする必要がある。そこで、信号転送装置１０２はリード要求待機手段（以下、待機手段２０６という。）を備える。
【００１７】
待機手段２０６は共有メモリ１０１へのアクセスアドレスを監視し、先に発行されたライト要求と同一のアドレスへのリード要求が発行された場合は、待機手段２０６以降のデータバッファ段数分のデータ量がライトされるまでリード要求を待機させる機能を持つ。
【００１８】
本実施例では図１に示すように、待機手段２０６は、信号転送装置１０２のＩ／Ｆ制御機能２０５とメモリ制御装置１０３のＩ／Ｆ制御機能３０１、アービタ３０２、メモリコントローラ３０６のバッファ（図１中はＢｕｆと記載）のサイズを合計した量のライトデータが通過するのを待ってからリード要求を発行するよう制御する。
【００１９】
図１のアービタ３０２に２箇所のバッファが記載されているのは、アービタでは一般的に各マスタポートとスレーブポートにそれぞれバッファが搭載されることが多いことからそのように表記したものである。
【００２０】
信号転送装置１０２は、ライトデータが待機手段２０６から共有メモリ１０１までの経路に存在するバッファサイズ以上のライトデータの通過を待つことにより、先に発行されたライト要求が共有メモリ１０１に書き込まれたことが保証され、その後に発行したリード要求が同一アドレスへのライト要求を追越すことが防止される。
【００２１】
共有メモリ１０１は、画像やＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）のためのプログラムを一時蓄積する主記憶部である。機能Ａ２０１〜機能Ｃ２０３や機能１（３０３）〜機能３（３０５）において処理するデータは、共有メモリ１０１に展開される。
【００２２】
信号転送装置１０２は、機能Ａ２０１のような共有メモリ１０１に対してマスタとしてメモリアクセスする機能（機能Ａ２０１）を一つ以上備え、共有メモリ１０１に対して一つ以上の『リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス』を介してアクセスし、かつ共有メモリ１０１へのアクセス経路にＰｏｓｔｅｄ−Ｗｒｉｔｅ方式のライト要求を行うＩ／Ｆ制御機能２０５を備えるデバイスである。
【００２３】
本実施例ではメモリ制御装置１０３が『リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス』に該当し、かつメモリ制御装置１０３に対してＰｏｓｔｅｄ−Ｗｒｉｔｅ方式のライト要求を行うＩ／Ｆによって接続される。
【００２４】
待機手段２０６はライト要求のアドレスを監視し、先に発行されたライト要求と同一のアドレスへのリード要求が発行された場合は、待機手段２０６以降のデータバッファ段数分のデータ量がライトされるまでリード要求を待機させることにより、同一アドレスへのライト要求を追越すことを防止する。図１の中の機能Ｂ２０２、機能Ｃ２０３及びアービタ２０４は本発明の必要要件ではないが、構成の一例として図示した。
【００２５】
メモリ制御装置１０３は、信号転送装置１０２から共有メモリ１０１へのリード／ライト要求を受け渡すＩ／Ｆ制御機能３０１と、共有メモリ１０１と接続するメモリコントローラ３０６と、を備える。メモリ制御装置１０３は、アービタ３０２等により信号転送装置１０２から受信したリード要求とライト要求の前後関係を保つ制御をせずに共有メモリ１０１へアクセスする。
【００２６】
この構成において、例えば次のような場合にはリード要求とライト要求の前後関係が保たれず、リードとライトの追い越しが発生する。アービタ３０２がＡＸＩのようなリード要求とライト要求を異なる信号線を用いて転送するプロトコルを採用している場合に、ライト要求やリード要求をそれぞれライトレスポンス、リードレスポンスが返ってから発行する方式を取っていない場合、もしくはライト要求やリード要求をそれぞれライトレスポンス、リードレスポンスを待たずに発行する方式であってもライト要求とリード要求のアドレスを監視していてレスポンスが返る前に同一のアドレスに対するアクセス要求があったときだけは該当するアクセス要求のレスポンスが返ってから次のアクセスを開始する仕組みを持たない場合である。
【００２７】
図１の中の機能１（３０３）〜機能３（３０５）は本発明の必要要件ではないが、構成の一例として図示した。
【００２８】
図２は、情報処理装置の他の構成例を示す図である。図１においては、メモリコントローラ３０６を備えたメモリ制御装置１０３が『リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス』である構成例として図示した。
【００２９】
図２に示すように、情報処理装置は、共有メモリ１０１に対してマスタとしてアクセスする信号転送装置１０２から共有メモリ１０１までの経路に『リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス』である中継装置１０４を備えていてもよい。図２の情報処理装置の場合、待機手段２０６によって待機させるライトデータのデータ量の合計は中継装置１０４の内部のＩ／Ｆ制御機能１０４ＡからＩ／Ｆ制御機能１０４Ｂまでのライトデータのバッファの合計サイズとなる。
【００３０】
図３は、第１の実施形態に係る待機手段２０６の構成を示す図である。図３に示すように、待機手段２０６は、信号転送装置１０２から出力されるライト要求のアドレスをラッチし、リード要求のアドレスと照合し、先に出力したライト要求と同一アドレスへのリード要求があれば、そのリード要求の出力を待機させる。待機されたリード要求は、上記ライト要求出力後に待機手段２０６から共有メモリ１０１までの経路に存在するライトデータのバッファサイズ分のライトデータが信号転送装置１０２から出力された後に出力される。
【００３１】
待機手段２０６は、アドレス照合手段４０１と、リード要求転送手段４０２と、リードデータ転送手段４０３と、ライトアドレス管理手段４０４と、ライト要求転送手段４０５と、ライトデータ転送手段４０６と、を備える。
【００３２】
アドレス照合手段４０１は、ライトアドレス管理手段４０４から通知されるアクセス中のライトアドレス情報と、リード要求転送手段４０２において転送を行おうとしているリード要求のアドレスを照合し、同一アドレスかどうかを判断する。アドレスが同一でなかった場合、リード要求転送手段４０２にリード要求転送指示を通知する。同一アドレスであった場合は、該当するライト要求のアクセスが完了し、ライトアドレス管理手段４０４から通知されるアクセス中のライトアドレス情報から該当するアドレス情報が削除されるまで待ってから、リード要求転送指示をリード要求転送手段４０２に通知する。
【００３３】
ここで、アクセス中のライトアドレス情報とは、共有メモリ１０１に書込みが完了したかどうか判断できないライト要求のライトアドレスの情報を示し、該当するライト要求のライトアドレスとそのライトデータサイズのことである。Ｐｏｓｔｅｄ−Ｗｒｉｔｅ方式の場合、ライト完了のレスポンスが返らないため、経路上のライトデータのバッファサイズ以上のライトデータが通過したかをカウントすることにより共有メモリ１０１に書込みが完了したと判断する。もしくは、ライト要求が図２に示す中継装置１０４、すなわち『リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス』を通過完了と判断する。
【００３４】
リード要求転送手段４０２は、リード要求を受けるとアドレス照合手段４０１にリードアドレス情報を通知し、アドレス照合手段４０１からのリード要求転送指示を受けて、リード要求をＩ／Ｆ制御機能２０５に転送する。
【００３５】
リードデータ転送手段４０３は、Ｉ／Ｆ制御機能２０５から受け取ったリードデータをアービタ２０４に転送する。本発明の必要要件ではないが実施例として記載した。
【００３６】
ライトアドレス管理手段４０４は、ライト要求転送手段４０５からライト要求のあったライトアドレス情報を受け取り、内部のライトアドレスＦＩＦＯにラッチする。ライトアドレス管理手段４０４は、ライトアドレスＦＩＦＯに登録されたアドレスはアクセス中のライトアドレス情報としてアドレス照合手段４０１に通知する。
【００３７】
また、ライトアドレス管理手段４０４は、ライト転送量情報をライトデータ転送手段４０６から受け取り、ライト要求を出力した後に通過したライトデータのサイズをライトアドレスＦＩＦＯに登録されたライト要求毎にカウントし、待機手段２０６から共有メモリ１０１までの経路に存在するライトデータのバッファサイズと比較して、それを超えるとライトアクセス完了と判断し、ライトアドレスＦＩＦＯから削除する。ライトアドレス管理手段４０４は、ライトアドレスＦＩＦＯから削除されたアドレスはアドレス照合手段４０１に通知するアクセス中のライトアドレス情報からも削除する。
【００３８】
ライト要求転送手段４０５は、アービタ２０４から受け取ったライト要求をＩ／Ｆ制御機能２０５に転送すると共に、そのライトアドレス情報をライトアドレス管理手段４０４に通知する。
【００３９】
ライトデータ転送手段４０６は、アービタ２０４から受け取ったライトデータをＩ／Ｆ制御機能２０５に転送すると共に、そのライト転送量情報をライトアドレス管理手段４０４に通知する。
【００４０】
待機手段２０６から共有メモリ１０１までの経路に存在するライトデータのバッファサイズはシステム構成に依存する。信号転送装置１０２を複数のシステムに適用することが出来るよう、ライトアドレス管理手段４０４が比較に用いる転送ライトデータ量はレジスタ等によりシステム毎に設定変更できる仕組みとしてもよい。
【００４１】
ライト要求とライトデータが非同期に転送されるスプリットトランザクション方式のＩ／Ｆに本発明を適用する場合は、ライトアドレス管理手段４０４は、ライト要求転送手段４０５から通知されるライトアドレス情報とライトデータ転送手段４０６から通知されるライト転送量情報とを紐付けて管理し、ライトアドレスＦＩＦＯに登録されたライト要求に該当するライトデータ転送後に通過したライトデータ量をカウントする必要がある。
【００４２】
図４は、ライトアドレス管理手段４０４に実装されるライトアドレスＦＩＦＯに登録されるデータを示す図である。図４（Ａ）は、ライトアドレスＦＩＦＯに登録されるデータを、図４（Ｂ）は別途記憶されるライトアクセス経路のバッファサイズを示す。
【００４３】
図４に示すように、ライトアドレスＦＩＦＯは、登録されたデータが有効であるか否かを示す「有効フラグ」と、書き込み先のアドレスを示す「ライトアドレス」と、ライトデータの大きさを示す「ライトデータサイズ」と、待機手段２０６を通過したデータの量を示す「通過ライトデータカウンタ」と、を先入先出にて格納する。ライトアドレスＦＩＦＯは例えば、８個のレコード（データ）を格納する。
【００４４】
ライトアドレス管理手段４０４は、ライト要求が転送されるたびにライト要求転送手段４０５から通知されるライトアドレスと、そのライトデータサイズをライトアドレスＦＩＦＯに登録し、登録されたライトアドレスが有効であることを示す有効フラグを１にする。
【００４５】
ライトアドレス管理手段４０４は、登録されたライト要求毎に、ライト要求が転送された後に通過したライトデータサイズをライトデータ転送手段４０６から通知されるライト転送量情報に基づいてカウントする。ライトアドレス管理手段４０４は、「通過ライトデータカウンタ」の値が「ライトアクセス経路のバッファサイズ」の値を超えると、当該データをライトアドレスＦＩＦＯから削除し、アドレス照合手段４０１に通知する「アクセス中のライトアドレス情報」からも削除する。
【００４６】
図５は、ライトアドレス管理手段４０４の動作を示すフローチャートである。図５に示すように、ステップ５０１において、ライトアドレス管理手段４０４は、ライト要求転送手段４０５から新たなライトアドレス情報の入力があったかを判定する。
【００４７】
ライト要求転送手段４０５は、ライト要求が入力されるたびにライトアドレス情報をライトアドレス管理手段４０４に通知する。
【００４８】
ライトアドレス管理手段４０４は、ライトアドレス情報を通知された場合は、ライトアドレスＦＩＦＯに登録するためステップ５０２に移行する。ライトアドレス情報の通知がなければ、既にライトアドレスＦＩＦＯに登録されているライト要求（ライトアドレス）に対応した通過ライトデータカウンタを更新するためステップ５０３に移行する。
【００４９】
ステップ５０２において、ライトアドレス管理手段４０４は、新たなライトアドレス情報をライトアドレスＦＩＦＯの有効フラグ０の領域に登録し、当該データの有効フラグを１に変更する。
【００５０】
ステップ５０３において、ライトアドレス管理手段４０４は、ライトアドレスＦＩＦＯの有効フラグに１があるデータがあるかを判定する。
【００５１】
ライトアドレスＦＩＦＯに有効フラグが１となっているライトアドレスのデータがあれば、そのことはメモリ制御装置１０３にＰｏｓｔｅｄ−Ｗｒｉｔｅされた後、確実に共有メモリ１０１に書込みが完了したかどうかを判断できないライト要求があることを示す。
【００５２】
ライトアドレス管理手段４０４は、有効フラグが１となっているライトアドレスのデータがあれば、対応する通過ライトデータカウンタを更新するためステップ５０４に、なければステップ５０７に移行する。
【００５３】
通過ライトデータカウンタは新たなライト要求に伴うライトデータの転送がなければ更新されないため、一度、ライトアドレスＦＩＦＯにライトアドレスが登録されると有効フラグが全て０となる状態にはならない。従って、第１の実施形態においては、ステップ５０４ステップは不要であるため省略し、常にステップ５０５に移行しても良い。ステップ５０４は、ダミーライトを発生させた場合にのみ、新たなライトアドレスの登録がないまま通過ライトデータカウンタが更新されることにより、有効フラグが全て０となる状態が発生するため、この場合にのみ実行されるようにしてもよい。
【００５４】
ステップ５０４において、ライトアドレス管理手段４０４は、ライトデータ転送手段４０６のライト転送量情報を取得し、ライトアドレスＦＩＦＯに登録された各ライトアドレスに対応する通過ライトデータカウンタを更新する。ライトアドレス管理手段４０４は、ライトデータ転送手段４０６から受け取るライト転送量情報から新たに転送されたライトデータ量を取得し、ライトアドレスＦＩＦＯの通過ライトデータカウンタに加算する。
【００５５】
ステップ５０５において、ライトアドレス管理手段４０４は、ライトアドレスＦＩＦＯに登録された各ライト要求（ライトアドレス）について、［通過ライトデータカウンタ］＞［ライトアクセス経路のライトデータバッファサイズ］の関係にあるものがないかを判定する。ライトアドレス管理手段４０４は、この条件を満たすライトアドレスのデータがあればステップ５０７へ、なければステップ５０８に移行する。
【００５６】
ステップ５０６において、ライトアドレス管理手段４０４は、ライトアドレスＦＩＦＯからステップ５０５の式を満たすライトアドレスのデータを抹消する。具体的には、ライトアドレスＦＩＦＯの登録領域の当該ライトアドレスのデータの有効フラグを１から０に変更する。
【００５７】
ライトアクセス経路のライトデータバッファサイズを越えるライトデータが通過したことは、すなわちライトデータが共有メモリ１０１に書き込み済みであることを示す。書込み済みが確定したライト要求に対応するライトアドレスの有効フラグを０に書き換えることでライトアドレスＦＩＦＯから抹消する。
【００５８】
ステップ５０７において、ライトアドレス管理手段４０４は、アドレス照合手段４０１に通知するアクセス中のライトアドレス情報を更新する。
【００５９】
ステップ５０２とステップ５０６において追加・削除した有効フラグ情報を元に、共有メモリ１０１に書込みが完了したかどうか判断できないライト要求のライトアドレスを示す「アクセス中のライトアドレス情報」を更新し、アドレス照合手段４０１に通知する。
【００６０】
ステップ５０８において、ライトアドレス管理手段４０４は、クロック（同期信号）を待ってステップ５０１に移行する。
【００６１】
図６は、アドレス照合手段４０１の動作を示すフローチャートである。図６に示すように、ステップ６０１において、アドレス照合手段４０１は、リード要求転送手段４０２から新たなリードアドレス情報の入力があったかを判定する。
【００６２】
リード要求転送手段４０２はリード要求が入力されるたびにリードアドレス情報をアドレス照合手段４０１に通知する。アドレス照合手段４０１はリードアドレス情報を通知された場合は、該当するリード要求を転送して良いか判断するためステップ６０２に移行する。
【００６３】
ステップ６０２において、アドレス照合手段４０１は、ライトアドレス管理手段４０４からアクセス中のライトアドレス情報を取得する。
【００６４】
アドレス照合手段４０１は、リードアドレスと比較するため共有メモリ１０１に書込みが完了したかどうか判断できないライト要求のライトアドレスを示す「アクセス中のライトアドレス情報」をライトアドレス管理手段４０４から取得する。
【００６５】
ステップ６０３において、アドレス照合手段４０１は、ステップ６０２において取得したリードアドレスと一致するアクセス中のライトアドレスがあるかを判定する。
【００６６】
アドレス照合手段４０１は、ステップ６０１において取得したリードアドレスと、ステップ６０２において取得した１つ以上の書込みが完了したかどうか判断できないライト要求のライトアドレスとを比較し、一致するライトアドレスがあった場合は「アクセス中のライトアドレス情報」から削除されるまで待つためステップ６０４に移行し、一致するライトアドレスがなければステップ６０５に移行する。
【００６７】
ステップ６０４において、アドレス照合手段４０１は、クロック（同期信号）を待ってステップ６０２に移行し、リードアドレスと一致したライトアドレスが抹消されたか確認する。
【００６８】
ステップ６０５において、アドレス照合手段４０１は、リード要求転送手段４０２へのリード要求転送指示を通知する。
【００６９】
アドレス照合手段４０１は、同一アドレスへのライト要求が『リード要求とライト要求の前後関係を保つよう制御する仕組みがないデバイス』であるメモリ制御装置１０３の内部に滞留した状態でないことがステップ６０４において確認されたことを受けて、リード要求転送手段４０２にリード要求転送指示を通知する。
【００７０】
ステップ６０６において、アドレス照合手段４０１は、クロック（同期信号）を待ってステップ６０１に移行する。
【００７１】
以上述べたように、本実施形態の信号転送装置１０２は、共有メモリ１０１へのライト要求があった場合、このライト要求からライトアドレスを取得し、ライトデータの転送量が信号転送経路上のバッファの合計量を上回るまで、当該アドレスのリードを待機する待機手段２０６を備える。
【００７２】
従って、リード要求とライト要求の前後関係を保つよう制御する仕組みがないデータパスを経由したＰｏｓｔｅｄ−Ｗｒｉｔｅ方式によるメモリアクセスにおいても、リード要求とライト要求の前後関係を保つことができる信号転送装置を提供することができるという効果がある。
【００７３】
（第２の実施形態）
第２の実施形態の構成は、第１の実施形態の構成に対し、待機手段２０６の構成と動作が異なる以外は同様である。従って、差のある部分についてのみ以下に説明する。
【００７４】
図７は、第２の実施形態に係る待機手段２０６の構成を示す図である。図７に示すように、第２の実施形態における待機手段２０６の構成は、第１の実施形態における待機手段２０６の構成に加え、ダミーライト指示手段４０７が追加されたこと以外は第１の実施形態の待機手段２０６の構成と同様である。
【００７５】
待機手段２０６は、ダミーライト指示手段４０７が、ライト要求の転送間隔が一定時間を超えた場合にダミーライトを行うようライト要求転送手段４０５及びライトデータ転送手段４０６に指示を送る。
【００７６】
また、ライト要求転送手段４０５及びライトデータ転送手段４０６はダミーライト指示手段４０７からのダミーライト指示を受けてアービタ２０４からライト要求（ライトコマンド）及びライトデータを受け取らなくても、内部でライト要求及びライトデータを生成しＩ／Ｆ制御機能２０５に出力する機能を備える。
【００７７】
ダミーライトを行うことによりライトデータ転送手段４０８からライトアドレス管理手段４０４に通知されるライト転送量情報が更新され、アービタ２０４からのライト間隔が開いた場合でも待機中のリード要求が一定期間以内に出力できるようになり、同一アドレスへのライト待ちによるリード性能の低下を一定の値に抑えることが出来る。
【００７８】
ダミーライト先のアドレスは共有メモリ１０１上のいずれかを指定するのが望ましく、その場合はシステムとして共有メモリ１０１上にダミーライト領域を確保する必要がある。
【００７９】
図８は、ダミーライト指示手段４０７の動作を示すフローチャートである。図８に示すように、ステップ８０１において、ダミーライト指示手段４０７は、クロック（同期信号）を待ってステップ８０２に移行する。
【００８０】
ステップ８０２において、ダミーライト指示手段４０７は、ライトアドレス情報の更新があったかを判定する。ダミーライト指示手段４０７は、ライト要求転送手段４０５が新たなライト要求を受けることに伴うライトアドレス情報の更新があった場合はステップ８０６に移行する。ダミーライト指示手段４０７は、ライトアドレス情報の更新がなかった場合はステップ８０３に移行する。
【００８１】
ステップ８０３において、ダミーライト指示手段４０７は、ライト要求間隔カウンタをインクリメントする。ダミーライト指示手段４０７は、ダミーライト指示手段４０７の内部に備えたライト要求間隔カウンタをインクリメントする。
【００８２】
ステップ８０４において、ダミーライト指示手段４０７は、ライト要求間隔カウンタの値がＣＰＵ等により予め設定された最大ライト要求間隔を超えた場合は、ステップ８０５に移行する。ダミーライト指示手段４０７は、ライト要求間隔カウンタの値がこの最大ライト要求間隔設定値以下であった場合は、ステップ８０１に移行する。
【００８３】
ステップ８０５において、ダミーライト指示手段４０７は、ステップ８０４において［ライト要求間隔カウンタ］＞［最大ライト要求間隔設定値］の関係にあった場合は、ライト要求転送手段４０５及びライトデータ転送手段４０６にダミーライト指示を通知する。
【００８４】
ステップ８０６において、ダミーライト指示手段４０７は、ダミーライト指示手段４０７の内部に備えたライト要求間隔カウンタをリセットし、ステップ８０１に移行する。
【００８５】
以上述べたように、本実施形態の信号転送装置１０２は、第１の実施形態の信号転送装置１０２の構成に加えて、ライト要求の転送間隔を計測し、ライト要求の転送間隔が所定時間を超えた場合にダミーライトを指示するダミーライト指示手段４０７を備える。
【００８６】
ライト要求が連続して発生していない場合、ライトデータの転送量が変化せず、ライトアドレスＦＩＦＯに登録されたライトアドレスが抹消されない状況となる場合において、アドレス照合手段４０１において待機中のリード要求があると、いつまでも待機が解除されず、リードが遅くなることや、ハングアップが発生するという障害が発生することがある。
【００８７】
これに対し、本実施形態の信号転送装置１０２は、タイマーであるライト要求間隔カウンタによって一定間隔のダミーライトを発生させることで、アドレス照合手段４０１において待機するリード要求の最大待機時間が決定され、一定のリードレイテンシが保証され、ハングアップ障害も発生しなくなるという効果がある。
【００８８】
（第３の実施形態）
第３の実施形態の構成は、第２の実施形態の構成に対し、待機手段２０６の構成と動作が異なる以外は同様である。従って、差のある部分についてのみ以下に説明する。
【００８９】
図９は、第３の実施形態に係る待機手段２０６の構成を示す図である。図９に示すように、第３の実施形態における待機手段２０６の構成は、第２の実施形態における待機手段２０６の構成に加え、ライトアドレス管理手段４０４がダミーライト指示手段４０７に、ライトアドレスＦＩＦＯに登録された有効フラグに、１であるものがあるかどうかを通知する有効フラグ情報を出力することが追加されたこと以外は第２の実施形態の待機手段２０６の構成と同様である。
【００９０】
ダミーライト指示手段４０７は有効フラグ情報を参照し、有効フラグがアサートされている時のみダミーライト指示を出し、有効フラグがすべて０である場合はライト要求転送手段４０５及びライトデータ転送手段４０６に対するダミーライト指示を発行しないよう制御する。有効フラグ情報を参照してダミーライトの指示をブロックする動作以外は図８に示した第２の実施形態の動作フローと同様の動作を行う。
【００９１】
以上述べたように、本実施形態においては、ダミーライト指示手段４０７は有効フラグ情報を参照し、有効フラグがあるライトアドレスのデータがライトアドレスＦＩＦＯある場合にのみダミーライト指示を出す。
【００９２】
従って、本実施形態の信号転送装置１０２は、第２の実施形態における信号転送装置１０２と比べて、ダミーライトパケットが発行される回数が減り、トラフィックが減ることによるシステムとしての共有メモリアクセス性能が向上する。
【００９３】
（第４の実施形態）
第４の実施形態の構成は、第２の実施形態の構成に対し、待機手段２０６の構成と動作が異なる以外は同様である。従って、差のある部分についてのみ以下に説明する。
【００９４】
図１０は、第４の実施形態に係る待機手段２０６の構成を示す図である。図１０に示すように、第３の実施形態における待機手段２０６の構成は、第２の実施形態における待機手段２０６の構成に加え、アドレス照合手段４０１がダミーライト指示手段４０７に、待機させているリード要求があるかを示す「リード待機情報」を通知することが追加されたこと以外は第２の実施形態の待機手段２０６の構成と同様である。
【００９５】
ダミーライト指示手段４０７はリード待機情報を参照し、待機させているリード要求があるときのみダミーライト指示を出し、待機させているリード要求がない場合はライト要求転送手段４０５及びライトデータ転送手段４０６に対するダミーライト指示を発行しないよう制御する。待機手段２０６の動作は、リード待機情報を参照してダミーライトの指示をブロックする動作以外は図８に示す第２の実施形態における待機手段２０６の動作フローと同様の動作を行う。
【００９６】
以上述べたように、本実施形態の信号転送装置１０２は、ダミーライト指示手段４０７はリード待機情報を参照し、待機させているリード要求があるときのみダミーライト指示を出す。
【００９７】
従って、本実施形態の信号転送装置１０２は、第２の実施形態における信号転送装置１０２と比べてダミーライトパケットが発行される回数が減り、トラフィックが減ることによるシステムとしての共有メモリアクセス性能が向上する。
【００９８】
（第５の実施形態）
第５の実施形態の構成は、第１の実施形態の構成に対し、ライトアドレス管理手段４０４に実装されるライトアドレスＦＩＦＯが格納するデータの構成が異なる以外は同様である。従って、差のある部分についてのみ以下に説明する。
【００９９】
図１１は、第５の実施形態に係るライトアドレス管理手段４０４に実装されるライトアドレスＦＩＦＯが格納するデータの構成を示す図である。図１１（Ａ）は、ライトアドレスＦＩＦＯに登録されるデータを、図１１（Ｂ）は別途記憶されるライトアクセス経路のバッファサイズを示す。
【０１００】
図１１に示すように、ライトアドレスＦＩＦＯは、登録されたデータが有効であるか否かを示す「有効フラグ」と、書き込み先のアドレスを示す「ライトアドレス」と、待機手段２０６を通過したデータの量を示す「通過ライトデータカウンタ」と、を先入先出にて格納する。ライトアドレスＦＩＦＯは例えば、８個のレコード（データ）を格納する。
【０１０１】
転送効率を向上させるため、画像データ等の大きな画像を転送するシステムにおいてはコマンドのバースト長情報やデータバスのバイトイネーブル情報を用いて、複数バイト量のデータを１パケットで転送することが多い。第１の実施形態においてはライトアドレスと共にそのライトデータサイズも合わせてライトアドレスＦＩＦＯに保存し、リードアドレスとの照合を行う例を示した。
【０１０２】
本実施形態では、信号転送装置１０２の物理的なシリコンサイズ削減のため、ライトアドレスＦＩＦＯにライト要求ごとのライトデータサイズを蓄積しない方法を示す。
【０１０３】
ライトデータサイズを蓄積しないため、ライトアドレスＦＩＦＯは図１１に示すようなフォーマットとなる。
【０１０４】
ライトデータサイズは待機手段２０６を通過するライトパケットの最大サイズという固定値となり、アドレス照合手段に通知しなくてもよく、ライトアドレスＦＩＦＯに記憶する必要もない。
【０１０５】
アドレス照合手段４０１では、実際にはアクセスしていないライトアドレスも含めてリードアドレスと照合をしてしまうため、待たせる必要がないリード要求まで待機がかかる可能性もあるが、シリコンサイズを小さくすることでコストを削減出来るメリットを享受できるという点で、システム最適となるケースが考えられる。
【０１０６】
以上述べたように、本実施形態の信号転送装置１０２は、ライトアドレスＦＩＦＯにライト要求ごとのライトデータサイズを蓄積しない。
【０１０７】
従って、記憶手段にライトデータサイズを記憶する必要がなくなるため、記憶手段のサイズが削減でき、デバイスのコストダウンに繋がるという効果がある。
【０１０８】
（第６の実施形態）
第６の実施形態の構成は、第１の実施形態の構成に対し、ライトアドレス管理手段４０４に実装されるライトアドレスＦＩＦＯが格納するデータの構成が異なる以外は同様である。従って、差のある部分についてのみ以下に説明する。
【０１０９】
図１２は、第６の実施形態に係るライトアドレス管理手段４０４に実装されるライトアドレスＦＩＦＯが格納するデータの構成を示す図である。図１２（Ａ）は、ライトアドレスＦＩＦＯに登録されるデータを、図１２（Ｂ）は別途記憶されるライトアクセス経路のバッファサイズを示す。
【０１１０】
図１２に示すように、ライトアドレスＦＩＦＯは、登録されたデータが有効であるか否かを示す「有効フラグ」と、書き込み先のアドレスを示す「ライトアドレス」と、を先入先出にて格納する。ライトアドレスＦＩＦＯは例えば、８個のレコード（データ）を格納する。
【０１１１】
ライト要求に対してライトデータサイズを固定長として扱うのは第５の実施形態と同様である。本実施形態においては、ライトアドレス１つにつき決まったライトデータサイズとなることから、通過ライトデータカウンタの代わりに蓄積中のライトアドレス個数で管理する。
【０１１２】
ライトアドレスＦＩＦＯに登録された順番を管理することで、有効フラグが１となっているライトアドレスの個数に固定値のライトデータサイズをかけたものを通過ライトデータカウンタ情報として管理することで通過ライトデータカウンタは不要となり、図３、７、９、１０に図示したライトデータ転送手段４０６からライトアドレス管理手段４０４に通知されるライト転送量情報も不要となる。
【０１１３】
本実施例の形態を取る場合はダミーライトもライトアドレスＦＩＦＯに登録し管理する仕組みとする必要がある。
【０１１４】
アドレス照合手段４０１においては、実際にはアクセスしていないライトアドレスも含めてリードアドレスと照合をしてしまうため、待たせる必要がないリード要求まで待機がかかるという第５の実施形態と同様のデメリットはあるが、よりシリコンサイズを小さくなり、コスト削減メリットを享受できるという点で、システム最適となるケースが考えられる。
【０１１５】
以上述べたように、本実施形態の信号転送装置１０２は、ライトアドレスＦＩＦＯがライトアドレスＦＩＦＯにライト要求ごとのライトデータサイズ及び通過ライトデータカウンタを蓄積しない。
【０１１６】
従って、記憶手段にライトデータサイズを記憶する必要がなくなるため、記憶手段のサイズが削減でき、デバイスのさらなるコストダウンに繋がるという効果がある。
【０１１７】
（第７の実施形態）
第７の実施形態の構成は、第２の実施形態の構成に対し、待機手段２０６の構成と動作が異なる以外は同様である。従って、差のある部分についてのみ以下に説明する。
【０１１８】
図１３は、第７の実施形態に係る待機手段２０６の構成を示す図である。図１３に示すように、第７の実施形態における待機手段２０６の構成は、第２の実施形態における待機手段２０６の構成に加え、ライトアドレス管理手段４０４がダミーライト指示手段４０７に、ライトアドレスＦＩＦＯがフルになったことを示すＦＩＦＯフル通知を出力することが追加されたこと以外は第２の実施形態の待機手段２０６の構成と同様である。
【０１１９】
ダミーライト指示手段４０７は、ライトアドレスＦＩＦＯに登録されたライトアドレスがフルとなり、これ以上ライトアドレスが書き込めなくなったことを条件にダミーライト指示を行う。
【０１２０】
本実施形態の信号転送装置１０２は、第２の実施形態の信号転送装置１０２とは以下の点が異なる。
【０１２１】
ライト要求転送手段４０５及びライトデータ転送手段４０６はダミーライト指示を受けるとアービタ２０４からのライト要求の受け付けを止めて、ダミーのライトアクセスを発行する。
【０１２２】
ライトアドレス管理手段４０４はライトアドレスＦＩＦＯがフルになると、ＦＩＦＯフル通知をダミーライト指示手段４０７に通知する。
【０１２３】
ダミーライト指示手段４０７はＦＩＦＯフル通知を受けてライト要求転送手段４０５及びライトデータ転送手段４０６にダミーライト指示を通知する。
ライト要求が常に一定のデータサイズでライトアクセスするとは限らない場合、最大で
［最大バーストサイズ］  ×  ［経路上のライトデータバッファサイズ］
のＦＩＦＯ段数をもつ必要がある。
【０１２４】
例えば５１２Ｂｙｔｅが最大のバーストサイズであるシステムにおいて、全てのライト要求が１Ｂｙｔｅ単位で発生した場合、５１２×［経路上のライトデータバッファサイズ］分のライトアドレスＦＩＦＯを持つ必要があるが、通常は５１２Ｂｙｔｅ単位のライト要求が転送されるシステムにおいて５１２倍ものＦＩＦＯを物理的に実装しておくのはコスト的に不利である。たまに発生するショートパケットに対して本実施例による回避策を適用しておくことで、ライトアドレスＦＩＦＯサイズをフルに実装する必要がなくなり、コスト削減が可能となる。
【０１２５】
以上述べたように、本実施形態の信号転送装置１０２は、ダミーライト指示手段４０７は、ライトアドレスＦＩＦＯに登録されたライトアドレスがフルとなったことを条件にダミーライト指示を行う。
【０１２６】
従って、本実施形態の信号転送装置１０２は、たまに発生するショートパケットに対して本構成を取ることで、ライトアドレスＦＩＦＯサイズをフルに実装する必要がなくなり、コスト削減が可能となるという効果がある。
【０１２７】
なお、ライトアドレス管理手段４０４は、ライト要求に付加されたライトパケットのバースト長情報に基づいてライト転送量を取得してもよい。
【０１２８】
また、ライトアドレス管理手段４０４は、ライトデータ転送量をライトデータと同期したデータイネーブルビットでカウントしてもよい。
【０１２９】
またさらに、ライトアドレス管理手段４０４は、データ転送量の代わりに、待機手段２０６からライト要求とリード要求の順番を保つ機能のないデータパスを通過するまでの経路に存在するライト要求そのもののバッファサイズと、待機手段２０６を通過したライト要求の個数とを比較してライトアドレスを管理するようにしてもよい。
【０１３０】
以上、本発明について、好ましい実施形態を挙げて説明したが、本発明の信号転送装置１０２は上記実施形態の構成に限定されるものでない。
【０１３１】
当業者は、従来公知の知見に従い、本発明の信号転送装置１０２を適宜改変することができる。このような改変によってもなお本発明の信号転送装置１０２の構成を具備する限り、もちろん、本発明の範疇に含まれるものである。
【符号の説明】
【０１３２】
１０１  共有メモリ
１０２  信号転送装置
１０３  メモリ制御装置
１０４  中継装置
１０４Ａ  制御機能
１０４Ｂ  制御機能
１１０  インターフェース
２０５  インターフェース制御機能
２０６  待機手段
３０１  制御機能
３０６  メモリコントローラ
４０１  アドレス照合手段
４０２  リード要求転送手段
４０３  リードデータ転送手段
４０４  ライトアドレス管理手段
４０５  ライト要求転送手段
４０６  ライトデータ転送手段
４０７  ダミーライト指示手段
４０８  ライトデータ転送手段
【先行技術文献】
【特許文献】
【０１３３】
【特許文献１】特許第４４１０２７０号公報
【図１】
2016177478.tif 000003
【図２】
2016177478.tif 000004
【図３】
2016177478.tif 000005
【図４】
2016177478.tif 000006
【図５】
2016177478.tif 000007
【図６】
2016177478.tif 000008
【図７】
2016177478.tif 000009
【図８】
2016177478.tif 000010
【図９】
2016177478.tif 000011
【図１０】
2016177478.tif 000012
【図１１】
2016177478.tif 000013
【図１２】
2016177478.tif 000014
【図１３】
2016177478.tif 000015