"低密度パリティ検査符号により符号化された符号化データを記憶する半導体メモリ部と、前記符号化データをサムプロダクトアルゴリズムを用い、復号する復号部と、を具備する半導体メモリ装置であって、前記復号部が、検査行列の行毎に、行処理演算と列処理演算とからなるイタレーション処理を繰り返し実行することで事後尤度比を更新するときに、列処理演算において事後尤度比の絶対値が閾値以上の場合、列要素尤度比には事後尤度比をそのまま使用し、事後尤度更新処理において、列要素尤度比の絶対値が前記閾値以上の場合、事後尤度比には列要素尤度比をそのまま使用し、前記イタレーション処理を所定の第1のサイクル回数、行っても復号できない場合、または、シンドロームエラーの数が所定の第1のシンドロームエラー数よりも小さくなった場合、少なくとも一部の事後尤度比の絶対値を縮小するとともに、すべての事前尤度比を0にリセットし、所定の第2のサイクル回数のイタレーション処理までは第1のMin-Sum係数を用いて、前記第2のサイクル回数を超えるイタレーション処理では前記第1のMin-Sum係数より大きい第2のMin-Sum係数を用いることを特徴とする。低密度パリティ検査符号により符号化された符号化データを記憶する半導体メモリ部と、前記符号化データをサムプロダクトアルゴリズムを用い、復号する復号部と、を具備する半導体メモリ装置であって、前記復号部が、検査行列の行毎に、行処理演算と列処理演算とからなるイタレーション処理を繰り返し実行することで事後尤度比を更新するときに、列処理演算において事後尤度比の絶対値が閾値以上の場合、列要素尤度比には事後尤度比をそのまま使用し、事後尤度更新処理において、列要素尤度比の絶対値が前記閾値以上の場合、事後尤度比には列要素尤度比をそのまま使用することを特徴とする。前記イタレーション処理を所定の第1のサイクル回数、行っても復号できない場合、または、シンドロームエラーの数が所定の第1のシンドロームエラー数よりも小さくなった場合、少なくとも一部の事後尤度比の絶対値を縮小するとともに、すべての事前尤度比を0にリセットすることを特徴とする請求項2に記載の半導体メモリ装置。イタレーション処理を所定の第1のサイクル回数、行っても復号できない場合、または、シンドロームエラーの数が所定の第1のシンドロームエラー数よりも小さくなった場合、少なくとも一部の事後尤度比の絶対値を所定値とするとともに、すべての事前尤度比を0にリセットすることを特徴とする請求項2に記載の半導体メモリ装置。低密度パリティ検査符号により符号化された符号化データの、サムプロダクトアルゴリズムを用いた逐次法による復号方法であって、列処理演算において事後尤度比の絶対値が閾値以上の場合、列要素尤度比には事後尤度比をそのまま使用し、事後尤度更新処理において、列要素尤度比の絶対値が前記閾値以上の場合、事後尤度比には列要素尤度比をそのまま使用することを特徴とする。本発明の実施形態は、LDPC符号化データの逐次型復号法による復号効率がよい半導体メモリ装置およびLDPC符号化データの復号効率がよい逐次型の復号方法を提供することを目的とする。本発明の実施形態の半導体メモリ装置は、低密度パリティ検査符号により符号化された符号化データを記憶する半導体メモリ部と、前記符号化データをサムプロダクトアルゴリズムを用い復号する復号部と、を具備し、前記復号部が、検査行列の行毎に、行処理演算と列処理演算とからなるイタレーション処理を繰り返し実行することで事後尤度比を更新するときに、列処理演算において事後尤度比の絶対値が閾値以上の場合、列要素尤度比には事後尤度比をそのまま使用し、事後尤度更新処理において、列要素尤度比の絶対値が前記閾値以上の場合、事後尤度比には列要素尤度比をそのまま使用し、前記イタレーション処理を所定の第1のサイクル回数、行っても復号できない場合、または、シンドロームエラーの数が所定の第1のシンドロームエラー数よりも小さくなった場合、少なくとも一部の事後尤度比の絶対値を縮小するとともに、すべての事前尤度比を0にリセットし、所定の第2のサイクル回数のイタレーション処理までは第1のMin-Sum係数を用いて、前記第2のサイクル回数を超えるイタレーション処理では前記第1のMin-Sum係数より大きい第2のMin-Sum係数を用いる。また別の実施形態の復号方法は、低密度パリティ検査符号により符号化された符号化データの、サムプロダクトアルゴリズムを用いた逐次法による復号方法であって、列処理演算において事後尤度比の絶対値が閾値以上の場合、列要素尤度比には事後尤度比をそのまま使用し、事後尤度更新処理において、列要素尤度比の絶対値が前記閾値以上の場合、事後尤度比には列要素尤度比をそのまま使用する。本発明の実施形態によれば、復号効率がよい半導体メモリ装置および復号効率がよい復号方法を提供することができる。<第1実施形態>最初に、図1を用いて本発明の第1実施形態の半導体メモリ装置1の構成を説明する。半導体メモリ装置1は、例えば、パソコンまたはデジタルカメラ等のホスト4から受信したデータを記憶し、記憶したデータをホスト4に送信するメモリカード等、または、ホスト4の内部に格納され、ホスト4の起動データ等を記憶するSSDSolidStateDrive等の記憶装置である。図1に示すように、半導体メモリ装置1は、半導体メモリ部3と、メモリコントローラ2と、から構成されている。半導体メモリ部3は、NAND型フラッシュメモリから構成されており、単位セルである複数のメモリセルを有する。そして、メモリコントローラ2は、バス12を介して他の機能部と接続されているCPUコア11を用いて、ホストI/Fインターフェイス14を介してホスト4とのデータ送受信を、NANDI/Fインターフェイス16を介して半導体メモリ部3とのデータ送受信を行う。またメモリコントローラ2は、半導体メモリ部3のアドレス管理をCPUコア11で実行されるFWFirmWareで実現している。また、ホスト4からのコマンド入力に応じた半導体メモリ装置1全体の制御もFWで実行される。ROM10には、半導体メモリ装置1の制御プログラム等が格納されており、RAM13には、アドレス管理で必要となるアドレス変換デーブル等が記憶される。メモリコントローラ2の誤り検出訂正部ECC部15は、データ記憶時に誤り訂正符号を生成し付与し符号化データを出力する符号化部17と、データ読み出し時に、読み出された符号化データを復号し復号データを出力する復号部18と、を有する。ECC部15は、軟判定復号する誤り訂正符号であるLDPC符号を用いる。後に詳述するが、LDPC符号により符号化されたデータの復号においては、最初に入力された、それぞれのビットデータの確からしさを示す尤度比が算出される。そして検査行列をもとに行処理および列処理からなるイタレーション処理を繰り返すことで尤度比を更新することにより誤り訂正処理が行われる。図2に示すように、復号部18は、硬判定部21と、LLRメモリ22と、検査行列保持部24と、尤度比更新処理部であるLLR更新処理部25と、スケジューラ26と、中間メモリ27と、を有する。復号部18は、前段の信号処理部図示しないから符号化データ例えば、データフレームの入力尤度比Fnが入力され、復号を行う。なお、復号部18は、行処理と列処理とが、行インデックス毎に逐次的に実行される逐次型復号を行う。図示しない前段の信号処理から入力される受信語データは、符号語のビット数と同数の要素からなり、各要素はそれぞれ対応するビットデータの対数尤度比LLR:LogLikelihoodRatio、以下、単に尤度比ともいう。を表す。ここで、対数尤度比とは、式1に示されるように、データビットが1である確率Px=1に対する、データビットが0である確率Px=0の比の対数値自然対数である。式1LLRメモリ22は、受信語データ入力尤度比Fnを記憶し、これを更新しながら復号完了まで出力尤度比事後尤度比qnとして保持する。すなわち、入力尤度比Fnは、最初のイタレーション処理により事後尤度比qnに更新され、事後尤度比qnはイタレーション処理毎に新しい事後尤度比qnに更新されながらLLRメモリ22に保持される。検査行列保持部24は、M行N列の検査行列Hの情報を保持している。検査行列Hは、符号化部17と復号部18とで共通である。検査行列Hの情報は、LLR更新処理部25およびスケジューラ26によって必要に応じて読み出される。図3に、4行6列M=4、N=6の検査行列Hを例示する。検査行列Hによって定義される符号化データの符号長は6ビットであり、パリティ長は4ビットである。検査行列Hの第m行mはM以下の整数に含まれる1の数は第m行の行重みと呼ばれる。また、検査行列Hの第n列nはN以下の整数に含まれる1の数は第n列の列重みと呼ばれる。また、第m行目に含まれる1の列位置を示す列インデックスの集合はNm、第n列目に含まれる1の行位置を示す行インデックスの集合はMnと呼ばれる。図2の例であれば、N2={1,2,5}、M3={1,4}である。LLR更新処理部25は、LLRメモリ22から入力される出力尤度比事後尤度比qnと、中間メモリ27から入力される行処理演算データである行要素尤度比事前尤度比と、を用いてスケジューラ26から通知される行インデックスmに対して、行処理および列処理を行う。行処理はシンドローム値信頼度係数演算からなる。列処理は列処理演算および更新処理からなる。LLR更新処理部25は、行要素尤度比事前尤度比を中間メモリ27へ書き込み、出力尤度比事後尤度比qnをLLRメモリ22へ書き込む。また、LLR更新処理部25は、行処理で算出したシンドローム値および行インデックスをスケジューラ26に通知する。列要素尤度比qmn列処理演算データについては、例えばLLR更新処理部25の内部で保持する。つまり、LLR更新処理部25は、書き込み要求を受けて、列要素尤度比qmn列処理演算データを行番号および列番号毎に記憶する列処理演算データ記憶手段を含んでもよい。以下、行インデックスmに対して行われる、Min-Sumアルゴリズムを用いる行処理演算および列処理演算について、式を用いて説明する。<列処理演算>逐次型復号法では、式2のように、出力尤度比2サイクル目からは事後尤度比qnから行要素尤度比事前尤度比を差し引くことで列要素尤度比qmnが算出される。式2ここで、量子化ビット数が少ない場合には、出力尤度比事後尤度比qnは、処理されるとき量子化ビット幅でクリッピングされ、絶対値が本来の値よりも小さくなる。クリッピングされた出力尤度比事後尤度比qnから、行要素尤度比事前尤度比が差し引いて算出された列要素尤度比qmnには、クリッピング誤差が生じる。そして、逐次型復号法は一括型復号法に比べて、クリッピング誤差により誤り率特性が劣化しやすい。ここで、事後尤度比qnの絶対値が、十分大きいことは、その信頼性が高いことを意味している。そして、発明者は、事後尤度比qnの絶対値が、所定の大きな閾値thr以上の場合には、更新しない方が、更新するよりも復号効率がよいことを見いだした。なお、閾値thrは計算機シミュレーションなどの数値実験により予め算出される。すなわち、半導体メモリ装置1では、事後尤度比qnの絶対値が閾値未満thrのときは式2に示す列処理演算を行う。一方、事後尤度比qnの絶対値が閾値thr以上の場合、式3のように列要素尤度比qmnには事後尤度比qnをそのまま使用する。式2式3なお、iは、イタレーション処理のサイクル回数繰り返し回数を表し、復号開始時i=1には、行要素尤度比事前尤度比=0であるため、列要素尤度比qmn=出力尤度比事後尤度比qn=入力尤度比Fnである。<行処理演算>行処理演算では、シンドローム値と、行要素尤度比事前尤度比とが式4および式5により算出される。式4式5なお、Nmは行インデックスmのパリティ検査式において、1の値を持つ列インデックスの集合Nmを表す。Nm∈nは集合Nmのうちnを除いた列インデックスの部分集合を表す。またsignxは、xの符号を表す。また、は、列インデックス集合Nmに含まれる列インデックスに対応する列要素尤度比qmnのうち絶対値が最も小さい列要素尤度比qmnを表す。さらに、は、列インデックス集合Nm\nに含まれる列インデックスに対応する列要素尤度比qmnのうち絶対値が最も小さい列要素尤度比qmnを示す。また、後述するMin-Sum係数αは、スケジューラ26から通知される。式4および式5により、各列インデックスの行要素尤度比事前尤度比が、算出された後、式6に示す演算により出力尤度比事後尤度比qnが更新される。一方、式7に示すように、閾値thr以上の列要素尤度比qmnについては、事後尤度比qnには列要素尤度比qmnを、そのまま使用する。式6式7なお、2サイクル目以降のイタレーション処理では、出力尤度比事後尤度比qnは、ひとつ前のイタレーション処理で更新された事後尤度比qnを使用する。このように、LLR更新処理部25は、行毎に行処理と列処理を行うことにより、出力尤度比事後尤度比qnを更新する。スケジューラ26は復号処理全体の制御を行う。図4にスケジューラ26の構成を示す。スケジューラ26は、復号完了判定部31と、繰り返し回数カウント部32と、シンドローム累積部34と、シンドロームチェック部36と、行番号通知部37と、を有する。シンドロームチェック部36は、LLR更新処理部25より通知されるシンドローム値が正の場合は真0を、負の場合は偽1を、シンドローム累積部34へ出力する。シンドローム累積部34は、シンドロームチェック部36から行インデックス毎に入力されるシンドロームチェック結果真0または偽1をすべての行について累積することによりシンドローム累積値を得る。シンドローム累積値が、シンドロームエラーの数である。すべての行についてシンドロームチェック結果が真0となったときのみ、シンドローム累積値は真0となり、シンドロームチェック結果が偽1である行が1つでもあるときシンドローム累積値は0以外の偽となる。シンドローム累積部34はシンドローム累積値を復号完了判定部31に出力する。復号完了判定部31は、シンドローム累積部34から入力されるシンドローム累積値が真のとき、または繰り返し回数カウント部32から通知されるサイクル回数iが所定の最大サイクル回数Imaxに達したとき、復号処理の完了を判定する。復号完了判定部31は復号処理の完了を判定した場合、そのとき保持している事後尤度比qnを硬判定部21へ出力するようLLRメモリ22へ指示する。また、復号処理の完了と判定しない場合、次のイタレーション処理を開始することをLLR更新処理部25に通知する。行番号通知部37はLLR更新処理部25から通知される行インデックス番号をインクリメントし、LLR更新処理部25へ通知する。ただし、通知される行インデックス番号が最終行つまりMのときは0を通知する。中間メモリ27は、LLR更新処理部25の説明から理解されるように、LLR更新処理部25により算出される行要素尤度比事前尤度比をLLR更新処理部25からの書き込み要求を受けて記憶する。硬判定部21は、LLRメモリから入力される出力尤度比事後尤度比の正負を判定し、正の時は0を、負の時は1を選択する。ビット毎に判定された0または1である硬判定データは図示しない後段の信号処理部へ出力される。ここで、図5および図6に示すフローチャートを用いて、復号部18の動作の流れについて説明する。なお、図5および図6では、mが行インデックスを表し、Mがパリティ検査行列の行数を表し、iがイタレーション処理の繰り返し回数サイクル回数を表し、Imaxが最大繰り返し回数を表す。<ステップS11>図示しない前段の信号処理部より、受信語データ入力尤度比Fnが入力されると最初1サイクル目のイタレーション処理が開始される。なお、入力された受信語データ入力尤度比Fnは、イタレーション処理により更新されながら出力尤度比事後尤度比qnとして、復号完了まで、LLRメモリ22で保持される。最初に、イタレーション処理のサイクル回数iが1にセットされる。<ステップS12>更新処理が実行される行を示す行インデックスmが1にセットされる。<ステップS13>行インデックスmについて、LLR更新処理が実行される。ここで、図6のフローチャートを用いてLLR更新処理部25の動作について説明する。<ステップS31>更新処理を実行する列インデックスnが1に設定される。<ステップS32>列インデックスnが、検査行列Hのm行目の列インデックス集合Nmに含まれるかが判定され、含まれる場合YesステップS33に進む。含まれない場合No、ステップS36に進む。<ステップS33>事後尤度比qnの絶対値が閾値thr未満かどうかの判定が行われる。閾値thr未満の場合YesはステップS34へ進み、閾値thr以上の場合Noは、ステップS35へ進む。<ステップS34>式2を用いて、列要素尤度比qmnが算出される。<ステップS35>式3に示すように、列要素尤度比qmnには、出力尤度比事後尤度比qnが、そのまま使用される。<ステップS36>列インデックスnが最終列インデックスNかどうか判定し、最終列インデックスの場合は、ステップS38に進み、最終列インデックスではない場合は、ステップS37に進む。<ステップS37>更新処理を実行する列インデックスnがインクリメントされ、ステップS32からの処理が繰り返される。<ステップS38>式4および式5を用いてシンドローム値と行要素尤度比事前尤度比とが算出される。<ステップS39>列インデックスnが、1に設定される。<ステップS40>列インデックスnが、m行目の列インデックス集合Nmに含まれるか判定し、含まれる場合Yesには、ステップS41に進む。含まれない場合Noには、ステップS44に進む。<ステップS41>列要素尤度比qmnの絶対値が、閾値thr未満かどうかが判定され、閾値thr未満の場合YesはステップS42へ進み、閾値thr以上の場合Noは、ステップS43へ進む。<ステップS42>式6を用いて、出力尤度比事後尤度比qnが算出される。<ステップS43>式7に示すように、出力尤度比事後尤度比qnには列要素尤度比qmnが、そのまま使用される。<ステップS44>列インデックスnが、最終列を示すインデックスNかどうかが判定される。最終列インデックスNの場合Yesであれば、ステップS14に進み、最終列インデックスNでない場合には、ステップS45に進む。<ステップS45>列インデックスnがインクリメントされ、ステップS39からの処理が繰り返し行われる。<ステップS14>行インデックスmが、最終行インデックスMかどうかが判定される。<ステップS15>ステップS14の判定が、Noの場合には、行インデックスmが、インクリメントされ、ステップS13からの処理が繰り返される。<ステップS16>ステップS14の判定が、Yesの場合には、シンドローム累積値の判定が行われる。そして、シンドローム累積値が真の場合には硬判定を行った後、復号処理は終了する。<ステップS17>ステップS16の判定が、偽の場合には、イタレーション処理のサイクル回数iが最大サイクル回数Imaxに達したかどうかが判定される。最大サイクル回数Imaxに達していた場合Yesには、硬判定が行われた後、復号処理は終了する。最大サイクル回数Imax未満の場合Noは、ステップS12に戻り、次のサイクルのイタレーション処理が行われる。以上の説明のように、実施形態の復号方法は、低密度パリティ検査符号により符号化された符号化データの、サムプロダクトアルゴリズムを用いた逐次法により、列処理演算において事後尤度比の絶対値が閾値以上の場合、列要素尤度比には事後尤度比をそのまま使用し、事後尤度比の更新処理において、列要素尤度比の絶対値が前記閾値以上の場合、事後尤度比には列要素尤度比をそのまま使用する。実施形態の復号方法は、収束速度が速く、またメモリ使用量が少ない逐次型復号方法を用いているが、クリッピング誤差の影響により復号効率が低下することがない。このため、半導体メモリ装置1は復号効率がよい。なお、上記説明は、サムプロダクトSumProductアルゴリズムとして、ミニサムMinSumアルゴリズムを用いた復号を例に説明したが、モディファイドミニサムModifiedMinSumアルゴリズム等を用いても、同様の効果を有する。<第2実施形態>次に第2実施形態の半導体メモリ装置1Aおよび第2実施形態の復号方法について説明する。第2実施形態の半導体メモリ装置1Aおよび第2実施形態の復号方法は、第1実施形態の半導体メモリ装置1および第1実施形態の復号方法と類似しているので、同じ構成要素には同じ符号を付し、説明は省略する。図7に示すように、第2実施形態の半導体メモリ装置1Aの復号部18Aは、ミニサムMinSumアルゴリズムを用いた復号を行い、リセッティング制御部23を有する。さらに、図8に示すように、第2実施形態の半導体メモリ装置1Aのスケジューラ26Aは、Min-Sum係数制御部33と、リセッティング判定部35と、を有する。すでに説明したように、第1実施形態の半導体メモリ装置1の復号部18が行う復号では、事後尤度比qnの絶対値が閾値thr以上の場合には、更新処理を行わない。しかし、イタレーション処理の初期段階初期サイクルで、誤った符号正または負のまま閾値thr以上となる可能性は否定できない。すると、以降のイタレーション処理では、そのビットデータの事後尤度比qnは更新されないため、復号エラーとなる。これに対して、復号部18Aでは、リセッティング制御部23が、所定のサイクル回数のイタレーション処理を行っても復号できなかった場合には、リセッティング処理を行う。すなわち、リセッティング判定部35は、繰り返し回数カウント部32から通知されるサイクル回数iが、第1の回数I1に達した場合は、リセッティング制御部23および中間メモリ27へ、リセッティング要求を通知する。また、中間メモリ27は、スケジューラ26からリセッティング要求が通知された場合は、保持しているすべての行要素尤度比事前尤度比を、0にリセットする。リセッティング制御部23では、スケジューラ26からリセッティング要求が通知された場合、LLRメモリ22から事後尤度比qnを読み出し、すべての事後尤度比qnを式8により縮小する。式8ただし、Aは1より大きい値であり、Aはthrの5~50が好ましく、前記範囲内であれば、復号速度が大きく低下することなく復号効率が上がる。式8より明らかなように、縮小するとは絶対値を減ずることである。また、例えば、絶対値が閾値以上の事後尤度比qnの半分だけを縮小してもよい。すなわち、少なくとも一部の事後尤度比qnの絶対値を縮小してもよい。また、リセッティング制御部23は、事後尤度比qnの縮小に替えて、すべての事後尤度比qnの絶対値を式9により、所定値Bにしても縮小処理と同様の効果を得ることができる。すなわち、すべての事後尤度比qnは、符号が正で絶対値がB、または符号が負で絶対値がBの、2値のいずれかにリセッティング処理される。式9ここで、B<thrであり、Bはthrの5~50が好ましく、前記範囲内であれば、復号速度が大きく低下することなく復号効率が上がる。また、例えば、絶対値が閾値以上の出力尤度比事後尤度比qnの半分だけを、絶対値をBにしても良い。すなわち、少なくとも一部の出力尤度比事後尤度比qnを、絶対値がBの正負の2値にすればよい。一方、イタレーション処理の初期段階初期サイクルで、誤った符号のまま更新処理されなくなることを防止するためには、初期段階では事後尤度比qnの絶対値が大きくなり難くする方法も有効である。事後尤度比qnの絶対値を大きくなり難くするには、式4のMin-Sum係数αとして小さな値を用いることで実現できる。この方法を用いるため、Min-Sum係数制御部33は、繰り返し回数カウント部32から通知されるサイクル回数iが、所定の第2の回数I2以下の初期段階では、小さい値の第1のMin-Sum係数α1を更新処理部25に通知するが、通知されるサイクル回数iが、所定の第2の回数I2より大きくなった後は、第1のMin-Sum係数α1よりも大きな第2のMin-Sum係数α2を更新処理部25に通知する。なお、第1のMin-Sum係数α1は、第2のMin-Sum係数α2の50~90が好ましい。前記範囲であれば、復号速度が大きく低下することなく復号効率が上がる。また、第2の回数I2は、最大繰り返し数Imaxの5~50が好ましい前記範囲であれば、復号速度が大きく低下することなく復号効率が上がる。Min-Sum係数制御部33の動作により、エラーフロアが低く、ウォーターフォール特性の劣化を防ぐことができる。以下、図9のフローチャートを用いて、復号部18Aの動作の流れについて説明する。なお、図9は、図5と類似しているので、異なる工程のみを説明する。<ステップS11A>イタレーション処理のサイクル回数iが1にセットされるとともに、Min-Sum係数αが、第1のMin-Sum係数α1にセットされる。<ステップS17>ステップS16の判定が、偽の場合には、イタレーション処理のサイクル回数iが最大サイクル回数Imaxに達したかどうかが判定される。最大サイクル回数Imax未満の場合Noは、ステップS19に進む。<ステップS19>イタレーション処理のサイクル回数iが、所定の第2の回数I2であった場合Yesには、ステップS20に進む。一方、サイクル回数iが、第2の回数I2未満の場合No、ステップS21に進む。<ステップS20>Min-Sum係数αを、第1のMin-Sum係数α1から第2のMin-Sum係数α2に変更してステップS21に進む。<ステップS21>サイクル回数iが第1の回数I1であるかの判定が行われる。判定がYesの場合、ステップS22に進む。一方、判定がNoの場合は、ステップS18に進む。半導体メモリ装置1Aは、半導体メモリ装置1が有する効果を有し、さらに、イタレーション処理の初期段階初期サイクルで、誤った符号のまま更新処理されなくなることに起因する復号エラーが発生しにくく、さらに復号効率がよい。なお、リセッティング判定部35は、シンドロームエラー数に応じて、リセッティング要求を通知しても良い。また、Min-Sum係数αも、シンドロームエラー数に応じて変更しても良い。すなわち、リセッティング制御部23はシンドロームエラーの数が、所定の第1のシンドロームエラー数よりも小さくなった場合、少なくとも一部の事後尤度比の絶対値を縮小するとともに、すべての事前尤度比を0にリセットしてもよい。また、リセッティング制御部23は、シンドロームエラーの数が、所定の第1のシンドロームエラー数よりも小さくなった場合、少なくとも一部の事後尤度比の絶対値を所定値とするリセット処理を行ってもよい。さらに、更新処理する順序を、行インデックス順ではなく、例えば、LLR更新処理部25より通知されるシンドローム値が1、すなわち、シンドロームエラーがある行から行うようにすることも好ましい。<第3実施形態>次に第3実施形態の半導体メモリ装置1Bおよび第3実施形態の復号方法について説明する。第3実施形態の半導体メモリ装置1Bおよび第3実施形態の復号方法は、第1実施形態の半導体メモリ装置1および第1実施形態の復号方法と類似しているので、同じ構成要素には同じ符号を付し、説明は省略する。図10に示すように半導体メモリ装置1Bの復号部18Bのスケジューラ26Bはパリティ検査部38を有する。そして、スケジューラ26Bは、シンドローム累積値ではなく、M行毎にパリティ検査を行い、復号完了を判定する。パリティ検査部38では、更新処理部25より通知される行インデックスが最終行Mであるとき、LLRメモリ22から事後尤度比qnを読み出し、その正負を判定し、正の時は0を、負の時は1を選択する硬判定が行われる。なお、硬判定は硬判定部21と同様の硬判定部を用いても良い。その後、硬判定結果を用いて次式によりパリティ検査が行われる。なお、Uはパリティ検査ベクトルであり、は、硬判定結果であり、Hは検査行列である。パリティ検査ベクトルが全零ベクトルである場合、パリティ検査部38は、復号完了判定部31に真を通知し、全零ベクトルでない場合は偽を通知する。復号完了判定部31Bは、パリティ検査部38から通知される信号が真である場合、または繰り返し回数カウント部32から通知されるサイクル回数iが所定の最大繰り返し数Imaxに達したとき、復号の完了を判定する。半導体メモリ装置1Bおよび第3実施形態の復号方法は、第1実施形態の半導体メモリ装置1および第1実施形態の復号方法と同様の効果を有する。また、半導体メモリ装置1Bおよび第3実施形態の復号方法は、第2実施形態の半導体メモリ装置1Aおよび第2実施形態の復号方法と組み合わせても、同様の効果を有する。すなわち、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。"