(57)【要約】【課題】復号に必要なメモリ量を削減する。【解決手段】実施形態に係るメモリシステムは、各成分符号の復号語及び信頼度情報を保持する中間値メモリと、少なくとも第２成分符号に関する復号語及び信頼度情報並びに読出し情報に基づいて第１成分符号の軟判定入力値を計算し、第１成分符号の軟判定入力値を復号することで第１成分符号の復号語及び信頼度情報を計算し、計算した復号語及び信頼度情報で中間値メモリを更新し、少なくとも第１成分符号の復号語及び信頼度情報並びに読出し情報に基づいて第２成分符号の軟判定入力値を計算し、第２成分符号の軟判定入力値を復号することで第２成分符号の復号語及び信頼度情報を計算し、計算した復号語及び信頼度情報で中間メモリを更新する。【選択図】図７
2019057812.tif 000002
【特許請求の範囲】
【請求項１】
符号を構成するシンボルのうち少なくとも１つのシンボルが少なくとも第１の成分符号と前記第１の成分符号とは異なる第２の成分符号とによって保護されている多次元の誤り訂正符号を記録する不揮発性メモリと、
不揮発性メモリに記録された前記多次元の誤り訂正符号を軟判定値の読出し情報として読み出すメモリインタフェースと、
前記読出し情報を保持する読出し情報メモリと、
前記読出し情報の成分符号ごとの復号語と、各復号語に関する信頼度情報とを保持する中間値メモリと、
少なくとも前記中間値メモリに保持されている前記第２の成分符号に関する復号語及び信頼度情報と前記読出し情報メモリに保持されている前記第２の成分符号に関する読出し情報とに基づいて前記第１の成分符号の軟判定入力値を計算する第１軟判定入力値計算部と、
前記第１の成分符号の軟判定入力値を前記第１の成分符号について復号することで前記第１の成分符号に関する復号語及び信頼度情報を計算し、計算した前記第１の成分符号に関する前記復号語及び前記信頼度情報で前記中間値メモリ内の前記第１の成分符号に関する前記復号語及び前記信頼度情報を更新する第１軟判定復号器と、
少なくとも前記中間値メモリに保持されている前記第１の成分符号に関する前記復号語及び前記信頼度情報と前記読出し情報メモリに保持されている前記第１の成分符号に関する読出し情報とに基づいて前記第２の成分符号の軟判定入力値を計算する第２軟判定入力値計算部と、
前記第２の成分符号の軟判定入力値を前記第２の成分符号について復号することで前記第２の成分符号に関する復号語及び信頼度情報を計算し、計算した前記第２の成分符号に関する前記復号語及び前記信頼度情報で前記中間メモリ内の前記第２の成分符号に関する前記復号語及び前記信頼度情報を更新する第２軟判定復号器と、
を備え、
前記読出し情報、前記復号語及び前記信頼度情報から計算された出力復号語が正しい出力復号語であると判断された場合、前記出力復号語を出力するメモリシステム。
【請求項２】
前記第１の成分符号の軟判定入力値は、少なくとも前記第２の成分符号の外部値の近似値及び前記読出し情報を加算した結果であり、
前記第２の成分符号の軟判定入力値は、少なくとも前記第１の成分符号の外部値の近似値及び前記読出し情報を加算した結果である
請求項１に記載のメモリシステム。
【請求項３】
前記第１軟判定入力値計算部は、
前記中間値メモリに保持されている前記第２の成分符号に関する前記復号語及び前記信頼度情報から前記第２の成分符号の復号結果に基づく対数事後確率比を計算し、
前記第２の成分符号の復号結果に基づく対数事後確率比から前記読出し情報を引くことで、前記第２の成分符号の外部値の近似値を計算し、
少なくとも前記第２の成分符号の外部値の近似値と前記読出し情報とを加算することで、前記第１の成分符号の軟判定入力値を計算する
請求項１に記載のメモリシステム。
【請求項４】
前記第２軟判定入力値計算部は、
前記中間値メモリに保持されている前記第１の成分符号に関する復号語及び前記信頼度情報から前記第１の成分符号の復号結果に基づく対数事後確率比を計算し、
前記第１の成分符号の復号結果に基づく対数事後確率比から前記読出し情報を引くことで、前記第１の成分符号の外部値の近似値を計算し、
少なくとも前記第１の成分符号の外部値の近似値と前記読出し情報とを加算することで、前記第２の成分符号の軟判定入力値を計算する
請求項１に記載のメモリシステム。
【請求項５】
前記第１軟判定入力値計算部は、
前記第１の成分符号の復号語と、前記第１の成分符号の前記復号語の信頼度情報とから、前記第１の成分符号の復号結果に基づく対数事後確率比を計算し、
前記第２の成分符号の復号語と、前記第２の成分符号の前記復号語の信頼度情報とから、前記第２の成分符号の復号結果に基づく対数事後確率比を計算し、
前記第２の成分符号の復号結果に基づく対数事後確率比から前記第１の成分符号の復号結果に基づく対数事後確率比を引くことで、前記第２の成分符号の外部値の近似値を計算し、少なくとも前記第２の成分符号の外部値の近似値と前記読出し情報とを加算することで、前記第１の成分符号の軟判定入力値を計算する
請求項１に記載のメモリシステム。
【請求項６】
前記第２軟判定入力値計算部は、
前記第２の成分符号の復号語と、前記第２の成分符号の前記復号語の前記信頼度情報とから、前記第２の成分符号の復号結果に基づく対数事後確率比を計算し、
前記第１の成分符号の復号語と、前記第１の成分符号の前記復号語の前記信頼度情報とから、前記第１の成分符号の復号結果に基づく対数事後確率比を計算し、
前記第１の成分符号の復号結果に基づく対数事後確率比から前記第２の成分符号の復号結果に基づく対数事後確率比を引くことで、前記第１の成分符号の外部値の近似値を計算し、少なくとも前記第１の成分符号の外部値の近似値と前記読出し情報とを加算することで、前記第２の成分符号の軟判定入力値を計算する
請求項１に記載のメモリシステム。
【請求項７】
前記第１軟判定入力値計算部は、前記第１の成分符号の前記復号語の前記信頼度情報に基づいて、
前記中間値メモリに保持されている前記第２の成分符号に関する復号語及び前記信頼度情報から前記第２の成分符号の復号結果に基づく対数事後確率比を計算し、前記第２の成分符号の復号結果に基づく対数事後確率比から前記読出し情報を引くことで、前記第２の成分符号の外部値の近似値を計算し、少なくとも前記第２の成分符号の外部値の近似値と前記読出し情報とを加算することで、前記第１の成分符号の軟判定入力値を計算する第１処理と、
前記第１の成分符号の復号語と、前記第１の成分符号の前記復号語の前記信頼度情報とから、前記第１の成分符号の復号結果に基づく対数事後確率比を計算し、前記第２の成分符号の復号語と、前記第２の成分符号の前記復号語の前記信頼度情報とから、前記第２の成分符号の復号結果に基づく対数事後確率比を計算し、前記第２の成分符号の復号結果に基づく対数事後確率比から前記第１の成分符号の復号結果に基づく対数事後確率比を引くことで、前記第２の成分符号の外部値の近似値を計算し、少なくとも前記第２の成分符号の外部値の近似値と前記読出し情報とを加算することで、前記第１の成分符号の軟判定入力値を計算する第２処理と、
を切り替えて実行する
請求項１に記載のメモリシステム。
【請求項８】
前記第２軟判定入力値計算部は、前記第２の成分符号の前記復号語の前記信頼度情報に基づいて、
前記中間値メモリに保持されている前記第１の成分符号に関する復号語及び前記信頼度情報から前記第１の成分符号の復号結果に基づく対数事後確率比を計算し、前記第１の成分符号の復号結果に基づく対数事後確率比から前記読出し情報を引くことで、前記第１の成分符号の外部値の近似値を計算し、少なくとも前記第１の成分符号の外部値の近似値と前記読出し情報とを加算することで、前記第２の成分符号の軟判定入力値を計算する第３処理と、
前記第２の成分符号の復号語と、前記第２の成分符号の前記復号語の前記信頼度情報とから、前記第２の成分符号の復号結果に基づく対数事後確率比を計算し、前記第１の成分符号の復号語と、前記第１の成分符号の前記復号語の前記信頼度情報とから、前記第１の成分符号の復号結果に基づく対数事後確率比を計算し、前記第１の成分符号の復号結果に基づく対数事後確率比から前記第２の成分符号の復号結果に基づく対数事後確率比を引くことで、前記第１次元の外部値の近似値を計算し、少なくとも前記第１の成分符号の外部値の近似値と前記読出情報とを加算することで、前記第２の成分符号の軟判定入力値を計算する第４処理と、
を切り替えて実行する
請求項１に記載のメモリシステム。
【請求項９】
前記第１軟判定復号器及び前記第２軟判定復号器の少なくとも一方は、Chase復号によって前記復号語を計算する請求項１に記載のメモリシステム。
【請求項１０】
前記第１軟判定復号器及び前記第２軟判定復号器の少なくとも一方は、Ordered Statistics復号によって前記復号語を計算する請求項１に記載のメモリシステム。
【請求項１１】
前記復号語の信頼度情報は、前記復号語と軟判定入力値との間の距離を含む請求項１に記載のメモリシステム。
【請求項１２】
前記復号語の信頼度情報は、前記復号語が正しい復号語である確率を示す値を含む請求項１に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の実施形態は、一般的に、メモリシステムに関する。
【背景技術】
【０００２】
メモリシステムでは、一般に、記憶するデータを保護するために、誤り訂正符号化されたデータが記憶される。このため、メモリシステムに記憶されたデータを読み出す際には、誤り訂正符号化されたデータに対する復号が行われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−８０４５０号公報
【特許文献２】特許第５０３９１６０号公報
【特許文献３】特許第５５４０９６９号公報
【特許文献４】特許第５０６８５３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の一つの実施形態は、復号に必要なメモリ量を削減することが可能なメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
実施形態によれば、メモリシステムは、符号を構成するシンボルのうち少なくとも１つのシンボルが少なくとも第１の成分符号と前記第１の成分符号とは異なる第２の成分符号とによって保護されている多次元の誤り訂正符号を記録する不揮発性メモリと、不揮発性メモリに記録された前記多次元の誤り訂正符号を軟判定値の読出し情報として読み出すメモリインタフェースと、前記読出し情報を保持する読出し情報メモリと、前記読出し情報の成分符号ごとの復号語と、各復号語に関する信頼度情報とを保持する中間値メモリと、少なくとも前記中間値メモリに保持されている前記第２の成分符号に関する復号語及び信頼度情報と前記読出し情報メモリに保持されている前記第２の成分符号に関する読出し情報とに基づいて前記第１の成分符号の軟判定入力値を計算する第１軟判定入力値計算部と、前記第１の成分符号の軟判定入力値を前記第１の成分符号について復号することで前記第１の成分符号に関する復号語及び信頼度情報を計算し、計算した前記第１の成分符号に関する前記復号語及び前記信頼度情報で前記中間値メモリ内の前記第１の成分符号に関する前記復号語及び前記信頼度情報を更新する第１軟判定復号器と、少なくとも前記中間値メモリに保持されている前記第１の成分符号に関する前記復号語及び前記信頼度情報と前記読出し情報メモリに保持されている前記第１の成分符号に関する読出し情報とに基づいて前記第２の成分符号の軟判定入力値を計算する第２軟判定入力値計算部と、前記第２の成分符号の軟判定入力値を前記第２の成分符号について復号することで前記第２の成分符号に関する復号語及び信頼度情報を計算し、計算した前記第２の成分符号に関する前記復号語及び前記信頼度情報で前記中間メモリ内の前記第２の成分符号に関する前記復号語及び前記信頼度情報を更新する第２軟判定復号器とを備え、前記読出し情報、前記復号語及び前記信頼度情報から計算された出力復号語が正しい出力復号語であると判断された場合、前記出力復号語を出力する。
【図面の簡単な説明】
【０００６】
【図１】図１は、データを誤り訂正符号で保護する動作の一般的な流れを説明するための図である。
【図２】図２は、積符号の一例を示す図である。
【図３】図３は、二次元の誤り訂正符号に対してターボ復号を実行する機能ブロックの一例を示すブロック図である。
【図４】図４は、図３に示す機能ブロックによる処理フローの一例を示すフローチャートである。
【図５】図５は、第１の実施形態に係るメモリシステムの概略構成例を示すブロック図である。
【図６】図６は、第１の実施形態に係る復号器の概略構成例を示すブロック図である。
【図７】図７は、第１の実施形態に係るＳＩＳＯ復号部が実現する近似的ターボ復号器の概略構成例を示すブロック図である。
【図８】図８は、図７に示す近似的ターボ復号器の処理フローの一例を示すフローチャートである。
【図９】図９は、第１の実施形態に係る成分符号ＳＩＳＯ復号器の概略構成例を示すブロック図である。
【図１０】図１０は、第１の実施形態に係る次元１軟判定入力値計算部の動作フローの一例を示すフローチャートである。
【図１１】図１１は、第２の実施形態に係る次元１軟判定入力値計算部の動作フローの一例を示すフローチャートである。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、実施形態に係るメモリシステムを詳細に説明する。なお、以下の実施形態により本発明が限定されるものではない。
【０００８】
近年、ＮＡＮＤ型フラッシュメモリなどの不揮発性メモリを利用したメモリシステムは、その高速性という特長を生かし、様々な場所で用いられている。しかしながら、不揮発性メモリから読み出したデータには、不揮発性メモリに記録されてからの時間経過や読み出し・書き込みの際に生じるノイズ等に起因するエラーが含まれる可能性がある。そのため、一般には、不揮発性メモリに記録するデータに対して誤り訂正符号を用いた符号化処理が実行され、読出し時にはその誤り訂正符号を用いた復号処理が実行されることで、読み出したデータに含まれているエラーが除去される。
【０００９】
図１は、データを誤り訂正符号で保護する動作の一般的な流れを説明するための図である。なお、本説明におけるユーザとは、例えばパーソナルコンピュータ、サーバ装置、ポータブルな情報機器、デジタルスチルカメラ等の情報処理装置であってよい。
【００１０】
ユーザ９３１は、書込み対象のデータ（以下、書込みデータという）をメモリシステム９００に対して送信する。メモリシステム９００は、ユーザ９３１から受け取った書込みデータを符号化器９４１を用いて符号化し、これにより生成された符号化データ（符号語）を不揮発性メモリ９２０に書き込む。したがって、不揮発性メモリ９２０に書き込まれる符号化データには、基本的にはエラーが含まれていない。
【００１１】
不揮発性メモリ９２０に格納されている符号化データは、例えばユーザ９３２からの読出し要求に応じて読み出される。ここで、読み出された符号化データにはエラーが含まれている可能性がある。そこで、読み出された符号化データに含まれるエラーを復号器９４２を用いて除去しつつ復号を実行することで、オリジナルの符号語が復元される。その後、オリジナルの符号語もしくは復元された符号化前の書込みデータがユーザ９３２へ送信される。なお、読出し要求を発行したユーザ９３２は、書込み要求を発行したユーザ９３１と同一のユーザであってもよいし、別のユーザであってもよい。
【００１２】
ここで、符号化器９４１が書込みデータを‘０’又は‘１’で表現された二値情報（ビット）から構成される符号語に符号化し、その符号語が二値情報として不揮発性メモリ９２０に記録された場合を想定する。以下、不揮発性メモリ９２０からのデータ読出しの際、記録されたデータを‘０’であるか‘１’であるかを示す二値情報として読み出して復号器９４２に入力する場合、その入力情報を硬判定入力（Hard-Input）と称する。それに対し、記録されたデータを‘０’であった確率又は‘１’であった確率の情報として読み出して復号器９４２に入力する場合、その確率情報を軟判定入力（Soft-Input）と称する。
【００１３】
また、復号器９４２が出力する復号結果が、オリジナルの書込みデータが‘０’であったか‘１’であったかの二値情報である場合、その出力情報を硬判定出力（Hard-Output）と称する。それに対し、復号器９４２が出力する復号結果にオリジナルの書込みデータが‘０’であったか‘１’であったかの確率情報が含まれる場合、その出力情報を軟判定出力（Soft-Output）と称する。
【００１４】
復号器９４２への入力として軟判定入力を用いた場合、硬判定入力を用いた場合と比較してより多くの情報を用いた復号が可能となる。そのため、読出しデータにエラーが多く含まれる場合には、復号器９４２への入力として軟判定入力を用いた方が、正しいデータを復号できる確率を高めることができる。
【００１５】
軟判定入力値および軟判定出力値として、例えば情報を‘０’か‘１’かのビットで表現する二元符号（Binary Code）に対しては、しばしばビットが‘０’である確率と‘１’である確率との比の自然対数であるＬＬＲ（Log-Likelihood-Ratio）表現が用いられる。二元符号の符号語はビット値のベクトルとして表現できるので、二元符号の軟判定入力値および軟判定出力値は、ＬＬＲ（実数値）のベクトルとして表現することができる。以降の実施形態では、説明の簡略化のため、軟判定入力値および軟判定出力値の確率情報がＬＬＲのベクトルとして表現されている場合を例示するが、このような場合に限定されず、種々変形することが可能である。
【００１６】
軟判定入力に対して軟判定出力を行う復号器（以下、ＳＩＳＯ（Soft-Input Soft-Output）復号器という）は、例えば、多次元の誤り訂正符号の成分符号復号器として用いることができる。
【００１７】
ここで、多次元の誤り訂正符号とは、誤り訂正符号の少なくとも一つ以上の構成単位であるシンボルが、複数のより小規模な成分符号によって多重に保護されているものを指す。また、１シンボルは、例えば１ビット（二元体（binary field）の元（element））、又は、二元体以外の有限体（finite field）などのアルファベットの元で構成される。
【００１８】
多次元の誤り訂正符号の例として、図２に積符号を示す。図２に示す積符号５００は、構成単位である各情報ビット（シンボルであってもよい）ｄ０〜ｄ３が、行方向（図面中横方向）と列方向（図面中縦方向）とのそれぞれで、情報長２ビットで且つパリティ長２ビットのハミング符号５１１〜５１５及び５２１〜５２５で保護された構造を備える。このような積符号５００では、全ての情報ビットｄ０〜ｄ３およびパリティビットｐ０〜ｐ２０が行方向のハミング符号と列方向のハミング符号とで２重に保護されている。図２に示す積符号では、全てのシンボルが行方向（次元１と称される）および列方向（次元２と称される）の成分符号によって二重に保護されている。なお、多次元の誤り訂正符号としてはこれに限らず、例えば一般化ＬＤＰＣ符号（Generalized Low Density Parity Check Code）などであってもよい。一般化ＬＤＰＣ符号を含む一般の多次元の誤り訂正符号では、シンボルごとに保護の多重度が異なっていてもよく、また、成分符号を次元１と次元２のようにグループ分けすることができないが、このような符号構成に対しても本技術は適用することが可能である。
【００１９】
このような多次元の誤り訂正符号に対しては、ターボ復号を行うことができる。図３は、二次元の誤り訂正符号に対してターボ復号を実行する機能ブロックの一例を示す図である。また、図４は、図３に示す機能ブロックによる処理フローの一例を示すフローチャートである。
【００２０】
図３に示すように、二次元の誤り訂正符号に対してターボ復号を実行する機能ブロックには、読出し情報メモリ９０１と、次元１加算器９１１と、次元１ＳＩＳＯ復号器９１２と、次元１外部値メモリ９１３と、次元２加算器９２１と、次元２ＳＩＳＯ復号器９２２と、次元２外部値メモリ９２３とが含まれる。
【００２１】
このような機能ブロックによるターボ復号動作では、図４に示すように、まず、不揮発性メモリ９２０から誤り訂正符号が軟判定値で読み出される（ステップＳ９０１）。読み出された軟判定値の誤り訂正符号は、読出し情報として読出し情報メモリ９０１へ転送されて格納される（ステップＳ９０２）。
【００２２】
つぎに、読出し情報メモリ９０１内の読出し情報と、次元２外部値メモリ９２３内の次元２外部値とが次元１加算器９１１により加算され、これにより、次元１軟判定入力値（＝読出し情報＋次元２外部値）が計算される（ステップＳ９０３）。なお、次元１外部値メモリ９１３及び次元２外部値メモリ９２３はともに、本動作の起動時にリセット（ゼロクリア）されているものとする。
【００２３】
つづいて、次元１加算器９１１で計算された次元１軟判定入力値が、成分符号ごとに次元１ＳＩＳＯ復号器９１２に入力される。次元１ＳＩＳＯ復号器９１２は、入力された次元１軟判定入力値に対して次元１の軟判定復号を実行することで、次元１外部値を計算する（ステップＳ９０４）。計算された次元１外部値は、次元１外部値メモリ９１３へ転送されて保持される（ステップＳ９０５）。
【００２４】
つぎに、読出し情報メモリ９０１内の読出し情報と、次元１外部値メモリ９１３内の次元１外部値とが次元２加算器９２１により加算され、これにより、次元２軟判定入力値（＝読出し情報＋次元１外部値）が計算される（ステップＳ９０６）。
【００２５】
つづいて、次元２加算器９２１で計算された次元２軟判定入力値が、成分符号ごとに次元２ＳＩＳＯ復号器９２２に入力される。次元２ＳＩＳＯ復号器９２２は、入力された次元２軟判定入力値に対して次元２の軟判定復号を実行することで、次元２外部値を計算する（ステップＳ９０７）。計算された次元２外部値は、次元２外部値メモリ９２３へ転送されて保持される（ステップＳ９０８）。
【００２６】
つぎに、復号に成功したか否かが判定される（ステップＳ９０９）。復号に成功したとは、例えば正しいと判断できる復号語が発見されたことなどであってよい。復号に成功した場合（ステップＳ９０９のＹＥＳ）、外部の制御部等に復号の成功とともに発見された復号語が通知され（ステップＳ９１０）、本動作が終了する。一方、復号に成功していない場合（ステップＳ９０９のＮＯ）、本動作の反復回数が予め設定しておいた規定値に達しているか否かが判定され（ステップＳ９１１）、規定値に達していない場合（ステップＳ９１１のＮＯ）、ステップＳ９０３へリターンして、以降の動作を実行する。また、規定値に達していた場合（ステップＳ９１１のＹＥＳ）、外部の制御部等に復号の失敗が通知され（ステップＳ９１２）、本動作が終了する。なお、反復回数とは、例えば図４のステップＳ９０３〜Ｓ９０８の動作を繰り返した回数等であってよい。
【００２７】
図３に示す構成における次元１ＳＩＳＯ復号器９１２及び次元２ＳＩＳＯ復号器９２２には、外部値を計算する復号アルゴリズムが採用されたMax-log-MAP（Maximum A Posteriori）復号器を用いることができる。Max-log-MAP復号器は、MAP復号語及び各ビットの対抗復号語から、ビットごとの事後確率値を計算する復号器である。なお、説明の簡略化のため、以降では、事後確率に比例する量（quantity）およびその近似値のことも事後確率と呼ぶこととする。例えば、全ての符号語の事前確率が等しいと仮定した場合、復号語の尤度は、復号語の事後確率値に比例する量となっている。
【００２８】
ここで、MAP復号語ｃ＊とは、全ての符号語ｃ∈Ｃの内で、軟判定入力値Ｓから計算された事後確率Ｐが最も高い符号語ｃ＊＝ａｒｇｍａｘｃＰ（ｃ｜Ｓ）を指す。また、ｉ番目のビットの対抗復号語とは、全ての符号語ｃ∈Ｃの内で、ｉ番目のビットでMAP復号語ｃ＊と異なる値を持つ符号語のうち、最も軟判定入力値Ｓから計算された事後確率Ｐの高い符号語ｃｐ，ｉ＝ａｒｇｍａｘｃＰ（ｃ｜Ｓ，ｃｉ≠ｃ＊ｉ）を指す。従って、Max-log-MAP復号器において復号の途中で算出される中間の硬判定値には、MAP復号語ｃ＊及び全ての対抗符号語ｃｐ，ｉが含まれる。
【００２９】
なお、全ての符号語の集合Ｃの代わりに、事後確率が比較的高い符号語の集合Ｃ’⊂Ｃが用いられてもよい。その場合、近似的なMAP復号語およびｉ番目のビットの近似的な対抗復号語が求められる。このような符号語の部分集合Ｃ’を用いたMax-log-MAP復号は、全ての符号語の集合Ｃを用いたMax-log-MAP復号と比べて訂正能力が劣るものの、計算量が削減されるため、高速に復号を行うことができるという特徴を備える。説明の簡略化のため、以降では、近似的なMAP復号語を用いている場合も含めて、MAP復号語と呼称する。
【００３０】
符号語の部分集合Ｃ’を用いたMax-log-MAP復号では、ｉ番目のビットの対数事後確率比Ｒが、MAP復号語ｃ＊と対抗復号語ｃｐ，ｉの事後確率比とから、以下の式（１）を用いて近似的に計算される。
【数１】
2019057812.tif 000003
【００３１】
各次元の外部値は、式（１）で求められた対数事後確率比Ｒから各次元の軟判定入力値Ｓｉを引くことで求めることができる。なお、本説明では、復号の途中で算出される中間の硬判定値から外部値を計算する復号アルゴリズムの例としてMax-log-MAP復号を挙げたが、それ以外にも種々の復号アルゴリズムを用いることができる。
【００３２】
以上のような、ＳＩＳＯ復号器を用いたターボ復号器は、確率情報である外部値を外部値メモリに記録しておかなければならないため、復号に必要なメモリ量が増大してしまう可能性がある。そこで、復号に必要なメモリ量を削減することが可能なメモリシステムの提供が望まれる。
【００３３】
（第１の実施形態）
図５は、第１の実施形態に係るメモリシステムの概略構成例を示すブロック図である。図５に示すように、メモリシステム１は、メモリコントローラ１０と不揮発性メモリ２０とを備える。メモリシステム１は、ホスト３０と接続可能であり、図５ではホスト３０と接続された状態が示されている。ホスト３０は、例えば、パーソナルコンピュータ、携帯端末などの電子機器であってよい。
【００３４】
不揮発性メモリ２０は、データを不揮発に記憶する不揮発性メモリであり、例えば、ＮＡＮＤ型フラッシュメモリ（以下、単にＮＡＮＤメモリという）である。以下の説明では、不揮発性メモリ２０としてＮＡＮＤメモリが用いられた場合を例示するが、不揮発性メモリ２０として３次元構造フラッシュメモリ、ＲｅＲＡＭ（Resistance Random Access Memory）、ＦｅＲＡＭ（Ferroelectric Random Access Memory）等のＮＡＮＤメモリ以外の記憶装置を用いることも可能である。また、不揮発性メモリ２０が半導体メモリであることは必須ではなく、半導体メモリ以外の種々の記憶媒体に対して本実施形態を適用することも可能である。
【００３５】
メモリシステム１は、メモリコントローラ１０と不揮発性メモリ２０とが１つのパッケージとして構成されるメモリカード等であってもよいし、ＳＳＤ（Solid State Drive）等であってもよい。
【００３６】
メモリコントローラ１０は、ホスト３０からの書込み要求に従って不揮発性メモリ２０への書込みを制御する。また、ホスト３０からの読出し要求に従って不揮発性メモリ２０からの読み出しを制御する。メモリコントローラ１０は、ホストＩ／Ｆ（ホストインタフェース）１５、メモリＩ／Ｆ（メモリインタフェース）１３、制御部１１、符号化／復号部（コーデック）１４およびデータバッファ１２を備える。ホストＩ／Ｆ１５、メモリＩ／Ｆ１３、制御部１１、符号化／復号部１４およびデータバッファ１２は、内部バス１６で相互に接続されている。
【００３７】
ホストＩ／Ｆ１５は、ホスト３０との間のインタフェース規格に従った処理を実施し、ホスト３０から受信した命令、書込み対象のユーザデータなどを内部バス１６に出力する。また、ホストＩ／Ｆ１５は、不揮発性メモリ２０から読み出されて復元されたユーザデータ、制御部１１からの応答などをホスト３０へ送信する。
【００３８】
メモリＩ／Ｆ１３は、制御部１１の指示に基づいて、不揮発性メモリ２０への書込み処理を行う。また、メモリＩ／Ｆ１３は、制御部１１の指示に基づいて、不揮発性メモリ２０からの読み出し処理を行う。
【００３９】
制御部１１は、メモリシステム１の各構成要素を統括的に制御する。制御部１１は、ホスト３０からホストＩ／Ｆ１５経由で命令を受けた場合に、その命令に従った制御を行う。例えば、制御部１１は、ホスト３０からの命令に従って、不揮発性メモリ２０へのユーザデータおよびパリティの書き込みをメモリＩ／Ｆ１３へ指示する。また、制御部１１は、ホスト３０からの命令に従って、不揮発性メモリ２０からのユーザデータおよびパリティの読み出しをメモリＩ／Ｆ１３へ指示する。
【００４０】
また、制御部１１は、ホスト３０から書込み要求を受信した場合、データバッファ１２に蓄積されるユーザデータに対して、不揮発性メモリ２０上の格納領域（メモリ領域）を決定する。すなわち、制御部１１は、ユーザデータの書込み先を管理する。ホスト３０から受信したユーザデータの論理アドレスと該ユーザデータが格納された不揮発性メモリ２０上の格納領域を示す物理アドレスとの対応はアドレス変換テーブルとして格納される。
【００４１】
また、制御部１１は、ホスト３０から読出し要求を受信した場合、読出し要求により指定された論理アドレスを上述のアドレス変換テーブルを用いて物理アドレスに変換し、該物理アドレスからの読み出しをメモリＩ／Ｆ１３へ指示する。
【００４２】
ＮＡＮＤメモリでは、一般に、ページと呼ばれるデータ単位で、書き込みおよび読み出しが行われ、ブロックと呼ばれるデータ単位で消去が行われる。本実施形態では、この同一のワード線に接続される複数のメモリセルをメモリセルグループと呼ぶ。メモリセルがシングルレベルセル（ＳＬＣ）である場合は、１つのメモリセルグループが１ページに対応する。メモリセルがマルチレベルセル（ＭＬＣ）である場合は、１つのメモリセルグループが複数ページに対応する。また、各メモリセルはワード線に接続するとともにビット線にも接続される。したがって、各メモリセルは、ワード線を識別するアドレスとビット線を識別するアドレスとで識別することが可能である。
【００４３】
データバッファ１２は、メモリコントローラ１０がホスト３０から受信したユーザデータを不揮発性メモリ２０へ記憶するまでに一時格納する。また、データバッファ１２は、不揮発性メモリ２０から読み出したユーザデータをホスト３０へ送信するまでに一時格納する。データバッファ１２には、例えば、ＳＲＡＭ（Static Random Access Memory）やＤＲＡＭ（Dynamic Random Access Memory）などの汎用メモリを用いることができる。
【００４４】
ホスト３０から送信されるユーザデータは、内部バス１６に転送されてデータバッファ１２に一旦格納される。符号化／復号部１４は、不揮発性メモリ２０に格納されるユーザデータを符号化して符号語を生成する。また、符号化／復号器２４は、不揮発性メモリ２０から読み出された受信語を復号してユーザデータを復元する。そこで符号化／復号部１４は、符号化器（Encoder）１７と復号器（Decoder）１８を備える。なお、符号化／復号部１４により符号化されるデータには、ユーザデータ以外にも、メモリコントローラ１０内部で用いる制御データ等が含まれてもよい。
【００４５】
次に、本実施形態の書込み処理について説明する。制御部１１は、不揮発性メモリ２０への書込み時に、ユーザデータの符号化を符号化器１７に指示する。その際、制御部１１は、不揮発性メモリ２０における符号語の格納場所（格納アドレス）を決定し、決定した格納場所もメモリＩ／Ｆ１３へ指示する。
【００４６】
符号化器１７は、制御部１１からの指示に基づいて、データバッファ１２上のユーザデータを符号化して符号語を生成する。符号化方式としては、例えば、ＢＣＨ（Bose-Chandhuri-Hocquenghem）符号やＲＳ（リード・ソロモン）符号を用いた符号化方式を採用することができる。符号化器１７により生成される符号語は、上述において図２を用いて例示した積符号５００などの多次元の誤り訂正符号である。図２に例示した積符号５００は、上述したように、構成単位である各情報ビット（シンボルであってもよい）ｄ０〜ｄ３が、行方向（図面中横方向）と列方向（図面中縦方向）とのそれぞれで、情報長２ビットで且つパリティ長２ビットのハミング符号である成分符号５１１〜５１５及び５２１〜５２５で保護された構造を備える。このような積符号５００では、全ての情報ビットｄ０〜ｄ３およびパリティビットｐ０〜ｐ２０が行方向の成分符号（ハミング符号）５１１〜５１５と列方向の成分符号（ハミング符号）２１〜５２５とで２重に保護されている。メモリＩ／Ｆ１３は、制御部１１から指示された不揮発性メモリ２０上の格納場所へ符号語を格納する制御を行う。
【００４７】
次に、本実施形態の不揮発性メモリ２０からの読出し時の処理について説明する。制御部１１は、不揮発性メモリ２０からの読出し時に、不揮発性メモリ２０上のアドレスを指定してメモリＩ／Ｆ１３へ読み出しを指示する。また、制御部１１は、復号器１８へ復号の開始を指示する。メモリＩ／Ｆ１３は、制御部１１の指示に従って、不揮発性メモリ２０の指定されたアドレスから受信語を読み出し、読み出した受信語を復号器１８に入力する。復号器１８は、この不揮発性メモリ２０から読み出された受信語を復号する。
【００４８】
復号器１８は、不揮発性メモリ２０から読み出された受信語を復号する。図６は、復号器１８の概略構成例を示すブロック図である。復号器１８は、硬判定値を入力として復号を実行し、その結果として硬判定値を出力するＨＩＨＯ（hard-input hard-output）復号部１８１と、軟判定値を入力として復号を実行し、その結果として軟判定値を出力するＳＩＳＯ（soft-input soft-output）復号部１８２とを備える。
【００４９】
一般に、ＳＩＳＯ復号は、ＨＩＨＯ復号より誤り訂正能力は高いが処理時間が長いという特徴を持つ。そこで本実施形態では、まず、ＨＩＨＯ復号部１８１が、不揮発性メモリ２０から硬判定値として読み出された受信語をＨＩＨＯ復号し、硬判定復号により復号できなかった受信語を軟判定値として読み出すように構成する。そして、ＳＩＳＯ復号部１８２が、軟判定値として読み出された受信語をＳＩＳＯ復号するように構成する。ただし、このような構成に限られず、ＨＩＨＯ復号を省略して全ての受信語にＳＩＳＯ復号を実行する構成など、種々変形することが可能である。
【００５０】
つづいて、図６に示すＳＩＳＯ復号部１８２のより詳細な構成を、図面を参照して詳細に説明する。図７は、本実施形態に係るＳＩＳＯ復号部が実現する近似的ターボ復号器の概略構成例を示すブロック図である。また、図８は、図７に示す近似的ターボ復号器の処理フローの一例を示すフローチャートである。
【００５１】
図７に示すように、ＳＩＳＯ復号部１８２が実現する近似的ターボ復号器１００は、読出し情報メモリ１０１と、中間値メモリ１０２と、次元１軟判定入力値計算部１１１と、次元１成分符号ＳＩＳＯ復号器１１２と、次元２軟判定入力値計算部１２１と、次元２成分符号ＳＩＳＯ復号器１２２とを備える。
【００５２】
次元１軟判定入力値計算部１１１及び次元２軟判定入力値計算部１２１は、読出し情報メモリ１０１に保持された軟判定値の読出し情報と、中間値メモリ１０２に保持された次元１の中間値（次元１中間値）及び次元２の中間値（次元２中間値）とから、各次元の軟判定入力値を成分符号ごとに計算する。
【００５３】
なお、中間値とは、復号の途中で算出される各成分符号の中間の硬判定値と、この中間の硬判定値の信頼度情報とからなる情報であり、次元１の外部値（次元１外部値）及び次元２の外部値（次元２外部値）の近似計算に必要な情報である。ある中間の硬判定値（成分符号語）ｃの信頼度情報とは、軟判定入力値（＝確率情報）から計算された、成分符号語ｃがオリジナルの成分符号語である確率が高いか低いかを示すメトリックである。二元符号における信頼度情報としては、例えば、成分符号語ｃの軟判定入力値Ｓから計算した事後確率Ｐなどを用いることができる。ただし、これに限定されず、成分符号語ｃが正しい確率を示す値や、成分符号語ｃと軟判定入力値との距離関数の値や、それらの値に対して対数関数などを適用した後の値など、様々な情報を信頼度情報として用いることが可能である。
【００５４】
次元１成分符号ＳＩＳＯ復号器１１２及び次元２成分符号ＳＩＳＯ復号器１２２は、入力された各次元の軟判定入力値に対して成分符号ごとにＳＩＳＯ復号を実行することで、各次元の中間値を計算する。
【００５５】
図７に示す近似的ターボ復号器１００によるターボ復号動作では、図８に示すように、まず、不揮発性メモリ２０から多次元の誤り訂正符号が軟判定値で読み出される（ステップＳ１０１）。読み出された軟判定値の多次元の誤り訂正符号は、読出し情報として読出し情報メモリ１０１へ転送されて格納される（ステップＳ１０２）。
【００５６】
つぎに、読出し情報メモリ１０１内の読出し情報と中間値メモリ１０２内の次元１中間値及び次元２中間値とを次元１軟判定入力値計算部１１１に入力して、次元１軟判定入力値を計算する（ステップＳ１０３）。なお、本動作の起動時に、中間値メモリ１０２がリセット（ゼロクリア）されているものとする。したがって、最初の次元１軟判定入力値の計算処理では、次元１中間値及び次元２中間値として例えば０ビットが連続するデータが次元１軟判定入力値計算部１１１に入力される。
【００５７】
つぎに、次元１軟判定入力値計算部１１１で計算された次元１軟判定入力値を次元１の成分符号ごとに次元１成分符号ＳＩＳＯ復号器１１２に入力して、次元１中間値を計算する（ステップＳ１０４）。計算された次元１中間値は、中間値メモリ１０２に転送されて保持される（ステップＳ１０５）。
【００５８】
つぎに、読出し情報メモリ１０１内の読出し情報と中間値メモリ１０２内の次元１中間値及び次元２中間値とを次元２軟判定入力値計算部１２１に入力して、次元２軟判定入力値を計算する（ステップＳ１０６）。なお、最初の次元２軟判定入力値の計算処理時には、中間値メモリ１０２に次元２中間値が保持されていないため、最初の次元２軟判定入力値の計算処理では、次元１中間値と例えば０ビットが連続するデータと次元２軟判定入力値計算部１２１に入力される。
【００５９】
つぎに、次元２軟判定入力値計算部１２１で計算された次元２軟判定入力値を次元２の成分符号ごとに次元２成分符号ＳＩＳＯ復号器１２２に入力して、次元２中間値を計算する（ステップＳ１０７）。計算された次元２中間値は、中間値メモリ１０２に転送されて保持される（ステップＳ１０８）。
【００６０】
つぎに、復号に成功したか否かが判定される（ステップＳ１０９）。復号に成功したとは、例えば正しいと判断できる復号語が発見されたことであってよい。また、発見された復号語が正しいか否かの判断は、例えば符号化／復号部１４内の不図示の制御部が実行してもよい。復号に成功した場合（ステップＳ１０９のＹＥＳ）、外部の制御部１１等に復号の成功とともに発見された復号語が通知され（ステップＳ１１０）、本動作が終了する。一方、復号に成功していない場合（ステップＳ１０９のＮＯ）、本動作の反復回数が予め設定しておいた規定値に達しているか否かが判定され（ステップＳ１１１）、規定値に達していない場合（ステップＳ１１１のＮＯ）、ステップＳ１０３へリターンして、以降の動作を実行する。また、規定値に達していた場合（ステップＳ１１１のＹＥＳ）、外部の制御部１１等に復号の失敗が通知され（ステップＳ１１２）、本動作が終了する。なお、反復回数とは、例えば図８のステップＳ１０３〜Ｓ１０８の動作を繰り返した回数等であってよい。
【００６１】
つづいて、図７に示す次元１成分符号ＳＩＳＯ復号器１１２及び次元２成分符号ＳＩＳＯ復号器１２２それぞれに用いられる成分符号ＳＩＳＯ復号器の構成例について、図面を参照して詳細に説明する。図９は、本実施形態に係る成分符号ＳＩＳＯ復号器の概略構成例を示すブロック図である。
【００６２】
次元１成分符号ＳＩＳＯ復号器１１２及び次元２成分符号ＳＩＳＯ復号器１２２それぞれは、上述のMax-log-MAP復号アルゴリズムに従う場合、各成分符号語に関し、MAP復号語、MAP復号語の事後確率及び各ビットにおける対抗復号語の事後確率の三種類の値を記憶しておくことで、対数事後確率比を計算することができる。そこで、本実施形態に係る成分符号ＳＩＳＯ復号器１３０は、図９に示すように、軟判定入力値受信部１３１と、中間値計算部１３２と、信頼度情報計算部１３３とを備える。
【００６３】
軟判定入力値受信部１３１は、次元１軟判定入力値計算部１１１／次元２軟判定入力値計算部１２１で計算された次元１軟判定入力値／次元２軟判定入力値を受信し、受信した軟判定入力値を中間値計算部１３２及び信頼度情報計算部１３３それぞれへ出力する。
【００６４】
中間値計算部１３２は、入力された次元１軟判定入力値／次元２軟判定入力値に対して、Chase復号やOrdered Statistics復号などの復号処理を実行することで、復号対象の成分符号に対して、中間の硬判定値に相当するMAP復号語を計算し、計算されたMAP復号語を信頼度情報計算部１３３及び中間値メモリ１０２それぞれへ出力する。
【００６５】
信頼度情報計算部１３３は、復号対象の成分符号に関し、軟判定入力値受信部１３１から入力された次元１軟判定入力値／次元２軟判定入力値と、中間値計算部１３２から入力されたMAP復号語とから、MAP復号語の事後確率及び各ビットにおける対抗復号語の事後確率を計算し、計算されたMAP復号語の事後確率及び各ビットにおける対抗復号語の事後確率を信頼度情報として中間値メモリ１０２へ出力する。
【００６６】
これにより、復号対象の成分符号に関し、復号の途中の中間の硬判定値であるMAP復号語と、信頼度情報であるMAP復号語の事後確率及び各ビットにおける対抗復号語の事後確率とが中間値メモリ１０２に格納される。
【００６７】
つづいて、図８のステップＳ１０３及びＳ１０６において、図７における次元１軟判定入力値計算部１１１及び次元２軟判定入力値計算部１２１が次元１軟判定入力値及び次元２軟判定入力値を計算する際の動作フローを、図面を参照して詳細に説明する。図１０は、本実施形態に係る次元１軟判定入力値計算部の動作フローの一例を示すフローチャートである。なお、図１０には、次元１軟判定入力値計算部１１１の動作を示すが、同様の動作を次元２軟判定入力値計算部１２１に適用することが可能である。
【００６８】
図１０に示すように、次元１軟判定入力値計算部１１１は、次元１軟判定入力値を計算するにあたり、まず、読出し情報メモリ１０１から読出し情報を入力するとともに、中間値メモリ１０２から次元１中間値及び次元２中間値を入力する（ステップＳ１２１）。
【００６９】
つぎに、次元１軟判定入力値計算部１１１は、入力した読出し情報と次元１中間値及び次元２中間値とから次元２外部値の近似値を計算する。具体的には、次元１軟判定入力値計算部１１１は、次元２中間値における次元２のMAP復号語、次元２のMAP復号語の事後確率、及び次元２のビットごとの対抗復号語の事後確率から、次元２の対数事後確率比を計算する（ステップＳ１２２）。
【００７０】
つづいて、通常のMax-log-MAP復号であれば、次元２の対数事後確率比から次元２軟判定入力値を引くことで次元２外部値を求めることが可能であるが、本実施形態では、現時点で次元２軟判定入力値が未知である。そこで本実施形態では、読出し情報を次元２軟判定入力値の近似値として代用し、次元２の対数事後確率比から読出し情報を引くことで、次元２外部値（近似値）を近似的に計算する（ステップＳ１２３）。
【００７１】
つぎに、ステップＳ１２３で計算された次元２外部値の近似値と読出し情報とを加算することで、次元１軟判定入力値を計算する（ステップＳ１２４）。その後、計算された次元１軟判定入力値を次元１の成分符号ごとに次元１成分符号ＳＩＳＯ復号器１１２へ出力し（ステップＳ１２５）、図８に示す動作へリターンする。
【００７２】
以上のように、読出し情報を軟判定入力値の近似値として代用した場合でも、最終的に算出される軟判定入力値は、本来のターボ復号において計算されるべき軟判定入力値に対して、よい近似となっている。これは、本実施形態によれば、例えば図３に例示した構成における各次元の外部値メモリ９１３及び９２３を、より容量の小さい中間メモリ１０２で代用することができることを示唆している。
【００７３】
具体的には、通常のMax-log-MAP復号では、チャネル値、入力外部値情報、硬判定値及び信頼度の各情報を含む外部値を次元ごとに保持しておくメモリが必要であったが、本実施形態では、外部値として硬判定値（MAP復号語に相当）及び信頼度情報を保持しておけばよく、また、全ての次元に対して１つのメモリを共有することが可能となる。その結果、本実施形態によれば、復号に必要なメモリ量を削減することが可能である。
【００７４】
（第２の実施形態）
つぎに、第２の実施形態に係るメモリシステムについて、図面を参照して詳細に説明する。本実施形態における符号化／復号部を含むメモリシステムの構成は、第１の実施形態において図５〜図７、図９を用いて例示したメモリシステム１と同様であってよいため、ここでは重複する説明を省略する。また、本実施形態に係る近似的ターボ復号器の処理フローも第１の実施形態において図８を用いて説明した処理フローと同様であってよいため、ここでは重複する説明を省略する。ただし、本実施形態では、次元１軟判定入力値計算部１１１及び次元２軟判定入力値計算部１２１の動作フローが、第１の実施形態において図１０を用いて例示した動作フローとは異なる。
【００７５】
図１１は、本実施形態に係る次元１軟判定入力値計算部の動作フローの一例を示すフローチャートである。なお、図１１には、次元１軟判定入力値計算部１１１の動作を示すが、同様の動作を次元２軟判定入力値計算部１２１に適用することが可能である。また、図１１に示す動作において、図１０に示す動作と同様の動作については、同一の符号を付し、詳細な説明を省略する。
【００７６】
図１１に示すように、次元１軟判定入力値計算部１１１は、まず、図１０におけるステップＳ１２１と同様にして、読出し情報と次元１中間値及び次元２中間値とを入力し、入力した読出し情報と次元１中間値及び次元２中間値とから次元２外部値の近似値を計算する。ただし、本実施形態では、次元１軟判定入力値計算部１１１は、次元１中間値における次元１のMAP復号語、次元１のMAP復号語の事後確率、及び次元１のビットごとの対抗復号語の事後確率から、次元１の対数事後確率比を計算する（ステップＳ２２１）。つづいて、次元１軟判定入力値計算部１１１は、次元２中間値における次元２のMAP復号語、次元２のMAP復号語の事後確率、及び次元２のビットごとの対抗復号語の事後確率から、次元２の対数事後確率比を計算する（ステップＳ２２２）。
【００７７】
つづいて、通常のMax-log-MAP復号であれば、次元２の対数事後確率比から次元２軟判定入力値を引くことで次元２外部値を求めることが可能であるが、本実施形態では、第１の実施形態と同様に、現時点で次元２軟判定入力値が未知である。そこで本実施形態では、次元１の対数事後確率比を次元２軟判定入力値の近似値として代用し、次元２の対数事後確率比から次元１の対数事後確率比を引くことで、次元２外部値（近似値）を近似的に計算する（ステップＳ２２３）。
【００７８】
その後、次元１軟判定入力値計算部１１１は、図１０のステップＳ１２４〜Ｓ１２５で説明した動作と同様の動作を実行することで、次元２外部値の近似値と読出し情報とを加算して次元１軟判定入力値を計算し（ステップＳ１２４）、計算された次元１軟判定入力値を次元１の成分符号ごとに次元１成分符号ＳＩＳＯ復号器１１２へ出力して（ステップＳ１２５）、図８に示す動作へリターンする。
【００７９】
以上のように、一方の次元の対数事後確率比を他方の次元の軟判定入力値の近似値として代用した場合でも、最終的に算出される軟判定入力値は、本来のターボ復号において計算されるべき軟判定入力値に対して、よい近似となっている。これにより、第１の実施形態と同様に、例えば図３に例示した構成における各次元の外部値メモリ９１３及び９２３を、より容量の小さい中間メモリ１０２で代用することが可能となり、復号に必要なメモリ量を削減することが可能である。
【００８０】
その他の構成、動作及び効果は、上述した実施形態と同様であるため、ここでは詳細な説明を省略する。
【００８１】
（第３の実施形態）
つぎに、第３の実施形態に係るメモリシステムについて説明する。第１の実施形態において図１０を用いて例示した次元１軟判定入力値計算部１１１／次元２軟判定入力値計算部１２１の動作フローと、第２の実施形態において図１１を用いて例示した次元１軟判定入力値計算部１１１／次元２軟判定入力値計算部１２１の動作フローとは、特定の条件で選択的に切り替えて使い分けることが可能である。例えば、次元１又は次元２のMAP復号語の事後確率が予め定めておいた閾値より高い場合には、図１１に示した動作フローを用いて次元１軟判定入力値又は次元２軟判定入力値を求め、それ以外の場合には、図１０に示した動作フローを用いて次元１軟判定入力値又は次元２軟判定入力値を求めるというように、MAP復号語の事後確率に基づいて実行する動作フローを切り替えるように構成することも可能である。
【００８２】
そのような構成においても、上述した実施形態と同様に、例えば図３に例示した構成における各次元の外部値メモリ９１３及び９２３を、より容量の小さい中間メモリ１０２で代用することが可能となり、復号に必要なメモリ量を削減することが可能である。
【００８３】
その他の構成、動作及び効果は、上述した実施形態と同様であるため、ここでは詳細な説明を省略する。
【００８４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８５】
１…メモリシステム、１０…メモリコントローラ、１１…制御部、１２…データバッファ、１３…メモリＩ／Ｆ、１４…符号化／復号部、１５…ホストＩ／Ｆ、１６…内部バス、１７…符号化器、１８…復号器、２０…不揮発性メモリ、３０…ホスト、１００…近似的ターボ復号器、１０１…読出し情報メモリ、１０２…中間値メモリ、１１１…次元１軟判定入力値計算部、１１２…次元１成分符号ＳＩＳＯ復号器、１２１…次元２軟判定入力値計算部、１２２…次元２成分符号ＳＩＳＯ復号器、１３０…成分符号ＳＩＳＯ復号器、１３１…軟判定入力値受信部、１３２…中間値計算部、１３３…信頼度情報計算部、１８１…ＨＩＨＯ復号部、１８２…ＳＩＳＯ復号部。
【図１】
2019057812.tif 000004
【図２】
2019057812.tif 000005
【図３】
2019057812.tif 000006
【図４】
2019057812.tif 000007
【図５】
2019057812.tif 000008
【図６】
2019057812.tif 000009
【図７】
2019057812.tif 000010
【図８】
2019057812.tif 000011
【図９】
2019057812.tif 000012
【図１０】
2019057812.tif 000013
【図１１】
2019057812.tif 000014