JP4402997B2 - ストレージ装置 - Google Patents

ストレージ装置 Download PDF

Info

Publication number
JP4402997B2
JP4402997B2 JP2004092960A JP2004092960A JP4402997B2 JP 4402997 B2 JP4402997 B2 JP 4402997B2 JP 2004092960 A JP2004092960 A JP 2004092960A JP 2004092960 A JP2004092960 A JP 2004092960A JP 4402997 B2 JP4402997 B2 JP 4402997B2
Authority
JP
Japan
Prior art keywords
control unit
cache memory
data
input
disk array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004092960A
Other languages
English (en)
Other versions
JP2005284343A (ja
Inventor
純司 小川
直人 松並
哲 西本
陽一 水野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2004092960A priority Critical patent/JP4402997B2/ja
Priority to US10/863,426 priority patent/US7136963B2/en
Publication of JP2005284343A publication Critical patent/JP2005284343A/ja
Application granted granted Critical
Publication of JP4402997B2 publication Critical patent/JP4402997B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Description

本発明はストレージ装置に関し、特に複数のディスクアレイ制御部を備えたディスクアレイ装置に関する。
ストレージ装置の大容量化に伴い、従来分散されていた多くのボリュームをひとつのストレージで扱いストレージ装置を統合することがある。このような場合、一つのストレージシステム内に様々なアクセスパターンのボリュームが混在する。このとき、特定のボリュームにアクセスが集中し、該ボリュームに高い性能が必要とされる場合がある。
このような場合にコントローラ間でボリュームを引き継ぐことによって負荷分散を行う方法が提案されている。具体的には、このとき、引き継ぎ元コントローラは、データキャッシュ上の対象ボリュームのデータをディスクに書き込んでディスクの整合性を保つディスクアレイシステムが提案されている。これにより、各コントローラが独立した専用キャッシュを備えた場合においてもシステムを中断させることなく任意のコントローラ間で任意のボリュームを引継ぐことが可能となる(例えば、特許文献1参照。)
特開2003−162377号公報
前述した従来のストレージ装置では、CPU、メモリ、キャッシュメモリ、I/F等を備えたコントローラ毎に資源が分けられている。コントローラ毎にボリュームの管理が分けられていることによって、共有資源の排他論理が不要となるという性能上の利点はある。しかし、あるコントローラ内のキャッシュメモリに余裕がある場合であっても、他のコントローラ内のキャッシュメモリを使用することはできず、自コントローラに設けられているキャッシュメモリサイズ以上のキャッシュを扱うことができなかった。
本発明は、コントローラに備わるキャッシュメモリ以上の容量のキャッシュを使用可能とすることを目的とする。
本発明は、第1ディスクアレイ制御部、第2ディスクアレイ制御部、及び複数のディスクを含むストレージ装置であって;前記第1ディスクアレイ制御部は、第1CPUと、ストレージ装置に接続されたホストとの間でデータや制御信号を送受信する第1ホスト入出力制御部と、前記ディスクとの間でデータや制御信号を送受信する第1ディスク入出力制御部と、前記第1ホスト入出力制御部及び前記第1ディスク入出力制御部の間のデータ転送を制御する第1データ転送制御部と、を備え;前記第2ディスクアレイ制御部は、第2CPUと、ストレージ装置に接続されたホストとの間でデータや制御信号を送受信する第2ホスト入出力制御部と、前記ディスクとの間でデータや制御信号を送受信する第2ディスク入出力制御部と、前記第2ホスト入出力制御部及び前記第2ディスク入出力制御部の間のデータ転送を制御する第2データ転送制御部と、を備え;前記第1データ転送制御部と前記第2データ転送制御部の間を通信可能に接続するディスクアレイ制御部間通信路と、を備え;前記第1ディスクアレイ制御部は、前記第1ホスト入出力制御部と前記第1ディスク入出力制御部との間で送受信されるデータを一時的に記憶する第1キャッシュメモリと、前記第1CPUが実行する制御プログラムが記憶される第1メモリと、を備え、前記第1CPUが前記制御プログラムを実行することによって第1キャッシュメモリ制御部と第1データ入出力制御部とが構成され;第2ディスクアレイ制御部は、前記第2ホスト入出力制御部と前記第2ディスク入出力制御部との間で送受信されるデータを一時的に記憶する第2キャッシュメモリを備え;前記第1データ入出力制御部は、前記第1ホスト入出力制御部に接続されたホストから受信したデータ読み出し要求の内容を解析し;
前記第1キャッシュメモリ制御部は、前記要求に係るデータがどのキャッシュメモリに記憶されているかを判定し;前記第1データ転送制御部は、要求に係るデータの全てが前記第1キャッシュメモリに記憶されていれば、前記第1ホスト入出力制御部、前記第1データ転送制御部、及び前記第1ディスク入出力制御部を経由する第1パスを用いて前記第1キャッシュメモリから前記第1ホスト入出力制御部へ転送し、要求に係るデータの全てが前記第2キャッシュメモリに記憶されていれば、前記第1ホスト入出力制御部、前記第1データ転送制御部、前記ディスクアレイ制御部間通信路、前記第2データ転送制御部、及び前記第2ディスク入出力制御部を経由する第2パスを用いて前記第2データ転送制御部に前記第2キャッシュメモリからのデータの読み出しを依頼し、前記第2パスを用いて前記第2データ転送制御部から転送されたデータを前記第1ホスト入出力制御部へ転送する。
本発明によると、ディスクアレイ制御部に備わるキャッシュメモリ以上の容量のキャッシュメモリを使用することができる。
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の実施の形態のストレージ装置が接続されるコンピュータシステムの構成図である。
本実施の形態のストレージ装置1は、IPネットワーク511を介して管理ホスト521に接続されている。また、ストレージ装置1は、SANを介して複数のホスト501等に接続されている。
ホスト501、502は、CPU、メモリ、記憶装置、インターフェース、入力装置及び表示装置が備わるコンピュータ装置であり、ストレージ装置1から提供されるデータを利用して、データベースサービスやウェブサービス等を利用可能にする。ストレージ装置1とホスト501等はSANによって接続されている。このSANは、例えばファイバチャネルプロトコル、iSCSI(internet SCSI)のような、データの転送に適するプロトコルで通信可能なネットワークである。
IPネットワーク511は、TCP/IPプロトコルによって、コンピュータ間でデータや制御情報を通信可能であり、例えばイーサネット(登録商標、以下同じ)が用いられる。
管理ホスト521は、CPU、メモリ、記憶装置、インターフェース、入力装置及び表示装置が備わるコンピュータ装置である。管理ホスト521では管理プログラムが動作しており、該管理プログラムによってストレージ装置1の動作状態を把握し、ストレージ装置1の動作を制御する。なお、管理ホスト521ではwebブラウザ等のクライアントプログラムが動作しており、ストレージ装置1から供給される管理プログラム(Common Gateway Interface、Java等)によってストレージ装置1の動作を制御するようにしてもよい。
図2は、本発明の実施の形態のストレージ装置の構成を示すブロック図である。
本実施の形態のストレージ装置は、複数のディスクアレイ制御部(ディスクアレイ制御部1、2)及び複数のディスク(ディスク1、2)によって構成されている。
ディスクアレイ制御部101には、ホスト入出力制御部11、キャッシュメモリ21、CPU31、データ転送制御部41、メモリ51、ディスク入出力制御部61、及び管理I/F81が設けられている。
ホスト入出力制御部11は、ホスト501等に対するインターフェースであって、例えば、ファイバチャネルプロトコルやiSCSIによって、ホスト501等との間でデータや制御信号を送受信する。そして、ストレージ装置外部のプロトコルとストレージ装置の内部のプロトコルとを変換する。
キャッシュメモリ21は、ホスト入出力制御部11とディスク入出力制御部61との間で送受信されるデータを一時的に記憶する。
データ転送制御部41は、CPU31、ホスト入出力制御部11、ディスク入出力制御部61、及びキャッシュメモリ21の間でデータを転送する。また、転送されるデータに保証コードを付加して、データの保証をする。
メモリ51には制御プログラムが記憶されており、CPU31が制御プログラムを呼び出して実行することによって各種処理が行われる。また、メモリ51にはキャッシュメモリ21の管理情報が記憶されている。
ディスク入出力制御部61は、ディスク71、72等に対するインターフェースであって、例えば、ATA、SAS(Serial Attached SCSI)、ファイバチャネル等のインターフェースによって、ディスク71等との間でデータや制御信号を送受信する。そして、ディスクアレイ制御部外部のプロトコルとディスクアレイ制御部の内部のプロトコルとを変換する。
すなわち、データ転送制御部41は、ホスト1等によってディスク71等に読み書きされるデータを入出力制御部11、61間で転送する。さらに、これらのデータをキャッシュメモリ21に転送する。また、データ転送制御部41は、他のディスクアレイ制御部2のデータ転送制御部42にもデータを転送する。
管理インターフェース81は、IPネットワーク511に対するインターフェースであって、TCP/IPプロトコルによって、管理ホスト521との間でデータや制御信号を送受信する。
以上、ディスクアレイ制御部101について説明したが、ディスクアレイ制御部102も同じ構成を有する。
ディスクアレイ制御部101のデータ転送制御部41と、ディスクアレイ制御部102のデータ転送制御部42とはディスクアレイ制御部間通信路91によって接続されており、データ転送制御部41とデータ転送制御部42との間でもデータを転送できる。ディスクアレイ制御部間通信路91は、データ転送制御部41とデータ転送制御部42とを直接接続する信号線によっても、ストレージ装置1外部に設けられた信号線(ネットワーク等)によって実現することもできる。
図3は、本発明の実施の形態のキャッシュメモリの構成図である。
前述したようにキャッシュメモリ21には、ホスト入出力制御部11とディスク入出力制御部61との間で送受信されるデータ(ディスク71等に読み書きされるデータ)が記憶されるデータ領域1011が設けられている。
また、キャッシュメモリ21には、データ領域1011に記憶されたデータのアドレス、該データの状態(ダーティデータか、クリーンデータか)が記憶されるキャッシュメモリ管理情報領域1001が設けられている。
ディスクアレイ制御部101とディスクアレイ制御部102とは、互いのキャッシュメモリ21、22を自己のキャッシュメモリとして使用することができる。図3中破線で示す領域がディスクアレイ制御部101が使用する領域であり、太線で示す領域がディスクアレイ制御部102が使用する領域である。すなわち、図示された状態では、ディスクアレイ制御部101がキャッシュメモリ22の一部を自己のキャッシュメモリとして使用している。
ストレージ装置1が起動した初期状態では、ディスクアレイ制御部101、102は、各々自己のキャッシュメモリ21、22を使用している。その後、キャッシュメモリ21に空きがなく、かつキャッシュメモリ22に余裕がある場合に、キャッシュメモリ22の記憶領域をディスクアレイ制御装置101に割り当てる。なお、キャッシュメモリが新たに割り当てられた状態では、キャッシュメモリ管理情報には空き状態である旨が記憶され、新たに割り当てられたキャッシュメモリ内の記憶領域は空きキューに接続されている。
図4は、本発明の実施の形態のメモリ51の構成図である。
前述したようにメモリ51には制御プログラムが記憶されており、制御プログラムがCPU31によって実行されて各種処理が実現される。具体的には、ディスクアレイ制御部1側キャッシュ管理領域情報2001、キャッシュメモリ1管理情報2011、キャッシュメモリ2管理情報2021、データ転送制御プログラム2031、入出力制御部ドライバプログラム2041、ディスクアレイ制御プログラム2051、キャッシュメモリ制御プログラム2061、及びオペレーティングシステム2071が記憶されている。
ディスクアレイ制御部1側キャッシュ管理領域情報2001は、ディスクアレイ制御部の管理領域テーブルにキャッシュメモリのセグメントを登録することによって、キャッシュメモリのディスクアレイ制御部毎の割り当てを管理する(図5参照)。
キャッシュメモリ1管理情報2011、及びキャッシュメモリ2管理情報2021は、使用可能なキャッシュメモリの領域(セグメント)に記憶されているデータに関する情報が記憶されている(図6参照)。
データ転送制御プログラム2031は、データ転送制御部41を動作させ、データを転送するプログラムである。
入出力制御部ドライバプログラム2041は、ホスト入出力制御部11及びディスク入出力制御部61を動作させるプログラムである。
ディスクアレイ制御プログラム2051は、RAID変換や、論理−物理変換等のディスクアレイの制御を行い、ホスト1等からのデータ入出力要求に従ってディスク71等に対するデータの読み書きしてデータ入出力制御部を構成する。
キャッシュメモリ制御プログラム2061は、どのデータがどのキャッシュメモリに記憶されているかを管理し、データをどのキャッシュメモリに記憶するかを管理して、キャッシュメモリ制御部を構成する。
図5は、本発明の実施の形態のディスクアレイ制御部1側キャッシュ管理領域情報2001の構成図である。
ディスクアレイ制御部1側キャッシュ管理領域情報2001には、キャッシュメモリ1内コントローラ1管理領域テーブル9001、キャッシュメモリ2内コントローラ1管理領域テーブル9002、キャッシュメモリ1使用可能LUテーブル9011、及びキャッシュメモリ内使用可能LUテーブル9012が設けられている。
キャッシュメモリは所定の容量毎(例えば、512バイト毎)のセグメントに区分されており、セグメント単位にデータが読み書きされる。すなわち、キャッシュメモリのセグメントを最小単位として管理される。
キャッシュメモリ1内コントローラ1管理領域テーブル9001は、ディスクアレイ制御部1(101)によって管理されるキャッシュメモリ1(21)内の領域を管理する。すなわち、このテーブルに記載されているキャッシュメモリのセグメントがディスクアレイ制御部1によって管理される。また、キャッシュメモリ2内コントローラ1管理領域テーブル9002は、ディスクアレイ制御部1によって管理されるキャッシュメモリ2(22)内の領域を管理する。すなわち、このテーブルに記載されているキャッシュメモリのセグメントがディスクアレイ制御部1によって管理される。
なお、図示を省略するが、ディスクアレイ制御部2(102)に設けられているディスクアレイ制御部2側キャッシュ管理領域情報2002には、ディスクアレイ制御部2によって管理されるキャッシュメモリ2(22)内の領域を管理するキャッシュメモリ2内コントローラ2管理領域テーブルと、ディスクアレイ制御部2によって管理されるキャッシュメモリ1(21)内の領域を管理するキャッシュメモリ1内コントローラ2管理領域テーブルとが設けられている。
キャッシュメモリ1(21)の領域は、キャッシュメモリ1内コントローラ1管理領域テーブル9001、又は、キャッシュメモリ1内コントローラ2管理領域テーブルのいずれかに登録されている。セグメントがいずれのテーブルに登録されるかによって、論理区画8000が変更され、キャッシュメモリ1のコントローラ毎の割り当てが定まる。
同様に、キャッシュメモリ2(22)の領域は、キャッシュメモリ2内コントローラ1管理領域テーブル9002、又は、キャッシュメモリ2内コントローラ2管理領域テーブルのいずれかに登録されている。セグメントがいずれのテーブルに登録されるかによって、論理区画が変更され、キャッシュメモリ2のコントローラ毎の割り当てが定まる。
キャッシュメモリ1使用可能LUテーブル9011は、ディスクアレイ制御部1(101)によって管理されるキャッシュメモリ1(21)にデータを書き込み可能なLUが登録されている。すなわち、キャッシュメモリ1使用可能LUテーブル9011には、ディスクアレイ制御部1によってデータが読み書きされる全てのLUが登録される。
また、キャッシュメモリ2使用可能LUテーブル9012は、ディスクアレイ制御部1(101)によって管理されるキャッシュメモリ2(22)にデータを書き込み可能なLUが登録されている。すなわち、キャッシュメモリ2使用可能LUテーブル9012に登録されているLUは他系のキャッシュメモリを使用可能であり、キャッシュメモリ2使用可能LUテーブル9012に登録されていないLUは自系のキャッシュメモリのみを使用することができ、他系のキャッシュメモリを使用することができない。
このようにLU単位でキャッシュメモリの割り当てを制御することによって、高い性能が要求される論理ユニットに他系のキャッシュメモリを割り当てることができ、高いアクセス性能を確保することができる。
図6は、本発明の実施の形態のキャッシュメモリ管理情報を説明する図である。
ディスクアレイ制御部1(101)には、キャッシュメモリ1管理情報2011及びキャッシュメモリ2管理情報2021が設けられている。
キャッシュメモリ1管理情報2011には、キャッシュメモリ1内コントローラ1管理領域テーブル9001に規定されたセグメントに記憶されているデータに関する情報が規定されている。具体的には、該セグメントのキャッシュメモリ上の実アドレス、該セグメントに記憶されているデータの状態(ステータス)、該セグメントに記憶されているデータのディスク上のアドレスが記録されている。
このステータス欄には、キャッシュメモリに記憶されているデータがクリーンデータであるか、ダーティデータであるかが記録される。クリーンデータは、キャッシュメモリに記憶されたデータと同じデータがディスクにも記憶されているものである。ダーティデータは、ストレージ装置1に書き込み要求がされ、該書き込み要求に係るデータはキャッシュメモリに記憶されたが、まだディスクには書き込まれていないものである。
なお、キャッシュメモリ2管理情報2021には、同様に、キャッシュメモリ2内コントローラ1管理領域テーブル9002に規定されたセグメントに記憶されているデータに関する情報が規定されている。
図7は、本発明の実施の形態のデータ読み出し処理のフローチャートである。
ホスト入出力制御部11がホスト501等から受信したデータ読み出し要求(ホストリードコマンド)は、ディスクアレイ制御プログラム2051によって、その内容が解析される。すなわち、該要求から読み出し要求に係るデータの先頭のブロックアドレスと容量が抽出されて、該先頭のブロックアドレスと容量から、読み出し対象のデータのブロックアドレスを算出する(5010)。
そして、キャッシュメモリ1管理情報2011及びキャッシュメモリ2管理情報2012を参照し、読み出し対象のデータのブロックアドレスとキャッシュメモリに記憶されているキャッシュデータのブロックアドレスとを比較して、要求に係る全てのデータ(全てのブロックアドレス)がキャッシュメモリ21、22に記憶されているかを判定する(5020)。
そして、要求に係る全てのデータがいずれかのキャッシュメモリ21、22に記憶されているならば、ディスクからデータを読み出す必要がないので、どのキャッシュメモリに記憶されているかを、キャッシュメモリ1管理情報及びキャッシュメモリ管理情報2を参照して、CPU31が判定する(5030)。
その結果、要求に係る全てのデータが自らのディスクアレイ制御部101のキャッシュメモリ21に記憶されている場合、データ転送制御部41(データ転送制御プログラム2031)は、要求に係るデータが記憶されたセグメントを特定し、自系のキャッシュメモリ21から対象データを読み出して、ホスト501へ転送する(5040)。
また、要求に係る全てのデータが他のディスクアレイ制御部102のキャッシュメモリ22に記憶されている場合、データ転送制御部41は他系のデータ転送制御部42にキャッシュメモリ22からのデータの読み出しを依頼する。データ転送制御部42(データ転送制御プログラム2032)は、要求に係るデータが記憶されたセグメントを特定し、他系のキャッシュメモリ22から対象データを読み出して、ディスクアレイ制御部間通信路91を介して、データ転送制御部41に送る。データ転送制御部41は、データ転送制御部42から転送されたデータをホスト501へ転送する(5050)。
また、要求に係るデータが自らのディスクアレイ制御部101のキャッシュメモリ21と、他のディスクアレイ制御部102のキャッシュメモリ22との両方に分かれて記憶されている場合、データ転送制御部41は、要求に係るデータが記憶されたセグメントを特定し、自系のキャッシュメモリ21から対象データを読み出す。さらに、データ転送制御部41は他系のデータ転送制御部42にキャッシュメモリ22からのデータの読み出しを依頼する。データ転送制御部42は、要求に係るデータが記憶されたセグメントを特定し、他系のキャッシュメモリ22から対象データを読み出して、ディスクアレイ制御部間通信路91を介して、データ転送制御部41に送る。データ転送制御部41は、キャッシュメモリ21から読み出したデータと、データ転送制御部42から転送されたデータとを合成してホスト501へ転送する(5060)。
一方、要求に係るデータの一部でもキャッシュメモリ21、22に記憶されていなければ、ディスクからデータを読み出す必要があるので、CPU31はキャッシュメモリ管理情報2011、2021を参照し、各キャッシュメモリ21、22の空き容量を特定する。この空き容量は、キャッシュメモリ管理情報2011、2021の空きキューの数を計数することによって求めることができるが、予め空き容量カウンタを設けてもよい。そして、CPU31は読み出したデータをどのキャッシュメモリに一時的に記憶するかを決定する(5110)。
この記憶先のキャッシュメモリの決定は、自系のキャッシュメモリ21を優先的に選択し、かつ、複数のキャッシュメモリに分割して記憶しないようにキャッシュメモリを選択する方法が考えられる。また、自系のキャッシュメモリ21と、他系のキャッシュメモリ22とのアクセス性能を比較して、アクセス性能が良好なキャッシュメモリを選択することもできる。
その結果、自らのディスクアレイ制御部101のキャッシュメモリ21に、読み出されるデータの容量以上の空き容量がある場合は、要求に係る全てのデータを自系のキャッシュメモリ21に記憶できる。よって、データ転送制御部41は、ディスクから読み出されたデータを自系のキャッシュメモリ21に書き込む(5130)。
また、読み出すデータの容量以上の空き容量が自系のキャッシュメモリ21になく、他のディスクアレイ制御部102のキャッシュメモリ22にある場合は、要求に係る全てのデータを他系のキャッシュメモリ22に記憶できる。よって、データ転送制御部41は、他系のデータ転送制御部42にディスクからのデータの読み出しを依頼する。データ転送制御部42は、ディスクから読み出されたデータをキャッシュメモリ22に書き込む(5140)。
また、自系のキャッシュメモリ21にも他系のキャッシュメモリ22にも、読み出すデータの容量以上の空き容量がなく、かつ、自系のキャッシュメモリ21と他系のキャッシュメモリ22との合計の空き容量が読み出すデータの容量より大きい場合は、要求に係るデータを自系のキャッシュメモリ21と他系のキャッシュメモリ22とに分けて記憶できる。よって、データ転送制御部41は、ディスクから読み出されたデータを自系のキャッシュメモリ21に書き込む。さらに、データ転送制御部41は、他系のデータ転送制御部42にディスクからのデータの読み出しを依頼する。データ転送制御部42は、ディスクから読み出されたデータをキャッシュメモリ22に書き込む(5150)。
このとき、データ転送制御部41は自系のキャッシュメモリ21の空き容量に対応する量のデータをディスクから読み出し、データ転送制御部42はキャッシュメモリ22の空き容量に対応する量のデータをディスクから読み出す。
ディスクから読み出されたデータのキャッシュメモリ21、22への書き込みが終了すると、キャッシュメモリ21、22に書き込まれたデータをホストへ転送するために、処理5030に移行する。
以上説明したデータ読み出し処理のうち、処理5010はディスクアレイ制御プログラム2051によって実行される。また、処理5020〜5030及び処理5110〜5120は、キャッシュメモリ制御プログラムによって実行される。また、処理5040〜5060及び処理5130〜5150はデータ転送制御プログラム2031、2032によって実行される。
図8は、本発明の実施の形態のデータ書き込み処理のフローチャートである。
ホスト入出力制御部11がホスト501等から受信したデータ書き込み要求(ホストライトコマンド)は、ディスクアレイ制御プログラム2051によって、その内容が解析される、該要求から書き込み要求に係るデータの容量が抽出される(6010)。
そして、ディスクに書き込むデータをキャッシュメモリ21、22に記憶する必要があるので、CPU31はキャッシュメモリ管理情報2011、2021を参照し、各キャッシュメモリ21、22の空き容量を特定する。そして、CPU31は書き込むデータをどのキャッシュメモリに一時的に記憶するかを決定する(6020)。
この記憶先のキャッシュメモリの決定は、自系のキャッシュメモリ21を優先的に選択し、かつ、複数のキャッシュメモリに分割しないようにキャッシュメモリを選択する方法が考えられる。また、自系のキャッシュメモリ21と、他系のキャッシュメモリ22とのアクセス性能を比較して、アクセス性能が良好なキャッシュメモリを選択することもできる。
その結果、自らのディスクアレイ制御部101のキャッシュメモリ21に、書き込まれるデータの容量以上の空き容量がある場合は、要求に係るデータの全てを自系のキャッシュメモリ21に記憶できる。よって、データ転送制御部41(データ転送制御プログラム2031)は、データを記憶するセグメントを特定し、ホストから転送されたデータを自系のキャッシュメモリ21に書き込む(6040)。
また、書き込まれるデータの容量以上の空き容量が自系のキャッシュメモリ21になく、他のディスクアレイ制御部102のキャッシュメモリ22にある場合は、要求に係るデータの全てを他系のキャッシュメモリ22に記憶できる。よって、データ転送制御部41は、ホストから転送されたデータを他系のデータ転送制御部42に転送し、キャッシュメモリ42への書き込みを依頼する。データ転送制御部42は、データを記憶するセグメントを特定し、データ転送制御部41から転送されたデータをキャッシュメモリ22に書き込む(6050)。
また、自系のキャッシュメモリ21にも他系のキャッシュメモリ22にも、書き込まれるデータの容量以上の空き容量がなく、かつ、自系のキャッシュメモリ21と他系のキャッシュメモリ22との合計の空き容量が書き込まれるデータの容量より大きい場合は、要求に係るデータを自系のキャッシュメモリ21と他系のキャッシュメモリ22とに分けて記憶できる。よって、データ転送制御部41は、データを記憶するセグメントを特定し、ホストから転送されたデータを自系のキャッシュメモリ21に書き込む。さらに、データ転送制御部41は、ホストから転送されたデータの一部を他系のデータ転送制御部42に転送し、キャッシュメモリ22への書き込みを依頼する。データ転送制御部42は、データを記憶するセグメントを特定し、データ転送制御部41から転送されたデータをキャッシュメモリ22に書き込む(6060)。
図9、図10は、本発明の実施の形態のストレージ装置のディスクアクセス経路を説明する図であり、図9に通常のパスを示す。
ホスト501等からのデータ書き込み要求は、ホスト入出力制御部11で受信され、データ転送制御部41を介してキャッシュメモリ21に送られ、書き込みデータが一時的に記憶される。そして、該データがキャッシュメモリ21に記憶されると、データ書き込みを要求したホストに書き込み処理完了が通知される。これと並行して(又は、その後の任意のタイミングで)、データ転送制御部41はディスク71等にデータを書き込む。
一方、ホスト501等からのデータ読み出し要求は、ホスト入出力制御部11で受信され、データ転送制御部41を介してディスク71等に送られる。そして、ディスクから読み出されたデータは、データ転送制御部41を介してキャッシュメモリ21に送られ、読み出しデータが一時的に記憶される。そして、キャッシュメモリ21に書き込まれたデータは、データの読み出しを要求したホストに送信される。
以上、ディスクアレイ制御部11の動作について説明したが、ディスクアレイ制御部21も同様にデータの読み書き動作を行う。
すなわち、図9に示すように、通常のパスでは、ディスクアレイ制御部1(又は、ディスクアレイ制御部2)のみによってデータの読み書きを行う。
図10に、ディスクアレイ制御部2のキャッシュメモリ(他系のキャッシュメモリ)を使用するときのパスを示す。
ホスト501等からのデータ書き込み要求は、ホスト入出力制御部11で受信され、データ転送制御部41からディスクアレイ制御部間通信路91を介して、データ転送制御部42に送られる。データ転送制御部42はこのデータをキャッシュメモリ22に送り、書き込みデータがキャッシュメモリ22に一時的に記憶される。そして、該データがキャッシュメモリ22に記憶されると、データ書き込みを要求したホストに書き込み処理完了が通知される。この完了通知はデータ書き込み要求と逆の経路で送られる。これと並行して(又は、その後の任意のタイミングで)、データ転送制御部42はディスク71等にデータを書き込む。
一方、ホスト501等からのデータ読み出し要求は、ホスト入出力制御部11で受信され、データ転送制御部41からディスクアレイ制御部間通信路91を介して、データ転送制御部42に送られる。データ転送制御部42はこのデータをディスク71等に送る。そして、ディスクから読み出されたデータは、データ転送制御部42を介してキャッシュメモリ22に送られ、読み出しデータが一時的に記憶される。そして、キャッシュメモリ22に書き込まれたデータは、データの読み出しを要求したホストに送信される。
以上、ディスクアレイ制御部11の動作について説明したが、ディスクアレイ制御部21も同様にディスクアレイ制御部1のキャッシュメモリを使用してデータの読み書き動作を行う。
なお、図9に示す通常のパスと図10に示す他系のキャッシュメモリを使用するパスのいずれを使用するかは、ディスク制御部のCPUによってコマンド処理の際に、各キャッシュの状態に応じて決定される。この決定方法は図7、図8で説明したとおりである。
図11は、本発明の実施の形態のキャッシュメモリの割り当て変更処理のフローチャートである。
まず、管理ホスト521が有する管理画面(図12)によって入力されたキャッシュ使用領域変更指示は、キャッシュメモリ制御プログラム2061(又は、2062)によって解析される(10010)。
そして、使用領域が減少するディスクアレイ制御部が管理するキャッシュメモリの空き容量と変更量とを比較して、使用領域が減少するディスクアレイ制御部が管理するキャッシュメモリの空き容量が不足するか否かを判定する(10020)。その結果、使用領域が減少するディスクアレイ制御部が管理するキャッシュメモリの空き容量が変更量に満たなければ、空き容量が不足すると判定し、変更量に足りない分のダーティデータをディスク71等に書き込む(10030)。
そして、使用領域が減少するディスクアレイ制御部側のキャッシュ管理領域情報から変更分のキャッシュメモリのセグメントを削除する(10040)。そして、使用領域が増加するディスクアレイ制御部側のキャッシュ管理領域情報に変更分のキャッシュメモリのセグメントを追加する(10050)。
そして、使用領域が減少するディスクアレイ制御部のキャッシュ管理領域情報から変更分の管理情報を削除する(10060)。そして、使用領域が増加するディスクアレイ制御部のキャッシュメモリ管理情報に管理情報を追加する(10070)。
図12は、本発明の実施の形態のキャッシュメモリの管理画面の説明図である。
この管理画面7000には、ディスクアレイ制御部をまたがるキャッシュメモリを共有するか否かの選択欄7010が設けられている。このチェックボックス7010にチェックを入れることによって、ディスクアレイ制御部は他のディスクアレイ制御部のキャッシュメモリを使用可能となり、この画面の他の項目が選択できるようになる。
さらに、管理画面7000には、キャッシュメモリの割り当てを自動的に判断するか、自動的に判断しないか(手動で設定するか)の選択欄7020が設けられている、このラジオボタン7021、7022は一つのみ選択可能であって、選択された方法(自動又は手動)によってキャッシュメモリの割り当てが判断される。
さらに、管理画面7000には、ディスクアレイ制御部単位でのキャッシュメモリの割り当てを設定する欄7030が設けられている。この欄に設けられたバー7033は、キャッシュメモリの論理境界を示す。すなわち、バー7033の左側がディスクアレイ制御部1が使用するキャッシュメモリの領域であり、右側がディスクアレイ制御部2が使用するキャッシュメモリの領域である。このバー7033は左右に移動可能であり、このバー7033の移動によって、ディスクアレイ制御部1側キャッシュ管理領域情報2001、及びディスクアレイ制御部2側キャッシュ管理領域情報2002に登録されるセグメントが変化し、キャッシュメモリのうちディスクアレイ制御部1が使用する領域とディスクアレイ制御部2が使用する領域とを可変することができる。なお、この欄の下部には、ディスクアレイ制御部1に設けられたキャッシュメモリの容量と、ディスクアレイ制御部2に設けられたキャッシュメモリの容量とが図示されている。
さらに、管理画面7000には、論理ユニット(LU)単位でのキャッシュメモリの割り当ての設定欄7040が設けられている。すなわち、チェックボックス7052、7054にチェックを入れることによって、ディスクアレイ制御部1のキャッシュメモリ2使用可能LUテーブル9012に登録されるLUが変化し、対応するLUにおいて他系のキャッシュメモリの使用を許可することができる。また、チェックボックス7062、7064にチェックを入れることによって、ディスクアレイ制御部2のキャッシュメモリ1使用可能LUテーブルに登録されるLUが変化し、対応するLUにおいて他系のキャッシュメモリの使用を許可することができる。
図13は、本発明の実施の形態のキャッシュメモリの割り当ての変更に基づく、キャッシュメモリ内の領域の変化を説明する図である。
管理画面7000のキャッシュメモリ割当設定欄7030に設けられたバー7033を操作することによって、ディスクアレイ制御部1側キャッシュ管理領域情報2001、及びディスクアレイ制御部2側キャッシュ管理領域情報2002に登録されるセグメントが変化し、キャッシュメモリの論理境界8000を変化させることができる。すなわち、論理境界8000の左側がディスクアレイ制御部1が使用するキャッシュメモリの領域8010、8011であり、右側がディスクアレイ制御部2が使用するキャッシュメモリの領域8012である。
以上説明したように本発明の実施の形態では、ディスクアレイ制御部101は、ストレージ装置1に接続されたホストとの間でデータや制御信号を送受信するホスト入出力制御部11と、ディスク71等との間でデータや制御信号を送受信するディスク入出力制御部61と、ホスト入出力制御部11及びディスク入出力制御部61の間のデータ転送を制御するデータ転送制御部41と、を備え、ディスクアレイ制御部102は、ストレージ装置1に接続されたホストとの間でデータや制御信号を送受信するホスト入出力制御部12と、ディスク71等との間でデータや制御信号を送受信するディスク入出力制御部62と、ホスト入出力制御部12及びディスク入出力制御部62の間のデータ転送を制御するデータ転送制御部42と、を備え;データ転送制御部41とデータ転送制御部42の間を通信可能に接続するディスクアレイ制御部間通信路91と、を備え、データ転送制御部は41、ホスト入出力制御部11、データ転送制御部41及びディスク入出力制御部61を経由する第1パスと、ホスト入出力制御部11、データ転送制御部41、ディスクアレイ制御部間通信路91、データ転送制御部42及びディスク入出力制御部62を経由する第2パスと、を選択的に設定し、ホストからのデータ入出力要求を処理する。すなわち、他系のキャッシュメモリを使用する場合は、他系のデータ転送制御部を経由する(二つのデータ転送制御部を経由する)パスによってデータを転送するので、ディスクアレイ制御部間でデータを転送することができ、ディスクアレイ制御部に備わるキャッシュメモリ以上の容量のキャッシュメモリの使用が可能となる。
また、メモリ51には、データ転送制御部41からアクセス可能なキャッシュメモリ21の領域に記憶されているデータの管理情報の他、データ転送制御部41からアクセス可能なキャッシュメモリ22の領域に記憶されているデータの管理情報も記憶されているので、自ディスクアレイ制御部が担当する領域に関する管理情報の全てを自メモリに記憶することによって、キャッシュメモリを高速にアクセスすることができる。
また、前述した公知技術(特開2003-162377号公報)に記載された技術によると、同一の論理ユニットは一つのディスクアレイ制御部(コントローラ)からしかアクセスできないところ、本発明を用いると、同一の論理ユニットは複数のディスクアレイ制御部からアクセスすることができる。すなわち、前述した従来技術では、移行元コントローラから移行先コントローラに移行対象の論理ユニットの構成情報を移行する。本発明では、このような構成情報の移行をすることなく、ディスクアレイ制御部間通信路91を設けることによって、同一論理ユニットに対してディスクアレイ制御部101及びディスクアレイ制御部102の双方からのアクセスを可能とした。そして、このような他系のディスクアレイ制御部を経由するパスを用いることによって、ディスクアレイ制御部101がディスクアレイ制御部102に実装されたキャッシュメモリを使用することが可能となる。
本発明の実施の形態のストレージ装置が接続されるコンピュータシステムの構成図である。 本発明の実施の形態のストレージ装置の構成を示すブロック図である。 本発明の実施の形態のキャッシュメモリの構成図である。 本発明の実施の形態のメモリの構成図である。 本発明の実施の形態のディスクアレイ制御部1側キャッシュ管理領域情報の構成図である。 本発明の実施の形態のキャッシュメモリ管理情報の説明図である。 本発明の実施の形態のデータ読み出し処理のフローチャートである。 本発明の実施の形態のデータ書き込み処理のフローチャートである。 本発明の実施の形態のストレージ装置のディスクアクセス経路の説明図である。 本発明の実施の形態のストレージ装置のディスクアクセス経路の説明図である。 本発明の実施の形態のキャッシュメモリの割り当て変更処理のフローチャートである。 本発明の実施の形態のキャッシュメモリの管理画面の説明図である。 本発明の実施の形態のキャッシュメモリ内の領域の変化の説明図である。
符号の説明
1 ストレージ装置
11、12 ホスト入出力制御部
21、22 キャッシュメモリ
31、32 CPU
41、42 データ転送制御部
51、52 メモリ
61、62 ディスク入出力制御部
71、72 ディスク
81、82 管理インターフェース
91 ディスクアレイ制御部間通信路
101、102 ディスクアレイ制御部
501、502 ホストコンピュータ
511 IPネットワーク
521 管理ホスト

Claims (12)

  1. 複数のディスクアレイ制御部及び複数のディスクを含むストレージ装置であって;
    前記複数のディスクアレイ制御部の各々は、
    ストレージ装置に接続されたホストとの間でデータや制御信号を送受信するホスト入出力制御部と、
    前記ディスクとの間でデータや制御信号を送受信するディスク入出力制御部と、
    前記ホスト入出力制御部と前記ディスク入出力制御部との間で送受信されるデータを一時的に記憶するキャッシュメモリと、
    制御プログラムを実行することによって前記ディスクアレイ制御部の動作を制御するCPUと、
    前記CPU、前記ホスト入出力制御部、前記ディスク入出力制御部、及び前記キャッシュメモリの間のデータ転送を制御するデータ転送制御部と、
    前記制御プログラムが記憶されるメモリと、を備え;
    前記複数のディスクアレイ制御部のデータ転送制御部間を通信可能に接続するディスクアレイ制御部間通信路を備え;
    前記キャッシュメモリには、
    前記ホスト入出力制御部と前記ディスク入出力制御部との間で送受信されるデータが記憶されるデータ領域と、
    前記データ領域に記憶されたデータの管理情報が記憶される管理情報領域と、が設けられ;
    前記メモリには、
    前記キャッシュメモリの領域を登録することによって、ディスクアレイ制御部毎のキャッシュメモリの割り当てを管理するキャッシュ管理領域情報と、
    使用可能なキャッシュメモリの領域に記憶されているデータの管理情報と、が記憶され;
    前記キャッシュ管理領域情報には、
    当該ディスクアレイ制御部に設けられた第1のキャッシュメモリのうち、当該ディスクアレイ制御部によって管理される領域が登録される第1キャッシュメモリ内コントローラ管理領域テーブルと、
    他のディスクアレイ制御部に設けられた第2のキャッシュメモリのうち、当該ディスクアレイ制御部によって管理される領域が登録される第2キャッシュメモリ内コントローラ管理領域テーブルと、が含まれ;
    前記CPUによって、
    当該ディスクアレイ制御部に設けられたキャッシュメモリ内の領域をいずれのディスクアレイ制御部に設けられた第1キャッシュメモリ内コントローラ管理領域テーブルに登録するかによって、前記第1キャッシュメモリ内の領域がいずれのデータ転送制御部によるデータ入出力が可能であるかが定められ、
    他のディスクアレイ制御部に設けられたキャッシュメモリ内の領域をいずれのディスクアレイ制御部に設けられた第2キャッシュメモリ内コントローラ管理領域テーブルに登録するかによって、前記第2キャッシュメモリ内の領域がいずれのデータ転送制御部によるデータ入出力が可能であるかが定められるストレージ装置。
  2. 前記複数のディスクアレイ制御部のうち第1ディスクアレイ制御部は、第1キャッシュメモリ及び第1データ転送制御部を備え、
    前記制御プログラムが実行されることによって、第1データ入出力制御部及び第1キャッシュメモリ制御部が構成され;
    前記複数のディスクアレイ制御部のうち第2ディスクアレイ制御部は、第2キャッシュメモリ及び第2データ転送制御部を備え、
    前記制御プログラムが実行されることによって、第2データ入出力制御部及び第2キャッシュメモリ制御部が構成され;
    前記第1データ入出力制御部は、前記第1ホスト入出力制御部に接続されたホストから受信したデータ読み出し要求の内容を解析し;
    前記第1キャッシュメモリ制御部は、
    前記キャッシュ管理領域情報を参照し、前記要求に係るデータが第1キャッシュメモリ及び/又は第2キャッシュメモリに記憶されているか否かを判定し、
    前記要求に係るデータの全てがいずれかのキャッシュメモリに記憶されているときは、当該データがどのキャッシュメモリに記憶されているかを判定し;
    前記第1データ転送制御部は、
    前記要求に係るデータの全てが前記第1キャッシュメモリに記憶されていれば、前記要求に係るデータの記憶箇所を特定し、前記第1キャッシュメモリから前記ディスク入出力制御部へ転送し、
    前記要求に係るデータの全てが前記第2キャッシュメモリに記憶されていれば、前記第2データ転送制御部に前記第2キャッシュメモリからデータの読み出しを依頼し、前記第2データ転送制御部によって読み出されたデータを前記ディスク入出力制御部へ転送し、
    前記要求に係るデータが前記第1キャッシュメモリと前記第2キャッシュメモリとの両方に分けて記憶されていれば、前記要求に係るデータの記憶箇所を特定し対象データを読み出すと共に、前記第2データ転送制御部に前記第2キャッシュメモリからデータの読み出しを依頼し、前記第1キャッシュメモリから読み出されたデータと前記第2キャッシュメモリから読み出されたデータとを前記ディスク入出力制御部へ転送する請求項1に記載のストレージ装置。
  3. 前記複数のディスクアレイ制御部のうち第1ディスクアレイ制御部は、第1キャッシュメモリ及び第1データ転送制御部を備え、
    前記制御プログラムが実行されることによって、第1データ入出力制御部及び第1キャッシュメモリ制御部が構成され;
    前記複数のディスクアレイ制御部のうち第2ディスクアレイ制御部は、第2キャッシュメモリ及び第2データ転送制御部を備え、
    前記制御プログラムが実行されることによって、第2データ入出力制御部及び第2キャッシュメモリ制御部が構成され;
    前記第1データ入出力制御部は、前記第1ホスト入出力制御部に接続されたホストから受信したデータ書き込み要求の内容を解析し;
    前記第1キャッシュメモリ制御部は、
    前記キャッシュ管理領域情報を参照し、前記要求に係るデータの容量と第1キャッシュメモリの空き容量及び/又は第2キャッシュメモリの空き容量とを比較し、
    前記要求に係るデータがキャッシュメモリに記憶できるときは、当該データをいずれのキャッシュメモリに記憶するかを判定し、
    前記第1データ転送制御部は、
    前記要求に係るデータの容量が前記第1キャッシュメモリの空き容量以下であれば、ホストから転送されたデータを前記第1キャッシュメモリに転送し、
    前記要求に係るデータの容量が前記第1キャッシュメモリの空き容量を超え、かつ、前記第2キャッシュメモリの空き容量以下であれば、ホストから転送されたデータを前記第2キャッシュメモリに転送し、
    前記要求に係るデータの容量が前記第1キャッシュメモリの空き容量も前記第2キャッシュメモリの空き容量も超え、かつ、前記第1キャッシュメモリと前記第2キャッシュメモリの空き容量の合計以下であれば、ホストから転送されたデータを前記第1キャッシュメモリと前記第2キャッシュメモリとに分けて転送する請求項1に記載のストレージ装置。
  4. 第1ディスクアレイ制御部、第2ディスクアレイ制御部、及び複数のディスクを含むストレージ装置であって;
    前記第1ディスクアレイ制御部は、第1CPUと、ストレージ装置に接続されたホストとの間でデータや制御信号を送受信する第1ホスト入出力制御部と、前記ディスクとの間でデータや制御信号を送受信する第1ディスク入出力制御部と、前記第1ホスト入出力制御部及び前記第1ディスク入出力制御部の間のデータ転送を制御する第1データ転送制御部と、を備え;
    前記第2ディスクアレイ制御部は、第2CPUと、ストレージ装置に接続されたホストとの間でデータや制御信号を送受信する第2ホスト入出力制御部と、前記ディスクとの間でデータや制御信号を送受信する第2ディスク入出力制御部と、前記第2ホスト入出力制御部及び前記第2ディスク入出力制御部の間のデータ転送を制御する第2データ転送制御部と、を備え;
    前記第1データ転送制御部と前記第2データ転送制御部の間を通信可能に接続するディスクアレイ制御部間通信路と、を備え;
    前記第1ディスクアレイ制御部は、
    前記第1ホスト入出力制御部と前記第1ディスク入出力制御部との間で送受信されるデータを一時的に記憶する第1キャッシュメモリと、前記第1CPUが実行する制御プログラムが記憶される第1メモリと、を備え、
    前記第1CPUが前記制御プログラムを実行することによって第1キャッシュメモリ制御部と第1データ入出力制御部とが構成され;
    第2ディスクアレイ制御部は、前記第2ホスト入出力制御部と前記第2ディスク入出力制御部との間で送受信されるデータを一時的に記憶する第2キャッシュメモリを備え;
    前記第1データ入出力制御部は、前記第1ホスト入出力制御部に接続されたホストから受信したデータ読み出し要求の内容を解析し;
    前記第1キャッシュメモリ制御部は、前記要求に係るデータがどのキャッシュメモリに記憶されているかを判定し;
    前記第1データ転送制御部は、
    要求に係るデータの全てが前記第1キャッシュメモリに記憶されていれば、前記第1ホスト入出力制御部、前記第1データ転送制御部、及び前記第1ディスク入出力制御部を経由する第1パスを用いて前記第1キャッシュメモリから前記第1ホスト入出力制御部へ転送し、
    要求に係るデータの全てが前記第2キャッシュメモリに記憶されていれば、前記第1ホスト入出力制御部、前記第1データ転送制御部、前記ディスクアレイ制御部間通信路、前記第2データ転送制御部、及び前記第2ディスク入出力制御部を経由する第2パスを用いて前記第2データ転送制御部に前記第2キャッシュメモリからのデータの読み出しを依頼し、前記第2パスを用いて前記第2データ転送制御部から転送されたデータを前記第1ホスト入出力制御部へ転送するストレージ装置。
  5. 前記第1データ転送制御部は、
    前記要求に係るデータが前記第1キャッシュメモリと前記第2キャッシュメモリとの両方に分けて記憶されていれば、
    前記第1パスを用いて前記要求に係るデータの記憶箇所を特定し対象データを取得すると共に、
    前記第2パスを用いて前記第2データ転送制御部に前記第2キャッシュメモリからのデータの取得を依頼し、前記第1パスを用いて取得したデータと前記第2パスを用いて取得したデータと前記第1ホスト入出力制御部へ転送する請求項4に記載のストレージ装置。
  6. 第1ディスクアレイ制御部、第2ディスクアレイ制御部、及び複数のディスクを含むストレージ装置であって;
    前記第1ディスクアレイ制御部は、第1CPUと、ストレージ装置に接続されたホストとの間でデータや制御信号を送受信する第1ホスト入出力制御部と、前記ディスクとの間でデータや制御信号を送受信する第1ディスク入出力制御部と、前記第1ホスト入出力制御部及び前記第1ディスク入出力制御部の間のデータ転送を制御する第1データ転送制御部と、を備え;
    前記第2ディスクアレイ制御部は、第2CPUと、ストレージ装置に接続されたホストとの間でデータや制御信号を送受信する第2ホスト入出力制御部と、前記ディスクとの間でデータや制御信号を送受信する第2ディスク入出力制御部と、前記第2ホスト入出力制御部及び前記第2ディスク入出力制御部の間のデータ転送を制御する第2データ転送制御部と、を備え;
    前記第1データ転送制御部と前記第2データ転送制御部の間を通信可能に接続するディスクアレイ制御部間通信路と、を備え;
    前記第1ディスクアレイ制御部は、
    前記第1ホスト入出力制御部と前記第1ディスク入出力制御部との間で送受信されるデータを一時的に記憶する第1キャッシュメモリと、前記第1CPUが実行する制御プログラムが記憶される第1メモリと、を備え、
    前記第1CPUが前記制御プログラムを実行することによって第1キャッシュメモリ制御部と第1データ入出力制御部とが構成され;
    前記第2ディスクアレイ制御部は、前記第2ホスト入出力制御部と前記第2ディスク入出力制御部との間で送受信されるデータを一時的に記憶する第2キャッシュメモリを備え;
    前記第1データ入出力制御部は、前記第1ホスト入出力制御部に接続されたホストから受信したデータ書き込み要求の内容を解析し、
    前記第1キャッシュメモリ制御部は、前記要求に係るデータをどのキャッシュメモリに記憶するかを判定し、
    前記第1データ転送制御部は、
    前記要求に係るデータが前記第1キャッシュメモリに記憶可能であれば、前記第1ホスト入出力制御部、前記第1データ転送制御部、及び前記第1ディスク入出力制御部を経由する第1パスを用いて、前記要求に係るデータを前記第1キャッシュメモリに転送し、
    前記要求に係るデータが前記第1キャッシュメモリに記憶不可能であり、かつ、前記第2キャッシュメモリに記憶可能であれば、前記第1ホスト入出力制御部、前記第1データ転送制御部、前記ディスクアレイ制御部間通信路、前記第2データ転送制御部及び前記第2ディスク入出力制御部を経由する第2パスを用いて、前記要求に係るデータを前記第2キャッシュメモリに転送するストレージ装置。
  7. 前記第1データ転送制御部は、
    前記要求に係るデータが前記第1キャッシュメモリにも前記第2キャッシュメモリにも記憶不可能で、かつ、前記第1キャッシュメモリと前記第2キャッシュメモリとに分けて記憶可能であれば、
    前記第1パスを用いて前記要求に係るデータの一部を前記第1キャッシュメモリに転送すると共に、
    前記第2パスを用いて前記要求に係るデータの他の部分を前記第2キャッシュメモリに転送する請求項6に記載のストレージ装置。
  8. 前記第1キャッシュメモリ制御部は、前記要求に係るデータの容量と第1キャッシュメモリの空き容量及び/又は第2キャッシュメモリの空き容量とを比較して、前記要求に係るデータの容量をどのキャッシュメモリに記憶するかを判定し、
    前記第1データ転送制御部は、前記要求に係るデータの容量が前記第1キャッシュメモリの空き容量を超え、かつ、前記第2キャッシュメモリの空き容量以下であれば、前記第2パスを用いて、前記要求に係るデータを前記第2キャッシュメモリに転送する請求項6に記載のストレージ装置。
  9. 前記第1キャッシュメモリ制御部は、前記キャッシュメモリの性能を比較して、前記要求に係るデータの容量をどのキャッシュメモリに記憶するかを判定し、
    前記第1データ転送制御部は、前記第2キャッシュメモリの性能が前記第1キャッシュメモリの性能より優れており、かつ、前記要求に係るデータの容量が前記第2キャッシュメモリの空き容量以下であれば、ホストから転送されたデータを前記第2キャッシュメモリに転送する請求項6に記載のストレージ装置。
  10. 第1ディスクアレイ制御部、第2ディスクアレイ制御部、及び複数のディスクを含むストレージ装置であって;
    前記第1ディスクアレイ制御部は、第1CPUと、ストレージ装置に接続されたホストとの間でデータや制御信号を送受信する第1ホスト入出力制御部と、前記ディスクとの間でデータや制御信号を送受信する第1ディスク入出力制御部と、前記第1ホスト入出力制御部及び前記第1ディスク入出力制御部の間のデータ転送を制御する第1データ転送制御部と、を備え;
    前記第2ディスクアレイ制御部は、第2CPUと、ストレージ装置に接続されたホストとの間でデータや制御信号を送受信する第2ホスト入出力制御部と、前記ディスクとの間でデータや制御信号を送受信する第2ディスク入出力制御部と、前記第2ホスト入出力制御部及び前記第2ディスク入出力制御部の間のデータ転送を制御する第2データ転送制御部と、を備え;
    前記第1データ転送制御部と前記第2データ転送制御部の間を通信可能に接続するディスクアレイ制御部間通信路と、を備え;
    前記第1ディスクアレイ制御部は、前記第1ホスト入出力制御部と前記第1ディスク入出力制御部との間で送受信されるデータを一時的に記憶する第1キャッシュメモリ及びキャッシュメモリの領域の管理情報が記憶される第1メモリと、を備え;
    前記第2ディスクアレイ制御部は、前記第2ホスト入出力制御部と前記第2ディスク入出力制御部との間で送受信されるデータを一時的に記憶する第2キャッシュメモリ及びキャッシュメモリの領域の管理情報が記憶される第2メモリと、を備え;
    前記第1メモリには、前記キャッシュメモリの領域を登録することによって、ディスクアレイ制御部毎のキャッシュメモリの割り当てを管理する第1キャッシュ管理領域情報が記憶され;
    前記第2メモリには、前記キャッシュメモリの領域を登録することによって、ディスクアレイ制御部毎のキャッシュメモリの割り当てを管理する第2キャッシュ管理領域情報が記憶され;
    前記第1キャッシュ管理領域情報及び前記第2キャッシュ管理領域情報の各々には、前記第1キャッシュメモリ内の領域が登録される第1キャッシュメモリ内コントローラ管理領域テーブルと、前記第2キャッシュメモリ内の領域が登録される第2キャッシュメモリ内コントローラ管理領域テーブルと、が設けられ;
    前記第1キャッシュメモリ内の領域をいずれのディスクアレイ制御部に設けられた第1キャッシュメモリ内コントローラ管理領域テーブルに登録するかによって、前記第1キャッシュメモリ内の領域がいずれのデータ転送制御部によるデータ入出力が可能であるかが定められ、
    前記第2キャッシュメモリ内の領域をいずれのディスクアレイ制御部に設けられた第2キャッシュメモリ内コントローラ管理領域テーブルに登録するかによって、前記第2キャッシュメモリ内の領域がいずれのデータ転送制御部によるデータ入出力が可能であるかが定められ、
    前記定められたデータ転送制御部を経由するパスを選択し、
    前記選択されたパスを用いて、前記ホストからのデータ入出力要求を処理するストレージ装置。
  11. 前記第1メモリには、前記第1データ転送制御部からアクセス可能な第1キャッシュメモリの領域に記憶されているデータの管理情報と、前記第1データ転送制御部からアクセス可能な第2キャッシュメモリの領域に記憶されているデータの管理情報とが記憶されている請求項10に記載のストレージ装置。
  12. 前記ディスクには複数の論理ユニットが設定されており、
    前記第1メモリには、前記第2キャッシュメモリにデータを書き込み可能なデータの読み出し元の論理ユニットが登録される第2キャッシュメモリ使用可能LUテーブルが設けられ、
    前記第1データ転送制御部は、
    前記第2キャッシュメモリ使用可能LUテーブルに登録されている論理ユニットから読み出されたデータは、前記第2キャッシュメモリに転送可能に制御し、
    前記第2キャッシュメモリ使用可能LUテーブルに登録されていない論理ユニットから読み出されたデータは、前記第2キャッシュメモリに転送しないようなパスを選択し、
    前記選択されたパスを用いて、前記ホストからのデータ入出力要求を処理するように制御することを特徴とする請求項10に記載のストレージ装置。
JP2004092960A 2004-03-26 2004-03-26 ストレージ装置 Expired - Fee Related JP4402997B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004092960A JP4402997B2 (ja) 2004-03-26 2004-03-26 ストレージ装置
US10/863,426 US7136963B2 (en) 2004-03-26 2004-06-07 Storage capable of cache assignment modification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004092960A JP4402997B2 (ja) 2004-03-26 2004-03-26 ストレージ装置

Publications (2)

Publication Number Publication Date
JP2005284343A JP2005284343A (ja) 2005-10-13
JP4402997B2 true JP4402997B2 (ja) 2010-01-20

Family

ID=34991507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004092960A Expired - Fee Related JP4402997B2 (ja) 2004-03-26 2004-03-26 ストレージ装置

Country Status (2)

Country Link
US (1) US7136963B2 (ja)
JP (1) JP4402997B2 (ja)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7937709B2 (en) * 2004-12-29 2011-05-03 Intel Corporation Synchronizing multiple threads efficiently
US7673100B1 (en) * 2006-07-10 2010-03-02 Emc Corporation Methods and systems for distributed cache tag management
JP2008027316A (ja) * 2006-07-24 2008-02-07 Nec Corp ディスクアレイ装置、ディスクアレイ装置におけるデータ読み出し方法及びデータ読み出しプログラム
JP4245021B2 (ja) * 2006-09-06 2009-03-25 日本電気株式会社 ストレージ装置、ストレージシステム、ストレージ装置の制御方法
US8140788B2 (en) * 2007-06-14 2012-03-20 International Business Machines Corporation Apparatus, system, and method for selecting an input/output tape volume cache
US7865658B2 (en) 2007-12-31 2011-01-04 Sandisk Il Ltd. Method and system for balancing host write operations and cache flushing
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US8484162B2 (en) 2008-06-24 2013-07-09 Commvault Systems, Inc. De-duplication systems and methods for application-specific data
US8341303B2 (en) 2008-06-30 2012-12-25 Intel Corporation Asymmetrical universal serial bus communications
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US8930306B1 (en) 2009-07-08 2015-01-06 Commvault Systems, Inc. Synchronized data deduplication
WO2011048626A1 (en) * 2009-10-20 2011-04-28 Hitachi, Ltd. Storage controller for mirroring data written to cache memory area
US8364652B2 (en) 2010-09-30 2013-01-29 Commvault Systems, Inc. Content aligned block-based deduplication
US8578109B2 (en) 2010-09-30 2013-11-05 Commvault Systems, Inc. Systems and methods for retaining and using data block signatures in data protection operations
US8954446B2 (en) * 2010-12-14 2015-02-10 Comm Vault Systems, Inc. Client-side repository in a networked deduplicated storage system
US9020900B2 (en) 2010-12-14 2015-04-28 Commvault Systems, Inc. Distributed deduplicated storage system
US8874888B1 (en) 2011-01-13 2014-10-28 Google Inc. Managed boot in a cloud system
US9135037B1 (en) 2011-01-13 2015-09-15 Google Inc. Virtual network protocol
US8745329B2 (en) * 2011-01-20 2014-06-03 Google Inc. Storing data across a plurality of storage nodes
US9063818B1 (en) 2011-03-16 2015-06-23 Google Inc. Automated software updating based on prior activity
US9237087B1 (en) 2011-03-16 2016-01-12 Google Inc. Virtual machine name resolution
US8533796B1 (en) 2011-03-16 2013-09-10 Google Inc. Providing application programs with access to secured resources
US9075979B1 (en) 2011-08-11 2015-07-07 Google Inc. Authentication based on proximity to mobile device
US8966198B1 (en) 2011-09-01 2015-02-24 Google Inc. Providing snapshots of virtual storage devices
US8958293B1 (en) 2011-12-06 2015-02-17 Google Inc. Transparent load-balancing for cloud computing services
US8800009B1 (en) 2011-12-30 2014-08-05 Google Inc. Virtual machine service access
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US8983860B1 (en) 2012-01-30 2015-03-17 Google Inc. Advertising auction system
US8677449B1 (en) 2012-03-19 2014-03-18 Google Inc. Exposing data to virtual machines
JP2013196481A (ja) * 2012-03-21 2013-09-30 Nec Corp キャッシュ装置、情報処理システム、および、キャッシュ方法
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US20130339310A1 (en) 2012-06-13 2013-12-19 Commvault Systems, Inc. Restore using a client side signature repository in a networked storage system
US9164804B2 (en) 2012-06-20 2015-10-20 Memory Technologies Llc Virtual memory module
US9116820B2 (en) * 2012-08-28 2015-08-25 Memory Technologies Llc Dynamic central cache memory
US8891279B2 (en) * 2012-09-17 2014-11-18 International Business Machines Corporation Enhanced wiring structure for a cache supporting auxiliary data output
US9665591B2 (en) 2013-01-11 2017-05-30 Commvault Systems, Inc. High availability distributed deduplicated storage system
JP5907105B2 (ja) * 2013-03-26 2016-04-20 日本電気株式会社 ストレージ装置、方法、及び、プログラム。
JP2015169956A (ja) * 2014-03-04 2015-09-28 富士通株式会社 ストレージ装置、情報処理装置、キャッシュ制御プログラム及びキャッシュ制御方法
US10380072B2 (en) 2014-03-17 2019-08-13 Commvault Systems, Inc. Managing deletions from a deduplication database
US9633056B2 (en) 2014-03-17 2017-04-25 Commvault Systems, Inc. Maintaining a deduplication database
US11249858B2 (en) 2014-08-06 2022-02-15 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US9852026B2 (en) 2014-08-06 2017-12-26 Commvault Systems, Inc. Efficient application recovery in an information management system based on a pseudo-storage-device driver
US9575673B2 (en) 2014-10-29 2017-02-21 Commvault Systems, Inc. Accessing a file system using tiered deduplication
US10339106B2 (en) 2015-04-09 2019-07-02 Commvault Systems, Inc. Highly reusable deduplication database after disaster recovery
US20160350391A1 (en) 2015-05-26 2016-12-01 Commvault Systems, Inc. Replication using deduplicated secondary copy data
US9766825B2 (en) 2015-07-22 2017-09-19 Commvault Systems, Inc. Browse and restore for block-level backups
US10255143B2 (en) 2015-12-30 2019-04-09 Commvault Systems, Inc. Deduplication replication in a distributed deduplication data storage system
US10296368B2 (en) 2016-03-09 2019-05-21 Commvault Systems, Inc. Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount)
US10795577B2 (en) 2016-05-16 2020-10-06 Commvault Systems, Inc. De-duplication of client-side data cache for virtual disks
US10846024B2 (en) 2016-05-16 2020-11-24 Commvault Systems, Inc. Global de-duplication of virtual disks in a storage platform
WO2018017680A1 (en) * 2016-07-19 2018-01-25 R-Stor Inc. Method and apparatus for implementing high-speed connections for logical drives
US10740193B2 (en) 2017-02-27 2020-08-11 Commvault Systems, Inc. Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US10664352B2 (en) 2017-06-14 2020-05-26 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
US11010258B2 (en) 2018-11-27 2021-05-18 Commvault Systems, Inc. Generating backup copies through interoperability between components of a data storage management system and appliances for data storage and deduplication
US11698727B2 (en) 2018-12-14 2023-07-11 Commvault Systems, Inc. Performing secondary copy operations based on deduplication performance
US20200327017A1 (en) 2019-04-10 2020-10-15 Commvault Systems, Inc. Restore using deduplicated secondary copy data
US11463264B2 (en) 2019-05-08 2022-10-04 Commvault Systems, Inc. Use of data block signatures for monitoring in an information management system
US11442896B2 (en) 2019-12-04 2022-09-13 Commvault Systems, Inc. Systems and methods for optimizing restoration of deduplicated data stored in cloud-based storage resources
US11687424B2 (en) 2020-05-28 2023-06-27 Commvault Systems, Inc. Automated media agent state management

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4792505A (en) * 1987-12-14 1988-12-20 Westinghouse Electric Corp. Electrodes made from mixed silver-silver oxides
US5771367A (en) 1992-12-17 1998-06-23 International Business Machines Corporation Storage controller and method for improved failure recovery using cross-coupled cache memories and nonvolatile stores
US5579474A (en) * 1992-12-28 1996-11-26 Hitachi, Ltd. Disk array system and its control method
JP3239669B2 (ja) * 1995-02-20 2001-12-17 株式会社日立製作所 記憶制御装置及びその制御方法
US6073218A (en) * 1996-12-23 2000-06-06 Lsi Logic Corp. Methods and apparatus for coordinating shared multiple raid controller access to common storage devices
US6381674B2 (en) 1997-09-30 2002-04-30 Lsi Logic Corporation Method and apparatus for providing centralized intelligent cache between multiple data controlling elements
EP1026575A3 (en) * 1999-02-08 2006-09-06 Hitachi, Ltd. Disk array system and method of changing its configuration
JP2001256003A (ja) * 2000-03-10 2001-09-21 Hitachi Ltd ディスクアレイ制御装置、そのディスクアレイ制御ユニットおよびその増設方法
JP2002123479A (ja) * 2000-10-17 2002-04-26 Hitachi Ltd ディスク制御装置およびそのキャッシュ制御方法
US6792505B2 (en) 2001-04-16 2004-09-14 International Business Machines Corporation System apparatus and method for storage device controller-based message passing having effective data channel bandwidth and controller cache memory increase
JP2003162377A (ja) 2001-11-28 2003-06-06 Hitachi Ltd ディスクアレイシステム及びコントローラ間での論理ユニットの引き継ぎ方法
US6757790B2 (en) 2002-02-19 2004-06-29 Emc Corporation Distributed, scalable data storage facility with cache memory

Also Published As

Publication number Publication date
US20050216659A1 (en) 2005-09-29
JP2005284343A (ja) 2005-10-13
US7136963B2 (en) 2006-11-14

Similar Documents

Publication Publication Date Title
JP4402997B2 (ja) ストレージ装置
JP3726484B2 (ja) 記憶サブシステム
US6240467B1 (en) Input/output operation request handling in a multi-host system
JP4219602B2 (ja) 記憶制御装置および記憶制御装置の制御方法
JP4671353B2 (ja) ストレージ装置及びその制御方法
US8131969B2 (en) Updating system configuration information
US7228399B2 (en) Control method for storage device controller system, and storage device controller system
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
EP1837751A2 (en) Storage system, storage extent release method and storage apparatus
US7421543B2 (en) Network device, fiber channel switch, method for shared memory access control, and computer product
US6915367B2 (en) Shared peripheral architecture
EP1345113A2 (en) Management server
JP2006309579A (ja) 記憶制御装置及びストレージシステム
JP4176341B2 (ja) 記憶制御装置
CN105408875B (zh) 在存储器接口上的分布式过程执行和文件系统
JP2005165852A (ja) ストレージシステム、ストレージ制御装置、ストレージシステムの制御方法
US20080235404A1 (en) Storage apparatus and data transfer method thereof
JP2008276326A (ja) 記憶制御装置及び記憶制御装置の仮想メモリ制御方法
JP4332126B2 (ja) キャッシング制御プログラム、キャッシング制御装置およびキャッシング制御方法
US20050108235A1 (en) Information processing system and method
JP2003085117A (ja) 記憶制御装置およびその運用方法
US20050240724A1 (en) Disk array device and cache control method for disk array device
JP4373450B2 (ja) Raid制御装置及びその制御方法
JP4180291B2 (ja) 記憶装置システムの制御方法および記憶装置、管理装置、およびプログラム
WO2015068208A1 (ja) システムおよびその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090804

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090929

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091027

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091030

R150 Certificate of patent or registration of utility model

Ref document number: 4402997

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121106

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131106

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees