(57)【要約】      （修正有）【課題】メモリアドレス変換のためのデバイス、システム、および方法を提供する。【解決手段】メモリデバイス２０１はメモリアレイ２００およびアレイに結合されたコントローラ２３０を含む。アレイは、いくつかのレコードを有する第１のテーブル２３２を含み、各レコードは、いくつかのエントリを含み、各エントリは、アレイに記憶されるデータセグメントに対応する物理アドレスと、論理アドレスとを含む。コントローラは、いくつかのレコードを有する第２のテーブル２３６を含み、各レコードは、いくつかのエントリを含み、各エントリは、第１のテーブル内のレコードに対応する物理アドレスと、論理アドレスとを含む。コントローラはまた、いくつかのレコードを有する第３のテーブル２４２を含み、各レコードは、いくつかのエントリを含み、各エントリは第２のテーブル内のレコードに対応する物理アドレスと、論理アドレスとを含む。【選択図】図２Ａ
2015158941.tif 000002
【特許請求の範囲】
【請求項１】
第１の複数のレコードを有し、前記第１の複数のレコードの各レコードは、第１の複数のエントリを含む第１のテーブルを含むメモリアレイと、
前記メモリアレイに結合されたコントローラであって、
前記第１のテーブル内の前記第１の複数のレコードのうちの１つ以上を記憶するキャッシュと、
第２の複数のレコードを有し、前記第２の複数のレコードの各レコードが第２の複数のエントリを含み、前記第２の複数のエントリの各エントリは、前記キャッシュ内のレコードと関係づけられた第２のテーブルと、を含む、コントローラと、
を備える、メモリデバイス。
【請求項２】
前記第１の複数のエントリの各エントリは、前記メモリアレイ中に記憶されたデータセグメントに対応する物理アドレスを含む請求項１に記載のメモリデバイス。
【請求項３】
前記第１の複数のエントリの各エントリは、前記メモリアレイ中に記憶されたデータセグメントに対応する論理アドレスを含む請求項１に記載のメモリデバイス。
【請求項４】
前記第２の複数のエントリの各エントリは、前記キャッシュ内のレコードに対応する物理アドレスを含む請求項１〜３のいずれか一項に記載のメモリデバイス。
【請求項５】
前記第２のテーブルは第３の複数のレコードを有し、前記第３の複数のレコードの各レコードは第３の複数のエントリを含み、前記第３の複数のエントリの各エントリは、前記第１のテーブル内のレコードに対応する物理アドレスと、論理アドレスとを含む請求項１〜４のいずれか一項に記載のメモリデバイス。
【請求項６】
前記第１のテーブルは、可変サイズを有する請求項１〜５のいずれか一項に記載のメモリデバイス。
【請求項７】
前記第２のテーブルは、可変サイズを有する請求項１〜６のいずれか一項に記載のメモリデバイス。
【請求項８】
第１の複数のレコードを有する第１のテーブルを含むメモリアレイと、
前記メモリアレイに結合され、
前記第１のテーブル内の前記第１の複数のレコードのうちの１つ以上を記憶するキャッシュと、
第２の複数のレコードを有する第２のテーブルと、を含む、コントローラと、を備え、
前記第１のテーブルと、前記第２のテーブルのうち、少なくとも何れか一方は可変サイズを有するメモリデバイス。
【請求項９】
前記第２のテーブルは、第１のサブテーブルと第２のサブテーブルとを含み、
前記第１のサブテーブルは、複数のレコードを含み、そのエントリは、前記第１のテーブル内のレコードに対応する物理アドレスと、論理アドレスとを含み、
前記第２のサブテーブルは、追加の複数のレコードを含み、そのエントリは、前記キャッシュ内のレコードに対応する物理アドレスと、論理アドレスとを含む、請求項８に記載のメモリデバイス。
【請求項１０】
前記コントローラは、第４の複数のレコードを有する第３のテーブルを含み、前記第４の複数のレコードの各レコードは第４の複数のエントリを含む請求項１〜９のいずれか一
項に記載のメモリデバイス。
【請求項１１】
前記第４の複数のエントリの各エントリは、前記第２のテーブル内のレコードに対応する物理アドレスを含む請求項１０に記載のメモリデバイス。
【請求項１２】
前記第２のテーブルは、前記第１のテーブルよりも小さいサイズを有する請求項１〜１１のいずれか一項に記載のメモリデバイス。
【請求項１３】
前記第１、第２、および第３のテーブル内の各エントリに含まれる前記物理アドレスは、物理ブロック番号である請求項１１に記載のメモリデバイス。
【請求項１４】
メモリデバイス内に記憶されたデータセグメントに対応する論理アドレスに対応する、第１のテーブルのレコード内のエントリを決定することと、
前記第１のテーブル内の前記決定されたエントリを使用して、第２のテーブル内の複数のレコードのうちの１つである、キャッシュ内のレコードに対応する物理アドレスと、論理アドレスとを決定することと、
前記データセグメントに対応する前記論理アドレスに対応する、前記キャッシュ内の前記レコード内のエントリを決定することと、
前記キャッシュ内の前記決定されたエントリを使用して、前記データセグメントに対応する前記物理アドレスを決定することと、を含む、方法。
【請求項１５】
少なくとも、前記第１、第２のテーブルの一方のサイズを変更する請求項１４に記載の方法。
【請求項１６】
第３のテーブルのレコード内のエントリを決定することと、
前記第３のテーブル内の前記決定されたエントリを使用して、第１のテーブルのレコード内のエントリを決定することと、を含む請求項１４に記載の方法。
【請求項１７】
前記第３のテーブル内の前記決定されたエントリをメモリデバイス内に記憶されたデータセグメントに対応する論理アドレスに対応させる請求項１６に記載の方法。
【請求項１８】
前記第３のテーブル内の前記決定されたエントリは、前記第１のテーブルのレコードに対応する物理アドレスを含む請求項１６に記載の方法。
【請求項１９】
前記第２のテーブルの前記レコードを前記コントローラに保存する請求項１４に記載の方法。
【請求項２０】
前記第２のテーブル内の前記エントリを用いてメモリデバイス内に記憶されたデータセグメントにアクセスする請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、半導体メモリデバイス、方法、およびシステムに関し、より具体的には、メモリアドレス変換に関する。
【背景技術】
【０００２】
メモリデバイスは、典型的に、コンピュータまたは他の電子デバイスにおいて、内部の半導体、集積回路、および／または外部の取り外し可能デバイスとして提供される。とりわけ、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、同期型ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、相変化ランダムアクセスメモリ（ＰＣＲＡＭ）、およびフラッシュメモリを含む、多数の異なる種類のメモリが存在する。
【０００３】
フラッシュメモリデバイスは、揮発性メモリおよび不揮発性メモリとして、広範な電子用途に利用することができる。フラッシュメモリデバイスは、典型的に、高いメモリ密度、高い信頼性、および低い電力消費を可能にする、１トランジスタ型メモリセルを使用する。フラッシュメモリデバイスは、しばしば、それぞれの基本的なメモリセル構造が配置される論理形態のために、「ＮＡＮＤ」または「ＮＯＲ」と称されるメモリアレイアーキテクチャを有する場合がある。フラッシュメモリの用途には、他の電子デバイスの中でも、ソリッドステートドライブ（ＳＳＤ）、パーソナルコンピュータ、携帯情報端末（ＰＤＡ）、デジタルカメラ、携帯電話、携帯音楽プレーヤー（例えば、ＭＰ３プレーヤー）、およびムービープレーヤー用のメモリが挙げられる。プログラムコード、ユーザデータ、および／または基本的な入力／出力システム（ＢＩＯＳ）等のシステムデータ等のデータは、典型的に、フラッシュメモリデバイス内に記憶される。
【０００４】
フラッシュメモリデバイスは、フラッシュトランジションレイヤ（ＦＴＬ）を含み得る。ＦＴＬを（例えば、フラッシュメモリデバイスで実行されるプログラミング操作中に）使用して、データエントリと関連付けられた論理アドレスを、フラッシュメモリ内の物理アドレスにマッピングすることができる。ＦＴＬは、マッピング操作を実行するために、フラッシュメモリデバイスのローカルメモリ内にアドレスマッピングテーブルを含むことができる。しかしながら、以前のＦＴＬアプローチで使用されるアドレスマッピングテーブルのサイズ（例えば、中に記憶されるデータの量）は、一定であり得る。
【図面の簡単な説明】
【０００５】
【図１】本開示の１つ以上の実施形態による、いくつかの物理ブロックを有するメモリアレイの一部分の図を図示する。
【図２Ａ】本開示の１つ以上の実施形態による、メモリデバイスのブロック図を図示する。
【図２Ｂ】本開示の１つ以上の実施形態による、いくつかのテーブル間の関係を図示する図である。
【図３】本開示の１つ以上の実施形態による、テーブルの一部分の図を図示する。
【図４】本開示の１つ以上の実施形態による、サブテーブルの一部分の図を図示する。
【図５】本開示の１つ以上の実施形態による、テーブルの一部分の図を図示する。
【発明を実施するための形態】
【０００６】
本開示は、メモリアドレス変換のためのデバイス、システム、および方法を含む。１つ以上の実施形態は、メモリアレイおよびアレイに結合されたコントローラを含む。アレイ
は、いくつかのレコードを有する第１のテーブルを含み、各レコードは、いくつかのエントリを含み、各エントリは、アレイ内に記憶されたデータセグメントに対応する物理アドレスと、論理アドレスとを含む。コントローラは、いくつかのレコードを有する第２のテーブルを含み、各レコードは、いくつかのエントリを含み、各エントリは、第１のテーブル内のレコードに対応する物理アドレスと、論理アドレスとを含む。コントローラはまた、いくつかのレコードを有する第３のテーブルを含み、各レコードは、いくつかのエントリを含み、各エントリは、第２のテーブル内のレコードに対応する物理アドレスと、論理アドレスとを含む。
【０００７】
本開示の実施形態は、可変サイズを有するテーブル（例えば、アドレスマッピングテーブル）を有する、フラッシュ変換レイヤを含むことができる。すなわち、本開示のフラッシュ変換レイヤ内のテーブルのサイズ（例えば、中に記憶されるデータの量）は、変更可能である。本開示のフラッシュ変換レイヤ内のテーブルのサイズが変更可能であるため、テーブルは、異なる種類のフラッシュメモリデバイスに適合可能であり得る。すなわち、本開示によるフラッシュ変換レイヤは、異なる種類のフラッシュメモリデバイスに使用することができる。
【０００８】
以下の本開示の発明を実施するための形態において、その一部を形成し、本開示のいくつかの実施形態をどのようにして実施することができるかを例示する目的で示される、添付の図面への参照がなされる。これらの実施形態は、当業者が本開示の実施形態を実施することができるように十分に詳細に記載されており、他の実施形態が利用可能であること、およびプロセス、電気的、および／または構造的な改変が本開示の範囲から逸脱することなくなされ得ることが理解されるべきである。
【０００９】
本明細書に使用する際、「いくつかの」とは、１つ以上のこのようなものを指す。例えば、いくつかのテーブルとは、１つ以上のテーブルを指し得る。さらに、本明細書に使用される指定子「Ｂ」、「Ｄ」、「Ｅ」、「Ｒ」、および「Ｓ」は、特に、図中の参照数字に関して、このように指定されるいくつかの具体的な特徴が、いくつかの本開示の実施形態とともに含まれ得ることを示す。
【００１０】
本明細書の図は、最初の数字（複数を含む）が、図の番号に対応し、残りの数字が、図中の要素または構成要素を特定する、番号付けの慣例に従う。異なる図の間で類似の要素または構成要素は、類似の数字の使用によって特定することができる。例えば、２３２は、図２の要素「３２」に言及し得、同じ要素が、図３において３３２として言及され得る。理解されるように、本開示のいくつかの追加の実施形態を提供するために、本明細書の種々の実施形態に示される要素は、追加、交換、および／または排除されてもよい。さらに、理解されるように、図において提供された比率および相対的な大きさは、本開示の実施形態を例示するように意図され、限定的な意味でとらえられるものではない。
【００１１】
図１は、本開示の１つ以上の実施形態による、いくつかの物理ブロックを有するメモリアレイ１００の一部分の図を示す。メモリアレイ１００は、例えば、ＮＡＮＤまたはＮＯＲ型フラッシュ不揮発性メモリアレイであり得る。しかしながら、本開示の実施形態は、特定の種類のメモリアレイに限定されるものではない。さらに、図１には示されないが、当業者は、メモリアレイ１００が、その操作と関連付けられた種々の周辺回路とともに、特定の半導体ダイ上に位置付けられてもよいことを理解するであろう。
【００１２】
図１に示されるように、メモリアレイ１００は、メモリセルのいくつかの物理ブロック１１６−０（ブロック０）、１１６−１（ブロック１）、．．．、１１６−Ｂ（ブロックＢ）を有する。メモリセルは、シングルレベルセルおよび／またはマルチレベルセルであり得る。一例として、メモリアレイ１００内の物理ブロックの数は、１２８のブロック、
５１２のブロック、１，０２４のブロックであってもよいが、実施形態は、メモリアレイ１００内の特定の１２８の倍数またはいずれの特定の物理ブロック数にも限定されない。
【００１３】
図１に示される実施例において、各物理ブロック１１６−０、１１６−１、．．．、１１６−Ｂは、１つのユニットとして一緒に消去することができる（例えば、各物理ブロック内のセルは、実質的に同時の方式で消去することができる）メモリセルを含む。例えば、各物理ブロック内のメモリセルは、単一の消去操作で一緒に消去することができる。
【００１４】
図１に示されるように、各物理ブロック１１６−０、１１６−１、．．．、１１６−Ｂは、アクセス線（例えば、ワード線）に結合された、メモリセルのいくつかの物理行（例えば、１２０−０、１２０−１、．．．、１２０−Ｒ）を含む。各物理ブロック内の行（例えば、ワード線）の数は、３２であってもよいが、実施形態は、１物理ブロック当たり特定の行数１２０−０、１２０−１、．．．、１２０−Ｒに限定されない。
【００１５】
当業者には理解されるように、各行１２０−０、１２０−１、．．．、１２０−Ｒは、１つ以上の物理ページのデータを含む（例えば、記憶する）ことができる。物理ページは、プログラミングおよび／またはセンシングの単位を指す（例えば、メモリセルの機能的なグループとして一緒にプログラムおよび／またはセンスされるいくつかのセル）。図１に示される実施形態において、各行１２０−０、１２０−１、．．．、１２０−Ｒは、１ページのデータを記憶する。しかしながら、本開示の実施形態は、それに限定されるものではない。例えば、本開示の１つ以上の実施形態において、各行は、１つ以上のデータを記憶することができる。
【００１６】
本開示の１つ以上の実施形態において、図１に示されるように、行と関連付けられたページは、（例えば、プログラミング操作後に）物理セクタ１２２−０、１２２−１、．．．、１２２−Ｓに従ってデータを記憶することができる。各物理セクタ１２２−０、１２２−１、．．．、１２２−Ｓは、１つ以上の論理セクタのデータに対応するデータを記憶することができる。例えば、特定の物理セクタ（例えば、特定の物理セクタ内に記憶されたデータ）は、特定の論理セクタに対応し得る。さらに、１つ以上の物理セクタ内に記憶されたデータの一部分は、特定の論理セクタに対応してもよい。例えば、特定の物理セクタ内に記憶されたデータの第１の部分は、第１の論理セクタに対応し、特定の物理セクタ内に記憶されたデータの第２の部分は、第２の論理セクタに対応し得る。各物理セクタ１２２−０、１２２−１、．．．、１２２−Ｓはまた、システムおよび／またはユーザデータを記憶することができ、エラー訂正コード（ＥＣＣ）情報および論理ブロックアドレス（ＬＢＡ）情報等のオーバーヘッド情報を含み得る。
【００１７】
各物理セクタ１２２−０、１２２−１、．．．、１２２−Ｓは、それと関連付けられた物理アドレス、例えば、物理ブロック番号（ＰＢＮ）等を有し得る。物理セクタのＰＢＮは、メモリアレイ１００内でのセクタの実際の物理的位置を特定し得る。例えば、ＰＢＮは、ＣＥ番号、ＬＵＮ、平面、ブロック、ページ、位置、および／またはステータスを特定することができる。さらに、いくつかのＰＢＮを、メモリアレイ１００内のメモリセルの物理ページ上にマッピングすることができる。例えば、１つ、２つ、または４つのＰＢＮを、メモリアレイ１００の種類に応じて、１つの物理ページ上にマッピングすることができる。
【００１８】
当業者には理解されるように、論理ブロックのアドレス指定は、データの論理セクタを特定するために、ホストによって使用され得るスキームである。例えば、各論理セクタは、固有の論理ブロックアドレス（ＬＢＡ）に対応し得る。
【００１９】
本開示の１つ以上の実施形態において、いくつかのＬＢＡは、論理ページ番号（ＬＰＮ
）に対応し得る。すなわち、ＬＰＮは、いくつかのＬＢＡ（例えば、データのいくつかの論理セクタ）を含み得る。例えば、１つ以上のＬＰＮは、ＬＢＡおよび／またはＬＰＮ（複数を含む）のサイズに応じて、１つのＬＢＡに論理的にマッピングされ得る。さらに、仮想ページ番号（ＶＰＮ）を使用して、例えば、図２Ａ〜５に関連して本明細書にさらに説明される、テーブル２３２、２３６、２４２、３３２、４３８、および／または５４２等のテーブル内に記憶されたデータの論理アドレスを特定（例えば、位置をマッピング）することができる。すなわち、ＶＰＮは、テーブル内に記憶されたデータに対するＬＰＮに相当し得る。
【００２０】
物理ブロック１１６−０、１１６−１、．．．、１１６−Ｂ、行１２０−０、１２０−１、．．．、１２０−Ｒ、セクタ１２２−０、１２２−１、．．．、１２２−Ｓ、およびページに対する他の構成が可能であることに留意されたい。例えば、物理ブロック１１６−０、１１６−１、．．．、１１６−Ｂの行１２０−０、１２０−１、．．．、１２０−Ｒは、それぞれ、例えば、５１２バイト程度のデータを含むことができる単一の論理セクタに対応するデータを記憶することができる。
【００２１】
図２Ａは、本開示の１つ以上の実施形態による、メモリデバイス２０１のブロック図を図示する。図２Ａに示されるように、メモリデバイス２０１は、メモリアレイ２００およびメモリアレイ２００に結合された（例えば、それと通信する）コントローラ２３０を含む。
【００２２】
メモリアレイ２００は、例えば、図１に関連して前述されたメモリアレイ１００であってもよい。図２Ａには１つのメモリアレイが示されるが、本開示の実施形態は、それに限定されない（例えば、メモリデバイス２０１は、コントローラ２３０に結合された２つ以上のメモリアレイを含んでもよい）。
【００２３】
図２Ａに示されるように、コントローラ２３０は、コントローラメモリ２３１を含む。コントローラメモリ２３１は、例えば、他の種類のメモリの中でも、スタティックランダムアクセスメモリ（ＳＲＡＭ）であり得る。コントローラ２３０はまた、例えば、制御回路および／またはファームウェアを含んでもよく、メモリアレイ２００と同じ物理デバイス（例えば、同じダイ）に含まれ得るか、または、メモリアレイ２００を含む物理デバイスと通信可能に結合された別個の物理デバイスに含まれてもよい。
【００２４】
図２Ａに図示される実施形態において、メモリデバイス２０１は、３つのテーブル（例えば、テーブル２３２、２３６、および２４２）を含む。テーブル２３２、２３６、および２４２（例えば、テーブル２３２、２３６、および２４２に記憶されたデータ）は、本明細書でさらに説明される、要求ベースのフラッシュ変換レイヤの一部であってもよい。例えば、テーブル２３２、２３６、および２４２を使用して、本明細書にさらに説明されるように、メモリアレイ２００内のいくつかのメモリセルと関連付けられた論理アドレス（例えば、ホストによって提供されたＬＢＡ）を、メモリセルと関連付けられた物理アドレス（例えば、ＰＢＮ）にマッピングすることができる。
【００２５】
テーブル２３２、２３６、および２４２は、それぞれ、例えば、データブロック検索テーブル、グローバルディレクトリ検索テーブル、およびルートディレクトリ検索テーブルであってもよい。テーブル２３２は、図２Ａに示されるように、メモリアレイ２００内に位置付けられる（例えば、記憶される）。テーブル２３６および２４２は、図２Ａに示されるように、コントローラ２３０内（例えば、コントローラメモリ２３１内）に位置付けられる。テーブル２３２、２３６、および２４２は、本明細書にさらに説明されるように、いくつかの論理から物理へのアドレスマッピングを含み得る。
【００２６】
テーブル２３２は、いくつかのレコードを含むことができる。テーブル２３２内の各レコードは、いくつかのエントリを含むことができ、レコード内の各エントリは、メモリアレイ２００内に記憶されたデータセグメント（例えば、データのセクタ）に対応する物理アドレス（例えば、ＰＢＮ）と、論理アドレス（例えば、ＬＰＮ）とを含むことができる。すなわち、テーブル２３２内の各エントリは、ＬＰＮからＰＢＮへのマッピングを含むことができる。テーブル２３２内のレコードおよびエントリは、本明細書で（例えば、図３に関連して）さらに説明されることになる。
【００２７】
図２Ａに示されるように、コントローラ２３０（例えば、コントローラメモリ２３１）は、テーブル２３２に結合されたキャッシュ２３４を含む。キャッシュ２３４は、キャッシュされたマッピングエントリ２３５を含む。キャッシュ２３４（例えば、キャッシュされたマッピングエントリ２３５）は、テーブル２３２内のいくつかのレコードのうちの１つ以上を記憶することができる。種々の実施形態において、キャッシュ２３４内に記憶された１つ以上レコードは、キャッシュ２３４内に一時的に記憶されたテーブル２３２のアクティブなレコードであってもよい。テーブル２３２内のレコードが、現在キャッシュ２３４内に含まれているかどうか（例えば、テーブル２３２内のレコードが、現在アクティブであるかどうか）の判定は、例えば、レコード内のエントリが、現在使用中であるか（例えば、アプリケーションによって）、および／または、以前にメモリアレイ２００内の特定のデータセグメントの物理アドレスの判定に使用されたかどうかに基づいてもよい。
【００２８】
例えば、キャッシュ２３４内の１つ以上レコードは、メモリアレイ２００内の特定のデータセグメントの物理アドレスを判定するために、最も最近使用されたエントリを有する、テーブル２３２内のレコードであってもよい。すなわち、現在キャッシュ２３４に存在しないテーブル２３２内のレコードは、キャッシュ２３４内にも現在存在するテーブル２３２内のレコードよりも最近に、メモリアレイ２００内の特定のデータセグメントの物理アドレスを判定するために使用されたエントリを有し得ない。追加として、および／または代替として、キャッシュ２３４内の１つ以上のレコードは、以前に、メモリアレイ２００内の特定のデータセグメントの物理アドレスを判定するために少なくとも２回使用されたエントリを有する、テーブル２３２内のレコードであってもよい。
【００２９】
図２Ａに示されるように、テーブル２３６は、キャッシュ２３４に結合され、２つのサブテーブル（例えば、サブテーブル２３８および２４０）を含む。サブテーブル２３８は、いくつかのレコードを含むことができ、サブテーブル２４０は、追加のいくつかのレコードを含むことができる。サブテーブル２３８内の各レコードは、いくつかのエントリを含むことができ、サブテーブル２３８内のレコード内の各エントリは、テーブル２３２内のレコードに対応する物理アドレス（例えば、ＰＢＮ）と、論理アドレス（例えば、ＶＰＮ）とを含むことができる。サブテーブル２４０内の各レコードは、いくつかのエントリを含むことができ、サブテーブル２４０内のレコード内の各エントリは、キャッシュ２３４内のレコードに対応する物理アドレス（例えば、ＰＢＮ）と、論理アドレス（例えば、ＶＰＮ）とを含むことができる。すなわち、サブテーブル２３８および２４０内の各エントリは、ＶＰＮからＰＢＮへのマッピングを含むことができる。テーブル２３６内（例えば、サブテーブル２３８および２４０内）のレコードおよびエントリは、本明細書で（例えば、図４に関連して）さらに説明される。
【００３０】
図２Ａには示されないが、サブテーブル２３８のコピーを、バックアップとして（例えば、突然の電力喪失に対する保護として）メモリアレイ２００内に記憶することができる。対照的に、サブテーブル２４０のコピーは、サブテーブル２４０がレコードをキャッシュ２３４内にマッピングし、したがって、突然の電力喪失の影響を受ける可能性がないため、メモリアレイ２００内に記憶されなくてもよい。
【００３１】
図２Ａに示されるように、テーブル２４２は、テーブル２３６に結合される。テーブル２４２は、いくつかのレコードを含むことができる。テーブル２４２内の各レコードは、いくつかのエントリを含むことができ、各エントリは、テーブル２３６内（例えば、サブテーブル２３８および／またはサブテーブル２４０内）のレコードに対応する物理アドレス（例えば、ＰＢＮ）と、論理アドレス（例えば、ＶＰＮ）とを含むことができる。すなわち、テーブル２４２内の各エントリは、ＶＰＮからＰＢＮへのマッピングを含むことができる。
【００３２】
本開示の１つ以上の実施形態において、テーブル２３２、２３６、および／または２４２は、可変サイズを有し得る。すなわち、テーブル２３２、２３６、および／または２４２のサイズ（例えば、中に記憶されるデータの量）は、変更可能である。テーブル２３２、２３６、および／または２４２のサイズが変更可能であるため、テーブル２３２、２３６、および／または２４２は、異なる種類のフラッシュメモリデバイスに適合可能であり得る。すなわち、テーブル２３２、２３６、および２４２を有するフラッシュ変換レイヤは、異なる種類のフラッシュメモリデバイスに使用することができる。
【００３３】
さらに、テーブル２３２は、メモリアレイ２００よりも小さいサイズを有し得、テーブル２３６は、テーブル２３２よりも小さいサイズを有し得、テーブル２４２は、テーブル２３６よりも小さいサイズを有し得る。例えば、テーブル２３２のサイズとメモリアレイ２００とのサイズの比率は、おおよそ１対１０００であってもよく、テーブル２３６は、テーブル２３２よりもおおよそ３桁小さくてもよく、テーブル２４２は、テーブル２３６よりも、おおよそ３桁小さくてもよい。しかしながら、本開示の実施形態は、メモリアレイ２００と、テーブル２３２、２３６、および２４２との間の特定のサイズ関係に限定されない。
【００３４】
図２Ａに図示される実施形態は、３つのテーブル（例えば、テーブル２３２、２３６、および２４２）を含むが、本開示の実施形態は、特定のテーブル数に限定されない。例えば、本開示の実施形態は、テーブル２３２、２３６、および２４２に加えて、要求ベースのフラッシュ変換レイヤの一部として、１つ以上の追加のテーブル（図２Ａには示されない）を含むことができる。例えば、コントローラ２３０（例えば、コントローラメモリ２３１）もまた、テーブル２３６および２４２に加えて、テーブル２３６および／または２４２に類似である１つ以上の追加のテーブル（図２Ａには示されない）を含むことができる。
【００３５】
図２Ａに図示される実施形態はまた、本開示の実施形態を不明瞭にしないように図示されてはいない、追加の回路を含んでもよい。例えば、メモリデバイス２０１は、Ｉ／ＯコネクタからＩ／Ｏ回路を通じて提供されるアドレス信号をラッチするためのアドレス回路を含むことができる。アドレス信号は、メモリアレイ２００にアクセスするために、行デコーダおよび列デコーダによって受信され、解読され得る。アドレス入力コネクタの数は、メモリデバイス２０１および／またはメモリアレイ２００の密度およびアーキテクチャに応じて決められてもよいことが、当業者には理解されるであろう。
【００３６】
図２Ｂは、テーブル２３２、２３６、および２４２の間の関係を図示する図２０２である。図２Ｂに図示されるように、メモリアレイ２００内の特定のデータセグメント（例えば、特定のセクタのデータ）に対応する論理アドレス（例えば、ＬＢＡ）に対応する、テーブル２４２のレコード内のエントリは、ホストから受信された所定の論理アドレスに基づいて、判定することができる。図２Ｂに図示されるように、テーブル２４２内の判定されたエントリを使用して、テーブル２３６内（例えば、サブテーブル２３８および／またはサブテーブル２４０内）のレコードに対応する物理アドレス（例えば、ＰＢＮ）と、論理アドレス（例えば、ＶＰＮ）とを判定することができる。
【００３７】
図２Ｂに図示されるように、次いで、メモリアレイ２００内のデータセグメントに対応する論理アドレスに対応する、テーブル２３６内のレコード内のエントリを、判定することができる。すなわち、次いで、メモリアレイ２００内のデータセグメントに対応する論理アドレスに対応する、サブテーブル２３８および／またはサブテーブル２４０内のエントリを判定することができる。
【００３８】
図２Ｂに図示されるように、サブテーブル２３８内の判定されたエントリを使用して、テーブル２３２内のレコードに対応する物理アドレス（例えば、ＰＢＮ）と、論理アドレス（例えば、ＶＰＮ）とを判定することができる。すなわち、図２Ｂに図示される実施形態において、テーブル２３６内のレコード内の判定されたエントリは、サブテーブル２３８内のエントリである。追加として、および／または代替として、テーブル２３６内のレコード内の判定されたエントリが、サブテーブル２４０内のエントリである実施形態において、キャッシュ２３４内のレコードに対応する物理アドレス（例えば、ＰＢＮ）、および論理アドレス（例えば、ＶＰＮ）は、サブテーブル２４０内の判定されたエントリを使用して、判定することができる。
【００３９】
図２Ｂに図示されるように、次いで、メモリアレイ２００内のデータセグメントに対応する論理アドレスに対応する、テーブル２３２内のレコード内のエントリを判定することができる。追加として、および／または代替として、キャッシュ２３４内のレコードに対応する物理アドレスを判定する実施形態においては、次いで、メモリアレイ２００内のデータセグメントに対応する論理アドレスに対応する、キャッシュ２３４内のレコード内のエントリを判定することができる。
【００４０】
図２Ｂに図示されるように、テーブル２３２および／またはキャッシュ２３４内の判定されたエントリを使用して、メモリアレイ２００内のデータセグメントに対応する物理アドレス（例えば、ＰＢＮ）と、論理アドレス（例えば、ＬＰＮ）とを判定することができる。
【００４１】
図３は、本開示の１つ以上の実施形態による、テーブル３３２の一部分の図を図示する。テーブル３３２は、例えば、図２Ａに関連して前述されたテーブル２３２であってもよい。
【００４２】
図３に示されるように、テーブル３３２は、いくつかのレコード３５２−０、３５２−１、．．．、３５２−Ｄを含む。各レコード３５２−０、３５２−１、．．．、３５２−Ｄは、いくつかのエントリ３５４−１、３５４−２、．．．、３５４−Ｅを含む。レコード３５２−０、３５２−１、．．．、３５２−Ｄ内の各エントリ３５４−１、３５４−２、．．．、３５４−Ｅは、図３に示されるように、例えば、論理ページ番号（ＬＰＮ）から物理ブロック番号（ＰＢＮ）へのマッピングを含むことができる。ＰＢＮは、メモリアレイ（例えば、図２Ａに関連して前述されたメモリアレイ２００）内の特定のデータセグメントに対応し得る。さらに、レコード３５２−０、３５２−１、．．．、３５２−Ｄ内の各エントリ３５４−１、３５４−２、．．．、３５４−Ｅは、メモリアレイと関連付けられた論理ページ番号（ＬＰＮ）の線形マッピングに基づいて、論理的にアドレス指定することができる。例えば、図３に示されるように、レコード３５２−０内のエントリ３５４−１は、メモリアレイ内のメモリセルの第１の論理ページに対するＬＰＮと関連付けられたデータセグメントに対応するＰＢＮを含むことができ、レコード３５２−１内のエントリ３５４−２は、メモリアレイ内のメモリセルの第２の論理ページに対するＬＰＮと関連付けられたデータセグメントに対応するＰＢＮを含むことができる等である。
【００４３】
さらに、各レコード３５２−０、３５２−１、．．．、３５２−Ｄは、図２Ａに関連し
て前述されたキャッシュ２３４内にレコードを組み込むように構成される、リンクを含んでもよい。例えば、リンクは、キャッシュ２３４内へのレコードの移行を、レコードを操作することなく行うことができる、位置ホルダーであってもよい。レコードがキャッシュ２３４内に移行された後（例えば、レコードが、キャッシュ２３４に記憶されている間）、リンクは、例えば、キャッシュ２３４および／またはテーブル３３２内の論理および／または物理アドレス等のメモリアドレスに対応し得る。
【００４４】
図４は、本開示の１つ以上の実施形態による、サブテーブル４３８の一部分の図を図示する。サブテーブル４３８は、例えば、図２Ａに関連して前述されたサブテーブル２３８であってもよい。
【００４５】
図４に示されるように、サブテーブル４３８は、いくつかのレコード４６２−０、４６２−１、．．．、４６２−Ｄを含む。各レコード４６２−０、４６２−１、．．．、４６２−Ｄは、いくつかのエントリ４６４−１、４６４−２、．．．、４６４−Ｅを含む。レコード４６２−０、４６２−１、．．．、４６２−Ｄ内の各エントリ４６４−１、４６４−２、．．．、４６４−Ｅは、図４に示されるように、例えば、仮想ページ番号（ＶＰＮ）から物理ブロック番号（ＰＢＮ）へのマッピングを含んでもよい。ＰＢＮは、図３に関連して前述されたテーブル３３２内の特定のレコードに対応し得る。さらに、レコード４６２−０、４６２−１、．．．、４６２−Ｄ内の各エントリ４６４−１、４６４−２、．．．、４６４−Ｅは、テーブル３３２と関連付けられたＶＰＮの線形マッピングに基づいて、論理的にアドレス指定することができる。例えば、図４に示されるように、レコード４６２−０内のエントリ４６４−１は、テーブル３３２内のレコード３５２−０に対するＶＰＮと関連付けられたＰＢＮを含むことができ、レコード４６２−０内のエントリ４６４−２は、テーブル３３２内のレコード３５２−１に対するＶＰＮと関連付けられたＰＢＮを含むことができる等である。
【００４６】
レコード４６２−０、４６２−１、．．．、４６２−Ｄ内の各エントリ４６４−１、４６４−２、．．．、４６４−Ｅは、図２Ａに関連して前述されたサブテーブル２４０内のエントリと、一対一対応を有することができる。例えば、サブテーブル２４０内の各エントリは、サブテーブル２４０内の各エントリが、ＶＰＮから図２Ａに関連して前述されたキャッシュ２３４内の特定のレコードに対応するＰＢＮへのマッピングを含み得ること、およびサブテーブル２４０内の各エントリが、キャッシュ２３４と関連付けられたＶＰＮの線形マッピングに基づいて論理的にアドレス指定することができること、を除いて、レコード４６２−０、４６２−１、．．．、４６２−Ｄ内のエントリ４６４−１、４６４−２、．．．、４６４−Ｅに類似であってもよい。
【００４７】
さらに、サブテーブル２４０内のエントリは、そのエントリによってマッピングされたテーブル３３２内のレコードが、同時にキャッシュ２３４内にも記憶される場合にのみ、有効であり得る。例えば、テーブル３３２内のレコードが、キャッシュ２３４から削除されると、キャッシュ２３４内のレコードをマッピングするために使用されたサブテーブル２４０内のエントリは、無効にされ得、テーブル３３２内のレコードをマッピングするために使用されるサブテーブル４３８内のエントリが、更新され得る。
【００４８】
図５は、本開示の１つ以上の実施形態による、テーブル５４２の一部分の図を図示する。テーブル５４２は、例えば、図２Ａに関連して前述された、テーブル２４２であってもよい。
【００４９】
図５に示されるように、テーブル５４２は、いくつかのレコード５７２−０、５７２−１、．．．、５７２−Ｄを含む。各レコード５７２−０、５７２−１、．．．、５７２−Ｄは、いくつかのエントリ５７４−１、５７４−２、．．．、５７４−Ｅを含む。
【００５０】
（結論）
本開示は、メモリアドレス変換のためのデバイス、システム、および方法を含む。１つ以上の実施形態は、メモリアレイおよびアレイに結合されたコントローラを含む。アレイは、いくつかのレコードを有する第１のテーブルを含み、各レコードは、いくつかのエントリを含み、各エントリは、アレイ内に記憶されたデータセグメントに対応する物理アドレスと、論理アドレスとを含む。コントローラは、いくつかのレコードを有する第２のテーブルを含み、各レコードは、いくつかのエントリを含み、各エントリは、第１のテーブル内のレコードに対応する物理アドレスと、論理アドレスとを含む。コントローラはまた、いくつかのレコードを有する第３のテーブルを含み、各レコードは、いくつかのエントリを含み、各エントリは、第２のテーブル内のレコードに対応する物理アドレスと、論理アドレスを含む。
【００５１】
特定の実施形態を、本明細書に例示し、説明してきたが、同じ結果を達成するように計算された配置が、示された特定の実施形態の代わりとなり得ることが、当業者には理解されるであろう。本開示は、本開示のいくつかの実施形態の適合または改変を包含するように意図されるものである。上述の説明は、例示的な目的で行われたものであり、制限的なものではないことを理解されたい。上述の実施形態の組み合わせ、および本明細書に具体的に記載されない他の実施形態は、上述の説明を検討する際に、当業者には明らかであろう。本開示のいくつかの実施形態の範囲には、上述の構造および方法が使用される他の適用が含まれる。
【００５２】
前述の発明を実施するための形態において、いくつかの特徴は、本開示の合理化の目的で、単一の実施形態にまとめられる。本開示の方法は、本開示の開示される実施形態が、各請求項に明確に述べられるものよりも多くの特徴を使用しなければならないという意図を反映するものとして解釈されるべきではない。むしろ、以下の特許請求の範囲が反映するように、発明に関する主題は、単一の開示される実施形態の全ての特徴よりも少ないところに存在する。したがって、以下の特許請求の範囲は、各請求項が独立して別個の実施形態として存在する状態で、本明細書において発明を実施するための形態に組み込まれる。
【図１】
2015158941.tif 000003
【図２Ａ】
2015158941.tif 000004
【図２Ｂ】
2015158941.tif 000005
【図３】
2015158941.tif 000006
【図４】
2015158941.tif 000007
【図５】
2015158941.tif 000008