(57)【要約】メモリデバイスインターフェースは、メモリ要求に応答して、メモリデバイスからリードデータを受信する。メモリハブは、メモリ要求の少なくとも１つに応答して、リードデータを受信し、格納するロウキャッシュメモリを含む。シーケンサは、リンクインターフェースからメモリデバイスインターフェースに転送されたメモリ要求に応答して、アクセスされているメモリセルのロウにおけるメモリセルからデータを読み取るためにメモリ要求を生成し、そのメモリ要求をメモリデバイスインターフェースに結合する。生成されたメモリ要求に応答して、アクセスされているメモリセルのロウにおけるメモリセルからのリードデータは、またロウキャッシュメモリに格納される。シーケンサは、好ましくはメモリ要求がコントローラから受信されていないとき、メモリ要求を生成する。
2005535038.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリデバイスと
メモリハブと
を備えたメモリモジュールであって、
該メモリハブは、
メモリデバイスの少なくとも１つにおけるメモリセルのロウへのアクセスのためのメモリ要求を受信するリンクインターフェースと、
該メモリデバイスに結合されているメモリデバイスインターフェースであって、該メモリデバイスの少なくとも１つにおけるメモリセルのロウへのアクセスのためのメモリ要求を該メモリデバイスに結合するように動作可能であり、かつ、該メモリ要求の少なくともいくつかに応答して、リードデータを受信するように動作可能であり、該メモリ要求の少なくともいくつかは、該リンクインターフェースから、該メモリデバイスインターフェースに転送されたメモリ要求に応答して、該メモリデバイスに結合されている、メモリデバイスインターフェースと、
該メモリデバイスインターフェースに結合されているロウキャッシュメモリであって、該メモリデバイスインターフェースから、該少なくとも１つのメモリデバイスに結合されている該メモリ要求の少なくとも１つに応答して、アクセスされているメモリセルのロウからリードデータを受信し、格納する、ロウキャッシュメモリと、
該リンクインターフェースと、該メモリデバイスインターフェースと、該ロウキャッシュメモリとに結合されているシーケンサであって、アクセスされているメモリセルのロウにおけるメモリセルからデータを読み取るためにメモリ要求を生成するように動作可能であり、かつ、該メモリ要求を該メモリデバイスインターフェースに結合するように動作可能であり、該リードデータは、アクセスされているメモリセルの該ロウにおける該メモリセルから読み取られ、該ロウキャッシュメモリに格納されている、シーケンサと
を備えた、メモリモジュール。
【請求項２】
前記メモリデバイスインターフェースは、前記リンクインターフェースおよび前記シーケンサから受信されたメモリ要求を受信し、格納するように動作可能であり、かつ、該格納されているメモリ要求を受信された順序で前記少なくとも１つメモリデバイスに転送するように動作可能なファーストイン・ファーストアウトバッファをさらに備えた、請求項１に記載のメモリモジュール。
【請求項３】
前記インターフェースは、メモリ要求を受信し、格納するように動作可能であり、かつ、該格納されているメモリ要求を受信された順序で前記メモリデバイスに転送するように動作可能なファースイン・ファーストアウトバッファを備えた、請求項１に記載のメモリモジュール。
【請求項４】
前記メモリデバイスインターフェースは、前記リンクインターフェースおよび前記シーケンサから受信されたメモリ要求を受信し、格納するように動作可能であり、かつ、該格納されているメモリ要求を受信された順序で該少なくとも１つもメモリデバイスに転送するように動作可能なファーストイン・ファーストアウトバッファをさらに備えた、請求項３に記載のメモリモジュール。
【請求項５】
前記リンクインターフェースは、光入力／出力ポート備えた、請求項１に記載のメモリモジュール。
【請求項６】
前記メモリデバイスは、ダイナミックＲＡＭデバイス備えた、請求項１に記載のメモリモジュール。
【請求項７】
前記シーケンサは、前記リンクインターフェースから受信された各リードメモリ要求に含まれるアドレスを出力するように動作可能であり、前記ロウキャッシュメモリは、該シーケンサから該アドレスを受信することにより、該メモリ要求によって要求されたデータが、該ロウキャッシャメモリに格納されているかどうかを決定するように動作可能であり、該ロウキャッシュメモリは、前記リードデータを出力し、該メモリ要求によって要求された該データが、該ロウキャッシュメモリに格納されているとき、ヒット信号を生成し、また該メモリ要求によって要求された該データが、該ロウキャッシュメモリに格納されていないとき、ミス信号を生成する、請求項１に記載のメモリモジュール。
【請求項８】
前記ロウキャッシュメモリと、前記メモリデバイスインターフェースとに結合されているデータ入力と、前記リンクインターフェースに結合されているデータ出力と、該ロウキャッシュメモリから前記ロウキャッシュヒットおよびロウキャッシュミス信号を受信するために結合されている制御入力とを有するマルチプレクサをさらに備えており、該マルチプレクサは、該ロウキャッシュミス信号に応答して、該メモリデバイスインターフェースからリードデータを結合し、該ロウキャッシュヒット信号に応答して、該メモリデバイスインターフェースからリードデータを結合する、請求項７に記載のメモリモジュール。
【請求項９】
前記シーケンサは、メモリ要求が、前記インターフェースから前記メモリデバイスインターフェースに転送されていないときだけ、アクセスされているメモリセルのロウにおけるメモリセルからデータを読み取るためにメモリ要求を生成し、該メモリ要求を該メモリデバイスインターフェースに結合するように動作可能である、請求項１に記載のメモリモジュール。
【請求項１０】
複数のメモリデバイスと
メモリハブと
を備えたメモリモジュールであって、
該メモリハブは、
メモリデバイスの少なくともにおけるメモリセルのロウへのアクセスのためのメモリ要求を受信するリンクインターフェースと、
該メモリデバイスに結合されているメモリデバイスインターフェースであって、該メモリデバイスの少なくとも１つにおけるメモリセルのロウへのアクセスのためのメモリ要求を該メモリデバイスに結合するように動作可能であり、かつ、該メモリ要求の少なくともいくつかに応答して、リードデータを受信するように動作可能であり、該メモリ要求の少なくともいくつかは、該リンクインターフェースから、該メモリデバイスインターフェースに転送されたメモリ要求に応答して、該メモリデバイスに結合されている、メモリデバイスインターフェースと、
該リンクインターフェースと、該メモリデバイスインターフェースと、該ロウキャッシュメモリとに結合されているシーケンサであって、該リンクインターフェースから受信された各リードメモリ要求に含まれるアドレスを出力するように動作可能である、シーケンサと、
該メモリデバイスインターフェースに結合されているロウキャッシュメモリであって、該メモリデバイスインターフェースから、該少なくとも１つのメモリデバイスに結合されている該メモリ要求の１つに応答して、アクセスされているメモリセルのロウからリードデータを受信し、格納するロウキャッシュメモリであって、該シーケンサから該アドレスを受信することにより、該メモリ要求によって要求されたデータが、該ロウキャッシャメモリに格納されているかどうかを決定するようにさらに動作可能であり、該ロウキャッシュメモリは、該リードデータを出力し、該メモリ要求によって要求された該データが、該ロウキャッシュメモリに格納されているとき、ヒット信号を生成し、また該メモリ要求によって要求された該データが、該ロウキャッシュメモリに格納されていないとき、ミス信号を生成する、ロウキャッシュメモリと、
該ロウキャッシュメモリと、該メモリデバイスインターフェースとに結合されているデータ入力と、該リンクインターフェースに結合されているデータ出力と、該ロウキャッシュメモリから該ロウキャッシュヒットおよびロウキャッシュミス信号を受信するために結合されている制御入力とを有するマルチプレクサであって、該ロウキャッシュミス信号に応答して、該メモリデバイスインターフェースからリードデータを結合し、該ロウキャッシュヒット信号に応答して、該メモリデバイスインターフェースからリードデータを結合する、マルチプレクサと
を備えた、メモリモジュール。
【請求項１１】
前記メモリデバイスインターフェースは、前記リンクインターフェースおよび前記シーケンサから受信されたメモリ要求を受信し、格納するように動作可能であり、かつ、該格納されているメモリ要求を受信された順序で前記少なくとも１つもメモリデバイスに転送するように動作可能なファーストイン・ファーストアウトバッファをさらに備えた、請求項１０に記載のメモリモジュール。
【請求項１２】
前記インターフェースは、メモリ要求を受信し、格納するように動作可能であり、かつ、該格納されているメモリ要求を受信された順序で前記メモリデバイスに転送するように動作可能なファースイン・ファーストアウトバッファを備えた、請求項１０に記載のメモリモジュール。
【請求項１３】
前記メモリデバイスインターフェースは、前記リンクインターフェースおよび前記シーケンサから受信されたメモリ要求を受信し、格納するように動作可能であり、かつ、該格納されているメモリ要求を受信された順序で前記少なくとも１つもメモリデバイスに転送するように動作可能なファーストイン・ファーストアウトバッファをさらに備えた、請求項１２に記載のメモリモジュール。
【請求項１４】
前記リンクインターフェースは、光入力／出力ポート備えた、請求項１０に記載のメモリモジュール。
【請求項１５】
前記メモリデバイスは、ダイナミックＲＡＭデバイス備えた、請求項１０に記載のメモリモジュール。
【請求項１６】
メモリ要求を受信するリンクインターフェースであって、該メモリ要求の少なくともいくつかは、ロウアドレスを含む、リンクインターフェースと、
メモリ要求を出力するように動作可能であり、該メモリ要求の少なくともいくつかに応答して、リードデータを受信するように動作可能なメモリデバイスインターフェースであって、該メモリ要求の少なくともいくつかは、該リンクインターフェースから該メモリデバイスインターフェースに転送されたメモリ要求に応答して、該メモリデバイスインターフェースによって出力される、メモリデバイスインターフェースと、
該メモリデバイスインターフェースに結合されているロウキャッシュメモリであって、該メモリデバイスインターフェースから出力されている該メモリ要求の少なくとも１つの要求に応答して、該メモリデバイスインターフェースから受信されたリードデータを受信し、格納する、ロウキャッシュメモリと、
該リンクインターフェースと、該メモリデバイスインターフェースと、該ロウキャッシュメモリとに結合されているシーケンサであって、該リンクインターフェースから、該メモリデバイスインターフェースに転送されたメモリ要求に応答して、該メモリデバイスインターフェースによって受信されたリードデータに関連付けられたリードデータを読み取るためにメモリ要求を生成するように動作可能であり、かつ、該メモリ要求を該リンクインターフェースに結合するように動作可能であり、該シーケンサからのメモリ要求に応答して、受信されて、読み取られた該リードデータは、該ロウキャッシュメモリにおいて格納されている、シーケンサと
を備えた、メモリハブ。
【請求項１７】
前記メモリデバイスインターフェースは、前記リンクインターフェースおよび前記シーケンサから受信されたメモリ要求を受信し、格納するように動作可能であり、かつ、該格納されているメモリ要求を、受信された順序で出力するように動作可能なファーストイン・ファーストアウトバッファをさらに備えた、請求項１６に記載のメモリハブ。
【請求項１８】
前記インターフェースは、メモリ要求を受信し、格納するように動作可能であり、かつ、該格納されているメモリ要求を受信された順序で該メモリデバイスに転送するように動作可能なファースイン・ファーストアウトバッファを備えた、請求項１６に記載のメモリハブ。
【請求項１９】
前記メモリデバイスインターフェースは、前記リンクインターフェースおよび前記シーケンサから受信されたメモリ要求を受信し、格納するように動作可能であり、かつ、該格納されているメモリ要求を、受信された順序で出力するように動作可能なファーストイン・ファーストアウトバッファをさらに備えた、請求項１８に記載のメモリハブ。
【請求項２０】
前記リンクインターフェースは、光入力／出力ポート備えた、請求項１６に記載のメモリハブ。
【請求項２１】
前記シーケンサは、前記リンクインターフェースから受信された各リードメモリ要求に含まれるアドレスを出力するように動作可能であり、前記ロウキャッシュメモリは、該シーケンサから該アドレスを受信することにより、該メモリ要求によって要求されたデータが、該ロウキャッシャメモリに格納されているかどうかを決定するように動作可能であり、該ロウキャッシュメモリは、前記リードデータを出力し、該メモリ要求によって要求された該データが、該ロウキャッシュメモリに格納されているとき、ヒット信号を生成し、また該メモリ要求によって要求された該データが、該ロウキャッシュメモリに格納されていないとき、ミス信号を生成する、請求項１６に記載のメモリハブ。
【請求項２２】
前記ロウキャッシュメモリと、前記メモリデバイスインターフェースとに結合されているデータ入力と、前記リンクインターフェースに結合されているデータ出力と、該ロウキャッシュメモリから前記ロウキャッシュヒットおよびロウキャッシュミス信号を受信するために結合されている制御入力とを有するマルチプレクサをさらに備えており、該マルチプレクサは、該ロウキャッシュミス信号に応答して、該メモリデバイスインターフェースからリードデータを結合し、該ロウキャッシュヒット信号に応答して、該メモリデバイスインターフェースからリードデータを結合する、請求項２１に記載のメモリハブ。
【請求項２３】
前記シーケンサは、メモリ要求が、前記インターフェースから前記メモリデバイスインターフェースに転送されていないときだけ、データを読み取るためにメモリ要求を生成し、該メモリ要求を該メモリデバイスインターフェースに結合するように動作可能である、請求項１６に記載のメモリハブ。
【請求項２４】
中央演算処理装置（「ＣＰＵ」）と、
該ＣＰＵに結合されているシステムコントローラであって、入力ポートと出力ポートを有するシステムコントローラと、
該システムコントローラを介して該ＣＰＵに結合されている入力デバイスと、
該システムコントローラを介して該ＣＰＵに結合されている出力デバイスと、
該システムコントローラを介して該ＣＰＵに結合されている格納デバイスと、
複数のメモリモジュールであって、該複数のメモリモジュールのそれぞれは、
複数のメモリデバイスと、
メモリハブと
を備えた、複数のメモリモジュールと、
該メモリハブは、
入力ポートと出力ポートを有するリンクインターフェースであって、該メモリデバイスの少なくとも１つにおけるメモリセルのロウにアクセスのために該入力ポートを介してメモリ要求を受信し、該メモリ要求に応答して、該出力ポートを介してデータを出力する、リンクインターフェースと、
該メモリデバイスに結合されているメモリデバイスインターフェースであって、該メモリデバイスの少なくとも１つにおけるメモリセルのロウへのアクセスのためのメモリ要求を該メモリデバイスに結合するように動作可能であり、かつ、該メモリ要求の少なくともいくつかに応答して、リードデータを受信するように動作可能であり、該メモリ要求の少なくともいくつかは、該リンクインターフェースから、該メモリデバイスインターフェースに転送されたメモリ要求に応答して、該メモリデバイスに結合されている、メモリデバイスインターフェースと、
該メモリデバイスインターフェースに結合されているロウキャッシュメモリであって、該メモリデバイスインターフェースから、該少なくとも１つのメモリデバイスに結合されている該メモリ要求の少なくとも１つに応答して、アクセスされているメモリセルのロウからリードデータを受信し、格納する、ロウキャッシュメモリと、
該リンクインターフェースと、該メモリデバイスインターフェースと、該ロウキャッシュメモリとに結合されているシーケンサであって、アクセスされているメモリセルのロウにおけるメモリセルからデータを読み取るためにメモリ要求を生成するように動作可能であり、かつ、該メモリ要求を該メモリデバイスインターフェースに結合するように動作可能であり、該リードデータは、アクセスされているメモリセルの該ロウにおける該メモリセルから読み取られ、該ロウキャッシュメモリに格納されている、シーケンサと、
該システムコントローラの該出力ポートを該メモリモジュールのそれぞれにおける該メモリハブの該入力ポートに結合し、該システムコントローラの該入力ポートを該メモリモジュールのそれぞれにおける該メモリハブの該出力ポートに結合する通信リンクと
を備えたコンピュータシステム。
【請求項２５】
前記メモリデバイスインターフェースは、前記リンクインターフェースおよび前記シーケンサから受信されたメモリ要求を受信し、格納するように動作可能であり、かつ、該格納されているメモリ要求を受信された順序で前記少なくとも１つもメモリデバイスに転送するように動作可能なファーストイン・ファーストアウトバッファをさらに備えた、請求項２４に記載のコンピュータシステム。
【請求項２６】
前記インターフェースは、メモリ要求を受信および格納し、かつ、該格納されているメモリ要求を、受信された順序で前記メモリデバイスに転送して動作可能なファースイン・ファーストアウトバッファを備えた、請求項２４に記載のコンピュータシステム。
【請求項２７】
前記メモリデバイスインターフェースは、前記リンクインターフェースおよび前記シーケンサから受信されたメモリ要求を受信し、格納するように動作可能であり、かつ、該格納されているメモリ要求を受信された順序で前記少なくとも１つもメモリデバイスに転送するように動作可能なファーストイン・ファーストアウトバッファをさらに備えた、請求項２６に記載のコンピュータシステム。
【請求項２８】
前記メモリデバイスは、ダイナミックＲＡＭデバイス備えた、請求項２４に記載のコンピュータシステム。
【請求項２９】
前記シーケンサは、前記リンクインターフェースから受信された各リードメモリ要求に含まれるアドレスを出力するように動作可能であり、前記ロウキャッシュメモリは、該シーケンサから該アドレスを受信することにより、該メモリ要求によって要求されたデータが、該ロウキャッシャメモリに格納されているかどうかを決定するように動作可能であり、該ロウキャッシュメモリは、前記リードデータを出力し、該メモリ要求によって要求された該データが、該ロウキャッシュメモリに格納されているとき、ヒット信号を生成し、また該メモリ要求によって要求された該データが、該ロウキャッシュメモリに格納されていないとき、ミス信号を生成する、請求項２４に記載のコンピュータシステム。
【請求項３０】
前記ロウキャッシュメモリと、前記メモリデバイスインターフェースとに結合されているデータ入力と、前記リンクインターフェースに結合されているデータ出力と、該ロウキャッシュメモリから前記ロウキャッシュヒットおよびロウキャッシュミス信号を受信するために結合されている制御入力とを有するマルチプレクサをさらに備えており、該マルチプレクサは、該ロウキャッシュミス信号に応答して、該メモリデバイスインターフェースからリードデータを結合し、該ロウキャッシュヒット信号に応答して、該メモリデバイスインターフェースからリードデータを結合する、請求項２９に記載のコンピュータシステム。
【請求項３１】
前記シーケンサは、メモリ要求が、前記インターフェースから前記メモリデバイスインターフェースに転送されていないときだけ、アクセスされているメモリセルのロウにおけるメモリセルからデータを読み取るためにメモリ要求を生成し、該メモリ要求を該メモリデバイスインターフェースに結合するように動作可能である、請求項２４に記載のコンピュータシステム。
【請求項３２】
前記システムコントローラの前記入力および出力ポートは、前記通信リンクに結合されている一体の入力・出力ポートを備え、前記メモリハブのそれぞれの該入力および出力ポートは、該通信リンク結合されている一体の入力・出力ポートを備えた、請求項２４に記載のコンピュータシステム。
【請求項３３】
前記通信リンクは、光通信リンクを備え、前記システムコントローラの前記入力および出力ポートは、該光通信リンクに結合されている光入力・出力ポートを備え、前記メモリハブのそれぞれの該入力および出力ポートは、該光通信リンク結合されているそれぞれの入力・出力ポートを備えた、請求項３２に記載のコンピュータシステム。
【請求項３４】
中央演算処理装置（「ＣＰＵ」）と、
該ＣＰＵに結合されているシステムコントローラであって、入力ポートと出力ポートを有するシステムコントローラと、
該システムコントローラを介して該ＣＰＵに結合されている入力デバイスと、
該システムコントローラを介して該ＣＰＵに結合されている出力デバイスと、
該システムコントローラを介して該ＣＰＵに結合されている格納デバイスと、
複数のメモリモジュールであって、該複数のメモリモジュールのそれぞれは、
複数のメモリデバイスと、
メモリハブと
を備えた、複数のメモリモジュールと、
該メモリハブは、
少なくとも１つのメモリデバイスにおけるメモリセルのロウへのアクセスのためのメモリ要求を有するリンクインターフェースと、
該メモリデバイスに結合されているメモリデバイスインターフェースであって、該メモリデバイスの少なくとも１つにおけるメモリセルのロウへのアクセスのためのメモリ要求を該メモリデバイスに結合するように動作可能であり、かつ、該メモリ要求の少なくともいくつかに応答して、リードデータを受信するように動作可能であり、該メモリ要求の少なくともいくつかは、該リンクインターフェースから、該メモリデバイスインターフェースに転送されたメモリ要求に応答して、該メモリデバイスに結合されている、メモリデバイスインターフェースと、
該リンクインターフェースと、該メモリデバイスインターフェースと、該ロウキャッシュメモリとに結合されているシーケンサであって、該リンクインターフェースから受信された各リードメモリ要求に含まれるアドレスを出力するように動作可能である、シーケンサと、
該メモリデバイスインターフェースに結合されているロウキャッシュメモリであって、該メモリデバイスインターフェースから、該少なくとも１つのメモリデバイスに結合されている該メモリ要求の１つに応答して、アクセスされているメモリセルのロウからリードデータを受信し、格納するロウキャッシュメモリであって、該シーケンサから該アドレスを受信することにより、該メモリ要求によって要求されたデータが、該ロウキャッシャメモリに格納されているかどうかを決定するようにさらに動作可能であり、該ロウキャッシュメモリは、前記リードデータを出力し、該メモリ要求によって要求された該データが、該ロウキャッシュメモリに格納されているとき、ヒット信号を生成し、また該メモリ要求によって要求された該データが、該ロウキャッシュメモリに格納されていないとき、ミス信号を生成する、ロウキャッシュメモリと、
該ロウキャッシュメモリと、該メモリデバイスインターフェースとに結合されているデータ入力と、該リンクインターフェースに結合されているデータ出力と、該ロウキャッシュメモリから該ロウキャッシュヒットおよびロウキャッシュミス信号を受信するために結合されている制御入力とを有するマルチプレクサであって、該ロウキャッシュミス信号に応答して、該メモリデバイスインターフェースからリードデータを結合し、該ロウキャッシュヒット信号に応答して、該メモリデバイスインターフェースからリードデータを結合する、マルチプレクサと
該システムコントローラの該出力ポートを該メモリモジュールのそれぞれにおける該メモリハブの該入力ポートに結合し、該システムコントローラの該入力ポートを該メモリモジュールのそれぞれにおける該メモリハブの該出力ポートに結合する通信リンクと
を備えたコンピュータシステム。
【請求項３５】
前記メモリデバイスインターフェースは、前記リンクインターフェースおよび前記シーケンサから受信されたメモリ要求を受信し、格納するように動作可能であり、かつ、該格納されているメモリ要求を受信された順序で該少なくとも１つもメモリデバイスに転送するように動作可能なファーストイン・ファーストアウトバッファをさらに備えた、請求項３４に記載のコンピュータシステム。
【請求項３６】
前記インターフェースは、メモリ要求を受信し、格納するように動作可能であり、かつ、該格納されているメモリ要求を受信された順序で該メモリデバイスに転送するように動作可能なファースイン・ファーストアウトバッファを備えた、請求項３４に記載のコンピュータシステム。
【請求項３７】
前記メモリデバイスインターフェースは、前記リンクインターフェースおよび前記シーケンサから受信されたメモリ要求を受信し、格納するように動作可能であり、かつ、該格納されているメモリ要求を受信された順序で該少なくとも１つもメモリデバイスに転送するように動作可能なファーストイン・ファーストアウトバッファをさらに備えた、請求項３６に記載のコンピュータシステム。
【請求項３８】
前記リンクインターフェースは、光入力／出力ポート備えた、請求項３４に記載のコンピュータシステム。
【請求項３９】
前記メモリデバイスは、ダイナミックＲＡＭデバイス備えた、請求項３４に記載のコンピュータシステム。
【請求項４０】
前記システムコントローラの前記入力および出力ポートは、前記通信リンクに結合されている一体の入力・出力ポートを備え、前記メモリハブのそれぞれの該入力および出力ポートは、該通信リンク結合されている一体の入力・出力ポートを備えた、請求項３４に記載のコンピュータシステム。
【請求項４１】
前記通信リンクは、光通信リンクを備え、前記システムコントローラの前記入力および出力ポートは、該光通信リンクに結合されている光入力・出力ポートを備え、前記メモリハブのそれぞれの該入力および出力ポートは、該光通信リンク結合されているそれぞれの入力・出力ポートを備えた、請求項４０に記載のコンピュータシステム。
【請求項４２】
複数のメモリモジュールに結合されているコントローラを用いて、該複数のメモリモジュールのそれぞれにおけるデータを読み取る方法であって、
該メモリモジュールの第１のモジュールによって該コントローラからメモリ要求を受信することであって、該メモリ要求の少なくとも１つは、該第１のメモリモジュールに含まれる複数のメモリデバイスにおける少なくとも１つのメモリデバイスのメモリセルのロウにおけるメモリセルにアクセスするための要求である、ことと、
該第１のメモリモジュールにおける該少なくとも１つのメモリデバイスに該受信されたメモリ要求を結合することと、
該要求に応答して、アクセスされているメモリセルの該ロウにおけるメモリセルかデータを読み取るための要求を生成することにより、該少なくとも１つのメモリデバイスのメモリセルのロウにおけるメモリセルアクセスことであって、該要求は、該コントローラからのメモリ要求が、該少なくとも１つのメモリデバイスに結合されていないとき、生成さる、ことと、
該少なくとも１つのメモリデバイスに該生成されたメモリ要求を結合することと、
該第１のメモリモジュールにおけるキャッシュメモリにおいて、受信されたメモリ要求と、該生成されたメモリ要求とに応答して、リードデータを格納することと
を包含する、方法。
【請求項４３】
前記第１のメモリモジュールからのデータを読み取るための前記コントローラからのメモリ要求に応答して、
前記キャッシュメモリに前記リードデータが格納されているかどうかを決定することと、
該リードデータが該キャッシュメモリに格納されているとき、該キャッシュメモリから該コントローラに前記要求されたリードデータを転送することと、
該リードデータが該キャッシュメモリに格納されていないとき、該少なくとも１つのメモリデバイスから該コントローラに該要求されたリードデータを転送することと
をさらに包含する、請求項４２に記載の方法。
【請求項４４】
前記メモリモジュールの第１のモジュールによって前記コントローラからメモリ要求を受信する動作は、該受信されたメモリ要求に対応する光信号を受信することを包含する、請求項４２に記載の方法。
【請求項４５】
前記第１のメモリモジュールに含まれる前記メモリデバイスは、ダイナミックＲＡＭデバイスを包含する、請求項４２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムに関し、詳細には、プロセッサもしくは他のメモリアクセスデバイスに数個のメモリデバイスを結合するメモリハブを有するコンピュータシステムに関する。
【背景技術】
【０００２】
コンピュータシステムは、ダイナミックＲＡＭ（「ＤＲＡＭ」）デバイスといったメモリデバイスを用いて、プロセッサによってアクセスされる命令およびデータを格納する。これらのメモリデバイスは、通常、コンピュータシステムにおいてシステムメモリとして用いられる。典型的なコンピュータシステムにおいて、プロセッサは、プロセッサバスおよびメモリコントローラを介してシステムメモリと通信する。プロセッサは、リードコマンドといったメモリコマンドとデータもしくは命令が読み取られるべき場所を指し示すアドレスとを含むメモリ要求を出す。メモリコントローラは、コマンドおよびアドレスを用いて、適切なコマンド信号とともにロウアドレスおよびカラムアドレスを生成する。これらの信号およびアドレスは、システムメモリに供給される。コマンドおよびアドレスを受けて、データは、システムメモリとプロセッサとの間で転送される。メモリコントローラは、しばしばシステムコントローラの一部である。システムコントローラは、またＰＣＩバスといった拡張バスにプロセッサバスを結合するバスブリッジ回路を含む。
【０００３】
メモリデバイスの動作速度は、継続的に増加したが、動作速度におけるこの増加は、プロセッサの動作速度における増加のペースについていっていなかった。メモリデバイスにプロセッサを結合するメモリコントローラの動作速度における増加がさらにスローになった。メモリコントローラおよびメモリデバイスのこのかなりの低速度は、プロセッサとメモリデバイスとの間のデータ帯域幅を制限する。
【０００４】
プロセッサとメモリデバイスとの間のこの制限された帯域幅に加えて、コンピュータシステムの性能は、またシステムメモリデバイスからデータを読み出すために必要とされる時間を増加する待ち時間の問題によって制限される。詳細には、メモリデバイスリードコマンドは、シンクロナスＤＲＡＭ（「ＳＤＲＡＭ」）デバイスといったシステムメモリデバイスに結合されているとき、リードデータは、数回のクロック期間の遅延の後にだけＳＤＲＡＭデバイスから出力される。従って、ＳＤＲＡＭデバイスが、高いデータ率でバーストデータを同調して出力するが、データを最初に提供することにおけるこの遅延は、このようなＳＤＲＡＭデバイスを用いるコンピュータシステムの動作速度を著しくスローにし得る。
【０００５】
メモリの待ち時間の問題を軽減する１つのアプローチは、メモリハブを介してプロセッサに結合されている複数のメモリデバイスを用いることである。メモリハブのアーキテクチャにおいて、システムコントローラもしくはメモリコントローラは、数個のメモリデバイスに結合される。メモリモジュールのそれぞれは、数個のメモリデバイスに結合されているメモリハブを含む。メモリハブは、コントローラとメモリデバイスとの間のメモリ要求および応答を効率的にルーティングする。このアーキテクチャを利用するコンピュータシステムは、より高い帯域幅を有し得る。なぜなら、他のメモリデバイスが前のメモリアクセスに応答している一方で、プロセッサは、１つのメモリデバイスにアクセスし得るからである。例えば、プロセッサは、システム内の他のメモリデバイスが、プロセッサにリードデータを用意している一方で、システム内のメモリデバイスの１つにライトデータを出力し得る。メモリハブを用いるコンピュータシステムは、優れた性能を提供するが、それらは、いくつかの理由のため最適な速度で動作できない。例えば、メモリバスは、より大きいメモリ帯域幅を有するコンピュータシステムを提供し得るが、それらは依然として上述のタイプの待ち時間の問題を被る。詳細には、他のメモリデバイスが、データの転送する用意している一方で、プロセッサは、１つのメモリデバイスと通信し得るが、他のメモリデバイスからデータが用いられ得る前に、１つのメモリデバイスからデータを受信することが時々必要になる。他のメモリデバイスから受信されたデータが用いられ得る前に、１つのメモリデバイスからデータが受信されなければならない場合には、待ち時間の問題は、このようなコンピュータシステムの動作速度をスローにすることを継続する。
【０００６】
メモリデバイスにおける待ち時間を減少させるために用いられてきた１つの技術は、キャッシュメモリである。キャッシュメモリは、システムメモリから最近アクセスされたデータを格納する。キャッシュメモリは、通常、スタティックＲＡＭ（「ＳＲＡＭ」）の形状である。ＳＲＡＭは、システムメモリとして典型的に用いられるダイナミックＲＡＭ（「ＤＲＡＭ」）と比べて、よりかなり短いアクセスタイムを有する。さらに、ＳＲＡＭのキャッシュメモリは、通常、ＤＲＡＭシステムメモリの典型であるシステムコントローラ等を介するよりむしろプロセッサバスを介してプロセッサに直接的に結合される。キャッシュメモリのより速い速度およびキャッシュメモリのプロセッサへのより近い近接の結果として、キャッシュメモリの使用は、メモリリード動作の待ち時間を非常に減少させる。
【０００７】
従来のキャッシュメモリは、従来のコンピュータシステムにおけるメモリアクセスの待ち時間を減少させたが、キャッシュメモリは、メモリハブを用いるコンピュータシステムにおいて最適な性能を提供する態様で用いられなかった。特に、典型的なメモリハブシステムメモリの非常に大きい容量と比較して、典型的なキャッシュメモリの制限された格納容量は、キャッシュヒットが起きる可能性がより低くなるので、キャッシュメモリの価値を下げる。この問題は、次のメモリアクセスの対象であろうキャッシュメモリにデータを転送することにおける難しさによって悪化した。詳細には、メモリコントローラを介してすべてのメモリモジュールから次に必要とされるデータをプロセッサに結合し、それからプロセッサからキャッシュメモリに結合することは難しい。また、メモリハブと、プロセッサバスを介してプロセッサに結合されているキャッシュメモリとを用いるコンピュータシステムにおいてキャッシュコヒーレンスを維持することは難しいかもしれない。キャッシュコヒーレンスを維持することは大きいハードウェアリソースを要求し得る。さらに、キャッシュメモリを維持するために必要とされるタイムは、キャッシュメモリを用いる性能利点の大半が失われる程にメモリの性能をスローにし得る。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従って、メモリハブのアーキテクチャの利点を提供し、またこのようなシステムにおいて共通のこの待ち時間の問題を最小にし、これによって、高い帯域幅と低い待ち時間を有するメモリデバイスを提供するコンピュータアーキテクチャが求められている。
【課題を解決するための手段】
【０００９】
複数のメモリモジュールが、コンピュータシステムにおいてコントローラに結合されている。メモリモジュールのそれぞれは、複数のメモリデバイスとメモリハブとを含む。メモリハブは、コントローラに結合されているリンクインターフェースと、メモリデバイスに結合されているメモリデバイスインターフェースとを備える。リンクインターフェースは、メモリデバイスの少なくとも１つにおけるメモリセルのロウにアクセスのためのコントローラからメモリ要求を受信する。リンクインターフェースは、メモリデバイスインターフェースにメモリ要求を転送し、それからメモリデバイスインターフェースは、メモリデバイスの少なくとも１つにおけるメモリセルのロウにアクセスするメモリデバイスにメモリ要求を結合する。それから、メモリデバイスインターフェースは、メモリ要求の少なくともいくつかに応答して、メモリデバイスからリードデータを受信する。メモリハブのそれぞれは、またメモリデバイスインターフェースに結合されているロウキャッシュメモリであって、メモリ要求の少なくとも１つに応答して、リードデータを受信し、格納するロウキャッシュメモリを含む。また、メモリハブに含まれるシーケンサは、リンクインターフェースと、メモリデバイスインターフェースと、ロウキャッシュメモリとに結合される。シーケンサは、リンクインターフェースからメモリデバイスインターフェースに転送されたメモリ要求に応答して、アクセスされているメモリセルのロウにおけるメモリセルからデータを読み取るためにメモリ要求を生成し、そのメモリ要求をメモリデバイスインターフェースに結合する。生成されたメモリ要求に応答して、アクセスされているメモリセルのロウにおけるメモリセルからのリードデータは、またロウキャッシュメモリに格納される。シーケンサは、好ましくはメモリ要求がコントローラから受信されていないとき、メモリ要求を生成する。
【発明を実施するための最良の形態】
【００１０】
本発明の１つの例に従ったコンピュータシステム１００が、図１に示されている。コンピュータシステム１００は、特定の計算もしくはタスクを実行するために特定のソフトウェアを実行するといったさまざまな計算機能を実行するプロセッサ１０４を含む。プロセッサ１０４は、通常、アドレスバスと、コントロールバスと、データバスとを含むプロセッサバス１０６を含む。プロセッサバス１０６は、上述のように、通常、スタティックＲＡＭ（「ＳＲＡＭ」）であるメモリキャッシュ１０８に典型的に結合される。最終的に、プロセッサバス１０６は、またときどき「ノースブリッジ」もしくは「メモリコントローラ」と呼ばれるシステムコントローラ１１０に結合される。
【００１１】
システムコントローラ１１０は、さまざまな他のコンポーネントに対して、プロセッサ１０４への通信パスの役割を果たす。詳細には、システムコントローラ１１０は、通常、グラフィックコントローラ１１２とビデオターミナルとに交代で通常、結合されているグラフィックスポート含む。システムコントローラ１１０は、またキーボードもしくはマウスといった１つ以上の入力デバイス１１８に結合されることにより、オペレータが、コンピュータシステム１００とインターフェースすることを可能にする。通常、コンピュータシステム１００は、またシステムコントローラ１１０を介して、プロセッサ１０４に接続されているプリンタといった１つ以上の出力デバイスを含む。１つ以上のデータ格納デバイス１２４は、また通常システムコンローラ１１０を介してプロセッサ１０４に結合されることにより、プロセッサ１０４が、データを格納すること、もしくは内部または外部格納媒体（図示されず）からデータを検索することを可能にする。典型的な格納デバイス１２４の例は、ハードディスクと、フロッピー（登録商標）ディスクと、カセットテープと、コンパクトディスク読み取り専用メモリ（ＣＤ―ＲＯＭ）とを含む。
【００１２】
システムコントローラ１１０は、数個のメモリモジュール１３０ａ、ｂ、．．．ｎに結合されている。メモリモジュールは、コンピュータシステム１００に対して、システムメモリの役割を果たす。メモリモジュール１３０は、好ましくは高速リンク１３４を介してシステムコンローラ１１０に結合されている。高速リンク１３４は、光通信パス、電気通信パスもしくは他の種類の通信パスであり得る。高速リンク１３４が、光通信パスとしてインプリメントされる場合、光通信パスは、例えば、１つ以上の光ファイバーの形状であり得る。このような場合、システムコントローラ１１０およびメモリモジュールは、光通信パスに結合されている光入力／出力ポートもしくは別々の入力および出力ポートを含む。メモリモジュール１３０は、マルチドロップ配置においてシステムコントローラ１１０に結合されていることが示されている。マルチドロップ配置では、単一の高速リンク１３４が、すべてのメモリモジュール１３０に結合されている。しかしながら、ポイント・ツー・ポイント結合配置といった他のトポロジーもまた用いられえることが理解される。ポイント・ツー・ポイント結合では、別々の高速リンク（図示されず）がシステムコントローラ１１０にメモリモジュール１３０のそれぞれを結合するために用いられえる。スイッチングトポロジーが、また用いられ得る。ここでは、システムコントローラ１１０が、スイッチ（図示されず）を介してメモリモジュール１３０のそれぞれに選択的に結合されている。用いられ得る他のトポロジーは、当業者には、明らかである。
【００１３】
メモリモジュール１３０のそれぞれは、６個のメモリデバイス１４８へのアクセスをコントロールするメモリハブ１４０含む。図２に示されている例において、メモリデバイス１４８は、シンクロナスＤＲＡＭ（「ＳＤＲＡＭ」）デバイスである。しかしながら、より数の少ないもしくは多いメモリデバイス１４８が用いられ得る。ＳＤＲＡＭデバイス以外のメモリデバイスもまた当然用いられ得る。メモリハブ１４０は、バスシステム１５０を介してシステムメモリデバイス１４８のそれぞれに結合されている。バスシステム１５０は、通常、コンロールバスと、アドレスバスと、データバスとを含む。
【００１４】
図１のメモリハブ１４０の１つの例が図２に示されている。メモリハブ１４０は、高速リンク１３４に結合されているリンクインターフェース１５２を含む。リンクインターフェース１５２の性質は、高速リンク１３４の特性に依存する。例えば、高速リンク１３４が、光通信パスを用いてインプリメントされる場合、リンクインターフェース１５２は、光入力／出力ポートを含み、光通信パスを介して光信号を電気信号に変換する。いかなる場合でも、リンクインターフェース１５２は、好ましくはメモリ要求が高速リンク１３４を介して受信されたとき、メモリ要求を受信し、格納するファーストイン・ファーストアウトバッファ１５４といったバッファを含む。メモリ要求は、メモリハブ１４０によってプロセスされ得るまで、バッファ１５４に格納される。
【００１５】
メモリハブ１４０が、メモリ要求をプロセスし得るとき、バッファ１５４に格納されているメモリ要求の１つがメモリシーケンサ１６０に転送される。メモリシーケンサ１６０は、システムコントローラ１１０から出力されたフォーマットからのメモリ要求を、メモリデバイス１４８によって用いられ得るフォーマットを有するメモリ要求に変換する。これらのリフォーマットされた要求信号は、通常、メモリコマンド信号、およびロウとカラムのアドレス信号を含む。メモリコマンド信号は、メモリハブ１４０によって受信されるメモリ要求に含まれるメモリコマンドから得られる。ロウとカラムのアドレス信号は、メモリハブ１４０によって受信されるメモリ要求に含まれるアドレスから得られる。メモリ要求がライトメモリ要求の場合、リフォーマットされた要求信号は、通常、メモリハブ１４によって受信されるメモリ要求に含まれるライトデータから得られるライトデータ信号含む。例えば、メモリデバイス１４８が従来のＤＲＡＭデバイスのとき、メモリシーケンサ１６０は、ロウアドレス信号と、ロウアドレスのストローブ（「ＲＡＳ」）信号と、アクティブハイライト／アクティブローライト信号（「Ｗ／Ｒ＊」）と、カラムアドレス信号と、カラムアドレスのストローブ（「ＣＡＳ」）信号を出力する。リフォーマットされたメモリ要求は、好ましくはメモリデバイス１４８によって用いられる順序で、シーケンサ１６０から出力される。
【００１６】
メモリシーケンサ１６０は、メモリデバイスインターフェース１６６にリフォーマットされたメモリ要求を供給する。メモリデバイスインターフェースの性質は、またメモリデバイス１４８の特性に依存する。いずれの場合も、メモリデバイスインターフェース１６６は、好ましくはリンクインターフェース１５２から受信されるとき、１つ以上のメモリ要求を受信し、格納するＦＩＦＯバッファ１６８といったバッファを含む。メモリ要求は、メモリデバイス１４８によってプロセスされるまで、バッファ１６８に格納される。しかしながら、メモリデバイスインターフェース１６６が、数個のメモリ要求を格納する場合、メモリデバイスインターフェース１６６は、メモリ要求を再順序化し得る。その結果、メモリ要求は、他の順序でメモリデバイスに供給される。例えば、メモリ要求は、他の種類の要求（例えば、ライト要求）の前に１つの種類の要求（例えば、リード要求）がプロセスされるようにさせる様態でインターフェース１６６に格納され得る。
【００１７】
メモリ要求は、メモリデバイス１４８にメモリ要求が供給されるフォーマットとは異なるフォーマットでメモリハブ１４０によって受信されるものとして上述されている。しかしながら、システムコントローラ１１０は、代わりにプロセッサ１０４からのメモリ要求をメモリデバイス１４８によって用いられ得るフォーマットにリフォーマットし得る（図１）。このような場合、シーケンサ１６０が、メモリ要求をリフォーマットする必要はない。代わりに、シーケンサ１６０は、メモリデバイス１４８によって用いられるために必要とされる順序でリフォーマットされたメモリ要求信号をスケジュール化する。１つ以上のメモリ要求に対するメモリ要求信号は、それから、メモリデバイスインターフェース１６６に転送される。その結果、メモリ要求信号は、次にメモリデバイス１４８に供給され得る。
【００１８】
上述のように、メモリハブを用いる不利点の１つは、メモリハブがときどき作成し得る増加した待ち時間である。また上述されるように、プロセッサ１０４におけるキャッシュメモリもしくは、プロセッサバス１０６に結合されているキャッシュメモリ（図１）は、メモリリードの待ち時間を減少させる従来のアプローチであるが、メモリハブを用いるメモリシステムにあまり適していない。図２に示されるメモリハブ１４０の例は、メモリハブ１４０のそれぞれにおいてロウキャッシュメモリ１７０を含むことによって、比較的低いメモリリードの待ち時間を提供する。ロウキャッシュメモリ１７０は、設計において、データメモリ（図示されず）と、タグメモリ（図示されず）と、従来のアドレス比較ロジック（図示されず）とを含む従来のキャッシュシステムと同様であり得る。ロウキャッシュメモリ１７０は、モジュール１４０の１つ以上のメモリデバイス１４８における以前にアドレス指定されたメモリセルの１つ以上のロウに含まれるデータを格納する。ロウキャッシュメモリ１７０は、リンクインターフェース１５２からのメモリ要求の一部を形成するアドレスを受信する。アドレスは、キャッシュされたデータのアドレスと比較される。メモリ要求によってフェッチされているデータが、ロウキャッシュメモリ１７０に格納されていると示すアドレスマッチの場合、メモリ１７０は、要求されたデータおよびキャッシュヒットを示す“ＲＯＷ  ＨＩＴ”信号を出力する。ＲＯＷ  ＨＩＴ信号は、マルチプレクサ１７６に供給されることにより、キャッシュメモリ１７０からデータがリンクインターフェース１５２に結合されるようにさせる。ロウキャッシュミスの場合、マルチプレスサ１７６は、リンクインターフェース１５２にメモリデバイスインターフェース１６６からのデータを結合する。ＲＯＷ  ＨＩＴ信号は、またメモリシーケンサ１６０に供給される。したがって、ロウヒットの場合、シーケンサは、メモリデバイスインターフェース１６６にメモリ要求を結合しない。なぜなら、メモリ要求によって要求されたデータは、既にロウキャッシュメモリ１７０によって供給されたからである。
【００１９】
ロウキャッシュメモリ１７０は、以前にアクセスされたロウにおけるカラムだけからのデータを格納し得るが、メモリハブ１４０が、システムコントローラ１１０からのメモリ要求に応答するのにビジーでないとき、メモリ１７０は、好ましくはキャッシュされたロウの多くのもしくはすべてのカラムからデータをプリフェッチする。詳細には、メモリシーケンサ１６０は、アクセスされているロウのどのカラムが、ロウキャッシュメモリ１７０に転送され、そこに格納されているデータを有しているかを把握する従来の回路を含む。シーケンサ１６０が、インターフェース１５２からのメモリ要求を供給するのにビジーでないとき、シーケンサ１６０は、メモリデバイスインターフェース１６６に供給されるメモリ要求を生成することにより、アドレス指定されたロウの残りのカラムに格納されているデータをロウキャッシュメモリ１７０に転送されるようにさせる。結果として、メモリアクセスは、通常、同じロウにおける一連のメモリロケーションに対してであるので、ロウキャッシュメモリ１７０は、次のメモリ要求でフェッチされるデータを格納する可能性が高い。
【００２０】
メモリハブ１４０は、さまざまなプロシージャを用いてメモリデバイス１４８の１つにおけるメモリセルの新しいロウに向けられる次のメモリ要求を処理し得る。例えば、ロウキャッシュメモリ１７０が、１つより多いロウからのデータを格納することが可能であるとき、シーケンサ１６０は、次にアクセスされたロウに格納されているデータをロウキャッシュメモリ１７０に単に転送させ得るだけである。ロウキャッシュメモリが、メモリセルの単一のロウだけからデータを格納することが可能であるとき、もしくは、キャッシュメモリ１７０がその格納容量に達すとき、メモリセルの新たにアクセスされたロウに格納されているデータが、以前格納されたデータを単にオーバーライトし得るだけである。
【００２１】
図２に示されておらず、また上述されていないが、メモリハブ１４０は、好ましくは従来のメモリキャッシュ技術を用いてキャッシュの整合性を保持する回路を含む。例えば、ハブ１４０は、ライトのためのロケーションへのメモリ要求の後に、リードのための同じロケーションへのメモリ要求がくる場合、“ライトスルー”動作モードもしくは“ライトバック”動作モードを利用し得る。
【００２２】
上述から、例示のために本発明の特定の実施形態が記載されてきたが、さまざまな変形が、本発明の精神および範囲を逸脱することなくされることは認識される。したがって、本発明は、添付の請求項によって限定される。
【図面の簡単な説明】
【００２３】
【図１】本発明の１つの例に従ったコンピュータシステムのブロック図であって、メモリハブが、複数のメモリモジュールのそれぞれに含まれているブロック図である。
【図２】図１のコンピュータシステムに用いられるメモリハブのブロック図である。
【図１】
2005535038.tif 000003
【図２】
2005535038.tif 000004
【国際調査報告】
2005535038.tif 000005