JP4184723B2 - 相互接続装置、相互接続装置を有する情報処理装置及び制御方法 - Google Patents

相互接続装置、相互接続装置を有する情報処理装置及び制御方法 Download PDF

Info

Publication number
JP4184723B2
JP4184723B2 JP2002192142A JP2002192142A JP4184723B2 JP 4184723 B2 JP4184723 B2 JP 4184723B2 JP 2002192142 A JP2002192142 A JP 2002192142A JP 2002192142 A JP2002192142 A JP 2002192142A JP 4184723 B2 JP4184723 B2 JP 4184723B2
Authority
JP
Japan
Prior art keywords
address
node
decoding unit
register
width
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.)
Expired - Fee Related
Application number
JP2002192142A
Other languages
English (en)
Other versions
JP2003157199A (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.)
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 JP2003157199A publication Critical patent/JP2003157199A/ja
Application granted granted Critical
Publication of JP4184723B2 publication Critical patent/JP4184723B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【0001】
関連出願の相互参照
本願発明は、Jeremy J. Farrell, Kazunori Masuyama, Sudheer MiryalaおよびPatrick N. Conway により2001年6月29日に出願した「マルチ・ノードコンピュータシステムにおけるアドレス空間復号化のためのスケーラブルでフレキシブルな方法」という名称の米国仮特許出願第60/301,771号からの35,U.S.C.§119(e)に基づく優先権を主張するものであり、上記出願の全てを本願発明の全体に亘って取り入れている。
【0002】
【発明の属する技術分野】
本発明は一般的にはマルチ・ノードコンピュータシステムより特定的には、マルチ・ノードコンピュータシステムにおいてメモリ要求の宛先ノードアドレスをデコードするための機構に関する。
【0003】
【従来の技術】
マルチ・ノードコンピュータネットワークは、中央プロセッサユニット(CPU)ノード、メモリノード、入出力(I/O)ノードおよびハイブリッドノード(メモリ、I/OおよびCPUのあらゆる組合せを伴うもの)を含み得る。これらのノードは、アドレスのデコード、すなわちどのノードに要求を転送すべきかの決定を担うシステム相互接続を介して、接続されている。
【0004】
【発明が解決しようとする課題】
マルチ・ノードコンピュータシステムにおいて、メモリは、現在のCPU速度に比べ高い待ち時間(latency)を有する。このことはすなわち、メモリノードが、読取りまたは書込み要求に応答する時間が長いということを意味している。頻繁にみられる別のネックは、最大処理能力、すなわち、単位時間あたりにメモリシステムが提供できるデータの量である。メモリインタリーブは、インタリーブサイズをもって、ノード群に亘り、メモリシステムを分割することによって、マルチ・ノードコンピュータシステムが処理能力を増大させることのできる周知の技術である。例えば、xというインタリーブサイズをもつ4つのメモリノードを有するシステムにおいて、基準アドレス(base address)Bをノード0にマッピングすることができる。アドレスB+xはノード1に、B+2xはノード2に、B+3xはノード3に、B+4xはノード0にそれぞれマッピングされる。こうしてシステムはあらゆるホットメモリスポット(hot memory spot)を回避しながら、システム性能を増大させることができるようになる。
【0005】
マルチ・ノードコンピュータシステムがさらに大きくなるにつれて、多くのノードにアドレス可能であることが重要となる。既存の方法は、システム内の各ノードについて、基準(base)およびサイズ(限界)宣言を必要とする。かくして、システム内にn個のノードが存在する場合、これらはn個の基準レジスタとn個のサイズレジスタを必要とする。ノードの数が増大するにつれて、{基準、サイズ}対を保持するメモリレジスタは直線的に増大し、かくして非常に大容量のチップ資産が必要となる。
【0006】
既存の方法の別の欠点は、要求の宛先ノードアドレスを迅速に決定するために、既存の解決法が多数の絶対値コンパレータ(multimagnitude comparator)を必要とする、という点にある。標準的には、各ノードに対して1つの絶対値コンパレータが存在する。ノードの数が追加されていくにつれて、より多くの{基準、サイズ}対を追加しなくてはならず、より多くの絶対値コンパレータが必要となる。これらの絶対値コンパレータの実現コストは通常非常に高いものである。かくして、既存のデコード方策では、多数のアドレスノードをサポートするのに充分なスケーリングができない。
【0007】
複数ノードを有しかつインタリーブを用いる従来の実現法のさらにもう1つの欠点は、従来のシステムでは、各インタリーブグループについて、固定のインタリーブサイズと限定された数のノード組合せを使用する、という点にある。
【0008】
要約すると、既存のデコード方策では、数多くアドレスノードをサポートするのに充分なスケーリングができない。さらに、既存のアドレスデコード方策は、インタリーブのために異なるサイズを許容しそして種々のインタリーブセットを許容するのに充分なほどにフレキシブルではない。
【0009】
従って、必要なのは、マルチ・ノードコンピュータシステム内でのアドレス空間デコードのための改良された機構である。
【0010】
【課題を解決するための手段】
本発明は、マルチ・ノードコンピュータシステムにおけるアドレス空間デコードのためのシステムを含む。本発明の実施形態によると、マルチ・ノードコンピュータシステムは(図1に示すように)、相互接続(interconnect)により接続された複数の、I/Oノード、CPUノード、メモリノードおよびハイブリッドノードを含む。本発明の一実施形態においては、CPUノードまたはI/Oノードによって発出された要求には、宛先ノードの基準アドレスを格納する基準フィールドと、宛先ノードの論理アドレスを格納する索引フィールドと、メモリノードのアドレス可能空間のサイズを格納する細分化フィールドと、からなるアドレスが含まれる。
【0011】
上記システムはさらに、基準フィールドの幅を用いて、宛先ノードの基準アドレスを抽出するようなアドレスデコーダを含む。アドレスデコーダはまた、索引フィールドおよび細分化フィールドの幅を用いて、宛先ノードの論理アドレスを抽出するようにも構成されている。アドレスデコーダはさらに、基準フィールドの幅を表わす複数ビットを格納するための基準レジスタと、索引アドレスの幅を表わす複数ビットを格納するための索引レジスタと、細分化フィールドの幅を表わす複数ビットを格納するための細分化レジスタと、備える。細分化フィールドの幅は、アドレス内のどこで索引フィールドが始まるかを決定するのに使用される。アドレスデコーダはさらに、システムアドレス空間内のどこにメモリノードがマッピングされるかを表わすプログラミングされた基準オフセットを格納するための基準オフセットレジスタと、データ要求がメモリノードに対し行われているか否かを判定するため、基準アドレスと基準オフセットとを比較するための論理コンパレータと、要求が転送される物理ノードアドレスに対し、抽出された宛先ノードの論理アドレスをマッピングするためのマッピングテーブルと、を備える。
【0012】
本発明はまた、マルチ・ノードコンピュータシステムにおけるアドレス空間デコード方法をも含んでいる。最初に、メッセージドライバは、CPUノードまたはI/Oノードに対して、メモリノードへの要求を発出させる。この要求にはアドレスが含まれている。アドレスデコーダは、基準フィールドの幅を用いて、そのアドレスの基準フィールドを抽出する。その基準アドレスとプログラミングされた基準オフセットとの間で、論理比較が行われる。2つが一致した場合、それはその要求が干渉性(coherent)のあるメモリ要求であること、すなわちそれがメモリノードに対し行われていることを表わす。要求が干渉性のあるメモリ要求である場合、アドレスデコーダは、索引フィールドおよび細分化フィールドの幅を用いて、宛先ノードの論理ノードアドレスを抽出する。マッピングテーブル内で索引することにより、論理ノードアドレスに基づいて物理宛先ノードアドレスが決定される。
【0013】
本発明は有利には、要求の宛先をデコードするために、算術比較を実施する代わりに論理比較を行う。こうして、多数の絶対値コンパレータを有する必要性が回避される。その上、マルチ・ノードコンピュータシステム内のノード数が増大するにつれて、メモリレジスタが直線的に増大することはない。その結果、実現コストは直線的には増大せず、低額にとどまる。
【0014】
【発明の実施の形態】
ここで図1を参照すると、分散形マルチ・ノードコンピュータシステム100の全体的アーキテクチャのブロック図が示されている。システム100には、CPUノード110a〜110n(全体として110)、 メモリノード115a〜115n(全体として115)、 I/Oノード120a〜120n(全体として120)、およびハイブリッドノード105a〜105n(全体として105)といった複数のノードが含まれている。ハイブリッドノード105としては、CPUノード110とメモリノード115とを組合わせることができる。各CPUノード110は、従来の処理ユニット、例えばIntelまたはIntelコンパチブルPentiumTMクラスまたはそれ以上のプロセッサ、Sun SPARCTMクラスまたはそれ以上のプロセッサ、あるいはIBM/Motorola PowerPCTMクラスまたはそれ以上のプロセッサである。各I/Oノード120は、従来のI/Oシステム、例えば記憶デバイス、入力デバイス、周辺デバイスなどである。各メモリノード115は従来のメモリシステム、例えばダイナミックランダムアクセスメモリ(DRAM)システム、スタティックランダムアクセスメモリ(SRAM)システムなどである。CPUノード110、I/Oノード120、ハイブリッドノード105のいずれも、メモリノード115に対し干渉性(coherent)のあるメモリ要求を発出することができる。
【0015】
図1に示すように、システム100内のノード105,110,115および120は、相互接続125を介して接続される。相互接続125は例えば、ルータまたはスイッチを用いて、例えばメッシュ、リングあるいは超立方体(hypercube)型に実装できる。相互接続125は、任意のノード対の間にパスを提供し、システム100内で一方のノードからもう一方のノードへとメッセージをルーティングする。
【0016】
システム100は、アドレス空間を有する。このアドレス空間は、任意の数のノードの間で分割される。このアドレス空間は、メモリノード115にアクセスするための1組のメモリアドレスを提供する。このエリアは、干渉性(coherent)アドレス空間と呼ばれる。干渉性アドレス空間は、複数のメモリウインドウに分割される。システム100の干渉性アドレス空間については、図3に関連して以下でさらに詳述する。
【0017】
ここで図2を参照すると、ここでは、CPUノード110またはI/Oノード120からメモリノード115に対し発出された要求のための好ましいアドレス50のフォーマットを示している。アドレス50には、基準フィールド10、索引フィールド20および細分化フィールド30というフィールドが含まれる。
【0018】
細分化フィールド30は好ましくは、システム100の干渉性(coherent)アドレス空間210における各メモリウインドウ40内に格納されたキャッシュラインの数を示す。細分化フィールドはGビットの幅をもつ。各メモリウインドウ40の中には2Cのキャッシュラインを格納することができる。
【0019】
索引フィールド20は好ましくは、システム100の各ノードの論理アドレス(論理ノードID)を格納する。この索引フィールド20は、アドレス可能なメモリノードの数に基づいて調整可能である。索引フィールド20は、システム100内にわずか1つしかノードがない場合、0ビット幅であり得る。索引フィールド20は、システム100内に2つのノードがある場合、1ビット幅であり得る。同様にして、索引フィールド20は、3〜4つのノードについて2ビット幅、5〜8ノードについて3ビット幅等々、となり得る。
【0020】
基準フィールド10は、基準アドレスを格納する。基準フィールド10の幅は(合計アドレスビット−(索引ビット+細分化ビット))に等しい。基準フィールド10および細分化フィールド30の合計ビット数が、1ノードあたりのアドレス可能空間のサイズを決定する。基準フィールド10内に格納された基準アドレスは、データ要求先のノードの基準アドレスを表わす。以下で詳述するように、基準アドレスは、要求が干渉性メモリ要求であるか否かを判定するために用いられる。
【0021】
ここで図3を参照すると、システム100のアドレス空間200を表している。アドレス空間200は0で出発し、2B+I+Gバイトのサイズを有する。本明細書で使用されているBは基準フィールド10の幅、Iは索引フィールド20の幅、Gは細分化フィールド30の幅(図2に示されているとおり)である。前述のとおり、システムアドレス空間200は、メモリ115にアクセスするための1組のメモリアドレスを提供する。このエリアを干渉性アドレス空間210と呼ぶ。干渉性アドレス空間210は2I+Gバイトのサイズを有する。干渉性アドレス空間210のウインドウ0の底部をポイントする矢印が、アドレス空間200内で干渉性アドレス空間210が開始するアドレスを表わす。このアドレスは、基準オフセットと呼ばれ、図1に示す基準オフセットレジスタ142内に格納される。
【0022】
干渉性アドレス空間210は、2I個のメモリウインドウ40に分割される。干渉性アドレス空間210内の各メモリウインドウ40のサイズは、システム100内のメモリノード115あたりのアドレス可能空間である。各ウィンドウ40内には、2Gのキャッシュラインが格納され得る。一例を挙げると、G=20,I=4,B=8でありキャッシュラインサイズが1Bである場合、システムアドレス空間200内には干渉性アドレス空間210の中に16(24)個のウィンドウ40が存在し得る。このとき各メモリウインドウ40は、1MB(220)のサイズを有することになる。
【0023】
ここで再び図1を参照すると、システム100はさらに、CPUノード110またはI/Oノード120から発出された要求を受信し、その要求の中に含まれるアドレス50の基準フィールド10から基準アドレスを抽出するように構成されたアドレスデコーダ128を備える。アドレスデコーダ128は、基準フィールド10の幅Bに基づいて基準アドレスを抽出する。アドレスデコーダ128はさらに、図2に示されたアドレス50の索引フィールド20から論理ノードアドレスを抽出するようにも構成されている。アドレスデコーダ128は、ソフトウェア、ハードウェアまたはそれらの組合せとして実現され得る。アドレスデコーダ128は好ましくは、基準レジスタ130、索引レジスタ135、細分化レジスタ140、基準オフセットレジスタ142、論理コンパレータ144およびマッピングテーブル145をも備える。
【0024】
基準レジスタ130は好ましくは、図2に示されているメモリ要求のアドレス50における基準フィールド10の基準アドレスを格納するようにプログラミングされたビット数(幅)を規定する。索引レジスタ135は、アドレス50における索引フィールド20によって使用されるビット数を規定する。細分化レジスタ140は、アドレス50における細分化フィールド30によって使用されるビット数を規定する。細分化フィールド30の幅は、どこで索引フィールド20が開始するかを判定するために用いられる。基準レジスタ130、索引レジスタ135および細分化レジスタ140は、システム初期化時にプログラミングされる。
【0025】
基準オフセットレジスタ142は、システムアドレス空間200(図3に示す)内のどこから干渉性(coherent)アドレス空間210が開始するかを示す基準オフセットを格納する。この基準オフセットはプログラミングされた一定値である。
【0026】
論理コンパレータ144は好ましくは、図2に示す基準フィールド10内に格納された基準アドレスと基準オフセットとの間の論理比較を行う。基準アドレスが基準オフセットと一致する場合、それは、要求が干渉性メモリ要求であること、すなわち要求がメモリノード115に対して行われていることを表わしている。算術比較を行う代わりに論理比較を行うことによって、多数の絶対値コンパレータを備える必要がなくなり、有利である。その上、それはシステム100内に追加されるノードの数に応じて増やされる。
【0027】
マッピングテーブル145は好ましくは、システム100内の各ノードについて、物理宛先ノードアドレスに対する論理ノードアドレスのマッピングを格納する。マッピングテーブル145は、DRAM、SRAMまたはそれと同等のものにより実現され得る。マッピングテーブル145の例が、図4に示されている。
【0028】
ここで図4を参照すると、物理ノードIDマッピングテーブル145への論理ノードIDを表している。マッピングテーブル145は、システム100によりサポートされた各ノードについて1つのエントリを格納する。ここで、システム100によってサポートされるノードの数と少なくとも同数のエントリが、マッピングテーブル145内に存在するということを理解すべきである。図4に示すマッピングテーブル145は、2I個のエントリを格納し、ここでIは、図2に示すアドレス50における索引フィールド20の幅を表わす。
【0029】
本発明は好ましくは、システム100内で単一のメモリノード115に対してマッピングされた多数のメモリウインドウを有することによって、かつマッピングテーブル145内に多数対1のマッピングを有することによって、インタリーブをサポートする。
【0030】
ここで図5を参照すると、システム100により実施される要求の宛先ノードアドレスをデコードするための方法のフローチャートが示されている。
【0031】
プロセスは開始し(510)、メッセージドライバ(図示せず)が、CPU110にメモリノード115に対し要求を発出させる。ここで、I/Oノード120もまたメモリノード115に要求を発出できる、ということを理解すべきである。アドレスデコーダ128(図1に示す)は、基準フィールド10、索引フィールド20および細分化フィールド30、の幅を受信する。アドレスデコーダ128は、基準フィールド10の幅Bに基づいて、アドレスの基準フィールド10から基準アドレスを抽出する(530)。アドレスデコーダ128は次に、基準オフセットレジスタ142(図1に示す)内に格納された基準オフセットと基準アドレスとを比較する(540)。これら2つが一致する場合は、要求が干渉性のあるメモリ要求であること、すなわちそれがメモリノードに対し行われていることを表わす。要求が干渉性メモリ要求であると、ひとたび判定されたならば、アドレスデコーダ128は、索引フィールド20の幅に基づいて、アドレスの索引フィールド20から宛先ノードの論理ノードアドレス(論理ノードID)を抽出する(550)。どこで索引フィールドが開始するかを判定するために、アドレスデコーダ128は、細分化フィールド30の幅Gを使用する。
【0032】
次にアドレスデコーダ128は、宛先ノードのための物理ノードアドレスを決定すべく(555)、論理ノードIDに基づいてマッピングテーブル145を索引し、プロセスは570で終了する。一例を挙げると、I=4である場合、アドレスデコーダ128は、索引フィールド20内に格納された4ビットの論理ノードIDを抽出する。論理ノードIDが、例えばディジタル数「3」の論理表現である「0011」である場合、論理ノードID「3」に基づいてマッピングテーブル145を索引することにより、アドレスデコーダ128は、その要求がルーティングされる物理ノードIDを決定することができる。
【0033】
逆に、基準アドレスと基準オフセットレジスタ142とが一致しない場合、当該要求は干渉性メモリ要求ではない(580)。
【0034】
本発明の一実施形態では、マッピングテーブルを用いて、与えられた論理アドレスに対する宛先ノードアドレスを導出するためのデコードメカニズムを利用する。物理宛先ノードアドレスを決定するために算術比較の代わりに論理比較を行うことによって、多くの絶対値比較を有する必要性はなくなる。マルチ・ノードコンピュータシステム内のノード数が増大するにつれて、メモリレジスタが直線的に増加することはない。その結果、実現コストは直線的には増大せず、低額にとどまる。
【0035】
本発明による好ましい実施形態は以下の通りである。
【0036】
(付記1) 相互接続によって接続されたI/Oノード、CPUノードおよびメモリノードを含むマルチ・ノードコンピュータシステムにおける、データ要求の宛先ノードアドレスを決定する方法であって、
アドレスを含むデータ要求を受信する段階と、
前記アドレスから宛先ノードの基準アドレスを抽出する段階と、
前記メモリノードがシステムアドレス空間内のどこにマッピングされているかを示す基準オフセットと、前記基準アドレスとを比較する段階と、
前記基準アドレスが前記基準オフセットと一致したことに応答して、
前記アドレスから論理ノードアドレスを抽出する段階と、
前記論理ノードアドレスに基づいて前記要求の物理宛先ノードアドレスを決定する段階と、
を有することを特徴とする方法。
【0037】
(付記2) 前記基準アドレスが、前記基準フィールドの幅を用いて抽出される付記1に記載の方法。
【0038】
(付記3) 前記論理ノードアドレスが、索引フィールドの幅を用いて抽出される付記1に記載の方法。
【0039】
(付記4) アドレスを含むデータ要求を受信し、宛先ノードの基準アドレスと論理ノードアドレスとを前記アドレスから抽出するためのアドレスデコーダと、
前記抽出された基準アドレスと、システムアドレス空間内のどこに前記メモリノードがマッピングされるかを示す基準オフセットとの間の論理比較を行うための、前記アドレスデコーダ内にあるコンパレータと、
前記データ要求の物理宛先ノードアドレスに前記論理ノードアドレスをマッピングするための、前記アドレスデコーダ内にあるマッピングテーブルと、
を備えることを特徴とするマルチ・ノードコンピュータシステム。
【0040】
(付記5) 前記アドレスデコーダがさらに、前記基準オフセットを格納するための基準オフセットレジスタを備える付記4に記載のシステム。
【0041】
(付記6) 前記基準オフセットが、プログラミングされた一定値である付記5に記載のシステム。
【0042】
(付記7) 前記基準アドレスが前記アドレスの基準フィールド内に格納されており、また前記アドレスデコーダがさらに前記基準フィールドの幅を示すための基準レジスタを備える付記4に記載のシステム。
【0043】
(付記8) 前記アドレスデコーダが、前記基準フィールドの幅に基づいて前記基準アドレスを抽出する付記7に記載のシステム。
【0044】
(付記9) 前記論理ノードアドレスが前記アドレスの索引フィールド内に格納され、また前記アドレスデコーダがさらに、前記索引フィールドの幅を示すための索引レジスタを備える付記4に記載のシステム。
【0045】
(付記10) 前記アドレスデコーダが、前記索引フィールドの幅に基づいて前記論理ノードアドレスを抽出する付記9に記載のシステム。
【0046】
(付記11) 前記アドレスがさらに、前記メモリノードのアドレス可能空間のサイズを示す細分化フィールドを含んでなる付記4に記載のシステム。
【図面の簡単な説明】
【図1】本発明の実施形態による分散型マルチ・ノードコンピュータシステムの全体的アーキテクチャのブロック図である。
【図2】メモリ要求のアドレスの好ましいフォーマットを表す図である。
【図3】システムアドレスマップ内の干渉性アドレス空間を表す図である。
【図4】本発明の実施形態による物理ノードアドレスマッピングテーブルへの論理ノードアドレスのブロック図である。
【図5】図1のシステムによって実施される方法のフローチャートである。
【符号の説明】
10…基準フィールド
20…索引フィールド
30…細分化フィールド
40…メモリウィンドウ
100…分散形マルチ・ノードコンピュータシステム
105…ハイブリッドノード
110…中央プロセッサユニット(CPU)ノード
120…入出力(I/O)ノード
125…相互接続
128…アドレスデコーダ
130…基準レジスタ
135…索引レジスタ
140…細分化レジスタ
142…基準オフセットレジスタ
144…論理コンパレータ
145…マッピングテーブル
200…アドレス空間
210…干渉性アドレス空間

Claims (9)

  1. 演算処理を行うCPUノードと、入出力処理を行うI/Oノードと、複数のメモリノードと、アドレスデコード部と記憶部を有し全ての前記ノードに接続された相互接続装置を有する情報処理装置におけるいずれかのCPUノード又はI/Oノードからいずれかのメモリノードを宛先とするデータ要求の制御方法において、
    前記アドレスデコード部が、前記宛先となるメモリノードに対して送信された、アドレスを含むデータ要求を受信するステップと、
    前記受信したデータ要求に含まれるアドレスから、前記アドレスデコード部が、前記宛先となるメモリノードの基準アドレスを抽出するステップと、
    前記アドレスデコード部が、前記宛先となるメモリノードがシステムアドレス空間のどこにマッピングされているかを示す基準オフセットと、前記基準アドレスとを比較するステップと、
    前記基準アドレスが前記基準オフセットと一致した場合には、前記アドレスデコード部が、前記アドレスから前記宛先となるメモリノードを特定する論理ノードアドレスを抽出するステップと、
    前記アドレスデコード部が、前記論理ノードアドレスと物理宛先ノードアドレスとの対応関係を表し、前記記憶部に保持されたマッピングテーブルを用いて、前記データ要求の物理宛先ノードアドレスを決定するステップを有することを特徴とする制御方法。
  2. 前記アドレスデコード部は、前記基準アドレスの幅を表す基準アドレス幅情報を格納する基準レジスタを有し、
    前記アドレスデコード部が、前記データ要求に含まれる前記アドレスから前記基準アドレスを抽出するステップは、前記基準レジスタに格納された前記基準アドレス幅情報を用いて、前記アドレスから抽出するステップであることを特徴とする請求項1記載の制御方法。
  3. 前記アドレスデコード部はさらに、前記論理ノードアドレスの幅を表す索引アドレス幅情報を格納する索引レジスタと、前記メモリノードのアドレス空間の大きさを示す細分化アドレスの幅を表す細分化アドレス幅情報を格納する細分化レジスタを有し、
    前記アドレスデコード部が、前記データ要求に含まれる前記アドレスから前記論理ノードアドレスを抽出するステップは、前記細分化レジスタに格納された前記細分化アドレス幅情報を用いて、前記アドレスから抽出するステップであることを特徴とする請求項2記載の制御方法。
  4. 演算処理を行うCPUノードと、入出力処理を行うI/Oノードと、複数のメモリノードと、全ての前記ノードに接続された相互接続装置を有する情報処理装置において、
    前記相互接続装置は、
    いずれかの前記CPUノード又はI/Oノードからいずれかのメモリノードを宛先として送信されたデータ要求を受信し、前記受信されたデータ要求に含まれるアドレスから、前記宛先となるメモリノードの基準アドレスを抽出するアドレスデコード部であって、
    前記宛先となるメモリノードがシステムアドレス空間のどこにマッピングされているかを示す基準オフセットを格納する基準オフセットレジスタと、
    前記基準アドレスと、前記基準オフセットレジスタに格納された前記基準オフセットとを比較するとともに、前記基準アドレスが前記基準オフセットと一致した場合には、前記アドレスから前記宛先となるメモリノードの論理ノードアドレスを抽出するコンパレータと、
    前記論理ノードアドレスと物理宛先ノードアドレスとの対応関係を表し、前記記憶部に保持されたマッピングテーブルと、を有する前記アドレスデコード部を備えたことを特徴とする情報処理装置。
  5. 前記アドレスデコード部はさらに、前記基準アドレスの幅を表す基準アドレス幅情報を格納する基準レジスタを有し、
    前記アドレスデコード部は、前記基準レジスタに格納された前記基準アドレス幅情報を用いて、前記アドレスから抽出することを特徴とする請求項4記載の情報処理装置。
  6. 前記アドレスデコード部はさらに、前記論理ノードアドレスの幅を表す索引アドレス幅情報を格納する索引レジスタと、前記メモリノードのアドレス空間の大きさを示す細分化アドレスの幅を表す細分化アドレス幅情報を格納する細分化レジスタを有し、
    前記アドレスデコード部は、前記細分化レジスタに格納された前記細分化アドレス幅情報を用いて、前記アドレスから抽出することを特徴とする請求項5記載の情報処理装置。
  7. 演算処理を行うCPUノードと、入出力処理を行うI/Oノードと、複数のメモリノードと、全ての前記ノードに接続された相互接続装置において、
    前記相互接続装置は、
    いずれかの前記CPUノード又はI/Oノードからいずれかのメモリノードを宛先として送信されたデータ要求を受信し、前記受信されたデータ要求に含まれるアドレスから、前記宛先となるメモリノードの基準アドレスを抽出するアドレスデコード部であって、
    前記宛先となるメモリノードがシステムアドレス空間のどこにマッピングされているかを示す基準オフセットを格納する基準オフセットレジスタと、
    前記基準アドレスと、前記基準オフセットレジスタに格納された前記基準オフセットとを比較するとともに、前記基準アドレスが前記基準オフセットと一致した場合には、前記アドレスから前記宛先となるメモリノードの論理ノードアドレスを抽出するコンパレータと、
    前記論理ノードアドレスと物理宛先ノードアドレスとの対応関係を表し、前記記憶部に保持されたマッピングテーブルと、を有する前記アドレスデコード部を備えたことを特徴とする相互接続装置。
  8. 前記アドレスデコード部はさらに、前記基準アドレスの幅を表す基準アドレス幅情報を格納する基準レジスタを有し、
    前記アドレスデコード部は、前記基準レジスタに格納された前記基準アドレス幅情報を用いて、前記アドレスから抽出することを特徴とする請求項7記載の相互接続装置。
  9. 前記アドレスデコード部はさらに、前記論理ノードアドレスの幅を表す索引アドレス幅情報を格納する索引レジスタと、前記メモリノードのアドレス空間の大きさを示す細分化アドレスの幅を表す細分化アドレス幅情報を格納する細分化レジスタを有し、
    前記アドレスデコード部は、前記細分化レジスタに格納された前記細分化アドレス幅情報を用いて、前記アドレスから抽出することを特徴とする請求項8記載の相互接続装置。
JP2002192142A 2001-06-29 2002-07-01 相互接続装置、相互接続装置を有する情報処理装置及び制御方法 Expired - Fee Related JP4184723B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US30177501P 2001-06-29 2001-06-29
US60/301775 2001-06-29
US10/153,480 US6742101B2 (en) 2001-06-29 2002-05-21 Scalable and flexible method for address space decoding in a multiple node computer system
US10/153480 2002-05-21

Publications (2)

Publication Number Publication Date
JP2003157199A JP2003157199A (ja) 2003-05-30
JP4184723B2 true JP4184723B2 (ja) 2008-11-19

Family

ID=26850594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002192142A Expired - Fee Related JP4184723B2 (ja) 2001-06-29 2002-07-01 相互接続装置、相互接続装置を有する情報処理装置及び制御方法

Country Status (2)

Country Link
US (1) US6742101B2 (ja)
JP (1) JP4184723B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6766360B1 (en) 2000-07-14 2004-07-20 Fujitsu Limited Caching mechanism for remote read-only data in a cache coherent non-uniform memory access (CCNUMA) architecture
US6754776B2 (en) 2001-05-17 2004-06-22 Fujitsu Limited Method and system for logical partitioning of cache memory structures in a partitoned computer system
US6961761B2 (en) * 2001-05-17 2005-11-01 Fujitsu Limited System and method for partitioning a computer system into domains
US7380001B2 (en) * 2001-05-17 2008-05-27 Fujitsu Limited Fault containment and error handling in a partitioned system with shared resources
US6862634B2 (en) 2001-06-29 2005-03-01 Fujitsu Limited Mechanism to improve performance in a multi-node computer system
US6996582B2 (en) * 2002-10-03 2006-02-07 Hewlett-Packard Development Company, L.P. Virtual storage systems and virtual storage system operational methods
US7287128B1 (en) 2005-01-25 2007-10-23 Seagate Technology Llc Write on reference mesh
US8122208B2 (en) * 2009-03-25 2012-02-21 Dell Products L.P. System and method for memory architecture configuration
GB2540949B (en) * 2015-07-31 2019-01-30 Arm Ip Ltd Probabilistic Processor Monitoring
US10019380B2 (en) * 2015-09-25 2018-07-10 Qualcomm Incorporated Providing memory management functionality using aggregated memory management units (MMUs)
US9971685B2 (en) * 2016-04-01 2018-05-15 Intel Corporation Wear leveling based on a swapping operation between sets of physical block addresses of a non-volatile memory

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7213081B2 (en) * 2001-06-29 2007-05-01 Fujitsu Limited Dynamic determination of memory mapped input output range granularity for multi-node computer system
US6862634B2 (en) * 2001-06-29 2005-03-01 Fujitsu Limited Mechanism to improve performance in a multi-node computer system

Also Published As

Publication number Publication date
JP2003157199A (ja) 2003-05-30
US20030005156A1 (en) 2003-01-02
US6742101B2 (en) 2004-05-25

Similar Documents

Publication Publication Date Title
US6862634B2 (en) Mechanism to improve performance in a multi-node computer system
KR920005280B1 (ko) 고속 캐쉬 시스템
KR880000299B1 (ko) 캐쉬장치
US6236658B1 (en) Method and apparatus for message routing, including a content addressable memory
US6185654B1 (en) Phantom resource memory address mapping system
US6389507B1 (en) Memory device search system and method
US7093079B2 (en) Snoop filter bypass
US6243794B1 (en) Data-processing system with CC-NUMA (cache-coherent, non-uniform memory access) architecture and remote cache incorporated in local memory
JP3996454B2 (ja) 分割サーバにおけるドメイン間低オーバヘッドメッセージ受渡しのためのシステム及び方法
JP4184723B2 (ja) 相互接続装置、相互接続装置を有する情報処理装置及び制御方法
US6662276B2 (en) Storing directory information for non uniform memory architecture systems using processor cache
US20040221128A1 (en) Virtual to physical memory mapping in network interfaces
JP2002073412A (ja) メモリへのアクセス方法及びメモリ
US7970980B2 (en) Method and apparatus for accessing memory in a computer system architecture supporting heterogeneous configurations of memory structures
JP4041402B2 (ja) サイクルあたりの多重キャッシュライン無効化をサポートするための方法および装置
US6671792B1 (en) Share masks and alias for directory coherency
JP2561261B2 (ja) バッファ記憶アクセス方法
JP2008511882A (ja) 一意のタスク識別子を用いてデータを共用する仮想アドレス・キャッシュ及び方法
JP4343377B2 (ja) 連想メモリ
Kim et al. A high-bandwidth PCM-based memory system for highly available IP routing table lookup
JP2004265528A (ja) 連想メモリ
US6742077B1 (en) System for accessing a memory comprising interleaved memory modules having different capacities
WO2015067195A1 (zh) 一种可重构缓存组织结构
JP2710580B2 (ja) キャッシュメモリ装置
JP2003216489A (ja) 分散共有メモリ装置及び分散処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080418

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: 20080805

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080904

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110912

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120912

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130912

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees