(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-04
(45)【発行日】2024-12-12
(54)【発明の名称】マルチセルマッピングのための記憶システム及び方法
(51)【国際特許分類】
G06F 12/02 20060101AFI20241205BHJP
G06F 12/00 20060101ALI20241205BHJP
G11C 11/56 20060101ALI20241205BHJP
【FI】
G06F12/02 510A
G06F12/00 550E
G06F12/00 597U
G11C11/56 210
【外国語出願】
(21)【出願番号】P 2022083485
(22)【出願日】2022-05-23
【審査請求日】2022-05-30
【審判番号】
【審判請求日】2023-09-11
(32)【優先日】2021-11-10
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】324010378
【氏名又は名称】サンディスク テクノロジーズ インコーポレイテッド
(74)【代理人】
【識別番号】100207837
【氏名又は名称】小松原 寿美
(72)【発明者】
【氏名】ラン・ザミール
(72)【発明者】
【氏名】エラン・シャロン
(72)【発明者】
【氏名】アイダン・アルロッド
【合議体】
【審判長】林 毅
【審判官】脇岡 剛
【審判官】吉田 美彦
(56)【参考文献】
【文献】米国特許出願公開第2014/0347924(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00 - 12/06
G11C 11/56
G11C 16/00 - 17/18
(57)【特許請求の範囲】
【請求項1】
マルチセルマッピングのための記憶システムであって、
2つのメモリセルを含むメモリダイであって、前記
2つのメモリセルのそれぞれ
が、
前記メモリダイに記憶されるデータに対応する2の累乗以外の数の電圧レベルの状態
の一つを示すように構成されている、メモリダイと、
前記データを前記メモリダイに提供するように構成されたコントローラと
を備え、
前記メモリダイは、
修正されたQAMマップを使用して、
前記データに対応する修正されたビット数の情報を表すシンボルの、前記修正されたQAMマップにおける配置位置に応じて、前記データを、前記2つのメモリセルのそれぞれの電圧レベルにマッピングし、
前記2つのメモリセルのそれぞれがマッピングされた前記電圧レベルを示すように構成され、
前記修正されたQAMマップは、
前記修正されたQAMマップよりも小さ
くかつ2の倍数である基本ビット数の情報を表すシンボルが含まれる基本的なQAMマップの右半分及び左半分に含まれるシンボルを、前記基本的なQAMマップの右側縁及び上側縁にそれぞれ
複製することと、
前記基本的なQAMマップに含まれる各シンボルの情報に対して、0の値の最上位ビットを付加して前記修正されたビット数の情報を表わすようにするとともに、前記基本的なQAMマップの右側縁及び上側縁にそれぞれ複製した部分に含まれる各シンボルの情報に対して、1の値の最上位ビットを付加して前記修正されたビット数の情報を表すようにすることと、
前記基本的なQAMマップの右側縁に
複製した部分の最も右側
の列のシンボルと、前記基本的なQAMマップの上側縁に
複製した部分の最も上側
の列のシンボルとを、前記基本的なQAMマップの右上隅に移動させることと、
によって作成さ
れ、
前記修正されたビット数は、前記基本ビット数に1を加えたビット数である、記憶システム。
【請求項2】
前記マッピングすることは、前記メモリダイに接合された制御ダイによって実行される、請求項1に記載の記憶システム。
【請求項3】
前記2の累乗以外の数は、23であ
り、
前記基本ビット数は、8であり、
前記修正されたビット数は、9である、請求項1に記載の記憶システム。
【請求項4】
前記メモリダイは、三次元メモリを含む、請求項1に記載の記憶システム。
【請求項5】
記憶システムによるマルチセルマッピングのための方法であって、
前記記憶システムは、
2つのメモリセルを含むメモリダイであって、前記
2つのメモリセルのそれぞれ
が、
前記メモリダイに記憶されるデータに対応する2の累乗以外の数の電圧レベルの状態
の一つを示すように構成されている、メモリダイを備え、
前記方法は、
前記メモリダイ内に記憶されるデータを受信することと、
修正されたQAMマップを使用して、
前記データに対応する修正されたビット数の情報を表すシンボルの、前記修正されたQAMマップにおける配置位置に応じて、前記データを、前記2つのメモリセルのそれぞれの電圧レベルにマッピングすることと、
前記2つのメモリセルのそれぞれがマッピングされた前記電圧レベルを示すことと
を含み、
前記修正されたQAMマップは、
前記修正されたQAMマップよりも小さ
くかつ2の倍数である基本ビット数の情報を表すシンボルが含まれる基本的なQAMマップの右半分及び左半分に含まれるシンボルを、前記基本的なQAMマップの右側縁及び上側縁にそれぞれ
複製することと、
前記基本的なQAMマップに含まれる各シンボルの情報に対して、0の値の最上位ビットを付加して前記修正されたビット数の情報を表わすようにするとともに、前記基本的なQAMマップの右側縁及び上側縁にそれぞれ複製した部分に含まれる各シンボルの情報に対して、1の値の最上位ビットを付加して前記修正されたビット数の情報を表すようにすることと、
前記基本的なQAMマップの右側縁に
複製した部分の最も右側
の列のシンボルと、前記基本的なQAMマップの上側縁に
複製した部分の最も上側
の列のシンボルとを、前記基本的なQAMマップの右上隅に移動させることと、
によって作成され
、
前記修正されたビット数は、前記基本ビット数に1を加えたビット数である、方法。
【請求項6】
前記マッピングすることは、前記記憶システムのコントローラ、前記メモリダイ、又は前記メモリダイに接合された制御ダイのうちの1つによって実行される、請求項5に記載の方法。
【請求項7】
前記複数のデータをデマッピングすることを更に含む、請求項5に記載の方法。
【請求項8】
前記デマッピングすることは、前記記憶システムのコントローラ、前記メモリダイ、又は前記メモリダイに接合された制御ダイのうちの1つによって実行される、請求項7に記載の方法。
【請求項9】
前記2の累乗以外の数は、23であ
り、
前記基本ビット数は、8であり、
前記修正されたビット数は、9である、請求項5に記載の方法。
【請求項10】
マルチセルマッピングのための記憶システムであって、
2つのメモリセルを含むメモリダイであって、前記
2つのメモリセルのそれぞれ
が、
前記メモリダイに記憶されるデータに対応する2の累乗以外の数の電圧レベルの状態
の一つを示すように構成されている、メモリダイと、
修正されたQAMマップを使用して、
前記データに対応する修正されたビット数の情報を表すシンボルの、前記修正されたQAMマップにおける配置位置に応じて、前記データを、前記2つのメモリセルのそれぞれの電圧レベルにマッピングするための手段と
を備え、
前記修正されたQAMマップは、
前記修正されたQAMマップよりも小さ
くかつ2の倍数である基本ビット数の情報を表すシンボルが含まれる基本的なQAMマップの右半分及び左半分に含まれるシンボルを、前記基本的なQAMマップの右側縁及び上側縁にそれぞれ
複製することと、
前
記基本的なQAMマップに含まれる各シンボルの情報に対して、0の値の最上位ビットを付加して前記修正されたビット数の情報を表わすようにするとともに、前記基本的なQAMマップの右側縁及び上側縁にそれぞれ複製した部分に含まれる各シンボルの情報に対して、1の値の最上位ビットを付加して前記修正されたビット数の情報を表すようにすることと、
前記基本的なQAMマップの右側縁に
複製した部分の最も右側
の列のシンボルと、前記基本的なQAMマップの上側縁に
複製した部分の最も上側
の列のシンボルとを、前記基本的なQAMマップの右上隅に移動させることと、
によって作成され
、
前記修正されたビット数は、前記基本ビット数に1を加えたビット数である、記憶システム。
【発明の詳細な説明】
【背景技術】
【0001】
ますます多くのデジタルデータがまさに生成されるにつれて、記憶システム内のメモリの記憶容量を増加させる必要がある。記憶容量を増加させる1つの方法は、メモリダイ上の所与の領域当たりの物理メモリセルの数を増加させることによってである(「物理的スケーリング」)。別の方法は、メモリセル内に記憶され得る状態又はレベルの数を増加させることである(「論理スケーリング」)。1メモリセル当たりの情報ビットの全数を増加させるための論理スケーリングのプロセスは、物理的スケーリングとともに行われ得る。
【図面の簡単な説明】
【0002】
【
図1A】一実施形態の不揮発性記憶システムのブロック図である。
【0003】
【
図1B】一実施形態の記憶モジュールを示すブロック図である。
【0004】
【
図1C】一実施形態の階層記憶システムを示すブロック図である。
【0005】
【
図2A】一実施形態による、
図1Aに示す不揮発性記憶システムのコントローラの構成要素を示すブロック図である。
【0006】
【
図2B】一実施形態による、
図1Aに示す不揮発性記憶システムの構成要素を示すブロック図である。
【0007】
【
図3】一実施形態のホスト及び記憶システムのブロック図である。
【0008】
【
図4】1セル当たりのビットの例及びウィンドウ対ノイズ比の例を示す実施形態の図である。
【0009】
【
図5】一実施形態の直交振幅変調(Quadrature Amplitude Modulation、QAM)マップの図である。
【0010】
【
図6A】2の累乗以外のマッピングについてのQAMマップを修正するための一実施形態のプロセスの図を示す。
【
図6B】2の累乗以外のマッピングについてのQAMマップを修正するための一実施形態のプロセスの図を示す。
【0011】
【
図7】2の累乗以外のマッピングについての一実施形態の修正されたQAMマップの図である。
【0012】
【
図8A】交互の(alternating)状態シェーピングについての一実施形態の修正されたQAMマップの図である。
【
図8B】交互の(alternating)状態シェーピングについての一実施形態の修正されたQAMマップの図である。
【0013】
【
図9A】マッパー及びデマッパーが記憶システムのコントローラ内に位置する一実施形態のブロック図である。
【0014】
【
図9B】マッパー及びデマッパーが記憶システムのメモリダイ内に位置する一実施形態のブロック図である。
【発明を実施するための形態】
【0015】
以下の実施形態は、概して、マルチセルマッピングのための記憶システム及び方法に関する。一実施形態では、メモリダイと、記憶するためにデータをメモリダイに提供するように構成されたコントローラとを備える記憶システムが提示されている。メモリダイは、複数のメモリセルを含み、メモリセルのそれぞれは、2の累乗以外の数の状態を記憶するように構成されている。メモリダイは、2の累乗以外のマップを使用して、複数のメモリセル内のデータを記憶する場所を決定し、マップによって決定されたように、データを複数のメモリセル内に書き込むように更に構成されている。別の実施形態では、メモリダイ内に記憶される複数のデータビットを受信することと、2の累乗以外のマップを使用して、複数のデータビットを複数のメモリセルにマッピングすることと、マッピングに従って、複数のデータビットをメモリダイ内の複数のメモリセル内に記憶することとを含む方法が提供されている。更に別の実施形態では、複数のメモリセルを含むメモリダイであって、メモリセルのそれぞれは、2の累乗以外の数の状態を記憶するように構成されている、メモリダイと、2の累乗以外のマップを使用して、複数のデータビットを複数のメモリセルにマッピングするための手段とを備える記憶システムが提供されている。他の実施形態が提供されており、単独で又は組み合わせて使用されてもよい。
【0016】
ここで図面を参照すると、これらの実施形態の態様の実装において使用するのに好適な記憶システムが、
図1A~
図1Cに示されている。
図1Aは、本明細書に記載の主題の一実施形態による(本明細書では記憶デバイス又は単にデバイスと称されることがある)不揮発性記憶システム100を示すブロック図である。
図1Aを参照すると、不揮発性記憶システム100は、コントローラ102と、1つ以上の不揮発性メモリダイ104から構成され得る不揮発性メモリとを含む。本明細書で使用される際、ダイという用語は、単一の半導体基板上に形成されている、不揮発性メモリセルと、これらの不揮発性メモリセルの物理的動作を管理するための関連付けられた回路との集合体を指す。コントローラ102は、ホストシステムとインターフェースし、読み出し、プログラム、及び消去動作のためのコマンドシーケンスを不揮発性メモリダイ104に送信する。
【0017】
コントローラ102(コントローラ102は、不揮発性メモリコントローラ(例えば、フラッシュ、抵抗性ランダムアクセスメモリ(Resistive Random-Access Memory、ReRAM)、相変化メモリ(Phase-Change Memory、PCM)、又は磁気抵抗性ランダムアクセスメモリ(Magneto-Resistive Random-Access Memory、MRAM)コントローラ)であってもよい)は、処理回路、マイクロプロセッサ又はプロセッサ、及びコンピュータ可読媒体の形態をとることができ、コンピュータ可読媒体は、例えば、(マイクロ)プロセッサ、ロジックゲート、スイッチ、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、プログラム可能ロジックコントローラ、及び埋め込みマイクロコントローラによって実行可能なコンピュータ可読プログラムコード(例えば、ファームウェア)を記憶する。コントローラ102は、以下に記載しフロー図に示す様々な機能を実行するためのハードウェア及び/又はファームウェアで構成され得る。また、コントローラの内部にあるとして図に示す構成要素のうちのいくつかはまた、コントローラの外部に記憶されてもよく、他の構成要素が使用されてもよい。追加的に、「と動作可能に通信する」という語句は、と直接通信する、又はと1つ以上の構成要素を介して間接的に(有線又は無線)通信することを意味し得、これは、本明細書において図示及び記載されていることがあり、又は図示及び記載されていないことがある。
【0018】
本明細書で使用される際、不揮発性メモリコントローラは、不揮発性メモリに記憶されたデータを管理しコンピュータ又は電子デバイスなどのホストと通信するデバイスである。不揮発性メモリコントローラは、本明細書に記載の特定の機能に加えて、様々な機能を有することができる。例えば、不揮発性メモリコントローラは、不揮発性メモリが適切に動作していることを確実にし、不良の不揮発性メモリセルをマッピングし出し(map out)、将来の故障セルと置換される予備セルを割り当てるために、メモリをフォーマットすることができる。予備セルのうちのある部分は、不揮発性メモリコントローラを動作させ他の特徴を実装するためのファームウェアを保持するために使用され得る。動作において、ホストがデータを不揮発性メモリから読み出す又はデータを不揮発性メモリに書き込む必要があるときに、ホストは不揮発性メモリコントローラと通信することができる。ホストが、データがそれに読み出される/書き込まれる論理アドレスを提供する場合、不揮発性メモリコントローラは、ホストから受信された論理アドレスを不揮発性メモリ内の物理アドレスに変換することができる。(代替的に、ホストが、物理アドレスを提供することができる。)不揮発性メモリコントローラはまた、(そうでなければ繰り返しそれに書き込まれる特定のメモリセルブロックのウェアを回避するために書き込みを分散させる)ウェアレベリング及び(ブロックが満杯になった後、有効なデータページのみを新たなブロックに移動させ、このため、フルブロックが消去及び再使用され得る)ガーベッジコレクションなどを含むがこれらに限定されない様々なメモリ管理機能を実行することができる。また、特許請求の範囲に記載の「手段」のための構造は、例えば、コントローラに、記載されている機能を実行するために動作させるように必要に応じてプログラム又は製造される、本明細書に記載のコントローラの構造のうちのいくつか又は全てを含むことができる。
【0019】
不揮発性メモリダイ104は、ReRAM、MRAM、PCM、NANDフラッシュメモリセル及び/又はNORフラッシュメモリセルを含む任意の好適な不揮発性記憶媒体を含み得る。メモリセルは、固体(例えば、フラッシュ)メモリセルの形態をとることができ、1回プログラム可能、複数回プログラム可能、又は多数回プログラム可能であり得る。メモリセルはまた、シングルレベルセル(Single-Level Cell、SLC)、マルチレベルセル(Multiple-Level Cell、MLC)、トリプルレベルセル(Triple-Level Cell、TLC)、クワッドレベルセル(Quad-Level Cell、QLC)であり得、又は現在既知である若しくは今後開発される他のメモリセルレベル技術を使用し得る。また、メモリセルは、二次元的に又は三次元的に作製され得る。
【0020】
コントローラ102と不揮発性メモリダイ104との間のインターフェースは、トグルモード200、400、又は800などの任意の好適なフラッシュインターフェースであってもよい。一実施形態では、記憶システム100は、セキュアデジタル(Secure Digital、SD)又はマイクロセキュアデジタル(Micro Secure Digital、マイクロSD)カード(又はUSB、SSDなど)などのカードベースシステムであってもよい。代替の実施形態では、記憶システム100は、埋め込み記憶システムの一部分であってもよい。
【0021】
図1Aに示す例では、(本明細書では記憶モジュールと称されることがある)不揮発性記憶システム100は、コントローラ102と不揮発性メモリダイ104との間に単一のチャネルを含み、本明細書に記載の主題は、単一のメモリチャネルを有することに限定されない。例えば、(
図1B及び
図1Cに示すものなど)いくつかの記憶システムアーキテクチャでは、2つ、4つ、8つ、又はこれ以上のメモリチャネルが、コントローラの能力に依存して、コントローラとメモリデバイスとの間に存在し得る。本明細書に記載の実施形態のうちのいずれかでは、単一のチャネルが図に示されている場合でも、単一より多いチャネルが、コントローラとメモリダイとの間に存在し得る。
【0022】
図1Bは、複数の不揮発性記憶システム100を含む記憶モジュール200を示す。したがって、記憶モジュール200は、記憶コントローラ202を含み得、記憶コントローラ202は、ホスト及び記憶システム204とインターフェースし、記憶システム204は、複数の不揮発性記憶システム100を含む。記憶コントローラ202と不揮発性記憶システム100との間のインターフェースは、シリアルアドバンストテクノロジーアタッチメント(Serial Advanced Technology Attachment、SATA)、周辺構成要素相互接続エクスプレス(Peripheral Component Interconnect express、PCIe)インターフェース、又はダブルデータレート(Double-Data-Rate、DDR)インターフェースなどのバスインターフェースであってもよい。一実施形態では、記憶モジュール200は、ラップトップコンピュータ及びタブレットコンピュータなどのサーバPC又はポータブルコンピューティングデバイスにおいて見出されるような、ソリッドステートドライブ(Solid State Drive、SSD)、又は不揮発性デュアルインラインメモリモジュール(Non-Volatile Dual In-line Memory Module、NVDIMM)であってもよい。
【0023】
図1Cは、階層記憶システムを示すブロック図である。階層記憶システム250は、複数の記憶コントローラ202を含み、複数の記憶コントローラ202のそれぞれは、個々の記憶システム204を制御する。ホストシステム252は、記憶システム内のメモリにバスインターフェースを介してアクセスし得る。一実施形態では、バスインターフェースは、不揮発性メモリエクスプレス(Non-Volatile Memory express、NVMe)又はファイバチャネルオーバイーサネット(Fiber Channel over Ethernet、FCoE)インターフェースであってもよい。一実施形態では、
図1Cに示すシステムは、データセンタ又は大容量記憶装置が必要とされる他の場所において見出されるような、複数のホストコンピュータによってアクセス可能であるラックマウント可能な大容量記憶システムであってもよい。
【0024】
図2Aは、コントローラ102の構成要素をより詳細に示すブロック図である。コントローラ102は、ホストとインターフェースするフロントエンドモジュール108と、1つ以上の不揮発性メモリダイ104とインターフェースするバックエンドモジュール110と、ここで詳細に説明する機能を実行する様々な他のモジュールとを含む。モジュールは、例えば、他の構成要素との使用のために設計されたパッケージ化された機能ハードウェアユニット、関連する機能の特定の機能を通常実行する(マイクロ)プロセッサ若しくは処理回路によって実行可能なプログラムコード(例えば、ソフトウェア又はファームウェア)の一部分、又はより大きいシステムとインターフェースする自己完結型のハードウェア若しくはソフトウェア構成要素の形態をとり得る。コントローラ102は、本明細書では、NANDコントローラ又はフラッシュコントローラと称され得ることがあるが、コントローラ102は、任意の好適なメモリ技術とともに使用され得ることを理解されたく、このうちのいくつかの例が、以下に提供されている。
【0025】
コントローラ102のモジュールを再び参照すると、バッファマネージャ/バスコントローラ114は、ランダムアクセスメモリ(Random Access Memory、RAM)116内のバッファを管理し、コントローラ102の内部バス調停を制御する。読み出し専用メモリ(Read Only Memory、ROM)118は、システム起動コードを記憶する。コントローラ102から分離して位置するとして
図2Aに示すが、他の実施形態では、RAM 116及びROM 118の一方又は両方がコントローラ内に位置してもよい。更に他の実施形態では、RAM及びROMの一部分が、コントローラ102内及びコントローラ外の両方に位置し得る。
【0026】
フロントエンドモジュール108は、ホストインターフェース120及び物理層インターフェース(Physical Layer Interface、PHY)122を含み、ホストインターフェース120及びPHY 122は、ホスト又は次のレベルの記憶コントローラとの電気的インターフェースを提供する。ホストインターフェース120のタイプの選択は、使用されているメモリのタイプに依存し得る。ホストインターフェース120の例としては、SATA、SATAエクスプレス、シリアルアタッチドスモールコンピュータシステムインターフェース(Serially Attached Small Computer System Interface、SAS)、ファイバチャネル、ユニバーサルシリアルバス(Universal Serial Bus、USB)、PCIe、及びNVMeが挙げられるが、これらに限定されない。ホストインターフェース120は、典型的には、データ、制御信号、及びタイミング信号についての転送を容易にする。
【0027】
バックエンドモジュール110は、エラー訂正コード(Error Correction Code、ECC)エンジン124を含み、ECCエンジン124は、ホストから受信されたデータバイトをコード化し、不揮発性メモリから読み出されたデータバイトを復号及びエラー訂正をする。コマンドシーケンサ126は、不揮発性メモリダイ104に送信されるプログラムコマンドシーケンス及び消去コマンドシーケンスなどのコマンドシーケンスを生成する。独立ドライブの冗長配列(Redundant Array of Independent Drive、RAID)モジュール128は、RAIDパリティの生成及び失敗したデータの回復を管理する。RAIDパリティは、メモリデバイス104内に書き込まれているデータのための完全性保護の追加のレベルとして使用され得る。いくつかのケースでは、RAIDモジュール128は、ECCエンジン124の一部分であってもよい。メモリインターフェース130は、コマンドシーケンスを不揮発性メモリダイ104に提供し、状態情報を不揮発性メモリダイ104から受信する。一実施形態では、メモリインターフェース130は、トグルモード200、400、又は800インターフェースなどのダブルデータレート(DDR)インターフェースであり得る。フラッシュ制御層132は、バックエンドモジュール110の全体的な動作を制御する。
【0028】
記憶システム100はまた、外部電気的インターフェース、外部RAM、抵抗器、コンデンサ、又はコントローラ102とインターフェースし得る他の構成要素などの他の分離した構成要素140を含む。代替の実施形態では、物理層インターフェース122、RAIDモジュール128、メディア管理層138、及びバッファ管理/バスコントローラ114のうちの1つ以上は、コントローラ102内で必要でない任意選択の構成要素である。
【0029】
図2Bは、不揮発性メモリダイ104の構成要素をより詳細に示すブロック図である。不揮発性メモリダイ104は、周辺回路141及び不揮発性メモリ配列142を含む。不揮発性メモリ配列142は、データを記憶するために使用される不揮発性メモリセルを含む。不揮発性メモリセルは、ReRAM、MRAM、PCM、NANDフラッシュメモリセル、並びに/又は二次元及び/若しくは三次元構成におけるNORフラッシュメモリセルを含む任意の好適な不揮発性メモリセルであってもよい。不揮発性メモリダイ104は、データをキャッシュするデータキャッシュ156を更に含む。周辺回路141は、状態情報をコントローラ102に提供する状態マシン152を含む。
【0030】
再び
図2Aを参照すると、(本明細書ではフラッシュ変換層(Flash Translation Layer、FTL)と称される、又はより一般に、メモリがフラッシュでないことがある場合、「メディア管理層」と称される)フラッシュ制御層132は、フラッシュエラーを処理し、ホストとインターフェースする。特に、ファームウェア内のアルゴリズムであり得るFTLは、メモリ管理の内部に関与し、ホストからの書き込みをメモリ104内への書き込みに変換する。メモリ104は、制限された耐久性を有することがあり、複数のページ内にのみ書き込まれ得、及び/又は、メモリ104がメモリセルのブロックとして消去されない限り、書き込まれないことがあるため、FTLが、必要とされることがある。FTLは、ホストに可視でない可能性がある、メモリ104のこれらの潜在的制限を理解する。したがって、FTLは、ホストからの書き込みをメモリ104内への書き込みに変換することを試みる。
【0031】
FTLは、(本明細書では、テーブル又はデータ構造と称されることがある)論理から物理アドレス(Logical-to-Physical address、L2P)マップ及び割り当てられたキャッシュメモリを含んでもよい。このようにして、FTLは、ホストからの論理ブロックアドレス(Logical Block Address、「LBA」)をメモリ104内の物理アドレスに変換する。FTLは、電力オフ回復(このため、FTLのデータ構造は、急な電力損失の事象において回復され得る)、及びウェアレベリング(このため、メモリブロックにわたるウェアは、故障のより大きい機会をもたらし得るあるブロックの過剰ウェアを防止するように一様である)などを含むがこれらに限定されない他の特徴を含むことができる。
【0032】
再び図面を参照すると、
図3は、一実施形態のホスト300及び(本明細書では、デバイスと称されることがある)記憶システム100のブロック図である。ホホスト300は、コンピュータ、携帯電話、デジタルカメラ、タブレット、ウェアラブルデバイス、デジタルビデオレコーダ、監視システムなどを含むがこれらに限定されない任意の好適な形態をとることができる。ホスト300は、プロセッサ330を備え、プロセッサ330は、記憶システムのメモリ104(例えば、不揮発性メモリダイ)内に記憶するために、(例えば、ホストのメモリ340(例えば、DRAM)内に最初に記憶された)データを記憶システム100に送信するように構成されている。ホスト300及び記憶システム100は、
図3では別個のボックスとして示されているが、記憶システム100は、ホスト300内に統合されてもよく、記憶システム100は、ホスト300に取り外し可能に接続されてもよく、記憶システム100及びホスト300は、ネットワークを介して通信することができることに留意されたい。また、メモリ104は、記憶システム100内に統合されてもよく、又は記憶システム100に取り外し可能に接続されてもよいことに留意されたい。メモリ104は、記憶システム100内に統合されてもよく、又は記憶システム100に取り外し可能に接続されてもよいことに留意されたい。
【0033】
上記のように、ますます多くのデジタルデータがまさに生成されるにつれて、記憶システム内のメモリの記憶容量を増加させる必要がある。記憶容量を増加させる1つの方法は、メモリダイ上の所与の領域当たりの物理メモリセルの数を増加させることによってである(「物理的スケーリング」)。別の方法は、メモリセル内に記憶され得る状態又はレベルの数を増加させることである(「論理スケーリング」)。1メモリセル当たりの情報ビットの全数を増加させるための論理スケーリングのプロセスは、物理的スケーリングとともに行われ得る。
【0034】
現在のX4メモリは、1セル当たり4物理ビットを16電圧レベルで使用し、エラー訂正コード(ECC)パリティのために使用される追加ビットを考慮して4未満の情報ビット/セル(nformation bits/cell)を達成する。しかしながら、情報理論の観点からは、メモリダイの達成可能なウィンドウ対ノイズ比(W/N)を考慮すると、4情報ビット/セルと5情報ビット/セルとの間でのより高い論理密度を得ることが可能であり、これは、1セル当たり4超の物理ビットを必要とする。これは、
図4に示されている。
【0035】
論理スケーリングを増加させるための1つのアプローチは、1セル当たり5物理ビット及び32電圧レベルをX5メモリに提供することである。しかしながら、32レベルでは、プログラミング速度が著しく低減し得、メモリダイへのトラフィックの量が、はるかにより高いことがあり、性能を低減し電力消費を増加させる。より良好なアプローチは、X4.5を23電圧レベルで使用することであり得、これは、1セル当たり4.52物理ビットに達する。しかしながら、プログラムされたデータを23電圧レベルにマッピングすることは、新しい課題を提示する。
【0036】
以下の実施形態は、2の累乗以外の数の電圧レベルで、データを隣接する(又は隣接しない)メモリセル内にマッピングするために使用され得る。以下の例は、2の累乗以外の数として23を使用するが、これは単に例であり、他の2の累乗以外の数が使用されてもよいことを理解されたい。以下でより詳細に考察するように、これらの実施形態は、いずれの物理的エラーについても論理エラーを最小にするECC特性を維持しつつマッパー/デマッパーを実装が単純及び容易であるように保つ2の累乗以外の数の状態のためのサポートを可能にする。追加的に、これらの実施形態は、高電圧状態の使用を低減することができる所望の状態シェーピング特性を提供することができ、これは、メモリ104内のウェア及びじょう乱(disturb)効果を低減することができる。これらの技術は、コントローラ102又はメモリダイ104において実行され得る。これらの技術が、メモリダイ104において実行される場合、CMOS接合配列(CMOS bonded Array、CbA)技術が使用され得る。CbA技術では、(CMOS論理と称されることがある)制御ダイは、メモリダイに接合されており、当該メモリダイに記憶されたデータに関連する制御機能を実行し、このため、当該メモリダイに記憶されたデータは、処理又は更新されるためにメインメモリコントローラダイに送られ、次いでメモリダイに再び転送される必要がない。マッピングを実行するためにメモリダイ104を使用することは、コントローラメモリダイのトラフィックを(例えば、一実装では、マッピング前の1セル当たり4.5ビットからマッピング後の1セル当たり5ビットの転送に起因して、~11%)低減することによって、記憶システム100の性能を著しく改善することができる。
【0037】
1つの例示的な実施形態では、コントローラ102又はメモリダイ104は、2の累乗以外の数のレベルを有する二次元マッピング方法を使用して、入力ビットのベクトルのそれぞれを2つの物理メモリセル内にマッピングする。この例で使用されるマップは、最も一般的な物理的エラーによって誘発される論理エラー(すなわち、プログラムされた状態に隣接する状態を読み取る)の量を最小にし、比較的単純な実装を有し、この実装は、電力消費を低減する。
【0038】
この例で使用されるマップは、直交振幅変調(QAM)マップの修正されたバージョンである。
図5は、2の累乗の数の電圧レベルをマッピングするために使用され得るQAMマップの例の図である。一実施形態では、QAMマップは、基本的なより小さいQAMマップの様々な反映及び変換によって、2の累乗以外の数の状態との使用のために修正される。
【0039】
より具体的には、
図6A及び
図6Bに示すように、一実施形態では、より小さいQAMマップは、QAMマップの半分をQAMマップの縁に反映させて新しいより大きいコンステレーションを得るように修正される。次いで、外側のシンボルが、除去され、右上隅に移動する。コンステレーションを反映によって増加させることと、コンステレーションを外側のシンボルの折り畳みによって均衡させることとによって2の累乗以外の数マッピングを構築することによって、結果として得られる修正されたQAMマップは、隣接するシンボルの物理的エラーが単一論理(ビット)エラーをもたらす(例えば、QAM変調がグレーコードの二次元バージョンである)ことを確実にし、また、物理的エラーがマップ間の境界上に起きたときに、エラーの数の低減を確実にする。
図7は、上記の修正によって作成された23×23のマッピングテーブルを示す。シンボルのそれぞれは、9ビットを表し、セルのそれぞれは、23電圧レベルのうちの1つのみにプログラムされる。24番目の電圧レベルを必要とする、マップからの最終行及び最終列は、右上隅内の未使用のシンボルにマッピングされる。この割り当ては、隣接する状態の物理的エラーからの論理エラーを最小にするように選択され得る。
【0040】
シンボルの割り当てはまた、状態シェーピングのために使用され得る。すなわち、29=512入力ベクトルの割り当ては、23×23=529シンボルを提供し、これは、状態シェーピングのために使用され得るある程度の自由度(529-512=17シンボルが未使用である)を与える。すなわち、未使用のシンボルを最右上隅内に保つことは、最も高い応力電圧レベルを回避し、メモリ104のウェアを低減することと、より高い電圧レベルによって引き起こされるじょう乱効果を低減することとによって、シェーピング利得を達成する。追加的に、ECCデコーダは、復号化を改善するためのマッピングスキームにおける未使用のシンボルを考慮することによって、追加の符号化利得を達成することができる。更に、代替の高電圧スキームは、じょう乱効果を低減するために有益であり得る。例えば、代替のマッピングは、ワード線内の隣接するセル(例えば、偶数/奇数対のセル)によって、又は隣接するワード線(偶数/奇数ワード線)のために使用され得る。この交互の(alternating)状態シェーピングの例が、
図8A及び
図8Bに示されている。
【0041】
上記のように、マッピング/デマッピング動作は、コントローラ102(
図9Aを参照されたい)又はメモリダイ104(
図9Bを参照されたい)において実行され得る。コントローラ104において実装されたときに、5ビット/セルが、セルのそれぞれの電圧レベルを記述するために、メモリダイ104に送信され得る。しかしながら、メモリダイ104において実装されたときに、コントローラ102は、上記の例では4.5ビット/セルのみであるユーザデータ(及びECCパリティ)のみを送信する必要があり得る。これは、メモリバス上の10%未満のトラフィックに達し、これは、性能及び電力低減の両方にとって重要である。メモリダイ104において実装されたときに、CbA技術が使用され得る。
【0042】
これらの実施形態に関連付けられたいくつかの利点がある。例えば、X4実装と比較して、これらの実施形態は、論理スケーリングの増加を可能にし、これは、著しいコスト低減を可能にするため、これは重要であり得る。また、現在のNAND技術が、4~5の間の情報ビット/セルのみを可能にする場合、5物理ビット/セルでのX5実装を選択するのは、浪費的である。32電圧レベルは、プログラミング速度を著しく劣化させ、じょう乱効果をはるかにより受けやすく、メモリダイ104へのトラフィックを著しく増加させる。また、上記のように、メモリダイ104内のマッパー/デマッパーでは、5ビット/セルの代わりに、4.5ビット/セルのみが転送され、これは、トラフィックを~10%低減するとともに、性能及び電力消費へのトラフィックの関連付けられた影響を低減する。更に、NAND技術密度がケーリングし続けるため、論理スケーリングを追加することは、非常に重要であり得る。
【0043】
最後に、上記のように、任意の好適なタイプのメモリが使用され得る。半導体メモリデバイスは、ダイナミックランダムアクセスメモリ(Dynamic Random Access Memory、「DRAM」)、スタティックランダムアクセスメモリ(Static Random Access Memory、「SRAM」)デバイスなどの揮発性メモリデバイス、ReRAM、電気的消去可能プログラム可能読み出し専用メモリ(Electrically Erasable Programmable Read Only Memory、「EEPROM」)、(EEPROMのサブセットとも考えられる)フラッシュメモリ、強誘電性ランダムアクセスメモリ(Ferroelectric Random Access Memory、「FRAM」)、及びMRAMなどの不揮発性メモリデバイス、並びに情報を記憶することが可能である他の半導体素子を含む。これらのタイプのメモリデバイスのそれぞれは、異なる構成を有してもよい。例えば、フラッシュメモリデバイスは、NAND又はNOR構成で構成され得る。
【0044】
メモリデバイスは、受動素子及び/又は能動素子から、任意の組み合わせで形成されてもよい。非限定的な例として、受動半導体メモリ素子は、ReRAMデバイス素子を含み、これらは、いくつかの実施形態では、抗ヒューズ、相変化材料などの抵抗スイッチング記憶素子、及び任意選択で、ダイオードなどのステアリング素子(steering element)を含む。更に非限定的な例として、能動半導体メモリ素子は、EEPROM及びフラッシュメモリデバイス素子を含み、これらは、いくつかの実施形態では、浮遊ゲート、導電性ナノ粒子、又は電荷蓄積誘電材料などの電荷蓄積領域を含む素子を含む。
【0045】
複数のメモリ素子は、複数のメモリ素子が直列に接続されているように、又は複数のメモリ素子のそれぞれが個々にアクセス可能であるように構成され得る。非限定的な例として、NAND構成(NANDメモリ)内のフラッシュメモリデバイスは、典型的には、直列に接続されたメモリ素子を含む。NANDメモリ配列は、配列がストリングが複数のメモリストリングから構成されているように構成され得、複数のメモリストリングにおいて、ストリングは、単一のビット線を共有しグループとしてアクセスされる複数のメモリ素子から構成されている。代替的に、メモリ素子は、素子のそれぞれが個々にアクセス可能であるように構成され得、例えば、NORメモリ配列であるように構成され得る。NAND及びNORメモリ構成は、例であり、メモリ素子は、別法で構成されてもよい。
【0046】
基板内及び/又は基板の上に位置する半導体メモリ素子は、二次元(two Dimensional、2D)メモリ構造、三次元(three Dimensional、3D)メモリ構造などのように、二次元又は三次元で配置され得る。
【0047】
2Dメモリ構造では、半導体メモリ素子は、単一の平面又は単一のメモリデバイスレベルに配置されている。典型的には、2Dメモリ構造では、メモリ素子は、メモリ素子を支持する基板の主表面に実質的に平行に延びる平面(例えば、xz方向平面)に配置されている。基板は、ウェハであってもよく、ウェハの上又はウェハ内に、メモリ素子の層が形成されており、又は基板は、メモリ素子が形成された後にメモリ素子に取り付けられるキャリア基板であってもよい。非限定的な例として、基板は、シリコンなどの半導体を含み得る。
【0048】
メモリ素子は、複数の行及び/又は列などの整列した配列において単一のメモリデバイスレベルに配置され得る。しかしながら、メモリ素子は非規則的又は非直交構成で配列され得る。メモリ素子はそれぞれ、2つ以上の電極、又はビット線及びワード線などの接触線を有し得る。
【0049】
3Dメモリ配列は、メモリ素子が複数の平面又は複数のメモリデバイスレベルを占有するように配置されており、これによって、三次元(すなわち、x、y、及びz方向であり、y方向は、基板の主表面に実質的に垂直であり、x及びz方向は、基板の主表面に実質的に平行である)の構造を形成する。
【0050】
非限定的な例として、3Dメモリ構造は、複数の2Dメモリデバイスレベルのスタックとして垂直に配置され得る。別の非限定的な例として、3Dメモリ配列は、列のそれぞれが複数のメモリ素子を列のそれぞれにおいて有する複数の垂直列(例えば、基板の主表面に実質的に垂直に、すなわちy方向に延びる列)として配置され得る。列は、2D構成、例えば、xz平面に配置されてもよく、素子が複数の垂直にスタックされたメモリ平面上にあるメモリ素子の3D配置をもたらす。三次元のメモリ素子の他の構成がまた、3Dメモリ配列を構築することができる。
【0051】
非限定的な例として、3D NANDメモリ配列では、メモリ素子は、NANDストリングを単一の水平(例えば、xz)メモリデバイスレベル内に形成するように一緒に結合され得る。代替的に、メモリ素子は、複数の水平メモリデバイスレベルにわたって横断する垂直なNANDストリングを形成するように一緒に結合され得る。他の3D構成が、企図され得、他の3D構成では、いくつかのNANDストリングは、メモリ素子を単一のメモリレベルで含み、他のストリングは、複数のメモリレベルにわたるメモリ素子を含む。3Dメモリ配列はまた、NOR構成及びReRAM構成で設計されてもよい。
【0052】
典型的には、モノリシック3Dメモリ配列では、1つ以上のメモリデバイスレベルは、単一の基板の上に形成されている。任意選択で、モノリシック3Dメモリ配列はまた、1つ以上のメモリ層を少なくとも部分的に単一の基板内に有し得る。非限定的な例として、基板は、シリコンなどの半導体を含み得る。モノリシック3D配列では、配列のメモリデバイスレベルのそれぞれを構築する層は、典型的には、配列の下にあるメモリデバイスレベルの層上に形成されている。しかしながら、モノリシック3Dメモリ配列の隣接するメモリデバイスレベルの層は、共有されてもよく、又はメモリデバイスレベル間に介在する層を有してもよい。
【0053】
次いで、同様に、二次元配列は、別個に形成されてもよく、次いで、一緒にパッケージ化されて、複数のメモリ層を有する非モノリシックメモリデバイスを形成してもよい。例えば、非モノリシックスタックメモリは、メモリレベルを別個の基板上に形成することと、次いで、メモリレベルを互いの上にスタックすることとによって構築され得る。基板は、薄くてもよく、又はスタックの前にメモリデバイスレベルから除去されてもよいが、メモリデバイスレベルは、最初に、別個の基板の上に形成されるため、結果として得られるメモリ配列は、モノリシック3Dメモリ配列ではない。更に、複数の2Dメモリ配列又は3Dメモリ配列(モノリシック又は非モノリシック)は、別個のチップ上に形成されてもよく、次いで、一緒にパッケージ化されてスタックチップメモリデバイスを形成してもよい。
【0054】
関連付けられた回路は、典型的には、メモリ素子の動作及びメモリ素子との通信のために必要とされる。非限定的な例として、メモリデバイスは、プログラミング及び読み出しなどの機能を達成するためにメモリ素子を制御及び駆動するために使用される回路を有し得る。この関連付けられた回路は、メモリ素子と同じ基板上及び/又は別個の基板上にあってもよい。例えば、メモリ読み出し書き込み動作のためのコントローラは、別個のコントローラチップ上及び/又はメモリ素子と同じ基板上に位置し得る。
【0055】
本発明は、記載されている2D及び3Dの構造に限定されず、本明細書で説明されているように及び当業者によって理解されるように、本発明の精神及び範囲内の全ての関連するメモリ構造を網羅することが、当業者には理解されよう。
【0056】
上記の詳細な説明は、本発明がとり得る選択された形態の例示として理解され、本発明の定義として理解されないことが意図されている。全ての均等物を含む以下の特許請求の範囲のみが、特許請求されている発明の範囲を定義することが意図されている。最後に、本明細書に記載の実施形態のうちのいずれかの任意の態様は、単独で又は互いと組み合わせて使用され得ることに留意されたい。