JP5176663B2 - Data processing apparatus, data processing method, and program - Google Patents
Data processing apparatus, data processing method, and program Download PDFInfo
- 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
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
ホストディレクタ1010は、例えばSCSI(Small Computer System Interface)やファイバチャネルなどのチャネルを介してホスト装置(Host)1002と接続され、ポート(Port)1011と、例えばRAM(Random Access Memory)などのメモリ(mem)1012と、ホストプロセッサ(HP)1013と、を備えている。
The
ホストプロセッサ1013は、例えばMPU(Micro Processing Unit)などから構成され、図28(a)に示すように、論理ディスク番号(LDN)と論理セクタ番号(LSN)と転送セクタ長(Length)とページ番号(PageID)とをタスク毎に記憶可能な複数の内部テーブル(HA-Task0-Table〜HA-TaskN-Table)1130−N(Nは整数)を、メモリ1012に保持するなどして備えている。
The
ホストプロセッサ1013は、ホスト装置1002からディスクアレイ装置1001に対して発行された物理ディスクアレイ1003のハードディスクドライブに格納されたデータの読出命令(リード命令(ReadCommand))を受けると、リード命令を解析し、論理ディスク番号と論理セクタ番号と転送セクタ長といった必要な情報を抽出して内部テーブル1130−Nに記憶する。
When the
ホストプロセッサ1013は、キャッシュディレクタ1020に対して、図28(b)に示すような、論理ディスク番号と論理セクタ番号と転送セクタ長といったキャッシュページ1230−Nを獲得するために必要な情報からなる獲得指示パラメータを含む(Page獲得命令)をキャッシュディレクタ1020に対して発行する。
The
キャッシュディレクタ1020は、例えばRAMなどのメモリ1022と、キャッシュプロセッサ(CP)1023と、を備えている。
The
キャッシュプロセッサ1023は、例えばMPUなどから構成され、図29に示すように、複数のキャッシュページ(CachePege1〜CachePegeN)1230−Nと、未使用キャッシュページリンク(NULL-LINK)1231と、HDD一致データリンク(CLEAN-LINK)1232と、複数のキャッシュヒットページ検索リンク(HASH-LINK)1233と、をメモリ1022に保持するなどして備えている。
The
初期状態では、キャッシュページ1230−Nが全て未使用キャッシュページリンク1231に接続され、キャッシュヒットページ検索リンク1233には、未接続の状態になっている。
In the initial state, all the cache pages 1230 -N are connected to the unused
キャッシュページ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
キャッシュページ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
キャッシュヒットページ検索リンク1233は、キャッシュページ1230−Nの検索を高速に行うための仕組みで、論理ディスク番号の数分だけ根を持っている。
The cache hit
ディスクディレクタ1030は、例えばバスなどを介して複数のハードディスクドライブ(HDD)を備える物理ディスクアレイ1003と接続されているポート1031と、例えばRAMなどのメモリ1032と、例えばMPUなどから構成されるディスクプロセッサ(DP)1033と、を備えている。
The
次に、上記構成を備えるディスクアレイ装置の動作例について、図面を参照して説明する。 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
キャッシュディレクタ1020では、キャッシュプロセッサ1023が、まず、ホストプロセッサ1013から受けた獲得指示パラメータを元に、キャッシュヒットページ検索リンク1233を辿って、キャッシュヒットしているキャッシュページ1230−Nを検索する。具体的には、獲得指示パラメータの論理ディスク番号に該当するキャッシュヒットページ検索リンク1233が選択される。そして、このキャッシュヒットページ検索リンク1233にリンクインしているキャッシュページ1230−Nに登録されている論理ディスク番号、論理セクタ番号、及びデータ格納範囲と、獲得指示パラメータの論理ディスク番号、論理セクタ番号、及び転送セクタ長と、が比較されるなどして、リード命令により読出の命令がなされたデータを含むデータを格納するキャッシュページ1230−Nがあるか否かが判別される。
In the
検索した結果、キャッシュヒットしているキャッシュページ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
そして、キャッシュプロセッサ1023は、図31(a)に示すような、キャッシュページ1230−Nのページ番号を含む獲得完了通知(CachePage獲得完了命令)をホストディレクタ1010に対して返却する。なお、転送セクタ長がキャッシュページ1230−Nを複数ページ数分必要とする場合には、そのページ数分だけ上記処理を繰り返し実行し、必要なページ数分全てを排他中にしてから、キャッシュページ1230−Nの獲得完了通知をホストディレクタ1010に対して返却すればよい。
Then, the
キャッシュプロセッサ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
ディスクディレクタ1030では、ディスクプロセッサ1033が、まず、読出指示に含まれるHDD読出パラメータの論理ディスク番号と論理セクタ番号と転送セクタ長とに対応するデータを、物理ディスクアレイ1003のハードディスクドライブから、HDD読出パラメータのページ番号が示すキャッシュページ1230−Nに対して転送するとともに、読出完了通知をホストディレクタ1010に対して返却する。
In the
ディスクプロセッサ1033から読出完了通知を受けると、ホストディレクタ1010では、ホストプロセッサ1013が、内部テーブル1130−Nに記憶されている論理ディスク番号と論理セクタ番号と転送セクタ長とに対応するデータを、ページ番号が示すキャッシュページ1230−Nからホスト装置1002に対して転送する。
Upon receiving the read completion notification from the
キャッシュページ1230−Nからホスト装置1002へのデータ転送が完了した後、ホストプロセッサ1013は、図32に示すような、内部テーブル1130−Nに記憶されている論理ディスク番号と論理セクタ番号と転送セクタ長とページ番号とから構成される返却指示パラメータ(CachePage返却命令)を含む返却指示をキャッシュディレクタ1020に対して発行する。
After the data transfer from the cache page 1230-N to the
ホストディレクタ1010から返却指示を受けると、キャッシュディレクタ1020では、キャッシュプロセッサ1023が、図33に示すように、返却指示に含まれる返却指示パラメータのページ番号が示すキャッシュページ1230−Nのデータ格納範囲を登録するとともに、キャッシュページ1230−NをHDD一致データリンク1232に接続してリンクインして、排他を解除する。
When receiving a return instruction from the
そして、キャッシュプロセッサ1023は、キャッシュページ230−Nの返却完了通知をホストディレクタ1010に対して返却する。なお、上記のような処理は、ホストプロセッサ1013、キャッシュプロセッサ1023、及びディスクプロセッサ1033内の複数のタスクにて並行して実行されている。
Then, the
これに対して、ホスト装置1002からキャッシュページ1230−N上の既に格納さているデータに関してリード命令が発行されるなどして、キャッシュプロセッサ1023が、キャッシュヒットページ検索リンク1233を辿ってキャッシュヒットしたキャッシュページ1230−Nを検出した場合には、HDD一致データリンク1232からキャッシュページ1230−Nをリンクアウトして排他中にするとともに、ページ番号やデータ格納範囲などの情報を含む獲得完了通知をホストディレクタ1010に対して返却する。なお、キャッシュヒットしたキャッシュページ1230−Nが他のタスクによって排他中である場合には、キャッシュページ1230−Nの返却を待つ。
In response to this, the
キャッシュプロセッサ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
ホストプロセッサ1013から返却指示を受けると、キャッシュディレクタ1020では、キャッシュプロセッサ1023が、キャッシュページ1230−NをHDD一致データリンク1232にリンクインして排他を解除するとともに、キャッシュページ1230−Nの返却完了通知をホストディレクタ1010に対して返却する。
Upon receiving a return instruction from the
これにより、キャッシュヒットしているキャッシュページ1230−Nに格納されているデータに関して、ホスト装置1002からディスクアレイ装置1001に対して複数のリード命令が発行された場合には、書込指示を発行するなどのホストディレクタ1010からディスクディレクタ1030に対する処理や、データを転送するなどのディスクディレクタ1030での処理を省略することができるようになるため、その分ディスクアレイ装置1001内での処理を高速化することができる(例えば特許文献1参照)。
しかしながら、上記ディスクアレイ装置1001では、キャッシュヒットしているキャッシュページ1230−Nに格納されているデータに関して、ホスト装置1002から複数のリード命令が発効された場合でも、キャッシュページ1230−Nの獲得指示を発行するなどのホストディレクタ1010からキャッシュディレクタ1020に対する処理や、キャッシュページ1230−Nを排他中にするなどのキャッシュディレクタ1020内での処理を省略することができず、ディスクアレイ装置1001内での処理の高速化にも限界があった。
However, in the
本発明は、上記実状に鑑みてなされたものであり、処理の高速化して性能を向上させることができるデータ処理装置、データ処理方法、及びプログラムを提供することを目的とする。 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
ホストディレクタ10は、ポート(Port)11a及び11bと、メモリ(mem)12a及び12bと、ホストプロセッサ(HP)13a及び13bと、を備えている。
The
ポート11a及び11bは、それぞれSCSI(Small Computer System Interface)やファイバチャネルなどのチャネルを介してホスト装置(Host)2と接続されている。
The
メモリ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
ホストプロセッサ13a及び13bは、それぞれホスト装置2からディスクアレイ装置1に対して発行されるコマンドを解析してデータのホスト装置2との間でデータの送受信を行うもので、例えばMPU(Micro Processing Unit)などから構成されている。
Each of the
ホストプロセッサ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
内部テーブル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
メモリ22は、例えばRAMなどによって実現され、キャッシュプロセッサ23に内蔵されている。
The
キャッシュプロセッサ23は、データを一時的に格納し、固定長のキャッシュページ(Cache Page)230−Nとして管理するもので、例えばMPUなどから構成されている。
The
キャッシュプロセッサ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
初期状態では、キャッシュページ230−Nが全て未使用キャッシュページリンク231に接続され、キャッシュヒットページ検索リンク233には、未接続の状態になっている。
In the initial state, all the cache pages 230 -N are connected to the unused
キャッシュページ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
キャッシュページ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
キャッシュヒットページ検索リンク233は、キャッシュページ230−Nの検索を高速に行うための仕組みで、論理ディスク番号の数分だけ根を持っている。
The cache hit
グローバル共有テーブル234−Nは、ホストディレクタ10からの複数の要求を共有するためのもので、それぞれ論理ディスク番号と、論理セクタ番号と、データ格納範囲と、ページ番号と、有効フラグ値と、MPU番号と、がホストプロセッサ13a及び13bの数(本実施形態では2つ)分だけ登録可能に構成されている。
The global sharing table 234-N is for sharing a plurality of requests from the
図1に示すディスクディレクタ30は、ポート31と、メモリ32と、ディスクプロセッサ(DP)33と、を備えている。
The
ポート31は、例えばバスなどを介して複数のハードディスクドライブ(HDD)を備える物理ディスクアレイ3と接続されている。
The
メモリ32は、例えばRAMなどによって実現され、ディスクプロセッサ33に内蔵されている。
The
ディスクプロセッサ33は、RAID(Redundant Arrays of Inexpensive (Independent) Disks)演算などを実施し複数のハードディスクドライブからの読出及び書込を行うもので、例えばMPUなどから構成されている。
The
次に、上記構成を備えるディスクアレイ装置の動作について、図面を参照して説明する。 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
このリード処理において、まず、ホストプロセッサ13a又は13bは、図4に示すように、リード命令を解析し、論理ディスク番号と論理セクタ番号と転送セクタ長といった必要な情報を抽出して内部テーブル130a−N又は130b−Nに記憶する(ステップS101)。
In this read process, the
次に、ホストプロセッサ13a又は13bは、リード命令により指定された論理ディスク番号、論理セクタ番号、及び転送セクタ長と、RAM12a又は12bに実装するローカル共有テーブル131a−N又は131b−Nに登録されている論理ディスク番号、論理セクタ番号、及びデータ格納範囲と、を比較するなどして、リード命令により読出の命令がなされたデータを含むデータを格納するキャッシュページ230−Nが同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aにより共有して使用されているか否かを判別する(ステップS102)。
Next, the
ここで、キャッシュページ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
そして、ステップ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
その後、ホストプロセッサ13a又は13bは、キャッシュディレクタ20から獲得完了通知(CashePage獲得完了通知)を受けるまで(ステップS105;No)、ループして待ち、獲得完了通知を受けると(ステップS105;Yes)、獲得完了通知に含まれるキャッシュページ230−Nのページ番号を内部テーブル130a−N又は130b−Nに記憶する(ステップS106)。
After that, the
続いて、ホストプロセッサ13a又は13bは、キャッシュページ230−Nに格納されているデータの範囲を示すデータ格納範囲が獲得完了通知に含まれているか否かをチェックすることにより、キャッシュページ230−Nにデータが格納されているか否かを判別する(ステップS107)。
Subsequently, the
ここで、データ格納範囲が獲得完了通知に含まれておらず、キャッシュページ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
これに対して、データ格納範囲が獲得完了通知に含まれており、キャッシュページ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
また、ステップ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
そして、ステップ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
ここで、有効フラグ値が“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
ここで、カウントダウン後の共有タスクカウント値が“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
これに対して、カウントダウン後の共有タスクカウント値が“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
そして、ステップ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
その後、ホストプロセッサ13a又は13bは、キャッシュディレクタ20から返却完了通知(Page返却完了通知)を受けるまで(ステップS120;No)、ループして待ち、返却完了通知を受けると(ステップS120;Yes)、リード処理を終了する。
After that, the
また、ホストディレクタ10では、ホスト装置2からディスクアレイ装置1に対して発行されたデータの物理ディスクアレイ3への書込命令(ライト命令(WriteCommand))を受けると、ホストプロセッサ13a又は13bが、図6に示すライト(Write)処理をタスク毎に実行する。
When the
このライト処理において、まず、ホストプロセッサ13a又は13bは、図6に示すように、ライト命令を解析し、論理ディスク番号と論理セクタ番号と転送セクタ長といった必要な情報を抽出して内部テーブル130a−N又は130b−Nに記憶する(ステップS121)。
In this write processing, first, the
次に、ホストプロセッサ13a又は13bは、ライト命令により指定された論理ディスク番号、論理セクタ番号、及び転送セクタ長と、RAM12a又は12bに実装するローカル共有テーブル131a−N又は131b−Nに登録されている論理ディスク番号、論理セクタ番号、及びデータ格納範囲と、を比較するなどして、ライト命令により書込の命令がなされたデータを含むデータを格納するキャッシュページ230−Nが同一ホストプロセッサ13a又は13b内の他のタスクや別のホストプロセッサ13b又は13aにより共有して使用されているか否かを判別する(ステップS122)。
Next, the
ここで、キャッシュページ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
そして、ステップ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
その後、ホストプロセッサ13a又は13bは、キャッシュディレクタ20から獲得完了通知(CashePage獲得完了通知)を受けるまで(ステップS125;No)、ループして待ち、獲得完了通知を受けると(ステップS125;Yes)、獲得完了通知に含まれるキャッシュページ230−Nのページ番号を内部テーブル130a−N又は130b−Nに記憶する(ステップS126)。
Thereafter, the
続いて、ホストプロセッサ13a又は13bは、キャッシュページ230−Nに格納されているデータの範囲を示すデータ格納範囲が獲得完了通知に含まれているか否かをチェックすることにより、キャッシュページ230−Nにデータが格納されているか否かを判別する(ステップS127)。
Subsequently, the
ここで、データ格納範囲が獲得完了通知に含まれておらず、キャッシュページ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
そして、ステップ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
そして、ホストプロセッサ13a又は13bは、キャッシュディレクタ20から返却完了通知を受けるまで(ステップS132;No)、ループして待ち、返却完了通知を受けると(ステップS132;Yes)、ライト処理を終了する。
Then, the
さらに、ホストプロセッサ13a又は13bは、キャッシュディレクタ20からホストディレクタ10に対して発行されたキャッシュページ230−Nの共有抑止通知(CashePage共有抑止通知)を受けると、図7に示すページ共有抑止処理を実行する。
Further, when the
このページ共有抑止処理において、ホストプロセッサ13a又は13bは、図7に示すように、ローカル共有テーブル131a−N又は131b−Nに登録されている有効フラグ値を“2”に設定してから(ステップS141)、ページ共有抑止処理を終了する。
In this page sharing suppression process, the
一方、キャッシュプロセッサ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
このページ獲得処理において、まず、キャッシュプロセッサ20は、図8に示すように、ディスクディレクタ10から受けた獲得指示が、図4及び図5に示すリード処理にて発行されたものか、図6に示すライト処理にて発行されたものかを判別する(ステップS201)。
In this page acquisition process, first, as shown in FIG. 8, the
ここで、獲得指示がリード処理にて発行されたものと判別した場合には(ステップ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
ここで、有効フラグ値が“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
これに対して、有効フラグ値が“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
ここで、キャッシュページ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
具体的にステップS204の処理では、獲得指示パラメータの論理ディスク番号に該当するキャッシュヒットページ検索リンク233が選択される。そして、このキャッシュヒットページ検索リンク233にリンクインしているキャッシュページ230−Nに登録されている論理ディスク番号、論理セクタ番号、及びデータ格納範囲と、獲得指示パラメータの論理ディスク番号、論理セクタ番号、及び転送セクタ長と、が比較されるなどして、リード命令により読出の命令がなされたデータを含むデータを格納するキャッシュページ230−Nがあるか否かが判別される。
Specifically, in the process of step S204, the cache hit
ここで、キャッシュヒットしているキャッシュページ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
その後、キャッシュプロセッサ23は、キャッシュページ230−Nのページ番号を含む獲得完了通知(CachePage獲得完了命令)をホストディレクタ10に対して返却してから(ステップS208)、ページ返却処理を終了する。
Thereafter, the
これに対して、キャッシュヒットしているキャッシュページ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
また、ステップ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
そして、ステップS211又はS212の処理を実行した後、キャッシュプロセッサ23は、グローバル共有テーブル234−Nに登録されているページ番号とデータ格納範囲とを含む獲得完了通知をホストディレクタ10に対して返却してから(ステップS213)、ページ返却処理を終了する。
After executing the processing of step S211 or S212, the
また、ステップ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
ここで、キャッシュページ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
ここで、キャッシュヒットしているキャッシュページ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
その後、キャッシュプロセッサ23は、排他中にしたキャッシュページ230−Nのページ番号を含む獲得完了通知をホストディレクタ10に対して返却してから(ステップS219)、ページ獲得処理を終了する。
Thereafter, the
これに対して、ステップ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
続いて、キャッシュプロセッサ23は、グローバル共有テーブル234−Nに登録されているMPU番号が、獲得指示を発行したホストプロセッサ13a又は13bとは別のホストプロセッサ13b又は13aを示すものを含んでいるか否かを判別する(ステップS221)。
Subsequently, the
ここで、グローバル共有テーブル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
そして、ステップ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
その後、キャッシュプロセッサ23は、キャッシュヒットしているキャッシュページ230−NがHDD一致データリンク232にリンクインするまで(ステップS223;No)、ループして待ち、HDD一致データリンク232にリンクインすると(ステップS223;Yes)、グローバル共有テーブル234−Nから論理ディスク番号と論理セクタ番号とデータ格納範囲とページ番号とMPU番号とを削除するとともに(ステップS224)、有効フラグ値を初期値である“0”に戻す(ステップS225)。
Thereafter, the
そして、キャッシュヒットしているキャッシュページ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
また、キャッシュプロセッサ23は、ディスクディレクタ10からキャッシュディレクタ20に対して発行されたキャッシュページ230−Nの返却指示を受けると、図10に示すページ返却処理を実行する。
When the
このページ返却処理において、まず、キャッシュプロセッサ20は、図10に示すように、グローバル共有テーブル234−Nに登録されている有効フラグ値が“0”であるか“1”であるかをチェックすることにより、論理ディスク番号と論理セクタ番号とデータ格納範囲とページ番号とMPU番号とが登録されているグローバル共有テーブル234−Nがあるか否かを判別する(ステップS231)。
In this page return process, first, the
ここで、有効フラグ値が“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
ここで、グローバル共有テーブル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
そして、ステップ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
その後、キャッシュプロセッサ23は、キャッシュページ230−Nの返却完了通知をホストディレクタ10に対して返却してから(ステップS238)、ページ返却処理を終了する。
Thereafter, the
他方、ディスクプロセッサ33は、ディスクディレクタ10からディスクディレクタ30に対して発行された読出指示を受けると、図11に示すディスク読出処理を実行する。
On the other hand, when the
このディスク読出処理において、まず、ディスクプロセッサ30は、読出指示に含まれるHDD読出パラメータの論理ディスク番号と論理セクタ番号と転送セクタ長とに対応するデータを、物理ディスクアレイ3のハードディスクドライブから、HDD読出パラメータのページ番号が示すキャッシュページ230−Nに対して転送する(ステップS301)。その後、ディスクプロセッサ33は、読出完了通知をホストディレクタ10に対して返却してから(ステップS302)、ディスク読出処理を終了する。
In this disk read process, first, the
また、ディスクプロセッサ33は、ディスクディレクタ10からディスクディレクタ30に対して発行された書込指示を受けると、図12に示すディスク書込処理を実行する。
When the
このディスク読出処理において、まず、ディスクプロセッサ30は、書込指示に含まれるHDD書込パラメータの論理ディスク番号と論理セクタ番号と転送セクタ長とに対応するデータを、HDD書込パラメータのページ番号が示すキャッシュページ230−Nから、物理ディスクアレイ3のハードディスクドライブに対して転送する(ステップS311)。その後、ディスクプロセッサ33は、書込完了通知をホストディレクタ10に対して返却してから(ステップS312)、ディスク書込処理を終了する。
In this disk reading process, first, the
続いて、上記動作の具体例について、図面を参照して説明する。 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
例えば、既にページ番号が“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
ここでは、リード命令#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
一方、ホストディレクタ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
このため、ステップ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
その後、ステップ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
そして、キャッシュディレクタ20から獲得完了通知を受けると、ホストディレクタ10では、ホストプロセッサ13aにより、図15(b)に示すように、図4に示すステップS106の処理にて獲得完了通知に含まれるキャッシュページ230−2のページ番号が内部テーブル130a−0に記憶された後、獲得完了通知にデータ格納範囲“0x00”〜“0x40”が含まれていることから、ステップS107の処理にてキャッシュページ230−2にデータが格納されていると判別される。
When receiving the acquisition completion notification from the
このため、ステップ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
その間に、ホスト装置2から論理ディスク番号“0x0020”、論理セクタ番号“0x0210”〜“0x0220”のデータの読出を指定するリード命令#2を受けると、ホストディレクタ10では、タスク“1”にてリード処理が実行され、このリード処理では、ステップS101の処理にて、リード命令#1が解析され、図16(a)に示すように、論理ディスク番号“0x0020”と論理セクタ番号“0x0200”と転送セクタ長“0x0010”とが内部テーブル130a−1に記憶される。
In the meantime, upon receiving a
ここでは、リード命令#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
また、ステップ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
これにより、内部テーブル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
このように、キャッシュページ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
一方、ホストディレクタ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
このため、ステップ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
その後、ステップ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
[2]次に、キャッシュページ230−N上に格納されたデータに関して、複数のリード命令がそれぞれ別のホストプロセッサ13a及び13bに対して発行された場合の動作例について説明する。
[2] Next, an operation example when a plurality of read instructions are issued to
例えば、既にページ番号が“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
ここでは、リード命令#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
その後、ホスト装置2から論理ディスク番号“0x0020”、論理セクタ番号“0x0230”〜“0x0240”のデータの読出を指定するリード命令#4を受けると、ホストディレクタ10では、タスク“0”にて、リード処理が実行され、このリード処理では、ステップS101の処理にて、リード命令#1が解析され、図20(c)に示すように、論理ディスク番号“0x0020”と論理セクタ番号“0x0230”と転送セクタ長“0x10”とが内部テーブル130b−0に記憶される。
Thereafter, when receiving a
ここでは、リード命令#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
一方、ホストディレクタ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
このため、ステップ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
その後、ステップ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
また、ホストディレクタ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
その後には、ステップ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
まず、キャッシュディレクタ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
そして、図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
このため、ステップ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
その後、ステップ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
次に、キャッシュディレクタ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
そして、図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
ホストディレクタ10から返却指示を受けると、キャッシュディレクタ20では、キャッシュプロセッサ23により、図10に示すページ返却処理が実行される。このページ返却処理では、ステップS231の処理にてグローバル共有テーブル234−0に登録されている有効フラグ値が“1”であると判別され、ステップS232の処理にて返却指示(HP2)を発行したホストプロセッサ13bを示すMPU番号“0x0002”がグローバル共有テーブル234−0に登録されていると判別される。
When a return instruction is received from the
このため、ステップ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
その後、ステップ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
[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
例えば、既にページ番号が“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
ここでは、リード命令#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
一方、ホストディレクタ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
このため、ステップ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
その後、ステップ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
そして、キャッシュディレクタ20から獲得完了通知を受けると、ホストディレクタ10では、ホストプロセッサ13aにより、図4に示すステップS106の処理にて獲得完了通知に含まれるキャッシュページ230−2のページ番号が内部テーブル130a−0に記憶された後、獲得完了通知にデータ格納範囲“0x00”〜“0x40”が含まれていることから、ステップS107の処理にてキャッシュページ230−2にデータが格納されていると判別される。
Upon receiving the acquisition completion notification from the
このため、ステップ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
その間に、ホスト装置2から論理ディスク番号“0x0020”、論理セクタ番号“0x0210”〜“0x0220”のデータの読出を指定するリード命令#2を受けると、ホストディレクタ10では、タスク“1”にてリード処理が実行され、このリード処理では、ステップS101の処理にて、リード命令#1が解析され、論理ディスク番号“0x0020”と論理セクタ番号“0x0200”と転送セクタ長“0x0010”とが内部テーブル130a−1に記憶される。
In the meantime, upon receiving a
ここでは、リード命令#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
また、ステップ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
ここでは、ライト命令#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
このため、ステップ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
そして、ステップ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
その後、ホスト装置2から論理ディスク番号“0x0020”、論理セクタ番号“0x0220”〜“0x0230”のデータの読出を指定するリード命令#3を受けると、ホストディレクタ10では、タスク“3”にてリード処理が実行され、このリード処理では、ステップS101の処理にて、リード命令#3が解析され、論理ディスク番号“0x0020”と論理セクタ番号“0x0220”と転送セクタ長“0x0010”とが内部テーブル130a−3に記憶される。
Thereafter, upon receiving
ここでは、リード命令#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
また、ステップ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
ところで、ホストディレクタ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
このため、ステップ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
そして、キャッシュディレクタ20から共有抑止通知を受けると、ホストディレクタ10では、ホストプロセッサ13bにより、図7に示すページ共有抑止処理が実行される。このページ共有抑制処理では、ステップS141の処理にて、ローカル共有テーブル131b−Nに登録されている有効フラグ値が“2”に設定されて、以後、キャッシュページ230−2を同一ホストプロセッサ13b内の他のタスクや別のホストプロセッサ13aと共有して使用することが抑制される。
Then, upon receiving a sharing suppression notification from the
一方、キャッシュディレクタ20では、他のタスク“0”及び“1”によりキャッシュページ230−2が共有して使用されて排他中である場合、即ちキャッシュページ230−2がキャッシュヒットしている場合、キャッシュプロセッサ23により、図9に示すステップS223の処理にて、キャッシュヒットしているキャッシュページ230−2がHDD一致データリンク232にリンクインされるまでループして待たれる。
On the other hand, in the
その後、HDD一致データリンク232にリンクインされて排他が解除されると、ステップS226の処理では、HDD一致データリンク232からキャッシュページ230−Nがリンクアウトされることにより、キャッシュページ230−2が獲得される。
Thereafter, when the exclusion is released by linking in to the HDD
これにより、ライト処理によりキャッシュページ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
そして、キャッシュページ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
また、ステップ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
このように、ホストディレクタ10からキャッシュディレクタ20に対する処理や、ホストディレクタ10からディスクディレクタ30に対する処理、さらにはこれに応答してキャッシュディレクタ20内で実行されるページ獲得処理及びページ返却処理や、キャッシュディレクタ20内で実行されるディスク読出処理などを省略することができるため、ディスクアレイ装置1内での処理を高速化してデータの読出性能を向上させることができる。
Thus, the processing from the
また、キャッシュプロセッサ23は、ステップS203の処理にて獲得指示パラメータの論理ディスク番号、論理セクタ番号、及び転送セクタ長と、グローバル共有テーブル234−Nに登録されている論理ディスク番号、論理セクタ番号、及びデータ格納範囲と、を比較するなどして、リード命令により読出の命令がなされたデータを含むデータを格納するキャッシュページ230−Nが別のホストプロセッサ13b又は13aにより共有して使用されているか否かを判別する。
In addition, the
そして、キャッシュページ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
このように、キャッシュディレクタ20内で実行されるキャッシュページ230−Nを排他中にする処理などをさらに省略することができるため、ディスクアレイ装置1内での処理をさらに高速化してデータの読出性能をより一層向上させることができる。
As described above, since the process of making the cache page 230-N executed in the
なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。以下、本発明に適用可能な上記実施形態の変形態様について、説明する。 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
上記実施形態において、ホストプロセッサ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
このようなプログラムの提供方法は任意であり、例えばコンピュータが読取可能な記録媒体(フレキシブルディスク、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 ディスクアレイ装置
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
13a, 13b Host processor
20 cash director
23 Cache processor
30 disk director
33
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読出命令とは異なる第2読出命令を受けたことに応答して、前記第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又は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、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キャッシュページに格納されているデータを特定可能なデータ識別情報を第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キャッシュページのデータ転送可能な状態が解除された後、前記第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設定指示により指定される第3データが、前記第2識別情報テーブルに登録されている前記データ識別情報から特定されるデータに含まれているか否かを判別する第1データ判別手段をさらに含み、
前記第1データ判別手段によって前記第3データが前記データ識別情報から特定されるデータに含まれていると判別された場合、前記第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.
前記キャッシュページ設定手段は、前記解除処理実行手段から前記解除指示を受けたことに応答して、前記解除指示により指定される前記第1データを含む前記第1キャッシュページのデータ転送可能な状態を解除する転送可能状態解除手段と、
前記転送可能状態解除手段によって前記第1キャッシュページのデータ転送可能な状態が解除された後、前記第2識別情報テーブルに登録されている前記データ識別情報を削除する第2識別情報削除手段と、
前記第1データ判別手段によって前記第3データが前記データ識別情報から特定されるデータに含まれていると判別された場合、前記第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.
前記第2データ判別手段によって、前記第4データが、前記第1識別情報テーブルに登録されている前記データ識別情報から特定されるデータに含まれていると判別された場合、前記キャッシュメモリ内の、前記第4データを含む第2キャッシュページから前記ホスト装置へのデータ転送が複数並行して行われることを抑制する転送抑制手段と、をさらに備え、
前記データ転送手段は、前記転送抑制手段によって、前記第2キャッシュページから前記ホスト装置に対するデータ転送が複数並行して行われることを抑制した後、前記データ識別情報から特定されるデータに含まれる第5データを指定する第3読出命令を受けた場合、前記データ転送判別手段による判別結果に関わらず、前記第2キャッシュページをデータ転送可能な状態に設定するための処理を実行した後、前記第2キャッシュページから前記第5データのみを前記ホスト装置に転送する、
ことを特徴とする請求項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.
前記データ転送手段は、前記ホスト装置から前記書込命令を受けたことに応答して、前記第2キャッシュページをデータ転送可能な状態に設定するための処理として、前記第4データを指定する第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.
前記第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
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)
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)
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 |
-
2008
- 2008-04-11 JP JP2008103652A patent/JP5176663B2/en not_active Expired - Fee Related
Cited By (1)
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 |