(57)【特許請求の範囲】
【請求項１】
メモリを制御するための連続ページ・モードを有するメモリ・コントローラ（４２）であって：
パイプライン・バスのアドレス部分に結合するように構成されたアドレス入力端子；
前記アドレス入力端子に結合された入力端子，アクティブの場合、転送の開始を示す第１制御信号を受信する制御入力端子，および出力端子を有するレジスタ（６０）であって、前記第１制御信号の活性化に応答して、前記入力端子における値を格納するレジスタ（６０）；
前記レジスタ（６０）の前記出力端子に結合された第１入力端子，前記パイプライン・バスの前記アドレス部分に結合された第２入力端子，およびページ・ヒット信号を供給する出力端子を有する比較器（６２）；および
前記ページ・ヒット信号を受信する第１入力端子，アクティブの場合、第１アクセスの完了前に、前記パイプライン・バスの前記アドレス部分上において次のアドレスが有効であることを示す第２制御信号を受信する第２入力端子，および外部バスの制御部分に結合された出力端子を有する状態機械（５６）であって、少なくとも１つの外部制御信号を活性化し、続いて前記第１アクセスの間の前記第２制御信号の不活性化に応答して、または前記第２制御信号がアクティブの場合に前記ページ・ヒット信号の不活性化に応答して、前記第１アクセスの間に前記少なくとも一つの外部制御信号を不活性化することにより、前記第１アクセスの間に前記メモリのプリチャージを開始し、更に、前記第１アクセスの完了前に、前記パイプライン・バスから直後のアクセスの前記次のアドレスが受信されない場合、前記第１アクセスの間に前記少なくとも一つの外部制御信号を不活性化することにより、前記第１アクセスの間に前記メモリのプリチャージを開始することによって、前記外部バス上の前記第１アクセスを制御する状態機械（５６）；
から成ることを特徴とするメモリ・コントローラ（４２）。
【請求項２】
メモリ（４３）にアクセスする方法であって：
パイプライン内部バスからの第１内部アクセスの第１アドレスを受信する段階；
少なくとも１つの外部制御信号を活性化することによって、外部バス上の前記第１内部アクセスに対応する第１外部アクセスを制御する段階；
前記第１外部アクセスの完了前に、前記パイプライン内部バスから第２内部アクセスの第２アドレスが受信された場合：
前記第２アドレスを前記第１アドレスと比較する段階；および
前記第２アドレスが前記第１アドレスに等しくない場合、前記第１外部アクセスの間に前記少なくとも１つの外部制御信号を不活性化することにより、前記メモリ（４３）のプリチャージを開始する段階；を実行する段階；ならびに
前記第１外部アクセスの完了前に、前記パイプライン内部バスから第２内部アクセスの第２アドレスが受信されない場合、前記第１外部アクセスの間に前記少なくとも１つの外部制御信号を不活性化することにより、前記第１外部アクセスの間に前記メモリ（４３）のプリチャージを開始する段階；
から成ることを特徴とする方法。
【請求項３】
メモリ（４３）にアクセスする方法であって：
パイプライン内部バスからの第１内部アクセスの第１アドレスを受信する段階；
少なくとも１つの外部制御信号を活性化することによって、外部バス上の前記メモリ（４３）に対する前記第１内部アクセスに対応する第１外部アクセスを制御する段階；
前記第１内部アクセスの完了前に、選択的に前記パイプライン内部バスから第２内部アクセスの第２アドレスを受信する段階；および
前記第１内部アクセスの前記完了前に前記パイプライン内部バスから前記第２アドレスを受信していない場合、前記第１外部アクセスの終了前に前記少なくとも一つの外部制御信号を不活性化することにより、前記メモリ（４３）のプリチャージを開始する段階；
から成ることを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的に、メモリ・システムに関し、更に特定すれば、メモリ・コントローラに関するものである。
【０００２】
【従来の技術】
従来より、メモリ素子は、全製造業者によって用いられている、比較的標準的な１組の制御信号によってアクセスされている。例えば、ダイナミック・アクセス・メモリ（ＤＲＡＭ）は、従来より、行アドレス・ストローブ（ＲＡＳ）信号，列アドレス・ストローブ（ＣＡＳ）信号，およびライト・イネーブル（ＷＥ）信号によってアクセスされている。これらの信号は、メモリ上の内部回路のタイミングを制御するために用いられ、メモリは通常他のシステム・クロック信号のいずれに対しても非同期で動作していた。最近になって、同期ＤＲＡＭも普及しつつある。
【０００３】
一般に、メモリ・コントローラは、ＤＲＡＭアクセスを開始する際に、行アドレスをＤＲＡＭに供給し、ＲＡＳを活性化する。ＤＲＡＭが行アドレスをラッチした後、メモリ・コントローラは列アドレスをＤＲＡＭに供給し、ＣＡＳを活性化する。一旦ＤＲＡＭが列アドレスをラッチしたなら、必要に応じて、データをデータ・バスに供給するか、あるいはデータ・バス上にあるデータをラッチする。サイクルを終了するには、メモリ・コントローラはＲＡＳおよびＣＡＳ双方を不活性化する。ＲＡＳの不活性化に応答して、ＤＲＡＭは全ての行をプリチャージし、他の行に対する後続のアクセスに備える。
【０００４】
従来技術において既知の基本的なＤＲＡＭのタイミングには、２種類の重要な形式(variation)がある。第１の形式は、バースト・ページ・モードとして知られている。バースト・ページ・モード・アクセスの間、メモリ・コントローラは、１群の関連するＤＲＡＭへのアクセスの最初のアドレスを供給することによって、アクセスを開始する。例えば、アドレスは、最初のアドレスの後、連続するアドレスとすることが可能であり、あるいは予め定義されたように順序付けることも可能である。例えば、アドレスは、米国特許番号第４，７９９，１９９号に開示されているように、最初のアドレス周囲にクラスタ化されたモジュロｍ(clustered modulo m)としてもよい。ＤＲＡＭは、選択した行に対応するワード・ラインを活性化することによって、バースト・アクセスを開始する。選択した行に沿って多数のデータ列が位置するので、バーストにおける後続のアクセスは、行の選択を解除することなく進められる。したがって、メモリ・コントローラは、バースト・サイクルの間ＲＡＳをアクティブのまま保持し、異なる列を選択する場合にのみＣＡＳを不活性化する。ＤＲＡＭは、バースト・ページ・モード・アクセスの方が、対応する数の非バースト・アクセスよりも高速に実行することができる。何故なら、同一行アドレスのデコードの不要な繰り返しを行わないからである。しかしながら、バースト・ページ・モードは、同一行に対する２回以上のアクセスが、所定の順序でない場合には、これを許可しない。
【０００５】
もう１つの形式は、フル・ページ・モードとして知られているものである。フル・ページ・モード・システムでは、後続のアドレスを以前のアドレスと比較し、後続のアクセスが、ページとしても知られている、同じ行に対するものであるか否かについて判定を行う。後続のアドレスが同じページに対するものである場合、メモリ・コントローラは、同じ行アドレスをＤＲＡＭに供給しＲＡＳを活性化することによる冗長な行選択を行う必要はない。したがって、メモリ・コントローラはＲＡＳをアクティブのまま保持し、同じ行に対する後続のアクセスのための行アドレス選択サイクルを全て回避する。しかしながら、比較を行うためには、フル・ページ・モードを実施するメモリ・コントローラは、第２のアドレスが得られアドレス比較が完了するまで、ＲＡＳを不活性化することによりＤＲＡＭのプリチャージを開始することができない。フル・ページ・アクセスのために追加のプリチャージ時間が必要となるので、任意の順序で同じ行のアドレスにアクセスするという利点が相殺されることになる。フル・ページ・モードには他にも、これが拡張データ出力（ＥＤＯ：extended data out）メモリでは動作しないという欠点がある。ＥＤＯメモリは、ＣＡＳを不活性化した後、延長した期間にわたって、データ出力ピン上のデータを有効に保持する。フル・ページ・モード・メモリは、ＲＡＳを不活性化すべきか否かについて判定するためには、後続のアドレスが有効でなければならないので、次のサイクルが開始してしまい、データ・バス上でコンテンションが発生する虞れもあり得る。
【０００６】
【発明が解決しようとする課題】
したがって、フル・ページ・アクセスを可能とするが、プリチャージの不利をなくし、最小の回路面積で済むダイナミック・メモリ用コントローラが必要とされている。本発明は、かかるメモリ・コントローラおよびそれに関連する方法を提供するものであり、その特徴および利点について、図面および以下の詳細な説明を参照しながら更に説明する。
【０００７】
本発明の特徴および利点は、添付図面と関連付けた以下の詳細な説明から一層明確に理解されよう。尚、図面において、同様の参照番号は、同様のおよび対応する部分を示すものとする。
【０００８】
【発明の実施の形態】
本発明によれば、メモリ・コントローラは、連続ページ・モードとして知られるメモリ・アクセス・モードを有する。メモリ・コントローラは、パイプライン・バス(pipelined bus)に結合するように構成されており、この場合、第２の後続のアクセスに対するアドレスが、第１のアクセスのためのデータ転送の前に、バス上に現れる。メモリ・コントローラは、第１アドレスをセーブし、それを第２アドレスと比較する。第２アドレスのページ・アドレス部分が第１アドレスのページ・アドレス部分と一致した場合、メモリ・コントローラは、ページを開いたまま保持し、第１および第２サイクル間のプリチャージを開始しない。第２アドレスのページ・アドレス部分が第１アドレスのページ・アドレス部分と一致しない場合、または第２アドレスがまだ供給されていない場合、メモリ・コントローラは、第１サイクルの間にプリチャージを開始することによってページを閉じ、従来のフル・ページ・モードに伴うプリチャージの不利を回避する。
【０００９】
これらおよびその他の特徴は、図１を参照することによって理解されよう。図１は、本発明によるメモリ・コントローラ４２を有するデータ処理システム４０を、ブロック図で示す。データ処理システム４０は、概略的に、プロセッサ４１，メモリ・コントローラ４２，およびダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）４３を含む。ここではＤＲＡＭに関連して開示するが、本発明は同期（シンクロナス）ＤＲＡＭ（ＳＤＲＡＭ）にも等しく適用可能であることは認められよう。プロセッサ４１は、対応する内部バスを通じて「ＣＯＮＴＲＯＬ」と名付けた制御信号を導通させる双方向制御端子，対応する内部バスを通じて「ＡＤＤＲＥＳＳ」と名付けた信号を導通させるアドレス出力端子，および「ＤＡＴＡ」と名付けた信号を導通させる双方向データ端子を有する。
【００１０】
メモリ・コントローラ４２は、ページ・ヒット・ロジック４４，アドレス比較器即ちアドレス比較回路４５，アドレス・マルチプレクサ４６，制御レジスタ４７，および制御部分即ち状態機械５６を含む。ページ・ヒット・ロジック４４は、ＡＤＤＲＥＳＳバスに結合された第１入力端子，ＣＯＮＴＲＯＬバスに結合された第２入力端子，および「ＰＡＧＥ  ＨＩＴ」と名付けた信号を供給する出力端子を含む。アドレス比較回路４５は、ＡＤＤＲＥＳＳの一部を受信する入力端子，および「ＤＲＡＭ  ＨＩＴ」と名付けた信号を供給する出力端子を有する。図示の実施例では、プロセッサ４１は、３２ビット・アドレスＡ31−Ａ0を出力し、アドレス比較回路４５は、「Ａ31−ＡN+1」と名付けた、これらのアドレス信号の部分を受信する。アドレス比較回路４５は、アドレス信号Ａ31−ＡN+1を受信する入力端子，および「ＤＲＡＭ  ＨＩＴ」と名付けた信号を供給する出力端子を有する。アドレス・マルチプレクサ４６は、アドレス信号ＡN−Ａ0を受信する入力端子，制御入力端子，およびＭ個のアドレス信号を供給する出力端子を有する。ＤＲＡＭ４３は、下位アドレス・ビットにではなく、代わりに、Ｍ個の上位アドレス・ビット上にマップされる。制御レジスタ４７は、双方向制御端子，およびＤＡＴＡバスに接続された双方向端子を有する。状態機械５６は、プロセッサ４１の制御端子に接続されＣＯＮＴＲＯＬ信号を導通させる双方向制御端子，制御レジスタ４７の制御端子に接続された双方向制御端子，ＤＲＡＭ  ＨＩＴ信号を受信する入力端子，ならびにＲＡＳ，ＣＡＳ，およびＷＥ制御信号をアクティブな論理ロー形態で供給する出力端子を有する。ＤＲＡＭ４３は、アクティブな論理ロー形態のＲＡＳ，ＣＡＳ，およびＷＥ信号を受信する制御入力端子，およびプロセッサ４１のデータ端子に接続された双方向データ端子を有する。
【００１１】
一般的な動作では、ＤＲＡＭ４３は、「ＡN・・・Ａ9」と名付けたＭ個の上位アドレス・ビットにマップされる。尚、Ｍアドレス・ビットは連続である必要はないことを注記しておく。ＤＲＡＭ４３は、アドレス・バスにまず行アドレスを供給しなければならないので、メモリ・コントローラ４２は、多重化機能を実行することなく、このアドレスを直接バスに供給可能となっている。一方多重化機能を実行する場合、アドレス比較回路４５がＤＲＡＭ  ＨＩＴ信号を出力するまでは、これを開始することができないため、現メモリ・サイクルが長引くことになる。
【００１２】
本発明によれば、メモリ・コントローラ４２は、連続ページ・モードとして知られる新しいモードにおいて、プリチャージの不利を伴うことなく、フル・ページ・アクセスを実行可能である。プロセッサ４１は、パイプライン・プロセッサであり、以前のアクセスのデータを転送する前に、次のアクセスのアドレスを供給することによって、連続するメモリ・アドレスをパイプライン化することができる。ページ・ヒット・ロジック４４は、ＤＲＡＭ４３内の１ページをアドレスする、ＡＤＤＲＥＳＳの部分を受信する入力を有する。この部分は、ＤＲＡＭ４３内の１ページに配されるバイト数を考慮することにより、全てのアドレス・ビット未満となる。また、ページ・ヒット・ロジック４４は、プロセッサ４１が供給するＣＯＮＴＲＯＬ信号のいくつかを受信する入力も有する。これらの制御信号には、転送が開始したことを示す少なくとも１つの制御信号，および第１アドレスに続く次のアドレスが有効であることを示す他の制御信号が含まれる。ページ・ヒット・ロジック４４は、同じページに対する１対のパイプライン・アドレスの次のアドレスに応答して、ＰＡＧＥ  ＨＩＴ信号を活性化する。
【００１３】
状態機械５６は、ＰＡＧＥ  ＨＩＴ信号およびその他のＣＯＮＴＲＯＬ信号を用いて、次のパイプライン・アクセスが同じページに対するものであるか否かについて判定し、他の行アドレス・サイクルを予測して、ＤＲＡＭ４３をプリチャージすべきか否かについて早めの判断を行う。状態機械５６は、第１メモリ・アクセスの間、次のサイクルのパイプライン・アドレスが有効となる時点において、ＰＡＧＥ  ＨＩＴ信号をサンプルする。この時点においてＰＡＧＥ  ＨＩＴがアクティブであり、次のアドレスが有効である場合、状態機械５６はＲＡＳをアクティブのまま保持する。この時点においてＰＡＧＥＨＩＴがインアクティブであるか、あるいは次のアドレスが有効でない場合、状態機械５６は（伝搬遅延の後）直ちにＲＡＳを不活性化する。このようにパイプライン・アドレスに応答して直ちに不活性化することにより、プリチャージを早めに開始し、フル・ページ・モードのプリチャージの不利を回避することが可能となる。
【００１４】
加えて、メモリ・コントローラ４２は、最小の回路によって、連続ページ・モードを実施する。この利点は、図２を参照すると一層明白となろう。図２は、図１のページ・ヒット・ロジック４４をブロック図で示す。ページ・ヒット・ロジック４４は、ページ保持レジスタ６０およびページ・ヒット比較ブロック６２を含む。ページ保持レジスタ６０は、ＡＤＤＲＥＳＳバスに接続された第１入力を含み、ＤＲＡＭ４３のページをエンコードする、ＡＤＤＲＥＳＳの部分を受信する。ページ保持レジスタは、ＣＯＮＴＲＯＬバスに接続され、適切な時点においてＡＤＤＲＥＳＳのページ部分をラッチするために必要なＣＯＮＴＲＯＬ信号の部分を受信する第２入力を含む。好ましくは、これらのＣＯＮＴＲＯＬ信号は、転送の開始を示す信号を含む。また、ページ保持レジスタ６０は、ＡＤＤＲＥＳＳのラッチされた部分を供給する出力も有する。
【００１５】
ページ・ヒット比較ブロック６２は、ページ保持レジスタ６０の出力に接続された第１入力，ＡＤＤＲＥＳＳバスのページ部分に接続された第２入力，およびＰＡＧＥ  ＨＩＴ信号を供給する出力を有する。ページ・ヒット比較ブロック６２は、ページ保持レジスタ６０内に格納されている値がＡＤＤＲＥＳＳのページ部分と一致する場合、ＰＡＧＥ  ＨＩＴ信号を活性化する。尚、ページ・ヒット比較ブロック６２は、それが比較を行うときを判定する制御入力も含むことにより、比較が無意味な時間期間では電力消費を回避できることを注記しておく。
【００１６】
ページ・ヒット・ロジック４４は、ＤＲＡＭ４３がいくつのバンクに分割されるかには無関係に、単一のページ保持レジスタおよび比較回路のみがあればよいことを注記しておく。したがって、メモリ・コントローラ４２は、最小量の追加回路のみで、連続ページ・モードを実施する。
【００１７】
図３は、図１のメモリ・コントローラの動作を理解する際に有用なタイミング図を示す。尚、本発明は同期ＤＲＡＭおよび非同期ＤＲＡＭ双方に適用可能であるが、ここでは非同期（アシンクロナス）ＤＲＡＭに関して示すことを注記しておく。しかしながら、図３は、マスタ・クロック信号（ＣＬＯＣＫ）を示し、これを用いてメモリ・コントローラ４２を制御可能であり、しかも基準としても有用である。また、図３は、メモリ・コントローラ４２が早めにＲＡＳを不活性化することができる、２つの場合を示す。第１の場合は、「ＩＮＴＥＲＮＡＬ  ＡＤＤＲＥＳＳ１」と名付けた信号によって示されている。「ＢＵＳ  ＣＹＣＬＥ１」と名付けた第１バス・サイクルの間、ＩＮＴＥＲＮＡＬ  ＡＤＤＲＥＳＳ１は、Ｒ１Ｃ１と名付けた値を有し、ここでＲ１は行アドレス部分を表し、Ｃ１は列アドレス部分を表す。メモリ・コントローラ４２は、アドレスＲ１を外部アドレスとして供給し、ＲＡＳを不活性化することによって、ＢＵＳ  ＣＹＣＬＥ１を実行する。続いて、ＩＮＴＥＲＮＡＬ  ＡＤＤＲＥＳＳ１は、第１アクセスとパイプライン化された第２アクセスに対する第２アドレスを導通させる。この値は、アドレスＲ２Ｃ２として示されている。この場合、Ｒ２＝Ｒ１であり、したがって、ページ・ヒット・ロジック４４はＰＡＧＥ  ＨＩＴ信号を活性化する。信号ＡＳ（アドレス・ストローブ）は、外部バス・サイクルの開始を示す。ＰＡＧＥ  ＨＩＴ信号の活性化に応答して、状態機械５６は、ＲＡＳをアクティブのまま保持するが、アドレスＲ１Ｃ１における第１データ・エレメントの転送の後、ＣＡＳを不活性化する。
【００１８】
ＩＮＴＥＲＮＡＬ  ＡＤＤＲＥＳＳ１の後続の値は、第２バス・サイクルの間に得られ、これをＲ３Ｃ３で示す。この場合、Ｒ３≠Ｒ２であり、ページ・ヒット・ロジック４４は、ＢＵＳ  ＣＹＣＬＥ２の間インアクティブとなる。状態機械がＢＵＳ  ＣＹＣＬＥ２の間にＰＡＧＥ  ＨＩＴをサンプルし、それがインアクティブであることを発見すると、ＲＡＳおよびＣＡＳ双方を不活性化することにより、ページ・モード・アクセスを終了する。しかしながら、本発明によれば、状態機械５６は、バス・サイクル２のほぼ中間において、早めにＲＡＳを不活性化する。このようにＲＡＳを早めに不活性化することにより、ＤＲＡＭ４３の行は早めにプリチャージを開始し、遅延なく次のバス・サイクル（ＢＵＳ  ＣＹＣＬＥ３）に移行することが可能となる。また、これによって、コンテンションなく、拡張データ出力（ＥＤＯ）動作も可能となる。
【００１９】
あるいは、「ＩＮＴＥＲＮＡＬ  ＡＤＤＲＥＳＳ２」で示す一連のアドレスを、ＡＤＤＲＥＳＳ  ＢＵＳ上に導通させてもよい。ＩＮＴＥＲＮＡＬ  ＡＤＤＲＥＳＳ２とＩＮＴＥＲＮＡＬ  ＡＤＤＲＥＳＳ１との間の差は、状態機械５６がＰＡＧＥ  ＨＩＴをサンプルする時点では、ＢＵＳ  ＣＹＣＬＥ３に対するアドレスがバス上で有効でないことにある。メモリ・コントローラ４２は、次のサイクルが同じページに対するものではないことを想定しており、ＩＮＴＥＲＮＡＬＡＤＤＲＥＳＳ１の場合と同様に、早めにＲＡＳプリチャージ・サイクルを開始する。
【００２０】
一形態では、本発明は、外部制御信号が行アドレス・ストローブ信号を備えることを可能にする。
【００２１】
他の形態では、外部制御信号は列アドレス・ストローブ信号である。
【００２２】
更に別の形態では、本発明の方法は、第１内部アクセスの完了前に、パイプライン内部バスから第２内部アクセスの第２アドレスが受信されない場合、第１外部アクセスの間に、メモリのプリチャージを開始する段階を更に含む。
【００２３】
以上、具体的な実施例を参照しながら本発明について説明したが、当業者には更なる変更や改良も想起されよう。例えば、開示したメモリ・コントローラは、非同期ＤＲＡＭおよび同期ＤＲＡＭ双方に有用である。更に、容量式格納に基づくメモリ以外の形式のメモリも使用可能である。したがって、本発明は、特許請求の範囲に規定する本発明の範囲から逸脱しない全ての変更を包含することは理解されよう。
【図面の簡単な説明】
【図１】本発明によるメモリ・コントローラを有するデータ処理システムを示すブロック図。
【図２】図１のページ・ヒット・ロジックを示すブロック図。
【図３】図１のメモリ・コントローラの動作を理解する際に有用なタイミング図。
【符号の説明】
４０    データ処理システム
４１    プロセッサ
４２    メモリ・コントローラ
４３    ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）
４４    ページ・ヒット・ロジック
４５    アドレス比較回路
４６    アドレス・マルチプレクサ
４７    制御レジスタ
５６    状態機械
６０    ページ保持レジスタ
６２    ページ・ヒット比較ブロック
【図１】
0003795689.tif 000002
【図２】
0003795689.tif 000003
【図３】
0003795689.tif 000004