JP2006268403A - データストレージシステム及びストレージ制御装置のログデータの等価制御方法 - Google Patents
データストレージシステム及びストレージ制御装置のログデータの等価制御方法 Download PDFInfo
- Publication number
- JP2006268403A JP2006268403A JP2005085286A JP2005085286A JP2006268403A JP 2006268403 A JP2006268403 A JP 2006268403A JP 2005085286 A JP2005085286 A JP 2005085286A JP 2005085286 A JP2005085286 A JP 2005085286A JP 2006268403 A JP2006268403 A JP 2006268403A
- Authority
- JP
- Japan
- Prior art keywords
- log data
- control
- disk
- data
- control module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2089—Redundant storage control functionality
- G06F11/2092—Techniques of failing over between control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2007—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
- G06F11/201—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2061—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring combined with de-clustering of data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【課題】複数のディスク記憶デバイスを制御する複数の制御モジュールを有するストレージシステムに関し、複数のディスクデバイスとの経路が不具合となっても、システム情報の読み出し/書き込みを実現し、且つ制御モジュールの異常時も、ログデータの出力を実現する。
【解決手段】複数のディスク記憶デバイス(2−0〜2−15)を、制御する複数の制御モジュール(4−0〜4−3)に、ログデータを格納するシステムディスクデバイスユニット(453,454)を内蔵する。1の制御モジュールのログデータを、実装されている他の制御モジュールのシステムデイスクに格納し、等価処理する。1の制御モジュールが異常でも、他の制御モジュールで、1の制御モジュールのログデータを出力できる。
【選択図】図11
【解決手段】複数のディスク記憶デバイス(2−0〜2−15)を、制御する複数の制御モジュール(4−0〜4−3)に、ログデータを格納するシステムディスクデバイスユニット(453,454)を内蔵する。1の制御モジュールのログデータを、実装されている他の制御モジュールのシステムデイスクに格納し、等価処理する。1の制御モジュールが異常でも、他の制御モジュールで、1の制御モジュールのログデータを出力できる。
【選択図】図11
Description
本発明は、コンピュータの外部記憶装置として用いられるデータストレージシステム及びデータストレージ制御装置のログデータの等価制御方法に関し、特に、多数のディスクデバイスの内、ユーザーが使用するディスクデバイスと装置が使用するシステムディスクデバイスとを有するデータストレージシステム及びデータストレージ制御装置のログデータの等価制御方法に関する。
近年、様々なデータが電子化され、コンピュータ上で扱われるのに従い、データの処理を実行するホストコンピュータとは独立して、大量のデータを効率よく、高い信頼性で格納することのできるデータストレージ装置(外部記憶装置)の重要性が増加している。
このデータストレージ装置として、大量のディスクデバイス(例えば、磁気ディスクや光ディスク)と、これら大量のディスクデバイスを制御するディスクコントローラとから構成されるディスクアレイ装置が提供されている。このようなディスクアレイ装置は、ディスクのキャッシュの役割を果たすメモリを内蔵する。これにより、ホストコンピュータからリード要求及びライト要求を受信した際の、データへのアクセス時間を短縮し、高性能化を実現できる。
一般に、ディスクアレイ装置は、複数の主要ユニット、即ち、ホストコンピュータとの接続部分であるチャネルアダプタ,ディスクドライブとの接続部分であるディスクアダプタ,キャッシュメモリ領域を有するメモリ,キャッシュメモリの制御等を担当する制御部及び大量のディスクドライブから構成される。
図25は、従来技術の説明図である。図25に示すディスクアレイ装置102は、コントロールマネージャ(キャッシュメモリを含むメモリと制御部)10が2つそなえられ、且つ各コントロールマネージャ10には、チャネルアダプタ11及びディスクアダプタ13が接続される。
また、2つのキャッシュマネージャ10,10は、バス10cによって、互いに通信可能に直接接続されている。チャネルアダプタ11は、例えば、ファイバチャネルもしくはEthernet(登録商標)によって、ホストコンピュータ(図示略)に接続される。ディスクアダプタ13は、例えば、ファイバチャネルのケーブルによってディスクエンクロージャ12の各ディスクドライブに接続される。
また、ディスクエンクロージャ12は、2つのポート(例えば、ファイバチャネルポート)を有し、これら2つのポートが、異なるディスクアダプタ13に接続されている。これにより、冗長性を持たせ、耐故障性を高めている(例えば、特許文献1参照)。
このような大容量のデータストレージシステムでは、コントローラ(制御部、チャネルアダプタ、ディスクアダプタ等)の制御のための大量の情報(システム情報という)を必要とする。例えば、コントローラを動作するためのファームウェアや、装置構成のバックアップデータや、各タスクやスレッドのログデータ等である。
ファームウェアは、コントローラの制御プログラムであり、特に、ディスクアレイ(RAID構成)では、多数の制御プログラムを必要とする。又、装置構成のバックアップデータは、ホスト論理アドレスから物理ディスクのアドレスに変換するためのデータであり、ディスクデバイスの数や、ホストの数に応じて、多数のデータを必要とする。ログデータは、障害復旧又は予防障害のため、各タスクやスレッド毎の状態データであり、これも大量のデータとなる。
このようなシステムデータは、一般に不揮発性の大容量記憶装置に格納され、従来は、図25に示すように、ディスクアダプタ13にケーブル接続されたディスクエンクロージャ12の一部のディスクドライブ120を、このデータの格納に使用していた。このシステムデータを格納するディスクドライブを、システムディスクと言われている。
即ち、コントローラに接続された多数のディスクドライブの一部を、システムディスクとして、使用し、他のディスクドライブをユーザーディスクとして使用する。この従来技術は、図25に示すように、いずれのコントローラ10もシステムディスク120をアクセスできる。
特開2001−256003号公報(図1)
しかしながら、近年のストレージシステムには、冗長性の他に、いかなる部分で障害が生じても、動作を継続することが要求されている。この従来技術では、コントローラと、ディスクエンクロージャ間の経路に、例えば、ディスクアダプタとディスクエンクロージャ間の経路に、不具合が発生すると、システムディスク120にデータのリード/ライトが実行できない。
このため、コントローラや他の経路が正常であっても、コントローラは、システムディスクから、ファームウェアや装置構成のバックアップデータを読み出すことができず、他の経路を利用した動作が困難となる。又、コントローラは、システムディスクに、ログデータの読み出し、書き込みができず、障害時の解析や、予防障害の診断等に支障をきたす。
更に、停電発生時には、バッテリに切り替え、キャッシュメモリのデータをシステムディスクにバックアップする必要がある。従来技術では、この場合に、ディスクエンクロージャにも電力供給する必要があり、多大なバッテリ容量を必要とする。しかも、ディスクアダプタ、ケーブルを介しシステムディスクに、バックアップデータを書き込むため、比較的時間がかかり、キャッシュメモリの容量が大きい場合には、多大なバッテリ容量を要する。
従って、本発明の目的は、コントローラとディスクドライブ群との経路に不具合が生じても、システムディスクへのリード/ライトを実行し、且つ1のコントローラの異常時に、そのシステムディスクのログデータを他のコントローラでバックアップするためのデータストレージシステム及びストレージ制御装置のログデータの等価制御方法を提供することにある。
又、本発明の他の目的は、停電発生時のバックアップのためのバッテリ容量を小さくして、安価な構成を実現し、且つ1のコントローラの異常時に、そのシステムディスクのログデータを他のコントローラでバックアップするためのデータストレージシステム及びストレージ制御装置のログデータの等価制御方法を提供することにある。
更に、本発明の更に他の目的は、停電発生時に、小さいバッテリ容量で、キャッシュメモリのデータをバックアップし、且つ1のコントローラに異常が生じても、そのシステムディスクのログデータを、他のコントローラでバックアップするためのデータストレージシステム及びストレージ制御装置のログデータの等価制御方法を提供することにある。
この目的の達成のため、本発明のデータストレージシステムは、データを記憶する複数のディスク記憶デバイスと、前記複数のディスク記憶デバイスに接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する複数の制御モジュールとを有し、前記各制御モジュールは、前記ディスク記憶デバイスに記憶されたデータの一部を格納するキャッシュ領域を有するメモリと、前記アクセス制御を行う制御ユニットと、前記上位とのインターフェース制御を行う第1のインターフェース部と、前記複数のディスク記憶デバイスとのインターフェース制御を行う第2のインターフェース部と、前記制御ユニットに接続され、前記制御ユニットの少なくともログデータを格納するシステムディスクユニットとを有し、1の制御モジュールは、前記システムデイスクユニットのログデータを、他の制御モジュールに転送し、他の制御モジュールのシステムデイスクユニットに格納して、ログデータの等価制御を実行する。
又、本発明のログデータ等価制御方法は、データを記憶する複数のディスク記憶デバイスに接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する複数の制御モジュールを有し、前記各制御モジュールは、前記ディスク記憶デバイスに記憶されたデータの一部を格納するキャッシュ領域を有するメモリと、前記アクセス制御を行う制御ユニットと、前記上位とのインターフェース制御を行う第1のインターフェース部と、前記複数のディスク記憶デバイスとのインターフェース制御を行う第2のインターフェース部と、前記制御ユニットに接続され、前記制御ユニットの少なくともログデータを格納するシステムディスクユニットとを有するストレージ制御装置のログデータ等価制御方法である。そして、その制御方法は、1の制御モジュールの前記システムデイスクユニットのログデータを、他の制御モジュールに転送するステップと、前記転送されたログデータを、前記他の制御モジュールのシステムデイスクユニットに格納して、ログデータの等価制御を実行するステップとを有する。
更に、本発明では、好ましくは、前記1の制御モジュールは、前記他の制御モジュールのシステムディスクユニットのログデータを受け、前記1の制御モジュールのシステムディスクユニットに、前記他の制御モジュールのログデータを格納する。
更に、本発明では、好ましくは、各制御モジュールは、前記複数の制御モジュール間で相互に、各制御モジュールのシステムディスクユニットのログデータを、他の制御モジュールに配信し、前記複数の制御モジュールのシステムディスクユニットに、全制御モジュールのログデータを格納する。
更に、本発明では、好ましくは、前記複数の制御モジュールが、4つ以上の制御モジュールで構成され、各制御モジュールは、各制御モジュールのシステムディスクユニットに、自己のログデータと、バックアップ先の制御モジュールのログデータを格納する。
更に、本発明では、好ましくは、前記4つ以上の制御モジュールの内、1の前記制御モジュールは、他の1の制御モジュールの異常を検出して、前記他の1の制御モジュールのシステムディスクユニットに格納された自己のログデータと、バックアップ先の制御モジュールのログデータの、等価先及び等価元と探索し、配信元を決定し、且つバックアップ先から配信先を決定し、配信元の制御モジュールから前記配信先の制御モジュールに、前記他の1の制御モジュールのシステムディスクユニットに格納された自己のログデータと、バックアップ先の制御モジュールのログデータログデータのコピーを配信し、前記制御モジュールのシステムディスクユニットに格納する。
更に、本発明では、好ましくは、前記1の制御モジュールは、前記1の制御モジュールのシステムディスクユニットに前記ログデータを格納したことを契機に、前記他の制御モジュールへのログデータの転送を含む等価処理を実行する。
更に、本発明では、好ましくは、前記1の制御モジュールは、前記1の制御モジュールのログデータを、前記システムディスクユニットの自己のログデータ領域に格納し、前記1の制御モジュールのログデータと、前記他の制御モジュールのログデータを、前記システムデイスクユニットの等価用ログデータ領域に格納する。
更に、本発明では、好ましくは、前記1の制御モジュールは、前記1の制御モジュールのシステムデイスクユニットの自己のログデータを、メモリのバッファ領域に読み出し、前記他の制御モジュールのメモリのバッファ領域に転送し、前記他の制御モジュールは、前記メモリのバッファ領域の前記1の制御モジュールのログデータを、前記システムデイスクドライブに書き込む。
制御モジュールにシステムディスクを内蔵したので、制御モジュールと、ディスク記憶デバイスとの経路が不具合となっても、制御モジュールや他の経路が正常であれば、制御モジュールは、システムディスクから、ファームウェアや装置構成のバックアップデータを読み出すことができ、他の経路を利用した動作が可能となり、且つログデータの読み出し、書き込みができ、障害時の解析や、予防障害の診断等が可能となる。
更に、停電発生時には、バッテリに切り替え、キャッシュメモリ領域のデータをシステムディスクにバックアップする際も、接続されたディスク記憶デバイスに、電力供給する必要がないため、バッテリ容量を小さくできる。
しかも、システムディスクを、制御モジュールに内蔵し、1の制御モジュールのログデータを、実装されている他の制御モジュールのシステムデイスクで格納し、等価処理するので、1の制御モジュールが異常でも、他の制御モジュールで、1の制御モジュールのログデータを出力できる。
以下、本発明の実施の形態を、データストレージシステム、リード/ライト処理、実装構造、ログデータ等価処理の第1の実施の形態、ログデータ等価処理の第2の実施の形態、ログデータ等価処理の第3の実施の形態、他の実施の形態の順で説明する。
[データストレージシステム]
図1は、本発明の一実施の形態のデータストレージシステムの構成図、図2は、図1のコントロールモジュールの構成図、図3は、図1のバックエンドルータとディスクエンクロージャの構成図、図4は、図1及び図3のディスクエンクロージャの構成図である。
図1は、本発明の一実施の形態のデータストレージシステムの構成図、図2は、図1のコントロールモジュールの構成図、図3は、図1のバックエンドルータとディスクエンクロージャの構成図、図4は、図1及び図3のディスクエンクロージャの構成図である。
図1は、データストレージシステムとして、4台のコントロールモジュールを持つ中規模なディスクアレイ装置を例に示す。図1に示すように、ディスクアレイ装置1は、データを保持する複数のディスクエンクロージャ2−0〜2−15と、図示しないホストコンピュータ(データ処理装置)と、複数のディスクエンクロージャ2−0〜2−15との間に、配置された複数(ここでは4つ)の制御モジュール4−0〜4−3と、これら複数の制御モジュール4−0〜4−3と複数のディスクエンクロージャ2−0〜2−15との間に設けられた複数(ここでは4つ)のバックエンドルータ(第1スイッチユニット;以下、BRTという)5−0〜5−3と、複数(ここでは2つ)のフロントエンドルータ(第2スイッチユニット;以下、FRTという)6−0,6−1とを有する。
制御モジュール4−0〜4−3のそれぞれは、コントローラ40と、チャネルアダプタ(第1インターフェース部;以下、CAという)41と、ディスクアダプタ(第2インターフェース部;以下、DAという)42a,42bと、DMA(Direct Memory Access)エンジン(通信部;以下、DMAという)43とを有する。
なお、図1では、図の簡略化のため、これらコントローラの符号“40”、ディスクアダプタの符号“42a”,“42b”、DMAの符号“43”を、制御モジュール4−0に対してのみ付しており、他の制御モジュール4−1〜4−3におけるこれら構成要素の符号は省略している。
図2により、制御モジュール4−0〜4−3を説明する。コントローラ40は、ホストコンピュータからの処理要求(リード要求もしくはライト要求)に基づいて、リード/ライト処理を行なうものであり、メモリ40bと制御部40aと、システムディスクドライブ部40cとを備える。
メモリ40bは、ディスクエンクロージャ2−0〜2−15の複数のディスクに保持されたデータの一部を保持する、所謂、複数のディスクに対するキャッシュの役割を果たすキャッシュ領域と、構成定義格納領域470と、その他のワーク領域とを有する。
制御部40aは、メモリ40b,チャネルアダプタ41、デバイスアダプタ42、DMA43の制御を行う。このため、1つ又は複数(図では、2つ)のCPU400,410と、メモリコントローラ420とを有する。メモリコントローラ420は、メモリのリード/ライトを制御し、且つパスの切り替えを行う。
メモリコントローラ420は、メモリバス434を介しメモリ40bと接続し、CPUバス430,432を介しCPU400,410と接続し、更に、メモリコントローラ420は、4レーンの高速シリアルバス(例えば、PCI−Express)440,442を介しディスクアダプタ42a,42bに接続する。
同様に、メモリコントローラ420は、4レーンの高速シリアルバス(例えば、PCI−Express)443,444,445,446を介しチャネルアダプタ41(ここでは、4つのチャネルアダプタ41a,41b、41c,41d)に接続し、4レーンの高速シリアルバス(例えば、PCI−Express)447,448を介しDMA43(ここでは、2つのDMA43−a,43−b)に接続する。
このPCI−Expess等の高速シリアルバスは、パケットで通信し、且つシリアルバスを複数レーン設けることにより、信号線本線を減らしても、遅延の少ない、速い応答速度で、所謂、低レンテンシで通信することができる。
更に、メモリコントローラ420は、シリアルバス436を介しシステムディスクドライブ部40cと接続する。システムディスクドライブ部40cは、ブリッジ回路450と、ファイバチャネル回路452と、一対のシステムディスクドライブ453,454とを有する。
ブリッジ回路450は、メモリコントローラ420を、ファイバチャネル回路452と、制御モジュール4−0の外部に設けられたサービスプロセッサ44とに接続する。サービスプロセッサ44は、例えば、パーソナルコンピュータで構成され、システムの状態確認、診断、保守に利用される。
このファイバチャネル回路452に、少なくとも2台のシステムディスクドライブ453,454(ここでは、2台のHDD)が接続される。従って、CPU400,410等は、メモリコントローラ420を介しシステムディスクドライブ453,454に直接アクセスできる。又、サービスプロセッサ44も、ブリッジ回路450を介しシステムディスクドライブ453,454にアクセスできる。
2台のシステムディスクドライブ453,454は、ログデータ等をミラーリングする。即ち、一方のシステムディスクドライブ453のデータのコピーを、他方のシステムディスクドライブ454が格納する。即ち、システムディスクドライブ453,454が、制御モジュール4−0に内蔵されており、CPU400,410は、システムディスクドライブ453,454を、DA42a,42b,BRT5−0を介することなく、アクセスできる。
チャネルアダプタ41a〜41dは、ホストコンピュータに対するインターフェースであり、チャネルアダプタ41a〜41dは、それぞれ異なるホストコンピュータと接続される。また、チャネルアダプタ41a〜41dは、それぞれ対応するホストコンピュータのインターフェース部に、バス、例えば、ファイバチャネル(Fiber Channel)やEthernet(登録商標)によって接続されることが好ましく、この場合、バスとしては、光ファイバや同軸ケーブルが用いられる。
さらに、これらチャネルアダプタ41a〜41dそれぞれは、各制御モジュール4−0〜4−3の一部として構成されている。このチャネルアダプタ41a〜41dが、対応するホストコンピュータと制御モジュール4−0〜4−3とのインターフェース部として、複数のプロトコルをサポートする。
又、対応するホストコンピュータによって実装すべきプロトコルが同一ではないため、各チャネルアダプタ41a〜41dを必要に応じて容易に交換できるように、制御モジュール4−0〜4−3の主要ユニットであるコントローラ40とは、別のプリント基板に実装されている。
例えば、チャネルアダプタ41a〜41dがサポートすべきホストコンピュータとの間のプロトコルとしては、上述のように、ファイバチャネルや、Ethernet(登録商標)に対応するiSCSI(Internet Small Computer System Interface)等がある。
更に、各チャネルアダプタ41a〜41dは、前述のように、PCI−Expressバスのように,LSI(Large Scale Integration)やプリント基板の間を接続するために設計されたバス443〜446によって、コントローラ40と直接結合される。これにより、各チャネルアダプタ41a〜41dとコントローラ40と間に要求される高いスループットを実現することができる。
次に、ディスクアダプタ42a,42bは、ディスクエンクロージャ2−0〜2−15の各ディスクドライブに対するインターフェースであり、ディスクエンクロージャ2−0〜2−15に接続されたBRT5−0〜5−3に接続され,ここでは、4つのFC(Fiber Channel)ポートを有する。
又、各ディスクアダプタ42a、42bは、前述のように、PCI−Expressバスのように,LSI(Large Scale Integration)やプリント基板の間を接続するために設計されたバスによって、コントローラ40と直接結合されている。これにより、各ディスクアダプタ42a、42bとコントローラ40と間に要求される高いスループットを実現することができる。
図1及び図3に示すように、BRT5−0〜5−3は、各制御モジュール4−0〜4−3のディスクアダプタ42a,42bと各ディスクエンクロージャ2−0〜2−15とを選択的に切り替えて、通信可能に接続する多ポートスイッチである。
図3に示すように、各ディスクディスクエンクロージャ2−0〜2−7は、複数(ここでは2つ)のBRT5−0,5−1に接続される。図4に示すように、各ディスクエンクロージャ2−0は、各々2つのポートを有する複数台(例えば、15台)のディスクドライブ200を搭載する。このディスクエンクロージャ2−0の構成は、4つの接続ポート210,212,214,216を有する単位ディスクエンクロージャ20−0〜23−0を、必要数分直列接続して、容量の増大を実現する。ここでは、最大4台の単位ディスクエンクロージャ20−0〜20−3を接続できる。
そして、単位ディスクエンクロージャ20−0〜23−0内では、2つのポート210,212からの一対のFCケーブルにより、各ディスクドライブ200の各ポートが、2つのポート210,212に接続される。この2つのポート210,212は、図3で説明したように、異なるBRT5−0,5−1に接続される。
図1に示すように、各制御モジュール4−0〜4−3のディスクアダプタ42a,42bそれぞれを、すべてのディスクエンクロージャ2−0〜2−15に接続する。即ち、各制御モジュール4−0〜4−3のディスクアダプタ42aは、ディスクエンクロージャ2−0〜2−7に接続されたBRT5−0(図3参照)と、ディスクエンクロージャ2−0〜2−7に接続されたBRT5−0と、ディスクエンクロージャ2−8〜2−15に接続されたBRT5−2と、ディスクエンクロージャ2−8〜2−15に接続されたBRT5−2とにそれぞれ接続される。
又、同様に、各制御モジュール4−0〜4−3のディスクアダプタ42bは、ディスクエンクロージャ2−0〜2−7に接続されたBRT5−1(図3参照)と、ディスクエンクロージャ2−0〜2−7に接続されたBRT5−1と、ディスクエンクロージャ2−8〜2−15に接続されたBRT5−3と、ディスクエンクロージャ2−8〜2−15に接続されたBRT5−3とに、それぞれ接続される。
このように、各ディスクエンクロージャ2−0〜2−15は、複数(ここでは2つ)のBRTに接続されるとともに、同一のディスクエンクロージャ2−0〜2−15に接続された2つのBRTのそれぞれに、同一の制御モジュール4−0〜4−3における異なるディスクアダプタ42a,42bが接続される。
このような構成により、各制御モジュール4−0〜4−3が、いずれのディスクアダプタ42a,42bを通じて、且ついずれのパスを通じても、すべてのディスクエンクロージャ(ディスクドライブ)2−0〜2−15にアクセスできる。
又、図2に示すごとく、各ディスクアダプタ42a,42bは、対応するBRT5−0〜5−3に、バス、例えば、ファイバチャネル(Fiber Channel)やEthernet(登録商標)、によって接続される。この場合、バスは、後述するように、バックパネルのプリント基板に電気的配線で設けられる。
各制御モジュール4−0〜4−3のディスクアダプタ42a,42bとBRT5−0〜5−3との間は、前述のように、全てのディスクエンクロージャと接続するため、1対1のメッシュ接続になるため、制御モジュール4−0〜4−3の数(つまり、ディスクアダプタ42a,42bの数)が増大するほど、接続数が増加して接続関係が複雑になり、物理的な実装が困難になる。しかし、ディスクアダプタ42a,42bとBRT5−0〜5−3との間の接続に、インターフェースを構成する信号数が少ないファイバチャネルを採用することにより、プリント基板での実装が可能となる。
なお、各ディスクアダプタ42a,42bと対応するBRT5−0〜5−3とがファイバチャネル接続される場合、BRT5−0〜5−3は,ファイバチャネルのスイッチとなる。また、各BRT5−0〜5−3と対応するディスクエンクロージャ2−0〜2−15との間も、例えば、ファイバチャネルによって接続され、この場合には、モジュールが異なるため、光ケーブル500,510で接続される。
図1に示すように、DMAエンジン43は、各制御モジュール4−0〜4−3と相互に通信を行うものであり、他の制御モジュール間との通信とデータ転送処理を担当する。各制御モジュール4−0〜4−3のDMAエンジン43のそれぞれは、制御モジュール4−0〜4−3の一部として構成されており、制御モジュール4−0〜4−3の主要ユニットであるコントローラ40の基板上に実装される。そして、前述の高速シリアルバスによって、コントローラ40と直接結合されるとともに、FRT6−0,6−1を介して他の制御モジュール4−0〜4−3のDMAエンジン43と互いに通信する。
FRT6−0,6−1は、複数(特に3以上、ここでは4つ)の制御モジュール4−0〜4−3のDMAエンジン43に接続され、これら制御モジュール4−0〜4−3の相互間を選択的に切り替え,通信可能に接続するものである。
このような構成により、各制御モジュール4−0〜4−3のDMAエンジン43のそれぞれは、FRT6−0,6−1を介して、自身に接続されたコントローラ40と他の制御モジュール4−0〜4−3のコントローラ40との間で、ホストコンピュータからのアクセス要求等に応じて生じる通信やデータ転送処理(例えば、ミラーリング処理)を実行する。
また、図2に示すように、各制御モジュール4−0〜4−7のDMAエンジン43が複数(ここでは2つ)のDMAエンジン43−a,43−bで構成され、これら2つのDMAエンジン43−a,43−bの各々が、各々2つのFRT6−0,6−1を使用する。
さらに、DMAエンジン43−a,43−bは、図2に示したように、例えば、PCI−Expressバスによって、コントローラ40に接続されている。即ち、各制御モジュール4−0〜4−3間(つまり、各制御モジュール4−0〜4−3のコントローラ40間)の通信やデータ転送(DMA)処理では、データ転送量が多く、通信制御にかかる時間を短くすることが望ましく、高いスループットと同時に低いレイテンシ(速い応答速度)が要求される。このため、図1、図2に示すように、各制御モジュール4−0〜4−3のDMAエンジン43とFRT6−0,6−1とは、高いスループットと低いレイテンシとの両方の要求を満たすべく設計された、高速シリアル伝送を利用したバス(PCI-ExpressやRapid-IO)によって、接続される。
これらPCI-ExpressやRapid-IOは、2.5Gbpsの高速シリアル伝送を利用したものであり、これらのバスインターフェースには、LVDS(Low Voltage Differential Signaling)という小振幅差動インターフェースが採用される。
[リード/ライト処理]
次に、図1乃至図4のデータストレージシステムのリード処理を説明する。図5は、図1乃至図2の構成のリード動作の説明図である。
次に、図1乃至図4のデータストレージシステムのリード処理を説明する。図5は、図1乃至図2の構成のリード動作の説明図である。
先ず、制御部(コントロールマネージャ)40は、ホストコンピュータのいずれかから対応するチャネルアダプタ41a〜41dを介してリード要求を受け取った場合、当該リード要求の対象データをメモリ40bのキャッシュ領域が保持していれば、そのキャッシュ領域に保持された当該対象データを、チャネルアダプタ41a〜41dを介してホストコンピュータに送る。
一方、当該対象データがメモリ40bのキャッシュ領域に保持されていなければ、コントロールマネージャ(制御部)40aが、当該対象データを保持しているディスクドライブ200から対象データを、メモリ40bのキャッシュ領域上に読み出してから、対象データを、リード要求を発行したホストコンピュータに送信する。
このディスクドライブとのリード処理を、図5で説明する。
(1)コントロールマネージャ40の制御部40a(CPU)は、メモリ40bのディスクリプタ領域に、FCヘッダとディスクリプタを作成する。ディスクリプタは、データ転送回路に対して、データ転送を要求する命令であり、FCヘッダのキャッシュメモリ上のアドレス、転送したいデータのキャッシュメモリ上でのアドレスとデータバイト数、データ転送のディスクの論理アドレスを含む。
(2)ディスクアダプタ42のデータ転送回路を起動する。
(3)ディスクアダプタ42の起動されたデータ転送回路は、メモリ40bからディスクリプタを読み出す。
(4)ディスクアダプタ42の起動されたデータ転送回路は、メモリ40bからFCヘッダを読み出す。
(5)ディスクアダプタ42の起動されたデータ転送回路は、ディスクリプタを解読し、要求ディスク、先頭アドレス、バイト数を得て、FCヘッダを、ファイバーチャネル500(510)より、対象ディスクドライブ200に転送する。ディスクドライブ200は、要求された対象データを読み出し、ファイバーチャネル500(510)を介しディスクアダプタ42のデータ転送回路に送信する。
(6)ディスクドライブ200は、要求された対象データを読み出し、送信を完了すると、完了通知を、ファイバーチャネル500(510)を介しディスクアダプタ42のデータ転送回路に送信する。
(7)ディスクアダプタ42の起動されたデータ転送回路は、完了通知を受けると、ディスクアダプタ42のメモリからリードデータを読み出し、メモリ40bのキャッシュ領域に格納する。
(8)ディスクアダプタ42の起動されたデータ転送回路は、リード転送が完了すると、コントロールマネージャ40に、割り込みによる完了通知を行う。
(9)コントロールマネージャ40の制御部40aは、ディスクアダプタ42の割り込み要因を得て、リード転送を確認する。
(10)コントロールマネージャ40の制御部40aは、ディスクアダプタ42の終了ポインタを調べ、リード転送完了を確認する。
このように、十分な性能を得るためには、全ての接続が高いスループットを持つ必要があるが、制御部40aとディスクアダプタ42との間には、信号のやり取りが多く(図では、7回)、特に、低いレイテンシのバスが必要となる。この実施例では、PCI-Express(4レーン)と、Fibre Channel(4G)を、どちらも高いスループットの接続として採用しているが、PCI-Expressが低いレイテンシの接続なのに対して、Fibre Channelは比較的レイテンシの大きな(データ転送に時間のかかる) 接続である。
この実施の形態では、図1の構成のため、BRT5−0〜5−3に,Fibre Channelを採用することができる。又、低いレイテンシを実現するためには、バスの信号本数をある程度より減らすことができないが、この実施の形態では、ディスクアダプタ42とBRT5−0間の接続には、信号線本数の少ないFibre Channelを採用することができ、バックパネル上の信号本数が少なくなり、実装上で有効である。
次に、ライト動作を説明する。ホストコンピュータのいずれかから対応するチャネルアダプタ41a〜41dを介してライト要求を受け取った場合、当該ライト要求のコマンドとライトデータとを受信したチャネルアダプタ41a〜41dは、コントロールマネージャ40に対して、ライトデータを書き込むべきメモリ40bのキャッシュ領域のアドレスを尋ねる。
そして、このチャネルアダプタ41a〜41dがコントロールマネージャ40からの応答を受け取ると、コントロールマネージャ40のメモリ40bのキャッシュ領域にライトデータを書き込むとともに、当該コントロールマネージャ40とは異なる少なくとも1つのコントロールマネージャ40(つまり、異なる制御モジュール4−0〜4−3のコントロールマネージャ40)内のメモリ40bのキャッシュ領域にもライトデータを書き込む。このため、DMAエンジン43を起動し、FRT6−0,6−1を介し、他の制御モジュール4−0〜4−7のコントロールマネージャ40内のメモリ40bのキャッシュ領域にもライトデータを書き込む。
これにより、データを2重化(ミラーリング)することで、予期しない制御モジュール4−0〜4−3もしくはコントロールマネージャ40のハード故障の場合にも、データの喪失を防ぐ。最後に、これら複数のメモリ40bのキャッシュ領域へのライトデータの書き込みが正常に終了すると、チャネルアダプタ41a〜41dが、ホストコンピュータに対して完了通知を行ない、処理を終了する。
更に、このライトデータを、対象とするディスクドライブに、書き戻す(ライトバックという)必要がある。制御部40aは、内部スケジュールに従い、メモリ40bのキャッシュ領域のライトデータを、当該対象データを保持しているディスクドライブ200にライトバックする。このディスクドライブとのライト処理を、図6で説明する。
(1)コントロールマネージャ40の制御部40a(CPU)は、メモリ40bのディスクリプタ領域に、FCヘッダとディスクリプタを作成する。ディスクリプタは、データ転送回路に対して、データ転送を要求する命令であり、FCヘッダのキャッシュメモリ上のアドレス、転送したいデータのキャッシュメモリ上でのアドレスとデータバイト数、データ転送のディスクの論理アドレスを含む。
(2)ディスクアダプタ42のデータ転送回路を起動する。
(3)ディスクアダプタ42の起動されたデータ転送回路は、メモリ40bからディスクリプタを読み出す。
(4)ディスクアダプタ42の起動されたデータ転送回路は、メモリ40bからFCヘッダを読み出す。
(5)ディスクアダプタ42の起動されたデータ転送回路は、ディスクリプタを解読し、要求ディスク、先頭アドレス、バイト数を得て、メモリ40bのキャッシュ領域からデータを読み出す。
(6)読み出し完了後、ディスクアダプタ42のデータ転送回路は、FCヘッダとデータを、ファイバーチャネル500(510)より、対象ディスクドライブ200に転送する。ディスクドライブ200は、転送されたデータを内蔵するディスクに書き込む。
(7)ディスクドライブ200は、データの書き込みを完了すると、完了通知を、ファイバーチャネル500(510)を介しディスクアダプタ42のデータ転送回路に送信する。
(8)ディスクアダプタ42の起動されたデータ転送回路は、完了通知を受けると、コントロールマネージャ40に、割り込みによる完了通知を行う。
(9)コントロールマネージャ40の制御部40aは、ディスクアダプタ42の割り込み要因を得て、ライト動作を確認する。
(10)コントロールマネージャ40の制御部40aは、ディスクアダプタ42の終了ポインタを調べ、ライト動作完了を確認する。
この図6でも、図5でも、矢印は、データなどのパケットの転送を示し、コの字型の矢印は、データのリードを表しており、一方のデータ要求に対してデータが送り返されているのを示す。このように、DA内の制御回路の起動と終了状態の確認が必要となるため、一回のデータ転送を行うのにCM40とDA42の間では、7回のやり取りが行われている。DA42とディスク200の間は2回である。
これによって、キャッシュ制御部40とディスクアダプタ42との間の接続に、低いレイテンシが要求され、一方、ディスクアダプタ42とディスクデバイス200とは、信号本数の少ないインタフェースを利用できることが理解できる。
つぎに、前述のシステムディスクドライブ453,454へのリード/ライトアクセスを説明する。このCM(CPU)40aからのリード/ライトアクセスも、図5及び図6と同様であり、メモリ40bとシステムディスクドライブ453,454との間のDMA転送を行う。即ち、図2のファイバチャネル回路452に、DMA回路を設け、CPU400(410)が、ディスクリプタを用意して、ファイバチャネル回路452のDMA回路を起動する。
例えば、システムディスクドライブのファームウェア、ログデータ、バックアップデータ(キャッシュ領域からの退避データを含む)の読み出しは、図5と同様に、CPU400(410)が、FCヘッダとディスクリプタを作成し、ファイバチャネル回路452のDMA回路を起動(リード起動)することにより、システムディスクドライブ453,454からメモリ40bに、ファームウェア、ログデータ、バックアップデータが、DMA転送される。
同様に、ログデータ、バックアップデータの書き込みは、図6と同様に、CPU400(410)が、FCヘッダとディスクリプタを作成し、ファイバチャネル回路452のDMA回路を起動(ライト起動)することにより、システムディスクドライブ453,454へメモリ40bから、ログデータ、バックアップデータが、DMA転送される。このログデータの書き込みは、定期的に、又は一定量のログデータがメモリ40bに収集された時、パワーオフ時に実行される。
このように、コントローラにシステムディスクを内蔵したので、コントローラとBRT、ディスクエンクロージャとの経路が不具合となっても、コントローラや他の経路が正常であれば、コントローラは、システムディスクから、ファームウェアや装置構成のバックアップデータを読み出すことができ、他の経路を利用した動作が可能となる。又、コントローラは、システムディスクに、ログデータの読み出し、書き込みができ、障害時の解析や、予防障害の診断等が可能となる。
更に、停電発生時には、バッテリに切り替え、キャッシュメモリのデータをシステムディスクにバックアップする際も、ディスクエンクロージャに、電力供給する必要がないため、バッテリ容量を小さくできる。しかも、ディスクアダプタ、ケーブルを介しシステムディスクに、バックアップデータを書き込む必要がないため、書き込み時間も削減でき、キャッシュメモリの容量が大きくても、バッテリ容量を小さくできる。
しかも、システムディスクドライブを一対設け、冗長化構成を採用しているので、一方のシステムディスクドライブに障害が発生しても、他のシステムディスクドライブでバックアップできる。即ち、RAID−1の構成を採用できる。
尚、図2のサービスプロセッサ44も、システムディスクドライブ453,454を、ブリッジ回路450を介してアクセスできる。サービスプロセッサ44からフィームウェア、装置構成データをシステムディスクドライブ453,454へダウンロードする。
[実装構造]
図7は、本発明による制御モジュールの実装構成例を示す図、図8は、図7の制御モジュールとディスクエンクロージャとを含む実装構成例を示す図である。
図7は、本発明による制御モジュールの実装構成例を示す図、図8は、図7の制御モジュールとディスクエンクロージャとを含む実装構成例を示す図である。
図8に示すように、ストレージ装置の筐体の上側には、4台のディスクエンクロージャ2−0,2−1,2−8,2−9が搭載される。ストレージ装置の下側半分は、制御回路を搭載する。この下側半分は、図7のように、バックパネル7によって前後に分割されている。バックパネル7の前方、後方には、それぞれスロットが設けられる。この例では、図1の4台のCM4−0〜4−3より大規模な8台のCMを搭載したストレージシステムの構成の実装構造であるが、図1の構成のものも、CMの数は、異なるが、同様である。
即ち、図7に示すように、前方側(Front)には、8枚(8個)のCM4−0〜4−7が、後方には、2枚(2個)のFRT6−0,6−1、8枚(8個)のBRT5−0〜5−7及び、電源制御などを担当するサービスプロセッサSVC(図2の記号「44」)が配置される。
更に、CM4−0〜4−7には、各々2台のシステムディスクドライブ453,454が、設けられる。尚、図7では、CM4−0に、システムディスクドライブ(SD)の符号453,454を付しているが、他のCM4−1〜4−7も同様であり、図7では、図面の煩雑を避けるため、省略してある。このシステムディスクドライブ453,454は、バックパネル7から抜き差しできる。
図7では、8枚のCM4−0〜4−7と2枚のFRT6−0,6−1が、バックパネル7を経由して、4レーンのPCI-Expressで接続される。PCI−Expessは、4本(差動、両方向のため)の信号線であり、4レーン分で、16本の信号線となるから、この信号本数は16×16=256本となる。また、8枚のCM4−0〜4−7と8枚のBRT5−0〜5−7がバックパネル7を経由して、Fibre Channelで接続される。Fibre Channelは、差動、両方向のため、1×2×2=4の信号線であり、この信号本数は、8×8×4=256本となる。
このように、接続箇所毎にバスを使い分けることにより、大規模構成のストレージシステムでも、CM4−0〜4−7の8枚、FRT6−0,6−1の2枚、BRT5−0〜5−7の8枚の接続が、512本の信号線によって実現できる。この信号線数は、バックパネル基板7に十分に実装可能な信号数であり、また基板の信号層数も6層で十分であり、コスト的にも実現可能な範囲内にある。
又、図8では、4台のディスクエンクロージャ2−0,2−1,2−8,2−9を搭載するが、他のディスクエンクロージャ2−3〜2−7、2−10〜2−15等は、別の筐体に設けられる。
更に、各制御モジュール4−0〜4−7のディスクアダプタ42a,42bとBRT5−0〜5−7との間は、1対1のメッシュ接続になるため、システムがそなえる制御モジュール4−0〜4−7の数(つまり、ディスクアダプタ42a,42bの数)が増大しても、ディスクアダプタ42a,42bとBRT5−0〜5−7との間の接続に、インターフェースを構成する信号数が少ないファイバチャネルを採用することができ、実装の課題を解決することができる。
このように、例えば、2.5インチ程度のシステムディスクドライブであれば、CM4−0等に、容易に実装(内蔵)でき、実装上も、問題はない。
[ログデータ等価処理の第1の実施の形態]
図2のように、システムディスクドライブ453,454を、CM4−0等に搭載することで、前述の利点が生じるが、図25の従来のように、ディスクエンクロージャ内にシステムディスクドライブを搭載していた装置とは、異なる課題が発生する。
図2のように、システムディスクドライブ453,454を、CM4−0等に搭載することで、前述の利点が生じるが、図25の従来のように、ディスクエンクロージャ内にシステムディスクドライブを搭載していた装置とは、異なる課題が発生する。
ログデータは、CM4−0〜4−3の各々が動作しているタスク、スレッドのログデータを、そのCMのシステムディスクドライブ453,454に格納している。図25の従来構成では、システム内の1つのCMが故障したとしても、別のCMから、故障したCMのシステムディスクドライブに対してアクセスすることが出来、ログデータの出力が可能であった。
しかし、図2のように、システムディスクドライブ453,454を、CM4−0に搭載する場合、CM4−0が何らかの不具合により故障すると、当該CM4−0のシステムディスクドライブ453、454にアクセスすることが出来ない場合もあり、この場合には、ログデータの出力も行うことが出来ない。
以下、このCM異常時におけるログデータ出力が出来ない状態を回避するため、ログデータ等価制御方法を説明する。この処理方法は、CM毎に、各々が動作しているタスク、スレッドのログデータを、当該CMのシステムデイスクに格納する動作だけではなく、実装されている全CMのシステムデイスクで、全CMのログデータを格納する方法である。
この方法では、全CMのシステムデイスクで、ログデータの等価が行われるため、複数のCMに異常が発生し、正常に動作しているCMが、一つとなった場合でも、ログデータはロストせず、ログデータの出力が可能である。
以下、CM4−0からCM4−1〜4−3への書き込みを例に、図9乃至図12により、説明するが、CM4−1〜4−3から他のCMへの書き込みも同様である。
(1)図9に示すように、各CM4−0〜4−3は、自己のCMに搭載されているシステムデイスクドライブ453(454)の自己のログデータ領域453−1に、CM4−0〜4−3のメモリ40bに書き込まれたログデータCM#0を書込む。このログデータの書き込みは、メモリ40bに所定量(例えば、5Mbyte)のログデータが書き込まれたことを検出し、実行される。又は、タイマーにより、定期的に実行しても良い。尚、この例では、システムデイスクドライブ453(454)のログデータ格納領域は、自己のログデータを書き込むための自己のログデータ領域453−1と、等価用ログデータ格納領域453−2に区分けされている。
(2)CM4−0の等価処理を開始し、図10に示すように、CM4−0のメモリ40bのバッファ領域に、(1)の処理で書き込んだシステムデイスクドライブ453(454)上のログデータ領域453−1のログデータCM#0を展開する(読み出す)。
(3)図11に示すように、CM4−0は、メモリ40bのバッファ領域に展開されたログデータCM#0を、自己のシステムデイスクドライブ453(454)上の等価用ログデータ領域453−2に、書き込む。同時に、CM4−0は、CM4−1〜4−3のメモリ40bのバッファ領域に、そのログデータCM#0を転送する。この転送は、図1、図2のDMA43からフロントエンドルータ6−0(6−1)を介し、行われる。
(4)図12に示すように、CM4−1は、メモリ40bのバッファ領域に転送されたログデータCM#0を、CM4−1に搭載されているシステムデイスクドライブ453(454)上の等価用ログデータ領域453−1に書込む。同様に、残りのCM4−2,4−3についても、メモリ40bのバッファ領域に転送されたログデータCM#0を、CM4−1に搭載されているシステムデイスクドライブ453(454)上の等価用ログデータ領域453−1に書込む。
CM4−1から全CMのシステムデイスクドライブ453(454)へ、ログデータCM#0の書込みが完了すると、次のCM4−1が等価処理を開始する。そして、全CMで,ログデータの転送、書き込み処理が終わると、等価処理が完了となる。
このように、複数のCM間で、ログデータを転送し、各CMが、全CMのログデータを共有するため、CM内に、システムデイスクドライブを設けても、1又は複数のCMが異常となっても、残りの正常なCMから、異常となったCMのログデータを出力でき、異常CMの診断や予防保守が可能となる。
又、等価用ログデータ領域453−2を設け、等価ログデータを格納するため、出力する際に、その領域を読み出せば、良く、出力処理が容易且つ確実となる。同様に、各CMで、自己のログデータ格納領域453−1を、等価用ログデータ格納領域453−2の自己のログデータの格納領域と兼用しても良い。このようにすれば、システムデイスクのログデータ格納域の容量を小さくできる。
次に、このログデータ等価制御の処理を、図13及び図14で説明する。図13は、ログデータの配信元のログデータ等価処理フロー図であり、図14は、ログデータの配信先のログデータ等価処理フロー図である。先ず、図13により、配信元の処理を説明する。
(S10)別の(他の)CMへのログデータ配信処理を開始し、配信元CMの制御部40a(図2のCPU400)は、メモリ40bのワーク領域(バッファ領域)を確保する。
(S12)CMの制御部40a(CPU400)は、メモリ40bの構成情報定義テーブルTを参照して、配信先CMを確認する。図11では、配信先CMは、CM4−1〜4−3である。
(S14)図10に示したように、配信元CM4−0の制御部40aは、図9の処理で書き込んだシステムデイスクドライブ453(454)上のログデータを、メモリ40bのバッファ領域453−1に、展開する(読み出す)。この読み出しは、図9で書き込んだログデータのみであり、このため、バッファ領域453−1のログデータの格納アドレスとデータサイズを取得する。
(S16)制御部40aは、DMA43に、メモリ40bのログデータの格納アドレスとデータサイズ及び配信先CMを転送情報として与え、転送開始を指示する。これにより、図11に示したように、CM4−0は、メモリ40bのバッファ領域に展開されたログデータCM#0を、自己のシステムデイスクドライブ453(454)上の等価用ログデータ領域453−2に、フロントエンドルータ6−0(6−1)を介し、書き込む。これをステップS12で配信先CM分繰り返す。
(S18)制御部40aは、各配信先CMからのログデータ配信応答(ログデータ格納応答)を受け付けたかを判定する。即ち、配信先CMからの通信応答を待つ。
(S20)制御部40aは、応答を受け付けると、応答データを確認する。応答データが、処理成功かを判定し、処理成功でなければ、エラー処理する。例えば、再送し、再送しても、処理成功でなければ、異常を通知する。処理成功であり、又はエラー処理を行うと、ステップS10で確保したワーク領域(バッファ領域)を開放し、終了する。
次に、配信先CMのログデータ等価処理を、図14により、説明する。
(S30)配信先CMの制御部40aは、パワーオン時に、この処理のタスクを常駐し、待機する。即ち、制御部40aは、配信元CMからフロントエンドルータ6−0(6−1)からログデータ配信処理通知を受け付けたかを監視する。
(S32)制御部40aは、通知を受け付けると、ログデータ受信の準備を開始する。即ち、制御部40aは、メモリ40bのワーク領域(バッファ領域)を確保する。この場合に、ワーク領域に、配信ログデータの格納領域と、そのログ情報(サイズ、配信元等)の領域を設定する。
(S34)次に、制御部40aは、システムデイスクドライブ453(454)のログ格納領域の情報(ログ領域が設定されているかの情報)を取得する。
(S36)そして、制御部40aは、この情報からシステムデイスクドライブ453(454)の格納ログ領域を確認する。即ち、制御部40aは、システムデイスクドライブ453(454)に、等価用ログデータが格納されているか(等価用領域が確保されているか)を確認する。ログデータが格納されている場合には、システムデイスクドライブ453(454)の等価用ログデータの格納情報(開始アドレス、サイズ等)を取得する。ログデータが格納されていない場合には、システムデイスクドライブ453(454)の等価用ログデータの格納領域を確保するため、システムデイスクドライブ453(454)に格納するログデータの格納情報(開始アドレス、サイズ等)を設定する。これにより、ログデータの書き込み開始位置が確定する。
(S38)制御部40aは、これにより、これらの設定の準備が完了すると、図11及び図12に示したように、配信元CMから転送されたログデータCM#0を、メモリ40bのバッファ領域に読み込み、次に、ステップS32で設定したワーク領域のログ情報からワーク領域のログデータを、指定アドレスからログサイズ分コピーし、対象ログデータを、システムデイスクドライブ453(454)に、書き込み開始位置から書き込む。
(S40)制御部40aは、書き込みが成功したかを判定(システムデイスクドライブからの通知を判定)する。
(S42)制御部40aは、書き込みに成功しなかったと判定すると、エラー処理を行い、エラー応答を作成する。
(S44)一方、制御部40aは、書き込みに成功したと判定すると、システムデイスクドライブ453(454)に格納されている等価用ログデータの格納情報(例えば、格納位置、時間等)を書き込みデータ分、更新する。そして、制御部40aは、更新が成功したかを判定し、更新が成功しなかった場合には、ステップS42に戻り、エラー処理を行い、エラー応答を作成する。
(S46)ステップS44で、更新に成功した場合、又は、ステップS42でエラー応答を作成した場合には、制御部40aは、配信元CMに、通信処理の結果を応答する。そして、制御部40aは、メモリ40bのワーク領域(バッファ領域)を解放し、ステップS30に戻り、次の配信処理通知を待つ。
このように、ログデータの等価処理を行う際に、各CMで、バッファ領域の獲得、解放を行うため、等価処理の実行時のみ、メモリ40bを専用する。従って、特に、メモリ40bの容量を増加させることなく、実現できる。
[ログデータ等価処理の第2の実施の形態]
次に、ログデータ等価処理の第2の実施の形態を説明する。この制御方法は、当該CMのログデータと、次のCM番号に割り当てられた1つのCMのログデータを、システムデイスクドライブに格納する方法である。この方法は、先に記述した第1の実施の形態の全CMのログデータ共有方法に比べ、装置が正常運用時には、自CMともう1つのCMのログデータのみ管理するため、装置間通信処理の負荷が軽減される。
次に、ログデータ等価処理の第2の実施の形態を説明する。この制御方法は、当該CMのログデータと、次のCM番号に割り当てられた1つのCMのログデータを、システムデイスクドライブに格納する方法である。この方法は、先に記述した第1の実施の形態の全CMのログデータ共有方法に比べ、装置が正常運用時には、自CMともう1つのCMのログデータのみ管理するため、装置間通信処理の負荷が軽減される。
図15は、図2の構成情報定義テーブル470のCMバックアップテーブルの説明図、図16乃至図19は、本発明の他の実施の形態のログデータ等価処理の説明図である。この場合も、CM4−0で、ログデータの書き込みが発生し、他のCMへログデータを配信する例で説明するが、他のCMで、ログデータの書き込みが発生した場合も、同様である。
(1)図16に示すように、各CM4−0〜4−3は、自己のCMに搭載されているシステムデイスクドライブ453(454)の自己のログデータ領域に、CM4−0〜4−3のメモリ40bに書き込まれたログデータCM#0を書込む。このログデータの書き込みは、メモリ40bに所定量(例えば、5Mbyte)のログデータが書き込まれたことを検出し、実行される。又は、タイマーにより、定期的に実行しても良い。
(2)CM4−0の等価処理を開始し、図17に示すように、CM4−0のメモリ40bのバッファ領域に、(1)の処理で書き込んだシステムデイスクドライブ453(454)上のログデータ領域のログデータCM#0を展開する(読み出す)。
(3)図18に示すように、CM4−0は、次のCM番号が割り当てられたCM4−1のメモリ40bのバッファ領域に、そのログデータCM#0を転送する。この転送は、図1、図2のDMA43からフロントエンドルータ6−0(6−1)を介し、行われる。図15に示すように、構成情報定義テーブル470のバックアップテーブル470−1は、各CM4−0〜4−3のバックアップCM番号を格納する。通常、バックアップCM番号は、各CMの次のCM番号のCMであり、例えば、CM−0のバックアップCMは、CM−1である。
(4)図19に示すように、CM4−1は、メモリ40bのバッファ領域に転送されたログデータCM#0を、CM4−1に搭載されているシステムデイスクドライブ453(454)上のログデータ領域に書込む。
そして、CM4−0、CM4−1間で,ログデータの転送、書き込み処理が終わると、等価処理が完了となる。このように、一対のCM間で、ログデータを転送し、各CMが、他のCMのログデータを共有するため、CM内に、システムデイスクドライブを設けても、1のCMが異常となっても、残りの正常なCMから、異常となったCMのログデータを出力でき、異常CMの診断や予防保守が可能となる。又、データ転送先が、1つのため、ログデータの等価に要する時間を低減でき、且つシステムデイスクでのログデータ格納域の容量を小さくできる。
この等価処理は、図13乃至図14のものと同一である。但し、図13のステップS12で、配信先を決定する際に、図15のバックアップテーブル470−1を参照して、バックアップCMを配信先に決定する点が、異なるのみである。
の等価処理を開始する。
の等価処理を開始する。
[ログデータ等価処理の第3の実施の形態]
次に、本発明の第3の実施の形態のログデータ等価制御を説明する。第2の実施の形態で等価処理を行った場合に、1つのCMに異常が発生した場合は、他の全CMを使用して、ログデータの出力が可能である。しかし、更に、別のCMが異常した場合には、ログデータの出力が不可能となる場合がある。この第3の実施の形態では、1のCMに異常が発生した場合に、既存の正常CMにある異常CMのログデータを、別の正常CMに転送処理を行う。
次に、本発明の第3の実施の形態のログデータ等価制御を説明する。第2の実施の形態で等価処理を行った場合に、1つのCMに異常が発生した場合は、他の全CMを使用して、ログデータの出力が可能である。しかし、更に、別のCMが異常した場合には、ログデータの出力が不可能となる場合がある。この第3の実施の形態では、1のCMに異常が発生した場合に、既存の正常CMにある異常CMのログデータを、別の正常CMに転送処理を行う。
この等価処理により、更に、別CMに異常が発生した場合でも、ログデータの等価性が保持され、ログロストすることなく、データ出力が可能となる。図20及び図21により、CM異常発生時におけるログデータ等価処理を説明する。
(1)図20に示すように、第2の実施の形態により、各CMが、他の1つのCMのログデータを格納した状態で、CM4−0が異常を検出し、これを、CM4−1〜4−3に通知されたものとする。
(2)図21に示すように、図15のバックアップテーブル370−1から、異常CM4−0のシステムデイスクで保持している別のCMのログデータCM#3のログ等価データ元CM4−3と、異常CM4−0のログデータCM#0を格納する等価データ先CM−1とのCM番号を確認する。そして、異常CM4−0の等価用ログデータ元のCM4−3より、異常CM4−0の等価用ログデータ先のCM4−1へ、CM4−3のログデータCM#3を転送する。
このCM4−1のシステムデイスク453(454)へ、CM4−3のログデータCM#3の転送・書込み処理が完了した後、CM4−1のシステムデイスク453(454)にあるCM4−0の等価用ログデータCM#0を、CM4−3へ転送する。CM4−3が、システムデイスク453(454)へログデータCM#0の転送・書込み処理が完了すると、ログデータが等価状態となる。
このようにして、更に、別CMに異常が発生した場合でも、ログデータの等価性が保持され、ログロストすることなく、データ出力が可能となる。
図22乃至図24は、本発明の第3の実施の形態のログデータ等価制御方法の処理フロー図である。即ち、図22、図23は、本発明の一実施の形態のコントローラ異常時のログデータ配信処理フロー図、図24は、その配信先のログデータ格納処理フロー図である。先ず、ログデータ配信処理を図22及び図23で説明する。
(S50)先ず、図20の4つのCM4−0〜4−3の内、異常を検出し、配信処理を行うCM(これをマスターCMという)が決められているものとする。このマスターCMの制御部40aは、パワーオン時に、この処理のタスクを常駐し、待機する。即ち、制御部40aは、異常CMから異常検出を受けたかを判定する。
(S52)制御部40aは、異常通知を受け付けると、ログデータ退避処理を開始し、先ず、正常なCMが、処理CM(マスターCM)のみかを判定する。即ち、図20の3つのCMが異常かを判定する。正常なCMが、処理CMのみである場合には、等価先CMが存在しないため、終了する。
(S54)一方、制御部40aは、正常なCMが、処理CMのみでない場合には、退避の準備を開始する。即ち、マスターCMの制御部40aは、メモリ40bに退避先情報の設定のワーク領域を確保する。
(S56)次に、制御部40aは、退避用ログデータ保有CMを確認する。即ち、図15の構成情報定義テーブルのバックアップテーブル470−1から、異常CMが、管理していたログデータの等価先、等価元を確認し、ワーク領域に設定する。例えば、CM4−0が、異常なら、等価先は、CM4−1であり、等価元は、CM−3である。これにより、異常CMのログデータCM#0,CM#3を格納しているCMが確認できる。即ち、退避元(配信元)CMを確認する。
(S58)次に、ログデータ退避先CMの判定を開始する。先ず、異常CMのログデータ(図21では、CM#0)の退避先CMを判定する。即ち、異常CMのCM番号で、前述のバックアップテーブル470−1を参照し、退避先CMを検索して、ワーク領域に設定する。例えば、図21のように、異常CMが、CM−0であれば、図15よりCM4−3がリンクしているため、CM4−3を、異常CM4−0のログデータCM#0の退避先に決定し、設定する。
(S60)同様に、異常CMが保持していたログデータ(図21では、CM#3)の退避先CMを判定する。即ち、異常CMのCM番号で、前述のバックアップテーブル470−1を参照し、退避先CMを検索する。例えば、図21のように、異常CMが、CM−0であれば、図15よりCM4−1がリンクしているため、CM4−1を、異常CM4−0の保持している等価ログデータCM#3の退避先に決定する。
(S62)図23に移り、この等価用ログデータの退避先(配信先)CMを、ワーク領域に設定する。
(S64)次に、配信元CMへ対象ログデータの等価処理を指示する。先ず、配信元(ステップS56で決定)が、マスターCMかを判定する。マスターCMでなければ、配信元CMに、CM間通信処理による、ログデータ等価処理を依頼する。
(S66)マスターCMの制御部40aは、配信元CMからのログデータ配信応答(等価処理結果)を待ち、ログデータ配信応答を受け付けると、ステップS70に進む。
(S68)一方、ステップS64で、配信元がマスターCMである場合には、マスターCMの制御部40aが、対象ログデータを、退避先(配信先)CMへ配信処理する。この処理は、図13、図14の処理と同一であり、説明を省略する。
(S70)ステップS66,S68で、配信処理が完了すると、制御部40aは、処理結果を確認する。処理結果が成功を示さない場合には、エラー処理を行い、エラー結果を残し、終了する。逆に、処理結果が成功を示す場合には、制御部40aは、全対象データの退避が完了したかを判定する。全対象データの退避が完了していない場合には、ステップS66に戻り、次の配信処理を行う。一方、全対象データの退避が完了した場合には、終了する。
次に、配信依頼先のCMの配信処理を、図24で説明する。
(S72)配信依頼先CMの制御部40aは、パワーオン時に、この処理のタスクを常駐し、待機する。即ち、制御部40aは、マスターCMからフロントエンドルータ6−0(6−1)を介しログデータ配信処理依頼を受け付けたかを監視する。
(S74)制御部40aは、通知を受け付けると、図13及び図14で説明した対象ログデータの配信先CMへの配信処理を実行する。そして、配信処理終了後、処理結果を、フロントエンドルータ6−0(6−1)経由で、マスターCMへ応答し、終了する。
このようにして、複数のCMが異常となっても、正常CMで、異常CMを含む全CMのログデータを保持でき、ログデータの消失を防止できる。又、構成情報定義テーブルを参照して、退避時に、退避のための配信元、配信先を決定するため、容易に、退避の配信処理が可能となる。
[他の実施の形態]
前述の実施の形態では、制御モジュールが4つの例で、ログデータ出力処理を説明したが、同様に、制御モジュールが3つ以上の場合も、適用できる。制御モジュール内のチャネルアダプタやディスクアダプタの数は、必要に応じて、増減できる。
前述の実施の形態では、制御モジュールが4つの例で、ログデータ出力処理を説明したが、同様に、制御モジュールが3つ以上の場合も、適用できる。制御モジュール内のチャネルアダプタやディスクアダプタの数は、必要に応じて、増減できる。
又、ディスクドライブとしては、ハードディスクドライブ、光ディスクドライブ、光磁気ディスクドライブ等の記憶デバイスを適用できる。更に、ストレージシステムやコントローラ(制御モジュール)の構成は、図1の構成のみならず、他の構成(例えば、図25)にも適用できる。
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
(付記1)データを記憶する複数のディスク記憶デバイスと、前記複数のディスク記憶デバイスに接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する複数の制御モジュールとを有し、前記各制御モジュールは、前記ディスク記憶デバイスに記憶されたデータの一部を格納するキャッシュ領域を有するメモリと、前記アクセス制御を行う制御ユニットと、前記上位とのインターフェース制御を行う第1のインターフェース部と、前記複数のディスク記憶デバイスとのインターフェース制御を行う第2のインターフェース部と、前記制御ユニットに接続され、前記制御ユニットの少なくともログデータを格納するシステムディスクユニットとを有し、1の制御モジュールは、前記システムデイスクユニットのログデータを、他の制御モジュールに転送し、他の制御モジュールのシステムデイスクユニットに格納して、ログデータの等価制御を実行することを特徴とするデータストレージシステム。
(付記2)前記1の制御モジュールは、前記他の制御モジュールのシステムディスクユニットのログデータを受け、前記1の制御モジュールのシステムディスクユニットに、前記他の制御モジュールのログデータを格納することを特徴とする付記1のデータストレージシステム。
(付記3)各制御モジュールは、前記複数の制御モジュール間で相互に、各制御モジュールのシステムディスクユニットのログデータを、他の制御モジュールに配信し、前記複数の制御モジュールのシステムディスクユニットに、全制御モジュールのログデータを格納することを特徴とする付記1のデータストレージシステム。
(付記4)前記複数の制御モジュールが、4つ以上の制御モジュールで構成され、各制御モジュールは、各制御モジュールのシステムディスクユニットに、自己のログデータと、バックアップ先の制御モジュールのログデータを格納することを特徴とする付記1のデータストレージシステム。
(付記5)前記4つ以上の制御モジュールの内、1の前記制御モジュールは、他の1の制御モジュールの異常を検出して、前記他の1の制御モジュールのシステムディスクユニットに格納された自己のログデータと、バックアップ先の制御モジュールのログデータの、等価先及び等価元と探索し、配信元を決定し、且つバックアップ先から配信先を決定し、配信元の制御モジュールから前記配信先の制御モジュールに、前記他の1の制御モジュールのシステムディスクユニットに格納された自己のログデータと、バックアップ先の制御モジュールのログデータログデータのコピーを配信し、前記制御モジュールのシステムディスクユニットに格納することを特徴とする付記4のデータストレージシステム。
(付記6)前記1の制御モジュールは、前記1の制御モジュールのシステムディスクユニットに前記ログデータを格納したことを契機に、前記他の制御モジュールへのログデータの転送を含む等価処理を実行することを特徴とする付記1のデータストレージシステム。
(付記7)前記1の制御モジュールは、前記1の制御モジュールのログデータを、前記システムディスクユニットの自己のログデータ領域に格納し、前記1の制御モジュールのログデータと、前記他の制御モジュールのログデータを、前記システムデイスクユニットの等価用ログデータ領域に格納することを特徴とする付記1のデータストレージシステム。
(付記8)前記1の制御モジュールは、前記1の制御モジュールのシステムデイスクユニットの自己のログデータを、メモリのバッファ領域に読み出し、前記他の制御モジュールのメモリのバッファ領域に転送し、前記他の制御モジュールは、前記メモリのバッファ領域の前記1の制御モジュールのログデータを、前記システムデイスクドライブに書き込むことを特徴とする付記1のデータストレージシステム。
(付記9)データを記憶する複数のディスク記憶デバイスに接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する複数の制御モジュールを有し、前記各制御モジュールは、前記ディスク記憶デバイスに記憶されたデータの一部を格納するキャッシュ領域を有するメモリと、前記アクセス制御を行う制御ユニットと、前記上位とのインターフェース制御を行う第1のインターフェース部と、前記複数のディスク記憶デバイスとのインターフェース制御を行う第2のインターフェース部と、前記制御ユニットに接続され、前記制御ユニットの少なくともログデータを格納するシステムディスクユニットとを有するストレージ制御装置のログデータ等価制御方法であって、1の制御モジュールの前記システムデイスクユニットのログデータを、他の制御モジュールに転送するステップと、前記転送されたログデータを、前記他の制御モジュールのシステムデイスクユニットに格納して、ログデータの等価制御を実行するステップとを有することを特徴とするストレージ制御装置のログデータ等価制御方法。
(付記10)前記1の制御モジュールで、前記他の制御モジュールのシステムディスクユニットのログデータを受け、前記1の制御モジュールのシステムディスクユニットに、前記他の制御モジュールのログデータを格納するステップを更に有することを特徴とする付記9のストレージ制御装置のログデータ等価制御方法。
(付記11)前記転送ステップは、前記複数の制御モジュール間で相互に、各制御モジュールのシステムディスクユニットのログデータを、他の制御モジュールに配信するステップからなり、前記等価処理ステップは、前記複数の制御モジュールのシステムディスクユニットに、全制御モジュールのログデータを格納するステップからなることを特徴とする付記9のストレージ制御装置のログデータ等価制御方法。
(付記12)前記等価処理ステップは、4つ以上の制御モジュールの各制御モジュールで、各制御モジュールのシステムディスクユニットに、自己のログデータと、バックアップ先の制御モジュールのログデータを格納するステップからなることを特徴とする付記9のストレージ制御装置のログデータ等価制御方法。
(付記13)前記4つ以上の制御モジュールの内、1の前記制御モジュールで、他の1の制御モジュールの異常を検出するステップと、前記他の1の制御モジュールのシステムディスクユニットに格納された自己のログデータと、バックアップ先の制御モジュールのログデータの、等価先及び等価元と探索し、配信元を決定し、且つバックアップ先から配信先を決定するステップと、配信元の制御モジュールから前記配信先の制御モジュールに、前記他の1の制御モジュールのシステムディスクユニットに格納された自己のログデータと、バックアップ先の制御モジュールのログデータログデータのコピーを配信し、前記制御モジュールのシステムディスクユニットに格納するステップを更に有することを特徴とする付記12のストレージ制御装置のログデータ等価制御方法。
(付記14)前記転送ステップは、前記1の制御モジュールで、前記1の制御モジュールのシステムディスクユニットに前記ログデータを格納したことを契機に、前記他の制御モジュールへのログデータの転送を実行するステップからなることを特徴とする付記9のストレージ制御装置のログデータ等価制御方法。
(付記15)前記等価処理ステップは、前記1の制御モジュールのログデータを、前記システムディスクユニットの自己のログデータ領域に格納し、前記1の制御モジュールのログデータと、前記他の制御モジュールのログデータを、前記システムデイスクユニットの等価用ログデータ領域に格納するステップからなることを特徴とする付記9のストレージ制御装置のログデータ等価制御方法。
(付記16)前記転送ステップは、前記1の制御モジュールで、前記1の制御モジュールのシステムデイスクユニットの自己のログデータを、メモリのバッファ領域に読み出し、前記他の制御モジュールのメモリのバッファ領域に転送するステップからなり、等価処理ステップは、前記他の制御モジュールで、前記メモリのバッファ領域の前記1の制御モジュールのログデータを、前記システムデイスクドライブに書き込むステップからなることを特徴とする付記9のストレージ制御装置のログデータ等価制御方法。
制御モジュールにシステムディスクを内蔵したので、制御モジュールと、ディスク記憶デバイスとの経路が不具合となっても、制御モジュールや他の経路により、システムディスクから、ファームウェアや装置構成のバックアップデータを読み出すことができ、他の経路を利用した動作が可能となり、且つログデータの読み出し、書き込みができ、障害時の解析や、予防障害の診断等が可能となる。
しかも、システムディスクを、制御モジュールに内蔵し、1の制御モジュールのログデータを、実装されている他の制御モジュールのシステムデイスクで格納し、等価処理するので、1の制御モジュールが異常でも、他の制御モジュールで、1の制御モジュールのログデータを出力でき、いかなる箇所の異常にも対応できる信頼性の高いストレージシステムを提供できる。
1 ストレージシステム
2−0〜2−15 ディスクエンクロージャ
4−0〜4−3 制御ユニット
5−0〜5−3 バックエンドルータ
6−0〜6−1 フロントエンドルータ
7 バックパネル
40 制御モジュール
40a 制御ユニット
40b メモリ
41 チャネルアダプタ
42 デバイスアダプタ
43 通信ユニット(DMAエンジン)
453,454 システムディスクユニット
2−0〜2−15 ディスクエンクロージャ
4−0〜4−3 制御ユニット
5−0〜5−3 バックエンドルータ
6−0〜6−1 フロントエンドルータ
7 バックパネル
40 制御モジュール
40a 制御ユニット
40b メモリ
41 チャネルアダプタ
42 デバイスアダプタ
43 通信ユニット(DMAエンジン)
453,454 システムディスクユニット
Claims (5)
- データを記憶する複数のディスク記憶デバイスと、
前記複数のディスク記憶デバイスに接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する複数の制御モジュールとを有し、
前記各制御モジュールは、
前記ディスク記憶デバイスに記憶されたデータの一部を格納するキャッシュ領域を有するメモリと、
前記アクセス制御を行う制御ユニットと、
前記上位とのインターフェース制御を行う第1のインターフェース部と、前記複数のディスク記憶デバイスとのインターフェース制御を行う第2のインターフェース部と、
前記制御ユニットに接続され、前記制御ユニットの少なくともログデータを格納するシステムディスクユニットとを有し、
1の制御モジュールは、前記システムデイスクユニットのログデータを、他の制御モジュールに転送し、他の制御モジュールのシステムデイスクユニットに格納して、ログデータの等価制御を実行する
ことを特徴とするデータストレージシステム。 - 前記1の制御モジュールは、前記他の制御モジュールのシステムディスクユニットのログデータを受け、前記1の制御モジュールのシステムディスクユニットに、前記他の制御モジュールのログデータを格納する
ことを特徴とする請求項1のデータストレージシステム。 - 前記複数の制御モジュールが、4つ以上の制御モジュールで構成され、各制御モジュールは、各制御モジュールのシステムディスクユニットに、自己のログデータと、バックアップ先の制御モジュールのログデータを格納する
ことを特徴とする請求項1のデータストレージシステム。 - データを記憶する複数のディスク記憶デバイスに接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する複数の制御モジュールを有し、
前記各制御モジュールは、前記ディスク記憶デバイスに記憶されたデータの一部を格納するキャッシュ領域を有するメモリと、前記アクセス制御を行う制御ユニットと、前記上位とのインターフェース制御を行う第1のインターフェース部と、前記複数のディスク記憶デバイスとのインターフェース制御を行う第2のインターフェース部と、前記制御ユニットに接続され、前記制御ユニットの少なくともログデータを格納するシステムディスクユニットとを有するストレージ制御装置のログデータ等価制御方法であって、
1の制御モジュールの前記システムデイスクユニットのログデータを、他の制御モジュールに転送するステップと、
前記転送されたログデータを、前記他の制御モジュールのシステムデイスクユニットに格納して、ログデータの等価制御を実行するステップとを有する
ことを特徴とするストレージ制御装置のログデータ等価制御方法。 - 前記1の制御モジュールで、前記他の制御モジュールのシステムディスクユニットのログデータを受け、前記1の制御モジュールのシステムディスクユニットに、前記他の制御モジュールのログデータを格納するステップを更に有する
ことを特徴とする請求項4のストレージ制御装置のログデータ等価制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005085286A JP2006268403A (ja) | 2005-03-24 | 2005-03-24 | データストレージシステム及びストレージ制御装置のログデータの等価制御方法 |
US11/231,932 US7426658B2 (en) | 2005-03-24 | 2005-09-22 | Data storage system and log data equalization control method for storage control apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005085286A JP2006268403A (ja) | 2005-03-24 | 2005-03-24 | データストレージシステム及びストレージ制御装置のログデータの等価制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006268403A true JP2006268403A (ja) | 2006-10-05 |
Family
ID=37036542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005085286A Pending JP2006268403A (ja) | 2005-03-24 | 2005-03-24 | データストレージシステム及びストレージ制御装置のログデータの等価制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7426658B2 (ja) |
JP (1) | JP2006268403A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014010710A (ja) * | 2012-06-29 | 2014-01-20 | Fujitsu Ltd | ストレージシステムおよびストレージシステムの制御方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070130390A1 (en) * | 2005-11-21 | 2007-06-07 | Yi-Hsien Hao | Method and apparatus for effective package memory bandwidth management |
US9170868B2 (en) * | 2011-07-27 | 2015-10-27 | Cleversafe, Inc. | Identifying an error cause within a dispersed storage network |
JP5751156B2 (ja) * | 2011-12-19 | 2015-07-22 | 富士通株式会社 | ストレージシステム、制御装置およびストレージシステムの制御方法 |
JP2024061460A (ja) * | 2022-10-21 | 2024-05-07 | 株式会社日立製作所 | ストレージシステムおよびストレージ制御方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0540582A (ja) * | 1991-08-07 | 1993-02-19 | Shikoku Nippon Denki Software Kk | フアイル処理装置 |
JPH117359A (ja) * | 1997-06-18 | 1999-01-12 | Hitachi Ltd | 内部ネットワークを備えた記憶制御装置 |
JP2001075741A (ja) * | 1999-09-02 | 2001-03-23 | Toshiba Corp | ディスク制御システムおよびデータ保全方法 |
JP2002334049A (ja) * | 2001-05-11 | 2002-11-22 | Hitachi Ltd | 記憶サブシステムおよび記憶サブシステムの制御方法 |
JP2005025683A (ja) * | 2003-07-03 | 2005-01-27 | Hitachi Ltd | 記憶システム及び記憶装置システム |
JP2006268402A (ja) * | 2005-03-24 | 2006-10-05 | Fujitsu Ltd | データストレージシステム及びストレージ制御装置の異常時のログデータ出力方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3399398B2 (ja) | 1999-04-02 | 2003-04-21 | 日本電気株式会社 | フォールトトレラントシステムにおけるミラーディスク復旧方式 |
JP2003316525A (ja) | 2002-04-26 | 2003-11-07 | Seiko Epson Corp | ディスクアレイ制御装置 |
JP4561168B2 (ja) * | 2004-04-28 | 2010-10-13 | 株式会社日立製作所 | データ処理システムおよび方法並びにその処理プログラム |
-
2005
- 2005-03-24 JP JP2005085286A patent/JP2006268403A/ja active Pending
- 2005-09-22 US US11/231,932 patent/US7426658B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0540582A (ja) * | 1991-08-07 | 1993-02-19 | Shikoku Nippon Denki Software Kk | フアイル処理装置 |
JPH117359A (ja) * | 1997-06-18 | 1999-01-12 | Hitachi Ltd | 内部ネットワークを備えた記憶制御装置 |
JP2001075741A (ja) * | 1999-09-02 | 2001-03-23 | Toshiba Corp | ディスク制御システムおよびデータ保全方法 |
JP2002334049A (ja) * | 2001-05-11 | 2002-11-22 | Hitachi Ltd | 記憶サブシステムおよび記憶サブシステムの制御方法 |
JP2005025683A (ja) * | 2003-07-03 | 2005-01-27 | Hitachi Ltd | 記憶システム及び記憶装置システム |
JP2006268402A (ja) * | 2005-03-24 | 2006-10-05 | Fujitsu Ltd | データストレージシステム及びストレージ制御装置の異常時のログデータ出力方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014010710A (ja) * | 2012-06-29 | 2014-01-20 | Fujitsu Ltd | ストレージシステムおよびストレージシステムの制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US7426658B2 (en) | 2008-09-16 |
US20060218345A1 (en) | 2006-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4413184B2 (ja) | データストレージシステム及びデータストレージ制御装置 | |
KR100740080B1 (ko) | 데이터 기억 시스템 및 데이터 기억 제어 장치 | |
JP4472617B2 (ja) | Raidシステム、raidコントローラ及びそのリビルド/コピーバック処理方法 | |
JP4817783B2 (ja) | Raidシステム及びそのリビルド/コピーバック処理方法 | |
JP4107083B2 (ja) | 高可用ディスク制御装置とその障害処理方法及び高可用ディスクサブシステム | |
JP2007094996A (ja) | データストレージシステム、データストレージ制御装置及びその障害箇所診断方法 | |
JP2007206766A (ja) | データストレージシステム、データストレージ制御装置及びその障害箇所診断方法。 | |
JPH11167521A (ja) | 記憶システム | |
JP4252551B2 (ja) | データストレージシステム及びストレージ制御装置の異常時のログデータ出力方法 | |
JP2005339216A (ja) | 記憶制御システム | |
US20140223097A1 (en) | Data storage system and data storage control device | |
JP2006268403A (ja) | データストレージシステム及びストレージ制御装置のログデータの等価制御方法 | |
JP5998884B2 (ja) | ストレージ装置、およびモジュール間データ転送方法 | |
JP4404754B2 (ja) | データストレージ装置及び情報処理システム | |
JP4440127B2 (ja) | データストレージシステム及びデータストレージ制御装置 | |
JP4985750B2 (ja) | データストレージシステム | |
JP2003345530A (ja) | 記憶システム | |
JP2007299079A (ja) | ストレージ装置及びその障害回復方法 | |
JP2002073286A (ja) | 記憶システム | |
CN114579047A (zh) | 具有控制器的数据存储系统架构及其数据访问方法 | |
JPH11353776A (ja) | ディスクアレイ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090317 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090515 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091124 |