(57)【特許請求の範囲】
【請求項１】
少なくとも１つのダイナミックランダムアクセスメモリ（ＤＲＡＭ）バンクを含むメモリアレイに対してアクセスを実行するメモリ制御装置であって、個々のアクセスパラメータに従ってそれぞれ定義される様々な型のＤＲＡＭバンクに適応可能であるメモリ制御装置において、
各ＤＲＡＭバンクに対応する少なくとも１つのプログラマブルな記憶手段にして、対応するＤＲＡＭバンクをアクセスするために必要なアクセスパラメータが記憶されるようにプログラムされている、少なくとも１つのプログラマブルな記憶手段を備え、
前記記憶手段に結合したメモリインタフェース回路にして、各ＤＲＡＭバンクに対して、それに対応した記憶手段にあるアクセスパラメータに従ってアクセスできるよう適正なシーケンスおよびタイミングでメモリ制御信号を発生するメモリインタフェース回路を備え、
前記記憶手段の内容の一部によって対応するＤＲＡＭバンクのための制御信号が定められ、その制御信号によって、前記メモリインタフェース回路から、対応するＤＲＡＭバンクのアクセスに必要な列アドレスストローブ（ＣＡＳ）信号および書込みイネーブル（ＷＥ）信号が与えられるように構成され、
前記記憶手段の内容の一部によって、前記メモリインタインタフェース回路において受信したＣＡＳ信号の論理和演算を行うか否かを含めてＣＡＳ信号の生成が制御されて、ＤＲＡＭバンクのアクセスに必要なＣＡＳ信号が生成され、
前記記憶手段の内容の一部によって、前記メモリインタフェース回路において受信したＷＥ信号の論理和演算を行うか否かを含めてＷＥ信号の生成が制御されて、ＤＲＡＭバンクのアクセスに必要なＷＥ信号が生成される
ことを特徴とするメモリ制御装置。
【請求項２】
複数のダイナミックランダムアクセスメモリ（ＤＲＡＭ）メモリを含むメモリアレイに対してアクセスを実行するメモリ制御装置であって、個々のアクセスパラメータに従ってそれぞれ定義される様々な型のＤＲＡＭバンクに適応可能であるメモリ制御装置において、
複数のＤＲＡＭバンクにそれぞれ対応する複数のプログラマブルなレジスタにして、対応するＤＲＡＭバンクをアクセスするために必要なアクセスパラメータが記憶されるようにプログラムされている、複数のプログラマブルなレジスタを備え、各レジスタの内容の一部によって対応するＤＲＡＭバンクの列アドレスストローブ（ＣＡＳ）信号が制御され、
前記複数のレジスタに結合したメモリインタフェース回路にして、各ＤＲＡＭバンクに対して、それに対応したレジスタにあるアクセスパラメータに従ってアクセスできるよう適正なシーケンスおよびタイミングでメモリ制御信号を発生するメモリインタフェース回路を備え、
前記レジスタの内容の一部によって、前記メモリインタフェース回路において、ＣＡＳバイト論理和演算を行ってＣＡＳ信号が発生されるか否かが制御され、
前記レジスタの内容の一部によって、前記メモリインタフェース回路において、ＣＡＳバンク論理和演算を行ってＣＡＳ信号が発生されるか否かが制御される
ことを特徴とするメモリ制御装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、メモリ制御装置の分野に関し、特に、複数のダイナミックランダムアクセスメモリ（ＤＲＡＭ）列アドレス指定モードを支援するＤＲＡＭ制御装置に関する。
【０００２】
【従来の技術】
あらゆるコンピュータシステムにおいて、メモリは重要な役割を演じる。ダイナミックランダムアクセスメモリ（ＤＲＡＭ）は一般にコンピュータシステムでは主メモリとして使用される。ＤＲＡＭはビット（×１ビット）、ニブル（×４ビット）、バイト（×８ビット）又は語（×１６ビット）のデータ編成で構成されれば良く、その速度は約７０ｎｓから１５０ｎｓにわたる。最も一般的なＤＲＡＭは大型１ビット型と、ニブル（×４）型である。コンピュータシステムで使用するＤＲＡＭは、通常、交換可能なメモリカードに配置される。
【０００３】
典型的なＤＲＡＭをアクセスするときには多重化アドレスを使用し、それらのアドレスを２つのグループに分割する。一方のグループは行のアドレスを指定し、他方のグループは列をアドレス指定するために使用される。それら２つのグループをＤＲＡＭのピンに多重化するのであるが、まず最初に行アドレスストローブ（ＲＡＳ）により行アドレスを報知し、次に、列アドレスストローブ（ＣＡＳ）により列アドレスを報知する。データの書込み又は読取りは（ＣＡＳの印加に続く）書込みイネーブル（ＷＥ）信号に従ってＤＲＡＭに対して実行される。ＤＲＡＭを利用するために必要とされる多重化アドレス、ＲＡＳ、ＣＡＳ及びＷＥの各信号の適正なシーケンスを発生する方法はいくつかある。
【０００４】
高集積化中央処理装置（ＣＰＵ）利用システムの中には、多重バンクＤＲＡＭを組込んだものもある。多重バンクＤＲＡＭに対するアクセスを制御するために、ＤＲＡＭメモリ制御装置を利用する。ＤＲＡＭメモリ制御装置はＤＲＡＭバンクごとに個別のＣＡＳ信号と、ＷＥ信号とを発生する。近年、異なる信号のインタフェースに従ってアクセスを実行できる新たなＤＲＡＭ構成を利用できるようになった。それらの新しいＤＲＡＭメモリカードの中には、個々のＣＡＳ信号とＷＥ信号を選択的に共用する複数のバンクを有するものもある。そのような構成では、バンク内部で又は複数のＤＲＡＭバンクに対してバイト間でＣＡＳ信号又はＷＥ信号を論理的に「論理和演算」する。言いかえれば、ＤＲＡＭカードによっては、カードごとに１つのＣＡＳ信号と２つのＷＥ信号を要求するものもあり、あるいは、カードごとに２つのＣＡＳ信号と１つのＷＥ信号を要求するものもある。さらに、単一バンクＤＲＡＭメモリカード又は多重バンクＤＲＡＭバンクの中には、１つのバンクに関わるＣＡＳ信号とＷＥ信号を第２のＤＲＡＭバンクにより使用できるものもある。従って、それらの新たなＤＲＡＭカードは１つのバンクの中で、また、複数のＤＲＡＭバンクに対してＣＡＳ信号及びＷＥ信号を共用する。
【０００５】
新しい形態のＤＲＡＭメモリカードに対してインタフェースを構成するためには、外部論理が必要である。外部論理はＣＡＳ信号又はＷＥ信号いずれかの論理的「論理和演算」を実行する。ところが、この外部論理はタイミングマージンをそこないかねない望ましくない遅延をもたらす。さらに、外部論理はシステムのチップ数をも増加させる。加えて、この外部論理は、取り外し自在で且つ再構成可能なＤＲＡＭカードの使用、あるいは、柔軟性に富むＤＲＡＭのアップグレードをはばむ「固定」、すなわち、ハードワイヤードＤＲＡＭインタフェースを作成する。
【０００６】
【発明が解決しようとする課題】
本発明は複数の型のバンクに対応するようにＤＲＡＭ制御装置をプログラムすることを課題とする。さらに、本発明の課題はＤＲＡＭ制御装置が複数の型のバンクに同時に対応することができるようにすることである。そのＤＲＡＭ制御装置はＣＡＳ信号及びＷＥ信号の内部論理制御を実行する。結局、本発明の課題は、多様なＤＲＡＭデバイスを直接に支援すると共に、外部論理なしにＤＲＡＭメモリカードを支援するＤＲＡＭ制御装置を提供することである。
【０００７】
【課題を解決するための手段】
ダイナミックランダムアクセスメモリ（ＤＲＡＭ）のメモリ制御装置を説明する。本発明のメモリ制御装置は、少なくとも１つのＤＲＡＭバンクを有するメモリアレイに対してアクセスを実行する。メモリアレイがメモリ内に異なる構成のＤＲＡＭバンクを有することができるように、メモリ制御装置は様々な型のＤＲＡＭバンクに適応可能である。
【０００８】
メモリ制御装置は複数のプログラマブル記憶レジスタを含み、メモリアレイ中のどのＤＲＡＭバンク記憶場所も１つのレジスタと関連している。各々のプログラマブルレジスタは、関連するＤＲＡＭバンクをアクセスするために必要であるアクセスパラメータを記憶するようにプログラムされる。本発明のメモリ制御装置は、メモリ中のＤＲＡＭバンクの各々にその必要な制御信号を関連する記憶レジスタにあるアクセスパラメータに従った適正なシーケンスとタイミングで供給するように構成されている回路をさらに含む。このように、本発明は、メモリアレイが複数の型のＤＲＡＭバンクを同時に有している場合でも、メモリアレイの異なる型のＤＲＡＭバンクに対応することができる。プログラマブルレジスタの編成は、他の物理的ＤＲＡＭバンクに影響を及ぼさずに単一のレジスタをプログラムできるようなものである。現時点で好ましい実施例では、ＤＲＡＭタイミングパラメータと、ＤＲＡＭバンクサイズと、ＤＲＡＭ行アドレス指定及び再生モード並びにＤＲＡＭ列アドレス指定及び再生モードとを個別に制御するために、各ＤＲＡＭバンクは独自の３２ビットレジスタと関連している。
【０００９】
【実施例】
本発明は以下の詳細な説明と、本発明の好ましい実施例を示す添付の図面とからさらに十分に理解されるであろう。ただし、それらは本発明を特定の実施例に限定するものとしてみなされるべきではなく、説明と理解を目的としているにすぎない。
【００１０】
ＤＲＡＭメモリに対するアクセスを制御するＤＲＡＭ制御装置を説明する。以下の説明中、本発明の好ましい実施例を完全に理解させるために、特定のビット数、特定のタイミングなどの特定の詳細な事項を数多く挙げる。それらの特定の詳細な事項がなくとも本発明を実施しうることは当業者には自明であろう。また、本発明を無用にわかりにくくするのを避けるために、周知の装置については詳細にではなく、ブロック線図の形態で示した。
【００１１】
この出願においては、一般に、信号を信号名によって表わす。特定していえば、本発明の趣旨から逸脱せずに信号名を変更することもある。さらに、信号の状態はハイ又はロー、１又は０、真又は偽などに対立するものとして、活動又は非活動であると表わす。ローであるときに活動状態である信号はバー××××（＼）により指示される。
【００１２】
信号群を説明する際には、１本のバスの３２本のデータ線全てを表わすためにＭＤＡ（３１：０）を使用するなどの１０進基数規約を使用しても良い。各群の中で、その群の最下位ビットは接尾辞「０」を伴って表わされる。言いかえれば、ＭＤＡ０はバスの最下位データ線を表わし、ＭＤＡ３１は最上位データ線を表わす。
【００１３】
図１は、主メモリ１０３を組込んだコンピュータシステムを示す。ホストマイクロプロセッサ１０１と主メモリ１０３との間にはマイクロプロセッサインタフェース１０２がある。情報はホストマイクロプロセッサ１０１とマイクロプロセッサインタフェース１０２との間で内部ホストバス１０８を介して渡される。マイクロプロセッサインタフェース１０２はメモリに対する情報をメモリバスバッファ１０４へ出力する。情報はマイクロプロセッサインタフェース１０２と、メモリバスバッファ１０４と、主メモリ１０３との間でバス１０５を介して渡される。以下に詳細に説明するが、主メモリ１０３はアレイインタフェース１０６と、メモリアレイ１０７とを含む。
【００１４】
メモリインタフェースはメモリアレイに対して要求される行アドレスストローブ（ＲＡＳ）と、列アドレスストローブ（ＣＡＳ）と、書込みイネーブル（ＷＥ）ストローブとを発生する。本発明では、メモリアレイはＤＲＡＭメモリの１つ又は複数のバンクから構成されている。さらに、各バンクを１つのカードとして又は一連のメモリカードとしてメモリアレイに統合できるであろう。現時点で好ましい実施例においては、メモリアレイは５つの別個のＤＲＡＭのバンクを有していることが可能である。メモリは４つ以下のバンクを伴って動作可能である。メモリインタフェースは、それぞれのバンクごとにＲＡＳ、ＣＡＳ及びＷＥの各信号を供給するＤＲＡＭ制御装置である。言いかえれば、５つの別個のＤＲＡＭのバンクに関わるＲＡＳ信号、ＣＡＳ信号及びＷＥ信号を発生することができる。メモリのバンクごとに、本発明の制御装置は１つのＲＡＳ信号と、４つのＣＡＳ信号（すなわち、バイトごとに１つずつのＣＡＳ１、ＣＡＳ２、ＣＡＳ３及びＣＡＳ４）とを供給することができる。４つのＷＥ信号（すなわち、バイトごとに１つずつのＷＥ１、ＷＥ１、ＷＥ２、ＷＥ３）は、バンクを通して共用される。しかしながら、ＤＲＡＭアレイの必要条件に従って、本発明を別の量のＲＡＳ信号、ＣＡＳ信号及びＷＥ信号を供給するように構成できるであろうということに注意すべきである。
【００１５】
本発明は多種多様なＤＲＡＭ及びＤＲＡＭカードを支援する。図２〜図５は、本発明と矛盾しない４つのＤＲＡＭ配列を示す。図２を参照すると、バンク０  ２１２と、バンク１  ２１３とを有するカード２０１が示されている。カード２０２〜２０４はカード２０１と同じ２バンク構成を有する。それぞれのカード２０１〜２０４に対するインタフェースはＲＡＳ０  ２１４及びＲＡＳ１  ２１５として示されている２つのＲＡＳ信号と、図示するような１つのＣＡＳ信号２１６とを必要とする。それぞれの他のカードは、同じ２つのＲＡＳ信号を利用する。一方、カードは全て異なるＣＡＳ信号を利用する。ＤＲＡＭカードが共通のＣＡＳ信号と共に２つのバンクを利用する場合、本発明のＤＲＡＭ制御装置はバンクごとにＣＡＳ信号についてＣＡＳバンク論理和演算を実行しなければならないので、バンク０に関わるＣＡＳと、バンク１に関わるＣＡＳとは共通ＣＡＳ信号２１６を発生する。同様に、カード２０２〜２０４についても、バンク０とバンク１の各々のＣＡＳ信号を論理的に「論理和演算」して、各バンクをアクセスするための単一のＣＡＳを発生しなければならない。このように、４つのカードの全てにバンクＣＡＳ論理和演算を使用すると、３２により構成される２つのメモリバンクが得られる結果となる。従って、図２のＤＲＡＭ構成については、ＤＲＡＭ制御装置はカードごとに２つのＲＡＳ信号を供給し、ＣＡＳバンク論理和演算を実行する。各カードの各バンクはバイト指向であることに注意すべきである。従って、コンピュータシステムの要求に応じて、メモリアレイは１バイトから４バイトの長さの記憶スペースを形成するために１つから４つのそのようなカードを採用することができるであろう。さらに、４つの別個に１バイトカードの代わりに１つの３２ビットカード又は３２ビットデバイスを使用することも可能であろう。いずれの場合にも、ＤＲＡＭ制御装置はバンクごとに唯一つのＲＡＳしか供給できず、この種のＤＲＡＭ配列はバンクごとに１つずつ、２つのＲＡＳ信号を要求するので、このＤＲＡＭ配列では、メモリアレイで２つのメモリバンクを使用しなければならない。
【００１６】
図３は、ＤＲＡＭの別の変形を示す。図３を参照すると、カード又はデバイス２２０は、信号線２２５の共通ＣＡＳ信号（ＣＡＳＡ）と、信号線２２４の共通ＲＡＳ信号とを共用してアクセスされる一方で、それぞれＷＥ１  ２２６及びＷＥ０  ２２７として示されている別個のＷＥ信号を有する２つのバイト、バイト１  ２２２及びバイト０  ２２３を伴うものとして示されている。カード又はデバイス２２１も同一の構成を有し、１バンクに合わせて４つのバイトが含まれることになる。この構成では、２つのバイトの間でＣＡＳ信号を共用するので、本発明のＤＲＡＭ制御装置によりＣＡＳバイト論理和演算を実行しなければならない。そこで、バイト０とバイト１についてそれぞれＣＡＳ０信号と、ＣＡＳ１信号とを論理和演算することによりＣＡＳ信号を発生して、ＣＡＳＡ信号２２５を得る。カード又はデバイス２２１は、ＲＡＳ信号及びＣＡＳ信号を共用し、ＷＥ信号は個別である（ＷＥ２，ＷＥ３）という同一の構成を使用するバイト２及びバイト３を含む。カード又はデバイス２２１も、ＣＡＳ信号を発生するためにバイト２に関わるＣＡＳ信号（ＣＡＳ２）と、バイト３に関わるＣＡＳ信号（ＣＡＳ３）とを論理和演算することにより共通ＣＡＳ信号（ＣＡＳＢ）を発生することを要求する。カード又はデバイス２２０及び２２１は唯一つのＲＡＳ信号と、ＣＡＳ信号と、４つのＷＥ信号とを必要とするので、本発明のメモリアレイで双方のカード又はデバイスが必要とするバンクは唯一つである。そうであっても、本発明のＤＲＡＭ制御装置は同一のカード又は同一のデバイスの４つのバイト全てを有するＤＲＡＭについてＣＡＳ論理和演算を実行できるであろう。
【００１７】
図４は、別の種類のＤＲＡＭカード又はデバイスを示す。２つの別個のカード又はデバイス２３０及び２３１が示されており、各カード又はデバイスは、そのカード又はデバイスにおける情報の各バイトをアクセスするために、個別のＣＡＳ信号（たとえば、ＣＡＳ１  ２３８及びＣＡＳ０  ２３９）と共用ＲＡＳ信号（たとえば、２３６）と共にバイト間で共用されるＷＥ信号（たとえば、ＷＥＡ２３７）を使用する。各々のカード又は装置２３０及び２３１について共用ＷＥ信号を発生するために、ＷＥ信号を論理的に論理和演算しなければならない。従って、カード又はデバイス２３０の場合には、バイト０  ２３３に関わるＷＥ０と、バイト１  ２３２に関わるＷＥ１とを論理和演算して、バイト１  ２３２とバイト０  ２３３の双方に対してＷＥＡ２３７を発生する。同様に、カード２３１の場合には、バイト２  ２３４に関わるＷＥ信号ＷＥ２と、バイト３  ２３５に関わるＷＥ信号ＷＥ３とを論理和演算し、共通のＷＥＢを発生する。バイト２２３４及びバイト３  ２３５はカード又はデバイス２３０と同じＲＡＳ信号をも必要とし且つ個別のＣＡＳ信号ＣＡＳ２及びＣＡＳ３を有することに注意すべきである。カード又はデバイス２３０及び２３１は合わせて１つのＲＡＳ信号と、バイトごとに１つ（合わせて４つ）のＣＡＳ信号と、４つのみのＷＥ信号（２つの共通ＷＥ信号を発生するため）とを要求するだけであるので、双方のカード２３０及び２３１はメモリアレイで１つのバンクを利用するにすぎない。語構成のシステムにおいては同一のカード又はデバイスに２つの１６ビット（２バイト）ブロックが存在できることに注意すべきである。メモリデータバスが１６ビットであるか又は３２ビットであるかに従って、１６倍（×１６）カード又はデバイスはバンク１つ分又はバンク半分に相当することになるであろう。同様に、カード又はデバイス２３０及び２３１を３２ビットシステムについて１つのカードとして又は２つのデバイスとして構成することも可能であろう。
【００１８】
図５は、３２ビットカード２４０である別のＤＲＡＭ配列を示す。カード２４０は、ＣＡＳ２５０、ＣＡＳ２４９、ＣＡＳ２４８及びＣＡＳ２４７をそれぞれ使用してアクセスされる４つのバイト、すなわち、バイト０  ２４１、バイト１２４２、バイト２  ２４３及びバイト３  ２４４を有する。それらのバイトは１つのＲＡＳ信号２４５と、ＷＥＣ２４６として表わされている共通ＷＥ信号とを共用する。ＷＥＣ信号２４６は、バンクに関わる４つのＷＥ信号全てを論理的に論理和演算することにより発生される。図５の構成はメモリシステムの１つのバンクを要求する。
【００１９】
従って、システムで使用しうるＤＲＡＭは、１６／１８ビットＤＲＡＭデバイスごとに単一のＣＡＳ信号と２つのＷＥ信号を支援できるか、あるいは、デバイスごとに２つのＣＡＳ信号と１つのＷＥ信号を支援できるかのいずれかであるメモリ制御装置を必要とする。本発明は、ＤＲＡＭバンクごとにプログラマブル記憶装置（たとえば、レジスタ）と、ＣＡＳ信号バッファとを設けることにより、どのようなＤＲＡＭ編成でも支援する能力を提供する。プログラマブル記憶装置は、個々のＣＡＳ信号とＷＥ信号を制御する複数の独立した構成のレジスタである。それらのレジスタは、ＤＲＡＭバンクごとのＣＡＳ信号とＷＥ信号を内部で「論理和演算」すべきか否かを判定する。本発明では、異なるＤＲＡＭバンクで使用すべきどのような編成のＤＲＡＭであっても、メモリシステムのその他のＤＲＡＭバンクとは無関係に使用することができる。従って、本発明のプログラム可能な１組のレジスタは１つ又は２つ以上のＤＲＡＭバンクに関して個々のＣＡＳ信号及びＷＥ信号の発生と印加を制御する。
【００２０】
本発明は、個々のＣＡＳストローブとＷＥストローブを２つ以上のＤＲＡＭバンク又はバイトにより選択的に共用できる多重バンクＤＲＡＭメモリカードについても、ＣＡＳ及びＷＥの発生を実行する。本発明のレジスタは、１つのバンクの中で又は複数のＤＲＡＭバンクに対して内部論理和演算できるＣＡＳ信号を発生するための柔軟性に富むメカニズムを構成する。本発明は、外部論理又は復号なしに、デバイスごとに１つのＣＡＳと２つのＷＥ信号を必要とするか、又は２つのＣＡＳと１つのＷＥ信号を必要とするＤＲＡＭを支援する。本発明は、単一バンクＤＲＡＭメモリカード又は１つのバンクに関わるＣＡＳストローブとＷＥストローブを第２のＤＲＡＭバンクにより共用できる多重バンクＤＲＡＭメモリカードをも支援する。本発明は、ＣＡＳ及び書込みイネーブルの論理和演算を支援するためのユーザーアクセス可能ソフトウェア制御及び外部集積ハードウェアバッファをさらに提供する。
【００２１】
図６は、本発明のバンク構成レジスタの現時点で好ましい実施例を示す。図６を参照すると、現時点で好ましい実施例は５つのレジスタ３０１〜３０５を使用する。バンク構成レジスタはプログラム可能である。レジスタは、メモリバンクに対してインタフェースを構成するようにレジスタに適正な値をロードするためにソフトウェアを使用できるという点でプログラム可能である。バンク記憶場所におけるＤＲＡＭの型と、そのＤＲＡＭバンクに対するアクセスを可能にするために要求される他の何らかのメモリパラメータとをユーザーの側から指示させるメニュー駆動ソフトウェアを使用して、レジスタをロードできるであろう。レジスタをプログラムするために、自己構成ソフトウェアを使用することもできる。自己構成ソフトウェアは各バンクのメモリカードを走査し、アクセスが得られるように要求されるメモリカードの型と構成を確定する。
【００２２】
本発明で利用されるレジスタはどのような長さであっても良い。現時点で好ましい実施例においては、レジスタの長さは３２ビットである。各レジスタはメモリ中の１つのバンクと関連している。本発明のＤＲＡＭ制御装置には５つの３２ビットバンクレジスタがある。各レジスタは所定の１つのバンクに関する必要な全てのパラメータを規定する。それらのレジスタは複数のフィールドに分割されても良い。現時点で好ましい実施例では、それらのフィールドはバンク境界フィールドと、ＲＡＳ／ＣＡＳタイミングパラメータフィールドと、アドレスＭＵＸ及びＷＥ／ＣＡＳ出力ピン定義を制御するＭＵＸ制御フィールドとを含む。加えて、現時点で好ましい実施例においては、レジスタの別のフィールドはＤＲＡＭにより使用される再生モードを規定する。
【００２３】
バンク境界フィールドはバンクのアドレス範囲の上限を指定する。バンク境界フィールドによって、アドレススペースをその範囲にマッピングできる。このフィールドは、バンクがその時点で関連するメモリを有しているか否かを指示するイネーブルバンクサブフィールドをさらに含む。現時点で好ましい実施例では、バンク境界フィールドはバンク構成レジスタのビット０〜７である。また、現時点で好ましい実施例においては、イネーブルバンクサブフィールドは１つのビット、すなわち、ビット７から構成され、バンク境界フィールドは６つのビット、すなわち、ビット０〜５から構成される（図６に５つの構成レジスタの全てについて示す通り）。
【００２４】
現時点で好ましい実施例においては、バンク０のサイズが１メガバイトである場合、バンク０の境界値を００ｈに設定する。次のバンクの範囲は先のバンクの境界＋１からそのバンク自体の境界まで設定される。たとえば、バンク１の範囲はバンクの境界０＋１からバンク１の境界までである。すなわち、所定のバンクｎはバンク（ｎ−１）＋１について指定される境界からバンクｎの境界により指定されるアドレスまで存在することになる。
【００２５】
ＲＡＳ／ＣＡＳタイミングパラメータフィールドはＣＡＳアクセス時間と、ＲＡＳ−ＣＡＳアクセス時間と、ＲＡＳプリチャージ時間とを規定する。ＣＡＳアクセス時間は、有効アクセスに関してＣＡＳが活動状態のままでいなければならないＣＰＵクロックの数を指示する。ＲＡＳ−ＣＡＳアクセス時間はＣＡＳアクセス時間に類似しているが、ＣＡＳが活動状態になることができる前のＲＡＳ活動状態からの時間を表わす。ＲＡＳ−ＣＡＳアクセス時間にＣＡＳアクセス時間を加えたものは、要求されるＲＡＳアクセス時間に等しい。ＲＡＳプリチャージ時間は、活動ロー状態によってアクセスするのに先立ってＲＡＳがハイのままでいなければならないクロックの数を表わす。
【００２６】
現時点で好ましい実施例では、ＲＡＳ／ＣＡＳタイミングパラメータフィールドはバンク構成レジスタのビット８〜１５から構成されている。さらに、ＣＡＳアクセス時間はＲＡＳ／ＣＡＳタイミングパラメータフィールドのビット８〜１０で表わされ、ＲＡＳ−ＣＡＳアクセス時間はビット１２及び１３で表わされ、ＲＡＳプリチャージ時間はビット１４〜１５で表わされる。
【００２７】
現時点で好ましい実施例では、以下に示すアクセス時間（すなわち、活動パルス幅）を利用する：
【００２８】
0003590413.tif 000002
【００２９】
また、現時点で好ましい実施例では、次のＲＡＳ−ＣＡＳアクセス時間を利用する：
【００３０】
0003590413.tif 000003
【００３１】
また、現時点で好ましい実施例では、次のＲＡＳプリチャージ時間を利用できる：
【００３２】
0003590413.tif 000004
【００３３】
行アドレスＭＵＸ制御フィールドはアドレスＭＵＸ及びＷＥ／ＣＡＳ出力ピン定義を制御する。現時点で好ましい実施例においては、行アドレスＭＵＸ制御フィールドは行アドレスサブフィールドと、ＷＥ／ＣＡＳ論理和演算サブフィールドとから構成されている。行アドレスサブフィールドはＤＲＡＭバンクの行アドレス構成を規定する。現時点で好ましい実施例では、ＤＲＡＭの所定のバンクが指定された数の行と、指定された数の列とのアドレス指定を要求する場合には、ＤＲＡＭ制御装置が適正な行・列アドレス指定方式を生成するように、ビットを所定の方式でプログラムする。たとえば、ＤＲＡＭの所定の１つのバンクが９つの行ビットと、９つの列ビットとのアドレス指定を要求するならば、サブフィールドのビットは００Ｈにプログラムされる。ＤＲＡＭが１３個の行ビットと、１１個の列ビットとを要求する場合には、このサブフィールドは０３Ｈにプログラムされる。
【００３４】
現時点で好ましい実施例では、行アドレスサブフィールドは各バンクレジスタの４つのビット１６〜１９から構成されている。以下の表４は、サブフィールドをその対応する行／列アドレス指定方式に対してプログラムすべき値の現時点で好ましい実施例を示す：
【００３５】
0003590413.tif 000005
【００３６】
表５は、表４の様々な行・列アドレス指定方式を実行するために、現時点で好ましい実施例のアドレスマルチプレクサ制御フィールドのビット１６〜１９のビット設定に従って行アドレスで利用されるビット指定を示す。
【００３７】
0003590413.tif 000006
【００３８】
ＭＵＶ制御フィールドの他方のサブフィールドは、ＷＥ論理和演算が活動中であるか又はＣＡＳ論理和演算が活動中であるかを定義する。このサブフィールドのビットをセットすることにより、本発明は唯１つのＣＡＳと２つのＷＥ信号、もしくは２つのＣＡＳ信号と１つのＷＥ信号のいずれかを使用するＤＲＡＭカード編成を支援するのである。
【００３９】
フィールド中の所定数のビットは、ＷＥ論理和演算が活動中であるか（すなわち、使用すべきであるか）否かを指示する。ＷＥ論理和演算は、２本のＣＡＳ線と、１つのＷＥ信号とを支援する１６ビットＤＲＡＭカードを採用するときである。選択されたときには、その特定のバンクについて第２及び第３のＷＥ信号ＷＥ２及びＷＥ３を論理和演算し、ＷＥ２へ出力する。同様に、選択されたときには、ＤＲＡＭ制御装置のＷＥ１とＷＥ０の信号を論理和演算し、ＷＥ０へ出力する。この状況では、ＷＥ３とＷＥ１は非活動状態のままである。５つのバンク全てにまたがって書込みイネーブル信号を使用するので、それらのピンのモードは、その時点でどのバンクが選択されているか及びそのバンクのレジスタにおいてＷＥ活動状態に対応するビットがセットされているか否かに従って変化する。現時点で好ましい実施例では、ＷＥ論理和演算サブフィールドは各々のバンク構成レジスタの１つのビット、ビット２０から構成されている。
【００４０】
バンク構成レジスタのＣＡＳ／ＷＥ生成部分のその他のサブフィールドの１つは、共通ＷＥ信号（ＷＥＣ）が利用されているか否かを表わす。活動状態であるとき、全てのデータ線に対してＷＥＣは駆動されるが、ＷＥ〔３：０〕信号はディスエーブルされる。現時点で好ましい実施例では、３２ビットメモリカードに対して共通ＷＥ、すなわち、ＷＥＣを使用する。現時点で好ましい実施例においては、共通ＷＥイネーブルサブフィールドは各バンク構成レジスタの１つのビット、ビット２１から構成されている。
【００４１】
ＣＡＳ／ＷＥ生成に関わるサブフィールドの別の部分は、ＣＡＳバイト論理和演算が起こるべきか否かを指示する。現時点で好ましい実施例では、１つのＣＡ信号と２つのＷＥ信号を支援する１６ビットＤＲＡＭカードを使用するときに、ＣＡＳバイト論理和演算を使用する。選択されたときには、その特定のバンクに関わるＣＡＳ信号を論理和演算する。たとえば、バンクＸについてＣＡＳバイト論理和演算を選択した場合には、ＣＡＳ×３とＣＡＳ×２を論理和演算し、ＣＡＳ×２へ出力する一方で、ＣＡＳ×１とＣＡＳ×０を論理和演算し、ＣＡＳ×０へ出力する。現時点で好ましい実施例では、ＣＡＳバイト論理和演算サブフィールドは各バンク構成レジスタの１つのビット、ビット２２から構成されている。
【００４２】
別のサブフィールドは、ＣＡＳバンク論理和演算を利用すべきか否かを指示する。現時点で好ましい実施例では、ＣＡＳバンク論理和演算は５つのＤＲＡＭバンクのうち２対のバンク、すなわち、バンク２及び３並びにバンク４及び５にのみ存在する。バンク２のビットフィールドはバンク２とバンク３との間のＣＡＳ論理和演算を制御し、また、バンク４のビットはバンク４とバンク５との間のＣＡＳ論理和演算を制御する。バンク２及び３に関してセットされたとき、ＣＡＳ３出力はディスエーブルされるが、ＣＡＳ２出力はバンク２又はバンク３のいずれかに対するアクセスのために活動状態になる。バンク４及び５に関してセットされたときには、ＣＡＳ５出力はディスエーブル状態となるが、ＣＡＳ４出力はバンク４又はバンク５のいずれかに対するアクセスのために作用する。バンク２とバンク３との間、もしくはバンク４とバンク５との間でパイプラインサイクルが起こったときには、先のＣＡＳ信号と次のＲＡＳ信号との重複が起こらないように保証するために、待機状態に入る。現時点で好ましい実施例では、ＣＡＳバンク論理和演算サブフィールドは各バンク構成レジスタの１つのビット、ビット２３から構成されている。
【００４３】
現時点で好ましい実施例では、行アドレスＭＵＸ制御フィールドはバンク構成レジスタのビット１６〜２３から構成されている。さらに、ビット１６〜１９はＤＲＡＭ行アドレス構成を定義し、ビット２０〜２３はＷＥ論理和演算が活動中であるか又はＣＡＳ論理和演算が活動中であるかを規定する。
【００４４】
各々のバンク構成レジスタの別のサブフィールドは、特定の１つのバンクで使用されるＤＲＡＭに関わる再生モードを指示する。自己再生のためにプログラムされている場合、再生中、バンクのそのＲＡＳ／ＣＡＳ信号はロックされたロー状態にとどまる。自己再生のプログラミングがなされていないバンクは、いずれも、要求メカニズムとしてクロックを使用し、パワーダウン中を通してＣＡＳがローのままの状態でＲＡＳをトグルする。現時点で好ましい実施例においては、自己再生サブフィールドは各バンク構成レジスタの１つのビット、ビット２４から構成されている。
【００４５】
本発明のＤＲＡＭ制御装置の現時点で好ましい実施例を図７に示す。図７を参照すると、ＤＲＡＭ制御装置４００は、バストラッカ、デコーダ及びレジスタブロック４０１と、再生論理４０２と、アドレスデコーダ４０７と、制御論理４０６と、アドレスＭＵＸ論理４０８と、出力論理４０５と、ウオッチドッグタイマ４０４と、パリティ論理４０３とを含む。バストラッカ、デコーダ及びレジスタブロック４０１はホストデータバス４５０に結合している。ブロック４０１はホストから信号線４２６を介して制御入力を受信すると共に、アドレスデコーダ４０７から信号線４２７を介してバンク記述番号を受信するようにも結合している。レジスタブロック４０１は信号線４２４へ出力を発生し、その出力はアドレスデコーダ４０７へ送信される。レジスタブロック４０１は、出力論理４０５に結合する信号線４４４へも出力を発生する。再生論理４０２はホストから信号線４２５を介して制御入力を受信するように結合しており、出力論理４０５へ出力されて結合するＲＡＳ／ＣＡＳイネーブル信号を信号線４２１へ発生する。アドレスデコーダ４０７はホストから信号線４３３を介してアドレスビット１１〜２８を受信すると共に、ブロック４０１から信号線４２４を介してレジスタ出力を受信するように結合している。アドレスデコーダ４０７は制御論理４０６からもラッチ信号４４０を受信するように結合している。アドレスデコーダ４０７はバンク番号信号を発生し、その信号を信号線４２８へ出力する。制御論理４０６と、出力論理４０５と、ブロック４０１とは全てそのバンク番号を受信するように信号線４２８に結合している。この出願において使用されている信号線は複数の導体を含むことに注意すべきである。
【００４６】
アドレスデコーダ４０７は、さらに、アドレスビット１６〜２５を信号線４３１を介してそれらのビットを受信するように結合しているアドレスＭＵＸ論理４０８へ出力する。アドレスＭＵＸ論理４０８は制御論理４０６から信号線４０９を介して状態信号を受信し、信号線４３０を介してＭＵＸ制御信号を受信し且つホストから信号線４３２を介してアドレスビット２〜１５を受信するようにも結合している。入力に応答して、ＭＵＸ論理４０８は主メモリへの出力としてメモリアドレスをビット０〜１２にのせて発生する。
【００４７】
パリティ論理４０３はホストプロセッサに対してパリティエラーデータを信号線４４１へ発生し、ホストデータバス４５０にも結合している。パリティ論理４０３は信号線４４３へもパリティデータを出力するが、その利用方式は当該技術では良く知られている。ウオッチドッグタイマ４０４は出力論理４０５から出力されるＲＡＳ信号を（信号線４４５を介して）受信するように結合しており、信号線４２０の出力をそれを受信するように結合した制御論理４０６へ出力する。出力論理４０５は制御論理４０６から信号線４４２を介してセット／リセット信号を受信し、ホストから信号線４２２を介して書込みイネーブル信号を受信し、アドレスデコーダ４０７から信号線４２８を介してバンク記述信号を受信し且つ再生論理４０２からＲＡＳ／ＣＡＳイネーブル信号を受信するように結合している。それに応答して、出力論理４０５はメモリのバンクの各々に対しＲＡＳ信号と、ＣＡＳ信号と、ＷＥ信号と、ＷＥ共通信号ＷＥＣとを発生する。ＲＡＳ、ＣＡＳ、ＷＥ及びＷＥＣと、メモリアドレス信号とは全て出力ピンインタフェース（図示せず）を介して主メモリへ出力される。
【００４８】
ブロック４０１は本発明の全ての構成レジスタに対するアクセスを制御する。アクセスは、ホストバス信号を検査することによりホストバス４５０における全サイクルを追跡するバストラッカと呼ばれる状態機械により制御される。バストラッカは、有効アドレスが既に復号されていることを保証する。現時点で好ましい実施例では、５つのバンク構成レジスタを保持している構成メモリスペースは３００〜３ＦＦと、７００〜７ＦＦという２つの範囲の中にある。レジスタ出力はアドレスデコーダ４０７に入力する。
【００４９】
バンク信号４２７はブロック４０１における現在バンクに関わる適切なレジスタを選択するために使用される。選択されるレジスタは、ホストがその時点でアクセスしており且つ信号線４４４を介して出力論理４０５へ出力されたバンクのプログラム済情報を記憶している。そこで、この情報を動的に使用して、主メモリへクロックアクトするのに先立ってＣＡＳ信号又はＷＥ信号（バンクについて必要とされるほうの信号）を論理的に「論理和演算」する。
【００５０】
アドレスデコーダ４０７は入力したホストバスアドレス信号を４３３へ再マッピングし、信号線４２７及び４２８にバンク選択信号を発生し且つバンク／ページヒット／ミス信号を発生する働きをする。アドレスデコーダ４０７の中には、アドレス再マッピングブロックと、バンク復号ブロックと、バンク／ページヒット／ミス決定ブロックがある。アドレス再マッピングブロックはバンク構成レジスタのビット５  １６〜２５を変換して、ＤＲＡＭの適正なアドレス指定モードを確定する。それに応答して、アドレス再マッピングブロックはＭＵＸ４０８へアドレスを出力する。アドレスに応答してバンク選択信号も発生され、制御論理４０６と、出力論理４０５と、ブロック４０１とへ出力される。バンク選択信号は欄ダウ論理を使用して発生される。
【００５１】
制御論理４０６はＤＲＡＭへのサイクルを制御する主状態機械を含む。ＤＲＡＭ制御装置における、ＤＲＡＭサイクルに関わる全ての制御アクティビティは、通常、状態遷移から発する状態出力を利用する。制御論理４０６は、出力論理４０５と関連して、適切なバイトによってＣＡＳ信号の駆動を制御する。
【００５２】
アドレスＭＵＸ論理４０８は行アドレス発生器、列アドレス発生器及びＭＵＸ制御装置という３つのブロックに区分されている。行アドレス発生器は信号線４３１のアドレスをラッチし、バンクレジスタに記憶されている情報に基づいてアドレス行スワップ動作を実行する。列アドレス発生器はホストバスからのアドレスをラッチし、第１の列アドレスを発生する。さらに、バーストサイクルの場合には、後続する列アドレスを発生する。ＭＵＸ制御装置は、行アドレスと列アドレスをいつ駆動すべきかを判定するためにＭＵＸ選択線を制御する。
【００５３】
出力論理４０５はＤＲＡＭ信号と、内部制御信号とを発生する。ＤＲＡＭ信号はＲＡＳ信号、ＣＡＳ信号及びＷＥ信号である。内部制御信号はデータバッファイネーブル信号と、ウオッチドッグリセット信号と、バイトイネーブル信号とを含む。メモリの５つの別個のバンクに対応する５つのＲＡＳ信号を発生するために、５つのマイクロセルを採用する。出力論理４０５はバイトイネーブル信号（信号線４２２）及びＲＡＳ／ＣＡＳ信号を適切なバイトと組合わせる。
【００５４】
ＲＡＳ、ＣＡＳ及びＷＥの各信号はランダム論理から発生される。論理回路は、バイトイネーブルと、行又は列の復号とを使用する組合わせ論理から構成されている。バイトイネーブルと列アドレスの復号は制御論理によりクロッキングされ、有効列アドレスが復号されたときにはＣＡＳ信号を駆動する。ホストバスからの有効物理アドレスが復号されたときには、境界フィールドを使用して、そのアドレスが１つのバンクの適切な列・行アドレス範囲の中に入っているか否かを判定する。アドレスが対応する行・列アドレス範囲からのバンク範囲の中に入っていれば、多重化行アドレスによってＲＡＳ信号を駆動する。同様に、ホストバスが書込みサイクルを駆動している場合には、ＣＡＳ信号に先立ってＷＥ信号を駆動する。有効列アドレス及びＲＡＳ信号に関して相対タイミングマージンに適合するように保証するために、ＣＡＳ信号とＷＥ信号をバス状態トラッカ４０１及び制御論理４０６によりさらにクォリファイする。現時点で好ましい実施例では、ＣＡＳ信号及びＷＥ信号を出力するためにクロッキングされるＳ−Ｒフリップフロップを使用することによって、適正なタイミングが確保される。
【００５５】
現時点で好ましい実施例においては、バイトイネーブル信号をそれらに対応するＣＡＳイネーブル信号と論理的に「論理積演算」して、ＤＲＡＭバンクに関わるＣＡＳ０〜ＣＡＳ３信号を発生する。
【００５６】
書込みイネーブル論理は各サイクルの開始時に書込み−読取りの状態を検査して、それが書込み信号であるか否かを決定する。それが書込み信号であれば、イネーブルされたバイトと関連する書込み信号を印加する。言いかえれば、ＷＥはＣＡＳが活動状態になるのに先立って少なくとも１位相にわたり活動状態になるのである。ＷＥ信号の印加はサイクルの終了時に停止されるべきである。再生サイクルの間にＷＥ信号を印加されない。
【００５７】
本発明の出力論理４０５はＷＥ共通信号（ＷＥＣ）をさらに発生する。ＷＥＣビットは、イネーブルされると、その他のＷＥ信号がディスエーブルされている間に、メモリに対する書込みサイクルが起こる任意の時点でＷＥＣ信号を印加させる。
出力論理４０５は４つの信号線の入力イネーブルと、４つの信号線の出力イネーブルと、１つの信号線のラッチイネーブルとから構成されているデータバッファ制御信号をさらに発生する。
【００５８】
出力バッファ４０９は出力論理４０５の全ての出力を緩衝する。さらに、出力バッファ４０９はＣＡＳバイトの論理和演算を実行する。出力バッファ４０９は、ＣＡＳバイト／バンク論理和演算がイネーブルされたときに、ＣＡＳ０とＣＡＳ１とを論理的に論理和演算すると共に、ＣＡＳ２とＣＡＳ３とを論理的に論理和演算することができる。
【００５９】
パリティ論理４０３はデータ線４４１のデータ信号に関わるパリティを生成する。再生論理４０２はＤＲＡＭについて多様な再生オプションを提供する。再生論理４０２は再生オプションの数と一致する２つの主要部分に分割されている。それらのオプションは自己再生と、クロック再生とを含む。また、再生の速度を構成レジスタにプログラムすることが可能である。ウオッチドッグタイマ４０４は、活動状態のＲＡＳが活動状態のままであった時間を追跡するダウンタイマから構成されている。ＲＡＳ信号線が（信号線４４５に指示する通り）活動状態になりつつあるとき、タイマはリセットされる。ＲＡＳ信号線のいずれかが活動状態であるときに、タイマはカウントを開始する。タイマが０までカウントダウンしてしまい且ついずれかのＲＡＳ信号線が依然として活動状態であるときには常にタイムアウト信号が発生される。ウオッチドッグタイマ４０４のタイムアウトはページミスサイクルを強制する。
【００６０】
このように、本発明は、複数のＤＲＡＭを有するメモリアレイについて個別のＣＡＳ信号及びＷＥ信号の発生を制御する独立した構成レジスタから成る。ＣＡＳ／ＷＥ発生はどのバンクについてもＣＡＳ信号とＷＥ信号を内部で論理和演算を実行することができる。従って、本発明では、どのような構成のＤＲＡＭでも他のＤＲＡＭバンクとは無関係に異なるＤＲＡＭバンクで使用することが可能である。
【００６１】
さらに、本発明は、ＤＲＡＭに対して保証されたＡ，Ｃ．タイミングを与えるようにＣＡＳ信号及びＷＥ信号を制御するための内部論理を提供する。これにより、コンピュータシステムが外部論理遅延に備える必要はなくなる。さらに、装置内でＣＡＳ信号及びＷＥ信号の発生のために論理ＯＲ機能を統合したために、付加ハードウェアを追加する必要なくＤＲＡＭの型を変更することができるので、柔軟性や性能を犠牲にせずに、システムを設計するために必要とされる外部論理は少なくてすむ。
【００６２】
以上の説明を読んだ後には、本発明の適用に対する数多くの変更は当業者には疑いなく明白になるであろうが、例示によって示し且つ説明した特定の実施例は限定することを全く意図していないことが理解される。従って、好ましい実施例の詳細を参照することは、それ自体が本発明にとって不可欠であると考えられる特徴のみを列挙した特許請求の範囲の範囲を限定しようとするものではない。
以上、複数の型のＤＲＡＭに対応するＤＲＡＭ制御装置を説明した。
【図面の簡単な説明】
【図１】本発明のコンピュータシステムの一実施例を示す図。
【図２】ＤＲＡＭデバイス及びＤＲＡＭメモリカードの異なる構成を示す図。
【図３】ＤＲＡＭデバイス及びＤＲＡＭメモリカードの異なる構成を示す図。
【図４】ＤＲＡＭデバイス及びＤＲＡＭメモリカードの異なる構成を示す図。
【図５】ＤＲＡＭデバイス及びＤＲＡＭメモリカードの異なる構成を示す図。
【図６】本発明のプログラマレジスタの現時点で好ましい実施例を示す図。
【図７】本発明のＤＲＡＭ制御装置のブロック線図。
【符号の説明】
１０１  ホストマイクロプロセッサ
１０２  マイクロプロセッサインタフェース
１０３  主メモリ
１０４  メモリバスバッファ
１０５  バス
１０６  アレイインタフェース
１０７  メモリアレイ
１０８  内部ホストバス
２０１〜２０４，２２０，２２１，２３０，２３１，２４０  カード
２１２，２１３  バンク
２２２，２２３，２３２〜２３５，２４１〜２５１  バイト
４００  ＤＲＡＭ制御装置
４０１  バストラッカ、デコーダ及びレジスタブロック
４０２  再生論理
４０３  パリティ論理
４０４  ウオッチドッグタイマ
４０５  出力論理
４０６  制御論理
４０７  アドレスデコーダ
４０８  アドレスＭＵＸ論理
４５０  ホストデータバス
【図１】
0003590413.tif 000007
【図２】
0003590413.tif 000008
【図３】
0003590413.tif 000009
【図４】
0003590413.tif 000010
【図５】
0003590413.tif 000011
【図６】
0003590413.tif 000012
【図７】
0003590413.tif 000013