(57)【要約】  本発明は、データ再配置動作を改善する方法を提供する。一態様において、全ての再配置動作でデータの品質をそれに関連する誤り訂正符号（ＥＣＣ）に基づいて検査するのではなくて、所定の選択基準に基づいてＥＣＣを検査するか否かが判定され、ＥＣＣ検査が選択されなければ、メモリにデータの第１の場所から第２の場所へのオンチップコピーを実行させる。ＥＣＣ検査が選択されれば、データはコントローラに転送され検査される。エラーが発見されたときには訂正動作が実行され、エラーが発見されないときにはオンチップコピーが実行される。所定の選択基準はサンプリングメカニズムを含むことができ、それはランダムベースであるかまたは確定的であって良い。別の一態様において、データが訂正され、そしてメモリに転送され戻されるべきであることを示すためにデータ転送フラグが導入される。別の態様は、ヘッダおよびユーザデータを、各々が別個の関連するＥＣＣを有するならば、別々に考慮する。
2008524750.tif 000002
【特許請求の範囲】
【請求項１】
コントローラとプログラム可能な不揮発性メモリとを含むメモリシステムにおいて、データを前記メモリの第１の場所から前記メモリの第２の場所に再配置する方法であって、
前記データを前記第１の場所から前記メモリ上のレジスタに読み出すステップと、
前記データに対してエラー検出および訂正動作を実行するか否かを前記コントローラにおいて判定するステップと、
前記データに対してエラー検出および訂正動作を実行しないと判定したことに応答して、前記データを前記レジスタから前記第２の場所に書き込むステップと、
を含む方法。
【請求項２】
コントローラとプログラム可能な不揮発性メモリとを含むメモリシステムにおいて、データを前記メモリの第１の場所から前記メモリの第２の場所に再配置する方法であって、
前記データを前記第１の場所から前記メモリ上のレジスタに読み出すステップと、
前記データに対してエラー検出および訂正動作を実行するか否かを前記コントローラにおいて判定するステップと、
前記データに対してエラー検出および訂正動作を実行すると判定したことに応答して、前記データを前記レジスタにおいて維持しながら前記データのコピーを前記コントローラに転送するステップと、
前記コントローラにおいて前記データに対してエラー検出および訂正動作を実行するステップと、
を含む方法。
【請求項３】
請求項２記載の方法において、
前記データは関連する誤り訂正符号（ＥＣＣ）を含み、前記エラー検出および訂正動作は、
前記関連するＥＣＣに基づいて前記データがエラーを含むか否かを判定するステップと、
前記データがエラーを含むと判定したことに応答して、前記データに対して訂正動作を実行するステップと、
を含む方法。
【請求項４】
請求項３記載の方法において、
前記エラー訂正動作が首尾よく完了したならば、前記方法は、
前記訂正されたデータを前記コントローラからメモリに転送するステップと、
前記訂正されたデータを前記第２の場所に書き込むステップと、
をさらに含む方法。
【請求項５】
請求項３記載の方法において、
前記エラー訂正が首尾よく完了しなければ、前記方法は、
前記データに関連するエラーフラグをセットするステップをさらに含む方法。
【請求項６】
請求項５記載の方法において、
前記データはヘッダ部とユーザデータ部とを含み、前記エラーフラグは前記ヘッダ部に書き込まれる方法。
【請求項７】
請求項１または２のいずれか記載の方法において、
前記エラー検出および訂正動作を実行するか否かを判定するステップは、確定的メカニズムである方法。
【請求項８】
請求項１または２のいずれか記載の方法において、
前記エラー検出および訂正動作を実行するか否かを判定するステップは、ランダムベースであるかまたは擬似ランダムベースである方法。
【請求項９】
請求項１または２のいずれか記載の方法において、
前記エラー検出および訂正動作を実行するか否かを判定するステップは、サンプリングメカニズムに基づく方法。
【請求項１０】
請求項９記載の方法において、
前記サンプリングメカニズムは、前記データに関連するオーバーヘッドデータに基づく方法。
【請求項１１】
請求項１０記載の方法において、
前記サンプリングメカニズムは、前記データに関連するタイムスタンプを前記データの論理アドレス情報と比較することを含む方法。
【請求項１２】
請求項２記載の方法において、
前記エラー検出および訂正動作を実行するステップの一部として前記データが訂正されたか否かに基づいてフラグ値をセットするステップと、
前記データが訂正されたことを示すように前記フラグ値がセットされたならば、前記訂正されたデータを前記レジスタに転送して戻すステップと、
その後に前記レジスタの内容を前記第２の記憶場所に書き込むステップと、
をさらに含む方法。
【請求項１３】
請求項１２記載の方法において、
前記データは関連する誤り訂正符号（ＥＣＣ）を有し、前記エラー検出および訂正動作は、
前記関連するＥＣＣに基づいて前記データがエラーを含むか否かを判定するステップと、
前記関連するＥＣＣを用いて前記データを訂正するステップと、を含み、
前記フラグ値は、前記訂正するステップが首尾よく完了したことに応答してセットされる方法。
【請求項１４】
請求項１３記載の方法において、
前記訂正するステップが首尾よく完了しなかったことに応答して、前記データに関連するエラーフラグをセットするステップをさらに含む方法。
【請求項１５】
請求項１４記載の方法において、
前記データはオーバーヘッド部とユーザデータ部とを含み、前記エラーフラグは前記オーバーヘッド部に書き込まれる方法。
【請求項１６】
請求項１２記載の方法において、
前記データはユーザデータ部とオーバーヘッド部とを含み、前記ユーザデータは関連する誤り訂正符号（ＥＣＣ）を有し、前記オーバーヘッド部は別の関連する誤り訂正符号（ＥＣＣ）を有し、前記データのコピーを転送するステップと前記エラー検出および訂正動作を実行するステップとは、
前記データを前記レジスタにおいて維持しながら前記データの前記オーバーヘッド部のコピーを前記レジスタから前記コントローラに転送するステップと、
前記コントローラにおいて前記関連するオーバーヘッドＥＣＣに基づいて前記データの前記オーバーヘッド部に対してエラー検出および訂正動作を実行し、前記データの前記オーバーヘッド部に対する訂正動作が首尾よく完了したことに応答して、訂正されたオーバーヘッド部を前記レジスタに転送して戻すステップと、
前記データの前記オーバーヘッド部に対する成功したエラー検出および訂正動作に応答して、
前記データを前記レジスタにおいて維持しながら前記データの前記ユーザ部のコピーを前記レジスタから前記コントローラに転送するステップと、
前記コントローラにおいて前記関連するユーザデータＥＣＣに基づいて前記データの前記ユーザ部に対してエラー検出および訂正動作を実行するステップと、を含み、
前記フラグ値は前記ユーザデータ部が訂正されたか否かに基づいてセットされる方法。
【請求項１７】
コントローラとプログラム可能な不揮発性メモリとを含むメモリシステムにおいて、データを前記メモリの第１の場所から前記メモリの第２の場所に再配置する方法であって、前記データはユーザデータ部とオーバーヘッド部とを含み、前記ユーザデータは関連する誤り訂正符号（ＥＣＣ）を有し、前記オーバーヘッド部は別の関連する誤り訂正符号（ＥＣＣ）を有する前記方法は、
前記データを前記第１の場所から前記メモリ上のレジスタに読み出すステップと、
その後に前記レジスタにおいて前記データを維持しながら前記データの前記ヘッダ部のコピーを前記コントローラに転送するステップと、
前記コントローラにおいて前記関連するオーバーヘッドＥＣＣに基づいて前記オーバーヘッド部に対してエラー検出および訂正動作を実行するステップと、
前記オーバーヘッド部に対する前記エラー検出および訂正動作が前記オーバーヘッド部の訂正を必要とする場合、前記オーバーヘッドに対する前記エラー検出および訂正動作を首尾よく完了することに応答して、訂正されたオーバーヘッドを続いて前記レジスタに転送して戻すステップと、
前記オーバーヘッド部に対してエラー検出および訂正動作を実行するステップの後に、前記データの前記ユーザデータ部に対してエラー検出および訂正動作を実行するか否かを前記コントローラにおいて判定するステップと、
を含む方法。
【請求項１８】
請求項１７記載の方法において、
前記データの前記ユーザデータ部に対してエラー検出および訂正動作を実行するか否かを判定するステップは、
前記オーバーヘッド部が訂正を必要とすると判定したことに応答して、前記レジスタにおいて前記データを維持しながら前記ユーザデータ部のコピーを前記コントローラに転送するステップと、
前記コントローラにおいて前記ユーザデータ部に対してエラー検出および訂正動作を実行するステップと、
を含む方法。
【請求項１９】
請求項１７記載の方法において、
前記ユーザデータ部に対してエラー検出および訂正動作を実行しないと判定したことに応答して、前記データを前記レジスタから前記第２の場所に書き込むステップをさらに含む方法。
【請求項２０】
請求項１７記載の方法において、
前記ユーザデータ部に対してエラー検出および訂正動作を実行すると判定したことに応答して、前記レジスタにおいて前記データを維持しながら前記ユーザデータ部のコピーを前記コントローラに転送するステップと、
前記コントローラにおいて前記ユーザデータ部に対してエラー検出および訂正動作を実行するステップと、
をさらに方法。
【請求項２１】
請求項１８または２０のいずれか記載の方法において、
前記ユーザデータ部に対する前記エラー検出および訂正動作は、
前記関連するユーザ部ＥＣＣに基づいて、前記ユーザデータ部がエラーを含むか否かを判定するステップと、
前記ユーザデータ部がエラーを含むと判定したことに応答して、前記データに対して訂正動作を実行するステップと、
を含む方法。
【請求項２２】
請求項２１記載の方法において、
前記ユーザデータ部に対する前記エラー訂正動作が首尾よく完了したならば、前記方法は、
訂正されたユーザデータ部を前記コントローラからメモリに転送するステップと、
前記訂正されたデータを前記第２の場所に書き込むステップと、
をさらに含む方法。
【請求項２３】
請求項２１記載の方法において、
前記ユーザデータ部の前記エラー訂正が首尾よく完了しなければ、前記方法は、
前記データに関連するエラーフラグをセットするステップをさらに含む方法。
【請求項２４】
請求項２３記載の方法において、
前記エラーフラグは、前記オーバーヘッド部に書き込まれる方法。
【請求項２５】
請求項１９または２０のいずれか記載の方法において、
前記ユーザデータ部に対してエラー検出および訂正動作を実行するか否かを判定するステップは、確定的メカニズムである方法。
【請求項２６】
請求項１９または２０のいずれか記載の方法において、
前記ユーザデータ部に対してエラー検出および訂正動作を実行するか否かを判定するステップは、ランダムベースであるかまたは擬似ランダムベースである方法。
【請求項２７】
請求項１９または２０のいずれか記載の方法において、
前記ユーザデータ部に対してエラー検出および訂正動作を実行するか否かを判定するステップは、サンプリングメカニズムに基づく方法。
【請求項２８】
請求項２７記載の方法において、
前記サンプリングメカニズムは、前記データに関連する前記オーバーヘッドデータに基づく方法。
【請求項２９】
請求項２８記載の方法において、
前記サンプリングメカニズムは、前記データに関連するタイムスタンプを前記データの論理アドレス情報と比較することを含む方法。
【請求項３０】
請求項２０記載の方法において、
エラー検出および訂正動作を実行する前記ステップの一部として前記データが訂正されたか否かに基づいてフラグ値をセットするステップと、
前記データが訂正されたことを示すように前記フラグ値がセットされたならば、前記訂正されたデータを前記レジスタに転送して戻すステップと、
その後にレジスタの内容を前記第２記憶場所に書き込むステップと、
をさらに含む方法。
【請求項３１】
請求項３０記載の方法において、
前記データは関連する誤り訂正符号（ＥＣＣ）を有し、前記エラー検出および訂正動作は、
前記関連するＥＣＣに基づいて前記データがエラーを含むか否かを判定するステップと、
前記関連するＥＣＣを用いて前記データを訂正するステップと、を含み、
前記フラグ値は前記訂正するステップを首尾よく完了したことに応答してセットされる方法。
【請求項３２】
請求項３１記載の方法において、
前記訂正するステップが首尾よく完了しなかったことに応答して、前記データに関連するエラーフラグをセットするステップをさらに含む方法。
【請求項３３】
請求項３２記載の方法において、
前記データはオーバーヘッド部とユーザデータ部とを含み、前記エラーフラグは前記オーバーヘッド部に書き込まれる方法。
【請求項３４】
請求項３０記載の方法において、
前記データはユーザデータ部とオーバーヘッド部とを含み、前記ユーザデータは関連する誤り訂正符号（ＥＣＣ）を有し、前記オーバーヘッド部は別の関連する誤り訂正符号（ＥＣＣ）を有し、前記データのコピーを転送するステップとエラー検出および訂正動作を実行するステップとは、
前記データを前記レジスタにおいて維持しながら前記データの前記オーバーヘッド部のコピーを前記レジスタから前記コントローラに転送するステップと、
前記コントローラにおいて前記関連するオーバーヘッドＥＣＣに基づいて前記データの前記オーバーヘッド部に対してエラー検出および訂正動作を実行し、前記データの前記オーバーヘッド部に対する訂正動作が首尾よく完了したことに応答して、訂正されたオーバーヘッド部を前記レジスタに転送して戻すステップと、
前記データの前記オーバーヘッド部に対する成功したエラー検出および訂正動作に応答して、
前記データを前記レジスタにおいて維持しながら前記データの前記ユーザ部のコピーを前記レジスタから前記コントローラに転送するステップと、
前記コントローラにおいて前記関連するユーザデータＥＣＣに基づいて前記データの前記ユーザ部に対してエラー検出および訂正動作を実行するステップと、を含み、
前記フラグ値は前記ユーザデータ部が訂正されたか否かに基づいてセットされる方法。
【請求項３５】
コピー動作中に関連する誤り訂正符号（ＥＣＣ）を有するデータが再プログラム可能な不揮発性メモリの第１の場所からメモリコントローラに転送されるのを回避する方法であって、
コピーされる前記データの劣化を最小にするためにサンプリング方法を適用するステップと、
前記データの前記ＥＣＣを所定の頻度で検査するステップであって、前記頻度が前記データの品質の顕著な劣化を回避するのに充分である、検査するステップと、
を含む方法。
【請求項３６】
請求項３５記載の方法において、
所定の選択基準は、サンプリングメカニズムを含む方法。
【請求項３７】
請求項３６記載の方法において、
前記サンプリングメカニズムは、ランダムベースである方法。
【請求項３８】
請求項３６記載の方法において、
前記サンプリングメカニズムは、確定的である方法。
【請求項３９】
請求項３６記載の方法において、
前記サンプリングメカニズムは、
前記再プログラム可能な不揮発性メモリ内の論理セクタ数に関連する複数のビットをタイムスタンプと比較して比較結果を生じさせるステップと、
前記比較結果に従ってＥＣＣを検査することを選択するステップと、
を含む方法。
【請求項４０】
関連する誤り訂正符号（ＥＣＣ）を有するデータを、メモリコントローラを含むシステムの再プログラム可能な不揮発性メモリの第１の場所から第２の場所にコピーする方法であって、
前記データを前記第１の場所から前記メモリ上のキャッシュに読み出すステップと、
所定の選択基準に基づいて前記ＥＣＣを検査するか否かを判定し、ＥＣＣ検査が選択されなければ前記メモリに前記データを前記キャッシュから前記第２の場所にコピーさせるステップと、
ＥＣＣ検査が選択されたならば、前記コントローラにおいて前記読み出されたデータについて前記ＥＣＣを検査するステップと、を含み、この検査するステップは、
ＥＣＣエラーが発見されたならば、前記コントローラにおいて前記読み出されたデータについて前記ＥＣＣエラーを訂正し、前記コントローラにその訂正されたデータを前記メモリの前記第２の場所に書き込ませるステップと、
ＥＣＣエラーが発見されなければ、前記メモリに前記データを前記キャッシュから前記第２の場所にコピーさせるステップと、
を含む方法。
【請求項４１】
請求項４０記載の方法において、
前記所定の選択基準は、サンプリングメカニズムを含む方法。
【請求項４２】
請求項４１記載の方法において、
前記サンプリングメカニズムは、ランダムベースである方法。
【請求項４３】
請求項４１記載の方法において、
前記サンプリングメカニズムは、確定的である方法。
【請求項４４】
請求項４１記載の方法において、
前記サンプリングメカニズムは、
前記再プログラム可能な不揮発性メモリ内の論理セクタ数に関連する複数のビットをタイムスタンプと比較して比較結果を生じさせるステップと、
前記比較結果に従ってＥＣＣを検査することを選択するステップと、
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再プログラム可能な不揮発性メモリシステムおよびその動作に関し、特にデータをコピーするための手法に関する。
【背景技術】
【０００２】
最プログラム可能な不揮発性メモリ製品は、特に、サンディスク  コーポレーションを含む様々なベンダにより生産されているコンパクトフラッシュカード（ＣＦ）、セキュアデジタルカード（ＳＤ）、マルチメディアカード（ＭＭＣ）およびメモリスティックカードのような小形形状のファクタカードの形で今日商業的に成功し広く入手可能である。このようなカードは、通常、フラッシュＥＥＰＲＯＭ（電気的に消去可能でプログラム可能な読み出し専用メモリ）メモリセルのアレイを使用する。フラッシュＥＥＰＲＯＭメモリセルアレイは、通常、ＮＯＲアレイまたはＮＡＮＤアレイとして生産される。
【０００３】
ＮＯＲアレイ
代表的なＮＯＲアレイでは、メモリセルは列方向に延びる隣り合うビット線ソースおよびドレイン拡散の間に接続され、コントロールゲートはセルの行に沿って延びるワード線に接続される。１つの代表的なメモリセルはソースおよびドレイン拡散の間に“分離チャネル”を有する。セルの電荷記憶素子はチャネルの一部分上に配置され、ワード線（コントロールゲートとも称される）は他のチャネル部分上に、また電荷記憶素子上に、配置される。これは実際上直列の２つのトランジスタを有するセルを形成し、その一方（メモリトランジスタ）は、電荷記憶素子上の電荷量と、チャネルのその部分を通って流れることのできる電流量を制御するワード線上の電圧との組み合わせを有し、他方（選択トランジスタ）はそのゲートとして作用するワード線だけを有する。ワード線は電荷記憶素子の行の上を延びる。このようなセルの例と、メモリシステムにおけるその使用と、それらを製造する方法とが、米国特許第５，０７０，０３２号（特許文献１）、第５，０９５，３４４号（特許文献２）、第５，３１５，５４１号（特許文献３）、第５，３４３，０６３号（特許文献４）、および第５，６６１，０５３号（特許文献５）、および１９９９年１月２７日に出願された同時係属中の米国特許出願第０９／２３９，０７３号（特許文献６）に示されている。
【０００４】
この分離チャネルフラッシュＥＥＰＲＯＭセルの１つの改変形は、電荷記憶素子とワード線との間に配置されるステアリングゲートを加える。アレイの各ステアリングゲートは、ワード線に対して垂直な電荷記憶素子の１つの列の上を延びる。その効果は、選択されたセルを読み出し或いはプログラムするときにワード線が同時に２つの機能を実行しなくてもよくすることである。これら２つの機能は、（１）選択トランジスタのゲートとして作用して、選択トランジスタをオンおよびオフに転換させるために適切な電圧を要求することと、（２）ワード線と電荷記憶素子との間の電界（容量）結合を通して電荷記憶素子の電圧を所望のレベルに押しやることである。単一の電圧でこれらの機能の両方を最適に実行することはしばしば困難である。ステアリングゲートを加えることで、ワード線は機能（１）を実行するだけでよくなる一方、加えられたステアリングートは機能（２）を実行する。フラッシュＥＥＰＲＯＭアレイにおけるステアリングゲートの使用は、例えば、米国特許第５，３１３，４２１号（特許文献７）および第６，２２２，７６２号（特許文献８）に記載されている。
【０００５】
ゲート誘電体を通して基板からフローティングゲート記憶素子に電子を注入するプログラミング手法がいろいろある。非常に一般的なプログラミングメカニズムが、ブラウンおよびブリュワーにより編集された本“不揮発性半導体メモリ技術”，ＩＥＥＥプレス，１．２項，９〜２５頁（１９９８年） (A Book edited by Brown and Brewer, “Nonvolatile Semiconductor Memory Technology," IEEE Press, section 1.2, pages 9-25 (1998)（非特許文献１）に記載されている。チャネル“ホットエレクトロン注入”（セクション１．２．３）と称される１つの手法は、電子をセルのチャネルからセルのドレインに隣接するフローティングゲートの領域に注入する。“ソース側注入”（セクション１．２．４）と称される別の手法は、ドレインから離れたチャネルの領域に電子注入のための条件を作り出すようにメモリセルチャネルの長さに沿って基板表面電位を制御する。ソース側注入は、カミヤらによる論文“高ゲート注入効率を有するＥＰＲＯＭセル”，ＩＥＤＭ技術ダイジェスト，１９８２年、７４１〜７４４頁 (Kamiya et al., “EPROM Cell with High Gate Injection Efficiency," IEDM Technical Digest, 1982, pages 741-744)（非特許文献２）、並びに米国特許第４，６２２，６５６号（特許文献９）および第５，３１３，４２１号（特許文献７）にも記載されている。
【０００６】
メモリセルを消去するために電荷記憶素子から電荷を除去するための２つの手法が、前述した２つのタイプのＮＯＲメモリセルアレイの両方で使用される。１つは、記憶素子と基板との間の誘電体層の部分をトンネル効果で電子が通過させられる適切な電圧をソース、ドレインおよび他のゲートに印加することによって基板まで消去することである。他の消去手法は、電子を記憶素子から他のゲートへそれらの間に位置するトンネル誘電体層を通して移動させることである。前述した第１のタイプのセルでは、その目的のために第３の消去ゲートが設けられる。ステアリングゲートを用いているために既に３つのゲートを有する前述した第２のタイプのセルでは、第４のゲートを付け加えることを必要とせずに、電荷記憶素子はワード線まで消去される。この後者の手法は、逆戻りして、ワード線により実行されるべき第２の機能を加えるけれども、これらの機能は別々のときに実行され、従って２つの機能のために妥協をする必要性を回避する。どちらの消去手法が利用されるときにも、同時に“一瞬”のうちに消去されるように多数のメモリセルがグループ分けされる。１つのアプローチでは、そのグループはディスクセクタに格納されるユーザデータ量、すなわち５１２バイトに加えて或る程度のオーバーヘッドデータ、を格納するのに充分なメモリセルを含む。別のアプローチでは、各グループは、多数のディスクセクタ分のデータに等しい数千バイトのユーザデータを保持するのに充分なセルを包含する。マルチブロック消去、欠陥管理および他のフラッシュＥＥＰＲＯＭシステム機能が、米国特許第５，２９７，１４８号（特許文献１０）に記載されている。
【０００７】
殆ど全ての集積回路の用途の場合と同じく、或る集積回路機能を実現するために必要とされるシリコン基板面積を小さくする圧力がフラッシュＥＥＰＲＯＭシステムに関しても存在する。所与のサイズのメモリカードおよび他のタイプのパッケージの記憶容量を増やすために、或いは容量を増やしかつサイズを小さくするために、シリコン基板の所与の領域に格納され得るデジタルデータ量を増やすことがしばしば望まれる。データの記憶容量を増やす１つの方法は、メモリセルあたりに１ビットより多いデータを格納することである。これは、記憶素子電荷レベル電圧範囲のウィンドウを２つより多い状態に分割することによって達成される。そのような状態を４つ用いることにより各セルは２ビットのデータを記憶することができ、８個の状態はセルあたりに３ビットを記憶させるなどである。多状態フラッシュＥＥＰＲＯＭ構造および動作が、米国特許第５，０４３，９４０号（特許文献１１）および第５，１７２，３３８号（特許文献１２）に記載されている。
【０００８】
別の１つのタイプのメモリセルは、各記憶素子において多状態でも操作され得る２つの記憶素子を含む。このタイプのセルでは、２つの記憶素子がソースおよびドレイン拡散の間でそのチャネル上に含まれ、それらの間に選択トランジスタがある。ステアリングゲートが記憶素子の各列に沿って含まれ、ワード線がその上に記憶素子の各行に沿って設けられる。読み出しまたはプログラミングのために所与の記憶素子にアクセスするとき、関心対象である記憶素子を含むセルの他方の記憶素子上のステアリングゲートは、その他方の記憶素子の下のチャネルを、それにどのくらいの電荷レベルが存在するしても、オンに転換させるのに充分に高められる。これは、同じメモリセル内の関心対象である記憶素子を読み出しまたはプログラムするときの要素としての他方の記憶素子を実際上除去する。例えば、その状態を読み出すために使用され得る、セルを通って流れる電流量は、同じセル内の他方の記憶素子ではなく関心対象である記憶素子上の電荷量の関数である。このセルアレイ構造および操作手法の例が、米国特許第５，７１２，１８０号（特許文献１３）、第６，１０３，５７３号（特許文献１４）、および第６，１５１，２４８号（特許文献１５）に記載されている。
【０００９】
ＮＡＮＤアレイ
別の１つのフラッシュＥＥＰＲＯＭ構造はＮＡＮＤアレイを利用し、そのアレイでは、１６個または３２個などの、２つより多いメモリセルの直列ストリングが１つ以上の選択トランジスタと共に個々のビット線と基準電位との間に接続されてセルの列を形成する。ワード線は、多数のこれらの列の中でセルを横断して延びる。列内の個々のセルは、ストリングを流れる電流がアドレス指定されたセルに蓄積されている電荷のレベルに依存するようにストリング中の残りのセルをオンに転換しにくくすることによって、プログラミング中に読み出されベリファイされる。メモリシステムの一部としてのＮＡＮＤ構造のアレイおよびその動作の例が、米国特許第５，５７０，３１５号（特許文献１６）、第５，７７４，３９７号（特許文献１７）、および第６，０４６，９３５号（特許文献１８）で見出される。
【００１０】
前に援用されている特許および論文において論じられている、現行のフラッシュＥＥＰＲＯＭアレイの電荷記憶素子は、最も一般的には、ドープされたポリシリコン材料から通常形成される、導電性フローティングゲートである。フラッシュＥＥＰＲＯＭシステムにおいて有益な別の１つのタイプのメモリセルは、電荷を不揮発的に蓄積するために伝導性フローティングゲートの代わりに非伝導性誘電体材料を利用する。そのようなセルが、チャンらの論文“真の単一トランジスタ酸化物−窒化物−酸化物ＥＥＰＲＯＭデバイス”，ＩＥＥＥ電子デバイスレターズ，第ＥＤＬ−８巻，第３号，１９８７年３月，９３〜９５頁 (Chan et al., “A True Single-Transistor Oxide-Nitride-Oxide EEPROM Device",IEEE Electron Device Letters, Vol. EDL-8, No. 3, March 1987, pp. 93-95) （非特許文献３）に記載されている。酸化ケイ素、窒化ケイ素および酸化ケイ素から成る３層誘電体（“ＯＮＯ”）が、伝導性コントロールゲートと、メモリセルのチャネル上の半伝導性基板の表面との間に挟まれる。セルは、電子をセルチャネルから窒化物に注入することによってプログラムされ、そこで電子は限られた領域に捕獲され蓄積される。この蓄積された電荷は、セルのチャネルの一部分のしきい値電圧を検出可能な仕方で変化させる。セルは、窒化物にホットホールを注入することによって消去される。ノザキら，“半導体ディスク用途のためのＭＯＮＯＳメモリセルを有する１Ｍｂ  ＥＥＰＲＯＭ”，ＩＥＥＥ固体回路ジャーナル，第２６巻，第４号，１９９１年４月，４９７〜５０１頁 (Nozaki et al., “A 1-Mb EEPROM with MONOS Memory Cell for Semiconductor Disk Application,” IEEE Journal of Solid-State Circuits, Vol. 26, No. 4, April 1991, pp. 497-501) （非特許文献４）も参照されたい。これは、ドープされたポリシリコンゲートがメモリセルチャネルの一部分上を延びて別の選択トランジスタを形成する分離ゲート構成の類似セルについて説明している。
【００１１】
米国特許第５，８５１，８８１号（特許文献１９）は、メモリセルのチャネル上に互いに隣接して配置された２つの記憶素子の使用について説明し、その一方はそのような誘電体素子であり、他方は伝導性フローティングゲートである。２ビットのデータが、１つは誘電体素子に、他方はフローティングゲートに、格納される。メモリセルは、２つのゲートの各々を２つの異なる電荷レベル範囲の一方にプログラムすることによって、４つの記憶状態の１つを表す、４つの異なるしきい値レベルの組み合わせの１つにプログラムされる。
【００１２】
誘電体記憶素子を利用する各セルに２ビットを格納するための別のアプローチがエイタンら，“ＮＲＯＭ：新規な局所トラッピング、２ビットの不揮発性メモリセル”，ＩＥＥＥ電子デバイスレターズ，第２１巻，第１１号，２０００年１１月，５４３〜５４５頁 (Eitan et al., “NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, Vol. 21, No. 11, November 2000, pp. 543-545) （非特許文献５）に記載されている。ＯＮＯ誘電体層がソースおよびドレイン拡散の間でチャネルを横断して延びる。１つのデータビットのための電荷はドレインに隣接する誘電体層に局在させられ、他方のデータビットのための電荷はソースに隣接する誘電体層に局在させられる。誘電体内の空間的に分離された電荷蓄積領域のバイナリ状態を別々に読み出すことによって多状態データ記憶が得られる。
【００１３】
大きな消去ブロック
代表的な不揮発性フラッシュアレイのメモリセルは、一緒に消去されるセルの別々のブロックに分けられる。すなわち、ブロックは消去単位である。各ブロックは通常１ページ以上のデータを記憶し、ページはプログラミングおよび読み出しの単位であるが、単一の動作で１ページより多くのページがプログラムされ或いは読み出されてもよい。各ページは通常１セクタ以上のデータを記憶し、セクタのサイズはホストシステムにより定められる。一例は、磁気ディスクドライブに関して確立された標準規格に従う５１２バイトのユーザデータと、これに加えられる、そのユーザデータにかつ／またはそれが格納されているブロックに関する数バイトのオーバーヘッド情報とのセクタである。
【００１４】
時には書き込み動作用ブロックを解放するためにブロックを消去する必要がある。この場合、消去されるべきブロック（元ブロック）内のデータの有効なページは、元ブロックを消去する前に合併されて他のブロック（更新ブロック）にコピーされる。このプロセスは“ガーベッジコレクション”と呼ばれる。ガーベッジコレクション中、元ブロックからのデータの残りの有効なページは元ブロックから更新ブロックにコピーされる。コピー動作が完了すると、元ブロックは消去され、その後に更新ブロックは元ブロックに成る。
【００１５】
通常、ガーベッジコレクションに関する前述したもののようなコピー動作は、メモリコントローラの関与を必要とする。１つの場所から他の場所へデータをコピーする動作の速度を改善するための１つの手法は、オンチップコピーと呼ばれる機能を用いることによってコピー動作へのコントローラの関与を減少させることである。オンチップコピーは、全てのデータをコントローラに転送し、その後にメモリに戻す動作を行わずにデータを読み出し、改変し、メモリに書き戻すことのできる機能を提供する。オンチップコピーは、データがコントローラへ転送されることを必要とせずにメモリセルアレイにおいてデータを１つの場所から他の場所へコピーする機能性を提供する。この手法が、米国特許第６，２６６，２７３号（特許文献２０）に記載され、本発明の譲受人であるサンディスク  コーポレーションに譲渡されている。
【００１６】
前に特定された特許、特許出願、論文および書籍の部分は、その全体がこの「背景技術」の欄に明確に参照により援用されている。
【特許文献１】米国特許第５，０７０，０３２号
【特許文献２】米国特許第５，０９５，３４４号
【特許文献３】米国特許第５，３１５，５４１号
【特許文献４】米国特許第５，３４３，０６３号
【特許文献５】米国特許第５，６６１，０５３号
【特許文献６】米国特許出願第０９／２３９，０７３号
【特許文献７】米国特許第５，３１３，４２１号
【特許文献８】米国特許第６，２２２，７６２号
【特許文献９】米国特許第４，６２２，６５６号
【特許文献１０】米国特許第５，２９７，１４８号
【特許文献１１】米国特許第５，０４３，９４０号
【特許文献１２】米国特許第５，１７２，３３８号
【特許文献１３】米国特許第５，７１２，１８０号
【特許文献１４】米国特許第６，１０３，５７３号
【特許文献１５】米国特許第６，１５１，２４８号
【特許文献１６】米国特許第５，５７０，３１５号
【特許文献１７】米国特許第５，７７４，３９７号
【特許文献１８】米国特許第６，０４６，９３５号
【特許文献１９】米国特許第５，８５１，８８１号
【特許文献２０】米国特許第６，２６６，２７３号
【特許文献２１】米国特許出願第０９／７９３，３７０号
【特許文献２２】米国特許第５，８８７，１４５号
【特許文献２３】米国特許出願第１０／８４６，２８９号
【特許文献２４】米国特許出願第１０／８４１，３７９号
【特許文献２５】米国特許第６，３４５，００１号
【非特許文献１】ブラウンおよびブリュワーにより編集された本“不揮発性半導体メモリ技術”，ＩＥＥＥプレス，１．２項，９〜２５頁（１９９８年）
【非特許文献２】カミヤらによる論文“高ゲート注入効率を有するＥＰＲＯＭセル”，ＩＥＤＭ技術ダイジェスト，１９８２年、７４１〜７４４頁
【非特許文献３】チャンらの論文“真の単一トランジスタ酸化物−窒化物−酸化物ＥＥＰＲＯＭデバイス”，ＩＥＥＥ電子デバイスレターズ，第ＥＤＬ−８巻，第３号，１９８７年３月，９３〜９５頁
【非特許文献４】ノザキら，“半導体ディスク用途のためのＭＯＮＯＳメモリセルを有する１Ｍｂ  ＥＥＰＲＯＭ”，ＩＥＥＥ固体回路ジャーナル，第２６巻，第４号，１９９１年４月，ｐ４９７〜５０１頁
【非特許文献５】エイタンら，“ＮＲＯＭ：新規な局所トラッピング、２ビットの不揮発性メモリセル”，ＩＥＥＥ電子デバイスレターズ，第２１巻，第１１号，２０００年１１月，５４３〜５４５頁
【発明の開示】
【００１７】
一般的に、本発明はデータ再配置動作の方法を提供し、それらの方法ではデータは再プログラム可能な不揮発性メモリシステムの第１の記憶場所から第２の記憶場所にコピーされる。データは、第１の場所からメモリ上のレジスタまたはバッファメモリに読み出され、その後に第２の場所に直接コピーされるかまたはシステムのコントローラに転送され、ここではデータが検査され得、また必要ならばその関連する誤り訂正符号（ＥＣＣ）に基づいて訂正され得る。本発明の第１の態様において、性能を改善するために、各データコピーのためにＥＣＣを検査する必要はない。むしろ、所定の選択基準に基づいてＥＣＣを選択的に検査することができる。ＥＣＣ検査が選択されない場合、メモリは、第１の場所から第２の場所へのデータのオンチップコピーを実行させられ、さもなければＥＣＣエラーが発見されたか否かに基づいて前述したように続行される。その所定の選択基準はサンプリングメカニズムであって良く、それはランダムベースであるかまたは確定的であって良い。
【００１８】
本発明の別の態様は、第１の態様と組み合わされ或いは独立に用いられることができ、この態様では転送フラグ方法が採用される。エラー検出および訂正動作のためにデータがコントローラに転送されるか否かに基づいて、転送フラグ値がセットされる。データがホストに転送され、そしてエラー訂正が不要であると判定されれば、フラグはセットされず、エラー訂正動作が必要とされて首尾よく実行されれば転送フラグがセットされる。訂正された形のデータを第２の場所にコピーするためにメモリに戻す必要があるか否かの判定は、フラグ値に基づく。
【００１９】
本発明のさらに別の態様において、データがユーザデータ部とヘッダまたはオーバーヘッド部とから成っていて、これらの部分の各々が自身の関連するＥＣＣを有するときには、オーバーヘッド部のエラー検出および訂正動作はユーザデータ部のそれとは別に処理され得る。代表的な実施形態では、オーバーヘッドはエラー検出および訂正のために最初にコントローラに転送される。ユーザデータも処理されるべきであるならば、それは後に続く。特に、ユーザデータを転送するか否かを決定するために使われるサンプリングメカニズムの一例は、オーバーヘッドの内容に基づく。
【００２０】
本発明の付加的な態様、特徴および利点は、添付されている図面と関連させて検討されるべきである特定の代表的な実施形態についての以下の説明に含まれる。
【発明を実施するための最良の形態】
【００２１】
図１は、本発明が実施され得る第１の不揮発性メモリシステムのブロック図である。個別にアドレス指定できる多数のメモリセル１１が行および列の規則的アレイを成して配列されているが、セルの他の物理的配置も確かに可能である。このシステムは、前に背景技術の欄において、また本願明細書において参照により援用されている参考文献において記載されているように、アレイ１１がＮＯＲタイプであるために特に適している。本願明細書においてセルのアレイ１１の列に沿って延びるとされるビット線は、線１５を通してビット線復号器兼ドライバ回路１３と電気的に接続される。ワード線は、本願明細書ではセルのアレイ１１の行に沿って延びるとされ、線１７を通してワード線復号器兼ドライバ回路１９に電気的に接続される。ステアリングゲートは、アレイ１１においてメモリセルの列に沿って延び、線２３を通してステアリングゲート復号器兼ドライバ回路２１に電気的に接続される。復号器１３，１９および２１の各々は、メモリコントローラ２７からバス２５を介してメモリセルアドレスを受け取る。この復号器兼ドライバ回路は、各々の制御およびステータス信号線２９，３１および３３を介してもコントローラ２７に接続される。ステアリングゲートおよびビット線に印加される電圧は、復号器兼ドライバ回路１３および２１を相互接続するバス２２を通して調整される。コントローラは、揮発性ランダムアクセスメモリ（ＲＡＭ）２８を含む種々のタイプのレジスタおよび他のメモリを含む。
【００２２】
コントローラ２７は、線３５を通してホスト装置（図示せず）に接続可能である。ホストは、パーソナルコンピュータ、ノートブック形コンピュータ、デジタルカメラ、オーディオプレーヤ、他の種々のハンドヘルド電子装置などであり得る。図１のメモリシステムは、ＰＣＭＣＩＡ、コンパクトフラッシュ（登録商標）協会、ＭＭＣ（登録商標）協会およびその他からのものなどの、幾つかの現存する物理的および電気的標準規格のうちの１つに従うカードにおいて一般的に実現される。カードフォーマットであるときには、線３５の端部は、ホスト装置の相補形コネクタとインターフェイスするカード上のコネクタである。多くのカードの電気的インターフェイスはＡＴＡ標準規格に従い、この規格ではメモリシステムはホストに対してあたかもそれが磁気ディスクドライブであるかのように見える。他のメモリカードインターフェイス標準規格も存在する。カードフォーマットに代わるものとして、図１に示されているタイプのメモリシステムはホスト装置に永久的に組み込まれても良い。
【００２３】
プログラミング、読み出しおよび消去機能を実行するために、復号器兼ドライバ回路１３，１９および２１は、バス２５を介してアドレス指定されたアレイ１１の各々の線に、各々の制御およびステータス線２９，３１および３３の制御信号に従って適切な電圧を発生させる。電圧レベルおよび他のアレイのパラメータを含むステータス信号は、アレイ１１により同じ制御およびステータス線２９，３１および３３を介してコントローラ２７に供給される。回路１３内の複数のセンス増幅器は、アレイ１１内のアドレス指定されたメモリセルの状態を示す電流または電圧レベルを受け取って、それらの状態に関する情報を読み出し動作中に線４１を介してコントローラ２７に提供する。多数のメモリセルの状態を並列に読み出せるように、多数のセンス増幅器が普通使用される。読み出しおよびプログラミング動作中、回路１３および２１により選択されたアドレス指定された行の中の或る数のセルにアクセスするために回路１９を通して一度に一行のセルが通常アドレス指定される。消去動作中、多数の行のうちの各々の行の全てのセルが１つのブロックとして同時消去のために通常一緒にアドレス指定される。
【００２４】
図１に示されているようなメモリシステムの動作は、前に背景技術の欄のＮＯＲアレイのセクションにおいて特定された特許および論文と、本願の譲受人であるサンディスク
コーポレイションに譲渡された他の特許とにさらに記載されている。さらに、２００１年２月２６日に出願された米国特許出願第０９／７９３，３７０号（特許文献２１）は、データプログラミング方法を説明している。この特許出願は、その全体が本願明細書において参照により援用されている。
【００２５】
図２は、本発明が実施され得る別の不揮発性メモリシステムのブロック図である。メモリセルアレイ１は、マトリックスを成して配列された複数のメモリセルＭを含み、列制御回路２、行制御回路３、ｃソース制御回路４およびｃ−ｐウェル制御回路５によって制御される。メモリセルアレイ１は、前に背景技術の欄において、またその全体が参照により援用されている参考文献において説明されているＮＡＮＤタイプのものであり得る。制御回路２は、メモリセル（Ｍ）に格納されているデータを読み出し、プログラミング動作中にメモリセル（Ｍ）の状態を判定し、プログラミングを促進しまたはプログラミングを抑制するべくビット線（ＢＬ）の電位レベルを制御するために、メモリセルアレイ１のビット線（ＢＬ）に接続される。行制御回路３は、ワード線（ＷＬ）のうちの１つを選択し、読み出し電圧を印加し、列制御回路２により制御されるビット線電位レベルと組み合わされるプログラミング電圧を印加し、メモリセル（Ｍ）が上に形成されているｐ形領域の電圧と結合される消去電圧を印加するために、ワード線（ＷＬ）に接続される。ｃソース制御回路４は、メモリセル（Ｍ）に接続された共通ソース線（図２において“ｃソース”と称されている）を制御する。ｃ−ｐウェル制御回路５は、ｃ−ｐウェル電圧を制御する。
【００２６】
メモリセル（Ｍ）に格納されたデータは、列制御回路２により読み出され、Ｉ／Ｏ線およびデータ入出力バッファ６を介して外部Ｉ／Ｏ線に出力される。メモリセルに格納されるべきプログラムデータは、外部Ｉ／Ｏ線を介してデータ入出力バッファ６に入力され、列制御回路２に転送される。外部Ｉ／Ｏ線はコントローラ４３に接続される。コントローラ４３は、通常揮発性ランダムアクセスメモリ（ＲＡＭ）５０の中に種々のタイプのレジスタおよび他のメモリを含む。
【００２７】
フラッシュメモリ装置を制御するためのコマンドデータは、コントローラ４３と接続された外部制御線に接続されたコマンド回路７に入力される。コマンドデータは、どんな動作が要求されているかをフラッシュメモリに知らせる。入力されたコマンドは、列制御回路２、行制御回路３、ｃソース制御回路４、ｃ−ｐウェル制御回路５、およびデータ入出力バッファ６を制御する状態マシン８に転送される。状態マシン８は、ＲＥＡＤＹ／ＢＵＳＹ（レディ／ビジー）またはＰＡＳＳ／ＦＡＩＬ（パス／フェイル）のようなフラッシュメモリのステータスデータを出力することができる。状態マシン８も数個のレジスタおよび他の揮発性ランダムアクセスメモリ４５を含む。
【００２８】
コントローラ４３は、パーソナルコンピュータ、デジタルカメラ、または個人用携帯情報端末（ＰＤＡ）のようなホストシステムと接続されるかまたは接続可能である。メモリアレイ１にデータを格納し或いはメモリアレイ１からデータを読み出すなどのコマンドを開始し、そしてそのようなデータを提供し或いは受け取るのはホストである。コントローラは、そのようなコマンドを、コマンド回路７により解釈され実行され得るコマンド信号に変換する。コントローラは、通常、メモリアレイに書き込まれ或いはメモリアレイから読み出されるユーザデータのためのバッファメモリも含む。代表的なメモリシステムは、コントローラ４３を含む１つの集積回路チップ４７と、メモリアレイおよび関連する制御回路、入出力回路、および状態マシン回路を各々含む１つ以上の集積回路チップ４９とを含む。もちろん、システムのメモリアレイとコントローラ回路とを１つ以上の集積回路チップに統合することが趨勢である。
【００２９】
図１および２のメモリシステムのいずれも、ホストシステムの一部として組み込まれて良く、或いはホストシステムの差込ソケットに取り外し可能に挿入され得るメモリカードに含まれても良い。そのようなカードはメモリシステム全体を包含することができ、或いはコントローラおよびメモリアレイは、関連する周辺回路と共に、別々のカードに設けられても良い。幾つかのカードの実施例が、例えば、米国特許第５，８８７，１４５号（特許文献２２）に記載されている。この特許は、その全体が本願明細書において参照により明確に援用されている。
【００３０】
図３は、図１または２のメモリシステムのいずれかにおいて関連する誤り訂正符号（ＥＣＣ）を有するデータをコピーするための代表的なシステムを示すブロック図である。図３は、データの１つのページが１つの場所から他の場所に書き込まれるときのコントローラ２７，４３とメモリの１つのブロック３２０との間の相互作用を示す。メモリのブロック３２０は、複数のページを場所３１０，３１５，３２５に含む。場所３２５において示されているページは、メモリ内の代表的なページの内容を示し、ユーザデータ３３０とオーバーヘッド３３５とを含む。ヘッダとも称されるオーバーヘッド３３５は、ヘッダＥＣＣ３４０とデータＥＣＣ３４５とを含む。他の実施形態では、ヘッダとデータとの両方をカバーするために単一のＥＣＣが用いられる。オーバーヘッド３３５は、ユーザデータに関するか、または例えばプログラミング電圧などのそのページまたはブロックの特徴を示す付加的なデータ３５０も含む。場所３１０および３１５のページは同様にユーザデータとオーバーヘッドデータとを含むけれども、これらのデータは図解の便宜のために示されていない。
【００３１】
データ再配置動作は、矢印３６５のように、１単位のデータをメモリ３２０内の第１の場所から第２の場所に移すことから成る。代表的な実施形態では、これは、データのページを矢印３６５ａにより示されているように場所１  ３１０からメモリレジスタ３９０に移し、その後に矢印３６５ｂにより示されているように場所２  ３１５に移すことから成る。そのデータページが検査されないのであれば、データはコントローラには送られない。ページが検査されるのであれば、レジスタへの転送後、第１の場所３１０内の１つのページからのデータはコントローラ回路２７内のバッファまたはキャッシュ（２８，５０）に転送され、ここでＥＣＣ回路３０５を用いてＥＣＣ検査が実行される。メモリ内の第１の場所からコントローラへのデータ転送は矢印３５５により示されている。図１および２に各々示されているシステムのコントローラ２７，４３とメモリアレイ１１，１との間のコマンド／ステータス信号は、トランザクションを実行するための手段を提供し、例えばファームウェアで実現され得る。
【００３２】
ＥＣＣエラーがあれば、エラーは訂正され、訂正されたデータは、矢印３６０により示されているようにメモリ内の第２の場所３１５に転送され、その後に第２の場所３１５に転送される。しかし、ＥＣＣエラーがなければ、オンチップコピーを実行することができ、従って読み出されたデータをコントローラからメモリに書き戻す必要を回避することができる。オンチップコピー動作は矢印３６５ａおよび３６５ｂにより示され、場所３１０に存するページはメモリアレイ１，１１のブロック３２０内の場所３１５にコピーされる。（使用される構造によっては数個のそのようなレジスタまたはバッファ３９０がメモリ上にあっても良く、例えば、各メモリプレーンは読み出しおよび書き込みの際のデータのキャッシングのためにマスタ−スレーブ構成を持つことができる。）
【００３３】
図４は、関連する誤り訂正符号（ＥＣＣ）を有するデータをコピーするときの図１または２のメモリシステムのいずれか一方の代表的なコピー動作を示すフローチャート４００である。フローチャート４００は、メモリコントローラ２７，４３を含むシステムの再プログラム可能な不揮発性メモリの第１の場所から第２の場所へデータをコピーする方法を示す。そのデータは、関連する誤り訂正符号（ＥＣＣ）を有する。ＥＣＣは、メモリにおけるデータ転送の間に生じるエラーを訂正するために使用される。
【００３４】
コピー動作は（４０１）で開始され、コピーされるべきデータが（４０５）で第１の場所からメモリレジスタに読み出され、その後にコントローラに読み出される。コントローラ内に読み出されたデータは、そのデータから計算されてそれらと共に同じページまたは他の場所にプログラムされたＥＣＣを含む。図３に示されているシステムの例では、ＥＣＣは同じページにプログラムされるが、ＥＣＣは他の場所に格納されても良い。読み出されたデータに関するＥＣＣは、あり得るＥＣＣエラーを明らかにするために（４１０）で検査される。（４１５）で、ＥＣＣエラーが発見されたか否かが判定される。ＥＣＣエラーが発見されたならば、（４２５）でコントローラ内の読み出されたデータ上のエラーが訂正され、（４３０）でコントローラは、その訂正されたデータをメモリの第２の場所に書き込まされ、このようにして（４９９）でコピー動作を完了させる。エラーが訂正され得なければ、コピー動作は中断されるか、或いは中断される前に数回再試行される。ＥＣＣエラーが発見されなければ、（４２０）でメモリはデータを第１の場所から第２の場所にコピーさせられる。従って、ＥＣＣエラーがなくてデータが訂正を必要としなければ、メモリに保持されているコピーを第２の場所に直接書き込むことができる。これは、データをメモリに書き戻すプロセスにコントローラが関与しなくてもよいという利点を提供し、従ってＥＣＣを検査することの利益を維持しながらコピー動作を高速化する。
【００３５】
本発明は、データ再配置プロセスをさらに改善する態様を幾つか有する。この態様およびそれらの種々の組み合わせが図５〜１０のフローチャートに示されている。図５は、ＥＣＣが全ての再配置動作で検査されるのではなくて、再配置のサブセットについてのみ検査されるという態様を加えている。そのサブセットは、例えば、確定的にまたはランダム（もしくは擬似ランダム）ベースに決定され得る。これは、再配置される各々のデータセットについてデータをコントローラに転送する必要を省く。図６は、図３に示されているように各セクタにおいてユーザデータとオーバーヘッドとについて別々のＥＣＣコードが使用される場合を利用する。これは、ヘッダＥＣＣとデータＥＣＣとを別々に処理することを可能にする。図７は、データがコントローラからホストに転送されて戻されるか否かを示すフラグ構造の導入を含む幾つかの特徴を図６に付け加えてその性能を改善する。図８は、サンプリングメカニズムを図６の実施形態に付け加えて性能をさらに改善する。サンプリングメカニズムは図５の手法の変形例であり、データＥＣＣを検査するか否かの決定はサンプリングに基づいて決定される。図９は、図７および８のプロセスを組み合わせる。最後に、図１０は、図８に似てはいるが、セクタ全体について単一のＥＣＣのみが使用される場合についての図である。従って、図１０は、図５にも似ているが、ここでは所与のデータセットを検査するか否かの決定はサンプリングに基づく。
【００３６】
前述した再配置方法の全ては、本願明細書において参照により援用されている２００４年５月１３日に出願された米国特許出願第１０／８４６，２８９号（特許文献２３）の手法を組み入れることによってさらに改善され得る。さらに、本発明の種々の態様は図１および２に示されている代表的なフラッシュＥＥＰＲＯＭメモリに関して提示されるが、それらの態様は、本願明細書において参照により援用されている２００４年５月７日に出願された米国特許出願第１０／８４１，３７９号（特許文献２４）に記載されている種々の不揮発性メモリシステムに一般的に適用可能である。
【００３７】
図５は、関連するＥＣＣを有するデータをコピーするときの図１または２のメモリシステムのいずれかの代表的なコピー動作を示すフローチャート５００である。このコピー動作は、データを第１の場所からデータレジスタに読み出した（４０５）後にＥＣＣを検査するか否かを決定する（５３５）付加的機能を提供する。決定（５３５）は、所定の選択基準に基づいて行われ得る。本発明の代表的な実施形態では、所定の選択基準はサンプリングメカニズムであり得る。サンプリングメカニズムは、ランダムベースであるかまたは確定的なアルゴリズムを用いて実現され得る。例えば、ランダムベースのサンプリングメカニズムは、ＥＣＣがランダムな間隔を置いて検査されると規定するランダムベースのアルゴリズムを使用することができる。そのようなランダムベースのアルゴリズムは公知である。例えば、米国特許第６，３４５，００１号（特許文献２５）を参照されたい。この特許は、その全体が本願明細書において参照により援用され、この特許の場合にはそのようなアルゴリズムは、少し違う環境において、不揮発性メモリに適用される。確定的なサンプリングについて、サンプリングメカニズムは、ＥＣＣが例えば４つのコピー動作に１度ずつ検査されると規定することができる。或いは、ＥＣＣは全てのコピー動作に関して例外なく検査され得る。全てのコピー動作でＥＣＣを検査することは高い信頼性を提供してコピーエラーを防止するが、実行の速度に関してのトレードオフを必要とする。
【００３８】
本発明の代表的な実施形態では、サンプリングメカニズムは、例えばオーバーヘッドデータ３３５に含まれるビットおよびフラグなどの、システムにとって使用可能なビットを使用することができる。図３に示されている例では、ユーザデータＥＣＣおよびヘッダデータＥＣＣはオーバーヘッドデータ３３５に含まれるが、ＥＣＣのほかにオーバーヘッドデータ３３５は部分３５０も含む。オーバーヘッドデータ部３５０は、論理ブロックアドレス（ＬＢＡ）およびタイムスタンプを含み、また例えばデータフラグ、ブロックタイプのフラグ、用途特化フラグ、およびブロックフラグなどのいろいろなフラグを含むことができる。ＬＢＡはページタグと論理ブロック番号（ＬＢＮ）とを含む。ページタグは、ブロック内の論理ページを示し、プレーンまたはメモリサブアレイに関連することができる。ＬＢＮは、物理ブロック内のデータをその論理ブロックアドレスに関連させるために使われるフィールドである。これは、ホストシステムが前に書き込まれたデータの位置を突き止めて取り出すことを可能にする。タイプスタンプは、データの相対年齢を示し、論理ブロックアドレスフィールドと関連付けられる。論理ブロックが新しい物理ブロックに割り当てられる毎に、そのブロックのためのタイムスタンプは増分される。この値は、同じ論理ブロックアドレスを有する複数のブロックのうちのどのブロックが最も最近書き込まれたブロックであるのかを識別するために使用され得る。例えばホットカウントと、そのブロックが何度スクラブされる必要があるかということに関連する情報とを含む、そのブロックまたはページに関連する他の情報がサンプリングの目的のために使用され得る。或いは、サンプリングメカニズムは、実際のデータと共には含まれなくて別々に格納されるがなおそのページに関連付けられているトラッキングメカニズムを含むことができる。
【００３９】
本発明の代表的な実施形態では、サンプリングメカニズムは、ＬＢＡの最後の２ビットをタイムスタンプの最後の２ビットと比較する。その比較結果に従ってＥＣＣ検査が選択される。実際上、これは４つに１つのサンプリングを提供し、ＥＣＣは４つのコピー動作のうちの１つにおいて検査される。このサンプリングはメモリ性能をさらに改善する。
【００４０】
（５３５）で使用されるサンプリングメカニズムが、読み出されたデータに関連するＥＣＣを検査するか否かを判定する。（５３５）における判定がＥＣＣを検査するべきでないことを示したならば、（４２０）でメモリはデータを第１の場所から第２の場所へコピーさせられ、これで（５９９）でコピー動作を完了させる。（５３５）で判定がＥＣＣを検査するべきことを示したならば、処理は図４に関して前述したように（４１０），（４１５），（４２５），（４３０）で続行される。
【００４１】
図６は、関連するＥＣＣを有するデータをコピーするときの図１または２のメモリシステムのいずれかの代表的なコピー動作を示すフローチャート６００である。この例では、再プログラム可能な不揮発性メモリの第１および第２の場所の内容はユーザデータとそのユーザデータに関連するヘッダデータとを含み、ヘッダデータは例えばＥＣＣ情報などのユーザデータに関連する情報を含む。ユーザデータＥＣＣとヘッダデータＥＣＣとはページまたは他の場所に格納されても良いのであるが、この特定の例ではユーザデータＥＣＣおよびヘッダデータＥＣＣは両方共に図３に示され、前述したようにページのオーバーヘッド部に格納される。この特定の例は別々のヘッダおよびデータＥＣＣを記述するけれども、この手法は単一のＥＣＣがヘッダおよびデータの両方をカバーする場合に同様に応用可能である。図６〜９に示されている例では、ヘッダデータのＥＣＣはユーザデータのＥＣＣが試験に値するか否かを判定する予備的ステップとして別に試験される。ヘッダおよびデータのための共通ＥＣＣの場合にこれらの手法がどのように適用されるかの例が図１０に関して以下で論じられる。図１および２に示されているメモリシステムの例では、ヘッダデータが訂正不可能なＥＣＣエラーを有することが分かったならば、そのヘッダデータに関連付けられているユーザデータは無効と考えられる。
【００４２】
フローチャート６００に示されているコピー動作は（６０１）で開始され、（６０５）で読み出しコマンドが発せられる。メモリセルアレイ１１，１内の第１の場所の読み出しを開始するために読み出しコマンドはコントローラ２７，４３に送られる。第１の場所の内容は、ユーザデータと、ユーザデータに関連するヘッダデータとを含むことができる。コントローラ２７，４３は、読み出しコマンドを解釈し、ヘッダデータをコントローラ２７，４３のランダムアクセスメモリ（ＲＡＭ）２８，５０に転送する。コントローラのＲＡＭは、コピーされるべき場所の内容のための一時記憶場所として使われる。このように使われるコントローラＲＡＭはスクラッチパッドＲＡＭ或いはＳＰＲとも称される。
【００４３】
ヘッダデータは（６１５）でヘッダデータにＥＣＣエラーがあるか否かを判定するために検査され、そうであるならば、（６２０）でそのヘッダデータＥＣＣエラーが訂正可能であるか否かが判定される。ヘッダデータＥＣＣエラーが訂正可能でなければ、ユーザデータが無効であることをコントローラに知らせるために（６５０）でインジケータがセットされる。そのようなインジケータの例は、ユーザデータが有効であるか無効であるかに応じてセットされまたはクリアされるデータフラグビットである。このデータフラグビットはオーバーヘッド部３３５に含まれて良く、或いは他の場所に格納されても良い。
【００４４】
ヘッダデータＥＣＣエラーが訂正可能ならば、それは（６２３）で訂正され、（６２５）でユーザデータがコントローラＲＡＭに読み出され或いは転送される。標準的なオンチップコピー動作では、ユーザデータはコントローラ２７，４３に転送されるのではなくてメモリアレイ１，１１内の第１の場所からメモリアレイ１，１１内の第２の場所にコピーされる。多数のオンチップコピー動作の後、データは時間が経つに連れてＥＣＣでは訂正できないほどの数のマルチビットエラーを含むようになり得る。
【００４５】
（６２５）でユーザデータをコントローラＲＡＭ２８，５０に転送する動作は、そのユーザデータに関するＥＣＣステータスを発生させる。この時点でのＥＣＣステータス検査は、記憶場所に格納されているユーザデータが、読み出されてユーザデータに対するＥＣＣ検査を受けることなく多数回コピーされるのを防止するために使われる。
【００４６】
（６３０）でユーザデータにＥＣＣエラーが発見されたならば、（６３５）でそのＥＣＣエラーが訂正可能であるか否かが判定される。そのＥＣＣエラーが訂正可能でなければ、ユーザデータが無効であることをコントローラに知らせるために（６５０）でインジケータがセットされる。前述したように、このインジケータは、この目的のために使われるデータフラグビットである。このデータビットは、有効または無効（またその逆）としてのユーザデータのステータスに応じてセットされまたはクリアされる。
【００４７】
ＥＣＣエラーが訂正可能であれば、（６３７）でユーザデータは訂正されてから（６４０）でメモリチップに転送されて戻される。コントローラは（６４０）でメモリチップへ戻すデータの転送（６４０）を成し遂げさせられる。そのデータ転送後、新しいヘッダが（６４５）でメモリチップに転送されて戻される。ヘッダデータは、コピー動作の結果として更新されたようだという意味で新しい。ＥＣＣエラーが（６２０）または（６３５）のいずれにおいても訂正可能でなくても、新しいヘッダは、エラーを示すために（６５０）でセットされたデータフラグビットを含むので、（６４５）で逆にコピーされる。これは欠陥のあるセクタにエラーフラグが格納されることを可能にするので、この情報は、セクタがアクセスされるときに利用可能である。（６９９）での現在のコピー動作の完了の前に新しいアドレスと書き込みコマンドとが（６４６）で発せられる。
【００４８】
（６３０）でユーザデータにＥＣＣエラーが発見されないと判定されたならば、そのユーザデータはメモリに書き戻されない。ＥＣＣエラーが発見されなければそのユーザデータ部をメモリに書き戻さない１つの理由は、オンチップコピー動作の利益を利用することである。
【００４９】
図７は、関連する誤り訂正符号（ＥＣＣ）を有するデータをコピーするときの図１または２のメモリシステムのいずれかの代表的なコピー動作を示すフローチャート７００である。フローチャート７００は、ＥＣＣ検査を複数回試みるための再試行メカニズムとデータをメモリチップに何時転送して戻すかを示すフラグセット／クリアメカニズムとを含む、フローチャート６００に示されている方法に付け加えられる付加的機能を提供する。
【００５０】
再試行メカニズムは、再試行カウントが検査される判定ポイント（７２１）を提供する。（６２０）でヘッダＥＣＣエラーが訂正可能でない場合または（６３５）でユーザデータＥＣＣエラーが訂正可能でない場合に、判定ポイント（７２１）に達する。（７２１）で再試行の総数が尽きると、処理は（６５０）で続行され、ここで無効データを示すためにデータフラグビットがセットされる。さもなければ、再試行の総数が使い尽くされていなければ、再試行カウントが（７２２）で増分され、（６０５）で処理は別の読み出しコマンドで続行される。再試行カウントは、ヘッダＥＣＣが訂正不可能であると判定された場合の複数回の再試行に備えている。再試行カウントは、予め決められても良く、或いはコピー動作に適した何らかの基準に基づいても良い。
【００５１】
ユーザデータにＥＣＣエラーが発見されたならば（６３０）、そのユーザデータＥＣＣエラーが訂正可能か否かが判定される（６３５）。そのＥＣＣエラーが訂正可能でなければ、再試行カウントが（７２１）で検査され、再試行の総数が尽きていれば、そのデータが無効であることをコントローラに知らせるためにインジケータが（６５０）でセットされる。データ無効インジケータは前に説明されている。データＥＣＣエラーが訂正可能であると（６３５）で判定されたならば、そのＥＣＣエラーは（７３６）で訂正され、（７５６）でデータ転送フラグがセットされる。データ転送フラグは、データが正しくてメモリチップに転送され戻されるべきであるというインジケータである。このデータ転送フラグは、コードフラグのうちの１つとしてコントローラに格納されて良く、或いは他の場所に格納されても良い。新しいヘッダ或いは更新されたヘッダが（６４５）でメモリチップに転送され戻される。その後（７５５）でデータ転送フラグが検査される。（７５５）でデータ転送フラグがセットされていれば、そのデータは（６４０）でメモリチップに転送され戻される。複数のセクタがコピーされるならば、処理されるべきセクタが他にまだあるか否かが（７４１）で判定され、そうであるならば、次のセクタのヘッダが（６１０）でコントローラＲＡＭに転送される。その後、次のセクタが前述したように処理される。（７４１）でそれ以上セクタが発見されなければ、（７９９）で処理は終了する。
【００５２】
（６３０）でデータＥＣＣエラーが発見されなければ、データがメモリチップに転送され戻されるべきでないことを示すために（７５７）でデータ転送フラグがクリアされる。データＥＣＣエラーが発見されないというシナリオでデータ転送フラグを（７５７）でクリアすることは、データがメモリチップに転送され戻されることを必要としないことによって性能最適化を提供する。データにＥＣＣエラーがなければ、コピーされるデータはオンチップコピーにおいて正しそうであり、メモリがそのデータを第１の場所から第２の場所にコピーさせられることが一般に充分である。コントローラをトランザクションに関与させないことにより、また代わりにチップ上でデータを第１の場所から第２の場所にコピーするためにチップを用いることにより、性能が改善される。
【００５３】
図８は、関連する誤り訂正符号（ＥＣＣ）を有するデータをコピーするときの図１または２のメモリシステムのいずれかの代表的なコピー動作を示すフローチャート８００である。フローチャート８００は、訂正可能なヘッダを最適化し続けるという特徴と、ＥＣＣを検査するかしないかを決定するためにサンプリングメカニズムを実行するという特徴を付け加える。これらの特徴は、以下で詳しく説明される。その他の点では、フローチャート８００は、再試行メカニズムなどの前述したフローチャート７００の特徴の多くを含んでいるが、データをメモリチップに何時転送して戻すかを示すフラグセット／クリアメカニズムを含んでいない。付加的な特徴だけが詳しく説明される。それ以上の情報については、前述した図６〜７についての説明を参照されたい。
【００５４】
（６２０）でヘッダＥＣＣエラーが訂正可能であると判定されたならば、ヘッダＥＣＣは（７２３）で訂正される。この段階で、（８７０）で訂正可能なヘッダを最適化し続けると決定することができる。ヘッダが訂正可能ならば、全ての単一コピー動作についてＥＣＣを検査する必要はなく、そして最適の性能を提供するためにサンプリングメカニズムを利用し得ると仮定することができる。（８７０）でヘッダ最適化が選択されたならば、データＥＣＣは全てのコピー動作の間に検査されるのではなくて、以下でさらに説明するサンプリングメカニズムに従って検査される。代表的な実施形態の１つの変形例では、ステップ（６２０）でヘッダが訂正可能でなくても、セクタのヘッダを復元することが可能であるかもしれないのでデータはなおエラー検出／訂正動作のためにコントローラに転送され得る。
【００５５】
（８７０）でヘッダ最適化が選択されたならば、（８７５）で再試行しきい値が検査され得る。この再試行しきい値は、（７２１）および（７２２）に関して論じられた再試行カウントとは異なる処理段階で実行され、どんな条件が適切かということに基づいて異なる数にセットされ得る。（８７５）の再試行しきい値の１つの用途は、エラー状態におけるコピープロセスのヘッダ最適化を随意に防止することである。再試行しきい値は、予め決定されても良く、或いはコピー動作に適切な何らかの基準に基づいても良い。（８７５）の再試行しきい値検査は、（８６０）でサンプリングメカニズムを適用するか否かを決定するためのものである。（８７５）で再試行しきい値を超えたならば、サンプリングメカニズムは選択されなくて、処理は（６２５）におけるコントローラＲＡＭへのデータの転送に続く。
【００５６】
（８７０）でヘッダ最適化が選択され、（８７５）で再試行しきい値を超えなければ、（８６０）でサンプリングメカニズムが実行される。サンプリングメカニズムは、データに関するＥＣＣを検査するか否かを決定するために使用され得る所定の選択基準の例である。サンプリングメカニズムは、ランダムベース或いは確定的であって良く、図５についての議論でより詳しく説明されている。
【００５７】
サンプリングメカニズムを適用した結果が試験され、データＥＣＣを検査する必要があるか否かが（８６５）で判定される。（８６５）でデータＥＣＣが検査されなければならないと判定されたならば、処理は（６２５）におけるコントローラＲＡＭへのデータの転送に続く。（８６５）でデータＥＣＣが検査されるべきでなければ、データＥＣＣはこの場合には検査されないので、（６２５）におけるコントローラメモリへの、或いはコントローラメモリからの、データ転送はない。データＥＣＣを検査する必要がある場合には、データをコントローラに転送する必要はない。
【００５８】
残りの処理ステップは、前述した図６〜７について説明したものと同様である。
【００５９】
図９は、関連する誤り訂正符号（ＥＣＣ）を有するデータをコピーするときの図１または２のメモリシステムのいずれかの代表的なコピー動作を示すフローチャート９００である。フローチャート９００は、選択的なオンチップコピー動作と、ＥＣＣ検査を何時実行するかを決定するためにサンプリングメカニズムが使用され得る選択的なＥＣＣ検査とを含む前述した図６〜８の特徴を組み合わせることによって、改善された性能を提供する。より具体的には、これは図８のステップ（８６０），（８６５），（８７０），（８７５）の最適化およびサンプリングを図７のフローチャートに付け加える。
【００６０】
図６〜９は、全て、ヘッダとユーザデータとのために別々のＥＣＣが使用される場合についてのものである。図７〜９に導入された特徴の多くは複合ＥＣＣの場合（或いは別々のＥＣＣを持つことが利用されない場合）にも適用され得る。例えば、図１０は図８に見出される特徴の多くを導入するが、単一のＥＣＣのみを使用する。
【００６１】
より具体的には、プロセスは（１００１）から開始し、始めに（６０５）で、読み出しコマンドが発せられ、再試行カウントが０にセットされる。再配置されるセクタを検査するか否か（８６５）で判断するために（８６０）でサンプリングメカニズムが使用される。否であれば、セクタのオンチップコピーが実行され、（７４１）でプロセスは、他にもあるならば他のセクタに進み、或いは他にはなければ（１０９９）で終了する。セクタが検査されなければならないと判定されたならば、（６１０）／（６２５）でヘッダおよびユーザデータの両方がメモリレジスタからコントローラに転送される。プロセスの残りの部分は、ヘッダＥＣＣを別に取り扱うのではなくてヘッダとユーザデータとが一緒に扱われることを除いて、（６１５）／（６３０）からは図８の（６３０）からと同様に続く。
【００６２】
本発明の種々の態様が特定の代表的な実施形態に関して説明してきたが、本発明が添付の特許請求の範囲の全範囲内においてその権利が保護されるべきであることが理解できよう。前に特定された特許、特許出願、論文および書籍部分は、その全体がこの背景技術の欄に明確に参照により援用されている。
【図面の簡単な説明】
【００６３】
【図１】本発明が実施され得る第１の不揮発性メモリシステムのブロック図である。
【図２】本発明が実施され得る別の不揮発性メモリシステムのブロック図である。
【図３】図１または２のメモリシステムのいずれかにおいて関連する誤り訂正符号（ＥＣＣ）を有するデータをコピーするための代表的なシステムを示すブロック図である。
【図４】図１または２のメモリシステムのいずれかにおいて関連する誤り訂正符号（ＥＣＣ）を有するデータをコピーする代表的な方法を示すフローチャートである。
【図５】図１または２のメモリシステムのいずれかにおいて関連する誤り訂正符号（ＥＣＣ）を有するデータをコピーする代表的な方法を示すフローチャートである。
【図６】図１または２のメモリシステムのいずれかにおいて関連する誤り訂正符号（ＥＣＣ）を有するデータをコピーする代表的な方法を示すフローチャートである。
【図７】図１または２のメモリシステムのいずれかにおいて関連する誤り訂正符号（ＥＣＣ）を有するデータをコピーする代表的な方法を示すフローチャートである。
【図８】図１または２のメモリシステムのいずれかにおいて関連する誤り訂正符号（ＥＣＣ）を有するデータをコピーする代表的な方法を示すフローチャートである。
【図９】図１または２のメモリシステムのいずれかにおいて関連する誤り訂正符号（ＥＣＣ）を有するデータをコピーする代表的な方法を示すフローチャートである。
【図１０】図１または２のメモリシステムのいずれかにおいてヘッダおよびデータの両方をカバーする関連する誤り訂正符号（ＥＣＣ）を有するデータをコピーする代表的な方法を示すフローチャートである。
【図１】
2008524750.tif 000003
【図２】
2008524750.tif 000004
【図３】
2008524750.tif 000005
【図４】
2008524750.tif 000006
【図５】
2008524750.tif 000007
【図６】
2008524750.tif 000008
【図７Ａ】
2008524750.tif 000009
【図７Ｂ】
2008524750.tif 000010
【図８Ａ】
2008524750.tif 000011
【図８Ｂ】
2008524750.tif 000012
【図９Ａ】
2008524750.tif 000013
【図９Ｂ】
2008524750.tif 000014
【図１０】
2008524750.tif 000015
【手続補正書】
【提出日】平成19年10月23日(2007.10.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コントローラとプログラム可能な不揮発性メモリとを含むメモリシステムにおいて、デ
ータを前記メモリの第１の場所から前記メモリの第２の場所に再配置する方法であって、
前記データを前記第１の場所から前記メモリ上のレジスタに読み出すステップと、
前記データに対してエラー検出および訂正動作を実行するか否かを前記コントローラに
おいて判定するステップと、
前記データに対してエラー検出および訂正動作を実行しないと判定したことに応答して
、前記データを前記レジスタから前記第２の場所に書き込むステップと、
を含む方法。
【請求項２】
コントローラとプログラム可能な不揮発性メモリとを含むメモリシステムにおいて、デ
ータを前記メモリの第１の場所から前記メモリの第２の場所に再配置する方法であって、
前記データを前記第１の場所から前記メモリ上のレジスタに読み出すステップと、
前記データに対してエラー検出および訂正動作を実行するか否かを前記コントローラに
おいて判定するステップと、
前記データに対してエラー検出および訂正動作を実行すると判定したことに応答して、
前記データを前記レジスタにおいて維持しながら前記データのコピーを前記コントローラ
に転送するステップと、
前記コントローラにおいて前記データに対してエラー検出および訂正動作を実行するス
テップと、
を含む方法。
【請求項３】
請求項２記載の方法において、
前記データは関連する誤り訂正符号（ＥＣＣ）を含み、前記エラー検出および訂正動作
は、
前記関連するＥＣＣに基づいて前記データがエラーを含むか否かを判定するステップと
、
前記データがエラーを含むと判定したことに応答して、前記データに対して訂正動作を
実行するステップと、
を含む方法。
【請求項４】
請求項３記載の方法において、
前記エラー訂正動作が首尾よく完了したならば、前記方法は、
前記訂正されたデータを前記コントローラからメモリに転送するステップと、
前記訂正されたデータを前記第２の場所に書き込むステップと、
をさらに含む方法。
【請求項５】
請求項３記載の方法において、
前記エラー訂正が首尾よく完了しなければ、前記方法は、
前記データに関連するエラーフラグをセットするステップをさらに含む方法。
【請求項６】
請求項５記載の方法において、
前記データはヘッダ部とユーザデータ部とを含み、前記エラーフラグは前記ヘッダ部に
書き込まれる方法。
【請求項７】
請求項１または２のいずれか記載の方法において、
前記エラー検出および訂正動作を実行するか否かを判定するステップは、確定的メカニ
ズムである方法。
【請求項８】
請求項１または２のいずれか記載の方法において、
前記エラー検出および訂正動作を実行するか否かを判定するステップは、ランダムベー
スであるかまたは擬似ランダムベースである方法。
【請求項９】
請求項１または２のいずれか記載の方法において、
前記エラー検出および訂正動作を実行するか否かを判定するステップは、サンプリング
メカニズムに基づく方法。
【請求項１０】
請求項９記載の方法において、
前記サンプリングメカニズムは、前記データに関連するオーバーヘッドデータに基づく
方法。
【請求項１１】
請求項１０記載の方法において、
前記サンプリングメカニズムは、前記データに関連するタイムスタンプを前記データの
論理アドレス情報と比較することを含む方法。
【請求項１２】
請求項２記載の方法において、
前記エラー検出および訂正動作を実行するステップの一部として前記データが訂正され
たか否かに基づいてフラグ値をセットするステップと、
前記データが訂正されたことを示すように前記フラグ値がセットされたならば、前記訂
正されたデータを前記レジスタに転送して戻すステップと、
その後に前記レジスタの内容を前記第２の記憶場所に書き込むステップと、
をさらに含む方法。
【請求項１３】
請求項１２記載の方法において、
前記データは関連する誤り訂正符号（ＥＣＣ）を有し、前記エラー検出および訂正動作
は、
前記関連するＥＣＣに基づいて前記データがエラーを含むか否かを判定するステップと
、
前記関連するＥＣＣを用いて前記データを訂正するステップと、を含み、
前記フラグ値は、前記訂正するステップが首尾よく完了したことに応答してセットされ
る方法。
【請求項１４】
請求項１３記載の方法において、
前記訂正するステップが首尾よく完了しなかったことに応答して、前記データに関連す
るエラーフラグをセットするステップをさらに含む方法。
【請求項１５】
請求項１４記載の方法において、
前記データはオーバーヘッド部とユーザデータ部とを含み、前記エラーフラグは前記オ
ーバーヘッド部に書き込まれる方法。
【請求項１６】
請求項１２記載の方法において、
前記データはユーザデータ部とオーバーヘッド部とを含み、前記ユーザデータは関連す
る誤り訂正符号（ＥＣＣ）を有し、前記オーバーヘッド部は別の関連する誤り訂正符号（
ＥＣＣ）を有し、前記データのコピーを転送するステップと前記エラー検出および訂正動
作を実行するステップとは、
前記データを前記レジスタにおいて維持しながら前記データの前記オーバーヘッド部
のコピーを前記レジスタから前記コントローラに転送するステップと、
前記コントローラにおいて前記関連するオーバーヘッドＥＣＣに基づいて前記データ
の前記オーバーヘッド部に対してエラー検出および訂正動作を実行し、前記データの前記
オーバーヘッド部に対する訂正動作が首尾よく完了したことに応答して、訂正されたオー
バーヘッド部を前記レジスタに転送して戻すステップと、
前記データの前記オーバーヘッド部に対する成功したエラー検出および訂正動作に応答
して、
前記データを前記レジスタにおいて維持しながら前記データの前記ユーザ部のコピー
を前記レジスタから前記コントローラに転送するステップと、
前記コントローラにおいて前記関連するユーザデータＥＣＣに基づいて前記データの前
記ユーザ部に対してエラー検出および訂正動作を実行するステップと、を含み、
前記フラグ値は前記ユーザデータ部が訂正されたか否かに基づいてセットされる方法。
【請求項１７】
コントローラとプログラム可能な不揮発性メモリとを含むメモリシステムにおいて、デ
ータを前記メモリの第１の場所から前記メモリの第２の場所に再配置する方法であって、
前記データはユーザデータ部とオーバーヘッド部とを含み、前記ユーザデータは関連する
誤り訂正符号（ＥＣＣ）を有し、前記オーバーヘッド部は別の関連する誤り訂正符号（Ｅ
ＣＣ）を有する前記方法は、
前記データを前記第１の場所から前記メモリ上のレジスタに読み出すステップと、
その後に前記レジスタにおいて前記データを維持しながら前記データの前記ヘッダ部の
コピーを前記コントローラに転送するステップと、
前記コントローラにおいて前記関連するオーバーヘッドＥＣＣに基づいて前記オーバー
ヘッド部に対してエラー検出および訂正動作を実行するステップと、
前記オーバーヘッド部に対する前記エラー検出および訂正動作が前記オーバーヘッド部
の訂正を必要とする場合、前記オーバーヘッドに対する前記エラー検出および訂正動作を
首尾よく完了することに応答して、訂正されたオーバーヘッドを続いて前記レジスタに転
送して戻すステップと、
前記オーバーヘッド部に対してエラー検出および訂正動作を実行するステップの後に、
前記データの前記ユーザデータ部に対してエラー検出および訂正動作を実行するか否かを
前記コントローラにおいて判定するステップと、
を含む方法。
【請求項１８】
請求項１７記載の方法において、
前記データの前記ユーザデータ部に対してエラー検出および訂正動作を実行するか否か
を判定するステップは、
前記オーバーヘッド部が訂正を必要とすると判定したことに応答して、前記レジスタに
おいて前記データを維持しながら前記ユーザデータ部のコピーを前記コントローラに転送
するステップと、
前記コントローラにおいて前記ユーザデータ部に対してエラー検出および訂正動作を実
行するステップと、
を含む方法。
【請求項１９】
請求項１７記載の方法において、
前記ユーザデータ部に対してエラー検出および訂正動作を実行しないと判定したことに
応答して、前記データを前記レジスタから前記第２の場所に書き込むステップをさらに含
む方法。
【請求項２０】
請求項１７記載の方法において、
前記ユーザデータ部に対してエラー検出および訂正動作を実行すると判定したことに応
答して、前記レジスタにおいて前記データを維持しながら前記ユーザデータ部のコピーを
前記コントローラに転送するステップと、
前記コントローラにおいて前記ユーザデータ部に対してエラー検出および訂正動作を実
行するステップと、
をさらに方法。
【請求項２１】
請求項１８または２０のいずれか記載の方法において、
前記ユーザデータ部に対する前記エラー検出および訂正動作は、
前記関連するユーザ部ＥＣＣに基づいて、前記ユーザデータ部がエラーを含むか否かを
判定するステップと、
前記ユーザデータ部がエラーを含むと判定したことに応答して、前記データに対して訂
正動作を実行するステップと、
を含む方法。
【請求項２２】
請求項２１記載の方法において、
前記ユーザデータ部に対する前記エラー訂正動作が首尾よく完了したならば、前記方法
は、
訂正されたユーザデータ部を前記コントローラからメモリに転送するステップと、
前記訂正されたデータを前記第２の場所に書き込むステップと、
をさらに含む方法。
【請求項２３】
請求項２１記載の方法において、
前記ユーザデータ部の前記エラー訂正が首尾よく完了しなければ、前記方法は、
前記データに関連するエラーフラグをセットするステップをさらに含む方法。
【請求項２４】
請求項２３記載の方法において、
前記エラーフラグは、前記オーバーヘッド部に書き込まれる方法。
【請求項２５】
請求項１９または２０のいずれか記載の方法において、
前記ユーザデータ部に対してエラー検出および訂正動作を実行するか否かを判定するス
テップは、確定的メカニズムである方法。
【請求項２６】
請求項１９または２０のいずれか記載の方法において、
前記ユーザデータ部に対してエラー検出および訂正動作を実行するか否かを判定するス
テップは、ランダムベースであるかまたは擬似ランダムベースである方法。
【請求項２７】
請求項１９または２０のいずれか記載の方法において、
前記ユーザデータ部に対してエラー検出および訂正動作を実行するか否かを判定するス
テップは、サンプリングメカニズムに基づく方法。
【請求項２８】
請求項２７記載の方法において、
前記サンプリングメカニズムは、
前記データに関連する前記オーバーヘッドデータに基づく方法。
【請求項２９】
請求項２８記載の方法において、
前記サンプリングメカニズムは、前記データに関連するタイムスタンプを前記データの
論理アドレス情報と比較することを含む方法。
【請求項３０】
請求項２０記載の方法において、
エラー検出および訂正動作を実行する前記ステップの一部として前記データが訂正され
たか否かに基づいてフラグ値をセットするステップと、
前記データが訂正されたことを示すように前記フラグ値がセットされたならば、前記訂
正されたデータを前記レジスタに転送して戻すステップと、
その後にレジスタの内容を前記第２記憶場所に書き込むステップと、
をさらに含む方法。
【請求項３１】
請求項３０記載の方法において、
前記データは関連する誤り訂正符号（ＥＣＣ）を有し、前記エラー検出および訂正動作
は、
前記関連するＥＣＣに基づいて前記データがエラーを含むか否かを判定するステップと
、
前記関連するＥＣＣを用いて前記データを訂正するステップと、を含み、
前記フラグ値は前記訂正するステップを首尾よく完了したことに応答してセットされる
方法。
【請求項３２】
請求項３１記載の方法において、
前記訂正するステップが首尾よく完了しなかったことに応答して、前記データに関連す
るエラーフラグをセットするステップをさらに含む方法。
【請求項３３】
請求項３２記載の方法において、
前記データはオーバーヘッド部とユーザデータ部とを含み、前記エラーフラグは前記オ
ーバーヘッド部に書き込まれる方法。
【請求項３４】
請求項３０記載の方法において、
前記データはユーザデータ部とオーバーヘッド部とを含み、前記ユーザデータは関連す
る誤り訂正符号（ＥＣＣ）を有し、前記オーバーヘッド部は別の関連する誤り訂正符号（
ＥＣＣ）を有し、前記データのコピーを転送するステップとエラー検出および訂正動作を
実行するステップとは、
前記データを前記レジスタにおいて維持しながら前記データの前記オーバーヘッド部
のコピーを前記レジスタから前記コントローラに転送するステップと、
前記コントローラにおいて前記関連するオーバーヘッドＥＣＣに基づいて前記データ
の前記オーバーヘッド部に対してエラー検出および訂正動作を実行し、前記データの前記
オーバーヘッド部に対する訂正動作が首尾よく完了したことに応答して、訂正されたオー
バーヘッド部を前記レジスタに転送して戻すステップと、
前記データの前記オーバーヘッド部に対する成功したエラー検出および訂正動作に応答
して、
前記データを前記レジスタにおいて維持しながら前記データの前記ユーザ部のコピー
を前記レジスタから前記コントローラに転送するステップと、
前記コントローラにおいて前記関連するユーザデータＥＣＣに基づいて前記データの
前記ユーザ部に対してエラー検出および訂正動作を実行するステップと、を含み、
前記フラグ値は前記ユーザデータ部が訂正されたか否かに基づいてセットされる方法。
【請求項３５】
関連する誤り訂正符号（ＥＣＣ）を有するデータを、メモリコントローラを含むシステ
ムの再プログラム可能な不揮発性メモリの第１の場所から第２の場所にコピーする方法で
あって、
前記データを前記第１の場所から前記メモリ上のキャッシュに読み出すステップと、
所定の選択基準に基づいて前記ＥＣＣを検査するか否かを判定し、ＥＣＣ検査が選択さ
れなければ前記メモリに前記データを前記キャッシュから前記第２の場所にコピーさせる
ステップと、
ＥＣＣ検査が選択されたならば、前記コントローラにおいて前記読み出されたデータに
ついて前記ＥＣＣを検査するステップと、を含み、この検査するステップは、
ＥＣＣエラーが発見されたならば、前記コントローラにおいて前記読み出されたデー
タについて前記ＥＣＣエラーを訂正し、前記コントローラにその訂正されたデータを前記
メモリの前記第２の場所に書き込ませるステップと、
ＥＣＣエラーが発見されなければ、前記メモリに前記データを前記キャッシュから前
記第２の場所にコピーさせるステップと、
を含む方法。
【請求項３６】
請求項３５記載の方法において、
前記所定の選択基準は、サンプリングメカニズムを含む方法。
【請求項３７】
請求項３６記載の方法において、
前記サンプリングメカニズムは、ランダムベースである方法。
【請求項３８】
請求項３６記載の方法において、
前記サンプリングメカニズムは、確定的である方法。
【請求項３９】
請求項３６記載の方法において、
前記サンプリングメカニズムは、
前記再プログラム可能な不揮発性メモリ内の論理セクタ数に関連する複数のビットをタ
イムスタンプと比較して比較結果を生じさせるステップと、
前記比較結果に従ってＥＣＣを検査することを選択するステップと、
を含む方法。
【国際調査報告】
2008524750.tif 000016
2008524750.tif 000017
2008524750.tif 000018
2008524750.tif 000019
2008524750.tif 000020
2008524750.tif 000021
2008524750.tif 000022