JP2005004349A - Storage system, control method therefor and storage device - Google Patents

Storage system, control method therefor and storage device Download PDF

Info

Publication number
JP2005004349A
JP2005004349A JP2003165197A JP2003165197A JP2005004349A JP 2005004349 A JP2005004349 A JP 2005004349A JP 2003165197 A JP2003165197 A JP 2003165197A JP 2003165197 A JP2003165197 A JP 2003165197A JP 2005004349 A JP2005004349 A JP 2005004349A
Authority
JP
Japan
Prior art keywords
data
storage device
storage
storage area
information processing
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.)
Withdrawn
Application number
JP2003165197A
Other languages
Japanese (ja)
Other versions
JP2005004349A5 (en
Inventor
Koichi Hori
幸一 堀
Yoshinori Igarashi
良典 五十嵐
Tomoyuki Kato
智之 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003165197A priority Critical patent/JP2005004349A/en
Publication of JP2005004349A publication Critical patent/JP2005004349A/en
Publication of JP2005004349A5 publication Critical patent/JP2005004349A5/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a control method for a storage system capable of making effective use of a storage resource which the other storage device has when the storage region of a certain storage device is short, and also to provide a storage system and a storage device. <P>SOLUTION: A first storage device determines whether data can be written to a first storage region when it receives a request for writing the data transmitted from an information processing device. When determining that the data can not be written, the first storage device requests information for determining whether a second storage region for storing the data can be secured to a second storage device. In response to the request, the second storage device transmits the information for determining whether or not the second storage region can be secured to the first storage device. The first storage device determines whether the second storage region can be secured based on the information. When determining that the second storage region can be secured, the first storage device transmits the data to the second storage device, and then the second storage device stores the data in the second storage region. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、ストレージシステムの制御方法、ストレージシステム、及びストレージ装置に関する。
【0002】
【従来の技術】
今日のグローバル化した情報社会では、情報処理システムが取り扱うデータ量が急増しており、複数のストレージ装置が運用される、例えば、データセンター等においては、ユーザに提供している記憶領域が不足するようなことが無いように管理することが求められている。
【0003】
【特許文献1】
特開2002−222061
【0004】
【発明が解決しようとする課題】
ところで、データセンター等においては、一般に複数のストレージ装置が運用されており、これらのストレージ装置の記憶領域は一般にストレージ装置ごとに個別に管理されている。このため、あるストレージ装置の記憶領域が不足した場合には、そのストレージ装置に直接物理ディスク等を増設することにより記憶領域の補充が行われている。
しかしながら、データセンター等においては、あるストレージ装置の記憶領域が不足している場合に、他のストレージ装置が余剰の記憶領域を保有していることがある。このような状況下では、複数のストレージ装置全体としてみると、必ずしも記憶資源を有効に利用しているとは言い難い。そのため、複数のストレージ装置が運用される場所では他のストレージ装置が保有している記憶資源を有効に活用するための仕組みが求められている。
【0005】
そこで、本発明は、他のストレージ装置が保有している記憶資源を有効に活用することができるストレージシステムの制御方法、ストレージシステム、及びストレージ装置を提供することを主たる目的とする。
【0006】
【課題を解決するための手段】
上記主たる目的を達成するための発明であるストレージシステムの制御方法は、
通信可能に接続された情報処理装置から送信されてくるデータの書き込み要求に応じてそのデータを第一の記憶領域に記憶する第一のストレージ装置と、
前記第一のストレージ装置と通信可能に接続する第二のストレージ装置と、
を備えるストレージシステムの制御方法において、
前記第一のストレージ装置が、前記情報処理装置から送信されてくる前記データの書き込み要求を受信するステップと、
前記第一のストレージ装置は、前記第一の記憶領域に前記データの書き込みができないと判断した場合には、前記第二のストレージ装置に対して前記データを記憶するための第二の記憶領域を確保できるかどうかを判断するための情報を要求するステップと、
前記第二のストレージ装置は、前記第二の記憶領域が確保できるかどうかを判断するための情報を前記第一のストレージ装置に送信するステップと、
前記第一のストレージ装置は、前記第二のストレージ装置から送信されてくる前記情報に基づいて前記第二の記憶領域が確保できるかどうかを判断するステップと、
前記第一のストレージ装置は、前記第二の記憶領域が確保できると判断した場合には、前記データを前記第二のストレージ装置に送信するステップと、
前記第二のストレージ装置は、前記第一のストレージ装置から送信されてくる前記データを前記第二の記憶領域に記憶するステップと、
を含むことを特徴とする。
【0007】
ここで、ストレージシステムとは、例えば、企業内のシステムセンターやデータセンター等で運営されているシステムである。情報処理装置とは、ストレージ装置にSANやLANを介してアクセスするパーソナルコンピュータやメインフレームコンピュータなどである。また、第一のストレージ装置及び第二のストレージ装置とは、情報処理装置から送信されてくるデータの入出力要求に応じてそのデータを記憶領域に記憶させるディスクアレイ装置や半導体記憶装置などである。第一のストレージ装置と第二のストレージ装置とは、例えば、SAN(Storage Area Network)などを介して通信可能に接続されている。
【0008】
データを記憶するための記憶領域とは、例えば、物理ディスク(例えば、ハードディスク装置やフレキシブルディスク装置、半導体記憶装置等)により提供される物理的な記憶領域である物理ボリュームや、物理ボリューム上に論理的に設定される記憶領域である論理ボリュームなどである。上記において、記憶領域にデータの書き込みができないとは、例えば、企業や組織に割り当てられた記憶領域の空き容量が不足している状態や、物理ディスクやディスク制御部の動作が不能になった状態をいう。また、データを記憶するための記憶領域を確保できるかどうかを判断するための情報としては、例えば、ストレージ装置が備える記憶領域の空き容量の情報や、他のストレージ装置に貸し出し可能な記憶領域の情報などがある。
【0009】
このように、本発明のストレージシステムの制御方法は、データの書き込みができなくなった場合に、リアルタイムに未使用の記憶領域を確保し、その記憶領域にデータを記憶することが可能となる。
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
【0010】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
===全体構成例===
<ストレージシステム>
まず、本発明の一実施例として説明するストレージシステム800のハードウェア構成について説明する。図1は、本実施の形態に係るストレージシステム800のハードウェア構成を示すブロック図である。
ストレージシステム800は、第一のストレージ装置100、第二のストレージ装置200などの複数のストレージ装置を含んで構成される。ストレージシステム800は、例えば、企業内のシステムセンターやデータセンター等で運営されている。
【0011】
図1に示すように、ストレージシステム800の第一のストレージ装置100は、SAN300を介して1又は複数台の情報処理装置400が接続されている。情報処理装置400は、例えば銀行の自動預金預け払いサービスやインターネットのホームページ閲覧サービス等を提供するコンピュータである。第一のストレージ装置100は、情報処理装置400で取り扱われるデータを記憶しておくための装置として機能している。
【0012】
SAN300は、例えばファイバチャネルプロトコル(Fibre Channel Protocol)に従って通信が行われ、情報処理装置400と第一のストレージ装置100とを接続するネットワークである。SAN300を介して行われる情報処理装置400と第一のストレージ装置100との間の通信は、一般にファイバチャネルプロトコルに従って行われる。情報処理装置400からは、第一のストレージ装置100に対して、ファイバチャネルプロトコルに従ってブロック単位のデータアクセス要求が送信される。なお、情報処理装置400と第一のストレージ装置100とは、必ずしもSAN300のような通信手段で接続される必要はなく、LANを介して接続されるようにしてもよいし、直接接続されるようにしてもよい。
【0013】
ストレージシステム800の第一のストレージ装置100及び第二のストレージ装置200は、LAN(Local Area Network)500を介して管理コンピュータ600が接続されている。管理コンピュータ600は、ストレージシステム800の運用・管理を行うためのコンピュータである。LAN500は、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)等のプロトコルに従って通信が行われ、第一のストレージ装置100及び第二のストレージ装置200(以下、「ストレージ装置100,200」と称する。)と管理コンピュータ600とを接続するネットワークである。なお、ストレージ装置100,200と管理コンピュータ600とは、必ずしもLAN500のような通信手段で行われる必要はなく、SCSI(Small Computer Systems Interface)規格の通信線やバスライン、ピアツーピア(Peer to Peer)等で接続されていてもよい。
【0014】
第一のストレージ装置100は、SAN700を介して第二のストレージ装置200が接続されている。なお、第一のストレージ装置100と第二のストレージ装置200とは、必ずしもSAN300のような通信手段で行われる必要はなく、ギガビットイーサネット(登録商標)、ATM(Asynchronous Transfer Mode)、公衆回線などで接続されていてもよい。なお、SAN300とSAN700とは、互いに独立されたSANであってもよいし、通信可能に接続されて同一のSANで構成されていてもよい。
【0015】
<ストレージ装置>
第一のストレージ装置100及び第二のストレージ装置200(以下、「ストレージ装置100,200」と称する。)は、例えば、ディスクアレイ装置や半導体記憶装置などである。第一のストレージ装置100は、例えば、情報処理装置400から送信されてくるデータの書き込み要求やデータの読み出し要求などのデータの入出力要求に応じてデータの入出力処理を行う。
【0016】
また、第二のストレージ装置200は、情報処理装置400から送信されてくるデータの書き込み要求を受信した第一のストレージ装置100がその書き込みデータを書き込みできない場合に、その書き込みデータを一時的に記憶しておくための記憶領域を提供する機能を有している。なお、第二のストレージ装置200は、第一のストレージ装置100と同様に、通信可能に接続された1又は複数の情報処理装置400から送信されてくるデータの入出力要求に応じてデータの入出力処理を行う機能を有することとしてもよい。
【0017】
ストレージ装置100,200は、チャネル制御部110,210、共有メモリ120,220、キャッシュメモリ130,230、ディスク制御部140,240、接続部150,250、LU160,260、LANアダプタ170などを備えて構成される。
第一のストレージ装置のチャネル制御部110は、情報処理装置400や第二のストレージ装置200との間で通信を行うための通信インタフェースを備え、情報処理装置400や第二のストレージ装置210との間でデータの入出力要求等を授受する機能を備える。第二のストレージ装置のチャネル制御部210は、第一のストレージ装置100との間で通信を行うための通信インタフェースを備え、第一のストレージ装置100との間でデータの入出力等を授受する機能を備える。
【0018】
ストレージ装置100,200のディスク制御部140,240はLU160,260の制御を行う。例えば、ディスク制御部140は、チャネル制御部110が情報処理装置400から受信したデータの書き込みコマンド又は読み出しコマンドに従ってLU160に対してデータの入出力を行う。また、チャネル制御部110により送信された論理アドレス指定によるLU160へのデータアクセス要求を、物理アドレス指定による物理ディスクへのデータアクセス要求に変換する。
【0019】
ディスク制御部140,240は、物理ディスクをRAIDの方式(例えば、RAID0,1,5)で制御する機能も提供する。このようにストレージ装置100,200の物理ディスクがRAIDにより管理されている場合には、RAID(Redundant Array of Inexpensive Disk drives)構成(例えば、RAID0,1,5)に従ったデータのアクセスを行う。
【0020】
LU160,260は、ストレージ装置100,200が備える物理ディスクにより提供される物理的な記憶領域上に論理的に設定される記憶領域である。LU160,260は、情報処理装置400から送信されてくる書き込みデータを記憶するための記憶領域である。なお、データを記憶するための記憶領域は、LU160,260の一部であってもよいし、物理ディスク(例えば、ハードディスク装置やフレキシブルディスク装置、半導体記憶装置等)により提供される物理的な記憶領域である物理ボリュームの全部又は一部であってもよい。
【0021】
ストレージ装置100,200の接続部150,250はチャネル制御部110,210、共有メモリ120,220、キャッシュメモリ130,230、ディスク制御部140,240を相互に接続する。チャネル制御部110,210、共有メモリ120,220、キャッシュメモリ130,230、ディスク制御部140,240間でのデータやコマンドの授受は、接続部150,250を介することにより行われる。接続部150,250は、例えば、高速スイッチングによりデータ伝送を行う超高速クロスバスイッチなどの高速バスである。
【0022】
ストレージ装置100,200のLANアダプタ170,270は、例えば、NIC(Network Interface Card)であり、管理コンピュータ600との間で通信を行うための機能を提供する。
【0023】
共有メモリ120,220及びキャッシュメモリ130,230は、チャネル制御部110,210、ディスク制御部140,240により共有される記憶メモリである。共有メモリ120,220は、例えば、制御情報やコマンド等を記憶するために利用される。キャッシュメモリ130,230は、例えば、チャネル制御部110,210とディスク制御部140,240との間でやり取りされるデータを一時的に記憶するために利用される。
【0024】
本実施例においては、共有メモリ120,220及びキャッシュメモリ130,230がチャネル制御部110,210及びディスク制御部140,240に対して独立に設けられていることについて記載したが、本実施例はこの場合に限られるものでなく、共有メモリ120,220又はキャッシュメモリ130,230がチャネル制御部110,210及びディスク制御部140,240の各々に分散されて設けられることとしてもよい。この場合、接続部150,250は、分散された共有メモリ又はキャッシュメモリを有するチャネル制御部110,210及びディスク制御部140,240を相互に接続させることになる。
【0025】
<管理コンピュータ>
管理コンピュータ600は、ストレージシステム800におけるストレージ装置100,200を保守・管理するためのコンピュータである。なお、情報処理装置400がストレージ装置100,200を保守・管理するための機能を有していてもよい。
【0026】
管理コンピュータ600はCPUやメモリなどを備えている。管理コンピュータ600のCPUは、管理コンピュータ600の全体の制御を司るもので、メモリに格納されたプログラムを実行することにより、様々な機能等を実現している。
【0027】
ユーザ等が管理コンピュータ600を操作することにより、例えば、物理ディスクの構成の設定や、LU160,260の管理や設定(容量管理や容量拡張・縮小、情報処理装置400の割り当て等)、ストレージ装置100,200において実行されるマイクロプログラムのインストール等を行うことができる。ここで、物理ディスクの構成の設定としては、例えば物理ディスクの増設や減設、RAID構成の変更(RAID1からRAID5への変更等)等を行うことができる。これらの設定は、管理コンピュータ600で動作するWebサーバが提供するWebページをユーザーインタフェースとしてユーザなどにより行われる。
【0028】
管理コンピュータ600は、ストレージ装置100,200に内蔵されている形態とすることもできるし、外付けされている形態とすることもできる。管理コンピュータ600は、ストレージ装置100,200及びLU160,260の保守・管理を専用に行うコンピュータとすることもできるし、汎用のコンピュータに保守・管理機能を持たせたものとすることもできる。
【0029】
<情報処理装置>
情報処理装置400は、管理コンピュータ600と同様にCPU(Central Processing Unit)やメモリなどを備えるコンピュータである。情報処理装置400は、例えば、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータなどである。情報処理装置400のCPUは、情報処理装置400の全体の制御を司るもので、メモリに格納されたプログラムを実行することにより、様々な機能等を実現する。
【0030】
情報処理装置400は、第一のストレージ装置100に対してデータの書き込み要求やデータの読み出し要求などのデータの入出力要求を送信することにより、LU160に記憶されているデータの読み出し、あるいはLU160に対するデータの書き込みを行う。図2に、データの書き込み要求やデータの読み出し要求などのデータの入出力要求のコマンドフォーマットの一例を示す。ヘッダには情報処理装置400のIDなどが設定される。ポートIDには、データの入出力要求の処理対象となる論理ボリューム160に接続するためのポートのIDが設定される。LUN(Logical Unit Number)には当該データの入出力要求が対象とする論理ボリューム160の識別子が設定される。アドレスにはデータの読み出し先又は書き込み先の論理アドレスが設定される。また、データ長には読み出し対象又は書き込み対象のデータのデータ長が設定される。なお、データの入出力要求がデータの書き込み要求である場合には、これらの他に書き込み対象のデータが付加される。
【0031】
===実施例1===
次に、情報処理装置400が第一のストレージ装置100に対してデータの書き込み要求やデータの読み出し要求などのデータの入出力要求を送信した場合におけるストレージシステム800の処理について説明する。
【0032】
<データの書き込み要求受信時の処理>
図3は、情報処理装置400から第一のストレージ装置100に対してデータの書き込み要求が送信された場合におけるストレージシステム800のデータの書き込み処理の一例を説明するフローチャートである。
【0033】
第一のストレージ装置100のチャネル制御部110が情報処理装置400から送信されてくるデータの書き込み要求を受信すると(S300)、チャネル制御部110はデータの書き込みコマンドにより指定されたLU160にデータの書き込みができるか否かを判断する(S301)。この判断は、例えば、図5に示す第一のストレージ装置100の論理ボリューム160の空き容量管理テーブル2200を参照して、データの書き込みコマンドにより指定されたLU160の空き容量とデータの書き込みコマンドのデータ長とを比較することにより行われる。なお、論理ボリュームの空き容量管理テーブル2200は、例えば、チャネル制御部110がディスク制御部140からリアルタイムに各LU160の空き容量報告を受信することにより作成される。この論理ボリュームの空き容量管理テーブル2200は、共有メモリ120に記憶されていてもよいし、LU160に記憶されていてもよい。
【0034】
論理ボリュームの空き容量管理テーブル2200を参照して、データの書き込みコマンドにより指定されたLU160の空き容量と、データの書き込みコマンドのデータ長とを比較した結果、LUの空き容量がデータ長より大きい場合にはデータの書き込みができると判断される。一方、LUの空き容量がデータ長より小さい場合にはデータの書き込みができないと判断される。この判断は、このようにチャネル制御部110が行うこととしてもよいが、ディスク制御部140が行うこととしてもよい。
【0035】
(S301)の判断の結果、データの書き込みができると判断した場合(S301;Yes)には、チャネル制御部110は、受信したデータの書き込みコマンドを共有メモリ120に書き込むと共に、情報処理装置400から受信した書き込み対象となるデータ(以下、「書き込みデータ」と称する)をキャッシュメモリ130に書き込む。ディスク制御部140は、リアルタイムに共有メモリ120の内容を監視している。ディスク制御部140は、この監視により共有メモリ120にデータの書き込みコマンドが書き込まれていることを検知すると、キャッシュメモリ130から書き込みデータを読み出し、データの書き込みコマンドに指定されたLU160及び論理アドレスに基づいて、その書き込みデータをLU160に書き込む(S302)。
【0036】
ディスク制御部140は、指定されたLU160にデータの書き込みが完了すると、その旨をチャネル制御部110に通知する。そして前記通知を受信したチャネル制御部110は、情報処理装置400から送信されてくるデータの書き込みコマンドにより指定された場所(例えば、LUN、論理アドレス及びデータ長)や、書き込みデータを実際に記憶させた場所(例えば、ストレージ装置、LUN及び論理アドレス)などを、LU160や共有メモリ120等に記憶されているデータ管理テーブル2100に記録する(S303)。
【0037】
図4に、データ管理テーブル2100の一例を示す。図4に示すように、データ管理テーブル2100には、情報処理装置400から送信されてくるデータの書き込みコマンドにより指定されたLUNや論理アドレス、データ長などのデータの管理アドレスと、情報処理装置400から送信されてくる書き込みデータを実際に記憶させたストレージ装置、LUN及び論理アドレスなどのデータの実アドレスとが記録されている。
【0038】
次に、第一のストレージ装置100のチャネル制御部110は、情報処理装置400に書き込み完了報告を通知し(S304)、データの書き込み処理を終了する。なお、情報処理装置400への書き込み完了報告は、このようにLU160へのデータの書き込み動作と同期に行われることとしてもよいが、LU160への実際のデータの書き込み動作とは非同期に行われることとしてもよい。
【0039】
一方、(S301)の判断の結果、データの書き込みができないと判断した場合(S301;No)には、ディスク制御部140はチャネル制御部110に対してその旨を通知する。そして前記通知を受信したチャネル制御部110は、第一のストレージ装置100と通信可能に接続されたストレージ装置(本実施例においては、第二のストレージ装置200)に対して、データを記憶するための記憶領域を確保できるかどうかを判断するための情報を要求する(S305)。なお、この情報の要求は、チャネル制御部110がディスク制御部140の動作の不能によりデータの書き込みができないと判断した場合や、ディスク制御部140が物理ディスクの動作の不能によりデータの書き込みコマンドで指定されたLU160にデータの書き込みができないと判断した場合にも行われることとしてもよい。
【0040】
第二のストレージ装置200のチャネル制御部210は、第一のストレージ装置100からデータを記憶するための記憶領域を確保できるかどうかを判断するための情報の要求を受信すると(S306)、第一のストレージ装置100にデータを記憶するための記憶領域を確保できるかどうかを判断するための情報を送信する(S307)。この情報は、例えば、図6に示す第二のストレージ装置200の論理ボリューム管理テーブル2300であってもよいし、図7に示す貸し出し可能な論理ボリューム管理テーブル2400であってもよい。これらのテーブルを第一のストレージ装置100が参照することにより、データを記憶するための記憶領域を確保できるかどうかを判断することができる。
【0041】
図6に示すように、論理ボリューム管理テーブル2300には、第二のストレージ装置200における各LU260の使用状況、空き容量、アクセス頻度などが記録されているが、これらに限定されるものではなく、データの重要度や、LU260の記憶容量に対する使用領域の割合(利用率)などが記録されていてもよい。図7に示す貸し出し可能な論理ボリューム管理テーブル2400には、第二のストレージ装置200がLU260を貸し出してもよいと判断した記憶領域、例えば、未使用の記憶領域やあらかじめユーザ等から貸し出し許可を得ている記憶領域、などの情報が記録されている。これらのテーブルは、第一のストレージ装置100からデータを記憶するための記憶領域を確保できるかどうかを判断するための情報の要求があった場合に作成することとしてもよいが、あらかじめ共有メモリ220やLU260などに記憶されていることとしてもよい。
【0042】
第一のストレージ装置100のチャネル制御部110が第二のストレージ装置200からデータを記憶するための記憶領域を確保できるかどうかを判断するための情報を受信すると(S308)、第一のストレージ装置のチャネル制御部110は、当該情報に基づいて前記記憶領域を確保できるかどうかを判断する(S309)。この判断は、論理ボリューム管理テーブル2300が送信されてきた場合には、LU260の使用状況が「未使用」であるか、空き容量が情報処理装置400から送信されてきた書き込みデータのサイズより大きいか、LU260のアクセス頻度が「低」であるか、などを判断することにより行われる。また、貸し出し可能な論理ボリューム管理テーブル2400が送信されてきた場合には、貸し出し可能な記憶領域が情報処理装置400から送信されてきた書き込みデータのサイズより大きいかどうかを判断することにより行われる。
【0043】
(S309)の判断の結果、書き込みデータを記憶するための記憶領域を確保できないと判断した場合(S309;No)には、情報処理装置400に対してデータの書き込みができない旨を通知し(S317)、管理コンピュータ600に対してLU160の空き領域がない旨を通知し(S318)、データの書き込み処理を終了する。一方、(S309)の判断の結果、書き込みデータを記憶するための記憶領域を確保できると判断した場合(S309;Yes)には、チャネル制御部110は、当該記憶領域を指定した書き込みコマンド及び書き込みデータ(データの書き込み要求)を、当該記憶領域を有する第二のストレージ装置200に送信する(S310)。
【0044】
第二のストレージ装置200のチャネル制御部210は、第一のストレージ装置100から送信されてくるデータの書き込み要求を受信すると(S311)、受信したデータの書き込みコマンドを共有メモリ220に書き込むと共に、第一のストレージ装置100から受信した書き込みデータをキャッシュメモリ230に書き込む。
【0045】
第二のストレージ装置200のディスク制御部240は、共有メモリ220にデータの書き込みコマンドが書き込まれていることを検知すると、キャッシュメモリ230から書き込みデータを読み出す。そして、その書き込みデータを、データの書き込みコマンドで指定された記憶領域に書き込む(S312)。ディスク制御部240は、指定された記憶領域にデータの書き込みが完了すると、チャネル制御部210に対してその旨を通知する。そして前記通知を受信したチャネル制御部210は、第一のストレージ装置100にデータの書き込み完了報告を通知する(S313)。
【0046】
第一のストレージ装置100のチャネル制御部110は、第二のストレージ装置200からデータの書き込み完了報告通知を受信すると(S314)、情報処理装置400から送信されてきたデータの書き込みコマンドにより指定された場所(例えば、LUN、論理アドレス及びデータ長)や、書き込みデータを実際に記憶させた場所(例えば、ストレージ装置、LUN及び論理アドレス)などを、LU160や共有メモリ120等に記憶されているデータ管理テーブル2100に記録する(S315)。この記録により、第一のストレージ装置100は各データがどのストレージ装置のどのLUに記憶されているかを把握することが可能となる。
【0047】
第一のストレージ装置100のチャネル制御部110は、第二のストレージ装置200からデータの書き込み完了報告の通知を受信すると(S314)、データの書き込み完了報告を情報処理装置400に通知し(S316)、LU160にデータの書き込みができない旨を管理コンピュータ600に通知する(S318)。そして、ストレージシステム800はデータの書き込み処理を終了する。
【0048】
以上のように、物理ディスク又はディスク制御部140の障害や、LU160の容量不足などの問題が生じてLU160にデータの書き込みができない場合には、情報処理装置400の業務を中断させることなく、他のストレージ装置が保有する記憶領域を借用してデータを記憶する。したがって、ストレージシステム800において存在する記憶資源を有効に利用することが可能となる。なお、本発明の実施例においては、情報処理装置400が直接アクセスできる記憶領域だけに限らず、直接アクセスできない記憶領域にもデータを記憶することが可能であることは言うまでもない。
【0049】
また、第一のストレージ装置100から管理コンピュータ600にLU160にデータの書き込みができない旨を通知すること(S316)により、ストレージシステム800を管理するオペレータ等は、物理ディスク又はディスク制御部140の障害や、LU160の容量不足などの問題が生じてLU160にデータの書き込みができないことを知ることができる。なお、チャネル制御部110は、管理コンピュータ600にLU160にデータの書き込みができない旨を通知するとともに(S316)、データ管理テーブル2100のデータの管理アドレス及び実アドレスの情報を通知することとしてもよい。これにより、管理コンピュータ600は、LU160に書き込みができなかったデータがどこに記憶されているかを知ることができ、物理ディスク又はディスク制御部140の障害や、LU160の容量不足などの問題を解決した後に、オペレータ等はデータごとに後述するデータの書き戻し処理をストレージシステム800に実行させることが可能になる。
【0050】
以上に説明した実施例では、情報処理装置400から送信されてくるデータの書き込みコマンドにより指定されたLU160にデータの書き込みができない場合に、第一のストレージ装置100は第二のストレージ装置200から記憶領域を借用して前記データの書き込みを行わせることとしたが、第一のストレージ装置100は当該ストレージ装置が備える記憶領域を借用して前記データの書き込みを行わせることとしてもよい。
【0051】
<データの読み出し要求受信時の処理>
図8は、情報処理装置400からデータの読み出し要求が第一のストレージ装置100に送信された場合におけるストレージシステム800のデータの読み出し処理の一例を説明するフローチャートである。
【0052】
第一のストレージ装置100のチャネル制御部110が情報処理装置400から送信されてくるデータの読み出し要求を受信すると(S800)、データ管理テーブル2100を参照して、データの読み出しコマンドにより指定されたLUN及び論理アドレスをデータの実アドレスに記録されているLUN及び論理アドレスに変換する。そして、データの実アドレスに記録されているストレージ装置が第一のストレージ装置100であるか否かを判断する(S802)。この判断により、第一のストレージ装置100であると判断した場合(S802;Yes)には、変換したデータの読み出しコマンドをディスク制御部140に送出する。なお、チャネル制御部110からディスク制御部140への前記変換したデータの読み出しコマンドの伝達は、共有メモリ120を介して行われてもよい。
【0053】
ディスク制御部140は、チャネル制御部110から変換したデータの読み出しコマンドを受領すると、変換したデータの読み出しコマンドにより指定されたLUN及び論理アドレスに基づいて、その読み出し対象のデータ(以下、「読み出しデータ」と称する)をLU160から読み出す(S803)。そして、この読み出したデータをキャッシュメモリ130に書き込む。ディスク制御部140は、キャッシュメモリ130へのデータ転送が完了すると、その旨をチャネル制御部110に通知する。そして前記通知を受領したチャネル制御部110は、キャッシュメモリ130に記憶されている読み出しデータを情報処理装置400に送信し(S804)、データの読み出し処理を終了する。
【0054】
(S802)の判断により、第一のストレージ装置100でないと判断した場合(S802;No)には、第一のストレージ装置100のチャネル制御部110は、データの実アドレスに記録されているストレージ装置(本実施例においては、第二のストレージ装置200)に対して変換したデータの読み出し要求を送信する(S805)。
【0055】
第二のストレージ装置200のチャネル制御部210は、第一のストレージ装置100からデータの読み出し要求を受信すると(S806)、このデータの読み出しコマンドをディスク制御部240に送出する。ディスク制御部240は、チャネル制御部210からデータの読み出しコマンドを受領すると、そのコマンドに基づいて読み出しデータをLU260から読み出し、その読み出したデータをキャッシュメモリ230に書き込む。ディスク制御部240は、キャッシュメモリ230へのデータ転送が完了すると、その旨をチャネル制御部210に通知する。そして前記通知を受領したチャネル制御部210は、キャッシュメモリ230に記憶されている読み出しデータを第一のストレージ装置100に送信する(S807)。
【0056】
第一のストレージ装置100のチャネル制御部110は、第二のストレージ装置200から前記読み出しデータを受信すると(S808)、情報処理装置400に読み出しデータを送信し(S804)、データの読み出し処理を終了する。
【0057】
<データの書き戻し処理>
次に、LU160の空き容量不足や、物理ディスク又はディスク制御部140の障害などの問題が解決した場合に行われるストレージシステム800のデータの書き戻し処理について説明する。
データの書き戻し処理は、第一のストレージ装置100が第二のストレージ装置200に書き込ませたデータの書き戻しができると判断した場合に自動的に行われる。具体的には、ユーザ等がLU160に記憶されているデータを削除することにより、LU160の空き容量が第二のストレージ装置に書き込ませたデータのサイズより大きくなった場合や、第一のストレージ装置100にLU160を増加した場合や、物理ディスク又はディスク制御部140を修理・交換した場合などに開始される。以下、ストレージシステム800のデータの書き戻し処理について説明する。
【0058】
図9は、ストレージシステム800のデータの書き戻し処理の一例を説明するフローチャートである。第一のストレージ装置100のディスク制御部140は、データの書き戻し処理を開始するとデータ管理テーブル2100を参照して、第二のストレージ装置200に記憶されているデータの返還を求めるための書き戻し要求を作成し、それを第二のストレージ装置200に送信する(S900)。第二のストレージ装置200のチャネル制御部210は、第一のストレージ装置100からデータの書き戻し要求を受信すると(S901)、チャネル制御部210は受信したデータの書き戻しコマンドをディスク制御部240に送出する。なお、チャネル制御部210からディスク制御部240へのデータの書き戻しコマンドの伝達は、共有メモリ220を介して行われることもある。
【0059】
ディスク制御部240は、チャネル制御部210からデータの書き戻しコマンドを受領すると、そのコマンドに指定されている書き戻し対象のデータ(以下、「書き戻しデータ」と称する)をLU260から読み出して(S902)、読み出したデータをキャッシュメモリ230に書き込む。ディスク制御部240は、キャッシュメモリ230へのデータ転送が完了すると、その旨をチャネル制御部210に通知する。そして前記通知を受信したチャネル制御部210は、キャッシュメモリ230に記憶されている書き戻しデータをデータの書き戻しコマンドと共に第一のストレージ装置100に送信する(S903)。
【0060】
第一のストレージ装置100のチャネル制御部110は、第二のストレージ装置200からデータの書き戻しコマンド及び書き戻しデータを受信すると(S904)、LUN及びアドレスを指定したデータの書き込みコマンドを作成する。このデータの書き込みコマンドのLUNには、本来書き戻しデータが書き込まれるはずだったLU160の識別子や、増加されたLU160の識別子が指定される。また、データの書き込みコマンドのアドレスには、未使用の記憶領域の論理アドレスが指定される。なお、データの書き込みコマンドにより指定されたLUNは、データ管理テーブル2100を参照して、データの書き戻しコマンドを送信したストレージ装置や、データの書き戻しコマンドにより指定されているLUN及び論理アドレスなどに基づいて決定される。
【0061】
次に、チャネル制御部110は、作成したデータの書き込みコマンドを共有メモリ120に書き込むと共に、書き戻しデータをキャッシュメモリ130に書き込む。第一のストレージ装置100のディスク制御部140は、共有メモリ120にデータの書き込みコマンドが書き込まれていることを検知すると、キャッシュメモリ130から書き戻しデータを読み出す。そして、ディスク制御部140はその書き戻しデータをLU160に書き込む(S905)。
【0062】
ディスク制御部240は、データの書き込みコマンドにより指定されたLU160に書き戻しデータの書き込みが完了すると、データの書き込みが完了した旨をチャネル制御部110に通知する。その通知を受信したチャネル制御部110は、書き戻しデータを記憶した場所をデータ管理テーブル2100に記録する(S906)。具体的には、データ管理テーブル2100のデータの実アドレスのストレージ装置の識別子を第一のストレージ装置の識別子に変換し、データの実アドレスのLUN及び論理アドレスを、チャネル制御部110がデータの書き込みコマンドにおいて指定したLUN及び論理アドレスに変換する。
【0063】
次に、チャネル制御部110は、データの書き戻しコマンドにおいて指定したLUN及び論理アドレスなどに基づいて書き戻しデータの削除コマンドを作成し、第二のストレージ装置200に対して書き戻しデータの削除を要求する(S907)。第二のストレージ装置200のチャネル制御部210は、書き戻しデータの削除要求を受信すると(S908)、このデータの削除コマンドをディスク制御部240に送出する。ディスク制御部240は、チャネル制御部210からデータの削除コマンドを受領すると、そのコマンドに基づいてLU260からデータを削除する(S909)。ディスク制御部240は、データの削除が完了すると、その旨をチャネル制御部210に通知する。そして前記通知を受領したチャネル制御部210は、データ削除の完了報告を第一のストレージ装置100に送信する(S910)。
【0064】
第一のストレージ装置100のチャネル制御部210は、第二のストレージ装置200からデータの完了報告を受信すると(S911)、管理コンピュータ800に対してデータの書き戻しの完了報告を通知し(S912)、データの書き戻し処理を終了する。なお、チャネル制御部110は、管理コンピュータ600にデータの書き戻しの完了報告を通知するとともに(S912)、データ管理テーブル2100のデータの管理アドレス及び実アドレスの情報を通知することとしてもよい。
【0065】
以上のように、第一のストレージ装置100が第二のストレージ装置200に書き込ませたデータの書き戻しができると判断した場合には、データの書き戻し処理が開始される。これにより、オペレータ等は物理ディスク又はディスク制御部140の障害や、LU160の容量不足などの問題を解決した後に、オペレータ等はデータの書き戻し作業という煩雑な操作を行う必要がなくなる。
【0066】
===他の実施例===
前述の実施例では、2台のストレージ装置100,200を備えるストレージシステム800におけるデータの書き込み処理やデータの書き戻し処理、データの読み出し処理について説明したが、図10や図11に示すような複数台のストレージ装置を備えるストレージシステム800にも適用することができ、また、上述と同様の効果を得ることができる。
【0067】
図10は、他の実施例として説明するストレージシステム800の全体構成を示すブロック図である。ストレージシステム800の第一のストレージ装置1100には、SAN300を介して1又は複数台の情報処理装置400が接続されており、SAN700を介して第二のストレージ装置1200が接続されている。また、第二のストレージ装置1200には、SAN710を介して第三のストレージ装置1300が接続されている。第一乃至第三のストレージ装置1100,1200,1300には、LAN500を介して管理コンピュータ600が接続されている。
【0068】
図11は、他の実施例として説明するストレージシステム800の全体構成を示すブロック図である。ストレージシステム800の第一のストレージ装置1100には、SAN300を介して1又は複数台の情報処理装置400が接続されており、SAN700を介して第二のストレージ装置1200、第三のストレージ装置1300、及び第四のストレージ装置1400が接続されている。第一乃至第四のストレージ装置1100,1200,1300,1400には、LAN500を介して管理コンピュータ600が接続されている。
【0069】
===応用例===
本発明のストレージシステムのデータの書き込み処理やデータの書き戻し処理などの制御方法は、例えば、各企業に割り当てられた記憶領域にデータの書き込みができなかった場合に、他のストレージ装置の記憶領域をレンタルして一時的にデータを記憶させるサービスに適用可能である。以下、この記憶領域のレンタルサービスについて図1及び図12〜図15を用いて詳述する。
【0070】
図12は、ストレージ装置100の論理ボリューム160の空き容量を管理するテーブル2100の一例を示す。図12に示されるように、第一のストレージ装置100の各LU160は各使用者(会社)に割り当てられている。なお、本実施例においては、会社DのLU5(160)の使用状況には、LU5(160)の空き容量がないため、「使用不可」が記録されている。また、会社EのLU6(160)の使用状況には、ディスク制御部140に何らかの障害が発生したことによりアクセスができないため、「使用不可」が記録されている。
【0071】
会社Aのデータの書き込み要求が情報処理装置400から送信されてくると、第一のストレージ装置100は、論理ボリュームの空き容量管理テーブル2500を参照してデータの書き込みができると判断する。そして、第一のストレージ装置100は前記会社AのデータをLU1(LU160)に書き込む。一方、会社D又は会社Eのデータの書き込み要求が情報処理装置400から送信されてくると、第一のストレージ装置100は、論理ボリュームの空き容量管理テーブル2500を参照してデータの書き込みができないと判断する。そして、第一のストレージ装置100は、第二のストレージ装置200にデータを記憶するための記憶領域を確保できるかどうかを判断するための情報を要求する。
【0072】
この情報の要求を受信した第二のストレージ装置200は、例えば、図13に示す論理ボリューム管理テーブル2600や、図14に示す貸し出し可能な論理ボリューム管理テーブル2700などの情報を第一のストレージ装置100に送信する。この情報を受信した第一のストレージ装置100は、この情報を参照して借用したい論理ボリュームを選択する。なお、借用したいLU260の選択は、例えば、あらかじめユーザなどによって指定された条件(例えば、使用できる領域や、使用状況など)に基づいて選択される。
【0073】
第一のストレージ装置100は、選択したLU260や論理アドレスなどを指定してデータの書き込み要求を第二のストレージ装置200に送信する。このデータの書き込み要求を受信した第二のストレージ装置200は、データの書き込みコマンドにより指定されたLU260に書き込みデータを書き込み、データの書き込み完了報告を第一のストレージ装置100に通知する。
【0074】
データの書き込み完了報告の通知を受信した第一のストレージ装置100は、データ管理テーブル2100のデータの管理アドレス及びデータの実アドレスを記録し、情報処理装置400にデータの書き込み完了報告を通知する。また、第一のストレージ装置100は、管理コンピュータ600にLU5(160)に空き容量が不足している旨を通知するとともに、会社Dが第二のストレージ装置200のLU3(260)の記憶領域を300MB借用していることを通知する。これらの通知を受信した管理コンピュータ600は、これらのことをディスプレイに表示する。また、会社Dが第二のストレージ装置200のLU3(260)の記憶領域を300MB借用していることを、図15に示す記憶領域借用情報2800に記録する。この記憶領域借用情報には、記憶領域を借用している利用者、借用先の情報(ストレージ装置やLUNなど)、使用領域、レンタル料などが記録されている。なお、レンタル料は、例えば、使用領域、使用日数、ストレージ装置の性能、回線速度などによって計算される。
【0075】
以上のように、本発明のストレージシステム800の制御方法は、他のストレージ装置の記憶領域をレンタルして一時的にデータを記憶させるサービスに適用可能である。
【0076】
なお、上述においては、複数のストレージ装置100,200間で記憶領域の貸し借りについて説明したが、同一のストレージ装置内で記憶領域の貸し借りを行うこととしてもよい。以下、具体的に説明することとする。
【0077】
会社BのLU2(160)に対するデータの書き込み要求が情報処理装置400から送信されてくると、第一のストレージ装置100は、論理ボリュームの空き容量管理テーブル2500を参照してデータの書き込みができないと判断する。そして、第一のストレージ装置100は、他のストレージ装置にデータを記憶するための記憶領域を確保できるかどうかを判断するための情報を要求する前に、まず、第一のストレージ装置100は、当該ストレージ装置100にデータを記憶するための記憶領域を確保できるかどうかを判断する。
【0078】
この判断は、第一のストレージ装置100が有する論理ボリューム管理テーブル2300や貸し出し可能な論理ボリューム管理テーブル2400などを参照して、未使用のLU160が存在するか否か、または第一のストレージ装置100内に貸し出し可能な記憶領域が存在するか否かなどを確認し、会社Bに借用させるLU160を選択する。なお、借用させるLU160の選択は、例えば、あらかじめユーザなどによって指定された条件(例えば、使用できる領域や、使用状況など)に基づいて行われることとしてもよい。
【0079】
第一のストレージ装置100は、データを記憶するための記憶領域を確保できると判断した場合には、その記憶領域(例えば、LU4(160))にデータを書き込む。そして、データ管理テーブル2100のデータの管理アドレス及びデータの実アドレスを記録し、情報処理装置400にデータの書き込み完了報告を通知する。また、第一のストレージ装置100は、管理コンピュータ600にLU2(160)に空き容量が不足している旨を通知するとともに、会社Bが第一のストレージ装置100のLU4(160)の記憶領域を49000MB借用していることを通知する。これらの通知を受信した管理コンピュータ600は、これらのことをディスプレイに表示する。また、会社Bが第一のストレージ装置100のLU4(160)の記憶領域を49000MB借用していることを、図15に示す記憶領域借用情報2800に記録する。
【0080】
一方、データを記憶するための記憶領域を確保できないと判断した場合には、上述のように、第一のストレージ装置100は、第二のストレージ装置200にデータを記憶するための記憶領域を確保できるかどうかを判断するための情報を要求し、同様の処理がなされる。
【0081】
以上本実施の形態について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【0082】
【発明の効果】
本発明によれば、本発明は複数のストレージ装置が保有する記憶資源を有効に利用することができるストレージシステムの制御方法、ストレージシステム、及びストレージ装置を提供することができる。
【図面の簡単な説明】
【図1】本実施の形態に係る、ストレージシステムのハードウェア構成を示すブロック図である。
【図2】本実施の形態に係る、データの入出力要求のコマンドフォーマットの一例を示す図である。
【図3】本実施の形態に係る、ストレージシステムのデータの書き込み処理の一例を説明するフローチャートである。
【図4】本実施の形態に係る、データ管理テーブルの一例を示す図である。
【図5】本実施の形態に係る、第一のストレージ装置の論理ボリュームの空き容量管理テーブルの一例を示す図である。
【図6】本実施の形態に係る、第二のストレージ装置の論理ボリューム管理テーブルの一例を示す図である。
【図7】本実施の形態に係る、貸し出し可能な論理ボリューム管理テーブルの一例を示す図である。
【図8】本実施の形態に係る、ストレージシステムのデータの読み出し処理の一例を説明するフローチャートである。
【図9】本実施の形態に係る、ストレージシステムのデータの書き戻し処理の一例を説明するフローチャートである。
【図10】本実施の形態に係る、ストレージシステムの全体構成の例を示すブロック図である。
【図11】本実施の形態に係る、ストレージシステムの全体構成の例を示すブロック図である。
【図12】本実施の形態に係る、第一のストレージ装置の論理ボリュームの空き容量管理テーブルの一例を示す図である。
【図13】本実施の形態に係る、第二のストレージ装置の論理ボリューム管理テーブルの一例を示す図である。
【図14】本実施の形態に係る、貸し出し可能な論理ボリューム管理テーブルの一例を示す図である。
【図15】本実施の形態に係る、記憶領域借用情報の一例を示す図である。
【符号の説明】
100,1100 第一のストレージ装置
200,1200 第二のストレージ装置
110,210 チャネル制御部
120,220 共有メモリ
130,230 キャッシュメモリ
140,240 ディスク制御部
150,250 接続部
160,260 論理ボリューム(LU)
170,270 LANアダプタ
300,700,710,720 SAN
400 情報処理装置
500 LAN
600 管理コンピュータ
800 ストレージシステム
1300 第三のストレージ装置
1400 第四のストレージ装置
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a storage system control method, a storage system, and a storage apparatus.
[0002]
[Prior art]
In today's globalized information society, the amount of data handled by information processing systems is increasing rapidly, and multiple storage devices are operated. For example, in data centers, storage areas provided to users are insufficient. Management is required so that there is no such thing.
[0003]
[Patent Document 1]
JP 2002-222061 A
[0004]
[Problems to be solved by the invention]
By the way, in a data center or the like, a plurality of storage devices are generally operated, and storage areas of these storage devices are generally managed individually for each storage device. For this reason, when the storage area of a certain storage apparatus is insufficient, the storage area is replenished by directly adding a physical disk or the like to the storage apparatus.
However, in a data center or the like, when a storage area of a certain storage apparatus is insufficient, another storage apparatus may have an excess storage area. Under such circumstances, it is difficult to say that the storage resources are used effectively when viewed as a whole of the plurality of storage apparatuses. For this reason, there is a demand for a mechanism for effectively utilizing the storage resources held by other storage apparatuses at a place where a plurality of storage apparatuses are operated.
[0005]
Therefore, a main object of the present invention is to provide a storage system control method, a storage system, and a storage apparatus that can effectively use storage resources held by other storage apparatuses.
[0006]
[Means for Solving the Problems]
A storage system control method that is an invention for achieving the above main object is as follows:
A first storage device that stores the data in a first storage area in response to a data write request transmitted from an information processing device that is communicably connected;
A second storage device communicably connected to the first storage device;
In a storage system control method comprising:
The first storage device receiving the data write request transmitted from the information processing device;
If the first storage device determines that the data cannot be written to the first storage area, the first storage device stores a second storage area for storing the data in the second storage device. Requesting information to determine whether it can be secured,
The second storage device transmits information for determining whether the second storage area can be secured to the first storage device;
The first storage device determines whether the second storage area can be secured based on the information transmitted from the second storage device; and
When the first storage device determines that the second storage area can be secured, the step of transmitting the data to the second storage device;
The second storage device stores the data transmitted from the first storage device in the second storage area; and
It is characterized by including.
[0007]
Here, the storage system is a system operated in, for example, a system center or a data center in a company. The information processing apparatus is a personal computer or mainframe computer that accesses the storage apparatus via a SAN or LAN. The first storage device and the second storage device are a disk array device or a semiconductor storage device that stores data in a storage area in response to an input / output request for data transmitted from the information processing device. . The first storage device and the second storage device are communicably connected via, for example, a SAN (Storage Area Network).
[0008]
The storage area for storing data is, for example, a physical volume that is a physical storage area provided by a physical disk (for example, a hard disk device, a flexible disk device, a semiconductor storage device, etc.), or a logical volume on a physical volume. For example, a logical volume which is a storage area set automatically. In the above, when data cannot be written to the storage area, for example, the storage area allocated to the company or organization has insufficient free space, or the physical disk or disk controller cannot operate. Say. In addition, as information for determining whether or not a storage area for storing data can be secured, for example, information on the free capacity of the storage area provided in the storage apparatus, and information on storage areas that can be lent to other storage apparatuses There is information.
[0009]
As described above, the storage system control method of the present invention makes it possible to secure an unused storage area in real time and store data in the storage area when data cannot be written.
In addition, the problems disclosed by the present application and the solutions thereof will be clarified by the embodiments of the present invention and the drawings.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
=== Example of Overall Configuration ===
<Storage system>
First, a hardware configuration of a storage system 800 described as an embodiment of the present invention will be described. FIG. 1 is a block diagram showing a hardware configuration of a storage system 800 according to the present embodiment.
The storage system 800 includes a plurality of storage devices such as the first storage device 100 and the second storage device 200. The storage system 800 is operated by, for example, a system center or a data center in a company.
[0011]
As shown in FIG. 1, the first storage device 100 of the storage system 800 is connected to one or a plurality of information processing devices 400 via a SAN 300. The information processing apparatus 400 is a computer that provides, for example, a bank automatic deposit and deposit service, an Internet homepage browsing service, and the like. The first storage device 100 functions as a device for storing data handled by the information processing device 400.
[0012]
The SAN 300 is a network that communicates according to, for example, a fiber channel protocol and connects the information processing apparatus 400 and the first storage apparatus 100. Communication between the information processing apparatus 400 and the first storage apparatus 100 performed via the SAN 300 is generally performed according to a fiber channel protocol. From the information processing apparatus 400, a block-unit data access request is transmitted to the first storage apparatus 100 according to the fiber channel protocol. Note that the information processing apparatus 400 and the first storage apparatus 100 do not necessarily have to be connected by a communication unit such as the SAN 300, and may be connected via a LAN or may be directly connected. It may be.
[0013]
A management computer 600 is connected to the first storage device 100 and the second storage device 200 of the storage system 800 via a LAN (Local Area Network) 500. The management computer 600 is a computer for operating and managing the storage system 800. The LAN 500 communicates according to a protocol such as TCP / IP (Transmission Control Protocol / Internet Protocol), for example, and is referred to as a first storage device 100 and a second storage device 200 (hereinafter referred to as “storage devices 100, 200”). ) And the management computer 600. Note that the storage apparatuses 100 and 200 and the management computer 600 do not necessarily have to be performed by communication means such as the LAN 500, but are SCSI (Small Computer Systems Interface) standard communication lines and bus lines, peer-to-peer, and the like. It may be connected with.
[0014]
The first storage device 100 is connected to the second storage device 200 via the SAN 700. Note that the first storage device 100 and the second storage device 200 do not necessarily have to be performed by communication means such as the SAN 300, but may be a Gigabit Ethernet (registered trademark), an ATM (Asynchronous Transfer Mode), a public line, or the like. It may be connected. Note that the SAN 300 and the SAN 700 may be SANs that are independent of each other, or may be configured to be communicably connected and the same SAN.
[0015]
<Storage device>
The first storage device 100 and the second storage device 200 (hereinafter referred to as “storage devices 100 and 200”) are, for example, a disk array device or a semiconductor storage device. The first storage device 100 performs data input / output processing in response to a data input / output request such as a data write request or data read request transmitted from the information processing device 400, for example.
[0016]
The second storage device 200 temporarily stores the write data when the first storage device 100 that has received the data write request transmitted from the information processing device 400 cannot write the write data. It has a function of providing a storage area for keeping it. Similar to the first storage apparatus 100, the second storage apparatus 200 receives data in response to data input / output requests transmitted from one or more information processing apparatuses 400 that are communicably connected. It may have a function of performing output processing.
[0017]
The storage apparatuses 100 and 200 include channel control units 110 and 210, shared memories 120 and 220, cache memories 130 and 230, disk control units 140 and 240, connection units 150 and 250, LU 160 and 260, a LAN adapter 170, and the like. Composed.
The channel controller 110 of the first storage device includes a communication interface for performing communication with the information processing device 400 and the second storage device 200, and is connected to the information processing device 400 and the second storage device 210. It has a function to exchange data input / output requests between them. The channel control unit 210 of the second storage device includes a communication interface for communicating with the first storage device 100, and exchanges data with the first storage device 100. It has a function.
[0018]
The disk control units 140 and 240 of the storage apparatuses 100 and 200 control the LUs 160 and 260. For example, the disk control unit 140 inputs / outputs data to / from the LU 160 according to a data write command or read command received from the information processing apparatus 400 by the channel control unit 110. Further, the data access request to the LU 160 by the logical address designation transmitted by the channel control unit 110 is converted into a data access request to the physical disk by the physical address designation.
[0019]
The disk control units 140 and 240 also provide a function of controlling a physical disk by a RAID system (for example, RAID 0, 1, 5). In this way, when the physical disks of the storage apparatuses 100 and 200 are managed by RAID, data is accessed according to a RAID (Redundant Array of Independent Drives) configuration (for example, RAID 0, 1, 5).
[0020]
The LUs 160 and 260 are storage areas that are logically set on physical storage areas provided by physical disks included in the storage apparatuses 100 and 200. The LUs 160 and 260 are storage areas for storing write data transmitted from the information processing apparatus 400. The storage area for storing data may be a part of the LUs 160 and 260, or a physical storage provided by a physical disk (for example, a hard disk device, a flexible disk device, a semiconductor storage device, etc.). It may be all or part of a physical volume that is an area.
[0021]
The connection units 150 and 250 of the storage apparatuses 100 and 200 connect the channel control units 110 and 210, the shared memories 120 and 220, the cache memories 130 and 230, and the disk control units 140 and 240 to each other. Data and commands are exchanged between the channel control units 110 and 210, the shared memories 120 and 220, the cache memories 130 and 230, and the disk control units 140 and 240 through the connection units 150 and 250. The connection units 150 and 250 are high-speed buses such as ultra-high-speed crossbar switches that perform data transmission by high-speed switching, for example.
[0022]
The LAN adapters 170 and 270 of the storage apparatuses 100 and 200 are, for example, NICs (Network Interface Cards), and provide a function for communicating with the management computer 600.
[0023]
The shared memories 120 and 220 and the cache memories 130 and 230 are storage memories shared by the channel controllers 110 and 210 and the disk controllers 140 and 240. The shared memories 120 and 220 are used for storing control information and commands, for example. The cache memories 130 and 230 are used to temporarily store data exchanged between the channel control units 110 and 210 and the disk control units 140 and 240, for example.
[0024]
In the present embodiment, it has been described that the shared memories 120 and 220 and the cache memories 130 and 230 are provided independently of the channel control units 110 and 210 and the disk control units 140 and 240. However, in the present embodiment, The present invention is not limited to this case, and the shared memories 120 and 220 or the cache memories 130 and 230 may be distributed and provided in the channel controllers 110 and 210 and the disk controllers 140 and 240, respectively. In this case, the connection units 150 and 250 connect the channel control units 110 and 210 and the disk control units 140 and 240 having distributed shared memory or cache memory to each other.
[0025]
<Management computer>
The management computer 600 is a computer for maintaining and managing the storage apparatuses 100 and 200 in the storage system 800. Note that the information processing apparatus 400 may have a function for maintaining and managing the storage apparatuses 100 and 200.
[0026]
The management computer 600 includes a CPU and a memory. The CPU of the management computer 600 is responsible for overall control of the management computer 600, and implements various functions and the like by executing programs stored in the memory.
[0027]
When the user or the like operates the management computer 600, for example, setting of the physical disk configuration, management and setting of the LUs 160 and 260 (capacity management, capacity expansion / reduction, allocation of the information processing apparatus 400, etc.), the storage apparatus 100, and the like. , 200 can be installed. Here, as the setting of the physical disk configuration, for example, the physical disk can be added or removed, the RAID configuration can be changed (change from RAID 1 to RAID 5, etc.), and the like. These settings are performed by a user or the like using a Web page provided by a Web server operating on the management computer 600 as a user interface.
[0028]
The management computer 600 can be built in the storage apparatuses 100 and 200 or can be externally attached. The management computer 600 may be a computer dedicated to maintenance and management of the storage apparatuses 100 and 200 and LUs 160 and 260, or a general-purpose computer having a maintenance and management function.
[0029]
<Information processing device>
The information processing apparatus 400 is a computer that includes a CPU (Central Processing Unit), a memory, and the like, similar to the management computer 600. The information processing apparatus 400 is, for example, a personal computer, a workstation, a mainframe computer, or the like. The CPU of the information processing apparatus 400 is responsible for overall control of the information processing apparatus 400, and implements various functions and the like by executing programs stored in the memory.
[0030]
The information processing apparatus 400 reads data stored in the LU 160 or sends data to the first storage apparatus 100 by sending data input / output requests such as data write requests and data read requests. Write data. FIG. 2 shows an example of a command format of a data input / output request such as a data write request or a data read request. In the header, the ID of the information processing apparatus 400 is set. In the port ID, the ID of the port for connecting to the logical volume 160 that is the processing target of the data input / output request is set. In the LUN (Logical Unit Number), an identifier of the logical volume 160 targeted by the data input / output request is set. The logical address of the data reading destination or writing destination is set as the address. In addition, the data length of the data to be read or written is set as the data length. When the data input / output request is a data write request, data to be written is added in addition to these.
[0031]
=== Example 1 ===
Next, processing of the storage system 800 when the information processing apparatus 400 transmits a data input / output request such as a data write request or a data read request to the first storage apparatus 100 will be described.
[0032]
<Process when receiving data write request>
FIG. 3 is a flowchart for explaining an example of a data write process of the storage system 800 when a data write request is transmitted from the information processing apparatus 400 to the first storage apparatus 100.
[0033]
When the channel control unit 110 of the first storage device 100 receives a data write request transmitted from the information processing device 400 (S300), the channel control unit 110 writes data to the LU 160 specified by the data write command. It is determined whether or not it can be performed (S301). This determination is made, for example, by referring to the free capacity management table 2200 of the logical volume 160 of the first storage device 100 shown in FIG. 5 and the free capacity of the LU 160 specified by the data write command and the data of the data write command. This is done by comparing the length. The logical volume free capacity management table 2200 is created, for example, when the channel control unit 110 receives a free capacity report of each LU 160 from the disk control unit 140 in real time. The logical volume free space management table 2200 may be stored in the shared memory 120 or in the LU 160.
[0034]
When the free capacity of the LU 160 specified by the data write command and the data length of the data write command are compared with reference to the free capacity management table 2200 of the logical volume, the free capacity of the LU is larger than the data length It is determined that data can be written to the. On the other hand, when the free space of the LU is smaller than the data length, it is determined that data cannot be written. This determination may be performed by the channel control unit 110 as described above, or may be performed by the disk control unit 140.
[0035]
As a result of the determination in (S301), when it is determined that data can be written (S301; Yes), the channel control unit 110 writes the received data write command to the shared memory 120 and from the information processing apparatus 400. The received data to be written (hereinafter referred to as “write data”) is written into the cache memory 130. The disk control unit 140 monitors the contents of the shared memory 120 in real time. When the disk controller 140 detects that a data write command is written in the shared memory 120 by this monitoring, the disk controller 140 reads the write data from the cache memory 130, and based on the LU 160 and logical address specified in the data write command. The write data is written to the LU 160 (S302).
[0036]
When the data writing to the designated LU 160 is completed, the disk control unit 140 notifies the channel control unit 110 to that effect. The channel control unit 110 that has received the notification actually stores the location (for example, LUN, logical address, and data length) designated by the data write command transmitted from the information processing apparatus 400 and the write data. The location (for example, storage device, LUN and logical address) is recorded in the data management table 2100 stored in the LU 160, the shared memory 120, etc. (S303).
[0037]
FIG. 4 shows an example of the data management table 2100. As shown in FIG. 4, the data management table 2100 includes data management addresses such as LUNs, logical addresses, and data lengths specified by data write commands transmitted from the information processing apparatus 400, and the information processing apparatus 400. The storage device that actually stores the write data transmitted from the storage device, the LUN, and the actual address of the data such as the logical address are recorded.
[0038]
Next, the channel control unit 110 of the first storage device 100 notifies the information processing device 400 of a write completion report (S304), and ends the data write processing. The writing completion report to the information processing apparatus 400 may be performed in synchronization with the data writing operation to the LU 160 as described above, but is performed asynchronously with the actual data writing operation to the LU 160. It is good.
[0039]
On the other hand, as a result of the determination in (S301), when it is determined that data cannot be written (S301; No), the disk control unit 140 notifies the channel control unit 110 accordingly. The channel controller 110 that has received the notification stores data in the storage device (in this embodiment, the second storage device 200) that is communicably connected to the first storage device 100. Information for determining whether or not the storage area can be secured is requested (S305). This request for information is made when the channel controller 110 determines that data cannot be written because the disk controller 140 cannot operate, or when the disk controller 140 uses a data write command because the physical disk cannot operate. This may also be performed when it is determined that data cannot be written to the designated LU 160.
[0040]
When the channel controller 210 of the second storage device 200 receives a request for information from the first storage device 100 to determine whether a storage area for storing data can be secured (S306), Information for determining whether or not a storage area for storing data can be secured in the storage apparatus 100 is transmitted (S307). This information may be, for example, the logical volume management table 2300 of the second storage device 200 shown in FIG. 6 or the lentable logical volume management table 2400 shown in FIG. By referring to these tables by the first storage device 100, it is possible to determine whether or not a storage area for storing data can be secured.
[0041]
As shown in FIG. 6, the logical volume management table 2300 records the usage status, free capacity, access frequency, etc. of each LU 260 in the second storage device 200, but is not limited to these. The degree of data importance, the ratio of the used area to the storage capacity of the LU 260 (utilization rate), and the like may be recorded. In the rentable logical volume management table 2400 shown in FIG. 7, a storage area that the second storage apparatus 200 determines to lend the LU 260, for example, an unused storage area or a lending permission from a user or the like in advance is obtained. Information such as storage area is recorded. These tables may be created when there is a request for information for determining whether or not a storage area for storing data can be secured from the first storage device 100, but in advance the shared memory 220 Or LU 260 or the like.
[0042]
When the channel controller 110 of the first storage device 100 receives information for determining whether or not a storage area for storing data can be secured from the second storage device 200 (S308), the first storage device The channel controller 110 determines whether the storage area can be secured based on the information (S309). This determination is based on whether the usage status of the LU 260 is “unused” or the free capacity is larger than the size of the write data transmitted from the information processing device 400 when the logical volume management table 2300 is transmitted. This is performed by determining whether the access frequency of the LU 260 is “low”. Further, when the rentable logical volume management table 2400 is transmitted, it is determined by determining whether or not the rentable storage area is larger than the size of the write data transmitted from the information processing apparatus 400.
[0043]
As a result of the determination in (S309), when it is determined that a storage area for storing write data cannot be secured (S309; No), the information processing apparatus 400 is notified that data cannot be written (S317). ) Notifies the management computer 600 that there is no free space in the LU 160 (S318), and ends the data writing process. On the other hand, as a result of the determination in (S309), if it is determined that a storage area for storing the write data can be secured (S309; Yes), the channel control unit 110 performs the write command and write operation specifying the storage area. Data (data write request) is transmitted to the second storage device 200 having the storage area (S310).
[0044]
When receiving the data write request transmitted from the first storage device 100 (S311), the channel control unit 210 of the second storage device 200 writes the received data write command to the shared memory 220, and Write data received from one storage apparatus 100 is written to the cache memory 230.
[0045]
When the disk controller 240 of the second storage device 200 detects that a data write command has been written to the shared memory 220, it reads the write data from the cache memory 230. Then, the write data is written into the storage area designated by the data write command (S312). When the writing of data to the designated storage area is completed, the disk control unit 240 notifies the channel control unit 210 to that effect. The channel control unit 210 that has received the notification notifies the first storage device 100 of a data write completion report (S313).
[0046]
When the channel controller 110 of the first storage device 100 receives the data write completion report notification from the second storage device 200 (S314), it is designated by the data write command sent from the information processing device 400. Data management stored in the LU 160, the shared memory 120, etc., such as the location (for example, LUN, logical address and data length), the location (for example, storage device, LUN and logical address) where the write data is actually stored It records in the table 2100 (S315). By this recording, the first storage device 100 can grasp which LU of each storage device stores each data.
[0047]
When the channel controller 110 of the first storage device 100 receives the notification of the data write completion report from the second storage device 200 (S314), it notifies the information processing device 400 of the data write completion report (S316). The management computer 600 is notified that data cannot be written to the LU 160 (S318). Then, the storage system 800 ends the data writing process.
[0048]
As described above, when data cannot be written to the LU 160 due to a problem such as a failure of the physical disk or the disk control unit 140 or a capacity shortage of the LU 160, the operation of the information processing apparatus 400 is not interrupted. The data is stored by borrowing the storage area held by the storage device. Therefore, the storage resources existing in the storage system 800 can be used effectively. In the embodiment of the present invention, it goes without saying that data can be stored not only in the storage area that can be directly accessed by the information processing apparatus 400 but also in a storage area that cannot be directly accessed.
[0049]
Further, by notifying the management computer 600 that data cannot be written to the LU 160 from the first storage device 100 (S316), an operator or the like who manages the storage system 800 can detect a failure of the physical disk or the disk control unit 140. It is possible to know that data cannot be written to the LU 160 due to a problem such as insufficient capacity of the LU 160. The channel control unit 110 may notify the management computer 600 that data cannot be written to the LU 160 (S316), and may also notify the data management address and real address information of the data management table 2100. As a result, the management computer 600 can know where the data that could not be written to the LU 160 is stored, and after solving problems such as a failure of the physical disk or the disk control unit 140 and insufficient capacity of the LU 160. The operator or the like can cause the storage system 800 to execute a data write-back process to be described later for each data.
[0050]
In the embodiment described above, the first storage apparatus 100 stores data from the second storage apparatus 200 when data cannot be written to the LU 160 specified by the data write command transmitted from the information processing apparatus 400. Although the area is borrowed and the data is written, the first storage apparatus 100 may borrow the storage area of the storage apparatus and write the data.
[0051]
<Process when receiving data read request>
FIG. 8 is a flowchart for explaining an example of data read processing of the storage system 800 when a data read request is transmitted from the information processing device 400 to the first storage device 100.
[0052]
When the channel control unit 110 of the first storage device 100 receives a data read request transmitted from the information processing device 400 (S800), the LUN specified by the data read command is referred to the data management table 2100. And the logical address is converted into the LUN and logical address recorded in the real address of the data. Then, it is determined whether or not the storage device recorded at the real address of the data is the first storage device 100 (S802). If it is determined that this is the first storage device 100 (S802; Yes), a read command for the converted data is sent to the disk controller 140. Note that the transmission of the converted data read command from the channel control unit 110 to the disk control unit 140 may be performed via the shared memory 120.
[0053]
When the disk control unit 140 receives the read command of the converted data from the channel control unit 110, the disk control unit 140 reads the data to be read (hereinafter referred to as “read data”) based on the LUN and logical address specified by the converted data read command. Is read from the LU 160 (S803). Then, the read data is written into the cache memory 130. When the data transfer to the cache memory 130 is completed, the disk control unit 140 notifies the channel control unit 110 to that effect. The channel control unit 110 that has received the notification transmits the read data stored in the cache memory 130 to the information processing apparatus 400 (S804), and ends the data read process.
[0054]
If it is determined by (S802) that the storage device 100 is not the first storage device 100 (S802; No), the channel control unit 110 of the first storage device 100 stores the storage device recorded at the real address of the data. In this embodiment, a read request for the converted data is transmitted to the second storage apparatus 200 (S805).
[0055]
When the channel controller 210 of the second storage device 200 receives a data read request from the first storage device 100 (S806), it sends this data read command to the disk controller 240. When the disk control unit 240 receives a data read command from the channel control unit 210, the disk control unit 240 reads the read data from the LU 260 based on the command and writes the read data to the cache memory 230. When the data transfer to the cache memory 230 is completed, the disk control unit 240 notifies the channel control unit 210 to that effect. Upon receiving the notification, the channel control unit 210 transmits the read data stored in the cache memory 230 to the first storage device 100 (S807).
[0056]
When the channel control unit 110 of the first storage device 100 receives the read data from the second storage device 200 (S808), it transmits the read data to the information processing device 400 (S804), and ends the data read processing. To do.
[0057]
<Data write-back processing>
Next, a description will be given of the data write-back processing of the storage system 800 that is performed when problems such as a lack of free space in the LU 160 and a failure of the physical disk or the disk control unit 140 are solved.
The data write-back process is automatically performed when the first storage device 100 determines that the data written to the second storage device 200 can be written back. Specifically, when the user or the like deletes data stored in the LU 160, the free capacity of the LU 160 becomes larger than the size of data written in the second storage device, or the first storage device This process is started when the LU 160 is increased to 100 or when the physical disk or the disk control unit 140 is repaired or replaced. The data write-back process of the storage system 800 will be described below.
[0058]
FIG. 9 is a flowchart for explaining an example of data write-back processing in the storage system 800. When the disk control unit 140 of the first storage device 100 starts the data write-back process, the disk control unit 140 refers to the data management table 2100 to write back data for requesting the return of data stored in the second storage device 200. A request is created and transmitted to the second storage device 200 (S900). When the channel controller 210 of the second storage device 200 receives a data write-back request from the first storage device 100 (S901), the channel controller 210 sends the received data write-back command to the disk controller 240. Send it out. Note that transmission of a data write-back command from the channel control unit 210 to the disk control unit 240 may be performed via the shared memory 220.
[0059]
When receiving a data write-back command from the channel control unit 210, the disk control unit 240 reads data to be written back (hereinafter referred to as “write-back data”) specified in the command from the LU 260 (S902). ) The read data is written into the cache memory 230. When the data transfer to the cache memory 230 is completed, the disk control unit 240 notifies the channel control unit 210 to that effect. Upon receiving the notification, the channel control unit 210 transmits the write-back data stored in the cache memory 230 to the first storage device 100 together with the data write-back command (S903).
[0060]
When the channel controller 110 of the first storage device 100 receives a data write-back command and write-back data from the second storage device 200 (S904), it creates a data write command specifying the LUN and address. In the LUN of this data write command, the identifier of the LU 160 to which the write-back data was supposed to be written or the identifier of the increased LU 160 is designated. The logical address of the unused storage area is designated as the address of the data write command. Note that the LUN specified by the data write command refers to the data management table 2100, the storage device that sent the data write-back command, the LUN and logical address specified by the data write-back command, etc. To be determined.
[0061]
Next, the channel control unit 110 writes the created data write command to the shared memory 120 and writes the write-back data to the cache memory 130. When the disk control unit 140 of the first storage device 100 detects that a data write command is written in the shared memory 120, it reads the write-back data from the cache memory 130. Then, the disk control unit 140 writes the write-back data into the LU 160 (S905).
[0062]
When the write back of the write-back data to the LU 160 specified by the data write command is completed, the disk control unit 240 notifies the channel control unit 110 that the data write has been completed. Receiving the notification, the channel control unit 110 records the location where the write-back data is stored in the data management table 2100 (S906). Specifically, the identifier of the storage device of the real address of the data in the data management table 2100 is converted into the identifier of the first storage device, and the LUN and logical address of the real address of the data are written by the channel control unit 110. Convert to LUN and logical address specified in command.
[0063]
Next, the channel control unit 110 creates a write-back data deletion command based on the LUN and logical address specified in the data write-back command, and deletes the write-back data from the second storage device 200. A request is made (S907). When the channel controller 210 of the second storage device 200 receives the write-back data deletion request (S908), it sends this data deletion command to the disk controller 240. Upon receiving a data deletion command from the channel control unit 210, the disk control unit 240 deletes data from the LU 260 based on the command (S909). When the data deletion is completed, the disk control unit 240 notifies the channel control unit 210 to that effect. Upon receiving the notification, the channel control unit 210 transmits a data deletion completion report to the first storage device 100 (S910).
[0064]
When the channel controller 210 of the first storage device 100 receives a data completion report from the second storage device 200 (S911), it notifies the management computer 800 of a data write-back completion report (S912). Then, the data write-back process is terminated. Note that the channel control unit 110 may notify the management computer 600 of a data write-back completion report (S912), and may notify the data management address and real address information of the data management table 2100.
[0065]
As described above, when the first storage apparatus 100 determines that the data written in the second storage apparatus 200 can be written back, the data write-back process is started. As a result, the operator or the like does not need to perform a complicated operation such as a data write-back operation after solving the problem such as the failure of the physical disk or the disk control unit 140 or the capacity shortage of the LU 160.
[0066]
=== Other Embodiments ===
In the above-described embodiment, the data writing process, the data writing back process, and the data reading process in the storage system 800 including the two storage apparatuses 100 and 200 have been described. The present invention can also be applied to a storage system 800 including a single storage device, and the same effects as described above can be obtained.
[0067]
FIG. 10 is a block diagram showing the overall configuration of a storage system 800 described as another embodiment. One or a plurality of information processing devices 400 are connected to the first storage device 1100 of the storage system 800 via the SAN 300, and the second storage device 1200 is connected to the first storage device 1100 via the SAN 700. In addition, a third storage device 1300 is connected to the second storage device 1200 via a SAN 710. A management computer 600 is connected to the first to third storage apparatuses 1100, 1200, 1300 via the LAN 500.
[0068]
FIG. 11 is a block diagram showing the overall configuration of a storage system 800 described as another embodiment. One or a plurality of information processing devices 400 are connected to the first storage device 1100 of the storage system 800 via the SAN 300, and the second storage device 1200, the third storage device 1300, And the fourth storage device 1400 is connected. A management computer 600 is connected to the first to fourth storage apparatuses 1100, 1200, 1300, 1400 via the LAN 500.
[0069]
=== Application Examples ===
The control method such as data write processing and data write back processing of the storage system of the present invention can be performed by, for example, storage areas of other storage apparatuses when data cannot be written to the storage areas allocated to each company. It can be applied to a service for renting and temporarily storing data. The storage area rental service will be described in detail below with reference to FIGS. 1 and 12 to 15.
[0070]
FIG. 12 shows an example of a table 2100 that manages the free capacity of the logical volume 160 of the storage apparatus 100. As shown in FIG. 12, each LU 160 of the first storage device 100 is assigned to each user (company). In the present embodiment, “unusable” is recorded in the usage status of LU5 (160) of company D because there is no free space in LU5 (160). In addition, in the usage status of LU6 (160) of company E, “unusable” is recorded because the disk controller 140 cannot be accessed due to some failure.
[0071]
When a data write request for company A is transmitted from the information processing apparatus 400, the first storage apparatus 100 determines that data can be written with reference to the free capacity management table 2500 of the logical volume. Then, the first storage device 100 writes the data of the company A into LU1 (LU160). On the other hand, when a data write request for company D or company E is transmitted from the information processing apparatus 400, the first storage apparatus 100 refers to the free capacity management table 2500 of the logical volume and cannot write data. to decide. Then, the first storage device 100 requests information for determining whether a storage area for storing data in the second storage device 200 can be secured.
[0072]
Upon receiving this request for information, the second storage device 200 receives information such as the logical volume management table 2600 shown in FIG. 13 and the rentable logical volume management table 2700 shown in FIG. Send to. The first storage device 100 that has received this information selects the logical volume to be borrowed by referring to this information. Note that the LU 260 to be borrowed is selected based on, for example, conditions specified in advance by the user or the like (for example, a usable area or a usage status).
[0073]
The first storage device 100 transmits a data write request to the second storage device 200 by designating the selected LU 260 and logical address. Receiving this data write request, the second storage device 200 writes the write data to the LU 260 specified by the data write command, and notifies the first storage device 100 of a data write completion report.
[0074]
Upon receiving the data write completion report notification, the first storage device 100 records the data management address and data real address in the data management table 2100 and notifies the information processing device 400 of the data write completion report. Further, the first storage device 100 notifies the management computer 600 that the free space is insufficient in the LU 5 (160), and the company D allocates the storage area of the LU 3 (260) of the second storage device 200. Notify that 300MB is borrowed. Receiving these notifications, the management computer 600 displays these on the display. Further, it is recorded in the storage area borrowing information 2800 shown in FIG. 15 that the company D has borrowed 300 MB of the storage area of the LU 3 (260) of the second storage device 200. In this storage area borrowing information, information on the borrower of the storage area, borrowing destination information (storage device, LUN, etc.), used area, rental fee, and the like are recorded. The rental fee is calculated based on, for example, the usage area, the number of days used, the performance of the storage device, the line speed, and the like.
[0075]
As described above, the control method of the storage system 800 of the present invention can be applied to a service that rents a storage area of another storage apparatus and temporarily stores data.
[0076]
In the above description, the storage area lending / borrowing between the plurality of storage apparatuses 100 and 200 has been described. However, the storage area lending / borrowing may be performed within the same storage apparatus. A specific description will be given below.
[0077]
When a data write request to the LU2 (160) of company B is transmitted from the information processing apparatus 400, the first storage apparatus 100 cannot write data by referring to the free capacity management table 2500 of the logical volume. to decide. Before the first storage apparatus 100 requests information for determining whether or not a storage area for storing data in another storage apparatus can be secured, the first storage apparatus 100 It is determined whether a storage area for storing data in the storage apparatus 100 can be secured.
[0078]
This determination is made by referring to the logical volume management table 2300 and the rentable logical volume management table 2400 of the first storage device 100, or whether there is an unused LU 160, or the first storage device 100. Whether or not there is a rentable storage area is checked, and the LU 160 to be borrowed by the company B is selected. The selection of the LU 160 to be borrowed may be performed based on, for example, a condition (for example, an area that can be used or a usage situation) designated in advance by a user or the like.
[0079]
When the first storage apparatus 100 determines that a storage area for storing data can be secured, the first storage apparatus 100 writes the data in the storage area (for example, LU4 (160)). Then, the management address of data and the actual address of data in the data management table 2100 are recorded, and a data write completion report is notified to the information processing apparatus 400. In addition, the first storage device 100 notifies the management computer 600 that LU2 (160) has insufficient free space, and company B allocates the storage area of LU4 (160) of the first storage device 100. Notify that 49000MB is borrowed. Receiving these notifications, the management computer 600 displays these on the display. Further, it is recorded in the storage area borrowing information 2800 shown in FIG. 15 that the company B has borrowed 49000 MB of the storage area of the LU 4 (160) of the first storage device 100.
[0080]
On the other hand, if it is determined that a storage area for storing data cannot be secured, the first storage apparatus 100 secures a storage area for storing data in the second storage apparatus 200 as described above. Information for determining whether or not it is possible is requested, and the same processing is performed.
[0081]
Although the present embodiment has been described above, the above examples are for facilitating the understanding of the present invention, and are not intended to limit the present invention. The present invention can be changed and improved without departing from the gist thereof, and the present invention includes equivalents thereof.
[0082]
【The invention's effect】
According to the present invention, the present invention can provide a storage system control method, a storage system, and a storage apparatus that can effectively use storage resources held by a plurality of storage apparatuses.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a hardware configuration of a storage system according to the present embodiment.
FIG. 2 is a diagram showing an example of a command format of a data input / output request according to the present embodiment.
FIG. 3 is a flowchart for explaining an example of data write processing of the storage system according to the embodiment;
FIG. 4 is a diagram showing an example of a data management table according to the present embodiment.
FIG. 5 is a diagram showing an example of a free capacity management table of a logical volume of the first storage device according to the embodiment.
FIG. 6 is a diagram showing an example of a logical volume management table of the second storage device according to the embodiment.
FIG. 7 is a diagram showing an example of a lendable logical volume management table according to the present embodiment.
FIG. 8 is a flowchart for explaining an example of data read processing of the storage system according to the embodiment;
FIG. 9 is a flowchart for explaining an example of data write-back processing in the storage system according to the embodiment;
FIG. 10 is a block diagram showing an example of the overall configuration of a storage system according to the present embodiment.
FIG. 11 is a block diagram showing an example of the overall configuration of a storage system according to the present embodiment.
FIG. 12 is a diagram showing an example of the free capacity management table of the logical volume of the first storage device according to the embodiment.
FIG. 13 is a diagram showing an example of a logical volume management table of the second storage device according to the embodiment.
FIG. 14 is a diagram showing an example of a rentable logical volume management table according to the present embodiment.
FIG. 15 is a diagram showing an example of storage area borrowing information according to the present embodiment.
[Explanation of symbols]
100, 1100 First storage device
200, 1200 Second storage device
110, 210 channel control unit
120,220 shared memory
130,230 cache memory
140,240 disk controller
150,250 connections
160, 260 Logical volume (LU)
170,270 LAN adapter
300, 700, 710, 720 SAN
400 Information processing device
500 LAN
600 Management computer
800 storage system
1300 Third storage device
1400 Fourth storage device

Claims (5)

通信可能に接続された情報処理装置から送信されてくるデータの書き込み要求に応じてそのデータを第一の記憶領域に記憶する第一のストレージ装置と、
前記第一のストレージ装置と通信可能に接続する第二のストレージ装置と、
を備えるストレージシステムの制御方法において、
前記第一のストレージ装置が、前記情報処理装置から送信されてくる前記データの書き込み要求を受信するステップと、
前記第一のストレージ装置は、前記第一の記憶領域に前記データの書き込みができないと判断した場合には、前記第二のストレージ装置に対して前記データを記憶するための第二の記憶領域を確保できるかどうかを判断するための情報を要求するステップと、
前記第二のストレージ装置は、前記第二の記憶領域が確保できるかどうかを判断するための情報を前記第一のストレージ装置に送信するステップと、
前記第一のストレージ装置は、前記第二のストレージ装置から送信されてくる前記情報に基づいて前記第二の記憶領域が確保できるかどうかを判断するステップと、
前記第一のストレージ装置は、前記第二の記憶領域が確保できると判断した場合には、前記データを前記第二のストレージ装置に送信するステップと、
前記第二のストレージ装置は、前記第一のストレージ装置から送信されてくる前記データを前記第二の記憶領域に記憶するステップと、
を含むことを特徴とするストレージシステムの制御方法。
A first storage device that stores the data in a first storage area in response to a data write request transmitted from an information processing device that is communicably connected;
A second storage device communicably connected to the first storage device;
In a storage system control method comprising:
The first storage device receiving the data write request transmitted from the information processing device;
If the first storage device determines that the data cannot be written to the first storage area, the first storage device stores a second storage area for storing the data in the second storage device. Requesting information to determine whether it can be secured,
The second storage device transmits information for determining whether the second storage area can be secured to the first storage device;
The first storage device determines whether the second storage area can be secured based on the information transmitted from the second storage device; and
When the first storage device determines that the second storage area can be secured, the step of transmitting the data to the second storage device;
The second storage device stores the data transmitted from the first storage device in the second storage area; and
A method for controlling a storage system.
請求項1に記載のストレージシステムの制御方法において、
前記情報処理装置から送信されてきた前記データが、前記第二のストレージ装置の前記第二の記憶領域に存在することを示す情報を記憶するステップを含むことを特徴とするストレージシステムの制御方法。
The storage system control method according to claim 1,
A method for controlling a storage system, comprising: storing information indicating that the data transmitted from the information processing apparatus exists in the second storage area of the second storage apparatus.
請求項1に記載のストレージシステムの制御方法において、
前記第一のストレージ装置は、前記第二のストレージ装置の前記第二の記憶領域に記憶した前記データを前記第一の記憶領域に書き込み可能と判断した場合には、前記第二のストレージ装置に前記データの書き戻しを求めるためのデータの書き戻し要求を送信するステップと、
前記第二のストレージ装置は、前記第一のストレージ装置からデータの書き戻し要求を受信した場合には、前記データを前記第一のストレージ装置に送信するステップと、
前記第一のストレージ装置は、前記第二のストレージ装置から前記データを受信した場合には、前記データを前記第一の記憶領域に記憶するステップと、
を含むことを特徴とするストレージシステムの制御方法。
The storage system control method according to claim 1,
When the first storage device determines that the data stored in the second storage area of the second storage device can be written to the first storage area, the first storage device stores the data in the second storage device. Sending a data write-back request to request data write-back;
The second storage device, when receiving a data write-back request from the first storage device, sending the data to the first storage device;
The first storage device, when receiving the data from the second storage device, storing the data in the first storage area;
A method for controlling a storage system.
通信可能に接続された情報処理装置から送信されてくるデータの書き込み要求に応じてそのデータを第一の記憶領域に記憶する第一のストレージ装置と、
前記第一のストレージ装置と通信可能に接続する第二のストレージ装置と、
を備えるストレージシステムにおいて、
前記第一のストレージ装置が、前記情報処理装置から送信されてくる前記データの書き込み要求を受信する手段と、
前記第一のストレージ装置は、前記第一の記憶領域に前記データの書き込みができないと判断した場合には、前記第二のストレージ装置に対して前記データを記憶するための第二の記憶領域を確保できるかどうかを判断するための情報を要求する手段と、
前記第二のストレージ装置は、前記第二の記憶領域が確保できるかどうかを判断するための情報を前記第一のストレージ装置に送信する手段と、
前記第一のストレージ装置は、前記第二のストレージ装置から送信されてくる前記情報に基づいて前記第二の記憶領域が確保できるかどうかを判断する手段と、
前記第一のストレージ装置は、前記第二の記憶領域が確保できると判断した場合には、前記データを前記第二のストレージ装置に送信する手段と、
前記第二のストレージ装置は、前記第一のストレージ装置から送信されてくる前記データを前記第二の記憶領域に記憶する手段と、
を備えることを特徴とするストレージシステム。
A first storage device that stores the data in a first storage area in response to a data write request transmitted from an information processing device that is communicably connected;
A second storage device communicably connected to the first storage device;
In a storage system comprising
Means for the first storage device to receive the data write request transmitted from the information processing device;
If the first storage device determines that the data cannot be written to the first storage area, the first storage device stores a second storage area for storing the data in the second storage device. A means of requesting information to determine whether it can be secured,
The second storage device transmits information for determining whether the second storage area can be secured to the first storage device;
The first storage device determines whether the second storage area can be secured based on the information transmitted from the second storage device;
Means for transmitting the data to the second storage device when the first storage device determines that the second storage area can be secured;
The second storage device stores the data transmitted from the first storage device in the second storage area;
A storage system comprising:
通信可能に接続された情報処理装置から送信されてくるデータの書き込み要求に応じてそのデータを第一の記憶領域に記憶する手段と、
第二のストレージ装置と通信可能に接続する通信手段と、
を備えるストレージ装置において、
前記情報処理装置から送信されてくる前記データの書き込み要求を受信する手段と、
前記第一の記憶領域に前記データの書き込みができないと判断した場合には、前記第二のストレージ装置に対して前記データを記憶するための第二の記憶領域を確保できるかどうかを判断するための情報を要求する手段と、
前記第二のストレージ装置から送信されてくる前記情報に基づいて前記第二の記憶領域が確保できるかどうかを判断する手段と、
前記第二の記憶領域が確保できると判断した場合には、前記第二のストレージ装置の前記第二の記憶領域に前記データを記憶させるために当該データを前記第二のストレージ装置に送信する手段と、
を備えることを特徴とするストレージ装置。
Means for storing the data in the first storage area in response to a data write request transmitted from the information processing apparatus connected to be communicable;
A communication means for communicably connecting to the second storage device;
In a storage device comprising:
Means for receiving the data write request transmitted from the information processing apparatus;
When it is determined that the data cannot be written to the first storage area, it is determined whether or not a second storage area for storing the data can be secured in the second storage device. Means for requesting information on,
Means for determining whether the second storage area can be secured based on the information transmitted from the second storage device;
Means for transmitting the data to the second storage device in order to store the data in the second storage region of the second storage device when it is determined that the second storage region can be secured When,
A storage apparatus comprising:
JP2003165197A 2003-06-10 2003-06-10 Storage system, control method therefor and storage device Withdrawn JP2005004349A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003165197A JP2005004349A (en) 2003-06-10 2003-06-10 Storage system, control method therefor and storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003165197A JP2005004349A (en) 2003-06-10 2003-06-10 Storage system, control method therefor and storage device

Publications (2)

Publication Number Publication Date
JP2005004349A true JP2005004349A (en) 2005-01-06
JP2005004349A5 JP2005004349A5 (en) 2006-07-20

Family

ID=34091756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003165197A Withdrawn JP2005004349A (en) 2003-06-10 2003-06-10 Storage system, control method therefor and storage device

Country Status (1)

Country Link
JP (1) JP2005004349A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258594A (en) * 2004-03-09 2005-09-22 Nifty Corp Control program, and management method and system
JP2007066259A (en) * 2005-09-02 2007-03-15 Hitachi Ltd Computer system, storage system and volume capacity expansion method
JP2007087083A (en) * 2005-09-21 2007-04-05 Ricoh Co Ltd Information processor and storage device sharing method
US7725650B2 (en) 2006-04-21 2010-05-25 Hitachi, Ltd. Storage system and method for controlling the same
JP2021509989A (en) * 2018-01-09 2021-04-08 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Resource reservation method, resource reservation device, resource reservation device, and resource reservation system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258594A (en) * 2004-03-09 2005-09-22 Nifty Corp Control program, and management method and system
JP2007066259A (en) * 2005-09-02 2007-03-15 Hitachi Ltd Computer system, storage system and volume capacity expansion method
US8082394B2 (en) 2005-09-02 2011-12-20 Hitachi, Ltd. Computer system, storage system and method for extending volume capacity
JP2007087083A (en) * 2005-09-21 2007-04-05 Ricoh Co Ltd Information processor and storage device sharing method
US7725650B2 (en) 2006-04-21 2010-05-25 Hitachi, Ltd. Storage system and method for controlling the same
JP2021509989A (en) * 2018-01-09 2021-04-08 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Resource reservation method, resource reservation device, resource reservation device, and resource reservation system
JP7374100B2 (en) 2018-01-09 2023-11-06 アリババ・グループ・ホールディング・リミテッド Resource reservation method, resource reservation device, resource reservation device, and resource reservation system

Similar Documents

Publication Publication Date Title
US7464223B2 (en) Storage system including storage adapters, a monitoring computer and external storage
JP4790372B2 (en) Computer system for distributing storage access load and control method thereof
JP3944449B2 (en) Computer system, magnetic disk device, and disk cache control method
US6055603A (en) Method and apparatus for performing pre-request operations in a cached disk array storage system
JP4341897B2 (en) Storage device system and data replication method
JP3726484B2 (en) Storage subsystem
US9058305B2 (en) Remote copy method and remote copy system
JP4646574B2 (en) Data processing system
EP2239655A2 (en) Storage controller and storage control method
US7421543B2 (en) Network device, fiber channel switch, method for shared memory access control, and computer product
JP4342452B2 (en) Transaction-based storage behavior
JP2003140837A (en) Disk array control device
JP2007079958A (en) Storage controller, data processing method and computer program
JP2005092424A (en) Memory system and memory control device
JP2008004120A (en) Direct access storage system
JP2010271808A (en) Storage device and data copying method
EP1345113A2 (en) Management server
JPWO2005001700A1 (en) Storage capacity management method, server and recording medium
US8745326B2 (en) Request priority seek manager
JP4783086B2 (en) Storage system, storage access restriction method, and computer program
JP3178809B2 (en) Accessing portable recording media
US20050144380A1 (en) Disk array device and remote copying control method for disk array device
JP4451687B2 (en) Storage system
US8275958B2 (en) Storage system with remote copy controllers
JP4208506B2 (en) High-performance storage device access environment

Legal Events

Date Code Title Description
A521 Written amendment

Effective date: 20060606

Free format text: JAPANESE INTERMEDIATE CODE: A523

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060606

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090422

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090525