電荷蓄積容量を有するメモリセルを含むメモリ構成において、書き込み動作及び読み出し動作において、前記メモリセルにアクセスするように構成された処理装置と、前記処理装置によって、前記メモリセル用の1つ以上のデータ値を定義するための調整可能な目標電荷値の数を定義して課すことにより、前記メモリセルのデータ容量を確立するように実行可能な命令セットであって、前記1つ以上の調整可能な目標電荷値を定義することにより、隣接する目標電荷値間に電荷間隔を確立し、かつ、隣接する目標電荷値間の前記電荷間隔の幅は、前記調整可能な目標電荷値の数によって変わる、命令セットと、を備える装置。前記メモリ構成は、アナログ形式でデータを記憶するように動作可能である、請求項1に記載の装置。請求項1に記載の装置を有する電子デバイスであって、前記電子デバイスは、携帯電話、音楽プレーヤ、ポータブルコンピュータ、携帯情報端末、ポケベル、MP3プレーヤ、デジタルカメラ、デジタルカメラ一体型ビデオ、パーソナルゲームデバイス、及び電子書籍のうちの1つを備える、電子デバイス。前記命令セットは、さらに、前記処理装置によって、前記メモリセル用の1以上のデータ値を定義するための1つ以上の調整可能な目標電荷値の他のセットを定義して課すことにより、前記メモリセルのデータ容量を補正するように実行可能であり、前記他のセットは、最初のセットとは異なる、請求項1に記載の装置。前記命令セットは、さらに、前記処理装置によって、目標電荷値を増加及び/又は減少させるように実行可能な、請求項1に記載の装置。前記メモリ構成は、フラッシュメモリを備える、請求項1に記載の装置。前記フラッシュメモリは、磁気ランダムアクセスメモリMRAM、相変化ランダムアクセスメモリPRAM、NANDフラッシュ、及びマイクロ電気機械MEMS式媒体の1つを備える、請求項6に記載の装置。前記命令セットは、前記処理装置によって、前記1つ以上のデータ値用の電荷範囲をさらに定義するために、メモリセルの電荷蓄積容量全体に分散した識別レベルを課すように実行可能な、請求項1に記載の装置。前記メモリセル内の調整可能な目標値の数は、2の非整数乗である、請求項8に記載の装置。前記命令セットは、前記処理装置によって、前記メモリセルの1つの最大データ記憶容量を特徴付けるデバイスアクセス解像度を課すように実行可能である、請求項8に記載の装置。前記命令セットは、前記処理装置によって、前記デバイスアクセス解像度の変化を経て前記メモリセル用に利用可能なデータ記憶容量の変化を課すように実行可能である、請求項10に記載の装置。前記命令セットは、前記処理装置によって、所定の電荷レベルが特定のデータ値に対応する確率を示す電荷確率分布を課すように実行可能な、請求項8に記載の装置。前記識別レベルは、2つの確率分布の重なりが定義されるように分散される、請求項12に記載の装置。メモリにおいて、セルアレイデバイスにアクセスして、前記セルアレイデバイス用の性能特性の値を確立するように構成され、且つ、引き続き、前記セルアレイデバイスにアクセスして、前記セルアレイデバイスに関連した前記性能特性の値に基づき、補正を行うように構成された制御配列を備え、前記制御配列は、読み出し動作において前記セルアレイデバイスにアクセスして、前記セルアレイデバイスのメモリセルによって蓄積される電荷量を決定し、且つ、前記電荷量に関連したデータ値を決定するように構成され、前記制御配列は、さらに、前記電荷量及び前記性能特性値に基づき、前記特定のメモリセル用の訂正されたデータ値を確立するように構成された、装置。前記制御配列は、前記性能特性値を変えてアップデートした値を創り出すように構成された、請求項14に記載の装置。前記制御配列は、前記セルアレイデバイスの1つ以上のメモリセル用の性能特性値を確立するように構成された、請求項14に記載の装置。書き込み動作及び読み出し動作において、前記セルアレイデバイスのメモリセルにアクセスするように構成された処理装置と、前記処理装置によって実行された場合に、前記メモリセル内の複数のデータ値を定義するための目標電荷レベルを課すように構成された命令セットと、をさらに備える、請求項14に記載の装置。前記制御配列は、書き込み動作において、前記セルアレイデバイスにアクセスして、所定のデータ値を前記セルアレイデバイスのメモリセルに書き込むように構成され、前記所定のデータは、前記目標電荷レベルに関連付けられ、前記制御配列は、さらに、前記所定のデータ値及び前記性能特性値に関連した前記目標電荷レベルに基づいて、訂正した目標電荷レベルを確立するように構成され、且つ、前記訂正した目標電荷レベルを前記メモリセルに適用することによって、前記書き込み動作を実行するように構成された、請求項17に記載の装置。メモリ構成において、前記メモリセルの少なくとも1つの特性に基づく所定のメモリセルの予測応答を確立するように構成され、且つ、前記予測応答に基づき、電荷出力パラメータを調整することによって、前記所定のメモリセルに電荷を出力するための制御配列、を備える装置。メモリ構成において、較正する方法であって、前記メモリセルを較正するために用いられるパターンコードデータからなる所定の情報パターンを特定する段階と、前記パターンコードデータをメモリシンボルに変換する段階であって、前記メモリシンボルは、前記メモリセルに関連した目標電荷レベルを特定する、前記変換する段階と、前記メモリシンボルによって特定された前記目標電荷レベルを前記メモリセルに適用することによって、前記メモリセル内における既知の位置に前記メモリシンボルを書き込む段階と、前記既知の位置における前記メモリセル内に記憶された電荷レベルを検知することによって、前記メモリセル内における前記既知の位置からメモリシンボルを読み出す段階と、前記読み出されたメモリシンボルを比較コードデータに変換する段階と、前記パターンコードデータを前記比較コードデータと比較して、差異値を決定する段階と、を備える方法。前記差異値を用いて性能特性を計算する段階と、前記性能特性をデータ構造に記憶する段階と、を更に備える、請求項20に記載の方法。前記メモリセルに書き込まれる書き込みデータを特定する段階と、前記性能特性を前記書き込みデータに適用して、補正された書き込みデータを生成する段階と、前記補正された書き込みデータを補正されたメモリシンボルに変換する段階であって、前記補正されたメモリシンボルは、前記メモリセルに適用される電荷レベルを特定する前記段階と、前記補正されたメモリシンボルによって特定された前記電荷レベルを前記メモリセルに適用することによって、前記補正されたメモリシンボルを前記メモリセルに書き込む段階と、を更に備える、請求項21に記載の方法。前記フラッシュメモリの前記メモリセルから未補正メモリシンボルを読み出す段階であって、前記未補正メモリシンボルは、前記メモリセル内の電荷レベルを特定する前記段階と、前記未補正メモリシンボルを未補正コードデータに変換する段階と、前記性能特性を前記未補正コードデータに適用して、補正されたコードデータを生成する段階と、を更に備える、請求項21に記載の方法。データの書き込み方法であって、バッファRAMからユーザデータシンボルを読み出す段階と、ユーザデータシンボルのブロックに加え、ECCパリティシンボルを生成するように、前記ユーザデータシンボルにECCパリティを含む追加のデータシンボルを処理して追加する段階と、LDPC符号化方式を用いて、前記ユーザデータシンボル及びECCパリティシンボルを符号化する段階と、前記LDPC符号化処理によって出力されたシンボルのストリームを符号化してコードシンボルのストリームを創り出す段階と、前記コードシンボルのストリーム内の1つ以上のコードシンボルを事前補正して、1つ以上のメモリシンボルを創り出す段階と、1つ以上のメモリシンボルを符号化する段階と、1つ以上のメモリシンボルをメモリ構成に転送する段階と、を含む方法。請求項24に記載の方法が実行された、装置。事前補正された1つ以上のコードシンボルは、較正処理によって創り出されるデータを用いて実行される、請求項24に記載の方法。前記較正処理は、前記メモリ構成に関連して実行され、前記メモリ構成は、電荷蓄積容量及び複数のデータ値を定義するための目標電荷レベルを有するメモリセルを含み、前記較正処理は、前記メモリセルを較正するのに用いるパターンコードデータからなる所定の情報パターンを特定する段階と、前記パターンコードデータをメモリシンボルに変換する段階であって、前記メモリシンボルは、前記メモリセルに関連した目標電荷レベルを特定する、前記段階と、前記メモリシンボルによって特定された前記目標電荷レベルを前記メモリセルに適用することによって、前記メモリシンボルを前記メモリセル内の既知の位置に書き込む段階と、を含む、請求項26に記載の方法。データを読み出す方法であって、メモリ構成のメモリセルから1つ以上のメモリシンボルを読み出す段階と、前記メモリシンボルをコードシンボルのストリームに変換する段階と、前記コードシンボルのストリームの1つ以上のコードシンボルを事後補正して、事後補正コードシンボルのストリームを創り出す段階と、前記事後補正コードシンボルのストリームを、数列デコードして、データシンボルのストリームを創り出す段階と、前記データシンボルのストリームに、LDPCデコード方式を適用する段階と、前記LDPCデコード処理から受け取る入力に、ECCデコード処理を実行する段階と、前記ECCデコード処理の出力に応じて以下のうち1つ:前記データシンボルのストリーム内の任意の訂正可能な誤りを検出して訂正し、次いで、前記データシンボルをバッファに転送するか;前記データシンボルのストリームに誤りが検出されず、次いで、前記データシンボルを前記バッファに転送するか;又は、前記データシンボルのストリーム内に、前記ECCデコード処理によって訂正できるよりも多くの誤りを検出し、次いで、中断するか;を実行する段階と、を含む、方法。前記LDPCデコード処理の出力は、汚れているユーザデータと、ECCパリティビットとの一方又は双方を含む、請求項28に記載の方法。請求項28に記載の方法が実行された、装置。事後補正は、較正処理によって創り出されるデータを用いて実行される、請求項28に記載の方法。前記較正処理は、前記メモリ構成に関連して実行され、前記メモリセルは、電荷蓄積容量及び複数のデータ値を定義するための目標電荷レベルを有し、前記較正処理は、前記メモリセルの較正に用いるパターンコードデータからなる所定の情報パターンを特定する段階と、前記パターンコードデータをメモリシンボルに変換する段階であって、前記メモリシンボルは、前記メモリセルに関連した目標電荷レベルを特定する、前記段階と、前記メモリシンボルによって特定される前記目標電荷レベルを前記メモリセルに適用することによって、前記メモリシンボルを前記メモリセル内の既知の位置に書き込む段階と、を含む、請求項31に記載の方法。前記目標電荷レベルの1つは、調整可能な識別レベルに関連付けられる、請求項32に記載の方法。これらの及び他の制限は、フラッシュメモリデバイスを用いてデータを記憶し検索するためのシステム及び方法に関する本発明の実施形態によって克服される。一実施形態例では、フラッシュメモリ構成内に装置が含まれる。本フラッシュメモリ構成には、各メモリセルがデジタル記憶の実現に用いるための電荷蓄積容量を有する複数のメモリセルが、含まれる。本装置には、書き込み動作及び読み出し動作の際にメモリセルの各々にアクセスするように構成された処理装置が含まれる。本装置には、更に、メモリセルの各々に対する複数のデータ値定義用の目標電荷レベルを付加するようプロセッサに指示するための命令セットが含まれる。目標電荷レベルは、電荷蓄積容量に対してプログラムにより可変であり、一実施形態において、目標電荷レベルによって定義された独特なデータ値の数は、2の非整数乗である。この一般的なアプローチの変形版を更に示す。例えば、他の実施形態において、命令セットは、電荷蓄積容量間の電荷の量を累進的に増加させることを特徴とする複数の電荷層から構成される電荷層構造を確立する。各電荷層は、記憶値及び電荷量を定義する電荷値に関係する。電荷層構造を構成する電荷値は、プロセッサによってプログラムにより可変である。本発明は、更に、誤り訂正及び補正を実施するように構成されたメモリデバイスに関する。また、例えば、本発明の一実施形態において、セルアレイデバイスを用いることが可能なフラッシュメモリ構成に関するが、この場合、セルアレイデバイスは、異なるセルアレイデバイス間で変動する性能特性に関連する。フラッシュメモリ構成には、セルアレイデバイスにアクセスして、セルアレイデバイスの性能特性の値を確立するように構成された制御配列を有する装置が含まれる。制御配列は、更に、セルアレイデバイスに引き続きアクセスし、性能特性の値に基づき、補正を行うように構成されている。補正は、例えば、上記したように、複数のデータ値を定義するための或る範囲の目標電荷レベルがメモリセルに含まれる場合に用いられる。読み出し及び書き込み動作を実施する場合、制御配列は、性能特性の値に部分的に基づき、訂正された目標電荷レベルを確立するように構成される。本発明の他の実施形態は、誤り検出及び訂正を実施する際に用いられる性能特性を決定するための方法及びシステムを提供する。例えば、一実施形態において、フラッシュメモリ構成には、各メモリセルがデジタル記憶の実現に用いるための電荷蓄積容量を有する複数のメモリセルが含まれる。各メモリセルには、そこに記憶される複数のデータ値を定義するための目標電荷レベルが含まれる。メモリセルからの読み出し及びメモリセルへの書き込みの内の少なくとも一方の間に用いられる補正データを生成するための方法を開示する。本方法には、メモリセルを較正するために用いられるパターンコードデータからなる所定の情報パターンを識別する段階が含まれる。パターンコードデータは、メモリシンボルに変換され、この場合、メモリシンボルの各々は、目標電荷レベルの内の1つを識別する。メモリシンボルは、メモリシンボルによって特定された目標電荷レベルをメモリセルに適用することによって、メモリセル内における既知の位置に書き込まれる。メモリセルを較正する場合、本発明の一実施形態では、既知の位置にあるメモリセル内に記憶された電荷レベルを検知することによって、メモリセル内における既知の位置からメモリシンボルを読み出す。メモリシンボルは、比較コードデータに変換され、比較コードデータは、既知の位置に書き込まれた元のパターンコードデータと比較される。この比較は、差異値を決定するために用いられ、差異値は、性能特性を計算するために用い得る。性能特性は、誤り検出及び訂正を実施する場合、メモリセルに対する後続の読み出し及び書き込み時、用いられるこの概要は、詳細な説明において更に以下に記載する概念の選択を簡単な形態で導入するために提供する。この概要は、権利を主張する主題の主要な特徴又は本質的な特性を特定しようとするものではなく、また、権利を主張する主題の範囲の決定の補佐として用いることも意図していない。本発明の他の特徴及び利点については、以下の説明に記載するが、部分的には、説明から明らかになり、あるいは、本発明の実践によって習得される。本発明の特徴及び利点は、添付の請求項において特に示す手段及び組合せによって、実現される。本発明のこれらの及び他の特徴は、以下の説明及び添付の請求項から更に充分に明らかになるであろう。あるいは、本明細書において以下に記載する本発明の実践によって習得される。本発明の上記及び他の利点及び特徴を更に明確にするために、添付図面に示したその具体的な実施形態を参照して、本発明の更に特定の説明を行う。これらの図面は、本発明の代表的な実施形態を示すだけであり、従って、その範囲を限定すると見なさないことを認識されたい。本発明について、添付図面を利用して、更に具体的に且つ詳細に説明し記述する。以下の好適な実施形態の詳細な説明では、本明細書の一部を形成する添付図面を参照する。また、図面では、説明のために、本発明を実践する具体的な実施形態を示す。他の実施形態を用い得ること、及び本発明の範囲から逸脱することなく構造的な変更を行い得ることを理解されたい。システムさて、図1に着目すると、これは、全般的に100で示したシステム及びその様々な構成要素の一実施形態例のブロック図である。このシステム100は、本明細書において、固体記憶素子SSSE又はS3Eと称することがある。図1の部位は、データのプログラミング即ち、書き込み及び読み出し用機能の基盤であるデータ経路及び制御配列要素を示す。図示したシステム全体には、コントローラ102及び少なくとも1つのメモリデバイス104が含まれる。複数のメモリデバイス104を有するシステムでは、各メモリデバイスは、システム用の記憶媒体の一部を構成する別々のデバイスであってよい。一例において、各メモリデバイス104は、個々の半導体チップ上に形成してよい。対照的に、複数のメモリデバイス104は、単一の半導体チップ上に形成してもよい。後で分かるように、固体記憶素子100は、データ記憶媒体、ホスト接続性、及びデータ記憶、データ検索、及び記憶媒体の最適な使用に必要な様々な管理機能のための方法が含まれる複数の集積回路デバイスハードウェアで構成される。一実施形態において、構成要素集積回路は、複数の固体記憶素子メモリデバイスS3Eメモリデバイス104及び単一の固体記憶素子コントローラデバイスS3Eコントローラデバイスである。記憶媒体用の1つの適切な技術は、NANDフラッシュである。しかしながら、他の不揮発性記憶技術も同様に適用可能である。他の選択肢としての記憶媒体の例としては、MRAM磁気ランダムアクセスメモリ、PRAM相変化ランダムアクセスメモリ、及びMEMSマイクロ電気機械式媒体に基づく記憶媒体が挙げられる。他の適切な記憶媒体技術も特定し得るが、既存のものやまだ開発中のものもある。これらの様々な技術を用いるメモリセルに共通することは、アナログ形式で情報を記憶するメモリセルの能力にある。即ち、これらのデバイスは、一般的に、オン/オフ又はデジタルデバイスとしてあまり特徴付けられていない。従って、本開示の文脈での電荷レベルを使用することは、自然な例示と見なされる。システム100は、マイクロコードファームウェア106及び可変記憶用の付加メモリを備えたマイクロコントローラ102を含まれる。システム100は更に、アドレス指定論理を含み、これにより、マイクロコントローラ102上で走るファームウェア106は、コントローラ102論理部と通信を行うことができ、またその動作を制御できる。マイクロコードは、不揮発性記憶媒体に記憶される。本例では、マイクロコードは、コントローラ中の不揮発性メモリに記憶されるが、そのようなマイクロコードを記憶するための不揮発性記憶媒体は、コントローラ102及び複数のメモリデバイス双方に対して外付けであっても、1つ又は複数のメモリデバイス内にあってもよい。ファームウェア106は、コントローラ102によって実施される全ての動作を連係させ制御するマイクロコントローラ命令即ち、マイクロコードの集合である。全てのコントローラ102部は、マイクロコントローラサブシステム108とのインターフェイスを有し、これらインターフェイスは、読み出しフロー、書き込みフロー、較正、並びに実施例において要求される他の全ての機能を実行する状況で、各部のハードウェアを制御するためにファームウェア106によって用いられる。これら個々のインターフェイスは、説明図を分かり易くするために図示していないが、当業者は認識されるように、様々な部位との通信を実現する。フラッシュインターフェイス制御110は、コントローラ102と複数のメモリデバイス104との間のインターフェイスの非データ部を構成する制御論理及び信号112を生成する。この部位からの信号112は、例えば、チップ選択、クロック、動作コード、アドレス情報、及びメモリデバイスインターフェイスを動作させるための所定の実施例で要求されるいずれか他の特定の信号を含み、メモリデバイス104との1つ又は複数のインターフェイス上で物理的な制御ラインを実現する。制御論理及び信号の生成において、フラッシュインターフェイス制御110は、このすぐ後に記載するように、転送制御114と協働する。転送制御114は、複数のメモリデバイス104と読み出しフロー及び書き込みフローを連係して働かせるのに必要な機能を提供する。転送制御114の1つ又は複数の具体例は、実際の設計において実現される。複数の転送制御114は、複数のメモリデバイス104の1つ又は複数での読み出しフロー、書き込みフロー、又は読み出しフロー及び書き込みフローの組合せの同時動作を可能にする。各転送制御114は、マイクロコントローラサブシステムインターフェイス118及びファームウェア106によって制御され、フラッシュインターフェイス制御110と共に動作する。転送制御114は、フラッシュインターフェイス制御110に接続し、フラッシュインターフェイス制御のサービスを要求する。1つの転送制御114及びフラッシュインターフェイス制御110を組み合わせた機能は、メモリデバイス104とコントローラ102それ自体との間でデータブロックをブロック毎に転送することである。転送制御114の他の例については、説明図を分かり易くするために図示していないが、他の例は、単一の例の動作と同様に機能する。読み出し処理動作以下の節では、読み出し処理の間にコントローラ102によって実行されるブロック毎の処理について記載する。一実施例において、ホストとメモリデバイス104との間の転送は、一連の単一ブロックの転送として起こる。尚、ホストは、説明図を分かり易くするために示さないが、ホストインターフェイス116に接続される。例示した実施形態において、複数のメモリデバイス104は、各々、フラッシュアレイ118を含む。各フラッシュアレイ118は、複数の記憶セルを含むが、これらは、本明細書では、個別にメモリセルと呼ぶことがある。フラッシュメモリにおいて、各メモリセルは、一般的に、電荷蓄積ゲート構造を備えたFET電界効果トランジスタである。本実施形態例において、メモリデバイス104の各々には、更に、メモリシンボル読み出しモジュール122後述とフラッシュアレイ118上述との間のインターフェイスを提供するための1つ又は複数のセンス増幅器120が含まれる。ほとんどの実施例は、複数のセンス増幅器120を特徴とし、センス増幅器120の数及び配列は、メモリデバイス実施例に依存する。センス増幅器120の機能は、フラッシュアレイ118の1つのメモリセルの状態をサンプリングすること、及び検知された状態の表示をそれぞれのメモリシンボル読み出しモジュール122のそれぞれの入力に提示することである。各メモリデバイス104には、フラッシュアレイ118に記憶された情報を検出し、また、記憶された情報を表すメモリシンボルをコントローラ102に送信するメモリシンボル読み出しモジュール122がある。例示した実施形態において、アナログ-デジタルA/D変換器124は、メモリシンボルがデジタル形式でコントローラ102に転送されるように、メモリシンボル読み出しモジュール122の一部を形成する。他の実施形態では、メモリシンボル読み出しモジュール122及び関連するA/D124は、アナログラインがセンス増幅器120からコントローラ102を接続するように、コントローラ102内に配置される。尚、メモリシンボルは、手元にあるメモリ媒体用に選択された一組の値又はレベルの内の1つに対応し得る値を有する構成体である。この組の値又はレベルは、アルファベットと称することがある。1つ又は複数の組のメモリシンボルは、更に記載するように、所定のコントローラ102の実施形態に含まれる。コントローラ102は、1つ又は複数のメモリデバイス104が接続されたインターフェイス128からメモリシンボルを受信し、これらの記号を符合シンボルに復号する。各符合シンボルは、符合シンボルアルファベットの1単位と見なされる。符合シンボルの文字列は、復号処理用の特性が与えられた符号化情報を表す。復号処理は、メモリシンボルエンコーダ130に対して、後に記載するそれと逆であってよい。基数kの数列は、符合シンボル列に変換される。メモリシンボルデコーダ126を離れる際、符合シンボルは、何らかの適切な方法で、例えば、2進数ビットストリーム又はバイト等の2進数ベースの数値のストリームによって、表現される。メモリシンボルデコーダ126は、メモリシンボルから符合シンボルへのマッピングを実現することを認識すべきである。メモリシンボルは、メモリセル用に定義される識別レベルの数に基づき、2の非整数乗を表し得る。もちろん、書き込み動作は、後記するように、符合シンボルからメモリシンボルへのこのマッピングの逆を実現する。記憶システム100は、定義可能な又は選択可能な基数を有し得る。また、基数は、2の整数乗である必要はない。メモリシンボルデコーダ126からの符合シンボルは、コントローラ102/メモリデバイスインターフェイスに取り付けられた複数のメモリデバイス104に対してコントローラ102により実施される較正ステップによって生成された情報に基づき、任意に調整される。本明細書に記載する誤り訂正方式に関しては、これらの方式は、個別に又は任意の所望の組合せで用いられることを認識すべきである。更に、同様に適用可能であって、少なくとも潜在的に、例えば、通信理論技術又はディスクドライブ技術から適合される他の方式も存在し得る。この点において提示されたこととして、不揮発性フラッシュメモリに関する最先端技術は、本明細書において明らかにされたタイプの誤り訂正の必要がないように、読み出し及び書き込み動作に関して高い精度を実現することに帰する。しかしながら、本開示は、これらに限定するものではないが、個々のメモリセルに更に大量の情報を記憶する能力を含む実質的な恩恵を提供して、そのような高い絶対的記録/再生精度を強化する必要性を無くする。較正ステップの更なる詳細について、1つ又は複数の該当する点を以下に記載する。この点に関して、以下に記載する図4及び5は、それぞれ書き込み及び読み出しフローの一実施形態を表し、これによって、較正処理は、事後補正モジュール132によって用いられる選択されたメモリデバイス104の挙動に関するパラメータデータを得ることができる。較正フロー中に生成された較正情報は、引き続き、メモリシンボルデコーダ126から流れる受信符合シンボルストリームに適用することができる。一実施形態において、事後補正132記号調整は、全記号ブロックに渡って実施される。各記号の調整は、固有の記号毎調整の組合せであったり、記号ブロック全体に渡って一定の調整値であったり、予測可能に変動する調整値であってよい。事後補正132記号調整を決定する方法は、コントローラ102に取り付けられた各メモリデバイス104の根底にあるメモリ技術の特定の特性に従って変わり、また、カスタマイズし得る。更に、事後補正132調整は、デバイス毎のベースでもカスタマイズし得る。本実施形態には、更に、事後補正モジュール132又はメモリシンボルデコーダ126から符合シンボルのストリームを受信するための、また、符合シンボルをデータ記号に変換するための数列検出器134が含まれる。符合シンボルは、数列検出器134を一度に1ブロック通過するが、このことは、入力符合シンボルストリームが、データブロックサイズ及びコードのレートの一次関数である既知の長さを有することを意味する。数列検出器134は、反復復号アルゴリズムを実現する。従って、所定のデータブロックは、後で詳細に記載するように、数列検出器134を2回以上通過する。数列検出器134によって生成されたデータ記号は、ユーザデータシンボルであるが、これらのシンボルは、部分的な誤り訂正処理のみが、この時点までにそれらに対して実施されたという観点から汚れていると見なされる。順次相関方式の実施例の場合、一般的に、任意の所定のメモリセルの内容は、少なくとも1つの他のメモリセルの内容に基づき解釈される。従って、読み出し動作中、誤り確率は、一組の正規のデータ値の内の特定の1つに対応して読み出される値に関連付けられる。任意の適切な方式を用いて、順次相関を課してもよい。現在利用可能な方式には、例えば、ビタビ検出器、サーパーH.Thapar及びパテルA.Patel、磁気記録の記憶密度向上のための部分応答システムのクラス、IEEE会報、磁気学、第23巻5、3666-3668頁、1987年に記載された検出器が含まれ、この文献は、本明細書に参照によって組み込まれる。1つ又は複数の該当する点について、以下に更に説明を行う。本例のシステム100には、更に、パリティ情報で以前符号化されたユーザデータに誤り訂正を行うためのLDPC低密度パリティチェックデコーダ136が含まれる。LDPCの例は、本明細書に参照により組み込まれる、ガライアGallagher、低密度パリティチェックコード、MIT出版会、1963年、マッケイDavidJ.C.MacKay、情報理論、推論、及び学習アルゴリズム、ケンブリッジ大学出版会、2003年に記載されている。LDPC符号化は、書き込み処理中に実施されるが、これについては、更に詳細に後記する。LDPCデコーダ136は、反復デコーダであり、このため、デコーダによって処理される情報の各ブロックは、本実施形態で最大値として定義された反復回数まで繰り返し処理される。入力データは、LDPCパリティが含まれる符合シンボル形態のユーザデータである。出力は、ユーザデータシンボルのみである。出力ユーザデータシンボルは、それらの誤り含有量が、入力符合シンボルのそれより小さいように、LDPC復号処理によって浄化されている。書き込み処理中に、LDPC符号化処理には、パリティチェック行列と称される数学構造を用いた、受信ブロックの情報例えば、データビットに関するパリティの計算が含まれる。LDPC配列には、2進数情報を伴うことから、符号化される予定の各ブロックのユーザデータは、一連の2進数ビットとして処理される。パリティチェック行列をLDPCパリティ計算に適用すると、計算しなければならない各パリティビットに対してデータメッセージの中の語として選択された複数のビットを用いる一組の論理式の解が得られる。パリティチェック行列の配列によって要求される全てのパリティビットは、計算後、符号化処理への入力であったユーザデータブロックに付加される。読み出し処理の間、組み合わせられたユーザデータとLDPCパリティとは、数列検出器134から受信される。一実施形態において、数列検出器134は、雑音及び歪みから生じる受信データの誤りを特定及び修正するが、数列検出器134から返されるユーザデータ及びLDPCパリティに残留誤りが依然として存在し得ることが予想される。LDPCデコーダ136は、他の誤りを訂正するように、受信したユーザデータ及びLDPCパリティに作用する。復号化動作は、符号化処理の逆と同様であり、語としての複数のデータビット及びLDPCパリティビット双方を用いた論理式の逆の計算に基づき、データビット値の推定を伴う。この演算には確率を伴うことから、各計算の結果は、各計算に対する可能な結果の集合によって支配され、従って、復号処理は、1つの計算から次の計算へ確率を持ち越す処理である。このため、復号処理は、元来反復性のものであり、従って、LDPCデコーダ実装により、受信ユーザデータ及びLDPCパリティのブロックにおける誤りの発見及び修正において複数の反復を実施し得る。本システム100には、更に、ECC誤り訂正コードデコーダ138が含まれ、これは、一例の復号処理における最終ステップである。ECCデコーダ138への入力には、ECCパリティ記号が付加されたブロックの情報を含むユーザデータシンボルストリームを含む。ECCエンコーダ144の詳細については、1つ又は複数の該当する点に関して、書き込み処理の説明と共に以下に記載する。出力は、正常な復号によりエラーの無いデータになる程度に清浄なデータである。エラーの無い状態が、ECCデコーダ138によって達成できない場合、エラー状態は、適切なエラー取り扱い処理を行い得るように、信号伝達される。本出願のECC誤り検出方式の実現については、本開示の恩恵により、当業者が、ECC及びLDPC復号及び符号化部位に関する本明細書で参照されるような機能を提供できると考えられる。本例のシステム100には、更に、ECC復号処理の間にLDPCデコーダ136から送られたユーザデータ記号を保持するために、ECCデコーダ138と協働して用いられるデータステージングメモリを含むFIFO先入れ先出しモジュール140が含まれる。LDPCデコーダ136がデータブロックの処理を終了すると、そのデータブロックは、FIFO140に転送される。FIFO140は、ECCデコーダ138がそれを処理している間、データ用の保持領域としての役割を果たす。ECCデコーダ138は、FIFO140の各データブロックを解放して、バッファ142に転送する責任を負っている。ECC復号処理が、LDPCデコーダから転送されたユーザデータブロックの一部としてユーザデータの誤りを特定した場合、訂正が、FIFO140に行われる。ユーザデータの各ブロックは、そのブロックのECC復号処理が完了した後、FIFO140からバッファ142に転送される。本システム100には、更に、データセキュリティを保証する1つ又は複数の機能を含み得るセキュリティモジュール146が含まれる。読み出し処理では、その目的は、メモリデバイス104から読み出されるデータを復号することである。セキュリティモジュール146が、使用不能である又は存在しない場合、読み出しデータフローは、FIFO140から直接バッファ142に至る。セキュリティ機能が使用可能である場合、データフローは、FIFO140からセキュリティモジュール146に至り、そして、セキュリティモジュール146からバッファ142に至るが、これについては、この直ぐ後に記載する。セキュリティモジュール146が使用可能である場合、セキュリティモジュールへの入力データは、暗号化されたユーザデータであり、出力は、復号されたユーザデータである。任意の適切な復号処理を用いてよく、これに限定するものではないが、AES高度暗号化方式を含み、現在利用可能な又は未だ開発中のものであってもよい。この時点で他の該当する機能を実現し得ることを認識されたい。例えば、ユーザを認証し、キーを生成し、キーを保護し、他の実体とキーを交換する等のサポート機能があってもよい。メモリバッファ142は、ホスト図示せずとの間で受け渡されるユーザデータブロック用のステージング領域として機能する。バッファ142は、ホストとコントローラ102との間の転送用の及び複数のメモリデバイス104で進行中の書き込み及び読み出し処理用の速度整合及び同期メカニズムとして機能する。当業者は、この開示全体を考慮して、そのような機能を容易に提供されるであろう。ユーザデータは、ホストへ送られる前に、バッファ142からホストインターフェイス116に転送される。該当する実施形態には、一般的に受け入れられたホストインターフェイス用の仕様及び規格に準拠する少なくとも1つのインターフェイスが含まれる。用い得るホストインターフェイスの例としては、ATA、USB、シリアルATASATA、セキュアデジタルSD、コンパクトフラッシュ登録商標CF等が挙げられる。書き込み処理動作以下の節では、書き込み転送中にコントローラ102によって実行されるブロック毎の処理について述べる。書き込みデータは、ホストインターフェイス116を介したホストからバッファへの転送の結果として、バッファ142に書き込まれてバッファ142で起こり、符号化されたデータが1つ又は複数のメモリデバイス104のセルに書き込まれるプログラミングステップによって、終了する。メモリバッファ142は、ある程度詳細に上記したが、書き込み処理の場面では、ホストから渡されたユーザデータブロック用のステージング領域として、同じ様に機能する。この場合、バッファ142は、処理されるユーザデータの出所であり、コントローラの書き込み処理の結果として、メモリデバイス104に最終的に書き込まれる。読み出し動作に関して上記したように、セキュリティモジュール146には、データセキュリティを保証するために用いられる一組の機能が含まれる。その用途は、任意であり、この点においては、図1の本例のシステム100が配備される特定の製品の用途及び書き込み動作が実行される状況に依存する。セキュリティモジュール146が使用不能である又は全く存在しない場合、書き込みデータフローは、バッファ142からECCエンコーダ144に直接向かう。他方、セキュリティモジュール146が使用可能である場合、データは、バッファ142からセキュリティモジュール146に流れる。セキュリティモジュール146への入力データには、非暗号化ユーザデータのブロックを含んでよく、また、セキュリティモジュールによって出力されたデータには、暗号化されたユーザデータのブロックを含み得る。現在利用可能な又は未だ開発中の任意の適切な暗号化処理は、これに限定するものではないが、高度暗号化方式AESを含む復号化処理と協働して用いられる。一実施形態において、ECCエンコーダ144は、第1符号化ステップを実行する。バッファ142から転送されたデータは、ユーザデータであり、ECCエンコーダ144は、ユーザデータブロックに基づき決定される一組のパリティシンボルを添付する。ECCエンコーダ144からの出力には、ユーザデータシンボルのブロック及び一組のECCパリティシンボルを含む。全体的な書き込みフローにおいて、ECCエンコーダ144によって生成されたECCパリティシンボルは、後続のステップによってユーザデータの一部と見なされる。この場面では、任意の所定のデータブロックについて、ユーザデータ記号とECCパリティシンボルとの連結は、LDPCエンコーダ148後記及び数列エンコーダ150によって、単一のユーザデータ記号ストリームと見なされる。少し異なる表現をすると、ECCパリティ記号は、本実施形態では、ユーザデータそれ自体の処理と同じようなやり方で、下流の構成要素によって処理される。一実施形態において、LDPCエンコーダ148は、一組のECCパリティシンボルを備えたユーザ記号のブロックとして、ECC符号化ユーザデータを受信し得る。LDPCエンコーダ148は、LDPCパリティを計算し、ECCエンコーダが用いられていると仮定すると、ECCエンコーダ144から受信されたユーザデータシンボル及びECCパリティシンボルのブロックに付される。LDPCエンコーダ148からの出力は、一組のLDPCシンボルが付加された受信データ記号の組ユーザデータ及びECCパリティである。LDPC符号化は、一回の通過で実施し得るため、復号処理とは対照的に、一実施形態において、LDPC符号化は、多数の反復の可能性を伴わない。LDPCエンコーダ148の符号化処理には、パリティチェック行列と称する数学構造を用いた、受信ブロックの情報データビットに関するパリティの計算を含む。LDPC配列には、2進数情報を伴うことから、符号化される予定の各ブロックのユーザデータは、2進数ビット列として処理される。パリティチェック行列をLDPCパリティ計算に適用すると、計算しなければならない各パリティビットに対してデータメッセージの中の語として選択された複数のビットを用いる一組の論理式の解が得られる。パリティチェック行列の配列によって要求される全てのパリティビットは、計算された後、符号化処理への入力であったユーザデータブロックに付加される。ユーザデータビット及びLDPCパリティビットの結果的に生じる組合せは、LDPCエンコーダ148からの出力である。一実施形態において、ECCエンコーダ144及びLDPCエンコーダ148からのECC/LDPC符号化ユーザデータは、数列エンコーダ150によって、一連の符合シンボルに変換される。数列エンコーダ150は、用いられると、入力データシンボルを逐次相関が与えられた一組の符合シンボルにマッピングする。これによって、符号化されたデータには、限定的であるが明確な方法で、各シンボルの値が、少なくとも1つの他の記号に依存するという特性が与えられる。従って、再読み出し時、復号処理は、ECC/LDPC訂正方式に加えて追加の訂正層として、メモリデバイス104との書き込み及び読み出し処理中に取り込み得る或る割合の雑音及び誤りを分離することが可能である。他の詳細については、図8の説明と共に以下に記載する。一実施形態において、数列エンコーダ150から出力され符号化ユーザデータ及びECCパリティ並びにLDPCパリティを含む符合シンボルは、メモリシンボルエンコーダ130によって、メモリシンボルのストリームに変換される。メモリシンボルは、特定のメモリデバイス104の特定の構成に適用される一組の可能なシンボルの一員である。多種多様な組のシンボルが実現される。一実施形態において、メモリデバイス104の記憶セルは、有限数のレベルの1つを記憶するように構成されている。従来のシステムでは、そのようなメモリセルは、2の偶数乗に対応する限定された数のレベルを記憶するように構成されている。本発明の一実施形態では、メモリセルは、2整数乗を表す場合もそうでない場合もある任意の数のレベルを記憶するように構成されている。例えば、特定のメモリデバイス104のセルの幾つかが、検知し得る7つの独特な対象レベルから構成される7つの独特なレベルを記憶するように構成されている場合、本構成中の各メモリセルは、7の基数の数値を記憶する。従って、この構成には、7つの可能なメモリシンボルがあり、各々、本構成の7つの可能な対象レベルの内の1つに対応する。これらのレベルを互いに区別するために、6つの識別境界を、所定のメモリセルにおいて利用可能な或る範囲の電荷に課すことを認識されたい。メモリセルの電荷を確立し読み出すハードウェアのアクセス解像度は、各セルの最大基数を確立することを認識されたい。アクセス解像度に依存して、対象レベルの数は、後記するように、実質的に制限なく増大し得る。メモリシンボルエンコーダ130の機能は、メモリデバイス104及びメモリセル構成に対して定義された識別レベルの数と整合するやり方で、一連の符合シンボルを一連のメモリシンボルに変換することである。本処理は、kを現メモリデバイス構成においてサポートされる対象レベルの数とすると、2進数ビット又はバイト等の2進数ベースの記号のいずれかが含まれる入力記号のストリームを基数kを有する桁のストリームに変換する処理になる。尚、kの値は、システム実施例内において変わることがあり、従って、メモリシンボルエンコーダ130の1つの特性は、所定のkの値によりメモリシンボルを生成するその性能であってよい。kは、所定のシステム実施形態内において、メモリデバイス104毎に変動することを認識すべきである。更に、kは、個々のメモリデバイス140のメモリアレイに適用される際、変動し得る。例えば、メモリアレイの異なる領域には、異なるkの値を割り当て得る。符合シンボルからメモリシンボルへ及びメモリシンボルから符合シンボルへの変換は、対象レベルの数の関数である。メモリセルに記憶される単位は、適用可能なメモリセルが構成される対象レベルの数を基数として有する実質的に単一桁の数である。本システム100において、各メモリデバイス104は、メモリシンボルエンコーダ130からメモリシンボルのストリームを受信するためのメモリシンボル書き込みモジュール152を含んでおり、それらの値をフラッシュアレイ118にプログラムするか書き込む。上記したメモリシンボル読み出しモジュール122と同様に、メモリシンボル書き込みモジュール152は、コントローラ102に動かすことも可能であり、何らかの適切なやり方で、コントローラ102とメモリシンボル書き込みモジュール152との間で機能的に分散してもよい。図2は、データを記憶媒体に書き込む方法200の一実施形態を示す。本例では、方法200の結果として転送される最小量のデータが、1ブロックであり、この場合、ブロックの長さは、512バイトであるが、512バイト掛ける2の整数乗であってもよい。従って、フロー中のステップは、ブロック長単位に対して行われる処理ステップを表す。他のブロックサイズを用い得ること、及びブロック形態でデータを転送する絶対的な必要性はないことを認識されたい。図1のシステム図は、コントローラ102と一体化されたセキュリティ機能を示すが、図2に示す本例の方法は、説明を分かり易くするためにセキュリティ機能を省略することを基に簡素化したものである。しかしながら、そのようなセキュリティモジュール146は、図1の図に容易に組み込まれる。以下の説明は、外の点では、示した部位に関連し、従って、図1と共に解釈されたい。図1と共に、図2において、書き込み処理は、開始点で始まり、終了点で完了する。開始点において、ユーザデータブロックは、書き込み命令における1つのステップの結果としてバッファ142に置かれているが、この書き込み命令によって、書き込み命令に関連するユーザデータは、ホストインターフェイス116からホストによって送出されバッファ142に転送される。ホストインターフェイス116の特定の実施形態は、この処理の詳細を決定するが、この処理は、本開示の範囲を越えると思われる処理であり、また、当業者によって良く理解されている処理である。尚、データ転送を伴う様々なステップは、必要に応じて、マイクロコントローラサブシステム108によって実施し得る。ステップ202において始まる方法200には、バッファRAMからデータシンボルを読み出す段階が含まれる。一実施形態において、データシンボルを読み出す段階には、バッファ142からECCエンコーダ144にユーザデータ記号のブロックバイトを転送する段階を含み得る。方法200には、更に、ステップ204において、バッファ142からユーザデータ記号を読み出し、ユーザデータシンボルを処理し、ECCパリティを含む一組の追加のデータ記号を付加する段階が含まれる。ECC符号化実施の結果は、ユーザデータシンボルのブロック及び一組のECCパリティ記号である。従って、出力シンボルの数は、ECCパリティ記号の数だけ入力シンボルの数を超過することがある。ECC符号化ステップ204によって生成された一組のユーザデータ及びECCパリティシンボルは、ステップ206に示したように、LDPC符号化方式を用いて符号化される。LDPC計算は、一般的に、入力が、ストリームシンボルであるよりもむしろビットのストリームであるという観点によるが、シンボルは、ビットの集合として処理される。LDPC符号化ステップ206は、全組のユーザデータブロックシンボル及びECCパリティシンボルについてパリティを計算する。計算の結果は、データフローにおいて、一組の追加のシンボルとして表される追加の組のLDPCパリティビットである。従って、このステップの出力は、一組のECCパリティシンボルが付加されたユーザデータシンボルのブロックであり、このECCパリティシンボルには、更に、一組のLDPCパリティシンボルが付加される。方法200には、更に、ステップ208において、LDPC符号化ステップ206から出力されたシンボルのストリームが、符合シンボルに符号化すべきデータシンボルのストリームとして全体的に扱われる数列符号化段階が含まれる。従って、入力ストリームは、符合シンボルのストリームに符号化されるが、この場合、符号化処理が、逐次相関を行う。この符合シンボルのストリームは、元のユーザデータを表わしたものであり、これは、メモリデバイス104に記憶される。数列符号化ステップ208によって生成された符合シンボルは、210に示した事前補正ステップ時、様々な性能特性に則って監視され調整される。例えば、性能特性は、例えば、センス増幅器120に対する物理的なセルのオフセットの関数として記憶メモリセル値に生じる抵抗効果等の、予測可能な方法で媒体に書き込まれる全てのデータに当てはまる特性及び挙動であってよい。他の選択肢として、性能特性は、フラッシュメモリにおける最隣接効果と関係するパターン依存効果に当てはまる特性及び挙動であってよい。本例の方法において、事前補正ステップ210時適用される手順は、用いられる特定の種類のメモリデバイス104用の全ての媒体において不変である。この手順には、それらの用途用の特定の組の規則及びプロトコルを含む。他の実施形態では、ステップ210で適用される事前補正規則は、同じである可能性のあるメモリデバイス104を用いる場合でも、メモリデバイス104毎に可変である。この後者の場合、カスタマイズした事前補正を各メモリデバイス104に適用してもよい。一実施形態において、ステップ210には、可能性として、製造中事前の較正処理を前提とするカスタマイズした事前補正が含まれるが、これによって、例えば、コントローラ102は、それが取り付けられる記憶媒体に関する関連情報を収集する。これには、非限定的な例として、既知のパターンをメモリに書き込む段階と、パターンを読み戻す段階と、既知の入力に対する応答を解析する段階と、また、その後、その差異に関する関連情報を抽出する段階を伴う。一実施形態において、事前補正機能は、メモリ中のデータの物理的及び論理的構成を予想するやり方で、補正値を計算し符合シンボルに適用する。このようにして、各メカニズムについて誤りが生成され得ることに対する具体的な理由にある原理を詳細に理解せずに、多種多様な繰り返し可能な誤り生成歪みメカニズムを事前補正に供し得る。所定のメカニズムを詳細に理解すると、追加の処理入力を提供して、更に、そのような事前補正データの読み戻し中に遭遇し得る誤りの確率を低減することができる。1つ又は複数の性能特性を確立する段階を通して、性能特性に基づく所定のメモリセルの予測応答を確立する。実際の書き込み動作中、予測応答に基づき、所定のメモリセルの目標電荷値の確立に関係する電荷出力パラメータを調整することによって、一回の用量の電荷を所定のメモリセルに出力可能であり、これにより、実際の電荷値が、一回の用量の電荷によって所定のメモリセルに生成されるが、この実際の電荷値は、少なくとも近似的に目標電荷値に等しい。電荷出力パラメータは、非限定的な例として、時間間隔持続時間、電流値、又は電圧値であってよい。逆に、従来のシステムでは、ステップ毎の処理が、一般的に用いられ、これによって、セルの電荷量は、それが増大して目標値に近づくにつれて、チェック及び再チェックされる。このことは、メモリセルに正しい電荷量を確立する際、有効であるが、この技法は、元来遅く、これによって、データ処理能力に制約が生じる。方法200には、更に、212において、メモリシンボルを符号化する段階が含まれる。一実施形態において、メモリシンボルを符号化する段階には、ステップ210において事前補正を適用して又は適用することなく、数列符号化ステップ208によって生成された符合シンボルを入力として受信する段階が含まれる。この入力は、一組のメモリセルに直接表現し得る記号のストリームに変換される。NANDフラッシュを用いるシステムの一実施形態例では、NROM技術に基づき、この処理は、代表的な一実施形態では、対応するビットストリームとして符合シンボルストリームを処理して、更に後記するように、そのビットストリームを離散的な電圧レベルのストリームによって表現し、その後、メモリセルに適用できる単位に構文解析する。上記したように、メモリセルにおけるレベルの数は、2の非整数乗であってよいことから、この処理は、単にビットストリーム全体を一連のより小さい多ビット単位に分割するより少なくとも若干複雑なことがあり、実際には、全ての情報を適切に効率的な方法でメモリにマッピングするように、端数のビット境界に沿って、入力ビットストリームを一組のより小さい多ビット単位に分割する必要がある。方法200には、更に、ステップ214において、メモリシンボルをメモリに転送する段階が含まれる。一実施形態において、メモリシンボルをメモリに転送する段階には、選択されたメモリデバイスに常駐するメモリにステップ212で計算されたメモリシンボルを転送する段階を含む。この処理には、コントローラ102とメモリデバイス104との間のインターフェイスを介して、選択されたメモリデバイスに一度に1つの記号を提示する段階を含む。そして、選択されたメモリデバイス104は、ステージング領域に情報記号を蓄積する。メモリシンボルは、メモリデバイス104のメモリシンボル書き込みモジュール152に充分な量が一旦蓄積されると、メモリデバイスそれ自体の技術及び実施形態に合致する方法でメモリに適用される。従って、具体的な詳細は、既知であり、本開示の範囲を超えるものと思われる。次に、図3において、300で指す方法例を示す。一般的に、方法300は、記憶媒体からデータを読み出すために用いられるステップの例を示す。本例の方法300では、転送されるデータの最小量は、1ブロックであり、この場合、ブロックの長さは、512バイトであってよいが、512バイト掛ける2の整数乗であってもよい。従って、フローステップは、ブロック長単位で実施される処理ステップを表す。方法300は、メモリデバイスから単一ブロックのユーザデータを読み出し、それをバッファ142に置くために用いられるステップに対応し、この場合、それは、ホストインターフェイス116を介してホストに転送し得る。nブロックの読み出しには、このフロー図をn回通過する必要がある。図1に示すシステム100は、コントローラ102と一体化されたセキュリティモジュール146を示すが、図3に表すフローは、説明を分かり易くするために、セキュリティモジュールを図示していないことに基づき簡素化したものであるが、これは、図1の図に容易に組み込まれる。以下の説明は、それ以外の点では、図1と共に示し選択した部位に関する。方法300は、ステップ302で始まり、ある数のパラメータに基づき、記憶媒体からメモリシンボルを読み出す。例えば、読み出されるシンボルの数は、ユーザデータブロックのサイズ、他の符号化レベルにより追加されたオーバーヘッドの量、及びメモリシンボルアルファベットのサイズによって、決定される。これらのパラメータの幾つかは、本実施形態の関数として変動するが、一実施形態では、動的にも変動する。この点に関して、メモリシンボルデコーダ126は、一実施形態において、複数の符合シンボルアルファベットで動作するように構成され、この場合、構成それ自体は、ファームウェア106によって決定し選択し得る。例えば、1つの構成は、基数7アルファベットで動作するが、他の構成は、基数9アルファベットで動作する。可能な構成の数は、メモリシンボルエンコーダ130及びメモリシンボルデコーダ126を実現する設計上の特徴である。方法300は、304に示したように、メモリシンボルを符合シンボルに変換する。一実施形態において、メモリシンボルを符合シンボルに変換する段階には、各メモリセルから読み出されるレベルのアナログからデジタルへの変換を伴う。一実施形態では、デジタル形式への変換は、メモリデバイスからコントローラ102へのラインがデジタル形式になるように、メモリデバイスにおいて行うことができる。他の実施形態では、デジタル変換は、メモリデバイス104からコントローラ102に延在するラインが、センス増幅器120からの信号を実質的に搬送するアナログラインであるように、コントローラ102において行うことができる。本例の方法300には、事後補正ステップ306が含まれるが、これは、図2に示す書き込み処理の事前補正ステップ210と類似している。事後補正ステップ306が用いられる場合、歪みメカニズムは、例えば、事前補正ステップを実施することが実現可能又は効率的でなければ、後処理によって対応できる。訂正値又はプロトコルの原則も、上述の事前補正に類似している。例えば、既知の不変の効果又は事前の較正処理から収集される情報は、事後補正ステップ306時に用いてよい。本例の方法300には、更に、ステップ308において、事後補正ステップ306の結果として、事後補正された符合シンボルのストリームの数列復号処理段階、又は他の選択肢として、事後補正が用いられないステップ304から直接発する段階が含まれる。尚、このステップ308は、数列の復号には必要でなく、逐次相関を用いない一実施形態では、データストリームを直接復号し得る。一実施形態において、数列復号ステップ308は、符合シンボルストリームをデータ記号ストリームこれは、メモリ書き込み/読み出し処理からの雑音及び歪み効果によって破損し得るに変換する。一実施形態において、数列復号ステップ308は、反復性であり、即ち、1つ又は複数の処理ステップが、必要に応じて繰り返され、符合シンボルのストリームからデータ記号のストリームを得ることができる。方法300は、数列復号ステップ308において反復ループ310を示すことによって、この可能性を考慮する。反復判断基準は、個々の実施形態で実現される数列コード化方法に依存する。例えば、数列復号処理が、単一の反復タイプの処理であれば、実行される判断基準310は、常に真である。数列復号ステップ308からのデータ記号は、受信後、ステップ312に示すように、LDPC復号方式を用いて復号される。入力には、汚れているユーザデータシンボル1ブロック、一組のECCパリティシンボル、及びLDPCパリティを表す一組のシンボルを含む。用語汚れているによって、現在の処理対象である情報が、現在呼び出されている訂正メカニズムによって訂正可能な誤りを含み得ることを意味する。逆に、清浄なデータは、少なくとも実際的な見地からは、もはや現在呼び出されている訂正メカニズムによって訂正可能ではない。LDPCステップ312は、復号処理と共に、一組のパリティビットとして扱われるLDPCパリティを用いて、汚れているデータにある誤りを見つけて訂正する。この処理は、反復ループ314によって示すように、反復性であってよく、また、もう一回通過させるという各反復における判断は、幾つかの判断基準のいずれかに基づく。例えば、この判断基準は、少なくとも部分的に、処理されているデータに残っている誤りの数の間接的な目安に基づく。データが、何らかの処理動作後、清浄になると、チェックを行って、このことを検証することができる。幾つかの稀なケースでは、清浄化処理をストールする様々な種類のデッドロックが起こることがあり、これらの場合、最大反復回数を適用して、処理を異常終了してよいが、この場合、エラー処理ステップが、本フローの次のステップである。本方法300には、更に、ステップ320において、一組のユーザデータビット及び一組のECCパリティビットを含む入力に対してECC復号を実施する段階が含まれる。ステップ312において、LDPC復号処理が実施された場合、LDPCパリティシンボルは、シンボルストリームの一部ではなく、従って、ECCデコーダに到着する情報だけが、ユーザデータそれ自体依然として汚れている及びECCパリティビットである。ECC復号ステップ320は、少なくとも潜在的に、LDPC復号ステップ312によって捕獲されないあらゆる最終的な誤りを訂正するように機能する。ECC復号ステップ320では、判断322において、3つの結果の内の1つが生じ得る。最初に、訂正可能な誤りが検出されるが、これは、324に示すように、方法300が誤りを訂正するように進むことを意味する。一実施形態において、訂正を行う段階には、ECC誤りベクトルを計算する段階と、ECCの分野において、当業者には馴染みのある方法で、ベクトルを入力データ記号に適用する段階と、が含まれる。誤り訂正を実施した後、方法300は、ステップ326に示すように、データ記号がバッファに転送される所に進む。次に、ECC復号ステップ320では、誤りが検出されないことがあるが、これは、LDPC復号ステップから送られるデータシンボルが清浄であったこと、また、その時点で、そのように認定されていることを意味する。従って、方法300は、ステップ326に示すように、データシンボルがバッファに転送される所に直接進む。ステップ326では、バッファに転送されるデータシンボルは、清浄である。この理由は、ECC復号ステップ320を完結する事前の復号ステップが、少なくとも誤りが検出可能である限り、結果的に生じるデータにエラーの無いことを保証しているためである。この時点では、フローの唯一の情報は、ユーザデータ記号のブロックである。事前のステップに関与する全てのオーバーヘッド情報は、もはや必要ではない。このユーザデータのブロックは、バッファ142に転送され、ここで、ホストインターフェイス116を介したホストへの後続の転送に利用可能になる。第3に、ECC復号ステップ320では、ECC訂正計算が修正されるより多くの誤りが、ユーザデータ及びECCパリティにおいて検出される。この結果により、異常終了及びエラー処理ステップ328に抜けることが必要になる。次に、図4において、後の補正用の基礎を形成する情報を生成するための方法400の例を示す。一実施形態において、この情報の生成には、メモリセルに書き込まれ、そして、読み戻される所定のパターンを用いる。事前補正は、データ書き込みフロー例えば、図2の方法200の一部であり、事後補正は、データ読み出しフロー例えば、図3の方法300の一部である。いずれの場合でも、事前補正及び事後補正の一部として、書き込み及び読み出しフロー中にデータシンボルに適用された情報は、図4に示す手順等の較正手順から取得し得る。方法400は、402に示すように、書き込みステップが適用される特定のページのデータを選択することによって始まる。一実施形態において、メモリのページとは、1ブロックのデータのサイズに対応するメモリの物理的なレイアウトを意味する。較正は、記憶されるデータのページに対して、様々なやり方で実施される。最終的には、どのページを書き込むかという方法は、マイクロコントローラサブシステム108図1参照上で実行されるファームウェア106において実現される。個々のページは、例えば、アドレス値を確立することによって指定し得る。方法400には、更に、ステップ404において、較正されるメモリデバイスに既知の情報パターンを書き込みデータとして適用する段階が含まれる。特定の組のメモリパターンを用いることができ、また、それらの選択は、事前及び/又は事後補正に用いるためのデータを返すように設計された特性の選択に基づき得る。パターン符合シンボルは、ハードウェア、ファームウェア、又は両者の組合せにより、アルゴリズム的に生成し得るという事実によって、普通のデータ符合シンボルと区別し得る。方法400には、更に、ステップ406において、パターン符合シンボルをメモリシンボルに変換する段階が含まれる。例えば、図1の及び更に図6で詳細に記載するメモリシンボルエンコーダ130は、符合シンボルの変換に用い得る。一実施形態において、パターンは、一組のデータ記号から生成されるが、この場合、各記号は、目標電荷レベルによって表される図7で更に詳際に記載する。他の実施形態は、一組のデータ記号に対する拡張からパターンを生成するが、この場合、目標電荷レベルの総数は、一組のデータ記号のみにおける電荷レベルの数より大きい。一組のデータ記号の拡張部には、他の目標電荷レベルを含むが、これらは、データ記号に対応する所定の対象レベル間の中間値である。他の実施形態では、データに用いられる同じ組の符合シンボルから排他的にパターンを生成する。方法200には、更に、ステップ408において、メモリシンボルをメモリに転送する段階が含まれる。メモリシンボル書き込みモジュール152は、メモリセルに負荷される予定の対応する電荷レベルにメモリシンボルを変換する。図5は、他の方法の一例であって、500で指すが、後の補正用の基礎を形成する情報を生成するための方法を示す。方法500は、図4に示す較正書き込みフロー方法400と共に用いられる。較正読み出しフロー方法500は、事前補正及び事後補正の実施に用いられる情報を生成するために、較正書き込みフロー方法400によってメモリに書き込まれたパターンを調査する。事前補正は、データ書き込み方法200図2の一部であってよく、事後補正は、データ読み出し方法300図3の一部であってよい。方法500は、較正データが読み出される特定のページを選択することによって始まり、ステップ502に示す。一実施形態において、方法500は、較正データが、選択されたページに記憶され、また、そのページから入手可能なように、選択されたページが、較正書き込み方法400図4を適用することによって前に書き込まれたと想定される。方法500には、更に、ステップ504において、メモリからメモリシンボルを転送する段階が含まれる。例えば及び一実施形態では、メモリシンボルのページをメモリシンボルデコーダ126に返す選択されたメモリデバイス104における選択されたページの場合、コントローラ102が、処理を行う。方法500には、更に、ステップ506において、前のステップ504中に得られた各メモリシンボルを、コントローラ102の残りの部分によってそのように認識可能な符合シンボルに変換する段階が含まれる。一実施形態において、このステップ506は、図1のメモリシンボルデコーダ126を用いるが、これについては、図6において詳細に記載する。持ち込まれた誤りにより、このステップから得られる符合シンボルは、較正書き込み方法400図4時に元々転送されたものと同じである場合もそうでない場合もある。方法500には、更に、ステップ508において、対応する読み出しパターンとの比較を実施できるように、事前の較正書き込み方法400図4の間にメモリデバイス104へ書き込まれたコードパターンを再生する段階が含まれる。対応する読み出しパターンは、書き込まれた時と同じパターンを有すべきであることから、方法500時にそのパターンを生成するハードウェア及びファームウェア機能は、較正書き込み方法400の一部として、そのパターンを生成したものと同じものであってよい。方法500には、更に、510において、ステップ506で生成された一連のパターン符合シンボルメモリに記憶されている実際のデータを表すを、ステップ508で再生されたパターン符合シンボル書き込まれたデータパターンに対応すると比較する段階が含まれる。この比較は、データ書き込み方法200図2時の事前補正及びデータ読み出し方法図3時の事後補正に最終的に用いられる情報源である。差異値は、各再生シンボルをメモリデバイスから受信された各対応する符合シンボルと比較することによって生成し得る。そして、差異値は、ステップ512に示すように、補正基準を計算するために用いられる。差異データ値は、様々な方法で用いられ、最終的には、歪み及び雑音メカニズムから導出できるが、このメカニズムは、データパターンそれら自体の関数及び符合シンボルのブロック数列全体に対する符合シンボルにおけるビットの相対的な位置の関数である。即ち、これらの歪み及び雑音メカニズムは、繰り返し可能な性能特性を表し、従って、補正可能である。このように、ステップ512は、前のステップからの差異値と、メモリデバイスに書き込まれた元のコードパターンとのそれらの関係とを解析する。この解析の結果は、各符合シンボル位置に対応する補正量を計算することであってよい。従って、このステップでは、この結果は、各符合シンボルに付随する補正量である。ステップ514において、補正計算からの結果は、複数のメモリデバイス104の1つ又は複数に存在するデータ構造に分類したり、任意の適切な位置に記憶したりしてよい。この特定のデータ構造は、較正フローが適用された各ブロックのために蓄積された基準の集団であってよい。この集団プロセスには、特定のメモリデバイス技術及び事前/事後補正判断基準により変わる幾つかのアプローチが含まれる。これらの判断基準には、1特定の符合シンボルに関連する補正オフセット、2ページ内における符合シンボル位置に関連する補正オフセット、及び3較正差異データから計算されるページ内での記号位置の関数としてページ全体に当てはまる符合シンボルオフセットが含まれるが、これらに限定されない。上記1の場合、その効果は、幾つかの符合シンボルに起こり他のものには起こらない歪みの発生に関係する。例えば、メモリセルに適用される目標電荷レベルの範囲において、より高い目標電荷レベルにまで記憶すると、読み戻し時検知された際、予想より低いレベルが返されるが、これは、目標とする電荷レベルで発生する予測可能な歪みメカニズムによる。上記2の場合、その効果は、ページ内におけるメモリセルの位置の関数として起こる歪みに関係する。2の例は、センス増幅器と検知される特定のメモリセルとの間の抵抗である。上記3の場合、その効果は、ページの関数として適用するメモリセル差異に基づく。即ち、検知されたメモリセルに対するオフセットは、特定のページにより変わる。更に、複数の各メモリデバイス104間において、各メモリデバイス内におけるメモリブロック位置の関数として、補正オフセットも変動することがあり、従って、データ構造は、複数のメモリデバイス104をデバイス毎に区別する分断構造を有し、また、データ構造は、そのメモリデバイス内の根底にあるブロック構造により、特定のメモリデバイス内の各ブロックを区別する。一実施形態において、オフセットは、識別レベルの正しい又は基礎値を指すプラス又はマイナス値である。言い換えると、オフセットは、特定のセル又は複数のセルにおける1つ又は複数の識別レベルの電荷変動を特徴付ける。オフセットは、例えば、メモリシンボル領域において適用される。較正処理は、複数のメモリデバイス104上で利用可能なデータページの一部に対する既知のデータパターン書き込み及び読み出しの結果として、補正情報を蓄積する。これは、メモリデバイス104の全ての利用可能なデータページの一部を用いて補正情報を生成することによって、また、補正情報に基づきデータページの全組に対して一般化することによって、較正フローの実行時間を最小にしようとする一実施形態を表す。このアプローチは、データページの選択されたサンプルが、データページの全体を統計的に表すのに充分である場合に効果的であることを認識されたい。しかしながら、他の実施形態は、較正を実行して、複数の各メモリデバイス104における全てのページに基づき、補正情報を生成する。いずれにせよ、事前/事後補正が実施されるデータは、それ自体、事前に確立することができ、そして、その後、読み出し及び/又は書き込み動作時、アサートされる。一般的に、メモリセルは、与えられたアレイにおいて又はメモリデバイス毎に、互いに同じように見えることがある。しかしながら、メモリセルは、メモリセルからの読み出し及び/又はそれらへの書き込みにおいて、1つ又は複数の繰り返し可能な性能特性に関して、互いに対して変動する。本明細書で示した補正は、メモリセルの配列にアクセスして、少なくとも1つのメモリセルに関する性能特性を特徴付けて、選択されたセルアレイデバイスのメモリセルの配列の性能特性の実際の値を確立する段階に基づいてよく、また、実際の性能特性の値に基づき、選択されたセルアレイデバイスに引き続きアクセスするためであってよい。性能特性は、異なる性能特性の値を異なるメモリセルによって生成できるように、任意の所望の数のメモリセルを用いて測定及び生成される。従って、1つのメモリセルは、1つの性能特性の値に基づきアクセスされる一方で、異なるメモリセルは、異なる性能特性の値に基づきアクセスされる。更に、任意の数の異なる性能特性は、補正処理に用いるために測定し得る。コントローラ102に複数のメモリデバイス104が接続される場合、異なる性能特性の値は、メモリデバイス104の異なるものに対応して測定され、その後、補正目的のために適用される。本明細書に記載したように、補正は、書き込み動作時の事前補正として及び/又は読み出し動作時の事後補正として、適用される。尚、上記したように、事前補正及び事後補正は、双方共、同じデータに実施される。事前補正は、データに実施されるが、これは、メモリデバイス104へのその書き込みに先立って実施され、事後補正は、データに実施されるが、これは、それをメモリデバイス104から読み出した後実施される。様々な実施形態では、事前補正だけ又は事後補正だけ、又は事前補正及び事後補正の双方を実施する。事前補正の応用及び動作の例として、メモリセルの配列は、読み出し動作においてアクセスして、特定のセルによって記憶されている現電荷量を確立し、この現電荷量は、実際のデータ値に関連付けられる。性能特性が、特定のセルに適用される際、測定されたとすると、特定セルの訂正データ値は、訂正データ値が、性能特性の影響を訂正するための実際のデータ値とは異なる場合、現電荷量及び測定された性能特性の値に基づき確立される。事後補正の応用及び動作の例として、セルの配列は、所定の電荷量が読み出し動作時存在する場合、任意の所定の1つのセルにおける所定の電荷量に関連付けられた所定のデータ値を特定のセルに書き込むために、書き込み動作においてアクセスする。書き込み動作は、所定のデータ値に関連する所定の値を有する書き込みパラメータの使用に基づく。有用な書き込みパラメータの例には、時間、電圧及び電流が含まれるが、このことは、これらのいずれもが、書き込み動作に応じて、メモリセルに最終的に記憶される電荷量に影響を及ぼすためである。しかしながら、特定のセルに書き込まれる実際の電荷量は、性能特性の変動に比例して変化する。従って、書き込みパラメータが調整され、また、書き込みパラメータの異なる又は調整された値が、性能特性に基づき用いられ、これにより、特定のセルに確立される実際の電荷量は、所定のデータ値に対応する所定の電荷量に更に厳密に整合する。図6a及び6bに示した2つの図は、メモリシンボルエンコーダ130及びメモリシンボルデコーダ126における技法を示し、これによって、メモリ媒体に記憶されたシンボルは、それぞれ符号化及び復号される。これらの処理は、任意の所定の実施形態における目標電荷レベルの数図7において更に詳細に記載するに関して調整でき、これにより、メモリシンボルエンコーダ130によって生成され、メモリシンボルデコーダ126によって復号されたメモリシンボルは、図7の場合で記載するように、エンコーダ及びデコーダが適用される全ての可能なメモリデバイス構成の目標電荷レベルの数と整合する。図6aにおいて分かるように、メモリシンボルエンコーダ606は、符合シンボルのブロック602を入力として受信し、メモリシンボルのブロック604を出力として生成する。本質的に、図6aは、2進数の符合シンボルドメインからメモリシンボルドメインへの変換を表す。符合シンボルのブロック602は、数値基数が2の整数倍であるn記号列の桁として処理される。実施形態は、mを1以上とすると、各ブロックのデータを記号当りmビットの記号列として受信し得る。m=1の場合、各受信記号の基数は、2であり、mが1より大きい場合、各mビット記号の基数は、2mである。m=1以上の入力記号の全ての表現は、実際の実施形態では、同様に有効である。このステップの出力は、記号のブロック604であり、ここで、pは、基数qを有する記号のブロック長であり、また、qの有効な値は、2以上の整数である。各シンボルsは、最も近い整数に丸められたビットから構成され、あるいは、各シンボルは、q個のアナログレベルの1つを有する単一の信号として表現される。即ち、各メモリシンボル604は、目標電荷レベルの数によって代表されるメモリセル中の電荷の固有値に対応し、必ずしも、利用可能な符合シンボル602の数とメモリシンボルの数との間に1対1の対応関係が存在するとは限らない。図6bに示すように、メモリシンボルデコーダ608は、メモリシンボルのブロック610を入力として受信し、符合シンボルのブロック612を出力として生成する。この機能は、一連のメモリシンボル610を符合シンボルのストリーム612にマッピングする点において、メモリシンボルエンコーダ606によって実施される機能と逆である。メモリシンボルのブロック610は、数値列として表され、これによって、各々、数値基数qを有し、q個の可能なレベルの内の1つの値を有する単一の信号によって、又は、最も近い整数まで丸められた2進数桁から構成される記号によって表し得る。出力は、nmビット記号のブロックである。出力記号数列における各々は、図3の説明で記載したように、符合シンボル612であり、mの値は、1以上の整数である。図7a-cは、3つの形態のメモリ毎セル記録を示す。各図の水平軸は、記憶された電荷の大きさに対応し、一方、垂直軸は、電荷の特定の又は目標の値を達成するための確率に対応する。図7a-cの3つの全ての形態は、電荷の目標値でメモリセルに記録される情報を記録しようとする試みから生じ得る確率パターン又は潜在的な電荷分布表現を示す。非限定的な例として、図7a-cの各々は、情報を記憶するための所定のメモリセルの全電荷範囲容量の潜在的用途を表す。情報記憶容量の具体的な量は、見て分かるように、各図で増加する。図7aにおいて、各セルは、メモリデバイスを構成するメモリセルの物理的な設計によって暗示される最大範囲内にある最小及び最大の実際の電荷レベルによって特徴付けられる。最大と最小との間の差は、メモリセル用の電荷の有用な範囲と見なされ、一組のレベルT1-T4を用いて適用され、破線として示す。レベルT1-T4の各々は、一組の識別レベルd1-d4で分割する。本例では、各レベルT1-T4は、メモリセルに対して可能な最大と最小レベルとの間にあり、一般的に、目標電荷レベルは、互いに等間隔に配置し得る。メモリセルは、これら2つの両極端な値間にある任意の目標電荷レベルにプログラムし得る。即ち、各セルは、メモリセル内の目標電荷値の1つを達成するように電荷を負荷し得る。これを行う際、セル内の電荷量は、所定の1つの目標電荷レベルと相関する電荷の或る範囲内に入る。電荷確率曲線又は分布P1-P4は、各目標電荷値に関連する特定のセルにおいて達成し得る記録レベルの確率分布を表す。分布の目標電荷レベルは、少なくとも近似的に、確率分布を規定する曲線の中心にある。各セルは、いずれか所定の時点で、唯1つの目標電荷レベルに達するようにプログラムされる。しかしながら、複数のレベル本例では、4つの内の任意の1つを選択でき、また、複数含まれるレベルの数は、特定のメモリデバイス104図1の特性及び構成及びコントローラ102によって提供される一組の処理によって決定される。従って、各電荷確率分布P1-P4は、図7の電荷蓄積構成が4つの固有の値を記憶し、これによって、2進数項の2つのビットに対応することが可能なように、所定の目標電荷レベルでセルに負荷をかけようとする時、実際に生じる可能な電荷の範囲を表す。図7aについて全般的に記載したが、次に、他の細目について、それが提供する記憶容量に関して記載する。図7aは、4つのレベルを示すが、4より大きい又は少ない他のレベル数も異なる実施例において選択し得る。図7aの構成において、各電荷レベル又は範囲L1-L4が、電荷バッファ差CBMを示す明瞭な差だけ最も近い隣接レベルから離間されていることを観察することは興味深い。各曲線P1-P4は、目標識別レベルd1-d4に対してサンプルの予想確率分布を表す。特定のセルの記録レベルを検出する際、検知される値は、図示した曲線の内の1つに落ち着くことによって、その目標電荷値に充分に近いと予想され、隣接する電荷範囲間に存在する広い電荷バッファ差の結果として、どの電荷範囲が、実際に表されるかに関するあいまいさの可能性が除外される。従って、目標電荷値間の大きな相対的離間は、他の問題解決メカニズムを必要とせずに、記憶されたデータを取り込む際の信頼性を保証する。言い換えれば、任意の所定の値の電荷の検出は、特定の識別レベルd1-d4に一意的に関連付けられる。従来のシステムの意図は、主に、メモリセルの電荷の特定の値を読み出す処理に関連する特定のデータ値に関するあいまいさの可能性を完全に回避することである。次に、図7bにおいて、変更された用途のメモリセル電荷範囲を示すが、これは、図7aの例に用いられたものと同じメモリセルが用いられる。図7aと比較して、1つの相違点として、同じ利用可能な電荷範囲に分布した更に多くの識別レベルd1-d7が存在している。従って、電荷確率曲線P1-P7は、本質的に同じに、即ち、水平の電荷軸に沿って同じ幅で見える。しかしながら、このことにより、図7aの図示内容より曲線が互いに近くになるように、CBMを低減する必要がある。各目標電荷値に関連付けられた確率分布は、その最隣接のもの1つ又は複数の確率分布と重なり合わないが、目標レベル間の差の低減により、各曲線が、その関連する識別値に極めて近く、従って、読み出し処理の精度が当然高くなることを意味する。この点に関して、事前補正及び事後補正処理は、歪みメカニズムを補正することによって、検知レベルの精度を維持するように機能する。図7bによって示さない効果は、エージング及び高温効果を含む様々な物理的な処理によって、識別レベルが、両軸に沿って位置を変ることである。これらの変化は、一方では、エージング及び温度に関連する処理による図7a-7cに示す分布のx軸に沿う左方シフトにより特徴付けられる。他の物理的な処理によって、図7a-7cの分布形状が、y軸に関して平坦になることがある。これらの変化は、潜在的にデータ誤りの追加的原因であり、これは、補正及び誤り訂正の恩恵に浴し得る。引き続き図7bにおいて、7つの識別レベルには、関連する目標電荷値が提供される。これは、2の非整数乗に対応することを認識されたい。上記したように、本明細書に述べたコントローラ102は、この構成に容易に対応する。各目標電荷値が記号に関連付けられる場合、メモリセルに関する限り、これをデジタル形式で表現することに対する制約は存在しない。もちろん、記号の数が2進数形式にマッピングされる場合、充分な数のビットを用いなければならない。本例では、3ビットが必要である。次に、図7cにおいて、メモリ電荷セル範囲の更に変更した用途を示すが、これもまた、図7a及び7bにおいて用いられた同じメモリセルを用いる。本例には、他の2つの構成のいずれよりも更に多くの識別レベルが存在する。具体的には、10の識別レベルd1-d10、目標電荷値T1-T10、及び関連する電荷確率曲線P1-P10を示すが、これらは、10の記号に対応する。また、2の非整数乗が、記号の数として用いられる。重要なこととして、この時点で、確率電荷曲線は、電荷確率曲線の隣接するもの間の重なり合う範囲OLにおいて読み出される電荷値が、位置d1-d10の観点では、あいまいに限定された程度に重なり合う。言い換えれば、CBMは、この時点で、負の値を有する。本例では、OLの指定された位置について、電荷値がT1又はT2に対応すると解釈すべきであるかどうかは、不確定である。図7c構成から得られた読み出しサンプルのほとんどは、依然として、それらがどの識別レベルを表すかについて、あいまいさが存在しないように構成されているが、水平の電荷軸上の重なり合う領域の占有領域内に入る或る割合の電荷サンプルは、この時点では、それらが対応すべき電荷確率曲線に関して、不確定である。理論的な見地からは、重なり合う占有領域は、隣接目標電荷値間の距離の半分に近づき得る。このように、所定の電荷値読み出しを正確に解釈する確率は、50を超える正確さで可能である。実際の見地からは、考慮すべき精度と記憶容量との間には釣り合いがある。導入されたあいまいさを示す量は、一組の目標電荷値の特定の確率分布によって決定される。図7cに示す構成に関しては、従来のシステムは、通常、隣接する電荷確率曲線間の識別が可能である点において、ほぼ絶対的な精度を必要とする。本明細書に示した概念によれば、記憶された情報の信頼性は、確率分布における重なり合いにかかわらず、本明細書の教示内容により維持される。特に、この信頼性は、コントローラ102図1における連続符号化/復号図8、LDPC符号化/復号図1、及びECC符号化/復号図1機能を利用して、独立に又は適切な組合せのいずれかで生成される。即ち、これらの訂正処理は、連続的に符号化及び復号処理やLDPC及びECC図1の誤り訂正処理を用いて、発生する偏差を発見し訂正する。図1及び図7a-cを全体的に参照すると、多数の恩恵が、本明細書の教示内容を実行することによって提供される。まず認識されたいことは、図7a-cの識別レベル及び目標電荷値並びにこれによりCBMが、ソフトであることである。即ち、これらの値は、処理構成を制御するための図1のファームウェア106を用いて確立し得る。従って、これらの値は、容易に自由に変更される。隣接目標電荷値と隣接識別値との間において、本例では、図1のメモリシンボル読み出し122及びメモリシンボル書き込みモジュール152の能力によって確立される最小電荷間隔に対して、制限があってよい。隣接識別レベル間のこの最小電荷間隔は、読出しアクセス解像度RARと称され、これに対して、隣接目標電荷値間の最小電荷間隔は、書き込みアクセス解像度WARと称される。これらの2つの形態のアクセス解像度は、協働して全体的なデバイスアクセス解像度を規定するが、これは、2つの内の小さい方であってよい。従って、各メモリセルのデータ容量を確立するファームウェア命令は、プログラム可能な方法で、異なるデータ容量に容易に切り替えられる。データ容量の上限は、少なくとも部分的に、WAR及びRAR値に基づく。特定のWAR値と特定のRAR値との間の連係は、デバイスアクセス解像度及び電荷層と称されるものになる。例えば、図7cによって示された構成は、10の電荷層を表す。特定の容量及び電荷層構造を確立する際、デバイスアクセス解像度は、メモリセルの電荷範囲又はメモリセルの範囲に段階的に適用されることを認識されたい。図7a-cにおいて、所定の識別レベル又は目標電荷値は、ソフトであり、命令セットによって動かすことができる。図7a及び7bの比較において、T1及びd1は、双方共、図7bにおいて、電荷の低い値に移動することが分かる。それらの値は、図7cにおいて、更に小さい量の電荷に対応する。他の能力として、電荷層の総数は、自由に変更し得る。例えば、図7aから図7cに進むと、電荷層の追加が表現される。逆方向に進むと、もちろん、電荷層の削除を表す。任意の所定のセルの電荷層構造をプログラムにより変更する能力により、注目に値する程度の柔軟性が提供される。このプログラム可能な能力を通して、所定の構成のハードウェアを用いて、多種多様な電荷層構造を実現される。一例として、このプログラム可能性は、ファームウェア106図1の動作によって、階層構造を選択し、それを、適切なパラメータ値をハードウェアレジスタに書き込むことによって、適用するアルゴリズム的処理を通して実現され。特定のメモリデバイスのメモリアレイにおける異なるグループのメモリセルは、異なる電荷層構造で同時に上記したように、異なる基数値kを効果的に用いて構成される。非限定的な例として、これらの異なる電荷層構造は、メモリセルアレイの選択領域のデータ信頼性を強化するために用いられる。図8a及び8bは、本開示のコントローラ102において実現された数列エンコーダ150及びデコーダ134の根底にある概念を示す。図8aに示す符号化処理は、未符号化記号のストリームを符号化記号のストリームに変換する。図8bに示す復号処理は、雑音や歪みによって破損し得る符号化記号のストリームを、少なくとも雑音や歪みの部分が除去された未符号化記号のストリームに変換する。符号化されたストリームは、それが連続的に互いに関係付けられていることから、付加された雑音や歪みの除去を可能にする。言い換えると、所定の符号化された記号の値は、それが表すユーザデータの関数であるばかりでなく、ストリームにおいてそれに先行する符号化された記号の関数でもある。図8aは、符号化関数802の一例を示す。この関数は、入力として、未符号化記号のストリーム通常、ビット又はバイトのストリームの形態のユーザデータを取り、符号化シンボルのストリームを出力として生成する。図において、入力シンボルは、シンボルXiの列によって表され、Xnは、エンコーダにまだある最も古い記号であり、Xnk-1は、最新の受信記号である。従って、最新のk記号は、現出力記号Ynを計算するために用いられることが分かる。値kは、特定の実施例に対して変動し得る設計パラメータである。更に、現エンコーダ出力記号Ynは、エンコーダによって保持され、符号化関数802によって用いられ、後続のYiシンボルが計算される。各入力シンボルXは、ユーザデータの単位を表し、データシンボルと称される。各Xは、2進数ビット又は複数の2進数ビットを含むより大きな単位であってよい。各Yは、更に、2進数ビット又は複数の2進数ビットによって特徴付けることができ、また、それには、各Xを特徴付ける数と異なる複数の2進数ビットも含む。一実施形態において、図8の符号化関数802によって生成された各Yは、メモリシンボル図6に直接対応する場合もそうでない場合もある。メモリシンボルの基数及び符号化シンボルの基数が、互いの偶数の倍数である場合、図6に示す符号化記号とメモリシンボルとの間の変換は、自明である。しかしながら、他の実施形態において、符号化記号及びメモリシンボルは、互いの偶数の倍数ではない基数値を有する。本実施形態では、符号化記号ストリームYi符合シンボルからメモリシンボルストリームSiメモリシンボルへのマッピングは、図6に示し上記した符号化ステップによって実施される。符号化処理は、基数nの2進数符号化数値によって表される一連の値Yiが含まれる入力ストリームを、基数pの数値によって表される出力値のストリームに変換する。出力値は、一連の基数=q値の場合、2進数符号化値によって表すことができるが、各々、q識別レベルの内の1つを伝達する一連のアナログ値として表わしてもよい。図8bは、復号化関数804の一例を示す。復号化関数804において、ストリームの数列符号化シンボルは、メモリデバイス読み出し処理によって得られ、数列デコーダに渡される。連続復号関数は、取り込まれた雑音や歪みを含み得るYi符号化シンボルのストリームを、Xiユーザデータ記号のストリームに変換し、少なくとも、取り込まれた雑音や歪みの一部が除去されている。復号化関数804の1つの具体化例には、ビタビ検出器を含み得る。当業者は認識されるように、他の具体例を用いてもよい。図9aは、特定のメモリシンボルに関連する一組の目標電荷値を記憶するための1つ又は複数のメモリセルの様々な状態のグラフ図を示す。本例では、垂直軸に沿って、7つの目標値T0-T6を示し、一方、水平軸に沿って、6つの記憶された電荷状態S1-S7を示す。従って、図示するように、7つの目標電荷値がある。図9aの水平線は、目標電荷値を、それらが最大と最小の実際の値との間で構成されているとして表す図7a-cも参照。これらは、所定の種類のメモリセルが現実的に実現し得る実際の最大及び最小の両極端に対して、相対的であるという点において、相対的レベルである。各水平線間の垂直距離は、隣接目標電荷値間の電荷差を区別する。図9aに示す電荷状態は、理想的であり、任意に選択され、各メモリシンボルに関連する目標電荷値に対応する。このように、図示した電荷状態は、雑音や歪みが無い状態で、それぞれ、メモリシンボルエンコーダ606図6aを介した書き込み、及びメモリシンボルデコーダ608図6bを介した取り込みの結果として、メモリセルに記憶されまたそこから読み出される値に対応する。記憶された値は、各値が、目標電荷値の内の意図したものに正確に配置されるという理由により、理想的であることを認識されたい。本例では、S1は、T1を記憶し、S2は、T3を記憶し、S3は、T6を記憶し、S4は、T4を記憶し、S5は、T0を記憶し、S6は、T2を記憶する。従って、図9aは、6つの対象レベル又は値の連続を示し、その全ては、基数7のメモリシンボルを表す。次に、図9bにおいて、図9aに示す状態と同じものを表すが、その代わり、記憶された電荷値は、関連するメモリセルから読み出された未補正値を表す。図9bは、事前補正又は事後補正によって補正し得る歪みメカニズムの影響を示すために提供されている。歪み効果は、理想的には、目標電荷値に対応する意図した電荷量と比較して、記憶される実際の電荷量に影響を及ぼす。即ち、意図した値の電荷が、常に正確に目標電荷レベルの内の意図したものに存在するとは限らず、図9bに示すように、垂直にオフセットされることがある。予測可能な方法で訂正されると合理的に予想し得るそれらの影響は、補正可能であると称される。事前補正及び事後補正計算に用いられるパラメータ情報を収集するための方法の例を、上記したように、図4及び5に表わす。補正が無い場合、図9bにおける記憶電荷値は、図9aに示す理想的な値から発散し、また、隣接目標電荷値間の中間に入る値として返される。言い換えると、図9bのサンプルは、記憶するように意図した図9aによって例示されるメモリシンボルを表す。しかしながら、メモリセルから読み出される実際の値は、図示するように、書き込み及び読み出し処理における補正可能な/反復可能な効果により、対象値から逸脱することが分かる。図9bに示す返却値と図9aに示す目標/理想値との間の差異は、一組の補正オフセット902図9bの下部に示すが、それらをメモリデバイスに書き込む前に、メモリシンボルに付加される場合事前補正、検知されたメモリシンボルに付加される場合事後補正、又は事前及び事後補正の組合せにおいてアサートされる場合、除去される。このオフセットは、図9b状態の各々が、隣接するメモリセルのグループによって記憶される場合、マップを表すことを認識されたい。図4及び5における方法400及び500は、補正可能な歪み効果の計算と共にそれぞれ用いて、実際の訂正処理時に用いるためのパラメータデータを生成する。訂正処理中、事前又は事後補正にかかわらず、それは、メモリセルのページが含まれるメモリシンボルに適用されるオフセット値902のマップを計算することである。複数の効果が、各効果に対して独特なオフセットを用いて、補正を受ける場合、1つのアプローチは、各効果に関連するオフセットを確立し、そして、全体的なオフセットに到達するために、各効果の個々のオフセットを合計することである。尚、オフセットは、負又は正のいずれかであってよい。読み出し/書き込みフローにおける事前補正又は後補正ステップのいずれかとして補正オフセットを加算すると、誤りの原因となり、また、補正計算が実施された歪みメカニズムの効果が相殺される。この結果、補正された歪みメカニズムに起因する誤りを除去することができる。図1に戻ると、このシステム100は、不揮発性電子メモリシステムに関して、現在の最先端技術において分かるものより高い記憶密度及び小さい記憶単位のコストのための機能を提供すると見なされる。この恩恵の1つの理由は、代表的な従来のNANDフラッシュデバイスと比較して、各S3Eメモリデバイスにおいて記憶アレイに付加される回路の複雑さまた、これによって、シリコン領域の低減である。従って、各メモリデバイスは、従来技術によるNANDフラッシュデバイスにおいて利用可能な領域に対してメモリ媒体領域の相対的な増加をもたらす。即ち、メモリデバイス104からコントローラ102に機能を移すことによって、各S3Eメモリデバイスは、従来技術によるNANDフラッシュデバイスよりチップのシリコン領域当りの記憶容量が大きくなる。一定のチップサイズ及びデバイスコストの場合、その効果は、単位コスト当りの記憶量の増加であり、従って、記憶単位当りのコストの低減である。この効果は、単一のコントローラ102を有するシステム構成において接続されるメモリデバイス104の数が多くなると、更に顕著になる。記憶単位当りのコストは、従来技術によるNANDフラッシュデバイスに対して、S3Eメモリデバイスにおける独特な記録レベルの数を増やす能力によって更に低減される。上記教示内容に基づき、代表的な従来のメモリデバイスと比較して、任意の多数の独特なレベルを用い得る。アクセス解像度に関係するセル当り記憶容量の限界があるが、上記したように、アクセス解像度は、メモリセルにおける極めて小さい電荷差異の間を区別する点で、強化できる。セル当りに記憶される情報の量を増加させると、信頼性の低下を伴うが、本出願人は、S3Eコントローラデバイス102において、最適化された方法及び処理を用いると、従来技術によるNANDフラッシュデバイスとオンチップのNANDフラッシュコントローラとを組み合わせたものの信頼性を超過することが可能である点まで、固体記憶素子の信頼性を強化できることに気付き、これによって、これに関する懸念を解決した。単一のコントローラ102を用いて、複数のSE3メモリデバイス104を動作させる概念を通して、コントローラ102の能力は、著しく強化され、所望のレベルのデータ信頼性能力を提供する。更に、これらの教示内容は、書き込み及び読み出し動作において実質的に誤りが許容されない場合、例えば、例示されるように、広い電荷バッファーマージン図7a参照を用いることによって、従来技術の制約条件を一掃すると考えられる。上記教示内容を通して、S3Eコントローラ102は、複数の各S3Eメモリデバイス104の容量の一部分を用いて、情報の正確な記憶及び取り込みに関して、前記S3Eメモリデバイス104による誤りの事例を検出及び訂正することを認識されるであろう。即ち、この一部分は、誤り訂正情報を記憶するために用い得る。本明細書に述べた実施形態には、更に詳細に後述するように、様々なコンピュータハードウェア又はソフトウェアモジュールを含む専用又は汎用コンピュータの用途を含み得る。本発明の範囲内の実施形態には、更に、コンピュータ実行可能な命令又はデータ構造を担持又はそれに記憶しているコンピュータ判読可能媒体が含まれる。そのようなコンピュータ判読可能媒体は、汎用又は専用コンピュータによってアクセスし得る任意の入手可能な媒体であってよい。一例として、また、限定せず、そのようなコンピュータ判読可能媒体には、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、又は、磁気ディスク装置もしくは他の磁気記憶装置、又は所望のプログラムコード手段をコンピュータ実行可能な命令又はデータ構造の形態で担持又は記憶するために用いることができる他の任意の媒体であって、汎用又は専用コンピュータによってアクセスし得る媒体を含み得る。情報が、ネットワーク又は他の通信接続有線、無線、又は有線もしくは無線の組合せのいずれかを介して、コンピュータに転送又は提供される場合、コンピュータは、その接続をコンピュータ判読可能媒体と当然見なす。従って、そのようないずれの接続も厳密にコンピュータ判読可能媒体と称される。上記内容の組み合わせもコンピュータ判読可能媒体の範囲内に含まれる。コンピュータ実行可能命令には、例えば、汎用コンピュータ、専用コンピュータ、又は専用処理装置が、或る機能又はグループの機能を実施できるようにする命令及びデータが含まれる。本題について、構造的な特徴及び/又は方法論的な行為に特有の用語で記載してきたが、添付の請求項において規定された本題は、必ずしも上記した特定の特徴又は行為に限定されるとは限らないことを理解されたい。むしろ、上述した特定の特徴及び行為は、請求項を実現する形態例として開示されている。本明細書に用いる用語モジュール又は構成要素は、演算システム上で実行されるソフトウェアオブジェクト又はルーチンを意味する。本明細書に記載した異なる構成要素、モジュール、エンジン、及びサービスは、例えば、個別のスレッドとして演算システム上で実行されるオブジェクト又はプロセスとして実現し得る。本明細書に述べたシステム及び方法は、好適には、ソフトウェアで実現されるが、ハードウェア又はソフトウェア及びハードウェアの組合せによる実施例もまた可能であり、また、考えられる。本説明において、演算実体は、本明細書において前に定義したような任意の演算システム、又は任意のモジュール又は演算システム上で走る調整器の組合せであってよい。本明細書に開示された実施形態及び関連する方法は、様々な異なる構成で提供され、また、無数の異なるやり方で変形し得ること、及び本発明は、本発明の精神又は範囲から逸脱することなく、多くの他の特定の形態で具現化し得ることは明らかである。例えば、上述したように、本明細書に示した概念は、現在利用可能か又は未だ開発中かどうかにかかわらず、本質的にアナログ形式で情報を記憶するほぼあらゆる種類のメモリセルに容易に適合可能である。従って、本例及び方法は、限定的ではなく、例示的であると見なすべきものであり、また、本発明は、本明細書に述べた詳細に限定されるものではない。本発明の範囲は、従って、上記の説明によってよりもむしろ添付の請求項によって示される。請求項の等価性の意味及び範囲内で生じる全ての変更は、それらの範囲内に含まれるものである。1複数のメモリセルが含まれ、各メモリセルが、デジタル記憶装置の実装に用いるための電荷蓄積容量を有するフラッシュメモリ構成において、書き込み動作及び読み出し動作において、前記メモリセルの各々にアクセスするように構成された処理装置と、前記処理装置によって実行された場合、前記メモリセルの各々用の複数のデータ値を定義するための目標電荷レベルを課す命令セットであって、前記目標電荷レベルは、前記電荷蓄積容量を基準にして、プログラムにより可変である前記命令セットとを備える装置。2上記1に記載の装置であって、前記命令セットは、前記複数のデータ値の各々用の電荷範囲を更に定義するために前記電荷蓄積容量全体に分散した識別レベルを課すように構成される、装置。3上記2に記載の装置であって、前記各メモリセル内への記憶に利用可能な異なるデータ値の数は2の非整数乗である、装置。4上記2に記載の装置であって、前記命令セットは各セルの最大データ記憶容量を特徴付けるデバイスアクセス解像度を課すように構成される、装置。5上記4に記載の装置であって、前記命令セットは、前記デバイスアクセス解像度を変更することによって、各メモリセルに利用可能なデータ記憶容量をプログラムにより変更するように構成される、装置。6上記2に記載の装置であって、前記命令セットは、所定の電荷レベルが前記データ値の内の1つに対応する確率を決定するために用いられる電荷確率分布を課すように構成される、装置。7上記6に記載の装置であって、前記識別レベルは、前記確率分布の重なりをもたらす大容量の態様に分散し、前記命令セットは、更に、前記メモリセルにアクセスする場合、誤り訂正を適用するように構成される、装置。8複数のメモリセルを含み、各メモリセルが、デジタル記憶の実現に用いるための電荷蓄積容量を有するフラッシュメモリ構成において、書き込み動作及び読み出し動作において、前記各メモリセルにアクセスするように構成された処理装置と、前記処理装置によって実行された場合、前記電荷蓄積容量間の電荷の量を徐々に増加させることを特徴とする複数の電荷層から構成される電荷層構造を確立する命令セットであって、各電荷層は、記憶値及び電荷量を定義する電荷値に関連付けられ、前記命令セットは、更に、前記電荷値の内の少なくとも1つをプログラムにより可変となるように構成される前記命令セットとを備える、装置。9上記8に記載の装置であって、前記命令セットは、前記電荷層構造の電荷層の総数をプログラムにより変更するように構成される、装置。10変動し得る性能特性に関連するセルアレイデバイスを用いることが可能なフラッシュメモリ構成において、前記セルアレイデバイスにアクセスして、前記セルアレイデバイス用の前記性能特性の値を確立するように構成され、且つ、引き続き、前記セルアレイデバイスにアクセスして、前記性能特性の前記値に基づき、補正を行うように構成された制御配列を備える装置。11上記10に記載の装置であって、前記制御配列は、読み出し動作において、前記セルアレイデバイスにアクセスするように構成され、且つ、前記制御配列は、前記性能特性に対応して、前記値を変更し、更新された値を生成するように構成される、装置。12上記10に記載の装置であって、前記セルアレイデバイスは、複数のメモリセルを含み、前記制御配列は、前記各メモリセル用の前記性能特性の複数の値を確立するように構成される、装置。13上記10に記載の装置であって、前記セルアレイデバイスは、複数のメモリセルを含み、各メモリセルは、デジタル記憶の実現に用いるための電荷蓄積容量を有し、書き込み動作及び読み出し動作において、前記各メモリセルにアクセスするように構成された処理装置と、前記処理装置によって実行されると、前記各メモリセル内において、複数のデータ値を定義するための目標電荷レベルを課す命令セットとを更に備える装置。14上記13に記載の装置であって、前記制御配列は、読み出し動作において、前記セルアレイデバイスにアクセスして、前記メモリセルの内の1つによって記憶される現在の電荷量を決定し、且つ、前記現在の電荷量に関連付けられた前記データ値を決定するように構成され、前記制御配列は、更に、前記現在の電荷量及び前記性能特性の前記値に基づき、前記特定のセル用の訂正されたデータ値を確立するように構成される、装置。15上記13に記載の装置であって、前記制御配列は、書き込み動作において、前記セルアレイデバイスにアクセスして、所定のデータ値を前記メモリセルの内の1つに書き込むように構成され、前記所定のデータ値は、前記目標電荷レベルの内の1つに関連し、前記制御配列は、更に、前記所定のデータ値及び前記性能特性の前記値に関連付けられた前記目標電荷レベルに基づき、訂正された目標電荷レベルを確立するように構成され、且つ、前記訂正された目標電荷レベルを前記メモリセルに適用することによって、前記書き込み動作を実施するように構成される、装置。16複数のメモリセルから構成される少なくとも1つのセルアレイデバイスを用いる不揮発性電子メモリ構成において、前記メモリセルの少なくとも1つの特性に基づく所定のメモリセルの予測応答を確立するように構成され、且つ、前記予測応答に基づき、電荷出力パラメータを調整することによって、前記所定のメモリセルに電荷を出力するための制御配列を備える装置。17複数のメモリセルが含まれるフラッシュメモリ構成であって、各メモリセルが、デジタル記憶の実現に用いるための電荷蓄積容量を有し、且つ、各メモリセルは、複数のデータ値を定義するための目標電荷レベルを有する、前記フラッシュメモリ構成において、前記メモリセルからの読み出し及び前記メモリセルへの書き込みの内の少なくとも一方の間に用いられる補正データを生成するための方法であって、前記メモリセルを較正するために用いられるパターンコードデータからなる所定の情報パターンを特定する段階と、前記パターンコードデータをメモリシンボルに変換する段階であって、前記各メモリシンボルは、前記目標電荷レベルの内の1つを特定する、前記変換する段階と、前記メモリシンボルによって特定された前記目標電荷レベルを前記メモリセルに適用することによって、前記メモリセル内における既知の位置に前記メモリシンボルを書き込む段階とを備える方法。18上記17に記載の方法であって、前記既知の位置における前記メモリセル内に記憶された電荷レベルを検知することによって、前記メモリ内における前記既知の位置からメモリシンボルを読み出す段階と、前記読み出されたメモリシンボルを比較コードデータに変換する段階と、前記パターンコードデータを前記比較コードデータと比較して、差異値を決定する段階とを更に備える方法。19上記18に記載の方法であって、前記差異値を用いて性能特性を計算する段階と、前記性能特性をデータ構造に記憶する段階と、を更に備える方法。20上記19に記載の方法であって、前記フラッシュメモリ構成の前記メモリセルに書き込まれる書き込みデータを特定する段階と、前記性能特性を前記書き込みデータに適用して、補正された書き込みデータを生成する段階と、前記補正された書き込みデータを補正されたメモリシンボルに変換する段階であって、各補正されたメモリシンボルは、前記メモリセルの内の1つに適用される電荷レベルを特定する前記段階と、前記補正されたメモリシンボルによって特定された前記電荷レベルを前記メモリセルに適用することによって、前記補正されたメモリシンボルを前記フラッシュメモリ構成の前記メモリセルに書き込む段階とを更に備える方法。21上記19に記載の方法であって、前記フラッシュメモリの前記メモリセルから未補正メモリシンボルを読み出す段階であって、前記各未補正メモリシンボルは、前記メモリセルの1つの電荷レベルを特定する前記段階と、前記未訂正メモリシンボルを未補正コードデータに変換する段階と、前記性能特性を前記未補正コードデータに適用して、補正されたコードデータを生成する段階と、を更に備える方法。