(57)【要約】      （修正有）【課題】メモリデバイスのメモリアレイに情報を書き出す処理、及び／またはメモリアレイから情報を読み取る処理のエラーに対応する安全機能を余剰コストをかけずに備える。【解決手段】メモリデバイス及びメモリデバイスの操作方法に関するものであり、エラー修正、及び／または、読み取り処理及び／または書き出し処理を再開始する機能を実現するために、メモリアレイ１８０，１９５に情報をプログラムすることにフェイルした後に利用可能な情報を保持するメモリバッファ１７０，１８５を具備する。【選択図】図１
2011243193.tif 000002
【特許請求の範囲】
【請求項１】
メモリバッファを介してメモリアレイに特定の情報を書き出すプログラム操作を開始するステップと、
プログラムフェイル・イベント後に前記メモリバッファ内の前記特定の情報を保持するステップとを具備することを特徴とする方法。
【請求項２】
前記プログラム操作中に前記プログラムフェイル・イベントを判定するステップと、
前記メモリバッファから前記特定の情報を取り出すステップと、
二次記憶装置を介して二次メモリアレイに前記特定の情報を書き出すステップとをさらに具備することを特徴とする請求項１に記載の方法。
【請求項３】
前記メモリバッファは、ＮＡＮＤページバッファからなることを特徴とする請求項１に記載の方法
【請求項４】
前記メモリデバイスは、メモリカードコントローラから前記特定の情報を受信するＮＡＮＤをベースとするメモリカードからなることを特徴とする請求項１に記載の方法。
【請求項５】
前記プログラムフェイル・イベント後に、前記メモリバッファから前記メモリアレイに前記特定の情報を書き出すように、前記メモリバッファに命令するステップをさらに具備することを特徴とする請求項１に記載の方法。
【請求項６】
前記プログラムフェイル・イベント後に、前記メモリバッファ内に記憶された特定の情報を読み取るステップをさらに具備することを特徴とする請求項１に記載の方法。
【請求項７】
前記プログラムフェイル・イベント後に、二次メモリアレイに付随した二次メモリバッファに前記特定の情報を与えることを特徴とする請求項１に記載の方法。
【請求項８】
特定の情報をメモリアレイに書き出すプログラム操作を開始するメモリコントローラと、
前記メモリコントローラから前記特定の情報を受信するとともに、前記プログラム操作中に前記特定の情報を記憶し、かつ、前記メモリアレイに関連するプログラムフェイル・イベント後に前記特定の情報を記憶するメモリバッファとを具備してなり、
前記メモリアレイは、前記メモリバッファを介して前記メモリコントローラから前記特定の情報を受信することを特徴とするメモリデバイス。
【請求項９】
前記メモリバッファは、ＮＡＮＤページバッファからなることを特徴とする請求項８に記載のメモリデバイス。
【請求項１０】
前記メモリバッファ及び前記メモリアレイは、同一のダイ上に配置されていることを特徴とする請求項８に記載のメモリデバイス。
【請求項１１】
前記メモリデバイスは、メモリカードコントローラから前記特定の情報を受信するＮＡＮＤをベースとするメモリカードからなることを特徴とする請求項８に記載のメモリデバイス。
【請求項１２】
前記メモリコントローラは、前記プログラムフェイル・イベントに応答して、前記メモリバッファから前記メモリアレイに前記特定の情報を書き出すように、前記メモリバッファにさらに命令する機能を持つことを特徴とする請求項８に記載のメモリデバイス。
【請求項１３】
前記メモリコントローラは、前記プログラムフェイル・イベントに応答して、前記メモリバッファ内に記憶された前記特定の情報を読み取る機能をさらに持つことを特徴とする請求項８に記載のメモリデバイス。
【請求項１４】
前記メモリコントローラは、前記読み取り後に、二次メモリアレイに付随した二次メモリバッファに前記特定の情報を与える機能をさらに持つことを特徴とする請求項１３に記載のメモリデバイス。
【請求項１５】
メモリデバイスと、プロセッサとを具備してなり、
前記メモリデバイスは、メモリアレイに特定の情報を書き出すプログラム操作を開始するメモリコントローラと、
前記メモリコントローラから前記特定の情報を受信するとともに、前記プログラム操作中に前記特定の情報を記憶し、かつ、前記メモリアレイに関連するプログラムフェイル・イベント後に前記特定の情報を記憶するメモリバッファとを備え、
前記メモリアレイは、前記メモリバッファを介して前記メモリコントローラから前記特定の情報を受信し、かつ、
前記プロセッサは、一以上のアプリケーションをホストするとともに、メモリアレイにアクセスを与えるようにメモリコントローラに書き出しコマンドを開始させることを特徴とするシステム。
【請求項１６】
前記メモリバッファは、前記メモリアレイからなるＮＡＮＤメモリに対してＮＡＮＤページバッファ内部からなることを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記メモリバッファは、揮発性メモリであることを特徴とする請求項１５に記載のシステム。
【請求項１８】
前記メモリデバイスは、ＮＡＮＤをベースとするメモリカードからなることを特徴とする請求項１５に記載のシステム。
【請求項１９】
前記メモリバッファ及び前記メモリアレイは、同一のダイ上に配置されていることを特徴とする請求項１５に記載のシステム。
【請求項２０】
前記メモリデバイスは、メモリカードコントローラから前記特定の情報を受信するＮＡＮＤをベースとするメモリカードからなることを特徴とする請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリデバイスに関し、特にメモリデバイスの操作方法に関する。
【背景技術】
【０００２】
メモリデバイスは、例えば、コンピュータ、携帯電話、ＰＤＡ、データロガー、及びナビゲーション装置のように、様々な型式の電子機器に用いられる。このような電子機器の中で、例えば、ＮＡＮＤフラッシュメモリまたはＮＯＲフラッシュメモリ、ＳＲＡＭ、ＤＲＡＭ、及び相変化メモリのように、多様な不揮発性メモリデバイスが用いられてもよい。一般に、書き出し処理またはプログラム処理は、このようなメモリデバイス内に情報を記憶するように用いることができ、一方、読み取り処理は記憶された情報を取り出すように用いることができる。
【０００３】
メモリデバイスの操作中に時折、メモリアレイに情報を書き出す処理、及び／またはメモリアレイから情報を読み取る処理がフェイルすることがある。もしメモリデバイスが、例えば、エラー修正、及び／または、読み取り処理及び／または書き出し処理を再開始する機能のような安全機能を備えるならば、このようなフェイルは必ずしも致命的な操作エラーになることはない。しかしながら、このような安全機能を持つことは、例えば、他の目的に用いることができたメモリデバイス領域の使用、及び／または、メモリデバイスを組み立てる処理にステップを更に追加するなど、余剰コストがかかる虞がある。
【０００４】
以下の図を参照して、非限定的かつ非網羅的な実施形態について記載する。類似番号は、特に規定がない限り、様々な図を通して類似部分について言及するものである。
【図面の簡単な説明】
【０００５】
【図１】図１は、本発明の実施形態に係るメモリデバイスを概略的に示したブロック図である。
【図２】図２は、本発明の他の実施形態に係るメモリデバイスを概略的に示したブロック図である。
【図３】図３は、本発明の実施形態に係るメモリデバイスのプログラム処理を示したフローチャートである。
【図４】図４は、本発明の他の実施形態に係るメモリデバイスのプログラム処理を示したフローチャートである。
【図５】図５は、本発明の実施形態に係るコンピュータシステム及びメモリデバイスを概略的に示したブロック図である。
【発明を実施するための形態】
【０００６】
本明細書全体を通して「一実施形態」または「実施形態」という言及は、実施形態に関連して記載した特別な特徴、構造、または特性が、請求項に記載された内容の少なくとも一実施形態に含まれることを意味する。それゆえ、本明細書全体を通して様々な箇所における「一実施形態において」または「実施形態」という表現方法は、必ずしも全て同一の実施形態に言及するものではない。さらに、特定の機能、構造、または特徴は、一以上の実施形態において併用されてもよい。
【０００７】
実施形態において、メモリデバイスはメモリアレイに特定の情報を書き出すプログラム操作を開始するメモリコントローラを具備することができる。このようなメモリデバイスはまた、上記メモリコントローラから特定の情報を取り出すとともに、プログラム操作中に特定の情報を記憶し、かつ、プログラムフェイル・イベント後の上記特定の情報を記憶するメモリバッファから構成することができる。このようなプログラムフェイル・イベントは、例えば、一以上のメモリセルの欠陥、メモリブロックの欠陥、またはメモリアレイの他の部分の欠陥のような任意の多数の状態に起因する虞がある。例えば、メモリブロック内の一以上の欠陥メモリセルは、メモリブロック全体の欠陥の原因となる虞がある。このような不良メモリブロックは、不良メモリブロックからの読み取りまたは不良メモリブロックへの書き出しにフェイルするようになる虞がある。したがって、そのような書き出しのフェイル後に特定の情報を保持するメモリバッファは、再書き出し処理後に利用可能なこうした特定の情報を持つことができる。勿論、このようなプログラムフェイル・イベントの理由は単なる例であり、請求項に記載された内容はそこまで限定されるものではない。
【０００８】
すなわち、こうした情報がメモリバッファからメモリアレイに書き出されることにフェイルした後、このようなメモリバッファが記憶情報を保持することができる。特定の実施例において、例えば、このようなメモリバッファは、ＮＡＮＤページバッファから構成することができるが、他の実施例には他の特定のメモリタイプを用いることができる。プログラムフェイル・イベント中に情報またはデータを保持する結果として、例えば、ＮＡＮＤメモリアレイのブロック内にこのようなデータページをプログラムすることにフェイルした後、データページはまだＮＡＮＤユーザー（例えば、メモリカードコントローラ）に利用可能であってもよい。したがって、このようなデータページはＮＡＮＤページバッファ内にまだ存在しているが、読み取り、変更、及び／または、メモリアレイの別なブロック内に再プログラムするためにアクセス可能であってもよい。
【０００９】
実施形態において、プログラムされている情報は、書き出し操作のプログラム・ビジー状態の間、ＮＡＮＤページバッファに存在することができる。そのうえ、もしプログラムフェイル・イベントが、例えば、不良メモリブロックが原因でページプログラムに影響を及ぼすならば、このような情報はさらに、バッファからの読み取りコマンド及び／またはバッファからの書き出しコマンドを用いて、読み取り及び／または変更あるいは再書き出しに利用可能であってもよい。例えば、上述のようなメモリデバイスの実施形態は、こうした情報がメモリアレイ内でプログラムされるのにフェイルした場合に、情報を保持するように付加コントローラＲＡＭバッファのメモリダイ領域を使用することを避けるメモリアーキテクチャを含む多数の利点を与えることができる。実施例において、ＮＡＮＤページバッファは、例えば、不揮発性データ記憶装置を用いる必要がない特定の操作において付加揮発性メモリとして用いられてもよい。勿論、本明細書に記載した実施形態のこのような利点は単なる例示であって、請求項に記載した内容はそこまで限定されるものではない。
【００１０】
上述のような実施形態は、内部不良メモリを外部ホストから隠す比較的強固な不良ブロック管理を実行させることができる。このような不良ブロック管理は、予備の不良メモリブロックまたは他のメモリ部を用いて不良ブロックを置換するように操作することができる。一実施例において、不良メモリを隠す処理は、例えば、関連操作が完了後、ホストに「操作完了」メッセージ以外何もエラー情報を返さないことを意味してもよい。例えば、メモリデバイスは、ホストから書き出しコマンド及び／または消去コマンドを受信することができる。もしこのような書き出し操作及び／または消去操作が内部不良ブロックを生成するようならば、メモリデバイスのメモリコントローラは、書き出し操作及び／または消去操作を実行するために、内部で再配置／再コピーする処理を管理することができる。このような管理はホストに対して透過的であり、書き出し操作及び／または消去操作が完了したという指示を単に受信するだけでもよい。一実施例において、こうした管理は、もし最初のブロックのフェイルが生じた場合、新しいページプログラムを別の「最新な」ブロック上に再現するために、余剰コントローラ・ランダムアクセスメモリ（ＲＡＭ）内に保留プログラムページを保持することを含んでもよい。しかしながら、こうした余剰ＲＡＭは、別な目的の代わりに使用できるメモリダイの貴重な領域を占有する虞がある。例えば、余剰コントローラは、０．１１ミクロン技術の約１平方ミリメーターを用いてもよい。他の実施例において、こうした管理は、元の情報を余剰ＲＡＭバッファに保持する代わりに、エラー修正コード（ＥＣＣ）エンジンと、単にフェイルしたページをＮＡＮＤブロックから直接（再コピーのために）読み返す処理とを伴ってもよい。このような実施例の成功は、ＥＣＣを用いてプログラム段階中に生じた損傷を修正することができる容易さに依存してもよい。しかしながら、ＥＣＣの実行限界のために、ページプログラムがフェイルした後に生じたこのような損傷はＥＣＣによって修正不可能な傾向のほうが大きい虞がある。勿論、このようなＥＣＣの実施例は単なる例示であって、請求項に記載された内容はここまで限定されるものではない。
【００１１】
図１は、本発明の実施形態に係るメモリデバイス１１０を概略的に示すブロック図である。このようなメモリデバイス１１０は、外部ホスト（図示せず）から情報及び／または命令１１５を受信することができる。以下に詳細に記載するように、メモリデバイス１１０は、プログラムフェイル後に情報を不揮発性メモリに再プログラムする試みを繰り返す機能を持っていてもよい。しかしながら、以下にまた詳細に記載するように、こうした再プログラムする試みのために、このような機能は情報を保持する付加コントローラＲＡＭバッファを持つコストを含むことがある。図１〜３に示した矢印は、以下の特定な実施形態及び実施例についての記載に対応して片矢印になっている。しかしながら、任意のまたは全てのこのような矢印は、一方向または両方向のどちらかに示された流れに対して両矢印であってもよく、請求項に記載された内容はそこまで限定されるものではない。例えば、矢印１１５はメモリデバイス１１０に与えられた情報、及び／または、メモリデバイス１１０によって外部のエンティティに与えられた情報を表してもよい。
【００１２】
特定の実施例において、メモリデバイス１１０は、情報を記憶する多様なホストによって使用可能なＮＡＮＤフラッシュメモリカードから構成することができる。例えば、メモリデバイス１１０は、デジタルカメラ（ホスト）、「サムドライブ」などに用いられるメモリカードから構成することができる。実施形態において、メモリデバイス１１０は、コントローラ１５０及びメモリ部１６０から構成することができる。さらに、コントローラ１５０は、コントローラＲＡＭバッファ・インターフェース１２０と、ＥＣＣエンジン１３５を備えたプロセッサ１３０とから構成することができる。メモリ部１６０は、例えば、１つ、または、１つ以上のメモリパーティション１５５と１６５から構成してもよい。このようなメモリパーティションは、同一のダイ上または分かれたダイ上に設けられてもよく、請求項に記載された内容はそこまで限定されるものではない。個々のメモリパーティション１５５は、内部ＲＡＭバッファ１８５及びメモリアレイ１９５を具備することができる。個々のメモリパーティション１６５は、内部ＲＡＭバッファ１７０及びメモリアレイ１８０を具備することができる。図示しないが、メモリ部１６０は、付加メモリパーティションを具備してもよい。一実施例において、このような内部ＲＡＭバッファは、ＮＡＮＤページバッファから構成することができる。例えば、ＲＡＭバッファ１８５，１７０は、それぞれメモリアレイ１９５及びメモリアレイ１８０に対してプログラムされる情報の１ページをホストする揮発性メモリから構成してもよい。メモリアレイ１９５及びメモリアレイ１８０は、不揮発性メモリから構成してもよい。
【００１３】
前記メモリデバイス１１０に言及すると、不良メモリブロックに以前に書き出された情報は、書き出し操作中のプログラムフェイル・イベント（例えば、不良ブロックの発生）に応答して、新しいメモリブロックにコピーされてもよい。情報はまた、プログラムフェイル・イベントに応答して、新しいメモリブロックにコピーされてもよい。一実施例において、メモリデバイス１１０は、ホストに書き出し操作完了信号を返してもよく、このようにしてホストからプログラムフェイル・イベントを隠すことができる。このような書き出し処理についてこれから詳細に説明する。ホスト（図示せず）は、例えば、メモリアレイ１８０の不揮発部に書き出すために情報１１５をメモリデバイス１１０に与えることができる。このような情報１１５は、一時的にコントローラＲＡＭバッファ・インターフェース１２０に記憶されてもよく、続いて、配線１２５を介してプロセッサ１３０に転送されてもよい。次に、プロセッサ１３０は、配線１４０を介して情報１１５をＲＡＭバッファ１７０に転送することができる。一方、情報１１５は、コントローラＲＡＭバッファ・インターフェース１２０内に保持される必要はない。ＲＡＭバッファ１７０は、配線１７８を介して、メモリアレイ１８０に情報１１５を転送することができる。もしこのようなメモリアレイ１８０への情報転送中にプログラムフェイル・イベントが生じた場合、プログラミングを再試行する処理は、以下のように進行してもよい。メモリアレイ１８０に完全に書き出すことに失敗（フェイル）した情報１１５は、少なくとも部分的にメモリアレイから取り出され、例えば、読み取り操作を用いるＲＡＭバッファ１７０内に配線１７５を介して置かれてもよい。情報１１５は、配線１４５を介してＲＡＭバッファ１７０から読み取られ、プログラムフェイル・イベントの結果で生じた一以上のエラーを修正するＥＣＣエンジン１３５によって続行されてもよい。もしＥＣＣエンジン１３５がこのようなエラーを修正できたならば、例えば、配線１５３、ＲＡＭバッファ１８５、及び配線１９０を介して、他のメモリアレイ１９５に情報１１５がコピーされてもよい。したがって、このようなプログラミングの再試行は、ＥＣＣエンジン１３５の成功に依存するかもしれない。勿論、書き出し処理についてのこのような詳細は単なる例示であって、請求項に記載された内容はそこまで限定されるものではない。
【００１４】
図２は、本発明の実施形態に係るメモリデバイス２１０を概略的に示すブロック図である。図１に示したメモリデバイス１１０と同様に、例えば、メモリデバイス２１０は、外部ホスト（図示せず）から情報及び／または命令２１５を受信することができる。特定の実施例において、メモリデバイス２１０は、情報を記憶する様々なホストによって使用可能なＮＡＮＤフラッシュメモリカードから構成することができる。例えば、メモリデバイス２１０は、デジタルカメラ（ホスト）、「サムドライブ」などに用いられるメモリカードから構成してもよい。メモリデバイス１１０に対して、メモリデバイス２１０は、プログラムフェイル後に情報を不揮発性メモリに再プログラムする試みを繰り返す機能を持っていてもよい。しかしながら、以下に詳細に記載するように、メモリデバイス１１０とは対照的に、メモリコントローラ２１０のこのような機能は、メモリコントローラとこのような情報がプログラムされるメモリアレイとの間に設置されたＲＡＭバッファによって与えられてもよい。例えば、メモリデバイス１１０はこのような再プログラムする試みのための情報を保持するコントローラＲＡＭバッファを具備してもよいが、メモリデバイス２１０は、再プログラムのためにこのようなコントローラＲＡＭバッファに依存しない。
【００１５】
実施例において、メモリデバイス２１０は、メモリデバイス１１０と同様に、コントローラ２５０及びメモリ部２６０から構成することができる。さらに、コントローラ２５０は、コントローラＲＡＭバッファ・インターフェース２２０と、ＥＣＣエンジン２３５を備えたプロセッサ２３０とから構成してもよい。メモリ部２６０は、例えば、一以上のメモリパーティション２５５，２６５から構成してもよい。こうしたメモリパーティションは、同一のダイ上または分かれたダイ上に設けられてもよいが、請求項に記載された内容はここまで限定されるものではない。個々のメモリパーティション２５５は、内部ＲＡＭバッファ２８５及びメモリアレイ２９５を具備することができる。個々のメモリパーティション２６５は、内部ＲＡＭバッファ２７０及びメモリアレイ２８０を具備することができる。図示しないが、メモリ部２６０は、付加メモリパーティションを具備してもよい。一実施例において、このような内部ＲＡＭバッファは、ＮＡＮＤページバッファから構成することができる。例えば、ＲＡＭバッファ２８５，２７０は、それぞれメモリアレイ２９５及びメモリアレイ２８０に対してプログラムされる情報の１ページをホストする揮発性メモリから構成してもよい。メモリアレイ２９５及びメモリアレイ２８０は、不揮発性メモリから構成してもよい。
【００１６】
前記メモリデバイス２１０に言及すると、書き出し操作中のプログラムフェイル・イベント（例えば、不良ブロックの発生）に応答して、不良メモリブロックに以前に書き出された情報が新しいメモリブロックにコピーされてもよい。現在情報はまた、プログラムフェイル・イベントに応答して、新しいメモリブロックにコピーされてもよい。一実施例において、メモリデバイス２１０は、ホストに書き出し操作完了信号を返してもよく、このようにしてホストからプログラムフェイル・イベントを隠すことができる。このような書き出し処理について、これから詳細に説明する。ホスト（図示せず）は、例えば、メモリアレイ２８０に書き出すために情報２１５をメモリデバイス２１０に与えることができる。このような情報２１５は、一時的にコントローラＲＡＭバッファ・インターフェース２２０に記憶されてもよく、続いて、配線２２５を介してプロセッサ２３０に転送されてもよい。次に、プロセッサ２３０は、配線２４０を介して情報２１５をＲＡＭバッファ２７０に転送してもよい。一実施例において、コントローラＲＡＭバッファ・インターフェース２２０は、メモリデバイス１１０と同様に、ＲＡＭバッファ２７０へ情報２１５を転送した後に情報２１５を消去することができる。ＲＡＭバッファ２７０は、配線２７８を介して、メモリアレイ２８０に情報２１５を転送することができる。もしこのようなメモリアレイ２８０への情報転送中にプログラムフェイル・イベントが生じた場合、プログラミングを再試行する処理は、以下のように進行することができる。メモリアレイ２８０内への書き出しにフェイルした情報２１５は、依然ＲＡＭバッファ２７０内に保持されたままだろう。したがって、このような保持された情報は、例えば、他のプログラム操作のために配線２７５を介してメモリアレイ２８０内の他のメモリ部に利用可能にすることができる。このようなＲＡＭバッファ２７０内に保持された情報を用いる付加的なプログラム操作は、プロセッサ２３０によって開始されたバッファからの書き出しコマンドに応答して起こすことができる。
【００１７】
他の実施形態において、プログラムフェイル後、ＲＡＭバッファ２７０内に保持された情報は、他のメモリアレイ２９５に対して他のプログラム操作をするために利用可能にすることができる。このようなＲＡＭバッファ２７０内に保持された情報を用いる付加的なプログラム操作は、プロセッサ２３０によって開始されたバッファからの書き出しコマンドに応答して起こすことができる。詳細には、メモリアレイ２８０内に書き出されることに失敗（フェイル）した情報２１５は、そのようなプログラム操作のフェイル後に、バッファからの読み取りコマンド操作を用いてＲＡＭバッファ２７０から取り出すことができる。一実施例において、情報２１５は、配線２４５を介してＲＡＭバッファ２７０から読み取ることができる。例えば、配線２５３、ＲＡＭバッファ２８５、及び配線２９０を介して、他のメモリアレイ２９５に情報２１５が書き出されてもよい。他の実施例において、配線２４５を介してＲＡＭバッファ２７０からプロセッサ２３０に情報２１５が読み取られてもよく、該プロセッサ２３０は、情報２１５が再プログラム処理中に書き出される他の記憶場所を決定することができる。例えば、このような記憶場所はメモリアレイ２９５から構成することができ、プログラムフェイルが起きたメモリアレイ２８０のダイと同じダイ上または異なるダイ上に位置していてもよい。
【００１８】
図３は、本発明の実施形態に係るメモリデバイスのプログラム処理３００を示したフローチャートである。ブロック３１０において、例えば、カメラ、携帯電話、または記憶する情報を持つ他の電子機器のようなメモリデバイスのホストは、こうした情報をメモリデバイスのメモリコントローラに与えることができる。ブロック３２０において、このような情報は、メモリバッファに書き出されることができる。一実施例において、メモリバッファは、例えば、ＲＡＭページバッファから構成することができる。ブロック３３０において、メモリバッファは、メモリバッファからメモリアレイに情報を書き出すプログラム操作中に、メモリコントローラにメモリバッファがビジーであると指示する信号を与えることができる。ブロック３４０において、メモリアレイに情報を書き出すプログラム操作中にメモリバッファ内に記憶された情報を、プログラム操作後に保持することができる。このようなプログラム操作は成功するかまたはフェイルするかのどちらかであり、ブロック３５０において、どちらの可能性が高いか判定を行うことができる。一実施例において、そのようなプログラムフェイル・イベントが生じたか否かを判定することは、ＮＡＮＤプログラム・ビジー信号の非断定後にメモリコントローラによって実行されてもよい。このとき、メモリコントローラは、操作結果（例えば、成功またはフェイル）を含むＮＡＮＤ状態抵抗をチェックしてもよい。ブロック３６０において、プログラム操作が成功であった場合、メモリデバイスは、メモリデバイスのホストに、プログラム操作が成功した及び／またはプログラム操作が完了していることを指示する信号を与えることができる。あるいは、ブロック３７０において、プログラムフェイル・イベントであった場合、メモリコントローラは、バッファからの書き出しコマンドをメモリバッファに出すことができる。したがって、ブロック３８０において、フェイルしたプログラム操作後、メモリバッファによって保持された情報はメモリアレイに書き出されることができる。このようなメモリアレイは、より早い段階でフェイルしたプログラム操作に伴ったメモリアレイと同じアレイであってもよい。メモリバッファによって保持された情報は、任意の異なるメモリアレイに書き出されてもよい。もしメモリアレイが、フェイルしたプログラム操作に伴ったアレイと同じアレイであった場合、ブロック３８０の処理に異なるメモリアレイ部を用いてもよい。例えば、このような異なるメモリアレイ部は、異なるメモリアレイブロックから構成してもよい。一実施例において、メモリデバイスのメモリコントローラが、このような再プログラム処理中に情報を書き出す記憶場所を決定してもよい。上述のようにプログラムフェイル・イベントに伴ったメモリアレイのダイと異なるダイに位置する記憶場所に、情報が書き出されてもよい。最後に、処理３００は、ブロック３６０を続行することができ、該ブロックは、上記メモリデバイスのホストに、プログラム操作が成功した及び／またはプログラム操作が完了していることを示す信号を与えることができる。このような場合、上述のようにプログラムフェイル・イベントが生じたことを上記ホストから隠すことができる。
【００１９】
図４は、本発明の実施形態に係るメモリデバイスのプログラム処理４００を示したフローチャートである。ブロック４１０において、記憶する情報を持つメモリデバイスのホストは、こうした情報を前記メモリデバイスのメモリコントローラに与えることができる。ブロック４２０において、このような情報はメモリバッファに書き出されることができる。一実施例において、メモリバッファは、例えば、ＲＡＭページバッファから構成することができる。ブロック４３０において、メモリバッファは、メモリバッファからメモリアレイに情報を書き出すプログラム操作中に、メモリコントローラにメモリバッファがビジーであると指示する信号を与えることができる。ブロック４４０において、メモリアレイにそのような情報を書き出すプログラム操作中にメモリバッファ内に情報を記憶することができる。さらに、そのような情報を、プログラム操作後にメモリバッファに保持することができる。このようなプログラム操作は成功するかまたはフェイルするかのどちらかであり、ブロック４５０において、どちらのイベントであるか判定を行うことができる。ブロック４６０において、プログラム操作が成功であった場合、メモリデバイスは、メモリデバイスのホストに、プログラム操作が成功した及び／またはプログラム操作が完了していることを指示する信号を与えることができる。あるいは、ブロック４７０において、プログラムフェイル・イベントであった場合、メモリコントローラは、バッファからの読み取りコマンドをメモリバッファに出すことができる。したがって、試みてフェイルしたプログラム操作後にメモリバッファによって保持された情報は、メモリバッファから読み取られることができる。しかしながら、一実施例において、プログラムフェイル・イベントに伴ったメモリ部以外のメモリ部を決定することができるメモリコントローラに、このように読み取られた情報を与えることができ、該メモリコントローラは、メモリバッファから取り出された情報を記憶することができる。同様に、ブロック４８０において、メモリバッファから読み取られた情報は、以前にプログラムフェイル・イベントを引き起こさなかったメモリ部に書き出されることができる。例えば、このようなメモリ部は、以前にプログラムフェイル・イベントを引き起こさなかったメモリブロック及び／またはメモリページとは異なる、メモリブロック及び／またはメモリページから構成することができる。上述のように、プログラムフェイル・イベントに伴ったメモリアレイのダイと異なるダイに位置する記憶場所に、情報が書き出されてもよい。最後に、処理４００は、ブロック４６０を続行することができ、メモリデバイスのホストに、プログラム操作が成功した及び／またはプログラム操作が完了していることを示す信号を与えることができる。このような場合、上述のようにプログラムフェイル・イベントが生じたことをホストから隠すことができる。
【００２０】
図５は、本発明の実施形態に係るコンピュータシステム５００及びメモリデバイスを概略的に示したブロック図である。このようなコンピュータデバイスは、例えば、アプリケーション及び／または他のコードを実行する一以上のプロセッサから構成することができる。例えば、メモリデバイス５１０は、図２に示したメモリアレイ２８０から構成してもよい。コンピュータデバイス５０４は、メモリデバイス５１０を管理するように設定可能な任意の典型的なデバイス、装置、または機械であってよい。メモリデバイス５１０は、メモリコントローラ５１５及びメモリ５２２を具備することができる。一実施形態において、このようなメモリデバイスは、例えば、図２に示したメモリデバイス２１０、コントローラ２５０、メモリ２８０から構成してもよい。例示であって限定されるものではないが、コンピュータデバイス５０４は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、ワークステーション、サーバデバイス、またはこれらと類似するような一以上のコンピュータデバイス及び／またはプラットフォームと、例えば、パーソナルデジタルアシスタント（ＰＤＡ）、モバイル通信デバイス、またはこれらと類似するような一以上のパーソナルコンピュータデバイスまたは通信デバイス及び／または装置と、例えば、データベースまたはデータ記憶サービスプロバイダ／システムのようなコンピュータシステム及び／または提携サービスプロバイダ性能と、及び／またはこれらの任意の組み合わせとを具備することができる。
【００２１】
前記システム５００に示した様々なデバイスの全部または一部、及び本明細書にさらに記載した処理及び方法は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの任意の組み合わせを用いることによって、または具備することによって組み込まれることができると認識されよう。それゆえ、例示であって限定されるものではないが、コンピュータデバイス５０４は、バス５４０及びホストまたはメモリコントローラ５１５を通してメモリ５２２に操作的に連結される少なくとも１つの処理装置５２０を具備することができる。処理装置５２０は、データ計算手順またはデータ計算処理の少なくとも一部を実行するように設定可能な一以上の任意の典型的な回路である。例示であって限定されるものではないが、処理装置５２０は、一以上のプロセッサ、コントローラ、マイクロプロセッサ、マイクロコントローラ、アプリケーション特化集積回路、デジタル信号プロセッサ、プログラマブル論理デバイス、フィールド・プログラマブル・ゲートアレイ、及びこれらと類似するもの、またはこれらの任意の組み合わせを具備することができる。処理装置５２０は、メモリコントローラ５１５と通信するように設定されたオペレーティングシステムを具備することができる。このようなオペレーティングシステムは、例えば、バス５４０上でメモリコントローラ５１５に送信されるコマンドを生成することができる。このようなコマンドは、読み取りコマンド及び／または書き出しコマンドから構成することができる。書き出しコマンドに応答して、例えば、メモリコントローラ５１５は、例えば、メモリパーティションにコマンドを書き出すことに伴う情報を書き出すように、セットパルスまたはリセットパルスのようなバイアス信号を与えることができる。
【００２２】
前記メモリ５２２は、任意の典型的なデータ記憶機構である。メモリ５２２は、例えば、図２に示したＲＡＭバッファ２７０と同様なＲＡＭバッファ５７０を介して記憶される情報を受信することができる。メモリ５２２は、例えば、上述のように一以上のパーティションにそれぞれ区分された、例えば、一次記憶装置５２４及び／または二次記憶装置５２６を具備することができる。一次憶装置５２４は、例えば、ランダムアクセスメモリ、読み取り専用メモリなどを具備することができる。この例示は処理装置５２０から離れて説明したが、一次憶装置５２４の全部または一部は処理装置５２０内に備えられていてもよく、あるいは処理装置５２０と同じ場所に設置されているか、または処理装置５２０に連結されてもよいと理解されるべきものである。
【００２３】
前記二次記憶装置５２６は、例えば、一次記憶装置と同型または類似型のメモリ、及び／または、例えば、ディスクドライブ、光学ディスクドライブ、テープドライブ、固体状態メモリドライブなどのようなデータ記憶装置またはシステムを具備することができる。特定の実施例において、二次記憶装置５２６はコンピュータ可読メディア５２８に対して操作的に受信可能であってもよく、またはコンピュータ可読メディア５２８に連結するように設定可能であってもよい。コンピュータ可読メディア５２８は、例えば、システム５００内の一以上のデバイスに対してアクセス可能なデータ、コード、及び／または命令を、実行及び／または生成できる任意のメディアを具備することができる。
【００２４】
一実施形態において、システム５００は、例えば、図2に示したメモリデバイス２００のようなメモリデバイスを具備することができる。このようなメモリデバイスは、メモリアレイに特定の情報を書き出すプログラム操作を開始するメモリコントローラ５１５から構成することができる。上記メモリデバイスはまた、メモリコントローラからの特定の情報を受信し、プログラム操作中に特定の情報を記憶し、かつプログラムフェイル・イベント後に特定の情報を記憶するメモリバッファ５７０から構成することができる。システム５００はさらに、一以上アプリケーションをホストするとともに、前記メモリアレイにアクセスを与えるメモリコントローラにコマンドを書き出すことを開始するプロセッサ５２０から構成することができる。一実施例において、メモリバッファは、メモリアレイから構成されるＮＡＮＤメモリに対して内部のＮＡＮＤページバッファから構成することができる。
【００２５】
前記コンピュータデバイス５０４は、例えば、入力／出力５３２を具備することができる。入力／出力５３２は、人及び／または機械の入力を受入れるまたは導入するように設定可能な一以上の典型的なデバイスまたは機能、及び／または、人及び／または機械の出力を届けるまたは与えるように設定可能な一以上のデバイスまたは機能である。例示であって限定されるものではないが、入力／出力デバイス５３２は、操作的に設定されたディスプレイ、スピーカー、キーボード、マウス、トラックボール、タッチスクリーン、データポートなどを具備することができる。
【００２６】
現時点で考えられる実施形態の例について説明して述べてきたが、本発明は、請求項に記載された内容から逸脱することなく、他の様々な変更がなされてもよく、等価なものに置換されてもよいと当業者に理解されるものである。さらに、本明細書に記載した主要概念から逸脱することなく、特定の状況を請求項に記載された内容の教示に適用するように多くの変更がなされてもよい。それゆえ、請求項に記載された内容が開示された特定の実施形態に限定されることはないと意図され、そのような請求項に記載された内容はまた、添付した請求項の範囲において、全ての実施形態及びそれらの等価物を包含するものであると意図されている。
【図１】
2011243193.tif 000003
【図２】
2011243193.tif 000004
【図３】
2011243193.tif 000005
【図４】
2011243193.tif 000006
【図５】
2011243193.tif 000007
【外国語明細書】
【発明の名称】
2011243193.tif 000008
【技術分野】
【０００１】
2011243193.tif 000009
【背景技術】
【０００２】
2011243193.tif 000010
【発明の概要】
【図面の簡単な説明】
【０００３】
2011243193.tif 000011
【発明を実施するための形態】
【０００４】
2011243193.tif 000012
2011243193.tif 000013
2011243193.tif 000014
2011243193.tif 000015
2011243193.tif 000016
2011243193.tif 000017
2011243193.tif 000018
2011243193.tif 000019
2011243193.tif 000020
2011243193.tif 000021
2011243193.tif 000022
2011243193.tif 000023
2011243193.tif 000024
2011243193.tif 000025
2011243193.tif 000026
2011243193.tif 000027
2011243193.tif 000028
2011243193.tif 000029
2011243193.tif 000030
【要約】
2011243193.tif 000031
【選択図】図１
【図１】
2011243193.tif 000032
【図２】
2011243193.tif 000033
【図３】
2011243193.tif 000034
【図４】
2011243193.tif 000035
【図５】
2011243193.tif 000036