【手続補正書】
【提出日】令和2年2月26日(2020.2.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の物理的メモリ部分を含む不揮発性メモリと、
ウェアレベリング制御回路と
を具えたデバイスであって、
前記複数の物理的メモリ部分の各々は、複数の論理的メモリ部分のうちの１つの論理的メモリ部分にマッピングされるように構成され、
前記ウェアレベリング制御回路は、ユーザ入力に基づいて定まる複数のウェアレベリングのパラメータを受信するように構成され、複数の論理的メモリ・パーティションの各々のサイズ及びアドレス範囲は、ユーザ定義のアドレスポインタによるユーザ指定のサイズ及びアドレス範囲であり、前記複数の論理的メモリ・パーティションの各々が、１つ以上のユーザ定義の境界を有し、前記複数の論理的メモリ部分の各々が、ユーザによって前記複数の論理的メモリ・パーティションのうちの１つに割り当てられ、前記複数のウェアレベリングのパラメータの各々が、前記アドレスポインタによって識別される前記アドレス範囲毎にユーザによって指定され、
前記ウェアレベリング制御回路は、前記受信した複数のウェアレベリングのパラメータに基づいて複数のウェアレベリングの特性を決定して前記不揮発性メモリに適用するようにさらに構成され、該複数のウェアレベリングの特性は、前記複数の論理的メモリ部分の各々において許容されるウェアレベリングの特徴量を識別し、前記複数の論理的メモリ部分のうちの１つ以上をウェアレベリングから除外するべきか否かをさらに識別し、
前記ウェアレベリング制御回路は、前記不揮発性メモリのスーパーバイザーのメモリセクターを、ユーザ定義のパーティション・マッピングを記憶すべく更新するように構成され、該ユーザ定義のパーティション・マッピングは、論理的メモリ部分及び当該論理的メモリ部分に関連するウェアレベリングのパラメータを識別し、前記スーパーバイザーのメモリセクターは前記不揮発性メモリ内の専用の記憶場所である
デバイス。
【請求項２】
前記複数のウェアレベリングのパラメータは、前記不揮発性メモリにおける前記複数のウェアレベリングの特性の各々に割り当てられた部分をさらに識別するように設定されている、請求項１に記載のデバイス。
【請求項３】
前記複数のウェアレベリングの特性が、ウェアレベリングを適用するべきであることを示す第１ウェアレベリング設定値を含み、ウェアレベリングを適用するべきでないことを示す第２ウェアレベリング設定値をさらに含む、請求項１に記載のデバイス。
【請求項４】
前記第１ウェアレベリング設定値が、第１の特徴量のウェアレベリングを適用するべきであることを示し、前記複数のウェアレベリングの特性が、
第２の特徴量のウェアレベリングを適用するべきであることを示す第３ウェアレベリング設定値と、
第３の特徴量のウェアレベリングを適用するべきであることを示す第４ウェアレベリング設定値と
をさらに含む、請求項３に記載のデバイス。
【請求項５】
前記複数のウェアレベリングのパラメータが、前記複数の論理的メモリ部分の各々に関連するプログラム及び消去（ＰＥ）サイクルの回数を識別し、前記複数のウェアレベリングの特性が、前記ＰＥサイクルの回数に基づく、前記複数の論理的メモリ部分の各々に適用されるウェアレベリングの特徴量を識別する、請求項１に記載のデバイス。
【請求項６】
前記複数のウェアレベリングのパラメータが、前記不揮発性メモリの複数のパーティションにおける各パーティションの論理的サイズを識別し、前記複数のウェアレベリングの特性が、前記各パーティションの論理的サイズに基づく、前記複数の論理的メモリ部分の各々において許容されるウェアレベリングの特徴量を識別する、請求項１に記載のデバイス。
【請求項７】
前記複数の論理的メモリ部分が複数の固定サイズのパーティションに区分されている、請求項１に記載のデバイス。
【請求項８】
前記複数の論理的メモリ部分が、前記複数のウェアレベリングのパラメータに基づいて設定されたフレキシブルなサイズのパーティションに区分されている、請求項１に記載のデバイス。
【請求項９】
複数の物理的メモリ部分を含む不揮発性メモリと、
ウェアレベリング制御回路と、
前記ウェアレベリング制御回路をデータ処理システムと通信結合するように構成された通信インタフェースと、
前記不揮発性メモリに関連するプログラム及び消去動作を実行するように構成された１つ以上のプロセッサと
を具えたシステムであって、
前記複数の物理的メモリ部分の各々は、複数の論理的メモリ部分のうちの１つの論理的メモリ部分にマッピングされるように構成され、
前記ウェアレベリング制御回路は、ユーザ入力に基づいて定まる複数のウェアレベリングのパラメータを受信するように構成され、複数の論理的メモリ・パーティションの各々のサイズ及びアドレス範囲は、ユーザ定義のアドレスポインタによるユーザ指定のサイズ及びアドレス範囲であり、前記複数の論理的メモリ・パーティションの各々が、１つ以上のユーザ定義の境界を有し、前記複数の論理的メモリ部分の各々が、ユーザによって前記複数の論理的メモリ・パーティションのうちの１つに割り当てられ、前記複数のウェアレベリングのパラメータの各々が、前記アドレスポインタによって識別される前記アドレス範囲毎にユーザによって指定され、
前記ウェアレベリング制御回路は、前記受信した複数のウェアレベリングのパラメータに基づいて複数のウェアレベリングの特性を決定して前記不揮発性メモリに適用するようにさらに構成され、該複数のウェアレベリングの特性は、前記複数の論理的メモリ部分の各々において許容されるウェアレベリングの特徴量を識別し、前記複数の論理的メモリ部分のうちの１つ以上をウェアレベリングから除外するべきか否かをさらに識別し、
前記ウェアレベリング制御回路は、前記不揮発性メモリのスーパーバイザーのメモリセクターを、ユーザ定義のパーティション・マッピングを記憶すべく更新するように構成され、該ユーザ定義のパーティション・マッピングは、論理的メモリ部分及び当該論理的メモリ部分に関連するウェアレベリングのパラメータを識別し、前記スーパーバイザーのメモリセクターは、前記不揮発性メモリ内の専用の記憶場所である
システム。
【請求項１０】
前記複数のウェアレベリングのパラメータは、前記不揮発性メモリにおける前記複数のウェアレベリングの特性の各々に割り当てられた部分をさらに識別する、請求項９に記載のシステム。
【請求項１１】
前記複数のウェアレベリングの特性が、ウェアレベリングを適用するべきであることを示す第１ウェアレベリング設定値を含み、ウェアレベリングを適用するべきでないことを示す第２ウェアレベリング設定値をさらに含む、請求項９に記載のシステム。
【請求項１２】
前記複数のウェアレベリングのパラメータが、前記複数の論理的メモリ部分の各々に関連するプログラム及び消去（ＰＥ）サイクルの回数を識別し、前記複数のウェアレベリングの特性が、前記ＰＥサイクルの回数に基づく、前記複数の論理的メモリ部分の各々に適用されるウェアレベリングの特徴量を識別する、請求項９に記載のシステム。
【請求項１３】
前記複数の論理的メモリ部分が、前記複数のウェアレベリングのパラメータに基づいて設定されたフレキシブルなサイズのパーティションに区分され、前記不揮発性メモリ及び前記ウェアレベリング制御回路が同じ回路ダイ上に実装されている、請求項９に記載のシステム。
【請求項１４】
ウェアレベリング制御回路を用いて、複数の物理的メモリ部分を含む不揮発性メモリの複数のパーティションに関連する複数の論理的アドレス範囲を特徴付けるパーティション境界識別子を生成するステップであって、前記複数の物理的メモリ部分の各々が、複数の論理的メモリ部分のうちの１つの論理的メモリ部分に関連し、前記複数のパーティション境界識別子はユーザ定義のアドレスポインタによって指定され、これにより、前記パーティション境界識別子の各々が、ユーザによって前記複数の論理的メモリ・パーティションのうちの１つに割り当てられるステップと、
前記ウェアレベリング制御回路を用いて、前記アドレスポインタによって識別される前記複数のパーティション及び前記論理アドレス範囲に関連するウェアレベリング識別子を生成するステップであって、該ウェアレベリング識別子は、前記複数の論理的メモリ部分に関連するウェアレベリングの特性を含み、該ウェアレベリングの特性は、前記複数の論理的メモリ部分の各々において許容されるウェアレベリングの特徴量を識別し、前記複数の論理的メモリ部分のうちの１つ以上をウェアレベリングから除外するべきか否かをさらに識別し、前記複数のウェアレベリング識別子は、少なくとも部分的にユーザ指定のウェアレベリング識別子であるステップと、
前記ウェアレベリング制御回路を用いて、前記複数のウェアレベリング識別子に少なくとも部分的に基づくアドレスマップを生成するステップであって、該アドレスマップは、第１数の前記論理的メモリ部分を、ウェアレベリングに含まれる第１数の前記物理的メモリ部分にマッピングする第１マッピングを特徴付け、前記アドレスマップは、さらに、第２数の前記論理的メモリ部分を、前記ウェアレベリングから除外される第２数の前記物理的メモリ部分にマッピングする第２マッピングを特徴付け、前記ウェアレベリング識別子及び前記アドレスマップはスーパーバイザーのメモリセクターに記憶され、該スーパーバイザーのメモリセクターは前記不揮発性メモリ内の専用の記憶場所であるステップと、
前記アドレスマップに基づいて、前記不揮発性メモリに関連する１つ以上のプログラム及び消去動作を実行するステップと
を含む方法。
【請求項１５】
前記複数のウェアレベリング識別子は、前記不揮発性メモリにおける前記複数のウェアレベリングの特性の各々に割り当てられた部分をさらに識別する、請求項１４に記載の方法。
【請求項１６】
前記複数のウェアレベリングの特性が、ウェアレベリングを適用するべきであることを示す第１ウェアレベリング設定値を含み、ウェアレベリングを適用するべきでないことを示す第２ウェアレベリング設定値をさらに含む、請求項１４に記載の方法。
【請求項１７】
前記複数のウェアレベリングのパラメータが、前記不揮発性メモリの複数のパーティションにおける各パーティションの論理的サイズを識別し、前記複数のウェアレベリングの特性が、前記各パーティションの論理的サイズに基づく、前記複数の論理的メモリ部分の各々において許容されるウェアレベリングの特徴量を識別する、請求項１４に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
不揮発性メモリデバイスはメモリセル・アレイを含み、これらのメモリセル・アレイは、システムの他の種々の構成要素によるアクセス用にデータ値を記憶するように構成することができる。メモリセルはメモリ素子を含み、これらのメモリ素子は、有効データをより短時間保持することによって長い時間と共に劣化し得る、というのは、セルに対して行われるプログラム及び消去動作の回数（ＰＥ（program and erase）サイクル数）が増加するからである。こうしたメモリセルは、物理セクターにグループ化された物理的な記憶場所を含むことができ、これらのセクターは、メモリセル・アレイのメモリ空間を表現する論理アドレス及び論理セクターにマッピングされる。ウェアレベリングは、データの物理的記憶場所を変化させて、ＰＥサイクルによる劣化（ウェア）をいくつかの物理セクターにわたって拡散するように実現することができる。しかし、こうしたウェアレベリングは、より低頻度のサイクルのデータも、既に多数回のＰＥサイクルが行われた物理セクターへ移動させることがある。従って、ウェアレベリング技術は、ＰＥサイクルが稀にしか行われないデータの保持時間を不用意に低下させることがある。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
さらに、これらのセクターはパーティションにグループ化することができる。従って、メモリアレイ１０２は種々のメモリ・パーティションを含むことができ、これらは論理セクターの連続したグループであり、境界によって規定することができる。例えば、メモリアレイ１０２は、第１境界１１０、第２境界１１２、第３境界１１４、及び第４境界１１６を含むことができ、これらの境界は第１パーティション１１８、第２パーティション１２０、第３パーティション１２２、第４パーティション１２４、及び第５パーティション１２６を規定する。以下により詳細に説明するように、こうした境界は、ユーザ指定とすることができるウェアレベリングのパラメータに基づいて設定可能にすることができる。従って、ユーザはサイズ及び境界をパーティションに関連して規定及び指定することができる。さらに、ウェアレベリングのパラメータは、特定パーティションを、ウェアレベリングにおいて使用する物理セクターに含めるか否かを示すことができる。以下により詳細に説明するように、パーティションのサイズはフレキシブルにすることも、ユーザ入力に基づいて設定可能にすることもできる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
以下により詳細に説明するように、制御回路１２８のような制御回路、及びスーパーバイザーのメモリセクター１３０のような専用の記憶場所またはレジスタを利用して、論理セクター−ウェアレベリングを施す物理セクターのマッピングを設定する。本明細書中に説明するように、本明細書中では制御回路をウェアレベリング制御回路と称することがある。より具体的には、ウェアレベリングのパラメータを受信して、どの論理セクターを、ウェアレベリングのプール内に含めてウェアレベリングを施す物理セクターにマッピングするべきかを識別することができる。これらのウェアレベリングのパラメータを用いて、どの論理セクターを、ウェアレベリングのプール内に含めず、ウェアレベリングを施さない物理セクターにマッピングするべきかを明示的に識別することもできる。以上に説明したように、メモリデバイス１００のようなメモリデバイスは、ウェアレベリングのプール内に含まれウェアレベリングが施される種々のメモリセクターを含むことができ、ウェアレベリングのプール内に含まれずウェアレベリングを施されないメモリセクターをさらに含むことができる。このようにして、ウェアレベリングのパラメータは、どのパーティション及び対応する論理的メモリセクターを、ウェアレベリングが施される物理セクターに含め、どのパーティション及び対応する論理的メモリセクターを除外するべきかを識別するように設定することができる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
より具体的には、スーパーバイザーのメモリセクター１３０は、マッピングを識別する１つ以上のデータ値を記憶するように構成することができ、このマッピングは、論理的メモリセクターを識別し、さらに、こうしたメモリセクターが含まれるパーティションを識別し、さらに、こうしたパーティションに関連するウェアレベリング設定値を識別する。こうしたマッピングの表現の例を以下の表１に示す：
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
本明細書中には、論理的メモリセクターをウェアレベリングのプールに割り当てることに関する種々の実施形態を考えに入れ開示する。例えば、明示的なパーティションのラベル付けを前に説明しているが、他の適切な技術も実現することができる。例えば、スーパーバイザーのメモリセクター１３０のような記憶場所は、いくつかの所定のパーティション・マップを記憶することができ、そして設定パラメータまたは設定値を用いて、使用するマップを選択することができる。一部の実施形態では、こうした所定のマップを、メモリアレイ１０２のアドレス空間の異なる見方に基づいて生成することができる。例えば、所定のマップは、メモリアドレス空間のうち下位８分の１のアドレスをウェアレベリングから除外する第１マップを含むことができる。所定のマップは、アドレス空間の下位４分の１をウェアレベリングから除外する第２マップをさらに含むことができる。所定のマップは、アドレス空間の下位２分の１をウェアレベリングから除外する第３マップを含むこともできる。この例では、ユーザは、設定パラメータを含む入力を与えて、適用するべき特定の所定マップを選択することができる。こうした所定のパーティション・マップの例を以下の表２、３、及び４に示す：
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
図２に、いくつかの実施形態により構成した、均一なセクターサイズを含む設定可能なウェアレベリング付きメモリデバイスの例を示す。以上に説明したように、メモリデバイス２００のようなメモリデバイスは、ウェアレベリングにおいて使用する物理的メモリセクターの集合またはプール内に含めるための、メモリのいくつかの論理セクターをユーザが明示的に選択することを可能にするように構成することができ、さらに、他の論理的メモリセクターをこうしたウェアレベリングにおける使用からユーザが明示的に除外することを可能にするように構成されている。また、以上に説明したように、メモリアレイ１０２のようなメモリアレイは、種々の境界によって規定される種々のパーティションを含むことができ、制御回路１２８と通信結合することができる。例えば、メモリアレイ１０２は、第１境界１１０、第２境界１１２、第３境界１１４、及び第４境界１１６を含むことができ、これらの境界は第１パーティション１１８、第２パーティション１２０、第３パーティション１２２、第４パーティション１２４、及び第５パーティション１２６を規定することができる。以上に説明したように、こうした境界はウェアレベリングのパラメータに基づいて設定可能であり、これらのパラメータはユーザ指定とすることができる。従って、ユーザはサイズ及び境界をパーティションに関連して規定及び指定することができる。さらに、ウェアレベリングのパラメータは、パーティションを、ウェアレベリングを行う物理セクターの集合またはプール内に含めること、あるいはウェアレベリングを行う物理セクターの集合またはプールから除外することを示すこともでき、こうしたことは、制御回路１２８及びスーパーバイザーのメモリセクター１３０によって管理することができる。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
種々の実施形態では、メモリアレイ１０２を、固定サイズを有する複数のパーティションを有するように構成することができる。従って、これらのパーティションのサイズは、ハードウェアの製造業者が指定することができ、あるいは、メモリアレイ１０２のサイズのようなメモリデバイス１００のハードウェア上の特徴に基づいて決定することができる。さらに、一部の実施形態では、こうしたパーティションを均一なサイズにすることができる。以上に説明したように、パーティション内に含まれる論理的メモリセクターを含めること及び除外することは、スーパーバイザーのメモリセクター１３０に記憶されているウェアレベリングのパラメータに基づいて決定することができる。以下に図４及び図５を参照してより詳細に説明するように、こうしたウェアレベリングのパラメータはユーザ指定とすることができ、そしてユーザから通信インタフェース経由で受信することができる。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００４４
【補正方法】変更
【補正の内容】
【００４４】
図５に、いくつかの実施形態により実現される、メモリデバイスのウェアレベリングのための方法の他の例のフローチャートを示す。以上に説明したのと同様に、メモリデバイスを利用して、ウェアレベリングにおいて使用する物理的メモリセクターの集合またはプール内に含めるための、メモリのいくつかの論理セクターをユーザが明示的に選択することを可能にし、さらに、他の論理的メモリセクターをこうしたウェアレベリングにおける使用からユーザが明示的に除外することを可能にすることができる。さらに、こうした選択は、その後のウェアレベリング動作の基になる論理セクター／物理セクターのマッピングの基礎を形成することができる。このようにして、どの論理セクターにどれだけのウェアレベリングを行うかを設定する能力をユーザに与えることができる。