(57)【要約】ＮＡＮＤの可変幅スーパーブロックのアドレス指定のためのＮＡＮＤデバイス、方法、および、命令を含む機械可読媒体を提供する。方法は、プレーン数で指定されるスーパーブロック幅を取得することを含む。スーパーブロックエントリが、ＮＡＮＤデバイスの変換テーブルに作成される。ここで、スーパーブロックエントリは、ＮＡＮＤデバイスの複数のダイにわたって同じブロックインデックスを有するＮＡＮＤデバイスからのブロックのセットを含んでよい。一意のブロックインデックスの数は、プレーン数に等しく、異なるプレーンにある。要求エンティティから受信された要求が、スーパーブロックエントリを用いて実行される。要求の実行は、ＮＡＮＤデバイスの複数のダイと複数のデータセグメントとに１つの命令を提供することを含む。ここで、データセグメントは、ブロックのセットのうちの、ブロックインデックスとダイのタプルによって指定されたブロックに対応する。次に、要求の結果が要求エンティティに返される。
2021507372.tif 000002
【特許請求の範囲】
【請求項１】
ＮＡＮＤの可変幅スーパーブロックのアドレス指定のためのＮＡＮＤデバイスであって、
ＮＡＮＤアレイと、
コントローラとを含み、前記コントローラは、
プレーン数で指定されたスーパーブロック幅を取得することと、
前記ＮＡＮＤデバイスの変換テーブルのスーパーブロックエントリを作成することであって、前記スーパーブロックエントリは、前記ＮＡＮＤアレイからのブロックのセットを含み、前記ブロックのセットは、前記ＮＡＮＤアレイの複数のダイにわたって同じであるブロックインデックスを有し、一意のブロックインデックスの数は、前記プレーン数に等しく、異なるプレーンにある、前記スーパーブロックエントリを作成することと、
要求エンティティから要求を受信することと、
前記ＮＡＮＤデバイスの複数のダイと複数のデータセグメントとへの１つの命令を通して、前記スーパーブロックエントリを用いて前記要求を実行して結果を生成することであって、前記複数のデータセグメントのあるデータセグメントは、ブロックインデックスとダイのタプルによって指定された前記ブロックのセットのあるブロックに対応する、前記要求を実行して結果を生成することと、
前記結果を前記要求エンティティに返すことと、
を行う、
前記ＮＡＮＤデバイス。
【請求項２】
前記プレーン数は、パーセンテージとして指定される、請求項１に記載のＮＡＮＤデバイス。
【請求項３】
前記パーセンテージは、５０パーセントである、請求項２に記載のＮＡＮＤデバイス。
【請求項４】
前記プレーン数は、前記ＮＡＮＤアレイのダイのプレーンよりも少ない、請求項１に記載のＮＡＮＤデバイス。
【請求項５】
完全なスーパーブロックは、前記ダイのあらゆるプレーンに一意のインデックスのブロックを含み、前記ＮＡＮＤアレイの全てのダイに及ぶ、請求項４に記載のＮＡＮＤデバイス。
【請求項６】
ユーザデータは、完全なスーパーブロックに記憶され、ＮＡＮＤデバイスメタデータは、前記スーパーブロックに記憶される、請求項５に記載のＮＡＮＤデバイス。
【請求項７】
前記スーパーブロックは、スーパーブロックのセットのうちの１つであり、
前記スーパーブロックのセットは、前記ＮＡＮＤアレイの全てのダイにわたって前記ダイのあらゆるプレーンに一意のインデックスのブロックを含む、請求項４に記載のＮＡＮＤデバイス。
【請求項８】
前記スーパーブロックは、前記ブロックのセットで表されるプレーンの位置によって、前記スーパーブロックのセットの他のスーパーブロックと区別される、請求項７に記載のＮＡＮＤデバイス。
【請求項９】
前記スーパーブロックのセットは、２つのスーパーブロックを有し、
前記プレーンの位置は、上位または下位であり、上位は、上位インデックスを有するプレーンの半分に対応し、下位は、前記ダイの残りのプレーンに対応する、請求項８に記載のＮＡＮＤデバイス。
【請求項１０】
前記要求は、書き込み、読み出し、リフレッシュ、または、ガベージコレクションのうちの１つである、請求項１に記載のＮＡＮＤデバイス。
【請求項１１】
ＮＡＮＤの可変幅スーパーブロックのアドレス指定の方法であって、
プレーン数で指定されたスーパーブロック幅を取得することと、
ＮＡＮＤデバイスの変換テーブルにスーパーブロックエントリを作成することであって、前記スーパーブロックエントリは、前記ＮＡＮＤデバイスからのブロックのセットを含み、前記ブロックのセットは、前記ＮＡＮＤデバイスの複数のダイにわたって同じであるブロックインデックスを有し、一意のブロックインデックスの数は、前記プレーン数と等しく、異なるプレーンにある、前記スーパーブロックエントリを作成することと、
要求エンティティから要求を受信することと、
前記ＮＡＮＤデバイスの複数のダイと複数のデータセグメントとに１つの命令を提供することによって、前記スーパーブロックエントリを用いて、前記要求を実行して結果を生成することであって、前記複数のデータセグメントのあるデータセグメントは、ブロックインデックスとダイのタプルによって指定された前記ブロックのセットのあるブロックに対応する、前記要求を実行して結果を生成することと、
前記結果を前記要求エンティティに返すことと、
を含む、前記方法。
【請求項１２】
前記プレーン数は、パーセンテージとして指定される、請求項１１に記載の方法。
【請求項１３】
前記パーセンテージは、５０パーセントである、請求項１２に記載の方法。
【請求項１４】
前記プレーン数は、前記ＮＡＮＤデバイスのダイのプレーンより少ない、請求項１１に記載の方法。
【請求項１５】
完全なスーパーブロックは、前記ダイのあらゆるプレーンに一意のインデックスのブロックを含み、前記ＮＡＮＤデバイスの全てのダイに及ぶ、請求項１４に記載の方法。
【請求項１６】
ユーザデータは、完全なスーパーブロックに記憶され、ＮＡＮＤデバイスメタデータは、前記スーパーブロックに記憶される、請求項１５に記載の方法。
【請求項１７】
前記スーパーブロックは、スーパーブロックのセットのうちの１つであり、
前記スーパーブロックのセットは、前記ＮＡＮＤデバイスの全てのダイにわたって前記ダイのあらゆるプレーンに一意のインデックスのブロックを含む、請求項１４に記載の方法。
【請求項１８】
前記スーパーブロックは、前記ブロックのセットで表されるプレーンの位置によって、前記スーパーブロックのセットの他のスーパーブロックと区別される、請求項１７に記載の方法。
【請求項１９】
前記スーパーブロックのセットは、２つのスーパーブロックを有し、
前記プレーンの位置は、上位または下位であり、上位は、上位インデックスを有する前記プレーンの半分に対応し、下位は、前記ダイの残りのプレーンに対応する、請求項１８に記載の方法。
【請求項２０】
前記要求は、書き込み、読み出し、リフレッシュ、または、ガベージコレクションのうちの１つである、請求項１１に記載の方法。
【請求項２１】
ＮＡＮＤの可変幅スーパーブロックのアドレス指定のための命令を含む機械可読媒体であって、前記命令は、マシンによって実行されると、
プレーン数で指定されたスーパーブロック幅を取得することと、
ＮＡＮＤデバイスの変換テーブルにスーパーブロックエントリを作成することであって、前記スーパーブロックエントリは、前記ＮＡＮＤデバイスからのブロックのセットを含み、前記ブロックのセットは、前記ＮＡＮＤデバイスの複数のダイにわたって同じであるブロックインデックスを有し、一意のブロックインデックスの数は、前記プレーン数に等しく、異なるプレーンにある、前記スーパーブロックエントリを作成することと、
要求エンティティから要求を受信することと、
前記ＮＡＮＤデバイスの複数のダイと複数のデータセグメントとに１つの命令を提供することによって、前記スーパーブロックエントリを用いて、前記要求を実行して結果を生成することであって、前記複数のデータセグメントのあるデータセグメントは、ブロックインデックスとダイのタプルによって指定された前記ブロックのセットのあるブロックに対応する、前記要求を実行して結果を生成することと、
前記結果を前記要求エンティティに返すことと、
を含む動作を、前記マシンに実行させる、
前記機械可読媒体。
【請求項２２】
前記プレーン数は、パーセンテージとして指定される、請求項２１に記載の機械可読媒体。
【請求項２３】
前記パーセンテージは、５０パーセントである、請求項２２に記載の機械可読媒体。
【請求項２４】
前記プレーン数は、前記ＮＡＮＤデバイスのダイのプレーンより少ない、請求項２１に記載の機械可読媒体。
【請求項２５】
完全なスーパーブロックは、前記ダイのあらゆるプレーンに一意のインデックスのブロックを含み、前記ＮＡＮＤデバイスの全てのダイに及ぶ、請求項２４に記載の機械可読媒体。
【請求項２６】
ユーザデータは、完全なスーパーブロックに記憶され、ＮＡＮＤデバイスメタデータは、前記スーパーブロックに記憶される、請求項２５に記載の機械可読媒体。
【請求項２７】
前記スーパーブロックは、スーパーブロックのセットのうちの１つであり、
前記スーパーブロックのセットは、前記ＮＡＮＤデバイスの全てのダイにわたって前記ダイのあらゆるプレーンに一意のインデックスのブロックを含む、請求項２４に記載の機械可読媒体。
【請求項２８】
前記スーパーブロックは、前記ブロックのセットで表されるプレーンの位置によって前記スーパーブロックのセットの他のスーパーブロックと区別される、請求項２７に記載の機械可読媒体。
【請求項２９】
前記スーパーブロックのセットは、２つのスーパーブロックを有し、
前記プレーンの位置は、上位または下位であり、上位は、上位インデックスを有する前記プレーンの半分に対応し、下位は、前記ダイの残りのプレーンに対応する、請求項２８に記載の機械可読媒体。
【請求項３０】
前記要求は、書き込み、読み出し、リフレッシュ、または、ガベージコレクションのうちの１つである、請求項２１に記載の機械可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
メモリデバイスは通常、コンピュータまたは他の電子デバイスの内部の半導体、集積回路として設けられる。揮発性および不揮発性メモリを含む多くの異なる種類のメモリがある。
【０００２】
揮発性メモリは、そのデータを維持するために電力を必要とし、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、または、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）等を含む。
【０００３】
不揮発性メモリは、電力供給されていないときに記憶されたデータを保持することができ、フラッシュメモリ、リードオンリメモリ（ＲＯＭ）、電気的消去可能プログラム可能ＲＯＭ（ＥＥＰＲＯＭ）、スタティックＲＡＭ（ＳＲＡＭ）、消去可能プログラム可能ＲＯＭ（ＥＰＲＯＭ）、相変化ランダムアクセスメモリ（ＰＣＲＡＭ）、抵抗性ランダムアクセスメモリ（ＲＲＡＭ）、磁気抵抗性ランダムアクセスメモリ（ＭＲＡＭ）、もしくは、３Ｄ  ＸＰｏｉｎｔ（商標)メモリ等の抵抗可変メモリ等を含む。
【０００４】
フラッシュメモリは、広範囲な電子的応用のために不揮発性メモリとして利用される。フラッシュメモリデバイスは通常、高メモリ密度、高信頼性および低電力消費を可能にする、１トランジスタ、フローティングゲートまたは電荷トラップメモリセルの１つまたは複数のグループを含む。
【０００５】
一般的な種類の２つのフラッシュメモリアレイアーキテクチャは、それぞれの基本的なメモリセル構成が配置されている論理形式にちなんで名付けられた、ＮＡＮＤアーキテクチャとＮＯＲアーキテクチャである。メモリアレイのメモリセルは通常、マトリクス状に配置される。一例では、アレイの行の各フローティングゲートメモリセルのゲートは、アクセスライン（例えば、ワードライン）に結合される。ＮＯＲアーキテクチャでは、アレイの列の各メモリセルのドレインは、データライン（例えば、ビットライン）に結合される。ＮＡＮＤアーキテクチャでは、アレイのストリングの各メモリセルのドレインは、ソースラインとビットラインの間で、ソースからドレインに、直列に一緒に結合される。
【０００６】
ＮＯＲアーキテクチャとＮＡＮＤアーキテクチャの両方の半導体メモリアレイは、ゲートに結合されたワード線を選択することによって特定のメモリセルをアクティブにするデコーダを介してアクセスされる。ＮＯＲアーキテクチャの半導体メモリアレイでは、選択されたメモリセルがアクティブになると、データ値がビットラインに配置され、特定のセルがプログラムされている状態に応じて、異なる電流が流れる。ＮＡＮＤアーキテクチャの半導体メモリアレイでは、ドレイン側の選択ゲート（ＳＧＤ）ラインに高バイアス電圧が印加される。各グループの非選択メモリセルのゲートに結合されたワード線は、指定されたパス電圧（例えば、Ｖｐａｓｓ）で駆動されて、各グループの非選択メモリセルをパストランジスタとして動作させる（例えば、メモリセルに記憶されたデータ値によって制限されないように電流を通す）。次に、電流は、各グループの選択されたメモリセルによってのみ制限されて、各直列に結合されたグループを通ってソースラインからビットラインに流れ、選択されたメモリセルの電流で符号化されたデータ値をビットラインに配置する。
【０００７】
ＮＯＲまたはＮＡＮＤアーキテクチャの半導体メモリアレイの各フラッシュメモリセルは、個別にまたはまとめて１つまたは複数のプログラムされた状態にプログラムできる。例えば、シングルレベルセル（ＳＬＣ）は、１ビットのデータを表す２つのプログラムされた状態（例えば、１または０）の１つを表すことができる。
【０００８】
ただし、フラッシュメモリセルは、３つ以上のプログラムされた状態の１つを表すこともでき、各セルは複数の２進数（例えば、２ビット以上）を表すことができるため、メモリセルの数を増やすことなく、より高密度のメモリの製造を可能にする。このようなセルは、マルチステートメモリセル、マルチディジットセルまたはマルチレベルセル（ＭＬＣ）と呼ばれる。特定の例では、ＭＬＣはセル毎に２ビットのデータ（例えば、４つのプログラムされた状態の１つ）を記憶できるメモリセルを指すことができ、トリプルレベルセル（ＴＬＣ）はセル毎に３ビットのデータ（例えば、８つのプログラムされた状態の１つ）を記憶できるメモリセルを指すことができ、クワッドレベルセル（ＱＬＣ）は、セル毎に４ビットのデータを記憶できる。ＭＬＣは、本明細書ではより広い文脈で使用されて、セル毎に２ビット以上のデータを記憶できる（すなわち、３つ以上のプログラムされた状態を表すことができる）任意のメモリセルを指す。
【０００９】
従来のメモリアレイは、半導体基板の表面に配置された二次元（２Ｄ）構造である。所与の領域のメモリ容量を増やし、コストを削減するために、個々のメモリセルのサイズは小さくなっている。しかしながら、個々のメモリセルのサイズの縮小、そして、２Ｄメモリアレイのメモリ密度には技術的な限界がある。これに対応して、３Ｄ  ＮＡＮＤアーキテクチャの半導体メモリデバイス等の三次元（３Ｄ)メモリ構造が、メモリ密度をさらに高め、メモリコストを下げるために開発されている。
【００１０】
このような３Ｄ  ＮＡＮＤデバイスは、ソースに近い１つまたは複数のソース側選択ゲート（ＳＧＳ）とビットラインに近い１つまたは複数のドレイン側選択ゲート（ＳＧＤ）との間に直列に（例えば、ドレインからソースへ）結合された記憶セルのストリングを含むことが多い。一例では、ＳＧＳまたはＳＧＤは、１つまたは複数の電界効果トランジスタ（ＦＥＴ）または金属酸化膜半導体（ＭＯＳ）構造デバイス等を含み得る。ある例では、ストリングは、それぞれワード線を含む複数の垂直方向に間隔を置いた層を通して垂直に延びる。半導体構造（例えば、ポリシリコン構造）は、記憶セルのストリングに隣接して延びて、ストリングの記憶セルのためのチャネルを形成することができ、垂直ストリングの例では、ポリシリコン構造は、垂直に延びるピラーの形であってよく、ある例では、ストリングを「折り畳んで」、Ｕ字型のピラーに配置できる。他の例では、複数の垂直構造を互いに積み重ねて、記憶セルストリングを積み重ねたアレイを形成することができる。
【００１１】
メモリアレイまたはデバイスを組み合わせて、ソリッドステートドライブ（ＳＳＤ）、ユニバーサルフラッシュストレージ（ＵＦＳ（商標））デバイス、マルチメディアカード（ＭＭＣ）ソリッドステートストレージデバイス、組み込みＭＭＣデバイス（ｅＭＭＣ（商標））等のメモリシステムの記憶ボリュームを形成できる。ＳＳＤは、特に、コンピュータのメインストレージデバイスとして使用でき、例えば、性能、サイズ、重量、耐久性、動作温度範囲および消費電力などの点で、可動部品を備えた従来のハードドライブよりも優れている。例えば、ＳＳＤでは、シーク時間、待ち時間、または、磁気ディスクドライブ（電気機械等）に関連するその他の遅延を削減できる。ＳＳＤは、フラッシュメモリセルなどの不揮発性メモリセルを使用して、内部のバッテリ供給要件を不要にし、ドライブをより多用途でコンパクトにすることができる。
【００１２】
ＳＳＤは、幾つかのダイまたは論理ユニット（例えば、論理ユニット番号またはＬＵＮ）を含む幾つかのメモリデバイスを含んでよく、メモリデバイスの動作または外部システムとのインタフェースのために必要とされる論理関数を行う１つまたは複数のプロセッサまたは他のコントローラを含み得る。このようなＳＳＤは、幾つかのメモリアレイおよびその上の周辺回路を含む、１つまたは複数のフラッシュメモリダイを含み得る。フラッシュメモリアレイは、幾つかの物理ページに編成されたメモリセルの幾つかのブロックを含むことができる。多くの例では、ＳＳＤは、ＤＲＡＭまたはＳＲＡＭ（または他の形式のメモリダイまたは他のメモリ構造）も含む。ＳＳＤは、メモリデバイスとホスト間でデータ（例えば、ユーザデータ、および、エラーデータ、アドレスデータ等の関連する整合性データ）を転送する読み出しもしくは書き込み動作、または、メモリデバイスからデータを消去する消去動作等、メモリ動作に関連して、ホストからコマンドを受信することができる。
【００１３】
図面は、必ずしも縮尺どおりではなく、異なる図面を通して、類似の数字は類似のコンポーネントを示し得る。異なる接尾辞を持つ類似の数字は、類似のコンポーネントの異なる例を表し得る。図面は一般に、限定ではなく例として、本明細書で論じられる様々な実施形態を示す。
【図面の簡単な説明】
【００１４】
【図１】メモリデバイスを含む環境の例を示す。
【図２】スーパーブロックの例を示す。
【図３】可変幅スーパーブロックの例を示す。
【図４】可変幅スーパーブロックに対する書き込みの例を示す。
【図５】可変幅スーパーブロックのアドレス指定の方法のフローチャートを示す。
【図６】１つまたは複数の実施形態を実施できるマシンの例を示すブロック図である。
【発明を実施するための形態】
【００１５】
ＮＡＮＤデバイスは、ページレベルでの書き込みおよび読み出しアドレス指定と、ブロックレベルでの消去アドレス指定とを可能にするが、そのような細かい解決法には幾つかの実際的な問題がある。これらの問題は、フラッシュ変換レイヤ（ＦＴＬ）テーブルのメンテナンスなど、さまざまなタスクや動作のオーバーヘッドへの対処を含み得る。これらの問題に対処するために、ブロックはデータが書き込まれる単一の論理エンティティに集約された。従来、集約されたブロックは、ＮＡＮＤアレイのあらゆるダイのあらゆるプレーンからのブロックを含んでいた。この配置には、ダイ全体にわたる書き込みコマンドの並列実行など、幾つかの利点がある。
【００１６】
集約ブロックの概念により、追跡するストレージユニットが少なくなり、ＦＴＬテーブルと管理への負担が軽減される。これは、使用可能なワーキングメモリ（例えば、システム状態を保持するランダムアクセスメモリ（ＲＡＭ））が制限されている、マネージドＮＡＮＤ等のリソースが限られたデバイスでは重要な場合がある。ただし、ダイカウントとプレーンカウントが増加すると、集約されたブロック単位ストレージが大きくなる。次のテーブルは、プレーンとダイのカウントが増えるにつれて、集約されたブロック単位のサイズがどのように増加するかを示す。
【表１】
2021507372.tif 000003
【００１７】
集約されたブロック単位のサイズが大きくなると、幾つかの問題が発生する。例えば、集約されたブロックをリフレッシュする時間が長くなる。また、読み出し障害処理、データ保持処理、または、非同期電力損失処理では、ある集約ブロック単位から別のブロック単位へのデータの移動時間が長くなる。これらのメンテナンス動作は、これらのブロックに対するＮＡＮＤの他の動作に影響を与え、デバイスの待ち時間増加につながる場合がある（例えば、デバイスがホストの読み出しまたは書き込みコマンドに応答するのにかかる時間が長くなる）。
【００１８】
ＮＡＮＤデバイスでメンテナンスを行う時間の増加に加えて、ブロックの大きな集合体は、マネージドＮＡＮＤデバイスで最小の有効なアドレス指定可能なエンティティとして集約ブロック単位が使用される場合、ストレージの無駄につながる場合もある。例えば、デバイスは、ユーザデータまたはメタデータとは別に、データコピー中に使用する一時スペースとしてリフレッシュストレージを確保する等、使用するためにスペースを確保する場合がある。例えば、リフレッシュの場合、データはソースストレージからリフレッシュストレージにコピーされ、ソースストレージが消去され、データがリフレッシュストレージからソースストレージにコピーされる。別の例は、プログラムエラーがある場合に発生する。ここで、デバイスは、確保済みストレージセクションを使用して不良セクションを置き換えることによって、不良ストレージセクション（例えば、集約ブロック単位）を正常なものに置き換える。不良ブロックの交換用に予約された大きな集約ブロック単位は、ＮＡＮＤデバイスの有効なオーバープロビジョニング（ＯＰ）を削減する（例えば、使用できる確保済みストレージが少なくても、デバイスのストレージ使用目標を満たしてしまう）。従って、プレーンにブロックが約２００しかない場合（例えば、テーブル１のＢ２Ｘ）、１つのブロックの予約は０．５％のＯＰ損失を意味する。ＯＰが少ないと、システムの性能と耐久性に影響する。
【００１９】
可変幅スーパーブロックは、マネージドＮＡＮＤデバイスで効率的なＦＴＬを可能にしながら、上記の集約ブロック単位の問題に対処できる。上記の集約ブロック単位は、ＮＡＮＤアレイの全てのダイの全てのプレーンに及ぶ。この集約ブロック単位は、時折スーパーブロックと呼ばれてきた。しかしながら、これは、本明細書で使用されるスーパーブロックという語と区別される。本明細書で使用される場合、スーパーブロックは、少なくとも２つのダイに及ぶブロックの組み合わせを指す。これらのダイにわたるブロックは、ダイ内で同じアドレスを有する。このようにして、ダイＺのブロックＡは、ダイＹのブロックＡと組み合わされて、スーパーブロックを形成する。この定義により、ある実施形態は、「スーパーブロック」の従来の使用と比較した場合、「サブスーパーブロック」とみなされてよい。従って、集約ブロック単位とは異なり、スーパーブロックはダイ上の一部のプレーンからブロックを除外できる。例えば、それぞれが４つのプレーンを持つ２つのダイを有するＮＡＮＤアレイでは、集約ブロック単位は、各ダイ（全部で２つ）の各プレーン（全部で４つ）からのブロックを含むが、スーパーブロックは各ダイ（全部で２つ）の全てのプレーンより少ないプレーン（例えば、２つのプレーン）からのブロックを含んでよい。スーパーブロックで使用されるプレーン数はその幅である。任意の数のプレーンを使用してスーパーブロックを構築してよいが、集約ブロック単位の一部をスーパーブロック幅に選択すると有利な場合がある。例えば、単一ビットを使用して、集約ブロック単位に関して上位スーパーブロックまたは下位スーパーブロックをシグナリングして、集約ブロック単位の半分の幅であるスーパーブロックを規定してよい。この例では、下位スーパーブロックはプレーンインデックスで測定されたプレーンの前半分であってよく、上位スーパーブロックは残りのプレーンである。
【００２０】
ＮＡＮＤデバイスの基本動作ユニットとしてスーパーブロックを使用すると、より効率的なメンテナンス動作（例えば、待ち時間と動作を実行する時間の削減）と効果的なデバイスＯＰを可能にしながら、集約されたブロック単位に関して上記で説明した効率的なリソース管理が提供される。
【００２１】
スーパーブロックは、可変幅を可能にすることにより、幾つかの最適化の機会を提供する。大きなスーパーブロックは、より高い帯域幅を提供し、その結果、シーケンシャルな読み出しおよび書き込み性能が向上する。ただし、一部のシナリオでは、シリアルアドバンストテクノロジーアタッチメント（ＳＡＴＡ：Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）、ペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）、不揮発性メモリエクスプレス（ＮＶＭｅ）ホストインターフェイス等で、ＮＡＮＤアレイの帯域幅ではなくホストインターフェイスによって性能が妨げられる。これらのシナリオでは、ホストからのデバイスのスループットに影響を与えることなく、スーパーブロックの幅が縮小されて、メンテナンス動作時間の短縮、Ｏｐ損失の削減などが行われる。
【００２２】
これらの性能のトレードオフにより、スーパーブロックの幅は、記憶されるデータの種類に合わせて調整することができる。例えば、ＦＴＬテーブルやその他のシステム情報データ等のメタデータは、ユーザデータよりも帯域幅の問題の影響を受けにくいことが多い。従って、より狭い幅のスーパーブロックを使用してメタデータを記憶することができ、全幅（例えば、集約されたブロック単位サイズの）スーパーブロックがユーザデータを記憶する。追加の詳細と実施例を以下に記載する。
【００２３】
図１は、通信インタフェースを介して通信するように構成されたホストデバイス１０５およびメモリデバイス１１０を含む環境１００の例を示す。ホストデバイス１０５またはメモリデバイス１１０は、モノのインターネット（ＩｏＴ）デバイス（例えば、冷蔵庫もしくは他の電化製品、センサ、モータもしくはアクチュエータ、モバイル通信デバイス、自動車、ドローン等）などの様々な製品１５０に含まれて、製品１５０の処理、通信または制御をサポートすることができる。
【００２４】
メモリデバイス１１０は、メモリコントローラ１１５と、例えば、幾つかの個々のメモリダイ（例えば、３次元（３Ｄ）ＮＡＮＤダイのスタック）を含むメモリアレイ１２０とを含む。３Ｄアーキテクチャの半導体メモリ技術では、垂直構造が積み重ねられ、層の数、物理ページ、従って、メモリデバイス（例えば、ストレージデバイス）の密度が増加する。一例では、メモリデバイス１１０は、ホストデバイス１０５の離散メモリまたはストレージデバイスコンポーネントであってよい。他の例では、メモリデバイス１１０は、集積回路（例えば、システムオンチップ（ＳＯＣ）等）の一部であってよく、ホストデバイス１０５の１つまたは複数の他のコンポーネントと積み重ねられてよく、または、他の方法で含まれてよい。
【００２５】
シリアルアドバンストテクノロジーアタッチメント（ＳＡＴＡ）インタフェース、ペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）インタフェース、ユニバーサルシリアルバス（ＵＳＢ）インタフェース、ユニバーサルフラッシュストレージ（ＵＦＳ）インタフェース、ｅＭＭＣ(商標）インタフェース、または、１つまたは複数の他のコネクタもしくはインタフェース等、１つまたは複数の通信インタフェースを使用して、メモリデバイス１１０と、ホストデバイス１０５の１つまたは複数の他のコンポーネントとの間でデータを転送することができる。ホストデバイス１０５は、ホストシステム、電子デバイス、プロセッサ、メモリカードリーダ、または、メモリデバイス１１０の外部の１つまたは複数の他の電子デバイスを含み得る。ある例では、ホスト１０５は、図６のマシン６００を参照して記載するコンポーネントの一部または全てを有するマシンであってよい。
【００２６】
メモリコントローラ１１５は、ホスト１０５から命令を受信することができ、メモリアレイ１２０と通信して、例えば、メモリアレイ１２０のメモリセル、プレーン、サブブロック、ブロック、または、ページのうちの１つまたは複数にデータを転送する（例えば、書き込む、または、消去する）またはそこからデータを転送する（例えば、読み取る）ことができる。メモリコントローラ１１５は、とりわけ、１つまたは複数のコンポーネントまたは集積回路を含む回路またはファームウェアを含み得る。例えば、メモリコントローラ１１５は、メモリアレイ１２０全体のアクセスを制御し、ホスト１０５とメモリデバイス１１０との間に変換レイヤを提供するように構成された１つまたは複数のメモリ制御ユニット、回路、またはコンポーネントを含み得る。
【００２７】
メモリコントローラ１１５は、スーパーブロックを使用してフラッシュ変換レイヤ（ＦＴＬ）を実装してよい。メモリコントローラ１１５は、スーパーブロック幅を取得するように構成される。メモリコントローラ１１５は、（例えば、ホスト１０５から、ブートプロセスから等）幅を受信してよく、または（例えば、アレイ１２０から、外部記憶装置、リードオンリメモリ等から）幅を読み出してよい。幅は、ダイプレーンの数を指定する。従って、１の幅は１つのダイプレーン、２の幅は２つのダイプレーン等である。
【００２８】
一例では、プレーン数は、パーセンテージとして指定される。ここで、パーセンテージは、ダイのプレーンの総数に対するものである。従って、ダイに４つのプレーンがある場合、２５％の幅はプレーン１つである。一例では、パーセンテージは５０パーセントである。一例では、プレーン数は、メモリデバイス１１０のダイ（例えば、アレイ１２０内）のプレーンよりも少ない。これは、ダイの全てのプレーンに一意のインデックスのブロックを含み、メモリデバイス１１０の全てのダイに及ぶ完全なスーパーブロックとは対照的である。完全なスーパーブロックは、集約ブロック単位のように動作するが、メモリコントローラ１１５によって取得された既定の幅に基づいているので、異なる。一例では、ユーザデータは完全なスーパーブロックに記憶され、ＮＡＮＤデバイスのメタデータはスーパーブロックに記憶される。このスーパーブロック幅の混合使用により、予想される、または動的に（例えば、デバイスの動作中に）測定される使用量に応じて、デバイスの帯域幅の柔軟な管理と、待ち時間またはＯＰの削減とを可能にする。
【００２９】
一例では、スーパーブロックは、スーパーブロックのセットのうちの１つである。ここで、スーパーブロックのセットは、メモリデバイス１１０の全てのダイにわたるダイのあらゆるプレーンに対して一意のインデックスのブロックを含む。従って、４つのプレーンが与えられると、４つのスーパーブロックがある。第１のスーパーブロックは、各ダイのプレーン１にブロックがあり、第２のスーパーブロックは、各ダイのプレーン２にブロックがあり、第３のスーパーブロックは、各ダイのプレーン３にブロックがあり、第４のスーパーブロックは、各ダイのプレーン４にブロックがある。スーパーブロックのブロックは、ダイ全体で同じダイ内インデックスを有する。例えば、スーパーブロックが、ダイゼロにブロックゼロを有する場合、ダイ１、ダイ２、ダイ３にもブロックゼロを有する。一例では、スーパーブロックは、ブロックのセットで表されるプレーンの位置によってスーパーブロックのセットの他のスーパーブロックと区別される。ここで、プレーンの位置は、ダイ内で各プレーンに番号付けされる（例えば、０〜Ｎ）ように、インデックスによって測定される。一例では、スーパーブロックのセットに２つのスーパーブロックがあり、プレーンの位置は上位または下位で、上位は上位インデックスを有するプレーンの半分に対応し、下位はダイ上の残りのプレーンに対応する。上述のように、この配置の時間は、スーパーブロックをブロックインデックス（例えば、ブロック１）と単一ビットでアドレス指定して、スーパーブロックを構成するのは上位プレーンまたは下位プレーンかを示すのを可能にすることによって、効率を良くしてよい。ブロックインデックスは複数のプレーンにわたってよいため、後続のプレーンブロック指定は、セット分布によって単一のブロックインデックス指定から導出できる。例えば、プレーン０の第１のブロックは、インデックス０を有してよく、プレーン１の第１のブロックは、インデックス５０３を有してよい。ここで、スーパーブロックは、低ビット（例えば、ゼロに設定）およびブロックインデックス０で参照することができ、これは、分布によって、例えば、ブロック０および５０３に変換される。
【００３０】
メモリコントローラ１１５は、メモリデバイス１１０の変換テーブル（例えば、テーブル１３）にスーパーブロックエントリを作成するように構成される。ここで、スーパーブロックエントリは、アレイ１２０からのブロックのセットを含む。ブロックのセットは、アレイ１２０の複数のダイにわたって同じであるブロックインデックスを有する。一意のブロックインデックスの数は、プレーン数に等しく、異なるプレーンにある。従って、所与のスーパーブロックは、ダイの異なるプレーンにあるブロックで構成され、各ブロックはダイに固有のインデックスを有する。同じスーパーブロックは、アレイ１２０の他の全てのダイに同じインデックスのブロックを有する。上記のように、ブロックのセットのうちの一部のブロックのセットは、１つのブロックインデックスに基づいて、分布または他の関数によって規定できる。従って、エントリは単一のブロックインデックスと幅であってよく、分布は１つのダイ内のブロックのセットを含む残りのブロックインデックスを規定し、ブロックインデックスは残りのダイにも当てはまる。
【００３１】
メモリコントローラ１１５は、ホスト１０５等の要求エンティティから要求を受信するように構成される。一例では、要求は書き込みである。一例では、要求は読み出しである。一例では、要求はリフレッシュである。一例では、要求はガベージコレクションである。リフレッシュ要求またはガベージコレクション要求に関して、メモリコントローラ１１５は、例えば、（例えば、メモリマネージャ１２５によって行われるような）トリガ、自己診断などを介してメモリコントローラ自体から要求を受信してよい。メモリコントローラ１１５は、スーパーブロックエントリを使用して実行するように構成される。これを達成するために、メモリコントローラ１１５は、複数のデータセグメントと共にアレイ１２０の複数のダイに１つの命令を提供するように構成される。ここで、複数のデータセグメントのうちのあるデータセグメントは、ブロックのセットの、ブロックインデックスとダイのタプルによって指定されたブロックに対応する。この並列性により、アレイ１２０のスループットが増加し、よって、メモリデバイス１１０の性能が向上する。次に、メモリコントローラ１１５は、要求を実行した結果を要求エンティティに返すように構成される。
【００３２】
メモリマネージャ１２５は、とりわけ、様々なメモリ管理機能に関連する幾つかのコンポーネントまたは集積回路等の回路またはファームウェアを含み得る。本説明の目的のために、例示的なメモリ動作および管理機能をＮＡＮＤメモリの文脈で記載する。他の形態の不揮発性メモリが類似のメモリ動作または管理機能を有してよいことを当業者は認識されよう。このようなＮＡＮＤ管理機能には、ウェアレベリング（例えば、ガベージコレクションまたはリクラメーション）、エラー検出もしくは訂正、ブロック使用停止、または、１つまたは複数の他のメモリ管理機能が含まれる。メモリマネージャ１２５は、ホストコマンド（例えば、ホストから受信されたコマンド）をデバイスコマンド（例えば、メモリアレイの動作に関連するコマンド等）に解析またはフォーマットできる、または、アレイコントローラ１３５またはメモリデバイス１１０の１つまたは複数の他のコンポーネントに対する（例えば、様々なメモリ管理機能を達成する）デバイスコマンドを生成できる。
【００３３】
メモリマネージャ１２５は、メモリデバイス１１０の１つまたは複数のコンポーネントに関連する様々な情報（例えば、メモリアレイまたはメモリコントローラ１１５に結合された１つまたは複数のメモリセルに関連する様々な情報）を維持するように構成される管理テーブル１３０のセットを含み得る。例えば、管理テーブル１３０は、メモリコントローラ１１５に結合されたメモリセルの１つまたは複数のブロックについて、ブロック経過時間、ブロック消去カウント、エラー履歴、または、１つまたは複数のエラーカウント（例えば、書き込み動作エラーカウント、読み出しビットエラーカウント、読み出し動作エラーカウント、消去エラーカウント等）に関する情報を含み得る。特定の例では、エラーカウントの１つまたは複数で検出されたエラーの数が閾値を超える場合、ビットエラーは訂正不能ビットエラーと呼ぶことができる。管理テーブル１３０は、とりわけ、訂正可能または訂正不能なビットエラーのカウントを維持することができ、一例では、管理テーブル１０３は、変換テーブルまたはＬ２Ｐマッピングを含んでよい。
【００３４】
アレイコントローラ１３５は、とりわけ、メモリコントローラ１１５に結合されたメモリデバイス１１０の１つまたは複数のメモリセルへのデータの書き込み、メモリセルからのデータの読み出し、またはメモリセルの消去に関連するメモリ動作を制御するように構成された回路またはコンポーネントを含み得る。メモリ動作は、例えば、ホスト１０５から受信されたホストコマンドに基づいてよく、または、（例えば、ウェアレベリング、エラー検出または訂正などに関連して）メモリマネージャ１２５によって内部的に生成されてよい。
【００３５】
アレイコントローラ１３５は、エラー訂正コード（ＥＣＣ）コンポーネント１４０を含んでよく、ＥＣＣコンポーネント１４０は、とりわけ、メモリコントローラ１１５に結合されたメモリデバイス１１０の１つまたは複数のメモリセルへのデータの書き込み、メモリセルからのデータの読み出しに関連するエラーを検出または訂正するように構成されたＥＣＣエンジンまたは他の回路を含み得る。メモリコントローラ１１５は、ホスト１０５とメモリデバイス１１０との間で転送されるデータの整合性を維持しながら、または、（例えば、冗長ＲＡＩＤストレージ等を使用して）記憶されたデータの整合性を維持しながら、データの様々な操作または記憶に関連するエラー発生（例えば、ビットエラー、動作エラーなど）を能動的に検出および回復するように構成することができ、且つ、障害のあるメモリリソース（例えば、メモリセル、メモリアレイ、ページ、ブロック等）を除去（例えば、使用停止）して、将来のエラーを防ぐことができる。
【００３６】
メモリアレイ１２０は、例えば、幾つかのデバイス、プレーン、サブブロック、ブロック、またはページに配置された幾つかのメモリセルを含むことができる。一例として、４８ＧＢ  ＴＬＣ  ＮＡＮＤメモリデバイスには、ページあたり１８，５９２バイト（Ｂ）のデータ（１６，３８４＋２２０８バイト）、ブロックあたり１５３６ページ、プレーンあたり５４８ブロック、デバイスあたり４つ以上のプレーンを含み得る。別の例として、３２ＧＢのＭＬＣメモリデバイス（セルあたり２ビットのデータ（すなわち、４つのプログラム可能な状態）を記憶する）には、ページあたり１８，５９２バイト（Ｂ）のデータ（１６，３８４＋２２０８バイト）、ブロックあたり１０２４ページ、プレーンあたり５４８ブロック、デバイスあたり４プレーンを含むことができるが、必要な書き込み時間は対応するＴＬＣメモリデバイスの半分で、プログラム／消去（Ｐ／Ｅ）サイクルは２倍である。他の例は、他の数または配置を含み得る。ある例では、メモリデバイスまたはその一部は、ＳＬＣモードまたは所望のＭＬＣモード（ＴＬＣ、ＱＬＣなど）で選択的に動作させることができる。
【００３７】
動作時、データは通常、ページ単位でＮＡＮＤメモリデバイス１１０に書き込まれ、またはそこから読み出され、ブロック単位で消去される。しかしながら、１つまたは複数のメモリ動作（例えば、読み出し、書き込み、消去など）は、必要に応じて、より大きいまたはより小さいメモリセルグループで行うことができる。ＮＡＮＤメモリデバイス１１０のデータ転送サイズは通常、ページと呼ばれ、ホストのデータ転送サイズは通常、セクタと呼ばれる。
【００３８】
データのページは、ユーザデータのバイト数（例えば、データのセクタ数を含むデータペイロード）とそれに対応するメタデータを含み得るが、ページのサイズは、ユーザデータの記憶に使用されるバイト数のみを指すことが多い。例として、４ＫＢのページサイズを持つデータのページは、４ＫＢのユーザデータ（例えば、５１２Ｂのセクタサイズを想定した８セクタ）と、整合性データ（例えば、エラー検出または訂正コードデータ）、アドレスデータ（例えば、論理アドレスデータ等）、またはユーザデータに関連する他のメタデータなど、ユーザデータに対応するメタデータのバイト数（例えば、３２Ｂ、５４Ｂ、２２４Ｂなど）を含み得る。
【００３９】
異なる種類のメモリセルまたはメモリアレイ１２０は、異なるページサイズを提供することができる、または、それに関連する異なる量のメタデータを必要とすることがある。例えば、メモリデバイスの種類によってビットエラーレートが異なる可能性があり、これは、データのページの整合性を保証するために必要なメタデータの量が異なることにつながり得る（例えば、ビットエラーレートが高いメモリデバイスでは、ビットエラーレートが低いメモリデバイスよりも多くのバイトのエラー訂正コードデータが必要になる場合がある）。例として、マルチレベルセル（ＭＬＣ）ＮＡＮＤフラッシュデバイスは、対応するシングルレベルセル（ＳＬＣ）ＮＡＮＤフラッシュデバイスよりも高いビットエラーレートを持つ可能性がある。そのため、ＭＬＣデバイスは、対応するＳＬＣデバイスよりも多くのメタデータバイトをエラーデータに必要とする場合がある。
【００４０】
図２は、スーパーブロックの例を示す。スーパーブロック２４５とスーパーブロック２５０は両方とも、４つのダイの全ての４つプレーン全てに及ぶ完全なまたは全幅のスーパーブロックである。プレーンとダイの間のブロックインデックス関係を示すために、各スーパーブロック内の一部のブロックが図２に示されている。例えば、スーパーブロック２４５は、プレーン２２５にブロック２０５、プレーン２３０にブロック２１５を含む。上記のように、ブロックインデックスはプレーン間で最初から始めなくてよい。従って、２０５と２１５のブロックインデックスは、２０５と２１５が両方とも各プレーンの第１のブロックであっても異なる。しかしながら、ブロック２０５および２１５は、ダイ２３５において、ダイ２４０のブロック２１０および２２０と同じインデックスを有する。従って、ブロックのセットは１つのダイ内のインデックスを指定するだけでよく、これらのインデックスはスーパーブロックを作成する全てのダイに適用される。ブロックのインデックス付けをプレーン内で再開する例では、スーパーブロックは単一のインデックスとプレーンのセットで指定されてよい。また、図示されるように、各スーパーブロック２４５および２５０は、ダイおよびプレーンの一意の組み合わせが与えられると最大で１つのブロックを有するが、他の例はプレーン毎に複数のブロックを含み得る。
【００４１】
図３は、可変幅スーパーブロックの例であるスーパーブロックＡ３０５およびスーパーブロックＢ３１０を示す。ここで、各スーパーブロックＡ３０５およびスーパーブロックＢ３１０は、幅２を有する。スーパーブロックＡ３０５は、ダイ０  ３２５およびダイ１  ３３０の下位プレーン３１５（網掛部分）からのブロックを含む。スーパーブロックＢ３１０は、ダイ０  ３２５およびダイ１  ３３０の上位プレーン３２０からのブロックを含む。図示の例は、半幅（例えば、５０％）のスーパーブロックである。
【００４２】
図４は、可変幅スーパーブロックへの書き込みの例を示す。スーパーブロック４１５（破線内のブロックを含む）は、ブロック固有のデータセグメント４２５を提供しながら、ダイ０  ４０５およびダイ１  ４１０に単一の（例えば、同じ）書き込みコマンド４２０を提供することによって書き込まれる。ダイは、書き込み４２０をパラレルで行う（が、例えば、ダイ０  ４０５内の各ブロックに対する書き込みは、シリアルであってよい）。
【００４３】
図５は、可変幅スーパーブロックアドレス指定の方法５００のフローチャートを示す。方法５００の動作は、本明細書に記載されているような電子ハードウェア（例えば、回路）上で行われる。
【００４４】
動作５０５において、スーパーブロック幅が取得される（例えば、検索または受信される）。一例では、幅はプレーン数で指定される。一例では、プレーン数は、パーセンテージとして指定される。一例では、パーセンテージは、５０パーセントである。
【００４５】
一例では、プレーン数は、ダイのプレーンより少ない。一例では、完全なスーパーブロックは、ダイの全てのプレーンに一意のインデックスのブロックを含み、デバイスの全てのダイに及ぶ。一例では、ユーザデータは、完全なスーパーブロックに記憶され、デバイスメタデータは、スーパーブロックに記憶される。
【００４６】
一例では、スーパーブロックは、スーパーブロックのセットのうちの１つである。一例では、スーパーブロックのセットは、デバイスの全てのダイにわたってダイのあらゆるプレーンに一意のインデックスのブロックを含む。一例では、スーパーブロックは、ブロックのセットに表されたプレーンの位置によってスーパーブロックのセットの他のスーパーブロックと区別される。一例では、スーパーブロックのセットは、２つのスーパーブロックを有し、プレーンの位置は上位と下位である。ここで、上位は、上位インデックスを有するプレーンの半分に対応し、下位は、ダイ上の残りのプレーンに対応する。
【００４７】
動作５１０において、スーパーブロックエントリが、変換テーブルに作成される。一例では、スーパーブロックエントリは、デバイスからのブロックのセットを含む。ここで、ブロックのセットは、デバイスの複数のダイにわたって同じであるブロックインデックスを有し、一意のブロックインデックスの数は、プレーン数に等しく、異なるプレーンにある。
【００４８】
動作５１５において、要求を要求エンティティから受信する。一例では、要求は書き込みである。一例では、要求は読み出しである。一例では、要求はリフレッシュである。一例では、要求はガベージコレクションである。
【００４９】
動作５２０において、要求は、スーパーブロックエントリを用いて実行されて、結果を生成する。要求を実行するために、デバイスの複数のダイと複数のデータセグメントに対して１つの命令が提供される。ここで、複数のデータセグメントのうちのあるデータセグメントが、ブロックのセットの、ブロックインデックスとダイのタプルによって指定されたブロックに対応する。
【００５０】
動作５２５において、結果が、要求エンティティに返される。
【００５１】
図６は、本明細書で論じている技術（例えば、方法）の任意の１つまたは複数を行うことができるマシン６００の例のブロック図を示す。代替実施形態においては、マシン６００は、スタンドアロンデバイスとして動作することができる、または、他のマシンに接続されて（例えば、ネットワークで結ばれて）よい。ネットワーク化された配置では、マシン６００は、サーバ−クライアントネットワーク環境で、サーバマシン、クライアントマシン、または、その両方として動作することができる。一例では、マシン６００は、ピアツーピア（Ｐ２Ｐ）（または、他の分散）ネットワーク環境でピアマシンとして働くことができる。マシン６００は、パーソナルコンピュータ（ＰＣ）、タブレットＰＣ、セットトップボックス（ＳＴＢ）、パーソナルデジタルアシスタント（ＰＤＡ）、携帯電話、ｗｅｂ機器、ＩｏＴデバイス、自動車システム、または、そのマシンが行うアクションを指定する命令を（順次、または、他の方法で）実行できる任意のマシンであってよい。さらに、単一のマシンを示したが、「マシン」という語は、クラウドコンピューティング、サービス型ソフトウェア（ＳａａＳ）、他のコンピュータクラスタ構成等、個別にまたはまとめて命令のセット（または、複数のセット）を実行して、本明細書に記載の方法の任意の１つまたは複数を行うマシンの任意の集まりを含むとみなされる。
【００５２】
本明細書に記載のように、例は、論理、コンポーネント、デバイス、パッケージ、または、機構を含み得る、または、これらによって動作することができる。回路群は、ハードウェア（例えば、単純な回路、ゲート、論理等）を含む有形のエンティティで実装される回路の集まり（例えば、セット）である。回路群の回路は、経時的に、及び、基礎となるハードウェアの変動によって柔軟であってよい。回路群は、動作時に特定のタスクを単独でまたは協働して行うことができる回路を含む。一例では、回路群のハードウェアは、特定の動作を行うように（例えば、ハードワイヤードで）不変的に設計できる。一例では、回路群のハードウェアは、特定の動作の命令を符号化するために（例えば、不変質量の粒子の磁気的、電気的に移動可能な配置等）物理的に修正されたコンピュータ可読媒体を含む可変に接続された物理的コンポーネント（例えば、実行ユニット、トランジスタ、単純回路等）を含み得る。物理的コンポーネントを接続する時、ハードウェア構成の基礎となる電気的特性は、例えば、絶縁体から導体に、または、その逆に変更される。命令は、参加しているハードウェア（例えば、実行ユニットまたはローディング機構）が、動作時に特定のタスクの一部を行うために可変の接続を介してハードウェアの回路群の回路を作成できるようにする。従って、コンピュータ可読媒体は、デバイスが動作している時、回路群の他のコンポーネントに通信可能に結合される。一例では、複数のコンポーネントのいずれかが、複数の回路群の複数の回路で使用されてよい。例えば、動作時、実行ユニットは、ある時点で第１の回路群の第１の回路で使用でき、別の時点で、第１の回路群の第２の回路によって、または、第２の回路群の第３の回路によって再度、使用できる。
【００５３】
マシン（例えば、コンピュータシステム）６００（例えば、ホストデバイス１０５、メモリデバイス１１０等）は、ハードウェアプロセッサ６０２（例えば、中央処理装置（ＣＰＵ）、グラフィック処理ユニット（ＧＰＵ）、ハードウェアプロセッサコア、または、メモリコントローラ１１５等、これらの任意の組み合わせ）、メインメモリ６０４、および、スタティックメモリ６０６を含むことができ、これらの一部または全ては、インターリンク（例えば、バス）６０８を介して互いに通信することができる。マシン６００は、さらに、表示ユニット６１０、英数字入力デバイス６１２（例えば、キーボード）、および、ユーザインタフェース（ＵＩ）ナビゲーションデバイス６１４（例えば、マウス）を含み得る。一例では、表示ユニット６１０、入力デバイス６１２、および、ＵＩナビゲーションデバイス６１４は、タッチスクリーンディスプレイであってよい。マシン６００は、ストレージデバイス（例えば、駆動ユニット）６１６、信号生成装置６１８（例えば、スピーカ）、ネットワークインタフェースデバイス６２０、および、全地球測位システム（ＧＰＳ）センサ、コンパス、加速度計、もしくは、他のセンサ等、１つまたは複数のセンサ６１６を追加で含んでよい。マシン６００は、１つまたは複数の周辺装置（例えば、プリンタ、カードリーダ等）と通信、または、これらを制御するためのシリアル（例えば、ユニバーサルシリアルバス（ＵＳＢ）、パラレル、または、他の有線もしくは無線（例えば、赤外線（ＩＲ）、近距離無線通信（ＮＦＣ）等）接続等、出力コントローラ６２８を含み得る。
【００５４】
ストレージデバイス６１６は、本明細書に記載の技術または機能の任意の１つまたは複数を実現する、または、それらによって利用されるデータ構造または命令６２４の１つまたは複数のセット（例えば、ソフトウェア）を記憶した機械可読媒体６２２を含み得る。命令６２４は、マシン６００による命令の実行中、メインメモリ６０４内、スタティックメモリ６０６内、または、ハードウェアプロセッサ６０２内に完全に、または、少なくとも部分的に存在することもできる。一例では、ハードウェアプロセッサ６０２、メインメモリ６０４、スタティックメモリ６０６、または、ストレージデバイス６１６のうちの１つまたはいずれかの組み合わせによって、機械可読媒体６２２を構成することができる。
【００５５】
機械可読媒体６２２は単一の媒体として示されるが、「機械可読媒体」という語は、１つまたは複数の命令６２４を記憶するように構成された単一の媒体または複数の媒体（例えば、集中もしくは分散データベース、または、関連するキャッシュおよびサーバ）を含み得る。
【００５６】
「機械可読媒体」という語は、マシン６００によって実行される命令を記憶、符号化、または、運ぶことができ、マシン６００に本開示の技術の任意の１つまたは複数を行わせる、または、このような命令によって使用される、もしくは、このような命令に関連付けられたデータ構造を記憶、符号化、または、運ぶことができる任意の媒体を含み得る。制限ではない機械可読媒体の例は、ソリッドステートメモリ、光媒体、および、磁気媒体を含み得る。一例では、大容量の（massed）機械可読媒体は、不変（例えば、静止）質量を持つ複数の粒子を有する機械可読媒体を含む。従って、大容量の（massed）機械可読媒体は、一時的な伝搬信号ではない。大容量の（massed）機械可読媒体の具体的な例は、半導体メモリデバイス（例えば、電気的プログラム可能リードオンリメモリ（ＥＰＲＯＭ）、電気的消去可能プログラム可能リードオンリメモリ（ＥＥＰＲＯＭ））およびフラッシュメモリデバイス等の不揮発性メモリ、内部ハードディスクおよびリムーバブルディスク等の磁気ディスク、光磁気ディスク、並びに、ＣＤ−ＲＯＭディスクおよびＤＶＤ−ＲＯＭディスクを含み得る。
【００５７】
命令６２４（例えば、ソフトウェア、プログラム、オペレーティングシステム（ＯＳ）等）または他のデータは、ストレージデバイス６２１に記憶され、プロセッサ６０２が使用するためにメモリ６０４によってアクセスすることができる。メモリ６０４（例えば、ＤＲＡＭ）は通常、高速であるが、揮発性であり、従って、「オフ」状態中を含む長期記憶に適したストレージデバイス６２１（例えば、ＳＳＤ）とは異なる種類のストレージである。ユーザまたはマシン６００によって使用される命令６２４またはデータは通常、プロセッサ６０２が使用するためにメモリ６０４にロードされる。メモリ６０４がいっぱいになると、ストレージデバイス６２１から仮想空間を、メモリ６０４を補うために割り当てることができる。しかしながら、ストレージデバイス６２１は通常、メモリ６０４より遅く、書き込み速度は通常、読み出し速度の少なくとも半分より遅いので、仮想メモリの使用は、（メモリ６０４、例えば、ＤＲＡＭと比較して）ストレージデバイスの待ち時間が原因で、ユーザ体験を大きく低下させる場合がある。さらに、仮想メモリにストレージデバイス６２１を使用することにより、ストレージデバイス６２１の使用寿命が大幅に短くなる場合がある。
【００５８】
仮想メモリと比較すると、仮想メモリの圧縮（例えば、Ｌｉｎｕｘ（登録商標）カーネル機能「ＺＲＡＭ」）は、圧縮されたブロックストレージとしてメモリの一部を使用して、ストレージデバイス６２１へのページングを回避する。ページングは、このようなデータをストレージデバイス６２１に書き込むことが必要になるまで、圧縮されたブロックで生じる。仮想メモリの圧縮は、ストレージデバイス６２１の摩耗を低減しながら、メモリ６０４の使用可能な大きさを増加させる。
【００５９】
モバイル電子デバイスまたはモバイルストレージに合わせて最適化されたストレージデバイスは従来、ＭＭＣソリッドステートストレージデバイス（例えば、マイクロセキュアデジタル（ｍｉｃｒｏＳＤ（商標））カード等）を含む。ＭＭＣデバイスは、ホストデバイスとの幾つかのパラレルインタフェース（例えば、８ビットのパラレルインタフェース）を含み、ホストデバイスとは別個のリムーバブルなコンポーネントであることが多い。対照的に、ｅＭＭＣ（商標）デバイスは、回路基板に取り付けられ、ホストデバイスのコンポーネントとみなされ、シリアルＡＴＡ（商標）（シリアルＡＴ（アドバンストテクノロジー）アタッチメントもしくはＳＡＴＡ）ベースのＳＳＤデバイスに匹敵する読みとり速度を有する。しかしながら、仮想デバイスまたは拡張現実デバイスを完全に有効にする、向上しているネットワークスピードを完全に利用できるようにする等、モバイルデバイスの性能に対する需要は伸び続け、この需要に応えて、ストレージデバイスは、パラレルからシリアル通信インタフェースにシフトしてきた。コントローラおよびファームウェアを含むユニバーサルフラッシュストレージ（ＵＦＳ）デバイスは、専用読み出し／書き込みパスを備えた低電圧差動シグナリング（ＬＶＤＳ）シリアルインタフェースを用いてホストデバイスと通信し、読み出し／書き込み速度をさらに速くする。
【００６０】
命令６２４は、幾つかの転送プロトコル（例えば、フレームリレイ、インターネットプロトコル（ＩＰ）、伝送制御プロトコル（ＴＣＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）等）のうちの任意のプロトコルを利用して、ネットワークインタフェースデバイス６２０を介して伝送媒体を用いて通信ネットワーク６２６経由で送信または受信することができる。通信ネットワークの例は、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、パケットデータネットワーク（例えば、インターネット）、携帯電話ネットワーク（例えば、セルラーネットワーク）、従来の電話（ＰＯＴＳ：Ｐｌａｉｎ  Ｏｌｄ  Ｔｅｌｅｐｈｏｎｅ）ネットワーク、及び、ワイヤレスデータネットワーク（例えば、ｗｉ−ｆｉ(登録商標)として知られる電気電子技術者協会（ＩＥＥＥ）８０２．１１系規格、ＷｉＭａｘ（登録商標）として知られるＩＥＥＥ８０２．１６系規格）、ＩＥＥＥ８０２．１５．４系規格、ピアツーピア（Ｐ２Ｐ）ネットワーク等を含み得る。一例では、ネットワークインタフェースデバイス６２０は、通信ネットワーク６２６に接続するために１つまたは複数の物理的ジャック（例えば、イーサネットジャック、同軸ジャック、または、電話用ジャック）、または、１つまたは複数のアンテナを含み得る。一例では、ネットワークインタフェースデバイス６２０は、単一入力複数出力（ＳＩＭＯ）、複数入力複数出力（ＭＩＭＯ）、または、複数入力単一出力（ＭＩＳＯ）技術の少なくとも１つを用いて無線で通信する複数のアンテナを含み得る。「伝送媒体」という語はマシン６００が実行する命令を記憶、符号化、または、運ぶ任意の無形媒体を含むとみなされ、このようなソフトウェアの通信を促進するデジタルもしくはアナログの通信信号、または、他の無形媒体を含む。
【００６１】
追加の実施例
【００６２】
実施例１は、ＮＡＮＤの可変幅スーパーブロックのアドレス指定のためのＮＡＮＤデバイスである。このＮＡＮＤデバイスは、ＮＡＮＤアレイとコントローラとを含み、コントローラは、プレーン数で指定されるスーパーブロック幅を取得し、ＮＡＮＤデバイスの変換テーブルにスーパーブロックエントリを作成することであって、スーパーブロックエントリは、ＮＡＮＤアレイからのブロックのセットを含み、ブロックのセットは、ＮＡＮＤアレイの複数のダイにわたって同じであるブロックインデックスを有し、一意のブロックインデックスの数は、プレーン数に等しく、異なるプレーンにある、スーパーブロックエントリを作成し、要求エンティティから要求を受信し、ＮＡＮＤデバイスの複数のダイと複数のデータセグメントとに対して１つの命令を通して、スーパーブロックエントリを用いて、要求を実行して結果を生成することであって、複数のデータセグメントのあるデータセグメントは、ブロックのセットの、ブロックインデックスとダイのタプルによって設定されたブロックに対応する、要求を実行して結果を生成し、且つ、結果を要求エンティティに返す。
【００６３】
実施例２において、実施例１の主題は、プレーン数がパーセンテージとして指定されることを含む。
【００６４】
実施例３において、実施例２の主題は、パーセンテージが５０パーセントであることを含む。
【００６５】
実施例４において、実施例１〜３の主題は、プレーン数がＮＡＮＤアレイのダイのプレーンより少ないことを含む。
【００６６】
実施例５において、実施例４の主題は、完全なスーパーブロックが、ダイのあらゆるプレーンに対して一意のインデックスのブロックを含み、ＮＡＮＤアレイの全てのダイに及ぶことを含む。
【００６７】
実施例６において、実施例５の主題は、ユーザデータは、完全なスーパーブロックに記憶され、ＮＡＮＤデバイスメタデータは、スーパーブロックに記憶されることを含む。
【００６８】
実施例７において、実施例４〜６の主題は、スーパーブロックは、スーパーブロックのセットのうちの１つであり、スーパーブロックのセットは、ＮＡＮＤアレイの全てのダイにわたるダイのあらゆるプレーンに対して一意のインデックスのブロックを含むことを含む。
【００６９】
実施例８において、実施例７の主題は、スーパーブロックは、ブロックのセットによって表されるプレーンの位置によって、スーパーブロックのセットの他のスーパーブロックと区別されることを含む。
【００７０】
実施例９において、実施例８の主題は、スーパーブロックのセットは、２つのスーパーブロックを有し、プレーンの位置は上位と下位であり、上位は、上位インデックスを有するプレーンの半分に対応し、下位は、ダイの残りのプレーンに対応することを含む。
【００７１】
実施例１０において、実施例１〜９の主題は、要求が書き込みであることを含む。
【００７２】
実施例１１において、実施例１〜１０の主題は、要求が読み出しであることを含む。
【００７３】
実施例１２において、実施例１〜１１の主題は、要求がリフレッシュであることを含む。
【００７４】
実施例１３において、実施例１〜１２の主題は、要求がガベージコレクションであることを含む。
【００７５】
実施例１４は、ＮＡＮＤの可変幅スーパーブロックのアドレス指定の方法である。方法は、プレーン数で指定されたスーパーブロック幅を取得することと、ＮＡＮＤデバイスの変換テーブルにスーパーブロックエントリを作成することであって、スーパーブロックエントリは、ＮＡＮＤデバイスからのブロックのセットを含み、ブロックのセットは、ＮＡＮＤデバイスの複数のダイにわたって同じであるブロックインデックスを有し、一意のブロックインデックスの数は、プレーン数に等しく、異なるプレーンにある、スーパーブロックエントリを作成することと、要求エンティティから要求を受信することと、ＮＡＮＤデバイスの複数のダイと複数のデータセグメントとに１つの命令を提供することによって、スーパーブロックエントリを用いて、要求を実行して結果を生成することであって、複数のデータセグメントのうちのあるデータセグメントは、ブロックのセットの、ブロックインデックスとダイのタプルによって指定されたブロックに対応する、要求を実行して結果を生成することと、結果を要求エンティティに返すこととを含む。
【００７６】
実施例１５において、実施例１４の主題は、プレーン数がパーセンテージとして指定されることを含む。
【００７７】
実施例１６において、実施例１５の主題は、パーセンテージが５０パーセントであることを含む。
【００７８】
実施例１７において、実施例１４〜１６の主題は、プレーン数がＮＡＮＤデバイスのダイのプレーンより少ないことを含む。
【００７９】
実施例１８において、実施例１７の主題は、完全なスーパーブロックは、ダイのあらゆるプレーンの一意のインデックスのブロックを含み、ＮＡＮＤデバイスの全てのダイに及ぶことを含む。
【００８０】
実施例１９においては、実施例１８の主題は、ユーザデータは完全なスーパーブロックに記憶され、ＮＡＮＤデバイスメタデータは、スーパーブロックに記憶されることを含む。
【００８１】
実施例２０において、実施例１７〜１９の主題は、スーパーブロックは、スーパーブロックのセットのうちの１つであり、スーパーブロックのセットは、ＮＡＮＤアレイの全てのダイにわたるダイのあらゆるプレーンに対して一意のインデックスのブロックを含むことを含む。
【００８２】
実施例２１において、実施例２０の主題は、スーパーブロックは、ブロックのセットによって表されるプレーンの位置によって、スーパーブロックのセットの他のスーパーブロックと区別されることを含む。
【００８３】
実施例２２において、実施例２１の主題は、スーパーブロックのセットは、２つのスーパーブロックを有し、プレーンの位置は上位と下位であり、上位は、上位インデックスを有するプレーンの半分に対応し、下位は、ダイの残りのプレーンに対応することを含む。
【００８４】
実施例２３において、実施例１４〜２２の主題は、要求が書き込みであることを含む。
【００８５】
実施例２４において、実施例１４〜２３の主題は、要求が読み出しであることを含む。
【００８６】
実施例２５において、実施例１４〜２４の主題は、要求がリフレッシュであることを含む。
【００８７】
実施例２６において、実施例１４〜２５の主題は、要求がガベージコレクションであることを含む。
【００８８】
実施例２７は、マシンによって実行されると、マシンに実施例１４〜２６の任意の方法を行わせる命令を含む少なくとも１つの機械可読媒体である。
【００８９】
実施例２８は、実施例１４〜２６の任意の方法を行う手段を含むシステムである。
【００９０】
実施例２９は、ＮＡＮＤの可変幅スーパーブロックのアドレス指定のための命令を含む機械可読媒体である。命令は、マシンによって実行されると、プレーン数で指定されたスーパーブロック幅を取得することと、ＮＡＮＤデバイスの変換テーブルにスーパーブロックエントリを作成することであって、スーパーブロックエントリは、ＮＡＮＤデバイスからのブロックのセットを含み、ブロックのセットは、ＮＡＮＤデバイスの複数のダイにわたって同じであるブロックインデックスを有し、一意のブロックインデックスの数は、プレーン数に等しく、異なるプレーンにある、スーパーブロックエントリを作成することと、要求エンティティから要求を受信することと、ＮＡＮＤデバイスの複数のダイと複数のデータセグメントとに１つの命令を提供することによって、スーパーブロックエントリを用いて、要求を実行して結果を生成することであって、複数のデータセグメントのあるデータセグメントは、ブロックのセットの、ブロックインデックスとダイのタプルによって指定されるブロックに対応する、要求を実行して結果を生成することと、結果を要求エンティティに返すこととを含む動作をマシンに行わせる。
【００９１】
実施例３０において、実施例２９の主題は、プレーン数がパーセンテージとして指定されることを含む。
【００９２】
実施例３１において、実施例３０の主題は、パーセンテージが５０パーセントであることを含む。
【００９３】
実施例３２において、実施例２９〜３１の主題は、プレーン数がＮＡＮＤデバイスのダイのプレーンより少ないことを含む。
【００９４】
実施例３３において、実施例３２の主題は、完全なスーパーブロックは、ダイのあらゆるプレーンの一意のインデックスのブロックを含み、ＮＡＮＤデバイスの全てのダイに及ぶことを含む。
【００９５】
実施例３４において、実施例３３の主題は、ユーザデータは、完全なスーパーブロックに記憶され、ＮＡＮＤデバイスメタデータは、スーパーブロックに記憶されることを含む。
【００９６】
実施例３５において、実施例３２〜３４の主題は、スーパーブロックは、スーパーブロックのセットのうちの１つであり、スーパーブロックのセットは、ＮＡＮＤデバイスの全てのダイにわたってダイのあらゆるプレーンの一意のインデックスのブロックを含むことを含む。
【００９７】
実施例３６において、実施例３５の主題は、スーパーブロックは、ブロックのセットによって表されるプレーンの位置によって、スーパーブロックのセットの他のスーパーブロックと区別されることを含む。
【００９８】
実施例３７において、実施例３６の主題は、スーパーブロックのセットは、２つのスーパーブロックを有し、プレーンの位置は上位と下位であり、上位は、上位インデックスを有するプレーンの半分に対応し、下位は、ダイの残りのプレーンに対応することを含む。
【００９９】
実施例３８において、実施例２９〜３７の主題は、要求が書き込みであることを含む。
【０１００】
実施例３９において、実施例２９〜３８の主題は、要求が読み出しであることを含む。
【０１０１】
実施例４０において、実施例２９〜３９の主題は、要求がリフレッシュであることを含む。
【０１０２】
実施例４１において、実施例２９〜４０の主題は、要求がガベージコレクションであるであることを含む。
【０１０３】
実施例４２は、ＮＡＮＤの可変幅スーパーブロックのアドレス指定のためのシステムである。システムは、プレーン数で指定されたスーパーブロックの幅を取得する手段と、ＮＡＮＤデバイスの変換テーブルにスーパーブロックエントリを作成する手段であって、スーパーブロックエントリは、ＮＡＮＤデバイスからのブロックのセットを含み、ブロックのセットは、ＮＡＮＤデバイスの複数のダイにわたって同じであるブロックインデックスを有し、一意のブロックインデックスの数は、プレーン数に等しく、異なるプレーンにある、スーパーブロックエントリを作成する手段と、要求エンティティから要求を受信する手段と、ＮＡＮＤデバイスの複数のダイと複数のデータセグメントとに１つの命令を提供することによって、スーパーブロックエントリを用いて要求を実行して結果を生成する手段であって、複数のデータセグメントのあるデータセグメントは、ブロックのセットの、ブロックインデックスとダイのタプルによって指定されるブロックに対応する、要求を実行して結果を生成する手段と、結果を要求エンティティに返す手段とを含む。
【０１０４】
実施例４３において、実施例４２の主題は、プレーン数がパーセンテージとして指定されることを含む。
【０１０５】
実施例４４において、実施例４３の主題は、パーセンテージが５０パーセントであることを含む。
【０１０６】
実施例４５において、実施例４２〜４４の主題は、プレーン数がＮＡＮＤデバイスのダイのプレーンより少ないことを含む。
【０１０７】
実施例４６において、実施例４５の主題は、完全なスーパーブロックが、ダイのあらゆるプレーンに対して一意のインデックスのブロックを含み、ＮＡＮＤデバイスの全てのダイに及ぶことを含む。
【０１０８】
実施例４７において、実施例４６の主題は、ユーザデータは、完全なスーパーブロックに記憶され、ＮＡＮＤデバイスメタデータは、スーパーブロックに記憶されることを含む。
【０１０９】
実施例４８において、実施例４５〜４７の主題は、スーパーブロックは、スーパーブロックのセットのうちの１つであり、スーパーブロックのセットは、ＮＡＮＤデバイスの全てのダイにわたってダイのあらゆるプレーンに対して一意のインデックスのブロックを含むことを含む。
【０１１０】
実施例４９において、実施例４８の主題は、スーパーブロックは、ブロックのセットによって表されるプレーンの位置によって、スーパーブロックのセットの他のスーパーブロックと区別されることを含む。
【０１１１】
実施例５０において、実施例４９の主題は、スーパーブロックのセットは、２つのスーパーブロックを有し、プレーンの位置は上位と下位であり、上位は、上位インデックスを有するプレーンの半分に対応し、下位は、ダイの残りのプレーンに対応することを含む。
【０１１２】
実施例５１において、実施例４２〜５０の主題は、要求が書き込みであることを含む。
【０１１３】
実施例５２において、実施例４２〜５１の主題は、要求が読み出しであることを含む。
【０１１４】
実施例５３において、実施例４２〜５２の主題は、要求がリフレッシュであることを含む。
【０１１５】
実施例５４において、実施例４２〜５３の主題は、要求がガベージコレクションであることを含む。
【０１１６】
実施例５５は、処理回路によって実行されると、実施例１〜５４のいずれかを実施する動作を処理回路に行わせる命令を含む少なくとも１つの機械可読媒体である。
【０１１７】
実施例５６は、実施例１〜５４のいずれかを実施する手段を含む装置である。
【０１１８】
実施例５７は、実施例１〜５４のいずれかを実施するシステムである。
【０１１９】
実施例５８は、実施例１〜５４のいずれかを実施する方法である。
【０１２０】
上記詳細な説明は、詳細な説明の一部をなす添付の図面を参照することを含む。図面は、発明を実践することができる特定の実施形態を、例として示している。これらの実施形態は、本明細書では「実施例」とも呼ぶ。このような実施例は、図示または記載した要素に加えて、要素を含み得る。しかしながら、本発明者は、図示または記載したこれらの要素のみを備える実施例も企図する。さらに、本発明者は、特定の実施例（または、その１つまたは複数の態様）に関して、または、本明細書に図示または記載した他の実施例（または、その１つまたは複数の態様）に関して、図示または記載したこれらの要素の任意の組み合わせまたは変形を用いた実施例（または、それらの１つまたは複数の態様）も企図する。
【０１２１】
この文書では、「ａ」または「ａｎ」という語は、「少なくとも１つ」または「１つまたは複数」の他の例または使用法とは関係なく、特許文書で一般的なように、１つまたは複数を含むように使用される。この文書では、「または」という用語は、別段の記載のない限り、「ＡまたはＢ」が、「ＡであるがＢではない」、「ＢであるがＡではない」、および、「ＡおよびＢ」を含み得る非排他的な「または」を指して使用される。添付の請求項において、「含む（ｉｎｃｌｕｄｉｎｇ）」および「ｉｎ  ｗｈｉｃｈ」という語は、それぞれ、「含む（ｃｏｍｐｒｉｓｉｎｇ）」および「ｗｈｅｒｅｉｎ」という語を平易な英語で表す同等の語として使用される。また、以下の請求項では、「含む（ｉｎｃｌｕｄｉｎｇ）」および「含む（ｃｏｍｐｒｉｓｉｎｇ）」という語はオープンエンドである、すなわち、請求項において、そのような語の後に列挙されている要素に加えて、他の要素を含むシステム、デバイス、物、またはプロセスも、その請求項の範囲内にあると見なされる。さらに、以下の請求項では、「第１」、「第２」、および「第３」などの語は単にラベルとして使用されており、それらの物体に数字上の要件を課すことを意図していない。
【０１２２】
様々な実施例では、本明細書に記載されるコンポーネント、コントローラ、プロセッサ、ユニット、エンジン、またはテーブルは、とりわけ、物理デバイスに記憶された物理回路またはファームウェアを含むことができる。本明細書で使用する場合、「プロセッサ」は、マイクロプロセッサ、マイクロコントローラ、グラフィックスプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、または、プロセッサまたはマルチコアデバイスのグループを含む、その他の種類のプロセッサまたは処理回路などを含むが、これらに限定されない、任意の種類の計算回路を意味する。
【０１２３】
この文書で使用される「水平」という語は、任意の時点での基板の実際の向きに関係なく、ウェハまたはダイの下にあるものなど、基板の従来の平面または表面に平行な平面として定義される。「垂直」という用語は、上で定義された水平に対して垂直な方向を指す。「上（ｏｎ）」、「上（ｏｖｅｒ）」、「下（ｕｎｄｅｒ）」などの前置詞は、基板の向きに関係なく、基板の上面または露出面にある従来の平面または表面に対して定義される。「上（ｏｎ）」は、（明確にそうではないことを指示していない限り）ある構造がその構造が載っている別の構造と直接接触していることを意図している。「上（ｏｖｅｒ）」および「下（ｕｎｄｅｒ）」という語は、構造（または層、特徴など）の相対的な配置を特定することを明確に意図しており、具体的に特定されない限り、特定された構造間の直接接触を明示的に含むが、これに限定されない。同様に、「上（ｏｖｅｒ）」および「下（ｕｎｄｅｒ）」という用語は、水平方向に限定されず、ある構造が、ある時点で、考察中の構造物の最も外側の部分である場合、このような構造が、水平方向ではなく、基準となる構造に対して垂直に延在していても、基準となる構造の「上（ｏｖｅｒ）」にあるとする。
【０１２４】
「ウェハ」および「基板」という語は、本明細書では、集積回路がその上に形成される任意の構造、および集積回路製造の様々な段階のそのような構造を一般的に指して使用される。よって、以下の詳細な説明は、限定的な意味で解釈されるべきではなく、様々な実施形態の範囲は、添付の請求項と、請求項が権利を持つ均等物の全範囲とによってのみ規定される。
【０１２５】
本開示による、また、本明細書に記載される様々な実施形態は、メモリセルの垂直構造（例えば、メモリセルのＮＡＮＤストリング）を利用するメモリを含む。本明細書で使用される場合、方向を表す形容詞は、メモリセルが形成される基板の表面に対して解釈される（すなわち、垂直構造は、基板表面から離れる方に延びるものとみなされ、垂直構造の下端は、基板表面に最も近い端部で、垂直構造の上端は、基板表面から最も遠い端部とみなされる）。
【０１２６】
本明細書で使用される場合、水平、垂直、法線、平行、直交などの方向を表す形容詞は、相対的な向きを指すことができ、特に明記しない限り、特定の幾何学的特性に厳密に従うことを必要としない。例えば、本明細書で使用される場合、垂直構造は、基板の表面に対して厳密に垂直である必要はなく、代わりに、基板の表面に対して概ね垂直であってよく、基板の表面と鋭角を形成することができる（例えば、６０〜１２０度など）。
【０１２７】
本明細書に記載するある実施形態においては、異なるドーピング構成をソース側選択ゲート（ＳＧＳ）、制御ゲート（ＣＧ）、およびドレイン側選択ゲート（ＳＧＤ）に適用することができ、これらは、それぞれ、この例では、ポリシリコンから形成できる、または、少なくともポリシリコンを含み得る。結果として、これらの層（例えば、ポリシリコン等）は、エッチング溶液に曝されたときに異なるエッチング速度を有することができる。例えば、３Ｄ半導体デバイスでモノリシックピラーを形成するプロセスにおいては、ＳＧＳとＣＧは凹部を形成できるが、ＳＧＤは、凹部の形成が少ない、または、凹部は形成されないままである。従って、これらのドーピング構成は、エッチング溶液（例えば、水酸化テトラメチルアンモニウム（ＴＭＣＨ））を使用することにより、３Ｄ半導体デバイスの別個の層（例えば、ＳＧＳ、ＣＧ、及びＳＧＤ）への選択的エッチングを可能にし得る。
【０１２８】
本明細書で使用される場合、メモリセルの動作は、メモリセルからの読み出し、メモリセルへの書き込み、またはメモリセルの消去を含む。メモリセルを意図した状態にする動作は、本明細書では「プログラミング」と呼ばれ、メモリセルへの書き込みまたはメモリセルからの消去の両方を含むことができる（例えば、メモリセルを消去状態にプログラムすることができる）。
【０１２９】
本開示の１つまたは複数の実施形態によると、メモリデバイスの内部または外部にあるメモリコントローラ（例えば、プロセッサ、コントローラ、ファームウェア等）は、摩耗サイクルの数、または摩耗状態（例えば、摩耗サイクルの記録、摩耗発生時のメモリデバイスの動作のカウント、摩耗が始まった時のメモリデバイスの動作の追跡、摩耗状態に対応するメモリデバイスの特性の評価など）を判断（例えば、選択、設定、調整、計算、変更、クリア、通信、適応、導出、定義、利用、修正、適用など）できる。
【０１３０】
本開示の１つまたは複数の実施形態によれば、メモリアクセスデバイスは、各メモリ動作と共に摩耗サイクル情報をメモリデバイスに提供するように構成することができる。メモリデバイス制御回路（例えば、制御ロジック）は、摩耗サイクル情報に対応するメモリデバイスの性能変化を補償するようにプログラムすることができる。メモリデバイスは、摩耗サイクル情報を受信し、摩耗サイクル情報に応答して１つまたは複数の動作パラメータ（例えば、値、特性）を決定することができる。
【０１３１】
ある要素が他の要素の「上（ｏｎ）」、「に接続」、または「と結合」とされる場合、ある要素は他の要素の直接上に、他の要素に接続、もしくは、他の要素と結合してよく、または、介在要素が存在してよいことは、理解されたい。対照的に、ある要素が他の要素「の直接上」、「に直接接続」、または「に直接結合」とされる場合、介在する要素またはレイヤは存在しない。２つの要素がそれらを接続する線と共に図面に示されている場合、別段の記載が無い限り、２つの要素は、接続されるか、または直接結合されてよい。
【０１３２】
本明細書に記載の方法の例は、少なくとも部分的にマシンまたはコンピュータで実施できる。一部の例は、上記の例で記載したように方法を行うために電子デバイスを構成するように動作可能な命令で符号化されたコンピュータ可読媒体または機械可読媒体を含み得る。このような方法の実施態様は、マイクロコード、アセンブリ言語コード、高水準言語コード等のコードを含み得る。このようなコードは、様々な方法を行うためのコンピュータ可読命令を含み得る。コードは、コンピュータプログラム製品の一部を形成することができる。さらに、コードは、実行中または他の時間に、１つまたは複数の揮発性または不揮発性の有形コンピュータ可読媒体上に有形に記憶することができる。これらの有形コンピュータ可読媒体の例は、ハードディスク、リムーバブル磁気ディスク、リムーバブル光ディスク（例えば、コンパクトディスクおよびデジタルビデオディスク）、磁気カセット、メモリカードもしくはスティック、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、ソリッドステートデバイス（ＳＳＤ）、ユニバーサルフラッシュストレージ（ＵＦＳ）デバイス、組み込みＭＭＣ（ｅＭＭＣ）デバイス等を含み得るが、これらに限らない。
【０１３３】
上記記載は、限定的ではなく、例示的であることを意図している。例えば、上記の例（または、その１つまたは複数の態様）は、互いに組み合わせて使用することができる。上記の記載を検討すると、当業者等によって、他の実施形態を使用することができる。それは、請求項の範囲または意味を解釈または制限するために使用されないことを理解して提出される。また、上記の詳細な説明では、様々な特徴をグループ化して、開示を簡素化することができる。これは、特許を請求していない開示の特徴が請求項に不可欠であると意図するものとして解釈されるべきではない。むしろ、発明の主題は、特定の開示の実施形態の全ての特徴より少なくてよい。従って、以下の請求項は、詳細な説明に組み込まれ、各請求項は、それ自体で別個の実施形態として独立しており、そのような実施形態は、様々な組み合わせまたは置き換えで、互いに組み合わせることができると考えられる。本発明の範囲は、添付の請求項と、そのような請求項が権利を有する同等物の全範囲とを参照して、決定されるべきである。
【図１】
2021507372.tif 000004
【図２】
2021507372.tif 000005
【図３】
2021507372.tif 000006
【図４】
2021507372.tif 000007
【図５】
2021507372.tif 000008
【図６】
2021507372.tif 000009
【国際調査報告】
2021507372.tif 000010
2021507372.tif 000011