(57)【要約】【課題】メモリ・システムの信頼性および速度を向上させるために、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）半導体デバイス上でコマンド取消し（ＣＣ）機能を実行するための方法を提供すること。【解決手段】ＣＣ機能は、アドレスおよびコマンドＥＣＣ構造がアドレスおよびコマンド再駆動回路と並列に動作できるようにすることによって、読取りおよび書込みオペレーションの非ゼロの待ち時間が標準である、高クロック周波数でのメモリ読取りオペレーションに関連付けられた固有の遅延、ならびに増加する読取り待ち時間に対応した書込み待ち時間の増加を利用する。ＣＣ機能は、２ビット先取りから４および８ビット先取りアーキテクチャへのシフトによって、高周波数モードの待ち時間が増加することになる、将来のＤＤＲ２およびＤＤＲ３オペレーティング要件に拡張可能である。【選択図】      図１  
2004310751.tif 000002
【特許請求の範囲】
【請求項１】
ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）デバイスを有するメモリ・システムにおいて、読取りまたは書込みオペレーションを取り消すための方法であって、
プロセッサとの間のデータ・ストリームを実行可能にするために、アドレスおよび制御情報をメモリ・コントローラを介してＤＲＡＭデバイス・オペレーションに提供すること、
メモリ・コントローラによってデータをマスキングし、それによって、コマンド信号が受け取られる場合の読取りオペレーション中のデータ・ストリームを保護すること、
システムのクロック・サイクル内で、誤ったデータ・ストリームがＤＲＡＭに提示された場合に、システムを使用不能にするためのコマンド取消し信号を生成すること、および
コマンド信号に応答してシステムを復元することを含む方法。
【請求項２】
ＤＲＡＭに対する読取りまたは書込みオペレーションの保全性を監視することと、
誤ったオペレーションの検出に応答してコマンド取消し信号を生成することを含む、請求項１に記載の方法。
【請求項３】
複数のＤＲＡＭデバイスを有するメモリ・システムにおいて、読取りまたは書込みオペレーションを取り消すための方法であって、
クロック・サイクル内でオペレーションのタイミングを取ること、
書込みコマンドの受信とデータの受信との間に、１つまたは複数のクロック・サイクルの書込み待ち時間を提供すること、および
既存の格納データを破損することなく、最初の書込みコマンドの後、およびメモリ・デバイスの書込み待ち時間の前に、ＤＲＡＭでの書込みオペレーションを使用不能にするためのコマンド取消し信号を生成することを含む方法。
【請求項４】
前記コマンド取消し信号は前記ＤＲＡＭデバイス内で前記書込みオペレーションを終了する、請求項３に記載の方法。
【請求項５】
前記コマンド取消し信号はＦＩＦＯクロックをリセットする、請求項４に記載の方法。
【請求項６】
前記コマンド取消し信号はユニーク・ピン上で伝送される、請求項３に記載の方法。
【請求項７】
前記コマンド取消し信号はＥＣＣ論理でトリガされる、請求項３に記載の方法。
【請求項８】
前記ＥＣＣ論理は並列または直列モードで動作する、請求項７に記載の方法。
【請求項９】
並列モードでＥＣＣエラーが検出された場合、連続したＥＣＣ並列オペレーションを可能にするソフト・エラーが発生したかどうかを判別するために再試行オペレーションが実行される、請求項８に記載の方法。
【請求項１０】
訂正が必要なＥＣＣエラーが検出された場合、ＥＣＣモードは修復アクションが完了するまで直列オペレーションに変更される、請求項９に記載の方法。
【請求項１１】
前記コマンド取消し信号はパリティ・ビットによってトリガされる、請求項３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に集積回路メモリ・デバイスに関し、より具体的に言えば、同期ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）システムに関する。
【背景技術】
【０００２】
最先端技術のメモリ・システムにおける問題は、高クロック周波数でのメモリ読取りオペレーションに関連付けられた固有の遅延、および増加する読取り待ち時間に対応した書込み待ち時間の増加によるものであり、読取りおよび書込みオペレーションの待ち時間がゼロでないことは標準である。「読取り」オペレーションの場合、このデータ待ち時間は、センス増幅器ラッチまたは他の中間記憶位置特有の２６６ＭＨｚクロック速度の３または４クロックからのデータにアクセスするために必要な時間に直接関連付けられることになる。「書込み」オペレーションの場合、理論的にはデータおよびアドレスを同時に提供できるはずであるが、読取りおよび書込みオペレーションは一般にシステム・コマンド・ストリーム内では混ざり合うことになるため、コマンド／アドレス・バスの効率を上げ、ＳＤＲＡＭの電力を下げるために、通常、データはアドレスよりも数クロック遅延することになる。
【０００３】
現在では、サーバおよびワークステーションのデータ・バス上で様々な形のエラー訂正コード（ＥＣＣ）が幅広く使用されているため、現在のほとんどのメモリ障害は、従来のデータ破損（メモリ・セルまたはサポート回路のソフトおよびハード障害）以外の原因で生じるものである。リモート・システム（データベース、仕事部屋、部門や企業のサーバ、および一般のインターネット）内のデータ記憶装置に対する依存度が上がるにつれ、データまたはシステム全体がハードウェア障害によって使用できなくなる時間を最小限にするという試みにおいて、サーバ・プラットフォームのメモリ障害はますます厳しい監視の対象となっている。最近のメモリ障害報告の分析では、メモリにより誘発される予定外のシステム停止の主な原因は、主としてアドレス、制御、クロック、またはＥＣＣの有効範囲を含まない関連する信号に関するものであり、さらに、コネクタ／接触障害、メモリ・コントローラまたは再駆動（ｒｅｄｒｉｖｅ）障害、高抵抗のはんだ継ぎ手などの障害モードのうちの１つまたは複数に起因するものであると、明確に指摘している。これらの信号は膨大な量であり、いくつかのレベルの相互接続（ｉｎｔｅｒｃｏｎｎｅｃｔ）を通過する場合が多く、また一般に低コストのコネクタが使用されるため、通常は相互接続システムが、適切に設計されたＥＣＣ保護システムにおけるメモリ障害の主要な原因（全ハード・メモリ障害の５０％またはそれ以上を示す）であるとみなされている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の一目的は、追加の待ち時間を生じさせることなくメモリ・システム全体の信頼性を向上させることである。
【０００５】
本発明の他の目的は、相互接続に関連付けられた障害の検出可能性および修正を向上させることである。
【課題を解決するための手段】
【０００６】
相互接続に関連付けられた障害の検出可能性および修正を向上させるための解決手段の１つは、すべてのメモリ・コマンドおよびアドレス信号にわたってエラー訂正を含めること、および所与のメモリ・アセンブリに対する有効なオペレーション中に識別されたどんなエラーも修正することである。この方法は、現在ではほとんどの高信頼性アプリケーションが、同期ＤＲＡＭメモリ・デバイスと同じ搬送波上のローカル・コマンドおよびアドレス再駆動回路を含む、メモリ・アセンブリ（モジュール）を使用している点で、非常に高い費用効果を上げる可能性がある。コマンドおよびアドレス・ラインを横切ってＥＣＣを実施するためには、ＥＣＣ論理に関して、数個の追加ピンをドライバ、コネクタ、およびモジュール再駆動回路に追加するだけでよい。残念なことにこの方法では、ＥＣＣ論理により（クロック期間および論理回路遅延に応じて）１から２クロックの追加コマンドおよびアドレス待ち時間が生じる結果となるため、メモリ・アクセス時間も増加させてしまう。この種のメモリ障害は一般に珍しいものであり、システムはキャッシュ・ミス時のアクセス遅延を最小限にすることに重点を置いているため、前述のように単にＥＣＣを使用するだけでは、多くのアプリケーションにおいて理想的な解決手段とはならない。
【０００７】
本発明は、書込みデータ待ち時間が非ゼロのデバイスを登場させるのに申し分なく好適な新しいＳＤＲＡＭオペレーションの追加を、（最低の読取りおよび書込み待ち時間を保証するために）通常のメモリ再駆動方法と並行してコマンドおよびアドレスＥＣＣを実施することと結び付けるものである。要約すれば、本発明の主な属性は、以下のとおりである。
【０００８】
（１）システム停止を防ぐために有効なコマンド・サイクル中に単一または複数のビット障害が修正できるという意図で、メモリ制御およびアドレス・パスにＥＣＣ論理が追加される。メモリ・デバイスはＥＣＣ機能を含むこともできるが、ほとんどの場合この機能は同期メモリ・デバイスの外部で実施されることが予想される。
【０００９】
（２）ＥＣＣ論理機能が並列パスで発生する際に、メモリ・コマンドおよびアドレスは最低限の挿入遅延でメモリ・デバイスに渡される。この論理によってエラーが識別された場合、ＥＣＣ訂正回路はメモリ内のデータを破損することなく高速回復を実行することができる。
【００１０】
（３）新しい「取消し」コマンドを備えたメモリ・デバイスを使用して作成されたシステムでは、以下のようになる。
【００１１】
後に有効であることがわかるコマンドおよびアドレス入力を使用して開始される任意の「読取り」または「書込み」オペレーションは、通常通りに、および追加の遅延または中断なしに、実行されることになる。
【００１２】
後に無効であることがわかるコマンドおよびアドレス入力を使用して開始される任意の「読取り」オペレーションは、通常、「読取り」データが廃棄されており、デバイスはエラー回復を待つアイドル状態に戻されることになる。本発明では完全を期すために、将来のデバイスではバーストが長くなることが予想され、エラーからの回復時に性能の節約が可能であるため、「読取り」オペレーションの早期終了の概念を含む。
【００１３】
後に無効であることがわかるコマンドおよびアドレス入力を使用して開始される任意の「書込み」オペレーションは、メモリ・デバイスに格納されたデータが誤って上書きされてしまうのを防ぐために、その後に同じメモリ・バンクへの「コマンド取消し（ＣＣ）」コマンドが続くことになる。このコマンドは通常、エラー回復を待つ「スタンバイ」状態にデバイスを戻すが、他の戻り状態も可能であり、本発明でもカバーしている。
【００１４】
理想的なシステム実施では、メモリは最低の待ち時間を保証するために、従来のＥＣＣモード（コマンドおよびアドレスと直列）または並列モードでの連続オペレーションが可能なように設計される。
【００１５】
（４）メモリのコマンドまたはアドレスＥＣＣエラーに対するシステム応答には、以下のアクションのうちの１つまたは複数が含まれる。
【００１６】
ＥＣＣが並列モードで動作中に識別されたエラーのタイプに応じた、障害オペレーションの再試行。障害の中には断続的な性質のものもあり、障害の反復は、原因を確認し、かつ／または他のアクションの必要性を決定するのに理想的である場合がある。この再試行は、「ソフト・エラー」などの並列モードでのＥＣＣ動作を変更することなく完了される。
【００１７】
１または２クロックの待ち時間を追加することになる直列モードでのＥＣＣの呼出しを伴う、取り消されたオペレーションの実行。メモリ・コントローラまたはシステム再駆動論理は、新しいオペレーションを実行し、使用されるＥＣＣアルゴリズムに応じて単一ビット（またはそれ以上）のエラーを訂正し、有効なオペレーションを保証する。
【００１８】
システムは、修復アクションが発生するまで直列ＥＣＣが実行可能な状態で動作するか、または反復障害の識別および回復を保留する並列ＥＣＣオペレーションに戻る。
【００１９】
この新しいコマンドを使用すると、並列コマンド／アドレス・パリティまたはＥＣＣが「コマンド取消し」機能で呼び出されるときに望ましい障害防止の程度に応じて、様々なレベルの信頼性向上が実施可能である。
【００２０】
以下のような例が含まれる。
著しい回復時間を発生させる可能性のある違法なコマンドを発行する可能性を最小限にするために、任意のクリティカル（ｃｒｉｔｉｃａｌ）信号は、信号パス内の各相互接続を介した２つの別々の接触を含むことが可能であり、これによって、不連続な高抵抗接触障害による障害を最小限にするために接触冗長性が追加される。
【００２１】
低コストシステムは、データが破損する前にオペレーションを識別して終了するためにのみ使用されるコマンド取消し（ＣＣ）機能で、これらの信号に関するパリティ・チェックのみを呼び出す場合がある。通常のオペレーションは影響を受けるメモリを終了させ、複数再試行などの回復モードを実施することができる。
【００２２】
回復時間を削減し、かつ／またはコントローラ論理を単純化するために、「読取り」および「書込み」の両方のオペレーションに「コマンド取消し」オペレーションを含めることができる。これは、この機能のＤＲＡＭ実施が両方のモードを含む場合にのみ実行可能である。
【００２３】
本発明の上記の目的および利点は、添付の図面を参照しながらその好ましい実施形態について詳細に述べることによって、より明らかになろう。
【発明を実施するための最良の形態】
【００２４】
上記で述べた「コマンド取消し」オペレーションのＤＲＡＭ実施は、（コマンド・バス障害の有効範囲を最大にするために）コマンド復号を介して、あるいは１つまたは複数のユニーク（ｕｎｉｑｕｅ）・ピンを介して実施可能である。メモリ・インターフェースは定期的に再定義されるため、これが適切な唯一の技法ではないことを理解されたい。
【００２５】
要約すると、本発明のオペレーションは、読取りおよび書込みの両方のオペレーションで新しいコマンド取消し（ＣＣ）システムを以下のように動作させる。
【００２６】
図１に注目すると、デュアル・インライン・メモリ・モジュール（ＤＩＭＭ）と呼ばれるいくつかのメモリ・モジュール１０が示されており、この上にいくつかのダイナミック・ランダム・アクセス・メモリ２０（ＤＲＡＭ）およびバッファ・チップ２５が知られた方法で取り付けられている。
【００２７】
バッファ・チップは外部メモリ・コントローラまたはチップ３０からアドレス・コマンドを受信し、このコマンドをＤＲＡＭ２０に送信する。メモリ・データも同様に、メモリ・コントローラ３０からバッファ・チップ２５へ、およびＤＲＡＭ  ２０との間で、送受信される。メモリ・データは、バッファ・チップ２５を介さずにチップ３０からＤＲＡＭ  ２０へ直接配線することも可能である。
【００２８】
コマンド取消し（ＣＣ）機能は、図１に示されるように、ＤＩＭＭバッファ・チップ２５上で、図示されていないアドレスおよび／またはコマンド再駆動回路に接続されたＥＣＣ論理を使用して実行される。その後バッファ・チップは、１つはＤＩＭＭ上のＤＲＡＭチップに結合され、もう１つはメモリ・コントローラ・チップに戻される、２つのコマンド取消し出力バッファを有することができる。ＤＲＡＭへのコマンド取消し機能が１つまたは複数のユニーク・ワイヤを介して実施されるように述べてきたが、コマンド復号などの他の通信方法を既存のバッファ・インターフェース上に配置可能であることが当分野ではよく知られている。
【００２９】
ＤＲＡＭチップ上でのコマンド取消し機能の実施は、ＤＤＲ同期ＤＲＡＭにおける自然なラッチ境界を利用する。これらのラッチ境界は、チップ内の読取りまたは書込みオペレーションの待ち時間を伴い、望ましくない読取り／書込みコマンドの傍受および使用不能化に備えるものである。書込みオペレーションの場合、意図しないオペレーションまたは何らかの他の問題によってＤＲＡＭアレイ内のデータが破損してしまう前に、これを使用不能にすることが重要である。
【００３０】
読取りオペレーション
図２に示されるように、読取りオペレーションでは、コマンド取消しによって、ＤＲＡＭに読取りデータ・バーストを完了させるが、ＤＩＭＭバッファ・チップ上のメモリ・バスＩ／Ｏドライバをトライステート（ｔｒｉ−ｓｔａｔｅ）にすることが可能であり、これによってこの時点でこのインターフェースを他に使用することができる。ＤＲＡＭの他のオプションは、ＤＲＡＭオフチップ・ドライバをトライステートにすることおよび内部ＤＲＡＭ回路をリセットすることによって、コマンド取消し入力に応答し、通常のオペレーションが回復するまでの電力と待ち時間の両方を節約することである。
【００３１】
図２に示されたＤＲＡＭチップ上での入力／出力波形は、取り消される予定の読取りオペレーションに関するものである。この例では、バースト長さ（ＢＬ）＝４およびＣＡＳ待ち時間（ＣＬ）＝２で動作するチップが示されている。ＤＤＲチップは、差動（ｄｉｆｆｅｒｅｎｔｉａｌ）クロック・ペアであってよい２つのクロック入力（ＣＬＫおよびｂＣＬＫ）を受け取る。コマンドおよびアドレスは、ＣＬＫが立ち上がるときにクロックの遷移でラッチされる。この例では、次のＣＬＫの立ち上がり端で、読取りコマンドおよびその関連付けられた列アドレスの後に、コマンド取消しオペレーションが続く。
【００３２】
オプション１では、ＤＲＡＭはコマンド取消し信号ＣＣに応答しない。この場合、読取りデータはＤＲＡＭからバーストされる。ただしＤＩＭＭバッファ・チップは、そのバッファをトライステートに保つことによってＣＣに応答するため、読取りデータはＤＩＭＭからメモリ・データ・バスへと送られない。このオプションでは、ＤＲＡＭ上のデータ・ドライバは、データ・バーストが完了するまでアクティブのままであり（１）、その結果、余分な電力を消費し、最初のＣＣが発行された後のデータ・バスに関する２サイクルの待機期間により、システム性能を損失する可能性がある。
【００３３】
オプション２では、ＤＲＡＭは内部ＱＥＮＢ信号を低レベルに維持し、ＤＲＡＭドライバの活動化を抑止することによって、ＣＣに応答する。
【００３４】
図３に示されるように、読取りパスでは、クロック生成器４０およびコマンド・ブロック４１が、信号をデータ・イネーブル回路ブロック（ＱＥＮＢ）４５およびＦＩＦＯクロック４６に送信する。ＦＩＦＯクロック４６は制御信号を先入れ先出し（ＦＩＦＯ）論理４７に送信する。ＦＩＦＯ論理４７シフト・レジスタは、アレイから取り出されたデータをキャッチし、これをＯＣＤに送るために保持する。アレイからラッチされＯＣＤに送られるデータの適切な順序付けは、ＦＩＦＯクロックによって制御される。ＱＥＮＢ  ４５は、ＤＲＡＭの通常の読取りオペレーションのためにデータ出力パッド（ＤＱ）に結合されたオフチップ・ドライバ（ＯＣＤ）５０にイネーブル信号を送信する。ＯＣＤが双方向のトライステートにすることが望ましい（デバイス内のＯＣＤがＯＦＦ）場合、ＱＥＮＢ出力はＯＣＤをイネーブルにするのと同様に、逆バイナリ状態に保持されることになる。コマンド取消し（ＣＣ）生成器（ＣＣＧｅｎ）５１は、制御信号をＱＥＮＢ  ４５と、ＦＩＦＯクロック４６と、必要であればシステムをリセットするために列パスとに送る。これに対して、書込みコマンド時には、ＱＥＮＢ出力状態は、ＯＣＤを継続してトライステートに維持する（高インピーダンス状態）。
【００３５】
したがってオプション２では、図３に示された読取りパス内のＤＲＡＭ内部論理は、ＣＣ生成器からのオンＤＲＡＭ  ＣＣ信号を作成することによって、ＣＣ入力に応答する。ＣＣ信号はＱＥＮＢ信号の活動化を取り消すことになる。これでＤＲＡＭのオフチップ・ドライバ（ＯＣＤ）がトライステートに維持される。ＣＣ信号はＦＩＦＯクロックもオフおよびリセットするので、内部ＤＲＡＭデータ・バスで使用可能になる可能性のあるどんな読取りデータも無視する。これにより、その後修正済みコマンドまたはアドレスが発行された後に、データ・パスが修正データを受け入れるようにリセットされ準備される。ＣＣ信号は列パスにも伝播し、アレイから読み取られたデータを読取りパスに結合する様々なラッチおよびデコーダをリセットするために使用される。
【００３６】
このオプションでは、データ・バーストが完了する（２）前に、新しい修正済みコマンドおよびアドレスを発行することが可能であり、これによって、初期のＣＣ発行後のサイクル待機期間が４対８となることにより、電力消費が節約され、システムの回復性能が改善される。
【００３７】
図４に示されたコマンド取消し生成器（ＣＣ  Ｇｅｎ）５１は、離散的入力ピンまたはオンチップ・コマンド・デコーダの出力のいずれかによって、ＣＣ信号をアサートする。ＣＣ信号は、倍速データ（ＤＤＲ）の入力シフト・レジスタ・クロック（ＣＬＫＤＳ０、ＣＬＫＤＳ１、ＣＬＫＷ）を使用不能化およびリセットすることによって、データ・イン・シフト・レジスタ回路（Ｓｈｉｆｔ）５３書込み入力データの直列並列変換を取り消す。読取りオペレーションでは、このＦＩＦＯシステムは、ＯＣＤに必要な各シフト・レジスタにつき１つのクロックを必要とする。したがって、ＯＣＤに必要なＦＩＦＯレジスタが４つである場合、適切なＦＩＦＯデータをＯＣＤにゲートするためには４つのＦＩＦＯクロックが必要である。これは、データが２ビットまたは４ビットのまとまりでアレイから取り出されるためである。ＦＩＦＯクロックは、バースト開始アドレスを復号する必要があるため、ＦＩＦＯのデータは正しい順番でＯＣＤに送られる。ＦＩＦＯクロックと、それらが獲得したアレイ・データをクロックおよび開始アドレスと相関させることがなければ、ＯＣＤからのデータが意図されたアドレスに正しく相関されることはない。書込みサイクルでは、これによって、入力データがデータ・ライン（ＤＩＮ０、ＤＩＮ１）にアサートされず、ＤＤＲシフト・レジスタ・クロックの通常のサイクル化によって生成された他のコマンドのアサートもホールドオフにすることが保証される。ＣＣ信号は、２次センス増幅器制御回路、バースト・カウンタ、ならびにアドレス・パスのカウンタ、ラッチ、およびクロックをリセットするためにも伝播される。
【００３８】
このようにしてコマンド取消し（ＣＣ）は、ＤＲＡＭアレイ内のデータが誤った書込みコマンドおよび／またはアドレスによって破損するのを防ぐ。これを標準の倍速データＤＤＲの２ビット先取り（ｐｒｅ−ｆｅｔｃｈ）を備えた構成要素で達成するためには、ＤＲＡＭチップによってラッチされ、ＤＲＡＭ書込みパスに伝播されるように、次の立ち上がりクロック端に遅れずにコマンド取消し（ＣＣ）を発行する必要がある。
【００３９】
これは、ＤＲＡＭアレイ記憶セルにデータを書き込むための十分な時間を維持しながら、チップの高周波数オペレーションを可能にする倍速データ（ｄｏｕｂｌｅ  ｄａｔａ  ｒａｔｅ）（ＤＤＲ）ＤＲＡＭのアーキテクチャによるものである。これは、書込みパス内で着信データの直列並列変換によって実施される。したがって、２クロック・サイクルでは、２つの直列入力ビットが２つの並列ビットに変換されてアレイに送られる。ここでアレイはデータを書き込むための２つのクロック・サイクルを有することになり、書込みデータ・ストリーム内の次の２ビットはそれらの直列並列変換を受けることになる。
【００４０】
図５は、図４で概略的に示されたＤＤＲ書込みパスの、通常オペレーションの電圧波形を示す図である。外部書込みコマンド（ＷＲＴ）は、外部クロックの立ち上がり端（ＣＬＫ）と同相でアサートされる。この場合、１クロック後に、入力データはチップ入力にアサートされる。その後シフト・レジスタ回路は、ＤＤＲシフト・レジスタ・クロック（ＣＬＫＤＳ０、ＣＬＤＫＳ１、ＣＬＫＷ）の制御の下で、内部ノード（ＷＤ０、ｓＷＤ０、ＷＤ１）を介した入力データの伝播によって示されるように、直列データ・ビット（ＷＤｉｎ０、１）を並列内部データ・ラインＤＩＮ０、ＤＩＮ１に転送する。ここでわかるように、書込みコマンドはＣＬＫの立ち上がり端上でラッチされ、これによって、図４に示されたシフト・レジスタ・クロック（ＣＬＫＤＳ０、ＣＬＫＤＳ１）および書込みクロック（ＣＬＫＷ）を提供する書込みクロック生成器が実行可能になる。第１のデータ・イン・ビット（ＷＤｉｎ）は、書込みコマンドのアサート後の次の立ち上がりクロック端に提示され、第２のデータ・イン・ビットは立ち下りクロック端に提示される。これらのデータ・イン・ビット（０および１）は、書込みクロックによってラッチおよびシフトされる。この方法では、ビットは図４および５に示されるように直列から並列に変換され、ＤＩＮ０およびＤＩＮ１としてアレイに送られ、選択されたＤＲＡＭアレイ記憶セルに書き込まれる。
【００４１】
図６には、パス内のＤＤＲデータに対するコマンド取消し（ＣＣ）の影響が示されている。書込みコマンドは外部クロックによって再度発行される。この場合、コマンド取消し（ＣＣ）は、次の全クロック・サイクルの後に送信される。この図は、ＣＬＫＷが傍受される重要なクロックであることを示しており、図からわかるように、ＣＣがＤＤＲシフト・クロック生成器を使用不能およびリセットするため、入力データはＤＩＮ０およびＤＩＮ１ラインには決して転送されない。これと同時に、伝播されたＣＣは、２次センス増幅器制御回路内のラッチおよびクロックをリセットしている。したがって、書込みパス内のＣＣオペレーションは、アレイのデータ破損を防ぐと共に、不必要かつ望ましくないデータ・ラインの過度の外来電流および信号の活動化を最小限にする。さらに、チップが修正済みの入力コマンドを受け入れ可能である場合に、待ち時間を削減することにも寄与する。
【００４２】
ここでコマンド取消し（ＣＣ）は、最初の誤った書込みコマンドが受け取られた後、次の立ち上がりクロック端でアサートされることになる。コマンド取消し（ＣＣ）は、コマンド取消し（ＣＣ）受信機によってバッファリングされ、書込みクロック生成器に送信される。次にＣＣはＣＬＫＷ生成器をリセットし、その結果、シフトされたデータ入力ビットを停止およびリセットする十分な時間を伴ってデータ・イン配線ＤＩＮ０、ＤＩＮ１に転送するために、ＣＬＫＷはパルスを提供しないことになる。この波形が図６に示されている。バッファリングされたオンチップＣＣコマンドは列パスにも伝播され、誤ったデータ・ビットの宛先となる列の復号をリセットする。
【００４３】
このコマンド取消し（ＣＣ）概念は、２ビット先取りデータ・パス・アーキテクチャから４および８ビット先取りへと拡大することによって、これらの高周波数モードの待ち時間が増加するという点で、将来のＤＤＲ２およびＤＤＲ３オペレーティング要件にも拡張可能である。その結果、２ビット先取りについて図４、５、６に示された直列並列変換を提供するための４または８ビットのシフタが、書込みパス内に生じることになる。したがって将来のＤＤＲ提案は、上記で提案されたものと同様のコマンド取消し（ＣＣ）機能を組み込むことが依然として可能であろう。
【００４４】
読取りオペレーションでは、システムは以下の２つの方法のいずれかで動作可能である。
【００４５】
方法１）  コマンド取消し（ＣＣ）機能はコントローラ・チップによって処理される。このシナリオではＤＲＡＭは中断されない。ＤＲＡＭはデータを読み出し、ビットはコントローラ・チップでマスクされ、それによってプロセッサへのデータ・ストリームが保護される。この方法では、読取りパス回路用の特別な回路または信号は不要である。
【００４６】
方法２）  代替方法により、特に、バースト長さの長いアプリケーション（ＢＬ＝８）での、読取りオペレーション中のコマンド取消し（ＣＣ）に関するシステム性能への影響が削減される。この場合、コマンド取消し（ＣＣ）はＤＲＡＭに送られる。このコマンドはラッチされ、オンチップでバッファリングされて、以下の回路に影響を与える。
【００４７】
コマンド取消し（ＣＣ）は出力イネーブルを使用不能にし、ＤＱドライバをトライステートにする。
コマンド取消し（ＣＣ）はバースト・カウンタを０にリセットする。
【００４８】
ＦＩＦＯクロックをリセットする。
列コマンドおよびアドレス・パスのラッチ、クロックをリセットする。
【００４９】
次に列パスは、あたかも前のコマンドが通常通り完了したかのように機能し、チップをアクティブ・スタンバイ（アレイが活動化され、新しい列コマンドを待機する）にしておく「レディ（Ｒｅａｄｙ）」状態を取る。ＤＲＡＭ制御、アドレス、およびクロック論理は、新しい修正済み列コマンド／アドレスに対して作動可能である。
【００５０】
修正済みコマンドを再始動するために、４〜６クロック端のバス容量を保存しておくことができる。
【００５１】
書込みオペレーション
ＤＲＡＭへの誤った書込みオペレーションは、ＤＲＡＭに提示された誤ったデータまたはアドレスによってＤＲＡＭアレイに格納されるデータが破損する可能性がある点で、さらに大きな問題である。したがって書込みの場合、コマンド取消し（ＣＣ）は誤った書込みオペレーションを傍受して使用不能にしなければならない。上記の例では書込み待ち時間はゼロよりも大きく、チップは書込みコマンドおよびアドレスに続いて、３または４クロック（ＤＤＲＩＩおよびそれ以上）後に、チップ・データ入力時に提示された書込みデータを受け取る。この時点でチップがコマンド取消しを受け取ったか、または書込みデータのアサート後２クロック未満（ＤＤＲ２の場合４クロック端）であれば（４ビット先取りチップ・アーキテクチャであると想定）、このコマンド取消し（ＣＣ）は、ラッチされ、オンチップでバッファリングされて、以下の回路に影響を与える。
【００５２】
コマンド取消しは、２次センス増幅器制御回路（５１２Ｍｂ  ＤＲＡＭチップ設計ではＣＯＬＱＳＥＧに位置する）を使用不能にする。
【００５３】
このコマンドは、ＭＤＱの書込みバッファが活動化されていないことを保証するために、アサートされ、復号されて、これらの回路に遅れずに伝播されなければならない。４ビット先取りアーキテクチャの場合、直列並列入力データ変換のためにデータをシフト・インするには４クロック端が必要である。コマンド取消しは、データ適用後、４番目のクロック端までにＣＯＬＱＳＥＧ論理が活動化解除されるように、アサートされなければならない。
【００５４】
コマンド取消し（ＣＣ）信号はバースト・カウンタを０にリセットする。
【００５５】
ＤＤＲ入力シフト・レジスタ・クロックをリセットする。図４、５、および６を参照のこと。
列コマンドおよびアドレス・パスのラッチ、クロックをリセットする。
次に列パスは、あたかも前のコマンドが通常通り完了したかのように機能し、「レディ」状態を取る。
【００５６】
チップをアクティブ・スタンバイ（アレイが活動化され、新しい列コマンドを待機する）にしておく。ＤＲＡＭ制御、アドレス、およびクロック論理は、新しい修正済み列コマンド／アドレスに対して作動可能である。
【００５７】
修正済みコマンドを再始動するために、バス容量を保存しておくことができる。
【００５８】
今日の高性能（ＤＤＲ２）ＤＲＡＭアーキテクチャおよび回路技術により、コマンド取消し（ＣＣ）機能は、コマンド受け取り後、少なくとも（ｎ−１）クロック端が適用されれば（ｎ＝読取りまたは書込みオペレーションのクロック単位の待ち時間）、ＤＲＡＭは修正済みの入力ベクトルを受け入れるためにアクティブ・レディ状態のままで、前のコマンド／アドレス／データを使用不能にし、内部ＤＲＡＭ回路をリセットすることが可能であることを理解されたい。上記と同様の様式で、この機能を行コマンド取消しに拡張することができる。この場合、コマンドはアレイの活動化より前に傍受され使用不可にされる。したがってアレイは、修正済みの入力ベクトルを受け入れるためにスタンバイおよびレディ状態のままとなる。
【００５９】
前述のように、本発明は、通常は、メモリ・コマンドおよび／またはアドレス・パス内でＥＣＣを使用することによって発生する追加の待ち時間ペナルティを否定することによって、メモリ・サブシステムの性能を向上させる。コマンド／アドレス信号の障害は非常に稀であり、今や読取りおよび書込みのどちらのオペレーションにも非ゼロのデータ待ち時間が含まれるため、この新しいコマンドをメモリ・デバイスに追加することで、ＥＣＣが通常のアクセス・パスで並列または直列に動作できるようになる。
【００６０】
パリティおよび／またはＥＣＣはこれまで、そのコマンドが発行された後に、読取りまたは書込みオペレーションを終了させる機能をメモリ・デバイスに含めた実施を使用したことはなかった。この新しい方法により、システムはコマンド／アドレス・バスを横切ってパリティまたはＥＣＣを実施し、この機能をクリティカル・アクセス・パスと並行して動作させ、さらにその後、データが読み取られるかまたは書き込まれる前に、後に破損されることがわかる任意のコマンドを終了させることができるようになる。本発明は、非ゼロ・デバイスの読取り／書込み待ち時間、新しい「コマンド取消し」コマンド、および並列障害検出／修正の使用を組み合わせることなしに実施することはできないため、本開示は、メモリ・デバイスおよびメモリ・サブシステムの両方をカバーするものである。
【００６１】
以上、本発明について、好ましい実施形態を参照しながら具体的に図示および説明してきたが、当分野の技術者であれば、本発明の精神および範囲を逸脱することなく、形式および細部における様々な変更が可能であることを理解されよう。
【００６２】
まとめとして、本発明の構成に関して以下の事項を開示する。
（１）ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）デバイスを有するメモリ・システムにおいて、読取りまたは書込みオペレーションを取り消すための方法であって、
プロセッサとの間のデータ・ストリームを実行可能にするために、アドレスおよび制御情報をメモリ・コントローラを介してＤＲＡＭデバイス・オペレーションに提供すること、
メモリ・コントローラによってデータをマスキングし、それによって、コマンド信号が受け取られる場合の読取りオペレーション中のデータ・ストリームを保護すること、
システムのクロック・サイクル内で、誤ったデータ・ストリームがＤＲＡＭに提示された場合に、システムを使用不能にするためのコマンド取消し信号を生成すること、および
コマンド信号に応答してシステムを復元することを含む方法。
（２）ＤＲＡＭに対する読取りまたは書込みオペレーションの保全性を監視することと、
誤ったオペレーションの検出に応答してコマンド取消し信号を生成することを含む、請求項１に記載の方法。
（３）複数のＤＲＡＭデバイスを有するメモリ・システムにおいて、読取りまたは書込みオペレーションを取り消すための方法であって、
クロック・サイクル内でオペレーションのタイミングを取ること、
書込みコマンドの受信とデータの受信との間に、１つまたは複数のクロック・サイクルの書込み待ち時間を提供すること、および
既存の格納データを破損することなく、最初の書込みコマンドの後、およびメモリ・デバイスの書込み待ち時間の前に、ＤＲＡＭでの書込みオペレーションを使用不能にするためのコマンド取消し信号を生成することを含む方法。
（４）前記コマンド取消し信号は前記ＤＲＡＭデバイス内で前記書込みオペレーションを終了する、請求項３に記載の方法。
（５）前記コマンド取消し信号はＦＩＦＯクロックをリセットする、請求項４に記載の方法。
（６）前記コマンド取消し信号はユニーク・ピン上で伝送される、請求項３に記載の方法。
（７）前記コマンド取消し信号はＥＣＣ論理でトリガされる、請求項３に記載の方法。
（８）前記ＥＣＣ論理は並列または直列モードで動作する、請求項７に記載の方法。
（９）並列モードでＥＣＣエラーが検出された場合、連続したＥＣＣ並列オペレーションを可能にするソフト・エラーが発生したかどうかを判別するために再試行オペレーションが実行される、請求項８に記載の方法。
（１０）訂正が必要なＥＣＣエラーが検出された場合、ＥＣＣモードは修復アクションが完了するまで直列オペレーションに変更される、請求項９に記載の方法。
（１１）前記コマンド取消し信号はパリティ・ビットによってトリガされる、請求項３に記載の方法。
【図面の簡単な説明】
【００６３】
【図１】ＤＩＭＭ上での本発明の配置構成を示す構成図である。
【図２】コマンド取消し（ＣＣ）オペレーションに関する２つのオプションを備えた読取りオペレーションのＤＲＡＭに関する波形を示すタイミング図である。
【図３】本発明に従った読取りパスを示す構成図である。
【図４】本発明に従った書込みパスを示す構成図である。
【図５】通常の書込みタイミングを示すタイミング図である。
【図６】本発明に従った書込みタイミングを示すタイミング図である。
【符号の説明】
【００６４】
１０    ＤＩＭＭ
２０    ＤＲＡＭ
２５    ＤＩＭＭバッファ・チップ
３０    メモリ・コントローラ・チップ
【図１】
2004310751.tif 000003
【図２】
2004310751.tif 000004
【図３】
2004310751.tif 000005
【図４】
2004310751.tif 000006
【図５】
2004310751.tif 000007
【図６】
2004310751.tif 000008