(57)【特許請求の範囲】
【請求項１】
情報を転送するバスを備えるマイクロプロセッサ・システムであって、
前記バスに結合され、第１或いは第２のアクセス・モードで動作可能で、第１の出力モードでの動作のための第１の組のアクセス制御信号と、第２のアクセス・モードでの動作のための第２の組のアクセス制御信号との何れか一方に応答するダイナミック・ランダム・アクセス・メモリ（１２４）であり、前記第１アクセス・モードが当該ダイナミック・ランダム・アクセス・メモリをバースト・モードで動作させるように為し、前記第２アクセス・モードが当該ダイナミック・ランダム・アクセス・メモリを非バースト・モードで動作させるように為すことから成るダイナミック・ランダム・アクセス・メモリ（１２４）と、
前記バスと前記メモリとに結合され、前記第１の組のアクセス制御信号と前記第２の組のアクセス制御信号を前記メモリに提供することができるプログラム可能なメモリ・コントローラ（１１８）と、
前記バス、前記ダイナミック・ランダム・アクセス・メモリ、並びに前記メモリ・コントローラに結合され且つ前記ダイナミック・ランダム・アクセス・メモリのアクセス・モードを初期的にはわかっていないマイクロプロセッサ（１１２）であり、前記ダイナミック・ランダム・アクセス・メモリにおける特定のアドレスに対する所定のデータ・パターン（Ｄｎ）の記憶に適合しており、その特定のアドレスからのデータ読み取りを為すべくコマンドを発して、所定の期間（ｔ１、ｔ２、ｔ３、或は、ｔ４）に前記ダイナミック・ランダム・アクセス・メモリの出力バッファからデータを読み取って、当該メモリが前記第１或は前記第２のアクセス・モードのどちらで動作しているかを判断し、前記読み取ったデータに応答して前記メモリ・コントローラを前記メモリが動作している前記アクセス・モードに従って１組のアクセス制御信号を前記メモリに提供するようにプログラムするマイクロプロセッサ（１１２）とを備える、改良されたマイクロプロセッサ・システム。
【請求項２】
前記第１アクセス・モードがバースト拡張データ出力であり、前記第２アクセス・モードが高速ページ・モードである、請求項１に記載のマイクロプロセッサ・システム。
【請求項３】
前記第１アクセス・モードがバースト拡張データ出力であり、前記第２アクセス・モードが拡張データ出力である、請求項１に記載のマイクロプロセッサ・システム。
【請求項４】
マイクロプロセッサ・システム内に存在するダイナミック・ランダム・アクセス・メモリ（１２４）のバースト・アクセス・モード或は非バースト・アクセス・モードを判断する方法であって、
前記マイクロプロセッサから前記ダイナミック・ランダム・アクセス・メモリへ列アドレスを付与するステップと、
可能性ある全てのメモリ・タイプと互換性あるフォーマットを用いて、複数のデータ・パターンから成る所定シーケンスを前記ダイナミック・ランダム・アクセス・メモリの順次的な複数のアドレスに書き込むステップと、
前記ダイナミック・ランダム・アクセス・メモリの順次的な複数のアドレスにおける複数のデータ・パターンを読み取るべくコマンドを発するステップと、
前記列アドレスの付与の開始から測定した所定のサンプル時（ｔ１、ｔ２、ｔ３、ｔ４、或は、ｔ５）に、前記ダイナミック・ランダム・アクセス・メモリの出力バッファから複数のデータ・パターンを読み取るステップと、
前記ダイナミック・ランダム・アクセス・メモリから読み取った前記複数のデータ・パターンを前記ダイナミック・ランダム・アクセス・メモリに書き込まれた前記複数のデータ・パターンから成る所定シーケンスと比較して、前記ダイナミック・ランダム・アクセス・メモリのアクセス・モードのタイプが、バースト拡張データ出力モード、拡張データ出力モード、或いは、高速ページ・モードの内のいずれであるのかを判断するステップと、を含む改良された方法。
【請求項５】
複数のサンプル時に前記メモリからデータを読取り、前記複数の所定のサンプル時に前記メモリから読み取られた前記データを、前記メモリに書き込まれた前記データと比較して、アクセス・モードのタイプを判断する、請求項４に記載の方法。
【請求項６】
列アドレス・ストローブ信号が高状態の時に、前記メモリから前記データを読み取って、高速ページ・モード・アクセスで動作するメモリと拡張データ出力モードで動作するメモリとを区別する、請求項４に記載の方法。
【請求項７】
第２の列アドレスを前記マイクロプロセッサから前記ダイナミック・ランダム・アクセス・メモリへ付与した後に前記ダイナミック・ランダム・アクセス・メモリからデータを読み取って、バースト・アクセス・モードで動作するメモリと非バースト・アクセス・モードで動作するメモリを区別するデータを提供する、請求項４に記載の方法。
【請求項８】
前記メモリに複数のデータ・パターンから成るシーケンスを書き込む前記ステップが、
複数のデータ・パターンから成る第１シーケンスを前記メモリの前記列アドレスに書き込むステップと、
第２の列アドレスを前記メモリに付与するステップと、
複数のデータ・パターンから成る第２のシーケンスを前記メモリの前記第２の列アドレスに書き込むステップとを含む、請求項４に記載の方法。
【発明の詳細な説明】
発明の分野
本発明は、複数のタイプのメモリ装置又はメモリ・デバイスを受け入れるように適合されたシステム・アーキテクチャと、存在するメモリのタイプを判断する方法とに関する。
発明の背景
ダイナミック・ランダム・アクセス・メモリ装置（ＤＲＡＭ）は、現在製造されている中でも最も製造数量が多く、最も複雑な集積回路である。その高い生産量がなければ、これらの装置又はデバイスの現況技術の製造要件の結果として法外な価格になるであろう。しかし、大量生産に伴う効率により、これらのメモリ装置のビット当たりの価格は低下し続けている。このようなメモリの低コストはパーソナル・コンピュータの成長と発展を促進してきた。パーソナル・コンピュータが進歩するに伴い、より高速かつより高密度で、しかも標準ＤＲＡＭと同様に低コストなメモリ装置を必要とするようになっている。高速ページ・モードＤＲＡＭは現在最も一般的な標準ＤＲＡＭである。高速ページ・モード動作では、行アドレス・ストローブ（／ＲＡＳ）を使用して多重化ＤＲＡＭアドレスの行アドレス部分をラッチする。次に列アドレス・ストローブ（／ＣＡＳ）の複数の発生又はオカレンスを使用して複数の列アドレスをラッチして選択された行内のデータにアクセスする。／ＣＡＳの立ち下がりでアドレスがラッチされ、ＤＲＡＭの出力がイネーブルにされる。／ＣＡＳが高に遷移すると、ＤＲＡＭ出力が高インピーダンス状態（トライステート）になる。集積回路の製造の進歩に伴い、ＤＲＡＭの内部回路の動作はこれまで以上に高速化している。この高速回路によって、より高速のページ・モード・サイクル時間が可能になっている。装置が最小の高速ページ・モード・サイクル時間で動作する場合、ＤＲＡＭの読取りに問題がある。／ＣＡＳが１５ナノ秒という短い時間だけ低であり、／ＣＡＳから有効出力データまでのデータ・アクセス時間（ｔＣＡＣ）が最高１５ナノ秒の場合がある。したがって、最悪の場合、出力データをメモリ装置の外部にラッチする時間がない。仕様が要求するよりも高速で動作する装置の場合、データは数ナノ秒間だけ有効であるに過ぎない場合もある。負荷の大きいマイクロプロセッサ・メモリ・バスで、数ナノ秒間しか有効でない非同期信号をラッチしようとするのはきわめて困難である。３５ナノ秒ごとに新しいアドレスを供給する場合でも、システム内でかなりの量の電気雑音を生じさせる大型のアドレス・ドライバを必要とする。メモリ・システムのデータ・スループットを向上させるために、共通バス上に複数の装置を配置することが通例になっている。たとえば、共通アドレスおよびデータ・バスに２つの高速ページ・モードＤＲＡＭを接続することができる。一方のＤＲＡＭには奇数アドレスのデータを格納し、他方には偶数アドレスを格納する。奇数アドレスの／ＣＡＳ信号は、偶数アドレスの／ＣＡＳ信号がオン（低）になるとオフ（高）になる。このインタリーブ・メモリ・システムは、いずれか１つの装置のみの速度の２倍のデータ・アクセスを実現する。第１の／ＣＡＳが２０ナノ秒間低であり、次に２０ナノ秒間高であると同時に第２の／ＣＡＳが低になる場合、２０ナノ秒ごとまたは５０メガヘルツでデータにアクセスすることができる。／ＣＡＳからデータ有効までのアクセス時間が１５ナノ秒の場合、そのデータは両方の装置が高速ページ・モードで動作している各２０ナノ秒の期間の終わりで５ナノ秒間しか有効にならない。サイクル時間が短縮されると、データ有効期間はゼロになる。制御信号をデコードして動作モードを識別するメモリ装置については、欧州特許第０６２４８７９号でのメモリ装置の説明を参照のこと。
現在のパーソナル・コンピュータ・システムに組み込むための戦略を提供する、より高速で高密度なランダム・アクセス・メモリ集積回路を求める要求がある。この要求を満たそうとして、標準ＤＲＡＭアーキテクチャの多くの代替策が提案されている。高速ページ・モード・サイクル時間を増大させずにＤＲＡＭの出力でデータが有効である期間を長くする１つの方法は、拡張データ出力（ＥＤＯ）モードと呼ばれる。ＥＤＯ  ＤＲＡＭでは、高速ページ・モード動作中、データ線は読取りサイクル間でトライステートにされない。その代わり、データは／ＣＡＳが高になった後、次の／ＣＡＳ低パルスが発生してからしばらく後まで、または／ＲＡＳまたは出力イネーブル（／ＯＥ）が高になるまで有効のまま保持される。高速ページ・モードまたはＥＤＯ  ＤＲＡＭの出力にいつ有効データが到着するかの決定は、列アドレス入力が有効な時点と、／ＣＡＳが下がる時点と、／ＯＥの状態と、直前のサイクルで／ＣＡＳが上がった時点との複雑な関数になることがある。制御線信号（特に／ＣＡＳ）に関してデータが有効な期間は、様々なＤＲＡＭ製造者が採用しているようにＥＤＯモードの特定の実施態様によって決まる。
メモリ・アクセス時間を短縮する方法は、追加の回路と追加の制御ピンと非標準装置ピン配列とを必要とする傾向がある。たとえば提案されている業界標準シンクロナスＤＲＡＭ（ＳＤＲＡＭ）はシステム・クロック信号を受信する追加のピンを有する。システム・クロックはメモリ・システム内の各装置に接続されているため、負荷が大きく、すべての装置内の回路を常にトグルしている。ＳＤＲＡＭはクロック・イネーブル・ピンとチップ選択ピンとデータ・マスク・ピンも有する。標準ＤＲＡＭ上にあるのと名前が似ているように思われるその他の信号は、ＳＤＲＡＭ上では非常に異なる機能を有する。いくつかの制御ピンの追加によって、装置ピン配列は標準ＤＲＡＭからの逸脱が必要となり、それによってそれらの新しい装置を使用するための設計作業がさらに複雑化する。ＳＤＲＡＭ装置ではかなりの量の追加回路が必要であり、その結果、装置の製造コストが高くなる。
既存のコンピュータ・システムが非標準ピン配列を有する改良型装置を使用するには、既存コンピュータ・システムを大幅に修正しなければならない。さらに、既存のコンピュータ・システムのメモリ・アーキテクチャの設計では、信号線の容量性負荷が大きいため、制御信号とアドレス信号が新しいメモリ装置を高速で動作させるのに必要な周波数で切り替わることができないようになっている。シングル・インライン・メモリ・モジュール（ＳＩＭＭ）は、コンピュータ・システムにおけるメモリのパッケージングの業界標準形式になった一例である。ＳＩＭＭでは、すべてのアドレス線がすべてのＤＲＡＭに接続している。さらに、ＳＩＭＭ上では行アドレス・ストローブ（／ＲＡＳ）と書込みイネーブル（／ＷＥ）が各ＤＲＡＭに接続されることが多い。これらの線は駆動する装置入力の数の結果として本質的に容量性負荷が大きい。また、ＳＩＭＭ装置は、一般には出力イネーブル（／ＯＥ）ピンを接地し、そのため／ＯＥはメモリ装置に拡張機能を与える候補としてあまり魅力がない。
ＳＩＭＭを使用するコンピュータの数が厖大なため、標準ＳＩＭＭ設計からの提案されている逸脱に対しては大きな抵抗がある。標準からの大幅な逸脱に対する業界の抵抗と、現行システムが新しいメモリ装置に対応することができないために、それらの逸脱はなかなか広く受け入れられない。したがって、大幅に異なるアーキテクチャを持つ装置は、限られた数量しか当初は製造されない。この限定された製造のため、一般には大量生産品に伴う製造上の改善と効率化によって実現することができるコストの低減が妨げられる。
発明の概要
高速データ・アクセスのために且つ既存のメモリ・システムとの互換性を持たせるために、標準ＤＲＡＭピン配列を備える集積回路メモリ装置を設計する。１つの列アドレスに従って複数の順次アクセスが行われ、／ＣＡＳ制御信号を基準にして読取りデータが出力される高速バースト動作モードを実現する。バースト動作モードでは、装置の内部でアドレスが増分され、外部アドレス線が高周波数で切り替わる必要がなくなる。バースト・アクセス１回当たり読取り／書込みコマンドが１回発行され、それによって読取り／書込み制御線を高速でトグルさせる必要がなくなる。内部アドレス・カウンタとデータ入出力ラッチをクロック制御するために、１メモリ・チップ当たり１本の制御線（／ＣＡＳ）だけを動作周波数でトグルさせるだけで済む。各／ＣＡＳは一般に１バイト幅のみのデータ・バスを制御するため、各／ＣＡＳ線上の負荷は、他の制御信号線（／ＲＡＳ、／ＷＥ、および／ＯＥ）上の負荷よりも一般に少ない。メモリ装置の内部回路は、既存の拡張データ出力（ＥＤＯ）ＤＲＡＭとの互換性が高い。この類似性によって、限られた量の追加回路を使用して１個のダイ上に２種類の部品を製造することができる。標準非バースト・モードと高速バースト・モードを切り換えることができるため、この装置を使用して標準装置を置き換えることができ、より複雑な高速メモリ装置に切り換える必要がなくなる。内部アドレス生成によって、高速ページ・モードまたはＥＤＯ  ＤＲＡＭで可能なよりも高速なデータ・アクセス時間に対応することができる。このバーストＥＤＯ装置の高速動作により、高速データ・スループットを達成するのにインタリーブ・メモリ装置が不要になる。前述の５０メガヘルツのインタリーブ・メモリ・システムとは異なり、この装置の出力データは約１５ナノ秒間有効であるため、メモリからデータをラッチするのに必要な回路の設計が簡単になる。この装置は既存のメモリ・モジュール・ピン配列と互換性がある。メモリ・モジュールには、シングル・インライン・メモリ・モジュール（ＳＩＭＭ）、マルチチップ・モジュール（ＭＣＭ）、デュアル・インライン・メモリ・モジュール（ＤＩＭＭ）などが含まれる。この機構の組み合わせによって、最小限の設計変更で格段のシステム・パフォーマンス向上が可能になる。
高速ページ、ＥＤＯ、またはバーストＥＤＯモードのメモリ装置を受け入れるようにシステムが適合される。これらの装置はシステム製造業者がシステム・ボードにはんだなどで永久的に実装することも、メモリ・モジュールの使用によって交換可能に装着することもできる。密度の向上、パフォーマンスの向上、または消費電力の低減を可能にするように、メモリ・モジュールはユーザまたは技術者が容易にアップグレードすることができる。１種類のメモリが使用不能になった場合や、他の種類のメモリよりも高価な価格で販売されるようになった場合、システム製造者は自社の価格／パフォーマンス比および入手しやすさの必要を最もよく満たすメモリを搭載することができる。システムを高速ページ・モード・メモリ搭載で販売する場合、そのシステムのエンド・ユーザは後でシステムをＥＤＯまたはバーストＥＤＯメモリにアップグレードしてパフォーマンス向上を実現することができる。システムがＥＤＯメモリを備える場合、ユーザはパフォーマンスを大幅に向上させるためにバーストＥＤＯにアップグレードすることができる。あるいは、ユーザがメモリ容量を増やしたいが、高価な高パフォーマンス・メモリの価格を支払いたくない場合、よりパフォーマンスの低いタイプのメモリを使用してメモリ密度をアップグレードすることができる。
このシステムでは、システム内に複数のタイプのメモリを同時に存在させることができる。たとえばメモリの第１のバンクをバーストＥＤＯメモリにし、第２のバンクをＥＤＯメモリにすることができる。バーストＥＤＯ形式の第１のバンクには第１のアクセス速度でアクセスし、ＥＤＯ形式の第２のバンクには第２のアクセス速度でアクセスするようにメモリ・コントローラをプログラムする。最も頻繁にアクセスされるデータは、最高速のアクセス能力を持つバンクに格納する。これによって、ユーザは大きなメモリ容量と、少なくともメモリの一部への高速アクセスとを獲得することができる。
システムは電源投入時またはリセット時に各メモリ・バンク内にあるメモリのタイプを判断し、それに応じてメモリ・アクセス信号のタイミング・パラメータを調整することができる。ユーザはシステムの価格／パフォーマンス比特性をより自由に左右することができる。
【図面の簡単な説明】
本発明の特徴と目的および利点は、請求の範囲、具体的な実施例の詳細な説明、および添付図面を参照すれば最もよくわかるであろう。
第１図は、バーストＥＤＯメモリ装置の電気配線図である。
第２図は、線形アドレス指定形式とインタリーブ・アドレス指定形式の対比を示す表である。
第３図は、第１図のメモリ装置の１つの提案ピン配列を示す図である。
第４図は、第１図の装置にアクセスする方法のタイミング図である。
第５図は、第１図の装置にアクセスする他のタイミング図である。
第６図は、シングル・インライン・メモリ・モジュールの電気配線図である。
第７図は、シングル・インライン・メモリ・モジュールの前面図である。
第８図は、第７図のシングル・インライン・メモリ・モジュールのピン番号と信号名を示す表である。
第９図は、本発明により設計されたシステムを示す概略図である。
第１０図は、システム内にどのタイプのメモリがあるかを判断する１つの方法のタイミング図である。
第１１図は、システム内にどのタイプのメモリがあるかを判断する他の方法のタイミング図である。
好ましい実施例の詳細な説明
第１図は、本発明により設計された１６メガビットの装置又はデバイスを示す概略図である。この装置は、メモリ・アレイ１２内での２，０９７，１５２バイトの情報のデータ記憶を実現する、８ビットのデータ入出力経路１０を有する２メガ×８のバーストＥＤＯ  ＤＲＡＭとして構成されている。第１図の装置は、８ビット幅のＥＤＯ  ＤＲＡＭ用の業界標準ピン配列を有する。アクティブ−低行アドレス・ストローブ（／ＲＡＳ）信号１４を使用して、多重化メモリ・アドレスの第１の部分をアドレス入力Ａ０〜Ａ１０  １６からラッチ１８にラッチする。ラッチされた行アドレス２０を行デコーダ２２でデコードする。デコードされた行アドレスを使用してメモリ・アレイ１２の行を選択する。列アドレス・ストローブ（／ＣＡＳ）信号２４を使用して、メモリ・アドレスの第２の部分をアドレス入力１６から列アドレス・カウンタ２６にラッチする。ラッチされた列アドレス２８を列アドレス・デコーダ３０でデコードする。デコードされた列アドレスを使用してメモリ・アレイ１２の列を選択する。
バースト読取りサイクル中は、行アドレス・デコーダと列アドレス・デコーダによって選択された行および列アドレスにあるメモリ・アレイ内のデータがメモリ・アレイから読み出され、データ経路３２を通して出力ラッチ３４に送られる。バーストＥＤＯ  ＤＲＡＭから駆動されたデータ１０は、所定の／ＣＡＳサイクル数の遅延（レーテンシィ又は待ち時間）後に／ＣＡＳと同期して装置の外部にラッチすることができる。２サイクル遅延設計の場合、／ＣＡＳの最初の立ち下がりを使用してバースト・アクセスの初期アドレスをラッチする。メモリからの最初のバースト・データは、／ＣＡＳの２番目の立ち下がり後にメモリから駆動され、３番目の／ＣＡＳ立ち下がりの間中有効になっている。メモリ装置又はメモリ・デバイスがバースト読取りサイクル中にデータの出力を開始した後は、出力ドライバ３４は／ＣＡＳの高期間中、出力イネーブル（／ＯＥ）制御線と書込みイネーブル（／ＷＥ）制御線の状態に応じてデータ出力をトライステートにすることなくデータ線の駆動を続け、それによってシステムが出力データをラッチする時間が増える。行アドレスおよび列アドレスが選択された後は、／ＣＡＳ信号の追加の遷移を使用して列アドレス・カウンタ内の列アドレスを所定の順序で進める。／ＯＥが低に維持され、／ＷＥが高のままであるとすれば、バーストＥＤＯ  ＤＲＡＭの出力でデータが有効になる時点は／ＣＡＳ信号のタイミングのみによって決まる。出力データ信号レベルは、標準ＣＭＯＳ、ＴＴＬ、ＬＶＴＴＬ、ＧＴＬ、またはＨＳＴＬ出力レベル仕様またはその他の仕様に従って駆動することができる。
全体的なシステム要件への対応が最大限になるように、アドレスは線形に進められるか、またはインタリーブ方式とすることができる。第２図は２、４、および８サイクルのバースト長の線形アドレス指定シーケンスおよびインタリーブ・アドレス指定シーケンスを示す表である。表中の先頭アドレスＡ１およびＡ２の「Ｖ」は、バースト・シーケンスを通じて変化しないアドレス値を表す。列アドレスは各／ＣＡＳ遷移または各パルスによって進めるか、または各列アドレスによってアレイから複数のデータ・ワードを読み取る場合には複数の／ＣＡＳパルスによって進めることができる。／ＣＡＳ信号の各遷移によってアドレスが進められると、装置待ち時間に続く各遷移後にもこの部分からデータが駆動され、／ＣＡＳ信号の各エッジで参照される。これによって、各メモリ・サイクルについて最高のスイッチング制御線（／ＣＡＳ）が１回しか（高から低または低から高に）トグルしないバースト・アクセス・サイクルが可能になる。これは、各サイクルごとに／ＣＡＳが低になってから高になる必要がある標準ＤＲＡＭや、各メモリ・サイクルごとに完全なクロック・サイクル（高と低の遷移）を必要とするシンクロナスＤＲＡＭとは異なる。既存のＥＤＯ  ＤＲＡＭ装置との互換性を最大限にするために、／ＣＡＳ信号の立ち下がりで列アドレスをラッチして進めるように設計された装置を参照しながら本発明について詳述する。
ラッチされたアドレスと増分されたアドレスの両方を、アクセス・サイクル中の最も早い機会にアレイに適用するためには、最初の／ＣＡＳ立ち下がり後に列アドレスをラッチし、増分することが望ましいであろう。たとえば、１サイクルに２つのデータ・ワードにアクセスするように装置を設計することができる（プリフェッチ・アーキテクチャ）。プリフェッチ・アーキテクチャ装置のメモリ・アレイは、奇数と偶数の半分ずつに分割することができる。次に列アドレスの最下位ビットを使用して奇数側と偶数側との間で選択する間に、他の列アドレス・ビットによってアレイの各半分内の列を選択する。列アドレス１を使用したインタリーブ・アクセス・モードでは、ＳＤＲＡＭ仕様で規定されている標準インタリーブ・アドレス指定に従って、列０と列１のデータが読み取られ、列１のデータが出力された後、列０のデータが出力されることになる。線形アクセス・モードでは、列アドレス１が奇数側半分のアレイに適用され、アドレス２に増分され、偶数側半分のアレイにアクセスして２ワード・アクセスが完了する。このタイプの装置・アーキテクチャを実施する１つの方法は、列アドレス・カウンタと偶数側半分のアレイとの間に列アドレス増分回路を設けることである。この増分回路は、バースト・アクセス・サイクル中に初期列アドレスが奇数であってアドレス・モードが線形である場合にのみ列アドレスを増分する。それ以外の場合、増分回路は列アドレスを変更せずに渡す。１サイクルに２データ・アクセスのプリフェッチを使用する設計の場合、列アドレスは／ＣＡＳ信号の２アクティブ・エッジごとに１回進められることになる。３以上のデータ・ワードにアクセスするプリフェッチ・アーキテクチャも可能である。
本発明に適用可能なその他のメモリ・アーキテクチャには、メモリ・アクセスが順次に行われるが、各アクセスが完了するのに複数のサイクルを必要とするパイプライン・アーキテクチャが含まれる。パイプライン・アーキテクチャでは、メモリの全体的スループットは１サイクル１アクセスに近づくが、パイプラインの長さや／ＣＡＳからの所望の待ち時間のためにメモリのデータ出力は数サイクルだけオフセットされることがある。
バースト・アクセス・メモリ装置では、列アドレス・カウンタからのそれぞれの新しい列アドレスがデコードされ、それを使用して、アドレス入力１６で追加の列アドレスを指定する必要なしにメモリ・アレイ内の追加のデータにアクセスする。このバースト・データ・シーケンスは、バースト長と等しい所定の数のデータ・アクセスが行われるまで各／ＣＡＳ立ち下がりごとに続く。最後のバースト・アドレスが生成された後で受け取った／ＣＡＳ立ち下がりによって、アドレス入力１６から別の列アドレスがラッチされ、新しいバースト・シーケンスが始まる。読取りデータはラッチされ、最初の／ＣＡＳ待ち時間の後の／ＣＡＳの各立ち下がりと共に出力される。
バースト書込みサイクルの場合、データ１０が入力データ・ラッチ３４にラッチされる。最初の列アドレスがラッチされると、行アドレスと列アドレスによって指定された最初のアドレスに宛てられたデータが／ＣＡＳ信号によってラッチされる（書込みサイクル・データ待ち時間はゼロである）。その他の書込みサイクル・データ待ち時間値も可能であるが、現在のメモリ・システムの場合はゼロが好ましい。増分された列アドレス位置に記憶する追加の入力データ・ワードが、連続する／ＣＡＳパルスで／ＣＡＳによってラッチされる。入力ラッチ３４からの入力データはデータ経路３２を通ってメモリ・アレイに渡され、行および列アドレス・デコーダによって選択された場所に記憶される。バースト読取りサイクルで前述したように、アドレス線１６で追加の列アドレスを供給しなくても所定の数のバースト・アクセス書込みが行われる。所定数のバースト書込みが行われると、その後の／ＣＡＳパルスによって新しい開始列アドレスがラッチされ、別のバースト読取りまたは書込みアクセスが開始される。
第１図のメモリ装置は、バーストＥＤＯ動作モードと標準ＥＤＯ動作モードとの切換えのオプションを組み込むことができる。その場合、行アドレス・ラッチ時（／ＲＡＳ立ち下がり、／ＣＡＳ高）に書込みイネーブル信号／ＷＥ３６を使用して、その行のメモリ・アクセスがバースト・モード・サイクルとページ・モード・サイクルのどちらであるかを判断する。／ＲＡＳの立ち下がり時に／ＷＥが低の場合、バースト・アクセス・サイクルが選択される。／ＲＡＳの立ち下がりで／ＷＥが高の場合、標準拡張データ出力（ＥＤＯ）ページ・モード・サイクルが選択される。バースト・モード・サイクルとＥＤＯページ・モード・サイクルは両方とも、／ＲＡＳが低である間、データ読取りサイクル間にデータ出力ドライバ３４によってデータ線１０を高インピーダンス状態にする必要がないため、メモリ装置動作周波数を高めることができる。ＤＲＡＭ制御回路３８は標準ＤＲＡＭ制御機能を実行するほかに、／ＲＡＳが下がったときに／ＷＥによって選択されたモードに従ってＩ／Ｏ回路３４と列アドレス・カウンタ／ラッチ２６を制御する。バースト・モードのみのＤＲＡＭ、またはバースト・アクセス・サイクルと非バースト・アクセス・サイクルを切り換える代替方法を使用して設計された装置では、／ＲＡＳが下がったときに／ＷＥの状態を使用して、インタリーブ・アドレス指定モードと線形アドレス指定モードなど他の可能なモード間の切換えを行うことができる。
バースト・アクセス・サイクル中に、バースト・サイクルのために初期列アドレスが／ＣＡＳによってラッチされるときに書込みイネーブル信号を使用して読取りまたは書込みバースト・アクセスを選択する。列アドレス・ラッチ時の／ＷＥ低によってバースト書込みアクセスが選択される。列アドレス・ラッチ時の／ＷＥ高によって、バースト読取りアクセスが選択される。バースト・アクセスの最中、／ＷＥ信号のレベルは読取りの場合は高に維持し、書込みバースト・アクセスの場合は低に維持しなければならない。バースト書込みアクセス中の低から高への遷移によってバースト・アクセスが終了し、それ以上の書込みが行われないようにする。バースト読取りアクセス中の／ＷＥ上の高から低への遷移によって、同様にバースト読取りアクセスが終了し、データ出力１０を高インピーダンス状態にする。誤った書込みサイクルをトリガする可能性を少なくするため、アクセス・サイクル内の臨界タイミング期間中に／ＷＥ信号の遷移を監視することができる。臨界タイミング期間後、／ＷＥの状態によってバースト・アクセスを継続するか、開始するか、または終了するかが決まる。バースト・アクセスが終了すると、バースト長カウンタがリセットされ、ＤＲＡＭは別のアクセス・コマンドを受け取る状態になる。バースト・アクセス中に／ＲＡＳと／ＣＡＳが両方とも高になった場合も、バースト・アクセス・サイクルが終了し、データ・ドライバが高インピーダンス状態になり、バースト長カウンタがリセットされる。隠れたリフレッシュ・サイクルとの両立性をもたせるために／ＣＡＳがアクティブの間に／ＲＡＳだけが高になる場合、読取りデータを装置出力で有効に維持することができ、それ以外の場合は／ＲＡＳだけが高の状態を使用してバースト・アクセスを終了させることができる。バースト・アクセス間の遅延を最小限にして、バースト読取りを終了させてから別のバースト読取りを開始したい場合、または別のバースト書込みを行う前にバースト書込みを終了させたい場合は、最小限の書込みイネーブル・パルス幅だけで済む。バースト読取りの場合、／ＷＥが高から低に遷移して第１のバースト読取りを終了させ、次に、新しいバースト読取りサイクルを指定するために、／ＣＡＳの次の立ち下がりの前に／ＷＥが高に戻る。バースト書込みの場合、／ＷＥは高に遷移して現行バースト書込みアクセスを終了させ、次に別のバースト書込みアクセスを開始するために／ＣＡＳの次の立ち下がりの前に低に戻る。
第１図の装置の基本実施態様は、固定バースト長４と固定／ＣＡＳ待ち時間２とバーストアドレスの固定インタリーブ・シーケンスとを組み込むことができる。この基本実施態様は、標準ＥＤＯページ・モードＤＲＡＭにわずかの回路を追加するだけで済み、標準ＥＤＯページ・モードとバーストＥＤＯ  ＤＲＡＭの両方の機能を備えるように大量生産することができる。また、この装置では、多くのＳＩＭＭモジュール設計と互換性を持たせるために出力イネーブル・ピン（／ＯＥ）を接地することもできる。ディスエーブルにされていない（接地に結合されている）場合、／ＯＥは、／ＣＡＳが下がる前にイナクティブ（高）であり／ＣＡＳの立ち上がりを過ぎてイナクティブな場合、読取りサイクル中にデータがこの部分から駆動されないようにする非同期制御信号である。これらのセットアップ条件と保持条件が満たされない場合、読取りデータを読取りサイクルの一部の間、駆動することができる。／ＯＥ信号を／ＣＡＳと同期させることができるが、これは一般に／ＣＡＳからデータ有効までの遅延時間を増大させ、普通なら不要な追加の／ＣＡＳ低パルスを加えなければ、／ＲＡＳが高になる前に読取りデータをディスエーブルにすることができなくなる。好ましい実施例では、読取りサイクル中の任意の時点で／ＯＥが高に遷移した場合、／ＯＥ信号がさらに遷移しても出力は／ＣＡＳの次の立ち下がりまで高インピーダンス状態を保つ。
ライト／ＣＡＳビフォア／ＲＡＳ（ＷＣＢＲ）プログラミング・サイクルを受け取ると１つまたは複数のアドレス入力信号１６またはデータ信号１０の状態をラッチするモード・レジスタ４０の使用により、バースト長、／ＣＡＳ待ち時間、およびアドレス・シーケンスをプログラム可能にすることができる。このような装置では、モード・レジスタからの出力４４によってＤＲＡＭ上の必要な回路が制御される。２、４、８、およびフル・ページのバースト長オプションと、１、２、および３の／ＣＡＳ待ち時間を指定することができる。装置の動作速度の向上とコンピュータ・アーキテクチャの進歩につれて、他のバースト長オプションおよび待ち時間オプションも使用することができる。第１図の装置は、ＷＣＢＲサイクル中に最下位アドレス・ビットの状態をラッチすることによるアドレス・シーケンスのプログラム可能性も備える。この特定の実施例のバースト長と／ＣＡＳ待ち時間は固定している。このＤＲＡＭの機能セットのその他の可能な変更には、固定バースト・モードのみの装備、標準高速ページ・モード（非ＥＤＯ）とバースト・モードとのうちからの選択、および出力イネーブル・ピン（／ＯＥ）４２を／ＲＡＳと組み合わせて使用した動作モードの選択が含まれる。また、制御信号と／ＲＡＳの組み合わせではなくＷＣＢＲリフレッシュ・サイクルを使用して動作モードを選択することもできる。さらに複雑なメモリ装置は、高速ページ・モード、ＥＤＯページ・モード、スタティック・カラム・モード、および／ＲＡＳの立ち下がり時の／ＷＥと／ＯＥの様々な組み合わせの使用によるバースト動作などの追加の動作モードを備えることができる。複数のアドレス線またはデータ線を使用するＷＣＢＲサイクルの使用により、同様の１組のモードのうちから１つのモードを選択し、所望のモードをコード化することもできる。あるいは、複数の動作モードを持つ装置は、装置の動作モードをプログラムするために使用可能なワイヤ・ボンド位置またはプログラマブル・ヒューズを備えることもできる。
本発明の技法により設計された１６ビット幅のバーストＥＤＯモードＤＲＡＭの好ましい実施例は、２つの列アドレス・ストローブ入力ピン／ＣＡＳＨおよび／ＣＡＳＬを有する。読取りサイクルのみの場合、一方の／ＣＡＳ信号だけがトグルするだけでよい。第２の／ＣＡＳは高のままかまたは他方の／ＣＡＳと共にトグルする。バースト読取りサイクル中は、一方の／ＣＡＳがイナクティブのままであっても１６データ・ビットすべてが１つの読取りサイクル中にこの部分から駆動される。典型的なシステム応用例では、マイクロプロセッサが各読取りサイクル中にデータ・バス上のすべてのデータ・ビットを読み取るが、書込みサイクル中は特定のバイトだけを書き込むことができる。読取りサイクル中に／ＣＡＳ制御信号の一方が静的状態を保持することができるようにすることによって、システム内の全体的な電力消費量と雑音が低減される。バースト書込みアクセス・サイクルの場合、各／ＣＡＳ信号（／ＣＡＳＨおよび／ＣＡＳＬ）は８ビット幅のデータの書込みイネーブルとして機能する。２つの／ＣＡＳはＡＮＤ機能で組み合わされて１つの内部／ＣＡＳとなる。これは最初の外部／ＣＡＳが下がると低になり、最後の外部／ＣＡＳが高になった後で高に戻る。／ＣＡＳ信号のうちの最初の／ＣＡＳ信号が低に遷移すると１６のデータ入力がすべてラッチされる。一方の／ＣＡＳ信号だけが低に遷移した場合、高のままの／ＣＡＳに付随する８ビットのデータはメモリに記憶されない。
本発明についていくつかの好ましい実施例を参照しながら説明した。高速ページ・モードＤＲＡＭとＥＤＯ  ＤＲＡＭとしてだけでも、×１、×４、×８、および×１６データ幅と、１メガビット、４メガビット、１６メガビット、および６４メガビットの密度を含む多くの構成で使用可能である。本発明のメモリ装置は多くの異なるメモリ構成をとることができる。集積回路メモリ技術分野の業者は、本明細書を読めば本発明から逸脱しない様々なメモリ措置を設計することができると考えられる。したがって、本明細書に適用可能な様々なメモリ装置構成の詳細な説明は不要であると考えられる。
第３図に、第１図の装置の好ましいピン配列を示す。この新しいバーストＥＤＯメモリ装置のピン配列は標準ＥＤＯ  ＤＲＡＭのピン配列と同じであることに留意されたい。この共通のピン配列によって、最小限の設計変更だけでこの新しい装置を既存のメモリ設計で使用することができる。また、共通のピン配列は、標準ＥＤＯ  ＤＲＡＭピン配列に習熟した業者による新しい設計を容易にする。標準ＥＤＯ  ＤＲＡＭピン配列を保持する本発明の変形には、／ＣＡＳピンをシステム・クロック信号によって駆動してメモリ装置のデータ・アクセスをシステム・クロックと同期させることが含まれる。この実施態様の場合、／ＲＡＳ立ち下がり後の最初の／ＣＡＳアクティブ・エッジを使用して行アドレスをラッチし、後のエッジを使用してバースト・アクセス・サイクルの最初の列アドレスをラッチすることができる。装置内で行アドレスと列アドレスをラッチした後、そのアドレスを内部で増分してシステム・クロックと同期させてバースト・アクセス・サイクルを実現することができる。その他のピン機能には、この部分が／ＯＥピン上でデータ出力ディスエーブル機能を必要としないため、／ＯＥピン上でバースト・アドレス増分信号を駆動することがある。／ＯＥピンを使用する他の代替策は、装置が標準ＥＤＯピン配列を維持しながら、バースト・モード・アクセスなどの機能を増強することができるようにする。／ＯＥピンを使用して有効な列開始アドレスがあることを通知したり、バースト・アクセスを終了したりすることができる。これらの実施態様はそれぞれ、最小限の設計変更によって、現行メモリ・システムで使用可能な高速バースト・アクセス・メモリ装置を実現する。
第４図は、第１図の装置のバースト読取りの後にバースト書込みを行うタイミング図である。第４図では、／ＲＡＳ信号によって行アドレスがラッチされる。この設計の一実施例では／ＲＡＳが下がったとき／ＷＥは低であり、／ＷＥピンの状態を使用して／ＲＡＳ時のバースト・アクセス・サイクルを指定する。次に、／ＷＥが高の状態で／ＣＡＳを低に駆動してバースト読取りアクセスを開始し、列アドレスをラッチする。最初の／ＣＡＳサイクルではデータ出力信号（ＤＱ）は駆動されない。／ＣＡＳ信号の２番目の立ち下がりで内部アドレス生成回路が列アドレスを進め、アレイの別のアクセスを開始し、／ＣＡＳからデータまでのアクセス時間（ｔＣＡＣ）後に装置から最初のデータ出力が駆動される。指定バースト長が４の装置の場合、／ＣＡＳの５番目の立ち下がりまでさらにバースト・アクセス・サイクルが続き、新しいバースト読取りアクセスのために新しい列アドレスをラッチする。５番目の／ＣＡＳサイクルで／ＷＥが下がると、バースト・アクセスは終了し、装置はさらなるバースト・アクセスのために初期設定される。／ＷＥが低の／ＣＡＳの６番目の立ち下がりを使用して新しいバースト・アドレスをラッチし、入力データをラッチし、装置のバースト書込みアクセスを開始する。／ＲＡＳが上がってバースト・アクセスを終了させるまで、連続した／ＣＡＳ立ち下がりで追加のデータがラッチされる。
第５図は、バースト書込みアクセスの後にバースト読取りサイクルを行うタイミング図である。第４図のように／ＲＡＳ信号を使用して行アドレスをラッチする。／ＣＡＳの最初の立ち下がりが／ＷＥの低と組合わさってバースト書込みアクセスが開始され、最初のデータがラッチされる。連続する／ＣＡＳ立ち下がりによってさらにデータ値がラッチされ、装置内部でメモリ・アドレスがインタリーブ方式または順次方式で進められる。５番目の／ＣＡＳ立ち下がりで、新しい列アドレスとそれに伴う書込みデータがラッチされる。６番目の／ＣＡＳサイクルで／ＷＥ信号が高になるまでバースト書込みアクセス・サイクルが続く。／ＷＥ信号の遷移によってバースト書込みアクセスが終了する。／ＣＡＳの７番目の低遷移によって、新しい列アドレスがラッチされ、バースト読取りアクセスが開始する（／ＷＥは高である）。バースト読取りは／ＲＡＳが上がってバースト・サイクルが終了するまで続く。
第３図および第４図で、バースト読取りサイクルの場合、データ遷移の短い期間を除き、／ＯＥピンが低である限りデータは装置出力で有効なままであることに留意されたい。また、／ＣＡＳの立ち下がりの前または立ち下がり時に／ＷＥピンが低であるため、書込みサイクル中にデータ入出力線はこの部分から駆動されず、／ＯＥピンは「ドントケア」である。／ＣＡＳ信号とデータ線だけが比較的高い周波数でトグルし、／ＣＡＳ以外の制御信号は１／ＣＡＳサイクル時間以下の間アクティブ状態またはイナクティブ状態になる必要がない。これは、様々な装置機能のために行アドレス・ストローブと、列アドレス・ストローブと、データ・マスクと、読取り／書込み制御信号とが１クリック・サイクル以下の間有効でなければならないことが多いＳＤＲＡＭとは異なる。典型的なＤＲＡＭでは、／ＣＡＳの立ち下がりの前に、列アドレスがアレイまで伝播してデータ・アクセスを開始することができる。これは、／ＣＡＳが立ち下がる前に、アレイからデータにアクセスするのに十分な期間の間アドレスが有効になっていた場合、／ＣＡＳ立ち下がりからの高速データ・アクセスを実現するために行われる。このような設計では、／ＣＡＳの立ち下がりの前に列アドレスが変化する場合、アドレス遷移検出回路を使用してメモリ・アクセスを再開する。新しい列アドレスに備えて準備するために最後のアドレスの後の各メモリ・サイクルの始めにある程度の期間余裕を持たせなければならないため、この方法は実際にはメモリ・アクセスを行うのに追加の時間が必要である。／ＣＡＳ立ち下がりの直前に列アドレスが変化すると、アクセス時間が約５ナノ秒増える可能性がある。本発明の一実施例は、／ＣＡＳが下がってしまうまでは列アドレスがアレイに伝播することができない。これによって、アドレス遷移検出回路が不要になり、／ＣＡＳを基準にして固定したアレイ・アクセスが可能になる。
第６図は、本発明により設計されたシングル・インライン・メモリ・モジュール（ＳＩＭＭ）の概略図である。このＳＩＭＭは、既存のシステムおよびソケットとの物理的互換性を持たせるために標準ＳＩＭＭモジュール・ピン配列を有する。２メガ×８メモリ装置１０、１２、１４、および１６のそれぞれをＥＤＯページ・モードで動作させた場合、ＥＤＯページ・モードＳＩＭＭとの機能上の互換性が維持される。／ＣＡＳ信号１８、２０、２２および２４のそれぞれが１バイト幅の３２ビット・データ・バス２６、２８、３０、および３２を制御する。／ＲＡＳ３４信号を使用して各メモリ装置内の行アドレスをラッチし、／ＷＥ３６と組み合わせて使用してページ・モード・アクセス・サイクルとバースト・モード・アクセス・サイクルとの間の選択を行う。アドレス信号３８がＳＩＭＭ上の各メモリ装置に多重化行および列アドレスを供給する。バースト・モードでは、アクティブ／ＣＡＳ制御信号だけを装置の動作周波数でトグルするか、または、各／ＣＡＳ信号を前述のように使用する場合はその半分の周波数でトグルする必要がある。データ線は／ＣＡＳ線の半分の周波数または同じ周波数で切換え可能である必要があり、その他の制御信号およびアドレス信号は、／ＣＡＳ線およびデータ線より低い周波数で切り替わる。第６図に示すように、各／ＣＡＳ信号および各データ線は１つのメモリ装置に接続され、他の制御信号およびアドレス信号より高い周波数で切り換わることができる。各メモリ装置１０、１２、１４および１６は本発明により、バースト動作モードが可能であり、第１の行および列アドレスがラッチされた後で／ＣＡＳ制御線を基準にしたタイミングによって複数のメモリ・アドレス場所からの順次またはインタリーブ・データ・アクセスを行う。
第７図に、本発明により設計された他のＳＩＭＭの前面図を示す。このＳＩＭＭ上の各装置は１メガ×４に構成された４メガビットＤＲＡＭである。この構成では、１つの／ＣＡＳが２つのメモリ装置を制御して１バイト幅のデータ・バスへのアクセスを実現する。図の８個の装置は３２ビット幅で４メガバイトのＳＩＭＭを形成する。３２ビット幅で８メガバイトのＳＩＭＭの場合、裏側にさらに８個の装置（図示せず）がある。
第８図に、第７図の装置に従って設計されたメモリ・モジュールの好ましいピン配列を示す。このピン配列は、高速ページ・モードＳＩＭＭおよびＥＤＯ  ＳＩＭＭのピン配列と互換性がある。ピン６６にはＥＤＯ動作を示すために存在検出ピンが設けてあり、標準ＥＤＯ部品タイプに従って、ピン４６に／ＯＥ入力が設けてある。
第５図、第６図、および第７図のＳＩＭＭモジュールの他の実施態様としては、それぞれの／ＲＡＳ信号が標準ＳＩＭＭモジュール・ピン配列に従って１６ビット幅のデータ・バスを制御する２つの／ＲＡＳ信号の使用が含まれる。第６図の装置にさらに４個の２Ｍ×８ＥＤＯバースト・モードＤＲＡＭを追加して４Ｍ×３２ビットのＳＩＭＭを実現することもできる。１６ビット幅のＤＲＡＭも使用することができ、それらのＤＲＡＭは典型的には２つの／ＣＡＳ信号を有し、そのそれぞれが８ビット・データ幅を制御する。パリティ・ビットまたは誤り検出および修正回路を組み込むことにより、他の可能なＳＩＭＭモジュール構成が実現される。誤り検出や修正を行う方法は、当業者には周知であり、本出願ではそのような回路の詳細な説明は記載しない。当業者なら本明細書を読めば、本発明の新規なメモリ装置を使用したその他のＳＩＭＭ設計も設計することができる。本発明についてＳＩＭＭ設計を参照しながら説明したが、本発明はＳＩＭＭには限定されない。本発明は、デュアル・インライン・メモリ・モジュール（ＤＩＭＭ）およびマルチチップ・モジュール（ＭＣＭ）を含む他のタイプのメモリ・モジュールにも等しく適用可能である。
第９図は、本発明により設計されたデータ処理システムの概略図である。本明細書ではマイクロプロセッサとは、マイクロプロセッサ、ディジタル信号プロセッサ、または算術演算プロセッサとすることができるが、これらには限定されない。第９図では、マイクロプロセッサ１１２はアドレス線１１４および制御線１１６を介してメモリ制御回路１１８に接続されている。メモリ制御回路は、線１２２および１２０でそれぞれアドレス信号と制御信号メモリを１２４に供給する。さらに、メモリ制御回路とメモリの間に、アドレス信号または制御信号あるいはその両方のためのバッファ回路を設けることもできる。メモリはデータバス１２６を介してデータの送受信を行う。メモリ・データ・バス１２６とマイクロプロセッサ・データ・バス１２８の間の任意選択のデータ・バス・バッファ１３０によって、データ信号の増幅またはマイクロプロセッサおよびメモリ制御信号との同期化あるいはその両方が可能になる。このバッファは、バッファ、トランシーバ、ラッチ、レジスタ、またはレジスタ・トランシーバとすることができるが、これらには限定されない。高速スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）キャッシュ回路１３２も任意選択であり、メモリ回路またはマイクロプロセッサからキャッシュに記憶されているデータへのより高速のアクセスを可能にする。マイクロプロセッサ内にメモリ制御回路１１８を組み込むことができる。メモリ制御回路は、様々なタイプのメモリにアクセスするために必要なアドレス・ストローブ信号、アドレス信号、および読取り／書込み制御信号を供給する。プロセッサがバースト・モードでメモリにアクセスすることができるため、高速ＳＲＡＭキャッシュを必要としない比較的高いメモリ帯域幅を備えたコンピュータの設計が可能である。待ち時間のないメモリ・アクセスを実現するのに十分な高速のＳＲＡＭは、コンピュータのコストを大幅に増大させることがある。システムが本発明によりバーストＥＤＯメモリを受け入れることができるため、現在製造されているものよりもかなり低いコストで中ないし高パフォーマンスのコンピュータを製造することができる。バースト・アクセス・メモリを高速ＳＲＡＭキャッシュと組み合わせて使用すれば、キャッシュ・ミスの場合にメイン・メモリの高速バースト・アクセスを行うことによって、さらに高いパフォーマンスのコンピュータ設計が可能になる。
動作中、バーストＥＤＯメモリがある場合、マイクロプロセッサはメモリ制御回路を介してメモリにアドレス信号と制御信号を供給することによってデータを読み取る。初期アドレスと読取りコマンドとアクセス・サイクル・ストローブとに応答して、メモリは初期アドレスにある第１のデータ・ワードへのアクセスを開始する。バースト・アクセスの第２のアクセス期間中に第２のアクセス・サイクル・ストローブがメモリ内のアドレスを進ませ、第２のアドレスからのデータの読取りアクセスを開始する。待ち時間が２の場合、第１のデータは第２のアクセス・サイクル・ストーブ信号が発生した後でメモリから駆動される。典型的には、バースト・アクセスの第３のアクセス・サイクル期間の始めに行われる第３のアクセス・サイクル・ストローブに応答して、第１のデータがマイクロプロセッサにラッチされる。この第３のアクセス・サイクル・ストローブによって、第２のデータ値もメモリから駆動される。第３のアクセス・サイクル・ストローブによって、メモリ内で第３のアドレスも生成され、第３のデータ・アクセスが開始する。第４、第５、および第６のアクセス・サイクル・ストローブに応答して、マイクロプロセッサにデータがラッチされる。このようにして、１つのアドレスと複数のアクセス・サイクル・ストローブとに応答してマイクロプロセッサ内で４個のデータ値が受け取られる。メモリが４ワード・バースト・シーケンスを実行するように設計されており、メモリから追加のデータ値が必要な場合は、マイクロプロセッサは、５番目のアクセス・サイクル・ストローブ信号によってメモリに第２のアドレスを供給することができる。この場合、マイクロプロセッサが第１の４ワード・バーストからデータを受け取っている間に、第２の４ワード・バースト・シーケンスが開始される。データ・バッファ１３０を使用して、アクセス・サイクル・ストローブ信号に応答してメモリから受け取ったデータを、マイクロプロセッサに接続されているシステム・クロックと同期させることができる。書込みサイクルの場合、一般には待ち時間はない。書込みサイクルのデータは、バースト書込みシーケンスにおける各アクセス・サイクル・ストローブ信号によって供給される。
本発明の好ましい実施例では、第９図のシステムは２つ以上の異なるタイプのメモリと共に動作する。たとえば、システムはバーストＥＤＯ、高速ページ・モード、またはＥＤＯメモリ装置と共に動作することができる。システムはたとえば、高速ページ・モード、ＥＤＯ、またはバーストＥＤＯメモリ装置を有するメモリ・モジュールを受け入れるように適合させることができ、その場合、それらのモジュールは全く同じかほぼ同じピン配列を有する。
このシステムでは、存在するメモリのタイプを検出する方法は以下のステップのいくつかまたは全部を使用する。すなわち、第１のデータ・パターンをメモリのアドレスｎに書き込み、アドレスｎで読取りコマンドによって／ＣＡＳを低にトグルし、メモリのデータ出力をサンプリングし、／ＣＡＳを高にトグルし、メモリのデータ出力をサンプリングする。第１のデータ・サンプルがメモリに書き込まれたデータと一致する場合、高速ページ・モードとＥＤＯの両方のタイプのメモリについてアドレスからデータ有効までと／ＣＡＳからデータ有効までの時間が一致していれば、メモリは高速ページ・モードまたはＥＤＯである。第２のサンプルがメモリに書き込まれているデータと一致する場合、メモリはＥＤＯである。これは、高速ページ・モードでは／ＣＡＳが高の間はデータ・バスが駆動されず、バーストＥＤＯメモリでは待ち時間は一致していないはずであるためである。第１のパターンが一致し、第２のパターンが一致しない場合、メモリは高速ページ・モードである。／ＣＡＳ低または／ＣＡＳ高で有効データが検出されない場合、メモリはバーストＥＤＯである。バーストＥＤＯメモリの存在を検証し、待ち時間を判断するには、有効データを検出するために列アドレスを変更してもしなくても、／ＣＡＳを低にトグルしてさらに読取りサイクルを行うことができる。高速ページ・モードとＥＤＯのいずれか一方のみまたはバーストＥＤＯメモリを受け入れるように設計されたシステムは、どのタイプのメモリが存在するかを判断するために、高速読取りサイクル中の適切な時点（高速ページ・モードの場合は／ＣＡＳ低、ＥＤＯの場合は／ＣＡＳ高）でデータをサンプリングするだけでよい。たとえばＥＤＯまたはバーストＥＤＯメモリのみを受け入れるように設計されたシステムは、高速ページ・モード・データが有効になるはずの／ＣＡＳが低の間にデータをサンプリングする機能を持っていなくてもよい。第１０図に、既知のデータ・パターンＤｎを、システムに存在する可能性のあるメモリ・タイプのそれぞれと互換性のある形式でメモリに書き込むタイミング図を示す。時点ｔ１で、前述のように／ＣＡＳが低の間にメモリ出力がサンプリングされる。有効データが読み取られない場合、メモリはバーストＥＤＯである。時点ｔ２で、／ＣＡＳが高の間にメモリ出力がサンプリングされる。時点ｔ１で有効データが読み取られていた場合、時点ｔ２で有効データが存在するかどうかによって、データが高速ページ・モードかＥＤＯかがわかる。待ち時間２のバーストＥＤＯメモリの場合、時点ｔ３またはｔ４でサンプリングされたデータはメモリに書き込まれているデータと一致する。特に時点ｔ４では、３種類のメモリのそれぞれがメモリ・データ出力で異なる結果を出力し、メモリ・タイプの判断が可能になる。
バーストＥＤＯと高速ページ・モードまたはＥＤＯとを区別する方法は、以下のステップを使用することができる。第１のデータ・パターンをメモリのアドレスｎに書き込み、第２のデータ・パターンをメモリのアドレスｎ＋１に書き込み、第３のデータ・パターンをメモリのアドレスｎ＋２に書き込み、第４のデータ・パターンをメモリのアドレスｎ＋３に書き込み、／ＣＡＳを５回サイクルして、外部アドレス線上にアドレスｎを維持しながらバーストＥＤＯバースト読取り形式のデータを読み取る。このデータは単一個別サイクル、ページ・モード・サイクル、またはバーストＥＤＯ形式で書き込むことができる。受け取ったデータが書き込まれたデータと一致するが少なくとも１サイクル（待ち時間）だけオフセットしている場合、メモリはバーストＥＤＯである。メモリがバーストＥＤＯでない場合、単一サイクルまたはページ・モード書き込みが行われた場合は読み取られたデータはアドレスｎに書き込まれたデータ・パターンとすべて等しく、メモリはＥＤＯメモリであるか、またはバーストＥＤＯ書き込みが行われた場合はデータはアドレスｎ＋３に書き込まれたデータ・パターンと等しく、メモリはＥＤＯメモリであるか、またはデータはデータ・バスの特性に依存し、メモリは高速ページ・モード・メモリである。／ＣＡＳが高の間にデータをサンプリングし、メモリが高速ページ・モード・メモリの場合、データをサンプリングしたときのデータ・バスは高、低、または不明にフロートする。／ＣＡＳが低の間にデータをサンプリングした場合、高速ページ・モード・メモリはＥＤＯメモリと同じデータを出力する。
メモリのデータ出力を／ＣＡＳが高の間にのみサンプリングし、有効データを受け取らない場合、メモリに高速ページ・モード形式でアクセスして高速ページ・モード・メモリの存在を検証しなければならない。
第１１図は、本発明の教示によりシステム内にどのタイプのメモリが存在するかを判断する他の方法のタイミング図である。特定の例を示すために、図のデータ値はデータ幅が４ビットのシステムに対応している。実際には、典型的なシステム・データ・バスは８、１６、３２、６４またはその他のデータ幅を有することができる。同様に、このタイミング図について第９図のシステムを参照しながら検討するが、説明する方法は、少なくとも２種類のアクセス・モードのうちの１つまたは複数のモードで動作可能なメモリ装置を使用することができる、本発明の教示に従った多様なシステム構成に等しく有用である。第１１図では、２つのデータ値がページ・モード書き込み形式を使用してメモリに書き込まれる。この形式は、高速ページ・モード、ＥＤＯ、またはバーストＥＤＯメモリ装置にデータを正しく記憶する。メモリがバーストＥＤＯの場合、図の２番目の列アドレス（Ｃｎ＋１）はメモリ装置または書き込まれる装置によって単に無視される。これは２番目のアドレスは内部的に生成されるためである。互いに容易に区別することができ、駆動されていないバスからも容易に区別することができるように選定した２つのデータ値（０１１０および１００１）を書き込んだ後、バーストＥＤＯ形式でメモリを読み取る。ＤＡＴＡ  ＦＰＭという符号が付されてる波形は、高速ページ・モード・メモリが搭載されているシステムのデータ・バスを表す。ＤＡＴＡ  ＥＤＯというラベルが付されている波形はＥＤＯメモリが搭載されているシステムのデータ・バスを表す。ＤＡＴＡ  ＢＥＤＯというラベルが付されている波形は、バーストＥＤＯメモリが搭載されているシステムのデータ・バスを表す。縦線ｔ１、ｔ２、ｔ３、ｔ４、およびｔ５は、システム内に存在する可能性のあるメモリのタイプを区別するためにデータをサンプリングすることができる、いくつかの可能な時点を表す。特に時点ｔ５では、読取り操作に対して各メモリ・タイプが異なる応答を示す。時点ｔ５では／ＣＡＳが高のため、高速ページ・モード・メモリはデータ・バスを駆動していない。バスが駆動されていない場合、一般には高、低、または高と低の値のパターンとしてディジタルに解釈されるレベルにフロートまたは終了する。いずれの場合も、データは書き込まれているパターンと一致する可能性は低い。狭いデータ・バスを使用するシステムの場合、またはバス特性が不明の場合、様々なデータ・パターンを使用してこの方法を繰り返し、バスが書き込まれたデータと一致するものとして解釈されるような信号レベルを供給しないように保証することが望ましい。広いデータ・バスの場合、駆動されないバスがランダムまたは適切に変化するデータ・ビット・パターンと一致する可能性はきわめて低く、複数のパターンは不要とみなせることがある。たとえば３２ビット・データ・バスの可能なパターンは０１１０  １００１  １１１１  ０００１  １１００  ００１１  ００００  １１１０となる。時点ｔ５で、読取りアドレスはサイクルごとに変化していないため、ＥＤＯメモリは列アドレスＣｎからデータ・バス上にデータを駆動する。第１１図の例の場合、この値は０１１０である。時点ｔ５で、待ち時間が２のバーストＥＤＯメ���リは、バースト読取りアクセス・サイクル中の内部アドレスを自動的に増分するので、列アドレスＣｎ＋からデータを供給する。このようにして、時点ｔ５でメモリ・タイプが高速ページ・モード、ＥＤＯ、またはバーストＥＤＯのいずれであるかを判断することができる。より包括的な方法は、待ち時間が２以外のバーストＥＤＯメモリ装置を可能にするために、２サイクルの書込みサイクルおよび３サイクルの読取りサイクルより多くのサイクルを実行する。たとえば、４サイクルの書込みサイクルの後に５サイクルの読取りサイクルを行い、５番目のサイクルの後の／ＣＡＳ高でデータをサンプリングする場合、高速ページ・モード・メモリではデータはバスに依存し、ＥＤＯメモリでは最初のデータ値と等しく、待ち時間が２、３または４のバーストＥＤＯメモリではそれぞれ４番目、３番目または２番目のデータ値と等しい。
本発明による他の方法は、メモリのタイプに関係なく単一サイクルで非順次アドレスへの書込みを行ってそれらのアドレスにデータを書き込み、次に各メモリ・タイプと互換性のあるタイミングだが、異なるアドレス順序でページ・モード様の形式で読取りを行う。たとえば、単一サイクルを使用して（各サイクル毎に／ＲＡＳと／ＣＡＳの両方をトグルさせて）、Ｄ１、Ｄ２、Ｄ３、およびＤ４をそれぞれアドレス００、１０、１１、０１に書き込み、次に００、１１、０１、１０からページ・モード様の形式で読み取る。バーストＥＤＯメモリは、時間を待ち時間だけオフセットしてＤ１、Ｄ４、Ｄ２、Ｄ３の順にデータを読み取る。高速ページ・モードおよびＥＤＯメモリは、待ち時間なしでＤ１、Ｄ３、Ｄ４、Ｄ２の順にデータを読み取る。この場合も、／ＣＡＳが高になった後で（たとえば／ＣＡＳの立ち下がりで）データをサンプリングした場合、高速ページ・モード装置からのデータは無効である確率が最も高い。
本発明の実施例によりシステム内のメモリ・タイプを検出又は判断する他の方法は、非順次アドレスに対するページ・モード書込み形式を使用していくつかの記憶場所に書き込み、次にページ・モード形式で順次アドレスから読み取ることである。たとえば、データ書込みサイクルでは最下位アドレス２ビットを００、１０、１１、０１の順にトグルさせる。ページ・モード・メモリの場合、データが有効になった後、／ＣＡＳが高に遷移することによってデータ・バスがトライステートになる前にサンプリングした場合、データは有効だが順序外れになる。ＥＤＯメモリの場合、データが有効になった後、次に／ＣＡＳが低に遷移する前にサンプリングした場合、データは有効だが順序外れになる。バーストＥＯＤメモリの場合、メモリ内でアドレス最下位ビットが読取りサイクルと書込みサイクルで同じ順序で生成されるため、データは順序正しく読み取られる。バーストＥＤＯデータには／ＣＡＳからの待ち時間がある。わずか２つの記憶場所に書き込まれた後で、第２のアドレスに対する単一読取りサイクルが行われる。この場合、／ＣＡＳが低の間に有効データがサンプリングされた場合、メモリは高速ページまたはＥＤＯでなければならない。／ＣＡＳが高に遷移した後で有効データがサンプリングされた場合、メモリはＥＤＯである。有効データが検出されない場合、メモリはバーストＥＤＯである。
ＳＩＭＭを使用するシステムで存在するメモリのタイプを本発明の教示により判断する簡略化された方法は、ＥＤＯ存在検出ピンを利用する。ＥＤＯ存在検出が偽の場合、メモリは高速ページ・モード・メモリである。存在検出が真の場合、メモリはＥＤＯとバーストＥＤＯのどちらであるか、あるいは複数の動作モードを持つメモリ装置であるかだけを検査するだけでよい。
本発明による他の方法は、／ＣＡＳをトグルして複数のデータ・パターンを供給しながら列アドレスをＣｎに維持して、バースト・モード形式でデータを書き込むことである。次に、アドレスＣｎ＋ｘでの読取りサイクル（ただしＣｎ＋ｘはバーストＥＤＯメモリ装置に書き込まれているはずのアドレスの範囲内にある）をバーストまたはページ・モード読取りシーケンスの一部として行う。メモリがバーストＥＤＯメモリの場合、アドレスＣｎ＋ｘから読み取られたデータ・パターンは、待ち時間後にＣｎ＋ｘに書き込まれたパターンと一致することになる。高速ページ・モードおよびＥＤＯメモリは、バースト・モード書込みの前にＣｎ＋ｘにあったデータなら何でも供給する。あるいは、／ＣＡＳの低期間の終わり付近でデータをサンプリングするアドレスＣｎに対する単一読取りサイクルは、高速ページ・モードまたはＥＤＯメモリの場合に有効データ出力を供給するが、バーストＥＤＯメモリの場合は待ち時間が満たされていないために有効データを出力しない。
システム内にあるメモリ・タイプを判断する上記の各方法では、メモリ自体に複数の動作モードがあることがわかっている場合には、メモリを特定のモードにするステップを行う必要がある。そのメモリは、メモリがどのような動作モードをサポートするかを判断するために、メモリを可能な所望の各動作モードにする適切な手続きを行った後で検査することができる。また、メモリが線形アドレス指定モードと順次アドレス指定モードとの間で切り替わることができる場合、線形アドレス指定モードであるか順次アドレス指定モードであるかを考慮しなければならない。どのようなＳＲＡＭでも、上述の方法を行う前にディスエーブルにする必要があるか、また読み取るデータがキャッシュ・データだけにならないように保証するための追加のステップが必要である。また、初期設定されていない記憶場所との偽のデータ一致の可能性を避けるために、この方法を使用するアドレス範囲に既知の背景データ・パターンを書き込むこともできる。
本発明は、各メモリ・バンクがいくつかのタイプのメモリのうちの１つを有することができる複数のメモリ・バンクを有するシステムを教示する。この教示により設計されたシステムでは、上述のように各バンクを個別に検査することができる。システムのメモリ・コントローラは、存在するメモリのタイプに従って各バンクにアクセスするようにプログラムされている。
本発明について好ましい実施例を参照しながら説明したが、当業者には本発明の範囲から逸脱することなく本発明の多くの修正および変形が明らかであろう。
【図１】
0003706939.tif 000002
【図２】
0003706939.tif 000003
【図３】
0003706939.tif 000004
【図４】
0003706939.tif 000005
【図５】
0003706939.tif 000006
【図６】
0003706939.tif 000007
【図７】
0003706939.tif 000008
【図８】
0003706939.tif 000009
【図９】
0003706939.tif 000010
【図１０】
0003706939.tif 000011
【図１１】
0003706939.tif 000012