(57)【要約】それぞれが第１の論理アドレスに対する論理対物理アドレス変換を含む、論理対物理テーブルを格納することができる。それぞれが第２の論理アドレスに対する論理対物理アドレス変換を含む、論理対物理テーブルフラグメントを格納することができる。第１のレベルインデックスを格納することができる。第１のレベルインデックスは、第１の論理アドレスのそれぞれに対する論理対物理テーブルのそれぞれの物理テーブルアドレス、及び第２の論理アドレスのそれぞれに対する第２のレベルインデックスへの各ポインタを含み得る。第２のレベルインデックスは格納することができ、第２の論理アドレスのそれぞれに対する各論理対物理テーブルフラグメントの物理フラグメントアドレスを含み得る。
2021533467.tif 000002
【特許請求の範囲】
【請求項１】
複数の論理対物理テーブルのそれぞれが第１の論理アドレスに対する論理対物理アドレス変換を含む、前記複数の論理対物理テーブルを格納することと、
複数の論理対物理テーブルフラグメントのそれぞれが第２の論理アドレスに対する論理対物理アドレス変換を含む、前記複数の論理対物理テーブルフラグメントを格納することと、
第１のレベルインデックスを格納することであって、
前記第１の論理アドレスのそれぞれに対する前記複数の論理対物理テーブルのそれぞれの物理テーブルアドレスと、
前記第２の論理アドレスのそれぞれに対する第２のレベルインデックスへの各ポインタと、
を含む、前記第１のレベルインデックスを格納することと、
前記第２の論理アドレスのそれぞれに対する各論理対物理テーブルフラグメントの物理フラグメントアドレスを含む前記第２のレベルインデックスを格納することと、
を含む方法。
【請求項２】
前記第１の論理アドレスがコールド論理アドレスを備え；
前記第２の論理アドレスがホット論理アドレス及びコールド論理アドレスを含む、請求項１に記載の方法。
【請求項３】
前記複数の論理対物理テーブル、前記複数の論理対物理テーブルフラグメント、前記第１のレベルインデックス、及び前記第２のレベルインデックスを格納することが、セカンダリストレージに格納することを備え、
前記第１のレベルインデックス及び前記第２のレベルインデックスをプライマリストレージにキャッシュすることをさらに含む、請求項１に記載の方法。
【請求項４】
前記テーブルの物理メディアが信頼できなくなったことに応答して、前記複数の論理対物理テーブルの１つをフラグメント化することと、
前記複数の論理対物理テーブルの前記１つに対する前記第２のレベルインデックスへの特定のポインタを含むように、前記第１のレベルインデックスを更新することと、
前記特定のポインタに対する第２の専用領域からのフラグメントの物理フラグメントアドレスを含めるように、前記第２のレベルインデックスを更新することと、
をさらに含む、請求項３に記載の方法。
【請求項５】
前記複数の論理対物理テーブルフラグメントを格納することが、前記セカンダリストレージの第１の専用領域に格納することを備え、
前記複数の論理対物理テーブルフラグメントを格納することが、
前記複数の論理対物理テーブルフラグメントのそれぞれの各第１の部分を、前記セカンダリストレージの前記第１の専用領域に格納することと、
前記複数の論理対物理テーブルフラグメントのそれぞれの各第２の部分を、前記セカンダリストレージの第２の専用領域に格納することと、
を備える、請求項３に記載の方法。
【請求項６】
前記第１のレベルインデックス及び前記第２のレベルインデックスを格納することが、前記第１のレベルインデックス及び前記第２のレベルインデックスを、前記セカンダリストレージの前記第２の専用領域に格納することを備える、請求項５に記載の方法。
【請求項７】
ある測定間隔における前記論理アドレスのそれぞれへの各書き込み量をカウントすることと、
特定の論理対物理テーブルフラグメントに関連付けられた書き込み量が、前記測定間隔においてコールド閾値の書き込み量を超えたことに応答して、前記特定の論理対物理テーブルフラグメントを前記第２の専用領域から前記第１の専用領域に移動させることと、
をさらに含む、請求項５に記載の方法。
【請求項８】
ある測定間隔における前記論理アドレスのそれぞれへの各書き込み量をカウントすることと、
特定の論理対物理テーブルフラグメントに関連付けられた書き込み量が、前記測定間隔においてホット閾値の書き込み量を超えたことに応答して、前記特定の論理対物理テーブルフラグメントを前記第１の専用領域から前記第２の専用領域に移動させることと、
をさらに含む、請求項５に記載の方法。
【請求項９】
前記第１のレベルインデックスを格納することが、さらに、
前記第１の論理アドレスに関連付けられた第１のフラグメント化インジケータを格納することと、
前記第２の論理アドレスに関連付けられた第２のフラグメント化インジケータ及び各第２のレベルインデックスタイプインジケータを格納することと、
を含む、請求項１に記載の方法。
【請求項１０】
第１の各第２のレベルインデックスタイプインジケータを格納することによって、１つのホットフラグメントのみを有する第２のレベルインデックスタイプを示すことと、
第２の各第２のレベルインデックスタイプインジケータを格納することによって、２つのホットフラグメントのみを有する第２のレベルインデックスタイプを示すことと、
第３の各第２のレベルインデックスタイプインジケータを格納することによって、２つより多いホットフラグメントを有する第２のレベルインデックスタイプを示すことと、
をさらに含む、請求項９に記載の方法。
【請求項１１】
前記複数の論理対物理テーブルの１つをコピーするテーブルコピー動作を開始することと、
整数量の論理対物理テーブルフラグメントに対応する前記論理対物理アドレス変換の一部のみをコピーした後に、前記テーブルコピー動作を一時停止することと、
をさらに含む、請求項１に記載の方法。
【請求項１２】
プライマリストレージと、
セカンダリストレージと、
前記プライマリストレージ及び前記セカンダリストレージに結合されたコントローラであって、論理アドレスの受信に応答して、
前記論理アドレスを使用して、論理対物理テーブルの前記プライマリストレージの第１のレベルインデックスを検索することと、
前記論理アドレスに対する前記第１のレベルインデックスに格納されている前記論理対物理テーブルの物理テーブルアドレスを見つけたことに応答して、前記論理対物理テーブルから、前記論理アドレスに対応する前記セカンダリストレージの第１の物理アドレスを検索することと、
前記論理アドレスに対する前記第１のレベルインデックスに格納されている前記第２のレベルインデックスへのポインタを見つけたことに応答して、論理対物理テーブルフラグメントの第２のレベルインデックスを検索することと、
前記論理アドレスに対する前記第２のレベルインデックスに格納されている前記論理対物理テーブルフラグメントの物理フラグメントアドレスを見つけたことに応答して、前記論理対物理テーブルフラグメントから、前記論理アドレスに対応する前記セカンダリストレージの第２の物理アドレスを検索することと、
を行うように構成されている、前記コントローラと
を備える、装置。
【請求項１３】
前記コントローラが、さらに、
前記第１のレベルインデックス及び前記第２のレベルインデックスを前記セカンダリストレージに格納し、前記第１のレベルインデックス及び前記第２のレベルインデックスのコピーを前記プライマリストレージに格納すること、を行うように構成されている、請求項１２に記載の装置。
【請求項１４】
前記コントローラが、さらに、
前記論理アドレスに関連付けられかつ前記セカンダリストレージの前記第２の物理アドレスに格納されているデータを、更新データを前記セカンダリストレージの異なる物理アドレスに格納することによって、更新することと、
前記論理対物理テーブルフラグメントを新しい物理アドレスで更新することと、
前記論理対物理テーブルフラグメントを、異なる物理フラグメントアドレスを有する異なる物理的位置にコピーし、前記論理対物理テーブルフラグメントを、前記異なる物理フラグメントアドレスで更新することと、
を行うように構成されている、請求項１２または請求項１３のいずれか１項に記載の装置。
【請求項１５】
前記コントローラが、さらに、
前記論理アドレスに関連付けられかつ前記セカンダリストレージの前記第１の物理アドレスに格納されているデータを、更新データを前記セカンダリストレージの異なる物理アドレスに格納することによって、更新することと、
前記論理対物理テーブルフラグメントを新しい物理アドレスで更新することと、
前記論理対物理テーブルを、異なる物理テーブルアドレスを有する異なる物理的位置にコピーし、前記論理対物理テーブルを、前記異なる物理テーブルアドレスで更新することと、
を行うように構成されている、請求項１２または請求項１３のいずれか１項に記載の装置。
【請求項１６】
前記コントローラが、さらに、
前記論理対物理テーブルの前記物理テーブルアドレスが前記論理アドレスに対する前記第１のレベルインデックスに格納されていることに応答して、かつ
ある測定間隔における前記論理アドレスに関連付けられたデータの書き込み量がホット閾値を超えることに応答して、
前記論理アドレスに関連付けられた前記データを、前記セカンダリストレージの前記第２の物理アドレスにコピーすることと、
前記第１のレベルインデックスに、前記論理アドレスに対する前記第２のレベルインデックスへの前記ポインタを追加することと、
前記論理アドレスに対する前記第１のレベルインデックスに格納されている前記論理対物理テーブルの前記物理テーブルアドレスを削除することと、
を行うように構成されている、請求項１２または請求項１３のいずれか１項に記載の装置。
【請求項１７】
前記コントローラが、さらに、
前記第２のレベルインデックスへの前記ポインタが、前記論理アドレスに対する前記第１のレベルインデックスに格納されていることに応答して、かつ
ある測定間隔における前記論理アドレスに関連付けられたデータの書き込み量がコールド閾値未満であることに応答して、
前記論理アドレスに関連付けられた前記データを、前記セカンダリストレージの第３の物理アドレスにコピーすることと、
前記第１のレベルインデックスから、前記論理アドレスに対する前記第２のレベルインデックスへの前記ポインタを削除することと、
前記第１のレベルインデックスに、前記論理アドレスに対する前記論理対物理テーブルの前記物理テーブルアドレスを追加することと、
前記論理アドレスに対応する前記セカンダリストレージの前記第３の物理アドレスで前記論理対物理テーブルを更新することと、
を行うように構成されている、請求項１２または請求項１３のいずれか１項に記載の装置。
【請求項１８】
前記セカンダリストレージがビット変更可能ではない、請求項１２または請求項１３のいずれか１項に記載の装置。
【請求項１９】
前記セカンダリストレージがビット変更可能である、請求項１２または請求項１３のいずれか１項に記載の装置。
【請求項２０】
ストレージと、
前記ストレージに結合されるコントローラであって、
複数の論理対物理テーブルのそれぞれが第１の論理アドレスに対する論理対物理アドレス変換を含む、前記複数の論理対物理テーブルを格納することと、
複数の論理対物理テーブルフラグメントのそれぞれが第２の論理アドレスに対する論理対物理アドレス変換を含む、前記複数の論理対物理テーブルフラグメントを格納することと、
第１のレベルインデックスを格納することであって、
前記第１の論理アドレスのそれぞれに対する前記複数の論理対物理テーブルのそれぞれの物理テーブルアドレスと、
前記第２の論理アドレスのそれぞれに対する第２のレベルインデックスへの各ポインタと、
を含む、前記第１のレベルインデックスを格納することと、
前記第２の論理アドレスのそれぞれに対する各論理対物理テーブルフラグメントの物理フラグメントアドレスを含む前記第２のレベルインデックスを格納することと、
を行うように構成されている、前記コントローラと、
を備える、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、半導体メモリ及び方法に関し、より詳細には、論理対物理テーブルフラグメントに関する。
【背景技術】
【０００２】
メモリデバイスは典型的には、内部の、半導体、集積回路としてコンピュータまたは他の電子デバイスに設けられる。揮発性メモリ及び不揮発性メモリを含む多くの様々なタイプのメモリが存在する。揮発性メモリは、そのデータ（例えばホストデータ、エラーデータなど）を維持するために電力を必要とし得、とりわけ、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、及びスタティックランダムアクセスメモリ（ＳＲＡＭ）を含む。不揮発性メモリは、電力供給されていないとき格納データを保持することによって永続的データを提供することができ、とりわけ、ＮＡＮＤフラッシュメモリ、ＮＯＲフラッシュメモリ、リードオンリーメモリ（ＲＯＭ）、電気的消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ）、消去可能なプログラマブルＲＯＭ（ＥＰＲＯＭ）、ならびに相変化ランダムアクセスメモリ（ＰＣＲＡＭ）、抵抗性ランダムアクセスメモリ（ＲＲＡＭ）、及び磁気抵抗性ランダムアクセスメモリ（ＭＲＡＭ）などの抵抗可変メモリを含み得る。
【０００３】
「メインメモリ」は、プロセッサが直接アクセスかつ操作することができるデータを格納するメモリを表す技術用語である。メインメモリの例はＤＲＡＭである。メインメモリは、データのプライマリストレージを提供し、揮発性メモリまたは不揮発性メモリ（例えば、不揮発性デュアルインラインメモリモジュール（ＤＩＭＭ）などの、メインメモリとして管理される不揮発性ＲＡＭの場合）であり得る。セカンダリストレージは、データのセカンダリストレージを提供するために使用することができ、プロセッサが直接アクセスできない場合がある。しかしながら、本明細書中で使用される場合、「メインメモリ」は必ずしも揮発性メモリである必要はなく、いくつかの実施形態では、不揮発性メモリであり得る。
【０００４】
メモリデバイスを組み合わせて、ソリッドステートドライブ（ＳＳＤ）などのメモリシステムのストレージボリュームを形成することができる。ソリッドステートドライブは、様々な他のタイプの不揮発性メモリ及び揮発性メモリの中でもとりわけ、不揮発性メモリ（例えば、ＮＡＮＤフラッシュメモリ及びＮＯＲフラッシュメモリ）を含み得、かつ／または、揮発性メモリ（例えば、ＤＲＡＭ及びＳＲＡＭ）を含み得る。ＳＳＤは、ＳＳＤが、モバイルデバイスなどのロバスト性の低いデバイスによって実行され得るメモリ管理動作と比較してセカンダリストレージに対して比較的複雑なメモリ管理動作を実行することを可能とするロバストな量のローカルプライマリストレージを備えたコントローラを有し得る。
【０００５】
コントローラのローカルプライマリストレージは、ほとんどのセカンダリストレージと比較して、限られたかつ比較的高価なリソースである。コントローラのローカルプライマリストレージの大部分は、論理アドレスに対する、論理アドレスから物理アドレスへの変換を格納する論理対物理テーブルを格納することに特化し得る。論理アドレスは、実行中のアプリケーションプログラムの観点から、メモリユニット（例えば、メモリセル、データのセクター、データのブロックなど）が存在するように見えるアドレスであり、かつ、ホストまたはプロセッサによって生成されたアドレスであり得る。物理アドレスは、データバスが、メモリセル、データのセクター、データのブロックなどといった物理メモリの特定のユニットにアクセスすることを可能にするメモリアドレスである。
【図面の簡単な説明】
【０００６】
【図１】本開示のいくつかの実施形態にしたがった少なくとも１つのメモリシステムを含むコンピューティングシステムの形態の装置のブロック図である。
【図２】本開示のいくつかの実施形態にしたがった論理対物理テーブル領域及び論理対物理テーブルフラグメント領域のブロック図である。
【図３】本開示のいくつかの実施形態にしたがった論理対物理テーブル領域及び論理対物理テーブルフラグメント領域のレイアウトのブロック図である。
【図４Ａ】本開示のいくつかの実施形態にしたがった第１のレベルインデックスのブロック図である。
【図４Ｂ】本開示のいくつかの実施形態にしたがった第２のレベルインデックスのブロック図である。
【図５】本開示のいくつかの実施形態にしたがった第１のレベルインデックスアドレス指定を示すブロック図である。
【図６】本開示のいくつかの実施形態にしたがった第１のタイプの第２のレベルインデックスアドレス指定を示すブロック図である。
【図７】本開示のいくつかの実施形態にしたがった第２のタイプの第２のレベルインデックスアドレス指定を示すブロック図である。
【図８】本開示のいくつかの実施形態にしたがった第３のタイプの第２のレベルインデックスアドレス指定を示すブロック図である。
【図９】本開示のいくつかの実施形態にしたがったホット及びコールドの論理対物理テーブルフラグメントの測定間隔を示すタイムラインである。
【図１０】本開示のいくつかの実施形態にしたがった冗長論理対物理テーブルフラグメントのブロック図である。
【発明を実施するための形態】
【０００７】
本開示は、論理対物理テーブルフラグメントに関する。本開示のいくつかの実施形態は、大容量メモリデバイスの場合でさえ、コントローラに必要とされるだろうプライマリストレージの量を低減することができる。本開示のいくつかの実施形態は、大容量メモリデバイスの場合でさえ、セカンダリストレージの単一の読み取りのみで論理対物理アドレス変換を提供することができる。
【０００８】
本開示の以下の詳細な説明では、本明細書の一部を構成する添付図面への参照がなされ、それらの図面では、本開示のいくつかの実施形態がどのように実施され得るかが一例として示される。これらの実施形態は、当業者が本開示の実施形態を実施することが可能となるように十分詳細に説明されており、本開示の範囲から逸脱することなく、他の実施形態が利用されてもよいこと、ならびにプロセスの変更、電気的変更及び／または構造的変更がなされてもよいことが理解されよう。本明細書で用いられる場合、特定のものの「いくつかの」は、そのようなものの１つまたは複数を指すことができる（例えば、いくつかのメモリデバイスは、１つまたは複数のメモリデバイスを指すことができる）。本明細書で用いられる場合、「第１の」及び「第２の」という用語は、ある特徴を別の特徴と区別するために使用され、必ずしも、そのように指定された特徴間の順序を意味するわけではない。例えば、「第１の物理アドレス」は、必ずしも、第１の物理アドレスが「第２の物理アドレス」の前にくることを意味するわけではない。
【０００９】
本明細書で用いられる場合、単数形「ａ（１つの）」、「ａｎ（１つの）」、及び「ｔｈｅ（その）」は、文脈上明らかに別段に示されている場合を除き、単数形及び複数形の指示対象を含む。さらに、単語「ｍａｙ（し得る）」は、本出願の全体を通して、必須の意味（すなわち、しなければならない）ではなく、許容的な意味（すなわち、する可能性がある、することが可能である）で用いられる。「含む」という用語及びその派生語は、「含むがこれに限定されない」ことを意味する。「結合された」という用語は、直接または間接的に接続されていることを意味する。
【００１０】
本明細書中の図は、最初の桁（単数または複数）が図面の図番に対応し、残りの桁が図面の要素または構成要素を識別するという番号付けの慣習に従う。異なる図における同様の要素または構成要素は、同様の桁を使用することによって識別され得る。例えば、１０８は、図１における参照要素「０８」を参照してもよく、同様の要素は、図２において２０８として参照されてもよい。理解されるように、本明細書中の様々な実施形態において示される要素は、本開示のいくつかの追加の実施形態を提供するように、追加、交換、かつ／または除去することができる。加えて、理解されるように、図において提供される要素の比率及び相対的大きさは、本開示の特定の実施形態を例示することを意図しており、限定的な意味で見なされるべきではない。
【００１１】
図１は、本開示のいくつかの実施形態にしたがった少なくとも１つのメモリシステムを含むコンピューティングシステム１００の形態の装置のブロック図である。本明細書で使用される場合、コンピューティングシステム１００、メモリシステム（一般にプライマリストレージ１０６及びセカンダリストレージ１１２を含む）、コントローラ１０２、またはセカンダリストレージ１１２も個別に「装置」と見なされ得る。コンピューティングシステム１００は、様々な他のタイプのコンピューティングシステム１００の中でもとりわけ、パーソナルラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、携帯電話もしくは他のモバイルデバイス、メモリカードリーダ、ストレージデバイス、またはメモリコントローラであり得る。コンピューティングシステム１００は、コントローラ１０２を含み得、コントローラ１０２は、プロセッサ１０４及び／または他の制御回路、及びプライマリストレージ１０６を提供するいくつかのメモリデバイスを含み得る。例えば、プライマリストレージはＳＲＡＭであり得る。コントローラ１０２は、プライマリストレージ１０６及びセカンダリストレージ１１２に結合され得る。
【００１２】
プロセッサ１０４は、キャッシュベースのプロセッサであり得、例えば、処理ユニット（例えば、中央処理ユニット「ＣＰＵ」）、処理ユニットに結合された第１のレベルのキャッシュ、第１のレベルのキャッシュに結合された第２のレベルのキャッシュ、及び第２のレベルのキャッシュに結合されたいくつかの追加レベルのキャッシュを含み得る。具体的には示されていないが、第１のレベルのキャッシュ、第２のレベルのキャッシュ、及び追加のレベルのキャッシュは、本明細書では総称してキャッシュと呼ばれることがある。キャッシュは、プライマリストレージと呼ばれることもあり、これは、図１に具体的に示されているプライマリストレージ１０６と同じ場合も異なる場合もある。実施形態は、特定の数のレベルのキャッシュに限定されるものではなく、上述したものよりも多いまたは少ないキャッシュを含むことができる。キャッシュは、処理ユニットによって使用されて、頻繁に使用されるデータを格納することによって、プライマリストレージ１０６及び／またはセカンダリストレージ１１２にアクセスするための平均時間を短縮することができる。処理ユニットがキャッシュにアクセスするための待ち時間は、プライマリストレージ１０６及び／またはセカンダリストレージ１１２にアクセスするための待ち時間よりも短い。
【００１３】
図１に示されるように、コントローラ１０２は、いくつかのチャネルを介してセカンダリストレージ１１２に結合され得、それらの間でデータを送信するために使用することができる。インターフェースは、標準化されたインターフェースの形態であり得る。例えば、メモリシステムがコンピューティングシステム１００においてデータ格納に使用される場合、インターフェースは、オープンＮＡＮＤフラッシュインターフェース（ＯＮＦＩ）またはダブルデータレート（ＤＤＲ）インターフェースといった比較的単純なプロトコルを実装するインターフェースであり得る。しかしながら、概して、インターフェースは、メモリシステムと、インターフェースと互換性のあるレセプタを有するセカンダリストレージ１１２の間で、制御信号、アドレス信号、データ信号及び他の信号を渡すためのインターフェースを提供することができる。コントローラ１０２は、セカンダリストレージ１１２と通信して、他の動作の中でもとりわけ、読み取り、書き込み、消去、移動、及びウェアレベリングを制御することができる。セカンダリストレージ１１２は、単一のダイ上の複数のメモリアレイ、複数のダイ上の複数のメモリアレイ、または単一のダイ上の単一のメモリアレイであり得る。コントローラ１０２は、セカンダリストレージ１１２のいずれかまたは全てと同じダイまたは異なるダイに組み込むことができる。同様に、コントローラ１０２は、プライマリストレージ１０６のいずれかまたは全てと同じダイまたは異なるダイに組み込むことができる。
【００１４】
セカンダリストレージ１１２は、例えば、ＮＡＮＤアーキテクチャまたはＮＯＲアーキテクチャを備えたフラッシュアレイであり得る。しかしながら、実施形態は、特定のタイプのメモリアレイまたはアレイアーキテクチャに限定されない。ＮＡＮＤアーキテクチャのフローティングゲートタイプのフラッシュメモリセルが、一般に本明細書中で言及されているが、実施形態はそれに限定されるものではない。他の例として、とりわけ、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、強誘電体ＲＡＭ（ＦＲＡＭ）、及び相変化ランダムアクセスメモリ（ＰＣＲＡＭ）、抵抗ランダムアクセスメモリ（ＲＲＡＭ）、磁気抵抗型ランダムアクセスメモリ（ＭＲＡＭ）などの抵抗可変メモリ、及び３Ｄ  ＸＰｏｉｎｔが挙げられる。
【００１５】
セカンダリストレージ１１２は、いくつかのアレイのメモリセル（例えば、不揮発性メモリセル）を含み得る。メモリセルは、例えば、複数の物理ページを含むいくつかのブロックにグループ化することができる。メモリセルのプレーンにはいくつかのブロックが含まれ得、アレイはいくつかのプレーンを含み得る。
【００１６】
図１に示されるように、コントローラ１０２は、いくつかのチャネルを介してホストまたは周辺機器（一般に図１の参照番号１１８によって識別される）に結合され得、それらの間でデータを送信するために使用することができる。インターフェースは、標準化されたインターフェースの形態であり得る。例えば、メモリシステムがコンピューティングシステム１００においてデータ格納に使用される場合、インターフェースは、とりわけ、シリアルアドバンスドテクノロジアタッチメント（ＳＡＴＡ）、ペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）、またはユニバーサルシリアルバス（ＵＳＢ）といった比較的複雑なプロトコルを実装するインターフェースであり得る。しかしながら、概して、インターフェースは、メモリシステムと、インターフェースと互換性のあるレセプタを有するホストまたは周辺機器１１８の間で、制御信号、アドレス信号、データ信号及び他の信号を渡すためのインターフェースを提供することができる。
【００１７】
動作中、データは、例えば、データのページとして、セカンダリストレージ１１２に書き込むことができるかつ／またはそこから読み取ることができる。かくして、データのページは、セカンダリストレージ１１２のデータ転送サイズと呼ぶことができる。データはセクター（例えば、ホストセクター）と称されるデータセグメントでホストまたは周辺機器１１８に／から送信することができる。かくして、データのセクターは、ホストまたは周辺機器のデータ転送サイズと呼ぶことができる。セクターサイズは、セカンダリストレージ１１２にフォーマットされたファイルシステムによって定義することができる。
【００１８】
読み取り要求は、他の発信元（例えば、周辺機器１１８としてやはり識別することができるダイレクトメモリアクセス（ＤＭＡ）デバイスから）の中でもとりわけ、ホスト１１８からかつ／またはメモリシステムから発信することができる。例えば、読み取り要求は、ウェアレベリング動作の一部としてメモリシステムから発信することができる。メモリシステムは、ウェアレベリング（例えば、ガベージコレクション及び／またはリクラメーション）を実装して、セカンダリストレージ１１２のウェア率を制御することができる。メモリアレイは、いくつかのプログラム及び／または消去サイクルの後にエラー（例えば、失敗）を経験し得る。ウェアレベリングは、サイクルをアレイ全体に、より均等に分散させることによって、特定のグループで実行されるプログラム及び／または消去サイクルの数を低減させることができる。ビット変更可能なメモリの場合、スタティックかつ／またはダイナミックウェアレベリングを使用して、書き込み動作をアレイ全体に分散し、他のアドレスよりもはるかに頻繁な一部のアドレスへの循環を回避することができる。ビット変更可能ではないメモリの場合、ダイナミックウェアレベリングを使用して、ブロックをリクレームするために移動された有効なブロックの量を最小限に抑えることができる。ダイナミックウェアレベリングには、ビット変更可能ではないメモリのガベージコレクションと呼ばれる手法を挙げることができる。ガベージコレクションは、（例えば、「貪欲アルゴリズム」にしたがって）最も無効なページを有するブロックのリクラメーション（例えば、消去して書き込み可能にする）を含み得る。代替として、ガベージコレクションは、閾値量を超える無効なページを有するブロックのリクラメーションを含み得る。書き込み動作に十分な空きブロックが存在する場合、ガベージコレクション動作が発生しない場合がある。例えば、無効なページは、異なるページに更新されている情報のページであり得る。スタティックウェアレベリングは、ブロックの寿命を延ばすために、消去回数が多いブロックにスタティック情報を書き込むことを含み得る。
【００１９】
メモリデバイスでは、論理対物理「Ｌ２Ｐ」テーブル１１４は、各論理アドレス（例えば、論理ブロックアドレス「ＬＢＡ」）に対する物理アドレス（例えば、物理ブロックアドレス「ＰＢＡ」）を提供する。Ｌ２Ｐテーブル１１４は、レベルでインデックス付けすることができ、ウェアレベリングの目的で定期的に移動される。例えば、ＮＡＮＤ技術の場合、ＮＡＮＤメディアはビット変更可能ではないので、単一のＰＢＡを更新するのにＬ２Ｐテーブル全体をコピーする必要がある。いくつかのアプローチでは、Ｌ２Ｐテーブルは、第１のレベルインデックス１０８が第２のレベルインデックス１１０の物理アドレスを提供するように、レベルでインデックス付けすることができる。複数のＬ２Ｐテーブルがあるので、ＬＢＡをＰＢＡに変換するために、まず、変換を格納している正しいＬ２Ｐテーブルを見つけなければならない。第１のレベルインデックス１０８を、ＰＢＡ検索が単一のメディア読み取りのみを使用するように、セカンダリストレージ１１２（例えば、ＮＡＮＤ）からプライマリストレージ１０６（例えば、ＳＲＡＭ）にコピーすることができる。
【００２０】
表１は、第１のレベルインデックス１０８をキャッシュするために５１２キロバイト（ＫＢ）のプライマリストレージ１０６を使用する５１２ギガバイト（ＧＢ）のメモリデバイスの例を示すが、実施形態は特定の容量に限定されるものではない。
【表１】
2021533467.tif 000003
【００２１】
４ＫＢブロックサイズを想定すると、完全なＬ２Ｐテーブルには１２８Ｍｉ個のエントリがある。以前のアプローチの中には、様々なＬＢＡに対するＰＢＡを含む様々なＬ２Ｐテーブルを直接指す単一のレベルインデックスを使用するものがある。しかしながら、本開示の実施形態は、第１のレベルインデックス及び第２のレベルインデックスの両方を含む。１６Ｋｉの第２のレベルインデックスがある。
【００２２】
５１２ＫＢの第１のレベルインデックスは、多くのコントローラが、プライマリストレージ１０６にローカルに格納可能である大量のデータである。ＬＢＡのごく一部のみが頻繁に書き込まれ、これは、ＬＢＡに関連付けられたデータの更新とも呼ばれ得る。これらは、ホットＬＢＡと呼ばれ得る。本開示の少なくとも１つの実施形態によれば、Ｌ２Ｐテーブル管理は、ホットＬＢＡ用のより小さなテーブル及びコールドＬＢＡ（より少ない頻度で書き込まれる論理アドレス）用のより大きなテーブルを使用して向上させることができる。ホットＬＢＡのあるテーブルは、ウェアレベリングの目的で頻繁に移動される。小さいテーブルの方がコピーするのにかかる時間が短いため、ホットＬＢＡ用に、より小さなテーブルを用意すると有益である。Ｌ２Ｐテーブルをフラグメント化すると、ホットＬＢＡをホットＬ２Ｐテーブルフラグメントに格納することができるようになる。Ｌ２Ｐテーブルフラグメント１１６は、Ｌ２Ｐテーブルフラグメント領域に格納することができ、これは、他のＬ２Ｐテーブル１１４用のＬ２Ｐテーブル領域よりも高いオーバープロビジョニングを有し得、デバイスの寿命を延ばす。プライマリストレージ１０６は、一般に、セカンダリストレージ１１２よりも高価かつ限定されたリソースである。第１のレベルインデックス１０８全体をプライマリストレージ１０６にコピーすることができる。さらに、パフォーマンスを向上させるために、Ｌ２Ｐテーブル１１４の一部をプライマリストレージ１０６にキャッシュし得る。第２のレベルインデックス１１０は、完全にまたは部分的にプライマリストレージ１０６にコピーされ得る。ランダムアクセスでは、第１のレベルインデックス１０８及び第２のレベルインデックス１１０の両方でキャッシュミスが頻繁に発生する。したがって、ＬＢＡに対するＰＢＡを検索するためにセカンダリストレージ１１２の２つの読み取りを用いる（１つは第２のレベルインデックス１１０に対してであり、１つはＰＢＡを検索するためＬ２Ｐテーブル１１４に対してである）。しかしながら、本開示の少なくとも１つの実施形態によれば、ＬＢＡに対するＰＢＡを検索するためにセカンダリストレージ１１２の単一の読み取りのみを実行しながら、プライマリストレージ１０６のサイズを大容量メモリデバイスに対してさえも縮小することができる。
【００２３】
表１とは異なり、Ｌ２Ｐテーブルフラグメントを含む本開示のいくつかの実施形態によれば、各Ｌ２Ｐテーブルは、ＬＢＡ［１２：０］によってアドレス指定され得る８１９２個のエントリを含み得る。１６Ｋｉの第２のレベルインデックスがある。Ｌ２Ｐテーブルの物理アドレスは、物理テーブルアドレス（ＰＴＡ［１４：０］）と呼ばれ得る。各第１のレベルインデックスエントリには、物理テーブルアドレスまたは第２のレベルインデックスへのポインタが含まれる。第１のレベルインデックスには１６，３８４個のエントリがあり、ＬＢＡ［２６：１３］によってアドレス指定されている。セカンダリストレージ１１２がビット変更可能でない場合、Ｌ２Ｐテーブルエントリが書き込まれるたびに、Ｌ２Ｐテーブル全体が異なる物理的位置にコピーされる。頻繁に書き込まれるＬＢＡは、頻繁なＬ２Ｐテーブルのコピーを引き起こし得る。セカンダリストレージ１１２がビット変更可能である場合（３Ｄ  ＸＰｏｉｎｔまたは相変化メモリなど）、Ｌ２Ｐテーブルエントリは、Ｌ２Ｐテーブルをコピーすることなく、インプレースで更新され得る。しかしながら、本開示の少なくとも１つの実施形態は、ビット変更可能であるセカンダリストレージ１１２に対してでさえ、Ｌ２Ｐテーブルエントリを「アウトオブプレース」で（例えば、本明細書中でより詳細に説明されるように、更新されたデータを異なる物理アドレスに格納することによって）更新することを含む。そのような実施形態は、より良いウェアレベリングを有利に提供することができる。ＬＢＡのごく一部が頻繁に更新されるため、関連するＬ２Ｐエントリをより小さなテーブルで管理することが有用である。これにより、Ｌ２Ｐテーブルのコピー動作の量を低減させることができ、パフォーマンスが向上しかつサイクリングが減少する。かくして、本開示のいくつかの実施形態によれば、各Ｌ２Ｐテーブルは、フラグメントに分割することができる（例えば、Ｌ２Ｐテーブルあたり１６のフラグメントに。各フラグメントは５１２個のエントリを含む）。Ｌ２Ｐテーブル１１４及びＬ２Ｐテーブルフラグメント１１６は、専用領域に格納することができる。
【００２４】
ＰＢＡの対象でありかつユーザデータまたはシステムデータを格納するために使用され得る物理ブロック自体は、図１に示されるセカンダリストレージ１１２の一部及び／またはやはりコントローラ１０２に結合されている異なるセカンダリストレージ（具体的には示されていない）の一部であり得る。いくつかの実施形態では、物理ブロックのうちいくつかは、セカンダリストレージ１１２の一部であり得、物理ブロックのうちいくつかは、異なるセカンダリストレージ（具体的には示されていない）の一部であり得る。例えば、セカンダリストレージ１１２は、３Ｄ  ＸＰｏｉｎｔメモリを備え得、異なるセカンダリストレージは、フラッシュメモリを備える。そのような実施形態では、フラッシュメモリは、Ｌ２Ｐテーブル１１４を格納しない場合がある。Ｌ２Ｐテーブルをフラッシュメモリではなく３Ｄ  ＸＰｏｉｎｔにのみ格納することによって、２つの利点を得ることができる。第１に、メモリのごく一部への読み取り及び書き込みアクセスが３Ｄ  ＸＰｏｉｎｔによって実行されると高速になるため、パフォーマンスを向上させることができる。第２に、耐久性を向上させることができる。３Ｄ  ＸＰｏｉｎｔはビット変更可能であるため、単一のＬ２Ｐポインタの更新をインプレースで実行することができ、Ｌ２Ｐテーブルフラグメント全体のコピーを回避する。
【００２５】
図２は、本開示のいくつかの実施形態にしたがった論理対物理テーブル領域２２０及び論理対物理テーブルフラグメント領域２２２のブロック図である。（フラグメント化されていない）Ｌ２Ｐテーブル２１４及びＬ２Ｐテーブルフラグメント２１６はそれぞれ、対応するＬＢＡ２２１に対するそれぞれのＰＢＡ２１９（論理対物理アドレス変換）を格納する。例えば、Ｌ２Ｐテーブル２１４は、８１９２個の論理対物理アドレス変換（「エントリ」）を格納し得る。エントリは、ＬＢＡが書き込まれたときまたはマッピング解除されたときに更新することができる。Ｌ２Ｐテーブル２１４は、Ｌ２Ｐテーブル領域２２０に格納することができる。Ｌ２Ｐテーブル２１４へのアクセスは、第１のレベルインデックス２０８を使用して達成することができる。
【００２６】
各Ｌ２Ｐテーブルは、例えば、Ｌ２Ｐテーブルフラグメント２１６といった１６個のフラグメントにフラグメント化することができる。各Ｌ２Ｐテーブルフラグメント２１６は、５１２個のエントリを格納することができる。Ｌ２Ｐテーブルフラグメント２１６は、Ｌ２Ｐテーブルフラグメント領域２２２に格納することができる。Ｌ２Ｐテーブルフラグメント２１６へのアクセスは、第１のレベルインデックス２０８及び第２のレベルインデックス２１０を使用して達成することができる。第１のレベルインデックス２０８及び／または第２のレベルインデックス２１０は、セカンダリストレージに格納し、例えば、電源投入時にプライマリストレージにコピーすることができる。
【００２７】
Ｌ２Ｐテーブルフラグメント領域２２２は、ホット（頻繁に書き込まれる）ＬＢＡ２２１を含むＬ２Ｐテーブルの一部を格納するために使用することができる。Ｌ２Ｐテーブル領域２２０に完全に格納することができるＬ２Ｐテーブルもあれば、フラグメント化されるＬ２Ｐテーブルもある。Ｌ２Ｐテーブル領域２２０に完全に格納されているＬ２Ｐテーブルの場合、第１のレベルインデックス２０８のエントリは、矢印２２４によって示されるように、Ｌ２Ｐテーブルの物理テーブルアドレス２２３−１を提供する（ＬＢＡ［２６：１３］「ｊ」の場合、エントリは「ＰＴＡ＝ｂ」であり、それはＬ２Ｐテーブル領域２２０を指す）。フラグメント化されたＬ２Ｐテーブルの場合、第１のレベルインデックス２０８のエントリは、矢印２２６によって示されるように、第２のレベルインデックス２１０へのポインタ２２５である（ＬＢＡ［２６：１３］「ｍ」の場合、エントリは「ＳＬＡ＝ｒ」であり、第２のレベルインデックス２１０の第２のレベルアドレス（ＳＬＡ）「ｒ」を指す）。第２のレベルインデックス２１０は、各論理対物理テーブルフラグメント２１６の物理フラグメントアドレスを示し得る。第２のレベルインデックス２１０は、Ｌ２Ｐテーブル領域２２０（例の物理テーブルアドレス２２３−２「ＰＴＡ［１４：０］＝ｐ」によって示されるようにかつ矢印２２８によって示されるように）またはＬ２Ｐテーブルフラグメント領域２２２（例の物理フラグメントアドレス２２７「ＰＦＡ［１４：０］＝ｖ」で示されるようにかつ矢印２３０で示されるように）のいずれかにおける位置を示す物理フラグメントアドレスを格納することができる。
【００２８】
本明細書で説明するように、ＬＢＡは、一定期間、Ｌ２Ｐテーブルフラグメントの移動量、または別の測定間隔などのある測定間隔におけるＬＢＡの書き込み量に応じて、ホットまたはコールドであり得る。第２のレベルインデックス２１０において、ＬＢＡ［１２：９］「ｗ」は、関連する物理フラグメントアドレス２２７の「ｖ」を有し、これは、矢印２３０によって示されるように、Ｌ２Ｐテーブルフラグメント領域２２２の物理フラグメントアドレスである。矢印２３２は、ＬＢＡ［１２：９］「ｗ」が以前はコールドであり、Ｌ２Ｐテーブル領域２２０に格納されていたことを示している。これは、例えば、ある測定間隔におけるＬＢＡに関連付けられたデータの書き込み量がホット閾値より大きいことに応答して、Ｌ２Ｐテーブルフラグメントに関連するＬＢＡがコールドからホットに変化したことに応答して、Ｌ２Ｐテーブル領域２２０からＬ２Ｐテーブルフラグメント領域２２２にＬ２Ｐテーブルフラグメントが移動されている例である。ＬＢＡに関連付けられたデータは、Ｌ２Ｐテーブルフラグメント領域２２２にコピーすることができ、第２のレベルインデックス２１０へのポインタを、ＬＢＡに対する第１のレベルインデックス２０８に追加することができ、ＬＢＡに対する第１のレベルインデックス２０８に格納されているＬ２ＰテーブルのＰＴＡは削除することができる。具体的には示されていないが、Ｌ２Ｐテーブルフラグメントは、例えば、ある測定間隔におけるＬＢＡに関連付けられたデータの書き込み量がコールド閾値よりも小さいことに応答して、ホットからコールドに変化し得、Ｌ２Ｐテーブルフラグメント領域２２２からＬ２Ｐテーブル領域２２０に移動され得る。ＬＢＡに関連付けられたデータは、Ｌ２Ｐテーブルフラグメント領域２２２からＬ２Ｐテーブル領域２２０の異なる物理アドレスにコピーすることができ、ＬＢＡに対する第２のレベルインデックス２１０へのポインタを、第１のレベルインデックス２０８から削除することができ、ＬＢＡに対するＬ２ＰテーブルのＰＴＡを、第１のレベルインデックス２０８に追加することができる。
【００２９】
コントローラ（例えば、図１に示されるコントローラ１０２）は、論理アドレス２２１（例えば、論理ブロックアドレス）の受信に応答して、論理アドレス２２１を用いて、論理対物理テーブル２１４の第１のレベルインデックス２０８（プライマリストレージの）を検索するように構成することができる。コントローラは、論理アドレス２２１に対する第１のレベルインデックス２０８に格納されている論理対物理テーブル２１４の物理テーブルアドレス２２３−１を見つけたことに応答して、論理対物理テーブル２１４から、論理アドレス２２１に対応する第１の物理アドレス２１９−１（例えば、物理ブロックアドレス）を検索するように構成することができる。コントローラは、論理アドレス２２１に対する第１のレベルインデックス２０８に格納されている第２のレベルインデックス２１０へのポインタ２２５を見つけたことに応答して、論理対物理テーブルフラグメント２１６の第２のレベルインデックス２１０を検索するように構成することができる。コントローラは、論理アドレス２２１に対する第２のレベルインデックスに格納されている論理対物理テーブルフラグメント２１６の物理フラグメントアドレス２２７を見つけたことに応答して、論理対物理テーブルフラグメント２１６から、論理アドレス２２１に対応するセカンダリストレージの第２の物理アドレス２１９−２を検索するように構成することができる。
【００３０】
コントローラは、論理アドレス２２１に関連付けられかつ第１の物理アドレス２１９−１に格納されているデータを、更新データを異なる物理アドレス２１９に格納することによって更新するように構成することができる。例えば、更新データは、論理対物理テーブル２１４を含むメディア（例えばセカンダリストレージ）にまたは異なるメディアに格納することができる。論理対物理テーブル２１４または論理対物理テーブルフラグメント２１６は、異なる物理アドレス２１９で更新することができる。コントローラはまた、論理対物理テーブル２１４を、異なる物理テーブルアドレス２２３を有する異なる物理的位置にコピーし、かつ、第１のレベルインデックス２０８を異なる物理テーブルアドレスで更新するようにも構成することができる。第１のレベルインデックス２０８は、２つのコピー（１つはプライマリストレージに、１つはセカンダリストレージに）を有し得、両方とも更新することができる。
【００３１】
コントローラは、論理アドレス２２１に関連付けられかつ第２の物理アドレス２１９−２に格納されているデータを、更新データを異なる物理アドレス２１９に格納することによって更新するように構成することができる。コントローラはまた、論理対物理テーブルフラグメント２１６を、異なる物理フラグメントアドレスを有する異なる物理的位置にコピーし、かつ、第２のレベルインデックス２１０を異なる物理フラグメントアドレスで更新するように構成することもできる。第２のレベルインデックス２１０は、２つのコピー（１つはプライマリストレージに、１つはセカンダリストレージに）を有し得、両方とも更新することができる。
【００３２】
いくつかの実施形態では、論理アドレスに関連付けられたデータの更新は、データを格納するために使用されるセカンダリストレージのビット変更可能性に関係なく、「アウトオブプレース」で（例えば、異なる物理ブロックに書き込むことによって）実行され得る。セカンダリストレージがビット変更可能である（例えば３Ｄ  ＸＰｏｉｎｔ）場合、新しい物理アドレスでのＬ２Ｐテーブルフラグメントの更新を「インプレース」で実行することができる（同じ物理ブロックを書き換える）。セカンダリストレージがビット変更可能でない場合（例えばＮＡＮＤフラッシュ）、新しい物理アドレスでのＬ２Ｐテーブルフラグメントの更新は、「アウトオブプレース」で実行される（Ｌ２Ｐテーブルフラグメントを異なる物理的位置にコピーする）。ビット変更可能であるセカンダリストレージの場合、ウェアレベリングの目的で、一定量の書き換えを行った後、Ｌ２Ｐテーブルフラグメントを異なる物理的位置にコピーすることができる。
【００３３】
図３は、本開示のいくつかの実施形態にしたがった論理対物理テーブル領域３２０及び論理対物理テーブルフラグメント領域３２２のレイアウトのブロック図である。Ｌ２Ｐテーブルの物理アドレスは、物理テーブルアドレス（ＰＴＡ）と呼ばれる。この例では、Ｌ２Ｐテーブル領域３２０に１６，５１２個のＰＴＡがある。Ｌ２Ｐテーブルフラグメントの物理アドレスは、物理フラグメントアドレス（ＰＦＡ）と呼ばれる。この例では、Ｌ２Ｐテーブルフラグメント領域３２２に３２，７６８個のＰＦＡがあり、それぞれがＰＦＡ［１４：０］値で識別される。ＰＦＡは、第２のレベルインデックスで提供される。フラグメント化されているＬ２Ｐテーブルの場合、第１のレベルインデックスには、ＰＦＡを含む第２のレベルインデックスへのポインタが含まれる。Ｌ２Ｐテーブルをフラグメント化することができる粒度は、第２のレベルインデックスに格納されているまたは格納可能なエントリの最大数によって制限される。
【００３４】
第１のレベルインデックス及び／または第２のレベルインデックスの不揮発性コピーは、Ｌ２Ｐテーブルフラグメント領域３２２に、そこに格納されている任意のＬ２Ｐアドレス変換に加えて、格納することができる。これらのテーブルは、ＰＢＡを検索するためにセカンダリストレージを１回読み取るだけですむように、プライマリストレージにキャッシュし得る。第１のレベルインデックス及び第２のレベルインデックスは、テーブルが移動されたときにのみエントリが更新されるため、Ｌ２Ｐテーブルよりもはるかにまれにしか書き込まれない。
【００３５】
Ｌ２Ｐテーブルは、ある測定間隔における書き込み量がフラグメント化閾値に達するとフラグメント化され得る。矢印３３２は、特定のＬ２Ｐテーブルフラグメントが以前にコールドであり、Ｌ２Ｐテーブル領域３２０に格納されていたことを示している。これは、Ｌ２Ｐテーブルフラグメントに関連付けられたＬＢＡがコールドからホットに変化したことに応答して、Ｌ２Ｐテーブル領域３２０からＬ２Ｐテーブルフラグメント領域３２２に移動されているＬ２Ｐテーブルフラグメントの例である。具体的に図示されていないが、Ｌ２Ｐテーブルフラグメントは、ホットからコールドに変化すると、Ｌ２Ｐテーブルフラグメント領域３２２からＬ２Ｐテーブル領域３２０に移動され得る。ホットとコールドのＬＢＡまたはＬ２Ｐテーブルフラグメントの違いは、ある測定間隔における書き込み量をカウントすることで判断することができる。書き込み量がコールド閾値よりも少ない場合、ホットＬ２Ｐテーブルフラグメントを、Ｌ２Ｐテーブルフラグメント領域３２２からＬ２Ｐテーブル領域３２０に移動することができる。書き込み量がホット閾値よりも大きい場合、コールドＬ２Ｐテーブルフラグメントを、Ｌ２Ｐテーブル領域３２０からＬ２Ｐテーブルフラグメント領域３２２に移動することができる。
【００３６】
表２は、第１のレベルインデックスに使用することができるフォーマットの例を示す。
【表２】
2021533467.tif 000004
【００３７】
第１のレベルインデックスが使用するアドレス指定のタイプは、第１のテーブルアドレス指定（ＦＴＡ）ビットで示される（例えば、テーブルアドレス指定の場合はＦＴＡ＝１、または、フラグメントアドレス指定の場合はＦＴＡ＝０）。ＦＴＡビットは、フラグメント化インジケータと呼ばれることがある。１に設定されたＦＴＡビットは、Ｌ２Ｐテーブルがフラグメント化されていないこと、及び第１のレベルエントリにそのＰＴＡが含まれていることを指定する。０に設定されたＦＴＡビットは、Ｌ２Ｐテーブルがフラグメント化され、その物理テーブルアドレスが第２のレベルインデックスで指定されることを指定する。第１のレベルエントリは、第２のレベルインデックス（ＳＬＩ）タイプインジケータ及び第２のレベルアドレス（ＳＬＡ）を提供する。第２のレベルインデックスのエントリは、第２のレベルエントリ（ＳＬＥ）と呼ばれる。第２のレベルインデックスサイズ、ひいてはプライマリストレージのサイズを減らすために、３つの第２のレベルインデックスタイプは、表３に示すように可変サイズで定義される。
【表３】
2021533467.tif 000005
【００３８】
表４は、Ｌ２Ｐテーブルフラグメント領域３２２に格納されているフラグメントが１つだけであるＬ２Ｐテーブルに使用することができるＳＬＩタイプ−１フォーマットを示す。
【表４】
2021533467.tif 000006
【００３９】
ＦＲＡＧ［３：０］フィールドは、Ｌ２Ｐテーブルフラグメント領域３２２に格納されているフラグメントのインデックスを指定し、一方、ＰＦＡフィールドは、その物理アドレスを指定する。他の１５個のテーブルフラグメントは、ＰＴＡフィールドによって示されるＰＴＡのＬ２Ｐテーブル領域３２０に格納される。
【００４０】
表５は、Ｌ２Ｐテーブルフラグメント領域に２つのフラグメントのみが格納されているＬ２Ｐテーブルに使用されるＳＬＩタイプ−２フォーマットを示す。
【表５】
2021533467.tif 000007
【００４１】
この場合、Ｌ２Ｐテーブルフラグメント領域３２２に格納されている２つのＬ２Ｐテーブルフラグメントのインデックスは、ＦＲＡＧ＿Ａ［３：０］フィールド及びＦＲＡＧ＿Ｂ［３：０］フィールドによって提供される。関連するＰＦＡフィールドは、それらの物理アドレスを指定する。他の１４個のテーブルフラグメントは、ＰＴＡフィールドによって示されるＰＴＡのＬ２Ｐテーブル領域３２０に格納される。
【００４２】
表６は、Ｌ２Ｐテーブルフラグメント領域３２２に３つ以上のフラグメントが格納されているＬ２Ｐテーブルに使用されるＳＬＩタイプ−３フォーマットを示している。
【表６】
2021533467.tif 000008
【００４３】
ＳＬＩには、Ｌ２Ｐテーブルフラグメントごとに２−バイトエントリが含まれている。第２のテーブルアドレス指定（ＳＴＡ）ビットは、Ｌ２ＰフラグメントがＬ２Ｐテーブル領域３２０に格納されているかまたはＬ２Ｐテーブルフラグメント領域３２２に格納されているかを示す。０に設定されたＳＴＡビットは、Ｌ２ＰテーブルフラグメントがＬ２Ｐテーブルフラグメント領域３２２に格納され、残りのエントリビットがＰＦＡを提供することを指定する。
【００４４】
図４Ａは、本開示のいくつかの実施形態にしたがった第１のレベルインデックス４０８のブロック図である。例えば、第１のレベルインデックス４０８のサイズは３２ＫＢであり、１６，３８４個の２−バイトエントリが含まれている。
【００４５】
図４Ｂは、本開示のいくつかの実施形態にしたがった第２のレベルインデックス４１０のブロック図である。第２のレベルインデックス４１０は、３つの異なる第２のレベルインデックスタイプに対して３つの領域に分割されている。第２のレベルインデックス４１０のサイズは１６ＫＢである。８１９個の第２のレベルインデックスタイプ−１エントリ４３４が４ＫＢ、５１２個の第２のレベルインデックスタイプ−２エントリ４３６が４ＫＢ、２５６個の第２のレベルインデックスタイプ−３エントリ４３８が８ＫＢである。第２のレベルインデックスタイプ−３エントリ４３８は、機能性の観点から好ましい場合があるが、それらはまた、最も多くのスペースを占める。コントローラのファームウェアは、プライマリストレージを再フォーマットして、異なる第２のレベルインデックスタイプエントリ間の内訳を変更することができる。
【００４６】
図５は、本開示のいくつかの実施形態にしたがった第１のレベルインデックスアドレス指定を示すブロック図である。ＬＢＡ５２１「ｊ」に対するＰＴＡ５２３「ＰＴＡｊ」が、第１のレベルインデックス５０８から検索される。ＰＴＡ５２３は、矢印５２４によって示されるように、Ｌ２Ｐテーブル５１４がメディアに格納されている物理的な位置を示す。
【００４７】
図６は、本開示のいくつかの実施形態にしたがった第１のタイプの第２のレベルインデックスアドレス指定を示すブロック図である。フラグメントアドレス指定は、Ｌ２Ｐテーブルがフラグメント化されているときに使用することができる。本明細書中で説明するように、いくつかのＬ２ＰテーブルフラグメントはＬ２Ｐテーブル領域に格納され得、いくつかはＬ２Ｐテーブルフラグメント領域に格納され得る。第１のレベルインデックス６０８及び第２のレベルインデックス６１０の両方へのアクセスを用いて、物理フラグメントアドレス６２７を検索する。物理フラグメントアドレス６２７は、第２のレベルインデックス６１０に格納されている。
【００４８】
例として、ＬＢＡ６２１「ＬＢＡ［２６：１３］＝ｍ」について検討する。第１のレベルエントリ「ＦＬＥｍ」が、ＬＢＡ６２１に関連して第１のレベルインデックス６０８から検索される。この場合、第１のレベルエントリは、矢印６２６によって示されるように、第２のレベルインデックス６１０へのポインタである。ＦＬＥｍのＦＴＡビット６４０は０に設定されているので、第２のレベルインデックス６１０へのアクセスが必要である。第２のレベルインデックスタイプビット６４２（ＦＬＥｍ［１４：１３］）は、第２のレベルインデックスタイプ−１「０１ｂ」を指定し、ＳＬＡビット６４４（ＦＬＥｍ［９：０］）は、第２のレベルインデックス６１０のタイプ−１領域のエントリ「ｒ」を識別する。Ｌ２Ｐテーブルフラグメントのインデックス６４６は、ＦＲＡＧ＝ｗであり、したがって、ＬＢＡ［１２：９］＝ｗに対応するＬ２Ｐテーブルフラグメント６１６−２は、矢印６３０によって示されるように、ＰＦＡｒ６２７でＬ２Ｐテーブルフラグメント領域に格納され、他方のＬ２Ｐテーブルフラグメント６１６−１は、矢印６２８によって示されるように、ＰＴＡｒ６２３でＬ２Ｐテーブル領域にある。
【００４９】
図７は、本開示のいくつかの実施形態にしたがった第２のタイプの第２のレベルインデックスアドレス指定を示すブロック図である。例として、ＬＢＡ７２１「ＬＢＡ［２６：１３］＝ｍ」について検討する。第１のレベルエントリ「ＦＬＥｍ」が、ＬＢＡ７２１に関連して第１のレベルインデックス７０８から検索される。この場合、第１のレベルエントリは、矢印７２６によって示されるように、第２のレベルインデックス７１０へのポインタである。ＦＬＥｍのＦＴＡビット７４０は０に設定されているので、第２のレベルインデックス７１０へのアクセスが必要である。第２のレベルインデックスタイプビット７４２（ＦＬＥｍ［１４：１３］）は、第２のレベルインデックスタイプ−２「１０ｂ」を指定し、ＳＬＡビット７４４（ＦＬＥｍ［９：０］）は、第２のレベルインデックス７１０のタイプ−２領域のエントリ「ｒ」を識別する。Ｌ２Ｐテーブルフラグメント領域に格納されている２つのＬ２Ｐテーブルフラグメント７１６−２が存在する。第１のＬ２Ｐテーブルフラグメントのインデックス７４６−１は、ＦＲＡＧ＿Ａｒ＝ｗであり、第２のＬ２Ｐテーブルフラグメントのインデックス７４６−２は、ＦＲＡＧ＿Ｂｒ＝ｚである。ＬＢＡ［１２：９］＝ｗの場合、矢印７３０で示すように、物理フラグメントアドレスは、ＰＦＡ＿Ａｒ７２７である。ＬＢＡ［１２：９］＝ｚの場合、物理フラグメントアドレスは、ＰＦＡＢｒである（具体的には示されていない）。他の１４個のＬ２Ｐテーブルフラグメント７１６−１は、矢印７２８によって示されるように、ＰＴＡｒ７２３でＬ２Ｐテーブル領域に格納される。
【００５０】
図８は、本開示のいくつかの実施形態にしたがった第３のタイプの第２のレベルインデックスアドレス指定を示すブロック図である。例として、ＬＢＡ８２１「ＬＢＡ［２６：１３］＝ｍ」について検討する。第１のレベルエントリ「ＦＬＥｍ」が、ＬＢＡ８２１に関連して第１のレベルインデックス８０８から検索される。この場合、第１のレベルエントリは、矢印８２６によって示されるように、第２のレベルインデックス８１０へのポインタである。ＦＬＥｍのＦＴＡビット８４０は０に設定されているので、第２のレベルインデックス８１０へのアクセスが必要である。第２のレベルインデックスタイプビット８４２（ＦＬＥｍ［１４：１３］）は、第２のレベルインデックスタイプ−３「１１ｂ」を指定し、ＳＬＡビット８４４（ＦＬＥｍ［９：０］）は、第２のレベルインデックス８１０のタイプ−３領域のエントリ「ｒ」を識別する。第２のレベルインデックス８１０は、各ＬＢＡ［１２：９］値に対する物理アドレスを含む。ＳＴＡビット８４８が１に設定されている場合、Ｌ２Ｐテーブルフラグメント８１６−１は、矢印８２８によって示されるようにＬ２Ｐテーブル領域に格納されており、ＳＬＥｍ，ｎ［１４：０］は、ＰＴＡ８２３を指定する。ＳＴＡビット８４８が０に設定されている場合、Ｌ２Ｐテーブルフラグメント８１６−２は、矢印８３０によって示されるようにＬ２Ｐテーブルフラグメント領域に格納されており、ＳＬＥｍ，ｎ［１４：０］は、ＰＦＡ８２７を指定する。
【００５１】
図９は、本開示のいくつかの実施形態にしたがったホット及びコールドの論理対物理テーブルフラグメントの測定間隔を示すタイムライン９５０である。ホットＬ２Ｐテーブルフラグメントは、少なくとも１つのホットＬＢＡまたは隣接するＬＢＡのグループを含むＬ２Ｐテーブルフラグメントである。各ＬＢＡまたは隣接するＬＢＡのグループは、ＬＢＡの書き込みごとにインクリメントされるウェアレベリングカウンタ９５４を有し得る。特定のＬＢＡへのその後の書き込みは、本明細書中では更新とも呼ばれる。ウェアレベリングカウンタ９５４が閾値９５２に達すると、Ｌ２ＰテーブルまたはＬ２Ｐテーブルフラグメントは異なる物理的位置に移動され、Ｌ２ＰテーブルまたはＬ２Ｐテーブルフラグメントに関連するＬＢＡのウェアレベリングカウンタはゼロにリセットされる。前の移動がいつ発生したかの表示は、Ｌ２ＰテーブルまたはＬ２Ｐテーブルフラグメントのメタデータに格納することができる。カウンタは、移動ごとにインクリメントされる単調カウンタであり得る。
【００５２】
Ｌ２Ｐテーブルが移動する場合、フラグメントスタンプ９５６は、Ｌ２Ｐテーブルを構成するＬ２Ｐテーブルフラグメントの量だけインクリメントされる。Ｌ２ＰテーブルまたはＬ２Ｐテーブルフラグメントが移動されると、現在のフラグメントスタンプ９５６の値がメタデータにコピーされる。この値は、Ｌ２ＰテーブルまたはＬ２Ｐテーブルフラグメントがいつ移動されたかを示す。ホットＬ２Ｐテーブルフラグメントを備えたＬ２Ｐテーブルが移動されると、コントローラは、Ｌ２Ｐテーブルフラグメントがまだホットであるかどうかを確認し、コールドになっている場合はＬ２Ｐテーブルにマージして戻すことができる。このことは、以前にホットだったＬ２Ｐテーブルフラグメントを、Ｌ２Ｐテーブルフラグメント領域に格納するのではなく、Ｌ２Ｐテーブルとともにテーブル領域に格納することができることを意味する。
【００５３】
図９は、ホットＬＢＡ９５８及びコールドＬＢＡ９６０に対するウェアレベリングカウンタ９５４及びフラグメントスタンプ９５６のグラフを含む。ホットＬＢＡ９５８のウェアレベリングカウンタ９５４は、９５８−１によって示されるように、時間ｔ１でウェアレベリング閾値９５２に達する。ホットＬＢＡ９５８のウェアレベリングカウンタは、９５８−２によって示されるように、時間ｔ３でウェアレベリング閾値９５２に達し、これは、フラグメントスタンプＡ１とＡ２の間の範囲に対応する。期間ｔ３−ｔ１は短いため、テーブルはホットと見なされ、ホットＬＢＡが属するフラグメントは、以前にＬ２Ｐテーブル領域にあった場合は、Ｌ２Ｐテーブルフラグメント領域に移動される。ホットＬＢＡ９５８のウェアレベリングカウンタは、９５８−３によって示されるように、時間ｔ４でウェアレベリング閾値９５２に達し、これは、フラグメントスタンプＡ２とＡ３の間の範囲に対応する。ホットＬＢＡ９５８のウェアレベリングカウンタは、９５８−４によって示されるように、時間ｔ６でウェアレベリング閾値９５２に達し、これは、フラグメントスタンプＡ３とＡ４の間の範囲に対応する。
【００５４】
ホットと見なされているＬＢＡは、コールド閾値と比較してコールドになったかどうかを判断することができる。コールドと見なされているＬＢＡは、ホット閾値と比較してホットになったかどうかを判断することができる。いずれの場合も、閾値を超えると、ＬＢＡのステータスが（コールドからホットに、またはその逆に）変わったことを示す。閾値を超えるとは、測定間隔が何を測定するか、閾値の比較内容、及び検討事項がホットからコールドなのかコールドからホットなのかによって、値が閾値よりも大きいことまたは小さいことを意味する。例えば、測定間隔が時間で、閾値が一定期間における書き込み量である場合、閾値を正の方向に超える（一定期間に「多すぎる」書き込みがある）と、ＬＢＡがホットであることを示し、閾値を負の方向に超える（一定期間に「少なすぎる」書き込みがある）と、ＬＢＡがコールドであることを示す。別の例として、測定間隔がウェアレベリング移動の間隔であり、閾値がＬ２Ｐテーブルフラグメントが移動した量である場合、閾値を正の方向に超える（ウェアレベリング移動の間隔に「多すぎる」Ｌ２Ｐテーブルフラグメントが移動された）と、ＬＢＡがコールドであることを示し、閾値を負の方向に超える（ウェアレベリング移動の間隔に「少なすぎる」Ｌ２Ｐテーブルフラグメントが移動された）と、ＬＢＡがホットであることを示す。この２番目の例を図９に示す。
【００５５】
いくつかの実施形態では、絶対時間が常に利用可能であるとは限らないので、時間の代わりにフラグメントスタンプ値を使用することができる。９６２−１に示されるように、フラグメントスタンプＡ１とＡ２の間のフラグメントスタンプ値の変化は、ホットＬＢＡの閾値よりも小さいので、ＬＢＡはまだホットと考えられる。９６２−２に示されるように、フラグメントスタンプＡ２とＡ３の間のフラグメントスタンプ値の変化は、ホットＬＢＡの閾値よりも小さいので、ＬＢＡはまだホットと考えられる。９６２−３に示されるように、フラグメントスタンプＡ３とＡ４の間のフラグメントスタンプ値の変化は、ホットＬＢＡの閾値よりも小さいので、ＬＢＡはまだホットと考えられる。しかしながら、「Ａ」フラグメントスタンプ間のフラグメントスタンプ値の変化のいずれかが閾値よりも大きかった場合、ＬＢＡはコールドと見なされるだろう。このようなコールドＬＢＡの例が、９６４に示されている。
【００５６】
コールドＬＢＡ９６０のウェアレベリングカウンタは、時間ｔ５でウェアレベリング閾値９５２に達する。９６４に示されているように、フラグメントスタンプ値の変化は閾値よりも大きいため、コールドＬＢＡ９６０に関連付けられたＬ２Ｐテーブルはまだコールドと見なされ、Ｌ２Ｐテーブル領域に残るだろう。いくつかの実施形態では、ホット閾値の値は、コールド閾値の値と同じであり得る。いくつかの実施形態では、ホット閾値の値は、コールド閾値の値とは異なり得る。いくつかの実施形態では、ホット及びコールド閾値の値は、作業負荷に基づいて調整することができる。例えば、Ｌ２Ｐテーブルフラグメントの相対量を増大または低減させることが望ましい場合は、閾値の一方または両方を調整することができる。
【００５７】
本開示は、頻繁に書き込まれるＬＢＡ範囲に対してより小さなＬ２Ｐテーブル及びその他に対してより大きなテーブルを使用してＬ２Ｐテーブル管理を向上させる方法及び装置を含む。ホットＬＢＡを備えたＬ２Ｐテーブルは、ウェアレベリングの目的で頻繁に移動されるが、テーブルが小さいほどそれらのコピーは高速になる。ホットＬ２Ｐテーブルフラグメントは、Ｌ２Ｐテーブルフラグメント領域に格納することができ、オーバープロビジョニングされ得る。本開示の実施形態はまた、大きなテーブルのコピーを向上させるために、かつ／または、大きなテーブルの冗長性を提供するためにも用いられ得る。
【００５８】
ウェアレベリング技術により、Ｌ２Ｐテーブルを移動させて、物理的空間を均等にエージングすることができる。Ｌ２Ｐテーブルが大きい場合、コピーに時間がかかり得る（ｔＴａｂｌｅＣｏｐｙ）。多くのデバイスでは、テーブルコピーが開始されると、一時停止することができない。しかしながら、Ｌ２ＰテーブルはＬ２Ｐテーブルフラグメントに分割され得、各Ｌ２Ｐテーブルフラグメントは個別に移動され得る。Ｌ２Ｐテーブルフラグメントをコピーするのにかかる時間は、ｔＦｒａｇｍｅｎｔＣｏｐｙ＝ｔＴａｂｌｅＣｏｐｙ／（フラグメントの数）である。Ｌ２Ｐテーブルのコピーは、任意のＬ２Ｐテーブルフラグメントがコピーされた後に一時停止することができる。Ｌ２Ｐテーブルのコピーは、整数量のＬ２Ｐテーブルフラグメントに対応するＬ２Ｐアドレス変換の一部のみをコピーした後に一時停止することができる。
【００５９】
図１０は、本開示のいくつかの実施形態にしたがった冗長論理対物理テーブルフラグメントのブロック図である。大きなＬ２Ｐテーブル１０１４の一部がもはや信頼できない場合、信頼できない部分を含むＬ２Ｐテーブルフラグメント１０６６は、Ｌ２Ｐテーブルフラグメント領域１０２２からのＬ２Ｐテーブルフラグメント１０１６で置き換えられ得る。書き込みカウンタは、Ｌ２Ｐテーブル１０１４の各部分の書き込み量を追跡することができる。カウンタが事前定義された制限に達したとき、Ｌ２Ｐテーブル１０１４の一部をリタイアさせ、Ｌ２Ｐテーブルフラグメント１０１６で置き換え得る。
【００６０】
特定の実施形態が示され、本明細書中で説明されたが、当業者は、同じ結果を達成すると想定される構成が、示されている特定の実施形態を置き換え得ることを理解する。本開示は、本開示のいくつかの実施形態の適応または変形を網羅することを意図している。上記説明は限定的ではなく例示的に行われていることが理解されよう。上記実施形態の組み合わせ、及び本明細書中で具体的には説明されていない他の実施形態が、上記説明をレビューした当業者にとって明らかであろう。本開示のいくつかの実施形態の範囲は、上記の構造及び方法が使用される他の用途を含む。したがって、本開示のいくつかの実施形態の範囲は、添付の特許請求の範囲を、係る特許請求の範囲によって権利が与えられる均等物の全範囲と一緒に参照して決定されるべきである。
【００６１】
前述の「発明を実施するための形態」では、本開示を簡素化する目的のために、単一の実施形態にいくつかの特徴を一緒にまとめている。本開示の方法は、本開示の開示された実施形態が各請求項に明確に列挙されたものより多くの特徴を使用する必要があるという意図を反映するとして解釈されるものではない。むしろ、以下の「特許請求の範囲」が反映するように、発明の主題は、単一の開示された実施形態の全ての特徴よりも少ないものに存在する。したがって、以下の特許請求の範囲は、本明細書によって発明を実施するための形態に組み込まれ、各請求項は、別個の実施形態として独立している。
【図１】
2021533467.tif 000009
【図２】
2021533467.tif 000010
【図３】
2021533467.tif 000011
【図４Ａ】
2021533467.tif 000012
【図４Ｂ】
2021533467.tif 000013
【図５】
2021533467.tif 000014
【図６】
2021533467.tif 000015
【図７】
2021533467.tif 000016
【図８】
2021533467.tif 000017
【図９】
2021533467.tif 000018
【図１０】
2021533467.tif 000019
【手続補正書】
【提出日】令和3年2月22日(2021.2.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の論理対物理テーブルのそれぞれが第１の論理アドレスに対する論理対物理アドレス変換を含む、前記複数の論理対物理テーブルを格納することと、
複数の論理対物理テーブルフラグメントのそれぞれが第２の論理アドレスに対する論理対物理アドレス変換を含む、前記複数の論理対物理テーブルフラグメントを格納することと、
第１のレベルインデックスを格納することであって、
前記第１の論理アドレスのそれぞれに対する前記複数の論理対物理テーブルのそれぞれの物理テーブルアドレスと、
前記第２の論理アドレスのそれぞれに対する第２のレベルインデックスへの各ポインタと、
を含む、前記第１のレベルインデックスを格納することと、
前記第２の論理アドレスのそれぞれに対する各論理対物理テーブルフラグメントの物理フラグメントアドレスを含む前記第２のレベルインデックスを格納することと、
を含む方法。
【請求項２】
前記複数の論理対物理テーブル、前記複数の論理対物理テーブルフラグメント、前記第１のレベルインデックス、及び前記第２のレベルインデックスを格納することが、セカンダリストレージに格納することを備え、
前記第１のレベルインデックス及び前記第２のレベルインデックスをプライマリストレージにキャッシュすることをさらに含む、請求項１に記載の方法。
【請求項３】
前記テーブルの物理メディアが信頼できなくなったことに応答して、前記複数の論理対物理テーブルの１つをフラグメント化することと、
前記複数の論理対物理テーブルの前記１つに対する前記第２のレベルインデックスへの特定のポインタを含むように、前記第１のレベルインデックスを更新することと、
前記特定のポインタに対する第２の専用領域からのフラグメントの物理フラグメントアドレスを含めるように、前記第２のレベルインデックスを更新することと、
をさらに含む、請求項２に記載の方法。
【請求項４】
前記複数の論理対物理テーブルフラグメントを格納することが、前記セカンダリストレージの第１の専用領域に格納することを備え、
前記複数の論理対物理テーブルフラグメントを格納することが、
前記複数の論理対物理テーブルフラグメントのそれぞれの各第１の部分を、前記セカンダリストレージの前記第１の専用領域に格納することと、
前記複数の論理対物理テーブルフラグメントのそれぞれの各第２の部分を、前記セカンダリストレージの第２の専用領域に格納することと、
を備える、請求項２に記載の方法。
【請求項５】
ある測定間隔における前記論理アドレスのそれぞれへの各書き込み量をカウントすることと、
特定の論理対物理テーブルフラグメントに関連付けられた書き込み量が、前記測定間隔においてコールド閾値の書き込み量を超えたことに応答して、前記特定の論理対物理テーブルフラグメントを前記第２の専用領域から前記第１の専用領域に移動させることと、
をさらに含む、請求項４に記載の方法。
【請求項６】
ある測定間隔における前記論理アドレスのそれぞれへの各書き込み量をカウントすることと、
特定の論理対物理テーブルフラグメントに関連付けられた書き込み量が、前記測定間隔においてホット閾値の書き込み量を超えたことに応答して、前記特定の論理対物理テーブルフラグメントを前記第１の専用領域から前記第２の専用領域に移動させることと、
をさらに含む、請求項４に記載の方法。
【請求項７】
前記第１のレベルインデックスを格納することが、さらに、
前記第１の論理アドレスに関連付けられた第１のフラグメント化インジケータを格納することと、
前記第２の論理アドレスに関連付けられた第２のフラグメント化インジケータ及び各第２のレベルインデックスタイプインジケータを格納することと、
を含む、請求項１に記載の方法。
【請求項８】
第１の各第２のレベルインデックスタイプインジケータを格納することによって、１つのホットフラグメントのみを有する第２のレベルインデックスタイプを示すことと、
第２の各第２のレベルインデックスタイプインジケータを格納することによって、２つのホットフラグメントのみを有する第２のレベルインデックスタイプを示すことと、
第３の各第２のレベルインデックスタイプインジケータを格納することによって、２つより多いホットフラグメントを有する第２のレベルインデックスタイプを示すことと、
をさらに含む、請求項７に記載の方法。
【請求項９】
前記複数の論理対物理テーブルの１つをコピーするテーブルコピー動作を開始することと、
整数量の論理対物理テーブルフラグメントに対応する前記論理対物理アドレス変換の一部のみをコピーした後に、前記テーブルコピー動作を一時停止することと、
をさらに含む、請求項１に記載の方法。
【請求項１０】
プライマリストレージと、
セカンダリストレージと、
前記プライマリストレージ及び前記セカンダリストレージに結合されたコントローラであって、論理アドレスの受信に応答して、
前記論理アドレスを使用して、論理対物理テーブルの前記プライマリストレージの第１のレベルインデックスを検索することと、
前記論理アドレスに対する前記第１のレベルインデックスに格納されている前記論理対物理テーブルの物理テーブルアドレスを見つけたことに応答して、前記論理対物理テーブルから、前記論理アドレスに対応する前記セカンダリストレージの第１の物理アドレスを検索することと、
前記論理アドレスに対する前記第１のレベルインデックスに格納されている前記第２のレベルインデックスへのポインタを見つけたことに応答して、論理対物理テーブルフラグメントの第２のレベルインデックスを検索することと、
前記論理アドレスに対する前記第２のレベルインデックスに格納されている前記論理対物理テーブルフラグメントの物理フラグメントアドレスを見つけたことに応答して、前記論理対物理テーブルフラグメントから、前記論理アドレスに対応する前記セカンダリストレージの第２の物理アドレスを検索することと、
を行うように構成されている、前記コントローラと
を備える、装置。
【請求項１１】
前記コントローラが、さらに、
前記論理アドレスに関連付けられかつ前記セカンダリストレージの前記第２の物理アドレスに格納されているデータを、更新データを前記セカンダリストレージの異なる物理アドレスに格納することによって、更新することと、
前記論理対物理テーブルフラグメントを新しい物理アドレスで更新することと、
前記論理対物理テーブルフラグメントを、異なる物理フラグメントアドレスを有する異なる物理的位置にコピーし、前記論理対物理テーブルフラグメントを、前記異なる物理フラグメントアドレスで更新することと、
を行うように構成されている、請求項１０に記載の装置。
【請求項１２】
前記コントローラが、さらに、
前記論理アドレスに関連付けられかつ前記セカンダリストレージの前記第１の物理アドレスに格納されているデータを、更新データを前記セカンダリストレージの異なる物理アドレスに格納することによって、更新することと、
前記論理対物理テーブルフラグメントを新しい物理アドレスで更新することと、
前記論理対物理テーブルを、異なる物理テーブルアドレスを有する異なる物理的位置にコピーし、前記論理対物理テーブルを、前記異なる物理テーブルアドレスで更新することと、
を行うように構成されている、請求項１０に記載の装置。
【請求項１３】
前記コントローラが、さらに、
前記論理対物理テーブルの前記物理テーブルアドレスが前記論理アドレスに対する前記第１のレベルインデックスに格納されていることに応答して、かつ
ある測定間隔における前記論理アドレスに関連付けられたデータの書き込み量がホット閾値を超えることに応答して、
前記論理アドレスに関連付けられた前記データを、前記セカンダリストレージの前記第２の物理アドレスにコピーすることと、
前記第１のレベルインデックスに、前記論理アドレスに対する前記第２のレベルインデックスへの前記ポインタを追加することと、
前記論理アドレスに対する前記第１のレベルインデックスに格納されている前記論理対物理テーブルの前記物理テーブルアドレスを削除することと、
を行うように構成されている、請求項１０に記載の装置。
【請求項１４】
前記コントローラが、さらに、
前記第２のレベルインデックスへの前記ポインタが、前記論理アドレスに対する前記第１のレベルインデックスに格納されていることに応答して、かつ
ある測定間隔における前記論理アドレスに関連付けられたデータの書き込み量がコールド閾値未満であることに応答して、
前記論理アドレスに関連付けられた前記データを、前記セカンダリストレージの第３の物理アドレスにコピーすることと、
前記第１のレベルインデックスから、前記論理アドレスに対する前記第２のレベルインデックスへの前記ポインタを削除することと、
前記第１のレベルインデックスに、前記論理アドレスに対する前記論理対物理テーブルの前記物理テーブルアドレスを追加することと、
前記論理アドレスに対応する前記セカンダリストレージの前記第３の物理アドレスで前記論理対物理テーブルを更新することと、
を行うように構成されている、請求項１０に記載の装置。
【請求項１５】
ストレージと、
前記ストレージに結合されるコントローラであって、
複数の論理対物理テーブルのそれぞれが第１の論理アドレスに対する論理対物理アドレス変換を含む、前記複数の論理対物理テーブルを格納することと、
複数の論理対物理テーブルフラグメントのそれぞれが第２の論理アドレスに対する論理対物理アドレス変換を含む、前記複数の論理対物理テーブルフラグメントを格納することと、
第１のレベルインデックスを格納することであって、
前記第１の論理アドレスのそれぞれに対する前記複数の論理対物理テーブルのそれぞれの物理テーブルアドレスと、
前記第２の論理アドレスのそれぞれに対する第２のレベルインデックスへの各ポインタと、
を含む、前記第１のレベルインデックスを格納することと、
前記第２の論理アドレスのそれぞれに対する各論理対物理テーブルフラグメントの物理フラグメントアドレスを含む前記第２のレベルインデックスを格納することと、
を行うように構成されている、前記コントローラと、
を備える、装置。
【国際調査報告】
2021533467.tif 000020
2021533467.tif 000021