(57)【要約】  符号化／復号化メモリ装置および方法が提供される。実施形態に係るメモリ装置は、メモリセルアレイおよび少なくとも１つのデコーダおよびエンコーダを含むプロセッサを含む。前記プロセッサは、データが少なくとも１回格納されて読み出された前記メモリセルアレイの経路である各チャネルの冗長情報比率を調整してもよい。前記冗長情報比率は、以前コードワードからの情報に基づいて少なくとも１つのコードワードを生成することによって調整してもよい。したがって、実施形態は、メモリ装置のデータを読み出して書き込む時の誤り率を減らすことができる。
2011515784.tif 000002
【特許請求の範囲】
【請求項１】
メモリセルアレイと、
少なくとも１つのデコーダおよびエンコーダを含む、プロセッサとを備え、
前記プロセッサは、各チャネルの冗長情報比率を調整するように構成され、
前記各チャネルは、データが少なくとも１回は格納または読み出された前記メモリセルアレイの経路であるとともに、
前記冗長情報比率は、以前のコードワードからの情報に基づいて少なくとも１つのコードワードを生成することによって調整されるメモリ装置。
【請求項２】
前記プロセッサに含まれる前記デコーダは、前記メモリセルアレイから読み出した第１データから生成された第１コードワードに対して誤り制御コード（ＥＣＣ）復号化を行って第１メッセージを推定し、前記推定された第１メッセージおよび前記メモリセルアレイから読み出した第２データを結合して第２コードワードを生成するとともに、前記第２コードワードに対して誤り制御コード復号化を行って第２メッセージを推定するように構成されたデコーダである請求項１に記載のメモリ装置。
【請求項３】
前記メモリセルアレイは、マルチビットデータを格納する複数のマルチビットセルを含むとともに、
前記デコーダは、前記第１データが読み出されるマルチビットセルから前記第２データを読み出す請求項２に記載のメモリ装置。
【請求項４】
前記第２メッセージは、前記第１メッセージの再推定値を含む請求項２に記載のメモリ装置。
【請求項５】
前記デコーダは、前記第２データのうち前記第１メッセージの少なくとも一部分を前記推定された第１メッセージに置き換えて前記第２コードワードを生成する請求項２に記載のメモリ装置。
【請求項６】
前記デコーダは、第１チャネルを経由して前記メモリセルアレイから前記第１データを読み出し、前記第１チャネルの特性に基づいて第１復号化法を選択し、前記選択された第１復号化法に基づいて前記第１コードワードに対して誤り制御コード復号化を行うとともに、
前記デコーダは、第２チャネルを経由して前記メモリセルアレイから前記第２データを読み出し、前記第２チャネルの特性に基づいて第２復号化法を選択し、前記選択された第２復号化法に基づいて前記第２コードワードに対して誤り制御コード復号化を行う請求項２に記載のメモリ装置。
【請求項７】
前記デコーダは、
前記第１復号化法に対応し、かつ前記第１コードワードに対して誤り制御コード復号化を行って前記第１メッセージを推定するように構成された第１復号化モジュールと、
前記第２復号化法に対応し、かつ前記第２コードワードに対して誤り制御コード復号化を行って前記第２メッセージを推定するように構成された第２復号化モジュールと、
を含む請求項６に記載のメモリ装置。
【請求項８】
前記デコーダは、前記第１復号化法に基づいて前記第１コードワードのメッセージおよび冗長情報の大きさを設定して前記第１コードワードに対して誤り制御コード復号化を行うとともに、前記第２復号化法に基づいて前記第２コードワードのメッセージおよび冗長情報の大きさを設定して前記第２コードワードに対して誤り制御コード復号化を行う請求項６に記載のメモリ装置。
【請求項９】
前記メモリセルアレイに第１コードワードおよび第２コードワードを格納するプログラミング部をさらに含み、
前記プロセッサに含まれる前記エンコーダは、第１メッセージに対して誤り制御コード（ＥＣＣ）符号化を行って第１コードワードを生成するとともに、前記第１メッセージおよび第２メッセージに対して誤り制御コード（ＥＣＣ）符号化を行って第２コードワードを生成するように構成されたエンコーダである請求項１に記載のメモリ装置。
【請求項１０】
前記メモリセルアレイは、マルチビットデータを格納する複数のマルチビットセルを含むとともに、
前記プログラミング部は、前記第１コードワードを格納する前記複数のマルチビットセルに前記第２コードワードを格納する請求項９に記載のメモリ装置。
【請求項１１】
前記エンコーダは、前記第１コードワードを格納する第１チャネルの特性に基づいて第１符号化法を選択し、前記選択された第１符号化法に基づいて前記第１メッセージに対して誤り制御コード符号化を行うとともに、
前記エンコーダは、前記第２コードワードを格納する第２チャネルの特性に基づいて第２符号化法を選択し、前記選択された第２符号化法に基づいて前記第１メッセージおよび前記第２メッセージに対して誤り制御コード符号化を行う請求項9に記載のメモリ装置。
【請求項１２】
前記エンコーダは、
前記第１符号化法に対応し、かつ前記第１メッセージに対して誤り制御コード符号化を行って前記第１コードワードを生成するように構成された第１符号化モジュールと、
前記第２符号化法に対応し、かつ前記第１メッセージおよび前記第２メッセージに対して誤り制御コード符号化を行って前記第２コードワードを生成するように構成された第２符号化モジュールと、
を含む請求項１１に記載のメモリ装置。
【請求項１３】
前記エンコーダは、前記第１符号化法に基づいて前記第１コードワードのメッセージおよび冗長情報の大きさを設定して前記第１メッセージに対して誤り制御コード符号化を行うとともに、前記第２符号化法に基づいて前記第２コードワードのメッセージおよび冗長情報の大きさを設定して前記第１メッセージおよび前記第２メッセージに対して誤り制御コード符号化を行う請求項１１に記載のメモリ装置。
【請求項１４】
各チャネルの冗長情報比率が調整されるように、少なくとも１つの誤り制御コード（ＥＣＣ）復号化および符号化を行うステップを備え、
前記各チャネルは、データが少なくとも１回は格納または読み出されたメモリセルアレイの経路であるとともに、
前記冗長情報比率は、以前のコードワードからの情報に基づいて少なくとも１つのコードワードを生成することによって調整されるコーディング方法。
【請求項１５】
受信された第１データから生成された第１コードワードに対して誤り制御コード（ＥＣＣ）復号化を行って第１メッセージを推定するステップと、
前記推定された第１メッセージおよび受信された第２データを結合して第２コードワードを生成するステップと、
前記第２コードワードに対して誤り制御コード（ＥＣＣ）復号化を行って第２メッセージを推定するステップと、
をさらに備える請求項１４に記載のコーディング方法。
【請求項１６】
前記第２メッセージは、前記推定された第１メッセージの再推定値を含む請求項１５に記載のコーディング方法。
【請求項１７】
前記第２コードワードに対して誤り制御コード（ＥＣＣ）復号化するステップは、前記第２データのうち前記第１メッセージの少なくとも一部分を前記推定された第１メッセージに置き換える請求項１５に記載のコーディング方法。
【請求項１８】
請求項１５に記載の方法を実行するためのコンピュータプログラムが符号化されたコンピュータ読み出し可能記録媒体。
【請求項１９】
第１メッセージに対して誤り制御コード（ＥＣＣ）符号化を行って第１コードワードを生成するステップと、
前記第１メッセージおよび第２メッセージに対して誤り制御コード（ＥＣＣ）符号化を行って第２コードワードを生成するステップと、
をさらに備える請求項１４に記載のコーディング方法。
【請求項２０】
前記第１コードワードを前記メモリセルアレイのマルチビットセルに格納するステップと、
マルチビットプログラミング技法に基づいて、前記第１コードワードを格納するマルチビットセルに前記第２コードワードを格納するステップと、
をさらに備える請求項１９に記載の符号化方法。
【請求項２１】
請求項１９に記載の方法を実行するためのコンピュータプログラムが符号化されたコンピュータ読み出し可能記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、誤り制御コード（ｅｒｒｏｒ  ｃｏｎｔｒｏｌ  ｃｏｄｅｓ、ＥＣＣ）に関し、特に、メモリ装置のためのＥＣＣ符号化／復号化方法に関する。
【背景技術】
【０００２】
一般的に情報を送信する経路をチャネル（ｃｈａｎｎｅｌ）と呼ぶことができる。情報が有線通信を用いて送信されれば、チャネルは情報が送信される送信線（ｔｒａｎｓｍｉｓｓｉｏｎ  ｌｉｎｅ）であり、情報が無線通信を用いて送信されれば、チャネルは情報を含む電磁波が通過する大気である。
【０００３】
また、半導体記憶装置が情報を格納して、格納された情報を半導体記憶装置から読み出す過程もチャネルになり得る。チャネルは、半導体記憶装置が情報を格納した瞬間から格納された情報を半導体記憶装置から読み出すまでの時間的な経過であってもよく、半導体記憶装置が情報を格納して格納された情報を半導体記憶装置から読み出す物理的経路であってもよい。
【０００４】
チャネルを経由して情報が送信される間に情報が汚染される恐れがある。汚染された情報は誤りを含み、汚染された情報から誤りを検出し、検出された誤りを除去して最初の情報を復元するための装置および方法に関する研究が着実に進められている。
【０００５】
情報を送信する前に最初の情報に誤り制御コードまたは誤り訂正コード（ｅｒｒｏｒ  ｃｏｎｔｒｏｌ  ｃｏｄｅｓ  ｏｒ  ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｃｏｄｅｓ、ＥＣＣ）を付加して送信情報を生成する過程をＥＣＣ符号化といい、送信情報を受信した後に受信された送信情報から付加された情報と最初の情報とを分離して最初の情報を復元する過程をＥＣＣ復号化という。
【０００６】
チャネルの特性によっては、チャネルで発生する誤り率が非常に大きいこともある。誤り率が大きければ大きいほどこのような誤りを克服して所望する性能を達成するための符号率（ｃｏｄｅ  ｒａｔｅ）が低くなり、ＥＣＣ符号化および復号化方法を実現するためのハードウェアの複雑さは増加する。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明における実施形態の目的は、メモリ装置に新しいＥＣＣ（ｅｒｒｏｒ  ｃｏｎｔｒｏｌ  ｃｏｄｅｓ  ｏｒ  ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｃｏｄｅｓ）符号化法および／または復号化法を適用することによってメモリ装置のデータを読み出して書き込む時の誤りを減らすことにある。
【０００８】
また、本発明における実施形態の目的は、マルチレベルセル（ｍｕｌｔｉ−ｌｅｖｅｌ  ｃｅｌｌ、ＭＬＣ）またはマルチビットセル（ｍｕｌｔｉ−ｂｉｔ  ｃｅｌｌ、ＭＢＣ）メモリ装置に新しいＥＣＣ符号化および／または復号化法を適用することによってクリティカルなデータページの誤り率を減らすことにある。
【課題を解決するための手段】
【０００９】
実施形態に係るメモリ装置は、メモリセルアレイおよび少なくとも１つのデコーダおよびエンコーダを含むプロセッサを含む。前記プロセッサは、データが少なくとも１回格納されて読み出された前記メモリセルアレイの経路である各チャネルの冗長情報比率を調整してもよい。前記冗長情報比率は、以前コードワードからの情報に基づいて少なくとも１つのコードワードを生成することによって調整してもよい。
【００１０】
実施形態に係るメモリ装置は、メモリセルアレイおよびデコーダを含んでもよい。デコーダは、メモリセルアレイから読み出した第１データから生成された第１コードワードをＥＣＣ復号化して第１メッセージを推定し、前記推定された第１メッセージおよびメモリセルアレイから読み出した第２データを結合して第２コードワードを生成し、第２コードワードをＥＣＣ復号化して第２メッセージを推定してもよい。
【００１１】
実施形態に係るメモリ装置は、メモリセルアレイ、エンコーダおよびプログラミング部を含んでもよい。エンコーダは、第１メッセージをＥＣＣ符号化して第１コードワードを生成し、第１メッセージおよび第２メッセージをＥＣＣ符号化して第２コードワードを生成してもよい。プログラミング部は、第１コードワードおよび第２コードワードをメモリセルアレイに格納してもよい。
【００１２】
実施形態に係るコーディング方法は、データが少なくとも１回格納されて読み出されたメモリセルアレイの経路である各チャネルの冗長情報比率が調整されるように少なくとも１つの誤り制御コード（ＥＣＣ）復号化および符号化を行うステップを含み、前記冗長情報比率は、前記以前コードワードからの情報に基づいて、少なくとも１つのコードワードを生成することによって調整してもよい。
【００１３】
実施形態に係る復号化方法は、受信された第１データから生成された第１コードワードを誤り制御コード（ＥＣＣ）復号化して第１メッセージを推定するステップと、前記第１メッセージおよび受信された第２データを結合して第２コードワードを生成するステップと、前記第２コードワードを誤り制御コード（ＥＣＣ）復号化して第２メッセージを推定するステップとを含んでもよい。
【００１４】
実施形態に係る符号化方法は、第１メッセージを誤り制御コード（ＥＣＣ）符号化して第１コードワードを生成するステップと、前記第１メッセージおよび第２メッセージを誤り制御コード（ＥＣＣ）符号化して第２コードワードを生成するステップとを含んでもよい。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係るメモリ装置を示す図である。
【図２】図１に示すデコーダの復号化過程の一例を示す図である。
【図３】本発明の他の実施形態に係るメモリ装置を示す図である。
【図４】図３に示すメモリ装置の符号化過程の一例を示す図である。
【図５】図４に示すＥＣＣ符号化方法によって生成されたデータページを格納して形成されたマルチビットセルの閾値電圧の分布の一例を示す図である。
【図６】本発明の更なる実施形態に係る復号化方法を示す動作フローチャートである。
【図７】本発明の更なる実施形態に係る符号化方法を示す動作フローチャートである。
【発明を実施するための形態】
【００１６】
以下にて、本発明に係る好適な実施形態を添付する図面を参照しながら詳細に説明する。しかし、本発明が実施形態によって制限されたり限定されたりすることはない。各図面に提示する同一の参照符号は同一の部材を示す。
【００１７】
図１は、本発明の一実施形態に係るメモリ装置１００を示す図である。
【００１８】
図１を参照すれば、メモリ装置１００は、メモリセルアレイ１１０およびデコーダ１２０を含む。
【００１９】
メモリセルアレイ１１０は、複数のメモリセルを含む。メモリセルアレイ１１０に含まれるサブアレイ１１１は、デコーダ１２０によって同時に読み出されるメモリセルの集合であってもよい。デコーダ１２０は、サブアレイ１１１のメモリセルから同時にデータを読み出してもよい。
【００２０】
実施形態によれば、サブアレイ１１１は、１つのワード線（ｗｏｒｄ  ｌｉｎｅ）（図示せず）に接続されたメモリセルの集合であってもよい。メモリ装置１００は、サブアレイ１１１に接続されたワード線に特定電圧を印加することによってサブアレイ１１１内のメモリセルから同時にデータを読み出してもよい。本明細書では、１つのワード線に接続されたメモリセルの集合をメモリページと称して用いることにする。
【００２１】
デコーダ１２０は、サブアレイ１１１から読み出した第１データから生成された第１コードワード（ｃｏｄｅｗｏｒｄ）をＥＣＣ（ｅｒｒｏｒ  ｃｏｎｔｒｏｌ  ｃｏｄｅｓ  ｏｒ  ｅｒｒｏｒ  ｃｏｎｔｒｏｌ  ｃｏｄｉｎｇ  ｏｒ  ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｃｏｄｅｓ）復号化して第１メッセージを推定してもよい。デコーダ１２０は、サブアレイ１１１から第２データを読み出してもよい。デコーダ１２０は、前記推定された第１メッセージおよび前記読み出した第２データを結合して第２コードワードを生成してもよい。デコーダ１２０は、第２コードワードをＥＣＣ復号化して第２メッセージを推定してもよい。
【００２２】
ＥＣＣの中のメッセージおよび冗長情報（ｒｅｄｕｎｄａｎｔ  ｉｎｆｏｒｍａｔｉｏｎ）が明白に区分されるコードを体系的コード（ｓｙｓｔｅｍａｔｉｃ  ｃｏｄｅｓ）とし、メッセージおよび冗長情報が明白に区分されないコードを非体系的コード（ｎｏｎ−ｓｙｓｔｅｍａｔｉｃ  ｃｏｄｅｓ）とすることもある。冗長情報の例としては、１つまたはそれ以上のパリティ（ｐａｒｉｔｙ）ビットを含んでもよい。デコーダ１２０が体系的コードを用いるＥＣＣ復号化法を用いる場合、第１コードワードは第１メッセージと第１パリティに区分してもよい。第１メッセージおよび第１パリティは、サブアレイ１１１にデータが格納される過程で発生した誤り、またはサブアレイ１１１から判定部１２０によってデータを読み出す過程で発生した誤りを含んでもよい。デコーダ１２０は、第１コードワードをＥＣＣ復号化することによって第１コードワードに含まれ得る誤りを検出することができ、前記検出された誤りの第１コードワードの全体情報量に対する比率（ビット誤り率（ＢＥＲ、ｂｉｔ  ｅｒｒｏｒ  ｒａｔｅ））がデコーダ１２０によって訂正することのできる範囲以下であれば、前記検出された誤りをすべて訂正してもよい。例えば、全体１０００ビットのコードワードの誤りビット数が１０であれば、ＢＥＲは１０／１０００＝１０（−２）で表すことができる。
【００２３】
実施形態によれば、第１コードワードの誤り率がデコーダ１２０の閾値誤り率以下であれば、デコーダ１２０は前記ＥＣＣ復号化された第１コードワードの誤り率を目標誤り率以下に減らすことができる。
【００２４】
実施形態によれば、第１コードワードまたは第２コードワードの誤りの発生レベルは、シンボル誤り率（ｓｙｍｂｏｌ  ｅｒｒｏｒ  ｒａｔｅ）によって表すことができる。
【００２５】
第１パリティは、誤りが発生する場合に備えた冗長情報であるため、デコーダ１２０は第１メッセージおよび第１パリティから第１メッセージがサブアレイ１１１に格納される前のデータを推定することができる。このとき、デコーダ１２０のＥＣＣ復号化の結果は、推定された第１メッセージであり、第１パリティは除去してもよい。
【００２６】
デコーダ１２０は、サブアレイ１１１から第２データを読み出してもよい。第２データは、第１メッセージ、第２メッセージおよび第２パリティに区分してもよい。同様に、第２データにもデータがサブアレイ１１１に格納され、サブアレイ１１１から読み出す過程で発生した誤りが含まれることもある。デコーダ１２０は、推定された第１メッセージｍ１（１）および前記読み出した第２データを結合して第２コードワードを生成してもよい。デコーダ１２０は、第２コードワードをＥＣＣ復号化して第２コードワードに含まれ得る誤りを検出し、前記検出された誤りを訂正してもよい。
【００２７】
実施形態によれば、デコーダ１２０は、第２データのうち第１メッセージの部分を前記推定された第１メッセージに代えてもよい。このとき、生成された第２コードワードは、前記推定された第１メッセージの少なくとも一部と、サブアレイ１１１から読み出された第２メッセージおよびサブアレイ１１１から読み出された第２パリティからなってもよい。デコーダ１２０は、第２コードワードをＥＣＣ復号化して再推定された第１メッセージおよび推定された第２メッセージを生成してもよい。
【００２８】
第２パリティは第１メッセージおよび第２メッセージの誤りが発生する場合に備えた冗長情報であるため、デコーダ１２０は、推定された第１メッセージ、第２メッセージおよび第２パリティから第２メッセージがサブアレイ１１１に格納される前のデータを推定することができる。このとき、デコーダ１２０は推定された第１メッセージをもう１回推定してもよい。このとき、再推定された第１メッセージは、２回のＥＣＣ復号化を経たため、前記再推定された第１メッセージのＢＥＲはサブアレイ１１１から読み出された第１メッセージのＢＥＲより非常に小さいこともある。サブアレイ１１１から読み出された第１メッセージのＢＥＲから前記再推定された第１メッセージのＢＥＲの減少比率は、サブアレイ１１１から読み出された第２メッセージのＢＥＲから前記推定された第２メッセージのＢＥＲの減少比率よりも大きくてもよい。
【００２９】
例えば、１回のＥＣＣ復号化によってＢＥＲが１／１０に減少すると仮定すれば、ＢＥＲ［ｍ１］／ＢＥＲ［ｍ１（２）］＝１００であり、ＢＥＲ［ｍ２］／ＢＥＲ［ｍ２（１）］＝１０であってもよく、「ｍ１」は第１メッセージ、「ｍ１（２）」は再推定された第１メッセージ、「ｍ２」は第２メッセージ、そして「ｍ２（１）」は推定された第２メッセージを意味する。
【００３０】
実施形態によれば、デコーダ１２０は、第１メッセージの部分を除いた残りデータすべてを第２データとして読み出してもよい。このとき、第２データは第２メッセージおよび第２パリティを含み、デコーダ１２０は前記推定された第１メッセージおよび第２データを結合して第２コードワードを生成してもよい。
【００３１】
データがサブアレイ１１１に格納され、前記格納されたデータがサブアレイ１１１から読み出される経路は、１つのチャネルと見なすことができる。データがチャネルを通過する過程で誤りが発生することがあり、デコーダ１２０はデータに含まれた誤りを検出し、検出された誤りを訂正してもよい。
【００３２】
誤り訂正能力が明らかに表れるコードとしては、ブロックコード（ｂｌｏｃｋ  ｃｏｄｅｓ）等がある。ブロックコードの例としては、ＢＣＨ（Ｂｏｓｅ、Ｒａｙ−Ｃｈａｕｄｈｕｒｉ、Ｈｏｃｑｕｅｎｇｈｅｍ）コードまたはリードソロモン（Ｒｅｅｄ−Ｓｏｌｏｍｏｎ、ＲＳ）コードなどがあり、これに対する復号化法としてメギット（Ｍｅｇｇｉｔｔ）復号化法、バーレカンプ・マッシィ（Ｂｅｒｌｅｋａｍｐ−Ｍａｓｓｅｙ）復号化法、ユークリッド（Ｅｕｃｌｉｄ）復号化法などがある。
【００３３】
第１データがサブアレイ１１１に格納され、前記格納された第１データがサブアレイ１１１から読み出される経路を第１チャネルとする。第２データがサブアレイ１１１に格納され、前記格納された第２データがサブアレイ１１１から読み出される経路を第２チャネルとすることができる。第１チャネルを通過した第１データに含まれる第１メッセージはデコーダ１２０によって２回のＥＣＣ復号化を経るため、再推定された第１メッセージは非常に低いＢＥＲを有してもよい。第２チャネルを通過した第２データは１回ＥＣＣ復号化を経て推定された第１メッセージと結合してＥＣＣ復号化されるため、推定された第２メッセージは非常に低いＢＥＲを有してもよい。推定された第１メッセージは相対的に低いＢＥＲを有するため、第２メッセージおよび推定された第１メッセージが結合して生成された第２コードワードのＢＥＲは第２メッセージのＢＥＲより低くてもよい。第２メッセージのＢＥＲがデコーダ１２０によって訂正できる範囲よりも大きくても、前記生成された第２コードワードのＢＥＲはデコーダ１２０が訂正できる範囲以下であってもよい。デコーダ１２０は推定された第１メッセージおよび第２メッセージを結合して生成された第２コードワードをＥＣＣ復号化することによって、第２メッセージの誤り訂正の可能性を高めることができる。
【００３４】
本発明の実施形態によれは、互いに異なるチャネルを介して受信されたデータを順次ＥＣＣ復号化し、順次ＥＣＣ復号化する過程で以前に推定されたメッセージを共にＥＣＣ復号化することによって、ＥＣＣ復号化されたデータのＢＥＲを減縮することができる。
【００３５】
もし、２回のＥＣＣ復号化を経る過程でＢＥＲの減縮が推定された異なるメッセージと結合してＥＣＣ復号化される過程のＢＥＲの減縮よりも大きければ、メモリ装置１００は、ＢＥＲが相対的に高いものと予測されるチャネルを第１チャネルに設定してＢＥＲが相対的に低いものと予測されるチャネルを第２チャネルに設定してＢＥＲの減縮を極大化してもよい。このとき、ＢＥＲが相対的に高いものと予測される第１チャネルのＢＥＲは２回のＥＣＣ復号化を経て減縮されるため、再推定された第１メッセージおよび推定された第２メッセージのＢＥＲは似たレベルになることができる。
【００３６】
もし、推定された異なるメッセージと結合してＥＣＣ復号化される過程のＢＥＲの減縮が２回のＥＣＣ復号化を経る過程のＢＥＲの減縮よりも大きければ、メモリ装置１００は、ＢＥＲが相対的に低いものと予測されるチャネルを第１チャネルに設定してＢＥＲが相対的に高いものと予測されるチャネルを第２チャネルに設定してＢＥＲの減縮を極大化してもよい。
【００３７】
実施形態によれば、デコーダ１２０はチャネルの特性に基づいて復号化法を選択して適用することもできる。デコーダ１２０は第１チャネルの特性に基づいて第１復号化法を選択し、選択された第１復号化法を第１コードワードのＥＣＣ復号化過程に適用してもよい。デコーダ１２０は、第２チャネルの特性に基づいて第２復号化法を選択し、選択された第２復号化法を第２コードワードのＥＣＣ復号化過程に適用してもよい。
【００３８】
実施形態に適用可能な復号化法は、例えば、ＬＤＰＣ（Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）ｃｏｄｅｓを用いてもよく、畳み込み符号（ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｃｏｄｅｓ）を用いてもよい。実施形態に適用可能なＥＣＣは、ＬＤＰＣ  ｃｏｄｅｓ（ＲＡ、ｚｉｇｚａｇ）、Ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｃｏｄｅｓ、ＲＳＣ  ｃｏｄｅｓ、Ｔｕｒｂｏ  ｃｏｄｅｓ、ＢＣＨ  ｃｏｄｅｓ、ＲＳ  ｃｏｄｅｓ、Ｇｏｐｐａ  ｃｏｄｅｓ、ＲＭ  ｃｏｄｅｓなどであってもよい。
【００３９】
実施形態によれば、ＥＣＣ復号化過程の順序は、チャネルの互いに異なる特性に基づいて決められてもよい。ＥＣＣ復号化されたデータは、決められた順序によって結合してＥＣＣ復号化されたデータと関連したＥＣＣ復号化を行うことができ、それによって劣る特性を有するチャネルの誤りを減少させることができる。また、実施形態によれば劣る特性を有するチャネルの誤りを減少させることによって誤り訂正の可能性を高めることができる。
【００４０】
シングルレベルセル（Ｓｉｎｇｌｅ−Ｌｅｖｅｌ  Ｃｅｌｌ、ＳＬＣ）メモリは、１つのメモリセルに１ビットのデータを格納するメモリである。シングルレベルセルメモリは、シングルビットセル（Ｓｉｎｇｌｅ−Ｂｉｔ  Ｃｅｌｌ、ＳＢＣ）メモリとも呼ばれる。シングルレベルセルメモリのシングルレベルセルに１ビットのデータを格納する過程は、プログラム過程とも呼ばれ、シングルレベルセルの閾値電圧を変化させることができる。シングルレベルセルに格納される１ビットのデータが「０」であるか「１」であるかによって、シングルレベルセルのメモリは高い閾値電圧レベルまたは低い閾値電圧レベルを有してもよい。
【００４１】
シングルレベルセルに格納されたデータを読み出す過程は、シングルレベルセルの閾値電圧を検出し、検出された閾値電圧が基準電圧（または、読み出し電圧）レベルよりも高いかまたは低いかを判定することによって実行される。
【００４２】
メモリ装置１００がサブアレイ１１１のメモリセルが接続されたワード線に読み出し電圧レベルと関連する特定電圧を印加すれば、サブアレイ１１１の各メモリセルの閾値電圧レベルが読み出し電圧レベルより高いか低いかに応じて各メモリセルに接続された各ビット線に流れる電流を決めてもよい。デコーダ１２０は、サブアレイ１１１の各メモリセルに接続された各ビット線に流れる電流を検出し、前記検出された電流のレベルによってサブアレイ１１１の各メモリセルの閾値電圧レベルの範囲を判定してもよい。
【００４３】
各シングルレベルセルの微細な電気的な特性の差によって各シングルレベルセルの閾値電圧は、一定の範囲の分布（ｄｉｓｔｒｉｂｕｔｉｏｎ）を有してもよい。例えば、検出されたシングルビットセルの閾値電圧が０．５〜１．５ボルトである場合には、シングルビットセルに格納されたデータは論理「１」と判定され、検出されたシングルビットセルの閾値電圧が２．５〜３．５ボルトである場合には、シングルビットセルに格納されたデータは論理「０」と判定してもよい。
【００４４】
メモリの高集積化要求に対応し、１つのメモリセルに２ビット以上のデータを格納することのできるマルチレベルセル（ＭＬＣ：ｍｕｌｔｉ−ｌｅｖｅｌ  ｃｅｌｌ）メモリを用いてもよい。また、マルチレベルセルメモリは、マルチビットセル（ＭＢＣ：ｍｕｌｔｉ−ｂｉｔ  ｃｅｌｌ）メモリとも呼ばれる。しかし、１つのメモリセルに格納されるビットの数が増加するほどセルの信頼性は落ち、読み出し失敗率は増加することになる。１つのメモリセルがｍビットのデータを格納するのであれば、１つのメモリセルに形成される閾値電圧レベルは２ｍ個のうちのいずれか１つであってもよい。各メモリセルが有する微細な電気的特性の差によって、各メモリセルがｍビットのデータを格納するのであれば、メモリセルの閾値電圧レベルは、２ｍ個の分布を形成してもよい。
【００４５】
電圧ウィンドウは制限されているため、ｍが増加するに従って隣接する分布間の間隔は減少するようになり、さらにｍが増加すれば、隣接する分布は互いに重なることがある。隣接する分布が互いに重なれば、メモリセルから読み出されるデータの読み出し失敗率が増加し得る。
【００４６】
ＭＬＣメモリにデータを格納し、ＭＬＣメモリからデータを読み出す過程で発生する誤りを検出し、検出された誤りを訂正するためにＥＣＣ符号化および／またはＥＣＣ復号化法をＭＬＣメモリに適用してもよい。
【００４７】
メモリセルアレイ１１０は、マルチビットデータを格納することのできる複数のマルチビットセルを含んでもよい。デコーダ１２０は、第１データが読み出されるマルチビットセルから第２データを読み出してもよい。
【００４８】
第１データおよび第２データは、サブアレイ１１１のマルチビットセルに格納されたデータであってもよい。第１データおよび第２データは、同一のマルチビットセルに格納されたデータであるが、互いに異なるビット階層を形成するデータであってもよい。例えば、デコーダ１２０は最上位ビット（ｍｏｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ、ＭＳＢ）のビット階層を形成する第１データをサブアレイ１１１のマルチビットセルから読み出し、最下位ビット（ｌｅａｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ、ＬＳＢ）のビット階層を形成する第２データをサブアレイ１１１のマルチビットセルから読み出してもよい。
【００４９】
ビット階層を形成するデータは、ページを形成するものとして参照してもよい。１つのワード線に接続されるマルチビットセルの集合をメモリページとして、１つのメモリページのマルチビットセルに格納されて１つのビット階層を形成するデータをデータページと称してもよい。前記用語は、便宜のために用いられるものであり、前記用語を用いることでメインページおよびサブページが限定して解釈されてはならない。
【００５０】
もし、マルチビットセルが４ビットのデータを格納する場合に、４個のビット階層が存在することがある。ＭＳＢのビット階層を第１ビット階層といい、ＬＳＢのビット階層を第４ビット階層とすれば、デコーダ１２０は第１ビット階層を形成するデータを第１データとして読み出し、第２ビット階層を形成するデータを第２データとして読み出してもよい。デコーダ１２０は、第１チャネルの特性に基づいて第１データに対応する第１復号化法を選択し、第２チャネルの特性に基づいて第２データに対応する第２復号化法を選択してもよい。
【００５１】
実施形態によれば、デコーダ１２０は、第１ビット階層を形成するデータを第１データとして読み出し、第２ビット階層を形成するデータを第２データとして読み出し、第３ビット階層を形成するデータを第３データとして読み出し、第４ビット階層を形成するデータを第４データとして読み出してもよい。実施形態によれば、デコーダ１２０は、第１コードワードおよび第２コードワードのＥＣＣ復号化のために第１復号化法を選択し、第３コードワードおよび第４コードワードのＥＣＣ復号化のために第２復号化法を選択してもよい。
【００５２】
または、デコーダ１２０は、第１コードワードのＥＣＣ復号化のために第１復号化法を選択し、第２コードワードのＥＣＣ復号化のために第２復号化法を選択し、第３コードワードのＥＣＣ復号化のために第３復号化法を選択し、第４コードワードのＥＣＣ復号化のために第４復号化法を選択してもよい。
【００５３】
実施形態によれば、ＭＳＢに対応するビット階層は、マルチビットセルの閾値電圧の変化に対し１回の遷移を経験することができる。遷移はビット階層のデータの値が「１」から「０」に、または「０」から「１」に変化するイベントであってもよい。ＭＳＢに対応するビット階層では読み出し電圧レベルより低い閾値電圧を有するマルチビットセルには「１」が格納され、前記読み出し電圧レベルより高い閾値電圧を有するマルチビットセルには「０」が格納されてもよい。ＬＳＢに対応するビット階層はマルチビットセルの閾値電圧の変化に対して２（ｍ−１）遷移を経験してもよい。ＬＳＢに対応するビット階層のデータを判定するためには２（ｍ−１）個の読み出し電圧レベルが必要なこともある。
【００５４】
実施形態によれば、サブアレイ１１１は１つのデータページであり、第１データはＭＳＢのビット階層を形成する第１データページであってもよい。第２データはＬＳＢのビット階層を形成する第２データページであってもよい。第１チャネルは１つの読み出し電圧レベルを用いて第１データページを読み出す過程であり、第２チャネルは２（ｍ−１）個の読み出し電圧レベルを用いて第２データページを読み出す過程であってもよい。ビット階層が経験する遷移回数が大きいほどビット階層に対応するチャネルで誤りが発生する確率が増加し得る。ＬＳＢのビット階層はＭＳＢのビット階層より多い遷移を経験するために、第２チャネルで誤りが発生する確率は第１チャネルで誤りが発生する確率よりも大きくてもよい。ＥＣＣ符号化および／または復号化法は複数の冗長情報を用いるほど複数の誤りを訂正してもよい。第２チャネルで誤りが発生する確率が第１チャネルで誤りが発生する確率よりも大きければ、デコーダ１２０は第１復号化法より誤り訂正能力が高い第２復号化法を選択してもよい。
【００５５】
実施形態によれば、マルチビットセルのビット階層によりチャネルのＥＣＣ復号化順序を決定することができる。実施形態は、前記決められた順序によってデータをＥＣＣ復号化する過程でＥＣＣ復号化されるデータおよび先にＥＣＣ復号化されたデータを結合して共にＥＣＣ復号化することによって、マルチビットセルのビット階層により変化するチャネル特性に最適化されたＥＣＣ復号化法の実現が可能である。実施形態によれば誤りが発生する確率が最も高いクリティカル１ページの誤り訂正の可能性（ｅｒｒｏｒ  ｃｏｒｒｅｃｔａｂｉｌｉｔｙ）を高めることができる。また、実施形態によれば全般的なページの誤り訂正の可能性を高めることができる。
【００５６】
実施形態によれば、デコーダ１２０は第１コードワードの復号化法に対応する第１内部復号化モジュール（図示せず）および第２コードワードの復号化法に対応する第２内部復号化モジュール（図示せず）を含んでもよい。第１内部復号化モジュールは第１コードワードをＥＣＣ復号化して第１メッセージを推定し、第２内部復号化モジュールは第２コードワードをＥＣＣ復号化して第２メッセージを推定してもよい。このとき、各内部復号化モジュールは単純なデータ経路を形成するためハードウェアの複雑さを低くすることができる。複数の復号化モジュールを用いる復号化過程は、図２において詳しく説明する。
【００５７】
図２は、図１のデコーダ１２０の復号化過程の一例を示す図である。
【００５８】
図２を参照すれば、デコーダ１２０は、第１復号化モジュール２１０、第２復号化モジュール２２０および第３復号化モジュール２３０を含む。第１復号化モジュール２１０は、第１ビット階層（または、レベル１）に対するＥＣＣ復号化を行ってもよい。第２復号化モジュール２２０は、第２ビット階層（または、レベル２）に対するＥＣＣ復号化を行ってもよい。第３復号化モジュール２３０は、第３ビット階層（または、レベル３）に対するＥＣＣ復号化を行ってもよい。
【００５９】
第１復号化モジュール２１０は、第１コードワード２１３をＥＣＣ復号化してもよい。第１コードワード２１３は、メモリセルアレイ１１０から読み出した第１メッセージｍ１（２１１）およびメモリセルアレイ１１０から読み出した第１パリティｐ１（２１２）を含んでもよい。第１復号化モジュール２１０は、第１コードワード２１３をＥＣＣ復号化して推定された第１メッセージｍ１（１）（２１４）を生成してもよい。
【００６０】
第２復号化モジュール２２０は、第２コードワード２２３をＥＣＣ復号化してもよい。第２コードワード２２３は、前記推定された第１メッセージｍ１（１）（２１４）、メモリセルアレイ１１０から読み出した第２メッセージｍ２（２２１）、およびメモリセルアレイ１１０から読み出した第２パリティｐ１２（２２２）を含んでもよい。第２復号化モジュール２２０は、第２コードワード２２３をＥＣＣ復号化して推定された第２メッセージｍ２（１）（２２６）および再推定された第１メッセージｍ１（２）２２５を生成してもよい。第２パリティｐ１２（２２２）は、第１メッセージｍ１（２１１）、および第２メッセージｍ２（２２１）がメモリセルアレイ１１０に格納される前に行われたＥＣＣ符号化過程の冗長情報であってもよい。
【００６１】
第３復号化モジュール２３０は、第３コードワード２３３をＥＣＣ復号化してもよい。第３コードワード２３３は、第２復号化モジュール２２０のＥＣＣ復号化の結果２２４、メモリセルアレイ１１０から読み出した第３メッセージｍ３（２３１）およびメモリセルアレイ１１０から読み出した第３パリティｐ１３（２３２）を含んでもよい。第２復号化モジュール２２０のＥＣＣ復号化の結果２２４は、推定された第２メッセージｍ２（１）（２２６）および再推定された第１メッセージｍ１（２）２２５を含んでもよい。第３パリティｐ１３（２３２）は、第１メッセージｍ１（２１１）、第２メッセージｍ２（２２１）および第３メッセージｍ３（２３１）がメモリセルアレイ１１０に格納される前に行われたＥＣＣ符号化過程の冗長情報であってもよい。第３復号化モジュール２３０は、第３コードワード２３３をＥＣＣ復号化して推定された第３メッセージｍ３（１）２３７、再推定された第２メッセージｍ２（２）２３６および３回推定された第１メッセージｍ１（３）２３５を生成してもよい。
【００６２】
メモリ装置１００は、第３復号化モジュール２３０のＥＣＣ復号化の結果２３４を最終復号化の結果として出力してもよい。
【００６３】
メモリセルアレイ１１０から読み出した第１メッセージｍ１（２１１）は、３回ＥＣＣ復号化され、前記３回推定された第１メッセージｍ１（３）２３５として出力されるため、ＢＥＲの改善程度が第２メッセージｍ２（２２１）または第３メッセージｍ３（２３１）よりも大きくてもよい。
【００６４】
メモリセルアレイ１１０から読み出した第３メッセージｍ３（２３１）は、すでに１回以上ＥＣＣ復号化されたメッセージ２２５，２２６と共にＥＣＣ復号化されるため、第３メッセージｍ３（２３１）のＢＥＲが相対的に高くても第３復号化モジュール２３０によって第３メッセージｍ３（２３１）の誤りが訂正されてもよい。
【００６５】
図３は、本発明の他の実施形態に係るメモリ装置３００を示す図である。
【００６６】
図３を参照すれば、メモリ装置３００はメモリセルアレイ３１０、プログラミング部３２０およびエンコーダ３３０を含む。
【００６７】
メモリセルアレイ３１０はサブアレイ３１１を含む。サブアレイ３１１は、プログラミング部３２０によって同時にプログラミングされるメモリセルの集合であってもよい。サブアレイ３１１は、１つのワード線に接続されたメモリセルの集合であってもよい。
【００６８】
エンコーダ３３０は、第１メッセージをＥＣＣ符号化して第１コードワードを生成し、第１メッセージおよび第２メッセージをＥＣＣ符号化して第２コードワードを生成してもよい。
【００６９】
プログラミング部３２０は、前記生成された第１コードワードおよび前記生成された第２コードワードをサブアレイ３１１のメモリセルにプログラムすることができる。
【００７０】
エンコーダ３３０によってＥＣＣ符号化されたコードワードは、エンコーダ３３０の符号化法に対応する復号化法によってＥＣＣ復号化されてもよい。コードワードがメモリセルに格納され、前記格納されたコードワードがメモリセルから読み出される経路をチャネルといい、コードワードはチャネルを経ながら誤りを含んでもよい。
【００７１】
復号化法は、閾値訂正範囲以下のＢＥＲを有するコードワードをＥＣＣ復号化することによってコードワードの誤りを訂正してもよい。メモリ装置３００は、チャネルの特性に応じてチャネルを経たコードワードのＢＥＲを予測し、前記予測されたＢＥＲを超過する誤りを訂正することのできる性能を有する復号化法を設定し、前記設定された復号化法に対応する符号化法を設定してもよい。
【００７２】
ＥＣＣ符号化過程は、メッセージに冗長情報を付加してコードワードを生成してもよい。メッセージは有効情報とすることができる。冗長情報は、メッセージがチャネルを経る過程で含むことができる誤りを訂正するための情報である。有効情報の大きさに対する冗長情報の大きさ比率が大きいほどＥＣＣ復号化過程は多くの誤りを訂正することができる。冗長情報の例としては、パリティなどであってもよい。
【００７３】
ＢＥＲが相対的に高いコードワードおよびＢＥＲが相対的に低いコードワードを結合して長いコードワードを生成すれば、前記生成された長いコードワードのＢＥＲは結合された２コードワードのＢＥＲの平均であってもよい。
【００７４】
実施形態によれば、メモリセルアレイ３１０は、マルチビットデータを格納することのできる複数のマルチビットセルを含んでもよい。プログラミング部３２０は、前記ＥＣＣ符号化された第１コードワードが格納されるマルチビットセルに前記ＥＣＣ符号化された第２コードワードを格納してもよい。
【００７５】
実施形態によれば、サブアレイ３１１は１つのワード線に接続されたマルチビットセルからなるメモリページであってもよい。プログラミング部３２０は、サブアレイ３１１のＭＳＢのビット階層に前記ＥＣＣ符号化された第１コードワードを格納してもよく、サブアレイ３１１のＬＳＢのビット階層に前記ＥＣＣ符号化された第２コードワードを格納してもよい。
【００７６】
実施形態によれば、メモリセルアレイ３１０の各マルチビットセルは、ｍビットのデータを格納してもよい。このとき、サブアレイ３１１のＭＳＢのビット階層は第１ビット階層であり、サブアレイ３１１のＬＳＢのビット階層は第ｍビット階層であってもよい。サブアレイ３１１の各マルチビットセルは、ｍ個のビット階層を有してもよい。プログラミング部３２０は、サブアレイ３１１の第１ビット階層に前記ＥＣＣ符号化された第１コードワードを格納し、サブアレイ３１１の第２ビット階層に前記ＥＣＣ符号化された第２コードワードを格納してもよい。
【００７７】
実施形態によれば、メモリセルアレイ３１０の各マルチビットセルは、４ビットのデータを格納してもよい。このとき、サブアレイ３１１の各マルチビットセルは、４個のビット階層を有してもよい。
【００７８】
プログラミング部３２０は、サブアレイ３１１のＭＳＢのビット階層の第１ビット階層に前記ＥＣＣ符号化された第１コードワードを格納してもよく、サブアレイ３１１の第２ビット階層に前記ＥＣＣ符号化された第２コードワードを格納してもよい。プログラミング部３２０は、サブアレイ３１１の第３ビット階層に前記ＥＣＣ符号化された第３コードワードを格納してもよく、サブアレイ３１１のＬＳＢのビット階層の第４ビット階層に前記ＥＣＣ符号化された第４コードワードを格納してもよい。
【００７９】
第１チャネルは、前記ＥＣＣ符号化された第１コードワードがサブアレイ３１１の第１ビット階層に格納される過程であり、第２チャネルは前記ＥＣＣ符号化された第２コードワードがサブアレイ３１１の第２ビット階層に格納される過程であってもよい。第３チャネルは前記ＥＣＣ符号化された第３コードワードがサブアレイ３１１の第３ビット階層に格納される過程であり、第４チャネルは前記ＥＣＣ符号化された第４コードワードがサブアレイ３１１の第４ビット階層に格納される過程であってもよい。
【００８０】
エンコーダ３３０は、第１メッセージをＥＣＣ符号化して第１コードワードを生成してもよい。第１コードワードは、ＥＣＣ符号化された第１メッセージおよびＥＣＣ符号化された第１パリティを含んでもよい。
【００８１】
エンコーダ３３０は、第１メッセージおよび第２メッセージをＥＣＣ符号化して第２コードワードを生成してもよい。第２コードワードは、ＥＣＣ符号化された第１メッセージ、ＥＣＣ符号化された第２メッセージおよびＥＣＣ符号化された第２パリティを含んでもよい。ＥＣＣ符号化された第２パリティは、第１メッセージおよび第２メッセージに対する冗長情報を含んでもよい。
【００８２】
エンコーダ３３０は、第１メッセージ、第２メッセージおよび第３メッセージをＥＣＣ符号化して第３コードワードを生成してもよい。第３コードワードは、ＥＣＣ符号化された第１メッセージ、ＥＣＣ符号化された第２メッセージ、ＥＣＣ符号化された第３メッセージ、およびＥＣＣ符号化された第３パリティを含んでもよい。前記ＥＣＣ符号化された第３パリティは、第１メッセージ、第２メッセージ、および第３メッセージに対する冗長情報を含んでもよい。
【００８３】
エンコーダ３３０は、第１メッセージ、第２メッセージ、第３メッセージ、および第４メッセージをＥＣＣ符号化して第４コードワードを生成してもよい。第４コードワードは、ＥＣＣ符号化された第１メッセージ、ＥＣＣ符号化された第２メッセージ、ＥＣＣ符号化された第３メッセージ、ＥＣＣ符号化された第４メッセージ、およびＥＣＣ符号化された第４パリティを含んでもよい。前記ＥＣＣ符号化された第４パリティは、第１メッセージ、第２メッセージ、第３メッセージ、および第４メッセージに対する冗長情報を含んでもよい。
【００８４】
第１ビット階層はＭＳＢに対応するため、第１ビット階層は１回の遷移を経験し、第２ビット階層は２回の遷移を経験することができる。第３ビット階層は４度の遷移を経験し、第４ビット階層は８度の遷移を経験することができる。ビット階層が経験する遷移の回数が大きいほど、ビット階層に対応するチャネルの誤り発生の確率が増加する。例えば、第４チャネルは最も高い誤り発生の確率を有すると予測される。
【００８５】
エンコーダ３３０は、各ビット階層の遷移回数に基づいて各チャネルの誤り発生の確率を予測することができる。エンコーダ３３０は、コードワードがチャネルを経ながら含むことのできる誤り発生比率を低くするために、チャネルに対するメッセージおよび冗長情報の大きさ比率を調整してもよい。復号化法は、エンコーダ３３０の符号化法に対応する復号化法を意味する。大きいサイズの冗長情報がメッセージに付加されるほど誤り訂正能力が増加し得る。
【００８６】
実施形態によれば、エンコーダ３３０は、第１チャネルの特性に応じて第１コードワードの有効情報および冗長情報の大きさを設定してもよい。エンコーダ３３０は、設定された有効情報および冗長情報の大きさを用いて第１コードワードを生成してもよい。エンコーダ３３０は、第２チャネルの特性に応じて第２コードワードの有効情報および冗長情報の大きさを設定してもよい。エンコーダ３３０は、設定された有効情報および冗長情報の大きさを用いて第２コードワードを生成してもよい。実施形態によれば、エンコーダ３３０は１つの符号化経路を用いて第１コードワードおよび第２コードワードを生成することができるため、ハードウェアの実現に必要な回路の面積を減らすことができる。
【００８７】
エンコーダ３３０は、第４チャネルに最も高い冗長情報比率を設定し、第３チャネルには第４チャネルの冗長情報比率より低い冗長情報比率を設定してもよい。例えば、エンコーダ３３０は、第１チャネルに最も低い冗長情報比率を設定してもよい。
【００８８】
エンコーダ３３０は、最も誤り発生の可能性が高いビット階層であるＬＳＢのビット階層に対応するチャネルを第４チャネルとして選択し、最も誤り発生の可能性が低いビット階層であるＭＳＢのビット階層に対応するチャネルを第１チャネルとして選択してもよい。
【００８９】
第４チャネルを経るメッセージは、誤り発生の可能性が相対的に低い第１チャネル、第２チャネルおよび第３チャネルを経るメッセージと結合して第４コードワードを生成し、第４コードワードはＥＣＣ符号化されてメモリセルアレイ３１０に格納することができる。ＥＣＣ符号化された第４コードワードは、メモリセルアレイ３１０から読み出され、前記読み出された第４コードワードはＥＣＣ復号化されて復元されてもよい。第４コードワードのＥＣＣ復号化過程では、相対的に誤り発生の可能性が低い第１チャネル、第２チャネルおよび第３チャネルを経るメッセージのＥＣＣ復号化の結果を用いてもよい。復号化過程は、第１チャネル、第２チャネル、および第３チャネルを経るメッセージのＥＣＣ復号化の結果を用いて第４コードワードのＢＥＲを低くすることができる。メモリ装置３００は、チャネルの特性が最も劣る第４チャネルを経たコードワードのＢＥＲを低くしてもよいため、クリティカルなデータページの誤り訂正の可能性を高めることができる。
【００９０】
実施形態によれば、エンコーダ３３０は、ＬＳＢのビット階層の第４ビット階層に対応するチャネルを第１チャネルとして選択し、ＭＳＢのビット階層に対応する第１ビット階層に対応するチャネルを第４チャネルとして選択してもよい。エンコーダ３３０によってＥＣＣ符号化されたデータは、図１のデコーダ１２０によってＥＣＣ復号化されてもよい。デコーダ１２０は、第１メッセージを複数回ＥＣＣ復号化することによって第１メッセージに対する誤り改善を最大化することができる。したがって、エンコーダ３３０は、最も誤り発生の可能性が高いビット階層であるＬＳＢのビット階層に対応するチャネルを第１チャネルとして選択してもよい。エンコーダ３３０は、最も誤り発生の可能性が低いビット階層であるＭＳＢのビット階層に対応するチャネルを第４チャネルとして選択してもよい。この場合、最も劣る特性を有する第１チャネルを経るメッセージを繰り返し復号化してもよい。したがって、エンコーダ３３０およびデコーダ１２０は第１チャネルを経るメッセージの誤り訂正可能性が高いこともある。
【００９１】
実施形態によれば、互いに異なるチャネルを経るデータを順次結合してコードワードを生成し、前記生成されたコードワードをＥＣＣ符号化することによってマルチビットセルメモリの各データページの誤り率を調整してもよい。
【００９２】
実施形態によれば、エンコーダ３３０はマルチビットセルメモリの各データページの誤り率を調整することができるため、誤り発生の確率が最も高いクリティカルなデータページの誤り訂正の可能性（ｅｒｒｏｒ  ｃｏｒｒｅｃｔａｂｉｌｉｔｙ）を高めることができる。
【００９３】
実施形態によれば、エンコーダ３３０は各チャネルの冗長情報の比率を調整して各データページの誤り訂正の可能性を高めることができる。
【００９４】
各チャネルの冗長情報の比率が調整される場合、各チャネルに互いに異なる符号化法が適用されてもよい。エンコーダ３３０は、第１チャネルには第１符号化法を適用し、第２チャネルには第２符号化法を適用してもよい。実施形態によれば、エンコーダ３３０は各チャネルに互いに異なる種類の符号化法を適用してもよい。
【００９５】
実施形態によれば、エンコーダ３３０はチャネル別に同一の種類のＥＣＣ符号化法を適用してもよく、必要に応じて拡張（ｅｘｔｅｎｄｉｎｇ）技法、短縮（ｓｈｏｒｔｅｎｉｎｇ）技法、パンクチャリング（ｐｕｎｃｔｕｒｉｎｇ）などを用いてコードの性能を調整してもよい。
【００９６】
エンコーダ３３０は、各チャネルに互いに異なる符号化法（互いに異なる符号化法は互いに異なる冗長情報の比率を含むことができる）を適用し、互いに異なる符号化経路を用いて各チャネルを経るデータをＥＣＣ符号化してもよい。例えば、エンコーダ３３０は、第１符号化モジュールおよび第２符号化モジュールを含んでもよい。エンコーダ３３０は、第１チャネルに第１符号化法を適用してもよい。第１符号化モジュールは、第１符号化法に対応して第１メッセージをＥＣＣ符号化して第１コードワードを生成してもよい。エンコーダ３３０は第２チャネルに第２符号化法を適用してもよい。第２符号化モジュールは、第２符号化法に対応して第１メッセージおよび第２メッセージをＥＣＣ符号化して第２コードワードを生成してもよい。
【００９７】
実施形態によれば、エンコーダ３３０は１つの符号化経路を用いて各チャネルを経るデータをＥＣＣ符号化してもよい。
【００９８】
実施形態によれば、エンコーダ３３０は第１チャネルおよび第２チャネルに第１符号化法を適用し、第３チャネルおよび第４チャネルに第２符号化法を適用することもできる。
【００９９】
実施形態によれば、エンコーダ３３０は各チャネルに互いに異なる種類のＥＣＣ符号化法を適用することもできる。例えば、第１符号化法はＢＣＨ  ｃｏｄｅｓを用いるＥＣＣ符号化法、第２符号化法はＲＳ  ｃｏｄｅｓを用いるＥＣＣ符号化法であってもよい。
【０１００】
図４は、図３のメモリ装置３００の符号化過程の一例を示す図である。
【０１０１】
図４を参照すれば、エンコーダ３３０は第１符号化モジュール４１０、第２符号化モジュール４２０および第３符号化モジュール４３０を含む。
【０１０２】
第１符号化モジュール４１０は、第１ビット階層（または、レベル１）に対応するチャネルを経る第１メッセージｍ１（４１１）をＥＣＣ符号化して第１コードワード４１４を生成してもよい。第１コードワード４１４は、ＥＣＣ符号化された第１メッセージ４１２およびＥＣＣ符号化された第１パリティｐ１（４１３）を含んでもよい。第１パリティｐ１（４１３）は、第１メッセージｍ１（４１１）の誤りを検出および訂正するための冗長情報であってもよい。
【０１０３】
第２符号化モジュール４２０は、第２ビット階層（または、レベル２）に対応するチャネルを経る第１メッセージｍ１（４１１）および第２メッセージｍ２（４２１）をＥＣＣ符号化して第２コードワード４２５を生成してもよい。第２コードワード４２５は、ＥＣＣ符号化された第１メッセージ４２２、ＥＣＣ符号化された第２メッセージ４２３およびＥＣＣ符号化された第２パリティｐ１２（４２４）を含んでもよい。第２パリティｐ１２（４２４）は、第１メッセージｍ１（４１１）および第２メッセージｍ２（４２１）の誤りを検出および訂正するための冗長情報であってもよい。
【０１０４】
第３符号化モジュール４３０は、第３ビット階層（または、レベル３）に対応するチャネルを経る第１メッセージｍ１（４１１）、第２メッセージｍ２（４２１）および第３メッセージｍ３（４３１）をＥＣＣ符号化して第３コードワード４３６を生成してもよい。第３コードワード４３６は、ＥＣＣ符号化された第１メッセージ４３２、ＥＣＣ符号化された第２メッセージ４３３、ＥＣＣ符号化された第３メッセージ４３４およびＥＣＣ符号化された第３パリティｐ１３（４３５）を含んでもよい。第３パリティｐ１３（４３５）は、第１メッセージｍ１（４１１）、第２メッセージｍ２（４２１）および第３メッセージｍ３（４３１）の誤りを検出および訂正するための冗長情報であってもよい。
【０１０５】
図５は、図４のＥＣＣ符号化方法によって生成されたデータページを格納して形成されたマルチビットセルの閾値電圧の分布の一例を示す図である。
【０１０６】
図５を参照すれば、横軸はマルチビットセルの閾値電圧を示し、縦軸は該当閾値電圧を有するマルチビットセルの個数を示す。
【０１０７】
例えば、第１データページの格納過程で「０」が格納され、第２データページの格納過程で「１」が格納され、第３データページの格納過程で「０」が格納されたマルチビットセルは、データ「０１０」を格納するようになる。
【０１０８】
分布５１０は、データ「１１１」を格納するマルチビットセルの閾値電圧の分布を示す。
【０１０９】
分布５２０は、データ「１１０」を格納するマルチビットセルの閾値電圧の分布を示す。
【０１１０】
分布５３０は、データ「１００」を格納するマルチビットセルの閾値電圧の分布を示す。
【０１１１】
分布５４０は、データ「１０１」を格納するマルチビットセルの閾値電圧の分布を示す。
【０１１２】
分布５５０は、データ「００１」を格納するマルチビットセルの閾値電圧の分布を示す。
【０１１３】
分布５６０は、データ「０００」を格納するマルチビットセルの閾値電圧の分布を示す。
【０１１４】
分布５７０は、データ「０１０」を格納するマルチビットセルの閾値電圧の分布を示す。
【０１１５】
分布５８０は、データ「０１１」を格納するマルチビットセルの閾値電圧の分布を示す。
【０１１６】
ＭＳＢ階層は、閾値電圧が増加するに伴って分布５４０および分布５５０の間で遷移（「１」→「０」）を経験する。第２ビット階層は、閾値電圧が増加するに伴って分布５２０および分布５３０の間で第１遷移（「１」→「０」）を経験し、分布５６０および分布５７０の間で第２遷移（「０」→「１」）を経験する。ＬＳＢ階層は、閾値電圧が増加するに伴って分布５１０および分布５２０の間で第１遷移（「１」→「０」）をさらに経験し、分布５３０および分布５４０の間で第２遷移（「０」→「１」）を経験する。ＬＳＢ階層は、分布５５０および分布５６０の間で第３遷移（「１」→「０」）を経験し、分布５７０および分布５８０の間で第４遷移（「０」→「１」）を経験する。
【０１１７】
図６は、本発明の更なる実施形態に係る復号化方法を示す動作フローチャートである。
【０１１８】
図６を参照すれば、復号化方法は第１コードワードをＥＣＣ復号化して第１メッセージを推定する（Ｓ６１０）。第１コードワードは、受信された第１データから生成することができる。実施形態によれば、第１コードワードは第１データと同一または類似してもよい。
【０１１９】
復号化方法は、前記推定された第１メッセージおよび受信された第２データを結合して第２コードワードを生成してもよい（Ｓ６２０）。
【０１２０】
復号化方法は第２コードワードをＥＣＣ復号化して第２メッセージを推定することができる（Ｓ６３０）。
【０１２１】
前記推定された第２メッセージは、前記推定された第１メッセージの再推定値を含んでもよい。
【０１２２】
ステップＳ６２０は、常時受信された第２データのうち前記推定された第１メッセージに対応する少なくとも一部分を前記推定された第１メッセージに置き換えてもよい。
【０１２３】
図７は、本発明の更なる実施形態に係る符号化方法を示す動作フローチャートである。
【０１２４】
図７を参照すれば、符号化方法は第１メッセージをＥＣＣ符号化して第１コードワードを生成する（Ｓ７１０）。
【０１２５】
符号化方法は第１メッセージおよび第２メッセージをＥＣＣ符号化して第２コードワードを生成する（Ｓ７２０）。
【０１２６】
符号化方法は、第１コードワードをマルチビットセルに格納してもよい。
【０１２７】
符号化方法は、第１コードワードが格納されたマルチビットセルにマルチビットプログラミング技法を適用して第２コードワードを格納してもよい。マルチビットプログラミング技法は、図５によって先に説明したように行うことができる。
【０１２８】
符号化方法は、特性が互いに異なるチャネルを経る第１コードワードおよび第２コードワードを結合して長いコードワードを生成してもよい。長いコードワードのＢＥＲは、第１コードワードおよび第２コードワードのＢＥＲの平均値であってもよい。したがって、符号化方法はマルチビットセルメモリのクリティカルなデータページの誤り訂正の可能性を高めることができる。
【０１２９】
実施形態に係るＥＣＣ符号化／復号化方法は、多様な動作を実行するためのプログラム命令を含むコンピュータ読取可能な記録媒体を含む。当該記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともでき、記録媒体およびプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。また、記録媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光または金属線、導波管などの送信媒体でもある。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードを含む。上述のハードウェア装置は、本発明の動作を行うために１つ以上のソフトウェア階層で作動するように構成され、その逆も同様である。
【０１３０】
実施形態に係るフラッシュメモリ装置および／またはメモリコントローラは、多様な形態のパッケージを用いて実現することができる。例えば、実施形態に係るフラッシュメモリ装置および／またはメモリコントローラは、ＰｏＰ（Ｐａｃｋａｇｅ  ｏｎ  Ｐａｃｋａｇｅ）、Ｂａｌｌ  ｇｒｉｄ  ａｒｒａｙｓ（ＢＧＡｓ）、Ｃｈｉｐ  ｓｃａｌｅ  ｐａｃｋａｇｅｓ（ＣＳＰｓ）、Ｐｌａｓｔｉｃ  Ｌｅａｄｅｄ  Ｃｈｉｐ  Ｃａｒｒｉｅｒ（ＰＬＣＣ）、Ｐｌａｓｔｉｃ  Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＰＤＩＰ）、Ｄｉｅ  ｉｎ  Ｗａｆｆｌｅ  Ｐａｃｋ、Ｄｉｅ  ｉｎ  Ｗａｆｅｒ  Ｆｏｒｍ、Ｃｈｉｐ  Ｏｎ  Ｂｏａｒｄ（ＣＯＢ）、Ｃｅｒａｍｉｃ  Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＣＥＲＤＩＰ）、Ｐｌａｓｔｉｃ  Ｍｅｔｒｉｃ  Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋ（ＭＱＦＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＳＯＩＣ）、Ｓｈｒｉｎｋ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ（ＳＳＯＰ）、Ｔｈｉｎ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＴＳＯＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｙｓｔｅｍ  Ｉｎ  Ｐａｃｋａｇｅ（ＳＩＰ）、Ｍｕｌｔｉ  Ｃｈｉｐ  Ｐａｃｋａｇｅ（ＭＣＰ）、Ｗａｆｅｒ−ｌｅｖｅｌ  Ｆａｂｒｉｃａｔｅｄ  Ｐａｃｋａｇｅ（ＷＦＰ）、Ｗａｆｅｒ−Ｌｅｖｅｌ  Ｐｒｏｃｅｓｓｅｄ  Ｓｔａｃｋ  Ｐａｃｋａｇｅ（ＷＳＰ）などのようなパッケージを用いて実現することができる。
【０１３１】
フラッシュメモリ装置とメモリコントローラは、メモリカードを構成することができる。このような場合、メモリコントローラは、ＵＳＢ、ＭＭＣ、ＰＣＩ−Ｅ、ＳＡＴＡ、ＰＡＴＡ、ＳＣＳＩ、ＥＳＤＩ、およびＩＤＥなどのような多様なインタフェースプロトコルのうちの１つを介して外部（例えば、ホスト）と通信するように構成することができる。
【０１３２】
フラッシュメモリ装置は、電力が遮断されても格納されたデータを維持することのできる非揮発性メモリ装置である。セルラーフォン、ＰＤＡデジタルカメラ、ポータブルゲームコンソール、そしてＭＰ３Ｐのようなモバイル装置の使用増加に応じてフラッシュメモリ装置はデータストレージだけでなく、コードストレージとしてより広く用いられることができる。フラッシュメモリ装置は、さらにＨＤＴＶ、ＤＶＤ、ルータ、およびＧＰＳのようなホームアプリケーションに用いられてもよい。
【０１３３】
実施形態に係るコンピュータシステムは、バスに電気的に接続されたマイクロプロセッサ、ユーザインタフェース、ベースバンドチップセット（ｂａｓｅｂａｎｄ  ｃｈｉｐｓｅｔ）のようなモデム、メモリコントローラ、およびフラッシュメモリ装置を含む。フラッシュメモリ装置には、マイクロプロセッサによって処理された／処理されるＮ−ビットデータ（Ｎは１またはそれよりも大きい整数）がメモリコントローラを介して格納されるであろう。実施形態に係るコンピュータシステムがモバイル装置である場合、コンピュータシステムの動作電圧を供給するためのバッテリが追加的に提供されるであろう。
【０１３４】
実施形態に係るコンピュータシステムには応用チップセット、カメライメージプロセッサ（Ｃａｍｅｒａ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ：ＣＩＳ）、モバイルＤＲＡＭなどがさらに提供されることは、この分野の通常の知識を有する者であれば自明である。メモリコントローラとフラッシュメモリ装置は、例えば、データを格納するために非揮発性メモリを用いるＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ／Ｄｉｓｋ）を構成することができる。
【０１３５】
上述したように、本発明は、限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような基材から多様な修正および変形が可能である。
【０１３６】
したがって、本発明の範囲は説明された実施形態に限定されて決められてはならず、添付の特許請求の範囲だけでなく、この特許請求の範囲と均等なものなどによって定められなければならない。
【符号の説明】
【０１３７】
１００  メモリ装置
１１０  メモリセルアレイ
１１１  サブアレイ
１２０  デコーダ
２１０  第１復号化モジュール
２２０  第２復号化モジュール
２３０  第３復号化モジュール
【図１】
2011515784.tif 000003
【図２】
2011515784.tif 000004
【図３】
2011515784.tif 000005
【図４】
2011515784.tif 000006
【図５】
2011515784.tif 000007
【図６】
2011515784.tif 000008
【図７】
2011515784.tif 000009
【国際調査報告】
2011515784.tif 000010
2011515784.tif 000011