JPWO2012093475A1 - 情報転送装置および情報転送装置の情報転送方法 - Google Patents

情報転送装置および情報転送装置の情報転送方法 Download PDF

Info

Publication number
JPWO2012093475A1
JPWO2012093475A1 JP2012551770A JP2012551770A JPWO2012093475A1 JP WO2012093475 A1 JPWO2012093475 A1 JP WO2012093475A1 JP 2012551770 A JP2012551770 A JP 2012551770A JP 2012551770 A JP2012551770 A JP 2012551770A JP WO2012093475 A1 JPWO2012093475 A1 JP WO2012093475A1
Authority
JP
Japan
Prior art keywords
information
acquired
data
predetermined time
buffer
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.)
Pending
Application number
JP2012551770A
Other languages
English (en)
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2012093475A1 publication Critical patent/JPWO2012093475A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)

Abstract

BusIF(10)は、データを一時的に記憶する回避用バッファ(21)を有する。そして、BusIF(10)は、システムコントローラ(30)からリード要求を受信した場合には、レジスタ群(25)からリード要求の対象となるデータを取得する。ここで、BusIF(10)は、リード要求を受信してから所定の時間が経過する前にデータを取得できなかった場合には、システムコントローラ(30)にデータの送信に失敗した旨を通知し、その後取得したデータを回避用バッファ(21)に格納する。その後、BusIF(10)は、送信に失敗したデータに対するリード要求のリトライを受信してから所定の時間が経過する前に、再度データを取得できなかった場合には、回避用バッファ(21)に格納されたデータをシステムコントローラ(30)へ送信する。

Description

本発明は、情報転送装置および情報転送装置の情報転送方法に関する。
従来、情報の送信要求を受信すると、要求された情報を記憶装置から取得し、取得した情報を送信する情報転送装置が知られている。このような情報転送装置の一例として、システムコントローラ等から情報の送信要求を受信すると、要求された情報をレジスタから取得し、取得した情報をシステムコントローラ等へ送信するBusIF(Bus Interface)が知られている。
以下、この様なBusIFの一例として、送信要求の対象となる情報が格納されたレジスタ群を有するLSI(Large Scale Integration)に設置されたBusIFについて説明する。
図15は、BusIFを有するLSIを説明するための図である。図15に示すLSI50は、スリーステートバッファ51、BusIF52、ルーター53、レジスタ群54を有し、システムコントローラ60、複数のCPU55〜58と接続されている。
BusIF52は、システムコントローラ60から、スリーステート・バッファ51を介して送信要求を受信した場合には、要求された情報の取得をルータ53に要求する。すると、ルータ53は、情報の取得を要求された場合には、レジスタ群54から要求された情報を取得し、取得した情報をBusIF52に送信する。そして、BusIF52は、ルータ53から情報を受信した場合には、受信した情報をシステムコントローラ60へ送信する。
このようなBusIF52は、システムコントローラ60から送信要求を受信してから情報を送信するまでの時間があらかじめ定められている。しかし、ルータ53は、BusIF52だけではなく、CPU(Central Proccesing Unit)55〜58からも、送信要求を同時期に受信する場合がある。このような場合には、ルータ53で送信要求の競合が発生してしまうため、BusIF52は、送信要求を受信してから所定の時間が経過するまでの間に要求された情報を送信することができない。
このため、失敗した情報に対する再度の送信要求に前回の送信要求よりも高い優先度を設定することで、競合が発生した場合にも情報を取得することができる技術が知られている。以下、図16を用いて競合が発生した場合にも情報を取得することができる技術について説明する。図16は、再度の送信要求を優先的に処理するLSIを説明するための図である。
図16に示す例では、LSI50は、システムコントローラ60から送信要求を受信するとともに(ステップS1)、CPU55からも送信要求を受信する(ステップS2)。すると、LSI50は、受信した送信要求が競合するため、所定の時間内に情報をシステムコントローラ60へ送信することができない。このため、LSI50は、情報の送信が失敗した旨をシステムコントローラ60に通知する(ステップS3)。
このような場合には、システムコントローラ60は、ステップS1にて送信した送信要求よりも高い優先度を設定した送信要求をLSI50に送信する(ステップS4)。またLSI50は、システムコントローラ60から再度の送信要求を受信するのと同時期に、CPU56からも通常の送信要求を受信する(ステップS5)。
このような場合には、LSI50は、システムコントローラ60から受信した送信要求にCPU56から受信した送信要求よりも高い優先度が設定されているため、システムコントローラ60から受信した送信要求を実行する。その後、LSI50は、要求された情報をシステムコントローラ60へ送信する(ステップS6)。
特開2005−196808号公報 特開2006−343916号公報
しかしながら、上述した送信要求に前回の送信要求よりも高い優先度を設定する技術では、再度送信した送信要求よりも高い優先度が設定された送信要求をLSIが受信した場合には、優先負けが再度発生し、情報の送信が失敗してしまうという問題があった。
図17は、情報の送信が再度失敗してしまう状態を説明するための図である。図17に示すように、LSI50は、システムコントローラ60およびCPU55から情報の転送要求を取得する(ステップS7、ステップS8)。すると、LSI50は、転送要求の競合が発生するため、システムコントローラ60に対して所定の時間内に情報を送信することができず、情報の送信が失敗した旨をシステムコントローラ60に通知する(ステップS9)。
このため、システムコントローラ60は、前回の送信要求よりも高い優先度を設定した送信要求をLSI50に送信する(ステップS10)。しかし、LSI50は、システムコントローラ60から受信した送信要求よりも高い優先度が設定された送信要求をCPU56から受信した場合には(ステップS11)、再度の競合負けが発生してしまう。この結果、LSI50は、所定の時間内に情報をシステムコントローラ60に送信できず、再度、情報の送信が失敗した旨をシステムコントローラ60に通知してしまう(ステップS12)。
また、LSIの優先制御が単純であった場合には、システムコントローラ60やCPU55〜58が送信要求の優先度を上げ続ける結果、各送信要求の競合負けが連続し、ライブロックが発生する場合がある。また、情報の送信要求を取得するポート数が多い場合には、取得した各要求の優先順位を判断するための回路が複雑となり、回路規模が大きくなってしまう。
開示の技術は、上述した問題に鑑みてなされたものであって、再度の送信要求に対して確実に応答する。
開示の技術は、一つの側面では、情報の送信要求を受信してから所定の時間が経過するまでの間に送信要求の対象となる情報を取得することができない場合には、その後取得した送信要求の対象となる情報を一時的に記憶する記憶部を有する情報転送装置である。また情報転送装置は、送信が失敗した情報に対する再度の送信要求を受信し、かつ、所定の時間が経過する前に送信要求の対象となる情報を再度取得できなかった場合には、記憶部に格納した情報を送信する。
本願に開示の技術は、一つの側面では、再度の送信要求に対して確実に応答する。
図1は、実施例1に係るLSIを説明するための図である。 図2は、実施例1に係るLSIが有する各部を説明するための図である。 図3は、実施例1に係るリクエスト管理部11の一例を説明するための図である。 図4は、リード要求のタイムアウトについて説明するための図である。 図5は、バッファを一つだけ有するBusIFがデータを送信する処理について説明するための図である。 図6は、LSIがリード要求に対してデータを送信する処理の流れを説明するための図である。 図7は、LSIがリトライに対してデータを送信する処理の流れを説明するための図である。 図8は、従来のLSIと実施例1のLSIとを比較するための図である。 図9は、バスの利用率を説明するための図である。 図10は、優先度が設定されたリード要求を処理するルータを説明するための図である。 図11は、実施例1に係るルータを説明するための図である。 図12は、LSI1が実行する処理の流れを説明するためのフローチャートである。 図13は、データの送信が失敗した際の処理の流れを説明するための図である。 図14は、リトライを実行する際の処理の流れを説明するための図である。 図15は、BusIFを有するLSIを説明するための図である。 図16は、再度の送信要求を優先的に処理するLSIを説明するための図である。 図17は、情報の送信が再度失敗してしまう状態を説明するための図である。
以下に添付図面を参照して本願に係る情報転送装置および情報転送装置の情報転送方法について説明する。
以下の実施例1では、複数の図を用いて、情報転送装置が設置されたLSIの一例を説明する。図1は、実施例1に係るLSIを説明するための図である。図1に示すように、複数のLSI1〜3はシステムコントローラ30とシステムバスで接続されている。LSI2〜3は、LSI1と同様の構成を有するLSIである。また、後述するように、各LSI1〜3は、情報が格納されたレジスタ群を有する。
システムコントローラ30は、各LSI1〜3と双方向のシステムバスで接続され、各LSI1〜3のレジスタに記憶された情報に対するリード要求を各LSI1〜3に送信する。そして、システムコントローラ30は、各LSI1〜3からリード要求に対する応答を受信する。
ここで、後述するように、各LSI1〜3は、システムコントローラ30からリード要求を受信してから所定の時間が経過するまでの間に、リード要求の対象となる情報をシステムコントローラ30に送信できない場合には、送信に失敗した旨の通知を送信する。このような場合には、システムコントローラ30は、送信に失敗したデータに対するリード要求のリトライを送信する。
LSI1は、情報を記憶するレジスタを有し、システムコントローラ30から受信したリード要求に対する処理を実行する。以下、図2を用いて、LSI1について詳しく説明する。
図2は、実施例1に係るLSIが有する各部を説明するための図である。図2に示す例では、LSI1は、スリーステートバッファ4、BusIF10、ルーター23、レジスタ群25を有する。また、BusIF10は、リクエスト管理部11、制御部15、レスポンス管理部19を有する。
また、リクエスト管理部11は、アドレスバッファ12、コマンドバッファ13、比較回路14を有する。また、制御部15は、ステート管理回路16、タイムアウト監視回路17、回避制御回路18を有する。また、レスポンス管理部19は、応答回路20、回避用バッファ21、通常用バッファ22を有する。
ここで、ルーター23は、アービタ24を有し、複数のCPU40〜43と接続され、各CPU40〜43からレジスタ群25に記憶された情報に対するリード要求を受信する。なお、レジスタ群25は、リード要求の対象となるデータが格納された記憶装置である。
以下、LSI1が有する各部4〜25について説明する。スリーステートバッファ4は、システムコントローラ30から情報のリード要求を受信した場合には、受信したリード要求をリクエスト管理部11と制御部15とへ送信する。また、スリーステートバッファ4は、後述するレスポンス管理部19からデータを受信した場合には、受信したデータをシステムコントローラ30へ送信する。
BusIF10は、システムコントローラ30からリード要求を受信した場合には、リード要求の対象となるデータをレジスタ群25から取得し、取得したデータをシステムコントローラ30へ送信する情報転送装置である。以下、BusIF10が有する各部について説明する。
リクエスト管理部11は、システムコントローラ30からレジスタ群25に記憶されたデータに対するリード要求を受信した場合には、リード要求の対象となるデータを要求するレジスタ群25へのリクエストを発行する。
具体的には、リクエスト管理部11は、スリーステートバッファ4からリード要求として、リード要求の対象となるレジスタ群25のメモリに割当てられたレジスタのアドレスであるメモリアドレスと、データの読込を示すリードコマンドとを受信する。このような場合には、リクエスト管理部11は、受信したメモリアドレスをアドレスバッファ12に格納し、受信したリードコマンドをコマンドバッファ13に格納する。
そして、リクエスト管理部11は、リード要求をルーター23に送信するタイミングを示すイネーブル信号を後述するステート管理回路16から受信した場合には、各バッファ12、13に格納されたメモリアドレスおよびコマンドをルーター23へ送信する。
また、リスクエスト管理部11は、後述する比較回路14を用いて、新たなリード要求を受信した場合には、前回受信したリード要求が処理の対象とするメモリアドレスと新たなリード要求が処理の対象とするメモリアドレスとが一致するか否かを判別する。そして、リクエスト管理部11は、前回受信したリード要求と新たなリード要求とが処理の対象とするメモリアドレスが一致すると判別した場合には、取得が失敗したデータに対する再度の送信要求を受信した旨を示す信号を回避制御回路18に送信する。
以下、図3を用いて、リクエスト管理部11の一例について説明する。図3は、実施例1に係るリクエスト管理部11の一例を説明するための図である。図3に示す例では、リクエスト管理部11は、シリアル/パラレル変換回路と、アドレスバッファ12であるイネーブル付D型フリップフロップと、コマンドバッファ13であるイネーブル付D型フリップフロップとを有する。なお、以下の説明では、スリーステートバッファ4がバスを介して1bit単位のシリアル信号をシステムコントローラ30から受信したものとする。
例えば、シリアル/パラレル変換回路は、スリーステートバッファ4からリード要求のシリアル信号を受信した場合には、受信した1bitのシリアル信号を8bitのパラレル信号に変換する。そして、シリアル/パラレル変換回路は、ステート管理回路16からシフトイネーブル信号を受信した場合には、変換後の信号をアドレスバッファ12およびコマンドバッファ13に送信するとともに、変換後のアドレス信号を比較回路14へ送信する。
アドレスバッファ12およびコマンドバッファ13は、それぞれ、ステート管理回路16から出力されたキャプチャーイネーブル信号をトリガとして、シリアル/パラレル変換回路が出力したパラレル信号を保持する。そして、アドレスバッファ12およびコマンドバッファ13は、保持したパラレル信号を図示しないデコーダーに渡す。デコーダーは、受信したパラレル信号からメモリアドレスとコマンドとをデコードし、メモリアドレスとコマンドとをルーター23へ送信する。
比較回路14は、ステート管理回路16からイネーブル信号を受信した場合のみ、シリアル/パラレル変換回路から受信した信号と、アドレスバッファ12から受信した信号とを比較し、各信号が示すメモリアドレスが一致するか否かを判別する。つまり、比較回路14は、今回受信したリード信号が処理の対象とするメモリアドレスと、前回受信したリード信号が処理の対象とするメモリアドレスとが一致するか否かを判別する。
そして、比較回路14は、各信号が示すメモリアドレスが一致すると判別した場合には、各信号が示すメモリアドレスが一致する事を示す差分検出信号として「0」を示す信号を回避制御回路18へ送信する。一方、比較回路14は、各信号が示すメモリアドレスが一致しないと判別した場合には、各信号が示すメモリアドレスが一致しないことを示す差分検出信号として「1」を示す信号を回避制御回路18へ送信する。
図2に戻って、制御部15が有するステート管理回路16、タイムアウト監視回路17、回避制御回路18が実行する処理について説明する。ステート管理回路16は、スリーステートバッファ4からデータ受信し、リクエストを解析するステートになった場合に、リクエスト管理部11のシリアル/パラレル変換回路に対してはシフトイネーブル信号を、アドレスバッファ12、コマンドバッファ13、比較回路14に対してはキャプチャーイネーブル信号を各々送信する。
タイムアウト監視回路17は、スリーステートバッファ4からリード要求を受信した旨を通知された場合には、リード要求を受信してから経過した時間をカウントし、リード要求を受信してから所定の時間が経過したか否かを判別する。そして、タイムアウト監視回路17は、リード要求を受信してから所定の時間が経過したと判別した場合には、所定の時間が経過した旨を回避制御回路18に通知する。
回避制御回路18は、レスポンス管理部19が有する各部20〜22を制御し、リード要求に対する応答をシステムコントローラ30へ送信させる。具体的には、回避制御回路18は、レジスタ群25から取得したデータを回避用バッファ21および通常用バッファ22に格納する処理と、回避用バッファ21または通常用バッファ22に格納されたデータをシステムコントローラ30へ送信する処理とを実行する。
以下、回避制御回路18が実行する処理のうち、レジスタ群25から取得したデータを回避用バッファ21および通常用バッファ22に格納する処理の流れについて詳しく説明する。まず、回避制御回路18は、差分検出信号を比較回路14から受信する。
そして、回避制御回路18は、比較回路14の差分検出信号が「1」である場合、つまり、前回のリード要求とは異なるメモリアドレスを処理の対象とするリード要求が受信された場合には、後述する回避用バッファ21が有するロックフラグと後述する通常用バッファ22が有する送信可能フラグを共に「0」にリセットする。
回避制御回路18はまた、差分が検出されない場合は何もせずに以下の処理を継続する。
次に、回避制御回路18は、リード対象のデータをレスポンス管理部19が受信した場合には、回避用バッファ21が空か否かを判別する。具体的には、回避制御回路18は、回避用バッファ21が有するロックフラグが「1」であるか否かを判別し、ロックフラグが「0」であると判別した場合には、回避用バッファ21が空であると判別する。
そして、回避制御回路18は、回避用バッファ21が空であると判別した場合には、受信したデータを回避用バッファ21と通常用バッファ22に格納する。また、回避制御回路18は、通常用バッファ22にデータを格納した場合には、送信可能フラグを「1」にセットする。また、回避制御回路18は、後述する回避用バッファ21が有するロックフラグを「1」にセットする。
また、回避制御回路18は、回避用バッファ21が空ではないと判別した場合には、受信したデータを通常用バッファ22のみに格納するとともに、通常用バッファ22の送信可能フラグを「1」にセットする。
つまり、回避制御回路18は、回避用バッファ21が空であると判別した場合には、レスポンス管理部19が受信したデータを回避用バッファ21と通常用バッファ22とに格納する。また、回避制御回路18は、回避用バッファ21にデータが格納され、ロックフラグが「1」である場合には、レスポンス管理部19が受信したデータを通常用バッファ22のみに格納する。
また、回避制御回路18は、上述したデータを格納する処理については、タイムアウト監視回路17から所定の時間が経過した旨を通知を取得したか否かにかかわらず実行する。つまり、回避制御回路18は、リード要求を受信してから所定の時間が経過した際にも、レスポンス管理部19がレジスタ群25からデータを取得した場合には、取得したデータを回避用バッファ21に格納し、回避用バッファ21のロックフラグを「1」にする。
次に、回避制御回路18が実行する処理のうち、回避用バッファ21または通常用バッファ22に格納されたデータをシステムコントローラ30へ送信する処理について説明する。具体的には、回避制御回路18は、タイムアウト監視回路17から所定の時間が経過した旨を通知された場合には、データをシステムコントローラ30へ送信する処理を開始する。
まず、回避制御回路18は、タイムアウト監視回路17から所定の時間が経過した旨を通知された場合には、通常用バッファ22の送信可能フラグが「1」であるか否かを判別する。そして、回避制御回路18は、通常用バッファ22の送信可能フラグが「1」であると判別した場合には、通常用バッファ22に格納されたデータをシステムコントローラ30へ送信する。また、回避制御回路18は、通常用バッファ22に格納されたデータをシステムコントローラ30へ送信した場合には、回避用バッファ21が有するロックフラグと通常用バッファ22が有する送信可能フラグとを「0」にリセットする。
一方、回避制御回路18は、通常用バッファ22の送信可能フラグが「0」であると判別した場合には、回避用バッファ21のロックフラグが「1」であるか否かを判別する。そして、回避制御回路18は、回避用バッファ21のロックフラグが「0」であると判別した場合には、応答回路20を制御し、システムコントローラ30にリードが失敗した旨を通知する。
一方、回避制御回路18は、回避用バッファ21のロックフラグが「1」であると判別した場合には、応答回路20を制御し、回避用バッファ21に格納されたデータをシステムコントローラ30に送信する。つまり、回避制御回路18は、通常用バッファ22の送信可能フラグが「0」であり、回避用バッファ21のロックフラグが「1」である場合には、回避用バッファ21に格納されたデータをシステムコントローラ30に送信する。また、回避制御回路18は、回避用バッファ21に格納されたデータをシステムコントローラ30に送信した場合には、回避用バッファ21のロックフラグを「0」にセットする。
つまり、回避制御回路18は、タイムアウト監視回路17から所定の時間が経過した旨を通知される前にリード要求の対象となるデータをレスポンス管理部19が受信した場合には、通常用バッファ22に格納されたデータをシステムコントローラ30へ送信する。また、回避制御回路18は、タイムアウト監視回路17から所定の時間が経過した旨を通知される前にリード要求の対象となるデータをレスポンス管理部19が受信しなかった場合には、システムコントローラ30にリードが失敗した旨を通知する。
また、回避制御回路18は、上述したように、タイムアウト監視回路17から所定の時間が経過した旨を通知された後でリード要求の対象となるデータをレスポンス管理部19が受信した場合には、受信したデータを回避用バッファ21に格納する。このため、回避用バッファ21には、失敗したリード要求に対するリトライをシステムコントローラ30から受信した場合には、前回のリード要求を受信した際に取得したデータがすでに格納されている。
そして、回避制御回路18は、タイムアウト監視回路17から所定の時間が経過した旨を通知される前にリトライの対象となるデータをレスポンス管理部19が受信しなかった場合は、回避用バッファ21に格納されたデータをシステムコントローラ30に送信する。また、回避制御回路18は、タイムアウト監視回路17から所定の時間が経過した旨を通知される前にリトライの対象となるデータをレスポンス管理部19が受信した場合には、通常用バッファ22に格納されたデータをシステムコントローラ30に送信する。このため、BusIF10は、システムコントローラ30から失敗したリード要求に対するリトライを受信した場合には、確実に応答を返すことができる。
ここで、図4を用いて、リード要求のタイムアウトについて説明する。図4は、リード要求のタイムアウトについて説明するための図である。なお、以下の説明では、システムコントローラ30とLSI1とがI2C/SMBus(Inter-Integrated Circuit/System Management Bus:登録商標)等の低速システムバスによって接続されているものとする。
また、図4に示す点線のブロックは、バス上のクロック(外部クロック)単位でのデータを示す。また、図4に示す実線のブロックは、LSI1内部のクロック単位のデータを示す。つまり、図4に示す例は、LSI1は、バスクロックの5倍のクロック周波数で動作することを示している。
このような場合において、LSI1およびシステムコントローラ30は、メモリアドレス、ACK、コマンド、ACK、データの順でリード要求とリード要求の対象となるデータとを送受信する。このため、図4に示す例では、LSI1は、データキャプチャーのタイミングがバスクロックの中心であった場合には、図4中αで示すように、コマンドを受信してから、LSI1のクロックで7つ分の期間内にデータを送信可能な状態でなければならない。
このため、BusIF10は、リード要求を受信してから所定の時間が経過する前に、レジスタ群25に格納されたデータを取得できなかった場合には、リード要求がタイムアウトしたものとし、システムコントローラ30にデータの送信が失敗した旨を通知する。なお、BusIF10が、リードが失敗した旨を通知する方法はCRC(Cyclic Redundancy Check)やACK、ステータスビット等のバスの仕様に応じた方法で行える。
図2に戻って、レスポンス管理部19は、システムコントローラ30へ送信されるデータを一時的に記憶する回避用バッファ21と通常用バッファ22とを有する。そして、レスポンス管理部19は、リード要求を受信してから所定の時間が経過するまでの間にレジスタ群25からデータを取得した場合には、取得したデータを通常用バッファ22に格納する。その後、レスポンス管理部19は、通常用バッファ22に格納したデータをシステムコントローラ30へ送信する。
一方、レスポンス管理部19は、リード要求を受信を受信してから所定の時間が経過する前にレジスタ群25からデータを受信しなかった場合には、スリーステートバッファ4を介して、システムコントローラ30にリードが失敗した旨を通知する。また、レスポンス管理部19は、リード要求を受信してから所定の時間が経過した後にレジスタ群25からデータを受信した場合には、受信したデータを回避用バッファ21に格納する。そして、レスポンス管理部19は、リトライを受信してから所定の時間が経過するまでの間にレジスタ群25に格納されたデータを再度取得できなかった場合には、回避用バッファ21に格納されたデータをシステムコントローラ30へ送信する。
以下、レスポンス管理部19が有する各部について説明する。応答回路20は、回避制御回路18によって制御され、リード要求を受信してから所定の時間が経過した際にレジスタ群25からデータを受信した場合には、通常用バッファ22に格納されたデータをシステムコントローラ30へ送信する。
また応答回路20は、リード要求を受信してから所定の時間が経過するまでの間にデータをレジスタ群25から受信しなかった場合には、リードが失敗した旨をシステムコントローラ30に通知する。また、応答回路20は、その後レジスタ群25から受信したデータを回避用バッファ21に格納する。そして、応答回路20は、リトライを受信してから所定の時間が経過した際にデータをレジスタ群25から受信しなかった場合には、回避用バッファ21に格納されたデータをシステムコントローラ30へ送信する。
回避用バッファ21および通常用バッファ22は、システムコントローラ30へ送信するリードデータを一時的に記憶するバッファである。また、回避用バッファ21は、ロックフラグを有し、ロックフラグが「1」である場合には、自装置にデータが格納されていることを示し、ロックフラグが「0」である場合には、自装置にデータが格納されていないことを示す。また、通常用バッファ22に、送信可能フラグを有し、送信可能フラグが「1」である場合には、自装置に格納されたデータを送信することができることを示し、送信可能フラグが「0」である場合には、自装置に格納されたデータが送信できないことを示す。
次に、図5を用いて、レスポンス管理部19が回避用バッファ21と通常用バッファ22との2つのバッファを有する意味について説明する。図5は、バッファを一つだけ有するBusIFがデータを送信する処理について説明するための図である。なお、図5中βは、リード要求を受信してから所定の時間が経過したタイミング、つまり、データの送信処理を開始するタイミングを示す。
例えば、図5中Case1に示すように、バッファを一つだけ有するBusIFでは、データの送信処理を開始する前にデータをバッファに格納し、バッファに格納したデータを送信する。このような場合には、BusIFは、データをバッファに格納するタイミングとバッファに格納したデータを送信するタイミングとが重複しないので、正しいデータを送信することができる。
また、図5中Case3に示すように、バッファを一つだけ有するBusIFでは、バッファに格納したデータを送信するタイミングよりも後でデータをバッファに格納した場合には、データを送信することができないが、リトライ時に正しいデータを送信できる。
一方、図5中Case2に示すように、データをバッファに格納するタイミングと、データの送信処理を開始するタイミングとが重複する場合には、一つのバッファにデータの書込みと読み出しとを同時に行うため、送信するデータが壊れている可能性がある。
このような事態を避けるため、データをバッファに格納するタイミングとデータを読み取るタイミングとを重複させない手段を採用することも考えられる。しかし、データの書込みや読取のタイミングを計算する回路を採用した場合には、回路規模が大きくなり、BusIFの回路が複雑化してしまう。
一方、本実施例のBusIF10は、回避用バッファ21と通常用バッファ22との二つのバッファを有することにより、データをバッファに格納するタイミングとデータの読み取りを行うタイミングの重複を避けている。このため、BusIF10は、回路規模を削減し、また、BusIF10の回路を複雑化させることなく、データとバッファに格納するタイミングとデータの読み取りを行うタイミングとの重複を避けることができる。
図2に戻って、ルーター23は、BusIF10および各CPU40〜43からリード要求を受信する。そして、ルーター23は、受信したリード要求が処理の対象とするデータをレジスタ群25から取得し、リード要求の送信元に取得した情報を送信する。
具体的には、ルーター23は、BusIF10および各CPU40〜43から、リード要求として、リード要求の対象となるメモリアドレスと、読み取りを示すリードコマンドとを受信する。また、ルーター23は、アービタ24を用いて、BusIF10および各CPU40〜43から受信されたリード要求から実行するリード要求を選択する。
そして、ルーター23は、選択したリード要求の対象となるメモリアドレスに格納されたデータをレジスタ群25から読出し、読み出したデータを選択したリード要求の送信元へ送信する。
次に、図6、7を用いて、LSI1がデータをシステムコントローラ30に送信する処理の流れについて説明する。図6は、LSIがリード要求に対してデータを送信する処理の流れを説明するための図である。また、図7は、LSIがリトライに対してデータを送信する処理の流れを説明するための図である。
図6に示す例では、システムコントローラ30は、LSI1にリード要求を送信する。このような場合には、LSI1は、リード要求をルーター23に伝達するとともに、受信したリード要求が処理の対象とするメモリアドレスを記憶する。ルーター23は、システムコントローラ30が送信したリード要求をアービタ24が選択した場合には、選択したリード要求を実行し、レジスタ群25からデータを取得する。そして、ルーター23は、取得したデータをBusIF10へ送信する。
BusIF10は、図6中の太線で示すように、リード要求を受信してから所定の時間が経過するまでの間にデータの送信が間に合うか否かを判別する。図6の太線で示す例では、BusIF10は、データの送信が間に合わないと判別し、回避用バッファ21のロックフラグをチェックして、リード要求の対象となるデータが回避用バッファ21に格納されているか否かを判別する。
すると、BusIF10は、回避用バッファ21にデータが格納されていないと判別し、データのリードが失敗した旨をシステムコントローラ30に通知する。また、BusIF10は、所定の時間が経過した後でルーター23から取得したデータを回避用バッファ21に格納する。
システムコントローラ30は、LSI1からリードが失敗した旨を通知された場合には、図7に示すように、前回送信したリード要求を再度LSI1に送信する。すると、LSI1は、受信したリード要求を再度ルーター23に伝達し、レジスタ群25からデータを取得させる。ここで、LSI1は、再度データの送信が間に合うか否かを判別する。
図7の太線で示す例では、BusIF10は、再度データの送信が間に合わないと判別し、回避用バッファ21にリード要求の対象となるデータが回避用バッファ21に格納されているか否かを判別する。すると、図6の太線で示したように、回避用バッファ21には、リード要求の対象となるデータが格納されているので、図7の太線で示すように、回避用バッファ21に格納されたデータをシステムコントローラ30に送信する。
このように、実施例1に係るBusIF10は、リード要求を受信してから所定の時間が経過するまでの間に、リード要求の対象となるデータを取得できない場合には、データを回避用バッファ21に格納する。そして、BusIF10は、同じメモリアドレスに格納されたデータに対するリード要求のリトライを受信した際に、リード要求を受信してから所定の時間が経過するまでの間に再度データが取得できなかった場合には、回避用バッファ21に格納されたデータを送信する。
このため、BusIF10を有するLSI1は、データの送信に失敗したリード要求のリトライに対して、2回以内に確実に応答することができる。結果として、LSI1は、LSI1にて競合が発生する場合にも、ライブロックを起こさずに、リード要求に応答することができる。
なお、リトライに対するデータの送信が再度失敗した際に送信されるデータ、つまり回避用バッファ21に格納されたデータは、厳密には、システムコントローラ30がリード要求したデータとは時間的な誤差が存在する。
しかし、システムコントローラ30とLSI1とを接続するバスがLSI1の内部クロックよりも遅い為、一般に、厳密なタイミングでのデータ取得ができないことを前提とした運用がシステムコントローラ30に適用される。このため、リトライに対するデータと回避用バッファ21に格納されたデータとを同一とみなし、回避用バッファ21に格納されたデータをシステムコントローラ30へ送信しても問題ない。
図8は、従来のLSIと実施例1のLSIとを比較するための図である。図8の左側に示すように、従来のLSIでは、LSIにてリード要求の競合が発生する結果、システムコントローラにリードの失敗が通知され続け、ライブロックとなる場合がある。しかし、LSI1は、図8の右側に示すように、リトライに対して確実に応答することができるので、ライブロックを防止することができる。
また、LSI1は、リトライに対して確実に応答することができるので、システムコントローラ30とLSI1と接続するバスの有効率を改善することができる。図9は、バスの利用率を説明するための図である。図9に示す例では、3つのデータに対するリード要求が成功するまでにバスを占有した時間を示す。また、図9中の斜線が引かれたアクセスは、リード要求が失敗したアクセスを示し、斜線が引かれていないアクセスは、リード要求が成功したアクセスを示す。
図9に示す例では、従来のLSIは、リトライに対して確実に応答することができないので、1つ目のデータに対するリード要求が成功するまで3回のリトライが実行され、2つ目のデータに対するリード要求が成功するまで2回のリトライが実行されている。一方、LSI1は、リトライに対して確実に応答することができるため、3つのデータに対するリード要求が成功するまでのバスの利用時間が短くなる。結果として、LSI1は、バスの有効率を改善することができる。
また、LSI1は、リード要求に優先度を設定せずとも、リトライに対して確実に応答する。このため、ルーター23の回路を簡素にすることができる結果、回路規模を小規模にすることができる。図10は、優先度が設定されたリード要求を処理するルータを説明するための図である。図10に示すように、従来のルータは、システムコントローラ30や各CPU40〜43からのリード要求に設定された優先度を確認する回路、過去に実行したリード要求の履歴を確認する回路、ライブロックを防止する回路等を備える。このため、従来のLSIは、回路規模が大きくなるとともに、回路が複雑になるという問題があった。
一方、図11に示すように、ルーター23は、システムコントローラ30および各CPU40〜43から受信したリード要求のうち、実行するリード要求をラウンドロビンで選択するための簡易タイマーを有すればよい。この結果、LSI1は、従来と比較して、回路規模を小さくするとともに、簡易な回路で実現することができる。なお、図11は、実施例1に係るルータを説明するための図である。
例えば、ステート管理回路16、タイムアウト監視回路17、回避制御回路18、応答回路20、ルーター23、アービタ24とは、電子回路である。ここで、電子回路の例として、ASIC(Application Specific Integrated Circuit)やFPGA (Field Programmable Gate Array)などの集積回路、またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)などを適用する。
また、アドレスバッファ12、コマンドバッファ13、レジスタ群25とは、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ (flash memory)などの半導体メモリ素子である。
[LSIの処理]
次に、図12を用いて、LSI1の処理の流れを説明する。図12は、LSI1が実行する処理の流れを説明するためのフローチャートである。図12に示す例では、システムコントローラ30は、レジスタ群25に格納されたデータの読み取りを行う処理が発生したことをトリガとして、処理を開始する。
まず、システムコントローラ30は、リード要求をLSI1に発行する(ステップS101)。BusIF10は、リード要求を受信すると、リード要求の対象となるメモリアドレスをデコードする(ステップS102)。また、BusIF10は、ルーター23が有するアービタ24へリード要求を発行する(ステップS103)。また、BusIF10は、リード要求を受信してから経過した時間をカウントする(ステップS104)。
アービタ24は、ラウンドロビン方式を用いて、リード要求を調停する(ステップS105)。ここで、アービタ24は、競合が発生したか否かを判別する(ステップS106)。そして、アービタ24は、競合が発生したと判別された場合には(ステップS106肯定)、システムコントローラ30から受信したリード要求を待たせる(ステップS107)。
一方、アービタ24は、競合が発生していないと判別された場合には(ステップS106否定)レジスタ群25にアクセスする(ステップS108)。その後、レジスタ群25は、BusIF10にデータを返す(ステップS109)。
ここで、BusIF10が有する回避制御回路18は、ステップS102にてデコードされたメモリアドレスが前回のリード要求の対象となったメモリアドレスと一致するか否かを判別する(ステップS110)。そして、回避制御回路18は、ステップS102にてデコードされたメモリアドレスが前回のリード要求の対象となったメモリアドレスと一致すると判別した場合には(ステップS110肯定)、回避用バッファ21をそのままにする(ステップS111)。一方、回避制御回路18は、メモリアドレスが前回のリード要求の対象となったメモリアドレスと一致しないと判別した場合には(ステップS110否定)、回避用バッファ21に格納されたデータをクリアする(ステップS112)。
また、回避制御回路18は、レスポンス管理部19がデータを受信した場合には(ステップS113)、回避用バッファ21が空か否かを判別する(ステップS114)。そして、回避制御回路18は、回避用バッファ21が空であると判別した場合には(ステップS114肯定)、回避用バッファ21および通常用バッファ22にデータを格納する(ステップS115)。
一方、回避制御回路18は、回避用バッファ21が空ではないと判別した場合には(ステップS114否定)、通常用バッファ22にデータを格納する(ステップS116)。続いて、回避制御回路18は、リード要求を受信してから所定の時間が経過した場合には、データの送信処理を開始し、通常用バッファ22にデータが格納されているか否かを判別する(ステップS117)。
そして、回避制御回路18は、通常用バッファ22にデータ格納されていると判別した場合には(ステップS117肯定)、通常用バッファ22に格納されたデータをシステムコントローラ30に送信する(ステップS118)。また、回避制御回路18は、通常用バッファ22に格納されたデータをシステムコントローラ30に送信した場合には、回避用バッファ21に格納されたデータをクリアする(ステップS112)。
また、回避制御回路18は、通常用バッファ22にデータ格納されていないと判別した場合には(ステップS117否定)、回避用バッファ21にデータが格納されているか否かを判別する(ステップS119)。その後、回避制御回路18は、回避用バッファ21にデータが格納されていると判別した場合には(ステップS119肯定)、回避用バッファに格納されたデータをシステムコントローラ30に送信する(ステップS120)。また、回避制御回路18は、回避用バッファ21に格納されたデータをシステムコントローラ30に送信した場合には、回避用バッファ21に格納されたデータをクリアする(ステップS112)。
一方、回避制御回路18は、回避用バッファ21にデータが格納されてないと判別した場合には(ステップS119否定)、システムコントローラ30に対して、データの送信が失敗した旨を通知する(ステップS121)。また、システムコントローラ30は、BusIF10からデータを受信した場合には(ステップS122)、リード要求が成功したか否かを判別する(ステップS123)。
そして、システムコントローラ30は、リード要求が成功した場合には(ステップS123肯定)、処理を終了する。一方、システムコントローラ30は、リード要求が失敗した場合には(ステップS123否定)、リード要求のリトライを発行する(ステップS124)。
次に、図13を用いて、BusIF10が実行する処理の流れの一例について説明する。図13は、データの送信が失敗した際の処理の流れを説明するための図である。図13の太線で示す例では、システムコントローラ30がリード要求を発行すると(ステップS101)、BusIF10は、メモリアドレスをデコードし(ステップS102)、アービタ24へリード要求を発行する(ステップS103)。
アービタ24は、リード要求の調停を行い(ステップS105)、リード要求の競合が発生していると判別し(ステップS106肯定)、システムコントローラ30から受信したリード要求を待たせる(ステップS107)。その後、アービタ24は、リード要求の競合が解消したと判別し(ステップS106否定)、レジスタにアクセスし(ステップS108)、レジスタ群25から返されたデータをBusIF10へ送信する(ステップS109)。
BusIF10の回避制御回路18は、データを受信した場合には(ステップS113)、回避用バッファ21が空であると判別し(ステップS114肯定)、回避用バッファ21および通常用バッファ22にデータを格納する(ステップS115)。ここで、回避制御回路18は、データの格納に先駆けてデータの送信処理を開始し、通常用バッファ22にデータが格納されているか否かを判別する(ステップS117)。
また、回避制御回路18は、通常用バッファ22にデータが格納されていないと判別し(ステップS117否定)、回避用バッファ21にデータが格納されているか否かを判別する(ステップS119)。そして、回避制御回路18は、回避用バッファ21にもデータが格納されていないと判別し(ステップS119否定)、データの送信が失敗したことをシステムコントローラ30に通知する(ステップS121)。
その後、システムコントローラ30は、データの送信が失敗した旨を通知された場合には(ステップS123否定)、失敗したデータに対するリード要求のリトライをBusIF10へ発行する(ステップS124、ステップS101)。
次に、図14を用いて、BusIF10がリトライを実行する際の処理の流れについて説明する。図14は、リトライを実行する際の処理の流れを説明するための図である。なお、図14の太線で示す処理の流れのうち、ステップS101〜S118については、図13の太線で示す処理と同一であるため、説明を省略する。
図14の太線で示す例では、データの送信処理を開始した回避制御回路18は、回避用バッファ21にデータが格納されているか否かを判別する(ステップS119)。そして、回避制御回路18は、回避用バッファ21にデータが格納されていると判別し(ステップS119肯定)、回避用バッファ21に格納されたデータをシステムコントローラ30へ送信する(ステップS119)。システムコントローラ30は、回避用バッファ21に格納されたデータを受信した場合には(ステップS122)、データの取得に成功したと判別し(ステップS123肯定)、その後、処理を終了する。
[実施例1の効果]
上述したように、BusIF10は、リード要求を受信してから所定の時間が経過する前にデータを取得できなかった場合には、所定の時間が経過した後で取得したデータを回避用バッファ21に格納する。そして、BusIF10は、リード要求のリトライを受信した際に、再度所定の時間が経過する前にデータを取得できなかった場合には、回避用バッファ21に格納したデータをシステムコントローラ30へ送信する。
このため、BusIF10は、リード要求のリトライに対して確実に応答することができる。結果として、BusIF10は、システムコントローラ30とLSI1とを接続するバスの利用率を改善するとともに、リード要求の競合によるライブロックを防止することができる。また、BusIF10は、リード要求に優先度を付すことなく、リード要求のリトライに対して確実に応答することができるため、ルーター23の回路を単純化し、回路規模を従来よりも小さくすることができる。
また、BusIF10は、前回受信したリード要求が処理の対象とするメモリアドレスと、再度受信したリード要求が処理の対象とするメモリアドレスとが一致するか否かを判別する。そして、BusIF10は、メモリアドレスが一致すると判別した場合には、再度受信したリード要求が前回受信したリード要求のリトライであると判別する。
また、BusIF10は、回避用バッファ21にデータが格納されているか否かを示すロックフラグを有し、前回受信したリード要求と異なるメモリアドレスを処理の対象とするリード要求を受信した場合には、ロックフラグを「0」に設定する。つまり、BusIF10は、受信したリード要求が前回受信したリード要求のリトライではない場合には、、回避用バッファ21に格納されたデータを無効化する。このため、BusIF10は、リトライに対して適切なデータを送信することができる。
また、BusIF10を有するLSI1とシステムコントローラ30とを接続するバスは、BusIF10とレジスタ群25との間で情報を送受信する速度よりも低速のクロック周波数で動作するバスである。このため、LSI1は、LSI1と同様の処理を実行する複数のLSIとともに、一つの共用バスを介して、システムコントローラ30とデータの送受信を行う事ができる。
これまでBusIF10を有するLSI1について説明したが、本発明は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例2として本発明に含まれる他の実施例を説明する。
(1)LSI1が受信する要求について
上述したLSI1は、システムコントローラ30からリード要求を受信していた。しかし、実施例は、これに限定されるものではなく、例えば、LSI1は、システムコントローラ30から、リード要求またはレジスタ群25にデータの書込みを要求するライト要求を受信する。そして、LSI1は、コマンドバッファ13に格納されたコマンドがリードであるかライトであるかを判別する。その後、LSI1は、受信したコマンドがリードであると判別した場合には、実施例1として説明した各処理を実行し、ライトであると判別した場合には、通常のライト処理を実行してもよい。
(2)ルーターについて
上述したルーター23は、システムコントローラ30から送信されたリード要求だけではなく、各CPU40〜43からもリード要求を受信していた。しかし、実施例はこれに限定されるものではなく、ルーター23は、例えば、複数のI/O(Input Output)や他のチップセットからのリード要求を受信し、受信したリード要求を実行してもよい。
1〜3 LSI
4 スリーステートバッファ
10 BusIF
11 リクエスト管理部
12 アドレスバッファ
13 コマンドバッファ
14 比較回路
15 制御部
16 ステート管理回路
17 タイムアウト監視回路
18 回避制御回路
19 レスポンス管理部
20 応答回路
21 回避用バッファ
22 通常用バッファ
23 ルーター
24 アービタ
25 レジスタ群
30 システムコントローラ
40〜43 CPU

Claims (6)

  1. 送信対象となる情報を一時的に記憶する記憶部と、
    記憶装置に格納された情報に対する送信要求を情報処理装置から受信した場合には、当該送信要求の対象となる情報を該記憶装置から取得する取得部と、
    前記送信要求を受信してから所定の時間が経過するまでの間に前記取得部が前記記憶装置から前記情報を取得した場合には、当該取得した情報を前記情報処理装置へ送信し、前記送信要求を受信してから所定の時間が経過するまでの間に前記取得部が前記記憶装置から前記情報を取得できなかった場合には、情報を取得できない旨の通知を前記情報処理装置へ送信する送信部と、
    前記送信要求を受信してから所定の時間が経過するまでの間に、前記取得部が前記記憶装置から前記情報を取得できなかった場合には、当該所定の時間が経過した後に前記取得部が取得した情報を前記記憶部に格納する格納部と、
    を備え、
    前記取得部はさらに、前記所定の時間が経過するまでの間に情報が取得できなかった場合には、当該情報の取得を前記所定の時間が経過した後も継続するとともに、所定の時間が経過するまでの間に取得できなかった情報に対する再度の送信要求である再送信要求を情報処理装置から受信した場合には、当該送信要求の対象となる情報を前記記憶装置から取得し、
    前記送信部はさらに、前記再送信要求を受信してから所定の時間が経過するまでの間に前記取得部が再度要求された情報を記憶装置から取得した場合には、当該取得された情報を前記情報処理装置に送信し、前記再送信要求を受信してから所定の時間が経過するまでの間に前記取得部が再度要求された情報を前記記憶装置から取得できない場合には、前記格納部が前記記憶部に格納した情報を前記情報処理装置に送信する
    ことを特徴とする情報転送装置。
  2. 前記取得部は、前記情報処理装置から情報の送信要求を受信した場合、当該情報が格納されたメモリアドレスと、前回受信した送信要求によって要求された情報が格納されたメモリアドレスとが一致するか否かを判別し、一致すると判別した場合には、取得できなかった情報に対する前記再送信要求を受信したと判別することを特徴とする請求項1に記載の情報転送装置。
  3. 前記記憶部は、自装置に情報が格納されているか否かを示すフラグ情報を有し、
    前記格納部は、前記所定の時間が経過した後に前記取得部が取得した情報を前記記憶部に格納した場合には、当該記憶部に情報が格納されていることを示すように前記フラグ情報を設定し、
    前記送信部は、前記再送信要求を受信してから所定の時間が経過するまでの間に再度要求された情報を前記取得部が記憶装置から取得できなかった場合には、前記記憶部が有するフラグ情報を確認し、当該フラグ情報が前記記憶部に情報が格納されていることを示す場合には、当該記憶部に格納された情報を前記情報処理装置に送信することを特徴とする請求項1又は2に記載の情報転送装置。
  4. 前記送信部は、前記再送信要求を受信してから所定の時間が経過するまでの間に再度要求された情報を前記取得部が記憶装置から取得した場合には、当該取得された情報を前記情報処理装置に送信するとともに、前記記憶部に情報が格納されていないことを示すフラグ情報を設定することを特徴とする請求項3に記載の情報転送装置。
  5. 前記送信部と前記情報処理装置とは、前記取得部と前記記憶装置との間の通信速度よりも低速の通信速度で情報を送受信するバスで接続されることを特徴とする請求項3に記載の情報転送装置。
  6. 情報を転送する情報転送装置によって実行される情報転送方法であって、
    記憶装置に格納された情報に対する送信要求を情報処理装置から受信した場合には、当該送信要求の対象となる情報を該記憶装置から取得し、
    前記送信要求を受信してから所定の時間が経過するまでの間に前記記憶装置から前記情報を取得した場合には、当該取得した情報を前記情報処理装置へ送信し、前記送信要求を受信してから所定の時間が経過するまでの間に前記記憶装置から前記情報を取得できなかった場合には、情報を取得できない旨の通知を前記情報処理装置へ送信し、
    前記送信要求を受信してから所定の時間が経過するまでの間に前記記憶装置から前記情報を取得できなかった場合には、情報を一時的に記憶する一時記憶装置に、該所定の時間が経過した後に取得した情報を格納し、
    さらに、前記所定の時間が経過するまでの間に情報が取得できなかった場合には、当該情報の取得を前記所定の時間が経過した後も継続するとともに、所定の時間が経過するまでの間に取得できなかった情報に対する再度の送信要求である再送信要求を情報処理装置から受信した場合には、当該送信要求の対象となる情報を前記記憶装置から取得し、
    さらに、前記再送信要求を受信してから所定の時間が経過するまでの間に再度要求された情報を記憶装置から取得した場合には、当該取得された情報を前記情報処理装置に送信し、前記再送信要求を受信してから所定の時間が経過するまでの間に前記取得部が再度要求された情報を前記記憶装置から取得できない場合には、前記一時記憶装置に格納した情報を前記情報処理装置に送信することを特徴とする情報転送方法。
JP2012551770A 2011-01-05 2011-01-05 情報転送装置および情報転送装置の情報転送方法 Pending JPWO2012093475A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/050066 WO2012093475A1 (ja) 2011-01-05 2011-01-05 情報転送装置および情報転送装置の情報転送方法

Publications (1)

Publication Number Publication Date
JPWO2012093475A1 true JPWO2012093475A1 (ja) 2014-06-09

Family

ID=46457343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012551770A Pending JPWO2012093475A1 (ja) 2011-01-05 2011-01-05 情報転送装置および情報転送装置の情報転送方法

Country Status (3)

Country Link
US (1) US20130297837A1 (ja)
JP (1) JPWO2012093475A1 (ja)
WO (1) WO2012093475A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI760702B (zh) * 2020-03-03 2022-04-11 瑞昱半導體股份有限公司 資料寫入系統與方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259198A (ja) * 1993-03-09 1994-09-16 Hitachi Ltd ディスク装置システム
JPH08212133A (ja) * 1995-01-31 1996-08-20 Hitachi Ltd データ処理装置及びキャッシュメモリ制御方法
JP2005525746A (ja) * 2002-05-10 2005-08-25 インターディジタル テクノロジー コーポレイション 無線リンク制御における再送を支援する目的でプロトコルデータユニットの再送の優先順位を上げるためのシステムおよび方法
WO2007043617A1 (ja) * 2005-10-12 2007-04-19 Nec Corporation I/o要求処理システム及び方法
JP2007148753A (ja) * 2005-11-28 2007-06-14 Seiko Epson Corp マルチプロセッサシステム
JP2010015613A (ja) * 2008-07-01 2010-01-21 Fujitsu Ltd 記憶装置、記憶装置の制御方法及び制御プログラム
JP2010067015A (ja) * 2008-09-11 2010-03-25 National Institute Of Information & Communication Technology ファイル送信装置、ファイル受信装置、ファイル送受信システム及びそのプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259198A (ja) * 1993-03-09 1994-09-16 Hitachi Ltd ディスク装置システム
JPH08212133A (ja) * 1995-01-31 1996-08-20 Hitachi Ltd データ処理装置及びキャッシュメモリ制御方法
JP2005525746A (ja) * 2002-05-10 2005-08-25 インターディジタル テクノロジー コーポレイション 無線リンク制御における再送を支援する目的でプロトコルデータユニットの再送の優先順位を上げるためのシステムおよび方法
WO2007043617A1 (ja) * 2005-10-12 2007-04-19 Nec Corporation I/o要求処理システム及び方法
JP2007148753A (ja) * 2005-11-28 2007-06-14 Seiko Epson Corp マルチプロセッサシステム
JP2010015613A (ja) * 2008-07-01 2010-01-21 Fujitsu Ltd 記憶装置、記憶装置の制御方法及び制御プログラム
JP2010067015A (ja) * 2008-09-11 2010-03-25 National Institute Of Information & Communication Technology ファイル送信装置、ファイル受信装置、ファイル送受信システム及びそのプログラム

Also Published As

Publication number Publication date
US20130297837A1 (en) 2013-11-07
WO2012093475A1 (ja) 2012-07-12

Similar Documents

Publication Publication Date Title
US8886861B2 (en) Memory interleaving device to re-order messages from slave IPS and a method of using a reorder buffer to re-order messages from slave IPS
WO2016127552A1 (zh) 一种直接内存存取dma控制器及数据传输的方法
US8370552B2 (en) Priority based bus arbiters avoiding deadlock and starvation on buses that support retrying of transactions
EP1750202A1 (en) Combining packets for a packetized bus
JP4063529B2 (ja) バスシステムおよびリトライ方法
US8386908B2 (en) Data transmission methods and universal serial bus host controllers utilizing the same
JP3664664B2 (ja) バスシステム及びそのバス仲裁方法
US9170963B2 (en) Apparatus and method for generating interrupt signal that supports multi-processor
US9258834B2 (en) Method of mobile terminal internal communications
US20150234759A1 (en) Method and apparatus using high-efficiency atomic operations
JP2010050742A (ja) 伝送システム、伝送装置および伝送方法
TWI483117B (zh) 用於執行命令之裝置、主機控制器及用於執行命令之系統
KR102303424B1 (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
US20110149974A1 (en) Data processing apparatus, data processing method, and computer-readable storage medium
WO2012093475A1 (ja) 情報転送装置および情報転送装置の情報転送方法
US8842547B2 (en) Communication control apparatus and control method
US20160019175A1 (en) Method for monitoring communications for an on-chip system
US12013806B2 (en) I3C pending read with retransmission
JP5293516B2 (ja) データ転送装置、データ転送制御方法、データ転送制御プログラム及び記録媒体
US11023392B2 (en) Method for arbitrating access to a shared memory, and corresponding electronic device
JP4152387B2 (ja) バスシステム
US7788432B2 (en) System for performing a serial communication between a central control block and satellite components
JP2010118020A (ja) リクエスト順序制御システム、リクエスト順序制御方法およびリクエスト順序制御プログラム
US20090268727A1 (en) Early header CRC in data response packets with variable gap count
JP4941212B2 (ja) 電子デバイス、データ処理装置、及びバス制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140430

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140902