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