(57)【要約】  隙間なくパケットを出すことができなくても制御が比較的容易なコントローラを複数個、及びコントローラ間の調停手段を備え、その上でコントローラを交互に動作させ、パケットとパケットの隙間を埋める。また各コントローラは、他のコントローラの状態を意識することなく動作しており、インターフェイスにパケットを送信しているコントローラがインターフェイス側の都合でパケットが送出できず、コントローラの動作がとまっている時に、別のコントローラが動作することで次のデータをメモリから読み出す。別のコントローラが、あらかじめ、データを読み出しているため、パケット送出再開時に、複雑な制御をすることなく連続してパケットを処理することができる。
2007097006.tif 000002
【特許請求の範囲】
【請求項１】
インターフェイスへのパケット送出の制御とメモリへのデータ要求とデータ受取りを管理する複数のコントローラと、前記複数のコントローラのうち、どのコントローラを使用するかを選択する調停手段と、パケット送出先の制御部のBUSY状態を把握するBUSY制御回路と、要求されるデータを格納するメモリを備えていることを特徴とするパケット送出制御装置。
【請求項２】
前記コントローラは、制御信号またはタイミングでもって、ステートを遷移させ、そのステートで行う処理を管理するステートマシーンを有し、該ステートマシーンが前記メモリへの要求のタイミング制御や、データの受取りを行いデータ長やエラーなどを判断して送出するパケットをメモリデータから用意することを特徴とする請求項１記載のパケット送出制御装置。
【請求項３】
前記調停手段は、前記コントローラ、前記メモリ、前記インターフェイスの間に存在し、前記メモリへの要求や前記メモリからのデータ、前記インターフェイスへ送信するデータについて、どのコントローラへ送るか、または使用するかを選択することを特徴とする請求項１記載のパケット送出制御装置。
【請求項４】
前記調停手段は、第１と第２のアービター回路を有し、前記第１のアービター回路は、メモリ側のセレクタに指示してどのコントローラを使用するかを選択し選択したコントローラの信号を優先して処理し、前記第２のアービター回路は、パケット送出側のセレクタに指示してどのコントローラを使用するかを選択し選択したコントローラの信号を優先して処理することを特徴とする請求項３記載のパケット送出制御装置。
【請求項５】
前記BUSY制御回路は、前記インターフェイス側から送られてくる信号から、相手側インターフェイスのパケットの処理状態を判断し、BUSYを認識した時は、前記コントローラにデータの送出を止めるよう働き掛けることを特徴とする請求項１記載のパケット送出制御装置。
【請求項６】
前記BUSY制御回路は、アップダウンカウンタで構成されていることを特徴とする請求項５記載のパケット送出制御装置。
【請求項７】
調停手段により選択されたコントローラが動作を開始する過程と、データの要求が可能になった時点で、前記コントローラ内のステートマシーンが起動しアイドル状態から第１のステートに遷移して前記コントローラからメモリへ読み出しの要求を送る過程と、前記メモリからの要求許可信号が前記メモリから発行された時に前記ステートマシーンが第１のステートから第２のステートに遷移して前記メモリからデータの受け取り準備をする過程と、前記メモリから読み出されたデータを受け取り、前記ステートマシーンが第２ステートから第３のステートへ遷移することに従い、前記コントローラからインターフェイスにデータを送出する過程と、BUSY制御回路からBUSYが発行された際は、前記インターフェイスへのデータ送出を中断する過程と、
を含むことを特徴とするパケット送出制御方法。
【請求項８】
前記調停手段により選択されなかったコントローラが前記調停手段により選択されたコントローラが動作中に動作を開始する過程と、前記調停手段により選択されなかったコントローラのステートマシーンを起動して読み出し要求を発行するとともに該ステートマシーンがアイドル状態から第１のステートに遷移して待機する過程と、前記メモリからの要求許可信号が発行され、前記調停手段により選択されたコントローラが前記メモリからデータを受け取り終わっていれば、前記調停手段により選択されたコントローラがインターフェイスにデータを送出している最中に、前記調停手段により選択されなかったコントローラが前記メモリからデータを読み出す過程と、
を含むことを特徴とする請求項７記載のパケット送出制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムコントローラ(System Controller)内に設けられているRAM(Random Access Memory)からの読み出しパケットを送出側インターフェイスに送るパケット送出制御装置および方法に関する。
【背景技術】
【０００２】
図１は、従来のマルチコンピュータシステムの構成を示す概略図である。図１ではシステムコントローラ(System Controller：ＳＣ)10，20に付けた番号、すなわち０及び１でもって０系コンピュータシステム、１系コンピュータシステムと呼ぶことにする。【０００３】
０系コンピュータシステム、１系コンピュータシステムとも構成要素は同じなので、０系コンピュータシステムについて簡単に構成を説明する。０系コンピュータシステムは、システムコントローラSC0（10）に第１のＣＰＵ１、第２のＣＰＵ２が接続され、さらに、第１及び第２のメディアアクセスコントローラ（Media Access Controller：MAC）3，5を介してそれぞれ複数のDIMM(Dual Inline Memory Module)4，6が接続される。また、０系コンピュータシステムと１系コンピュータシステムはシステムコントローラSC10，20を介して相互に接続される。【０００４】
そして、システムコントローラSC10，20内には、RAM(Random Access Memory)(図示せず)が納められており、RAMからの読み出しパケットがインターフェイス(図示せず)を介して相手先に送出されるようになっている。【０００５】
図２は、従来のパケット送出制御装置の構成を示す図であり、システムコントローラSC10内に納められているRAMからコントローラCNTLひとつを使用してパケットを読み出し、インターフェイス(図示せず)を介して相手先に送出するものである。図２において従来のパケット送出制御装置は、インターフェイス(IF)部へのパケット送出の制御とRAMへのデータ要求及びデータ受取りを管理するコントローラ部(CNTL)30、パケット送出先の制御部(図示せず)のビジー(BUSY)状態を把握するBUSY制御回路40、および、要求されるデータを格納するRAM(メモリ)50から構成されている。【０００６】
図２に示したコントローラ部(CNTL)30は、内部にSTM(State-Machine)31（特許文献１参照）を持ち、RAM50への要求のタイミング制御や、データの受取りを行いデータ長やエラーなどを判断して送出するパケットをRAM格納データから用意する。またSTM31は、制御信号またはタイミングでもって、ステート(State)を遷移させ、そのステートで行う処理を管理する。なおコントローラ部(CNTL)30は、RAM50とのデータのやりとりのためにラッチ32,33を持っている。【０００７】
またBUSY制御回路40は、インターフェイス(IF)側から送られてくる信号から、相手側インターフェイスのパケットの処理状態を判断し、ビジー(BUSY)を認識した時は、STM31にデータの送出を止めるよう働き掛ける。【０００８】
またRAM(メモリ)50は、要求されるデータを保持し、アドレスを指定して、読み出しの要求を受けることで、アドレスとくくりつけられたデータを読み出す。
次に、従来のパケット送出制御装置の動作を図３に示すタイムチャートで説明する。図３においてデータの要求が可能になった時点で、CNTL30のSTM31が起動しIDLE(アイドル)(00)からST0に遷移する。CNTL30からRAM50へ読み出しの要求（RAMへのREQ(request)）を送ると、STM31はST0からST1に遷移して、RAM50からの要求許可信号（RAMからのVLD(valid)）を待つ。要求許可信号（RAMからのVLD）がRAM50から発行された時に、RAM50はデータの読み出し準備をし、一方、CNTL30のSTM31はST1からST2に遷移してデータ（READ DATA）の受け取り準備を行う。CNTL30はRAM50から読み出されたデータ（READ DATA）を受け取り、STM31がST2からST3に遷移するに従い、IF部へDATAを送出する(IFへの出力DATA)。データの送出終了とともに、STM31の動作も終了し、初期状態に戻り、またデータの要求を繰り返す。BUSYが発生した時は、BUSY制御回路40からSTM31に制御信号が送られ、データの送出を止める。制御信号の解除とともに、STM31が動き、データ送出を行う。【０００９】
上述した従来のパケット送出制御装置の場合には、コントローラひとつを使用して要求を処理しているため、次の要求を処理するには、一つの処理が終了するまで待たねばならない。それを解決するために、RAMへの読み出し要求の競合解決による待ち時間を含めたRAMからの読み出しのレイテンシ、データ送出先のインターフェイス側のBUSY反映によるデータの送出停止および送出再開のタイミングを計算した上で、RAMの読み出しコントローラが隙間なくパケットを制御するためのタイミング制御回路を設計することが考えられるが、複雑な制御が必要となり、実現させるには多くの困難を克服しなければならないという課題があった。
【特許文献１】特開2001-337861号公報(第4欄15行〜第7欄2行、図１、図４)
【発明の開示】
【００１０】
本発明は、インターフェイスへのパケット送出の制御とメモリへのデータ要求とデータ受取りを管理する複数のコントローラと、前記複数のコントローラのうち、どのコントローラを使用するかを選択する調停手段と、送出先の制御部のBUSY状態を把握するBUSY制御回路と、要求されるデータを格納するメモリを備えていることを特徴とする。
【００１１】
本発明によれば、隙間なくパケットを出すことができなくても制御が比較的容易なコントローラを複数個、及びコントローラ間の調停手段を備え、その上でコントローラを交互に動作させることで、パケットとパケットの隙間を容易に埋めることができる。また各コントローラは、他のコントローラの状態を意識することなく動作しており、インターフェイスにパケットを送信しているコントローラがインターフェイス側の都合でパケットが送出できず、コントローラの動作がとまっている時に、別のコントローラが動作することで次のデータをメモリから読み出すことができる。別のコントローラが、あらかじめ、データを読み出しているため、パケット送出再開時に、複雑な制御をすることなく連続してパケットを処理することができる。
【図面の簡単な説明】
【００１２】
【図１】従来のマルチコンピュータシステムの構成を示す概略図である。
【図２】従来のパケット送出制御装置の構成を示す図である。
【図３】従来のパケット送出制御装置の動作を説明するタイムチャートである。
【図４】本発明の実施形態に係るパケット送出制御装置の構成を示す図である。
【図５】本発明の実施形態に係るパケット送出制御装置の動作を説明するタイムチャートである。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態を、図面を参照しながら詳細に説明する。
図４は、本発明の実施形態に係るパケット送出制御装置の構成を示す図である。図４において本発明の実施形態に係るパケット送出制御装置は、インターフェイス(IF)部へのパケット送出の制御とRAMへのデータ要求及びデータ受取りを管理する複数のコントローラ部(CNTL0、CNTL1)130,230、複数のコントローラ部のうち、どのコントローラ部をRAMへのデータ要求及びデータの受け取りに使用するかを選択する第１のアービター回路101、複数のコントローラ部のうち、どのコントローラ部をIF部へのパケット送出に使用するかを選択する第２のアービター回路102、パケット送出先の制御部(図示せず)のビジー(BUSY)状態を把握するBUSY制御回路140、および、要求されるデータを格納するRAM(メモリ)150から構成されている。【００１４】
本発明の実施形態に係るパケット送出制御装置の特徴は、制御が比較的容易なコントローラを複数個備え、且つ複数のコントローラ間の調停を行なう調停手段(アービター回路)を備えるようにした上で複数のコントローラを交互に動作させることにより送出先へのパケット送出停止のギャップを埋めることができるので、コントローラ多重化によってRAMからのパケット読み出しレイテンシを考慮せずに動作させることができる。【００１５】
図４に示したコントローラ部(CNTL0、CNTL1)130,230は、内部にSTM(State-Machine)131,231を持ち、RAM150への要求のタイミング制御や、データの受取りを行いデータ長やエラーなどを判断して送出するパケットをRAM格納データから用意する。またSTM131,231は、制御信号またはタイミングでもって、ステート(State)を遷移させ、そのステートで行う処理を管理する。なおコントローラ部(CNTL0、CNTL1)130,230は、RAM150とのデータのやりとりのためにラッチ132,133、232,233を持っている。【００１６】
アービター回路101,102は、コントローラ130,230と、RAM150、インターフェイスの間に存在し、RAM150への要求やRAM150からのデータ、インターフェイスへ送信するデータについて、どのコントローラへ送るか、または使用するかをセレクタ(selector)111,112にコントロール信号を与えて選択する。そこで第１のアービター回路101は、セレクタ(selector)111に指示してどのコントローラを使用するかを選択し選択したコントローラの信号を優先して処理し、第２のアービター回路102はセレクタ(selector)112に指示してどのコントローラを使用するかを選択し選択したコントローラの信号を優先して処理する。【００１７】
またBUSY制御回路140は、インターフェイス(IF)側から送られてくる信号から、相手側インターフェイスのパケットの処理状態を判断し、ビジー(BUSY)を認識した時は、STM131,231にデータの送出を止めるよう働き掛ける。BUSY制御回路140は、例えばアップダウンカウンタで構成され、相手先の制御部に所定長のパケットデータを送信した場合にカウンタをアップし、相手先の制御部が送信された所定長のパケットデータを処理した場合にはカウンタをダウンし、アップ値が所定値に到達した場合には相手側の制御部のパケット処理が滞ったとしてビジー(BUSY)を認識する。【００１８】
またRAM(メモリ)150は、要求されるデータを保持し、アドレスを指定して、読み出しの要求を受けることで、アドレスとくくりつけられたデータを読み出す。
図５は、本発明の実施形態に係るパケット送出制御装置の動作を説明するタイムチャートである。まず、図４に示された第１のアービター回路101により選択された第１のコントローラCNTL0(130)が動作を開始し、データの要求が可能になった時点で、CNTL0(130)のSTM0(131)が起動しIDLE(アイドル)(00)からST0に遷移する。第１のコントローラCNTL0(130)からRAM150へ読み出しの要求（CNTL0 RAMへのREQ(request)）を送ると、STM0(131)はST0からST1に遷移して、RAM150からの要求許可信号（CNTL0 RAMからのVLD(valid)）を待つ。このとき、複数のコントローラからの要求が競合した際には、第１のアービター回路101により、選択されたコントローラの要求が優先して処理される。【００１９】
要求許可信号（CNTL0 RAMからのVLD）がRAM150から発行された時に、RAM150はデータの読み出し準備をし、一方、第１のコントローラCNTL0(130)のSTM0(131)はST1からST2に遷移してデータ（CNTL0 READ DATA）の受け取り準備を行う。第１のコントローラCNTL0(130)はRAM150から読み出されたデータ（READ DATA）を受け取り、STM0(131)がST2からST3に遷移するに従い、IF部へDATAを送出する(CNTL0 IFへの出力DATA)。【００２０】
第２のコントローラCNTL1(230)は第１のコントローラCNTL0(130)が動作中からCNTL1(230)のSTM1(231)を起動することができ（CNTL1 STM1）、読み出し要求を発行することができる（CNTL１ RAMへのREQ(request)）。この間、CNTL1(230)のSTM1(231)はST1の状態で保持され、RAM150からの要求許可信号（CNTL1 RAMからのVLD(valid)）を待つ。第２のコントローラCNTL1(230)はRAM150からの要求許可信号が発行され、第１のコントローラCNTL0(130)がRAM150からデータを受け取り終わっていれば、第１のコントローラCNTL0(130)がIF部にデータを送出している最中に、RAM150からデータを読み出すことができる。そして、第１のコントローラCNTL0(130)のデータの送出終了とともに、第１のコントローラCNTL0(130)のSTM0(131)の動作も終了し、第２のコントローラCNTL1(230)のSTM1(231)がデータ送出を行うことが可能になる。【００２１】
また図５に示すようにBUSY制御回路140からBUSYが発行された際は、IF部へのDATAの送信(CNTL0 IFへの出力DATA)は中断される。その間も別のコントローラ、図の例では第２のコントローラCNTL1(230)は動作が可能だが、IF部のDATA送信(CNTL1 IFへの出力DATA)は、第２のアービター回路102で選択された第１のコントローラCNTL0(130)の出力が完了してから送信される。【００２２】
以上説明したように本発明によれば、読み出し要求時に、競合解決やRAM(メモリ)の読み出しレイテンシなどを考慮した複雑な制御を必要としないという利点を有する。
また本発明によれば、複数のコントローラを順番に動かすため、ひとつの要求を発行した後に、競合解決の待ち時間を含めたRAM(メモリ)の読み出しレイテンシを考慮せずに、競合解決後に別の要求を発行することができるという利点を有する。【００２３】
さらに本発明によれば、送出側インターフェイスのBUSY状態による、パケット送出停止時に、別のコントローラからのRAM(メモリ)の読み出し要求を発行することができるという利点を有する。
【産業上の利用可能性】
【００２４】
上記ではシステムコントローラ(SC)での適用を説明したが、これへの適用に限定されず、他のコントローラ例えばメモリコントローラでの適用も可能である。
【図１】
2007097006.tif 000003
【図２】
2007097006.tif 000004
【図３】
2007097006.tif 000005
【図４】
2007097006.tif 000006
【図５】
2007097006.tif 000007
【手続補正書】
【提出日】平成20年4月30日(2008.4.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
インターフェイスへのパケット送出の制御とメモリへのデータ要求とデータ受取りを管理する複数のコントローラと、前記複数のコントローラのうち、どのコントローラを使用するかを選択する調停手段と、パケット送出先の制御部のBUSY状態を把握するBUSY制御回路と、要求されるデータを格納するメモリを備えていることを特徴とするパケット送出制御装置。
【請求項２】
前記コントローラは、制御信号またはタイミングでもって、ステートを遷移させ、そのステートで行う処理を管理するステートマシーンを有し、該ステートマシーンが前記メモリへの要求のタイミング制御や、データの受取りを行いデータ長やエラーなどを判断して送出するパケットをメモリデータから用意することを特徴とする請求項１記載のパケット送出制御装置。
【請求項３】
前記調停手段は、前記コントローラ、前記メモリ、前記インターフェイスの間に存在し、前記メモリへの要求や前記メモリからのデータ、前記インターフェイスへ送信するデータについて、どのコントローラへ送るか、または使用するかを選択することを特徴とする請求項１記載のパケット送出制御装置。
【請求項４】
前記BUSY制御回路は、前記インターフェイス側から送られてくる信号から、相手側インターフェイスのパケットの処理状態を判断し、BUSYを認識した時は、前記コントローラにデータの送出を止めるよう働き掛けることを特徴とする請求項１記載のパケット送出制御装置。
【請求項５】
調停手段により選択されたコントローラが動作を開始する過程と、データの要求が可能になった時点で、前記コントローラ内のステートマシーンが起動しアイドル状態から第１のステートに遷移して前記コントローラからメモリへ読み出しの要求を送る過程と、前記メモリからの要求許可信号が前記メモリから発行された時に前記ステートマシーンが第１のステートから第２のステートに遷移して前記メモリからデータの受け取り準備をする過程と、前記メモリから読み出されたデータを受け取り、前記ステートマシーンが第２ステートから第３のステートへ遷移することに従い、前記コントローラからインターフェイスにデータを送出する過程と、BUSY制御回路からBUSYが発行された際は、前記インターフェイスへのデータ送出を中断する過程と、
を含むことを特徴とするパケット送出制御方法。
【請求項６】
前記調停手段により選択されなかったコントローラが前記調停手段により選択されたコントローラが動作中に動作を開始する過程と、前記調停手段により選択されなかったコントローラのステートマシーンを起動して読み出し要求を発行するとともに該ステートマシーンがアイドル状態から第１のステートに遷移して待機する過程と、前記メモリからの要求許可信号が発行され、前記調停手段により選択されたコントローラが前記メモリからデータを受け取り終わっていれば、前記調停手段により選択されたコントローラがインターフェイスにデータを送出している最中に、前記調停手段により選択されなかったコントローラが前記メモリからデータを読み出す過程と、
を含むことを特徴とする請求項５記載のパケット送出制御方法。
【国際調査報告】
2007097006.tif 000008
2007097006.tif 000009
2007097006.tif 000010