JP5176663B2 - Data processing apparatus, data processing method, and program - Google Patents

Data processing apparatus, data processing method, and program Download PDF

Info

Publication number
JP5176663B2
JP5176663B2 JP2008103652A JP2008103652A JP5176663B2 JP 5176663 B2 JP5176663 B2 JP 5176663B2 JP 2008103652 A JP2008103652 A JP 2008103652A JP 2008103652 A JP2008103652 A JP 2008103652A JP 5176663 B2 JP5176663 B2 JP 5176663B2
Authority
JP
Japan
Prior art keywords
data
identification information
cache page
instruction
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
JP2008103652A
Other languages
Japanese (ja)
Other versions
JP2009258780A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2008103652A priority Critical patent/JP5176663B2/en
Publication of JP2009258780A publication Critical patent/JP2009258780A/en
Application granted granted Critical
Publication of JP5176663B2 publication Critical patent/JP5176663B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、データ処理装置、データ処理方法、及びプログラムに関し、特に処理の高速化して性能を向上させることができるデータ処理装置、データ処理方法、及びプログラムに関する。   The present invention relates to a data processing device, a data processing method, and a program, and more particularly to a data processing device, a data processing method, and a program that can improve the performance by increasing the processing speed.

まず、一般的なディスクアレイ装置の構成について、図面を参照して説明する。   First, the configuration of a general disk array device will be described with reference to the drawings.

ディスクアレイ装置1001は、図27に示すように、ホストディレクタ(Host Director)1010と、キャッシュディレクタ(Cache Director)1020と、ディスクディレクタ1030(Disk Director)と、から構成され、これらはクロスバースイッチやファイバチャネルなどのバスなどを介して相互に通信可能に接続されている。   As shown in FIG. 27, the disk array device 1001 is composed of a host director (Host Director) 1010, a cache director (Cache Director) 1020, and a disk director 1030 (Disk Director). They are communicably connected to each other via a bus such as a fiber channel.

ホストディレクタ1010は、例えばSCSI(Small Computer System Interface)やファイバチャネルなどのチャネルを介してホスト装置(Host)1002と接続され、ポート(Port)1011と、例えばRAM(Random Access Memory)などのメモリ(mem)1012と、ホストプロセッサ(HP)1013と、を備えている。   The host director 1010 is connected to a host device (Host) 1002 through a channel such as SCSI (Small Computer System Interface) or a fiber channel, for example, and includes a port (Port) 1011 and a memory (such as a RAM (Random Access Memory)). mem) 1012 and a host processor (HP) 1013.

ホストプロセッサ1013は、例えばMPU(Micro Processing Unit)などから構成され、図28(a)に示すように、論理ディスク番号(LDN)と論理セクタ番号(LSN)と転送セクタ長(Length)とページ番号(PageID)とをタスク毎に記憶可能な複数の内部テーブル(HA-Task0-Table〜HA-TaskN-Table)1130−N(Nは整数)を、メモリ1012に保持するなどして備えている。   The host processor 1013 is composed of, for example, an MPU (Micro Processing Unit) or the like, and as shown in FIG. 28A, a logical disk number (LDN), a logical sector number (LSN), a transfer sector length (Length), and a page number. A plurality of internal tables (HA-Task0-Table to HA-TaskN-Table) 1130-N (N is an integer) that can store (PageID) for each task are stored in the memory 1012.

ホストプロセッサ1013は、ホスト装置1002からディスクアレイ装置1001に対して発行された物理ディスクアレイ1003のハードディスクドライブに格納されたデータの読出命令(リード命令(ReadCommand))を受けると、リード命令を解析し、論理ディスク番号と論理セクタ番号と転送セクタ長といった必要な情報を抽出して内部テーブル1130−Nに記憶する。   When the host processor 1013 receives a read command (read command (ReadCommand)) of data stored in the hard disk drive of the physical disk array 1003 issued from the host device 1002 to the disk array device 1001, the host processor 1013 analyzes the read command. Necessary information such as a logical disk number, a logical sector number, and a transfer sector length is extracted and stored in the internal table 1130-N.

ホストプロセッサ1013は、キャッシュディレクタ1020に対して、図28(b)に示すような、論理ディスク番号と論理セクタ番号と転送セクタ長といったキャッシュページ1230−Nを獲得するために必要な情報からなる獲得指示パラメータを含む(Page獲得命令)をキャッシュディレクタ1020に対して発行する。   The host processor 1013 provides the cache director 1020 with information necessary for acquiring a cache page 1230-N such as a logical disk number, a logical sector number, and a transfer sector length as shown in FIG. A (Page acquisition command) including an instruction parameter is issued to the cache director 1020.

キャッシュディレクタ1020は、例えばRAMなどのメモリ1022と、キャッシュプロセッサ(CP)1023と、を備えている。   The cache director 1020 includes a memory 1022 such as a RAM and a cache processor (CP) 1023.

キャッシュプロセッサ1023は、例えばMPUなどから構成され、図29に示すように、複数のキャッシュページ(CachePege1〜CachePegeN)1230−Nと、未使用キャッシュページリンク(NULL-LINK)1231と、HDD一致データリンク(CLEAN-LINK)1232と、複数のキャッシュヒットページ検索リンク(HASH-LINK)1233と、をメモリ1022に保持するなどして備えている。   The cache processor 1023 is configured by, for example, an MPU, and as shown in FIG. 29, a plurality of cache pages (CachePege1 to CachePegeN) 1230-N, unused cache page links (NULL-LINK) 1231, and HDD matching data links (CLEAN-LINK) 1232 and a plurality of cache hit page search links (HASH-LINK) 1233 are provided in the memory 1022.

初期状態では、キャッシュページ1230−Nが全て未使用キャッシュページリンク1231に接続され、キャッシュヒットページ検索リンク1233には、未接続の状態になっている。   In the initial state, all the cache pages 1230 -N are connected to the unused cache page link 1231, and the cache hit page search link 1233 is not connected.

キャッシュページ1230−Nは、双方向リンク構造を有し、LDN部と、LSN部と、dete部と、Rng部と、未使用キャッシュページリンク1231及びHDD一致データリンク1232の根に接続可能なfwd/bwd部と、キャッシュヒットページ検索リンク1233の根に接続可能なPREV/NEXT部と、を含んで構成されている。   The cache page 1230-N has a bidirectional link structure, and can be connected to the root of the LDN part, LSN part, dete part, Rng part, unused cache page link 1231 and HDD matching data link 1232 / Bwd section and a PREV / NEXT section connectable to the root of the cache hit page search link 1233.

キャッシュページ1230−Nの使用時には、論理ディスク番号と論理セクタ番号とが、それぞれLDN部とLSN部とに設定され、ホスト装置1002から送られるデータや、物理ディスクアレイ1003から読み出したデータは、データ部に格納される。また、Rng部には、キャッシュページ1230−Nのデータ格納範囲(Rng)が設定される。   When the cache page 1230-N is used, the logical disk number and the logical sector number are set in the LDN part and the LSN part, respectively, and the data sent from the host device 1002 and the data read from the physical disk array 1003 are data Stored in the department. Further, the data storage range (Rng) of the cache page 1230-N is set in the Rng portion.

キャッシュヒットページ検索リンク1233は、キャッシュページ1230−Nの検索を高速に行うための仕組みで、論理ディスク番号の数分だけ根を持っている。   The cache hit page search link 1233 is a mechanism for performing a search for the cache page 1230-N at high speed, and has roots corresponding to the number of logical disk numbers.

ディスクディレクタ1030は、例えばバスなどを介して複数のハードディスクドライブ(HDD)を備える物理ディスクアレイ1003と接続されているポート1031と、例えばRAMなどのメモリ1032と、例えばMPUなどから構成されるディスクプロセッサ(DP)1033と、を備えている。   The disk director 1030 is a disk processor including a port 1031 connected to a physical disk array 1003 including a plurality of hard disk drives (HDDs) via a bus, a memory 1032 such as a RAM, and an MPU, for example. (DP) 1033.

次に、上記構成を備えるディスクアレイ装置の動作例について、図面を参照して説明する。   Next, an operation example of the disk array device having the above configuration will be described with reference to the drawings.

ホスト装置1002からディスクアレイ装置1001に対して発行されたリード命令を受けると、ホストディレクタ1010では、まず、ホストプロセッサ1013が、リード命令を解析し、図28(b)に示すような、論理ディスク番号と論理セクタ番号と転送セクタ長とから構成される獲得指示パラメータを含むキャッシュページ1230−Nの獲得指示(Page獲得命令)をキャッシュディレクタ1020に対して発行する。   When a read command issued from the host device 1002 to the disk array device 1001 is received, in the host director 1010, first, the host processor 1013 analyzes the read command, and the logical disk as shown in FIG. A cache page 1230-N acquisition instruction (Page acquisition instruction) including an acquisition instruction parameter composed of a number, a logical sector number, and a transfer sector length is issued to the cache director 1020.

キャッシュディレクタ1020では、キャッシュプロセッサ1023が、まず、ホストプロセッサ1013から受けた獲得指示パラメータを元に、キャッシュヒットページ検索リンク1233を辿って、キャッシュヒットしているキャッシュページ1230−Nを検索する。具体的には、獲得指示パラメータの論理ディスク番号に該当するキャッシュヒットページ検索リンク1233が選択される。そして、このキャッシュヒットページ検索リンク1233にリンクインしているキャッシュページ1230−Nに登録されている論理ディスク番号、論理セクタ番号、及びデータ格納範囲と、獲得指示パラメータの論理ディスク番号、論理セクタ番号、及び転送セクタ長と、が比較されるなどして、リード命令により読出の命令がなされたデータを含むデータを格納するキャッシュページ1230−Nがあるか否かが判別される。   In the cache director 1020, the cache processor 1023 first searches the cache page 1230 -N having a cache hit by following the cache hit page search link 1233 based on the acquisition instruction parameter received from the host processor 1013. Specifically, the cache hit page search link 1233 corresponding to the logical disk number of the acquisition instruction parameter is selected. The logical disk number, logical sector number, and data storage range registered in the cache page 1230-N linked in to the cache hit page search link 1233, the logical disk number of the acquisition instruction parameter, and the logical sector number And the transfer sector length are compared, for example, it is determined whether or not there is a cache page 1230-N that stores data including data for which a read command is issued by a read command.

検索した結果、キャッシュヒットしているキャッシュページ1230−Nがなかった場合には、図30に示すように、未使用キャッシュページリンク1231からキャッシュページ1230−Nをリンクアウトするとともに、キャッシュページ1230−Nに、獲得指示パラメータに含まれている論理ディスク番号及び論理セクタ番号と、獲得指示を発行したホストプロセッサ1013を示すMPU番号と、を登録する。そして、キャッシュプロセッサ1023は、キャッシュページ1230−Nをキャッシュヒットページ検索リンク1233にリンクインする。   As a result of the search, if there is no cache page 1230-N having a cache hit, the cache page 1230-N is linked out from the unused cache page link 1231 as shown in FIG. In N, the logical disk number and logical sector number included in the acquisition instruction parameter and the MPU number indicating the host processor 1013 that issued the acquisition instruction are registered. Then, the cache processor 1023 links the cache page 1230-N to the cache hit page search link 1233.

そして、キャッシュプロセッサ1023は、図31(a)に示すような、キャッシュページ1230−Nのページ番号を含む獲得完了通知(CachePage獲得完了命令)をホストディレクタ1010に対して返却する。なお、転送セクタ長がキャッシュページ1230−Nを複数ページ数分必要とする場合には、そのページ数分だけ上記処理を繰り返し実行し、必要なページ数分全てを排他中にしてから、キャッシュページ1230−Nの獲得完了通知をホストディレクタ1010に対して返却すればよい。   Then, the cache processor 1023 returns an acquisition completion notification (CachePage acquisition completion instruction) including the page number of the cache page 1230-N to the host director 1010 as shown in FIG. When the transfer sector length requires cache pages 1230-N for a plurality of pages, the above processing is repeatedly executed for the number of pages, and all the necessary pages are excluded, and then the cache pages The acquisition completion notification of 1230-N may be returned to the host director 1010.

キャッシュプロセッサ1023から獲得完了通知を受けると、ホストディレクタ1010では、ホストプロセッサ1011が、図31(b)に示すように、獲得完了通知に含まれるキャッシュページ1230−Nのページ番号を内部テーブル1130−Nに記憶するとともに、図31(c)に示すような、論理ディスク番号と論理セクタ番号と転送セクタ長とページ番号とから構成されるHDD読出パラメータを含む読出指示(DiskRead命令)をディスクディレクタ1030に対して発行することにより、物理ディスクアレイ1003から論理ディスク番号と論理セクタ番号と転送セクタ長とに対応するデータを、ページ番号が示すキャッシュページ1230−Nに読み出すことを指示する。   When receiving the acquisition completion notification from the cache processor 1023, in the host director 1010, as shown in FIG. 31B, the host processor 1011 sets the page number of the cache page 1230-N included in the acquisition completion notification to the internal table 1130-. The disk director 1030 stores a read instruction (DiskRead instruction) including HDD read parameters that are stored in N and includes a logical disk number, a logical sector number, a transfer sector length, and a page number as shown in FIG. Is issued to the cache page 1230-N indicated by the page number, from the physical disk array 1003, corresponding to the logical disk number, logical sector number, and transfer sector length.

ディスクディレクタ1030では、ディスクプロセッサ1033が、まず、読出指示に含まれるHDD読出パラメータの論理ディスク番号と論理セクタ番号と転送セクタ長とに対応するデータを、物理ディスクアレイ1003のハードディスクドライブから、HDD読出パラメータのページ番号が示すキャッシュページ1230−Nに対して転送するとともに、読出完了通知をホストディレクタ1010に対して返却する。   In the disk director 1030, the disk processor 1033 first reads data corresponding to the logical disk number, logical sector number, and transfer sector length of the HDD read parameter included in the read instruction from the hard disk drive of the physical disk array 1003. While transferring to the cache page 1230-N indicated by the page number of the parameter, a read completion notice is returned to the host director 1010.

ディスクプロセッサ1033から読出完了通知を受けると、ホストディレクタ1010では、ホストプロセッサ1013が、内部テーブル1130−Nに記憶されている論理ディスク番号と論理セクタ番号と転送セクタ長とに対応するデータを、ページ番号が示すキャッシュページ1230−Nからホスト装置1002に対して転送する。   Upon receiving the read completion notification from the disk processor 1033, in the host director 1010, the host processor 1013 changes the data corresponding to the logical disk number, logical sector number, and transfer sector length stored in the internal table 1130-N to the page. The data is transferred from the cache page 1230-N indicated by the number to the host device 1002.

キャッシュページ1230−Nからホスト装置1002へのデータ転送が完了した後、ホストプロセッサ1013は、図32に示すような、内部テーブル1130−Nに記憶されている論理ディスク番号と論理セクタ番号と転送セクタ長とページ番号とから構成される返却指示パラメータ(CachePage返却命令)を含む返却指示をキャッシュディレクタ1020に対して発行する。   After the data transfer from the cache page 1230-N to the host device 1002 is completed, the host processor 1013 displays the logical disk number, logical sector number, and transfer sector stored in the internal table 1130-N as shown in FIG. A return instruction including a return instruction parameter (CachePage return instruction) including a length and a page number is issued to the cache director 1020.

ホストディレクタ1010から返却指示を受けると、キャッシュディレクタ1020では、キャッシュプロセッサ1023が、図33に示すように、返却指示に含まれる返却指示パラメータのページ番号が示すキャッシュページ1230−Nのデータ格納範囲を登録するとともに、キャッシュページ1230−NをHDD一致データリンク1232に接続してリンクインして、排他を解除する。   When receiving a return instruction from the host director 1010, in the cache director 1020, as shown in FIG. 33, the cache processor 1023 sets the data storage range of the cache page 1230-N indicated by the page number of the return instruction parameter included in the return instruction. While registering, the cache page 1230-N is connected to the HDD matching data link 1232 and linked in to release the exclusion.

そして、キャッシュプロセッサ1023は、キャッシュページ230−Nの返却完了通知をホストディレクタ1010に対して返却する。なお、上記のような処理は、ホストプロセッサ1013、キャッシュプロセッサ1023、及びディスクプロセッサ1033内の複数のタスクにて並行して実行されている。   Then, the cache processor 1023 returns a return completion notification of the cache page 230-N to the host director 1010. The above processing is executed in parallel by a plurality of tasks in the host processor 1013, the cache processor 1023, and the disk processor 1033.

これに対して、ホスト装置1002からキャッシュページ1230−N上の既に格納さているデータに関してリード命令が発行されるなどして、キャッシュプロセッサ1023が、キャッシュヒットページ検索リンク1233を辿ってキャッシュヒットしたキャッシュページ1230−Nを検出した場合には、HDD一致データリンク1232からキャッシュページ1230−Nをリンクアウトして排他中にするとともに、ページ番号やデータ格納範囲などの情報を含む獲得完了通知をホストディレクタ1010に対して返却する。なお、キャッシュヒットしたキャッシュページ1230−Nが他のタスクによって排他中である場合には、キャッシュページ1230−Nの返却を待つ。   In response to this, the cache processor 1023 traces the cache hit page search link 1233 and issues a cache hit, for example, by issuing a read command for data already stored on the cache page 1230-N from the host device 1002. When the page 1230-N is detected, the cache page 1230-N is linked out from the HDD matching data link 1232 to make it exclusive, and an acquisition completion notification including information such as the page number and data storage range is sent to the host director. Return to 1010. When the cache hit cache page 1230-N is being excluded by another task, it waits for the cache page 1230-N to be returned.

キャッシュプロセッサ1023から獲得完了通知を受けると、ホストディレクタ1010では、獲得完了通知にデータ格納範囲が含まれているため、ホストプロセッサ1013が、リード命令により読出の命令がなされたデータを含むデータがキャッシュページ1230−Nに格納されているとして、物理ディスクアレイ1003のハードディスクドライブからのデータの読出が不要であると判別する。この場合、ホストプロセッサ1013は、書込指示のディスクディレクタ1030に対する発行を省略して、内部テーブル1130−Nに記憶されている論理ディスク番号と論理セクタ番号と転送セクタ長とに対応するデータを、ページ番号が示すキャッシュページ1230−Nからホスト装置1002に対して転送する。その後、ホストプロセッサ1013は、内部テーブル1130−Nに記憶されているページ番号を含むキャッシュページ1230−Nの返却指示をキャッシュディレクタ1020に対して発行する。   When the acquisition completion notification is received from the cache processor 1023, the host director 1010 includes the data storage range in the acquisition completion notification, so that the host processor 1013 caches data including data for which a read command is issued by the read command. Assuming that data is stored in the page 1230-N, it is determined that reading of data from the hard disk drive of the physical disk array 1003 is unnecessary. In this case, the host processor 1013 omits issuing a write instruction to the disk director 1030, and stores data corresponding to the logical disk number, logical sector number, and transfer sector length stored in the internal table 1130-N. The data is transferred from the cache page 1230-N indicated by the page number to the host device 1002. Thereafter, the host processor 1013 issues an instruction to return the cache page 1230-N including the page number stored in the internal table 1130-N to the cache director 1020.

ホストプロセッサ1013から返却指示を受けると、キャッシュディレクタ1020では、キャッシュプロセッサ1023が、キャッシュページ1230−NをHDD一致データリンク1232にリンクインして排他を解除するとともに、キャッシュページ1230−Nの返却完了通知をホストディレクタ1010に対して返却する。   Upon receiving a return instruction from the host processor 1013, in the cache director 1020, the cache processor 1023 links the cache page 1230-N to the HDD matching data link 1232 to release the exclusion, and the return of the cache page 1230-N is completed. The notification is returned to the host director 1010.

これにより、キャッシュヒットしているキャッシュページ1230−Nに格納されているデータに関して、ホスト装置1002からディスクアレイ装置1001に対して複数のリード命令が発行された場合には、書込指示を発行するなどのホストディレクタ1010からディスクディレクタ1030に対する処理や、データを転送するなどのディスクディレクタ1030での処理を省略することができるようになるため、その分ディスクアレイ装置1001内での処理を高速化することができる(例えば特許文献1参照)。
特開2007−102699号公報
As a result, when a plurality of read instructions are issued from the host device 1002 to the disk array device 1001 regarding the data stored in the cache page 1230-N that has a cache hit, a write instruction is issued. Since the processing from the host director 1010 to the disk director 1030 and the processing in the disk director 1030 such as data transfer can be omitted, the processing in the disk array device 1001 is increased accordingly. (For example, refer to Patent Document 1).
JP 2007-102699 A

しかしながら、上記ディスクアレイ装置1001では、キャッシュヒットしているキャッシュページ1230−Nに格納されているデータに関して、ホスト装置1002から複数のリード命令が発効された場合でも、キャッシュページ1230−Nの獲得指示を発行するなどのホストディレクタ1010からキャッシュディレクタ1020に対する処理や、キャッシュページ1230−Nを排他中にするなどのキャッシュディレクタ1020内での処理を省略することができず、ディスクアレイ装置1001内での処理の高速化にも限界があった。   However, in the disk array device 1001, even when a plurality of read commands are issued from the host device 1002 for the data stored in the cache page 1230 -N having a cache hit, an instruction to acquire the cache page 1230 -N is issued. Processing from the host director 1010 to the cache director 1020, such as issuing a cache page, and processing in the cache director 1020, such as making the cache page 1230-N exclusive, cannot be omitted. There was a limit to the speed of processing.

本発明は、上記実状に鑑みてなされたものであり、処理の高速化して性能を向上させることができるデータ処理装置、データ処理方法、及びプログラムを提供することを目的とする。   The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a data processing apparatus, a data processing method, and a program capable of improving the performance by increasing the processing speed.

上記目的を達成するため、本発明の第1の観点に係るデータ処理装置は、ホスト装置から読出命令を受けたことに応答して、記憶装置に記憶されているデータを読み出してキャッシュメモリに一旦格納してから前記ホスト装置に転送するデータ処理装置であって、前記ホスト装置から第1読出命令により指定される第1データを格納する前記キャッシュメモリ内の第1キャッシュページが、前記第1読出命令以外の命令に基づくタスクによって使用されているか否かを判別するデータ転送判別手段と、前記データ転送判別手段によって前記第1キャッシュページが前記第1読出命令以外の命令に基づくタスクによって使用されていないと判別された場合、前記第1キャッシュページをデータ転送可能な状態に設定するための処理を実行した後、前記第1データを前記第1キャッシュページから前記ホスト装置に転送し、前記データ転送判別手段によって前記第1キャッシュページが前記第1読出命令以外の命令に基づくタスクによって使用されていると判別された場合、前記第1キャッシュページをデータ転送可能な状態に設定するための処理を省略して、前記第1データを前記第1キャッシュページから前記ホスト装置に転送するデータ転送手段と、を備えることを特徴とする。 In order to achieve the above object, a data processing device according to a first aspect of the present invention reads data stored in a storage device and temporarily stores it in a cache memory in response to receiving a read command from a host device. a data processing apparatus for transferring to the host device from the storage, the first cache page in the cache memory for storing first data which is specified by the first read command from the host device, the first a data transfer determining means for determining whether it is used by a task based on the instruction other than the read command, the first cache page by said data transfer discrimination means is used by a task based on the instructions other than the first read command If you are not to have been determined, it executes the process for setting the first cache page data transfer ready , Said first data to transferred to the host device from the first cache page, it determines that the first cache page by said data transfer discrimination means is used by a task based on the instructions other than the first read command If it is, by omitting the processing for setting the first cache page data transfer ready, and data transfer means to transfer to the host device before Symbol first data from the first cache page, It is characterized by providing.

また、本発明の第2の観点に係るデータ処理方法は、ホスト装置から読出命令を受けたことに応答して、記憶装置に記憶されているデータを読み出してキャッシュメモリに一旦格納してから前記ホスト装置に転送するデータ処理方法であって、前記ホスト装置から第1読出命令により指定される第1データを格納する前記キャッシュメモリ内の第1キャッシュページが、前記第1読出命令以外の命令に基づくタスクによって使用されているか否かを判別するデータ転送判別ステップと、前記データ転送判別ステップによって前記第1キャッシュページが前記第1読出命令以外の命令に基づくタスクによって使用されていないと判別された場合、前記第1キャッシュページをデータ転送可能な状態に設定するための処理を実行した後、前記第1データを前記第1キャッシュページから前記ホスト装置に転送し、前記データ転送判別ステップによって前記第1キャッシュページが前記第1読出命令以外の命令に基づくタスクによって使用されていると判別された場合、前記第1キャッシュページをデータ転送可能な状態に設定するための処理を省略して、前記第1データを前記第1キャッシュページから前記ホスト装置に転送するデータ転送ステップと、を備えることを特徴とする。 The data processing method according to a second aspect of the present invention, the from in response to receiving a read command from the host device to read the data stored in the storage device temporarily stored in the cache memory A data processing method for transferring data to a host device, wherein a first cache page in the cache memory storing first data designated by a first read command from the host device is an instruction other than the first read command. a data transfer judgment step of judging whether it is used by a task-based, it is determined that the first cache page by said data transfer determining step is not being used by a task based on the instructions other than the first read command If, after executing the processing for setting the first cache page data transfer ready, the first It transfers the data from the first cache page to the host device, if the first cache page by said data transfer determining step is determined to have been used by a task based on the instructions other than the first read command, by omitting the process for setting the first cache page data transfer ready, that the pre-Symbol first data from the first cache page and a data transfer step to transfer to the host device Features.

さらに、本発明の第3の観点に係るプログラムは、ホスト装置から読出命令を受けたことに応答して、記憶装置に記憶されているデータを読み出してキャッシュメモリに一旦格納してから前記ホスト装置に転送するコンピュータに、前記ホスト装置から第1読出命令により指定される第1データを格納する前記キャッシュメモリ内の第1キャッシュページが、前記第1読出命令以外の命令に基づくタスクによって使用されているか否かを判別するデータ転送判別手順と、前記データ転送判別手順によって前記第1キャッシュページが前記第1読出命令以外の命令に基づくタスクによって使用されていないと判別された場合、前記第1キャッシュページをデータ転送可能な状態に設定するための処理を実行した後、前記第1データを前記第1キャッシュページから前記ホスト装置に転送し、前記データ転送判別手順によって前記第1キャッシュページが前記第1読出命令以外の命令に基づくタスクによって使用されていると判別された場合、前記第1キャッシュページをデータ転送可能な状態に設定するための処理を省略して、前記第1データを前記第1キャッシュページから前記ホスト装置に転送するデータ転送手順と、を実行させるためのものである。 Furthermore, the program according to the third aspect of the present invention, in response to receiving a read command from the host device, the host device reads the data stored in the storage device from the temporarily stored in the cache memory The first cache page in the cache memory for storing the first data designated by the first read instruction from the host device is used by a task based on an instruction other than the first read instruction. a data transfer determination procedure for determining whether it is, the case where the data transfer determination procedures are the first cache page is determined not to be used by a task based on the instructions other than the first read command, the first after executing the processing for setting the cache page data transfer ready, the said first data first It transferred to the host device from Yasshupeji, the case where the data transfer determination procedures are the first cache page is determined as being used by a task based on the instructions other than the first read command, the first cache page by omitting the process for setting the data transfer ready is for the previous SL first data from the first cache page to execute a data transfer procedure to transfer to the host device.

本発明によれば、処理の高速化して性能を向上させることができるデータ処理装置、データ処理方法、及びプログラムを提供することができる。   According to the present invention, it is possible to provide a data processing device, a data processing method, and a program capable of improving the performance by increasing the processing speed.

以下、本発明を実施するための最良の形態について説明する。   Hereinafter, the best mode for carrying out the present invention will be described.

まず、本実施形態に係るディスクアレイ装置の構成について、図面を参照して説明する。   First, the configuration of the disk array device according to the present embodiment will be described with reference to the drawings.

ディスクアレイ装置1は、図1に示すように、ホストディレクタ(Host Director)10と、キャッシュディレクタ(Cache Director)20と、ディスクディレクタ30(Disk Director)と、から構成され、これらは、例えばクロスバースイッチやファイバチャネルなどのバスなどを介して相互に通信可能に接続されている。   As shown in FIG. 1, the disk array device 1 includes a host director 10, a cache director 20, and a disk director 30 (Disk Director). They are connected to each other via a bus such as a switch or a fiber channel so that they can communicate with each other.

ホストディレクタ10は、ポート(Port)11a及び11bと、メモリ(mem)12a及び12bと、ホストプロセッサ(HP)13a及び13bと、を備えている。   The host director 10 includes ports (Ports) 11a and 11b, memories (mem) 12a and 12b, and host processors (HP) 13a and 13b.

ポート11a及び11bは、それぞれSCSI(Small Computer System Interface)やファイバチャネルなどのチャネルを介してホスト装置(Host)2と接続されている。   The ports 11a and 11b are connected to a host device (Host) 2 via channels such as SCSI (Small Computer System Interface) and fiber channel, respectively.

メモリ10a及び10bは、それぞれRAM(Random Access Memory)などによって実現され、ホストプロセッサ13a及び13bに内蔵されている。   The memories 10a and 10b are each realized by a RAM (Random Access Memory) or the like, and are built in the host processors 13a and 13b.

ホストプロセッサ13a及び13bは、それぞれホスト装置2からディスクアレイ装置1に対して発行されるコマンドを解析してデータのホスト装置2との間でデータの送受信を行うもので、例えばMPU(Micro Processing Unit)などから構成されている。   Each of the host processors 13a and 13b analyzes a command issued from the host device 2 to the disk array device 1 and transmits / receives data to / from the data host device 2. For example, the MPU (Micro Processing Unit) ) Etc.

ホストプロセッサ13a及び13bは、それぞれ図2に示すように、複数の内部テーブル(HA-Task0-Table〜HA-TaskN-Table)130a−N及び130b−N(Nは整数)と、論理ディスク番号(LDN)×論理セクタ番号(LSN)/256個のローカル共有テーブル131a−N及び130b−Nと、を例えばメモリ12a及び12bに保持するなどして実装している。   As shown in FIG. 2, each of the host processors 13a and 13b has a plurality of internal tables (HA-Task0-Table to HA-TaskN-Table) 130a-N and 130b-N (N is an integer) and a logical disk number ( LDN) × logical sector number (LSN) / 256 local shared tables 131a-N and 130b-N are mounted in, for example, the memories 12a and 12b.

内部テーブル130a−N及び130b−Nは、それぞれ論理ディスク番号と、論理セクタ番号と、転送セクタ長(Length)と、ページ番号(PageID)と、をタスク毎に記憶可能に構成されている。   The internal tables 130a-N and 130b-N are configured to be able to store a logical disk number, a logical sector number, a transfer sector length (Length), and a page number (PageID) for each task.

ローカル共有テーブル131a−N及び131b−Nは、キャッシュヒットしたデータ(date)を共有するためのもので、それぞれ論理ディスク番号と、論理セクタ番号と、転送セクタ長と、ページ番号と、有効フラグ値(Valid Flag)と、共有タスクカウント値(Share Task Count)と、を最大8タスク分だけ登録可能に構成されている。   The local sharing tables 131a-N and 131b-N are used for sharing cache hit data (date), and are respectively a logical disk number, a logical sector number, a transfer sector length, a page number, and a valid flag value. (Valid Flag) and a shared task count value (Share Task Count) can be registered for a maximum of 8 tasks.

キャッシュディレクタ20は、メモリ22と、キャッシュプロセッサ(CP)23と、を備えている。   The cache director 20 includes a memory 22 and a cache processor (CP) 23.

メモリ22は、例えばRAMなどによって実現され、キャッシュプロセッサ23に内蔵されている。   The memory 22 is realized by a RAM or the like, for example, and is built in the cache processor 23.

キャッシュプロセッサ23は、データを一時的に格納し、固定長のキャッシュページ(Cache Page)230−Nとして管理するもので、例えばMPUなどから構成されている。   The cache processor 23 temporarily stores data and manages the data as a fixed-length cache page (Cache Page) 230-N. The cache processor 23 includes, for example, an MPU.

キャッシュプロセッサ23は、図3に示すように、複数のキャッシュページ(CachePege1〜CachePegeN)230−Nと、未使用キャッシュページリンク(NULL-LINK)231と、HDD一致データリンク(CLEAN-LINK)232と、複数のキャッシュヒットページ検索リンク(HASH-LINK)233と、論理ディスク番号×論理セクタ番号/256個のグローバル共有テーブル234−Nと、を例えばRAM22に保持するなどして実装している。   As shown in FIG. 3, the cache processor 23 includes a plurality of cache pages (CachePege1 to CachePegeN) 230-N, an unused cache page link (NULL-LINK) 231 and an HDD matching data link (CLEAN-LINK) 232. A plurality of cache hit page search links (HASH-LINK) 233 and a logical disk number × logical sector number / 256 global shared tables 234-N are mounted in the RAM 22, for example.

初期状態では、キャッシュページ230−Nが全て未使用キャッシュページリンク231に接続され、キャッシュヒットページ検索リンク233には、未接続の状態になっている。   In the initial state, all the cache pages 230 -N are connected to the unused cache page link 231, and the cache hit page search link 233 is not connected.

キャッシュページ230−Nは、双方向リンク構造を有し、それぞれLDN部と、LSN部と、dete部と、Rng部と、未使用キャッシュページリンク231及びHDD一致データリンク232の根に接続可能なfwd/bwd部と、キャッシュヒットページ検索リンク233の根に接続可能なPREV/NEXT部と、を含んで構成されている。   The cache page 230-N has a bidirectional link structure, and can be connected to the roots of the LDN part, LSN part, dete part, Rng part, unused cache page link 231 and HDD matching data link 232, respectively. It includes a fwd / bwd part and a PREV / NEXT part that can be connected to the root of the cache hit page search link 233.

キャッシュページ230−Nの使用時には、論理ディスク番号と論理セクタ番号とが、それぞれLDN部とLSN部とに設定され、ホスト装置2から送られるデータや、物理ディスクアレイ3から読み出したデータは、データ部に格納される。また、Rng部には、キャッシュページ230−Nのデータ格納範囲が設定される。   When the cache page 230-N is used, the logical disk number and the logical sector number are set in the LDN part and the LSN part, respectively, and the data sent from the host device 2 and the data read from the physical disk array 3 are data Stored in the department. Further, the data storage range of the cache page 230-N is set in the Rng portion.

キャッシュヒットページ検索リンク233は、キャッシュページ230−Nの検索を高速に行うための仕組みで、論理ディスク番号の数分だけ根を持っている。   The cache hit page search link 233 is a mechanism for performing a search for the cache page 230-N at high speed, and has roots corresponding to the number of logical disk numbers.

グローバル共有テーブル234−Nは、ホストディレクタ10からの複数の要求を共有するためのもので、それぞれ論理ディスク番号と、論理セクタ番号と、データ格納範囲と、ページ番号と、有効フラグ値と、MPU番号と、がホストプロセッサ13a及び13bの数(本実施形態では2つ)分だけ登録可能に構成されている。   The global sharing table 234-N is for sharing a plurality of requests from the host director 10, and each of them includes a logical disk number, a logical sector number, a data storage range, a page number, a valid flag value, and an MPU. Numbers can be registered as many as the number of host processors 13a and 13b (two in this embodiment).

図1に示すディスクディレクタ30は、ポート31と、メモリ32と、ディスクプロセッサ(DP)33と、を備えている。   The disk director 30 shown in FIG. 1 includes a port 31, a memory 32, and a disk processor (DP) 33.

ポート31は、例えばバスなどを介して複数のハードディスクドライブ(HDD)を備える物理ディスクアレイ3と接続されている。   The port 31 is connected to the physical disk array 3 including a plurality of hard disk drives (HDD) via, for example, a bus.

メモリ32は、例えばRAMなどによって実現され、ディスクプロセッサ33に内蔵されている。   The memory 32 is realized by a RAM or the like, for example, and is built in the disk processor 33.

ディスクプロセッサ33は、RAID(Redundant Arrays of Inexpensive (Independent) Disks)演算などを実施し複数のハードディスクドライブからの読出及び書込を行うもので、例えばMPUなどから構成されている。   The disk processor 33 performs RAID (Redundant Arrays of Inexpensive (Independent) Disks) operations and the like to perform reading and writing from a plurality of hard disk drives, and is composed of, for example, an MPU.

次に、上記構成を備えるディスクアレイ装置の動作について、図面を参照して説明する。   Next, the operation of the disk array device having the above configuration will be described with reference to the drawings.

ホストディレクタ10では、ホスト装置2からディスクアレイ装置1に対して発行された物理ディスクアレイ3のハードディスクドライブに格納されたデータの読出命令(リード命令(ReadCommand))を受けると、ホストプロセッサ13a又は13bが、図4及び図5に示すリード(Read)処理をタスク毎に実行する。   When the host director 10 receives a read command (Read Command) of data stored in the hard disk drive of the physical disk array 3 issued from the host device 2 to the disk array device 1, the host processor 13a or 13b However, the read processing shown in FIGS. 4 and 5 is executed for each task.

このリード処理において、まず、ホストプロセッサ13a又は13bは、図4に示すように、リード命令を解析し、論理ディスク番号と論理セクタ番号と転送セクタ長といった必要な情報を抽出して内部テーブル130a−N又は130b−Nに記憶する(ステップS101)。   In this read process, the host processor 13a or 13b first analyzes the read command as shown in FIG. 4 and extracts necessary information such as the logical disk number, the logical sector number, and the transfer sector length to extract the internal table 130a- N or 130b-N (step S101).

次に、ホストプロセッサ13a又は13bは、リード命令により指定された論理ディスク番号、論理セクタ番号、及び転送セクタ長と、RAM12a又は12bに実装するローカル共有テーブル131a−N又は131b−Nに登録されている論理ディスク番号、論理セクタ番号、及びデータ格納範囲と、を比較するなどして、リード命令により読出の命令がなされたデータを含むデータを格納するキャッシュページ230−Nが同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aにより共有して使用されているか否かを判別する(ステップS102)。   Next, the host processor 13a or 13b is registered in the logical disk number, logical sector number, and transfer sector length specified by the read command, and the local shared table 131a-N or 131b-N mounted in the RAM 12a or 12b. The cache page 230-N that stores data including data that has been instructed to be read by the read instruction is compared with the same host processor 13a or 13b, for example, by comparing the logical disk number, logical sector number, and data storage range. It is discriminated whether or not it is shared and used by other tasks or another host processor 13b or 13a (step S102).

ここで、キャッシュページ230−Nが同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aにより共有して使用されていると判別した場合には(ステップS102;Yes)、ローカル共有テーブル131a−N又は131b−Nに登録されている有効フラグ値が“1”であるか“2”であるかをチェックすることにより、キャッシュページ230−Nを同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aと共有して使用することができるか否かを判別する(ステップS103)。   If it is determined that the cache page 230-N is shared and used by another task in the same host processor 13a or 13b or another host processor 13b or 13a (step S102; Yes), the local By checking whether the valid flag value registered in the shared table 131a-N or 131b-N is “1” or “2”, the cache page 230-N is stored in the same host processor 13a or 13b. It is determined whether or not it can be shared and used with another task or another host processor 13b or 13a (step S103).

そして、ステップS102の処理にてキャッシュページ230−Nが同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aにより共有して使用されていないと判別した場合や(ステップS102;No)、ステップS103の処理にて有効フラグ値が“2”であることにより、キャッシュページ230−Nを同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aと共有して使用することが抑制されていると判別した場合には(ステップS103;No)、リード命令により指定された論理ディスク番号と論理セクタ番号と転送セクタ長とから構成される獲得指示パラメータを含むキャッシュページ230−Nの獲得指示(Page獲得命令)をキャッシュディレクタ20に対して発行する(ステップS104)。   When it is determined in the process of step S102 that the cache page 230-N is not shared and used by another task in the same host processor 13a or 13b or another host processor 13b or 13a (step S102; No) Since the valid flag value is “2” in the process of step S103, the cache page 230-N is shared with other tasks in the same host processor 13a or 13b or another host processor 13b or 13a. If it is determined that use is suppressed (step S103; No), a cache page including an acquisition instruction parameter including a logical disk number, a logical sector number, and a transfer sector length designated by the read command 230-N acquisition instruction (Page acquisition command) It is issued to the rectifier 20 (step S104).

その後、ホストプロセッサ13a又は13bは、キャッシュディレクタ20から獲得完了通知(CashePage獲得完了通知)を受けるまで(ステップS105;No)、ループして待ち、獲得完了通知を受けると(ステップS105;Yes)、獲得完了通知に含まれるキャッシュページ230−Nのページ番号を内部テーブル130a−N又は130b−Nに記憶する(ステップS106)。   After that, the host processor 13a or 13b waits in a loop until receiving an acquisition completion notification (CashePage acquisition completion notification) from the cache director 20 (Step S105; No), and receives the acquisition completion notification (Step S105; Yes). The page number of the cache page 230-N included in the acquisition completion notification is stored in the internal table 130a-N or 130b-N (step S106).

続いて、ホストプロセッサ13a又は13bは、キャッシュページ230−Nに格納されているデータの範囲を示すデータ格納範囲が獲得完了通知に含まれているか否かをチェックすることにより、キャッシュページ230−Nにデータが格納されているか否かを判別する(ステップS107)。   Subsequently, the host processor 13a or 13b checks whether the data storage range indicating the range of data stored in the cache page 230-N is included in the acquisition completion notification, thereby determining the cache page 230-N. Whether or not data is stored is determined (step S107).

ここで、データ格納範囲が獲得完了通知に含まれておらず、キャッシュページ230−Nにデータが格納されていないと判別した場合には(ステップS107;No)、内部テーブル130a−N又は130b−Nに記憶されている論理ディスク番号と論理セクタ番号と転送セクタ長とページ番号とから構成されるHDD読出パラメータを含む読出指示(DiskRead命令)をディスクディレクタ30に対して発行する(ステップS108)。その後、ホストプロセッサ13a又は13bは、ディスクディレクタ30から読出完了通知(CachePage格納完了通知)を受けるまで(ステップS109;No)、ループして待つ。   If it is determined that the data storage range is not included in the acquisition completion notification and no data is stored in the cache page 230-N (step S107; No), the internal table 130a-N or 130b- A read instruction (DiskRead instruction) including an HDD read parameter composed of a logical disk number, a logical sector number, a transfer sector length, and a page number stored in N is issued to the disk director 30 (step S108). Thereafter, the host processor 13a or 13b waits in a loop until receiving a read completion notification (CachePage storage completion notification) from the disk director 30 (step S109; No).

これに対して、データ格納範囲が獲得完了通知に含まれており、キャッシュページ230−Nにデータが格納されていると判別した場合には(ステップS107;Yes)、キャッシュページ230−Nを同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aと共有して使用すべく、データ格納範囲と、内部テーブル130a−N又は130b−Nに記憶されている論理ディスク番号、論理セクタ番号、及びページ番号と、をローカル共有テーブル131a−N又は131b−Nに登録するとともに(ステップS110)、有効フラグ値を、キャッシュページ230−Nを同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aが共有して使用することができることを示す“1”に設定する(ステップS111)。   On the other hand, if it is determined that the data storage range is included in the acquisition completion notification and the data is stored in the cache page 230-N (step S107; Yes), the cache page 230-N is the same. Data storage range, logical disk number stored in internal table 130a-N or 130b-N, logical disk number to be used in common with other tasks in host processor 13a or 13b or another host processor 13b or 13a The sector number and the page number are registered in the local shared table 131a-N or 131b-N (step S110), and the valid flag value is set for the cache page 230-N in another task in the same host processor 13a or 13b. Or shared by another host processor 13b or 13a Kill it is set to "1" indicating (step S111).

また、ステップS103の処理にて有効フラグ値が“1”であることにより、キャッシュページ230−Nを同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aと共有して使用することができると判別した場合には(ステップS103;Yes)、キャッシュページ230−Nを共有して使用している同一ホストプロセッサ13a又は13b内の他のタスクの数を示す共有タスクカウント値を“1”カウントアップする(ステップS112)。   Further, since the valid flag value is “1” in the process of step S103, the cache page 230-N is shared with other tasks in the same host processor 13a or 13b or another host processor 13b or 13a. If it is determined that it can be performed (step S103; Yes), the shared task count value indicating the number of other tasks in the same host processor 13a or 13b using the cache page 230-N in common is used. "1" is counted up (step S112).

そして、ステップS109の処理にてディスクディレクタ30から読出完了通知を受けたと判別した場合や(ステップS109;Yes)、ステップS111又はS112の処理を実行した後には、内部テーブル130a−N又は130b−Nに記憶されている論理ディスク番号と論理セクタ番号と転送セクタ長とに対応するデータを、ページ番号が示すキャッシュページ230−Nからホスト装置2に対して転送する(ステップS113)。   When it is determined in step S109 that a read completion notification has been received from the disk director 30 (step S109; Yes), or after the processing in step S111 or S112 is executed, the internal tables 130a-N or 130b-N. The data corresponding to the logical disk number, the logical sector number, and the transfer sector length stored in is transferred from the cache page 230-N indicated by the page number to the host device 2 (step S113).

その後、ホストプロセッサ13a又は13bは、図5に示すように、有効フラグ値が“0”であるか否かをチェックすることにより、キャッシュページ230−Nを同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aと共有して使用していたか否かを判別する(ステップS114)。   Thereafter, as shown in FIG. 5, the host processor 13a or 13b checks whether or not the valid flag value is “0”, thereby transferring the cache page 230-N to another host processor 13a or 13b in the same host processor 13a or 13b. It is determined whether or not the task is shared with another host processor 13b or 13a (step S114).

ここで、有効フラグ値が“0“以外であることにより、キャッシュページ230−Nを同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aと共有して使用していたと判別した場合には(ステップS114;Yes)、共有タスクカウント値を“1”カウントダウンし(ステップS115)、カウントダウン後の共有タスクカウント値が“0”であるか否かをチェックすることにより、キャッシュページ230−Nを使用している同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aが未だあるか否かを判別する(ステップS116)。   Here, when the valid flag value is other than “0”, it is determined that the cache page 230-N is shared with another task in the same host processor 13a or 13b or another host processor 13b or 13a. If it is determined (step S114; Yes), the shared task count value is counted down by “1” (step S115), and whether the shared task count value after the countdown is “0” or not is checked. It is determined whether another task in the same host processor 13a or 13b or another host processor 13b or 13a using 230-N is still present (step S116).

ここで、カウントダウン後の共有タスクカウント値が“0”であることにより、キャッシュページ230−Nを使用している同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aがもはやないと判別した場合には(ステップS116;Yes)、ローカル共有テーブル131a−N又は131b−Nから論理ディスク番号と論理セクタ番号とデータ格納範囲とページ番号とを削除するとともに(ステップS117)、有効フラグ値を初期値である“0”に戻す(ステップS118)。   Here, since the shared task count value after the countdown is “0”, another task in the same host processor 13a or 13b using the cache page 230-N or another host processor 13b or 13a is no longer in use. If it is determined that there is not (step S116; Yes), the logical disk number, the logical sector number, the data storage range, and the page number are deleted from the local shared table 131a-N or 131b-N (step S117) and valid. The flag value is returned to the initial value “0” (step S118).

これに対して、カウントダウン後の共有タスクカウント値が“0”であることにより、キャッシュページ230−Nを使用している同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aが未だあると判別した場合には(ステップS116;Yes)、そのままリード処理を終了する。   On the other hand, when the shared task count value after the countdown is “0”, another task in the same host processor 13a or 13b using the cache page 230-N or another host processor 13b or 13a. If it is determined that there is still an error (step S116; Yes), the read process is terminated.

そして、ステップS114の処理にて有効フラグ値が“0“であることにより、キャッシュページ230−Nを同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aと共有して使用していないと判別した場合や(ステップS114;Yes)、ステップS118の処理を実行した後には、内部テーブル130a−N又は130b−Nに記憶されているページ番号を含むキャッシュページ230−Nの返却指示(Page返却命令)をキャッシュディレクタ20に対して発行する(ステップS119)。   When the valid flag value is “0” in the process of step S114, the cache page 230-N is shared with another task in the same host processor 13a or 13b or another host processor 13b or 13a. If it is determined that the cache page 230-N is not included (step S114; Yes), or after the process of step S118 is executed, the cache page 230-N including the page number stored in the internal table 130a-N or 130b-N is returned. An instruction (Page return command) is issued to the cache director 20 (step S119).

その後、ホストプロセッサ13a又は13bは、キャッシュディレクタ20から返却完了通知(Page返却完了通知)を受けるまで(ステップS120;No)、ループして待ち、返却完了通知を受けると(ステップS120;Yes)、リード処理を終了する。   After that, the host processor 13a or 13b waits in a loop until receiving a return completion notification (Page return completion notification) from the cache director 20 (Step S120; No), and receives a return completion notification (Step S120; Yes). The read process ends.

また、ホストディレクタ10では、ホスト装置2からディスクアレイ装置1に対して発行されたデータの物理ディスクアレイ3への書込命令(ライト命令(WriteCommand))を受けると、ホストプロセッサ13a又は13bが、図6に示すライト(Write)処理をタスク毎に実行する。   When the host director 10 receives a write command (write command) of data issued from the host device 2 to the disk array device 1 to the physical disk array 3, the host processor 13a or 13b The write process shown in FIG. 6 is executed for each task.

このライト処理において、まず、ホストプロセッサ13a又は13bは、図6に示すように、ライト命令を解析し、論理ディスク番号と論理セクタ番号と転送セクタ長といった必要な情報を抽出して内部テーブル130a−N又は130b−Nに記憶する(ステップS121)。   In this write processing, first, the host processor 13a or 13b analyzes the write command as shown in FIG. 6, extracts necessary information such as the logical disk number, logical sector number, and transfer sector length, and extracts the internal table 130a- N or 130b-N (step S121).

次に、ホストプロセッサ13a又は13bは、ライト命令により指定された論理ディスク番号、論理セクタ番号、及び転送セクタ長と、RAM12a又は12bに実装するローカル共有テーブル131a−N又は131b−Nに登録されている論理ディスク番号、論理セクタ番号、及びデータ格納範囲と、を比較するなどして、ライト命令により書込の命令がなされたデータを含むデータを格納するキャッシュページ230−Nが同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aにより共有して使用されているか否かを判別する(ステップS122)。   Next, the host processor 13a or 13b is registered in the logical disk number, logical sector number, and transfer sector length specified by the write command, and the local shared table 131a-N or 131b-N mounted in the RAM 12a or 12b. The cache page 230-N that stores data including data for which a write command has been written by comparing the logical disk number, the logical sector number, and the data storage range of the same host processor 13a or It is determined whether or not the task is shared and used by another task in 13b or another host processor 13b or 13a (step S122).

ここで、キャッシュページ230−Nが同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aにより共有して使用されていると判別した場合には(ステップS122;Yes)、ローカル共有テーブル131a−N又は131b−Nに登録されている有効フラグ値を、キャッシュページ230−Nを同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aと共有して使用することが抑制されていることを示す“2”に設定する(ステップS123)。   If it is determined that the cache page 230-N is shared and used by another task in the same host processor 13a or 13b or another host processor 13b or 13a (step S122; Yes), the local The valid flag value registered in the shared table 131a-N or 131b-N is used by sharing the cache page 230-N with another task in the same host processor 13a or 13b or another host processor 13b or 13a. It is set to “2” indicating that this is suppressed (step S123).

そして、ステップS122の処理にてキャッシュページ230−Nが同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aにより共有して使用されていないと判別した場合や(ステップS122;No)、ステップS123の処理を実行した後には、ライト命令により指定された論理ディスク番号と論理セクタ番号と転送セクタ長とから構成される獲得指示パラメータを含むキャッシュページ230−Nの獲得指示(Page獲得命令)をキャッシュディレクタ20に対して発行する(ステップS124)。   When it is determined in the process of step S122 that the cache page 230-N is not shared and used by another task in the same host processor 13a or 13b or another host processor 13b or 13a (step S122; No) After executing the processing of step S123, an acquisition instruction (Page) including an acquisition instruction parameter including a logical disk number, a logical sector number, and a transfer sector length designated by the write instruction (Page (Acquisition command) is issued to the cache director 20 (step S124).

その後、ホストプロセッサ13a又は13bは、キャッシュディレクタ20から獲得完了通知(CashePage獲得完了通知)を受けるまで(ステップS125;No)、ループして待ち、獲得完了通知を受けると(ステップS125;Yes)、獲得完了通知に含まれるキャッシュページ230−Nのページ番号を内部テーブル130a−N又は130b−Nに記憶する(ステップS126)。   Thereafter, the host processor 13a or 13b waits in a loop until receiving the acquisition completion notification (CashePage acquisition completion notification) from the cache director 20 (Step S125; No), and when receiving the acquisition completion notification (Step S125; Yes), The page number of the cache page 230-N included in the acquisition completion notification is stored in the internal table 130a-N or 130b-N (step S126).

続いて、ホストプロセッサ13a又は13bは、キャッシュページ230−Nに格納されているデータの範囲を示すデータ格納範囲が獲得完了通知に含まれているか否かをチェックすることにより、キャッシュページ230−Nにデータが格納されているか否かを判別する(ステップS127)。   Subsequently, the host processor 13a or 13b checks whether the data storage range indicating the range of data stored in the cache page 230-N is included in the acquisition completion notification, thereby determining the cache page 230-N. Whether or not data is stored is determined (step S127).

ここで、データ格納範囲が獲得完了通知に含まれておらず、キャッシュページ230−Nにデータが格納されていないと判別した場合には(ステップS127;No)、内部テーブル130a−N又は130b−Nに記憶されている論理ディスク番号と論理セクタ番号と転送セクタ長とに対応するデータをホスト装置2から、ページ番号が示すキャッシュページ230−Nに対して転送する(ステップS128)。   Here, when it is determined that the data storage range is not included in the acquisition completion notification and no data is stored in the cache page 230-N (step S127; No), the internal tables 130a-N or 130b- Data corresponding to the logical disk number, logical sector number, and transfer sector length stored in N is transferred from the host device 2 to the cache page 230-N indicated by the page number (step S128).

そして、ステップS127の処理にてデータ格納範囲が獲得完了通知に含まれておらず、キャッシュページ230−Nにデータが格納されていると判別した場合や(ステップS127;No)、ステップS128の処理を実行した後には、内部テーブル130a−N又は130b−Nに記憶されている論理ディスク番号と論理セクタ番号と転送セクタ長とページ番号とから構成されるHDD書込パラメータを含む書込指示(DiskWrite命令)をディスクディレクタ30に対して発行する(ステップS129)。   When it is determined in step S127 that the data storage range is not included in the acquisition completion notification and data is stored in the cache page 230-N (step S127; No), the process in step S128 is performed. Is executed, a write instruction (DiskWrite) including an HDD write parameter composed of a logical disk number, a logical sector number, a transfer sector length, and a page number stored in the internal table 130a-N or 130b-N. Command) is issued to the disk director 30 (step S129).

その後、ホストプロセッサ13a又は13bは、ディスクディレクタ30から書込完了通知(Disk格納完了通知)を受けるまで(ステップS130;No)、ループして待ち、書込完了通知を受けると(ステップS130;Yes)、内部テーブル130a−N又は130b−Nに記憶されているページ番号を含むキャッシュページ230−Nの返却指示(Page返却命令)をキャッシュディレクタ20に対して発行する(ステップS131)。   After that, the host processor 13a or 13b waits in a loop until receiving a write completion notification (Disk storage completion notification) from the disk director 30 (Step S130; No), and receives a write completion notification (Step S130; Yes). ), An instruction to return the cache page 230-N including the page number stored in the internal table 130a-N or 130b-N (Page return instruction) is issued to the cache director 20 (step S131).

そして、ホストプロセッサ13a又は13bは、キャッシュディレクタ20から返却完了通知を受けるまで(ステップS132;No)、ループして待ち、返却完了通知を受けると(ステップS132;Yes)、ライト処理を終了する。   Then, the host processor 13a or 13b waits in a loop until receiving a return completion notification from the cache director 20 (step S132; No), and when receiving the return completion notification (step S132; Yes), ends the write process.

さらに、ホストプロセッサ13a又は13bは、キャッシュディレクタ20からホストディレクタ10に対して発行されたキャッシュページ230−Nの共有抑止通知(CashePage共有抑止通知)を受けると、図7に示すページ共有抑止処理を実行する。   Further, when the host processor 13a or 13b receives a sharing suppression notification (CashePage sharing suppression notification) of the cache page 230-N issued from the cache director 20 to the host director 10, the host processor 13a or 13b performs the page sharing suppression processing shown in FIG. Run.

このページ共有抑止処理において、ホストプロセッサ13a又は13bは、図7に示すように、ローカル共有テーブル131a−N又は131b−Nに登録されている有効フラグ値を“2”に設定してから(ステップS141)、ページ共有抑止処理を終了する。   In this page sharing suppression process, the host processor 13a or 13b sets the valid flag value registered in the local sharing table 131a-N or 131b-N to “2” as shown in FIG. S141), the page sharing suppression process is terminated.

一方、キャッシュプロセッサ23は、ディスクディレクタ10からキャッシュディレクタ20に対して発行されたキャッシュページ230−Nの獲得指示を受けると、図8及び図9に示すページ獲得処理を実行する。   On the other hand, when receiving an instruction to acquire the cache page 230-N issued from the disk director 10 to the cache director 20, the cache processor 23 executes the page acquisition process shown in FIGS.

このページ獲得処理において、まず、キャッシュプロセッサ20は、図8に示すように、ディスクディレクタ10から受けた獲得指示が、図4及び図5に示すリード処理にて発行されたものか、図6に示すライト処理にて発行されたものかを判別する(ステップS201)。   In this page acquisition process, first, as shown in FIG. 8, the cache processor 20 determines whether the acquisition instruction received from the disk director 10 has been issued in the read process shown in FIGS. It is determined whether it is issued by the write process shown (step S201).

ここで、獲得指示がリード処理にて発行されたものと判別した場合には(ステップS201;No)、RAM22に実装するグローバル共有テーブル234−Nに登録されている有効フラグ値が“2”であるか否かをチェックすることにより、キャッシュページ230−Nを同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aと共有して使用することが抑制されているか否かを判別する(ステップS202)。   If it is determined that the acquisition instruction is issued by the read process (step S201; No), the valid flag value registered in the global shared table 234-N mounted on the RAM 22 is “2”. Whether or not the cache page 230-N is shared with other tasks in the same host processor 13a or 13b or another host processor 13b or 13a is suppressed by checking whether or not there is. It discriminate | determines (step S202).

ここで、有効フラグ値が“2”であり、キャッシュページ230−Nを同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aと共有して使用することが抑制されている判別した場合には(ステップS202;Yes)、有効フラグ値が“2”以外となるまで、ループして待つ。   Here, the valid flag value is “2”, and the use of the cache page 230-N in common with another task in the same host processor 13a or 13b or another host processor 13b or 13a is suppressed. If it is determined (step S202; Yes), the process waits in a loop until the valid flag value is other than “2”.

これに対して、有効フラグ値が“2”以外であり、キャッシュページ230−Nを同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aと共有して使用することが抑制されていない判別した場合には(ステップS202;No)、獲得指示に含まれる獲得指示パラメータの論理ディスク番号、論理セクタ番号、及び転送セクタ長と、グローバル共有テーブル234−Nに登録されている論理ディスク番号、論理セクタ番号、及びデータ格納範囲と、を比較するなどして、リード命令により読出の命令がなされたデータを含むデータを格納するキャッシュページ230−Nが別のホストプロセッサ13b又は13aにより共有して使用されているか否かを判別する(ステップS203)。   On the other hand, the valid flag value is other than “2”, and the cache page 230-N is prevented from being shared with another task in the same host processor 13a or 13b or another host processor 13b or 13a. If it is determined that it has not been performed (step S202; No), the logical disk number, logical sector number, and transfer sector length of the acquisition instruction parameter included in the acquisition instruction, and the logical registered in the global sharing table 234-N. A cache page 230-N that stores data including data for which a read command has been issued by comparing the disk number, logical sector number, and data storage range is executed by another host processor 13b or 13a. It is determined whether or not it is shared and used (step S203).

ここで、キャッシュページ230−Nが別のホストプロセッサ13b又は13aにより共有して使用されていないと判別した場合には(ステップS203;No)、キャッシュヒットページ検索リンク1233を辿って、キャッシュヒットしているキャッシュページ230−Nを検索し、そのようなキャッシュページ230−Nがあるか否かを判別する(ステップS204)。   If it is determined that the cache page 230-N is not shared and used by another host processor 13b or 13a (step S203; No), the cache hit page search link 1233 is traced and a cache hit is found. The current cache page 230-N is searched to determine whether or not there is such a cache page 230-N (step S204).

具体的にステップS204の処理では、獲得指示パラメータの論理ディスク番号に該当するキャッシュヒットページ検索リンク233が選択される。そして、このキャッシュヒットページ検索リンク233にリンクインしているキャッシュページ230−Nに登録されている論理ディスク番号、論理セクタ番号、及びデータ格納範囲と、獲得指示パラメータの論理ディスク番号、論理セクタ番号、及び転送セクタ長と、が比較されるなどして、リード命令により読出の命令がなされたデータを含むデータを格納するキャッシュページ230−Nがあるか否かが判別される。   Specifically, in the process of step S204, the cache hit page search link 233 corresponding to the logical disk number of the acquisition instruction parameter is selected. The logical disk number, logical sector number, and data storage range registered in the cache page 230-N linked in to the cache hit page search link 233, the logical disk number of the acquisition instruction parameter, and the logical sector number And the transfer sector length are compared, for example, it is determined whether or not there is a cache page 230-N that stores data including data for which a read command has been issued by a read command.

ここで、キャッシュヒットしているキャッシュページ230−Nがないと判別した場合には(ステップS204;No)、未使用キャッシュページリンク231からキャッシュページ230−Nをリンクアウトするとともに(ステップS205)、キャッシュページ230−Nに、獲得指示パラメータに含まれている論理ディスク番号及び論理セクタ番号と、獲得指示を発行したホストプロセッサ13a又は13bを示すMPU番号と、を登録する(ステップS206)。そして、キャッシュプロセッサ23は、キャッシュページ230−Nをキャッシュヒットページ検索リンク233にリンクインする(ステップS207)。   If it is determined that there is no cache hit 230-N (step S204; No), the cache page 230-N is linked out from the unused cache page link 231 (step S205). In the cache page 230-N, the logical disk number and logical sector number included in the acquisition instruction parameter and the MPU number indicating the host processor 13a or 13b that issued the acquisition instruction are registered (step S206). Then, the cache processor 23 links the cache page 230-N to the cache hit page search link 233 (step S207).

その後、キャッシュプロセッサ23は、キャッシュページ230−Nのページ番号を含む獲得完了通知(CachePage獲得完了命令)をホストディレクタ10に対して返却してから(ステップS208)、ページ返却処理を終了する。   Thereafter, the cache processor 23 returns an acquisition completion notification (CachePage acquisition completion instruction) including the page number of the cache page 230-N to the host director 10 (step S208), and ends the page return process.

これに対して、キャッシュヒットしているキャッシュページ230−Nがあると判別した場合には(ステップS204;Yes)、HDD一致データリンク232からキャッシュページ230−Nをリンクアウトするとともに(ステップS209)、このキャッシュページ230−Nに登録されている論理ディスク番号、論理セクタ番号、及びデータ格納範囲と、キャッシュページ230−Nのページ番号と、獲得指示を発行したホストプロセッサ13a又は13bを示すMPU番号と、をグローバル共有テーブル234−Nに登録する(ステップS210)。そして、キャッシュプロセッサ23は、グローバル共有テーブル234−Nに登録されている有効フラグ値を、キャッシュページ230−Nを同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aが共有して使用することができることを示す“1”に設定する(ステップS211)。   On the other hand, when it is determined that there is a cache page 230-N having a cache hit (step S204; Yes), the cache page 230-N is linked out from the HDD matching data link 232 (step S209). The logical disk number, logical sector number, and data storage range registered in the cache page 230-N, the page number of the cache page 230-N, and the MPU number indicating the host processor 13a or 13b that issued the acquisition instruction Are registered in the global shared table 234-N (step S210). Then, the cache processor 23 shares the valid flag value registered in the global sharing table 234-N with the cache page 230-N shared by another task in the same host processor 13a or 13b or another host processor 13b or 13a. Is set to “1” indicating that it can be used (step S211).

また、ステップS203の処理にてキャッシュページ230−Nが別のホストプロセッサ13b又は13aにより共有して使用されていると判別した場合には(ステップS203;Yes)、獲得指示を発行したホストプロセッサ13a又は13bを示すMPU番号をグローバル共有テーブル234−Nに登録する(ステップS212)。   If it is determined in step S203 that the cache page 230-N is shared and used by another host processor 13b or 13a (step S203; Yes), the host processor 13a that issued the acquisition instruction Alternatively, the MPU number indicating 13b is registered in the global sharing table 234-N (step S212).

そして、ステップS211又はS212の処理を実行した後、キャッシュプロセッサ23は、グローバル共有テーブル234−Nに登録されているページ番号とデータ格納範囲とを含む獲得完了通知をホストディレクタ10に対して返却してから(ステップS213)、ページ返却処理を終了する。   After executing the processing of step S211 or S212, the cache processor 23 returns an acquisition completion notification including the page number and data storage range registered in the global shared table 234-N to the host director 10. (Step S213), the page return process is terminated.

また、ステップS201の処理にて獲得指示がライト処理にて発行されたものと判別した場合には(ステップS201;Yes)、図9に示すように、獲得指示に含まれる獲得指示パラメータの論理ディスク番号、論理セクタ番号、及び転送セクタ長と、グローバル共有テーブル234−Nに登録されている論理ディスク番号、論理セクタ番号、及びデータ格納範囲と、を比較するなどして、ライト命令により書込の命令がなされたデータを含むデータを格納するキャッシュページ230−Nが同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aにより共有して使用されているか否かを判別する(ステップS214)。   If it is determined in the process of step S201 that the acquisition instruction has been issued by the write process (step S201; Yes), the logical disk of the acquisition instruction parameter included in the acquisition instruction as shown in FIG. The write command is used to compare the number, logical sector number, and transfer sector length with the logical disk number, logical sector number, and data storage range registered in the global shared table 234-N. It is determined whether or not the cache page 230-N storing the data including the data for which the instruction is issued is shared and used by another task in the same host processor 13a or 13b or another host processor 13b or 13a ( Step S214).

ここで、キャッシュページ230−Nが同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aにより共有して使用されていると判別した場合には(ステップS214;No)、キャッシュヒットページ検索リンク1233を辿って、キャッシュヒットしているキャッシュページ230−Nを検索し、そのようなキャッシュページ230−Nがあるか否かを判別する(ステップS215)。   If it is determined that the cache page 230-N is shared and used by another task in the same host processor 13a or 13b or another host processor 13b or 13a (step S214; No), the cache page 230-N is cached. The hit page search link 1233 is traced to search for a cache page 230-N having a cache hit, and it is determined whether or not there is such a cache page 230-N (step S215).

ここで、キャッシュヒットしているキャッシュページ230−Nがないと判別した場合には(ステップS215;No)、未使用キャッシュページリンク231からキャッシュページ230−Nをリンクアウトするとともに(ステップS216)、キャッシュページ230−Nに、獲得指示パラメータに含まれている論理ディスク番号及び論理セクタ番号と、獲得指示を発行したホストプロセッサ13a又は13bを示すMPU番号と、を登録して排他中にする(ステップS217)。そして、キャッシュプロセッサ23は、キャッシュページ230−Nをキャッシュヒットページ検索リンク233にリンクインする(ステップS218)。   When it is determined that there is no cache page 230-N that has a cache hit (step S215; No), the cache page 230-N is linked out from the unused cache page link 231 (step S216). In the cache page 230-N, the logical disk number and the logical sector number included in the acquisition instruction parameter and the MPU number indicating the host processor 13a or 13b that issued the acquisition instruction are registered and made exclusive (step) S217). Then, the cache processor 23 links the cache page 230-N to the cache hit page search link 233 (step S218).

その後、キャッシュプロセッサ23は、排他中にしたキャッシュページ230−Nのページ番号を含む獲得完了通知をホストディレクタ10に対して返却してから(ステップS219)、ページ獲得処理を終了する。   Thereafter, the cache processor 23 returns an acquisition completion notification including the page number of the cache page 230-N that has been excluded to the host director 10 (step S219), and then ends the page acquisition process.

これに対して、ステップS214の処理にてキャッシュページ230−Nが同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aにより共有して使用されていると判別した場合には(ステップS214;Yes)、有効フラグ値を、キャッシュページ230−Nを同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aと共有して使用することが抑制されていることを示す“2”に設定する(ステップS220)。   On the other hand, when it is determined in step S214 that the cache page 230-N is shared and used by another task in the same host processor 13a or 13b or another host processor 13b or 13a. (Step S214; Yes), the use of the valid flag value by sharing the cache page 230-N with another task in the same host processor 13a or 13b or another host processor 13b or 13a is suppressed. Is set to “2” (step S220).

続いて、キャッシュプロセッサ23は、グローバル共有テーブル234−Nに登録されているMPU番号が、獲得指示を発行したホストプロセッサ13a又は13bとは別のホストプロセッサ13b又は13aを示すものを含んでいるか否かを判別する(ステップS221)。   Subsequently, the cache processor 23 includes whether the MPU number registered in the global shared table 234-N indicates a host processor 13b or 13a different from the host processor 13a or 13b that issued the acquisition instruction. Is determined (step S221).

ここで、グローバル共有テーブル234−Nに登録されているMPU番号が、獲得指示を発行したホストプロセッサ13a又は13bとは別のホストプロセッサ13b又は13aを示すものを含んでいると判別した場合には(ステップS221;Yes)、キャッシュページ230−Nの共有抑止通知を、獲得指示を発行したホストプロセッサ13a又は13bとは別のホストプロセッサ13b又は13aに対して発行する(ステップS222)。   If it is determined that the MPU number registered in the global shared table 234-N includes a host processor 13b or 13a that is different from the host processor 13a or 13b that issued the acquisition instruction. (Step S221; Yes), a sharing suppression notification for the cache page 230-N is issued to a host processor 13b or 13a different from the host processor 13a or 13b that issued the acquisition instruction (Step S222).

そして、ステップS221の処理にてグローバル共有テーブル234−Nに登録されているMPU番号が、獲得指示を発行したホストプロセッサ13a又は13bとは別のホストプロセッサ13b又は13aを示すものを含んでいないと判別した場合(ステップS221;No)、ステップS222の処理を実行した後には、キャッシュページ230−NがHDD一致データリンク232にリンクインしているか否かを判別する(ステップS223)。   The MPU number registered in the global shared table 234-N in the process of step S221 does not include a host processor 13b or 13a that is different from the host processor 13a or 13b that issued the acquisition instruction. If it is determined (step S221; No), after executing the processing of step S222, it is determined whether or not the cache page 230-N is linked in to the HDD matching data link 232 (step S223).

その後、キャッシュプロセッサ23は、キャッシュヒットしているキャッシュページ230−NがHDD一致データリンク232にリンクインするまで(ステップS223;No)、ループして待ち、HDD一致データリンク232にリンクインすると(ステップS223;Yes)、グローバル共有テーブル234−Nから論理ディスク番号と論理セクタ番号とデータ格納範囲とページ番号とMPU番号とを削除するとともに(ステップS224)、有効フラグ値を初期値である“0”に戻す(ステップS225)。   Thereafter, the cache processor 23 waits in a loop until the cache page 230-N having a cache hit is linked in to the HDD matching data link 232 (step S223; No), and links in the HDD matching data link 232 ( In step S223; Yes, the logical disk number, the logical sector number, the data storage range, the page number, and the MPU number are deleted from the global shared table 234-N (step S224), and the valid flag value is set to the initial value “0”. (Step S225).

そして、キャッシュヒットしているキャッシュページ230−Nがあると判別した場合や(ステップS215;Yes)、ステップS225の処理を実行した後には、HDD一致データリンク232からキャッシュページ230−Nをリンクアウトして排他中にするとともに(ステップS226)、排他中にしたキャッシュページ230−Nのページ番号とデータ格納範囲とを含む獲得完了通知をホストディレクタ10に対して返却してから(ステップS227)、ページ獲得処理を終了する。   When it is determined that there is a cache page 230-N having a cache hit (step S215; Yes), or after executing the process of step S225, the cache page 230-N is linked out from the HDD matching data link 232. Then, after exclusion (step S226), an acquisition completion notification including the page number and data storage range of the cache page 230-N that has been excluded is returned to the host director 10 (step S227). The page acquisition process is terminated.

また、キャッシュプロセッサ23は、ディスクディレクタ10からキャッシュディレクタ20に対して発行されたキャッシュページ230−Nの返却指示を受けると、図10に示すページ返却処理を実行する。   When the cache processor 23 receives a return instruction for the cache page 230-N issued from the disk director 10 to the cache director 20, the cache processor 23 executes a page return process shown in FIG.

このページ返却処理において、まず、キャッシュプロセッサ20は、図10に示すように、グローバル共有テーブル234−Nに登録されている有効フラグ値が“0”であるか“1”であるかをチェックすることにより、論理ディスク番号と論理セクタ番号とデータ格納範囲とページ番号とMPU番号とが登録されているグローバル共有テーブル234−Nがあるか否かを判別する(ステップS231)。   In this page return process, first, the cache processor 20 checks whether the valid flag value registered in the global shared table 234-N is “0” or “1” as shown in FIG. Thus, it is determined whether there is a global shared table 234-N in which the logical disk number, logical sector number, data storage range, page number, and MPU number are registered (step S231).

ここで、有効フラグ値が“1”であることより、論理ディスク番号と論理セクタ番号とデータ格納範囲とページ番号とMPU番号とが登録されているグローバル共有テーブル234−Nがあると判別した場合には(ステップS231;Yes)、グローバル共有テーブル234−Nに登録されているMPU番号が、返却指示を発行したホストプロセッサ13a又は13bとは別のホストプロセッサ13b又は13aを示すものを含んでいるか否かを判別する(ステップS232)。   Here, when the valid flag value is “1”, it is determined that there is a global shared table 234-N in which a logical disk number, a logical sector number, a data storage range, a page number, and an MPU number are registered. (Step S231; Yes), does the MPU number registered in the global shared table 234-N include a host processor 13b or 13a that is different from the host processor 13a or 13b that issued the return instruction? It is determined whether or not (step S232).

ここで、グローバル共有テーブル234−Nに登録されているMPU番号が、返却指示を発行したホストプロセッサ13a又は13bを示すものを含んでいないと判別した場合には(ステップS232;No)、グローバル共有テーブル234−Nから論理ディスク番号と論理セクタ番号とデータ格納範囲とページ番号とMPU番号とを削除するとともに(ステップS233)、有効フラグ値を初期値である“0”に戻す(ステップS234)。   If it is determined that the MPU number registered in the global sharing table 234-N does not include the host processor 13a or 13b that issued the return instruction (step S232; No), the global sharing The logical disk number, logical sector number, data storage range, page number and MPU number are deleted from the table 234-N (step S233), and the valid flag value is returned to the initial value “0” (step S234).

そして、ステップS231の処理にて有効フラグ値が“0”であることより、論理ディスク番号と論理セクタ番号とデータ格納範囲とページ番号とMPU番号とが登録されているグローバル共有テーブル234−Nがないと判別した場合や(ステップS231;No)、ステップS234の処理を実行した後には、キャッシュページ230−Nを、HDD一致データリンク232にリンクインする(ステップS235)。   Since the valid flag value is “0” in the process of step S231, the global shared table 234-N in which the logical disk number, the logical sector number, the data storage range, the page number, and the MPU number are registered. If it is determined that there is not (step S231; No), after executing the process of step S234, the cache page 230-N is linked in to the HDD matching data link 232 (step S235).

これに対して、ステップS232の処理にてグローバル共有テーブル234−Nに登録されているMPU番号が、返却指示を発行したホストプロセッサ13a又は13bとは別のホストプロセッサ13b又は13aを示すものを含んでいると判別した場合には(ステップS232;Yes)、キャッシュページ230−Nに記憶されているMPU番号を、返却指示を発行したホストプロセッサ13a又は13bとは別のホストプロセッサ13b又は13aを示すMPU番号に書き換えるとともに(ステップS236)、グローバル共有テーブル234−Nから、返却指示を発行したホストプロセッサ13a又は13bを示すMPU番号を削除する(ステップS237)。   In contrast, the MPU number registered in the global shared table 234-N in the process of step S232 includes a host processor 13b or 13a that is different from the host processor 13a or 13b that issued the return instruction. When it is determined that the host processor 13b or 13a is different (step S232; Yes), the MPU number stored in the cache page 230-N indicates a host processor 13b or 13a different from the host processor 13a or 13b that issued the return instruction. The MPU number is rewritten (step S236), and the MPU number indicating the host processor 13a or 13b that issued the return instruction is deleted from the global shared table 234-N (step S237).

その後、キャッシュプロセッサ23は、キャッシュページ230−Nの返却完了通知をホストディレクタ10に対して返却してから(ステップS238)、ページ返却処理を終了する。   Thereafter, the cache processor 23 returns a return completion notification of the cache page 230-N to the host director 10 (step S238), and ends the page return process.

他方、ディスクプロセッサ33は、ディスクディレクタ10からディスクディレクタ30に対して発行された読出指示を受けると、図11に示すディスク読出処理を実行する。   On the other hand, when the disk processor 33 receives a read instruction issued from the disk director 10 to the disk director 30, the disk processor 33 executes a disk read process shown in FIG.

このディスク読出処理において、まず、ディスクプロセッサ30は、読出指示に含まれるHDD読出パラメータの論理ディスク番号と論理セクタ番号と転送セクタ長とに対応するデータを、物理ディスクアレイ3のハードディスクドライブから、HDD読出パラメータのページ番号が示すキャッシュページ230−Nに対して転送する(ステップS301)。その後、ディスクプロセッサ33は、読出完了通知をホストディレクタ10に対して返却してから(ステップS302)、ディスク読出処理を終了する。   In this disk read process, first, the disk processor 30 sends data corresponding to the logical disk number, logical sector number, and transfer sector length of the HDD read parameter included in the read instruction from the hard disk drive of the physical disk array 3 to the HDD. The data is transferred to the cache page 230-N indicated by the page number of the read parameter (step S301). Thereafter, the disk processor 33 returns a read completion notification to the host director 10 (step S302), and ends the disk reading process.

また、ディスクプロセッサ33は、ディスクディレクタ10からディスクディレクタ30に対して発行された書込指示を受けると、図12に示すディスク書込処理を実行する。   When the disk processor 33 receives a write instruction issued from the disk director 10 to the disk director 30, the disk processor 33 executes the disk writing process shown in FIG.

このディスク読出処理において、まず、ディスクプロセッサ30は、書込指示に含まれるHDD書込パラメータの論理ディスク番号と論理セクタ番号と転送セクタ長とに対応するデータを、HDD書込パラメータのページ番号が示すキャッシュページ230−Nから、物理ディスクアレイ3のハードディスクドライブに対して転送する(ステップS311)。その後、ディスクプロセッサ33は、書込完了通知をホストディレクタ10に対して返却してから(ステップS312)、ディスク書込処理を終了する。   In this disk reading process, first, the disk processor 30 stores data corresponding to the logical disk number, logical sector number, and transfer sector length of the HDD writing parameter included in the writing instruction, with the page number of the HDD writing parameter being set. The cache page 230-N shown is transferred to the hard disk drive of the physical disk array 3 (step S311). Thereafter, the disk processor 33 returns a write completion notification to the host director 10 (step S312), and ends the disk writing process.

続いて、上記動作の具体例について、図面を参照して説明する。   Next, a specific example of the above operation will be described with reference to the drawings.

[1]まず、キャッシュページ230−N上に格納されたデータに関して、複数のリード命令が同一のホストプロセッサ13a又は13bに対してのみ発行された場合の動作例について説明する。 [1] First, an operation example when a plurality of read instructions are issued only to the same host processor 13a or 13b with respect to data stored on the cache page 230-N will be described.

例えば、既にページ番号が“2”のキャッシュページ230−2上に、論理ディスク番号“0x0020”、論理セクタ番号“0x0200”〜“0x0240”のデータが格納されている場合において、ホスト装置2から論理ディスク番号“0x0020”、論理セクタ番号“0x0200”〜“0x0210”のデータの読出を指定するリード命令#1を受けると、ホストディレクタ10では、まず、ホストプロセッサ13aにより、タスク“0”にて、図4及び図5に示すリード処理が実行される。このリード処理では、図4に示すステップS101の処理にて、リード命令#1が解析され、図13(a)に示すように、論理ディスク番号“0x0020”と論理セクタ番号“0x0200”と転送セクタ長“0x0010”とが内部テーブル130a−0に記憶される。   For example, when the data of the logical disk number “0x0020” and the logical sector numbers “0x0200” to “0x0240” are already stored on the cache page 230-2 with the page number “2”, the logical number is sent from the host device 2. Upon receiving a read command # 1 designating reading of data of disk number “0x0020” and logical sector numbers “0x0200” to “0x0210”, the host director 10 first executes a task “0” by the host processor 13a. The read process shown in FIGS. 4 and 5 is executed. In this read process, the read command # 1 is analyzed in the process of step S101 shown in FIG. 4, and as shown in FIG. 13A, the logical disk number “0x0020”, the logical sector number “0x0200”, and the transfer sector The length “0x0010” is stored in the internal table 130a-0.

ここでは、リード命令#1により読出の命令がなされたデータを含むデータがローカル共有テーブル131a−Nに登録されていないことから、ステップS102の処理では、このようなデータを格納するキャッシュページ230−Nが同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aにより共有して使用されていないと判別される。このため、ステップS104の処理では、図13(b)に示すような、リード命令#1により指定された論理ディスク番号“0x0020”と論理セクタ番号“0x0200”と転送セクタ長“0x0010”とから構成される獲得指示パラメータを含むキャッシュページ230−Nの獲得指示がキャッシュディレクタ20に対して発行される。   Here, since the data including the data for which the read command is issued by the read command # 1 is not registered in the local shared table 131a-N, in the process of step S102, the cache page 230- for storing such data is stored. N is determined not to be shared and used by another task in the same host processor 13a or 13b or another host processor 13b or 13a. For this reason, the process of step S104 is composed of the logical disk number “0x0020”, the logical sector number “0x0200”, and the transfer sector length “0x0010” specified by the read command # 1, as shown in FIG. An acquisition instruction for the cache page 230 -N including the acquired acquisition instruction parameter is issued to the cache director 20.

一方、ホストディレクタ10から獲得指示を受けると、キャッシュディレクタ20では、キャッシュプロセッサ23により、図8及び図9に示すページ獲得処理が実行される。このページ獲得処理では、リード命令#1により読出の命令がなされたデータを含むデータがグローバル共有テーブル234−Nに登録されていないことから、図8に示すステップS203の処理にて、このようなデータを格納するキャッシュページ230−Nが別のホストプロセッサ13b又は13aにより共有して使用されていないと判別される。また、キャッシュページ230−2には、図14(a)に示すように、獲得指示パラメータの論理ディスク番号“0x0020”と論理セクタ番号“0x0200”とデータ格納範囲“0x00”〜“0x40”とから指定されるデータを含むデータが格納されていることから、ステップS204の処理では、キャッシュページ230−2が検索される。   On the other hand, when receiving an acquisition instruction from the host director 10, the cache director 20 executes the page acquisition processing shown in FIGS. 8 and 9 by the cache processor 23. In this page acquisition process, data including data for which a read instruction is issued by the read instruction # 1 is not registered in the global shared table 234-N. Therefore, in the process of step S203 shown in FIG. It is determined that the cache page 230-N for storing data is not shared and used by another host processor 13b or 13a. Further, as shown in FIG. 14A, the cache page 230-2 includes a logical disk number “0x0020”, a logical sector number “0x0200”, and a data storage range “0x00” to “0x40” as acquisition instruction parameters. Since the data including the designated data is stored, the cache page 230-2 is searched in the process of step S204.

このため、ステップS209〜S211の処理では、HDD一致データリンク232からキャッシュページ230−2がリンクアウトされて排他中にされ、図14(b)に示すように、キャッシュページ230−2に登録されている論理ディスク番号“0x0020”、論理セクタ番号“0x0200”、及びデータ格納範囲“0x00”〜“0x40”と、キャッシュページ230−2のページ番号“Page2”と、獲得指示を発行したホストプロセッサ13aを示すMPU番号“0x0001”と、がグローバル共有テーブル234−0に登録されるとともに、有効フラグ値が“1”に設定される。   For this reason, in the processing of steps S209 to S211, the cache page 230-2 is linked out from the HDD matching data link 232 and is excluded, and is registered in the cache page 230-2 as shown in FIG. The logical disk number “0x0020”, the logical sector number “0x0200”, the data storage range “0x00” to “0x40”, the page number “Page2” of the cache page 230-2, and the host processor 13a that issued the acquisition instruction Is registered in the global shared table 234-0, and the valid flag value is set to "1".

その後、ステップS213の処理では、図15(a)に示すような、グローバル共有テーブル234−0に登録されたページ番号“Page2”とデータ格納範囲“0x00”〜“0x40”とを含む獲得完了通知がホストディレクタ10に対して返却されることにより、ホストディレクタ10には、キャッシュページ230−2の獲得完了、ページ番号“Page2”、及びデータ格納範囲“0x00”〜“0x40”が通知される。   Thereafter, in the process of step S213, an acquisition completion notification including the page number “Page2” registered in the global shared table 234-0 and the data storage range “0x00” to “0x40” as shown in FIG. Is returned to the host director 10, the acquisition of the cache page 230-2, the page number “Page2”, and the data storage range “0x00” to “0x40” are notified to the host director 10.

そして、キャッシュディレクタ20から獲得完了通知を受けると、ホストディレクタ10では、ホストプロセッサ13aにより、図15(b)に示すように、図4に示すステップS106の処理にて獲得完了通知に含まれるキャッシュページ230−2のページ番号が内部テーブル130a−0に記憶された後、獲得完了通知にデータ格納範囲“0x00”〜“0x40”が含まれていることから、ステップS107の処理にてキャッシュページ230−2にデータが格納されていると判別される。   When receiving the acquisition completion notification from the cache director 20, the host director 10 causes the host processor 13a to execute the cache included in the acquisition completion notification in the process of step S106 shown in FIG. 4 as shown in FIG. 15B. After the page number of the page 230-2 is stored in the internal table 130a-0, since the data storage range “0x00” to “0x40” is included in the acquisition completion notification, the cache page 230 is processed in step S107. -2 is determined to contain data.

このため、ステップS110及びS111の処理では、図15(c)に示すように、内部テーブル130a−0に記憶されている論理ディスク番号“0x0020”、論理セクタ番号“0x0200”、及びページ番号“Page2”と、獲得完了通知に含まれるデータ格納範囲“0x00”〜“0x40”と、がローカル共有テーブル131a−0に登録されるともに、有効フラグ値が“1”に設定される。   Therefore, in the processing of steps S110 and S111, as shown in FIG. 15C, the logical disk number “0x0020”, the logical sector number “0x0200”, and the page number “Page2” stored in the internal table 130a-0. ”And the data storage range“ 0x00 ”to“ 0x40 ”included in the acquisition completion notification are registered in the local shared table 131a-0, and the valid flag value is set to“ 1 ”.

その後、ステップS113の処理では、内部テーブル130a−0に記憶されている論理ディスク番号“0x0020”と論理セクタ番号“0x0200”と転送セクタ長“0x0010”に対応するデータが、ページ番号“Page2”が示すキャッシュページ230−2からホスト装置2に対して転送される。   Thereafter, in the process of step S113, the data corresponding to the logical disk number “0x0020”, the logical sector number “0x0200”, and the transfer sector length “0x0010” stored in the internal table 130a-0 is the page number “Page2”. It is transferred from the cache page 230-2 shown to the host device 2.

その間に、ホスト装置2から論理ディスク番号“0x0020”、論理セクタ番号“0x0210”〜“0x0220”のデータの読出を指定するリード命令#2を受けると、ホストディレクタ10では、タスク“1”にてリード処理が実行され、このリード処理では、ステップS101の処理にて、リード命令#1が解析され、図16(a)に示すように、論理ディスク番号“0x0020”と論理セクタ番号“0x0200”と転送セクタ長“0x0010”とが内部テーブル130a−1に記憶される。   In the meantime, upon receiving a read command # 2 designating reading of data of the logical disk number “0x0020” and logical sector numbers “0x0210” to “0x0220” from the host device 2, the host director 10 performs the task “1”. In the read process, the read instruction # 1 is analyzed in the process of step S101, and as shown in FIG. 16A, the logical disk number “0x0020” and the logical sector number “0x0200” are obtained. The transfer sector length “0x0010” is stored in the internal table 130a-1.

ここでは、リード命令#2により指定された論理ディスク番号“0x0020”と論理セクタ番号“0x0200”と転送セクタ長“0x0010”とに対応するデータが、ローカル共有テーブル131a−0に登録されている論理ディスク番号“0x0020”と論理セクタ番号“0x0200”とデータ格納範囲“0x00”〜“0x40”に対応するデータに含まれていることから、ステップS102の処理では、このようなデータを格納するキャッシュページ230−2が他のタスク“0”により共有して使用されていると判別される。   Here, the data corresponding to the logical disk number “0x0020”, the logical sector number “0x0200”, and the transfer sector length “0x0010” specified by the read instruction # 2 are registered in the local shared table 131a-0. Since it is included in the data corresponding to the disk number “0x0020”, the logical sector number “0x0200”, and the data storage range “0x00” to “0x40”, in the process of step S102, a cache page for storing such data It is determined that 230-2 is shared and used by another task “0”.

また、ステップS103の処理にて有効フラグ値が“1”であると判別されることから、ステップS112の処理では、図16(b)に示すように、自分のタスクID(Identification Data)“1”がローカル共有テーブル131a−0に登録されてキャッシュページ230−2が共有中にされた後、共有タスクカウント値が“1”カウントアップされて“1”となる。   In addition, since it is determined that the valid flag value is “1” in the process of step S103, in the process of step S112, as shown in FIG. 16B, its own task ID (Identification Data) “1”. "Is registered in the local shared table 131a-0 and the cache page 230-2 is being shared, then the shared task count value is incremented by" 1 "and becomes" 1 ".

その後、ホスト装置2から論理ディスク番号“0x0020”、論理セクタ番号“0x0220”〜“0x0230”のデータの読出を指定するリード命令#3と、論理ディスク番号“0x0020”、論理セクタ番号“0x0230”〜“0x0240”のデータの読出を指定するリード命令#4と、を順次受けると、それぞれタスク“2”及び“3”にてリード処理が実行される。これらのリード処理では、それぞれ、ステップS101の処理にて、リード命令#3及び#4が解析され、論理ディスク番号と論理セクタ番号と転送セクタ長とが内部テーブル130a−0に記憶されるとともに、ステップS112の処理にて、自分のタスクID“2”及び“3”がローカル共有テーブル131a−0に登録されてキャッシュページ230−2を共有中にされた後、共有タスクカウント値が“1”ずつカウントアップされる。   Thereafter, read command # 3 for designating reading of data of logical disk number “0x0020” and logical sector numbers “0x0220” to “0x0230” from the host device 2, logical disk number “0x0020”, logical sector number “0x0230” to When a read command # 4 designating reading of data “0x0240” is sequentially received, read processing is executed in tasks “2” and “3”, respectively. In these read processes, the read instructions # 3 and # 4 are analyzed in the process of step S101, and the logical disk number, logical sector number, and transfer sector length are stored in the internal table 130a-0. In step S112, after the own task IDs “2” and “3” are registered in the local shared table 131a-0 and the cache page 230-2 is shared, the shared task count value is “1”. Counts up one by one.

これにより、内部テーブル130a−3には、図17(a)に示すように、論理ディスク番号“0x0020”と論理セクタ番号“0x0200”と転送セクタ長“0x10”とが記憶されるとともに、ローカル共有テーブル131a−0に登録されている共有タスクカウント値は、図17(b)に示すように、“3”となる。   As a result, the internal table 130a-3 stores the logical disk number “0x0020”, the logical sector number “0x0200”, and the transfer sector length “0x10” as shown in FIG. The shared task count value registered in the table 131a-0 is “3” as shown in FIG.

ここで、タスク“1”〜“3”にてリード処理が実行されている場合において、タスク“0”にて実行されるリード処理内のステップS113の処理が実行された後には、有効フラグ値が“1”であることから、図5に示すステップS114の処理にてキャッシュページ230−2が他のタスク“1”〜“3”と共有して使用していたと判別される。また、ステップS115の処理にて共有タスクカウント値が“1”カウントダウンされて“2”となることから、ステップS116の処理では、キャッシュページ230−2を使用している他のタスク“1”〜“3”が未だあると判別され、ステップS119の処理にてキャッシュページ230−2の返却指示がキャッシュディレクタ20に対して発行されることなく、そのままタスク“0”でのリード処理が終了される。   Here, when the read process is executed in the tasks “1” to “3”, after the process of step S113 in the read process executed in the task “0” is executed, the valid flag value is set. Is “1”, it is determined in the process of step S114 shown in FIG. 5 that the cache page 230-2 is shared with other tasks “1” to “3”. Further, since the shared task count value is decremented by “1” to “2” in the process of step S115, in the process of step S116, the other tasks “1” to “1” to which the cache page 230-2 is used. It is determined that “3” is still present, and the read processing for the task “0” is terminated as it is without issuing a return instruction for the cache page 230-2 to the cache director 20 in the process of step S119. .

このように、キャッシュページ230−2を使用している他のタスク“1”〜“3”が未だある場合には、ステップS119の処理によるキャッシュページ230−2の返却指示の発行が省略される。   As described above, when there are still other tasks “1” to “3” using the cache page 230-2, the issue of a return instruction for the cache page 230-2 by the process of step S119 is omitted. .

また、タスク“1”及び“2”にて実行されるリード処理内のステップS113の処理が終了した後にも、ステップS115の処理にてカウントダウンされた共有タスクカウント値が“0”以外であることから、ステップS116の処理では、キャッシュページ230−2を使用している他のタスク“1”〜“3”が未だあると判別され、ステップS119の処理によるキャッシュページ230−2の返却指示の発行が省略される。   In addition, even after the process of step S113 in the read process executed in tasks “1” and “2” is completed, the shared task count value counted down by the process of step S115 is other than “0”. Therefore, in the process of step S116, it is determined that the other tasks “1” to “3” using the cache page 230-2 are still present, and a cache page 230-2 return instruction is issued by the process of step S119. Is omitted.

そして、タスク“3”にて実行されるリード処理内のステップS113の処理が終了した後には、ステップS115の処理にてカウントダウンされる共有タスクカウント値が“0”となることから、ステップS116の処理では、キャッシュページ230−2を使用している同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aがもはやないと判別され、ステップS117及びS118の処理にてローカル共有テーブル131a−0から論理ディスク番号“0x0020”と論理セクタ番号“0x0200”とデータ格納範囲“0x00”〜“0x40”とページ番号“Page2”とが削除されるとともに、有効フラグ値が初期値である“0”に戻される。その後、ステップS119の処理では、図18に示すように、キャッシュページ230−2の返却指示がキャッシュディレクタ20に対して発行される。   Then, after the process of step S113 in the read process executed in task “3” is completed, the shared task count value counted down in the process of step S115 becomes “0”. In the process, it is determined that there is no longer any other task or another host processor 13b or 13a in the same host processor 13a or 13b using the cache page 230-2, and the local shared table is obtained in the processes of steps S117 and S118. The logical disk number “0x0020”, the logical sector number “0x0200”, the data storage range “0x00” to “0x40”, and the page number “Page2” are deleted from the 131a-0, and the valid flag value is an initial value “131”. Returned to 0 ". Thereafter, in the process of step S119, an instruction to return the cache page 230-2 is issued to the cache director 20, as shown in FIG.

一方、ホストディレクタ10から返却指示を受けると、キャッシュディレクタ20では、キャッシュプロセッサ23により、図10に示すページ返却処理が実行される。このページ返却処理では、ステップS231の処理にてグローバル共有テーブル234−0に登録されている有効フラグ値が“1”であると判別され、ステップS232の処理にて返却指示を発行したホストプロセッサ13aを示すMPU番号“0x0001”がグローバル共有テーブル234−0に登録されていると判別される。   On the other hand, when a return instruction is received from the host director 10, the cache director 20 executes a page return process shown in FIG. 10 by the cache processor 23. In this page return process, it is determined that the valid flag value registered in the global shared table 234-0 is “1” in the process of step S231, and the host processor 13a that issued the return instruction in the process of step S232 Is registered in the global shared table 234-0.

このため、ステップS233及びS234の処理では、図19に示すように、グローバル共有テーブル234−0から、論理ディスク番号“0x0020”と論理セクタ番号“0x0200”とデータ格納範囲“0x00”〜“0x40”とページ番号“Page2”とMPU番号“0x0001”とが削除されるとともに、有効フラグ値が初期値である“0”に戻されて、キャッシュページ230−2の排他が解除される。そして、ステップS235の処理では、キャッシュページ230−2がHDD一致データリンク232の最後尾にリンクインされる。   Therefore, in the processing of steps S233 and S234, as shown in FIG. 19, from the global shared table 234-0, the logical disk number “0x0020”, the logical sector number “0x0200”, and the data storage range “0x00” to “0x40” are stored. And the page number “Page2” and the MPU number “0x0001” are deleted, the valid flag value is returned to the initial value “0”, and the exclusion of the cache page 230-2 is released. In step S235, the cache page 230-2 is linked in at the end of the HDD matching data link 232.

その後、ステップS238の処理では、キャッシュページ230−2の返却完了通知をホストディレクタ10に対して返却される。そして、キャッシュディレクタ20から返却完了通知を受けると、ホストディレクタ10では、ホストプロセッサ13aによるタスク“3”でのリード処理が終了される。   Thereafter, in the process of step S238, a return completion notification of the cache page 230-2 is returned to the host director 10. When the return completion notification is received from the cache director 20, the host director 10 finishes the read process for the task "3" by the host processor 13a.

[2]次に、キャッシュページ230−N上に格納されたデータに関して、複数のリード命令がそれぞれ別のホストプロセッサ13a及び13bに対して発行された場合の動作例について説明する。 [2] Next, an operation example when a plurality of read instructions are issued to different host processors 13a and 13b with respect to data stored on the cache page 230-N will be described.

例えば、既にページ番号が“2”のキャッシュページ230−2上に、論理ディスク番号“0x0020”、論理セクタ番号“0x0200”〜“0x0240”のデータが格納されている場合において、ホスト装置2から論理ディスク番号“0x0020”、論理セクタ番号“0x0200”〜“0x0210”のデータの読出を指定するリード命令#1を受けると、ホストディレクタ10では、まず、ホストプロセッサ13aにより、タスク“0”にて、図4及び図5に示すリード処理が実行される。このリード処理では、図4に示すステップS101の処理にて、リード命令#1が解析され、図20(a)に示すように、論理ディスク番号“0x0020”と論理セクタ番号“0x0200”と転送セクタ長“0x10”とが内部テーブル130a−0に記憶される。   For example, when the data of the logical disk number “0x0020” and the logical sector numbers “0x0200” to “0x0240” are already stored on the cache page 230-2 with the page number “2”, the logical number is sent from the host device 2. Upon receiving a read command # 1 designating reading of data of disk number “0x0020” and logical sector numbers “0x0200” to “0x0210”, the host director 10 first executes a task “0” by the host processor 13a. The read process shown in FIGS. 4 and 5 is executed. In this read process, the read instruction # 1 is analyzed in the process of step S101 shown in FIG. 4, and as shown in FIG. 20A, the logical disk number “0x0020”, the logical sector number “0x0200”, and the transfer sector The length “0x10” is stored in the internal table 130a-0.

ここでは、リード命令#1により読出の命令がなされたデータを含むデータがローカル共有テーブル131a−Nに登録されていないことから、ステップS102の処理では、このようなデータを格納するキャッシュページ230−Nが同一ホストプロセッサ13a内の他のタスクや別のホストプロセッサ13bにより共有して使用されていないと判別される。このため、ステップS104の処理では、図20(b)に示すような、リード命令#1により指定された論理ディスク番号“0x0020”と論理セクタ番号“0x0200”と転送セクタ長“0x10”とから構成される獲得指示パラメータを含むキャッシュページ230−Nの獲得指示(HP1)がキャッシュディレクタ20に対して発行される。   Here, since the data including the data for which the read command is issued by the read command # 1 is not registered in the local shared table 131a-N, in the process of step S102, the cache page 230- for storing such data is stored. N is determined not to be shared and used by another task in the same host processor 13a or another host processor 13b. For this reason, the processing in step S104 is composed of the logical disk number “0x0020”, the logical sector number “0x0200”, and the transfer sector length “0x10” specified by the read command # 1, as shown in FIG. An acquisition instruction (HP1) for the cache page 230-N including the acquired acquisition instruction parameter is issued to the cache director 20.

その後、ホスト装置2から論理ディスク番号“0x0020”、論理セクタ番号“0x0230”〜“0x0240”のデータの読出を指定するリード命令#4を受けると、ホストディレクタ10では、タスク“0”にて、リード処理が実行され、このリード処理では、ステップS101の処理にて、リード命令#1が解析され、図20(c)に示すように、論理ディスク番号“0x0020”と論理セクタ番号“0x0230”と転送セクタ長“0x10”とが内部テーブル130b−0に記憶される。   Thereafter, when receiving a read command # 4 designating reading of data of the logical disk number “0x0020” and logical sector numbers “0x0230” to “0x0240” from the host device 2, the host director 10 performs the task “0”, In the read process, the read instruction # 1 is analyzed in the process of step S101, and as shown in FIG. 20C, the logical disk number “0x0020” and the logical sector number “0x0230” are obtained. The transfer sector length “0x10” is stored in the internal table 130b-0.

ここでは、リード命令#4により読出の命令がなされたデータを含むデータがローカル共有テーブル131b−Nに登録されていないことから、ステップS102の処理では、このようなデータを格納するキャッシュページ230−Nが同一ホストプロセッサ13b内の他のタスクや別のホストプロセッサ13aにより共有して使用されていないと判別される。このため、ステップS104の処理では、図20(d)に示すような、リード命令#4により指定された論理ディスク番号“0x0020”と論理セクタ番号“0x0230”と転送セクタ長“0x10”とから構成される獲得指示パラメータを含むキャッシュページ230−Nの獲得指示(HP2)がキャッシュディレクタ20に対して発行される。   Here, since the data including the data for which the read command is issued by the read command # 4 is not registered in the local shared table 131b-N, in the process of step S102, the cache page 230- for storing such data is stored. It is determined that N is not shared and used by another task in the same host processor 13b or another host processor 13a. For this reason, the processing in step S104 is composed of the logical disk number “0x0020”, the logical sector number “0x0230”, and the transfer sector length “0x10” specified by the read command # 4 as shown in FIG. An acquisition instruction (HP2) for the cache page 230-N including the acquired acquisition instruction parameter is issued to the cache director 20.

一方、ホストディレクタ10から獲得指示(HP1)を受けると、キャッシュディレクタ20では、キャッシュプロセッサ23により、図8及び図9に示すページ獲得処理が実行される。このページ獲得処理では、リード命令#1により読出の命令がなされたデータを含むデータがグローバル共有テーブル234−Nに登録されていないことから、図8に示すステップS203の処理にて、このようなデータを格納するキャッシュページ230−Nが別のホストプロセッサ13aにより共有して使用されていないと判別される。また、キャッシュページ230−2には、図21に示すように、獲得指示パラメータの論理ディスク番号“0x0020”と論理セクタ番号“0x0200”とデータ格納範囲“0x00”〜“0x40”とから指定されるデータを含むデータが格納されていることから、ステップS204の処理では、キャッシュページ230−2が検索される。   On the other hand, when an acquisition instruction (HP1) is received from the host director 10, the cache director 20 executes the page acquisition process shown in FIGS. In this page acquisition process, data including data for which a read instruction is issued by the read instruction # 1 is not registered in the global shared table 234-N. Therefore, in the process of step S203 shown in FIG. It is determined that the cache page 230-N for storing data is not shared and used by another host processor 13a. Further, as shown in FIG. 21, the cache page 230-2 is designated from the logical disk number “0x0020”, the logical sector number “0x0200”, and the data storage range “0x00” to “0x40” as acquisition command parameters. Since data including data is stored, the cache page 230-2 is searched in the process of step S204.

このため、ステップS209〜S211の処理では、図21に示すように、HDD一致データリンク232からキャッシュページ230−2がリンクアウトされて排他中にされ、キャッシュページ230−2に登録されている論理ディスク番号“0x0020”、論理セクタ番号“0x0200”、及びデータ格納範囲“0x00”〜“0x40”と、キャッシュページ230−2のページ番号“Page2”と、獲得指示(HP2)を発行したホストプロセッサ13aを示すMPU番号“0x0001”と、がグローバル共有テーブル234−0に登録されるとともに、有効フラグ値が“1”に設定される。   For this reason, in the processing of steps S209 to S211, as shown in FIG. 21, the cache page 230-2 is linked out from the HDD matching data link 232 and is excluded, and the logic registered in the cache page 230-2. The host processor 13a that issued the disk number “0x0020”, the logical sector number “0x0200”, the data storage range “0x00” to “0x40”, the page number “Page2” of the cache page 230-2, and the acquisition instruction (HP2) Is registered in the global shared table 234-0, and the valid flag value is set to "1".

その後、ステップS213の処理では、グローバル共有テーブル234−0に登録されたページ番号“Page2”とデータ格納範囲“0x00”〜“0x40”とを含む獲得完了通知(HP1)がホストディレクタ10に対して返却される。   Thereafter, in the process of step S213, an acquisition completion notification (HP1) including the page number “Page2” registered in the global shared table 234-0 and the data storage range “0x00” to “0x40” is sent to the host director 10. Returned.

また、ホストディレクタ10から獲得指示(HP2)を受けると、キャッシュディレクタ20では、キャッシュプロセッサ23により、ページ獲得処理が実行され、このページ獲得処理では、図8に示すステップS203の処理にて、リード命令#4により読出の命令がなされたデータを含むデータを格納するキャッシュページ230−2が、獲得指示(HP2)を発行したホストプロセッサ13bとは別のホストプロセッサ13aにより共有して使用されていると判別されることから、ステップS212の処理にて、図21に示すように、獲得指示(HP2)を発行したホストプロセッサ13bを示すMPU番号“0x0002”がグローバル共有テーブル234−0に登録される。   When receiving an acquisition instruction (HP2) from the host director 10, the cache director 20 executes a page acquisition process by the cache processor 23. In this page acquisition process, a read is performed in step S203 shown in FIG. A cache page 230-2 that stores data including data that has been instructed to be read by instruction # 4 is shared and used by a host processor 13a that is different from the host processor 13b that issued the acquisition instruction (HP2). Therefore, in the process of step S212, as shown in FIG. 21, the MPU number “0x0002” indicating the host processor 13b that issued the acquisition instruction (HP2) is registered in the global shared table 234-0. .

その後には、ステップS209の処理によるHDD一致データリンク232からのキャッシュページ230−2のリンクアウトといったキャッシュページ230−2の排他処理が省略されて、ステップS213の処理にて、グローバル共有テーブル234−0に登録されたページ番号“Page2”とデータ格納範囲“0x00”〜“0x40”とを含む獲得完了通知(HP2)がホストディレクタ10に対して返却される。   Thereafter, the exclusion process of the cache page 230-2 such as the link-out of the cache page 230-2 from the HDD matching data link 232 in the process of step S209 is omitted, and the global shared table 234- is processed in the process of step S213. An acquisition completion notification (HP2) including the page number “Page2” registered in 0 and the data storage range “0x00” to “0x40” is returned to the host director 10.

まず、キャッシュディレクタ20から獲得完了通知(HP1)を受けると、キャッシュディレクタ20では、ステップS106の処理にて獲得完了通知(HP1)に含まれるキャッシュページ230−2のページ番号“2”が内部テーブル130a−0に記憶された後、ステップS113の処理にて、内部テーブル130a−0に記憶されている論理ディスク番号“0x0020”と論理セクタ番号“0x0230”と転送セクタ長“0x10”とに対応するデータが、ページ番号“Page2”が示すキャッシュページ230−2からホスト装置2に対して転送される。   First, when an acquisition completion notification (HP1) is received from the cache director 20, the cache director 20 stores the page number “2” of the cache page 230-2 included in the acquisition completion notification (HP1) in the process of step S106 as an internal table. After being stored in 130a-0, in the process of step S113, it corresponds to the logical disk number “0x0020”, the logical sector number “0x0230”, and the transfer sector length “0x10” stored in the internal table 130a-0. Data is transferred from the cache page 230-2 indicated by the page number “Page2” to the host device 2.

そして、図31に示すステップS119の処理では、図22に示すような、内部テーブル130a−0に記憶されているページ番号“Page2”を含むキャッシュページ230−Nの返却指示(HP1)がキャッシュディレクタ20に対して発行される。   In the process of step S119 shown in FIG. 31, the return instruction (HP1) of the cache page 230-N including the page number “Page2” stored in the internal table 130a-0 as shown in FIG. 20 issued.

ホストディレクタ10から返却指示(HP1)を受けると、キャッシュディレクタ20では、キャッシュプロセッサ23により、図10に示すページ返却処理が実行される。このページ返却処理では、ステップS231の処理にてグローバル共有テーブル234−0に登録されている有効フラグ値が“1”であると判別され、ステップS232の処理にて返却指示(HP1)を発行したホストプロセッサ13aとは別のホストプロセッサ13bを示すMPU番号“0x0002”がグローバル共有テーブル234−0に登録されていると判別される。   When the return instruction (HP1) is received from the host director 10, the cache director 20 executes the page return process shown in FIG. In this page return process, it is determined that the valid flag value registered in the global shared table 234-0 is “1” in the process of step S231, and a return instruction (HP1) is issued in the process of step S232. It is determined that the MPU number “0x0002” indicating the host processor 13b different from the host processor 13a is registered in the global shared table 234-0.

このため、ステップS236及びS237の処理では、図23に示すように、キャッシュページ230−2に記憶されているMPU番号が、返却指示(HP1)を発行したホストプロセッサ13aとは別のホストプロセッサ13bを示すMPU番号“0x0002”に書き換えられるとともに、グローバル共有テーブル234−0から、返却指示(HP1)を発行したホストプロセッサ13aを示すMPU番号“0x0001”が削除される。   For this reason, in the processing of steps S236 and S237, as shown in FIG. 23, the MPU number stored in the cache page 230-2 is different from the host processor 13b that issued the return instruction (HP1). MPU number “0x0002” indicating the host processor 13a that issued the return instruction (HP1) is deleted from the global shared table 234-0.

その後、ステップS238の処理では、キャッシュページ230−2の返却完了通知をホストディレクタ10に対して返却される。そして、キャッシュディレクタ20から返却完了通知を受けると、ホストディレクタ10では、ホストプロセッサ13aによるタスク“0”でのリード処理が終了される。   Thereafter, in the process of step S238, a return completion notification of the cache page 230-2 is returned to the host director 10. When receiving a return completion notification from the cache director 20, the host director 10 finishes the read process for the task "0" by the host processor 13a.

次に、キャッシュディレクタ20から獲得完了通知(HP2)を受けると、キャッシュディレクタ20では、ステップS106の処理にて獲得完了通知(HP2)に含まれるキャッシュページ230−2のページ番号“Page2”が内部テーブル130b−0に記憶された後、ステップS113の処理にて、内部テーブル130b−0に記憶されている論理ディスク番号“0x0020”と論理セクタ番号“0x0230”と転送セクタ長“0x10”とに対応するデータが、ページ番号“Page2”が示すキャッシュページ230−2からホスト装置2に対して転送される。   Next, when the acquisition completion notification (HP2) is received from the cache director 20, the cache director 20 stores the page number “Page2” of the cache page 230-2 included in the acquisition completion notification (HP2) in the process of step S106. After being stored in the table 130b-0, it corresponds to the logical disk number “0x0020”, the logical sector number “0x0230”, and the transfer sector length “0x10” stored in the internal table 130b-0 in the process of step S113. The data to be transferred is transferred from the cache page 230-2 indicated by the page number “Page2” to the host device 2.

そして、図31に示すステップS119の処理では、内部テーブル130b−0に記憶されているページ番号“Page2”を含むキャッシュページ230−2の返却指示(HP2)がキャッシュディレクタ20に対して発行される。   In the process of step S119 shown in FIG. 31, a return instruction (HP2) for the cache page 230-2 including the page number “Page2” stored in the internal table 130b-0 is issued to the cache director 20. .

ホストディレクタ10から返却指示を受けると、キャッシュディレクタ20では、キャッシュプロセッサ23により、図10に示すページ返却処理が実行される。このページ返却処理では、ステップS231の処理にてグローバル共有テーブル234−0に登録されている有効フラグ値が“1”であると判別され、ステップS232の処理にて返却指示(HP2)を発行したホストプロセッサ13bを示すMPU番号“0x0002”がグローバル共有テーブル234−0に登録されていると判別される。   When a return instruction is received from the host director 10, the cache director 20 executes the page return process shown in FIG. In this page return process, it is determined that the valid flag value registered in the global shared table 234-0 is “1” in the process of step S231, and a return instruction (HP2) is issued in the process of step S232. It is determined that the MPU number “0x0002” indicating the host processor 13b is registered in the global shared table 234-0.

このため、ステップS233及びS234の処理では、グローバル共有テーブル234−0から、論理ディスク番号“0x0020”と論理セクタ番号“0x0200”とデータ格納範囲“0x00”〜“0x40”とページ番号“Page2”とMPU番号“0x0002”とが削除されるとともに、有効フラグ値が初期値である“0”に戻されて、キャッシュページ230−2の排他が解除される。そして、ステップS235の処理では、キャッシュページ230−2がHDD一致データリンク232の最後尾にリンクインされる。   Therefore, in the processes of steps S233 and S234, the logical disk number “0x0020”, the logical sector number “0x0200”, the data storage range “0x00” to “0x40”, and the page number “Page2” are retrieved from the global shared table 234-0. The MPU number “0x0002” is deleted, the valid flag value is returned to the initial value “0”, and the exclusion of the cache page 230-2 is released. In step S235, the cache page 230-2 is linked in at the end of the HDD matching data link 232.

その後、ステップS238の処理では、キャッシュページ230−2の返却完了通知をホストディレクタ10に対して返却される。そして、キャッシュディレクタ20から返却完了通知を受けると、ホストディレクタ10では、ホストプロセッサ13bによるタスク“0”でのリード処理が終了される。   Thereafter, in the process of step S238, a return completion notification of the cache page 230-2 is returned to the host director 10. When the host director 10 receives the return completion notification from the cache director 20, the read processing for the task "0" by the host processor 13b is completed.

[3]最後に、キャッシュページ230−Nが同一ホストプロセッサ13b内の他のタスクにより共有して使用されているときに、ライト命令が発行されて共有制御が抑制される場合の動作例について説明する。 [3] Finally, an example of operation when the cache page 230-N is shared and used by other tasks in the same host processor 13b and a write command is issued to suppress sharing control will be described. To do.

例えば、既にページ番号が“2”のキャッシュページ230−2上に、論理ディスク番号“0x0020”、論理セクタ番号“0x0200”〜“0x0240”のデータが格納されている場合において、ホスト装置2から論理ディスク番号“0x0020”、論理セクタ番号“0x0200”〜“0x0210”のデータの読出を指定するリード命令#1を受けると、ホストディレクタ10では、まず、ホストプロセッサ13aにより、タスク“0”にて、図4及び図5に示すリード処理が実行される。このリード処理では、図4に示すステップS101の処理にて、リード命令#1が解析され、論理ディスク番号“0x0020”と論理セクタ番号“0x0200”と転送セクタ長“0x0010”とが内部テーブル130a−0に記憶される。   For example, when the data of the logical disk number “0x0020” and the logical sector numbers “0x0200” to “0x0240” are already stored on the cache page 230-2 with the page number “2”, the logical number is sent from the host device 2. Upon receiving a read command # 1 designating reading of data of disk number “0x0020” and logical sector numbers “0x0200” to “0x0210”, the host director 10 first executes a task “0” by the host processor 13a. The read process shown in FIGS. 4 and 5 is executed. In this read process, the read command # 1 is analyzed in the process of step S101 shown in FIG. 4, and the logical disk number “0x0020”, the logical sector number “0x0200”, and the transfer sector length “0x0010” are stored in the internal table 130a-. Stored in zero.

ここでは、リード命令#1により読出の命令がなされたデータを含むデータがローカル共有テーブル131a−Nに登録されていないことから、ステップS102の処理では、このようなデータを格納するキャッシュページ230−Nが同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aにより共有して使用されていないと判別される。このため、ステップS104の処理では、リード命令#1により指定された論理ディスク番号“0x0020”と論理セクタ番号“0x0200”と転送セクタ長“0x0010”とから構成される獲得指示パラメータを含むキャッシュページ230−Nの獲得指示がキャッシュディレクタ20に対して発行される。   Here, since the data including the data for which the read command is issued by the read command # 1 is not registered in the local shared table 131a-N, in the process of step S102, the cache page 230- for storing such data is stored. N is determined not to be shared and used by another task in the same host processor 13a or 13b or another host processor 13b or 13a. Therefore, in the process of step S104, the cache page 230 including an acquisition instruction parameter composed of the logical disk number “0x0020”, the logical sector number “0x0200”, and the transfer sector length “0x0010” specified by the read instruction # 1. -N acquisition instruction is issued to the cache director 20.

一方、ホストディレクタ10から獲得指示を受けると、キャッシュディレクタ20では、キャッシュプロセッサ23により、図8及び図9に示すページ獲得処理が実行される。このページ獲得処理では、リード命令#1により読出の命令がなされたデータを含むデータがグローバル共有テーブル234−Nに登録されていないことから、図8に示すステップS203の処理にて、このようなデータを格納するキャッシュページ230−Nが同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aにより共有して使用されていないと判別される。また、キャッシュページ230−2には、獲得指示パラメータの論理ディスク番号“0x0020”と論理セクタ番号“0x0200”とデータ格納範囲“0x00”〜“0x40”とから指定されるデータを含むデータが格納されていることから、ステップS204の処理では、キャッシュページ230−2が検索される。   On the other hand, when receiving an acquisition instruction from the host director 10, the cache director 20 executes the page acquisition processing shown in FIGS. 8 and 9 by the cache processor 23. In this page acquisition process, data including data for which a read instruction is issued by the read instruction # 1 is not registered in the global shared table 234-N. Therefore, in the process of step S203 shown in FIG. It is determined that the cache page 230-N for storing data is not shared and used by another task in the same host processor 13a or 13b or another host processor 13b or 13a. Further, the cache page 230-2 stores data including data specified by the acquisition instruction parameter logical disk number “0x0020”, logical sector number “0x0200”, and data storage ranges “0x00” to “0x40”. Therefore, in the process of step S204, the cache page 230-2 is searched.

このため、ステップS209〜S211の処理では、HDD一致データリンク232からキャッシュページ230−2がリンクアウトされて排他中にされ、キャッシュページ230−2に登録されている論理ディスク番号“0x0020”、論理セクタ番号“0x0200”、及びデータ格納範囲“0x00”〜“0x40”と、キャッシュページ230−2のページ番号“Page2”と、獲得指示を発行したホストプロセッサ13aを示すMPU番号“0x0001”と、がグローバル共有テーブル234−0に登録されるとともに、有効フラグ値が“1”に設定される。   For this reason, in the processing of steps S209 to S211, the cache page 230-2 is linked out from the HDD matching data link 232 and is excluded, and the logical disk number “0x0020” registered in the cache page 230-2, logical The sector number “0x0200”, the data storage range “0x00” to “0x40”, the page number “Page2” of the cache page 230-2, and the MPU number “0x0001” indicating the host processor 13a that issued the acquisition instruction are In addition to being registered in the global shared table 234-0, the valid flag value is set to “1”.

その後、ステップS213の処理では、グローバル共有テーブル234−0に登録されたページ番号“Page2”とデータ格納範囲“0x00”〜“0x40”とを含む獲得完了通知がホストディレクタ10に対して返却されることにより、ホストディレクタ10には、キャッシュページ230−2の獲得完了、ページ番号“Page2”、及びデータ格納範囲“0x00”〜“0x40”が通知される。   Thereafter, in the process of step S213, an acquisition completion notification including the page number “Page2” registered in the global shared table 234-0 and the data storage range “0x00” to “0x40” is returned to the host director 10. Thus, the completion of acquisition of the cache page 230-2, the page number “Page2”, and the data storage range “0x00” to “0x40” are notified to the host director 10.

そして、キャッシュディレクタ20から獲得完了通知を受けると、ホストディレクタ10では、ホストプロセッサ13aにより、図4に示すステップS106の処理にて獲得完了通知に含まれるキャッシュページ230−2のページ番号が内部テーブル130a−0に記憶された後、獲得完了通知にデータ格納範囲“0x00”〜“0x40”が含まれていることから、ステップS107の処理にてキャッシュページ230−2にデータが格納されていると判別される。   Upon receiving the acquisition completion notification from the cache director 20, the host director 10 uses the host processor 13a to set the page number of the cache page 230-2 included in the acquisition completion notification in the process of step S106 shown in FIG. Since the data storage range “0x00” to “0x40” is included in the acquisition completion notification after being stored in 130a-0, if data is stored in the cache page 230-2 in the process of step S107 Determined.

このため、ステップS110及びS111の処理では、内部テーブル130a−0に記憶されている論理ディスク番号“0x0020”、論理セクタ番号“0x0200”、及びページ番号“Page2”と、獲得完了通知に含まれるデータ格納範囲“0x00”〜“0x40”と、がローカル共有テーブル131a−0に登録されるともに、有効フラグ値が“1”に設定される。   Therefore, in the processing of steps S110 and S111, the logical disk number “0x0020”, the logical sector number “0x0200”, and the page number “Page2” stored in the internal table 130a-0 and the data included in the acquisition completion notification The storage range “0x00” to “0x40” is registered in the local shared table 131a-0, and the valid flag value is set to “1”.

その後、ステップS113の処理では、内部テーブル130a−0に記憶されている論理ディスク番号“0x0020”と論理セクタ番号“0x0200”と転送セクタ長“0x0010”に対応するデータが、ページ番号“Page2”が示すキャッシュページ230−2からホスト装置2に対して転送される。   Thereafter, in the process of step S113, the data corresponding to the logical disk number “0x0020”, the logical sector number “0x0200”, and the transfer sector length “0x0010” stored in the internal table 130a-0 is the page number “Page2”. It is transferred from the cache page 230-2 shown to the host device 2.

その間に、ホスト装置2から論理ディスク番号“0x0020”、論理セクタ番号“0x0210”〜“0x0220”のデータの読出を指定するリード命令#2を受けると、ホストディレクタ10では、タスク“1”にてリード処理が実行され、このリード処理では、ステップS101の処理にて、リード命令#1が解析され、論理ディスク番号“0x0020”と論理セクタ番号“0x0200”と転送セクタ長“0x0010”とが内部テーブル130a−1に記憶される。   In the meantime, upon receiving a read command # 2 designating reading of data of the logical disk number “0x0020” and logical sector numbers “0x0210” to “0x0220” from the host device 2, the host director 10 performs the task “1”. In this read process, the read instruction # 1 is analyzed in the process of step S101, and the logical disk number “0x0020”, the logical sector number “0x0200”, and the transfer sector length “0x0010” are stored in the internal table. 130a-1.

ここでは、リード命令#2により指定された論理ディスク番号“0x0020”と論理セクタ番号“0x0200”と転送セクタ長“0x0010”とに対応するデータが、ローカル共有テーブル131a−0に登録されている論理ディスク番号“0x0020”と論理セクタ番号“0x0200”とデータ格納範囲“0x00”〜“0x40”に対応するデータに含まれていることから、ステップS102の処理では、このようなデータを格納するキャッシュページ230−2が他のタスク“0”により共有して使用されていると判別される。   Here, the data corresponding to the logical disk number “0x0020”, the logical sector number “0x0200”, and the transfer sector length “0x0010” specified by the read instruction # 2 are registered in the local shared table 131a-0. Since it is included in the data corresponding to the disk number “0x0020”, the logical sector number “0x0200”, and the data storage range “0x00” to “0x40”, in the process of step S102, a cache page for storing such data It is determined that 230-2 is shared and used by another task “0”.

また、ステップS103の処理にて有効フラグ値が“1”であると判別されることから、ステップS112の処理では、自分のタスクID(Identification Data)“1”がローカル共有テーブル131a−0に登録されてキャッシュページ230−2が共有中にされた後、共有タスクカウント値が“1”カウントアップされて“1”となる。   In addition, since it is determined that the valid flag value is “1” in the process of step S103, in the process of step S112, its own task ID (Identification Data) “1” is registered in the local shared table 131a-0. After the cache page 230-2 is shared, the shared task count value is incremented by “1” and becomes “1”.

その後、論理ディスク番号“0x0020”、論理セクタ番号“0x0220”〜“0x0230”のデータの書込を指定するライト命令#5を受けると、ホストディレクタ10では、まず、ホストプロセッサ13aにより、タスク“1”にて、図6に示すライト処理が実行される。このライト処理では、ステップS121の処理にて、ライト命令#5が解析され、図24(a)に示すように、論理ディスク番号“0x0020”と論理セクタ番号“0x0220”と転送セクタ長“0x0010”とが内部テーブル130a−2に記憶される。   Thereafter, upon receiving a write instruction # 5 designating writing of data of the logical disk number “0x0020” and logical sector numbers “0x0220” to “0x0230”, the host director 10 first performs the task “1” by the host processor 13a. The write process shown in FIG. 6 is executed. In this write process, the write instruction # 5 is analyzed in the process of step S121, and as shown in FIG. 24A, the logical disk number “0x0020”, the logical sector number “0x0220”, and the transfer sector length “0x0010”. Are stored in the internal table 130a-2.

ここでは、ライト命令#5により指定された論理ディスク番号“0x0020”と論理セクタ番号“0x0220”と転送セクタ長“0x0010”とに対応するデータが、ローカル共有テーブル131a−0に登録されている論理ディスク番号“0x0020”と論理セクタ番号“0x0200”とデータ格納範囲“0x00”〜“0x40”に対応するデータに含まれていることから、ステップS122の処理では、このようなデータを格納するキャッシュページ230−2が他のタスク“0”及び“1”により共有して使用されていると判別される。   Here, the data corresponding to the logical disk number “0x0020”, the logical sector number “0x0220”, and the transfer sector length “0x0010” specified by the write command # 5 are registered in the local shared table 131a-0. Since it is included in the data corresponding to the disk number “0x0020”, the logical sector number “0x0200”, and the data storage range “0x00” to “0x40”, in the process of step S122, the cache page storing such data is stored. It is determined that 230-2 is shared and used by other tasks “0” and “1”.

このため、ステップS123の処理では、図24(b)に示すように、ローカル共有テーブル131a−0に登録されている有効フラグ値が“2”に設定されて、キャッシュページ230−2を同一ホストプロセッサ13a内の他のタスクや別のホストプロセッサ13bと共有して使用することが抑制される。   Therefore, in the process of step S123, as shown in FIG. 24B, the valid flag value registered in the local shared table 131a-0 is set to “2”, and the cache page 230-2 is set to the same host. Sharing with other tasks in the processor 13a or another host processor 13b is suppressed.

そして、ステップS124の処理では、図25に示すように、ライト命令#5により指定された論理ディスク番号“0x0020”と論理セクタ番号“0x0220”と転送セクタ長“0x0010”とから構成される獲得指示パラメータを含むキャッシュページ230−Nの獲得指示(Write用)がキャッシュディレクタ20に対して発行される。   In the process of step S124, as shown in FIG. 25, an acquisition instruction composed of the logical disk number “0x0020”, the logical sector number “0x0220”, and the transfer sector length “0x0010” specified by the write command # 5. An instruction to acquire the cache page 230-N including parameters (for writing) is issued to the cache director 20.

その後、ホスト装置2から論理ディスク番号“0x0020”、論理セクタ番号“0x0220”〜“0x0230”のデータの読出を指定するリード命令#3を受けると、ホストディレクタ10では、タスク“3”にてリード処理が実行され、このリード処理では、ステップS101の処理にて、リード命令#3が解析され、論理ディスク番号“0x0020”と論理セクタ番号“0x0220”と転送セクタ長“0x0010”とが内部テーブル130a−3に記憶される。   Thereafter, upon receiving read command # 3 designating reading of data of logical disk number “0x0020” and logical sector numbers “0x0220” to “0x0230” from host device 2, host director 10 reads by task “3”. In this read process, the read command # 3 is analyzed in the process of step S101, and the logical table number “0x0020”, logical sector number “0x0220”, and transfer sector length “0x0010” are stored in the internal table 130a. -3.

ここでは、リード命令#3により指定された論理ディスク番号“0x0020”と論理セクタ番号“0x0220”と転送セクタ長“0x0010”とに対応するデータが、ローカル共有テーブル131a−0に登録されている論理ディスク番号“0x0020”と論理セクタ番号“0x0200”とデータ格納範囲“0x00”〜“0x40”に対応するデータに含まれていることから、ステップS102の処理では、このようなデータを格納するキャッシュページ230−2が他のタスク“0”〜“2”により共有して使用されていると判別される。   Here, the data corresponding to the logical disk number “0x0020”, the logical sector number “0x0220”, and the transfer sector length “0x0010” specified by the read instruction # 3 are registered in the local shared table 131a-0. Since it is included in the data corresponding to the disk number “0x0020”, the logical sector number “0x0200”, and the data storage range “0x00” to “0x40”, in the process of step S102, a cache page for storing such data 230-2 is determined to be shared and used by other tasks “0” to “2”.

また、ステップS103の処理にて有効フラグ値が“2”であると判別されることから、ステップS104の処理によるキャッシュページ230−Nの獲得指示のキャッシュディレクタ20に対する発行が省略されることなく実行される。   Further, since it is determined that the valid flag value is “2” in the process of step S103, the issue of the acquisition instruction of the cache page 230-N to the cache director 20 by the process of step S104 is executed without being omitted. Is done.

ところで、ホストディレクタ10から獲得指示(Write用)を受けると、キャッシュディレクタ20では、キャッシュプロセッサ23により、ページ獲得処理が実行され、このページ獲得処理では、図8に示すステップS201の処理にて、獲得指示(Write用)がライト処理にて発行されたものと判別され、また、図9に示すステップS214の処理にて、ライト命令#5により書込の命令がなされたデータを含むデータを格納するキャッシュページ230−2が他のタスク“0”〜“2”により共有して使用されていると判別される。   By the way, when an acquisition instruction (for writing) is received from the host director 10, the cache director 20 executes a page acquisition process by the cache processor 23. In this page acquisition process, in the process of step S201 shown in FIG. It is determined that an acquisition instruction (for writing) has been issued by the write process, and data including data for which a write instruction has been issued by the write instruction # 5 in the process of step S214 shown in FIG. 9 is stored. It is determined that the cache page 230-2 to be used is shared and used by the other tasks “0” to “2”.

このため、ステップS220の処理では、図26に示すように、グローバル共有テーブル234−0に登録されている有効フラグ値が“2”に設定されて、以後、キャッシュページ230−2を同一ホストプロセッサ13a内の他のタスクや別のホストプロセッサ13bと共有して使用することが抑制されるとともに、ステップS221の処理にて、獲得指示(Write用)を発行したホストプロセッサ13aとは別のホストプロセッサ13bを示すMPU番号“0x0002”がグローバル共有テーブル234−0に登録されていると判別された場合には、ステップS222の処理にて、キャッシュページ230−2の共有抑止通知(CashePage共有抑止通知)が、獲得指示を発行したホストプロセッサ13aとは別のホストプロセッサ13aに対して発行される。   Therefore, in the process of step S220, as shown in FIG. 26, the valid flag value registered in the global shared table 234-0 is set to “2”, and thereafter the cache page 230-2 is set to the same host processor. A host processor different from the host processor 13a that issued the acquisition instruction (for writing) in the process of step S221 is suppressed while being shared with other tasks in the task 13a or another host processor 13b. When it is determined that the MPU number “0x0002” indicating 13b is registered in the global sharing table 234-0, the sharing suppression notification of the cache page 230-2 (CashePage sharing suppression notification) is performed in the process of step S222. However, the host processor 13a other than the host processor 13a that issued the acquisition instruction It is issued Te.

そして、キャッシュディレクタ20から共有抑止通知を受けると、ホストディレクタ10では、ホストプロセッサ13bにより、図7に示すページ共有抑止処理が実行される。このページ共有抑制処理では、ステップS141の処理にて、ローカル共有テーブル131b−Nに登録されている有効フラグ値が“2”に設定されて、以後、キャッシュページ230−2を同一ホストプロセッサ13b内の他のタスクや別のホストプロセッサ13aと共有して使用することが抑制される。   Then, upon receiving a sharing suppression notification from the cache director 20, the host director 10 executes the page sharing suppression process shown in FIG. 7 by the host processor 13b. In this page sharing suppression process, the valid flag value registered in the local sharing table 131b-N is set to “2” in the process of step S141, and thereafter, the cache page 230-2 is stored in the same host processor 13b. It is suppressed to share with other tasks or another host processor 13a.

一方、キャッシュディレクタ20では、他のタスク“0”及び“1”によりキャッシュページ230−2が共有して使用されて排他中である場合、即ちキャッシュページ230−2がキャッシュヒットしている場合、キャッシュプロセッサ23により、図9に示すステップS223の処理にて、キャッシュヒットしているキャッシュページ230−2がHDD一致データリンク232にリンクインされるまでループして待たれる。   On the other hand, in the cache director 20, when the cache page 230-2 is shared and used by other tasks “0” and “1”, that is, when the cache page 230-2 has a cache hit, The cache processor 23 waits in a loop until the cache page 230-2 having a cache hit is linked into the HDD matching data link 232 in the process of step S223 shown in FIG.

その後、HDD一致データリンク232にリンクインされて排他が解除されると、ステップS226の処理では、HDD一致データリンク232からキャッシュページ230−Nがリンクアウトされることにより、キャッシュページ230−2が獲得される。   Thereafter, when the exclusion is released by linking in to the HDD matching data link 232, the cache page 230-N is linked to the cache page 230-N from the HDD matching data link 232 in the process of step S 226. To be acquired.

これにより、ライト処理によりキャッシュページ230−2が使用されて排他中となっている場合には、このキャッシュページ230−2の共有が禁止される。   As a result, when the cache page 230-2 is used and is being excluded by the write process, sharing of the cache page 230-2 is prohibited.

以上説明したように、本実施形態におけるディスクアレイ装置1によれば、ホストプロセッサ13a又は13bは、ステップS102の処理にてリード命令により指定された論理ディスク番号、論理セクタ番号、及び転送セクタ長と、ローカル共有テーブル131a−N又は131b−Nに登録されている論理ディスク番号、論理セクタ番号、及びデータ格納範囲と、を比較するなどして、リード命令により読出の命令がなされたデータを含むデータを格納するキャッシュページ230−Nが同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aにより共有して使用されているか否かを判別する。   As described above, according to the disk array device 1 of the present embodiment, the host processor 13a or 13b determines the logical disk number, logical sector number, and transfer sector length specified by the read command in the process of step S102. Data including data for which a read command has been issued by comparing the logical disk number, logical sector number, and data storage range registered in the local shared table 131a-N or 131b-N, etc. It is determined whether or not the cache page 230-N for storing is shared and used by another task in the same host processor 13a or 13b or another host processor 13b or 13a.

そして、キャッシュページ230−Nが同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aにより共有して使用されていると判別した場合には、キャッシュページ230−Nの獲得指示をキャッシュディレクタ20に対して発行するステップS104の処理や、読出指示をディスクディレクタ30に対して発行するステップS108の処理などを省略することができる。   When it is determined that the cache page 230-N is shared and used by another task in the same host processor 13a or 13b or another host processor 13b or 13a, an instruction to acquire the cache page 230-N Can be omitted, for example, the processing in step S104 for issuing the command to the cache director 20 and the processing in step S108 for issuing a read instruction to the disk director 30.

また、ステップS114の処理にてキャッシュページ230−Nを共有して使用している同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aがなくなったと判別するまで、キャッシュページ230−Nの返却指示をキャッシュディレクタ20に対して発行するステップS119の処理も省略することができる。   Further, until it is determined in step S114 that there is no other task or another host processor 13b or 13a in the same host processor 13a or 13b sharing and using the cache page 230-N, the cache page 230 The processing in step S119 for issuing the -N return instruction to the cache director 20 can also be omitted.

このように、ホストディレクタ10からキャッシュディレクタ20に対する処理や、ホストディレクタ10からディスクディレクタ30に対する処理、さらにはこれに応答してキャッシュディレクタ20内で実行されるページ獲得処理及びページ返却処理や、キャッシュディレクタ20内で実行されるディスク読出処理などを省略することができるため、ディスクアレイ装置1内での処理を高速化してデータの読出性能を向上させることができる。   Thus, the processing from the host director 10 to the cache director 20, the processing from the host director 10 to the disk director 30, and the page acquisition processing and page return processing executed in the cache director 20 in response thereto, Since it is possible to omit a disk read process or the like executed in the director 20, the process in the disk array device 1 can be speeded up to improve the data read performance.

また、キャッシュプロセッサ23は、ステップS203の処理にて獲得指示パラメータの論理ディスク番号、論理セクタ番号、及び転送セクタ長と、グローバル共有テーブル234−Nに登録されている論理ディスク番号、論理セクタ番号、及びデータ格納範囲と、を比較するなどして、リード命令により読出の命令がなされたデータを含むデータを格納するキャッシュページ230−Nが別のホストプロセッサ13b又は13aにより共有して使用されているか否かを判別する。   In addition, the cache processor 23 acquires the logical disk number, the logical sector number, and the transfer sector length of the acquisition instruction parameter in the process of step S203, the logical disk number, the logical sector number registered in the global sharing table 234-N, Whether or not the cache page 230-N that stores data including data that has been read by a read command, such as by comparing with the data storage range, is shared by another host processor 13b or 13a. Determine whether or not.

そして、キャッシュページ230−Nが別のホストプロセッサ13b又は13aにより共有して使用されていると判別した場合には、HDD一致データリンク232からキャッシュページ230−Nをリンクアウトして排他中にするステップS208の処理などを省略することができる。   If it is determined that the cache page 230-N is shared and used by another host processor 13b or 13a, the cache page 230-N is linked out from the HDD matching data link 232 and is excluded. The processing in step S208 can be omitted.

このように、キャッシュディレクタ20内で実行されるキャッシュページ230−Nを排他中にする処理などをさらに省略することができるため、ディスクアレイ装置1内での処理をさらに高速化してデータの読出性能をより一層向上させることができる。   As described above, since the process of making the cache page 230-N executed in the cache director 20 exclusive can be further omitted, the process in the disk array device 1 can be further speeded up and the data read performance can be increased. Can be further improved.

なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。以下、本発明に適用可能な上記実施形態の変形態様について、説明する。   In addition, this invention is not limited to the said embodiment, A various deformation | transformation and application are possible. Hereinafter, modifications of the above-described embodiment applicable to the present invention will be described.

上記実施形態において、ホストディレクタ10は、ポート11a及び11bと、メモリ12a及び12bと、ホストプロセッサ13a及び13bと、を2個ずつ備え、キャッシュディレクタ20は、メモリ22と、キャッシュプロセッサ23と、をそれぞれ1個ずつ備え、ディスクディレクタ30は、ポート31と、メモリ32と、ディスクプロセッサ33と、をそれぞれ1個ずつ備えているものとして説明した。しかしながら、本発明はこれに限定されるものではなく、ホストディレクタ10や、キャッシュディレクタ20、ディスクディレクタ30が備えるポートや、メモリ、プロセッサなどの個数は、任意に変更可能である。また、ディスクアレイ装置1に接続されるホスト装置2の個数も、上記実施形態のように、1個に限定されるものではなく、任意に変更可能である。   In the above embodiment, the host director 10 includes two ports 11a and 11b, two memories 12a and 12b, and two host processors 13a and 13b. The cache director 20 includes a memory 22 and a cache processor 23. Each of the disk directors 30 is described as having one port 31, a memory 32, and one disk processor 33. However, the present invention is not limited to this, and the number of ports, memories, processors, and the like included in the host director 10, the cache director 20, and the disk director 30 can be arbitrarily changed. Further, the number of host devices 2 connected to the disk array device 1 is not limited to one as in the above embodiment, and can be arbitrarily changed.

上記実施形態において、ホストプロセッサ13a及び13bや、キャッシュプロセッサ20、ディスクプロセッサ30のMPUが実行するプログラムは、予めROM(Read Only Memory)などに記憶されているものとして説明した。しかしながら、本発明はこれに限定されるものではなく、上述の処理を実行させるためのプログラムを、プロセッサなどに適用することで、上記実施形態に係るホストプロセッサ13a及び13bや、キャッシュプロセッサ20、ディスクプロセッサ30として機能させてもよい。   In the above embodiment, the programs executed by the MPUs of the host processors 13a and 13b, the cache processor 20, and the disk processor 30 have been described as being stored in advance in a ROM (Read Only Memory) or the like. However, the present invention is not limited to this, and by applying a program for executing the above-described processing to a processor or the like, the host processors 13a and 13b, the cache processor 20, and the disk according to the above-described embodiment are applied. The processor 30 may function.

このようなプログラムの提供方法は任意であり、例えばコンピュータが読取可能な記録媒体(フレキシブルディスク、CD(Compact Disc)−ROM、DVD(Digital Versatile Disc)−ROMなど)に格納して配布してもよいし、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより提供してもよい。   A method for providing such a program is arbitrary. For example, the program may be stored and distributed on a computer-readable recording medium (flexible disk, CD (Compact Disc) -ROM, DVD (Digital Versatile Disc) -ROM, etc.). Alternatively, the program may be stored in a storage on a network such as the Internet and provided by downloading it.

さらに、上記の処理をOS(Operating System)とアプリケーションプログラムとの分担、又はOSとアプリケーションプログラムとの協働によって実行する場合には、アプリケーションプログラムのみを記録媒体やストレージに格納してもよい。また、搬送波にプログラムを重畳し、ネットワークを介して配信することも可能である。例えば、ネットワーク上の掲示板(BBS:Bulletin Board System)に上記プログラムを掲示し、ネットワークを介してプログラムを配信してもよい。そして、このプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。   Furthermore, when the above processing is executed by sharing an OS (Operating System) and an application program, or by cooperation between the OS and the application program, only the application program may be stored in a recording medium or storage. It is also possible to superimpose a program on a carrier wave and distribute it via a network. For example, the program may be posted on a bulletin board (BBS: Bulletin Board System) on the network, and the program may be distributed via the network. Then, this program may be activated and executed in the same manner as other application programs under the control of the OS, so that the above processing can be executed.

ディスクアレイ装置を中心としたシステム全体の構成例を示すブロック図である。1 is a block diagram illustrating a configuration example of an entire system centering on a disk array device. ホストプロセッサの構成例を示すブロック図である。It is a block diagram which shows the structural example of a host processor. キャッシュプロセッサの構成例を示すブロック図である。It is a block diagram which shows the structural example of a cache processor. リード処理の一例を示すフローチャートである。It is a flowchart which shows an example of a read process. リード処理の一例を示すフローチャートである。It is a flowchart which shows an example of a read process. ライト処理の一例を示すフローチャートである。It is a flowchart which shows an example of a write process. ページ共有抑止処理の一例を示すフローチャートである。It is a flowchart which shows an example of a page sharing suppression process. ページ獲得処理の一例を示すフローチャートである。It is a flowchart which shows an example of a page acquisition process. ページ獲得処理の一例を示すフローチャートである。It is a flowchart which shows an example of a page acquisition process. ページ返却処理の一例を示すフローチャートである。It is a flowchart which shows an example of a page return process. ディスク読出処理の一例を示すフローチャートである。It is a flowchart which shows an example of a disk read-out process. ディスク書込処理の一例を示すフローチャートである。It is a flowchart which shows an example of a disk writing process. (a)は内部テーブルの登録例を示す説明図であり、(b)は獲得指示パラメータの構成例を示す説明図である。(A) is explanatory drawing which shows the example of registration of an internal table, (b) is explanatory drawing which shows the structural example of an acquisition instruction parameter. (a)はキャッシュページの登録例を示す説明図であり、(b)はグローバル共有テーブルの登録例を示す説明図である。(A) is explanatory drawing which shows the example of registration of a cache page, (b) is explanatory drawing which shows the example of registration of a global shared table. (a)は獲得完了通知パラメータの構成例を示す説明図であり、(b)は内部テーブルの登録例を示す説明図であり、(c)はローカル共有テーブルの登録例を示す説明図である。(A) is explanatory drawing which shows the structural example of an acquisition completion notification parameter, (b) is explanatory drawing which shows the registration example of an internal table, (c) is explanatory drawing which shows the registration example of a local shared table. . (a)は内部テーブルの登録例を示す説明図であり、(b)はローカル共有テーブルの登録例を示す説明図である。(A) is explanatory drawing which shows the example of registration of an internal table, (b) is explanatory drawing which shows the example of registration of a local shared table. (a)は内部テーブルの登録例を示す説明図であり、(b)はローカル共有テーブルの登録例を示す説明図である。(A) is explanatory drawing which shows the example of registration of an internal table, (b) is explanatory drawing which shows the example of registration of a local shared table. 返却指示パラメータの構成例を示す説明図である。It is explanatory drawing which shows the structural example of a return instruction parameter. キャッシュプロセッサの接続例を示す説明図である。It is explanatory drawing which shows the example of a connection of a cache processor. (a)はホストプロセッサの接続例を示す説明図であり、(b)は獲得指示パラメータの構成例を示す説明図であり、(c)はホストプロセッサの接続例を示す説明図であり、(d)は獲得指示パラメータの構成例を示す説明図である。(A) is explanatory drawing which shows the example of a connection of a host processor, (b) is explanatory drawing which shows the example of a structure of an acquisition instruction parameter, (c) is explanatory drawing which shows the example of a connection of a host processor, ( d) is an explanatory view showing a configuration example of an acquisition instruction parameter. キャッシュプロセッサの接続例を示す説明図である。It is explanatory drawing which shows the example of connection of a cache processor. 返却指示パラメータの構成例を示す説明図である。It is explanatory drawing which shows the structural example of a return instruction parameter. キャッシュプロセッサの接続例を示す説明図である。It is explanatory drawing which shows the example of a connection of a cache processor. (a)は内部テーブルの登録例を示す説明図であり、(b)はローカル共有テーブルの登録例を示す説明図である。(A) is explanatory drawing which shows the example of registration of an internal table, (b) is explanatory drawing which shows the example of registration of a local shared table. 獲得指示パラメータの構成例を示す説明図である。It is explanatory drawing which shows the structural example of an acquisition instruction | indication parameter. キャッシュプロセッサの接続例を示す説明図である。It is explanatory drawing which shows the example of a connection of a cache processor. 従来のディスクアレイ装置を中心としたシステム全体の構成例を示すブロック図である。It is a block diagram which shows the example of a structure of the whole system centering on the conventional disk array apparatus. (a)は従来のホストプロセッサの接続例を示すブロック図であり、(b)は従来の獲得指示パラメータの構成例を示す説明図である。(A) is a block diagram illustrating a connection example of a conventional host processor, and (b) is an explanatory diagram illustrating a configuration example of a conventional acquisition instruction parameter. 従来のキャッシュプロセッサの構成例を示すブロック図である。It is a block diagram which shows the structural example of the conventional cache processor. 従来のキャッシュプロセッサの接続例を示す説明図である。It is explanatory drawing which shows the example of a connection of the conventional cache processor. (a)は従来の獲得完了通知の構成例を示す説明図であり、(b)は内部テーブルの登録例を示す説明図であり、(c)はHDD読出パラメータの構成例を示す説明図である。(A) is explanatory drawing which shows the structural example of the conventional acquisition completion notification, (b) is explanatory drawing which shows the registration example of an internal table, (c) is explanatory drawing which shows the structural example of HDD read parameter. is there. 返却指示パラメータの構成例を示す説明図である。It is explanatory drawing which shows the structural example of a return instruction parameter. 従来のキャッシュプロセッサの接続例を示す説明図である。It is explanatory drawing which shows the example of a connection of the conventional cache processor.

符号の説明Explanation of symbols

1 ディスクアレイ装置
2 ホスト装置
3 物理ディスクアレイ
10 ホストディレクタ
11a,11b,31 ポート
12a,12b,21,32 メモリ
13a,13b ホストプロセッサ
20 キャッシュディレクタ
23 キャッシュプロセッサ
30 ディスクディレクタ
33 ディスクプロセッサ
130a−N,130b−N 内部テーブル
131a−N,131b−N ローカル共有テーブル
230−N キャッシュページ
231 未使用キャッシュページリンク
232 HDD一致データリンク
233 キャッシュヒットページ検索リンク
234−N グローバル共有テーブル
1 Disk array device
2 Host device
3 Physical disk array
10 Host Director 11a, 11b, 31 Port 12a, 12b, 21, 32 Memory
13a, 13b Host processor
20 cash director
23 Cache processor
30 disk director
33 Disk processor 130a-N, 130b-N Internal table 131a-N, 131b-N Local shared table
230-N cash page
231 Unused cache page link
232 HDD matching data link
233 Cache hit page search link
234-N Global shared table

Claims (13)

ホスト装置から読出命令を受けたことに応答して、記憶装置に記憶されているデータを読み出してキャッシュメモリに一旦格納してから前記ホスト装置に転送するデータ処理装置であって、
前記ホスト装置から第1読出命令により指定される第1データを格納する前記キャッシュメモリ内の第1キャッシュページが、前記第1読出命令以外の命令に基づくタスクによって使用されているか否かを判別するデータ転送判別手段と、
前記データ転送判別手段によって前記第1キャッシュページが前記第1読出命令以外の命令に基づくタスクによって使用されていないと判別された場合、前記第1キャッシュページをデータ転送可能な状態に設定するための処理を実行した後、前記第1データを前記第1キャッシュページから前記ホスト装置に転送し、前記データ転送判別手段によって前記第1キャッシュページが前記第1読出命令以外の命令に基づくタスクによって使用されていると判別された場合、前記第1キャッシュページをデータ転送可能な状態に設定するための処理を省略して、前記第1データを前記第1キャッシュページから前記ホスト装置に転送するデータ転送手段と、
を備えることを特徴とするデータ処理装置。
In response to receiving the read command from the host device, and reads out the data stored in the storage device A data processing apparatus for transferring from the temporarily stored in the cache memory to the host device,
Determining whether or not the first cache page in the cache memory storing the first data specified by the first read instruction from the host device is used by a task based on an instruction other than the first read instruction a data transfer determining means for,
If the first cache page is determined not to be used by a task based on the instructions other than the first read command by said data transfer discrimination means, for setting said first cache page data transfer ready after executing the process, used by said first data to transferred to the host device from the first cache page, the task based on the instruction of the first cache page by said data transfer discrimination means other than the first read command If it is determined to have been, by omitting the processing for setting the first cache page data transferable state, and the pre-Symbol first data from the first cache page transferred to said host device Data transfer means;
A data processing apparatus comprising:
前記データ転送手段は、前記データ転送判別手段によって前記第1キャッシュページが前記第1読出命令以外の命令に基づくタスクによって使用されていないと判別された場合、前記第1キャッシュページをデータ転送可能な状態に設定するための処理を実行する設定処理実行手段と、
前記設定処理実行手段によって前記第1キャッシュページをデータ転送可能な状態に設定するための処理実行された後、前記第1キャッシュページに格納されているデータを特定可能なデータ識別情報を第1識別情報テーブルに登録する第1識別情報登録手段と、を含み、
前記データ転送判別手段は、前記ホスト装置から前記第1読出命令とは異なる第2読出命令を受けたことに応答して、前記第2読出命令により指定される第データが、前記第1識別情報テーブルに登録されているデータ識別情報から特定されるデータに含まれているか否かを判別することにより、前記第2データを格納する前記キャッシュメモリ内の前記第1キャッシュページが、前記第2読出命令以外の命令に基づくタスクによって使用されているか否かを判別する、
ことを特徴とする請求項1に記載のデータ処理装置。
It said data transfer means, if said first cache page is determined not to be used by a task based on the instructions other than the first read command by said data transfer discrimination means, capable of data transfer the first cache page A setting process execution means for executing a process for setting to a state;
After the process for setting the first cache page data transferable state is performed by the setting processing execution means, said first data identification information capable of specifying the data stored in the cache page first First identification information registration means for registering in the identification information table,
Said data transfer discrimination means, responsive to receiving a different second read command from said first read command from said host device, a second data specified by the second read command is the first identification The first cache page in the cache memory storing the second data is determined by determining whether the data is included in the data specified from the data identification information registered in the information table . Determine whether it is being used by a task based on an instruction other than a read instruction ,
The data processing apparatus according to claim 1.
前記データ転送手段によって行われる前記第1キャッシュページから前記ホスト装置へのデータ転送が、全て終了したか否かを判別する第1データ転送終了判別手段と、
前記第1データ転送終了判別手段によって前記データ転送が全て終了したと判別した場合、前記第1キャッシュページのデータ転送可能な状態解除するための処理を実行する解除処理実行手段と、
をさらに備えることを特徴とする請求項1又は2に記載のデータ処理装置。
The first data transfer from the cache page to the host device, a first data transfer completion determining means for determining whether or not all the processes are terminated performed by the data transfer unit,
A releasing process execution means for executing the processing of the case where data transfer is determined to have completed, to cancel the data transfer possible state of the first cache page by said first data transfer completion determining means,
The data processing apparatus according to claim 1, further comprising:
前記データ転送手段から第1設定指示を受けたことに応答して、前記第1設定指示により指定される前記第1データを含む前記第1キャッシュページをデータ転送可能な状態に設定した後、設定完了を前記データ転送手段に対して通知するキャッシュページ設定手段をさらに備え、
前記データ転送手段は、前記第1キャッシュページをデータ転送可能な状態に設定するための処理として、前記第1設定指示を前記キャッシュページ設定手段に対して送る処理と、前記キャッシュページ設定手段からの前記設定完了の通知を受ける処理と、を実行する、
ことを特徴とする請求項1、2、又は3に記載のデータ処理装置。
The data in response from the transfer unit to receiving first setting instruction, after setting the first data specified including the pre-Symbol first cache page data transferable state by the first setting instruction A cache page setting means for notifying the data transfer means of completion of setting,
Said data transfer means, as a process for setting the first cache page data transfer ready, the process of sending the first setting instruction to the cache page setting means, from the cache page setting means Executing a process of receiving notification of the completion of the setting;
The data processing apparatus according to claim 1, 2, or 3.
前記キャッシュページ設定手段は、前記データ転送手段から前記第1設定指示を受けたことに応答して、前記第1設定指示により指定される前記第1データを含む前記第1キャッシュページをデータ転送可能な状態に設定する転送可能状態設定手段と、
前記転送可能状態設定手段によって前記第1キャッシュページをデータ転送可能な状態に設定された後、前記第1キャッシュページに格納されているデータを特定可能なデータ識別情報を第2識別情報テーブルに登録する第2識別情報登録手段と、
前記第2識別情報登録手段によって前記第2識別情報テーブルに登録された前記データ識別情報を、前記設定完了とともに前記データ転送手段に通知する第1設定完了通知手段と、を含み、
前記第1識別情報登録手段は、前記第1設定完了通知手段によって通知された前記データ識別情報を前記第1識別情報テーブルに登録する、
ことを特徴とする請求項4に記載のデータ処理装置。
The cache page setting means, the data in response from the transfer unit to receiving the first setting instruction, the first setting instruction the first data including pre Symbol first cache page data specified by the A transferable state setting means for setting the transferable state;
Wherein after being set to the first cache page data transfer ready by the transfer enable state setting means, registering the first data identification information capable of specifying the data stored in the cache page to the second identification information table Second identification information registering means,
Anda first setting completion notification unit to notify the data identification information registered in the second identification information table, to the data transfer unit together with the setting completion by said second identification information registration means,
The first identification information registration unit registers the data identification information notified by the first setting completion notification unit in the first identification information table.
The data processing apparatus according to claim 4, wherein:
前記データ転送手段は、前記データ転送判別手段によって前記第1キャッシュページが前記第1読出命令以外の命令に基づくタスクによって使用されていないと判別された場合、前記第1キャッシュページをデータ転送可能な状態に設定するための処理を実行する設定処理実行手段と、
前記設定処理事項手段によって前記第1キャッシュページをデータ転送可能な状態に設定するための処理が実行された後、前記第1キャッシュページに格納されているデータを特定可能なデータ識別情報を第1識別情報テーブルに登録する第1識別情報登録手段と、を含み、
前記データ転送手段によって行われる前記第1キャッシュページから前記ホスト装置へのデータ転送が、全て終了したか否かを判別する第1データ転送終了判別手段と、
前記第1データ転送終了判別手段によって前記データ転送が全て終了したと判別した場合、前記第1キャッシュページのデータ転送可能な状態を解除するための処理を実行する解除処理実行手段と、
前記第1データ転送終了判別手段によって前記データ転送が全て終了したと判別された場合、前記第1識別情報テーブルに登録されている前記データ識別情報を削除する第1識別情報削除手段と、をさらに備え、
前記解除処理実行手段は、前記第1キャッシュページのデータ転送可能な状態解除するための処理として、解除指示を前記キャッシュページ設定手段に送る処理を実行し、
前記キャッシュページ設定手段は、前記解除処理実行手段から前記解除指示を受けたことに応答して、前記解除指示により指定される前記第1データを含む前記第1キャッシュページのデータ転送可能な状態解除する転送可能状態解除手段と、
前記転送可能状態解除手段によって前記第1キャッシュページのデータ転送可能な状態解除された後、前記第2識別情報テーブルに登録されている前記データ識別情報を削除する第2識別情報削除手段と、をさらに含む、
ことを特徴とする請求項5に記載のデータ処理装置。
The data transfer means can transfer the first cache page when the data transfer determination means determines that the first cache page is not used by a task based on an instruction other than the first read instruction. A setting process execution means for executing a process for setting to a state;
After the processing for setting the first cache page to a state in which data transfer is possible is executed by the setting processing item means, data identification information that can specify data stored in the first cache page is first First identification information registration means for registering in the identification information table,
First data transfer end determination means for determining whether or not all data transfer from the first cache page to the host device performed by the data transfer means is completed;
A release process execution means for executing a process for releasing the data transfer enabled state of the first cache page when the first data transfer end determination means determines that all of the data transfer has been completed;
If it is determined that all been finished the data transfer by the first data transfer completion determining means, and the first identification information deleting means for deleting the data identification information registered in the first identification information table, a further Prepared,
The releasing process execution means, as a process for canceling the data transfer possible state of the first cache page, executes the process that sent the release instruction to the cache page setting means,
The cache page setting means, in response to the said releasing process execution means has received the cancellation instruction, possible data transfer of said first data including prior Symbol the first cache page specified by the cancellation instruction A transferable state releasing means for releasing the state;
After the data transfer possible state of the first cache page is released by the transfer state releasing means, and a second identification information deleting means for deleting the data identification information registered in the second identification information table, Further including
The data processing apparatus according to claim 5.
前記データ転送判別手段と前記データ転送手段とを含む命令実行手段を複数備え、
前記転送可能状態設定手段は、前記複数の命令実行手段のうちの第1命令実行手段が含むデータ転送手段から前記第1設定指示を受けたことに応答して、前記第1設定指示により指定される前記第1データを含む前記第1キャッシュページをデータ転送可能な状態に設定し、
前記第2識別情報登録手段は、前記転送可能状態設定手段によって前記第1キャッシュページがデータ転送可能な状態に設定された後、前記第1キャッシュページ含まれているデータを特定可能なデータ識別情報を前記第2識別情報テーブルに登録し、
前記第1設定完了通知手段は、前記第2識別情報登録手段によって前記第2識別情報テーブルに登録された前記データ識別情報を、前記設定完了とともに前記第1命令実行手段に通知し、
前記キャッシュページ設定手段は、前記複数の命令実行手段のうち、前記第1命令実行手段とは異なる第2命令実行手段が含むデータ転送手段から前記第1設定指示とは異なる第2設定指示を受けたことに応答して、前記第2設定指示により指定される第データが、前記第2識別情報テーブルに登録されている前記データ識別情報から特定されるデータに含まれているか否かを判別する第1データ判別手段をさらに含み、
前記第1データ判別手段によって前記第データが前記データ識別情報から特定されるデータに含まれていると判別された場合、前記第2識別情報登録手段による前記データ識別情報の第2識別情報テーブルへの登録を省略して、前記第1設定完了通知手段による前記データ識別情報と前記設定完了と前記第2命令実行手段に通知する、
ことを特徴とする請求項5又は6に記載のデータ処理装置。
A plurality of instruction execution means including the data transfer determination means and the data transfer means;
The transfer state setting means, in response to the first instruction execution unit data transfer means including the one of the plurality of instruction execution unit receiving the first setting instruction, designated by the first setting instruction It said first data set including a pre-Symbol first cache page data transfer ready that,
The second identification information registration unit, the transfer state after the first cache page is set to the available data state by the setting means, data capable of identifying the identification data contained in the first cache page Register information in the second identification information table;
Said first setting completion notification means, the said data identification information registered in the second identification information table by a second identification information registration unit, and notify the first instruction execution unit together with the setting completion,
The cache page setting means receives a second setting instruction different from the first setting instruction from a data transfer means included in a second instruction executing means different from the first instruction executing means among the plurality of instruction executing means. in response to the received third data designated by the second setting instruction, whether included in the data specified from the data identification information registered in the second identification information table A first data discriminating means for discriminating;
If it is determined that the third data are included in the data specified from the data identification information by the first data determination means, the second identification information table of the data identification information by the second identification information registration means omit the registration to, you notice the data identification information and said setting completion by the first setting completion notification unit to the second instruction execution unit,
The data processing apparatus according to claim 5 or 6, characterized by the above.
前記第2識別情報登録手段は、前記転送可能状態設定手段によって前記第1キャッシュページをデータ転送可能な状態に設定した後、前記第1キャッシュページに格納されているデータを特定可能なデータ識別情報とともに、前記第1命令実行手段を特定可能な第1命令実行手段識別情報を前記第2識別情報テーブルに登録し、
前記キャッシュページ設定手段は、前記解除処理実行手段から前記解除指示を受けたことに応答して、前記解除指示により指定される前記第1データを含む前記第1キャッシュページのデータ転送可能な状態を解除する転送可能状態解除手段と、
前記転送可能状態解除手段によって前記第1キャッシュページのデータ転送可能な状態が解除された後、前記第2識別情報テーブルに登録されている前記データ識別情報を削除する第2識別情報削除手段と、
前記第1データ判別手段によって前記第データが前記データ識別情報から特定されるデータに含まれていると判別された場合、前記第2命令実行手段を特定可能な第2命令実行手段識別情報を前記第2識別情報テーブルに登録する第3識別情報登録手段と、
前記第1命令実行手段から前記解除指示を受けたことに応答して、前記第1命令実行手段識別情報とともに前記第2命令実行手段識別情報が、前記第2識別情報テーブルに登録されているか否かを判別する識別情報登録判別手段と、をさらに含み、
前記第2識別情報削除手段は、前記識別情報登録判別手段によって前記第2命令実行手段識別情報が前記第2識別情報テーブルに登録されていると判別された場合、前記第2識別情報テーブルに登録されている前記第1命令実行手段識別情報を削除し、前記識別情報登録判別手段によって前記第2命令実行手段識別情報が前記第2識別情報テーブルに登録されていないと判別された場合、前記第2識別情報テーブルに登録されている前記第1命令実行手段識別情報とともに前記データ識別情報を削除する、
ことを特徴とする請求項7に記載のデータ処理装置。
The second identification information registering means, after setting the first cache page data transfer ready by the transfer state setting means, said first data identification information capable of specifying the data stored in the cache page And registering first instruction execution means identification information capable of specifying the first instruction execution means in the second identification information table,
In response to receiving the release instruction from the release process executing means , the cache page setting means sets a state in which data transfer of the first cache page including the first data specified by the release instruction is possible. A transfer enable state canceling means to cancel,
A second identification information deleting unit that deletes the data identification information registered in the second identification information table after the transferable state cancellation unit releases the data transferable state of the first cache page;
If the third data by the first data determination means is determined to be included in the data specified from the data identification information, the second instruction execution unit identification information capable of specifying the second instruction execution unit Third identification information registration means for registering in the second identification information table;
In response to receiving the release instruction from the first instruction execution means, whether or not the second instruction execution means identification information is registered in the second identification information table together with the first instruction execution means identification information. An identification information registration determining means for determining whether or not
The second identification information deleting means, when the second instruction execution unit identification information by the identification information registration determination means is determined to be registered in the second identification information table, registering the second identification information table remove the first instruction execution unit identification information that is, when the second instruction execution unit identification information by the identification information registration determination means is judged not registered in the second identification information table, the first remove pre Symbol data identification information together with the first instruction execution unit identification information registered in second identification information table,
The data processing apparatus according to claim 7.
前記ホスト装置から書込命令を受けたことに応答して、前記書込命令により指定される第データが、前記第1識別情報テーブルに登録されている前記データ識別情報から特定されるデータに含まれているか否かを判別する第2データ判別手段と、
前記第2データ判別手段によって前記第データが、前記第1識別情報テーブルに登録されている前記データ識別情報から特定されるデータに含まれていると判別された場合、前記キャッシュメモリ内の、前記データを含む第2キャッシュページから前記ホスト装置へのデータ転送が複数並行して行われることを抑制する転送抑制手段と、をさらに備え、
前記データ転送手段は、前記転送抑制手段によって前記第2キャッシュページから前記ホスト装置に対するデータ転送が複数並行して行われることを抑制した後、前記データ識別情報から特定されるデータに含まれる第データを指定する第3読出命令を受けた場合、前記データ転送判別手段による判別結果に関わらず、前記第2キャッシュページをデータ転送可能な状態に設定するための処理を実行した後、前記第2キャッシュページから前記データのみを前記ホスト装置に転送する、
ことを特徴とする請求項1乃至8のいずれか1項に記載のデータ処理装置。
In response to receiving a write command from the host device, the fourth data specified by the write command is changed to data specified from the data identification information registered in the first identification information table. Second data discriminating means for discriminating whether or not it is included;
By the second data determination means, said fourth data, when it is determined to be included in the data specified from the data identification information registered in the first identification information table, in the cache memory , further comprising a a transfer suppressing means suppresses the data transfer is performed a plurality parallel of the fourth data from including second cache page to the host device,
The data transfer means suppresses that a plurality of data transfers from the second cache page to the host device are performed in parallel by the transfer suppression means, and then includes the data specified in the data identification information. 5 upon receiving a third read command specifying the data, after the regardless the determination result by the data transfer determining means, and executes a process for setting the second cache page data transfer ready, the first only the fifth data from the 2 cache pages to transfer to the host device,
The data processing apparatus according to claim 1, wherein the data processing apparatus is a data processing apparatus.
前記データ転送手段から第1設定指示を受けたことに応答して、前記第1設定指示により指定される前記第1データを含む前記第1キャッシュページをデータ転送可能な状態に設定した後、設定完了を前記データ転送手段に対して通知するキャッシュページ設定手段をさらに備え、
前記データ転送手段は、前記ホスト装置から前記書込命令を受けたことに応答して、前記第2キャッシュページをデータ転送可能な状態に設定するための処理として、前記第データを指定する第3設定指示を前記キャッシュメモリ設定手段に送り
前記キャッシュページ設定手段は、前記データ転送手段から前記第3設定指示を受けたことに応答して、前記第2キャッシュページから前記ホスト装置へのデータ転送が全て終了したか否かを判別する第2データ転送終了判別手段と、
前記第2データ転送終了判別手段によって前記データ転送が全て終了したと判別されるまで、前記転送可能状態設定手段による前記第2キャッシュページのデータ転送可能な状態への設定を抑制する転送可能状態抑制手段と、をさらに含む、
ことを特徴とする請求項9に記載のデータ処理装置。
In response to receiving the first setting instruction from the data transfer means, the first cache page including the first data specified by the first setting instruction is set in a data transferable state and then set. A cache page setting means for notifying the data transfer means of completion,
In response to receiving the write command from the host device, the data transfer means designates the fourth data as a process for setting the second cache page in a data transferable state. 3. Send a setting instruction to the cache memory setting means,
The cache page setting means, in response to the said data transfer means receives said third setting instruction, the data transfer from the second cache page to the host apparatus determines whether to exit all by Second data transfer end determination means;
By the second data transfer completion determining means, the data transfer is determined to have completed until set suppressing transferable state of the to the data transfer possible state of the second cache page by transfer enable state setting means And further comprising suppression means,
The data processing apparatus according to claim 9.
前記キャッシュメモリ設定手段は、前記第1命令実行手段から前記第3設定指示を受けたことに応答して、前記第1命令実行手段識別情報とともに前記第2命令実行手段識別情報が、前記第2識別情報テーブルに登録されているか否かを判別する第2識別情報登録判別手段と、
前記第2識別情報登録判別手段によって前記第2命令実行手段識別情報が前記第2識別情報テーブルに登録されていると判別された場合、抑制指示を前記第2命令実行手段に送る抑制指示手段と、をさらに含み、
前記第2命令実行手段は、前記抑制指示手段から前記抑制指示を受けたことに応答して、前記転送抑制手段によって前記第2キャッシュページから前記ホスト装置に対するデータ転送が複数並行して行われることを抑制する、
ことを特徴とする請求項9又は10に記載のデータ処理装置。
In response to receiving the third setting instruction from the first instruction execution unit, the cache memory setting unit includes the second instruction execution unit identification information together with the first instruction execution unit identification information. Second identification information registration determining means for determining whether or not the information is registered in the identification information table;
The second identification information if the second instruction execution unit identification information by the registration determining means is determined to have been registered in the second identification information table, suppression instruction means that send a suppression instruction to the second instruction execution unit And further including
In response to receiving the suppression instruction from the suppression instruction unit, the second instruction execution unit performs a plurality of data transfers from the second cache page to the host device in parallel by the transfer suppression unit. Suppress,
The data processing apparatus according to claim 9 or 10, characterized in that:
ホスト装置から読出命令を受けたことに応答して、記憶装置に記憶されているデータを読み出してキャッシュメモリに一旦格納してから前記ホスト装置に転送するデータ処理方法であって、
前記ホスト装置から第1読出命令により指定される第1データを格納する前記キャッシュメモリ内の第1キャッシュページが、前記第1読出命令以外の命令に基づくタスクによって使用されているか否かを判別するデータ転送判別ステップと、
前記データ転送判別ステップによって前記第1キャッシュページが前記第1読出命令以外の命令に基づくタスクによって使用されていないと判別された場合、前記第1キャッシュページをデータ転送可能な状態に設定するための処理を実行した後、前記第1データを前記第1キャッシュページから前記ホスト装置に転送し、前記データ転送判別ステップによって前記第1キャッシュページが前記第1読出命令以外の命令に基づくタスクによって使用されていると判別された場合、前記第1キャッシュページをデータ転送可能な状態に設定するための処理を省略して、前記第1データを前記第1キャッシュページから前記ホスト装置に転送するデータ転送ステップと、
を備えることを特徴とするデータ処理方法。
In response to receiving the read command from the host device, and reads out the data stored in the storage device a data processing method for transferring from the temporarily stored in the cache memory to the host device,
Determining whether or not the first cache page in the cache memory storing the first data specified by the first read instruction from the host device is used by a task based on an instruction other than the first read instruction A data transfer determination step,
Wherein if said first cache page by the data transfer determining step is judged to be not used by a task based on the instructions other than the first read command, for setting the first cache page data transfer ready after executing the process, used by said first data to transferred to the host device from the first cache page, the data transfer determining step by the first cache page is based on an instruction other than the first read command task If it is determined to have been, by omitting the processing for setting the first cache page data transferable state, and the pre-Symbol first data from the first cache page transferred to said host device A data transfer step;
A data processing method comprising:
ホスト装置から読出命令を受けたことに応答して、記憶装置に記憶されているデータを読み出してキャッシュメモリに一旦格納してから前記ホスト装置に転送するコンピュータに、
前記ホスト装置から第1読出命令により指定される第1データを格納する前記キャッシュメモリ内の第1キャッシュページが、前記第1読出命令以外の命令に基づくタスクによって使用されているか否かを判別するデータ転送判別手順と、
前記データ転送判別手順によって前記第1キャッシュページが前記第1読出命令以外の命令に基づくタスクによって使用されていないと判別された場合、前記第1キャッシュページをデータ転送可能な状態に設定するための処理を実行した後、前記第1データを前記第1キャッシュページから前記ホスト装置に転送し、前記データ転送判別手順によって前記第1キャッシュページが前記第1読出命令以外の命令に基づくタスクによって使用されていると判別された場合、前記第1キャッシュページをデータ転送可能な状態に設定するための処理を省略して、前記第1データを前記第1キャッシュページから前記ホスト装置に転送するデータ転送手順と、
を実行させるためのプログラム。
In response to receiving the read command from the host device, to read the data stored in the storage device the computer to transfer from the temporarily stored in the cache memory to the host device,
Determining whether or not the first cache page in the cache memory storing the first data specified by the first read instruction from the host device is used by a task based on an instruction other than the first read instruction a data transfer determination procedure that,
Wherein if said first cache page by the data transfer determination procedures is judged not to be used by a task based on the instructions other than the first read command, for setting the first cache page data transfer ready after executing the process, used by said first data to transferred to the host device from the first cache page, the data transfer determination procedures wherein the first cache page is based on an instruction other than the first read command by the task If it is determined to have been, by omitting the processing for setting the first cache page data transferable state, and the pre-Symbol first data from the first cache page transferred to said host device Data transfer procedure;
A program for running
JP2008103652A 2008-04-11 2008-04-11 Data processing apparatus, data processing method, and program Expired - Fee Related JP5176663B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008103652A JP5176663B2 (en) 2008-04-11 2008-04-11 Data processing apparatus, data processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008103652A JP5176663B2 (en) 2008-04-11 2008-04-11 Data processing apparatus, data processing method, and program

Publications (2)

Publication Number Publication Date
JP2009258780A JP2009258780A (en) 2009-11-05
JP5176663B2 true JP5176663B2 (en) 2013-04-03

Family

ID=41386150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008103652A Expired - Fee Related JP5176663B2 (en) 2008-04-11 2008-04-11 Data processing apparatus, data processing method, and program

Country Status (1)

Country Link
JP (1) JP5176663B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016183790A1 (en) * 2015-05-19 2016-11-24 四川农业大学 Use of plant crude extracts of pueraria peduncularis for preparation of molluscicides

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0318935A (en) * 1989-06-15 1991-01-28 Hitachi Ltd Serialization system for access to data list
JPH07262149A (en) * 1994-03-17 1995-10-13 Mitsubishi Electric Corp Multiprocessor system
JP2002182864A (en) * 2000-12-08 2002-06-28 Hitachi Ltd Disk array controller
JP3759048B2 (en) * 2002-02-04 2006-03-22 日本電気株式会社 Disk cache management method for disk array device
JP4412981B2 (en) * 2003-11-26 2010-02-10 株式会社日立製作所 Storage system and data caching method in the same system
JP4945200B2 (en) * 2006-08-29 2012-06-06 株式会社日立製作所 Computer system and processor control method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016183790A1 (en) * 2015-05-19 2016-11-24 四川农业大学 Use of plant crude extracts of pueraria peduncularis for preparation of molluscicides

Also Published As

Publication number Publication date
JP2009258780A (en) 2009-11-05

Similar Documents

Publication Publication Date Title
US9563636B2 (en) Allowing writes to complete without obtaining a write lock to a file
US7979631B2 (en) Method of prefetching data in hard disk drive, recording medium including program to execute the method, and apparatus to perform the method
US8161128B2 (en) Sharing of data across disjoint clusters
US20080195799A1 (en) Systems, methods and computer program products for operating a data processing system in which a file delete command is sent to an external storage device for invalidating data thereon
JP4402103B2 (en) Data storage device, data relocation method thereof, and program
JP2014120151A (en) Methods and structure for using region locks to divert i/o requests in storage controller having multiple processing stacks
JP5285786B2 (en) System for determining modified data in a cache for use during recovery operations
US9710283B2 (en) System and method for pre-storing small data files into a page-cache and performing reading and writing to the page cache during booting
US20040236804A1 (en) Monitoring and data exchange procedure for a peripheral data storage unit
US10402101B2 (en) System and method for using persistent memory to accelerate write performance
US9229814B2 (en) Data error recovery for a storage device
US9223739B2 (en) Detection method and apparatus for hot-swapping of SD card
US20060265437A1 (en) Contiguous boot and resume start-up files
US20140195759A1 (en) Increasing Efficiency of Block-Level Processes Using Data Relocation Awareness
US20060155774A1 (en) Handling access requests to a page while copying an updated page of data to storage
JP5176663B2 (en) Data processing apparatus, data processing method, and program
CN105556462A (en) Writing to files and file meta-data
TWI396994B (en) Controller capable of preventing spread of computer viruses and storage system and metho thereof
JP2006031446A (en) Data storage device, data storage method and data storage program
US20050071538A1 (en) Method for storing access record in network communication device
US20040044864A1 (en) Data storage
US20140365736A1 (en) Hardware Based Cache Scan with Divert Node Handling
TW200417859A (en) Storage system and method with snapshot backup function
US11755223B2 (en) Systems for modular hybrid storage devices
JPWO2021005444A5 (en)

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120813

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121224

R150 Certificate of patent or registration of utility model

Ref document number: 5176663

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees