JP4401305B2 - デイスクアレイ装置の構成定義設定方法及びデイスクアレイ装置 - Google Patents

デイスクアレイ装置の構成定義設定方法及びデイスクアレイ装置 Download PDF

Info

Publication number
JP4401305B2
JP4401305B2 JP2005033532A JP2005033532A JP4401305B2 JP 4401305 B2 JP4401305 B2 JP 4401305B2 JP 2005033532 A JP2005033532 A JP 2005033532A JP 2005033532 A JP2005033532 A JP 2005033532A JP 4401305 B2 JP4401305 B2 JP 4401305B2
Authority
JP
Japan
Prior art keywords
disk
space
memory
host
configuration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005033532A
Other languages
English (en)
Other versions
JP2006221371A (ja
Inventor
秀治郎 大黒谷
実希夫 伊藤
和彦 池内
信哉 望月
克彦 長嶋
明人 小林
幸治 内田
晋一 西園
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005033532A priority Critical patent/JP4401305B2/ja
Priority to US11/239,230 priority patent/US7725664B2/en
Publication of JP2006221371A publication Critical patent/JP2006221371A/ja
Application granted granted Critical
Publication of JP4401305B2 publication Critical patent/JP4401305B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2002Error 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/2007Error 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/201Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2089Redundant storage control functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データを格納するデイスク装置を多数搭載したデイスクアレイ装置のファームウェアが使用する構成定義情報の設定を行うためのデイスクアレイ装置の構成定義設定方法及びデイスクアレイ装置に関し、特に、規模の異なるモデルに応じて、構成定義情報の格納サイズを可変にするためのデイスクアレイ装置の構成定義設定方法及びデイスクアレイ装置に関する。
近年、様々なデータが電子化され、コンピュータ上で扱われるのに従い、データの処理を実行するホストコンピュータとは独立して、大量のデータを効率よく、高い信頼性で格納することのできるデータストレージ装置(外部記憶装置)の重要性が増加している。
このデータストレージ装置として、大量のディスクデバイス(例えば、磁気ディスクや光ディスク)と、これら大量のディスクデバイスを制御するディスクコントローラとから構成されるディスクアレイ装置が利用されている。このディスクアレイ装置は、同時に複数のホストコンピュータからのディスクアクセス要求を受け付けて、大量のディスクに対する制御を行なうことができる。
このようなデイスクアレイ装置に対するユーザーの要求は、様々であり、ユーザーの目的に応じて、複数の規模のモデルを提供する必要がある。即ち、ユーザーの目的に応じて、搭載するデイスク装置の台数が変わる。例えば、ディスクデバイスが数1000台以上、記憶容量では、数百テラバイト以上のディスクデバイス群を1台で制御できる大規模ディスクアレイ装置から、デイスクデバイスが数10台の小規模デイスクアレイ装置まで、種々のモデルが要求されている。
このように、デイスクアレイ装置の構成が変わることは、デイスク装置を制御するための構成情報を、規模に合わせて、設定する必要がある。即ち、デイスクアレイ装置では、コントローラのファーム内の構成定義であり、そのディスクアレイ装置に固有な内部情報である。例えば、搭載する各ディスク装置の情報と状態や、LUN(Logical Unit Number)やRAIDグループの設定内容、コントローラのハード状態、搭載アダプタの種別といったものがある。
このような構成情報のメモリサイズは、モデルによって、最低必要なサイズが異なる。従来、コンピュータシステムでは、接続装置の構成に応じて、構成情報を自動作成し、メモリに格納することが行われている(例えば、特許文献1参照)。
一方、デイスクアレイ装置では、モデルによって、構成情報そのものが、多岐に渡る。例えば、デイスク搭載数が、数十台から数千台であるため、従来は、搭載台数が少ないローエンド/ミッドレンジ向けの製品の各モデルでは、搭載するメモリの関係上、モデル毎に、構成情報作成ファームウェアを作成していた。又、デイスク装置の搭載台数が多いハイエンド向けの製品の各モデルでは、ファームウェアはモデル間で同一であるものの、搭載可能最大数の構成定義のメモリを確保していた。
特開平9−54744号公報(図2)
このように、従来技術のモデル毎に、ファームウェアを作成する方法では、開発コストが増加し、且つその評価工数も増加し、新規なデイスクアレイ装置の市場提供が遅れる可能性がある。
又、従来のモデル間で、共通ファームウェアで、構成定義を作成する方法では、最大構成分のメモリ容量を確保する必要があった。この理由は、デイスク装置の搭載台数に比例し、LUN(論理ユニット番号)数も比例するため、メモリの必要なキャッシュサイズが変化する。このため、デイスクアレイ装置に搭載するメモリサイズを、キャッシュサイズと構成定義に使用するメモリサイズとから、メモリ搭載量を決定する必要がある。この作業は、モデル数が多岐に渡ると、極めて煩雑な作業であり、このため、構成定義に使用するメモリサイズは、最大構成分のサイズに固定することは、有効であった。
しかし、ディスク装置の搭載数に差があると、構成定義に使用するメモリサイズも変化するため、従来の最大構成分のメモリサイズを確保する方法では、無駄なメモリを搭載することとなる。近年の装置の低価格の要求により、無駄なメモリを搭載することは、製品の価格を上げる原因となる。特に、デイスク装置の搭載台数の莫大なモデルも要請されているため、このように装置台数のレンジが大きい多数のモデルに対し、最大構成分のメモリサイズを確保する方法では、小、中規模モデルでは、この無駄なメモリの価格が、装置価格に対し無視できない程、大きくなってきた。
従って、本発明の目的は、共通のファームウェアで構成定義を自動作成しても、構成定義のメモリサイズをデイスク装置の搭載台数分のサイズに低減するためのデイスクアレイ装置の構成定義設定方法及びそのデイスクアレイ装置を提供することにある。
又、本発明の他の目的は、共通のファームウェアで構成定義を自動作成しても、構成定義のメモリサイズをデイスク装置の搭載台数分のサイズに低減し、装置価格を低減するためのデイスクアレイ装置の構成定義設定方法及びそのデイスクアレイ装置を提供することにある。
更に、本発明の他の目的は、共通のファームウェアで構成定義を自動作成しても、構成定義のメモリサイズをデイスク装置の搭載台数分のサイズに低減し、メモリのキャッシュ領域を有効に利用するためのデイスクアレイ装置の構成定義設定方法及びそのデイスクアレイ装置を提供することにある。
更に、本発明の他の目的は、共通のファームウェアで構成定義を自動作成しても、構成定義のメモリサイズをデイスク装置の搭載台数分のサイズに低減し、多岐に渡るモデルを適切な価格で提供するためのデイスクアレイ装置の構成定義設定方法及びそのデイスクアレイ装置を提供することにある。
この目的の達成のため、本発明は、ホストから依頼されたI/O要求に応じて、接続されたデイスク装置をアクセスし、I/O要求を実行するデイスクアレイ装置の構成定義を設定する方法において、制御ユニットが、前記デイスクアレイ装置の規模を示すモデル名により、不揮発性メモリから、前記各モデルのホスト論理空間と、RAID空間と、仮想デイスク空間と、前記デイスク装置との各々の最大数を格納するモデル対応テーブルを参照して、対応する前記ホスト論理空間と、前記RAID空間と、前記仮想デイスク空間と、前記デイスク装置との各々の最大数を読み出すステップと、前記制御ユニットが、前記読み出した前記ホスト論理空間と、前記RAID空間と、前記仮想デイスク空間と、前記デイスク装置との各々の最大数から、前記ホスト論理空間と、前記RAID空間と、前記仮想デイスク空間と、前記デイスク装置の各々の構成情報を格納する各領域を、前記メモリ内に確保し、前記各領域の先頭アドレスを、前記メモリに格納するステップと、前記制御ユニットが、前記各領域に、前記不揮発性メモリに格納された前記構成情報のホストLUN(論理ユニット番号)と、RAIDグループ定義と、仮想デイスク定義と、物理デイスクの情報の各々を、格納して、前記デイスク装置をアクセスするため、前記メモリの各領域の先頭アドレスからのポインタで、参照して、前記依頼されたI/O要求のホスト論理ブロックアドレスから前記デイスク装置の物理ブロックを計算するため使用する構成定義テーブルを作成するステップとを有する。
又、本発明は、ホストから依頼されたI/O要求に応じて、接続されたデイスク装置をアクセスし、I/O要求を実行するデイスクアレイ装置において、前記デイスクアレイ装置の規模を示すモデル名と、前記各モデルのホスト論理空間と、RAID空間と、仮想デイスク空間と、前記デイスク装置の各々の最大数を格納するモデル対応テーブルと、前記デイスクアレイ装置のホストLUN(論理ユニット番号)と、RAIDグループ定義と、仮想デイスク定義と、物理デイスクの情報とからなる構成情報とを格納する不揮発性メモリと、ホスト論理ブロックアドレスから前記デイスク装置の物理ブロックを計算するための構成定義テーブルを格納するメモリと、前記構成定義テーブルを参照して、前記依頼されたI/O要求のホスト論理ブロックアドレスから前記デイスク装置の物理ブロックを計算し、前記デイスク装置をアクセスする制御ユニットとを有し、前記制御ユニットは、前記モデル名で、前記モデル対応テーブルを参照して、対応する前記ホスト論理空間と、RAID空間と、仮想デイスク空間と、前記デイスク装置の各々の最大数を読み出し、前記ホスト論理空間とRAID空間と、仮想デイスク空間と、前記デイスク装置の各々の最大数から、前記ホスト論理空間と前記RAID空間と前記仮想デイスク空間と前記デイスク装置の構成情報の各々を格納する前記メモリ内の各領域を確保し、且つ前記各領域の先頭アドレスを、前記メモリに格納し、前記各領域に、前記不揮発性メモリに格納された前記構成情報のホストLUN(論理ユニット番号)と、RAIDグループ定義と、仮想デイスク定義と、物理デイスクの情報の各々を、格納して、前記構成定義テーブルを作成し、前記メモリの各領域の先頭アドレスからのポインタで、前記構成定義テーブルを参照して、前記依頼されたI/O要求のホスト論理ブロックアドレスから前記デイスク装置の物理ブロックを計算する。
更に、本発明では、好ましくは、前記計算ステップは、前記読み出した前記ホスト論理空間と、RAID空間と、仮想デイスク空間と、前記デイスク装置の最大数とから、各々の先頭アドレスを計算するステップからなる。
更に、本発明では、好ましくは、前記作成ステップは、前記ホスト論理ブロックアドレスから前記デイスク装置の物理ブロックアドレスを計算するための構成定義テーブルを作成するステップからなる。
更に、本発明では、好ましくは、前記作成した構成定義テーブルを不揮発性メモリに格納するステップを更に有する。
更に、本発明では、好ましくは、前記格納ステップは、前記デイスク装置のキャッシュ領域に使用されるメモリの前記キャッシュ領域以外の領域に前記構成定義テーブルを格納するステップからなる。
本発明では、構成設定処理のために、各モデルの定義を表す情報(ホスト論理空間とRAID空間と仮想デイスク空間とデイスク装置の各々の最大数を格納するモデル対応表)を不揮発性メモリに用意し、この内容から該当モデルの最大値をメモリに記録し、同時に各種別(ホスト論理空間とRAID空間と仮想デイスク空間とデイスク装置)の構成情報を格納するためのメモリ領域を確保する。そして、実際の構成定義の内容は、この後で、バックアップディスクやフラッシュROM等の不揮発性メモリから確保されたメモリ領域上に展開する。このため、多岐に渡るモデルでも、構成定義テーブルのメモリサイズをそのモデルに合わせたサイズに削減でき、且つモデルによらず、共通のファームウェアで実現できる。即ち、モデル対応表を用意しているため、実際の構成定義の内容を格納する前に、モデルに応じたメモリサイズのメモリ領域を確保できる。
又、各領域の先頭アドレスをメモリに格納しているため、構成定義テーブルを参照する場合には、ポインタ経由で参照することで、モデルに依らずに同じ方法で参照できる。
以下、本発明の実施の形態を、デイスクアレイ装置、構成定義設定処理、構成定義を使用したデイスク装置のアクセス処理、他の実施の形態の順で説明する。
[デイスクアレイ装置]
図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つ)のBack-end Router(第1スイッチユニット;図中BRTと表記し、以下、BRTという)5−0〜5−3と、複数(ここでは2つ)のFront-end Router(第2スイッチユニット;図中FRTと表記、以下、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とを備える。
メモリ40bは、ディスクエンクロージャ2−0〜2−25の複数のディスクに保持されたデータの一部を保持する、所謂、複数のディスクに対するキャッシュの役割を果たすキャッシュ領域と、構成定義格納領域と、その他のワーク領域とを有する。
制御部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等の高速シリアルバスは、パケットで通信し、且つシリアルバスを複数レーン設けることにより、信号線本線を減らしても、遅延の少ない、速い応答速度で、所謂、低レンテンシで通信することができる。
チャネルアダプタ41a〜41dは、ホストコンピュータに対するインターフェースであり、チャネルアダプタ41a〜41dは、それぞれ異なるホストコンピュータと接続される。また、チャネルアダプタ41a〜41dは、それぞれ対応するホストコンピュータのインターフェース部に、バス、例えば、ファイバチャネル(Fiber Channel)やEthernet(登録商標)によって接続されることが好ましく、この場合、バスとしては、光ファイバや同軸ケーブルが用いられる。
さらに、これらチャネルアダプタ41a〜41dそれぞれは、各制御モジュール4−0〜4−3の一部として構成されている。このチャネルアダプタ41a〜41bが、対応するホストコンピュータと制御モジュール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)やプリント基板の間を接続するために設計されたバスによって、コントローラ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)という小振幅差動インターフェースが採用される。
図5は、CPU400(410)が実行するソフトウェアのプログラムモジュールの構成図である。図5に示すように、ソフトウェアモジュールは、カーネル/スケジューラ600と、IO制御モジュール602と、CM間通信ドライバ604と、CPU間通信ドライバ606と、システム制御モジュール608と、ネットワークドライバ610とを有する。
カーネル/スケジューラ600は、MS−DOS(登録商標)等のオペレーテイングシステムである。IO制御モジュール602は、CM−CAドライバ620と、ベーシックモジュール640と、CM−DAドライバ630と有する。CM−CAドライバ620は、CA41をドライブするドライバである。
ベーシックモジュール630は、資源管理を行うリソーススレッド(リソース制御モジュール)646、コピー処理を行うコピースレッド(コピー制御モジュール)646、メモリ40bのキャッシュメモリの制御を行うキャッシュスレッド(キャッシュメモリ制御モジュール)648を有するフロントエンドと、RAID構成制御を行うRAIDスレッド(RAID制御モジュール)632、OVSMスレッド(OVSM制御モジュール)634とを有するバックエンドとからなる。
OVSMスレッド634は、クイックフォーマット(QF)や論理デバイス拡張(LDE)のスケジューリング、RAIDスレッド632への論理フォーマット(LF)依頼、LDE進捗管理を行う。
メインテナンスエージェント612は、OVSMスレッド634への各種の通知を行う。CM−DAドライバ630は、CM43をドライブするドライバである。CM間通信ドライバ604は、前述のDMA43をドライブして、FRT6−0を介して、CM間の通信を行う。CPU間通信ドライバ606は、他のCPU410と通信を行う。
システム制御モジュール608は、パワー制御モジュール650と、構成管理モジュール652とを有する。構成管理モジュール652は、サービスコントローラ46からの、ネットワークドライバ610を介するモデル指定に応じて、構成定義のためのRLU(Raid Logical Unit)テーブルを含む構成定義テーブル(図7、図8で後述する)を、メモリ40bに作成する。尚、サービスコントローラ46は、図1では、図示されておらず、各CMに共通である。
又、DA43,BRT5−0に接続されたデイスクエンクロージャ内に設けられたデイスクドライブ200は、システムデイスク200−1とユーザデイスク200−2に分けられ、システムデイスク200−1に、このモジュールが格納され、且つ構成定義テーブルも格納される。
本発明では、図6乃至図8で後述するように、構成管理モジュール652の主構成定義に従い、そのモデルの構成定義テーブルを作成する。そして、図9に示すように、リソースモジュール642、RAIDモジュール632が、構成定義テーブルを参照して、ホストからのLUN(論理ユニット番号)を、物理デイスクのPLBA(物理ブロックアドレス)に変換し、物理デイスク200をアクセスする。
[構成定義設定処理]
図6は、RAID空間の説明図、図7は、本発明の一実施の形態の構成定義設定処理フロー図、図8は、構成定義テーブルの説明図、図9は、構成定義テーブル作成動作の説明図である。
先ず、図6により、構成定義テーブルを説明する。ホストコンピュータから見たデイスクアレイ装置のRAID論理空間は、ホストの論理空間であるOLU(ホスト論理ユニット)と、RAIDグループの論理空間であるRLU(RAID論理ユニット)と、RAIDグループを構成するデバイスの論理空間であるDLU(デバイス論理ユニット)と、物理デイスクの論理空間であるPLU(物理論理ユニット)との層構造で示される。
OLU空間は、ホスト毎の論理空間を定義するホストLUN(Logical Unit Number)定義を格納するOLUテーブル70で定義され、具体的には、OLUテーブル70は、接続されるホストLUNと、その論理空間範囲を定義する。RAID構成では、RAID論理空間は、OLUテーブル70の開始RLBA(RAID論理ブロックアドレス)で、OLU(ホスト論理空間)と関連づけられ、RAID空間は、RLUテーブル72で定義される。RLUテーブル72は、RAIDレベル、構成デイスク数、RAIDストライプデプス、RAIDストライプサイズ、対応DLU番号を格納する。
DLU空間は、DLUテーブル74で定義される。DLUテーブル74は、構成デイスク数、RAIDストライプデプス、RAIDストライプサイズ、対応PLU番号を格納する。DLU空間及びDLUテーブル74は、ミラーリングで使用される。PLU空間は、PLUテーブル76で定義される。PLUテーブル76は、開始PLBA(物理論理ブロックアドレス)を格納する。
このような構成定義テーブル70〜76を、モデル名に応じて、図7以下の処理により作成する。以下、図8、図9を参照して、図7の構成定義設定処理を説明する。
(S10)先ず、図5の構成管理モジュール652は、図2では、図示しない不揮発性メモリ又はシステムデイスク200−1からモデル対応表80−1を含む構成定義設定ファームウェアプログラム80を読み出し、図9に示すように、メモリ40bに展開し、構成定義設定処理を開始する。
(S12)構成定義設定処理では、先ず、メモリ40bに主構成定義向けの領域78を確保する。この領域は、各モデルに同一サイズである。
(S14)サービスコントローラ46から入力され、図2では、図示しない不揮発性メモリ又はシステムデイスク200−1に格納されたモデル名(例えば、モデル100)を読み出し、主構成定義領域78に格納する。
(S16)図9に示すように、ファームウェア80には、モデル対応表80−1が埋め込まれている。このモデル対応表80−1は、各モデルのLUN定義、デイスク定義等の最大数を格納する。図7、図8では、各モデルのホストLUN定義、RAIDグループ定義、仮想デイスク定義、物理デイスク定義の最大数を格納する。構成定義設定処理では、モデル名からモデル対応表80−1を参照して、対応モデルのホストLUN定義、RAIDグループ定義、仮想デイスク定義、物理デイスク定義の最大数を読み出し、メモリ40bの主構成定義領域78に格納する。
(S18)次に、構成定義設定処理では、メモリ40bに、そのホストLUN定義、RAIDグループ定義、仮想デイスク定義、物理デイスク定義の最大数を格納できる領域70〜76を確保し、各々の領域70〜76の先頭アドレスを、メモリ40bの主構成定義領域78に格納する。
(S20)次に、構成定義設定処理では、図示しない不揮発性メモリ又はシステムデイスク200−1に格納された当該デイスクアレイ装置のホストLUN定義、RAIDグループ定義、仮想デイスク定義、物理デイスク定義の情報(構成情報)を読み出し、それぞれのメモリ40bに確保した領域70〜76に格納する。
図8に示すように、ホストLUN定義領域70は、当該デイスクアレイ装置の各ホストLUN#0〜#Kの定義(例えば、ホストLUNと、そのホストLUNの開始RLBA)を格納する。又、RAIDグループ定義領域72は、当該デイスクアレイ装置の各RAIDグループ#0〜#Lの定義(例えば、Raidグループ名、Raid Level,構成デイスク数、ストライプデプス、ストライプサイズ、そのRAIDグループの構成DLU番号)を格納する。
仮想デイスク(DLU)定義領域74は、当該デイスクアレイ装置の各仮想デイスク(DLU)#0〜#Mの定義(例えば、DLU名、構成デイスク数、ストライプデプス、ストライプサイズ、そのDLUの構成物理デイスク番号)を格納する。更に、物理デイスク(PLU)定義領域76は、当該デイスクアレイ装置の各物理デイスク#0〜#Nの定義(例えば、物理デイスク番号と、その物理論理ブロックアドレス(PLBA))を格納する。
このように、デイスクアレイ装置の構成定義テーブルの各種別(ディスク定義、LUN定義等)は可変サイズとし、構成定義テーブルの各種別の参照方法は、全て先頭ポインタからの参照方法にする。即ち、電源投入時には、構成設定ファーム上に各モデルの定義を表す情報(モデル対応表)を用意し、この内容から該当モデルの最大値をメモリに記録し、同時に各種別のためのメモリ領域を確保する。実際の構成定義の内容は、この後で、バックアップディスクやフラッシュROM等から確保されたメモリ上に展開する。
このため、多岐に渡るモデルでも、構成定義テーブルのメモリサイズをそのモデルに合わせたサイズに削減でき、且つモデルによらず、共通のファームウェアで実現できる。即ち、モデル対応表を用意しているため、実際の構成定義の内容を格納する前に、モデルに応じたメモリサイズのメモリ領域を確保できる。
又、構成定義テーブルを参照する場合には、ポインタ経由で参照することで、モデルに依らずに同じ方法で参照できる。例えば、ある定義の全体を検索する必要があるきには、該当種別の先頭から上記最大値まで、検索する。
[構成定義を使用したデイスク装置のアクセス処理]
図10は、本発明の構成定義を使用したホストからのアクセス処理フロー図、図11は、図10のRAID5の説明図、図12は、図11のRAID5のアドレス計算フロー図、図13は、図10のRAID0+1の説明図、図14は、図13のRAID0+1のアドレス計算フロー図である。
図11乃至図14を参照して、図10の図5のファーム構成でのアクセス処理フローを説明する。
(S30)CA41が、ホストからのリード要求を受けると、CA41は、CM−CAドライバ620を介し、リソースモジュール642に通知し、リソースモジュール642は、このリード要求を受け付ける。
(S32)リソースモジュール642は、リード要求に伴うホストLUN(論理ユニット番号)が、メモリ40bの主構成定義領域80のホストLUN定義の最大数以上かを判定する。リソースモジュール642は、最大数以上であれば、指定されたホストLUNが、異常値であるため、CM−CAドライバ620を介しCA41からホストにエラー応答する。
(S34)一方、リソースモジュール642は、最大数を越えないと、指定されたホストLUNが正常であるため、メモリ40bの主構成定義領域80のホストLUN定義先頭アドレスで、ホストLUN定義(OLU)テーブル70のホストLUN定義を順に参照し、指定されたホストLUNが定義済みかを判定する。リソースモジュール642は、ホストLUN定義テーブル70に、指定されたホストLUNが、定義されていないと判定すると、未定義であるため、CM−CAドライバ620を介しCA41からホストにエラー応答する。
(S36)一方、ホストLUNが定義済みなら、リソースモジュール642は、RAIDグループ/仮想デイスク/物理デイスクとも定義済みと判定し、キャッシュモジュール648に、キャッシュヒットか否かの判定を依頼する。キャッシュモジュール648は、対象とするホストLUNのLBA(OLBA)のデータが、メモリ40bのキャッシュ領域に存在するかを調べ、存在すれば(ヒット)、メモリ40bのOLBA(ホスト論理ブロックアドレス)のデータを読み出し、CM−CAドライバ620を介しCA41からホストにデータを転送する。
(S38)一方、キャッシュモジュール648は、対象とするホストLUNのLBA(OLBA)のデータが、メモリ40bのキャッシュ領域に存在しない(ミスヒット)と判定すると、バックエンドのRAIDモジュール632に、物理デイスクからのデータリード要求を行う。RAIDモジュール632は、先ず、メモリ40bのホストLUN定義領域(テーブル)70の開始RLBAを使用して、処理要求されたホストLUNのLBA(OLBA)を、RAIDグループのLBA(RLBA)に変換する。
(S40)次に、図6で示したように、RAIDモジュール632は、メモリ40bのRAIDグループ定義領域(テーブル)72の定義を使用して、RAIDグループのLBA(RLBA)を、仮想デイスクのLBA(DLBA)に変換する。次に、RAIDモジュール632は、メモリ40bの仮想デイスク定義領域(テーブル)74の定義を使用して、処理要求された仮想デイスクのLBA(DLBA)を、物理デイスクのLBA(PLBA)に変換する。この処理の具体例は、図11乃至図14で後述する。
(S42)次に、RAIDモジュール632は、メモリ40bの物理デイスク定義領域(テーブル)76を使用して、処理要求された物理デイスクのLBA(PLBA)から、デイスクエンクロージャRAID、スロットを求め、物理デイスク200のLBA(PLBA)にリード要求を行う。即ち、CM−DAドライバ630を介し対応するDA42に当該物理デイスクのリード要求を発し、BRT5−0を介し当該物理デイスクをアクセスする。
(S44)物理デイスクからデータが読み出され、キャッシュモジュール648が、DA42を介しメモリ40bのキャッシュ領域に格納し、リードが完了すると、リソースモジュール642は、CM−CAドライバ620を介しCA41からホストにこのリードデータを転送して、終了する。
図11及び図12は、前述のアドレス変換処理の説明図である。図11に示すように、RAID5(3+1)の場合には、RLU=DLUであり、RLUテーブル72は、RAIDレベル=RAID5,構成デイスク数=4、対応DLU番号=PLU番号(0〜3)となる。又、RAID空間は、構成デイスクで、ストライピングされており、RAID空間を、構成デイスク番号とストライプ番号とでマッピングする。この升目をストリップ(Strip)といい、Strip番号が付与される。このStripのサイズは、Strip Depth(又はStripe Depth)で定義され、1ストライプのサイズは、Stripe Sizeで定義される。
従って、図12で説明するように、R(RAIDグループ)LBAは、構成デイスク数、Strip Depth、Stripe Sizeで、PLBA,メンバーデイスクの順番に変換できる。
(S50)ホストLBA(論理ブロックアドレス)を、ホストLBA(OLBA)にOLUテーブル70の開始RLBAを加算して、RLBA(RLULBA)を求める。
(S52)ストリップ内のブロックカウントを、RLULBA(RLBA)/Strip Size(Stripe Depth)の余りで計算する。
(S54)Strip番号を、RLULBA(RLBA)/Strip Depthから計算する。
(S56)Stripe番号を、RLULBA(RLBA)/Stripe Sizeから計算する。
(S58)メンバーデイスクの順番を、Strip番号/メンバーデイスクの数の余りから計算する。
(S60)物理デイスク(PLU)のLBAを、(Stripe番号×Strip
Size)+ストリップ内のブロックカウントから計算する。
これにより、メンバーデイスクの順番(PLU番号)と、PLULBA(PLBA)とから、PLUテーブル76を用いて、実ブロックアドレスを計算する。
同様に、図13に示すように、RAID0+1(4+4)の場合には、RLU≠DLUであり、RLUテーブル72は、RAIDレベル=RAID0+1,構成デイスク数=4(DLU)、対応DLU番号=0〜3となる。又、RAID空間は、DLU構成デイスクで、ストライピングされており、RAID空間を、DLU構成デイスク番号とストライプ番号とでマッピングする。この升目をストリップ(Strip)といい、Strip番号が付与される。このStripのサイズは、Strip Depth(又はStripe Depth)で定義され、1ストライプのサイズは、Stripe Sizeで定義される。
従って、図14で説明するように、R(RAIDグループ)LBAは、構成デイスク数、Strip Depth、Stripe Sizeで、PLULBA,メンバーデイスクの順番に変換できる。
(S62)ホストLBA(論理ブロックアドレス)を、ホストLBAにOLUテーブル70の開始RLBAを加算して、RLBAを求める。
(S64)ストリップ内のブロックカウントを、RLULBA/Stripe
Depth)の余りで計算する。
(S66)Stripe番号を、RLULBA/Stripe Sizeから計算する。
(S68)メンバーデイスクの順番を、(RLULBA/Stripe Sizeの余り)/Strip Sizeから計算する。
(S70)物理デイスク(PLU)のPLBA(=DLUのデイスク)を、(Stripe番号×Strip Size)+ストリップ内のブロックカウントから計算する。
これにより、メンバーデイスクの順番(DLU番号)と、PLULBA(PLBA)とから、PLUテーブル76を用いて、実ブロックアドレスを計算する。
尚、ホストからのライト処理は、一旦、ライトデータをメモリ40bのキャッシュ領域に格納した後、内部のライトバックスケジュールに従い、該当物理デイスクにライトバックする。このライトバック時も同様に、ミスヒット以降のステップS38〜S42の構成定義テーブルを使用したアドレス変換処理を行う。
このように、メモリ40bの構成定義テーブルを参照する場合には、ポインタ経由で参照することで、モデルに依らずに同じファームウェアで参照できる。
[他の実施の形態]
次に、小規模(最小モデル)、大規模(最大モデル)デイスクアレイ装置を説明する。図15は、本発明が適用される小規模デイスクアレイ装置の構成図、図16は、本発明が適用される大規模デイスクアレイ装置の構成図、図17は、図15の小規模デイスクアレイ装置と図16の大規模デイスクアレイ装置の構成定義テーブルの必要メモリサイズの対照表を示す図である。
図15に示す最小モデルの構成において、図1と同一のものは、同一の記号で示してある。図15に示すように、デイスクアレイ装置1は、データを保持する4つのディスクエンクロージャ2−0〜2−3と、図示しないホストコンピュータ(データ処理装置)と、複数のディスクエンクロージャ2−0〜2−3との間に、配置された2つの制御モジュール4−0〜4−1とを有する。
制御モジュール4−0〜4−1のそれぞれは、コントローラ40と、チャネルアダプタ(図中CAと表記)41と、ディスクアダプタ(図中DAと表記)42a,42bと、DMA(Direct Memory Access)エンジン(図中DMAと表記)43とを有する。
この最小モデルでは、図17に示すように、物理デイスク装置200の最大数は、「240」、即ち、1デイスクエンクロージャ2−0〜2−3当たり、60台のデイスドライブ200を搭載できる。この仮想デイスク数は、最大120であり、RAIDグループ数は、最大120であり、ホストLUN最大数は、1920である。これが、このモデル(例えば、モデル100)のモデル対応表80−1に格納されている。
一方、図16に示す最大モデルの構成においても、図1と同一のものは、同一の記号で示してある。図16に示すように、デイスクアレイ装置1は、データを保持する32台のディスクエンクロージャ2−0〜2−31と、図示しないホストコンピュータ(データ処理装置)と、複数のディスクエンクロージャ2−0〜2−31との間に、配置された8つの制御モジュール4−0〜4−7と、これら複数の制御モジュール4−0〜4−7と複数のディスクエンクロージャ2−0〜2−31との間に設けられた8つのBack-end Router(第1スイッチユニット;図中BRTと表記し、以下、BRTという)5−0〜5−7と、2つのFront-end Router(第2スイッチユニット;図中FRTと表記、以下、FRTという)6−0,6−1とを有する。
制御モジュール4−0〜4−7のそれぞれは、コントローラ40と、チャネルアダプタ(図中CAと表記)41と、ディスクアダプタ(図中DAと表記)42a,42bと、DMA(Direct Memory Access)エンジン(通信部;図中DMAと表記)43とを有する。
この最大モデルでは、図17に示すように、物理デイスク装置200の最大数は、「3840」、即ち、1デイスクエンクロージャ2−0〜2−31当たり、120台のデイスドライブ200を搭載できる。この仮想デイスク数は、最大1920であり、RAIDグループ数は、最大1920であり、ホストLUN最大数は、30720である。これが、このモデル(例えば、モデル900)のモデル対応表80−1に格納されている。
前述の図8に示したように、テーブル1つの要素に用いるサイズを256Byteとすると、構成定義テーブル70〜76の必要メモリサイズは、最小モデル(図15)で、(1920+120+120+240)×256=614400Byte=0.6144MByteである。
一方、同様に、テーブル1つの要素に用いるサイズを256Byteとすると、構成定義テーブル70〜76の必要メモリサイズは、最大モデル(図16)で、(30720+1920+1920+3840)×256=9830400Byte=9.8304MByteである。
従って、最小モデルと最大モデルでは、一桁分、必要メモリサイズが相違し、この例では、9.2MByteもの差がある。従って、構成定義テーブルのサイズをモデルに応じて設定することは、コスト上で極めて有用である。
又、前述した実施の形態では、図1のような構成のデイスクアレイ装置で説明したが、これ以外の構成のデイスクアレイ装置に適用できる。又、物理デイスクは、磁気デイスク、光デイスク、光磁気デイスク、各種のストレージデバイスを適用できる。
更に、RAID構成を採用しないデイスクアレイ装置にも適用できる。この場合には、ホストLBAを仮想デイスクLBAに変換すれば良い。
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
(付記1)ホストから依頼されたI/O要求に応じて、接続されたデイスク装置をアクセスし、I/O要求を実行するデイスクアレイ装置の構成定義を設定する方法において、前記デイスクアレイ装置の規模を示すモデル名により、前記各モデルのホスト論理空間と前記デイスク装置の最大数を格納するモデル対応テーブルを参照して、対応する前記ホスト論理空間と前記デイスク装置の最大数を読み出すステップと、前記読み出した前記ホスト論理空間と前記デイスク装置の最大数から、前記ホスト論理空間と前記デイスク装置の構成情報を格納するメモリの先頭アドレスを計算するステップと、前記計算された先頭アドレスから前記構成情報を、前記メモリに格納して、前記デイスク装置をアクセスするための構成定義テーブルを作成するステップとを有することを特徴とするデイスクアレイ装置の構成定義設定方法。
(付記2)前記計算した前記ホスト論理空間と前記デイスク装置の先頭アドレスを前記メモリに格納するステップを更に有することを特徴とする付記1のデイスクアレイ装置の構成定義設定方法。
(付記3)前記読み出しステップは、前記ホスト論理空間と、RAID空間と、仮想デイスク空間と、前記デイスク装置の最大数を、前記モデル名に応じて、読み出すステップからなることを特徴とする付記1のデイスクアレイ装置の構成定義設定方法。
(付記4)前記読み出した前記ホスト論理空間と前記デイスク装置の最大数を前記メモリに格納することを特徴とする付記1のデイスクアレイ装置の構成定義設定方法。
(付記5)前記計算ステップは、前記読み出した前記ホスト論理空間と、RAID空間と、仮想デイスク空間と、前記デイスク装置の最大数とから、各々の先頭アドレスを計算するステップからなることを特徴とする付記3のデイスクアレイ装置の構成定義設定方法。
(付記6)前記作成ステップは、前記ホスト論理ブロックアドレスから前記デイスク装置の物理ブロックアドレスを計算するための構成定義テーブルを作成するステップからなることを特徴とする付記1のデイスクアレイ装置の構成定義設定方法。
(付記7)前記作成した構成定義テーブルを不揮発性メモリに格納するステップを更に有することを特徴とする付記1のデイスクアレイ装置の構成定義設定方法。
(付記8)前記格納ステップは、前記デイスク装置のキャッシュ領域に使用されるメモリの前記キャッシュ領域以外の領域に前記構成定義テーブルを格納するステップからなることを特徴とする付記1のデイスクアレイ装置の構成定義設定方法。
(付記9)ホストから依頼されたI/O要求に応じて、接続されたデイスク装置をアクセスし、I/O要求を実行するデイスクアレイ装置において、前記デイスクアレイ装置の規模を示すモデル名と、前記各モデルのホスト論理空間と前記デイスク装置の最大数を格納するモデル対応テーブルとを格納する不揮発性メモリと、前記デイスク装置をアクセスするための構成定義テーブルを格納するメモリと、前記構成定義テーブルを参照して、前記依頼されたI/O要求に応じて、前記デイスク装置をアクセスする制御ユニットとを有し、前記制御ユニットは、前記モデル名で、前記モデル対応テーブルを参照して、対応する前記ホスト論理空間と前記デイスク装置の最大数を読み出し、前記ホスト論理空間と前記デイスク装置の最大数から、前記ホスト論理空間と前記デイスク装置の構成情報を格納するメモリの先頭アドレスを計算し、前記計算された先頭アドレスから前記構成情報を、前記メモリに格納して、前記構成定義テーブルを作成することを特徴とするデイスクアレイ装置。
(付記10)前記制御ユニットは、前記計算した前記ホスト論理空間と前記デイスク装置の先頭アドレスを前記メモリに格納することを特徴とする付記9のデイスクアレイ装置。
(付記11)前記制御ユニットは、前記ホスト論理空間と、RAID空間と、仮想デイスク空間と、前記デイスク装置の最大数を、前記モデル名に応じて、読み出すことを特徴とする付記9のデイスクアレイ装置。
(付記12)前記制御ユニットは、前記読み出した前記ホスト論理空間と前記デイスク装置の最大数を前記メモリに格納することを特徴とする付記9のデイスクアレイ装置。
(付記13)前記制御ユニットは、前記読み出した前記ホスト論理空間と、RAID空間と、仮想デイスク空間と、前記デイスク装置の最大数とから、各々の先頭アドレスを計算することを特徴とする付記11のデイスクアレイ装置。
(付記14)前記制御ユニットは、前記構成定義テーブルを参照して、前記ホスト論理ブロックアドレスから前記デイスク装置の物理ブロックアドレスを計算することを特徴とする付記9のデイスクアレイ装置。
(付記15)前記制御ユニットは、前記作成した構成定義テーブルを不揮発性メモリに格納することを特徴とする付記9のデイスクアレイ装置。
(付記16)前記制御ユニットは、前記デイスク装置のキャッシュ領域に使用されるメモリの前記キャッシュ領域以外の領域に前記構成定義テーブルを格納することを特徴とする付記9のデイスクアレイ装置。
(付記17)前記不揮発性メモリは、前記デイスク装置の一部に割り当てられたシステムデイスクで構成されることを特徴とする付記9のデイスクアレイ装置。
(付記18)前記構成定義テーブルは、前記ホスト論理空間を定義するホスト論理空間テーブルと、前記RAIDグループを定義するRAID空間テーブルと、前記RAIDグループの仮想デイスク装置を定義する仮想デイスクテーブルと、前記デイスク装置を定義する物理デイスクテーブルとから構成されることを特徴とする付記13のデイスクアレイ装置。
以上、説明したように、構成設定処理のために、各モデルの定義を表す情報(ホスト論理空間とRAID空間と仮想デイスク空間とデイスク装置の各々の最大数を格納するモデル対応表)を不揮発性メモリに用意し、この内容から該当モデルの最大値をメモリに記録し、同時に各種別(ホスト論理空間とRAID空間と仮想デイスク空間とデイスク装置)の構成情報を格納するためのメモリ領域を確保し、実際の構成定義の内容は、この後で、バックアップディスクやフラッシュROM等の不揮発性メモリから確保されたメモリ領域上に展開する。このため、多岐に渡るモデルでも、構成定義テーブルのメモリサイズをそのモデルに合わせたサイズに削減でき、且つモデルによらず、共通のファームウェアで実現できる。又、各領域の先頭アドレスをメモリに格納しているため、構成定義テーブルを参照する場合には、ポインタ経由で参照することで、モデルに依らずに同じ方法で参照できる。これにより、多岐に渡るモデルの構成定義作成が容易となり、これらのモデルの早期の市場提供が可能となる。
本発明の一実施の形態のデイスクアレイ装置の構成図である。 図1の制御モジュールの構成図である。 図1及び図2のバックエンドルータとデイスクエンクロージャの構成図である。 図1及び図3のデイスクエンクロージャの構成図である。 図1の制御モジュールのファームウェアの機能ブロック図である。 図1の構成定義テーブルを使用したデイスクアクセスの説明図である。 図5の構成の構成定義テーブル作成処理フロー図である。 図7で作成された構成定義テーブルの構成図である。 図5の構成定義テーブル作成処理の説明図である。 図8の構成定義テーブルを用いたリード処理フロー図である。 図10のRAID5の論理マッピング図である。 図11のRAID5のPLBA計算処理フロー図である。 図10のRAID0+1の論理マッピング図である。 図13のRAID0+1のPLBA計算処理フロー図である。 本発明が適用される一実施の形態の小規模デイスクアレイ装置の構成図である。 本発明が適用される一実施の形態の大規模デイスクアレイ装置の構成図である。 図15のデイスクアレイ装置と図16にデイスクアレイ装置の構成定義テーブルの必要メモリサイズを説明する図である。
符号の説明
4−0〜4−7 制御モジュール
40 制御ユニット
41 チャネルアダプタ
42a,42b デバイスアダプタ
400、410 CPU
40b メモリ
70〜76 構成定義テーブル
78 主構成定義テーブル
80−1 モデル対応表
652 構成管理モジュール
2−0〜2−31 デバイスエンクロージャー

Claims (5)

  1. ホストから依頼されたI/O要求に応じて、接続されたデイスク装置をアクセスし、I/O要求を実行するデイスクアレイ装置の構成定義を設定する方法において、
    制御ユニットが、前記デイスクアレイ装置の規模を示すモデル名により、不揮発性メモリから、前記各モデルのホスト論理空間と、RAID空間と、仮想デイスク空間と、前記デイスク装置との各々の最大数を格納するモデル対応テーブルを参照して、対応する前記ホスト論理空間と、前記RAID空間と、前記仮想デイスク空間と、前記デイスク装置との各々の最大数を読み出すステップと、
    前記制御ユニットが、前記読み出した前記ホスト論理空間と、前記RAID空間と、前記仮想デイスク空間と、前記デイスク装置との各々の最大数から、前記ホスト論理空間と、前記RAID空間と、前記仮想デイスク空間と、前記デイスク装置の各々の構成情報を格納する各領域を、前記メモリ内に確保し、前記各領域の先頭アドレスを、前記メモリに格納するステップと、
    前記制御ユニットが、前記各領域に、前記不揮発性メモリに格納された前記構成情報のホストLUN(論理ユニット番号)と、RAIDグループ定義と、仮想デイスク定義と、物理デイスクの情報の各々を、格納して、前記デイスク装置をアクセスするため、前記メモリの各領域の先頭アドレスからのポインタで、参照して、前記依頼されたI/O要求のホスト論理ブロックアドレスから前記デイスク装置の物理ブロックを計算するため使用する構成定義テーブルを作成するステップとを有する
    ことを特徴とするデイスクアレイ装置の構成定義設定方法。
  2. 前記作成した構成定義テーブルを、前記不揮発性メモリに格納するステップを更に有する
    ことを特徴とする請求項1のデイスクアレイ装置の構成定義設定方法。
  3. 前記作成ステップは、前記メモリ内の前記デイスク装置のキャッシュ領域に使用されるキャッシュ領域以外の領域に、前記構成情報の各々の領域を確保するステップを有する
    ことを特徴とする請求項1のデイスクアレイ装置の構成定義設定方法。
  4. ホストから依頼されたI/O要求に応じて、接続されたデイスク装置をアクセスし、I/O要求を実行するデイスクアレイ装置において、
    前記デイスクアレイ装置の規模を示すモデル名と、前記各モデルのホスト論理空間と、RAID空間と、仮想デイスク空間と、前記デイスク装置の各々の最大数を格納するモデル対応テーブルと、前記デイスクアレイ装置のホストLUN(論理ユニット番号)と、RAIDグループ定義と、仮想デイスク定義と、物理デイスクの情報とからなる構成情報とを格納する不揮発性メモリと、
    ホスト論理ブロックアドレスから前記デイスク装置の物理ブロックを計算するための構成定義テーブルを格納するメモリと、
    前記構成定義テーブルを参照して、前記依頼されたI/O要求のホスト論理ブロックアドレスから前記デイスク装置の物理ブロックを計算し、前記デイスク装置をアクセスする制御ユニットとを有し、
    前記制御ユニットは、前記モデル名で、前記モデル対応テーブルを参照して、対応する前記ホスト論理空間と、RAID空間と、仮想デイスク空間と、前記デイスク装置の各々の最大数を読み出し、前記ホスト論理空間とRAID空間と、仮想デイスク空間と、前記デイスク装置の各々の最大数から、前記ホスト論理空間と前記RAID空間と前記仮想デイスク空間と前記デイスク装置の構成情報の各々を格納する前記メモリ内の各領域を確保し、且つ前記各領域の先頭アドレスを、前記メモリに格納し、前記各領域に、前記不揮発性メモリに格納された前記構成情報のホストLUN(論理ユニット番号)と、RAIDグループ定義と、仮想デイスク定義と、物理デイスクの情報の各々を、格納して、前記構成定義テーブルを作成し、
    前記メモリの各領域の先頭アドレスからのポインタで、前記構成定義テーブルを参照して、前記依頼されたI/O要求のホスト論理ブロックアドレスから前記デイスク装置の物理ブロックを計算する
    ことを特徴とするデイスクアレイ装置。
  5. 前記制御ユニットは、前記メモリ内の前記デイスク装置のキャッシュ領域に使用されるキャッシュ領域以外の領域に、前記構成情報の各々の領域を確保する
    ことを特徴とする請求項4のデイスクアレイ装置。
JP2005033532A 2005-02-09 2005-02-09 デイスクアレイ装置の構成定義設定方法及びデイスクアレイ装置 Expired - Fee Related JP4401305B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005033532A JP4401305B2 (ja) 2005-02-09 2005-02-09 デイスクアレイ装置の構成定義設定方法及びデイスクアレイ装置
US11/239,230 US7725664B2 (en) 2005-02-09 2005-09-30 Configuration definition setup method for disk array apparatus, and disk array apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005033532A JP4401305B2 (ja) 2005-02-09 2005-02-09 デイスクアレイ装置の構成定義設定方法及びデイスクアレイ装置

Publications (2)

Publication Number Publication Date
JP2006221371A JP2006221371A (ja) 2006-08-24
JP4401305B2 true JP4401305B2 (ja) 2010-01-20

Family

ID=36781214

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005033532A Expired - Fee Related JP4401305B2 (ja) 2005-02-09 2005-02-09 デイスクアレイ装置の構成定義設定方法及びデイスクアレイ装置

Country Status (2)

Country Link
US (1) US7725664B2 (ja)
JP (1) JP4401305B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4694350B2 (ja) * 2005-11-08 2011-06-08 株式会社日立製作所 ストレージ装置の起動可能なディスクグループ数の管理
EP2595062B1 (en) 2008-02-28 2016-12-28 Fujitsu Limited Storage device, storage control device, data transfer integrated circuit, and storage control method
JP4869368B2 (ja) * 2009-03-12 2012-02-08 株式会社東芝 ストレージ装置及び仮想化装置
JP5521816B2 (ja) * 2010-06-18 2014-06-18 富士通株式会社 記憶装置、制御装置および記憶装置の制御方法
CN103502927B (zh) * 2012-03-29 2016-12-28 松下知识产权经营株式会社 信息处理装置、信息处理方法
US20140122796A1 (en) * 2012-10-31 2014-05-01 Netapp, Inc. Systems and methods for tracking a sequential data stream stored in non-sequential storage blocks
CN108121600B (zh) * 2016-11-30 2022-11-29 中兴通讯股份有限公司 磁盘阵列控制器、输入输出io数据处理方法及装置
US11481296B2 (en) * 2018-09-10 2022-10-25 International Business Machines Corporation Detecting configuration errors in multiport I/O cards with simultaneous multi-processing
CN115129265B (zh) * 2022-09-01 2023-01-24 苏州浪潮智能科技有限公司 独立冗余磁盘阵列分块缓存方法、装置、设备及可读介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03189720A (ja) 1989-12-19 1991-08-19 Nec Corp 電子計算機のシステムディスク設計方法および装置
FR2675602B1 (fr) 1991-04-16 1995-04-14 Hewlett Packard Co Procede et dispositif de protection d'un systeme informatique.
JP2809148B2 (ja) 1995-08-11 1998-10-08 日本電気株式会社 計算機システムにおける装置構成の動的変更方式
GB9712799D0 (en) 1997-06-19 1997-08-20 Int Computers Ltd Initial program load
US6324633B1 (en) * 1999-12-29 2001-11-27 Stmicroelectronics, Inc. Division of memory into non-binary sized cache and non-cache areas
EP1282861A4 (en) * 2000-04-18 2008-03-05 Storeage Networking Technologi VIRTUALIZATION OF STORAGE IN A STORAGE AREA NETWORK
JP2003345518A (ja) * 2002-05-29 2003-12-05 Hitachi Ltd ディスクアレイ装置の設定方法、プログラム、情報処理装置、ディスクアレイ装置
JP2004213064A (ja) 2002-12-26 2004-07-29 Fujitsu Ltd Raid装置及びその論理デバイス拡張方法

Also Published As

Publication number Publication date
US7725664B2 (en) 2010-05-25
JP2006221371A (ja) 2006-08-24
US20060179219A1 (en) 2006-08-10

Similar Documents

Publication Publication Date Title
JP4817783B2 (ja) Raidシステム及びそのリビルド/コピーバック処理方法
JP4401305B2 (ja) デイスクアレイ装置の構成定義設定方法及びデイスクアレイ装置
JP4472617B2 (ja) Raidシステム、raidコントローラ及びそのリビルド/コピーバック処理方法
JP4413184B2 (ja) データストレージシステム及びデータストレージ制御装置
JP4775846B2 (ja) 物理リンクの割当てを制御するコンピュータシステム及び方法
KR101455016B1 (ko) 고가용성 솔리드 스테이트 드라이브를 제공하는 방법 및 장치
JP6074056B2 (ja) 計算機システムおよびデータ制御方法
US7984237B2 (en) Integrated circuit capable of pre-fetching data
US8250283B1 (en) Write-distribute command for RAID mirroring
CN1282066C (zh) 计算机***中用于访问磁带设备的方法和***
KR100740080B1 (ko) 데이터 기억 시스템 및 데이터 기억 제어 장치
JP2008004120A (ja) ダイレクトアクセスストレージシステム
JP6068676B2 (ja) 計算機システム及び計算機システムの制御方法
EP0706134A2 (en) Data processing system having demand based write through cache with enforced ordering
JP2003006135A (ja) 入出力制御装置及び入出力制御方法並びに情報記憶システム
US20060277326A1 (en) Data transfer system and method
US20070088810A1 (en) Apparatus, system, and method for mapping a storage environment
JP2002157091A (ja) ストレージサブシステム及びそのシステムに使用する記憶装置
JP2000298556A (ja) ディスクアレイ装置
KR20200143922A (ko) 메모리 카드 및 이를 이용한 데이터 처리 방법
JP6200100B2 (ja) 計算機システム
CN117591037B (zh) 一种虚拟化数据访问***、方法、装置及服务器
KR100529278B1 (ko) 대용량 데이터에 대한 데이터 중복 저장 시스템
JP2002149351A (ja) ディスクアレイ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090605

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091027

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091027

R150 Certificate of patent or registration of utility model

Ref document number: 4401305

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121106

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121106

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131106

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees