(57)【要約】本開示は、階層化反復誤り訂正のための停止基準に関連する装置および方法を含む。いくつかの方法は、誤り訂正回路を用いて符号語を受信することと、階層毎に符号語をパリティ検査することを含む、誤り訂正回路を用いて符号語を反復的に誤り訂正することと、各階層後に符号語を更新することとを含み得る。方法は、パリティ検査が特定の階層で正しいことに応答して、反復誤り訂正を停止することを含み得る。【選択図】図２
2016504848.tif 000002
【特許請求の範囲】
【請求項１】
誤り訂正回路を用いて符号語を受信することと、
前記誤り訂正回路を用いて前記符号語を反復的に誤り訂正することであって、
階層毎に前記符号語をパリティ検査することと、
各階層後に前記符号語を更新することと、を含む、反復的に誤り訂正することと、
パリティ検査が特定の階層で正しいことに応答して、前記反復誤り訂正を停止することと、を含む、方法。
【請求項２】
前記反復誤り訂正を停止することが、前記パリティ検査が閾値数の単位のデータ内の前記特定の階層で正しいことに応答して、前記反復誤り訂正を停止することを含む、請求項１に記載の方法。
【請求項３】
前記反復誤り訂正を停止することが、前記パリティ検査が全単位のデータの前記特定の階層で正しいことに応答して、前記反復誤り訂正を停止することを含む、請求項１に記載の方法。
【請求項４】
前記反復誤り訂正を停止することが、前記特定の反復の次の階層を誤り訂正することなく、特定の反復の特定の階層後に前記反復誤り訂正を停止することを含む、請求項１に記載の方法。
【請求項５】
前記方法が、閾値数の反復が完了され、かつ前記パリティ検査が最後の反復の最後の階層で正しくないことに応答して、前記反復誤り訂正を停止することを含む、請求項１に記載の方法。
【請求項６】
前記反復誤り訂正を停止することが、前記パリティ検査が前記特定の階層および少なくとも１つの他の階層で正しいことに応答して、前記反復誤り訂正を停止することを含む、請求項１に記載の方法。
【請求項７】
前記反復誤り訂正を停止することが、前記パリティ検査が閾値数の単位のデータ内の前記特定の階層および前記少なくとも１つの他の階層で正しいことに応答して、前記反復誤り訂正を停止することを含む、請求項６に記載の方法。
【請求項８】
前記反復誤り訂正を停止することが、前記パリティ検査が全単位のデータの前記特定の階層および前記少なくとも１つの他の階層で正しいことに応答して、前記反復誤り訂正を停止することを含む、請求項６に記載の方法。
【請求項９】
前記方法が、前記反復誤り訂正を停止した後に、前記符号語を異なる誤り訂正回路へ転送することを含む、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
前記誤り訂正回路を用いて前記符号語を反復的に誤り訂正することが、前記符号語を誤り訂正するために、準巡回低密度パリティ検査符号を使用することを含み、
前記方法が、前記異なる誤り訂正回路を用いて前記符号語を誤り訂正するために、代数的符号を使用することを含む、請求項９に記載の方法。
【請求項１１】
第１の誤り訂正回路を用いて符号語を受信することと、
前記第１の誤り訂正回路を用いて、階層毎に前記符号語を反復的に誤り訂正することと、
前記第１の誤り訂正回路を用いて、各階層後に前記符号語を更新することと、
パリティ検査が特定の階層で正しいことに応答して、前記符号語を第２の誤り訂正回路へ転送することと、を含む、方法。
【請求項１２】
前記方法が、パリティ検査が最後の反復の最後の階層で正しいかにかかわらず、閾値数の反復が完了されたことに応答して、前記符号語を前記第２の誤り訂正回路へ転送することを含む、請求項１１に記載の方法。
【請求項１３】
前記符号語を転送することが、前記符号語のコピーを転送することを含み、
前記方法が、前記第２の誤り訂正回路が前記符号語上で動作する間、前記第１の誤り訂正回路を用いて、前記符号語を継続して反復的に誤り訂正することを含む、請求項１２に記載の方法。
【請求項１４】
前記方法が、前記第２の誤り訂正回路が前記符号語の訂正不可能な誤りを報告したことに応答して、前記第１の誤り訂正回路を用いて前記反復誤り訂正を停止することを含む、請求項１３に記載の方法。
【請求項１５】
前記方法が、
前記第２の誤り訂正回路を用いて、前記符号語内の閾値数以下の誤りを訂正することと、
前記符号語内の前記誤りの数が前記閾値を超えたことに応答して、訂正不可能な誤りを報告することと、を含む、請求項１２に記載の方法。
【請求項１６】
前記方法が、
前記第１の誤り訂正回路を用いて前記符号語を誤り訂正するために、準巡回低密度パリティ検査符号を使用することと、
前記第２の誤り訂正回路を用いて前記符号語を誤り訂正するために、代数的符号を使用することと、を含む、請求項１５に記載の方法。 
【請求項１７】
前記特定の階層が、反復の最後の階層以外の階層である、請求項１１〜１６のいずれか１項に記載の方法。
【請求項１８】
メモリデバイスからハードデータを含む符号語を受信することと、
前記符号語が特定の階層内に閾値数未満のパリティ誤りを含むまで、または閾値数の反復が実行されるまで、第１の誤り訂正回路を用いて、階層毎に前記符号語を反復的に誤り訂正することと、
第２の誤り訂正回路を用いて前記符号語を誤り訂正することと、
前記第１および前記第２の誤り訂正回路による誤り訂正の失敗に応答して、前記メモリデバイスからソフトデータを受信することと、を含む、方法。
【請求項１９】
前記方法が、前記符号語が前記特定の階層内に前記閾値数未満のパリティ誤りを含んだことに応答して、前記符号語を、前記第１の誤り訂正回路から前記第２の誤り訂正回路へ転送することを含む、請求項１８に記載の方法。
【請求項２０】
前記方法が、前記第１および前記第２の誤り訂正回路による誤り訂正の成功に応答して、前記符号語を、前記第２の誤り訂正回路からホストへ転送することを含む、請求項１８に記載の方法。
【請求項２１】
前記方法が、前記第１および前記第２の誤り訂正回路による誤り訂正の成功に応答して、プログラム検証動作の成功を示すことを含む、請求項１８に記載の方法。
【請求項２２】
前記方法が、前記第１の誤り訂正回路を用いて前記反復誤り訂正を停止したことに応答して、前記第２の誤り訂正回路を用いた前記符号語の誤り訂正を開始することを含む、請求項１８〜２１のいずれか１項に記載の方法。
【請求項２３】
前記方法が、
前記第１の誤り訂正回路を用いて、準巡回低密度パリティ検査符号を使用することと、
前記第２の誤り訂正回路を用いて、代数的符号を使用することと、を含む、請求項２２に記載の方法。
【請求項２４】
反復誤り訂正回路であって、
階層毎に符号語を反復的に誤り訂正し、
各階層後に前記符号語を更新し、かつ
パリティ検査が特定の階層で正しいことに応答して、前記符号語を代数的誤り訂正回路へ転送するように構成される、反復誤り訂正回路を備える、装置。
【請求項２５】
前記特定の階層にパリティ誤りが存在しない場合、前記反復パリティ検査が正しい、請求項２４に記載の装置。
【請求項２６】
前記特定の階層に閾値数未満のパリティ誤りが存在する場合、前記反復パリティ検査が正しい、請求項２４に記載の装置。
【請求項２７】
前記閾値数が、前記代数的誤り訂正回路によって訂正可能な誤りの数に基づいて選択される、請求項２６に記載の装置。
【請求項２８】
前記装置が、前記装置の経時的年齢、前記装置のプログラム／消去サイクルの数、前記装置の記憶密度、前記装置の保持率、および前記符号語が記憶される前記装置内の物理的場所を含む特徴群から選択される前記装置の特徴に基づいて前記閾値数を選択するように構成される、請求項２６に記載の装置。
【請求項２９】
前記パリティ誤りの閾値数が、前記装置のファームウェア内で選択可能な選択肢である、請求項２６に記載の装置。
【請求項３０】
前記反復誤り訂正回路が、準巡回低密度パリティ検査符号回路を備える、請求項２４〜２９のいずれか１項に記載の装置。
【請求項３１】
メモリデバイスと、
前記メモリデバイスに連結される第１の訂正回路であって、
前記メモリデバイスからハードデータを含む符号語を受信し、かつ
前記符号語が特定の反復の特定の階層に閾値数未満のパリティ誤りを含むまで、または閾値数の反復が実行されるまで、階層毎に前記符号語を反復的に誤り訂正するように構成される、第１の誤り訂正回路と、
前記第１の誤り訂正回路に連結された第２の誤り訂正回路であって、
前記符号語が、前記特定の階層に前記閾値数未満のパリティ誤りを含んだ後に、前記第１の誤り訂正回路から前記符号語を受信し、かつ
前記符号語を誤り訂正するように構成される、第２の誤り訂正回路と、
前記第２の誤り訂正回路に連結されたホストインターフェースであって、前記第２の誤り訂正回路による誤り訂正の成功に応答して、前記符号語を受信するように構成される、ホストインターフェースと、を備える、装置。
【請求項３２】
前記第１の誤り訂正回路が、前記第２の誤り訂正回路による誤り訂正の失敗に応答して、前記メモリデバイスからソフトデータを受信するように構成される、請求項３１に記載の装置。
【請求項３３】
前記装置が、パリティ誤りの前記閾値数を定義するために、選択可能な選択肢を提供するファームウェアを含む、請求項３１〜３２のいずれか１項に記載の装置。
【請求項３４】
前記第１の誤り訂正回路が、準巡回低密度パリティ検査（ＬＤＰＣ）符号回路を備え、前記第２の誤り訂正回路が、代数的誤り訂正回路を備える、請求項３１に記載の装置。
【請求項３５】
前記代数的誤り訂正回路が、ボースチャウドゥーリーオッカンガム（ＢＣＨ）誤り訂正回路およびリードソロモン誤り訂正回路を含む群のうちの１つを備える、請求項３４の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
［優先権情報］
本出願は、２０１２年１２月７日に出願された米国仮出願第６１／７３４，４７３号の非仮出願である、２０１３年１月２２日に出願された米国出願第１３／７４６，７６８号に対する優先権を主張するものであり、その内容は、参照により本明細書に組み込まれる。
【０００２】
［技術分野］
本発明は、概して、半導体メモリおよび方法に関し、より具体的には、階層化反復誤り訂正のための停止基準に関連する装置および方法に関する。
【背景技術】
【０００３】
メモリデバイスは、典型的には、コンピュータまたは他の電子デバイス内の内部半導体集積回路として提供される。揮発性および不揮発性メモリを含む、多くの異なる種類のメモリがある。揮発性メモリは、データ（例えば、ホストデータ、エラー情報等）を維持するために電力を必要とする可能性があり、中でも、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、および同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）を含む。不揮発性メモリは、電源が入っていない場合に記憶されたデータを維持することによって、永続的なデータを提供することができ、ＮＡＮＤフラッシュメモリ、ＮＯＲフラッシュメモリ、読み取り専用メモリ（ＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、ならびに、中でも、相変化ランダムアクセスメモリ（ＰＣＲＡＭ）、抵抗ランダムアクセスメモリ（ＲＲＡＭ）、および磁気抵抗ランダムアクセスメモリ（ＭＲＡＭ）等の抵抗可変メモリを含むことができる。
【０００４】
メモリデバイスは、ソリッドステートドライブ（ＳＳＤ）のように、メモリシステムの記憶容量を形成するために一緒に組み合わせることができる。ソリッドステートドライブは、不揮発性メモリ（例えば、ＮＡＮＤフラッシュメモリおよびＮＯＲフラッシュメモリ）を含むことができ、および／または多様な他の種類の不揮発性および揮発性メモリの中でも、揮発性メモリ（例えば、ＤＲＡＭおよびＳＲＡＭ）を含むことができる。
【０００５】
ソリッドステートドライブは、性能、サイズ、重量、耐久性、動作温度範囲、および消費電力の面で、ハードドライブに勝る利点を有することができるので、コンピュータのための主記憶容量としてハードディスクドライブを置換するためにＳＳＤを使用することができる。例えば、ＳＳＤは、動く部品がないことから、磁気ディスクドライブと比較した場合に優れた性能を有することが可能で、シーク時間、待ち時間、および、磁気ディスクドライブと関連付けられる他の電気機械的遅延を回避することができる。
【０００６】
メモリは、広範囲の電子用途のために揮発性および不揮発性データ記憶装置として利用される。不揮発性メモリは、ラップトップコンピュータ、携帯用メモリスティック、デジタルカメラ、携帯電話、ＭＰ３プレーヤー等の携帯用音楽プレーヤー、動画プレーヤー、およびその他の電子デバイス等、携帯用電子デバイスにおいて使用されてもよい。メモリセルは、アレイに配置することができ、アレイが、メモリデバイス内で使用される。
【０００７】
誤り訂正の１種には、低密度パリティ検査（ＬＤＰＣ）符号が関与する。符号化されていない（例えば、「生」の）データは、伝送および／または記憶のために符号語に符号化することができる。符号語は、データを復元するために、その後復号することができる。強力ではあるが、待ち時間、スループット、および／または携帯用電子デバイスによって課されるような電力制約に対して、バランスされた誤り訂正が所望され得る。
【図面の簡単な説明】
【０００８】
【図１】本開示のいくつかの実施形態に従い、少なくとも１つのメモリシステムを含むコンピューティングシステムの形式における装置のブロック図である。
【図２】本開示のいくつかの実施形態に従い、階層化反復誤り訂正を停止するためのフロー図を示す。
【図３】本開示のいくつかの実施形態に従い、誤り訂正回路（ＥＣＣ）の生のビット誤り率（ＲＢＥＲ）に対する電力節約を示すプロットである。
【図４】本開示のいくつかの実施形態に従い、生のビット誤り率（ＲＢＥＲ）に対する符号語誤り率（ＣＷＥＲ）を示すプロットである。
【発明を実施するための形態】
【０００９】
本開示は、階層化反復誤り訂正のための停止基準に関係する装置および方法を含む。いくつかの方法は、誤り訂正回路を用いて符号語を受信することと、階層毎に符号語をパリティ検査することを含む、誤り訂正回路を用いて符号語を反復的に誤り訂正することと、各階層後に符号語を更新することとを含むことができる。方法は、パリティ検査が特定の階層で正しいことに応答して、反復誤り訂正を停止することを含むことができる。
【００１０】
本開示の以下の詳細説明において、本明細書の一部を形成する添付の図面を参照し、図面では、図示により、本開示の１つ以上の実施形態がどのように実践されてもよいかが示される。これらの実施形態は、当業者が本開示の実施形態を実践することを可能にするために十分な詳細が説明されるとともに、他の実施形態が利用されてもよいこと、ならびに本開示の範囲を逸脱することなく工程、電気的および／または構造的変更が行われてもよいことを理解されたい。本明細書で使用される様に、特に図面中の参照番号に関して、指定子「Ｍ」は、そのように指定された、いくつかの特定の特徴を含めることができることを示す。本明細書で使用されるように、「いくつかの」特定の事柄は、そのような事柄のうちの１つ以上を指すことができる（例えば、いくつかのメモリデバイスは、１つ以上のメモリデバイスを指すことができる）。
【００１１】
本明細書の図面は、図面の図の番号に対応する最初の数字（単数または複数）および残りの数字が、図面中の要素または構成要素を識別するという番号付け規則に従う。異なる図面間の同様の要素または構成要素は、同様の数字の使用によって識別されてもよい。理解されるように、本明細書の多様な実施形態に示される要素は、本開示のいくつかの追加の実施形態を提供するように、追加、交換、および／または排除することができる。加えて、理解されるように、図面に提供される要素の比率および相対的縮尺は、本発明の所定の実施形態を図示することを目的とし、限定的意味で解釈されてはならない。
【００１２】
図１は、本開示のいくつかの実施形態に従い、少なくとも１つのメモリシステム１０４を含むコンピューティングシステム１００の形式における装置のブロック図である。本明細書で使用されるように、メモリシステム１０４、コントローラ１０８、またはメモリデバイス１１０もまた、個別に「装置」として考えられる場合がある。例えば、メモリシステム１０４は、ソリッドステートドライブ（ＳＳＤ）であることができ、ホストインターフェース１０６と、コントローラ１０８（例えば、プロセッサおよび／または他の制御回路）と、メモリシステム１０４のための記憶容量を提供する、いくつかのメモリデバイス１１０−１、．．．、１１０−Ｍ（例えば、ＮＡＮＤフラッシュデバイス等のソリッドステートメモリデバイス）を含むことができる。いくつかのメモリデバイス１１０−１、．．．、１１０−Ｍは、本明細書において概して、メモリデバイス１１０として参照されてもよい。別の実施形態において、メモリシステム１０４は、単一のメモリデバイスであってもよい。
【００１３】
図１に図示されるように、コントローラ１０８は、複数のチャネルを介して、ホストインターフェース１０６およびメモリデバイス１１０に連結することができ、メモリシステム１０４とホスト１０２との間でデータを送信するために使用することができる。インターフェース１０６は、標準インターフェースの形式であり得る。例えば、メモリシステム１０４が、コンピューティングシステム１００内のデータ記憶のために使用する場合、インターフェース１０６は、他のコネクタおよびインターフェースのうち、シリアルアドバンストテクノロジアタッチメント（ＳＡＴＡ）、周辺機器相互接続エクスプレス（ＰＣＩｅ）、またはユニバーサルシリアルバス（ＵＳＢ）であり得る。しかしながら、一般に、インターフェース１０６は、メモリシステム１０４と、インターフェース１０６のための互換性レセプターを有するホスト１０２との間の制御、アドレス、データ、および他の信号を渡すためのインターフェースを提供することができる。
【００１４】
ホスト１０２は、多様な他の種類のホストの中でも、パーソナルラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、移動電話、またはメモリカードリーダ等のホストシステムであり得る。ホスト１０２は、システムマザーボードおよび／またはバックプレーンを含むことができ、いくつかのメモリアクセスデバイス（例えば、いくつかのプロセッサ）を含むことができる。ホスト１０２は、メモリシステム１０４がメモリデバイスである（例えば、オンダイコントローラを有する）場合のように、メモリコントローラであり得る。
【００１５】
コントローラ１０８は、他の動作の中でも、データの読み出し、プログラム検証、書き込み、および消去の動作を制御するために、メモリデバイス１１０（いくつかの実施形態では、単一のダイ上のいくつかのメモリアレイであり得る）と通信することができる。いくつかの実施形態において、コントローラ１０８は、いくつかのメモリデバイス１１０−１、．．．、１１０−Ｍのうちのいずれか、または全てと同じダイまたは異なるダイ上に存在することができる。
【００１６】
具体的に図示されないが、いくつかの実施形態において、コントローラ１０８は、コントローラ１０８をメモリデバイス１１０−１、．．．、１１０−Ｍに連結する各チャネルのための離散メモリチャネルコントローラを含むことができる。コントローラ１０８は、例えば、いくつかのメモリデバイス１１０−１、．．．、１１０−Ｍへのアクセスを制御するため、および／またはホスト１０２とメモリデバイス１１０−１、．．．、１１０−Ｍとの間のデータ転送を促進するために、ハードウェアおよび／またはファームウェア（例えば、１つ以上の集積回路）、および／またはソフトウェアの形式において、いくつかの構成要素を含むことができる。
【００１７】
メモリデバイス１１０−１、．．．、１１０−Ｍの数は、いくつかのアレイのメモリセル（例えば、不揮発性メモリセル）を含むことができる。アレイは、例えば、ＮＡＮＤアーキテクチャによるフラッシュアレイであり得る。しかしながら、実施形態は、特定の種類のメモリアレイまたはアレイアーキテクチャに限定されない。メモリセルは、例えば、いくつかの物理的ページを含む、いくつかのブロックにグループ化することができる。いくつかのブロックは、１プレーンのメモリセルに含めることができ、アレイは、いくつかのプレーンを含むことができる。一例として、メモリデバイスは、ページあたり８ＫＢ（キロバイト）のユーザーデータ、ブロックあたり１２８ページのユーザーデータ、プレーンあたり２０４８ブロック、およびデバイスあたり１６プレーンを記憶するように構成されてもよい。
【００１８】
動作中、データは、例えば、１ページのデータとして、メモリ（例えば、システム１０４のメモリデバイス１１０−１、．．．、１１０−Ｍ）に書き込むこと、および／またはそれから読み出すことができる。このように、１ページのデータは、メモリシステムのデータ転送サイズとして参照することができる。データは、セクタ（例えば、ホストセクタ）と呼ばれるデータセグメントにおいて、ホスト（例えばホスト１０２）へ／から伝送することができる。このように、１セクタのデータは、ホストのデータ転送サイズとして参照することができる。
【００１９】
図１に図示されるように、コントローラ１０８は、代数的誤り訂正回路１１４（「代数的ＥＣＣ」）に連結された反復誤り訂正回路１１２（「階層化反復ＥＣＣ」）を含むことができる。反復誤り訂正回路１１２は、メモリデバイス１１０に連結することができ、代数的誤り訂正回路１１４は、ホストインターフェース１０６に連結することができる。例えば、反復誤り訂正回路１１２は、階層化反復誤り訂正を適用する他の反復誤り訂正回路の中でも、準巡回低密度パリティ検査（ＬＤＰＣ）符号回路であり得る。単一の回路として示されているが、反復誤り訂正回路１１２は、別々の符号化回路（例えば、メモリデバイス１１０に記憶されるデータを符号化するため）および復号回路（例えば、メモリデバイス１１０に記憶されるデータを復号するため）として提供することができる。代数的誤り訂正回路１１４は、他の代数的誤り訂正回路の中でも、ボースチャウドゥーリーオッカンガム（ＢＣＨ）誤り訂正回路、およびリードソロモン誤り訂正回路を含む群のうちの１つであり得る。単一の回路として示されているが、代数的誤り訂正回路１１４は、別々の符号化回路（例えば、メモリデバイス１１０に記憶されるデータを符号化するため）および復号回路（例えば、メモリデバイス１１０に記憶されるデータを復号するため）として提供することができる。反復誤り訂正回路１１２および代数的誤り訂正回路１１４の各々は、特定用途向け集積回路（ＡＳＩＣ）のような離散構成要素であり得るか、または構成要素は、コントローラ１０８の他の部分とは個別の離散物理形態を必ずしも有さない、コントローラ１０８内部の回路によって提供され、機能的に反映してもよい。図１のコントローラ１０８内部の構成要素として示されているが、反復誤り訂正回路１１２および代数的誤り訂正回路１１４の各々は、コントローラ１０８の外部に存在するか、またはコントローラ１０８内部に位置するいくつかの構成要素と、コントローラ１０８の外部に位置するいくつかの構成要素とを有することができる。
【００２０】
反復誤り訂正回路１１２は、メモリデバイス１１０から符号語を受信するように構成することができる。いくつかの実施形態において、反復誤り訂正回路１１２は、ソフトデータを受信することなく、メモリデバイス１１０から読み出されるハードデータからなることができる、符号語を受信することができる。いくつかの実施形態において、反復誤り訂正回路１１２は、ハードデータを含む符号語を受信することができ、それと共に符号語に対応するソフトデータを受信することができる。いくつかの実施形態において、反復誤り訂正回路１１２は、ハードデータを含む符号語を受信することができ、符号語に対応するソフトデータを個別に受信することができる（例えば、ソフトデータが、符号語の個別のソフト読み出しに基づいて受信される場合、またはソフトデータが本来、ハードデータと共に読み出され、バッファされ、バッファから受信される場合）。ハードデータは、メモリセルのデータ状態に対応するデータである。例えば、２ビットメモリセルは、４つのデータ状態のうちの１つにプログラミングすることができ、各データ状態が、データ００、０１、１０、または１１のうちの１つに対応する。対照的に、メモリセルと関連付けられるソフトデータは、メモリセルがプログラミングされた標的状態を表す状態の分布（例えば、Ｖｔ分布）内のメモリセルに記憶された状態（例えば、閾値電圧（Ｖｔ））の位置を示すことができる。符号語に対応するソフトデータは（符号語がハードデータからなる場合）、符号語内のハードデータに対応するソフトデータを含むことができる（例えば、ソフトデータは、符号語内のハードデータのより高い分解能を示すことができる）。メモリデバイスは、そこから読み出されるハードデータのためにソフトデータビットの特定の数を決定するように構成することができる。上述の２ビットメモリセルの場合、ソフトデータの例は、そうでなければ最大１６の異なる状態を表すことができる、４ビットを使用するより高い分解能を含むことができる。ソフトデータの分解能は、離散読み出し信号を採用する実施形態の場合、メモリ上に記憶されたＶｔを発見するために行われた読み出しの数に依存することができ、読み出しが多くなると、より高い分解能を提供することができる。ランピング読み出し信号を採用する実施形態の場合、ソフトデータの分解能は、メモリセルのＶｔの値をデータに相関付ける、アナログ‐デジタル変換器または他の回路からの出力として提供される分解能に依存することができ、分解能は、メモリデバイス１１０から、入力／出力（Ｉ／Ｏ）バスを介して伝送されるビットの数によって反映される。例えば、メモリデバイス１１０は、８ビットの分解能を用いて、２ビットのデータを記憶する特定のメモリセルを読み出し、Ｉ／Ｏバスを介して２ビット（２ビットのハードデータおよびゼロビットのソフトデータ）から８ビット（２ビットのハードデータおよび６ビットのソフトデータ）までのいずれでも伝送するように構成することができる。
【００２１】
反復誤り訂正回路１１２は、階層毎に符号語をパリティ検査し、各階層後に符号語を更新することによって、符号語を反復的に誤り訂正することができる。反復誤り訂正回路１１２によって実行される誤り訂正の１回の反復は、２つ以上のパリティ検査階層を含むことができる。反復誤り訂正回路１１２は、反復信頼性伝播復号器を使用することができ、反復誤り訂正回路１１２が、可変ノードおよび検査ノードの２つの種類の処理ノードを含むことができる。処理ノードは、ＬＤＰＣ符号のパリティ検査行列に従って連結することができる。検査ノードは、符号語をパリティ検査する（例えば、シンドローム検査を実行する）および／または更新する回路として実装することができる。いくつかの実施形態において、符号語を更新することは、他の機能の中でも、信頼性データ（例えば、対数尤度比（ＬＬＲ））を更新することを含むことができる。例えば、各可変ノードと関連付けられる信頼性データを更新すると、各可変ノードと関連付けられる符号語のそれぞれのビットの値を更新させることができる（例えば、符号語の１ビットを更新することが、そのビットの値を変更すること、またはそのビットの値を保持することを含む場合）。このように、信頼性データを更新すると、符号語を有効に更新する。ソフトデータおよび／または信頼性データを含まないハードデータを受信すること（例えば、ハードデータの読み出しに基づいて）を含む実施形態の場合、信頼性データは、復号処理中のＬＤＰＣ符号のパリティ検査制約に少なくとも部分的に基づいて、符号語に割り当てることができる。ソフトデータとともにハードデータを受信すること（例えば、ソフトデータの読み出しに基づいて）を含む実施形態の場合、信頼性データは、ソフトデータに少なくとも部分的に基づいて、符号語に割り当てることができる（例えば、ハード読み出しの場合とは異なり、反復誤り訂正回路１１２への入力が信頼性データを含む）。符号語は、復号の各階層（または、いくつかの複数の階層、あるいは、例えば、反復１回あたり１つ）の間に更新することができる（例えば、反復誤り訂正回路１１２は、ＬＤＰＣ符号のパリティ検査制約に基づいて入力信頼性データを更新することができる）。反復の各階層は、検査ノードの全て未満からの入力（例えば、それぞれ１つ）を受信することと、検査ノードのそれぞれの１つからの入力に少なくとも部分的に基づいて（例えば、いくつかの実施形態において、これのみに基づいて）信頼性データを更新することとを含むことができる。いくつかの実施形態は、いくつかの階層のＬ個毎に信頼性データを更新することを含むことができる（例えば、Ｌは、１つの階層から全階層までの変数であり、信頼性データは、各階層毎、２階層毎に１回、３階層毎に１回等、１回の反復で１回まで、更新することができる）。信頼性データは、それに連結された検査ノードのそれぞれの１つからの入力に基づいて更新することができる。いくつかの実施形態において、階層化更新は、可変ノードが、それに連結された検査ノードの各々から入力を受信するまで、進行することができる。それに連結された、いくつかの検査ノードの全てに対して、可変ノードで記憶された信頼性データ値の階層化更新は、それ以降の（更新された）信頼性データ値を可変ノードから、それに連結された検査ノードの各々へ送信する前に、１回の反復に対して完了することができる。
【００２２】
反復誤り訂正回路１１２は、階層化パリティ検査が特定の階層で正しいことに応答して、符号語またはそのコピーを代数的誤り訂正回路１１４へ転送することができる。いくつかの実施形態において、反復誤り訂正回路１１２は、階層化パリティ検査が特定の階層で正しいことに応答して、またはパリティ検査が特定の階層および少なくとも１つの他の階層で正しいことに応答して、符号語を誤り訂正することを停止することができる。いくつかの実施形態において、階層化パリティ検査は、特定の階層に、またはいくつかの実施形態において、特定の階層および少なくとも１つの他の階層に、パリティ誤りが存在しない場合（パリティ検査が、特定の階層および／または少なくとも１つの他の階層の検査されたデータの全単位で正しい場合）、正しいと見なすことができる。いくつかの実施形態において、階層化パリティ検査は、特定の階層に、またはいくつかの実施形態では、特定の階層および少なくとも１つの他の階層に、閾値未満のパリティ誤りが存在する場合、正しい。例えば、パリティの誤りの閾値数は、代数的誤り訂正回路１１４の訂正能力に基づいて選択することができる。いくつかの実施例において、コントローラ１０８は、メモリデバイス１１０の他の特徴のうち特に、メモリデバイス１１０の経時的年齢、メモリデバイス１１０のプログラム／消去サイクルの数、メモリデバイス１１０の記憶密度、メモリデバイス１１０の保持率（例えば、プログラミングされたメモリセルが、どの程度の期間、電荷を保持することができるか）、および／またはメモリデバイス１１０内部の符号語が記憶されている物理的位置（符号語、またはその一部がエッジワード線上に記憶されているかどうか）等、メモリデバイス１１０のいくつかの特徴に基づいて、誤りの閾値数を選択するように構成することができる。いくつかの実施形態において、パリティ誤りの閾値数は、選択可能な選択肢として、コントローラ１０８のファームウェア内に定義することができる。
【００２３】
いくつかの実施形態において、反復誤り訂正回路１１２は、符号語が特定の反復の特定の階層において閾値数未満のパリティ誤りを含むまで、符号語を誤り訂正することができる。いくつかの実施形態に従い、（例えば、符号語が、特定の階層内に閾値数未満のパリティ誤りを含んだ後）代数的誤り訂正回路１１４が反復誤り訂正回路１１２から更新された符号語を受信することができるように、連接符号化方式を採用することができる。次いで、代数的誤り訂正回路１１４は、その代数的誤り訂正符号の制約に従って、符号語を誤り訂正することができる。代数的誤り訂正回路１１４は、代数的誤り訂正回路による誤り訂正の成功に応答して、符号語またはそのコピーをホストインターフェース１０６へ転送するように構成することができる（そして、ホストインターフェースは、符号語を受信するように構成することができる）。コントローラ１０８は、代数的誤り訂正回路による誤り訂正の成功に応答して、プログラム検証動作の成功を示すように構成することができる。代数的誤り訂正回路１１４による誤り訂正が失敗である場合、反復誤り訂正回路１１２は、代数的誤り訂正回路１１４による誤り訂正の失敗に応答して、メモリデバイス１１０から（例えば、メモリのソフトデータ読み出しから、またはその前に読み出されたソフトデータを記憶するバッファから）ソフトデータを受信するように構成することができる（例えば、コントローラ１０８は、ソフト読み出しを開始する、および／またはハードデータとともにその前に読み出されていたソフトデータを要求することができる）。
【００２４】
いくつかの実施形態において、反復誤り訂正回路１１２は、ハードデータを含む受信された符号語のために１回だけ反復することができ、次いで、符号語は、反復誤り訂正回路１１２によって達成されていない任意の残りの誤り訂正のために、代数的誤り訂正回路１１４へ転送することができる。連接方式が符号語を訂正するために不十分である場合、ソフトデータをメモリデバイス１１０から呼び出すことができ、符号語を修正するために必要な回数、または反復の既定の閾値数まで、反復誤り訂正回路１１２を反復することができる。
【００２５】
反復誤り訂正回路１１２は、いくつかの反復（例えば、正規化最小和または他の反復復号アルゴリズムの反復）によって、増加した性能を達成することができる。反復誤り訂正回路１１２の１回の反復は、全てのパリティを繰り返し実行し、符号語を更新すること（例えば、ハード決定）と同等であり得る。しかしながら、反復誤り訂正回路１１２によって消費される電力の量は、実行される反復の回数と直接的に正比例する。いくつかのメモリシステム（例えば、携帯用電子デバイスのようにフラッシュメモリを採用するシステム）の厳しい電力割り当てから、本開示のいくつかの実施形態は、全ての反復を完了する前に、または特定の反復を完了する前ですら、反復誤り訂正回路１１２を停止する。さらに、反復誤り訂正回路１１２（例えば、内符号を提供する）および代数的誤り訂正回路１１４（例えば、外符号を提供する）の両方を使用する連接符号化方式が採用される。反復誤り訂正回路１１２および代数的誤り訂正回路１１４の両方が、符号語を訂正するために作動することから、残りの誤りが代数的誤り訂正回路１１４の訂正能力内であることが疑われると直ちに反復誤り訂正回路１１２を停止することは、省電力の観点から有益であり得る。符号語の誤り訂正は、（例えば、特定の階層が閾値数未満のパリティ誤りを有する場合）反復誤り訂正回路による反復誤り訂正を停止したことに応答して、代数的誤り訂正回路で開始することができる。しかしながら、いくつかの実施形態では、反復誤り訂正回路は、代数的誤り訂正回路が符号語上で動作する（例えば、訂正する）間、符号語を継続して反復的に誤り訂正することができる。このような実施形態において、第２の誤り訂正回路が符号語の訂正不可能な誤りを報告したことに応答して、反復誤り訂正回路を停止することができる。例として、反復誤り訂正回路１１２は、階層化最小和復号化アルゴリズムを採用するＬＤＰＣ復号器を備えることができ、一階層は、各ＬＤＰＣ符号語ビットが単一のパリティ検査に基づいて更新される反復の一区画と考えることができる。このような階層がパリティ誤りなし（または閾値数未満のパリティ誤り）となる場合、符号語が代数的誤り訂正回路１１４の誤り訂正能力内であろうという想定をすることができる。
【００２６】
図２は、本開示のいくつかの実施形態に従い、階層化反復誤り訂正を停止するためのフロー図を示す。２２０で、ハードデータを含む符号語は、メモリデバイス（例えば、図１に図示されるメモリデバイス１１０）から受信することができる。２２２で、誤り訂正は、（例えば、図１に図示される反復誤り訂正回路１１２を用いて）符号語上で実行することができる。例えば、反復誤り訂正は、階層毎に、符号語上で実行することができる。２２４に図示されるように、階層「Ｌ」の後、符号語を更新することができる。誤り訂正の各階層後、反復誤り訂正回路は、その階層内のパリティ誤りの数を認識することができる。２２６で、パリティ誤りの数が、パリティ検査閾値（例えば、代数的誤り訂正回路の訂正能力に基づいて選択される）以内である場合、（反復の次の階層を検査することなく）反復誤り訂正回路を停止することができ、２３０で、符号語を異なる誤り訂正回路へ（代数的誤り訂正回路へ）転送することができる。２２６で、パリティ誤りの数が、パリティ検査閾値内でない場合、２２８および２２２に図示されるように、誤り訂正反復の次の階層を実行することができる。図２には具体的に図示されないが、反復誤り訂正は、閾値数の反復が完了されたことに応答して、（誤り訂正の最後の反復の最後の階層のパリティ検査が正しいかにかかわらず）停止することができる。
【００２７】
２３２で、代数的誤り訂正回路が符号語を誤り訂正した後、符号語が代数的誤り訂正に合格または失敗したかを判断することができる。代数的誤り訂正が失敗した場合、２３４で、符号語に対応するソフトデータをメモリデバイスから呼び出すことができ、２２２で、ソフトデータを考慮しながら、符号語に対する反復誤り訂正を開始することができる。本開示のいくつかの実施形態において、ソフトデータは、第１（例えば、反復誤り訂正回路）および第２（例えば、代数的誤り訂正回路）の誤り訂正回路による誤り訂正の失敗に応答して、メモリデバイスから受信することができる。代数的誤り訂正回路は、閾値数以下の誤り（例えば、ビットまたはシンボル誤り）を訂正することができる。図２には具体的に図示されないが、代数的誤り訂正回路は、符号語内の誤りの数が代数的誤り訂正回路によって訂正可能な誤りの閾値数を超えるに応答して、訂正不可能な誤りを報告することができる。代数的誤り訂正が成功した場合、２３６で、符号語をホストに出力することができる。符号語は、第１および第２の誤り訂正回路による誤り訂正の成功に応答して、ホストに転送することができる。
【００２８】
図３は、本開示のいくつかの実施形態に従い、誤り訂正回路（ＥＣＣ）の生のビット誤り率（ＲＢＥＲ）に対する電力節約を示すプロットである。ＥＣＣの電力節約は、０〜Ｐで表され、Ｐは、電力節約のパーセントを示す（必ずしも１００％ではない）。ＲＢＥＲは、１０−（ｘ−１）〜１０−（ｘ＋１）で表され、ｘは正の整数を表す。グラフの右側に近いＲＢＥＲは、典型的なメモリデバイスの寿命の開始時に、典型的なＲＢＥＲを表すことができる。図示されるように、電力節約は、生のビット誤り率が増加すると減少することができる（グラフの左側に向かう傾向）。曲線は、本開示のいくつかの実施形態に従う、反復誤り訂正回路の電力節約を示す実験データを表す。
【００２９】
図４は、本開示のいくつかの実施形態に従い、生のビット誤り率（ＲＢＥＲ）に対する符号語の誤り率（ＣＷＥＲ）を示すプロットである。ＣＷＥＲは、１０−７〜１００で表される。ＲＢＥＲは、（ｙ＋１）＊１０−（ｘ−１）〜（ｙ−１）１０−（ｘ＋１）で表され、ｘおよびｙはそれぞれ正の整数を表す。図４のｘの値は必ずしも、図３のｘの値と同じではない。図４では区別されないが、２つの曲線が実際に示される。第１の曲線は、本開示のいくつかの実施形態に従い、反復誤り訂正回路が停止する場合の符号語の失敗率を表し、第２の曲線（究極的に第１の曲線と同一線上）は、周知のアルゴリズム（例えば、反復誤り訂正回路が早期に停止されない）に従い、いくつかの反復を完了する前に反復誤り訂正回路を停止しない、いくつかの以前の手法に従い、符号語の失敗率を表す。このように、図３および図４に図示されるように、本開示のいくつかの実施形態は、符号語の失敗率を増加させることなく、（例えば、連接誤り訂正方式において）反復誤り訂正回路の電力消費を減少させることができる。
【００３０】
［結論］
本開示は、階層化反復誤り訂正のための停止基準に関係する装置および方法を含む。いくつかの方法は、誤り訂正回路を用いて符号語を受信することと、階層毎に符号語をパリティ検査することを含む、誤り訂正回路を用いて符号語を反復的に誤り訂正することと、各階層後に符号語を更新することとを含むことができる。方法は、パリティ検査が特定の階層で正しいことに応答して、反復誤り訂正を停止することを含むことができる。
【００３１】
本明細書には特定の実施形態が図示され、説明されたが、当業者は、同じ結果を達成するために計算された配置が、示される特定の実施形態に置換され得ることを理解するであろう。本開示は、本開示の１つ以上の実施形態の適合または変形を網羅することを意図する。上記の説明は、限定の様式ではなく、例示の様式で行われたものであることを理解されたい。上記の実施形態の組み合わせ、および本明細書に具体的に記載されない他の実施形態は、上記の説明を確認すると当業者には明らかであろう。本開示の１つ以上の実施形態の範囲は、上記の構造および方法が使用される他の適用を含む。したがって、本開示の１つ以上の実施形態の範囲は、添付の請求項とともに、当該請求項に権利が与えられる等価物の全範囲を参照して判断されなければならない。
【００３２】
前述の詳細な説明において、いくつかの特徴は、本開示を能率化する目的のために、単一の実施形態にまとめられる。この開示の方法は、本開示の開示された実施形態が、各請求項に明示的に記載されるよりも多くの機能を使用しなければならないという意図を反映するとして解釈されてはならない。そうではなく、以下の請求項が反映するように、本発明の主題は、単一の開示された実施形態の全ての特徴未満に存在する。このように、以下の特許請求の範囲は、本明細書によって詳細な説明内に組み込まれ、それぞれの請求項は、別個の実施形態として独立している。
【図１】
2016504848.tif 000003
【図２】
2016504848.tif 000004
【図３】
2016504848.tif 000005
【図４】
2016504848.tif 000006
【手続補正書】
【提出日】平成27年6月26日(2015.6.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
誤り訂正回路を用いて符号語を受信することと、
前記誤り訂正回路を用いて前記符号語を反復的に誤り訂正することであって、
階層毎に前記符号語をパリティ検査することと、
各階層後に前記符号語を更新することと、を含む、反復的に誤り訂正することと、
パリティ検査が特定の階層で正しいことに応答して、前記反復誤り訂正を停止することと、を含む、方法。
【請求項２】
前記反復誤り訂正を停止することが、前記特定の反復の次の階層を誤り訂正することなく、特定の反復の特定の階層後に前記反復誤り訂正を停止することを含む、請求項１に記載の方法。
【請求項３】
階層が、反復の小数を含み、
前記特定の階層が、前記特定の反復の最後の小数以外の小数であり、前記パリティ検査が前記特定の階層で正しいことが、前記パリティ検査が閾値数未満のパリティ誤りをもたらすことを含む、請求項２に記載の方法。
【請求項４】
前記特定の階層が、反復の最後の階層以外の階層である、請求項１に記載の方法。
【請求項５】
前記反復誤り訂正を停止することが、前記パリティ検査が閾値数の単位のデータ内の前記特定の階層で正しいことに応答して、前記反復誤り訂正を停止することを含む、請求項１に記載の方法。
【請求項６】
前記方法が、前記反復誤り訂正を停止した後に、前記符号語を異なる誤り訂正回路へ転送することを含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記方法が、パリティ検査が最後の反復の最後の階層で正しいかにかかわらず、閾値数の反復が完了されたことに応答して、前記符号語を前記異なる誤り訂正回路へ転送することを含む、請求項６に記載の方法。
【請求項８】
前記符号語を転送することが、前記符号語のコピーを転送することを含み、
前記方法が、前記異なる誤り訂正回路が前記符号語上で動作する間、前記誤り訂正回路を用いて、前記符号語を継続して反復的に誤り訂正することを含む、請求項７に記載の方法。
【請求項９】
前記符号語を受信することが、メモリデバイスから前記符号語を受信することであって、前記符号語がハードデータを含む、受信することを含み、
前記方法が、
異なる誤り訂正回路を用いて前記符号語を誤り訂正することと、
前記誤り訂正回路および前記異なる誤り訂正回路による誤り訂正の失敗に応答して、前記メモリデバイスからソフトデータを受信することと、を含む、請求項１に記載の方法。
【請求項１０】
反復誤り訂正回路であって、
階層毎に符号語を反復的に誤り訂正し、
各階層後に前記符号語を更新し、かつ
パリティ検査が特定の階層で正しいことに応答して、前記符号語を代数的誤り訂正回路へ転送するように構成される、反復誤り訂正回路を備える、装置。
【請求項１１】
前記特定の階層が、反復の最後の階層以外の階層である、請求項１０に記載の装置。
【請求項１２】
階層が、反復の小数を含み、
前記特定の階層が、前記特定の反復の最後の小数以外の小数であり、前記パリティ検査が前記特定の階層で正しいことが、前記パリティ検査が閾値数未満のパリティ誤りをもたらすことを含む、請求項１０に記載の装置。
【請求項１３】
前記特定の階層に閾値数未満のパリティ誤りが存在する場合、前記反復パリティ検査が正しい、請求項１０に記載の装置。
【請求項１４】
前記閾値数が、前記代数的誤り訂正回路によって訂正可能な誤りの数に基づいて選択される、請求項１３に記載の装置。
【請求項１５】
前記装置が、前記装置の経時的年齢、前記装置のプログラム／消去サイクルの数、前記装置の記憶密度、前記装置の保持率、および前記符号語が記憶される前記装置内の物理的場所を含む特徴群から選択される前記装置の特徴に基づいて前記閾値数を選択するように構成される、請求項１３に記載の装置。
【国際調査報告】
2016504848.tif 000007
2016504848.tif 000008