(57)【要約】【課題】不揮発性メモリ向けのウェアレベリング及びアクセス方法、デバイス及び記憶媒体の提供。【解決手段】本発明は不揮発性メモリ向けのウェアレベリング及びアクセス方法、デバイス及び記憶媒体を提供する。その方法は、不揮発性メモリを論理的にｐ個のレベルの物理単位に分割し（Ｓ１１０）、第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換する（Ｓ１２０）ことを含み、前記不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数であり、ｑは１からｐのいずれかの正の整数である。【選択図】図１
2021530810.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリ向けのウェアレベリング及びアクセス方法であって、
不揮発性メモリを論理的にｐ個のレベルの物理単位に分割し、
第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換することを含み、
前記不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数であり、ｑは１からｐのいずれかの正の整数である、不揮発性メモリ向けのウェアレベリング及びアクセス方法。
【請求項２】
前記各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換することは、前記各第ｑレベルの物理単位のデータをストレージまたはメモリにコピーし、前記各第ｑレベルの物理単位のデータが交替された後の位置に従って、前記ストレージまたは前記メモリから前記不揮発性メモリにコピーすることを含む、請求項１に記載の方法。
【請求項３】
前記各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換することは、前記各第ｑレベルの物理単位のデータを前記不揮発性メモリのその他の空き位置又はその他のメモリ／ストレージにコピーし、前記各第ｑレベルの物理単位のデータが交替された後の位置に従って、前記不揮発性メモリのその他の空き位置又はその他のメモリ／ストレージから前記不揮発性メモリにコピーすることを含む、請求項１に記載の方法。
【請求項４】
前記各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換することは、一つの第ｑレベルの物理単位のデータをストレージまたはメモリにコピーし、他の第ｑレベルの物理単位のデータを一つずつ前記不揮発性メモリ上の直前のコピーデータの位置にコピーし、また、前記ストレージまたは前記メモリ中のデータを前記不揮発性メモリ上の直前のコピーデータの位置にコピーすることを含む、請求項１に記載の方法。
【請求項５】
前記各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換することは、一つの第ｑレベルの物理単位のデータを前記不揮発性メモリのその他の空き位置又はその他のメモリ／ストレージにコピーし、他の第ｑレベルの物理単位のデータを一つずつ前記不揮発性メモリ上の直前のコピーデータの位置にコピーし、また、前記不揮発性メモリのその他の空き位置又はその他のメモリ／ストレージ中のデータを前記不揮発性メモリ上の直前のコピーデータの位置にコピーすることを含む、請求項１に記載の方法。
【請求項６】
前記各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換する前に、現在の動作シーンに応じて、前記第ｑレベルの物理単位に対応する時間周期を設定することをさらに含む、請求項１に記載の方法。
【請求項７】
ユーザが前記不揮発性メモリにアクセスする際に、第ｑレベルのｎ個の物理単位のうちのａ番目の物理単位の論理アドレスを（ｘ／Ｑ＋ｙ／Ａ）％ｎに設定することをさらに含み、ただし、ｘは前記不揮発性メモリの論理アドレスであり、Ｑは各第ｑレベルの物理単位のサイズであり、ｙは前記ユーザのアクセス時間であり、Ａは前記第ｑレベルの物理単位に対応する時間周期である、請求項１に記載の方法。
【請求項８】
不揮発性メモリ向けのウェアレベリング及びアクセスデバイスであって、
不揮発性メモリと、プロセッサと、記憶部と、通信バスとを備え、
前記通信バスはプロセッサと記憶部との間の接続通信を実現するために用いられ、
前記プロセッサは記憶部に格納されているデータ交替プログラムを実行するために用いられ、不揮発性メモリを論理的にｐ個のレベルの物理単位に分割するステップと、第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換するステップとを実現し、
前記不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数であり、ｑは１からｐのいずれかの正の整数である、不揮発性メモリ向けのウェアレベリング及びアクセスデバイス。
【請求項９】
前記各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換することにおいて、前記プロセッサは前記データ交替プログラムを実行するために用いられ、
前記各第ｑレベルの物理単位のデータをストレージまたはメモリにコピーし、前記各第ｑレベルの物理単位のデータが交替された後の位置に従って、前記ストレージまたは前記メモリから前記不揮発性メモリにコピーするステップを実現する、請求項８に記載のデバイス。
【請求項１０】
前記各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換することにおいて、前記プロセッサは前記データ交替プログラムを実行するために用いられ、
一つの第ｑレベルの物理単位のデータをストレージまたはメモリにコピーし、他の第ｑレベルの物理単位のデータを一つずつ前記不揮発性メモリ上の直前のコピーデータの位置にコピーし、また、前記ストレージまたは前記メモリ中のデータを前記不揮発性メモリ上の直前のコピーデータの位置にコピーするステップを実現する、請求項８に記載のデバイス。
【請求項１１】
前記各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換する前に、前記プロセッサはさらに、前記データ交替プログラムを実行するために用いられ、
現在の動作シーンに応じて、前記第ｑレベルの物理単位に対応する時間周期を設定するステップを実現する、請求項８に記載のデバイス。
【請求項１２】
不揮発性メモリ向けのウェアレベリング及びアクセスデバイスであって、
不揮発性メモリと、プロセッサとを備え、
前記プロセッサは不揮発性メモリ向けのウェアレベリング及びアクセスプログラムを実行するために用いられ、不揮発性メモリを論理的にｐ個のレベルの物理単位に分割するステップと、第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換するステップとを実現し、
前記不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数であり、ｑは１からｐのいずれかの正の整数である、不揮発性メモリ向けのウェアレベリング及びアクセスデバイス。
【請求項１３】
前記各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換することにおいて、前記プロセッサは前記不揮発性メモリ向けのウェアレベリング及びアクセスプログラムを実行するために用いられ、
前記各第ｑレベルの物理単位のデータを前記不揮発性メモリのその他の空き位置又はその他のメモリ／ストレージにコピーし、前記各第ｑレベルの物理単位のデータが交替された後の位置に従って、前記不揮発性メモリのその他の空き位置又はその他のメモリ／ストレージから前記不揮発性メモリにコピーするステップを実現する、請求項１２に記載のデバイス。
【請求項１４】
前記各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換することにおいて、前記プロセッサは前記不揮発性メモリ向けのウェアレベリング及びアクセスプログラムを実行するために用いられ、
一つの第ｑレベルの物理単位のデータをストレージまたはメモリにコピーし、他の第ｑレベルの物理単位のデータを一つずつ前記不揮発性メモリ上の直前のコピーデータの位置にコピーし、また、前記不揮発性メモリのその他の空き位置又はその他のメモリ／ストレージ中のデータを前記不揮発性メモリ上の直前のコピーデータの位置にコピーするステップを実現する、請求項１２に記載のデバイス。
【請求項１５】
前記各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換する前に、前記プロセッサはさらに、前記不揮発性メモリ向けのウェアレベリング及びアクセスプログラムを実行するために用いられ、
現在の動作シーンに応じて、前記第ｑレベルの物理単位に対応する時間周期を設定するステップを実現する、請求項１２に記載のデバイス。
【請求項１６】
一つ又は複数のプログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、前記一つ又は複数のプログラムは、一つ又は複数のプロセッサによって実行され、
不揮発性メモリを論理的にｐ個のレベルの物理単位に分割するステップと、第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換するステップとを実現し、
前記不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数であり、ｑは１からｐのいずれかの正の整数である、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
＜関連出願の相互参照＞
本発明は、２０１８年７月２０日に中国特許庁に提出された、出願番号が２０１８１０８０２０９６．１、発明名称が「データ交替方法、デバイス及びコンピュータ読み取り可能な記憶媒体」である中国特許出願の優先権を請求するものであって、その出願の全ての内容は引用により本発明に組み込まれる。
【０００２】
本発明は、２０１８年７月２５日に中国特許庁に提出された、出願番号が２０１８１０８２４４４３．０、発明名称が「不揮発性メモリ向けのウェアレベリング及びアクセス方法、デバイス及び記憶媒体」である中国特許出願の優先権を請求するものであって、その出願の全ての内容は引用により本発明に組み込まれる。
【０００３】
＜技術分野＞
本発明は、通信の技術分野に関し、特に不揮発性メモリ向けのウェアレベリング及びアクセス方法、デバイス及び記憶媒体に関するものである。
【背景技術】
【０００４】
不揮発性メモリ（ＮＶＭ、Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ）は、従来のストレージの持続性及び従来のメモリの高性能を兼ね備えているため、近年、飛躍的な発展を遂げている。不揮発性メモリは、ソリッドステートドライブ（ＳＳＤ、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）と同様に、書き換え回数が限られている。このような特性に対しては、ウェアレベリングをサポートしなければならない。そうでなければ、意図しないホットスポットへのアクセスや、悪意のある繰り返した書き換え攻撃によって、何らかの物理アドレス（ページ、ブロック、セグメント）が最初に書き換え回数の上限に達してしまい、悪影響を招き、軽いものは利用可能な容量を低下させてしまい、重いものはディスク全体の破棄を招いてしまう。
【０００５】
ソリッドステートドライブは、ハードウェアマッピングテーブルの方式によりウェアレベリングの動作を達成し、すなわち、ＦＴＬ（Ｆｌａｓｈ  Ｔｒａｎｓｌａｔｉｏｎ  Ｌａｙｅｒ、フラッシュ変換層）におけるマッピングテーブルにより論理アドレスと物理アドレスとのマッピングを達成するものである。ＦＴＬは、物理アドレスへのアクセス回数を統計し、アクセス頻度の高い物理アドレスについては、マッピングテーブルを変更するだけで、その論理アドレスにマッピングする物理アドレスをアクセス頻度の低い物理アドレスに変更すればよい。ＦＴＬは、アドレスマッピング、ウェアレベリングの他、ガベージコレクション、ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ、誤り訂正符号）チェック、バッドブロック管理等の動作をも担う。
【０００６】
しかしながら、不揮発性メモリのウェアレベリングは、従来のハードウェアのマッピングテーブルの方式をそのまま使用することができない。その原因としては、（１）不揮発性メモリにはＦＴＬハードウェアがない。ＦＴＬはソリッドステートドライブメーカーのコア技術が融合されるものであって、ハードウェアデバイスに集積されるのに対して、不揮発性メモリはＦＴＬハードウェアがなく、単にウェアレベリングのためにハードウェア設計上のオーバーヘッドとコストを増加させるのは、ハードウェアメーカのサポートが得られにくい。（２）不揮発性メモリは性能に対する要求が高い。ソフトウェアによるテーブルルックアップは操作効率が低下するとともに、「書き換え回数の統計」というステップを増やす。このような性能阻害は、ソリッドステートドライブの場合、１％未満（ほとんど無視できる）であるが、不揮発性メモリのアクセス遅延時間はソリッドステートドライブより１〜２桁低く、このような性能阻害は３０％以上の性能阻害が生じる（非常に顕著である）。（３）不揮発性メモリは高価である。ソフトウェアの方式でマッピングテーブルを実現する場合、「論理アドレス、物理アドレス、書き換え回数」のようなマッピング関係を記録すると、貴重なメモリ空間を占め、空き容量が大きく低下してしまうことが挙げられる。以上のように、従来のハードウェアのマッピングテーブル方式をそのまま使用する場合であっても、ソフトウェアによって改善されたマッピングテーブル方式であっても、不揮発性メモリには適用できない。
【０００７】
そこで、本発明は、不揮発性メモリ内部のミクロなウェアレベリングの課題を解決するために不揮発性メモリ向けのウェアレベリング方案を提供する。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の実施例の主な目的は、不揮発性メモリ内部のミクロなウェアレベリングの課題を解決する、不揮発性メモリ向けのウェアレベリング及びアクセス方法、デバイス及び記憶媒体を提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明は、不揮発性メモリ向けのウェアレベリング及びアクセス方法であって、不揮発性メモリを論理的にｐ個のレベルの物理単位に分割し、第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換することを含み、前記不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数であり、ｑは１からｐのいずれかの正の整数である、不揮発性メモリ向けのウェアレベリング及びアクセス方法を提供する。
【００１０】
上記目的を達成するために、本発明は、不揮発性メモリ向けのウェアレベリング及びアクセスデバイスであって、不揮発性メモリと、プロセッサと、記憶部と、通信バスとを備え、前記通信バスはプロセッサと記憶部との間の接続通信を実現するために用いられ、前記プロセッサは不揮発性メモリ向けのウェアレベリング及びアクセスプログラムを実行するために用いられ、不揮発性メモリを論理的にｐ個のレベルの物理単位に分割するステップと、第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換するステップとを実現し、前記不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数であり、ｑは１からｐのいずれかの正の整数である、不揮発性メモリ向けのウェアレベリング及びアクセスデバイスを提供する。
【００１１】
上記目的を達成するために、本発明は、一つ又は複数のプログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、前記一つ又は複数のプログラムは、一つ又は複数のプロセッサによって実行され、不揮発性メモリを論理的にｐ個のレベルの物理単位に分割するステップと、第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換するステップとを実現し、前記不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数であり、ｑは１からｐのいずれかの正の整数である、コンピュータ読み取り可能な記憶媒体を提供する。
【００１２】
上記目的を達成するために、本発明は、不揮発性メモリ向けのウェアレベリング及びアクセスデバイスであって、不揮発性メモリと、プロセッサとを備え、前記プロセッサは不揮発性メモリ向けのウェアレベリング及びアクセスプログラムを実行するために用いられ、不揮発性メモリを論理的にｐ個のレベルの物理単位に分割するステップと、第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換するステップとを実現し、前記不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数であり、ｑは１からｐのいずれかの正の整数である、不揮発性メモリ向けのウェアレベリング及びアクセスデバイスを提供する。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施例に係る不揮発性メモリ向けのウェアレベリング及びアクセス方法のフローチャートである。
【図２】本発明の一実施例に係る不揮発性メモリ向けのウェアレベリング及びアクセス方法の模式図である。
【図３】本発明の一実施例に係る不揮発性メモリ向けのウェアレベリング及びアクセス方法のフローチャートである。
【図４】本発明の他の実施例に係る不揮発性メモリ向けのウェアレベリング及びアクセス方法のフローチャートである。
【図５】本発明の一実施例に係る不揮発性メモリ向けのウェアレベリング及びアクセス方法の模式図である。
【図６】本発明の一実施例に係る不揮発性メモリ向けのウェアレベリング及びアクセスデバイスのブロック図である。
【図７】本発明の他の実施例に係る不揮発性メモリ向けのウェアレベリング及びアクセスデバイスのブロック図である。
【発明を実施するための形態】
【００１４】
本発明の目的の実現、機能特徴及び利点について、実施例と合わせて図面を参照してさらに説明する。
【００１５】
なお、ここに記載された具体的な実施形態は、あくまでも本発明を解釈するためのものであり、本発明を限定するものではない。
【００１６】
以降の説明では、構成要素を示すための「モジュール」、「部品」、「ユニット」等の接尾辞を用いたのは、本発明の説明の便宜上のものであり、それ自体に特有の意味を有するものではない。したがって、「モジュール」、「部品」、または「ユニット」は、混在して使用されてもよい。
【００１７】
図１に示すように、本発明の一実施例は、不揮発性メモリ向けのウェアレベリング及びアクセス方法を提供するものであり、以下のステップを含む。
【００１８】
ステップＳ１１０では、不揮発性メモリを論理的にｐ個のレベルの物理単位に分割し、不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数である。
【００１９】
本実施例では、例えば、不揮発性メモリを論理的にｎ個の第１物理単位に分割し、そのサイズをＮとし、各第１物理単位をｍ個の第２物理単位に分割し、そのサイズをＭとし、各第２物理単位をｋ個の第３物理単位に分割し、そのサイズをＫとし、・・・、これによって類推する。
【００２０】
本実施例では、ステップＳ１１０のトリガ条件について、さらに制限が設けられている。典型的なトリガ条件としては、（１）ユーザが手動でトリガすること。（２）ＣＰＵは、過去の一定時間内、例えば１時間以内に、不揮発性メモリのある固定アドレスへの書き込み回数が予め設定された閾値、例えば１０万回を超えることが検出されたことが挙げられる。ステップＳ１１０のトリガの前に、従来のマッピングテーブルの方式が採用される。
【００２１】
ステップＳ１２０では、第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換し、ｑは１からｐのいずれかの正の整数である。
【００２２】
本実施例では、ステップＳ１２０の終了条件について、さらに制限が設けられている。典型的な終了条件としては、（１）ユーザが手動でトリガすること。（２）ＣＰＵは、過去の一定時間内、例えば７日以内の任意の時間間隔、例えば、１時間内に不揮発性メモリのある固定アドレスへの書き込み回数が予め設定された閾値、例えば１０万回を超えていないことが検出されたこと。（３）その不揮発性メモリが予め設定された寿命値に達したことが検出され、寿命の限界に迫るので、このとき、ウェアレベリングの必要がなくなること。（４）その不揮発性メモリのいくつかのアドレスは書き込み回数の上限に達したことが挙げられる。ステップＳ１２０の終了後、従来のマッピングテーブルの方式が採用される。
【００２３】
本実施例では、第１物理単位の交替時間周期をＡとし、第２物理単位の交替時間周期をＢとし、第３物理単位の交替時間周期をＣとし、・・・、これによって類推する。本実施例では、例えば、時間周期Ａが到来すると、ｎ個の第１物理単位が交替され、時間周期Ｂが到来すると、各第１物理単位におけるｍ個の第２物理単位が交替され、時間周期Ｃが到来すると、各第２物理単位におけるｋ個の第３物理単位が交替され、・・・、これによって類推する。交替後のデータ位置が変化し、具体的には図２に示すようになる。
【００２４】
本実施例では、交替の物理単位は、（１）セグメント、（２）ブロック、（３）ページ、（４）数バイト（Ｂ）、（５）数キロバイト（ＫＢ）、（６）数メガバイト（ＭＢ）、（７）数ギガバイト（ＧＢ）、及び（８）その他のメモリ容量単位を含むが、これらに限定されない。交替の時間単位は、（１）数年、（２）数四半期、（３）数か月、（４）数週、（５）数日、（６）数時間、（７）数分、（８）数秒、及び（９）その他の旧暦、チベット歴の時間単位を含むが、これらに限定されない。交替の方式は、（１）順次に一つずつ交替すること、（２）逆順に一つずつ交替すること、（３）順次に間引きに交替すること、（４）逆順に間引きに交替すること、（５）擬似乱数的に交替すること、（６）その他の交替方式を含むが、これらに限定されない。
【００２５】
本実施例の技術的解決手段によれば、同一の固定の論理アドレスに対する意図しない又は悪意な集中アクセスを、実際に各物理アドレスに均等に分散させることができ、ウェアレベリングの効果を達成することができる。従来のマッピングテーブルの方法と比較して、本発明の方法は、メモリ空間を余分に長期に亘って占有することなく、簡単な計算で論理アドレスと物理アドレスとの変換を完了することができ、効率の低いテーブルルックアップ操作を回避し、空間節約及び時間節約の効果を達成することができる。
【００２６】
図３に示すように、本発明の一実施例は、不揮発性メモリ向けのウェアレベリング及びアクセス方法を提供するものであり、以下のステップを含む。
【００２７】
ステップＳ３１０では、不揮発性メモリを論理的にｐ個のレベルの物理単位に分割し、不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数である。
【００２８】
ステップＳ３２０では、現在の動作シーンに応じて、第ｑレベルの物理単位に対応する時間周期を設定する。
【００２９】
本実施例では、各交替物理単位は、それぞれ独立して同時に交替を行うことが好ましい。当然のことながら、セグメントのみの交替やブロックのみの交替では、ある程度ウェアレベリングを達成することができるが、同一の論理アドレスへのアクセスは、ある幾つかの物理アドレス上に固定的に分散されており、その論理アドレスを物理アドレス全体に分散させることができない。本発明は、全てのステップ又は複数のステップを組み合わせる必要がある。交替の時間間隔が短いほど、ウェアレベリングの効果が強くなり、遷移の回数も頻繁となり、外部へのサービスを一時的に停止するため、交替の時間があまり長くならず、あまり短くならず、ユースケースを実施する際に実際の状況に応じて決定する必要がある。遷移時間は、システムの低稼働期間に選択されるのが好ましい。システムが攻撃を受けた場合や、その他の必要なシーンでは、時間周期Ａ、Ｂ、Ｃを短くして、ユーザによりトリガされたり、システムが自動的にトリガしたりするのが好ましい。
【００３０】
ステップＳ３３０では、第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータをストレージまたはメモリにコピーし、各第ｑレベルの物理単位のデータが交替された後の位置に従って、ストレージまたはメモリから不揮発性メモリにコピーし、ｑは１からｐのいずれかの正の整数である。
【００３１】
本実施例では、一つの第ｑレベルの物理単位のデータをストレージまたはメモリにコピーし、他の第ｑレベルの物理単位のデータを一つずつ不揮発性メモリ上の直前のコピーデータの位置にコピーし、また、ストレージまたはメモリ中のデータを不揮発性メモリ上の直前のコピーデータの位置にコピーする、という交替方式をさらに提供する。
【００３２】
本実施例では、（１）当該不揮発性メモリの全てのデータを他のメモリ又はストレージにコピーした後、新たな位置でデータを当該不揮発性メモリにコピーし、（２）当該不揮発性メモリの最後のセグメント（又はブロック）を他のメモリ又はストレージにコピーした後、不揮発性メモリ中のデータをセグメント（ブロック）毎に新たな位置にコピーし、最後に他のメモリ又はストレージに一時的に保存されている最後のセグメント（ブロック）を不揮発性メモリにおける新たな位置にコピーする。
【００３３】
ステップＳ３４０では、ユーザが不揮発性メモリにアクセスする際に、第ｑレベルのｎ個の物理単位のうちのａ番目の物理単位の論理アドレスを（ｘ／Ｑ＋ｙ／Ａ）％ｎに設定し、ただし、ｘは不揮発性メモリの論理アドレスであり、Ｑは各第ｑレベルの物理単位のサイズであり、ｙはユーザのアクセス時間であり、Ａは第ｑレベルの物理単位に対応する時間周期である。
【００３４】
本実施例では、例えば、ユーザが、ｙ時間に、論理アドレスがｘのメモリにアクセスする際に、本方法により、その物理アドレスＺを算出し、ａ番目の第１物理単位において、Ｚ＝（ｘ／Ｎ＋ｙ／Ａ）％ｎを算出し、ｂ番目の第２物理単位において、Ｚ＝（ｘ／Ｍ＋ｙ／Ｂ）％ｍを算出し、ｃ番目の第３物理単位において、Ｚ＝（ｘ／Ｋ＋ｙ／Ｃ）％ｋ、・・・、これによって類推する。ａ、ｂ、ｃ、・・・このように、物理アドレスＺを特定することができる。以上のアクセス方法は、ユーザによって行われてもよいし、ユーザによって行われなくてもよい。前者の場合、ユーザが上記ステップの実行を担当し、アクセス時に先に論理アドレスを物理アドレスに変換する。後者の場合、物理アドレスの交替がユーザに対して透過的であり、ユーザはアクセス時にのみ、常に論理アドレスでアクセスし、ドライバプログラム（またはオペレーティングシステム、またはコンテナ）によって物理アドレスに変換される。
【００３５】
本実施例の技術的解決手段によれば、同一の固定の論理アドレスに対する意図しない又は悪意な集中アクセスを、実際に各物理アドレスに均等に分散させることができ、ウェアレベリングの効果を達成することができる。従来のマッピングテーブルの方法と比較して、本発明の方法は、メモリ空間を余分に長期に亘って占有することなく、簡単な計算で論理アドレスと物理アドレスとの変換を完了することができ、効率の低いテーブルルックアップ操作を回避し、空間節約及び時間節約の効果を達成することができる。
【００３６】
図４に示すように、本発明の一実施例は、不揮発性メモリ向けのウェアレベリング及びアクセス方法を提供するものであり、以下のステップを含む。
【００３７】
ステップＳ３１では、不揮発性メモリを論理的にｐ個のレベルの物理単位に分割し、不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数である。
【００３８】
ステップＳ３２では、現在の動作シーンに応じて、第ｑレベルの物理単位に対応する時間周期を設定する。
【００３９】
本実施例では、各交替物理単位は、それぞれ独立して同時に交替を行うことが好ましい。当然のことながら、セグメントのみの交替やブロックのみの交替では、ある程度ウェアレベリングを達成することができるが、同一の論理アドレスへのアクセスは、ある幾つかの物理アドレス上に固定的に分散されており、その論理アドレスを物理アドレス全体に分散させることができない。本発明は、全てのステップ又は複数のステップを組み合わせる必要がある。交替の時間間隔が短いほど、ウェアレベリングの効果が強くなり、遷移の回数も頻繁となり、外部へのサービスを一時的に停止するため、交替の時間があまり長くならず、あまり短くならず、ユースケースを実施する際に実際の状況に応じて決定する必要がある。遷移時間は、システムの低稼働期間に選択されるのが好ましい。システムが攻撃を受けた場合や、その他の必要なシーンでは、時間周期Ａ、Ｂ、Ｃを短くして、ユーザによりトリガされたり、システムが自動的にトリガしたりするのが好ましい。
【００４０】
ステップＳ３３では、第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータを不揮発性メモリのその他の空き位置又はその他のメモリ／ストレージにコピーし、各第ｑレベルの物理単位のデータが交替された後の位置に従って、不揮発性メモリのその他の空き位置又はその他のメモリ／ストレージから不揮発性メモリにコピーし、ｑは１からｐのいずれかの正の整数である。
【００４１】
本実施例では、一つの第ｑレベルの物理単位のデータを不揮発性メモリのその他の空き位置又はその他のメモリ／ストレージにコピーし、他の第ｑレベルの物理単位のデータを一つずつ不揮発性メモリ上の直前のコピーデータの位置にコピーし、また、不揮発性メモリのその他の空き位置又はその他のメモリ／ストレージ中のデータを不揮発性メモリ上の直前のコピーデータの位置にコピーする、という交替方式をさらに提供する。
【００４２】
本実施例では、（１）当該不揮発性メモリの全てのデータを他のメモリ又はストレージにコピーした後、新たな位置でデータを当該不揮発性メモリにコピーし、（２）当該不揮発性メモリの最後のセグメント（又はブロック）を他のメモリ又はストレージにコピーした後、不揮発性メモリ中のデータをセグメント（ブロック）毎に新たな位置にコピーし、最後に他のメモリ又はストレージに一時的に保存されている最後のセグメント（ブロック）を不揮発性メモリにおける新たな位置にコピーする。
【００４３】
ステップＳ３４０では、ユーザが不揮発性メモリにアクセスする際に、第ｑレベルのｎ個の物理単位のうちのａ番目の物理単位の論理アドレスを（ｘ／Ｑ＋ｙ／Ａ）％ｎに設定し、ただし、ｘは不揮発性メモリの論理アドレスであり、Ｑは各第ｑレベルの物理単位のサイズであり、ｙはユーザのアクセス時間であり、Ａは第ｑレベルの物理単位に対応する時間周期である。
【００４４】
本実施例では、例えば、ユーザが、ｙ時間に、論理アドレスがｘのメモリにアクセスする際に、本方法により、その物理アドレスＺを算出し、ａ番目の第１物理単位において、Ｚ＝（ｘ／Ｎ＋ｙ／Ａ）％ｎを算出し、ｂ番目の第２物理単位において、Ｚ＝（ｘ／Ｍ＋ｙ／Ｂ）％ｍを算出し、ｃ番目の第３物理単位において、Ｚ＝（ｘ／Ｋ＋ｙ／Ｃ）％ｋ、・・・、これによって類推する。ａ、ｂ、ｃ、・・・このように、物理アドレスＺを特定することができる。以上のアクセス方法は、ユーザによって行われてもよいし、ユーザによって行われなくてもよい。前者の場合、ユーザが上記ステップの実行を担当し、アクセス時に先に論理アドレスを物理アドレスに変換する。後者の場合、物理アドレスの交替がユーザに対して透過的であり、ユーザはアクセス時にのみ、常に論理アドレスでアクセスし、ドライバプログラム（またはオペレーティングシステム、またはコンテナ）によって物理アドレスに変換される。
【００４５】
本実施例の技術的解決手段によれば、同一の固定の論理アドレスに対する意図しない又は悪意な集中アクセスを、実際に各物理アドレスに均等に分散させることができ、ウェアレベリングの効果を達成することができる。従来のマッピングテーブルの方法と比較して、本発明の方法は、メモリ空間を余分に長期に亘って占有することなく、簡単な計算で論理アドレスと物理アドレスとの変換を完了することができ、効率の低いテーブルルックアップ操作を回避し、空間節約及び時間節約の効果を達成することができる。
【００４６】
図５に本実施例の具体例を示す。
（１）交替周期Ａは月である。交替周期Ｂは年である。当該不揮発性メモリは、論理的に３つのセグメントに区分されており、セグメント毎に１０個のブロックがある。交替方式は順次に一つずつ交替することである。
（２）毎月の最後の１秒に、不揮発性メモリの３つのセグメントが交替され、すなわち、セグメント３のコンテンツが他のメモリに一時的に書き込まれ保存され、セグメント２のコンテンツがセグメント３の位置に書き込まれ、セグメント１のコンテンツがセグメント２の位置に書き込まれ、他のメモリに一時的に保存されているコンテンツがセグメント１の位置に書き込まれる。
（３）毎年の最後の１秒に、不揮発性メモリの３つのセグメントについて、ブロック毎に交替され、すなわち、ブロック１のコンテンツがブロック２の位置に書き込まれ、ブロック２のコンテンツがブロック３の位置に書き込まれ、・・・、これによって類推する。
（４）下記のステップにおいて、具体的な時間における、論理アドレスから物理アドレスへの変換を示す。
（５）ユーザが２０１７年３月にアクセスした論理アドレスは１６番目のブロックであり、それは２番目のセグメント内の７番目のブロックになる。３月であるため、そのセグメント番号を後ろに３回シフトすると、依然として２番目のセグメントのままである。２０１７年であるため、そのブロック番号を後ろに２０１７回シフトすると、セグメント内の４番目のブロックになる。以上により、そのブロックの物理アドレスは、２番目のセグメント内の４番目のブロック、すなわち１３番目のブロックになる。
（６）ユーザが２０１７年４月にアクセスした論理アドレスは同様に１６番目のブロックである。４月であるため、そのセグメント番号を後ろに４回循環してシフトすると、３番目のセグメントになる。２０１７年であるため、そのブロック番号を後ろに２０１７回シフトすると、セグメント内の４番目のブロックになる。以上により、そのブロックの物理アドレスは、３番目のセグメント内の４番目のブロック、すなわち、２３番目のブロックになる。
（７）ユーザが２０１７年４月にアクセスした論理アドレスは同様に１６番目のブロックである。４月であるため、そのセグメント番号を後ろに４回循環してシフトすると、３番目のセグメントになる。２０１７年であるため、そのブロック番号を後ろに２０１７回シフトすると、セグメント内の４番目のブロックになる。以上により、そのブロックの物理アドレスは、３番目のセグメント内の４番目のブロック、すなわち、２３番目のブロックになる。
（８）ユーザが２０１７年５月にアクセスした論理アドレスは同様に１６番目のブロックである。５月であるため、そのセグメント番号を後ろに５回循環してシフトすると、１番目のセグメントになる。２０１７年であるため、そのブロック番号を後ろに２０１７回シフトすると、セグメント内の４番目のブロックになる。以上により、そのブロックの物理アドレスは、１番目のセグメント内の４番目のブロック、すなわち、３番目のブロックになる。
（９）ユーザが２０１８年５月にアクセスした論理アドレスは同様に１６番目のブロックである。５月であるため、そのセグメント番号を後ろに５回循環してシフトすると、１番目のセグメントになる。２０１８年であるため、そのブロック番号を後ろに２０１８回シフトすると、セグメント内の５番目のブロックになる。以上により、そのブロックの物理アドレスは、１番目のセグメント内の５番目のブロック、すなわち、４番目のブロックになる。
（１０）同様に、論理アドレスが２２のブロックは、２０１７年３月のときの物理アドレスが２９番目のブロックになり、２０１７年４月のときの物理アドレスが９番目のブロックになり、２０１７年５月のときの物理アドレスが１９番目のブロックになり、２０１８年６月のときの物理アドレスが１０番目のブロックになる。
【００４７】
図６に示すように、本発明の一実施例は、データ交替デバイスを提供するものである。不揮発性メモリ５１０と、プロセッサ５２０と、記憶部５３０と、通信バス５４０とを備え、通信バス５４０はプロセッサ５２０と記憶部５３０との間の接続通信を実現するために用いられ、プロセッサ５２０は記憶部５３０に格納されているデータ交替プログラムを実行するために用いられ、以下のステップを実現する。
【００４８】
不揮発性メモリを論理的にｐ個のレベルの物理単位に分割し、不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数である。
【００４９】
本実施例では、例えば、不揮発性メモリを論理的にｎ個の第１物理単位に分割し、そのサイズをＮとし、各第１物理単位をｍ個の第２物理単位に分割し、そのサイズをＭとし、各第２物理単位をｋ個の第３物理単位に分割し、そのサイズをＫとし、・・・、これによって類推する。
【００５０】
第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換し、ｑは１からｐのいずれかの正の整数である。
【００５１】
本実施例では、第１物理単位の交替時間周期をＡとし、第２物理単位の交替時間周期をＢとし、第３物理単位の交替時間周期をＣとし、・・・、これによって類推する。本実施例では、例えば、時間周期Ａが到来すると、ｎ個の第１物理単位が交替され、時間周期Ｂが到来すると、各第１物理単位におけるｍ個の第２物理単位が交替され、時間周期Ｃが到来すると、各第２物理単位におけるｋ個の第３物理単位が交替され、・・・、これによって類推する。交替後のデータ位置が変化し、具体的には図２に示すようになる。
【００５２】
本実施例では、交替の物理単位は、（１）セグメント、（２）ブロック、（３）ページ、（４）数バイト（Ｂ）、（５）数キロバイト（ＫＢ）、（６）数メガバイト（ＭＢ）、（７）数ギガバイト（ＧＢ）、及び（８）その他のメモリ容量単位を含むが、これらに限定されない。交替の時間単位は、（１）数年、（２）数四半期、（３）数か月、（４）数週、（５）数日、（６）数時間、（７）数分、（８）数秒、及び（９）その他の旧暦、チベット歴の時間単位を含むが、これらに限定されない。交替の方式は、（１）順次に一つずつ交替すること、（２）逆順に一つずつ交替すること、（３）順次に間引きに交替すること、（４）逆順に間引きに交替すること、（５）擬似乱数的に交替すること、（６）その他の交替方式を含むが、これらに限定されない。
【００５３】
本実施例の技術的解決手段によれば、同一の固定の論理アドレスに対する意図しない又は悪意な集中アクセスを、実際に各物理アドレスに均等に分散させることができ、ウェアレベリングの効果を達成することができる。従来のマッピングテーブルの方法と比較して、本発明の方法は、メモリ空間を余分に長期に亘って占有することなく、簡単な計算で論理アドレスと物理アドレスとの変換を完了することができ、効率の低いテーブルルックアップ操作を回避し、空間節約及び時間節約の効果を達成することができる。
【００５４】
図６に示すように、本発明の一実施例は、データ交替デバイスを提供するものである。不揮発性メモリ５１０と、プロセッサ５２０と、記憶部５３０と、通信バス５４０とを備え、通信バス５４０はプロセッサ５２０と記憶部５３０との間の接続通信を実現するために用いられ、プロセッサ５２０は記憶部５３０に格納されているデータ交替プログラムを実行するために用いられ、以下のステップを実現する。不揮発性メモリを論理的にｐ個のレベルの物理単位に分割し、不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数である。
【００５５】
現在の動作シーンに応じて、第ｑレベルの物理単位に対応する時間周期を設定する。
【００５６】
本実施例では、各交替物理単位は、それぞれ独立して同時に交替を行うことが好ましい。当然のことながら、セグメントのみの交替やブロックのみの交替では、ある程度ウェアレベリングを達成することができるが、同一の論理アドレスへのアクセスは、ある幾つかの物理アドレス上に固定的に分散されており、その論理アドレスを物理アドレス全体に分散させることができない。本発明は、全てのステップ又は複数のステップを組み合わせる必要がある。交替の時間間隔が短いほど、ウェアレベリングの効果が強くなり、遷移の回数も頻繁となり、外部へのサービスを一時的に停止するため、交替の時間があまり長くならず、あまり短くならず、ユースケースを実施する際に実際の状況に応じて決定する必要がある。遷移時間は、システムの低稼働期間に選択されるのが好ましい。システムが攻撃を受けた場合や、その他の必要なシーンでは、時間周期Ａ、Ｂ、Ｃを短くして、ユーザによりトリガされたり、システムが自動的にトリガしたりするのが好ましい。
【００５７】
第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータをストレージまたはメモリにコピーし、各第ｑレベルの物理単位のデータが交替された後の位置に従って、ストレージまたはメモリから不揮発性メモリにコピーし、ｑは１からｐのいずれかの正の整数である。
【００５８】
本実施例では、一つの第ｑレベルの物理単位のデータをストレージまたはメモリにコピーし、他の第ｑレベルの物理単位のデータを一つずつ不揮発性メモリ上の直前のコピーデータの位置にコピーし、また、ストレージまたはメモリ中のデータを不揮発性メモリ上の直前のコピーデータの位置にコピーする、という交替方式をさらに提供する。
【００５９】
本実施例では、（１）当該不揮発性メモリの全てのデータを他のメモリ又はストレージにコピーした後、新たな位置でデータを当該不揮発性メモリにコピーし、（２）当該不揮発性メモリの最後のセグメント（又はブロック）を他のメモリ又はストレージにコピーした後、不揮発性メモリ中のデータをセグメント（ブロック）毎に新たな位置にコピーし、最後に他のメモリ又はストレージに一時的に保存されている最後のセグメント（ブロック）を不揮発性メモリにおける新たな位置にコピーする。
【００６０】
ユーザが不揮発性メモリにアクセスする際に、第ｑレベルのｎ個の物理単位のうちのａ番目の物理単位の論理アドレスを（ｘ／Ｑ＋ｙ／Ａ）％ｎに設定し、ただし、ｘは不揮発性メモリの論理アドレスであり、Ｑは各第ｑレベルの物理単位のサイズであり、ｙはユーザのアクセス時間であり、Ａは第ｑレベルの物理単位に対応する時間周期である。
【００６１】
本実施例では、例えば、ユーザが、ｙ時間に、論理アドレスがｘのメモリにアクセスする際に、本方法により、その物理アドレスＺを算出し、ａ番目の第１物理単位において、Ｚ＝（ｘ／Ｎ＋ｙ／Ａ）％ｎを算出し、ｂ番目の第２物理単位において、Ｚ＝（ｘ／Ｍ＋ｙ／Ｂ）％ｍを算出し、ｃ番目の第３物理単位において、Ｚ＝（ｘ／Ｋ＋ｙ／Ｃ）％ｋ、・・・、これによって類推する。ａ、ｂ、ｃ、・・・このように、物理アドレスＺを特定することができる。以上のアクセス方法は、ユーザによって行われてもよいし、ユーザによって行われなくてもよい。前者の場合、ユーザが上記ステップの実行を担当し、アクセス時に先に論理アドレスを物理アドレスに変換する。後者の場合、物理アドレスの交替がユーザに対して透過的であり、ユーザはアクセス時にのみ、常に論理アドレスでアクセスし、ドライバプログラム（またはオペレーティングシステム、またはコンテナ）によって物理アドレスに変換される。
【００６２】
本実施例の技術的解決手段によれば、同一の固定の論理アドレスに対する意図しない又は悪意な集中アクセスを、実際に各物理アドレスに均等に分散させることができ、ウェアレベリングの効果を達成することができる。従来のマッピングテーブルの方法と比較して、本発明の方法は、メモリ空間を余分に長期に亘って占有することなく、簡単な計算で論理アドレスと物理アドレスとの変換を完了することができ、効率の低いテーブルルックアップ操作を回避し、空間節約及び時間節約の効果を達成することができる。
【００６３】
図７に示すように、本発明の一実施例は、不揮発性メモリ７１０と、プロセッサ７２０とを備える不揮発性メモリ向けのウェアレベリング及びアクセスデバイスを提供するものである。
【００６４】
プロセッサ７２０は不揮発性メモリ向けのウェアレベリング及びアクセスプログラムを実行するために用いられ、以下のステップを実現する。不揮発性メモリを論理的にｐ個のレベルの物理単位に分割し、不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数である。
【００６５】
本実施例では、例えば、不揮発性メモリを論理的にｎ個の第１物理単位に分割し、そのサイズをＮとし、各第１物理単位をｍ個の第２物理単位に分割し、そのサイズをＭとし、各第２物理単位をｋ個の第３物理単位に分割し、そのサイズをＫとし、・・・、これによって類推する。
【００６６】
第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換し、ｑは１からｐのいずれかの正の整数である。
【００６７】
本実施例では、第１物理単位の交替時間周期をＡとし、第２物理単位の交替時間周期をＢとし、第３物理単位の交替時間周期をＣとし、・・・、これによって類推する。本実施例では、例えば、時間周期Ａが到来すると、ｎ個の第１物理単位が交替され、時間周期Ｂが到来すると、各第１物理単位におけるｍ個の第２物理単位が交替され、時間周期Ｃが到来すると、各第２物理単位におけるｋ個の第３物理単位が交替され、・・・、これによって類推する。交替後のデータ位置が変化し、具体的には図２に示すようになる。
【００６８】
本実施例では、交替の物理単位は、（１）セグメント、（２）ブロック、（３）ページ、（４）数バイト（Ｂ）、（５）数キロバイト（ＫＢ）、（６）数メガバイト（ＭＢ）、（７）数ギガバイト（ＧＢ）、及び（８）その他のメモリ容量単位を含むが、これらに限定されない。交替の時間単位は、（１）数年、（２）数四半期、（３）数か月、（４）数週、（５）数日、（６）数時間、（７）数分、（８）数秒、及び（９）その他の旧暦、チベット歴の時間単位を含むが、これらに限定されない。交替の方式は、（１）順次に一つずつ交替すること、（２）逆順に一つずつ交替すること、（３）順次に間引きに交替すること、（４）逆順に間引きに交替すること、（５）擬似乱数的に交替すること、（６）その他の交替方式を含むが、これらに限定されない。
【００６９】
本実施例の技術的解決手段によれば、同一の固定の論理アドレスに対する意図しない又は悪意な集中アクセスを、実際に各物理アドレスに均等に分散させることができ、ウェアレベリングの効果を達成することができる。従来のマッピングテーブルの方法と比較して、本発明の方法は、メモリ空間を余分に長期に亘って占有することなく、簡単な計算で論理アドレスと物理アドレスとの変換を完了することができ、効率の低いテーブルルックアップ操作を回避し、空間節約及び時間節約の効果を達成することができる。
【００７０】
図７に示すように、本発明の一実施例は、不揮発性メモリ７１０と、プロセッサ７２０とを備える不揮発性メモリ向けのウェアレベリング及びアクセスデバイスを提供するものである。
【００７１】
プロセッサ７２０は不揮発性メモリ向けのウェアレベリング及びアクセスプログラムを実行するために用いられ、以下のステップを実現する。不揮発性メモリを論理的にｐ個のレベルの物理単位に分割し、不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数である。
【００７２】
現在の動作シーンに応じて、第ｑレベルの物理単位に対応する時間周期を設定する。
【００７３】
本実施例では、各交替物理単位は、それぞれ独立して同時に交替を行うことが好ましい。当然のことながら、セグメントのみの交替やブロックのみの交替では、ある程度ウェアレベリングを達成することができるが、同一の論理アドレスへのアクセスは、ある幾つかの物理アドレス上に固定的に分散されており、その論理アドレスを物理アドレス全体に分散させることができない。本発明は、全てのステップ又は複数のステップを組み合わせる必要がある。交替の時間間隔が短いほど、ウェアレベリングの効果が強くなり、遷移の回数も頻繁となり、外部へのサービスを一時的に停止するため、交替の時間があまり長くならず、あまり短くならず、ユースケースを実施する際に実際の状況に応じて決定する必要がある。遷移時間は、システムの低稼働期間に選択されるのが好ましい。システムが攻撃を受けた場合や、その他の必要なシーンでは、時間周期Ａ、Ｂ、Ｃを短くして、ユーザによりトリガされたり、システムが自動的にトリガしたりするのが好ましい。
【００７４】
第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータを不揮発性メモリのその他の空き位置又はその他のメモリ／ストレージにコピーし、各第ｑレベルの物理単位のデータが交替された後の位置に従って、不揮発性メモリのその他の空き位置又はその他のメモリ／ストレージから不揮発性メモリにコピーし、ｑは１からｐのいずれかの正の整数である。
【００７５】
本実施例では、一つの第ｑレベルの物理単位のデータを不揮発性メモリのその他の空き位置又はその他のメモリ／ストレージにコピーし、他の第ｑレベルの物理単位のデータを一つずつ不揮発性メモリ上の直前のコピーデータの位置にコピーし、また、不揮発性メモリのその他の空き位置又はその他のメモリ／ストレージ中のデータを不揮発性メモリ上の直前のコピーデータの位置にコピーする、という交替方式をさらに提供する。
【００７６】
本実施例では、（１）当該不揮発性メモリの全てのデータを他のメモリ又はストレージにコピーした後、新たな位置でデータを当該不揮発性メモリにコピーし、（２）当該不揮発性メモリの最後のセグメント（又はブロック）を他のメモリ又はストレージにコピーした後、不揮発性メモリ中のデータをセグメント（ブロック）毎に新たな位置にコピーし、最後に他のメモリ又はストレージに一時的に保存されている最後のセグメント（ブロック）を不揮発性メモリにおける新たな位置にコピーする。
【００７７】
ユーザが不揮発性メモリにアクセスする際に、第ｑレベルのｎ個の物理単位のうちのａ番目の物理単位の論理アドレスを（ｘ／Ｑ＋ｙ／Ａ）％ｎに設定し、ただし、ｘは不揮発性メモリの論理アドレスであり、Ｑは各第ｑレベルの物理単位のサイズであり、ｙはユーザのアクセス時間であり、Ａは第ｑレベルの物理単位に対応する時間周期である。
【００７８】
本実施例では、例えば、ユーザが、ｙ時間に、論理アドレスがｘのメモリにアクセスする際に、本方法により、その物理アドレスＺを算出し、ａ番目の第１物理単位において、Ｚ＝（ｘ／Ｎ＋ｙ／Ａ）％ｎを算出し、ｂ番目の第２物理単位において、Ｚ＝（ｘ／Ｍ＋ｙ／Ｂ）％ｍを算出し、ｃ番目の第３物理単位において、Ｚ＝（ｘ／Ｋ＋ｙ／Ｃ）％ｋ、・・・、これによって類推する。ａ、ｂ、ｃ、・・・このように、物理アドレスＺを特定することができる。以上のアクセス方法は、ユーザによって行われてもよいし、ユーザによって行われなくてもよい。前者の場合、ユーザが上記ステップの実行を担当し、アクセス時に先に論理アドレスを物理アドレスに変換する。後者の場合、物理アドレスの交替がユーザに対して透過的であり、ユーザはアクセス時にのみ、常に論理アドレスでアクセスし、ドライバプログラム（またはオペレーティングシステム、またはコンテナ）によって物理アドレスに変換される。
【００７９】
本実施例の技術的解決手段によれば、同一の固定の論理アドレスに対する意図しない又は悪意な集中アクセスを、実際に各物理アドレスに均等に分散させることができ、ウェアレベリングの効果を達成することができる。従来のマッピングテーブルの方法と比較して、本発明の方法は、メモリ空間を余分に長期に亘って占有することなく、簡単な計算で論理アドレスと物理アドレスとの変換を完了することができ、効率の低いテーブルルックアップ操作を回避し、空間節約及び時間節約の効果を達成することができる。
【００８０】
図５に本実施例の具体例を示す。
（１）交替周期Ａは月である。交替周期Ｂは年である。当該不揮発性メモリは、論理的に３つのセグメントに区分されており、セグメント毎に１０個のブロックがある。交替方式は順次に一つずつ交替することである。
（２）毎月の最後の１秒に、不揮発性メモリの３つのセグメントが交替され、すなわち、セグメント３のコンテンツが他のメモリに一時的に書き込まれ保存され、セグメント２のコンテンツがセグメント３の位置に書き込まれ、セグメント１のコンテンツがセグメント２の位置に書き込まれ、他のメモリに一時的に保存されているコンテンツがセグメント１の位置に書き込まれる。
（３）毎年の最後の１秒に、不揮発性メモリの３つのセグメントについて、ブロック毎に交替され、すなわち、ブロック１のコンテンツがブロック２の位置に書き込まれ、ブロック２のコンテンツがブロック３の位置に書き込まれ、・・・、これによって類推する。
（４）下記のステップにおいて、具体的な時間における、論理アドレスから物理アドレスへの変換を示す。
（５）ユーザが２０１７年３月にアクセスした論理アドレスは１６番目のブロックであり、それは２番目のセグメント内の７番目のブロックになる。３月であるため、そのセグメント番号を後ろに３回シフトすると、依然として２番目のセグメントのままである。２０１７年であるため、そのブロック番号を後ろに２０１７回シフトすると、セグメント内の４番目のブロックになる。以上により、そのブロックの物理アドレスは、２番目のセグメント内の４番目のブロック、すなわち１３番目のブロックになる。
（６）ユーザが２０１７年４月にアクセスした論理アドレスは同様に１６番目のブロックである。４月であるため、そのセグメント番号を後ろに４回循環してシフトすると、３番目のセグメントになる。２０１７年であるため、そのブロック番号を後ろに２０１７回シフトすると、セグメント内の４番目のブロックになる。以上により、そのブロックの物理アドレスは、３番目のセグメント内の４番目のブロック、すなわち、２３番目のブロックになる。
（７）ユーザが２０１７年４月にアクセスした論理アドレスは同様に１６番目のブロックである。４月であるため、そのセグメント番号を後ろに４回循環してシフトすると、３番目のセグメントになる。２０１７年であるため、そのブロック番号を後ろに２０１７回シフトすると、セグメント内の４番目のブロックになる。以上により、そのブロックの物理アドレスは、３番目のセグメント内の４番目のブロック、すなわち、２３番目のブロックになる。
（８）ユーザが２０１７年５月にアクセスした論理アドレスは同様に１６番目のブロックである。５月であるため、そのセグメント番号を後ろに５回循環してシフトすると、１番目のセグメントになる。２０１７年であるため、そのブロック番号を後ろに２０１７回シフトすると、セグメント内の４番目のブロックになる。以上により、そのブロックの物理アドレスは、１番目のセグメント内の４番目のブロック、すなわち、３番目のブロックになる。
（９）ユーザが２０１８年５月にアクセスした論理アドレスは同様に１６番目のブロックである。５月であるため、そのセグメント番号を後ろに５回循環してシフトすると、１番目のセグメントになる。２０１８年であるため、そのブロック番号を後ろに２０１８回シフトすると、セグメント内の５番目のブロックになる。以上により、そのブロックの物理アドレスは、１番目のセグメント内の５番目のブロック、すなわち、４番目のブロックになる。
（１０）同様に、論理アドレスが２２のブロックは、２０１７年３月のときの物理アドレスが２９番目のブロックになり、２０１７年４月のときの物理アドレスが９番目のブロックになり、２０１７年５月のときの物理アドレスが１９番目のブロックになり、２０１８年６月のときの物理アドレスが１０番目のブロックになる。
【００８１】
本発明の一実施例は、一つ又は複数のプロセッサによって実行され、以下のステップを実現する一つ又は複数のプログラムを記憶したコンピュータ読み取り可能な記憶媒体を提供するものである。
【００８２】
不揮発性メモリを論理的にｐ個のレベルの物理単位に分割し、不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数である。
【００８３】
本実施例では、例えば、不揮発性メモリを論理的にｎ個の第１物理単位に分割し、そのサイズをＮとし、各第１物理単位をｍ個の第２物理単位に分割し、そのサイズをＭとし、各第２物理単位をｋ個の第３物理単位に分割し、そのサイズをＫとし、・・・、これによって類推する。
【００８４】
第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換し、ｑは１からｐのいずれかの正の整数である。
【００８５】
本実施例では、第１物理単位の交替時間周期をＡとし、第２物理単位の交替時間周期をＢとし、第３物理単位の交替時間周期をＣとし、・・・、これによって類推する。本実施例では、例えば、時間周期Ａが到来すると、ｎ個の第１物理単位が交替され、時間周期Ｂが到来すると、各第１物理単位におけるｍ個の第２物理単位が交替され、時間周期Ｃが到来すると、各第２物理単位におけるｋ個の第３物理単位が交替され、・・・、これによって類推する。交替後のデータ位置が変化し、具体的には図２に示すようになる。
【００８６】
本実施例では、交替の物理単位は、（１）セグメント、（２）ブロック、（３）ページ、（４）数バイト（Ｂ）、（５）数キロバイト（ＫＢ）、（６）数メガバイト（ＭＢ）、（７）数ギガバイト（ＧＢ）、及び（８）その他のメモリ容量単位を含むが、これらに限定されない。交替の時間単位は、（１）数年、（２）数四半期、（３）数か月、（４）数週、（５）数日、（６）数時間、（７）数分、（８）数秒、及び（９）その他の旧暦、チベット歴の時間単位を含むが、これらに限定されない。交替の方式は、（１）順次に一つずつ交替すること、（２）逆順に一つずつ交替すること、（３）順次に間引きに交替すること、（４）逆順に間引きに交替すること、（５）擬似乱数的に交替すること、（６）その他の交替方式を含むが、これらに限定されない。
【００８７】
本実施例の技術的解決手段によれば、同一の固定の論理アドレスに対する意図しない又は悪意な集中アクセスを、実際に各物理アドレスに均等に分散させることができ、ウェアレベリングの効果を達成することができる。従来のマッピングテーブルの方法と比較して、本発明の方法は、メモリ空間を余分に長期に亘って占有することなく、簡単な計算で論理アドレスと物理アドレスとの変換を完了することができ、効率の低いテーブルルックアップ操作を回避し、空間節約及び時間節約の効果を達成することができる。
【００８８】
当業者であれば理解されるように、上記に開示された方法における全て又はいくつかのステップ、システム、装置における機能モジュール／ユニットはソフトウェア、ファームウェア、ハードウェア及びそれらの適切な組み合わせとして実施されてもよい。ハードウェアによる実施形態では、上記の説明で言及された機能モジュール／ユニット間の切り分けは、必ずしも物理的な構成要素の切り分けに対応するわけではなく、例えば、１つの物理的な構成要素は複数の機能を有していてもよいし、１つの機能又はステップはいくつかの物理的な構成要素が協働して実行されるものであってもよい。いくつかの物理的な構成要素又は全ての物理的な構成要素はプロセッサ、例えば中央処理装置、デジタル信号プロセッサ又はマイクロプロセッサが実行するソフトウェア、又はハードウェア、或いは、例えば専用の集積回路といった集積回路として実施されてもよい。このようなソフトウェアはコンピュータ読み取り可能な媒体に分布されてもよい。コンピュータ読み取り可能な媒体は、コンピュータ記憶媒体（又は非一時的な媒体）及び通信媒体（又は一時的な媒体）を含むことができる。当業者に一般的に知られているように、コンピュータ記憶媒体という用語は、情報（例えばコンピュータ読み取り可能な命令、データ構造、プログラムモジュール、その他のデータ）を記憶するためのいずれの方法や技術において実施される揮発性、不揮発性、着脱可能、着脱不可な媒体を含む。コンピュータ記憶媒体はＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ又は他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）又はその他の光ディスクストレージ、磁気カートリッジ、磁気テープ、磁気ディスクストレージ又はその他の磁気記憶装置、又は所望の情報を記憶しかつコンピュータによりアクセス可能な任意の他の媒体を含むが、それらに限定されない。また、当業者に一般的に知られているように、通信媒体とは、通常、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、又は搬送波やその他の伝送機構などの変調データ信号における他のデータを含み、任意の情報伝送媒体を含み得る。
【００８９】
以上、本発明の実施例について図面を参照して説明したが、本発明は上述した具体的な実施の形態に限定されるものではなく、上述した具体的な実施の形態は例示であって制限的なものではなく、当業者が本発明の示唆を受け、本発明の要旨及び特許請求の範囲の保護範囲を逸脱しない範囲において、多くの形態を採り得ることはもちろんであり、それらはいずれも本発明の保護範囲に属する。
【図１】
2021530810.tif 000003
【図２】
2021530810.tif 000004
【図３】
2021530810.tif 000005
【図４】
2021530810.tif 000006
【図５】
2021530810.tif 000007
【図６】
2021530810.tif 000008
【図７】
2021530810.tif 000009
【手続補正書】
【提出日】令和3年2月8日(2021.2.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
不揮発性メモリ向けのウェアレベリング及びアクセス方法であって、
不揮発性メモリを論理的にｐ個のレベルの物理単位に分割し、
第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換することを含み、
前記不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数であり、ｑは１からｐのいずれかの正の整数である、不揮発性メモリ向けのウェアレベリング及びアクセス方法。
【請求項２】
前記各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換することは、前記各第ｑレベルの物理単位のデータをストレージまたはメモリにコピーし、前記各第ｑレベルの物理単位のデータが交替された後の位置に従って、前記ストレージまたは前記メモリから前記不揮発性メモリにコピーすることを含む、請求項１に記載の方法。
【請求項３】
前記各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換することは、前記各第ｑレベルの物理単位のデータを前記不揮発性メモリのその他の空き位置又はその他のメモリ／ストレージにコピーし、前記各第ｑレベルの物理単位のデータが交替された後の位置に従って、前記不揮発性メモリのその他の空き位置又はその他のメモリ／ストレージから前記不揮発性メモリにコピーすることを含む、請求項１に記載の方法。
【請求項４】
前記各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換することは、一つの第ｑレベルの物理単位のデータをストレージまたはメモリにコピーし、他の第ｑレベルの物理単位のデータを一つずつ前記不揮発性メモリ上の直前のコピーデータの位置にコピーし、また、前記ストレージまたは前記メモリ中のデータを前記不揮発性メモリ上の直前のコピーデータの位置にコピーすることを含む、請求項１に記載の方法。
【請求項５】
前記各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換することは、一つの第ｑレベルの物理単位のデータを前記不揮発性メモリのその他の空き位置又はその他のメモリ／ストレージにコピーし、他の第ｑレベルの物理単位のデータを一つずつ前記不揮発性メモリ上の直前のコピーデータの位置にコピーし、また、前記不揮発性メモリのその他の空き位置又はその他のメモリ／ストレージ中のデータを前記不揮発性メモリ上の直前のコピーデータの位置にコピーすることを含む、請求項１に記載の方法。
【請求項６】
前記各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換する前に、現在の動作シーンに応じて、前記第ｑレベルの物理単位に対応する時間周期を設定することをさらに含む、請求項１に記載の方法。
【請求項７】
ユーザが前記不揮発性メモリにアクセスする際に、第ｑレベルのｎ個の物理単位のうちのａ番目の物理単位の論理アドレスを（ｘ／Ｑ＋ｙ／Ａ）％ｎに設定することをさらに含み、ただし、ｘは前記不揮発性メモリの論理アドレスであり、Ｑは各第ｑレベルの物理単位のサイズであり、ｙは前記ユーザのアクセス時間であり、Ａは前記第ｑレベルの物理単位に対応する時間周期である、請求項１に記載の方法。
【請求項８】
不揮発性メモリ向けのウェアレベリング及びアクセスデバイスであって、
不揮発性メモリと、プロセッサと、記憶部と、通信バスとを備え、
前記通信バスはプロセッサと記憶部との間の接続通信を実現するために用いられ、
前記プロセッサは記憶部に格納されているデータ交替プログラムを実行するために用いられ、不揮発性メモリを論理的にｐ個のレベルの物理単位に分割するステップと、第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換するステップとを実現し、
前記不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数であり、ｑは１からｐのいずれかの正の整数である、不揮発性メモリ向けのウェアレベリング及びアクセスデバイス。
【請求項９】
前記各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換することにおいて、前記プロセッサは前記データ交替プログラムを実行するために用いられ、
前記各第ｑレベルの物理単位のデータをストレージまたはメモリにコピーし、前記各第ｑレベルの物理単位のデータが交替された後の位置に従って、前記ストレージまたは前記メモリから前記不揮発性メモリにコピーするステップを実現する、請求項８に記載のデバイス。
【請求項１０】
前記各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換することにおいて、前記プロセッサは前記データ交替プログラムを実行するために用いられ、
一つの第ｑレベルの物理単位のデータをストレージまたはメモリにコピーし、他の第ｑレベルの物理単位のデータを一つずつ前記不揮発性メモリ上の直前のコピーデータの位置にコピーし、また、前記ストレージまたは前記メモリ中のデータを前記不揮発性メモリ上の直前のコピーデータの位置にコピーするステップを実現し、或いは、
前記各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換する前に、前記プロセッサはさらに、前記データ交替プログラムを実行するために用いられ、
現在の動作シーンに応じて、前記第ｑレベルの物理単位に対応する時間周期を設定するステップを実現する、請求項８に記載のデバイス。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
上記目的を達成するために、本発明は、不揮発性メモリ向けのウェアレベリング及びアクセスデバイスであって、不揮発性メモリと、プロセッサと、記憶部と、通信バスとを備え、前記通信バスはプロセッサと記憶部との間の接続通信を実現するために用いられ、前記プロセッサは記憶部に格納されているデータ交替プログラムを実行するために用いられ、不揮発性メモリを論理的にｐ個のレベルの物理単位に分割するステップと、第ｑレベルの物理単位に対応する時間周期が到来すると、各第ｑレベルの物理単位のデータを他の第ｑレベルの物理単位に交換するステップとを実現し、前記不揮発性メモリは複数の第１レベルの物理単位を含み、各第ｐ−１レベルの物理単位は複数の第ｐレベルの物理単位を含み、ｐは１より大きい正の整数であり、ｑは１からｐのいずれかの正の整数である、不揮発性メモリ向けのウェアレベリング及びアクセスデバイスを提供する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
ステップＳ３４では、ユーザが不揮発性メモリにアクセスする際に、第ｑレベルのｎ個の物理単位のうちのａ番目の物理単位の論理アドレスを（ｘ／Ｑ＋ｙ／Ａ）％ｎに設定し、ただし、ｘは不揮発性メモリの論理アドレスであり、Ｑは各第ｑレベルの物理単位のサイズであり、ｙはユーザのアクセス時間であり、Ａは第ｑレベルの物理単位に対応する時間周期である。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
図５に本実施例の具体例を示す。
（１）交替周期Ａは月である。交替周期Ｂは年である。当該不揮発性メモリは、論理的に３つのセグメントに区分されており、セグメント毎に１０個のブロックがある。交替方式は順次に一つずつ交替することである。
（２）毎月の最後の１秒に、不揮発性メモリの３つのセグメントが交替され、すなわち、セグメント３のコンテンツが他のメモリに一時的に書き込まれ保存され、セグメント２のコンテンツがセグメント３の位置に書き込まれ、セグメント１のコンテンツがセグメント２の位置に書き込まれ、他のメモリに一時的に保存されているコンテンツがセグメント１の位置に書き込まれる。
（３）毎年の最後の１秒に、不揮発性メモリの３つのセグメントについて、ブロック毎に交替され、すなわち、ブロック１のコンテンツがブロック２の位置に書き込まれ、ブロック２のコンテンツがブロック３の位置に書き込まれ、・・・、これによって類推する。
（４）下記のステップにおいて、具体的な時間における、論理アドレスから物理アドレスへの変換を示す。
（５）ユーザが２０１７年３月にアクセスした論理アドレスは１６番目のブロックであり、それは２番目のセグメント内の７番目のブロックになる。３月であるため、そのセグメント番号を後ろに３回シフトすると、依然として２番目のセグメントのままである。２０１７年であるため、そのブロック番号を後ろに２０１７回シフトすると、セグメント内の４番目のブロックになる。以上により、そのブロックの物理アドレスは、２番目のセグメント内の４番目のブロック、すなわち１３番目のブロックになる。
（６）ユーザが２０１７年４月にアクセスした論理アドレスは同様に１６番目のブロックである。４月であるため、そのセグメント番号を後ろに４回循環してシフトすると、３番目のセグメントになる。２０１７年であるため、そのブロック番号を後ろに２０１７回シフトすると、セグメント内の４番目のブロックになる。以上により、そのブロックの物理アドレスは、３番目のセグメント内の４番目のブロック、すなわち、２３番目のブロックになる。
（７）ユーザが２０１７年５月にアクセスした論理アドレスは同様に１６番目のブロックである。５月であるため、そのセグメント番号を後ろに５回循環してシフトすると、１番目のセグメントになる。２０１７年であるため、そのブロック番号を後ろに２０１７回シフトすると、セグメント内の４番目のブロックになる。以上により、そのブロックの物理アドレスは、１番目のセグメント内の４番目のブロック、すなわち、３番目のブロックになる。
（８）ユーザが２０１８年５月にアクセスした論理アドレスは同様に１６番目のブロックである。５月であるため、そのセグメント番号を後ろに５回循環してシフトすると、１番目のセグメントになる。２０１８年であるため、そのブロック番号を後ろに２０１８回シフトすると、セグメント内の５番目のブロックになる。以上により、そのブロックの物理アドレスは、１番目のセグメント内の５番目のブロック、すなわち、４番目のブロックになる。
（９）同様に、論理アドレスが２２のブロックは、２０１７年３月のときの物理アドレスが２９番目のブロックになり、２０１７年４月のときの物理アドレスが９番目のブロックになり、２０１７年５月のときの物理アドレスが１９番目のブロックになり、２０１８年６月のときの物理アドレスが１０番目のブロックになる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００８０
【補正方法】変更
【補正の内容】
【００８０】
図５に本実施例の具体例を示す。
（１）交替周期Ａは月である。交替周期Ｂは年である。当該不揮発性メモリは、論理的に３つのセグメントに区分されており、セグメント毎に１０個のブロックがある。交替方式は順次に一つずつ交替することである。
（２）毎月の最後の１秒に、不揮発性メモリの３つのセグメントが交替され、すなわち、セグメント３のコンテンツが他のメモリに一時的に書き込まれ保存され、セグメント２のコンテンツがセグメント３の位置に書き込まれ、セグメント１のコンテンツがセグメント２の位置に書き込まれ、他のメモリに一時的に保存されているコンテンツがセグメント１の位置に書き込まれる。
（３）毎年の最後の１秒に、不揮発性メモリの３つのセグメントについて、ブロック毎に交替され、すなわち、ブロック１のコンテンツがブロック２の位置に書き込まれ、ブロック２のコンテンツがブロック３の位置に書き込まれ、・・・、これによって類推する。
（４）下記のステップにおいて、具体的な時間における、論理アドレスから物理アドレスへの変換を示す。
（５）ユーザが２０１７年３月にアクセスした論理アドレスは１６番目のブロックであり、それは２番目のセグメント内の７番目のブロックになる。３月であるため、そのセグメント番号を後ろに３回シフトすると、依然として２番目のセグメントのままである。２０１７年であるため、そのブロック番号を後ろに２０１７回シフトすると、セグメント内の４番目のブロックになる。以上により、そのブロックの物理アドレスは、２番目のセグメント内の４番目のブロック、すなわち１３番目のブロックになる。
（６）ユーザが２０１７年４月にアクセスした論理アドレスは同様に１６番目のブロックである。４月であるため、そのセグメント番号を後ろに４回循環してシフトすると、３番目のセグメントになる。２０１７年であるため、そのブロック番号を後ろに２０１７回シフトすると、セグメント内の４番目のブロックになる。以上により、そのブロックの物理アドレスは、３番目のセグメント内の４番目のブロック、すなわち、２３番目のブロックになる。
（７）ユーザが２０１７年５月にアクセスした論理アドレスは同様に１６番目のブロックである。５月であるため、そのセグメント番号を後ろに５回循環してシフトすると、１番目のセグメントになる。２０１７年であるため、そのブロック番号を後ろに２０１７回シフトすると、セグメント内の４番目のブロックになる。以上により、そのブロックの物理アドレスは、１番目のセグメント内の４番目のブロック、すなわち、３番目のブロックになる。
（８）ユーザが２０１８年５月にアクセスした論理アドレスは同様に１６番目のブロックである。５月であるため、そのセグメント番号を後ろに５回循環してシフトすると、１番目のセグメントになる。２０１８年であるため、そのブロック番号を後ろに２０１８回シフトすると、セグメント内の５番目のブロックになる。以上により、そのブロックの物理アドレスは、１番目のセグメント内の５番目のブロック、すなわち、４番目のブロックになる。
（９）同様に、論理アドレスが２２のブロックは、２０１７年３月のときの物理アドレスが２９番目のブロックになり、２０１７年４月のときの物理アドレスが９番目のブロックになり、２０１７年５月のときの物理アドレスが１９番目のブロックになり、２０１８年６月のときの物理アドレスが１０番目のブロックになる。
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2021530810.tif 000010
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2021530810.tif 000011
【国際調査報告】
2021530810.tif 000012
2021530810.tif 000013
2021530810.tif 000014
2021530810.tif 000015