(57)【要約】【課題】マルチランクＳＤＲＡＭを構成する場合でも、性能の低下を防ぎ、部品点数の増加を最小限に抑えるマルチランクＳＤＲＡＭ制御方法、及びＳＤＲＡＭコントローラを提供すること。【解決手段】複数のＳＤＲＡＭデバイスのデータバスを接続して構成されたマルチランクＳＤＲＡＭの制御方法であって、前記複数のＳＤＲＡＭデバイスのそれぞれに対して、アクセス対象であるランクのＳＤＲＡＭデバイスに対するデータマスク信号のみネゲートすることによって、データのリードまたはライトを実行する。【選択図】図１
2018160104.tif 000002
【特許請求の範囲】
【請求項１】
複数のＳＤＲＡＭデバイスのデータバスを接続して構成されたマルチランクＳＤＲＡＭの制御方法であって、
前記複数のＳＤＲＡＭデバイスのそれぞれに対して、アクセス対象であるランクのＳＤＲＡＭデバイスに対するデータマスク信号のみネゲートすることによって、前記ランクへのアクセスを実行する、マルチランクＳＤＲＡＭ制御方法。
【請求項２】
前記マルチランクＳＤＲＡＭは、２の累乗のランク数で構成されており、前記ＳＤＲＡＭのアドレスの下位ビットでランクの選択を実行する、請求項１記載のマルチランクＳＤＲＡＭ制御方法。
【請求項３】
前記ランクの選択を行う下位ビットの一つ上のビット群を、前記マルチランクＳＤＲＡＭのカラムアドレスとして用いる、請求項２記載のマルチランクＳＤＲＡＭ制御方法。
【請求項４】
前記データマスク信号は、バイトレーン単位でリードまたはライトのデータをマスクする信号である、請求項１から３のいずれか１項に記載のマルチランクＳＤＲＡＭ制御方法。
【請求項５】
前記複数のＳＤＲＡＭデバイスのうちの１個以上のＳＤＲＡＭは、パリティ及び／又はＥＣＣビットのためのＳＤＲＡＭデバイスである、請求項１から４のいずれか１項に記載のマルチランクＳＤＲＡＭ制御方法。
【請求項６】
請求項１〜５のいずれか一項に記載のマルチランクＳＤＲＡＭ制御方法を実行するＳＤＲＡＭコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチランク（Multi Rank）のＳＤＲＡＭ（Synchronous Dynamic RAM）の制御方法、及びＳＤＲＡＭコントローラに関する。本発明は、特にデータだけでなく、パリティ（Parity）やＥＣＣ（Error Correction Code）を含めたランクの制御を行うことができる制御方法、及びＳＤＲＡＭコントローラに関する。
【背景技術】
【０００２】
大容量のＳＤＲＡＭが必要な場合、いわゆるマルチランク構成が採用される場合がある。マルチランク構成とは、ＳＤＲＡＭのデータのバス線１本当たりに複数のＳＤＲＡＭデバイスを接続する構成を言う。なお、ここでいう「ＳＤＲＡＭ」は、典型的には、狭義のＳＤＲ（Single Data Rate）のＳＤＲＡＭである。
【０００３】
図１９Ａには、従来のシングルランク（Single Rank）（１ランク）のメモリ構成例と、デュアルランク（Dual Rank）（２ランク）とのメモリ構成例の説明図が示されている。同図のＳｉｎｇｌｅ  Ｒａｎｋには、シングルランクのメモリにおいては、ＣＰＵ１０からの各データ線１６には、それぞれデータ線１６の１本当たり１個のＳＤＲＡＭデバイス１２が接続している様子が示されている。すなわち、１本のデータ線１６には、ＣＰＵ１０と、ＳＤＲＡＭコントローラ１４と、１個のＳＤＲＡＭデバイス１２とが接続している。
【０００４】
また、同図のＤｕａｌ  Ｒａｎｋには、デュアルランクのメモリにおいては、ＣＰＵ１０からの各データ線１６には、それぞれデータ線１６の１本当たり２個のＳＤＲＡＭデバイス１２が接続している様子が示されている。すなわち、１本のデータ線１６には、ＣＰＵ１０と、ＳＤＲＡＭコントローラ１４と、２個のＳＤＲＡＭデバイス１２とが接続している。
【０００５】
前述のとおり、図１９Ａには、ＣＰＵ１０−ＳＤＲＡＭ１２−ＳＤＲＡＭコントローラ１４との接続の様子が示されている。なお、ＣＰＵ１０がＳＤＲＡＭコントローラ１４を兼ねる形態も考えられ、その様子が図１９Ｂに示されている。また、ＣＰＵ１０のデータバスとＳＤＲＡＭコントローラ１４のデータバスとが分離している形態も考えられ、その様子が図１９Ｃに示されている。
【０００６】
従来、ＳＤＲＡＭのマルチランク構成を実現するには、ランク毎にＣＳ＃（チップセレクト信号）を分けて、アクセスするランクのＣＳ＃のみをアサートすることが一般的である。このようなＣＳ＃を用いてランクを制御する場合の回路構成図が図２０に示されている。図２０で示す例は、ＲＡＮＫ＝２の例であり、第１ランクのＳＤＲＡＭデバイス２０ａと、第２ランクのＳＤＲＡＭデバイス２０ｂとが備えられている。そして、データ線は、両ＳＤＲＡＭデバイス２０ａ、２０ｂのデータ線（Ｄ０〜Ｄ１５）に共に接続されている。ランクの選択は、ＣＳ０＃２２ａと、ＣＳ１＃２２ｂのいずれかのチップセレクト信号をアサートすることによって、第１ランク、第２ランクのいずれかを選択するように構成している。このＣＳ０＃２２ａと、ＣＳ１＃２２ｂは、例えば、アドレスの上位ビットに応じて排他的にアサートされる。
【０００７】
また、高信頼性が要求される用途では、データにパリティやＥＣＣを付加することが多い。例えば、６４ビットのデータに８ビットのパリティを付加するような構成が利用されている。１６ビット幅のＳＤＲＡＭデバイスを用いて、このような８ビットのパリティやＥＣＣを実現する場合には、パリティ／ＥＣＣ用のＳＤＲＡＭデバイスの１６ビット中、８ビットがパリティやＥＣＣに使用され、残りの８ビットは未使用となる。
【０００８】
このようなＣＳ＃を用いてランクを制御する場合の、パリティ／ＥＣＣ用のＳＤＲＡＭデバイスの回路構成図が図２１に示されている。図２１で示す例は、２ランクの例であり、第１ランクのパリティ用のＳＤＲＡＭデバイス２０ｃと、第２ランクのパリティ用のＳＤＲＡＭデバイス２０ｄとが備えられている。そして、データ線中の９ビット（パリティ）は、両ＳＤＲＡＭデバイス２０ａ、２０ｂのデータ線（ＤＰ０〜ＤＰ７）に共に接続されている。ランクの選択は、ＣＳ０＃２２ａと、ＣＳ１＃２２ｂのいずれかのチップセレクト信号をアサートすることによって、第１ランク、第２ランクのいずれかを選択するように構成している。このＣＳ０＃２２ａと、ＣＳ１＃２２ｂは、図２０と同様に、例えばアドレスの上位ビットに応じて排他的にアサートされる。なお、図２１に示すように、各ＳＤＲＡＭデバイス２０ｃ、２０ｄの下位８ビットのみがパリティとして用いられ、上位８ビットは未使用であり、ＶＤＤにプルアップ（Pull Up）されている。ここでは、パリティとして用いる例を説明したが、ＥＣＣも同様である。
【０００９】
マルチランク構成の場合には、この８ビットが未使用のままのＳＤＲＡＭデバイス２０ｃ、２０ｄも、ランク数分必要となってしまうため、無駄が多いという課題があった。
【００１０】
また、データの場合でもパリティの場合でも、あるランクにアクセスした直後に、他のランクにアクセスしようとすると、ランク間の競合を回避するために、所定のウェイトの挿入が必要な場合もある。そのため、ランクが１の場合と比較して、性能面で不利になる可能性があるという課題がある。
【００１１】
＜先行特許文献＞
例えば、後述する特許文献１においては、メモリモジュール１の記憶手段２（６４ビット幅のデータ入出力端子を有している）は、マスク信号（ＤＱＭ０〜ＤＱＭ７）に対応した各々８ビット幅のセグメントに区分けされたデータ入出力ＤＱ０〜ＤＱ７、ＤＱ８〜ＤＱ１５、・・・を備えていることが示されている（特許文献１の図１、段落〔００１２〕、〔００１３〕）。また、アドレスの下位３ビットからマスク信号（ＤＱＭ０〜ＤＱＭ７）が生成されている（〔００１７〕、図２）。
【００１２】
また、特許文献２においては、データ入出力回路２０は、メモリセルＭＣへの書き込みデータ及び読み出しデータを、データマスク信号ＢＤＭ０-７の論理に応じてマスクしている（特許文献２の図１、段落〔００１８〕、〔００２７〕）。ここで、メモリセルＭＣは、ＳＤＲＡＭのインターフェースを有する疑似ＳＲＡＭである（段落〔０００９〕）。
すなわち、ＳＤＲＡＭのアクセスしようとするバイトに対するＤＱＭ信号のみをネゲートして、データのリード・ライトを行う動作が開示されている。
【００１３】
また、特許文献３においては、リード時に下位データマスク信号を使用することが開示されている（特許文献３の段落〔００４６〕）。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００８−２９３４１３号公報
【特許文献２】特開２００８−０２１３６４号公報
【特許文献３】特開２００８−２７６３４３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
従来のマルチランク技術においては、上述したように、ＣＳ＃（チップセレクト信号）を用いてランクを選択しているので、ランク間の競合を回避するためにウェイトの挿入が必要な場合もあり、性能面で不利が生じている。また、パリティ／ＥＣＣのビット幅がＳＤＲＡＭデバイスのビット幅より小さい場合には、未使用のビットが生じてしまい、無駄が生じてしまう場合もある。
【００１６】
本発明は、かかる課題に鑑みなされたものであり、マルチランクＳＤＲＡＭを構成する場合でも、性能の低下を抑制できるマルチランクＳＤＲＡＭ制御方法を提供することを目的とする。また、同様に、マルチランクＳＤＲＡＭを構成する場合でも、無駄な未使用ビットを削減することができるマルチランクＳＤＲＡＭ制御方法を提供することを目的とする。本発明は、前述のマルチランクＳＤＲＡＭ制御方法を実行するＳＤＲＡＭコントローラを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明は、上記課題を解決するために、アクセスするランクの選択をＣＳ＃（チップセレクト信号）ではなく、ＤＱＭ（データマスク信号）で行うことを原理とする。すなわち、ランクごとにＤＱＭを分け、アクセスするランクのＤＱＭのみをネゲートする。
ＤＱＭは、バイトレーン単位でリードやライトのデータをマスクすることを可能とする信号である。メモリがアイドル状態の場合には、アサート（データがマスクされている状態）されている。
なお、ＤＤＲ（Double Data Rate）のＳＤＲＡＭの場合には、このＤＱＭに相当する信号は、ＤＭという呼び名で呼ばれ、ライトのみをマスクすることができる信号である。本発明の対象は、典型的には、ＳＤＲ（Single Data Rate）のＳＤＲＡＭである。
【００１８】
このような解決の原理を説明する図が、図１、図２に示されている。
図１には、データの観点から２ランクのＳＤＲＡＭを構成した場合の例が示されている。この図には、ＲＡＮＫ０のＳＤＡＲＭデバイス１００ａと、ＲＡＮＫ１にＳＤＡＲＭデバイス１００ｂとが、そのデータ線が共通に接続され、２ランク構成のメモリを構成した例が示されている。
ＳＤＡＲＭデバイス１００ａ、１００ｂは、１６ビット（ｘ１６）のメモリであり、上位８ビットに対するデータマスク信号端子であるＤＱＭＨと、下位８ビットに対するデータマスク信号端子であるＤＱＭＬとが備えられている。
【００１９】
図１の例では、ＲＡＮＫ０のＤＲＡＭデバイス１００ａのＤＱＭＬ及びＤＱＭＨには、ＤＱＭ０１１４ａが接続され、ＲＡＮＫ０が選択される場合には、ＤＡＭ０１１４ａがネゲートされ、ＤＱＭＨ、ＤＱＭＬが共にネゲートされ、ＳＤＲＡＭデバイス１００ａのデータ線がアクティブとなり、ＲＡＮＫ０に対するアクセスが行われる。
ＲＡＮＫ１のＤＲＡＭデバイス１００ｂのＤＱＭＬ及びＤＱＭＨには、ＤＱＭ０１１４ｂが接続され、ＲＡＮＫ１が選択される場合には、ＤＡＭ０１１４ｂがネゲートされ、ＤＱＭＨ、ＤＱＭＬが共にネゲートされ、ＳＤＲＡＭデバイス１００ｂのデータ線がアクティブとなり、ＲＡＮＫ１に対するアクセスが行われる。
なお、この場合、ＣＳ＃は全てアサートされ、両ＳＤＲＡＭデバイス１００ａ、１００ｂはともに動作状態である。
【００２０】
図２には、パリティ／ＥＣＣの観点から２ランクのＳＤＲＡＭを構成した場合の例が示されている。この図には、単一のＳＤＡＲＭデバイス１００ｃが示され、その上位バイトと、下位バイトとで、２ランク構成のパリティ／ＥＣＣ用のメモリを構成した例が示されている。なお、パリティやＥＣＣは８ビットであることを前提としている。
ＳＤＡＲＭデバイス１００ｃは、１６ビット（ｘ１６）のメモリであり、上位８ビットに対するデータマスク信号端子であるＤＱＭＨと、下位８ビットに対するデータマスク信号端子であるＤＱＭＬとが備えられている。
【００２１】
図２の例では、ＳＤＲＡＭデバイス１００ｃのＤＱＭＬに、ＤＱＭ０１１４ａが接続され、ＲＡＮＫ０が選択される場合には、ＳＤＲＡＭデバイス１００ｃのＤＡＭ０１１４ａがネゲートされ、ＤＱＭＬがネゲートされる。その結果、ＳＤＲＡＭデバイス１００ｃの下位８ビットがアクティブとなり、ＲＡＮＫ０のパリティ／ＥＣＣに対するアクセスが行われる。すなわち、ＳＤＲＡＭデバイス１００ｃの下位８ビットがＲＡＮＫ０のパリティ／ＥＣＣとなる。
【００２２】
また、ＳＤＲＡＭデバイス１００ｃのＤＱＭＨに、ＤＱＭ０１１４ｂが接続され、ＲＡＮＫ１が選択される場合には、ＳＤＲＡＭデバイス１００ｃのＤＡＭ０１１４ｂがネゲートされ、ＤＱＭＨがネゲートされる。その結果、ＳＤＲＡＭデバイス１００ｃの上位８ビットがアクティブとなり、ＲＡＮＫ１のパリティ／ＥＣＣに対するアクセスが行われる。すなわち、ＳＤＲＡＭデバイス１００ｃの上位８ビットがＲＡＮＫ１のパリティ／ＥＣＣとなる。
【００２３】
本願発明の原理を、タイムチャートを用いて説明する。図３には、従来のＣＳ＃を用いた場合のマルチランクＳＤＲＡＭに対するアクセス動作の様子を示すタイムチャートが示されている。縦軸には種々の信号種別が示されている。上から、順に、
Ｒａｎｋ０  Ｃｏｍｍａｎｄ：ＲＡＮＫ０に対するコマンド
Ｒａｎｋ１  Ｃｏｍｍａｎｄ：ＲＡＮＫ１に対するコマンド
ＤＱＭ                    ：ＲＡＮＫ０とＲＡＮＫ１に共通のデータマスク信号
Ｒａｎｋ０  Ｄａｔａ      ：ＲＡＮＫ０のデータ
Ｒａｎｋ１  Ｄａｔａ      ：ＲＡＮＫ１のデータ
を表す。図３の横軸は時間であり、周期ｐ１からｐ１０に向かって時間が経過していくものとする。図３は、シングルリード直後の別ランクのリードの様子を示すタイムチャートであり、ＳＤＲＡＭはＣＡＳレイテンシ＝２、バースト長＝４を前提としている。
【００２４】
図３において、まず周期ｐ１においては、ＤＱＭはアサートされた状態であり、その結果、いずれのＲＡＮＫのデータも有効な状態ではない。
周期ｐ２において、ＲＡＮＫ０に対してＲＥＡＤコマンド（ＲＥＡＤ  ａ）が発行される。同周期ｐ２において、ＤＱＭがネゲートされ、データに対するアクセスが可能となる。ここでは、ＣＡＳレンテンシ＝２を前提としており、周期ｐ４において、ＲＡＮＫ０側のＳＤＲＡＭはデータＤａｔａ  ａ０をデータバス上に出力する。
周期ｐ３において、ＤＱＭがアサートされる。このため、周期ｐ５においてＲＡＮＫ０側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態となる。
周期ｐ４において、ＤＱＭがアサートされ続ける。このため、周期ｐ６においてＲＡＮＫ０側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態を維持する。
周期ｐ５において、ＤＱＭがネゲートされるので、周期ｐ７においてＲＡＮＫ０側のＳＤＲＡＭはデータＤａｔａ  ａ３をデータバス上に出力する。ＳＤＲＡＭのバースト長＝４を前提としているので、ＲＡＮＫ０のＲＥＡＤサイクル（ＲＥＡＤ  ａ）は周期ｐ７で完了する。
【００２５】
同じく周期ｐ５において、ＲＡＮＫ１に対して新たなＲＥＡＤコマンド（ＲＥＡＤ  ｂ）が発行される。ＣＡＳレンテンシ＝２を前提としているので、周期ｐ７において、ＲＡＮＫ１側のＳＤＲＡＭはデータＤａｔａ  ｂ０をデータバス上に出力する。
周期ｐ６において、ＤＱＭがネゲートされ続ける。このため、周期ｐ８においてＲＡＮＫ１側のＳＤＲＡＭはデータＤａｔａ  ｂ１をデータバス上に出力する。
【００２６】
周期ｐ７において、前述のとおり、ＲＡＮＫ０側のＳＤＲＡＭがデータＤａｔａ  ａ３をデータバス上に出力し、同時にＲＡＮＫ１側のＳＤＲＡＭがデータＤａｔａ  ｂ０をデータバス上に出力するので、データバス上で衝突１０４が発生してしまう。
同じく周期ｐ７において、ＤＱＭがネゲートされ続ける。このため、周期ｐ９においてＲＡＮＫ１側のＳＤＲＡＭはデータＤａｔａ  ｂ２をデータバス上に出力する。
周期ｐ８においても、ＤＱＭはネゲートされ続ける。このため、周期ｐ１０においてＲＡＮＫ１側のＳＤＲＡＭはデータＤａｔａ  ｂ４をデータバス上に出力する。ＳＤＲＡＭのバースト長＝４を前提としているので、ＲＡＮＫ１のＲＥＡＤサイクル（ＲＥＡＤ  ｂ）は周期ｐ１０で完了する。一方、ＲＡＮＫ０側のＳＤＲＡＭは周期ｐ７でリードサイクルが完了しているので、周期ｐ８以降はデータを出力せず、Ｈｉ-Ｚ状態となる。
【００２７】
以上のような動作となるので、ＲＡＮＫ０側のコマンドと、ＲＡＮＫ１側のコマンドとが連続して発行される場合には、図３に示すように衝突１０４が発生してしまう。衝突を回避するためにはＲＡＮＫをまたぐコマンド間に一定の時間間隔が必要であり、例えば、ウェイトを挿入する等の工夫が必要である。その結果、メモリアクセスに望ましくない遅延が生じ、性能面で不利な結果がもたらされる。図３に示す衝突１０４を回避するには、ＲＡＮＫ１のＲＥＡＤをさらに、２周期遅らせる必要がある。
【００２８】
次に、本発明で提案するＤＱＭ方式の動作を説明する。図４には、このＤＱＭ方式を用いた場合のマルチランクＳＤＲＡＭに対するアクセス動作の様子を示すタイムチャートが示されている。縦軸には種々の信号種別が示されている。上から、順に、
Ｃｏｍｍａｎｄ            ：ＲＡＮＫ０とＲＡＮＫ１に共通のコマンド
Ｒａｎｋ０  ＤＱＭ        ：ＲＡＮＫ０に対するデータマスク信号
Ｒａｎｋ１  ＤＱＭ        ：ＲＡＮＫ１に対するデータマスク信号
Ｒａｎｋ０  Ｄａｔａ      ：ＲＡＮＫ０のデータ
Ｒａｎｋ１  Ｄａｔａ      ：ＲＡＮＫ１のデータ
を表す。図４の横軸は、図３と同様に時間であり、周期ｐ１からｐ１０に向かって時間が経過していくものとする。図４も、シングルリード直後の別ランクのリードの様子を示すタイムチャートであり、ＣＡＳレイテンシ＝２を前提としている。
【００２９】
図４において、まず周期ｐ１においては、ＲＡＮＫ０、ＲＡＮＫ１のＤＱＭは共にアサートされた状態であり、その結果、いずれのＲＡＮＫのデータも有効な状態ではない。
周期ｐ２において、両ＲＡＮＫに対してＲＥＡＤコマンド（ＲＥＡＤ  ａ）が発行されるとともに、ＲＡＮＫ０側のＤＱＭがネゲートされる。ここでは、ＣＡＳレンテンシ＝２を前提としており、周期ｐ４において、ＲＡＮＫ０側のＳＤＲＡＭはデータＤａｔａ  ａ０をデータバス上に出力する。周期ｐ２においてＲＡＮＫ１側のＤＱＭがアサートされているので、周期ｐ４においてＲＡＮＫ１側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態を維持する。
周期ｐ３において、ＲＡＮＫ０側のＤＱＭがアサートされる。このため周期ｐ５においてＲＡＮＫ０側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態となる。
同じく周期ｐ３において、ＲＡＮＫ１側のＤＱＭがアサートされ続ける。このため周期ｐ５においてＲＡＮＫ１側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態を維持する。
【００３０】
周期ｐ４において、両ＲＡＮＫのＤＱＭがアサートされ続ける。このため周期ｐ６において両ＲＡＮＫのＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態を維持する。
周期ｐ５において、両ＲＡＮＫに対してＲＥＡＤコマンド（ＲＥＡＤ  ｂ）が発行されるとともに、ＲＡＮＫ１側のＤＱＭがネゲートされる。先行するＲＥＡＤサイクル（ＲＥＡＤ  ａ）が未完了だが、ＳＤＲＡＭは後発のＲＥＡＤコマンド（ＲＥＡＤ  ｂ）を優先する。ＣＡＳレンテンシ＝２を前提としているので、周期ｐ７において、ＲＡＮＫ１側のＳＤＲＡＭはデータＤａｔａ  ｂ０をデータバス上に出力する。一方、周期ｐ５においてＲＡＮＫ０側のＤＱＭはアサートされ続けているので、周期ｐ７においてＲＡＮＫ０側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態を維持する。
【００３１】
周期ｐ６において、ＲＡＮＫ０側のＤＱＭがアサートされ続けているので、周期ｐ８においてＲＡＮＫ０側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態を維持する。
同じく周期ｐ６において、ＲＡＮＫ１側のＤＱＭがネゲートされ続けているので、周期ｐ８においてＲＡＮＫ１側のＳＤＲＡＭはデータＤａｔａ  ｂ１をデータバス上に出力する。
周期ｐ７において、前述のとおり、ＲＡＮＫ１側のＳＤＲＡＭはデータＤａｔａ  ｂ０をデータバス上に出力するが、ＲＡＮＫ０側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態を維持するので、データバス上で衝突は起こらない。
同じく周期ｐ７において、ＲＡＮＫ０側のＤＱＭはアサートされ続ける。このため、周期ｐ９においてＲＡＮＫ０側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態を維持する。
同じく周期ｐ７において、ＲＡＮＫ１側のＤＱＭはネゲートされ続ける。このため、周期ｐ９においてＲＡＮＫ１側のＳＤＲＡＭはデータＤａｔａ  ｂ２をデータバス上に出力する。
【００３２】
周期ｐ８において、ＲＡＮＫ０側のＤＱＭはアサートされ続ける。その結果、周期ｐ１０においてＲＡＮＫ０側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態を維持する。
同じく周期ｐ８において、ＲＡＮＫ１側のＤＱＭはネゲートされ続ける。このため、周期ｐ１０においてＲＡＮＫ１側のＳＤＲＡＭはデータＤａｔａ  ｂ３をデータバス上に出力する。
ＳＤＲＡＭのバースト長＝４を前提としているので、両バンクのＲＥＡＤサイクル（ＲＥＡＤ  ｂ）は周期ｐ１０で完了する。
以上のような動作となるので、ＲＡＮＫ０側のコマンドと、ＲＡＮＫ１側のコマンドとが連続して発行される場合でも、その間の時間間隔をＣＳ＃方式に比べて短くすることができ、ＣＳ＃方式に比べて性能の改善が図られる。
【００３３】
＜ランクの選択＞
以上、本発明の原理を、図１、図２、図３、図４に基づき説明した。
ランクの選択は、アドレスからランクを求めることがよく、どのビット（群）がランクを表してもよい。原則として自由にアドレスとランクの関係を規定することができる。ただし、例えば、下記のようなアドレスとランクとの関係を規定してもよい。
【００３４】
ランク数が２の累乗の場合には、アドレスの下位ビットでランクの選択を行ってもよい。例えば、最大バースト長でのアクセスサイズを２ｍバイトとすると、２ｒランク構成では、Ｎビットアドレス［Ｎ−１：０］中のビット［ｍ＋ｒ−１：ｍ］でランクを選択することができる。ここで、ｍ、ｒは非負整数、Ｎは自然数である。
例１：ｍ＝５、ｒ＝１、Ｎ＝３２の場合には、最大バースト長アクセスサイズが、３２バイト（＝２５）となり、２（＝２１）ランク構成で、３２ビットアドレス［３１：０］中のビット［５］がランクを指定することになる。
【００３５】
例２：ｍ＝５、ｒ＝２、Ｎ＝３２の場合には、４ランク構成で、３２ビットアドレス［３１：０］中のビット［６：５］がランクを指定することになる。
例３：ｍ＝５、ｒ＝４、Ｎ＝３２の場合には、８ランク構成で、３２ビットアドレス［３１：０］中のビット［７：５］がランクを指定することになる。
すなわち、ここでいう「アドレスの下位」とは、最大バーストアクセスサイズを示すビットを除いて下位のビットという意味である。
なお、ＳＤＲＡＭの最大バースト長は、ＣＰＵのキャッシュラインサイズと整合させるのが合理的であり、通常は、３２、６４、１２８バイト程度が採用される。
【００３６】
＜カラムアドレスの位置＞
また、ランクの一つ上（直近の上位）のビット群をカラムアドレスとすることができる。サポートする最小のカラムアドレスのビット数をｋビットとする。ここで、ｋは整数である。すると、上述の通り、Ｎビットアドレス［Ｎ−１：０］中のビット［ｍ＋ｒ−１：ｍ］でランクを選択するとともに、その上位である、Ｎビットアドレス［Ｎ−１：０］中のビット［ｍ＋ｒ＋ｋ−１：ｍ＋ｒ］がカラムアドレスとなる。ｒの値で場合分けすれば、下記のとおりである。
【００３７】
例４：２ランク構成（ｒ＝１）の場合には、Ｎビットアドレス［Ｎ−１：０］中のビット［ｍ＋ｋ：ｍ＋１］がカラムアドレスとなる。
例５：４ランク構成（ｒ＝２）の場合には、Ｎビットアドレス［Ｎ−１：０］中のビット［ｍ＋ｋ＋１：ｍ＋２］がカラムアドレスとなる。
例６：８ランク構成（ｒ＝３）の場合には、Ｎビットアドレス［Ｎ−１：０］中のビット［ｍ＋ｋ＋２：ｍ＋３］がカラムアドレスとなる。
なお、これらの構成を採用する場合には、バンクアドレスと、ロウアドレスとは、カラムアドレスよりも上位のビット群とすることができる。
【００３８】
このようなアドレスの割り当てを行う場合には、マルチランクＳＤＲＡＭでメモリを構成した場合の性能の改善を図ることができる。具体的に言えば、高速ページモードにおけるページサイズの拡大を図ることができる。つまり、ページサイズをランク数倍にすることができる。ＳＤＲＡＭにおいては、同一のロウアドレスに高速でアクセスすることができる。その場合の同一のロウアドレスとなるアドレス範囲を拡大したことと同様の効果が得られるという意味である。
【００３９】
＜アドレスの割り当て＞
具体的なアドレスの割り当ての例を３例示す。
図５は、ＲＡＮＫが１の場合のアドレスの関係を説明する説明図である。図５は、データビット幅が６４ビットであり、バースト長が４、個々のＳＤＲＡＭデバイスが１２８Ｍｂｉｔ以上のデバイスである場合の例である。
同図において、プロセッサーアドレス１０６は、３２ビットからなるアドレスである。その下位１２ビットがページサイズを表し、４ＫＢである。
【００４０】
アクティブコマンドアドレス１０８は、アクティブコマンドで示されるアドレスであり、１５ビットである。その下位１２ビットは、下位のロウアドレスであり、プロセッサーアドレス１０６の［２３：１２］である。アクティブコマンドアドレス１０８の上位２ビットは、バンクアドレスであり、プロセッサーアドレス１０６の［２５：２４］である。アクティブコマンドアドレス１０８の残りの１ビット［１２］は、ロウアドレスの最上位ビットであり、プロセッサーアドレス１０６の［２６］である。
【００４１】
リードライトコマンドアドレス１１０は、ＲＥＡＤコマンドまたはＷＲＩＴＥコマンドで示されるアドレスであり、１５ビットである。その下位１０ビットは、プロセッサーアドレス１０６の［１１：３］であり、その上位の１ビット［１０］は、ＡＰ（Auto Precharge）である。リードライトコマンドアドレス１１０の上位２ビットは、バンクアドレスであり、アクティブコマンドアドレス１０８と同様に、プロセッサーアドレス１０６の［２５：２４］である。リードライトコマンドアドレス１１０の残りの２ビット［１２：１１］は、カラムアドレスであり、プロセッサーアドレス１０６の［２９：２８］である。
【００４２】
図６は、ＲＡＮＫが２の場合のアドレスの関係を説明する説明図である。図６も、データビット幅が６４ビットであり、バースト長が４、個々のＳＤＲＡＭデバイスが１２８Ｍｂｉｔ以上のデバイスである場合の例である。同図において、プロセッサーアドレス１０６は、３２ビットからなるアドレスである。その下位１３ビットがページサイズを表し、８ＫＢである。
【００４３】
アクティブコマンドアドレス１０８は、アクティブコマンドで示されるアドレスであり、１５ビットである。その下位１２ビットは、下位のロウアドレスであり、プロセッサーアドレス１０６の［２４：１３］である。アクティブコマンドアドレス１０８の上位２ビットは、バンクアドレスであり、プロセッサーアドレス１０６の［２６：２５］である。アクティブコマンドアドレス１０８の残りの１ビット［１２］は、ロウアドレスの最上位ビットであり、プロセッサーアドレス１０６の［２７］である。
【００４４】
リードライトコマンドアドレス１１０は、ＲＥＡＤコマンドまたはＷＲＩＴＥコマンドで示されるアドレスであり、１５ビットである。その下位９ビットは、プロセッサーアドレス１０６の［１２：３］である。ただしプロセッサーアドレス１０６のビット［５］は、ランクを選択するランクビット１１２として使用するので、リードライトコマンドアドレス１１０としては用いられない。また、その上位の１ビット［９］は、プロセッサーアドレスの[２８]ビットである。さらに上位の１ビット［１０］は、ＡＰ（Auto Precharge）である。
【００４５】
リードライトコマンドアドレス１１０の上位２ビットは、バンクアドレスであり、アクティブコマンドアドレス１０８と同様に、プロセッサーアドレス１０６の［２６：２５］である。リードライトコマンドアドレス１１０の残りの２ビット［１２：１１］は、カラムアドレスであり、プロセッサーアドレス１０６の［３０：２９］である。
図６に示す例では、２ランク構成であるので、ページサイズが、図５より２倍になり、８ＫＢとなる。
【００４６】
図７は、ＲＡＮＫが４の場合のアドレスの関係を説明する説明図である。図７も、データビット幅が６４ビットであり、バースト長が４、個々のＳＤＲＡＭデバイスが１２８Ｍｂｉｔ以上のデバイスである場合の例である。同図において、プロセッサーアドレス１０６は、３２ビットからなるアドレスである。その下位１４ビットがページサイズを表し、１６ＫＢである。
【００４７】
図７において、アクティブコマンドアドレス１０８は、図５、図６と同様に１５ビットである。その下位１２ビットは、下位のロウアドレスであり、プロセッサーアドレス１０６の［２５：１４］である。アクティブコマンドアドレス１０８の上位２ビットは、バンクアドレスであり、プロセッサーアドレス１０６の［２７：２６］である。アクティブコマンドアドレス１０８の残りの１ビット［１２］は、ロウアドレスの最上位ビットであり、プロセッサーアドレス１０６の［２８］である。
【００４８】
リードライトコマンドアドレス１１０も、図５、図６と同様に１５ビットである。その下位９ビットは、プロセッサーアドレス１０６の［１３：３］である。ただし、プロセッサーアドレス１０６のビット［６：５］は、ランクを選択するランクビット１１２として使用するので、リードライトコマンドアドレス１１０としては用いられない。また、その上位の１ビット［９］は、プロセッサーアドレスの[２９]ビットである。さらに上位の１ビット［１０］は、ＡＰ（Auto Precharge）である。リードライトコマンドアドレス１１０の上位２ビットは、バンクアドレスであり、アクティブコマンドアドレス１０８と同様に、プロセッサーアドレス１０６の［２７：２６］である。リードライトコマンドアドレス１１０の残りの２ビット［１２：１１］は、カラムアドレスであり、プロセッサーアドレス１０６の［３１：３０］である。
【００４９】
図７に示す例では、４ランク構成であるので、ページサイズが、図５に示す例と比べて４倍になり、１６ＫＢとなる。また、ランクビット１１２は、２ビットであり、この２ビットで４ランクのうち、いずれかのランクを指定する。
本発明の具体的な態様は後述する実施形態で詳細に説明する。本発明が採用する具体的な手段は、以下の通りである。
【００５０】
（１）本発明に係るマルチランクＳＤＲＡＭ制御方法は、複数のＳＤＲＡＭデバイス（例えば、後述するＳＤＲＡＭデバイス１００）のデータバスを接続して構成されたマルチランクＳＤＲＡＭの制御方法であって、前記複数のＳＤＲＡＭデバイスのそれぞれに対して、アクセス対象であるランクのＳＤＲＡＭデバイスに対するデータマスク信号（例えば、後述するＤＱＭ０）のみネゲートすることによって、前記ランクへのアクセスを実行する。
【００５１】
（２）  （１）のマルチランクＳＤＲＡＭ制御方法において、前記マルチランクＳＤＲＡＭは、２の累乗のランク数で構成されており、前記ＳＤＲＡＭのアドレスの下位ビットでランクの選択を実行してもよい。
【００５２】
（３）  （２）のマルチランクＳＤＲＡＭ制御方法において、前記ランクの選択を行う下位ビットの一つ上のビット群を、前記マルチランクＳＤＲＡＭのカラムアドレスとして用いてもよい。
【００５３】
（４）  （１）から（３）のいずれかのマルチランクＳＤＲＡＭ制御方法において、前記データマスク信号は、バイトレーン単位でリードまたはライトのデータをマスクする信号であってもよい。
【００５４】
（５）  （１）から（４）のいずれかのマルチランクＳＤＲＡＭ制御方法において、前記複数のＳＤＲＡＭデバイスのうちの１個以上のＳＤＲＡＭは、パリティ及び／又はＥＣＣビットのためのＳＤＲＡＭデバイスであってもよい。
【００５５】
（６）  本発明のＳＤＲＡＭコントローラは、（１）から（５）のいずれかのマルチランクＳＤＲＡＭ制御方法を実行する。
【発明の効果】
【００５６】
本発明によれば、ランク間の競合を回避して性能面での不利益が生じる可能性を減らすことができる。
【図面の簡単な説明】
【００５７】
【図１】本発明の解決手段（データ）を説明する説明図である。
【図２】本発明の解決手段（パリティ／ＥＣＣ）を説明する説明図である。
【図３】ＣＳ＃信号を用いたＳＤＲＡＭの制御の一例のタイムチャートである。
【図４】ＤＱＭ信号を用いたＳＤＲＡＭの制御の一例のタイムチャートである。
【図５】ＲＡＮＫ１の場合のアドレスの割り当ての一例を示す説明図である。
【図６】ＲＡＮＫ２の場合のアドレスの割り当ての一例を示す説明図である。
【図７】ＲＡＮＫ４の場合のアドレスの割り当ての一例を示す説明図である。
【図８】実施例１の回路構成図である。
【図９】実施例２の回路構成図である。
【図１０Ａ】実施例３の回路構成図である。
【図１０Ｂ】実施例３の回路構成図である。
【図１１Ａ】実施例４の回路構成図である。
【図１１Ｂ】実施例４の回路構成図である。
【図１２Ａ】実施例５の回路構成図である。
【図１２Ｂ】実施例５の回路構成図である。
【図１２Ｃ】実施例５の回路構成図である。
【図１２Ｄ】実施例５の回路構成図である。
【図１３Ａ】実施例６の回路構成図である。
【図１３Ｂ】実施例６の回路構成図である。
【図１３Ｃ】実施例６の回路構成図である。
【図１３Ｄ】実施例６の回路構成図である。
【図１４Ａ】実施例７の回路構成図である。
【図１４Ｂ】実施例７の回路構成図である。
【図１４Ｃ】実施例７の回路構成図である。
【図１４Ｄ】実施例７の回路構成図である。
【図１４Ｅ】実施例７の回路構成図である。
【図１４Ｆ】実施例７の回路構成図である。
【図１４Ｇ】実施例７の回路構成図である。
【図１４Ｈ】実施例７の回路構成図である。
【図１５Ａ】実施例８または１０の回路構成図である。
【図１５Ｂ】実施例８または１０の回路構成図である。
【図１５Ｃ】実施例８または１０の回路構成図である。
【図１６Ａ】実施例９または１１の回路構成図である。
【図１６Ｂ】実施例９または１１の回路構成図である。
【図１６Ｃ】実施例９または１１の回路構成図である。
【図１６Ｄ】実施例９または１１の回路構成図である。
【図１６Ｅ】実施例９または１１の回路構成図である。
【図１７Ａ】実施例１０の回路構成図である。
【図１７Ｂ】実施例１０の回路構成図である。
【図１８Ａ】実施例１１の回路構成図である。
【図１８Ｂ】実施例１１の回路構成図である。
【図１８Ｃ】実施例１１の回路構成図である。
【図１８Ｄ】実施例１１の回路構成図である。
【図１９Ａ】シングルランクとデュアルランクの説明図である。
【図１９Ｂ】図１９Ａの構成に対して、ＣＰＵがＳＤＲＡＭコントローラを兼ねる場合の説明図である。
【図１９Ｃ】図１９Ａの構成に対して、ＣＰＵがＳＤＲＡＭデバイスと直接接続せず、他のバスでＳＤＲＡＭコントローラに接続させた場合の説明図である。
【図２０】２ランク構成のＳＤＲＡＭにおいて、ＣＳ＃信号を用いてデータの制御を行う様子を示す説明図である。
【図２１】２ランク構成のＳＤＲＡＭにおいて、ＣＳ＃信号を用いてパリティまたはＥＣＣの制御を行う様子を示す説明図である。
【発明を実施するための形態】
【００５８】
以下、本発明の実施形態の好適な一例について図面に基づいて説明する。
【００５９】
＜実施例１＞
本実施形態の実施例１に係るメモリ装置の回路構成図が図８に示されている。図８に示す例は、２ランク構成であり、データビット幅が１６ビットの例である。また、パリティ／ＥＣＣは、８ビット以下である。また、１６ビット（ｘ１６）のＳＤＲＡＭデバイス１００ｄ−１、１００ｄ−２、１００ｄ−３を使用している。
【００６０】
図８に示すように、ＳＤＲＡＭデバイス１００ｄ−１はデータの下位８ビットであり、ＳＤＲＡＭデバイス１００ｄ−２は、データの上位８ビットである。双方あわせて、１６ビット幅のデータを実現している。ＳＤＲＡＭデバイス１００ｄ−１、１００ｄ−２にはＤＱＭＬと、ＤＱＭＨの２種類のデータマスク信号端子が備えられている。ＲＡＮＫ＝０を示すデータマスク信号であるＤＱＭ０−１１４ａと、ＲＡＮＫ＝１を示すデータマスク信号であるＤＱＭ１−１１４ｂと、の２種のデータマスク信号が、それぞれＤＱＭＬ、ＤＱＭＨに印加されている。
【００６１】
このような構成によって、ＤＱＭ０−１１４ａがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｄ−１、１００ｄ−２の下位８ビットが出力（または入力）され、これがＢＡＮＫ＝０を表す。一方、ＤＱＭ１−１１４ｂがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｄ−１、１００ｄ−２の上位８ビットが出力（または入力）され、これがＢＡＮＫ＝１を表す。
【００６２】
パリティ／ＥＣＣを受け持つＳＤＲＡＭデバイス１００ｄ−３についても同様であり、ＤＱＭ０−１１４ａがネゲートされた時には、ＳＤＲＡＭデバイス１００ｄ−３の下位８ビットが出力（または入力）され、これがＢＡＮＫ＝０のパリティ／ＥＣＣを表す。一方、ＤＱＭ１−１１４ｂがネゲートされた時には、ＳＤＲＡＭデバイス１００ｄ−３の上位８ビットが出力（または入力）され、これがＢＡＮＫ＝１のパリティ／ＥＣＣを表す。パリティ／ＥＣＣは、８ビット（またはそれ以下）であるので、ｘ１６ビット構成のＳＤＲＡＭデバイス１００ｄ−３で、ＢＡＮＫ＝０と、ＢＡＮＫ＝１の双方を受け持つことができる。
【００６３】
＜実施例２＞
本実施形態の実施例２に係るメモリ装置の回路構成図が図９に示されている。図９に示す例は、実施例１と同様に、２ランク構成であり、データビット幅が１６ビットの例である。また、パリティ／ＥＣＣは、８ビット以下である。また、１６ビット（ｘ１６）のＳＤＲＡＭデバイス１００ｅ−１、１００ｅ−２、１００ｅ−３を使用している。
図９に示すように、ＳＤＲＡＭデバイス１００ｅ−１は、ＤＱＭＬとＤＱＭＨとの２種類のデータマスク信号端子が備えられており、共に、ＲＡＮＫ＝０を示すデータマスク信号であるＤＱＭ０−１１４ａが印加されている。すなわち、ＳＤＲＡＭデバイス１００ｅ−１は、ＲＡＮＫ＝０のデータを受け持っている。
【００６４】
ＳＤＲＡＭデバイス１００ｅ−２も、ＤＱＭＬとＤＱＭＨとの２種類のデータマスク信号端子が備えられており、共に、ＲＡＮＫ＝１を示すデータマスク信号であるＤＱＭ１−１１４ｂが印加されている。すなわち、ＳＤＲＡＭデバイス１００ｅ−２は、ＲＡＮＫ＝１のデータを受け持っている。
ＳＤＲＡＭデバイス１００ｅ−１、１００ｅ−２もｘ１６ビット構成のデバイスであり、単独で１６ビットのデータビット幅を受け持つことができる。
【００６５】
また、パリティ／ＥＣＣを受け持つＳＤＲＡＭデバイス１００ｅ−３の接続構成は、実施例１（図８）のＳＤＲＡＭデバイス１００ｄ−３と同様であるので説明を省略する。
この実施例２は、ＳＤＲＡＭデバイス１００を３個用いて、２ランク構成のマルチランクＳＤＲＡＭのメモリ装置を構成することができる。この構成からＳＤＲＡＭデバイス１００ｅ−２を除去すれば、それは明らかに、１ランクのＳＤＲＡＭのメモリ装置である。
したがって、図９を実現する場合に作成したプリント配線板を用いて、２ランク構成のメモリ装置と、１ランク構成のメモリ装置とを、自由に構成することができる。言い換えれば、同一構成のプリント配線板を用いて、１ランク構成と、２ランク構成との双方に対応することが可能である。
【００６６】
＜実施例３＞
本実施形態の実施例３に係るメモリ装置の回路構成図が図１０Ａ、図１０Ｂに示されている。図１０Ａ、図１０Ｂに示す例は、２ランク構成であり、データビット幅が３２ビットの例である。また、パリティ／ＥＣＣは、８ビット以下である。また、１６ビット（ｘ１６）構成のＳＤＲＡＭデバイス１００ｆ−１、１００ｆ−２、１００ｆ−３、１００ｆ−４、１００ｆ−５を使用している。
【００６７】
要するに、実施例３は、実施例８の構成のデータ部分の回路を２倍にして、データビット幅を２倍の３２ビットにした構成である。すなわち、各ＳＤＲＡＭデバイス１００ｆは、その下位８ビットがＲＡＮＫ＝０であり、上位８ビットがＲＡＮＫ＝１である。そして、４個のＳＤＲＡＭデバイス１００ｆ−１、１００ｆ−２、１００ｆ−３、１００ｆ−４が、それぞれ、データを８ビットずつ受持ち、４個合わせて３２ビットのデータビット幅を実現している。
【００６８】
図１０Ａ、図１０Ｂに示すように、ＳＤＲＡＭデバイス１００ｄ−１はデータの最下位８ビットであり、ＳＤＲＡＭデバイス１００ｄ−２は、データの下から２番目の８ビットである。また、ＳＤＲＡＭデバイス１００ｄ−４はデータの最上位８ビットであり、ＳＤＲＡＭデバイス１００ｄ−３は、データの上から２番目の８ビットを受け持っている。
４個のＡＭデバイス１００ｆには、ＤＱＭＬとＤＱＭＨとの２種類のデータマスク信号端子が備えられている。ＲＡＮＫ＝０を示すデータマスク信号であるＤＱＭ０−１１４ａと、ＲＡＮＫ＝１を示すデータマスク信号であるＤＱＭ１−１１４ｂと、の２種のデータマスク信号が、それぞれＤＱＭＬ、ＤＱＭＨに印加されている。
【００６９】
このような構成によって、ＤＱＭ０−１１４ａがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｆ−１、１００ｆ−２、１００ｆ−３、１００ｆ−４の下位８ビットが出力（または入力）され、これがＢＡＮＫ＝０を表す。一方、ＤＱＭ１−１１４ｂがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｆ−１、１００ｆ−２、１００ｆ−３、１００ｆ−４の上位８ビットが出力（または入力）され、これがＢＡＮＫ＝１を表す。
パリティ／ＥＣＣを受け持つＳＤＲＡＭデバイス１００ｆ−５の接続構成は、実施例１のＳＤＲＡＭデバイス１００ｄ−３、実施例２のＳＤＲＡＭデバイス１００ｅ−３と同様であるので説明を省略する。
【００７０】
＜実施例４＞
本実施形態の実施例４に係るメモリ装置の回路構成図が図１１Ａ、図１１Ｂに示されている。図１１Ａ、図１１Ｂに示す例は、２ランク構成であり、データビット幅が３２ビットの例である。また、パリティ／ＥＣＣは、８ビット以下である。また、１６ビット（ｘ１６）構成のＳＤＲＡＭデバイス１００ｇ−１、１００ｇ−２、１００ｇ−３、１００ｇ−４、１００ｇ−５を使用している。
【００７１】
要するに、実施例４は、実施例３に対して、実施例２の構成を応用したものである。すなわち、実施例３が単一のＳＤＲＡＭデバイスがＲＡＮＫ＝０とＲＡＮＫ＝１の双方を受け持っているのに対して、実施例４は（実施例２と同様に）、ＳＤＲＡＭデバイスをＲＡＮＫ＝０のデバイスと、ＲＡＮＫ＝１のデバイスとに分けたものである。このように、分けることによって、単にデバイスの数を減らすことによってランク数を減らすことも可能となり、柔軟性に富む回路構成が実現できる。
【００７２】
具体的には、１６ビット構成（ｘ１６）のＳＤＲＡＭデバイス１００ｇ-１と、１００ｇ-２には、ＤＱＭＬとＤＱＭＨとの２種類のデータマスク信号端子が備えられている。両端子にともに、ＲＡＮＫ＝０を示すデータマスク信号であるＤＱＭ０−１１４ａが印加されており、ＲＡＮＫ＝０を受け持つ。また、ＳＤＲＡＭデバイス１００ｇ-１が下位１６ビット、ＳＤＲＡＭデバイス１００ｇ-３が上位１６ビットをそれぞれ受け持っている。
【００７３】
同様に、１６ビット構成（ｘ１６）のＳＤＲＡＭデバイス１００ｇ-２と、１００ｇ-４とには、ＤＱＭＬと、ＤＱＭＨの２種類のデータマスク信号端子が備えられている。両端子にともに、ＲＡＮＫ＝１を示すデータマスク信号であるＤＱＭ０−１１４ｂが印加されており、ＲＡＮＫ＝１を受け持つ。また、ＳＤＲＡＭデバイス１００ｇ-２が下位１６ビット、ＳＤＲＡＭデバイス１００ｇ-４が上位１６ビットをそれぞれ受け持っている。
【００７４】
このような構成によって、ＤＱＭ０−１１４ａがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｇ−１、１００ｇ−３によって、ＲＡＮＫ＝０のデータが出力（または入力）される。一方、ＤＱＭ１−１１４ｂがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｇ−２、１００ｇ−４によってＲＡＮＫ＝１のデータが出力（または入力）される。
パリティ/ＥＣＣを受け持つＳＤＲＡＭデバイス１００ｇ-５の接続構成は、実施例３のＳＤＲＡＭデバイス１００ｆ-５と同様であるので説明を省略する。
【００７５】
＜実施例５＞
本実施形態の実施例５に係るメモリ装置の回路構成図が図１２Ａ、図１２Ｂ、図１２Ｃ、図１２Ｄに示されている。図１２Ａ〜図１２Ｄに示す例は、２ランク構成であり、データビット幅が６４ビットの例である。また、パリティ／ＥＣＣは、８ビット以下である。また、１６ビット（ｘ１６）構成のＳＤＲＡＭデバイス１００ｈ−１、１００ｈ−２、１００ｈ−３、１００ｈ−４、１００ｈ−５、１００ｈ−６、１００ｈ−７、１００ｈ−８、１００ｈ−９を使用している。
【００７６】
要するに、実施例５は、実施例３の構成のデータ部分の回路を２倍にして、データビット幅を２倍の６４ビットにした構成である。すなわち、実施例５に係るＳＤＲＡＭデバイス１００ｈ−１、１００ｈ−２、１００ｈ−３、１００ｈ−４、１００ｈ−５の回路構成部分は、実施例３におけるＳＤＲＡＭデバイス１００ｆ−１、１００ｆ−２、１００ｆ−３、１００ｆ−４、１００ｆ−５と、同様の回路構成である。
【００７７】
実施例５においては、さらに、実施例３におけるＳＤＲＡＭデバイス１００ｆ−１、１００ｆ−２、１００ｆ−３、１００ｆ−４に係るデータ部分の回路構成と同様の回路構成であるＳＤＲＡＭデバイス１００ｈ−６、１００ｈ−７、１００ｈ−８、１００ｈ−９を備えている。これらＳＤＲＡＭデバイス１００ｈ−６、１００ｈ−７、１００ｈ−８、１００ｈ−９に対しても、同様に、ＤＱＭ０−１１４ａ及びＤＱＭ１−１１４ｂが印加されており、それぞれのＳＤＲＡＭデバイス１００ｈがＲＡＮＫ＝０、ＲＡＮＫ＝１のデータを出力（または入力）する。
【００７８】
実施例５は、このような構成によって、データビット幅を２倍の６４ビットにしたものであり、その動作は実施例１、実施例３と同様である。
また、パリティ／ＥＣＣを受け持つＳＤＲＡＭデバイス１００ｈ−５の接続構成は、実施例１のＳＤＲＡＭデバイス１００ｄ−３、実施例３のＳＤＲＡＭデバイス１００ｆ−５と同様であるので説明を省略する。
【００７９】
＜実施例６＞
本実施形態の実施例６に係るメモリ装置の回路構成図が図１３Ａ、図１３Ｂ、図１３Ｃ、図１３Ｄに示されている。図１３Ａ〜図１３Ｄに示す例は、２ランク構成であり、データビット幅が６４ビットの例である。また、パリティ／ＥＣＣは、８ビット以下である。また、１６ビット（ｘ１６）構成のＳＤＲＡＭデバイス１００ｉ−１、１００ｉ−２、１００ｉ−３、１００ｉ−４、１００ｉ−５を使用している。
【００８０】
要するに、実施例６は、実施例５に対して、実施例２（実施例４）の構成を応用したものである。すなわち、実施例５が単一のＳＤＲＡＭデバイスがＲＡＮＫ＝０とＲＡＮＫ＝１の双方を受け持っているのに対して、実施例６は（実施例２（実施例４）と同様に）、ＳＤＲＡＭデバイスをＲＡＮＫ＝０のデバイスと、ＲＡＮＫ＝１のデバイスとに分けたものである。このように、分けることによって、単にデバイスの数を減らすことによってランク数を減らすことも可能となり、柔軟性に富む回路構成が実現できる。
【００８１】
具体的には、１６ビット構成（ｘ１６）のＳＤＲＡＭデバイス１００ｉ−１、１００ｉ−３、１００ｉ−６、１００ｉ−８には、ＤＱＭＬとＤＱＭＨとの２種類のデータマスク信号端子が備えられている。両端子にともに、ＲＡＮＫ＝０を示すデータマスク信号であるＤＱＭ０−１１４ａが印加されており、ＲＡＮＫ＝０を受け持つ。
同様に、１６ビット構成（ｘ１６）のＳＤＲＡＭデバイス１００ｉ−２、１００ｉ−４、１００ｉ−７、１００ｉ−９には、ＤＱＭＬと、ＤＱＭＨの２種類のデータマスク信号端子が備えられている。両端子にともに、ＲＡＮＫ＝１を示すデータマスク信号であるＤＱＭ０−１１４ｂが印加されており、ＲＡＮＫ＝１を受け持つ。
【００８２】
このような構成によって、ＤＱＭ０−１１４ａがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｉ−１、１００ｉ−３、１００ｉ−６、１００ｉ−８によって、ＲＡＮＫ＝０のデータが出力（または入力）される。一方、ＤＱＭ１−１１４ｂがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｉ−２、１００ｉ−４、１００ｉ−７、１００ｉ−９によってＲＡＮＫ＝１のデータが出力（または入力）される。
【００８３】
パリティ／ＥＣＣを受け持つＳＤＲＡＭデバイス１００ｉ−５の接続構成は、実施例４のＳＤＲＡＭデバイス１００ｇ−５と同様であるので説明を省略する。
このような構成によれば、ＳＤＲＡＭデバイス１００ｉを９個用いて２ランク構成のマルチランクＳＤＲＡＭのメモリ装置を構成することができる。そして、そこから、４個のＳＤＲＡＭデバイス（１００ｉ−２・４・７・９）を外せば、容易に１ランクのメモリ装置を構成することができる。すなわち、本実施例６の構成を実現するプリント配線板と同一のプリント配線板を用いて、ＳＤＲＡＭデバイス１００の個数を減少させるだけで、２ランクから１ランクのメモリ装置を簡単に構成することができる。
【００８４】
＜実施例７＞
本実施形態の実施例７に係るメモリ装置の回路構成図が図１４Ａ、図１４Ｂ、図１４Ｃ、図１４Ｄ、図１４Ｅ、図１４Ｆ、図１４Ｇ、図１４Ｈに示されている。図１４Ａ〜図１４Ｈに示す例は、４ランク構成であり、データビット幅が６４ビットの例である。また、パリティ／ＥＣＣは、８ビット以下である。また、１６ビット（ｘ１６）構成のＳＤＲＡＭデバイス１００ｊ−１、１００ｊ−２、１００ｊ−３、１００ｊ−４、１００ｊ−５、１００ｊ−６、１００ｊ−７、１００ｊ−８、１００ｊ−９、１００ｊ−１０、１００ｊ−１１、１００ｊ−１２、１００ｊ−１３、１００ｊ−１４、１００ｊ−１５、１００ｊ−１６、１００ｊ−１７、１００ｊ−１８を使用している。
【００８５】
本実施例７は、実施例１〜６と異なり、ランク数＝４の構成である。基本的には、上述した実施例６（ランク数＝２）の構成をＲＡＮＫ＝４に拡張したものである。このような拡張をするために、４種のデータマスク信号ＤＱＭ０−１１４ａ、ＤＱＭ１-１１４ｂ、ＤＱＭ２-１１４ｃ、ＤＱＭ３-１１４ｄを用いており、それぞれが順番に、ＲＡＮＫ＝０、ＲＡＮＫ＝１、ＲＡＮＫ＝３、ＲＡＮＫ＝４に対応する。
【００８６】
具体的には、１６ビット構成（ｘ１６）のＳＤＲＡＭデバイス１００ｊ−１、１００ｊ−７、１００ｊ−１１、１００ｊ−１５には、ＤＱＭＬとＤＱＭＨとの２種類のデータマスク信号端子が備えられている。両端子にともに、ＲＡＮＫ＝０を示すデータマスク信号であるＤＱＭ０−１１４ａが印加されており、ＲＡＮＫ＝０を受け持つ。
同様に、１６ビット構成（ｘ１６）のＳＤＲＡＭデバイス１００ｊ−２、１００ｊ−８、１００ｊ−１２、１００ｊ−１６のＤＱＭＬと、ＤＱＭＨの２種類のデータマスク信号端子に、ＲＡＮＫ＝１を示すデータマスク信号であるＤＱＭ０−１１４ｂが印加されており、ＲＡＮＫ＝１を受け持つ。
【００８７】
同様に、１６ビット構成（ｘ１６）のＳＤＲＡＭデバイス１００ｊ−３、１００ｊ−９、１００ｊ−１３、１００ｊ−１７のＤＱＭＬとＤＱＭＨとの２種類のデータマスク信号端子に、ＲＡＮＫ＝２を示すデータマスク信号であるＤＱＭ０−１１４ｃが印加されており、ＲＡＮＫ＝２を受け持つ。
同様に、１６ビット構成（ｘ１６）のＳＤＲＡＭデバイス１００ｊ−４、１００ｊ−１０、１００ｊ−１４、１００ｊ−１８のＤＱＭＬとＤＱＭＨとの２種類のデータマスク信号端子に、ＲＡＮＫ＝２を示すデータマスク信号であるＤＱＭ０−１１４ｃが印加されており、ＲＡＮＫ＝２を受け持つ。
【００８８】
このような構成によって、ＤＱＭ０−１１４ａがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｊ−１、１００ｊ−７、１００ｊ−１１、１００ｊ−１５によって、ＲＡＮＫ＝０のデータが出力（または入力）される。一方、ＤＱＭ１−１１４ｂがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｊ−２、１００ｊ−８、１００ｊ−１２、１００ｊ−１６によってＲＡＮＫ＝１のデータが出力（または入力）される。
【００８９】
また、このような構成によって、ＤＱＭ０−１１４ｃがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｊ−３、１００ｊ−９、１００ｊ−１３、１００ｊ−１７によって、ＲＡＮＫ＝２のデータが出力（または入力）される。他方、ＤＱＭ１−１１４ｄがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｊ−４、１００ｊ−１０、１００ｊ−１４、１００ｊ−１８によってＲＡＮＫ＝３のデータが出力（または入力）される。
パリティ／ＥＣＣを受け持つＳＤＲＡＭデバイス１００ｊ−５、１００ｊ−６の接続構成は、実施例６のＳＤＲＡＭデバイス１００ｉ−５と同様であるが、２ランクの実施例１〜６と異なり、４ランク分必要となるため、ＳＤＲＡＭデバイス１００ｊ−５に加えて、ＳＤＲＡＭデバイス１００ｊ−６が備えられている点が、実施例１〜６とは異なる。
【００９０】
実施例６では、単一のＳＤＲＡＭデバイス１００ｉ−５がＲＡＮＫ＝０と、ＲＡＮＫ＝１とを受け持っている。これに対して、本実施例７では、ＳＤＲＡＭデバイス１００ｊ−５がＲＡＮＫ＝０と、ＲＡＮＫ＝１のパリティ／ＥＣＣとを受け持つために、データマスク信号であるＤＱＭ０−１１４ａ、ＤＱＭ１−１１４ｂが印加されている。さらに、実施例７では、ＳＤＲＡＭデバイス１００ｊ−６がＲＡＮＫ＝２と、ＲＡＮＫ＝３とを受け持つために、データマスク信号であるＤＱＭ２−１１４ｃ、ＤＱＭ３−１１４ｄが印加されている。
【００９１】
このような構成によれば、ＳＤＲＡＭデバイス１００ｊを１８個用いて４ランク構成のマルチランクＳＤＲＡＭのメモリ装置を構成することができる。そして、そこから、４個のＳＤＲＡＭデバイス（１００ｊ−４・１０・１４・１８）を外せば、容易に１ランク減らせる。すなわち、ＳＤＲＡＭデバイス１００ｊを１４個（１００ｊ−１・２・３・５・６・７・８・９・１１・１２・１３・１５・１６・１７）用いて、３ランク構成のメモリ装置を構成することができる。同様に、ＳＤＲＡＭデバイス１００ｊを９個（１００ｊ−１・２・５・７・８・１１・１２・１５・１６）用いて、２ランク構成のメモリ装置を構成することができる（実施例６と同様）。また、同様に、ＳＤＲＡＭデバイス１００ｊを５個（１００ｊ−１・５・７・１１・１５）用いて、１ランク構成のメモリ装置を構成することができることは、実施例６で述べたとおりである。
これまでの説明と同様に、本実施例７の構成を実現するプリント配線板と同一のプリント配線板を用いて、ＳＤＲＡＭデバイス１００ｊの個数を減少させるだけで、４ランクから１ランクのメモリ装置を簡単に構成することができる。
【００９２】
＜実施例８＞
本実施形態の実施例８に係るメモリ装置の回路構成図が図１５Ａ、図１５Ｂ、図１５Ｃに示されている。図１５Ａ〜図１５Ｃに示す例は、実施例２と同様に、２ランク構成であり、３個のＳＤＲＡＭデバイス２００ａ−１、２００ａ−２、２００ａ−３から構成される。ただし、実施例２と異なり、データビット幅が２倍の３２ビットとなり、また、パリティ／ＥＣＣも、２倍の１６ビット以下である。
要するに、本実施例８は、実施例２のビット幅を、データも、パリティ／ＥＣＣ（の上限）も２倍にしたメモリ装置である。本実施例８においては、ビット幅を２倍にするために、実施例２と異なり、倍の３２ビット（ｘ３２）のＳＤＲＡＭデバイス２００ａ−１、２００ａ−２、２００ａ−３を使用している。
【００９３】
また、図１５Ａ〜図１５Ｃに示すように、ＳＤＲＡＭデバイス２００ａ−１〜２００ａ−３は、ＤＱＭ０〜３の４種類のデータマスク信号端子を備えており、３２ビットのデータを８ビットごとにマスクすることができる。
本実施例８においては、ＳＤＲＡＭデバイス２００ａ−１には、端子ＤＱＭ０〜ＤＱＭ３のすべてに、ＲＡＮＫ＝０を示すデータマスク信号であるＤＱＭ０−１１４ａが印加されており、ＲＡＮＫ＝０のデータを受け持っている。
【００９４】
ＳＤＲＡＭデバイス２００ａ−２にも、ＤＱＭ０〜ＤＱＭ３の４種類の端子が備えられている。すべての端子に、ＲＡＮＫ＝１を示すデータマスク信号であるＤＱＭ１−１１４ｂが印加されており、ＳＤＲＡＭデバイス２００ａ−２は、ＲＡＮＫ＝１のデータを受け持っている。
また、パリティ／ＥＣＣを受け持つＳＤＲＡＭデバイス２００ａ−３の接続構成は、実施例２（図９）のＳＤＲＡＭデバイス２００ａ−３と同様であるが、ビット幅が１６ビットから３２ビットに増加した点が異なる。このＳＤＲＡＭデバイス２００ａ−３には、上記ＳＤＲＡＭデバイス２００ａ−１等と同様に、データマスク信号が印加される４種の端子ＤＱＭ０〜ＤＱＭ３がある。下位のＤＱＭ０〜ＤＱＭ１には、ＲＡＮＫ＝０を示すデータマスク信号であるＤＱＭ０−１１４ａが印加されており、下位の１６ビットが、ＲＡＮＫ＝０のパリティ/ＥＣＣのビットとなる。また、上位のＤＱＭ２〜ＤＱＭ３には、ＲＡＮＫ＝１を示すデータマスク信号であるＤＱＭ１−１１４ｂが印加されており、上位の１６ビットが、ＲＡＮＫ＝１のパリティ/ＥＣＣのビットとなる。
【００９５】
この実施例８は、ＳＤＲＡＭデバイス２００ａを３個用いて、２ランク構成のマルチランクＳＤＲＡＭのメモリ装置を構成することができる。この構成からＳＤＲＡＭデバイス２００ａ−２を除去すれば、それは明らかに、１ランクのＳＤＲＡＭのメモリ装置である。したがって、図１５Ａから図１５Ｃを実現する場合に作成したプリント配線板を用いて、２ランク構成のメモリ装置（ＳＤＲＡＭデバイス２００ａを３個使用）と、１ランク構成のメモリ装置（ＳＤＲＡＭデバイス２００ａを２個使用）とを、自由に構成することができる。言い換えれば、同一構成のプリント配線板を用いて、１ランク構成と、２ランク構成との双方に対応することが可能である。この点は、実施例２等と同様である。
【００９６】
＜実施例９＞
本実施形態の実施例９に係るメモリ装置の回路構成図が図１６Ａ、図１６Ｂ、図１６Ｃ、図１６Ｄに示されている。図１６Ａ〜図１６Ｄに示す例は、４ランク構成であり、データビット幅が３２ビットの例である。また、パリティ／ＥＣＣは、８ビット以下である。また、３２ビット（ｘ３２）構成のＳＤＲＡＭデバイス２００ｂ−１、２００ｂ−２、２００ｂ−３、２００ｂ−４、２００ｂ−５を使用している。
【００９７】
要するに、実施例９は、実施例８に対して、ランクを２から４に増やした構成である。ただし、パリティ／ＥＣＣは、ビット幅を１６ビット以下から８ビット以下に削減している。この結果、ランクが２から４に増えているが、実施例８と同様に、パリティ／ＥＣＣを受け持つＳＤＲＡＭデバイス２００ｂ−５は一個のままである。しかし、データに対応するＳＤＲＡＭデバイス２００ｂは、２００ｂ−１、２００ｂ−２、２００ｂ−３、２００ｂ−４の４個となり、実施例８に比べて２倍必要である。
【００９８】
要するに４ランク構成とするために、ＲＡＮＫごとに、対応するＳＤＲＡＭデバイス２００ｂは、２００ｂ−１、２００ｂ−２、２００ｂ−３、２００ｂ−４を設けて、それぞれ対応するデータマスク信号、ＤＱＭ０−１４４ａ、ＤＱＭ１−１４４ｂ、ＤＱＭ２−１４４ｃ、ＤＱＭ３−１４４ｄを、対応する各ＳＤＲＡＭデバイス２００ｂ−１、２００ｂ−２、２００ｂ−３、２００ｂ−４に接続したものである。
これによって、いずれかのランクが選択された場合には、その選択されたランクに対応するＳＤＲＡＭデバイス２００ｂのデータが出力（入力）される。
【００９９】
パリティ／ＥＣＣを受け持つＳＤＲＡＭデバイス２００ｂ−５には、４種のデータマスク信号であるＤＱＭ０〜ＤＡＭ３が、４種類の端子ＤＱＭ０〜ＤＱＭ３にそれぞれ印加されている。この結果、いずれかのデータマスク信号がネゲートされることによって、３２ビットのデータ幅のうち、いずれか８ビットデータがパリティ／ＥＣＣとして出力（入力）される。なお、ＳＤＲＡＭデバイス２００ｂは、３２ビット幅のデータ幅を有しており、その３２ビットのデータは、４個の８ビットごとに分けられている。そして、それぞれの８ビットについてのデータマスク信号が印加される端子が、４種類の端子ＤＱＭ０〜ＤＱＭ３である。したがって、いずれかのデータマスク信号がネゲートされれば、それに対応した８ビットのデータが、パリティ／ＥＣＣとして利用されうる。
【０１００】
また、このように、ＲＡＮＫごとに、ＳＤＲＡＭデバイス２００ｂを備えているのでＳＤＲＡＭデバイス２００ｂの個数を調整すれば、任意のランク数のメモリ装置を容易に構成することができる。すなわち、本実施例９では、ＳＤＲＡＭデバイス２００ｂを５個用いて４ランク構成のメモリ装置を構成したが、ＳＤＲＡＭデバイス２００ｂを４個（２００ｂ−１・２・３・５）用いれば３ランク構成のメモリ装置を構成でき、ＳＤＲＡＭデバイス２００ｂを３個（２００ｂ−１・２・５）用いれば２ランク構成のメモリ装置（実施例８と同様）を構成でき、ＳＤＲＡＭデバイス２００ｂを２個（２００ｂ−１・５）用いれば１ランク構成のメモリ装置（実施例８と同様）を容易に構成することができる。また、本実施例９を構成するのに用いたプリント配線板と同一のプリント配線板を用いて、１〜４ランクのメモリ装置を容易に構成することが可能である。
【０１０１】
＜実施例１０＞
本実施形態の実施例１０に係るメモリ装置の回路構成図が図１５Ａ、図１５Ｂ、図１５Ｃ、図１７Ａ、図１７Ｂに示されている。本実施例１０に示す例は、２ランク構成であり、データビット幅が６４ビットの例である。また、パリティ／ＥＣＣは、１６ビット以下である。また、３２ビット（ｘ３２）構成のＳＤＲＡＭデバイス２００ａ−１、２００ａ−２、２００ａ−３、２００ｃ−１、２００ｃ−２を使用している。
【０１０２】
要するに、本実施例１０は、実施例８に対して、データ部分のビット幅を２倍の６４ビットにしたものである。そのため、上述したように、図１５Ａ、図１５Ｂ、図１５Ｃの部分の回路構成は、実施例８と同様である。本実施例１０は、その実施例８の構成のデータ部分に関する回路構成である図１７Ａ、図１７Ｂに係る構成を追加して、ビット幅を６４ビット幅にしたメモリ装置である。なお、パリティ／ＥＣＣの構成は実施例８と同様であり、その説明を省略する。したがって、本実施例１０の動作は、実施例８と実質的に同様であり、メモリ装置全体の動作説明を省略する。
【０１０３】
このように、本実施例１０においては、ＳＤＲＡＭデバイス２００を５個用いて２ランク構成のメモリ装置を構成しているが、明らかに、ＳＤＲＡＭデバイス２００を３個（２００ａ−１・３と２００ｃ−１）用いれば１ランク構成のメモリ装置を構成することができる。したがって、図１５Ａ、図１５Ｂ、図１５Ｃ、図１７Ａ、図１７Ｂを実現する場合に作成したプリント配線板を用いて、２ランク構成のメモリ装置（ＳＤＲＡＭデバイス２００を５個使用）と、１ランク構成のメモリ装置（ＳＤＲＡＭデバイス２００を３個使用）とを、自由に構成することができる。言い換えれば、同一構成のプリント配線板を用いて、１ランク構成と、２ランク構成との双方に対応することが可能である。
【０１０４】
＜実施例１１＞
本実施形態の実施例１１に係るメモリ装置の回路構成図が図１６Ａ、図１６Ｂ、図１６Ｃ、図１６Ｄ、図１６Ｅ、図１８Ａ、図１８Ｂ、図１８Ｃ、図１８Ｄに示されている。本実施例１１に示す例は、４ランク構成であり、データビット幅が６４ビットの例である。
また、パリティ／ＥＣＣは、８ビット以下である。また、３２ビット（ｘ３２）構成のＳＤＲＡＭデバイス２００ｂ−１、２００ｂ−２、２００ｂ−３、２００ｂ−４、２００ｂ−５、２００ｄ−１、２００ｄ−２、２００ｄ−３、２００ｄ−４を使用している。
【０１０５】
要するに、本実施例１１は、実施例９に対して、データ部分のビット幅を２倍の６４ビットにしたものである。そのため、上述したように、図１６Ａ〜図１６Ｅの部分の回路構成は、実施例９と同様である。本実施例１１は、その実施例９の構成のデータ部分に関する回路構成である図１８Ａ〜図１８Ｄに係る構成を追加して、ビット幅を６４ビット幅にしたメモリ装置である。なお、パリティ／ＥＣＣの構成は実施例９と同様であり、その説明を省略する。したがって、本実施例１０の動作は、実施例９と実質的に同様であり、メモリ装置全体の動作説明を省略する。
【０１０６】
このように、本実施例９においては、ＳＤＲＡＭデバイス２００を９個用いて４ランク構成のメモリ装置を構成しているが、明らかに、ＳＤＲＡＭデバイス２００を７個（２００ｂ−１・２・３・５と２００ｄ−１・２・３）用いれば３ランク構成のメモリ装置を構成することができる。同様に、ＳＤＲＡＭデバイス２００を５個（２００ｂ−１・２・５と２００ｄ−１・２）用いれば２ランク構成のメモリ装置を構成でき、ＳＤＲＡＭデバイス２００を３個（２００ｂ−１・５と２００ｄ−１）用いれば１ランク構成のメモリ装置を容易に構成できる。また、本実施例１１を構成するのに用いたプリント配線板と同一のプリント配線板を用いて、１〜４ランクのメモリ装置を容易に構成することが可能である。
【０１０７】
＜効果＞
以上説明したように、本実施例によれば、ＣＳ＃（チップセレクト信号）の代わりに、ＤＱＭ（データマスク信号）を用いて、アクセス対象であるランクを選択している。この結果、データをマスクするか否かのみでデータ出力（入力）を制御しているので、より迅速にデータへアクセスすることができる。その結果、ＣＳ＃を用いる場合に比べて、ランク間の競合を回避するためのウェイトの挿入をより抑制できる場合もあり、性能面での不利益が生じる可能性を減らすことができる。
【０１０８】
また、例えば、下記のような構成の場合、パリティ/ＥＣＣ用のＳＤＲＡＭデバイスの個数をランク数よりも小さくすることができ、無駄の発生を抑制することができる。
（ｉ）１６ビット幅のＳＤＲＡＭデバイスを用いて、８ビット以下のパリティ/ＥＣＣを実現する場合。
（ｉｉ）３２ビット幅のＳＤＲＡＭデバイスを用いて、８ビット以下のパリティ/ＥＣＣを実現する場合。
（ｉｉｉ）３２ビット幅のＳＤＲＡＭデバイスを用いて、１６ビット以下のパリティ/ＥＣＣを実現する場合。
（ｉｖ）３ランク以上マルチランクメモリ装置を構成する場合であって、３２ビット幅のＳＤＲＡＭデバイスを用いて、２４ビット以下のパリティ/ＥＣＣを実現する場合。
【０１０９】
また、以上説明した構成のメモリ装置に対してＤＱＭ方式を適用することができるが、当該ＤＱＭ方式は、ＳＤＲＡＭコントローラによって実行されてもよいし、ＳＤＲＡＭコントローラを兼ねるＣＰＵによって実行されてもよい。
【０１１０】
＜特許文献との比較・検討＞
（１）上述した特許文献１においては、電子装置の内部バスよりも広いバス幅を有したメモリモジュールを使用することができる技術が開示されている。そのために、データを特定する信号の一部をデコードして、マスク信号を生成しつつ、データ入出力端子に対するデータ入出力をセグメントに対して並列に行技術が開示されている（請求項１等）。
しかしながら、本実施形態においては、ＳＤＲＡＭデバイスを直接の制御対象としており、メモリ容量を増やすこと、性能を改善すること、等を目的としている。これに対して、特許文献１記載の技術は、メモリモジュールを制御の対象としており、バス幅の狭い機器に、バス幅の広いメモリモジュールを使用することを目的とする点で、本実施形態の技術と大きく異なる。
【０１１１】
また、特許文献１においては、パリティやＥＣＣに関する記述は全くない。パリティ／ＥＣＣ付きのメモリモジュールに関して、特許文献１の技術を適用することは困難である。一般的なパリティ／ＥＣＣ付きのメモリモジュールのパリティ／ＥＣＣ用データマスク信号は、１本しかないのが通例である。したがって、特許文献１の技術に基づく限り、セグメントを選択することは困難である。そのため、特許文献１の手法は、パリティ／ＥＣＣが付いていないメモリモジュールにのみ適用することができると考えられる。
これに対して、本実施形態の技術によれば、上述したように、特許文献１が対応できないパリティ／ＥＣＣ付きのメモリモジュールとして具現化することができ、信頼性の高いメモリを実現可能である。
【０１１２】
さらに、本実施形態の技術によれば、ＣＳ＃（チップセレクト信号）による従来のマルチランク制御方式に比べてパリティ／ＥＣＣ付きＳＤＲＡＭデバイスの個数を減少させることができるとともに、メモリとしてのアクセス性能の向上を図ることが可能である。
【０１１３】
（２）上述した特許文献２に記載の技術は、ＤＱＭ信号（データマスク信号）を、アドレス線を使用してないタイミング（すなわち、ＣＳ＃がネゲートされているタイミング）で、そのアドレス線を使用してデータマスク信号を送ろうとする技術である。その結果、データマスク信号の信号線を減少させることができるとされている。したがって、本実施形態の技術とは、その目的も、採用する技術的原理も、顕著に相違する。
特許文献２のデータマスク信号は、バイトレーンのアクセス制御という一般的な用途で用いられており、本実施形態のようにランクの選択に使用されるものではない。
【０１１４】
（３）上述した特許文献３に記載の技術は、「ＣＰＵ＋ＳＤＲＡＭ」の構成を２組ＳＩＰに収容する場合に、ＳＤＲＡＭのインターフェースを一本化するための技術である。本実施形態の技術とは、その目的も、採用する技術的原理も、顕著に相違する。特許文献３のデータマスク信号は、バイトレーンのアクセス制御という一般的な用途で用いられており、本実施形態のようにランクの選択に使用されるものではない。
【０１１５】
以上、本発明の実施形態について詳細に説明したが、前述した実施形態は、本発明を実施するにあたっての具体例を示したに過ぎない。本発明の技術的範囲は、前記実施形態に限定されるものではない。本発明は、その趣旨を逸脱しない範囲において種々の変更が可能であり、それらも本発明の技術的範囲に含まれる。
【符号の説明】
【０１１６】
１０  ＣＰＵ
１２  ＳＤＲＡＭデバイス
１４  ＳＤＲＡＭコントローラ
１６  データ線
２０ａ、２０ｂ、２０ｃ、２０ｄ  ＳＤＲＡＭデバイス
２２ａ  ＤＱＭ０
２２ｂ  ＤＱＭ１
１００ａ、１００ｂ、１００ｃ、１００ｄ、１００ｅ、１００ｆ、１００ｇ、１００ｈ、１００ｉ、１００ｊ  ＳＤＲＡＭデバイス
１０４  衝突
１０６  プロセッサーアドレス
１０８  アクティブコマンドアドレス
１１０  リードライトコマンドアドレス
１１２  ランクビット
１１４ａ、ＤＱＭ０
１１４ｂ  ＤＱＭ１
１１４ｃ  ＤＱＭ２
１１４ｄ  ＤＱＭ３
２００ａ、２００ｂ、２００ｃ、２００ｄ  ＳＤＲＡＭデバイス
【図１】
2018160104.tif 000003
【図２】
2018160104.tif 000004
【図３】
2018160104.tif 000005
【図４】
2018160104.tif 000006
【図５】
2018160104.tif 000007
【図６】
2018160104.tif 000008
【図７】
2018160104.tif 000009
【図８】
2018160104.tif 000010
【図９】
2018160104.tif 000011
【図１０Ａ】
2018160104.tif 000012
【図１０Ｂ】
2018160104.tif 000013
【図１１Ａ】
2018160104.tif 000014
【図１１Ｂ】
2018160104.tif 000015
【図１２Ａ】
2018160104.tif 000016
【図１２Ｂ】
2018160104.tif 000017
【図１２Ｃ】
2018160104.tif 000018
【図１２Ｄ】
2018160104.tif 000019
【図１３Ａ】
2018160104.tif 000020
【図１３Ｂ】
2018160104.tif 000021
【図１３Ｃ】
2018160104.tif 000022
【図１３Ｄ】
2018160104.tif 000023
【図１４Ａ】
2018160104.tif 000024
【図１４Ｂ】
2018160104.tif 000025
【図１４Ｃ】
2018160104.tif 000026
【図１４Ｄ】
2018160104.tif 000027
【図１４Ｅ】
2018160104.tif 000028
【図１４Ｆ】
2018160104.tif 000029
【図１４Ｇ】
2018160104.tif 000030
【図１４Ｈ】
2018160104.tif 000031
【図１５Ａ】
2018160104.tif 000032
【図１５Ｂ】
2018160104.tif 000033
【図１５Ｃ】
2018160104.tif 000034
【図１６Ａ】
2018160104.tif 000035
【図１６Ｂ】
2018160104.tif 000036
【図１６Ｃ】
2018160104.tif 000037
【図１６Ｄ】
2018160104.tif 000038
【図１６Ｅ】
2018160104.tif 000039
【図１７Ａ】
2018160104.tif 000040
【図１７Ｂ】
2018160104.tif 000041
【図１８Ａ】
2018160104.tif 000042
【図１８Ｂ】
2018160104.tif 000043
【図１８Ｃ】
2018160104.tif 000044
【図１８Ｄ】
2018160104.tif 000045
【図１９Ａ】
2018160104.tif 000046
【図１９Ｂ】
2018160104.tif 000047
【図１９Ｃ】
2018160104.tif 000048
【図２０】
2018160104.tif 000049
【図２１】
2018160104.tif 000050
【手続補正書】
【提出日】平成30年2月5日(2018.2.5)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチランク（Multi Rank）のＳＤＲＡＭ（Synchronous Dynamic RAM）の制御方法、及びＳＤＲＡＭコントローラに関する。本発明は、特にデータだけでなく、パリティ（Parity）やＥＣＣ（Error Correction Code）を含めたランクの制御を行うことができる制御方法、及びＳＤＲＡＭコントローラに関する。
【背景技術】
【０００２】
大容量のＳＤＲＡＭが必要な場合、いわゆるマルチランク構成が採用される場合がある。マルチランク構成とは、ＳＤＲＡＭのデータのバス線１本当たりに複数のＳＤＲＡＭデバイスを接続する構成を言う。なお、ここでいう「ＳＤＲＡＭ」は、典型的には、狭義のＳＤＲ（Single Data Rate）のＳＤＲＡＭである。
【０００３】
図１９Ａには、従来のシングルランク（Single Rank、１ランク）のメモリ構成例と、デュアルランク（Dual Rank、２ランク）とのメモリ構成例の説明図が示されている。同図のＳｉｎｇｌｅ  Ｒａｎｋには、シングルランクのメモリにおいては、ＣＰＵ１０からの各データ線１６には、それぞれデータ線１６の１本当たり１個のＳＤＲＡＭデバイス１２が接続している様子が示されている。すなわち、１本のデータ線１６には、ＣＰＵ１０と、ＳＤＲＡＭコントローラ１４と、１個のＳＤＲＡＭデバイス１２とが接続している。
【０００４】
また、同図のＤｕａｌ  Ｒａｎｋには、デュアルランクのメモリにおいては、ＣＰＵ１０からの各データ線１６には、それぞれデータ線１６の１本当たり２個のＳＤＲＡＭデバイス１２が接続している様子が示されている。すなわち、１本のデータ線１６には、ＣＰＵ１０と、ＳＤＲＡＭコントローラ１４と、２個のＳＤＲＡＭデバイス１２とが接続している。
【０００５】
前述のとおり、図１９Ａには、ＣＰＵ１０−ＳＤＲＡＭ１２−ＳＤＲＡＭコントローラ１４との接続の様子が示されている。なお、ＣＰＵ１０がＳＤＲＡＭコントローラ１４を兼ねる形態も考えられ、その様子が図１９Ｂに示されている。また、ＣＰＵ１０のデータバスとＳＤＲＡＭコントローラ１４のデータバスとが分離している形態も考えられ、その様子が図１９Ｃに示されている。
【０００６】
従来、ＳＤＲＡＭのマルチランク構成を実現するには、ランク毎にＣＳ＃（チップセレクト信号）を分けて、アクセスするランクのＣＳ＃のみをアサートすることが一般的である。このようなＣＳ＃を用いてランクを制御する場合の回路構成図が図２０に示されている。図２０で示す例は、デュアルランクの例であり、第１ランクのＳＤＲＡＭデバイス２０ａと、第２ランクのＳＤＲＡＭデバイス２０ｂとが備えられている。そして、データ線は、両ＳＤＲＡＭデバイス２０ａ、２０ｂのデータ線（Ｄ０〜Ｄ１５）に共に接続されている。ランクの選択は、ＣＳ０＃２２ａと、ＣＳ１＃２２ｂのいずれかのチップセレクト信号をアサートすることによって、第１ランク、第２ランクのいずれかを選択するように構成している。このＣＳ０＃２２ａと、ＣＳ１＃２２ｂは、例えば、アドレスの上位ビットに応じて排他的にアサートされる。
【０００７】
また、高信頼性が要求される用途では、データにパリティやＥＣＣを付加することが多い。例えば、６４ビットのデータに８ビットのパリティを付加するような構成が利用されている。１６ビット幅のＳＤＲＡＭデバイスを用いて、このような８ビットのパリティやＥＣＣを実現する場合には、パリティ／ＥＣＣ用のＳＤＲＡＭデバイスの１６ビット中、８ビットがパリティやＥＣＣに使用され、残りの８ビットは未使用となる。
【０００８】
このようなＣＳ＃を用いてランクを制御する場合の、パリティ／ＥＣＣ用のＳＤＲＡＭデバイスの回路構成図が図２１に示されている。図２１で示す例は、デュアルランク（Dual Rank、２ランク）の例であり、第１ランクのパリティ用のＳＤＲＡＭデバイス２０ｃと、第２ランクのパリティ用のＳＤＲＡＭデバイス２０ｄとが備えられている。そして、データ線中の８ビット（パリティ）は、両ＳＤＲＡＭデバイス２０ｃ、２０ｄのデータ線（ＤＰ０〜ＤＰ７）に共に接続されている。ランクの選択は、ＣＳ０＃２２ａと、ＣＳ１＃２２ｂのいずれかのチップセレクト信号をアサートすることによって、第１ランク、第２ランクのいずれかを選択するように構成している。このＣＳ０＃２２ａと、ＣＳ１＃２２ｂは、図２０と同様に、例えばアドレスの上位ビットに応じて排他的にアサートされる。なお、図２１に示すように、各ＳＤＲＡＭデバイス２０ｃ、２０ｄの下位８ビットのみがパリティとして用いられ、上位８ビットは未使用であり、ＶＤＤにプルアップ（Pull Up）されている。ここでは、パリティとして用いる例を説明したが、ＥＣＣも同様である。
【０００９】
マルチランク構成の場合には、この８ビットが未使用のままのＳＤＲＡＭデバイス２０ｃ、２０ｄも、ランク数分必要となってしまうため、無駄が多いという課題があった。
【００１０】
また、データの場合でもパリティの場合でも、あるランクにアクセスした直後に、他のランクにアクセスしようとすると、ランク間の競合を回避するために、所定のウェイトの挿入が必要な場合もある。そのため、ランクが１の場合と比較して、性能面で不利になる可能性があるという課題がある。
【００１１】
＜先行特許文献＞
例えば、後述する特許文献１においては、メモリモジュール１の記憶手段２（６４ビット幅のデータ入出力端子を有している）は、マスク信号（ＤＱＭ０〜ＤＱＭ７）に対応した各々８ビット幅のセグメントに区分けされたデータ入出力ＤＱ０〜ＤＱ７、ＤＱ８〜ＤＱ１５、・・・を備えていることが示されている（特許文献１の図１、段落〔００１２〕、〔００１３〕）。また、アドレスの下位３ビットからマスク信号（ＤＱＭ０〜ＤＱＭ７）が生成されている（〔００１７〕、図２）。
【００１２】
また、特許文献２においては、データ入出力回路２０は、メモリセルＭＣへの書き込みデータ及び読み出しデータを、データマスク信号ＢＤＭ０-７の論理に応じてマスクしている（特許文献２の図１、段落〔００１８〕、〔００２７〕）。ここで、メモリセルＭＣは、ＳＤＲＡＭのインターフェースを有する疑似ＳＲＡＭである（段落〔０００９〕）。
すなわち、ＳＤＲＡＭのアクセスしようとするバイトに対するＤＱＭ信号のみをネゲートして、データのリード・ライトを行う動作が開示されている。
【００１３】
また、特許文献３においては、リード時に下位データマスク信号を使用することが開示されている（特許文献３の段落〔００４６〕）。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００８−２９３４１３号公報
【特許文献２】特開２００８−０２１３６４号公報
【特許文献３】特開２００８−２７６３４３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
従来のマルチランク技術においては、上述したように、ＣＳ＃（チップセレクト信号）を用いてランクを選択しているので、ランク間の競合を回避するためにウェイトの挿入が必要な場合もあり、性能面で不利が生じている。また、パリティ／ＥＣＣのビット幅がＳＤＲＡＭデバイスのビット幅より小さい場合には、未使用のビットが生じてしまい、無駄が生じてしまう場合もある。
【００１６】
本発明は、かかる課題に鑑みなされたものであり、マルチランクＳＤＲＡＭを構成する場合でも、性能の低下を抑制できるマルチランクＳＤＲＡＭ制御方法を提供することを目的とする。また、同様に、マルチランクＳＤＲＡＭを構成する場合でも、無駄な未使用ビットを削減することができるマルチランクＳＤＲＡＭ制御方法を提供することを目的とする。本発明は、前述のマルチランクＳＤＲＡＭ制御方法を実行するＳＤＲＡＭコントローラを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明は、上記課題を解決するために、アクセスするランクの選択をＣＳ＃（チップセレクト信号）ではなく、ＤＱＭ（データマスク信号）で行うことを原理とする。すなわち、ランクごとにＤＱＭを分け、アクセスするランクのＤＱＭのみをネゲートする。
ＤＱＭは、バイトレーン単位でリードやライトのデータをマスクすることを可能とする信号である。メモリがアイドル状態の場合には、アサート（データがマスクされている状態）されている。
なお、ＤＤＲ（Double Data Rate）のＳＤＲＡＭの場合には、このＤＱＭに相当する信号は、ＤＭという呼び名で呼ばれ、ライトのみをマスクすることができる信号である。本発明の対象は、典型的には、ＳＤＲ（Single Data Rate）のＳＤＲＡＭである。
【００１８】
このような解決の原理を説明する図が、図１、図２に示されている。
図１には、データの観点からデュアルランク（Dual Rank、２ランク）のＳＤＲＡＭを構成した場合の例が示されている。この図には、ＲＡＮＫ０のＳＤＡＲＭデバイス１００ａと、ＲＡＮＫ１にＳＤＡＲＭデバイス１００ｂとが、そのデータ線が共通に接続され、２ランク構成のメモリを構成した例が示されている。
ＳＤＡＲＭデバイス１００ａ、１００ｂは、１６ビット（ｘ１６）のメモリであり、上位８ビットに対するデータマスク信号端子であるＤＱＭＨと、下位８ビットに対するデータマスク信号端子であるＤＱＭＬとが備えられている。
【００１９】
図１の例では、ＲＡＮＫ０のＳＤＲＡＭデバイス１００ａのＤＱＭＬ及びＤＱＭＨには、ＤＱＭ０−１１４ａが接続され、ＲＡＮＫ０が選択される場合には、ＤＱＭ０−１１４ａがネゲートされ、ＤＱＭＨ、ＤＱＭＬが共にネゲートされ、ＳＤＲＡＭデバイス１００ａのデータ線がアクティブとなり、ＲＡＮＫ０に対するアクセスが行われる。
ＲＡＮＫ１のＳＤＲＡＭデバイス１００ｂのＤＱＭＬ及びＤＱＭＨには、ＤＱＭ１−１１４ｂが接続され、ＲＡＮＫ１が選択される場合には、ＤＱＭ１−１１４ｂがネゲートされ、ＤＱＭＨ、ＤＱＭＬが共にネゲートされ、ＳＤＲＡＭデバイス１００ｂのデータ線がアクティブとなり、ＲＡＮＫ１に対するアクセスが行われる。
なお、この場合、ＣＳ＃は全てアサートされ、両ＳＤＲＡＭデバイス１００ａ、１００ｂはともに動作状態である。
【００２０】
図２には、パリティ／ＥＣＣの観点から２ランクのＳＤＲＡＭを構成した場合の例が示されている。この図には、単一のＳＤＡＲＭデバイス１００ｃが示され、その上位バイトと、下位バイトとで、２ランク構成のパリティ／ＥＣＣ用のメモリを構成した例が示されている。なお、パリティやＥＣＣは８ビットであることを前提としている。
ＳＤＡＲＭデバイス１００ｃは、１６ビット（ｘ１６）のメモリであり、上位８ビットに対するデータマスク信号端子であるＤＱＭＨと、下位８ビットに対するデータマスク信号端子であるＤＱＭＬとが備えられている。
【００２１】
図２の例では、ＳＤＲＡＭデバイス１００ｃのＤＱＭＬに、ＤＱＭ０−１１４ａが接続され、ＲＡＮＫ０が選択される場合には、ＳＤＲＡＭデバイス１００ｃのＤＱＭ０−１１４ａがネゲートされ、ＤＱＭＬがネゲートされる。その結果、ＳＤＲＡＭデバイス１００ｃの下位８ビットがアクティブとなり、ＲＡＮＫ０のパリティ／ＥＣＣに対するアクセスが行われる。すなわち、ＳＤＲＡＭデバイス１００ｃの下位８ビットがＲＡＮＫ０のパリティ／ＥＣＣとなる。
【００２２】
また、ＳＤＲＡＭデバイス１００ｃのＤＱＭＨに、ＤＱＭ１−１１４ｂが接続され、ＲＡＮＫ１が選択される場合には、ＳＤＲＡＭデバイス１００ｃのＤＱＭ１−１１４ｂがネゲートされ、ＤＱＭＨがネゲートされる。その結果、ＳＤＲＡＭデバイス１００ｃの上位８ビットがアクティブとなり、ＲＡＮＫ１のパリティ／ＥＣＣに対するアクセスが行われる。すなわち、ＳＤＲＡＭデバイス１００ｃの上位８ビットがＲＡＮＫ１のパリティ／ＥＣＣとなる。
【００２３】
本願発明の原理を、タイムチャートを用いて説明する。図３には、従来のＣＳ＃を用いた場合のマルチランクＳＤＲＡＭに対するアクセス動作の様子を示すタイムチャートが示されている。縦軸には種々の信号種別が示されている。上から、順に、
Ｒａｎｋ０  Ｃｏｍｍａｎｄ：ＲＡＮＫ０に対するコマンド
Ｒａｎｋ１  Ｃｏｍｍａｎｄ：ＲＡＮＫ１に対するコマンド
ＤＱＭ                    ：ＲＡＮＫ０とＲＡＮＫ１に共通のデータマスク信号
Ｒａｎｋ０  Ｄａｔａ      ：ＲＡＮＫ０のデータ
Ｒａｎｋ１  Ｄａｔａ      ：ＲＡＮＫ１のデータ
を表す。図３の横軸は時間であり、周期Ｐ１からｐ１０に向かって時間が経過していくものとする。図３は、シングルリード直後の別ランクのリードの様子を示すタイムチャートであり、ＳＤＲＡＭはＣＡＳレイテンシ＝２、バースト長＝４を前提としている。
【００２４】
図３において、まず周期Ｐ１においては、ＤＱＭはアサートされた状態であり、その結果、いずれのＲＡＮＫのデータも有効な状態ではない。
周期Ｐ２において、ＲＡＮＫ０に対してＲＥＡＤコマンド（ＲＥＡＤ  ａ）が発行される。同周期Ｐ２において、ＤＱＭがネゲートされ、データに対するアクセスが可能となる。ここでは、ＣＡＳレンテンシ＝２を前提としており、周期Ｐ４において、ＲＡＮＫ０側のＳＤＲＡＭはデータＤａｔａ  ａ０をデータバス上に出力する。
周期Ｐ３において、ＤＱＭがアサートされる。このため、周期Ｐ５においてＲＡＮＫ０側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態となる。
周期Ｐ４において、ＤＱＭがアサートされ続ける。このため、周期Ｐ６においてＲＡＮＫ０側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態を維持する。
周期Ｐ５において、ＤＱＭがネゲートされるので、周期Ｐ７においてＲＡＮＫ０側のＳＤＲＡＭはデータＤａｔａ  ａ３をデータバス上に出力する。ＳＤＲＡＭのバースト長＝４を前提としているので、ＲＡＮＫ０のＲＥＡＤサイクル（ＲＥＡＤ  ａ）は周期Ｐ７で完了する。
【００２５】
同じく周期Ｐ５において、ＲＡＮＫ１に対して新たなＲＥＡＤコマンド（ＲＥＡＤ  ｂ）が発行される。ＣＡＳレンテンシ＝２を前提としているので、周期Ｐ７において、ＲＡＮＫ１側のＳＤＲＡＭはデータＤａｔａ  ｂ０をデータバス上に出力する。
周期Ｐ６において、ＤＱＭがネゲートされ続ける。このため、周期Ｐ８においてＲＡＮＫ１側のＳＤＲＡＭはデータＤａｔａ  ｂ１をデータバス上に出力する。
【００２６】
周期Ｐ７において、前述のとおり、ＲＡＮＫ０側のＳＤＲＡＭがデータＤａｔａ  ａ３をデータバス上に出力し、同時にＲＡＮＫ１側のＳＤＲＡＭがデータＤａｔａ  ｂ０をデータバス上に出力するので、データバス上で衝突１０４が発生してしまう。
同じく周期Ｐ７において、ＤＱＭがネゲートされ続ける。このため、周期Ｐ９においてＲＡＮＫ１側のＳＤＲＡＭはデータＤａｔａ  ｂ２をデータバス上に出力する。
周期Ｐ８においても、ＤＱＭはネゲートされ続ける。このため、周期Ｐ１０においてＲＡＮＫ１側のＳＤＲＡＭはデータＤａｔａ  ｂ４をデータバス上に出力する。ＳＤＲＡＭのバースト長＝４を前提としているので、ＲＡＮＫ１のＲＥＡＤサイクル（ＲＥＡＤ  ｂ）は周期Ｐ１０で完了する。一方、ＲＡＮＫ０側のＳＤＲＡＭは周期Ｐ７でリードサイクルが完了しているので、周期Ｐ８以降はデータを出力せず、Ｈｉ-Ｚ状態となる。
【００２７】
以上のような動作となるので、ＲＡＮＫ０側のコマンドと、ＲＡＮＫ１側のコマンドとが連続して発行される場合には、図３に示すように衝突１０４が発生してしまう。衝突を回避するためにはランクをまたぐコマンド間に一定の時間間隔が必要であり、例えば、ウェイトを挿入する等の工夫が必要である。その結果、メモリアクセスに望ましくない遅延が生じ、性能面で不利な結果がもたらされる。図３に示す衝突１０４を回避するには、ＲＡＮＫ１のＲＥＡＤをさらに、２周期遅らせる必要がある。
【００２８】
次に、本発明で提案するＤＱＭ方式の動作を説明する。図４には、このＤＱＭ方式を用いた場合のマルチランクＳＤＲＡＭに対するアクセス動作の様子を示すタイムチャートが示されている。縦軸には種々の信号種別が示されている。上から、順に、
Ｃｏｍｍａｎｄ            ：ＲＡＮＫ０とＲＡＮＫ１に共通のコマンド
Ｒａｎｋ０  ＤＱＭ        ：ＲＡＮＫ０に対するデータマスク信号
Ｒａｎｋ１  ＤＱＭ        ：ＲＡＮＫ１に対するデータマスク信号
Ｒａｎｋ０  Ｄａｔａ      ：ＲＡＮＫ０のデータ
Ｒａｎｋ１  Ｄａｔａ      ：ＲＡＮＫ１のデータ
を表す。図４の横軸は、図３と同様に時間であり、周期Ｐ１からｐ１０に向かって時間が経過していくものとする。図４も、シングルリード直後の別ランクのリードの様子を示すタイムチャートであり、ＣＡＳレイテンシ＝２を前提としている。
【００２９】
図４において、まず周期Ｐ１においては、ＲＡＮＫ０、ＲＡＮＫ１のＤＱＭは共にアサートされた状態であり、その結果、いずれのランクのデータも有効な状態ではない。
周期Ｐ２において、両ランクに対してＲＥＡＤコマンド（ＲＥＡＤ  ａ）が発行されるとともに、ＲＡＮＫ０側のＤＱＭがネゲートされる。ここでは、ＣＡＳレンテンシ＝２を前提としており、周期Ｐ４において、ＲＡＮＫ０側のＳＤＲＡＭはデータＤａｔａ  ａ０をデータバス上に出力する。周期Ｐ２においてＲＡＮＫ１側のＤＱＭがアサートされているので、周期Ｐ４においてＲＡＮＫ１側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態を維持する。
周期Ｐ３において、ＲＡＮＫ０側のＤＱＭがアサートされる。このため周期Ｐ５においてＲＡＮＫ０側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態となる。
同じく周期Ｐ３において、ＲＡＮＫ１側のＤＱＭがアサートされ続ける。このため周期Ｐ５においてＲＡＮＫ１側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態を維持する。
【００３０】
周期Ｐ４において、両ランクのＤＱＭがアサートされ続ける。このため周期Ｐ６において両ランクのＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態を維持する。
周期Ｐ５において、両ランクに対してＲＥＡＤコマンド（ＲＥＡＤ  ｂ）が発行されるとともに、ＲＡＮＫ１側のＤＱＭがネゲートされる。先行するＲＥＡＤサイクル（ＲＥＡＤ  ａ）が未完了だが、ＳＤＲＡＭは後発のＲＥＡＤコマンド（ＲＥＡＤ  ｂ）を優先する。ＣＡＳレンテンシ＝２を前提としているので、周期Ｐ７において、ＲＡＮＫ１側のＳＤＲＡＭはデータＤａｔａ  ｂ０をデータバス上に出力する。一方、周期Ｐ５においてＲＡＮＫ０側のＤＱＭはアサートされ続けているので、周期Ｐ７においてＲＡＮＫ０側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態を維持する。
【００３１】
周期Ｐ６において、ＲＡＮＫ０側のＤＱＭがアサートされ続けているので、周期Ｐ８においてＲＡＮＫ０側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態を維持する。
同じく周期Ｐ６において、ＲＡＮＫ１側のＤＱＭがネゲートされ続けているので、周期Ｐ８においてＲＡＮＫ１側のＳＤＲＡＭはデータＤａｔａ  ｂ１をデータバス上に出力する。
周期Ｐ７において、前述のとおり、ＲＡＮＫ１側のＳＤＲＡＭはデータＤａｔａ  ｂ０をデータバス上に出力するが、ＲＡＮＫ０側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態を維持するので、データバス上で衝突は起こらない。
同じく周期Ｐ７において、ＲＡＮＫ０側のＤＱＭはアサートされ続ける。このため、周期Ｐ９においてＲＡＮＫ０側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態を維持する。
同じく周期Ｐ７において、ＲＡＮＫ１側のＤＱＭはネゲートされ続ける。このため、周期Ｐ９においてＲＡＮＫ１側のＳＤＲＡＭはデータＤａｔａ  ｂ２をデータバス上に出力する。
【００３２】
周期Ｐ８において、ＲＡＮＫ０側のＤＱＭはアサートされ続ける。その結果、周期Ｐ１０においてＲＡＮＫ０側のＳＤＲＡＭはデータを出力せず、Ｈｉ-Ｚ状態を維持する。
同じく周期Ｐ８において、ＲＡＮＫ１側のＤＱＭはネゲートされ続ける。このため、周期Ｐ１０においてＲＡＮＫ１側のＳＤＲＡＭはデータＤａｔａ  ｂ３をデータバス上に出力する。
ＳＤＲＡＭのバースト長＝４を前提としているので、両ランクのＲＥＡＤサイクル（ＲＥＡＤ  ｂ）は周期Ｐ１０で完了する。
以上のような動作となるので、ＲＡＮＫ０側のコマンドと、ＲＡＮＫ１側のコマンドとが連続して発行される場合でも、その間の時間間隔をＣＳ＃方式に比べて短くすることができ、ＣＳ＃方式に比べて性能の改善が図られる。
【００３３】
＜ランクの選択＞
以上、本発明の原理を、図１、図２、図３、図４に基づき説明した。
ランクの選択は、アドレスからランクを求めることがよく、どのビット（群）がランクを表してもよい。原則として自由にアドレスとランクの関係を規定することができる。ただし、例えば、下記のようなアドレスとランクとの関係を規定してもよい。
【００３４】
ランク数が２の累乗の場合には、アドレスの下位ビットでランクの選択を行ってもよい。例えば、最大バースト長でのアクセスサイズを２ｍバイトとすると、２ｒランク構成では、Ｎビットアドレス［Ｎ−１：０］中のビット［ｍ＋ｒ−１：ｍ］でランクを選択することができる。ここで、ｍ、ｒは非負整数、Ｎは自然数である。
例１：ｍ＝５、ｒ＝１、Ｎ＝３２の場合には、最大バースト長アクセスサイズが、３２バイト（＝２５）となり、２（＝２１）ランク構成で、３２ビットアドレス［３１：０］中のビット［５］がランクを指定することになる。
【００３５】
例２：ｍ＝５、ｒ＝２、Ｎ＝３２の場合には、４ランク構成で、３２ビットアドレス［３１：０］中のビット［６：５］がランクを指定することになる。
例３：ｍ＝５、ｒ＝４、Ｎ＝３２の場合には、８ランク構成で、３２ビットアドレス［３１：０］中のビット［７：５］がランクを指定することになる。
すなわち、ここでいう「アドレスの下位」とは、最大バーストアクセスサイズを示すビットを除いて下位のビットという意味である。
なお、ＳＤＲＡＭの最大バースト長は、ＣＰＵのキャッシュラインサイズと整合させるのが合理的であり、通常、最大バーストアクセスサイズは３２、６４、１２８バイト程度が採用される。
【００３６】
＜カラムアドレスの位置＞
また、ランクの一つ上（直近の上位）のビット群をカラムアドレスとすることができる。サポートする最小のカラムアドレスのビット数をｋビットとする。ここで、ｋは整数である。すると、上述の通り、Ｎビットアドレス［Ｎ−１：０］中のビット［ｍ＋ｒ−１：ｍ］でランクを選択するとともに、その上位である、Ｎビットアドレス［Ｎ−１：０］中のビット［ｍ＋ｒ＋ｋ−１：ｍ＋ｒ］がカラムアドレスとなる。ｒの値で場合分けすれば、下記のとおりである。
【００３７】
例４：２ランク構成（ｒ＝１）の場合には、Ｎビットアドレス［Ｎ−１：０］中のビット［ｍ＋ｋ：ｍ＋１］がカラムアドレスとなる。
例５：４ランク構成（ｒ＝２）の場合には、Ｎビットアドレス［Ｎ−１：０］中のビット［ｍ＋ｋ＋１：ｍ＋２］がカラムアドレスとなる。
例６：８ランク構成（ｒ＝３）の場合には、Ｎビットアドレス［Ｎ−１：０］中のビット［ｍ＋ｋ＋２：ｍ＋３］がカラムアドレスとなる。
なお、これらの構成を採用する場合には、バンクアドレスと、ロウアドレスとは、カラムアドレスよりも上位のビット群とすることができる。
【００３８】
このようなアドレスの割り当てを行う場合には、マルチランクＳＤＲＡＭでメモリを構成した場合の性能の改善を図ることができる。具体的に言えば、高速ページモードにおけるページサイズの拡大を図ることができる。つまり、ページサイズをランク数倍にすることができる。ＳＤＲＡＭにおいては、同一のロウアドレスに高速でアクセスすることができる。その場合の同一のロウアドレスとなるアドレス範囲を拡大したことと同様の効果が得られるという意味である。
【００３９】
＜アドレスの割り当て＞
具体的なアドレスの割り当ての例を３例示す。
図５は、シングルランクの場合のアドレスの関係を説明する説明図である。図５は、データバス幅が６４ビットであり、バースト長が４、個々のＳＤＲＡＭデバイスが容量１２８Ｍｂｉｔ以上のデバイスである場合の例である。
同図において、プロセッサーアドレス１０６は、３２ビットからなるアドレスである。その下位１２ビットがページサイズを表し、４ＫＢである。
【００４０】
アクティブコマンドアドレス１０８は、アクティブコマンドで示されるアドレスであり、１５ビットである。その下位１２ビットは、下位のロウアドレスであり、プロセッサーアドレス１０６の［２３：１２］である。アクティブコマンドアドレス１０８の上位２ビットは、バンクアドレスであり、プロセッサーアドレス１０６の［２５：２４］である。アクティブコマンドアドレス１０８の残りの１ビット［１２］は、ロウアドレスの最上位ビットであり、プロセッサーアドレス１０６の［２６］である。
【００４１】
リードライトコマンドアドレス１１０は、ＲＥＡＤコマンドまたはＷＲＩＴＥコマンドで示されるアドレスであり、１５ビットである。その下位１０ビットは、プロセッサーアドレス１０６の［１１：３］であり、その上位の１ビット［１０］は、ＡＰ（Auto Precharge）である。リードライトコマンドアドレス１１０の上位２ビットは、バンクアドレスであり、アクティブコマンドアドレス１０８と同様に、プロセッサーアドレス１０６の［２５：２４］である。リードライトコマンドアドレス１１０の残りの２ビット［１２：１１］は、カラムアドレスであり、プロセッサーアドレス１０６の［２９：２８］である。
【００４２】
図６は、デュアルランクの場合のアドレスの関係を説明する説明図である。図６も、データバス幅が６４ビットであり、バースト長が４、個々のＳＤＲＡＭデバイスが容量１２８Ｍｂｉｔ以上のデバイスである場合の例である。同図において、プロセッサーアドレス１０６は、３２ビットからなるアドレスである。その下位１３ビットがページサイズを表し、８ＫＢである。
【００４３】
アクティブコマンドアドレス１０８は、アクティブコマンドで示されるアドレスであり、１５ビットである。その下位１２ビットは、下位のロウアドレスであり、プロセッサーアドレス１０６の［２４：１３］である。アクティブコマンドアドレス１０８の上位２ビットは、バンクアドレスであり、プロセッサーアドレス１０６の［２６：２５］である。アクティブコマンドアドレス１０８の残りの１ビット［１２］は、ロウアドレスの最上位ビットであり、プロセッサーアドレス１０６の［２７］である。
【００４４】
リードライトコマンドアドレス１１０は、ＲＥＡＤコマンドまたはＷＲＩＴＥコマンドで示されるアドレスであり、１５ビットである。その下位９ビットは、プロセッサーアドレス１０６の［１２：３］である。ただしプロセッサーアドレス１０６のビット［５］は、ランクを選択するランクビット１１２として使用するので、リードライトコマンドアドレス１１０としては用いられない。また、その上位の１ビット［９］は、プロセッサーアドレスの[２８]ビットである。さらに上位の１ビット［１０］は、ＡＰ（Auto Precharge）である。
【００４５】
リードライトコマンドアドレス１１０の上位２ビットは、バンクアドレスであり、アクティブコマンドアドレス１０８と同様に、プロセッサーアドレス１０６の［２６：２５］である。リードライトコマンドアドレス１１０の残りの２ビット［１２：１１］は、カラムアドレスであり、プロセッサーアドレス１０６の［３０：２９］である。
図６に示す例では、２ランク構成であるので、ページサイズが、図５より２倍になり、８ＫＢとなる。
【００４６】
図７は、クアッドランク（Quad Rank）の場合のアドレスの関係を説明する説明図である。図７も、データバス幅が６４ビットであり、バースト長が４、個々のＳＤＲＡＭデバイスが容量１２８Ｍｂｉｔ以上のデバイスである場合の例である。同図において、プロセッサーアドレス１０６は、３２ビットからなるアドレスである。その下位１４ビットがページサイズを表し、１６ＫＢである。
【００４７】
図７において、アクティブコマンドアドレス１０８は、図５、図６と同様に１５ビットである。その下位１２ビットは、下位のロウアドレスであり、プロセッサーアドレス１０６の［２５：１４］である。アクティブコマンドアドレス１０８の上位２ビットは、バンクアドレスであり、プロセッサーアドレス１０６の［２７：２６］である。アクティブコマンドアドレス１０８の残りの１ビット［１２］は、ロウアドレスの最上位ビットであり、プロセッサーアドレス１０６の［２８］である。
【００４８】
リードライトコマンドアドレス１１０も、図５、図６と同様に１５ビットである。その下位９ビットは、プロセッサーアドレス１０６の［１３：３］である。ただし、プロセッサーアドレス１０６のビット［６：５］は、ランクを選択するランクビット１１２として使用するので、リードライトコマンドアドレス１１０としては用いられない。また、その上位の１ビット［９］は、プロセッサーアドレスの[２９]ビットである。さらに上位の１ビット［１０］は、ＡＰ（Auto Precharge）である。リードライトコマンドアドレス１１０の上位２ビットは、バンクアドレスであり、アクティブコマンドアドレス１０８と同様に、プロセッサーアドレス１０６の［２７：２６］である。リードライトコマンドアドレス１１０の残りの２ビット［１２：１１］は、カラムアドレスであり、プロセッサーアドレス１０６の［３１：３０］である。
【００４９】
図７に示す例では、クアッドランク（Quad Rank）構成であるので、ページサイズが、図５に示す例と比べて４倍になり、１６ＫＢとなる。また、ランクビット１１２は、２ビットであり、この２ビットでクアッドランク（Quad Rank）のうち、いずれかのランクを指定する。
本発明の具体的な態様は後述する実施形態で詳細に説明する。本発明が採用する具体的な手段は、以下の通りである。
【００５０】
（１）本発明に係るマルチランクＳＤＲＡＭ制御方法は、複数のＳＤＲＡＭデバイス（例えば、後述するＳＤＲＡＭデバイス１００）のデータバスを接続して構成されたマルチランクＳＤＲＡＭの制御方法であって、前記複数のＳＤＲＡＭデバイスのそれぞれに対して、アクセス対象であるランクのＳＤＲＡＭデバイスに対するデータマスク信号（例えば、後述するＤＱＭ０）のみネゲートすることによって、前記ランクへのアクセスを実行する。
【００５１】
（２）  （１）のマルチランクＳＤＲＡＭ制御方法において、前記マルチランクＳＤＲＡＭは、２の累乗のランク数で構成されており、前記ＳＤＲＡＭのアドレスの下位ビットでランクの選択を実行してもよい。
【００５２】
（３）  （２）のマルチランクＳＤＲＡＭ制御方法において、前記ランクの選択を行う下位ビットの一つ上のビット群を、前記マルチランクＳＤＲＡＭのカラムアドレスとして用いてもよい。
【００５３】
（４）  （１）から（３）のいずれかのマルチランクＳＤＲＡＭ制御方法において、前記データマスク信号は、バイトレーン単位でリードまたはライトのデータをマスクする信号であってもよい。
【００５４】
（５）  （１）から（４）のいずれかのマルチランクＳＤＲＡＭ制御方法において、前記複数のＳＤＲＡＭデバイスのうちの１個以上のＳＤＲＡＭは、パリティ及び／又はＥＣＣビットのためのＳＤＲＡＭデバイスであってもよい。
【００５５】
（６）  本発明のＳＤＲＡＭコントローラは、（１）から（５）のいずれかのマルチランクＳＤＲＡＭ制御方法を実行する。
【発明の効果】
【００５６】
本発明によれば、ランク間の競合を回避して性能面での不利益が生じる可能性を減らすことができる。
【図面の簡単な説明】
【００５７】
【図１】本発明の解決手段（データ）を説明する説明図である。
【図２】本発明の解決手段（パリティ／ＥＣＣ）を説明する説明図である。
【図３】ＣＳ＃信号を用いたＳＤＲＡＭの制御の一例のタイムチャートである。
【図４】ＤＱＭ信号を用いたＳＤＲＡＭの制御の一例のタイムチャートである。
【図５】シングルランク（Single Rank）の場合のアドレスの割り当ての一例を示す説明図である。
【図６】デュアルランク（Dual Rank）の場合のアドレスの割り当ての一例を示す説明図である。
【図７】クアッドランク（Quad Rank）の場合のアドレスの割り当ての一例を示す説明図である。
【図８】実施例１の回路構成図である。
【図９】実施例２の回路構成図である。
【図１０Ａ】実施例３の回路構成図である。
【図１０Ｂ】実施例３の回路構成図である。
【図１１Ａ】実施例４の回路構成図である。
【図１１Ｂ】実施例４の回路構成図である。
【図１２Ａ】実施例５の回路構成図である。
【図１２Ｂ】実施例５の回路構成図である。
【図１２Ｃ】実施例５の回路構成図である。
【図１２Ｄ】実施例５の回路構成図である。
【図１３Ａ】実施例６の回路構成図である。
【図１３Ｂ】実施例６の回路構成図である。
【図１３Ｃ】実施例６の回路構成図である。
【図１３Ｄ】実施例６の回路構成図である。
【図１４Ａ】実施例７の回路構成図である。
【図１４Ｂ】実施例７の回路構成図である。
【図１４Ｃ】実施例７の回路構成図である。
【図１４Ｄ】実施例７の回路構成図である。
【図１４Ｅ】実施例７の回路構成図である。
【図１４Ｆ】実施例７の回路構成図である。
【図１４Ｇ】実施例７の回路構成図である。
【図１４Ｈ】実施例７の回路構成図である。
【図１５Ａ】実施例８または１０の回路構成図である。
【図１５Ｂ】実施例８または１０の回路構成図である。
【図１５Ｃ】実施例８または１０の回路構成図である。
【図１６Ａ】実施例９または１１の回路構成図である。
【図１６Ｂ】実施例９または１１の回路構成図である。
【図１６Ｃ】実施例９または１１の回路構成図である。
【図１６Ｄ】実施例９または１１の回路構成図である。
【図１６Ｅ】実施例９または１１の回路構成図である。
【図１７Ａ】実施例１０の回路構成図である。
【図１７Ｂ】実施例１０の回路構成図である。
【図１８Ａ】実施例１１の回路構成図である。
【図１８Ｂ】実施例１１の回路構成図である。
【図１８Ｃ】実施例１１の回路構成図である。
【図１８Ｄ】実施例１１の回路構成図である。
【図１９Ａ】シングルランクとデュアルランクの説明図である。
【図１９Ｂ】図１９Ａの構成に対して、ＣＰＵがＳＤＲＡＭコントローラを兼ねる場合の説明図である。
【図１９Ｃ】図１９Ａの構成に対して、ＣＰＵがＳＤＲＡＭデバイスと直接接続せず、他のバスでＳＤＲＡＭコントローラに接続させた場合の説明図である。
【図２０】デュアルランク構成のＳＤＲＡＭにおいて、ＣＳ＃信号を用いてデータの制御を行う様子を示す説明図である。
【図２１】デュアルランク構成のＳＤＲＡＭにおいて、ＣＳ＃信号を用いてパリティまたはＥＣＣの制御を行う様子を示す説明図である。
【発明を実施するための形態】
【００５８】
以下、本発明の実施形態の好適な一例について図面に基づいて説明する。
【００５９】
＜実施例１＞
本実施形態の実施例１に係るメモリ装置の回路構成図が図８に示されている。図８に示す例は、２ランク構成であり、データバス幅が１６ビットの例である。また、パリティ／ＥＣＣは、８ビット以下である。また、１６ビット（ｘ１６）のＳＤＲＡＭデバイス１００ｄ−１、１００ｄ−２、１００ｄ−３を使用している。
【００６０】
図８に示すように、ＳＤＲＡＭデバイス１００ｄ−１はデータの下位８ビットであり、ＳＤＲＡＭデバイス１００ｄ−２は、データの上位８ビットである。双方あわせて、１６ビット幅のデータを実現している。ＳＤＲＡＭデバイス１００ｄ−１、１００ｄ−２にはＤＱＭＬと、ＤＱＭＨの２種類のデータマスク信号端子が備えられている。ＲＡＮＫ０を示すデータマスク信号であるＤＱＭ０−１１４ａと、ＲＡＮＫ１を示すデータマスク信号であるＤＱＭ１−１１４ｂと、の２種のデータマスク信号が、それぞれＤＱＭＬ、ＤＱＭＨに印加されている。
【００６１】
このような構成によって、ＤＱＭ０−１１４ａがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｄ−１、１００ｄ−２の下位８ビットが出力（または入力）され、これがＢＡＮＫ０を表す。一方、ＤＱＭ１−１１４ｂがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｄ−１、１００ｄ−２の上位８ビットが出力（または入力）され、これがＢＡＮＫ１を表す。
【００６２】
パリティ／ＥＣＣを受け持つＳＤＲＡＭデバイス１００ｄ−３についても同様であり、ＤＱＭ０−１１４ａがネゲートされた時には、ＳＤＲＡＭデバイス１００ｄ−３の下位８ビットが出力（または入力）され、これがＢＡＮＫ０のパリティ／ＥＣＣを表す。一方、ＤＱＭ１−１１４ｂがネゲートされた時には、ＳＤＲＡＭデバイス１００ｄ−３の上位８ビットが出力（または入力）され、これがＢＡＮＫ１のパリティ／ＥＣＣを表す。パリティ／ＥＣＣは、８ビット（またはそれ以下）であるので、データ幅１６ビット（ｘ１６）構成のＳＤＲＡＭデバイス１００ｄ−３で、ＢＡＮＫ０と、ＢＡＮＫ１の双方を受け持つことができる。
【００６３】
＜実施例２＞
本実施形態の実施例２に係るメモリ装置の回路構成図が図９に示されている。図９に示す例は、実施例１と同様に、２ランク構成であり、データバス幅が１６ビットの例である。また、パリティ／ＥＣＣは、８ビット以下である。また、データ幅１６ビット（ｘ１６）のＳＤＲＡＭデバイス１００ｅ−１、１００ｅ−２、１００ｅ−３を使用している。
図９に示すように、ＳＤＲＡＭデバイス１００ｅ−１は、ＤＱＭＬとＤＱＭＨとの２種類のデータマスク信号端子が備えられており、共に、ＲＡＮＫ０を示すデータマスク信号であるＤＱＭ０−１１４ａが印加されている。すなわち、ＳＤＲＡＭデバイス１００ｅ−１は、ＲＡＮＫ０のデータを受け持っている。
【００６４】
ＳＤＲＡＭデバイス１００ｅ−２も、ＤＱＭＬとＤＱＭＨとの２種類のデータマスク信号端子が備えられており、共に、ＲＡＮＫ１を示すデータマスク信号であるＤＱＭ１−１１４ｂが印加されている。すなわち、ＳＤＲＡＭデバイス１００ｅ−２は、ＲＡＮＫ１のデータを受け持っている。
ＳＤＲＡＭデバイス１００ｅ−１、１００ｅ−２もデータ幅１６ビット（ｘ１６）のデバイスであり、単独で１６ビットのデータバス幅を受け持つことができる。
【００６５】
また、パリティ／ＥＣＣを受け持つＳＤＲＡＭデバイス１００ｅ−３の接続構成は、実施例１（図８）のＳＤＲＡＭデバイス１００ｄ−３と同様であるので説明を省略する。
この実施例２は、ＳＤＲＡＭデバイス１００を３個用いて、２ランク構成のマルチランクＳＤＲＡＭのメモリ装置を構成することができる。この構成からＳＤＲＡＭデバイス１００ｅ−２を除去すれば、それは明らかに、１ランクのＳＤＲＡＭのメモリ装置である。
したがって、図９を実現する場合に作成したプリント配線板を用いて、２ランク構成のメモリ装置と、１ランク構成のメモリ装置とを、自由に構成することができる。言い換えれば、同一構成のプリント配線板を用いて、１ランク構成と、２ランク構成との双方に対応することが可能である。
【００６６】
＜実施例３＞
本実施形態の実施例３に係るメモリ装置の回路構成図が図１０Ａ、図１０Ｂに示されている。図１０Ａ、図１０Ｂに示す例は、２ランク構成であり、データバス幅が３２ビットの例である。また、パリティ／ＥＣＣは、８ビット以下である。また、１６ビット（ｘ１６）構成のＳＤＲＡＭデバイス１００ｆ−１、１００ｆ−２、１００ｆ−３、１００ｆ−４、１００ｆ−５を使用している。
【００６７】
要するに、実施例３は、実施例８の構成のデータ部分の回路を２倍にして、データバス幅を２倍の３２ビットに拡張した構成である。すなわち、各ＳＤＲＡＭデバイス１００ｆは、その下位８ビットがＲＡＮＫ０であり、上位８ビットがＲＡＮＫ１である。そして、４個のＳＤＲＡＭデバイス１００ｆ−１、１００ｆ−２、１００ｆ−３、１００ｆ−４が、それぞれ、データを８ビットずつ受持ち、４個合わせて３２ビットのデータバス幅を実現している。
【００６８】
図１０Ａ、図１０Ｂに示すように、ＳＤＲＡＭデバイス１００ｄ−１はデータの最下位８ビットであり、ＳＤＲＡＭデバイス１００ｄ−２は、データの下から２番目の８ビットである。また、ＳＤＲＡＭデバイス１００ｄ−４はデータの最上位８ビットであり、ＳＤＲＡＭデバイス１００ｄ−３は、データの上から２番目の８ビットを受け持っている。
４個のＳＤＲＡＭデバイス１００ｆには、ＤＱＭＬとＤＱＭＨとの２種類のデータマスク信号端子が備えられている。ＲＡＮＫ０を示すデータマスク信号であるＤＱＭ０−１１４ａと、ＲＡＮＫ１を示すデータマスク信号であるＤＱＭ１−１１４ｂと、の２種のデータマスク信号が、それぞれＤＱＭＬ、ＤＱＭＨに印加されている。
【００６９】
このような構成によって、ＤＱＭ０−１１４ａがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｆ−１、１００ｆ−２、１００ｆ−３、１００ｆ−４の下位８ビットが出力（または入力）され、これがＢＡＮＫ０を表す。一方、ＤＱＭ１−１１４ｂがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｆ−１、１００ｆ−２、１００ｆ−３、１００ｆ−４の上位８ビットが出力（または入力）され、これがＢＡＮＫ１を表す。
パリティ／ＥＣＣを受け持つＳＤＲＡＭデバイス１００ｆ−５の接続構成は、実施例１のＳＤＲＡＭデバイス１００ｄ−３、実施例２のＳＤＲＡＭデバイス１００ｅ−３と同様であるので説明を省略する。
【００７０】
＜実施例４＞
本実施形態の実施例４に係るメモリ装置の回路構成図が図１１Ａ、図１１Ｂに示されている。図１１Ａ、図１１Ｂに示す例は、２ランク構成であり、データバス幅が３２ビットの例である。また、パリティ／ＥＣＣは、８ビット以下である。また、１６ビット（ｘ１６）構成のＳＤＲＡＭデバイス１００ｇ−１、１００ｇ−２、１００ｇ−３、１００ｇ−４、１００ｇ−５を使用している。
【００７１】
要するに、実施例４は、実施例３に対して、実施例２の構成を応用したものである。すなわち、実施例３が単一のＳＤＲＡＭデバイスがＲＡＮＫ０とＲＡＮＫ１の双方を受け持っているのに対して、実施例４は（実施例２と同様に）、ＳＤＲＡＭデバイスをＲＡＮＫ０のデバイスと、ＲＡＮＫ１のデバイスとに分けたものである。このように、分けることによって、単にデバイスの数を減らすことによってランク数を減らすことも可能となり、柔軟性に富む回路構成が実現できる。
【００７２】
具体的には、データ幅１６ビット（ｘ１６）のＳＤＲＡＭデバイス１００ｇ-１と、１００ｇ-２には、ＤＱＭＬとＤＱＭＨとの２種類のデータマスク信号端子が備えられている。両端子にともに、ＲＡＮＫ０を示すデータマスク信号であるＤＱＭ０−１１４ａが印加されており、ＲＡＮＫ０を受け持つ。また、ＳＤＲＡＭデバイス１００ｇ-１が下位１６ビット、ＳＤＲＡＭデバイス１００ｇ-３が上位１６ビットをそれぞれ受け持っている。
【００７３】
同様に、データ幅１６ビット（ｘ１６）のＳＤＲＡＭデバイス１００ｇ-２と、１００ｇ-４とには、ＤＱＭＬと、ＤＱＭＨの２種類のデータマスク信号端子が備えられている。両端子にともに、ＲＡＮＫ１を示すデータマスク信号であるＤＱＭ１−１１４ｂが印加されており、ＲＡＮＫ１を受け持つ。また、ＳＤＲＡＭデバイス１００ｇ-２が下位１６ビット、ＳＤＲＡＭデバイス１００ｇ-４が上位１６ビットをそれぞれ受け持っている。
【００７４】
このような構成によって、ＤＱＭ０−１１４ａがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｇ−１、１００ｇ−３によって、ＲＡＮＫ０のデータが出力（または入力）される。一方、ＤＱＭ１−１１４ｂがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｇ−２、１００ｇ−４によってＲＡＮＫ１のデータが出力（または入力）される。
パリティ/ＥＣＣを受け持つＳＤＲＡＭデバイス１００ｇ-５の接続構成は、実施例３のＳＤＲＡＭデバイス１００ｆ-５と同様であるので説明を省略する。
【００７５】
＜実施例５＞
本実施形態の実施例５に係るメモリ装置の回路構成図が図１２Ａ、図１２Ｂ、図１２Ｃ、図１２Ｄに示されている。図１２Ａ〜図１２Ｄに示す例は、２ランク構成であり、データバス幅が６４ビットの例である。また、パリティ／ＥＣＣは、８ビット以下である。また、データ幅１６ビット（ｘ１６）のＳＤＲＡＭデバイス１００ｈ−１、１００ｈ−２、１００ｈ−３、１００ｈ−４、１００ｈ−５、１００ｈ−６、１００ｈ−７、１００ｈ−８、１００ｈ−９を使用している。
【００７６】
要するに、実施例５は、実施例３の構成のデータ部分の回路を２倍にして、データバス幅を２倍の６４ビットに拡張した構成である。すなわち、実施例５に係るＳＤＲＡＭデバイス１００ｈ−１、１００ｈ−２、１００ｈ−３、１００ｈ−４、１００ｈ−５の回路構成部分は、実施例３におけるＳＤＲＡＭデバイス１００ｆ−１、１００ｆ−２、１００ｆ−３、１００ｆ−４、１００ｆ−５と、同様の回路構成である。
【００７７】
実施例５においては、さらに、実施例３におけるＳＤＲＡＭデバイス１００ｆ−１、１００ｆ−２、１００ｆ−３、１００ｆ−４に係るデータ部分の回路構成と同様の回路構成であるＳＤＲＡＭデバイス１００ｈ−６、１００ｈ−７、１００ｈ−８、１００ｈ−９を備えている。これらＳＤＲＡＭデバイス１００ｈ−６、１００ｈ−７、１００ｈ−８、１００ｈ−９に対しても、同様に、ＤＱＭ０−１１４ａ及びＤＱＭ１−１１４ｂが印加されており、それぞれのＳＤＲＡＭデバイス１００ｈがＲＡＮＫ０、ＲＡＮＫ１のデータを出力（または入力）する。
【００７８】
実施例５は、このような構成によって、データバス幅を２倍の６４ビットに拡張したものであり、その動作は実施例１、実施例３と同様である。
また、パリティ／ＥＣＣを受け持つＳＤＲＡＭデバイス１００ｈ−５の接続構成は、実施例１のＳＤＲＡＭデバイス１００ｄ−３、実施例３のＳＤＲＡＭデバイス１００ｆ−５と同様であるので説明を省略する。
【００７９】
＜実施例６＞
本実施形態の実施例６に係るメモリ装置の回路構成図が図１３Ａ、図１３Ｂ、図１３Ｃ、図１３Ｄに示されている。図１３Ａ〜図１３Ｄに示す例は、２ランク構成であり、データバス幅が６４ビットの例である。また、パリティ／ＥＣＣは、８ビット以下である。また、データ幅１６ビット（ｘ１６）のＳＤＲＡＭデバイス１００ｉ−１、１００ｉ−２、１００ｉ−３、１００ｉ−４、１００ｉ−５を使用している。
【００８０】
要するに、実施例６は、実施例５に対して、実施例２（実施例４）の構成を応用したものである。すなわち、実施例５が単一のＳＤＲＡＭデバイスがＲＡＮＫ０とＲＡＮＫ１の双方を受け持っているのに対して、実施例６は（実施例２（実施例４）と同様に）、ＳＤＲＡＭデバイスをＲＡＮＫ０のデバイスと、ＲＡＮＫ１のデバイスとに分けたものである。このように、分けることによって、単にデバイスの数を減らすことによってランク数を減らすことも可能となり、柔軟性に富む回路構成が実現できる。
【００８１】
具体的には、データ幅１６ビット（ｘ１６）のＳＤＲＡＭデバイス１００ｉ−１、１００ｉ−３、１００ｉ−６、１００ｉ−８には、ＤＱＭＬとＤＱＭＨとの２種類のデータマスク信号端子が備えられている。両端子にともに、ＲＡＮＫ０を示すデータマスク信号であるＤＱＭ０−１１４ａが印加されており、ＲＡＮＫ０を受け持つ。
同様に、データ幅１６ビット（ｘ１６）のＳＤＲＡＭデバイス１００ｉ−２、１００ｉ−４、１００ｉ−７、１００ｉ−９には、ＤＱＭＬと、ＤＱＭＨの２種類のデータマスク信号端子が備えられている。両端子にともに、ＲＡＮＫ１を示すデータマスク信号であるＤＱＭ１−１１４ｂが印加されており、ＲＡＮＫ１を受け持つ。
【００８２】
このような構成によって、ＤＱＭ０−１１４ａがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｉ−１、１００ｉ−３、１００ｉ−６、１００ｉ−８によって、ＲＡＮＫ０のデータが出力（または入力）される。一方、ＤＱＭ１−１１４ｂがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｉ−２、１００ｉ−４、１００ｉ−７、１００ｉ−９によってＲＡＮＫ１のデータが出力（または入力）される。
【００８３】
パリティ／ＥＣＣを受け持つＳＤＲＡＭデバイス１００ｉ−５の接続構成は、実施例４のＳＤＲＡＭデバイス１００ｇ−５と同様であるので説明を省略する。
このような構成によれば、ＳＤＲＡＭデバイス１００ｉを９個用いて２ランク構成のマルチランクＳＤＲＡＭのメモリ装置を構成することができる。そして、そこから、４個のＳＤＲＡＭデバイス（１００ｉ−２・４・７・９）を外せば、容易に１ランクのメモリ装置を構成することができる。すなわち、本実施例６の構成を実現するプリント配線板と同一のプリント配線板を用いて、ＳＤＲＡＭデバイス１００の個数を減少させるだけで、２ランクから１ランクのメモリ装置を簡単に構成することができる。
【００８４】
＜実施例７＞
本実施形態の実施例７に係るメモリ装置の回路構成図が図１４Ａ、図１４Ｂ、図１４Ｃ、図１４Ｄ、図１４Ｅ、図１４Ｆ、図１４Ｇ、図１４Ｈに示されている。図１４Ａ〜図１４Ｈに示す例は、４ランク構成であり、データバス幅が６４ビットの例である。また、パリティ／ＥＣＣは、８ビット以下である。また、１６ビット（ｘ１６）構成のＳＤＲＡＭデバイス１００ｊ−１、１００ｊ−２、１００ｊ−３、１００ｊ−４、１００ｊ−５、１００ｊ−６、１００ｊ−７、１００ｊ−８、１００ｊ−９、１００ｊ−１０、１００ｊ−１１、１００ｊ−１２、１００ｊ−１３、１００ｊ−１４、１００ｊ−１５、１００ｊ−１６、１００ｊ−１７、１００ｊ−１８を使用している。
【００８５】
本実施例７は、実施例１〜６と異なり、ランク数＝４の構成である。基本的には、上述した実施例６（ランク数＝２）の構成を４ランクに拡張したものである。このような拡張をするために、４種のデータマスク信号ＤＱＭ０−１１４ａ、ＤＱＭ１-１１４ｂ、ＤＱＭ２-１１４ｃ、ＤＱＭ３-１１４ｄを用いており、それぞれが順番に、ＲＡＮＫ０、ＲＡＮＫ１、ＲＡＮＫ３、ＲＡＮＫ４に対応する。
【００８６】
具体的には、データ幅１６ビット（ｘ１６）のＳＤＲＡＭデバイス１００ｊ−１、１００ｊ−７、１００ｊ−１１、１００ｊ−１５には、ＤＱＭＬとＤＱＭＨとの２種類のデータマスク信号端子が備えられている。両端子にともに、ＲＡＮＫ０を示すデータマスク信号であるＤＱＭ０−１１４ａが印加されており、ＲＡＮＫ０を受け持つ。
同様に、データ幅１６ビット（ｘ１６）のＳＤＲＡＭデバイス１００ｊ−２、１００ｊ−８、１００ｊ−１２、１００ｊ−１６のＤＱＭＬと、ＤＱＭＨの２種類のデータマスク信号端子に、ＲＡＮＫ１を示すデータマスク信号であるＤＱＭ１−１１４ｂが印加されており、ＲＡＮＫ１を受け持つ。
【００８７】
同様に、データ幅１６ビット（ｘ１６）のＳＤＲＡＭデバイス１００ｊ−３、１００ｊ−９、１００ｊ−１３、１００ｊ−１７のＤＱＭＬとＤＱＭＨとの２種類のデータマスク信号端子に、ＲＡＮＫ２を示すデータマスク信号であるＤＱＭ２−１１４ｃが印加されており、ＲＡＮＫ２を受け持つ。
同様に、データ幅１６ビット（ｘ１６）のＳＤＲＡＭデバイス１００ｊ−４、１００ｊ−１０、１００ｊ−１４、１００ｊ−１８のＤＱＭＬとＤＱＭＨとの２種類のデータマスク信号端子に、ＲＡＮＫ３を示すデータマスク信号であるＤＱＭ３−１１４ｄが印加されており、ＲＡＮＫ３を受け持つ。
【００８８】
このような構成によって、ＤＱＭ０−１１４ａがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｊ−１、１００ｊ−７、１００ｊ−１１、１００ｊ−１５によって、ＲＡＮＫ０のデータが出力（または入力）される。一方、ＤＱＭ１−１１４ｂがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｊ−２、１００ｊ−８、１００ｊ−１２、１００ｊ−１６によってＲＡＮＫ１のデータが出力（または入力）される。
【００８９】
また、このような構成によって、ＤＱＭ２−１１４ｃがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｊ−３、１００ｊ−９、１００ｊ−１３、１００ｊ−１７によって、ＲＡＮＫ２のデータが出力（または入力）される。他方、ＤＱＭ１−１１４ｄがネゲートされた時には、各ＳＤＲＡＭデバイス１００ｊ−４、１００ｊ−１０、１００ｊ−１４、１００ｊ−１８によってＲＡＮＫ３のデータが出力（または入力）される。
パリティ／ＥＣＣを受け持つＳＤＲＡＭデバイス１００ｊ−５、１００ｊ−６の接続構成は、実施例６のＳＤＲＡＭデバイス１００ｉ−５と同様であるが、２ランクの実施例１〜６と異なり、４ランク分必要となるため、ＳＤＲＡＭデバイス１００ｊ−５に加えて、ＳＤＲＡＭデバイス１００ｊ−６が備えられている点が、実施例１〜６とは異なる。
【００９０】
実施例６では、単一のＳＤＲＡＭデバイス１００ｉ−５がＲＡＮＫ０と、ＲＡＮＫ１とを受け持っている。これに対して、本実施例７では、ＳＤＲＡＭデバイス１００ｊ−５がＲＡＮＫ０と、ＲＡＮＫ１のパリティ／ＥＣＣとを受け持つために、データマスク信号であるＤＱＭ０−１１４ａ、ＤＱＭ１−１１４ｂが印加されている。さらに、実施例７では、ＳＤＲＡＭデバイス１００ｊ−６がＲＡＮＫ２と、ＲＡＮＫ３とを受け持つために、データマスク信号であるＤＱＭ２−１１４ｃ、ＤＱＭ３−１１４ｄが印加されている。
【００９１】
このような構成によれば、ＳＤＲＡＭデバイス１００ｊを１８個用いて４ランク構成のマルチランクＳＤＲＡＭのメモリ装置を構成することができる。そして、そこから、４個のＳＤＲＡＭデバイス（１００ｊ−４・１０・１４・１８）を外せば、容易に１ランク減らせる。すなわち、ＳＤＲＡＭデバイス１００ｊを１４個（１００ｊ−１・２・３・５・６・７・８・９・１１・１２・１３・１５・１６・１７）用いて、３ランク構成のメモリ装置を構成することができる。同様に、ＳＤＲＡＭデバイス１００ｊを９個（１００ｊ−１・２・５・７・８・１１・１２・１５・１６）用いて、２ランク構成のメモリ装置を構成することができる（実施例６と同様）。また、同様に、ＳＤＲＡＭデバイス１００ｊを５個（１００ｊ−１・５・７・１１・１５）用いて、１ランク構成のメモリ装置を構成することができることは、実施例６で述べたとおりである。
これまでの説明と同様に、本実施例７の構成を実現するプリント配線板と同一のプリント配線板を用いて、ＳＤＲＡＭデバイス１００ｊの個数を減少させるだけで、４ランクから１ランクのメモリ装置を簡単に構成することができる。
【００９２】
＜実施例８＞
本実施形態の実施例８に係るメモリ装置の回路構成図が図１５Ａ、図１５Ｂ、図１５Ｃに示されている。図１５Ａ〜図１５Ｃに示す例は、実施例２と同様に、２ランク構成であり、３個のＳＤＲＡＭデバイス２００ａ−１、２００ａ−２、２００ａ−３から構成される。ただし、実施例２と異なり、データバス幅が２倍の３２ビットとなり、また、パリティ／ＥＣＣも、２倍の１６ビット以下である。
要するに、本実施例８は、実施例２のビット幅を、データも、パリティ／ＥＣＣ（の上限）も２倍にしたメモリ装置である。本実施例８においては、ビット幅を２倍にするために、実施例２と異なり、倍の３２ビット（ｘ３２）のＳＤＲＡＭデバイス２００ａ−１、２００ａ−２、２００ａ−３を使用している。
【００９３】
また、図１５Ａ〜図１５Ｃに示すように、ＳＤＲＡＭデバイス２００ａ−１〜２００ａ−３は、ＤＱＭ０〜３の４種類のデータマスク信号端子を備えており、３２ビットのデータを８ビットごとにマスクすることができる。
本実施例８においては、ＳＤＲＡＭデバイス２００ａ−１には、端子ＤＱＭ０〜ＤＱＭ３のすべてに、ＲＡＮＫ０を示すデータマスク信号であるＤＱＭ０−１１４ａが印加されており、ＲＡＮＫ０のデータを受け持っている。
【００９４】
ＳＤＲＡＭデバイス２００ａ−２にも、ＤＱＭ０〜ＤＱＭ３の４種類の端子が備えられている。すべての端子に、ＲＡＮＫ１を示すデータマスク信号であるＤＱＭ１−１１４ｂが印加されており、ＳＤＲＡＭデバイス２００ａ−２は、ＲＡＮＫ１のデータを受け持っている。
また、パリティ／ＥＣＣを受け持つＳＤＲＡＭデバイス２００ａ−３の接続構成は、実施例２（図９）のＳＤＲＡＭデバイス２００ａ−３と同様であるが、ビット幅が１６ビットから３２ビットに増加した点が異なる。このＳＤＲＡＭデバイス２００ａ−３には、上記ＳＤＲＡＭデバイス２００ａ−１等と同様に、データマスク信号が印加される４種の端子ＤＱＭ０〜ＤＱＭ３がある。下位のＤＱＭ０〜ＤＱＭ１には、ＲＡＮＫ０を示すデータマスク信号であるＤＱＭ０−１１４ａが印加されており、下位の１６ビットが、ＲＡＮＫ０のパリティ/ＥＣＣのビットとなる。また、上位のＤＱＭ２〜ＤＱＭ３には、ＲＡＮＫ１を示すデータマスク信号であるＤＱＭ１−１１４ｂが印加されており、上位の１６ビットが、ＲＡＮＫ１のパリティ/ＥＣＣのビットとなる。
【００９５】
この実施例８は、ＳＤＲＡＭデバイス２００ａを３個用いて、２ランク構成のマルチランクＳＤＲＡＭのメモリ装置を構成することができる。この構成からＳＤＲＡＭデバイス２００ａ−２を除去すれば、それは明らかに、１ランクのＳＤＲＡＭのメモリ装置である。したがって、図１５Ａから図１５Ｃを実現する場合に作成したプリント配線板を用いて、２ランク構成のメモリ装置（ＳＤＲＡＭデバイス２００ａを３個使用）と、１ランク構成のメモリ装置（ＳＤＲＡＭデバイス２００ａを２個使用）とを、自由に構成することができる。言い換えれば、同一構成のプリント配線板を用いて、１ランク構成と、２ランク構成との双方に対応することが可能である。この点は、実施例２等と同様である。
【００９６】
＜実施例９＞
本実施形態の実施例９に係るメモリ装置の回路構成図が図１６Ａ、図１６Ｂ、図１６Ｃ、図１６Ｄに示されている。図１６Ａ〜図１６Ｄに示す例は、４ランク構成であり、データバス幅が３２ビットの例である。また、パリティ／ＥＣＣは、８ビット以下である。また、３２ビット（ｘ３２）構成のＳＤＲＡＭデバイス２００ｂ−１、２００ｂ−２、２００ｂ−３、２００ｂ−４、２００ｂ−５を使用している。
【００９７】
要するに、実施例９は、実施例８に対して、ランク数を２から４に増やした構成である。ただし、パリティ／ＥＣＣは、ビット幅を１６ビット以下から８ビット以下に削減している。この結果、データに対応するＳＤＲＡＭデバイス２００ｂは、２００ｂ−１、２００ｂ−２、２００ｂ−３、２００ｂ−４の４個となり、実施例８に比べて２倍必要であるが、実施例８と同様に、パリティ／ＥＣＣを受け持つＳＤＲＡＭデバイス２００ｂ−５は一個のままである。
【００９８】
要するに４ランク構成とするために、ランクごとに、対応するＳＤＲＡＭデバイス２００ｂは、２００ｂ−１、２００ｂ−２、２００ｂ−３、２００ｂ−４を設けて、それぞれ対応するデータマスク信号、ＤＱＭ０−１４４ａ、ＤＱＭ１−１４４ｂ、ＤＱＭ２−１４４ｃ、ＤＱＭ３−１４４ｄを、対応する各ＳＤＲＡＭデバイス２００ｂ−１、２００ｂ−２、２００ｂ−３、２００ｂ−４に接続したものである。
これによって、いずれかのランクが選択された場合には、その選択されたランクに対応するＳＤＲＡＭデバイス２００ｂのデータが出力（入力）される。
【００９９】
パリティ／ＥＣＣを受け持つＳＤＲＡＭデバイス２００ｂ−５には、４種のデータマスク信号であるＤＱＭ０〜ＤＡＭ３が、４種類の端子ＤＱＭ０〜ＤＱＭ３にそれぞれ印加されている。この結果、いずれかのデータマスク信号がネゲートされることによって、３２ビットのデータ幅のうち、いずれか８ビットデータがパリティ／ＥＣＣとして出力（入力）される。なお、ＳＤＲＡＭデバイス２００ｂは、３２ビット幅のデータ幅を有しており、その３２ビットのデータは、８ビット４つに分けられている。そして、それぞれの８ビットについてのデータマスク信号が印加される端子が、４種類の端子ＤＱＭ０〜ＤＱＭ３である。したがって、いずれかのデータマスク信号がネゲートされれば、それに対応した８ビットのデータが、パリティ／ＥＣＣとして利用されうる。
【０１００】
また、このように、ランクごとに、ＳＤＲＡＭデバイス２００ｂを備えているのでＳＤＲＡＭデバイス２００ｂの個数を調整すれば、任意のランク数のメモリ装置を容易に構成することができる。すなわち、本実施例９では、ＳＤＲＡＭデバイス２００ｂを５個用いて４ランク構成のメモリ装置を構成したが、ＳＤＲＡＭデバイス２００ｂを４個（２００ｂ−１・２・３・５）用いれば３ランク構成のメモリ装置を構成でき、ＳＤＲＡＭデバイス２００ｂを３個（２００ｂ−１・２・５）用いれば２ランク構成のメモリ装置（実施例８と同様）を構成でき、ＳＤＲＡＭデバイス２００ｂを２個（２００ｂ−１・５）用いれば１ランク構成のメモリ装置（実施例８と同様）を容易に構成することができる。また、本実施例９を構成するのに用いたプリント配線板と同一のプリント配線板を用いて、１〜４ランクのメモリ装置を容易に構成することが可能である。
【０１０１】
＜実施例１０＞
本実施形態の実施例１０に係るメモリ装置の回路構成図が図１５Ａ、図１５Ｂ、図１５Ｃ、図１７Ａ、図１７Ｂに示されている。本実施例１０に示す例は、２ランク構成であり、データバス幅が６４ビットの例である。また、パリティ／ＥＣＣは、１６ビット以下である。また、３２ビット（ｘ３２）構成のＳＤＲＡＭデバイス２００ａ−１、２００ａ−２、２００ａ−３、２００ｃ−１、２００ｃ−２を使用している。
【０１０２】
要するに、本実施例１０は、実施例８に対して、データバス幅を２倍の６４ビットに拡張したものである。そのため、上述したように、図１５Ａ、図１５Ｂ、図１５Ｃの部分の回路構成は、実施例８と同様である。本実施例１０は、その実施例８の構成のデータ部分に関する回路構成である図１７Ａ、図１７Ｂに係る構成を追加して、ビット幅を６４ビット幅にしたメモリ装置である。なお、パリティ／ＥＣＣの構成は実施例８と同様であり、その説明を省略する。したがって、本実施例１０の動作は、実施例８と実質的に同様であり、メモリ装置全体の動作説明を省略する。
【０１０３】
このように、本実施例１０においては、ＳＤＲＡＭデバイス２００を５個用いて２ランク構成のメモリ装置を構成しているが、明らかに、ＳＤＲＡＭデバイス２００を３個（２００ａ−１・３と２００ｃ−１）用いれば１ランク構成のメモリ装置を構成することができる。したがって、図１５Ａ、図１５Ｂ、図１５Ｃ、図１７Ａ、図１７Ｂを実現する場合に作成したプリント配線板を用いて、２ランク構成のメモリ装置（ＳＤＲＡＭデバイス２００を５個使用）と、１ランク構成のメモリ装置（ＳＤＲＡＭデバイス２００を３個使用）とを、自由に構成することができる。言い換えれば、同一構成のプリント配線板を用いて、１ランク構成と、２ランク構成との双方に対応することが可能である。
【０１０４】
＜実施例１１＞
本実施形態の実施例１１に係るメモリ装置の回路構成図が図１６Ａ、図１６Ｂ、図１６Ｃ、図１６Ｄ、図１６Ｅ、図１８Ａ、図１８Ｂ、図１８Ｃ、図１８Ｄに示されている。本実施例１１に示す例は、４ランク構成であり、データバス幅が６４ビットの例である。
また、パリティ／ＥＣＣは、８ビット以下である。また、データ幅３２ビット（ｘ３２）のＳＤＲＡＭデバイス２００ｂ−１、２００ｂ−２、２００ｂ−３、２００ｂ−４、２００ｂ−５、２００ｄ−１、２００ｄ−２、２００ｄ−３、２００ｄ−４を使用している。
【０１０５】
要するに、本実施例１１は、実施例９に対して、データバス幅を２倍の６４ビットに拡張したものである。そのため、上述したように、図１６Ａ〜図１６Ｅの部分の回路構成は、実施例９と同様である。本実施例１１は、その実施例９の構成のデータ部分に関する回路構成である図１８Ａ〜図１８Ｄに係る構成を追加して、ビット幅を６４ビット幅にしたメモリ装置である。なお、パリティ／ＥＣＣの構成は実施例９と同様であり、その説明を省略する。したがって、本実施例１０の動作は、実施例９と実質的に同様であり、メモリ装置全体の動作説明を省略する。
【０１０６】
このように、本実施例９においては、ＳＤＲＡＭデバイス２００を９個用いて４ランク構成のメモリ装置を構成しているが、明らかに、ＳＤＲＡＭデバイス２００を７個（２００ｂ−１・２・３・５と２００ｄ−１・２・３）用いれば３ランク構成のメモリ装置を構成することができる。同様に、ＳＤＲＡＭデバイス２００を５個（２００ｂ−１・２・５と２００ｄ−１・２）用いれば２ランク構成のメモリ装置を構成でき、ＳＤＲＡＭデバイス２００を３個（２００ｂ−１・５と２００ｄ−１）用いれば１ランク構成のメモリ装置を容易に構成できる。また、本実施例１１を構成するのに用いたプリント配線板と同一のプリント配線板を用いて、１〜４ランクのメモリ装置を容易に構成することが可能である。
【０１０７】
＜効果＞
以上説明したように、本実施例によれば、ＣＳ＃（チップセレクト信号）の代わりに、ＤＱＭ（データマスク信号）を用いて、アクセス対象であるランクを選択している。この結果、データをマスクするか否かのみでデータ出力（入力）を制御しているので、より迅速にデータへアクセスすることができる。その結果、ＣＳ＃を用いる場合に比べて、ランク間の競合を回避するためのウェイトの挿入をより抑制できる場合もあり、性能面での不利益が生じる可能性を減らすことができる。
【０１０８】
また、例えば、下記のような構成の場合、パリティ/ＥＣＣ用のＳＤＲＡＭデバイスの個数をランク数よりも小さくすることができ、無駄の発生を抑制することができる。
（ｉ）１６ビット幅のＳＤＲＡＭデバイスを用いて、８ビット以下のパリティ/ＥＣＣを実現する場合。
（ｉｉ）３２ビット幅のＳＤＲＡＭデバイスを用いて、８ビット以下のパリティ/ＥＣＣを実現する場合。
（ｉｉｉ）３２ビット幅のＳＤＲＡＭデバイスを用いて、１６ビット以下のパリティ/ＥＣＣを実現する場合。
（ｉｖ）３ランク以上のマルチランクメモリ装置を構成する場合であって、３２ビット幅のＳＤＲＡＭデバイスを用いて、２４ビット以下のパリティ/ＥＣＣを実現する場合。
【０１０９】
また、以上説明した構成のメモリ装置に対してＤＱＭ方式を適用することができるが、当該ＤＱＭ方式は、ＳＤＲＡＭコントローラによって実行されてもよいし、ＳＤＲＡＭコントローラを兼ねるＣＰＵによって実行されてもよい。
【０１１０】
＜特許文献との比較・検討＞
（１）上述した特許文献１においては、電子装置の内部バスよりも広いバス幅を有したメモリモジュールを使用することができる技術が開示されている。そのために、データを特定する信号の一部をデコードして、マスク信号を生成しつつ、データ入出力端子に対するデータ入出力をセグメントに対して並列に行う技術が開示されている（請求項１等）。
しかしながら、本実施形態においては、ＳＤＲＡＭデバイスを直接の制御対象としており、メモリ容量を増やすこと、性能を改善すること、等を目的としている。これに対して、特許文献１記載の技術は、メモリモジュールを制御の対象としており、バス幅の狭い機器に、バス幅の広いメモリモジュールを使用することを目的とする点で、本実施形態の技術と大きく異なる。
【０１１１】
また、特許文献１においては、パリティやＥＣＣに関する記述は全くない。パリティ／ＥＣＣ付きのメモリモジュールに関して、特許文献１の技術を適用することは困難である。一般的なパリティ／ＥＣＣ付きのメモリモジュールのパリティ／ＥＣＣ用データマスク信号は、１本しかないのが通例である。したがって、特許文献１の技術に基づく限り、セグメントを選択することは困難である。そのため、特許文献１の手法は、パリティ／ＥＣＣが付いていないメモリモジュールにのみ適用することができると考えられる。
これに対して、本実施形態の技術によれば、上述したように、特許文献１が対応できないパリティ／ＥＣＣ付きのメモリモジュールとして具現化することができ、信頼性の高いメモリを実現可能である。
【０１１２】
さらに、本実施形態の技術によれば、ＣＳ＃（チップセレクト信号）による従来のマルチランク制御方式に比べてパリティ／ＥＣＣ付きＳＤＲＡＭデバイスの個数を減少させることができるとともに、メモリとしてのアクセス性能の向上を図ることが可能である。
【０１１３】
（２）上述した特許文献２に記載の技術は、ＤＱＭ信号（データマスク信号）を、アドレス線を使用してないタイミング（すなわち、ＣＳ＃がネゲートされているタイミング）で、そのアドレス線を使用してデータマスク信号を送ろうとする技術である。その結果、データマスク信号の信号線を減少させることができるとされている。したがって、本実施形態の技術とは、その目的も、採用する技術的原理も、顕著に相違する。
特許文献２のデータマスク信号は、バイトレーンのアクセス制御という一般的な用途で用いられており、本実施形態のようにランクの選択に使用されるものではない。
【０１１４】
（３）上述した特許文献３に記載の技術は、「ＣＰＵ＋ＳＤＲＡＭ」の構成を２組ＳＩＰに収容する場合に、ＳＤＲＡＭのインターフェースを一本化するための技術である。本実施形態の技術とは、その目的も、採用する技術的原理も、顕著に相違する。特許文献３のデータマスク信号は、バイトレーンのアクセス制御という一般的な用途で用いられており、本実施形態のようにランクの選択に使用されるものではない。
【０１１５】
以上、本発明の実施形態について詳細に説明したが、前述した実施形態は、本発明を実施するにあたっての具体例を示したに過ぎない。本発明の技術的範囲は、前記実施形態に限定されるものではない。本発明は、その趣旨を逸脱しない範囲において種々の変更が可能であり、それらも本発明の技術的範囲に含まれる。
【符号の説明】
【０１１６】
１０  ＣＰＵ
１２  ＳＤＲＡＭデバイス
１４  ＳＤＲＡＭコントローラ
１６  データ線
２０ａ、２０ｂ、２０ｃ、２０ｄ  ＳＤＲＡＭデバイス
２２ａ  ＤＱＭ０
２２ｂ  ＤＱＭ１
１００ａ、１００ｂ、１００ｃ、１００ｄ、１００ｅ、１００ｆ、１００ｇ、１００ｈ、１００ｉ、１００ｊ  ＳＤＲＡＭデバイス
１０４  衝突
１０６  プロセッサーアドレス
１０８  アクティブコマンドアドレス
１１０  リードライトコマンドアドレス
１１２  ランクビット
１１４ａ、ＤＱＭ０
１１４ｂ  ＤＱＭ１
１１４ｃ  ＤＱＭ２
１１４ｄ  ＤＱＭ３
２００ａ、２００ｂ、２００ｃ、２００ｄ  ＳＤＲＡＭデバイス
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のＳＤＲＡＭデバイスのデータバスを接続して構成されたマルチランクＳＤＲＡＭの制御方法であって、
前記複数のＳＤＲＡＭデバイスのそれぞれに対して、アクセス対象であるランクのＳＤＲＡＭデバイスに対するデータマスク信号のみネゲートすることによって、前記ランクへのアクセスを実行する、マルチランクＳＤＲＡＭ制御方法。
【請求項２】
前記マルチランクＳＤＲＡＭは、２の累乗のランク数で構成されており、前記マルチランクＳＤＲＡＭのアドレスの下位ビットでランクの選択を実行する、請求項１記載のマルチランクＳＤＲＡＭ制御方法。
【請求項３】
前記ランクの選択を行う下位ビットの一つ上のアドレスビット群を、前記複数のマルチランクＳＤＲＡＭデバイスのカラムアドレスとして用いる、請求項２記載のマルチランクＳＤＲＡＭ制御方法。
【請求項４】
前記データマスク信号は、バイトレーン単位でリードまたはライトのデータをマスクする信号である、請求項１から３のいずれか１項に記載のマルチランクＳＤＲＡＭ制御方法。
【請求項５】
前記複数のＳＤＲＡＭデバイスのうちの１個以上のＳＤＲＡＭは、パリティ及び／又はＥＣＣビットのためのＳＤＲＡＭデバイスである、請求項１から４のいずれか１項に記載のマルチランクＳＤＲＡＭ制御方法。
【請求項６】
請求項１〜５のいずれか一項に記載のマルチランクＳＤＲＡＭ制御方法を実行するＳＤＲＡＭコントローラ。
【手続補正書】
【提出日】平成30年6月7日(2018.6.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のＳＤＲＡＭデバイスのデータバスを接続して構成されたマルチランクＳＤＲＡＭの制御方法であって、
前記複数のＳＤＲＡＭデバイスのそれぞれに対して、アクセス対象であるランクのＳＤＲＡＭデバイスに対するデータマスク信号のみネゲートすることによって、前記ランクへのアクセスを実行する、マルチランクＳＤＲＡＭ制御方法。
【請求項２】
前記マルチランクＳＤＲＡＭは、２の累乗のランク数で構成されており、前記マルチランクＳＤＲＡＭのアドレスの下位ビットでランクの選択を実行する、請求項１記載のマルチランクＳＤＲＡＭ制御方法。
【請求項３】
前記ランクの選択を行う下位ビットの一つ上のアドレスビット群を、前記複数のＳＤＲＡＭデバイスのカラムアドレスとして用いる、請求項２記載のマルチランクＳＤＲＡＭ制御方法。
【請求項４】
前記データマスク信号は、バイトレーン単位でリードまたはライトのデータをマスクする信号である、請求項１から３のいずれか１項に記載のマルチランクＳＤＲＡＭ制御方法。
【請求項５】
前記複数のＳＤＲＡＭデバイスのうちの１個以上のＳＤＲＡＭは、パリティ及び／又はＥＣＣビットのためのＳＤＲＡＭデバイスである、請求項１から４のいずれか１項に記載のマルチランクＳＤＲＡＭ制御方法。
【請求項６】
請求項１〜５のいずれか一項に記載のマルチランクＳＤＲＡＭ制御方法を実行するＳＤＲＡＭコントローラ。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
（３）  （２）のマルチランクＳＤＲＡＭ制御方法において、前記ランクの選択を行う下位ビットの一つ上のアドレスビット群を、前記複数のＳＤＲＡＭデバイスのカラムアドレスとして用いてもよい。