(57)【特許請求の範囲】
【請求項１】
メモリを動作させる方法であって、
線形エラー訂正コードを使用してデータを符号化すること、
前記符号化されたデータに関してトレリスコード化変調（ＴＣＭ）を実施し前記符号化されたデータを変調すること、
前記変調されたデータをメモリに書込むこと、及び、
ビタビアルゴリズム及び線形エラー訂正コードデコーダの間の反復的なソフトデータの交換を使用して、前記書込まれたデータを復号化すること
を含み、
前記ＴＣＭを実施することは、マルチレベルトレリスを生成することを含み、前記マルチレベルトレリスを生成することは、（１／（１ｘｏｒＤ））プリコーダオペレーションを使用して前記符号化されたデータをプリコード化すること、及び、前記プリコード化されたエラーコード化データに関して（１＋Ｄ）オペレーションを実施することを含み、ここで、Ｄは、１つのユニットの遅延に対応する、
方法。
【請求項２】
データを符号化することは、低密度パリティチェック（ＬＤＰＣ）コードを使用してデータをエラーコード化することを含む、請求項１に記載の方法。
【請求項３】
変調スキームを実施することは、前記符号化されたデータの信号セットを拡張することを含む、請求項１又は２に記載の方法。
【請求項４】
前記符号化されたデータを変調することは、前記符号化されたデータに関連する２つの最も近いマルチレベルシーケンス間の２乗ユークリッド距離を増加させることを含み、
前記マルチレベルデータ内の２つの最も近いマルチレベルシーケンス間の２乗ユークリッド距離は、前記符号化されたバイナリデータに関連する２つの最も近いマルチレベルシーケンス間の前記２乗ユークリッド距離の約２倍である、
請求項１又は２に記載の方法。
【請求項５】
装置であって、
メモリと、
前記メモリに結合されたコントローラと、
前記コントローラに結合され、バイナリデータを符号化するように構成されるエラー訂正コードエンコーダと、
前記コントローラに結合され、トレリスコード化変調（ＴＣＭ）を使用して前記符号化されたバイナリデータの信号セットを拡張することによって前記符号化されたバイナリデータを変調するように構成される変調コンポーネントと、
前記コントローラに結合され、ソフト出力ビダビアルゴリズムによって生成されるハードデータ及びソフトデータを復号化するように構成される線形エラー訂正コードデコーダと、
を備え、
前記コントローラは、
前記変調されたデータを前記メモリに書込むこと、
前記変調されたデータを前記メモリから読出すこと、及び、
ビタビアルゴリズムを使用して前記変調されたデータを復号化すること
を制御するように構成されると共に、前記ビタビアルゴリズムと線形エラー訂正コードデコーダとの間でソフトデータを反復的に交換するように構成されることを含み、
前記ＴＣＭを、（１／（１ｘｏｒＤ））オペレーションを使用し、その後、（１＋Ｄ）オペレーションを使用して、前記符号化されたバイナリデータに関して実施する、装置。
【請求項６】
前記ソフトデータを反復的に交換する反復プロセスは、前記ビダビアルゴリズムから出力されるソフトデータに関連する雑音が所望の閾値レベルに到達されるまで実行される請求項５に記載の装置。
【請求項７】
前記エラー訂正コードエンコーダは、低密度パリティチェック（ＬＤＰＣ）コードを使用してバイナリデータを符号化するように更に構成される、請求項５に記載の装置。
【請求項８】
前記ビタビアルゴリズムは、ソフト出力ビタビアルゴリズム（ＳＯＶＡ）を含む、請求項５に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、半導体メモリ装置及び方法に関し、より詳細には、エラーコード化スキームと変調スキームを組合せるための装置及び方法に関する。
【背景技術】
【０００２】
メモリデバイスは、通常、コンピュータ又は他の電子デバイス内の内部半導体集積回路として提供される。とりわけ、ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、同期式ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、抵抗変化型メモリ（例えば、ＲＲＡＭ（登録商標））、及びフラッシュメモリを含む多くの異なるタイプのメモリが存在する。
【０００３】
メモリデバイスは、広い範囲の電子用途について揮発性及び不揮発性データストレージとして利用される。単なる１つのタイプのメモリであるフラッシュメモリは、通常、メモリセルの多数のアレイを備え、高いメモリ密度、高い信頼性、及び低電力消費を可能にする。不揮発性メモリは、例えば、パーソナルコンピュータ、可搬型メモリスティック、固体ドライブ（ＳＳＤ）、デジタルカメラ、携帯電話、ＭＰ３プレーヤ等の可搬型音楽プレーヤ、ムービープレーヤ、及び他の電子デバイス内で使用されることができる。
【図面の簡単な説明】
【０００４】
【図１】本開示の幾つかの実施形態による、少なくとも１つのメモリシステムを含むコンピューティングシステムの形態の装置のブロック図である。
【図２】本開示の幾つかの実施形態による、信号セット拡張と低密度パリティチェック（ｌｏｗ  ｄｅｎｓｉｔｙ  ｐａｒｉｔｙ  ｃｈｅｃｋ）（ＬＤＰＣ）コードとを組合せることを示す機能ブロック図である。
【図３】本開示の幾つかの実施形態に従って生成されるトレリスを示す図である。
【発明を実施するための形態】
【０００５】
エラーコード化スキームと変調スキームを組合せるための方法及び装置が提供される。１つの例の方法は、線形エラー訂正コードを使用してデータを符号化すること、符号化されたデータを変調すること、変調されたデータをメモリに書込むこと、及び、ビタビアルゴリズム及び線形エラー訂正コードデコーダを使用して、書込まれたデータを復号化することを含み得る。
【０００６】
ボーズ、チョドーリ、及びオッケンジュム（Ｂｏｓｅ，Ｃｈａｕｄｈｕｒｉ，ａｎｄ  Ｈｏｃｑｕｅｎｇｈｅｍ）（ＢＣＨ）コードは、フラッシュデータ内の一定数のエラーを訂正するために使用され得る。低密度パリティチェック（ＬＤＰＣ）コードは、こうしたＢＣＨコードを上回り得る。例えば、ＬＤＰＣコードは、ソフトデータ（例えば、信頼性情報）によって復号化され得る。
【０００７】
ストレージ密度が増加するにつれて、読出しオペレーションに関連する信号対雑音比（ＳＮＲ）は、減少する可能性があり、例えば、読出しエラーを防止するためのより強力なエラー訂正コードについての必要性をもたらし得る。ＳＮＲを増加させる１つのアプローチは、例えば、トレリスコード化変調（ｔｒｅｌｌｉｓ  ｃｏｄｅｄ  ｍｏｄｕｌａｔｉｏｎ）（ＴＣＭ）による信号セットの拡張を含む。例えば、信号セットの拡張は、バイナリデータをマルチレベルデータに変換することを含み得る。
【０００８】
本開示の実施形態は、ＬＤＰＣとＴＣＭとを組合せることによってＳＮＲの増加を提供し得る。実施形態はまた、ビタビコンポーネントによって生成されるソフトデータと連携してデコーダによって生成されるソフトデータを効果的に使用して、ＳＮＲ利得を増加させ得る。
【０００９】
本開示の以下の詳細な説明では、本開示の一部を形成する添付図面に対して参照が行われ、添付図面において、本開示の１つ又は複数の実施形態がどのように実施されることができるかが例証によって示される。これらの実施形態は、当業者が本開示の実施形態を実施することを可能にするのに十分に詳細に述べられ、また、他の実施形態が利用されることができること、及び、本開示の範囲から逸脱することなく、プロセス的、電気的、及び／又は構造的変更が行われることができることが理解される。本明細書で使用されるように、指示子「Ｎ」は、そのように設計された特定の特徴の１つ又は複数が、本開示の１つ又は複数の実施形態に関して含まれ得ることを示す。
【００１０】
本明細書の図は、１つ又は複数の第１のデジットが図面の図番に対応し、残りのデジットが図面内の要素又はコンポーネントを特定する番号付け慣習に従う。異なる図の間の同様の要素又はコンポーネントは、同様のデジットの使用によって特定されることができる。認識されるように、本明細書の種々の実施形態で示す要素は、本開示の幾つかの更なる実施形態を提供するために、追加され得る、交換され得る、かつ／又はなくされ得る。更に、図で提供される要素の割合及び相対スケールは、本開示の種々の実施形態を示すことを意図され、制限的意味で使用されない。
【００１１】
図１は、本開示の幾つかの実施形態による、少なくとも１つのメモリシステム１０４を含むコンピューティングシステム１００の形態の装置のブロック図である。本明細書で使用されるように、メモリシステム１０４、コントローラ１０８、又はメモリデバイス１１０はまた、別々に「装置（ａｐｐａｒａｔｕｓ）」と考えられることができる。メモリシステム１０４は、例えば固体ドライブ（ＳＳＤ）であり、ホスト（例えば、物理）インタフェース１０６、コントローラ１０８（例えば、プロセッサ及び／又は他の制御回路要素）、及び、メモリシステム１０４用のストレージボリュームを提供する幾つかのメモリデバイス１１０−１、…、１１０−Ｎ（例えば、ＮＡＮＤフラッシュデバイス等の固体メモリデバイス）を含み得る。別の実施形態では、メモリシステム１０４は、単に単一メモリデバイスであるとすることができる。
【００１２】
図１に示すように、コントローラ１０８は、複数のチャネルを介してホストインタフェース１０６及びメモリデバイス１１０−１、…、１１０−Ｎに結合され、メモリシステム１０４とホスト１０２との間でデータを転送するために使用され得る。インタフェース１０６は、標準的なインタフェースの形態であり得る。例えば、メモリシステム１０４がコンピューティングシステム１００内のデータストレージのために使用されるとき、インタフェース１０６は、他のコネクタ及びインタフェースの中で、シリアル高度技術アタッチメント（ｓｅｒｉａｌ  ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ）（ＳＡＴＡ）、ペリフェラルコンポーネントインターコネクトエキスプレス（ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ  ｅｘｐｒｅｓｓ）（ＰＣＩｅ）、又はユニバーサルシリアルバス（ＵＳＢ）であり得る。しかし、一般に、インタフェース１０６は、メモリシステム１０４と、インタフェース１０６用の互換性のあるレセプタを有するホスト１０２との間でコントロール、アドレス、データ、及び他の信号を渡すためのインタフェースを提供し得る。
【００１３】
ホスト１０２は、種々の他のタイプのホストの中で、パーソナルラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、移動体電話、又はメモリカードリーダ等のホストシステムであり得る。ホスト１０２は、システムマザーボード及び／又はバックプレーンを含み、幾つかのメモリアクセスデバイス（例えば、幾つかのプロセッサ）を含み得る。ホスト１０２はまた、メモリシステム１０４が（例えば、オンダイコントローラを有する）メモリデバイスである場合等にメモリコントローラであり得る。
【００１４】
コントローラ１０８は、幾つかのメモリデバイス１１０−１、…、１１０−Ｎ（幾つかの実施形態では、単一ダイ上の幾つかのメモリアレイであり得る）と通信して、他のオペレーションの中で、データ読出し、書込み、及び消去オペレーションを制御し得る。幾つかの実施形態では、コントローラ１０８は、幾つかのメモリデバイス１１０の任意又は全てのメモリデバイス１１０と同じダイ又は異なるダイ上にあり得る。
【００１５】
具体的に示さないが、幾つかの実施形態では、コントローラ１０８は、コントローラ１０８をメモリデバイス１１０−１、…、１１０−Ｎに結合する各チャネル用のディスクリートメモリチャネルコントローラを含み得る。コントローラ１０８は、例えば、幾つかのメモリデバイス１１０−１、…、１１０−Ｎに対するアクセスを制御するための、及び／又は、ホスト１０２とメモリデバイス１１０−１、…、１１０−Ｎとの間のデータ転送を容易にするための、ハードウェア及び／又はファームウェア（例えば、１つ又は複数の集積回路）及び／又はソフトウェアの形態の幾つかのコンポーネントを含み得る。
【００１６】
図１に示すように、コントローラ１０８は、エラーコード化コンポーネント１０７（例えば、エラー訂正コード（ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｃｏｄｅ）（ＥＣＣ）エンジン等のエンコーダ）及び変調コンポーネント１０９（例えば、ＴＣＭで使用するための）を含み得る。エラーコード化コンポーネント１０７及び変調コンポーネント１０９のそれぞれは、特定用途向け集積回路（ＡＳＩＣ）等のディスクリートコンポーネントであり得る、又は、コンポーネントは、コントローラ１０８の他の部分から離れたディスクリートな物理的形態を必ずしも持たない、コントローラ１０８内の回路要素によって提供される機能を反映することができる。図１においてコントローラ１０８内のコンポーネントとして示されないが、エラーコード化コンポーネント１０７及び変調コンポーネント１０９のそれぞれは、コントローラ１０８の外部にあり得る、又は、コントローラ１０８内に配置された幾つかのコンポーネント及びコントローラ１０８の外部に配置された幾つかのコンポーネントを有し得る。
【００１７】
エラーコード化コンポーネント１０７は、ホスト１０２から受信されたデータ（例えば、ユーザデータ）を符号化し、メモリデバイス１１０−１、…、１１０−Ｎ等のメモリに記憶される（例えば、書込まれる）ように構成され得る。例えば、ユーザデータは、本明細書でより詳細に述べるように、ＬＤＰＣコード等の線形エラー訂正コード（ｌｉｎｅａｒ  ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｎｇ  ｃｏｄｅ）を使用して符号化され得る。
【００１８】
符号化されたデータは、符号化されたデータに対応するコードレートを有し得る。コードレートは、非冗長的である符号化されたデータの割合を指す。本開示の幾つかの実施形態では、バイナリ符号化されたデータは、マルチレベル信号（例えば、３レベル信号）に変換され得る。例えば、２から３への信号セットの拡張が使用されることができ、それは、コードレート損失なしで、３レベルドメイン内の最も近い信号シーケンスの対の間のユークリッド距離を増加させ得る。
【００１９】
幾つかの実施形態では、コントローラ１０８は、線形エラー訂正コードエンコーダを使用して、バイナリデータを符号化し、変調スキームを使用してバイナリデータをマルチレベルデータに変換し、マルチレベルデータをメモリに書込み、メモリからデータを読出し、ビタビアルゴリズムを使用して、読出されたデータを復号化し、線形エラー訂正コードデコーダによって、ビタビアルゴリズムによって生成されたハードデータ及びソフトデータを復号化するように構成され得る。バイナリデータはＬＤＰＣコードを使用して符号化され、バイナリデータを変換するために使用される変調スキームはＴＣＭを含み得る。ビタビアルゴリズムは、ソフト出力ビタビアルゴリズム（ｓｏｆｔ−ｏｕｔｐｕｔ  Ｖｉｔｅｒｂｉ  ａｌｇｏｒｉｔｈｍ）（ＳＯＶＡ）を含み、線形エラー訂正コードデコーダはＬＤＰＣデコーダを含み得る。幾つかの実施形態では、コントローラ１０８は、ＳＯＶＡとＬＤＰＣデコーダとの間でソフトデータを反復的に交換するように構成され得る。ＳＯＶＡは、入力シンボルの以前の（ｆｏｒｍｅｒ）確率を考慮する修正経路メトリックを使用し、決定の信頼性を示すソフト出力を生成する点で典型的なビタビアルゴリズムと異なり得る。コントローラ１０８に関連する更なる機能は、本明細書でより詳細に述べられる。
【００２０】
幾つかのメモリデバイス１１０−１、…、１１０−Ｎは、メモリセル（例えば、不揮発性メモリセル）の幾つかのアレイを含み得る。アレイは、例えば、ＮＡＮＤアーキテクチャを有するフラッシュアレイであり得る。しかし、実施形態は、特定のタイプのメモリアレイ又はアレイアーキテクチャに限定されない。メモリセルは、例えば、幾つかの物理ページを含む幾つかのブロックにグループ化され得る。幾つかのブロックはメモリセルのプレーンに含まれ、アレイは幾つかのプレーンを含み得る。一例として、メモリデバイスは、１ページ当たり８ＫＢ（キロバイト）のユーザデータ、１ブロック当たり１２８ページのユーザデータ、１プレーン当たり２０４８ブロック、及び１デバイス当たり１６プレーンを記憶するように構成されることができる。
【００２１】
動作時、データは、例えば、データのページとして、メモリ（例えば、システム１０４のメモリデバイス１１０−１、…、１１０−Ｎ）に書込まれ得る、かつ／又は、メモリから読出され得る。したがって、データのページは、メモリシステムのデータ転送サイズと呼ばれ得る。データは、セクタ（例えば、ホストセクタ）と呼ばれるデータセグメント内でホスト（例えば、ホスト１０２）に／から転送され得る。したがって、データのセクタは、ホストのデータ転送サイズと呼ばれ得る。
【００２２】
データのページはユーザデータ（例えば、データの幾つかのセクタを含むデータペイロード）並びにユーザデータに対応するメタデータの幾つかのバイトを含み得るが、データのページのサイズは、しばしば、ユーザデータのバイト数だけを指し得る。例として、４ＫＢのページサイズを有するデータのページは、４ＫＢのユーザデータ（例えば、５１２Ｂのセクタサイズを仮定すると８セクタ）並びにユーザデータに対応するメタデータの幾つかのバイト（例えば、３２Ｂ、５４Ｂ、２２４Ｂ等）を含むことができる。メタデータは、ユーザデータに対応する他のメタデータの中で、エラーデータ（例えば、エラー検出及び／又は訂正コードデータ）及び／又はアドレスデータ（例えば、論理アドレスデータ）等の完全性データを含み得る。
【００２３】
図２は、本開示の幾つかの実施形態による、信号セット拡張（例えば、ＴＣＭ）とＬＤＰＣコードとを組合せることに関連する機能ブロック図２２０である。ＬＤＰＣコードは、代数エラー訂正コード（例えば、ＢＣＨコード）と比較して、エラー訂正能力の増加を提供し、例えば、ソフトデータと共に同様に復号化され得る。
【００２４】
幾つかの実施形態では、ＬＤＰＣコードと信号セット拡張とを組合せることは、ＬＤＰＣコードだけ又は信号セット拡張だけを使用して達成されるＳＮＲと比較してＳＮＲ利得をもたらし得る。例えば、信号セット拡張を受けない状態での所与のレートでの単一レベルセルに関するバイナリＬＤＰＣコードは、所与のコードレート損失がある状態で約７倍ＳＮＲを増加させることができる。同様に、信号セット拡張を受けた同じ又は同様の所与のレートでの非ＬＤＰＣコードは、同じ又は同様の所与のコードレート損失がある状態で９倍ＳＮＲを増加させることができる。しかし、幾つかの実施形態では、（例えば、２レベルから３レベルへの）信号セット拡張を受けた同じ又は同様の所与のレートでのバイナリＬＤＰＣコードは、同じ又は同様のコードレート損失がある状態で約１８倍ＳＮＲを増加させることができる。
【００２５】
図２は、線形エラー訂正コードエンコーダ２１４（例えば、ＬＤＰＣエンコーダ）によって受信されるホストデータ２１２−１（例えば、バイナリホストデータ）Ｈｋを示す。ホストデータ２１２−１は、ＬＤＰＣエンコーダ２１４によって符号化され、符号化されたデータＵｋ２１６−１は、プリコーダ２１８に提供される。プリコーダ２１８は、符号化されたデータ２１６−１に関してプリコード化オペレーションを実施する。
【００２６】
例として、プリコード化オペレーションは、バイナリの符号化されたデータ（例えば、Ｕｋ２１６−１）をプリコード化されたデータ（例えば、Ｖｋ）に変換する（１／（１ｘｏｒＤ））オペレーションであり得る。プリコーダ２１８によって出力されるプリコード化されたデータＶｋは、オペレータ２２４によって受信される。オペレータ２２４は、（１＋Ｄ）オペレーションによって、バイナリのプリコード化されたデータＶｋをマルチレベルデータ２２６（例えば、Ｘｋ）に変換し得る。したがって、信号セットは、バイナリドメイン（例えば、２レベル）からマルチレベルドメイン（例えば３レベル）に拡張される。例として、Ｕｋデータ２１６−１に等価な３レベルであり得るＸｋデータ２２６は、メモリ（例えば、フラッシュメモリ）に書込まれ得る。
【００２７】
例のオペレーションでは、Ｄは、１つのユニットの遅延に対応し得る。例えば、あるオペレーションでは、ｙｎ＝ｘｎ＋ｘ（ｎ−１）であり、現在のサンプルｘｎが、以前のサンプルｘ（ｎ−１）に加算される。これは、表現（１＋Ｄ）によって表され得る。「１」は現在時点のサンプル（ｘｎ）を表し、Ｄは１つのユニットの遅延（例えば、ｘ（ｎ−１））を表す。
【００２８】
図２に示す例では、（１／（１ｘｏｒＤ））先行オペレーションと（１＋Ｄ）オペレーションとを組合せることは、ＴＣＭに関連して利用され、信号セット拡張（例えば、バイナリデータのマルチレベルデータへの変換）をもたらす。信号セット拡張は、例えば、３レベルドメインにおける最も近い信号シーケンスの対の間のユークリッド距離を増加させ得る。幾つかの実施形態では、信号セット拡張は、ＬＤＰＣに関連するコードレート損失なしで達成され得る。信号セット拡張（例えば、ＴＣＭ）中に、その例が図３に関して更に詳細に論じられる幾つかの状態（例えば、２状態で３レベルのトレリス）を含み得るマルチレベルトレリスが生成されることができる。
【００２９】
マルチレベルデータＸｋに関連する信号雑音ｎｋ（例えば、Ｘｋ＋ｎｋ）は、メモリ２１０から読出され、ビタビコンポーネント２３４によって復号化され得る。幾つかの実施形態では、また、図２に示すように、ビタビコンポーネント２３４は、読出されたデータ２３２に対応するソフトデータ（例えば、対数尤度比（ｌｏｇ  ｌｉｋｅｌｉｈｏｏｄ  ｒａｔｉｏ）（ＬＬＲ））を生成することが可能なＳＯＶＡ（例えば、２状態ＳＯＶＡ）であり得る。ビタビコンポーネント２３４によって生成されるソフトデータは、ＬＤＰＣコードビットを、ＬＤＰＣコードビットに対応する信頼性メトリックと共に含み得る。ＬＬＲは、２つのモデル（例えば、コードシーケンス内の「０」及び「１」）の適合度（ｆｉｔ）を比較するために使用され得る。例えば、ビットが「０」である確率が０．７であり、ビットが「１」である確率が０．３である場合、ＬＬＲは対数（０．７／０．３）と等価である。
【００３０】
復号化されたハードデータ及びソフトデータＵｋは、ビタビコンポーネント２３４から出力され、ＬＤＰＣデコーダ２３６を使用して更に復号化され得る。結果として得られる復号化されたホストデータＨｋ２１２−１は、要求側エンティティ（例えば、図１に示すホスト１０２等のホスト）に提供され得る。幾つかの実施形態では、復号化されたホストデータ２１２−２は、例えば、過去のＬＤＰＣアプローチと比較して増加したＳＮＲ利得を含む。
【００３１】
幾つかの実施形態では、ビタビコンポーネント２３４とＬＤＰＣデコーダ２３６との間の反復的なソフトデータ交換は、Ｕｋ２１６−２に関連するソフトデータを更に洗練するために導入され得る。例えば、ＬＤＰＣデコーダ２３６もまた、ソフトデータ（例えば、ＬＬＲ）を生成し得る。例えば、ＬＤＰＣデコーダ２３６は、ホストデータＨｋ２１２−２を有するソフトデータを出力し、このソフトデータは、更に復号化するためにビタビコンポーネント２３４に送信され、その後、（例えば、反復プロセスで）ＬＤＰＣデコーダ２３６に返送され得る。幾つかの実施形態では、この反復プロセスは、データ２１６−２に関連する雑音が、例えば、所望の閾値レベルまで減少するまで継続し得る。
【００３２】
図３は、本開示の幾つかの実施形態の１つの実施形態に従って生成され得るトレリス３３０を示す。例として、トレリス３３０は、図２に示すコンポーネント２１８及び２２４等のコンポーネントによって実施されるオペレーションを介して生成され得る。トレリス３３０は、トレリス変調とも呼ばれるＴＣＭ変調スキームにおいて利用され得る２状態（例えば、状態１及び状態０）ビタビトレリスである。ＴＣＭは、他の変調スキームと比較して、伝送効率の増加をもたらし得る。
【００３３】
図３に示す例では、ＬＤＰＣエンコーダ３１４は、データ（例えば、ホストデータ２１２−１）を符号化するために使用され得る。符号化されたデータは、信号セットが（例えば、バイナリドメインから３レベルドメインに）拡張するようにＴＣＭを受け得る。例えば、図２に関連して述べるように、（１／（１ｘｏｒＤ））オペレーションと（１＋Ｄ）オペレーションとの組合せは、３１４から出力されるデータに関して実施され、それは、信号拡張及びトレリス３３０等のトレリスの生成をもたらし得る。結果として、２状態トレリス３３０内の２つの最も近い３レベル信号シーケンス間の２乗ユークリッド距離は、未コード化の３レベル信号シーケンスの２倍の距離であり得る。幾つかの実施形態では、トレリス３３０のレベルは、約４〜３ボルトの電圧値を含み得る。
【００３４】
トレリス３３０は、「様態０（ｓｔａｔｅ  ０）」（例えば、状態３３８−１、３３８−２、及び３３８−３）及び「状態１（ｓｔａｔｅ  １）」（例えば、状態３４２−１、３４２−２、及び３４２−３）を含む２状態を含む。図３に示す状態間の各ラインはシーケンス経路を示し、各経路は、ビット（例えば、ＬＤＰＣエンコーダ出力ビット）及び対応する３レベル信号によって表示される。例えば、経路３４４−１及び３４４−２は、「０」の対応する３レベル信号と共にビット「０」を示す。同様に、例えば、経路３８４−１及び３８４−２は、ビット「０」及び「２」の対応する３レベル信号を示し、一方、経路３４６−１…３４６−４は、「１」の対応する３レベル信号と共にビット「１」を示す。
【００３５】
状態シーケンス０−０−０によって形成される経路のエッジ上の３レベルのラベルシーケンスは、０−０（例えば、経路３４４−１及び３４４−２）によって与えられ、一方、状態シーケンス０−１−０によって形成される経路のエッジ上の３レベルのラベルシーケンスは、１−１（例えば、経路３４６−１及び３４６−２）によって与えられ得る。こうした例では、２つの経路間の２乗ユークリッド距離は２に等しい。例えば、（１−０）２＋（１−０）２＝２である。他の経路対は、２つの経路間でより長い距離を常に有することになる。
【００３６】
トレリス３３０は、トレリスの少なくとも１つの他のレベルと特定の関係を有するトレリスのレベルを含み得る。例えば、図２のバイナリユーザデータＵｋ２１６は、図２のプリコーダ２１８によって実施される（１／（１ｘｏｒＤ））オペレーション及び図２のオペレータ２２４によって実施される（１＋Ｄ）オペレーションに基づいて３レベルデータＸｋ２２６に関連するとすることができる。こうしたオペレーションによって達成される関係は、互いに独立であるレベルに対応する未拡張信号セット（例えば、２レベル、３レベル、又は４レベルデータ）と比較して、雑音に対する頑健性（例えば、ＳＮＲ利得）をもたらし得る。
【００３７】
図３では、経路３４４−１、３４４−２、３４６−１、３４６−２、３４６−３、３４６−４、３４８−１、及び３４８−２の値は、Ｕｋ／Ｘｋを表し、Ｕｋは図２に示すデータ２１６−１等のバイナリデータであり、Ｘｋは図２に示すデータ２２６等の変調されたデータ（例えば、３レベルデータ）である。例えば、本明細書で更に論じるように、経路３４８−１は０のＵｋ値、２のＸｋ値を有し、０／２と表示される。これらの経路は、レベルのシーケンスによってとられる考えられる経路に対応し、この情報は、ビタビコンポーネント（例えば、図２に示すコンポーネント２３４）によって利用されて、マルチレベルデータがトレリス３３０を通過したときにマルチレベルデータによって使用された経路を特定し、経路情報を全く持たないコンポーネントと比較して、ビタビコンポーネントの性能の増加をもたらし得る。
【００３８】
例として、図２に示すプリコーダ２１８等のプリコーダによって受信されるバイナリユーザデータＵｋ＝｛１００１０１０１１…｝を考える。Ｕｋに関して特定のオペレーション（例えば、（１／（１ｘｏｒＤ））オペレーション）を実施することによって、プリコード化されたデータＶｋが決定され得る。例えば、Ｖｋ＝ｘｏｒ（Ｕｋ，Ｖｋ−１）は、Ｖｋ＝｛１１１００１１０１…｝をもたらす。
【００３９】
Ｖｋに関して（１＋Ｄ）オペレーションを利用することは、３レベルデータＸｋの生成をもたらし得る。例えば、Ｘｋ＝｛１２２１０１２１１…｝であるように、Ｘｋ＝Ｖｋ＋Ｖｋ−１である。したがって、トレリス３３０のレベル０、１、及び２の間に、特に、ＵｋとＸｋ（ここで、Ｕｋ＝１の場合、Ｘｋ＝１である）との間に、或る関係が存在する。この関係は、互いに独立なレベルを有するメモリセルと比較して、ＳＮＲ利得の増加をもたらし得る。
【００４０】
上記例では、１の偶数が、シーケンスの特定の時点においてＵｋシーケンスで通過する場合、０のＵｋ値が、経路３４４−１及び３４４−２の場合と同様に、Ｘｋ＝０を生成する。これは、状態０（例えば、状態３３８−１、３３８−２、及び３３８−３）と呼ばれ得る。１の奇数が、シーケンスの特定の時点においてＵｋシーケンスで通過する場合、０のＵｋ値が、経路３４８−１及び３４８−２の場合と同様に、Ｘｋ＝２を生成する。これは、状態１（例えば、状態３４２−１、３４２−２、及び３４２−３）と呼ばれ得る。
【００４１】
ＴＣＭからのデータ出力（例えば、マルチレベルデータ）は、メモリ（例えば、フラッシュメモリ）３１０に書込まれ、図２の２３２で示すように復号化のためにＳＯＶＡに送信され得る。幾つかの実施形態では、ＳＮＲ利得は、トレリス（例えば、トレリス３３０）に関してビタビアルゴリズムを使用して、メモリ（例えば、メモリ３１０）から読出されたソフトデータからバイナリＬＤＰＣコードビットを回復させることによって実現されることができる。ソフトデータは、図３に関して論じた３レベル信号（例えば、Ｘｋ）の近似を含むことができる。
【００４２】
特定の実施形態が、本明細書で示され述べられたが、同じ結果を達成するために計画される任意の配置構成が、示す特定の実施形態と置換され得ることを当業者は認識するであろう。本開示は、本開示の種々の実施形態の適応形態又は変形形態を包含することを意図される。上記説明が、制限的方法ではなく、例証的な方法で行われていることが理解される。上記実施形態の組合せ及び本明細書で具体的に述べられない他の実施形態は、上記説明を検討すると、当業者に明らかになる。本開示の種々の実施形態の範囲は、上記構造及び方法が使用される他の用途を含む。したがって、本開示の種々の実施形態の範囲は、添付特許請求の範囲を参照して、添付特許請求の範囲が権利を与えられる均等物の全範囲と共に決定されるべきである。
【００４３】
先の詳細な説明では、種々の特徴は、本開示を効率化するために単一の実施形態において共に集められる。本開示のこの方法は、本開示の開示される実施形態が、各請求項において明示的に挙げられるものよりも多い特徴を使用しなければならないという意図を反映するものと解釈されない。むしろ、添付特許請求の範囲が反映するように、本発明の主題は、開示される単一の実施形態の全ての特徴より少ない特徴に存在する。したがって、添付特許請求の範囲は、各請求項が別個の実施形態として独立した状態で、詳細な説明に組込まれる。
【図１】
0006016952.tif 000002
【図２】
0006016952.tif 000003
【図３】
0006016952.tif 000004