JP4558003B2 - Data access processing method and storage control device - Google Patents

Data access processing method and storage control device Download PDF

Info

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
Application number
JP2007135602A
Other languages
Japanese (ja)
Other versions
JP2008293111A (en
Inventor
享一 笹本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2007135602A priority Critical patent/JP4558003B2/en
Publication of JP2008293111A publication Critical patent/JP2008293111A/en
Application granted granted Critical
Publication of JP4558003B2 publication Critical patent/JP4558003B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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 Patent Literature 1 divides a storage device into a plurality of storage areas, collects statistical information about access for each divided storage area, and then stores a storage area based on the statistical information. A technique of switching the operation mode of the cache memory (whether or not data prefetching is performed in the cache memory) is applied every time. The technique described in Patent Document 1 is effective when the tendency of access to each storage area changes uniformly between online processing and batch processing.

また、例えば特許文献2にも、キャッシュメモリへのデータ先読みに関する技術が記載されている。この特許文献2に記載の技術では、同一論理記憶装置の連続した領域に対するホスト計算機からのリード要求を一定回数以上受信した場合に、シーケンシャルなリードアクセスと判断し、キャッシュメモリへの先読みが行われる。
特開平2−50236号公報 特開平3−102443号公報
For example, Patent Document 2 also describes a technique related to data prefetching to a cache memory. In the technique described in Patent Document 2, when a read request from a host computer for a continuous area of the same logical storage device is received a predetermined number of times or more, it is determined as a sequential read access, and the cache memory is prefetched. .
JP-A-2-50236 Japanese Patent Laid-Open No. 3-102443

上記したように特許文献1に記載の技術は、オンライン処理とバッチ処理とで、分割された各々の記憶領域に対するアクセスの傾向が画一的に変化するような場合には有効な方法である、しかし、同一記憶領域に対し同時期に多様な傾向のアクセスが混在するような場合には、特許文献1に記載の技術のように各記憶領域へのアクセスを画一的に評価するのでは、キャッシュメモリの運用の最適化は難しい。例えば、比較的サイズの大きなファイルと、そのファイルを管理するサイズの小さな管理情報、双方へのアクセスの傾向は一般に大きく異なり、これらのアクセスは混在する。   As described above, the technique described in Patent Document 1 is an effective method when the tendency of access to each divided storage area changes uniformly between online processing and batch processing. However, in the case where accesses with various trends are mixed in the same storage area at the same time, the access to each storage area is evaluated uniformly as in the technique described in Patent Document 1, Optimization of cache memory operation is difficult. For example, the tendency of access to both a relatively large file and small management information for managing the file is generally greatly different, and these accesses are mixed.

そこで、傾向の異なるアクセスの混在の可能性をより低くするために、例えば記憶装置に対する分割の粒度を極めて小さくすることが考えられる。しかし特許文献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 Patent Document 1, since it is necessary to hold statistical information for each divided storage area, if the granularity of division is extremely small, that is, if the number of divisions is extremely large, statistical information is retained. This increases the memory capacity required. An increase in the memory capacity causes an increase in the price of the device. This method is not practical considering the recent increase in capacity of storage devices represented by hard disk drives (HDD).

一方、上記特許文献2に記載の技術では、リード要求がシーケンシャル性のある要求であると判断できるまでに、一定の回数(先読み閾値回数)以上のホスト計算機からのリード要求の受信が必要となる。この先読み閾値回数に達するまでの間は、リード要求の都度、記憶装置からの読み出し処理が発生してしまう。一般に上記先読み閾値回数は2乃至3回以上である。したがって、ホスト計算機からのリード要求が2乃至3回で完結するような、回数の少ないシーケンシャルなリード要求の場合には、特許文献2に記載の技術では先読みの効果は得られ難い。また、特許文献2に記載の技術において、2乃至3回のリード要求を受信した結果、それがシーケンシャルアクセス性のあるリード要求と判断されると、後続のデータのキャッシュメモリへの先読みが行われる。ところが、上述のような回数の少ないシーケンシャルなリード要求の場合には、先読みしたデータは結局使用されず無駄となり、装置のスループット性能を悪化させる可能性もある。   On the other hand, in the technique described in Patent Document 2, it is necessary to receive a read request from a host computer a certain number of times (the number of prefetch thresholds) before it can be determined that the read request is a sequential request. . Until the read-ahead threshold value is reached, a read process from the storage device occurs every time a read request is made. In general, the number of prefetch thresholds is 2 to 3 or more. Therefore, in the case of a sequential read request with a small number of times such that the read request from the host computer is completed in two or three times, it is difficult to obtain the effect of prefetching with the technique described in Patent Document 2. In the technique described in Patent Document 2, if it is determined that the read request is a sequential access request as a result of receiving two or three read requests, the subsequent data is prefetched into the cache memory. . However, in the case of a sequential read request with a small number of times as described above, the pre-read data is not used in the end and is wasted, which may deteriorate the throughput performance of the apparatus.

本発明は上記事情を考慮してなされたものでその目的は、ホスト計算機からのアクセスが同時期に多種多様に混在して存在する場合におけるアクセスの性能を向上させることができるデータアクセス処理方法及び記憶制御装置を提供することにある。   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 storage control device 11, at least one storage device, for example, a plurality of magnetic disk devices (HDD) 12, and a host computer 13.

記憶制御装置11は、HDD12へのアクセスを制御して、ホスト計算機13とHDD12との間のデータ転送を行う。   The storage controller 11 controls access to the HDD 12 and transfers data between the host computer 13 and the HDD 12.

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 HDDs 12. In the present embodiment, as shown in FIG. 1, it is assumed that one logical storage device 120 is configured using all storage areas of the three HDDs 12.

ホスト計算機13は、論理記憶装置120へのアクセスのための要求(アクセスコマンド)を、記憶制御装置11に対して送出する。通常、アクセスコマンドは、ライト/リードの種別、先頭アドレス(開始アドレス)及びサイズの情報を含む。先頭アドレスは、論理記憶装置120内のアクセスされるべき領域の先頭位置(開始位置)を示す。転送サイズは、転送されるデータ(ライト/リードデータ)のサイズ、即ちアクセスされるべき領域のサイズを示す。本実施形態では、先頭アドレスには、アクセスされるべき領域の先頭ブロック位置(先頭論理ブロック位置)を示す先頭ブロックアドレス(先頭論理ブロックアドレス)が用いられ、転送サイズには、転送されるデータ(ライト/リードデータ)のブロック数(アクセスされるべき領域のブロック数)を示す転送ブロックサイズサイズが用いられる。   The host computer 13 sends a request (access command) for accessing the logical storage device 120 to the storage control device 11. Normally, the access command includes information on the type of write / read, the start address (start address), and the size. The start address indicates the start position (start position) of the area to be accessed in the logical storage device 120. The transfer size indicates the size of data to be transferred (write / read data), that is, the size of the area to be accessed. In the present embodiment, a head block address (head logical block address) indicating the head block position (head logical block position) of the area to be accessed is used as the head address, and the transferred data ( A transfer block size size indicating the number of blocks (write / read data) (the number of blocks in the area to be accessed) is used.

記憶制御装置11は、インタフェース制御回路111及び112と、キャッシュメモリ113と、チップセット114と、マイクロプロセッサ115と、メモリ(ローカルメモリ)116と、ROM117とを含む。   The storage controller 11 includes interface control circuits 111 and 112, a cache memory 113, a chip set 114, a microprocessor 115, a memory (local memory) 116, and a ROM 117.

インタフェース制御回路111は、記憶制御装置11をホスト計算機13と接続するための、SCSI(Small Computer System Interface)或いはファイバチャネル(Fibre Channel)のようなホスト接続インタフェース21を制御する。   The interface control circuit 111 controls a host connection interface 21 such as SCSI (Small Computer System Interface) or Fiber Channel for connecting the storage controller 11 to the host computer 13.

インタフェース制御回路112は、記憶制御装置11を複数のHDD12と接続するための、SCSI或いはファイバチャネルのような記憶装置接続インタフェース22を制御する。   The interface control circuit 112 controls a storage device connection interface 22 such as SCSI or Fiber Channel for connecting the storage control device 11 to a plurality of HDDs 12.

キャッシュメモリ113は、ホスト計算機13によって要求された読み出し/書き込みデータ及び論理記憶装置120(を構成するHDD12)から先読みされたデータを一時的に保持するための、HDD12よりも高速なバッファメモリである。本実施形態において、キャッシュメモリ113はバッテリバックアップされている。   The cache memory 113 is a buffer memory faster than the HDD 12 for temporarily storing read / write data requested by the host computer 13 and data pre-read from the logical storage device 120 (the HDD 12 constituting the cache memory 113). . In this embodiment, the cache memory 113 is backed up by a battery.

チップセット114は、マイクロプロセッサ115及び周辺回路(メモリ116、ROM117のような周辺回路)を接続するためのブリッジ回路である。チップセット114には、内部バス23を介して、インタフェース制御回路111及び112並びにキャッシュメモリ113も接続される。内部バス23は、例えば、PCI(Peripheral Component Interconnect)−X或いはPCI Expressのような、記憶制御装置11内部で使用されるバスである。   The chip set 114 is a bridge circuit for connecting the microprocessor 115 and peripheral circuits (peripheral circuits such as the memory 116 and the ROM 117). Interface control circuits 111 and 112 and a cache memory 113 are also connected to the chip set 114 via the internal bus 23. The internal bus 23 is a bus used inside the storage controller 11 such as PCI (Peripheral Component Interconnect) -X or PCI Express.

マイクロプロセッサ115は、ROM117からメモリ116にコピー(ロード)されたプログラム118(に含まれているプログラムコード)を実行することにより、記憶制御装置11内の他の要素の制御及び各種の処理を行う。   The microprocessor 115 performs control of other elements in the storage control device 11 and various processes by executing a program 118 (program code included) copied (loaded) from the ROM 117 to the memory 116. .

メモリ116は、記憶制御装置11のローカルメモリとして用いられる。メモリ116は、ROM117に格納されているプログラム118がマイクロプロセッサ115による実行のためにコピーされる領域、及びマイクロプロセッサ115の各種処理で使用されるワーク領域を提供する。メモリ116はまた、アクセスコマンドログテーブル119及び当該テーブル119内の次にログが保持されるべきエントリ(次エントリ)を指し示すポインタ(次ポインタ)Pが格納される領域も提供する。アクセスコマンドログテーブル119は、複数の論理記憶装置がホスト計算機13に提供される場合、論理記憶装置毎に用意される。本実施形態では、1つの論理記憶装置120がホスト計算機13に提供されるものとする。   The memory 116 is used as a local memory of the storage control device 11. The memory 116 provides an area where the program 118 stored in the ROM 117 is copied for execution by the microprocessor 115 and a work area used in various processes of the microprocessor 115. The memory 116 also provides an area for storing an access command log table 119 and a pointer (next pointer) P indicating the next entry (next entry) in the table 119 where a log is to be held. The access command log table 119 is prepared for each logical storage device when a plurality of logical storage devices are provided to the host computer 13. In this embodiment, it is assumed that one logical storage device 120 is provided to the host computer 13.

アクセスコマンドログテーブル119は、当該テーブル119に対応する論理記憶装置120内の記憶領域へのアクセスを要求するホスト計算機13からのアクセスコマンドのログを保持するのに用いられる。図2は、アクセスコマンドログテーブル119のデータ構造例を次ポインタPと対応付けて示す。   The access command log table 119 is used to hold a log of access commands from the host computer 13 that requests access to a storage area in the logical storage device 120 corresponding to the table 119. FIG. 2 shows an example of the data structure of the access command log table 119 in association with the next pointer P.

アクセスコマンドログテーブル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 fields 201, 202, and 203. Fields 201, 202, and 203 are a write / read type (W / R type), a head address (head block address), and an access type specified by an access command (write / read request) from the host computer 13, respectively. It is used to hold information on transfer size (transfer block size).

アクセスコマンドログテーブル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 memory 116 that can be prepared, the processing frequency of the access command, and the like.

アクセスコマンドのログは、記憶制御装置11がホスト計算機13からアクセスコマンドを受信した際に、その受信コマンドに基づいて、次ポインタPの指し示す、アクセスコマンドログテーブル119内のエントリに保持される。ここでは、受信コマンドのW/R種別、先頭アドレス(先頭ブロックアドレス)及び転送サイズ(転送ブロックサイズ)が、アクセスコマンドログテーブル119のエントリ内の、それぞれフィールド201,202び203に保持される。また、アクセスコマンドのログは、アクセスコマンドログテーブル119の先頭エントリ(第0エントリ)から順に保持される。ログが最終エントリ(第Nエントリ)まで保持されると、先頭エントリに戻り、改めて先頭エントリから保持される。このように本実施形態では、アクセスコマンドのログ情報がラウンドロビン方式でアクセスコマンドログテーブル119に保持される。つまりアクセスコマンドログテーブル119は、リングバッファとして用いられる。   When the storage controller 11 receives an access command from the host computer 13, the access command log is held in an entry in the access command log table 119 pointed to by the next pointer P based on the received command. Here, the W / R type, head address (head block address), and transfer size (transfer block size) of the received command are held in fields 201, 202 and 203, respectively, in the entry of the access command log table 119. Further, the access command log is held in order from the first entry (0th entry) of the access command log table 119. When the log is held up to the last entry (Nth entry), it returns to the top entry and is held again from the top entry. As described above, in this embodiment, access command log information is held in the access command log table 119 in a round-robin manner. That is, the access command log table 119 is used as a ring buffer.

次ポインタ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 access processing device 30 realized in the storage control device 11. The data access processing device 30 performs data access processing including access to the cache memory 113, and includes a data access processing unit 300 and an access command log table 119.

データアクセス処理ユニット300は、図1に示される記憶制御装置11内のマイクロプロセッサ115がROM117からメモリ(ローカルメモリ)116にコピーされたプログラム118を読み取って実行することにより実現される。データアクセス処理ユニット300は、キャッシュヒット判定部310、類似コマンド抽出部320、アクセス傾向判定部330、データアクセス処理決定部340、データアクセス部350及びテーブル管理部360から構成される。   The data access processing unit 300 is realized by the microprocessor 115 in the storage control device 11 shown in FIG. 1 reading and executing the program 118 copied from the ROM 117 to the memory (local memory) 116. The data access processing unit 300 includes a cache hit determination unit 310, a similar command extraction unit 320, an access tendency determination unit 330, a data access processing determination unit 340, a data access unit 350, and a table management unit 360.

キャッシュヒット判定部310は、ホスト計算機13から送信されたアクセスコマンド(現アクセスコマンド)でデータのリードが要求されている場合に、要求されたデータがキャッシュメモリ113に存在しているか否か、つまりキャッシュヒット/ミスヒットを判定する。類似コマンド抽出部320は、アクセスコマンドログテーブル119から現アクセスコマンドに類似したコマンド(類似コマンド)のログを抽出する。   The cache hit determination unit 310 determines whether the requested data exists in the cache memory 113 when the data read is requested by the access command (current access command) transmitted from the host computer 13, that is, Cache hit / miss hit is determined. The similar command extraction unit 320 extracts a log of a command (similar command) similar to the current access command from the access command log table 119.

アクセス傾向判定部330は、類似コマンド抽出部320によって抽出された類似コマンドのログに基づき、当該類似コマンドに関するホスト計算機13からのアクセスの傾向を判定する。アクセス傾向判定部330は、アクセス再出現率算出部331、アクセス出現率算出部332及び近傍領域決定部333を含む。   Based on the similar command log extracted by the similar command extraction unit 320, the access tendency determination unit 330 determines an access tendency from the host computer 13 regarding the similar command. The access tendency determination unit 330 includes an access reappearance rate calculation unit 331, an access appearance rate calculation unit 332, and a neighborhood region determination unit 333.

アクセス再出現率算出部331は、上記類似コマンドのログに基づき、当該類似コマンドの指定する記憶領域(同一領域)へのアクセスが再度出現する割合、つまり同一領域へのアクセスの再出現率(同一領域アクセス再出現率)をアクセスの傾向を表す指標として算出する。同一領域アクセス再出現率が高い場合、現アクセスコマンドで指定される記憶領域(指定領域)へのアクセスの再現率も高いこと、つまり指定領域と同一の領域に対するアクセスが近い将来発生する可能性が高いことが予測される。   Based on the log of the similar command, the access reappearance rate calculating unit 331 returns the rate of access to the storage area (same area) designated by the similar command, that is, the reappearance rate of access to the same area (identical (Region access re-appearance rate) is calculated as an index representing an access tendency. If the same area access reappearance rate is high, the access recall rate to the storage area (specified area) specified by the current access command is also high, that is, access to the same area as the specified area may occur in the near future. Expected to be high.

アクセス出現率算出部332は、上記類似コマンドのログに基づき、当該類似コマンドの指定する記憶領域(指定領域)の近傍の領域(近傍領域)へのアクセスが出現する割合、つまり近傍領域へのアクセスの出現率(近傍領域アクセス出現率)をアクセスの傾向を表す指標として算出する。近傍領域アクセス出現率が高い場合、現アクセスコマンドで指定される記憶領域(指定領域)の近傍領域へのアクセスの出現率も高いこと、つまり指定領域の近傍領域に対するアクセスが近い将来発生する可能性が高いことが予測される。   Based on the log of the similar command, the access appearance rate calculation unit 332 generates a rate of access to an area (neighboring area) in the vicinity of the storage area (designated area) designated by the similar command, that is, access to the neighboring area Is calculated as an index representing an access tendency. When the neighborhood area access appearance rate is high, the appearance rate of access to the neighborhood area of the storage area (designated area) specified by the current access command is also high, that is, access to the neighborhood area of the designated area may occur in the near future. Is expected to be high.

近傍領域決定部333は、上記類似コマンドのログ及び現アクセスコマンドに基づき、当該現アクセスコマンドで指定される記憶領域の近傍領域を決定する。   The neighborhood area determination unit 333 determines a neighborhood area of the storage area designated by the current access command based on the log of the similar command and the current access command.

データアクセス処理決定部340は、アクセス傾向判定部330によって判定されたアクセスの傾向、即ちアクセス再出現率算出部331によって算出された同一領域アクセス再出現率、アクセス出現率算出部332によって算出された近傍領域アクセス出現率及び近傍領域決定部333によって決定された近傍領域の情報に基づき、現アクセスコマンドに対応するデータアクセス処理を決定する。データアクセス処理は、現アクセスコマンドによって指定される読み出し/書き込みデータを対象とするキャッシュメモリ113へのアクセスを伴う処理、及び現アクセスコマンドの指定する領域(指定領域)の近傍領域のデータを対象とするキャッシュメモリ113へのアクセスを伴う処理の少なくとも一方の処理を含む。
データアクセス処理決定部340は、キャッシュ実行決定部341、先読み決定部342及びデステージング遅延決定部343を含む。
The data access processing determination unit 340 calculates the access tendency determined by the access tendency determination unit 330, that is, the same area access reappearance rate calculated by the access reappearance rate calculation unit 331 and the access appearance rate calculation unit 332. Based on the neighborhood area access appearance rate and the neighborhood area information determined by the neighborhood area determination unit 333, the data access process corresponding to the current access command is determined. The data access process is a process involving access to the cache memory 113 targeted for read / write data specified by the current access command, and data in an area near the area (specified area) specified by the current access command. Including at least one of processes involving access to the cache memory 113.
The data access processing determination unit 340 includes a cache execution determination unit 341, a prefetch determination unit 342, and a destaging delay determination unit 343.

キャッシュ実行決定部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 execution determination unit 341 has the same area access reappearance rate calculated by the access reappearance rate calculating unit 331 as the access type (W / R type) specified by the current access command is read (R). If the value is equal to or greater than the predetermined value (first threshold value), it is determined to hold the data designated by the current access command in the cache memory 113. The prefetch determination unit 342 has a predetermined constant value (second value) in which the W / R type specified by the current access command is read (R) and the neighborhood area access appearance rate calculated by the access appearance rate calculation unit 332 is determined in advance. If it is equal to or greater than (threshold), it is determined to prefetch data in the cache memory 113 in the vicinity area of the storage area specified by the current access command (the vicinity area determined by the vicinity area determination unit 333). The destaging delay determination unit 343 has the W / R type specified by the current access command as write (W), and the same region access reappearance rate or access appearance rate calculation unit 332 calculated by the access reappearance rate calculation unit 331. When the neighborhood area access appearance rate calculated by the above is greater than or equal to a threshold value (first threshold value or second threshold value), the data area specified by the current access command is stored in the storage area specified by the current access command. It decides to delay the timing of the processing (destaging) to write to the.

データアクセス部350は、データアクセス処理決定部340(内のキャッシュ実行決定部341、先読み決定部342及びデステージング遅延決定部343)によって決定されたデータアクセス処理を実行する。テーブル管理部360は、アクセスコマンドログテーブル119及び次ポインタPを管理し、ホスト計算機13から送信されたアクセスコマンドのログを次ポインタPの指し示すアクセスコマンドログテーブル119内のエントリに追加する。   The data access unit 350 executes the data access process determined by the data access process determination unit 340 (the cache execution determination unit 341, the prefetch determination unit 342, and the destaging delay determination unit 343). The table management unit 360 manages the access command log table 119 and the next pointer P, and adds the access command log transmitted from the host computer 13 to the entry in the access command log table 119 indicated by the next pointer P.

次に、図3に示されるデータアクセス処理ユニット300により実行されるデータアクセス処理について、リードアクセス処理とライトアクセス処理とに分けて、順次説明する。
まず、データアクセス処理ユニット300において実行されるリードアクセス処理について、図4乃至図7を参照して説明する。図4はリードアクセス処理の手順を示すフローチャート、図5は図4のフローチャートにおける近傍領域決定処理の手順を示すフローチャート、図6は図4のフローチャートにおける第1乃至第4のデータアクセス処理の手順を示すフローチャートである。図7は、近傍領域決定部333による近傍領域決定処理を説明するための図である。
Next, the data access processing executed by the data access processing unit 300 shown in FIG. 3 will be described in order, divided into read access processing and write access processing.
First, read access processing executed in the data access processing unit 300 will be described with reference to FIGS. 4 is a flowchart showing the procedure of the read access process, FIG. 5 is a flowchart showing the procedure of the neighboring area determination process in the flowchart of FIG. 4, and FIG. 6 is the procedure of the first to fourth data access processes in the flowchart of FIG. It is a flowchart to show. FIG. 7 is a diagram for explaining the neighborhood region determination processing by the neighborhood region determination unit 333.

今、ホスト計算機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 host computer 30 to the storage controller 11 via the host connection interface 21. When this read access command is received by the storage control device 11, the data access processing unit 300 realized in the storage control device 11 performs the following read access processing.

まずデータアクセス処理ユニット300内のキャッシュヒット判定部310は、記憶制御装置11によって受信されたリードアクセスコマンド(現リードアクセスコマンド)で要求されたデータがキャッシュメモリ113に存在するか、つまりキャッシュヒットであるかを判定する(ステップS1)。もし、キャッシュヒットであるならば、データアクセス部350は、現リードアクセスコマンドで要求されたデータをキャッシュメモリ113から直ちに読み出してホスト計算機13に転送する(ステップS2)。するとテーブル管理部360は、現リードアクセスコマンドのログ、即ち現リードアクセスコマンドの指定するW/R種別であるリード(R)、先頭アドレス(先頭ブロックアドレス)及び転送サイズ(転送ブロックサイズ)の各情報を、次ポインタPの指し示すアクセスコマンドログテーブル119内のエントリに追加する(ステップS3)。このステップS3において、テーブル管理部360は次ポインタPを1インクリメントする。これにより、現リードアクセスコマンドに対応するリードアクセス処理は終了する。   First, the cache hit determination unit 310 in the data access processing unit 300 determines whether the data requested by the read access command (current read access command) received by the storage control device 11 exists in the cache memory 113, that is, a cache hit. It is determined whether or not there is (step S1). If there is a cache hit, the data access unit 350 immediately reads the data requested by the current read access command from the cache memory 113 and transfers it to the host computer 13 (step S2). Then, the table management unit 360 logs each of the current read access command log, that is, the read (R), the start address (start block address), and the transfer size (transfer block size) which are the W / R types designated by the current read access command. Information is added to the entry in the access command log table 119 pointed to by the next pointer P (step S3). In step S3, the table management unit 360 increments the next pointer P by 1. As a result, the read access process corresponding to the current read access command ends.

これに対し、キャッシュヒットでないならば、つまりキャッシュミスヒットならば(ステップ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 command extraction unit 320 in the data access processing unit 300 operates. The similar command extraction unit 320 extracts a log of a command (read access command) similar to the current read access command from the access command log table 119 (step S3).

本実施形態では、現リードアクセスコマンドに類似したコマンド(類似コマンド)の判定のための評価尺度として転送サイズが用いられる。ここでは、類似コマンドとして、例えば、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 storage control device 11 in FIG. Can be performed in accordance with the user's operation. A similar command may be defined by the program 118 stored in the ROM 117.

本実施形態では、類似コマンドの判定のための評価尺度として、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 command extraction unit 320 includes a command including information indicating that the W / R type is read (R) and the transfer size is 4h from the table 119. A log of each command stored in an entry in the access command log table 119 having an entry number “0, 3, 5, 8, 10, 13” is extracted as a log of similar commands (step S4). . Hereinafter, for simplification of description, such a command (similar command) is expressed as an access command (or command) having an entry number “0, 3, 5, 8, 10, 13”. The same applies to access commands stored in entries in the access command log table 119 of other entry numbers.

類似コマンド抽出部320によって抽出された類似コマンドのログはアクセス傾向判定部330に渡される。するとアクセス傾向判定部330内のアクセス再出現率算出部331は、抽出された類似コマンドのログに基づき同一領域アクセス再出現率を算出する(ステップS5)。即ちアクセス再出現率算出部331は、抽出された類似コマンドのログに基づき、当該類似コマンドの指定する記憶領域(同一領域)へのアクセスの再現率を同一領域アクセス再出現率として算出する。この例では、エントリ番号「0」と「8」のアクセスコマンド及びエントリ番号「3」と「13」のアクセスコマンドが同一領域へのアクセスを指定している。したがって、同一領域へのアクセスの再出現率(同一領域アクセス再出現率)は、2/6=33%となる。   The log of similar commands extracted by the similar command extraction unit 320 is passed to the access tendency determination unit 330. Then, the access reappearance rate calculation unit 331 in the access tendency determination unit 330 calculates the same region access reappearance rate based on the extracted log of similar commands (step S5). That is, the access reappearance rate calculation unit 331 calculates the recall rate of access to the storage area (same area) designated by the similar command as the same area access reappearance rate based on the extracted log of similar commands. In this example, access commands with entry numbers “0” and “8” and access commands with entry numbers “3” and “13” specify access to the same area. Therefore, the reappearance rate of access to the same area (same area access reappearance rate) is 2/6 = 33%.

一方、アクセス傾向判定部330内のアクセス出現率算出部332は、抽出された類似コマンドのログに基づき、近傍領域アクセス出現率を算出する(ステップS6)。即ちアクセス出現率算出部332は、抽出された類似コマンドのログに基づき、当該類似コマンドの指定する記憶領域(同一領域)の近傍の領域(近傍領域)へのアクセスの出現率を近傍領域アクセス出現率として算出する。本実施形態では、近傍領域を、類似コマンドの判定のための評価尺度と同様にして、予め定義することが可能である。ここでは近傍領域として、ある類似コマンドの指定する記憶領域に対して連続している領域が定義されているものとする。このように近傍領域が定義されている場合、図2のアクセスコマンドログテーブル119の例では、エントリ番号が「0,3,5,8,10,13」の何れのコマンドも、互いに同一領域または大きく離れた領域へのアクセスであるため、近傍領域アクセス出現率は0%となる。   On the other hand, the access appearance rate calculation unit 332 in the access tendency determination unit 330 calculates a neighborhood area access appearance rate based on the extracted log of similar commands (step S6). That is, the access appearance rate calculation unit 332 calculates the appearance rate of access to a region (neighboring region) in the vicinity of the storage region (same region) designated by the similar command based on the extracted similar command log. Calculate as a rate. In the present embodiment, the neighborhood region can be defined in advance in the same manner as an evaluation scale for determining a similar command. Here, it is assumed that an area continuous with a storage area designated by a certain similar command is defined as a neighborhood area. When the neighborhood area is defined in this way, in the example of the access command log table 119 in FIG. 2, any command with the entry number “0, 3, 5, 8, 10, 13” Since the access is to an area that is far away, the near area access appearance rate is 0%.

もし、上記の例とは異なり、ホスト計算機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 host computer 13 whose W / R type is read (R) is 100h, the similar command extraction unit 320 displays the access command shown in FIG. From the log table 119, the log of each command with the entry number “2, 9, 12, 14” is extracted as a log of similar commands (step S4). In the example of the log of similar commands, the storage area designated by any command does not match, so the same area access reappearance rate is 0% (step S5). On the other hand, the neighborhood area access appearance rate is 2/4 = 50% because the access command is an area in which the access commands having the entry numbers “2”, “9”, and “14” are consecutive (step S6). . Note that the processing order of steps S5 and S6 may be the reverse of this embodiment.

アクセス傾向判定部330内の近傍領域決定部333は、抽出された類似コマンドのログ及び現アクセスコマンドに基づき、当該現リードアクセスコマンドの指定する記憶領域(指定領域)の近傍領域を決定(推定)するための近傍領域決定処理(ステップS7)を実行する。この近傍領域決定部333による近傍領域決定処理(ステップS7)の手順について、図5のフローチャートを参照して説明する。   The neighborhood region determination unit 333 in the access tendency determination unit 330 determines (estimates) the neighborhood region of the storage region (designated region) designated by the current read access command based on the extracted log of similar commands and the current access command. The neighborhood area determination process (step S7) is performed. The procedure of the neighborhood region determination process (step S7) by the neighborhood region determination unit 333 will be described with reference to the flowchart of FIG.

まず近傍領域決定部333は、抽出された類似コマンドのログに基づき、現リードアクセスコマンドの指定する転送サイズと一致するサイズの記憶領域の群の中から、連続する記憶領域の群(の組)を特定する(ステップS7a)。このステップS7aの処理では、まず抽出された類似コマンド群の中から、互いに近接した記憶領域(近傍領域)へのアクセスを指定するコマンド群への絞り込みが行われる。そして、絞り込まれたコマンド群によってそれぞれ指定される記憶領域に基づき、連続する記憶領域の群が特定される。   First, the neighborhood area determination unit 333 sets (a set of) consecutive storage areas from a group of storage areas having a size matching the transfer size designated by the current read access command based on the extracted similar command log. Is specified (step S7a). In the process of step S7a, narrowing down to a command group that designates access to a storage area (neighboring area) close to each other is first performed from the extracted similar command groups. Then, a group of continuous storage areas is specified based on the storage areas designated by the narrowed command groups.

次に近傍領域決定部333は、特定された記憶領域の群に対応する類似コマンド群の中で最初に実行された類似コマンド(先頭の類似コマンド)を特定する(ステップS7b)。そして近傍領域決定部333は、特定された記憶領域の群と、当該記憶領域の群のうちの特定された先頭の類似コマンドに対応する記憶領域と、現リードアクセスコマンドの指定する記憶領域(指定領域)とに基づき、当該指定領域の近傍領域を決定する(ステップS7c)。このステップS7cにおいて近傍領域決定部333は、特定された記憶領域の群のうち特定された先頭の類似コマンドに対応する記憶領域(第1の記憶領域)が上記指定領域と対応していることを前提に、当該指定領域の近傍領域を次のように決定する。   Next, the neighborhood region determination unit 333 identifies a similar command (first similar command) executed first in the similar command group corresponding to the identified storage region group (step S7b). The neighborhood area determination unit 333 then identifies the specified storage area group, the storage area corresponding to the specified first similar command in the storage area group, and the storage area (designation specified by the current read access command). Based on the (region), a neighborhood region of the designated region is determined (step S7c). In step S7c, the neighborhood area determination unit 333 confirms that the storage area (first storage area) corresponding to the identified first similar command in the group of identified storage areas corresponds to the specified area. Based on the premise, the neighborhood area of the designated area is determined as follows.

まず近傍領域決定部333は、特定された記憶領域の群のうちの第1の記憶領域が指定領域と対応するように、当該特定された記憶領域の群からなる領域を論理記憶装置120内の記憶領域(第2の記憶領域)に対応させる。そして近傍領域決定部333は、第2の記憶領域のうち指定領域を除く領域を当該指定領域の近傍領域(現リードアクセスコマンドの指定する記憶領域の近傍領域)として決定する。   First, the neighborhood area determination unit 333 sets an area including the specified storage area group in the logical storage device 120 so that the first storage area of the specified storage area group corresponds to the specified area. Corresponding to the storage area (second storage area). Then, the neighborhood area determination unit 333 determines an area excluding the designated area in the second storage area as a neighborhood area of the designated area (a vicinity area of the storage area designated by the current read access command).

近傍領域決定部333によって決定される近傍領域は、特定された記憶領域の群における第1の記憶領域の位置によって3種に分類される。もし、第1の記憶領域が、特定された記憶領域の群の先頭位置の場合、近傍領域は指定領域の後方(アドレスが大きい側)に隣接する記憶領域となる。第1の記憶領域が、特定された記憶領域の群の最終位置の場合、近傍領域は指定領域の前方(アドレスが小さい側)に隣接する記憶領域となる。第1の記憶領域が、特定された記憶領域の群の先頭位置及び最終位置の何れでもない場合、近傍領域は、指定領域の前方に隣接する記憶領域と後方に隣接する記憶領域の2つの領域となる。   The neighborhood area determined by the neighborhood area determination unit 333 is classified into three types according to the position of the first storage area in the specified group of storage areas. If the first storage area is the head position of the specified group of storage areas, the neighboring area is a storage area adjacent to the rear of the designated area (the side with the larger address). When the first storage area is the final position of the specified group of storage areas, the neighboring area is a storage area adjacent to the front of the designated area (the side with the smaller address). When the first storage area is neither the start position nor the end position of the specified group of storage areas, the neighborhood area is a storage area that is adjacent to the front of the designated area and two storage areas that are adjacent to the rear. It becomes.

ここで、特定された記憶領域の群のうちの上記第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 cache memory 113, and the neighborhood area access appearance rate calculated by the access appearance rate calculation unit 332 is a predetermined value (first value). 2 or more), the data in the vicinity of the designated area is prefetched into the cache memory 113 as described later. For this reason, if an area other than the first storage area (third area) in the group of specified storage areas corresponds to the designated area, the designated area is used when the current read access command is executed. Since the data in the vicinity area including the data has already been prefetched in the cache memory 113, a cache hit should occur. Therefore, a cache miss hit at the time of execution of the current read access command means that the first storage area in the specified group of storage areas corresponds to the designated area.

ここで、近傍領域決定部333によって決定される近傍領域について、図7を参照して詳細に説明する。図7(a)乃至(c)に示される連続する記憶領域71、記憶領域72及び記憶領域73は同一サイズであり、上記特定された記憶領域の群を表す。図7では、記憶領域71、記憶領域72及び記憶領域73の順でアドレスが大きくなるものとする。   Here, the neighborhood area determined by the neighborhood area determination unit 333 will be described in detail with reference to FIG. The continuous storage area 71, storage area 72, and storage area 73 shown in FIGS. 7A to 7C have the same size and represent the group of the specified storage areas. In FIG. 7, it is assumed that the addresses increase in the order of the storage area 71, the storage area 72, and the storage area 73.

図7(a),(b)及び(c)において、それぞれハッチングが施されていない記憶領域71,72及び73は、その記憶領域に対応する類似コマンドが、3つの記憶領域71乃至73に対応する類似コマンドの群の中で最初に実行されていることを示す。つまり、記憶領域71,72及び73のうちのハッチングが施されていない記憶領域は上記第1の記憶領域を示す。   7A, 7 </ b> B, and 7 </ b> C, in the storage areas 71, 72, and 73 that are not hatched, similar commands corresponding to the storage areas correspond to the three storage areas 71 to 73, respectively. Indicates that it is being executed first in a group of similar commands. That is, of the storage areas 71, 72, and 73, the storage area that is not hatched indicates the first storage area.

また、図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 show storage areas 710, 720, and 730 that are associated with the storage areas 71, 72, and 73, respectively. In FIGS. 7A, 7B, and 7C, storage areas 710, 720, and 730 that are not hatched indicate designated areas, respectively. 7A, 7 </ b> B, and 7 </ b> C, storage areas (first storage areas) that are not hatched among the specified storage areas 71 to 73 are storage areas 710, 720, and 730. The storage area 74 including the storage areas 71 to 73 corresponds to the storage area (second storage area) 740 including the storage areas 710, 720, and 730 so as to correspond to the designated area that is not hatched. It is attached.

図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 storage areas 720 and 730 correspond to the storage areas 72 and 73 excluding the storage area (first storage area) 71 among the storage areas 71 to 73. Therefore, in the case of FIG. 7A, a storage area (a storage area that is hatched) including the storage areas 720 and 730 is determined as the neighborhood area 750. In FIG. 7B, the storage areas 710 and 730 correspond to the storage areas 71 and 73 excluding the storage area (first storage area) 72 among the storage areas 71 to 73. Therefore, in the case of FIG. 7B, storage areas (storage areas with hatching) 710 and 730 are determined as neighboring areas 760 and 770, respectively. In FIG. 7C, the storage areas 710 and 720 correspond to the storage areas 71 and 72 excluding the storage area (first storage area) 73 among the storage areas 71 to 73. Therefore, in the case of FIG. 7C, the storage area (the storage area to which hatching is performed) composed of the storage areas 710 and 720 is determined as the neighborhood area 780.

ここで、近傍領域決定部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 region determination unit 333 will be described. Here, as described above, it is assumed that the log of each command having the entry number “2, 9, 12, 14” is extracted as a log of similar commands. In this case, three consecutive storage areas designated by the commands having the entry numbers “2, 9, 14”, that is, a storage area having a start address of 2800h and a size of 100h, a storage address having a start address of 2900h and a size of 100h An area and a storage area having a head address of 3A00h and a size of 100h are specified (step S7a). Of the commands with the entry numbers “2, 9, 14”, the command with the entry number “2” is identified as the head similar command (step S7b).

そして、特定された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 size 100h specified by the current read access command ( The storage area having a size of 300h (that is, a storage area having a start address of 2800h and a size of 300h) composed of the three specified storage areas has a size of 100h specified by the current read access command. It is made to correspond to a storage area (second storage area) having a size of 300 h including the area (designated area). In this case, similarly to FIG. 7C, a storage area having a size of 200h adjacent to the designated area behind the designated area is determined as a neighboring area (step S7c).

なお、上記の例では、抽出された類似コマンドのログに基づいて特定される連続する記憶領域の群の組が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 storage areas 71 to 71 shown in FIG. Instead of 73 and 710 to 730, a storage area corresponding to the transfer size range to which the storage areas 71 to 73 and 710 to 730 belong may be used.

さて、近傍領域決定部333によって決定された近傍領域の先頭アドレス及びサイズは、それぞれ近傍領域の情報をなす先読み先頭アドレス及び先読みサイズとして、データアクセス処理決定部340に通知される。先読み先頭アドレス及び先読みサイズは、後述する第1のデータアクセス処理(ステップS11)または第3のデータアクセス処理(ステップS13)が実行される場合に、当該データアクセス処理で用いられる。   Now, the start address and size of the neighborhood area determined by the neighborhood area determination unit 333 are notified to the data access processing determination unit 340 as the prefetch start address and the prefetch size forming the information of the neighborhood area, respectively. The prefetch start address and the prefetch size are used in the data access process when a first data access process (step S11) or a third data access process (step S13) described later is executed.

アクセス再出現率算出部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 rate calculating unit 331 and the access appearance rate calculating unit 332, respectively, and information on the neighboring region determined by the neighboring region determining unit 333 (read-ahead start address) And the information on the prefetch size) are notified to the data access processing determination unit 340. Then, when the W / R type of the current access command is read (R), the cache execution determining unit 341 in the data access processing determining unit 340 has the same area access reappearance rate equal to or higher than a predetermined first threshold. Is determined (step S8). Based on the determination result, the cache execution determination unit 341 determines whether to store (delete) the data specified by the current access command and stored in the cache memory 113 in the cache memory 113.

一方、データアクセス処理決定部340内の先読み決定部342は、同一領域アクセス再出現率が第1の閾値未満である場合または第1の閾値以上である場合のそれぞれにおいて、近傍領域アクセス出現率が予め定められた第2の閾値以上であるかを判定する(ステップS9またはS10)。先読み決定部342は、この判定結果に基づき、現アクセスコマンドの指定する記憶領域の近傍領域のデータをキャッシュメモリ113に先読みするか否かを決定する。   On the other hand, the prefetch determination unit 342 in the data access processing determination unit 340 has the neighborhood region access appearance rate when the same region access re-appearance rate is less than the first threshold value or greater than or equal to the first threshold value. It is determined whether it is equal to or greater than a predetermined second threshold (step S9 or S10). Based on the determination result, the prefetch determination unit 342 determines whether or not to prefetch data in the vicinity of the storage area designated by the current access command into the cache memory 113.

以上のキャッシュ実行決定部341及び先読み決定部342の決定結果(判定結果)は、データアクセス処理決定部340によってデータアクセス部350に通知される。するとデータアクセス部350は、通知された決定結果に基づき、第1のデータアクセス処理(ステップS11)、第2のデータアクセス処理(ステップS12)、第3のデータアクセス処理(ステップS13)及び第4のデータアクセス処理(ステップS14)の何れか1つを実行する。   The data access processing determination unit 340 notifies the data access unit 350 of the determination results (determination results) of the cache execution determination unit 341 and the prefetch determination unit 342 described above. Then, based on the notified determination result, the data access unit 350 performs the first data access process (step S11), the second data access process (step S12), the third data access process (step S13), and the fourth data access process. Any one of the data access processes (step S14) is executed.

まず、同一領域アクセス再現率が第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 cache memory 113 and prefetching of data in the neighboring area are determined, a first data access process (step S11) is executed. Next, since the same region access re-appearance rate is less than the first threshold (step S8 is NO) and the neighborhood region access appearance rate is less than the second threshold (step S9 is NO), the cache memory of the designated data When it is determined to delete from 113 and no prefetching of data in the neighboring area, the second data access process (step S12) is executed. Next, since the same region access re-appearance rate is equal to or higher than the first threshold (step S8 is YES) and the neighboring region access appearance rate is equal to or higher than the second threshold (step S10 is YES), the cache memory of the designated data When holding in 113 and prefetching of data in the neighboring area are determined, a third data access process (step S13) is executed. Since the same area access reappearance rate is equal to or higher than the first threshold (step S8 is YES) and the neighboring area access appearance rate is less than the second threshold (step S10 is NO), the cache memory 113 for the designated data is stored. When it is determined that the data is not stored and the data in the neighboring area is not prefetched, the fourth data access process (step S14) is executed.

ここで、第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 table management unit 360 executes step S3 as in the case where step S2 is executed.

次に上記各データアクセス処理(ステップ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 logical storage device 120 based on the current read access command will be read again by the read access command newly transmitted from the host computer 13. is expected. Therefore, even if the data read based on the current read access command is held in the cache memory 113, a cache hit cannot be expected for the data in the near future.

一方、近傍領域アクセス出現率が高い場合、現リードアクセスコマンドの指定する記憶領域(指定領域)の近傍領域へのアクセスが発生する可能性が高いと予測される。したがって、指定領域の近傍領域のデータをキャッシュメモリ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 cache memory 113 and stored in the cache memory 113, it is expected that the data in the vicinity area will be cache hit in the near future.

そこでデータアクセス部350は、第1のデータアクセス処理において、現リードアクセスコマンドによって指定された論理記憶装置120内の記憶領域(指定領域)のデータ(ホスト計算機13から要求されたデータ)をキャッシュメモリ113に読み込むと共に、近傍領域決定部333によって決定された(先読み先頭アドレス及び先読みサイズで示される)近傍領域のデータ(先読みサイズ分のデータ)をキャッシュメモリ113に先読みする(ステップS11a)。即ちデータアクセス部350は、「ホスト計算機13からの要求サイズ+先読みサイズ」分のデータをキャッシュメモリ113に読み込む。   Therefore, in the first data access process, the data access unit 350 stores the data in the storage area (specified area) in the logical storage device 120 specified by the current read access command (data requested from the host computer 13) in the cache memory. In addition, the data in the neighborhood area (indicated by the prefetch start address and the prefetch size) determined by the neighborhood area determination unit 333 is prefetched into the cache memory 113 (step S11a). That is, the data access unit 350 reads data corresponding to “request size from the host computer 13 + prefetch size” into the cache memory 113.

次に、データアクセス部350は、キャッシュメモリ113に読み込まれたデータのうち、ホスト計算機13から要求されたデータを当該ホスト計算機13に転送する(ステップS11b)。データアクセス部350は、このデータの転送後、直ちに当該データをキャッシュメモリ113から削除して、当該データが保持されていたキャッシュメモリ113内の領域を解放する(ステップS11c)。これにより第1のデータアクセス処理は終了する。   Next, the data access unit 350 transfers the data requested from the host computer 13 among the data read into the cache memory 113 to the host computer 13 (step S11b). After the data transfer, the data access unit 350 immediately deletes the data from the cache memory 113 and releases the area in the cache memory 113 that holds the data (step S11c). Thus, the first data access process ends.

ステップ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 cache memory 113 with data that is unlikely to be read again. On the other hand, since the cache memory 113 holds the data in the neighborhood area that is prefetched in the cache memory 113 and is likely to be accessed from the host computer 13, the data is requested from the host computer 13. The data can be immediately transferred to the host computer 13.

このように本実施形態においては、キャッシュメモリ113の限られた領域(キャッシュメモリリソース)を、より効果の高いアクセスに対し優先的に割り当てることにより、当該キャッシュメモリ113の最良の効果を得ることができる。しかも、より効果の高いアクセスである(つまり、同一領域アクセス再出現率、或いは近傍領域アクセス出現率が高い)かの判定には、現アクセスコマンドそれ自体を含むコマンド列の指定するアクセスの傾向ではなくて、アクセスコマンドログテーブル119から抽出された現アクセスコマンドに類似のコマンドのアクセス傾向が用いられる。このため、ホスト計算機13からのアクセスが同時期に多種多様に混在して存在する場合であっても、少ないアクセスコマンド列(特許文献2に記載された先読み閾値より少ない回数)で完結するようなシーケンシャルアクセスであっても、キャッシュメモリ113へのアクセスを伴う、現アクセスコマンドに対応する最適なデータアクセス処理を簡単に決定することができる。また、ホスト計算機13からのアクセスが同時期に多種多様に混在して存在する場合に容易に対応できるため、論理記憶装置が大容量化しても、特許文献1に記載の技術で適用される統計情報に相当するアクセスコマンドのログを保持するアクセスコマンドログテーブルに必要な記憶容量の増加を抑えることができる。   As described above, in the present embodiment, the best effect of the cache memory 113 can be obtained by preferentially allocating a limited area (cache memory resource) of the cache memory 113 to a more effective access. it can. In addition, in determining whether the access is more effective (that is, the same area access reappearance rate or the neighboring area access appearance rate is high), the access tendency specified by the command string including the current access command itself is used. Instead, a command access tendency similar to the current access command extracted from the access command log table 119 is used. For this reason, even when accesses from the host computer 13 exist in a variety of mixed manners at the same time, it can be completed with a small access command sequence (number of times less than the prefetch threshold described in Patent Document 2). Even in the case of sequential access, it is possible to easily determine the optimum data access process corresponding to the current access command that accompanies access to the cache memory 113. In addition, since it is possible to easily cope with a case where accesses from the host computer 13 exist in a mixed manner at the same time, even if the capacity of the logical storage device is increased, the statistics applied by the technique described in Patent Document 1 are used. It is possible to suppress an increase in storage capacity required for an access command log table that holds an access command log corresponding to information.

次に、第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 data access unit 350 caches only data in the storage area (designated area) in the logical storage device 120 designated by the current read access command (data requested from the host computer 13). The data is read into the memory 113 (step S12a).

次に、データアクセス部350は、キャッシュメモリ113に読み込まれたデータ(ホスト計算機13から要求されたデータ)をホスト計算機13に転送する(ステップS12b)。データアクセス部350は、このデータの転送後、直ちに当該データをキャッシュメモリ113から削除して、当該データが保持されていたキャッシュメモリ113内の領域を解放する(ステップS12c)。これにより第2のデータアクセス処理は終了する。   Next, the data access unit 350 transfers the data read into the cache memory 113 (data requested from the host computer 13) to the host computer 13 (step S12b). After the data transfer, the data access unit 350 immediately deletes the data from the cache memory 113 and releases the area in the cache memory 113 that holds the data (step S12c). Thus, the second data access process ends.

次に、第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 data access unit 350 stores the data in the storage area (designated area) in the logical storage device 120 designated by the current read access command in the same way as the first data access process. While reading into the cache memory 113, data in the neighborhood area (indicated by the prefetch start address and the prefetch size) determined by the neighborhood area determination unit 333 is prefetched into the cache memory 113 (step S13a).

次に、データアクセス部350は、キャッシュメモリ113に読み込まれたデータのうち、ホスト計算機13から要求されたデータを当該ホスト計算機13に転送する(ステップS13b)。これにより第3のデータアクセス処理は終了する。このように第3のデータアクセス処理では、ホスト計算機13から要求された指定領域のデータがキャッシュメモリ113に保持されると共に、その近傍領域のデータが当該キャッシュメモリ113に先読みされる。   Next, the data access unit 350 transfers the data requested from the host computer 13 among the data read into the cache memory 113 to the host computer 13 (step S13b). Thus, the third data access process ends. As described above, in the third data access process, the data in the designated area requested from the host computer 13 is held in the cache memory 113 and the data in the vicinity area is prefetched into the cache memory 113.

次に、第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 data access unit 350 caches only data in the storage area (specified area) in the logical storage device 120 specified by the current read access command (data requested from the host computer 13). The data is read into the memory 113 (step S14a).

次に、データアクセス部350は、キャッシュメモリ113に読み込まれたデータ(ホスト計算機13から要求されたデータ)をホスト計算機13に転送する(ステップS14b)。これにより第4のデータアクセス処理は終了する。   Next, the data access unit 350 transfers the data read into the cache memory 113 (data requested from the host computer 13) to the host computer 13 (step S14b). Thus, the fourth data access process ends.

上述のように本実施形態においては、キャッシュヒットの期待できるデータを優先的にキャッシュメモリ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 cache memory 113, and data that is expected to be accessed later is read in advance from the logical storage device 120. By holding in the cache memory 113, it is possible to effectively use a limited storage area (cache memory resource) of the cache memory 113, improve the cache hit rate, and consequently improve the access performance.

次に、データアクセス処理ユニット300において実行されるライトアクセス処理について、図8のフローチャートを参照して説明する。
今、ホスト計算機30から記憶制御装置11にホスト接続インタフェース21を介してW/R種別がライト(W)であるアクセスコマンド(ライトアクセスコマンド、つまりライト要求)が送信されたものとする。このライトアクセスコマンドが記憶制御装置11によって受信されると、データアクセス処理ユニット300では、次のようなライトアクセス処理が行われる。
Next, write access processing executed in the data access processing unit 300 will be described with reference to the flowchart of FIG.
Assume that an access command (write access command, that is, a write request) whose W / R type is write (W) is transmitted from the host computer 30 to the storage controller 11 via the host connection interface 21. When the write access command is received by the storage control device 11, the data access processing unit 300 performs the following write access processing.

まず類似コマンド抽出部320が、先に述べたリードアクセスコマンドの場合と同様に、アクセスコマンドログテーブル119から現ライトアクセスコマンドに類似したコマンド(ライトアクセスコマンド)のログを抽出する(ステップS21)。   First, the similar command extraction unit 320 extracts a log of a command (write access command) similar to the current write access command from the access command log table 119, as in the case of the read access command described above (step S21).

するとアクセス傾向判定部330内のアクセス再出現率算出部331は、抽出された類似コマンドのログに基づき同一領域アクセス再出現率を算出する(ステップS22)。一方、アクセス傾向判定部330内のアクセス出現率算出部332は、抽出された類似コマンドのログに基づき、近傍領域アクセス出現率を算出する(ステップS23)。これらのステップS22及びS23は、前述のリードアクセス処理におけるステップS5及びS6と同様に行われる。   Then, the access reappearance rate calculation unit 331 in the access tendency determination unit 330 calculates the same region access reappearance rate based on the extracted log of similar commands (step S22). On the other hand, the access appearance rate calculation unit 332 in the access tendency determination unit 330 calculates a neighborhood area access appearance rate based on the extracted log of similar commands (step S23). These steps S22 and S23 are performed in the same manner as steps S5 and S6 in the read access process described above.

データアクセス処理決定部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 delay determining unit 343 in the data access processing determining unit 340 is the same area access reappearance rate calculated by the access reappearance rate calculating unit 331 or It is determined whether the neighborhood area access appearance rate calculated by the access appearance rate calculation unit 332 is equal to or greater than a first threshold value or a second threshold value (here, the first threshold value = the second threshold value) (step S1). S24).

もし、同一領域アクセス再出現率または近傍領域アクセス出現率が閾値(第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 delay determination unit 343 stores the write data specified by the current write access command from the host computer 13 in the cache memory 113 based on the determination result in step S24, and then stores the write data in the logical storage device 120 ( It is determined whether the processing (destaging) to be written to the HDD 12) that is configured to be delayed or immediately executed. Specifically, when the same region access reappearance rate or the neighboring region access appearance rate is equal to or greater than the threshold (YES in step S24), the destaging delay determination unit 343 determines the destaging delay. On the other hand, when the same region access reappearance rate or the neighboring region access appearance rate is less than the threshold value (NO in step S24), the destaging delay determination unit 343 determines to perform destaging immediately.

デステージング遅延決定部343による決定結果(判定結果)はデータアクセス部350に通知される。するとデータアクセス部350は、通知された決定結果に基づき、ステップS25及びS26の何れか一方を次のように実行する。   The determination result (determination result) by the destaging delay determination unit 343 is notified to the data access unit 350. Then, the data access unit 350 executes one of steps S25 and S26 as follows based on the notified determination result.

まず、同一領域アクセス再出現率が閾値(第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 data access unit 350 stores the write data specified by the current write access command from the host computer 13 in the cache memory 113 in a mode (first mode) in which destaging to the logical storage device 120 is delayed. (Step S25). As a result, there is a high possibility that a write access to the same area as the storage area (specified area) specified by the current write access command will occur, so that the cache memory 113 will transfer to the same area in the logical storage device 120. It is possible to prevent the number of data destaging (the number of writes) from increasing.

同様に、近傍領域アクセス出現率が閾値以上であると判定された結果、デステージングの遅延が決定されたものとする。この場合も、データアクセス部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 data access unit 350 uses the cache memory 113 to write the write data specified by the current write access command from the host computer 13 in the first mode (the mode in which destaging to the logical storage device 120 is delayed). (Step S25). As a result, when a write access to a neighboring area of the storage area (designated area) designated by the current write access command occurs, data is collectively transferred from the cache memory 113 to the designated area and neighboring area in the logical storage device 120. Can be written, and the number of times of destaging (number of times of writing) can be reduced.

一般に論理記憶装置120(を構成するHDD12)はホスト計算機13やキャッシュメモリ113に比べ性能が低いため、アクセスの負荷が高くなると、当該記憶装置120へのアクセスがボトルネックとなることが多い。このため、論理記憶装置120への書き込み回数を削減することは、アクセス性能の向上に寄与する。また、ライトデータがキャッシュメモリ113に保持される期間が長くなるため、当該データのリードを要求するリードアクセスコマンドがホスト計算機13から送られた場合にはキャッシュヒットとなって、当該ホスト計算機13に対して高速に応答できる効果もある。   In general, since the performance of the logical storage device 120 (the HDD 12 constituting the logical storage device 120) is lower than that of the host computer 13 and the cache memory 113, access to the storage device 120 often becomes a bottleneck when the access load increases. For this reason, reducing the number of writes to the logical storage device 120 contributes to an improvement in access performance. Further, since the period for which the write data is held in the cache memory 113 becomes long, when a read access command for requesting reading of the data is sent from the host computer 13, a cache hit occurs and the host computer 13 is informed. There is also an effect that can respond at high speed.

これに対し、同一領域アクセス再出現率及び近傍領域アクセス出現率の何れも閾値以下であると判定された結果、デステージングを直ちに行うことが決定されたものとする。この場合、データアクセス部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 data access unit 350 stores the write data specified by the current write access command from the host computer 13 in the cache memory 113 in a mode (second mode) in which destaging to the logical storage device 120 is performed immediately. (Step S26). In the second mode, after the write data stored in the cache memory 113 is immediately destaged, the data is deleted from the cache memory 113, and the area in the cache memory 113 in which the data is held is changed. To be released.

同一領域アクセス再出現率及び近傍領域アクセス出現率の何れも閾値以下の場合、近い将来に同一領域または近傍領域へのアクセスが発生することは期待できない。このような場合に、現ライトアクセスコマンドで指定されたライトデータをキャッシュメモリ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 cache memory 113 reduces the utilization efficiency of the cache memory 113. However, in this embodiment, the write data is stored in the cache memory 113 in the second mode (step S26). Therefore, the destaging of the write data stored in the cache memory 113 is immediately performed, and thereafter the data is deleted from the cache memory 113 and the corresponding area in the cache memory 113 is released. Thereby, it is possible to prevent the use efficiency of the cache memory 113 from being lowered.

ステップS25及びS26の何れか一方が実行されると、テーブル管理部360は、現ライトアクセスコマンドのログ、即ち現ライトアクセスコマンドの指定するW/R種別であるライト(W)、先頭アドレス及び転送サイズの各情報を、次ポインタPの指し示すアクセスコマンドログテーブル119内のエントリに追加する(ステップS27)。このステップS27において、テーブル管理部360は次ポインタPを1インクリメントする。これにより、現ライトアクセスコマンドに対応するライトアクセス処理は終了する。   When one of steps S25 and S26 is executed, the table management unit 360 logs the current write access command, that is, the write (W) that is the W / R type specified by the current write access command, the head address, and the transfer. Each size information is added to the entry in the access command log table 119 pointed to by the next pointer P (step S27). In step S27, the table management unit 360 increments the next pointer P by 1. As a result, the write access process corresponding to the current write access command ends.

なお、アクセス傾向判定部330がアクセス再出現率算出部331及びアクセス出現率算出部332のいずれか一方のみを有していても構わない。もし、アクセス傾向判定部330がアクセス再出現率算出部331のみを有している場合のリードアクセス処理では、データアクセス処理決定部340は、同一領域アクセス再出現率に応じて第2のデータアクセス処理または第4のデータアクセス処理を決定すれば良い。同様に、アクセス傾向判定部330がアクセス出現率算出部332のみを有している場合のリードアクセス処理では、データアクセス処理決定部340は、近傍領域アクセス出現率に応じて第3のデータアクセス処理または第4のデータアクセス処理を決定すれば良い。   Note that the access tendency determination unit 330 may have only one of the access reappearance rate calculation unit 331 and the access appearance rate calculation unit 332. In the read access process when the access tendency determination unit 330 has only the access reappearance rate calculation unit 331, the data access processing determination unit 340 determines the second data access according to the same area access reappearance rate. The process or the fourth data access process may be determined. Similarly, in the read access process when the access tendency determination unit 330 has only the access appearance rate calculation unit 332, the data access process determination unit 340 performs the third data access process according to the neighborhood area access appearance rate. Alternatively, the fourth data access process may be determined.

[変形例]
次に上記実施形態の変形例について説明する。この変形例の特徴は、論理記憶装置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 logical storage device 120 is divided into a plurality of zones, and the processing including extraction of similar commands applied in the above embodiment is applied to each zone.

図9は、複数のゾーンに分割された論理記憶装置120と当該複数のゾーンを管理するためのゾーン管理テーブル90とを示す。図9の例では、論理記憶装置120の記憶領域はM+1個のゾーンZ0(#0),Z1(#1),Z2(#2),…ZM(#M)に分割して管理される。ここでゾーンZ0〜ZMのサイズは均等でも均等でなくても構わない。もし、論理記憶装置120内の部分的な領域毎に予め用途が定められているならば、その領域毎にゾーンを定義すると良い。   FIG. 9 shows a logical storage device 120 divided into a plurality of zones and a zone management table 90 for managing the plurality of zones. In the example of FIG. 9, the storage area of the logical storage device 120 is managed by being divided into M + 1 zones Z0 (# 0), Z1 (# 1), Z2 (# 2),... ZM (#M). Here, the sizes of the zones Z0 to ZM may be uniform or non-uniform. If a use is predetermined for each partial area in the logical storage device 120, a zone may be defined for each area.

ゾーン管理テーブル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 logical storage device 120. The entry with the entry number i (i = 0 to M) in the zone management table 90 is used to hold information (zone information) of the zone Zi of the zone number i that matches the entry number i. Each entry of the zone management table 90 includes fields 91 and 92. The fields 91 and 92 of the entry with the entry number i (i = 0 to M) in the table 90 hold information on the start address (start block address) and size (block size) of the zone Zi of the zone number i, respectively. Used.

上述のように、ゾーン管理テーブル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 host computer 13, the similar command extraction unit 320 refers to the zone management table 90 and stores in the access command log table 119 specified by the access command. It is determined to which of the zones Z0 to ZM the area (designated area) belongs. The similar command extraction unit 320 extracts a log of similar commands based on the access command log table 119 corresponding to the determined zone.

このように、ゾーン毎に、上記実施形態で適用された、類似コマンドの抽出を含む処理を適用することにより、アクセスの傾向に局所性のあるような場合は、同一領域アクセス再出現率及び近傍領域アクセス出現率の判定の精度を向上させる効果が期待できる。   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 host computer 13, a zone management table 90 is prepared for each logical storage device, and an access command log table 119 is prepared for each logical storage device and for each zone. It ’s fine.

本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。   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.

本発明の一実施形態に係る計算機システムの構成を示すブロック図。The block diagram which shows the structure of the computer system which concerns on one Embodiment of this invention. 図1に示されるアクセスコマンドログテーブルのデータ構造例を次ポインタと対応付けて示す図。The figure which shows the data structure example of the access command log table shown by FIG. 1 matched with a next pointer. 図1に示される記憶制御装置内に実現されるデータアクセス処理装置の構成を示すブロック図。The block diagram which shows the structure of the data access processing apparatus implement | achieved in the storage control apparatus shown by FIG. 同実施形態におけるリードアクセス処理の手順を示すフローチャート。6 is a flowchart showing a procedure of read access processing in the embodiment. 図4のフローチャートにおける近傍領域決定処理の手順を示すフローチャート。5 is a flowchart showing a procedure of neighborhood region determination processing in the flowchart of FIG. 4. 図4のフローチャートにおける第1乃至第4のデータアクセス処理の手順を示すフローチャート。5 is a flowchart showing a procedure of first to fourth data access processes in the flowchart of FIG. 4. 上記近傍領域決定処理を説明するための図。The figure for demonstrating the said vicinity area determination process. 同実施形態におけるライトアクセス処理の手順を示すフローチャート。6 is a flowchart showing the procedure of write access processing in the embodiment. 同実施形態の変形例で適用される、複数のゾーンに分割された論理記憶装置と当該複数のゾーンを管理するためのゾーン管理テーブルとを示す図。The figure which shows the logical storage apparatus divided | segmented into the several zone applied in the modification of the embodiment, and the zone management table for managing the said several zone.

符号の説明Explanation of symbols

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 SYMBOLS 11 ... Storage control device, 12 ... HDD (storage device), 13 ... Host computer, 30 ... Data access processing device, 90 ... Zone management table, 113 ... Cache memory, 115 ... Microprocessor, 116 ... Memory (local memory), 117 ... ROM, 118 ... program, 119 ... access command log table, 120 ... logical storage device, 300 ... data access processing unit, 310 ... cache hit determination unit, 320 ... similar command extraction unit, 330 ... access tendency determination unit, 331 ... access reappearance rate calculation unit, 332 ... access appearance rate calculation unit, 333 ... neighboring region determination unit, 340 ... data access processing determination unit, 341 ... cache execution determination unit, 342 ... prefetch determination unit, 343 ... destaging delay determination Part, 350... Data access part, 36 ... table management unit.

Claims (10)

ホスト計算機及び少なくとも1つの記憶装置と接続され、前記記憶装置の一部または全ての領域を使用して前記ホスト計算機に対して論理記憶装置を提供すると共に、前記ホスト計算機と前記記憶装置との間のデータ転送を処理し、前記ホスト計算機からのアクセスコマンドによって指定された読み出し/書き込みデータを一時的に保持するための前記記憶装置よりも高速なキャッシュメモリと、前記アクセスコマンドの指定するアクセス種別、並びに前記アクセスコマンドの指定する前記論理記憶装置内の領域を示す先頭アドレス及び転送サイズまたは当該転送サイズが属する転送サイズ範囲の情報を当該アクセスコマンドのログとして保持するためのアクセスコマンドログテーブルとを有する記憶制御装置において実行される、前記ホスト計算機からのアクセスコマンドに従うデータアクセスを処理するデータアクセス処理方法であって、
前記ホスト計算機から前記記憶制御装置に与えられる今回処理されるべき現アクセスコマンドに基づき前記アクセスコマンドログテーブルを参照することにより、当該現アクセスコマンドと同一アクセス種別で、且つ当該現アクセスコマンドと同一転送サイズまたは同一転送サイズ範囲の全てのアクセスコマンドのログを、当該現アクセスコマンドと特徴が類似した類似コマンドのログとして抽出するステップと、
前記抽出された類似コマンドのログに基づき、前記抽出された類似コマンドの数に対する、同一領域を指定する類似コマンドの数の割合を、前記同一領域へのアクセスが再度出現する割合である同一領域アクセス再出現率として算出するステップと、
前記算出された同一領域アクセス再出現率が予め定められた第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 .
前記データアクセス処理を決定するステップでは、前記現アクセスコマンドの指定するアクセス種別がリードの場合、前記算出された同一領域アクセス再出現率が前記第1の閾値以上であるかに基づいて、前記現アクセスコマンドの指定するデータを前記キャッシュメモリに保持するかが決定される
ことを特徴とする請求項記載のデータアクセス処理方法。
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.
前記データアクセス処理を決定するステップでは、前記現アクセスコマンドの指定するアクセス種別がライトの場合、前記算出された同一領域アクセス再出現率が前記第1の閾値以上であるかに基づいて、前記現アクセスコマンドの指定するデータを前記キャッシュメモリから前記論理記憶装置へ書き込むデステージングのタイミングを遅延させるかが決定されることを特徴とする請求項記載のデータアクセス処理方法。 In the step of determining the data access process, when the access type specified by the current access command is write, the current access command is determined based on whether the calculated same area access reappearance rate is equal to or higher than the first threshold. 3. The data access processing method according to claim 2, wherein whether to delay the destaging timing for writing the data designated by the access command from the cache memory to the logical storage device is determined. 前記抽出された類似コマンドのログに基づき、当該類似コマンドの指定する領域の近傍の領域を指定する他の類似コマンドの数の前記抽出された類似コマンドの数に対する割合を、前記近傍の領域へのアクセスが出現する割合である近傍領域アクセス出現率として算出するステップを更に具備し、
前記データアクセス処理を決定するステップでは、前記算出された近傍領域アクセス出現率が予め定められた第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.
前記データアクセス処理を決定するステップでは、前記現アクセスコマンドの指定するアクセス種別と、前記算出された近傍領域アクセス出現率が前記第2の閾値以上であるか否かとに基づいて、前記現アクセスコマンドの指定する領域の近傍の領域のデータを前記キャッシュメモリに先読みするか否か、または前記現アクセスコマンドの指定するデータを前記キャッシュメモリから前記論理記憶装置へ書き込むデステージングのタイミングを遅延させるか否かが決定される
ことを特徴とする請求項記載のデータアクセス処理方法。
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.
前記データアクセス処理を決定するステップでは、前記現アクセスコマンドの指定するアクセス種別がリードの場合、前記算出された近傍領域アクセス出現率が前記第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 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.
前記データアクセス処理を決定するステップでは、前記現アクセスコマンドの指定するアクセス種別がライトの場合、前記算出された近傍領域アクセス出現率が前記第2の閾値以上であるかに基づいて、前記現アクセスコマンドの指定するデータを前記キャッシュメモリから前記論理記憶装置へ書き込むデステージングのタイミングを遅延させるかが決定されることを特徴とする請求項記載のデータアクセス処理方法。 In the step of determining the data access processing, when the access type specified by the current access command is write, the current access is determined based on whether the calculated neighborhood area access appearance rate is equal to or higher than the second threshold. 7. The data access processing method according to claim 6, wherein whether to delay the destaging timing for writing the data designated by the command from the cache memory to the logical storage device is determined. 前記論理記憶装置の記憶領域全体は複数のゾーンに分割して管理され、
前記記憶制御装置は前記アクセスコマンドログテーブルを前記ゾーン毎に有し、
前記抽出するステップでは、前記現アクセスコマンドの指定する領域が属するゾーンに対応する前記アクセスコマンドログテーブルが参照され、
前記追加するステップでは、前記現アクセスコマンドのログが当該現アクセスコマンドの指定する領域が属するゾーンに対応する前記アクセスコマンドログテーブルに追加される
ことを特徴とする請求項1乃至のいずれかに記載のデータアクセス処理方法。
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つの記憶装置と接続され、前記記憶装置の一部または全ての領域を使用して前記ホスト計算機に対して論理記憶装置を提供すると共に、前記ホスト計算機と前記記憶装置との間のデータ転送を処理する記憶制御装置において、
前記ホスト計算機からのアクセスコマンドによって指定された読み出し/書き込みデータを一時的に保持するための前記記憶装置よりも高速なキャッシュメモリと、
前記アクセスコマンドの指定するアクセス種別、並びに前記アクセスコマンドの指定する前記論理記憶装置内の領域を示す先頭アドレス及び転送サイズまたは当該転送サイズが属する転送サイズ範囲の情報を当該アクセスコマンドのログとして保持するためのアクセスコマンドログテーブルと、
前記ホスト計算機から前記記憶制御装置に与えられる今回処理されるべき現アクセスコマンドに基づき前記アクセスコマンドログテーブルを参照することにより、当該現アクセスコマンドと同一アクセス種別で、且つ当該現アクセスコマンドと同一転送サイズまたは同一転送サイズ範囲の全てのアクセスコマンドのログを、当該現アクセスコマンドと特徴が類似した類似コマンドのログとして抽出する類似コマンド抽出手段と、
前記抽出された類似コマンドのログに基づき、前記抽出された類似コマンドの数に対する、同一領域を指定する類似コマンドの数の割合を、前記同一領域へのアクセスが再度出現する割合である同一領域アクセス再出現率として算出する同一領域アクセス再出現率算出手段と、
前記算出された同一領域アクセス再出現率が予め定められた第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.
JP2007135602A 2007-05-22 2007-05-22 Data access processing method and storage control device Active JP4558003B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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