特許第5950470号(P5950470)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ▲ホア▼▲ウェイ▼技術有限公司の特許一覧

特許5950470バッファマッピングを制御するための方法およびバッファシステム
<>
  • 特許5950470-バッファマッピングを制御するための方法およびバッファシステム 図000002
  • 特許5950470-バッファマッピングを制御するための方法およびバッファシステム 図000003
  • 特許5950470-バッファマッピングを制御するための方法およびバッファシステム 図000004
  • 特許5950470-バッファマッピングを制御するための方法およびバッファシステム 図000005
  • 特許5950470-バッファマッピングを制御するための方法およびバッファシステム 図000006
  • 特許5950470-バッファマッピングを制御するための方法およびバッファシステム 図000007
  • 特許5950470-バッファマッピングを制御するための方法およびバッファシステム 図000008
  • 特許5950470-バッファマッピングを制御するための方法およびバッファシステム 図000009
  • 特許5950470-バッファマッピングを制御するための方法およびバッファシステム 図000010
  • 特許5950470-バッファマッピングを制御するための方法およびバッファシステム 図000011
  • 特許5950470-バッファマッピングを制御するための方法およびバッファシステム 図000012
  • 特許5950470-バッファマッピングを制御するための方法およびバッファシステム 図000013
  • 特許5950470-バッファマッピングを制御するための方法およびバッファシステム 図000014
  • 特許5950470-バッファマッピングを制御するための方法およびバッファシステム 図000015
  • 特許5950470-バッファマッピングを制御するための方法およびバッファシステム 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5950470
(24)【登録日】2016年6月17日
(45)【発行日】2016年7月13日
(54)【発明の名称】バッファマッピングを制御するための方法およびバッファシステム
(51)【国際特許分類】
   G06F 12/16 20060101AFI20160630BHJP
【FI】
   G06F12/16 310A
【請求項の数】5
【全頁数】21
(21)【出願番号】特願2014-59606(P2014-59606)
(22)【出願日】2014年3月24日
(62)【分割の表示】特願2014-531069(P2014-531069)の分割
【原出願日】2011年10月27日
(65)【公開番号】特開2014-167798(P2014-167798A)
(43)【公開日】2014年9月11日
【審査請求日】2014年3月24日
(73)【特許権者】
【識別番号】504277388
【氏名又は名称】▲ホア▼▲ウェイ▼技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
(74)【代理人】
【識別番号】100146835
【弁理士】
【氏名又は名称】佐伯 義文
(74)【代理人】
【識別番号】100140534
【弁理士】
【氏名又は名称】木内 敬二
(72)【発明者】
【氏名】王 朱珍
(72)【発明者】
【氏名】王 子毅
【審査官】 酒井 恭信
(56)【参考文献】
【文献】 特開平05−225062(JP,A)
【文献】 特開2009−104687(JP,A)
【文献】 米国特許出願公開第2009/0103203(US,A1)
【文献】 特開2011−186562(JP,A)
【文献】 国際公開第2011/007599(WO,A1)
【文献】 特開2011−090460(JP,A)
【文献】 特表2010−512569(JP,A)
【文献】 米国特許出願公開第2010/0037001(US,A1)
【文献】 特表2004−506256(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/16
G06F 12/08
(57)【特許請求の範囲】
【請求項1】
キャッシュマッピングを制御するための方法であって、
基礎をなす記憶媒体のキャッシュ内のそれぞれのターゲットデータブロックの消去回数を監視するステップであって、前記基礎をなす記憶媒体内の1個または複数のデータブロックが、前記キャッシュ内の1個のターゲットデータブロックだけにマッピングされ、前記基礎をなす記憶媒体の前記キャッシュが、フラッシュメモリ媒体を含む、監視するステップと、
前記キャッシュ内の、最大消去回数を有するターゲットデータブロックと最小消去回数を有するターゲットデータブロックとの間の前記消去回数の差がプリセットされた消去しきい値に達したとき、前記基礎をなす記憶媒体内の少なくとも1個のデータブロックがマッピングされる前記キャッシュ内のターゲットデータブロックを置き換えるステップであって、前記置き換えるステップは、前記基礎をなす記憶媒体内のデータブロックと前記キャッシュ内のターゲットデータブロックとの間の前記マッピング関係を更新するステップを具備し、前記キャッシュ内の前記置き換えられたターゲットデータブロックが、前記キャッシュ内の前記最大消去回数を現在有するターゲットデータブロックを含み、その後各ターゲットデータブロックの前記消去回数はリセットされる、置き換えるステップと、
前記キャッシュ内のそれぞれのターゲットデータブロックが置き換えられた後で更新される前記消去回数を継続的に監視するステップと、
を含むことを特徴とする方法。
【請求項2】
前記基礎をなす記憶媒体内の少なくとも1個のデータブロックがマッピングされる前記キャッシュ内のターゲットデータブロックを置き換える前記ステップが、
前記最大消去回数を有する前記ターゲットデータブロック内にキャッシュされているデータを、前記最小消去回数を有する前記ターゲットデータブロック内にキャッシュされているデータと交換するステップと、
前記基礎をなす記憶媒体内の、前記最大消去回数を有する前記ターゲットデータブロックに現在マッピングされているすべてのデータブロックが前記最小消去回数を有する前記ターゲットデータブロックにマッピングされ、前記基礎をなす記憶媒体内の、前記最小消去回数を有する前記ターゲットデータブロックに現在マッピングされているすべてのデータブロックが前記最大消去回数を有する前記ターゲットデータブロックにマッピングされるように、それに応じて置き換えを実行するステップと、
を含む、請求項1に記載の方法。
【請求項3】
基礎をなす記憶媒体と、
前記基礎をなす記憶媒体に結合され、かつ前記基礎をなす記憶媒体のキャッシュとして機能するフラッシュメモリ媒体であって、前記基礎をなす記憶媒体内の1個または複数のデータブロックが前記キャッシュ内の1個のターゲットデータブロックだけにマッピングされる、フラッシュメモリ媒体と、
プロセッサと、
を具備し、
前記プロセッサは、
前記キャッシュ内のそれぞれのターゲットデータブロックの消去回数を監視するステップと、
前記キャッシュ内の、最大消去回数を有するターゲットデータブロックと最小消去回数を有するターゲットデータブロックとの間の前記消去回数の差がプリセットされた消去しきい値に達したとき、前記基礎をなす記憶媒体内の少なくとも1個のデータブロックがマッピングされる、前記キャッシュ内のターゲットデータブロックを置き換えるステップであって、前記置き換えるステップは、前記基礎をなす記憶媒体内のデータブロックと前記キャッシュ内のターゲットデータブロックとの間の前記マッピング関係を更新するステップを具備し、前記キャッシュ内の前記置き換えられたターゲットデータブロックが、前記キャッシュ内の、前記最大消去回数を現在有するターゲットデータブロックを含み、その後各ターゲットデータブロックの前記消去回数はリセットされる、置き換えするステップと、
前記キャッシュ内のそれぞれのターゲットデータブロックが置き換えられた後で更新される前記消去回数を継続的に監視するステップと、
を行うように構成されることを特徴とするキャッシュシステム。
【請求項4】
前記プロセッサが、
前記最大消去回数を有する前記ターゲットデータブロック内にキャッシュされているデータを、前記最小消去回数を有する前記ターゲットデータブロック内にキャッシュされているデータと交換するステップと、
前記基礎をなす記憶媒体内の、前記最大消去回数を有する前記ターゲットデータブロックに現在マッピングされているすべてのデータブロックが前記最小消去回数を有する前記ターゲットデータブロックにマッピングされ、前記基礎をなす記憶媒体内の、前記最小消去回数を有する前記ターゲットデータブロックに現在マッピングされているすべてのデータブロックが前記最大消去回数を有する前記ターゲットデータブロックにマッピングされるように、それに応じて置き換えを実行するステップと、
を行うようにさらに構成された、請求項3に記載のキャッシュシステム。
【請求項5】
機械実行可能命令を記憶するための機械可読記憶媒体であって、前記機械実行可能命令が実行されるとき、機械が、請求項1または2のステップを実行することが可能にされる、機械可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、キャッシュシステムのキャッシュマッピング技術に関し、詳細には、フラッシュメモリ媒体がキャッシュとして使用されるとき、キャッシュマッピングを制御するための方法、およびキャッシュシステムに関する。
【背景技術】
【0002】
フラッシュメモリ(Flash Memory)媒体は、長いサービス寿命を有する不揮発性ストレージであり、電力がオフにされたとき、記憶されたデータ情報を維持することができる。先行技術では、フラッシュメモリ媒体は、基礎をなす記憶媒体の不十分な入力/出力パフォーマンスによって引き起こされるパフォーマンス制約を軽減するために、ハードディスクおよびハードディスクアレイなど、従来のディスクストレージシステムでありうる、基礎をなす記憶媒体(underlying storage medium)のキャッシュとしてしばしば使用される。
【0003】
一般に、フラッシュメモリ媒体がキャッシュとして使用されるとき、キャッシュと基礎をなす記憶媒体との間で採用されるマッピングポリシーは、Nウェイセットアソシアティブマッピング(N-way set associative mapping)である。Nウェイセットアソシアティブマッピングでは、マッピングターゲットとして機能するキャッシュのサイズに応じて、マッピングソースとして機能する、基礎をなす記憶媒体は、複数のセットに分割され、この場合、それぞれのセットの容量はキャッシュのサイズに等しい。キャッシュ内に含まれたターゲットデータブロックの数とサイズとに応じて、基礎をなす記憶媒体のそれぞれのセットは同じ数の領域(すなわち、データブロック)に分割され、それぞれの領域のサイズは、キャッシュ内の1つのターゲットデータブロックのサイズに一致する。基礎をなす記憶媒体の1つのセット内で、異なるデータブロックはキャッシュ内の異なるターゲットデータブロックに対応する。基礎をなす記憶媒体の異なるセット内で、対応する位置におけるデータブロックは、キャッシュ内の同じターゲットデータブロックにマッピングされる。
【0004】
図1は、Nウェイセットアソシアティブマッピングのある例を示す。この例では、キャッシュとして機能するフラッシュメモリ媒体は、ターゲットデータブロック0からターゲットデータブロック3の4個のターゲットデータブロックに分割され、マッピングソースとして機能するハードディスクは2つのセットを含み、それぞれのセットはキャッシュの4個のターゲットデータブロックに対応するデータブロックに分割され、ハードディスク内のそれぞれのデータブロックのサイズは、フラッシュメモリ媒体内のそれぞれのターゲットデータブロックのサイズに一致する。この例では、ハードディスクとキャッシュとの間のNウェイセットアソシアティブマッピング関係は、以下の通りである。すなわち、ハードディスクの(データブロック0からデータブロック3を含む)第1のセット内のデータブロック0と(データブロック4からデータブロック7を含む)第2のセット内のデータブロック4とがフラッシュメモリ媒体内のターゲットデータブロック0にマッピングされ、ハードディスクの第1のセット内のデータブロック1と第2のセット内のデータブロック5とがフラッシュメモリ媒体内のターゲットデータブロック1にマッピングされ、ハードディスクの第1のセット内のデータブロック2と第2のセット内のデータブロック6とがフラッシュメモリ媒体内のターゲットデータブロック2にマッピングされ、ハードディスクの第1のセット内のデータブロック3と第2のセット内のデータブロック7とがフラッシュメモリ媒体内のターゲットデータブロック3にマッピングされる。このマッピング関係に従って、データブロック0内およびデータブロック4内のデータはターゲットデータブロック0内にキャッシュされ、データブロック1内およびデータブロック5内のデータはターゲットデータブロック1内にキャッシュされ、データブロック2内およびデータブロック6内のデータはターゲットデータブロック2内にキャッシュされ、データブロック3内およびデータブロック7内のデータはターゲットデータブロック3内にキャッシュされる。
【0005】
しかし、先行技術では、キャッシュと基礎をなす記憶媒体との間のマッピング関係は、一般に静的である。システムの作業プロセス全体で、基礎をなす記憶媒体内のデータブロックがマッピングされる、キャッシュ内のターゲットデータブロックは、一般に、変更されない状態に留まる。結果として、フラッシュメモリ媒体がキャッシュとして使用されるとき、システム内のローカルエリア内のデータが異常に頻繁にアクセスされるアプリケーションシナリオの場合、システム内の頻繁にアクセスされるデータがマッピングされるフラッシュメモリ媒体の媒体領域の消去の回数は非常に高い。フラッシュメモリ媒体の消去の回数は制限されているため、頻繁にアクセスされるデータがマッピングされるフラッシュメモリ媒体の媒体領域は、他の領域よりもより迅速に消去回数の限界に達し、結果として、フラッシュメモリ媒体全体が利用不可能になる。
【発明の概要】
【課題を解決するための手段】
【0006】
先行技術の欠点に鑑みて、本発明の実施形態は、キャッシュマッピングを制御するための方法およびキャッシュシステムであって、システム上の頻繁にアクセスされるデータがキャッシュ上のある種のターゲットデータブロックに静的にマッピングされず、それによって、キャッシュとして機能するフラッシュメモリ媒体のサービス寿命を最適化するように、キャッシュと基礎をなす記憶媒体との間に動的マッピングポリシーが導入される、キャッシュマッピングを制御するための方法およびキャッシュシステムを提供する。
【0007】
本発明のある実施形態は、キャッシュマッピングを制御するための方法であって、プリセット時間間隔で、基礎をなす記憶媒体のキャッシュ内のターゲットデータブロックを変更するステップであって、基礎をなす記憶媒体内の少なくとも1個のデータブロックがターゲットデータブロックにマッピングされ、基礎をなす記憶媒体内の1個または複数のデータブロックがキャッシュ内の1個のターゲットデータブロックだけにマッピングされ、基礎をなす記憶媒体のキャッシュがフラッシュメモリ媒体を含み、キャッシュ内の変更されたターゲットデータブロックが、キャッシュ内の、最大消去回数を現在有するターゲットデータブロックを含む、変更するステップを含む方法を提供する。
【0008】
本発明のある実施形態は、キャッシュマッピングを制御するための方法であって、
基礎をなす記憶媒体のキャッシュ内のそれぞれのターゲットデータブロックの消去回数を監視するステップであって、基礎をなす記憶媒体内の1個または複数のデータブロックがキャッシュ内の1個のターゲットデータブロックだけにマッピングされ、基礎をなす記憶媒体のキャッシュがフラッシュメモリ媒体を含む、監視するステップと、
キャッシュ内の、最大消去回数を有するターゲットデータブロックと最小消去回数を有するターゲットデータブロックとの間の消去回数の差がプリセットされた消去しきい値に達したとき、基礎をなす記憶媒体内の少なくとも1個のデータブロックがマッピングされる、キャッシュ内のターゲットデータブロックを変更するステップであって、キャッシュ内の変更されたターゲットデータブロックが、キャッシュ内の、最大消去回数を現在有するターゲットデータブロックを含む、変更するステップと、
キャッシュ内のそれぞれのターゲットデータブロックが変更された後で生成される消去回数を継続的に監視するステップ
とを含む方法を提供する。
【0009】
本発明のある実施形態は、基礎をなす記憶媒体と、基礎をなす記憶媒体に結合され、かつ基礎をなす記憶媒体のキャッシュとして機能するフラッシュメモリ媒体であって、基礎をなす記憶媒体内の1個または複数のデータブロックがキャッシュ内の1個のターゲットデータブロックだけにマッピングされる、フラッシュメモリ媒体と、プリセット時間間隔で、基礎をなす記憶媒体のキャッシュ内のターゲットデータブロックを変更するステップであって、基礎をなす記憶媒体内の少なくとも1個のデータブロックがターゲットデータブロックにマッピングされ、キャッシュ内の変更されたターゲットデータブロックが、キャッシュ内の、最大消去回数を現在有するターゲットデータブロックを含む、変更するステップを行うように構成されたプロセッサとを含むキャッシュシステムを提供する。
【0010】
本発明のある実施形態は、基礎をなす記憶媒体と、基礎をなす記憶媒体に結合され、かつ基礎をなす記憶媒体のキャッシュとして機能するフラッシュメモリ媒体であって、基礎をなす記憶媒体内の1個または複数のデータブロックがキャッシュ内の1個のターゲットデータブロックだけにマッピングされる、フラッシュメモリ媒体と、キャッシュ内のそれぞれのターゲットデータブロックの消去回数を監視するステップと、キャッシュ内の、最大消去回数を有するターゲットデータブロックと最小消去回数を有するターゲットデータブロックとの間の消去回数の差がプリセットされた消去しきい値に達したとき、基礎をなす記憶媒体内の少なくとも1個のデータブロックがマッピングされる、キャッシュ内のターゲットデータブロックを変更するステップであって、キャッシュ内の変更されたターゲットデータブロックが、キャッシュ内の、最大消去回数を現在有するターゲットデータブロックを含む、変更するステップと、
キャッシュ内のそれぞれのターゲットデータブロックが変更された後で生成される消去回数を継続的に監視するステップと
を行うように構成されたプロセッサと
を含むキャッシュシステムを提供する。
【0011】
本発明の実施形態の方法および装置によれば、基礎をなす記憶媒体内の少なくとも1個のデータブロックがマッピングされる、キャッシュ内のターゲットデータブロックが変更され、少なくとも1個のデータブロックは、最大消去回数を現在有するターゲットデータブロックに対応するデータブロックを含む。このようにして、キャッシュとして機能するフラッシュメモリ媒体のサービス寿命が最適化される。
【0012】
以下の添付の図面を参照して、下の詳細な説明により、本発明の目的、特徴、特性、および利点が明らかになるであろう。
【図面の簡単な説明】
【0013】
図1】Nウェイセットアソシアティブマッピングのある例を示す図である。
図2】本発明の第1の実施形態による、キャッシュマッピングを制御するための方法の概略流れ図である。
図3】本発明の第1の実施形態による方法を採用することによって、キャッシュマッピングを制御するある例における、異なる切替え期間中のマッピング関係の概略図である。
図4】本発明の第1の実施形態による方法を採用することによって、キャッシュマッピングを制御するある例における、異なる切替え期間中のマッピング関係の概略図である。
図5】本発明の第1の実施形態による方法を採用することによって、キャッシュマッピングを制御するある例における、異なる切替え期間中のマッピング関係の概略図である。
図6】本発明の第1の実施形態による方法を採用することによって、キャッシュマッピングを制御する別の例における、異なる切替え期間中のマッピング関係の概略図である。
図7】本発明の第1の実施形態による方法を採用することによって、キャッシュマッピングを制御する別の例における、異なる切替え期間中のマッピング関係の概略図である。
図8】本発明の第1の実施形態による方法を採用することによって、キャッシュマッピングを制御する別の例における、異なる切替え期間中のマッピング関係の概略図である。
図9】本発明の第1の実施形態による方法を採用することによって、キャッシュマッピングを制御する別の例における、異なる切替え期間中のマッピング関係の概略図である。
図10】本発明の第1の実施形態による方法を採用することによって、キャッシュマッピングを制御する別の例における、異なる切替え期間中のマッピング関係の概略図である。
図11】本発明の第1の実施形態による方法を採用することによって、キャッシュマッピングを制御する別の例における、異なる切替え期間中のマッピング関係の概略図である。
図12】本発明の第2の実施形態による、キャッシュマッピングを制御するための方法の概略流れ図である。
図13】本発明の第2の実施形態による方法を採用することによって、キャッシュマッピングを制御するある例における、マッピング関係の概略図である。
図14】本発明の第2の実施形態による方法を採用することによって、キャッシュマッピングを制御するある例における、マッピング関係の概略図である。
図15】本発明のある実施形態によるキャッシュシステムを示す図である。
【発明を実施するための形態】
【0014】
本発明の実施形態は、キャッシュマッピングを制御するための方法およびキャッシュシステムを提供する。この方法は、プリセット時間間隔で、基礎をなす記憶媒体のキャッシュ内のターゲットデータブロックを変更するステップであって、基礎をなす記憶媒体内の少なくとも1個のデータブロックがターゲットデータブロックにマッピングされ、基礎をなす記憶媒体内の1個または複数のデータブロックがキャッシュ内の1個のターゲットデータブロックだけにマッピングされ、基礎をなす記憶媒体のキャッシュがフラッシュメモリ媒体を含み、キャッシュ内の変更されたターゲットデータブロックが、キャッシュ内の、最大消去回数を現在有するターゲットデータブロックを含む、変更するステップを含む。
【0015】
本発明のそれぞれの実施形態は、下で、添付の図面を参照して詳細に説明される。
【0016】
図2は、本発明の第1の実施形態による、キャッシュマッピングを制御するための方法の概略流れ図である。この実施形態では、フラッシュメモリ媒体がキャッシュとして使用され、基礎をなす記憶媒体は、例えば、ハードディスクであり、基礎をなす記憶媒体内の1個または複数のデータブロックはキャッシュ内の1個のターゲットデータブロックだけにマッピングされる。フラッシュメモリ媒体は、固体ディスク、すなわち、SSD(solid storage disk)を含む。
【0017】
図2に示されるように、第1の実施形態による、キャッシュマッピングを制御するための方法は、以下のステップを含む。
【0018】
ステップS201。プリセットされた切替え期間Tに従って、タイミングを開始するためのタイマをトリガするステップ。
【0019】
ステップS202。1つの切替え周期の後でキャッシュ内のターゲットデータブロックの消去回数が互いに近接するように、ハードディスク内の少なくとも1個のデータブロックがマッピングされる、キャッシュ内のターゲットデータブロックを、1つの切替え周期のそれぞれの切替え期間に変更するステップであって、1つの切替え周期内に含まれる切替え期間の数がキャッシュ内に含まれたターゲットデータブロックの数N以上である、変更するステップ。
【0020】
図1および図3から図5は、本発明の第1の実施形態による方法を採用することによって、キャッシュマッピングを制御する特定の例を示す。この例では、ハードディスク内のそれぞれのデータブロックが1つの切替え周期の異なる切替え期間にキャッシュ内の異なるターゲットデータブロックにマッピングされるように、ハードディスク内のそれぞれのデータブロックがマッピングされる、キャッシュ内のターゲットデータブロックが、1つの切替え周期のそれぞれの切替え期間に変更され、1つの切替え周期内に含まれる切替え期間の数はキャッシュ内に含まれたターゲットデータブロックの数Nに等しい。この例では、例えば、限定としてではなく、キャッシュは4個のターゲットデータブロックを有し、ハードディスクは2つのセットを含み、それぞれのセットは、キャッシュの4個のターゲットデータブロックに対応する4個のデータブロックに分割され、ハードディスク内のそれぞれのデータブロックのサイズは、フラッシュメモリ媒体内のそれぞれのターゲットデータブロックのサイズに一致する。
【0021】
図1および図3から図5に示されるように、この例は、周期的なラウンドロビンの動的切替えポリシーを採用し、1つの切替え周期内に含まれる切替え期間の数はキャッシュ内に含まれたターゲットデータブロックの数Nに等しく、Nは0を超える整数であり、この例では、N=4である。この例では、それぞれの切替え期間の後で、ハードディスク内のそれぞれのデータブロックに対応するマッピングターゲットが切り替えられる。ハードディスク内のそれぞれのデータブロックは、異なる切替え期間に、異なるターゲットデータブロックにマッピングされる。
【0022】
詳細には、この例では、最初に、図1に示されたマッピング関係が採用される。図1に示されるように、この例では、当初、ハードディスクとキャッシュとの間のマッピング関係は以下の通りである。すなわち、ハードディスクのデータブロック0とデータブロック4とがキャッシュのターゲットデータブロック0にマッピングされ、ハードディスクのデータブロック1とデータブロック5とがキャッシュのターゲットデータブロック1にマッピングされ、ハードディスクのデータブロック2とデータブロック6とがキャッシュのターゲットデータブロック2にマッピングされ、ハードディスクのデータブロック3とデータブロック7とがキャッシュのターゲットデータブロック3にマッピングされる。数字は、データブロックまたはターゲットデータブロックの数である。
【0023】
(略して、第1の期間と呼ばれる)第1の切替え期間が終了するとき、フラッシュメモリ媒体内のそれぞれのターゲットデータブロック内にキャッシュされているデータは別のターゲットデータブロックに移動(migrate)される。この例では、例えば、フラッシュメモリ媒体内のターゲットデータブロック0内に現在キャッシュされている有効データはターゲットデータブロック1に移動され、ターゲットデータブロック1内に現在キャッシュされている有効データはターゲットデータブロック2に移動され、ターゲットデータブロック2内に現在キャッシュされている有効データはターゲットデータブロック3に移動され、ターゲットデータブロック3内に現在キャッシュされている有効データはターゲットデータブロック0に移動される。キャッシュ内のデータが移動された後で、ターゲットデータブロック内のデータに移動に応じて、ハードディスク内のそれぞれのデータブロックがマッピングされるターゲットデータブロックがそれに応じて変更される。この移動の後で、修正により取得されるマッピング関係が図3に示される。
【0024】
第2の期間が終了するとき、同様に、フラッシュメモリ媒体内のターゲットデータブロック0内に現在キャッシュされている有効データはターゲットデータブロック1に移動され、ターゲットデータブロック1内に現在キャッシュされている有効データはターゲットデータブロック2に移動され、ターゲットデータブロック2内に現在キャッシュされている有効データはターゲットデータブロック3に移動され、ターゲットデータブロック3内に現在キャッシュされている有効データはターゲットデータブロック0に移動される。この移動の後で、この移動に応じて、キャッシュとハードディスクとの間のマッピング関係が修正され、修正の後のマッピング関係は図4に示される。
【0025】
第3の期間が終了するとき、同様に、フラッシュメモリ媒体内のターゲットデータブロック0内に現在キャッシュされている有効データはターゲットデータブロック1に移動され、ターゲットデータブロック1内に現在キャッシュされている有効データはターゲットデータブロック2に移動され、ターゲットデータブロック3内に現在キャッシュされている有効データはターゲットデータブロック3に移動され、ターゲットデータブロック3内に現在キャッシュされている有効データはターゲットデータブロック0に移動される。この移動の後で、この修正に従って、キャッシュとハードディスクとの間のマッピング関係が修正され、修正の後のマッピング関係、すなわち、修正によって取得されるマッピング関係は図5に示される。第4の期間が終了するとき、同様に、移動が実行された後で、マッピング関係がそれに応じて修正され、修正によって取得されるマッピング関係は図1に示され、すなわち、修正によって取得されるマッピング関係は、第1の期間のマッピング関係に戻る。このようにして、1つの切替え周期が終了する。次いで、次の切替え周期の切替えプロセスを続けることができる。
【0026】
この実施形態では、ターゲットデータブロック内にキャッシュされているデータの移動の後で、データブロックがマッピングされるターゲットデータブロックは、フラッシュメモリ媒体内および/またはメモリ内に記憶されたキャッシュメタデータを更新することによって変更可能である。
【0027】
ハードディスク内のデータブロックなど、ローカルエリアが頻繁にアクセスされるシナリオでは、ハードディスク内の頻繁にアクセスされるローカルエリアが常に固定ターゲットデータブロックに静的にマッピングされるだけでなく、それによって、フラッシュメモリ媒体のサービス寿命を延期および最適化するように、ハードディスク内の頻繁にアクセスされるデータブロックは、1つの切替え周期のそれぞれの切替え期間に、フラッシュメモリ媒体内の異なるターゲットデータブロックにマッピングされる。さらに、上で説明された、1つのラウンドロビン切替え周期の後で、フラッシュメモリ媒体内のターゲットデータブロックの消去回数は互いに近接し、かつ平均値に近接し、フラッシュメモリ媒体のサービス寿命が最適化されるように、ターゲットデータブロックの消去回数は均等に分散される。
【0028】
この実施形態では、マッピング関係の動的切替えにおいて、キャッシュ内のターゲットデータブロックの数列(number sequence)に従って、キャッシュ内のそれぞれのターゲットデータブロック内のデータは、ラウンドロビン様式で、ターゲットデータブロックの数に隣り合う数を有するターゲットデータブロックに移動される。この例は、単なる例示的な実施例であり、他のラウンドロビン様式も適用可能である。例えば、切替え期間が終了するとき、ターゲットデータブロック0内に現在キャッシュされているデータがターゲットデータブロック3に移動され、ターゲットデータブロック3内に現在キャッシュされているデータがターゲットデータブロック2に移動され、ターゲットデータブロック2内に現在キャッシュされているデータがターゲットデータブロック1に移動され、ターゲットデータブロック1内に現在キャッシュされているデータがターゲットデータブロック0に移動される順番で、キャッシュのそれぞれのターゲットデータブロック内にキャッシュされているデータは移動される。次いで、ハードディスクなど、基礎をなす記憶媒体内のそれぞれのデータブロックがマッピングされるターゲットデータブロックがそれに応じて変更され、ハードディスクとキャッシュとの間のマッピング関係がそれに応じて変更される。
【0029】
当然、上で説明されたラウンドロビン様式に加えて、1つの切替え周期の後でキャッシュ内のターゲットデータブロックの消去回数が互いに近接することを条件に、基礎をなす記憶媒体内の少なくとも1個のデータブロックがマッピングされる、キャッシュ内のターゲットデータブロックを変更する他の様式も適用可能である。互いに近接することは、ターゲットデータブロックの消去回数が平均値に近接することを指す場合があり、詳細には、ターゲットデータブロック同士の間の消去回数の差が消去回数の差のプリセットされたしきい値未満であることを指す。差のしきい値は、要件または特定のアプリケーションシナリオに従って設定可能である。
【0030】
周期的なラウンドロビンの動的切替えポリシーが採用されるとき、ユーザはアプリケーションシナリオに従って、切替え期間を柔軟に設定することができ、切替え周期は比較的に短い。しかし、周期的なラウンドロビンの動的切替えポリシーが小容量を有するキャッシュに関してより適切であるように、マッピングターゲットが切り替わるたびに、キャッシュ内のすべての有効データは移動される。
【0031】
図6から図11は、本発明の第1の実施形態による方法を採用することによって、キャッシュマッピングを制御する別の例を示す。この例では、1つの切替え周期の後でキャッシュ内のターゲットデータブロックの消去回数が互いに近接するように、ハードディスク内のそれぞれのデータブロックがマッピングされる、キャッシュ内のターゲットデータブロックを変更するために周期配列動的切替えマッピングポリシー(periodic-arrangement dynamic switching mapping policy)が採用される。この例では、1つの切替え周期内に含まれる切替え期間の数はN×(N-1)に等しく、式中、Nは、キャッシュ内に含まれたターゲットデータブロックの数であり、Nは0より大きな整数である。例えば、この例では、N=3である。したがって、この例では、1つの切替え周期は、6個の切替え期間を含む。
【0032】
この例では、フラッシュメモリ媒体はキャッシュとして使用され、基礎をなす記憶媒体は、例えば、ハードディスクとして使用される。例えば、限定としてではなく、キャッシュは3個のターゲットデータブロックを有し、ハードディスクは2つのセットを含み、それぞれのセットは、キャッシュの3個のターゲットデータブロックに対応する、3個のデータブロックに分割され、ハードディスク内のそれぞれのデータブロックのサイズは、フラッシュメモリ媒体内のそれぞれのターゲットデータブロックのサイズに一致する。
【0033】
この例では、キャッシュ内の、最大消去回数を現在有するターゲットデータブロック内にキャッシュされているデータは、1つの切替え周期のそれぞれの切替え期間に、最大消去回数を有するターゲットデータブロック以外の、キャッシュ内のターゲットデータブロック内にキャッシュされているデータと交換され、後者のターゲットデータブロック内のデータは現在の切替え周期に最小回数だけ交換され、前記後者のターゲットデータブロックは、現在の切替え周期の先の切替え期間において、最大消去回数を現在有するターゲットデータブロックとデータを交換するターゲットデータブロックとは異なり、すなわち、データは相互に移動され、ハードディスク内の対応するデータブロックがマッピングされるターゲットデータブロックは、ターゲットデータブロック内にキャッシュされているデータの移動に応じて、それに応じて変更される。キャッシュ内のそれぞれのターゲットデータブロックは、最大消去回数を有するターゲットデータブロックになる、N-1個の機会を有し、すなわち、1つの切替え周期において、それぞれのターゲットデータブロックは、最大消去回数を有するターゲットデータブロックであり、すなわち、異なるN-1個の期間に最も頻繁にアクセスされるデータブロックに対応する。
【0034】
例えば、切替え周期の初めに、フラッシュメモリ媒体内のターゲットデータブロック0は最大消去回数を有すると仮定され、これは、ターゲットデータブロック0にマッピングされる、ハードディスク内のデータブロック0およびデータブロック3が最も頻繁にアクセスされることを示す。ターゲットデータブロック0に加えて、ターゲットデータブロックは、ターゲットデータブロック1とターゲットデータブロック2とを含む。図6に示されるように、この例では、第1の期間が終了する前に、ハードディスクとキャッシュとの間のマッピング関係は以下の通りである。すなわち、ハードディスクのデータブロック0とデータブロック3とがキャッシュのターゲットデータブロック0にマッピングされ、ハードディスクのデータブロック1とデータブロック4とがキャッシュのターゲットデータブロック1にマッピングされ、ハードディスクのデータブロック2とデータブロック5とがキャッシュのターゲットデータブロック2にマッピングされる。
【0035】
この例では、例えば、第1の期間が終了するとき、フラッシュメモリ媒体内のターゲットデータブロック0内に現在キャッシュされている有効データはターゲットデータブロック1に移動され、ターゲットデータブロック1内に現在キャッシュされている有効データはターゲットデータブロック0に移動される。キャッシュ内のデータの移動の後で、ターゲットデータブロック内のデータに移動に応じて、ハードディスク内のデータブロック0とデータブロック3とがマッピングされる、キャッシュ内のターゲットデータブロックと、ハードディスク内のデータブロック1とデータブロック4とがマッピングされる、キャッシュ内のターゲットデータブロックとがそれに応じて変更される。この移動の後で、修正によって取得されるマッピング関係が図7に示される。この時点で、最も頻繁にアクセスされるデータブロック0とデータブロック3とがターゲットデータブロック1にマッピングされる。
【0036】
第2の期間が終了するとき、フラッシュメモリ媒体内の、最大消去回数を現在有するターゲットデータブロック1内にキャッシュされている有効データはターゲットデータブロック2に移動され、ターゲットデータブロック2内に現在キャッシュされている有効データはターゲットデータブロック1に移動される。キャッシュ内のデータの移動の後で、ターゲットデータブロック内の移動に応じて、ハードディスク内のデータブロック0とデータブロック3とがマッピングされる、キャッシュ内のターゲットデータブロックと、ハードディスク内のデータブロック2とデータブロック5とがマッピングされる、キャッシュ内のターゲットデータブロックとがそれに応じて変更される。この移動の後で、修正によって取得されるマッピング関係が図8に示される。この時点で、最も頻繁にアクセスされる、ハードディスク内のデータブロック0とデータブロック3とがターゲットデータブロック2にマッピングされる。
【0037】
第3の期間が終了するとき、フラッシュメモリ媒体内の、最大消去回数を現在有するターゲットデータブロック2内にキャッシュされている有効データはターゲットデータブロック0に移動され、ターゲットデータブロック0内に現在キャッシュされている有効データはターゲットデータブロック2に移動される。キャッシュ内のデータの移動の後で、ターゲットデータブロック内のデータの移動に応じて。この移動の後で、修正によって取得されるマッピング関係が図9に示される。この時点で、最も頻繁にアクセスされる、ハードディスク内のデータブロック0とデータブロック3とがターゲットデータブロック0にマッピングされる。
【0038】
第4の期間が終了するとき、フラッシュメモリ媒体内の、最大消去回数を現在有するターゲットデータブロック0内にキャッシュされている有効データはターゲットデータブロック1に移動され、ターゲットデータブロック1内に現在キャッシュされている有効データはターゲットデータブロック0に移動される。キャッシュ内のデータの移動の後で、ターゲットデータブロック内のデータに移動に応じて。この移動の後で、修正によって取得されたマッピング関係が図10に示される。この時点で、最も頻繁にアクセスされる、ハードディスク内のデータブロック0とデータブロック3とがターゲットデータブロック1にマッピングされる。
【0039】
第5の期間が終了するとき、フラッシュメモリ媒体内の、最大消去回数を現在有するターゲットデータブロック1内にキャッシュされている有効データはターゲットデータブロック2に移動され、ターゲットデータブロック2内に現在キャッシュされている有効データはターゲットデータブロック1に移動される。キャッシュ内のデータの移動の後で、ターゲットデータブロック内のデータの移動に応じて。この移動の後で、修正によって取得されたマッピング関係が図11に示される。この時点で、最も頻繁にアクセスされる、ハードディスク内のデータブロック0とデータブロック3とがターゲットデータブロック2にマッピングされる。
【0040】
第6の期間が終了するとき、フラッシュメモリ媒体内の、最大消去回数を現在有するターゲットデータブロック2内にキャッシュされている有効データはターゲットデータブロック0に移動され、ターゲットデータブロック0内に現在キャッシュされている有効データはターゲットデータブロック2に移動される。キャッシュ内のデータの移動の後で、ターゲットデータブロック内のデータの移動に応じて。この移動の後で、修正によって取得されたマッピング関係が図6に示される。この時点で、1つの切替え周期が終了し、図6から、次の切替え周期が図6から図11に示される切替え順序に従って継続的に実行される。
【0041】
この例では、それぞれの期間が終了するとき、最大消去回数を現在有するターゲットデータブロック、すなわち、現在最も頻繁にアクセスされているデータブロックがマッピングされるターゲットデータブロックの切替えターゲットが、ターゲットデータブロックの数列に従って選択される。その他の実施形態では、ターゲットデータブロックの数が3を超えたとき、切替えターゲット内のデータが現在の切替え周期に最大回数だけ他のターゲットデータブロックと交換されており、切替えターゲットが、現在の切替え周期の先の切替え期間において、最大消去回数を現在有するターゲットデータブロックとデータ交換を実行したばかりのターゲットデータブロックとは異なる任意のターゲットデータブロックであることを条件に、切替えターゲットは、ターゲットデータブロックの数列に従って選択されてよく、またはターゲットデータブロックの数列に従わずに、選択されてもよい。
【0042】
この実施形態では、ターゲットデータブロック内にキャッシュされているデータの移動の後でフラッシュメモリ媒体内および/またはメモリ内に記憶されたキャッシュメタデータを更新することによって、データブロックがマッピングされるターゲットデータブロックを変更することが可能である。
【0043】
ハードディスク内のデータブロックなど、ローカルエリアが頻繁にアクセスされるシナリオでは、ハードディスク内の頻繁にアクセスされるローカルエリアが常に固定ターゲットデータブロックにマッピングされるだけでなく、それによって、フラッシュメモリ媒体のサービス寿命を延期および最適化するように、ハードディスク内の頻繁にアクセスされるデータブロックは、1つの切替え周期のそれぞれの切替え期間に、フラッシュメモリ媒体内の異なるターゲットデータブロックにマッピングされる。さらに、上で説明された1つの周期配列切替え周期の後で、フラッシュメモリ媒体内のターゲットデータブロックの消去回数は互いに近接し、かつ平均値に近接し、フラッシュメモリ媒体のサービス寿命が最適化されるように、ターゲットデータブロックの消去回数は均等に分散される。さらに、この実施形態の周期配列動的切替えマッピングポリシーを採用することによって、マッピングターゲットが切り替わるたびに、キャッシュ内の2個のターゲットデータブロック内の有効データだけが移動され、これはパフォーマンスに深刻な影響を与えず、様々なサイズのキャッシュに適用可能である。
【0044】
上で説明された基礎をなす記憶媒体とキャッシュとの間の周期的な動的マッピング切替え方法は、サービスが周期的規則を有するアプリケーションシナリオ、特に、サービスが周期的規則を有し、システム内で最も頻繁にアクセスされるデータがハードディスク上の固定位置に記憶されるシナリオに適用可能である。
【0045】
本発明のある実施形態は、キャッシュマッピングを制御する解決策であって、基礎をなす記憶媒体のキャッシュ内のそれぞれのターゲットデータブロックの消去回数を監視するステップであって、基礎をなす記憶媒体内の1個または複数のデータブロックがキャッシュ内の1個のターゲットデータブロックだけにマッピングされ、基礎をなす記憶媒体のキャッシュがフラッシュメモリ媒体を含む、監視するステップと、キャッシュ内の、最大消去回数を有するターゲットデータブロックと最小消去回数を有するターゲットデータブロックとの間の差がプリセットされた消去しきい値に達したとき、基礎をなす記憶媒体内の少なくとも1個のデータブロックがマッピングされる、キャッシュ内のターゲットデータブロックを変更するステップであって、キャッシュ内の変更されたターゲットデータブロックが、キャッシュ内の、最大消去回数を現在有するターゲットデータブロックを含む、変更するステップと、キャッシュ内のそれぞれのターゲットデータブロックが変更された後で生成される消去回数を継続的に監視するステップとを含む、解決策をさらに提供する。
【0046】
図12は、本発明の第2の実施形態による、キャッシュマッピングを制御するための方法の概略流れ図である。この実施形態では、フラッシュメモリ媒体は、キャッシュとして使用され、基礎をなす記憶媒体は、例えば、ハードディスクとして使用される。例えば、限定としてではなく、キャッシュは4個のターゲットデータブロックを有し、ハードディスクは2つのセットを含み、それぞれのセットは、キャッシュの4個のターゲットデータブロックに対応する4個のデータブロックに分割され、ハードディスク内のそれぞれのデータブロックのサイズは、フラッシュメモリ媒体内のそれぞれのターゲットデータブロックのサイズに一致する。
【0047】
図12に示されるように、本実施形態による、キャッシュマッピングを制御するための方法は、以下のステップを含む。
【0048】
ステップS1201。キャッシュ内のそれぞれのターゲットデータブロックの消去回数を監視および記録するステップ。
【0049】
ステップS1202。キャッシュ内の、最大消去回数を有するターゲットデータブロックと最小消去回数を有するターゲットデータブロックとの間の消去回数の差がプリセットされた消去しきい値に達したとき、最大消去回数を有するターゲットデータブロック内にキャッシュされているデータを、最小消去回数を有するターゲットデータブロック内にキャッシュされているデータと交換するステップ。
【0050】
ステップS1203。ターゲットデータブロックの交換に従って、それに応じて、基礎をなす記憶媒体内の、最大消去回数を有するターゲットデータブロックに現在マッピングされているすべてのデータブロックがマッピングされる、キャッシュ内のターゲットデータブロックを、最小消去回数を有するターゲットデータブロックに現在マッピングされているすべてのデータブロックにマッピングされる、キャッシュ内のターゲットデータブロックと変更するステップ。詳細には、基礎をなす記憶媒体内の、最大消去回数を有するターゲットデータブロックに現在マッピングされているすべてのデータブロックが、最小消去回数を現在有するターゲットデータブロックにマッピングされ、基礎をなす記憶媒体内の、最小消去回数を有するターゲットデータブロックに現在マッピングされているすべてのデータブロックが最大消去回数を現在有するターゲットデータブロックにマッピングされるように変更を行う。詳細には、キャッシュメタデータを変更することによって、ハードディスク内のデータブロックとキャッシュ内のターゲットデータブロックとの間のマッピング関係を変更することができる。
【0051】
ステップS1204。ハードディスクとキャッシュとの間のマッピングが変更された後で、キャッシュのそれぞれのターゲットデータブロックの記録された消去回数をリセットして、ステップS1201に戻って、マッピング変更の後で生成される、それぞれのターゲットデータブロックの消去回数を継続的に監視および記録して、条件が満たされたとき、ステップS1203およびステップS1204を実行するステップ。例えば、それぞれのターゲットデータブロックの消去回数を記録するために、カウンタを使用することができる。それぞれのマッピング変更の後で、カウンタはリセットされ、次いで、カウントを開始して、マッピング変更の後で生成される消去回数を記録する。
【0052】
図1図13、および図14は、本発明の第2の実施形態による方法を採用することによって、キャッシュマッピングを制御する特定の例を示す。この例では、当初、図1に示されるマッピング関係がハードディスクとキャッシュとの間で採用されると仮定する。図1に示されるように、当初、ハードディスクとキャッシュとの間のマッピング関係は以下の通りである。すなわち、ハードディスク内のデータブロック0とデータブロック4とがキャッシュ内のターゲットデータブロック0にマッピングされ、ハードディスクのデータブロック1とデータブロック5とがキャッシュ内のターゲットデータブロック1にマッピングされ、ハードディスクのデータブロック2とデータブロック6とがキャッシュ内のターゲットデータブロック2にマッピングされ、ハードディスクのデータブロック3とデータブロック7とがキャッシュ内のターゲットデータブロック3にマッピングされる。キャッシュ内のそれぞれのターゲットデータブロックの消去回数が監視される。
【0053】
ターゲットデータブロック0は、最大消去回数を現在有し、ターゲットデータブロック1は、最小消去回数を現在有すると仮定する。データキャッシングの進展に伴い、それぞれのターゲットデータブロックの消去回数が監視および記録される。ターゲットデータブロック0とターゲットデータブロック1との間の消去回数の差が消去しきい値Sに達したと判断されたとき、最大消去回数を有するターゲットデータブロック0内にキャッシュされているデータは最小消去回数を有するターゲットデータブロック1内にキャッシュされているデータと交換され、それに応じて、ハードディスク内のターゲットデータブロック0に現在マッピングされているすべてのデータブロック(この例では、データブロック0およびデータブロック4)がターゲットデータブロック1にマッピングされ、ターゲットデータブロック1に現在マッピングされているすべてのデータブロック(この例では、データブロック1およびデータブロック5)がターゲットデータブロック0にマッピングされるように、変更が実行される。変更の後のマッピング関係が図13に示される。次いで、キャッシュ内のそれぞれのターゲットデータブロックの消去回数がリセットされ、マッピング変更の後で生成される、キャッシュ内のそれぞれのターゲットデータブロックの消去回数が継続的に監視される。
【0054】
この例では、前の交換の後で、データキャッシングの進展に伴い、ターゲットデータブロック3の消去回数は最小になり、ターゲットデータブロック2の消去回数は最大になると仮定する。ターゲットデータブロック2とターゲットデータブロック3との間の消去回数の差が消去しきい値Sに達したとき、最大消去回数を有するターゲットデータブロック2内にキャッシュされているデータは、最小消去回数を有するターゲットデータブロック3内にキャッシュされているデータと交換され、それに応じて、ハードディスク内のターゲットデータブロック2に現在マッピングされているすべてのデータブロック(この例では、データブロック2およびデータブロック6)がターゲットデータブロック3にマッピングされ、ターゲットデータブロック3に現在マッピングされているすべてのデータブロック(この例では、データブロック3およびデータブロック7)がターゲットデータブロック2にマッピングされるように、変更が実行される。変更の後のマッピング関係が図14に示される。次いで、キャッシュ内のそれぞれのターゲットデータブロックの消去回数はリセットされて、マッピング変更の後で生成される、キャッシュ内のそれぞれのターゲットデータブロックの消去回数は継続的に監視され、最大消去回数を有するターゲットデータブロックと最小消去回数を有するターゲットデータブロックとの間の消去回数の差がプリセットされた消去しきい値Sに達したとき、上で説明されたのと類似の形でハードディスクとキャッシュとの間のマッピングは変更される。
【0055】
本実施形態を使用することによって、フラッシュメモリ媒体内のターゲットデータブロックの最大消去回数と最小消去回数との間の差と、消去されたブロックの最大消去回数と最小消去回数との間の差は制御可能になり、その結果、それぞれのターゲットデータブロックの消去回数が平均値に近接することが確実にされる。フラッシュメモリ媒体内のターゲットデータブロックの消去回数の相違は、消去しきい値Sを設定することによって制御可能である。本実施形態は、サービスが周期現象を有さないか、または自明でない周期現象を有するアプリケーションシナリオに特に適用可能である。
【0056】
本発明の実施形態の実装では、消去回数を置換回数と置き換えることが可能であり、置換回数は、動的マッピング交換を実行するために監視および記録される。当業者が理解するように、キャッシュ内でデータを書き込まれた他のデータと置換する動作は、キャッシュ置換と呼ばれる。
【0057】
特定のアプリケーションでは、ユーザは、実際のアプリケーションシナリオに従って、上で説明された動的マッピングポリシーからある動的マッピングポリシーを選択して、その動的マッピングポリシーを採用し、動的マッピングポリシーが必要とされないときは、その動的マッピングポリシーを完了させることが可能である。さらに、動的マッピングポリシーを選択した後で、ユーザは、実際のニーズに従って、対応するインターフェースモジュールを介して、切替え期間、切替え周期、および/または消去しきい値など、対応するパラメータを設定することも可能である。動的マッピングポリシーを選択しない場合、ユーザは、デフォルトマッピングポリシー、例えば、直接マッピング、完全なアソシアティブマッピング、およびNウェイセットアソシアティブマッピングを使用することができる。
【0058】
キャッシュとして機能するフラッシュメモリ媒体内のターゲットデータブロックが使用限度に迅速に達せず、それによって、フラッシュメモリ媒体のサービス寿命を延長できるように、その切替え方法が、基礎をなす記憶媒体内の頻繁にアクセスされるデータブロック内のデータが常にキャッシュ内の固定ターゲットデータブロックに対応するだけではないことを可能にすることを条件に、上で説明された切替え方法の他に、他の切替え順序を使用するマッピング切替え方法も容認可能である点を当業者は理解されたい。
【0059】
切替え方法が、キャッシュ内のそれぞれのターゲットデータブロックの消去回数が互いに近接すること、例えば、平均値に近接することを可能にするとき、フラッシュメモリ媒体のサービス寿命が最大となることを当業者は理解されたい。
【0060】
次に、図15を参照すると、図15は、本発明のある実施形態によるキャッシュシステムを示す。
【0061】
図15に示されるように、本発明の本実施形態によるキャッシュシステム1500は、基礎をなす記憶媒体1510と、基礎をなす記憶媒体に結合され、かつ基礎をなす記憶媒体のキャッシュとして機能するフラッシュメモリ媒体1520であって、基礎をなす記憶媒体内の1個または複数のデータブロックがキャッシュ内の1個のターゲットデータブロックだけにマッピングされる、フラッシュメモリ媒体1520と、プリセット時間間隔で、基礎をなす記憶媒体のキャッシュ内のターゲットデータブロックを変更するステップであって、基礎をなす記憶媒体内の少なくとも1個のデータブロックがターゲットデータブロックにマッピングされ、キャッシュ内の変更されたターゲットデータブロックが、キャッシュ内の、最大消去回数を現在有するターゲットデータブロックを含む、変更するステップを行うように構成されたプロセッサ1530とを含む。
【0062】
キャッシュシステム内のプロセッサは、1つの切替え周期の後でキャッシュ内のターゲットデータブロックの消去回数が互いに近接するように、基礎をなす記憶媒体内の少なくとも1個のデータブロックがマッピングされる、キャッシュ内のターゲットデータブロックを、1つの切替え周期のそれぞれの切替え期間に変更するステップであって、1つの切替え周期内に含まれる切替え期間の数が、キャッシュ内に含まれたターゲットデータブロックの数N以上である、変更するステップを行うようにさらに構成可能である。
【0063】
キャッシュシステム内のプロセッサは、基礎をなす記憶媒体内のそれぞれのデータブロックが1つの切替え周期の異なる切替え期間にキャッシュ内の異なるターゲットデータブロックにマッピングされるように、基礎をなす記憶媒体内のそれぞれのデータブロックがマッピングされる、キャッシュ内のターゲットデータブロックを、1つの切替え周期のそれぞれの切替え期間に変更するステップであって、1つの切替え周期内に含まれる切替え期間の数がキャッシュ内に含まれたターゲットデータブロックの数に等しい、変更するステップを行うようにさらに構成可能である。
【0064】
キャッシュシステム内のプロセッサは、キャッシュ内のターゲットデータブロックの数列に従って、キャッシュ内のそれぞれのターゲットデータブロックのデータを、1つの切替え周期のそれぞれの切替え期間に、ラウンドロビン様式で、ターゲットデータブロックの数に隣り合う数を有するターゲットデータブロックに移動するステップと、ターゲットデータブロック内のデータの移動に応じて、基礎をなす記憶媒体内のそれぞれのデータブロックがマッピングされるターゲットデータブロックをそれに応じて変更するステップとを行うようにさらに構成可能である。
【0065】
キャッシュシステム内のプロセッサは、キャッシュ内の、最大消去回数を現在有するターゲットデータブロック内にキャッシュされているデータを、1つの切替え周期のそれぞれの切替え期間に、最大消去回数を有するターゲットデータブロック以外の、キャッシュ内のターゲットデータブロック内にキャッシュされているデータと交換するステップであって、後者のターゲットデータブロック内のデータが現在の切替え周期に最小回数だけ交換され、前記後者のターゲットデータブロックが、現在の切替え周期の前の切替え期間において、最大消去回数を現在有するターゲットデータブロックとデータを交換するターゲットデータブロックとは異なる、交換するステップと、基礎をなす記憶媒体内の対応するデータブロックがマッピングされるターゲットデータブロックをそれに応じて変更するステップとを行うようにさらに構成可能であり、1つの切替え周期はN×(N-1)個の切替え期間を含み、1つの切替え周期において、キャッシュ内のそれぞれのターゲットデータブロックは、異なるN-1個の切替え期間において、キャッシュ内の、最大消去回数を有するターゲットデータブロックである。
【0066】
本発明のある実施形態は、基礎をなす記憶媒体と、基礎をなす記憶媒体に結合され、かつ基礎をなす記憶媒体のキャッシュとして機能するフラッシュメモリ媒体であって、基礎をなす記憶媒体内の1個または複数のデータブロックがキャッシュ内の1個のターゲットデータブロックだけにマッピングされる、フラッシュメモリ媒体と、キャッシュ内のそれぞれのターゲットデータブロックの消去回数を監視するステップと、キャッシュ内の、最大消去回数を有するターゲットデータブロックと最小消去回数を有するターゲットデータブロックとの間の消去回数の差がプリセットされた消去しきい値に達したとき、基礎をなす記憶媒体内の少なくとも1個のデータブロックがマッピングされる、キャッシュ内のターゲットデータブロックを変更するステップであって、キャッシュ内の変更されたターゲットデータブロックが、キャッシュ内の、最大消去回数を現在有するターゲットデータブロックを含む、変更するステップと、キャッシュ内のそれぞれのターゲットデータブロックが変更された後で生成される消去回数を継続的に監視するステップとを行うように構成されたプロセッサとを含むキャッシュシステムをさらに提供する。
【0067】
キャッシュシステム内のプロセッサは、最大消去回数を有するターゲットデータブロック内にキャッシュされているデータを、最小消去回数を有するターゲットデータブロック内にキャッシュされているデータと交換するステップと、基礎をなす記憶媒体内の、最大消去回数を有するターゲットデータブロックに現在マッピングされているすべてのデータブロックが最小消去回数を有するターゲットデータブロックにマッピングされ、基礎をなす記憶媒体内の最小消去回数を有するターゲットデータブロックに現在マッピングされているすべてのデータブロックが最大消去回数を有するターゲットデータブロックにマッピングされるように、それに応じて変更を実行するステップとを行うようにさらに構成可能である。
【0068】
装置1500内のプロセッサの機能は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組合せによって実施可能であることを当業者は理解されたい。
【0069】
本発明のある実施形態は、機械実行可能命令を記憶するための機械可読記憶媒体であって、機械実行可能命令が実行されるとき、機械が、プリセット時間間隔で、基礎をなす記憶媒体のキャッシュ内のターゲットデータブロックを変更するステップであって、基礎をなす記憶媒体内の少なくとも1個のデータブロックがターゲットデータブロックにマッピングされ、基礎をなす記憶媒体内の1個または複数のデータブロックがキャッシュ内の1個のターゲットデータブロックだけにマッピングされ、基礎をなす記憶媒体のキャッシュがフラッシュメモリ媒体を含み、キャッシュ内の変更されたターゲットデータブロックが、キャッシュ内の、最大消去回数を現在有するターゲットデータブロックを含む、変更するステップを行うことが可能にされる機械可読記憶媒体をさらに提供する。
【0070】
この方法は、以下のステップ、すなわち、1つの切替え周期の後でキャッシュ内のターゲットデータブロックの消去回数が互いに近接するように、基礎をなす記憶媒体内の少なくとも1個のデータブロックがマッピングされる、キャッシュ内のターゲットデータブロックを、1つの切替え周期のそれぞれの切替え期間に変更するステップであって、1つの切替え周期内に含まれる切替え期間の数がキャッシュ内に含まれたターゲットデータブロックの数N以上である、変更するステップをさらに含むことが可能である。
【0071】
この方法は、以下のステップ、すなわち、基礎をなす記憶媒体内のそれぞれのデータブロックが1つの切替え周期の異なる切替え期間にキャッシュ内の異なるターゲットデータブロックにマッピングされるように、基礎をなす記憶媒体内のそれぞれのデータブロックがマッピングされる、キャッシュ内のターゲットデータブロックを、1つの切替え周期のそれぞれの切替え期間に変更するステップであって、1つの切替え周期内に含まれる切替え期間の数がキャッシュ内に含まれたターゲットデータブロックの数Nに等しい、変更するステップをさらに含むことが可能である。
【0072】
上で説明された送信ステップは、以下のステップ、すなわち、キャッシュ内のターゲットデータブロックの数列に従って、キャッシュ内のそれぞれのターゲットデータブロックのデータを、1つの切替え周期のそれぞれの切替え期間に、ラウンドロビン様式で、ターゲットデータブロックの数に隣り合う数を有するターゲットデータブロックに移動させるステップと、ターゲットデータブロック内のデータの移動に応じて、基礎をなす記憶媒体内のそれぞれのデータブロックがマッピングされるターゲットデータブロックをそれに応じて変更するステップとをさらに含むことが可能である。
【0073】
上で説明された検出ステップは、以下のステップ、すなわち、キャッシュ内の、最大消去回数を現在有するターゲットデータブロック内にキャッシュされているデータを、1つの切替え周期のそれぞれの切替え期間に、最大消去回数を有するターゲットデータブロック以外の、キャッシュ内のターゲットデータブロック内にキャッシュされているデータと交換するステップであって、後者のターゲットデータブロック内のデータが現在の切替え周期に最小回数だけ交換され、前記後者のターゲットデータブロックが、現在の切替え周期の前の切替え期間において、最大消費回数を現在有するターゲットデータブロックとデータを交換するターゲットデータブロックとは異なる、交換するステップと、基礎をなす記憶媒体内の対応するデータブロックがマッピングされるターゲットデータブロックをそれに応じて変更するステップとをさらに含むことが可能であり、1つの切替え周期はN×(N-1)個の切替え期間を含み、1つの切替え周期において、キャッシュのそれぞれのターゲットデータブロックは、異なるN-1個の切替え期間において、キャッシュ内の、最大消去回数を有するターゲットデータブロックである。
【0074】
本発明のある実施形態は、機械実行可能命令を記憶するための機械可読記憶媒体であって、機械実行可能命令が実行されるとき、機械が、基礎をなす記憶媒体のキャッシュ内のそれぞれのターゲットデータブロックの消去回数を監視するステップであって、基礎をなす記憶媒体内の1個または複数のデータブロックがキャッシュ内の1個のターゲットデータブロックだけにマッピングされ、基礎をなす記憶媒体のキャッシュがフラッシュメモリ媒体を含む、監視するステップと、キャッシュ内の、最大消去回数を有するターゲットデータブロックと最小消去回数を有するターゲットデータブロックとの間の消去回数の差がプリセットされた消去しきい値に達したとき、基礎をなす記憶媒体内の少なくとも1個のデータブロックがマッピングされる、キャッシュ内のターゲットデータブロックを変更するステップであって、キャッシュ内の変更されたターゲットデータブロックが、キャッシュ内の、最大消去回数を現在有するターゲットデータブロックを含む、変更するステップと、キャッシュ内のそれぞれのターゲットデータブロックが変更された後で生成される消去回数を継続的に監視するステップとを実行することが可能にされる機械可読記憶媒体をさらに提供する。
【0075】
この方法は、以下のステップ、すなわち、最大消去回数を有するターゲットデータブロック内にキャッシュされているデータを、最小消去回数を有するターゲットデータブロック内にキャッシュされているデータと交換するステップと、基礎をなす記憶媒体内の、最大消去回数を有するターゲットデータブロックに現在マッピングされているすべてのデータブロックが最小消去回数を有するターゲットデータブロックにマッピングされ、基礎をなす記憶媒体内の、最小消去回数を有するターゲットデータブロックに現在マッピングされているすべてのデータブロックが最大消去回数を有するターゲットデータブロックにマッピングされるように、それに応じて変更を実行するステップとをさらに含むことが可能である。
【0076】
本発明の本質から逸脱せずに、本発明の実施形態で開示された方法および装置に様々な修正および変更を行うことが可能であり、これらの修正および変更は本発明の保護範囲に該当することを当業者は理解されたい。したがって、本発明の保護範囲は、添付の請求項を条件とすべきである。
【符号の説明】
【0077】
1500 キャッシュシステム、装置
1510 記憶媒体
1520 フラッシュメモリ媒体
1530 プロセッサ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15