(57)【要約】【課題】本発明は、分散共用メモリ（ＤＳＭ）マルチプロセッサの主メモリを実装するのに用いることができ、メモリを容易に更新または交換できるような機構を提供する。【解決手段】ディレクトリに基づく分散共用メモリ・マルチプロセッサ・コンピュータ・システムにおいて使用するための大記憶容量デュアル・インライン・メモリ・モジュール（ＤＩＭＭ）は、データを記憶するためのデータ・メモリと、データの少くとも一部に対応する状態またはディレクトリ情報を記憶するための状態メモリとを含む。ＤＩＭＭによりデータと状態情報を独立してアクセスすることができるようになる。ＤＩＭＭは複数の記憶容量に構成することが可能である。【選択図】図２
2007280435.tif 000002
【特許請求の範囲】
【請求項１】
デュアル・インライン・メモリ・モジュール（ＤＩＭＭ）において、
回路基板と、
前記回路基板に装着されてデータを論理的に組織されたメモリ・ブロック内に記憶するための第１のメモリ手段と、
前記回路基板に装着されて少くとも１つのメモリ・ブロック内に記憶されたデータに対応するキャッシュ状態情報を記憶するための第２のメモリ手段と、
を備えたことを特徴とするデュアル・インライン・メモリ・モジュール。
【請求項２】
請求項１に記載されたＤＩＭＭにおいて、キャッシュ状態情報を記憶するための前記第２のメモリ手段が、
前記記憶されたデータがキャッシュ・メモリ内にキャッシュされているか否かの指示と、
前記記憶されたデータが前記キャッシュ・メモリ内のどこにキャッシュされているかを示す指示と、
前記少なくとも１つのメモリ・ブロックが前記キャッシュ・メモリ内にキャッシュされているか否かの指示と、
前記記憶されたデータへのアクセス権と、
の内の少なくとも１つを記憶するための二次的なメモリ手段を含むことを特徴とするＤＩＭＭ。
【請求項３】
請求項１に記載されたＤＩＭＭにおいて、
前記第１のメモリ手段と前記第２のメモリ手段を別々にアクセスできるようにするためのさらなる手段を備えたことを特徴とするＤＩＭＭ。
【請求項４】
請求項３に記載されたＤＩＭＭにおいて、
前記さらなる手段はコネクタと、前記コネクタは複数のパッドと、前記パッドは、
アドレス・パッドの第１のグループと、
アドレス・パッドの第２のグループと、
データ・パッドの第１のグループと、
データ・パッドの第２のグループを含むことを特徴とするＤＩＭＭ。
【請求項５】
請求項４に記載されたＤＩＭＭにおいて、
前記複数のパッドは以下の構成を有し、
データ・パッドの前記第１のグループおよびアドレス・パッドの前記第１のグループは前記第１のメモリ手段に電気的に結合され、
データ・パッドの前記第２のグループおよびアドレス・パッドの前記第２のグループは前記第２のメモリ手段に電気的に結合され、
前記構成は前記第１および第２のメモリ手段の独立したアドレッシングが行なえること
を特徴とするＤＩＭＭ。
【請求項６】
請求項１に記載されたＤＩＭＭにおいて、
前記第１のメモリ手段および前記第２のメモリ手段はそれぞれ複数のダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）チップを備えたことを特徴とするＤＩＭＭ。
【請求項７】
請求項１に記載されたＤＩＭＭにおいて、
前記第１および第２のメモリ手段に結合したフェーズ・ロックド・ループ・クロック駆動回路および前記第１のメモリ手段のアドレスおよび制御信号をバッファリングするためのバッファをさらに備えたことを特徴とするＤＩＭＭ。
【請求項８】
請求項１に記載されたＤＩＭＭにおいて、
前記第１のメモリ手段はメモリ・ブロックに論理的に組織され、前記第２のメモリ手段は前記メモリ・ブロックのグループに記憶されたデータのアクセス権を記憶するように構成されていることを特徴とするＤＩＭＭ。
【請求項９】
請求項５に記載されたＤＩＭＭにおいて、
前記第１のメモリ手段および前記第２のメモリ手段はそれぞれが複数の同期ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）チップを備えたことを特徴とするＤＩＭＭ。
【請求項１０】
デュアル・インライン・メモリ・モジュール（ＤＩＭＭ）において、
回路基板と、
前記回路基板に装着されてデータを論理的に組織されたメモリ・ブロック内に記憶するように構成されたデータ・メモリと、
前記回路基板に装着されて少くとも１つのメモリ・ブロック内に記憶されたデータに対応するキャッシュ状態情報を記憶するように構成された状態メモリと、
を備えたことを特徴とするデュアル・インライン・メモリ・モジュール。
【請求項１１】
請求項１０に記載されたＤＩＭＭにおいて、キャッシュ状態情報を記憶するように構成された前記状態メモリが、
前記記憶されたデータがキャッシュ・メモリ内にキャッシュされているか否かの指示と、
前記記憶されたデータが前記キャッシュ・メモリ内のどこにキャッシュされているかを示す指示と、
前記少なくとも１つのメモリ・ブロックが前記キャッシュ・メモリ内にキャッシュされているか否かを示す指示の指示と、
前記少なくとも１つのメモリ・ブロックが前記キャッシュ・メモリ内のどこにキャッシュされているかを示す指示と
前記記憶されたデータへのアクセス権と、
の内の少なくとも１つを記憶するための二次的なメモリ手段を含むことを特徴とするＤＩＭＭ。
【請求項１２】
請求項１０に記載されたＤＩＭＭにおいて、
前記第１のメモリ手段と前記第２のメモリ手段を別々にアクセスできるようにするためのさらなる手段を備えたことを特徴とするＤＩＭＭ。
【請求項１３】
請求項１２に記載されたＤＩＭＭにおいて、
前記さらなる手段はコネクタと、前記コネクタは複数のパッドと、前記パッドは、
アドレス・パッドの第１のグループと、
アドレス・パッドの第２のグループと、
データ・パッドの第１のグループと、
データ・パッドの第２のグループを含むことを特徴とするＤＩＭＭ。
【請求項１４】
請求項１３に記載されたＤＩＭＭにおいて、
前記複数のパッドは以下の構成を有し、
データ・パッドの前記第１のグループおよびアドレス・パッドの前記第１のグループは前記第１のメモリ手段に電気的に結合され、
データ・パッドの前記第２のグループおよびアドレス・パッドの前記第２のグループは前記第２のメモリ手段に電気的に結合され、
前記構成は前記第１および第２のメモリ手段の独立したアドレッシングが行なえること
を特徴とするＤＩＭＭ。
【請求項１５】
請求項１０に記載されたＤＩＭＭにおいて、
前記第１のメモリ手段および前記第２のメモリ手段はそれぞれ複数のダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）チップを備えたことを特徴とするＤＩＭ
Ｍ。
【請求項１６】
請求項１０に記載されたＤＩＭＭにおいて、
前記第１および第２のメモリ手段に結合したフェーズ・ロックド・ループ・クロック駆動回路および前記第１のメモリ手段のアドレスおよび制御信号をバッファリングするためのバッファをさらに備えたことを特徴とするＤＩＭＭ。
【請求項１７】
請求項１０に記載されたＤＩＭＭにおいて、
前記第１のメモリ手段はメモリ・ブロックに論理的に組織され、前記第２のメモリ手段は前記メモリ・ブロックのグループに記憶されたデータのアクセス権を記憶するように構成されていることを特徴とするＤＩＭＭ。
【請求項１８】
請求項１４に記載されたＤＩＭＭにおいて、
前記第１のメモリ手段および前記第２のメモリ手段はそれぞれが複数の同期ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）チップを備えたことを特徴とするＤＩＭＭ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にコンピュータ・メモリの分野に関し、さらに詳しくは、ダイナミック・ランダム・アクセス・メモリ・デュアル・インライン・メモリ・モジュールに関する。
【０００２】
［関連出願への相互参照］
本出願は「データ・メモリと状態メモリを有するＤＩＭＭペア」と題する１９９５年５月１５日付の共通に所有され同時係属中の米国特許出願第０８／４４０，９６７号に関連する。
【背景技術】
【０００３】
ダイナミック・ランダム・アクセス・メモリ（dynamic random access memory：ＤＲＡＭ）シングル・インライン・メモリ・モジュール（single in-line memory module：ＳＩＭＭ）およびデュアル・インライン・メモリ・モジュール（dual in-line memory module：ＤＩＭＭ）は、パーソナル・コンピュータ（ＰＣ）、ワークステーション、スーパーコンピュータ、等を含むあらゆる規模のコンピュータ・システムの半導体主メモリの好適な実装である。ＳＩＭＭとＤＩＭＭの双方ともプリント回路基板(printed circuit board：ＰＣＢ）を含み、プリント基板はコネクタ・ソケットへの物理的および電気的接続のために、ＰＣＢの対向する側面に複数の信号パッドを有するエッジ・コネクタを有する。ＤＲＡＭまたは同期ＤＲＡＭ集積回路チップがＰＣＢに装着され、各種コネクタ信号パッドに電気的に接続される。ＳＩＭＭは電気的に接続された対向する信号パッドを持つので、それぞれの対が１つの信号を搬送(carry) する。ＤＩＭＭでは、対向するパッドが接続されないためそれぞれのパッドは別の信号を搬送する。しかしメモリ技術において術語ＳＩＭＭとＤＩＭＭはしばしば同義語的に使用されている。公知のＤＲＡＭ  ＳＩＭＭの詳細な説明は共通に保有されるAlexander らの米国特許第５，２７２，６６４号に見ることができる。
【０００４】
マルチプロセッサ・コンピュータ・システムでは、主メモリは分散共用メモリまたは集中（即ち非分散）メモリとして実装される。各プロセッサは一般にローカル・キャッシュを有する。したがって、プロセッサはキャッシュ・コヒーレンス(cache coherence) を維持する必要がある。キャッシュ・コヒーレンスを有する既存の多くのマルチプロセッサは、コヒーレンス維持のためスヌーピング(snooping)に依存する。これを実現するため、全てのプロセッサが共通バスに接続される。プロセッサはバスを「スヌープする(snoop) 」。つまり、どのデータ項目をどのプロセッサがキャッシュしているかについての情報が全てのキャッシュの間に分散される。したがって簡単なスヌーピング方式では、全てのキャッシュが全てのプロセッサからのあらゆるメモリ要求を見ている必要がある。これは共通バスと個別のプロセッサ・キャッシュがいずれ飽和してしまうためシステムのスケーラビリティ(scalability) を本質的に制限することになる。今日の高性能ＲＩＳＣプロセッサでは、数個のプロセッサでも飽和が発生し得る。
【０００５】
ディレクトリ構造は、全部のプロセッサ・キャッシュへあらゆるメモリ要求をブロードキャスト(broadcast) する必要性を排除することにより、スヌーピング方式に見られたスケーラビリティの問題を回避している。ディレクトリは、各メモリ・ブロックのコピーを保持しているプロセッサ・キャッシュへのポインタを保持する。コピーを有するキャッシュだけがメモリ・ブロックへのアクセスにより影響を受け、このようなキャッシュだけにアクセスを通知する(notify)必要がある。したがって、プロセッサ・キャッシュと相互接続は、コヒーレンス要求により飽和することがない。さらに、ディレクトリに基づいたコヒーレンスは、大半のスヌーピング方式で使用しているバスのような特定の何らかの相互接続ネットワークに依存しない。
【０００６】
ディレクトリ構造を使用するＤＳＭマルチプロセッサはほんの少しだけ開発された。該ＤＳＭシステムの例は、Lenoski, Daniel らの'The Stanford Dash Multiprocessor'「スタンフォード・ダッシュ・マルチプロセッサ」, IEEE, pp. 63-79, March 1992 に記載のスタンフォード大学Dashマルチプロセッサ、Chaiken,Davidらの'LimitLESS Directories: A Scalable Cache Coherence Scheme'「無制限ディレクトリ：スケーラブル・キャッシュ・コヒーレンス方式」，ACM, pp.224-234, 1991に記載されたマサチューセッツ工科大学（MIT ）Alewife マルチプロセッサ、Brewer, Tony, 'A Highly Scalable System Utilizing up to 128PA-RISC Processor'「１２８個のＰＡ−ＲＩＳＣプロセッサまで利用する高度にスケーラブルなシステム」, IEEE, pp. 133-140, 1995 に記載のConvex Computer 社のExemplarマルチプロセッサを含む。
【０００７】
スタンフォードDashマルチプロセッサでは、主メモリは最大メモリ容量のために結線(hardwire)された。MIT マルチプロセッサとConvex Computer 社のマルチプロセッサでは、ディレクトリ情報は主メモリに記憶された。つまり、データとディレクトリ情報は順次アクセスする必要があり、メモリ帯域幅を制限する。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
必要とされるものは、ディレクトリ情報に対応しかつデータ・メモリとディレクトリ・メモリ両方の簡単なメモリ拡張が現時点で支持されるような方法で、ＤＳＭマルチプロセッサ・コンピュータ・システムにおいて主メモリを実装するための技術である。
【課題を解決するための手段】
【０００９】
本発明は回路基板と、回路基板上に装着した第１と第２のメモリとを含むデュアル・インライン・メモリ・モジュール（ＤＩＭＭ）である。第１のメモリはデータを記憶するように構成されてデータ・メモリと呼ばれる。第２のメモリは状態メモリと呼ばれ、データ・メモリに記憶されたデータの少くとも一部に対応する状態情報を記憶するように構成される。状態情報は、たとえばキャッシュ・コヒーレンス情報（即ちデータのブロックがキャッシュされているか否かとどこにあるか、またデータの最新のコピーがどこに存在するかについての情報）、データ・メモリ内のデータへのアクセス権(access rights) に関する情報、ページ移送(page migration)情報、その他を含む。本発明のＤＩＭＭでは、状態メモリ内の状態情報をデータ・メモリ内のデータとは別にアクセスできる。「別に」とは、状態情報をデータ・メモリ内に記憶されたデータとは独立しておよび／または並列に読み書きできることを表わす。
【００１０】
本発明の複数のＤＩＭＭは、分散共用メモリ（ＤＳＭ）マルチプロセッサの主メモリを実装するのに用いることができる。ＤＩＭＭ構成はメモリを容易に更新または交換できるような機構を提供する。状態情報はデータと一緒にＤＩＭＭに記憶されるので、最適なメモリ管理方式が提供される。
【００１１】
第１の実施例において、各ＤＩＭＭは３２メガバイトのデータ記憶容量と、４メガバイトのＥＣＣ(error correcting code：エラー訂正符号）をデータ・メモリに提供する。これを実現するため、ＤＩＭＭは２Ｍｂｉｔで７２ビット幅（２Ｍ×７２）の２つのメモリバンク部分（ＤＩＭＭ回路基板の一側面当たり１つ）を含む。７２ビットのうち、６４ビットがデータ用、８ビットがＥＣＣ用である。状態メモリは１メガビットで１
６ビット幅（１Ｍ×１６）の状態情報容量を含む。本実施例は複数の同期(synchronous) 、ダイナミック、ランダム・アクセス・メモリ（ＳＤＲＡＭ）チップを使用して実施できる。
【００１２】
本実施例において、ＤＩＭＭの回路基板はおおよそ高さ１．３４インチ、長さ６．６インチ（ＤＩＭＭ基板は一般に、別の回路基板と直角にエッジ・コネクタ経由で装着するので、幅寸法が高さとして与えられることに留意されたい）、長さ１２２パッドで幅２パッド分のエッジ・コネクタを回路基板の一方の縦方向のエッジに沿って含む。データ・メモリは１８個の２メガビットで８ビット幅（２Ｍ×８）のＳＤＲＡＭチップを用いて実装した。ＳＤＲＡＭチップ９個を回路基板の正面に装着し、９個を回路基板の裏面に装着する。状態メモリは１つの１メガビットで１６ビット幅（１Ｍ×１６）のＳＤＲＡＭチップを用いて実装し回路基板の正面に装着する。
【００１３】
エッジ・コネクタの２４４パッドはデータ・メモリと状態メモリ用に別々のデータおよびアドレスパッドを提供し、各メモリを独立して、また所望するなら並列に、アクセスできる。アドレスおよび制御バッファは、回路基板の各面に提供される。それぞれのアドレスおよび制御バッファは、データ・メモリの半分についてＳＤＲＡＭチップへのアドレスおよび制御線全部についてのバッファリングを提供する。さらに、１つのクロック駆動回路(clock driver)をＤＩＭＭのＳＤＲＡＭチップ全部に提供する。クロック駆動回路は２つの重要な機能を提供する。第１に、クロック駆動回路はクロック信号の供給源に過度に負荷をかけることなく、各ＳＤＲＡＭチップを駆動するだけの充分な駆動電流容量(drive current capacity)を提供する。第２に、クロック駆動回路は、クロック駆動回路のバッファリング／駆動回路により導入されるあらゆるスキュー(skew)または遅延を排除するフェーズ・ロック・ループ(phase lock loop) 機能を提供する。
【００１４】
第２の実施例において、各ＤＩＭＭは６４メガバイトのデータ記憶容量と８メガバイトのＥＣＣを提供し、データ・メモリで、合計７２メガバイトのデータ容量である。これを実現するため、ＤＩＭＭは容量４メガビットで７２ビット幅（４Ｍ×７２）の２つのメモリ・バンク部分を含む。状態メモリは２メガビットで１６ビット幅（２Ｍ×１６）の状態情報容量を含む。
【００１５】
本実施例では、データ・メモリは３６個の４メガビットで４ビット（４Ｍ×４）のＳＤＲＡＭチップを用いて実装している。この実装はピギーバック式(piggy-back fashion)で第１の回路基板上に装着した第２の回路基板を必要とする。データ・メモリのＳＤＲＡＭチップ１８個は、実質的に第１の実施例で説明したように第１の回路基板上に装着し、別の１８個のＳＤＲＡＭチップは同様の方法でピギーバック基板に装着する。状態メモリは２個の２メガビットで８ビット幅（２Ｍ×８）ＳＤＲＡＭチップを用いて実装する。チップの１つを第１の回路基板の各側面に装着する。３６メガバイトの実施例と同様に、７２メガバイト実施例における第１の回路基板は、単一のクロック駆動回路と２個のアドレスおよび制御バッファを含む。さらに、ピギーバック基板はそれ自身の１つのクロック駆動回路とアドレスおよび制御バッファの対を含む。
【００１６】
本発明はＤＩＭＭメモリ対にＤＩＭＭを利用する。対の第１のＤＩＭＭは、データを記憶するための第１と第２のメモリ・バンク部分を有する第１のデータ・メモリと、第１のメモリバンクに記憶されたデータに対応する状態情報を記憶するように構成した第１の状態メモリを含む。対の第２のＤＩＭＭは、データを記憶するための第３と第４のメモリ部分を有する第２のデータ・メモリと、第２のメモリ・バンクに記憶されたデータに対応する状態情報を記憶するように構成した第２の状態メモリを含む。第１のメモリバンクは、第１のＤＩＭＭの第１のメモリ・バンク部分と、第２のＤＩＭＭの第３のメモリ・バンク部分から形成する。第２のメモリ・バンクは、第１のＤＩＭＭの第２のメモリ・バンク部分と、第２のＤＩＭＭの第４のメモリ・バンク部分から形成する。たとえば、第１のメモリ・バンク部分が第１のＤＩＭＭの前面を表わし、第２のメモリ・バンク部分は第１のＤＩＭＭの裏面を表わし、第３のメモリ・バンク部分は第２のＤＩＭＭの前面を表わし、第４のメモリ・バンク部分は第２のＤＩＭＭの裏面を表わす場合、第１のメモリ・バンクは第１と第２のＤＩＭＭの前面で表わされ、一方第２のメモリ・バンク部分は第１と第２のＤＩＭＭの裏面で表わされる。
【００１７】
このＤＩＭＭ対の構成は非常に広いデータ・ワードＤＩＭＭを最適に提供し、ＤＩＭＭのエッジ・コネクタの物理的構成に非実際的な条件を押しつけることなく実装される。たとえば、それぞれのＤＩＭＭは好適実施例において２４４個のパッド・エッジ・コネクタを含む。このコネクタを用いて、それぞれのＤＩＭＭは７２ビット幅のデータパスを提供する。つまり、ＤＩＭＭ対は１４４ビット幅のデータ・ワードを提供する。前述の第１の実施例では、１４４ビット幅のデータ・ワードがデータ記憶容量６４メガバイト、ＥＣＣ８メガバイトのＤＩＭＭ対で提供される。前述の第２の実施例では、１４４ビット幅のデータ・ワードがデータ記憶容量１２８メガバイト、ＥＣＣ１６メガバイトのＤＩＭＭ対で提供される。
【００１８】
ＤＳＭマルチプロセッサにおいて使用する場合、本発明のＤＩＭＭ対は主メモリを実装するために使用する。ＤＳＭマルチプロセッサの各プロセッサ・ノードは主メモリの一部を含む。ＤＩＭＭの３６メガバイトと７２メガバイトの実施例では、説明された状態メモリ構成が限られたノード数（たとえば１６ノード）を有するシステムで必要とされる状態情報に対応するのに充分な容量を提供する。たとえば、前述の各状態メモリは１６ビット幅の状態情報ワードを含む。
【００１９】
ノード数が１６を越える場合、多くのプロセッサとキャッシュが存在することになる。さらなる状態情報がさらなるキャッシュを追跡するために必要とされる。したがって余剰ノード(extra nodes) に対応するためには状態メモリに多くのビットを必要とする。さらなる状態メモリは状態メモリ専用(state memory-only) ＤＩＭＭによって提供できる。このＤＩＭＭは３２ビットのさらなる状態メモリを追加する。得られる状態メモリは４８ビット幅の状態情報ワードを提供する。さらなる状態メモリによりＤＳＭマルチプロセッサは、従来のビット・ベクタを使用して６４ノードまで、またフレキシブル・ディレクトリ・ビット・ベクタを使用して５１２ノードまでに対応可能である。
【００２０】
したがって１６ノードまたはそれ以下を有するＤＳＭマルチプロセッサでは、本発明のＤＩＭＭによりディレクトリに基づくメモリ構造が、対に構成した１種類のＤＩＭＭを用いて実装／アップグレイド(upgrade) できる。５１２ノードまたはそれ以下を有するＤＳＭマルチプロセッサでは、本発明のＤＩＭＭにより、本発明のＤＩＭＭ対と状態メモリを拡張する状態メモリ専用ＤＩＭＭを使用してディレクトリに基づくメモリ構造を実装／アップグレイドできる。このようにして、本発明のＤＩＭＭは有意な利点を提供する。第１に、プロセッサ個数をアップグレイドする場合、既存のＤＩＭＭを交換する必要がない。むしろ既存のＤＩＭＭにさらなるＤＩＭＭおよび／または状態メモリ専用ＤＩＭＭを単に追加すれば良い。第２に、小さいシステムではＤＩＭＭ対に加えて状態メモリ専用ＤＩＭＭではなく１つのＤＩＭＭ対しか必要としないので、このようなシステムのコストを低減できる。第３に、１種類の同一のＤＩＭＭ基板を、また場合によっては同様に状態メモリ専用ＤＩＭＭ基板を、主メモリとディレクトリ／状態メモリの実装に使用するので、多数の異なる種類のメモリ・アセンブリを製造、在庫、流通する必要がない。
【００２１】
図示する目的で、ＤＩＭＭの３６メガバイト実施例と７２メガバイト実施例を説明した。しかし本発明のＤＩＭＭは他のデータ容量で製造できることは理解されるべきである。たとえば，６４メガビット（即ち８Ｍ×８）ＳＤＲＡＭチップを使用して、１２８メガバイトのデータと１６メガバイトのＥＣＣ（チップ当たり１８チップ×８メガバイト）記憶容量を有する単一基板のＤＩＭＭを製作することができる（データとＥＣＣを含む）。これにより２５６メガバイトのデータ記憶容量を有するＤＩＭＭ対が得られる。ピギーバック基板を前述の７２メガバイトＤＩＭＭ実施例に使用すると，６４メガバイトＳＤＲＡＭチップを使用して２５６メガバイトのデータと３２メガバイトのＥＣＣのＤＩＭＭ、および５１２メガバイトのデータと６４メガバイトＥＣＣのＤＩＭＭ対を実装することが可能である。
【００２２】
前述の好適実施例において、ＤＩＭＭがデータ・メモリ用の３６個のＳＤＲＡＭに対応できるようにピギーバック基板を使用している。３６ＳＤＲＡＭチップに対応するためチップ・スタック技術(chip stacking techniques)を用いても良いことは当業者には理解されよう。チップ・スタック技術を使用する場合、ピギーバック基板は不要である。
【００２３】
本発明の前述のおよびその他の特徴と利点は、添付の図面に図示してある本発明の幾つかの好適実施例の以下のさらに詳しい説明から明らかになろう。
【００２４】
図面において、同じ参照番号は同一のまたは機能的に類似の要素を表わす。さらに、参照番号の一番左の数字は参照番号が第１に出現した図面を表わしている。
【発明を実施するための最良の形態】
【００２５】
目次
Ｉ．  概要
II．  ＤＩＭＭのアーキテクチャ
III ．ＤＩＭＭ対におけるＤＩＭＭの実装
IV．  ＤＩＭＭ相互接続の詳細
Ｖ．  ＤＩＭＭチップのレイアウト
VI．  パッドの説明
VII ．タイミング条件(timing requirements)
VIII．波形図
XI．  拡張状態メモリ
Ｘ．  結論
Ｉ．概要
図面を参照して本発明の好適実施例を説明する。特定のステップ、構成、配置について議論することになるが、これは図示説明のためだけに行なわれることは理解されるべきである。本発明の精神と範囲から逸脱することなく他のステップ、構成、配置を使用できることは当業者には理解されよう。
【００２６】
分散共用メモリ(distributed shared memory：ＤＳＭ）マルチプロセッサ、たとえば共通に所有され同時係属中の'System and Method For Network Exploration and Access in a Multi-Processor Environment' 「マルチプロセッサ環境におけるネットワーク探査とアクセスのシステムおよび方法」と題する１９９５年５月５日付米国特許出願第０８／４３５，４５６号で説明されているようなＤＳＭマルチプロセッサでは、主コンピュータ・メモリはプロセッサ・ネットワーク全体に分散されている。主メモリのそれぞれの分散した部分（ノード）は１つまたはそれ以上のローカル・プロセッサに関連付けることができる。このようなシステムでは、メモリ管理が非常に複雑化する。前述の出願で説明されているＤＳＭマルチプロセッサは、メモリ管理を簡略化するディレクトリに基づくキャッシュ・コヒーレンス方式を実装している。ディレクトリに基づくメモリ管理システムは、以下の共通に所有され同時係属中の特許出願に説明されている。
【００２７】
１９９５年５月５日付け米国特許出願第０８／４３５，４６０号、発明の名称：'Directory-based Coherence Protocol Allowing Efficient Dropping of Clean-Exclusive Data'「クリーン・イクスクルーシブなデータの効率なドロッピングを認めるディレクトリに基づくコヒーレンス・プロトコル」１９９５年５月５日付け米国特許出願第０８／４３５，４６２号、発明の名称：'System and Method For a Multiprocessor Partitioning to Support High Availability'「高度なアベイラビリティをサポートするためのマルチプロセッサ・パーティショニングのシステムおよび方法」１９９５年５月５日付け米国特許出願第０８／４３５，４６４号、発明の名称：'Page Migration In a Non-Uniform Memory Access (NUMA) System' 「不均一メモリ・アクセス（ＮＵＭＡ）におけるページ移送」１９９５年５月５日付け米国特許出願第０８／４３５，４５９号、発明の名称：'System and Method For Maintaining Coherency of Virtual-to-Physical Memory Translations in a Multiprocessor Computer' 「マルチプロセッサ・コンピュータにおける仮想対物理メモリ変換のコヒーレンシを維持するシステムおよび方法」１９９５年５月５日付け米国特許出願第０８／４３５，４６３号、発明の名称：'Cache Coherency Using Flexible Directory Bit Vectors'「フレキシビル・ディレクトリ・ビット・ベクタを用いたキャッシュ・コヒーレンシ」
本発明は、上記で参照した特許出願に説明されているようなＤＳＭにおける主メモリを実装するためのデュアル・インライン・メモリ・モジュール（ＤＩＭＭ）である。有利にも、本発明はＤＩＭＭにデータ・メモリと状態メモリの両方を提供する。これは、分散主メモリのインストレーション(installation)、置換(replacement) 、拡張(expansion) 、試験、拡大(extension) が容易になる。
【００２８】
II．ＤＩＭＭのアーキテクチャ
図１は本発明のＤＩＭＭ１０２の高レベル機能ブロック
図である。ＤＩＭＭ１０２はプリント回路基板１０３と、データ・メモリ１０４と、状態メモリ１０６を含む。回路基板１０３は多層(multilayer)（たとえば８層）でエッジ・コネクタ１０８を有するプリント回路基板である。エッジ・コネクタ１０８は典型的にはデータ・メモリ１０４と状態メモリ１０６のための電気通信全部を提供する。エッジ・コネクタ１０８はコネクタ・ソケット（図示していない）、たとえばコネチカット州ノーウォークのBurndy社から入手可能なソケット部品番号ＥＬＦ２４４ＬＦＣＥ−４Ｚ５０等に挿入するように構成されている。
【００２９】
エッジ・コネクタ１０８は、データ・パス１１０経由でデータ・メモリ１０４へのデータ・アクセスを可能にする複数のデータ・パッド１１８と、アドレスおよび制御パス１１２経由でデータ・メモリ１０４へアドレスおよび制御情報を通信するための複数のアドレス・パッド１２０と、データ・パス１１４経由で状態メモリ１０６へデータ・アクセスを可能にする複数のデータ・パッド１２２と、アドレスおよび制御パス１１６経由で状態メモリ１０６へアドレスおよび制御情報を通信するための複数のアドレス・パッド１２４を提供する。メモリへの「アクセス」は、メモリからデータを読み取ることまたはメモリへデータを書き込むことを表わす。
【００３０】
データ・メモリ１０４はデータを記憶するように構成してある。データ・メモリ１０４に記憶されるデータは一般にデータ・ブロックに分割される。状態メモリ１０６はデータ・メモリ１０４のデータのブロックに対応する状態情報を記憶するように構成してある。状態情報（ディレクトリ情報としても公知である）は、たとえばキャッシュ・コヒーレンス情報（即ちデータのブロックがキャッシュされているかどうかまたどこにあるか、およびデータの最新のコピーがどこに常駐しているかについての情報）、データ・メモリ内のデータへのアクセス権に関する情報、ページ移送情報、その他等を含む。コネクタ１０８は別々のアドレスおよびデータ・パッドを状態メモリ１０６とデータ・メモリ１０４に提供するため、データとこれに対応する状態情報を別々にアクセスすることができる。「別々に」は、データ・メモリから読み込む／へ書き込むデータとは独立におよび／または平行して状態情報を読み込む／書き込むことができることを表わしている。これによってデータと状態情報を同時にアクセスすることが可能になる。
【００３１】
図２はＤＩＭＭ１０２のさらに詳細な機能ブロック図である。この機能表現において、前面２０２と裏面２０４が図示してある。コネクタ１１８は前面２０２と裏面２０４との間に図示してある。本図は綴じが中央に位置するように開き、正面と後面のカバーが見える本としてＤＩＭＭを見ると最もよく理解できる。コネクタ１１８は本の綴じに比喩される。図示したように、コネクタ１１８は回路基板１０３の、前面２０２に第１のコネクタ・パッドの列２０６と裏面２０４に第２のコネクタ・パッドの列２０８を含む。
【００３２】
本図に図示してあるように、データ・メモリ１０４は、前面２０２の第１のバンク部分２１０と裏面２０４の第２のバンク部分２１２で実装される。状態メモリ１０６は前面２０２に装着するように図示してある。アドレスおよび制御パス１１２はアドレスおよび制御バッファ２１４、２１６によりバッファリングされる。アドレスおよび制御バッファ２１４はアドレスおよび制御信号（即ち行アドレス・ストローブ、列アドレス・ストローブ、書き込みイネーブル、データ・マスク）を第１のバンク部分２１０の左側と第２のバンク部分２１２の左側にバス１１３経由で提供する。さらに、アドレスおよび制御バッファ２１４は、チップ選択信号とクロック・イネーブル信号を線１１７経由で第１のバンク部分２１０の左右両側に提供する。
【００３３】
同様に、アドレスおよび制御バッファ２１６は、アドレスおよび制御信号（即ち、行アドレス・ストローブ、列アドレス・ストローブ、書き込みイネーブル、データ・マスク）をバス１１５経由で第１のバンク部分２１０の右側と第２のバンク部分２１２の右側に提供する。さらに、アドレスおよび制御バッファ２１６は、チップ選択信号とクロック・イネーブル信号を線１１９経由で第２のバンク部分２１２の左右両側に提供する。チップ選択信号は第１のバンク部分２１０と第２のバンク部分２１２との間の選択に使用する。バッファ２１４、２１６はメモリ・バンク部分２１０、２１２の左側と右側のバッファリングを行ない、回路基板１０３の信号線のルーチング(routing) を簡略化するように構成される。あるいはまた、バッファ２１４はバンク部分２１０だけで信号をバッファリングするように構成し、バッファ２１６はバンク部分２１２だけで信号をバッファリングするように構成しても良い。
【００３４】
クロック駆動回路２１８は回路基板１０３の正面２０２に装着する。クロック駆動回路２１８はクロック信号および制御線２２０からクロック信号を受信して、充分な駆動電流をクロック駆動回路２１８に提供し第１と第２のメモリ・バンク部分２１０、２１２ならびに状態メモリ１０６を形成するために使用されている複数のメモリ・チップを駆動する。クロック駆動回路２１８はクロック信号２２２からスキューを除去するフェーズ・ロック・ループ機能も含み、クロック信号はＤＩＭＭ１０２上のデータおよび状態メモリの各種メモリチップへ分配される。
【００３５】
１つの実施例において、ＤＩＭＭ１０２の裏面２０４はＳＰＲＯＭ（serial programmable read only memory：シリアル・プログラマブル・リード・オンリー・メモリー）２２４を含む。ＳＰＲＯＭ２２４はＤＩＭＭ１０２に独自の識別番号（たとえばシリアル番号）を提供するために使用できる。好適なＳＰＲＯＭはテキサス州ダラスのDallas Semiconductor社パーツ番号ＤＳ２５０２として入手可能で、ＮＩＣ(Number In a Can：缶番号）としても周知である。
【００３６】
III ．ＤＩＭＭ対におけるＤＩＭＭの実装
本発明の好適実施例において、ＤＩＭＭ１０２は対でのみ主コンピュータ・メモリを実装するために使用する。対のそれぞれのＤＩＭＭはデータ・ワードの半分を提供し、対は互いに非常に広いデータ・ワードを提供できるようになっている。これが図３に図示してあり、図面においてＤＩＭＭ１０２ＡとＤＩＭＭ１０２ＢがＤＩＭＭの対３０２を形成する。図示してあるように、ＤＩＭＭ１０２Ａは第１のメモリ・バンク部分２１０Ａ、第２のメモリ部分２１２Ａ、第１の状態メモリ１０６Ａを含む。同様にＤＩＭＭ１０２Ｂは第１のメモリ・バンク部分２１０Ｂ、第２のメモリ・バンク部分２１２Ｂ、第２の状態メモリ１０６Ｂを含む。
【００３７】
この実施において、第１のメモリ・バンク部分２１０Ａと第２のメモリ・バンク部分２１２Ｂがバンク０とラベルづけしてある第１のメモリ・バンクを形成する。バンク０に記憶されたデータについての状態情報は状態メモリ１０６Ａに保持される。第２のメモリ・バンク部分２１２Ａと第１のメモリ・バンク部分２１０Ｂは、バンク１とラベルづけしてある第２のメモリ・バンクを形成する。状態メモリ１０６Ｂはメモリ・バンク１に記憶されたデータに対応する状態情報を記憶するように構成される。さらに詳しく以下で説明するように、バンク選択信号を用いてデータ・アクセス操作でバンク０またはバンク１の一方を選択する。メモリ・バンク０とメモリ・バンク１は共通のアドレスおよびデータ線を共用する。
【００３８】
本発明のＤＩＭＭは多様な異なるデータ記憶容量で作成可能である。第１の好適実施例において、ＤＩＭＭ１０２は３６メガバイトのデータ記憶容量（３２メガバイトのデータと４メガバイトのＥＣＣを含む）および２メガバイトの状態情報記憶容量を有する。本実施例では６４メガバイトのデータ記憶容量、８メガバイトのＥＣＣ、４メガバイトの状態情報記憶容量を有するＤＩＭＭ対が得られる。第２の実施例において、ＤＩＭＭ１０２は７２メガバイトのデータ記憶容量（６４メガバイトのデータと８メガバイトのＥＣＣ）および４メガバイトの状態情報記憶容量を有する。本実施例では１２８メガバイトのデータ記憶容量、１６メガバイトのＥＣＣ、８メガバイトの状態情報記憶容量を有するＤＩＭＭ対が得られる。
【００３９】
ＩＶ．ＤＩＭＭ相互接続の詳細
図４は、本発明の第１の好適実施例によるＤＩＭＭ１０２を実装するために使用される構成要素の相互接続を表わすブロック図である。データ・メモリ１０４は複数の同期、ダイナミック、ランダム・アクセス・メモリ（ＳＤＲＡＭ）チップＤ０〜Ｄ１７を使用して実装される。ＳＤＲＡＭのＤ０〜Ｄ８は第１のメモリ・バンク部分２１０のメモリ・チップを表わし、ＳＤＲＡＭのＤ９〜Ｄ１７は第２のメモリ・バンク部分２１２のメモリチップを表わす。ＤＩＭＭ１０２のこの３２メガバイト実施例では、ＳＤＲＡＭのそれぞれＤ０〜Ｄ１７は２メガビットで８ビット幅（２Ｍ×８）ＳＤＲＡＭチップである。したがって、各メモリ・バンク部分２１０、２１２は２メガビットで７２ビット幅で、データ・メモリ１０４の総データ容量は４メガビットで７２ビット幅（即ちデータに６４ビット、ＥＣＣに８ビット）が得られる。状態メモリ１０６は単一の１メガビットで１６ビット幅（１Ｍ×１６）ＳＤＲＡＭチップを用いて実装している。
【００４０】
各ＤＲＡＭチップＤ０〜Ｄ１７は８ビットのデータ・ワードを提供する。各ＳＤＲＡＭとの通信に対応するため、データ・パス１１０は８ビットのデータ・パスＤＱを提供する。図示してあるように、メモリ・バンク部分２１０、２１２のそれぞれから１つのチップが８ビット・データ・パスＤＱに接続される。たとえば、ＳＤＲＡＭＤ０とＳＤＲＡＭＤ９はどちらもＤＱ［７：０］に接続される。データパス上でどのチップが現在有効かは外部チップまたはバンク選択信号（後述する）によって決定される。
【００４１】
アドレスおよび制御バッファ２１４、２１６はＡ［１９：０］とラベルづけされて２０ビットのアドレスおよび制御信号を受信し、アドレスおよび制御信号をバッファリングし、アドレスおよび制御信号を以下のようにＳＤＲＡＭＤ０〜Ｄ１７へ提供する。アドレスおよび制御バッファ２１４は、アドレスおよび制御信号（即ち、行アドレス・ストローブ、列アドレス・ストローブ、書き込みイネーブル、データ・マスク）をバンク部分２１０、２１２の左側（即ちＳＤＲＡＭＤ０〜Ｄ３とＤ９〜Ｄ１２）へバス１１３経由で提供する。さらに、アドレスおよび制御バッファ２１４はバンク選択信号（ＣＳ０＿）およびクロック・イネーブル信号（ＣＫＥ０）を第１のバンク部分（即ちＳＤＲＡＭＤ０〜Ｄ８）２１０の左右両側へ線１１７経由で提供する。
【００４２】
アドレスおよび制御バッファ２１６はアドレスおよび制御信号（即ち、行アドレス・ストローブ、列アドレス・ストローブ、書き込みイネーブル、データ・マスク）をバス１１５経由でバンク部分２１０、２１２の右側（即ちＳＤＲＡＭＤ４〜Ｄ８とＤ１３〜Ｄ１７）へ提供する。さらに、アドレスおよび制御バッファ２１６はバンク選択信号（ＣＳ１＿）ならびにクロック・イネーブル信号（ＣＫＥ１）を第２のバンク部分（即ちＳＤＲＡＭＤ９〜Ｄ１７）２１２の左右両側へ線１１９経由で提供する。アドレスおよび制御信号Ａ［１９：０］はさらに後述の表１で説明する。
【００４３】
クロック駆動回路２１８はＳＤＲＡＭＤ０〜Ｄ１７のそれぞれと状態メモリ１０６のＳＤＲＡＭにクロック信号２２２を提供する。クロック駆動回路２１８はクロック制御信号Ｃ［５：０］に基づいてクロック信号２２２を発生する。クロック制御信号Ｃ［５：０］についてはさらに詳細に後述する。状態メモリ１０６のデータ・パス１１４とアドレスおよび制御パス１１６はそれぞれ線ＤＲＩ＿ＤＱ［１５：０］とＢ［１７：０］で表わしてある。これらの信号についてもさらに詳細に後述する。
【００４４】
ＤＩＭＭ１０２の７２メガバイト実施例が図５に図示してある。本実施例において、１８個の２メガビットで８ビット幅（２Ｍ×８）ＳＤＲＡＭを使用する代わりに、３６個の４メガビットで４ビット幅（４Ｍ×４）ＳＤＲＡＭを使用して実装している。追加チップに対応するため、第２の回路基板５００を使用する。１８個の４Ｍ×４ＳＤＲＡＭ（Ｄ０〜Ｄ１７）は第１の回路基板１０３に装着する。他の１８個の４Ｍ×４ＳＤＲＡＭ（Ｄ１８〜Ｄ３５）は第２の回路基板５００に装着する。回路基板５００はピギーバック式に回路基板１０３に装着する。回路基板１０３だけがエッジ・コネクタ１０８（図５には図示していない）を含む。回路基板５００のＳＤＲＡＭチップへの全ての電気的接続は回路基板１０３のエッジ・コネクタを介して行なう。複数の相互接続ピンを使用して２つの基板で信号を共用する。各ピンのそれぞれの端部はメッキされたスルーホール(plated through hole) に配置して基板間の電気的接続を提供する。これらのピンはまた第２の基板を第１の基板に物理的に取り付ける。ピギーバック装着回路基板の例（メッキされたスルーホールを使用しない）はShaffer らの米国特許第５，２００，９１７号に提供されている。
【００４５】
本実施例において、第１のメモリ・バンク部分２１０はそれぞれの回路基板１０３、５００の正面から形成される。たとえば、ＳＤＲＡＭチップＤ０〜Ｄ８とＤ２７〜Ｄ３５を用いて第１のメモリ・バンク部分２１０を実装できる。同様に、それぞれの回路基板１０３、５００の裏面を用いて第２のメモリ・バンク部分２１２を実施できる。これは、たとえば、ＳＤＲＡＭチップＤ９〜Ｄ１７とＤ１８〜Ｄ２６を含む。各回路基板１０３と５００のチップはクロック駆動回路２１８Ａ、２１８Ｂとアドレスおよび制御バッファ２１４Ａ、２１４Ｂ、２１６Ａ、２１６Ｂ経由で基板上のクロックとバッファを含む。しかし、本実施例において、各ＳＤＲＡＭチップは８ビット幅データ・パスではなく４ビット幅データ・パスに結合してある。つまり、各基板からの対応するＳＤＲＡＭチップを用いて３６メガバイトＤＩＭＭの１つのチップにより提供される８ビットを形成する。図４の３６メガバイトＤＩＭＭの実施例と同様に、全てのＳＤＲＡＭチップＤ０〜Ｄ３５が同時にアドレスされる。バンク選択信号（信号Ａ［１９：０］の１つ）を用いてメモリ・バンク部分２１０とメモリ・バンク部分２１２との間の選択を行なう。
【００４６】
Ｖ．ＤＩＭＭチップのレイアウト
３２メガバイトＤＩＭＭ実施例の好適な実装が図６Ａおよび図６Ｂに図示してある。図６ＡはＤＩＭＭ１０２の前面２０２を示す。図６ＢはＤＩＭＭ１０２の裏面２０４を示す。この好適な実装において、回路基板１０３はほぼ高さ１．３４インチで長さ６．６インチであり長さ１２２パッド幅２パッドのエッジ・コネクタを回路基板の一方の縦方向の辺に含む。ＳＤＲＡＭＤ０〜Ｄ８、ＳＤＲＡＭＤＩＲ０（状態メモリ１０６用）、データおよび制御バッファ２１４Ａとクロック駆動回路２１８Ａは回路基板１０３の前面２０２に装着する。ＳＤＲＡＭＤ９〜Ｄ１７とデータおよび制御バッファ２１６Ａは回路基板１０３の裏面２０４に装着する。
【００４７】
図６Ａと図６Ｂは本発明の７２メガバイト実施例ならびに３２メガバイト実施例を表わし、次のような相違がある。第１に、７２メガバイト実施例では、ＳＤＲＡＭＤ０〜Ｄ１７は４Ｍ×４装置であって２Ｍ×８ビット装置ではない。第２に、ディレクトリ・メモリ・チップ（ＤＩＲ０で表示してある）は２Ｍ×８ビット装置であって１Ｍ×１６ビット装置ではない。第３に、７２メガバイト実施例では、第２の２Ｍ×８ビットＳＤＲＡＭチップ（図６ＢにおいてＤＩＲ１として破線で示してある）はＤＩＲ０とともに使用して状態メモリ１０６を実装する。
【００４８】
７２メガバイトＤＩＭＭ実施例のピギーバック式第２の回路基板５００の好適な実装が図７Ａおよび図７Ｂに図示してある。図７Ａは第２の回路基板５００の正面７０２を示す。図７Ｂは第２の回路基板５００の裏面７０４を示す。この好適な実装において、回路基板５００はほぼ高さ１．１６インチで長さ６．６インチであり、回路基板１０３との電気的接続を提供する１１６個の相互接続ピン（図示していない）を含む。ＳＤＲＡＭＤ１８〜Ｄ２６、データおよび制御バッファ２１４Ｂおよびクロック駆動回路２１８Ｂは回路基板５００の正面７０２に装着する。ＳＤＲＡＭＤ２７〜Ｄ３５とデータおよび制御バッファ２１６Ｂは回路基板５００の裏面７０４に装着する。
【００４９】
ＶＩ．パッドの説明
表１は本発明の好適実施例によるエッジ・コネクタのパッドについてパッドの名称と機能を一覧したものである。左側の欄は略称したパッド名称、右側の欄は表の関連する行に一覧したパッドの機能を一覧する。
【００５０】
【表１】
2007280435.tif 000003
【００５１】
第１のパッド説明はアドレス・パッドについてのものでＡ［１１：０］と略称する。行アドレシング中には、下位１１ビットを使用する。列アドレシング中には、３６ＭＢのＤＩＭＭ実施例では下位９ビットを使用し、７２ＭＢＤＩＭＭ実施例では下位１０ビットを使用する。最上位ビット（Ａ１１）は内部ＳＤＲＡＭバンク間の選択に使用する（この「内部バンク」は前述したＳＤＲＡＭ  ＤＩＭＭ１０２のバンク０およびバンク１とは別のバンクである。したがってバンク０と１は以下「外部」バンクといい、外部バンク・チップ選択信号ＣＳ１とＣＳ０で選択され、「内部ＳＤＲＡＭバンク選択」信号Ａ１１から区別する。この命名はデータ用に使用するＳＤＲＡＭならびに状態情報を記憶するために使用するＳＤＲＡＭに適用する）。
【００５２】
データは、ＤＱ［７１：０］と略称する７２本のデータ入／出力（Ｉ／Ｏ）パス経由でＳＤＲＡＭ  ＤＩＭＭのデータ・メモリへ入力されまたここから出力される。ＳＤＲＡＭ  ＤＩＭＭは対で使用するので、１つのＤＩＭＭにあるデータ・メモリの１回のアクセスが７２ビットを提供し、対になったＤＩＭＭの７２ビットと連結した場合に、１２８ビットのデータと１６ビットのＥＣＣを含む１４４ビットのデータ・ワードが得られる。
【００５３】
ＳＤＲＡＭ  ＤＩＭＭのデータ・メモリにはさらに８本のパスがある。ＣＳ１＿およびＣＳ０＿と略称される２本の外部バンク・チップ選択パッド、ＲＥ＿と略称される行アドレス・ストローブ・コマンド・パッド、ＣＥ＿と略称される列アドレス・ストローブ・コマンド・パッド、ＷＥ＿と略称される書き込みイネーブル・コマンド・パッドは、当業者には明らかなように、ＳＤＲＡＭチップの選択、アドレッシング、書き込みイネーブルに使用される標準信号である。同様にＳＤＲＡＭの２つのバンクのメモリ・クロック・イネーブル用に２本のパッドがそれぞれ設けてあり、ＣＫＥ１およびＣＫＥ０と略称する。また１本の入／出力マスク・パスが設けてあり、ＤＱＭと略称する。ＤＱＭマスク・パッドの機能については波形図との関連において以下で説明する。
【００５４】
ＳＤＲＡＭ  ＤＩＭＭの状態メモリのパッドについて説明する。ディレクトリ・アドレス・パッドの集合をＤＩＲ＿Ａ［１１：０］と略記する。状態メモリの行アドレッシングはディレクトリ・アドレス・ビットＡ［１０：０］を使用し、列アドレッシングは３２ＭＢ  ＤＩＭＭでディレクトリ・アドレス・ビットＡ［７：０］、また７２ＭＢ  ＤＩＭＭでビットＡ［８：０］を使用する。１２番目のディレクトリ・アドレス・パッド（Ａ１１）は内部ＳＤＲＡＭバンク選択に使用する１６ビットの状態情報がディレクトリ・データＩ／Ｏパッド、略号ＤＩＲ＿ＤＱ［１５：０］により提供される。表１に掲載した次の５本のパッドはＳＤＲＡＭ  ＤＩＭＭのデータ・メモリ・セクションで類似のパスに関連して上記で説明したのと同様の機能を有する。ディレクトリ・チップ選択パッドはＤＩＲ＿ＣＳ＿と略記する。ディレクトリ行アドレス・ストローブ・コマンド・パッドはＤＩＲ＿ＲＥ＿と略記する。ディレクトリ列アドレス・ストローブ・コマンド・パッドはＤＩＲ＿ＣＥ＿と略記する。ディレクトリ書き込みイネーブル・コマンド・パッドはＤＩＲ＿ＷＥ＿と略記する。ディレクトリ入／出力マスク・パッドはＤＩＲ＿ＤＱＭと略記する。さらに、ＤＩＲ＿ＣＫＥと略記するディレクトリ・クロック・イネーブル・パッドが状態メモリ・クロックをイネーブルにするため設けてある。
【００５５】
本発明の好適実施例によれば、Motorola社（アリゾナ州フェニックス）製ＭＰＣ９３１ＰＬＬチップをクロック駆動回路に使用する。この特定の集積回路は低電圧トランジスタ・トランジスタ・ロジック(low voltage transistor-transistor logic：ＬＶＴＴＬ）または低電圧正エミッタ結合ロジック（low voltage positive emitter coupled logic：ＬＶＰＥＣＬ）を両方ともサポートしているので、本発明のＳＤＲＡＭ  ＤＩＭＭはクロック駆動回路に対してどちらかの種類の論理レベルでも使用するパッドを含むことができる。したがって、ＰＣＬＫおよびＰＣＬＫ＿と略記する差動(differential)ＬＶＰＥＣＬクロック・パッドが設けてある。さらに、ＴＣＬＫと略記するＬＶＴＴＬクロック・パッドも設けてある。２つの可能な電力パッド入力の間で選択するため、ＴＣＬＫ＿ＳＥＬと略記する選択パッドが設けてある。ＴＣＬＫ＿ＳＥＬに印加する論理電圧値でクロック駆動回路が使用する電圧パッドのどちらかを選択する。たとえば、ＴＣＬＫ＿ＳＥＬパッドが高論理の場合ＴＣＬＫを選択でき、またＴＣＬＫ＿ＳＥＬパッドが低論理レベルの場合にはクロック駆動回路に電力供給するためにＰＣＬＫパッドを使用できる。別のパッドによりクロック駆動回路のフェーズ・ロック・ループ部分をイネーブルでき、これをＰＬＬ＿ＥＮと略記する。このメーカのチップではリセットと３状態(tri-state) クロック駆動回路出力をＰＬＬ＿ＣＬＲと略称する別のパッド経由で選択できる。機能的に類似のＰＬＬ（フェーズ・ロックド・ループ）チップを使用するその他の好適な構成も当業者には明らかであろう。
【００５６】
電力供給電圧（たとえば直流３．３ボルト）と接地はＶ３およびＧＮＤとそれぞれ略称するパッド経由で供給する。実装した場合、さらに１本のパッドを使用してシリアル・プログラマブル・リード・オンリー・メモリ（serial programmable read-only memory：ＰＲＯＭ）の内容を読み出す。このパッドはＳＥＲＩＡＬ＿ＤＡＴとラベルづけしてある。
【００５７】
図１５および図１６は２４４コネクタ・パッド・エッジ・コネクタ１０８全体での好適なパッド割り当て例を示す。本図は６つの列にわけて１ページで２４４パッドの割り当て全体を図示している。１４本のパッドは割り当てがない。各列はパッド番号の割り当てに続けて表１に掲載したパッド名称に対応するパッドの説明の略号を示してある。パッド割り当てはＰＣＢ１０３のトレース長(trace length)を考慮して信号のスキューと負荷を最小限にするように行なってある。
【００５８】
ＶＩＩ．タイミング条件
表２はＮＥＣ社（日本）製パーツ番号μＰＤ４５１６４２１ＧＳ−Ａ１２−ＴＪＦ（４Ｍ×４）、μＰＤ４５１６４２１ＧＳ−Ａ１２−ＴＪＦ（２Ｍ×８）、またはμＰＤ４５１６１ＧＳ−Ａ１２−ＴＪＦ（１Ｍ×１６）を使用するＳＤＲＡＭ  ＤＩＭＭ対の例のタイミング条件を示す。表２に示すタイミング条件は０から７０℃の間の公称温度(nominal temperatures)と、直流３．３Ｖから３．６Ｖの間の電力供給電圧でのもので、全部のクロックはＰＣＬＫを基準にしている。表２のタイミング条件は約１．５ナノセカンドのクロック・ジッタ(clock jitter)およびスキューを含む。
【００５９】
【表２】
2007280435.tif 000004
【００６０】
表２に示したタイミング・パラメータは、エッジ・コネクタで測定した時間間隔を一般に表わし、コネクタ自体が信号に有する全ての小さな影響を無視している。これらの時間はＳＤＲＡＭ自体のある位置で測定した場合異なるように見えることがある。行アドレスと列アドレスは、ＳＤＲＡＭ  ＤＩＭＭが接続されるメモリ・システムにより設定され、ＤＩＭＭで使用する特定のＳＤＲＡＭ装置で必要とされるように設定する。
【００６１】
ＶＩＩＩ．波形図
ＳＤＲＡＭ  ＤＩＭＭで情報を読み込み書き込むためのタイミング図が図８〜図１３に図示してある。図８は本発明による代表的な「データ・リード(data read) 」タイミング図である。図９は本発明による代表的な「データ・ライト(data write)」タイミング図である。図１０は本発明による代表的な「リード・モディファイ・ライト(read modify write) 」（ＲＭＷ）タイミング図である。縦棒はクロックのエッジを表わし、ここで制御およびアドレス信号がＳＤＲＡＭパーツでサンプリングされる。
【００６２】
図８を参照すると、合計６本のタイミング・トレース(timing traces) が図示してあり、これは、チップ選択（ＣＳ＿）８０２、行アドレス・ストローブ（ＲＥ＿）８０４、列アドレス・ストローブ（ＣＥ＿）８０６、書き込みイネーブル（ＷＥ＿）８０８、アドレス（Ａ）入力８１０、データ（Ｄ・Ｑ）入／出力８１２を含む。
【００６３】
ＳＤＲＡＭ  ＤＩＭＭデータ出力８１２は行と列のアドレスのアプリケーション(application) と、ＲＥ＿、ＣＥ＿、ＷＥ＿制御信号の発行に基づく出力のタイミングを表わす。データ・メモリは、１つの行アクセスに４つの列アドレス（Ｃ０、Ｃ２、Ｃ４、Ｃ６）が続きＤＩＭＭ対からのデータのブロックにアクセスできるように構成してある。データのブロック（パリティ／ＥＣＣデータを含まない）は８ワードで１６バイト、または合計１２８バイトである（ＤＩＭＭ当たり６４ビットまたはロケーション(location)アクセスあたり合計１２８ビットで、これは並列に対がアクセスされるためである）。したがってＲＡあたり４つの連続したロケーションのアクセスでは、合計８データ・ワードＤ０〜Ｄ７で１６バイトが出力される。同様に、ＳＤＲＡＭ  ＤＩＭＭ対は図９のトレース９０２で示したようにブロック・ライトへ書き込まれる。表３は図８〜図１０の各種タイミング・パラメータの代表的なサイクル・レイテンシ(cycle latency) を示す。これらのパラメータ・レイテンシはナノ秒単位で一覧してあり公称値(nominal) である。
【００６４】
【表３】
2007280435.tif 000005
【００６５】
リード・モディファイ・ライトは図１０に示したようにデータに対しても行なうことができる。単一のＲＥ＿とＣＥ＿（それぞれトレース１００２と１００４）によってあるロケーションがアクセスされ、第１のＤ０／Ｄ１対１００６でデータが読み出される。データが変更された後、第２のＤ０／Ｄ１対（１００８）で示すようにＣＥ＿とＷＥ＿信号（トレース１０１０）を表明(assert)することによってＤＩＭＭ対に書き戻される。
【００６６】
前述のように、状態メモリはデータ・メモリと並列にアクセスされる。それぞれのディレクトリ・エントリが３２ビット幅なので状態メモリは２つのリードと２つのライトを含み、好適実施例のそれぞれの状態メモリはわずか１６ビットの深さ(deep)しかないＳＤＲＡＭを実装している。また、ページ移送のインクリメントには要求を行なったノードとホーム・ノードの両方についてアクセスされるブロックに対応するロケーションの読み込みと、要求を行なったノードについてカウントをインクリメントするような書き込みが必要である。ページ移送カウントは、あるノードがメモリの特定ページにアクセスする回数を追跡する。つまり、このカウントはあるページがアクセスされるたびにインクリメントされなければならない。任意のページにアクセスする幾つかのノードに対するカウントが所定の閾値を越えるか、または要求元(requestor) のカウントからホーム・ノードのカウントを引いたものが別の閾値を越える場合、そのページはそのノードに関連するメモリへ移送される。ページ移送のさらに詳細な説明は前述した同時係属中の米国特許出願（代理人整理番号(attorney docket) １４５２．０６９００００）に見られる。つまり、データ・メモリの８サイクルの読み込みまたは書き込みの間に、対応する状態メモリは合計で４回読み出され、合計３回書き込まれるので、データおよび状態情報へのアクセスが平衡する。
【００６７】
図１１、図１２、図１３はそれぞれ読み込み、書き込み、リビジョン(rivisions) を含むデータ・マスキングに関連する３つの別々の波形図である。図１１では次の信号が図示してある：チップ選択（ＤＩＲ＿ＣＳ＿）、行アドレス・ストローブ（ＤＩＲ＿ＲＥ＿）、列アドレス・ストローブ（ＤＩＲ＿ＣＥ＿）、書き込みイネーブル（ＤＩＲ＿ＷＥ＿）、入／出力データ・マスク（ＤＩＲ＿ＤＱＭ）、アドレスＡ入力と、データ（ＤＩＲ＿ＤＱ）入／出力。読み込みでのディレクトリ・サイクルはディレクトリ・ワード（Ｄ０）の前半、要求元ノード（Ｓ）のページ移送カウント、ディレクトリ・ワードの後半（Ｄ１）、ホーム・ノードのページ移送カウント（Ｈ）を読み込むことから始まり、ＤＩＲ＿ＤＱでのデッド・サイクル(dead cycle)のあと、新規のページ移送カウント（Ｓ）と新規のディレクトリ情報（Ｄ０およびＤ１）が状態メモリに書き込まれる。メモリ制御装置の条件のため一覧した順序で情報が読み出され、これが最も速いメモリ応答時間につながる。
【００６８】
図１２は図１１に図示した波形のわずかな変更である。ＳとＤ０の順序が図１１とは対照的にこの図面では交換されている。
【００６９】
図１３は状態だけのアクセスでメモリ・アクセスを必要としないような、状態リビジョン操作での状態アクセスを示す。このようなリビジョン操作のオーバーヘッドを最小化するためディレクトリ情報だけがアクセスされる。
【００７０】
ＸＩ．拡張状態メモリ
ＤＳＭマルチプロセッサで使用した場合、本発明のＤＩＭＭ対は主メモリを実装するために使用される。ＤＳＭマルチプロセッサの各プロセッサ・ノードは主メモリの一部を含む。ＤＩＭＭの３６メガバイトと７２メガバイト実施例では、前述した状態メモリの構成は１６ノードを有するシステムで要求される状態情報に対応するのに充分な容量を提供する。たとえば、前述した各状態メモリは１６ビット幅の状態情報ワードを含む。
【００７１】
ノード数が１６を越える場合、さらに多くのキャッシュメモリがシステムに追加されると思われるので、キャッシングについての多くの状態情報に対応するため、それぞれのノードで付加的な状態メモリが必要になる。付加的な状態メモリは状態メモリ専用ＤＩＭＭを用いることで提供できる。本発明のこの態様の好適実施例によれば、この状態メモリ専用ＤＩＭＭは３２ビットの付加的な状態メモリを追加する。得られた合計の状態メモリは４８ビット幅の状態情報ワード（ＳＤＲＡＭデータ／状態メモリＤＩＭＭの本来の１６ビットに状態メモリ専用ＤＩＭＭからの３２ビットを加えたもの）を提供する。付加的な状態メモリがあると、ＤＳＭマルチプロセッサは従来のビットベクタを使用する６４ノードまで、またフレキシブル・ディレクトリ・ビットベクタを使用する５１２ノードまでに対応することが可能である。付加的な状態情報ビットの特定の数は変化することがあり、当業者には明らかなように拡張可能である。
【００７２】
ＤＳＭマルチプロセッサのノードの主メモリ部分１４００にあるＤＩＭＭ対３０２と状態メモリ専用ＤＩＭＭ１４０６の構成が図１４に図示してある。ＤＳＭマルチプロセッサのそのノードでのメモリ／ディレクトリ制御装置１４０２は、ＤＩＭＭ３０２と１４０６上のデータおよび状態メモリについて全てのメモリ管理機能を実行する。メモリ／アドレスおよび制御バッファ１４１０は制御装置１４０２からＤＩＭＭ対３０２のデータ・メモリへ向かう全部のアドレスおよび制御線１４２０をバッファリングする。状態（ディレクトリ）アドレスおよび制御バッファ１４１２は、制御装置１４０２から状態メモリ専用ＤＩＭＭ対１４０６の状態メモリへ向かう線１４２２の全部のアドレスおよび制御信号をバッファリングする。
【００７３】
それぞれの状態メモリ専用ＤＩＭＭ１４０６は１つのＰＣＢを使用して実装できる。ＰＣＢはＤＩＭＭ３０２のＳＤＲＡＭと類似のまたは類似していない容量のチップのＳＤＲＡＭチップで場所をしめられる(populate)。状態メモリ専用ＤＩＭＭ１４０６のＳＤＲＡＭは、２つのバンクの状態メモリに構成されるので状態情報ならびに状態情報のアドレシングがＤＩＭＭ３０２上のディレクトリ（ＤＩＲ）／状態メモリと一致する。
【００７４】
バス交換装置(bus excharger) １４０８は１４４ビットのデータ・ワードを双方向バス１４０９経由で各ＤＩＭＭ対３０２へ／から通過させる。バス交換装置１４０８はメモリ速度で１４４ビットのデータを取り出してこれを２倍のメモリ速度の７２ビットに変換する。好適実施例において、バス交換装置１４０８は、５０ＭＨｚの１４４ビットを１００ＭＨｚの７２ビットに変換し、またその逆に、双方向バス１４１１経由で、ＤＩＭＭ３０２と制御装置１４０２との間のデータの双方向転送のためにも変換するパーツ番号ＳＮ７４ＡＬＶＣ１６２８２(Texas Instruments社、テキサス州ダラス）により実装している。ディレクトリ・データはバッファリングされず、状態メモリ専用ＤＩＭＭ１４０６と制御装置１４０２との間で双方向バス１４２４経由で転送される。
【００７５】
説明のため、ＤＩＭＭの３６メガバイト実施例と７２メガバイト実施例を説明した。しかし、本発明のＤＩＭＭが他のデータ容量で製造し得ることは理解されるべきである。たとえば、６４メガビット（即ち８Ｍ×８）ＳＤＲＡＭチップを使用し、１２８メガバイトのデータと１６メガバイトのＥＣＣ（１８チップ×８メガバイト／チップ）の記憶容量（データとＥＣＣを含める）を有するシングル・ボードＤＩＭＭを製造することができる。これによりデータ記憶容量２５６メガバイトを有するＤＩＭＭ対が得られることになる。前述した７２メガバイトＤＩＭＭの実施例のようにピギーバック基板を使用する場合、６４メガバイトＳＤＲＡＭチップを使用して２５６メガバイトのデータと３２メガバイトのＥＣＣＤＩＭＭおよび５１２メガバイトのデータと６４メガバイトのＥＣＣ  ＤＩＭＭ対を実装できる。
【００７６】
前述の好適実施例において、ＤＩＭＭがデータ・メモリとして３６個のＳＤＲＡＭに対応できるようにするためピギーバック基板を使用している。チップ・スタッキング技術を用いても３６個のＳＤＲＡＭチップに対応できることが当業者には認識されよう。チップ・スタッキング技術を使用する場合、ピギーバック基板を排除できる。
【００７７】
これ以外にも、４メガビット（即ち１Ｍ×１）ＳＤＲＡＭチップを組み合わせてもっと少い記憶容量のＤＩＭＭを作成したり、または前述のスタッキングおよび／またはピギーバック技術を用いてもっと大きな記憶容量にすることも可能である。
【００７８】
Ｘ．結論
本発明の各種実施例について説明したが、これらは例として呈示したに過ぎず制限のためではないことが理解されるべきである。本発明の精神と範囲から逸脱することなく態様ならびに詳細において各種の変化を成し得ることが当業者には明らかであろう。したがって本発明は前述した例示の実施例のいずれかで制限されるべきものではなく、後述の請求項とその均等物(equivalents) によってのみ定義されるべきものである。
【図面の簡単な説明】
【００７９】
【図１】本発明によるＳＤＲＡＭ  ＤＩＭＭの代表的ハイ・レベル・ブロック図である。
【図２】本発明によるＳＤＲＡＭ  ＤＩＭＭの前面と裏面の代表的略ブロック図である。
【図３】２つのバンクとこれらのバンクについて本発明による状態ディレクトリ・メモリを有するＳＤＲＡＭ  ＤＩＭＭ対の代表的略論理図である。
【図４】本発明の第１の実施例による３６メガバイトＳＤＲＡＭ  ＤＩＭＭの代表的模式図である。
【図５】本発明の第２の実施例による７２メガバイトＳＤＲＡＭ  ＤＩＭＭの代表的模式図である。
【図６】図６Ａは本発明によるＳＤＲＡＭ  ＤＩＭＭの正面平面図、図６Ｂは図６ＡのＳＤＲＡＭ  ＤＩＭＭの裏面平面図である。
【図７】図７Ａは本発明によるＳＤＲＡＭ  ＤＩＭＭピギーバック基板の正面平面図、図７Ｂは図７ＡのＳＤＲＡＭ  ＤＩＭＭピギーバック基板の裏面平面図である。
【図８】本発明による代表的データ・リードのタイミング図である。
【図９】本発明による代表的データ・ライトのタイミング図である。
【図１０】本発明による代表的リード／モディファイ／ライトのタイミング図である。
【図１１】本発明によるメモリ読み込みのための代表的状態メモリ・タイミング図である。
【図１２】本発明によるメモリ書き込みまたはリード・モディファイ・ライトのための代表的状態メモリ・タイミング図である。
【図１３】本発明による状態メモリ専用ＤＩＭＭの操作のための代表的状態メモリ・タイミング図である。
【図１４】ＤＳＭマルチプロセッサのノードにおけるＤＩＭＭ対と状態メモリ専用ＤＩＭＭの構成図である。
【図１５】エッジ・コネクタ全体の好適なパッド割り当て例（その１）を示す図である。
【図１６】エッジ・コネクタ全体の好適なパッド割り当て例（その２）を示す図である。
【図１】
2007280435.tif 000006
【図２】
2007280435.tif 000007
【図３】
2007280435.tif 000008
【図４】
2007280435.tif 000009
【図５】
2007280435.tif 000010
【図６】
2007280435.tif 000011
【図７】
2007280435.tif 000012
【図８】
2007280435.tif 000013
【図９】
2007280435.tif 000014
【図１０】
2007280435.tif 000015
【図１１】
2007280435.tif 000016
【図１２】
2007280435.tif 000017
【図１３】
2007280435.tif 000018
【図１４】
2007280435.tif 000019
【図１５】
2007280435.tif 000020
【図１６】
2007280435.tif 000021