"データ処理装置により実行される方法であって、データ格納システムに対するアクセスの空間分布の測値を、前記データ格納システムに対する複数の別個のアクセス群に基づいて決定する段階と、決定された前記空間分布の測値に基づいて前記データ格納システムで利用するキャッシュポリシーを調節する段階とを備える方法。前記データ格納システムに対する前記複数の別個のアクセス群を、前記データ格納システムに対するそれぞれ異なる参照アクセスに基づいて識別する段階を備える請求項1に記載の方法。前記データ格納システムに対する前記複数の別個のアクセス群を識別する段階は、前記データ格納システムに対する前記それぞれ異なる参照アクセスを、乱数生成に基づいて決定する段階を有する請求項2に記載の方法。前記データ格納システムに対する前記複数の別個のアクセス群を、前記データ格納システムに対する1つの同じ参照アクセスに基づいて識別する段階を有する請求項1に記載の方法。前記データ格納システムに対する前記複数の別個のアクセス群を識別する段階は、前記データ格納システムに対する2つの別個のアクセス群を、2つの異なる空間範囲に基づいて識別する段階を有する請求項4に記載の方法。前記空間分布の測値を決定する段階は、前記2つの別個の群のうちの1つに対応する第1数を、前記2つの別個の群のうち別の群に対応する第2数と比較する段階を有し、前記キャッシュポリシーを調節する段階は、前記第1数と前記第2数との比較に基づいて、前記データ格納システムのそれぞれ異なる領域からデータを選択的にプリフェッチする段階を有する、請求項5に記載の方法。前記キャッシュポリシーを調節する段階は、前記データ格納システムからプリフェッチするデータの量を修正する段階を有する請求項1に記載の方法。前記データ格納システムは、格納媒体を含む個々の格納デバイスである請求項1に記載の方法。格納システムであって、格納媒体と、キャッシュデバイスと、前記格納媒体と前記キャッシュデバイスとに通信可能に連結されて、コンピュータシステムのプロセッサまたはメモリとインタフェースするコントローラとを備え、前記コントローラはさらに、前記格納システムに関連する特定の数量のアドレス参照を受信して、受信した前記特定の数量のアドレス参照に少なくとも一部基づいて、前記格納システムのアドレスに対する参照の空間分布を決定して、決定された前記空間分布と、前に決定されていた空間分布とを、前記格納システムの空間局所性メトリックに統合して、データのキャッシュで利用するために前記空間局所性メトリックを前記格納媒体から前記キャッシュデバイスに出力する、格納システム。前記キャッシュデバイスはキャッシュメモリを有する請求項9に記載の格納システム。前記キャッシュデバイスはさらにデバイスコントローラを有する請求項10に記載の格納システム。前記空間分布の決定を行うべく、前記コントローラはさらに、前記空間分布の前にされていた決定と、前記空間分布の決定との間で、ランダムなアドレス参照数量を省く、請求項9に記載の格納システム。前記空間局所性メトリックは、前記決定された空間分布と、前記前に決定されていた空間分布との重み付け合計を含む請求項9に記載の格納システム。前記コントローラはさらに、前記格納システムのアドレスに対する、前記格納システムの所定のブロックオフセットに対応している参照を受信して、前記キャッシュデバイス内の、受信された前記アドレス参照に対するキャッシュミスを検知して、前記キャッシュミスを検知すると、前記空間局所性の現在の値に従って、前記キャッシュデバイスにキャッシュするために、前記格納システムの前記所定のブロックオフセットに関するデータを選択する、請求項9に記載の格納システム。前記キャッシュデバイスにキャッシュするために選択された前記データは、i前記空間局所性メトリックの前記現在の値が、第1の値と、前記第1の値より大きい第2の値との間にある場合には、前記所定のブロックオフセットの隣の連続メモリからの前記特定の量のデータを含み、ii前記空間局所性メトリックの前記現在の値が前記第2の値より大きい場合には、前記所定のブロックオフセットの隣の連続メモリからの前記特定のデータ量を超えるデータを含み、iii前記空間局所性メトリックの前記現在の値が、前記第1の値未満である場合には、前記所定のブロックオフセットの隣の連続メモリからの前記特定のデータ量未満のデータを含む、請求項14に記載の格納システム。前記キャッシュデバイスにキャッシュするために選択された前記データは、前記空間局所性メトリックの前記現在の値が前記第1の値未満である場合にはゼロである請求項15に記載の格納システム。前記キャッシュデバイスにキャッシュするために選択された前記データは、前記空間局所性メトリックの前記現在の値が前記第2の値より大きい場合に、前記所定のブロックオフセットの隣の連続メモリから前記特定のデータ量の2倍のデータを含む請求項15に記載の格納システム。前記格納システムにおいて決定された空間分布は、前記受信した特定の数量のアドレス参照の第1のアドレス参照のブロックオフセットから第1の距離の範囲内にある、前記受信した特定の数量のアドレス参照の第1の部分を含む請求項14に記載の格納システム。前記格納システムにおいて決定された空間分布は、前記受信した特定の数量のアドレス参照の前記第1のアドレス参照のブロックオフセットから第2の距離の範囲内にある、前記受信した特定の数量のアドレス参照の第2の部分をさらに含み、前記第2の距離は前記第1の距離より長くして、決定された前記空間分布が、前記第1の部分の、前記第1の距離に対する比率を表す前記空間分布の短距離成分と、前記第2の部分の、前記第2の距離に対する比率を表す前記空間分布の長距離成分とを含むようにして、前記空間局所性メトリックは、前記空間分布の短距離成分および長距離成分にそれぞれ対応する短距離空間局所性メトリックと長距離空間局所性メトリックとを含む、請求項18に記載の格納システム。前記キャッシュデバイスにキャッシュするために選択された前記データは、i前記短距離空間局所性メトリックの現在の値が、前記長距離空間局所性メトリックの現在の値より大きい場合には、前記所定のブロックオフセットから前記第1の距離未満の位置にあるアドレスに対応しており、ii前記短距離空間局所性メトリックの現在の値が、前記長距離空間局所性メトリックと略等しい場合には、前記所定のブロックオフセットから前記第2の距離未満の位置にあるアドレスに対応しており、iii前記短距離空間局所性メトリックの現在の値が、前記長距離空間局所性メトリックより小さい場合には、前記所定のブロックオフセットから前記第2の距離と前記第1の距離との間の位置にあるアドレスに対応している、請求項19に記載の格納システム。小型であるが高速のランダムアクセスまたは固体例えばフラッシュメモリを活用して格納システム例えば、ハードドライブ等の個々の格納デバイスまたは格納デバイスの組み合わせにキャッシュする方法が非常に普及してきている。殆どのキャッシュシステムは、アクセスを目的としてホストがブロックを参照したときにキャッシュミスが生じた場合、データのブロックをキャッシュするが、キャッシュメモリには参照されたブロックを発見することはできない。しかし、ホストはキャッシュされたブロックを必ずしも利用しない。この結果、キャッシュミスの発生のみに基づいてブロックをキャッシュすると、ホストが二度と利用しないかもしれないブロックでキャッシュメモリを埋めていくことになってしまい、ホストが繰り返し利用する可能性のある他のデータのキャッシュに利用できるキャッシュメモリ量が減っていく。しかし、ホスト例えばMicrosoftExchange、SQLServer、Oracle等側で実行されているアプリケーションでは、仮想ボリュームに、各アプリケーション固有でありうる時間および/または空間アクセスパターンを体験させることができる。従って、格納システムのアドレスへの参照に比較的高い時間および/または空間の局所性があると、キャッシュの効果が高くなる。格納システムのアドレスへの参照の時間局所性は、単位時間あたりに参照される格納システムのアドレス数を示しており、言い換えると、時間局所性は、格納システムのアドレスへの参照速度を表してもいる。さらに、時間局所性は、格納システムで、または格納システムの1以上の領域についてモニタが可能なので、格納システムにおけるアドレスへの参照の速度のモニタ結果に基づきキャッシュアルゴリズムを実装することができる。格納システムのアドレスへの参照の空間局所性は、単位アドレス空間ごとに参照される格納システムのアドレス数を示しており、言い換えると、空間局所性は、格納システムのアドレスへの参照の空間密度を表している。例えば格納システムの特定のアドレスを参照する場合を例にとると、空間局所性は、付近のメモリ位置が将来参照される確率を表している。本明細書では、格納システムのアドレスへの参照の空間局所性という用語は、格納システムへのアクセスの空間分布と言い換えてもよい概念として利用されることに留意されたい。さらに、空間局所性も、格納システムで、または格納システムの1以上の領域についてモニタが可能なので、格納システムにおけるアドレスへの参照の空間密度のモニタ結果に基づいてキャッシュアルゴリズムを実装することができる。以上のことから、例えば空間局所性が高い場合に、格納システムのブロックのキャッシュに、キャッシュメモリが提供する限られた空間を最適利用することができることがわかる。格納システムへのアクセスの空間分布の複数の表現法は、図1Aから図1Hを参照して明細書内で後述する。さらに、格納システムへのアクセスの空間分布を計測する様々な技術については、図3および図6Aから図6Dを参照して後述する。さらに、格納システムへのアクセスの空間分布の計測に従って、格納システムに格納されているデータをキャッシュする技術については、図4Aから図4Bおよび図5Aから図5Bを参照して説明する。これら技術は、図2Aから図2Cを参照して説明するシステムで実装することができる。図1Aの表1は、格納システム140に対応する空間局所性メトリック110の一例を示している。空間局所性メトリック110は、格納システム140へのアクセスの空間分布の測値であり、格納システムの空間局所性150の測値ということもできる。空間局所性150の値サンプルと称される場合もあるは、格納システム140のアドレスへのm個の参照のシーケンスを利用して、格納システム140上のアドレス空間のA1というサイズについて決定することができる。図1Bは、空間局所性150の値を決定するために利用される参照読み出し/書き込み処理に対応するブロックオフセットXnと格納システム140の一部とを示す。図1Bに示すように、サイズA1のアドレス空間は、Xn-1/2A1からXn1/2A1までの、ブロックオフセットXnを中心とするアドレス区間である。典型的な格納システム140のブロックサイズは4KBであるが、サイズA1は、例えば64KB、128KB、256KB、または512KBであってもよい。一部の実装例では、格納システム140上のアドレスへのm個の参照シーケンスは、ブロックオフセットXnに対応する参照処理に続くm個の連続処理に対応している。mの値は、例えばm=15といったように予め設定することもできる。空間局所性150は、初期値を0ゼロとすることができる。続いて、m個の参照シーケンスに対応するアドレスが、ブロックオフセットXnから±1/2A1の距離にあるか、というm個の決定を行い、空間局所性150の値を、m個の決定のうち、各肯定的な決断について1増分してよい。例えば、m個の参照のシーケンスのうちk個の参照が、参照処理に対応するブロックオフセットXnを中心とするサイズA1のアドレス空間内のアドレスに対応する場合、空間局所性150に、kの整数値を与えるここで0≦k≦m。別の例としては、空間局所性150を正規化して、分数値k/mとしてもよいここで0≦k/m≦1。空間局所性150を正規化した値を利用すると、例えば格納システム140のアドレスへの参照についてそれぞれ異なる数例えばm1m2...のシーケンスを利用して決定した空間局所性150の値同士を比較することができるようになる。mの値の他の例としては、5、10、15、20、30、50、100...等が挙げられる。加えて、前述した例における空間局所性150の例はサイズが無次元dimensionlessであることに留意されたい。空間局所性150の値が上述したようにして求まると、空間局所性150について決定した値と、空間局所性メトリックについて前に計算した値との間で重み付け平均を計算して、空間局所性メトリック110のインスタントバリューinstantvalueとすることができる。例えば空間局所性メトリック110のインスタントバリューは、以下のように計算することができる。SA1インスタントバリュー=β×sA1,m;n1-β×SA1前の値1SA1インスタントバリュー、SA1前の値という表記はそれぞれ、空間局所性メトリック110のインスタントバリューと前の値とを表している。A1,m;nという表記は、格納システム140のアドレス空間のサイズA1について、ブロックオフセットXnに対応する処理に次いでm個の参照シーケンスを利用して決定されている空間局所性150の値を表している。重み付け係数βは、空間局所性メトリック110の現在の値の計算における、空間局所性メトリックの履歴のもつ影響の尺度を示している。一部の実装例では、空間局所性メトリック110のインスタントバリューは、重み付けβが小さい値であるとき例えばβ<0.15、空間局所性メトリックの履歴の影響が大きい。しかし、重みβが大きい値のときには例えばβ>0.85、空間局所性メトリック110のインスタントバリューに対する空間局所性メトリックの履歴の影響は小さい。後者の場合、空間局所性メトリック110のインスタントバリューに大きな影響力を有するのは、いま決定された空間局所性150の値である。空間局所性150の後続する値も前述したような方法で、ブロックオフセットXn1に対応する別の処理と、他の参照処理に後続するm個の処理の別のシーケンスを参照して、決定される。他の処理は、例えば、本明細書で後述するように、時間、処理数、または無作為の要因に基づいて決定することができる。他の参照処理と関連するブロックオフセットXn1を図1Bに示す。例えば、他のm個の参照のシーケンスに対応するアドレスが、他の参照処理に対応するブロックオフセットXn1から±1/2A1の距離にあるかを判断するための、m個の決定がなされ、空間局所性150の値を、m個の決定のうち、各肯定的な決断について1増分してよい。さらに、空間局所性メトリック110の後続するインスタントバリューSA1インスタントバリューを、空間局所性メトリック110について前に計算したインスタントバリューを、空間局所性メトリック110の前の値SA1前の値として利用して、ブロックオフセットXn1に対応する処理に関する格納システム140上のアドレス空間のサイズA1について決定された空間局所性150の値sA1、m;n1を利用して、式1に従って計算する。空間局所性メトリック110のインスタントバリューと前の値とは、互いに関連しあっているし、また、式1に従う空間局所性150の値にも関連しており、前述した量を決定する際のシステマチックな誤りは、伝播して、式1の計算の精度に影響を及ぼすことが考えられる。しかし、周期的な性質を持つアーチファクトの影響をこのようにして低減させることができることから、空間局所性メトリック110の計算の精度は、空間局所性150の連続する決定間で、ランダムな数の処理を省くことにより改善することができる。従って、ランダムなr個の数の処理を、ブロックオフセットXnに対応する参照処理に関するmの処理のシーケンスにおける最終のm番目の処理の後であって、ブロックオフセットXn1に対応する他の参照処理の前に、省くことができる。乱数rは、0とNとの間の数であってよく、ここでNは、空間局所性150の値の連続する決定の間で省くことができる処理の最大数に相当する。例えばNは、N=10に予め設定することができる。一部の実装例では、連続する参照処理間で省かれる処理の数を、時間区間に基づいて決定してもよい。例えば、ソフトウェア/ファームウェアで予め設定することができる値の時間区間で処理を省くことができる。別の例では、ソフトウェア/ファームウェアで予め設定可能な最小時間区間と最大時間区間との間で、ランダムに生成される値の時間区間の処理を省くことができる。後者の場合には、最小時間区間と最大時間区間をソフトウェア/ファームウェアで予め設定することができる。図1Aおよび図1Bとの関連で記載したように、空間局所性150は、メモリサイズA1のために決定された格納システム140上のアドレスに対する参照の空間密度を表している。しかし、アドレスへの参照の複数の空間密度は、複数の異なるメモリサイズA1A2A3...それぞれの空間局所性150の各成分を決定することで、格納システム140についてモニタすることができる。例えば、それぞれが空間局所性150の短距離、中距離、よび長距離成分に対応している、以下の不等式A1<A2<A3を満たす異なるメモリサイズを選択することができる例えば、A1値が64KBであり、A2値が128KBであり、A3値が256KBであり、A4値が512KBである、といった具合である。図1Cの表2は、格納システム140に対応する空間局所性メトリック112および114の例を含んでいる。短距離の空間局所性メトリック112は、空間局所性150の短距離成分に関連しており、長距離の空間局所性メトリック114は、空間局所性150の長距離成分に関連している。空間局所性150の短距離成分が、メモリサイズA1に対して決定され、空間局所性150の長距離成分が、メモリサイズA1より大きいメモリサイズA2に対して決定されるつまりA1<A2ことは、図1Aから図1Bを参照して行った上述の開示と同様である。例えば、空間局所性150の短距離成分および長距離成分の値は、格納システム140のアドレスに対するm個の参照のシーケンスを利用して決定することができる。図1Dは、格納システム140のアドレス空間のサイズA1およびA2サイズそれぞれについて、空間局所性150の短距離成分および長距離成分の値を決定するために利用される参照処理に対応するブロックオフセットXnおよび格納システム140の一部を示す。図1Dに示すように、小さなほうのサイズA1を持つアドレス空間は、Xn-1/2A1からXn1/2A1までのブロックオフセットXnを中心とする格納システム140のある部分にわたり、大きなほうのサイズA2を持つ別のアドレス空間は、Xn-1/2A2からXn1/2A2までのブロックオフセットXnを中心とする格納システム140の別の部分にわたっている。例えばサイズA1は、64KBであってよく、サイズA2が128KBであってよい。他の空間局所性メトリックは、縦楕円として表され、空間局所性150の他の成分にそれぞれ対応していてよい。空間局所性のこのような他の成分は、例えば超短距離成分メモリサイズA<<A1について定義する、中間距離成分メモリサイズA1<A<A2について定義する、超長距離成分メモリサイズA>>A12について決定するであってよい。空間局所性150の短距離成分および長距離成分の値は、0ゼロに初期化されている。ついで、あるm個の決定を、m個の参照のシーケンスに対応するアドレスが、参照処理に対応するブロックオフセットXnから±1/2A1の距離の範囲内にあるかを判断して行い、別のm個の決定を、m個の参照のシーケンスに対応するアドレスが、参照処理に対応するブロックオフセットXnから±1/2A2の距離の範囲内にあるかを判断して行う。空間局所性150の短距離成分の値は、m個の決定のうち、各肯定的な決定について1増分してよく、空間局所性150の長距離成分の値は、別のm個の決定のうち、各肯定的な決定について1増分してよい。例えば、m個の参照のシーケンスの中のu個の参照が、参照処理に対応するブロックオフセットXnを中心とするサイズA1のアドレス空間以内にあるアドレスに対応している場合、空間局所性150の短距離成分が、u/A1の値を有し0≦u≦m、m個の参照のシーケンスの中のv個の参照が、参照処理に対応するブロックオフセットXnを中心とするサイズA2のアドレス空間以内にあるアドレスに対応している場合、空間局所性150の長距離成分が、v/A2の値を有する0≦v≦m。空間局所性150の短距離成分および長距離成分は、1/メモリサイズのサイズを有しており、例えば1/KBと表すことができる点に留意されたい。さらに、空間局所性150の短距離成分および長距離成分を、それぞれメモリサイズA1およびA2に対するカウントuおよびvの比率として表すことで、短距離および長距離空間局所性150の値間で比較をすることができるようになる。別の例では、空間局所性150の短距離成分が、u/m/A1の値を有し0≦u/m≦1、空間局所性150の長距離成分が、v/m/A2の値を有する0≦v/m≦1。正規化されたカウントu/mv/mを利用して、空間局所性150の短距離成分および長距離成分を表すことで、格納システム140のアドレスに対して異なる処理数例えばm1m2を有するシーケンスを利用して決定された空間局所性の短距離成分と、格納システム140のアドレスに対して異なる処理数例えばm1m2を有するシーケンスを利用して決定された空間局所性の長距離成分とを、短距離成分および長距離成分の各対について比較することができるようになる。空間局所性150の短距離成分および長距離成分の値が上述したようにして決定されると、短距離空間局所性メトリック112および長距離空間局所性メトリック114のインスタントバリューをそれぞれ計算することができる。例えば、短距離空間局所性メトリック112のインスタントバリューは、空間局所性150の短距離成分の決定された値と、式1に従って前に計算された短距離空間局所性メトリックの値との間の重み付けされた平均値として計算される。式1を現在の文脈で考えると、SA1インスタントバリューおよびSA1前の値という表記はそれぞれ、短距離空間局所性メトリック112のインスタントバリューと前の値とをそれぞれ表しており、sA1,m;nという表記は、ブロックオフセットXnに対応する処理に関して、ブロックオフセットXnに対応する処理の後のm個の参照シーケンスを利用して決定された空間局所性150の短距離成分の値を表している。同様に、長距離空間局所性メトリック114のインスタントバリューは、空間局所性150の長距離成分の決定された値と、式2に従って前に計算された長距離空間局所性メトリックの値との間の重み付けされた平均値として計算される。具体的には以下のようになる。SA2インスタントバリュー=β×sA2,m;n1-β×SA2前の値2SA2インスタントバリュー、SA2前の値という表記はそれぞれ、空間局所性メトリック110のインスタントバリューと前の値とを表している。sA2,m;nという表記は、格納システム140のアドレス空間のサイズA2について、ブロックオフセットXnに対応する処理に次ぐm個の参照シーケンスを利用して決定されている空間局所性150のインスタントバリューを表している。後続する空間局所性150の短距離成分および長距離成分の値も、前述したような方法で、ブロックオフセットXn1に対応する別の処理と、他の参照処理に後続する別のm個の処理のシーケンスとを参照して、決定される。例えば、他のm個の参照のシーケンスに対応するアドレスが、他の参照処理に対応するブロックオフセットXn1から±1/2A1の距離にあるかを判断するための、m個の決定がなされ、他のm個の参照のシーケンスに対応するアドレスが、他の参照処理に対応するブロックオフセットXn1から±1/2A2の距離にあるかを判断するための、別のm個の決定がなされる。空間局所性150の短距離成分の値を、m個の決定のうち、各肯定的な決断について1増分してよく、空間局所性150の長距離成分の値を、m個の決定のうち、各肯定的な決断について1増分してよい。さらに、短距離空間局所性メトリック112の後続するインスタントバリューSA1インスタントバリューを、短距離空間局所性メトリック112の前に計算したインスタントバリューを、短距離空間局所性メトリック112の前の値SA1前の値として利用して、ブロックオフセットXn1に対応する処理に関して決定された空間局所性150の短距離成分の値sA1、m;n1を利用して、式1に従って計算する。さらに、長距離空間局所性メトリック114の後続するインスタントバリューSA2インスタントバリューを、長距離空間局所性メトリック114の前に計算したインスタントバリューを、長距離空間局所性メトリック114の前の値SA2前の値として利用して、ブロックオフセットXn1に対応する処理に関して決定された空間局所性150の長距離成分の値sA2、m;n1を利用して、式2に従って計算する。図1Aから図1Dを参照して上述した空間局所性メトリック110、112、および114は、格納システム140全体のアドレスへの、または、格納システム140の特定の領域のアドレスへの参照の空間パターンを特徴づけるために利用することができる。しかし、格納システムへのアクセスは、経験的な観察の結果、格納システムの領域ごとに異なる空間局所性を呈することが分かっている。この観察に基づいて、格納システムを、格納システム140の各部分またはサブセクションを表す複数の固定長または可変長の領域R1、R2、...に分けて、格納システム140の各領域の空間局所性150を見極めるために、これら領域を別々にモニタすることができる。このようにすることで、より高い空間局所性を持つ領域内のブロックを、より低い空間局所性の領域内のブロックよりも優先的にキャッシュすることができ、および/または、キャッシュメモリにより長い期間保持しておくことができるようになる。図1Eの表3は、格納システム140の領域RiおよびRjそれぞれの空間局所性メトリックの例をそれぞれ示している。領域Ri120の空間局所性メトリックは、格納システムの領域Riの空間局所性と関連付けられており、領域Rj130の空間局所性メトリックは、格納システムの領域Rjの空間局所性と関連付けられている。他の空間局所性メトリックは楕円で表されるが、それぞれ格納システム140のR1、R2、...、RN領域といった他の領域に対応している。領域Ri、Rjの空間局所性は、図1Aから図1Bを参照して説明した上述の開示同様の方法で決定することができる。例えば、領域Riの空間局所性の値は、格納システム140の領域Riのアドレスに対するm個の参照のシーケンスを利用して決定することができる。さらに、領域Rjの空間局所性の値は、格納システム140の領域Rjのアドレスに対する別のm個の参照のシーケンスを利用して決定することができる。図1Fは、格納システム140の領域Riのアドレス空間のサイズA1について領域Riの空間局所性の値を決定するために利用される参照処理に対応する領域RiのブロックオフセットXa,iおよび格納システム140の部分を示す。サイズA1を持つアドレス空間は、Xa,i-1/2A1からXa,i1/2A1までのブロックオフセットXa,iを中心とする格納システム140の領域Riの部分にわたっている。図1Fにはさらに、格納システム140の領域Rjのアドレス空間のサイズA1について領域Rjの空間局所性の値を決定するために利用される別の参照処理に対応する領域RjのブロックオフセットXb,jも示されている。サイズA1を持つアドレス空間は、Xb,j-1/2A1からXb,j1/2A1までのブロックオフセットXb,jを中心とする格納システム140の領域Riの部分にわたっている。空間局所性RiおよびRjの値は、0ゼロに初期化することができる。続いて、格納システム140の領域Riのm個のアドレスのシーケンスに対応するアドレスが、参照処理に対応するブロックオフセットXa,iから±1/2A1の距離にあるか、というm個の決定を行い、m個の決定のセットのうちの各肯定的な決断について領域Riの空間局所性の値を1増分してよい。さらに、格納システム140の領域Rjの他のm個のアドレスのシーケンスに対応するアドレスが、他の参照処理に対応するブロックオフセットXb,jから±1/2A1の距離にあるか、というm個の決定を行い、m個の決定のセットのうちの各肯定的な決断について領域Rjの空間局所性の値を1増分してよい。例えば、格納システム140の領域Riのアドレスに対するm個の参照のシーケンスのうち、u個の参照が、参照処理に対応するブロックオフセットXa,iを中心とするサイズA1のアドレス空間内のアドレスに対応している場合、領域Riの空間局所性がuという整数値を有することになりここで0≦u≦m、格納システム140の領域Rjのアドレスに対する他のm個の参照のシーケンスのうち、v個の参照が、他の参照処理に対応するブロックオフセットXb,jを中心とするサイズA1のアドレス空間内のアドレスに対応している場合、領域Riの空間局所性がvという整数値を有することになるここで0≦v≦m。別の例としては、領域Riの空間局所性は正規化され、u/mの分数値を有し0≦u/m≦1、領域Rjの空間局所性は正規化され、v/mの分数値を有する0≦v/m≦1。領域Ri、Rjの正規化された値を利用することで、格納システム140の領域Ri、Rjのアドレスに対する参照の異なる数例えばm1m2、...を有するシーケンスを利用して決定された領域Ri、Rjそれぞれの空間局所性を比較することができるようになる。領域Riの空間局所性の値が上述したようにして決定された場合には、領域Ri120の空間局所性メトリックのインスタントバリューを、領域Riの空間局所性の決定された値と、領域Riの空間局所性メトリックの前に計算された値との間の重み付け平均として計算する。例えば、領域Ri120の空間局所性メトリックのインスタントバリューは、以下のようにして計算することができる。SA1インスタントバリュー|i=β×sA1,m;a|i1-β×SA1前の値|i3SA1インスタントバリュー|iおよびSA1前の値|iという表記は、領域Ri120の空間局所性メトリックのインスタントバリューおよび前の値をそれぞれ表している。sA1,m;a|iという表記は、ブロックオフセットXa,iに対応する処理を参照して、且つ、ブロックオフセットXa,iに対応する処理の後のm個のシーケンスを利用して、格納システム140の領域Riのアドレス空間のサイズA1について決定される領域Riの空間局所性の値を表している。さらに、領域Rjの空間局所性の値が上述したようにして決定された場合には、領域Rj130の空間局所性メトリックのインスタントバリューを、領域Rjの空間局所性の決定された値と、領域Rjの空間局所性メトリックの前に計算された値との間の重み付け平均として計算する。例えば、領域Rj130の空間局所性メトリックのインスタントバリューは、以下のようにして計算することができる。SA1インスタントバリュー|j=β×sA1,m;b|j1-β×SA1前の値|j4SA1インスタントバリュー|jおよびSA1前の値|jという表記は、領域Rj130の空間局所性メトリックのインスタントバリューおよび前の値をそれぞれ表している。sA1,m;b|jという表記は、ブロックオフセットXb,jに対応する処理を参照して、且つ、ブロックオフセットXb,jに対応する処理の後のm個のシーケンスを利用して、格納システム140の領域Riのアドレス空間のサイズA1について決定される領域Riの空間局所性の値を表している。領域Riの空間局所性の後続の値も、前述したような方法で、ブロックオフセットXa1、iに対応する別の処理と図1Fには不図示、他の参照処理に後続するm個の処理の別のシーケンスを参照して、決定される。例えば、m個の参照の他のシーケンスに対応するアドレスが、他の参照処理に対応するブロックオフセットXa1、iから±1/2A1の距離にあるかを判断するための、m個の決定がなされ、領域Riの空間局所性の値を、m個の決定のうち、各肯定的な決断について1増分してよい。さらに、領域Ri120の空間局所性メトリックの後続のインスタントバリューSA1インスタントバリュー|iを、式3に従って、前に計算した領域Ri120の空間局所性メトリックのインスタントバリューを、領域i120の空間局所性メトリックの前の値SA1前の値|iとして利用して、且つ、ブロックオフセットXa1、iに対応する処理を参照して格納システム140の領域Riのアドレス空間のサイズA1について決定された領域Riの空間局所性の値sA1,m;a1|iを利用して計算する。加えて、領域Rjの空間局所性の後続する値も、前述したような方法で、ブロックオフセットXb1、iに対応する別の処理と図1Fには不図示、他の参照処理に後続するm個の処理の別のシーケンスを参照して、決定される。例えば、m個の参照の他のシーケンスに対応する他のアドレスが、他の参照処理に対応するブロックオフセットXb1、jから±1/2A1の距離にあるかを判断するための、m個の決定がなされ、領域Rjの空間局所性の値を、m個の決定のうち、各肯定的な決断について1増分してよい。さらに、領域Rj130の空間局所性メトリックの後続するインスタントバリューSA1インスタントバリュー|jを、式4に従って、領域Rj130の空間局所性メトリックの前に計算したインスタントバリューを、領域i130の空間局所性メトリックの前の値SA1前の値|jとして利用して、且つ、ブロックオフセットXb1、jに対応する処理を参照して格納システム140の領域Rjのアドレス空間のサイズA1について決定された領域Rjの空間局所性の値sA1,m;b1|jを利用して計算する。さらに、図1C-図1Fを参照して上述した空間局所性メトリック112、114、120、および130を組み合わせて、例えば以下で図1Hを参照して説明するように格納システム140の複数の領域のそれぞれについての短距離および長距離空間局所性メトリックを計算することもできる。さらには図4Aから図4Bおよび図5Aから図5Bを参照して後述するように格納システム140の個々の領域の短距離および長距離メトリックのインスタントバリューに従って幾つもキャッシュアルゴリズムを実装することができる。図1Gの表4は、格納システム140の領域RiおよびRjそれぞれの短距離および長距離空間局所性メトリックの例を示している。領域Ri122の短距離空間局所性メトリックは、領域Riの空間局所性の短距離成分に関連しており、領域j132の短距離空間局所性メトリックは、領域Rjの空間局所性の短距離成分に関連している。領域Ri124の長距離空間局所性メトリックは、領域Riの空間局所性の長距離成分に関連しており、領域j134長距離空間局所性メトリックは、領域Rjの空間局所性の長距離成分に関連している。格納システム140の所定の領域の縦楕円は、表2を参照して上述した他の空間局所性メトリックに対応している。空間局所性150の所定の成分の横楕円は、表3を参照して上述した格納システム140の他の領域に対応している。領域Ri122の短距離局所性メトリックは、式3に基づいて計算することができ、SA1インスタントバリュー|iおよびSA1前の値|iという表記は、領域Ri122の短距離空間局所性メトリックのインスタントバリューおよび前の値をそれぞれ表しており、sA1,m;a|iという表記は、ブロックオフセットXa,iに対応する処理を参照して、且つ、ブロックオフセットXa,iに対応する処理の後のm個のシーケンスを利用して、格納システム140の領域Riのアドレス空間のサイズA1について決定される領域Riの空間局所性の短距離成分の値を表している。ブロックオフセットXa,iは図1Hに示されている。さらに、領域Riの空間局所性の短距離成分は、格納システム140の領域Riについて、図1Cおよび図1Dを参照して上述した方法同様の方法で、決定することができる。領域Rj132の短距離局所性メトリックは、式4に基づいて計算することができ、SA1インスタントバリュー|iおよびSA1前の値|iという表記は、領域Rj132の空間局所性メトリックのインスタントバリューおよび前の値をそれぞれ表しており、sA1,m;b|jという表記は、ブロックオフセットXb,jに対応する処理を参照して、且つ、ブロックオフセットXb,jに対応する処理の後の別のm個のシーケンスを利用して、格納システム140の領域Rjのアドレス空間のサイズA1について決定される領域Rjの空間局所性の短距離成分の値を表している。ブロックオフセットXb,jは図1Hに示されている。さらに、領域Rjの空間局所性の短距離成分は、格納システム140の領域Rjについて、図1Cおよび図1Dを参照して上述した方法同様の方法で、決定することができる。領域Ri124の長距離局所性メトリックは、以下のようにして計算することができる。SA2インスタントバリュー|i=β×sA2,m;a|i1-β×SA2前の値|i5SA2インスタントバリュー|iおよびSA2前の値|iという表記は、領域Ri124の長距離空間局所性メトリックのインスタントバリューおよび前の値をそれぞれ表している。sA2,m;a|iという表記は、ブロックオフセットXa,iに対応する処理を参照して、且つ、ブロックオフセットXa,iに対応する処理の後のm個のシーケンスを利用して、格納システム140の領域Riのアドレス空間のサイズA2について決定される領域Riの空間局所性の長距離成分の値を表している。さらに、領域Riの空間局所性の長距離成分は、格納システム140の領域Riについて、図1Cおよび図1Dを参照して上述した方法同様の方法で、決定することができる。領域Rj134の長距離局所性メトリックは、以下のようにして計算することができる。SA2インスタントバリュー|j=β×sA2,m;b|j1-β×SA2前の値|j6SA2インスタントバリュー|jおよびSA2前の値|jという表記は、領域Rj134の長距離空間局所性メトリックのインスタントバリューおよび前の値をそれぞれ表している。sA2,m;b|jという表記は、ブロックオフセットXb,jに対応する処理を参照して、且つ、ブロックオフセットXb,jに対応する処理の後の別のm個のシーケンスを利用して、格納システム140の領域Rjのアドレス空間のサイズA2について決定される領域Rjの空間局所性の長距離成分の値を表している。さらに、領域Rjの空間局所性の長距離成分は、格納システム140の領域Rjについて、図1Cおよび図1Dを参照して上述した方法同様の方法で、決定することができる。図2Aは、格納システムの空間局所性のメトリックに基づいて格納システム200の1以上のデバイスに格納されているデータをキャッシュするシステムの一例を示す。空間局所性メトリックは、図1Aから図1Hを参照して上述した1以上のメトリック110、112、114、120、122、124、130、132、および134のいずれかであってよい。格納システム200は、ホストシステム201/201の外部にあってもこの一部であってもよい。一部の実装例では、格納システム200は、1以上の格納デバイス220、キャッシュデバイス230、および、1以上の格納デバイス220と、または、キャッシュデバイス230と、複数の通信経路20、40、50、および70を介して通信可能に連結された通信コントローラ210を含む。1以上の格納デバイス220は、個々の格納デバイス例えばハードドライブであってもよいし、格納デバイス例えばRAID、NAS、およびSANの組み合わせであってもよい。一部の実装例では、コントローラ210は、格納システム200の外部にあってもよい。さらにコントローラ210は、ホストシステム201/201のメモリシステム206および/またはプロセッサ202と、通信経路10を介してインタフェースするよう構成されている。さらなる通信経路30および60を、格納システム200とメモリシステム206および/またはプロセッサ202との間に構築することもできる。図2Bは、キャッシュメモリ234を含むキャッシュデバイス230の実装の第1の例を示す。この第1の実装例では、格納システム200のキャッシュ機能キャッシュヒットおよびキャッシミスを生成することを含むが、コントローラ210により実行される。図2Cは、デバイスコントローラ238のキャッシュメモリ234を含むキャッシュデバイス230の実装の第2の例を示す。この第2の実装では、格納システム200のキャッシュ機能キャッシュヒットおよびキャッシミスを生成することを含むが、キャッシュデバイス230のデバイスコントローラ238により実行される。コントローラ210は、特定用途向け集積回路ASIC、電子回路、プロセッサ共有、専用、またはグループ、および/または、1以上のソフトウェアまたはファームウェアプログラムを実行するメモリ共有、専用、またはグループ、統合論理回路、および/または、記載した機能を提供する他の適切なコンポーネントの一部であってもよいし、これを含んでも良い。例えばコントローラ210は、格納システム200の空間局所性メトリックを生成および更新するよう構成されている。コントローラ210は、メモリシステム206から通信経路10経由で、格納システム200の特定数量mのアドレス参照を受信することができる。例えば、アドレス参照の数量mは、プログラムにより指定することも可能である。さらに量mは、格納デバイス220のタイプ、ホストシステム201/201が実行しているアプリケーションのタイプ等に基づいて変更することができる。例えば量mは、格納システム200のアドレスへの15個の参照に等しくなるよう設定することができる。他のmの値の例には、5、10、15、20、30、50、100、...等が含まれる。さらにコントローラ210は、格納システム200の空間局所性を、連続したアドレス参照の第1のアドレス参照のブロックオフセットXnから第1の距離の範囲内にある連続したアドレス参照について受信した特定数量mの一部として決定してよい。格納システム200の空間局所性の決定は、図2Aから図2Cを参照して本明細書で上述したようにして実行することができる。さらに格納システム200の空間局所性の決定の一環として、コントローラ210は、空間局所性の前の決定と、空間局所性の現在の決定との間で、ランダムなアドレス参照数量を省くこともできる。周期性のアーチファクトが導入するシステマチックなエラーは、このようにランダムにサンプリングすることで低減することができる。従って、格納システム200の空間局所性の精度を上げることができる。乱数生成は、例えば予め定められたシードとモジュロ演算子とを利用するもののような、擬似数生成であってもよいし、あるいは、宇宙背景放射を検知するためのセンサ等のランダムな入力源に基づくもののような、真の乱数生成であってもよい。加えて、コントローラ210は、決定される空間局所性を、前に決定された空間局所性と組み合わせて、格納システム200の空間局所性メトリックを形成するよう構成されている。格納システム200の空間局所性メトリックの複数の例を、図2Aから図2Cを参照して上述してきた。例えば、図2Aおよび図2Bを参照して上述したように、特定のメモリサイズに対応する空間局所性メトリックを格納システム200に対して計算することができる。別の例としては、上述したように、それぞれ大小のメモリサイズに対応する短期、長期空間局所性メトリックを、格納システム200全体について計算することもできる。また別の例としては、上述したように、特定のメモリサイズに対応する空間局所性メトリックを、格納システム200の各領域について計算することもできる。さらには上述したように、それぞれ大小のメモリサイズに対応する短期、長期空間局所性メトリックを、格納システム200の複数の領域それぞれについて計算することもできる。前述した空間局所性メトリックのそれぞれは、式1から式6に従って決定された空間局所性および前に決定された空間局所性との重み付けを加えた合計を含む。コントローラ210は、計算された空間局所性メトリックのうち1以上を利用することができ、空間局所性メトリックの1以上を通信経路50を通じてデバイスコントローラ224に提供して、1以上の格納デバイス220からキャッシュデバイス230に通信経路70を介してデータをキャッシュすることができる。空間局所性メトリックの現在の値に基づく様々なキャッシュ技術を、図5Aから図5B、および、図6Aから図6Bを参照して後述する。コントローラ210は、さらに、メモリシステム206から通信経路10を介して格納システム200のアドレスへの参照を受信するよう構成されている。受信したアドレス参照は、格納システム200の所定のブロックオフセットXに格納されているデータに対応していてよい。コントローラ210は、受信した参照をキャッシュデバイス230に通信経路20経由で中継することができる。参照されるデータがキャッシュデバイス230にキャッシュされている場合には、キャッシュヒットを生成して、キャッシュデバイス230から通信経路30経由でメモリシステム206に、参照データを提供することができる。一部の実装例では、通信経路30が、逆方向の経路20および10に対応している。他方、参照されるデータがキャッシュデバイス230にキャッシュされていない場合には、キャッシュミスを生成して、参照データをメモリシステム206に、1以上の格納デバイス220から通信経路60を通じて提供することができる。一部の実装例では、通信経路60は、逆方向の経路50および10に対応している。コントローラ210はさらに、キャッシュデバイス230で受信したアドレス参照についてのキャッシュミスを通信経路40経由で検知することができる。一部の実装例では、通信経路40は、逆方向にされた経路20に対応している。キャッシュミスを検知すると、コントローラ210はさらに、格納システム200のあるブロックオフセットXに関するデータを通信経路70を介して選択して、図5Aから図5B、および図6Aから図6Bを参照して後述する空間局所性メトリックの現在の値に従ってキャッシュデバイス230にキャッシュするよう構成されている。一部の実装例では、通信経路70は、逆方向の経路50および40に対応している。図3は、格納システムの空間局所性メトリックを生成して更新する方法300の一例を示している。方法300は、コントローラ210、キャッシュデバイス230、およびプロセッサ202図2Aを参照して上述したの1以上を含むデータ処理装置により実行することができる。360で、更新された空間局所性メトリックを出力して、キャッシュメモリにキャッシュするべき格納システムのデータを特定する。空間局所性メトリックは、データ処理装置が、後述するように少なくとも側面310-350を周期的に実行することで更新される。360に従って更新することができる空間局所性メトリックの例は、図2Aから図2Cを参照して上述した。310で、格納システムのアドレス参照を受信する。受信したアドレス参照が、特定数量のアドレス参照を含むアドレス参照シーケンスの最初のアドレスであると判断された場合、このシーケンスの最初のアドレスのブロックオフセットを記録する320。シーケンス内の特定の数量のアドレス参照は、mで表し、例えばm=15に予め設定されている。しかし、シーケンス内の特定の数量のアドレス参照mは、ソフトウェア/ファームウェアによる修正が可能である。受信したアドレス参照がシーケンスで後続しているアドレス参照であると決定されると、後続するアドレス参照が、シーケンスの最初のアドレスについて記録されているブロックオフセットから一定の距離以内にあるかを判断することができる330で。アドレス空間の特定の距離は、A1として示され、A1=64KB、128KB、256KB等であってよい。判断の結果が肯定的である場合にはつまり、後続するアドレス参照が、シーケンスの最初のアドレスについて記録されているブロックオフセットから特定の距離A1の範囲内にある場合、シーケンスの最初のアドレスについて記録されているブロックオフセットから特定の距離A1の範囲内にあるアドレス参照のカウントを増分する。カウントはkと表し、整数値0≦k≦mをとってよい。340で、格納システムの空間局所性を、カウントkおよびシーケンス内の特定された数量mのアドレス参照に基づいて得る。一部の実装例では、空間局所性を得ることには、シーケンスの最初のアドレスについて記録されているブロックオフセットから特定の距離の範囲内にあるシーケンス内のアドレス参照のカウントの分数k/mを決定することが含まれる。決定された分数は、不等式0≦k/m≦1を満たす。このようにして正規化された空間局所性の値は、参照のそれぞれ異なる数量m1、m2、...を有するアドレス参照の各シーケンスに基づいて決定される空間局所性k1/m1、k2/m2、...を比較するために利用することができる。例えば、ある格納システムに対する第1の空間局所性を、この格納システムのアドレスに対する12個の参照を有する第1のシーケンスを利用することで、4であると決定することができる。後で、この格納システムに対する第2の空間局所性を、この格納システムのアドレスに対する30個の参照を有する第2のシーケンスを利用することで、6であると決定することができる。またさらに後で、この格納システムに対する第3の空間局所性を、この格納システムのアドレスに対する6個の参照を有する第3のシーケンスを利用することで、3であると決定することができる。第1、第2、第3の空間局所性の元の値rawvalueを比較することが難しくなった場合には、正規化された値を利用すると、第3の空間局所性が3/6=0.50であり、第1の空間局所性4/12=0.33より大きく、後者が第2の空間局所性6/30=0.20より大きい、と簡単に判断することができる。さらに、受信したアドレス参照は、受信したアドレス参照が、m個のアドレス参照の前のシーケンスの中の最終m番目のアドレス参照、および、後続するm個のアドレス参照のうちの最初の1番目のアドレス参照の間のランダムなアドレス参照の数量rのいずれかであると決定された場合には、空間局所性を取得しないようにすることであってもよい。乱数rは、不等式0≦r≦Nを満たすように選択されるNは空間局所性を得ない最大処理数としてソフトウェア/ファームウェアで予め設定されてよい。例えばm=20でありN=10である場合、先ず格納システムのアドレスの最初の20個の参照を利用して空間局所性を取得して、次の4個の参照21-23は空間局所性の取得に利用せず、次の20個の参照24-43は利用して、次の7個の参照44-50は利用せずに、次の20個の参照51-70を利用して、次の10個の参照71-80を利用せずに、次の20個の参照81-100を利用して、次の2個の参照101-102は利用せずに、次の20個の参照103-122を利用して、ゼロ個の参照を省いて、次の20個の参照123-142を利用して、次の7個の参照143-149を利用せずに、といったように処理を行う。この例では、格納システムの空間局所性の連続する決定の間で乱数4、7、10、2、0、7、...、0と10の間の処理が省かれた。上述したランダムなサンプリングは、周期的に生じるアーチファクトの効果を低減することで、空間局所性メトリックの精度を高める効果を果たす。350で、格納システムの空間局所性メトリックを、取得した空間局所性を、前に得た空間局所性と組み合わせて空間局所性メトリックにすることに少なくとも一部基づいて更新する。組み合わせには、取得した空間局所性を、前に得た空間局所性と、式1から式6のうち所定の1以上に従って重み付け合計することを含む。重みは、β0<β≦1で表され、空間局所性メトリックの過去の値により空間局所性メトリックのインスタントバリューのバイアスを示すために選択することができる。例えば、0ゼロに近い重みβは、空間局所性メトリックでは、過去の値の影響が大きくて、インスタントバリューが空間局所性メトリックに対して持つ貢献は小さいことを示している。別の例として、1に近い重みβは、空間局所性のインスタントバリューが空間局所性メトリックに対する影響が大きいことを示しており、過去の値は、空間局所性メトリックに対して小さな影響しか持たないことを示している。実際のところ、重みβ=1のとき、過去の値は、空間局所性メトリックの値の計算には影響を及ぼさない。後者の場合には、格納システムの空間局所性メトリックは、格納システムの空間局所性と等しい。370で、受信したアドレス参照のキャッシュミスを検知する。受信するアドレス参照は、格納システムにおける、あるブロックオフセットに対応している。380で、キャッシュミスの検知に呼応して、空間局所性メトリックの現在の値に従ってこのブロックオフセットに関するデータを選択的に決定して、選択的に決定されたデータをキャッシュメモリにキャッシュする。図4Aは、格納システムの空間局所性メトリックの現在の値に従って格納システムに格納されるデータをキャッシュする方法400の一例の各側面を示す。方法400は、370でキャッシュミスを検知することに呼応してデータをキャッシュする方法300と組み合わせることができる。方法400はさらに、図2Aを参照して記載したコントローラ210、キャッシュデバイス230、およびプロセッサ202の1以上を含むデータ処理装置により実行することができる。加えて、方法400は、図2Aから図2Cを参照して上述した空間局所性メトリックのいずれにも適用することができる。370で、格納システムのアドレスについて受信された参照についてのキャッシュミスを検知する。図4Bは、このキャッシュミスに対応する格納システム240のアドレスに関するブロックオフセットXを示す。キャッシュミスを検知すると、空間局所性メトリックの見積もりは、410で、第1の値と、第1の値より大きい第2の値との間の空間局所性メトリックの現在の値となる。空間局所性メトリックのこの値の範囲は、ソフトウェア/ファームウェアで、例えば空間局所性メトリックの過去の値の25パーセントから75パーセントの範囲といった特定の区間に対応するよう特定することができる。別の例では、空間局所性値の特定の区間を、過去の値の5パーセントから95パーセントの間に特定することができる。一部の実装例では、過去の値を格納システムで保持してもよい。一部の実装例では、過去の値は、格納システムの外部に例えばホストシステム201/201に保持することができる。空間局所性のN個の過去の計測値例えばN=250のうちk番目のパーセント例えばk=25を計算するために、N個の過去の計測値の最小の値から最大の値を先ずソートする。k番目のパーセントは、ソートされたN個の計測値のうちのkN/100番目にあたる値に相当する。この場合、空間局所性メトリックの過去の値の25パーセントが、200個のソートされた空間局所性の計測値の50番目25200/100の空間局所性計測値の値に相当する。同様に、空間局所性メトリックの過去の値の5パーセントは、200個のソートされた空間局所性の計測値の10番目5200/100の空間局所性計測値の値に相当する。他のパーセントの値も、このようにして計算され、例えば、410での見積もりとの関連で記載される特定の区間の上限および下限の設定に利用することができる。420で、410の見積もり結果に応じて、あるブロックオフセットXに隣接する連続メモリから特定のデータ量を含むように、キャッシュメモリにキャッシュするデータを選択的に決定する。特定のデータ量は、図4BのΔで表されている。一部の実装例では、特定のデータ量Δは、格納システム240の空間局所性を決定するために利用されるメモリサイズA1に関していてよい。例えば、特定のデータ量Δは、メモリサイズA1の倍数であったり、これに等しかったり、これの分数であってよい。例えば、Xに対応するキャッシュミスを検知して、空間局所性メトリックのインスタントバリューが過去の値の5-95パーセントの間にあると見積もられると、空間局所性メトリックが、メモリサイズA1=64KBに基づいて決定され、キャッシュされるべきデータ量が、Δ=A1=64KBとなるよう選択的に決定され、キャッシュされるデータは、メモリ区間X-32KB、X32KBから選択される。キャッシュミスを検知すると、430の空間局所性メトリックの見積もり結果は、第2の値より空間局所性メトリックの現在の値が大きい、となる。空間局所性メトリックのこの大きなインスタントバリューは、ブロックオフセットXに隣接するアドレスがこれは、キャッシュミスに対応する格納システム240のアドレスに関連付けられている、近い将来参照されるつまり後続するm個の読み書き処理中に参照される確率が高いことを示す。440では、430の見積もり結果に応じて、ブロックオフセットXに隣接する連続メモリからの特定のデータ量Δ以上のデータを、キャッシュメモリにキャッシュするデータが含むよう、選択的に決定する。一部の実装例では、空間局所性メトリックの現在の値が第2の値より大きい場合、キャッシュメモリへのキャッシュ用に選択的に決定するデータは、ブロックオフセットXに隣接する連続メモリからの特定の量のデータΔの二倍を含む図4B参照。例えば、Xに対応するキャッシュミスを検知して、空間局所性メトリックのインスタントバリューが、過去の値の95パーセントより大きく見積もられた場合、特定の量のデータΔ=64KBとなり、キャッシュするデータ量は、2Δ=128KBとして選択的に決定され、キャッシュされるデータはメモリ区間X-64KB、X64KBから選択される。キャッシュミスを検知すると、空間局所性メトリックの見積もりは450で、第1の値より空間局所性メトリックの現在の値が小さい、となる。空間局所性メトリックのインスタントバリューがこのように小さいということは、ブロックオフセットXに隣接するアドレスがこれは、キャッシュミスに対応する格納システム240のアドレスに関連付けられている、近い将来参照されるつまり、m個の読み書き処理中に参照される確率が低いことを示す。460で、キャッシュメモリにキャッシュするデータを、450の見積もり結果に応じて、ブロックオフセットXに隣接する連続メモリからの特定のデータ量Δ未満のデータを含むように選択的に決定する。一部の実装例では、空間局所性メトリックの現在の値が第1の値より小さい場合、キャッシュメモリへのキャッシュ用に選択的に決定するデータは0となる。例えば、Xに対応するキャッシュミスを検知して、空間局所性メトリックのインスタントバリューが、過去の値の5パーセントより小さく見積もられた場合、特定の量のデータΔ=64KBとなり、キャッシュするデータ量を、選択的に0ゼロに選択する。図5Aは、格納システムの短期および長期空間局所性メトリックのそれぞれの現在の値に従って格納システムに格納されるデータをキャッシュする別の方法500の例の各側面を示す。370でキャッシュミスを検知すると、方法500を、データをキャッシュする方法300と組み合わせることができる。方法500は、さらに、図2Aを参照して上述したコントローラ210、キャッシュデバイス230、およびプロセッサ202のうち1以上を含むデータ処理装置により実行することもできる。上述したように、空間局所性の短距離成分は、特定のメモリサイズA1で、シーケンスの最初のアドレスのブロックオフセットXnを中心とする特定のメモリサイズA1の区間内のm個のアドレス参照のシーケンス内のk1カウントを除算した、アドレス参照の分数k1/mとして決定することができる。空間局所性の長距離成分は、別の他の特定のメモリサイズA2A1<A2で、シーケンスの最初のアドレスのブロックオフセットXnを中心とする別の特定のメモリサイズA2の区間内のm個のアドレス参照のシーケンス内のk2カウントを除算した、アドレス参照の分数k2/mとして決定することができる。一部の実装例では、空間局所性の短距離成分は、シーケンスの最初のアドレスのブロックオフセットXnを中心とする特定のメモリサイズA1の区間内のm個のアドレス参照のシーケンス内のk1カウントとして決定することができ、空間局所性の長短距離成分は、シーケンスの最初のアドレスのブロックオフセットXnを中心とする特定のメモリサイズA1の区間内ではなくて、シーケンスの最初のアドレスのブロックオフセットXnを中心とする別の特定のメモリサイズA2の区間内のm個のアドレス参照のシーケンス内の別のk2カウントとして、決定することができる。さらに、短距離空間局所性メトリックSA1は、式1、3、または4の空間局所性sA1、m;nについて決定される短距離成分に関しており、長距離空間局所性メトリックSA2は、式2、5、または6の空間局所性sA2、m;nについて決定される短距離成分に関している。図5Aに戻ると370で、格納システムのアドレスについて受信した参照におけるキャッシュミスを検知する。図5Bは、キャッシュミスに対応する格納システム240のアドレスに関連するブロックオフセットXを示す。加えて、図5Bは、ブロックオフセットXを中心とするメモリサイズA1の区間と、ブロックオフセットXを中心とする別のメモリサイズA2の区間を示しており、メモリサイズA1およびA2は、格納システム240の短距離および長距離空間局所性メトリックそれぞれに対応している。キャッシュミスを検知すると、短距離および長距離空間局所性メトリックの見積もりは、510で、長距離空間局所性の現在の値よりも、短距離空間局所メトリックの現在の値が大きい、となる。このように、短距離空間局所メトリックインスタントバリューが大きいということは、ブロックオフセットXを中心とするメモリサイズA1の区間内のアドレスへの参照の空間密度が大きいことを示しており、逆に、長距離空間局所メトリックインスタントバリューが小さい場合には、ブロックオフセットXを中心とするメモリサイズA2の区間内のアドレスへの参照の空間密度が小さいことを示している。メモリサイズA1の区間および他のメモリサイズA2の区間は、共通の中心Xを有しているので、見積もり510の結果では、端部X-1/2A2、X-1/2A1と端部X1/2A1、X1/2A2との間のアドレスの参照数は、他のメモリサイズA2の区間の中央部分X-1/2A1、X1/2A1のアドレスの参照数より必ず小さくなるはずである。この結果520で、キャッシュメモリへのキャッシュ用のデータは、ブロックオフセットXを中心とするメモリサイズA1を有する区間内のアドレスを有するように選択される。図4Aおよび図4Bを参照して上述したように、プリフェッチされたデータの量は、メトリックを決めるときに利用されたサイズ例えばA1と同じであってよいが、同じではなくてもよい。例えば、Xに対応するキャッシュミスを検知して、短距離空間局所性メトリックのインスタントバリューが、長距離空間局所性メトリックのインスタントバリューより大きく見積もられ、且つ、短距離空間局所性メトリックに対応するメモリA1=64KBである場合、キャッシュするデータは、メモリ区間X-32KB、K32KBから選択される。さらにキャッシュミスを検知すると、短距離および長距離空間局所性メトリックの530における見積もりは、短距離空間局所メトリックの現在の値が、長距離空間局所性の現在の値と略等しい、となる。空間局所メトリック同士が略等しい場合というのは、2つのメトリックの値が、メトリックの計測において生じるノイズ以下である場合に生じる例えばノイズは、計測繰り返しによって生じる。短距離空間局所性メトリックおよび長距離空間局所性メトリックが実質的に等しい、ということは、ブロックオフセットXを中心とするメモリサイズ区間A1の範囲内のアドレスへの参照の空間密度が、ブロックオフセットXを中心とするメモリサイズの他の区間A2の範囲内のアドレスへの参照の空間密度と、実質的に等しいことを示している。メモリサイズA1の区間および他のメモリサイズA2の区間は、共通の中心Xを有しているために、見積もり530の結果では、端部X-1/2A2、X-1/2A1と端部X1/2A1、X1/2A2との間のアドレスの参照数は、他のメモリサイズA2の区間の中心部分X-1/2A1、X1/2A1内のアドレスの参照数より必ず小さくなるはずである。この結果540で、キャッシュメモリにキャッシュするデータは、ブロックオフセットXを中心とするメモリサイズA2を有する区間内のいずれかのアドレスを有するように選択される。例えば、Xに対応するキャッシュミスを検知して、短距離空間局所性メトリックのインスタントバリューが、長距離空間局所性メトリックのインスタントバリューに略等しいと見積もられ、さらに、長距離局所性メトリックに対応するメモリサイズが、A2=128KBである場合に、キャッシュするデータをメモリ区間X-64KB,X64KBから選択される。さらに、キャッシュミスを検知すると、短距離および長距離空間局所性メトリックの550における見積もりは、長距離空間局所性の現在の値よりも、短距離空間局所メトリックの現在の値のほうが小さい、となる。短距離空間局所メトリックインスタントバリューが小さいということは、ブロックオフセットXを中心とするメモリサイズA1の区間内のアドレスへの参照の空間密度が大きいことを示しており、一方で、長距離空間局所メトリックのインスタントバリューが大きいということは、ブロックオフセットXを中心とするメモリサイズA2の区間内のアドレスへの参照の空間密度が小さいことを示している。メモリサイズA1の区間および他のメモリサイズA2の区間は、共通の中心Xを有しているために、見積もり550の結果では、端部X-1/2A2、X-1/2A1と端部X1/2A1、X1/2A2との間のアドレスの参照数は、他のメモリサイズA2の区間のX-1/2A1、X1/2A1内のアドレスの参照数より必ず小さくなるはずである。この結果560で、キャッシュメモリにキャッシュするデータは、ブロックオフセットXを中心とするメモリサイズA2の他の区間の端部X-1/2A2、X-1/2A1と端部X1/2A1、X1/2A2との間のアドレスを有するように選択される。例えば、Xに対応するキャッシュミスを検知して、短距離空間局所性メトリックのインスタントバリューが、長距離空間局所性メトリックのインスタントバリューより短いと見積もられ、且つ、短距離局所性メトリックおよび長距離局所性メトリックに対応するメモリサイズがそれぞれ、A1=64KB、A2=128KBである場合に、キャッシュするデータは、メモリ区間X-64KB,X-32KBおよびX32KB,X64KBから選択される。図6Aは、格納データシステムに格納されているデータをキャッシュする方法600の別の例を示す。方法600は、例えばシステム200において、iキャッシュミスを検知してプリフェッチされるデータ量を決定して、ii検知したキャッシュミスに関するアドレス位置に対して、決定した量をプリフェッチする格納システムの領域を選択するために実装することができる。630で、データ格納システムへのアクセスの空間分布の測値を、コントローラ210により、データ格納システムへの別個の複数の群のアクセスに基づいて決定する。630で実行される空間分布の測値の決定の実装の一例を、以下に、図6Dを参照して記載する。さらに、図1Aから図1Hが、空間分布の表現を示す例示である。例えば、空間分布は、格納システムのアドレスへの参照の1以上の空間局所性例えば150により表すことができ、空間分布の測値は、1以上の空間局所性にそれぞれ対応している空間局所性メトリック例えば110によって表すことができる。640で、データ格納システムに利用するキャッシュポリシーを、例えばコントローラ210によって、空間分布について決定された測値に基づいて調節する。640で実行したキャッシュポリシーの調節の実装例については、図6Cおよび図6Dを参照して以下で説明する。図6Bは、方法600の所定の側面を示す。610で、データ格納システムへの異なる参照アクセスに基づいて、データ格納システムへの別個のアクセス群を識別するコントローラ210により。例えば、別個のアクセス群は、データ格納システムのアドレスへの2以上の参照シーケンスに基づいて識別することができ、各シーケンスの第1の参照が、それぞれ前のシーケンス例えば、図1Bおよび図1Dに示す格納媒体140のXn、Xn1,...の第1の参照に関連付けられたアドレスとは異なるようにされている。このようにして識別された別個のアクセス群は、例えば、2以上のシーケンスXn、Xn1,...それぞれの第1の参照の回数に対応する計測回数の倍数multiplemeasurementtimesで空間分布の測値を決定するために利用することができる。データ格納システムへの異なる参照アクセスに基づいてデータ格納システムへの別個のアクセス群を識別することは、612で、例えばコントローラ210によって、乱数生成に基づいてデータ格納システムへの異なる参照アクセスを決定することを含んでよい。例えば、前述したデータ格納システムのアドレスへの2以上の参照シーケンスは、各シーケンスXn、Xn1,...の第1の参照が、前のシーケンスの最後の参照の後で乱数の参照が終わると識別されるようにすることができる。このようなランダムなサンプリングによって、前述した複数の計測時間において計測された空間分布の計測精度を上げることができるようになる。図6Cは、方法600の別の所定の側面を示す。特に、640で行われるキャッシュポリシーの調節には、642で、コントローラ210によって図4Bに示すようにデータ格納システムからプリフェッチされるデータ量を修正することが含まれてよい。例えば、空間分布例えば110の測値が所定の閾値を超えていると、所定の量のデータ例えば2Δを、キャッシュミスを生成した参照に関するアドレスXに隣接したデータ格納システムの領域からキャッシュする。しかし、空間分布例えば110の測値が所定の閾値を超えていない場合には、別の所定の量のデータ例えばΔを同じ領域からキャッシュする。図6Dは、方法600の別の所定の側面を示す。620で、データ格納システムへの別個のアクセス群を、例えばコントローラ210により図1Dに示すように、例えば格納媒体140のアドレスXnに対応するものと同じ参照アクセスに基づいて識別する。一部の実装例では、別個のアクセス群は、データ格納システム140のアドレスXnと関連する第1の参照を有するデータ格納システムのアドレスへの参照シーケンスに基づいて識別することができる。このようにして識別された別個のアクセス群は、例えば、アドレスXnに関連付けられている第1の参照の時間に対応する計測時間の空間分布例えば112、114のそれぞれの空間成分の測値を決定するために利用することができる。空間分布例えば112、114の空間成分は、例えばコントローラ210によって、シーケンスの第1の参照に対応するアドレスに対するそれぞれの距離に基づいて例えば、図1Dに示すアドレスXnの周りの距離A1およびA2を参照決定することができる。一部の実装例では、図1Aを参照して詳述したように、別個のアクセス群を、データ格納システムのアドレスへの2以上の参照シーケンスに基づいてコントローラ210により識別することができ、これら2以上のシーケンスの各々が、iデータ格納システムのアドレスに関連する例えばアドレスXnに関連する共通の第1の参照と、ii異なる数の参照N1およびN2とを有している。2以上のシーケンスに基づいて識別した別個のアクセス群はそれぞれ、例えば、第1の参照に対応する例えばアドレスXnに関連付けられている計測時間の空間分布の時間成分それぞれの測値の決定に利用することができる。時間成分は、2以上の参照シーケンスに対応するそれぞれ異なる数の参照N1およびN2に基づいて決定することができる。データ格納システムへの別個のアクセス群は、コントローラ210により、2以上の異なる空間範囲に基づいて例えば図1Dに示すアドレスXnの周りの距離A1およびA2、データ格納システムへの2つの別個のアクセス群を識別することを含む622で。例えば、2つのアクセス群を、データ格納システムのアドレスXnに関する第1の参照を有する参照シーケンスに基づいて識別することができる。このようにして識別した2つのアクセス群は、例えば、第1の参照の時間に対応する計測時間例えばアドレスXnに関連しているの短距離および長距離空間局所性例えば112、114を決定するために利用することができる。短距離および長距離空間局所性メトリック例えば112、114は、例えばコントローラ210により、シーケンスの第1の参照と関連するアドレスに対するそれぞれ短距離および長距離に基づいて例えば、図1Dに示すアドレスXnの周りの距離A1およびA2を参照決定することができる。630で行われる空間分布の測値の決定は、632で、例えばコントローラ210により第1数を第2数と比較することを含み、この第1数は2つの別個の群のうちの1つに対応しており、第2数が、2つの別個の群のうちの別の群に対応している。一部の実装例では、622で決定された短距離および長距離空間局所性メトリック例えば112、114を比較して、例えばデータ格納システムのアドレス例えばXに関するキャッシュミスが検知された時点におけるデータ格納システムへのアクセスの現在の空間分布に関する情報を取得することができる。640で行われるキャッシュポリシーの調節には、644で、第1数と第2数との比較に基づいてデータ格納システム例えば図5Bに示すようなもののそれぞれ異なる領域からデータを例えばコントローラ210により選択的にプリフェッチすることが含まれてよい。一部の実装例では、キャッシュミスを検知すると、例えばコントローラ210等によりデータを、検知されたキャッシュミスXに関連するアドレスに関して選択された領域から、短距離および長距離空間局所性メトリックの現在の値同士例えば112、114の比較に基づいて、プリフェッチするためのアドレス空間を選択することによって、キャッシュポリシーの調節を行ってよい。幾つかの実施形態を記載してきたが、様々な変形例も可能である。記載した主題は、本明細書に記載した機能的な処理も含み、記載してきた処理を1以上のデータ処理装置に実行させることの出来るプログラム例えば、メモリデバイス、格納デバイス、機械可読格納基板、その他の物理的、機械可読媒体、またはこれらの1以上の組み合わせを含むコンピュータ可読媒体に符号化されるプログラムを潜在的に含む電子回路、コンピュータハードウェア、ファームウェア、ソフトウェア、これらの組み合わせ例えば、本明細書で開示した構造手段、その構造的な均等物での実装が可能である。データ処理装置という用語は、例えばプログラム可能プロセッサ、コンピュータ、または複数のプロセッサまたはコンピュータを含む、データを処理する全ての装置、デバイス、及び機械を含む概念である。装置は、ハードウェアに加えて、対象となるコンピュータプログラムに実行環境を提供するコード例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1以上の組み合わせを含むことができる。プログラムさらにはコンピュータプログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードは、コンパイラ型言語、またはインタープリタ型言語、宣言型言語または手続き型言語等の所定のプログラミング言語の形態であってよく、独立型プログラム、モジュール、コンポーネント、サブルーチン、その他、コンピュータ環境での利用に適したその他のユニット等の所定の形態で利用することができる。プログラムは必ずしもファイルシステムのファイルに対応していなくてもよい。プログラムは、他のプログラムまたはデータ例えば、マークアップ言語文書に格納される1以上のスクリプトを保持するファイルの一部として格納することもできるし、対象となるプログラムに特化した単一のファイルに格納することもできるし、複数の調節されたファイル例えば、1以上のモジュール、サブプログラム、またはコードの部分を格納するファイルに格納することもできる。プログラムは、1つのサイトに配置されてもよいし、または複数のサイトに分散され通信ネットワークで接続されていてよい1つまたは複数のコンピュータで実行することができる。本明細書は特定の詳細を含むが、これらは特定の明細書に固有の特徴を説明したにすぎず、特許請求の範囲を限定するものとして捉えられるべきではない。本明細書で記載する、特定の実施形態で説明される特定の特徴は、単一の実施形態で組み合わせて実装されてもよい。逆に、単一の実施形態で説明された様々な特徴を、複数の実施形態で別個に、または適宜サブコンビネーションとして実装してもよい。さらに、上述した特徴は、組み合わせて時刻されると記載されていたり、最初はそのように請求されていたとしても、請求される組み合わせの1以上の特徴を、場合によっては取り除いたり、請求されている組み合わせを、サブコンビネーションとしたり、サブコンビネーションの変形例としたりすることもできる。同様に、図面において処理は特定の順序で示されているが、これは、これらの処理が示されている特定の順序で、または順番で実行される、という限定の明示として捉えられるべきではなく、さらには、所望の結果を生じるために全ての処理を実行せねばならない、という限定の明示として捉えられるべきでもない。場合によっては、マルチタスクとしたり、並行処理したりすると功を奏する場合もある。さらに、実施形態で説明した様々なシステムコンポーネントを分離することは、全ての実施系知アにおいてこの分離が必要であるとの明示として捉えられるべきでもない。他の実施形態であっても、以下の特許請求項の範囲内に含まれる場合がある。"