JP4606998B2 - Network cache device and program - Google Patents

Network cache device and program Download PDF

Info

Publication number
JP4606998B2
JP4606998B2 JP2005339005A JP2005339005A JP4606998B2 JP 4606998 B2 JP4606998 B2 JP 4606998B2 JP 2005339005 A JP2005339005 A JP 2005339005A JP 2005339005 A JP2005339005 A JP 2005339005A JP 4606998 B2 JP4606998 B2 JP 4606998B2
Authority
JP
Japan
Prior art keywords
read
data
read request
storage device
cache
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.)
Expired - Fee Related
Application number
JP2005339005A
Other languages
Japanese (ja)
Other versions
JP2007148554A (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.)
Hitachi Ltd
Nippon Telegraph and Telephone Corp
Original Assignee
Hitachi Ltd
Nippon Telegraph and Telephone 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 Hitachi Ltd, Nippon Telegraph and Telephone Corp filed Critical Hitachi Ltd
Priority to JP2005339005A priority Critical patent/JP4606998B2/en
Publication of JP2007148554A publication Critical patent/JP2007148554A/en
Application granted granted Critical
Publication of JP4606998B2 publication Critical patent/JP4606998B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、コンピュータと、コンピュータの動作に必要なデータを格納した記憶装置との間の通信を仲介し、コンピュータが記憶装置から取得したデータまたはコンピュータが記憶装置に保存したデータを一時的に記憶し、コンピュータからリード要求されたデータが一時的に記憶しているデータ内にあれば、記憶装置にアクセスすることなく当該データをコンピュータに返送するネットワークキャッシュ装置およびそのプログラムに関する。   The present invention mediates communication between a computer and a storage device storing data necessary for the operation of the computer, and temporarily stores data obtained from the storage device by the computer or data stored in the storage device by the computer. In addition, the present invention relates to a network cache device that returns data to a computer without accessing the storage device if the data requested to be read from the computer is in temporarily stored data, and a program thereof.

特許文献1には、内蔵ハードディスク装置を持たないディスクレスパーソナルコンピュータ(PC)を起動する時間を短縮することのできるネットワークブートシステムが記載されている。特許文献1においては、キャッシュ装置は、ディスクレスPCから送信要求されたデータが規定の論理ブロック、例えば論理ブロック0番地の読み出し要求であると、ストレージ装置に論理ブロック0番地の読み出し要求を送信するとともに、予め設定されたOSイメージ分のデータの読み出し要求をストレージ装置に送信する。ストレージ装置からOSイメージ分のデータの読み出し応答を受信すると、キャッシュ装置は、受信したOSイメージを内蔵の記憶媒体に記憶し、これを契機として、ディスクレスPCからの論理ブロック1番地以降の読み出し要求に対しては、ストレージ装置に要求を行わず、自装置内に記憶しているOSイメージから該当するデータをディスクレスPCに転送する。また、特許文献1には、ディスクレスPCから認証サーバへ認証要求が送られたときに、認証正常であれば、認証サーバからキャッシュ装置へOSイメージの読み出し指示が出され、キャッシュ装置は、これを契機として、ディスクレスPCからの最初の「読み出し要求」を受信する前に、ストレージ装置に対してOSイメージの「読み出し要求」を送信することが記載されている。   Patent Document 1 describes a network boot system that can shorten the time for starting a diskless personal computer (PC) that does not have a built-in hard disk device. In Patent Document 1, if the data requested to be transmitted from the diskless PC is a read request for a specified logical block, for example, logical block 0, the cache device transmits a read request for logical block 0 to the storage device. Then, a request for reading data for a preset OS image is transmitted to the storage apparatus. When receiving a response to read the OS image data from the storage device, the cache device stores the received OS image in a built-in storage medium, and this triggers a read request for logical block 1 and subsequent addresses from the diskless PC. On the other hand, without making a request to the storage apparatus, the corresponding data is transferred from the OS image stored in the own apparatus to the diskless PC. Further, in Patent Document 1, when an authentication request is sent from a diskless PC to an authentication server, if the authentication is normal, an instruction to read out an OS image is issued from the authentication server to the cache device. As an opportunity, it is described that an OS image “read request” is transmitted to the storage apparatus before receiving the first “read request” from the diskless PC.

特開2005−149334号公報JP-A-2005-149334

特許文献1記載のネットワークブートシステムでは、コンピュータ(以下、PCを例に説明)によって記憶装置の既定の論理ブロック番地が読み出されたこと、あるいはコンピュータを使用開始しようとするユーザによるユーザ認証が成功したこと、を契機としてデータ先読みが開始する。そうすると、キャッシュ装置が、PCの動作に必要なデータを読み出し開始してから、PCの動作に伴ってPCがリード要求の発行を開始するまでの時間は、数秒〜10数秒しかない。   In the network boot system described in Patent Literature 1, a computer (hereinafter described as an example of a PC) has read a predetermined logical block address of a storage device, or user authentication by a user who is about to start using the computer is successful. As a result, data prefetching starts. Then, the time from when the cache device starts reading data necessary for the operation of the PC to when the PC starts issuing a read request with the operation of the PC is only several seconds to several tens of seconds.

そのため、キャッシュ装置と記憶装置との間のネットワークの伝送遅延時間や帯域の影響が無視できない場合、ならびにストレージアクセスの待ち時間が無視できない場合、キャッシュ装置がリード要求を発行してから、対象データの取得を完了するまでの時間(以下、「ネットワークレスポンス時間」と呼ぶ)が増加し、データ先読みに必要な時間に対する、ネットワークレスポンス時間の占める割合が無視できなくなり、データ先読みに必要な時間が増加する恐れがある。ネットワークの伝送遅延時間や帯域、ストレージアクセスの待ち時間がネットワークレスポンス時間に影響を与える様子を図1に示す。   Therefore, if the network transmission delay time between the cache device and the storage device cannot be ignored, or if the storage access latency cannot be ignored, the cache device issues a read request and The time required to complete the acquisition (hereinafter referred to as “network response time”) increases, the ratio of the network response time to the time required for data prefetching cannot be ignored, and the time required for data prefetching increases. There is a fear. FIG. 1 shows how network transmission delay time, bandwidth, and storage access waiting time affect network response time.

その結果、PCからのリード要求発行時に、その対象データの先読みが未実行となり、キャッシュ装置に対象データが保存されていないという状態(以下、「キャッシュミスヒット」という)が発生する。その場合PCのリード要求発行後、伝送遅延時間が大きく、あるいは帯域が小さい(以下、「性能が低い」と表現する)ネットワークを使用して記憶装置からデータの取得を待たなければならない。その結果、PCの動作に必要なデータの取得が遅延し、PCの動作速度の劣化防止効果が十分得られず、PCの使用者にとってはPCの動作が遅く感じられ、利便性が低下する。   As a result, when a read request is issued from the PC, prefetching of the target data is not executed, and a state in which the target data is not stored in the cache device (hereinafter referred to as “cache miss hit”) occurs. In that case, after issuing a read request of the PC, it is necessary to wait for data acquisition from the storage device using a network having a large transmission delay time or a small band (hereinafter referred to as “low performance”). As a result, the acquisition of data necessary for the operation of the PC is delayed, the effect of preventing the deterioration of the operation speed of the PC cannot be obtained sufficiently, and the PC user feels that the operation of the PC is slow, thus reducing convenience.

また、キャッシュ装置と記憶装置との間のネットワークとして、通信事業者が提供するベストエフォート型の商用ネットワークを利用した場合、ベストエフォートネットワークの伝送遅延時間や帯域が時々刻々変動することにより、PCの動作に必要なデータの取得時間も変動し、PCの動作速度が不安定化する。   In addition, when a best-effort commercial network provided by a telecommunications carrier is used as a network between the cache device and the storage device, the transmission delay time and bandwidth of the best-effort network fluctuate from moment to moment. The acquisition time of data necessary for the operation also varies, and the operation speed of the PC becomes unstable.

本発明は、前記課題を解決するためのものであって、キャッシュ装置によるデータ先読みを高速化することによって、データ先読みのためのリード要求が、コンピュータからのリード要求に先行して行われることを確実とするものである。すなわち、コンピュータによるリード要求の対象データはキャッシュ装置内に既に保存されていること(これを、「キャッシュヒット」という)が確実となる。   The present invention is to solve the above-mentioned problem, and by increasing the speed of data prefetching by a cache device, a read request for data prefetching is performed prior to a read request from a computer. It is certain. That is, it becomes certain that the target data of the read request by the computer is already stored in the cache device (this is called “cache hit”).

そうすると、コンピュータは、リード要求発行後、逐次、記憶装置からデータの取得を待つ必要がなく、同一のデータは、アクセス時間の短いキャッシュ装置から取得することができる。これは、より性能の高いネットワークを介してデータを取得することを意味するから、コンピュータの動作性能が向上する。   Then, after issuing the read request, the computer does not need to wait for acquisition of data from the storage device sequentially, and the same data can be acquired from a cache device with a short access time. This means that data is acquired via a network with higher performance, so that the operating performance of the computer is improved.

本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。   Of the inventions disclosed in this application, the outline of typical ones will be briefly described as follows.

第1の発明は、先読みパターンデータを格納する先読みパターンデータ格納領域を有する記憶デバイスと、コンピュータが発行するリード要求と同一の条件による先行リード要求を発行するための先読みパターンデータを先読みパターンデータ格納領域に格納する手段と、コンピュータが特定の動作に必要なデータを取得するためにリード要求の発行を開始する前に、先読みパターンデータの記述に従って先行リード要求を発行することにより、記憶装置からデータを取得して、当該データをキャッシュデータ格納領域内に一時的に記憶させる手段と、を備えることを特徴とする。   According to a first aspect of the present invention, there is provided a storage device having a prefetch pattern data storage area for storing prefetch pattern data, and prefetch pattern data for prefetch pattern data for issuing a predecessor read request under the same condition as a read request issued by a computer. Data from the storage device by issuing a preceding read request according to the description of the pre-read pattern data before the computer starts issuing a read request to acquire data necessary for a specific operation and means for storing in the area And a means for temporarily storing the data in a cache data storage area.

第2の発明は、先読みパターンデータを格納する先読みパターンデータ格納領域を有する記憶デバイスと、コンピュータが発行するリード要求において、時間的に連続して発行される複数のリード要求が読み出し対象とするブロック番地領域が連続している場合には、当該連続したブロック領域のすべてを読み出し対象とする1回の先行リード要求を発行するように変換した先読みパターンデータを先読みパターンデータ格納領域に格納する手段と、コンピュータが特定の動作に必要なデータを取得するためにリード要求の発行を開始する前に、先読みパターンデータの記述に従って先行リード要求を発行することにより、記憶装置からデータを取得して、当該データをキャッシュデータ格納領域内に一時的に記憶させる手段と、を備えることを特徴とする。   According to a second aspect of the present invention, there is provided a storage device having a prefetch pattern data storage area for storing prefetch pattern data, and a block to be read by a plurality of read requests issued continuously in time in a read request issued by a computer Means for storing, in the prefetch pattern data storage area, prefetch pattern data converted so as to issue one preceding read request for reading all of the consecutive block areas when the address areas are continuous; Before the computer starts issuing a read request to acquire data necessary for a specific operation, the data is acquired from the storage device by issuing a preceding read request according to the description of the prefetch pattern data. Means for temporarily storing data in the cache data storage area. The features.

第3の発明は、先読みパターンデータを格納する先読みパターンデータ格納領域を有する記憶デバイスと、コンピュータが発行するリード要求において、同一のブロック番地が複数のリード要求によって読み出される場合には、当該ブロック番地は1回の先行リード要求によって読み出され、かつ番地が連続する複数のブロックは、1回の先行リード要求によって読み出されるように変換した先読みパターンデータを先読みパターンデータ格納領域に格納する手段と、コンピュータが特定の動作に必要なデータを取得するためにリード要求の発行を開始する前に、先読みパターンデータの記述に従って先行リード要求を発行することにより、記憶装置からデータを取得して、当該データをキャッシュデータ格納領域内に一時的に記憶させる手段と、を備えることを特徴とする。   According to a third aspect of the present invention, when the same block address is read by a plurality of read requests in a storage device having a prefetch pattern data storage area for storing prefetch pattern data and a read request issued by a computer, the block address Is stored in the pre-read pattern data storage area in a plurality of blocks that are read by a single previous read request and converted so that a plurality of blocks having consecutive addresses are read by a single previous read request; Before the computer starts issuing a read request to acquire data necessary for a specific operation, the data is acquired from the storage device by issuing a preceding read request according to the description of the pre-read pattern data. To temporarily store the data in the cache data storage area Characterized in that it comprises a and.

第4の発明は、第3の発明において、格納する手段は、リード要求が、当該リード要求が対象とする読み出しブロックのブロック番地の昇順または降順で発行されるように変換して格納することを特徴とする。   In a fourth aspect based on the third aspect, the storing means converts the read request so that the read request is issued in ascending or descending order of the block address of the read block targeted by the read request. Features.

第5の発明は、第3の発明において、格納する手段は、コンピュータによる、より早期の読み出し対象となるブロックを含むリード要求が、より早期に発行されるように変換して格納することを特徴とする。   A fifth invention is characterized in that, in the third invention, the storing means converts and stores a read request including a block to be read earlier by a computer so that the read request is issued earlier. And

第6の発明は、第1〜5の発明において、記憶装置との間で2以上のセッションを確立し、データ先読みのために発行される任意のリード要求は、当該2以上のセッションのいずれかを選択して発行する手段を備えることを特徴とする。   According to a sixth aspect, in the first to fifth aspects, two or more sessions are established with the storage device, and any read request issued for data prefetching is one of the two or more sessions. It is characterized by comprising means for selecting and issuing.

以下、第1〜第6の発明を、変数を用いて説明する。   Hereinafter, the first to sixth inventions will be described using variables.

コンピュータは、所定の動作をするにあたり、記憶装置内のあるブロック番地を対象としたリード要求を発行することによって、当該動作に必要なデータを取得する。そして、そのリード要求の回数が合計N回であり、i番目のリード要求が読み出し対象とする記憶装置内ブロック番地は、開始ブロック番地をB、総ブロック数をLとする連続した複数のブロック番地であることが、キャッシュ装置にとって既知であるとする。以下、このようなコンピュータの所定の動作に伴うリード要求の発行パターンを、「読み出しパターンサンプル(B,L)」と表現することとする。また、[B,L]の表記は、論理ブロック番地Biから論理ブロック番地B+L−1の区間を意味するものとする。 In performing a predetermined operation, the computer issues a read request for a certain block address in the storage device to acquire data necessary for the operation. The number of read requests is N in total, and the block number in the storage device that is read by the i-th read request is a plurality of consecutive block addresses with B i as the start block address and L i as the total number of blocks. Assume that the block address is known to the cache device. Hereinafter, the issue pattern of the read request accompanying the predetermined operation of the computer will be expressed as “read pattern sample (B i , L i )”. The notation [B i , L i ] means a section from the logical block address Bi to the logical block address B i + L i −1.

第1〜6の発明は、既知の読み出しパターンサンプル(B,L)に基づき、データ先読みを行うことにある。そのうち、第2〜5の発明は、読み出しパターンサンプル(B,L)に対し、一定のアルゴリズムに基づいた加工を施すことにより、第1の発明と比較して、リード要求の発行を削減してデータ先読みを行うことにある。当該アルゴリズムは、第2〜5の発明においてそれぞれ異なる。また、第6の発明は、リード要求の発行を削減することはないが、リード要求を多重に発行することによって、ネットワークレスポンス時間の影響を極力排除しようとするものである。 First to sixth invention, based on the known readout pattern sample (B i, L i), it is to perform data prefetching. Among them, the second to fifth inventions reduce the issuance of read requests compared to the first invention by applying processing based on a certain algorithm to the read pattern samples (B i , L i ). And prefetching data. The algorithm is different in each of the second to fifth inventions. Further, the sixth invention does not reduce the issue of read requests, but tries to eliminate the influence of network response time as much as possible by issuing multiple read requests.

第1の発明は、データ先読みをN回のリード要求を発行することにより行うものであって、i番目のリード要求は[B,L]を対象とすることを特徴とするものである。要するに、キャッシュ装置が、読み出しパターンサンプル(B,L)によるリード要求の発行条件を完全に模倣して、データ先読みを行うものである。 According to a first aspect of the present invention, data prefetching is performed by issuing N read requests, and the i-th read request is targeted for [B i , L i ]. . In short, the cache device performs data prefetching by completely imitating the read request issuance conditions based on the read pattern samples (B i , L i ).

この発明によれば、データ先読みが完了する前にコンピュータの動作が開始したとしても、コンピュータからのリード要求が対象とするデータが既にキャッシュ装置内に記憶されていることがより確実となり、キャッシュヒットの割合を高めることができる。その結果、コンピュータは、記憶装置からデータを取得する必要がなく、同一のデータはキャッシュ装置から取得することができる。これは、より性能の高いネットワークを介してデータを取得することを意味するから、コンピュータの動作性能が向上する。   According to the present invention, even if the operation of the computer is started before the prefetching of data is completed, it becomes more certain that the data targeted by the read request from the computer is already stored in the cache device, and the cache hit The ratio of can be increased. As a result, the computer does not need to acquire data from the storage device, and the same data can be acquired from the cache device. This means that data is acquired via a network with higher performance, so that the operating performance of the computer is improved.

第2の発明を説明する。読み出しパターンサンプル(B,L)におけるi番目ないしj番目の合計j−i+1個のリード要求に着目したときに、連続する(i番目とi+1番目,i+1番目とi+2番目,・・・j−1番目とj番目の)リード要求の読み出し対象のブロック番地が連続している(B+L=Bi+1,Bi+1+Li+1=Bi+2,・・・Bj−1+Lj−1=Bとなる)場合がある。 The second invention will be described. When attention is paid to the i-th to j-th total j-i + 1 read requests in the read pattern sample (B i , L i ), the i-th and i + 1-th, i + 1-th and i + 2-th,. The block addresses to be read in the read requests of the (−1st and jth) read requests are continuous (B i + L i = B i + 1 , B i + 1 + L i + 1 = B i + 2 ,... B j−1 + L j−1 = B j ).

第2の発明は、このような場合において、第1の発明が発行するi番目ないしj番目のリード要求(合計j−i+1個)を、[B,B+L−B]を読み出し対象とする1回のリード要求に置き換えて記憶装置に発行することにより、データ先読みを行うことを特徴とする。例えば、2番目のリード要求が[2,2]、3番目のリード要求が[4,3]、4番目のリード要求が[7,4]であったとすると、これら3回のリード要求を、1回のリード要求[2,9]に置き換えて記憶装置に発行することにより、データ先読みを行うことを特徴とする。 In such a case, the second invention reads [B i , B j + L j −B i ] from the i th to j th read requests (total j−i + 1) issued by the first invention. Data prefetching is performed by replacing the target read request once and issuing it to the storage device. For example, if the second read request is [2, 2], the third read request is [4, 3], and the fourth read request is [7, 4], these three read requests are Data prefetching is performed by replacing it with a single read request [2, 9] and issuing it to the storage device.

この発明によれば、第1の発明では、データ先読みのためのリード要求の発行回数がN回であったものを、N回未満に削減することができる。その結果、リード要求を発行する度に発生するネットワークレスポンス時間の累積時間を削減することができ、データ先読みに必要な時間を短縮することができる。そうすると、キャッシュヒット率(リード要求1回当たりのキャッシュヒット数をいう。以下同じ)を高めることができ、PCの動作性能を向上させることができる。   According to this invention, in the first invention, the number of times of issuing read requests for data prefetching can be reduced to less than N times. As a result, it is possible to reduce the accumulated time of network response time that occurs every time a read request is issued, and to shorten the time required for data prefetching. Then, the cache hit rate (the number of cache hits per read request; the same applies hereinafter) can be increased, and the operation performance of the PC can be improved.

第3の発明は、読み出しパターンサンプル(B,L)に基づいてリード要求を発行する点では第1および2の発明と類似するが、読み出しパターンサンプル(B,L)を以下の方法により加工して、第1および2の発明とは異なる条件によってリード要求を発行するという特徴を持つ。 A third invention is readout pattern sample (B i, L i) in terms of issuing a read request based on is similar to the invention of the first and 2, readout pattern sample (B i, L i) following the It is processed by the method, and a read request is issued under conditions different from those of the first and second inventions.

まず、読み出しパターンサンプル(B,L)(1≦i≦N)において、整数kを1≦k≦Nの範囲で変化させた結果、B≦m≦B+L−1を1回以上満たしたすべての整数mを抽出する。これは、読み出しパターンサンプルにおいて、1回以上読み出し対象となったブロック番地をすべて抽出することを意味する。 First, in the read pattern sample (B i , L i ) (1 ≦ i ≦ N), as a result of changing the integer k in the range of 1 ≦ k ≦ N, B k ≦ m ≦ B k + L k −1 is 1 Extract all integers m that have been satisfied more than once. This means that all block addresses that have been read one or more times are extracted from the read pattern sample.

次に、抽出したブロック番地mを読み出し対象とするリード要求を発行することにより、データ先読みを行う。ただし、ブロック番地mが連続して存在(例えば、m=0,1,2,3,5,6,7・・・である場合には、m=0,1,2,3で連続して存在)している場合には、当該連続領域の開始ブロック番地をb,ブロック数をlとして、[b,l](上記の例では、[0,4])を読み出し対象とする1個だけのリード要求を発行する。 Next, data read-ahead is performed by issuing a read request for reading the extracted block address m. However, block addresses m exist continuously (for example, if m = 0, 1, 2, 3, 5, 6, 7..., M = 0, 1, 2, 3 continuously) If the start block address of the continuous area is b i , the number of blocks is l i , [b i , l i ] ([0, 4] in the above example) is the read target Issue only one read request.

本発明によれば、番地が連続するブロックを1回のリード要求で読み出し、かつ同一のブロック番地が2回以上のリード要求によって読み出されることがない。すると、同一のブロックが2回以上読み出される余地を残す第2の発明と比較して、リード要求の回数をさらに削減することができる。その結果、リード要求を発行する度に発生するネットワークレスポンス時間の累積時間を、第2の発明と比較してさらに削減することができ、データ先読み時間を短縮することができる。そうすると、第2の発明と比較して、キャッシュヒット率をさらに高めることができ、PCの動作性能を向上させることができる。   According to the present invention, blocks having consecutive addresses are read by one read request, and the same block address is not read by two or more read requests. Then, the number of read requests can be further reduced as compared with the second invention that leaves room for the same block to be read twice or more. As a result, the accumulated network response time generated each time a read request is issued can be further reduced as compared with the second invention, and the data prefetching time can be shortened. Then, compared with the second invention, the cache hit rate can be further increased, and the operation performance of the PC can be improved.

第3の発明では、リード要求による読み出し対象のみが特徴となっていて、リード要求の発行順序には特徴がない。一方で、後述する第4および第5の発明は、第3の発明において、リード要求の発行順序に特徴を持たせたものである。   In the third invention, only the read target according to the read request is characterized, and the issue order of the read requests is not characteristic. On the other hand, the fourth and fifth inventions to be described later are characterized in that the order of issuing read requests is characterized in the third invention.

第4の発明は、第3の発明において発行されうるリード要求の発行順序を、その開始ブロック番地の昇順または降順とするものである。   In the fourth invention, the issuing order of the read requests that can be issued in the third invention is ascending order or descending order of the start block addresses.

この発明によれば、論理ブロック番地が小さい順または大きい順にリード要求が発行され、記憶装置からデータを取得する。そうすると、記憶装置が磁気ディスク装置であり、磁気ディスク上の中心から外周にかけて、あるいはその逆方向にブロック番地が順番に分布している場合では、データ先読みに伴って磁気ヘッドが中心から外周またはその逆方向に滑らかに移動し、無駄な往復動作をすることがないから、記憶装置からデータを高速に取得できることが期待でき、データ先読み時間を短縮することができる。また、記憶装置が、RAID(Redundant Array of Independent Disks)装置である場合、一般的に、内蔵する磁気ディスク装置と、大きなデータサイズでの入出力が成されるので、この読み出されたデータの無駄が軽減され、データ先読み時間を短縮することができる。そうすると、第1および2の発明と比較して、キャッシュヒット率をさらに高めることができ、PCの動作性能を向上させることができる。   According to the present invention, read requests are issued in ascending order of logical block addresses, or data are acquired from the storage device. Then, when the storage device is a magnetic disk device and the block addresses are distributed in order from the center to the outer periphery on the magnetic disk or in the opposite direction, the magnetic head moves from the center to the outer periphery or its Since it moves smoothly in the reverse direction and does not perform useless reciprocation, it can be expected that data can be acquired from the storage device at high speed, and the data read-ahead time can be shortened. When the storage device is a RAID (Redundant Array of Independent Disks) device, generally, input / output with a built-in magnetic disk device is performed with a large data size. Waste is reduced and data read-ahead time can be shortened. Then, compared with the first and second inventions, the cache hit rate can be further increased, and the operation performance of the PC can be improved.

第5の発明は、第3の発明において発行されうるリード要求の発行順序を、読み出しパターンサンプル(B,L)と比較して決定することに特徴がある。 The fifth invention is characterized in that the issue order of read requests that can be issued in the third invention is determined by comparison with the read pattern samples (B i , L i ).

まず、第3の発明において発行されうるリード要求のうち、読み出しパターンサンプル(B,L)の読み出し対象範囲を完全に含む、[b,l](b≦B≦B+L≦b+l)を対象とするリード要求を選択して発行する。次に、読み出しパターンサンプル(B,L)について、同様に当該読み出し対象範囲を完全に含むリード要求を発行する。読み出しパターンサンプル(B,L)、(B,L)・・・についても、同様の選択を行う。 First, among the read requests that can be issued in the third invention, [b i , l i ] (b i ≦ B 1 ≦ B 1 ) completely including the read target range of the read pattern sample (B 1 , L 1 ). + L 1 ≦ b i + l i ) is selected and issued. Next, for the read pattern sample (B 2 , L 2 ), similarly, a read request that completely includes the read target range is issued. The same selection is performed for the read pattern samples (B 3 , L 3 ), (B 4 , L 4 ).

本発明によれば、データ先読みが完了する前にコンピュータの動作が開始したとしても、コンピュータからのリード要求が対象とするデータが既にキャッシュ装置内に保存されていることが、第4の発明と比較してより確実となり、キャッシュヒット率をさらに高めることができ、PCの動作性能を向上させることができる。   According to the present invention, even if the operation of the computer is started before the data prefetching is completed, the data targeted for the read request from the computer is already stored in the cache device. Compared to this, it becomes more reliable, the cache hit rate can be further increased, and the operation performance of the PC can be improved.

第6の発明は、PCが、記憶装置からデータを取得するために、リード要求を発行し、データが返送されてきたことを確認してから次のリード要求を発行するという制約があるという点に着目したものである。本発明においては、キャッシュ装置と記憶装置との間に複数のセッションを確立し、データ先読みに伴うリード要求を複数のセッションに振り分けて発行することによって、前記制約を回避するものである。   The sixth invention has a restriction that the PC issues a read request in order to acquire data from the storage device, and issues the next read request after confirming that the data has been returned. Is focused on. In the present invention, a plurality of sessions are established between the cache device and the storage device, and a read request associated with data prefetching is distributed and issued to a plurality of sessions, thereby avoiding the restriction.

この発明によれば、i番目のリード要求を発行した後、当該リードコマンドに対応するデータが返送されてくる前に、別のセッションを使用して次のi+1番目のリード要求を発行することができるから、ネットワークレスポンス時間の単純な累積を回避し、データ先読みの高速化を図ることができる。そうすると、第1ないし5の発明と比較して、キャッシュヒット率をさらに高めることができ、PCの動作性能を向上させることができる。   According to the present invention, after the i-th read request is issued, the next i + 1-th read request can be issued using another session before the data corresponding to the read command is returned. Thus, simple accumulation of network response time can be avoided, and data read-ahead speed can be increased. Then, compared with the first to fifth inventions, the cache hit rate can be further increased, and the operation performance of the PC can be improved.

データ先読みにともなうリード要求の発行回数を削減し、あるいは複数のセッションを介してリード要求を発行することによって、データ先読み実行時のネットワーク利用率を上昇させ、データ先読みを高速化させることができる。その結果、PCからの任意のリード要求があった時には、当該リード要求の対象データは既にキャッシュ装置に保存されていることとなるから、キャッシュヒット率をほぼ100%とすることができ、PCの動作(OSやアプリケーションソフトの起動)を、さらに高速化することができる。   By reducing the number of read requests issued with data prefetching, or by issuing read requests via a plurality of sessions, the network utilization rate at the time of data prefetching can be increased and the data prefetching speed can be increased. As a result, when there is an arbitrary read request from the PC, the target data of the read request is already stored in the cache device, so the cache hit rate can be almost 100%. The operation (OS and application software startup) can be further accelerated.

さらに、キャッシュヒット率がほぼ100%となることで、PCは、必要なデータを、ストレージ装置からではなく、キャッシュ装置から取得することとなる。そうすると、状態(帯域や遅延時間等)が変動しやすいWANを経由することなく、状態が比較的安定しているLANのみを経由して必要なデータを取得することになるから、WANの状態変化の影響をほとんど受けることなく、PCにおけるOSやアプリケーションソフトの起動時間を安定化することができる。   Further, when the cache hit rate is almost 100%, the PC acquires necessary data from the cache device instead of the storage device. Then, since the necessary data is acquired only through the LAN in which the state is relatively stable without going through the WAN whose state (bandwidth, delay time, etc.) is likely to change, the state change of the WAN The startup time of the OS and application software on the PC can be stabilized without being substantially affected by the above.

本発明の実施例のネットワークキャッシュ装置を含む全体のシステム構成例を図2に示す。図2において、PC1〜PC3はコンピュータの一例となるパーソナルコンピュータ(以下、PC)である。S1は記憶装置の一例となるストレージ装置である。C1はネットワークキャッシュ装置(以下、「キャッシュ装置」と記載する。)である。PC1〜PC3、キャッシュ装置C1、ストレージ装置S1はIP(Internet Protocol)網N1で接続されている。ここで、PC1〜PC3とキャッシュ装置C1の間のネットワーク性能(遅延の小ささ、帯域の大きさ、パケット損失の小ささ等)は、キャッシュ装置C1とストレージ装置S1の間のネットワーク性能よりも高いものとする。例えば、PC1〜PC3とキャッシュ装置C1は同一のLAN(Local Area Network)に属し、地理的にも相互に近い位置に設置されているものとする。一方、当該LANとストレージ装置S1は、WAN(Wide Area Network)で接続されていて、地理的にも遠い位置にあるものとする。   FIG. 2 shows an example of the entire system configuration including the network cache apparatus according to the embodiment of the present invention. In FIG. 2, PC1 to PC3 are personal computers (hereinafter referred to as PCs) which are examples of computers. S1 is a storage device as an example of a storage device. C1 is a network cache device (hereinafter referred to as “cache device”). The PC1 to PC3, the cache device C1, and the storage device S1 are connected by an IP (Internet Protocol) network N1. Here, the network performance (small delay, large bandwidth, small packet loss, etc.) between the PC1 to PC3 and the cache device C1 is higher than the network performance between the cache device C1 and the storage device S1. Shall. For example, it is assumed that the PC1 to PC3 and the cache device C1 belong to the same LAN (Local Area Network) and are geographically close to each other. On the other hand, it is assumed that the LAN and the storage device S1 are connected by a WAN (Wide Area Network) and are geographically distant.

PC1〜PC3、キャッシュ装置C1、ストレージ装置S1の各ノードには、IP(Internet Protocol)アドレスとTCP(Transmission Control Protocol)ポート番号が付与されていて、IP網N1(LANやWAN)を介して相互にTCP/IP通信が可能である。PC1〜PC3に割り当てられているIPアドレスをp1〜p3、キャッシュ装置C1に割り当てられているIPアドレスをc1、ストレージ装置S1に割り当てられているIPアドレスをs1とする。   Each node of the PC1 to PC3, the cache device C1, and the storage device S1 is assigned an IP (Internet Protocol) address and a TCP (Transmission Control Protocol) port number, and is mutually connected via the IP network N1 (LAN or WAN). TCP / IP communication is possible. Assume that the IP addresses assigned to PC1 to PC3 are p1 to p3, the IP address assigned to the cache device C1 is c1, and the IP address assigned to the storage device S1 is s1.

PC1〜PC3の内部には、イニシエータI1〜I3がある。一方、ストレージ装置S1の内部にはターゲットT1があり、ターゲット名tn1が割り当てられている。ターゲットT1には論理ユニットLU1〜LU3が接続され、それぞれに論理ユニット番号lun1〜lun3が割り当てられている。1つの論理ユニットLU(Logical Unit)内の記憶領域は、多数の論理ブロックによって構成され、各論理ブロックには論理ブロックアドレス(LBA:Logical Block Address)が割り当てられている。1つの論理ブロックの容量は通常512Byteであって、これより大きなデータが論理ユニットLUに保存される場合には、複数の論理ブロックに分けて保存される。   There are initiators I1 to I3 inside PC1 to PC3. On the other hand, there is a target T1 inside the storage apparatus S1, and a target name tn1 is assigned. Logical units LU1 to LU3 are connected to the target T1, and logical unit numbers luna1 to luna3 are assigned to them. A storage area in one logical unit LU (Logical Unit) is composed of a large number of logical blocks, and a logical block address (LBA: Logical Block Address) is assigned to each logical block. The capacity of one logical block is usually 512 bytes, and when data larger than this is stored in the logical unit LU, it is stored in a plurality of logical blocks.

PC1〜PC3は、自らが特定の動作をするために、ストレージ装置S1内の特定の論理ユニットLUに保存されたデータをiSCSI(Internet Small Computer System Interface)プロトコルを使用して取得する。iSCSIはIETF(Internet Engineering Task Force)で標準化されたプロトコルであって、その詳細な仕様はRFC(Request for Comments)3720に記載されている。   The PC1 to PC3 acquire data stored in a specific logical unit LU in the storage device S1 using an iSCSI (Internet Small Computer System Interface) protocol in order to perform a specific operation. iSCSI is a protocol standardized by Internet Engineering Task Force (IETF), and its detailed specifications are described in RFC (Request for Comments) 3720.

具体的には、まずPC1〜PC3のイニシエータI1〜I3が、Login Requestオペレーションをストレージ装置S1内ターゲットT1に対して送信し、ストレージ装置S1内ターゲットT1からLogin Responseを返送してもらうことにより、PC1〜PC3内イニシエータI1〜I3とストレージ装置S1内ターゲットT1との間でiSCSIセッションを確立する。次に、当該iSCSIセッションを使用して、イニシエータI1〜I3がターゲットT1に対してリード要求を送信し、Data−Inを返却してもらうことでデータを取得する。ここで、「リード要求」とは、具体的にはSCSI RequestオペレーションにSCSIコマンド「READ」を載せたものであり、以後これを「SCSI−READ」と表記する。SCSI−READによれば、LU内の論理ブロックアドレスBと論理ブロックの総数Lを指定することで、先頭の論理ブロックアドレスをB、論理ブロックの総数をLブロックとする複数の連続した論理ブロックのデータを1度に読み出すことができる。以後、BとLで表される連続論理ブロック領域を[B,L]、当該領域を読み出し対象とするSCSI−READを「SCSI−READ[B,L]」と表記する。例えば、論理ブロック[0,12]は、論理ブロックアドレス0〜11の合計12個の連続論理ブロック領域を指し、SCSI−READ[0,12]は、当該論理ブロック領域のデータを読み出し対象とするSCSI−READである。通常、1つのデータは複数の不連続な論理ブロックに散在していることが多く、その場合、複数のSCSI−READによる読み出しが必要になる。   Specifically, first, the initiators I1 to I3 of the PC1 to PC3 send a Login Request operation to the target T1 in the storage apparatus S1, and return a Login Response from the target T1 in the storage apparatus S1, thereby causing the PC1 to return. -An iSCSI session is established between the initiators I1 to I3 in the PC3 and the target T1 in the storage device S1. Next, using the iSCSI session, the initiators I1 to I3 transmit a read request to the target T1, and obtain data by returning Data-In. Here, the “read request” specifically refers to a SCSI request operation in which a SCSI command “READ” is placed, and this is hereinafter referred to as “SCSI-READ”. According to SCSI-READ, by specifying the logical block address B in the LU and the total number L of logical blocks, a plurality of consecutive logical blocks having the top logical block address B and the total number of logical blocks L blocks are specified. Data can be read at once. Hereinafter, the continuous logical block area represented by B and L will be referred to as [B, L], and the SCSI-READ for reading the area will be referred to as “SCSI-READ [B, L]”. For example, the logical block [0, 12] indicates a total of twelve consecutive logical block areas with logical block addresses 0 to 11, and SCSI-READ [0, 12] reads data in the logical block area. SCSI-READ. Usually, one data is often scattered in a plurality of discontinuous logical blocks, and in this case, reading by a plurality of SCSI-READs is required.

ここから以下においては、PC1〜PC3のうち、PC1が動作する場合の実施例を詳述する。そこで、ストレージ装置S1内LU1には、PC1の動作に必要な一切のデータ(オペレーティングシステム(以下、OS)やアプリケーションプログラム等)が保存されているものとする。   Hereafter, in the following, an embodiment in the case where PC1 among PC1 to PC3 operates will be described in detail. Therefore, it is assumed that all data (operating system (hereinafter referred to as OS), application program, etc.) necessary for the operation of the PC 1 is stored in the LU 1 in the storage apparatus S1.

キャッシュ装置C1は、上記手順に伴ってPC1とストレージ装置S1の間で送受信されるiSCSIオペレーションやデータを中継する役割を持つ。すなわち、PC1がストレージ装置S1に対して送信するLogin Request、SCSI−READ、その他のオペレーションは一旦キャッシュ装置C1に送信され、キャッシュ装置C1によってストレージ装置S1に中継される。逆にストレージ装置S1からPC1に対して返送されるデータも、同様にキャッシュ装置C1によって中継される。   The cache device C1 has a role of relaying iSCSI operations and data transmitted and received between the PC 1 and the storage device S1 in accordance with the above procedure. That is, the Login Request, SCSI-READ, and other operations that the PC 1 transmits to the storage device S1 are once transmitted to the cache device C1, and are relayed to the storage device S1 by the cache device C1. Conversely, data returned from the storage apparatus S1 to the PC 1 is also relayed by the cache apparatus C1.

キャッシュ装置C1が、PC1とストレージ装置S1の間で送受信されるiSCSIオペレーションやデータを中継する方法には様々なものがあるが、その一つの方法を以下に詳述する。   There are various methods in which the cache device C1 relays iSCSI operations and data transmitted and received between the PC 1 and the storage device S1, and one method will be described in detail below.

その方法とは、キャッシュ装置C1をIP網N1(LAN)における1つのIPホスト(IPアドレスc1を持ったノード)として設置し、PC1からストレージ装置S1、あるいはストレージ装置S1からPC1に対して送信するiSCSIオペレーションやデータを転送するIPパケットの着信IPアドレスをc1とする方法である。この方法によるiSCSIオペレーション等の中継シーケンスを図3に示す。   In this method, the cache device C1 is installed as one IP host (a node having the IP address c1) in the IP network N1 (LAN), and is transmitted from the PC1 to the storage device S1 or from the storage device S1 to the PC1. In this method, the incoming IP address of an IP packet for transferring an iSCSI operation or data is set to c1. FIG. 3 shows a relay sequence such as iSCSI operation by this method.

まず、PC1はキャッシュ装置C1との間でTCPコネクション1を確立し、当該コネクションを利用して、Login Requestをキャッシュ装置C1に送信する。Login Requestを受信したキャッシュ装置C1は、Login Request送信元IPアドレス(PC1のp1)から、Table1を検索することにより、当該Login Requestの中継先を検索し、検索した中継先であるストレージ装置S1(IPアドレスs1、TCPポート3260)との間でTCPコネクション2を確立して、当該TCPコネクション2を利用してLogin Requestを中継する。この時、キャッシュ装置C1は、TCPコネクション1とTCPコネクション2が対であることを管理する。   First, the PC 1 establishes a TCP connection 1 with the cache device C1, and transmits a Login Request to the cache device C1 using the connection. The cache device C1 that has received the Login Request searches the Table 1 from the Login Request transmission source IP address (PC1 p1), thereby searching for the relay destination of the Login Request, and the storage device S1 ( A TCP connection 2 is established between the IP address s1 and the TCP port 3260), and the Login Request is relayed using the TCP connection 2. At this time, the cache device C1 manages that the TCP connection 1 and the TCP connection 2 are a pair.

Login Requestを受信したストレージ装置S1は、TCPコネクション2を利用してLogin Responseをキャッシュ装置C1に返送し、Login Responseを受信したキャッシュ装置C1は、TCPコネクション2に対応するTCPコネクション1を利用して、Login RequestをPC1に中継する。この時、PC1とストレージ装置S1との間にはiSCSIセッションが確立する。   The storage device S1 that has received the Login Request returns a Login Response to the cache device C1 using the TCP connection 2, and the cache device C1 that has received the Login Response uses the TCP connection 1 corresponding to the TCP connection 2. , Relay Request is relayed to PC1. At this time, an iSCSI session is established between the PC 1 and the storage apparatus S1.

以降、PC1とストレージ装置S1との間で送受信されるiSCSIオペレーション、レスポンス、データは、すべてコネクション1とTCPコネクション2およびiSCSIセッションを利用して送受信されることとなる。   Thereafter, all iSCSI operations, responses, and data transmitted / received between the PC 1 and the storage device S1 are transmitted / received using the connection 1, the TCP connection 2 and the iSCSI session.

キャッシュ装置C1は、さらにデータキャッシュ機能も持つ。データキャッシュ機能は、パッシブ(受動的)なものと、アクティブ(能動的)なものがある。   The cache device C1 further has a data cache function. The data cache function includes a passive type and an active type.

パッシブなキャッシュ機能とは、イニシエータがターゲットからデータを取得したことを契機に、当該データをキャッシュ装置内にも保存(キャッシュ)する機能である。すなわち、ストレージ装置S1からPC1に対して返送されたデータは、キャッシュ装置C1によって中継されるとともに、キャッシュ装置C1内の記憶デバイス(メモリ、ハードディスクドライブ等)にも保存される。その結果、再度PC1からストレージ装置S1に対して同一データを読み出すためにSCSI−READが発行された場合には、キャッシュ装置C1は当該SCSI−READをストレージ装置S1に中継することなく、キャッシュ装置C1は折り返し当該データをPC1に対して返送する(キャッシュヒットする)。   The passive cache function is a function that stores (caches) data in the cache device when the initiator acquires the data from the target. That is, the data returned from the storage apparatus S1 to the PC1 is relayed by the cache apparatus C1 and is also stored in a storage device (memory, hard disk drive, etc.) in the cache apparatus C1. As a result, when the SCSI-READ is issued to read the same data from the PC 1 again to the storage device S1, the cache device C1 does not relay the SCSI-READ to the storage device S1, and thus the cache device C1. Returns the data to the PC 1 (cache hit).

アクティブなキャッシュ機能とは、パッシブなキャッシュ機能に加え、イニシエータがターゲットからデータを取得する前に、キャッシュ装置が自律的にデータをターゲットから取得し、キャッシュする機能である。すなわち、PC1がストレージ装置S1からデータを取得するためにストレージ装置S1に対してSCSI−READを発行する前に、キャッシュ装置C1が自律的にストレージ装置S1に対してSCSI−READを発行することにより、PC1が取得すると予想されるデータを前もって取得(以下、「データ先読み」と呼ぶ)し、キャッシュ装置内に保存する。そして、PC1がストレージ装置S1に対してSCSI−READを発行し、ストレージ装置S1からデータを取得しようとした時には、既に同一のデータがキャッシュされている(キャッシュヒットする)ことが期待できるから、キャッシュ装置C1は当該SCSI−READをストレージ装置S1に中継することなく、キャッシュ装置C1は折り返し当該データをPC1に対して返送する。   The active cache function is a function in which the cache device autonomously acquires data from the target and caches it before the initiator acquires data from the target, in addition to the passive cache function. That is, before the PC 1 issues SCSI-READ to the storage apparatus S1 in order to acquire data from the storage apparatus S1, the cache apparatus C1 autonomously issues SCSI-READ to the storage apparatus S1. The data expected to be acquired by the PC 1 is acquired in advance (hereinafter referred to as “data prefetching”) and stored in the cache device. When the PC 1 issues SCSI-READ to the storage apparatus S1 and tries to acquire data from the storage apparatus S1, it can be expected that the same data is already cached (cache hit). The device C1 does not relay the SCSI-READ to the storage device S1, and the cache device C1 returns the data to the PC1.

上記「PC1が取得すると予想されるデータ」は、「先読みパターンデータ」によって特定する。先読みパターンデータとは、キャッシュ装置C1内の記憶デバイスに保存されるデータであって、データ先読みを行う際にキャッシュ装置C1がストレージ装置S1に対して発行するSCSI−READの発行条件を記述したものである。   The “data expected to be acquired by the PC 1” is specified by “prefetch pattern data”. The prefetch pattern data is data stored in a storage device in the cache device C1, and describes the SCSI-READ issuance conditions that the cache device C1 issues to the storage device S1 when data prefetching is performed. It is.

先読みパターンデータの形式例を図4に示す。図4において、1行目〜3行目はデータ先読み対象のLUを特定する情報である。1行目はデータ先読み対象LUが属するストレージのIPアドレスとTCPポート番号、2行目は当該LUが属するターゲット名、3行目は当該LUの論理ユニット番号LUNである。4行目以降は、3行目までに特定された論理ユニット番号LUNにおける、読み出し対象LBAを特定する情報であり、各行が1個のSCSI−READ[B,L]の発行に対応し、第1カラムは読み出し対象の先頭論理ブロックアドレス(=B)、第2カラムは読み出しブロック総数(=L)に対応する。   An example format of the prefetch pattern data is shown in FIG. In FIG. 4, the first to third lines are information for specifying the data prefetch target LU. The first line is the IP address and TCP port number of the storage to which the data prefetch target LU belongs, the second line is the target name to which the LU belongs, and the third line is the logical unit number LUN of the LU. The fourth and subsequent lines are information for specifying the read target LBA in the logical unit numbers LUN specified up to the third line. Each line corresponds to the issuance of one SCSI-READ [B, L]. One column corresponds to the head logical block address (= B) to be read, and the second column corresponds to the total number of read blocks (= L).

ただし、必要な情報が特定できる限り、先読みパターンデータの形式は図4のものに限られない。また、図4の1行目(IPアドレス、TCPポート番号)、2行目(ターゲット名)、3行目(LU)の情報は、先読みパターンデータに含まれる必要はなく、先読みパターンデータとは別に保持してもよい。   However, as long as necessary information can be specified, the format of the prefetch pattern data is not limited to that shown in FIG. The information in the first line (IP address, TCP port number), second line (target name), and third line (LU) in FIG. 4 does not need to be included in the prefetch pattern data. It may be held separately.

図4の先読みパターンデータによれば、キャッシュ装置C1は、IPアドレス192.168.1.1、ポート番号3260、ターゲット名iqn.com.hitachi−ntt−labsで特定されるターゲットとの間でiSCSIセッションを確立し、LU=0に対してSCSI−READを発行することによって、データ先読みを行う。図4によれば、SCSI−READ[0,2]が1番目に発行され、SCSI−READ[2,2]が2番目に発行されることとなる。   According to the prefetch pattern data in FIG. 4, the cache device C1 has an IP address 192.168.1.1, a port number 3260, a target name iqn. com. Data prefetching is performed by establishing an iSCSI session with the target specified by hitachi-ntt-labs and issuing SCSI-READ to LU = 0. According to FIG. 4, SCSI-READ [0, 2] is issued first, and SCSI-READ [2, 2] is issued second.

先読みパターンデータは、データ先読みの目的(PCの動作のうち、何を高速化させたいか)に応じて、システム管理者等が自由に作成することができる。例えば、特定のアプリケーションソフトウェアの起動を高速化するには、当該アプリケーションソフトウェアが保存されているLUとLBAがデータ先読み対象となるように、先読みパターンデータを作成する。   The pre-read pattern data can be freely created by a system administrator or the like according to the purpose of data pre-read (what is to be speeded up among PC operations). For example, in order to speed up the activation of specific application software, prefetch pattern data is created so that the LU and LBA storing the application software are data prefetch targets.

ここから以下では、PC(ハードディスクドライブを内蔵しない)でのOS起動を高速化するために、OS起動の際に必要なデータを先読みすることを想定して、先読みパターンデータの作成方法を詳述する。   From here onwards, in order to speed up the OS booting on a PC (without a hard disk drive), a method for creating prefetch pattern data will be described in detail, assuming that data necessary for OS booting is prefetched. To do.

先読みパターンデータを作成する最も簡便な方法は、実際にPC1の電源を投入して(必要ならばユーザ認証を行って)OSを起動させ、OSの起動が完了するまでの間に、PC1からキャッシュ装置C1に対して送信されるすべての(N個の)SCSI−READ[B,L](1≦i≦N)をキャプチャし、その内容[B,L](1≦i≦N)どおりに先読みパターンデータ(図4では4行目以降)を記述するというものである。 The simplest method for creating the prefetch pattern data is to actually turn on the power of the PC 1 (if necessary, perform user authentication) to start the OS, and from the PC 1 to the cache until the start of the OS is completed. All (N) SCSI-READs [B i , L i ] (1 ≦ i ≦ N) transmitted to the device C1 are captured and the contents [B i , L i ] (1 ≦ i ≦ N) are captured. N) Pre-read pattern data (from the fourth line in FIG. 4) is described as described.

キャプチャの方法としては、PC1とキャッシュ装置C1との間のネットワークにパケットキャプチャ装置を設置し、通過するSCSI−READのパケット内容を解析して、[B,L](1≦i≦N)の値を抽出する方法がある。また、別の方法としては、通過するSCSI−READの内容を解析、[B,L](1≦i≦N)を記録する機能をキャッシュ装置自身が配備し、それを使用する方法がある。いずれを選択しても問題ない。 As a capture method, a packet capture device is installed in the network between the PC 1 and the cache device C1, and the contents of the SCSI-READ packet passing therethrough are analyzed, and [B i , L i ] (1 ≦ i ≦ N ) Value is extracted. As another method, there is a method in which the cache device itself is provided with a function of analyzing the contents of the SCSI-READ passing through and recording [B i , L i ] (1 ≦ i ≦ N) and using it. is there. It doesn't matter which one you choose.

以上の方法で作成した先読みパターンデータを、そのままキャッシュ装置C1に保存してデータ先読みをさせた場合、PC1がOS起動に際して発行するn個のSCSI−READ[B,L](0≦i≦n)と、データ先読みによってキャッシュ装置C1がストレージ装置S1に対して発行するSCSI−READは、同一となる。このように、データ先読みにおいて、PC1が発行するSCSI−READを忠実に再現させるような先読みパターンデータの形式を、以後「形式1」と呼ぶこととする。 When the prefetch pattern data created by the above method is stored in the cache device C1 as it is and prefetched, the n SCSI-READ [B i , L i ] (0 ≦ i) issued by the PC 1 when the OS starts up ≦ n) and the SCSI-READ that the cache device C1 issues to the storage device S1 by data prefetching are the same. In this way, in the data prefetching, the format of the prefetch pattern data that faithfully reproduces the SCSI-READ issued by the PC 1 is hereinafter referred to as “format 1”.

形式1の先読みパターンデータを使ってデータ先読みを行い、その後PC1でOSが起動すれば、PC1が発行するSCSI−READコマンドの読み出し対象データは、常にキャッシュ装置に存在することになる。そうすると、PC1はストレージ装置S1ではなくキャッシュ装置C1から必要なデータを取得することができるから、PC1におけるOS起動はより高速となる。   If data prefetching is performed using format 1 prefetching pattern data and then the OS is activated on the PC 1, the read target data of the SCSI-READ command issued by the PC 1 is always present in the cache device. Then, since the PC 1 can acquire necessary data from the cache device C1 instead of the storage device S1, the OS activation in the PC 1 becomes faster.

OSの起動に際しては、例えばマイクロソフト株式会社(商標)のOSであるWindows XP(商標)の場合、PCは200〜300MByte程度のデータを取得することがわかっている。そして、形式1による先読みパターンデータによって同程度サイズのデータを先読みすると、数十秒の時間を要することがわかっている。そのため、データ先読みの開始からPC1のOS起動開始までの時間が比較的短い場合は、データ先読みによるSCSI−READの発行が、PCからのSCSI−READ発行に間に合わないこともある。そうすると、結局PC1はストレージ装置S1からデータの取得を待たなければならないこととなるから、PC1におけるOS起動の高速化の効果が減退するという問題がある。   When starting up the OS, for example, in the case of Windows XP (trademark) which is an OS of Microsoft Corporation (trademark), it is known that the PC acquires about 200 to 300 MBytes of data. It has been found that it takes several tens of seconds to prefetch data of the same size with prefetch pattern data in format 1. Therefore, when the time from the start of data prefetching to the start of OS activation of the PC 1 is relatively short, the issuance of SCSI-READ by data prefetching may not be in time for the issuance of SCSI-READ from the PC. As a result, the PC 1 eventually has to wait for data acquisition from the storage device S1, and there is a problem that the effect of speeding up the OS startup in the PC 1 is reduced.

そこで、形式1におけるデータ先読みの冗長性を以下のような方法で排除し、データ先読みを高速化する。   Therefore, the redundancy of data prefetching in format 1 is eliminated by the following method to speed up data prefetching.

PC1がOS起動に際して発行するSCSI−READ[B,L]を図示すると、一般的に図5のようになる。図5において、横軸はLBAであり、縦軸は何度目に発行されたSCSI−READであるかを表す。1本の線分は、1個のSCSI−READによる読み出し対象論理ブロックの範囲を表す。Bは線分(1回のSCSI−READコマンドによる読み出し範囲)の開始位置(先頭LBA)を表し、Lは線分の長さ(1回のSCSI−READコマンドにより読み出されるブロック総数)を表す。 The SCSI-READ [B i , L i ] issued when the PC 1 starts up the OS is generally as shown in FIG. In FIG. 5, the horizontal axis represents LBA, and the vertical axis represents the number of times SCSI-READ issued. One line segment represents a range of a logical block to be read by one SCSI-READ. B represents the start position (leading LBA) of the line segment (reading range by one SCSI-READ command), and L represents the length of the line segment (total number of blocks read by one SCSI-READ command).

図5の例では、計14個のSCSI−READが発行されているが、1〜3番目、4〜5番目、6〜8番目、9〜11番目、12〜14番目のSCSI−READコマンドは、それぞれ連続した論理ブロック領域を読み出している。   In the example of FIG. 5, a total of 14 SCSI-READs are issued, but the first to third, fourth to fifth, sixth to eighth, ninth to eleventh, and twelfth to fourteenth SCSI-READ commands are , Each successive logical block area is read out.

ここで、SCSIによるデータ取得手順を図6に示す。図6は、9ブロックのデータを2つのSCSI−READにより取得する場合(左)と、1つのSCSI−READで取得する場合(右)を比較している。SCSIによれば、SCSI−READを連続して発行するには、前に発行したSCSI−READにより要求したデータがData−Inによって返送された後でなければ、次のSCSI−READコマンドを発行することができない。そうすると、連続した論理ブロック(図6では9ブロック)のデータを図6(左)のように複数のSCSI−READに分割して(図6(左)では、1番目に3ブロック、2番目に6ブロック)読み出すよりも、図6(右)のように1回のSCSI−READですべてのブロックを読み出した方が、SCSI−READの発行回数も減少するから、より短時間で読み出しを完了することができる。   Here, the data acquisition procedure by SCSI is shown in FIG. FIG. 6 compares the case where 9 blocks of data are acquired with two SCSI-READs (left) and the case where data is acquired with one SCSI-READ (right). According to SCSI, in order to continuously issue SCSI-READ, the next SCSI-READ command is issued unless the data requested by the previously issued SCSI-READ is returned by Data-In. I can't. Then, the data of consecutive logical blocks (9 blocks in FIG. 6) is divided into a plurality of SCSI-READs as shown in FIG. 6 (left) (in FIG. 6 (left), the first 3 blocks, the second 6 blocks) Reading out all blocks with one SCSI-READ as shown in FIG. 6 (right) reduces the number of times SCSI-READ is issued, so reading is completed in a shorter time. be able to.

図5の場合であれば、1〜3番目、4〜5番目、6〜8番目、9〜11番目、12〜14番目のSCSI−READは、それぞれ1回のSCSI−READに置き換えればよい。そうすると、図7のように、形式1の先読みパターンデータを「形式2」に変換した先読みパターンデータによっても、同一のデータ先読み効果が得られる。   In the case of FIG. 5, the SCSI-READs of the first to third, fourth to fifth, sixth to eighth, ninth to eleventh, and twelfth to fourteenths may be replaced with one SCSI-READ. Then, as shown in FIG. 7, the same data prefetching effect can be obtained even by using the prefetching pattern data obtained by converting the prefetching pattern data of format 1 into “format 2”.

形式1におけるSCSI−READの発行回数が14回であるのに対し、形式2の先読みパターンデータでは5回である。その結果、SCSI−READの発行にともなって発生するネットワークレスポンス時間の累積時間を削減することができるから、ネットワーク利用効率が上昇し、データ先読みに必要な時間を削減することができる。データ先読みに必要な時間を削減することができれば、キャッシュヒット率を高めることができるから、PC1の動作性能は向上する。   While the number of times SCSI-READ is issued in format 1 is 14, the number of prefetch pattern data in format 2 is 5. As a result, it is possible to reduce the accumulated time of the network response time generated with the issuance of SCSI-READ, so that the network utilization efficiency is increased and the time required for data prefetching can be reduced. If the time required for data prefetching can be reduced, the cache hit rate can be increased, and the operating performance of the PC 1 is improved.

形式2によるSCSI−READの発行条件を見てみると、3回目と5回目で同一の論理ブロック領域を読み出している。ところが、データ先読みにおいては、同一のデータを1度読み出してキャッシュすれば、再度読み出す必要はない。   Looking at the conditions for issuing SCSI-READ in Format 2, the same logical block area is read out at the third and fifth times. However, in data read-ahead, if the same data is read once and cached, there is no need to read it again.

また、形式2においては、2番目と4番目のSCSI−READによる読み出し対象は連続しているにもかかわらず、別個のSCSI−READを発行することになる。これは、形式1から形式2への変換においては、時間的に連続しているSCSI−READの読み出し対象が連続論理ブロックである場合のみに、それらを1回のSCSI−READに置換するからである。しかし、読み出し対象論理ブロックの連続性によるSCSI−READの置換対象は、時間的に連続して発行されているものに限定する必要はない。   In the format 2, separate SCSI-READs are issued even though the reading targets by the second and fourth SCSI-READs are continuous. This is because the conversion from format 1 to format 2 replaces them with a single SCSI-READ only when the time-sequential SCSI-READ read target is a continuous logical block. is there. However, the replacement target of SCSI-READ due to the continuity of the logical block to be read need not be limited to those that are issued continuously in time.

そこで、以上のような冗長性を排除するために、形式1の先読みパターンデータを「形式3」に変換する。形式3への変換アルゴリズムは、図8に示した通りである。   Therefore, in order to eliminate the redundancy as described above, the prefetch pattern data of format 1 is converted to “format 3”. The conversion algorithm to format 3 is as shown in FIG.

形式3の先読みパターンデータでは、形式1において2回以上読み出し対象となったブロック(図7における[B,L],[B,L],[B,L])であっても、SCSI−READにより読み出される回数は1回のみとする。また、論理ブロックアドレスが連続した領域は、1回のみのSCSI−READによって読み出されるようにする。さらに、SCSI−READの発行順序は、読み出し対象論理ブロックアドレスの小さい順または大きい順(図7では小さい順)とする。 The prefetch pattern data of format 3 is a block ([B 6 , L 6 ], [B 7 , L 7 ], [B 8 , L 8 ] in FIG. 7) that has been read twice or more in format 1. However, the number of times read by SCSI-READ is only one. In addition, the area where the logical block addresses are continuous is read by only one SCSI-READ. Furthermore, the SCSI-READ issuance order is set in ascending order of reading target logical block addresses or in descending order (in order of decreasing in FIG. 7).

形式3の効果は2つある。まず、形式1におけるSCSI−READの発行回数が14回、形式2では5回であるのに対し、形式3の先読みパターンデータによればSCSI−READの発行回数を3回に削減することができる。その結果、データ先読みに必要な時間を、形式1や形式2と比較して削減することができる。   There are two effects of Type 3. First, while the number of times SCSI-READ is issued in format 1 is 14 and that in format 2 is 5, it is possible to reduce the number of times SCSI-READ is issued according to format 3 prefetch pattern data. . As a result, the time required for data prefetching can be reduced as compared with the format 1 and the format 2.

さらに、ストレージ装置S1が磁気ディスク装置であり、磁気ディスク上の中心から外周にかけて、あるいはその逆方向に論理ブロックアドレスが順番に分布している場合では、形式3に基づくデータ先読みに伴って磁気ヘッドが中心から外周またはその逆方向に滑らかに移動し、無駄な往復動作をすることがないから、ストレージ装置S1からデータを高速に取得できることが期待できる。   Further, in the case where the storage device S1 is a magnetic disk device and logical block addresses are distributed in order from the center to the outer periphery on the magnetic disk or in the opposite direction, the magnetic head is accompanied by data prefetching based on the format 3. Can smoothly move from the center to the outer periphery or vice versa, and there is no wasteful reciprocation, so it can be expected that data can be acquired from the storage device S1 at high speed.

以上の2点より、形式1や2と比較してキャッシュヒット率をさらに高めることができるから、PC1の動作性能は向上する。   From the above two points, the cache hit rate can be further increased as compared with the formats 1 and 2, so that the operation performance of the PC 1 is improved.

形式1(PC1におけるOS起動においてデータ読み出しそのまま)によるSCSI−READの発行条件を見てみると、論理ブロック[B,L]と[B,L]が、論理ブロック[B,L]、[B,L]、[B,L]よりも先に読み出されているにもかかわらず、形式3ではその順序が逆である。 Looking at the issuance conditions of SCSI-READ in format 1 (data read as it is when the OS is started in PC1), logical blocks [B 4 , L 4 ] and [B 5 , L 5 ] are logical blocks [B 6 , Despite being read before [L 6 ], [B 7 , L 7 ], [B 8 , L 8 ], the order is reversed in format 3.

そうすると、論理ブロック[B,L]、[B,L]、[B,L]のデータの読み出しが優先され、論理ブロック[B,L]、[B,L]のデータが必要になる時期に、当該データがキャッシュ装置C1に保存されていない事態が生じる恐れもある。その結果、SCSI−READがキャッシュ装置C1によってストレージ装置S1に中継され、ストレージ装置S1から比較的性能の低いネットワーク(WAN)を介してデータを取得することになるから、データ先読みの高速化の効果が減退する。 Then, the reading of data of the logical blocks [B 6 , L 6 ], [B 7 , L 7 ], [B 8 , L 8 ] is prioritized, and the logical blocks [B 6 , L 6 ], [B 7 , L 7 ] may occur when the data is not stored in the cache device C1. As a result, the SCSI-READ is relayed to the storage device S1 by the cache device C1, and data is acquired from the storage device S1 via a relatively low performance network (WAN). Will decline.

以上の問題を解決するには、形式3においてSCSI−READの発行順序のみを変更した、「形式4」の先読みパターンデータを使用する。形式1から形式4への変換アルゴリズムを図9に示す。   In order to solve the above-mentioned problem, the pre-read pattern data of “Format 4” in which only the SCSI-READ issue order is changed in Format 3 is used. The conversion algorithm from format 1 to format 4 is shown in FIG.

図9によれば、形式4におけるSCSI−READの発行回数は3回であり、その回数は形式3と変わらない。そのため、データ先読みに必要な時間は形式3と変わらない。しかし、PC1が実際に必要とするデータをより早期に先読みする点で、形式3と比較してキャッシュヒット率を改善することができる。その結果、PC1におけるOS起動をより高速化することができる。   According to FIG. 9, the number of times SCSI-READ is issued in format 4 is 3, and the number is the same as that in format 3. Therefore, the time required for data prefetching is the same as that in format 3. However, the cache hit rate can be improved as compared with the format 3 in that the data actually required by the PC 1 is prefetched earlier. As a result, the OS startup in the PC 1 can be further accelerated.

形式2〜形式4の先読みパターンデータは、上述のアルゴリズムに基づき動作するプログラムによって形式1の先読みパターンデータを読み込み、それぞれの形式に変換、出力することによって得ることができる。   The pre-read pattern data of format 2 to format 4 can be obtained by reading the pre-read pattern data of format 1 by a program that operates based on the above-described algorithm, converting it to each format, and outputting it.

以上に説明した実施例は、先読みパターンデータの形式を変換することによって、データ先読みを高速化するものである。以下では、先読みパターンデータの形式は同一としつつ、データ先読みのためにPC1内イニシエータI1とストレージ装置S1内ターゲットT1との間に確立するiSCSIセッション数を増加し、複数のiSCSIセッションを使用してSCSI−READを発行することにより、データ先読みを高速化する原理および方法を詳述する。   In the embodiment described above, the speed of data prefetching is increased by converting the format of the prefetch pattern data. In the following, while the format of the prefetch pattern data is the same, the number of iSCSI sessions established between the initiator I1 in the PC1 and the target T1 in the storage device S1 for data prefetching is increased, and a plurality of iSCSI sessions are used. The principle and method for speeding up data read-ahead by issuing SCSI-READ will be described in detail.

iSCSIおよびSCSIによれば、SCSI−READを連続して発行する場合、SCSI−READによって要求したデータが返送されないと、次のSCSI−READを発行されないという制約は、コンピュータが、ユーザ操作によって、先に読み出されたデータに基づき、次の動作を決定する非決定的な条件に基づいているためである。本実施例のデータ先読み処理は、先読みパターンデータに基づく、ストレージ装置のアクセスであるので、複数のiSCSIセッションを確立し、SCSI−READを各セッションに振り分けて発行する。そうすると、当該制約の影響は最小限に抑えることができ、ネットワークの利用率が上昇する。その原理を図10に示す。   According to iSCSI and SCSI, when issuing SCSI-READ continuously, if the data requested by SCSI-READ is not returned, the next SCSI-READ is not issued. This is because it is based on a non-deterministic condition for determining the next operation based on the data read out in (1). Since the data prefetch processing of this embodiment is access to the storage apparatus based on the prefetch pattern data, a plurality of iSCSI sessions are established, and SCSI-READ is distributed and issued to each session. Then, the influence of the restriction can be minimized, and the utilization rate of the network increases. The principle is shown in FIG.

図10では、5個のSCSI−READを単一のiSCSIセッションで発行する場合(図10(左)参照)と、3つのiSCSIセッションに振り分けて発行する場合(図10(右)参照)を比較している。SCSI−READの振り分け方は、図10のようなラウンドロビン方式でもよいし、ランダム選択でもよい。   FIG. 10 compares the case where five SCSI-READs are issued in a single iSCSI session (see FIG. 10 (left)) and the case where they are distributed and issued in three iSCSI sessions (see FIG. 10 (right)). is doing. The SCSI-READ distribution method may be a round robin method as shown in FIG. 10 or a random selection.

また、ストレージ装置へ、多重にリード要求を発行するインタフェースとして、複数のセッションを利用する他に、単一のセッションにおいて、SCSI2仕様以降に定められたCommand Queuingを使用しても、差し支えない。   In addition to using a plurality of sessions as an interface for issuing multiple read requests to the storage apparatus, Command Queueing defined after the SCSI2 specification may be used in a single session.

以上の実施例は、PCにおけるOSの起動を高速化する場合を想定して詳述したが、OSの起動後に必要となるアプリケーションソフトウェアの起動も、本願発明を利用して高速化することができる。その方法を以下に詳述する。   Although the above embodiment has been described in detail assuming the case of speeding up the booting of the OS in the PC, the booting of application software required after the booting of the OS can also be speeded up using the present invention. . The method will be described in detail below.

先読みパターンデータを作成する最も簡便な方法として、実際にPC1の電源を投入して(必要ならばユーザ認証を行って)OSを起動させ、OSの起動が完了するまでの間に、PC1からキャッシュ装置C1に対して送信されるすべての(N個の)SCSI−READ[B,L](1≦i≦N)をキャプチャし、その内容[B,L](1≦i≦N)どおりに先読みパターンデータ(図4では4行目以降)を記述するという方法を説明ずみである。 As the simplest method for creating the prefetch pattern data, the PC 1 is cached during the period from when the power to the PC 1 is actually turned on (when necessary, user authentication is performed) to start the OS and the startup of the OS is completed. All (N) SCSI-READs [B i , L i ] (1 ≦ i ≦ N) transmitted to the device C1 are captured and the contents [B i , L i ] (1 ≦ i ≦ N) are captured. N) The method of describing the prefetch pattern data (in FIG. 4, the fourth and subsequent lines) as described above is already explained.

ここで、OS起動が完了したことをもってSCSI−READ[B,L]のキャプチャを停止することなく、OS起動完了後、引き続き起動を高速化したいアプリケーションソフトウェアを起動させ、その起動完了後にキャプチャを停止し、そのキャプチャ内容[B,L]どおりに先読みパターンデータを作成する。そうすると、当該先読みパターンデータの対象に、当該アプリケーションソフトウェアの起動に必要なデータも含まれることとなるから、OSの起動だけではなく、当該アプリケーションソフトウェアの起動によって読み出されるデータもキャッシュ装置に前もって保存されている状態となる。その結果、当該アプリケーションソフトウェアの起動を高速化することができる。 Here, without stopping the capture of SCSI-READ [B i , L i ] upon completion of the OS startup, after the OS startup is completed, the application software for which the startup is to be accelerated is started, and the capture is performed after the startup is completed. And prefetch pattern data is created in accordance with the captured content [B i , L i ]. Then, since the data required for starting up the application software is included in the target of the prefetch pattern data, not only the OS but also the data read out by starting up the application software is stored in the cache device in advance. It will be in the state. As a result, the start-up of the application software can be accelerated.

また、先読みパターンデータの対象を、アプリケーションソフトウェアの起動に必要なデータのみとすることもできる。その場合、OSの起動は高速化できないが、当該アプリケーションソフトウェアの起動のみを高速化することができる。   Further, it is possible to set only the data necessary for starting the application software as the target of the prefetch pattern data. In that case, the startup of the OS cannot be accelerated, but only the startup of the application software can be accelerated.

次に、キャッシュ装置C1の内部構造(ソフトウェア構造)の例について、図11を用いて説明する。キャッシュ装置C1は、図11に示すように、iSCSIターゲットC101、キャッシュメモリ制御機能C102、キャッシュメモリ管理機能C103、先読みパターンデータ変換機能C104、iSCSIイニシエータC105をソフトウェアとして有し、記憶デバイスC106をハードウェアとして備える。記憶デバイスC106としては、メモリまたはハードディスクまたはその他の記憶手段を用いることができる。記憶デバイスC106は、キャッシュデータ格納領域C107、先読みパターンデータ格納領域C108を有する。キャッシュデータ格納領域C107、先読みパターンデータ格納領域C108はプログラムによって記憶デバイスC106内に作成される。   Next, an example of the internal structure (software structure) of the cache device C1 will be described with reference to FIG. As shown in FIG. 11, the cache device C1 includes an iSCSI target C101, a cache memory control function C102, a cache memory management function C103, a prefetch pattern data conversion function C104, and an iSCSI initiator C105 as software, and a storage device C106 as hardware. Prepare as. As the storage device C106, a memory, a hard disk, or other storage means can be used. The storage device C106 has a cache data storage area C107 and a prefetch pattern data storage area C108. The cache data storage area C107 and the prefetch pattern data storage area C108 are created in the storage device C106 by a program.

キャッシュメモリ制御機能C102は、図には示していないが、PCが発行するリード要求と同一の条件による先行リード要求を発行するための先読みパターンデータを先読みパターンデータ格納領域C108に格納する機能と、PCが特定の動作に必要なデータを取得するためにリード要求の発行を開始する前に、先読みパターンデータ格納領域C108内の先読みパターンデータの記述に従って先行リード要求を発行することにより、ストレージ装置S1からデータを取得して、当該データをキャッシュデータ格納領域C107内に一時的に記憶させる機能と、ストレージ装置S1との間で2以上のセッションを確立し、データ先読みのために発行される任意のリード要求は、当該2以上のセッションのいずれかを選択して発行する機能を備える。   Although not shown in the figure, the cache memory control function C102 stores in the prefetch pattern data storage area C108 prefetch pattern data for issuing a predecessor read request under the same conditions as the read request issued by the PC; Before the PC starts issuing a read request for acquiring data necessary for a specific operation, the storage apparatus S1 issues a preceding read request according to the description of the prefetch pattern data in the prefetch pattern data storage area C108. 2 or more sessions are established between the storage device S1 and the function of acquiring data from the storage device S1 and temporarily storing the data in the cache data storage area C107, and any data issued for data prefetching A function to issue a read request by selecting one of the two or more sessions Provided.

先読みパターンデータ変換機能C104は、図には示していないが、PCが発行するリード要求において、時間的に連続して発行される複数のリード要求が読み出し対象とするブロック番地領域が連続している場合には、当該連続したブロック領域のすべてを読み出し対象とする1回の先行リード要求を発行するように変換した先読みパターンデータを先読みパターンデータ格納領域C108に格納する機能と、PCが発行するリード要求において、同一のブロック番地が複数のリード要求によって読み出される場合には、当該ブロック番地は1回の先行リード要求によって読み出され、かつ番地が連続する複数のブロックは、1回の先行リード要求によって読み出されるように変換した先読みパターンデータを先読みパターンデータ格納領域C108に格納する機能と、を備える。   Although the read-ahead pattern data conversion function C104 is not shown in the figure, in the read request issued by the PC, a plurality of read requests issued successively in time have consecutive block address areas to be read. In this case, the function of storing the prefetch pattern data converted so as to issue one preceding read request for reading all of the continuous block areas in the prefetch pattern data storage area C108, and the read issued by the PC In the request, when the same block address is read by a plurality of read requests, the block address is read by one preceding read request, and a plurality of blocks having consecutive addresses are one preceding read request. The prefetch pattern data converted so that it can be read by the And a function for storing the C108.

図11に示すように、iSCSIターゲットC101、キャッシュメモリ制御機能C102、キャッシュメモリ管理機能C103、先読みパターンデータ変換機能C104はアプリケーションプログラムであり、iSCSIイニシエータはオペレーティングシステムが有する機能である。キャッシュ装置C1は、これらのプログラムをCPUが実行することにより、それぞれの機能を実現する手段を備える。なお、キャッシュ装置C1の内部構造(ソフトウェア構造)の一部または全部をハードウェアで構成しもよい。   As shown in FIG. 11, the iSCSI target C101, the cache memory control function C102, the cache memory management function C103, and the prefetch pattern data conversion function C104 are application programs, and the iSCSI initiator is a function of the operating system. The cache device C1 includes means for realizing each function when the CPU executes these programs. A part or all of the internal structure (software structure) of the cache device C1 may be configured by hardware.

図11において、iSCSIターゲットC101は、PC1〜3が持つiSCSIイニシエータ機能と通信し、PC1〜3との間でiSCSIコマンドやデータを送受信する機能を持つ。一方、iSCSIイニシエータC105は、ストレージ装置S1が持つiSCSIターゲット機能と通信し、ストレージ装置S1との間でiSCSIコマンドやデータを送受信する機能を持つ。   In FIG. 11, the iSCSI target C101 communicates with the iSCSI initiator function of the PCs 1 to 3, and has a function of transmitting and receiving iSCSI commands and data to and from the PCs 1 to 3. On the other hand, the iSCSI initiator C105 communicates with the iSCSI target function of the storage apparatus S1, and has a function of transmitting and receiving iSCSI commands and data to and from the storage apparatus S1.

キャッシュメモリ制御機能C102は、iSCSIターゲットC101とiSCSIイニシエータC105(オペレーティングシステム内)との間の入出力制御を仲介し、まずは従来技術に係る機能を提供する。   The cache memory control function C102 mediates input / output control between the iSCSI target C101 and the iSCSI initiator C105 (inside the operating system), and first provides functions related to the prior art.

すなわち、PC1からのSCSI−READをiSCSIターゲットC101経由で受信すると、キャッシュメモリ管理機能C103を介して、当該SCSI−READが読み出し対象とするデータがキャッシュデータ格納領域C107内に存在するか否かを検索する。検索の結果、キャッシュデータが存在しない(ミスヒット)と判断したならば、当該SCSI−READを、iSCSIイニシエータC105を介してストレージ装置S1に送信する。逆に、検索の結果、キャッシュデータが存在している(ヒット)と判断したならば、対象データを、キャッシュメモリ管理機能C103を介してキャッシュデータ格納領域C107から取得し、iSCSIターゲットC101を介してPC1に返送する。また、PC1が送信したSCSI−READがキャッシュミスヒットによりストレージ装置S1に到達した結果、読み出し対象のデータがストレージ装置S1からData−Inによって返送されてきた時には、当該Data−InをPC1に対して中継するとともに、当該Data−Inに搭載されていたデータをキャッシュメモリ管理機能C103を介してキャッシュデータ格納領域C107に保存する。   That is, when the SCSI-READ from the PC 1 is received via the iSCSI target C101, whether or not the data to be read by the SCSI-READ exists in the cache data storage area C107 via the cache memory management function C103. Search for. If it is determined that the cache data does not exist (miss hit) as a result of the search, the SCSI-READ is transmitted to the storage device S1 via the iSCSI initiator C105. On the contrary, if it is determined that the cache data exists (hit) as a result of the search, the target data is acquired from the cache data storage area C107 via the cache memory management function C103, and via the iSCSI target C101. Return to PC1. Further, as a result of the SCSI-READ transmitted by the PC 1 reaching the storage device S 1 due to a cache miss, when the data to be read is returned from the storage device S 1 by Data-In, the Data-In is sent to the PC 1. In addition to relaying, the data loaded in the Data-In is stored in the cache data storage area C107 via the cache memory management function C103.

キャッシュメモリ制御機能C102は、キャプチャされたSCSI−READのとおりの先読みパターンデータを、キャッシュメモリ管理機能C103を介して、先読みパターンデータ格納領域C108に例えば図4に示すように書き込む。この書き込みは、前回、PC1が起動した時、あるいは専らキャプチャを目的としてPC1を試験起動した時に行われる。OSが起動開始してからOSが起動完了するまでに、SCSI−READが数千〜数万回発行されるので、その全てをキャプチャし、先読みパターンデータとして、先読みパターンデータ格納領域C108に格納する。   The cache memory control function C102 writes the prefetched pattern data according to the captured SCSI-READ into the prefetched pattern data storage area C108 via the cache memory management function C103, for example, as shown in FIG. This writing is performed when the PC 1 is started up last time or when the PC 1 is started for testing exclusively for the purpose of capture. Since the SCSI-READ is issued several thousand to several tens of thousands of times from the start of the OS to the completion of the OS startup, all of them are captured and stored in the prefetch pattern data storage area C108 as prefetch pattern data. .

さらに、キャッシュメモリ制御機能C102は、従来技術に係るデータ先読み機能、および多重セッション確立機能も提供する。すなわち、キャッシュメモリ制御機能C102は、先読みパターン格納領域C108に保存された先読みパターンデータを読み込み、iSCSIイニシエータC105とストレージ装置S1との間で多重のiSCSIセッションを確立する。そして、当該iSCSIセッションを介して、SCSI−READを先読みパターンデータの記述に従ってストレージ装置S1に発行することにより、ストレージ装置S1からデータを取得し、当該データをキャッシュメモリ管理機能C103を介してキャッシュデータ格納領域C107に保存する。多重セッション確立機能を用いない場合は、iSCSIイニシエータC105とストレージ装置S1との間で一つのiSCSIセッションを確立し、同様な処理を行う。   Further, the cache memory control function C102 also provides a data prefetching function and a multiple session establishment function according to the prior art. That is, the cache memory control function C102 reads the prefetch pattern data stored in the prefetch pattern storage area C108, and establishes a multiple iSCSI session between the iSCSI initiator C105 and the storage device S1. Then, by issuing SCSI-READ to the storage apparatus S1 according to the description of the prefetch pattern data via the iSCSI session, data is acquired from the storage apparatus S1, and the data is cached via the cache memory management function C103. Save in the storage area C107. When the multiple session establishment function is not used, one iSCSI session is established between the iSCSI initiator C105 and the storage device S1, and similar processing is performed.

次に、先読みパターンデータ変換機能C104について説明する。先読みパターン変換機能C104は、先読みパターンデータ格納領域C108に保存された先読みパターンデータを読み込み、各形式に変換し、変換後の先読みパターンデータを先読みパターンデータ格納領域C108に書き戻す。   Next, the prefetch pattern data conversion function C104 will be described. The prefetch pattern conversion function C104 reads the prefetch pattern data stored in the prefetch pattern data storage area C108, converts it into each format, and writes the converted prefetch pattern data back to the prefetch pattern data storage area C108.

次に、キャッシュ装置C1の内部構造(ハードウェア構造)の例について、図12を用いて説明する。   Next, an example of the internal structure (hardware structure) of the cache device C1 will be described with reference to FIG.

図12において、ハードウェアは、CPU(Central Processing Unit)C111、メモリC112、ハードディスク(HDD:Hard Disk Unit)C113、NIC(Network Interface card)C114、そして各部を接続するシステムバスC115から構成される。   In FIG. 12, the hardware is composed of a CPU (Central Processing Unit) C111, a memory C112, a hard disk (HDD: Hard Disk Unit) C113, a NIC (Network Interface card) C114, and a system bus C115 that connects each unit.

CPU(C111)は、従来技術に係る処理、および本願発明の実施例に詳述した処理を実現するために必要な、一切の演算処理を行う。   The CPU (C111) performs all the arithmetic processes necessary for realizing the processes according to the prior art and the processes detailed in the embodiments of the present invention.

図11におけるオペレーティングシステム、iSCSIターゲット、iSCSIイニシエータ、従来技術に係るプログラム、本願発明に係る一切のプログラムは、メモリC112またはハードディスクC113に格納することができる。そして、これらのプログラムは適宜メモリC112にロードされて実行される(メモリC112に格納されていたプログラムは、メモリC112内の別の領域にロードされて実行される)。NIC(C114)は、IPネットワークN1と接続され、PC1〜PC3およびストレージ装置S1との間でIPによる通信を行う。   The operating system, iSCSI target, iSCSI initiator, program according to the prior art, and all programs according to the present invention in FIG. 11 can be stored in the memory C112 or the hard disk C113. These programs are appropriately loaded into the memory C112 and executed (the program stored in the memory C112 is loaded into another area in the memory C112 and executed). The NIC (C114) is connected to the IP network N1, and performs communication by IP between the PC1 to PC3 and the storage device S1.

図11における記憶デバイスはC106、メモリC112またはハードディスクC113を割り当てることができる。メモリC112を割り当てた場合、キャッシュデータの書き込みまたは読み出しが高速に行うことができる一方で、単位容量あたりの価格が高いという欠点がある。一方、ハードディスクC113に割り当てた場合、単位容量あたりの価格が安い一方で、データの書き込みまたは読み出しが高速に行えないという欠点がある。   The storage device in FIG. 11 can be assigned C106, memory C112 or hard disk C113. When the memory C112 is allocated, the cache data can be written or read at a high speed, but the price per unit capacity is high. On the other hand, when assigned to the hard disk C113, the price per unit capacity is low, but there is a drawback that data cannot be written or read at high speed.

以上に説明したハードウェア構造は、当該構造の要件を満たす通常のパーソナルコンピュータ、ワークステーション、サーバ等などで提供することもできる。   The hardware structure described above can be provided by an ordinary personal computer, workstation, server, or the like that satisfies the requirements of the structure.

以上、本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Of course.

ネットワークの伝送遅延時間や帯域、ストレージアクセスの待ち時間が、ネットワークレスポンス時間に影響を与える様子を示した図である。It is the figure which showed a mode that the transmission delay time of a network, a zone | band, and the waiting time of storage access affect network response time. 本発明の実施例のネットワークキャッシュ装置を含む全体のシステム構成例を示した図である。1 is a diagram illustrating an example of an overall system configuration including a network cache device according to an embodiment of the present invention. キャッシュ装置によるiSCSIオペレーション等の中継方法を示した図である。It is the figure which showed the relay methods, such as iSCSI operation by the cache device. 先読みパターンデータの形式例を示した図である。It is the figure which showed the example of a format of prefetch pattern data. PCがOS起動する際に、読み出される論理ブロックのアドレスを示した図である。FIG. 4 is a diagram illustrating addresses of logical blocks that are read when a PC starts up an OS. SCSI−READによるデータ取得手順を示した図である。It is the figure which showed the data acquisition procedure by SCSI-READ. 先読みパターンデータの形式を形式1から形式2に変更するアルゴリズムを示した図である。It is the figure which showed the algorithm which changes the format of prefetch pattern data from the format 1 to the format 2. 先読みパターンデータの形式を形式1から形式3に変更するアルゴリズムを示した図である。It is the figure which showed the algorithm which changes the format of prefetch pattern data from the format 1 to the format 3. 先読みパターンデータの形式を形式1から形式4に変更するアルゴリズムを示した図である。It is the figure which showed the algorithm which changes the format of prefetch pattern data from the format 1 to the format 4. 複数のiSCSIセッションを使用したSCSI−READの発行手順を示した図である。It is the figure which showed the issuing procedure of SCSI-READ using a some iSCSI session. キャッシュ装置のソフトウェア構造の一例を示した図である。It is the figure which showed an example of the software structure of a cache apparatus. キャッシュ装置のハードウェア構造の一例を示した図である。It is the figure which showed an example of the hardware structure of a cache apparatus.

符号の説明Explanation of symbols

PC1〜PC3…パーソナルコンピュータ、p1〜p3…PC1〜PC3に割り当てられているIPアドレス、I1〜I3…イニシエータ、C1…ネットワークキャッシュ装置、c1…ネットワークキャシュ装置C1に割り当てられているIPアドレス、N1…ネットワーク、S1…ストレージ装置、s1…ストレージ装置S1に割り当てられているIPアドレス、LU1〜LU3…論理ユニット、lun1〜lun…論理ユニットU1〜LU3に割り当てられている論理ユニット番号、C101…iSCSIターゲット、C102…キャッシュメモリ制御機能、C103…キャッシュメモリ管理機能、C104…先読みパターンデータ変換機能、C105…iSCSIイニシエータ、C106記憶デバイス、C107…キャッシュデータ格納領域、C108…先読みパターンデータ格納領域、C111…CPU、C112…メモリ、C113…HDD、C114…NIC、C115…システムバス

PC1 to PC3 ... personal computer, p1 to p3 ... IP address assigned to PC1 to PC3, I1 to I3 ... initiator, C1 ... network cache device, c1 ... IP address assigned to network cache device C1, N1 ... Network, S1... Storage device, s1... IP address assigned to storage device S1, LU1 to LU3... Logical unit, lun1 to lun... Logical unit number assigned to logical unit U1 to LU3, C101. C102: Cache memory control function, C103: Cache memory management function, C104: Prefetch pattern data conversion function, C105: iSCSI initiator, C106 storage device, C107: Cache data rating Region, C108 ... preread pattern data storage area, C111 ... CPU, C112 ... memory, C113 ... HDD, C114 ... NIC, C115 ... system bus

Claims (5)

コンピュータと、前記コンピュータの動作に必要なデータを格納した記憶装置との間の通信を仲介し、前記コンピュータが前記記憶装置から取得したデータまたは前記コンピュータが前記記憶装置に保存したデータを仲介時にキャッシュデータ格納領域内に一時的に記憶し、前記コンピュータからリード要求されたデータが前記キャッシュデータ格納領域内にあれば、前記記憶装置にアクセスすることなく当該データを前記コンピュータに返送するネットワークキャッシュ装置であって、
前記記憶装置に発行するリード要求に関する情報である先読みパターンデータを格納する先読みパターンデータ格納領域を有する記憶デバイスと、
前記先読みパターンデータ格納領域に格納されている先読みパターンデータを読み込み、当該先読みパターンデータに該当するリード要求において、同一のブロック番地が複数のリード要求によって読み出される場合には、当該ブロック番地は1回の先行リード要求によって読み出され、かつ番地が連続する複数のブロック番地は、1回の先行リード要求によって読み出されるように変換した先読みパターンデータを前記先読みパターンデータ格納領域に格納する変換手段と、
前記コンピュータが特定の動作に必要なデータを取得するためにリード要求の発行を開始する前に、前記変換した先読みパターンデータの記述に従って先行リード要求を発行することにより、前記記憶装置からデータを取得して、当該データを前記キャッシュデータ格納領域内に一時的に記憶させる手段と、
を備え
前記変換手段は、番地が連続する複数のブロック番地を、1回の先行リード要求によって読み出されるように変換する際に、読み出し順が連続していなくても番地が連続する複数のブロック番地を、1回の先行リード要求によって読み出されるように変換することを特徴とするネットワークキャッシュ装置。
Mediates communication between a computer and a storage device storing data necessary for the operation of the computer, and caches data acquired from the storage device by the computer or data stored in the storage device by the computer A network cache device that temporarily stores data in a data storage area and returns the data to the computer without accessing the storage device if the data requested to be read from the computer is in the cache data storage area Because
A storage device having a prefetch pattern data storage area for storing prefetch pattern data which is information relating to a read request issued to the storage device;
When the prefetch pattern data stored in the prefetch pattern data storage area is read and the same block address is read by a plurality of read requests in the read request corresponding to the prefetch pattern data, the block address is set once. prior read by the read request plurality of blocks addresses and which addresses are continuous, of a conversion means for storing the converted pre-read pattern data as read out by one of the preceding read request to the pre-read pattern data storage area,
Acquire data from the storage device by issuing a preceding read request according to the description of the converted prefetch pattern data before the computer starts issuing a read request to acquire data necessary for a specific operation. Means for temporarily storing the data in the cache data storage area;
Equipped with a,
The converting means converts a plurality of block addresses having consecutive addresses even when the reading order is not continuous when converting a plurality of block addresses having consecutive addresses so that they are read by a single preceding read request. network cache apparatus characterized that you conversion as read by one of the preceding read request.
請求項に記載のネットワークキャッシュ装置であって、
前記変換手段は、リード要求が、当該リード要求が対象とする読み出しブロックのブロック番地の昇順または降順で発行されるように変換して格納することを特徴とするネットワークキャッシュ装置。
The network cache device according to claim 1 ,
The network cache device, wherein the conversion means converts and stores a read request so that the read request is issued in ascending or descending order of the block address of the read block.
請求項に記載のネットワークキャッシュ装置であって、
前記変換手段は、前記コンピュータより早期に必要とするブロックを含むリード要求が、より早期に発行されるように当該リード要求に対応する先行リード要求の発行順序を入れ替えるように変換して格納することを特徴とするネットワークキャッシュ装置。
The network cache device according to claim 1 ,
And the converting means, the read request including blocks the computer requires a more early, and stores the converted to replace the previous read request issuance order of the corresponding to the read request to be issued earlier A network cache device.
請求項1ないしのうちいずれか1項に記載のネットワークキャッシュ装置であって、
前記記憶装置との間で2以上の通信のセッションを確立し、データ先読みのために発行される任意のリード要求、当該2以上の通信のセッションのいずれかに振り分けて発行する手段を備えることを特徴とするネットワークキャッシュ装置。
The network cache device according to any one of claims 1 to 3 ,
Establishing two or more communication session between the storage device, any read requests issued for data prefetching, further comprising means for issuing allocated to one of the two or more communication sessions A network cache device.
求項1ないし4のうちいずれか1項に記載のネットワークキャッシュ装置をコンピュータ機能させるためのネットワークキャッシュプログラム。 Motomeko 1 to network caching program for causing a network cache device according to the computer in one of claims any one of 4.
JP2005339005A 2005-11-24 2005-11-24 Network cache device and program Expired - Fee Related JP4606998B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005339005A JP4606998B2 (en) 2005-11-24 2005-11-24 Network cache device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005339005A JP4606998B2 (en) 2005-11-24 2005-11-24 Network cache device and program

Publications (2)

Publication Number Publication Date
JP2007148554A JP2007148554A (en) 2007-06-14
JP4606998B2 true JP4606998B2 (en) 2011-01-05

Family

ID=38209933

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005339005A Expired - Fee Related JP4606998B2 (en) 2005-11-24 2005-11-24 Network cache device and program

Country Status (1)

Country Link
JP (1) JP4606998B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5025670B2 (en) * 2009-01-28 2012-09-12 株式会社東芝 Information processing apparatus and data storage apparatus
JP5117608B1 (en) * 2011-09-30 2013-01-16 株式会社東芝 Information processing apparatus, hybrid storage apparatus, and cache method
US9256539B2 (en) 2013-03-07 2016-02-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Sharing cache in a computing system
US10423336B2 (en) * 2017-11-28 2019-09-24 International Business Machines Corporation Fast locate using imitation reads on tape drives

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998026352A1 (en) * 1996-12-13 1998-06-18 Hitachi, Ltd. Method of file pre-read control in computer system
JP2001014111A (en) * 1999-06-29 2001-01-19 Hitachi Ltd Control method for rotary type storage device
JP2001154811A (en) * 1999-11-30 2001-06-08 Toshiba Corp Computer system
JP2003030967A (en) * 2001-07-18 2003-01-31 Sony Corp Device and method for recording, recording medium, and program
JP2003085118A (en) * 2001-09-13 2003-03-20 Fujitsu Ltd Parameter setting method of peripheral equipment, and peripheral equipment
JP2004078755A (en) * 2002-08-21 2004-03-11 Hitachi Ltd Information processing system
JP2004118482A (en) * 2002-09-26 2004-04-15 Toshiba Corp Storage device and cache method
JP2004164824A (en) * 2002-10-16 2004-06-10 Microsoft Corp Memory optimization for media player in rendering
JP2004310630A (en) * 2003-04-10 2004-11-04 Mitsubishi Electric Corp Cache control unit
JP2005011110A (en) * 2003-06-19 2005-01-13 Hitachi Ltd Information processor, method for controlling information processor, program, and information processing system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998026352A1 (en) * 1996-12-13 1998-06-18 Hitachi, Ltd. Method of file pre-read control in computer system
JP2001014111A (en) * 1999-06-29 2001-01-19 Hitachi Ltd Control method for rotary type storage device
JP2001154811A (en) * 1999-11-30 2001-06-08 Toshiba Corp Computer system
JP2003030967A (en) * 2001-07-18 2003-01-31 Sony Corp Device and method for recording, recording medium, and program
JP2003085118A (en) * 2001-09-13 2003-03-20 Fujitsu Ltd Parameter setting method of peripheral equipment, and peripheral equipment
JP2004078755A (en) * 2002-08-21 2004-03-11 Hitachi Ltd Information processing system
JP2004118482A (en) * 2002-09-26 2004-04-15 Toshiba Corp Storage device and cache method
JP2004164824A (en) * 2002-10-16 2004-06-10 Microsoft Corp Memory optimization for media player in rendering
JP2004310630A (en) * 2003-04-10 2004-11-04 Mitsubishi Electric Corp Cache control unit
JP2005011110A (en) * 2003-06-19 2005-01-13 Hitachi Ltd Information processor, method for controlling information processor, program, and information processing system

Also Published As

Publication number Publication date
JP2007148554A (en) 2007-06-14

Similar Documents

Publication Publication Date Title
JP4186602B2 (en) Update data writing method using journal log
US6925533B2 (en) Virtual disk image system with local cache disk for iSCSI communications
US7272687B2 (en) Cache redundancy for LSI raid controllers
CN101419535B (en) Distributed virtual magnetic disc system of virtual machine
WO2018005613A1 (en) Systems and methods for efficient distribution of stored data objects
US20030212865A1 (en) Method and apparatus for flushing write cache data
US20080005481A1 (en) Read ahead storage control
CN101566927B (en) Memory system, memory controller and data caching method
CN111212141A (en) Shared storage system
US11623140B2 (en) High-speed save data storage for cloud gaming
JP4606998B2 (en) Network cache device and program
JP4053842B2 (en) Computer system
US7725654B2 (en) Affecting a caching algorithm used by a cache of storage system
US20110258424A1 (en) Distributive Cache Accessing Device and Method for Accelerating to Boot Remote Diskless Computers
CN109254958A (en) Distributed data reading/writing method, equipment and system
CN111787062B (en) Wide area network file system-oriented adaptive fast increment pre-reading method
EP4310690A1 (en) Systems and methods for data prefetching for low latency data read from a remote server
JP6529678B2 (en) Method and device for accelerating the execution of an application
US20040260670A1 (en) Network file server, information processing apparatus, program and information recording medium
JP5494363B2 (en) File management program, file management method, and file management apparatus
CN116700604B (en) Data transmission method based on SAS HBA
JP6958928B2 (en) Storage devices, storage management methods, and programs
JP3979183B2 (en) Data sharing system, disk device access method and program
JP3981057B2 (en) File system control method and program storage medium
JP2009070359A (en) Wide area communication network start system for improving start efficiency of hard disk-less type computer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100608

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100805

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: 20101005

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: 20101006

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees