(57)【要約】【課題】データを復号化する方法及び装置である。【解決手段】一部の実施形態では、ＬＤＰＣデコーダは、ｍビット符号ビットのビット信頼度値を記憶するように構成された複数の可変ノードを含む可変ノード回路（ＶＮＣ）を有する。チェックノード回路（ＣＮＣ）は、ＶＮＣからのｎビットメッセージにパリティチェック演算を実行するように構成された複数のチェックノードを有する。各ｎビットメッセージは、ビット信頼度値とチェックノードからの記憶されたメッセージとの組み合わせから形成される。プリサチュレーション補償回路は、ＣＮＣによって受信された、異なったマグニチュードを有する各ｎビットメッセージのマグニチュードをｎより少ないｐビットを使用して表現され得る最大値を含む飽和限界より低く維持するように構成される。プリサチュレーション補償回路は、異なった復号化反復の間中に異なったスケーリング係数及び／又はバイアス係数をｎビットメッセージに適用することがある。【選択図】図５
2018182735.tif 000002
【特許請求の範囲】
【請求項１】
低密度パリティチェック（ＬＤＰＣ）デコーダであって、
符号ビット信頼度値を生成するように構成された複数の可変ノードを含む可変ノード回路（ＶＮＣ）と、
各ｎビットメッセージが前記符号ビット信頼度値の組み合わせを含む複数のｎビットメッセージにパリティチェック演算を行うように構成された複数のチェックノードを含むチェックノード回路（ＣＮＣ）と、
ｐがｎ未満である場合に、前記ＣＮＣによって受信された前記ｎビットメッセージのうち少なくとも２つが異なったマグニチュードを有し、前記ＣＮＣによって受信された各ｎビットメッセージのマグニチュードを、ｐビットを使用して表現され得る最大値を含む飽和限界より低く維持するように構成されたプリサチュレーション補償回路と、
を備える、ＬＤＰＣデコーダ。
【請求項２】
前記プリサチュレーション補償回路は、前記ＶＮＣから第１のマグニチュードを有する選択されたメッセージを受信し、前記選択されたメッセージに縮小値を適用して、前記第１のマグニチュード未満である第２のマグニチュードを有するスケーリングされたメッセージを生成し、前記スケーリングされたメッセージを前記ＣＮＣに送信するように構成されている、請求項１に記載のＬＤＰＣデコーダ。
【請求項３】
前記縮小値は、前記スケーリングされたメッセージを生成するために前記選択されたメッセージと組み合わされたスケーリング係数である、請求項２に記載のＬＤＰＣデコーダ。
【請求項４】
前記縮小値は、前記スケーリングされたメッセージを生成するために前記選択されたメッセージの一部分と組み合わされたバイアス係数である、請求項２に記載のＬＤＰＣデコーダ。
【請求項５】
前記ＣＮＣによって受信された前記ｐビットメッセージの１つずつは、前記ＬＤＰＣデコーダによる選択された復号化試行中に異なったマグニチュードを有する、請求項１に記載のＬＤＰＣデコーダ。
【請求項６】
前記プリサチュレーション補償回路は、異なった入力メッセージ値の受信に応答して、補償されたメッセージを出力するメモリ内のルックアップテーブルを含み、前記ルックアップテーブルによって出力された１つずつの補償されたメッセージ値が、前記ルックアップテーブルに入力された対応する前記入力メッセージと比べて縮小されたマグニチュードを有する、請求項１に記載のＬＤＰＣデコーダ。
【請求項７】
前記ｎビットメッセージの１つずつは、関連したｎビットメッセージの初期マグニチュードと比べて異なったマグニチュードを有する、請求項１に記載のＬＤＰＣデコーダ。
【請求項８】
請求項１に記載のＬＤＰＣデコーダであって、前記ｎビットメッセージは、第１のメッセージとして特徴付けられ、前記ＣＮＣは、前記ｎビットメッセージへの前記パリティチェック演算の適用に応答して第２のメッセージを生成するようにさらに構成され、前記ＬＤＰＣデコーダは、
縮小値に応答して１つずつの前記第２のメッセージのマグニチュードを縮小し、スケーリングされた第２のメッセージを生成するように構成されたポストＣＮＣスケーリング回路と、
前記ＶＮＣへの前記スケーリングされた第２のメッセージの転送前に、前記スケーリングされたメッセージを一時記憶するように構成されたローカルメモリと、
を含むＬＤＰＣデコーダ。
【請求項９】
前記ＬＤＰＣデコーダの以前の反復に関連した部分事後情報を記憶するように構成されたローカルメモリをさらに備え、前記ｎビットメッセージは、前記ＬＤＰＣデコーダの後続の反復中に前記部分事後情報をさらに含む、請求項１に記載のＬＤＰＣデコーダ。
【請求項１０】
前記ＬＤＰＣデコーダは、メインメモリを備えるデータ記憶装置のチャネル回路に組み込まれ、ｍビット符号語は、ユーザデータを前記データ記憶装置に連結されたホスト装置に転送するために、読み出し動作中に前記メインメモリから取り出されたデータを含む、請求項１に記載のＬＤＰＣデコーダ。
【請求項１１】
データ記憶装置であって、
コントローラ回路と、
ホスト装置によって供給されたユーザデータを記憶するように構成されたメインメモリと、
前記メインメモリから以前に記憶されたユーザデータを取り出すように構成され、検出器回路及び低密度パリティチェック（ＬＤＰＣ）デコーダを含むチャネル回路と、
を備え、前記ＬＤＰＣデコーダは、
前記検出器回路からの入力に応答して、ｍ符号ビットを有する符号語のビット信頼度値を生成するように構成された複数の可変ノードを含む可変ノード回路（ＶＮＣ）と、
各メッセージがｎビットを有し、各ｖ２ｃメッセージが前記ビット信頼度値の組み合わせを含む可変ノードからチェックノードへの（ｖ２ｃ）メッセージに、パリティチェック演算を行うように構成された複数のチェックノードを含み、前記ｖ２ｃメッセージへの前記パリティチェック演算に応答して、ｃ２ｖメッセージの１つずつがｐビットを有するチェックノードから可変ノードへの（ｃ２ｖ）メッセージを生成し、前記ｃ２ｖメッセージの転送が後に続く前記ｖ２ｃメッセージの転送が前記ＬＤＰＣデコーダによる１回の復号化反復を含んでいる、チェックノード回路（ＣＮＣ）と、
ｐがｎ未満である場合に、前記ＬＤＰＣデコーダのエラーフロア応答を低下させるために、マグニチュードが縮小された前記ｖ２ｃメッセージの１つずつが異なったマグニチュードを有し、各ｖ２ｃメッセージのマグニチュードをｐビットを使用して表現され得る最大値より低く維持するように構成されたプリサチュレーション補償回路と、
を備える、データ記憶装置。
【請求項１２】
前記ＬＤＰＣデコーダは、縮小係数に応答して１つずつの前記ｃ２ｖメッセージのマグニチュードを縮小して、前記ＬＤＰＣデコーダのウォーターフォール領域を改善するように構成されたポストＣＮＣスケーリング回路をさらに備える、請求項１１に記載のデータ記憶装置。
【請求項１３】
前記プリサチュレーション補償回路は、前記ＶＮＣによって生成された異なった入力メッセージ値の受信に応答して補償されたメッセージ値を出力するメモリ内のルックアップテーブルを含み、前記ルックアップテーブルによって出力された１つずつの補償されたメッセージ値は、前記ルックアップテーブルに入力された対応する入力メッセージ値と比べて縮小されたマグニチュードを有する、請求項１１に記載のデータ記憶装置。
【請求項１４】
前記プリサチュレーション補償回路は、第１のスケーリング係数又は第１のバイアス係数のうちの少なくとも選択された１つを使用して、１回目の反復中に選択されたチェックノードのための第１のｖ２ｃメッセージを生成し、異なった第２のスケーリング係数又は異なった第２のバイアス係数のうちの少なくとも選択された１つを使用して、２回目の反復中に前記選択されたチェックノードのための第２のｖ２ｃメッセージを生成する、請求項１１に記載のデータ記憶装置。
【請求項１５】
前記チャネル回路は、第１のパラメータ値の組が使用された、前記コントローラ回路によって供給された読み出しコマンドに応答して、前記メインメモリ内の選択されたロケーションから前記符号語を復元し、１回目の復号化試行中に復元不能な誤りの検出に応答して、前記チャネル回路は、第２のパラメータ値の組を使用して前記符号語に対する付加情報を復元することにより、２回目の復号化試行中に前記プリサチュレーション補償回路によって補償される後続のｖ２ｃメッセージに組み込まれる軟情報を取得する、請求項１１に記載のデータ記憶装置。
【請求項１６】
方法であって、
ビット信頼度値を生成するように構成された複数の可変ノードを備える可変ノード回路（ＶＮＣ）によって、入力符号語を受信することと、
ＣＮＣメッセージのメモリ内に記憶された前記ビット信頼度値の組み合わせから形成された、各々がｎビットを有する、複数の可変ノードからチェックノードへの（ｖ２ｃ）メッセージを生成することと、
ｐがｎ未満である場合に、複数の前記ｖ２ｃメッセージのマグニチュードをｐビットを使用して表現され得る最大値を含む飽和限界より下に維持するために、前記ｖ２ｃメッセージの１つずつに、前記ｖ２ｃメッセージの１つずつが異なるマグニチュードを有するという条件付けをすることと、
前記可変ノードの異なった部分集合にそれぞれ連結された複数のチェックノードを備えるチェックノード回路（ＣＮＣ）によって、前記条件付けをされたｖ２ｃメッセージにパリティチェック演算を行うことと、
前記パリティチェック演算に応答して複数のチェックノードから可変ノードへの（ｃ２ｖ）メッセージを生成することと、
を含む方法。
【請求項１７】
前記ｃ２ｖメッセージを縮小値と組み合わせて、対応する複数のマグニチュードが縮小されたｃ２ｖメッセージを生成することと、後続の反復中に前記マグニチュードが縮小されたｃ２ｖメッセージを前記マグニチュードが縮小されたｃ２ｖメッセージを前記ＶＮＣに供給するように構成されたメモリに転送することとをさらに含む、請求項１６に記載の方法。
【請求項１８】
前記条件付けをする工程は、前記ＶＮＣから第１のマグニチュードを有する選択されたメッセージを受信することと、縮小値を前記選択されたメッセージに適用して、前記第１のマグニチュード未満である第２のマグニチュードを有するスケーリングされたメッセージを生成することと、前記スケーリングされたメッセージを前記ＣＮＣに送信することとを含む、請求項１６に記載の方法。
【請求項１９】
前記条件付けをする工程は、第１のマグニチュードを有するメッセージを受信することと、ルックアップテーブルを使用して、前記第１のマグニチュード未満である第２のマグニチュードを有する補償されたメッセージを出力することと、前記補償されたメッセージを前記ＣＮＣに送信することとを含む、請求項１６に記載の方法。
【請求項２０】
部分事後情報をローカルメモリに記憶することと、前記部分事後情報を使用して前記ｖ２ｃメッセージを生成することとをさらに含む、請求項１６に記載の方法。
【発明の詳細な説明】
【発明の概要】
【課題を解決するための手段】
【０００１】
本明細書に開示された様々な実施形態は、概して、低密度パリティチェック（ＬＤＰＣ）デコーダを使用してデータチャネル中のデータを復号化することを対象にする。
【０００２】
一部の実施形態では、ＬＤＰＣデコーダは、ｍビット入力符号語のビット信頼度（尤度）値を生成するように構成された複数の可変ノードを含む可変ノード回路（ＶＮＣ）を有する。チェックノード回路（ＣＮＣ）は、ＶＮＣからのｎビットメッセージにパリティチェック演算を実行するように構成された複数のチェックノードを有する。１つ１つのｎビットメッセージは、チェックノードの部分集合からのビット信頼度値と記憶されたメッセージとの組み合わせから形成される。プリサチュレーション補償回路は、ＣＮＣによって受信されたｎビットメッセージのマグニチュードを、ｐビット（ｐ＜ｎ）を使用して表現し得る最大値を含む飽和限界より低く維持するように構成され、ＣＮＣによって受信されたｐビットメッセージの１つずつは、異なったマグニチュードを有する。
【０００３】
様々な実施形態を特徴付けることがある上記の特徴及び利点とその他の特徴及び利点とは、以下の詳細な説明及び添付図面を考慮して理解することができる。
【図面の簡単な説明】
【０００４】
【図１】本開示の様々な実施形態のための典型的な動作環境を提供するデータ記憶装置の機能ブロック図である。
【図２】本開示の一部の実施形態に従ってデータを復号化するために低密度パリティチェック（ＬＤＰＣ）デコーダを使用するデータ復元チャネルの概略図である。
【図３】図２のＬＤＰＣデコーダの誤り率応答特性のグラフ表示である。
【図４】ＬＤＰＣデコーダの態様を示す相互接続図である。
【図５】一部の実施形態に従ったＬＤＰＣデコーダの機能ブロック図表示である。
【図６】さらなる実施形態に従ったＬＤＰＣデコーダの機能ブロック図表示である。
【図７】一部の実施形態における図５〜図６のプリサチュレーション補償回路の配列を示す図である。
【図８】プリサチュレーション補償回路の別の配置を示す図である。
【図９】ＬＤＰＣデコーダにおいて起こり得るメッセージのマッピングを記述する対数尤度比ルックアップテーブル（ＬＬＲ  ＬＵＴ）の実施例を表す図である。
【図１０】一部の実施形態によって開示された通りのプリサチュレーション補償手法の適用による典型的な改善のグラフ表示である。
【図１１】様々な実施形態によって得られた種々のトラッピング集合タイプに対する典型的なエラーフロア改善のグラフ表示である。
【図１２】種々の実施形態に対する典型的なスループット改善のグラフ表示である。
【図１３】一部の実施形態に従って実行された演算を示すフロー図である。
【図１４】様々な実施形態が有利に実施されることがあるソリッドステートドライブ（ＳＳＤ）型データ記憶装置の機能ブロック図である。
【図１５】様々な実施形態が有利に実施されることがあるハードディスクドライブ（ＨＤＤ）型又はハイブリッド型データ記憶装置の機能ブロック図である。
【発明を実施するための形態】
【０００５】
本開示は、概して、低密度パリティチェック（ＬＤＰＣ）デコーダを使用するデータチャネル中のデータの復号化に関する。
【０００６】
ＬＤＰＣ符号は、データ伝送に役立つ線形誤り訂正ブロック符号である。ＬＤＰＣ符号は、情報コンポーネント（例えば、ユーザデータビット）と誤り訂正用のオーバーヘッド又は冗長ビットとをどちらも有する符号語の形をしている。一般的な慣例は、ｎが総ビット数を表し、ｋがユーザビット数を表し、ｎ−ｋが冗長ビット数を表す場合に、ｋ／ｎ個の符号としてＬＤＰＣ符号語を記述することである。
【０００７】
いくつかの業界標準が無線インターフェース及び有線インターフェースを経由してＬＤＰＣ符号伝送を容易にするために制定されている。ＬＤＰＣ符号は、雑音環境においてインターフェースの伝送容量の理論容量又は理論容量の近くで高速データ伝送に対処するためにロバスト能力を有するので、ＬＤＰＣ符号は、限定されることはないが、ソリッドステートドライブ（ＳＳＤ）、ハードディスクドライブ（ＨＤＤ）、ハイブリッドソリッドステートドライバ（ＨＳＳＤ）などを含む高データＩ／Ｏ通信チャネルで用いられることがよくある。
【０００８】
ＬＤＰＣデコーダは、ＬＤＰＣ符号を復号化するために使用される回路の一種である。ＬＤＰＣデコーダは、いくつかの可変ノードユニット（ＶＮＵ）及びチェックノードユニット（ＣＮＵ）を採用することがよくある。ＶＮＵは、個別の符号ビット信頼度を生成する。ＣＮＵは、組み合わせ論理関数を使用してＶＮＵの内容の種々の組み合わせにパリティチェックを行い、メモリに記憶され、後続の処理においてＶＮＵによって使用される付加的な軟情報を生成する。
【０００９】
入力符号語は、ＣＮＵの全てのパリティ制約が充足された場合、復号化に成功する。１つ以上の誤りが検出された場合、符号語の状態に関してさらなる情報を与える軟情報の利用を含めて、後続の反復が行われる。各反復は、メッセージが様々なユニット間で送信されることを含む。ＶＮＵからＣＮＵへのメッセージは、ｖ２ｃ又はｒメッセージと呼ばれることがあり、ＣＮＵからＶＮＵへのメッセージは、ｃ２ｖ又はｑメッセージと呼ばれることがある。例えば、Ｐメッセージ及びＱメッセージなどのその他の表記も用いられることがある。
【００１０】
いくつかの異なったアプローチ、即ちアルゴリズムがある。１つのよく知られたアルゴリズムは、確率伝搬アルゴリズムである。このアルゴリズムは、効率的な演算をもたらすが、高い回路複雑度を必要とする。ミニサムＬＤＰＣアプローチ（ミニサムアルゴリズム）は、ハードウェア要件を簡略化するために用いられるが、性能の確率伝搬レベルを近似するのに役立つように確率検定を取り入れる。ＬＬＲ（対数尤度比）値は、通常では、ミニサムＬＤＰＣ復号化演算中に生成され、異なったビットの組み合わせが試行されるので、帰無仮説／対立検定仮説としての役割を果たす。所定の可変ノードに対する高いＬＬＲマグニチュードは、ノードの中の既存のビット値（例えば、０又は１）が正しい値である可能性が非常に高いことを示し、低いＬＬＲマグニチュードは、ノードの中の既存のビット値が正しい値である可能性が非常に低いことを示す。
【００１１】
ＬＤＰＣデコーダの動作性能は、チャネル雑音に大きく依存する。信号対雑音比（ＳＮＲ）に対する観測されたビット誤り率（ＢＥＲ）のグラフは、チャネルの雑音が低減されるのに伴って、ＢＥＲに急激な改善を示している。このことは、ウォーターフォール領域と呼ばれることがあり、指数関数的な傾きを示す。雑音のレベルが非常に低いとき、ＬＤＰＣデコーダの応答は、平らになり、非常に緩やかな傾きを示すグラフの肩部である所謂エラーフロアを形成する。エラーフロアにおける傾きの変化の１つの理由は、存在する誤りの個数が非常に小さい値まで減少するのにつれて、特に、簡単な解決を妨げる可能性があるビット対称を含むある種のビット誤り組み合わせ（トラッピング集合）に対して残りの誤りを解決することが徐々に難しくなる可能性がある、ということである。
【００１２】
ミニマムサムＬＤＰＣ環境では、ｖ２ｃメッセージは、いくつかのｃ２ｖメッセージと関連した入力ＬＬＲ値とを結び付けることによって生成される。転送可能であるメッセージのサイズで利用可能な最大精度は有限であるので、ｖ２ｃメッセージは、関連したＣＮＵに到達する前に飽和するかもしれない可能性がある。これに関連して、飽和した、又は、飽和は、概して、反復されたｖ２ｃメッセージのマグニチュードがメッセージを記述するために利用できるビット数に基づいて最大限度に達した状況を言い表す。より詳しくは、ｖ２ｃメッセージが最大長ｎビットを有する場合、全部が論理１であるｖ２ｃメッセージは、これの最大値に達し、メッセージのマグニチュードのさらなる増加は、バッファオーバーフロー又はその他の関連した状況を作り出すことになるので、通信され得ないであろう。
【００１３】
ｖ２ｃメッセージが簡単に飽和に達するという傾向は、デコーダのエラーフロア応答を不必要に引き起こす。演算のエラーフロア領域では、チャネルＬＬＲ値は、大きくなる傾向があるので、全てのメッセージも同様に大きくなる傾向があり、デコーダ内で急速に大きくなるであろう。一旦飽和すると、ＣＮＵは、簡単にはこれらのメッセージを区別することができず、誤り状態を解決することができない。
【００１４】
従って、本開示の様々な実施形態は、プリサチュレーション補償をミニサムＬＤＰＣデコーダに適用する装置及び方法を対象にする。後述する通り、一部の実施形骸は、概して、デコーダに可変ノード回路（ＶＮＣ）及びチェックノード回路（ＣＮＣ）を設ける。ＶＮＣは、符号ビット信頼度を生成するように構成されたいくつかの可変ノードを有する。ＣＮＣは、選択された可変ノードのグループに接続されたいくつかのチェックノードを有し、パリティチェック能力が設けられている。ＶＮＣは、チェックノードに接続された可変ノードのビット信頼度の組み合わせに基づいて、メッセージ（例えば、ｖ２ｃメッセージ）を形成し、ＣＮＣの中の各チェックノードに転送する。
【００１５】
プリサチュレーション補償回路は、メッセージの中の利用可能なビット数に基づいて、ほとんどのメッセージが飽和すること、又は最大利用可能マグニチュートに到達することを防止するために、ｖ２ｃメッセージに作用する。プリサチュレーション補償は、様々な形をとる。
【００１６】
一部の実施形態では、プリサチュレーション補償は、メッセージと組み合わされたスケーリング係数を使用して達成される。他の実施形態では、バイアス係数がメッセージと組み合わされる。さらなる実施形態では、ルックアップテーブル（ＬＵＴ）がプリサチュレーション補償を達成するために用いられ得る。全てのメッセージは、何らかの形のビット対数尤度比（ＬＬＲ）を表現するので、このＬＬＲは、ＬＬＲ  ＬＵＴと称される。他の実施形態では、入力ＬＬＲ値が低減され、このことは、ＶＮＵによる処理の前にＬＬＲ値の全体的なマグニチュードを縮小し、メッセージの一部分の飽和を防止する。これらのアプローチは、必要に応じて個別に又は組み合わせて適用され得る。さらなる実施形態では、スケーリング／バイアス係数及び／又はＬＬＲ  ＬＵＴ値は、ＣＮＵからＶＮＵへ返送されたメッセージに同じように適用され得る。
【００１７】
これらの手法は、ＬＤＰＣデコーダ応答のウォーターフォール領域及びエラーフロア領域の両方により優れた性能をもたらし得ることが分かった。この手法は、比較的少しの付加的な複雑度を追加し、いくつかの異なったアプリケーション及び環境に容易に適合させられ得る。
【００１８】
様々な実施形態のこれらの特徴及び態様と他の特徴及び態様は、典型的なデータ記憶装置１００を概略的に図示する図１の再検討から始めて理解されるであろう。装置１００は、様々な実施形態が有利に実施されることがある典型的な環境を提供するために提示される。本書に示された様々な実施形態は、データ記憶アプリケーションに限定されることはなく、ＬＤＰＣアルゴリズムを使用する実質的にその他のデータ伝送チャネルに容易に拡張され得る。
【００１９】
装置１００は、コントローラ１０２とメモリモジュール１０４とを含む。コントローラ１０２は、装置１００のための最上位の制御を行い、ローカルメモリ内の関連したプログラミングと一体になってプログラマブルプロセッサとして構成されることがある。付加的又は代替的に、コントローラは、所要のコントローラ機能を実行するために論理ゲート又は他の素子と一体となったハードウェアベースの制御回路の形をとることもある。
【００２０】
メモリモジュール１０４は、回転可能な記録ディスク及びソリッドステートメモリアレイなどの１つ以上の不揮発性メモリ素子として配置され得る。別個のコントローラ１０２が図１に示されているが、このことは必須ではなく、代替的な実施形態は、必要なコントローラ機能を直接メモリモジュールに、又はデータ記憶装置の外部に組み込むことがある。限定的ではないが、本開示の目的のため、データ記憶装置１００は、ユーザデータを記憶し、ホスト装置から取り出すためにＮＡＮＤフラッシュメモリを利用するソリッドステートドライブ（ＳＳＤ）であることが考慮されるであろう。
【００２１】
図２は、一部の実施形態に従ってデータを復号化するための低密度パリティチェック（ＬＤＰＣ）デコーダ１１２のデータ復元チャネル１１０の一部分の概略図を載せる。チャネル１１０は、図１のデータ記憶装置１００の一部分を形成することがある。
【００２２】
本質的には、ＬＤＰＣデコーダ１１２は、入力符号ビット及びこれらの信頼度を受信し、受信符号ビットにビット誤りの有無を判定する。ビット誤りがある場合、ＬＤＰＣデコーダ１１２は、ビット誤りを同定し訂正し、その結果、訂正された符号語がさらなる処理のため出力され得るように、インタラクティブ方式で動作する。
【００２３】
図２において、アップストリーム処理が検出器１１４によって入力（復元）通信信号に適用される。検出器１１４による又は検出器１１４より前の処理工程は、アナログフロントエンド、デジタル化、最大尤度検出などを含む様々な形をとることができる。
【００２４】
検出器１１４は、記憶媒体からの複数の読み出しに基づいて、符号ビット及びビット信頼度、例えば、ＬＬＲ値の系列を出力する。各符号語は、情報コンポーネント及び冗長（オーバーヘッド）コンポーネントを有し、いくつかのビット（例えば、ｍビット）から構成される。適当な長さからなる符号語がシステムのアーキテクチャに基づいて使用され得る。何千ビット以上（ｍ＞＞１０００）を有する符号語が多くのデータ記憶装置アプリケーションで一般的に用いられる。
【００２５】
ＬＤＰＣデコーダ１１２は、原データ（例えば、復元信号の情報内容）を出力するために特別に構成されたミニサムＬＤＰＣアルゴリズムを入力符号ビット信頼度に適用する。ＬＤＰＣデコーダ１１２及び検出器１１４は、いくつものハードウェア及び／又はプログラマブル回路コンフィギュレーションを使用してハードウェア、ソフトウェア、及び／又はファームウェアで実現され得る。その上、デコーダ１１２と検出器１１４とは、反復方式で軟ビット信頼度情報を交換することができる。
【００２６】
図３は、図２のＬＤＰＣデコーダ１１２の誤り率性能を概略的に記述する誤り率応答曲線１２０のグラフ表示である。例えば、１２０などの曲線は、様々な方法で記述され得る；図３では、曲線１２０は、測定された符号語ビット誤り率（ＢＥＲ）を表すｙ軸及び観測された信号対雑音比（ＳＮＲ）を表すｘ軸と対照して描かれている。図３の慣例的な表現法は、ｙ軸に沿って原点に向かって下がると全体的な誤り率性能がより良くなること、及び、ｘ軸に沿って原点から離れると全体的な信号性能がより良くなる（例えば、雑音が少なくなる）ことを示唆する。参考のため、曲線は、ＳＮＲを表すｘ軸の代わりに生のビット誤り率（ＲＢＥＲ）と対照して描かれてもよく、これにより、曲線は、類似した全体的な形状が与えられ、水平方向に反転させられ、例えば、ｙ軸周りに１８０度だけ回転させられるであろう。
【００２７】
曲線１２０は、２つの主要な領域又は部分：ウォーターフォール領域１２２及びエラーフロア１２４を有することが示されている。見れば分かるように、ウォーターフォール領域１２２は、少なくともエラーフロア領域１２４が優勢になる点までは、比較的急勾配の傾きを有し、チャネル雑音の低減と共に誤り率性能の顕著な改善を示唆する。
【００２８】
エラーフロア１２４は、著しく低減した傾きを有し、引き続くＳＮＲの改善（雑音の低減）に伴って、最適ＢＥＲに関して下限に達することを示唆する。傾きの変化は、チャネルの雑音が少なくなるのにつれて、ＬＤＰＣデコーダ１１２が、特に、ある種の環境において、符号語を求めることを著しくかなり困難にすることも示す。例えば、トラッピング集合は、ＬＤＰＣアルゴリズムの反復の範囲内で「トラップ」されるビット誤り組み合わせであり、簡単には求められない。
【００２９】
図４は、一部の実施形態における図２のＬＤＰＣデコーダ１１２の態様を図示するタナー図１３０を載せている。デコーダは、可変ノードとも呼ばれるいくつかの可変ノードユニット（ＶＮＵ）１３２を含む。合計８個の可変ノード１３２がＶ０〜Ｖ７と名付けられて図４に示されている。
【００３０】
可変ノード１３２は、一連のチェックノードユニット（ＣＮＵ）又はチェックノード１３４と通信する。合計４個のチェックノードが、Ｃ０〜Ｃ３と名付けられて示されている。それぞれのノード１３２及びノード１３４の他の個数及び配置も必要に応じて設けられ得る。
【００３１】
入力符号ビット信頼度は、最初に可変ノード１３２にロードされ、単一ビットの対数尤度比（ＬＬＲ）が各可変ノードに供給される。可変ノード内のビットＬＬＲ値は、選択的に組み合わされ、対応するチェックノード１３４に転送されるｖ２ｃメッセージを形成する。図４では、チェックノードＣ０は、可変ノードＶ０、Ｖ１及びＶ２からビットを受信する；チェックノードＣ３は、可変ノードＶ２〜Ｖ７からビットを受信し、以下、同様に続く。
【００３２】
一旦受信されると、ｖ２ｃメッセージは、符号語を求めるために、ある種のパリティ制約を使用してチェックノードによって評価される。一実施例では、チェックノード１３４は、偶数パリティ制約を実装することがあるので、所与のｖ２ｃメッセージの中のビットの全ては合計が０（偶数）値に達するべきである。他のパリティ制約が使用され得る。
【００３３】
これらのパリティ計算結果付きのメッセージがｃ２ｖメッセージの形で返送される。概して、ＬＤＰＣアルゴリズムの各反復は、１組のｖ２ｃメッセージの生成と、チェックノードへの転送とを含み、その後に、可変ノードへの１組のｃ２ｖメッセージの返送が続く。誤りがない場合、結果として得られた符号語が求められ、データは、図２に示された通りに出力される。少なくとも１つの誤りがある場合、可変ノード１３２の値は、ｃ２ｖメッセージと、場合によっては、他の情報とを使用して更新される。その後の反復は、符号語を求める努力の中で適用されることがある。
【００３４】
図４におけるｉ番目の可変ノードからｊ番目の可変チェックノードへのｖ２ｃメッセージの計算は、以下の通り表現され得る：
【００３５】
【数１】
2018182735.tif 000003
【００３６】
ＬＬＲｉがｉ番目の可変ノードに対応するチャネル対数尤度比であり、ｒｊｉがｊ番目のチェックノードからｉ番目の可変ノードへのｃ２ｖメッセージを表現する。
【００３７】
ＬＬＲ値は、関連した可変ノードの既存の状態に関する２状態帰無仮説の確率のマルチビット推定値である。ＬＬＲｉ値のマグニチュードが高いほど、ｉ番目の可変ノードの既存のビット状態（０又は１）が正しい値である可能性が高い。ＬＬＲｉ値のマグニチュードが低いほど、別のビット値（１又は０）が正しい状態である可能性が高い。
【００３８】
式（１）は、各ｖ２ｃメッセージが前のメッセージの情報内容と、符号語の復号化に役立つさらなる手掛かりを与えることができる軟情報とを含むことを示している。場合によっては、チェックノードは、可変ノードの中の内容を調整するためにｖ２ｃメッセージの全体的なマグニチュードによって提供された情報を使用できる。
【００３９】
ｊ番目のチェックノードからｉ番目の可変ノードへの対応するｃ２ｖメッセージは、以下の通り表現され得る：
【００４０】
【数２】
2018182735.tif 000004
【００４１】
ＬＤＰＣデコーダ１１２は、簡略化されたハードウェア／ソフトウェアを使用しながら、より計算的に複雑な確率伝搬アルゴリズムを近似するミニサムアルゴリズムを実装する。ミニサムアルゴリズムの１つの限界は、純粋な確率伝搬アプローチを使用して利用可能なウォーターフォール性能に比べるとウォーターフォール性能が劣化することであるので、ミニサムアルゴリズムは、同一の生のビット誤り率（ＲＢＥＲ）でより劣る符号語誤り率をもたらす。
【００４２】
ミニサムアルゴリズムに伴う別の限界は、ｖ２ｃメッセージ及びｃ２ｖメッセージのそれぞれで利用できる精度が有限精度であることである。上述の通り、この有限精度の実際的結果は、ｖ２ｃメッセージのサイズにおいて到達され得る最大マグニチュードが存在することである。ソフトウェアで実装されるか、又は、ソフトウェアで実装されるかとは無関係に、概して、ｖ２ｃメッセージ及びｃ２ｖメッセージのそれぞれを記述するために利用できる最大総ビット数ｎが存在するであろう。例えば、ｎ＝４ビット、ｎ＝８ビットなどの値は、ハードウェアデコーダベースの実装により適していることがある。例えば、ｎ＝３２、ｎ＝６４などのより大きな値は、ソフトウェアベースの実装により適していることがある。理解される通り、本書に開示された様々な実施形態は、どちらのタイプの実装にも適している。
【００４３】
ｑｉｊ値は、非常に大きくなる可能性があり、ｖ２ｃメッセージが飽和に達する原因となり、ここで、飽和とは、上述の通り、最大利用可能値に達した状況である（例えば、各ｎビット値が論理１である長さｎビットのｖ２ｃメッセージ）。式（１）及び（２）から、場合によっては、飽和は、ＬＤＰＣデコーダの僅か数回の反復で達成されることがある、と言える。
【００４４】
図５は、上記限界及び他の限界に既存の技術を使って対処するように構成されたＬＤＰＣデコーダ１１２のブロック図表示を示す。図４の可変ノード１３２及びチェックノード１３４は、それぞれ可変ノード回路（ＶＮＣ）１３６及びチェックノード回路（ＣＮＣ）１３８にまとめて組み込まれる。ＬＬＲ生成器１３９は、ＬＤＰＣデコーダ１１２の上流で、ノード１個当たりにＬＬＲ群を生成し、ＬＬＲ群をＶＮＣ  １３６に供給する。
【００４５】
ＶＮＣ  １３６は、異なったチェックノードとＬＬＲ生成器とから受信されたビット信頼度値を結合して、マルチビットｖ２ｃメッセージを形成するように動作する。各ｖ２ｃメッセージは、全部でｎビットを有するものと考えられる。プリサチュレーション補償回路１４０は、ｎビットのｖ２ｃメッセージに作用して、スケーリングされたｖ２ｃメッセージを作り出す。スケーリングされたｖ２ｃメッセージは、ｐがｎ未満（ｐ＜ｎ）である場合に、ｐビットのメッセージであり、上述の通りＣＮＣ１３８に転送される。
【００４６】
プリサチュレーション補償回路１４０は、ｖ２ｃメッセージの全体的なマグニチュードをｎビットで表現され得る最大利用可能マグニチュード未満（ｎ個の論理１からなるｎビット値は、ｎビットによって表現され得る最大利用可能値である）に維持することによってｖ２ｃメッセージの少なくとも大部分が飽和に達することを防止する。一部の実施形態では、ｐビットのｖ２ｃメッセージは、ｐビットによって表現され得る最大利用可能マグニチュード未満に維持される。スケーリングされたｖ２ｃメッセージは、符号語の中のビット誤りの求解を容易にするために有用な情報内容を維持する。プリサチュレーション補償回路のいくつかの異なった代替的な実施形態は、以下に詳述される。
【００４７】
場合によっては、オプションとしてのポストＣＮＣスケーリング回路１４２がＣＮＣ  １３８によって出力されたｃ２ｖメッセージに条件付けをして、ＶＮＣ  １３６への転送前にローカルメモリ１４４に一時記憶されるスケーリングされたｃ２ｖメッセージを供給するために使用され得る。ｃ２ｖメッセージは、長さがｐビットであることも考えられる。図５は、復号化プロセスの状態を指示するＶＮＣ  １３６からのシンドロームの出力を示す；全てのシンドロームの求解は、符号語の復号化の成功を表す。
【００４８】
図６は、さらなる実施形態に従ったＬＤＰＣデコーダ１１２の代替的なコンフィギュレーションである。以上の通り、プリサチュレーション補償回路１４０と、オプションとしてのポストＣＮＣスケーリング回路１４２と、ローカルメモリ１４４とは、ＶＮＣ  １３６とＣＮＣ  １３８との間で渡されるメッセージに条件付けをするために設けられる。
【００４９】
部分事後情報が元の（スケーリングされていない）ｖ２ｃメッセージから取得され、次の反復においてローカルメモリ１４４に記憶されたスケーリングされたｃ２ｖメッセージとの組み合わせを保留するローカルメモリ１４６に記憶される。この配置は、多くの実際的なＬＤＰＣ符号のためのより効率的なハードウェア実装をもたらすことができる。
【００５０】
図７は、一部の実施形態に従って図５〜図６のプリサチュレーション補償回路１４０のブロック図を示す。場合によっては、係数回路１５２は、スケーリングされたｖ２ｃ（「Ｓｖ２ｃ」）メッセージを生成するためにｖ２ｃ修正回路１５４に供給される１つ以上の係数を生成及び／又は記憶する。概して、スケール係数（Ｓ）は、計算されたｖ２ｃと結合されたスカラー量として作用して、例えば、以下の通りのスケーリングされたｖ２ｃ値を供給することがある：
Ｓｖ２ｃ＝ｒｏｕｎｄ［（Ｓ）（ｖ２ｃ）］                              （３）
バイアス係数（Ｂ）は、例えば、以下の通り、ｖ２ｃ計算の内部の特定の項にバイアス又は重み値として利用されることがある：
Ｓｖ２ｃ＝ｒｏｕｎｄ［ｖ２ｃ＋Ｂ］                              （４）
スケーリング係数及びバイアス係数は共に、例えば、以下の通り、同時に用いられることがある：
Ｓｖ２ｃ＝ｒｏｕｎｄ［（Ｓ）（ｖ２ｃ＋Ｂ）］                          （５）
スケーリング係数Ｓ及びバイアス係数Ｂは、ｖ２ｃマグニチュードの少なくとも大部分を飽和未満に維持するために何らかの適当な方法で適用されることがある。適当なスケーリング係数Ｓ及びバイアス係数Ｂは、経験的及び／又は適応的方法を使用して取得され得る。上記実施例では、Ｓ及びＢは共に０から１までの値である、と考えられる。他の配置は、スケーリング及び／又はバイアス係数がＳｖ２ｃメッセージの全体的なマグニチュードを縮小する傾向がある限り、飽和限界への到達を減らすために使用され得る。
【００５１】
係数回路１５２は、例えば、ｖ２ｃマグニチュード、所定の復号シーケンス中の反復回数、ＳＮＲなどのある種のプロセスパラメータを監視して、様々なスケーリング及び／又はバイアス係数の切り替え及び／又は適用を行うことがある。少なくとも一部の実施形態では、異なったスケーリング係数及び／又はバイアス係数が所定のＬＤＰＣ復号化演算の内部の異なった反復で適用される；第１の係数の組が第１の反復中に適用されることがあり、異なった第２の係数の組が第２の反復中に適用されることがあり、以下、同様に続く。
【００５２】
図７の回路配置は、図５〜図６において前述された通り、ポストＣＮＣスケーリング回路１４２を実装して、スケーリングされたｃ２ｖメッセージを提供するためにも使用され得る。異なったスケーリング及び／又はバイアス係数は、ポストＣＮＣスケーリング回路１４２と比べて、プリサチュレーション補償回路１４０で使用されることがある、と考えられる。
【００５３】
図８は、プリサチュレーション補償回路１４０の別のコンフィギュレーションを示す。ＬＬＲルックアップテーブルメモリ１５６は、１つ以上の適応的な、又は、経験的に導出されたＬＵＴを記憶し、ＬＵＴは、スケーリングされたｖ２ｃメッセージ（Ｓｖ２ｃ）を生成するためにｖ２ｃ修正回路１５４に供給される。あらゆるＬＬＲ  ＬＵＴは、ｎビットを使って表現された入力のｖ２ｃメッセージをｐビットを使って表現された出力のスケーリングされたｖ２ｃ（Ｓｖ２ｃ）メッセージに写像するマッピング関数である。ＬＬＲ  ＬＵＴの実施例がｎ＝７及びｐ＝４を仮定した図９に載せられている。
【００５４】
図９のテーブルから、入力メッセージのマグニチュードは出力で縮小されるので、これらは、ｐ＝４ビットが表現する飽和限界（例えば、基数２の１１１１、又は基数１０の１５）に満たない、と言える。同時に、スケーリングされた出力メッセージＳｖ２ｃは、単純に飽和をｖ２ｃメッセージに適用するより遙かに良い有用な情報内容を維持する。
【００５５】
ＬＬＲ  ＬＵＴメモリ１５６は、例えば、ｖ２ｃマグニチュード、所定の復号化シーケンス中の反復回数、ＳＮＲなどのある種のプロセスパラメータを監視して、異なったＬＬＲ  ＬＵＴの切り替え及び／又は適用を行うことがある。少なくとも一部の実施形態では、異なったＬＵＴが所定のＬＤＰＣ復号化演算の内部の異なった反復で適用される。第１のＬＵＴは、第１の反復中に適用されることがあり、異なった第２のＬＵＴは、第２の反復中に適用されることがあり、以下、同様に続く。
【００５６】
図７及び図８のそれぞれの図によって提供された様々な形のプリサチュレーション補償及びポストＣＮＣスケーリングは、相互排他的ではない。それどころか、どちらの回路もＬＤＰＣデコーダ１１２によって利用され得る。さらなる実施形態では、本書に開示されたプリサチュレーション補償及びポストＣＮＣスケーリング手法は、他の入力ＬＬＲ減衰方法と組み合わされ得る。
【００５７】
いずれの場合でも、補償されたｖ２ｃメッセージのマグニチュードは、対応する補償されていないｖ２ｃメッセージ（又は補償されていないＬＬＲを使用して生成されたであろうメッセージ）のマグニチュードに基づいて、メッセージ毎に異なる傾向があるであろう。従って、補償は、ある所定のレベルでメッセージを切り捨てることがないので、ある特定のマグニチュードを越えた全てのメッセージは、同じ最大値まで切り取られる。その代わりに、補償は、各メッセージを作り上げる基本的な項を１つ以上の縮小値と組み合わせるので、スケールの縮小は、あるメッセージから次のメッセージまでの既存の変動性を維持したまま達成される。
【００５８】
図１０は、前述の通りミニサムＬＤＰＣデコーダを有する特定のデータチャネルから取得されたデータのグラフ表示を載せている。ポストＣＮＣ補償された曲線１６０及びプリサチュレーション補償された曲線１７０は、それぞれが符号語誤り率を表すｘ軸及び信号対雑音比（ＳＮＲ）を表すｙ軸と対照して描かれている。ポストＣＮＣ補償された曲線１６０は、ｃ２ｖメッセージへのスケーリング及びバイアスの適用を含むあるタイプのポストＣＮＣ補償付きのＬＤＰＣデコーダに対する誤り率性能を記述する。
【００５９】
プリサチュレーション補償された曲線１７０は、ｖ２ｃメッセージへのスケーリング及びバイアス係数の適用を含むプリサチュレーション補償付きのＬＤＰＣデコーダの誤り率性能を記述する。
【００６０】
曲線１６０におけるウォーターフォール領域及びエラーフロア領域は、それぞれ１６２及び１６４に表示されている。曲線１７０におけるウォーターフォール領域及びエラーフロア領域は、それぞれ１７２及び１７４に表示されている。改善されたウォーターフォール性能は、ポストＣＮＣ補償スキームを使用して達成され、より低いエラーフロアがプリサチュレーション補償スキームを使用して達成される。同様の性能の改善が様々なアプリケーションで得られること、及び、適当なスケーリング係数とバイアス係数とが複数の係数の組をテストし、図１０に記載された結果と同様の結果を観察することによって取得され得ることが分かった。
【００６１】
図１１は、エラーフロア性能の改善を示唆する曲線の別のグラフ表示を示す。曲線は、ａがビット誤りの個数を表し、ｂが充足されていないパリティ制約を表す（ａ，ｂ）表記を使用してトラッピング集合タイプの複数の共通タイプを表すｘ軸と対照して描かれている。ｙ軸は、エラーフロアの改善に対する特定のトラッピング集合のパーセンテージ寄与度度を示すので、より高い値がより良い性能を示す。階層復号化が最大反復回数１００回を使って適用された。
【００６２】
３本の曲線が図１１に描かれている。曲線１８０は、全ての反復に対するプリサチュレーションスケーリングの適用を表す。曲線１８２は、入力ＬＬＲ減衰の適用を示す。曲線１８４は、これらの手法の両方の適用の組み合わせを示す。図示されるように、スケーリング係数及びＬＬＲ減衰の両方が改善に寄与したが、両方を組み合わせると、組（８，４）を除いたリストに記載された全てのトラッピング集合に対して著しく良好な性能がもたらされ、この組に対しても、２つの手法の組み合わせは、プリサチュレーションスケーリング単独より優れた性能をもたらした。
【００６３】
図１２は、本書に提示された様々な実施形態を使用して得られた改善を図示するためにさらに別のグラフ表示を示す。図１２は、より高速であり、かつ、より成果のある復号化演算を通じて達成されたより高い全体的なデータＩ／Ｏ率に関するスループット改善を評価する。曲線１９０は、第１の補償スキーム（スキームＡ）を示し、曲線１９２は、異なった第２の補償スキーム（スキームＢ）を示す。
【００６４】
それぞれの曲線１９０、１９２は、生のビット誤り率（ＲＢＥＲ）を表すｘ軸及び正規化されたｙ軸と対照して描かれた。ｙ軸上の点１．００は、通常の補償なしの基本性能を表す。垂直方向の改善は、基本を上回るパーセンテージ改善を示す（例えば、ｙ軸上の点１．０５は、スループット率の５％改善を示すなど）。図１２に示された結果には、プリサチュレーション及びポストＣＮＣ補償が使用されている。スキームＡ（曲線１９０）及びスキームＢ（曲線１９２）は、２種類の反復依存性スケーリングスキーム及びバイアススキームをｖ２ｃメッセージ及びｃ２ｖメッセージの両方に適用する。
【００６５】
図１３は、上記検討に従って行われる様々な工程を説明するためにプリサチュレーション補償ルーチン２００を含んでいるＬＤＰＣ復号化のフロー図を載せている。これらの工程は、図２のチャネル１１０を使用して図１のデータ記憶装置１００との関連で行われる、と考えられる。
【００６６】
読み出し演算がデータ記憶装置の不揮発性メモリからデータを取り出すために工程２０２で行われる。取り出されたデータの処理は、検出器１１４による初期符号語（読み出されたＬＤＰＣ符号ビット）の生成を含み、これらの符号語は、符号ビットの中のビット誤りを同定するためにＬＤＰＣデコーダ１１２に提示される。
【００６７】
初期硬復号演算は、工程２０４でＬＤＰＣデコーダ１１２によって行われる。これは、図４に前述された通り、符号ビットの初期ビット値に基づくチェックノードでのｖ２ｃメッセージの簡単なパリティチェックを含むことがある。工程２０４は、硬復号化がＬＤＰＣデコーダのための設定値１を使用して行われることを示す；このことは、ｖ２ｃメッセージ又はｃ２ｖメッセージのスケール／バイアス又はＬＬＲ  ＬＵＴマッピングなどのパラメータ調整を含むことがある。
【００６８】
判定工程２０６は、工程２０４の硬復号化演算が成功したか否かを判定する；成功した場合、フローは、復号化に成功したデータがさらなる処理のため出力される工程２０８に移る。
【００６９】
硬復号化演算が成功しなかった場合、フローは、判定工程２０６から、復号化プロセスに役立つように軟情報を取得するために１回以上の付加的な読み出し動作が行われる工程２１０に移る。これらの付加的な読み出し動作は、メモリに対する読み出し電圧閾値又はその他のパラメトリック変化の調整を含むことがある。
【００７０】
ＬＤＰＣデコーダ１１２の２回目の復号化試行は、軟復号化演算を使用して工程２１２で行われる。これは、図５〜図６のＬＬＲ値が工程２１０の付加的な読み出しからのｖ２ｃメッセージの判定に組み込まれることを含むことがある。工程２１２は、ＬＤＰＣデコーダが異なったパラメータの組に対応することがある設定値２を使用して構成され、別のプリサチュレーション及びポストＣＮＵスケーリングスキームを提供することを示す。
【００７１】
判定工程２１４は、２回目の復号化試行が符号ビットの中の残りのビット誤りの解決に成功したかどうかを判定する。成功しなかった場合、フローは、別の軟復号化演算がブロック２１２の設定値２とは異なるさらに別のパラメトリックコンフィギュレーションである設定値３を使用して行われる工程２１６に続く。その上、スケーリング、バイアス及びＬＬＲ  ＬＵＴに加えて、次の復号化試行のため変化するデコーダ設定値は、例えば、最大反復回数、入力ＬＬＲ減衰などの他のデコーダパラメータも同様に含むことがある。
【００７２】
フローは、誤りが解決されたかどうかを判定する判定工程２１８に続く。解決されなかった場合、フローは、上位レベルのリードリカバリ手法が引き続きビット誤りを解決するために適用される工程２２０に移る。このような上位レベルは、リードリトライと、様々な読み出しパラメータの調整と、上位レベルの外部コードの使用などを含み得る。３回だけの復号化試行が図１３に描かれているが、他のリードリカバリ手法に移行する前に必要に応じて何回の試行でも利用され得ることが認められるであろう。
【００７３】
図１４及び図１５は、本書において検討されたＬＤＰＣデコーダ１１２の使用のための適当な環境に関するさらなる詳細を図示するために載せられている。図１４は、一部の実施形態に従ったソリッドステートドライブ（ＳＳＤ）データ記憶装置３００の機能ブロック図を示す。
【００７４】
コントローラ回路３０２は、装置３００のための最上位の制御を行い、図１のコントローラ１０２に相当することがある。インターフェース回路３０４及びローカルバッファメモリ３０６は、外部ホスト装置とフラッシュメモリ３０８との間でユーザデータの転送を連係させる。読み出し／書き込み／消去（Ｒ／Ｗ／Ｅ）回路３１０は、入力書き込みデータの必要な符号化を行い、適切なフラッシュメモリセルのプログラミングに、符号化された書き込みデータをメモリ３０８に書き込むことを命令する。読み出し動作中に、プログラミングされたデータビットが復元され、当初にホストに供給されたデータの転送前に（読み出し／書き込み／消去回路３１０の一部分を形成する）ＬＤＰＣデコーダ１１２による処理を受ける。
【００７５】
図１５は、一部の実施形態におけるハードディスクドライブ（ＨＤＤ）型又はハイブリッドソリッドステートドライブ（ＨＳＳＤ）型記憶装置４００の機能ブロック図を載せている。コントローラ回路４０２、インターフェース回路４０４及びバッファ４０５は、図１４と同様に動作し、ホスト装置とのデータ転送を連係させる。フラッシュメモリ４０６は、データの記憶用のローカル不揮発性半導体メモリを提供する。読み出し／書き込み（Ｒ／Ｗ）チャネル４０８及び前置増幅器／ドライバ（プリアンプ）４１０は、データ読み出し／書き込みトランスデューサ（ヘッド）４１４を使用して回転記録媒体（ディスク）４１２へのデータの転送をサポートする。ヘッド位置は、ボイス・コイル・モータ（ＶＣＭ）４１６及び閉ループサーボ制御回路４１８を使用して制御される。
【００７６】
ホストからのデータは、必要に応じてフラッシュ４０６及び／又はディスク４１２に記憶されることがある。以上の通り、チャネル４０８は、書き込み動作中にデータを符号化し、ＬＤＰＣ処理を使用して後続の読み出し動作中にデータを復元する。別個のＬＤＰＣデコーダ１１２は、フラッシュ及びディスクに記憶されたデータの復号化のため必要に応じて使用されることがある。
【００７７】
本書において提示された様々な実施形態が既存技術に優るいくつかの利点をもたらすことがここで認められるであろう。プリサチュレーション補償及びポストＣＮＵスケーリングの使用は、ウォーターフォール及びエラーフロア性能の著しい改善をもたらし得る。
【００７８】
必須ではないが、ＬＤＰＣデコーダによる初期復号化演算は硬復号化であり、スケーリング／バイアス係数及び／又はＬＵＴマッピング及び／又はＬＬＲ減衰値が最低の信号対雑音比値で最善の符号語誤り率をもたらすために設定されることがある、と考えられる。スループットが優勢な要件である場合、スケーリング／バイアス係数及び／又はＬＵＴマッピングＬＬＲ減衰値は、符号語誤り率を実際的な範囲で最小化すると共に所要のスループット率を達成するために設定され得る。
【００７９】
後続の復号化試行は、異なった読み出しパラメータ（例えば、異なった読み出し電圧閾値、異なったヘッド浮上高など）を使用してデータが再読み出しされ、軟復号化演算に組み込まれ得る軟情報を提供するリードリトライに基づいて軟符号化を構成するものと考えられる。異なったスケーリング／バイアス係数及び／又はＬＬＲ減衰値が軟復号化演算のための最低の信号対雑音比で最良の符号語誤り率をもたらすために利用され得る。２組以上のスケーリング／バイアス／ＬＬＲ減衰値の組が異なった反復のため切り替えられ得る。前述の通り、これらの手法は、場合によっては、補償なしの解決策より何桁も優れた、エラーフロア性能の著しい改善を達成し得る。
【００８０】
本開示の様々な実施形態の多数の特徴及び利点が、これらの構成及び機能の詳細と一体となって、前述の説明に記載されているとしても、この詳細な説明は一例にすぎず、変更が詳細に行われ、特に、本開示の原理の範囲内の部品の構成及び配置という点で特許請求の範囲に記載された用語の広い一般的な意味によって示唆された最大限の範囲まで行われることがある、と理解されるべきである。
【図１】
2018182735.tif 000005
【図２】
2018182735.tif 000006
【図３】
2018182735.tif 000007
【図４】
2018182735.tif 000008
【図５】
2018182735.tif 000009
【図６】
2018182735.tif 000010
【図７】
2018182735.tif 000011
【図８】
2018182735.tif 000012
【図９】
2018182735.tif 000013
【図１０】
2018182735.tif 000014
【図１１】
2018182735.tif 000015
【図１２】
2018182735.tif 000016
【図１３】
2018182735.tif 000017
【図１４】
2018182735.tif 000018
【図１５】
2018182735.tif 000019
【外国語明細書】
2018182735000001.pdf