(57)【要約】  メモリ素子（２４）を動作させる方法が、データを誤り訂正記号（ＥＣＣ）を用いて符号化する段階と、符号化データを第１アナログ値としてメモリ素子の関連アナログ・メモリ・セル（３２）に格納する段階とを含む。符号化データを格納後に、第２アナログ値が符号化データを格納したメモリ素子の関連メモリセルから読み取られる。第２アナログ値の少なくともいくつかは関連第１アナログ値と異なる。第２アナログ値に含まれる歪みが推定される。誤り訂正メトリクスが推定歪みに応答可能なように第２アナログ値に関して計算される。第２アナログ値は、データを復元するために、ＥＣＣ復号プロセスで誤り訂正メトリクスを用いて処理される。【選択図】  図１
2009537056.tif 000002
【特許請求の範囲】
【請求項１】
メモリ素子を動作させる方法であって、
データを誤り訂正記号（ＥＣＣ）を用いて符号化し、前記符号化データを第１アナログ値として前記メモリ素子の関連アナログ・メモリ・セルに格納する段階と、
前記符号化データを格納した後に、前記符号化データが格納された前記メモリ素子の前記メモリセルから関連第２アナログ値を読み取る段階であって、前記関連第２アナログ値の少なくともいくつかは前記関連第１アナログ値と異なる段階と、
前記第２アナログ値に含まれる歪みを推定する段階と、
前記推定歪みに応答可能なように前記第２アナログ値に関して誤り訂正メトリクスを計算する段階と、
前記データを復元するために、ＥＣＣ復号プロセスで前記誤り訂正メトリクスを用いて前記第２アナログ値を処理する段階と、
を含む方法。
【請求項２】
誤り訂正メトリクスを計算する段階が、各メモリセルについて、前記歪みを示す１つ以上のセルパラメタを評価する段階と、前記セルパラメタに応答可能なように前記誤り訂正メトリクスを計算する段階とを含む請求項１に記載の方法。
【請求項３】
前記セルパラメタが、他のメモリセルから読み取られた前記アナログ値、前記他のメモリセルの推定相互結合係数、前記読み取られた第２アナログ値の統計的分布のパラメタ、前記メモリセルが前に受けたプログラミングおよび消去サイクルの数、前のプログラミングおよび消去サイクル後の経過時間、前記メモリセルで前に検出された誤り、前記メモリセルが接続されている語線の識別、前記メモリセルが接続されているビット線の識別、前記メモリセルが接続されている前記ビット線に結合されたセンス増幅器の推定パラメタ、および環境パラメタから成るパラメタの群から選択される少なくとも１つのパラメタを含む請求項２に記載の方法。
【請求項４】
前記第２アナログ値を処理する段階が、前記第２アナログ値の可能な値の範囲を複数の決定間隔に分割する段階と、前記第２アナログ値が入る前記関連決定間隔を決定する段階とを含み、前記誤り訂正メトリクスを計算する段階が、前記ＥＣＣ復号プロセスの性能を改善するために、前記第２アナログ値を前記決定間隔に関連して変更する機能を規定する段階を含む請求項１に記載の方法。
【請求項５】
前記第２アナログ値を処理する段階が、前記ＥＣＣ復号プロセスの性能に関するフィードバックを受け取る段階と、前記フィードバックに応答可能なように前記ＥＣＣ復号プロセスを変更する段階とを含む請求項１に記載の方法。
【請求項６】
前記第２アナログ値を処理する段階が前記第２アナログ値を決定閾値と比較する段階を含み、前記ＥＣＣ復号プロセスを変更する段階が前記決定閾値を変更する段階を含む請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記決定閾値を変更する段階が前記第２アナログ値を前記メモリセルから前記変更した決定閾値を用いて再び読み取る段階を含む請求項６に記載の方法。
【請求項８】
前記第２アナログ値を前記決定閾値と比較する段階が前記メモリ素子の前記第２アナログ値を前記決定閾値を用いて読み取る段階を含み、前記決定閾値を変更する段階がコマンドを前記メモリ素子に送って、前記閾値を変更することを要求する段階を含む請求項６に記載の方法。
【請求項９】
前記第２アナログ値を処理する段階が、いろいろなセットの前記決定閾値を用いて前記ＥＣＣ復号プロセスの関連する複数の反復を実行することによって、各メモリセルに格納された前記データの複数の推定値を生成する段階と、前記データの前記複数の推定値に応答可能なように前記データを復元する段階とを含む請求項６に記載の方法。
【請求項１０】
前記データを復元する段階が各メモリセルについて独立に前記複数の推定値の１つを選択する段階を含む請求項９に記載の方法。
【請求項１１】
前記第２アナログ値を処理する段階が第１誤り性能を有する第１ＥＣＣ復号プロセスを適用する段階を含み、前記フィードバックを受け取る段階が前記第１プロセスを用いて復号された前記データにおける復号誤りの表示を受け取る段階を含み、前記ＥＣＣ復号プロセスを変更する段階が前記第１誤り性能よりも良い第２誤り性能を有する第２ＥＣＣ復号プロセスを用いて前記第２アナログ値を処理する段階を含む請求項５に記載の方法。
【請求項１２】
前記ＥＣＣ復号プロセスを変更する段階が前記第２アナログ値を読み取るのに用いるサンプリング分解能を変更する段階を含む請求項５に記載の方法。
【請求項１３】
前記第２アナログ値を読み取る段階が関連するいろいろなセットの決定閾値を用いて前記第２アナログ値の複数のインスタンスを読み取る段階を含み、前記誤り訂正メトリクスを計算する段階が、各メモリセルについて独立に前記複数のインスタンスを組み合わせる段階と、前記組み合わせた複数のインスタンスに基づいて前記誤り訂正メトリクスを計算する段階とを含む請求項１〜５のいずれか一項に記載の方法。
【請求項１４】
前記第２アナログ値の前記複数のインスタンスを読み取り、組み合わせる段階が、前記第２アナログ値の追加インスタンスを反復して得る段階と、前記ＥＣＣの復号に成功するまで前記追加インスタンスを用いて前記誤り訂正メトリクスを更新する段階とを含む請求項１３に記載の方法。
【請求項１５】
各メモリセルについて、前記歪みを推定する段階が、前記メモリセルから読み取られた前記第２アナログ値の歪みの潜在的な一因となる、潜在的に妨害するメモリセルのサブセットから前記第２アナログ値を読み取る段階を含み、前記誤り訂正メトリクスを計算する段階が前記潜在的に妨害するメモリセルによる前記歪みを評価する段階を含む請求項１〜５のいずれか一項に記載の方法。
【請求項１６】
前記潜在的に妨害するメモリセルによって前記メモリセルに与えられる前記歪みを評価する段階が、前記潜在的に妨害するメモリセルから読み取られた前記第２アナログ値および前記メモリセルから読み取られた前記第２アナログ値の両方に基づいて、各潜在的に妨害するメモリセルによって与えられる前記歪みを近似する段階を含む請求項１５に記載の方法。
【請求項１７】
前記第２アナログ値を処理する段階が、前記メモリセルの前記第２アナログ値を第１量子化レベルで処理する段階と、前記潜在的に妨害するメモリセルから読み取られた前記第２アナログ値を前記第１量子化レベルよりも粗い第２量子化レベルで処理する段階とを含む請求項１５に記載の方法。
【請求項１８】
前記第２アナログ値を処理する段階が、前記第２アナログ値を読み取るのに用いる回路の閾値を反復して変更することによって、前記第２アナログ値を前記第１および第２量子化レベルで読み取る段階を含む請求項１７に記載の方法。
【請求項１９】
前記符号化データを格納する段階がプログラムおよび検査（Ｐ＆Ｖ）プロセスを用いて前記第１アナログ値を前記メモリセルに書き込む段階を含み、前記歪みを推定する段階が、前記潜在的に妨害するメモリセルを、前記メモリセルよりも早く完全にプログラムされたメモリセル、前記メモリセルよりも遅く完全にプログラムされたメモリセル、および前記Ｐ＆Ｖプロセスによって前記メモリセルと同時に完全にプログラムされたメモリセルから成るクラスの群から選択される少なくとも２つのクラスに分類する段階と、前記総歪みを前記クラスの各々内で別々に計算する段階とを含む請求項１〜５のいずれか一項に記載の方法。
【請求項２０】
前記メモリセルがフラッシュ・メモリ・セルを含む請求項１〜５のいずれか一項に記載の方法。
【請求項２１】
前記メモリセルがダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）セルを含む請求項１〜５のいずれか一項に記載の方法。
【請求項２２】
前記メモリセルが位相変化メモリ（ＰＣＭ）セルを含む請求項１〜５のいずれか一項に記載の方法。
【請求項２３】
前記メモリセルが窒化読出し専用メモリ（ＮＲＯＭ）セルを含む請求項１〜５のいずれか一項に記載の方法。
【請求項２４】
前記メモリセルが磁気ＲＡＭ（ＭＲＡＭ）セルを含む請求項１〜５のいずれか一項に記載の方法。
【請求項２５】
前記メモリセルが強誘電体ＲＡＭ（ＦＲＡＭ）セルを含む請求項１〜５のいずれか一項に記載の方法。
【請求項２６】
前記ＥＣＣがブロックコードを含む請求項１〜５のいずれか一項に記載の方法。
【請求項２７】
前記ブロックコードがＢＣＨコードおよびリード・ソロモン（ＲＳ）コードの１つを含む請求項２６に記載の方法。
【請求項２８】
前記ブロックコードが低密度奇偶検査（ＬＤＰＣ）コード、ターボコード、およびターボ・プロダクト・コード（ТＰＣ）の１つを含む請求項２６に記載の方法。
【請求項２９】
前記ＥＣＣ復号プロセスが反復復号プロセスを含む請求項２８に記載の方法。
【請求項３０】
前記ＥＣＣ復号プロセスが前記第２アナログ値を読み取ることによって生成されるフィードバックを使用する請求項１〜５のいずれか一項に記載の方法。
【請求項３１】
前記ＥＣＣ復号プロセスが最尤シーケンス推定（ＭＬＳＥ）プロセスを含む請求項１〜５のいずれか一項に記載の方法。
【請求項３２】
前記ＥＣＣが、従来コード、トレリス符号化変調（ＴＣＭ）コード、ビットインターリブド符号化変調（ＢＩＣＭ）コード、および連結コードの１つを含む請求項１〜５のいずれか一項に記載の方法。
【請求項３３】
前記誤り訂正メトリクスが尤度比（ＬＲ）を含む請求項１〜５のいずれか一項に記載の方法。
【請求項３４】
前記誤り訂正メトリクスが対数尤度比（ＬＬＲ）を含む請求項１〜５のいずれか一項に記載の方法。
【請求項３５】
前記歪みを推定する段階が前記メモリセルの１つに含まれる前記歪みを他のメモリセルに含まれる前記歪みに基づいて予測する段階を含む請求項１〜５のいずれか一項に記載の方法。
【請求項３６】
前記メモリセルが潜在的に妨害するメモリセルの分離したグループに配置され、各グループの前記歪みを推定する段階が前記グループ内の前記メモリセルの対の間の相互干渉を表わす相互結合マトリックスの逆を評価する段階を含み、前記誤り訂正メトリクスを計算する段階が、前記第１アナログ値に適用され、前記グループ内の前記関連メモリセルの平均歪みレベルで合計した前記相互結合マトリックスの逆と前記第２アナログ値に適用された前記相互結合マトリックスの逆との間のディスタンスを計算する段階を含む請求項１〜５のいずれか一項に記載の方法。
【請求項３７】
前記分離したグループが関連窒化読出し専用メモリ（ＮＲＯＭ）セルを含み、各グループ内の前記潜在的に妨害するメモリセルが前記関連ＮＲＯＭセルの第１および第２電荷蓄積領域を含む請求項３６に記載の方法。
【請求項３８】
前記メモリセルが潜在的に妨害するメモリセルの分離したグループに配置され、各グループの前記歪みを推定する段階が、前記グループ内の前記関連メモリセルの平均歪みレベルのベクトルおよび前記グループ内の前記メモリセルの対の間の相互干渉を表わす相互結合マトリックスを評価する段階を含み、そして前記誤り訂正メトリクスを計算する段階が、前記グループ内の前記メモリセルから読み取られた前記第２アナログ値のベクトルと、前記相互結合マトリックスと前記平均歪みレベルの前記ベクトルとの積との差に応答可能なように前記メトリクスを計算する段階を含む請求項１〜５のいずれか一項に記載の方法。
【請求項３９】
前記分離したグループが関連窒化読出し専用メモリ（ＮＲＯＭ）セルを含み、各グループ内の前記潜在的に妨害するメモリセルが前記関連ＮＲＯＭセルの第１および第２電荷蓄積領域を含む請求項３８に記載の方法。
【請求項４０】
前記符号化データを格納する段階が、前記符号化データをスクランブルする段階と、前記スクランブルされたデータを格納する段階とを含み、前記第２アナログ値を処理する段階が前記メモリセルから読み取られた前記第２アナログ値を逆スクランブルする段階を含む請求項１〜５のいずれか一項に記載の方法。
【請求項４１】
前記データを格納する段階が前記メモリセルの少なくともいくつかを消去レベルで維持する段階を含み、前記第２アナログ値を読み取る段階、前記歪みを推定する段階、前記誤り訂正メトリクスを計算する段階、および前記第２アナログ値を処理する段階が、前記消去レベルで維持されていた前記メモリセルから読み取られた前記第２アナログ値の前記歪みを補償する段階を含む請求項１〜５のいずれか一項に記載の方法。
【請求項４２】
メモリ素子を動作させる方法であって、
データを第１アナログ値として前記メモリ素子の関連アナログ・メモリ・セルに格納する段階と、
前記データを格納した後に、前記関連メモリセルから第２アナログ値の複数のインスタンスを読み取る段階であって、前記インスタンスの各々は前記第２アナログ値を関連決定閾値と比較することによって読み取られる段階と、
前記第２アナログ値に含まれる歪みを推定する段階と、
前記データを復元するために、前記推定歪みに応答可能なように前記第２アナログ値の前記複数のインスタンスを処理する段階と、
を含む方法。
【請求項４３】
前記複数のインスタンスを読み取り、処理する段階が前記第２アナログ値の追加インスタンスを反復して得る段階を含む請求項４２に記載の方法。
【請求項４４】
誤り訂正記号（ＥＣＣ）を用いて符号化され、第１アナログ値としてメモリ素子の関連アナログ・メモリ・セルに格納されたデータを検索する装置であって、
前記符号化データが格納された前記メモリ素子の前記アナログ・メモリ・セルから関連第２アナログ値を読み取るように構成される読み取りユニットであって、前記関連第２アナログ値の少なくともいくつかは前記関連第１アナログ値と異なる読み取りユニットと、
前記第２アナログ値に含まれる歪みを推定し、前記推定歪みに応答可能なように前記第２アナログ値に関して誤り訂正メトリクスを計算するように構成される信号処理ユニットと、
前記ＥＣＣを復号し、前記データを復元するために、前記誤り訂正メトリクスを用いて前記第２アナログ値を処理するように構成される復号器と、
を備える装置。
【請求項４５】
各メモリセルについて、前記歪みを示す１つ以上のセルパラメタを評価し、前記セルパラメタに応答可能なように前記誤り訂正メトリクスを計算するように構成される請求項４４に記載の装置。
【請求項４６】
前記セルパラメタが、他のメモリセルから読み取られた前記アナログ値、前記他のメモリセルの推定相互結合係数、前記読み取られた第２アナログ値の統計的分布のパラメタ、前記メモリセルが前に受けたプログラミングおよび消去サイクルの数、前のプログラミングおよび消去サイクル後の経過時間、前記メモリセルで前に検出された誤り、前記メモリセルが接続されている語線の識別、前記メモリセルが接続されているビット線の識別、前記メモリセルが接続されている前記ビット線に結合されたセンス増幅器の推定パラメタ、および環境パラメタから成るパラメタの群から選択される少なくとも１つのパラメタを含む請求項４５に記載の装置。
【請求項４７】
前記復号器が、前記第２アナログ値の可能な値の範囲を複数の決定間隔に分割し、前記第２アナログ値が入る前記関連決定間隔を決定するように構成され、そして前記信号処理ユニットが、前記復号器の性能を改善するために、前記推定歪みに基づいて前記第２アナログ値を前記決定間隔に関連して変更する機能を規定するように構成される請求項４４に記載の装置。
【請求項４８】
前記信号処理ユニットが、前記復号器の性能に関するフィードバックを受け取り、前記フィードバックに応答可能なように前記復号器の動作を変更するように構成される請求項４４に記載の装置。
【請求項４９】
前記復号器が前記第２アナログ値を決定閾値と比較するように構成され、そして前記信号処理ユニットが前記フィードバックに応答可能なように前記決定間隔を変更することによって前記復号器の動作を変更するように構成される請求項４４〜４８のいずれか一項に記載の装置。
【請求項５０】
前記読み取りユニットが前記第２アナログ値を前記決定閾値と比較することによって前記第２アナログ値を読み取るように構成され、そして前記信号処理ユニットがコマンドを前記読み取りユニットに送って、前記閾値を変更することを要求することによって前記決定閾値を変更するように構成される請求項４９に記載の装置。
【請求項５１】
前記信号処理ユニットが、前記読み取りユニットに前記変更した決定閾値を用いて前記第２アナログ値を前記メモリセルから再び読み取らせるように構成される請求項４９に記載の装置。
【請求項５２】
前記復号器が、いろいろなセットの前記決定閾値を用いて関連する複数の復号反復を実行することによって、各メモリセルに格納された前記データの複数の推定値を生成し、前記データの前記複数の推定値に応答可能なように前記データを復元するように構成される請求項４９に記載の装置。
【請求項５３】
前記復号器が、各メモリセルについて独立に前記複数の推定値の１つを選択することによって前記データを復元するように構成される請求項５２に記載の装置。
【請求項５４】
前記復号器が第１誤り性能を有する第１ＥＣＣ復号プロセスを最初に適用するように構成され、そして前記信号処理ユニットが前記第１復号プロセスを用いて復号された前記データにおける復号誤りの表示を受け取り、前記復号器に前記第１誤り性能よりも良い第２誤り性能を有する第２ＥＣＣ復号プロセスを用いて前記第２アナログ値を処理させるように構成される請求項４８に記載の装置。
【請求項５５】
前記信号処理ユニットが、前記フィードバックに応答可能なように前記第２アナログ値を読み取る前記読み取りユニットによって用いられるサンプリング分解能を変更するように構成される請求項４８に記載の装置。
【請求項５６】
前記読み取りユニットが関連するいろいろなセットの決定閾値を用いて前記第２アナログ値の複数のインスタンスを読み取るように構成され、そして前記信号処理ユニットが各メモリセルについて独立に前記複数のインスタンスを組み合わせ、前記組み合わせた複数のインスタンスに基づいて前記誤り訂正メトリクスを計算するように構成される請求項４４〜４８のいずれか一項に記載の装置。
【請求項５７】
前記読み取りユニット、前記信号処理ユニット、および前記復号器が、前記第２アナログ値の追加インスタンスを反復して取得し、前記ＥＣＣの復号に成功するまで前記追加インスタンスを用いて前記誤り訂正メトリクスを更新するように構成される請求項５６に記載の装置。
【請求項５８】
前記読み取りユニットが、各メモリセルについて、前記メモリセルから読み取られた前記第２アナログ値の歪みの潜在的な一因となる、潜在的に妨害するメモリセルのサブセットから前記第２アナログ値を読み取るように構成され、そして前記信号処理ユニットが前記潜在的に妨害するメモリセルによる前記歪みを評価するように構成される請求項４４〜４８のいずれか一項に記載の装置。
【請求項５９】
前記信号処理ユニットが、前記潜在的に妨害するメモリセルから読み取られた前記第２アナログ値および前記メモリセルから読み取られた前記第２アナログ値の両方に基づいて、各潜在的に妨害するメモリセルによって与えられる前記歪みを近似するように構成される請求項５８に記載の装置。
【請求項６０】
前記信号処理ユニットが、前記メモリセルの前記第２アナログ値を第１量子化レベルで処理し、前記潜在的に妨害するメモリセルから読み取られた前記第２アナログ値を前記第１量子化レベルよりも粗い第２量子化レベルで処理するように構成される請求項５８に記載の装置。
【請求項６１】
前記読み取りユニットが、前記第２アナログ値を閾値と比較し、前記第２アナログ値を前記第１および第２量子化レベルで読み取るために前記閾値を反復して変更するように構成される請求項６０に記載の装置。
【請求項６２】
前記第１アナログ値がプログラムおよび検査（Ｐ＆Ｖ）プロセスを用いて前記メモリセルに書き込まれ、そして前記信号処理ユニットが、前記潜在的に妨害するメモリセルを、前記メモリセルよりも早く完全にプログラムされたメモリセル、前記メモリセルよりも遅く完全にプログラムされたメモリセル、および前記Ｐ＆Ｖプロセスによって前記メモリセルと同時に完全にプログラムされたメモリセルから成るクラスの群から選択される少なくとも２つのクラスに分類し、前記総歪みを前記クラスの各々内で別々に計算するように構成される請求項４４〜４８のいずれか一項に記載の装置。
【請求項６３】
前記読み取りユニットが第１集積回路（ＩＣ）内にあり、前記信号処理ユニットおよび前記復号器が前記第１ＩＣと異なる第２ＩＣ内にある請求項４４〜４８のいずれか一項に記載の装置。
【請求項６４】
前記読み取りユニット、前記信号処理ユニット、および前記復号器が単一素子に集積化されている請求項４４〜４８のいずれか一項に記載の装置。
【請求項６５】
前記メモリセルがフラッシュ・メモリ・セルを含む請求項４４〜４８のいずれか一項に記載の装置。
【請求項６６】
前記メモリセルがダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）セルを含む請求項４４〜４８のいずれか一項に記載の装置。
【請求項６７】
前記メモリセルが位相変化メモリ（ＰＣＭ）セルを含む請求項４４〜４８のいずれか一項に記載の装置。
【請求項６８】
前記メモリセルが窒化読出し専用メモリ（ＮＲＯＭ）セルを含む請求項４４〜４８のいずれか一項に記載の装置。
【請求項６９】
前記メモリセルが磁気ＲＡＭ（ＭＲＡＭ）セルを含む請求項４４〜４８のいずれか一項に記載の装置。
【請求項７０】
前記メモリセルが強誘電体ＲＡＭ（ＦＲＡＭ）セルを含む請求項４４〜４８のいずれか一項に記載の装置。
【請求項７１】
前記ＥＣＣがブロックコードを含む請求項４４〜４８のいずれか一項に記載の装置。
【請求項７２】
前記ブロックコードがＢＣＨコードおよびリード・ソロモン（ＲＳ）コードの１つを含む請求項７１に記載の装置。
【請求項７３】
前記ブロックコードが低密度奇偶検査（ＬＤＰＣ）コード、ターボコード、およびターボ・プロダクト・コード（ТＰＣ）の１つを含む請求項７１に記載の装置。
【請求項７４】
前記復号器が反復復号プロセスを用いて前記ＥＣＣを復号するように構成される請求項７３に記載の装置。
【請求項７５】
前記復号器が前記第２アナログ値を読み取ることによって生成されるフィードバックを用いて前記ＥＣＣを復号するように構成される請求項４４〜４８のいずれか一項に記載の装置。
【請求項７６】
前記復号器が最尤シーケンス推定（ＭＬＳＥ）プロセスを用いて前記ＥＣＣを復号するように構成される請求項４４〜４８のいずれか一項に記載の装置。
【請求項７７】
前記ＥＣＣが、従来コード、トレリス符号化変調（ＴＣＭ）コード、ビットインターリブド符号化変調（ＢＩＣＭ）コード、および連結コードの１つを含む請求項４４〜４８のいずれか一項に記載の装置。
【請求項７８】
前記誤り訂正メトリクスが尤度比（ＬＲ）を含む請求項４４〜４８のいずれか一項に記載の装置。
【請求項７９】
前記誤り訂正メトリクスが対数尤度比（ＬＬＲ）を含む請求項４４〜４８のいずれか一項に記載の装置。
【請求項８０】
前記信号処理ユニットが、前記メモリセルの１つに含まれる前記歪みを他のメモリセルに含まれる前記歪みに基づいて予測するように構成される請求項４４〜４８のいずれか一項に記載の装置。
【請求項８１】
前記メモリセルが潜在的に妨害するメモリセルの分離したグループに配置され、前記信号処理ユニットが、前記グループ内の前記メモリセルの対の間の相互干渉を表わす相互結合マトリックスの逆を評価することによって各グループの前記歪みを推定するように構成され、そして前記誤り訂正メトリクスを計算する段階が、前記第１アナログ値に適用され、前記グループ内の前記関連メモリセルの平均歪みレベルで合計した前記相互結合マトリックスの逆と前記第２アナログ値に適用された前記相互結合マトリックスの逆との間のディスタンスを計算する段階を含む請求項４４〜４８のいずれか一項に記載の装置。
【請求項８２】
前記分離したグループが関連窒化読出し専用メモリ（ＮＲＯＭ）セルを含み、各グループ内の前記潜在的に妨害するメモリセルが前記関連ＮＲＯＭセルの第１および第２電荷蓄積領域を含む請求項８１に記載の装置。
【請求項８３】
前記メモリセルが潜在的に妨害するメモリセルの分離したグループに配置され、前記信号処理ユニットが、前記グループ内の前記関連メモリセルの平均歪みレベルのベクトルおよび前記グループ内の前記メモリセルの対の間の相互干渉を表わす相互結合マトリックスを評価することによって各グループの前記歪みを推定し、前記グループ内の前記メモリセルから読み取られた前記第２アナログ値のベクトルと、前記相互結合マトリックスと前記平均歪みレベルの前記ベクトルとの積との差に応答可能なように前記メトリクスを計算するように構成される請求項４４〜４８のいずれか一項に記載の装置。
【請求項８４】
前記分離したグループが関連窒化読出し専用メモリ（ＮＲＯＭ）セルを含み、各グループ内の前記潜在的に妨害するメモリセルが前記関連ＮＲＯＭセルの第１および第２電荷蓄積領域を含む請求項８３に記載の装置。
【請求項８５】
前記メモリセルに格納したデータがスクランブルされ、前記信号処理ユニットが前記メモリセルから読み取られた前記第２アナログ値を逆スクランブルするように構成される請求項４４〜４８のいずれか一項に記載の装置。
【請求項８６】
前記メモリセルの少なくともいくつかが消去レベルで維持され、前記信号処理ユニットが前記消去レベルで維持されていた前記メモリセルから読み取られた前記第２アナログ値の前記歪みを補償するように構成される請求項４４〜４８のいずれか一項に記載の装置。
【請求項８７】
メモリ素子の関連アナログ・メモリ・セルに第１アナログ値として格納したデータを検索する装置であって、
前記関連メモリセルから第２アナログ値の複数のインスタンスを読み取るように構成される読み取りユニットであって、前記インスタンスの各々は前記第２アナログ値を関連決定閾値と比較することによって読み取られる読み取りユニットと、
前記第２アナログ値に含まれる歪みを推定し、前記データを復元するために、前記推定歪みに応答可能なように前記第２アナログ値の前記複数のインスタンスを処理するように構成される信号処理ユニットと、
を備える装置。
【請求項８８】
前記読み取りユニットおよび前記信号処理ユニットが前記第２アナログ値の追加インスタンスを反復して得るように構成される請求項８７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の参照）
本出願は、２００６年５月１２日に提出の米国仮特許願第６０／７４７１０６号、２００６年１０月３０日に提出の米国仮特許願第６０／８６３４８０号、２００６年１１月１日に提出の米国仮特許願第６０／８６３８１０号、２００６年１１月２８日に提出の米国仮特許願第６０／８６７３９９号、２００７年１月１６日に提出の米国仮特許願第６０／８８５０２４号、２００７年１月２３日に提出の米国仮特許願第６０／８８６１０２号、２００７年２月１１日に提出の米国仮特許願第６０／８８９２７７号、２００７年３月４日に提出の米国仮特許願第６０／８９２８６９号、２００７年３月１２日に提出の米国仮特許願第６０／８９４２９０号、２００７年３月１３日に提出の米国仮特許願第６０／８９４４５６号、２００７年４月１６日に提出の米国仮特許願第６０／９１２０５６号、および２００７年４月２２日に提出の米国仮特許願第６０／９１３２８１号に関連するものである。
【０００２】
本発明は、一般にメモリ素子、詳細には誤り訂正符号化および歪み推定を用いてメモリ素子の性能を改善する方法および装置に関する。
【背景技術】
【０００３】
いくつかの種類のメモリ素子、例えば、フラッシュメモリおよびダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）などでは、データを格納するためにアナログ・メモリ・セルのアレイを使用する。フラッシュメモリ素子は、例えば、非特許文献１に記載されており、これは参照して本明細書に盛り込まれる。
【０００４】
このようなメモリ素子では、各アナログ・メモリセルはトランジスタを通常備え、このトランジスタはセルに格納した情報を表わす或る量の電荷を保持する。特定のセルに書き込まれた電荷はセルの「閾値電圧」、すなわち、セルが電流を伝導するようにセルに印加する必要がある電圧に影響を与える。
【０００５】
シングルレベルセル（ＳＬＣ）素子と通例呼ばれる、いくつかのメモリ素子は各メモリセルに単一ビットの情報を格納する。通常、セルの可能な閾値電圧の範囲は２つの領域に分割される。領域の１つに落ちる電圧値は「０」ビット値を表わし、第２領域に属する電圧は「１」ビット値を表わす。マルチレベルセル（ＭＬＣ）素子とよく呼ばれる高密度素子は１メモリセル当たり２つ以上のビットを格納する。マルチレベルセルでは、閾値電圧の範囲は２つ以上の領域に分割され、各領域は２ビット以上を表わす。
【０００６】
マルチレベル・フラッシュ・セルおよび素子は、例えば、非特許文献２に記載されており、これは参照して本明細書に盛り込まれる。この論文は数種類のマルチレベル・フラッシュ・セル、例えば、共通接地、ＤＩＮＯＲ、ＡＮＤ、ＮＯＲ、およびＮＡＮＤセルを比較している。
【０００７】
他の典型的な種類のアナログ・メモリ・セルは、窒化読出し専用メモリ（ＮＲＯＭ）セル、強誘電体ＲＡＭ（ＦＲＡＭ）セル、磁気ＲＡＭ（ＭＲＡＭ）セル、および位相変化ＲＡＭ（ＰＲＡＭ、位相変化メモリ-ＰＣＭとも呼ばれる）セルである。ＮＲＯＭセルは、例えば、非特許文献３に記載されており、これは参照して本明細書に盛り込まれる。
【０００８】
ＦＲＡＭ、ＭＲＡＭ、およびＰＲＡＭは、例えば、非特許文献４に記載されており、これは参照して本明細書に盛り込まれる。
【０００９】
いくつかの応用では、メモリ素子に格納したデータは誤り訂正記号（ＥＣＣ）を用いて符号化される。例えば、ロドニー（Ｒｏｄｎｅｙ）およびサヤノ（Ｓａｙａｎｏ）は、マルチレベル記憶セルを用いたランダム・アクセス・メモリ（ＲＡＭ）素子の保護のための多くのオンチップ符号化技術を非特許文献５に記述しており、これは参照して本明細書に盛り込まれる。別の例として、特許文献１には符号化変調技術を用いてデータをアナログメモリ素子に格納する方法が記載されており、この開示は参照して本明細書に盛り込まれる。マルチレベルメモリ素子の他のＥＣＣ方式は特許文献２および特許文献３に記載されており、これらの開示は参照して本明細書に盛り込まれる。
【００１０】
アナログ・メモリ・セルから読み取った閾値電圧値は時々歪む。歪みはさまざまな理由、例えば、隣接メモリセルからの電界結合、アレイの同じ列に沿った他のセルに起因するバック・パターン・デペンデンシー（ＢＰＤ）、アレイの他のセルの動作に起因する撹乱ノイズ、および素子エージングに起因する閾値電圧ドリフトなどに因る。いくつかの一般的な歪み機構が前掲のベズ（Ｂｅｚ）らによる論文に記載されている。メモリセルにおける妨害はまた非特許文献６に記載されており、これは参照して本明細書に盛り込まれる。
【００１１】
特許文献４には、高密度フラッシュ電気的消去・書込み可能読出し専用メモリ（ＥＥＰＲＯＭ）セルアレイの浮遊ゲート間の電界結合を補償する方法が記載されており、この開示は参照して本明細書に盛り込まれる。開示された方法によれば、セルの読み取りは読み取られるセルと電界結合されるすべてのセルの状態を最初に読み取ることによって補償される。次に浮遊ゲート電圧かそれとも各結合セルの状態に関連する数にセル間の結合比を乗じる。セルの各々に関する状態間のブレイクポイントレベルは隣接セルから結合された電圧を補償する量によって調整される。
【特許文献１】米国特許第６，２１２，６５４号明細書
【特許文献２】米国特許第６，４６９，９３１号明細書
【特許文献３】米国特許第７，０２３，７３５号明細書
【特許文献４】米国特許第５，８６７，４２９号明細書
【非特許文献１】Ｂｅｚら著「Ｉｎｔｒｏｄｕｃｔｉｏｎ  ｔｏ  Ｆｌａｓｈ  Ｍｅｍｏｒｙ」  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ＩＥＥＥ，（９１：４）、２００３年４月、ｐ．４８９−５０２
【非特許文献２】Ｅｉｔａｎら著「Ｍｕｌｔｉｌｅｖｅｌ  Ｆｌａｓｈ  Ｃｅｌｌｓ  ａｎｄ  ｔｈｅｉｒ  Ｔｒａｄｅ-Ｏｆｆｓ」  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １９９６  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅｓ  Ｍｅｅｔｉｎｇ  （ＩＥＤＭ），Ｎｅｗ  Ｙｏｒｋ，Ｎｅｗ  Ｙｏｒｋ、ｐ．１６９−１７２
【非特許文献３】Ｍａａｙａｎら著「Ａ  ５１２  Ｍｂ  ＮＲＯＭ  Ｆｌａｓｈ  Ｄａｔａ  Ｓｔｏｒａｇｅ  Ｍｅｍｏｒｙ  ｗｉｔｈ  ８  ＭＢ／ｓ  Ｄａｔａ  Ｒａｔｅ」  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２００２  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｏｌｉｄ-Ｓｔａｔｅ  Ｃｉｒｃｕｉｔｓ  Ｃｏｎｆｅｒｅｎｃｅ  （ＩＳＳＣＣ  ２００２），Ｓａｎ  Ｆｒａｎｃｉｓｃｏ，  Ｃａｌｉｆｏｒｎｉａ、２００２年２月３〜７日、ｐ．１００−１０１
【非特許文献４】ＫｉｍおよびＫｏｈ著「Ｆｕｔｕｒｅ  Ｍｅｍｏｒｙ  Ｔｅｃｈｎｏｌｏｇｙ  ｉｎｃｌｕｄｉｎｇ  Ｅｍｅｒｇｉｎｇ  Ｎｅｗ  Ｍｅｍｏｒｉｅｓ」  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２４ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍｉｃｒｏｅｌｅｃｔｒｏｎｉｃｓ  （ＭＩＥＬ），Ｎｉｓ，Ｓｅｒｂｉａ  ａｎｄ  Ｍｏｎｔｅｎｅｇｒｏ、２００４年５月１６〜１９日、第１巻、ｐ．３７７−３８４
【非特許文献５】「Ｏｎ-Ｃｈｉｐ  ＥＣＣ  ｆｏｒ  Ｍｕｌｔｉ-Ｌｅｖｅｌ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｉｅｓ」  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １９８９  ＩＥＥＥ／ＣＡＭ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｈｅｏｒｙ  Ｗｏｒｋｓｈｏｐ，Ｉｔｈａｃａ，Ｎｅｗ  Ｙｏｒｋ、１９８９年６月２５〜２９日
【非特許文献６】Ｌｅｅら著「Ｅｆｆｅｃｔｓ  ｏｆ  Ｆｌｏａｔｉｎｇ  Ｇａｔｅ  Ｉｎｔｅｒｆｅｒｅｎｃｅ  ｏｎ  ＮＡＮＤ  Ｆｌａｓｈ  Ｍｅｍｏｒｙ  Ｃｅｌｌ  Ｏｐｅｒａｔｉｏｎ」  ＩＥＥＥ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅ  Ｌｅｔｔｅｒｓ，（２３：５）、２００２年５月、ｐ．２６４−２６６
【非特許文献７】Ａｇｒｅｌｌら著「Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔ  Ｓｅａｒｃｈ  ｉｎ  Ｌａｔｔｉｃｅｓ」  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｈｅｏｒｙ，ｖｏｌｕｍｅ  ４８、２００２年８月、ｐ．２２０１−２２１４
【非特許文献８】Ｊｕｎｇら著「Ａ  １１７ｍｍ２  ３．３Ｖ  Ｏｎｌｙ  １２８Ｍｂ  Ｍｕｌｔｉｌｅｖｅｌ  ＮＡＮＤ  Ｆｌａｓｈ  Ｍｅｍｏｒｙ  ｆｏｒ  Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ａｐｐｌｉｃａｔｉｏｎｓ」  ＩＥＥＥ  Ｊｏｕｒｎａｌ  ｏｆ  Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｃｉｒｃｕｉｔｓ，（１１：３１）、１９９６年１１月、ｐ．１５７５−１５８３
【非特許文献９】Ｔａｋｅｕｃｈｉら著「Ａ  Ｍｕｌｔｉｐａｇｅ  Ｃｅｌｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｈｉｇｈ-Ｓｐｅｅｄ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｍｕｌｔｉｌｅｖｅｌ  ＮＡＮＤ  Ｆｌａｓｈ  Ｍｅｍｏｒｉｅｓ」  ＩＥＥＥ  Ｊｏｕｒｎａｌ  ｏｆ  Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｃｉｒｃｕｉｔｓ，（３３：８）、１９９８年８月、ｐ．１２２８−１２３８
【発明の開示】
【００１２】
本発明の実施形態ではメモリ素子を動作させる方法が提供され、この方法は、
データを誤り訂正記号（ＥＣＣ）を用いて符号化し、符号化データを第１アナログ値としてメモリ素子の関連アナログ・メモリ・セルに格納する段階と、
符号化データを格納した後に、符号化データが格納されたメモリ素子のメモリセルから関連第２アナログ値を読み取る段階であって、関連第２アナログ値の少なくともいくつかは関連第１アナログ値と異なる段階と、
第２アナログ値に含まれる歪みを推定する段階と、
推定歪みに応答可能なように第２アナログ値に関して誤り訂正メトリクスを計算する段階と、
データを復元するために、ＥＣＣ復号プロセスで誤り訂正メトリクスを用いて第２アナログ値を処理する段階と、
を含む。
【００１３】
いくつかの実施形態では、誤り訂正メトリクスを計算する段階は、各メモリセルについて、歪みを示す１つ以上のセルパラメタを評価する段階と、セルパラメタに応答可能なように誤り訂正メトリクスを計算する段階とを含む。セルパラメタは、他のメモリセルから読み取られたアナログ値、他のメモリセルの推定相互結合係数、読み取られた第２アナログ値の統計的分布のパラメタ、メモリセルが前に受けたプログラミングおよび消去サイクルの数、前のプログラミングおよび消去サイクル後の経過時間、メモリセルで前に検出された誤り、メモリセルが接続されている語線の識別、メモリセルが接続されているビット線の識別、メモリセルが接続されているビット線に結合されたセンス増幅器の推定パラメタ、および環境パラメタから成るパラメタの群から選択される少なくとも１つのパラメタを含むとよい。
【００１４】
別の実施形態では、第２アナログ値を処理する段階は、第２アナログ値の可能な値の範囲を複数の決定間隔に分割する段階と、第２アナログ値が入る関連決定間隔を決定する段階とを含み、誤り訂正メトリクスを計算する段階は、ＥＣＣ復号プロセスの性能を改善するために、第２アナログ値を決定間隔に関連して変更する機能を規定する段階を含む。
【００１５】
さらに別の実施形態では、第２アナログ値を処理する段階は、ＥＣＣ復号プロセスの性能に関するフィードバックを受け取る段階と、フィードバックに応答可能なようにＥＣＣ復号プロセスを変更する段階とを含む。さらに別の実施形態では、第２アナログ値を処理する段階は第２アナログ値を決定閾値と比較する段階を含み、ＥＣＣ復号プロセスを変更する段階は決定閾値を変更する段階を含む。決定閾値を変更する段階は第２アナログ値をメモリセルから変更した決定閾値を用いて再び読み取る段階を含む。或る実施形態では、第２アナログ値を決定閾値と比較する段階はメモリ素子の第２アナログ値を決定閾値を用いて読み取る段階を含み、決定閾値を変更する段階はコマンドをメモリ素子に送って、閾値を変更することを要求する段階を含む。
【００１６】
開示される実施形態では、第２アナログ値を処理する段階は、いろいろなセットの決定閾値を用いてＥＣＣ復号プロセスの関連する複数の反復を実行することによって、各メモリセルに格納されたデータの複数の推定値を生成する段階と、データの複数の推定値に応答可能なようにデータを復元する段階とを含む。データを復元する段階は各メモリセルについて独立に複数の推定値の１つを選択する段階を含むとよい。
【００１７】
いくつかの実施形態では、第２アナログ値を処理する段階は第１誤り性能を有する第１ＥＣＣ復号プロセスを適用する段階を含み、フィードバックを受け取る段階は第１プロセスを用いて復号されたデータにおける復号誤りの表示を受け取る段階を含み、そしてＥＣＣ復号プロセスを変更する段階は第１誤り性能よりも良い第２誤り性能を有する第２ＥＣＣ復号プロセスを用いて第２アナログ値を処理する段階を含む。別の実施形態では、ＥＣＣ復号プロセスを変更する段階は第２アナログ値を読み取るのに用いるサンプリング分解能を変更する段階を含む。
【００１８】
いくつかの実施形態では、第２アナログ値を読み取る段階は関連するいろいろなセットの決定閾値を用いて第２アナログ値の複数のインスタンスを読み取る段階を含み、誤り訂正メトリクスを計算する段階は、各メモリセルについて独立に複数のインスタンスを組み合わせる段階と、組み合わせた複数のインスタンスに基づいて誤り訂正メトリクスを計算する段階とを含む。第２アナログ値の複数のインスタンスを読み取り、組み合わせる段階は、第２アナログ値の追加インスタンスを反復して得る段階と、ＥＣＣの復号に成功するまで追加インスタンスを用いて誤り訂正メトリクスを更新する段階とを含むとよい。
【００１９】
いくつかの実施形態では、各メモリセルについて、歪みを推定する段階は、メモリセルから読み取られた第２アナログ値の歪みの潜在的な一因となる、潜在的に妨害するメモリセルのサブセットから第２アナログ値を読み取る段階を含み、誤り訂正メトリクスを計算する段階は潜在的に妨害するメモリセルによる歪みを評価する段階を含む。或る実施形態では、潜在的に妨害するメモリセルによってメモリセルに与えられる歪みを評価する段階は、潜在的に妨害するメモリセルから読み取られた第２アナログ値およびメモリセルから読み取られた第２アナログ値の両方に基づいて、各潜在的に妨害するメモリセルによって与えられる歪みを近似する段階を含む。別の実施形態では、第２アナログ値を処理する段階は、メモリセルの第２アナログ値を第１量子化レベルで処理する段階と、潜在的に妨害するメモリセルから読み取られた第２アナログ値を第１量子化レベルよりも粗い第２量子化レベルで処理する段階とを含む。第２アナログ値を処理する段階は、第２アナログ値を読み取るのに用いる回路の閾値を反復して変更することによって、第２アナログ値を第１および第２量子化レベルで読み取る段階を含むとよい。
【００２０】
開示される実施形態では、符号化データを格納する段階はプログラムおよび検査（Ｐ＆Ｖ）プロセスを用いて第１アナログ値をメモリセルに書き込む段階を含み、歪みを推定する段階は、潜在的に妨害するメモリセルを、前記メモリセルよりも早く完全にプログラムされたメモリセル、前記メモリセルよりも遅く完全にプログラムされたメモリセル、およびＰ＆Ｖプロセスによって前記メモリセルと同時に完全にプログラムされたメモリセルから成るクラスの群から選択される少なくとも２つのクラスに分類する段階と、総歪みをクラスの各々内で別々に計算する段階とを含む。
【００２１】
いくつかの実施形態では、メモリセルは、フラッシュ・メモリ・セル、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）セル、位相変化メモリ（ＰＣＭ）セル、窒化読出し専用メモリ（ＮＲＯＭ）セル、磁気ＲＡＭ（ＭＲＡＭ）セル、または強誘電体ＲＡＭ（ＦＲＡＭ）セルを含むとよい。
【００２２】
開示される実施形態では、ＥＣＣはブロックコードを含む。ブロックコードはＢＣＨコードおよびリード・ソロモン（ＲＳ）コードの１つを含むとよい。或る実施形態では、ブロックコードは低密度奇偶検査（ＬＤＰＣ）コード、ターボコード、およびターボ・プロダクト・コード（ТＰＣ）の１つを含むとよい。ＥＣＣ復号プロセスは反復復号プロセスを含むとよい。さらに、または代替として、ＥＣＣ復号プロセスは第２アナログ値を読み取ることによって生成されるフィードバックを使用するとよい。ＥＣＣ復号プロセスは最尤シーケンス推定（ＭＬＳＥ）プロセスを含むとよい。ＥＣＣは、従来コード、トレリス符号化変調（ＴＣＭ）コード、ビットインターリブド符号化変調（ＢＩＣＭ）コード、および連結コードの１つを含むとよい。誤り訂正メトリクスは尤度比（ＬＲ）または対数尤度比（ＬＬＲ）を含むとよい。
【００２３】
いくつかの実施形態では、歪みを推定する段階はメモリセルの１つに含まれる歪みを他のメモリセルに含まれる歪みに基づいて予測する段階を含む。
【００２４】
或る実施形態では、メモリセルは潜在的に妨害するメモリセルの分離したグループに配置され、各グループの歪みを推定する段階はグループ内のメモリセルの対の間の相互干渉を表わす相互結合マトリックスの逆を評価する段階を含み、誤り訂正メトリクスを計算する段階は、第１アナログ値に適用され、グループ内の関連メモリセルの平均歪みレベルで合計した相互結合マトリックスの逆と第２アナログ値に適用された相互結合マトリックスの逆との間のディスタンスを計算する段階を含む。別の実施形態では、分離したグループは関連窒化読出し専用メモリ（ＮＲＯＭ）セルを含み、各グループ内の潜在的に妨害するメモリセルは関連ＮＲＯＭセルの第１および第２電荷蓄積領域を含む。さらに別の実施形態では、メモリセルは潜在的に妨害するメモリセルの分離したグループに配置され、各グループの歪みを推定する段階は、グループ内の関連メモリセルの平均歪みレベルのベクトルおよびグループ内のメモリセルの対の間の相互干渉を表わす相互結合マトリックスを評価する段階を含み、そして誤り訂正メトリクスを計算する段階は、グループ内のメモリセルから読み取られた第２アナログ値のベクトルと、相互結合マトリックスと平均歪みレベルのベクトルとの積との差に応答可能なようにメトリクスを計算する段階を含む。別の実施形態では、分離したグループは関連窒化読出し専用メモリ（ＮＲＯＭ）セルを含み、各グループ内の潜在的に妨害するメモリセルは関連ＮＲＯＭセルの第１および第２電荷蓄積領域を含む。
【００２５】
さらに別の実施形態では、符号化データを格納する段階は、符号化データをスクランブルする段階と、スクランブルされたデータを格納する段階とを含み、第２アナログ値を処理する段階はメモリセルから読み取られた第２アナログ値を逆スクランブルする段階を含む。さらに別の実施形態では、データを格納する段階はメモリセルの少なくともいくつかを消去レベルで維持する段階を含み、第２アナログ値を読み取る段階、歪みを推定する段階、誤り訂正メトリクスを計算する段階、および第２アナログ値を処理する段階は、消去レベルで維持されていたメモリセルから読み取られた第２アナログ値の歪みを補償する段階を含む。
【００２６】
本発明の実施形態に従って、メモリ素子を動作させる方法がまた提供され、この方法は、
データを第１アナログ値としてメモリ素子の関連アナログ・メモリ・セルに格納する段階と、
データを格納した後に、関連メモリセルから第２アナログ値の複数のインスタンスを読み取る段階であって、インスタンスの各々は第２アナログ値を関連決定閾値と比較することによって読み取られる段階と、
第２アナログ値に含まれる歪みを推定する段階と、
データを復元するために、推定歪みに応答可能なように第２アナログ値の複数のインスタンスを処理する段階と、
を含む。
【００２７】
いくつかの実施形態では、複数のインスタンスを読み取り、処理する段階は第２アナログ値の追加インスタンスを反復して得る段階を含む。
【００２８】
本発明の実施形態に従って、誤り訂正記号（ＥＣＣ）を用いて符号化され、第１アナログ値としてメモリ素子の関連アナログ・メモリ・セルに格納されたデータを検索する装置が追加として提供され、この装置は、
符号化データが格納されたメモリ素子のアナログ・メモリ・セルから関連第２アナログ値を読み取るように構成される読み取りユニットであって、関連第２アナログ値の少なくともいくつかは関連第１アナログ値と異なる読み取りユニットと、
第２アナログ値に含まれる歪みを推定し、推定歪みに応答可能なように第２アナログ値に関して誤り訂正メトリクスを計算するように構成される信号処理ユニットと、
ＥＣＣを復号し、データを復元するために、誤り訂正メトリクスを用いて第２アナログ値を処理するように構成される復号器と、
を備える。
【００２９】
或る実施形態では、読み取りユニットは第１集積回路（ＩＣ）内にあり、信号処理ユニットおよび復号器は第１ＩＣと異なる第２ＩＣ内にある。代替実施形態では、読み取りユニット、信号処理ユニット、および復号器は単一素子に集積化されている。
【００３０】
本発明の実施形態に従って、第１アナログ値としてメモリ素子の関連アナログ・メモリ・セルに格納されたデータを検索する装置がさらに提供され、この装置は、
第２アナログ値の複数のインスタンスを関連メモリセルから読み取るように構成される読み取りユニットであって、インスタンスの各々は第２アナログ値を関連決定閾値と比較することによって読み取られる読み取りユニットと、
データを復元するために、第２アナログ値に含まれる歪みを推定し、推定歪みに応答可能なように第２アナログ値の複数のインスタンスを処理するように構成される信号処理ユニットと、
を備える。
【００３１】
本発明は、図面を併用して、その実施形態についての次の詳細な説明によってより完全に理解されるだろう。
【００３２】
（図面の簡単な説明）
図１は、本発明の実施形態に従って、メモリ信号処理の装置を図式的に示すブロック図である。
図２は、本発明の実施形態に従って、メモリ・セル・アレイを図式的に示す図である。
図３は、本発明の実施形態に従って、メモリ・セル・アレイの電圧分布を示すグラフである。
図４は、本発明の実施形態に従って、データをメモリ・セル・アレイから検索するプロセスを図式的に示す機能ブロック図である。
図５は、本発明の実施形態に従って、データをメモリ・セル・アレイから検索する方法を図式的に示す流れ図である。
図６は、本発明の実施形態に従って、メモリ・セル・アレイの歪みを推定する方法を図式的に示す流れ図である。
【発明を実施するための最良の形態】
【００３３】
概観
本発明の実施形態はメモリ素子に格納された情報を検索する改善された方法および方式を提供する。以下に説明する実施形態では、データはメモリ・セル・アレイのアレイに書き込まれる電荷のレベルとして格納される。電荷レベルはセルのそれぞれの閾値電圧を決定する。さまざまな歪み機構の影響を低下させるために、データはそれをメモリセルに格納するに先立って誤り訂正記号（ＥＣＣ）を用いて符号化される。
【００３４】
データは、メモリセルの閾値電圧を読み取り、ＥＣＣをＥＣＣ復号器を用いて復号することによって復元される。ＥＣＣ復号器はＥＣＣメトリクス、例えば、読み取り電圧にわたって規定される対数尤度比（ＬＬＲ）で動作する。
【００３５】
信号処理ユニットは読み取り電圧に含まれる歪みを推定する。歪みは、アレイの他のセル、かかるセルで実行される動作、および／またはエージングのような効果に起因する可能性がある。歪み機構に応じて、セルに蓄積された電荷の実際レベルおよび／または感知され、サンプリングされた電圧は影響を受ける可能性がある。信号処理ユニットはＥＣＣメトリクスを推定歪みに基づいて計算し、ＥＣＣメトリクスをＥＣＣ復号器に提供する。ＥＣＣ復号器は、目標メモリセルに格納されたデータを復元するために、ＥＣＣをメトリクスを用いて復号する。ＥＣＣメトリクスはまた予想歪みレベルを示す追加のいくつかのセルパラメタも考慮するとよい。いくつかの実施形態では、ＥＣＣ復号プロセスの成功、失敗、または品質に応じたフィードバックが復号プロセスの動作を変更するために使用される。
【００３６】
推定歪みに基づくＥＣＣメトリクスを用いることによってＥＣＣ復号プロセスの性能を著しく改善する。ＥＣＣ復号プロセスの改善された性能はより高い情報記憶密度をいくつかの方法で達成するために使用され得る。例えば、各メモリセルに蓄積される電圧レベルの数（従って情報ビットの数）を増大させることができる。他の実施形態では、セル間の増大した相互結合およびより高いエージング速度を有する可能性がある、より小さく高密度のメモリ・セル・アレイが、改善されたＥＣＣ性能のために、良好な性能を伴って使用され得る。追加して、または代替として、符号レートが所与の誤り率要求について減らされることが可能であり、より小さい符号化オーバヘッドをもたらす。代替実施形態では、所与のメモリアレイおよびＥＣＣの性能誤りを改善することができる。改善された性能はまたメモリ素子によって使用される閾値電圧の範囲を小さくするためにも使用されることが可能であり、従って素子の電力消費を減らし、その信頼性および耐久性を改善する。
【００３７】
本明細書に述べた方法および装置は多種多様のメモリ素子およびセルタイプ、例えば、いろいろなフラッシュ・メモリ・セル、ＤＲＡＭセル、ＮＲＯＭセル、ＭＲＡＭセル、およびＰＣＭセルなどで使用され得る。本発明の原理はまたさまざまな記憶媒体および素子、例えばハード・ディスク・ドライブ（ＨＤＤ）におけるデータの記憶および検索でも使用され得る。
【００３８】
どんな適切な推定方法もメモリ・セル・アレイから読み取られた電圧の歪みを推定するために使用され得る。いくつかの例示的な方法をここで説明する。
【００３９】
システムの記載
図１は、本発明の実施形態に従って、メモリ信号処理の装置２０を図式的に示すブロック図である。装置２０はデータをメモリ・セル・アレイ２８に格納するメモリ素子２４を備えている。メモリアレイは複数のアナログメモリ・セル３２を備えている。本特許出願の文脈で、かつ特許請求の範囲で、用語「アナログ・メモリ・セル」は、物理的パラメタの連続アナログ値、例えば、電圧または電荷などを保持することによって情報を格納する任意のメモリセルを表わすために使用される。アレイ２８はどんな種類のアナログ・メモリ・セルでも、例えば、ＮＡＮＤおよびＮＯＲフラッシュセル、ＰＣＭ、ＮＲＯＭ、ＦＲＡＭ、ＭＲＡＭ、およびＤＲＡＭセルなどを備えるとよい。
【００４０】
メモリ素子２４に格納するデータは素子に提供され、データバッファ３６に保存される。次にデータはアナログ電圧に変換され、読み取り／書き込み（Ｒ／Ｗ）ユニット４０を用いてメモリセル３２に書き込まれ、この機能は以下にさらに詳細に説明される。データをアレイ２８から読み取るとき、ユニット４０は電荷、従ってメモリセル３２のアナログ電圧をデジタルサンプルに変換する。各デジタルサンプルは１つ以上のビットを用いて表わされる。サンプルはバッファ３６に保存される。ユニット４０によって生成されるサンプルはソフトサンプルとも呼ばれる。メモリ素子２４の動作およびタイミングは制御論理４８によって管理される。
【００４１】
データのメモリ素子２４への格納およびそれからの検索はメモリ信号プロセッサ（ＭＳＰ）５２によって実行される。ＭＳＰ５２はメモリ素子２４とデータを格納、検索するホストまたはアプリケーションとの間に介在する。以下に詳細に示すように、ＭＳＰ５２はデータの信頼性および記憶密度を改善するために誤り訂正符号化と歪み推定を組み合わせる新しい方法を使用する。
【００４２】
ＭＳＰ５２は符号化器／復号器６４を備え、これはＥＣＣを用いて素子２４に書き込まれるデータを符号化し、データを素子２４から読み取るときＥＣＣを復号する。信号処理ユニット６０は素子２４に書き込まれ、かつそれから検索されるデータを処理する。具体的に言えば、ユニット６０は素子２４から読み取られた電圧に影響を及ぼす歪みを推定する。推定歪みは、以下にさらに詳細に説明するように、ＥＣＣの性能を改善するために使用される。
【００４３】
ＭＳＰ５２はデータバッファ７２を備え、これはデータを格納するために、かつメモリ素子２４とインターフェースをとるためにユニット６０によって使用される。ＭＳＰ５２はまた入力／出力（Ｉ／О）バッファ５６を備え、これはＭＳＰとホストとの間にインターフェースを形成する。コントローラ７６はＭＳＰ５２の動作およびタイミングを管理する。以下に述べる機能を実行するのに加えて、コントローラ７６は追加のメモリ管理機能、例えば、磨耗レベリングおよび不良ブロック管理などを実行するとよい。信号処理ユニット６０およびコントローラ７６はハードウェアに組み入れられるとよい。あるいは、ユニット６０および／またはコントローラ７６は適切なソフトウェア、またはハードウェアとソフトウェア要素の組み合わせを実行するマイクロプロセッサを備えるとよい。
【００４４】
図１の構成は例示的な装置構成であり、これは概念を単に明確にするために示されている。その他の適切な構成も使用され得る。本発明の原理を理解するためには不要である要素、例えば、さまざまなインターフェース、アドレス指定回路、タイミングおよび順序付け回路、データスクランブル回路、およびデバック回路などが明確にするために図から省かれた。
【００４５】
図１に示す例示的な装置では、メモリ素子２４およびＭＳＰ５２は２つの別々の集積回路（ＩＣ）として組み入れられている。代替実施形態では、しかしながら、メモリ素子およびＭＳＰは単一ＩＣまたはシステム・オン・チップ（ＳｏＣ）に集積化されるとよい。いくつかの実施形態では、単一ＭＳＰ５２は複数のメモリ素子２４に接続されるとよい。装置２０の具体化のいくつかの実施形態の追加アーキテクチャーの態様は前掲の米国仮特許願第６０／８６７３９９号にさらに詳細に記載されている。
【００４６】
典型的な書き込み動作において、メモリ素子２４に書き込まれるデータはホストから受け取られ、Ｉ／Ｏバッファ５６に保存される。符号化器／復号器６４はデータを符号化し、符号化データは、データバッファ７２を経由して、メモリ素子２４へ転送される。素子２４においてデータはバッファ３６に一時的に格納される。Ｒ／Ｗユニット４０はデータをアナログ電圧に変換し、データをアレイ２８の適切なセル３２に書き込む。
【００４７】
典型的な読み取り動作において、Ｒ／Ｗユニット４０はアナログ電圧値を適切なメモリセル３２から読み取り、電圧をデジタルサンプルに変換する。サンプルはバッファ３６に保存され、ＭＳＰ５２のバッファ７２へ転送される。信号処理ユニット６０は、以下に説明する方法を用いて、データサンプルに含まれる歪みを推定する。
【００４８】
データのブロックはバッファ７２からユニット６０へ転送され、符号化器／復号器６４はこのブロックのＥＣＣを復号する。符号化器／復号器６４はユニット６０によって与えられる歪み推定を使用して、ＥＣＣ復号プロセスの性能を改善する。復号データはＩ／Ｏバッファ５６を経由してホストへ転送される。
【００４９】
いくつかの実施形態では、ＭＳＰ５２は、それがメモリセルに書き込まれる前にデータをスクランブルし、歪み推定性能を改善するために、メモリセルから読み取られたデータを逆スクランブルする。
【００５０】
メモリアレイ構成および歪みのメカニズム
図２は、本発明の実施形態に従って、メモリ・セル・アレイ２８を図式的に示す図である。図２は特定のアレイ構成で接続されているフラッシュ・メモリ・セルを参照しているけれども、本発明の原理は他のタイプのメモリセルおよび他のアレイ構成にも同様に適用可能である。いくつかの例示的なセルタイプおよびアレイ構成は上の背景項で引用した参考文献に記載されている。
【００５１】
アレイ２８のメモリセル３２は複数の行および列を有する格子状に配置されている。各セル３２は浮遊ゲート金属酸化物半導体（ＭＯＳ）トランジスタを備える。或る量の電荷（電子またはホール）が適切な電圧レベルをトランジスタのゲート、ソース、およびドレインに印加することによって特定のセルに蓄積され得る。セルに蓄積された値はセルの閾値電圧を測定することによって読み取られることが可能であり、これはトランジスタを導通させるためにトランジスタのゲートに印加する必要がある最小電圧として規定される。読み取り閾値電圧はセルに蓄積された電荷に比例する。
【００５２】
図２の例示的な構成では、各行のトランジスタのゲートは語線８０によって接続されている。各列のトランジスタのソースはビット線８４によって接続されている。いくつかの実施形態では、例えばいくつかのＮＯＲセル素子では、ソースはビット線に直接接続される。代替実施形態では、例えばいくつかのＮＡＮＤセル素子では、ビット線は浮遊ゲートセルのストリングに接続される。
【００５３】
通常、Ｒ／Ｗユニット４０は、変化する電圧レベルを特定のセル３２のゲートに（すなわち、セルが接続されている語線に）印加し、かつセルのドレイン電流が或る閾値を超えるかどうか（すなわち、トランジスタが導通するかどうか）を調べることによって、特定のセル３２の閾値電圧を読み取る。ユニット４０は通常一連のいろいろな電圧値をセルが接続されている語線に印加し、ドレイン電流が閾値を超える最も低いゲート電圧値を決定する。通常、ユニット４０はページとも呼ばれているセルの行全体を同時に読み取る。
【００５４】
いくつかの実施形態では、ユニット４０はセルのビット線を或る電圧レベルに事前に充電することによってドレイン電流を測定する。ゲート電圧が所望値に設定されると、ドレイン電流はビット線電圧をセルを通じて放電させる。ゲート電圧が印加された後、数マイクロ秒間、ユニット４０はビット線電圧を測定し、ビット線電圧を閾値と比較する。いくつかの実施形態では、各ビット線８４は関連センス増幅器に接続され、これはビット線電流を増幅し、それを電圧に変換する。増幅された電圧は比較器を用いて閾値と比較される。
【００５５】
以下に述べる方法のいくつかは読み取り電圧レベルが比較される閾値の調整を含む。かかる閾値調整は、場合によっては各読み取り動作に先立って、高速で実行されるとよい。いくつかの実施形態では、メモリ素子２４、具体的に言えばＲ／Ｗユニット４０は高速で効果的かつ柔軟な閾値調整を可能にするように設計される。例えば、ＭＳＰ５２とメモリ素子２４との間のインターフェースは、Ｒ／Ｗユニット４０によって高速で効果的かつ柔軟な閾値調整を可能にするコマンドを備える。かかるコマンドは要求された調整を各個別閾値ごとに規定するか、または全閾値セットについて同一の調整を要求するとよい。このために使用され得る例示的なコマンドインタフェースは、前掲の米国仮特許願第６０／８８９２７７号、第６０／９１２０５６号、および第６０／９１３２８１号に記載されている。
【００５６】
上述の電圧読み取り方法は例示的な方法である。あるいは、Ｒ／Ｗユニット４０はセル３２の閾値電圧を読み取るためにその他の適切な方法を使用するとよい。例えば、ユニット４０は１つ以上のアナログ-デジタル変換器（ＡＤＣ）を備え、これはビット線電圧をデジタルサンプルに変換する。さらにあるいは、本明細書に述べた方法および装置は、アナログ値をアナログ・メモリ・セルへ書き込み、それから読み取る、任意の適切な方法または手段とともに使用され得る。
【００５７】
いくつかの実施形態では、全ページ（行）は並列に書き込まれ、読み取られる。セルの消去は複数のページを含むブロックで通常実行される。典型的なメモリ素子は数十万ページを含むとよく、各々は数千のセル（例えば、１６Ｋまたは３２Ｋセル）を含む。他のブロックサイズも使用され得るけれども、典型的な消去ブロックは約１２８ページである。
【００５８】
Ｒ／Ｗユニット４０によってデジタル化された電圧はさまざまなタイプの歪みを含む可能性があり、これはアレイ２８のいろいろな歪み機構に起因する。いくつかの歪み機構はセルに蓄積される実際の電荷に影響を及ぼすのに対して、他の機構は感知された電圧を歪ませる。例えば、アレイの隣接セル間の電気的結合は特定のセルの閾値電圧を変更する可能性がある。この効果は妨害ノイズと呼ばれる。別の例として、電荷がセルから時間とともに漏洩する可能性がある。このエージング効果の結果として、セルの閾値電圧は最初に書き込まれた値から時間とともにドリフトする可能性がある。
【００５９】
通例妨害ノイズと呼ばれている、別のタイプの歪みはアレイの或るセルにおける読み取り、書き込み、または消去に起因し、これは他のセルの意図しないプログラミングまたは消去を引き起こす。さらに別のサンプルとして、特定のセルのソース・ドレイン電流は、バックパターン従属性と呼ばれている効果によって、隣接セル、例えば、同じＮＡＮＤセルストリングの他のセルの変化の影響を受け得る。
【００６０】
図３は、本発明の実施形態に従って、メモリ・セル・アレイ２８の電圧分布を示すグラフである。図３はメモリ・セル・アレイから値を読み取る精度に与える歪みの影響を示すために使用されている。図３の例では、各セル３２は４つの名目電圧レベルを用いて２ビットの情報を格納している。グラフ９２Ａ．．．９２Ｄは、各セルがプログラムされる時に、全アレイにわたる電圧分布を示す。グラフ９２Ａは「１１」ビット値を格納しているセルにおける電圧の分布を示す。グラフ９２Ｂ、９２Ｃ、および９２Ｄは「０１」、「００」、および「１０」ビット値をそれぞれ格納しているセルにおける電圧分布を示す。
【００６１】
本例では、セル３２の閾値電圧は３ビット変換を用いて読み取られる。従って、閾値電圧の範囲は８つの決定ゾーン９６Ａ．．．９６Ｈに分割される。各セルのデータ内容は、セルから読み取られた閾値レベルが収まる決定ゾーンに基づいて決定される。例えば、決定ゾーン９６Ｆに収まる、特定のセルから読み取られた電圧レベル９８はセルのデータ内容が「００」であること示す。決定ゾーン９６Ｅに収まる電圧レベルはまた「１１」のデータ内容を示すとして解釈されることに留意する必要がある。４つの決定ゾーンは４つの可能なビット組み合わせを復号するのに通常十分であるけれども、８つの決定ゾーンを用いることはより良い分解能を与え、歪み推定および復号性能を改善する。
【００６２】
さまざまな歪み機構の結果として、閾値電圧の分布は変化する可能性がある。例えば、閾値電圧はエージングに因って時間とともにドリフトする可能性がある。グラフ１００Ａ．．．１００Ｄは、電圧が時間とともにシフトした後の「１１」、「０１」、「００」、および「１０」のデータ内容を有するセルの分布をそれぞれ示している。
【００６３】
具体的に言えば、電圧レベル９８は歪みに因ってシフトされたレベル１０４に変化した。図で分かるように、電圧レベル１０４は、もともと意図したように、決定ゾーン９６Ｆではなく、ゾーン９６Ｅに収まる。本例では、８つの決定ゾーンによって与えられる分解能の向上に因って、偏りは決定誤りを必ずしも引き起こさない。しかしながら、一般に、歪みはセルのデータ内容の読み取り誤りを引き起こす可能性がある。
【００６４】
歪み概算によりアシストされるＥＣＣ符号化
装置２０は、ＥＣＣを用いてセルに格納したデータを符号化することによって、セル３２のデータ内容について誤った決定を行う可能性を減らす。本例では、符号化器／復号器６４は各ページのデータを別々に符号化する。代替実施形態では、データはその他の適切なサイズを有するブロックで符号化され得る。例えば、各ページはいくつかのセクタに分割されることが可能であり、符号化器／復号器６４は各セクタのデータを別々に符号化する。あるいは、データは複数のページにわたって符号化され得る。
【００６５】
当技術分野で周知のさまざまな種類の誤り訂正記号はデータを符号化するために使用され得る。ＥＣＣは、例えば、データの固定サイズのブロックを別々に符号化するブロックコードを含むとよい。例示的なブロックコードはボーズ・チャウドーリー・ホッホクエンゲム（ＢＣＨ）コードまたはリード-ソロモン（ＲＳ）コードを含むとよい。ブロックコードの特別なクラスは反復復号プロセスに適しているコードのクラスである。反復プロセスを用いて通常復号されるコードは、例えば、低密度奇偶検査（ＬＤＰＣ）コード、ターボ-コード、およびターボ・プロダクト・コード（ＴＰＣ）を含む。他の種類のコードは重畳コードおよびトレリス符号化変調（ＴＣＭ）コードを含むとよい。さらなる代替として、コードは既知のビットインターリブド符号化変調（ＢＩＣＭ）コードを含むとよく、これは従来のコード、ビットインタリーバ、およびグレイマッパーを通常含む。
【００６６】
ＥＣＣプロセスは、フィードバック符号化プログラミングプロセス、例えば、前掲の米国仮特許願第６０／８６３８１０号に記載されているプロセスを代替として含むとよい。場合によっては、２つのコードは連結コードを形成するために内部および外部コードとして順次に使用され得る。
【００６７】
符号化器／復号器６４によって用いられるＥＣＣは読み取りデータにわたって規定されるメトリクスで動作する。もし或る電圧レベルが読み取られたならば、ＥＣＣメトリクスは特定の情報ビット（またはリード-ソロモンコードおよびトレリスコードの場合のように、記号）が符号化された統計的可能性に関する情報を提供するとよい。ＥＣＣメトリクスは、電圧分布９２Ａ．．．９２Ｄの中心および分散のようなパラメタに基づいているとよい。
【００６８】
通常、ＭＳＰ５２は電圧分布のパラメタを推定し、推定パラメタを用いて、ビットまたは記号可能性を計算する。さらに、ＭＳＰはセルの状態に関する情報を保管または受け取り、この情報を用いて、セルの電圧分布の特性を評価し、それに応じてＥＣＣメトリクスを変更する。例えば、ＭＳＰは、セルが受けたプログラムおよび消去サイクルの数、ならびにそれらがどのくらい前にプログラムされたかを追跡するとよい。これらのパラメタは、セルがプログラムされて以来それが被った漏洩ノイズのレベルを示している。
【００６９】
いくつかの実施形態では、ＥＣＣメトリクスは尤度比（ＬＲ）または対数尤度比（ＬＬＲ）を含むとよく、これらは次のように定義される。
【００７０】
【数１】
2009537056.tif 000003
【００７１】
【数２】
2009537056.tif 000004
ここで、Ｘｉは特定のメモリセルに格納された１つ以上のビットの特定のデータビットを示し、ｒはセルから読取られた電圧レベルを示す。あるいは、ＥＣＣメトリクスは、メモリセルから読み取られる電圧レベルにわたって規定されたその他のメトリックを含むとよく、これはＥＣＣ復号プロセスを支援する。
【００７２】
他の種類のＥＣＣメトリクスは、付加白色ガウス・ノイズ・シナリオでよく用いられる２乗誤差ＬＬＲ、ならびにビタビ復号器、ＴＣＭコード、およびＢＩＣＭコードでよく用いられる平均２乗誤差推定を含むとよい。
【００７３】
いくつかの実施形態では、ＥＣＣメトリックは復号ビットの相対的信頼度を示すとよい。例えば、ビットは読み取り閾値レベルの分布の中心からの距離に基づいて「誤った疑いがある」、「正常」、または「安全」に分類され得る。読み取り電圧が決定ゾーンの縁に近い場合に、関連ビットは「誤った疑いがある」と分類される。電圧が十分決定ゾーン内にある場合に、関連ビットは「安全」と分類される。さもなければ、ビットは「正常」と分類される。かかるＥＣＣメトリクスは、例えば、ブロック・コード・ソフト復号器によって使用され得る。
【００７４】
信号処理ユニット６０はメモリセル３２から読み取られた電圧に含まれる歪みを推定し、推定歪みに基づいてＥＣＣメトリクスを計算する。推定歪みに基づくＥＣＣメトリクスを用いることにより、それはより小さい歪みを有する値をより重要視するので、符号化器／復号器６４によって実行されるＥＣＣ復号プロセスの性能は著しく改善され、逆の場合も同じである。
【００７５】
図３の例を参照すると、そしてｐ（Ｘｉ＝０）＝ｐ（Ｘｉ＝１）＝０．５と仮定すると、式［２］は次式になる。
【００７６】
【数３】
2009537056.tif 000005
ここで、Ｓは決定ゾーン９６Ａ．．．９６Ｈを示し、Ｓ｜Ｘｉ＝０は、ビットＸｉが「０」に等しいセルにプログラムされる値のサブセットを示し、そしてＳ｜Ｘｉ＝１は、ビットＸｉが「１」に等しいプログラムされた値のサブセットを示す。
【００７７】
仮にＴ０は読み取り電圧ｒに最も近いＸｉ＝０に対する値を示すとし、そしてＴ１は読み取り電圧ｒに最も近いＸｉ＝１に対する値を示す。ほとんどの実際的事例では、式［３］の和は各和の最大項によって近似されることが可能であり、最大項は通常Ｔ０およびＴ１を含む項である。また、ｒの電圧分布は分散σ２を有するガウス分布であると仮定して、式［３］は次式によって近似され得る。
【００７８】
【数４】
2009537056.tif 000006
ｒは特定の決定ゾーン内の値を表わし、符号［Ｖａ、Ｖｂ］で示されるので、式［４］は次式のようにより正確に書くことができる。
【００７９】
【数５】
2009537056.tif 000007
ここで、Ｑ（）はガウス相補累積分布関数（ＣＤＦ）を示す。本例では、ユニット６０はＶａ、Ｖｂ、Ｔ０、Ｔ１およびσに基づいてＬＬＲを計算する。
【００８０】
いくつかの実施形態では、ＭＳＰによって評価されるＥＣＣメトリクスは、ＥＣＣメトリクスの精度および性能を改善するために、ＭＳＰが利用できる追加セルパラメタを考慮に入れるとよい。かかる追加情報はセルの予想歪みレベルを示す任意のパラメタ、例えば、隣接セルに書き込まれた値、隣接セルの推定相互結合係数、セルが受けたプログラムおよび消去サイクルの数、前のプログラムおよび消去サイクル以後に経過した期間、セルで検出された前の復号誤り、セルが接続される語線および／またはビット線の識別、供給電圧（ＶＣＣ）および温度のような環境パラメタ、および／またはその他の適切なパラメタを含むとよい。例えば、上式［３］の条件付き確率は追加セルパラメタを考慮に入れる条件付き確率で置き換えられ得る。
【００８１】
いくつかの実際的事例では、隣接セルからの相互結合妨害のレベルは隣接セルに蓄積した電圧（または電荷）ばかりでなく、妨害されたセルの電圧レベル（または電荷レベル）にも依存する。従って、いくつかの実施形態では、ＭＳＰは妨害するセルおよび妨害されたセルの電圧（または電荷）レベルにわたって規定した機能を評価することによってＥＣＣメトリクスを計算する。
【００８２】
相互結合係数の値を推定する段階のいくつかの態様が「メモリ素子における歪み推定および取消し」という発明の名称の２００７年５月１０日に提出のＰＣＴ出願に記載されており、この開示は参照して本明細書に盛り込まれる。
【００８３】
場合によっては、メモリ・セル・アレイをセルのグループに分割することが可能であり、これにより相互結合妨害は各グループに限定され、いろいろなグループは互いから分離される。極端な例がＮＲＯＭ素子で起こり、ここでは各セルは２つの値をセルの２つの電荷領域に格納する。セルとセルの分離が十分に高い場合に、相互結合は各セルの２つの値の間にだけ起こると見なすことができる。
【００８４】
かかる場合に、特定のセルグループにおけるセル間の相互結合係数は相互結合行列で構成されることが可能であり、ＥＣＣメトリクスを相互結合行列を用いて計算することができる。
【００８５】
仮にｘ＝［ｘ１ｘ２...ｘｋ］はｋ個の相互に妨害するセルのグループに書き込まれたｋ個の値を示すとする。仮にｙ＝［ｙ１ｙ２...ｙｋ］はセルから読み取られたｋ個の値を示すとする。場合によっては、例えば、セルがグループ内のすべてのセルに同時に適用されるプログラムおよび検査（Ｐ＆Ｖ）プロセスを用いて書き込まれる場合、セルがプログラムされる時にｘ＝ｙである。ベクトルｙはいろいろな歪み機構、例えばエージングに因って経時変化する。後の時点におけるベクトルｙの値は次式のように書き込まれ得る。
【００８６】
【数６】
2009537056.tif 000008
ここで、ｍはエージングに因るｋ個の電圧の関連電圧変化のベクトルを示し、はランダム・エージング・ノイズ構成要素のベクトルを示す。ｋ個のランダム構成要素は分散σ２を有するガウス分布を有すると仮定される。Ｈは次式のように規定される相互結合行列である。
【００８７】
【数７】
2009537056.tif 000009
ここで、αｉｊはグループ内のセルｊからセルｉまでの相互結合係数を示す。ｋ＝２の場合、例えばＮＲＯＭの場合、
【００８８】
【数７ａ】
2009537056.tif 000010
そのｋ個の構成要素は相関性があるので、上式［６］の項Ｈｎはホワイトではない。上式［６］の両辺にＨの逆数を乗じて次式を得る。
【００８９】
2009537056.tif 000011
ここで、項（Ｈ−１ｘ＋ｍ）は決定性であり（そして、書き込まれたレベルは既知であると仮定すれば、既知であり）、ｎはランダムかつホワイトである。
ＭＳＰ５２は係数αｉｊを推定することによってＨ−１を計算する。次にＭＳＰは次式を最小にするｘの値を決定することによってデータを復号することができる。
【００９０】
【数９】
2009537056.tif 000012
ここで、‖‖はユークリッドノルムを示す。
【００９１】
例えば、ハード決定ＥＣＣ復号器を用いる場合、ＭＳＰは、上式［９］を最小にする値のセットを決定するために、ｘのいろいろの可能なデータ値の組み合わせを通じて走査または探索することができる。任意の適切な探索プロセスをこのために使用することができる。例えば、ＭＳＰは、非特許文献７（これは参照して本明細書に盛り込まれる）に記載の方法のような球復号方法を使用することができる。あるいは、Ｖ-ＢＬＡＳＴ近似復号方法も、当技術分野で周知のように、使用することができる。
【００９２】
ソフト決定ＥＣＣ復号器を用いる場合、例えばＢＩＣＭを用いる場合、ＭＳＰは通常各データビットのＬＬＲを探索プロセス中に計算する。例えば、ＭＳＰは問題のデータビットが「１」に設定されるすべてのｘ値について上式［９］の最小値を計算し、この結果から問題のデータビットが「０」に設定されるすべてのｘ値について式［９］の最小値を差し引くことができる。次に結果として生じるＬＬＲはソフトＥＣＣ復号器によってメトリクスとして使用され得る。あるいは、ｍは、ｙにおけるハード決定に基づいて、変化の名目平均値を用いることによって近似され得る。次に、式ｙ−Ｈ・ｍは上式［４］または［５］におけるＬＬＲ計算への入力として使用され得る。
【００９３】
通常、上式［９］はＥＣＣ復号器によってＥＣＣメトリックとして使用され得る。例えば、ＥＣＣがＴＣＭ方式を含み、かつＥＣＣ復号器がビタビ復号器を備える場合に、復号器は上式［９］をグループ内のｋ個のセルに対応する値のグループのメトリックとして使用することができる。
【００９４】
図４は、本発明の実施形態に従って、データをメモリ・セル・アレイ２８から検索するプロセスを図式的に示す機能ブロック図である。データをメモリ素子２４から読み取る場合に、Ｒ／Ｗユニット４０はアレイ２８のメモリセル３２から読込まれた電圧レベルに基づいてデジタル化サンプルを生成する。サンプルはデータバッファ７２に格納される。
【００９５】
本特許出願の文脈の中で、かつ特許請求の範囲で、「読み取りデータ」、「サンプリング電圧」、および「読み取り電圧」のような用語は、メモリセルに格納したアナログ電圧をデジタルサンプルに明示的に変換することか、あるいはかかるサンプルをインターフェースを通じて受け取ることを意味する。例えば、上図１に示すような２チップ構成を用いる場合、これらの用語は外部比較器またはＡ／Ｄ変換器によって生成したサンプルをＭＳＰによって受け取ることを指すことができる。
【００９６】
目標サンプル（すなわち、そのデータがホストによって要求されるメモリセルのサンプル）は信号処理ユニット６０のメトリック計算モジュール１０８に提供される。メトリック計算モジュールは目標サンプルのＥＣＣメトリクスを計算する。
【００９７】
目標サンプルも、潜在的に目標セルを歪ませる可能性がある他のセルのサンプルも信号処理ユニット６０の歪み推定モジュール１１２に提供される。モジュール１１２は目標セルおよび潜在的に妨害するセルのサンプルに基づいて目標セルに起因する歪みを推定する。モジュール１１２は歪みを推定するためにさまざまな方法を実行するとよい。例示的な推定方法を以下にさらに説明する。
【００９８】
モジュール１１２は、問題の歪み機構のタイプおよび用いる推定方法に基づいて、潜在的に妨害するセルのいろいろな数およびタイプを考察するとよい。例えば、いくつかの実施形態では、モジュール１１２はアレイ内の各セルからその８つの隣りのセルへの相互結合妨害を推定する。これらの実施形態では、通常モジュール１１２は復号されるページ（行）も前と後のページも処理する。この場合のデータバッファは数ページのサイズであり得る。
【００９９】
代替実施形態では、モジュール１１２は或るセルの左隣りおよび右隣りのセルだけに由来する歪みを考察するとよい。これらの実施形態では、データバッファはより小さく、約単一ページであるとよい。
【０１００】
いくつかの実施形態では、モジュール１１２は目標セルから離れたページ中のセルに起因する歪みを推定する。例えば、バック・パターン・ノイズは離れたページ以外の目標セルと同じ列のセルに起因する可能性がある。これらの実施形態では、かかる離れたセルの内容、またはこのセルに関する他の情報はモジュール１１２に提供されるとよい。
【０１０１】
場合によっては、潜在的に妨害するセルから読み取られたサンプルは格納され、より粗い量子化で、すなわち目標セルのサンプルの量子化と比べてより小さいビット数で処理され得る。減らされた量子化はデータバッファのサイズおよびモジュール１１２の複雑さを減らすことができる。
【０１０２】
歪み推定モジュール１１２は推定歪みをメトリック計算モジュール１０８に提供する。メトリック計算モジュールは推定歪みに基づいてＥＣＣメトリクスを計算し、メトリクスを符号化器／復号器６４に提供する。ＥＣＣ符号化器／復号器は目標メモリセルに格納したデータを復元するためにメトリクスを用いてＥＣＣを復号する。
【０１０３】
いくつかの実施形態では、メトリック計算モジュール１０８は目標セルから読み取られたサンプル値について、かつ決定閾値について機能を規定する。この機能は、歪み推定がモジュール１１２によって提供されると仮定されると、ＥＣＣ復号プロセスの誤り確率を小さくするために決定閾値に関してサンプル値を変更する。例えば、図３を参照すると、モジュール１０８によって評価される機能は曲線１００Ａ．．．１００Ｄを曲線９２Ａ．．．９２Ｄにそれぞれマップするように、電圧軸をほとんど包む。機能がその後の目標サンプルで動作する場合に、ビット決定はシフトされた分布１００Ａ．．．１００Ｄに基づいて行われる。
【０１０４】
場合によっては、ＥＣＣ復号プロセスからのフィードバック（例えば、復号成功または失敗）は歪み推定およびメトリック計算プロセスをさらに改善するために使用され得る。かかるフィードバックを使用するデータ検索方法を以下に図５で説明する。
【０１０５】
ＥＣＣ復号器はセルのシーケンスについて考察し、結合決定を行うとよい。例えば、復号器は、このために、当技術分野で周知である、さまざまな最尤シーケンス推定（ＭＬＳＥ）技法を適用するとよい。
【０１０６】
ＥＣＣ符号化フィードバックを用いる反復歪み概算
図５は、本発明の別の実施形態に従って、データをメモリ・セル・アレイ２８から検索する方法を図式的に示す流れ図である。方法の段階１２８〜１４０は上図４のプロセスに類似しているプロセスを表わしている。続く段階１４４〜１５６はＥＣＣ復号プロセスからのフィードバックに基づいて復号プロセスの反復適合を実行する。
【０１０７】
方法は、読み取り段階１２８で、アレイ２８の所望目標セルの電圧および潜在的に妨害するセルからの電圧を読み取るＲ／Ｗユニット４０で始まる。歪み推定段階１３２で、信号処理ユニット６０は読み取り電圧に含まれる歪みを推定する。メトリック計算段階１３６で、ユニット６０はＥＣＣメトリクスを計算する。ユニット６０は任意のＥＣＣメトリックおよび任意の歪み推定方法、例えば本明細書に記載の方法などを使用することができる。復号段階１４０で、ＥＣＣ符号化器／復号器６４はＥＣＣを復号し、格納データを復元する。
【０１０８】
ＥＣＣ符号化器／復号器６４は、ページがうまく復号されたかどうか、すなわち復号ページが誤りを含むかどうかをユニット６０（またはコントローラ７６）に通知する。成功検査段階１４４で検査すると、復号が成功した場合は、成功した終了段階１４８として、方法は成功裏に終了する。ユニット６０は復号ページが誤りを含むかどうかを確認するためにいろいろな方法を使用するとよい。例えば、ユニット６０は復号器出力が有効なコードワードであるかどうかを検査するとよい。あるいは、１つ以上の検査合計ビット、例えば周期的冗長検査（ＣＲＣ）はデータと共に格納されるとよい。ユニット６０は復号データについてＣＲＣを計算し、それを格納ＣＲＣ値と比較することができる。さらなる代替として、ユニット６０は復号データの信頼性メトリックを計算し、それを所定閾値と比較するとよい。
【０１０９】
本例では、或る最大数のフィードバック反復だけが、エンドレスループ、手詰まり状態を回避するために許容されている。従って、ＥＣＣ復号器からのフィードバックが復号ページは誤りを含むことを示す場合に、反復検査段階１５２で、ユニット６０（またはコントローラ７６）は最大数の反復が既に実行されたかどうかを検査する。最大数の反復が既に行い尽くされた場合は、誤り終了段階１６０で、方法はデータをうまく復号せずに終了する。
【０１１０】
さもなければ、フィードバック適合段階１５６で、ＥＣＣ復号器は復号プロセスを適合させる。例えば、ＥＣＣ復号器は最小誤り確率を生じたＬＬＲ値に印を付けることができる。次にユニット６０はこの情報を用いて、最小誤り確率を有する目標サンプルに印を付ける。代替として、復号器は低い信頼レベルを有するビットに「消去個所」として印を付け、復号プロセス結果によって消去マークを更新するとよい。さらなる代替として、ＥＣＣ復号器フィードバックを用いて復号プロセスを調整または更新するその他の技術も使用することができる。次に方法は上の歪み推定段階１３２にループバックし、ユニット６０は与えられたフィードバックに基づいて歪みを再推定する。
【０１１１】
ＭＳＰ５２は、上の復号段階１４０でデータを復号する場合に、電圧閾値の或るセットを使用する。いくつかの実施形態では、誤りが上の成功検査段階１４４で検出される場合に、ユニット６０は復号性能を改善するために閾値を調整することによって復号プロセスを変更する。ユニット６０は閾値を調整する任意の適切な方法を使用するとよい。例えば、ユニット６０は勾配検索を実行するとよく、そこでは閾値は、誤り性能が向上するか、または低下するかどうかに応じて増減する。あるいは、閾値は必要な読み取り動作の数を最小にするように調整され得る。決定閾値を調整するために使用され得る、さらなる閾値適合方法は前掲の米国仮特許願第６０／８９４２９０号に記載されている。
【０１１２】
場合によっては決定閾値を調整する段階がセル電圧を再読み取る段階を含むことに留意する必要がある。例えば、セル閾値電圧が上述のようにいろいろな電圧を語線に印加することによって読み取られる場合に、セルは変更された決定閾値を用いて再読み取られる。セルが高分解能ＡＤＣを用いて読み取られる場合に、セルの再読み取りは通常必要ではない。
【０１１３】
いくつかの実施形態では、ユニット６０は各個別セルの歪み特性に適合させるために閾値をセルごとに選択することができる。可能な閾値は適応できる方法で予め決定または調整され得る。例えば、セルの或るグループは、符号ＴＨ１．．．ＴＨ３で示す閾値の３つの所定セットを用いて、３つの復号反復で読み取られると仮定する。本例では、次の表は３つの復号反復によって生じるビットシーケンスを表にして示している。
【０１１４】
【表１】
2009537056.tif 000013
シーケンス中の各ビットについて、３つの閾値セットの１つは最も低い歪みレベルを生じた。各ビットの最良閾値セットは次の表によって与えられる。
【０１１５】
【表２】
2009537056.tif 000014
ユニット６０は、シーケンス中の各ビットについて、最良閾値セットを用いた復号結果を選択する。このようにして、決定結果は次の表によって与えられる。
【０１１６】
【表３】
2009537056.tif 000015
代替実施形態では、ユニット６０はＥＣＣ復号前に閾値をセルごとに選択する。これらの実施形態では、セルはＥＣＣ復号に先立って複数の所定セットの閾値を用いて読み取られる。次に、各セルについて、閾値の最良セットがこのセルの推定歪みに従って使用される。最良閾値セットはＥＣＣ復号器への入力を生成するために各セルに対して適用される。
【０１１７】
代替として、最良閾値を用いて復号された値を選択するために、ユニット６０はいろいろな閾値を用いていろいろな反復で読み取られたデータ値を組み合わせることがよい。例えば、ユニット６０はいろいろな反復で復号されたビット値について多数決を実行するとよい。
【０１１８】
さらなる代替として、ユニット６０はいろいろな閾値を用いてセルから電圧を読み取り、ＥＣＣを復号する前にいろいろな反復からの読取り値を組み合わせることができる。言い換えれば、各セルについて、ユニット６０はいろいろな閾値を用いてセル電圧を読み取り、複数の読み取り電圧に基づいてＥＣＣ復号メトリクス（例えば、ＬＬＲ）を生成することができる。次に、ＥＣＣはメトリクスを用いて復号される。いくつかの実施形態では、ＥＣＣ復号が成功するまで、セルは反復していろいろな閾値を用いて読み取られる。各反復で、セルはいろいろな閾値を用いて読み取られる。復号メトリクスはいろいろな反復でセルから読み取られた電圧に基づいて計算または更新される。ＥＣＣが成功裏に復号されるまでプロセスは続く。
【０１１９】
上の記述がセルをいろいろな閾値でセルごとに再び読み取ることに言及したけれども、単一セットの閾値をページ全体に使用することができる。
【０１２０】
いくつかの実施形態では、ＭＳＰ５２は高まる性能を有する２つ以上のいろいろな復号器を備える。より高性能の復号器は通常、より簡単な復号器に比べて、より高い複雑さを有し、より大きい電力を使い、そしてより大きい処理遅延を発生させる。最初に、ＭＳＰは最も複雑でない復号器を用いてページを復号し、復号誤りが検出されるときだけより高性能の復号器に戻る。この方法を用いて、高性能で複雑な復号器は必要なときだけ起動されるので、平均電力消費および処理遅延は小さくなる。
【０１２１】
例えば、ＭＳＰは最初どんなＥＣＣ復号も無しにデータを復号するように試み、誤りが検出されるときＥＣＣ復号器の使用に戻る。この技術は、例えば、ＭＳＰによって使用されるＥＣＣスキームがシステマティックコード、すなわち符号化されていない情報ビットを変更せずに別個の冗長ビットを追加するコードを備える場合に使用され得る。別の例として、より簡単な復号器はハードウェアで実施されるハード決定リード-ソロモン（ＲＳ）復号器を備えるとよく、この入力はメモリなしのセルごとの決定を含む。より高性能の復号器はソフト決定ＲＳ復号器を含むとよく、これはソフトウェアで実施され、セル電圧の高分解能サンプリングを使用する。
【０１２２】
ＥＣＣ復号器によって与えられたフィードバックに基づいて復号プロセスを変更する別の可能性は、電圧レベルが読み取られる分解能を変更することである。分解能は、例えば、成功した復号が達成されるまで、メモリセルから読み取られた電圧をデジタル化するために使用される閾値電圧を反復して変更することによって変更され得る。上で述べたように、いくつかの実施形態では潜在的に妨害するセルの電圧および妨害されたセルの電圧はいろいろな分解能で読み取られる。かかる場合に、潜在的に妨害するセル、妨害されたセル、または両方の読み取り分解能が適合され得る。
【０１２３】
好適な歪み概算方法
ＭＳＰ５２の信号処理ユニット６０は、メモリセル３２から読み取られた電圧に含まれる歪みを推定する任意の適切な方法を使用することができる。いくつかの例示的な方法が前掲の米国仮特許願第６０／７４７１０６号および第６０／８８５０２４号に記載されている。あるいは、その他の適切な歪み推定方法を使用することができる。
【０１２４】
図６は、本発明の実施形態に従って、メモリ・セル・アレイ２８の歪みを推定する方法を図式的に示す流れ図である。以下に述べる方法は歪み推定モジュール１１２によって、例えば上図５の方法の歪み推定段階１３２で、使用され得る。この方法は、目標セルよりも前にプログラムされたセルに起因する歪みは、目標セルの後にプログラムされたセルに起因する歪みと異なる可能性があるという事実を使用する。
【０１２５】
別の仮定は、当技術分野で周知のように、アレイはプログラムおよび検査（Ｐ＆Ｖ）プロセスを用いてプログラムされたことである。Ｐ＆Ｖプロセスは、例えば、非特許文献８および非特許文献９に記載されており、これらは両方とも参照して本明細書に盛り込まれる。
【０１２６】
いくつか既知のＰ＆Ｖプロセスでは、或るページの各セルは符号０．．．Ｍ−１で示すＭ個の電圧レベルの１つにプログラムされ、ここでレベル０は消去レベルである。Ｐ＆ＶプロセスはページをＭ個のフェーズでプログラムする。フェーズｉで、一連の電圧パルスはセルに印加され、このプログラムされたレベルはｉ以上でなければならない。各パルス後に、プロセスはいろいろなセルの電圧を読み取り、所望レベルに達したセルへのパルスの印加を停止する。
【０１２７】
方法は、電圧読み取り段階１７０で、アレイ３２のセル２８から読み取られサンプルされた電圧を受け入れるＭＳＰ５２で始まる。電圧は目標セルの電圧および目標セルへの妨害を潜在的に引き起こすセルの電圧の両方とも含む。本例では、アレイ２８のページは、他の読み取り設定も使用され得るけれども、順番に、すなわち行ごとに読み取られる。
【０１２８】
所与の目標セルについて、分類段階１７４で、潜在的に妨害するセルはプログラミングの時間によって分類される。符号Ｄ１で示す、セル３２のサブセットは、目標セルがプログラムされた時にＰ＆Ｖプロセスによってまだ完全にプログラムされなかった潜在的に妨害するセルを含む。目標セルがプログラムされたときにクラスＤ１のセルは消去レベルにあったが、それ以来プログラムされた可能性がある。
【０１２９】
いくつかのプログラミングスキームでは、セルはいくつかの段階でプログラムされる。例えば、４レベルセルのいくつかのプログラミング方法では、最下位のビット（ＬＳＢ）および最上位のビット（ＭＳＢ）は２つの別々の段階で書き込まれる。例示的な方法は前掲の竹内らによる文献に記載されている。かかる方法では、セルは或る時点で中間レベルにプログラムされるとよく、今後のプログラミング段階はセルをその最終プログラム値に至らせる。かかるプログラミング方法が使用される場合に、クラスＤ１は、目標セルがプログラムされるときに消去レベルか、あるいは中間プログラミングレベルにあったが、それ以来その最終値にプログラムされた可能性があるセルを含むように拡大される。
【０１３０】
符号Ｄ２で示す、セル３２の別のサブセットは、目標セルがプログラムされた時に既にプログラムされていた潜在的に妨害するセルを含む。このセルから目標セルへの妨害が目標セルがプログラムされたときに既にあったので、Ｐ＆Ｖプロセスはこの妨害を少なくとも部分的に既に補正した。ただし目標セルが消去される場合は除き、この場合にＰ＆Ｖアルゴリズムはそれに適用されなかった。符号Ｄ３で示す、セルの第３クラスは、目標セルと同時にプログラムされる潜在的に妨害するセル、例えば、目標セルと同じページのセルを含む。
【０１３１】
信号処理ユニット６０は、クラスベースの歪み推定段階１７８で、潜在的に妨害するセルのいろいろなクラスによる目標セルに対する歪みを推定する。仮にｎおよびｍはアレイ２８内の目標セルの行および列の数をそれぞれ示す。ｘｎ，ｍは目標セルがＰ＆Ｖプロセスを用いて書き込まれた後の目標セルの電圧を示す。ｘｉ，ｊは目標セルがプログラムされた時の行ｉおよび列ｊに位置するセルの電圧を示す。ｙｎ，ｍは目標セルから読み取られたセル電圧値を示し、これは歪みに因ってｘｎ，ｍと異なる。同様に、ｙｉ，ｊは目標セルから読み取られたセル電圧値を示し、これは歪みに因ってｘｉ，ｊと異なる。
ｙｎ，ｍに含まれる集合歪み次式のように推定され得る。
【０１３２】
【数１０】
2009537056.tif 000016
ここで、ｈｎ，ｍ，ｉ，ｊは行ｉおよび列ｊの妨害するセルから行ｎおよび列ｍの目標セルへの相互結合妨害係数を示す。ｂは一定のバイアス項を示す。
【０１３３】
クラスＤ１のセルは、目標セルがプログラムされた後にプログラムされたセルを含む。従って、このセルに起因する妨害はその時に存在しなかったし、Ｐ＆Ｖプロセスはこの歪みを補償しなかったこともあり得る。
【０１３４】
クラスＤ２のセルは、目標セルがプログラムされたときに既にプログラムされており、このセルに起因する歪みは、Ｐ＆Ｖプロセスが目標セルをプログラムしたときに既に存在していた。従って、目標セルがプログラムされたとき、Ｐ＆Ｖプロセスはこの歪みを既に（少なくとも部分的に）補償していた。クラスＤ２は目標セルが消去されるときに空であり、何故ならこの場合にそれはＰ＆Ｖアルゴリズムによって処理されず、前にプログラムされたセルからの歪みは補償されなかったからであることに留意する必要がある。それにもかかわらず、この補償は目標セルがプログラムされた時に正しかったし、エージング、または目標セルが読み取られた時間と時間との間に起きた他の効果を考慮しない。上式［１０］の第２項のｘｉ，ｊは電圧の推定値であり、これは目標セルがプログラムされた時に妨害するセルに存在していた。
【０１３５】
式［１０］の第１および第２項はプログラムする時と読み取る時との間における妨害するセル電圧の変化のために互いに異なることに留意する必要があり、電圧変化に対するクラスＤ１のセルは追加プログラミングに起因する一方で、変化に対するクラスＤ２のセルは歪みに起因する。
【０１３６】
いくつかの実施形態では、（数式）はＥＣＣ復号をこれらのセルの出力に適用することによって推定され得る。ＥＣＣはセルに書き込まれたビットのセットを復元することによって深刻な誤り、例えば深刻な漏洩に起因する誤りを訂正するのに役立ち得る。あるいは、式［１０］の第２項のｙｉ，ｊ−ｘｉ，ｊはｙｉ，ｊのメモリなしの機能、例えば電圧レベルがｙｉ，ｊであるセルについて漏洩誤りを推定するα・ｙｉ，ｊを用いて推定され得る。あるいは、ｙｉ，ｊ−ｘｉ，ｊはセルからの平均予想漏洩によって近似され得る。
【０１３７】
クラスＤ３のセルを指す上式［１０］の第３項はＰ＆Ｖプロセスの使用を想定し、Ｐ＆Ｖプロセスは目標セルと同じか、またはそれより小さいレベルにプログラムされるＤ３セルに起因する歪みを本質的に補償する。目標セルと同じページの潜在的に妨害するセルがより高いレベルにプログラムされる場合に、目標セルが既に完全にログラムされた後に、このプログラミングはＰ＆Ｖプロセスの後のパスで実行される。従って、目標セルよりも高いレベルを有するＤ３セルに起因する歪みのかなりの部分は、目標セルがプログラムされる時に存在せず、Ｐ＆Ｖプロセスは歪みのこの部分を補償することができない。
【０１３８】
場合によっては、或るセルをプログラムするために用いるＰ＆Ｖパルスの数は、Ｐ＆Ｖプロセスのセルごとの許容値ならびにさまざまな読み取りおよび書き込み間違いによって変化する可能性がある。結果として、いくつかのセルは、同じ電圧レベルであっても、他から書き込むのがより速くなり得る。目標セルが或る妨害するセルよりもプログラムするのが速い場合に、このセルからの妨害はＰ＆Ｖプロセスによって正しく補償されない。
いくつかの実施形態では、上式［１０］はこの差を補償するために変更され得る。式［１０］の第３項は次のように書くことができる。
【０１３９】
【数１１】
2009537056.tif 000017
ここで、
【０１４０】
【数１２】
2009537056.tif 000018
式［１２］で、ｘｎ，ｍは、例えば、上述のＥＣＣ復号プロセスを用いることによるｘｎ，ｍの抽出値を示す。Δは目標セルが妨害するセルよりもプログラムするのが速かった事実を補償する因子を示す。
【０１４１】
上式［１０］は、歪みは妨害するセルの電圧変化だけに依存し、妨害するセルの電圧には依存しないと仮定する。上式［１０］はまた、歪みは線形であり、すなわち妨害するセルの電圧変化を乗じた定数としてモデル化され得ると仮定する。いくつかの実際のシナリオでは、しかしながら、これらの２つの仮定は当てはまらない可能性がある。具体的に言えば、場合によっては或る妨害するセルから或る妨害されるセルへの妨害は妨害するセルの電圧および妨害されるセルの電圧の両方に依存する。場合によっては、式［１０］は次式のようにより一般に書き変えられ得る。
【０１４２】
【数１３】
2009537056.tif 000019
ここで、ｆ（ｔｉ，ｔｆ，ｒ）は電圧が、ｔｉからｔｆへ変化する妨害するセルに起因する、電圧レベルがｒである妨害されるセルに対する歪みを示す。
【０１４３】
場合によっては、例えば、セル電圧がバック・パターン・デペンダンシフィ（ＢＰＤ）の影響を受ける場合に、妨害するセルは妨害されるセルと同じセルストリングまたはビット線に沿って位置し、或るセルに対する歪みはビット線に沿ってその上に位置するセルの電圧に依存する。
【０１４４】
場合によっては、ユニット６０は特定のセルの歪みを他のセルの既知または前に推定した歪み値から予測するとよい。例えば、アレイ内で互いに近接して位置するセルは類似または相関性がある歪みレベルを有する可能性がある。別の例として、歪みのいくらかが供給電圧に起因するか、またはそれを通じて伝播する場合に、同じ電源（ＶＣＣ）回路を共用するセルは類似の歪みを有する可能性がある。
【０１４５】
いくつかの実施形態では、ユニット６０は、センス増幅器において利得およびバイアス誤りに起因する歪みに応答可能なようにＥＣＣメトリクスを訂正する。或るメモリセルが読み取られるとき、センス増幅器はセルを流れる電流を電圧に変換する。従ってセンス増幅器出力における電圧はｖ＝ｋＳＡｉを満足する必要があり、ここでｖは出力電圧を示し、ｉはセル電流を示し、そしてｋＳＡは増幅器の利得を示し、これはすべてのセルについて一定であると仮定する。多くの実際の場合に、しかしながら、増幅器の利得は一定ではない。増幅器はまたバイアス誤りを生じさせる可能性がある。従って、センス増幅器の出力電圧はｖ＝（ｋＳＡ＋ΔＳＡ）ｉ＋ＢＳＡと表わすことが可能であり、ここでｋＳＡは一定であり、ΔＳＡは利得誤りを示し、そしてＢＳＡはバイアス誤りを示す。ΔＳＡおよびＢＳＡはセンス増幅器ごと（すなわち、ビット線ごと）に変化する可能性がある。
【０１４６】
いくつかの実施形態では、ユニット６０はΔＳＡおよびＢＳＡの値を推定し、推定したセンス増幅器パラメタに基づいてＥＣＣメトリクスを変更する。例えば、上式［４］また［５］のＬＬＲ計算は、式［４］の読み取り電圧ｒ、または式［５］の区間境界ＶａおよびＶｂを変え、変倍することによって、いろいろなΔＳＡおよびＢＳＡ値を明らかにするために変更され得る。
【０１４７】
例えば、上式［４］の読み取り電圧ｒはｒ０で置き換えすることが可能であり、これはｒ０＝（ｒ−ＢＳＡ）・ｋＳＡ/（ｋＳＡ＋ΔＳＡ）と定義される。
【０１４８】
図６の例示的な方法が特定のＰ＆Ｖプロセス実施に言及したけれども、この方法はその他の適切なＰ＆Ｖプロセスで、変更すべきところは変更して、使用され得る。開示した実施形態に基づいて他の種類のＰ＆Ｖプロセスで使用するための方法の適合は当業者には明らかである。
【０１４９】
多くの既知の素子では、名目電圧レベルの１つは「消去」レベルと定義される。いくつかの既知のデータ記憶方法および素子では、消去レベルにあるセルはＰ＆Ｖプロセスに参加しない。従って、これらのセルはＰ＆Ｖプロセスによって訂正されない隣接セルから相互結合妨害を被る可能性がある。この妨害は消去レベル電圧分布をすぐ上のレベルの方へ拡大し、必要なマージンを増やす。多くのＮＡＮＤフラッシュセルでは、消去レベルは負電圧を有するのに対して、他のレベルは正電圧を有する。かかる既知の素子では、負電圧を読み取ることは多くの場合不可能であり、従って妨害を訂正するために消去セルの正確な電圧を読み取ることは不可能である。いくつかの実施形態では、ＭＳＰ５２が或るメモリセルがわずかに正の電圧レベルを有することを検出し、このセルの歪みレベルが高いことを測定する場合に、ＭＳＰは、このセルは消去セルであり、その電圧は歪みに因って誤って正になったと判断を下す。ＭＳＰは、必要なマージンを減らすように、かかるセルの歪みを補償することができる。
【０１５０】
ＮＲＯＭフラッシュセルでは、消去セルの電圧レベルは通常正であり、従ってこれを読み取ることができる。ＮＲＯＭセルの２つの側の間の相互結合は通常Ｐ＆Ｖプロセスによって補償されるけれども、歪みはセルの片側または両側が消去されている場合に補償されない。かかる場合に、ＭＳＰ５２は、セルの片側または両側が消去されている場合でさえも、歪みを補償し、必要なマージンを減らすことができる。
【０１５１】
本明細書で説明した実施形態はデータをマルチレベルセル（ＭＬＣ）から検索する段階に主に対処しているけれども、本発明の原理は単一レベルセル（ＳＬＣ）でも使用することができる。本明細書で説明した実施形態はデータを固体メモリ素子から検索する段階に主に対処しているけれども、本発明の原理はハード・ディスク・ドライブ（ＨＤＤ）ならびに他の記憶媒体および素子のデータを格納し、検索するためにも使用することができる。
【０１５２】
従って、上述の実施形態は例を用いて言及されること、および本発明は上に具体的に図示され、記述されたものに限定されないことが認識される。むしろ、本発明の範囲は、上に記述したさまざまな特徴、および前の説明を読む当業者の心に浮かぶだろう、かつ先行技術に開示されていない、その変更例および変更態様の組み合せおよび副組合せの両方を含む。
【図面の簡単な説明】
【０１５３】
【図１】本発明の実施形態に従って、メモリ信号処理の装置を図式的に示すブロック図である。
【図２】本発明の実施形態に従って、メモリ・セル・アレイを図式的に示す図である。
【図３】本発明の実施形態に従って、メモリ・セル・アレイの電圧分布を示すグラフである。
【図４】本発明の実施形態に従って、データをメモリ・セル・アレイから検索するプロセスを図式的に示す機能ブロック図である。
【図５】本発明の実施形態に従って、データをメモリ・セル・アレイから検索する方法を図式的に示す流れ図である。
【図６】本発明の実施形態に従って、メモリ・セル・アレイの歪みを推定する方法を図式的に示す流れ図である。
【符号の説明】
【０１５４】
２０  装置
２４  メモリ素子
２８  メモリ・セル・アレイ
３２  アナログ・メモリ・セル
３６  データバッファ
４０  読み取り／書き込みユニット
４８  制御論理
５２  メモリ信号プロセッサ
５６  入力／出力バッファ
６０  信号処理ユニット
６４  符号化器／復号器
７２  データバッファ
７６  コントローラ
【図１】
2009537056.tif 000020
【図２】
2009537056.tif 000021
【図３】
2009537056.tif 000022
【図４】
2009537056.tif 000023
【図５】
2009537056.tif 000024
【図６】
2009537056.tif 000025
【国際調査報告】
2009537056.tif 000026
2009537056.tif 000027