(57)【要約】【課題】メモリモジュールにおいて、メモリコントローラから出力されるバンクアドレス、ロウアドレス、カラムアドレスのビット数が、それぞれ、アクセス対象となるメモリセルを特定するためのバンクアドレス、ロウアドレス、カラムアドレスのビット数と整合していない場合でも、メモリモジュールのすべてのメモリセルにアクセス可能にするとともに、メモリモジュールを正常に動作させる。【解決手段】メモリモジュール１００において、アドレス生成回路１２０は、メモリコントローラ１２から出力されたロウアドレスの最上位ビットを用いて、アクセス対象となるメモリセルを特定するために不足するバンクアドレスの最上位ビットＢ２を生成し、これをＳＤＲＡＭ１１０に出力する。動作モード検出部１３０は、メモリコントローラ１２の動作モードを検出する。スイッチ制御部１４０は、検出された動作モードに基づいて、スイッチ１２８を切り換える。【選択図】図２
2010092261.tif 000002
【特許請求の範囲】
【請求項１】
メモリモジュールであって、
マトリクス状に配列された複数のメモリセルを備えるバンクを複数有し、メモリコントローラから入力された所定のビット数のバンクアドレスと、所定のビット数のロウアドレスと、所定のビット数のカラムアドレスとに基づいて、アクセス対象となるメモリセルが特定されるメモリと、
前記メモリコントローラから出力されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和が、前記アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和と等しく、かつ、
前記メモリコントローラから出力されるロウアドレスのビット数が、前記アクセス対象となるメモリセルの特定に利用されるロウアドレスのビット数よりも１ビット多く、かつ、
前記メモリコントローラから出力されるバンクアドレスのビット数が、前記アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数よりも１ビット少ないときに、
前記メモリコントローラから出力されたロウアドレスの最上位ビットを用いて、前記アクセス対象となるメモリセルの特定に利用されるバンクアドレスの最上位ビットを生成して、前記メモリに出力することが可能なアドレス生成回路と、
前記メモリコントローラから前記メモリへのアクセスの動作モードが、第１の動作モードであるか、第２の動作モードであるかを検出する動作モード検出部と、
前記動作モード検出部によって検出された動作モードに基づいて、前記アドレス生成回路を制御する制御部と、
を備えるメモリモジュール。
【請求項２】
請求項１記載のメモリモジュールであって、
前記第１の動作モードは、前記メモリコントローラから発行されるコマンドが前記メモリコントローラから出力されるクロック信号の１周期ごとに変更され得る動作モードであり、
前記第２の動作モードは、前記メモリコントローラから発行されるコマンドが前記メモリコントローラから出力されるクロック信号の２周期ごとに変更され得る動作モードであり、
前記制御部は、
前記動作モード検出部によって検出された動作モードが、前記第１の動作モードであるときに、前記バンクアドレスの最上位ビットの前記メモリへの出力を禁止するように、前記アドレス生成回路を制御し、
前記動作モード検出部によって検出された動作モードが、前記第２の動作モードであるときに、前記バンクアドレスの最上位ビットを前記メモリに出力するように、前記アドレス生成回路を制御する、
メモリモジュール。
【請求項３】
請求項１または２記載のメモリモジュールであって、
前記アドレス生成回路は、
前記メモリコントローラから出力されたロウアドレスの最上位ビットを一時的に記憶するレジスタと、
前記メモリコントローラから出力されたロウアドレスの最上位ビット、または、前記レジスタに記憶された前記ロウアドレスの最上位ビットを、前記アクセス対象となるメモリセルの特定に利用されるバンクアドレスの最上位ビットとして、前記メモリに出力する出力選択部と、
前記メモリコントローラから出力されたロウ・アドレス・ストローブ信号と、カラム・アドレス・ストローブ信号と、ライト・イネーブル信号とに基づいて、前記メモリに対するアクセス方法を指定するコマンドを解析し、該解析されたコマンドを、前記レジスタ、および、前記出力選択部に出力するコマンド解析部と、を備え、
前記レジスタは、前記コマンド解析部から入力されたコマンドに基づいて、前記ロウアドレスの最上位ビットの記憶、および、リセットを行い、
前記出力選択部は、前記コマンド解析部から入力されたコマンドに基づいて、前記メモリコントローラから出力されたロウアドレスの最上位ビット、または、前記レジスタに記憶された前記ロウアドレスの最上位ビットを出力する、
メモリモジュール。
【請求項４】
メモリモジュールであって、
マトリクス状に配列された複数のメモリセルを備えるバンクを複数有し、メモリコントローラから入力された所定のビット数のバンクアドレスと、所定のビット数のロウアドレスと、所定のビット数のカラムアドレスとに基づいて、アクセス対象となるメモリセルが特定されるメモリと、
前記メモリコントローラから出力されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和が、前記アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和と等しく、かつ、
前記メモリコントローラから出力されるロウアドレスのビット数が、前記アクセス対象となるメモリセルの特定に利用されるロウアドレスのビット数よりも１ビット多く、かつ、
前記メモリコントローラから出力されるカラムアドレスのビット数が、前記アクセス対象となるメモリセルの特定に利用されるカラムアドレスのビット数よりも１ビット少ないときに、
前記メモリコントローラから出力されたロウアドレスの最上位ビットを用いて、前記アクセス対象となるメモリセルの特定に利用されるカラムアドレスの最上位ビットを生成して、前記メモリに出力することが可能なアドレス生成回路と、
前記メモリコントローラから前記メモリへのアクセスの動作モードが、第１の動作モードであるか、第２の動作モードであるかを検出する動作モード検出部と、
前記動作モード検出部によって検出された動作モードに基づいて、前記アドレス生成回路を制御する制御部と、
を備えるメモリモジュール。
【請求項５】
請求項４記載のメモリモジュールであって、
前記第１の動作モードは、前記メモリコントローラから発行されるコマンドが前記メモリコントローラから出力されるクロック信号の１周期ごとに変更され得る動作モードであり、
前記第２の動作モードは、前記メモリコントローラから発行されるコマンドが前記メモリコントローラから出力されるクロック信号の２周期ごとに変更され得る動作モードであり、
前記制御部は、
前記動作モード検出部によって検出された動作モードが、前記第１の動作モードであるときに、前記カラムアドレスの最上位ビットの前記メモリへの出力を禁止するように、前記アドレス生成回路を制御し、
前記動作モード検出部によって検出された動作モードが、前記第２の動作モードであるときに、前記カラムアドレスの最上位ビットを前記メモリに出力するように、前記アドレス生成回路を制御する、
メモリモジュール。
【請求項６】
請求項４または５記載のメモリモジュールであって、
前記アドレス生成回路は、
前記メモリコントローラから出力されたロウアドレスの最上位ビットを一時的に記憶するレジスタと、
前記メモリコントローラから出力されたロウアドレスの最上位ビット、または、前記レジスタに記憶された前記ロウアドレスの最上位ビットを、前記アクセス対象となるメモリセルの特定に利用されるカラムアドレスの最上位ビットとして、前記メモリに出力する出力選択部と、
前記メモリコントローラから出力されたロウ・アドレス・ストローブ信号と、カラム・アドレス・ストローブ信号と、ライト・イネーブル信号とに基づいて、前記メモリに対するアクセス方法を指定するコマンドを解析し、該解析されたコマンドを、前記レジスタ、および、前記出力選択部に出力するコマンド解析部と、を備え、
前記レジスタは、前記コマンド解析部から入力されたコマンドに基づいて、前記ロウアドレスの最上位ビットの記憶、および、リセットを行い、
前記出力選択部は、前記コマンド解析部から入力されたコマンドに基づいて、前記メモリコントローラから出力されたロウアドレスの最上位ビット、または、前記レジスタに記憶された前記ロウアドレスの最上位ビットを出力する、
メモリモジュール。
【請求項７】
請求項１ないし６のいずれかに記載のメモリモジュールであって、さらに、
前記動作モード検出部によって検出された動作モードと対応付けられた所定のパラメータ値を記憶する不揮発性メモリを備えており、
前記制御部は、前記不揮発性メモリに記憶されたパラメータ値を読み出し、該パラメータ値に基づいて、前記アドレス生成回路を制御する、
メモリモジュール。
【請求項８】
請求項７記載のメモリモジュールであって、
前記制御部は、
前記メモリモジュールがコンピュータに装着された後であって、該コンピュータが最初に起動されたときに、前記パラメータ値を、前記不揮発性メモリに記憶し、
前記コンピュータが２回目以降に起動されたときに、前記パラメータ値を読み出す、
メモリモジュール。
【請求項９】
請求項１ないし８のいずれかに記載のメモリモジュールであって、
前記動作モード検出部は、前記メモリコントローラから出力されたクロック信号と、チップセレクト信号と、ロウ・アドレス・ストローブ信号と、カラム・ドレス・ストローブ信号と、ライト・イネーブル信号とに基づいて、前記動作モードが第１の動作モードであるか第２の動作モードであるかを検出する、
メモリモジュール。
【請求項１０】
請求項９記載のメモリモジュールであって、
前記動作モード検出部は、前記クロック信号の立ち上がりエッジごとに、前記チップセレクト信号と、前記ロウ・アドレス・ストローブ信号と、前記カラム・アドレス・ストローブ信号と、前記ライト・イネーブル信号とを取得するとともに、該各信号を保持し、
前記取得したチップセレクト信号が“Ｌ”であるときに取得したロウ・アドレス・ストローブ信号と、カラム・アドレス・ストローブ信号と、ライト・イネーブル信号とのうちの少なくとも１つが、前回取得したロウ・アドレス・ストローブ信号と、カラム・アドレス・ストローブ信号と、ライト・イネーブル信号と異なる場合に、前記動作モードが前記第１の動作モードであるものと検出し、
前記取得したチップセレクト信号が“Ｌ”であるときに取得したロウ・アドレス・ストローブ信号と、カラム・アドレス・ストローブ信号と、ライト・イネーブル信号とが、それぞれ、前回取得したロウ・アドレス・ストローブ信号と、カラム・アドレス・ストローブ信号と、ライト・イネーブル信号と等しく、かつ、前回取得したロウ・アドレス・ストローブ信号と、カラム・アドレス・ストローブ信号と、ライト・イネーブル信号とのうちの少なくとも１つが、前々回取得したロウ・アドレス・ストローブ信号と、カラム・アドレス・ストローブ信号と、ライト・イネーブル信号と異なる場合に、前記動作モードが前記第２の動作モードであるものと検出する、
メモリモジュール。
【請求項１１】
請求項１０記載のメモリモジュールであって、
前記動作モード検出部は、前記動作モードの検出を複数回行い、前記第１の動作モードの検出回数、または、前記第２の動作モードの検出回数が、前記複数回の過半数よりも多い所定回数以上であるときに、該所定回数以上検出された動作モードを前記動作モードとして確定する、
メモリモジュール。
【請求項１２】
マトリクス状に配列された複数のメモリセルを備えるバンクを複数有し、メモリコントローラから入力された所定のビット数のバンクアドレスと、所定のビット数のロウアドレスと、所定のビット数のカラムアドレスとに基づいて、アクセス対象となるメモリセルが特定されるメモリを備えるメモリモジュールと、前記メモリコントローラとに接続され、前記メモリコントローラと前記メモリモジュールとの間における信号およびデータのやり取りを中継するメモリ用補助モジュールであって、
前記メモリ用補助モジュールは、
前記メモリコントローラから出力されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和が、前記アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和と等しく、かつ、
前記メモリコントローラから出力されるロウアドレスのビット数が、前記アクセス対象となるメモリセルの特定に利用されるロウアドレスのビット数よりも１ビット多く、かつ、
前記メモリコントローラから出力されるバンクアドレスのビット数が、前記アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数よりも１ビット少ないときに利用されるメモリ用補助モジュールであり、
前記メモリコントローラから出力されたロウアドレスの最上位ビットを用いて、前記アクセス対象となるメモリセルの特定に利用されるバックアドレスの最上位ビットを生成して、前記メモリモジュールに出力することが可能なアドレス生成回路と、
前記メモリコントローラから前記メモリへのアクセスの動作モードが、第１の動作モードであるか、第２の動作モードであるかを検出する動作モード検出部と、
前記動作モード検出部によって検出された動作モードに基づいて、前記アドレス生成回路を制御する制御部と、
を備えるメモリ用補助モジュール。
【請求項１３】
マトリクス状に配列された複数のメモリセルを備えるバンクを複数有し、メモリコントローラから入力された所定のビット数のバンクアドレスと、所定のビット数のロウアドレスと、所定のビット数のカラムアドレスとに基づいて、アクセス対象となるメモリセルが特定されるメモリを備えるメモリモジュールと、前記メモリコントローラとに接続され、前記メモリコントローラと前記メモリモジュールとの間における信号およびデータのやり取りを中継するメモリ用補助モジュールであって、
前記メモリ用補助モジュールは、
前記メモリコントローラから出力されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和が、前記アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和と等しく、かつ、
前記メモリコントローラから出力されるロウアドレスのビット数が、前記アクセス対象となるメモリセルの特定に利用されるロウアドレスのビット数よりも１ビット多く、かつ、
前記メモリコントローラから出力されるカラムアドレスのビット数が、前記アクセス対象となるメモリセルの特定に利用されるカラムアドレスのビット数よりも１ビット少ないときに利用されるメモリ用補助モジュールであり、
前記メモリコントローラから出力されたロウアドレスの最上位ビットを用いて、前記アクセス対象となるメモリセルの特定に利用されるカラムアドレスの最上位ビットを生成して、前記メモリモジュールに出力することが可能なアドレス生成回路と、
前記メモリコントローラから前記メモリへのアクセスの動作モードが、第１の動作モードであるか、第２の動作モードであるかを検出する動作モード検出部と、
前記動作モード検出部によって検出された動作モードに基づいて、前記アドレス生成回路を制御する制御部と、
を備えるメモリ用補助モジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリモジュール、および、メモリ用補助モジュールに関するものである。
【背景技術】
【０００２】
従来、複数の半導体メモリチップを基板に装着して配線し、コンピュータに接続するための接続端子を設けたメモリモジュールが普及している。このメモリモジュールに備えられるメモリには、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）がある。そして、ＳＤＲＡＭでは、内部が複数のバンクに分割されており、各バンクは、それぞれ独立して動作可能となっている。このＳＤＲＡＭにおいて、アクセス対象となるメモリセルは、コンピュータが備えるメモリコントローラから出力されたバンクアドレスと、ロウアドレスと、カラムアドレスとによって特定される。なお、バンクアドレスは、バンクアドレス用の信号線を用いてＳＤＲＡＭに入力され、ロウアドレス、および、カラムアドレスは、共通の信号線を用いてＳＤＲＡＭに入力される。また、ロウアドレス、および、カラムアドレスは、ロウアドレス、カラムアドレスの順に、２回に分けてＳＤＲＡＭに入力される。
【０００３】
ところで、メモリモジュールにおけるメモリの大容量化に伴い、メモリセルの数が増加するので、アクセス対象となるメモリセルを特定するためのバンクアドレスのビット数や、ロウアドレスのビット数や、カラムアドレスのビット数が変化する。例えば、バンクの数が２倍になれば、バンクアドレスのビット数が１ビット増加する。このため、大容量のメモリを備えるメモリモジュールを、このメモリモジュールに対応していないメモリコントローラを備えるコンピュータに接続した場合、すなわち、メモリコントローラが出力する各アドレスのビット数と、アクセス対象となるメモリセルを特定するための各アドレスのビット数とが整合していない場合には、コンピュータ（メモリコントローラ）は、メモリモジュールの一部のメモリセルにしかアクセスできないという不具合があった。
【０００４】
そこで、メモリモジュールにおいて、メモリコントローラが出力する各アドレスのビット数が、それぞれ、アクセス対象となるメモリセルを特定するための各アドレスのビット数と整合していない場合であっても、メモリモジュールのすべてのメモリセルにアクセス可能とする技術が提案されている（例えば、下記特許文献１，２参照）。
【０００５】
【特許文献１】特開２００５−６２９１４号公報
【特許文献２】特開２００４−９４７８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上記特許文献に記載された技術によっても、メモリモジュールを正常に動作させることができない場合があった。
【０００７】
本発明は、上述の課題を解決するためになされたものであり、メモリモジュールにおいて、メモリコントローラから出力されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数とが、それぞれ、アクセス対象となるメモリセルを特定するためのバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数と整合していない場合でも、メモリモジュールのすべてのメモリセルにアクセス可能にするとともに、メモリモジュールを正常に動作させることを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、上述の課題の少なくとも一部を解決するために以下の形態又は適用例として実現することが可能である。
【０００９】
［適用例１］メモリモジュールであって、マトリクス状に配列された複数のメモリセルを備えるバンクを複数有し、メモリコントローラから入力された所定のビット数のバンクアドレスと、所定のビット数のロウアドレスと、所定のビット数のカラムアドレスとに基づいて、アクセス対象となるメモリセルが特定されるメモリと、前記メモリコントローラから出力されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和が、前記アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和と等しく、かつ、前記メモリコントローラから出力されるロウアドレスのビット数が、前記アクセス対象となるメモリセルの特定に利用されるロウアドレスのビット数よりも１ビット多く、かつ、前記メモリコントローラから出力されるバンクアドレスのビット数が、前記アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数よりも１ビット少ないときに、前記メモリコントローラから出力されたロウアドレスの最上位ビットを用いて、前記アクセス対象となるメモリセルの特定に利用されるバンクアドレスの最上位ビットを生成して、前記メモリに出力することが可能なアドレス生成回路と、前記メモリコントローラから前記メモリへのアクセスの動作モードが、第１の動作モードであるか、第２の動作モードであるかを検出する動作モード検出部と、前記動作モード検出部によって検出された動作モードに基づいて、前記アドレス生成回路を制御する制御部と、を備えるメモリモジュール。
【００１０】
適用例１のメモリモジュールでは、メモリコントローラから出力されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和が、アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和と等しく、かつ、メモリコントローラから出力されるロウアドレスのビット数が、アクセス対象となるメモリセルの特定に利用されるロウアドレスのビット数よりも１ビット多く、かつ、メモリコントローラから出力されるバンクアドレスのビット数が、アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数よりも１ビット少ないときに、アドレス生成回路によって、アクセス対象となるメモリセルを特定するために不足するバンクアドレスの最上位ビットを生成し、この生成されたバンクアドレスの最上位ビットをメモリに出力することができる。したがって、メモリコントローラから出力される各アドレスのビット数が、それぞれ、アクセス対象となるメモリセルの特定に利用される各アドレスのビット数と整合していない場合であっても、上記条件下で、メモリコントローラからメモリモジュールのすべてのメモリセルにアクセス可能にするとともに、メモリモジュールを正常に動作させることができる。
【００１１】
なお、上記アドレス生成回路による上記バンクアドレスの最上位ビットの生成、出力には、所定時間を要するため、メモリコントローラからメモリへのアクセスの動作モードが比較的高速アクセス可能な動作モードである場合には、上記バンクアドレスの最上位ビットの生成、出力が間に合わずに、メモリコントローラからメモリへのアクセスが正常に行われない場合が生じる。このため、メモリコントローラからメモリへのアクセスの動作モードが比較的高速アクセス可能な動作モードである場合には、アドレス生成回路による上記バンクアドレスの最上位ビットの生成、出力を行わないように、アドレス生成回路を制御する、すなわち、アドレス生成回路の制御モードを切り換えることが好ましい。ここで、アドレス生成回路を制御するとは、上記生成を行うか否か、あるいは、上記出力を行うか否かを切り換えることを意味している。
【００１２】
適用例１のメモリモジュールは、上記動作モード検出部と、制御部とを備えるので、ユーザ自らがアドレス生成回路の制御モードの切り換えの要否を判断することなく、メモリコントローラからメモリへのアクセスの動作モードが第１の動作モードであるか第２の動作モードであるかに応じて、上記切り換えを行うことができる。
【００１３】
［適用例２］適用例１記載のメモリモジュールであって、前記第１の動作モードは、前記メモリコントローラから発行されるコマンドが前記メモリコントローラから出力されるクロック信号の１周期ごとに変更され得る動作モードであり、前記第２の動作モードは、前記メモリコントローラから発行されるコマンドが前記メモリコントローラから出力されるクロック信号の２周期ごとに変更され得る動作モードであり、前記制御部は、前記動作モード検出部によって検出された動作モードが、前記第１の動作モードであるときに、前記バンクアドレスの最上位ビットの前記メモリへの出力を禁止するように、前記アドレス生成回路を制御し、前記動作モード検出部によって検出された動作モードが、前記第２の動作モードであるときに、前記バンクアドレスの最上位ビットを前記メモリに出力するように、前記アドレス生成回路を制御する、メモリモジュール。
【００１４】
［適用例３］適用例１または２記載のメモリモジュールであって、前記アドレス生成回路は、前記メモリコントローラから出力されたロウアドレスの最上位ビットを一時的に記憶するレジスタと、前記メモリコントローラから出力されたロウアドレスの最上位ビット、または、前記レジスタに記憶された前記ロウアドレスの最上位ビットを、前記アクセス対象となるメモリセルの特定に利用されるバンクアドレスの最上位ビットとして、前記メモリに出力する出力選択部と、前記メモリコントローラから出力されたロウ・アドレス・ストローブ信号と、カラム・アドレス・ストローブ信号と、ライト・イネーブル信号とに基づいて、前記メモリに対するアクセス方法を指定するコマンドを解析し、該解析されたコマンドを、前記レジスタ、および、前記出力選択部に出力するコマンド解析部と、を備え、前記レジスタは、前記コマンド解析部から入力されたコマンドに基づいて、前記ロウアドレスの最上位ビットの記憶、および、リセットを行い、前記出力選択部は、前記コマンド解析部から入力されたコマンドに基づいて、前記メモリコントローラから出力されたロウアドレスの最上位ビット、または、前記レジスタに記憶された前記ロウアドレスの最上位ビットを出力する、メモリモジュール。
【００１５】
［適用例４］メモリモジュールであって、マトリクス状に配列された複数のメモリセルを備えるバンクを複数有し、メモリコントローラから入力された所定のビット数のバンクアドレスと、所定のビット数のロウアドレスと、所定のビット数のカラムアドレスとに基づいて、アクセス対象となるメモリセルが特定されるメモリと、前記メモリコントローラから出力されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和が、前記アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和と等しく、かつ、前記メモリコントローラから出力されるロウアドレスのビット数が、前記アクセス対象となるメモリセルの特定に利用されるロウアドレスのビット数よりも１ビット多く、かつ、前記メモリコントローラから出力されるカラムアドレスのビット数が、前記アクセス対象となるメモリセルの特定に利用されるカラムアドレスのビット数よりも１ビット少ないときに、前記メモリコントローラから出力されたロウアドレスの最上位ビットを用いて、前記アクセス対象となるメモリセルの特定に利用されるカラムアドレスの最上位ビットを生成するアドレス生成回路と、前記メモリコントローラから前記メモリへのアクセスの動作モードが、第１の動作モードであるか、第２の動作モードであるかを検出する動作モード検出部と、前記動作モード検出部によって検出された動作モードに基づいて、前記アドレス生成回路を制御する制御部と、を備えるメモリモジュール。
【００１６】
適用例４のメモリモジュールでは、メモリコントローラから出力されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和が、アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和と等しく、かつ、メモリコントローラから出力されるロウアドレスのビット数が、アクセス対象となるメモリセルの特定に利用されるロウアドレスのビット数よりも１ビット多く、かつ、メモリコントローラから出力されるカラムアドレスのビット数が、アクセス対象となるメモリセルの特定に利用されるカラムアドレスのビット数よりも１ビット少ないときに、アドレス生成回路によって、アクセス対象となるメモリセルを特定するために不足するカラムアドレスの最上位ビットを生成し、この生成されたカラムアドレスをメモリに出力することができる。したがって、メモリコントローラから出力される各アドレスのビット数が、それぞれ、アクセス対象となるメモリセルの特定に利用される各アドレスのビット数と整合していない場合であっても、上記条件下で、メモリコントローラからメモリモジュールのすべてのメモリセルにアクセス可能にするとともに、メモリモジュールを正常に動作させることができる。
【００１７】
なお、上記アドレス生成回路による上記カラムアドレスの最上位ビットの生成、出力には、所定時間を要するため、メモリコントローラからメモリへのアクセスの動作モードが比較的高速アクセス可能な動作モードである場合には、上記カラムアドレスの最上位ビットの生成、出力が間に合わずに、メモリコントローラからメモリへのアクセスが正常に行われない場合が生じる。このため、メモリコントローラからメモリへのアクセスの動作モードが比較的高速アクセス可能な動作モードである場合には、アドレス生成回路による上記カラムアドレスの最上位ビットの生成、出力を行わないように、アドレス生成回路を制御する、すなわち、アドレス生成回路の制御モードを切り換えることが好ましい。ここで、アドレス生成回路を制御するとは、上記生成を行うか否か、あるいは、上記出力を行うか否かを切り換えることを意味している。
【００１８】
適用例４のメモリモジュールは、上記動作モード検出部と、制御部とを備えるので、ユーザ自らがアドレス生成回路の制御モードの切り換えの要否を判断することなく、メモリコントローラからメモリへのアクセスの動作モードが第１の動作モードであるか第２の動作モードであるかに応じて、上記切り換えを行うことができる。
【００１９】
［適用例５］適用例４記載のメモリモジュールであって、前記第１の動作モードは、前記メモリコントローラから発行されるコマンドが前記メモリコントローラから出力されるクロック信号の１周期ごとに変更され得る動作モードであり、前記第２の動作モードは、前記メモリコントローラから発行されるコマンドが前記メモリコントローラから出力されるクロック信号の２周期ごとに変更され得る動作モードであり、前記制御部は、前記動作モード検出部によって検出された動作モードが、前記第１の動作モードであるときに、前記カラムアドレスの最上位ビットの前記メモリへの出力を禁止するように、前記アドレス生成回路を制御し、前記動作モード検出部によって検出された動作モードが、前記第２の動作モードであるときに、前記カラムアドレスの最上位ビットを前記メモリに出力するように、前記アドレス生成回路を制御する、メモリモジュール。
【００２０】
［適用例６］適用例４または５記載のメモリモジュールであって、前記アドレス生成回路は、前記メモリコントローラから出力されたロウアドレスの最上位ビットを一時的に記憶するレジスタと、前記メモリコントローラから出力されたロウアドレスの最上位ビット、または、前記レジスタに記憶された前記ロウアドレスの最上位ビットを、前記アクセス対象となるメモリセルの特定に利用されるカラムアドレスの最上位ビットとして、前記メモリに出力する出力選択部と、前記メモリコントローラから出力されたロウ・アドレス・ストローブ信号と、カラム・アドレス・ストローブ信号と、ライト・イネーブル信号とに基づいて、前記メモリに対するアクセス方法を指定するコマンドを解析し、該解析されたコマンドを、前記レジスタ、および、前記出力選択部に出力するコマンド解析部と、を備え、前記レジスタは、前記コマンド解析部から入力されたコマンドに基づいて、前記ロウアドレスの最上位ビットの記憶、および、リセットを行い、前記出力選択部は、前記コマンド解析部から入力されたコマンドに基づいて、前記メモリコントローラから出力されたロウアドレスの最上位ビット、または、前記レジスタに記憶された前記ロウアドレスの最上位ビットを出力する、メモリモジュール。
【００２１】
［適用例７］適用例１ないし６のいずれかに記載のメモリモジュールであって、さらに、前記動作モード検出部によって検出された動作モードと対応付けられた所定のパラメータ値を記憶する不揮発性メモリを備えており、前記制御部は、前記不揮発性メモリに記憶されたパラメータ値を読み出し、該パラメータ値に基づいて、前記アドレス生成回路を制御する、メモリモジュール。
【００２２】
適用例７のメモリモジュールでは、不揮発性メモリ（例えば、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）等）に記憶された上記パラメータ値に基づいて、上記アドレス生成回路の制御モードを切り換えることができる。なお、上記パラメータ値としては、例えば、上記アドレス制御回路の制御モードを用いるようにしてもよいし、上記動作モードを用いるようにしてもよい。
【００２３】
［適用例８］適用例７記載のメモリモジュールであって、前記制御部は、前記メモリモジュールがコンピュータに装着された後であって、該コンピュータが最初に起動されたときに、前記パラメータ値を、前記不揮発性メモリに記憶し、前記コンピュータが２回目以降に起動されたときに、前記パラメータ値を読み出す、メモリモジュール。
【００２４】
メモリモジュールがコンピュータに装着された後、すなわち、メモリコントローラに接続された後には、コンピュータにおけるメモリコントローラ、メモリモジュールの構成が大きく変更されない限り、一般に、メモリコントローラからメモリへのアクセスの動作モードは固定される。
【００２５】
適用例８のメモリモジュールでは、メモリモジュールがコンピュータに装着された後、１度、上記動作モードの検出を行えば、その後、動作モードの検出を行わなくても、メモリコントローラからメモリへのアクセスを正常に行うことができる。なお、上記不揮発性メモリには、メモリモジュールがコンピュータに装着された後であって、コンピュータが最初に起動されたときに用いられるデフォルトのパラメータ値が予め記憶されており、メモリモジュールがコンピュータに装着された後であって、コンピュータが最初に起動されたときには、デフォルトのパラメータ値が用いられる。
【００２６】
［適用例９］適用例１ないし８のいずれかに記載のメモリモジュールであって、前記動作モード検出部は、前記メモリコントローラから出力されたクロック信号と、チップセレクト信号と、ロウ・アドレス・ストローブ信号と、カラム・ドレス・ストローブ信号と、ライト・イネーブル信号とに基づいて、前記動作モードが第１の動作モードであるか第２の動作モードであるかを検出する、メモリモジュール。
【００２７】
［適用例１０］適用例９記載のメモリモジュールであって、前記動作モード検出部は、前記クロック信号の立ち上がりエッジごとに、前記チップセレクト信号と、前記ロウ・アドレス・ストローブ信号と、前記カラム・アドレス・ストローブ信号と、前記ライト・イネーブル信号とを取得するとともに、該各信号を保持し、前記取得したチップセレクト信号が“Ｌ”であるときに取得したロウ・アドレス・ストローブ信号と、カラム・アドレス・ストローブ信号と、ライト・イネーブル信号とのうちの少なくとも１つが、前回取得したロウ・アドレス・ストローブ信号と、カラム・アドレス・ストローブ信号と、ライト・イネーブル信号と異なる場合に、前記動作モードが前記第１の動作モードであるものと検出し、前記取得したチップセレクト信号が“Ｌ”であるときに取得したロウ・アドレス・ストローブ信号と、カラム・アドレス・ストローブ信号と、ライト・イネーブル信号とが、それぞれ、前回取得したロウ・アドレス・ストローブ信号と、カラム・アドレス・ストローブ信号と、ライト・イネーブル信号と等しく、かつ、前回取得したロウ・アドレス・ストローブ信号と、カラム・アドレス・ストローブ信号と、ライト・イネーブル信号とのうちの少なくとも１つが、前々回取得したロウ・アドレス・ストローブ信号と、カラム・アドレス・ストローブ信号と、ライト・イネーブル信号と異なる場合に、前記動作モードが前記第２の動作モードであるものと検出する、メモリモジュール。
【００２８】
適用例１０のメモリモジュールによって、クロック信号と、チップセレクト信号と、ロウ・アドレス・ストローブ信号と、カラム・ドレス・ストローブ信号と、ライト・イネーブル信号とを用いて、比較的容易に、上記動作モードの検出を行うことができる。
【００２９】
［適用例１１］適用例１０記載のメモリモジュールであって、前記動作モード検出部は、前記動作モードの検出を複数回行い、前記第１の動作モードの検出回数、または、前記第２の動作モードの検出回数が、前記複数回の過半数よりも多い所定回数以上であるときに、該所定回数以上検出された動作モードを前記動作モードとして確定する、メモリモジュール。
【００３０】
適用例１１のメモリモジュールによって、上記動作モードの確定を、精度よく行うことができる。
【００３１】
［適用例１２］マトリクス状に配列された複数のメモリセルを備えるバンクを複数有し、メモリコントローラから入力された所定のビット数のバンクアドレスと、所定のビット数のロウアドレスと、所定のビット数のカラムアドレスとに基づいて、アクセス対象となるメモリセルが特定されるメモリを備えるメモリモジュールと、前記メモリコントローラとに接続され、前記メモリコントローラと前記メモリモジュールとの間における信号およびデータのやり取りを中継するメモリ用補助モジュールであって、前記メモリ用補助モジュールは、前記メモリコントローラから出力されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和が、前記アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和と等しく、かつ、前記メモリコントローラから出力されるロウアドレスのビット数が、前記アクセス対象となるメモリセルの特定に利用されるロウアドレスのビット数よりも１ビット多く、かつ、前記メモリコントローラから出力されるバンクアドレスのビット数が、前記アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数よりも１ビット少ないときに利用されるメモリ用補助モジュールであり、前記メモリコントローラから出力されたロウアドレスの最上位ビットを用いて、前記アクセス対象となるメモリセルの特定に利用されるバンクアドレスの最上位ビットを生成して、前記メモリモジュールに出力することが可能なアドレス生成回路と、前記メモリコントローラから前記メモリへのアクセスの動作モードが、第１の動作モードであるか、第２の動作モードであるかを検出する動作モード検出部と、前記動作モード検出部によって検出された動作モードに基づいて、前記アドレス生成回路を制御する制御部と、を備えるメモリ用補助モジュール。
【００３２】
適用例１２のメモリ用補助モジュールでは、メモリコントローラから出力されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和が、アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和と等しく、かつ、メモリコントローラから出力されるロウアドレスのビット数が、アクセス対象となるメモリセルの特定に利用されるロウアドレスのビット数よりも１ビット多く、かつ、メモリコントローラから出力されるバンクアドレスのビット数が、アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数よりも１ビット少ないときに、アドレス生成回路によって、アクセス対象となるメモリセルを特定するために不足するバンクアドレスの最上位ビットを生成し、この生成されたバンクアドレスの最上位ビットをメモリモジュールに出力することができる。したがって、メモリコントローラから出力される各アドレスのビット数が、それぞれ、アクセス対象となるメモリセルの特定に利用される各アドレスのビット数と整合していない場合であっても、上記条件下で、メモリコントローラからメモリモジュールのすべてのメモリセルにアクセス可能にするとともに、メモリモジュールを正常に動作させることができる。さらに、ユーザ自らがアドレス生成回路の制御モードの切り換えの要否を判断することなく、メモリコントローラからメモリへのアクセスの動作モードが第１の動作モードであるか第２の動作モードであるかに応じて、上記切り換えを行うことができる。なお、適用例１２のメモリ用補助モジュールにおいても、前述した適用例１のメモリモジュールと同様に、先に示したに種々の付加的要素を適用することが可能である。
【００３３】
［適用例１３］マトリクス状に配列された複数のメモリセルを備えるバンクを複数有し、メモリコントローラから入力された所定のビット数のバンクアドレスと、所定のビット数のロウアドレスと、所定のビット数のカラムアドレスとに基づいて、アクセス対象となるメモリセルが特定されるメモリを備えるメモリモジュールと、前記メモリコントローラとに接続され、前記メモリコントローラと前記メモリモジュールとの間における信号およびデータのやり取りを中継するメモリ用補助モジュールであって、前記メモリ用補助モジュールは、前記メモリコントローラから出力されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和が、前記アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和と等しく、かつ、前記メモリコントローラから出力されるロウアドレスのビット数が、前記アクセス対象となるメモリセルの特定に利用されるロウアドレスのビット数よりも１ビット多く、かつ、前記メモリコントローラから出力されるカラムアドレスのビット数が、前記アクセス対象となるメモリセルの特定に利用されるカラムアドレスのビット数よりも１ビット少ないときに利用されるメモリ用補助モジュールであり、前記メモリコントローラから出力されたロウアドレスの最上位ビットを用いて、前記アクセス対象となるメモリセルの特定に利用されるカラムアドレスの最上位ビットを生成して、前記メモリモジュールに出力することが可能なアドレス生成回路と、前記メモリコントローラから前記メモリへのアクセスの動作モードが、第１の動作モードであるか、第２の動作モードであるかを検出する動作モード検出部と、前記動作モード検出部によって検出された動作モードに基づいて、前記アドレス生成回路を制御する制御部と、を備えるメモリ用補助モジュール。
【００３４】
適用例１３のメモリ用補助モジュールでは、メモリコントローラから出力されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和が、アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和と等しく、かつ、メモリコントローラから出力されるロウアドレスのビット数が、アクセス対象となるメモリセルの特定に利用されるロウアドレスのビット数よりも１ビット多く、かつ、メモリコントローラから出力されるカラムアドレスのビット数が、アクセス対象となるメモリセルの特定に利用されるカラムアドレスのビット数よりも１ビット少ないときに、アドレス生成回路によって、アクセス対象となるメモリセルを特定するために不足するカラムアドレスの最上位ビットを生成し、この生成されたカラムアドレスの最上位ビットをメモリモジュールに出力することができる。したがって、メモリコントローラから出力される各アドレスのビット数が、それぞれ、アクセス対象となるメモリセルの特定に利用される各アドレスのビット数と整合していない場合であっても、上記条件下で、メモリコントローラからメモリモジュールのすべてのメモリセルにアクセス可能にするとともに、メモリモジュールを正常に動作させることができる。さらに、ユーザ自らがアドレス生成回路の制御モードの切り換えの要否を判断することなく、メモリコントローラからメモリへのアクセスの動作モードが第１の動作モードであるか第２の動作モードであるかに応じて、上記切り換えを行うことができる。なお、適用例１３のメモリ用補助モジュールにおいても、前述した適用例４のメモリモジュールと同様に、先に示した種々の付加的要素を適用することが可能である。
【００３５】
本発明は、上述した種々の特徴の一部を、適宜、組み合わせて構成することができる。例えば、適用例１のメモリモジュールにおけるアドレス生成回路と、適用例４のメモリモジュールにおけるアドレス生成回路との双方を備えるメモリモジュールを構成し、適宜、両者を使い分けるようにしてもよい。
【発明を実施するための最良の形態】
【００３６】
以下、本発明の実施の形態について、実施例に基づき説明する。
Ａ．第１実施例：
図１、および、図２は、本発明の第１実施例としてのメモリモジュール１００の概略構成を示す説明図である。図１に、メモリモジュール１００がメモリコントローラ１０に接続されているときの様子を示した。また、図２に、メモリモジュール１００がメモリコントローラ１２に接続されているときの様子を示した。これらの差異については後述する。
【００３７】
このメモリモジュール１００は、図示するように、ＳＤＲＡＭ１１０と、アドレス生成回路１２０と、動作モード検出部１３０と、スイッチ制御部１４０と、ＥＥＰＲＯＭ１５０と、を備えている。まず、メモリモジュール１００のうちの、ＳＤＲＡＭ１１０と、アドレス生成回路１２０と、これらの典型的な動作について説明し、後から、動作モード検出部１３０と、スイッチ制御部１４０と、ＥＥＰＲＯＭ１５０と、これらの動作について説明する。
【００３８】
本実施例では、ＳＤＲＡＭ１１０として、１ギガビット（６４メガワード×１６ビット）のＤＤＲ２（Double Data Rate 2）ＳＤＲＡＭを用いるものとした。このＳＤＲＡＭ１１０は、後述するように、内部が８つのバンクに分割されており、各バンクは、それぞれ独立して動作可能である。そして、ＳＤＲＡＭ１１０には、３ビットのバンクアドレス（ＢＡ０〜ＢＡ２）と、１３ビットのロウアドレス（Ａ０〜Ａ１２）と、１０ビットのカラムアドレス（Ａ０〜Ａ９）とが入力され、これらのアドレスに基づいて、アクセス対象となるメモリセルが特定される。ロウアドレス、および、カラムアドレスは、共通の信号線を用いて、ロウアドレス、カラムアドレスの順に、２回に分けてＳＤＲＡＭ１００に入力されるので、ロウアドレス、および、カラムアドレスの符号の頭には、共通する「Ａ」を付すものとした。
【００３９】
なお、ＳＤＲＡＭ１１０には、上記各アドレスの他に、チップセレクト信号（ＣＳ）や、ロウ・アドレス・ストローブ信号（ＲＡＳ）や、カラム・アドレス・ストローブ信号（ＣＡＳ）や、ライト・イネーブル信号（ＷＥ）や、図示しないクロック信号や、クロック・イネーブル信号等のＳＤＲＡＭ１１０の動作に用いられる各種信号が入力される。また、メモリモジュール１００は、メモリコントローラとＳＤＲＡＭ１１０との間でのデータの入出力を行うための図示しないデータ入出力ピン、および、配線も備えている。
【００４０】
図１、および、図２に示すように、本実施例のメモリモジュール１００は、メモリコントローラ１０、または、メモリコントローラ１２に接続され得る。
【００４１】
メモリコントローラ１０は、１ギガビット（６４メガワード×１６ビット）のＤＤＲ２ＳＤＲＡＭ（ＳＤＲＡＭ１１０）に対応しており、図１に示したように、３ビットのバンクアドレス（ＢＡ０〜ＢＡ２）や、１３ビットのロウアドレス（Ａ０〜Ａ１２）や、１０ビットのカラムアドレス（Ａ０〜Ａ９）等を出力する。つまり、メモリコントローラ１０から出力される各アドレスのビット数と、アクセス対象となるメモリセルの特定に利用される各アドレスのビット数とは整合している。
【００４２】
一方、メモリコントローラ１２は、内部が４つのバンクに分割された、５１２メガビット（６４メガワード×８ビット）のＤＤＲ２ＳＤＲＡＭに対応しており、図２に示したように、２ビットのバンクアドレス（ＢＡ０，ＢＡ１）や、１４ビットのロウアドレス（Ａ０〜Ａ１３）や、１０ビットのカラムアドレス（Ａ０〜Ａ９）等を出力する。つまり、メモリコントローラ１２から出力される各アドレスのビット数と、アクセス対象となるメモリセルの特定に利用される各アドレスのビット数とは整合しておらず、メモリコントローラ１２から出力される各アドレスのビット数の総和は、ＳＤＲＡＭ１００においてアクセス対象となるメモリセルの特定に利用される各アドレスのビット数の総和と等しく、かつ、メモリコントローラ１２から出力されるロウアドレスのビット数は、アクセス対象となるメモリセルの特定に利用されるロウアドレスのビット数よりも１ビット多く、かつ、メモリコントローラ１２から出力されるバンクアドレスのビット数は、アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数よりも１ビット少ない。メモリモジュール１００が備えるアドレス生成回路１２０は、メモリモジュール１００がメモリコントローラ１２に接続されたときに、メモリコントローラ１２から出力される各アドレスとＳＤＲＡＭ１１０に入力される各アドレスとのビット数の不整合を解消するためのものである。
【００４３】
アドレス生成回路１２０は、レジスタ１２２と、出力選択部１２４と、コマンド解析部１２６と、スイッチ１２８とを備えている。
【００４４】
コマンド解析部１２６は、メモリコントローラ１２から出力されたロウ・アドレス・ストローブ信号（ＲＡＳ）と、カラム・アドレス・ストローブ信号（ＣＡＳ）と、ライト・イネーブル信号（ＷＥ）とに基づいて、ＳＤＲＡＭ１１０に対するアクセス方法を指定するコマンドを解析し、解析されたコマンドを、レジスタ１２２、および、出力選択部１２４に出力する。このコマンドは、ＳＤＲＡＭの動作制御に用いられる周知のコマンドであり、コマンドとしては、例えば、全バンク・プリチャージ、指定バンク・プリチャージ、リフレッシュ、モード・レジスタ・セット、アクティブ、リード、ライト等が挙げられる。
【００４５】
レジスタ１２２は、コマンド解析部１２６から入力されたコマンドに基づいて、メモリコントローラ１２から出力されたロウアドレスの最上位ビット（Ａ１３）を一時的に記憶したり、リセットしたりする。また、レジスタ１２２には、クロック信号（ＣＬＫ）、および、チップセレクト信号（ＣＳ）が入力され、レジスタ１２２は、入力されたチップセレクト信号（ＣＳ）が“Ｌ”であるときに、クロック信号（ＣＬＫ）の立ち上がりエッジでコマンド解析部１２６から入力されたコマンドを確定する。なお、メモリコントローラ１２は、後述するように、ＳＤＲＡＭ１１０の８つのバンクを、４つのバンクとして扱うので、図示は省略されているが、アドレス生成回路１２０には、これらにそれぞれ対応した４つのレジスタ１２２が備えられている。
【００４６】
出力選択部１２４は、コマンド解析部１２６から入力されたコマンドに基づいて、メモリコントローラ１２から出力されたロウアドレスの最上位ビット、または、レジスタ１２２に記憶されたロウアドレスの最上位ビットを、アクセス対象となるメモリセルを特定するために不足するバンクアドレスの最上位ビット（Ｂ２）として、ＳＤＲＡＭ１１０に出力する。
【００４７】
このようなアドレス生成回路１２０をメモリモジュール１００が備えることによって、メモリモジュール１００が、ＳＤＲＡＭ１１０（１ギガビット（６４メガワード×１６ビット）のＤＤＲ２ＳＤＲＡＭ）に対応していないメモリコントローラ１２に接続されている場合であっても、メモリコントローラ１０に接続されている場合と同様に、ＳＤＲＡＭ１１０には、アクセス対象となるメモリセルを特定するための各アドレスがすべて入力されるので、ＳＤＲＡＭ１１０は、正常に動作することができる。
【００４８】
なお、本実施例では、図２に示したように、アドレス生成回路１２０によって生成されたバンクアドレスの最上位ビットＢ２をＳＤＲＡＭ１１０に出力するメモリモジュール１００の制御モードを、「バーチャルモード」と呼ぶものとする。また、図１に示したように、アドレス生成回路１２０によって生成されたバンクアドレスの最上位ビットＢ２をＳＤＲＡＭ１１０に出力しないメモリモジュール１００の制御モードを、「ノーマルモード」と呼ぶものとする。
【００４９】
図３は、５１２メガビット（６４メガワード×８ビット）のＤＤＲ２ＳＤＲＡＭのバンク構成を示す説明図である。図示するように、ＳＤＲＡＭの内部は、４つのバンク（Ｂａｎｋ０〜Ｂａｎｋ３）に分割されている。なお、各バンクがそれぞれ動作可能なように、バンクごとに、図示しないロウデコーダや、カラムデコーダや、センスアンプ等が備えられている。そして、メモリコントローラ１２は、２ビットのバンクアドレスＢＡ０，ＢＡ１によって、４つのバンクの中から、アクセス対象となるメモリセルを有するバンクを特定し、さらに、ロウアドレス、および、カラムアドレスによって、特定されたバンク内のメモリセルを特定する。
【００５０】
図４は、１ギガビット（６４メガワード×１６ビット）のＤＤＲ２ＳＤＲＡＭ（ＳＤＲＡＭ１１０）のバンク構成を示す説明図である。図示するように、ＳＤＲＡＭ１１０の内部は、８つのバンク（Ｂａｎｋ０〜Ｂａｎｋ７）に分割されている。なお、各バンクがそれぞれ独立して動作可能なように、バンクごとに、図示しないロウデコーダや、カラムデコーダや、センスアンプ等が備えられている。このようなＳＤＲＡＭ１１０を直接的にメモリコントローラ１２に接続した場合、先に説明したように、メモリコントローラ１２から出力される各アドレスのビット数と、アクセス対象となるメモリセルの特定に用いられる各アドレスのビット数とが整合していないため、メモリコントローラ１２は、ＳＤＲＡＭ１１０を正常に動作させることができない。これに対し、本実施例では、メモリモジュール１００が先に説明したアドレス生成回路１２０を備えることによって、メモリコントローラ１２は、図３に示した、内部が４つのバンクに分割された、５１２メガビット（６４メガワード×８ビット）のＤＤＲ２ＳＤＲＡＭを備えるメモリモジュールが接続されているときと同様に、メモリモジュール１００が備えるＳＤＲＡＭ１１０にアクセスすることができる。
【００５１】
すなわち、本実施例では、メモリコントローラ１２は、ＳＤＲＡＭ１１０の内部の、Ｂａｎｋ０とＢａｎｋ４とからなるブロックと、Ｂａｎｋ１とＢａｎｋ５とからなるブロックと、Ｂａｎｋ２とＢａｎｋ６とからなるブロックと、Ｂａｎｋ３とＢａｎｋ７とからなるブロックとが、４つのバンクであるものとして扱うことができる。例えば、メモリコントローラ１２から出力されたバンクアドレスＢＡ０，ＢＡ１が、それぞれ、ＢＡ０＝０，ＢＡ１＝０である場合には、メモリコントローラ１２は、Ｂａｎｋ０とＢａｎｋ４とからなるブロックを１つのバンクとして扱うことができる。一方、ＳＤＲＡＭ１１０では、メモリコントローラ１２から出力されたバンクアドレスＢ０，Ｂ１によって、ブロックが特定され、さらに、アドレス生成回路１２０から出力されたバンクアドレスＢＡ２（メモリコントローラ１２から出力されたロウアドレスの最上位ビットＡ１３）によって、ブロック内のいずれかのバンクが特定される。
【００５２】
図５は、メモリモジュール１００における初期化ルーチンの流れを示すフローチャートである。この初期化ルーチンは、メモリモジュール１００に電源が投入されるごとに実行される。ここでは、メモリモジュール１００がメモリコントローラ１２に接続されているときの初期化ルーチンについて説明する。
【００５３】
まず、メモリコントローラ１２から「全バンク・プリチャージ」コマンドが発行されると、ＳＤＲＡＭ１１０は、全バンクのプリチャージを行う（ステップＳ１００）。このとき、アドレス生成回路１２０が備えるレジスタ１２２の値は、ゼロにリセットされる。次に、メモリコントローラ１２から「リフレッシュ」コマンドが発行されると、ＳＤＲＡＭ１１０は、リフレッシュ動作を行う（ステップＳ１１０）。次に、メモリコントローラ１２から「モード・レジスタ・セット」コマンドが発行されると、ＳＤＲＡＭ１１０は、入力されたアドレスのビット配列に従って、動作モードの切り替えを行う（ステップＳ１２０）。このとき、アドレス生成回路１２０が備える出力選択部１２４は、レジスタ１２２の値（ゼロ）をＢＡ２としてＳＤＲＡＭ１１０に出力する。以上の動作によって、初期化ルーチンは終了し、ＳＤＲＡＭ１１０は、アイドル状態となる。
【００５４】
図６は、メモリモジュール１００における通常動作ルーチンの流れの一例を示すフローチャートである。この通常動作ルーチンは、上述した初期化ルーチンが終了した後に実行される。ここでは、メモリモジュール１００がメモリコントローラ１２に接続されているときの通常動作ルーチンについて説明する。
【００５５】
まず、メモリコントローラ１２から「アクティブ」コマンドが発行されると、ＳＤＲＡＭ１１０は、メモリコントローラ１２から出力されたバンクアドレスＢＡ０，ＢＡ１、および、ロウアドレスＡ０〜Ａ１２と、アドレス生成回路１２０が備える出力選択部１２４から出力されたバンクアドレスＢＡ２（メモリコントローラ１２から出力されたロウアドレスの最上位ビットＡ１３）とに基づいて、活性化を行う（ステップＳ２００）。このとき、アドレス生成回路１２０が備えるレジスタ１２２は、メモリコントローラ１２から出力されたロウアドレスの最上位ビットＡ１３を記憶する。
【００５６】
次に、メモリコントローラ１２から「リード」コマンド、または、「ライト」コマンドが発行されると、ＳＤＲＡＭ１１０は、メモリコントローラ１２から出力されたバンクアドレスＢＡ０，ＢＡ１、および、カラムアドレスＡ０〜Ａ９と、アドレス生成回路１２０が備える出力選択部１２４から出力されたバンクアドレスＢＡ２（レジスタ１２２に記憶されたロウアドレスの最上位ビットＡ１３）とに基づいて、アクセス対象として特定されたメモリセルからのデータの読み出し、または、アクセス対象として特定されたメモリセルへのデータの書き込みを行う（ステップＳ２１０）。
【００５７】
次に、メモリコントローラ１２から「指定バンク・プリチャージ」コマンドが発行されると（ステップＳ２２０：ＹＥＳ）、ＳＤＲＡＭ１１０は、メモリコントローラ１２から出力されたバンクアドレスＢＡ０，ＢＡ１と、アドレス生成回路１２０が備える出力選択部１２４から出力されたバンクアドレスＢＡ２（レジスタ１２２に記憶されたロウアドレスの最上位ビットＡ１３）とに基づいて、指定されたバンクのプリチャージを行う（ステップＳ２３０）。また、メモリコントローラ１２から「全バンク・プリチャージ」コマンドが発行されると（ステップＳ２２０：ＹＥＳ）、ＳＤＲＡＭ１１０は、全バンクのプリチャージを行う（ステップＳ２３０）。このとき、アドレス生成回路１２０が備えるレジスタ１２２の値は、ゼロにリセットされる。ステップＳ２３０の動作が終了すると、ＳＤＲＡＭ１１０は、アイドル状態となる。なお、ステップＳ２１０に引き続き、メモリコントローラ１２から「リード」コマンド、または、「ライト」コマンドが発行された場合には（ステップＳ２２０：ＮＯ）、ステップＳ２１０に戻る。
【００５８】
以上説明した第１実施例のメモリモジュール１００によれば、メモリコントローラ１２から出力されるバンクアドレスのビット数（２ビット）と、ロウアドレスのビット数（１４ビット）と、カラムアドレスのビット数（１０ビット）との総和（２６ビット）が、アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数（３ビット）と、ロウアドレスのビット数（１３ビット）と、カラムアドレスのビット数（１０ビット）との総和（２６ビット）と等しく、かつ、メモリコントローラ１２から出力されるロウアドレスのビット数が、アクセス対象となるメモリセルの特定に利用されるロウアドレスのビット数よりも１ビット多く、かつ、メモリコントローラ１２から出力されるバンクアドレスのビット数が、アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数よりも１ビット少ないときに、アドレス生成回路１２０によって、アクセス対象となるメモリセルを特定するために不足するバンクアドレスの最上位ビットＢＡ２を生成し、この生成されたバンクアドレスの最上位ビットＢＡ２をＳＤＲＡＭ１１０に出力することができる。したがって、メモリコントローラから出力される各アドレスのビット数が、それぞれ、アクセス対象となるメモリセルの特定に利用される各アドレスのビット数と整合していない場合であっても、上記条件下で、メモリコントローラからメモリモジュール１００のすべてのメモリセルにアクセス可能にするとともに、メモリモジュール１００を正常に動作させることができる。
【００５９】
ところで、メモリコントローラ１０，１２からメモリモジュール１００が備えるＳＤＲＡＭ１１０へのアクセスの動作モードには、１Ｔ動作、および、２Ｔ動作がある。
【００６０】
図７は、１Ｔ動作、および、２Ｔ動作を示す説明図である。１Ｔ動作は、図７（ａ）に示したように、クロック信号（ＣＬＫ）の１周期ごとにコマンドアドレス（ＲＡＳ，ＣＡＳ，ＷＥ）が変更され得る動作モードであり、比較的高速アクセス可能な動作モードである。この１Ｔ動作は、コマンドアドレスの切り替わりから確定までのマージンが比較的少ないため、同一のメモリチャネルに１枚しかメモリモジュールが装着されていないときのみ可能である。一方、２Ｔ動作は、図７（ｂ）に示したように、クロック信号（ＣＬＫ）の２周期ごとにコマンドアドレスが変更され得る動作モードであり、比較的アクセス速度が遅い動作モードである。この２Ｔ動作は、コマンドアドレスの切り替わりから確定までのマージンが比較的多いので、同一のメモリチャネルに複数のメモリモジュールが装着された場合であっても、安定した動作が見込める。
【００６１】
本実施例のメモリモジュール１００では、アドレス生成回路１２０によって、先に説明した不足するバンクアドレスの最上位ビットＢＡ２を生成して、ＳＤＲＡＭ１１０に出力可能であるが、アドレス生成回路１２０の動作には所定時間を要するため、メモリコントローラ１０，１２の動作モードが１Ｔ動作である場合には、メモリモジュール１００の制御モードをバーチャルモードにすると、不足するバンクアドレスの最上位ビットＢＡ２の生成、出力が間に合わずに、ＳＤＲＡＭ１１０へのアクセスが正常に行われない場合が生じる。そこで、本実施例では、以下に説明するように、メモリモジュール１００の動作、すなわち、メモリモジュール１００の制御モードを、種々のケースに応じて、適切に切り換えることができるようにしている。
【００６２】
図８は、種々のケースに応じたメモリモジュール１００の動作状況を示す説明図である。なお、この図の最上段の「環境」の項目における「混在可ＰＣ」とは、１ギガビットＳＤＲＡＭを備えるメモリモジュールと、５１２メガビットのＳＤＲＡＭを備えるメモリモジュールとを混在させて接続することを許容するメモリコントローラが搭載されたＰＣ（パーソナルコンピュータ）を表している。また、「混在不可ＰＣ」とは、１ギガビットＳＤＲＡＭを備えるメモリモジュールと、５１２メガビットのＳＤＲＡＭを備えるメモリモジュールとを混在させて接続することを許容しないメモリコントローラが搭載されたＰＣ（パーソナルコンピュータ）を表している。
【００６３】
「混在可ＰＣ」にメモリモジュール１００、および、５１２メガビットのＳＤＲＡＭを備えるメモリモジュールを混在させて装着し、メモリコントローラの動作モードが１Ｔ動作である場合（ケース１）、メモリモジュール１００の制御モードがノーマルモードである場合には、正常動作する。しかし、メモリモジュール１００の制御モードがバーチャルモードである場合には、先に説明したように、アドレス生成回路１２０の動作が間に合わず、異常動作（ハングアップ等）する。したがって、ケース１では、メモリモジュール１００の制御モードをノーマルモードにすることが必須である。
【００６４】
また、「混在可ＰＣ」にメモリモジュール１００、および、５１２メガビットのＳＤＲＡＭを備えるメモリモジュールを混在させて装着し、メモリコントローラの動作モードが２Ｔ動作である場合（ケース２）、メモリモジュール１００の制御モードがノーマルモードである場合であってもバーチャルモードであっても正常動作する。
【００６５】
また、「混在不可ＰＣ」にメモリモジュール１００、および、５１２メガビットのＳＤＲＡＭを備えるメモリモジュールを混在させて装着し、メモリコントローラの動作モードが１Ｔ動作である場合（ケース３）、メモリモジュール１００の制御モードがノーマルモードである場合には、正常動作する。しかし、メモリモジュール１００の制御モードがバーチャルモードである場合には、先に説明したように、アドレス生成回路１２０の動作が間に合わず、異常動作（ハングアップ等）する。したがって、ケース３では、メモリモジュール１００の制御モードをノーマルモードにすることが必須である。
【００６６】
また、「混在不可ＰＣ」にメモリモジュール１００、および、５１２メガビットのＳＤＲＡＭを備えるメモリモジュールを混在させて装着し、メモリコントローラの動作モードが２Ｔ動作である場合（ケース４）、メモリモジュール１００の制御モードがノーマルモードである場合には、ＰＣとしては正常動作するが、５１２メガビットのＳＤＲＡＭを備えるメモリモジュールを認識しないという不具合がある。一方、メモリモジュール１００の制御モードがバーチャルモードである場合には、正常動作する。したがって、ケース４では、メモリモジュール１００の制御モードをバーチャルモードにすることが必須である。
【００６７】
以上のことから、５１２メガビットのＳＤＲＡＭを備えるメモリモジュールと混在して、メモリモジュール１００が装着されるＰＣが、「混在可ＰＣ」であるか「混在不可ＰＣ」であるかに関わらず、メモリコントローラの動作モードが１Ｔ動作である場合には、メモリモジュール１００の制御モードをノーマルモードとし、メモリコントローラの動作モードが２Ｔ動作である場合には、メモリモジュール１００の制御モードをバーチャルモードとすれば、すべてのケースで正常動作させることができることが分かる。
【００６８】
図９は、メモリコントローラの動作モード（１Ｔ動作／２Ｔ動作）に基づくメモリモジュール１００の制御モードの設定の流れを示すフローチャートである。
【００６９】
まず、メモリモジュール１００がコンピュータに装着された後、最初に電源が投入されると（ステップＳ３００）、スイッチ制御部１４０によって、ＥＥＰＲＯＭ１５０に予め記憶されているデフォルトの制御モード（＝ノーマルモード）を読み出し（ステップＳ３１０）、このデフォルトの制御モードに基づいて、スイッチ１２８を制御する（ステップＳ３２０）。すなわち、メモリモジュール１００の制御モードをノーマルモードに設定する。デフォルトの制御モードをノーマルモードとしているのは、先に説明したように、メモリコントローラが１Ｔ動作するときに、メモリモジュール１００の制御モードをバーチャルモードにした場合には、ハングアップ等の異常動作となるが、ノーマルモードにした場合には、ＰＣとしてハングアップ等のおそれがなく起動できるからである。
【００７０】
次に、動作モード検出部１３０によって、メモリコントローラの動作モードを検出する（ステップＳ３３０）。
【００７１】
図１０は、メモリコントローラの動作モードの検出方法を示す説明図である。本実施例では、動作モード検出部１３０は、クロック信号（ＣＬＫ）の立ち上がりエッジごとにチップセレクト信号（ＣＳ）、および、コマンドアドレス（ＲＡＳ，ＣＡＳ，ＷＥ）を、順次、取得して、３回分のコマンドアドレスを保持し、これらを、順次、比較することによって、メモリコントローラの動作モードを検出する。
【００７２】
すなわち、動作モード検出部１３０は、図１０（ａ）に示したように、取得したチップセレクト信号（ＣＳ）が“Ｌ”である時刻ｔ（０）において取得したコマンドアドレスが、前回、時刻ｔ（−１）において取得したコマンドアドレスと異なる場合に、メモリコントローラの動作モードが１Ｔ動作であるものと判定する。また、動作モード検出部１３０は、図１０（ｂ）に示したように、取得したチップセレクト信号（ＣＳ）が“Ｌ”である時刻ｔ（０）において取得したコマンドアドレスが、前回、時刻ｔ（−１）において取得したコマンドアドレスと等しく、かつ、前回、ｔ（−１）において取得したコマンドアドレスが、前々回、ｔ（−２）において取得したコマンドアドレスと異なる場合に、メモリコントローラの動作モードが２Ｔ動作であるものと判定する。
【００７３】
そして、本実施例では、動作モード検出部１３０は、上述した判定を複数回行い、いずれかの動作モードの検出回数が、複数回の過半数よりも多い所定回数以上（例えば、５回のうちの３回以上）であるときに、所定回数以上検出された動作モードをメモリコントローラの動作モードとして確定する。こうすることによって、メモリコントローラの動作モードの確定を、精度よく行うことができる。
【００７４】
図９に戻り、メモリモジュール１００の制御モードの設定について説明する。ステップＳ３３０においてメモリコントローラの動作モードが検出（確定）されると、スイッチ制御部１４０は、検出された動作モードに基づいて、次回の制御モードをＥＥＰＲＯＭ１５０に記憶する（ステップＳ３４０）。検出された動作モードが１Ｔ動作である場合には、スイッチ制御部１４０は、次回の制御モードとして、１Ｔ動作に対応するノーマルモード（図８参照）をＥＥＰＲＯＭ１５０に記憶する。一方、検出された動作モードが２Ｔ動作である場合には、スイッチ制御部１４０は、次回の制御モードとして、２Ｔ動作に対応するバーチャルモード（図８参照）を記憶する。
【００７５】
その後、ユーザによってコンピュータが再起動されると（ステップＳ３５０）、スイッチ制御部１４０は、ＥＥＰＲＯＭ１５０から、次回の制御モードとして記憶された制御モードを読み出し（ステップＳ３６０）、読み出した制御モードに基づいて、スイッチ１２８を制御する（ステップＳ３７０）。
【００７６】
以上説明した第１実施例のメモリモジュール１００によれば、ユーザ自らがスイッチ１２８の切り換えの要否を判断することなく、メモリコントローラの動作モードが１Ｔ動作であるか２Ｔ動作であるかを検出し、検出された動作モードに応じて、スイッチ１２８、すなわち、メモリモジュール１００の制御モードを適切に切り換えることができる。
【００７７】
Ｂ．第２実施例：
図１１は、本発明の第２実施例としてのメモリ用補助モジュール２００の概略構成を示す説明図である。
【００７８】
このメモリ用補助モジュール２００は、図示するように、ユーザが、メモリモジュール１００Ａが備えるＳＤＲＡＭ１１０を、ＳＤＲＡＭ１１０に対応していないメモリコントローラ１２によって動作させたいときに、メモリコントローラ１２とメモリモジュール１００Ａとの間における信号およびデータのやり取りを中継させるために、メモリコントローラ１２とメモリモジュール１００Ａとに接続するものである。そして、メモリモジュール１００Ａは、第１実施例のメモリモジュール１００からアドレス生成回路１２０と、動作モード検出部１３０と、スイッチ制御部１４０と、ＥＥＰＲＯＭ１５０とを除いたものである。また、メモリ用補助モジュール２００は、第１実施例のメモリモジュール１００におけるアドレス生成回路１２０と、動作モード検出部１３０と、スイッチ制御部１４０と、ＥＥＰＲＯＭ１５０とを備えるアダプタである。
【００７９】
なお、第２実施例において、メモリ用補助モジュール２００が備えるアドレス生成回路１２０と、動作モード検出部１３０と、スイッチ制御部１４０と、ＥＥＰＲＯＭ１５０の動作は、第１実施例のメモリモジュール１００と同じである。したがって、本実施例では、これらの動作についての説明は省略する。
【００８０】
以上説明した第２実施例のメモリ用補助モジュール２００によれば、メモリコントローラ１２から出力されるバンクアドレスのビット数（２ビット）と、ロウアドレスのビット数（１４ビット）と、カラムアドレスのビット数（１０ビット）との総和（２６ビット）が、アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数（３ビット）と、ロウアドレスのビット数（１３ビット）と、カラムアドレスのビット数（１０ビット）との総和（２６ビット）と等しく、かつ、メモリコントローラ１２から出力されるロウアドレスのビット数が、アクセス対象となるメモリセルの特定に利用されるロウアドレスのビット数よりも１ビット多く、かつ、メモリコントローラ１２から出力されるバンクアドレスのビット数が、アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数よりも１ビット少ないときに、アドレス生成回路１２０によって、アクセス対象となるメモリセルを特定するために不足するバンクアドレスの最上位ビットＢＡ２を生成し、この生成されたバンクアドレスの最上位ビットＢＡ２をメモリモジュール１００Ａに出力することができる。したがって、メモリコントローラから出力される各アドレスのビット数が、それぞれ、アクセス対象となるメモリセルの特定に利用される各アドレスのビット数と整合していない場合であっても、上記条件下で、メモリコントローラからメモリモジュール１００Ａのすべてのメモリセルにアクセス可能にするとともに、メモリモジュール１００Ａを正常に動作させることができる。
【００８１】
また、第２実施例のメモリ用補助モジュール２００によれば、第１実施例のメモリモジュール１００と同様に、ユーザ自らがスイッチ１２８の切り換えの要否を判断することなく、メモリコントローラの動作モードが１Ｔ動作であるか２Ｔ動作であるかを検出し、検出された動作モードに応じて、スイッチ１２８、すなわち、メモリ用補助モジュール２００の制御モードを適切に切り換えることができる。
【００８２】
Ｃ．変形例：
以上、本発明のいくつかの実施の形態について説明したが、本発明はこのような実施の形態になんら限定されるものではなく、その要旨を逸脱しない範囲内において種々なる態様での実施が可能である。例えば、以下のような変形が可能である。
【００８３】
Ｃ１．変形例１：
上記実施例では、メモリコントローラから出力されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和が、アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和と等しく、かつ、メモリコントローラから出力されるロウアドレスのビット数が、アクセス対象となるメモリセルの特定に利用されるロウアドレスのビット数よりも１ビット多く、かつ、メモリコントローラから出力されるバンクアドレスのビット数が、アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数よりも１ビット少ないときについて説明したが、本発明は、これに限られない。図示、および、詳細な説明は省略するが、本発明は、メモリコントローラから出力されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和が、アクセス対象となるメモリセルの特定に利用されるバンクアドレスのビット数と、ロウアドレスのビット数と、カラムアドレスのビット数との総和と等しく、かつ、メモリコントローラから出力されるロウアドレスのビット数が、アクセス対象となるメモリセルの特定に利用されるロウアドレスのビット数よりも１ビット多く、かつ、メモリコントローラから出力されるカラムアドレスのビット数が、アクセス対象となるメモリセルの特定に利用されるカラムアドレスのビット数よりも１ビット少ないときにも適用することができる。この場合、アドレス生成回路が、メモリコントローラから出力されたロウアドレスの最上位ビットを用いて、アクセス対象となるメモリセルを特定するために不足するカラムアドレスの最上位ビットを生成し、生成されたカラムアドレスの最上位ビットをＳＤＲＡＭに出力するようにすればよい。こうすることによっても、上記実施例と同様に、メモリコントローラから出力される各アドレスのビット数が、それぞれ、アクセス対象となるメモリセルの特定に利用される各アドレスのビット数と整合していない場合であっても、上記条件下で、メモリコントローラからメモリモジュールのすべてのメモリセルにアクセス可能にするとともに、メモリモジュールを正常に動作させることができる。
【００８４】
Ｃ２．変形例２：
上記実施例では、アドレス生成回路１２０において、スイッチ１２８は、出力選択部１２４の後段に設けられているものとしたが、本発明は、これに限られない。アドレス生成回路１２０は、メモリコントローラから出力されたロウアドレスの最上位ビットを用いて、アクセス対象となるメモリセルの特定に利用されるバンクアドレスの最上位ビットを生成して、ＳＤＲＡＭ１１０に出力することが可能であればよく、スイッチ１２８を他の部位に設けるようにしてもよい。
【００８５】
Ｃ３．変形例３：
上記実施例のメモリモジュール１００では、ＳＤＲＡＭ１１０として、ＤＤＲ２ＳＤＲＡＭを用いるものとしたが、本発明は、これに限られない。ＤＤＲ２ＳＤＲＡＭの代わりに、例えば、ＤＤＲＳＤＲＡＭや、ＤＤＲ３ＳＤＲＡＭ等の複数のバンクを有する他のＳＤＲＡＭを用いるものとしてもよい。
【図面の簡単な説明】
【００８６】
【図１】本発明の第１実施例としてのメモリモジュール１００の概略構成を示す説明図である。
【図２】本発明の第１実施例としてのメモリモジュール１００の概略構成を示す説明図である。
【図３】５１２メガビット（６４メガワード×８ビット）のＤＤＲ２ＳＤＲＡＭのバンク構成を示す説明図である。
【図４】１ギガビット（６４メガワード×１６ビット）のＤＤＲ２ＳＤＲＡＭ（ＳＤＲＡＭ１１０）のバンク構成を示す説明図である。
【図５】メモリモジュール１００における初期化ルーチンの流れを示すフローチャートである。
【図６】メモリモジュール１００における通常動作ルーチンの流れの一例を示すフローチャートである。
【図７】１Ｔ動作、および、２Ｔ動作を示す説明図である。
【図８】種々のケースに応じたメモリモジュール１００の動作状況を示す説明図である。
【図９】メモリコントローラの動作モード（１Ｔ動作／２Ｔ動作）に基づくメモリモジュール１００の制御モードの設定の流れを示すフローチャートである。
【図１０】メモリコントローラの動作モードの検出方法を示す説明図である。
【図１１】本発明の第２実施例としてのメモリ用補助モジュール２００の概略構成を示す説明図である。
【符号の説明】
【００８７】
１０，１２…メモリコントローラ
１００，１００Ａ…メモリモジュール
１１０…ＳＤＲＡＭ
１２０…アドレス生成回路
１２２…レジスタ
１２４…出力選択部
１２６…コマンド解析部
１２８…スイッチ
１３０…動作モード検出部
１４０…スイッチ制御部
１５０…ＥＥＰＲＯＭ
２００…メモリ用補助モジュール
【図１】
2010092261.tif 000003
【図２】
2010092261.tif 000004
【図３】
2010092261.tif 000005
【図４】
2010092261.tif 000006
【図５】
2010092261.tif 000007
【図６】
2010092261.tif 000008
【図７】
2010092261.tif 000009
【図８】
2010092261.tif 000010
【図９】
2010092261.tif 000011
【図１０】
2010092261.tif 000012
【図１１】
2010092261.tif 000013