JP2005346426A - Data sharing disk device - Google Patents
Data sharing disk device Download PDFInfo
- Publication number
- JP2005346426A JP2005346426A JP2004165509A JP2004165509A JP2005346426A JP 2005346426 A JP2005346426 A JP 2005346426A JP 2004165509 A JP2004165509 A JP 2004165509A JP 2004165509 A JP2004165509 A JP 2004165509A JP 2005346426 A JP2005346426 A JP 2005346426A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- command
- block
- data
- virtual disk
- 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
Links
Images
Abstract
Description
本発明は、複数のメインフレーム及びオープン系サーバとの間でデータを共有するディスク装置に関する。 The present invention relates to a disk device that shares data among a plurality of mainframes and open servers.
磁気ディスク装置の大容量化に伴い、メインフレームシステムとオープンシステムとの間で、ディスク装置に記録されたデータを共有したいとのニーズが生まれた。しかし、メインフレームシステムとオープンシステムとでは、オペレーティングシステム(OS)及びインターフェースが異なるだけでなく、ディスク装置に記録するデータの形式も異なる。このため、通常は、メインフレームが記録したデータをオープンシステムが読み出すことや、その逆の動作を行うことができない(すなわち、メインフレームシステムとオープンシステムとでデータを共有することができない)。そこで、メインフレームシステムとオープンシステムとの間のデータ形式の変換を行う機構(ソフトウエア)と、メインフレームシステムのデータを記録する第1のディスク装置と、オープンシステムのデータを記録する第2のディスク装置と、データ形式の変換の際に作成される中間データを記録する第3のディスク装置とを備えるデータ記憶システムが提案されている(例えば、特許文献1参照。)。 With the increase in capacity of magnetic disk devices, there has been a need to share data recorded on disk devices between mainframe systems and open systems. However, the mainframe system and the open system not only differ in operating system (OS) and interface, but also differ in the format of data recorded on the disk device. For this reason, normally, the data recorded by the main frame cannot be read by the open system and vice versa (that is, the main frame system and the open system cannot share data). Therefore, a mechanism (software) for converting the data format between the mainframe system and the open system, a first disk device for recording data of the mainframe system, and a second for recording data of the open system There has been proposed a data storage system including a disk device and a third disk device for recording intermediate data created at the time of data format conversion (see, for example, Patent Document 1).
このデータ記憶システムによれば、第1のディスク装置に記録されたメインフレームシステムのデータは、一括して、データ形式を変換されて、第2のディスク装置に複写される。同様にして、第2のディスク装置に記録されたオープンシステムのデータは、一括して、データ形式を変換されて、第1のディスク装置に複写される。その結果、第1のディスク装置と第2のディスク装置には、同一の内容のデータが異なる形式で記録され、メインフレームシステムとオープンシステムがデータの内容を共有することができる。
上記の特許文献1に記載された発明によれば、第1のディスク装置と第2のディスク装置には、同一の内容のデータが異なる形式で記録され、さらに、第3のディスク装置には、データ形式の変換の際に作成される中間データが記録される。その結果、実際に記録されるデータの3倍の記憶容量が必要になる。 According to the invention described in the above-mentioned Patent Document 1, data of the same content is recorded in different formats on the first disk device and the second disk device, and further, on the third disk device, Intermediate data created during data format conversion is recorded. As a result, a storage capacity that is three times the data actually recorded is required.
本発明は、メインフレームシステム及びオープンシステムがデータを共有することができ、かつ、必要な記憶容量が小さいディスク装置を提供することを目的とする。 SUMMARY OF THE INVENTION An object of the present invention is to provide a disk device that allows a mainframe system and an open system to share data and requires a small storage capacity.
本発明は、複数のホストコンピュータ装置に接続され、前記ホストコンピュータ装置からの要求に基づいてデータを格納するデータ共有ディスク装置において、前記複数のホストコンピュータ装置の各々と接続される複数の仮想ディスク部と、複数の前記複数の仮想ディスク部に接続されるネットワーク部と、前記ネットワーク部に接続されるコントローラ部と、前記コントローラ部に接続されるディスク部と、を備え、前記仮想ディスク部の各々は、前記ホストコンピュータ装置とブロックアクセスプロトコルによる通信を行い、及び、前記ネットワーク部を経由して、前記コントローラ部とファイルアクセスプロトコルによる通信を行い、前記コントローラ部は、前記ディスク部とブロックアクセスプロトコルによる通信を行うことを特徴とする。 The present invention relates to a plurality of virtual disk units connected to each of the plurality of host computer devices in a data sharing disk device that is connected to the plurality of host computer devices and stores data based on a request from the host computer device. A network unit connected to the plurality of virtual disk units, a controller unit connected to the network unit, and a disk unit connected to the controller unit, each of the virtual disk units Communicating with the host computer device using a block access protocol, and via the network unit, communicating with the controller unit using a file access protocol, and the controller unit communicating with the disk unit using a block access protocol Special to do To.
本発明によると、メインフレームシステム及びオープンシステムがデータを共有することができ、かつ、必要な記憶容量が小さい記憶装置を提供することができる。 According to the present invention, a mainframe system and an open system can share data, and a storage device with a small storage capacity can be provided.
まず、本発明の概要を、図1を参照して説明する。 First, the outline of the present invention will be described with reference to FIG.
図1は、本発明の実施の形態のディスク装置の構成を説明するブロック図である。 FIG. 1 is a block diagram illustrating the configuration of a disk device according to an embodiment of the present invention.
本発明を適用したディスク装置101は、一つ又は複数の仮想ディスク部102、ネットワーク部109、コントローラ部110及びディスク部116によって構成される。図1のディスク装置101は、仮想ディスク部102a及び仮想ディスク部102bを備える。仮想ディスク部102a、仮想ディスク部102b及びコントローラ部110は、ネットワーク部109によって相互に通信可能に接続される。
A
ディスク装置101には、ホストコンピュータとして、サーバ117及びメインフレーム118が接続される。
A
サーバ117は、オープン系のコンピュータ装置であり、例えば、UNIX(登録商標)が稼動するワークステーションである。サーバ117は、CPU、メモリ、記憶装置、入出力装置等(図示省略)を備える。
The
サーバ117は、さらに、外部記憶装置と接続するためのインターフェース(例えば、ファイバーチャネル(FC)インターフェース、SCSIインターフェース、iSCSIインターフェース等)を備える(図示省略)。仮想ディスク部102aは、このインターフェースと通信可能に接続される。
The
メインフレーム118は、メインフレーム系のコンピュータ装置であり、CPU、メモリ、記憶装置、入出力装置等(図示省略)を備える。
The
メインフレーム118は、さらに、外部記憶装置と接続するためのインターフェース(例えば、ESCONインターフェース、FICONインターフェース等。なお、ESCON及びFICONは、米国IBM Corporationの登録商標又は商標である)を備える(図示省略)。仮想ディスク部102bは、このインターフェースと通信可能に接続される。
The
仮想ディスク部102aとサーバ117との間の通信は、ブロックアクセスプロトコル(例えば、FCプロトコル、SCSIプロトコル、iSCSIプロトコル等)で行われる。仮想ディスク部102bとメインフレーム118との間の通信は、ブロックアクセスプロトコル(例えば、ESCONプロトコル、FICONプロトコル等)で行われる。
Communication between the
一方、仮想ディスク部102a、102b及びコントローラ部110の間の通信は、ファイルアクセスプロトコル(例えば、NFS(Network File System)、CIFS(Common Internet File System)、DAFS(Direct Access File System)等)で行われる。
On the other hand, communication between the
サーバ117は、仮想ディスク部102aにブロックI/Oコマンドを発行することによって、データの書き込み又は読み出し要求を行う。
The
仮想ディスク部102aは、サーバ117から受け付けたブロックI/OコマンドをファイルI/Oコマンドに変換して、ネットワーク部109を経由して、コントローラ部110に送信する。
The
コントローラ部110は、当該ファイルI/OコマンドをブロックI/Oコマンドに変換して、ディスク部116にアクセスする。
The
このアクセスに対する応答は、ディスク部116からブロックI/Oコマンドとしてコントローラ部110に送信される。
A response to this access is transmitted from the
コントローラ部110は、ディスク部116から受けた応答を、ファイルI/Oコマンドに変換して、ネットワーク部109を経由して、仮想ディスク部102aに送信する。
The
仮想ディスク部102aは、コントローラ部110から受けた応答を、ブロックI/Oコマンドに変換して、サーバ117に送信する。
The
同様にして、仮想ディスク部102bは、メインフレーム118から受け付けたブロックI/Oコマンドを、ファイルI/Oコマンドに変換して、コントローラ部110に送信する。また、コントローラ部110から受けたファイルI/Oコマンドを、ブロックI/Oコマンドに変換して、メインフレーム118に送信する。
Similarly, the
結局、仮想ディスク部102a及び102bは、それぞれ、サーバ117及びメインフレーム118に対して、通常のディスクドライブ(又は、ディスクアレイ)として動作する。言い換えると、サーバ117及びメインフレーム118は、それぞれ、仮想ディスク部102a及び102bを、通常のディスクドライブ(又は、ディスクアレイ)であると認識する。そして、サーバ117及びメインフレーム118は、仮想ディスク部102a及び102bの論理ユニット(LU)又は論理デバイス(LDEV)に対してデータを入出力する。
Eventually, the
オープン系のサーバ117が仮想ディスク部102aとやり取りするブロックI/Oは、FBA(Fixed Block Architecture)形式である。一方、メインフレーム118が仮想ディスク部102bとやり取りするブロックI/Oは、CKD(Count Key Data)形式である。一つのディスク装置には、複数のブロック形式でデータを記録することができない。すなわち、異なる形式のブロックI/Oを同一のディスク装置に行うことはできない。しかし、本実施の形態によれば、いずれの形式のブロックI/Oも、仮想ディスク部102a及び102bによって同一のプロトコルのファイルI/Oに変換されてネットワーク部109に送信される。その結果、サーバ117及びメインフレーム118は、同一のコントローラ部110を経由して、同一のディスク部116にアクセスすることができる。
The block I / O exchanged between the
本実施の形態において、コントローラ部110は、NFSを提供する。すなわち、コントローラ部110は、仮想ディスク部102に対して、NFS上の一つのファイルを、仮想ディスク部102のデータを格納するデータ領域として提供する。メインフレーム系のCKD形式のディスク又はオープン系のFBA形式のディスクのデータイメージが、コントローラ部110のファイルにマップされる。
In the present embodiment, the
なお、本実施の形態では、コントローラ部110とディスク部116との間でやり取りされるブロックは、FBA形式とするが、他の形式であってもよい。
In this embodiment, the blocks exchanged between the
次に、ディスク装置101の各部の構成を詳細に説明する。
Next, the configuration of each part of the
仮想ディスク部102aは、相互に通信可能に接続されたホストインターフェース103、ネットワークインターフェース104、CPU105、メモリ106及びキャッシュ部107によって構成される。
The
ホストインターフェース103は、サーバ117と接続され、サーバ117との間で、データ通信を行う。具体的には、サーバ117との間で、ブロックI/Oコマンドをやり取りする。ホストインターフェース103は、例えば、FCインターフェースであるが、SCSIインターフェース、iSCSIインターフェース又はその他のインターフェースであってもよい。また、ホストインターフェース103は、一つの仮想ディスク部102aに複数設けられてもよい。この場合、それぞれのホストインターフェース103にサーバ117が接続されてもよい。
The
ネットワークインターフェース104は、ネットワーク部109に接続され、コントローラ部110との間で、データ通信を行う。具体的には、コントローラ部110との間で、ファイルI/Oコマンドをやり取りする。ネットワークインターフェース104は、一つの仮想ディスク部102aに複数設けられてもよい。
The
CPU105は、メモリ106に格納されたプログラムを実行して仮想ディスク部102aを制御する。
The
メモリ106には、CPU105によって実行されるプログラムが格納される。メモリ106には、少なくとも、コマンド変換部108及びキャッシュ同期部119が格納される。
The
コマンド変換部108は、サーバ117とホストインターフェース103との間でやり取りされるブロックI/Oコマンド(例えば、SCSIコマンド)を、ネットワークインターフェース104とコントローラ部110との間でやり取りされるファイルI/Oコマンド(例えば、NFSで使用されるコマンド)に変換し、また、その逆の変換をするプログラムである。
The
キャッシュ同期部119については、後で、図3を用いて説明する。
The
メモリ106には、さらに、CPU105がプログラムを実行する際に処理されるデータが一時的に格納されてもよい。
The
キャッシュ部107は、サーバ117がディスク装置101にデータを書き込み、又は読み出す処理を高速化するために使用されるメモリである。具体的には、キャッシュ部107には、サーバ117がディスク部116に書き込むデータ又はサーバ117がディスク部116から読み出すデータが一時的に記録される。
The
キャッシュ部107は、例えば、半導体メモリであるが、高速な磁気ディスク装置又は他の種類の記憶装置であってもよい。また、メモリ106の一部がキャッシュ部107として使用されてもよい。また、仮想ディスク部102aは、データ処理を高速化する必要がない場合、キャッシュ部107を備えなくてもよい。
The
仮想ディスク部102aにキャッシュ部107が設けられると、サーバ117は、ネットワーク部109及びコントローラ部110を経由せずにキャッシュ部107にアクセスすることができるため、アクセス速度が向上する。
When the
仮想ディスク部102bの構成は、仮想ディスク部102aと同様である。
The configuration of the
ただし、仮想ディスク部102bのホストインターフェース(図示省略)は、メインフレーム118と接続され、サーバ117からのデータの書き込み/読み出し要求を処理するインターフェース(例えば、ESCON、FICON等)である。
However, the host interface (not shown) of the
また、仮想ディスク部102bのコマンド変換部(図示省略)は、メインフレーム118とホストインターフェース(図示省略)との間でやり取りされるブロックI/Oコマンド(例えば、ESCONコマンド)を、ネットワークインターフェース(図示省略)とコントローラ部110との間でやり取りされるファイルI/Oコマンド(例えば、NFSで使用されるコマンド)に変換し、また、その逆変換をする。
The command conversion unit (not shown) of the
なお、仮想ディスク部102aが複数のホストインターフェース103を備える場合、そのうちの一つがサーバ117と接続され、別の一つがメインフレーム118と接続されてもよい。この場合、サーバ117と接続されるホストインターフェース103は、例えば、FCインターフェースであり、メインフレーム118と接続されるホストインターフェース103は、例えば、ESCONインターフェースである。また、コマンド変換部108は、例えば、SCSIコマンドとNFSで使用されるコマンドとを変換する機能と、ESCONコマンドとNFSで使用されるコマンドとを変換する機能とを備える。
When the
仮想ディスク部102及びコントローラ部110は、ネットワーク部109を介してデータ通信を行う。ネットワーク部109は、例えば、TCP/IPによるLANであり、その上で、NFS、CIFS又はDAFS等が動作する。ネットワーク部109の物理層は、USB、InfiniBand又はその他のインターフェースであってもよい。
The virtual disk unit 102 and the
コントローラ部110は、相互に通信可能に接続されたネットワークインターフェース111、ディスクインターフェース112、CPU113及びメモリ114によって構成される。
The
ネットワークインターフェース111は、ネットワーク部109に接続され、仮想ディスク部102との間で、データ通信を行う。具体的には、仮想ディスク部102との間で、ファイルI/Oコマンドをやり取りする。ネットワークインターフェース111は、コントローラ部110に複数設けられてもよい。
The
ディスクインターフェース112は、コントローラ部110とディスク部116との間で、データ通信を行う。具体的には、ディスク部116との間で、ブロックI/Oコマンドをやり取りする。ディスクインターフェース112は、例えば、FCインターフェースであるが、SCSIインターフェースやATA(AT Attachment)であってもよい。
The
CPU113は、メモリ114に格納されたプログラムを実行してコントローラ部110を制御する。
The
メモリ114には、CPU113によって実行されるプログラムが格納される。メモリ106には、少なくとも、コマンド変換部115が格納される。コマンド変換部115は、仮想ディスク部102とネットワークインターフェース111との間でやり取りされるファイルI/Oコマンド(例えば、NFSで使用されるコマンド)を、ディスクインターフェース112とディスク部116との間でやり取りされるブロックI/Oコマンド(例えば、SCSIコマンド)に変換し、また、その逆変換をするプログラムである。
The
また、メモリ114には、CPU113がプログラムを実行する際に処理されるデータが一時的に格納されてもよい。
The
図1には示さないが、コントローラ部110は、仮想ディスク部102と同様に、ネットワークインターフェース111とディスクインターフェース112との間で送受信されるデータを一時的に記憶するキャッシュ部を備えてもよい。また、メモリ114の一部がキャッシュ部として使用されてもよい。
Although not shown in FIG. 1, similarly to the virtual disk unit 102, the
ディスク部116は、ディスクインターフェース112に接続された一つ又は複数の磁気ディスク装置である。ディスク部116は、複数のディスクによって構成されるディスクアレイであってもよい。ディスク部116には、サーバ117又はメインフレーム118から書き込まれたデータが記録される。
The
ディスク部116は、論理的なディスクドライブである論理ユニット(LU)を構成する。すなわち、ディスク部116を構成する物理的なディスクドライブの一部若しくは全部の領域(又は、複数の物理的なディスクドライブの一部若しくは全部の領域の集合体)が一つ又は複数のLUを構成する。
The
サーバ117に接続された仮想ディスク部102aは、ディスク部116内の一つ又は複数のLUに割り当てられる。すなわち、サーバ117は、仮想ディスク部102aを一つ又は複数のLUとして認識する。
The
一方、メインフレーム118に接続された仮想ディスク部102bは、ディスク部116内の一つ又は複数のLUに割り当てられ、当該LUをメインフレーム118に論理デバイス(LDEV)として認識させる。ここで、LDEVとは、メインフレーム118によって認識される論理的なディスクドライブである。メインフレーム118は、仮想ディスク部102bを一つ又は複数のLDEVとして認識する。
On the other hand, the
なお、仮想ディスク部102aに割り当てられたLUと仮想ディスク部102bに割り当てられたLUとは、同じものがあってもよい。
Note that the LU assigned to the
コントローラ部110とディスク部116の組み合わせは、いわゆるNAS(Network Attached Storage)に相当する。ここで、コントローラ部110は、いわゆるNASヘッドである。
The combination of the
次に、ディスク装置101の動作を説明する。
Next, the operation of the
図2は、本発明の実施の形態のディスク装置101が実行するデータの読み出し処理のフローチャートである。
FIG. 2 is a flowchart of data read processing executed by the
仮想ディスク部102では、まず、ホストインターフェース103が、サーバ117又はメインフレーム118からデータの読み出し要求を受ける(201)。この読み出し要求は、サーバ117又はメインフレーム118が、データの読み出しを要求するブロックI/Oコマンドを発行することによって行われる。
In the virtual disk unit 102, first, the
このとき、サーバ117又はメインフレーム118は、ホストインターフェース103を、通常のディスクドライブ(又は、ディスクアレイ)として認識する。
At this time, the
次に、CPU105は、キャッシュ部107に当該読み出し要求の目的のデータが記録されているか否かを判定する(202)。
Next, the
キャッシュ部107に当該読み出し要求の目的のデータが記録されていない場合は、コマンド変換部108が、当該読み出し要求のブロックI/Oコマンドを、ファイルI/Oコマンドに変換する(203)。例えば、コマンド変換部108は、サーバ117から受けたSCSIコマンド又はメインフレーム118から受けたESCONコマンドを、NFSで使用されるコマンドに変換する。
If the target data for the read request is not recorded in the
次に、ネットワークインターフェース104が、当該読み出し要求のファイルI/Oコマンドを、ネットワーク部109を経由して、コントローラ部110に送信する(204)。
Next, the
コントローラ部110では、ネットワークインターフェース111が仮想ディスク102から読み出し要求のファイルI/Oコマンドを受けると、コマンド変換部115が、当該ファイルI/OコマンドをブロックI/Oコマンドに変換する(205)。例えば、コマンド変換部115は、NFSで使用されるコマンドを、SCSIコマンドに変換する。続いて、ディスクインターフェース112が当該ブロックI/Oコマンドをディスク部116に送信する。
In the
ディスク部116は、コントローラ部110から読み出し要求のブロックI/Oコマンドを受けると、当該読み出し要求の目的のデータを読み出して、コントローラ部110にブロックI/Oコマンドで応答する(206)。
Upon receiving the read request block I / O command from the
コントローラ部110では、ディスクインターフェース111がディスク部116から応答のブロックI/Oコマンドを受けると、コマンド変換部115が、当該ブロックI/OコマンドをファイルI/Oコマンドに変換する(207)。例えば、コマンド変換部115は、SCSIコマンドを、NFSで使用されるコマンドに変換する。続いて、ネットワークインターフェース111が、当該ファイルI/Oコマンドを、ネットワーク部109を経由して、仮想ディスク部102に送信する(208)。
In the
仮想ディスク部102では、ネットワークインターフェース104がコントローラ部110から応答のファイルI/Oコマンドを受けると、コマンド変換部108が、当該ファイルI/OコマンドをブロックI/Oコマンドに変換する(209)。例えば、コマンド変換部108は、NFSで使用されるコマンドを、SCSIコマンド又はESCONコマンドに変換する。続いて、ホストインターフェース103が当該ブロックI/Oコマンドをサーバ117又はメインフレーム118に送信して(210)、データの読み出し処理を終了する。
In the virtual disk unit 102, when the
一方、上記のステップ202において、キャッシュ部107に当該読み出し要求の目的のデータが記録されている場合、キャッシュ部107から当該データを読み出して、サーバ117又はメインフレーム118に応答のブロックI/Oコマンドを送信して(211)、データの読み出し処理を終了する。この場合、ディスク部116からデータを読み出す必要がない上に、ブロックI/OをファイルI/Oに変換する必要もないため、データ読み出し処理が短時間で終了する。
On the other hand, if the target data of the read request is recorded in the
このように、仮想ディスク部102は、サーバ117又はメインフレーム118に対して、ディスク装置として動作する。このため、サーバ117又はメインフレーム118のオペレーティングシステムに大幅な変更を加える必要がない。
As described above, the virtual disk unit 102 operates as a disk device with respect to the
なお、CPU105は、ステップ203から209によってディスク部116から読み出されたデータをキャッシュ部107に記録してもよい。その結果、次回以降の同一のデータを目的とした読み出し処理に要する時間を短縮することができる。
Note that the
図3は、本発明の実施の形態のディスク装置101が実行するデータの書き込み処理のフローチャートである。
FIG. 3 is a flowchart of data write processing executed by the
仮想ディスク部102では、まず、ホストインターフェース103が、サーバ117又はメインフレーム118からデータの書き込み要求を受ける(301)。この書き込み要求は、サーバ117又はメインフレーム118が、データの書き込みを要求するブロックI/Oコマンドを発行することによって行われる。
In the virtual disk unit 102, first, the
次に、CPU105は、キャッシュ部107に当該書き込み要求の目的のデータを記録することができるか否かを判定する(302)。例えば、キャッシュ部107に十分な空き容量がない場合、又は、ディスク装置101の管理者によってキャッシュ部107の使用が禁止されている場合は、キャッシュ部107に当該書き込み要求に係るデータを記録することができない。
Next, the
キャッシュ部107に当該書き込み要求に係るデータを記録することができない場合は、コマンド変換部108が、当該書き込み要求のブロックI/Oコマンドを、ファイルI/Oコマンドに変換する(303)。例えば、コマンド変換部108は、サーバ117から受けたSCSIコマンド又はメインフレーム118から受けたESCONコマンドを、NFSで使用されるコマンドに変換する。
If the data related to the write request cannot be recorded in the
次に、ネットワークインターフェース104が、当該書き込み要求のファイルI/Oコマンドを、ネットワーク部109を経由して、コントローラ部110に送信する(304)。
Next, the
コントローラ部110では、ネットワークインターフェース111が仮想ディスク102から書き込み要求のファイルI/Oコマンドを受けると、コマンド変換部115が、当該ファイルI/OコマンドをブロックI/Oコマンドに変換する(305)。例えば、コマンド変換部115は、NFSで使用されるコマンドを、SCSIコマンドに変換する。続いて、ディスクインターフェース112が当該ブロックI/Oコマンドをディスク部116に送信する。
In the
ディスク部116は、コントローラ部110から書き込み要求のブロックI/Oコマンドを受けると、当該書き込み要求の目的のデータを書き込んで、コントローラ部110にブロックI/Oコマンドで応答する(306)。
Upon receiving the write request block I / O command from the
コントローラ部110では、ディスクインターフェース111がディスク部116から応答のブロックI/Oコマンドを受けると、コマンド変換部115が、当該ブロックI/OコマンドをファイルI/Oコマンドに変換する(307)。例えば、コマンド変換部115は、SCSIコマンドを、NFSで使用されるコマンドに変換する。続いて、ネットワークインターフェース111が、当該ファイルI/Oコマンドを、ネットワーク部109を経由して、仮想ディスク部102に送信する(308)。
In the
仮想ディスク部102では、ネットワークインターフェース104がコントローラ部110から応答のファイルI/Oコマンドを受けると、コマンド変換部108が、当該ファイルI/OコマンドをブロックI/Oコマンドに変換する(309)。例えば、コマンド変換部108は、NFSで使用されるコマンドを、SCSIコマンド又はESCONコマンドに変換する。続いて、ホストインターフェース103が当該ブロックI/Oコマンドをサーバ117又はメインフレーム118に送信する(310)。
In the virtual disk unit 102, when the
次に、CPU105は、キャッシュ同期部119にキャッシュ同期処理を実行させる。キャッシュ同期部119は、他の仮想ディスク部102に対して、それぞれのキャッシュ部107に記憶されている当該書き込み要求に係るデータに対応するデータを消去する要求を発行する(311)。この同期処理によって、キャッシュデータが常に最新であることが保証される。
Next, the
例えば、メインフレーム118が仮想ディスク部102bを経由してディスク部116からデータを読み出すと、そのデータが仮想ディスク部102bのキャッシュ部(図示省略)に記録される。次に、サーバ117が仮想ディスク部102aを経由してディスク部116の当該データを更新すると、仮想ディスク部102aの仮想ディスク部102bのキャッシュ部内の当該データは最新でなくなる。
For example, when the
このとき、本実施の形態では、キャッシュ同期部119が、仮想ディスク部102bに対して、キャッシュ部内の当該データを消去する要求を発行する(311)。
At this time, in this embodiment, the
また、仮想ディスク部102aのキャッシュ同期部119は、仮想ディスク部102bに対して、キャッシュ部内の当該データを更新する要求を発行してもよい。
Further, the
また、ディスク部116がキャッシュ同期部(図示省略)を有してもよい。この場合、ディスク部116のキャッシュ同期部は、当該データが更新された時点で、コントローラ部110が仮想ディスク部102a及び102bに対して、キャッシュ部内の当該データを消去するキャッシュ同期処理要求を発行してもよい。
Further, the
以上で、データの書き込み処理を終了する。 This completes the data writing process.
一方、上記のステップ302において、キャッシュ部107に当該書き込み要求に係るデータを記録することができる場合は、キャッシュ部107に当該データを書き込んで、サーバ117又はメインフレーム118に応答のブロックI/Oコマンドを送信して(312)、ステップ311に進む。
On the other hand, when the data related to the write request can be recorded in the
上記の図2及び図3で説明した処理において、ディスク部116の同一LU上の同一データに対してサーバ117及びメインフレーム118が同時にアクセスしようとした場合、排他制御が行われる。すなわち、少しでも早く到着したアクセス要求を先に処理し、その処理が終了するまでは、遅れて到着したアクセス要求は処理されない。
In the processing described with reference to FIGS. 2 and 3 described above, exclusive control is performed when the
なお、図2及び図3に示す手順のうち、CPU105が行う手順(コマンド変換部108が行う手順を含む)は、サーバ117又はメインフレーム118のCPU(図示省略)によって実行されてもよい。すなわち、仮想ディスク部102内の処理をサーバ117又はメインフレーム118のCPUに実行させ、仮想ディスク部102は、ホストインターフェース103へのAPI(Application Program Interface)のみをサーバ117又はメインフレーム118に提供してもよい。
2 and 3, the procedure performed by the CPU 105 (including the procedure performed by the command conversion unit 108) may be executed by the CPU of the
また、サーバ117又はメインフレーム118が、ネットワーク部109のプロトコルに適合するネットワークインターフェースを備える場合、そのネットワークインターフェースをネットワーク部109に直接接続してもよい。ネットワーク部109に直接接続されたサーバ117及びメインフレーム118は、仮想ディスク部102を経由せずに、コントローラ部110及びディスク部116にアクセスして、ディスク部116に格納されたデータを共有することができる。
Further, when the
以上の本発明によれば、異なるインターフェース及び異なるオペレーティングシステムを有する複数のメインフレーム及びサーバがデータを共有することができる。この共有は、異なるブロック形式で記録された複製を用意することによってではなく、同一のデータへのアクセスを可能にすることによって実現されるため、同一内容のデータを重複して記録する必要がなく、記憶容量の浪費を防ぐことができる。 According to the present invention described above, a plurality of mainframes and servers having different interfaces and different operating systems can share data. This sharing is realized not by preparing duplicates recorded in different block formats, but by enabling access to the same data, so there is no need to record the same data in duplicate. This can prevent wasted storage capacity.
101 ディスク装置
102 仮想ディスク部
103 ホストインターフェース
104、111 ネットワークインターフェース
105、113 CPU
106、114 メモリ
107 キャッシュ部
108、115 コマンド変換部
109 ネットワーク部
110 コントローラ部
112 ディスクインターフェース
116 ディスク部
117 サーバ
118 メインフレーム
119 キャッシュ同期部
101 Disk device 102
106, 114
Claims (12)
前記ホストコンピュータ装置の各々と接続される複数の仮想ディスク部と、
複数の前記仮想ディスク部に接続されるネットワーク部と、
前記ネットワーク部に接続されるコントローラ部と、
前記コントローラ部に接続されるディスク部と、を備え、
前記仮想ディスク部の各々は、
前記ホストコンピュータ装置に接続され、前記ホストコンピュータ装置とブロックアクセスプロトコルによる通信を行うホストインターフェース部と、
前記ネットワーク部に接続され、前記ネットワーク部を経由して前記コントローラ部とファイルアクセスプロトコルによる通信を行う第1ネットワークインターフェース部と、
データが一時的に格納されるキャッシュ部と、
前記ホストインターフェース部が受信したブロックI/OコマンドをファイルI/Oコマンドに変換し、前記第1ネットワークインターフェース部が受信したファイルI/OコマンドをブロックI/Oコマンドに変換する第1コマンド変換部と、
前記ホストコンピュータ装置からのデータの書き込み要求に基づいて、当該書込要求に係るデータに対応するデータを前記キャッシュ部から消去又は更新する要求を他の前記仮想ディスク部に送信するキャッシュ同期部と、を備え、
前記コントローラ部は、
前記ネットワーク部に接続され、前記ネットワーク部を経由して前記複数の仮想ディスク部とファイルアクセスプロトコルによる通信を行う第2ネットワークインターフェース部と、
前記ディスク部に接続され、前記ディスク部とブロックアクセスプロトコルによる通信を行うディスクインターフェース部と、
前記第2ネットワークインターフェース部が受信したファイルI/OコマンドをブロックI/Oコマンドに変換し、前記ディスクインターフェース部が受信したブロックI/OコマンドをファイルI/Oコマンドに変換する第2コマンド変換部と、を備えることを特徴とするデータ共有ディスク装置。 In a data sharing disk device connected to a plurality of host computer devices and storing data based on a request from the host computer device,
A plurality of virtual disk units connected to each of the host computer devices;
A network unit connected to the plurality of virtual disk units;
A controller unit connected to the network unit;
A disk unit connected to the controller unit,
Each of the virtual disk units is
A host interface unit connected to the host computer device for communicating with the host computer device using a block access protocol;
A first network interface unit that is connected to the network unit and communicates with the controller unit through a file access protocol via the network unit;
A cache part where data is temporarily stored;
A first command conversion unit that converts a block I / O command received by the host interface unit into a file I / O command and converts a file I / O command received by the first network interface unit into a block I / O command. When,
Based on a data write request from the host computer device, a cache synchronization unit that transmits a request to erase or update data corresponding to the data related to the write request from the cache unit to the other virtual disk unit; With
The controller unit is
A second network interface unit connected to the network unit and communicating with the plurality of virtual disk units via a file access protocol via the network unit;
A disk interface unit connected to the disk unit and communicating with the disk unit using a block access protocol;
A second command conversion unit that converts a file I / O command received by the second network interface unit into a block I / O command and converts a block I / O command received by the disk interface unit into a file I / O command. And a data sharing disk device.
前記複数のホストコンピュータ装置の各々と接続される複数の仮想ディスク部と、
複数の前記複数の仮想ディスク部に接続されるネットワーク部と、
前記ネットワーク部に接続されるコントローラ部と、
前記コントローラ部に接続されるディスク部と、を備え、
前記仮想ディスク部の各々は、前記ホストコンピュータ装置とブロックアクセスプロトコルによる通信を行い、及び、前記ネットワーク部を経由して、前記コントローラ部とファイルアクセスプロトコルによる通信を行い、
前記コントローラ部は、前記ディスク部とブロックアクセスプロトコルによる通信を行うことを特徴とするデータ共有ディスク装置。 In a data sharing disk device connected to a plurality of host computer devices and storing data based on a request from the host computer device,
A plurality of virtual disk units connected to each of the plurality of host computer devices;
A network unit connected to the plurality of virtual disk units;
A controller unit connected to the network unit;
A disk unit connected to the controller unit,
Each of the virtual disk units communicates with the host computer device using a block access protocol, and communicates with the controller unit via a file access protocol via the network unit,
The data sharing disk device, wherein the controller unit communicates with the disk unit using a block access protocol.
前記ホストコンピュータ装置に接続され、前記ホストコンピュータ装置とブロックアクセスプロトコルによる通信を行うホストインターフェース部と、
前記ネットワーク部に接続され、前記ネットワーク部を経由して前記コントローラ部とファイルアクセスプロトコルによる通信を行う第1ネットワークインターフェース部と、
前記ホストインターフェース部が受信したブロックI/OコマンドをファイルI/Oコマンドに変換し、前記第1ネットワークインターフェース部が受信したファイルI/OコマンドをブロックI/Oコマンドに変換する第1コマンド変換部と、を備え、
前記コントローラ部は、
前記ネットワーク部に接続され、前記ネットワーク部を経由して前記複数の仮想ディスク部とファイルアクセスプロトコルによる通信を行う第2ネットワークインターフェース部と、
前記ディスク部に接続され、前記ディスク部とブロックアクセスプロトコルによる通信を行うディスクインターフェース部と、
前記第2ネットワークインターフェース部が受信したファイルI/OコマンドをブロックI/Oコマンドに変換し、前記ディスクインターフェース部が受信したブロックI/OコマンドをファイルI/Oコマンドに変換する第2コマンド変換部と、を備えることを特徴とする請求項2に記載のデータ共有ディスク装置。 Each of the virtual disk units is
A host interface unit connected to the host computer device for communicating with the host computer device using a block access protocol;
A first network interface unit that is connected to the network unit and communicates with the controller unit through a file access protocol via the network unit;
A first command conversion unit that converts a block I / O command received by the host interface unit into a file I / O command and converts a file I / O command received by the first network interface unit into a block I / O command. And comprising
The controller unit is
A second network interface unit connected to the network unit and communicating with the plurality of virtual disk units via a file access protocol via the network unit;
A disk interface unit connected to the disk unit and communicating with the disk unit using a block access protocol;
A second command conversion unit that converts a file I / O command received by the second network interface unit into a block I / O command and converts a block I / O command received by the disk interface unit into a file I / O command. The data sharing disk device according to claim 2, further comprising:
前記ホストコンピュータ装置からのデータの書き込み要求に基づいて、当該書込要求に係るデータに対応するデータを前記キャッシュ部から消去又は更新する要求を他の前記仮想ディスク部に送信するキャッシュ同期部と、を備えることを特徴とする請求項3に記載のデータ共有ディスク装置。 The plurality of virtual disk units include a cache unit in which data is temporarily stored;
Based on a data write request from the host computer device, a cache synchronization unit that transmits a request to erase or update data corresponding to the data related to the write request from the cache unit to the other virtual disk unit; The data sharing disk device according to claim 3, further comprising:
前記コントローラ部は、前記少なくとも一つのホストコンピュータ装置と、ファイルアクセスプロトコルによる通信を行うことを特徴とする請求項3に記載のデータ共有ディスク装置。 The network unit is connected to at least one of the host computer devices;
4. The data sharing disk device according to claim 3, wherein the controller unit communicates with the at least one host computer device using a file access protocol.
ネットワークに接続され、前記ネットワークを経由して、前記ネットワークに接続されたストレージ装置とファイルアクセスプロトコルによる通信を行う複数のネットワークインターフェース部と、
前記ホストインターフェース部が受信したブロックI/OコマンドをファイルI/Oコマンドに変換し、前記ネットワークインターフェース部が受信したファイルI/OコマンドをブロックI/Oコマンドに変換するコマンド変換部と、を備えることを特徴とする仮想ディスク装置。 A plurality of host interface units connected to a host computer device and communicating with the host computer device by a block access protocol;
A plurality of network interface units that are connected to a network and communicate with the storage device connected to the network via a file access protocol via the network;
A command conversion unit that converts a block I / O command received by the host interface unit into a file I / O command and converts a file I / O command received by the network interface unit into a block I / O command. A virtual disk device characterized by the above.
前記ホストコンピュータ装置からのデータの書き込み要求に基づいて、当該書込要求に係るデータに対応するデータを前記キャッシュ部から消去又は更新する要求を、前記ネットワークに接続された他の前記仮想ディスク装置に送信するキャッシュ同期部と、を備えることを特徴とする請求項7に記載の仮想ディスク装置。 A cache part where data is temporarily stored;
Based on a data write request from the host computer device, a request to erase or update data corresponding to the data related to the write request from the cache unit is sent to the other virtual disk device connected to the network. The virtual disk device according to claim 7, further comprising: a cache synchronization unit that transmits the virtual disk device.
前記複数の仮想ディスク部に接続されるネットワーク部と、
前記ネットワーク部に接続されるコントローラ部と、
前記コントローラ部に接続されるディスク部と、を備えるディスク装置からデータを読み出す方法であって、
前記仮想ディスク部が、前記ホストコンピュータからデータの読み出しを要求する第1ブロックI/Oコマンドを受け付ける手順と、
前記仮想ディスク部が、前記第1ブロックI/Oコマンドを第1ファイルI/Oコマンドに変換する手順と、
前記仮想ディスク部が、前記第1ファイルI/Oコマンドを、前記ネットワーク部を経由して、前記コントローラ部に送信する手順と、
前記コントローラ部が、前記第1ファイルI/Oコマンドを第2ブロックI/Oコマンドに変換する手順と、
前記ディスク部が、前記第2ブロックI/Oコマンドを受けて、前記読み出し要求の目的のデータを読み出し、前記読出要求に対する応答の第3ブロックI/Oコマンドを前記コントローラ部に送信する手順と、
前記コントローラ部が、前記第3ブロックI/Oコマンドを第2ファイルI/Oコマンドに変換する手順と、
前記コントローラ部が、前記第2ファイルI/Oコマンドを、前記ネットワーク部を経由して、前記仮想ディスク部に送信する手順と、
前記仮想ディスク部が、前記第2ファイルI/Oコマンドを第4ブロックI/Oコマンドに変換する手順と、
前記第4ブロックI/Oコマンドを前記ホストコンピュータ装置に送信する手順と、を含むことを特徴とするデータ読出方法。 A plurality of virtual disk units connected to the plurality of host computer devices;
A network unit connected to the plurality of virtual disk units;
A controller unit connected to the network unit;
A disk unit connected to the controller unit, and a method of reading data from a disk device comprising:
A procedure in which the virtual disk unit receives a first block I / O command for requesting reading of data from the host computer;
A procedure in which the virtual disk unit converts the first block I / O command into a first file I / O command;
A procedure in which the virtual disk unit transmits the first file I / O command to the controller unit via the network unit;
The controller unit converts the first file I / O command into a second block I / O command;
The disk unit receives the second block I / O command, reads the target data of the read request, and transmits a third block I / O command in response to the read request to the controller unit;
The controller unit converts the third block I / O command into a second file I / O command;
A procedure in which the controller unit transmits the second file I / O command to the virtual disk unit via the network unit;
A procedure in which the virtual disk unit converts the second file I / O command into a fourth block I / O command;
And a step of transmitting the fourth block I / O command to the host computer device.
前記キャッシュ部に前記読出要求に係るデータが格納されているか否かを判定する手順と、
前記キャッシュ部に前記読出要求に係るデータが格納されていると判定された場合は、前記キャッシュ部から当該読み出し要求の目的のデータを読み出して、前記ホストコンピュータ装置に応答する手順と、を含むことを特徴とする請求項9に記載のデータ読出方法。 The virtual disk unit includes a cache unit for temporarily storing data;
A procedure for determining whether or not data related to the read request is stored in the cache unit;
A step of reading the target data of the read request from the cache unit and responding to the host computer device when it is determined that the data related to the read request is stored in the cache unit. The data reading method according to claim 9.
前記複数の仮想ディスク部に接続されるネットワーク部と、
前記ネットワーク部に接続されるコントローラ部と、
前記コントローラ部に接続されるディスク部と、を備えるディスク装置にデータを書き込む方法であって、
前記仮想ディスク部が、前記ホストコンピュータからデータの書き込みを要求する第1ブロックI/Oコマンドを受け付ける手順と、
前記仮想ディスク部が、前記第1ブロックI/Oコマンドを第1ファイルI/Oコマンドに変換する手順と、
前記仮想ディスク部が、前記第1ファイルI/Oコマンドを、前記ネットワーク部を経由して、前記コントローラ部に送信する手順と、
前記コントローラ部が、前記第1ファイルI/Oコマンドを第2ブロックI/Oコマンドに変換する手順と、
前記ディスク部が、前記第2ブロックI/Oコマンドを受けて、前記書き込み要求の目的のデータを書き込み、前記書込要求に係る応答の第3ブロックI/Oコマンドを前記コントローラ部に送信する手順と、
前記コントローラ部が、前記第3ブロックI/Oコマンドを第2ファイルI/Oコマンドに変換する手順と、
前記コントローラ部が、前記第2ファイルI/Oコマンドを、前記ネットワーク部を経由して、前記仮想ディスク部に送信する手順と、
前記仮想ディスク部が、前記第2ファイルI/Oコマンドを第4ブロックI/Oコマンドに変換する手順と、
前記第4ブロックI/Oコマンドを前記ホストコンピュータ装置に送信する手順と、を含むことを特徴とするデータ書込方法。 A plurality of virtual disk units connected to the plurality of host computer devices;
A network unit connected to the plurality of virtual disk units;
A controller unit connected to the network unit;
A disk unit connected to the controller unit, and a method for writing data to a disk device comprising:
A procedure in which the virtual disk unit receives a first block I / O command for requesting data writing from the host computer;
A procedure in which the virtual disk unit converts the first block I / O command into a first file I / O command;
A procedure in which the virtual disk unit transmits the first file I / O command to the controller unit via the network unit;
The controller unit converts the first file I / O command into a second block I / O command;
The disk unit receives the second block I / O command, writes the target data of the write request, and transmits a third block I / O command in response to the write request to the controller unit When,
The controller unit converts the third block I / O command into a second file I / O command;
A procedure in which the controller unit transmits the second file I / O command to the virtual disk unit via the network unit;
A procedure in which the virtual disk unit converts the second file I / O command into a fourth block I / O command;
And a step of transmitting the fourth block I / O command to the host computer device.
前記キャッシュ部に前記書き込み要求に係るデータを格納することができるか否かを判定する手順と、
前記キャッシュ部に前記書き込み要求の目的のデータを格納することができると判定された場合は、前記キャッシュ部に当該書き込み要求に係るデータを書き込んで、前記ホストコンピュータ装置に応答する手順と、
前記仮想ディスク部が、前記書き込み要求に係るデータを前記キャッシュ部から消去する要求を、前記ネットワークを経由して、他の前記仮想ディスク部に送信する手順と、を含むことを特徴とする請求項11に記載のデータ書込方法。 The virtual disk unit includes a cache unit for temporarily storing data;
Determining whether the data relating to the write request can be stored in the cache unit;
If it is determined that the target data of the write request can be stored in the cache unit, a procedure for writing data related to the write request in the cache unit and responding to the host computer device;
The virtual disk unit includes a procedure of transmitting a request to erase data relating to the write request from the cache unit to the other virtual disk unit via the network. 11. The data writing method according to 11.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004165509A JP2005346426A (en) | 2004-06-03 | 2004-06-03 | Data sharing disk device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004165509A JP2005346426A (en) | 2004-06-03 | 2004-06-03 | Data sharing disk device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005346426A true JP2005346426A (en) | 2005-12-15 |
Family
ID=35498740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004165509A Pending JP2005346426A (en) | 2004-06-03 | 2004-06-03 | Data sharing disk device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005346426A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7908377B2 (en) | 2008-08-06 | 2011-03-15 | Hitachi, Ltd. | Computer system and data sharing method |
JP2013511104A (en) * | 2009-11-16 | 2013-03-28 | マイクロソフト コーポレーション | Virtual hard drive management as a blob |
KR20190036770A (en) * | 2017-09-28 | 2019-04-05 | 주식회사 티맥스 소프트 | Method for using mainframe system data in open system in realtime |
-
2004
- 2004-06-03 JP JP2004165509A patent/JP2005346426A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7908377B2 (en) | 2008-08-06 | 2011-03-15 | Hitachi, Ltd. | Computer system and data sharing method |
JP2013511104A (en) * | 2009-11-16 | 2013-03-28 | マイクロソフト コーポレーション | Virtual hard drive management as a blob |
US9639299B2 (en) | 2009-11-16 | 2017-05-02 | Microsoft Technology Licensing, Llc | Managing virtual hard drives as blobs |
US10628086B2 (en) | 2009-11-16 | 2020-04-21 | Microsoft Technology Licensing, Llc | Methods and systems for facilitating communications with storage |
KR20190036770A (en) * | 2017-09-28 | 2019-04-05 | 주식회사 티맥스 소프트 | Method for using mainframe system data in open system in realtime |
KR101997494B1 (en) * | 2017-09-28 | 2019-07-08 | 주식회사 티맥스 소프트 | Method for using mainframe system data in open system in realtime |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190278719A1 (en) | Primary Data Storage System with Data Tiering | |
JP3997061B2 (en) | Storage subsystem and storage subsystem control method | |
JP6074056B2 (en) | Computer system and data control method | |
US7228399B2 (en) | Control method for storage device controller system, and storage device controller system | |
JP4704161B2 (en) | How to build a file system | |
JP4574408B2 (en) | Storage system control technology | |
US7660946B2 (en) | Storage control system and storage control method | |
JP7135162B2 (en) | Information processing system, storage system and data transfer method | |
US20070061518A1 (en) | Storage controller, data processing method and computer program product | |
KR20070045891A (en) | Raid system, raid controller and rebuilt/copy back processing method thereof | |
US20120239882A1 (en) | Control apparatus and method, and storage apparatus | |
JP2009175824A (en) | Memory controller for mainframe, and virtualization method for mainframe volume | |
JP2010537267A (en) | Method, system and program for splitting writes between a storage controller and a replication engine | |
US20210042032A1 (en) | Drive box, storage system and data transfer method | |
US8713266B2 (en) | Storage apparatus and method including page discard processing for primary and secondary volumes configured as a copy pair | |
KR20030091664A (en) | Storage system and storage subsystem | |
US7058692B2 (en) | Computer, computer system, and data transfer method | |
WO2016121026A1 (en) | Storage apparatus, computer system, and method | |
WO2016181464A1 (en) | Storage system and storage control method | |
JP6649989B2 (en) | Storage system and control method thereof | |
JP2006185000A (en) | Storage system | |
US7003553B2 (en) | Storage control system with channel control device having data storage memory and transfer destination circuit which transfers data for accessing target cache area without passing through data storage memory | |
US10235053B1 (en) | Method and system for using host driver for flexible allocation fast-sideways data movements | |
US11016698B2 (en) | Storage system that copies write data to another storage system | |
US20080250201A1 (en) | Information processing system and control method thereof |