(57)【要約】コンピュータシステムは、複数のメモリモジュールに結合されたメモリハブ制御装置を含む。メモリハブ制御装置はメモリ要求および対応する要求識別子をメモリモジュールに結合させるメモリ要求キューを含む。メモリモジュールのそれぞれは、メモリ要求に基づいたメモリ装置にアクセスし、対応するメモリ要求がサービスされるとき、要求識別子から応答ステータス信号を生成する。これら応答ステータス信号は、メモリモジュールから、任意の読み出しデータとともに、または任意の読み出しデータから分離して、メモリハブ制御装置に結合される。メモリハブ制御装置は、応答ステータス信号を用いて、メモリモジュールへのメモリ要求の結合を制御し、それによってメモリモジュールのそれぞれにおいて未解決のメモリ要求の数を制御する。
2005537543.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリ装置と、
メモリハブとを備えた、メモリモジュールであって、
該メモリハブは、
入力ポートを介して受信した少なくとも１つのメモリ要求を格納しているメモリ要求キューであって、該メモリ要求キューは、該メモリ装置に結合され、該メモリ要求キューに格納された各メモリ要求を該メモリ装置に送信し、該メモリ要求キューは、該メモリ装置に送信された各読み出しメモリ要求を識別するそれぞれの読み出し放出信号を出力し、該メモリ装置に送信された各書き込みメモリ要求を識別するそれぞれの書き込み放出信号を出力するように動作可能である、メモリ要求キューと、
該メモリ要求キューに結合されたフロー制御部であって、該フロー制御部は、該読み出し放出信号と該書き込み放出信号とを該メモリ要求キューから受信するように動作可能であり、該フロー制御部は、該放出信号に応じてステータス信号を出力するように動作可能である、フロー制御部と、
該メモリ装置に結合されたメモリ読み出しキューであって、該メモリ読み出しキューは、該メモリ装置から読み出しデータを受信し、出力ポートに結合させるために該読み出しデータを格納する、メモリ読み出しキューと、
各書き込みメモリ要求は該メモリ要求キューから該メモリ装置に結合されたことを示す信号を受信するように結合されたメモリ書き込みキューであって、該メモリ書き込みキューは、書き込み要求が該メモリ装置に送信されたことを示す信号を格納する、メモリ書き込みキューと、
該フロー制御部と、該メモリ読み出しキューと、該メモリ書き込みキューとに結合された応答発生装置であって、該応答発生装置は、該読み出しデータキューからの該読み出しデータと、該フロー制御部からのステータス信号に対応する読み出しステータス信号とを含む、各読み出し応答を出力ポートから生成および送信するように動作可能であり、該応答発生装置はさらに、該フロー制御部からのステータス信号に対応する書き込みステータス信号を含む、各書き込み応答を該出力ポートから送信するように動作可能である、応答発生装置と、
を備えた、メモリモジュール。
【請求項２】
前記メモリ装置は、それぞれのダイナミックランダムアクセスメモリ装置を備えた、請求項１に記載のメモリモジュール。
【請求項３】
前記メモリハブにおける前記メモリ要求キューの前記入力ポートと、該メモリハブにおける前記応答発生装置の前記出力ポートとは、それぞれ光入力ポートと光出力ポートとを備えた、請求項１に記載のメモリモジュール。
【請求項４】
前記メモリ要求キューは、読み出しメモリ要求および書き込みメモリ要求の双方を同時に格納するように動作可能である、請求項１に記載のメモリモジュール。
【請求項５】
前記読み出し放出信号は、各読み出し要求を前記メモリ装置に送信する前記メモリ要求キューに対応して、前記フロー制御部に結合され、かつ、前記書き込み放出信号は、各書き込み要求を該メモリ装置に送信する該メモリ要求キューに対応して、該フロー制御部に結合される、請求項１に記載のメモリモジュール。
【請求項６】
前記フロー制御部は、各読み出し放出信号に対応する読み出しステータス信号を出力するように動作可能であり、各読み出しステータス信号はそれぞれの読み出し要求を一意に識別し、かつ、該フロー制御部は、各書き込み放出信号に対応する書き込みステータス信号を出力するように動作可能であり、各書き込みステータス信号はそれぞれの書き込み要求を一意に識別する、請求項５に記載のメモリモジュール。
【請求項７】
前記応答発生装置は、前記書き込みステータス信号、または前記読み出しデータと該書き込みステータス信号との組み合わせのどちらか一方を含む、書き込み応答信号を生成して出力ポートから送信するように動作可能である、請求項１に記載のメモリモジュール。
【請求項８】
前記応答発生装置は、読み出しデータおよび前記読み出しステータス信号、または読み出しデータ、該読み出しステータス信号および前記書き込みステータス信号のどちらか一方を含む、読み出し応答信号を生成して出力ポートから送信するように動作可能である、請求項１に記載のメモリモジュール。
【請求項９】
前記応答発生装置はさらに、前記読み出しデータなしで前記書き込みステータス信号を含む、書き込み応答信号を生成して出力ポートから送信するように動作可能である、請求項８に記載のメモリモジュール。
【請求項１０】
メモリハブ制御装置であって、
入力ポートを介して受信した少なくとも１つのメモリ要求を格納しているメモリ要求キューであって、該メモリ要求キューは、フロー制御信号に対応して該メモリ要求キューに格納された各メモリ要求を出力ポートから発行するように動作可能である、メモリ要求キューと、
各読み出しデータと、該読み出しデータに対応する読み出し要求を識別する読み出しステータス信号とを含む、読み出し応答を、入力ポートを介して受信するように結合された応答キューであって、該応答キューはさらに、サービスされた書き込み要求を識別する各書き込み応答を該入力ポートを介して受信するように結合され、該応答キューは、各読み出し応答信号から少なくとも該読み出しデータをデータ出力ポートに結合させ、かつ、各読み出し応答から該読み出しステータス信号と、各書き込み応答から該書き込みステータス信号とをフロー制御部に結合させるように動作可能である、応答キューと、
該読み出しステータス信号および該書き込みステータス信号を該応答キューから受信するように結合されたフロー制御部であって、該フロー制御部は、該ステータス信号から該メモリ要求キューによって発行された未解決のメモリ要求の数を判断し、かつ、該メモリ要求キューから発行された未解決のメモリ要求の数に基づく該メモリモジュールのそれぞれに、追加メモリ要求が送信され得ることを示すフロー制御信号を生成して該メモリ要求キューに結合させるように動作可能である、フロー制御部と
を備えた、メモリハブ制御装置。
【請求項１１】
前記メモリ要求キューはさらに、前記出力ポートから各メモリ要求とともに、前記それぞれのメモリ要求を一意に識別する要求識別を発行するように動作可能である、請求項１０に記載のメモリハブ制御装置。
【請求項１２】
前記フロー制御部は、各メモリ要求のための前記要求識別を生成して前記メモリ要求キューに結合させるように動作可能であり、かつ、該フロー制御部はさらに、該メモリ要求キューに結合された該要求識別と、前記応答キューから受信した前記読み出しステータス信号および前記書き込みステータス信号との比較に基づいて、前記フロー制御信号を生成するように動作可能である、請求項１１に記載のハブモジュール制御装置。
【請求項１３】
前記メモリ要求キューの前記出力ポートおよび前記応答キューの前記入力ポートは、それぞれ光出力ポートと光入力ポートとを備えた、請求項１１に記載のメモリハブ制御装置。
【請求項１４】
前記メモリ要求キューは、読み出しメモリ要求および書き込みメモリ要求の双方を同時に格納するように動作可能である、請求項１１に記載のメモリハブ制御装置。
【請求項１５】
複数のメモリモジュールと、
メモリハブ制御装置と
を備えた、メモリシステムであって、
該メモリモジュールのそれぞれは、
複数のメモリ装置と、
入力ポートを介して受信した少なくとも１つのメモリ要求を格納しているメモリ要求キューであって、該メモリ要求キューは、該メモリ装置に結合されることにより、該メモリ要求キューに格納された各メモリ要求を該メモリ装置に送信し、該メモリ要求キューは、該メモリ装置に送信された各読み出しメモリ要求を識別するそれぞれの読み出し放出信号を出力し、かつ、該メモリ装置に送信された各書き込みメモリ要求を識別するそれぞれの書き込み放出信号を出力するように動作可能である、メモリ要求キューと、
該メモリ要求キューに結合されたフロー制御部であって、該フロー制御部は、該読み出し放出信号と該書き込み放出信号とを該メモリ要求キューから受信するように動作可能であり、該フロー制御部は、該読み出し放出信号と該書込み放出信号とに応じたステータス信号を出力するように動作可能である、フロー制御部と、
該メモリ装置に結合されたメモリ読み出しキューであって、該メモリ読み出しキューは、該メモリ装置から読み出しデータを受信し、かつ、出力ポートに結合させるために該読み出しデータを格納する、メモリ読み出しキューと、
各書き込みメモリ要求は該メモリ要求キューから該メモリ装置に結合されたことを示す信号を受信するよう結合されたメモリ書き込みキューであって、該メモリ書き込みキューは、出力ポートに結合させるために該信号を格納する、メモリ書き込みキューと、
該フロー制御部と、該メモリ読み出しキューと、該メモリ書き込みキューとに結合された応答発生装置であって、該応答発生装置は、該読み出しデータキューからの該読み出しデータと、該フロー制御部からのステータス信号に対応する読み出しステータス信号とを含む、各読み出し応答を出力ポートから生成および送信するように動作可能であり、該応答発生装置はさらに、該フロー制御部からのステータス信号に対応する書き込みステータス信号を含む、各書き込み応答を該出力ポートから送信するように動作可能である、応答発生装置と、
を備え、
該メモリハブ制御装置は、
入力ポートを介して受信した少なくとも１つのメモリ要求を格納しているメモリ要求キューであって、該メモリ要求キューは、該メモリモジュールのそれぞれの該メモリ要求キューに結合されることにより、フロー制御信号に対応して、該メモリ要求キューに格納された各メモリ要求を該メモリモジュールのうち少なくとも１つに送信する、メモリ要求キューと、
該メモリモジュールのそれぞれにおける該応答発生装置に結合された応答キューであって、該応答キューは、該メモリモジュールにおける該応答発生装置から該読み出し応答と該書き込み応答とを受信するように結合され、該応答キューは、各読み出しから応答から少なくとも該読み出しデータをデータ出力ポートに結合させ、かつ、各読み出し応答から該読み出しステータス信号と、各書き込み応答から該書き込みステータス信号とをフロー制御ポートに結合させるように動作可能である、応答キューと、
該読み出しステータス信号と該書き込みステータス信号とを、該メモリハブ制御装置の該応答キューから受信するように結合されたフロー制御部であって、該フロー制御部は、該ステータス信号から該メモリモジュールのそれぞれにおける未解決のメモリ要求の数を判断し、かつ、該メモリモジュールのそれぞれにおける未解決のメモリ要求の数に基づく該メモリモジュールのそれぞれに、追加メモリ要求が送信され得ることを示すフロー制御信号を生成して該メモリハブ制御装置の該メモリ要求キューに結合させるように動作可能である、フロー制御部と
を備えた、メモリシステム。
【請求項１６】
前記メモリ装置は、それぞれのダイナミックランダムアクセスメモリ装置を備えた、請求項１５に記載のメモリシステム。
【請求項１７】
前記メモリハブ制御装置における前記メモリ応答キューの入力ポートおよび前記メモリモジュールにおける各メモリ要求キューの入力ポートは、それぞれ光入力ポートを備え、該メモリハブ制御装置における該メモリ要求キューの出力ポートおよび該メモリモジュールにおける各メモリ応答発生装置の出力ポートは、それぞれ光出力ポートを備えた、請求項１５に記載のメモリシステム。
【請求項１８】
前記メモリハブ制御装置および前記メモリモジュールのそれぞれにおける該メモリ要求キューは、読み出しメモリ要求と書き込みメモリ要求との双方を同時に格納するように動作可能である、請求項１５に記載のメモリシステム。
【請求項１９】
前記読み出し放出信号は、各メモリモジュールにおける前記フロー制御部に、該メモリモジュールにおける該メモリ要求キューに対応して結合され、該メモリモジュールにおける前記メモリ装置に各読み出し要求を送信し、かつ、前記書き込み放出信号は、各メモリモジュールにおける該フロー制御部に、該メモリモジュールにおける該メモリ要求キューに対応して結合され、該メモリモジュールにおける該メモリ装置に各書き込み要求を送信する、請求項１５に記載のメモリシステム。
【請求項２０】
各メモリモジュールにおける前記フロー制御部は、各読み出し放出信号に対応する読み出しステータス信号を出力するように動作可能であり、各読み出しステータス信号はそれぞれの読み出し要求を一意に識別し、かつ、各メモリモジュールにおける該フロー制御部は、各書き込み放出信号に対応する書き込みステータス信号を出力するように動作可能であり、各書き込みステータス信号はそれぞれの書き込み要求を一意に識別する、請求項１９に記載のメモリシステム。
【請求項２１】
各メモリモジュールにおける前記応答発生装置は、前記書き込みステータス信号、または前記読み出しデータと該書き込みステータス信号との組み合わせのどちらか一方を含む、書き込み応答を生成して出力ポートから送信するように動作可能である、請求項１９に記載のメモリシステム。
【請求項２２】
各メモリモジュールにおける前記応答発生装置は、読み出しデータおよび前記読み出しステータス信号、または読み出しデータ、該読み出しステータス信号および前記書き込みステータス信号のどちらか一方を含む、読み出し応答を生成して出力ポートから送信するように動作可能である、請求項１５に記載のメモリシステム。
【請求項２３】
前記応答発生装置はさらに、前記読み出しデータなしで前記書き込みステータス信号を含む、書き込み応答を生成して出力ポートから送信するように動作可能である、請求項２２に記載のメモリシステム。
【請求項２４】
前記メモリハブ制御装置における前記メモリ要求キューはさらに、前記出力ポートから各メモリ要求とともに、該メモリ要求のそれぞれを一意に識別する要求識別を発行するように動作可能である、請求項１５に記載のメモリシステム。
【請求項２５】
前記メモリハブ制御装置における前記フロー制御部は、各メモリ要求のための前記要求識別を生成して前記メモリ要求キューに結合させるように動作可能である、請求項１５に記載のメモリシステム。
【請求項２６】
前記メモリハブ制御装置における前記フロー制御部はさらに、前記メモリ要求キューに結合された前記要求識別と、前記応答キューから受信した前記読み出しステータス信号および前記書き込みステータス信号との比較に基づいて、前記フロー制御信号を生成するように動作可能である、請求項２５に記載のメモリシステム。
【請求項２７】
複数のメモリ要求を格納して、受信したメモリ要求ステータス信号の関数として生成されたフロー制御信号に応答して、格納されたメモリ要求のそれぞれを出力しているメモリハブ制御装置であって、該メモリハブ制御装置はさらに、読み出しデータおよび該メモリ要求ステータス信号を受信して格納し、該メモリハブ制御装置は、該格納された読み出しデータを出力する、メモリハブ制御装置と、
該メモリハブ制御装置に結合された複数のメモリモジュールとを備えた、メモリシステムであって、
該メモリモジュールのそれぞれは、
複数のメモリ装置と、
該メモリハブ制御装置から出力される該メモリ要求を受信するように結合されたメモリハブであって、該メモリハブは、該受信したメモリ要求を格納し、該格納されたメモリ要求に対応するメモリ要求信号を該メモリモジュールにおける該メモリ装置に結合させ、該メモリハブは、該メモリ装置から読み出しデータを受信し、該読み出しデータを該メモリ要求ステータス信号とともに該メモリハブ制御装置に結合させ、該メモリ要求ステータス信号は、該メモリハブに結合された該メモリ装置によってサービスされた該メモリ要求を識別する、メモリハブと
を備えた、メモリシステム。
【請求項２８】
前記メモリハブ制御装置に格納され、かつ、該メモリハブ制御装置から出力された前記メモリ要求は、読み出しメモリ要求と書き込みメモリ要求とを備えた、請求項２７に記載のメモリシステム。
【請求項２９】
前記メモリハブ制御装置は、前記メモリ要求を格納し、前記フロー制御信号に応答して前記メモリ要求キューから該メモリ要求を出力する、メモリ要求キューを備えた、請求項２７に記載のメモリシステム。
【請求項３０】
前記メモリハブ制御装置はさらに、各メモリ要求とともに、該メモリ要求それぞれを一意に識別する要求識別子を出力するように動作可能である、請求項２７に記載のメモリシステム。
【請求項３１】
前記メモリハブ制御装置は、前記受信したメモリ要求ステータス信号を前記要求識別子と比較することによって、前記フロー制御信号を生成するように動作可能である、請求項３０に記載のメモリシステム。
【請求項３２】
前記メモリハブは、前記メモリハブ制御装置から受信した前記要求識別子から前記メモリ要求ステータス信号を生成するように動作可能である、請求項３１に記載のメモリシステム。
【請求項３３】
前記メモリハブは、読み出し要求のステータス、書き込み要求のステータスおよび読み出し要求と書き込み要求と両方のステータスを示す、前記メモリ要求ステータス信号とともに、前記読み出しデータを前記メモリハブ制御装置に結合させるように動作可能である、請求項３２に記載のメモリシステム。
【請求項３４】
前記メモリ装置は、ダイナミックランダムアクセスメモリ装置を備えた、請求項２７に記載のメモリシステム。
【請求項３５】
中央演算処理装置（「ＣＰＵ」）と、
該ＣＰＵに結合されたシステム制御装置であって、該システム制御装置は、入力ポートと出力ポートとを有する、システム制御装置と、
該システム制御装置から該ＣＰＵに結合された入力装置と、
該システム制御装置から該ＣＰＵに結合された出力装置と、
該システム制御装置から該ＣＰＵに結合された蓄積装置と、
複数のメモリ要求を格納し、かつ、受信したメモリ要求ステータス信号の関数として生成されたフロー制御信号に対応して格納されたメモリ要求のそれぞれを出力しているメモリハブ制御装置であって、該メモリハブ制御装置はさらに、読み出しデータと該メモリ要求ステータス信号とを受信および格納し、該メモリハブ制御装置は、該格納された読み出しデータを出力する、メモリハブ制御装置と、
該メモリハブ制御装置に結合された複数のメモリモジュールとを備えた、コンピュータシステムであって、
該メモリモジュールのそれぞれは、
複数のメモリ装置と、
該メモリハブ制御装置から出力された該メモリ要求を受信するように結合されたメモリハブであって、該メモリハブは、該受信したメモリ要求を格納し、かつ、該格納したメモリ要求に対応するメモリ要求信号を該メモリモジュールにおける該メモリ装置に結合させ、該メモリハブは、読み出しデータを該メモリ装置から受信し、かつ、該読み出しデータを該メモリ要求ステータス信号とともに該メモリハブ制御装置に結合させるように動作可能であり、該メモリ要求ステータス信号は、該メモリハブに結合された該メモリ装置によってサービスされた該メモリ要求を識別する、メモリハブと
を備えた、コンピュータシステム。
【請求項３６】
前記メモリハブ制御装置に格納され、かつ、該メモリハブ制御装置から出力された前記メモリ要求は、読み出しメモリ要求と書き込みメモリ要求とを備えた、請求項３５に記載のコンピュータシステム。
【請求項３７】
前記メモリハブ制御装置は、前記メモリ要求を格納し、かつ、前記フロー制御信号に対応して前記メモリ要求キューから前記メモリ要求を出力するメモリ要求キューを備えた、請求項３５に記載のコンピュータシステム。
【請求項３８】
前記メモリハブ制御装置はさらに、各メモリ要求とともに、該メモリ要求それぞれを一意に識別する要求識別子を出力するように動作可能である、請求項３５に記載のコンピュータシステム。
【請求項３９】
前記メモリハブ制御装置は、前記受信したメモリ要求ステータス信号を前記要求識別子と比較することによって前記フロー制御信号を生成するように動作可能である、請求項３８に記載のコンピュータシステム。
【請求項４０】
前記メモリハブは、前記メモリハブ制御装置から受信した前記要求識別子から前記メモリ要求ステータス信号を生成するように動作可能である、請求項３９に記載のコンピュータシステム。
【請求項４１】
前記メモリハブは、読み出し要求のステータス、書き込み要求のステータスおよび読み出し要求と書き込み要求と両方のステータスを示す、前記メモリ要求ステータス信号とともに、前記読み出しデータを前記メモリハブ制御装置に結合させるように動作可能である、請求項４０に記載のコンピュータシステム。
【請求項４２】
前記メモリ装置は、ダイナミックランダムアクセスメモリ装置を備える、請求項３５に記載のコンピュータシステム。
【請求項４３】
中央演算処理装置（「ＣＰＵ」）と、
該ＣＰＵに結合されたシステム制御装置であって、該システム制御装置は、入力ポートおよび出力ポートを有する、システム制御装置と、
該システム制御装置から該ＣＰＵに結合された入力装置と、
該システム制御装置から該ＣＰＵに結合された出力装置と、
該システム制御装置から該ＣＰＵに結合された蓄積装置と、
複数のメモリモジュールと、
メモリハブ制御装置とを備えた、コンピュータシステムであって、
該メモリモジュールのそれぞれは、
複数のメモリ装置と、
入力ポートを介して受信した少なくとも１つのメモリ要求を格納しているメモリ要求キューであって、該メモリ要求キューは、該メモリ装置に結合されることにより、該メモリ要求キューに格納された各メモリ要求を該メモリ装置に送信し、該メモリ要求キューは、該メモリ装置に送信された読み出しメモリ要求を識別する読み出し放出信号をそれぞれ出力し、かつ、該メモリ装置に送信された書き込みメモリ要求を識別する書き込み放出信号をそれぞれ出力するように動作可能である、メモリ要求キューと、
該メモリ要求キューに結合されたフロー制御部であって、該フロー制御部は、該読み出し放出信号と該書き込み放出信号とを該メモリ要求キューから受信するように動作可能であり、該フロー制御部は、該読み出し放出信号と該書き込み放出信号とに対応するステータス信号を出力するように動作可能である、フロー制御部と、
該メモリ装置に結合されたメモリ読み出しキューであって、該メモリ読み出しキューは、該メモリ装置から読み出しデータを受信し、かつ、該読み出しデータを出力ポートに結合させるために格納する、メモリ読み出しキューと、
各書き込みメモリ要求は、該メモリ要求キューから該メモリ装置に結合されていることを示す信号を受信するように結合されたメモリ書き込みキューであって、該メモリ書き込みキューは、該信号を出力ポートに結合させるために格納する、メモリ書き込みキューと、
該フロー制御部と、該メモリ読み出しキューと、該メモリ書き込みキューとに結合された応答発生装置であって、該応答発生装置は、該読み出しデータキューからの該読み出しデータと、該フロー制御部からのステータス信号に対応する読み出しステータス信号とを含む、各読み出し応答を生成して出力ポートから送信するように動作可能であり、該応答発生装置はさらに、該フロー制御部からのステータス信号に対応する書き込みステータス信号を含む、各書き込み応答を該出力ポートから送信するように動作可能である、応答発生装置とを備え、
該メモリハブ制御装置は、
入力ポートを介して受信した少なくとも１つのメモリ要求を格納しているメモリ要求キューであって、該メモリ要求キューは、該メモリモジュールのそれぞれの該メモリ要求キューに結合されることにより、該メモリ要求キューに格納された各メモリ要求を、フロー制御信号に対応して該メモリモジュールのうち少なくとも１つに送信する、メモリ要求キューと、
該メモリモジュールのそれぞれにおける該応答発生装置に結合された応答キューであって、該応答キューは、該読み出し応答および該書き込み応答を該メモリモジュールにおける該応答発生装置から受信するよう結合され、該応答キューは、各読み出し応答から少なくとも該読み出しデータをデータ出力ポートに結合させ、かつ、各読み出し応答から該読み出しステータス信号と各書き込み応答から該書き込みステータス信号とをフロー制御部に結合させるように動作可能である、応答キューと、
該読み出しステータス信号と該書き込みステータス信号とを該メモリハブ制御装置の該応答キューから受信するよう結合されたフロー制御部であって、該フロー制御部は、該ステータス信号から該メモリモジュールのそれぞれにおける未解決のメモリ要求の数を判断し、かつ、追加メモリ要求が該メモリモジュールのそれぞれにおける未解決のメモリ要求の数に基づいて、該メモリモジュールのそれぞれに送信され得ることを示すフロー制御信号を生成して、該メモリハブ制御装置の該メモリ要求キューに結合させるように動作可能である、フロー制御部と
を備えた、コンピュータシステム。
【請求項４４】
前記メモリ装置は、それぞれのダイナミックランダムアクセスメモリ装置を備えた、請求項４３に記載のコンピュータシステム。
【請求項４５】
前記メモリハブ制御装置における前記メモリ応答キューの入力ポートと、前記メモリモジュールにおける各メモリ要求キューの入力ポートとはそれぞれ、光入力ポートを備え、該メモリハブ制御装置における該メモリ要求キューの出力ポートと、該メモリモジュールにおける各メモリ応答発生装置の出力ポートとはそれぞれ、光出力ポートを備えた、請求項４３に記載のコンピュータシステム。
【請求項４６】
前記メモリハブ制御装置および前記メモリモジュールのそれぞれにおける前記メモリ要求キューは、読み出しメモリ要求と書き込みメモリ要求との双方を同時に格納するように動作可能である、請求項４３に記載のコンピュータシステム。
【請求項４７】
前記読み出し放出信号は、前記メモリモジュールにおける前記メモリ要求キューに対応して、各メモリモジュールにおける前記フロー制御部に結合され、該メモリモジュールにおける前記メモリ装置に各読み出し要求を送信し、前記書き込み放出信号は、該メモリモジュールにおける該メモリ要求キューに対応して各メモリモジュールにおける該フロー制御部に結合され、該メモリモジュールにおける該メモリ装置に各書き込み要求を送信する、請求項４３に記載のコンピュータシステム。
【請求項４８】
各メモリモジュールにおける前記フロー制御部は、各読み出し放出信号に対応する読み出しステータス信号を出力するように動作可能であり、各読み出しステータス信号は、それぞれの読み出し要求を一意に識別し、各メモリモジュールにおける該フロー制御部は、各書き込み放出信号に対応する書き込みステータス信号を出力するように動作可能であり、各書き込みステータス信号は、それぞれの書き込み要求を一意に識別する、請求項４７に記載のコンピュータシステム。
【請求項４９】
各メモリモジュールにおける前記応答発生装置は、前記書き込みステータス信号、または前記読み出しデータおよび該書き込みステータス信号の組み合わせのどちらか一方を含む書き込み応答信号を生成して出力ポートから送信するように動作可能である、請求項４７に記載のコンピュータシステム。
【請求項５０】
各メモリモジュールにおける前記応答発生装置は、読み出しデータおよび前記読み出しステータス信号、または読み出しデータ、該読み出しステータス信号および前記書き込みステータス信号のどちらか一方を含む読み出し応答信号を生成して出力ポートから送信するように動作可能である、請求項４３に記載のコンピュータシステム。
【請求項５１】
前記応答発生装置はさらに、前記読み出しデータなしで前記書き込みステータス信号を含む書き込み応答信号を生成して出力ポートから送信するように動作可能である、請求項５０に記載のコンピュータシステム。
【請求項５２】
前記メモリハブ制御装置における前記メモリ要求キューはさらに、前記出力ポートからの各メモリ要求とともに、該メモリ要求のそれぞれを一意に識別する要求識別を発行するように動作可能である、請求項４３に記載のコンピュータシステム。
【請求項５３】
前記メモリハブ制御装置における前記フロー制御部は、各メモリ要求のための前記要求識別を生成して前記メモリ要求キューに結合させるように動作可能である、請求項４３に記載のコンピュータシステム。
【請求項５４】
前記メモリハブ制御装置における前記フロー制御部はさらに、前記メモリ要求キューに結合された前記要求識別と、前記応答キューから受信した前記読み出しステータス信号および前記書き込みステータス信号との間の比較に基づいて前記フロー制御信号を生成するように動作可能である、請求項５３に記載のコンピュータシステム。
【請求項５５】
複数のメモリモジュールからデータを読み込む方法および該複数のメモリモジュールへデータを書き込む方法であって、
複数のメモリ要求を該メモリモジュールに送信するステップと、
該送信されたメモリ要求を該メモリモジュールに格納するステップと、
該メモリモジュールのうち１つに格納された該メモリ要求を、該メモリ要求が該メモリモジュールに送信される速度とは異なり得る速度でサービスするステップと、
該メモリモジュールに送信されたが、該メモリモジュールからまだサービスされていないメモリ要求の数を判断するステップと、
該メモリモジュールにからまだサービスされていない送信されたメモリ要求の数に関してなされた該判断の関数として、追加メモリ要求を該メモリモジュールに送信するステップと
を包含する、方法。
【請求項５６】
複数のメモリ要求を前記メモリモジュールに送信するステップは、書き込み要求または読み出し要求のどちらか一方を、該書き込み要求または読み出し要求を一意に識別する要求識別子とともに該メモリモジュールに送信するステップを包含する、請求項５５に記載の方法。
【請求項５７】
前記メモリモジュールに送信されたが、該メモリモジュールからまだサービスされていないメモリ要求の前記数を判断するステップは、
サービスされた前記読み出し要求および書き込み要求を識別するメモリ要求ステータス信号を該メモリモジュールから受信するステップと、
該メモリ要求ステータス信号を前記要求識別子と比較するステップと
を包含する、請求項５６に記載の方法。
【請求項５８】
複数のメモリモジュールであって、各メモリモジュールは複数のメモリ装置を含むメモリモジュールに結合されたメモリハブ制御装置を有するコンピュータシステムにおいて、該メモリハブ制御装置を用いて該メモリモジュールにアクセスする方法であって、
複数のメモリ要求を、該メモリハブ制御装置から該メモリモジュールのうち少なくとも１つに送信するステップと、
該送信されたメモリ要求を、該メモリ要求が送信される該メモリモジュールに格納するステップと、
該メモリ要求に従って該メモリモジュールにおける該メモリ装置にアクセスするステップであって、該メモリ装置は、該メモリ要求が該メモリモジュールに送信される速度とは異なり得る速度でアクセスされるステップと、
該メモリモジュールにおいてどのメモリ要求がサービスされたかを識別するメモリ要求ステータス信号を、該メモリモジュールのそれぞれにおいて生成するステップと、
該メモリ要求ステータス信号を、該アクセスされたメモリ装置を含む該メモリモジュールからの該メモリハブ制御装置に結合させるステップと、
該メモリハブ制御装置に結合された該メモリ要求ステータス信号の関数として、該メモリハブ制御装置から、該アクセスされたメモリ装置を含む該メモリモジュールに追加メモリ要求を送信するステップと
を包含する、方法。
【請求項５９】
複数のメモリ要求を、前記メモリハブ制御装置から前記メモリモジュールのうち少なくとも１つに送信するステップは、書き込み要求または読み出し要求のどちらか一方を該メモリハブ制御装置から該メモリモジュールのうち少なくとも１つに送信するステップを包含する、請求項５８に記載の方法。
【請求項６０】
前記メモリ装置は、ランダムアクセスメモリ装置を備える、請求項５８に記載の方法。
【請求項６１】
複数のメモリ要求を、前記メモリハブ制御装置から前記メモリモジュールのうち少なくとも１つに送信するステップは、各メモリ要求とともに、該メモリ要求を一意に識別するそれぞれの要求識別子を送信するステップを包含する、請求項５８に記載の方法。
【請求項６２】
前記メモリ要求ステータス信号を生成するステップは、該メモリ要求ステータス信号を、前記メモリモジュールにおいて該メモリモジュールに送信された前記要求識別子から生成するステップを包含する、請求項６１に記載の方法。
【請求項６３】
前記メモリモジュールに送信された各要求識別子を前記メモリ制御装置に格納するステップをさらに包含し、ここで、前記メモリ要求ステータス信号の関数として、前記メモリハブ制御装置から追加メモリ要求を送信するステップは、該メモリハブ制御装置において、該メモリ要求ステータス信号を該メモリハブ制御装置に格納された該要求識別子と比較するステップを包含する、請求項６１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリシステムに関し、特に、いくつかのメモリモジュールを有するメモリシステムに関しており、このメモリモジュールは、それぞれがいくつかのメモリ装置に結合されたメモリハブを含む。
【背景技術】
【０００２】
コンピュータシステムは、ダイナミックランダムアクセスメモリ（「ＤＲＡＭ」）装置といったメモリ装置を用いて、プロセッサからアクセスされる指示およびデータを格納する。これらメモリ装置は通常、コンピュータシステムにおいてシステムメモリとして用いられる。通常のコンピュータシステムでは、プロセッサはプロセッサバスおよびメモリ制御装置を介してシステムメモリと通信する。プロセッサは、読み出しコマンドといったメモリコマンドを含むメモリ要求と、データまたは指示が読み込まれる場所を指定するアドレスとを発行する。メモリ制御装置は、コマンドおよびアドレスを用いて、システムメモリに適用される適切なコマンド信号ならびに行および列のアドレスを生成する。コマンドおよびアドレスに応答して、データはシステムメモリおよびプロセッサ間を転送される。メモリ制御装置はしばしば、システム制御装置の一部であり、プロセッサバスを拡張バス（たとえば、ＰＣＩバス）に結合させるためのバスブリッジ回路機構も含む。
【０００３】
メモリ装置の動作速度は連続的に上昇し、それによってかつてないほど多いメモリ帯域幅を提供する。しかしながら、メモリ帯域幅におけるこの増加は、プロセッサの動作速度における増加に並行しない。メモリ帯域幅を増加させる１つのアプローチは、多数のメモリ装置のそれぞれが互いに並行するようにアクセスすることにより、その結果、このデータは、各メモリアクセスで、この多数のメモリ装置から読み込まれたり、またはこの多数のメモリ装置に書き込まれたりすることである。多数のメモリ装置が同時にアクセスされることを可能にすることに向いている１つのメモリアーキテクチャは、メモリハブアーキテクチャである。メモリハブアーキテクチャでは、システム制御装置またはメモリハブ制御装置は、いくつかのメモリモジュールに結合されており、このメモリモジュールのそれぞれは、いくつかのメモリ装置に結合されたメモリハブを含む。メモリハブは効率的に、メモリ要求と、制御装置およびメモリ装置間の応答とのルートを決める。このアーキテクチャを採用するコンピュータシステムは、より高い帯域幅を有し得、これは、プロセッサは１つのメモリモジュールからデータを読み出し、または１つのメモリモジュールにデータを書き込むことができ、その間、別のメモリモジュールは先のメモリアクセスに対応しているからである。たとえば、プロセッサはメモリモジュールのうち１つのメモリモジュールにおけるメモリ装置に書き込みデータを出力することができ、その一方で、別のメモリモジュールにおけるメモリ装置は、プロセッサへの読み出しデータを提供する準備をしている。
【０００４】
メモリハブを使用するメモリモジュールは、増加したメモリ帯域幅を提供し得るが、モジュールにおけるメモリハブの存在によって、メモリモジュールへのコマンドおよびアドレス信号のフローと、メモリモジュールへのデータ信号およびメモリモジュールからのデータ信号のフローとを協調することが困難になり得る。従来のメモリシステムにおけるメモリ制御装置は直接、メモリモジュールにおけるメモリ装置にアクセスする。メモリハブといったコントロール装置が、メモリ制御装置およびメモリ装置間にないことによって、メモリ制御装置がメモリモジュールのそれぞれとの動作を協調することを比較的容易になる。特に、メモリ制御装置は、メモリモジュールのそれぞれにおける活動を積極的に制御しているので、メモリ制御装置は、メモリモジュールへ送信または、メモリモジュールから受信する信号に基づいた各メモリモジュールへのメモリアクセスのステータスを判断することができる。対照的に、メモリモジュールのそれぞれにメモリハブ有することによってメモリ装置へのアクセスを制御することは、制御装置が各メモリモジュールへのメモリ要求のステータスを判断することを困難にする。なぜならば、制御装置はもはやメモリアクセスを直接制御していないからである。たとえば、制御装置は読み出しメモリ要求が、そのモジュールのメモリ装置にいつ発行されるのか判断することがもはやできない。制御装置は読み出しメモリ要求がいつ発行されるかを判断することができないので、その読み出しデータがメモリモジュールからいつ結合されるかを判断することができない。その結果、制御装置は制御装置が別の読み出しメモリ要求または書き込みメモリ要求を同じメモリモジュールまたは別のメモリモジュールにいつ発行できるのかを決定することができない。同様に、制御装置はメモリモジュールに発行された、いくつかのメモリ要求がサービスされたかどうか判断することができず、よって、追加メモリ要求がメモリモジュールに発行されるべきか否かを判断することができない。協調発行（ｃｏｏｒｄｉｎａｔｉｏｎ  ｉｓｓｕｅ）の別のタイプは当業者にとって明白となるであろう。
【０００５】
したがって、複数のハブベースのメモリモジュールに結合された制御装置または他の装置が、メモリモジュールへのメモリ要求の発行を協調することを可能にするメモリシステムアーキテクチャの必要性がある。
【発明の開示】
【課題を解決するための手段】
【０００６】
（本発明の概要）
メモリモジュールハブ制御装置は複数のメモリモジュールに結合され、各メモリモジュールは、それぞれのモジュールにおける複数のメモリ装置に結合されたメモリハブを含む。メモリハブ制御装置は、複数のメモリ要求を格納し、メモリ要求が送信されるメモリハブから受信したメモリ要求ステータス信号の関数として生成されるフロー制御信号に対応して、格納されたメモリ要求のそれぞれをメモリモジュールのうち１つのメモリモジュールにおけるメモリハブに送信する。メモリハブは受信したメモリ要求を格納し、格納したメモリ要求に対応するメモリ要求信号を、メモリモジュールにおけるメモリ装置に結合させる。メモリハブはまた、書き込みデータをメモリ装置に送信し、またはその後に続いてメモリ装置から読み出しデータを受信する。メモリハブはまた、メモリハブに結合されたメモリ装置によってサービスされたメモリ要求を識別するメモリ要求ステータス信号を生成する。メモリハブは、それから、メモリ要求ステータス信号および任意の読み出しデータをメモリハブ制御装置に結合させる。制御装置は受信した読み出しデータを出力し、メモリ要求ステータス信号に基づいたフロー制御信号を生成して、メモリモジュールのそれぞれに格納される未解決のメモリ要求の数を制御する。
【発明を実施するための最良の形態】
【０００７】
（本発明の詳細な説明）
本発明の一例に従ったコンピュータシステム１００は、図１に示される。コンピュータシステム１００はプロセッサ１０４を含み、このプロセッサ１０４は、特定のソフトウェアを実行して特定の計算またはタスクを行うといった種々のコンピュータ機能を行う。プロセッサ１０４はプロセッサバス１０６を含み、このプロセッサバス１０６は通常、アドレスバス、制御バス、およびデータバスを含む。プロセッサバス１０６は典型的にキャッシュメモリ１０８に結合されており、このキャッシュメモリ１０８は、前述したように、通常はスタティックランダムアクセスメモリ（「ＳＲＡＭ」）である。最後に、プロセッサバス１０６はシステム制御装置１１０に結合されており、このシステム制御装置１１０はまた、「Ｎｏｒｔｈ  Ｂｒｉｄｇｅ」または「メモリ制御装置」と呼ばれることがある。
【０００８】
システム制御装置１１０は、種々の他のコンポーネントのためにプロセッサ１０４への通信経路として機能する。より正確には、システム制御装置１１０は、グラフィック制御装置１１２に通常結合されるグラフィックポートを含み、このグラフィック制御装置はそして、ビデオ端末１１４に結合される。システム制御装置１１０はまた、１つ以上の入力装置１１８（たとえば、キーボードまたはマウス）に結合されることにより、オペレータがコンピュータシステム１００とインターフェースをとることを可能にする。典型的に、コンピュータシステム１００はまた、システム制御装置１１０を介してプロセッサ１０４に結合された１つ以上の出力装置１２０（たとえば、プリンタ）を含む。１つ以上のデータ蓄積装置１２４はまた典型的にシステム制御装置１１０を介してプロセッサ１０４に結合されることにより、プロセッサ１０４がデータを蓄積するか、または、内蔵または外付けの蓄積媒体（図示せず）からデータを読み出すことができる。典型的な蓄積装置１２４の例は、ハードディスク、フロッピー（登録商標）ディスク、テープカセット、およびコンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）を含む。
【０００９】
システム制御装置１１０はまた、メモリハブ制御装置１２６を含み、このメモリハブ制御装置１２６は、コンピュータシステム１００のためにシステムメモリとして機能するいくつかのメモリモジュール１３０ａ、１３０ｂ．．．１３０ｎに結合する。メモリモジュール１３０は、好ましくは、高速回線１３４を介してメモリハブ制御装置１２６に結合され、この高速回線１３４は、光通信経路または電気通信経路、または他タイプの通信経路であり得る。高速回線１３４が光通信経路として実行される場合、光通信経路はたとえば、１つ以上の光ファイバの形式であり得る。そのような場合、メモリハブ制御装置１２６およびメモリモジュール１３０は、光の入力／出力ポートまたは光通信経路に結合された分離した入力ポートおよび出力ポートを含む。メモリモジュール１３０は、単一高速回線１３４がメモリモジュール１３０の全てに結合される、マルチドロップ（ｍｕｌｔｉ−ｄｒｏｐ）構造またはデージーチェーン（ｄａｉｓｙ  ｃｈａｉｎ）構造におけるメモリハブ制御装置１２６に結合されるものと示される。しかしながら、他のトポロジーもまた用いられ得、分離した高速回線（図示せず）を用いてメモリモジュール１３０のそれぞれをメモリハブ制御装置１２６に結合させる、二地点間結合構造といったものが用いられ得ることを理解されるであろう。切り替え式トポロジーはまた、メモリハブ制御装置１２６がスイッチ（図示せず）を介してメモリモジュール１３０のそれぞれに選択的に結合されるところで用いられ得る。用いられ得る他のトポロジーは、当業者にとって明白である。
【００１０】
メモリモジュール１３０のそれぞれは、図２で図示された例では、シンクロナスダイナミックランダムアクセスメモリ（「ＳＤＲＡＭ」）装置である、６つのメモリ装置１４８へのアクセスを制御するためにメモリハブ１４０を含む。しかしながら、より少ない数またはより多数のメモリ装置１４８が用いられ得、かつ、ＳＤＲＡＭ装置以外の記憶装置もまた、もちろん用いられ得る。メモリハブ１４０は、バスシステム１５０を介してメモリ装置１４８のそれぞれに結合され、このバスシステム１５０は通常、制御バス、アドレスバスおよびデータバスを含む。
【００１１】
図１のメモリハブ制御装置１２６およびメモリハブ１４０の一例は、図２に示される。図２に示されるように、メモリハブ制御装置１２６をメモリハブ１４０に結合させる高速回線１３４（図１）は、互いに分離する高速下り回線１５４および高速上り回線１５６を含む。前に説明したように、下り回線１５４および上り回線１５６は、ロジック信号、光信号、ＲＦ信号または他タイプの信号媒体を結合し得る。下り回線１５４および上り回線１５６はまた、単一高速双方向回線において結合され得るか、または、下り回線１５４および上り回線１５６はさらに、コマンド、アドレスおよびデータ信号のための分離した回線といったより多くの数の通信回線に分割され得る。他のバリエーションは当業者にとって明白である。
【００１２】
図２をさらに参照して、メモリハブ制御装置１２６は、プロセッサ１０４（図１）からシステム制御装置１１０を介して、コマンド信号、アドレス信号、およびメモリ書き込みの場合、書き込みデータ信号を含む高レベルのメモリ要求信号を受信するメモリ要求キュー１６０を含む。メモリ要求キュー１６０はまた、フロー制御部１７４から、各読み出し要求および各書き込み要求を一意に識別する要求ＩＤ信号を受信する。これら要求ＩＤは、対応する高レベル読み出し要求および書き込み要求と結合されて、メモリ要求キュー１６０に、好ましくは受信された順番で格納される。要求キュー１６０に格納されたメモリ要求信号は、読み出し要求信号と書き込み要求信号との両方を含む。高レベルメモリ要求信号および要求ＩＤ信号は、全体でメモリ要求信号と呼ばれる。メモリ要求キューは、受信された順番と同じ順番でメモリモジュール１３０に信号を発行し得るが、発行する必要はない。
【００１３】
メモリハブコントローラ１２６はまた、システム制御装置１１０から読み出し応答信号および書き込み応答信号を受信するメモリ応答キュー１７０を含む。読み出し応答信号は、読み出しデータ信号並びに読み出しデータに対応する読み出し要求を識別する読み出しステータス信号を含む。書き込み応答信号は、メモリモジュールのうち１つからサービスされた書き込み要求を識別する書き込みステータス信号を含む。応答キュー１７０は、メモリ応答信号を受信した順に格納し、好ましくは、しかし必ずしもそうとは言えないが、読み出しデータ信号１７２を同じ順番でシステム制御装置１１０に結合させる。メモリ応答キュー１７０はまた、フロー制御部１７４に、読み出しステータス信号１７６および書き込みステータス信号１７８を結合させ、その結果、フロー制御部１７４は、どの読み出し要求が、そしてどの書き込み要求がサービスされたかを判断することができる。フロー制御部１７４は、ステータス信号１７６、１７８を、フロー制御部１７４から生成され、かつ、メモリ要求キュー１６０に結合された要求ＩＤと比較することによってこの判断を行う。フロー制御部１７４はそれから、フロー制御信号をメモリ要求キュー１６０に出力して、メモリ要求キュー１６０が、追加メモリ要求をメモリモジュール１３０（図１）のそれぞれに発行すべき否か、かつ、いつ発行すべきかを判断することができる。
【００１４】
図２をさらに参照して、メモリモジュール１３０のそれぞれにおけるメモリハブ１４０は、１つ以上のメモリ要求をメモリハブコントローラ１２６から、高速下り回線１５４を介して受信するメモリ要求キュー１９０を含む。要求キュー１９０は、メモリ要求を、メモリ装置１４８（図１）によって使用されたコマンド信号およびアドレス信号に再フォーマットし、かつ、これら再フォーマットされた信号を、適切な時およびシーケンスにおいてメモリ装置１４８に発行するために、従来のメモリ制御装置において見出される回路に類似した回路を含む。たとえば、要求キュー１９０は、メモリハブコントローラ１２６から受信したアドレス信号を、行および列アドレス信号に変換し得る。要求キュー１９０はそれから、行アドレス信号を行アドレスストローブ（「ＲＡＳ」）信号とともにメモリ装置１４８に出力して、この行アドレス信号がメモリ装置１４８にラッチされることを引き起こし得る。同様に、要求キュー１９０は、列アドレス信号を列アドレスストローブ（「ＣＡＳ」）信号とともにメモリ装置１４８に出力して、この列アドレス信号がメモリ装置１４８にラッチされることを引き起こし得る。しかしながら、再フォーマットされたコマンド信号およびアドレス信号、そして恐らくデータ信号の性質は、当業者にとって明白であるように、メモリ装置１４８の性質に左右される。
【００１５】
要求キュー１９０が、メモリハブ制御装置１２６からの読み出し要求信号に応答して、再フォーマットされた読み出し要求信号をメモリ装置１４８に発行したとき、要求キュー１９０は、Ｒｅａｄ  Ｒｅｌｅａｓｅｄ信号をフロー制御部１９４に適用することによって、読み出し要求がメモリ装置１４８に発行されたことを示す。同様に、要求キュー１９０が、メモリハブ制御装置１２６からの書き込み要求信号に対応して、再フォーマットされた書き込み要求信号をメモリ装置１４８に発行したとき、メモリ要求キューは、Ｗｒｉｔｅ  Ｒｅｌｅａｓｅｄ信号をフロー制御部１９４に適用することによって、書き込み要求がメモリ装置１４８に発行されたことを示す。Ｒｅａｄ  Ｒｅｌｅａｓｅｄ信号およびＷｒｉｔｅ  Ｒｅｌｅａｓｅｄ信号を用いて、メモリモジュール１３０のそれぞれによってサービスされた各読み出し要求および書き込み要求を一意に識別する、読み出しステータス信号１９２および書き込みステータス信号１９６をそれぞれ定める。より具体的に言うと、フロー制御部１９４は、好ましくは、フロー制御部１７４からメモリ要求キュー１６０に結合された要求ＩＤに一致する固有の読み出し応答ＩＤを各放出（ｒｅｌｅａｓｅ）読み出し要求に割り当てる。フロー制御部１９４はまた、固有の書込応答ＩＤを各放出書き込み要求に割り当て、これもまた好ましくは、要求ＩＤに一致する。これら応答ＩＤは、読み出しステータス信号および書き込みステータス信号として応答キュー１７０に結合される。先に説明したように、これらステータス信号は、メモリ応答キュー１７０に結合され、このメモリ応答キュー１７０は、ステータス信号を応答において含まれるいかなる読み出しデータからも分離させ、そして、ステータス信号をフロー制御部１７４に結合させる。
【００１６】
要求キュー１９０からの読み出しメモリ要求に応答して、メモリ装置１４８は読み出しデータ信号をメモリハブ１４０に結合させる。これら読み出しデータ信号は、読み出しキュー２００に格納される。読み出しキュー２００は実質的に、読み出しデータ信号を応答発生装置２０４に結合させ、応答発生装置２０４はまた、読み出しステータス信号１９２をフロー制御部１９４から受信する。
【００１７】
要求キュー１９０が書き込み要求を発行するとき、書き込み要求が発行されたことを示す信号は書き込みキュー２０６に格納される。書き込みキュー２０６は実質的に、発行された書き込み要求を示す信号を応答発生装置２０４に結合させ、応答発生装置２０４はまた、書き込みステータス信号１９６をフロー制御部１９４から受信する。
【００１８】
応答発生装置２０４は、読み出しキュー２００からの読み出しデータ信号を、フロー制御部１９４からの読み出しステータス信号１９２と結びつけ、先に説明したように、この応答発生装置２０４は、読み出しデータに対応する読み出し要求を識別する。結合された読み出しデータ信号および読み出しステータス信号１９２は、読み出し応答２１０に結合される。書き込みキュー２０６からの信号に応答して、応答発生装置２０４は書き込みステータス信号１９２を含む書き込み応答２１４を生成する。応答発生装置２０４はそれから、読み出し応答２１０または書き込み応答２１４を、メモリハブコントローラ１２６における応答キュー１７０に送信する。より具体的に言うと、読み出しデータ信号は、応答発生装置２０４から応答キュー１７０に送信される。読み出しステータス信号１９２および書き込みステータス信号１９６もまたそれぞれ、書き込みステータス信号の一部の場合においては単独で、または読み出しステータス信号またはその他の書き込みステータス信号の場合においては、読み出しデータ信号と組み合わせて、応答発生装置２０４から応答キュー１７０に送信される。このように、読み出し応答２１０は、読み出しデータならびに、読み出しデータに対応する読み出し要求を一意に識別する情報を含み、かつ、書き込み応答２１４は、メモリモジュール１３０からサービスされた各書き込み要求を一意に識別する情報を含む。
【００１９】
メモリ要求キュー１６０が追加メモリ要求を発行する前に、任意のメモリモジュール１３０において未解決（ｏｕｔｓｔａｎｄｉｎｇ）であり得る書き込み要求または読み出し要求の数は、固定であるか、または許容できる要求キューの深さを示す値でメモリハブコントローラ１２６をセットすることによってユーザが選択できる。さらに、未解決であり得る読み出し要求の数は、未解決であり得る書き込み要求の数と同じ、もしくは異なり得る。
【００２０】
メモリハブコントローラ１２６におけるメモリ要求キュー１６０から、メモリハブ１４０におけるメモリ要求キュー１９０に結合されたメモリ要求の例が、図３Ａに示される。図３Ａに示された例では、当業者にとっては明白であるようにメモリ要求は他の形式を有し得るが、メモリ要求はいくつかのパケットワードを含むメモリ要求パケット２２０の形式である。第１のパケットワード２２４の始めの４ビットは、要求キュー１６０から発行されているメモリ要求のタイプを識別するコマンドコードである。これらコマンドコードは、図３Ｂにおいて同一に扱われる。たとえば、「００００」のコマンドコードは、動作コマンドがないことを意味し、「０００１」のコマンドコードは、１〜１６ダブルワード（つまり、３２ビットのグループ）を書き込む要求を意味し、「００１０」のコマンドコードは、１〜１６ダブルワードを読み込む要求を意味する。図３Ａに戻って、第１のパケットワード２２４の次の６ビットは、各メモリ要求を一意に識別するフロー制御部１７４（図２）から発行される要求ＩＤを備える。先に説明したように、メモリ要求を一意に識別することによって、メモリハブ制御装置１２６におけるフロー制御部１７４は、どのメモリ要求がサービスされたかを判断することができる。第１のパケットワード２２４の最後の２２ビットは、メモリ要求が向けられるメモリアドレスの上位のビット３７：１６である。
【００２１】
第２のパケットワード２２８の始めの２ビットは、図３Ａで示したパケットの例では使用されない。次の１５ビットは、メモリ要求が向けられるメモリアドレスの下位のビット１５：２である。アドレスビット１：０が送信されることはない。それは、そのようなアドレスビットはデータの各バイトにおける特定ビットを選択し、全てのメモリアクセスは少なくともデータの１バイトまでであるからである。
【００２２】
メモリハブ１４０の１つにおけるメモリ要求キュー１９０は、上位のビット３７：１６を行アドレスとして、下位のビット１５：２を列アドレスとして使用し得、または、メモリ要求キュー１９０は、別の方法でこれらアドレスを使用し得る。第２のパケットワード２２８の次の４ビットは、メモリモジュールのメモリ装置１４８から読み出され、またはメモリ装置１４８に書き込まれるダブルワードの数またはバイトを特定するカウント３：０ビットである。第２のパケットワード２２８の最後の１６ビットは、読み出しメモリ要求によって呼び出された読み出しデータの代わりに、メモリハブコントローラ１２６に結合され得るマスクデータマスク１５：０からなる。この方法でデータをマスクすることは、当業者にはよく知られている。
【００２３】
書き込み要求のための始めの２つのパケットワード２２４、２２８の後に、少なくとも１つの書き込みデータのパケットワード２３０が続く。パケットワード２３０の数は、第２のパケットワード２２８におけるカウント３：０の値と、メモリ書き込みコマンドがダブルワードまたはバイトを書き込むためのものであるかどうかに依る。たとえば、ダブルワードの書き込みを要求しているパケットにおける「０１００」（つまり、４）のカウント３：０値は、４つの書き込みデータのパケットワード２３０を要求する。バイトの書き込みを要求しているパケットにおける値４のカウント３：０は、たった１つの書き込みデータのパケットワード２３０を要求する。読み出し要求のためのパケット２２０は、もちろん、始めの２つのパケットワード２２４、２２８の後にパケットワード２３０を含まない。
【００２４】
メモリハブ１４０の１つにおける応答発生装置２０４から、メモリハブ制御装置１２６におけるメモリ要求キュー１７０に結合されたメモリ応答２１０または２１４の例は、図４Ａに示される。メモリ応答は、いくつかのパケットワードを含むメモリ応答パケット２４０の形式であるが、当業者にとっては明白であるように、メモリ要求は他のフォーマットを有し得る。第１のパケットワード２４４の始めの４ビットは、応答コードであり、この応答コードは、応答発生装置２０４によって送信されているメモリ応答のタイプを識別する。これら応答コードは図４Ｂに示される。たとえば、「０００」の応答コードは、ここでも、「動作なし」応答を意味し、「００１」の応答コードは、「読み出し応答（Ｒｅａｄ  Ｒｅｓｐｏｎｓｅ）」を意味し、これは、読み出しデータと、どの読み出し要求がメモリハブ制御装置１２６における応答キュー１７０にサービスされたのかを示す読み出しステータス信号とをリターンする。「０１０」の応答コードは、「書き込み応答（Ｗｒｉｔｅ  Ｒｅｓｐｏｎｓｅ）」を意味し、これは、書き込みステータス信号をメモリハブ制御装置１２６における応答キュー１７０に提供して、どの書き込み要求がサービスされたかを示す。最後に、「０１１」の応答コードは、「書き込みおよび読み出し応答（Ｗｒｉｔｅ  ａｎｄ  Ｒｅａｄ  Ｒｅｓｐｏｎｓｅ）」を意味し、これは、読み出しデータを含むパケットに読み出しステータス信号および書き込みステータス信号を含む。前述したように、パケットにおける書き込みステータス信号は、パケットにおける読み出しデータ信号のためのメモリ要求と同じメモリ要求に関していない。一般的に、たった１つの応答が読み出しおよび書き込みステータス情報の双方を提供するために要求されるので、書き込み応答および読み出し応答において読み出しデータを有する書き込みステータス信号を含むことによって、書き込みステータス信号を提供することはより効率的である。しかしながら、データがメモリモジュール１３０から読み出されていない場合、そのときは、「書き込み応答」をリターンして、メモリハブコントローラ１２６に書き込み要求のステータスに関する情報を提供することが必要であり得る。しかしながら、「書き込み応答」パケットは、所望するならば、未解決の書き込み応答の所定の数がメモリモジュール１３０のいずれか１つに集積するまで遅延し得る。
【００２５】
図４Ａに戻って、第１のパケットワード２２４の次の６ビットは、フロー制御部１９４によって生成された読出応答ＩＤであり、これは、各メモリ読み出し要求を一意に識別する。この読出応答ＩＤは一般的に、各読み出し要求パケット２２０の第１のパケットワード２２４における要求ＩＤに一致する。読出応答ＩＤは、前に参照した読み出しステータス信号に一致する。第１のパケットワード２２４の次の６ビットは、フロー制御部１９４からも生成された書込応答ＩＤであり、これは、各メモリ書き込み要求を一意に識別する。この書込応答ＩＤは、ここでも一般的に、各書き込み要求パケット２２０の第１のパケットワード２２４における要求ＩＤに一致する。書込応答ＩＤは、前に参照した書き込みステータス信号に一致する。フロー制御部は、これら応答ＩＤ値をＲｅｑｕｅｓｔ値と比較して、メモリハブコントローラ１２６から発行された読み出しまたは書き込みメモリ要求のいずれかがサービスされたかを判断することができる。第１のパケットワード２４４の次の４ビットは、ダブルワードカウントビットであり、このダブルワードカウントビットは、パケット２４０に含まれる読み出しデータのダブルワードの数を特定する。第１のパケットワード２４４の最後の１３ビットは使用されない。応答パケット２４０が読み出し応答パケットであれば、第１のパケットワード２４４は、１つ以上の読み出しデータパケットワード２４８が後に続く。読み出しデータパケットワードの数は、もちろん、パケットワード２４４におけるダブルワードカウントの値に依る。
【００２６】
前述したものから、本発明の特定の実施形態は説明を目的としてここで説明されてきたが、種々の修正が本発明の精神と範囲とから逸脱することなくなされ得ることを理解されたい。たとえば、メモリハブコントローラ１２６は、メモリ要求の特定数またはプログラム可能な数が、任意のメモリモジュール１３０において未解決であることを可能にするものと説明されてきたが、他の動作プロトコルが可能である。また、未解決のメモリ要求を過度に多く有するメモリモジュール１３０にメモリ要求を発行することに単に遅延するよりもむしろ、メモリハブ制御装置１２６は代わりに、メモリ要求を異なるメモリモジュール１３０にルートし得る。従って、本発明は添付の請求項による以外は制限されない。
【図面の簡単な説明】
【００２７】
【図１】図１は、本発明の一例に従ったコンピュータシステムのブロック図であり、メモリハブは複数のメモリモジュールのそれぞれに含まれる。
【図２】図２は、図１のコンピュータシステムにおける複数のメモリモジュールのそれぞれにおいて用いられたメモリハブの一例に結合された、図１のコンピュータシステムにおいて用いられたメモリハブ制御装置の一例のブロック図である。
【図３】図３Ａおよび図３Ｂは、図２のメモリハブ制御装置からメモリハブに送信されたメモリ要求パケットのフォーマットの一例を示す表である。
【図４】図４Ａおよび図４Ｂは、図２のメモリハブ制御装置からメモリハブに送信されたメモリ要求パケットのフォーマットの一例を示す表である。
【図１】
2005537543.tif 000003
【図２】
2005537543.tif 000004
【図３】
2005537543.tif 000005
【図４】
2005537543.tif 000006
【国際調査報告】
2005537543.tif 000007