JP2004318484A - 記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法 - Google Patents

記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法 Download PDF

Info

Publication number
JP2004318484A
JP2004318484A JP2003111405A JP2003111405A JP2004318484A JP 2004318484 A JP2004318484 A JP 2004318484A JP 2003111405 A JP2003111405 A JP 2003111405A JP 2003111405 A JP2003111405 A JP 2003111405A JP 2004318484 A JP2004318484 A JP 2004318484A
Authority
JP
Japan
Prior art keywords
control unit
storage
input
data
unit
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.)
Granted
Application number
JP2003111405A
Other languages
English (en)
Other versions
JP4413518B2 (ja
Inventor
Hiroki Kanai
宏樹 金井
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 JP2003111405A priority Critical patent/JP4413518B2/ja
Priority to CNB031579183A priority patent/CN1265274C/zh
Priority to CNA2006100885015A priority patent/CN1855027A/zh
Priority to CNB2006100959875A priority patent/CN100517210C/zh
Priority to US10/654,996 priority patent/US7231490B2/en
Priority to EP03020208A priority patent/EP1469380B1/en
Publication of JP2004318484A publication Critical patent/JP2004318484A/ja
Priority to US11/606,878 priority patent/US7320051B2/en
Priority to US11/984,570 priority patent/US7581060B2/en
Application granted granted Critical
Publication of JP4413518B2 publication Critical patent/JP4413518B2/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Abstract

【課題】顧客ニーズに応じた柔軟性の高いストレージシステム構成とする。
【解決手段】記憶デバイス制御装置に、データ入出力要求を受信するためのホストインタフェース制御部が形成されたチャネル制御ユニットと、前記データ入出力要求に応じて、データを記憶するための記憶ボリウムに対する前記データの入出力制御を行うためのディスクインターフェース制御部が形成されたディスク制御ユニットと、前記データを記憶するためのメモリが形成されたキャッシュメモリユニットと、前記ホストインタフェース制御部と前記ディスクインタフェース制御部と前記メモリとが形成されたストレージ制御ユニットとを挿抜可能な装着部と、前記チャネル制御ユニット、前記ディスク制御ユニット、前記キャッシュメモリユニット、及び前記ストレージ制御ユニットを通信可能に接続する内部接続部とを備える。
【選択図】 図2

Description

【0001】
【発明の属する技術分野】
本発明は、記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法に関する。
【0002】
【従来の技術】
コンピュータシステムにおいてデータの記憶装置として用いられるストレージシステムは、ユーザのニーズに応じて小規模コンピュータシステム向けのものから大規模コンピュータシステム向けのものまで、様々なものが提供されている。
【0003】
小規模コンピュータシステム向けのストレージシステムは、ストレージシステムとしての一通りの機能を備えた装置として提供されることにより、導入の容易化、導入時のコスト抑制が図られている。
一方、大規模コンピュータシステム向けのストレージシステムは小規模向けストレージシステムとは異なるアーキテクチャが採用され、高い拡張性を備え、最大規模での運用を求めるユーザニーズにも応えることができる構成となっている。
【0004】
【特許文献1】
特開2002−123479号公報
【0005】
【発明が解決しようとする課題】
しかしながら、記憶容量の増大や、ストレージシステムの統合等によるストレージシステムの大規模化が必要な場合、小規模コンピュータシステム向けストレージシステムを採用していた場合には、大規模向けストレージシステムに入れ替えるか、ストレージシステムを追加するなどの対応が必要となる。
一方、当初から高い拡張性を備えた大規模コンピュータシステム向けストレージシステムを採用していた場合には、コンピュータシステムの導入開始初期からストレージシステムに対して大きなコストの負担を強いられる。
本発明は上記課題を鑑みてなされたものであり、記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法を提供することを主たる目的とする。
【0006】
【課題を解決するための手段】
上記課題を解決するために、本発明に係る記憶デバイス制御装置は、データ入出力要求を受信するためのホストインタフェース制御部が形成されたチャネル制御ユニットと、前記データ入出力要求に応じて、データを記憶するための記憶ボリウムに対する前記データの入出力制御を行うためのディスクインタフェース制御部が形成されたディスク制御ユニットと、前記データを記憶するためのメモリが形成されたキャッシュメモリユニットと、前記ホストインタフェース制御部と前記ディスクインタフェース制御部と前記メモリとが形成されたストレージ制御ユニットとを挿抜可能な装着部と、前記チャネル制御ユニット、前記ディスク制御ユニット、前記キャッシュメモリユニット、及び前記ストレージ制御ユニットを通信可能に接続する内部接続部とを備える。
【0007】
本発明に係る記憶デバイス制御装置においては、ストレージ制御ユニットや、チャネル制御ユニット、ディスク制御ユニット、グローバルキャッシュのいずれも装着することができるので、顧客ニーズに応じた柔軟性の高いストレージシステム構成することができる。
【0008】
また上記データ入出力要求とは例えばデータのリード要求やライト要求である。また入出力制御とは、データの読み出しや書き込みを行うための制御である。記憶ボリウムとは、ハードディスク装置や半導体記憶装置等により構成される記憶装置により提供される物理的な記憶領域である物理ボリウムと、物理ボリウム上に論理的に設定される記憶領域である論理ボリウムとを含む記憶リソースである。
【0009】
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
【0010】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
===外観構成===
まず、本実施の形態に係るストレージシステム100の外観構成を示す図を図1に示す。
ストレージシステム100はディスク制御装置(記憶デバイス制御装置)110とディスク駆動装置120とを備えている。ディスク制御装置110はストレージシステム100全体の制御を司る。ディスク駆動装置120はデータを記憶するディスクドライブ121を多数収納する。図1に示すストレージシステム100ではディスク制御装置110が中央に配置され、その左右にディスク駆動装置120が配置されている。なお図1に示すように、ディスクドライブ121はディスク制御装置110にも収納されるようにすることができる。
【0011】
ディスク制御装置110は、コントローラ部111、ファン113、電源部112を備えている。コントローラ部111はストレージシステム100全体の制御を司る部分である。詳細は後述するが、コントローラ部111はチャネル制御ユニット300、ディスク制御ユニット400、ストレージ制御ユニット800、グローバルキャッシュ(キャッシュメモリユニット)600を含んで構成される。ディスク制御装置110にこれらのユニットが装着されることにより、ストレージシステム100の制御が行われる。これらのユニットは、後述するように、一体的にユニット化された回路基板上に形成されたハードウエアさらにこのハードウエアにより実行されるソフトウエア又は両方により実現される。ファン113はディスク制御装置110を冷却するために用いられる。電源部112はディスク制御装置110への電力の供給を行うために用いられる。
【0012】
ディスク駆動装置120には多数のディスクドライブ121が収納される。ディスクドライブ121は、ディスク駆動装置120を構成する筐体に着脱可能なように収納されている。
【0013】
また図1には示されていないが、ディスク制御装置110には管理端末160が接続されている。管理端末160はストレージシステム100の保守管理を行うためのコンピュータである。管理端末160はストレージシステム100に組み込まれるように構成することもできるし、遠隔地に設置されストレージシステム100とネットワークで接続された形態とすることもできる。
【0014】
===全体構成===
次に、本実施の形態に係るストレージシステムの全体構成を示すブロック図を図2に示す。
ディスク制御装置110はホスト計算機(情報処理装置)200と接続され、ホスト計算機200からのデータのリード/ライト要求(データ入出力要求)を受信する。また多数のディスクドライブ121と接続されており、ホスト計算機200からのデータの入出力要求に応じて、記憶ボリウムに対してデータの入出力制御を行う。記憶ボリウムとは、記憶装置により提供される物理的な記憶領域である物理ボリウムと、物理ボリウム上に論理的に設定される記憶領域である論理ボリウム122とを含む記憶リソースである。記憶装置としては、例えばハードディスク装置や半導体記憶装置等様々なものを採用することができる。
【0015】
ディスク制御装置110とホスト計算機200との間の通信は、様々な通信プロトコルに従って行うようにすることができる。例えば、ファイバチャネルやSCSI(Small Computer System Interface)、FICON(Fibre Connection)(登録商標)、ESCON(Enterprise System Connection) (登録商標)、ACONARC(Advanced Connection Architecture)(登録商標)、FIBARC(Fibre Connection Architecture)(登録商標)、TCP/IP(Transmission Control Protocol/Internet Protocol)等である。これらの通信プロトコルを混在させるようにすることもできる。例えばホストA200との間の通信はファイバチャネルで行い、ホストB200との間の通信はTCP/IPで行うようにすることもできる。ホスト計算機200がメインフレーム計算機である場合には、例えばFICONやESCON、ACONARC、FIBARCが用いられる。またホスト計算機200がオープン系の計算機である場合には、例えばファイバチャネルやSCSI、TCP/IPが用いられる。なお、ホスト計算機200からのデータのリード/ライト要求は、記憶ボリウムにおけるデータの管理単位であるブロックを単位として行うようにすることもできるし、ファイル名を指定することによりファイル単位に行うようにすることもできる。後者の場合にはディスク制御装置110は、ホスト計算機200からのファイルレベルでのアクセスを実現するNAS(Network Attached Storage)として機能する。
【0016】
ホスト計算機200はCPU(Central Processing Unit)やメモリ、入出力装置等を備えたコンピュータである。ホスト計算機200には、図示されていないクライアント計算機が接続されている。ホスト計算機200はクライアント計算機に対して各種の情報処理サービスを提供する。ホスト計算機200により提供される情報処理サービスは、例えば銀行の自動預金預け払いサービスやインターネットのホームページ閲覧サービスのようなオンラインサービスを始め、科学技術分野における実験シミュレーションを行うバッチ処理サービス等である。またホスト計算機200とディスク制御装置110間のアクセスルートは2重化されており、片方のアクセスルートに障害が発生しても他方のアクセスルートにより入出力要求の受信を継続することができるようになっている。
【0017】
図2に示すディスク制御装置110は、4枚のストレージ制御ユニット800、2枚のチャネル制御ユニット300、2枚のディスク制御ユニット400、2枚のグローバルキャッシュ600、及び内部接続部500を有している。またディスク制御装置110には管理端末160が接続されている。
【0018】
===ストレージ制御ユニット===
ストレージ制御ユニット800は、ホストインタフェース制御部(ホストIF制御部)810、ディスクインタフェース制御部(ディスクIF制御部)860、キャッシュ制御部820、ローカルキャッシュ(メモリ)830、内部インタフェース接続部(内部IF接続部)840を備える。ストレージ制御ユニット800は、これらが一体的にユニット化された回路基板上に形成されたハードウエアさらにこのハードウエアにより実行されるソフトウエア又は両方により実現される。
【0019】
ホストIF制御部810は、ホスト計算機200とのインタフェース機能を有する。ディスクIF制御部860は、記憶ボリウムに対する入出力制御を行うためのインタフェース機能を備える。ローカルキャッシュ830は、ホスト計算機200と記憶ボリウムとの間で授受されるデータを記憶する。キャッシュ制御部820は、ローカルキャッシュ830の制御を司る。なお本実施の形態においては、ストレージ制御ユニット800は他のストレージ制御ユニット800との間でクラスタを構成している。クラスタを構成することにより、同一クラスタ内のあるストレージ制御ユニット800に障害が発生した場合でも、障害が発生したストレージ制御ユニット800がそれまで行っていた処理を同一クラスタ内の他のストレージ制御ユニット800に引き継ぐことにより、処理を継続することができる。キャッシュ制御部820は、クラスタを構成する他のストレージ制御ユニット800のキャッシュ制御部820とペア間接続部850を介して接続されている。クラスタを構成するストレージ制御ユニット800間でローカルキャッシュ830のデータを相互に記憶することによりデータの2重化を行っている。内部IF制御部840は、内部接続部500を介してグローバルキャッシュ600、ディスク制御ユニット400、チャネル制御ユニット300、他のストレージ制御ユニット800に接続されている。なおストレージ制御ユニット800は、ホストIF制御部810、ディスクIF制御部860、内部IF制御部840を備えて構成され、ローカルキャッシュ830及びキャッシュ制御部820を備えない構成とすることもできる。この場合、クラスタを構成する各ストレージ制御ユニット800は、例えば相互の内部IF制御部840をペア間接続部850により接続するようにすることができる。またホスト計算機200と記憶ボリウム間で授受されるデータは、ローカルキャッシュ830には記憶されずに、後述するグローバルキャッシュ600に記憶されるようにすることもできる。またローカルキャッシュ830、グローバルキャッシュ600のいずれにも記憶されずに授受されるようにすることもできる。
【0020】
本実施の形態に係るストレージ制御ユニット800の外観構成を示す図を図3に示す。ストレージ制御ユニット800は、ディスク制御装置110が備える装着部130に挿入されることにより、ディスク制御装置110に装着される。図7にストレージ制御ユニット800がディスク制御装置110の装着部130に挿入される様子を示す。装着部130には複数のスロットが設けられており、各スロットにはストレージ制御ユニット800を装着するためのガイドレールが設けられている。ガイドレールに沿ってストレージ制御ユニット800をスロットに挿入することにより、ストレージ制御ユニット800をディスク制御装置110に装着することができる。各スロットに装着されたストレージ制御ユニット800は、ガイドレールに沿って引き抜くことにより取り外すことができる。またストレージ制御ユニット800には、ストレージ制御ユニット800とディスク制御装置110とを電気的に接続するためのコネクタ870が設けられている。コネクタ870はディスク制御装置110の装着部130の奥手方向正面部に設けられた相手側コネクタと嵌合する。
【0021】
なおディスク制御装置110の各スロットには、ストレージ制御ユニット800のみならず、チャネル制御ユニット300、ディスク制御ユニット400、グローバルキャッシュ600も装着できる。いずれのユニットも、サイズやコネクタの位置、コネクタのピン配列等に互換性をもたせるようにしているからである。従って、例えば全てのスロットにストレージ制御ユニット800を装着するようにすることもできるし、ディスク制御ユニット400やチャネル制御ユニット300、グローバルキャッシュ600を混在させて装着するようにすることもできる。
【0022】
上述のように、ストレージ制御ユニット800は、ホスト計算機200とのインタフェース機能を有するホストIF制御部810と、記憶ボリウムに対する入出力制御を行うためのインタフェース機能を備えるディスクIF制御部860と、ホスト計算機200と記憶ボリウムとの間で授受されるデータを記憶するローカルキャッシュ830とが同一パッケージ上で構成されている。これにより、ストレージ制御ユニット800を追加していくことにより容易にシステムを拡張することが可能である。なおパッケージとは、複数の機能をモジュール化して1つの部品として構成したものである。部品の交換等の保守・管理はパッケージ単位に行われる。
【0023】
またストレージ制御ユニット800において、ホストIF制御部810と、ディスクIF制御部860と、ローカルキャッシュ830とが同一パッケージ上で構成されることにより、ホスト計算機200と記憶ボリウムとの間のデータ入出力性能を向上させることができる。
【0024】
なぜならば、これらが同一パッケージ上で構成されることにより、ホスト計算機200と記憶ボリウムとの間のデータ転送路の電気的特性を向上させることができ、高速なデータ転送が可能となるからである。すなわち、ホストIF制御部810、ディスクIF制御部860、ローカルキャッシュ830は、ホスト計算機200と記憶ボリウムとの間のデータ転送路の一部を構成するが、これらが同一パッケージ内に配置されることにより、データ転送路上に介在するコネクタやケーブルを削減できるため、例えばデータ転送路のインピーダンスを低下させ、耐ノイズ性を向上させることができるからである。さらに、ホストIF制御部810、ディスクIF制御部860、ローカルキャッシュ830が同一パッケージ内で近接して配置されることにより、これらを相互に接続する配線長を短くすることができる。これによって、ストレージ制御ユニット800内のデータ転送路のインピーダンスを低下させることができる。また耐ノイズ性も向上させることができる。これらにより、ストレージ制御ユニット800におけるデータ転送ピッチを上げることができるようになるため、ホスト計算機200と記憶ボリウムとの間のデータ入出力性能を向上させることができるようになる。
【0025】
さらに、ストレージ制御ユニット800はホスト計算機200と記憶ボリウムとの両方に接続しているので、ホスト計算機200からのデータ入出力要求が自己に接続している記憶ボリウムに記憶されたデータに対するものである場合には、他のユニットを介さずに処理を行うことができる。このためホスト計算機200と記憶ボリウムとの間のデータ転送路がパッケージ間を跨るような処理が減少し、データ入出力性能を向上させることができるようになる。
【0026】
またストレージ制御ユニット800は、ホスト計算機200と記憶ボリウムとの間のデータの授受をローカルキャッシュ830を使用せずに行うように制御することもできる。これにより、ローカルキャッシュ830を経由することによるデータ入出力処理の遅延を減少させることができる。これは、例えばホスト計算機200からのデータ入出力要求に応じて行われる記憶ボリウムへのデータアクセスに局所性がない場合などローカルキャッシュ830を用いても高いヒット率が期待できない場合に有効である。
【0027】
また、ストレージ制御ユニット800を用いることにより、ホスト計算機200と記憶ボリウムとの間でパッケージ間を跨って行われるデータ転送が減少するので、万が一ストレージ制御ユニット800に障害が発生した場合でも、故障の影響を局所的に抑えることができる。つまりストレージ制御ユニット800に障害が発生した場合でも、他のストレージ制御ユニット800を用いて行われるデータ転送へ与える影響を少なくすることができる。同様に、例えば保守作業のためにストレージ制御ユニット800の交換を行う場合にも、その影響を局所的に抑えることができ、他のストレージ制御ユニット800を用いて行われるデータ転送へ与える影響を少なくすることができる。
【0028】
ストレージ制御ユニット800を用いたディスク制御装置110は、初期導入時点でのコスト効果が最大になるようにしたものであり、なおかつ拡張性を維持しているため小中規模から大規模構成向きである。例えば後述するように、ストレージ制御ユニット800を、電源112やファン113等と共に一つの筐体内に格納し、モジュラー型コントローラ111として構成するようにすることもできる。この場合にはストレージシステム100の初期導入を容易に行うことができる。またシステムの拡張時もモジュラー型コントローラ111を順次増設することにより、容易に行うことができる。従って、これからビジネスを開始する顧客やビジネス環境の変化が激しい顧客が状況に応じてシステム規模を変更できる柔軟性のあるシステムを実現するときに有効である。またディスクIF制御部860が記憶ボリウムから読み出したデータはキャッシュ制御部820を経由してローカルキャッシュ830のデータ領域831に格納される。内部接続部500やグローバルキャッシュ600を経由しないので、高速なデータの読み出しが可能である。
【0029】
一方、チャネル制御ユニット300とディスク制御ユニット400を用いたディスク制御装置110は、システムの最大規模を想定して最大規模でのコスト低減効果が最大になるようにしたものであり、大規模構成向きである。従って既にビジネスが安定している顧客が比較的大規模な構成を実現するときに有効である。
【0030】
上述のように本実施の形態に係るディスク制御装置110においては、ストレージ制御ユニット800や、チャネル制御ユニット300、ディスク制御ユニット400、グローバルキャッシュ600のいずれも装着することができるので、顧客ニーズに応じた柔軟性の高いストレージシステム100を構成することができる。
【0031】
次にストレージ制御ユニット800の構成を示すブロック図を図8に示す。
ホストIF制御部810は、プロセッサ811、メモリ812、ホストIF回路814、及び内部接続IF回路815を備えている。プロセッサ811はメモリ812に記憶されている制御プログラム813を実行することにより、ホスト計算機200とのインタフェース機能を実現する。ホストIF回路814はホスト計算機200と接続され、データの授受を行うための回路を構成する。内部接続IF回路815はキャッシュ制御部820との接続のための回路を構成する。
【0032】
キャッシュ制御部820は、キャッシュ制御部IF回路821、バッファメモリ822、内部接続IF回路823、824、ペア間接続IF回路825を備える。キャッシュ制御部IF回路821は、ローカルキャッシュ830と接続するための回路を構成し、ローカルキャッシュ830との間のデータの授受を制御する。バッファメモリ822は、ローカルキャッシュ830との間のデータ授受の際に一時的にデータを格納するために用いられる。内部接続IF回路823は、ホストIF制御部810、ディスクIF制御部860と接続するための回路を構成する。内部接続IF回路824は、内部IF制御部840と接続するための回路を構成する。
【0033】
ペア間接続IF回路825は、クラスタを構成する相手のストレージ制御ユニット800のキャッシュ制御部820と接続するための回路を構成する。接続の様子を図9に示す。
クラスタを構成するストレージ制御ユニット800は相互にローカルキャッシュ330のデータを共有することによりデータの2重化を行っている。データの2重化を行うためのコマンドやデータはペア間接続IF回路825を介して相手側のストレージ制御ユニット800に送られる。相互のペア間接続IF回路825の間はペア間接続部850により直結されている。ペア間接続部850は相互のローカルキャッシュ830のデータを2重化するために設けられた通信路である。なおペア間接続部850はデータの2重化の他、例えばクラスタを構成するストレージ制御ユニット800間でのメッセージ通信を行うために使用することもできる。またハートビート信号を授受するために使用するようにすることもできる。ここでハートビート信号とは、クラスタを構成する各ストレージ制御ユニット800が相互に相手の動作状態を確認し合うための信号である。
【0034】
ディスクIF制御部860は、プロセッサ861、メモリ862、ディスクIF回路864、及び内部接続IF回路865を備えている。プロセッサ861はメモリ862に記憶されている制御プログラム863を実行することにより、ディスクドライブ121とのインタフェース機能を実現する。ディスクIF回路864はディスクドライブ121と接続され、データの授受を行うための回路を構成する。内部接続IF回路865はキャッシュ制御部820との接続のための回路を構成する。
【0035】
なお、内部接続IF回路815、865、内部接続IF回路823、824、及びペア間接続IF回路825の回路構成は、同種、異種、もしくは同種・異種の混在のいずれの態様とすることもできる。
【0036】
ローカルキャッシュ830は、データ領域831と制御領域832を有している。データ領域831は、ホスト計算機200と記憶ボリウムとの間で授受されるデータを記憶するための記憶領域である。制御領域832は、データ領域831に記憶されているデータを管理するための記憶領域である。ローカルキャッシュ830の詳細については後述する。
【0037】
===チャネル制御ユニット===
次にチャネル制御ユニット300の構成を示すブロック図を図10及び図11に示す。またチャネル制御ユニット300の外観構成を示す図を図4に示す。
チャネル制御ユニット300は、ホストインタフェース制御部(ホストIF制御部)310、キャッシュ制御部320、ローカルキャッシュ(メモリ)330、内部インタフェース接続部(内部IF接続部)340を備える。チャネル制御ユニット300は、これらが一体的にユニット化された回路基板上に形成されたハードウエアさらにこのハードウエアにより実行されるソフトウエア又は両方により実現される。
【0038】
ホストIF制御部310は、ホスト計算機200とのインタフェース機能を有する。ホストIF制御部310は、プロセッサ311、メモリ312、ホストIF回路314、及び内部接続IF回路315を備えている。ホストIF制御部310により実現される機能、及び構成等はホストIF制御部810と同様である。
【0039】
キャッシュ制御部320、ローカルキャッシュ330は、ホスト計算機200と記憶ボリウムとの間で授受されるデータを記憶する。キャッシュ制御部320、ローカルキャッシュ330により実現される機能、及び構成等もストレージ制御ユニット800におけるキャッシュ制御部820、ローカルキャッシュ830と同様である。
内部IF制御部340により実現される機能、構成等についても、ストレージ制御ユニット800における内部IF制御部840と同様である。
【0040】
またチャネル制御ユニット300は、ストレージ制御ユニット800と同様ディスク制御装置110が備える装着部130に設けられたスロットに挿入することにより、ディスク制御装置110に装着される。チャネル制御ユニット300がディスク制御装置110の装着部130に挿入される様子を図7に示す。チャネル制御ユニット300には、チャネル制御ユニット300とディスク制御装置110とを電気的に接続するためのコネクタ370が設けられている。コネクタ370はディスク制御装置110の装着部130の奥手方向正面部に設けられた相手側コネクタと嵌合する。前述したように、チャネル制御ユニット300は他のユニットとサイズやコネクタの位置、コネクタのピン配列等に互換性をもたせるようにしている。そのため、ディスク制御装置110の各スロットには、ストレージ制御ユニット800、チャネル制御ユニット300、ディスク制御ユニット400、グローバルキャッシュ600を混在させて装着するようにできる。
【0041】
===ディスク制御ユニット===
次に、ディスク制御ユニット400の構成を示すブロック図を図12に示す。またディスク制御ユニット400の外観構成を示す図を図5に示す。
ディスク制御ユニット400は、ディスクインタフェース制御部(ディスクIF制御部)460、内部インタフェース接続部(内部IF接続部)440を備える。ディスク制御ユニット400は、これらが一体的にユニット化された回路基板上に形成されたハードウエアさらにこのハードウエアにより実行されるソフトウエアまたは両方により実現される。
【0042】
ディスクIF制御部460は、ディスクドライブ121に対する入出力制御を行うためのインタフェース機能を有する。ディスクIF制御部460は、プロセッサ461、メモリ462、ディスクIF回路464、及び内部接続IF回路465を備えている。ディスクIF制御部460により実現される機能、及び構成等はストレージ制御ユニット800におけるディスクIF制御部860と同様である。
内部IF制御部440により実現される機能、構成等についても、ストレージ制御ユニット800における内部IF制御部840と同様である。
【0043】
また、ディスク制御ユニット400は、ストレージ制御ユニット800と同様ディスク制御装置110が備える装着部130に設けられたスロットに挿入することにより、ディスク制御装置110に装着される。ディスク制御ユニット400がディスク制御装置110の装着部130に挿入される様子を図7に示す。ディスク制御ユニット400には、ディスク制御ユニット400とディスク制御装置110とを電気的に接続するためのコネクタ470が設けられている。コネクタ470はディスク制御装置110の装着部130の奥手方向正面部に設けられた相手側コネクタと嵌合する。前述したように、ディスク制御ユニット400は他のユニットとサイズやコネクタの位置、コネクタのピン配列等に互換性をもたせるようにしている。そのため、ディスク制御装置110の各スロットには、ストレージ制御ユニット800、チャネル制御ユニット300、ディスク制御ユニット400、グローバルキャッシュ600を混在させて装着するようにできる。
【0044】
===ローカルキャッシュ===
次に、ストレージ制御ユニット800が備えるローカルキャッシュ830について図13を用いて説明する。なおチャネル制御ユニット300が備えるローカルキャッシュ330についても、その機能、構成等はストレージ制御ユニット800が備えるローカルキャッシュ830と同様である。
【0045】
ローカルキャッシュ830は、データ領域831と制御領域832とを有している。データ領域831は、ホスト計算機200と記憶ボリウムとの間で授受されるデータを記憶するための記憶領域である。制御領域832は、データ領域831に記憶されているデータを管理するための記憶領域である。
【0046】
データ領域831は、ダイレクトアクセス用データ領域836と、通信バッファ837を有している。ダイレクトアクセス用データ領域836はさらに、自SAVOL(Storage Adapter VOLume)用領域(第1の記憶領域)836Aと、他DAVOL(Disk Adapter VOLume)用領域(第2の記憶領域)836Bとを有している。
【0047】
自SAVOL用領域836Aは、ホスト計算機200から受信したデータ入出力要求の対象となっている記憶ボリウムが、当該データ入出力要求を受信したストレージ制御ユニット800に接続された記憶ボリウムに対するものである場合に、ホスト計算機200と当該記憶ボリウムとの間で授受されるデータを記憶するための領域である。
【0048】
他DAVOL用領域836Bは、ホスト計算機200から受信したデータ入出力要求の対象となっている記憶ボリウムが、ディスク制御ユニット400に接続された記憶ボリウムに対するものである場合に、ホスト計算機200と当該記憶ボリウムとの間で授受されるデータを記憶するための領域である。他DAVOL用領域836Bは、ディスク制御装置110にディスク制御ユニット400が装着された場合に設けられる記憶領域である。
【0049】
通信バッファ837は、ホスト計算機200から受信したデータ入出力要求の対象となっている記憶ボリウムが、当該データ入出力要求を受信したストレージ制御ユニット800とは別のストレージ制御ユニット800に接続された記憶ボリウムに対するものである場合に、当該別のストレージ制御ユニット800との間でデータ入出力要求及びデータを授受するための記憶領域である。通信バッファ837は、ディスク制御装置110に異なるクラスタに属する複数のストレージ制御ユニット800が装着された場合に設けられる記憶領域である。
【0050】
制御領域832には、キャッシュ領域管理テーブル833、キャッシュデータ管理テーブル834、ボリウム管理テーブル835が記憶されている。図13に示した例では、一つのキャッシュ領域管理テーブル833と、2つのキャッシュデータ管理テーブル834A、834Bと、一つのボリウム管理テーブル835とが記載されているが、これらのテーブルは適宜複数に分割されているようにすることもできる。
【0051】
キャッシュ領域管理テーブル833は、データ領域831に設けられる自SAVOL用領域836A、他DAVOL用領域836B、及び通信バッファ837のそれぞれの記憶領域を特定するための情報を記憶したテーブルである。記憶領域を特定するための情報は例えばローカルキャッシュのアドレス情報である。図13の例では、データ領域831に設定されたアドレスのうち、”00000000番地”から”AFFFFFFF番地”までが自SAVOL用領域836Aであり、”B0000000番地”から”EFFFFFFF番地”までが他DAVOL用領域836Bであり、”F0000000番地”から”FFFFFFFF番地”までが通信バッファ837であることが示されている。キャッシュ領域管理テーブル833の内容を変更することにより、上記各領域の割り当てを変更することができる。例えば、ホスト計算機200から受信するデータ入出力要求の多くが、当該データ入出力要求を受信したストレージ制御ユニット800に接続された記憶ボリウムに対するものである場合には、自SAVOL用領域836Aの割り当てを増やすようにすることができる。これによりホスト計算機200からのデータ入出力要求に対するローカルキャッシュ830のキャッシュヒット率が上がることが期待できるので、ストレージシステム100の性能向上を図ることができる。キャッシュ領域管理テーブル833の内容の変更は、例えばストレージシステム100の保守管理を行うオペレータにより、管理端末160から行うようにすることができる。
【0052】
キャッシュデータ管理テーブル834は、データ領域831に記憶されているデータを管理するためのテーブルである。キャッシュデータ管理テーブル834は、データのデータブロック毎に、”Valid”、”Dirty”、”Address”、”Lock”、”Owner”、”Pointer”の欄を有する。
【0053】
なおデータ領域831に記憶されるデータブロックは、どのような単位で記憶されるようにすることも可能である。ディスクドライブ121のブロック単位やシリンダの単位、あるいはトラックの単位等に限定されるものではない。またデータブロックのサイズは可変長とすることもできるし、固定長とすることもできる。
【0054】
”Valid”欄は、当該データブロックのデータが有効か否かを示す。ホスト計算機200からデータの読み出し要求があった場合に、当該データをデータ領域831に見つけることができても、当該データが有効でなければキャッシュアクセスはミスヒットとなる。
”Dirty”欄は、記憶ボリウムからローカルキャッシュ830に読み出されたデータがホスト計算機200により書き換えられているか否かを示す。書き換えられている場合は、当該データをディスクドライブ121へ書き戻しておく必要がある。書き換えられていなければ、当該データをディスクドライブ121へ書き戻す必要はない。
”Address”欄は、ローカルキャッシュ830に記憶されるデータの記憶位置を示す。
【0055】
”Lock”欄は、クラスタを構成するストレージ制御ユニット800のローカルキャッシュ830間で相互に記憶されている当該データに対する処理を禁止するか否かを示すための欄である。ローカルキャッシュ830は、クラスタを構成する相手のローカルキャッシュ830とデータ2重化用の通信路であるペア間接続部850で接続されており、一方のローカルキャッシュ830に記憶されているデータが更新された場合は、ペアを組んでいるもう一方のローカルキャッシュ830にも2重化して記憶される。しかし2重化を完全同時に行うことはできないため、短時間ではあるが相互のローカルキャッシュ830に記憶されるデータに不一致が生じる。データが不一致の間に、例えば片方のローカルキャッシュ830から当該データがリプレース(グローバルキャッシュ600やディスクドライブ121への書き戻し)されてしまうと、誤ったデータがグローバルキャッシュ600やディスクドライブ121に記憶されることも起こりうる。このような問題を発生させないために”Lock”欄が設けられ、Lockが有効な間は当該データに対する更新やリプレース等の制御は禁止される。
【0056】
”Owner”欄は、ペアを組むローカルキャッシュ830のどちらが当該データを所有しているのかを示す。ペア間では相互にデータを2重化して記憶し合っているため、どちらのデータであるのかを管理するために”Owner”欄が設けられている。
”Pointer”欄は、データ領域831に記憶されるデータと制御領域832に記憶されるキャッシュデータ管理テーブル834の対応付けを管理するための欄である。
【0057】
ボリウム管理テーブル835は、ホスト計算機200からのデータ入出力要求の対象となっている記憶ボリウムに対する入出力制御を行うユニットを特定するための情報を記憶するためのテーブルである。ボリウム管理テーブル835は、”CA No”欄、”path No”欄、”DA No”欄、”VolumeNo”欄、”drive No”欄、”config”欄、”AccessMethod”欄を有する。
【0058】
”CA No”欄は、ディスク制御装置110に装着されているストレージ制御ユニット800のホストIF制御部810、またはチャネル制御ユニット300のホストIF制御部310に付与された識別番号を記憶するための欄である。図13の例では、CA00及びCA01が”CA No”欄に記載されている。CA00及びCA01は、図2において示されるように、相互にクラスタを組むストレージ制御ユニット800のホストIF制御部810である。
【0059】
”path No”欄は、ホスト計算機200からアクセス可能な論理ボリウム122を特定したパスに対して付与される識別番号を記憶するための欄である。本実施の形態においては、パスはストレージ制御ユニット800やチャネル制御ユニット300毎に付与される。従って同じパス番号でもユニットが異なれば別のパスである。パス番号をストレージシステム100全体でユニークな番号として付与するようにすることもできる。
【0060】
”DA No”欄は、ディスク制御装置110に装着されているストレージ制御ユニット800のディスクIF制御部860、またはディスク制御ユニット400のディスクIF制御部460に付与された識別番号を記憶するための欄である。図13の例では、DA00及びDA01、DA02及びDA03、DA04及びDA05が”DA No”欄に記載されている。DA00及びDA01は、CA00及びCA01で識別されるホストIF制御部810を含むストレージ制御ユニット800と同一のストレージ制御ユニット800のディスクIF制御部860である。DA02及びDA03は、CA00及びCA01で識別されるホストIF制御部810を含むストレージ制御ユニット800とは異なるストレージ制御ユニット800のディスクIF制御部860である。DA04及びDA05は、CA00及びCA01で識別されるホストIF制御部810を含むストレージ制御ユニット800とは異なるディスク制御ユニット400のディスクIF制御部460である。このように、CA00、CA01で受信したホスト計算機200からのデータ入出力要求は、自己のストレージ制御ユニット800のディスクIF制御部860に接続される記憶ボリウムに対してのみならず、他のストレージ制御ユニット800やディスク制御ユニット400のディスクIF制御部860、460に接続される記憶ボリウムに対しても行われる。
【0061】
”Volume No”欄は、”DA No”欄で指定されるディスクIF制御部860、460に接続されている論理ボリウム122を特定するための欄である。
”drive No”欄は、”DA No”欄で指定されるディスクIF制御部860、460に接続されているディスクドライブ121を特定するための欄である。
”config”欄は、”drive No”欄で特定されるディスクドライブ121上に設定されているRAID(Redundant Arrays of Inexpensive Disks)の構成を記憶するための欄である。
【0062】
”AccessMethod”欄は、ホスト計算機200から受信したデータ入出力要求の対象となっている記憶ボリウムに対する入出力制御を行う方法を特定するための欄である。「direct」と記載されている場合は、ホスト計算機200から受信したデータ入出力要求に指定されている当該データの記憶アドレスに基づき、当該データの入出力制御を行う。「message」と記載されている場合は、”DA No”欄で特定されるディスクIF制御部860、460を含むストレージ制御ユニット800またはディスク制御ユニット400に対して、ホスト計算機200から受信したデータ入出力要求を送信する。そして当該ストレージ制御ユニット800またはディスク制御ユニット400により入出力制御が行われる。
【0063】
このようにボリウム管理テーブル835を用いることにより、異種ユニットが混在して装着されているディスク制御装置110においても、ホスト計算機200からのデータ入出力要求に対するデータ入出力制御を行うことができる。
なお、ボリウム管理テーブル835にはディスクドライブ121の領域を指定するためのアドレス情報を記憶するための欄を設けるようにすることもできる。
【0064】
===グローバルキャッシュ===
次に、グローバルキャッシュ600の構成を示すブロック図を図14に示す。またグローバルキャッシュ600の外観構成を示す図を図6に示す。
グローバルキャッシュ600は、ストレージ制御ユニット800やチャネル制御ユニット300、ディスク制御ユニット400と同様ディスク制御装置110が備える装着部130に設けられたスロットに挿入することにより、ディスク制御装置110に装着される。グローバルキャッシュ600がディスク制御装置110の装着部130に挿入される様子を図7に示す。グローバルキャッシュ600には、グローバルキャッシュ600とディスク制御装置110とを電気的に接続するためのコネクタ670が設けられている。コネクタ670はディスク制御装置110の装着部130の奥手方向正面部に設けられた相手側コネクタと嵌合する。前述したように、グローバルキャッシュ600は他のユニットとサイズやコネクタの位置、コネクタのピン配列等に互換性をもたせるようにしている。そのため、ディスク制御装置110の各スロットには、ストレージ制御ユニット800、チャネル制御ユニット300、ディスク制御ユニット400、グローバルキャッシュ600を混在させて装着するようにできる。
【0065】
グローバルキャッシュ600は、データ領域601と制御領域602とを有している。データ領域601は、ホスト計算機200と記憶ボリウムとの間で授受されるデータを記憶するための記憶領域である。制御領域602は、データ領域601に記憶されているデータを管理するための記憶領域である。
データ領域601は、ダイレクトアクセス用データ領域606と、通信バッファ607を有している。
ダイレクトアクセス用データ領域606は、ホスト計算機200と当該記憶ボリウムとの間で授受されるデータを記憶するための領域である。
【0066】
通信バッファ607は、ストレージ制御ユニット800間でデータ入出力要求及びデータを授受する際に使用される記憶領域である。なおストレージ制御ユニット800とディスク制御ユニット400との間でデータ入出力要求及びデータを授受する際に使用するようにすることもできる。またローカルキャッシュ830に通信バッファ837が設けられる場合には、グローバルキャッシュ600に通信バッファ607を設けない様にすることもできる。逆にグローバルキャッシュ600に通信バッファ607が設けられる場合には、ローカルキャッシュ830に通信バッファ837を設けない様にすることもできる。
【0067】
制御領域602には、キャッシュ領域管理テーブル603、キャッシュデータ管理テーブル604、ボリウム管理テーブル605が記憶されている。図14に示す例では、一つのキャッシュ領域管理テーブル603と、一つのキャッシュデータ管理テーブル604と、一つのボリウム管理テーブル605とが記載されているが、これらのテーブルは適宜複数に分割されているようにすることもできる。
【0068】
キャッシュ領域管理テーブル603は、データ領域601に設けられるダイレクトアクセス用データ領域606、及び通信バッファ607のそれぞれの記憶領域を特定するための情報を記憶したテーブルである。記憶領域を特定するための情報は例えばグローバルキャッシュ600のアドレス情報である。図14の例では、データ領域601に設定されたアドレスのうち、”00000000番地”から”AFFFFFFF番地”までがダイレクトアクセス用データ領域606であり、”F0000000番地”から”FFFFFFFF番地”までが通信バッファ607であることが示されている。キャッシュ領域管理テーブル603の内容の変更は、例えばストレージシステム100の保守管理を行うオペレータにより、管理端末160から行うようにすることができる。これによりホスト計算機200からのデータ入出力要求の特性に応じたグローバルキャッシュ600設定が行えるので、ストレージシステム100の性能向上を図ることができる。
【0069】
キャッシュデータ管理テーブル604は、データ領域601に記憶されているデータを管理するためのテーブルである。キャッシュデータ管理テーブル604の基本的な構成はローカルキャッシュ830のキャッシュデータ管理テーブル834の場合と同様であるが、”Lock”欄と”Owner”欄の表す意味が異なる。
【0070】
”Lock”欄は、グローバルキャッシュ600上の当該データがローカルキャッシュ830に読み出されており、ホスト計算機200により更新される可能性があるため、他のローカルキャッシュ830への読み出しは禁止されている状態であることを表す。複数のローカルキャッシュ830にデータの読み出しを許してしまうと、それぞれ独立にホスト計算機200によって更新される可能性があり、データの一致性が保証できなくなるためである。
”Owner”欄は、当該データを読み出し中のローカルキャッシュ830を表す。
【0071】
グローバルキャッシュ600は内部接続部500に接続されており、2つのグローバルキャッシュ600がペアとなってデータの2重化を行っている。グローバルキャッシュ600間のデータの2重化は、内部接続部500を介して相互にデータを転送することにより実現される。
グローバルキャッシュ600におけるボリウム管理テーブル605は、ローカルキャッシュ830のボリウム管理テーブル835が複製されたものである。ローカルキャッシュ830が複数ある場合には、各ローカルキャッシュ830のボリウム管理テーブルの複製の結合である。
【0072】
これにより、例えばあるストレージ制御ユニット800がホスト計算機200からデータ入出力要求を受信した場合に、当該ストレージ制御ユニット800のローカルキャッシュ830を参照しても、データ入出力要求の対象となっている記憶ボリウムに対するユニットが特定できなかった場合に、グローバルキャッシュ600のボリウム管理テーブル605を参照することにより記憶ボリウムに対する入出力制御を行うユニットを特定することができる。
【0073】
===内部接続部===
次に、本実施の形態に係る内部接続部500の構成を示すブロック図を図15に示す。
内部接続部500は、ストレージ制御ユニット800、チャネル制御ユニット300、ディスク制御ユニット400、グローバルキャッシュ600を相互に結合するためのスイッチである。
図15には4入力4出力の場合を示したが、実際の入出力数はディスク制御装置110に装着可能なユニットの数に応じた数となる。
【0074】
内部接続部500は、受信部510、送信部520、制御部530を備えている。受信部510は、内部接続部500に入力されてきたデータを適宜バッファ511に蓄えつつ、制御部530からの指令に従って、指定された送信部520のバッファ521へデータを転送する。送信部520はバッファ521に格納されたデータを順次出力する。図15では内部接続部500としてクロスバスイッチの構成をとった場合を示したが、クロスバスイッチの構成に限られることはなく、様々な構成をとることが可能である。例えば受信部510と送信部520の間を多段のスイッチ回路で接続するようにすることもできる。
【0075】
===管理端末===
次に、本実施の形態に係る管理端末160の構成を示すブロック図を図16に示す。
管理端末160は、CPU161、メモリ162、ポート163、記録媒体読取装置164、入力装置165、出力装置166、記憶装置168を備える。
【0076】
CPU161は管理端末160の全体の制御を司るもので、記憶装置168に格納された管理プログラム169を適宜メモリ162に読み出して実行することによりストレージシステム100の保守管理のための各種機能を実現する。例えばディスクドライブ121上への論理ボリウム122の設定や、ストレージ制御ユニット800のホストIF制御部810において実行されるプログラム813のインストール等を行うことができる。記録媒体読取装置164は、記録媒体167に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ162や記憶装置168に格納される。従って、例えば記録媒体167に記録された管理プログラム169やプログラム813等を、記録媒体読取装置164を用いて上記記録媒体167から読み取って、メモリ162や記憶装置168に格納するようにすることができる。記録媒体167としてはフレキシブルディスクやCD−ROM、DVD−ROM、半導体メモリ等を用いることができる。記録媒体読取装置164は管理端末160に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。記憶装置168には管理プログラム169が記憶されている。記憶装置168は、例えばハードディスク装置や半導体記憶装置等である。入力装置165はオペレータ等による管理端末160へのデータ入力等のために用いられる。入力装置165としては例えばキーボードやマウス等が用いられる。出力装置166は情報を外部に出力するための装置である。出力装置166としては例えばディスプレイやプリンタ等が用いられる。ポート163はディスク制御装置110と通信を行うための装置である。また図示されていない他のコンピュータとの間で通信を行うために使用することもできる。この場合、例えばプログラム813をポート163を介して他のコンピュータから受信して、ストレージ制御ユニット800にインストールするようにすることもできる。
【0077】
===コントローラの増設===
上述したように、本実施の形態に係るストレージシステム100においては、ストレージ制御ユニット800、チャネル制御ユニット300、ディスク制御ユニット400、グローバルキャッシュ600をディスク制御装置110に混在させて装着させることが可能である。これにより、顧客毎に異なるストレージシステム100の構成に対する要求に柔軟に対応することが可能となる。例えば、ストレージシステム100の導入時には少数のディスクドライブ121とストレージ制御ユニット800等により小規模のストレージシステム100を構成し、顧客の事業の拡大等の際にストレージ制御ユニット800や、チャネル制御ユニット300、ディスク制御ユニット400、グローバルキャッシュ600を追加するようにする。これにより顧客の要望に応じてストレージシステム100の規模拡大を行うことができる。その様子を図17に示す。またストレージシステム100の規模拡大前の導入時のシステム構成図を図18に示す。
【0078】
図18に示す例では、導入時のディスク制御装置110は、クラスタを組むストレージ制御ユニット800と、内部接続部500と、管理端末160とにより構成されている。図18に示すディスク制御装置110において、導入時から高価な内部接続部500が用いられているのは、後から内部接続部500を追加保守するのは困難であるほか、ディスク制御装置110を大掛かりに分解した後の再組み立てが必要となり事実上不可能なためである。しかし図19に示すように導入時には内部接続部500を設けないように構成するようにすることも可能である。しかしながらこの場合、例えばグローバルキャッシュ600を増設する場合には、図20に示すように内部接続部500の増設も必要となる。
【0079】
また、ストレージシステム100の導入をより容易に行うことができるように、初期コントローラ111を採用するようにすることもできる。その様子を図21乃至図23に示す。
【0080】
図21に示すように、導入時には初期コントローラ111と少数のディスクドライブ121で運用を開始し、その後のシステム拡大時に装着部130にストレージ制御ユニット800やディスク制御ユニット400等を増設するようにすることもできる。初期コントローラ111は、図22に示すように一つの筐体のなかにストレージ制御ユニット(SA)800や電源112、ファン113が収納されたものであり、モジュラー型コントローラ111として提供されるものである。これにより、初期コントローラ111と必要な容量のディスクドライブ121を導入時に用意することにより、ストレージシステム100の運用を開始することができる。
【0081】
図21、図22に示す初期コントローラ111を用いた場合のストレージシステム100のシステム構成を図23に示す。図23に示すようにこの場合は、ストレージ制御ユニット800はモジュラー型コントローラ111すなわち初期コントローラ111として提供される。この場合ストレージシステム100の最大構成を想定したコストの高い内部接続部500を併せ持つ必要はない。すなわち一体型コントローラ111を導入する必要は無い。このため低コストでストレージシステム100を実現できる効果がある。またグローバルキャッシュ600やディスク制御ユニット400は装着部130に挿入される一体型コントローラとして提供される。この場合内部接続部500と初期コントローラ111間は、ケーブルにより接続されることになる。
【0082】
また図24に示すように、ストレージシステム100の導入時に、初期コントローラ111の他に、モジュール化されたSW(Switch)を装着するようにすることができる。SWは内部接続部500を構成する装置である。この場合のシステム構成図を図25に示す。図25に示すように、この場合の内部接続部500は、破線で囲んだように、モジュール化されて装着されたSWと、一体型コントローラ111の導入時に追加されたSWとの組み合わせにより構成される。そして上記各SW間やSWとストレージ制御ユニット800間はケーブルにより接続されることになる。
【0083】
===データ入出力処理の流れ===
次に、本実施の形態に係るストレージシステム100がホスト計算機200からデータ入出力要求を受信した場合に行われるデータ入出力処理の流れについて説明する。なお本実施の形態に係るデータ入出力処理は、各種の動作を行うためのコードから構成される制御プログラム813、863、313、463を、それぞれプロセッサ811、861、311、461が実行することにより実現される。
【0084】
まず本実施の形態に係るストレージシステム100において、グローバルキャッシュ600が増設された場合に行われる、ストレージ制御ユニット800、チャネル制御ユニット300のローカルキャッシュ830、330のボリウム管理テーブル835、335のグローバルキャッシュ600への移行処理の流れについて、図26を参照しながら説明する。この処理は、管理端末160からの指示により、ストレージ制御ユニット800やチャネル制御ユニット300のプロセッサ811、311により行われる。
【0085】
まずグローバルキャッシュ600にボリウム管理テーブル605を作成するための領域を確保する(S1000)。次にローカルキャッシュ830、330のボリウム管理テーブル835、335をロックする(S1001)。そしてローカルキャッシュ830、330のボリウム管理テーブル835、335の複製をグローバルキャッシュ600に書き込む(S1002)。書き込みが終了したらローカルキャッシュ830、330のボリウム管理テーブル835,335のロックを解放して、処理を終了する(S1003)。なおS1000において確保する領域は、少なくともコピーするボリウム管理テーブル835、335よりも大きくする。またロックする単位はコピー単位とすることもできる。
【0086】
これにより、例えばあるストレージ制御ユニット800がホスト計算機200からデータ入出力要求を受信した場合に、当該ストレージ制御ユニット800のローカルキャッシュ830を参照しても、データ入出力要求の対象となっている記憶ボリウムに対するユニットが特定できなかった場合に、グローバルキャッシュ600のボリウム管理テーブル605を参照することにより記憶ボリウムに対する入出力制御を行うユニットを特定することができる。
【0087】
次に新規に記憶ボリウムが設定された場合に行われる、ボリウム管理テーブル835、335の更新処理について図27を参照しながら説明する。
まず、新規に設定された記憶ボリウムに対する入出力制御を行うユニットの種類が、ストレージ制御ユニット800であるかどうかの判定を行う(S2000)。ストレージ制御ユニット800である場合には、ローカルキャッシュ830のボリウム管理テーブル835をロックする(S2001)。そして新規に追加された記憶ボリウムに関する情報をボリウム管理テーブル835に書き込む(S2002)。そして書き込みが終了したらローカルキャッシュ830のボリウム管理テーブル835のロックを解放する(S2003)。続いてグローバルキャッシュ600のボリウム管理テーブル605に対してもローカルキャッシュ830のボリウム管理テーブル835と同様の書き込みを行って処理を終了する(S2004乃至S2006)。なおS2000において、ストレージ制御ユニット800でない場合には、グローバルキャッシュ600のボリウム管理テーブル605に対してのみ処理を行う。
【0088】
次に、ホスト計算機200から本実施例に係るストレージシステム100に対してデータアクセス要求があった場合の処理の流れを示すフローチャートを図28に示す。
ホスト計算機200からストレージ制御ユニット800またはチャネル制御ユニット300にデータのアクセス要求があると(ステップS3000)、ホストIF制御部810、310のプロセッサ811、311はアクセス要求の解析を行う。解析によりアクセスの種類(リード要求、ライト要求)やアクセスするデータのアドレス等を判別する。
【0089】
続いてプロセッサ811、311は、アクセスの種類に応じて、図38に示すコマンドをキャッシュ制御部820、320のキャッシュ制御部IF回路821、321に送信する。リード要求の場合は図38Dのコマンドが送信され、ライト要求の場合は図38Aのコマンドと図38Bのコマンド(データ)が送信される。なお、図38に示すコマンドのフォーマットを図37に示す。図37に示すように図38に示すコマンドはヘッダー部とペイロード部を備えている。ヘッダ部は転送先アドレス、転送元アドレス、転送長、パケット種別を備えている。パケットの種別は、図38に示すようにWRITE、READ、データ、ステータス情報である。
【0090】
キャッシュ制御部IF回路821、321はプロセッサ811、311から送信されたコマンドに従い、ローカルキャッシュ830、330の制御領域832、332に記録されているボリウム管理テーブル835を参照して、データ入出力要求の対象となっている記憶ボリウムに対する入出力制御を行うユニットを特定する。そしてボリウム管理テーブル835の”AccessMethod”欄を参照して、当該ユニットに対するデータアクセス方法を特定する(S3001)。「direct」と記載されていた場合には、S3002に進む。
【0091】
S3002において、キャッシュ制御部IF回路821、321はプロセッサ811、311から送信されたコマンドに従い、ローカルキャッシュ830、330の制御領域822、332に記録されているキャッシュデータ管理テーブル834、334を検索して、コマンドに指定されたアドレスのデータがローカルキャッシュ830、330に記憶されているかどうかを確認する(ステップS3002)。
【0092】
当該データがローカルキャッシュ830、330にある(ヒット)場合は(S3002)、ローカルキャッシュ830、330に対するリードライト処理を行い(S3007)、ホスト計算機200へ完了報告を行う(S3008)。
【0093】
S3002において行われる処理を図29に示す。まずS4000においてホスト計算機200からのデータ入出力要求の対象となっている記憶ボリウムに対する入出力制御を行うユニットを判定する(S4000)。自ユニット配下の記憶ボリウムに対するものである場合には、自ボリウム用領域(第1の記憶領域)を対象にヒットミスの判定を行う(S4001)。ミスヒットの場合はグローバルキャッシュ600または記憶ボリウムから当該データをステージングする(S4002、S4003)。ステージングとは下位階層の記憶装置からデータを読み出してくることをいう。一方S4000において、他ユニット配下の記憶ボリウムに対するものである場合には、他ボリウム用領域(第2の記憶領域)を対象にヒットミスの判定を行う(S4004)。ミスヒットの場合はグローバルキャッシュ600または記憶ボリウムから当該データをステージングする(S4005、S3003)。
【0094】
またS3007において行われるローカルキャッシュ830、330に対するリードライト処理の流れについて図33を参照しながら説明する。
ホスト計算機200からのアクセス要求がリード要求の場合であれば、キャッシュ制御部IF回路821、321は当該データをローカルキャッシュ830、330から読み出してホスト計算機200へ送信する(S8000、S8001)。ローカルキャッシュ830、330から読み出し完了の報告(ACK)を受けると、キャッシュ制御部IF回路821、321はプロセッサ811、311に対してステータスを送信する。送信されるステータスは図38Fで示されるコマンドである。最後にプロセッサ811、311はホスト計算機200にデータの読み出し完了報告を行って(S3008)処理を終了する。以上のリード要求の処理をフローチャートで表したものを図40に示す。
【0095】
一方、ホスト計算機200からのアクセス要求がライト要求の場合は、キャッシュ制御部IF回路821、321は、ホスト計算機200から送信されバッファメモリ822、322に格納されている書き込みデータをローカルキャッシュ830、330に書き込む(S8002)。ローカルキャッシュ830、330への書き込み処理の詳細は図34に示される。すなわち、まずキャッシュ制御部IF回路821、321は、ペアとなっている相手側のキャッシュ制御部IF回路821、321に対してローカルキャッシュ830、330をロックするように要求を出す。相手からロック確保の応答を受け取り、自他ローカルキャッシュ330のロックを確保すると(S9000)、キャッシュ制御部IF回路821、321は、バッファメモリ822、322に格納されている書き込みデータを、ペア間接続部850、350を介して相手側のバッファメモリ822、322に送信する。そして相手側のキャッシュ制御部IF回路821、321により相手側のローカルキャッシュ830、330に書き込みが行われる(S9001)。続いて自分側のローカルキャッシュ830、330にデータの書き込みを行う(S9002)。なお、データをローカルキャッシュ830、330に書き込む際にはキャッシュデータ管理テーブル834、334の”Dirty”欄にチェックを入れる。相互のローカルキャッシュ830、330にデータの書き込みが完了すると、ロックを解除した後、ホスト計算機200へ完了報告を送信し、処理を終了する(S9003)。以上のライト要求の処理をフローチャートで表したものを図40に示す。
【0096】
なお本実施例においては、ローカルキャッシュ830、330のキャッシュデータ管理テーブル834、334の検索や、ローカルキャッシュ830、330からのデータの読み出し等の制御は、キャッシュ制御部IF回路821、321が行う場合を例に説明したが、プロセッサ811、311が行う態様とすることも可能である。
【0097】
また詳細は後述するが、グローバルキャッシュ600へのデータアクセス制御についても、キャッシュ制御部IF回路821、321が行う態様に限らず、プロセッサ811、311が行う態様とすることも可能である。
【0098】
次に、ホスト計算機200からのデータ入出力要求を受けたが、ローカルキャッシュ830、330に当該データが無い場合、すなわちキャッシュミスヒットの場合の処理について説明する。
この場合はグローバルキャッシュ600に当該データがあるかどうかを確認する(S3003)。まずキャッシュ制御部IF回路821、321はプロセッサ811、311から送信されたコマンドに指定された当該データのアドレスを元に、内部接続部500を介してグローバルキャッシュ600にコマンドを送信する。そしてグローバルキャッシュ600の制御領域602に記録されているキャッシュデータ管理テーブル604検索して、当該データがグローバルキャッシュ600に記憶されているかどうかを確認する。
【0099】
当該データがグローバルキャッシュ600に無ければ、ボリウム管理テーブル605を参照して、データ入出力要求の対象となっている記憶ボリウムに対する入出力制御を行うユニットに対してコマンドを送信する。そして当該データを記憶ボリウムから読み出して、グローバルキャッシュ600に格納させる(S3004)。グローバルキャッシュ600に格納されたデータは、内部接続部500を介してもう1つのグローバルキャッシュ600へも送られ、データの2重化が行われる。
【0100】
なおここで、記憶ボリウムからグローバルキャッシュ600へ読み出したデータをいち早くホスト計算機200へ届けるための処理を優先させ、グローバルキャッシュ600上でのデータの2重化を後回しにする態様とすることも可能である。かかるグローバルキャッシュ600上のデータは記憶ボリウムにも記憶されているので、グローバルキャッシュ600上で消失しても問題は生じないからである。当該データが更新された場合に2重化を行うようにすることでデータの信頼性は確保できる。
【0101】
続いて当該データをグローバルキャッシュ600上でロックを掛ける(S3005)。すなわち、グローバルキャッシュ600上の当該データを他のローカルキャッシュ830、330から読み出されないようにする。その処理の流れを図30のフローチャートに示す。
当該データがすでに他のローカルキャッシュ830、330に読み出されており、ロックが掛けられている場合には(S5000)、当該ローカルキャッシュ830、330に対してロックを解放するように要求する(S5001)。どのローカルキャッシュ830、330がロックを掛けているのかは、キャッシュデータ管理テーブル604の”Owner”欄で知ることができる。ロックが解放されるのを待った後(S5002)、ロックを掛け、他のローカルキャッシュ830、330から読み出されないようにしてから処理を終了する(S5003)。他のローカルキャッシュ830、330にロックが掛けられていなければ、直ちにロックを掛けて処理を終了する(S5000、S5003)。
【0102】
続いてグローバルキャッシュ600上に格納された当該データをローカルキャッシュ830、330へ読み出す処理を行う(S3006)。その処理の流れを図31のフローチャートに示す。
まずグローバルキャッシュ600からローカルキャッシュ830、330にデータを転送する前に、ローカルキャッシュ830、330上に当該データを書き込むためのキューの空きスロットがあるかどうかを調べる(S6000)。ここでスロットとはキューを構成する個々の記憶領域を言う。なおこの処理は、ローカルキャッシュ830、330上に当該データを書き込むための空き領域があるかどうかを調べるようにすることもできる。この場合は、キャッシュデータ管理テーブル834、334の”Valid”欄を検索して無効なデータの総容量がグローバルキャッシュ600から転送されるデータの総容量よりも大きいかどうかをチェックする。
【0103】
空きスロットがある場合には、まずキャッシュ制御部IF回路821、321は、ペアとなっている相手側のキャッシュ制御部IF回路821、321に対してローカルキャッシュ830、330をロックするように要求を出してロックを確保する(S6002)。次にグローバルキャッシュ600からデータをバッファメモリ822、322に格納し、ペア間接続部850、350を介して相手側のバッファメモリ822、322にデータを送信するとともに、自分のローカルキャッシュ830、330にもデータの書き込みを行う(S6003、S6004)。相互のローカルキャッシュ830、330にデータの書き込みが完了すると、ロックを解除して処理を終了する(S6005)。この後の処理はホスト計算機200からのデータ入出力要求に応じて、上述した通りに行われる(S3007、S3008)。
【0104】
なお、グローバルキャッシュ600からローカルキャッシュ830、330にデータを転送するための空きスロットがない場合は、ローカルキャッシュ830、330上のいずれかのデータをグローバルキャッシュ600に書き戻すことにより空きスロットを確保する処理が必要になる(S6001)。その処理の流れを図32のフローチャートに示す。
まずキャッシュ制御部IF回路821、321は、ペアとなっている相手側のキャッシュ制御部IF回路821、321に対してローカルキャッシュ830、330をロックするように要求を出してロックを確保する(S7000)。続いて所定のアルゴリズムにより特定したグローバルキャッシュ600へ書き出されるデータのDirtyビットをキャッシュデータ管理テーブル834、334により調べる(S7001)。所定のアルゴリズムとしては、最も長期間アクセスのなかったデータをキャッシュから書き出すLRU(Least Recently Used)方式が一般的であるが、他のアルゴリズムとすることもできる。
【0105】
Dirtyビットがセットされていなければグローバルキャッシュ600へデータを書き出す必要はないが、Dirtyビットがセットされている場合はグローバルキャッシュ600へデータを書き出す必要があるので、グローバルキャッシュ600に当該データを書き込むための空きスロットがあるかどうかを調べる(S7002)。グローバルキャッシュ600に空きスロットがない場合はグローバルキャッシュ600のデータを記憶ボリウムへ書き出して、空きスロットを確保する(S7003)。
【0106】
続いてグローバルキャッシュ600上の空きスロットにローカルキャッシュ830、330からデータを書き出す(S7004)。書き出しは2つのグローバルキャッシュ600に対して行われる。グローバルキャッシュ600にデータが書き出された後は、もはや当該データはDirtyではないので、Dirtyビットをリセットする(S7005)。続いて当該データが記憶されていたローカルキャッシュ830、330上のスロットを解放する必要がある場合には(S7006)、当該データのValidビットをリセットする(S7007)。
【0107】
そしてペアとなっている相手のローカルキャッシュ830、330に対して当該データのグローバルキャッシュ600への書き出しが完了した旨の報告を行う(S7008)。この報告をうけた相手側のローカルキャッシュ830、330では、キャッシュデータ管理テーブル834、334のValidビットがリセットされる。最後にローカルキャッシュ830、330のロックを解放して(S7009)処理を終了する。
【0108】
一方、S3001においてボリウム管理テーブル825、325の”AccessMethod”欄に「message」と記載されていた場合には、S3009に進む。S3009の処理の流れを図35に示す。
【0109】
まずキャッシュ制御部IF回路821、321は、メッセージアクセス用の領域(通信バッファ)を確保する(S10000)。すなわち、データ入出力要求の対象となっている記憶ボリウムに対する入出力制御を行うユニットのローカルキャッシュ830、330の通信バッファ837の空き領域を確保する。
【0110】
ホスト計算機200からのデータ入出力要求がリード要求の場合には、上記領域を確保した通信バッファ837に当該データ入出力要求を書きこむ(S10001、S10003)。データ入出力要求の書きこみは、図39に示すメッセージにより行われる。図39Aに示すメッセージにより、メッセージコマンドであることが示される。そして図39Bに示すメッセージのメッセージデータ欄に当該データ入出力要求が挿入されて、上記通信バッファ837に書きこまれる。データ入出力制御の終了通知及び読み出されたデータを受け取ったら(S10004)、ホスト計算機200に当該データを送信する(S10006)。
【0111】
一方、ホスト計算機200からのデータ入出力要求がライト要求の場合には、上記領域を確保した通信バッファ837に当該データ入出力要求及び書き込みデータを書きこむ(S10001乃至S10003)。そして通信バッファ837にデータ入出力制御の終了通知が書き込まれたら(S10004)、ホスト計算機200に当該終了通知を送信して処理を終了する。
【0112】
自己の通信バッファ837にメッセージを書き込まれたストレージ制御ユニット800により行われる処理を図36に示す。
まず、キャッシュ制御部IF回路821、321は、自己の通信バッファ837にメッセージを書き込まれたことを検知すると(S11001)、通信バッファ837からデータ入出力要求を読み出す(S11002)。次に当該データ入出力要求の対象となっているデータがローカルキャッシュ830に記憶されているか否かをチェックする(S11003)。ミスヒットの場合は、グローバルキャッシュ600または記憶ボリウムから当該データを読み出してきてローカルキャッシュ830に記憶する(S11004)。そしてデータ入出力要求がリード要求の場合は、当該読み出したデータをメッセージ送信元の通信バッファ837に書き込む(S11006)。またデータ入出力要求がライト要求の場合は、当該データ入出力要求に従ってデータをローカルキャッシュ830へ書き込む(S11007)。この処理は図34に示した処理と同様である。そして書き込み完了通知を相手側の通信バッファ837に書き込む。
【0113】
なお、通信バッファ837を介してストレージ制御ユニット800間でメッセージの授受を行う際の処理の流れを図41に示す。
通信バッファ837を介してデータ入出力要求の授受を行うようにすることにより、各ストレージ制御ユニット800は、他のストレージ制御ユニット800の処理に依存せずに、当該他のストレージ制御ユニットに接続されている記憶ボリウムのデータに対するデータ入出力制御を行うことが可能となる。
【0114】
次に、ストレージシステム100の導入時にストレージ制御ユニット800により運用を行っていたストレージシステム100において、ディスク制御ユニット400が増設された場合に行うことができる、記憶ボリウムの変更処理について図42を参照しながら説明する。
【0115】
この処理は、ストレージ制御ユニット800に接続されている記憶ボリウムに記憶されているデータの複製を、ディスク制御ユニット400に接続されている記憶ボリウムに書き込むことにより、それ以降のホスト計算機200からのデータ入出力要求に対する入出力制御を当該ディスク制御ユニット400に接続された記憶ボリウムに対して行うようにするものである。このようにすることにより、ストレージシステム100の構成変更の柔軟性を高めることができるようになる。例えば、ストレージシステム100の導入時には初期コントローラ111により運用していた顧客が、その後のストレージシステム100の規模拡大時に、チャネル制御ユニット300とディスク制御ユニット400とを用いた、拡張性の高いシステム構成に変更するようにすることが出来るようになる。
【0116】
この処理は、管理端末160からの指示により、ストレージ制御ユニット800やチャネル制御ユニット300のプロセッサ811により行われる。
まずプロセッサ811は、ローカルキャッシュ830のボリウム管理テーブル835、及びグローバルキャッシュ600のボリウム管理テーブル605をロックする(S16000、S16001)。そして、ローカルキャッシュ830のボリウム管理テーブル835の”DA No”欄、”volume No”欄、”drive No”欄を、ストレージ制御ユニット800に接続されている記憶ボリウムに関する情報から、ディスク制御ユニット400に接続されている記憶ボリウムに関する情報に変更する(S16002)。またグローバルキャッシュ600のボリウム管理テーブル605の”DA No”欄、”volume No”欄、”drive No”欄を、ストレージ制御ユニット800に接続されている記憶ボリウムに関する情報から、ディスク制御ユニット400に接続されている記憶ボリウムに関する情報に変更する(S16003)。そしてローカルキャッシュ830のボリウム管理テーブル835、及びグローバルキャッシュ600のボリウム管理テーブル605をロックを解放する(S16004、S16005)。
【0117】
これにより、ホスト計算機200からのデータ入出力要求に対する入出力制御を、ストレージ制御ユニット800に接続された記憶ボリウムから、ディスク制御ユニット400に接続された記憶ボリウムに対して行うようにすることができるようになる。
【0118】
以上のように本実施の形態に係るディスク制御装置110においては、ストレージ制御ユニット800や、チャネル制御ユニット300、ディスク制御ユニット400、グローバルキャッシュ600のいずれも装着することができるので、顧客ニーズに応じた柔軟性の高いストレージシステム100構成することができる。これは、各ユニットのサイズやコネクタの位置、コネクタのピン配列等に互換性をもたせるようにしているからである。またボリウム管理テーブル835を設けることにより、異種ユニットが混在して装着されているディスク制御装置110においても、ホスト計算機200から送信されるデータ入出力要求に対して、各ユニットにおいてデータ入出力制御を行うことができるからである。
【0119】
また本実施の形態に係るディスク制御装置110においては、キャッシュ領域管理テーブル833を設けることにより、ストレージシステム100の性能向上を図ることができる。すなわちキャッシュ領域管理テーブル833の内容を変更することにより、ホスト計算機200から受信するデータ入出力要求の特性に適合した、キャッシュ領域を確保することが可能となる。これにより例えば、ホスト計算機200から受信したデータ入出力要求の多くが、当該データ入出力要求を受信したストレージ制御ユニット800に接続された記憶ボリウムに対するものである場合には、自SAVOL用領域836Aの割り当てを増やすようにすることにより、ホスト計算機200からのデータ入出力要求に対するキャッシュヒット率を増加させることができ、ストレージシステム100の性能向上を図ることが可能となる。
【0120】
また本実施の形態に係るディスク制御装置110においては、グローバルキャッシュ600にもボリウム管理テーブル605を設けることにより、例えばあるストレージ制御ユニット800がホスト計算機200からデータ入出力要求を受信した場合に、当該ストレージ制御ユニット800のローカルキャッシュ830を参照しても、データ入出力要求の対象となっている記憶ボリウムに対するユニットが特定できなかった場合であっても、グローバルキャッシュ600のボリウム管理テーブル605を参照することにより記憶ボリウムに対する入出力制御を行うユニットを特定することができるようになる。
【0121】
また他のストレージ制御ユニット800に接続された記憶ボリウムに対するデータ入出力処理を行う場合には、ストレージ制御ユニット800間で通信バッファ837を介してデータ入出力要求の授受を行うようにすることにより、各ストレージ制御ユニット800は、他のストレージ制御ユニット800の処理に依存せずに、当該他のストレージ制御ユニットに接続されている記憶ボリウムのデータに対するデータ入出力制御を行うことが可能となる。
【0122】
また、ストレージ制御ユニット800に接続されている記憶ボリウムに記憶されているデータの複製を、ディスク制御ユニット400に接続されている記憶ボリウムに書き込むことにより、それ以降のホスト計算機200からのデータ入出力要求に対する入出力制御を当該ディスク制御ユニット400に接続された記憶ボリウムに対して行うようにすることができる。このようにすることにより、ストレージシステム100の構成変更の柔軟性を高めることができるようになる。例えば、ストレージシステム100の導入時には初期コントローラ111により運用していた顧客が、その後のストレージシステム100の規模拡大時に、チャネル制御ユニット300とディスク制御ユニット400とを用いた、拡張性の高いシステム構成に変更するようにすることが出来るようになる。
【0123】
以上本実施の形態について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【0124】
【発明の効果】
記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法を提供することができる。
【図面の簡単な説明】
【図1】本実施の形態に係るストレージシステムの外観構成を示す図である。
【図2】本実施の形態に係るストレージシステムの全体構成を示すブロック図である。
【図3】本実施の形態に係るストレージ制御ユニットを示す図である。
【図4】本実施の形態に係るチャネル制御ユニットを示す図である。
【図5】本実施の形態に係るディスク制御ユニットを示す図である。
【図6】本実施の形態に係るキャッシュメモリユニットを示す図である。
【図7】本実施の形態に係るストレージシステムに、ストレージ制御ユニット、チャネル制御ユニット、ディスク制御ユニット、又はキャッシュメモリユニットが装着される様子を示す図である。
【図8】本実施の形態に係るストレージ制御ユニットの機能を示すブロック図である。
【図9】本実施の形態に係るストレージ制御ユニット間を接続するペア間接続部を説明するためのブロック図である。
【図10】本実施の形態に係るチャネル制御ユニットの機能を示すブロック図である。
【図11】本実施の形態に係るチャネル制御ユニット間を接続するペア間接続部を説明するためのブロック図である。
【図12】本実施の形態に係るディスク制御ユニットの機能を示すブロック図である。
【図13】本実施の形態に係るローカルキャッシュメモリの構成を示すブロック図である。
【図14】本実施の形態に係るグローバルキャッシュメモリの構成を示すブロック図である。
【図15】本実施の形態に係る内部接続部の構成を示すブロック図である。
【図16】本実施の形態に係る管理端末の構成を示すブロック図である。
【図17】本実施の形態に係るストレージシステムの規模を拡大する際の外観構成の変化の一例を示す図である。
【図18】本実施の形態に係るストレージシステムの規模を拡大する前の構成の一例を示す図である。
【図19】本実施の形態に係るストレージシステムの規模を拡大する前の構成の一例を示す図である。
【図20】本実施の形態に係るストレージシステムの規模を拡大した後の構成の一例を示す図である。
【図21】本実施の形態に係るストレージシステムの規模を拡大する際の外観構成の変化の一例を示す図である。
【図22】本実施の形態に係るストレージシステムにおける初期コントローラを示す図である。
【図23】本実施の形態に係るストレージシステムの規模を拡大する際の構成の一例を示す図である。
【図24】本実施の形態に係るストレージシステムの規模を拡大する際の外観構成の変化の一例を示す図である。
【図25】本実施の形態に係るストレージシステムの規模を拡大する際の構成の一例を示す図である。
【図26】本実施の形態に係るストレージシステムにおいて、ボリウム管理テーブルをローカルキャッシュメモリからグローバルキャッシュメモリへ移行する処理を示すフローチャートである。
【図27】本実施の形態に係るストレージシステムにおいて、ボリウムを作成した場合に行われるボリウム管理テーブルを更新する処理を示すフローチャートである。
【図28】本実施の形態に係るデータアクセス処理を示すフローチャートである。
【図29】本実施の形態に係るローカルキャッシュメモリのヒットミス判定処理を示すフローチャートである。
【図30】本実施の形態に係るグローバルキャッシュメモリのロック確保処理を示すフローチャートである。
【図31】本実施の形態に係るローカルキャッシュメモリのステージング処理を示すフローチャートである。
【図32】本実施の形態に係るローカルキャッシュメモリのデステージング処理を示すフローチャートである。
【図33】本実施の形態に係るリードライト処理を示すフローチャートである。
【図34】本実施の形態に係るローカルキャッシュメモリへのライト処理を示すフローチャートである。
【図35】本実施の形態に係るメッセージ通信を送信する側によるデータアクセス処理を示すフローチャートである。
【図36】本実施の形態に係るメッセージ通信を受信する側によるデータアクセス処理を示すフローチャートである。
【図37】本実施の形態に係るコマンドの構成を示す図である。
【図38】本実施の形態に係るコマンドを示す図である。
【図39】本実施の形態に係るメッセージを示す図である。
【図40】本実施の形態に係るコマンドの送受信を示す図である。
【図41】本実施の形態に係るメッセージの送受信を示す図である。
【図42】本実施の形態に係るアクセス方法を変更する場合の処理を示す図である。
【符号の説明】
100 ストレージシステム 110 ディスク制御装置
120 ディスク駆動装置 130 装着部
160 管理端末 200 ホスト計算機
300 チャネル制御ユニット 310 ホストIF制御部
330 ローカルキャッシュ 331 データ領域
332 制御領域 400 ディスク制御ユニット
460 ディスクIF制御部 500 内部接続部
600 グローバルキャッシュ 603 キャッシュ領域管理テーブル
604 キャッシュデータ管理テーブル 605 ボリウム管理テーブル
606 ダイレクトアクセス用データ領域 607 通信バッファ
800 ストレージ制御ユニット 810 ホストIF制御部
830 ローカルキャッシュ 833 キャッシュ領域管理テーブル
834 キャッシュデータ管理テーブル 835 ボリウム管理テーブル
836 ダイレクトアクセス用データ領域
837 通信バッファ 860 ディスクIF制御部

Claims (20)

  1. データ入出力要求を受信するためのホストインタフェース制御部が形成されたチャネル制御ユニットと、
    前記データ入出力要求に応じて、データを記憶するための記憶ボリウムに対する前記データの入出力制御を行うためのディスクインタフェース制御部が形成されたディスク制御ユニットと、
    前記データを記憶するためのメモリが形成されたキャッシュメモリユニットと、
    前記ホストインタフェース制御部と前記ディスクインタフェース制御部と前記メモリとが形成されたストレージ制御ユニットと
    を挿抜可能な装着部と、
    前記チャネル制御ユニット、前記ディスク制御ユニット、前記キャッシュメモリユニット、及び前記ストレージ制御ユニットを通信可能に接続する内部接続部と
    を備えることを特徴とする記憶デバイス制御装置。
  2. 前記ストレージ制御ユニットの前記メモリには、
    前記ストレージ制御ユニットが前記入出力制御を行う前記記憶ボリウムを特定するための情報が記憶され、
    前記ディスク制御ユニットが前記入出力制御を行う前記記憶ボリウムを特定するための情報と他の前記ストレージ制御ユニットが前記入出力制御を行う前記記憶ボリウムを特定するための情報との少なくともいずれかが記憶されること
    を特徴とする請求項1に記載の記憶デバイス制御装置。
  3. 前記ストレージ制御ユニットの前記メモリは、
    前記ストレージ制御ユニットが前記入出力制御を行う前記記憶ボリウムに記憶される前記データを記憶するための第1の記憶領域と、
    前記ディスク制御ユニットが前記入出力制御を行う前記記憶ボリウムに記憶される前記データを記憶するための第2の記憶領域とを有し、
    前記第1及び前記第2の記憶領域を特定するための情報を記憶すること
    を特徴とする請求項1に記載の記憶デバイス制御装置。
  4. 前記ストレージ制御ユニットは、前記他のストレージ制御ユニットとの間で授受されるデータを記憶するための通信バッファを備えること
    を特徴とする請求項1に記載の記憶デバイス制御装置。
  5. データ入出力要求を受信するためのホストインタフェース制御部が形成されたチャネル制御ユニットと、
    前記データ入出力要求に応じて、データを記憶するための記憶ボリウムに対する前記データの入出力制御を行うためのディスクインタフェース制御部が形成されたディスク制御ユニットと、
    前記データを記憶するためのメモリが形成されたキャッシュメモリユニットと、
    前記ホストインタフェース制御部と前記ディスクインタフェース制御部と前記メモリとが形成されたストレージ制御ユニットと
    を挿抜可能な装着部と、
    前記チャネル制御ユニット、前記ディスク制御ユニット、前記キャッシュメモリユニット、及び前記ストレージ制御ユニットを通信可能に接続する内部接続部と
    を備え、
    前記装着部には少なくとも、
    前記ストレージ制御ユニットの前記メモリに、
    前記データ入出力要求の対象となっている前記記憶ボリウムに対する前記入出力制御を行う前記ユニットを特定するための情報が記憶された、複数の前記ストレージ制御ユニット
    が装着される
    記憶デバイス制御装置の制御方法であって、
    ある前記ストレージ制御ユニットが、前記データ入出力要求を受信するステップと、
    前記ストレージ制御ユニットが前記情報を参照し、前記入出力要求の対象となっている前記記憶ボリウムに対する前記入出力制御を行う前記ユニットを特定するステップと、
    前記入出力制御を行う前記ユニットが前記ストレージ制御ユニットである場合には、前記ストレージ制御ユニットが前記入出力制御を行い、前記入出力制御を行う前記ユニットが前記ストレージ制御ユニットでない場合には、他の前記ストレージ制御ユニットが前記入出力制御を行うステップと
    を備えることを特徴とする記憶デバイス制御装置の制御方法。
  6. 前記ストレージ制御ユニットが前記受信する前記データ入出力要求が前記データの読み出し要求であって、前記入出力制御を行う前記ユニットが前記ストレージ制御ユニットでない場合には、
    前記他のストレージ制御ユニットが前記入出力制御を行う前記ステップは、
    前記ストレージ制御ユニットが、前記読み出し要求を前記他のストレージ制御ユニットに送信するステップと、
    前記他のストレージ制御ユニットが、前記読み出し要求に応じて前記入出力制御を行うステップと、
    前記ストレージ制御ユニットが、前記他のストレージ制御ユニットから前記データを受信するステップと、
    前記ストレージ制御ユニットが、前記受信した前記データを情報処理装置に送信するステップと
    であることを特徴とする請求項5に記載の記憶デバイス制御装置の制御方法。
  7. 前記ストレージ制御ユニットが前記受信する前記データ入出力要求が前記データの書き込み要求であって、前記入出力制御を行う前記ユニットが前記ストレージ制御ユニットでない場合には、
    前記他のストレージ制御ユニットが前記入出力制御を行う前記ステップは、
    前記ストレージ制御ユニットが、前記書き込み要求及び書き込みデータを前記他のストレージ制御ユニットに送信するステップと、
    前記他のストレージ制御ユニットが、前記書き込み要求に応じて前記書き込みデータの前記入出力制御を行うステップと
    であることを特徴とする請求項5に記載の記憶デバイス制御装置の制御方法。
  8. 請求項7に記載の記憶デバイス制御装置の制御方法において、
    前記ストレージ制御ユニットが、前記他のストレージ制御ユニットから前記書き込みデータの前記入出力制御を完了した旨のデータを受信するステップと、
    前記ストレージ制御ユニットが、情報処理装置に前記入出力制御を完了した旨のデータを送信するステップと
    を備えることを特徴とする記憶デバイス制御装置の制御方法。
  9. 前記ストレージ制御ユニットは、前記他のストレージ制御ユニットとの間で授受されるデータを記憶するための通信バッファを備えており、
    前記ストレージ制御ユニットが、前記読み出し要求を前記他のストレージ制御ユニットに送信する前記ステップは、
    前記ストレージ制御ユニットが、前記他のストレージ制御ユニットが備える前記通信バッファに前記読み出し要求を書き込むステップと、
    前記他のストレージ制御ユニットが、前記他のストレージ制御ユニットの前記通信バッファから前記読み出し要求を読み出すステップとであり、
    前記ストレージ制御ユニットが、前記他のストレージ制御ユニットから前記データを受信する前記ステップは、
    前記他のストレージ制御ユニットにより前記ストレージ制御ユニットが備える前記通信バッファに書き込まれた前記データを、前記ストレージ制御ユニットが読み出すステップ
    であることを特徴とする請求項6に記載の記憶デバイス制御装置の制御方法。
  10. 前記ストレージ制御ユニットは、前記他のストレージ制御ユニットとの間で授受されるデータを記憶するための通信バッファを備えており、
    前記ストレージ制御ユニットが、前記書き込み要求及び書き込みデータを前記他のストレージ制御ユニットに送信する前記ステップは、
    前記ストレージ制御ユニットが、前記他のストレージ制御ユニットが備える前記通信バッファに前記書き込み要求及び前記書き込みデータを書き込むステップと、
    前記他のストレージ制御ユニットが、前記他のストレージ制御ユニットの前記通信バッファから前記書き込み要求及び前記書き込みデータを読み出すステップと
    であることを特徴とする請求項7に記載の記憶デバイス制御装置の制御方法。
  11. 請求項8に記載の記憶デバイス制御装置の制御方法において、
    前記ストレージ制御ユニットは、前記他のストレージ制御ユニットとの間で授受されるデータを記憶するための通信バッファを備えており、
    前記ストレージ制御ユニットが、前記他のストレージ制御ユニットから前記書き込みデータの前記入出力制御を完了した旨のデータを受信する前記ステップは、
    前記他のストレージ制御ユニットにより前記ストレージ制御ユニットが備える前記通信バッファに書き込まれた前記データを、前記ストレージ制御ユニットが読み出すステップであること
    を特徴とする記憶デバイス制御装置の制御方法。
  12. 前記装着部には前記ストレージ制御ユニットと前記ディスク制御ユニットとが少なくとも装着されている請求項5に記載の記憶デバイス制御装置の制御方法であって、
    前記ストレージ制御ユニットが、前記データ入出力要求を受信するステップと、
    前記ストレージ制御ユニットが前記情報を参照し、前記入出力要求の対象となっている前記記憶ボリウムに対する前記入出力制御を行う前記ユニットを特定するステップと、
    前記入出力制御を行う前記ユニットが前記ストレージ制御ユニットである場合には、前記ストレージ制御ユニットが前記入出力制御を行い、前記入出力制御を行う前記ユニットが前記ストレージ制御ユニットでない場合には、前記ディスク制御ユニットが前記入出力制御を行うステップと
    を備えることを特徴とする記憶デバイス制御装置の制御方法。
  13. 前記ストレージ制御ユニットが前記受信する前記データ入出力要求が前記データの読み出し要求であって、前記入出力制御を行う前記ユニットが前記ストレージ制御ユニットでない場合には、
    前記ディスク制御ユニットが前記入出力制御を行う前記ステップは、
    前記ストレージ制御ユニットが、前記読み出し要求を前記ディスク制御ユニットに送信するステップと、
    前記ディスク制御ユニットが、前記読み出し要求に応じて前記入出力制御を行うステップと、
    前記ストレージ制御ユニットが、前記ディスク制御ユニットから前記データを受信するステップと、
    前記ストレージ制御ユニットが、前記受信した前記データを情報処理装置に送信するステップと
    であることを特徴とする請求項12に記載の記憶デバイス制御装置の制御方法。
  14. 前記ストレージ制御ユニットが前記受信する前記データ入出力要求が前記データの書き込み要求であって、前記入出力制御を行う前記ユニットが前記ストレージ制御ユニットでない場合には、
    前記ディスク制御ユニットが前記入出力制御を行う前記ステップは、
    前記ストレージ制御ユニットが、前記書き込み要求及び書き込みデータを前記ディスク制御ユニットに送信するステップと、
    前記ディスク制御ユニットが、前記書き込み要求に応じて前記書き込みデータの前記入出力制御を行うステップと
    であることを特徴とする請求項12に記載の記憶デバイス制御装置の制御方法。
  15. 請求項12に記載の記憶デバイス制御装置の制御方法であって、
    前記ストレージ制御ユニットの前記メモリは、
    前記ストレージ制御ユニットが前記入出力制御を行う前記記憶ボリウムに記憶される前記データを記憶するための第1の記憶領域と、
    前記ディスク制御ユニットが前記入出力制御を行う前記記憶ボリウムに記憶される前記データを記憶するための第2の記憶領域とを有し、
    前記入出力制御を行う前記ユニットが前記ストレージ制御ユニットである場合には、前記ストレージ制御ユニットが、前記第1の記憶領域に対して前記データの入出力制御を行い、
    前記入出力制御を行う前記ユニットが前記ストレージ制御ユニットでない場合には、前記ストレージ制御ユニットが、前記第2の記憶領域に対して前記データの入出力制御を行うこと
    を特徴とする記憶デバイス制御装置の制御方法。
  16. 前記装着部には複数の前記ストレージ制御ユニットと前記ディスク制御ユニットとが少なくとも装着されている請求項5に記載の記憶デバイス制御装置の制御方法であって、
    前記ストレージ制御ユニットが、前記データ入出力要求を受信するステップと、
    前記ストレージ制御ユニットが前記情報を参照し、前記入出力要求の対象となっている前記記憶ボリウムに対する前記入出力制御を行う前記ユニットを特定するステップと、
    前記入出力制御を行う前記ユニットが前記ストレージ制御ユニットである場合には、前記ストレージ制御ユニットが前記入出力制御を行い、前記入出力制御を行う前記ユニットが前記ディスク制御ユニットである場合には、前記ディスク制御ユニットが前記入出力制御を行い、前記入出力制御を行う前記ユニットが他の前記ストレージ制御ユニットである場合には、前記他のストレージ制御ユニットが前記入出力制御を行うステップと
    を備えることを特徴とする記憶デバイス制御装置の制御方法。
  17. 前記装着部には前記ストレージ制御ユニットと前記ディスク制御ユニットと前記キャッシュメモリユニットとが少なくとも装着されている請求項5に記載の記憶デバイス制御装置の制御方法であって、
    前記ストレージ制御ユニットの前記メモリは、
    前記ストレージ制御ユニットが前記入出力制御を行う前記記憶ボリウムに記憶される前記データを記憶するための第1の記憶領域と、
    前記ディスク制御ユニットが前記入出力制御を行う前記記憶ボリウムに記憶される前記データを記憶するための第2の記憶領域とを有し、
    前記ストレージ制御ユニットが、前記データ入出力要求を受信するステップと、
    前記ストレージ制御ユニットが前記情報を参照し、前記入出力要求の対象となっている前記記憶ボリウムに対する前記入出力制御を行う前記ユニットを特定するステップと、
    前記入出力制御を行う前記ユニットが前記ストレージ制御ユニットである場合には、前記ストレージ制御ユニットが、前記第1の記憶領域に対して前記データの入出力制御を行うステップと
    前記データが前記第1の記憶領域に記憶されていない場合には、前記ストレージ制御ユニットは、前記キャッシュメモリユニットに対して前記データの入出力制御を行うステップと、
    前記データが前記キャッシュメモリユニットに記憶されていない場合には、前記ストレージ制御ユニットが、前記記憶ボリウムに対して前記入出力制御を行うステップと
    を備えることを特徴とする記憶デバイス制御装置の制御方法。
  18. 前記装着部には前記ストレージ制御ユニットと前記ディスク制御ユニットと前記キャッシュメモリユニットとが少なくとも装着されている請求項5に記載の記憶デバイス制御装置の制御方法であって、
    前記ストレージ制御ユニットの前記メモリは、
    前記ストレージ制御ユニットが前記入出力制御を行う前記記憶ボリウムに記憶される前記データを記憶するための第1の記憶領域と、
    前記ディスク制御ユニットが前記入出力制御を行う前記記憶ボリウムに記憶される前記データを記憶するための第2の記憶領域とを有し、
    前記ストレージ制御ユニットが、前記データ入出力要求を受信するステップと、
    前記ストレージ制御ユニットが前記情報を参照し、前記入出力要求の対象となっている前記記憶ボリウムに対する前記入出力制御を行う前記ユニットを特定するステップと、
    前記入出力制御を行う前記ユニットが前記ディスク制御ユニットである場合には、前記ストレージ制御ユニットが、前記第2の記憶領域に対して前記データの入出力制御を行うステップと
    前記データが前記第2の記憶領域に記憶されていない場合には、前記ストレージ制御ユニットは、前記キャッシュメモリユニットに対して前記データの入出力制御を行うステップと、
    前記データが前記キャッシュメモリユニットに記憶されていない場合には、前記ディスク制御ユニットが前記記憶ボリウムに対して前記入出力制御を行うステップと
    を備えることを特徴とする記憶デバイス制御装置の制御方法。
  19. 請求項5に記載の記憶デバイス制御装置の制御方法において、前記装着部に前記キャッシュメモリユニットが装着された場合には、
    各前記ストレージ制御ユニットの前記メモリに記憶される、前記データ入出力要求の対象となっている前記記憶ボリウムに対する前記入出力制御を行う前記ユニットを特定するための情報の複製を、前記各ストレージ制御ユニットが、前記キャッシュメモリユニットに書き込むステップ
    を備え、
    前記ストレージ制御ユニットが前記情報を参照し、前記入出力要求の対象となっている前記記憶ボリウムに対する前記入出力制御を行う前記ユニットを特定する前記ステップにおいて、
    前記ストレージ制御ユニットが、前記ストレージ制御ユニットの前記メモリに記憶されている前記情報を参照しても前記ユニットを特定できない場合には、前記キャッシュメモリユニットの前記情報を参照して、前記ユニットを特定すること
    を特徴とする記憶デバイス制御装置の制御方法。
  20. 請求項5に記載の記憶デバイス制御装置の制御方法において、前記装着部に前記ディスク制御ユニットが装着された場合には、
    ある前記ストレージ制御ユニットが、前記あるストレージ制御ユニットにより前記入出力制御が行われる前記記憶ボリウムに記憶される前記データの複製を、前記ディスク制御ユニットが前記入出力制御を行う前記記憶ボリウムに、書き込むステップと、
    前記あるストレージ制御ユニット及び前記他のストレージ制御ユニットのそれぞれが各前記メモリに記憶している、前記入出力制御を行う前記ユニットを特定するための情報を、前記あるストレージ制御ユニットから前記ディスク制御ユニットに変更するステップと
    を備えることを特徴とする記憶デバイス制御装置の制御方法。
JP2003111405A 2003-04-16 2003-04-16 記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法 Expired - Fee Related JP4413518B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2003111405A JP4413518B2 (ja) 2003-04-16 2003-04-16 記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法
CNA2006100885015A CN1855027A (zh) 2003-04-16 2003-08-29 存储设备控制装置
CNB2006100959875A CN100517210C (zh) 2003-04-16 2003-08-29 存储设备控制装置
CNB031579183A CN1265274C (zh) 2003-04-16 2003-08-29 存储设备控制装置和存储设备控制装置的控制方法
US10/654,996 US7231490B2 (en) 2003-04-16 2003-09-05 Storage device control apparatus and control method for the storage device control apparatus
EP03020208A EP1469380B1 (en) 2003-04-16 2003-09-05 Storage device control apparatus and control method therefor
US11/606,878 US7320051B2 (en) 2003-04-16 2006-12-01 Storage device control apparatus and control method for the storage device control apparatus
US11/984,570 US7581060B2 (en) 2003-04-16 2007-11-20 Storage device control apparatus and control method for the storage device control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003111405A JP4413518B2 (ja) 2003-04-16 2003-04-16 記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法

Publications (2)

Publication Number Publication Date
JP2004318484A true JP2004318484A (ja) 2004-11-11
JP4413518B2 JP4413518B2 (ja) 2010-02-10

Family

ID=32906034

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003111405A Expired - Fee Related JP4413518B2 (ja) 2003-04-16 2003-04-16 記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法

Country Status (4)

Country Link
US (3) US7231490B2 (ja)
EP (1) EP1469380B1 (ja)
JP (1) JP4413518B2 (ja)
CN (3) CN100517210C (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011113232A (ja) * 2009-11-26 2011-06-09 Nec Corp ディスクエンクロージャ及びストレージシステムの制御方法
JP2019174994A (ja) * 2018-03-27 2019-10-10 株式会社日立製作所 ストレージシステム及びその制御方法
JP2021039771A (ja) * 2020-11-06 2021-03-11 株式会社日立製作所 ストレージシステム及びその制御方法

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007042B2 (en) * 2002-03-28 2006-02-28 Hewlett-Packard Development Company, L.P. System and method for automatic site failover in a storage area network
JP2004185544A (ja) * 2002-12-06 2004-07-02 Hitachi Ltd 記憶デバイス制御装置システムの制御方法、及び記憶デバイス制御装置システム
JP4255699B2 (ja) * 2003-01-20 2009-04-15 株式会社日立製作所 記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置
JP4413518B2 (ja) * 2003-04-16 2010-02-10 株式会社日立製作所 記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法
JP4412981B2 (ja) 2003-11-26 2010-02-10 株式会社日立製作所 ストレージシステム及同システムにおけるデータキャッシング方法
JP4477906B2 (ja) * 2004-03-12 2010-06-09 株式会社日立製作所 ストレージシステム
JP2005293370A (ja) * 2004-04-01 2005-10-20 Hitachi Ltd 記憶制御システム
JP4387261B2 (ja) * 2004-07-15 2009-12-16 株式会社日立製作所 計算機システム、および、記憶装置システムの移行方法
US7702743B1 (en) * 2006-01-26 2010-04-20 Symantec Operating Corporation Supporting a weak ordering memory model for a virtual physical address space that spans multiple nodes
US7756943B1 (en) 2006-01-26 2010-07-13 Symantec Operating Corporation Efficient data transfer between computers in a virtual NUMA system using RDMA
US7693883B2 (en) * 2006-01-30 2010-04-06 Sap Ag Online data volume deletion
JP2007272357A (ja) * 2006-03-30 2007-10-18 Toshiba Corp ストレージクラスタシステム、データ処理方法、及びプログラム
US8099634B2 (en) 2008-09-09 2012-01-17 International Business Machines Corporation Autonomic component service state management for a multiple function component
US8650328B1 (en) * 2008-12-15 2014-02-11 American Megatrends, Inc. Bi-directional communication between redundant storage controllers
US8954666B2 (en) * 2009-05-15 2015-02-10 Hitachi, Ltd. Storage subsystem
US9164880B2 (en) * 2012-10-23 2015-10-20 Hitachi, Ltd. Method and apparatus for offloading storage workload
US9280497B2 (en) * 2012-12-21 2016-03-08 Dell Products Lp Systems and methods for support of non-volatile memory on a DDR memory channel
EP2809033B1 (en) * 2013-05-30 2018-03-21 Solarflare Communications Inc Packet capture in a network
AU2014403333A1 (en) * 2014-09-15 2016-03-31 Huawei Technologies Co., Ltd. Write data request processing method and storage array
US10509774B2 (en) * 2017-06-09 2019-12-17 Red Hat, Inc. Secure containerized user specific isolated data storage
CN111078150A (zh) * 2019-12-18 2020-04-28 成都定为电子技术有限公司 一种高速存储设备及不间断扩容方法
CN116521058A (zh) * 2022-05-31 2023-08-01 杭州沃趣科技股份有限公司 一种更换磁盘的控制方法、装置、计算机设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108273A (ja) * 1991-10-17 1993-04-30 Nec Corp 計算機システム
WO1995013582A1 (en) * 1993-11-12 1995-05-18 E-Systems, Inc. Mass data storage library
JPH07152491A (ja) * 1993-11-29 1995-06-16 Hitachi Ltd 仮想ディスクシステム
JPH10283272A (ja) * 1997-04-01 1998-10-23 Hitachi Ltd 複合計算機システムおよび複合i/oシステム
JPH117359A (ja) * 1997-06-18 1999-01-12 Hitachi Ltd 内部ネットワークを備えた記憶制御装置
JP2000339101A (ja) * 1999-05-28 2000-12-08 Hitachi Ltd ディスクアレイ制御装置
JP2002123479A (ja) * 2000-10-17 2002-04-26 Hitachi Ltd ディスク制御装置およびそのキャッシュ制御方法
US20020083270A1 (en) * 2000-12-27 2002-06-27 Chilton Kendell A. Data storage systems and methods which utilize an on-board cache
JP2003099206A (ja) * 2001-09-26 2003-04-04 Hitachi Ltd ストレージシステム、ディスク制御クラスタおよびディスク制御クラスタの増設方法
WO2003030006A1 (en) * 2001-09-28 2003-04-10 Chaparral Network Storage Inc. Controller data sharing using a modular dma architecture

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US830270A (en) * 1905-05-25 1906-09-04 Reuben Willetts Gas-engine.
US4600321A (en) * 1985-02-06 1986-07-15 Okun Kwan Matrix print head
US5098129A (en) * 1990-04-04 1992-03-24 Robert Haber Business card assembly with self-adhesive backing
US5909540A (en) * 1996-11-22 1999-06-01 Mangosoft Corporation System and method for providing highly available data storage using globally addressable memory
JP3657428B2 (ja) * 1998-04-27 2005-06-08 株式会社日立製作所 記憶制御装置
JP4392877B2 (ja) 1998-09-18 2010-01-06 株式会社日立製作所 ディスクアレイ制御装置
JP3716126B2 (ja) 1999-03-17 2005-11-16 株式会社日立製作所 ディスクアレイ制御装置及びディスクアレイ
US6295578B1 (en) * 1999-04-09 2001-09-25 Compaq Computer Corporation Cascaded removable media data storage system
JP2001167040A (ja) * 1999-12-14 2001-06-22 Hitachi Ltd 記憶サブシステム及び記憶制御装置
JP2001256003A (ja) 2000-03-10 2001-09-21 Hitachi Ltd ディスクアレイ制御装置、そのディスクアレイ制御ユニットおよびその増設方法
US6651154B1 (en) * 2000-07-11 2003-11-18 International Business Machines Corporation Method, system, and program for expanding the storage space in an array of storage units
JP4039821B2 (ja) 2001-05-09 2008-01-30 株式会社日立製作所 ディスク制御装置を用いた計算機システムおよびその運用サービス
JP2003015826A (ja) * 2001-07-04 2003-01-17 Hitachi Ltd ディスクアレイ制御装置における共有メモリコピー機能
US6763398B2 (en) * 2001-08-29 2004-07-13 International Business Machines Corporation Modular RAID controller
JP2003241905A (ja) 2002-02-15 2003-08-29 Hitachi Ltd 記憶装置、データ記憶方法及び制御装置
JP2003323261A (ja) 2002-04-26 2003-11-14 Hitachi Ltd ディスク制御システム、ディスク制御装置、ディスクシステム、及びその制御方法
US20030224824A1 (en) * 2002-05-31 2003-12-04 Hanson George E. Radio configuration and control of computer subsystems
JP2003263279A (ja) 2003-03-27 2003-09-19 Hitachi Ltd ディスクアレイ制御装置
JP4413518B2 (ja) * 2003-04-16 2010-02-10 株式会社日立製作所 記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108273A (ja) * 1991-10-17 1993-04-30 Nec Corp 計算機システム
WO1995013582A1 (en) * 1993-11-12 1995-05-18 E-Systems, Inc. Mass data storage library
JPH09505165A (ja) * 1993-11-12 1997-05-20 イー・システィムズ、インコーパレイティド マス・データ・ストーリッヂ・ライブラリ
JPH07152491A (ja) * 1993-11-29 1995-06-16 Hitachi Ltd 仮想ディスクシステム
JPH10283272A (ja) * 1997-04-01 1998-10-23 Hitachi Ltd 複合計算機システムおよび複合i/oシステム
JPH117359A (ja) * 1997-06-18 1999-01-12 Hitachi Ltd 内部ネットワークを備えた記憶制御装置
JP2000339101A (ja) * 1999-05-28 2000-12-08 Hitachi Ltd ディスクアレイ制御装置
JP2002123479A (ja) * 2000-10-17 2002-04-26 Hitachi Ltd ディスク制御装置およびそのキャッシュ制御方法
US20020083270A1 (en) * 2000-12-27 2002-06-27 Chilton Kendell A. Data storage systems and methods which utilize an on-board cache
JP2003099206A (ja) * 2001-09-26 2003-04-04 Hitachi Ltd ストレージシステム、ディスク制御クラスタおよびディスク制御クラスタの増設方法
WO2003030006A1 (en) * 2001-09-28 2003-04-10 Chaparral Network Storage Inc. Controller data sharing using a modular dma architecture
JP2005505056A (ja) * 2001-09-28 2005-02-17 チヤパラル ネツトワーク ストレージ,インコーポレーテツド モジュラーdmaアーキテクチャを用いた制御装置データ共有

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011113232A (ja) * 2009-11-26 2011-06-09 Nec Corp ディスクエンクロージャ及びストレージシステムの制御方法
JP2019174994A (ja) * 2018-03-27 2019-10-10 株式会社日立製作所 ストレージシステム及びその制御方法
JP2021039771A (ja) * 2020-11-06 2021-03-11 株式会社日立製作所 ストレージシステム及びその制御方法
JP7065928B2 (ja) 2020-11-06 2022-05-12 株式会社日立製作所 ストレージシステム及びその制御方法

Also Published As

Publication number Publication date
CN1265274C (zh) 2006-07-19
EP1469380A3 (en) 2008-02-27
CN1881168A (zh) 2006-12-20
CN100517210C (zh) 2009-07-22
US20040210713A1 (en) 2004-10-21
US7320051B2 (en) 2008-01-15
CN1855027A (zh) 2006-11-01
CN1538282A (zh) 2004-10-20
US7231490B2 (en) 2007-06-12
EP1469380A2 (en) 2004-10-20
US7581060B2 (en) 2009-08-25
US20070079066A1 (en) 2007-04-05
US20080209101A1 (en) 2008-08-28
JP4413518B2 (ja) 2010-02-10
EP1469380B1 (en) 2013-02-27

Similar Documents

Publication Publication Date Title
JP4413518B2 (ja) 記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法
US6542961B1 (en) Disk storage system including a switch
US7484071B2 (en) Method for allocating storage area to virtual volume
JP4252301B2 (ja) 記憶システム及びそのデータバックアップ方法
US7620794B2 (en) Storage system with storage apparatuses including virtual switches
US7487328B2 (en) Storage apparatus having virtual-to-actual device addressing scheme
GB2408117A (en) Storage control apparatus and method thereof
JP2006072636A (ja) ディスクアレイ装置
JP2004062344A (ja) 記憶装置システムのデステージ方法、ディスク制御装置、記憶装置システム、及びプログラム
JP2002123479A (ja) ディスク制御装置およびそのキャッシュ制御方法
JP3403920B2 (ja) 記憶システムおよび記憶制御装置
JP2005135065A (ja) 記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法
US7484038B1 (en) Method and apparatus to manage storage devices
US20210019092A1 (en) Concurrent tape modification
US11726660B1 (en) Techniques for flexible physical drive expansion using a loop back connection
JP6555029B2 (ja) ストレージシステム、ストレージ装置および通信方法
CN100412872C (zh) 向数据存储和检索系统提供一个或多个命令的装置和方法
US20200341692A1 (en) Concurrent tape access

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090428

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090629

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: 20091117

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: 20091118

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

Free format text: PAYMENT UNTIL: 20121127

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121127

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131127

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees