JP2020170458A - Information processor, control program, and control method - Google Patents

Information processor, control program, and control method Download PDF

Info

Publication number
JP2020170458A
JP2020170458A JP2019072926A JP2019072926A JP2020170458A JP 2020170458 A JP2020170458 A JP 2020170458A JP 2019072926 A JP2019072926 A JP 2019072926A JP 2019072926 A JP2019072926 A JP 2019072926A JP 2020170458 A JP2020170458 A JP 2020170458A
Authority
JP
Japan
Prior art keywords
processing unit
time
synchronous
processing
writing
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.)
Pending
Application number
JP2019072926A
Other languages
Japanese (ja)
Inventor
康文 野澤
Yasufumi Nozawa
康文 野澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019072926A priority Critical patent/JP2020170458A/en
Publication of JP2020170458A publication Critical patent/JP2020170458A/en
Pending legal-status Critical Current

Links

Images

Abstract

To optimize a series of export processing of data written in a first storage unit to a second storage unit in a storage system.SOLUTION: An information processor 10 performs a series of processing of access commands on a first storage unit 30 and a second storage unit 40. The information processor 10 includes: a calculation unit 17 that calculates a difference time between the end time of the previous access command processing and the current time as an intermittent time and calculates the average of multiple intermittent times within a specified period as the average intermittent time; and an asynchronous export processing unit 19 configured so as to, when the information processor 10 is not accessed for more than the average intermittent time after completing the access command processing, execute a series of export processing from the first storage unit 30 to the second storage unit 40.SELECTED DRAWING: Figure 7

Description

本発明は、情報処理装置、制御プログラム、及び制御方法に関する。 The present invention relates to an information processing device, a control program, and a control method.

高性能計算(HPC;high-performance computing)向けの分散並列ストレージシステムでは、クライアントコンピュータ(ノード)のデータを保存するためのストレージを階層化させることでデータへのアクセス性能を向上させる手法の開発が広く行なわれている。 In a distributed parallel storage system for high-performance computing (HPC), the development of a method to improve the access performance to data by layering the storage for storing the data of the client computer (node) has been developed. It is widely practiced.

この階層化の手法として、クライアントコンピュータと最終的なデータの保存先であるHDD(Hard Disk Drive)等の第2階層ストレージとの間に、SSD(Solid State Drive)等の高速な第1階層ストレージを備える場合がある。 As a method of this tiering, high-speed first tier storage such as SSD (Solid State Drive) is used between the client computer and the second tier storage such as HDD (Hard Disk Drive) which is the final storage destination of data. May be provided.

ジョブが階層化ストレージシステムに書き込みを行なうと、まず第1階層ストレージに書き込みを行なう。第1階層ストレージに書き込まれた情報はジョブの実行終了までに第2階層ストレージに反映される。 When a job writes to a tiered storage system, it first writes to the first tier storage. The information written in the first tier storage is reflected in the second tier storage by the end of job execution.

特開2015−95198号公報JP 2015-95198 国際公開第2008/149657号International Publication No. 2008/149657

しかしながら、ジョブから第1階層ストレージへのアクセス中に第1階層ストレージから第2階層ストレージへの書き出し(非同期書き出し)を行なうと、第1階層ストレージの書き込み速度が低下し、ジョブの処理速度が低下する。 However, if writing from the first tier storage to the second tier storage (asynchronous writing) is performed while the job is accessing the first tier storage, the writing speed of the first tier storage slows down and the job processing speed slows down. To do.

1つの側面では、第1の記憶装置に書き込んだデータの第2の記憶装置への書き出し処理を最適化することを目的とする。 One aspect is aimed at optimizing the writing process of the data written in the first storage device to the second storage device.

第1の記憶装置と第2の記憶装置とに対して、アクセスコマンドを処理する情報処理装置において、前回のアクセスコマンド処理の終了時刻と現在時刻との差分時間を間欠時間として算出し、所定時間以内の前記間欠時間の複数回分の平均を平均間欠時間として算出する算出部と、前記アクセスコマンド処理を完了した後、前記平均間欠時間を超えて前記情報処理装置へのアクセスが行なわれなかった場合、前記第1の記憶装置から前記第2の記憶装置に対する書き出し処理を実行する非同期書き出し処理部と、を備える。 In the information processing device that processes access commands to the first storage device and the second storage device, the difference time between the end time of the previous access command processing and the current time is calculated as an intermittent time, and a predetermined time is calculated. When the calculation unit that calculates the average of a plurality of times of the intermittent time within the range as the average intermittent time and the information processing device are not accessed beyond the average intermittent time after the access command processing is completed. , An asynchronous write-out processing unit that executes write-out processing from the first storage device to the second storage device.

一実施形態によれば、第1の記憶装置に書き込んだデータの第2の記憶装置への書き出し処理を最適化することができる。 According to one embodiment, it is possible to optimize the writing process of the data written in the first storage device to the second storage device.

実施形態の一例としてのストレージシステムを例示する図である。It is a figure which illustrates the storage system as an example of an embodiment. 実施形態の一例としてのストレージシステムにおける第1階層ストレージサーバのハードウェア構成を例示する図である。It is a figure which illustrates the hardware configuration of the 1st tier storage server in the storage system as an example of an embodiment. 実施形態の一例としてのストレージシステムにおける第2階層ストレージサーバのハードウェア構成を例示する図である。It is a figure which illustrates the hardware configuration of the 2nd tier storage server in the storage system as an example of an embodiment. 実施形態の一例としてのストレージシステムにおけるクライアントコンピュータのハードウェア構成を例示する図である。It is a figure which illustrates the hardware configuration of the client computer in the storage system as an example of an embodiment. 実施形態の一例としてのストレージシステムにおけるクライアントコンピュータの機能構成を例示する図である。It is a figure which illustrates the functional structure of the client computer in the storage system as an example of embodiment. 実施形態の一例としてのストレージシステムにおける第1階層ストレージサーバの機能構成を例示する図である。It is a figure which illustrates the functional structure of the 1st layer storage server in the storage system as an example of an embodiment. 実施形態の一例としてのストレージシステムにおける各装置間の通信の概要を説明するための図である。It is a figure for demonstrating the outline of communication between each apparatus in the storage system as an example of embodiment. 実施形態の一例としてのストレージシステムにおけるクライアントコンピュータからのデータアクセス要求と、同期I/O処理部における非同期書き出し処理の起動制御との関係を説明するための図である。It is a figure for demonstrating the relationship between the data access request from a client computer in the storage system as an example of an embodiment, and the activation control of the asynchronous writing process in a synchronous I / O processing section. 実施形態の一例としてのストレージシステムにおける第2階層ストレージサーバの機能構成を例示する図である。It is a figure which illustrates the functional structure of the 2nd tier storage server in the storage system as an example of an embodiment. 実施形態の一例としてのストレージシステムにおける同期I/O処理部における処理を説明するための図である。It is a figure for demonstrating the processing in the synchronous I / O processing part in the storage system as an example of embodiment. 実施形態の一例としてのストレージシステムにおける同期I/O処理部における処理を説明するための図である。It is a figure for demonstrating the processing in the synchronous I / O processing part in the storage system as an example of embodiment. 実施形態の一例としてのストレージシステムにおける間欠時間の算出を説明するための図である。It is a figure for demonstrating the calculation of the intermittent time in the storage system as an example of embodiment. 実施形態の一例としてのストレージシステムにおける非同期I/O処理を説明するための図である。It is a figure for demonstrating the asynchronous I / O processing in the storage system as an example of embodiment.

以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図等はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の実施形態で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the embodiments described below are merely examples, and there is no intention of excluding various modifications and applications of techniques not specified below. For example, the present embodiment can be variously modified and implemented without departing from the spirit of the present embodiment. In the drawings used in the following embodiments, the parts having the same reference numerals represent the same or similar parts unless otherwise specified.

〔1〕一実施形態
〔1−1〕一実施形態に係るストレージシステムのハードウェア構成例
図1は、実施形態の一例としてのストレージシステム1のハードウェア構成を例示する図である。
[1] Embodiment [1-1] Hardware configuration example of the storage system according to the embodiment FIG. 1 is a diagram illustrating a hardware configuration of the storage system 1 as an example of the embodiment.

この図1に例示するように、ストレージシステム1は、1つ以上の第1階層ストレージサーバ10(第1階層ストレージサーバ10−0,・・・,第1階層ストレージサーバ10−n;nは0以上の整数)を備える。 As illustrated in FIG. 1, the storage system 1 has one or more first-tier storage servers 10 (first-tier storage servers 10-0, ..., First-tier storage servers 10-n; n is 0). The above integers).

これらの第1階層ストレージサーバ10−0,・・・,第1階層ストレージサーバ10−nは、それぞれ、第1階層ストレージサーバ#0,・・・,第1階層ストレージサーバ#nとも表される。以下、1つ以上の第1階層ストレージサーバ10−0〜10−nを特に区別しない場合には、第1階層ストレージサーバ10と表記する。なお、“#”に続く数字(0,・・・,n)は、識別子(ID)ともいい、第1階層ストレージサーバ10の特定に用いる。 These first-tier storage servers 10-0, ..., And first-tier storage servers 10-n are also represented as first-tier storage servers # 0, ..., First-tier storage servers # n, respectively. .. Hereinafter, when one or more first-tier storage servers 10 to 10-n are not particularly distinguished, they are referred to as first-tier storage servers 10. The numbers (0, ..., N) following the "#" are also referred to as identifiers (IDs) and are used to identify the first-tier storage server 10.

この第1階層ストレージサーバ10はストレージ制御装置であり、後述する各SSD30に対するデータの入出力(読み出しや書き込み)を制御する。また、第1階層ストレージサーバ10は後述するクライアントコンピュータ50に対して後述するSSD30の記憶領域を提供する。 The first-tier storage server 10 is a storage control device, and controls data input / output (reading and writing) to each SSD 30 described later. Further, the first-tier storage server 10 provides the storage area of the SSD 30 described later to the client computer 50 described later.

また、各第1階層ストレージサーバ10は、高速記憶装置として、1つ以上のSSD30(SSD30−0,・・・,SSD30−n;nは0以上の整数)を備える。これらのSSD30−0,・・・,SSD30−nは、それぞれ、SSD#0,・・・,SSD#nとも表される。以下、1つ以上のSSD30−0〜30−nを特に区別しない場合には、SSD30と表記する。なお、“#”に続く数字(0,・・・,n)は、識別子ともいい、SSD30の特定に用いる。 Further, each first-tier storage server 10 includes one or more SSDs 30 (SSD30-0, ..., SSD30-n; n is an integer of 0 or more) as a high-speed storage device. These SSD30-0, ..., SSD30-n are also represented as SSD # 0, ..., SSD # n, respectively. Hereinafter, when one or more SSDs 30 to 30-n are not particularly distinguished, they are referred to as SSD30. The numbers (0, ..., N) following the "#" are also called identifiers and are used to identify the SSD 30.

このSSD30は、不揮発性の半導体メモリを記憶素子として備える記憶装置である。なお、図1では、第1階層ストレージサーバ10にはSSD30が備えられる例を示したが、第1階層ストレージサーバ10に備えられる記憶装置はSSD30に限定されない。また、第1階層ストレージサーバ10に備えられる記憶装置は、後述するHDD40に比べて、読み書き速度が速いが書き込み容量が小さい特性を備える他の記憶装置であってもよい。 The SSD 30 is a storage device including a non-volatile semiconductor memory as a storage element. Although FIG. 1 shows an example in which the first-tier storage server 10 is provided with the SSD 30, the storage device provided in the first-tier storage server 10 is not limited to the SSD 30. Further, the storage device provided in the first layer storage server 10 may be another storage device having a characteristic that the read / write speed is faster but the write capacity is smaller than that of the HDD 40 described later.

また、この図1に示すように、ストレージシステム1は、1つ以上の第2階層ストレージサーバ20(第2階層ストレージサーバ20−0,・・・,第2階層ストレージサーバ20−n;nは0以上の整数)を備える。 Further, as shown in FIG. 1, the storage system 1 has one or more second-tier storage servers 20 (second-tier storage servers 20-0, ..., Second-tier storage servers 20-n; n). An integer greater than or equal to 0).

これらの第2階層ストレージサーバ20−0,・・・,第2階層ストレージサーバ20−nは、それぞれ、第2階層ストレージサーバ#0,・・・,第2階層ストレージサーバ#nとも表される。以下、1つ以上の第2階層ストレージサーバ20−0〜20−nを特に区別しない場合には、第2階層ストレージサーバ20と表記する。なお、“#”に続く数字(0,・・・,n)は、識別子ともいい、第2階層ストレージサーバ20の特定に用いる。 These second-tier storage servers 20-0, ..., And second-tier storage servers 20-n are also represented as second-tier storage servers # 0, ..., Second-tier storage servers # n, respectively. .. Hereinafter, when one or more second-tier storage servers 20 to 20-n are not particularly distinguished, they are referred to as second-tier storage servers 20. The numbers (0, ..., N) following "#" are also called identifiers and are used to identify the second-tier storage server 20.

この第2階層ストレージサーバ20はストレージ制御装置であり、後述する各HDD40に対するデータの入出力を制御する。また、第2階層ストレージサーバ20は、後述するクライアントコンピュータ50の最終的なデータの保存先として、後述するHDD40の記憶領域を提供する。 The second-tier storage server 20 is a storage control device, and controls data input / output to each HDD 40 described later. Further, the second-tier storage server 20 provides a storage area of the HDD 40 described later as a final data storage destination of the client computer 50 described later.

また、各第2階層ストレージサーバ20は、低速記憶装置として、1つ以上のHDD40(HDD40−0,・・・,HDD40−n;nは0以上の整数)を備える。これらのHDD40−0,・・・,HDD40−nは、それぞれ、HDD#0,・・・,HDD#nとも表される。以下、1つ以上のHDD40−0〜40−nを特に区別しない場合には、HDD40と表記する。なお、“#”に続く数字(0,・・・,n)は、識別子ともいい、HDD40の特定に用いる。 Further, each second-tier storage server 20 includes one or more HDDs 40 (HDD40-0, ..., HDD40-n; n is an integer of 0 or more) as a low-speed storage device. These HDD 40-0, ..., HDD 40-n are also represented as HDD # 0, ..., HDD # n, respectively. Hereinafter, when one or more HDDs 40-0 to 40-n are not particularly distinguished, they are referred to as HDD40. The numbers (0, ..., N) following "#" are also called identifiers and are used to identify the HDD 40.

このHDD40は、磁気ディスク装置である。なお、図1では、第2階層ストレージサーバ20にはHDD40が備えられる例を示したが、第2階層ストレージサーバ20に備えられる記憶装置はHDD40に限定されない。また、第2階層ストレージサーバ20に備えられる記憶装置は、SSD30に比べて、読み書き速度が遅いが書き込み容量が大きい特性を備える他の記憶装置であってもよい。 The HDD 40 is a magnetic disk device. Although FIG. 1 shows an example in which the second-tier storage server 20 is provided with the HDD 40, the storage device provided in the second-tier storage server 20 is not limited to the HDD 40. Further, the storage device provided in the second-tier storage server 20 may be another storage device having a characteristic that the read / write speed is slower but the write capacity is larger than that of the SSD 30.

また、この図1に示すように、ストレージシステム1は、1つ以上のクライアントコンピュータ50(クライアントコンピュータ50−0,・・・,クライアントコンピュータ50−m;mは0以上の整数)を備える。 Further, as shown in FIG. 1, the storage system 1 includes one or more client computers 50 (client computers 50-0, ..., Client computers 50-m; m is an integer of 0 or more).

これらのクライアントコンピュータ50−0,・・・,クライアントコンピュータ50−mは、それぞれ、クライアントコンピュータ#0,・・・,クライアントコンピュータ#mとも表される。以下、1つ以上のクライアントコンピュータ50−0〜50−mを特に区別しない場合には、クライアントコンピュータ50と表記する。なお、“#”に続く数字(0,・・・,m)は、識別子ともいい、クライアントコンピュータ50の特定に用いる。 These client computers 50-0, ..., And client computer 50-m are also represented as client computer # 0, ..., Client computer # m, respectively. Hereinafter, when one or more client computers 50 to 50-m are not particularly distinguished, they are referred to as client computers 50. The numbers (0, ..., M) following "#" are also called identifiers and are used to identify the client computer 50.

クライアントコンピュータ50は、サーバ機能を有するコンピュータであってもよく、第1階層ストレージサーバ10に対してデータアクセスを要求する。このデータアクセス要求(アクセスコマンド)は、I/O要求やファイルアクセス要求ともいい、書き込み(ライト;write)要求や読み出し(リード,読み込み;read)要求を含んでもよい。なお、本システムでは、クライアントコンピュータ50は、複数の第1階層ストレージサーバ#0〜#nのうちいずれの第1階層ストレージサーバ10にアクセスしてもよいものとするが、これに限られない。 The client computer 50 may be a computer having a server function, and requests data access to the first-tier storage server 10. This data access request (access command) is also referred to as an I / O request or a file access request, and may include a write (write) request and a read (read, read) request. In this system, the client computer 50 may access any of the first-tier storage servers 10 among the plurality of first-tier storage servers # 0 to # n, but the present invention is not limited to this.

なお、本システムにおいて、第1階層ストレージサーバ10が備えるSSD30へのライトを書き込みという。また、第1階層ストレージサーバ10のSSD30へライトしたデータを、第2階層ストレージサーバ20が備えるHDD40にライトすることを書き出し、または、ライトバックといってもよい。 In this system, writing to the SSD 30 included in the first-tier storage server 10 is called writing. Further, writing the data written to the SSD 30 of the first-tier storage server 10 to the HDD 40 included in the second-tier storage server 20 may be written or referred to as write-back.

なお、この図1では、各第1階層ストレージサーバ10が、高速記憶装置として1つのSSD30を備える例を示したが、これに限定されない。各第1階層ストレージサーバ10は2つ以上のSSD30を備えてもよく、第1階層ストレージサーバ10毎に備えられるSSD30の数が異なってもよい。 Note that FIG. 1 shows an example in which each first-tier storage server 10 includes one SSD 30 as a high-speed storage device, but the present invention is not limited to this. Each first-tier storage server 10 may include two or more SSDs 30, and the number of SSDs 30 provided for each first-tier storage server 10 may differ.

なお、図1では、各第2階層ストレージサーバ20が、低速記憶装置として、1つのHDD40を備える例を示したが、これに限定されない。各第2階層ストレージサーバ20は2つ以上のHDD40を備えてもよく、第2階層ストレージサーバ20毎に備えられるHDD40の数が異なってもよい。また、本ストレージシステム1に備えられる第1階層ストレージサーバ10と第2階層ストレージサーバ20との数は同一でなくてもよい。 Note that FIG. 1 shows an example in which each second-tier storage server 20 includes one HDD 40 as a low-speed storage device, but the present invention is not limited to this. Each second-tier storage server 20 may include two or more HDDs 40, and the number of HDDs 40 provided for each second-tier storage server 20 may be different. Further, the numbers of the first-tier storage server 10 and the second-tier storage server 20 provided in the storage system 1 do not have to be the same.

また、第1階層ストレージサーバ10、第2階層ストレージサーバ20、及び、クライアントコンピュータ50は図示しないネットワークを介して、例えば、システム管理者が用いる図示しない管理端末と接続されてもよい。 Further, the first-tier storage server 10, the second-tier storage server 20, and the client computer 50 may be connected to, for example, a management terminal (not shown) used by the system administrator via a network (not shown).

〔1−2〕一実施形態に係るストレージシステムにおける各装置のハードウェア構成例
上述したストレージシステム1における各装置(第1階層ストレージサーバ10,第2階層ストレージサーバ20,クライアントコンピュータ50)のハードウェア構成について説明する。
[1-2] Hardware configuration example of each device in the storage system according to one embodiment Hardware of each device (first tier storage server 10, second tier storage server 20, client computer 50) in the storage system 1 described above. The configuration will be described.

図2は、実施形態の一例としてのストレージシステム1における第1階層ストレージサーバ10のハードウェア構成を例示する図である。 FIG. 2 is a diagram illustrating a hardware configuration of the first-tier storage server 10 in the storage system 1 as an example of the embodiment.

この図2を用いて、図1に示す第1階層ストレージサーバ10のハードウェア構成について説明する。本システムでは、図1に例示する複数の第1階層ストレージサーバ10のそれぞれが、図2に例示するハードウェア構成を備えるものとする。 The hardware configuration of the first-tier storage server 10 shown in FIG. 1 will be described with reference to FIG. In this system, it is assumed that each of the plurality of first-tier storage servers 10 illustrated in FIG. 1 has the hardware configuration illustrated in FIG.

第1階層ストレージサーバ10は、例示的に、CPU(Central Processing Unit)11、記憶部12、メモリ13、IF(Interface)部14、及び、入力部15を備えてよい。 The first-tier storage server 10 may optionally include a CPU (Central Processing Unit) 11, a storage unit 12, a memory 13, an IF (Interface) unit 14, and an input unit 15.

CPU11は、後述する記憶部12に格納されるOS(Operating System)や第1制御プログラム90(後述)を実行し、例えば、クライアントコンピュータ50からの指示に応じ、例えば、SSD30を制御する演算処理装置(プロセッサ)である。 The CPU 11 is an arithmetic processor that executes an OS (Operating System) and a first control program 90 (described later) stored in a storage unit 12 described later, and controls, for example, the SSD 30 in response to an instruction from the client computer 50, for example. (Processor).

記憶部12は、種々のデータやプログラム等を格納するハードウェアの一例である。例えば、記憶部12は、第1階層ストレージサーバ10の二次記憶装置として使用されてよい。また、この記憶部12は、OSやファームウェア、アプリケーション等のプログラム、及び、各種データが格納されてよい。記憶部12としては、例えば、HDDの他、SSDやSCM(Storage Class Memory)等の他の記憶装置であってもよい。記憶部12は、第1階層ストレージサーバ10の各種機能の全部若しくは一部を実現するプログラム(第1制御プログラム90)を格納してもよい。 The storage unit 12 is an example of hardware that stores various data, programs, and the like. For example, the storage unit 12 may be used as a secondary storage device of the first-tier storage server 10. Further, the storage unit 12 may store programs such as an OS, firmware, and applications, and various data. The storage unit 12 may be, for example, an HDD or another storage device such as an SSD or SCM (Storage Class Memory). The storage unit 12 may store a program (first control program 90) that realizes all or a part of various functions of the first-tier storage server 10.

メモリ13は、種々のデータやプログラム等を格納するハードウェアの一例である。メモリ13としては、RAM(Random Access Memory)等の揮発性メモリや、フラッシュメモリ、SCM、及び、ROM(Read Only Memory)等の不揮発性メモリが挙げられる。また、メモリ13は、第1制御プログラム90を格納してもよく、メモリ13のRAMは一次記憶メモリあるいはワーキングメモリとして利用してもよい。 The memory 13 is an example of hardware for storing various data, programs, and the like. Examples of the memory 13 include volatile memories such as RAM (Random Access Memory) and non-volatile memories such as flash memory, SCM, and ROM (Read Only Memory). Further, the memory 13 may store the first control program 90, and the RAM of the memory 13 may be used as a primary storage memory or a working memory.

IF部14は、第2階層ストレージサーバ20、クライアントコンピュータ50、及び、図示しない管理装置との間の接続及び通信の制御等を行なう通信インタフェースの一例である。また、IF部14は、他の第1階層ストレージサーバ10との間の接続及び通信の制御等を行なう通信インタフェースとして機能してもよい。 The IF unit 14 is an example of a communication interface that controls connection and communication between the second-tier storage server 20, the client computer 50, and a management device (not shown). Further, the IF unit 14 may function as a communication interface for controlling connection and communication with another first-tier storage server 10.

このIF部14は、例えば、図示しない管理装置を接続するためのアダプタ(ポート)を備えてもよい。IF部14は、例えば、PCIe(Peripheral Component Interconnect Express)インタフェースや光通信インタフェースを備えてもよい。なお、第1制御プログラム90は、図示しないネットワークから当該IF部14を介してダウンロードされてもよい。 The IF unit 14 may include, for example, an adapter (port) for connecting a management device (not shown). The IF unit 14 may include, for example, a PCIe (Peripheral Component Interconnect Express) interface or an optical communication interface. The first control program 90 may be downloaded from a network (not shown) via the IF unit 14.

入力部15は、例えば、マウス、キーボード、タッチパネル、及び、操作ボタン等の入力装置のうちの少なくともいずれか一つを含んでよい。 The input unit 15 may include at least one of an input device such as a mouse, a keyboard, a touch panel, and operation buttons.

上述した第1階層ストレージサーバ10のハードウェア構成は例示である。したがって、第1階層ストレージサーバ10内でのハードウェアの増減(例えば、任意のブロックの追加や省略)、分割、及び、任意の組み合わせでの統合等は適宜行なわれてもよい。また、第1階層ストレージサーバ10は、ディスプレイや、プロジェクタ、スピーカ、及び、プリンタ等の出力装置を備える表示部を備えてもよい。 The hardware configuration of the first-tier storage server 10 described above is an example. Therefore, the increase / decrease of hardware (for example, addition or omission of arbitrary blocks), division, integration in any combination, etc. in the first-tier storage server 10 may be performed as appropriate. Further, the first-tier storage server 10 may include a display unit including a display, a projector, a speaker, and an output device such as a printer.

次に、図3を用いて、図1に示す第2階層ストレージサーバ20のハードウェア構成を説明する。 Next, the hardware configuration of the second-tier storage server 20 shown in FIG. 1 will be described with reference to FIG.

図3は、実施形態の一例としてのストレージシステム1における第2階層ストレージサーバ20のハードウェア構成を例示する図である。 FIG. 3 is a diagram illustrating a hardware configuration of the second-tier storage server 20 in the storage system 1 as an example of the embodiment.

第2階層ストレージサーバ20は、例えば、サーバ機能を備えるコンピュータ(情報処理装置)であり、例示的に、CPU21、記憶部22、メモリ23、IF部24、及び、入力部25を備えてよい。なお、記憶部22、メモリ23、及び、入力部25は、それぞれ、図2を用いて説明した第1階層ストレージサーバ10の記憶部12、メモリ13、及び、入力部15と概ね同様であるので説明を省略する。 The second-tier storage server 20 is, for example, a computer (information processing device) having a server function, and may optionally include a CPU 21, a storage unit 22, a memory 23, an IF unit 24, and an input unit 25. The storage unit 22, the memory 23, and the input unit 25 are substantially the same as the storage unit 12, the memory 13, and the input unit 15 of the first-tier storage server 10 described with reference to FIG. 2, respectively. The explanation is omitted.

CPU21は、記憶部22に格納されるOSや第2制御プログラム91を実行し、例えば、第1階層ストレージサーバ10からの要求に応じ、HDD40へのアクセスを実行すべくHDD40を制御する。本システムでは、CPU21は、記憶部22に格納される第2制御プログラム91を実行する。 The CPU 21 executes the OS stored in the storage unit 22 and the second control program 91, and controls the HDD 40 to execute access to the HDD 40 in response to a request from the first-tier storage server 10, for example. In this system, the CPU 21 executes the second control program 91 stored in the storage unit 22.

IF部24は、第1階層ストレージサーバ10、及び、図示しない管理装置との間の接続及び通信の制御等を行なう通信インタフェースの一例である。また、IF部24は、他の第2階層ストレージサーバ20との間の接続及び通信の制御等を行なう通信インタフェースとして機能してもよい。 The IF unit 24 is an example of a communication interface that controls connection and communication between the first-tier storage server 10 and a management device (not shown). Further, the IF unit 24 may function as a communication interface for controlling connection and communication with another second-tier storage server 20.

このIF部24は、例えば、図示しない管理装置を接続するためのアダプタ(ポート)を備えてもよい。IF部24は、例えば、PCIeインタフェースや光通信インタフェースを備えてもよい。なお、記憶部22に格納される第2制御プログラム91は、図示しないネットワークから当該IF部24を介してダウンロードされてもよい。 The IF unit 24 may include, for example, an adapter (port) for connecting a management device (not shown). The IF unit 24 may include, for example, a PCIe interface or an optical communication interface. The second control program 91 stored in the storage unit 22 may be downloaded from a network (not shown) via the IF unit 24.

次に、図4を用いて、図1に示すクライアントコンピュータ50のハードウェア構成を説明する。 Next, the hardware configuration of the client computer 50 shown in FIG. 1 will be described with reference to FIG.

図4は、実施形態の一例としてのストレージシステム1におけるクライアントコンピュータ50のハードウェア構成を例示する図である。 FIG. 4 is a diagram illustrating a hardware configuration of the client computer 50 in the storage system 1 as an example of the embodiment.

クライアントコンピュータ50は、例えば、サーバ機能を備えるコンピュータ(情報処理装置)であり、例示的に、CPU51、記憶部52、メモリ53、IF部54、及び、入力部55を備えてよい。なお、記憶部52、メモリ53、及び、入力部55は、それぞれ、図2を用いて説明した第1階層ストレージサーバ10の記憶部12、メモリ13、及び、入力部15と概ね同様であるので説明を省略する。 The client computer 50 is, for example, a computer (information processing device) having a server function, and may optionally include a CPU 51, a storage unit 52, a memory 53, an IF unit 54, and an input unit 55. The storage unit 52, the memory 53, and the input unit 55 are substantially the same as the storage unit 12, the memory 13, and the input unit 15 of the first-tier storage server 10 described with reference to FIG. 2, respectively. The explanation is omitted.

CPU51は、記憶部52に格納されるOSやクライアントプログラム92を実行し、第1階層ストレージサーバ10に対する要求の送信や、データの授受を行なう。本システムでは、CPU51は、記憶部52に格納されるクライアントプログラム92を実行する。 The CPU 51 executes the OS and the client program 92 stored in the storage unit 52, transmits a request to the first-tier storage server 10, and exchanges data. In this system, the CPU 51 executes the client program 92 stored in the storage unit 52.

IF部54は、第1階層ストレージサーバ10との間の接続及び通信の制御等を行なう通信インタフェースの一例である。また、IF部54は、他のクライアントコンピュータ50との間の接続及び通信の制御等を行なう通信インタフェースとして機能してもよい。 The IF unit 54 is an example of a communication interface that controls connection and communication with the first-tier storage server 10. Further, the IF unit 54 may function as a communication interface for controlling connection and communication with another client computer 50.

このIF部54は、例えば、図示しない管理装置を接続するためのアダプタ(ポート)を備えてもよい。IF部54は、例えば、PCIeインタフェースや光通信インタフェースを備えてもよい。なお、記憶部52に格納されるクライアントプログラム92は、図示しないネットワークから当該IF部54を介してダウンロードされてもよい。 The IF unit 54 may include, for example, an adapter (port) for connecting a management device (not shown). The IF unit 54 may include, for example, a PCIe interface or an optical communication interface. The client program 92 stored in the storage unit 52 may be downloaded from a network (not shown) via the IF unit 54.

〔1−3〕一実施形態に係るストレージシステムにおける各装置の機能構成例
上述したストレージシステム1における各装置(クライアントコンピュータ50,第1階層ストレージサーバ10,第2階層ストレージサーバ20)の機能構成について説明する。
[1-3] Functional configuration example of each device in the storage system according to the first embodiment Functional configuration of each device (client computer 50, first tier storage server 10, second tier storage server 20) in the storage system 1 described above. explain.

図5は、実施形態の一例としてのストレージシステム1におけるクライアントコンピュータ50の機能構成を例示する図である。 FIG. 5 is a diagram illustrating a functional configuration of the client computer 50 in the storage system 1 as an example of the embodiment.

この図5を用いて、図1に示すクライアントコンピュータ50の機能構成を説明する。本システムでは、図1に例示する複数のクライアントコンピュータ50のそれぞれが、図5に示す機能構成を備えるものとする。 The functional configuration of the client computer 50 shown in FIG. 1 will be described with reference to FIG. In this system, it is assumed that each of the plurality of client computers 50 illustrated in FIG. 1 has the functional configuration shown in FIG.

図5に例示するように、クライアントコンピュータ50は、例示的に、要求発行部56、及び、通信制御部57を備えてもよい。 As illustrated in FIG. 5, the client computer 50 may optionally include a request issuing unit 56 and a communication control unit 57.

要求発行部56は、第1階層ストレージサーバ10が備えるSSD30に格納されるデータにアクセスするために、当該第1階層ストレージサーバ10に対して、データアクセスの要求を発行する。本システムにおいて、このデータアクセス要求は、公知の書き込み(write)のシステムコールや、公知の読み出し(read)のシステムコールを用いて実行される。なお、この要求発行部56は、OS空間で実行されるクライアントプログラム92として実現されてよい。 The request issuing unit 56 issues a data access request to the first-tier storage server 10 in order to access the data stored in the SSD 30 included in the first-tier storage server 10. In this system, this data access request is executed by using a known write system call or a known read system call. The request issuing unit 56 may be realized as a client program 92 executed in the OS space.

通信制御部57は、第1階層ストレージサーバ10と通信を行ない、上述の要求発行部56によって要求されたデータアクセス要求を第1階層ストレージサーバ10に対して送信する。この通信制御部57は、例えば、ネットワークアダプタ等のドライバとして実現されてよい。 The communication control unit 57 communicates with the first-tier storage server 10 and transmits the data access request requested by the above-mentioned request issuing unit 56 to the first-tier storage server 10. The communication control unit 57 may be realized as a driver for, for example, a network adapter or the like.

この通信制御部57は、要求発行部56による複数のシステムコールを、書き込みと読み出しとでそれぞれ1つに纏めてもよい。また、通信制御部57は、システムコールによって指定されたデータの長さが所定のパケット長を超える場合には、データアクセス要求を所定のパケット長に分割してから、第1階層ストレージサーバ10に送信してもよい。 The communication control unit 57 may combine a plurality of system calls by the request issuing unit 56 into one for writing and one for reading. Further, when the length of the data specified by the system call exceeds the predetermined packet length, the communication control unit 57 divides the data access request into the predetermined packet length and then sends the first layer storage server 10 to the first layer storage server 10. You may send it.

次に、図7を参照しながら、図6を用いて、図1に示す第1階層ストレージサーバ10の機能構成を説明する。 Next, with reference to FIG. 7, the functional configuration of the first-tier storage server 10 shown in FIG. 1 will be described with reference to FIG.

図6は、実施形態の一例としてのストレージシステム1における第1階層ストレージサーバ10の機能構成を例示する図である。本システムでは、図1に例示する複数の第1階層ストレージサーバ10のそれぞれが、図6に示す機能構成を備えるものとする。 FIG. 6 is a diagram illustrating a functional configuration of the first-tier storage server 10 in the storage system 1 as an example of the embodiment. In this system, each of the plurality of first-tier storage servers 10 illustrated in FIG. 1 has the functional configuration shown in FIG.

図7は、本ストレージシステム1における各装置間の通信の概要を例示する図である。 FIG. 7 is a diagram illustrating an outline of communication between each device in the storage system 1.

図6に例示するように、第1階層ストレージサーバ10は、例示的に、通信制御部16、同期I/O処理部17、デバイス制御部18、及び、非同期書き出し処理部19を備えてもよい。 As illustrated in FIG. 6, the first-tier storage server 10 may optionally include a communication control unit 16, a synchronous I / O processing unit 17, a device control unit 18, and an asynchronous writing processing unit 19. ..

通信制御部16は、クライアントコンピュータ50との通信を行ない、クライアントコンピュータ50からのデータアクセス要求を受信する(図7の矢印P1参照)。 The communication control unit 16 communicates with the client computer 50 and receives a data access request from the client computer 50 (see arrow P1 in FIG. 7).

通信制御部16は、クライアントコンピュータ50から受信したデータアクセス要求を後述の同期I/O処理部17に対して送信する(図7の矢印P1参照)。そして、通信制御部16は、後述の同期I/O処理部17から読み出し要求を受信すると、当該読み出し要求を第2階層ストレージサーバ20に送信する(図7の矢印P2参照)。さらに、通信制御部16は、アクセス対象(読み出し対象)のデータを第2階層ストレージサーバ20から受信し(図7の矢印P2参照)、クライアントコンピュータ50に送信する(図7の矢印P1参照)。 The communication control unit 16 transmits the data access request received from the client computer 50 to the synchronous I / O processing unit 17 described later (see arrow P1 in FIG. 7). Then, when the communication control unit 16 receives a read request from the synchronous I / O processing unit 17 described later, the communication control unit 16 transmits the read request to the second layer storage server 20 (see arrow P2 in FIG. 7). Further, the communication control unit 16 receives the data to be accessed (reading target) from the second-tier storage server 20 (see arrow P2 in FIG. 7) and transmits it to the client computer 50 (see arrow P1 in FIG. 7).

また、通信制御部16は後述の非同期書き出し処理部19から非同期書き出し指示を受信すると、第2階層ストレージサーバ20と通信し、書き出し対象データを第2階層ストレージサーバ20に送信する(図7の矢印P3参照)。 When the communication control unit 16 receives an asynchronous write instruction from the asynchronous write processing unit 19 described later, it communicates with the second tier storage server 20 and transmits the write target data to the second tier storage server 20 (arrow in FIG. 7). See page 3).

また、通信制御部16は、読み出しや書き込み等のI/O要求に対する処理を完了した通知(I/O要求完了通知)をクライアントコンピュータ50に対して送信してもよい。 Further, the communication control unit 16 may send a notification (I / O request completion notification) to the client computer 50 that the processing for the I / O request such as reading or writing is completed.

同期I/O処理部17は、クライアントコンピュータ50からのデータアクセス要求を受信した後、遅滞することなく当該要求の処理を実行する。 After receiving the data access request from the client computer 50, the synchronous I / O processing unit 17 executes the processing of the request without delay.

本システムにおいて、このように、クライアントコンピュータ50からのデータアクセス要求を受信した後、遅滞することなく当該要求を処理すること、すなわち、データアクセス要求に同期して当該要求を処理することを同期I/O処理という。この同期I/O処理は、同期I/O処理部17によって実行される。 In this system, after receiving the data access request from the client computer 50, processing the request without delay, that is, processing the request in synchronization with the data access request is synchronized. It is called / O processing. This synchronous I / O processing is executed by the synchronous I / O processing unit 17.

例えば、第1階層ストレージサーバ10において、同期I/O処理部17がクライアントコンピュータ50からのデータ書き込み要求を受信すると、遅滞することなくSSD30に対してデータを書き込む(図7の矢印P1参照)。 For example, in the first-tier storage server 10, when the synchronous I / O processing unit 17 receives the data write request from the client computer 50, the data is written to the SSD 30 without delay (see arrow P1 in FIG. 7).

一方、第1階層ストレージサーバ10のSSD30から、第2階層ストレージサーバ20のHDD40へのデータの書き出しは、クライアントコンピュータ50からの要求とは非同期に行なわれる。したがって、本システムにおいて、このHDD40へのデータの書き出しを非同期書き出し処理、または、非同期I/O処理という。この非同期書き出し処理は、同期I/O処理部17が後述する非同期書き出し処理部19を起動することを契機として開始され、非同期書き出し処理部19によって実行される。 On the other hand, the writing of data from the SSD 30 of the first-tier storage server 10 to the HDD 40 of the second-tier storage server 20 is performed asynchronously with the request from the client computer 50. Therefore, in this system, the writing of data to the HDD 40 is called an asynchronous writing process or an asynchronous I / O process. This asynchronous writing process is started when the synchronous I / O processing unit 17 activates the asynchronous writing processing unit 19 described later, and is executed by the asynchronous writing processing unit 19.

同期I/O処理部17は、クライアントコンピュータ50からのデータアクセス要求が読み出し要求である場合、読み出し対象データが第1階層ストレージサーバ10のSSD30に格納されているか否かを判断する。なお、読み出し対象データが第1階層ストレージサーバ10のSSD30に格納されているか否かの判断は公知の手法を用いて実現できるので、ここではその具体的な説明を省略する。 When the data access request from the client computer 50 is a read request, the synchronous I / O processing unit 17 determines whether or not the read target data is stored in the SSD 30 of the first layer storage server 10. Since it is possible to determine whether or not the data to be read is stored in the SSD 30 of the first layer storage server 10 by using a known method, the specific description thereof will be omitted here.

読み出し対象データが第1階層ストレージサーバ10のSSD30に格納されている場合、同期I/O処理部17はクライアントコンピュータ50からの読み出し要求を処理すべく、後述するデバイス制御部18を介しSSD30から読み出し対象データを取得する。そして、同期I/O処理部17は、取得した読み出し対象データを、通信制御部16を介してクライアントコンピュータ50に送信する(図7の矢印P1参照)。 When the data to be read is stored in the SSD 30 of the first-tier storage server 10, the synchronous I / O processing unit 17 reads from the SSD 30 via the device control unit 18 described later in order to process the read request from the client computer 50. Get the target data. Then, the synchronous I / O processing unit 17 transmits the acquired read target data to the client computer 50 via the communication control unit 16 (see arrow P1 in FIG. 7).

一方、読み出し対象データが第1階層ストレージサーバ10のSSD30に格納されていない場合、同期I/O処理部17は、通信制御部16を介して、当該読み出し要求を第2階層ストレージサーバ20に送信する(図7の矢印P2参照)。 On the other hand, when the read target data is not stored in the SSD 30 of the first tier storage server 10, the synchronous I / O processing unit 17 transmits the read request to the second tier storage server 20 via the communication control unit 16. (See arrow P2 in FIG. 7).

なお、同期I/O処理部17は、SSD30や第2階層ストレージサーバ20からの対象データの読み出しが完了すると、通信制御部16を介して、読み出し完了通知(I/O要求完了通知)をクライアントコンピュータ50に対して送信してもよい。 When the synchronous I / O processing unit 17 completes reading the target data from the SSD 30 or the second layer storage server 20, the synchronous I / O processing unit 17 sends a read completion notification (I / O request completion notification) to the client via the communication control unit 16. It may be transmitted to the computer 50.

クライアントコンピュータ50からのデータアクセス要求が書き込み要求である場合、同期I/O処理部17は、書き込み対象データを第1階層ストレージサーバ10のSSD30へ格納する指示と共に、書き込み対象データをデバイス制御部18に対して送信する。そして、同期I/O処理部17は、SSD30への書き込み処理が完了すると、書き込み完了通知(I/O要求完了通知)を通信制御部16を介してクライアントコンピュータ50に対して送信してもよい。 When the data access request from the client computer 50 is a write request, the synchronous I / O processing unit 17 sends the write target data to the device control unit 18 together with an instruction to store the write target data in the SSD 30 of the first layer storage server 10. Send to. Then, when the writing process to the SSD 30 is completed, the synchronous I / O processing unit 17 may transmit a writing completion notification (I / O request completion notification) to the client computer 50 via the communication control unit 16. ..

また、本システムでは、同期I/O処理部17によってSSD30へのデータアクセス(同期I/O処理)が実行されているか否か(実行中か否か)を示す同期I/O中フラグを設ける。同期I/O処理部17が同期I/O処理(データアクセス)を実行中である場合には、同期I/O処理部17は、同期I/O中フラグに、例えば“1”を設定する。一方、同期I/O処理部17が同期I/O処理(データアクセス)を実行中でない場合には、同期I/O処理部17は、同期I/O中フラグに、例えば“0”を設定する。 Further, in this system, a synchronous I / O in-progress flag indicating whether or not data access (synchronous I / O processing) to the SSD 30 is being executed (whether or not it is being executed) by the synchronous I / O processing unit 17 is provided. .. When the synchronous I / O processing unit 17 is executing the synchronous I / O processing (data access), the synchronous I / O processing unit 17 sets, for example, "1" in the synchronous I / O in-progress flag. .. On the other hand, when the synchronous I / O processing unit 17 is not executing the synchronous I / O processing (data access), the synchronous I / O processing unit 17 sets, for example, "0" in the synchronous I / O in-progress flag. To do.

なお、この同期I/O中フラグに設定する値は“0”や“1”に限らず、同期I/O処理部17による同期I/O処理(データアクセス)が実行中か否かを判断できるものであればよい。また、本システムの起動時には、同期I/O中フラグには“0”(初期値)が設定されるものとする。また、この同期I/O中フラグに設定する値は、第1階層ストレージサーバ10のメモリ13に格納されてもよいが、これに限られない。 The value set in the synchronous I / O flag is not limited to "0" or "1", and it is determined whether or not the synchronous I / O processing (data access) by the synchronous I / O processing unit 17 is being executed. Anything that can be done will do. Further, when the system is started, it is assumed that "0" (initial value) is set in the synchronous I / O in-progress flag. Further, the value set in the synchronous I / O middle flag may be stored in the memory 13 of the first-tier storage server 10, but is not limited to this.

また、同期I/O処理部17は、SSD30への同期I/O処理(データアクセス)の実行を開始する前に、同期I/O中フラグに“1”を設定する。また、同期I/O処理部17は、SSD30への同期I/O処理(データアクセス)を完了した後、同期I/O中フラグに“0”を設定する。 Further, the synchronous I / O processing unit 17 sets the synchronous I / O in-progress flag to "1" before starting the execution of the synchronous I / O processing (data access) to the SSD 30. Further, the synchronous I / O processing unit 17 sets “0” in the synchronous I / O in-progress flag after completing the synchronous I / O processing (data access) to the SSD 30.

本システムでは、SSD30へデータが書き込まれた後、非同期的に、第2階層ストレージサーバ20が備えるHDD40へデータを書き出すが、HDD40への書き出し処理を最適化するために、同期I/O処理部17ではこのタイミングを制御する。上述したとおり、本システムにおいて、第2階層ストレージサーバ20が備えるHDD40へのデータの書き込み指示は、非同期書き出し処理部19によって行なわれる。そのため、同期I/O処理部17では、非同期書き出し処理を実行するタイミング、すなわち、非同期書き出し処理部19を起動するタイミング(非同期書き出し処理部19に対して当該指示を出すタイミング)を制御する。 In this system, after the data is written to the SSD 30, the data is asynchronously written to the HDD 40 provided in the second layer storage server 20, but in order to optimize the writing process to the HDD 40, the synchronous I / O processing unit In 17, this timing is controlled. As described above, in this system, the asynchronous writing processing unit 19 gives an instruction to write data to the HDD 40 included in the second-tier storage server 20. Therefore, the synchronous I / O processing unit 17 controls the timing of executing the asynchronous writing process, that is, the timing of starting the asynchronous writing processing unit 19 (the timing of issuing the instruction to the asynchronous writing processing unit 19).

同期I/O処理部17による、この非同期書き出し処理の起動制御について図8を参照しながら説明する。 The activation control of this asynchronous writing process by the synchronous I / O processing unit 17 will be described with reference to FIG.

図8は、実施形態の一例としてのストレージシステム1におけるクライアントコンピュータ50からのデータアクセス要求と、同期I/O処理部17による非同期書き出し処理の起動制御との関係を説明するための図である。 FIG. 8 is a diagram for explaining the relationship between the data access request from the client computer 50 in the storage system 1 as an example of the embodiment and the activation control of the asynchronous writing process by the synchronous I / O processing unit 17.

この図8は、クライアントコンピュータ50におけるジョブが、データアクセス要求,演算,データアクセス要求,演算,・・・の繰り返し(ループ)により構成されていることを例示している。図8に例示するように、この各データアクセス要求は、データの書き込み要求または読み出し要求である。 FIG. 8 illustrates that a job on the client computer 50 is composed of repetitions (loops) of data access requests, operations, data access requests, operations, and so on. As illustrated in FIG. 8, each of these data access requests is a data write request or a data read request.

また、図8に例示するように、第1階層ストレージサーバ10は、クライアントコンピュータ50から連続してデータアクセス要求を受信する場合がある。2つのデータアクセス要求の間には、所定時間に一定のデータアクセス要求がない時間帯、すなわち、間欠時間がある。複数のデータアクセス要求間での間欠時間がしきい値よりも小さい状態が継続する場合には、これらの連続するデータアクセス要求をバーストI/Oという。なお、このバーストI/Oは、1つ以上の書き込み要求または1つ以上の読み出し要求のジョブであってもよいし、1つ以上の書き込み要求と1つ以上の読み出し要求とが混在したジョブであってもよい。 Further, as illustrated in FIG. 8, the first-tier storage server 10 may continuously receive data access requests from the client computer 50. Between the two data access requests, there is a time zone in which there is no constant data access request at a predetermined time, that is, an intermittent time. When the intermittent time between a plurality of data access requests continues to be smaller than the threshold value, these consecutive data access requests are referred to as burst I / O. Note that this burst I / O may be a job with one or more write requests or one or more read requests, or a job in which one or more write requests and one or more read requests are mixed. There may be.

クライアントコンピュータ50がバーストI/Oに係るジョブを実行している間は、第1階層ストレージサーバ10において、当該ジョブに係るデータの書き込みや読み出しを行なう。そのため、この期間においては、これらのジョブが第1階層ストレージサーバ10のCPU11やメモリ13,SSD30等を概ね占有する。 While the client computer 50 is executing the job related to the burst I / O, the first-tier storage server 10 writes and reads the data related to the job. Therefore, during this period, these jobs generally occupy the CPU 11, the memory 13, the SSD 30, and the like of the first-tier storage server 10.

そこで、本システムでは、第1階層ストレージサーバ10におけるSSD30に対するデータの書き込みや読み出し処理と、第2階層ストレージサーバ20のHDD40への書き出し処理が重複することを回避する。そこで、同期I/O処理部17は、随時間欠時間を算出し、算出した間欠時間がしきい値以下の場合、バーストI/Oが発生していると判断する。この場合、同期I/O処理部17は、バーストI/Oに係るジョブ以外のジョブを実行しない、つまり、第2階層ストレージサーバ20へのデータの書き出しを抑止する。これにより、SSD30に対する書き込みや読み出しの速度を維持することができ、ジョブの処理速度が低下することを回避できる。 Therefore, in this system, it is possible to avoid duplication of the data writing / reading process for the SSD 30 in the first-tier storage server 10 and the writing process for the HDD 40 in the second-tier storage server 20. Therefore, the synchronous I / O processing unit 17 calculates the intermittent time, and if the calculated intermittent time is equal to or less than the threshold value, determines that burst I / O has occurred. In this case, the synchronous I / O processing unit 17 does not execute any job other than the job related to the burst I / O, that is, suppresses the writing of data to the second-tier storage server 20. As a result, the writing / reading speed for the SSD 30 can be maintained, and it is possible to avoid a decrease in the job processing speed.

一方、同期I/O処理部17は、算出した間欠時間がしきい値よりも大きい場合、バーストI/Oが発生していないと判断する。この場合、同期I/O処理部17は、バーストI/Oに係るジョブ以外のジョブを実行する。つまり、同期I/O処理部17は、バーストI/Oが発生していない期間は、SSD30に対するジョブが発生していないことから、その間に、第2階層ストレージサーバ20へのデータの書き出し(非同期書き出し)を行なうよう制御する。これにより、SSD30に対する書き込みや読み出しの速度やジョブの処理速度に影響を与えずに、第2階層ストレージサーバ20へのデータの書き出すことが可能となる。 On the other hand, when the calculated intermittent time is larger than the threshold value, the synchronous I / O processing unit 17 determines that burst I / O has not occurred. In this case, the synchronous I / O processing unit 17 executes a job other than the job related to the burst I / O. That is, since the synchronous I / O processing unit 17 does not generate a job for the SSD 30 during the period when the burst I / O does not occur, the synchronous I / O processing unit 17 writes data to the second-tier storage server 20 (asynchronous) during that period. Control to perform (export). This makes it possible to write data to the second-tier storage server 20 without affecting the writing / reading speed of the SSD 30 and the job processing speed.

なお、この同期I/O処理部17は、カーネルスレッドとして実現されてよい。 The synchronous I / O processing unit 17 may be realized as a kernel thread.

デバイス制御部18は、同期I/O処理部17からの指示を受け、SSD30へのアクセス(書き込みや読み出し)を制御する。なお、このデバイス制御部18は、SSD30の(デバイス)ドライバとして実現されてよい。 The device control unit 18 receives an instruction from the synchronous I / O processing unit 17 and controls access (write or read) to the SSD 30. The device control unit 18 may be realized as a (device) driver of the SSD 30.

非同期書き出し処理部19は、同期I/O処理部17によって起動され、非同期書き出し処理(非同期I/O処理)を実行する。なお、非同期書き出し処理部19は、第2階層ストレージサーバ20へ書き出す対象となるデータが第1階層ストレージサーバ10に存在していない間はスリープする。 The asynchronous write processing unit 19 is started by the synchronous I / O processing unit 17 to execute the asynchronous write processing (asynchronous I / O processing). The asynchronous writing processing unit 19 sleeps while the data to be written to the second-tier storage server 20 does not exist in the first-tier storage server 10.

また、非同期書き出し処理部19は、同期I/O処理部17から第2階層ストレージサーバ20のHDD40に対する書き出しを依頼されると、書き出し対象データが第2階層ストレージサーバ20のHDD40に書き出されているか否かを判断する。言い換えると、非同期書き出し処理部19は、当該書き出し対象データが、HDD40に書き出されていない(格納されていない)データ、すなわち、未書き出しデータ(ブロック)であるか否かを判断する。なお、非同期書き出し処理部19は、書き出し対象データが第2階層ストレージサーバ20のHDD40に格納されているか否かをデータブロック毎に管理している。この未書き出しデータの判断は公知の手法を用いて実現できるので、ここではその具体的な説明を省略する。 Further, when the asynchronous write processing unit 19 is requested by the synchronous I / O processing unit 17 to write to the HDD 40 of the second tier storage server 20, the data to be written is written to the HDD 40 of the second tier storage server 20. Judge whether or not. In other words, the asynchronous write processing unit 19 determines whether or not the write target data is data that has not been written (stored) in the HDD 40, that is, unwritten data (block). The asynchronous writing processing unit 19 manages for each data block whether or not the data to be written is stored in the HDD 40 of the second layer storage server 20. Since the determination of the unwritten data can be realized by using a known method, the specific description thereof will be omitted here.

非同期書き出し処理部19は、書き出し対象データが未書き出しデータであると判断した場合、当該書き出し対象データを第2階層ストレージサーバ20のHDD40に書き出す処理を行なう。具体的に、非同期書き出し処理部19は、通信制御部16を介して第2階層ストレージサーバ20に対し、例えば、書き出しの指示(非同期書き出し指示)を送信する(図7の矢印P3参照)。そして、第2階層ストレージサーバ20のI/O処理部27(後述)は、デバイス制御部28を介してHDD40に対して書き出し対象データの書き出しを行なう。 When the asynchronous writing processing unit 19 determines that the writing target data is unwritten data, the asynchronous writing processing unit 19 performs a process of writing the writing target data to the HDD 40 of the second layer storage server 20. Specifically, the asynchronous write processing unit 19 transmits, for example, a write instruction (asynchronous write instruction) to the second layer storage server 20 via the communication control unit 16 (see arrow P3 in FIG. 7). Then, the I / O processing unit 27 (described later) of the second-tier storage server 20 writes the data to be written to the HDD 40 via the device control unit 28.

なお、この非同期書き出し処理部19は、カーネルスレッドとして実現されてよく、同期I/O処理部17とのメモリ共有が可能である。 The asynchronous write processing unit 19 may be realized as a kernel thread, and the memory can be shared with the synchronous I / O processing unit 17.

また、本システムでは、非同期書き出し処理部19が同期I/O処理部17によって起動されているか、すなわち、非同期書き出し処理部19が実行中(稼働中)であるか否かを示す非同期書き出し稼働中フラグを設ける。非同期書き出し処理部19が同期I/O処理部17によって起動されると、同期I/O処理部17は、非同期書き出し稼働中フラグに、例えば“1”を設定する。一方、非同期書き出し処理部19が同期I/O処理部17によって起動されていない場合には、同期I/O処理部17は、非同期書き出し稼働中フラグに、例えば“0”を設定する。なお、この非同期書き出し稼働中フラグに設定する値は、第1階層ストレージサーバ10のメモリ13に格納されてもよいが、これに限られない。 Further, in this system, the asynchronous write processing unit 19 is started by the synchronous I / O processing unit 17, that is, the asynchronous write processing unit 19 is being executed (operating) or not. Set a flag. When the asynchronous write processing unit 19 is started by the synchronous I / O processing unit 17, the synchronous I / O processing unit 17 sets, for example, "1" to the asynchronous write operation active flag. On the other hand, when the asynchronous write processing unit 19 is not started by the synchronous I / O processing unit 17, the synchronous I / O processing unit 17 sets, for example, “0” in the asynchronous write operation flag. The value set in the asynchronous writing operation flag may be stored in the memory 13 of the first-tier storage server 10, but is not limited to this.

この非同期書き出し稼働中フラグに設定する値は“0”や“1”に限らず、非同期書き出し処理部19が実行中か否かを判断できるものであればよい。なお、非同期書き出し稼働中フラグは、本システムの起動時や、非同期書き出し処理部19による処理(稼働)が終了してスリープする際には“0”が設定される(解除される)ものとする。 The value set in the asynchronous writing operation flag is not limited to "0" and "1", and may be any value as long as it can determine whether or not the asynchronous writing processing unit 19 is executing. The asynchronous writing operation flag is set (cancelled) to "0" when the system is started or when the processing (operation) by the asynchronous writing processing unit 19 ends and sleeps. ..

次に、本ストレージシステムに係る第2階層ストレージサーバ20の機能構成について、図9を用いて説明する。 Next, the functional configuration of the second-tier storage server 20 according to this storage system will be described with reference to FIG.

図9は、図1に示す実施形態の一例としての第2階層ストレージサーバ20の機能構成を例示する図である。本システムでは、図1に例示する複数の第2階層ストレージサーバ20のそれぞれが、図9に示す機能構成を備えるものとする。 FIG. 9 is a diagram illustrating a functional configuration of the second-tier storage server 20 as an example of the embodiment shown in FIG. In this system, it is assumed that each of the plurality of second-tier storage servers 20 illustrated in FIG. 1 has the functional configuration shown in FIG.

図9に例示するように、第2階層ストレージサーバ20は、例示的に、通信制御部26、I/O処理部27、及び、デバイス制御部28を備えてもよい。 As illustrated in FIG. 9, the second-tier storage server 20 may optionally include a communication control unit 26, an I / O processing unit 27, and a device control unit 28.

通信制御部26は、第1階層ストレージサーバ10との通信を行ない、クライアントコンピュータ50からの読み出し要求や、HDD40への書き出しの指示(非同期書き出し指示)を受信する。 The communication control unit 26 communicates with the first-tier storage server 10 and receives a read request from the client computer 50 and an instruction for writing to the HDD 40 (asynchronous writing instruction).

また、通信制御部26が第1階層ストレージサーバ10から、クライアントコンピュータ50からの読み出し要求を受信すると、HDD40から読み出されたデータ(読み出し対象データ)を第1階層ストレージサーバ10に対し送信する(図7の矢印P2参照)。 Further, when the communication control unit 26 receives the read request from the client computer 50 from the first layer storage server 10, the data read from the HDD 40 (read target data) is transmitted to the first layer storage server 10 ( See arrow P2 in FIG. 7).

また、通信制御部26が、HDD40への書き出しの指示(非同期書き出し指示)を受信した場合、この非同期書き出し指示をI/O処理部27に対して送信する(図7の矢印P3参照)。 When the communication control unit 26 receives an instruction for writing to the HDD 40 (asynchronous writing instruction), the communication control unit 26 transmits this asynchronous writing instruction to the I / O processing unit 27 (see arrow P3 in FIG. 7).

また、通信制御部26は、読み出しや書き込み等のI/Oを完了した通知(I/O要求完了通知)を第2階層ストレージサーバ20に対して送信してもよい。 Further, the communication control unit 26 may transmit a notification of completion of I / O such as reading and writing (I / O request completion notification) to the second layer storage server 20.

I/O処理部27は、クライアントコンピュータ50からの読み出し要求や、HDD40への書き出しの指示(非同期書き出し指示)を処理する。 The I / O processing unit 27 processes a read request from the client computer 50 and an instruction for writing to the HDD 40 (asynchronous writing instruction).

I/O処理部27は、クライアントコンピュータ50からの読み出し要求を受信した場合、当該読み出し要求を処理すべく、後述するデバイス制御部28を介してHDD40から読み出し対象データを取得する。そして、I/O処理部27は、取得した読み出し対象データを、通信制御部26を介して第1階層ストレージサーバ10に送信する(図7の矢印P2参照)。 When the I / O processing unit 27 receives the read request from the client computer 50, the I / O processing unit 27 acquires the read target data from the HDD 40 via the device control unit 28 described later in order to process the read request. Then, the I / O processing unit 27 transmits the acquired read target data to the first layer storage server 10 via the communication control unit 26 (see arrow P2 in FIG. 7).

なお、I/O処理部27は、読み出し対象データの送信が完了すると、通信制御部16を介して、読み出し完了通知(I/O要求完了通知)を第1階層ストレージサーバ10に対して送信してもよい。 When the transmission of the read target data is completed, the I / O processing unit 27 transmits a read completion notification (I / O request completion notification) to the first-tier storage server 10 via the communication control unit 16. You may.

I/O処理部27は、HDD40への書き出しの指示(非同期書き出し指示)を受信した場合、書き出し対象データをHDD40へ格納する指示と共に、書き出し対象データをデバイス制御部28に対して送信する(図7の矢印P3参照)。そして、I/O処理部27は、書き出し処理が完了すると、通信制御部26を介して、書き出し完了通知を第1階層ストレージサーバ10に対して送信してもよい。 When the I / O processing unit 27 receives the instruction for writing to the HDD 40 (asynchronous writing instruction), the I / O processing unit 27 transmits the data to be written to the device control unit 28 together with the instruction to store the data to be written to the HDD 40 (FIG. FIG. See arrow P3 in 7). Then, when the writing process is completed, the I / O processing unit 27 may transmit the writing completion notification to the first layer storage server 10 via the communication control unit 26.

デバイス制御部28は、I/O処理部27からの指示を受け、HDD40へのアクセス(書き込みや読み出し)を制御する。なお、このデバイス制御部28は、HDD40の(デバイス)ドライバとして実現されてよい。 The device control unit 28 receives an instruction from the I / O processing unit 27 and controls access (write or read) to the HDD 40. The device control unit 28 may be realized as a (device) driver of the HDD 40.

〔1−4〕一実施形態に係るストレージシステムにおける同期I/O処理
上述の如く構成された実施形態の一例としてのストレージシステム1における同期I/O処理を、図12を参照しながら、図10及び図11に示すフローチャート(ステップS1〜S17)に従って説明する。
[1-4] Synchronous I / O processing in the storage system according to one embodiment The synchronous I / O processing in the storage system 1 as an example of the embodiment configured as described above is shown in FIG. 10 with reference to FIG. And the flowchart (steps S1 to S17) shown in FIG. 11 will be described.

なお、図10は、ステップS1〜S10の処理を例示し、図11は、ステップS11〜S17の処理を例示する。同期I/O処理は、第1階層ストレージサーバ10の同期I/O処理部17により実行される。したがって、図10、及び、図11に示すフローチャートは、第1階層ストレージサーバ10の同期I/O処理部17による処理を例示するものである。 Note that FIG. 10 illustrates the processing of steps S1 to S10, and FIG. 11 illustrates the processing of steps S11 to S17. The synchronous I / O processing is executed by the synchronous I / O processing unit 17 of the first-tier storage server 10. Therefore, the flowcharts shown in FIGS. 10 and 11 exemplify the processing by the synchronous I / O processing unit 17 of the first-tier storage server 10.

図12は、一実施形態に係るストレージシステム1における間欠時間の算出を説明するための図である。 FIG. 12 is a diagram for explaining the calculation of the intermittent time in the storage system 1 according to the embodiment.

図10の結合子“D1”は、図11の結合子“D1”への入口を示しており、図10に例示するステップS10の処理に続けて、図11(S11〜S17)に例示する処理を経ることにより、データの書き込み処理を実行するものとする。 The connector “D1” in FIG. 10 indicates an entrance to the connector “D1” in FIG. 11, and the process illustrated in FIGS. 11 (S11 to S17) is performed following the process in step S10 illustrated in FIG. It is assumed that the data writing process is executed by passing through.

また、図10に例示する処理は、クライアントコンピュータ50が第1階層ストレージサーバ10に対してデータアクセス(データの書き込み)を要求したことを契機として開始される。したがって、同期I/O処理部17は、クライアントコンピュータ50からの要求を受信するまではスリープしているものとする。 Further, the process illustrated in FIG. 10 is started when the client computer 50 requests data access (writing of data) to the first-tier storage server 10. Therefore, it is assumed that the synchronous I / O processing unit 17 sleeps until the request from the client computer 50 is received.

図10のステップS1において、同期I/O処理部17は、第1階層ストレージサーバ10の通信制御部16を介してクライアントコンピュータ50からのデータアクセス(データの書き込み)要求を受信する。 In step S1 of FIG. 10, the synchronous I / O processing unit 17 receives a data access (data writing) request from the client computer 50 via the communication control unit 16 of the first-tier storage server 10.

続く図10のステップS2において、同期I/O処理部17は、同期I/O中フラグに“1”を設定する。これにより、同期I/O処理部17が同期I/O処理を実行中であることが明示される。 In the following step S2 of FIG. 10, the synchronous I / O processing unit 17 sets the synchronous I / O in-progress flag to “1”. As a result, it is clarified that the synchronous I / O processing unit 17 is executing the synchronous I / O processing.

続く図10のステップS3において、同期I/O処理部17は、現在時刻を示す変数であるT_begin(n)に、現在のタイムスタンプの値(現在時刻)を代入する。上記T_begin(n)中の変数nは間欠時間の測定回数を示すカウンタとして機能し、nには0以上の整数が入力される。なお、nには初期値として“0”が代入される。なお、この現在のタイムスタンプの取得は既知の手法で実現することでき、その説明は省略する。なお、本実施形態において、間欠時間の測定回数はC(回)とし(Cは2以上の整数)、図10,図11では、C=10(回)の例を示すが、これに限られない。 In the following step S3 of FIG. 10, the synchronous I / O processing unit 17 substitutes the value of the current time stamp (current time) into T_begin (n), which is a variable indicating the current time. The variable n in the T_begin (n) functions as a counter indicating the number of measurements of the intermittent time, and an integer of 0 or more is input to n. In addition, "0" is substituted for n as an initial value. It should be noted that the acquisition of the current time stamp can be realized by a known method, and the description thereof will be omitted. In the present embodiment, the number of times the intermittent time is measured is C (times) (C is an integer of 2 or more), and FIGS. 10 and 11 show an example of C = 10 (times), but the present invention is limited to this. Absent.

続く図10のステップS4で、同期I/O処理部17は、1つ前(前回)の要求に対する処理が終了した時刻を示す変数であるT_end(n−1)をT_begin(n)から差し引くことにより、当該要求と前回の要求との差分時間を間欠時間として算出する。なお、1回目の要求よりも前の要求は存在しないため、T_end(−1)には初期値として“0”が代入される。 In the following step S4 of FIG. 10, the synchronous I / O processing unit 17 subtracts T_end (n-1), which is a variable indicating the time when the processing for the previous (previous) request is completed, from T_begin (n). Therefore, the difference time between the request and the previous request is calculated as the intermittent time. Since there is no request before the first request, "0" is substituted for T_end (-1) as an initial value.

ここで図12を参照すると、2回目の書き込みが要求された場合、この要求の処理を開始する時刻はxであり、当該要求より1つ前の要求(1回目の書き込み要求)の処理を完了した時刻はyである。このことから、同期I/O処理部17は、このステップS3では、xからyを差し引くことにより、1回目と2回目との要求間の間欠時間を求めることになる(図12の矢印P4参照)。 Here, referring to FIG. 12, when the second write is requested, the time to start the processing of this request is x, and the process of the request immediately before the request (the first write request) is completed. The time is y. From this, in this step S3, the synchronous I / O processing unit 17 obtains the intermittent time between the first and second requests by subtracting y from x (see arrow P4 in FIG. 12). ).

そして、同期I/O処理部17は、算出した間欠時間がしきい値Tmax以下であるか否かを判断する。算出した間欠時間がしきい値Tmax以下である場合(ステップS4におけるYesルート参照)、処理が図10のステップS5に移行する。なお、しきい値Tmaxは、当該システムの稼働状況に応じた間欠時間(例えば、5秒)が設定されるものとし、この値は適宜設定または変更されてもよい。 Then, the synchronous I / O processing unit 17 determines whether or not the calculated intermittent time is equal to or less than the threshold value Tmax . When the calculated intermittent time is equal to or less than the threshold value T max (see Yes route in step S4), the process shifts to step S5 in FIG. The threshold value T max is set to an intermittent time (for example, 5 seconds) according to the operating status of the system, and this value may be set or changed as appropriate.

続く図10のステップS5において、同期I/O処理部17は、上述したステップS4で算出した間欠時間を配列Array[n]に格納する。上述したように、間欠時間の測定回数が10回である場合には、配列Array[0]〜Array[9]に計測した各間欠時間が格納される。そして、処理が図10のステップS7に移行する。 In the following step S5 of FIG. 10, the synchronous I / O processing unit 17 stores the intermittent time calculated in step S4 described above in the array Array [n]. As described above, when the number of times the intermittent time is measured is 10, the measured intermittent times are stored in the arrays Array [0] to Array [9]. Then, the process proceeds to step S7 of FIG.

一方、上述したステップS4において、算出した間欠時間がしきい値Tmaxよりも大きい場合(ステップS4におけるNoルート参照)、処理が図10のステップS6に移行する。図12を参照すると、1回目の書き込み要求時には、xから“0”を差し引いた値を求めることになり、その値はしきい値Tmaxより大きくなるから、処理が図10のステップS6に移行する。 On the other hand, when the calculated intermittent time is larger than the threshold value T max in step S4 described above (see No route in step S4), the process shifts to step S6 in FIG. Referring to FIG. 12, at the time of the first write request, a value obtained by subtracting “0” from x is obtained, and the value becomes larger than the threshold value T max. Therefore, the process proceeds to step S6 of FIG. To do.

続く図10のステップS6において、同期I/O処理部17は、nに「−1」を代入する。 In the following step S6 of FIG. 10, the synchronous I / O processing unit 17 substitutes “-1” for n.

続く図10のステップS7において、同期I/O処理部17は、SSD30に対するI/O処理(書き込みや読み出し)を実行する。 In the following step S7 of FIG. 10, the synchronous I / O processing unit 17 executes I / O processing (writing or reading) on the SSD 30.

続く図10のステップS8において、同期I/O処理部17は、T_end(n)に現在のタイムスタンプの値(現在時刻)を代入する。すなわち、今回のI/O処理の完了時刻(終了時刻)がT_end(n)に代入される。 In the following step S8 of FIG. 10, the synchronous I / O processing unit 17 substitutes the value (current time) of the current time stamp into T_end (n). That is, the completion time (end time) of the current I / O process is substituted for T_end (n).

続く図10のステップS9において、同期I/O処理部17は、nの値をインクリメントする。 In the following step S9 of FIG. 10, the synchronous I / O processing unit 17 increments the value of n.

続く図10のステップS10において、同期I/O処理部17は、同期I/O中フラグに“0”を設定する。これにより、同期I/O処理部17によるSSD30に対するI/O処理が完了し、同期I/O処理部17が現時点で同期I/O処理を実行していないことが明示される。そして、結合子“D1”を経て、図11のステップS11に処理が移行する。 In the following step S10 of FIG. 10, the synchronous I / O processing unit 17 sets the synchronous I / O in-progress flag to “0”. As a result, the I / O processing for the SSD 30 by the synchronous I / O processing unit 17 is completed, and it is clarified that the synchronous I / O processing unit 17 is not executing the synchronous I / O processing at this time. Then, the process shifts to step S11 in FIG. 11 via the combiner “D1”.

図11のステップS11において、同期I/O処理部17は、間欠時間の測定回数を示すカウンタnの値が、間欠時間の測定回数がC回であるか否か、すなわち、上述したステップS4での間欠時間の算出が、C回目であるか否かを判断する。カウンタnの値がCである場合、処理が図11のステップS12に移行する。 In step S11 of FIG. 11, the synchronous I / O processing unit 17 determines whether or not the value of the counter n indicating the number of times the intermittent time is measured is C times, that is, in step S4 described above. It is determined whether or not the calculation of the intermittent time is the Cth time. When the value of the counter n is C, the process proceeds to step S12 of FIG.

続く図11のステップS12において、同期I/O処理部17は、C回分の間欠時間の平均を算出する。そこで、同期I/O処理部17は、上述したステップS5において間欠時間を代入した、配列Array[0]〜Array[C−1]の平均を算出する。 In the following step S12 of FIG. 11, the synchronous I / O processing unit 17 calculates the average of the intermittent time for C times. Therefore, the synchronous I / O processing unit 17 calculates the average of the arrays Array [0] to Array [C-1] in which the intermittent time is substituted in step S5 described above.

そして、同期I/O処理部17は、算出したC回分の間欠時間の平均に、所定のマージン時間Tmarginを加算することにより、非同期書き出し処理部19を起動するまでの時間T2ndを算出する。このT2ndは、非同期書き出し処理部19が第2階層ストレージデバイス20への書き出し処理を実行するまでの時間でもある。このT2ndを求めるうえでマージン時間Tmarginを加算したのは、本システムにおいて、同期I/O処理部17による処理が完了した後、所定の時間をおいて第2階層ストレージサーバ20への書き出が行なわれるものとしたためであり、これに限られない。なお、このT2ndは、平均間欠時間ともいい、当該システムの稼働状況に応じて適宜設定または変更されてもよい。処理が図11のステップS13に移行する。 Then, the synchronous I / O processing unit 17 calculates the time T 2nd until the asynchronous writing processing unit 19 is started by adding a predetermined margin time T margin to the average of the calculated intermittent times of C times. .. This T 2nd is also the time until the asynchronous write processing unit 19 executes the write process to the second layer storage device 20. The margin time T margin was added to obtain this T 2nd by writing to the second tier storage server 20 after a predetermined time after the processing by the synchronous I / O processing unit 17 was completed in this system. This is because the output is supposed to be performed, and the present invention is not limited to this. It should be noted that this T 2nd is also referred to as an average intermittent time, and may be appropriately set or changed according to the operating status of the system. The process proceeds to step S13 of FIG.

続く図11のステップS13において、同期I/O処理部17は、T_end(−1)に、今回の要求に対する処理が終了した時刻T_end(C−1)を代入する。これは、今回の要求に対する処理が終了した時刻T_end(C−1)を、次回のループにおけるステップS4で間欠時間を算出する際に用いるためである。 In the following step S13 of FIG. 11, the synchronous I / O processing unit 17 substitutes T_end (-1) for the time T_end (C-1) at which the processing for the current request is completed. This is because the time T_end (C-1) at which the processing for the current request is completed is used when calculating the intermittent time in step S4 in the next loop.

そして、同期I/O処理部17は、間欠時間の測定回数を0(回)に設定(リセット)する。これにより、バーストI/O毎に間欠時間の平均値やT2ndを算出することになり、新たなバーストI/Oが発生した場合に、これらの値を更新することになる。 Then, the synchronous I / O processing unit 17 sets (reset) the number of measurements of the intermittent time to 0 (times). As a result, the average value of the intermittent time and T 2nd are calculated for each burst I / O, and these values are updated when a new burst I / O occurs.

上述のステップS4において、バーストI/Oが終了した場合には、算出された間欠時間がしきい値Tmaxを超えたと判断される。このような場合にも、このステップS13において、間欠時間の測定回数が0(回)に設定(リセット)される。そして、処理が図11のステップS14に移行する。 When the burst I / O ends in step S4 described above, it is determined that the calculated intermittent time exceeds the threshold value T max . Even in such a case, the number of measurements of the intermittent time is set (reset) to 0 (times) in this step S13. Then, the process proceeds to step S14 of FIG.

続く図11のステップS14において、同期I/O処理部17は、SSD30に対するI/O処理(書き込みや読み出し)が完了した旨の通知(I/O要求完了通知)を通信制御部16を介してクライアントコンピュータ50に対して送信する。そして、処理が図11のステップS15に移行する。 In the subsequent step S14 of FIG. 11, the synchronous I / O processing unit 17 notifies the SSD 30 that the I / O processing (writing or reading) has been completed (I / O request completion notification) via the communication control unit 16. It is transmitted to the client computer 50. Then, the process proceeds to step S15 of FIG.

続く図11のステップS15において、同期I/O処理部17は、現在の時刻に、上述したステップS12で算出したT2ndを加算する。これにより、同期I/O処理部17が非同期書き出し処理部19を起動する時刻(起動時刻)Tstartが求まる。そして、処理が図11のステップS16に移行する。 In the following step S15 of FIG. 11, the synchronous I / O processing unit 17 adds the T 2nd calculated in the above-mentioned step S12 to the current time. As a result, the time (starting time) T start at which the synchronous I / O processing unit 17 starts the asynchronous writing processing unit 19 can be obtained. Then, the process proceeds to step S16 of FIG.

一方、上述したステップS11において、カウンタnの値がCではなかった場合(ステップS11におけるNoルート参照)、処理が上述したステップS15に移行する。 On the other hand, if the value of the counter n is not C in step S11 described above (see No route in step S11), the process proceeds to step S15 described above.

続くステップS16において、同期I/O処理部17は、非同期書き出し稼働中フラグに“1”が設定されているかを判断する。“1”が設定されていないと判断した場合(非同期書き出し処理部19が起動されていない場合;ステップS16におけるNoルート参照)、処理が図11のステップS17に移行する。 In the following step S16, the synchronous I / O processing unit 17 determines whether the asynchronous writing operation flag is set to “1”. When it is determined that "1" is not set (when the asynchronous writing processing unit 19 is not started; see No route in step S16), the processing proceeds to step S17 in FIG.

続く図11のステップS17において、同期I/O処理部17は、非同期書き出し処理部19を起動する。そして、同期I/O処理部17による処理が終了する。なお、このステップS17における処理が終了すると、後述する図13のステップQ1(非同期書き出し処理部19による処理)に処理が移行する。 In the following step S17 of FIG. 11, the synchronous I / O processing unit 17 activates the asynchronous writing processing unit 19. Then, the processing by the synchronous I / O processing unit 17 ends. When the processing in step S17 is completed, the processing shifts to step Q1 (processing by the asynchronous writing processing unit 19) of FIG. 13, which will be described later.

一方、上述したステップS16にて、“1”が設定されていると判断した場合(非同期書き出し処理部19が起動されている場合;ステップS16におけるYesルート参照)、同期I/O処理部17による処理が終了する。これは、既に非同期書き出し処理部19が起動しているため、同期I/O処理部17によって再度非同期書き出し処理部19を起動することを回避するためである。なお、この場合も、後述する図13に例示するステップQ1(非同期書き出し処理部19による処理)に処理が移行する。 On the other hand, when it is determined in step S16 described above that "1" is set (when the asynchronous write processing unit 19 is activated; refer to the Yes route in step S16), the synchronous I / O processing unit 17 determines. The process ends. This is because the asynchronous write processing unit 19 has already been started, so that the synchronous I / O processing unit 17 does not start the asynchronous write processing unit 19 again. In this case as well, the process shifts to step Q1 (processing by the asynchronous writing processing unit 19) illustrated in FIG. 13 to be described later.

なお、ステップS17において、同期I/O処理部17が非同期書き出し処理部19を起動した後においても、クライアントコンピュータ50からデータアクセス要求を受信すると、図10のステップS1に示す処理を開始することになる。この場合、図10,図11のステップS1〜S16に示す処理を経て、非同期書き出し処理部19が起動される時刻Tstartが更新される。 In step S17, even after the synchronous I / O processing unit 17 starts the asynchronous writing processing unit 19, when a data access request is received from the client computer 50, the processing shown in step S1 of FIG. 10 is started. Become. In this case, the time T start at which the asynchronous write processing unit 19 is started is updated through the processes shown in steps S1 to S16 of FIGS. 10 and 11.

〔1−5〕一実施形態に係るストレージシステムにおける非同期I/O処理
上述の如く構成された実施形態の一例として、ストレージシステム1における非同期I/O処理を、図13に示すフローチャート(ステップQ1〜Q9)に従って説明する。この図13においては、非同期書き出し処理部19によるHDD40へのデータの書き出し処理を例示する。
[1-5] Asynchronous I / O processing in the storage system according to one embodiment As an example of the embodiment configured as described above, the asynchronous I / O processing in the storage system 1 is shown in the flowchart shown in FIG. 13 (steps Q1 to Q1). This will be explained according to Q9). In FIG. 13, the data writing process to the HDD 40 by the asynchronous writing processing unit 19 is illustrated.

この非同期I/O処理は、第2階層ストレージサーバ20の非同期書き出し処理部19により実行されるから、図13は、第2階層ストレージサーバ20の非同期書き出し処理部19による処理を例示するものでもある。 Since this asynchronous I / O processing is executed by the asynchronous write processing unit 19 of the second tier storage server 20, FIG. 13 also illustrates the processing by the asynchronous write processing unit 19 of the second tier storage server 20. ..

なお、この図13に例示する処理は、図11のステップS17に示す処理を経ることを契機として実行されるものとする。したがって、非同期書き出し処理部19は、同期I/O処理部17によって起動されるまではスリープしているものとする。 It is assumed that the process illustrated in FIG. 13 is executed when the process shown in step S17 of FIG. 11 is performed. Therefore, it is assumed that the asynchronous write processing unit 19 sleeps until it is activated by the synchronous I / O processing unit 17.

ステップQ1において、非同期書き出し処理部19は、非同期書き出し稼働中フラグに“1”を設定する。これは、非同期書き出し処理部19が同期I/O処理部17によって起動され、実行中となったためである。 In step Q1, the asynchronous write processing unit 19 sets "1" in the asynchronous write operation flag. This is because the asynchronous write processing unit 19 is started by the synchronous I / O processing unit 17 and is being executed.

続くステップQ2で、非同期書き出し処理部19は、非同期書き出し処理部19が起動される時刻Tstartが現在時刻よりも大きいか(進んでいるか)否か、すなわち、非同期書き出し処理部19が起動される時刻Tstartに到達したか否かを判断する。すなわち、Tstartが現在時刻よりも大きい(進んでいる)と判断された場合、すなわち、非同期書き出し処理部19が起動される時刻Tstartに到達していない場合(ステップQ2におけるYesルート参照)、処理がステップQ3に移行する。 In the following step Q2, the asynchronous write processing unit 19 starts the asynchronous write processing unit 19 whether or not the time T start at which the asynchronous write processing unit 19 is started is larger (advanced) than the current time, that is, the asynchronous write processing unit 19 is started. Determine if the time T start has been reached. That is, when it is determined that the T start is larger (advanced) than the current time, that is, when the time T start at which the asynchronous write processing unit 19 is started has not been reached (see Yes route in step Q2). The process proceeds to step Q3.

続くステップQ3において、非同期書き出し処理部19は、Tstartから現在時刻を差し引いた時間分だけスリープし、Tstartが現在時刻になるまで待つ。そして、非同期書き出し処理部19は、Tstartが現在時刻になるまでスリープした後、処理がステップQ2に戻り、Tstartが現在時刻よりも大きいか(進んでいるか)否かを再度判断する。これは、非同期書き出し処理部19がスリープしている間に、間欠時間がしきい値Tmaxを超えるデータアクセス要求をクライアントコンピュータ50から受けたか否かを判断するためである。非同期書き出し処理部19がスリープしている間に、間欠時間がしきい値Tmaxを超えるデータアクセス要求を再度受けた場合、上述の図11のステップS15に示す処理を経るため、Tstartが更新され、Tstartはスリープ完了後の現在時刻よりも進むからである。一方、非同期書き出し処理部19がスリープしている間に、間欠時間がしきい値Tmaxを超えるデータアクセス要求を受けなかった場合には、Tstartは更新されず、処理がステップQ4に移行する。 In the following step Q3, the asynchronous write processing unit 19, sleep for the time obtained by subtracting the current time from T start, wait until T start is the current time. Then, the asynchronous write processing unit 19 sleeps until the T start reaches the current time, then returns to step Q2, and determines again whether the T start is larger (advanced) than the current time. This is for determining whether or not a data access request whose intermittent time exceeds the threshold value Tmax is received from the client computer 50 while the asynchronous write processing unit 19 is sleeping. If a data access request whose intermittent time exceeds the threshold value T max is received again while the asynchronous write processing unit 19 is sleeping, the Tstart is updated because the process shown in step S15 of FIG. 11 is performed. This is because the T start is ahead of the current time after the sleep is completed. On the other hand, if the intermittent time does not receive a data access request exceeding the threshold value T max while the asynchronous write processing unit 19 is sleeping, the T start is not updated and the process proceeds to step Q4. ..

また、このステップQ3におけるスリープの間、非同期書き出し稼働中フラグは“1”を設定したままとするが、これは、非同期書き出し処理部19がスリープしている間に、再度同期I/O処理部17によって起動されるのを回避するためである。 Further, during the sleep in step Q3, the asynchronous writing operation flag is left set to "1", which is the synchronous I / O processing unit again while the asynchronous writing processing unit 19 is sleeping. This is to avoid being activated by 17.

一方、上記ステップQ2でTstartが現在時刻以下である(現在時刻がTstartより進んでいる)と判断されると、すなわち、非同期書き出し処理部19が起動される時刻Tstartに到達した場合(ステップQ2のNoルート参照)、処理がステップQ4に移行する。 On the other hand, when it is determined in step Q2 that the T start is equal to or less than the current time (the current time is ahead of the T start ), that is, when the time T start at which the asynchronous write processing unit 19 is started is reached ( (Refer to No route in step Q2), the process shifts to step Q4.

続くステップQ4において、非同期書き出し処理部19は、同期I/O中フラグに“1”が設定されているか否かを判断する。同期I/O中フラグに“1”が設定されている場合(ステップQ4におけるYesルート参照)、すなわち、同期I/O処理部17が実行中である場合、処理がステップQ5に移行する。 In the following step Q4, the asynchronous write-out processing unit 19 determines whether or not "1" is set in the synchronous I / O in-progress flag. When the synchronous I / O flag is set to “1” (see Yes route in step Q4), that is, when the synchronous I / O processing unit 17 is being executed, the process proceeds to step Q5.

続くステップQ5において、非同期書き出し処理部19は、非同期書き出し稼働中フラグに“0”を設定し、ステップQ6において、非同期書き出し処理部19はスリープする。これは、第1階層ストレージサーバ10の同期I/O処理部17が実行中であることから、この処理を妨げずに処理速度を維持するためである。その後、処理を終了する。 In the following step Q5, the asynchronous write processing unit 19 sets the asynchronous write operation flag to “0”, and in step Q6, the asynchronous write processing unit 19 sleeps. This is because the synchronous I / O processing unit 17 of the first-tier storage server 10 is executing, so that the processing speed is maintained without interfering with this processing. After that, the process ends.

一方、上述のステップQ4で、同期I/O中フラグに“1”が設定されていない場合(ステップQ4のNoルート参照)、すなわち、同期I/O中フラグに“0”が設定されている(同期I/O処理部17が実行中ではない)場合、処理がステップQ7に移行する。 On the other hand, in step Q4 described above, when the synchronous I / O flag is not set to "1" (see No route in step Q4), that is, the synchronous I / O flag is set to "0". If (the synchronous I / O processing unit 17 is not executing), the processing proceeds to step Q7.

続くステップQ7において、非同期書き出し処理部19は、書き出し対象データの中に未書き出しデータがあるか否かを判断する。未書き出しデータがないと判断した場合には(ステップQ7におけるNoルート参照)、処理がステップQ5に移行する。 In the following step Q7, the asynchronous writing processing unit 19 determines whether or not there is unwritten data in the writing target data. If it is determined that there is no unwritten data (see No route in step Q7), the process proceeds to step Q5.

一方、上述したステップQ7において、未書き出しデータがあると判断した場合には(ステップQ7におけるYesルート参照)、処理がステップQ8に移行する。 On the other hand, if it is determined in step Q7 described above that there is unwritten data (see Yes route in step Q7), the process shifts to step Q8.

続くステップQ8において、非同期書き出し処理部19は、第2階層ストレージサーバ20に対し、未書き出しデータの書き出し処理を実行する。具体的に、非同期書き出し処理部19は、通信制御部16を介して第2階層ストレージサーバ20に対し、例えば、書き出しの指示(非同期書き出し指示)を送信する。そして、第2階層ストレージサーバ20のI/O処理部27は、デバイス制御部28を介してHDD40に対して書き出し対象データの書き出しを行なう。なお、このHDD40への書き出し対象データは、SSD30に格納されているものとする。そして、処理がステップQ9に移行する。 In the following step Q8, the asynchronous write processing unit 19 executes the write processing of unwritten data to the second layer storage server 20. Specifically, the asynchronous writing processing unit 19 transmits, for example, a writing instruction (asynchronous writing instruction) to the second layer storage server 20 via the communication control unit 16. Then, the I / O processing unit 27 of the second-tier storage server 20 writes out the data to be written to the HDD 40 via the device control unit 28. It is assumed that the data to be written to the HDD 40 is stored in the SSD 30. Then, the process proceeds to step Q9.

続くステップQ9において、非同期書き出し処理部19は、第2階層ストレージサーバ20から書き出し完了通知を受信する。そして、処理がステップQ4に戻り、ステップQ4〜Q9に示す処理を繰り返す。本システムでは、これらのステップQ4〜Q9に示す処理を、書き出し対象データの1ブロック毎に行なうものとした。これは、第1階層ストレージサーバ10における同期I/O処理の実行中に、第2階層ストレージサーバ20への書き出し処理を実行することを可能な限り回避するためである。そのため、非同期書き出し処理部19は、同期I/O中フラグに基づき、第1階層ストレージサーバ10における同期I/O処理が実行中であるか否かを、書き出し対象データの1ブロック毎に判断するものとした。 In the following step Q9, the asynchronous write processing unit 19 receives the write completion notification from the second layer storage server 20. Then, the process returns to step Q4, and the processes shown in steps Q4 to Q9 are repeated. In this system, the processes shown in steps Q4 to Q9 are performed for each block of data to be written. This is to avoid executing the writing process to the second tier storage server 20 as much as possible during the execution of the synchronous I / O processing in the first tier storage server 10. Therefore, the asynchronous write processing unit 19 determines whether or not the synchronous I / O processing in the first layer storage server 10 is being executed for each block of the data to be written, based on the synchronous I / O in-progress flag. I made it.

〔2〕効果
上述のように、一実施形態に係るストレージシステム1では、第1階層ストレージサーバ10にて、前回のデータアクセス要求に係るI/O処理の完了時刻と現在時刻との差分時間を間欠時間として算出し、この間欠時間としきい値とを比較する。そして、クライアントコンピュータ50からデータアクセス要求を受信しなかったことを確認した後に、SSD30からHDD40への書き出し処理を実行する。これにより、第1階層ストレージサーバ10内のジョブの実行と、HDD40へのデータの書き出し処理との重複を回避することができる。
[2] Effect As described above, in the storage system 1 according to one embodiment, the first-tier storage server 10 sets the difference time between the completion time of the I / O process related to the previous data access request and the current time. It is calculated as an intermittent time, and this intermittent time is compared with the threshold value. Then, after confirming that the data access request has not been received from the client computer 50, the writing process from the SSD 30 to the HDD 40 is executed. As a result, it is possible to avoid duplication of job execution in the first-tier storage server 10 and data writing processing to the HDD 40.

したがって、HDD40へのデータの書き出し処理を最適化することができる。 Therefore, the data writing process to the HDD 40 can be optimized.

また、一実施形態に係るストレージシステム1において、同期I/O処理部17は、非同期書き出し処理部19を起動するまでの時間T2ndを算出する際、C回分の間欠時間の平均を用いる。これにより、当該システムの稼働状況に応じた平均的な間欠時間を考慮して、非同期書き出し処理部19を起動するまでの時間T2ndを算出することができる。 Further, in the storage system 1 according to the embodiment, the synchronous I / O processing unit 17 uses the average of the intermittent times of C times when calculating the time T 2nd until the asynchronous writing processing unit 19 is started. As a result, the time T 2nd until the asynchronous write processing unit 19 is started can be calculated in consideration of the average intermittent time according to the operating status of the system.

また、一実施形態に係るストレージシステム1において、同期I/O中フラグに基づき同期I/O処理部17が実行中ではないことを確認したうえで、非同期書き出し処理部19によるHDD40への書き出し処理を実行する。これにより、第1階層ストレージサーバ10での同期I/O処理部17による処理を妨げずに処理速度を維持することができる。 Further, in the storage system 1 according to the embodiment, after confirming that the synchronous I / O processing unit 17 is not being executed based on the synchronous I / O in progress flag, the asynchronous writing processing unit 19 writes to the HDD 40. To execute. As a result, the processing speed can be maintained without interfering with the processing by the synchronous I / O processing unit 17 in the first layer storage server 10.

〔3〕その他
上述した一実施形態及び変形例に係る技術は、以下のように変形、変更して実施することができる。
[3] Others The techniques related to the above-described embodiment and modified examples can be modified or modified as follows.

上述した一実施形態では、同期I/O処理部17と非同期書き出し処理部19とをそれぞれ備えたが、同期I/O処理部17が非同期書き出し処理部19の機能も併せもつものとしてもよい。その場合、同期I/O処理部17において同期I/O処理と非同期I/O処理とを実行し、同期I/O処理部17が、HDD30への非同期の書き出し処理を実行してもよい。 In the above-described embodiment, the synchronous I / O processing unit 17 and the asynchronous writing processing unit 19 are provided, respectively, but the synchronous I / O processing unit 17 may also have the function of the asynchronous writing processing unit 19. In that case, the synchronous I / O processing unit 17 may execute the synchronous I / O processing and the asynchronous I / O processing, and the synchronous I / O processing unit 17 may execute the asynchronous writing processing to the HDD 30.

上述した一実施形態では、同期I/O中フラグと非同期書き出し稼働中フラグとを備えたが、これらのフラグに替えて、例えばテーブル形式の情報として同期I/O処理部17と非同期書き出し処理部19との実行状況を管理するものとしてもよい。 In the above-described embodiment, the synchronous I / O in-progress flag and the asynchronous write-out in-execution flag are provided. It may be used to manage the execution status with 19.

上述した一実施形態では、クライアントコンピュータ50は、複数の第1階層ストレージサーバ#0〜#nのうちいずれの第1階層ストレージサーバ10にアクセスしてもよいものとしたが、これに限られない。例えば、クライアントコンピュータ#0は、第1階層ストレージサーバ#0に対してアクセスする構成(1対1で通信を行なう構成)としてもよい。 In one embodiment described above, the client computer 50 may access any of the first-tier storage servers 10 among the plurality of first-tier storage servers # 0 to # n, but the present invention is not limited to this. .. For example, the client computer # 0 may be configured to access the first-tier storage server # 0 (a configuration in which one-to-one communication is performed).

そして、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。 The present invention is not limited to the above-described embodiment, and can be modified in various ways without departing from the spirit of the present invention.

〔4〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
[4] Additional notes The following additional notes will be further disclosed with respect to the above embodiments.

(付記1)
第1の記憶装置と第2の記憶装置とに対して、アクセスコマンドに基づく処理を行なう情報処理装置において、
前回のアクセスコマンド処理の終了時刻と現在時刻との差分時間を間欠時間として算出し、所定時間以内の前記間欠時間の複数回分の平均を平均間欠時間として算出する算出部と、
前記アクセスコマンド処理を完了した後、前記平均間欠時間を超えて前記情報処理装置へのアクセスが行なわれなかった場合、前記第1の記憶装置から前記第2の記憶装置に対する書き出し処理を実行する非同期書き出し処理部と、
を備えることを特徴とする、情報処理装置。
(Appendix 1)
In an information processing device that performs processing based on an access command for the first storage device and the second storage device,
A calculation unit that calculates the difference time between the end time of the previous access command processing and the current time as the intermittent time, and calculates the average of multiple times of the intermittent time within the predetermined time as the average intermittent time.
When the information processing device is not accessed beyond the average intermittent time after the access command processing is completed, the writing process from the first storage device to the second storage device is executed asynchronously. Export processing unit and
An information processing device characterized by being equipped with.

(付記2)
前記非同期書き出し処理部は、前記平均間欠時間に基づき算出された起動時刻と現在時刻とを比較して、前記平均間欠時間を超えて前記情報処理装置へのアクセスが行なわれたか否かを判断する、
ことを特徴とする付記1記載の情報処理装置。
(Appendix 2)
The asynchronous writing processing unit compares the start time calculated based on the average intermittent time with the current time, and determines whether or not the information processing apparatus has been accessed beyond the average intermittent time. ,
The information processing device according to Appendix 1, wherein the information processing device is characterized by the above.

(付記3)
前記情報処理装置は、前記第1の記憶装置に対して書き込みを行なう同期書き込み処理部をさらに備え、
前記非同期書き出し処理部は、起動時に、前記同期書き込み処理部が実行中でないことを確認した後に前記第2の記憶装置に対して書き出し処理を実行する、
ことを特徴とする付記1又は2記載の情報処理装置。
(Appendix 3)
The information processing device further includes a synchronous writing processing unit that writes to the first storage device.
At startup, the asynchronous write processing unit executes write processing to the second storage device after confirming that the synchronous write processing unit is not being executed.
The information processing device according to Appendix 1 or 2, characterized in that.

(付記4)
第1の記憶装置と第2の記憶装置とに対して、アクセスコマンドに基づく処理を行なう情報処理装置のプロセッサに、
前回のアクセスコマンド処理の終了時刻と現在時刻との差分時間を間欠時間として算出し、所定時間以内の前記間欠時間の複数回分の平均を平均間欠時間として算出し、
前記アクセスコマンド処理を完了した後、前記平均間欠時間を超えて前記情報処理装置へのアクセスが行なわれなかった場合、前記第1の記憶装置から前記第2の記憶装置へ書き出す、
処理を実行させる、
ことを特徴とする、制御プログラム。
(Appendix 4)
To the processor of the information processing device that performs processing based on the access command for the first storage device and the second storage device.
The difference time between the end time of the previous access command processing and the current time is calculated as the intermittent time, and the average of multiple times of the intermittent time within the predetermined time is calculated as the average intermittent time.
When the information processing device is not accessed beyond the average intermittent time after the access command processing is completed, the information processing device is written from the first storage device to the second storage device.
To execute the process,
A control program characterized by that.

(付記5)
前記平均間欠時間に基づき算出された起動時刻と現在時刻とを比較して、前記平均間欠時間を超えて前記情報処理装置へのアクセスが行なわれたか否かを判断する、
処理を、前記プロセッサに実行させる、
ことを特徴とする、付記4記載の制御プログラム。
(Appendix 5)
By comparing the start-up time calculated based on the average intermittent time with the current time, it is determined whether or not the information processing apparatus has been accessed beyond the average intermittent time.
Let the processor execute the process,
The control program according to Appendix 4, wherein the control program is characterized by the above.

(付記6)
前記第1の記憶装置に対して書き込みを行なう処理と、
起動時に、前記第1の記憶装置に対して書き込みを行なう処理が実行中でないことを確認した後に前記第2の記憶装置に対して書き出し処理を実行する処理とを、
前記プロセッサに実行させる、
ことを特徴とする、付記4又は5記載の制御プログラム。
(Appendix 6)
The process of writing to the first storage device and
At startup, the process of executing the write process to the second storage device after confirming that the process of writing to the first storage device is not being executed.
Let the processor execute
The control program according to Appendix 4 or 5, characterized in that.

(付記7)
前回のアクセスコマンド処理の終了時刻と現在時刻との差分時間を間欠時間として算出し、所定時間以内の前記間欠時間の複数回分の平均を平均間欠時間として算出する処理と、
前記アクセスコマンド処理を完了した後、前記平均間欠時間を超えて情報処理装置へのアクセスが行なわれなかった場合、第1の記憶装置から第2の記憶装置への書き出す処理を実行する処理と、
を備えることを特徴とする、制御方法。
(Appendix 7)
The process of calculating the difference time between the end time of the previous access command processing and the current time as the intermittent time, and calculating the average of multiple times of the intermittent time within the predetermined time as the average intermittent time.
After completing the access command process, if the information processing device is not accessed beyond the average intermittent time, the process of executing the process of writing from the first storage device to the second storage device, and the process of executing the process of writing to the second storage device.
A control method, characterized in that.

(付記8)
前記平均間欠時間に基づき算出された起動時刻と現在時刻とを比較して、前記平均間欠時間を超えて前記情報処理装置へのアクセスが行なわれたか否かを判断する処理、
を備えることを特徴とする、付記7記載の制御方法。
(Appendix 8)
A process of comparing the startup time calculated based on the average intermittent time with the current time to determine whether or not the information processing apparatus has been accessed beyond the average intermittent time.
7. The control method according to Appendix 7, wherein the control method is provided with.

(付記9)
前記第1の記憶装置に対して書き込みを行なう処理と、
前記第1の記憶装置に対して書き込みを行なう処理が実行中でないことを確認した後に前記第2の記憶装置に対して書き出し処理を実行する処理と、
を備えることを特徴とする、付記7又は8記載の制御方法。
(Appendix 9)
The process of writing to the first storage device and
A process of executing the write process to the second storage device after confirming that the process of writing to the first storage device is not being executed, and a process of executing the write process to the second storage device.
The control method according to Appendix 7 or 8, wherein the control method is provided with.

1 ストレージシステム
10 第1階層ストレージサーバ(情報処理装置)
11 CPU
12 記憶部
13 メモリ
14 IF部
15 入力部
16 通信制御部
17 同期I/O処理部(算出部,同期書き込み処理部)
18 デバイス制御部
19 非同期書き出し処理部
20 第2階層ストレージサーバ
21 CPU
22 記憶部
23 メモリ
24 IF部
25 入力部
26 通信制御部
27 I/O処理部
28 デバイス制御部
30 SSD(第1の記憶装置)
40 HDD(第2の記憶装置)
50 クライアントコンピュータ
51 CPU
52 記憶部
53 メモリ
54 IF部
55 入力部
56 要求発行部
57 通信制御部
90 第1制御プログラム
91 第2制御プログラム
92 クライアントプログラム
1 Storage system 10 First-tier storage server (information processing device)
11 CPU
12 Storage unit 13 Memory 14 IF unit 15 Input unit 16 Communication control unit 17 Synchronous I / O processing unit (calculation unit, synchronous writing processing unit)
18 Device control unit 19 Asynchronous write processing unit 20 Second-tier storage server 21 CPU
22 Storage unit 23 Memory 24 IF unit 25 Input unit 26 Communication control unit 27 I / O processing unit 28 Device control unit 30 SSD (first storage device)
40 HDD (second storage device)
50 Client computer 51 CPU
52 Storage unit 53 Memory 54 IF unit 55 Input unit 56 Request issuing unit 57 Communication control unit 90 1st control program 91 2nd control program 92 Client program

Claims (5)

第1の記憶装置と第2の記憶装置とに対して、アクセスコマンドに基づく処理を行なう情報処理装置において、
前回のアクセスコマンド処理の終了時刻と現在時刻との差分時間を間欠時間として算出し、所定時間以内の前記間欠時間の複数回分の平均を平均間欠時間として算出する算出部と、
前記アクセスコマンド処理を完了した後、前記平均間欠時間を超えて前記情報処理装置へのアクセスが行なわれなかった場合、前記第1の記憶装置から前記第2の記憶装置に対する書き出し処理を実行する非同期書き出し処理部と、
を備えることを特徴とする、情報処理装置。
In an information processing device that performs processing based on an access command for the first storage device and the second storage device,
A calculation unit that calculates the difference time between the end time of the previous access command processing and the current time as the intermittent time, and calculates the average of multiple times of the intermittent time within the predetermined time as the average intermittent time.
When the information processing device is not accessed beyond the average intermittent time after the access command processing is completed, the writing process from the first storage device to the second storage device is executed asynchronously. Export processing unit and
An information processing device characterized by being equipped with.
前記非同期書き出し処理部は、前記平均間欠時間に基づき算出された起動時刻と現在時刻とを比較して、前記平均間欠時間を超えて前記情報処理装置へのアクセスが行なわれたか否かを判断する、
ことを特徴とする請求項1記載の情報処理装置。
The asynchronous writing processing unit compares the start time calculated based on the average intermittent time with the current time, and determines whether or not the information processing apparatus has been accessed beyond the average intermittent time. ,
The information processing apparatus according to claim 1.
前記情報処理装置は、前記第1の記憶装置に対して書き込みを行なう同期書き込み処理部をさらに備え、
前記非同期書き出し処理部は、起動時に、前記同期書き込み処理部が実行中でないことを確認した後に前記第2の記憶装置に対して書き出し処理を実行する、
ことを特徴とする請求項1又は2記載の情報処理装置。
The information processing device further includes a synchronous writing processing unit that writes to the first storage device.
At startup, the asynchronous write processing unit executes write processing to the second storage device after confirming that the synchronous write processing unit is not being executed.
The information processing apparatus according to claim 1 or 2.
第1の記憶装置と第2の記憶装置とに対して、アクセスコマンドに基づく処理を行なう情報処理装置のプロセッサに、
前回のアクセスコマンド処理の終了時刻と現在時刻との差分時間を間欠時間として算出し、所定時間以内の前記間欠時間の複数回分の平均を平均間欠時間として算出し、
前記アクセスコマンド処理を完了した後、前記平均間欠時間を超えて前記情報処理装置へのアクセスが行なわれなかった場合、前記第1の記憶装置から前記第2の記憶装置へ書き出す、
処理を実行させる、
ことを特徴とする、制御プログラム。
To the processor of the information processing device that performs processing based on the access command for the first storage device and the second storage device.
The difference time between the end time of the previous access command processing and the current time is calculated as the intermittent time, and the average of multiple times of the intermittent time within the predetermined time is calculated as the average intermittent time.
When the information processing device is not accessed beyond the average intermittent time after the access command processing is completed, the information processing device is written from the first storage device to the second storage device.
To execute the process,
A control program characterized by that.
前回のアクセスコマンド処理の終了時刻と現在時刻との差分時間を間欠時間として算出し、所定時間以内の前記間欠時間の複数回分の平均を平均間欠時間として算出する処理と、
前記アクセスコマンド処理を完了した後、前記平均間欠時間を超えて情報処理装置へのアクセスが行なわれなかった場合、第1の記憶装置から第2の記憶装置への書き出す処理を実行する処理と、
を備えることを特徴とする、制御方法。
The process of calculating the difference time between the end time of the previous access command processing and the current time as the intermittent time, and calculating the average of multiple times of the intermittent time within the predetermined time as the average intermittent time.
After completing the access command process, if the information processing device is not accessed beyond the average intermittent time, the process of executing the process of writing from the first storage device to the second storage device, and the process of executing the process of writing to the second storage device.
A control method, characterized in that.
JP2019072926A 2019-04-05 2019-04-05 Information processor, control program, and control method Pending JP2020170458A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019072926A JP2020170458A (en) 2019-04-05 2019-04-05 Information processor, control program, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019072926A JP2020170458A (en) 2019-04-05 2019-04-05 Information processor, control program, and control method

Publications (1)

Publication Number Publication Date
JP2020170458A true JP2020170458A (en) 2020-10-15

Family

ID=72746833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019072926A Pending JP2020170458A (en) 2019-04-05 2019-04-05 Information processor, control program, and control method

Country Status (1)

Country Link
JP (1) JP2020170458A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008149657A1 (en) * 2007-06-05 2008-12-11 Nec Corporation I/o control system, i/o control method, and i/o control program
JP2012194882A (en) * 2011-03-17 2012-10-11 Sony Corp Memory control device, memory device, memory control method and program
JP2017049872A (en) * 2015-09-03 2017-03-09 富士通株式会社 Storage control device, storage control program and storage control method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008149657A1 (en) * 2007-06-05 2008-12-11 Nec Corporation I/o control system, i/o control method, and i/o control program
JP2012194882A (en) * 2011-03-17 2012-10-11 Sony Corp Memory control device, memory device, memory control method and program
JP2017049872A (en) * 2015-09-03 2017-03-09 富士通株式会社 Storage control device, storage control program and storage control method

Similar Documents

Publication Publication Date Title
US10496613B2 (en) Method for processing input/output request, host, server, and virtual machine
US11960749B2 (en) Data migration method, host, and solid state disk
US9411620B2 (en) Virtual storage migration method, virtual storage migration system and virtual machine monitor
JP4464378B2 (en) Computer system, storage system and control method for saving storage area by collecting the same data
EP2254036A2 (en) Storage apparatus and data copy method
JP2013531283A (en) Storage system including a plurality of storage devices having both a storage virtualization function and a capacity virtualization function
JP2006268139A (en) Data reproduction device, method and program and storing system
WO2017177953A1 (en) Method and apparatus for setting data processing path for application in storage server
JP2020173727A (en) Storage management device, information system, and storage management method
JP6028415B2 (en) Data migration control device, method and system for virtual server environment
US8566541B2 (en) Storage system storing electronic modules applied to electronic objects common to several computers, and storage control method for the same
JP5849794B2 (en) Storage control device, storage control method, and storage control program
US10719906B2 (en) Processing system for graphs and operating method thereof
US20170300255A1 (en) Method and Apparatus for Detecting Transaction Conflict and Computer System
JP5167410B2 (en) Storage system having a plurality of microprocessors, and processing sharing method in the storage system
JP2015158910A (en) Memory subsystem with wrapped-to-continuous read
US10838949B2 (en) Shared resource update apparatus and shared resource update method
US20210132862A1 (en) Method for storage management, electronic device, and computer program product
CN107329798B (en) Data replication method and device and virtualization system
JP4915365B2 (en) Data storage method and apparatus, duplicate data storage method and apparatus, and control program thereof
JP2020170458A (en) Information processor, control program, and control method
US11720164B1 (en) Achieving power savings and low latency for storage
KR102245309B1 (en) Method of data storage and operating methode of datacenter cluster caching system
CN111694635A (en) Service quality control method and device
US11722564B1 (en) Dynamic command feedback to limit impact of host-copy migration background copy load

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190607

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220802

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230214