(57)【要約】【課題】向上された信頼性を有し、より少ない資源を消耗する格納装置からのデータ読出し方法が提供される【解決手段】本発明による読出し方法は、正常読出し電圧を利用して格納装置に格納されたデータを読み出す段階、読み出されたデータに基づいて第１低密度パリティー検査（ＬＤＰＣ：Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）デコーディングを遂行しデコーディング結果にしたがって信頼性ビットを生成する段階、そして読み出されたデータ及び信頼性ビットに基づいて第２低密度パリティー検査デコーディングを遂行して、読み出されたデータのエラーを訂正する段階に構成される。【選択図】図１７
2013141219.tif 000002
【特許請求の範囲】
【請求項１】
格納装置からのデータ読出し方法において、
第１読出し電圧を利用して前記格納装置に格納されたデータを読み出す段階と、
前記読み出されたデータに基づいて第１低密度パリティー検査（ＬＤＰＣ：Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）デコーディングを遂行する段階と、
前記デコーディング結果にしたがって前記読み出されたデータのビット（以下で、読出しビット）各々の信頼性ビットを生成する段階と、
前記読み出されたデータ及び前記信頼性ビットに基づいて第２低密度パリティー検査デコーディングを遂行して前記読み出されたデータの第１エラー訂正を遂行する段階と、を含む読出し方法。
【請求項２】
前記信頼性ビットを生成する段階は、
前記第１低密度パリティー検査デコーディングの結果としてデコーディングされたビットを生成する段階と、
前記読出しビットのビット（第１ビット）の各々を前記デコーディングされたビット（第２ビット）の対応するビットと比較して比較結果を生成する段階と、
前記比較結果にしたがって、前記第１ビットに対応する信頼性ビットを生成する段階と、を含む請求項１に記載の読出し方法。
【請求項３】
前記第１ビットの中で１つのビットが前記第２ビットの中で対応するビットと同一である時、前記生成された信頼性ビットは前記第１ビットの中で１つのビットの信頼性が高いことを示す請求項２に記載の読出し方法。
【請求項４】
前記第１ビットの中で１つのビットと前記第２ビットの中で対応するビットが互いに異なる時、前記生成された信頼性ビットは前記第１ビットの中で１つのビットの信頼性が低いことを示す請求項２又は３に記載の読出し方法。
【請求項５】
前記第１低密度パリティー検査デコーディングが遂行される時、前記読出しビットに大きさは同一であり、符号が反対である対数尤度比がマッピングされる請求項１から４いずれか１項に記載のに記載の読出し方法。
【請求項６】
前記第２低密度パリティー検査デコーディングが遂行される時、前記読出しビット及び信頼性ビットにしたがって、２つ以上の互いに異なる対数尤度比が再マッピングされる請求項１から５いずれか１項に記載の読出し方法。
【請求項７】
前記第１エラー訂正の時に、エラー訂正が完了されなければ、部分読出し電圧を利用して前記格納装置に格納された前記データを再び読出し、前記読み出されたデータ及び前記再び読み出されたデータに基づいて第３低密度パリティー検査デコーディングを遂行することによって、第２エラー訂正を遂行する段階をさらに含む請求項１から６いずれか１項に記載の読出し方法。
【請求項８】
前記読出し電圧のレベルと前記部分読出し電圧のレベルとは互に異なる請求項７に記載の読出し方法。
【請求項９】
前記第１低密度パリティー検査デコーディングのデコーディングループが基準回数遂行された後に、前記第１低密度パリティー検査デコーディングのデコーディングループが反復される時毎に前記信頼性ビットが生成される請求項１から８いずれか１項に記載の読出し方法。
【請求項１０】
前記生成された信頼性ビットの数が基準値に到達すれば、前記信頼性ビットの除去はＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）に管理される請求項１から９いずれか１項に記載の読出し方法。
【請求項１１】
前記生成された信頼性ビットの数が第２基準値に到達した後で、前記第１低密度パリティー検査のデコーディングループが第１基準回数遂行された後に、前記第２低密度パリティー検査デコーディングが遂行される請求項１から１０いずれか１項に記載の読出し方法。
【請求項１２】
前記第２低密度パリティー検査デコーディングが遂行される時、前記第１低密度パリティー検査デコーディングで演算された検査ノード及び変数ノードの値が承継される請求項１から１１いずれか１項に記載の読出し方法。
【請求項１３】
外部から受信される第１データを格納し、前記第１データの信頼性をを示す信頼性データを格納し、前記第１データ及び信頼性データを出力するように構成されるメモリと、
前記メモリから出力される前記第１データに第１対数尤度比をマッピングして第１マッピングデータを出力し、前記メモリから出力される前記第１データ及び信頼性データに第２対数尤度比をマッピングして第２マッピングデータを出力するように構成される対数尤度比マッパと、
前記第１マッピングデータ又は第２マッピングデータに基づいて低密度パリティー検査（ＬＤＰＣ：Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）デコーディングを遂行するように構成される判定部と、
前記判定部から前記第１マッピングデータに基づいたデコーディング結果を受信し、前記デコーディング結果を前記メモリに格納された前記第１データと比較し、比較結果にしたがって前記第１データの各ビットの信頼性をを示す前記信頼性データを生成して前記メモリに格納するように構成される対数尤度比信頼性更新器と、を含むエラー訂正装置。
【請求項１４】
前記メモリは前記第１データに対応する各信頼性データのビット数が基準値未満である時、前記データを前記対数尤度比マッパへ出力し、前記第１データに対応する各信頼性データのビット数が前記基準値に到達する時、前記第１データ及び信頼性データを前記対数尤度比マッパへ共に出力するように構成される請求項１３に記載のエラー訂正装置。
【請求項１５】
前記基準値は前記第１データの１ビットに対応する信頼性データを格納する前記メモリのビット数である請求項１４に記載のエラー訂正装置。
【請求項１６】
前記対数尤度比信頼性更新器は前記デコーディング結果の中で第１ビット、そして前記データの中で前記第１ビットと、対応する位置の第２ビットとが互いに異なる値を有する時、信頼性が低いことを示す信頼性データを生成するように構成される請求項１３から１５いずれか１項に記載のエラー訂正装置。
【請求項１７】
前記対数尤度比信頼性更新器は前記デコーディング結果の中で第１ビット、そして前記データの中で前記第１ビットと、対応する位置の第２ビットとが同一の値を有する時、信頼性が高いことを示す信頼性データを生成するように構成される請求項１３から１６いずれか１項に記載のエラー訂正装置。
【請求項１８】
前記対数尤度比マッパは前記第１デコーディングが遂行される時、前記第１データに大きさが同一であり、符号が互いに異なる２つの対数尤度比をマッピングするように構成される請求項１３から１７いずれか１項に記載のエラー訂正装置。
【請求項１９】
前記対数尤度比マッパは前記第２デコーディングが遂行される時、前記第１データ及び信頼性データに互いに異なる３以上の対数尤度比をマッピングするように構成される請求項１３から１９いずれか１項に記載のエラー訂正装置。
【請求項２０】
前記判定部でエラーの訂正失敗が感知されれば、前記メモリは外部から追加データを受信して格納し、前記対数尤度比マッパは前記第１データ及び追加データに対数尤度比をマッピングして第３マッピングデータを出力し、前記判定部は前記第３マッピングデータに基づいてデコーディングを遂行する請求項から１９いずれか１項に記載のエラー訂正装置。
【請求項２１】
前記データに対応する各信頼性データのビット数が基準値に到達する時、前記メモリは前記信頼性データの除去をＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）方式に管理する請求項１３から２０いずれか１項に記載のエラー訂正装置。
【請求項２２】
前記データに対応する各信頼性データのビット数が基準値に到達し、前記第１マッピングデータに基づいたデコーディングが基準回数遂行された後に、前記メモリは前記第１データ及び信頼性データを前記対数尤度比マッパへ共に出力する請求項１３から２２いずれか１項に記載のエラー訂正装置。
【請求項２３】
前記第１マッピングデータに基づいたデコーディングが基準回数遂行された後に、前記対数尤度比信頼性更新器は前記信頼性データを生成する請求項１３から２２いずれか１項に記載のエラー訂正装置。
【請求項２４】
格納装置と、
前記格納装置から読み出された第１データを受信し、前記受信された第１データのエラーを訂正する第１エラー訂正コードデコーダーを具備するコントローラと、を含み、
前記第１エラー訂正コードデコーダーは、
前記格納装置から読み出された第１データを格納し、前記読み出された第１データの信頼性をを示す信頼性データを格納し、そして前記読み出された第１データ及び信頼性データを出力するように構成されるメモリと、
前記メモリから出力される前記第１データに第１対数尤度比をマッピングして第１マッピングデータを出力し、前記メモリから出力される前記第１データ及び信頼性データに第２対数尤度比をマッピングして第２マッピングデータを出力するように構成される対数尤度比マッパと、
前記第１マッピングデータ又は第２マッピングデータに基づいて低密度パリティー検査（ＬＤＰＣ：Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）デコーディングを遂行するように構成される判定部と、
前記判定部から前記第１マッピングデータに基づいた第１デコーディング結果を受信し、前記第１デコーディング結果を前記メモリに格納された前記第１データと比較し、比較結果にしたがって前記第１データの各ビットの信頼性をを示す信頼性データを生成して前記メモリに格納するように構成される対数尤度比信頼性更新器と、を含み、
前記対数尤度比マッパは前記第２マッピングデータにしたがう第２デコーディング結果に基づいて前記読み出された第１データで第１エラー訂正動作を遂行するように構成される格納システム。
【請求項２５】
前記格納装置はフラッシュメモリを含む請求項２４に記載の格納システム。
【請求項２６】
前記格納装置及び前記コントローラはメモリカードを形成する請求項２４に記載の格納システム。
【請求項２７】
前記格納装置及び前記コントローラはソリッドステートドライブ（ＳＳＤ：Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を形成する請求項２４に記載の格納システム。
【請求項２８】
前記第１エラー訂正動作が失敗する時、前記メモリは前記格納装置から追加に読み出されたデータを受信して格納し、前記対数尤度比マッパは前記第１データ及び追加データに対数尤度比をマッピングして第３マッピングデータを出力し、前記判定部は前記第３マッピングデータに基づいてデコーディングを遂行する請求項２４に記載の格納システム。
【請求項２９】
前記格納装置に格納されたメタデータのエラーを訂正する第２エラー訂正コードデコーダーをさらに含み、
前記第１エラー訂正コードデコーダーは前記格納装置に格納された使用者データのエラーを訂正するように構成される請求項２４に記載の格納システム。
【請求項３０】
前記第２エラー訂正コードデコーダーはＢＣＨ（Ｂｏｓｅ−Ｃｈａｕｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ）コードを利用してエラーを訂正するように構成される請求項２９に記載の格納システム。
【請求項３１】
前記コントローラ及び格納装置は複数の（ｋ個、ｋは正の整数）チャンネルを通じて互いに通信し、
前記エラー訂正コードデコーダーは前記複数のチャンネルの中で第１チャンネルを通じて通信されるデータのエラーを訂正し、
前記コントローラは前記複数のチャンネルの中で第１チャンネルではない他のチャンネルを通じて通信されるデータのエラーを各々訂正する複数の（ｋ−１個）エラー訂正コードデコーダーをさらに含む請求項２４に記載の格納システム。
【請求項３２】
格納装置からデータを読み出す方法において、
硬判定読出し動作を遂行して硬判定データを生成する段階と、
前記硬判定データに基づいて比較結果を生成する段階と、
前記比較結果に基づいて、前記第１読出し電圧と異なる部分読出し電圧を利用して前記格納装置に格納されたデータに対して軟判定読出し動作を遂行するか否かを判別する段階と、を含み、
前記硬判定読出し動作を遂行する段階は、
第１電圧を利用して前記格納装置に格納されたデータを読み出す段階と、
前記読み出されたデータに基づいてデコーディング動作を遂行することによって、前記読み出されたデータのビット（以下で、読出しビット）各々に対応する信頼性ビットを生成する段階と、
前記読み出されたデータ及び信頼性ビットに基づいて前記読み出されたデータに対して第１エラー訂正動作を遂行する段階と、を含む方法。
【請求項３３】
第１エラー訂正動作を遂行する段階は、デコーディングされたビットを生成する段階を含み、
前記信頼性ビットを生成する段階は、前記読出しビットのビット（以下で、第１ビット）各々と前記デコーディングされたビット（以下で、第２ビット）との中で対応するビットを比較する段階を含む請求項３２に記載の方法。
【請求項３４】
前記第１エラー訂正動作は、低密度パリティーチェック（ＬＤＰＣ）デコーディング動作を含み、
前記比較結果はパリティーチェックによって生成され、
前記判別する段階は、前記パリティーチェックが失敗した場合、前記軟判定読出し動作を遂行することと判別する段階を含む請求項３２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は格納装置からのデータ読出し方法、エラー訂正装置、及びエラー訂正装置を含む格納システムに関する。
【背景技術】
【０００２】
半導体メモリ装置（ｓｅｍｉｃｏｎｄｕｃｔｏｒ  ｍｅｍｏｒｙ  ｄｅｖｉｃｅ）はシリコン（Ｓｉ、ｓｉｌｉｃｏｎ）、ゲルマニウム（Ｇｅ、Ｇｅｒｍａｎｉｕｍ）、砒素ガリウム（ＧａＡｓ、ｇａｌｌｉｕｍ  ａｒｓｅｎｉｄｅ）、リン化インジウム（ＩｎＰ、ｉｎｄｉｕｍ  ｐｈｏｓｐｉｄｅ）等のような半導体を利用して具現される記憶装置である。半導体メモリ装置は大きく揮発性メモリ装置（Ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ  ｄｅｖｉｃｅ）と不揮発性メモリ装置（Ｎｏｎｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ  ｄｅｖｉｃｅ）とに区分される。
【０００３】
揮発性メモリ装置は電源供給が遮断されれば、格納しているデータが消滅されるメモリ装置である。揮発性メモリ装置にはＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）等がある。不揮発性メモリ装置は電源供給が遮断されても格納しているデータを維持するメモリ装置である。不揮発性メモリ装置にはＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、フラッシュメモリ装置、ＰＲＡＭ（Ｐｈａｓｅ−ｃｈａｎｇｅ  ＲＡＭ）、ＭＲＡＭ（Ｍａｇｎｅｔｉｃ  ＲＡＭ）、ＲeＲＡＭ（Ｒｅｓｉｓｔｉｖｅ  ＲＡＭ）、ＦＲＡＭ(登録商標)（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ）等がある。フラッシュメモリ装置はＮＯＲタイプとＮＡＮＤタイプとに区分される。
【０００４】
メモリ装置にプログラムされたデータが読み出される時、エラーが発生する。読出しの時に、エラーが発生すれば、読み出されたデータにエラーが包含され得る。読み出されたデータのエラーを訂正するために、ＢＣＨ（Ｂｏｓｅ−Ｃｈａｕｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ）コード、ＲＳ（Ｒｅｅｄ−Ｓｏｌｏｍｏｎ）コード、ＬＤＰＣ（Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）コード、ターボ（Ｔｕｔｂｏ）コード等のようなエラー訂正コードが研究されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許公開第２０１１／００８３０６０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は向上された信頼性を有し、より少ない資源を消耗する格納装置からのデータ読出し方法、エラー訂正装置、及びエラー訂正コードデコーダーを含む格納システムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の実施形態による格納装置からのデータ読出し方法は、正常読出し電圧を利用して前記格納装置に格納されたデータを読み出す段階と、前記読み出されたデータに基づいて第１低密度パリティー検査（ＬＤＰＣ：Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）デコーディングを遂行し、前記デコーディング結果にしたがって前記読み出されたデータのビット（以下で、読出しビット）各々の信頼性ビットを生成する段階と、前記読み出されたデータ及び前記信頼性ビットに基づいて第２低密度パリティー検査デコーディングを遂行して、前記読み出されたデータのエラーを訂正する段階と、を含む。
【０００８】
実施形態として、前記信頼性ビットを生成する段階は、前記第１低密度パリティー検査デコーディングの結果としてデコーディングされたビットを生成する段階と、前記読出しビットの中で第１ビット、そして前記デコーディングされたビットの中で前記第１ビットと同一の位置の第２ビットを比較する段階と、前記比較結果にしたがって、前記第１ビットに対応する信頼性ビットを生成する段階と、を含む。
【０００９】
実施形態として、前記第１ビットと第２ビットが同一である時、前記第１ビットの信頼性が高いことを示す信頼性ビットが生成される。
【００１０】
実施形態として、前記第１ビットと第２ビットが互いに異なる時、前記第１ビットの信頼性が低いことを示す信頼性ビットが生成される。
【００１１】
実施形態として、前記第１低密度パリティー検査デコーディングが遂行される時、前記読出しビットに大きさは同一であり、符号が反対である対数尤度比がマッピングされる。
【００１２】
実施形態として、前記第２低密度パリティー検査デコーディングが遂行される時、前記読出しビット及び信頼性ビットにしたがって前記読出しビットに２つ以上の互に異なる対数尤度比がマッピングされる。
【００１３】
実施形態として、前記エラーを訂正する段階でエラー訂正が完了されなければ、部分読出し電圧を利用して前記格納装置に格納された前記データを再び読出し、前記読み出されたデータ及び前記再び読み出されたデータに基づいて第３低密度パリティー検査デコーディングを遂行してエラーを訂正する段階をさらに含む。
【００１４】
実施形態として、前記読み出す段階の読出し電圧のレベルと前記再び読み出す段階の読出し電圧のレベルは互に異なる。
【００１５】
実施形態として、前記第１低密度パリティー検査デコーディングのデコーディングループが基準回数遂行された後に、前記第１低密度パリティー検査デコーディングのデコーディングループが反復される時毎に前記信頼性ビットが生成される。
【００１６】
実施形態として、前記生成された信頼性ビットの数が最大値に到達すれば、前記信頼性ビットはＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）に管理される。
【００１７】
実施形態として、前記生成された信頼性ビットの数が最大値に到達した後に、前記第１低密度パリティー検査のデコーディングループが基準回数遂行された後に、前記第２低密度パリティー検査デコーディングが遂行される。
【００１８】
実施形態として、前記第２低密度パリティー検査デコーディングが遂行される時、前記第１低密度パリティー検査デコーディングで演算された検査ノード及び変数ノードの値が承継される。
【００１９】
本発明の実施形態によるエラー訂正装置は、外部から受信されるデータを格納し、前記データの信頼性をを示す信頼性データを格納するように構成されるメモリと、前記メモリから出力される前記データに第１対数尤度比をマッピングして第１マッピングデータを出力し、前記メモリから出力される前記データ及び信頼性データに第２対数尤度比をマッピングして第２マッピングデータを出力するように構成される対数尤度比マッパと、前記第１マッピングデータ又は第２マッピングデータに基づいて低密度パリティー検査（ＬＤＰＣ：Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）デコーディングを遂行するように構成される判定部と、前記判定部から前記第１マッピングデータに基づいたデコーディング結果を受信し、前記デコーディング結果を前記メモリに格納された前記データと比較し、比較結果にしたがって前記データの各ビットの信頼性をを示す信頼性データを生成して前記メモリに格納するように構成される対数尤度比信頼性更新器を含む。
【００２０】
実施形態として、前記メモリは前記信頼性データの量が特定値未満である時、前記データを出力し、前記信頼性データの量が前記特定値に到達する時、前記データ及び信頼性データを共に出力する。
【００２１】
実施形態として、前記特定値は前記データの１ビットに対応する信頼性データを格納する前記メモリのビット数である。
【００２２】
実施形態として、前記対数尤度比信頼性更新器は前記デコーディング結果の中で第１ビット、そして前記データの中で前記第１ビットと同一の位置の第２ビットが互に異なる値を有する時、信頼性が低いことを示す信頼性データを生成する。
【００２３】
実施形態として、前記対数尤度比信頼性更新器は前記デコーディング結果の中で第１ビット、そして前記データの中で前記第１ビットと同一の位置の第２ビットが同一の値を有する時、信頼性が高いことを示す信頼性データを生成する。
【００２４】
実施形態として、前記第１デコーディングが遂行される時、前記対数尤度比マッパは前記データに大きさが同一であり、符号が互に異なる２つの対数尤度比をマッピングする。
【００２５】
実施形態として、前記第２デコーディングが遂行される時、前記対数尤度比マッパは前記データ及び信頼性データに互に異なる３以上の対数尤度比をマッピングする。
【００２６】
実施形態として、前記判定部でエラーの訂正失敗が感知されれば、前記メモリは追加データを受信して格納し、前記対数尤度比マッパは前記データ及び追加データに対数尤度比をマッピングして第３マッピングデータを出力し、前記判定部は前記第３マッピングデータに基づいてデコーディングを遂行する。
【００２７】
実施形態として、前記データに対応する各信頼性データのビット数が特定値に到達する時、前記メモリは前記信頼性データをＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）方式に管理する。
【００２８】
実施形態として、前記データに対応する各信頼性データのビット数が特定値に到達し、前記第１マッピングデータに基づいたデコーディングが基準回数遂行された後に、前記メモリは前記データ及び信頼性データを前記対数尤度比マッパへ共に出力する。
【００２９】
実施形態として、前記第１マッピングデータに基づいたデコーディングが基準回数遂行された後に、前記対数尤度比信頼性更新器は前記信頼性データを生成する。
【００３０】
本発明の実施形態による格納システムは、格納装置と、前記格納装置から読み出されたデータを受信し、前記受信されたデータのエラーを訂正するエラー訂正コードデコーダーを具備するコントローラを含み、前記エラー訂正コードデコーダーは、前記格納装置から読み出されたデータを格納し、前記読み出されたデータの信頼性をを示す信頼性データを格納するように構成されるメモリと、前記メモリから出力される前記データに第１対数尤度比をマッピングして第１マッピングデータを出力し、前記メモリから出力される前記データ及び信頼性データに第２対数尤度比をマッピングして第２マッピングデータを出力するように構成される対数尤度比マッパと、前記第１マッピングデータ又は第２マッピングデータに基づいて低密度パリティー検査（ＬＤＰＣ：Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）デコーディングを遂行するように構成される判定部と、前記判定部から前記第１マッピングデータに基づいた第１デコーディング結果を受信し、前記第１デコーディング結果を前記メモリに格納された前記データと比較し、比較結果にしたがって前記データの各ビットの信頼性をを示す信頼性データを生成して前記メモリに格納するように構成される対数尤度比信頼性更新器を含み、前記対数尤度比マッパは前記第２マッピングデータにしたがう第２デコーディング結果に基づいて前記読み出されたデータのエラーを訂正する。
【００３１】
実施形態として、前記格納装置はフラッシュメモリを含む。
【００３２】
実施形態として、前記格納装置及び前記コントローラはメモリカードを形成する。
【００３３】
実施形態として、前記格納装置及び前記コントローラはソリッドステートドライブ（ＳＳＤ、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を形成する。
【００３４】
実施形態として、前記エラーの訂正が失敗する時、前記メモリは前記格納装置から追加に読み出されたデータを受信して格納し、前記対数尤度比マッパは前記データ及び追加に読み出されたデータに対数尤度比をマッピングして第３マッピングデータを出力し、前記判定部は前記第３マッピングデータに基づいてデコーディングを遂行する。
【００３５】
実施形態として、前記エラー訂正コードデコーダーは前記格納装置に格納された使用者データのエラーを訂正し、前記コントローラは前記格納装置に格納されたメタデータのエラーを訂正するメタデータ用エラー訂正コードデコーダーをさらに含む。
【００３６】
実施形態として、前記メタデータ用エラー訂正コードデコーダーはＢＣＨ（Ｂｏｓｅ−Ｃｈａｕｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ）コードの利用してエラーを訂正する。
【００３７】
実施形態として、前記コントローラ及び格納装置は複数の（ｋ個、ｋは量の整数）チャンネルを通じて互に通信し、前記エラー訂正コードデコーダーは前記複数のチャンネルの中で１つのチャンネルを通じて通信されるデータのエラーを訂正し、前記コントローラは前記複数のチャンネルの中で残りチャンネルを通じて通信されるデータのエラーを各々訂正する複数の（ｋ−１個）エラー訂正コードデコーダーをさらに含む。
【発明の効果】
【００３８】
本発明によれば、読出しデータ及び信頼性データに基づいて硬判定が遂行される。硬判定の信頼性が向上されて軟判定が発生する頻度が減少するので、向上された信頼性を有し、より少ない資源を消耗する格納装置からのデータ読出し方法、エラー訂正装置、及びエラー訂正コードデコーダーを含む格納システムが提供される。
【図面の簡単な説明】
【００３９】
【図１】本発明の実施形態による格納システムを示すブロック図である。
【図２Ａ】読出しの時に、遂行される本発明の実施形態によるエラー訂正デコーディング方法を示すフローチャートである。
【図２Ｂ】正常読出し電圧と部分読出し電圧との例を示す。
【図３】本発明の実施形態によるエラー訂正コードデコーダーを示すブロック図である。
【図４】図３のエラー訂正コードデコーダーで使用されるパリティー検査行列の例を示す。
【図５】図４のパリティー検査行列から導出されるファクタグラフを示す。
【図６】読出しの時に、エラー訂正コードデコーダーのエラー訂正方法を示すフローチャートである。
【図７】デコーディングを遂行する方法をさらに詳細に示すフローチャートである。
【図８】図７の初期化段階を説明するためのファクタグラフを示す。
【図９】初期化の時の演算空間を示す。
【図１０】検査ノードが更新される過程を示す。
【図１１】検査ノードの更新方法にしたがう演算空間を示す。
【図１２】検査ノードの更新方法にしたがう演算空間を示す。
【図１３】変数ノードが更新される過程を示す。
【図１４】変数ノードの更新方法にしたがう演算空間を示す。
【図１５】変数ノードの更新方法にしたがう演算空間を示す。
【図１６】読出し及び信頼性情報メモリの例を示す図面である。
【図１７】信頼性ビットを生成する方法をさらに詳細に示すフローチャートである。
【図１８】信頼性ビットが生成される過程を示す。
【図１９】信頼性ビットが生成される過程を示す。
【図２０】硬判定対数尤度比レジスターに格納されたマッピング情報の例を示す。
【図２１】検査ノードが更新される方法を示す。
【図２２】変数ノードが更新される方法を示す。
【図２３】デコーディングを遂行する方法の他の例を示すフローチャートである。
【図２４】図１の格納システムの他の例を示すブロック図である。
【図２５】図１の格納システムの応用例を示すブロック図である。
【図２６】本発明の実施形態によるメモリカードを示す。
【図２７】本発明の実施形態によるソリッドステートドライブを示す。
【図２８】図２５を参照して説明された格納システムを含むコンピューティングシステムを示すブロック図である。
【発明を実施するための形態】
【００４０】
以下で、本発明が属する技術分野で通常の知識を有する者が本発明の技術的思想を容易に実施できるように詳細に説明するために、本発明の実施形態を添付されたの図面を参照して説明する。
【００４１】
図１は本発明の実施形態による格納システム１０００を示すブロック図である。図１を参照すれば、格納システム１０００は格納装置１００及びコントローラ２００を含む。格納装置１００はフラッシュメモリを含む。即ち、格納装置１００はメモリセルの閾値電圧を調節することによって、データを格納する。
【００４２】
コントローラ２００はホスト及び格納装置１００に連結される。ホストからの要請に応答して、コントローラ２００は格納装置１００にアクセスするように構成される。例えば、コントローラ２００は格納装置１００の読出し、書込み、消去、及び背景（ｂａｃｋｇｒｏｕｎｄ）動作を制御するように構成される。コントローラ２００は格納装置１００及びホストの間にインターフェイスを提供するように構成される。コントローラ２００は格納装置１００を制御するためのファームウェア（ｆｉｒｍｗａｒｅ）を駆動するように構成される。
【００４３】
例示的に、コントローラ２００は格納装置１００へ制御信号及びアドレスを提供するように構成される。そして、コントローラ２００は格納装置１００とデータを交換するように構成される。
【００４４】
コントローラ２００はエラー訂正コードデコーダー３００を含む。エラー訂正コードデコーダー３００は格納装置１００から読み出されるデータに対してエラー訂正コード（ＥＣＣ：Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）を利用するデコーディングを遂行する。エラー訂正コードデコーダー３００はデコーディングを遂行して、読み出されたデータのエラーを訂正する。エラー訂正コードデコーダー３００はＬＤＰＣ（Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）コードを利用してデコーディングを遂行する。
【００４５】
コントローラ２００は特定な通信規格によってホストと通信する。例えば、コントローラ２００はＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＭＭＣ（ｍｕｌｔｉｍｅｄｉａ  ｃａｒｄ）、ＰＣＩ（ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）、ＰＣＩ−Ｅ（ＰＣＩ−ｅｘｐｒｅｓｓ）、ＡＴＡ（Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）、Ｓｅｒｉａｌ−ＡＴＡ、Ｐａｒａｌｌｅｌ−ＡＴＡ、ＳＣＳＩ（ｓｍａｌｌ  ｃｏｍｐｕｔｅｒ  ｓｍａｌｌ  ｉｎｔｅｒｆａｃｅ）、ＥＳＤＩ（ｅｎｈａｎｃｅｄ  ｓｍａｌｌ  ｄｉｓｋ  ｉｎｔｅｒｆａｃｅ）、ＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）、及びファイアーワイヤ（Ｆｉｒｅｗｉｒｅ）等のような多様な通信規格の中で少なくとも１つを通じてホストと通信する。
【００４６】
コントローラ２００及び格納装置１００は１つの半導体装置に集積され得る。例示的に、コントローラ２００及び格納装置１００は１つの半導体装置に集積されてソリッドステートドライブ（ＳＳＤ：Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を構成する。コントローラ２００及び格納装置１００は１つの半導体装置に集積されてメモリカードを構成する。例えば、コントローラ２００及び格納装置１００は１つの半導体装置に集積されてＰＣカード（ＰＣＭＣＩＡ、ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ  ｍｅｍｏｒｙ  ｃａｒｄ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ａｓｓｏｃｉａｔｉｏｎ）、コンパクトフラッシュ(登録商標)カード（ＣＦ）、スマートメディアカード（ＳＭ、ＳＭＣ）、メモリスティック、マルチメディアカード（ＭＭＣ、ＲＳ−ＭＭＣ、ＭＭＣｍｉｃｒｏ）、ＳＤカード（ＳＤ、ｍｉｎｉＳＤ、ｍｉｃｒｏＳＤ、ＳＤＨＣ）、ユニバーサルフラッシュ記憶装置（ＵＦＳ）等のようなメモリカードを構成する。
【００４７】
他の例として、格納システム１０００はコンピューター、ＵＭＰＣ（Ｕｌｔｒａ  Ｍｏｂｉｌｅ  ＰＣ）、ワークステーション、ネットブック（ｎｅｔ−ｂｏｏｋ）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、ポータブル（ｐｏｒｔａｂｌｅ）コンピューター、ウェブタブレット（ｗｅｂ  ｔａｂｌｅｔ）、タブレットコンピューター（ｔａｂｌｅｔ  ｃｏｍｐｕｔｅｒ）、無線電話機（ｗｉｒｅｌｅｓｓ  ｐｈｏｎｅ）、モバイルフォン（ｍｏｂｉｌｅ  ｐｈｏｎｅ）、スマートフォン（ｓｍａｒｔ  ｐｈｏｎｅ）、ｅ−ブック（ｅ−ｂｏｏｋ）、ＰＭＰ（ｐｏｒｔａｂｌｅ  ｍｕｌｔｉｍｅｄｉａ  ｐｌａｙｅｒ）、携帯用ゲーム機、ナビゲーション（ｎａｖｉｇａｔｉｏｎ）装置、ブラックボックス（ｂｌａｃｋ  ｂｏｘ）、デジタルカメラ（ｄｉｇｉｔａｌ  ｃａｍｅｒａ）、ＤＭＢ（Ｄｉｇｉｔａｌ  Ｍｕｌｔｉｍｅｄｉａ  Ｂｒｏａｄｃａｓｔｉｎｇ）再生器、３次元テレビジョン（３−ｄｉｍｅｎｓｉｏｎａｌ  ｔｅｌｅｖｉｓｉｏｎ）、スマートテレビジョン（ｓｍａｒｔ  ｔｅｌｅｖｉｓｉｏｎ）、デジタル音声録音機（ｄｉｇｉｔａｌ  ａｕｄｉｏ  ｒｅｃｏｒｄｅｒ）、デジタル音声再生器（ｄｉｇｉｔａｌ  ａｕｄｉｏ  ｐｌａｙｅｒ）、デジタル映像  録画器（ｄｉｇｉｔａｌ  ｐｉｃｔｕｒｅ  ｒｅｃｏｒｄｅｒ）、デジタル映像再生器（ｄｉｇｉｔａｌ  ｐｉｃｔｕｒｅ  ｐｌａｙｅｒ）、デジタル動画録画器（ｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｒｅｃｏｒｄｅｒ）、デジタル動画再生器（ｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｐｌａｙｅｒ）、データセンターを構成するストレージ、情報を無線環境で送受信する装置、ホームネットワークを構成する多様な電子装置の中の１つ、コンピューターネットワークを構成する多様な電子装置の中の１つ、テレマティクスネットワークを構成する多様な電子装置の中の１つ、ＲＦＩＤ装置、又はコンピューティングシステムを構成する多様な構成要素の中の１つ等を構成する。
【００４８】
例示的に、格納装置１００又は格納システム１０００は多様な形態のパッケージに実装され得る。例えば、格納装置１００又は格納システム１０００はＰｏＰ（Ｐａｃｋａｇｅ  ｏｎ  Ｐａｃｋａｇｅ）、Ｂａｌｌ  ｇｒｉｄ  ａｒｒａｙｓ（ＢＧＡｓ）、Ｃｈｉｐ  ｓｃａｌｅ  ｐａｃｋａｇｅｓ（ＣＳＰｓ）、Ｐｌａｓｔｉｃ  Ｌｅａｄｅｄ  Ｃｈｉｐ  Ｃａｒｒｉｅｒ（ＰＬＣＣ）、Ｐｌａｓｔｉｃ  Ｄｕａｌ  Ｉｎ  Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＰＤＩＰ）、Ｄｉｅ  ｉｎ  Ｗａｆｆｌｅ  Ｐａｃｋ、Ｄｉｅ  ｉｎ  Ｗａｆｅｒ  Ｆｏｒｍ、Ｃｈｉｐ  Ｏｎ  Ｂｏａｒｄ（ＣＯＢ）、Ｃｅｒａｍｉｃ  Ｄｕａｌ  Ｉｎ  Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＣＥＲＤＩＰ）、Ｐｌａｓｔｉｃ  Ｍｅｔｒｉｃ  Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋ（ＭＱＦＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＳＯＩＣ）、Ｓｈｒｉｎｋ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ（ＳＳＯＰ）、Ｔｈｉｎ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＴＳＯＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｙｓｔｅｍ  Ｉｎ  Ｐａｃｋａｇｅ（ＳＩＰ）、Ｍｕｌｔｉ  Ｃｈｉｐ  Ｐａｃｋａｇｅ（ＭＣＰ）、Ｗａｆｅｒ−ｌｅｖｅｌ  Ｆａｂｒｉｃａｔｅｄ  Ｐａｃｋａｇｅ（ＷＦＰ）、Ｗａｆｅｒ−Ｌｅｖｅｌ  Ｐｒｏｃｅｓｓｅｄ  Ｓｔａｃｋ  Ｐａｃｋａｇｅ（ＷＳＰ）等のような方式にパッケージ化されて実装され得る。
【００４９】
図２Ａは読出しの時に、遂行される本発明の実施形態によるエラー訂正デコーディング方法を示すフローチャートである。図１及び図２Ａを参照すれば、Ｓ１１０段階で、正常読出し電圧を利用してデータが格納装置１００から読み出される。コントローラ２００は読出しコマンド及びアドレスを発生し、発生された読出しコマンド及びアドレスを格納装置１００へ伝送する。格納装置１００は読出しコマンド及びアドレスに応答して正常読出し電圧を利用してデータを読み出すことができる。読み出されたデータはコントローラ２００へ伝送され得る。
【００５０】
Ｓ１２０段階で、硬判定（Ｈａｒｄ  Ｄｅｃｉｓｉｏｎ）が遂行される。コントローラ２００のエラー訂正コードデコーダー３００は格納装置１００で正常読出し電圧を利用して読み出されたデータ（以下で、第１読出しデータ）、即ち正常読出し電圧を利用して読み出されたデータを、エラー訂正コードを利用してデコーディングする。
【００５１】
Ｓ１３０段階で、硬判定されたデータが正しいデータ、即ちエラーが全て訂正されたデータであるか否かが判別される。例えば、コントローラ２００は硬判定されたデータ及びパリティー検査行列（Ｐａｒｉｔｙ  Ｃｈｅｃｋ  Ｍａｔｒｉｘ）を利用して硬判定されたデータが正しいデータであるか否かを判別する。例えば、硬判定されたデータとパリティー検査行列の演算結果が‘０’である時、硬判定されたデータは正しいデータであると判別され得る。硬判定されたデータとパリティー検査行列の演算結果が‘０’ではない時、硬判定されたデータは正しいデータではないと判別され得る。
【００５２】
硬判定されたデータが正しいデータである時、エラー訂正デコーディングは終了され得る。硬判定されたデータはエラー訂正されたデータとしてコントローラ２００外部へ出力されるか、或いはコントローラ２００の内部で使用され得る。
【００５３】
硬判定されたデータが正しいデータではない時、Ｓ１４０段階が遂行される。Ｓ１４０段階で、部分（ｆｒａｃｔｉｏｎａｌ）読出し電圧を利用してデータが読み出される。例えば、正常読出し電圧を利用して読み出されたメモリセルで、部分読出し電圧を利用して追加的な読出しが遂行され得る。部分読出し電圧は正常読出し電圧と異なるレベルを有することができる。
【００５４】
Ｓ１５０段階で、軟判定（Ｓｏｆｔ  Ｄｅｃｉｓｉｏｎ）が遂行される。軟判定は第１読出しデータに部分読出し電圧を利用して読み出されたデータが追加されたデータ（以下で、第２読出しデータ）に基づいて遂行できる。正常読出し電圧と部分読出し電圧とは互に異なるレベルを有することができる。正常読出し電圧と部分読出し電圧との例が図２Ｂに図示されている。
【００５５】
図２Ｂで、横軸はメモリセルの閾値電圧を示し、縦軸はメモリセルの数を示す。即ち、図２Ｂはメモリセルの閾値電圧散布を示す。例示的に、メモリセルは消去状態Ｅ及び第１乃至第３プログラム状態Ｐ１〜Ｐ３を有することができる。
【００５６】
正常読出し電圧ＶＲＮの各々は隣接する２つの論理状態の間のレベルを有することができる。部分読出し電圧ＶＲＮ１、ＶＲＮ２の各々は隣接する２つの論理状態の間のレベルを有するが、正常読出し電圧ＶＲＮと異なるレベルを有することができる。
【００５７】
メモリセルが正常読出し電圧ＶＲＮによって読み出される時の結果と部分読出し電圧ＶＲＮ１、ＶＲＮ２によって読み出される時の結果とは互に異なり得る。例えば、メモリセルの中で正常的な論理状態の電圧分布より低いか、或いは高い閾値電圧を有するテール（ｔａｉｌ）セルが存在する。テールセルの読出し結果は正常読出し電圧ＶＲＮによって読み出される時と部分読出し電圧ＶＲＮ１、ＶＲＮ２によって読み出される時とが互に異なり得る。即ち、部分読出し電圧を利用して追加的な読出しが遂行されれば、メモリセルの閾値電圧に対する追加的な情報（例えば、テールセルに対する情報）が獲得され得る。
【００５８】
メモリセルの閾値電圧に対する追加的な情報が獲得されれば、メモリセルが格納するデータが第１状態（例えば、‘１’）又は第２状態（例えば、‘０’）である確率（又は尤度比：ｌｉｋｅｌｉｈｏｏｄ  ｒａｔｉｏ）の正確性が増加する。即ち、判定の信頼性が増加する。コントローラ２００は第２読出しデータ、即ち格納装置１００で複数回の読出しを通じて読み出されたデータと正常読出し電圧によって得た硬判定データを利用して軟判定を遂行する。
【００５９】
Ｓ１６０段階で、軟判定されたデータが正しいデータ、即ちエラーが全て訂正されたデータであるか否かが判別される。例えば、コントローラ２００は軟判定されたデータ及びパリティー検査行列（Ｐａｒｉｔｙ  Ｃｈｅｃｋ  Ｍａｔｒｉｘ）を利用して軟判定されたデータが正しいデータであるか否かを判別する。軟判定されたデータとパリティー検査行列の演算結果が‘０’である時、軟判定されたデータは正しいデータであると判別され得る。軟判定されたデータとパリティー検査行列の演算結果が‘０’ではない時、軟判定されたデータは正しいデータではないと判別され得る。軟判定されたデータとパリティー検査行列の演算、及び上述された硬判定されたデータとパリティー検査行列の演算は同一の方法に遂行できる。
【００６０】
軟判定されたデータが正しいデータである時、エラー訂正デコーディングは終了され得る。軟判定されたデータはエラー訂正されたデータとしてコントローラ２００の外部へ出力されるか、或いはコントローラ２００の内部で使用され得る。
【００６１】
軟判定されたデータが正しいデータではない時、コントローラ２００は読出しエラーとして処理する。コントローラ２００は読出しエラーを内部で処理するか、或いはホストに報告する。コントローラ２００は予め定まれたプロセスにしたがって、読出しエラーを処理する。
【００６２】
上述したように、格納装置１００で読出しが遂行されれば、硬判定が遂行される。硬判定が失敗すれば、格納装置１００で少なくとも１回の読出しがさらに遂行され、軟判定が遂行される。軟判定は硬判定と比較して追加的な読出しを必要とする。軟判定を通じてエラーが訂正される時に消耗される資源（時間、格納装置１００のストレス等）は硬判定を通じてエラーが訂正される時に消耗される資源（時間、格納装置１００のストレス等）より大きい。したがって、硬判定の正確性が増加して軟判定が遂行される回数が減少すれば、読出しの時に、格納装置１００で消耗される資源（時間、格納装置１００のストレス等）が減少され得る。本発明は向上された正確性を有する硬判定方法及び装置を提供して読出しの時に、より少ない資源（時間、格納装置１００のストレス等）を消耗する読出し方法及び格納システムを提供する。
【００６３】
図３は本発明の実施形態によるエラー訂正コードデコーダー３００を示すブロック図である。図３を参照すれば、エラー訂正コードデコーダー３００は読出し及び信頼性情報メモリ３１０、初期対数尤度比マッパ（Ｉｎｉｔｉａｌ  Ｌｏｇ−ｌｉｋｅｈｏｏｄ  ｒａｔｉｏ（ＬＬＲ）  ｍａｐｐｅｒ）３２０、判定部３３０、及び対数尤度比信頼性更新器３６０を含む。
【００６４】
読出し及び信頼性情報メモリ３１０は格納装置１００から読み出された読出しデータを格納する。硬判定ＨＤが遂行される時、読出し及び信頼性情報メモリ３１０は正常読出しを通じて読み出されたデータを格納装置１００から受信し、第１読出しデータＹ１として格納する。正常読出しとは図２Ｂの正常読出し電圧を利用して読み出す動作を意味する。また、硬判定ＨＤが遂行される時、読出し及び信頼性情報メモリ３１０は対数尤度比信頼性更新器３６０から対数尤度比の信頼性を示すデータを受信し、信頼性データＲＤとして格納する。第１読出しデータＹ１及び信頼性データＲＤは共に格納されて第３読出しデータＹ３を形成する。
【００６５】
また、軟判定ＳＤが遂行される時、読出し及び信頼性情報メモリ３１０は追加的な読出しを通じて読み出されたデータを格納装置１００から受信し、格納する。即ち、軟判定ＳＤが遂行される時では、読出し及び信頼性情報メモリ３１０は硬判定ＨＤが遂行される時に、格納された第１読出しデータＹ１及び追加的に格納されたデータを第２読出しデータＹ２として格納する。
【００６６】
初期対数尤度比マッパ３２０は読出し及び信頼性情報メモリ３１０に格納された読出しデータに初期対数尤度比（Ｉｎｉｔｉａｌ  Ｌｏｇ−Ｌｉｋｅｌｉｈｏｏｄ  Ｒａｔｉｏ）をマッピング（ｍａｐｐｉｎｇ）するように構成される。初期対数尤度比マッパ３２０は硬判定ＨＤの時に、マッピングされる対数尤度比を格納する硬判定対数尤度比レジスター３２１、及び軟判定ＳＤの時に、マッピングされる対数尤度比を格納する軟判定対数尤度比レジスター３２３を含む。
【００６７】
一例として、硬判定の時に、初期対数尤度比マッパ３２０は読出し及び信頼性情報メモリ３１０から第１読出しデータＹ１を受信する。初期対数尤度比マッパ３２０は硬判定対数尤度比レジスター３２１に格納された対数尤度比、及び第１読出しデータＹ１の各ビットの値に基づいて、対数尤度比をマッピングする。例えば、初期対数尤度比マッパ３２０は第１読出しデータＹ１の中で特定メモリセルから読み出されたビットの値にしたがって該当ビットの対数尤度比をマッピングする。マッピング結果は第１マッピングデータＦｎ１へ出力される。
【００６８】
他の例として、硬判定の時に、初期対数尤度比マッパ３２０は読出し及び信頼性情報メモリ３１０から第３読出しデータＹ３を受信する。第３読出しデータＹ３が受信される時、初期対数尤度比マッパ３２１は硬判定レジスター３２１を参照して対数尤度比をマッピングする。マッピング結果は第３マッピングデータＦｎ３である。
【００６９】
軟判定の時に、初期対数尤度比マッパ３２０は読出し及び信頼性情報メモリ３１０から第２読出しデータＹ２を受信する。初期対数尤度比マッパ３２０は軟判定対数尤度比レジスター３２３に格納された対数尤度比、及び第２読出しデータＹ２の各要素のビットに基づいて、対数尤度比をマッピングする。
【００７０】
例示的に、第１読出しデータＹ１の１つのビットは格納装置１００の１つのメモリセルで遂行された１回の読出し結果である。第２読出しデータＹ２の各要素のビットは、１つのメモリセルで遂行された１回の読出し結果と追加的な読出しの結果を含む。初期対数尤度比マッパ３２０は第２読出しデータＹ２の各要素のビットに基づいて、対数尤度比をマッピングする。マッピング結果は第２マッピングデータＦｎ２へ出力される。
【００７１】
判定部３３０は硬判定の時に、初期対数尤度比マッパ３２０から第１マッピングデータＦｎ１又は第３マッピングデータＦｎ３を受信し、軟判定の時に、初期対数尤度比マッパ３２０から第２マッピングデータＦｎ２を受信する。判定部３３０は受信された第１、第２、又は第３マッピングデータＦｎ１、Ｆｎ２、又はＦｎ３をデコーディングする。第１マッピングデータＦｎ１のデコーディング、第２マッピングデータＦｎ２のデコーディング、及び第３マッピングデータＦｎ３のデコーディングは同一の方法及び装置を利用して遂行される。
【００７２】
例示的に、硬判定対数尤度比レジスター３２１は第１読出しデータＹ１に対応する対数尤度比と第３読出しデータＹ３に対応する対数尤度比とを別に格納する。他の例として、硬判定対数尤度比レジスター３２１は第１読出しデータＹ１に対応する対数尤度比を格納し、軟判定対数尤度比レジスター３２３は第２読出しデータＹ２と第３読出しデータＹ３とに共通に対応する対数尤度比を格納する。即ち、第２読出しデータＹ２と第３読出しデータＹ３とは同一の対数尤度比にマッピングされ得る。
【００７３】
判定部３３０は更新器３４０及び暫定デコーダー３５０を含む。更新器３４０は複数の検査ノード（ｃｈｅｃｋ  ｎｏｄｅｓ）及び複数の変数ノード（ｖａｒｉａｂｌｅ  ｎｏｄｅｓ）の更新を遂行する。更新結果は暫定デコーダー３５０へ伝送される。
【００７４】
暫定デコーダー３５０は更新器３４０の更新結果（例えば、事後確率：ｐｏｓｔｅｒｉｏｒｉ  ｐｒｏｂａｂｉｌｉｔｙ）にしたがって、暫定デコーディングを遂行する。暫定デコーダー３５０はデコーディングされたデータとパリティー検査行列を演算し、演算結果にしたがって正しいデコーディングが遂行されたか否かを判別する。正しいデコーディングが遂行されたら、即ち格納装置１００で読み出されたデータのエラーが訂正されたら、暫定デコーダー３５０はデコーディングされたデータを最終データＸとして出力する。正しいデコーディングが遂行されなかったら、即ち格納装置１００で読み出されたデータのエラーが全て訂正されなかったら、暫定デコーダー３５０は更新器３４０を呼出する。暫定デコーダー３５０の呼出に応答して更新器３４０は検査ノード及び変数ノードの更新を再び遂行する。
【００７５】
更新器３４０の更新と暫定デコーダー３５０のデコーディングとは反復的に（ｉｎｔｅｒａｔｉｖｅｌｙ）遂行される。更新器３４０で遂行される検査ノードの更新と変数ノードの更新、及び暫定デコーダー３５０で遂行されるデコーディングは１つのデコーディングループを構成する。
【００７６】
判定部３３０で第１マッピングデータＦｎ１に基づいて硬判定ＨＤが遂行され、パリティー検査が失敗する時、暫定デコーダー３５０はデコーディング結果を対数尤度比信頼性更新器３６０へ伝送する。
【００７７】
対数尤度比信頼性更新器３６０はデコーディング結果を読出し及び信頼性情報メモリ３１０に格納された第１読出しデータＹ１と比較する。第１読出しデータＹ１の特定ビット、及び特定ビットと同一の位置のデコーディング結果のビットが同一の値を有する時、対数尤度比更新器３６０は特定ビットの信頼性が高いことを示す信頼性ビットを読出し及び信頼性情報メモリ３１０に格納する。第１読出しデータＹ１の特定ビット、そして特定ビットと同一の位置のデコーディング結果のビットが互に異なる値を有する時、対数尤度比更新器３６０は特定ビットの信頼性が低いことを示す信頼性ビットを信頼性データＲＤとして読出し及び信頼性情報メモリ３１０に格納する。
【００７８】
即ち、対数尤度比信頼性更新器３６０はデコーディングループが１回遂行される時、第１読出しデータＹ１の各ビットに対して１つの信頼性ビットを生成する。デコーディングループがｋ回遂行される時、第１読出しデータＹ１の各ビットに対応するｋ個の信頼性ビットが生成される。対数尤度比信頼性更新器３６０は予め定まれた数のデコーディングループの間に信頼性ビットを生成し、以後に信頼性ビットの生成を中止する。
【００７９】
硬判定遂行される時、第１読出しデータＹ１が読出し及び信頼性情報メモリ３１０に格納される。第１読出しデータＹ１に基づいて、初期対数尤度比マッパ３２０は対数尤度比をマッピングする。例示的に、第１読出しデータＹ１は数学式１である。
【００８０】
【数１】
2013141219.tif 000003
【００８１】
初期対数尤度比マッパ３２０は第１読出しデータＹ１の各ビットの値にしたがって大きさは同一であり、符号が異なる対数尤度比をマッピングする。例えば、初期対数尤度比マッパ３２０は第１読出しデータＹ１のビットが‘１’である時、該当ビットによって、‘＋Ｍ’の対数尤度比をマッピングする。第１読出しデータＹ１のビットが‘０’である時、初期対数尤度比マッパ３２０は該当ビットによって、‘−Ｍ’の対数尤度比をマッピングする。即ち、第１読出しデータＹ１に対数尤度比＋Ｍ、−Ｍがマッピングされた第１マッピングデータＦｎ１は数学式２である。
【００８２】
【数２】
2013141219.tif 000004
【００８３】
第１マッピングデータＦｎ１は判定部３３０へ伝送される。判定部３３０は第１マッピングデータＦｎ１にしたがって硬判定を遂行する。
【００８４】
軟判定遂行される時、第２読出しデータＹ２が読出し及び信頼性情報メモリ３１０に格納される。第２読出しデータＹ２に基づいて、初期対数尤度比マッパ３２０は対数尤度比をマッピングする。第２読出しデータＹ２は第１読出しデータＹ１のビット及びそれに対応する追加ビットを含む。例示的に、第２読出しデータＹ２は数学式３である。
【００８５】
【数３】
2013141219.tif 000005
【００８６】
第２読出しデータＹ２の各要素は３ビットを含む。各要素の第１番目ビットは第１読出しデータＹ１の各ビットである。各要素の残りビットは追加的な読出しの結果である。第２読出しデータＹ２の各要素が３ビットで構成されれば、各要素は‘０００’乃至‘１１１’の８つのパターンの中で１つを有する。初期対数尤度比マッパ３２０は第２読出しデータＹ２の各要素の値にしたがって、８つの対数尤度比の中で１つをマッピングする。第２読出しデータＹ２の各要素のビットの数は限定されない。
【００８７】
軟判定ＳＤを遂行するために、追加的な読出しを通じてメモリセルの閾値セルの情報が追加的に獲得される。追加情報に基づいて、多様な対数尤度比がマッピングされる。例えば、１つのメモリセルが第１番目読出しで‘１’に読み出されるが、追加的な読出しを通じて‘０’に近い閾値電圧を有する‘１’であると読み出される。このようなメモリセルは低い対数尤度比を有するようにマッピングされる。１つのメモリセルが第１番目読出しで‘１’として読み出され、追加的な読出しを通じて‘０’と大きい差異がある閾値電圧を有することと読み出される。このようなメモリセルは高い対数尤度比を有するようにマッピングされる。メモリセルの閾値電圧に対する追加情報を利用するので、軟判定ＳＤのデコーディング正確度は硬判定ＳＤのデコーディング正確度より高い。
【００８８】
本発明の実施形態によれば、第１読出しデータＹ１と信頼性ビットが形成する第３読出しデータＹ３とを利用してデコーディングが遂行される。第３読出しデータＹ３を利用するデコーディングは、第１読出しデータＹ１を利用する時のようなオーバーヘッドに、第２読出しデータＹ２を利用する時に近接する正確度を有する。
【００８９】
図４は図３のエラー訂正コードデコーダー３００で使用されるパリティー検査行列Ｈの例を示す。例示的に、パリティー検査行列Ｈの第１行に“１０１１１００”が順次的に配置され、第２行に“１１０１０１０”が順次的に配置され、第３行に“０１１１００１”が順次的に配置される。
【００９０】
パリティー検査行列Ｈの要素の中で第１行の要素、第２行の要素、及び第３行の要素は各々第１乃至第３検査ノードを形成する。パリティー検査行列Ｈの因子（Ｆａｃｔｏｒｓ）の中で第１乃至第７列の要素は各々第１乃至第７変数ノードを形成する。
【００９１】
説明を簡単にするために、第１乃至第３検査ノードの要素はパリティー検査行列Ｈの列の位置にしたがって参照記号ａ乃至ｇに表示される。また、第１乃至第７検査ノードの要素はパリティー検査行列Ｈの行の位置にしたがって参照記号ａ乃至ｃに表示される。
【００９２】
図４に示したように、パリティー検査行列Ｈの各要素は検査ノードであり、かつ変数ノードである。
【００９３】
エラー訂正コードデコーダー３００で使用されるパリティー検査行列Ｈは図４に図示された行列に限定されない。例えば、図４のパリティー検査行列Ｈより低い密度の“１”を有するパリティー検査行列がエラー訂正コードデコーダー３００で使用される。エラー訂正コードデコーダー３００で使用されるパリティー検査行列のサイズは図４に示したように３Ｘ７であることに限定されない。
【００９４】
図５は図４のパリティー検査行列Ｈから導出されるファクタグラフＦＧ１〜ＦＧ３を示す。図４及び図５を参照すれば、第１ファクタグラフＦＧ１は第１乃至第３検査ノードＣ１ａ、Ｃ２ａ、Ｃ３ａ、及び第１乃至第７変数ノードＶ１ａ、Ｖ２ａ、Ｖ３ａ、Ｖ４ａ、Ｖ５ａ、Ｖ６ａ、Ｖ７ａの間のファクタグラフを示す。
【００９５】
検査ノードＣ１ａ〜Ｃ３ａの中で‘１’を有する検査ノードＣ１ａ、Ｃ２ａは変数ノードＶ１ａ〜Ｖ７ａの中で‘１’を有する変数ノードＶ１ａ、Ｖ３ａ〜Ｖ５ａと連結関係を有し得り、相互間にメッセージを伝送する。例えば、‘１’を有する変数ノードＶ１ａは‘１’を有する全て検査ノードＣ１ａ、Ｃ２ａと連結関係を有する。‘１’を有する検査ノードＣ１ａは‘１’を有する全ての変数ノードＶ１ａ、Ｖ３ａ、Ｖ４ａ、Ｖ５ａと連結関係を有する。
【００９６】
検査ノードＣ１ａ〜Ｃ３ａの中で‘０’を有する検査ノードＣ３ａは変数ノードＶ１ａ〜Ｖ７ａの中で‘０’を有する変数ノードＶ２ａ、Ｖ６ａ、Ｖ７ａと連結関係を有し得るが、相互間にメッセージを伝送できない。
【００９７】
第２ファクタグラフＦＧ２は第１乃至第３検査ノードＣ１ｂ〜Ｃ３ｂと第１乃至第７変数ノードＶ１ｂ〜Ｖ７ｂとの間のファクタグラフを示す。検査ノードＣ１ｂ〜Ｃ３ｂの中で‘１’を有する検査ノードＣ２ｂ、Ｃ３ｂと変数ノードＶ１ｂ〜Ｖ７ｂの中で‘１’を有する変数ノードＶ１ｂ、Ｖ２ｂ、Ｖ４ｂ、Ｖ６ｂとは連結関係を有し得り、相互間にメッセージを伝送する。‘０’を有する検査ノードＣ１ｂと‘０’を有する変数ノードＶ３ｂ、Ｖ５ｂ、Ｖ７ｂとは連結関係を有するが、相互間にメッセージを伝送できない。
【００９８】
第３ファクタグラフＦＧ３は第１乃至第３検査ノードＣ１ｃ〜Ｃ３ｃと第１乃至第７変数ノードＶ１ｃ〜Ｖ７ｃとの間のファクタグラフを示す。検査ノードＣ１ｃ〜Ｃ３ｃの中で‘１’を有する検査ノードＣ１ｃ、Ｃ３ｃは変数ノードＶ１ｃ〜Ｖ７ｃの中で‘１’を有する変数ノードＶ２ｃ〜Ｖ４ｃ、Ｖ７ｃと連結関係を有し、互にメッセージを伝送する。検査ノードＣ１ｃ〜Ｃ３ｃの中で‘０’を有する検査ノードＣ２ｃは変数ノードＶ１ｃ〜Ｖ７ｃの中で‘０’を有する変数ノードＶ１ｃ、Ｖ５ｃ、Ｖ６ｃと連結関係を有するが、互にメッセージを伝送できない。
【００９９】
第１ファクタグラフＦＧ１で、パリティー検査行列Ｈの第ａ列の検査ノードＣ１ａ〜Ｃ３ａと第ａ行の変数ノードＶ１ａ〜Ｖ７ａとの間の関係が示される。同様に、第ａ行の変数ノードＶ１ａ〜Ｖ７ａは第ｂ乃至第ｇ列の検査ノードと各々ファクタグラフを形成する。
【０１００】
第２ファクタグラフＦＧ２で、パリティー検査行列Ｈの第ｂ列の検査ノードＣ１ｂ〜Ｃ３ｂと第ｂ行の変数ノードＶ１ｂ〜Ｖ７ｂとの間の関係が示される。同様に、第ｂ行の変数ノードＶ１ｂ〜Ｖ７ｂは第ａ、第ｃ乃至第ｇ列の検査ノードと各々ファクタグラフを形成する。
【０１０１】
第３ファクタグラフＦＧ３で、パリティー検査行列Ｈの第ｃ列の検査ノードＣ１ｃ〜Ｃ３ｃと第ｃ行の変数ノードＶ１ｃ〜Ｖ１ｃとの間の関係が示される。同様に、第ｃ行の変数ノードＶ１ｃ〜Ｖ７ｃは第ａ及び第ｂ、及び第ｄ乃至第ｇ列の検査ノードと各々ファクタグラフを形成する。
【０１０２】
図４及び図５で、パリティー検査行列Ｈとそれに基づいた検査ノード、変数ノード、及びファクタグラフが説明された。エラー訂正コードデコーダー３００は検査ノードと変数ノードとの間のメッセージ伝送に基づいてデコーディングを遂行する。
【０１０３】
図６は読出しの時に、エラー訂正コードデコーダー３００のエラー訂正方法を示すフローチャートである。例示的に、図２ＡのＳ１２０段階に該当する硬判定ＨＤ方法が図６に図示されている。図３及び図６を参照すれば、Ｓ２１０段階で、第１読出しデータＹ１の読出しビットを利用して第１デコーディングが遂行されて第１読出しデータＹ１の読出しビットに各々対応する信頼性ビットが生成される。第１読出しデータＹ１の１つの読出しビットに対して、２以上の信頼性ビットが生成される。第１デコーディングは低密度パリティー検査（ＬＤＰＣ）デコーディングである。第１デコーディングは正常読出し電圧を利用する読出し結果に基づいて遂行される硬判定ＨＤのデコーディングである。信頼性ビットは信頼性データＲＤを形成する。第１読出しデータＹ１及び信頼性データＲＤは第３読出しデータＹ３を形成する。
【０１０４】
Ｓ２２０段階で、第１読出しデータＹ１の読出しビット及び信頼性データＲＤの信頼性ビット、即ち第３読出しデータＹ３を利用して第２デコーディングが遂行される。第２デコーディングは低密度パリティー検査（ＬＤＰＣ）デコーディングである。第２デコーディングは正常読出し電圧を利用する読出し結果とこれに基づいた信頼性ビットに基づいて遂行される硬判定ＨＤのデコーディングである。
【０１０５】
図７はデコーディングを遂行する方法をさらに詳細に示すフローチャートである。図３及び図７を参照すれば、Ｓ３１０段階で初期化が遂行される。例えば、変数ノードから検査ノードへ伝送される初期Ｖ−Ｃメッセージが設定される。そして、第１読出しデータＹ１に初期対数尤度比がマッピングされて第１マッピングデータＦｎ１が生成され得る。
【０１０６】
Ｓ３２０段階で、対数尤度比の再マッピング条件が充足されるか否かを判別される。例えば、対数尤度比の再マッピング条件は第１読出しデータＹ１の１つのビットによって該当する信頼性ビットの数が予め設定された値に到達したか否かを含むことができる。即ち、信頼性ビットの数が予め設定された値に到達すれば、Ｓ３３０段階で第１読出しデータＹ１及び信頼性データＲＤに対数尤度比が再マッピングされて第３マッピングデータＦｎ３が生成され得る。
【０１０７】
対数尤度比の再マッピング条件は信頼性ビットの数が予め設定された値に到達した後に、デコーディングが遂行された回数が予め設定された値に到達したか否かを含むことができる。信頼性ビットの数が予め設定された値に到達し、以後に遂行されたデコーディングの回数が予め設定された値に到達すれば、Ｓ３３０段階で第１読出しデータＹ１及び信頼性データＲＤに対数尤度比が再マッピングされて第３マッピングデータＦｎ３が生成され得る。
【０１０８】
Ｓ３４０段階で、Ｖ−Ｃメッセージに基づいて検査ノードが更新される。更新結果は検査ノードから変数ノードへ伝送されるＣ−Ｖメッセージである。
【０１０９】
Ｓ３５０段階で、Ｃ−Ｖメッセージに基づいて変数ノードが更新される。更新結果は変数ノードから検査ノードへ伝送されるＶ−Ｃメッセージである。
【０１１０】
Ｓ３６０段階で、暫定デコーディング及びパリティー検査が遂行される。例えば、Ｓ３５０段階の変数ノードの更新結果にしたがって暫定デコーディングが遂行される。デコーディングされたデータ及びパリティー検査行列Ｈを利用してパリティー検査が遂行される。
【０１１１】
Ｓ３７０段階で、パリティー検査が成功したか否かを判別される。パリティー検査が成功すれば、Ｓ３８０段階で硬判定ＨＤが成功したと判定され、エラー訂正デコーディングは終了される。
【０１１２】
パリティー検査が失敗すれば、Ｓ３９１段階で、デコーディングループ回数が最大値に到達したか否かが判別される。デコーディングループ回数が最大値に到達すれば、Ｓ３９３段階で硬判定ＨＤが失敗したと判定され得る。デコーディングループ回数が最大値に到達しなかったら、Ｓ３９７段階で信頼性ビットが生成される。例えば、第１読出しデータＹ１の１つのビットに対して１つの信頼性ビットが生成される。以後に、Ｓ３２０段階が再び遂行される。
【０１１３】
例示的に、信頼性ビットの数の最大値は１又はそれより大きい数である。信頼性ビットの生成が完了されれば、第１読出しデータＹ１の各ビットに対して最大値に対応する数の信頼性ビットが生成される。
【０１１４】
信頼性ビットの数が最大値であり、Ｓ３９７段階で新しい信頼性ビットが生成される時、既存に格納された信頼性ビットの中で最も古い値が削除され得る。即ち、信頼性ビットの数が最大値に到達すれば、信頼性ビットはＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）の形態に管理され得る。
【０１１５】
Ｓ３１０段階の初期化は数学式４に基づいて遂行される。
【０１１６】
【数４】
2013141219.tif 000006
【０１１７】
ここで、Ｚｍｎは第ｎ変数ノードの中で第ｍ番目変数ノードから伝送されるメッセージを示す。例えば、Ｚ２１は第１変数ノードＶ１ａ、Ｖ１ｂ、Ｖ１ｃの中で第２番目変数ノードＶ１ｂから伝送されるメッセージを示す。
【０１１８】
第ｎ変数ノードが伝送するメッセージは第１マッピングデータＦｎ１の第ｎ番目要素の対数尤度比である。初期化が遂行されれば、変数ノードから検査ノードへ伝送される初期Ｖ−Ｃメッセージが生成される。例示的に、軟判定ＳＤが遂行される時、初期Ｖ−Ｃメッセージは第２マッピングデータＦｎ２である。
【０１１９】
図８は図７の初期化段階（Ｓ３１０）を説明するためのファクタグラフを示す。図８を参照すれば、第１ファクタグラフＦＧ１の第１変数ノードＶ１ａは第１及び第２検査ノードＣ１ａ、Ｃ２ａへメッセージを伝送する。数学式４にしたがって、第１変数ノードＶ１ａは第１マッピングデータＦｎ１の第１番目要素である対数尤度比‘−Ｍ’を初期メッセージとして伝送する。
【０１２０】
第２変数ノードＶ２ａは検査ノードＣ１ａ〜Ｃ３ａへメッセージを伝送しない。
【０１２１】
第３変数ノードＶ３ａは第１及び第２検査ノードＣ１ａ、Ｃ２ａへメッセージを伝送する。数学式４にしたがって、第３変数ノードＶ３ａは第１マッピングデータＦｎ１の３番目要素である対数尤度比‘Ｍ’を初期メッセージとして伝送する。
【０１２２】
同様に、第４変数ノードＶ４ａは第１及び第２検査ノードＣ１ａ、Ｃ２ａへ第１マッピングデータＦｎ１の第４番目要素である対数尤度比‘Ｍ’を初期メッセージとして伝送し、第５変数ノードＶ５ａは第１及び第２検査ノードＣ１ａ、Ｃ２ａへ第１マッピングデータＦｎ１の第五番目要素である対数尤度比‘Ｍ’を初期メッセージとして伝送する。第５及び第６変数ノードＶ６ａ、Ｖ７ａはメッセージを伝送しない。
【０１２３】
第２ファクタグラフＦＧ２で、第１変数ノードＶ１ｂは第２及び第３検査ノードＣ２ｂ、Ｃ３ｂへメッセージを伝送する。数学式４にしたがって、第１変数ノードＶ１ｂは第１マッピングデータＦｎ１の第１番目要素である対数尤度比‘−Ｍ’を初期メッセージとして伝送する。同様に、第２変数ノードＶ２ｂは第２及び第３検査ノードＣ２ｂ、Ｃ３ｂへ第１マッピングデータＦｎ１の第２番目要素である対数尤度比‘Ｍ’を初期メッセージとして伝送する。第４変数ノードＶ４ｂは第２及び第３検査ノードＣ２ｂ、Ｃ３ｂへ第１マッピングデータＦｎ１の第４番目要素である対数尤度比‘−Ｍ’を初期メッセージとして伝送する。第６変数ノードＶ６ｂは第２及び第３検査ノードＣ２ｂ、Ｃ３ｂへ第１マッピングデータＦｎ１の第６番目要素である対数尤度比‘Ｍ’を初期メッセージとして伝送する。
【０１２４】
第３ファクタグラフＦＧ３で、第２変数ノードＶ２ｃは第１及び第３検査ノードＣ１ｃ、Ｃ３ｃへ第１マッピングデータＦｎ１の第２番目要素である対数尤度比‘Ｍ’を初期メッセージとして伝送する。第３変数ノードＶ３ｃは第１及び第３検査ノードＣ１ｃ、Ｃ３ｃへ第１マッピングデータＦｎ１の第３番目要素である対数尤度比‘Ｍ’を初期メッセージとして伝送する。第４変数ノードＶ４ｃは第１及び第３検査ノードＣ１ｃ、Ｃ３ｃへ第１マッピングデータＦｎ１の第４番目要素である対数尤度比‘−Ｍ’を初期メッセージとして伝送する。第７変数ノードＶ７ｃは第１及び第３検査ノードＣ１ｃ、Ｃ３ｃへ第１マッピングデータＦｎ１の第７番目要素である対数尤度比‘Ｍ’を初期メッセージとして伝送する。
【０１２５】
変数ノードは第１マッピングデータＦｎ１の対数尤度比を初期メッセージとして検査ノードへ伝送する。変数ノードの各々は自分の値をメッセージとして伝送する。即ち、初期化の時に、変数ノードは第１マッピングデータＦｎ１の対数尤度比に更新されることと理解される。
【０１２６】
例示的に、図９に示したように、パリティー検査行列Ｈの第１行の変数ノードＶ１ａ〜Ｖ７ａの中で‘１’の値を有するノードは第１マッピングデータＦｎ１の同一の位置の対数尤度比に更新される。第２行の変数ノードＶ１ｂ〜Ｖ７ｂの中で‘１’の値を有するノードは第１マッピングデータＦｎ１の同一の位置の対数尤度比に更新される。第３行の変数ノードＶ１ｃ〜Ｖ７ｃの中で‘１’の値を有するノードは第１マッピングデータＦｎ１の同一の位置の対数尤度比に更新される。
【０１２７】
初期化（図７のＳ３１０段階）が遂行された後に、検査ノードの更新（Ｓ３３０段階）が遂行される。検査ノードが更新される過程が図１０に示されている。例示的に、対数尤度比再マッピング条件が充足されない時の検査ノードの更新が図１０に示される。
【０１２８】
図１０を参照すれば、検査ノードは変数ノードからＶ−Ｃメッセージを受信し、受信されたメッセージにしたがって更新される。検査ノードの更新された値は検査ノードから伝送されるＣ−Ｖメッセージである。即ち、検査ノードの更新は検査ノードの値の更新及びＣ−Ｖメッセージの生成を含む。検査ノードの更新は数学式５にしたがって遂行される。
【０１２９】
【数５】
2013141219.tif 000007
【０１３０】
第ｍ検査ノードの中で第ｎ番目検査ノードから伝送されるＣ−ＶメッセージＬｍｎは媒介変数Ｔｍｎに基づいた数式によって定義される。媒介変数ＴｍｎはＶ−ＣメッセージＺｍｎに基づいた数式によって定義される。
【０１３１】
検査ノードの各々は自分の値をＣ−Ｖメッセージとして伝送する。即ち、検査ノードの値はＣ−Ｖメッセージによって更新される。更新された検査ノードは自分の値をＣ−Ｖメッセージとして変数ノードへ伝送する。
【０１３２】
関数Ｎ（ｍ）はｍが選択される時、即ち更新される検査ノードＣ１、Ｃ２、又はＣ３が選択される時、選択された検査ノードＣ１、Ｃ２、又はＣ３の内のノード、即ち変数ノードを示す。
【０１３３】
式‘Ｎ（ｍ）＼ｎ’は選択された検査ノードＣ１、Ｃ２又はＣ３に対応する変数ノードの中で第ｎ番目ノードを除外したノードを示す。例えば、第２検査ノードＣ２ａ〜Ｃ２ｇの中で第２番目検査ノードＣ２ｂのメッセージが計算される時、‘ｎ’の値は２である。この時、計算式‘Ｎ（ｍ）＼ｎ’は選択された検査ノードＣ２に対応する変数ノードＶ１ｂ〜Ｖ１ｂ（第ｂ行の変数ノード）の中で変数ノードＣ２ｂ（第２番目変数ノード）を除外した残り変数ノードを示す。検査ノードＣｍｎのメッセージＴｍｎは第ｍ検査ノードＣｍに対応する変数ノードの中で第ｎ番目変数ノードを除外した変数ノードの値にしたがって計算される。
【０１３４】
更新される検査ノードが選択されれば、即ち変数ｍが選択されれば、選択された検査ノードに対応する変数ノード（例えば、選択された検査ノードを含む行の変数ノード）の中で更新される検査ノードと同一の位置の変数ノードを除外した残り変数ノードの値にしたがって、検査ノードのメッセージ（又は値）が更新される。
【０１３５】
数学式５の数式は複雑な指数（ｅｘｐｏｎｅｎｔｉａｌ）演算を含む。したがって、数学式５にしたがう演算を遂行するハードウェア、又はソフトウェアは演算時間及び電力消耗のようなオーバーヘッドを有する。
【０１３６】
複雑な指数演算を除去するために、数学式６の近似式が使用される。
【０１３７】
【数６】
2013141219.tif 000008
【０１３８】
数学式６を利用して、数学式５の複雑な指数（ｅｘｐｏｎｅｎｔｉａｌ）演算を除去した数学式７が検査ノードのアップデートのために使用される。
【０１３９】
【数７】
2013141219.tif 000009
【０１４０】
ここで、αは正規化因子（ｎｏｒｍａｌｉｚｅｄ  ｆａｃｔｏｒ）である。正規化因子（α）は数学式６の近似式を利用することにしたがう誤差を減らすために使用される。
【０１４１】
第ｍ検査ノードＣｍａ〜Ｃｍｇの中で第ｎ番目検査ノードＣｍｎのメッセージＬｍｎの大きさ（ｍａｇｎｉｔｕｄｅ）は検査ノードＣｍｎと同一行の変数ノードＶｍ１〜Ｖｍ７の中で検査ノードＣｍｎと同一の位置の変数ノードＶｍｎを除外した残り検査ノードの最小値に正規化因子（α）が掛けられた値である。
【０１４２】
第ｍ検査ノードＣｍａ〜Ｃｍｇの中で第ｎ番目検査ノードＣｍｎのメッセージＬｍｎの符号は第１及び第２媒介変数σｍｎ、σｎによって決定される。検査ノードに受信されたＶ−ＣメッセージＺｍｎが正の値を有する時、第１媒介変数σｍｎは１の値を有する。検査ノードに受信されたＶ−ＣメッセージＺｍｎが正の値を有しない時、第１媒介変数σｍｎは０の値を有する。
【０１４３】
第２媒介変数σｎは第１媒介変数σｍｎにしたがって決定される値を有する。第２媒介変数σｎの値は検査ノードに受信されたＶ−Ｃメッセージにしたがって演算される第１媒介変数σｍｎの総合にモジュロ（ｍｏｄｕｌｏ）−２演算を遂行した結果である。即ち、第２媒介変数σｎの値は検査ノードに受信されるＶ−Ｃメッセージの中で正の値を有するメッセージの数にモジュロ−２演算を遂行した結果である。
【０１４４】
検査ノードに受信されたＶ−Ｃメッセージの中で正の値を有するメッセージの数が奇数である時、第２媒介変数σｎは１の値を有する。検査ノードに受信されたＶ−Ｃメッセージの中で正の値を有するメッセージの数が偶数である時、第２媒介変数σｎは０の値を有する。即ち、受信されたＶ−Ｃメッセージの中で正の値を有するメッセージの数が奇数である時、第ｍ検査ノードＣｍａ〜Ｃｍｇの中で第ｎ番目検査ノードＣｍｎのメッセージＬｍｎの符号はマイナス（−）に設定される。受信されたＶ−Ｃメッセージの中で正の値を有するメッセージの数が偶数である時、第ｍ検査ノードＣｍａ〜Ｃｍｇの中で第ｎ番目検査ノードＣｍｎのメッセージＬｍｎの符号はプラス（＋）に設定される。
【０１４５】
数学式５及び７を比較すれば、数学式７の演算が数学式５の演算より簡単である。即ち、検査ノードの更新の時のオーバーヘッドは数学式７にしたがう演算方法がさらに少ない。
【０１４６】
説明を簡単にするために、パリティー検査行列Ｈのような行列の形態を取り、第１マッピングデータＦｎ１によって初期化され、そして以後の検査ノードの更新と変数ノードの更新とを直観的に示す空間を演算空間ＯＳと称する。以下で、演算空間ＯＳを参照して検査ノードの更新及び変数ノードの更新が説明される。
【０１４７】
図１１及び図１２は検査ノードの更新方法にしたがう演算空間ＯＳを示す。
【０１４８】
図１１は第１番目列の検査ノードＣ１ａ、Ｃ２ａ、Ｃ３ａの更新方法を示す。数学式５又は数学式７に記載されたように、更新される検査ノードが選択されれば、即ち変数ｍが選択されれば、選択された検査ノード内の変数ノードの中で更新される検査ノードと同一の位置の変数ノードを除外した残り変数ノードの値にしたがって、検査ノードのメッセージ（又は値）が更新される。
【０１４９】
第１検査ノードＣ１に対応する変数ノードＶ１ａ〜Ｖ７ａの中で０の値を有する変数ノードはメッセージを伝送できない。したがって、検査ノードＣ１ａの更新はメッセージを伝送する変数ノードＶ３ａ、Ｖ４ａ、Ｖ５ａからのメッセージにしたがって遂行される。検査ノードＣ１ａの更新は数学式５又は数学式７にしたがって遂行される。数学式５又は数学式７の演算結果が検査ノードＣ１ａの新しい値（又はメッセージ）に更新される。
【０１５０】
同様に、検査ノードＣ２ａは変数ノードＶ２ｂ、Ｖ４ｂ、Ｖ６ｂから伝送されるメッセージにしたがって更新される。
【０１５１】
検査ノードＣ３ａは０の値を有するので、メッセージを受信できない。したがって、検査ノードＣ３ａは更新されない。
【０１５２】
図１２は第２番目列の検査ノードＣ１ｂ、Ｃ２ｂ、Ｃ３ｂの更新方法を示す。数学式５又は数学式７に記載されたように、更新される検査ノードが選択されれば、即ち変数ｍが選択されれば、選択された検査ノード内の変数ノードＶｍ１〜Ｖｍ７の中で更新される検査ノードと同一の位置の変数ノードを除外した残り変数ノードの値にしたがって、検査ノードのメッセージ（又は値）が更新される。
【０１５３】
第２検査ノードＣ２の変数ノードＶ１ｂ〜Ｖ７ｂの中で０の値を有する変数ノードはメッセージを伝送できない。したがって、検査ノードＣ２ｂの更新はメッセージを伝送する変数ノードＶ１ｂ、Ｖ４ｂ、Ｖ６ｂからのメッセージにしたがって遂行される。検査ノードＣ２ｂの更新は数学式５又は数学式７にしたがって遂行される。数学式５又は数学式７の演算結果が検査ノードＣ２ｂの新しい値（又はメッセージ）に更新される。
【０１５４】
同様に、検査ノードＣ３ｂは変数ノードＶ３ｃ、Ｖ４ｃ、Ｖ７ｃから伝送されるメッセージにしたがって更新される。
【０１５５】
検査ノードＣ１ｂは０の値を有するので、メッセージを受信できない。したがって、検査ノードＣ１ｂは更新されない。
【０１５６】
同一の方法に、第３列乃至第７列の検査ノードの更新が遂行される。
【０１５７】
図１１及び図１２を参照して説明されたように、特定な検査ノードが更新される時、特定な検査ノードと同一の行の変数ノードの中で特定な検査ノードと同一の位置の変数ノードを除外した残り変数ノードのメッセージにしたがって、数学式５又は数学式７の演算が遂行される。演算の結果は特定な検査ノードの値（又はメッセージ）に更新される。
【０１５８】
検査ノードの更新（図７のＳ３４０段階）が遂行された後に、変数ノードの更新（Ｓ３５０段階）が遂行される。変数ノードが更新される過程が図１３に図示されている。例示的に、対数尤度比再マッピング条件が充足されない時の変数ノードの更新が図１３に図示される。
【０１５９】
図１３を参照すれば、変数ノードは検査ノードからＣ−Ｖメッセージを受信し、受信されたメッセージにしたがって更新される。変数ノードの更新された値は変数ノードから伝送されるＶ−Ｃメッセージである。即ち、変数ノードの更新は変数ノードの値の更新及びＶ−Ｃメッセージの生成を含む。変数ノードの更新は数学式８にしたがって遂行される。
【０１６０】
【数８】
2013141219.tif 000010
【０１６１】
媒介変数Ｚｎは事後確率（Ｐｏｓｔｅｒｉｏｒｉ  Ｐｒｏｂａｂｉｌｉｔｙ）を示す。事後確率Ｚｎは該当位置の読出しデータ（例えば、第１読出しデータＹ１）が１である確率又は０である確率を示す。事後確率Ｚｎは特定変数ノードに受信された全てＣ−Ｖメッセージと特定変数ノードに対応する第１マッピングデータＦｎ１との合計である。
【０１６２】
特定変数ノードから伝送されるＶ−ＣメッセージＺｍｎは事後確率Ｚｎ、そして特定変数ノードと同一位置の検査ノードから伝送されたＣ−ＶメッセージＬｍｎとの差である。
【０１６３】
図１４及び図１５は変数ノードの更新方法にしたがう演算空間ＯＳを示す。数学式８に記載されたように、更新される検査ノードが選択されれば、即ち変数ｎが選択されれば、選択された変数ノード内の検査ノードＣ１ｎ〜Ｃ３ｎの中で更新される変数ノードと同一の位置の検査ノードを除外した残り検査ノードのメッセージ（又は値）、そして第１マッピングデータＦｎ１の中で対応する位置の値にしたがって、変数ノードのメッセージ（又は値）が更新される。
【０１６４】
図１４で、第１番目行の変数ノードＶ１ａ〜Ｖ７ａの更新方法が図示される。第１変数ノードＶ１ａに対応する検査ノードＣ１ａ〜Ｃ３ａの中で０の値を有する検査ノードはメッセージを伝送できない。したがって、変数ノードＶ１ａの更新はメッセージを伝送する検査ノードＣ２ａ及び第１マッピングデータＦｎ１の値（−Ｍ）にしたがって遂行される。変数ノードＶ１ａの更新は数学式８にしたがって遂行される。数学式８の演算結果が変数ノードＶ１ａの新しい値（又はメッセージ）に更新される。
【０１６５】
同様に、変数ノードＶ３ａは検査ノードＣ３ｃから伝送されるメッセージと第１マッピングデータＦｎ１の値（Ｍ）にしたがって更新される。変数ノードＣａ４は検査ノードＣ２ｄ、Ｃ３ｄから伝送されるメッセージと第１マッピングデータＦｎ１の値（−Ｍ）にしたがって更新される。変数ノードＶ５ａは第１マッピングデータＦｎ１の値（Ｍ）にしたがって更新される。
【０１６６】
変数ノードＶ２ａ、Ｖ６ａ、Ｖ７ａは０の値を有するので、メッセージを受信できない。したがって、変数ノードＶ２ａ、Ｖ６ａ、Ｖ７ａは更新されない。
【０１６７】
図１５で、第２番目行の変数ノードＶ１ｂ〜Ｖ７ｂの更新方法が図示される。第１変数ノードＶ１ｂに対応する検査ノードＣ１ａ〜Ｃ３ａの中で０の値を有する検査ノードはメッセージを伝送できない。したがって、変数ノードＶ１ａの更新はメッセージを伝送する検査ノードＣ２ａ及び第１マッピングデータＦｎ１の値（−Ｍ）にしたがって遂行される。変数ノードＶ１ａの更新は数学式８にしたがって遂行される。数学式８の演算結果が変数ノードＶ１ａの新しい値（又はメッセージ）に更新される。
【０１６８】
同様に、変数ノードＶ２ｂは検査ノードＣ３ｂから伝送されるメッセージと第１マッピングデータＦｎ１の値（Ｍ）にしたがって更新される。変数ノードＣａ４は検査ノードＣ１ｄ、Ｃ３ｄから伝送されるメッセージと第１マッピングデータＦｎ１の値（−Ｍ）にしたがって更新される。変数ノードＶ６ｂは第１マッピングデータＦｎ１の値（Ｍ）にしたがって更新される。
【０１６９】
同一の方法で、第３行の変数ノードの更新が遂行される。
【０１７０】
図１４及び図１５を参照して説明されたように、特定な変数ノードが更新される時、特定な変数ノードと同一の列の検査ノードの中で特定な変数ノードと同一の位置の検査ノードを除外した残り変数ノードのメッセージ及び第１マッピングデータＦｎ１の値の合計が特定な変数ノードの値（又はメッセージ）に更新される。
【０１７１】
図７に示したように、変数ノードの更新（Ｓ３５０段階）が遂行された後に暫定デコーディング及びパリティー検査（Ｓ３６０段階）が遂行される。暫定デコーディングは事後確率Ｚｎに基づいて数学式９にしたがって遂行される。暫定デコーディングの結果はデコーディングされたデータ
【数９】
2013141219.tif 000011
である。
【０１７２】
【数１０】
2013141219.tif 000012
【０１７３】
特定位置の事後確率Ｚｎが０又は正の値である時、該当位置のデコーディングされたデータ
【数１１】
2013141219.tif 000013
は‘１’と判別される。特定位置の事後確率Ｚｎが負の値である時、該当位置のデコーディングされたデータ
【数１２】
2013141219.tif 000014
は‘０’と判別される。
【０１７４】
以後に、暫定デコーディングの結果にしたがってパリティー検査が遂行される。パリティー検査はデコーディングされたデータ
【数１３】
2013141219.tif 000015
及びパリティー検査行列に基づいて数学式１０にしたがって遂行される。
【０１７５】
【数１４】
2013141219.tif 000016
【０１７６】
デコーディングされたデータ
【数１５】
2013141219.tif 000017
及びパリティー検査行列が数学式１０を満足する時、デコーディングされたデータ
【数１６】
2013141219.tif 000018
は正しくデコーディングされ、パリティー検査は成功したと判別される。即ち、硬判定ＨＤが成功したと判別（Ｓ２６０段階）される。
【０１７７】
デコーディングされたデータ
【数１７】
2013141219.tif 000019
及びパリティー検査行列が数学式１０を満足しない時、デコーディングされたデータ
【数１８】
2013141219.tif 000020
は正しくデコーディングされなく、パリティー検査は失敗したと判別される。以後に、硬判定ＨＤの次にループが遂行されるか、或いは、軟判定ＳＤが遂行される。
【０１７８】
図１６は読出し及び信頼性情報メモリ３１０の例を示す図面である。図３及び図１６を参照すれば、読出し及び信頼性情報メモリ３１０は第１読出しデータＹ１を格納する第１格納領域Ｍ１、信頼性データＲＤを格納する第２格納領域Ｍ２と第３格納領域Ｍ３とを含む。
【０１７９】
信頼性データＲＤの各ビットは同一の位置の第１読出しデータＹ１のビットの信頼性を示す。
【０１８０】
読出し及び信頼性情報メモリ３１０は信頼性データＲＤをＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）の方法によって管理する。例えば、読出し及び信頼性情報メモリ３１０が最大値に該当する信頼性データＲＤを格納し、新しい信頼性データＲＤが生成される時、読出し及び信頼性情報メモリ３１０は最も古い信頼性データＲＤを削除し、新しい信頼性データＲＤを格納できる。
【０１８１】
例示的に、第２及び第３格納領域Ｍ２、Ｍ３は軟判定ＳＤが遂行される時、追加に読み出されたデータを格納する格納領域と同一であり得る。軟判定ＳＤの時に、追加データを格納する格納領域が信頼性データＲＤを格納するために使用されれば、信頼性データＲＤを格納するための別の格納領域が要求されない。
【０１８２】
図１７は信頼性ビットを生成する方法（図７のＳ３９７段階）をさらに詳細に示すフローチャートである。図１７を参照すれば、Ｓ４１０段階で第１読出しデータＹ１の読出しビットとデコーディングされたデータ
【数１９】
2013141219.tif 000021
のデコーディングされたビットが比較される。同一の位置の読出しビットとデコーディングされたビットが比較される。
【０１８３】
Ｓ４２０段階で、対応する位置でデコーディングされたビットと異なる値を有する読出しビットが検出される。例えば、第１読出しデータＹ１の第ｋ番目ビットの値が‘１’であり、デコーディングされたデータ
【数２０】
2013141219.tif 000022
の第ｋ番目ビットの値が‘０’であれば、第ｋ番目ビットが検出される。
【０１８４】
Ｓ４３０段階で、検出された読出しビットにしたがって弱い（ｗｅａｋ）信頼性ビットが生成される。例えば、‘０’が読出しビットの信頼性が低いことを示す弱い（ｗｅａｋ）信頼性信頼性ビットである時、Ｓ５２０段階で検出された読出しビットに対応する信頼性ビットは‘０’である。
【０１８５】
Ｓ４４０段階で、残り読出しビットにしたがって強い（ｓｔｒｏｎｇ）信頼性ビットが生成される。例えば、‘１’が読出しビットの信頼性が高いことを示す強い（ｓｔｒｏｎｇ）信頼性信頼性ビットである時、Ｓ５２０段階で検出されない読出しビットに対応する信頼性ビットは‘１’である。Ｓ４３０段階とＳ４４０段階は同時に遂行できる。
【０１８６】
図１８及び図１９は信頼性ビットが生成される過程を示す。図１８で、第１番目デコーディングループが遂行された場合が図示される。第１読出しデータＹ１とデコーディングされたデータ
【数２１】
2013141219.tif 000023
の比較を通じて第１番目信頼性ビットＲＤ＿１が生成される。信頼性ビットは第２格納領域Ｍ２に格納される。
【０１８７】
第１読出しデータＹ１の第１番目、第５番目、及び第６番目ビットはデコーディングされたデータ
【数２２】
2013141219.tif 000024
の第１番目、第５番目、及び第６番目ビットと各々異なる値を有する。したがって、第１番目信頼性ビットＲＤ＿１の第１番目、第５番目、及び第６番目ビットは弱い（ｗｅａｋ）信頼性ビット（例えば、‘０’）として生成される。
【０１８８】
第１読出しデータＹ１の第２番目乃至第４番目ビット、及び第７番目ビットはデコーディングされたデータ
【数２３】
2013141219.tif 000025
の第２番目乃・至第４番目ビット、及び第７番目ビットと各々同一の値を有する。したがって、第１番目信頼性ビットＲＤ＿１の第２番目乃至第４番目信頼性ビット、そして第７番目信頼性ビットは強い（Ｓｔｒｏｎｇ）信頼性ビット（例えば、‘１’）として生成される。
【０１８９】
図１９で、第２番目デコーディングループが遂行された場合が図示される。第１番目デコーディングループで生成された信頼性ビットは第２格納領域Ｍ２から第３格納領域Ｍ３へ移動される。第２番目デコーディングループで生成される信頼性ビットは第２格納領域Ｍ２に格納される。
【０１９０】
第１読出しデータＹ１の第３番目、第６番目、及び第７番目ビットはデコーディングされたデータ
【数２４】
2013141219.tif 000026
の第３番目、第６番目、及び第７番目ビットと各々異なる値を有する。したがって、第２番目信頼性ビットＲＤ＿２の第３番目、第６番目、及び第７番目信頼性ビットは弱い（ｗｅａｋ）信頼性ビットとして生成される。
【０１９１】
第１読出しデータＹ１の第１番目、第２番目、第４番目、及び第５番目ビットはデコーディングされたデータ
【数２５】
2013141219.tif 000027
の第１番目、第２番目、第４番目、及び第５番目ビットと各々同一の値を有する。したがって、第２番目信頼性ビットＲＤ＿２の第１番目、第２番目、第４番目、及び第５番目信頼性ビットは強い（ｓｔｒｏｎｇ）信頼性ビットとして生成される。
【０１９２】
強い（ｓｔｒｏｎｇ）信頼性ビットが‘１’であり、弱い（ｗｅａｋ）信頼性ビットが‘０’である時、第３読出しデータＹ３は数学式１１の形態に整理される。
【０１９３】
Ｙ３  ＝  ［０１０  １１１  １０１  ０１１  １１０  １００  １０１］
・・・＜数学式１１＞
【０１９４】
第３読出しデータＹ３の各要素の第１番目ビットは第１読出しデータＹ１の各ビットである。第３読出しデータＹ３の各要素の第２番目ビットは最も最近に遂行されたデコーディングループで生成された信頼性ビットである。第３読出しデータＹ３の各要素の第３番目ビットは最も最近のデコーディングループの直前に遂行されたデコーディングループで生成された信頼性ビットである。
【０１９５】
軟判定ＳＤの時に、使用される第２読出しデータＹ２と類似に、第３読出しデータＹ３は第１読出しデータＹ１の各ビットの信頼性を示す追加情報を含む。第３読出しデータＹ３は２＾３＝８個のパターンを有するので、より多い対数尤度比にマッピングされ得り、したがって硬判定ＨＤデコーディングの正確性が向上される。
【０１９６】
図２０は硬判定対数尤度比レジスター３２１に格納されたマッピング情報の例を示す。第１読出しデータＹ１が受信される時、硬判定対数尤度比レジスター３２１は上述したように２つの対数尤度比（＋Ｍ、−Ｍ）をマッピング情報に出力する。第３読出しデータＹ３が受信される時、硬判定対数尤度比レジスター３２１は図２０に図示されたようなマッピング情報を出力する。
【０１９７】
例示的に、信頼性が低い要素、即ち弱い（ｗｅａｋ）信頼性ビットを含む要素はさらに低い対数尤度比を有するようにマッピングされる。信頼性が高い要素、即ち強い（ｓｔｒｏｎｇ）信頼性ビットを含む要素はさらに高い対数尤度比を有するようにマッピングされる。
【０１９８】
例示的に、最も最近に生成された信頼性データＲＤの影響が増大されるように、対数尤度比Ｍ１〜Ｍ８が設定される。
【０１９９】
数学式１１の第３読出しデータＹ３に図２０のマッピング情報がマッピングされれば、第３マッピングデータＦｎ３は数学式１２である。
【０２００】
Ｆｎ３  ＝  ［Ｍ３  Ｍ８  Ｍ６  Ｍ４  Ｍ７  Ｍ５  Ｍ６］  ・・・＜数学式１２＞
【０２０１】
各対数尤度比は正の値又は負の値を有する。
【０２０２】
図２１は検査ノードが更新（Ｓ３４０段階）される方法を示す。例示的に、対数尤度比再マッピング条件が充足された時の検査ノードの更新方法が図２１に図示される。図２１を参照すれば、検査ノードは同一行の変数ノードの中で自分と同一の位置ではない変数ノードからメッセージを受信し、受信されたメッセージにしたがって更新される。対数尤度比が再マッピングされた第３マッピングデータＦｎ３が使用されないので、検査ノードの更新は図１０乃至図１２を参照して説明された方法と同一の方法に遂行される。
【０２０３】
図２２は変数ノードが更新（Ｓ３５０段階）される方法を示す。変数ノードは同一列の検査ノードの中で自分と同一の位置ではない変数ノード、そして自分と同一の位置の第３マッピングデータＦｎ３の要素からメッセージを受信し、受信されたメッセージにしたがって更新される。多様な対数尤度比（Ｍ１〜Ｍ８）が再マッピングされた第３マッピングデータＦｎ３が使用されることを除外すれば、検査ノードの更新は図１３乃至図１５を参照して説明された方法と同一の方法に遂行される。
【０２０４】
上述したように、本発明の実施形態によるエラー訂正デコーダー３００は格納装置１００で１回読み出された第１読出しデータＹ１をデコーディングして信頼性データＲＤを生成する。そして、第１読出し結果Ｙ１と信頼性データＲＤの組み合わせである第３読出しデータＹ３に基づいて対数尤度比が再マッピングされる。この時、低い信頼性を有する要素は低い対数尤度比を有するようにマッピングされ、高い信頼性を有する要素は高い対数尤度比を有するようにマッピングされる。低密度パリティー検査（ＬＤＰＣ）デコーディングが遂行される時、低い対数尤度比を有する要素は他の要素に及ぶ影響が少ない。高い対数尤度比を有する要素は他の要素に及ぶ影響が大きい。
【０２０５】
即ち、本発明によれば、信頼性が少ない要素の影響は減少し、信頼性が高い要素の影響は増加する。したがって、低密度パリティー検査（ＬＤＰＣ）デコーディング、より詳細には硬判定ＨＤデコーディングの正確性が向上される。
【０２０６】
上述された実施形態で、第１読出しデータＹ１の１つのビットによって２ビットの信頼性ビットが提供されると説明された。しかし、第１読出しデータＹ１の１つのビットによって提供される信頼性ビットの数は限定されない。
【０２０７】
上述された実施形態で、エラー訂正コードデコーダー３００は格納システム１０００の構成要素であると説明された。しかし、エラー訂正コードデコーダー３００は格納システム１０００で使用されることに限定されない。エラー訂正コードデコーダー３００はデータでエラーが発生する環境で多様に使用される。
【０２０８】
例示的に、軟判定ＳＤは図７に図示された方法と類似に遂行される。例示的に、対数尤度比再マッピング（Ｓ３２０段階及びＳ３３０段階）と信頼性ビットの生成段階（Ｓ３９７段階）が除去され、Ｓ３８０段階が軟判定成功に置換され、Ｓ３９３段階が軟判定失敗に置換され、そして軟判定失敗処理した後に読出しエラー（図２ＡのＳ１７０段階）処理が遂行されることを除外すれば、軟判定ＳＤは図７に図示された方法と同一の方法によって遂行される。
【０２０９】
例示的に、軟判定ＳＤの時に、使用される対数尤度比が第１読出しデータＹ１及び信頼性データＲＤにマッピングされる。即ち、Ｓ３３０段階で再マッピングされる対数尤度比と軟判定ＳＤの時に、マッピングされる対数尤度比は同一であり得る。
【０２１０】
例示的に、デコーディングが反復的に遂行される時、以前デコーディングループで計算されたノードの値が次にデコーディングループに使用される。
【０２１１】
図２３はデコーディングを遂行する方法の他の例を示すフローチャートである。図７のデコーディング方法と比較すれば、最大ループ判別段階（Ｓ５９１）と信頼性ビット生成段階（Ｓ５９７）との間に、信頼性ビット生成条件が充足されるか否かを判別する段階（Ｓ５９５段階）が追加される。
【０２１２】
例えば、信頼性ビット生成条件はデコーディングが遂行された回数を含む。最初ｎ回のデコーディングループが遂行される時、信頼性ビットは生成されなく、ｎ回のデコーディングループが遂行された次から信頼性ビットが生成される。したがって、相対的に信頼性が低い初期デコーディング結果は無視され、相対的に信頼性が高い中間以後のデコーディング結果にしたがって信頼性ビットが生成される。
【０２１３】
図２４は図１の格納システム１０００の他の例を示すブロック図である。図２４を参照すれば、エラー訂正コードデコーダー３００ａは第１デコーダーと第２デコーダーとを含む。第１デコーダーは第２デコーダーと異なるデコーディング方法を使用する。例えば、第１デコーダーはＢＣＨ（Ｂｏｓｅ−Ｃｈａｕｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ）コードの利用してエラーを訂正する。第２デコーダーはＬＤＰＣ（Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）コードの利用してエラーを訂正する。第１デコーダーは相対的に少ない容量を有するメタデータのエラーを訂正する。第２デコーダーは相対的に多い容量を有する使用者データのエラーを訂正する。
【０２１４】
図２５は図１の格納システム１０００の応用例を示すブロック図である。図２５を参照すれば、格納システム２０００は不揮発性メモリ装置２１００及びコントローラ２２００を含む。不揮発性メモリ装置２１００は複数の不揮発性メモリチップを含む。複数の不揮発性メモリチップは複数のグループに分割される。複数の不揮発性メモリチップの各グループは１つの共通チャンネルを通じてコントローラ２２００と通信するように構成される。例示的に、複数の不揮発性メモリチップは第１乃至第ｋチャンネルＣＨ１〜ＣＨｋを通じてコントローラ２２００と通信することと図示されている。
【０２１５】
コントローラ２２００は図３を参照して説明されたエラー訂正コードデコーダー３００ｂ＿１〜３００ｂ＿ｋを含む。エラー訂正コードデコーダー３００ｂ＿１〜３００ｂ＿ｋは不揮発性メモリ装置２１００から読み出されるデータのエラーを訂正する。
【０２１６】
エラー訂正コードデコーダー３００ｂ＿１〜３００ｂ＿ｋはチャンネルＣＨ１〜ＣＨｋの同等の数だけ提供される。１つのエラー訂正コードデコーダーは１つのチャンネルに連結された不揮発性メモリチップのエラーを訂正する。
【０２１７】
１つのエラー訂正コードデコーダーは第１デコーダーと第２デコーダーとを含む。第１デコーダーは第２デコーダーと異なるデコーディング方法を使用する。例えば、第１デコーダーはＢＣＨ（Ｂｏｓｅ−Ｃｈａｕｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ）コードの利用してエラーを訂正する。第２デコーダーはＬＤＰＣ（Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）コードの利用してエラーを訂正する。第１デコーダーは相対的に少ない容量を有するメタデータのエラーを訂正する。第２デコーダーは相対的に多い容量を有する使用者データのエラーを訂正する。
【０２１８】
図２５で、１つのチャンネルに複数の不揮発性メモリチップが連結されることと説明された。しかし、１つのチャンネルに１つの不揮発性メモリチップが連結されるように格納システム２０００が変形され得る。
【０２１９】
図２６は本発明の実施形態によるメモリカード３０００を示す。図２６を参照すれば、メモリカード３０００は不揮発性メモリ装置３１００、コントローラ３２００、及びコネクター３３００を含む。
【０２２０】
コントローラ３２００は図３を参照して説明されたエラー訂正コードデコーダー３００ｃを含む。エラー訂正コードデコーダー３００ｃは不揮発性メモリ装置３１００から読み出されるデータのエラーを訂正する。
【０２２１】
エラー訂正コードデコーダー３００ｃは第１デコーダーと第２デコーダーを含む。第１デコーダーは第２デコーダーと異なるデコーディング方法を使用する。例えば、第１デコーダーはＢＣＨ（Ｂｏｓｅ−Ｃｈａｕｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ）コードの利用してエラーを訂正する。第２デコーダーはＬＤＰＣ（Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）コードの利用してエラーを訂正する。第１デコーダーは相対的に少ない容量を有するメタデータのエラーを訂正する。第２デコーダーは相対的に多い容量を有する使用者データのエラーを訂正する。
【０２２２】
コネクター３３００はメモリカード３０００とホストを電気的に連結する。
【０２２３】
メモリカード３０００はＰＣカード（ＰＣＭＣＩＡ、ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ  ｍｅｍｏｒｙ  ｃａｒｄ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ａｓｓｏｃｉａｔｉｏｎ）、コンパクトフラッシュ(登録商標)カード（ＣＦ）、スマートメディアカード（ＳＭ、ＳＭＣ）、メモリスティック、マルチメディアカード（ＭＭＣ、ＲＳ−ＭＭＣ、ＭＭＣｍｉｃｒｏ）、ＳＤカード（ＳＤ、ｍｉｎｉＳＤ、ｍｉｃｒｏＳＤ、ＳＤＨＣ）、ユニバーサルフラッシュ記憶装置（ＵＦＳ）等のようなメモリカードを構成する。
【０２２４】
図２７は本発明の実施形態によるソリッドステートドライブ（４０００、ＳＳＤ、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を示す。図２７を参照すれば、ソリッドステートドライブ４０００は複数の不揮発性メモリ装置４１００、コントローラ４２００、及びコネクター４３００を含む。
【０２２５】
コントローラ３２００は図３を参照して説明されたエラー訂正コードデコーダー３００ｄ＿１〜３００ｄ＿３を含む。エラー訂正コードデコーダー３００ｄ＿１〜３００ｄ＿３は不揮発性メモリ装置３１００から読み出されるデータのエラーを訂正する。
【０２２６】
エラー訂正コードデコーダー３００ｄ＿１〜３００ｄ＿３はチャンネルの数に該当するように提供される。１つのエラー訂正コードデコーダーは１つのチャンネルに連結された不揮発性メモリ装置のエラーを訂正する。
【０２２７】
１つのエラー訂正コードデコーダーは第１デコーダーと第２デコーダーとを含む。第１デコーダーは第２デコーダーと異なるデコーディング方法を使用する。例えば、第１デコーダーはＢＣＨ（Ｂｏｓｅ−Ｃｈａｕｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ）コードの利用してエラーを訂正する。第２デコーダーはＬＤＰＣ（Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）コードの利用してエラーを訂正する。第１デコーダーは相対的に少ない容量を有するメタデータのエラーを訂正する。第２デコーダーは相対的に多い容量を有する使用者データのエラーを訂正する。
【０２２８】
コネクター４３００はソリッドステートドライブ４０００とホストを電気的に連結する。
【０２２９】
図２８は図２５を参照して説明された格納システム２０００を含むコンピューティングシステム５０００を示すブロック図である。図２８を参照すれば、コンピューティングシステム５０００は中央処理装置５１００、ＲＡＭ５２００、使用者インターフェイス５３００、電源５４００、及び格納システム２０００を含む。
【０２３０】
格納システム２０００はシステムバス５５００を通じて、中央処理装置５１００、ＲＡＭ５２００、使用者インターフェイス５３００、及び電源５４００に電気的に連結される。使用者インターフェイス５３００を通じて提供されるか、或いは中央処理装置５１００によって処理されたデータは格納システム２０００に格納される。
【０２３１】
図２８で、不揮発性メモリ装置２１００はコントローラ２２００を通じてシステムバス３５００に連結されることと図示されている。しかし、不揮発性メモリ装置２１００はシステムバス３５００に直接連結されるように構成される。
【０２３２】
図２８で、図２５を参照して説明された格納システム２０００が提供されることと図示されている。しかし、格納システム２０００は図１、図２４、又は図２５を参照して説明された格納システム１０００を含むことができる。
【０２３３】
本発明の詳細な説明では具体的な実施形態に関して説明したが、本発明の範囲と技術的思想から逸脱しない限度内で様々な変形が可能である。したがって、本発明の範囲は上述した実施形態に限定されて定められるのではなく、後述する特許請求の範囲と、発明の特許請求の範囲と均等なものによって定まれるべきである。
【符号の説明】
【０２３４】
１００  ・・・  格納装置
２００  ・・・  コントローラ
３００  ・・・  エラー訂正デコーダー
３１０  ・・・  読出し及び信頼性情報メモリ
３２０  ・・・  初期対数尤度比マッパ
３２１  ・・・  硬判定対数尤度比レジスター
３２３  ・・・  軟判定対数尤度比レジスター
３３０  ・・・  判定部
３４０  ・・・  更新器
３５０  ・・・  暫定デコーダー
３６０  ・・・  対数尤度比信頼性更新器
１０００、２０００  ・・・  格納システム
３０００  ・・・  メモリカード
４０００  ・・・  ソリッドステートドライブ
５０００  ・・・  コンピューティングシステム
【図１】
2013141219.tif 000028
【図２Ａ】
2013141219.tif 000029
【図２Ｂ】
2013141219.tif 000030
【図３】
2013141219.tif 000031
【図４】
2013141219.tif 000032
【図５】
2013141219.tif 000033
【図６】
2013141219.tif 000034
【図７】
2013141219.tif 000035
【図８】
2013141219.tif 000036
【図９】
2013141219.tif 000037
【図１０】
2013141219.tif 000038
【図１１】
2013141219.tif 000039
【図１２】
2013141219.tif 000040
【図１３】
2013141219.tif 000041
【図１４】
2013141219.tif 000042
【図１５】
2013141219.tif 000043
【図１６】
2013141219.tif 000044
【図１７】
2013141219.tif 000045
【図１８】
2013141219.tif 000046
【図１９】
2013141219.tif 000047
【図２０】
2013141219.tif 000048
【図２１】
2013141219.tif 000049
【図２２】
2013141219.tif 000050
【図２３】
2013141219.tif 000051
【図２４】
2013141219.tif 000052
【図２５】
2013141219.tif 000053
【図２６】
2013141219.tif 000054
【図２７】
2013141219.tif 000055
【図２８】
2013141219.tif 000056