JP4558003B2 - Data access processing method and storage control device - Google Patents
Data access processing method and storage control device Download PDFInfo
- Publication number
- JP4558003B2 JP4558003B2 JP2007135602A JP2007135602A JP4558003B2 JP 4558003 B2 JP4558003 B2 JP 4558003B2 JP 2007135602 A JP2007135602 A JP 2007135602A JP 2007135602 A JP2007135602 A JP 2007135602A JP 4558003 B2 JP4558003 B2 JP 4558003B2
- Authority
- JP
- Japan
- Prior art keywords
- access
- command
- data
- area
- access command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
本発明は、ホスト計算機と記憶装置との間のデータ転送処理を行う記憶制御装置に係り、特にホスト計算機からのアクセスの性能を向上させるためのキャッシュメモリを有する記憶装置制御装置におけるデータアクセス方法及び記憶制御装置に関する。 The present invention relates to a storage control device that performs data transfer processing between a host computer and a storage device, and in particular, a data access method in a storage device control device having a cache memory for improving access performance from the host computer, and The present invention relates to a storage control device.
ホスト計算機と記憶装置との間のデータ転送処理を行う記憶制御装置は、ホスト計算機からのアクセスの性能を向上させるためのキャッシュメモリを有しているのが一般的である。近年、この種の記憶制御装置では、キャッシュメモリの効率的な運用のための技術が適用されている。例えば、特許文献1に記載された記憶制御装置は、記憶装置を複数の記憶領域に分割し、分割された記憶領域毎にアクセスに関する統計情報を採取することにより、その統計情報に基づいて記憶領域毎にキャッシュメモリの動作モード(キャッシュメモリーのデータ先読み処理の有無)を切り替える技術を適用している。この特許文献1に記載の技術は、オンライン処理とバッチ処理とで、各々の記憶領域に対するアクセスの傾向が画一的に変化するような場合に有効である。
A storage control device that performs data transfer processing between a host computer and a storage device generally has a cache memory for improving the performance of access from the host computer. In recent years, in this type of storage control device, technology for efficient operation of a cache memory has been applied. For example, the storage control device described in
また、例えば特許文献2にも、キャッシュメモリへのデータ先読みに関する技術が記載されている。この特許文献2に記載の技術では、同一論理記憶装置の連続した領域に対するホスト計算機からのリード要求を一定回数以上受信した場合に、シーケンシャルなリードアクセスと判断し、キャッシュメモリへの先読みが行われる。
上記したように特許文献1に記載の技術は、オンライン処理とバッチ処理とで、分割された各々の記憶領域に対するアクセスの傾向が画一的に変化するような場合には有効な方法である、しかし、同一記憶領域に対し同時期に多様な傾向のアクセスが混在するような場合には、特許文献1に記載の技術のように各記憶領域へのアクセスを画一的に評価するのでは、キャッシュメモリの運用の最適化は難しい。例えば、比較的サイズの大きなファイルと、そのファイルを管理するサイズの小さな管理情報、双方へのアクセスの傾向は一般に大きく異なり、これらのアクセスは混在する。
As described above, the technique described in
そこで、傾向の異なるアクセスの混在の可能性をより低くするために、例えば記憶装置に対する分割の粒度を極めて小さくすることが考えられる。しかし特許文献1に記載の技術では、分割された記憶領域毎に統計情報を保持する必要があることから、分割の粒度を極めて小さくすると、即ち分割数を極めて多くすると、統計情報を保持するのに必要となるメモリ容量が増大する。メモリ容量の増大は、装置の価格の上昇を招く。最近のハードディスク装置(HDD)に代表される記憶装置の大容量化を考慮すると、この方法は現実的ではない。
Therefore, in order to further reduce the possibility of mixing accesses having different tendencies, for example, it is conceivable to make the granularity of division for a storage device extremely small. However, in the technique described in
一方、上記特許文献2に記載の技術では、リード要求がシーケンシャル性のある要求であると判断できるまでに、一定の回数(先読み閾値回数)以上のホスト計算機からのリード要求の受信が必要となる。この先読み閾値回数に達するまでの間は、リード要求の都度、記憶装置からの読み出し処理が発生してしまう。一般に上記先読み閾値回数は2乃至3回以上である。したがって、ホスト計算機からのリード要求が2乃至3回で完結するような、回数の少ないシーケンシャルなリード要求の場合には、特許文献2に記載の技術では先読みの効果は得られ難い。また、特許文献2に記載の技術において、2乃至3回のリード要求を受信した結果、それがシーケンシャルアクセス性のあるリード要求と判断されると、後続のデータのキャッシュメモリへの先読みが行われる。ところが、上述のような回数の少ないシーケンシャルなリード要求の場合には、先読みしたデータは結局使用されず無駄となり、装置のスループット性能を悪化させる可能性もある。
On the other hand, in the technique described in
本発明は上記事情を考慮してなされたものでその目的は、ホスト計算機からのアクセスが同時期に多種多様に混在して存在する場合におけるアクセスの性能を向上させることができるデータアクセス処理方法及び記憶制御装置を提供することにある。 The present invention has been made in consideration of the above circumstances, and an object of the present invention is to provide a data access processing method capable of improving access performance when accesses from a host computer are mixed and present at the same time. To provide a storage control device.
本発明の1つの観点によれば、ホスト計算機及び少なくとも1つの記憶装置と接続され、前記記憶装置の一部または全ての領域を使用して前記ホスト計算機に対して論理記憶装置を提供すると共に、前記ホスト計算機と前記記憶装置との間のデータ転送を処理し、前記ホスト計算機からのアクセスコマンドによって指定された読み出し/書き込みデータを一時的に保持するための前記記憶装置よりも高速なキャッシュメモリと、前記アクセスコマンドの指定するアクセス種別、並びに前記アクセスコマンドの指定する前記論理記憶装置内の領域を示す先頭アドレス及び転送サイズまたは当該転送サイズが属する転送サイズ範囲の情報を当該アクセスコマンドのログとして保持するためのアクセスコマンドログテーブルとを有する記憶制御装置において実行される、前記ホスト計算機からのアクセスコマンドに従うデータアクセスを処理するデータアクセス処理方法が提供される。この方法は、前記ホスト計算機から前記記憶制御装置に与えられる今回処理されるべき現アクセスコマンドに基づき前記アクセスコマンドログテーブルを参照することにより、当該現アクセスコマンドと同一アクセス種別で、且つ当該現アクセスコマンドと同一転送サイズまたは同一転送サイズ範囲の全てのアクセスコマンドのログを、当該現アクセスコマンドと特徴が類似した類似コマンドのログとして抽出するステップと、前記抽出された全ての類似コマンドのログに基づき、アクセスの傾向を判定するステップと、前記判定されたアクセスの傾向に基づき、前記現アクセスコマンドに対応するデータアクセス処理であって、前記現アクセスコマンドによって指定される読み出し/書き込みデータを対象とする前記キャッシュメモリへのアクセスを伴う処理及び前記現アクセスコマンドの指定する領域の近傍の領域のデータを対象とする前記キャッシュメモリへのアクセスを伴う処理の少なくとも一方を含むデータアクセス処理を決定するステップと、前記決定されたデータアクセス処理を実行するステップと、前記現アクセスコマンドのログを前記アドレスコマンドログテーブルに追加するステップとを具備する。 According to one aspect of the present invention, a logical storage device is provided to the host computer, connected to a host computer and at least one storage device, using a part or all of the storage device, and A cache memory faster than the storage device for processing data transfer between the host computer and the storage device, and temporarily holding read / write data designated by an access command from the host computer; The access type specified by the access command, and the start address indicating the area in the logical storage device specified by the access command and the transfer size or the transfer size range information to which the transfer size belongs are stored as a log of the access command. Storage control device having an access command log table Is Oite executed, the data access processing method for processing data access according to the access command from the host computer is provided. This method refers to the access command log table based on the current access command to be processed this time given from the host computer to the storage control device, and has the same access type as the current access command and the current access command. A step of extracting logs of all access commands having the same transfer size or the same transfer size range as the command as similar commands having similar characteristics to the current access command, and based on the extracted logs of all similar commands A step of determining an access tendency and a data access process corresponding to the current access command based on the determined access tendency, wherein the read / write data specified by the current access command is targeted To the cache memory Determining a data access process including at least one of a process involving access and a process involving access to the cache memory targeted for data in an area near the area specified by the current access command; and Executing a data access process; and adding a log of the current access command to the address command log table.
本発明によれば、現アクセスコマンドそれ自体を含むコマンド列の指定するアクセスの傾向ではなくて、アクセスコマンドテーブルから抽出された現アクセスコマンドに類似のコマンドのアクセス傾向が判定され、判定されたアクセスの傾向に基づき、現アクセスコマンドによって指定される読み出し/書き込みデータを対象とするキャッシュメモリへのアクセスを伴う処理及び現アクセスコマンドの指定する領域の近傍の領域のデータを対象とするキャッシュメモリへのアクセスを伴う処理の少なくとも一方を含む、現アクセスコマンドに対応するデータアクセス処理が決定される。これにより、ホスト計算機からのアクセスが同時期に多種多様に混在して存在する場合であっても、少ないアクセスコマンド列で完結するようなシーケンシャルアクセスであっても、キャッシュメモリへのアクセスを伴う、現アクセスコマンドに対応する最適なデータアクセス処理を決定することができ、アクセス性能を向上させることが可能となる。 According to the present invention, the access tendency of a command similar to the current access command extracted from the access command table is determined, not the access tendency specified by the command sequence including the current access command itself, and the determined access is determined. Based on the above trend, processing involving access to the cache memory targeted for read / write data specified by the current access command, and data to the cache memory targeted for data in the vicinity of the area specified by the current access command A data access process corresponding to the current access command including at least one of the processes involving access is determined. As a result, even if access from the host computer is mixed and present at the same time, even with sequential access that is completed with a small number of access command sequences, access to the cache memory is involved. The optimum data access process corresponding to the current access command can be determined, and the access performance can be improved.
以下、本発明の実施の形態につき図面を参照して説明する。
図1は本発明の一実施形態に係る計算機システムの構成を示すブロック図である。この計算機システムは、記憶制御装置11と、少なくとも1つの記憶装置、例えば複数の磁気ディスク装置(HDD)12と、ホスト計算機13とから構成される。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram showing a configuration of a computer system according to an embodiment of the present invention. This computer system includes a
記憶制御装置11は、HDD12へのアクセスを制御して、ホスト計算機13とHDD12との間のデータ転送を行う。
The
HDD12は、ホスト計算機13に提供する(ホスト計算機13からアクセス可能な)少なくとも1つの論理的な記憶装置(論理記憶装置)を構成するのに用いられる。論理記憶装置は、1つまたは複数のHDD12の一部の記憶領域または全ての記憶領域を使用して構成される。本実施形態では図1に示されるように、3つのHDD12の全ての記憶領域を使用して1つの論理記憶装置120が構成されるものとする。
The HDD 12 is used to configure at least one logical storage device (logical storage device) provided to the host computer 13 (accessible from the host computer 13). The logical storage device is configured using a partial storage area or all storage areas of one or a plurality of
ホスト計算機13は、論理記憶装置120へのアクセスのための要求(アクセスコマンド)を、記憶制御装置11に対して送出する。通常、アクセスコマンドは、ライト/リードの種別、先頭アドレス(開始アドレス)及びサイズの情報を含む。先頭アドレスは、論理記憶装置120内のアクセスされるべき領域の先頭位置(開始位置)を示す。転送サイズは、転送されるデータ(ライト/リードデータ)のサイズ、即ちアクセスされるべき領域のサイズを示す。本実施形態では、先頭アドレスには、アクセスされるべき領域の先頭ブロック位置(先頭論理ブロック位置)を示す先頭ブロックアドレス(先頭論理ブロックアドレス)が用いられ、転送サイズには、転送されるデータ(ライト/リードデータ)のブロック数(アクセスされるべき領域のブロック数)を示す転送ブロックサイズサイズが用いられる。
The
記憶制御装置11は、インタフェース制御回路111及び112と、キャッシュメモリ113と、チップセット114と、マイクロプロセッサ115と、メモリ(ローカルメモリ)116と、ROM117とを含む。
The
インタフェース制御回路111は、記憶制御装置11をホスト計算機13と接続するための、SCSI(Small Computer System Interface)或いはファイバチャネル(Fibre Channel)のようなホスト接続インタフェース21を制御する。
The
インタフェース制御回路112は、記憶制御装置11を複数のHDD12と接続するための、SCSI或いはファイバチャネルのような記憶装置接続インタフェース22を制御する。
The
キャッシュメモリ113は、ホスト計算機13によって要求された読み出し/書き込みデータ及び論理記憶装置120(を構成するHDD12)から先読みされたデータを一時的に保持するための、HDD12よりも高速なバッファメモリである。本実施形態において、キャッシュメモリ113はバッテリバックアップされている。
The
チップセット114は、マイクロプロセッサ115及び周辺回路(メモリ116、ROM117のような周辺回路)を接続するためのブリッジ回路である。チップセット114には、内部バス23を介して、インタフェース制御回路111及び112並びにキャッシュメモリ113も接続される。内部バス23は、例えば、PCI(Peripheral Component Interconnect)−X或いはPCI Expressのような、記憶制御装置11内部で使用されるバスである。
The
マイクロプロセッサ115は、ROM117からメモリ116にコピー(ロード)されたプログラム118(に含まれているプログラムコード)を実行することにより、記憶制御装置11内の他の要素の制御及び各種の処理を行う。
The
メモリ116は、記憶制御装置11のローカルメモリとして用いられる。メモリ116は、ROM117に格納されているプログラム118がマイクロプロセッサ115による実行のためにコピーされる領域、及びマイクロプロセッサ115の各種処理で使用されるワーク領域を提供する。メモリ116はまた、アクセスコマンドログテーブル119及び当該テーブル119内の次にログが保持されるべきエントリ(次エントリ)を指し示すポインタ(次ポインタ)Pが格納される領域も提供する。アクセスコマンドログテーブル119は、複数の論理記憶装置がホスト計算機13に提供される場合、論理記憶装置毎に用意される。本実施形態では、1つの論理記憶装置120がホスト計算機13に提供されるものとする。
The
アクセスコマンドログテーブル119は、当該テーブル119に対応する論理記憶装置120内の記憶領域へのアクセスを要求するホスト計算機13からのアクセスコマンドのログを保持するのに用いられる。図2は、アクセスコマンドログテーブル119のデータ構造例を次ポインタPと対応付けて示す。
The access command log table 119 is used to hold a log of access commands from the
アクセスコマンドログテーブル119は、第0エントリ(エントリ番号が0のエントリ)乃至第Nエントリ(エントリ番号がNのエントリ)のN+1個のエントリを有する。テーブル119の各エントリは、フィールド201,202及び203から構成される。フィールド201,202及び203は、それぞれ、ホスト計算機13からのアクセスコマンド(ライト/リード要求)の指定するアクセス種別であるライト/リードの種別(W/R種別)、先頭アドレス(先頭ブロックアドレス)及び転送サイズ(転送ブロックサイズ)の情報を保持するのに用いられる。
The access command log table 119 has N + 1 entries from the 0th entry (entry whose entry number is 0) to the Nth entry (entry whose entry number is N). Each entry of the table 119 includes
アクセスコマンドログテーブル119のエントリ数N+1、つまりアクセスコマンドログテーブル119に保持可能なログの最大個数N+1は、準備できるメモリ116のメモリ容量やアクセスコマンドの処理頻度などに応じて決定すれば良い。
The number N + 1 of entries in the access command log table 119, that is, the maximum number N + 1 of logs that can be held in the access command log table 119 may be determined according to the memory capacity of the
アクセスコマンドのログは、記憶制御装置11がホスト計算機13からアクセスコマンドを受信した際に、その受信コマンドに基づいて、次ポインタPの指し示す、アクセスコマンドログテーブル119内のエントリに保持される。ここでは、受信コマンドのW/R種別、先頭アドレス(先頭ブロックアドレス)及び転送サイズ(転送ブロックサイズ)が、アクセスコマンドログテーブル119のエントリ内の、それぞれフィールド201,202び203に保持される。また、アクセスコマンドのログは、アクセスコマンドログテーブル119の先頭エントリ(第0エントリ)から順に保持される。ログが最終エントリ(第Nエントリ)まで保持されると、先頭エントリに戻り、改めて先頭エントリから保持される。このように本実施形態では、アクセスコマンドのログ情報がラウンドロビン方式でアクセスコマンドログテーブル119に保持される。つまりアクセスコマンドログテーブル119は、リングバッファとして用いられる。
When the
次ポインタPは、当該次ポインタPで指し示されるアクセスコマンドログテーブル119内のエントリにアクセスコマンドのログが保持されると、次のエントリを示すように更新される。即ち次ポインタPは、第0乃至第N−1エントリの何れかにアクセスコマンドのログが保持された場合には1インクリメントされ、第Nエントリにアクセスコマンドのログが保持された場合には0に戻される。 When the access command log is held in the entry in the access command log table 119 pointed to by the next pointer P, the next pointer P is updated to indicate the next entry. That is, the next pointer P is incremented by 1 when the access command log is held in any of the 0th to (N-1) th entries, and is set to 0 when the access command log is held in the Nth entry. Returned.
図3は、記憶制御装置11内に実現されるデータアクセス処理装置30の構成を示すブロック図である。データアクセス処理装置30は、キャッシュメモリ113へのアクセスを含むデータアクセス処理を行うもので、データアクセス処理ユニット300及びアクセスコマンドログテーブル119から構成される。
FIG. 3 is a block diagram showing a configuration of the data
データアクセス処理ユニット300は、図1に示される記憶制御装置11内のマイクロプロセッサ115がROM117からメモリ(ローカルメモリ)116にコピーされたプログラム118を読み取って実行することにより実現される。データアクセス処理ユニット300は、キャッシュヒット判定部310、類似コマンド抽出部320、アクセス傾向判定部330、データアクセス処理決定部340、データアクセス部350及びテーブル管理部360から構成される。
The data
キャッシュヒット判定部310は、ホスト計算機13から送信されたアクセスコマンド(現アクセスコマンド)でデータのリードが要求されている場合に、要求されたデータがキャッシュメモリ113に存在しているか否か、つまりキャッシュヒット/ミスヒットを判定する。類似コマンド抽出部320は、アクセスコマンドログテーブル119から現アクセスコマンドに類似したコマンド(類似コマンド)のログを抽出する。
The cache hit
アクセス傾向判定部330は、類似コマンド抽出部320によって抽出された類似コマンドのログに基づき、当該類似コマンドに関するホスト計算機13からのアクセスの傾向を判定する。アクセス傾向判定部330は、アクセス再出現率算出部331、アクセス出現率算出部332及び近傍領域決定部333を含む。
Based on the similar command log extracted by the similar
アクセス再出現率算出部331は、上記類似コマンドのログに基づき、当該類似コマンドの指定する記憶領域(同一領域)へのアクセスが再度出現する割合、つまり同一領域へのアクセスの再出現率(同一領域アクセス再出現率)をアクセスの傾向を表す指標として算出する。同一領域アクセス再出現率が高い場合、現アクセスコマンドで指定される記憶領域(指定領域)へのアクセスの再現率も高いこと、つまり指定領域と同一の領域に対するアクセスが近い将来発生する可能性が高いことが予測される。
Based on the log of the similar command, the access reappearance
アクセス出現率算出部332は、上記類似コマンドのログに基づき、当該類似コマンドの指定する記憶領域(指定領域)の近傍の領域(近傍領域)へのアクセスが出現する割合、つまり近傍領域へのアクセスの出現率(近傍領域アクセス出現率)をアクセスの傾向を表す指標として算出する。近傍領域アクセス出現率が高い場合、現アクセスコマンドで指定される記憶領域(指定領域)の近傍領域へのアクセスの出現率も高いこと、つまり指定領域の近傍領域に対するアクセスが近い将来発生する可能性が高いことが予測される。
Based on the log of the similar command, the access appearance
近傍領域決定部333は、上記類似コマンドのログ及び現アクセスコマンドに基づき、当該現アクセスコマンドで指定される記憶領域の近傍領域を決定する。
The neighborhood
データアクセス処理決定部340は、アクセス傾向判定部330によって判定されたアクセスの傾向、即ちアクセス再出現率算出部331によって算出された同一領域アクセス再出現率、アクセス出現率算出部332によって算出された近傍領域アクセス出現率及び近傍領域決定部333によって決定された近傍領域の情報に基づき、現アクセスコマンドに対応するデータアクセス処理を決定する。データアクセス処理は、現アクセスコマンドによって指定される読み出し/書き込みデータを対象とするキャッシュメモリ113へのアクセスを伴う処理、及び現アクセスコマンドの指定する領域(指定領域)の近傍領域のデータを対象とするキャッシュメモリ113へのアクセスを伴う処理の少なくとも一方の処理を含む。
データアクセス処理決定部340は、キャッシュ実行決定部341、先読み決定部342及びデステージング遅延決定部343を含む。
The data access
The data access
キャッシュ実行決定部341は、現アクセスコマンドの指定するアクセス種別(W/R種別)がリード(R)で、且つアクセス再出現率算出部331によって算出された同一領域アクセス再出現率が予め定められた一定値(第1の閾値)以上である場合に、現アクセスコマンドで指定されたデータをキャッシュメモリ113に保持することを決定する。先読み決定部342は、現アクセスコマンドの指定するW/R種別がリード(R)で、且つアクセス出現率算出部332によって算出された近傍領域アクセス出現率が予め定められた一定値(第2の閾値)以上である場合に、現アクセスコマンドの指定する記憶領域の近傍領域(近傍領域決定部333によって決定された近傍領域)のデータをキャッシュメモリ113に先読みすることを決定する。デステージング遅延決定部343は、現アクセスコマンドの指定するW/R種別がライト(W)で、且つアクセス再出現率算出部331によって算出された同一領域アクセス再出現率またはアクセス出現率算出部332によって算出された近傍領域アクセス出現率が閾値(第1の閾値または第2の閾値)以上である場合に、現アクセスコマンドで指定されたデータをキャッシュメモリ113から当該現アクセスコマンドの指定する記憶領域に書き込む処理(デステージング)のタイミングを遅延することを決定する。
The cache
データアクセス部350は、データアクセス処理決定部340(内のキャッシュ実行決定部341、先読み決定部342及びデステージング遅延決定部343)によって決定されたデータアクセス処理を実行する。テーブル管理部360は、アクセスコマンドログテーブル119及び次ポインタPを管理し、ホスト計算機13から送信されたアクセスコマンドのログを次ポインタPの指し示すアクセスコマンドログテーブル119内のエントリに追加する。
The
次に、図3に示されるデータアクセス処理ユニット300により実行されるデータアクセス処理について、リードアクセス処理とライトアクセス処理とに分けて、順次説明する。
まず、データアクセス処理ユニット300において実行されるリードアクセス処理について、図4乃至図7を参照して説明する。図4はリードアクセス処理の手順を示すフローチャート、図5は図4のフローチャートにおける近傍領域決定処理の手順を示すフローチャート、図6は図4のフローチャートにおける第1乃至第4のデータアクセス処理の手順を示すフローチャートである。図7は、近傍領域決定部333による近傍領域決定処理を説明するための図である。
Next, the data access processing executed by the data
First, read access processing executed in the data
今、ホスト計算機30から記憶制御装置11にホスト接続インタフェース21を介してW/R種別がリード(R)であるアクセスコマンド(リードアクセスコマンド、つまりリード要求)が送信されたものとする。このリードアクセスコマンドが記憶制御装置11によって受信されると、当該記憶制御装置11内に実現されるデータアクセス処理ユニット300では、次のようなリードアクセス処理が行われる。
Assume that an access command (read access command, that is, a read request) in which the W / R type is read (R) is transmitted from the
まずデータアクセス処理ユニット300内のキャッシュヒット判定部310は、記憶制御装置11によって受信されたリードアクセスコマンド(現リードアクセスコマンド)で要求されたデータがキャッシュメモリ113に存在するか、つまりキャッシュヒットであるかを判定する(ステップS1)。もし、キャッシュヒットであるならば、データアクセス部350は、現リードアクセスコマンドで要求されたデータをキャッシュメモリ113から直ちに読み出してホスト計算機13に転送する(ステップS2)。するとテーブル管理部360は、現リードアクセスコマンドのログ、即ち現リードアクセスコマンドの指定するW/R種別であるリード(R)、先頭アドレス(先頭ブロックアドレス)及び転送サイズ(転送ブロックサイズ)の各情報を、次ポインタPの指し示すアクセスコマンドログテーブル119内のエントリに追加する(ステップS3)。このステップS3において、テーブル管理部360は次ポインタPを1インクリメントする。これにより、現リードアクセスコマンドに対応するリードアクセス処理は終了する。
First, the cache hit
これに対し、キャッシュヒットでないならば、つまりキャッシュミスヒットならば(ステップS1)、データアクセス処理ユニット300内の類似コマンド抽出部320が動作する。類似コマンド抽出部320は、アクセスコマンドログテーブル119から現リードアクセスコマンドに類似したコマンド(リードアクセスコマンド)のログを抽出する(ステップS3)。
On the other hand, if it is not a cache hit, that is, if it is a cache miss (step S1), the similar
本実施形態では、現リードアクセスコマンドに類似したコマンド(類似コマンド)の判定のための評価尺度として転送サイズが用いられる。ここでは、類似コマンドとして、例えば、W/R種別が同一(R)で、且つ転送サイズが同一のコマンド(第1のタイプの類似コマンド)、或いはW/R種別が同一(R)で、且つ転送サイズが同じ範囲内にあるコマンド(第2のタイプの類似コマンド)を予め定義することが可能である。転送サイズの範囲(転送サイズ範囲)としては、例えば、2KB(キロバイト)未満、2KB以上8KB未満、8KB以上16KB未満、16KB以上64KB未満及び64KB以上等である。また、第1のタイプの類似コマンドの判定のための評価尺度に用いられる転送サイズを、例えば2KB、8KB、16KB及び64KBのみとし、第2のタイプの類似コマンドの判定のための評価尺度に用いられる転送サイズ範囲を、例えば2KB未満、2KB超8KB未満、8KB超16KB未満、16KB超64KB未満及び64KB超とすることにより、第1及び第2のタイプの両類似コマンドを定義することも可能である。 In this embodiment, the transfer size is used as an evaluation measure for determining a command similar to the current read access command (similar command). Here, as similar commands, for example, commands having the same W / R type (R) and the same transfer size (similar commands of the first type), or having the same W / R type (R), and It is possible to predefine a command (second type of similar command) whose transfer size is within the same range. The transfer size range (transfer size range) is, for example, less than 2 KB (kilobytes), 2 KB or more and less than 8 KB, 8 KB or more and less than 16 KB, 16 KB or more and less than 64 KB, or 64 KB or more. The transfer size used for the evaluation scale for determining the first type of similar command is, for example, only 2 KB, 8 KB, 16 KB, and 64 KB, and used for the evaluation scale for determining the second type of similar command. It is also possible to define both similar commands of the first and second types by setting the transfer size range to be less than 2KB, for example, less than 2KB, less than 8KB, more than 8KB, less than 16KB, more than 16KB, less than 64KB and more than 64KB. is there.
類似コマンドの定義は、例えば図1の記憶制御装置11と直接または(ネットワーク等を介して)間接に接続されている端末から当該記憶制御装置11(内のデータアクセス処理ユニット300)に対し、管理者の操作に従って行うことができる。また、ROM117に格納されているプログラム118によって、類似コマンドを定義しても良い。
The definition of the similar command is managed for the storage control device 11 (internal data access processing unit 300) from, for example, a terminal connected directly or indirectly (via a network or the like) to the
本実施形態では、類似コマンドの判定のための評価尺度として、W/R種別及び転送サイズの一致が定義されているものとする。つまり、本実施形態では類似コマンドとして第1のタイプの類似コマンドが定義されているものとする。 In the present embodiment, it is assumed that the W / R type and the transfer size match are defined as an evaluation scale for determining a similar command. That is, in this embodiment, it is assumed that the first type of similar command is defined as the similar command.
今、現アクセスコマンドのW/R種別がリード(R)、転送サイズが4h(単位はブロック)であるものとする。この場合、類似コマンド抽出部320は、図2に示すアクセスコマンドログテーブル119の例では、当該テーブル119から、W/R種別がリード(R)で、且つ転送サイズが4hの情報を含むコマンドのログ、即ちエントリ番号が「0,3,5,8,10,13」のアクセスコマンドログテーブル119内のエントリに格納されている各コマンドのログを、類似コマンドのログとして抽出する(ステップS4)。以下では、説明の簡略化のために、このようなコマンド(類似コマンド)を、エントリ番号が「0,3,5,8,10,13」のアクセスコマンド(またはコマンド)と表現する。他のエントリ番号のアクセスコマンドログテーブル119内のエントリに格納されているアクセスコマンドについても同様である。
Assume that the W / R type of the current access command is read (R) and the transfer size is 4h (unit is block). In this case, in the example of the access command log table 119 illustrated in FIG. 2, the similar
類似コマンド抽出部320によって抽出された類似コマンドのログはアクセス傾向判定部330に渡される。するとアクセス傾向判定部330内のアクセス再出現率算出部331は、抽出された類似コマンドのログに基づき同一領域アクセス再出現率を算出する(ステップS5)。即ちアクセス再出現率算出部331は、抽出された類似コマンドのログに基づき、当該類似コマンドの指定する記憶領域(同一領域)へのアクセスの再現率を同一領域アクセス再出現率として算出する。この例では、エントリ番号「0」と「8」のアクセスコマンド及びエントリ番号「3」と「13」のアクセスコマンドが同一領域へのアクセスを指定している。したがって、同一領域へのアクセスの再出現率(同一領域アクセス再出現率)は、2/6=33%となる。
The log of similar commands extracted by the similar
一方、アクセス傾向判定部330内のアクセス出現率算出部332は、抽出された類似コマンドのログに基づき、近傍領域アクセス出現率を算出する(ステップS6)。即ちアクセス出現率算出部332は、抽出された類似コマンドのログに基づき、当該類似コマンドの指定する記憶領域(同一領域)の近傍の領域(近傍領域)へのアクセスの出現率を近傍領域アクセス出現率として算出する。本実施形態では、近傍領域を、類似コマンドの判定のための評価尺度と同様にして、予め定義することが可能である。ここでは近傍領域として、ある類似コマンドの指定する記憶領域に対して連続している領域が定義されているものとする。このように近傍領域が定義されている場合、図2のアクセスコマンドログテーブル119の例では、エントリ番号が「0,3,5,8,10,13」の何れのコマンドも、互いに同一領域または大きく離れた領域へのアクセスであるため、近傍領域アクセス出現率は0%となる。
On the other hand, the access appearance
もし、上記の例とは異なり、ホスト計算機13からのW/R種別がリード(R)であるアクセスコマンドの転送サイズが100hであったならば、類似コマンド抽出部320は図2に示すアクセスコマンドログテーブル119から、エントリ番号が「2,9,12,14」の各コマンドのログを、類似コマンドのログとして抽出する(ステップS4)。この類似コマンドのログの例では、何れのコマンドの指定する記憶領域も一致しないため、同一領域アクセス再出現率は0%となる(ステップS5)。一方、近傍領域アクセス出現率は、エントリ番号が「2」,「9」,「14」のアクセスコマンドが連続した領域へのアクセスであることから、2/4=50%となる(ステップS6)。なお、ステップS5,S6の処理の順序は本実施形態の逆であっても構わない。
Unlike the above example, if the transfer size of the access command from the
アクセス傾向判定部330内の近傍領域決定部333は、抽出された類似コマンドのログ及び現アクセスコマンドに基づき、当該現リードアクセスコマンドの指定する記憶領域(指定領域)の近傍領域を決定(推定)するための近傍領域決定処理(ステップS7)を実行する。この近傍領域決定部333による近傍領域決定処理(ステップS7)の手順について、図5のフローチャートを参照して説明する。
The neighborhood
まず近傍領域決定部333は、抽出された類似コマンドのログに基づき、現リードアクセスコマンドの指定する転送サイズと一致するサイズの記憶領域の群の中から、連続する記憶領域の群(の組)を特定する(ステップS7a)。このステップS7aの処理では、まず抽出された類似コマンド群の中から、互いに近接した記憶領域(近傍領域)へのアクセスを指定するコマンド群への絞り込みが行われる。そして、絞り込まれたコマンド群によってそれぞれ指定される記憶領域に基づき、連続する記憶領域の群が特定される。
First, the neighborhood
次に近傍領域決定部333は、特定された記憶領域の群に対応する類似コマンド群の中で最初に実行された類似コマンド(先頭の類似コマンド)を特定する(ステップS7b)。そして近傍領域決定部333は、特定された記憶領域の群と、当該記憶領域の群のうちの特定された先頭の類似コマンドに対応する記憶領域と、現リードアクセスコマンドの指定する記憶領域(指定領域)とに基づき、当該指定領域の近傍領域を決定する(ステップS7c)。このステップS7cにおいて近傍領域決定部333は、特定された記憶領域の群のうち特定された先頭の類似コマンドに対応する記憶領域(第1の記憶領域)が上記指定領域と対応していることを前提に、当該指定領域の近傍領域を次のように決定する。
Next, the neighborhood
まず近傍領域決定部333は、特定された記憶領域の群のうちの第1の記憶領域が指定領域と対応するように、当該特定された記憶領域の群からなる領域を論理記憶装置120内の記憶領域(第2の記憶領域)に対応させる。そして近傍領域決定部333は、第2の記憶領域のうち指定領域を除く領域を当該指定領域の近傍領域(現リードアクセスコマンドの指定する記憶領域の近傍領域)として決定する。
First, the neighborhood
近傍領域決定部333によって決定される近傍領域は、特定された記憶領域の群における第1の記憶領域の位置によって3種に分類される。もし、第1の記憶領域が、特定された記憶領域の群の先頭位置の場合、近傍領域は指定領域の後方(アドレスが大きい側)に隣接する記憶領域となる。第1の記憶領域が、特定された記憶領域の群の最終位置の場合、近傍領域は指定領域の前方(アドレスが小さい側)に隣接する記憶領域となる。第1の記憶領域が、特定された記憶領域の群の先頭位置及び最終位置の何れでもない場合、近傍領域は、指定領域の前方に隣接する記憶領域と後方に隣接する記憶領域の2つの領域となる。
The neighborhood area determined by the neighborhood
ここで、特定された記憶領域の群のうちの上記第1の記憶領域(先頭の類似コマンドに対応する記憶領域)が指定領域と対応していることを前提とする理由について説明する。本実施形態では、指定領域のデータがキャッシュメモリ113に保持されていないキャッシュミスヒットの場合で、且つアクセス出現率算出部332によって算出された近傍領域アクセス出現率が予め定められた一定値(第2の閾値)以上の場合、後述するように当該指定領域の近傍領域のデータがキャッシュメモリ113に先読みされる。このため、もしも特定された記憶領域の群のうちの第1の記憶領域以外の領域(第3の領域)が指定領域と対応しているならば、現リードアクセスコマンドの実行時には、当該指定領域を含む近傍領域のデータが既にキャッシュメモリ113に先読みされていることとなって、キャッシュヒットとなるはずである。したがって、現リードアクセスコマンドの実行時にキャッシュミスヒットとなるのは、特定された記憶領域の群のうちの第1の記憶領域が指定領域と対応していることを意味する。
Here, the reason why it is assumed that the first storage area (the storage area corresponding to the first similar command) in the group of specified storage areas corresponds to the designated area. In the present embodiment, when the data in the designated area is a cache miss that is not held in the
ここで、近傍領域決定部333によって決定される近傍領域について、図7を参照して詳細に説明する。図7(a)乃至(c)に示される連続する記憶領域71、記憶領域72及び記憶領域73は同一サイズであり、上記特定された記憶領域の群を表す。図7では、記憶領域71、記憶領域72及び記憶領域73の順でアドレスが大きくなるものとする。
Here, the neighborhood area determined by the neighborhood
図7(a),(b)及び(c)において、それぞれハッチングが施されていない記憶領域71,72及び73は、その記憶領域に対応する類似コマンドが、3つの記憶領域71乃至73に対応する類似コマンドの群の中で最初に実行されていることを示す。つまり、記憶領域71,72及び73のうちのハッチングが施されていない記憶領域は上記第1の記憶領域を示す。
7A, 7 </ b> B, and 7 </ b> C, in the
また、図7(a),(b)及び(c)には、記憶領域71,72及び73と対応付けられる記憶領域710,720及び730が示されている。図7(a),(b)及び(c)において、それぞれハッチングが施されていない記憶領域710,720及び730は指定領域を示す。図7(a),(b)及び(c)では、特定された記憶領域71乃至73のうちのハッチングが施されていない記憶領域(第1の記憶領域)が、記憶領域710,720及び730のうちのハッチングが施されていない指定領域と対応するように、記憶領域71乃至73からなる記憶領域74が、記憶領域710,720及び730からなる記憶領域(第2の記憶領域)740に対応付けられている。
7A, 7B, and 7C
図7(a)では、記憶領域720及び730が、記憶領域71乃至73のうち記憶領域(第1の記憶領域)71を除く記憶領域72及び73に対応する。そこで図7(a)の場合、記憶領域720及び730からなる記憶領域(ハッチングが施された記憶領域)が近傍領域750として決定される。図7(b)では、記憶領域710及び730が、記憶領域71乃至73のうち記憶領域(第1の記憶領域)72を除く記憶領域71及び73に対応する。そこで図7(b)の場合、記憶領域(ハッチングが施された記憶領域)710及び730がそれぞれ近傍領域760及び770として決定される。図7(c)では、記憶領域710及び720が、記憶領域71乃至73のうち記憶領域(第1の記憶領域)73を除く記憶領域71及び72に対応する。そこで図7(c)の場合、記憶領域710及び720からなる記憶領域(ハッチングが施された記憶領域)が近傍領域780として決定される。
In FIG. 7A, the
ここで、近傍領域決定部333による近傍領域決定処理の具体例について説明する。ここでは、上述のように、エントリ番号が「2,9,12,14」の各コマンドのログが類似コマンドのログとして抽出されたものとする。この場合、エントリ番号が「2,9,14」の各コマンドで指定された連続する3つの記憶領域、即ち先頭アドレスが2800h、サイズが100hの記憶領域、先頭アドレスが2900h、サイズが100hの記憶領域、及び先頭アドレスが3A00h、サイズが100hの記憶領域が特定される(ステップS7a)。また、エントリ番号が「2,9,14」の各コマンドのうち、エントリ番号が「2」のコマンドが先頭類似コマンドとして特定される(ステップS7b)。
Here, a specific example of the neighborhood region determination process by the neighborhood
そして、特定された3つの記憶領域のうち、先頭類似コマンドに対応する先頭アドレスが2800h、サイズが100hの記憶領域(第1の記憶領域)が、現リードアクセスコマンドの指定するサイズ100hの領域(指定領域)と対応するように、当該特定された3つの記憶領域からなるサイズ300hの記憶領域(つまり先頭アドレスが2800h、サイズが300hの記憶領域)が、現リードアクセスコマンドの指定するサイズ100hの領域(指定領域)を含むサイズ300hの記憶領域(第2の記憶領域)に対応させられる。この場合、図7(c)と同様に、指定領域の後方で当該指定領域に隣接するサイズ200hの記憶領域が近傍領域として決定される(ステップS7c)。
Of the three specified storage areas, the storage area (first storage area) having a head address corresponding to the head similar command of 2800h and size of 100h (first storage area) is an area of
なお、上記の例では、抽出された類似コマンドのログに基づいて特定される連続する記憶領域の群の組が1つである。しかし、このような連続する記憶領域の群の組が複数特定されることもある。このような場合、これらの複数の組のサイズの平均値を連続する記憶領域の群及び第2の記憶領域のサイズとすれば良い。 In the above example, there is one set of groups of continuous storage areas specified based on the extracted log of similar commands. However, a plurality of sets of such groups of continuous storage areas may be specified. In such a case, an average value of the sizes of the plurality of sets may be set as the size of the group of continuous storage areas and the size of the second storage area.
また、W/R種別が同一で、且つ転送サイズが同じ転送サイズ範囲内にあるコマンドを類似コマンド(第2のタイプの類似コマンド)として抽出する場合には、図7に示される記憶領域71乃至73及び710乃至730に代えて、当該記憶領域71乃至73及び710乃至730がそれぞれ属する転送サイズ範囲に対応する記憶領域を用いれば良い。
When extracting commands having the same W / R type and the same transfer size within the same transfer size range as similar commands (second type of similar commands), the
さて、近傍領域決定部333によって決定された近傍領域の先頭アドレス及びサイズは、それぞれ近傍領域の情報をなす先読み先頭アドレス及び先読みサイズとして、データアクセス処理決定部340に通知される。先読み先頭アドレス及び先読みサイズは、後述する第1のデータアクセス処理(ステップS11)または第3のデータアクセス処理(ステップS13)が実行される場合に、当該データアクセス処理で用いられる。
Now, the start address and size of the neighborhood area determined by the neighborhood
アクセス再出現率算出部331及びアクセス出現率算出部332によってそれぞれ算出された同一領域アクセス再出現率及び近傍領域アクセス出現率、並びに近傍領域決定部333によって決定された近傍領域の情報(先読み先頭アドレス及び先読みサイズの情報)は、データアクセス処理決定部340に通知される。するとデータアクセス処理決定部340内のキャッシュ実行決定部341は、現アクセスコマンドのW/R種別がリード(R)の場合、同一領域アクセス再出現率が予め定められた第1の閾値以上であるかを判定する(ステップS8)。キャッシュ実行決定部341は、この判定結果に基づき、現アクセスコマンドで指定されてキャッシュメモリ113に格納されたデータを当該キャッシュメモリ113に保持するか否か(削除するか)を決定する。
Same-area access recurrence rate and neighboring region access appearance rate calculated by the access recurrence
一方、データアクセス処理決定部340内の先読み決定部342は、同一領域アクセス再出現率が第1の閾値未満である場合または第1の閾値以上である場合のそれぞれにおいて、近傍領域アクセス出現率が予め定められた第2の閾値以上であるかを判定する(ステップS9またはS10)。先読み決定部342は、この判定結果に基づき、現アクセスコマンドの指定する記憶領域の近傍領域のデータをキャッシュメモリ113に先読みするか否かを決定する。
On the other hand, the
以上のキャッシュ実行決定部341及び先読み決定部342の決定結果(判定結果)は、データアクセス処理決定部340によってデータアクセス部350に通知される。するとデータアクセス部350は、通知された決定結果に基づき、第1のデータアクセス処理(ステップS11)、第2のデータアクセス処理(ステップS12)、第3のデータアクセス処理(ステップS13)及び第4のデータアクセス処理(ステップS14)の何れか1つを実行する。
The data access
まず、同一領域アクセス再現率が第1の閾値未満(ステップS8がNO)で、近傍領域アクセス出現率が第2の閾値以上(ステップS9がYES)であるために、現アクセスコマンドで指定されたデータ(指定データ)のキャッシュメモリ113からの削除と近傍領域のデータの先読みとが決定された場合、第1のデータアクセス処理(ステップS11)が実行される。次に、同一領域アクセス再出現率が第1の閾値未満(ステップS8がNO)で、近傍領域アクセス出現率が第2の閾値未満(ステップS9がNO)であるために、指定データのキャッシュメモリ113からの削除と近傍領域のデータの先読み無しとが決定された場合、第2のデータアクセス処理(ステップS12)が実行される。次に、同一領域アクセス再出現率が第1の閾値以上(ステップS8がYES)で、近傍領域アクセス出現率が第2の閾値以上(ステップS10がYES)であるために、指定データのキャッシュメモリ113への保持と近傍領域のデータの先読みとが決定された場合、第3のデータアクセス処理(ステップS13)が実行される。そして、同一領域アクセス再出現率が第1の閾値以上(ステップS8がYES)で、近傍領域アクセス出現率が第2の閾値未満(ステップS10がNO)であるために、指定データのキャッシュメモリ113への保持と近傍領域のデータの先読み無しとが決定された場合、第4のデータアクセス処理(ステップS14)が実行される。
First, because the same area access recall is less than the first threshold (step S8 is NO) and the neighboring area access appearance rate is greater than or equal to the second threshold (step S9 is YES), it is specified by the current access command. When deletion of data (designated data) from the
ここで、第1及び第2の閾値が何れも30%であるとすると、前述の転送サイズが4hのリードアクセスコマンドの場合、同一領域アクセス再出現率は第1の閾値以上、近傍領域アクセス出現率は第2の閾値未満となる。この場合、第4のデータアクセス処理(ステップS14)が実行される。これに対して、前述の転送サイズが100hのリードアクセスコマンド場合、同一領域アクセス再出現率は第1の閾値未満、近傍領域アクセス出現率は第2の閾値以上となる。この場合、第1のデータアクセス処理(ステップS11)が実行される。 Here, if both the first and second threshold values are 30%, the same area access reappearance rate is equal to or greater than the first threshold value and the appearance of neighboring area accesses in the case of the read access command with the transfer size of 4h described above. The rate is less than the second threshold. In this case, the fourth data access process (step S14) is executed. On the other hand, in the case of the above-described read access command with a transfer size of 100h, the same area access reappearance rate is less than the first threshold value, and the neighboring area access appearance rate is greater than or equal to the second threshold value. In this case, the first data access process (step S11) is executed.
ステップS11〜S14のデータアクセス処理の何れか1つが実行されると、テーブル管理部360はステップS2が実行された場合と同様に、前記ステップS3を実行する。
When any one of the data access processes in steps S11 to S14 is executed, the
次に上記各データアクセス処理(ステップS11〜S14)について順次説明する。
まず、第1のデータアクセス処理(ステップS11)について、図6(a)のフローチャートを参照して説明する。第1のデータアクセス処理は、同一領域アクセス再出現率が低く、近傍領域アクセス出現率が高い場合の処理である。
Next, each data access process (steps S11 to S14) will be described sequentially.
First, the first data access process (step S11) will be described with reference to the flowchart of FIG. The first data access process is a process when the same area access re-appearance rate is low and the vicinity area access appearance rate is high.
同一領域アクセス再出現率が低い場合、現リードアクセスコマンドに基づいて論理記憶装置120から読み出されたデータが、ホスト計算機13から新たに送信されるリードアクセスコマンドで再度読み出される可能性は低いと予測される。したがって、現リードアクセスコマンドに基づいて読み出されたデータをキャッシュメモリ113に保持しておいたとしても、近い将来当該データにキャッシュヒットすることは期待できない。
When the same area access reappearance rate is low, it is unlikely that the data read from the
一方、近傍領域アクセス出現率が高い場合、現リードアクセスコマンドの指定する記憶領域(指定領域)の近傍領域へのアクセスが発生する可能性が高いと予測される。したがって、指定領域の近傍領域のデータをキャッシュメモリ113に先読みして当該キャッシュメモリ113に保持するならば、近い将来当該近傍領域のデータにキャッシュヒットすることが期待できる。
On the other hand, when the neighborhood area access appearance rate is high, it is predicted that there is a high possibility of access to the neighborhood area of the storage area (designated area) designated by the current read access command. Therefore, if the data in the vicinity area of the designated area is prefetched into the
そこでデータアクセス部350は、第1のデータアクセス処理において、現リードアクセスコマンドによって指定された論理記憶装置120内の記憶領域(指定領域)のデータ(ホスト計算機13から要求されたデータ)をキャッシュメモリ113に読み込むと共に、近傍領域決定部333によって決定された(先読み先頭アドレス及び先読みサイズで示される)近傍領域のデータ(先読みサイズ分のデータ)をキャッシュメモリ113に先読みする(ステップS11a)。即ちデータアクセス部350は、「ホスト計算機13からの要求サイズ+先読みサイズ」分のデータをキャッシュメモリ113に読み込む。
Therefore, in the first data access process, the
次に、データアクセス部350は、キャッシュメモリ113に読み込まれたデータのうち、ホスト計算機13から要求されたデータを当該ホスト計算機13に転送する(ステップS11b)。データアクセス部350は、このデータの転送後、直ちに当該データをキャッシュメモリ113から削除して、当該データが保持されていたキャッシュメモリ113内の領域を解放する(ステップS11c)。これにより第1のデータアクセス処理は終了する。
Next, the
ステップS11cの処理の結果、再度読み出される可能性が低いデータによってキャッシュメモリ113内の領域が占有される無駄を無くすことができる。一方、キャッシュメモリ113に先読みされた、ホスト計算機13からのアクセスが発生する可能性が高い近傍領域のデータは当該キャッシュメモリ113に保持されているため、当該データがホスト計算機13から要求された場合に、直ちに当該データをホスト計算機13に転送することができる。
As a result of the processing in step S11c, it is possible to eliminate waste of occupying the area in the
このように本実施形態においては、キャッシュメモリ113の限られた領域(キャッシュメモリリソース)を、より効果の高いアクセスに対し優先的に割り当てることにより、当該キャッシュメモリ113の最良の効果を得ることができる。しかも、より効果の高いアクセスである(つまり、同一領域アクセス再出現率、或いは近傍領域アクセス出現率が高い)かの判定には、現アクセスコマンドそれ自体を含むコマンド列の指定するアクセスの傾向ではなくて、アクセスコマンドログテーブル119から抽出された現アクセスコマンドに類似のコマンドのアクセス傾向が用いられる。このため、ホスト計算機13からのアクセスが同時期に多種多様に混在して存在する場合であっても、少ないアクセスコマンド列(特許文献2に記載された先読み閾値より少ない回数)で完結するようなシーケンシャルアクセスであっても、キャッシュメモリ113へのアクセスを伴う、現アクセスコマンドに対応する最適なデータアクセス処理を簡単に決定することができる。また、ホスト計算機13からのアクセスが同時期に多種多様に混在して存在する場合に容易に対応できるため、論理記憶装置が大容量化しても、特許文献1に記載の技術で適用される統計情報に相当するアクセスコマンドのログを保持するアクセスコマンドログテーブルに必要な記憶容量の増加を抑えることができる。
As described above, in the present embodiment, the best effect of the
次に、第2のデータアクセス処理(ステップS12)について、図6(b)のフローチャートを参照して説明する。第2のデータアクセス処理は、同一領域アクセス再出現率が低く、且つ近傍領域アクセス出現率も低い場合の処理である。同一領域アクセス再出現率が低い場合、前述したように現リードアクセスコマンドに基づいて読み出されたデータが近い将来再度読み出される可能性は低い。また、近傍領域アクセス出現率が低い場合、指定領域の近傍領域へのアクセスが近い将来発生する可能性も低い。 Next, the second data access process (step S12) will be described with reference to the flowchart of FIG. The second data access process is a process when the same area access reappearance rate is low and the vicinity area access appearance rate is also low. When the same area access reappearance rate is low, as described above, it is unlikely that data read based on the current read access command will be read again in the near future. In addition, when the neighborhood area access appearance rate is low, it is unlikely that access to the neighborhood area of the designated area will occur in the near future.
そこでデータアクセス部350は、第2のデータアクセス処理において、現リードアクセスコマンドによって指定された論理記憶装置120内の記憶領域(指定領域)のデータ(ホスト計算機13から要求されたデータ)のみをキャッシュメモリ113に読み込む(ステップS12a)。
Therefore, in the second data access process, the
次に、データアクセス部350は、キャッシュメモリ113に読み込まれたデータ(ホスト計算機13から要求されたデータ)をホスト計算機13に転送する(ステップS12b)。データアクセス部350は、このデータの転送後、直ちに当該データをキャッシュメモリ113から削除して、当該データが保持されていたキャッシュメモリ113内の領域を解放する(ステップS12c)。これにより第2のデータアクセス処理は終了する。
Next, the
次に、第3のデータアクセス処理(ステップS13)について、図6(c)のフローチャートを参照して説明する。第3のデータアクセス処理は、同一領域アクセス再出現率が高く、且つ近傍領域アクセス出現率も高い場合の処理である。同一領域アクセス再出現率が高い場合、現リードアクセスコマンドに基づいて読み出されたデータが近い将来再度読み出される可能性が高い。また、近傍領域アクセス出現率が高い場合、前述したように指定領域の近傍領域へのアクセスが近い将来発生する可能性も高い。 Next, the third data access process (step S13) will be described with reference to the flowchart of FIG. The third data access process is a process when the same area access reappearance rate is high and the vicinity area access appearance rate is also high. If the same area access reappearance rate is high, there is a high possibility that data read based on the current read access command will be read again in the near future. Further, when the neighborhood area access appearance rate is high, it is highly likely that access to the neighborhood area of the designated area will occur in the near future as described above.
そこでデータアクセス部350は、第3のデータアクセス処理において、先の第1のデータアクセス処理と同様に、現リードアクセスコマンドによって指定された論理記憶装置120内の記憶領域(指定領域)のデータをキャッシュメモリ113に読み込むと共に、近傍領域決定部333によって決定された(先読み先頭アドレス及び先読みサイズで示される)近傍領域のデータをキャッシュメモリ113に先読みする(ステップS13a)。
Therefore, in the third data access process, the
次に、データアクセス部350は、キャッシュメモリ113に読み込まれたデータのうち、ホスト計算機13から要求されたデータを当該ホスト計算機13に転送する(ステップS13b)。これにより第3のデータアクセス処理は終了する。このように第3のデータアクセス処理では、ホスト計算機13から要求された指定領域のデータがキャッシュメモリ113に保持されると共に、その近傍領域のデータが当該キャッシュメモリ113に先読みされる。
Next, the
次に、第4のデータアクセス処理(ステップS14)について、図6(d)のフローチャートを参照して説明する。第4のデータアクセス処理は、同一領域アクセス再出現率が高く、近傍領域アクセス出現率が低い場合の処理である。このような場合、指定領域から読み出されたデータが近い将来再度読み出される可能性は高いものの、その近傍領域へのアクセスが近い将来発生する可能性は低い。 Next, the fourth data access process (step S14) will be described with reference to the flowchart of FIG. The fourth data access process is a process when the same area access re-appearance rate is high and the vicinity area access appearance rate is low. In such a case, there is a high possibility that data read from the designated area will be read again in the near future, but it is unlikely that access to the neighboring area will occur in the near future.
そこでデータアクセス部350は、第4のデータアクセス処理において、現リードアクセスコマンドによって指定された論理記憶装置120内の記憶領域(指定領域)のデータ(ホスト計算機13から要求されたデータ)のみをキャッシュメモリ113に読み込む(ステップS14a)。
Therefore, in the fourth data access process, the
次に、データアクセス部350は、キャッシュメモリ113に読み込まれたデータ(ホスト計算機13から要求されたデータ)をホスト計算機13に転送する(ステップS14b)。これにより第4のデータアクセス処理は終了する。
Next, the
上述のように本実施形態においては、キャッシュヒットの期待できるデータを優先的にキャッシュメモリ113に保持し、また、後にアクセスされることが期待されるデータを先行して論理記憶装置120から読み出し、キャッシュメモリ113に保持しておくことにより、キャッシュメモリ113の限られた記憶領域(キャッシュメモリリソース)を有効活用し、キャッシュヒット率を向上させ、その結果アクセス性能を向上させることができる。
As described above, in the present embodiment, data that can be expected to have a cache hit is preferentially held in the
次に、データアクセス処理ユニット300において実行されるライトアクセス処理について、図8のフローチャートを参照して説明する。
今、ホスト計算機30から記憶制御装置11にホスト接続インタフェース21を介してW/R種別がライト(W)であるアクセスコマンド(ライトアクセスコマンド、つまりライト要求)が送信されたものとする。このライトアクセスコマンドが記憶制御装置11によって受信されると、データアクセス処理ユニット300では、次のようなライトアクセス処理が行われる。
Next, write access processing executed in the data
Assume that an access command (write access command, that is, a write request) whose W / R type is write (W) is transmitted from the
まず類似コマンド抽出部320が、先に述べたリードアクセスコマンドの場合と同様に、アクセスコマンドログテーブル119から現ライトアクセスコマンドに類似したコマンド(ライトアクセスコマンド)のログを抽出する(ステップS21)。
First, the similar
するとアクセス傾向判定部330内のアクセス再出現率算出部331は、抽出された類似コマンドのログに基づき同一領域アクセス再出現率を算出する(ステップS22)。一方、アクセス傾向判定部330内のアクセス出現率算出部332は、抽出された類似コマンドのログに基づき、近傍領域アクセス出現率を算出する(ステップS23)。これらのステップS22及びS23は、前述のリードアクセス処理におけるステップS5及びS6と同様に行われる。
Then, the access reappearance
データアクセス処理決定部340内のデステージング遅延決定部343は、現アクセスコマンドのW/R種別がライト(W)の場合、アクセス再出現率算出部331によって算出された同一領域アクセス再出現率またはアクセス出現率算出部332によって算出された近傍領域アクセス出現率が、それぞれ第1の閾値または第2の閾値(ここでは、第1の閾値=第2の閾値)以上であるかを判定する(ステップS24)。
When the W / R type of the current access command is write (W), the destaging
もし、同一領域アクセス再出現率または近傍領域アクセス出現率が閾値(第1の閾値または第2の閾値)以上の場合、現アクセスコマンドで指定される記憶領域(指定領域)と同一の領域または近傍領域に対するアクセスが近い将来発生する可能性が高いことが予測される。 If the same area access reappearance rate or neighborhood area access appearance rate is equal to or greater than a threshold (first threshold or second threshold), the same area or neighborhood as the storage area (specified area) specified by the current access command It is predicted that access to the area is likely to occur in the near future.
そこでデステージング遅延決定部343は、ステップS24での判定結果に基づき、ホスト計算機13からの現ライトアクセスコマンドで指定されたライトデータをキャッシュメモリ113に格納した後に当該ライトデータを論理記憶装置120(を構成するHDD12)に書き込む処理(デステージング)を、遅延させるか直ちに実行させるかを決定する。具体的には、同一領域アクセス再出現率または近傍領域アクセス出現率が閾値以上の場合(テップS24のYES)、デステージング遅延決定部343は、デステージングの遅延を決定する。これに対して、同一領域アクセス再出現率または近傍領域アクセス出現率が閾値未満の場合(ステップS24のNO)、デステージング遅延決定部343は、デステージングを直ちに実行させることを決定する。
Accordingly, the destaging
デステージング遅延決定部343による決定結果(判定結果)はデータアクセス部350に通知される。するとデータアクセス部350は、通知された決定結果に基づき、ステップS25及びS26の何れか一方を次のように実行する。
The determination result (determination result) by the destaging
まず、同一領域アクセス再出現率が閾値(第1の閾値)以上であると判定された結果、デステージングの遅延が決定されたものとする。この場合、データアクセス部350は、論理記憶装置120へのデステージングを遅延するモード(第1のモード)で、ホスト計算機13からの現ライトアクセスコマンドで指定されたライトデータをキャッシュメモリ113に格納する(ステップS25)。これにより、現ライトアクセスコマンドで指定された記憶領域(指定領域)と同一の領域に対するライトアクセスが発生する可能性が高いために、キャッシュメモリ113から論理記憶装置120内の当該同一の領域へのデータのデステージングの回数(書き込み回数)が増加するのを防止できる。
First, it is assumed that the destaging delay is determined as a result of determining that the same area access re-appearance rate is equal to or greater than a threshold (first threshold). In this case, the
同様に、近傍領域アクセス出現率が閾値以上であると判定された結果、デステージングの遅延が決定されたものとする。この場合も、データアクセス部350は、上記第1のモード(論理記憶装置120へのデステージングを遅延するモード)で、ホスト計算機13からの現ライトアクセスコマンドで指定されたライトデータをキャッシュメモリ113に格納する(ステップS25)。これにより、現ライトアクセスコマンドで指定された記憶領域(指定領域)の近傍領域に対するライトアクセスが発生した場合に、キャッシュメモリ113から論理記憶装置120内の当該指定領域及び近傍領域へ一括してデータを書き込むことが可能となり、デステージングの回数(書き込み回数)を削減することができる。
Similarly, it is assumed that the destaging delay is determined as a result of determining that the neighborhood area access appearance rate is equal to or higher than the threshold. Also in this case, the
一般に論理記憶装置120(を構成するHDD12)はホスト計算機13やキャッシュメモリ113に比べ性能が低いため、アクセスの負荷が高くなると、当該記憶装置120へのアクセスがボトルネックとなることが多い。このため、論理記憶装置120への書き込み回数を削減することは、アクセス性能の向上に寄与する。また、ライトデータがキャッシュメモリ113に保持される期間が長くなるため、当該データのリードを要求するリードアクセスコマンドがホスト計算機13から送られた場合にはキャッシュヒットとなって、当該ホスト計算機13に対して高速に応答できる効果もある。
In general, since the performance of the logical storage device 120 (the
これに対し、同一領域アクセス再出現率及び近傍領域アクセス出現率の何れも閾値以下であると判定された結果、デステージングを直ちに行うことが決定されたものとする。この場合、データアクセス部350は、論理記憶装置120へのデステージングを直ちに行うモード(第2のモード)で、ホスト計算機13からの現ライトアクセスコマンドで指定されたライトデータをキャッシュメモリ113に格納する(ステップS26)。第2のモードでは、キャッシュメモリ113に格納されたライトデータのデステージングが直ちに行われた後に、当該データがキャッシュメモリ113から削除されて、当該データが保持されていたキャッシュメモリ113内の領域が解放される。
On the other hand, as a result of determining that both the same region access reappearance rate and the neighboring region access appearance rate are equal to or less than the threshold value, it is determined that the destaging is performed immediately. In this case, the
同一領域アクセス再出現率及び近傍領域アクセス出現率の何れも閾値以下の場合、近い将来に同一領域または近傍領域へのアクセスが発生することは期待できない。このような場合に、現ライトアクセスコマンドで指定されたライトデータをキャッシュメモリ113に保持しておくことは当該キャッシュメモリ113の利用効率を低下させる。しかし本実施形態では、上記第2のモードでライトデータがキャッシュメモリ113に格納される(ステップS26)。このため、キャッシュメモリ113に格納されたライトデータのデステージングが直ちに行われ、しかる後に当該データがキャッシュメモリ113から削除されて、当該キャッシュメモリ113内の対応する領域が解放される。これにより、キャッシュメモリ113の利用効率の低下を防止できる。
When both the same area access reappearance rate and the neighboring area access appearance rate are equal to or less than the threshold value, it cannot be expected that the same area or the neighboring area will be accessed in the near future. In such a case, holding the write data designated by the current write access command in the
ステップS25及びS26の何れか一方が実行されると、テーブル管理部360は、現ライトアクセスコマンドのログ、即ち現ライトアクセスコマンドの指定するW/R種別であるライト(W)、先頭アドレス及び転送サイズの各情報を、次ポインタPの指し示すアクセスコマンドログテーブル119内のエントリに追加する(ステップS27)。このステップS27において、テーブル管理部360は次ポインタPを1インクリメントする。これにより、現ライトアクセスコマンドに対応するライトアクセス処理は終了する。
When one of steps S25 and S26 is executed, the
なお、アクセス傾向判定部330がアクセス再出現率算出部331及びアクセス出現率算出部332のいずれか一方のみを有していても構わない。もし、アクセス傾向判定部330がアクセス再出現率算出部331のみを有している場合のリードアクセス処理では、データアクセス処理決定部340は、同一領域アクセス再出現率に応じて第2のデータアクセス処理または第4のデータアクセス処理を決定すれば良い。同様に、アクセス傾向判定部330がアクセス出現率算出部332のみを有している場合のリードアクセス処理では、データアクセス処理決定部340は、近傍領域アクセス出現率に応じて第3のデータアクセス処理または第4のデータアクセス処理を決定すれば良い。
Note that the access
[変形例]
次に上記実施形態の変形例について説明する。この変形例の特徴は、論理記憶装置120の記憶領域を複数のゾーンに分割し、ゾーン毎に、上記実施形態で適用された、類似コマンドの抽出を含む処理を適用することにある。
[Modification]
Next, a modification of the above embodiment will be described. The feature of this modified example is that the storage area of the
図9は、複数のゾーンに分割された論理記憶装置120と当該複数のゾーンを管理するためのゾーン管理テーブル90とを示す。図9の例では、論理記憶装置120の記憶領域はM+1個のゾーンZ0(#0),Z1(#1),Z2(#2),…ZM(#M)に分割して管理される。ここでゾーンZ0〜ZMのサイズは均等でも均等でなくても構わない。もし、論理記憶装置120内の部分的な領域毎に予め用途が定められているならば、その領域毎にゾーンを定義すると良い。
FIG. 9 shows a
ゾーン管理テーブル90は、論理記憶装置120のゾーン数に一致するM+1個のエントリを有する。ゾーン管理テーブル90のエントリ番号i(i=0〜M)のエントリは、当該エントリ番号iに一致するゾーン番号iのゾーンZiの情報(ゾーン情報)を保持するのに用いられる。ゾーン管理テーブル90の各エントリは、フィールド91及び92から構成される。テーブル90のエントリ番号i(i=0〜M)のエントリのフィールド91及び92は、それぞれゾーン番号iのゾーンZiの先頭アドレス(先頭ブロックアドレス)及びサイズ(ブロックサイズ)の情報を保持するのに用いられる。
The zone management table 90 has M + 1 entries that match the number of zones in the
上述のように、ゾーン管理テーブル90のエントリ番号iのエントリは、当該エントリ番号iに一致するゾーン番号iのゾーンZiの情報を保持するのに用いられる。したがって、ゾーン管理テーブル90の各エントリに、対応するゾーンZiのゾーン番号を保持するフィールドが確保されていなくても、当該エントリのエントリ番号iから対応するゾーンZiを特定できる。勿論、ゾーン管理テーブル90の各エントリに、対応するゾーンZiのゾーン番号を保持するフィールドが確保されていても構わない。 As described above, the entry of the entry number i in the zone management table 90 is used to hold information on the zone Zi of the zone number i that matches the entry number i. Therefore, even if each entry in the zone management table 90 does not have a field for holding the zone number of the corresponding zone Zi, the corresponding zone Zi can be specified from the entry number i of the entry. Of course, each entry of the zone management table 90 may have a field for holding the zone number of the corresponding zone Zi.
本変形例では、ゾーンZ0〜ZM毎に、図2に示される構造のアクセスコマンドログテーブル119が用意される。類似コマンド抽出部320は、ホスト計算機13からのアクセスコマンドに基づいて類似コマンドのログを抽出する場合、ゾーン管理テーブル90を参照して、当該アクセスコマンドで指定されるアクセスコマンドログテーブル119内の記憶領域(指定領域)がゾーンZ0〜ZMのうちの何れのゾーンに属しているかを判定する。類似コマンド抽出部320は、判定されたゾーンに対応するアクセスコマンドログテーブル119に基づいて、類似コマンドのログを抽出する。
In this modification, an access command log table 119 having a structure shown in FIG. 2 is prepared for each of the zones Z0 to ZM. When extracting a similar command log based on an access command from the
このように、ゾーン毎に、上記実施形態で適用された、類似コマンドの抽出を含む処理を適用することにより、アクセスの傾向に局所性のあるような場合は、同一領域アクセス再出現率及び近傍領域アクセス出現率の判定の精度を向上させる効果が期待できる。 In this way, by applying the processing including extraction of similar commands, which is applied in the above embodiment, for each zone, when there is locality in the access tendency, the same region access reappearance rate and the neighborhood The effect of improving the accuracy of determining the area access appearance rate can be expected.
なお、ホスト計算機13に複数の論理記憶装置が提供される場合には、論理記憶装置毎にゾーン管理テーブル90を用意して、論理記憶装置毎で且つゾーン毎にアクセスコマンドログテーブル119を用意すれば良い。
When a plurality of logical storage devices are provided to the
本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。 The present invention is not limited to the above-described embodiment or its modification as it is, and can be embodied by modifying the components without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment or its modification. For example, you may delete a some component from all the components shown by embodiment or its modification.
11…記憶制御装置、12…HDD(記憶装置)、13…ホスト計算機、30…データアクセス処理装置、90…ゾーン管理テーブル、113…キャッシュメモリ、115…マイクロプロセッサ、116…メモリ(ローカルメモリ)、117…ROM、118…プログラム、119…アクセスコマンドログテーブル、120…論理記憶装置、300…データアクセス処理ユニット、310…キャッシュヒット判定部、320…類似コマンド抽出部、330…アクセス傾向判定部、331…アクセス再出現率算出部、332…アクセス出現率算出部、333…近傍領域決定部、340…データアクセス処理決定部、341…キャッシュ実行決定部、342…先読み決定部、343…デステージング遅延決定部、350…データアクセス部、360…テーブル管理部。
DESCRIPTION OF
Claims (10)
前記ホスト計算機から前記記憶制御装置に与えられる今回処理されるべき現アクセスコマンドに基づき前記アクセスコマンドログテーブルを参照することにより、当該現アクセスコマンドと同一アクセス種別で、且つ当該現アクセスコマンドと同一転送サイズまたは同一転送サイズ範囲の全てのアクセスコマンドのログを、当該現アクセスコマンドと特徴が類似した類似コマンドのログとして抽出するステップと、
前記抽出された類似コマンドのログに基づき、前記抽出された類似コマンドの数に対する、同一領域を指定する類似コマンドの数の割合を、前記同一領域へのアクセスが再度出現する割合である同一領域アクセス再出現率として算出するステップと、
前記算出された同一領域アクセス再出現率が予め定められた第1の閾値以上であるかに基づいて前記現アクセスコマンドの指定する領域へのアクセスの再現率が高いかを予測して、その予測結果に基づき、前記現アクセスコマンドに対応するデータアクセス処理であって、前記現アクセスコマンドによって指定される読み出し/書き込みデータを対象とする前記キャッシュメモリへのアクセスを伴う処理を含むデータアクセス処理を決定するステップと、
前記決定されたデータアクセス処理を実行するステップと、
前記現アクセスコマンドのログを前記アドレスコマンドログテーブルに追加するステップと
を具備することを特徴とするデータアクセス処理方法。 A host computer and at least one storage device are connected, and a logical storage device is provided to the host computer using a part or all of the storage device, and between the host computer and the storage device. A cache memory faster than the storage device for temporarily storing read / write data designated by the access command from the host computer, and an access type designated by the access command, And an access command log table for holding, as a log of the access command, a start address indicating an area in the logical storage device specified by the access command and information on a transfer size or a transfer size range to which the transfer size belongs. The host executed in the storage controller A data access processing method for processing data access according to the access command from the computer,
By referring to the access command log table based on the current access command to be processed this time given from the host computer to the storage controller, the same access type as the current access command and the same transfer as the current access command Extracting a log of all access commands having a size or the same transfer size range as a log of similar commands having similar characteristics to the current access command;
Based on the extracted log of similar commands, the ratio of the number of similar commands specifying the same area to the number of extracted similar commands is the ratio of the same area access that is the ratio at which the access to the same area appears again Calculating the reappearance rate;
Predicting whether or not the reproducibility of access to the area specified by the current access command is high based on whether the calculated same area access reappearance rate is equal to or higher than a predetermined first threshold, and the prediction based on the results, the a data access processing corresponding to the current access command, the data access processing including processing with access to the cache memory intended for read / write data designated by said current access command A step to determine;
Executing the determined data access process;
Adding a log of the current access command to the address command log table.
ことを特徴とする請求項1記載のデータアクセス処理方法。 In the step of determining the data access processing, the current access is determined based on an access type designated by the current access command and whether the calculated same area access reappearance rate is equal to or higher than the first threshold. It is determined whether or not the data specified by the command is held in the cache memory, or whether or not the destaging timing for writing the data specified by the current access command from the cache memory to the logical storage device is delayed. The data access processing method according to claim 1 .
ことを特徴とする請求項2記載のデータアクセス処理方法。 In the step of determining the data access processing, when the access type specified by the current access command is read, the current access access reappearance rate is calculated based on whether the calculated same area access reappearance rate is equal to or higher than the first threshold. The data access processing method according to claim 2 , wherein it is determined whether data specified by an access command is to be held in the cache memory.
前記データアクセス処理を決定するステップでは、前記算出された近傍領域アクセス出現率が予め定められた第2の閾値以上であるかに基づいて前記現アクセスコマンドの指定する領域の近傍の領域へのアクセスの再現率が高いかを予測して、その予測結果に基づき、前記現アクセスコマンドによって指定される読み出し/書き込みデータを対象とする前記キャッシュメモリへのアクセスを伴う処理または前記現アクセスコマンドの指定する領域の近傍の領域のデータを対象とする前記キャッシュメモリへのアクセスを伴う処理を含むデータアクセス処理が決定される
ことを特徴とする請求項1記載のデータアクセス処理方法。 Based on the log of the extracted similar commands, the ratio of the number of other similar commands specifying the area near the area specified by the similar command to the number of similar commands extracted A step of calculating as a neighborhood area access appearance rate, which is a rate at which accesses appear,
In the step of determining the data access process , an access to an area in the vicinity of an area designated by the current access command is performed based on whether the calculated neighborhood area access appearance rate is equal to or higher than a predetermined second threshold. The process with access to the cache memory for the read / write data designated by the current access command or the designation of the current access command is specified based on the prediction result. The data access processing method according to claim 1, wherein a data access process including a process involving access to the cache memory targeted for data in an area near the area is determined.
ことを特徴とする請求項5記載のデータアクセス処理方法。 In the step of determining the data access processing, the current access command is determined based on an access type designated by the current access command and whether the calculated neighborhood area access appearance rate is equal to or higher than the second threshold value. Whether to prefetch the data in the area near the area designated by the cache memory, or to delay the destaging timing for writing the data designated by the current access command from the cache memory to the logical storage device The data access processing method according to claim 5, wherein: is determined.
ことを特徴とする請求項6記載のデータアクセス処理方法。 In the step of determining the data access processing, when the access type specified by the current access command is read, the current access is determined based on whether the calculated neighborhood area access appearance rate is equal to or higher than the second threshold. The data access processing method according to claim 6 , wherein whether to prefetch data in an area in the vicinity of an area designated by a command into the cache memory is determined.
前記記憶制御装置は前記アクセスコマンドログテーブルを前記ゾーン毎に有し、
前記抽出するステップでは、前記現アクセスコマンドの指定する領域が属するゾーンに対応する前記アクセスコマンドログテーブルが参照され、
前記追加するステップでは、前記現アクセスコマンドのログが当該現アクセスコマンドの指定する領域が属するゾーンに対応する前記アクセスコマンドログテーブルに追加される
ことを特徴とする請求項1乃至8のいずれかに記載のデータアクセス処理方法。 The entire storage area of the logical storage device is divided into a plurality of zones and managed,
The storage controller has the access command log table for each zone,
In the extracting step, the access command log table corresponding to the zone to which the area specified by the current access command belongs is referred to,
In the step of adding, in any one of claims 1 to 8, wherein said that the log of the current access command is added to said access command log table corresponding to the zone in which the specified region belongs of the current access command The data access processing method described.
前記ホスト計算機からのアクセスコマンドによって指定された読み出し/書き込みデータを一時的に保持するための前記記憶装置よりも高速なキャッシュメモリと、
前記アクセスコマンドの指定するアクセス種別、並びに前記アクセスコマンドの指定する前記論理記憶装置内の領域を示す先頭アドレス及び転送サイズまたは当該転送サイズが属する転送サイズ範囲の情報を当該アクセスコマンドのログとして保持するためのアクセスコマンドログテーブルと、
前記ホスト計算機から前記記憶制御装置に与えられる今回処理されるべき現アクセスコマンドに基づき前記アクセスコマンドログテーブルを参照することにより、当該現アクセスコマンドと同一アクセス種別で、且つ当該現アクセスコマンドと同一転送サイズまたは同一転送サイズ範囲の全てのアクセスコマンドのログを、当該現アクセスコマンドと特徴が類似した類似コマンドのログとして抽出する類似コマンド抽出手段と、
前記抽出された類似コマンドのログに基づき、前記抽出された類似コマンドの数に対する、同一領域を指定する類似コマンドの数の割合を、前記同一領域へのアクセスが再度出現する割合である同一領域アクセス再出現率として算出する同一領域アクセス再出現率算出手段と、
前記算出された同一領域アクセス再出現率が予め定められた第1の閾値以上であるかに基づいて前記現アクセスコマンドの指定する領域へのアクセスの再現率が高いかを予測して、その予測結果に基づき、前記現アクセスコマンドに対応するデータアクセス処理であって、前記現アクセスコマンドによって指定される読み出し/書き込みデータを対象とする前記キャッシュメモリへのアクセスを伴う処理を含むデータアクセス処理を決定するデータアクセス処理決定手段と
前記決定されたデータアクセス処理を実行するデータアクセス手段と、
前記アクセスコマンドログテーブルを管理し、前記現アクセスコマンドのログを前記アドレスコマンドログテーブルに追加するテーブル管理手段と
を具備することを特徴とする記憶制御装置。 A host computer and at least one storage device are connected, and a logical storage device is provided to the host computer using a part or all of the storage device, and between the host computer and the storage device. In the storage control device that processes the data transfer of
A cache memory faster than the storage device for temporarily storing read / write data designated by an access command from the host computer;
The access type specified by the access command and the start address indicating the area in the logical storage device specified by the access command and the transfer size or the transfer size range information to which the transfer size belongs are stored as a log of the access command. Access command log table for
By referring to the access command log table based on the current access command to be processed this time given from the host computer to the storage controller, the same access type as the current access command and the same transfer as the current access command Similar command extraction means for extracting logs of all access commands in the size or the same transfer size range as logs of similar commands similar in characteristics to the current access command,
Based on the extracted log of similar commands, the ratio of the number of similar commands specifying the same area to the number of extracted similar commands is the ratio of the same area access that is the ratio at which the access to the same area appears again Same area access re-appearance rate calculating means for calculating the re-appearance rate,
Predicting whether or not the reproducibility of access to the area specified by the current access command is high based on whether the calculated same area access reappearance rate is equal to or higher than a predetermined first threshold, and the prediction based on the results, the a data access processing corresponding to the current access command, the data access processing including processing with access to the cache memory intended for read / write data designated by said current access command A data access process determining means for determining; a data access means for executing the determined data access process;
A storage control device comprising: table management means for managing the access command log table and adding a log of the current access command to the address command log table.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007135602A JP4558003B2 (en) | 2007-05-22 | 2007-05-22 | Data access processing method and storage control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007135602A JP4558003B2 (en) | 2007-05-22 | 2007-05-22 | Data access processing method and storage control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008293111A JP2008293111A (en) | 2008-12-04 |
JP4558003B2 true JP4558003B2 (en) | 2010-10-06 |
Family
ID=40167794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007135602A Active JP4558003B2 (en) | 2007-05-22 | 2007-05-22 | Data access processing method and storage control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4558003B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6160240B2 (en) * | 2013-05-23 | 2017-07-12 | 富士通株式会社 | Information processing apparatus, information processing system, information processing apparatus control method, and information processing apparatus control program |
JP2015207123A (en) | 2014-04-18 | 2015-11-19 | 富士通株式会社 | Storage device, storage control method, and storage control program |
JP6107761B2 (en) * | 2014-08-04 | 2017-04-05 | 日本電気株式会社 | Disk array device and method for controlling disk array device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003044358A (en) * | 2001-07-31 | 2003-02-14 | Mitsubishi Electric Corp | Cache memory controller |
JP2004078755A (en) * | 2002-08-21 | 2004-03-11 | Hitachi Ltd | Information processing system |
JP2006072789A (en) * | 2004-09-03 | 2006-03-16 | Hitachi Ltd | Storage system and data management device of the same |
JP2007058728A (en) * | 2005-08-26 | 2007-03-08 | Hitachi Ltd | Data transfer system |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4987533A (en) * | 1988-05-05 | 1991-01-22 | International Business Machines Corporation | Method of managing data in a data storage hierarchy and a data storage hierarchy therefor with removal of the least recently mounted medium |
US5634109A (en) * | 1994-06-20 | 1997-05-27 | International Business Machines Corporation | Method and system for enhanced data management efficiency in memory subsystems utilizing redundant arrays of disk memory devices and a nonvolatile cache |
JPH08147216A (en) * | 1994-11-17 | 1996-06-07 | Hitachi Ltd | Data processor |
JP3373360B2 (en) * | 1996-06-13 | 2003-02-04 | 沖電気工業株式会社 | Disk array device |
JP3282525B2 (en) * | 1996-12-20 | 2002-05-13 | 松下電器産業株式会社 | Data management device and network data management system |
JPH10301847A (en) * | 1997-04-30 | 1998-11-13 | Nec Corp | Data storage device |
JP3400328B2 (en) * | 1997-12-26 | 2003-04-28 | 株式会社日立製作所 | Data storage method and data storage device |
-
2007
- 2007-05-22 JP JP2007135602A patent/JP4558003B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003044358A (en) * | 2001-07-31 | 2003-02-14 | Mitsubishi Electric Corp | Cache memory controller |
JP2004078755A (en) * | 2002-08-21 | 2004-03-11 | Hitachi Ltd | Information processing system |
JP2006072789A (en) * | 2004-09-03 | 2006-03-16 | Hitachi Ltd | Storage system and data management device of the same |
JP2007058728A (en) * | 2005-08-26 | 2007-03-08 | Hitachi Ltd | Data transfer system |
Also Published As
Publication number | Publication date |
---|---|
JP2008293111A (en) | 2008-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108920387B (en) | Method and device for reducing read delay, computer equipment and storage medium | |
US9996542B2 (en) | Cache management in a computerized system | |
JP6613375B2 (en) | Profiling cache replacement | |
KR101361928B1 (en) | Cache prefill on thread migration | |
CN103019962A (en) | Data cache processing method, device and system | |
US9591096B2 (en) | Computer system, cache control method, and server | |
JP2019525330A (en) | Cache transfer policy selection for prefetch data based on cache test area | |
Bock et al. | Concurrent page migration for mobile systems with OS-managed hybrid memory | |
US10489296B2 (en) | Quality of cache management in a computer | |
US10853250B2 (en) | Storage management method, electronic device and computer program product | |
US11853223B2 (en) | Caching streams of memory requests | |
JPWO2017006675A1 (en) | Information processing system, storage control device, storage control method, and storage control program | |
WO2021062982A1 (en) | Method and apparatus for managing hmb memory, and computer device and storage medium | |
Tan et al. | Improving the performance of deduplication-based storage cache via content-driven cache management methods | |
CN115794682A (en) | Cache replacement method and device, electronic equipment and storage medium | |
JP4558003B2 (en) | Data access processing method and storage control device | |
CN111639037A (en) | Dynamic cache allocation method and device and DRAM-Less solid state disk | |
Xu et al. | Frequent access pattern-based prefetching inside of solid-state drives | |
US10997077B2 (en) | Increasing the lookahead amount for prefetching | |
Xie et al. | Exploiting internal parallelism for address translation in solid-state drives | |
JP2013041414A (en) | Storage control system and method, and replacement system and method | |
Lee et al. | BAGC: Buffer-aware garbage collection for flash-based storage systems | |
JP2015184883A (en) | Computing system | |
CN110658999B (en) | Information updating method, device, equipment and computer readable storage medium | |
CN114168495A (en) | Enhanced read-ahead capability for memory devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100302 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100506 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100622 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100720 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4558003 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130730 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |