(57)【要約】  本発明は、１つ以上のシステム関連状況に性能を適応させる不揮発性メモリシステムを提供する。メモリが、動作を完了するために割り当て時間を超過する必要がある状況が生じた場合、メモリは、充分迅速に動作を完了するため、通常の動作モードから高性能モードへ切り替わることができる。これと反対に、信頼性が問題となる（部分的なページプログラミングのような）状況が生じた場合、コントローラは高い信頼性モードへ切り替わることができる。どちらの場合でも、トリガーされるシステム状況が通常に戻った後、メモリは通常の動作に戻る。このような状況の検出を、プログラミングおよびデータ再配置動作の両方に用いることができる。例示的な実施形態は、ファームウェアプログラマブル性能に基づく。
2009503726.tif 000002
【特許請求の範囲】
【請求項１】
メモリシステムであって、
再書き込み可能なデータ記憶部分を有するメモリと、
前記メモリに記憶されたデータを管理し、前記メモリシステムと前記メモリシステムが接続されているホストとの間のデータの転送を制御するコントローラであって、前記コントローラは第１の性能レベルで前記メモリを通常通りに動作し、システム関連状況に応答して別個の第２の性能レベルで前記メモリを動作するコントローラと、
を備えるメモリシステム。
【請求項２】
請求項１記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも高い性能を有するメモリシステム。
【請求項３】
請求項２記載のメモリシステムにおいて、
前記コントローラは、高い待ち時間状況に応答して前記第２の性能レベルで前記メモリを動作するメモリシステム。
【請求項４】
請求項３記載のメモリシステムにおいて、
前記高い待ち時間状況は、プログラミング中のエラーであるメモリシステム。
【請求項５】
請求項３記載のメモリシステムにおいて、
前記高い待ち時間状況は、データ再配置動作中のエラーであるメモリシステム。
【請求項６】
請求項３記載のメモリシステムにおいて、
前記高い待ち時間状況は、ガーベッジコレクション動作であるメモリシステム。
【請求項７】
請求項２記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも低いレベルのエラー検出および訂正を用いるメモリシステム。
【請求項８】
請求項２記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも高速のプログラミングシーケンスを用いるメモリシステム。
【請求項９】
請求項８記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも高速のクロック速度を用いるメモリシステム。
【請求項１０】
請求項９記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも長い期間のプログラミングパルスを用いるメモリシステム。
【請求項１１】
請求項９記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも大きい振幅のプログラミングパルスを用いるメモリシステム。
【請求項１２】
請求項２記載のメモリシステムにおいて、
前記コントローラは、さらなるシステム関連状況に応答して第３の性能レベルで前記メモリをさらに動作し、前記第３の性能レベルは、前記第１の性能レベルよりも高い信頼性を有するメモリシステム。
【請求項１３】
請求項１記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも高い信頼性を有するメモリシステム。
【請求項１４】
請求項１３記載のメモリシステムにおいて、
前記システム関連状況は、部分的なページプログラミングであるメモリシステム。
【請求項１５】
請求項１３記載のメモリシステムにおいて、
前記システム関連状況は、低電圧状態であるメモリシステム。
【請求項１６】
請求項１３記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも高い度合いのエラー検出および訂正を用いるメモリシステム。
【請求項１７】
請求項１３記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも低速のプログラミングシーケンスを用いるメモリシステム。
【請求項１８】
請求項１７記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも低速のクロック速度を用いるメモリシステム。
【請求項１９】
請求項１７記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも短い期間のプログラミングパルスを用いるメモリシステム。
【請求項２０】
請求項１７記載のメモリシステムにおいて、
前記第２の性能レベルは、より低い振幅のプログラミングパルスを用いるメモリシステム。
【請求項２１】
メモリシステムを動作する方法であって、再書き込み可能なデータ記憶部分を有するメモリと、前記メモリに記憶されたデータを管理し、前記メモリシステムと前記メモリシステムが接続されているホストとの間のデータの転送を制御するコントローラとを含む方法において、
第１の性能レベルで前記メモリを動作するステップと、
前記コントローラによりシステム関連状況を決定するステップと、
前記システム関連状況を決定したことに応答して、前記第１の性能レベルと異なる第２性能レベルで前記メモリを動作するステップと、
を含む方法。
【請求項２２】
請求項２１記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも高い性能を有する方法。
【請求項２３】
請求項２２記載の方法において、
前記コントローラは、高い待ち時間状況に応答して前記第２の性能レベルで前記メモリを動作する方法。
【請求項２４】
請求項２３記載の方法において、
前記高い待ち時間状況は、プログラミング中のエラーである方法。
【請求項２５】
請求項２３記載の方法において、
前記高い待ち時間状況は、データ再配置動作中のエラーである方法。
【請求項２６】
請求項２３記載の方法において、
前記高い待ち時間状況は、ガーベッジコレクション動作である方法。
【請求項２７】
請求項２２記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも低いレベルのエラー検出および訂正を用いる方法。
【請求項２８】
請求項２２記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも高速のプログラミングシーケンスを用いる方法。
【請求項２９】
請求項２８記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも高速のクロック速度を用いる方法。
【請求項３０】
請求項２９記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも長い期間のプログラミングパルスを用いる方法。
【請求項３１】
請求項２９記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも大きい振幅のプログラミングパルスを用いる方法。
【請求項３２】
請求項２２記載の方法において、
前記コントローラによりさらなるシステム関連状況を決定するステップと、
前記さらなるシステム関連状況を決定するステップに応答して、さらなるシステム関連状況に応じて第３の性能レベルで前記メモリを動作するステップであって、前記第３の性能レベルは、前記第１の性能レベルよりも高い信頼性を有するステップと、
をさらに含む方法。
【請求項３３】
請求項２１記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも高い信頼性を有する方法。
【請求項３４】
請求項３３記載の方法において、
前記システム関連状況は、部分的なページプログラミングである方法。
【請求項３５】
請求項３３記載の方法において、
前記システム関連状況は、低電圧状態である方法。
【請求項３６】
請求項３３記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも高い度合いのエラー検出および訂正を用いる方法。
【請求項３７】
請求項３３記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも低速のプログラミングシーケンスを用いる方法。
【請求項３８】
請求項３７記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも低速のクロック速度を用いる方法。
【請求項３９】
請求項３７記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも短い期間のプログラミングパルスを用いる方法。
【請求項４０】
請求項３７記載の方法において、
前記第２の性能レベルは、より低い振幅のプログラミングパルスを用いる方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、再プログラム可能な不揮発性メモリシステムおよびその動作に関し、特に、プログラミング性能を最適化する技術に関する。
【背景技術】
【０００２】
再プログラム可能な不揮発性メモリ製品は商業的に成功し、今日、幅広く利用可能であり、特に、サンディスク  コーポレイションを含む様々な業者により製造されているコンパクトフラッシュ（ＣＦ）カード、セキュアデジタル（ＳＤ）カード、マルチメディアカード（ＭＭＣ）およびメモリスティックカードのような小形形状のファクタカードの形態をとっている。一般的に、このようなカードはフラッシュＥＥＰＲＯＭ（電気的に消去可能でプログラム可能な読み出し専用メモリ）メモリセルのアレイを用いる。一般的に、フラッシュＥＥＰＲＯＭメモリセルのアレイは、ＮＯＲアレイまたはＮＡＮＤアレイとして製造されている。
【０００３】
ＮＯＲアレイ
一般的なＮＯＲアレイでは、メモリセルは、列方向に延在する隣接するビット線のソース拡散領域とドレイン拡散領域との間に接続され、セルの行に沿って延在するワード線にはコントロールゲートが接続されている。１つの一般的なメモリセルは、ソース拡散領域とドレイン拡散領域との間に「分割チャネル」を有する。セルの電荷記憶素子はチャネルの一部分上に配置され、（コントロールゲートとも称される）ワード線は残りのチャネル部分上と電荷記憶素子上とに配置されている。これによって、直列になっている２つのトランジスタでセルを効果的に形成し、一方（メモリトランジスタ）が電荷記憶素子の電荷の量とワード線の電圧との組み合わせを用いて、チャネルの対応部分を流れることができる電流の量を制御し、他方（選択トランジスタ）がゲートとして作用するワード線のみを有する。ワード線は電荷記憶素子の一行上に延在する。このようなセル、メモリシステムでの使用およびその製造方法の例は、米国特許第５，０７０，０３２号（特許文献１）、第５，０９５，３４４号（特許文献２）、第５，３１５，５４１号（特許文献３）、第５，３４３，０６３号（特許文献４）および第５，６６１，０５３号（特許文献５）と、１９９９年１月２７日に出願された同時係属中の米国特許出願第０９／２３９，０７３号（特許文献６）とに示されている。
【０００４】
この分割チャネルフラッシュＥＥＰＲＯＭセルの変更例は、電荷記憶素子とワード線との間に配置されたステアリングゲートを追加する。アレイの各ステアリングゲートは、ワード線に対して垂直である電荷記憶素子の一列上に延在している。その効果は、選択されたセルを読み出すかまたはプログラムするとき、同時に２つの機能を実行する必要があるということからワード線を開放する。これら２つの機能は、（１）選択トランジスタのゲートとして作用することであって、従って、選択トランジスタをオンおよびオフに転換するのに適切な電圧を必要とし、（２）ワード線と電荷記憶素子との間の電界（容量性）結合を介して電荷記憶素子の電圧を所望のレベルに駆動することである。これら機能の両方を単一電圧で最適に実行することは困難であることが多い。ステアリングゲートが加わると、追加されたステアリングゲートが機能（２）を実行する間、ワード線は機能（１）を実行するだけで足りる。フラッシュＥＥＰＲＯＭアレイでのステアリングゲートの使用については、例えば、米国特許第５，３１３，４２１号（特許文献７）および第６，２２２，７６２号（特許文献８）に記述されている。
【０００５】
基板からゲート誘電体を介して電子をフローティングゲート記憶素子へ注入する様々なプログラミング技術がある。最も一般的なプログラミング機構については、Brown およびBrewer共著による「Nonvolatile Semiconductor Memory Technology 」，IEEE Press，１．２項，９〜２５頁（１９９８年）の書籍（非特許文献１）に記述されている。チャネル「ホットエレクトロン注入」（１．２．３項）と称される一技術は、セルのチャネルから電子を、セルのドレインに隣接するフローティングゲートの領域へ注入する。「ソース側注入」（１．２．４項）と称される別の技術は、メモリセルチャネルの長さに沿って延在する基板表面の電位を、ドレインとは反対側のチャネルの領域に電子注入の条件を生じさせるように制御する。ソース側注入については、Kamiyaら著による「EPROM Cell with High Gate Injection Efficiency」，IEDM Technical Digest ，１９８２年，７４１〜７４４頁の論文（非特許文献２）、ならびに、米国特許第４，６２２，６５６号（特許文献９）および第５，３１３，４２１号（特許文献７）にも記述されている。
【０００６】
電荷を電荷記憶素子から消去メモリセルへ除去する２つの技術は、前述した２種類のＮＯＲメモリセルアレイの両方に用いられる。一方の技術は、記憶素子と基板との間の誘電体層の部分を電子にトンネルさせる適切な電圧をソース、ドレインおよび（１つ以上の）他のゲートに印加することにより基板に消去する。他の消去技術は、電子を記憶素子から別のゲートへ、これらの間に配置されたトンネル誘電体層を介して移動させる。前述した最初の種類のセルでは、この目的のために第３の消去ゲートが設けられる。ステアリングゲートを用いることにより既に３つのゲートを有する前述した次の種類のセルでは、第４のゲートを追加する必要なしに電荷記憶素子はワード線に消去される。後のこの技術は、ワード線により実行される第２の機能を加え直すが、これら機能は、異なった時間に実行されるので、２つの機能のせいで妥協をする必要性を回避する。どちらかの消去技術が用いられる場合、多数のメモリセルは「一瞬の」間に同時に消去されるために一緒にグループ化される。１つのアプローチでは、このグループは、ディスクセクタに記憶されたユーザデータの量、すなわち５１２バイトと幾らかのオーバーヘッドデータとを記憶するのに充分なメモリセルを含む。別のアプローチでは、各グループは、多くのディスクセクタに値するデータに等しい数千バイトのユーザデータを保持するのに充分なセルを含む。マルチブロックの消去、欠陥管理および他のフラッシュＥＥＰＲＯＭシステム機構については、米国特許第５，２９７，１４８号（特許文献１０）に記述されている。
【０００７】
ほとんどの集積回路分野でのように、ある集積回路機能を実施するのに必要とされるシリコン基板領域を縮小させるという圧力は、フラッシュＥＥＰＲＯＭシステムの場合にも存在する。所定の大きさのメモリカードおよび他の種類のパッケージの記憶容量を増大させるため、シリコン基板の所定の領域に記憶することができるデジタルデータの量を増大させること、または、容量を増大させ、かつ、大きさを減少させることが絶えず望まれている。データの記憶密度を増大させる１つ方法は、１メモリセル当たり２ビット以上のデータを記憶する。このことは、記憶素子の電荷レベル電圧範囲のウィンドウを３つ以上の状態に分割することによって達成される。例えば、このような状態を４つ使用することによって、各セルが２ビットのデータを記憶することが可能となり、８つの状態が１セル当たり３ビットのデータを記憶するなどである。多状態のフラッシュＥＥＰＲＯＭ構造およびその動作については、米国特許第５，０４３，９４０号（特許文献１１）および第５，１７２，３３８号（特許文献１２）に記述されている。
【０００８】
別の種類のメモリセルは、記憶素子ごとに多状態で動作できる２つの記憶素子を含む。この種類のセルでは、２つの記憶素子は、それらの間に選択トランジスタを有するソース拡散領域とドレイン拡散領域との間のチャネル上に含まれている。ステアリングゲートは記憶素子の各列に沿って含まれ、これら記憶素子上のワード線は記憶素子の各行に沿って設けられている。読み出すかまたはプログラムするために所定の記憶素子にアクセスするとき、関心対象である記憶素子を含むセルの他の記憶素子上にあるステアリングゲートは、そこにどんな電荷レベルが存在したとしても、他の記憶素子の下にあるチャネルをオンに転換するまで充分に高く引き上げられる。このことは、他の記憶素子と同じメモリセル内の関心対象である記憶素子を読み出すかまたはプログラムするときに一要素となる他の記憶素子を効果的に削減する。例えば、セルの状態を読み出すのに用いることができるセルに流れる電流の量は、この場合、関心対象である記憶素子上の電荷の量の関数であって、同じセル内の他の記憶素子上の電荷の量の関数ではない。このセルアレイ構造およびその動作技術の例が、米国特許第５，７１２，１８０号（特許文献１３）、第６，１０３，５７３号（特許文献１４）および第６，１５１，２４８号（特許文献１５）に記述されている。
【０００９】
ＮＡＮＤアレイ
別のフラッシュＥＥＰＲＯＭ構造はＮＡＮＤアレイを用い、このＮＡＮＤアレイでは、１６または３２のような３つ以上のメモリセルの直列ストリングは、セルの列を形成するため、個々のビット線と基準電位との間の１つ以上の選択トランジスタと一緒に接続されている。ワード線は、多数のこれら列内のセルにまたがって延在する。ストリングに流れる電流が、アドレス指定されたセルに記憶された電荷のレベルに依存するようにストリング内の残りのセルを確実にオンに転換させることにより列内の個々のセルはプログラミング中、読み出されベリファイされる。ＮＡＮＤ構造アレイおよびメモリシステムの一部としての動作の例が、米国特許第５，５７０，３１５号（特許文献１６）、第５，７７４，３９７号（特許文献１７）および第６，０４６，９３５号（特許文献１８）に示されている。
【００１０】
前に参照された論文および特許に記述された現在のフラッシュＥＥＰＲＯＭアレイの電荷記憶素子は、最も一般的には導電性フローティングゲートであり、ドープされたポリシリコン材料から一般的に形成されている。フラッシュＥＥＰＲＯＭシステムで有用であるメモリセルの別の種類は、導電性フローティングゲートの代わりに非導電性の誘電体材料を用いて、不揮発的に電荷を記憶する。このようなセルについては、Chanら著による「A True Single-Transistor Oxide-Nitride-Oxide EEPROM Device」，IEEE Electron Device Letters，第ＥＤＬ−８巻，第３号，１９８７年３月，９３〜９５頁の論文（非特許文献３）に記述されている。酸化シリコン、窒化シリコンおよび酸化シリコン（「ＯＮＯ」）から形成された３層誘電体は、メモリセルチャネル上の半導体基板の表面と導電性コントロールゲートとの間に挟まれている。セルは、セルチャネルから窒化物へ電子を注入し、窒化物で電子が捕捉され、限定領域内に記憶されることによりプログラムされる。この記憶された電荷は次に、検出できるようにセルチャネルの一部分のしきい値電圧を変更する。このセルは、ホットホールを窒化物へ注入することにより消去される。ドープされたポリシリコンゲートがメモリセルチャネルの一部分上に延在して別個の選択トランジスタを形成する分割ゲート構成の類似のセルについて記述されているNozakiら著による「A 1-Mb EEPROM with MONOS Memory Cell for Semiconductor Disk Application 」，IEEE Journal of Solid-State Circuits，第２６巻，第４号，１９９１年４月，４９７〜５０１頁の論文（非特許文献４）も参照されたい。
【００１１】
米国特許第５，８５１，８８１号（特許文献１９）は、メモリセルのチャネル上に互いに隣接して配置され、一方がこのような誘電体素子であり、他方が導電性フローティングゲートである２つの記憶素子の使用について記述されている。誘電体素子に１ビットが記憶され、残りの１ビットがフローティングゲートに記憶されるように２ビットのデータは記憶される。メモリセルは、２つのゲートの各々を２つの異なる電荷レベル範囲の１つにプログラムすることにより、４つの記憶状態の１つを表す４つの異なるしきい値レベルの組み合わせの１つにプログラムされる。
【００１２】
誘電体記憶素子を用いる各セルに２ビットを記憶する別のアプローチについては、Eitan ら著による「NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell 」，IEEE Electron Device Letters，第２１巻，第１１号，２０００年１１月，５４３〜５４５頁の論文（非特許文献５）に記述されている。ＯＮＯ誘電体層は、ソース拡散領域とドレイン拡散領域との間のチャネルにわたって延在する。１つのデータビットに対する電荷は、ドレインに隣接する誘電体層内に局限され、他のデータビットに対する電荷は、ソースに隣接する誘電体層内に局限される。多状態データ記憶は、誘電体内の空間的に分離された電荷記憶領域の２値状態を別々に読み出すことによって得られる。
【００１３】
大規模な消去ブロック
一般的な不揮発性フラッシュアレイのメモリセルは、セルの分離したブロックに分割され、これらブロックは同時に消去される。すなわち、ブロックは消去単位である。一般的に、各ブロックはデータの１つ以上のページを記憶し、ページは、プログラミングおよび読み出しの単位である。しかし、１つの動作で２つ以上のページをプログラムし、または読み出すこともできる。一般的に、各ページはデータの１つ以上のセクタを記憶し、セクタの大きさはホストシステムにより定義される。一例として、磁気ディスクドライブで確立された規格に従う５１２バイトのユーザデータと、ユーザデータおよび／またはそれらが記憶されたブロックに関する幾らかのバイト数のオーバーヘッド情報とから成るセクタが挙げられる。
【００１４】
時々、書き込み動作のためにブロックを消去してブロックを開放する必要がある。この場合、消去すべきブロック（元のブロック）内の有効なページのデータは、元のブロックを消去する前に統合され、別のブロック（更新ブロック）へコピーされる。この処理は、「ガーベッジコレクション」と称される。ガーベッジコレクション中、元のブロックからの残った有効ページのデータは元のブロックから更新ブロックへコピーされる。コピー動作が完了した後、元のブロックは消去され、その後、更新ブロックは元のブロックとなる。
【００１５】
このようなメモリシステムの動作は、一方の性能と、他方の信頼性および電力消費量との間でトレードオフの関係にある。メモリの動作パラメータは、すべての予想動作に充分な時間が認められるように選択されている。許容時間が高すぎる場合であって、メモリが低速で実行される場合、タイムアウトまたは低性能の状況が生じることがある。その一方で、許容時間が短すぎる場合であって、メモリが高速で実行される場合、信頼性および電力消費量は損害を被る。ホスト側で選択されたタイムアウトが合意されると、カードの性能は、すべての予想動作を割り当て時間内で実行できるのに充分なレベルに設計される。高レベルの性能に設計するため、低い信頼性または高い電力消費量あるいは一般的にその両方を負担する。
【００１６】
ますます大規模なブロック構造に移行するにつれて、タイムアウトにつながるシステムのまれな状況が発生する可能性が増大する。一例として、特に複雑なガーベッジコレクションまたはプログラミングエラーが挙げられる。特に、このことは、長時間のプログラミング時間を伴う多状態メモリに当てはまる。この問題は、これらの異例の状況に適応させるようにプログラミング時間を改善することにより対処することができるが、通常の動作状況の大部分に対して低い信頼性または高い消費電力を負担する。逆に言えば、他の動作は割り当て時間ほどの時間を必要とせず、信頼性の問題を有する状況である。これらの場合では、システムは、必要以上に高い電力消費量または低い信頼性モードで動作する。
【特許文献１】米国特許第５，０７０，０３２号
【特許文献２】米国特許第５，０９５，３４４号
【特許文献３】米国特許第５，３１５，５４１号
【特許文献４】米国特許第５，３４３，０６３号
【特許文献５】米国特許第５，６６１，０５３号
【特許文献６】米国特許出願第０９／２３９，０７３号
【特許文献７】米国特許第５，３１３，４２１号
【特許文献８】米国特許第６，２２２，７６２号
【特許文献９】米国特許第４，６２２，６５６号
【特許文献１０】米国特許第５，２９７，１４８号
【特許文献１１】米国特許第５，０４３，９４０号
【特許文献１２】米国特許第５，１７２，３３８号
【特許文献１３】米国特許第５，７１２，１８０号
【特許文献１４】米国特許第６，１０３，５７３号
【特許文献１５】米国特許第６，１５１，２４８号
【特許文献１６】米国特許第５，５７０，３１５号
【特許文献１７】米国特許第５，７７４，３９７号
【特許文献１８】米国特許第６，０４６，９３５号
【特許文献１９】米国特許第５，８５１，８８１号
【特許文献２０】米国特許出願第０９／７９３，３７０号
【特許文献２１】米国特許第５，８８７，１４５号
【特許文献２２】米国特許第６，２６６，２７３号
【特許文献２３】米国特許出願第１０／８４６，２８９号
【特許文献２４】米国特許出願第１０／９１５，０３９号
【特許文献２５】米国特許出願第１１／０２２，３５０号
【特許文献２６】米国特許出願第１１／０２２，４６２号
【特許文献２７】米国特許出願第１０／９０１，８４９号
【特許文献２８】米国特許出願第１０／８８６，３０２号
【特許文献２９】米国特許第５，９３０，１６７号
【特許文献３０】米国特許第５，５３２，９６２号
【非特許文献１】Brown およびBrewer共著による「Nonvolatile Semiconductor Memory Technology 」，IEEE Press，１．２項，９〜２５頁（１９９８年）の書籍
【非特許文献２】Kamiyaら著による「EPROM Cell with High Gate Injection Efficiency」，IEDM Technical Digest ，１９８２年，７４１〜７４４頁の論文
【非特許文献３】Chanら著による「A True Single-Transistor Oxide-Nitride-Oxide EEPROM Device」，IEEE Electron Device Letters，第ＥＤＬ−８巻，第３号，１９８７年３月，９３〜９５頁の論文
【非特許文献４】Nozakiら著による「A 1-Mb EEPROM with MONOS Memory Cell for Semiconductor Disk Application 」，IEEE Journal of Solid-State Circuits，第２６巻，第４号，１９９１年４月，４９７〜５０１頁の論文
【非特許文献５】Eitan ら著による「NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell 」，IEEE Electron Device Letters，第２１巻，第１１号，２０００年１１月，５４３〜５４５頁の論文
【発明の開示】
【００１７】
一般的に、本発明は、１つ以上のシステム関連状況に性能を適応させる不揮発性メモリシステムを提供する。メモリが、動作を完了するために割り当て時間を超過する必要がある状況が生じた場合、メモリは、充分迅速に動作を完了するため、通常の動作モードから高性能モードへ切り替わることができる。これにより、カードはタイムアウトの問題を回避することができる一方で、プログラミング時間を減少させる信頼性の問題を最小限に抑えることができる。このような高い待ち時間動作の検出をプログラミング動作およびデータ再配置動作の両方に用いることができる。例えば、ガーベッジコレクション動作中、エラーが生じるか、または、特に大量のデータと再配置する必要がある場合、データに実行されるエラー検出および訂正動作の量を減少させることができる。別の例として、このような状況においてプログラミング速度を増大させるため、システムのクロック速度を増大させることができ、または、プログラミングパルスの（大きさまたは期間のような）特性を変更することができる。
【００１８】
これと反対に、信頼性が問題となる（部分的なページプログラミングのような）状況が生じた場合、コントローラは高い信頼性モードへ切り替わることができる。特別な高い信頼性シーケンスの例として、高水準のＥＣＣ、低いクロック速度、または少ない破壊プログラミングシーケンスを用いることが挙げられる。どちらの場合でも、トリガーされるシステムの動作状況が通常に戻った後、メモリは通常の動作に戻る。例示的な実施形態は、ファームウェアプログラマブル性能に基づく。
【００１９】
本発明のさらなる態様、特徴および利点は、添付図面と併せて理解すべき以下の具体的な代表的な実施形態の説明に含まれている。
【発明を実施するための最良の形態】
【００２０】
図１は、本発明を実施することができる第１の不揮発性メモリシステムのブロック図である。多数の個々にアドレス指定可能なメモリセル１１は、行および列の規則的なアレイに配置されている。しかし、他の物理的なセルの配置ももちろん可能である。このシステムは、前述した背景技術の欄と、本願明細書において援用されている参考文献とに記述されているように、ＮＯＲ形であるアレイ１１に特に適する。本願明細書ではセルのアレイ１１の列に沿って延在するように指定されているビット線は、線１５を介してビット線デコーダおよびドライバ回路１３と電気的に接続されている。本願明細書ではセルのアレイ１１の行に沿って延在するように指定されているワード線は、線１７を介してワード線デコーダおよびドライバ回路１９と電気的に接続されている。アレイ１１内のメモリセルの列に沿って延在するステアリングゲートは、線２３を介してステアリングゲートデコーダおよびドライバ回路２１と電気的に接続されている。デコーダ１３，１９，２１の各々は、メモリコントローラ２７からバス２５を介してメモリセルアドレスを受信する。デコーダおよびドライバ回路は、それぞれの制御およびステータス信号線２９，３１を介してもコントローラ２７に接続されている。ステアリングゲートおよびビット線に印加される電圧は、デコーダおよびドライバ回路１３，２１を相互に接続するバス２２を介して調整される。コントローラは、揮発性ランダムアクセスメモリ（ＲＡＭ）２８を含む様々な種類のレジスタおよび他のメモリを含む。
【００２１】
コントローラ２７は、線３５を介してホスト装置（図示せず）に接続可能である。ホストを、パーソナルコンピュータ、ノート形コンピュータ、デジタルカメラ、音声プレーヤ、および様々な他のハンドヘルド電子装置などとすることができる。一般的に、図１のメモリシステムを、ＰＣＭＣＩＡ、コンパクトフラッシュ（登録商標）協会およびＭＭＣ（登録商標）協会などからの規格のような幾つかの既存の物理および電気規格の１つに準拠してカードに実装することができる。カード形式の場合、線３５は、ホスト装置の相補的なコネクタとインターフェイスをとるカード上のコネクタで終端する。多くのカードの電気インターフェイスは、メモリシステムが磁気ディスクドライブであるかのようにホストに見えるＡＴＡ規格に準拠する。他のメモリカードインターフェイス規格もある。カード形式の代替として、図１に示される種類のメモリシステムを永続的にホスト装置に埋め込むことができる。
【００２２】
デコーダおよびドライバ回路１３，１９，２１は、それぞれの制御およびステータス線２９，３１の制御信号に従って、バス２５を介してアドレス指定されたアレイ１１のそれぞれの線に適切な電圧を生成して、プログラミング、読み出しおよび消去機能を実行する。電圧レベルおよび他のアレイパラメータを含む任意のステータス信号は、同じ制御およびステータス線２９，３１を介してアレイ１１によりコントローラ２７に供給される。回路１３内の複数のセンス増幅器は、アレイ１１内のアドレス指定されたメモリセルの状態を表す電流または電圧レベルを受信し、読み出し動作中、これらの状態に関する情報を、線４１を介してコントローラ２７に供給する。一般的に、多数のセンス増幅器は、多数のメモリセルの状態を同時に読み出すことができるようにするために用いられる。一般的に、読み出しおよびプログラミング動作中、一行のセルは回路１９を介して一度にアドレス指定されて、回路１３，２１により選択されたアドレス指定済みの行内の多くのセルにアクセスする。一般的に、消去動作中、多くの行の各々内のすべてのセルは、同時に消去するブロックとして一緒にアドレス指定される。
【００２３】
図１に示されるようなメモリシステムの動作は、前述した背景技術のＮＯＲアレイに関する部分に示されている論文および特許と、本願の譲受人であるサンディスク  コーポレーションに譲渡された他の特許とにさらに詳細に記述されている。さらに、２００１年２月２６日に出願の米国特許出願第０９／７９３，３７０号（特許文献２０）は、データのプログラミング方法について記述されている。この特許出願は、本願明細書において参照により援用されている。
【００２４】
図２は、本発明を実施することができる別の不揮発性メモリシステムのブロック図である。メモリセルアレイ１は、マトリクス状に配置された複数のメモリセル（Ｍ）を含み、列制御回路２、行制御回路３、Ｃソース制御回路４およびＣ−Ｐウェル制御回路５により制御される。メモリセルアレイ１を、前述した背景技術と、本願明細書において参照により援用されている参考文献とに記述されているＮＡＮＤ形とすることができる。制御回路２は、メモリセル（Ｍ）に記憶されたデータを読み出し、プログラミング動作中、メモリセル（Ｍ）の状態を決定し、ビット線（ＢＬ）の電位レベルを制御してプログラミングを促進または阻止するため、メモリセルアレイ１のビット線（ＢＬ）に接続されている。行制御回路３は、ワード線（ＷＬ）の１つを選択し、読み出し電圧を印加し、列制御回路２により制御されたビット線電位と組み合わされてプログラミング電圧を印加し、メモリセル（Ｍ）が形成されているｐ形領域の電圧と結合されて消去電圧を印加するために、ワード線（ＷＬ）に接続されている。Ｃソース制御回路４は、メモリセル（Ｍ）に接続された共通のソース線を制御する。Ｃ−Ｐウェル制御回路５は、Ｃ−Ｐウェル電圧を制御する。
【００２５】
メモリセル（Ｍ）に記憶されたデータは列制御回路２により読み出され、Ｉ／Ｏ線およびデータ入出力バッファ６を介して外部のＩ／Ｏ線に出力される。メモリセルに記憶すべきプログラムデータは外部のＩ／Ｏ線を介してデータ入出力バッファ６に入力され、列制御回路２に転送される。外部のＩ／Ｏ線はコントローラ４３に接続されている。コントローラ４３は、様々な種類のレジスタおよび他のメモリを一般的に揮発性ランダムアクセスメモリ（ＲＡＭ）５０内に含む。
【００２６】
フラッシュメモリ装置を制御するコマンドデータはコマンド回路７に入力され、コマンド回路７は、コントローラ４３と接続された外部の制御線に接続されている。コマンドデータは、どの動作が要求されたかをフラッシュメモリに通知する。入力コマンドは、列制御回路２、行制御回路３、Ｃソース制御回路４、Ｃ−Ｐウェル制御回路５およびデータ入出力バッファ６を制御する状態マシン８に転送される。状態マシン８は、ＲＥＡＤＹ／ＢＵＳＹまたはＰＡＳＳ／ＦＡＩＬのようなフラッシュメモリのステータスデータを出力することができる。また、状態マシン８は、多数のレジスタおよび他の揮発性ランダムアクセスメモリ４５を含む。
【００２７】
コントローラ４３は、パーソナルコンピュータ、デジタルカメラまたは携帯情報端末（ＰＤＡ）のようなホストシステムと接続されているか、または接続可能である。ホストは、データをメモリアレイ１に記憶するか、またはメモリアレイ１から読み出すようなコマンドを開始し、このようなデータを供給または受信する。コントローラは、このようなコマンドを、コマンド回路７により解釈し実行できるコマンド信号へ変換する。一般的に、コントローラも、メモリアレイとの間で読み書きされるユーザデータ用のバッファメモリを含む。一般的なメモリシステムは、コントローラ４３を含む１つの集積回路チップ４７と、メモリアレイおよび関連する制御、入出力および状態マシン回路を各々含む１つ以上の集積回路チップ４９とを含む。もちろん、１つ以上の集積回路チップ上にシステムのメモリアレイおよびコントローラ回路を一緒に統合する傾向にある。
【００２８】
図１および図２のどちらかのメモリシステムをホストシステムの一部として埋め込むことができ、または、ホストシステムの嵌合ソケット内へ取り外し可能に挿入できるメモリカード内に含めることができる。このようなカードはメモリシステム全体を含むことができ、または、コントローラと、関連する周辺回路を有するメモリアレイとを別個のカードに設けることができる。幾つかのカードの実施例について、例えば米国特許第５，８８７，１４５号（特許文献２１）に記述されている。この特許は、その全体が本願明細書において参照により明確に援用されている。
【００２９】
本発明の第１の態様によれば、メモリは、その性能を１つ以上のシステム関連状況に適合させる。例えば、メモリが、動作を完了するために割り当て時間を超過する必要がある状況が生じた場合、メモリは、充分迅速に動作を完了するため、通常の動作モードから高性能モードへ切り替わることができる。これにより、カードはタイムアウトの問題を回避することができる一方で、プログラミング時間を減少させる信頼性の問題を最小限に抑えることができる。これと反対に、信頼性が問題となる状況が生じた場合、高い信頼性モードへ切り替わることができる。これにより、例えば、部分的なプログラミングにより生じる、プログラミングを妨げる問題を減少させることができる。どちらの場合でも、トリガーされるシステム状況が通常に戻った後、メモリは通常の動作に戻る。例示的な実施形態は、ファームウェアプログラマブル性能に基づく。
【００３０】
ファームウェアは、危機的なタイムアウト環境中、高速プログラミング／低い耐久性モードに入る特別なコマンドシーケンスを送出する。他の時点では、このモードは用いられず、低速／高い耐久性モードが用いられる。このことは、プログラミング時間と耐久性との間でトレードオフの関係にあることにより生じる装置設計の技術的努力を著しく減少させる。妨害による影響を減少させるために、相補的な一態様は、部分的なページプログラミングおよび信頼性の問題を生じることがある他の状況の中で、低速方法を用いる。
【００３１】
特に、本発明は、（科学技術により促進される）大規模なブロックサイズにより生じるような問題、ガーベッジコレクション中のプログラミング時間およびホストインターフェイス待ち時間の問題に対処する。例えば、ＳＤカードの仕様は２５０ｍｓのタイムアウトを指定する。ガーベッジコレクションを実行する時間は、一般的に、
Ｔgarbage ＝（データ転送時間×ガーベッジコレクションが実行されるセクタ）
＋（プログラミング時間＋読み出し時間）×（ガーベッジコレクションが実行されるセクタ）／並列性＋消去時間
で表される。これら３つの成分の２番目は一般的に最も大きい部分である。データ再配置およびガーベッジコレクションの様々な態様については、米国特許第６，２６６，２７３号（特許文献２２）と、２００４年５月１３日に出願の米国特許出願第１０／８４６，２８９号（特許文献２３）と、２００４年８月９日に出願の米国特許出願第１０／９１５，０３９号（特許文献２４）と、２００４年１２月２１日に出願の米国特許出願第１１／０２２，３５０号（特許文献２５）とに記述されている。（しかし、データ再配置動作は歴史的な理由でオンチップコピーと称され、特に、再配置を、別のチップまたは同じチップ上のサブアレイ（プレーン）にすることができる。このことについては、２００４年１２月２１日に出願された同時係属中の米国特許出願第１１／０２２，４６２号（特許文献２６）にさらに詳細に記述されている。）
【００３２】
様々な方法を用いて、この時間を減少させることができる。このことは、高い待ち時間の問題を回避するのに欠かせない。一般的に、これら方法は幾つかのカテゴリ、すなわち、
１．データ転送またはデータ転送時間の減少
２．プログラミング時間の減少
３．並行性の増大
に分類される。これらの技術のすべては、並行ガーベッジコレクションを受けるセクタの数を増大させる傾向を相殺しようとする。一般的に、最初の２つは速度と信頼性との間でトレードオフの関係を含むことが多いので、最初の２つは信頼性に影響を与える。オンチップコピーおよび関連するデータサンプリングにより生じるような、データ転送の量を減少させる方法については、２００４年７月２８日に出願の米国特許出願第１０／９０１，８４９号（特許文献２７）と、２００４年１２月２１日に出願の米国特許出願第１１／０２２，３５０号（特許文献２５）とに記述されている。並行性を増大させる方法のように、プログラミング時間は、背景技術で引用されている様々な参考文献に記述されているような装置設計および最適化により一般的に減少される。
【００３３】
しかし、システムの観点から、最悪の場合のガーベッジコレクションは、一般的なガーベッジコレクションよりも発生の頻度が低い。本発明は、このことを活用し、必要に応じて、最適化に影響を与える一部の信頼性だけを実行する。システムは、システムが高い待ち時間状況にあるときを常に検出することができ、必要に応じて、これら方法を起動することができる。最適化に影響を与える信頼性だけをこれらの時点で実行することにより、タイムアウトを回避しながら、信頼性全体が改善される。
【００３４】
メモリシステムの動作中にトリガーとして作用することがあるシステム関連状況の一例として、
１．コマンドが、セクタのしきい値数を上回るガーベッジコレクションを要求すること
２．ガーベッジコレクションにエラーをもたらすプログラミングエラー
３．プログラミングエラーが、続いて起こる追加のガーベッジコレクションを必要とするガーベッジコレクション動作中に生じること
が挙げられる。データ再配置は、特に、データが検査され訂正される場合に比較的時間を浪費することがある。このようなガーベッジコレクションのほとんどの場合、割り当てられた時間は充分である。しかし、一般的に大量のデータを移動する必要がある場合、タイムアウトが生じることがある。再配置されるセクタの数がこのしきい値を下回る場合であっても、ガーベッジコレクションがプログラミングエラーの結果である（または再配置中にプログラミングが生じる）場合、すべての組み合わされた動作に対する追加の時間は、しきい値を上回ることがある。特に、長期のプログラミング時間を一般的に必要とする多状態メモリでは、このような状況はタイムアウト状況の脅威につながることがある。これらの状況のいずれかが、今にも起ころうとしている、または既に生じているとコントローラが検出した場合、メモリは高性能モードへ切り替わることができる。
【００３５】
本発明の様々な実施形態に従って、個々にまたは組み合わせて、多くの最適化が可能である。これらの可能性として、
１．オンチップコピーに対するＥＣＣデータサンプリングを、場合によってはゼロに至るまで減少させること
２．高速プログラミングシーケンスを用いるか、または、電力消費量を減少させるような特別モードでメモリに異なるコマンドシーケンスを用いること。例えば、システムが低電力モードである場合、非書き込みキャッシュプログラミングシーケンスを用いて電力消費量を減少させることができる。
３．通常のプログラミングパラメータに対してプログラミング時間を速めるためにメモリパラメータを変更すること
４．高速動作に対して２進数での書き込みに拡張すること
が挙げられる。２００４年１２月２１日に出願の米国特許出願第１１／０２２，３５０号（特許文献２５）は、サンプリングまたは他の方法に基づいて、転送ごとにではなく、一部の転送にだけＥＣＣデータが検査される技術について記述している。時間的に危機的な状況において性能を増大させるため、この機構を用い、ＥＣＣ検査を減少させることができ、さらには省略することができる。（背景技術で引用されているＮＡＮＤメモリアレイに関する参考文献に記述されたような）メモリパラメータを変更する場合には、一例として、プログラミングパルスの大きさまたは期間を変更すること、またはベリファイ技術を変更することが挙げられる。（速度または信頼性を増大させる）２進数モードまたは（記憶密度を高める）多状態モードのいずれかで動作することができるメモリの詳細は、２００４年７月６日に出願の米国特許出願第１０／８８６，３０２号（特許文献２８）と、米国特許第５，９３０，１６７号（特許文献２９）とに示されている。これらの方法は、多少異なる目的のために用いられるが、これらの方法を本発明に適合させることができる。性能を改善するこれらの方法および他の方法を、個々に、または組み合わせて用いることができ、より好適な技術は用途ごとに変更することができる。さらに、より徹底的な技術だけが最も極端な場合に含まれるように幾つかのレベルの増大された性能を提供するのに累進的に組み合わせることができる。
【００３６】
図３には、オンチップコピーの最適化の一例を示す。例示的なオンチップコピー処理はステップ３０１から開始し、ステップ３０３では、高い待ち時間動作と関連するシステム関連状況が存在するか否かを判断する。一般的な高い待ち時間事象の例として、全ガーベッジコレクション、プログラミング中のエラー、ガーベッジコレクション中のエラー、または、前述したような、トリガーされる他の様々な事象が挙げられる。このような状況を検出した場合、ステップ３０５において、メモリは、速度を増大させるためにオンチップコピー（ＯＣＣ）動作でのＥＣＣ検査が減少または短縮されるモードに切り替わる。例えば、（コピー中、または、書き込み後の読み出し中のような）ＥＣＣエラーを訂正するときのしきい値を上げることができる。
【００３７】
データ転送（または、他の長期待ち時間動作）を、転送の合間の幾つかのビジー期間にわたって分散することも可能である。このように幾つかの周期にわたって動作を分散または再スケジュールすることは、ステップ３０５と、以下で図４を参照して説明されるステップ４０５との両方において高い待ち時間動作を改善するのに役立つことができる。
【００３８】
図３に戻り、高い待ち時間動作が近い将来起こりそうもない場合、ステップ３０７では、可能な信頼性の問題を検査することができる。高い信頼性の問題の例として、部分的なページプログラミングまたは低い電圧状態が挙げられる。信頼性の問題と関連するシステム関連状況が存在しない場合、ステップ３０９において、通常のプログラミングシーケンスを用いる。信頼性状況を特定した場合、ステップ３１１において、代わりに特別なシーケンスを用いることができる。信頼性を改善する方法の例として、ＥＣＣエラーを訂正するときのしきい値を下げること、または、より細かい多数のプログラミングステップによりプログラミング時間を増大させることが挙げられる。
【００３９】
図３の例示的な実施形態は、オンチップコピーが高い待ち時間動作および高い信頼性状況の両方に最適化されることを含む。これらは、独立した態様であり、処理はステップ３０３，３０７の両方を有する必要はない。例えば、高い信頼性の問題に関する判断を削減することができ、ステップ３０７（およびステップ３１１）を除去し、「いいえ」の場合にステップ３０３からステップ３０９へ直接進む経路を有する。あるいはまた、ステップ３０３（およびステップ３０５）を削減することができ、処理はステップ３０１からステップ３０７へ直接進む。実際の実施例では、最適化されたデータ再配置を連続的に、または少なくとも拡張して用いることになる体系的な使用の状況が生じることがある。このような場合、ある間隔を置いてデータのＥＣＣを最終的に確実に検査できるようにする機構を含めるのが好ましい。
【００４０】
メモリは、実施例に応じて多くの異なる方法で通常の動作モードに戻ることができる。例えば、この実施例は、特別モードが周期ごとに指定される必要があること、特別モードが特定のコマンドシーケンスの継続期間に制限されていること、通常モードに戻るのにコマンドが用いられること、または、これらの任意の組み合わせを含むことができる。
【００４１】
図４には、システム動作に関連する関連状況に基づいてプログラミングを最適化する実施形態の一例を示す。図４では、様々な分岐が図３の分岐に類似する。ステップ４０３およびステップ４０７はそれぞれ、高い待ち時間動作または高い信頼性問題が存在するか否かを判断する。これらの状況の例としてオンチップコピーの場合が挙げられる。高い待ち時間状況がタイムアウトの危険性を有する場合、場合によっては、信頼性または電力消費量あるいはその両方を犠牲にして、高速プログラミングシーケンスを用いることができる（ステップ４０５）。待ち時間が問題ではなく信頼性が問題であることをシステムの状況が示す場合、高い信頼性のプログラミングシーケンスを用いることができる（ステップ４１１）。（信頼性の観点から示されているが、適切な時間を利用できれば、高い信頼性シーケンスと同じにしてもしなくてもよい低い電力モードを用いる場合を同様に実施することができる。）信頼性の問題またはタイムアウトの危険性のどちらもない場合、通常のプログラミングシーケンスを用いることができる（ステップ４０９）。
【００４２】
さらに悪い信頼性シーケンスを補償することを必要とすることがあるシステム関連状況の具体的な一例として、部分的なプログラミングが挙げられる。部分的なプログラミングは、妨害機構の理由から、最適化するのにさらに困難なＮＡＮＤパラメータの１つである。しかし、システムの観点から、システムは、部分的なプログラミングシーケンスが必要とされるときを知っている。この場合には、特別な低速または低妨害性機構を用いることができる。幾つかの場合、ＮＡＮＤメモリ自体がこのシーケンスを検出し、別個のコマンドシーケンスを必要とする代わりにそれ自体を最適化できることがある。
【００４３】
ステップ４０５においてメモリを高速化する可能な実施形態は多数あり、それらを個々に、または組み合わせて用いることができる。一実施例では、メモリでのクロック速度を変更する。例えば、３０ＭＨｚで動作する低電力システムは６０ＭＨｚに切り替わり、標準の６０ＭＨｚシステムはさらなる高速クロックに移行することができる。他の実施例では、プログラミングパルスの特性（期間、ステップサイズなど）を切り替えることができる。（逆に言えば、ステップ４１１の特別な信頼性シーケンスにおいて、この種の変更のすべてを逆方向に切り替えることができる。）
【００４４】
データの正確な書き込みを確実にするために書き込み後の読み出しを組み込むシステムでは、高速モード中、このステップを省略することができる。メモリ信頼性を改善するのに用いられる（米国特許第５，５３２，９６２号（特許文献３０）に記述されているような）消し込み(Scrub) 動作および損耗平均化動作を、危機的な状況において短縮することができる。さらに、電力消費量を犠牲にして速度／信頼性を改善するため、電圧調整器または他の電源を変更することができ、例えば、高電流モードまたは低電流モードの間で切り替わる。
【００４５】
特別な高い信頼性プログラミングシーケンスの実施例の多くは、ステップ４０５に関して前述したことと逆である。これらは、書き込み後の読み出し、または、このような他のシステム特徴を追加すること、電力消費量に対して信頼性を改善するために電圧調整器または他の電源を変更すること、および、プログラミングパルスの特性を変更することなどを含む。
【００４６】
用いられるメモリの特定の特性に応じて、様々な実施問題に対処しなければならないことがある。例えば、（高速または低速）書き込み特性の変更はデータ状態の分散を変更し、データの読み直しに影響を及ぼすことがある。このような問題が生じることがある場合、必要に応じて、システムは、読み出し処理中に異なる書き込み状態を追跡または検出する機構を有するのが好ましい。このことは、データの読み直し中、読み出しマージン（または、「大規模な」読み出しシーケンスの使用）の変更を含む。
【００４７】
本願明細書では図３および図４の実施形態を単独で示したが、様々な変形例と一緒にこれら実施形態を組み合わせることができる。例えば、高い待ち時間状況が生じるオンチップコピー動作において、ステップ３０５のオンチップコピーと関連するプログラミングは、ステップ４０５の高速プログラミングシーケンスを用いることができる。さらに、図３と同様に、図４は、高い待ち時間動作および高い信頼性状況の両方に対する最適化を含む。前述したように、これらは、独立した態様である。
【００４８】
さらに、ステップ３０５およびステップ４０５は単一の高性能モードを参照したが、より一般的には、多くの段階的な高性能モードを用いることができる。状況の厳しさに応じて、適切な性能モードを選択することができる。これと同様に、ステップ３１１およびステップ４１１において、信頼性を増大する多数の段階的なレベルを用いることができる。前述した他の態様と同様に、これらの様々な態様を、ハードウェアまたはソフトウェアで実施することができ、または、好適な実施形態ではプログラム可能なファームウェアを介して実施することができる。
【００４９】
前述したように、メモリシステムの性能を改善する様々な技術を示した。性能を改善する多くの他の技術については、前に引用されている２００４年７月２８日に出願の米国特許出願第１０／９０１，８４９号（特許文献２７）と２００４年７月６日に出願の米国特許出願第１０／８８６，３０２号（特許文献２８）とに記述されている。これらの特許出願の様々な態様は、相補的であって、組み合わせることができる。
【００５０】
特定の例示的な実施形態を参照して本発明の様々な態様を説明してきたが、当然のことながら、本発明が、添付の特許請求の範囲の全範囲内においてその権利が保護されるべきであることが理解できよう。
【００５１】
本願明細書では、前述した特許、特許出願、論文および書籍部分は、すべて参考のために全体として背景技術に導入したものである。
【図面の簡単な説明】
【００５２】
【図１】本発明を実施することができる第１の不揮発性メモリシステムのブロック図である。
【図２】本発明を実施することができる第２の不揮発性メモリシステムのブロック図である。
【図３】オンチップコピーの最適化の一例を示すフローチャートである。
【図４】プログラミングの最適化の一例を示すフローチャートである。
【図１】
2009503726.tif 000003
【図２】
2009503726.tif 000004
【図３】
2009503726.tif 000005
【図４】
2009503726.tif 000006
【手続補正書】
【提出日】平成19年1月11日(2007.1.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリシステムであって、
再書き込み可能なデータ記憶部分を有するメモリと、
前記メモリに記憶されたデータを管理し、前記メモリシステムと前記メモリシステムが接続されているホストとの間のデータの転送を制御するコントローラであって、前記コントローラは第１の性能レベルで前記メモリを通常通りに動作し、システム関連状況に応答して別個の第２の性能レベルで前記メモリを動作するコントローラと、
を備えるメモリシステム。
【請求項２】
請求項１記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも高い性能を有するメモリシステム。
【請求項３】
請求項２記載のメモリシステムにおいて、
前記コントローラは、高い待ち時間状況に応答して前記第２の性能レベルで前記メモリを動作するメモリシステム。
【請求項４】
請求項３記載のメモリシステムにおいて、
前記高い待ち時間状況は、プログラミング中のエラーであるメモリシステム。
【請求項５】
請求項３記載のメモリシステムにおいて、
前記高い待ち時間状況は、データ再配置動作中のエラーであるメモリシステム。
【請求項６】
請求項３記載のメモリシステムにおいて、
前記高い待ち時間状況は、ガーベッジコレクション動作であるメモリシステム。
【請求項７】
請求項２記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも低いレベルのエラー検出および訂正を用いるメモリシステム。
【請求項８】
請求項２記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも高速のプログラミングシーケンスを用いるメモリシステム。
【請求項９】
請求項８記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも高速のクロック速度を用いるメモリシステム。
【請求項１０】
請求項９記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも長い期間のプログラミングパルスを用いるメモリシステム。
【請求項１１】
請求項９記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも大きい振幅のプログラミングパルスを用いるメモリシステム。
【請求項１２】
請求項２記載のメモリシステムにおいて、
前記コントローラは、さらなるシステム関連状況に応答して第３の性能レベルで前記メモリをさらに動作し、前記第３の性能レベルは、前記第１の性能レベルよりも高い信頼性を有するメモリシステム。
【請求項１３】
請求項１記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも高い信頼性を有するメモリシステム。
【請求項１４】
請求項１記載のメモリシステムにおいて、
前記システム関連状況は、部分的なページプログラミングであるメモリシステム。
【請求項１５】
請求項１記載のメモリシステムにおいて、
前記システム関連状況は、低電圧状態であるメモリシステム。
【請求項１６】
請求項１記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも高い度合いのエラー検出および訂正を用いるメモリシステム。
【請求項１７】
請求項１記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも低速のプログラミングシーケンスを用いるメモリシステム。
【請求項１８】
請求項１７記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも低速のクロック速度を用いるメモリシステム。
【請求項１９】
請求項１７記載のメモリシステムにおいて、
前記第２の性能レベルは、前記第１の性能レベルよりも短い期間のプログラミングパルスを用いるメモリシステム。
【請求項２０】
請求項１７記載のメモリシステムにおいて、
前記第２の性能レベルは、より低い振幅のプログラミングパルスを用いるメモリシステム。
【請求項２１】
メモリシステムを動作する方法であって、再書き込み可能なデータ記憶部分を有するメモリと、前記メモリに記憶されたデータを管理し、前記メモリシステムと前記メモリシステムが接続されているホストとの間のデータの転送を制御するコントローラとを含む方法において、
第１の性能レベルで前記メモリを動作するステップと、
前記コントローラによりシステム関連状況を決定するステップと、
前記システム関連状況を決定したことに応答して、前記第１の性能レベルと異なる第２性能レベルで前記メモリを動作するステップと、
を含む方法。
【請求項２２】
請求項２１記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも高い性能を有する方法。
【請求項２３】
請求項２２記載の方法において、
前記コントローラは、高い待ち時間状況に応答して前記第２の性能レベルで前記メモリを動作する方法。
【請求項２４】
請求項２３記載の方法において、
前記高い待ち時間状況は、プログラミング中のエラーである方法。
【請求項２５】
請求項２３記載の方法において、
前記高い待ち時間状況は、データ再配置動作中のエラーである方法。
【請求項２６】
請求項２３記載の方法において、
前記高い待ち時間状況は、ガーベッジコレクション動作である方法。
【請求項２７】
請求項２２記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも低いレベルのエラー検出および訂正を用いる方法。
【請求項２８】
請求項２２記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも高速のプログラミングシーケンスを用いる方法。
【請求項２９】
請求項２８記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも高速のクロック速度を用いる方法。
【請求項３０】
請求項２９記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも長い期間のプログラミングパルスを用いる方法。
【請求項３１】
請求項２９記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも大きい振幅のプログラミングパルスを用いる方法。
【請求項３２】
請求項２２記載の方法において、
前記コントローラによりさらなるシステム関連状況を決定するステップと、
前記さらなるシステム関連状況を決定するステップに応答して、さらなるシステム関連状況に応じて第３の性能レベルで前記メモリを動作するステップであって、前記第３の性能レベルは、前記第１の性能レベルよりも高い信頼性を有するステップと、
をさらに含む方法。
【請求項３３】
請求項２１記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも高い信頼性を有する方法。
【請求項３４】
請求項２１記載の方法において、
前記システム関連状況は、部分的なページプログラミングである方法。
【請求項３５】
請求項２１記載の方法において、
前記システム関連状況は、低電圧状態である方法。
【請求項３６】
請求項２１記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも高い度合いのエラー検出および訂正を用いる方法。
【請求項３７】
請求項２１記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも低速のプログラミングシーケンスを用いる方法。
【請求項３８】
請求項３７記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも低速のクロック速度を用いる方法。
【請求項３９】
請求項３７記載の方法において、
前記第２の性能レベルは、前記第１の性能レベルよりも短い期間のプログラミングパルスを用いる方法。
【請求項４０】
請求項３７記載の方法において、
前記第２の性能レベルは、より低い振幅のプログラミングパルスを用いる方法。
【国際調査報告】
2009503726.tif 000007
2009503726.tif 000008
2009503726.tif 000009