IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ウェスタン デジタル テクノロジーズ インコーポレーテッドの特許一覧

<>
  • 特許-メモリの物理的特性に基づくエラー訂正 図1
  • 特許-メモリの物理的特性に基づくエラー訂正 図2
  • 特許-メモリの物理的特性に基づくエラー訂正 図3
  • 特許-メモリの物理的特性に基づくエラー訂正 図4
  • 特許-メモリの物理的特性に基づくエラー訂正 図5
  • 特許-メモリの物理的特性に基づくエラー訂正 図6
  • 特許-メモリの物理的特性に基づくエラー訂正 図7
  • 特許-メモリの物理的特性に基づくエラー訂正 図8
  • 特許-メモリの物理的特性に基づくエラー訂正 図9
  • 特許-メモリの物理的特性に基づくエラー訂正 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-16
(45)【発行日】2022-11-25
(54)【発明の名称】メモリの物理的特性に基づくエラー訂正
(51)【国際特許分類】
   G06F 11/10 20060101AFI20221117BHJP
【FI】
G06F11/10 648
【請求項の数】 17
(21)【出願番号】P 2021098108
(22)【出願日】2021-06-11
(65)【公開番号】P2022104502
(43)【公開日】2022-07-08
【審査請求日】2021-06-11
(31)【優先権主張番号】63/131,312
(32)【優先日】2020-12-28
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/187,695
(32)【優先日】2021-02-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504056130
【氏名又は名称】ウェスタン デジタル テクノロジーズ インコーポレーテッド
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】ガディ・ヴァシヌ
(72)【発明者】
【氏名】デヴィット・ロズマン
(72)【発明者】
【氏名】アレックス・バザラスキー
【審査官】漆原 孝治
(56)【参考文献】
【文献】特開2019-168853(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/10
(57)【特許請求の範囲】
【請求項1】
装置であって、
メモリセルのアレイと、
コントローラであって、
前記アレイのセルのセットから符号化ビットのセットを読み取ることと、
前記セルのセットのセルに関連付けられた1つ以上の永続的な物理的特性に基づいて、前記符号化ビットを信頼性グループに分割することと、
前記符号化ビットを復号するために、前記信頼性グループに基づく信頼性推定値を軟判定復号器に提供することと、を行うように構成されている、前記コントローラと、を備え、
前記1つ以上の永続的な物理的特性が、インターフェースビットインデックスを含み、前記コントローラが、前記インターフェースビットインデックスに基づいて、ビットを前記信頼性グループに分割するように構成されており、
前記インターフェースビットインデックスが、データ線I/Oを使用してデータを伝送するメモリセルを指し、
前記データ線I/Oが、メモリセルからデータを受信又は送信する、装置。
【請求項2】
装置であって、
メモリセルのアレイと、
コントローラであって、
前記アレイのセルのセットから符号化ビットのセットを読み取ることと、
前記セルのセットのセルに関連付けられた1つ以上の永続的な物理的特性に基づいて、前記符号化ビットを信頼性グループに分割することと、
前記符号化ビットを復号するために、前記信頼性グループに基づく信頼性推定値を軟判定復号器に提供することと、を行うように構成されている、前記コントローラと、を備え、
前記1つ以上の永続的な物理的特性が、ドレイン選択ゲート(SGD)ダウンシフトを含み、前記コントローラが、SGDダウンシフトに基づいて、ビットを前記信頼性グループに分割するように構成されている、装置。
【請求項3】
装置であって、
メモリセルのアレイと、
コントローラであって、
前記アレイのセルのセットから符号化ビットのセットを読み取ることと、
前記セルのセットのセルに関連付けられた1つ以上の永続的な物理的特性に基づいて、前記符号化ビットを信頼性グループに分割することと、
前記符号化ビットを復号するために、前記信頼性グループに基づく信頼性推定値を軟判定復号器に提供することと、を行うように構成されている、前記コントローラと、を備え、
前記コントローラが、前記信頼性グループのための記録された信頼性推定値を参照することによって前記信頼性推定値を提供し、前記軟判定復号器からのフィードバックに基づいて、前記記録された信頼性推定値を更新するように構成されており、
前記コントローラは、前記記録された信頼性推定値のうちの1つ以上が閾値を満たさないことに応答して再較正を開始するように構成されており、
前記1つ以上の永続的な物理的特性が、インターフェースビットインデックスを含み、前記再較正が、データ線からデータをサンプリングするための遅延を更新することを含み、
前記インターフェースビットインデックスが、データ線I/Oを使用してデータを伝送するメモリセルを指し、
前記データ線I/Oが、メモリセルからデータを受信又は送信する、装置。
【請求項4】
装置であって、
メモリセルのアレイと、
コントローラであって、
前記アレイのセルのセットから符号化ビットのセットを読み取ることと、
前記セルのセットのセルに関連付けられた1つ以上の永続的な物理的特性に基づいて、前記符号化ビットを信頼性グループに分割することと、
前記符号化ビットを復号するために、前記信頼性グループに基づく信頼性推定値を軟判定復号器に提供することと、を行うように構成されている、前記コントローラと、を備え、
前記コントローラが、前記信頼性グループのための記録された信頼性推定値を参照することによって前記信頼性推定値を提供し、前記軟判定復号器からのフィードバックに基づいて、前記記録された信頼性推定値を更新するように構成されており、
前記コントローラは、前記記録された信頼性推定値のうちの1つ以上が閾値を満たさないことに応答して再較正を開始するように構成されており、
前記1つ以上の永続的な物理的特性が、ドレイン選択ゲート(SGD)ダウンシフトを含み、前記再較正が、SGDトランジスタを再プログラミングすることを含む、装置。
【請求項5】
前記符号化ビットのセットが、エラー訂正符号の受信符号語であり、前記コントローラが、前記受信符号語のビットを前記信頼性グループに分割するように構成されている、請求項1から4のいずれか一項に記載の装置。
【請求項6】
前記セルのセットのセルに関連付けられた前記1つ以上の永続的な物理的特性が、前記セルのセットにデータを書き込むことによって直接的に変化させられない、請求項1から4のいずれか一項に記載の装置。
【請求項7】
前記コントローラが、前記1つ以上の永続的な物理的特性に基づいて、及び軟読み取り動作からの軟ビットに基づいて、前記符号化ビットを前記信頼性グループに分割するように構成されている、請求項1から4のいずれか一項に記載の装置。
【請求項8】
方法であって、
メモリセルのセットから、エラー訂正符号の受信符号語を読み取ることと、
前記セルのセットのセルと関連付けられた1つ以上の永続的な物理的特性に基づいて、前記受信符号語のビットを信頼性グループに割り当てることと、
前記受信符号語を復号するために、前記信頼性グループに基づく信頼性推定値を軟判定復号器に提供することと、を含み、
前記1つ以上の永続的な物理的特性が、インターフェースビットインデックスを含み、前記受信符号語のビットを前記信頼性グループに割り当てることが、前記インターフェースビットインデックスに基づき、
前記インターフェースビットインデックスが、データ線I/Oを使用してデータを伝送するメモリセルを指し、
前記データ線I/Oが、メモリセルからデータを受信又は送信する、方法。
【請求項9】
方法であって、
メモリセルのセットから、エラー訂正符号の受信符号語を読み取ることと、
前記セルのセットのセルと関連付けられた1つ以上の永続的な物理的特性に基づいて、前記受信符号語のビットを信頼性グループに割り当てることと、
前記受信符号語を復号するために、前記信頼性グループに基づく信頼性推定値を軟判定復号器に提供することと、を含み、
前記1つ以上の永続的な物理的特性が、ドレイン選択ゲート(SGD)ダウンシフトを含み、前記受信符号語のビットを前記信頼性グループに割り当てることが、SGDダウンシフトに基づく、方法。
【請求項10】
方法であって、
メモリセルのセットから、エラー訂正符号の受信符号語を読み取ることと、
前記セルのセットのセルと関連付けられた1つ以上の永続的な物理的特性に基づいて、前記受信符号語のビットを信頼性グループに割り当てることと、
前記受信符号語を復号するために、前記信頼性グループに基づく信頼性推定値を軟判定復号器に提供することと、を含み、
前記信頼性推定値を提供することが、前記信頼性グループのための記録された信頼性推定値を参照することを含み、
前記方法が、前記軟判定復号器からのフィードバックに基づいて、前記記録された信頼性推定値を更新することを更に含み、
前記記録された信頼性推定値のうちの1つ以上が閾値を満たさないことに応答して、再較正を開始することを更に含み、
前記1つ以上の永続的な物理的特性が、インターフェースビットインデックスを含み、前記再較正が、データ線からデータをサンプリングするための遅延を更新することを含み、
前記インターフェースビットインデックスが、データ線I/Oを使用してデータを伝送するメモリセルを指し、
前記データ線I/Oが、メモリセルからデータを受信又は送信する、方法。
【請求項11】
方法であって、
メモリセルのセットから、エラー訂正符号の受信符号語を読み取ることと、
前記セルのセットのセルと関連付けられた1つ以上の永続的な物理的特性に基づいて、前記受信符号語のビットを信頼性グループに割り当てることと、
前記受信符号語を復号するために、前記信頼性グループに基づく信頼性推定値を軟判定復号器に提供することと、を含み、
前記信頼性推定値を提供することが、前記信頼性グループのための記録された信頼性推定値を参照することを含み、前記方法が、前記軟判定復号器からのフィードバックに基づいて、前記記録された信頼性推定値を更新することを更に含み、
前記記録された信頼性推定値のうちの1つ以上が閾値を満たさないことに応答して、再較正を開始することを更に含み、
前記1つ以上の永続的な物理的特性が、ドレイン選択ゲート(SGD)ダウンシフトを含み、前記再較正が、SGDトランジスタを再プログラミングすることを含む、方法。
【請求項12】
前記セルのセットのセルに関連付けられた前記1つ以上の永続的な物理的特性が、前記セルのセットにデータを書き込むことによって直接的に変化させられない、請求項8から11のいずれか一項に記載の方法。
【請求項13】
前記受信符号語のビットを前記信頼性グループに割り当てることが、前記1つ以上の永続的な物理的特性に基づき、及び軟読み取り動作からの軟ビットに基づく、請求項8から11のいずれか一項に記載の方法。
【請求項14】
装置であって、
メモリセルのセットから符号化ビットのセットを読み取るための手段と、
前記セルのセットのセルに関連付けられた1つ以上の永続的な物理的特性に基づいて、前記符号化ビットと少なくとも2つの信頼性グループとの間の対応を判定するための手段と、
前記符号化ビットを復号するために、前記信頼性グループに基づく信頼性推定値を軟判定復号器に提供するための手段と、を備え、
前記1つ以上の永続的な物理的特性が、インターフェースビットインデックスを含み、前記インターフェースビットインデックスに基づいて、前記符号化ビットと前記少なくとも2つの信頼性グループとの間の対応が判定されるように構成されており、
前記インターフェースビットインデックスが、データ線I/Oを使用してデータを伝送するメモリセルを指し、
前記データ線I/Oが、メモリセルからデータを受信又は送信する、装置。
【請求項15】
装置であって、
メモリセルのセットから符号化ビットのセットを読み取るための手段と、
前記セルのセットのセルに関連付けられた1つ以上の永続的な物理的特性に基づいて、前記符号化ビットと少なくとも2つの信頼性グループとの間の対応を判定するための手段と、
前記符号化ビットを復号するために、前記信頼性グループに基づく信頼性推定値を軟判定復号器に提供するための手段と、を備え、
前記1つ以上の永続的な物理的特性が、ドレイン選択ゲート(SGD)ダウンシフトを含み、SGDダウンシフトに基づいて、前記符号化ビットと前記少なくとも2つの信頼性グループとの間の対応が判定されるように構成されている、装置。
【請求項16】
装置であって、
メモリセルのセットから符号化ビットのセットを読み取るための手段と、
前記セルのセットのセルに関連付けられた1つ以上の永続的な物理的特性に基づいて、前記符号化ビットと少なくとも2つの信頼性グループとの間の対応を判定するための手段と、
前記符号化ビットを復号するために、前記信頼性グループに基づく信頼性推定値を軟判定復号器に提供するための手段と、を備え、
前記信頼性推定値を提供するための前記手段が、前記信頼性グループのための記録された信頼性推定値を参照し、
前記装置が、前記軟判定復号器からのフィードバックに基づいて、前記記録された信頼性推定値を更新するための手段を更に備え、
前記記録された信頼性推定値のうちの1つ以上が閾値を満たさないことに応答して再較正を開始するための手段を更に備え、
前記1つ以上の永続的な物理的特性が、インターフェースビットインデックスを含み、前記再較正が、データ線からデータをサンプリングするための遅延を更新することを含み、
前記インターフェースビットインデックスが、データ線I/Oを使用してデータを伝送するメモリセルを指し、
前記データ線I/Oが、メモリセルからデータを受信又は送信する、装置。
【請求項17】
装置であって、
メモリセルのセットから符号化ビットのセットを読み取るための手段と、
前記セルのセットのセルに関連付けられた1つ以上の永続的な物理的特性に基づいて、前記符号化ビットと少なくとも2つの信頼性グループとの間の対応を判定するための手段と、
前記符号化ビットを復号するために、前記信頼性グループに基づく信頼性推定値を軟判定復号器に提供するための手段と、を備え、
前記信頼性推定値を提供するための前記手段が、前記信頼性グループのための記録された信頼性推定値を参照し、
前記装置が、前記軟判定復号器からのフィードバックに基づいて、前記記録された信頼性推定値を更新するための手段を更に備え、
前記記録された信頼性推定値のうちの1つ以上が閾値を満たさないことに応答して、再較正を開始するための手段を更に備え、
前記1つ以上の永続的な物理的特性が、ドレイン選択ゲート(SGD)ダウンシフトを含み、前記再較正が、SGDトランジスタを再プログラミングすることを含む、装置。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、Gadi Vishneらの、「ERROR CORRECTION BASED ON PHYSICAL CHARACTERISTICS FOR MEMORY」と題され、2020年12月28日に出願された米国仮特許出願第63/131,312号の利益を主張するものであり、これは参照により本明細書に組み込まれる。
【0002】
(発明の分野)
本開示は、様々な実施形態では、データストレージ及びメモリに関し、より具体的には、メモリの物理的特性に基づくエラー訂正に関する。
【背景技術】
【0003】
記憶又は送信されたデータは、符号化データに冗長情報を追加する、エラー訂正符号(ECC)を使用して符号化されてもよい。符号化データの記憶又は送信においてエラーが発生する場合、冗長データは、元のデータを復号及び復元するために使用されてもよい。ECC復号器によって使用される「硬ビット」は、冗長ビット及び起こり得るエラーを含む、受信又は読み取られたままの符号化データを含む。追加的に、いくつかの復号器は、硬ビットの推定された信頼性についての追加情報を受信し、使用してもよい。どの硬ビットが誤っている可能性が高いか、又は低いかについての推定値を受信することは、元のデータを復号及び復元するために、どのビットが実際に誤っているかを判定することを容易にする。
【0004】
メモリから読み取られたデータの信頼性推定値は、データを記憶するために変更された物理的又は電気的特性についての情報を含んでもよい。データを記憶するために意図的に変更され得るメモリセルの特性もまた、経時的に不注意に変化し、エラーをもたらす場合がある。例えば、抵抗性メモリセルの抵抗が、より低い抵抗状態とより高い抵抗状態との間の境界近くにある場合、セルによって記憶されたデータは、(隣接する状態からのドリフトに起因して)誤っている可能性が高くなり得るが、抵抗が状態間の境界近くにない場合、記憶されたデータは、より信頼性が高くなり得る。しかしながら、メモリの様々な他の物理的特性も、データ信頼性と相関し得る。
【発明の概要】
【0005】
メモリの物理的特性に基づくエラー訂正のための装置が、提示される。装置は、いくつかの実施形態では、メモリセルのアレイ及びコントローラを含む。コントローラは、いくつかの実施形態では、アレイのセルのセットから符号化ビットのセットを読み取るように構成されている。コントローラは、いくつかの実施形態では、セルのセットのセルに関連付けられた1つ以上の永続的な物理的特性に基づいて、符号化ビットを信頼性グループに分割するように構成されている。コントローラは、いくつかの実施形態では、符号化ビットを復号するために、信頼性グループに基づく信頼性推定値を軟判定復号器に提供するように構成されている。
【0006】
メモリの物理的特性に基づくエラー訂正のための方法が、提示される。方法は、いくつかの実施形態では、メモリセルのセットから、エラー訂正符号の受信符号語を読み取ることを含む。方法は、いくつかの実施形態では、セルのセットのセルに関連付けられた1つ以上の永続的な物理的特性に基づいて、受信符号語のビットを信頼性グループに割り当てることを含む。方法は、いくつかの実施形態では、受信符号語を復号するために、信頼性グループに基づく信頼性推定値を軟判定復号器に提供することを含む。
【0007】
装置は、別の実施形態では、メモリセルのセットから符号化ビットのセットを読み取るための手段を含む。いくつかの実施形態では、装置は、セルのセットのセルに関連付けられた1つ以上の永続的な物理的特性に基づいて、符号化ビットと少なくとも2つの信頼性グループとの間の対応を判定するための手段を含む。いくつかの実施形態では、装置は、信頼性グループに基づく信頼性推定値を、符号化ビットを復号するための軟判定復号器に提供するための手段を含む。
【図面の簡単な説明】
【0008】
添付図面に示される特定の実施形態を参照して、以下により詳しい説明を含める。これらの図面は本開示のある実施形態のみを示し、したがってその範囲を限定するものとして見なされるべきではないと理解した上で、以下の添付図面を使用して、付加的な特殊性及び詳細を伴って本開示を記述し説明する。
【0009】
図1】読み取り構成要素を備えるシステムの一実施形態を示す概略的なブロック図である。
【0010】
図2】読み取り構成要素を備えるメモリ素子の一実施形態を示す概略的なブロック図である。
【0011】
図3】データ線とストローブ線との間の非同期を示すタイミングチャートである。
【0012】
図4】一実施形態における、メモリアレイの一部分を示す概略図である。
【0013】
図5】一実施形態における、不揮発性メモリアレイのセルのための閾値電圧の分布を示すグラフである。
【0014】
図6】一実施形態における、状態間の境界近くの閾値電圧の分布を示すグラフである。
【0015】
図7】読み取り構成要素の一実施形態を示す概略的なブロック図である。
【0016】
図8】読み取り構成要素の別の実施形態を示す概略的なブロック図である。
【0017】
図9】メモリの物理的特性に基づくエラー訂正のための方法の一実施形態を示すフローチャートである。
【0018】
図10】メモリの物理的特性に基づくエラー訂正のための方法の別の実施形態を示すフローチャートである。
【発明を実施するための形態】
【0019】
本開示の態様は、装置、システム、方法、又はコンピュータプログラムプロダクトとして具現化され得る。したがって、本開示の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、又はソフトウェアの態様及びハードウェアの態様を組み合わせた実施形態の形をとってもよく、これら全ては概して本明細書において「回路」、「モジュール」、「装置」、又は「システム」として参照され得る。更に、本開示の態様は、コンピュータ可読の及び/又は実行可能なプログラムコードを記憶する1つ以上の非一時的コンピュータ可読のストレージメディアにおいて具現化されるコンピュータプログラムプロダクトの形をとってもよい。
【0020】
本明細書に記載の機能ユニットの多くは、その実装独立性をより強調するためにモジュールとしてラベル化されている。例えば、モジュールは、カスタムVLSI回路又はゲートアレイ、論理チップ、トランジスタ、又は他のディスクリート部品等の市販の半導体を含むハードウェア回路として実装されてもよい。モジュールは、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス等の、プログラマブルハードウェアに実装されてもよい。
【0021】
モジュールは、様々なタイプのプロセッサによって実行されるソフトウェアにおいて、少なくとも部分的に実装されてもよい。実行可能コードの特定されたモジュールは、例えば、オブジェクト、プロシジャ、又は機能として編成され得るコンピュータ命令の1つ以上の物理又は論理ブロックを例えば備えてもよい。それにもかかわらず、特定されたモジュールの実行可能ファイルは、物理的に一緒に位置する必要はないが、論理的に結合された場合にモジュールを備え、モジュールのための上記目的を達成する、異なる位置に記憶された異種命令を備えてもよい。
【0022】
実際に、実行可能コードのモジュールは、単一の命令、又は多くの命令を含んでもよく、いくつかの異なるコードセグメントにわたって、いくつかの異なるプログラムの中で、いくつかのメモリデバイス等を介して分配されてもよい。モジュール又はモジュールの一部をソフトウェアで実装した場合、ソフトウェアの部分は1つ以上のコンピュータ可読の及び/又はコンピュータ実行可能なストレージメディア上に記憶されてもよい。1つ以上のコンピュータ可読のストレージメディアの任意の組み合わせが利用されてもよい。コンピュータ可読のストレージメディアは、例えば、限定されないが、電子的、磁気的、光学的、電磁的、赤外線の、又は半導体の、システム、装置、又はデバイス、又はこれらの好適な任意の組み合わせを含んでもよいが、伝播する信号を含むものではない。この文書の文脈では、コンピュータ可読の及び/又はコンピュータ実行可能なストレージメディアは、命令実行システム、装置、プロセッサ、又はデバイスによって又はそれらと関連して使用されるプログラムを含み得る又は記憶し得る有形及び/又は非一時的な媒体であってもよい。
【0023】
本開示の態様のための動作を実行するためのコンピュータプログラムコードは、Python、Java、Smalltalk、C++、C#、Objective C等のオブジェクト指向プログラミング言語、「C」プログラミング言語等の従来のプロシジャプログラミング言語、スクリプトプログラミング言語、及び/又は他の同様なプログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで書き込まれてもよい。プログラムコードは、1つ以上のユーザのコンピュータ上で及び/又はリモートコンピュータ若しくはサーバ上でデータネットワーク等を介して、部分的又は全体的に実行されてもよい。
【0024】
構成要素は、本明細書で用いられるとき、有形で、物理的で、非一時的なデバイスを構成する。例えば、構成要素は、カスタムVLSIの回路、ゲートアレイ、若しくは他の集積回路を備えるハードウェア論理回路、論理チップ、トランジスタ、若しくは他のディスクリートデバイス等の市販の半導体の装置、及び/又は他の機械的若しくは電気的なデバイスとして実装されてもよい。構成要素はまた、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス等の、プログラマブルハードウェアに実装されてもよい。構成要素は、プリント回路基板(PCB)の電気線等を介して1つ以上の他の構成要素と電気的通信を行う、1つ以上のシリコン集積回路デバイス(例えば、チップ、ダイ、ダイプレーン、パッケージ)、又は他のディスクリート電気素子を備えてもよい。本明細書で説明されるモジュールの各々は、ある特定の実施形態では、代替的に、構成要素によって具現化されるか又は構成要素として実装されてもよい。
【0025】
回路、又は回路構成は、本明細書で使用されるとき、電流のための1つ以上の経路を提供する1つ以上の電気的及び/又は電子的構成要素のセットを含む。ある特定の実施形態では、回路は、回路が閉ループであるように、電流のための戻り経路を含んでもよい。しかしながら、別の実施形態では、電流のための戻り経路を含まない構成要素のセットが回路(例えば、開ループ)と称されてもよい。例えば、集積回路が(電流のための戻り経路として)接地に結合されているかどうかにかかわらず、集積回路は回路と称されてもよい。様々な実施形態では、回路は、集積回路の一部、集積回路、集積回路のセット、又は集積回路デバイスを有する若しくは有しない非集積型電気的構成要素及び/若しくは電気的構成要素のセット等を含んでもよい。一実施形態では、回路は、カスタムVLSI回路、ゲートアレイ、論理回路、又は他の集積回路を含んでもよい。論理チップ、トランジスタ、若しくは他のディスクリートデバイス等の市販の半導体の装置、及び/又は他の機械的若しくは電気的なデバイスとして実装されてもよい。回路はまた、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス等のプログラマブルハードウェアデバイス内の合成された回路として(例えば、ファームウェア、ネットリスト等として)実装されてもよい。回路は、プリント回路基板(PCB)の電気線等を介して1つ以上の他の構成要素と電気的通信を行う、1つ以上のシリコン集積回路デバイス(例えば、チップ、ダイ、ダイプレーン、パッケージ)、又は他のディスクリート電気素子を備えてもよい。本明細書で説明されるモジュールの各々は、ある特定の実施形態では、回路によって具現化されるか又は回路として実装されてもよい。
【0026】
本明細書の全体を通して、「一実施形態(one embodiment)」、「一実施形態(an embodiment)」、又はそれに類似した言葉の参照は、本実施形態に関連して記載される特定の特徴、構造、又は特性が、本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書の全体を通して、「一実施形態では(in one embodiment)」、「一実施形態では(in an embodiment)」、及びそれに類似した言葉の語句の表記は、必ずしも全て同一の実施形態を参照するのではなく、特に明示しない限り、「1つ以上ではあるが全てではない実施形態」を意味し得る。「含む(including)」、「備える(comprising)」、「有する(having)」という用語及びそれらの変形は、特に明示しない限り、「~を含むが、限定されない」ことを意味する。列挙された項目の一覧は、特に明示しない限り、それらの項目のいずれか又は全てを相互に排他する及び/又は相互に含めることを暗に意味するものではない。「a」、「an」、及び「the」はまた、特に明示しない限り、「1つ以上」を表す。
【0027】
本開示の態様は、本開示の実施形態に従って、方法、装置、システム、及びコンピュータプログラムプロダクトの概略的なフローチャート図及び/又は概略的なブロック図を参照して以下に説明される。概略的なフローチャート図及び/又は概略的なブロック図の各ブロック、並びに概略的なフローチャート図及び/又は概略的なブロック図におけるブロックの組み合わせは、コンピュータプログラム命令によって実装することができると理解される。これらのコンピュータプログラム命令は、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサに提供されて、プロセッサ又は他のプログラマブルデータ処理装置を介して実行する命令が、概略的なフローチャート図及び/又は概略的なブロック図のブロック(複数可)で指定された機能及び/又は作用を実装するための手段を作成するように、マシンを生成してもよい。
【0028】
また、いくつかの代替の実施形態では、ブロック内で示された機能は、図において示された順序とは異なって生じてもよいことに留意されたい。例えば、連続して示す2つのブロックが実質的に並行して実行されてもよいか、又はそれらのブロックが、関連する機能に応じて逆の順序で実行される場合があってもよい。他の工程及び方法として、機能、論理、又は効果の点で、示された図の1つ以上のブロック、又はその部分と同等なものを着想してもよい。様々な矢印のタイプ及び線のタイプがフローチャート及び/又はブロック図で採用され得るが、それらは対応する実施形態の範囲を限定しないものとして理解される。例えば、矢印は、図示された実施形態の列挙された工程間の不特定の継続時間の待ち又は監視期間を示してもよい。
【0029】
以下の詳細な説明では、その一部をなす添付図面を参照する。前述した概要は、例示的なものにすぎず、いかようにも限定することを意図していない。上述した例示的な態様、実施形態、及び特徴に加えて、更なる態様、実施形態、及び特徴を、図面及び以下の詳細な説明を参照することにより明らかにする。各図における要素の説明は、先の図の要素を参照し得る。同じ番号は、図において同じ要素を参照する場合があり、それは同じ要素の代替の実施形態を含む。
【0030】
本明細書で使用されるとき、「及び/又は」の組み合わせを伴うリストは、リストにおける任意の単一の項目又はリストにおける項目の組み合わせを含む。例えば、A、B、及び/又はCのリストは、Aのみ、Bのみ、Cのみ、A及びBの組み合わせ、B及びCの組み合わせ、A及びCの組み合わせ、又はA、B、及びCの組み合わせを含む。本明細書で使用されるとき、用語「1つ以上」を使用するリストは、リストにおける任意の単一の項目又はリストにおける項目の組み合わせを含む。例えば、A、B、及びCのうちの1つ以上は、Aのみ、Bのみ、Cのみ、A及びBの組み合わせ、B及びCの組み合わせ、A及びCの組み合わせ、又はA、B、及びCの組み合わせを含む。本明細書で使用されるとき、用語「1つの」を使用するリストは、リストにおける任意の単一項目のうちの1つ及び1つのみを含む。例えば、「A、B、及びCのうちの1つ」は、Aのみ、Bのみ、又はCのみを含み、A、B、及びCの組み合わせを除外する。本明細書で使用されるとき、「A、B、及びCからなる群から選択される部材」は、A、B、又はCのうちの1つ及び1つのみを含み、A、B、及びCの組み合わせを除外する。本明細書で使用されるとき、「A、B、及びC、並びにこれらの組み合わせからなる群から選択される部材」は、Aのみ、Bのみ、Cのみ、A及びBの組み合わせ、B及びCの組み合わせ、A及びCの組み合わせ、又はA、B、及びCの組み合わせを含む。
【0031】
図1は、メモリデバイス120のための読み取り構成要素150を備えるシステム100の一実施形態のブロック図である。読み取り構成要素150は、メモリ素子123の一部、メモリ素子123の外部のデバイスコントローラ126、及び/又はメモリデバイス120のためのデバイスドライバであってもよい。読み取り構成要素150は、プロセッサ111、揮発性メモリ112、コンピュータ可読ストレージメディア114、及び通信インターフェース113を含み得る、コンピューティングデバイス110のため、又はその内部でメモリデバイス120と通信するか、又はその中で動作してもよい。プロセッサ111は、1つ以上の中央処理装置、1つ以上の汎用プロセッサ、1つ以上の特定用途向けプロセッサ、1つ以上の仮想プロセッサ(例えば、コンピューティングデバイス110は、ホスト内で動作する仮想マシンであってもよい)、1つ以上のプロセッサコア等を備えてもよい。通信インターフェース113は、コンピューティングデバイス110及び/又はメモリデバイス120を、インターネットプロトコルネットワーク、ストレージエリアネットワーク等のような通信ネットワーク115に通信可能に結合するように構成された1つ以上のネットワークインターフェースを備えてもよい。
【0032】
メモリデバイス120は、様々な実施形態では、コンピューティングデバイス110に対して1つ以上の異なる位置に配設されてもよい。一実施形態では、メモリデバイス120は、1つ以上のプリント回路基板、ストレージ筐体、並びに/又は他の機械的及び/若しくは電気的支持構造体の上に配設された半導体チップ若しくはパッケージ又は他の集積回路デバイス等の、1つ以上の揮発性及び/又は不揮発性メモリ素子123を備える。例えば、メモリデバイス120は、1つ以上のダイレクトイン線メモリモジュール(DIMM)カード、1つ以上の拡張カード及び/若しくはドータカード、ソリッドステートドライブ(SSD)若しくは他のハードドライブデバイスを備えてもよく、及び/又は別のメモリ及び/若しくはストレージフォームファクターを有してもよい。メモリデバイス120は、コンピューティングデバイス110のマザーボードと一体化され、かつ/又はマザーボード上に搭載されてもよいし、コンピューティングデバイス110のポート及び/又はスロットに設置されてもよいし、異なるコンピューティングデバイス110上に及び/又は外部バスを介してコンピューティングデバイス110と通信しているネットワーク115上の専用のストレージ機器(例えば、外部ハードドライブ)上に設置される等してもよい。
【0033】
一実施形態では、メモリデバイス120は、ストレージクライアント116と通信するために、コンピューティングデバイス110のバス125上に配設されてもよい。一実施形態では、メモリデバイス120は、プロセッサ111のメモリバス上に(例えば、揮発性メモリ112と同じメモリバス上に、揮発性メモリ112とは異なるメモリバス上に、揮発性メモリ112と置き換えて等で)配設されてもよい。更なる実施形態では、メモリデバイス120は、ペリフェラルコンポーネントインターコネクトエクスプレス(PCI Express又はPCIe)バス、シリアルアドバンスドテクノロジーアタッチメント(SATA)バス、パラレルアドバンスドテクノロジーアタッチメント(PATA)バス、スモールコンピュータシステムインターフェース(SCSI)バス、ファイヤワイヤバス、ファイバチャネル接続、ユニバーサルシリアルバス(USB)、PCIeアドバンスドスイッチング(PCIe-AS)バス等の、コンピューティングデバイス110の周辺バス上に配設されてもよい。別の実施形態では、メモリデバイス120は、イーサネットネットワーク、インフィニバンドネットワーク、ネットワーク115上のSCSI RDMA、ストレージエリアネットワーク(SAN)、ローカルエリアネットワーク(LAN)、インターネット等のワイドエリアネットワーク(WAN)、別の有線及び/又は無線ネットワーク115等の、データネットワーク115上に配設されてもよい。
【0034】
一実施形態では、メモリデバイス120は、バス125を介してデバイスドライバ又は他の実行可能なアプリケーションからの記憶要求を受信するように構成されている。メモリデバイス120は、バス125を介してデバイスドライバ及び/又はストレージクライアント116との間で(to/from)データを伝送するように更に構成されてもよい。したがって、メモリデバイス120は、いくつかの実施形態では、記憶要求及び関連データの伝送を容易にするために、1つ以上のダイレクトメモリアクセスモジュール(DMA)、リモートDMAモジュール、バスコントローラ、ブリッジ、バッファ等を含んでも、及び/又はそれらと通信してもよい。別の実施形態では、メモリデバイス120は、ストレージクライアント116からのAPIコールとして、IO-CTLコマンド等として等の記憶要求を受信してもよい。
【0035】
様々な実施形態によれば、デバイスコントローラ126は、1つ以上のメモリデバイス120及び/又はメモリ素子123を管理してもよい。メモリデバイス(複数可)120は、アドレス指定可能な複数のメディア記憶位置に配置及び/又は区画化されているソリッドステートストレージデバイス(複数可)及び/又は半導体ストレージデバイス(複数可)等の、記録デバイス、メモリデバイス、及び/又はストレージデバイスを備えてもよい。本明細書で使用されるとき、メディア記憶位置は、メモリの任意の物理的ユニット(例えば、メモリデバイス120上の任意の量の物理的ストレージメディア)を指す。メモリ単位は、限定されないが、物理的記憶位置の、ページ、メモリ分割、ブロック、セクタ、コレクション又はセット(例えば、論理ページ、論理ブロック)等を含んでもよい。
【0036】
通信インターフェース113は、コンピューティングデバイス110及び/又はメモリデバイス120をネットワーク115及び/又は1つ以上の遠隔のネットワークアクセス可能なストレージクライアント116に通信可能に結合するように構成された1つ以上のネットワークインターフェースを備えてもよい。ストレージクライアント116は、コンピューティングデバイス110上で動作するローカルストレージクライアント116、並びに/又はネットワーク115及び/若しくは通信インターフェース113を介してアクセス可能な遠隔のストレージクライアント116を含んでもよい。デバイスコントローラ126は、1つ以上のメモリデバイス120の一部であっても、及び/又はそれらと通信してもよい。図1は、単一のメモリデバイス120を示しているが、本開示は、この点に限定されず、任意の数のメモリデバイス120を組み込むように適合されることができる。
【0037】
メモリデバイス120は、揮発性及び/又は不揮発性メモリメディア122の1つ以上の素子123を備えてもよく、これには、SRAM及び/又はDRAM等の揮発性メモリ、ReRAM、メモリスタメモリ、プログラマブルメタライゼーションセルメモリ、相変化メモリ(PCM、PCME、PRAM、PCRAM、Ovonic Unified Memory、Chalcogenide RAM、又はC-RAM)、NANDフラッシュメモリ(例えば、2D NANDフラッシュメモリ、3D NANDフラッシュメモリ)、NORフラッシュメモリ、ナノランダムアクセスメモリ(ナノRAM又はNRAM)、ナノクリスタルワイヤベースメモリ、シリコン酸化物系のサブ-10ナノメートルプロセスメモリ、グラフェンメモリ、シリコン酸化物窒化物酸化物シリコン(SONOS)、プログラマブルメタライゼーションセル(PMC)、導電性ブリッジングRAM(CBRAM)、磁気抵抗性RAM(MRAM)、磁気ストレージメディア(例えば、ハードディスク、テープ)、及び/又は光ストレージメディア、又は他のメモリ及び/若しくはストレージメディアを含んでもよいが、これらに限定されない。メモリメディア122の1つ以上の素子123は、ある特定の実施形態では、ストレージクラスメモリ(SCM)を備える。
【0038】
メモリメディア122は、本明細書において「メモリメディア」として称されるが、様々な実施形態では、メモリメディア122は、より一般的には、データを記録することが可能な1つ以上の揮発性及び/又は不揮発性ストレージメディアを備えてもよく、これは、メモリメディア、ストレージメディア等として称されてもよい。更に、メモリデバイス120は、様々な実施形態では、記録デバイス、メモリデバイス、ストレージデバイス等を備えてもよい。同様に、メモリ素子123は、様々な実施形態では、記録素子、メモリ素子、ストレージ素子等を備えてもよい。
【0039】
メモリメディア122は、チップ、パッケージ、プレーン、ダイ等を含み得るが、これらに限定されない、1つ以上のメモリ素子123を備えてもよい。1つ以上メモリ素子123の外部にあるデバイスコントローラ126は、メモリメディア122上のデータ動作を管理するように構成されてもよく、1つ以上のプロセッサ、プログラマブルプロセッサ(例えば、FPGA)、ASIC、マイクロコントローラ等を備えてもよい。いくつかの実施形態では、デバイスコントローラ126は、メモリメディア122上にデータを記憶し、及び/又はそこから読み取るように、メモリデバイス120との間で(to/from)データを伝送するように構成され、同様に続く。
【0040】
デバイスコントローラ126は、バス127を経由してメモリメディア122に通信可能に結合されてもよい。バス127は、メモリ素子123との間で(to/from)データを通信するためのバスI/Oを備えてもよい。バス127は、アドレス指定並びに他のコマンド、及び制御情報をメモリ素子123に通信するための制御バスを更に備えてもよい。いくつかの実施形態では、バス127は、メモリ素子123をデバイスコントローラ126に並列に通信可能に結合してもよい。この並列アクセスは、メモリ素子123をグループとして管理されることができるようにして、論理メモリ素子129を形成してもよい。論理メモリ素子は、それぞれの論理メモリ単位(例えば、論理ページ)及び/又は論理メモリ分割(例えば、論理ブロック)に区画化されてもよい。論理メモリ単位は、各メモリ素子123の物理的メモリ単位を論理的に組み合わせることによって形成されてもよい。
【0041】
デバイスコントローラ126は、コンピューティングデバイス110上で実行されるデバイスドライバを備えてもよく、及び/又は通信してもよい。デバイスドライバは、1つ以上のインターフェースを介してストレージクライアント116にストレージにサービスを提供してもよい。例えば、デバイスドライバは、上述されたように、バス125を介してデバイスコントローラ126にデータ、コマンド、及び/又はクエリを伝送するように構成されたメモリデバイスインターフェースを含んでもよい。いくつかの実施形態では、デバイスドライバは、非一時的コンピュータ可読メディア(例えば、揮発性メモリ112、又はコンピュータ可読ストレージメディア114)、及び/又は符号化を実行するプロセッサ(例えば、プロセッサ111)によって記憶された実行可能コードを含んでもよい。
【0042】
様々なタイプのメモリ素子123及び/又はメモリデバイス120では、記憶されたデータは、データが読み取られるときに、エラーを含んでもよい。メモリ素子123は、セルの物理的又は電気的特性がデータを記憶するために変更可能であるメモリセルのアレイを含んでもよい。例えば、データは、トランジスタベースのメモリセルのためのトランジスタ閾値電圧、抵抗性メモリセルのための抵抗等を変更することによって記憶されてもよい。しかしながら、データを記憶するために意図的に変更されることができるメモリセルの特性もまた、経時的に不注意に変化してもよく、エラーを生じる。
【0043】
エラーはまた、メモリセル、メモリセルに結合された回路構成、入出力回路構成等の物理的変動、異常、又は欠陥に起因しても発生し得る。例えば、バス127は、メモリ素子123とデバイスコントローラ126との間に並列データ線を含んでもよいが、データ線は、1つのデータ値と次のデータとの間で同時に切り替わるように完全に同期されなくてもよい。したがって、全てのデータ線が正しいデータ値をアサートするように遷移される前に、デバイスコントローラ126がデータ線からデータをサンプリングする場合、エラーが生じる可能性がある。別の例として、ワード線に結合されたメモリセルの行にデータを書き込むことは、行におけるどのメモリセルが新しいデータ値にプログラミングされ、行におけるどのメモリセルがプログラムされることから禁止されるのかを制御するように、ビット線に結合された動作トランジスタを含んでもよい。メモリセルのプログラミング又は禁止を制御するトランジスタのための閾値電圧における物理的変動は、一部のトランジスタがオフであると想定されるときにオンになるか、オンであると想定されるときにオフになることを意味し得る。したがって、メモリセルが不正確にプログラム又は禁止されていることに起因して、エラーが生じる可能性がある。
【0044】
様々なタイプのエラーを回避又は軽減するために、データは、メモリ素子123上にデータを記憶する前に、符号化データに冗長情報を追加するエラー訂正符号(ECC)を使用して符号化されてもよい。メモリ素子123、デバイスコントローラ126、及び/又はメモリデバイス120のためのデバイスドライバは、冗長ビット及び起こり得るエラーを含むメモリセルから読み取られたデータを受信し、元のデータを復号及び復元するために冗長データを使用するECC復号器を含んでもよい。いくつかの実施形態では、「硬判定」復号器は、符号化データ値自体である「硬ビット」上で、起こり得るエラーとともに動作してもよい。しかしながら、いくつかの実施形態では、「軟判定」復号器は、硬ビットの推定された信頼性についての追加情報を受信し、使用してもよい。例えば、軟判定復号器は、信頼性のある、信頼できない(場合によっては中間信頼性)等としてビットの分類の形態で、又は硬ビットが正しい、確率若しくは尤度比、対数尤度、対数尤度の差(尤度比の対数に相当する等の形態で、信頼性推定値を受信してもよい。
【0045】
いくつかの実施形態では、信頼性推定値は、硬ビットに加えて、軟判定復号器によって受信された別個の情報であってもよい。例えば、硬ビットが正しい確率は、硬ビットに付随し得る。他の実施形態では、信頼性推定値は、硬ビットを組み込んでもよく、それにより、硬ビットは、軟判定復号器によって別個に受信されない。例えば、ビットがバイナリ1である可能性と、ビットがバイナリゼロである可能性との間の比率の形態における信頼性推定値は、比率が1より大きい場合、硬ビットが1であるか、又は比率のゼロが1未満であることを示し得る。同様に、尤度比(「対数尤度比」又は「LLR」)の対数の形態における信頼性推定値は、LLRが陽性である場合には、硬ビットが1であり、LLRが陰性である場合には、硬ビットがゼロであることを示し得る。様々な実施形態では、信頼性推定値は、ECC符号化データのどの硬ビットが誤っている可能性が高いか、又は低いかを示してもよく、したがって、元の符号化されていないデータを復号及び復元するために、どのビットが実際に誤っているかを軟判定復号器が判定することを容易にする。
【0046】
いくつかの実施形態では、信頼性推定値は、軟ビット読み取りを実施することによって、軟判定復号器に対して判定されてもよい。状態間のメモリセルの変更可能な物理的特性のドリフトに起因してエラーが生じた場合、軟ビット読み取りは、変更可能な特性が状態間の閾値により近いか又はより遠いかに基づいて、どのメモリセルがドリフトエラーを経験している可能性がより多いか、又はより少ないかを判定することができる。しかしながら、上述されたように、データ線同期における変動、メモリセルのプログラミング及び禁止を制御するトランジスタにおける変動等のような、メモリの様々な他の物理的特性もまた、データ信頼性と相関され得る。
【0047】
したがって、様々な実施形態では、メモリ素子123、デバイスコントローラ126、及び/又はメモリデバイス120のためのデバイスドライバは、読み取り構成要素150を含んでもよい。読み取り構成要素150は、いくつかの実施形態では、メモリセルのセットから符号化ビットのセットを読み取り、セルのセットのセルに関連付けられた1つ以上の永続的な物理的特性に基づいて、符号化ビットを信頼性グループに分割するように構成されている。様々な実施形態では、メモリセルから信頼性グループにデータ値を割り当てるように読み取り構成要素150のための基準として使用され得る、メモリセルに関連付けられた永続的な物理的特性は、データを記憶するために使用される変更可能な物理的特性以外の特性であってもよい。例えば、メモリセルからのビットは、各メモリセルからのデータが伝送されるデータ線、メモリセルのプログラミング及び禁止を制御するトランジスタの閾値電圧、又はセルに関連付けられた他の物理的特性等の永続的な物理的特性に基づいて、読み取り構成要素150によって信頼性グループにグループ化されてもよい。
【0048】
符号化ビットが信頼性グループに分割又は割り当てられると、読み取り構成要素150は、符号化ビットを復号するために、信頼性グループに基づく信頼性推定値を軟判定復号器に提供してもよい。永続的な物理的特性に基づくグループの信頼性推定値は、復号速度を増加させること、訂正不可能なエラーのレートを低減すること等によって、ECC復号器の性能を改善させるように、セルの変更可能な物理的特性の軟ビット読み取りに基づく信頼性推定値に加えて、又は代わりに使用されてもよい。読み取り構成要素150は、図2図10を参照して、以下で更に詳細に記載される。
【0049】
図2は、メモリ素子123の一実施形態を図示する。メモリ素子123は、図1を参照して上述されたメモリ素子123と実質的に同様であってもよく、チップ、ダイ、ダイプレーン等であってもよい。図示された実施形態では、メモリ素子123は、メモリアレイ200、行回路202、列回路204、及びダイコントローラ206を含む。
【0050】
様々な実施形態では、メモリ素子123は、データ記憶のためのメモリセル(例えば、揮発性及び/又は不揮発性メモリセル)のコアアレイ200と、アレイ200と通信するための周辺構成要素(例えば、行回路202、列回路204、及び/又はダイコントローラ206)との両方を含む集積回路であってもよい。ある特定の実施形態では、1つ以上のメモリ素子123は、メモリデバイス120内に含まれてもよい。
【0051】
図示された実施形態では、アレイ200は、複数のメモリセルを含む。一実施形態では、アレイ200は、二次元アレイであってもよい。別の実施形態では、アレイ200は、メモリセルの複数の平面及び/又は層を含む三次元アレイであってもよい。様々な実施形態では、アレイ200は、行回路202を介した行によって、及び列回路204を介した列によってアドレス指定可能であってもよい。様々な実施形態では、「セル」は、アレイ200のためのメモリ又は記憶装置の最小又は基本的な物理的ユニットを指してもよく、「記憶セル」、「メモリセル」等と互換的に称されてもよい。例えば、セルは、NANDフラッシュメモリ、抵抗性メモリのためのメモリスタ等のフローティングゲートトランジスタであってもよい。したがって、更なる実施形態では、セルのアレイ200は、短期記憶の使用、長期の記憶の使用等のために、データが物理的に記憶されることができる二次元グリッド、三次元ブロック、グループ、又は他の同様のセルのセットであってもよい。
【0052】
ダイコントローラ206は、ある特定の実施形態では、アレイ200上でメモリ動作を実施するように、行回路202及び列回路204と協働する。様々な実施形態では、ダイコントローラ206は、メモリ動作中に行回路202及び列回路204に供給される電力及び電圧を制御する電力制御回路、受信アドレスを行回路202及び列回路204によって使用されるハードウェアアドレスに変換するアドレス復号器、メモリ動作を実装及び制御する状態マシン等のような構成要素を含んでもよい。ダイコントローラ206は、コマンド及びアドレス情報、伝送データ等を受信するために、バス127を介して、コンピューティングデバイス110、プロセッサ115、バスコントローラ、記憶デバイスコントローラ、メモリモジュールコントローラ等と通信してもよい。
【0053】
一実施形態では、ダイコントローラ206は、図1に関して上述された読み取り構成要素150と実質的に同様であり得る、読み取り構成要素150を含んでもよい。読み取り構成要素150は、ダイコントローラ206の構成要素として図2に図示されているが、読み取り構成要素150は、いくつかの実施形態では、行回路202、列回路204等の構成要素を含むか、又はそれと通信してもよい。例えば、いくつかの実施形態では、アレイ200からデータを読み取るための回路構成は、行回路202及び列回路204に含まれてもよく、読み取り構成要素150は、データを読み取るための回路構成を含むか、又はそれと通信してもよい。
【0054】
図3は、バス127を介してメモリ素子123からデバイスコントローラ126に送信されているデータのための、データ線とストローブ線との間の非同期の一例を示すタイミングチャート300である。図示されたタイミングチャート300では、時間は、水平軸に沿って増加し、信号電圧は、複数のデータ線及びストローブ線に対して垂直軸上に示されている。様々な実施形態では、メモリ素子123とデバイスコントローラ126との間のバス127は、複数のデータ線及びデータストローブ線を含んでもよい。例えば、バスは、8本のデータ線、16本のデータ線、32本のデータ線、64本のデータ線、又は別の数のデータ線を含んでもよい。データがメモリアレイ200から読み取られるときに、データ線上の信号は、バイナリ1又はゼロを通知するために、高又は低に(例えば、バイナリデータ値に対応する指定された高電圧及び低電圧に)駆動され、データストローブの各立ち上がりエッジ又は立ち下がりエッジとともに後続のバイナリデータ値を通知するために、後続の高電圧又は低電圧に遷移し得る。データ線は、データストローブの各エッジで1又はゼロを伝送し得るので、データ線のための信号は、データが任意の特定のデータ値を示すことなく伝送されていることを示すように、各エッジで高及び低の両方に進むように示される。
【0055】
様々な実施形態では、DQSストローブは、バス127上のマーシャリング(marshalling)データのためのクロックとして機能する。バス127上のデータ伝送を同期させるために、メモリ素子123及びデバイスコントローラ126に外部クロック信号を提供するのではなく、メモリ素子123は、データ線上のデータと一緒にデータストローブ線上にDQSストローブ信号を生成し、デバイスコントローラ126は、データ線から各新しいデータ値をいつサンプリングするかを判定するためのクロックとしてDQSストローブを使用する。
【0056】
タイミングチャート300では、破線の垂直線は、異なる時間302、304、306を示す。これらの線は、各信号が異なる時間にどのように変化したか、又は変化していないかを示すために、信号を横切って延在する。DQSエッジ時間302で、DQS電圧が低から高へ、又は高から低へと進むにつれて、DQSストローブの立ち上がりエッジ又は立ち下がりエッジが生じる(図3は、立ち上がりエッジを図示する)。DQSストローブとデータ線との間の完全な同期により、データ線は全て、DQSエッジ時間302で次の値に遷移し、図3の信号は、完全に垂直に整列され、デバイスコントローラ126は、DQSエッジ時間302とDQSストローブの次のエッジとの間の任意の時点で、データ線I/O1~I/O7からの信号をサンプリングすることによって、メモリ素子123から8ビットのデータを受信することができ、その後、データ線を再びサンプリングすることによって次の8ビットを取得し、同様に続く。
【0057】
しかしながら、そのような完全な同期は、ほとんどない。データ線上の信号遷移は、データ線信号を駆動する回路構成のためのスイッチング速度の変化、プリント回路基板上のデータ線及びデータストローブ線の長さにおける変動等のような、物理的特性が変化することに起因して、異なるデータ線に対して異なる量だけ、DQSエッジ時間302に対して前進又は遅延されてもよい。したがって、図3に図示されたように、信号は、非同期されてもよい。タイミングチャート300に図示されている例では、データ線I/O4は、遷移がDQSエッジ時間302に比べて最も早い、最も前進した線であり、データ線I/O5は、遷移がDQSエッジ時間302に比べて最も遅い、最も遅延した線である。他の実施例では、他の線は、より前進されるか、又はより遅延されてもよい。
【0058】
データ線間のこの非同期を補償するために、デバイスコントローラ126は、DQSエッジ時間302の後に、いくらかの遅延とともにデータ線からサンプリングすることによって、メモリ素子からデータを受信してもよい。データ線からデータをサンプリングするためのウィンドウは、最も遅延したデータ線(例えば、I/O5)が新しい値に遷移したときに、左縁部304から始まる。ウィンドウは、最も遅延の少ない、又は最も前進されたデータ線(例えば、I/O4)が次の値に遷移するときに、右縁部306まで、全てのデータ線が一貫し続けている。デバイスコントローラ126がDQSストローブ縁部の探索とデータ線からのサンプリングとの間で待機する遅延時間は、データがウィンドウの左縁部304と右縁部306との間である時間(例えば、途中)サンプリングされているデータをもたらしてもよい。
【0059】
しかしながら、デバイスコントローラ126がウィンドウの左縁部304及び右縁部306を判定することは、時間消費プロセスであってもよい。このプロセスは、デバイスコントローラ126が、既知のデータをメモリ素子123に書き込み、サンプリング遅延のために異なる値でバス127を介して既知のデータを読み取ることを繰り返し試みることを伴ってもよい。例えば、デバイスコントローラ126は、データを反復的に読み取ってもよく、エラーなしで既知のデータを読み取ることができるまで、各反復でゼロからサンプリング遅延を増加させ、その時点でウィンドウの左縁部304が確立されている。その後、デバイスコントローラ126は、エラーが再び現れるまでデータを反復的に読み取り、サンプリング遅延を増加させてもよく、その時点でウィンドウの右縁部306が確立されている。ウィンドウの両縁部を見つけるために繰り返される読み取りは、かなりの時間量を使用してもよい。
【0060】
追加的に、データ線間の非同期は、一定でなくてもよいが、経時的に変化してもよい。例えば、異なるデータ線を駆動するための回路構成は、経時的に異なって摩耗してもよく、様々なデータ線上の信号が前進又は遅延される時間量を変化させる。したがって、いくつかの実施形態では、デバイスコントローラ126(又は、非同期線上で同様にデータを受信する、任意の他の構成要素)は、上述されたように、既知のデータを再度反復的に読み取ることによってデータ線からデータをサンプリングするための遅延を更新して、サンプリングウィンドウの左縁部304及び右縁部306を確立するため、遅延再較正プロセスを開始してもよい。デバイスコントローラ126は、最後の遅延再較正から一定の時間が経過した後、エラー率が閾値を超えた後等、電源投入時の遅延再較正プロセスを開始してもよい。しかしながら、遅延再較正によって使用されるかなりの時間量に起因して、エラー訂正性能を増加させてより高いエラー率を処理するか、又はより迅速にエラーを処理することは、遅延再較正の頻度を低減することによってデバイスの利用可能性を増加させ得る。
【0061】
いくつかの実施形態では、アレイ200のメモリセルは、同じデータ線を使用してデータセルを一貫して送信及び受信する。アレイ200の行からのデータは、メモリセルから読み取られ、データ線I/O0~I/O7を介して一度に8ビット、デバイスコントローラ126に送信されてもよい。例えば、64個のメモリセルから読み取るときに、データ線I/O0は、メモリセル0、8、16、24、32、40、48、及び56からビットを送信し、データ線I/O1は、メモリ1、9、17、25、33、41、49、及び57からビットを送信することを経て、データ線I/O7は、メモリセル7、15、23、31、39、47、55、及び63からビットを送信する。したがって、メモリセルからデータを送信又は受信するデータ線は、メモリセルに関連付けられた永続的な物理的特性であってもよく、インターフェースビットインデックスによって示されてもよい。例えば、インターフェースビットインデックス0は、データ線I/O0を使用してデータを伝送するメモリセルを指してもよく、インターフェースビットインデックス1は、データ線I/O1を使用してデータを伝送するメモリセルを指してもよく、同様に続く。
【0062】
非同期化が経時的に変化すると、データ線のためのタイミングは、データ値間の一部の遷移がサンプリングウィンドウの外側ではなく、サンプリングウィンドウ内でエラーを発生させるようにシフトしてもよい。これらのエラーは、他のデータ線上のビットに影響を及ぼすことなく、新たに同期から外れているデータ線に特に影響を及ぼす。したがって、いくつかの実施形態では、読み取り構成要素150は、インターフェースビットインデックスに基づいて、メモリセルから信頼性グループへと読み取られるビットをグループ化してもよい。例えば、8つのデータ線がある場合、読み取り構成要素150は、インターフェースビットインデックスによってビットを8つの異なるグループに分割してもよい。その後、読み取り構成要素150は、信頼性グループに基づく信頼性推定値を軟判定復号器に提供してもよい。例えば、インターフェースビットインデックス5を有するセルが、よりエラー傾向があることが発見された場合(例えば、データ線I/O5の非同期化に起因して)、読み取り構成要素150は、その後、他の信頼性グループにおけるビットに対して、インターフェースビットインデックス5のための信頼性グループにおけるビットに対するより低い信頼性推定値を復号器に提供してもよい。この信頼性情報を軟判定復号器において使用することは、訂正不可能なエラーを低減又は回避し得、したがって、時間がかかる遅延再較正の間の時間を延ばしている。
【0063】
図4は、一実施形態によける、メモリアレイ200の一部分400を図示する。図示された実施形態では、メモリアレイ200は、ビット線402及びワード線412を介してアクセスされるフローティングゲートトランジスタ410を使用してデータを記憶するNANDフラッシュメモリアレイである。二次元メモリアレイ200では、ビット線402は、フローティングゲートトランジスタ410の列に結合されてもよく、ワード線412は、行に結合されてもよい。三次元アレイ200では、ワード線412は、フローティングゲートトランジスタ410の平面又は層に結合されてもよく、ビット線402は、選択トランジスタ(例えば、セルのどの垂直列がアクセスされているかを判定するためのトランジスタ408、414)で、複数の垂直列に結合されてもよい。図示された実施形態では、1つのビット線402に対応するアレイ200の一部分400は、ビット線402、1つ以上のNANDストリング404、ワード線412、及びソース線416を含む。図2を参照して上述されたように、ワード線412は、行回路202に連結されてもよく、ビット線402は、列回路204に結合されてもよい。
【0064】
様々な実施形態では、メモリセルは、ソース線416とビット線402との間に結合されてもよい。ある特定の実施形態では、「セル」は、アレイ200のためのメモリ又は記憶装置の最小又は基本的な物理的ユニットを指してもよく、「記憶セル」、「メモリセル」等と互換的に称されてもよい。例えば、セルは、NANDフラッシュメモリ、抵抗性メモリのためのメモリスタ等のフローティングゲートトランジスタであってもよい。したがって、更なる実施形態では、セルのアレイ200は、短期記憶の使用、長期の記憶の使用等のために、データが物理的に記憶されることができる二次元グリッド、三次元ブロック、グループ、又は他の同様のセルのセットであってもよい。ある特定の実施形態では、不揮発性メモリ素子124は、ワード線ドライバ、ビット線ドライバ、ビット線電圧を感知するための感知増幅器、アレイ200から読み取られている、又は書き込まれているデータを記憶するためのラッチ等のような、アレイ200に加えて、更に、又は周辺構成要素を含んでもよい。
【0065】
メモリセルの物理的又は電気的特性は、データを記憶するために変更可能であってもよい。例えば、トランジスタベースのメモリセル(例えば、NAND)は、トランジスタをオンにするための変更可能な閾値電圧に基づいてデータを記憶してもよい。同様に、抵抗性メモリセル(例えば、PCM又はMRAM)は、変更可能な抵抗に基づいてデータを記憶してもよい。セルの変更可能な物理的特性のための可能な値の範囲は、データ値に対応する状態に分割されてもよい。ソース線416、ワード線412、ビット線402、及び/又は同様のもので、セルにバイアス電圧が印加されると、セルの状態は、ビット線402の電圧、電流、又は他の電気的特性に影響を及ぼし得る。感知増幅器は、影響を受けた電気特性(セルの状態に対応する)を感知してもよく、データ結果を出力してもよい。一実施形態では、ビット線402とソース線416との間のセルを通過する電流は、単一のセルを通過してもよい。しかしながら、図示された実施形態では、セルのチェーンは、ソース線416とビット線402との間で直列に結合されてもよく、1つのセルを通過する電流は、チェーンにおける他のセルを通過してもよい。しかしながら、他のセルは、ビット線402の感知された電気特性がチェーンにおけるセルのうちの1つの状態に対応するように、(例えば、既知の低抵抗状態で)オンになるように制御されてもよい。単一のセル又はチェーンにおけるセルは、ソース線416とビット線402との間に結合されたものと同等に称されてもよい。追加的に、セルは、セルがソース線416及びビット線402に直接接続されているか、又は選択トランジスタ408、414等の他の構成要素を介して結合されているかにかかわらず、ソース線416とビット線402との間に結合されていると称されてもよい。
【0066】
様々な実施形態では、ビット線402は、様々な方法でメモリセルに結合されてもよい。例えば、図示された実施形態では、ビット線402は、複数のNANDストリング404に結合され、ここで、NANDストリング404は、直列に接続された複数の記憶セルを含み、個々のNANDストリング404は、選択トランジスタ408、414を介して選択可能である。別の実施形態では、ビット線402は、単一のNANDストリング404に結合されてもよい。更なる実施形態では、2端子セルは、ビット線402及びワード線412に結合されてもよく(例えば、ワード線412がセルの行にアドレス指定し、ビットライン401がセルの列をアドレス指定するクロスポイントアレイにおいて)、セルは、ソース線416に結合されてもよいか、又はされなくてもよい。メモリセルをビット線402に結合する様々な方法は、本開示を考慮して明らかとなるであろう。ある特定の実施形態では、セルは、感知動作中のビット線402における電流がメモリセル状態に対応するように、ビット線402に結合されてもよい。
【0067】
図示された実施形態では、NANDストリング404は、複数のフローティングゲートトランジスタ410を含む。フローティングゲートトランジスタ410において、導電性の「フローティング」ゲートは、ソース領域とドレイン領域との間の半導体基板のチャネル領域上に位置する。コントロールゲートは、フローティングゲート上に位置する。フローティングゲートは、コントロールゲート及び基板から電気的に分離されてもよく(例えば、酸化物層によって)、電荷を蓄積してもよい。フローティングゲート上の電荷は、ファウラーノルドハイムトンネリング、ホットキャリア注入等によって増加(例えば、プログラム中に)又は減少(例えば、消去中に)されてもよい。フローティングゲートは、コントロールゲートと基板との間にあるため、フローティングゲート上の電荷の量は、コントロールゲートに印加されるとフローティングゲートトランジスタ410が「オン」となるのに十分な(例えば、ソース領域とドレイン領域との間の導電性チャネルを作成するために)「閾値電圧」Vtに影響を与える可能性がある。したがって、フローティングゲート上の電荷の量、又は同等に、フローティングゲートトランジスタ410に対する閾値電圧Vtは、データを記憶するために操作されてもよい。
【0068】
一実施形態では、「単一レベルセル」(single level cell、SLC)のNANDフラッシュメモリにおいて、単一の読み取り電圧閾値は、セルに対する閾値電圧Vtが読み取り電圧閾値下回っている場合にフローティングゲートトランジスタ410が消去状態(例えば、バイナリ「1」を記憶する)となり、セルに対する閾値電圧Vtが読み取り電圧閾値上回っている場合にプログラム状態(例えば、バイナリ「0」を記憶する)となるように、フローティングゲートトランジスタ410のために確立されてもよい。別の実施形態では、「多値セル」(multi level cell、MLC)、「3値セル」(triple level cell、TLC)のNANDフラッシュメモリ等について、フローティングゲートトランジスタ410に対して可能な閾値電圧Vtの範囲は、複数の状態に分割されて、フローティングゲートトランジスタ410が2ビット以上のデータを記憶するようにしてもよい。一般に、様々な実施形態では、フローティングゲートトランジスタ410からデータを読み取ることは、コントロールゲートに読み取り電圧を印加して、フローティングゲートトランジスタ410がソース端子とドレイン端子との間を導通しているかどうかを判定することによって、フローティングゲートトランジスタ410の閾値電圧Vtがどの状態にあるかを判定することを含んでもよい。同様に、フローティングゲートトランジスタ410にデータを書き込むことは、コントロールゲートにプログラム電圧パルスを印加して、又は基板に消去電圧パルスを印加して、フローティングゲートトランジスタ410の閾値電圧Vtが変化することを含んでもよい。
【0069】
データは、図示された実施形態では、フローティングゲートトランジスタ410に記憶されているが、別の実施形態におけるデータは、他のタイプの電気部品のある特定の物理特性を変化させることによって、記憶されてもよい。例えば、データは、ReRAM内の構成要素の抵抗値、PCM内の構成要素の位相等を変化させることによって記憶されてもよい。データを記憶するために変更され得る物理特性を有する、フローティングゲートトランジスタ410等の構成要素は、本明細書では、「記憶セル」、「メモリセル」等として称されてもよい。したがって、図示された実施形態では、図2のメモリアレイ200は、NANDストリング404におけるフローティングゲートトランジスタ410を備えた複数の記憶セルを含んでもよい。しかしながら、別の実施形態では、図2のメモリアレイ200は、別のタイプの複数の記憶セルを含んでもよい。
【0070】
図示された実施形態では、NANDストリング404は、ソースとドレインとがデイジーチェーン接続された一連のフローティングゲートトランジスタ410を含む。ソース選択ゲート(SGS)トランジスタ414は、NANDストリング404のソース端をソース線416に結合し、ドレイン選択ゲート(SGD)トランジスタ408は、NANDストリング404のドレイン端をビット線402に結合する。ある特定の実施形態では、ソース線416は、ソース電圧(例えば、0V、又は接地)で保持されてもよく、ビット線402の電圧は、データを読み取るために又は書き込むために感知増幅器によって操作されてもよい。ソース線416は、セルに結合されているソースライン416を0V又は接地への他の接続から区別するために、セルソース線と称されてもよい。ワード線412は、複数のNANDストリング404にわたって、対応するフローティングゲートトランジスタ410のコントロールゲートを結合してもよい。したがって、フローティングゲートトランジスタ410の全行(例えば、SLC NANDに対するデータのページ、MLC又はTLC NANDに対するデータの複数ページ)は、列又はビット線402を介して読み取られた、又はプログラムされた個々のビットを用いて、単一のワード線412を介してアドレス指定されてもよい。図示された実施形態では、三次元のNAND配列が示されており、そこでは、複数のNANDストリング404は、1つのビット線402に結合され、フローティングゲートトランジスタ410によって記憶されたビットは、行(例えば、ワード線412)、列(例えば、ビット線402)、及びストリング404(例えば、選択トランジスタ408、414を介して選択される)によって物理的にアドレス指定される。別の実施形態では、二次元のNAND配列において、各NANDストリング404は、単一のビット線402に結合され、フローティングゲートトランジスタ410によって記憶されたビットは、ストリング404を別個にアドレス指定することなく、行(例えば、ワード線412)及び列(例えば、ビット線402)によって物理的にアドレス指定される。
【0071】
一実施形態では、選択されたフローティングゲートトランジスタ410からデータを読み取るために、感知増幅器は、選択されたビット線402をプリチャージ又はバイアスする。ソース選択トランジスタ414及びドレイン選択トランジスタ408は、選択されたストリング404に対してオンにされてもよい(例えば、電圧は、選択トランジスタ408、414が導通状態となるようにコントロールゲートに印加されてもよい)。選択トランジスタ408、414は、未選択のストリング404に対してオフにされてもよい(例えば、コントロールゲートは、0Vになってもよい)。未選択のフローティングゲートトランジスタ410を完全にオンにするのに十分な電圧は、未選択のワード線412を介して印加される。読み取り電圧は、選択されたワード線412に印加される。選択されたフローティングゲートトランジスタ410の閾値電圧Vtが、印加された読み取り電圧を下回っている場合(例えば、記憶セルがSLC NANDに対して消去状態である場合)、選択されたフローティングゲートトランジスタ410が導通し、電流がビットライン402とソースライン416との間に流れる。逆に、選択されたフローティングゲートトランジスタ410の閾値電圧Vtが、印加された読み取り電圧を上回っている場合(例えば、記憶セルがSLC NANDに対してプログラム状態である場合)、選択されたフローティングゲートトランジスタ410は導通せず、電流はビットライン402とソースライン416との間に流れない(又は、より低い、又は最小の電流が流れる)。単一の読み取り電圧を印加することは、SLC NANDに対するプログラム状態と消去状態との間を区別するのに十分であってもよい。追加の読み取り電圧は、MLC NAND、TLC NAND等に対する複数の状態を区別するために印加されてもよい。感知増幅器は、セルの状態を判定するために、ビット線電圧、ビット線電圧の変化率、ビット線電流等のビット線402の電気特性を感知してもよい。
【0072】
ある特定の実施形態では、読み取りに対して書き込むために、ストリング404は、適切な電圧を選択トランジスタ408、414に印加することによって選択されてもよく、未選択のフローティングゲートトランジスタ410は、十分な電圧を非選択ワード線412に印加することによって完全にオンにされてもよい。1つ以上のプログラム電圧パルスは、選択されたフローティングゲートトランジスタ410に対して閾値電圧Vtを変化させるために、選択されたワード線412を介して、選択されたフローティングゲートトランジスタ410に対するコントロールゲートに印加されてもよい。選択されたフローティングゲートトランジスタ410に対する閾値電圧Vtの変化は、1つ以上のプログラムベリファイ電圧を選択されたフローティングゲートトランジスタ410に印加すること、及び選択されたフローティングゲートトランジスタ410が導通しているかどうかを感知することによって、読み取りと同様なプロセスにおいて検証されてもよい。
【0073】
様々な実施形態では、選択されたフローティングゲートトランジスタ410に対する閾値電圧Vtがプログラミングパルスに応答して変化する程度は、コントロールゲートとドレインとの間の電圧の大きさに依存する。一実施形態では、セルがプログラムされるのを禁止するために、感知増幅器は、ビット線402を介して、選択されたフローティングゲートトランジスタ410のドレインに高い禁止電圧を印加してもよい。別の実施形態では、高速プログラミングのために、又は高閾値電圧Vtへのプログラミングのために、感知増幅器は、ビット線402を介して、選択されたフローティングゲートトランジスタ410のドレインに低い又はゼロ電圧を印加してもよい。
【0074】
読み取り及びプログラム動作は、単一のフローティングゲートトランジスタ410へのデータの読み取り又は書き込みのコンテキストにおいて上述されている。しかしながら、様々な実施形態では、ワード線412は、複数のNANDストリング404及びビット線402にかかっているフローティングゲートトランジスタ410の行に対するコントロールゲートを結合してもよい。したがって、読み取り電圧又はプログラム電圧パルスは、ワード線412に印加されてもよく、データの複数のビットは、複数のビット線402を介して通信されて、選択されたワード線412に結合されたフローティングゲートトランジスタ410からデータを読み取る又はデータを書き込むようにしてもよい。異なるNANDストリングにおけるフローティングゲートトランジスタ410は、異なるNANDストリング404のためのSGDトランジスタ408を制御することによってプログラムされるか、又はプログラミングから禁止されてもよい。SGDトランジスタ408がオン又は開いている場合、対応するフローティングゲートトランジスタ410は、ビット線402上の低電圧プログラム電圧とワード線412上の高電圧プログラムパルスとの間で異なる大きな電位に露出されてもよい。逆に、SGDトランジスタ408がオフ又は閉じられている場合、対応するフローティングゲートトランジスタ410の近傍の高電圧への容量結合は、ファウラーノルドハイムトンネリングが発生しないようにチャネル電位をブーストする。したがって、NANDストリング404のためのSGDトランジスタ408を開く又は閉じることは、ストリング404におけるフローティングゲートトランジスタ410のプログラミング又は禁止することに対応し得る。
【0075】
しかしながら、SGDトランジスタ408間の変動又は経時的な劣化のために、閾値電圧(SGDトランジスタ408が「オン」状態と「オフ」状態との間で切り替わる場合)は、SGDトランジスタ408間で変動してもよいか、又は経時的に変化してもよく、それにより、いくつかのトランジスタ408は、それらが開いているべきときに閉じたままであるか、又はそれらが閉じられるべきときに開いたままである。例えば、SGDトランジスタ408のための閾値電圧が公称電圧、又は前の電圧よりも低い電圧へシフトダウンする、SGDダウンシフトは、低電圧が印加されるときに、SGDトランジスタ408が閉じないという結果をもたらし、プログラミングから禁止される代わりに、同じNANDストリング404におけるフローティングゲートトランジスタ410がプログラミングされる結果となる。したがって、ダウンシフトされたSGDトランジスタ408を有するNANDストリング404におけるメモリセルは、他のNANDストリング404におけるメモリセルよりもエラーが生じやすい場合がある。したがって、メモリセルと同じNANDストリング404におけるSGDトランジスタ408のための閾値電圧、又はSGDダウンシフトの大きさは、メモリセルに関連付けられた永続的な物理的特性であってもよく、メモリセルからのビットを信頼性グループにグループ化するための基準として、読み取り構成要素150によって使用されてもよい。
【0076】
様々な実施形態では、SGDダウンシフトは、フローティングゲートトランジスタ410からの読み取りのプロセスと同様のプロセスにおいて測定されるか、又は感知されてもよい。NANDストリング404における他のトランジスタがオンにされると、異なるゲート電圧は、どの電圧がトランジスタをオンにし、電流がビットライン402とソースライン416との間に流れることを可能にするかを見るために、SGDトランジスタ408に印加されてもよい。この情報とともに、SGD閾値電圧は、ビンに割り当てられるか、又はグループ化されてもよい。例えば、2つのビンは、印加された読み取り電圧を上回る、及び印加された読み取り電圧を下回る閾値電圧を有するSGDトランジスタ408について確立されてもよく、又は3つのビンは、「公称範囲内」、「ややダウンシフトされた」、「非常にダウンシフトされた」等で確立されてもよい。グループ化の数は、SGDダウンシフトを感知するために印加されるゲート電圧の数に依存してもよい。その後、読み取り構成要素150は、メモリセルに関連付けられたSGDトランジスタ408のためのSGDダウンシフトに基づいて、メモリセルから信頼性グループにビットをグループ化してもよく、信頼性グループに基づく信頼性推定値を軟判定復号器に提供してもよい。例えば、読み取り構成要素150は、ややダウンシフトされた、又は公称SGDトランジスタ408を有するビットに対して、非常にダウンシフトされたSGDトランジスタ408に関連付けられたビットに対する、より低い信頼性推定値を復号器に提供してもよい。この信頼性情報を軟判定復号器において使用することは、訂正不可能なエラーを低減又は回避してもよく、したがって、セルのブロックを不良としてマークするか、又はSGDトランジスタ408を再較正又は再調整する必要性を回避する。
【0077】
アレイにおけるメモリセルのブロックからデータを読み取るときに、SGDダウンシフトは、ブロックに対して1回測定又は感知されてもよく、ブロックにおけるメモリセルの各行のための信頼性グループにメモリセルからビットをグループ化するために複数回使用されてもよい。いくつかの実施形態では、SGDダウンシフト問題の兆候がない場合(例えば、ビットエラー率が低い場合)には、ブロックのためのSGD読み取りは省略されてもよく、ただし、SGDダウンシフト問題が疑われる場合には、実施される。したがって、SGDダウンシフトに基づく信頼性情報を使用することは、ブロックにおいてSGD電圧を読み取る遅延が1回発生し、ブロックにおいてセルの複数の行のための信頼性情報を提供するため、他の信頼性情報への効率的な追加であってもよい。
【0078】
いくつかの実施形態では、SGDトランジスタ408は、フローティングゲートトランジスタ410をプログラミングするのと同様のプロセスにおいて、SGDダウンシフトを軽減するようにリフレッシュ又は再較正されてもよい。プログラム又は消去パルスは、SGDトランジスタ408の制御ゲートに印加されて、これらのトランジスタのための閾値電圧を変化させてもよい。しかしながら、SGDトランジスタ408を再プログラミングすることによってメモリセルのブロックを再較正することは、時間がかかり、SGDトランジスタ408を再プログラミングする前に別のブロックにデータを移動させることを伴ってもよい。再プログラミングが失敗した場合、ダイコントローラ206又はデバイスコントローラ126は、ブロックを使用から撤収してもよい。SGD再プログラミングは時間がかかり、ブロックを完全に使用することを危険にするため、エラー率が過度に高い場合(例えば、SGD再プログラミングをトリガーするためのいくつかの閾値を上回る場合)を除き、回避され得る。したがって、様々な実施形態では、SGDベースの信頼性推定値を軟判定復号器に提供するために、読み取り構成要素150を使用することは、復号性能を改善し、訂正不可能なエラー率を低減させ得、したがって、時間消費とリスクのあるSGD再プログラミングプロセスとの間の時間を延ばす。
【0079】
図示された実施形態では、フローティングゲートトランジスタ410は、NANDフラッシュ記憶セルである。しかしながら、様々な実施形態では、抵抗性記憶セル、磁気記憶セル、相変化記憶セル等を含む他のタイプの記憶セルに関して、SGDトランジスタ408と同様のトランジスタは、ビット線からメモリセルを結合又は分離するように同様に配置されてもよく、したがって、同様に信頼性率に影響を及ぼしてもよい。したがって、このような実施形態における読み取り構成要素150は、ビットを信頼性グループにグループ化するため、及び軟判定復号器にグループ単位の信頼性推定値を提供するための基準として、ダウンシフトされたトランジスタについての情報を同様に使用することができる。読み取り構成要素150は、図7及び図8を参照して、以下で更に詳細に記載される。
【0080】
図5は、一実施形態における、不揮発性メモリアレイ200のセルのための閾値電圧の分布を示すグラフ500である。図示された実施形態では、セルは、フラッシュメモリセルであり、セルの閾値電圧Vtがデータを記憶するために変更可能であり、閾値電圧Vtのための可能な値の範囲がグラフ500の水平軸上に図示されている。閾値電圧Vtへの参照は、非限定的な例として提供される。別の実施形態では、不揮発性メモリアレイ200は、データを記憶する状態に同様に分割され得る、別の特性を有する別のタイプのセルを含んでもよい。水平軸上の所与の閾値電圧について、グラフ500上の線の高さは、その閾値電圧を有するセルの数又は割合を示す。
【0081】
図示された実施形態では、NANDフラッシュメモリセルのための可能な閾値電圧Vtの範囲は、垂直破線によって表される、読み取り閾値502a~cによって4つの部分範囲又は状態L0~L3に分割される。別の実施形態では、NANDフラッシュセルのための可能な閾値電圧Vtの範囲は、4つ以上の状態に分割されてもよい。図示された実施形態では、セルは、最低状態L0に消去され、より高い状態L1~L3にプログラムされてもよい。状態L0~L3は、データ値に対応する。例えば、図示された実施形態では、4つの状態L0、L1、L2、及びL3は、セルが2ビットの情報を記憶するように、それぞれ、データ値「11」、「01」、「00」、及び「10」にマッピングされる。セル状態とデータ値との間の様々な他のマッピングは、様々な実施形態では、使用されてもよい。感知動作は、セルのための閾値電圧Vtが読み取り閾値502のうちの1つを上回っているか、又は下回っているかどうかを判定してもよく、それによって、セルの状態及び対応するデータ値を判定する。感知動作は、図4を参照して上述されたように、ビット線電流又は別の電気的結果がセルの状態に依存するように、バイアス条件をセルに印加することによって実施されてもよい。
【0082】
グラフ500は、状態L0~L3間で閾値電圧の均一な分布を生成するように、セルがプログラムされるか、又は消去されていることを示す。実際には、セルのセットのための状態の分布は、均一でなくてもよい。例えば、ゼロの長いストリングがセルのセットに書き込まれる場合、より多くのセルは、他の状態におけるよりも「00」を符号化する、L2状態であってもよい。しかしながら、データ圧縮又は白色化アルゴリズムは、大規模なセルのセットにわたって実質的に均一な状態の分布を作ってもよい。
【0083】
セルの閾値電圧の分布は、状態L0~L3間で実質的に均一であってもよいが、分布は、各状態でベル形状のピークを形成するものとして図示されている。いくつかの実施形態では、セルは、セルのための閾値電圧Vtを、状態を画定する電圧範囲の中央における目標電圧で、又はその近くになるように変更する、電圧パルスを発行することによってプログラムされてもよい。したがって、ベル形状のピークは、目標プログラミング電圧等の中心に置かれてもよい。ピークの幅は、セルにおける変動及びプログラミングプロセス、又は読み取りディスターブ、プログラムディスターブ、ストレス誘起リーク電流等のエラー現象によって影響され得る。対称なベル形状のピークが示されているが、歪曲分布及び他の分布が可能である。経時的に、分布は、セルの閾値電圧がその元来プログラムされた値から移動するにつれて、広がってもよいか、又は歪んでもよい。追加的に、分布は、温度に起因してシフトしてもよい。例えば、トランジスタの閾値電圧は、ピークの位置及び幅が電流温度に依存して変化するように、温度依存性であってもよい。
【0084】
図示されたグラフ500では、各ピークは、特定の状態に元来プログラムされたセルの分布を表す。したがって、4つのL0~L3状態に対応する4つのピークが存在する。しかしながら、1つの状態において閾値電圧に元来プログラムされたセルは、ある時間量の後に、別の状態における閾値電圧を有するようにドリフトされていてもよい。したがって、個々のピークは、読み取り閾値502で、又はその近くで互いに著しく重複する。(アレイのセルのための全体的な分布は、各状態にプログラムされたセルのために図示されたピークの合計であってもよい)。読み取り閾値502に対するセルの現在の状態を判定する感知動作は、セルの閾値電圧が読み取り閾値502のうちの1つを超えた場合にデータエラーをもたらし得、それにより、セルは、それがプログラミングされた(又は、消去された)状態ではない。
【0085】
図6は、状態間の境界の近くの閾値電圧の分布を示すグラフ600である。図5における破線の矩形は、L2状態とL3状態との間の読み取り閾値502c又はその近くで、図6に更に詳細に図示された分布の領域を示す。図5の読み取り閾値502a~c等の状態(又は、状態間の境界)を画定する閾値を読み取ることは、「硬」読み取り閾値と称されてもよく、境界を画定する「硬」読み取り閾値に関連したセル状態についての情報は、本明細書では「硬ビット」と称されてもよい。硬ビットを判定する読み取り動作は、硬読み取り動作、又は硬ビット読み取りと称されてもよい。
【0086】
図5を参照して上述されたように、L0、L1、L2、及びL3の状態は、それぞれ、データ値「11」、「01」、「00」、及び「10」にマッピングされる。したがって、読み取り閾値502a~cに関してセル状態を感知することは、セルのための1つ以上の硬ビットを判定又は読み取ってもよい。図6では、読み取り構成要素150が、セルの閾値電圧Vtが硬読み取り閾値502cを上回っていると判定した場合、セルは、L3状態にあり、硬ビット「10」が読み取られている。逆に、読み取り構成要素150が、セルの閾値電圧Vtが硬読み取り閾値502cを下回っている(及び、図5に示される硬読み取り閾値502bを上回っている)と判定した場合、セルは、L3状態にあり、硬ビット「00」が読み取られている。L2及びL3状態に対応する「00」及び「10」の完全な硬ビット値が図6に図示されているが、それらの値の各々の第1のビットのみが、L2状態とL3状態との間で異なる。したがって、いくつかの実施形態では、読み取り構成要素は、(例えば、第2のビットが変化する読み取り閾値502bでのみ感知することによって)、硬読み取り閾値502cで感知することなく、第2のビットのための読み取り動作を実施してもよいか、又は第1のビットが変化しない読み取り閾値502bで感知することなく、硬読み取り閾値502a、502cで感知することによって、第1のビットのための読み取り動作を実施してもよい。単一ビット読み取り動作では、読み取り閾値502cの両側にある硬ビットは、「00」及び「10」ではなく、「0」及び「1」であってもよい。
【0087】
しかしながら、硬ビット(複数可)は、L2及びL3状態に元来プログラムされたセルの分布の重複に起因して、エラーであってもよい。したがって、図示された実施形態では、読み取り構成要素150は、セルから軟ビットを読み取るために、軟読み取り閾値602はを使用する。セルからの軟ビットを判定することは、軟読み取り動作、又は軟ビット読み取りと称されてもよい。図示された実施形態では、軟読み取り閾値602は、セルの閾値電圧Vtが印加された読み取り電圧を上回っているか、又は下回っているかどうかを判定するために、(図4を参照して説明されるように)読み取り電圧として印加されてもよい電圧である。しかしながら、別の実施形態では、軟ビットを判定するために使用される軟読み取り閾値は、状態を画定するために使用される硬読み取り閾値のタイプに依存して、抵抗閾値、電流閾値等であってもよい。
【0088】
様々な実施形態では、「軟ビット」は、軟読み取り動作からの結果であってもよく、硬ビットの信頼性、硬ビットの信頼性等を示してもよい。例えば、図示された実施形態では、軟ビットは、「1」の軟ビット値が、硬ビットがより信頼性が高いことを示し、「0」の軟ビット値は、硬ビットがより信頼性が低いことを示す、単一ビット値である。別の実施形態では、軟ビット値は、「0」がより高い信頼性を示すように、反転されてもよい。
【0089】
図示された実施形態では、セルのための閾値電圧Vtが2つの軟読み取り閾値602a~bを上回っているか、又は下回っているかどうかを感知することの結果は、軟ビットを判定するために、入力が異なる場合には0を、又は入力が同じである場合には1を出力する反転された排他的、又は(NXOR)動作と組み合わされてもよい。例えば、セルのための閾値電圧Vtが、軟読み取り閾値602a~bの両方を上回っているか、又は軟読み取り閾値602a~bの両方を下回っている場合、結果として得られる軟ビットは、セルのための閾値電圧Vtが硬読み取り閾値502cの近くにないこと、及び硬ビットが信頼性があるように処理されるべきであることを示す「1」である。しかしながら、閾値が第1の軟読み取り閾値602aを上回っているが、第2の軟読み取り閾値602bを下回っている場合、結果として得られる軟ビットは、セルのための閾値電圧Vtが硬読み取り閾値502cの近くにあること、及び硬ビットが信頼性が低い、又は誤って処理されるべきであることを示す「0」である。
【0090】
図示された実施形態では、読み取り構成要素150は、1つの硬読み取り閾値502に対する2つの軟読み取り閾値602に関して、軟ビットを判定する。別の実施形態では、読み取り構成要素150は、硬読み取り閾値502当たり2つより多い又は少ない軟読み取り閾値602に関して、軟ビットを判定してもよい。例えば、一実施形態では、硬読み取り閾値502の両側に2つ、4つの軟読み取り閾値602を使用して感知することは、硬ビットのための異なる信頼度を示すために追加の軟ビットを提供してもよい。
【0091】
別の実施形態では、読み取り構成要素150は、1つの方向におけるドリフトに起因するエラーが、別の方向におけるドリフトに起因するエラーよりも高い可能性があると判定し、硬読み取り閾値502に関する軟ビット、及び硬読み取り閾値502からのより可能性の高いドリフト方向における単一の軟読み取り閾値602に関して、軟ビットを判定してもよい。例えば、頻度の低いデータアクセスでの長い保持時間は、セルがより高い電圧状態へドリフトするよりも電荷リークに起因してより低い電圧状態へドリフトする可能性が高いことを示唆してもよく、読み取り構成要素150は、硬読み取り閾値502よりも低電圧で単一の軟読み取り閾値602を使用してもよい。逆に、頻繁なデータアクセスでの短い保持時間は、セルがより低い電圧状態へドリフトするよりも読み取りディスターブ又はプログラムディスターブに起因してより高い電圧状態へドリフトする可能性が高いことを示唆してもよく、読み取り構成要素150は、硬読み取り閾値502よりも高電圧で単一の軟読み取り閾値602を使用してもよい。いくつかの実施形態では、読み取り構成要素150は、感知のために使用する読み取り閾値502、602の数、及び硬読み取り閾値502からの軟読み取り閾値602の距離を判定してもよい。例えば、読み取り構成要素150は、現在の温度、書き込み時の温度、データ保持時間、プログラム/消去サイクル数、アレイ200の領域のセルを読み取るためのエラー率、アレイ200の別の領域のセルを読み取るためのエラー率等のファクターに基づいて、読み取り閾値の数及び位置を判定してもよい。
【0092】
いくつかの実施形態では、読み取り構成要素150は、軟読み取り動作からの軟ビットに基づいて、セルから信頼性グループへと読み取られたデータビットをグループ化してもよく、軟ビットに基づいて、信頼性推定値を軟判定復号器に提供してもよい。例えば、「0」の軟ビットが対応する硬ビットが信頼性が低いことを示している図示された実施形態では、読み取り構成要素150は、対応する軟ビットが「1」である硬ビットよりも、対応する軟ビットが「0」である硬ビットのために、より低い信頼性推定値を軟判定復号器に提供してもよい。この軟ビット情報は、セルの閾値電圧(又は、いくつかの他の実施形態では、データを記憶するように変更された別の物理的特性)についての最新の既知の情報を反映してもよい。したがって、軟ビット読み取りに基づく信頼性推定値を使用する軟判定復号器は、他のECC復号器よりも著しく良好な性能を有してもよい。
【0093】
しかしながら、軟ビットは、セルに関連付けられた永続的な物理的特性ではないが、セルがプログラム又は消去されるたびにセルのために変化させられる、変更可能な物理的特性の測定値である。したがって、軟ビット上の信頼性推定値をベースとする読み取り構成要素150は、信頼性推定値を生成するたびに、軟ビットを読み取ってもよい。逆に、永続的な物理的特性上の信頼性推定値をベースとする読み取り構成要素150は、インターフェースビットインデックス、又はブロックの開始時に読み取られることができ、ブロックのための複数の後続の読み取り動作に適用されることができるSGDダウンシフト等の、時折再読み取りされ、又は再判定されることができ、ゆっくりと変化する特性等、繰り返し判定される必要がない恒久的特性を使用してもよい。
【0094】
しかしながら、いくつかの実施形態では、読み取り構成要素150は、1つ以上の永続的な物理的特性に基づいて、及び軟読み取り動作からの軟ビットに基づいて、メモリセルからのビットを信頼性グループに分割してもよい。ある特定の特性は、独立して又は直交してもよく、したがって、グループの数が増える。例えば、ゼロ及び1の軟ビットのための2つのグループを有する代わりに、又は8つの異なるインターフェースビットインデックスのための8つのグループを有する代わりに、読み取り構成要素150は、グループ化が軟ビット及びインターフェースインデックスの両方に基づく、16個のグループを使用してもよい。それらのグループは、ダウンシフトされたSGDトランジスタ対ダウンシフトされていないSGDトランジスタのためのグループの数の2倍に分割されてもよい。
【0095】
したがって、グループの数は、読み取り構成要素150が、グループ化のための基準として追跡される独立した特性の数、又は各特性の関連するビン若しくはグループの数に追加されるにつれて増えてもよい。グループ化に基づいてECC復号器に提供される信頼性推定値が、グループ化が考慮されない他の特性によって交絡されるため、過度に少ないグループは、不十分なエラー訂正性能を提供してもよい。逆に、過度に多くのグループを使用することは、信頼性推定値がセル間の有用な類似性よりも、個々のセルのためのエラー履歴に基づく、過剰適合のリスクがある。追加的に、多数のグループは、グループ単位の信頼性推定値を記録及び更新するための相当量のメモリ又は記憶空間を伴ってもよい。本開示を十分に把握している当業者は、不適切な数の実験を行うことなく、使用するグループが過度に少ない場合と過度に多い場合との間でバランスをとる、グループ化のための基準及び信頼性グループの数を選択する方法を認識するであろう。
【0096】
図7は、読み取り構成要素150の一実施形態を図示する。様々な実施形態では、読み取り構成要素150は、実質的に図1図6を参照して上述されたものでもよく、ダイコントローラ206、デバイスコントローラ126、デバイスドライバ等の一部を含んでもよいか、又はそれらと通信してもよい。図示された実施形態では、読み取り構成要素150は、読み取りモジュール702と、グループモジュール704と、推定モジュール706と、を含み、これらは以下に記載される。
【0097】
一般に、様々な実施形態では、読み取り構成要素150は、メモリセルのセットから符号化ビットのセットを読み取り、インターフェースビットインデックス(IBI)又はSGDダウンシフト等、セルのセットのセルに関連付けられた1つ以上の永続的な物理的特性に基づいて、符号化ビットを信頼性グループに分割するように構成されている。符号化ビットが信頼性グループに分割又は割り当てられると、読み取り構成要素150は、符号化ビットを復号するために、信頼性グループに基づく信頼性推定値を軟判定復号器に提供してもよい。永続的な物理的特性に基づくグループの信頼性推定値は、復号速度を増加させること、訂正不可能なエラーのレートを低減すること等によって、ECC復号器の性能を改善させるように、セルの変更可能な物理的特性の軟ビット読み取りに基づく信頼性推定値に加えて、又は代わりに使用されてもよい。
【0098】
読み取りモジュール702は、様々な実施形態では、メモリアレイ200のセルのセットから符号化ビットのセットを読み取るように構成されている。読み取りモジュール702は、行回路202、列回路304、ダイコントローラ206、デバイスコントローラ126、デバイスドライバ等の、セルからデータを読み取るための様々な他の構成要素を含んでもよいか、又はそれらと通信してもよい。セルからデータを読み取ることは、セルに結合されたビット線及び/又はワード線にバイアスを印加することと、(例えば、感知増幅器を使用して)ビット線上の結果として生じる電圧電流又は他の信号を感知することと、(例えば、ラッチ内に感知増幅器の出力を記憶する)アナログビット線信号に基づいて、バイナリデータを生成又は記録することと、を含んでもよい。NANDメモリセルのアレイのための読み取り技術は、図4を参照して上述されている。様々な他の、又は更なるバイアス及び感知技術は、セルから符号化ビットを読み取るために、読み取りモジュール702によって同様に使用されてもよい。
【0099】
符号化ビットは、様々な実施形態では、エラー訂正符号(ECC)を使用して符号化データであってもよい。符号化ビットのセットは、ECC符号化器によって同じグループ若しくはビットのコレクションの一部として符号化された、又はECC復号器によって同じグループ若しくはビットのコレクションの一部として復号された、グループ又はビットのコレクションであってもよい。
【0100】
様々な実施形態では、「(n,k)」エラー訂正符号は、符号語が冗長データのn-kビットを含むように、kビットのブロックをnビットの符号語に符号化する符号であってもよい。したがって、用語「符号語」は、2^k可能なkビット入力に対応する、ECC符号化器の2^k可能なnビット出力のうちの1つを具体的に指すために、エラー訂正の分野で使用されることがある。本明細書では、用語「有効符号語」は、エラーなしで、ECC符号化器の有効出力を指すために、この意味において使用される。しかしながら、符号語がメモリアレイ200に書き込まれ、いくらかの期間にわたって保持され、メモリアレイ200から読み取られ、1つ以上のバス125、127等を介してECC復号器に送信された後、ECC復号器によって受信されたビットは、エラーの可能性に起因して、有効符号語であってもよいか、又はなくてもよい。用語「受信符号語」は、かつては(及び、依然として)有効符号語であったが、エラーが導入され得た、ビットのグループ又はコレクションを指すために、本明細書で使用される。換言すれば、有効符号語は、ECC符号化器が生成又は送信するものであり、受信符号語は、ECC復号器が受信し、復号を試みるものである。
【0101】
いくつかの実施形態では、読み取りモジュール702がセルのセットから読み取る符号化ビットのセットは、エラー訂正符号の受信符号語であってもよい。いくつかの実施形態では、読出しモジュール702によって読み取られるビットのセットは、メモリアレイ200、メモリ素子123、メモリデバイス120等によってサポートされる読み取り動作の粒度に依存して、64ビットデータバースト(DRAMメモリのためのデータ伝送サイズと同様)、データの符号化ページ、データの符号化ブロック等のための符号化データであってもよい。したがって、読み取りモジュール702がセルのセットを読み取るセルのセットは、(例えば、データのページに対応する)セルの行、(部分ページ又は64ビットバーストに対応する)行の一部分、セルのブロック等であってもよい。
【0102】
グループモジュール704は、様々な実施形態では、セルのセットのセルに関連付けられた1つ以上の永続的な物理的特性に基づいて、符号化ビットを信頼性グループに分割するように構成されている。読み取りモジュール702によって読み取られた符号化ビットのセットが、エラー訂正符号の受信符号語である場合、グループモジュール704は、受信符号語のビットを異なる信頼性グループに分割してもよい。
【0103】
信頼性グループは、様々な実施形態では、読み取りモジュール702によって読み取られる符号化ビット(例えば、受信符号語のビット)のセットのサブセットであってもよい。信頼性グループに割り当てられたビットは、いくつかの信頼性ベースの共通性を有するため、信頼性推定値は、グループ単位で軟判定ECC復号器に提供されてもよい。したがって、信頼性グループは、グループにおけるビットのために同様の信頼性を有すると推定されている(又は、されるであろう)、ビットのグループ、クラスタ、ビン等であってもよい。様々な実施形態では、グループモジュール704は、符号化ビットをそれらのグループに分割する前に、永続的な物理的特性に基づいて、信頼性グループを画定してもよいか、又は予め画定された信頼性グループを使用してもよい。いくつかの実施形態では、グループ画定は、インターフェースビットインデックス又はSGDダウンシフト等の、単一の物理的特性に基づいてもよい。いくつかの実施形態では、グループ画定は、インターフェースビットインデックス及びSGDダウンシフト等の、2つ以上の物理的特性に基づいてもよい。いくつかの実施形態では、信頼性グループは、少なくとも1つの永続的な物理的特性、及び軟読み取り動作からの軟ビット等、永続的な物理的特性以外のものに基づいてもよい。
【0104】
本明細書で使用されるとき、ビットを信頼性グループに「分割する」グループモジュール704は、受信符号語のビット(又は、読み取りモジュール702によって読み取られた他のビットのセット)のための少なくとも2つのグループが、それらの間で分割されるか、又は割り当てられることを意味する。時折、全てのビットがより信頼性が高いか、又は全てのビットが信頼性が低い、いくつかの読み取り動作のために、ビットを信頼性グループに分割することは、少なくとも2つの信頼性グループを画定すること、及び全てのビットをグループのうちの1つに割り当てることを伴ってもよい。例えば、SGDトランジスタがダウンシフトされているかどうかに基づいて信頼性グループが画定される場合、受信符号語のビットは、対応するSGDトランジスタのいずれもダウンシフトされない場合、全て高信頼性グループに割り当てられてもよい。しかしながら、受信符号語の異なるビット(又は、読み取りモジュール702によって読み取られた他のビットのセット)を、それらのうちのいくつかの信頼性が低い場合には、少なくとも異なるグループに割り当てる可能性があるため、これは、依然として、信頼性グループに「分割する」ビットと称されてもよい。
【0105】
また、受信符号語にエラーが存在する場合、信頼性推定値は、それらが全てのビットに関して同一でない場合に、より有用であってもよく、それにより、それらは、他のビットよりも信頼性が高いか、又は低いと推定される1つ以上のビットを役立つように特定する。したがって、グループモジュール704は、少なくともかなりの割合で、ビットを信頼性グループに分割することが、受信符号語の異なるビット(又は、読み取りモジュール702によって読み取られた他のビットのセット)を異なるグループに割り当てることを伴うように、信頼性グループを画定してもよい。
【0106】
様々な実施形態では、グループモジュール704は、各グループのために、どのビットがグループ内にあるか(例えば、グループ1は、ビット1、3、7、及び9を含み、グループ2は、ビット2、4、5、6、及び8を含む等)を記録すること、ビットをグループに関連付けるデータ構造を維持する各ビットにグループ識別子を割り当てること(例えば、ビット1は、グループ4に、ビット2は、グループ4に、ビット3は、グループ2に等)等、様々な方法でビットを信頼性グループに分割してもよい。グループモジュール704は、どのビットがどのグループにあるかを判定し、したがって、受信符号語のビット(又は、読み取りモジュール702によって読み取られた他のビットのセット)をグループに分割又は割り当てる。「分割する」、「グループ化する」、「ビニング(binning)」、「グループへの割り当て」等の用語は、物理的にグループ化されるか又は一緒に配置されるべきものを移動させることを指すために、データ値以外のものとともに使用される場合があるが、このような用語は、ビットの並べ替え又は移動を暗示するものではなく、どのビットがどのグループに対応する(例えば、「にある」)かを判定するグループモジュール704を指すために、本明細書で使用される。したがって、符号化ビットを信頼性グループに分割するグループモジュール704は、符号化ビットと少なくとも2つの信頼性グループとの間の対応を判定することを含んでもよい。
【0107】
したがって、様々な実施形態では、グループモジュール704は、信頼性グループのための画定を参照又は更新するために、メモリ若しくは記憶ハードウェアを含むか、又は通信し、(例えば、SGDダウンシフトについて記録された情報を参照することによって)ビットをグループと関連付けるデータ構造を参照するか、又は更新する等をしてもよい。同様に、グループモジュール704は、(例えば、インターフェースビットインデックスを判定するためにデータ線の数を法とするセル位置を使用することによって)情報を計算するために論理ハードウェアを含むか、又は通信してもよい。
【0108】
様々な実施形態では、グループモジュール704は、符号化データが読み取られたセルのセットのセルに関連付けられた1つ以上の永続的な物理的特性に基づいて、セルのセットから読み取られた符号化ビットを信頼性グループに分割又は割り当ててもよい。一般に、メモリアレイのセルは、それ自体の物理的特性、及びセルからのデータの信頼性に影響を与えるセル以外の構成要素の物理的特性に「関連付けられている」と称されてもよい。例えば、セルは、位置が直接的にそのセルの物理的特性であるため、メモリアレイにおけるその位置と「関連付けられ」てもよい。代替的に、セルは、それらが他の構成要素の物理的特性であり、セル自体の物理的特性ではないが、それらの他の構成要素がセルに結合されている(又は、されるであろう)、又はセルからデータを送信又は受信するために使用されるので、セルがその中にあるNANDストリングのためのドレイン選択ゲートトランジスタのSGDダウンシフト、又はセルから読み取られたデータが送信されるデータ線のデータ線遅延等の、他の構成要素の特性と「関連付けられ」てもよい。
【0109】
追加的に、いくつかの実施形態では、様々な物理的特性を指すか、相関しているか、又は示すデータ値は、それら自体がセルに関連付けられた物理的特性と称されてもよい。例えば、セルと通信するために使用されるデータ線のための物理的特性は、データ線のグループにおけるその位置又は順序であってもよく、一方で、そのデータ線を指定又は特定するインターフェースビットインデックスは、単なる整数又は単位なしの量であってもよい。それにもかかわらず、セルのインターフェースビットインデックスは、物理的特性と称されてもよい。同様に、SGDトランジスタのための物理的特性は、その閾値電圧であってもよく、一方で、ビン又は範囲へのSGD閾値電圧のビニング又はグループ化(例えば、ビンを分離するいくつかの境界値へのSGDダウンシフトの比較に基づく公称及びダウンシフトビン)は、単位なしの量であってもよい。それにもかかわらず、SGDダウンシフトがどのビンにあるのかの指標は、依然として物理的特性と称されてもよい。
【0110】
様々な実施形態では、メモリセルから信頼性グループにデータ値を割り当てるようにグループモジュール704のための基準として使用され得る、メモリセルに関連付けられた永続的な物理的特性は、データを記憶するために使用される変更可能な物理的特性以外の特性であってもよい。更なる実施形態では、用語「永続的な」は、セルへの書き込み又はアクセスによって直接的に変化させられない、又はリセットされない特性を指してもよい。例えば、フラッシュメモリセルへの書き込みは、セルのための閾値電圧、セルのためのプログラム/消去回数(インクリメントされる)、セルのための保持時間(ゼロにリセットされる)等の非永続的特性を変化させる。同様に、セルからの読み取りは、読み取り回数等の非永続的特性を変化させてもよい。
【0111】
いくつかの実施形態では、セルに関連付けられた「永続的な」物理的特性は、効果的に恒久的であってもよい。例えば、インターフェースビットインデックスが、行におけるセルの位置に基づいてセルに関連付けられる場合、セルのためのインターフェースビットインデックスは、その行におけるセルの位置を変化させないので、セルのためのインターフェースビットインデックスが変更されることが想定されていない。いくつかの実施形態では、セルに関連付けられた「永続的な」物理的特性は、恒久的でなくてもよく、経時的に変化してもよいが、セルへの書き込み又はアクセスの直接的な結果ではない。例えば、読み取り及び書き込み動作におけるSGDトランジスタの繰り返し使用に起因する摩耗は、SGDダウンシフトに影響を及ぼしてもよいが、この摩耗は、読み取り又は書き込み動作の直接的な結果ではなく、繰り返しアクセスの間接的な影響である。
【0112】
一般に、様々な実施形態では、メモリアレイ200におけるセルに関連付けられた特定の永続的な物理的特性は、それらのセルによって記憶されたビットのための信頼性がより低いか、又はより高いかに対応してもよい。例えば、図3及び図4を参照して上述されたように、セルの信頼性は、異なるデータ線上の異なる遅延に起因して、又はダウンシフトされたSGDトランジスタによって不完全な若しくは失敗したプログラム禁止に起因するSGDダウンシフトに関連付けられてもよい。したがって、様々な実施形態では、1つ以上の永続的な物理的特性に基づいて、セルからのビットを異なる信頼性グループへグループ化するためにグループモジュール704を使用することは、軟判定ECC復号器による使用のために、グループ単位で受信符号語の異なるビットに異なる信頼性推定値を割り当てることを容易にしてもよい。
【0113】
推定モジュール706は、様々な実施形態では、読み取りモジュール702によって読み取られた符号化ビット又は受信符号語を復号するための軟判定復号器に信頼性推定値を提供するように構成されている。更なる実施形態では、推定モジュール706は、ビットがグループモジュール704によって分割された信頼性グループに基づく信頼性推定値を提供するように構成されている。様々な実施形態では、推定モジュール706は、バスを介して信頼性推定値を送信すること、信頼性推定値を共有メモリアドレスに保存すること等、様々な方法で、グループ単位の信頼性推定値を軟判定復号器に提供してもよい。
【0114】
信頼性推定値は、様々な実施形態では、ビットのための推定された信頼性を示すか、又は対応する任意の情報であってもよい。例えば、信頼性推定値は、信頼性のある、信頼できない(場合によっては中間信頼性)等としてビットの分類の形態で、又は硬ビットが正しい、確率若しくは尤度比、対数尤度、対数尤度の差(尤度比の対数に相当する)等の形態であってもよい。
【0115】
いくつかの実施形態では、信頼性推定値は、硬ビットに加えて、軟判定復号器によって受信された別個の情報であってもよい。例えば、硬ビットが正しい確率は、硬ビットに付随し得る。他の実施形態では、信頼性推定値は、硬ビットを組み込んでもよく、それにより、硬ビットは、軟判定復号器によって別個に受信されない。例えば、ビットがバイナリ1である可能性と、ビットがバイナリゼロである可能性との間の比率の形態における信頼性推定値は、比率が1より大きい場合、硬ビットが1であり、又は、比率のゼロが1未満であることを示し得る。同様に、尤度比(「対数尤度比」又は「LLR」)の対数の形態における信頼性推定値は、LLRが陽性である場合には、硬ビットが1であり、LLRが陰性である場合には、硬ビットがゼロであることを示し得る。様々な実施形態では、信頼性推定値は、ECC符号化データのどの硬ビットが誤っている可能性が高いか、又は低いかを示してもよく、したがって、元の符号化されていないデータを復号及び復元するために、どのビットが実際に誤っているかを軟判定復号器が判定することを容易にする。
【0116】
軟判定復号器は、受信ECC符号の復号を容易にするために信頼性推定値を使用してもよい。例えば、復号器は、元の符号化されていないデータが復元されることができる有効符号語を復元するために、受信符号語のどのビットが反転するかを判定するために反復的に試みてもよく、ビット反転の可能性の高い候補として、より低い推定された信頼性を有するビットを特定してもよい。
【0117】
様々な実施形態では、推定モジュール706は、ビットがグループモジュール704によって割り当てられた信頼性グループに基づく信頼性推定値を提供してもよい。例えば、8つの異なるインターフェースビットインデックスのためにビットが8つのグループに分割される実施形態では、推定モジュール706は、8つの異なるグループのために8つの信頼性推定値を判定してもよく、グループ単位で軟判定復号器に信頼性推定値を提供してもよい。グループに基づく信頼性推定値は、何らかの方法でグループに対応するか、又は関連付けられてもよい。例えば、いくつかの実施形態では、推定モジュール706は、異なるグループのために異なる信頼性推定値のテーブル(又は、他のデータ構造)を記憶するために、メモリ又は記憶ハードウェアを含んでもよいか、又はそれらと通信してもよく、記録された信頼性推定値を参照してもよい。
【0118】
メモリアレイのための読み取り動作の数が経時的に増加するにつれて、推定モジュール706は、グループ単位の信頼性推定値を判定するために使用することができる、より正確な履歴信頼性情報を有してもよい。例えば、データ線からデータをサンプリングするための遅延を更新する遅延再較正の直後に、異なるインターフェースビットインデックスのための信頼性グループは、全て同様に高い信頼性を有してもよく、推定モジュール706は、各グループのための軟判定復号器に同じ信頼性推定値を提供してもよい。しかしながら、データ線が他のデータ線から更に非同期される場合、その線で生じるエラーは、対応するインターフェースビットインデックスを有するセルを信頼性が低いものにしてもよい。推定モジュール706は、軟判定復号器からのエラーについての情報を受信してもよく、後続の読み取り動作における関連する信頼性グループのための低い信頼性推定値を判定するために、その情報を使用してもよい。
【0119】
いくつかの実施形態では、軟判定復号器は、システム100の1つ以上のレベルで実装されてもよく、符号化ビットを信頼性グループに分割し、グループ単位の信頼性推定値を提供する読み取り構成要素150は、復号器(複数可)と通信するためにシステム100の1つ以上の対応するレベルで実装されてもよい。したがって、読み取り構成要素150を含むコントローラは、ダイコントローラ206、デバイスコントローラ126、デバイスドライバ等であってもよい。例えば、ダイコントローラ206によって実装される軟判定復号器は、同じメモリ素子123上でSGDダウンシフトに起因してエラーを効率的に訂正することができ、読み取り構成要素150は、その復号器に信頼性推定値を提供するためにメモリ素子上に実装されてもよい。しかしながら、メモリ素子123から離れて遅延が発生するため、メモリ素子レベルの復号器は、メモリ素子123からデバイスコントローラ126への読み取りデータを送信することにおいて、データ線遅延に起因してエラーを訂正することができない場合がある。したがって、軟判定復号器は、デバイスコントローラ126上に実装されてもよく、読み取り構成要素150は、その復号器に信頼性推定値を提供するためにデバイスコントローラ126上に実装されてもよい。追加的に、いくつかの実施形態では、デバイスコントローラレベルで実装される軟判定復号器は、メモリ素子レベルで実装される復号器よりも多くの計算又はハードウェアの複雑性を有してもよく、より低いレベルのより単純な復号器によって訂正不可能な受信符号語は、より高いレベルでより複雑な復号器に渡されてもよい。更により高いレベルで、ECC復号器及び/又は読み取り構成要素150は、同様に、デバイスドライバのためのソフトウェア(例えば、符号化を実行するプロセッサによって)で実装されてもよい。
【0120】
図8は、読み取り構成要素150の別の実施形態を示す。図示された実施形態では、読み取り構成要素150は、読み取りモジュール702、グループモジュール704、及び推定モジュール706を含む、図1図7を参照して上述された読み取り構成要素150と実質的に同様であってもよい。図示された実施形態では、読み取りモジュール702は、硬ビットモジュール802及び軟ビットモジュール804を含む。図示された実施形態では、グループモジュール704は、IBIグループモジュール806及びSGDグループモジュール808を含む。図示された実施形態では、推定モジュール706は、参照モジュール810及び更新モジュール812を含む。図示された実施形態では、読み取り構成要素150は、再較正モジュール814を含む。
【0121】
図示された実施形態では、読み取りモジュール702は、硬ビットモジュール802及び軟ビットモジュール804を含む。セルから符号化データのビットを読み取るために、読み取りモジュール702は、硬ビット読み取りにおいて、バイナリ値を判定するために硬ビットモジュール802を使用してもよく、図5及び図6を参照して上述されたように、軟読み取り動作を実施するために軟ビットモジュール804を使用してもよい。いくつかの実施形態では、グループモジュール704による信頼性グループへのビットの分割は、1つ以上の永続的な物理的特性に基づいてもよく、軟ビットモジュール804によって実施される軟読み取り動作からの軟ビットに基づいてもよい。
【0122】
図示された実施形態では、グループモジュール704は、IBIグループモジュール806及びSGDグループモジュール808を含む。いくつかの実施形態では、グループモジュール704は、インターフェースビットインデックス(IBI)に基づいてビットをグループに分割するために、IBIグループモジュール806を使用する。例えば、IBIグループモジュール806は、セルのためのインターフェースビットインデックスを参照又は判定してもよく、それらのセルからのビットを対応する信頼性グループに分割してもよい。いくつかの実施形態では、グループモジュール704は、SGDダウンシフトに基づいてビットをグループに分割するために、SGDグループモジュール808を使用する。例えば、SGDグループモジュール808は、どのSGDトランジスタがダウンシフトされているかを判定するためにSGD読み込みを実施してもよく、SGDトランジスタがダウンシフトされていないセルからのビットよりも低い信頼性グループにダウンシフトされたSGDトランジスタに対応するセルからビットを割り当ててもよい。
【0123】
図示された実施形態では、推定モジュール706は、参照モジュール810及び更新モジュール812を含む。いくつかの実施形態では、推定モジュール706は、信頼性グループのために記録された信頼性推定値を参照することによって、信頼性推定値を提供するために参照モジュール810を使用する。例えば、推定モジュール706は、以前のグループ単位のエラー率の記録を維持してもよく、参照モジュール810は、その記録からグループ単位の信頼性推定値を特定してもよい。更新モジュール812は、軟判定復号器からのフィードバックに基づいて、記録された信頼性推定値を更新してもよい。例えば、特定の軟判定復号器は、ビットのための信頼性推定値としてLLRを受信してもよく、復号されることができる有効符号語を判定するまで、エラー訂正符号に基づいてLLRを反復的に更新してもよい。このような復号器は、第1の反復のために初期LLRを提供する推定モジュール706に、後の反復から更新されたLLRを戻してもよく、更新モジュール812は、更新されたLLR(又は、LLRのためのグループ単位の平均等の関連量)を、グループ単位の信頼性推定値の記録に記録してもよい。
【0124】
図示された実施形態では、読み取り構成要素150は、再較正モジュール814を含む。いくつかの実施形態では、再較正モジュール814は、1つ以上の信頼性推定値が閾値を満たさないことに応答して再較正を開始するように構成されている。例えば、更新モジュール812が、記録された信頼性推定値を更新するが、更新された推定値が、不十分な信頼性(例えば、許容可能な信頼性のための閾値を下回る)を反映する場合、再較正モジュール814は、セルからのデータの信頼性を改善するために、再較正を開始するように構成されている。一実施形態では、ビットがインターフェースビットインデックスに基づいてグループ化される場合、再較正は、データ線からデータをサンプリングするための遅延を更新する遅延再較正であってもよい。別の実施形態では、ビットがSGDダウンシフトに基づいてグループ化される場合、再較正は、より高い閾値電圧に対するSGDトランジスタの再プログラミングであってもよい。様々な他の又は更なるタイプの再較正は、様々な他の又は更なる物理的特性に基づいて画定されるグループのためのグループ単位の信頼性を改善するものとして認識されるであろう。
【0125】
図9は、メモリの物理的特性に基づくエラー訂正のための方法900の一実施形態を示すフローチャートである。方法は、開始し、読み取りモジュール702は、メモリセルのセットからエラー訂正符号の受信符号語を読み取る(902)。グループモジュール704は、セルのセットのセルに関連付けられた1つ以上の永続的な物理的特性に基づいて、受信符号語のビットを信頼性グループに割り当てる(904)。グループ化のための基準として使用される1つ以上の永続的な物理的特性は、インターフェースビットインデックス及び/又はSGDダウンシフト等の、セルのセットにデータを書き込むことによって直接的に変化させられない特性であってもよい。推定モジュール706は、受信符号語を復号するために、信頼性グループに基づく信頼性推定値を軟判定復号器に提供し(906)、方法900は、終了する。
【0126】
図10は、メモリの物理的特性に基づくエラー訂正のための方法1000の別の実施形態を示すフローチャートである。方法は、開始し、読み取りモジュール702は、メモリセルのセットからエラー訂正符号の受信符号語を読み取る(1002)。受信符号語を読み取ること(1002)は、軟ビットを判定するための軟読み取り動作を含んでもよい。グループモジュール704は、セルのセットのセルに関連付けられた1つ以上の永続的な物理的特性に基づいて、及び軟読み取り動作からの軟ビットに基づいて、受信符号語のビットを信頼性グループに割り当てる(1004)。推定モジュール706は、信頼性グループのための信頼性推定値を参照することによって、信頼性グループに基づく信頼性推定値を軟判定復号器に提供する(1006)。軟判定復号器は、将来の使用のために更新されたグループ単位の信頼性推定値の形態でフィードバックを提供してもよく、更新モジュール812は、軟判定復号器からのフィードバックに基づいて、記録された信頼性推定値を更新してもよい(1008)。
【0127】
再較正モジュール814は、更新された信頼性推定値が1つ以上の閾値を満たすかどうかを判定してもよい(1010)。閾値が満たされた場合、方法1000は、終了する。更新された信頼性推定値のうちの1つ以上が閾値を満たしていない場合、再較正モジュール814は、再較正を開始してもよく(1012)、方法1000は、終了する。再較正は、様々な実施形態では、データ線からデータをサンプリングするための遅延を更新するための遅延再較正、SGDトランジスタを再プログラミングするためのSGD再較正等であってもよい。
【0128】
メモリセルのセットから符号化ビットのセットを読み取るための手段は、様々な実施形態では、メモリ素子123、行回路202、列回路204、読み取り構成要素150、読み取りモジュール702、硬ビットモジュール802、軟ビットモジュール804、ダイコントローラ206、デバイスコントローラ126、デバイスドライバ、及び/又は他の論理若しくは電子ハードウェアを含んでもよい。他の実施形態は、符号化ビットを読み取るための同様又は同等の手段を含んでもよい。
【0129】
符号化ビットと少なくとも2つの信頼性グループとの間の対応を判定するための手段は、様々な実施形態では、グループモジュール704、及びIBIグループモジュール806、SGDグループモジュール808、読み取り構成要素150、ダイコントローラ206、デバイスコントローラ126、デバイスドライバ、及び/又は他の論理若しくは電子ハードウェアを含んでもよい。他の実施形態は、符号化ビットと信頼性グループとの間の対応を判定するための同様又は同等の手段を含んでもよい。
【0130】
信頼性グループに基づく信頼性推定値を軟判定復号器に提供するための手段は、様々な実施形態では、推定モジュール706、参照モジュール810、読み取り構成要素150、ダイコントローラ206、デバイスコントローラ126、デバイスドライバ、及び/又は他の論理若しくは電子ハードウェアを含んでもよい。他の実施形態は、信頼性推定値を提供するための同様又は同等の手段を含んでもよい。
【0131】
記録された信頼性推定値を更新するための手段は、様々な実施形態では、更新モジュール812、読み取り構成要素150、ダイコントローラ206、デバイスコントローラ126、デバイスドライバ、及び/又は他の論理若しくは電子ハードウェアを含んでもよい。他の実施形態は、信頼性推定値を更新するための同様又は同等の手段を含んでもよい。
【0132】
記録された信頼性推定値のうちの1つ以上が閾値を満たさないことに応答して再較正を開始するための手段は、様々な実施形態では、再較正モジュール814、読み取り構成要素150、ダイコントローラ206、デバイスコントローラ126、デバイスドライバ、及び/又は他の論理若しくは電子ハードウェアを含んでもよい。他の実施形態は、再較正を開始するための同様又は同等の手段を含んでもよい。
【0133】
本開示は、その趣旨又は本質的な特性から逸脱することなく他の特定の形態で具現化されてもよい。説明された実施形態は、あらゆる点で、例示的であり、かつ制限的でないものと考慮されるべきである。したがって、本開示の範囲は、前述の記載によってではなく、添付の特許請求の範囲によって示される。特許請求の範囲の意味及び均等物の範囲内に収まる全ての変更は、それらの範囲に包含されるべきである。
以下の項目は、出願時の特許請求の範囲に記載されていた事項である。
(項目1)
装置であって、
メモリセルのアレイと、
コントローラであって、
前記アレイのセルのセットから符号化ビットのセットを読み取ることと、
前記セルのセットのセルに関連付けられた1つ以上の永続的な物理的特性に基づいて、前記符号化ビットを信頼性グループに分割することと、
前記符号化ビットを復号するために、前記信頼性グループに基づく信頼性推定値を軟判定復号器に提供することと、を行うように構成されている、コントローラと、を備える、装置。
(項目2)
前記符号化ビットのセットが、エラー訂正符号の受信符号語であり、前記コントローラが、前記受信符号語のビットを信頼性グループに分割するように構成されている、項目1に記載の装置。
(項目3)
前記セルのセットのセルに関連付けられた前記1つ以上の永続的な物理的特性が、前記セルのセットにデータを書き込むことによって直接的に変化させられない、項目1に記載の装置。
(項目4)
前記1つ以上の永続的な物理的特性が、インターフェースビットインデックスを含み、前記コントローラが、インターフェースビットインデックスに基づいて、ビットを信頼性グループに分割するように構成されている、項目1に記載の装置。
(項目5)
前記1つ以上の永続的な物理的特性が、ドレイン選択ゲート(SGD)ダウンシフトを含み、前記コントローラが、SGDダウンシフトに基づいて、ビットを信頼性グループに分割するように構成されている、項目1に記載の装置。
(項目6)
前記コントローラが、前記1つ以上の永続的な物理的特性に基づいて、及び軟読み取り動作からの軟ビットに基づいて、前記符号化ビットを信頼性グループに分割するように構成されている、項目1に記載の装置。
(項目7)
前記コントローラが、前記信頼性グループのための記録された信頼性推定値を参照することによって前記信頼性推定値を提供し、前記軟判定復号器からのフィードバックに基づいて、前記記録された信頼性推定値を更新するように構成されている、項目1に記載の装置。
(項目8)
前記コントローラは、前記記録された信頼性推定値のうちの1つ以上が閾値を満たさないことに応答して再較正を開始するように構成されている、項目7に記載の装置。
(項目9)
前記1つ以上の永続的な物理的特性が、インターフェースビットインデックスを含み、前記再較正が、データ線からデータをサンプリングするための遅延を更新することを含む、項目8に記載の装置。
(項目10)
前記1つ以上の永続的な物理的特性が、ドレイン選択ゲート(SGD)ダウンシフトを含み、前記再較正が、SGDトランジスタを再プログラミングすることを含む、項目8に記載の装置。
(項目11)
方法であって、
メモリセルのセットから、エラー訂正符号の受信符号語を読み取ることと、
前記セルのセットのセルと関連付けられた1つ以上の永続的な物理的特性に基づいて、前記受信符号語のビットを信頼性グループに割り当てることと、
前記受信符号語を復号するために、前記信頼性グループに基づく信頼性推定値を軟判定復号器に提供することと、を含む、方法。
(項目12)
前記セルのセットのセルに関連付けられた前記1つ以上の永続的な物理的特性が、前記セルのセットにデータを書き込むことによって直接的に変化させられない、項目11に記載の方法。
(項目13)
前記1つ以上の永続的な物理的特性が、インターフェースビットインデックスを含み、前記受信符号語のビットを信頼性グループに割り当てることが、インターフェースビットインデックスに基づく、項目11に記載の方法。
(項目14)
前記1つ以上の永続的な物理的特性が、ドレイン選択ゲート(SGD)ダウンシフトを含み、前記受信符号語のビットを信頼性グループに割り当てることが、SGDダウンシフトに基づく、項目11に記載の方法。
(項目15)
前記受信符号語のビットを信頼性グループに割り当てることが、前記1つ以上の永続的な物理的特性に基づき、及び軟読み取り動作からの軟ビットに基づく、項目11に記載の方法。
(項目16)
前記信頼性推定値を提供することが、前記信頼性グループのための記録された信頼性推定値を参照することを含み、前記方法が、前記軟判定復号器からのフィードバックに基づいて、前記記録された信頼性推定値を更新することを更に含む、項目11に記載の方法。
(項目17)
前記記録された信頼性推定値のうちの1つ以上が閾値を満たさないことに応答して、再較正を開始することを更に含む、項目16に記載の方法。
(項目18)
装置であって、
メモリセルのセットから符号化ビットのセットを読み取るための手段と、
前記セルのセットのセルに関連付けられた1つ以上の永続的な物理的特性に基づいて、前記符号化ビットと少なくとも2つの信頼性グループとの間の対応を判定するための手段と、
前記符号化ビットを復号するために、前記信頼性グループに基づく信頼性推定値を軟判定復号器に提供するための手段と、を備える、装置。
(項目19)
前記信頼性推定値を提供するための前記手段が、前記信頼性グループのための記録された信頼性推定値を参照し、前記装置が、前記軟判定復号器からのフィードバックに基づいて、前記記録された信頼性推定値を更新するための手段を更に備える、項目18に記載の装置。
(項目20)
前記記録された信頼性推定値のうちの1つ以上が閾値を満たさないことに応答して、再較正を開始するための手段を更に備える、項目19に記載の装置。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10