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

ストレージ装置 Download PDF

Info

Publication number
JP4870915B2
JP4870915B2 JP2004208105A JP2004208105A JP4870915B2 JP 4870915 B2 JP4870915 B2 JP 4870915B2 JP 2004208105 A JP2004208105 A JP 2004208105A JP 2004208105 A JP2004208105 A JP 2004208105A JP 4870915 B2 JP4870915 B2 JP 4870915B2
Authority
JP
Japan
Prior art keywords
firmware
circuit board
service
blade
firmware update
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 - Lifetime
Application number
JP2004208105A
Other languages
English (en)
Other versions
JP2006031312A (ja
Inventor
豊 ▲高▼田
直孝 小林
橋本  猛
顕義 橋本
信一 中山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004208105A priority Critical patent/JP4870915B2/ja
Priority to US10/940,625 priority patent/US7240188B2/en
Publication of JP2006031312A publication Critical patent/JP2006031312A/ja
Application granted granted Critical
Publication of JP4870915B2 publication Critical patent/JP4870915B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、記憶装置にデータを記憶する制御を行うストレージ装置(ディスクアレイ装置ともいう)に関し、特に、ストレージ装置内の回路基板のBIOS(Basic Input Output System)を含むファームウェアの更新を行う技術に関するものである。
記憶装置にデータを記憶する制御を行うストレージ装置、特に企業等において使用されるストレージ装置では、24時間・365日停止せずに稼動することが求められている。このようなストレージ装置におけるファームウェアの更新(バージョンアップ等)は、他のコンピュータシステムと同様にリブート(再起動)を伴うので、一旦クライアントに対するサービスを中断する必要がある。
従来のストレージ装置、及び、ストレージ装置とクライアントとなる情報処理装置とネットワーク等を含んで構成されるコンピュータシステムでは、ストレージ装置の制御装置を構成する回路基板の起動時に、不揮発性メモリに格納されているファームウェアすなわちBIOSを含むプログラムによりハードウェアの初期設定を行ってOS(Operating System)の起動を行う。前記ストレージ装置においてファームウェアの更新を行い、かつその更新を有効な状態にするには、前記ファームウェアを使用するシステムの再起動が必要となる。前記ファームウェアを使用するシステムの再起動は、当然のことながら、前記回路基板のCPU上で稼動するOSによるクライアントに対するサービス(プロセス)を一時中断することになる。
従来では、ストレージ装置においてクライアントへのサービスを継続したまま回路基板のファームウェアの更新を行うことはできなかった。すなわちファームウェアに関する機構上、単独のコンピュータではファームウェア更新のためのOSのシャットダウン(稼動停止)及びコンピュータシステム再起動によるサービス中断が避けられなかった。しかしながら、ストレージ装置に期待される機能上、ファームウェアの更新時もサービスを継続ができることが望ましい。
本発明は以上のような問題に鑑みてなされたものであり、その目的は、ストレージ装置においてクライアントに対するサービスを継続したままファームウェアの更新を行うことのできる技術を提供することにある。
前記目的を達成するために、本発明のストレージ装置は、一つ以上の記憶デバイスと、前記記憶デバイスにデータを記憶する制御を行う複数の回路基板(ブレード基板)を有して成る制御装置(記憶デバイス制御装置)とを有し、第1のネットワークを通じて接続される情報処理装置に対し前記CPU上で稼動するOSにより前記データの入出力に関するサービスを提供する構成において、以下(1)、(2)に示す技術的手段を備えることを特徴とする。
(1)本発明のストレージ装置で、前記回路基板は、CPUと、前記CPUと記憶デバイスとの間の入出力を制御する入出力プロセッサ(IOP)と、前記CPUやIOPの作業用となるメモリ(RAM等)と、ファームウェア(BIOSを含むプログラム)を保持する不揮発性メモリ(フラッシュメモリ等)と、通信処理を行うネットワーク制御部(LANコントローラ等)とを有する。前記CPU上で稼動するOSにより、クライアントとなる情報処理装置からの要求に基づきデータを前記記憶デバイスの記憶領域に入出力するサービスを提供する。前記不揮発性メモリには、ハードウェア初期化及び前記OSの起動を行うためのBIOSを含むファームウェアが保持される。前記OSは、上位のアプリケーションプログラム等まで含むプログラムとする。このような構成において、前記ファームウェアの更新を行うために、以下のように前記IOPによる制御を中心にファームウェアの更新を行う。
前記制御装置では、ファームウェア更新対象の回路基板を含んで複数の回路基板が相互に通信可能なように接続されてクラスタを構成し、前記クラスタ内の回路基板のOS間で必要に応じて前記サービスを引き継ぐサービス移動機能を有する。前記クラスタ構成の複数の回路基板において前記ファームウェアの更新の対象となる一つ以上の回路基板(更新対象基板)があるとする。この状態で、前記クラスタ内の更新対象基板について、ファームウェア更新処理の実行対象となる回路基板で提供中のサービスがある場合は前記サービス移動機能を用いて前記サービスをクラスタ内の他の回路基板に移動しながら、サービス非提供状態となった回路基板についてファームウェア更新処理を実行する。すなわち、ファームウェア更新処理の実行対象となる回路基板について、その回路基板のOSで提供中のすべてのサービスを前記クラスタ内の他の回路基板に移動して前記OSをシャットダウン可能な状態にするサービス移動処理と、前記サービスの移動によりサービス非提供状態となった回路基板について、ファームウェア更新プログラムと新ファームウェアイメージを用いてその回路基板の不揮発性メモリ上のファームウェア(旧ファームウェア)を新ファームウェアに更新するファームウェア更新処理とを含む処理単位を実行する。前記クラスタ内でサービスの移動先となる他の回路基板は、前記サービスの移動元の回路基板に対するファームウェア更新処理の実行の際にはファームウェア更新処理の実行対象でないが、順次のファームウェア更新処理に従ってこの回路基板に対しファームウェア更新処理を実行する際には更にクラスタ内の他の回路基板にサービスを移動する。
前記ファームウェア更新処理では、前記サービスの移動によりサービス非提供状態となった回路基板について、例えば以下のような処理手順でファームウェアを更新する。まず、前記IOPの制御に基づき、CPU上で稼動するOSに対し指示を行ってOSをシャットダウンし、CPUをリセットしてリブートし、これにより不揮発性メモリ上の旧ファームウェア(旧BIOS)を起動させる。そして、起動された旧ファームウェアが回路基板のメモリにファームウェア更新プログラムをロードして、ファームウェア更新プログラムに制御を移す。そして、ファームウェア更新プログラムが、新ファームウェアイメージを回路基板のメモリにロードして、新ファームウェアイメージを不揮発性メモリにライトしてファームウェアを更新し、CPUをリセットして更新後の新ファームウェア(新BIOS)を起動させる。そして、起動された新ファームウェアによりOSが起動され、IOPがファームウェア更新完了の通知を行う。前記CPUのリセット後に新ファームウェアが起動されることで前記ファームウェアの更新が有効な状態となる。
また、前記回路基板のIOPは、前記CPUの状態を監視して、前記OSについての稼動やインストールの状態を表わすOS状態情報を、前記回路基板のIOPがアクセス可能なメモリ例えば前記共有メモリ等に格納する。各基板基板のIOPは、前記OS状態情報を参照することで前記OSのシャットダウンの要否や前記回路基板間でのサービスの移動についての判断を行う。
また、前記回路基板のOSは、クライアントに対するサービス提供のための制御情報、例えばサービスのためのIPアドレスやサービス状態等を含むサービス情報や、回路基板と記憶デバイスとのマウント状態等を含むディスク情報等を記憶デバイス上の記憶領域に格納する。前記OSは、前記サービス移動機能によるサービス移動に伴ってこれら制御情報を変更する。
また、前記ファームウェア更新処理が完了してファームウェア更新が有効な状態となった回路基板について、前記ファームウェア更新前に提供していて前記クラスタ内の他の回路基板に引き継いでいるサービスを戻す処理を前記サービス移動機能により行ってもよい。
また、前記更新対象基板について、そのうちの一つ以上の回路基板を単位として、前記クラスタ構成の回路基板のOS間でのサービス移動処理とサービス移動後の回路基板のファームウェア更新処理とを含む処理単位を順次に実行する。前記処理単位の順次の実行により更新対象基板の全ファームウェアの更新を完了し、サービスの提供元の移動を伴いながらサービスの提供が継続される。
また、前記更新対象基板について、更にそのうちの複数の回路基板を単位として、前記サービス移動処理と前記ファームウェア更新処理とを含む処理単位を同時並行的すなわち時間的に略同タイミングで実行する。
また、ファームウェア更新の指示は、例えば、ファームウェア更新処理の実行対象となる回路基板の外部、例えば回路基板のIOPと第2ネットワークを通じて接続される保守装置(保守PC)から、前記対象の回路基板のIOPに対して行う。指示を受けた回路基板のIOPの制御に基づき前記処理手順でファームウェア更新処理を行う。また、ファームウェア更新処理後に新ファームウェアが有効な状態となると、IOPが前記保守装置等に対し更新完了の通知を行う。
前記ファームウェア更新処理において、前記旧ファームウェアは、前記ファームウェア更新プログラムが前記回路基板のメモリに既に取得されている場合は前記ロードを行う必要はない。また、前記旧ファームウェアは、前記ファームウェア更新プログラムが、自回路基板の外部のメモリ、例えばストレージ装置内の複数の回路基板が共有してアクセス可能に設けられた共有メモリに格納されている場合は、そのメモリを参照してファームウェア更新プログラムを回路基板内のメモリへロードする。
また、前記ファームウェア更新プログラムは、前記新ファームウェアイメージが回路基板のメモリに既に取得されている場合は前記ロードを行う必要はない。また、前記ファームウェア更新プログラムは、前記新ファームウェアイメージが、自回路基板の外部のメモリ、例えば前記共有メモリに格納されている場合は、その外部のメモリを参照して新ファームウェアイメージを回路基板内のメモリへロードする。
また、前記制御装置を構成する回路基板に第2のネットワークを通じて接続され相互に通信可能な保守装置を有する。前記保守装置は、ファームウェア更新に係わる操作のためのユーザインターフェイスを提供する。すなわち、保守装置は、第2のネットワークを通じた回路基板のIOPとの通信をもとに、前記サービス移動処理と前記ファームウェア更新処理の状況を表わす情報や、その指示のための情報を入出力する更新管理処理を行う。例えば、保守装置は、サービス移動の指示や、サービス移動完了状態やファームウェア更新完了状態等を表示し、またオペレータ(保守員)の操作入力に基づきファームウェア更新指示等を回路基板に対して発行する。
また、前記情報処理装置として管理用プログラムを備えた管理用の情報処理装置を有する。前記サービス移動処理の際、前記管理用の情報処理装置が、前記保守装置での更新管理処理に基づき、前記サービスの移動のための指示を第1のネットワークを通じて対象の回路基板のOSに対して送信する処理を行う。回路基板のOSが、前記指示に基づきクラスタ内の回路基板のOS間でサービスの移動を行う。
前記ファームウェア更新処理に必要となる前記ファームウェア更新プログラムと新ファームウェアイメージは、例えば保守装置が取得して保守装置から前記回路基板のIOPに対して送信することで提供する。前記ファームウェア更新プログラムは回路基板にファームウェア更新のための処理を行わせるためのプログラムである。前記新ファームウェアイメージは、更新後の新ファームウェアとなるコードを含んだデータである。前記保守装置は、前記第2のネットワークを通じて、前記ファームウェア更新対象の回路基板のうち、任意の回路基板のIOPを代表IOPとして、前記ファームウェア更新プログラムと新ファームウェアイメージとを送信して、その回路基板内のメモリに取得させる。そして、前記回路基板の代表IOPから、前記ファームウェア更新プログラムと新ファームウェアイメージを、その回路基板の外部のメモリ、例えば前記共有メモリへと格納させる。前記回路基板の外部のメモリにファームウェア更新プログラムと新ファームウェアイメージを格納することで、ファームウェア更新対象となる複数の回路基板が前記外部のメモリ上に格納されたデータをファームウェア更新処理に利用できる。
前記ファームウェア更新対象となる回路基板の選択及び前記ファームウェア更新処理の同時平行的な実行対象となる回路基板の選択については、ストレージ装置の設定に従って自動的になされるように制御される。あるいは、前記選択は、ファームウェアの更新を実行したい際に前記保守装置を操作する保守員や前記クライアントとなる情報処理装置を操作するユーザ側管理者等が選択操作して、これに基づき処理が制御される。
また、ファームウェア更新のための一処理方法として、ファームウェア更新の際、前記管理用の情報処理装置は、前記保守装置での更新管理処理に基づき、前記サービスの移動のための指示を前記第1のネットワークを通じて前記回路基板のOSに対して送信する処理を行って、前記クラスタ内の回路基板上のOS間でサービスの移動を行わせ、前記サービス移動後、前記保守装置は、前記ファームウェア更新処理の実行対象となる回路基板のIOPに対しファームウェア更新の指示を送信する処理を行って、前記ファームウェア更新処理を行わせる。
また、ファームウェア更新のための一処理方法として、ファームウェア更新の際、前記保守装置は、前記回路基板のIOPに対し第2のネットワークを通じてファームウェア更新の指示を送信する処理を行い、前記回路基板のIOPは、前記保守装置からの指示を受信して、前記OSに対しサービス移動とシャットダウンのための指示を行い、前記回路基板のOSは、IOPからの指示に基づき、前記クラスタ内の回路基板上のOS間でサービスを引き継ぐ移動を行ってからシャットダウンを行い、前記OSのシャットダウン後、前記ファームウェア更新処理を行う。
また、ファームウェア更新のための一処理方法として、ファームウェア更新の際、前記保守装置は、前記ファームウェア更新処理の実行対象となる回路基板に対し、前記サービスを中断してファームウェアを更新させるための指示を送信する処理を行い、前記回路基板は、前記保守装置からの指示に基づき、提供中のサービスが有れば中断して前記サービス移動処理は行わず、その後に前記ファームウェア更新処理を行い、前記更新の完了後に担当サービスの提供を開始する。
また、前記ファームウェア更新対象となる回路基板を含んで複数のクラスタ単位を構成し、前記クラスタ単位において、それぞれ前記各処理方法を組み合わせてファームウェア更新を行ってもよい。
また、制御装置への回路基板の増設時に、前記共有メモリ上に前記新ファームウェアイメージが格納されている場合、前記増設された回路基板の不揮発性メモリ上のファームウェアのバージョンと、前記共有メモリ上に格納されている前記新ファームウェアイメージのバージョンとを参照して、前記増設された回路基板内のファームウェアについて更新が必要かどうか判断する処理を行い、前記更新が必要と判断した場合は、前記増設された回路基板において前記IOPと第2のネットワークを通じて前記ファームウェア更新プログラムと新ファームウェアイメージを取得して前記不揮発性メモリ上のファームウェアを新ファームウェアに更新するファームウェア更新処理を実行する。
また、制御装置への回路基板の増設時に、前記共有メモリ上に前記新ファームウェアイメージが格納されておらず、他の回路基板が動作状態の場合、前記保守装置から第2のネットワークを通じて前記動作状態の回路基板のIOPへ指示を行い、前記指示に基づき前記動作状態の回路基板のIOPは、前記CPUに指示して前記不揮発性メモリから新ファームウェアイメージをリードさせ、前記リードした新ファームウェアイメージを前記共有メモリに格納する処理を行う。前記共有メモリに格納したデータを用いて前記増設された回路基板でのファームウェア更新処理を実行する。
また、制御装置への回路基板の増設時に、前記共有メモリ上に前記新ファームウェアイメージが格納されておらず、他の回路基板が非動作状態の場合、前記保守装置から第2のネットワークを通じて前記増設された回路基板のIOPに対し前記ファームウェア更新プログラムと新ファームウェアイメージを送信し、前記増設された回路基板は、前記ファームウェア更新プログラムと新ファームウェアイメージを前記共有メモリに格納する処理を行う。前記送信されたデータをもとに前記増設された回路基板でのファームウェア更新処理を実行する。
また、制御装置の回路基板の交換(すなわち交換対象回路基板の取り外し及び交換後回路基板の装着)時に、前記増設時と同様の処理に従って、交換後回路基板の不揮発性メモリ上のファームウェアのバージョンと、前記共有メモリ上に格納されている新ファームウェアイメージあるいは前記保守装置から取得する新ファームウェアイメージのバージョンとを参照して、前記交換後回路基板内のファームウェアについて更新が必要かどうか判断する処理を行い、前記更新が必要と判断した場合は、前記交換後回路基板において前記IOPと第2のネットワークを通じて前記ファームウェア更新プログラムと新ファームウェアイメージを取得して前記不揮発性メモリ上のファームウェアを新ファームウェアに更新するファームウェア更新処理を実行する。更新完了後に、必要に応じて、交換前の回路基板で提供していたサービスを引き継いだ他の回路基板からサービスを戻す処理を前記サービス移動機能により行う。
(2)本発明のストレージ装置で、前記回路基板は、CPUと、前記CPUの作業用となるメモリ(RAM等)と、ファームウェアを保持する不揮発性メモリと、ネットワーク制御部とを有する。前記CPU上で稼動するOSにより、クライアントとなる情報処理装置からの要求に基づきデータを前記記憶デバイスの記憶領域に入出力するサービスを提供する。前記不揮発性メモリには、ハードウェア初期化及び前記OSの起動を行うためのBIOSを含むファームウェアが保持される。前記ネットワーク制御部は前記第1のネットワークに対する通信インターフェイスである。このような構成において、前記ファームウェアの更新を行うために、以下のように前記回路基板のCPU上で稼動するOSによる制御を中心にファームウェアの更新を行う。
前記制御装置では、ファームウェア更新対象の回路基板を含んで複数の回路基板が相互に通信可能なように接続されてクラスタを構成し、前記クラスタ内の回路基板のOS間で必要に応じて前記サービスを引き継ぐサービス移動機能を有する。また、前記第1のネットワークに接続される情報処理装置として、管理用プログラムを備えた管理用の情報処理装置を有する。前記回路基板のCPU上で稼動するOSでファームウェア更新のためのファームウェア更新プログラムを動作させる。
前記ファームウェアの更新の際は、前記ファームウェア更新対象となる回路基板について、前記管理用の情報処理装置から前記第1のネットワークを通じて回路基板のOSに対しファームウェア更新のための指示を送信する処理を行う。
前記回路基板のOSは、自OSで提供中のサービスを前記サービス移動機能により前記クラスタ内の他の回路基板のOSへ移動するサービス移動処理と、前記サービスの移動によりサービス非提供状態となった回路基板について前記ファームウェア更新プログラムと新ファームウェアイメージを用いて前記不揮発性メモリ上のファームウェアを新ファームウェアに更新するファームウェア更新処理とを行う。前記サービス移動処理とファームウェア更新処理とを含む処理単位を、前記ファームウェア更新対象となる回路基板のOSでファームウェア更新プログラムを動作させることで実行する。当該(2)における処理では、前記(1)における処理とは異なり、前記IOPや保守装置による処理は必要でない。
ファームウェア更新のための一処理方法として、前記ファームウェアの更新の際、前記サービス移動処理として、前記管理用の情報処理装置は、前記サービスの移動のための指示を前記第1のネットワークを通じて前記回路基板のOSに対して送信する処理を行う。前記指示に基づき、前記回路基板のOSは、前記クラスタ内の回路基板上のOS間でサービスの移動を行う。前記サービスの移動後、前記管理用の情報処理装置から前記ファームウェア更新処理の実行対象となる回路基板のOSに対し前記ファームウェア更新プログラムと新ファームウェアイメージを送信する処理を行う。前記回路基板のOSは、前記ファームウェア更新プログラムを実行し前記新ファームウェアイメージを用いて前記ファームウェア更新処理を行う。
また、ファームウェア更新のための一処理方法として、前記ファームウェアの更新の際、前記管理用の情報処理装置は、前記回路基板のOSに対し前記第1のネットワークを通じてファームウェア更新の指示を送信する処理を行い、前記回路基板のOSは、前記指示に基づき、前記クラスタ内の回路基板上のOS間でサービスを引き継ぐ移動を行ってからシャットダウンを行い、前記OSのシャットダウン後、前記ファームウェア更新処理を行う。
また、ファームウェア更新のための一処理方法として、前記ファームウェアの更新の際、前記管理用の情報処理装置は、前記ファームウェア更新処理の実行対象となる回路基板のOSに対し、前記サービスを中断してファームウェアを更新させるための指示を送信する処理を行う。前記回路基板のOSは、前記指示に基づき、提供中サービスが有れば中断して前記サービス移動処理は行わず、その後に前記ファームウェア更新処理を行い、前記更新の完了後に担当サービスの提供を開始する。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
本発明によれば、クライアントに対するサービスを継続したまま一つ以上の回路基板におけるBIOSを含むファームウェアの更新を完了できる。
特に前記(1)の構成によれば、回路基板のIOPを中心にファームウェア更新を制御し、共有メモリ等にファームウェア更新プログラム及び新ファームウェアイメージを保持させるため、回路基板の交換や増設が行われた契機でも新ファームウェアに更新可能である。また、OSの障害やOSインストール前などOSが起動できない場合でもファームウェアの更新を行うことが可能である。
特に前記(2)の構成によれば、回路基板のOS上でファームウェア更新プログラムを動作させるので、PC等の一般的な機器からファームウェア更新のためのローディング(ファイル転送)が可能である。またファームウェア更新プログラムは、汎用的なOS上で動作するアプリケーションとして動作するので、OSの機能と組み合わせて動作させることが可能である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
<ストレージ装置及びコンピュータシステム全体構成>
まず、本発明の各実施の形態に係わるストレージ装置の全体構成について説明する。図1は、各実施の形態に係わるストレージ装置全体のハードウェア外観構成を示す。図2は、各実施の形態に係わるストレージ装置のうち特に記憶デバイス制御装置のハードウェア外観構成を示す。図3は、本実施の形態のストレージ装置を含むコンピュータシステム全体の機能ブロック構成を示す。
図1において、各実施の形態に係わるストレージ装置(ストレージシステム)600は、制御装置(記憶デバイス制御装置)100と記憶デバイス300がそれぞれの筐体に収納された形態である。一形態として、制御装置100の筐体の両側に記憶デバイス300の筐体が配置されている。
図2において、制御装置100は、正面中央に管理端末(後述の保守PC)160が備えられている。管理端末160は一形態としてノート型PCの形態である。管理端末160はカバーで覆われており、カバーを開けることで管理端末160を使用できる。管理端末160の下部には、チャネル制御部110となる回路基板(後述のブレード基板)を装着するためのスロットが設けられている。各スロットには一つのチャネル制御部110の回路基板が着脱可能である。ストレージ装置600には、一形態として8個のスロットが有り、各スロットには回路基板を装着するためのガイドレールが設けられている。ガイドレールに沿ってチャネル制御部110の回路基板が挿入あるいは取り外しされる。各スロットの奥手方向にはチャネル制御部110の回路基板を制御装置100と電気的に接続するためのコネクタが設けられており、回路基板側のコネクタ部分がスロット内のコネクタに接続されることで制御装置100に接続された状態となる。保守員等により、必要に応じて回路基板の増設、減設、交換が可能である。
制御装置100におけるディスク制御部140や共有メモリ120等についても、一形態としてチャネル制御部110と同様に回路基板として実装され、制御装置100の背面等に装着される。
制御装置100には、チャネル制御部110等から発生する熱を放熱するための複数のファン170が設けられている。ファン170は、制御装置100の上面部やスロットの上部等に設けられる。
図3において、ストレージ装置600は、主に制御装置100と複数の記憶デバイス300とを備えた構成である。制御装置100は、通信手段を通じて接続される情報処理装置(後述のPC)200から受信したコマンドに従って記憶デバイス300に対する制御を行う。例えば情報処理装置200からのデータの入出力要求を受信して、記憶デバイス300の記憶領域に記憶されているデータの入出力のための処理を行う。データは、記憶デバイス300が備えるディスクドライブにより提供される物理的な記憶領域上に論理的に設定される記憶領域である論理ボリューム(LU)に記憶されている。また制御装置100は、情報処理装置200との間で、ストレージ装置600を管理するための各種コマンドの授受も行う。
情報処理装置200は、CPUやメモリを備えたコンピュータである。情報処理装置200が備えるCPUにより各種プログラムが実行されることにより様々な機能が実現される。情報処理装置200は、例えばPC(パーソナルコンピュータ)やワークステーションであることもあるし、メインフレームコンピュータであることもある。
図3で、情報処理装置1乃至3(200)は、LAN(Local Area Network)400を介して制御装置100と接続されている。LAN400は、インターネットとすることもできるし、専用ネットワークとすることもできる。LAN400を介して行われる情報処理装置1乃至3(200)と制御装置100との間の通信は、例えばTCP/IPプロトコルに従って行われる。情報処理装置1乃至3(200)からは、ストレージ装置600に対して、ファイル名指定によるデータアクセス要求(ファイル単位でのデータ入出力要求。以下、ファイルアクセス要求と称する)が送信される。
LAN400には、バックアップデバイス910が接続されている。バックアップデバイス910は、具体的には、MOやCD−R、DVD−RAMなどのディスク系デバイス、DATテープ、カセットテープ、オープンテープ、カートリッジテープなどのテープ系デバイスである。バックアップデバイス910には、LAN400を介して制御装置100との間で通信を行うことにより、記憶デバイス300に記憶されているデータのバックアップデータを記憶する。またバックアップデバイス910は、情報処理装置1(200)と接続されるようにすることもできる。この場合は情報処理装置1(200)を介して記憶デバイス300に記憶されているデータのバックアップデータを取得するようにする。
制御装置100は、チャネル制御部1乃至4(110)を備える。以下、チャネル制御部1乃至4をCHNと記す。制御装置100は、CHN(110)によりLAN400を介して情報処理装置1乃至3(200)やバックアップデバイス910との間で通信を行う。CHN(110)は、情報処理装置1乃至3(200)からのファイルアクセス要求を個々に受け付ける。すなわち、CHN(110)には、個々にLAN400上のネットワークアドレス、例えばIPアドレスが割り当てられていて、それぞれが個別にNAS(Network Attached Storage)として振る舞い、個々のNASがあたかも独立したNASが存在するようにNASとしてのサービスを情報処理装置1乃至4(110)に提供することができる。このように一台のストレージ装置600に個別にNASとしてのサービスを提供するCHNを備えるように構成したことで、従来、独立したコンピュータで個々に運用されていたNASサーバが一台のストレージ装置600に集約される。そして、これによりストレージ装置600の統括的な管理が可能となり、各種設定・制御や障害管理、バージョン管理といった保守業務の効率化が図られる。
制御装置100のCHN(110)は、後述するように、一体的にユニット化された回路基板上に形成されたハードウェア及びこのハードウェアにより実行されるOSやこのOS上で動作するアプリケーションプログラムなどのソフトウェアにより実現される。このようにストレージ装置600では、従来ハードウェアの一部として実装されてきた機能がソフトウェアにより実現されている。このため、ストレージ装置600では柔軟なシステム運用が可能となり、多様で変化の激しいユーザニーズに対しきめ細かなサービスを提供することが可能となる。
情報処理装置3乃至4は(200)は、SAN(Storage Area Network)500を介して制御装置100と接続されている。SAN500は、記憶デバイス300が提供する記憶領域におけるデータの管理単位であるブロックを単位として情報処理装置3乃至4(200)との間でデータの授受を行うためのネットワークである。SAN500を介して行われる情報処理装置3乃至4(200)と制御装置100との間の通信は、一般にファイバチャネルプロトコルに従って行われる。情報処理装置3乃至4(200)からは、ストレージ装置600に対してファイバチャネルプロトコルに従ってブロック単位のデータアクセス要求(以下、ブロックアクセス要求と称する)が送信される。
SAN500にはSAN対応のバックアップデバイス900が接続されている。SAN対応バックアップデバイス900には、SAN500を介して制御装置100との間で通信を行うことにより、記憶デバイス300に記憶されているデータのバックアップデータを記憶する。
制御装置100は、チャネル制御部5乃至6(110)を備える。以下、チャネル制御部5乃至6をCHFと記す。制御装置100は、CHF(110)により、SAN500を介して情報処理装置3乃至4(200)及びSAN対応バックアップデバイス900との間の通信を行う。
また情報処理装置5(200)は、LAN400やSAN500等のネットワークを介さずに制御装置100と接続される。情報処理装置5(200)と制御装置100との間の通信は、例えばFICON(Fibre Connection)(登録商標)やESCON(Enterprise System Connection)(登録商標)、ACONARC(Advanced Connection Architecture)(登録商標)、FIBARC(Fibre Connection Architecture)(登録商標)などの通信プロトコルに従って行われる。情報処理装置5(200)からは、ストレージ装置600に対してこれら通信プロトコルに従ってブロックアクセス要求が送信される。
制御装置100は、チャネル制御部7乃至8(110)により情報処理装置5(200)との間で通信を行う。以下、チャネル制御部7乃至8をCHAと記す。
SAN500には、ストレージ装置600の設置場所(プライマリサイト)とは遠隔した場所(セカンダリサイト)に設置される他のストレージ装置610が接続されている。ストレージ装置610は、レプリケーション又はリモートコピーの機能におけるデータの複製先の装置として利用される。なおストレージ装置610は、SAN500以外にもATMなどの通信回線によりストレージ装置600に接続されることもある。この場合には例えばチャネル制御部110として上記通信回線を利用するためのインターフェイス(チャネルエクステンダ)を備えるものが採用される。
本実施の形態によれば、ストレージ装置600内にチャネル制御部110としてCHN、CHF、CHAを混在させて装着させることにより、異種ネットワークに接続されるストレージ装置を実現できる。具体的には、ストレージ装置600は、CHN110を用いてLAN400に接続され、かつCHF110を用いてSAN500に接続されるというSAN−NAS統合ストレージシステムである。
<記憶デバイス>
記憶デバイス300は、多数のディスクドライブ(物理ディスク)を備えて構成され、情報処理装置200に対して記憶領域を提供する。データは、ディスクドライブにより提供される物理的な記憶領域上に論理的に設定される記憶領域であるLUに記憶される。ディスクドライブとしては、例えばハードディスク装置やフレキシブルディスク装置、半導体記憶装置等様々なものを用いることができる。記憶デバイス300は、例えば複数のディスクドライブによりディスクアレイを構成することもできる。この場合、情報処理装置200に対して提供される記憶領域は、RAIDにより管理された複数のディスクドライブにより提供されるようにすることができる。
制御装置100と記憶デバイス300との間は、図3のように直接接続される形態にもできるし、ネットワークを介して接続される形態にもできる。更に記憶デバイス300は制御装置100と一体化構成にもできる。
記憶デバイス300に設定されるLUは、情報処理装置200からアクセス可能なユーザLU(データデバイス)や、チャネル制御部110による制御等、システム制御のために使用されるシステムLU(システムデバイス)等がある。また各LUにはチャネル制御部110が対応付けられている。これによりチャネル制御部110ごとにアクセス可能なLUが割り当てられている。また上記対応付けは、複数のチャネル制御部110で一つのLUを共有するようにすることもできる。なお、複数のチャネル制御部110で共有されるLUを共有LU等と称する。
<記憶デバイス制御装置>
制御装置100は、チャネル制御部110、共有メモリ120、キャッシュメモリ130、ディスク制御部140、管理端末160、接続部150等を備える。
チャネル制御部110は、情報処理装置200との間で通信を行うための通信インターフェイスを備え、情報処理装置200との間でデータ入出力コマンド等を授受する機能を備える。例えばCHN110は、情報処理装置1乃至3(200)からのファイルアクセス要求を受け付ける。そしてファイルの記憶アドレスやデータ長等を求めて、ファイルアクセス要求に対応するI/O要求を出力することにより、記憶デバイス300へのアクセスを行う。これによりストレージ装置600はNASとしてのサービスを情報処理装置1乃至3(200)に提供できる。なおI/O要求にはデータの先頭アドレス、データ長、読み出し又は書き込み等のアクセス種別が含まれている。またデータの書き込みの場合にはI/O要求には書き込みデータが含まれるようにすることができる。I/O要求の出力は、後述されるIOP(I/Oプロセッサ)により行われる。またCHF110は、情報処理装置3乃至4(200)からのファイバチャネルプロトコルに従ったブロックアクセス要求を受け付ける。これにより、ストレージ装置600は高速アクセス可能なデータ記憶サービスを情報処理装置3乃至4(200)に対し提供できる。またCHA110は、情報処理装置5(200)からの前記FICON等のプロトコルに従ったブロックアクセス要求を受け付ける。これによりストレージ装置600は、情報処理装置5(200)のようなメインフレームコンピュータに対してデータ記憶サービスを提供できる。
各チャネル制御部110は、管理端末160と共に内部LAN151で接続されている。これによりチャネル制御部110に実行させるプログラムを管理端末160から送信してインストールすることが可能となっている。
チャネル制御部110にはCHN、CHF、CHA等の各種が有るが、サイズやコネクタ形式等に互換性を持たせておりストレージ装置600の持つ前記各スロットにいずれのチャネル制御部110の回路基板でも装着可能である。従って、例えば8個のスロットにすべてCHN110を装着可能である。また、4枚の回路基板をグループとして2種の回路基板を装着可能である。また、2枚の回路基板をグループとして4種の回路基板を装着可能である。また8個のスロットにそれぞれ異なる種類の回路基板を装着可能である。また、図3に示したように、4枚のCHN110と2枚のCHFと2枚のCHAなどのように任意に組み合わせて装着可能である。またスロットには必ずしも回路基板を装着する必要はなく空き状態となっていても構わない。
接続部150は、チャネル制御部110、共有メモリ120、キャッシュメモリ120、ディスク制御部140を相互に接続する。チャネル制御部110、共有メモリ120、キャッシュメモリ120、ディスク制御部140の間でのデータやコマンドの授受は接続部150を介することで行われる。接続部150は、例えば高速スイッチングによりデータ伝送を行うクロスバースイッチなどの高速バスで構成される。チャネル制御部110同士が高速バスで接続されることで、個々のコンピュータ上で動作するNASサーバがLANを通じて接続する従来構成に比べチャネル制御部110間の通信パフォーマンスが向上している。またこれにより高速なファイル共有機能や高速なフェイルオーバなどが可能となる。
共有メモリ120及びキャッシュメモリ130は、チャネル制御部110、ディスク制御部140により共有されるメモリである。共有メモリ129は、主に制御情報やコマンド等を記憶するために利用され、キャッシュメモリ130は、主にデータ(ユーザデータ)を記憶するために利用される。
例えば、あるチャネル制御部110がある情報処理装置200から受信したデータ入出力コマンドが書き込みコマンドであった場合、当該チャネル制御部110は、書き込みコマンドを共有メモリ120に書き込むと共に、情報処理装置200から受信した書き込みデータをキャッシュメモリ130に書き込む。一方、ディスク制御部140は、共有メモリ120を監視しており、共有メモリ120に書き込みコマンドが書き込まれたことを検出すると、当該コマンドに従ってキャッシュメモリ130から書き込みデータを読み出して記憶デバイス300に書き込む。
また、あるチャネル制御部110がある情報処理装置200から受信したデータ入出力コマンドが読み出しコマンドであった場合、当該チャネル制御部110は、読み出しコマンドを共有メモリ120に書き込むと共に、読み出し対象となるデータがキャッシュメモリ130に存在するかどうか調べる。ここでキャッシュメモリ130に読み出し対象データが存在すれば、チャネル制御部110はそのデータを情報処理装置200に送信する。一方、読み出し対象データがキャッシュメモリ130に存在しない場合は、共有メモリ120を監視することにより読み出しコマンドが共有メモリ120に書き込まれたことを検出したディスク制御部140が、記憶デバイス300から読み出し対象データを読み出してこれをキャッシュメモリ130に書き込むと共に、その旨を共有メモリ120に書き込む。そして、チャネル制御部110は、共有メモリ120を監視することで読み出し対象データがキャッシュメモリ130に書き込まれたことを検出すると、そのデータを情報処理装置200に送信する。
なお、このようにチャネル制御部110からディスク制御部140に対するデータの書き込みや読み出しの指示を、共有メモリ120を介在させて間接に行う構成の他、例えばチャネル制御部110からディスク制御部140に対してデータの書き込みや読み出しの指示を、共有メモリ120を介さずに直接行う構成とすることもできる。
ディスク制御部140は、記憶デバイス300の制御を行う。例えば前記チャネル制御部110が情報処理装置200から受信したデータ書き込みコマンドに従って記憶デバイス300へデータの書き込みを行う。また、チャネル制御部110により送信された論理アドレス指定によるLUへのデータアクセス要求を、物理アドレス指定による物理ディスクへのデータアクセス要求に変換する。記憶デバイス300における物理ディスクがRAIDにより管理されている場合には、RAID構成に従ったデータアクセスを行う。またディスク制御部140は、記憶デバイス300に記憶されたデータの複製管理の制御やバックアップ制御を行う。更にディスク制御部140は、障害発生時のデータ消失防止(ディザスタリカバリ)等を目的としてプライマリサイトのストレージ装置600のデータについての複製をセカンダリサイトのストレージ装置610に記憶する制御(レプリケーション機能又はリモートコピー機能)等も行う。
各ディスク制御部140は、管理端末160と共に内部LAN151で接続されており、相互に通信を行うことが可能である。これによりディスク制御部140に実行させるプログラムを管理端末160から送信してインストールすることが可能となっている。
なお本実施の形態では共有メモリ120及びキャッシュメモリ130がチャネル制御部110及びディスク制御部140に対して独立に設けられている構成について記載したが、これに限らず、共有メモリ120、キャッシュメモリ130がチャネル制御部110、ディスク制御部140の各々に分散されて設けられる形態も可能である。この場合、接続部150は、分散された共有メモリ又はキャッシュメモリを有するチャネル制御部及びディスク制御部を相互に接続させる。
<保守・管理端末>
管理端末(保守PC)160は、ストレージ装置600の保守・管理を行うためのコンピュータである。保守員は、管理端末160を操作して各種保守・管理の業務を行う。管理端末160を操作することにより、例えば記憶デバイス300内の物理ディスク構成の設定やLUの設定、チャネル制御部110等において実行されるプログラムのインストール等を行うことができる。ここで、記憶デバイス300内の物理ディスク構成の設定としては、例えば物理ディスクの増設や減設、RAID構成の変更(RAIDレベルの変更等)等を行うことができる。更に、管理端末160からは、ストレージ装置600の動作状態の確認や、故障部位の特定、チャネル制御部110等で実行されるOSのインストール等の作業を行うこともできる。また管理端末160は、LANや電話回線等を通じて外部の保守センタと接続されており、障害が発生した場合に迅速に対応できる。障害の発生は例えばOSやアプリケーションプログラム、ドライバソフトウェア等から通知される。この通知は、HTTPやSNMPや電子メール等の手段により行われる。これらの設定や制御は、管理端末160で動作するWebサーバが提供するWebページをユーザインターフェイスとしてオペレータにより行われる。オペレータは、管理端末160を操作して障害監視する対象や内容の設定、障害通知先の設定等を行うこともできる。
管理端末160は、制御装置100に内蔵される形態とすることもできるし、外付けされる形態とすることもできる。また管理端末160は、制御装置100及び記憶デバイス300の保守・管理を専用に行うコンピュータの形態にも、汎用コンピュータに保守・管理機能を持たせた形態にもできる。
管理端末160は、CPU、メモリ(RAM)、ポート(通信インターフェイス)、記憶媒体読み取り装置、入力装置(キーボード・マウス等)、出力装置(ディスプレイ等)、記憶装置(ハードディスクドライブ等)を備える。前記CPUは、管理端末160全体の制御を司る。CPUが前記メモリに格納されたプログラムを実行することで前記Webサーバとしての機能を実現する。メモリには、保守・管理のための情報・データ、例えば物理ディスク管理テーブルやLU管理テーブル等が記憶される。記憶媒体読み取り装置は、記憶媒体に記憶されているプログラムやデータを読み取るための装置である。本実施の形態の場合、記憶媒体として後述のFD(フレキシブルディスク)31にBIOS更新プログラム22と新BIOSイメージ23を記憶している。FD31に限らずCDや半導体メモリ等を用いてもよい。記憶媒体読み取り装置で記憶媒体から読み取られたデータは、メモリや記憶装置に格納される。例えば、FD31に記憶されているBIOS更新プログラム22と新BIOSイメージ23を、記憶媒体読み取り装置を通じて読み取って、メモリや記憶装置に格納する。ポートは内部LAN151に接続され、チャネル制御部110やディスク制御部140等の回路基板と通信可能である。またポートをLAN400や電話回線等に接続することも可能である。
(実施の形態1)
本発明の実施の形態1におけるストレージ装置について以下説明する。図4は、本発明の実施の形態1におけるストレージ装置を含むコンピュータシステム全体の機能ブロック構成を示す。本図では、特に制御装置100を構成する回路基板の保持するファームウェアの更新を行うにあたり係わる部位を中心に図示している。
実施の形態1のストレージ装置でのファームウェア更新の方法(第1のファームウェア更新方法と称する)では、制御装置100を構成する回路基板内のIOPでの制御を中心に管理端末160を用いてファームウェアの更新を行う。制御装置100におけるファームウェア更新対象となる回路基板を含んでクラスタを構成する。クラスタ内の回路基板間でサービスを引き継ぐフェイルオーバを適宜実行することでクライアントとなる情報処理装置200に対するサービスの提供を継続したまま、各回路基板のファームウェアの更新を行う。
図4において、制御装置100を構成するブレード基板(以下、ブレードと称する)であるブレード#1及びブレード#2(10)は、それぞれ前記チャネル制御部110に対応する。以下、区別のための番号を#で表わす。なお本図ではクラスタ構成として2枚のブレード10のみ示すが、複数のブレード10により後述のクラスタが構成可能である。また、点線枠で示す制御装置100を構成する、ブレード10以外の共有メモリ120等の要素は、点線枠の外部に示す。各ブレード10は、記憶デバイス300に物理的及び論理的なパスを通じて接続され、データの記憶に関する処理を制御する。各ブレード10は、クライアントとなるPC200に対してファイルサーバ等のサービスを提供する。
PC(及び管理用PC)200は、前記情報処理装置200に対応する。PC200は、当該コンピュータシステムのユーザが通常業務等のために利用するコンピュータである。PC200は、それぞれ個別のサーバとして機能するブレード10に対して第1ネットワーク41経由でアクセス要求を送信し、ブレード10での処理を経由して記憶デバイス300に対するデータのリード/ライトを行う。
管理用PC200は、PC200のうちの一つであり、当該コンピュータシステムのユーザ側管理者が本ストレージ装置に対する管理のために利用可能なコンピュータである。管理用PC200から、後述のフェイルオーバ(サービス移動)等の実行のための管理機能が専用ソフトウェア(管理プログラム)上で利用可能であり、ユーザ側管理者の指示入力に基づきフェイルオーバ指示等をブレード10に対して実行可能である。
保守PC(前記管理端末)160は、本ストレージ装置を含んだコンピュータシステムの運用側の保守員が使用するコンピュータである。保守PC160は、第2ネットワーク42を通じて各ブレード10と通信を行って保守・管理に係わる処理を実行する。保守PC160は、特に各ブレード10のIOP12とLANコントローラ17を通じて通信可能である。特に実施の形態1の場合、各ブレード10の保持するファームウェアの更新を保守PC160から行う。保守PC160のハードウェア構成は前述の通りである。保守PC160は、FD31からデータを読み取る処理を行う。FD31は、BIOS更新プログラム22と、新BIOSイメージ23とを記憶している。また保守PC160は、通信回線を通じて本ストレージ装置及びコンピュータシステムの総合的な保守・管理のための保守センタ32に接続される。保守PC160は、保守センタ32からも、BIOS更新プログラム22と新BIOSイメージ23とをダウンロードして取得可能である。
保守PC160は、ファームウェア更新に係わる操作のためのユーザインターフェイスを提供する。すなわち、保守PC160は、ブレード10のIOP12との通信をもとに、サービス移動処理とファームウェア更新処理の状況を表わす情報や、その指示のための情報を入出力する更新管理処理を行う。例えば、サービス移動の指示や、サービス移動完了状態やファームウェア更新完了状態等を表示し、また保守員の操作入力に基づきファームウェア更新指示等をブレード10に対して発行する。
第1ネットワーク41は、主にPC200に対するサービス提供用のネットワークであり、前記LAN400やSAN500等に対応する。第1ネットワーク41を通じてPC200とブレード10との間で通信が可能である。
第2ネットワーク42は、主にストレージ装置の保守・管理用のネットワークであり、前記内部LAN151に対応する。第2ネットワーク42は、保守PC160に接続される。第2ネットワーク42を通じて保守PC160と各ブレード10のIOP12との間で通信可能である。
内部バス43は、制御装置100の内部でブレード10及び共有メモリ120を含む各回路基板を接続するバスであり、前記接続部150が対応する。内部バス43を通じてIOP12と共有メモリ120が通信可能である。特に、IOP12は、共有メモリ120に後述のOS状態情報27等の各種情報を格納し、必要に応じて参照する処理を行う。
共有メモリは、例えば一つの回路基板として実装され、ブレードと同様にストレージ装置の論理ボックス内に装着される。ストレージ装置内で、各ブレードと共有メモリは、IOPを介してバスで接続される。
実施の形態1で、保守PC160のCPUと、管理用PC200のCPUと、ブレード10特にIOP12とCPU11とでは、後述するファームウェアの更新に係わる各種処理を実現するためのプログラムが実行される。
<ブレード基板>
ブレード(#1、#2)10のハードウェアは、基板上に、CPU11、IOP12、メモリA13、メモリB14、フラッシュメモリ15、LANコントローラ16,17、及びこれらを接続するバス等が形成された構成である。
本実施の形態の場合、ブレード10は前記チャネル制御部110に相当する回路基板とするが、ストレージ装置の制御装置100が前記チャネル制御部110やディスク制御部140等により構成される以外の形態でも同様である。すなわち本実施の形態におけるブレード10の構成は、ストレージ装置の制御装置100を構成する回路基板としての一般的な構成を示している。
CPU11は、ブレード10の全体を制御する。CPU11上で稼動するOS21により、クライアントとなるPC200に対するサービスの提供を含む各処理を実行する。CPU11はIOP12にバスで接続され通信を行う。CPU11は、主にメモリA13を作業用に使用する。
OS(#1、#2)21は、CPU11上で稼動する。OS21は、ブレード10の電源オンと共にフラッシュメモリ15上のBIOS(旧BIOS)20に従って起動される。OS21は、ベースとなるOS部分のみならず、ファイルシステム、RAID管理プログラム、保守・管理プログラム、障害管理プログラム、NAS管理プログラム等、上位アプリケーションプログラムまで含むソフトウェアであるものとする。OS21は、例えば記憶デバイス300のうちシステムデバイスの領域に格納・管理される。
IOP12は、前記ディスク制御部140やキャッシュメモリ130や共有メモリ120、保守PC160との間でデータやコマンドの授受を行うプロセッサである。IOP12は、CPU11と直接通信可能であり、CPU11とディスク制御部140・記憶デバイス300との間の通信を中継する。IOP12は、主にメモリB14を作業用に使用する。IOP12は、記憶デバイス300へのI/O処理の他、CPU11の障害監視等の処理も行う。IOP12は例えば1チップマイコンで構成される。
メモリA13は、RAMであり、各種プログラムやデータが記憶される。例えば、CPU11上で稼動するOS21を構成するプログラム、特にクライアントとなるPC200に対するサービスのためのプログラム、後述のフェイルオーバ機能のためのプログラム、PC200やIOP12との間で授受するデータ等が記憶される。クライアントに対するサービスのためのデータとしては、例えばファイルシステムのためのメタデータや、ファイル排他制御のためのロックテーブル等がある。前記メタデータには例えばファイルのデータが記憶されるLUアドレスやデータサイズ等の情報が含まれる。前記ロックテーブルには、ファイルやLU単位でのアクセス禁止情報が含まれる。
メモリA14は、RAMであり、各種プログラムやデータが記憶される。例えば、IOP12がCPU11と記憶デバイス300との間で授受するデータ、IOP12が保守PC160との間で授受するデータ等が記憶される。
なお、本実施の形態では、ブレード10内に作業用のメモリとして二つのメモリA13、メモリB14を設けているが、これに限らず単一のメモリをCPU11とIOP12で共用する構成等も可能である。
フラッシュメモリ15は、電力供給が遮断されてもデータを保持できる不揮発性メモリであり、その記憶領域に、BIOS(旧BIOS)20を含むファームウェアが書き込まれ保持されている。ブレード10における電源供給オフ時もBIOS20を含むファームウェアが保持され、ブレードにおける電源供給オン時にはまずBIOS20を含むファームウェアが起動される。図4の状態では、ブレード10内のBIOS20は、更新前の状態の旧BIOSである。旧BIOS20よりも新しいバージョンの新BIOSが新BIOSイメージ23に含まれている。
前記ファームウェアは、CPU11周辺のハードウェアの初期化や、OS21の起動を行うBIOS20を含んだプログラムであり、ブレード10の起動時にCPU11により実行される。BIOS20中のコードは、OS21が起動されるまでに使用されるブート・コードである。当該ファームウェアを更新すなわち書き換えることで、ブレード10及びストレージ装置の動作・機能が更新されることとなる。
LANコントローラ16は、第1ネットワーク41に接続されPC200との間で通信を行うための通信インターフェイスを備える。例えばブレード10がCHN110である場合は、TCP/IPプロトコルに従ってPC200との間で通信を行う。PC200からのアクセス要求はLANコントローラ16での処理を経由してCPU11が処理する。
例えばブレード10が特に前記CHN110に対応する回路基板である場合、CHN110であるブレード10は、PC200からのファイルアクセス要求を、第1ネットワーク41を介して受け付け、CPU11上で稼動するOS21によりNASとしてのサービスを提供する。
LANコントローラ17は、第2ネットワーク42に接続され保守PC160との間で通信を行うための通信インターフェイスを備える。保守PC160からの要求はLANコントローラ17での処理を経由してIOP12が処理する。
前記OS21において、ファイルシステムは、ファイルアクセス要求で指定されるファイル名とLUとの対応付けを管理する。RAID管理プログラムは、RAID制御に関する設定等の処理を行う。保守・管理プログラムは、保守PC160からの要求に基づき、保守・管理に係わるサービスを保守PC160に対して提供する。例えば、LUやRAIDの設定内容の表示及び保守PC160からの設定反映等を行う。障害管理プログラムは、ストレージ装置の障害対策に係わる処理として、クラスタを構成するブレード10間でのフェイルオーバの制御等を行う。を行う。NAS管理プログラムは、ストレージ装置についての動作状態の確認、設定や制御等を行うためのプログラムである。NAS管理プログラムは、Webサーバとしての機能を有し、管理用PC200等からストレージ装置の設定や制御を行うための設定Webページを提供する。すなわち、管理用PC200からのHTTP要求に応じて設定Webページを応答送信する。管理用PC200において、設定Webページが表示され、管理用PC200のユーザ(システムアドミニストレータ等)によりストレージ装置に関する設定や制御の入力操作が行われる。設定Webページを通じて設定可能な内容としては、例えば、LU管理、バックアップ管理、複製管理、クラスタ構成の管理(フェイルオーバにおける対応関係やフェイルオーバ方法等)、OS21のバージョン管理、セキュリティ管理等がある。NAS管理プログラムは、管理用PC200から設定Webページを通じて入力送信される情報をもとに対応する設定や制御を実行する。
<クラスタ構成>
図5は、実施の形態1のストレージ装置におけるブレード10のクラスタ構成について示す説明図である。複数のブレード10によりクラスタを構成する。ここでは例として2枚のCHN110であるブレード10でクラスタが構成される例を示す。二つのブレード#1とブレード#2によりクラスタ#1(71)を構成している。クラスタを構成するブレード10間で、障害管理プログラムにおけるフェイルオーバ機能によりフェイルオーバ処理が実行可能である。クラスタ構成とすることで、クラスタ内のあるブレード10に障害が発生した場合でも、障害発生したブレード10がそれまで実行していた処理、例えばクライアントに対するサービスを、クラスタ内の他のブレード10に引き継ぐフェイルオーバ処理を行わせることができる。クラスタ内の回路基板間での処理の引き継ぎを本実施の形態ではフェイルオーバと称する。特に障害が発生していない場合でも保守員やユーザ側管理者からの指示に基づきフェイルオーバを実行可能である。またフェイルオーバの機能には、フェイルオーバ実行により他のブレード10へ引き継いだサービスを、元々サービスを提供していたブレード(オリジナルブレード)10へと戻す機能(フェイルバック機能)も含まれる。本実施の形態では、このようなフェイルオーバ機能を用いてファームウェアの更新を行う。
まず、障害発生時に実行されるフェイルオーバ処理について説明する。クライアントとなるPC200に対し、ブレード#1(10)のOS21でサービス#1(81)を提供しており、また、ブレード#2(10)のOS21でサービス#2(82)を提供している状態とする。例えばブレード#1(10)で障害が発生してOS21でクライアントに対するサービス#1(81)が継続できなくなった場合、それまで行っていたサービス#1(81)をブレード#2(10)のOS21に引き継ぐフェイルオーバ処理が自動的に行われる。またブレード#1(10)が障害から回復後に、ブレード#2(10)からサービス#1(81)をブレード#1のOS21に戻すフェイルバック処理も可能である。
クラスタを構成するブレード(#1、#2)10は、共に障害管理プログラムを実行し、共有メモリ120に対して自己の処理が正常に行われていることを書き込むようにする。そして、相手側ブレードの前記書き込みの有無を相互に確認するようにする。相手側による書き込み検出できない場合は、相手側に障害が発生したと判断し、フェイルオーバ処理を実行する。フェイルオーバ実行時のサービス引き継ぎは、記憶デバイス300上の共有LUを介して行われる。
クラスタを構成する各ブレード10は、アクセス可能なPC200を管理できる。アクセス可能なPC200からのアクセス要求にのみそのアクセス要求を受け付けるようにする。アクセス可能なPC200の管理は、ブレード10内のメモリA13や記憶デバイス300のシステムデバイス等に、アクセスを許可するPC200のアドレス情報すなわちIPアドレス等を記憶させることで行う。これにより、複数のPC200が同じLAN400等の第1ネットワーク41に介してストレージ装置に接続される構成においても、PC200のそれぞれに対して排他的にLUを割り当てることができる。上記設定は、保守PC160やPC200から行うことが可能である。PC200から行う場合には、ブレード10上で動作するNAS管理プログラムによりPC200に表示される設定Webページを利用して行う。
ブレード10間では、第1ネットワーク41経由で、互いの状態の監視のための通信が行われる。これにより各ブレード10の状態を認識して障害検出が可能である。ブレード10の状態監視のための通信として、ハートビート通信が行われる。ハートビート通信では、ブレード10間で定期的にハートビート情報の送受信を行い、応答が無い場合には該当ブレードに障害が発生していると判断する。
前記フェイルオーバ機能では、ブレード10間において、一つのブレードが障害等によりダウンすると、自動または手動で、別のブレード10にサービスを引き継ぐ処理が可能である。また、ダウンしたブレードが回復すると、自動または手動で、前記引き継ぎされたサービスを引き戻す処理が可能である。手動でフェイルオーバを実行する場合は、保守PC160や管理用PC200から指示して実行可能である。
ブレード10と記憶デバイス300とのインターフェイスとして、図中の実線部分のパス91,94は通常時のパスである。フェイルオーバ時は、破線部分のパス92,93が有効になる。例えば、通常時にブレード#1が記憶デバイス300のデータデバイス#1を用いてサービス#1を、ブレード#2が記憶デバイス300のデータデバイス#2を用いてサービス#2を行っているとする。この状態で、フェイルオーバを実行してサービス#1をブレード#2に引き継ぐ場合、サービス#1を引き継いだブレード#2が、破線部分のパス92を通じて両方の記憶デバイス300のデータデバイス#1、#2へのアクセスを行う。
ブレード10とPC200とのインターフェイスとしては、フェイルオーバ時に、ブレード10間でサービスのためのIPアドレス情報を引き継ぐことによって、クライアントのPC200はサーバすなわちブレード10がダウンしたことを意識することなくサービスの提供を継続的に受けることができる。
ストレージ装置の記憶デバイス300上のシステムデバイスには、前記ブレード10とPC200との間でのサービスのためのIPアドレス情報等を含む制御情報であるサービス情報25や、前記ブレード10と記憶デバイス300との間でのパス及びマウント状態を管理する制御情報であるディスク情報26等が格納される。
<複数のクラスタ>
図6は、実施の形態1のストレージ装置で、複数のブレード10で複数のクラスタを構成する例について示す説明図である。制御装置100を構成するブレード10をいくつかのクラスタにグループ化可能である。例えば本ストレージ装置を含むコンピュータシステムを利用する企業の部門単位に一つのクラスタを割り当てる。図6では、クラスタのグループ化の例として、クラスタ#1〜クラスタ#3の三つのクラスタを構成した場合を示す。クラスタ#1(71)は、ブレード#1、ブレード#2を含む構成である。クラスタ#2(72)は、ブレード#3、ブレード#4を含む構成である。クラスタ#3(73)は、ブレード#5〜ブレード#7を含む構成である。
例えば、ストレージ装置の有する前記各スロットに装着されるブレード10は、同種の複数のチャネル制御部110でクラスタを構成できる。例えば、2枚のCHN110をペアとしてクラスタを構成できる。
なお制御装置100は、信頼性向上のために電源系統が2系統化されており、チャネル制御部110となるブレード10が装着される前記8個のスロットは電源系統ごとに4個ずつに分けられている。そこでクラスタを構成する場合には、両方の電源系統のチャネル制御部110を含むようにすれば、片方の電源系統に障害が発生して電力供給が停止した場合でも、同一クラスタ内の他方の電源系統に属するチャネル制御部110への電源供給は継続されるため、当該チャネル制御部110に処理を引き継ぐことができる。
<サービスのための制御情報>
図7と図8は、実施の形態1のストレージ装置で記憶デバイス300上のシステムデバイスに保持される、サービスのための制御情報について示すテーブルである。OS21の扱うサービス提供に係わる制御情報として、例えばサービスのためのIPアドレス等の情報が、記憶デバイス300上のシステムデバイスの領域に格納される。図7は、ブレード10がPC200と通信してサービスを提供するための制御情報であるサービス情報25を保持するテーブルを示す。図8は、前記サービスの提供に係わる記憶デバイス300及びLUの管理のための制御情報であるディスク情報26を保持するテーブルを示す。これらは保守PC160や管理用PC200からも参照可能である。
図7で、サービス情報25は、データ項目として、ブレード25aと、ホスト名25bと、サービスIPアドレス25cと、オリジナルブレード25dと、サービス状態25eとを有する。ブレード25aはブレード識別情報である。ブレード25aで示されるブレード10は、クライアントとなるPC200に対して、ホスト名25bで示されるホストとして、サービスIPアドレス25cで示されるIPアドレスにより、サービスを提供する。サービス状態25eは、“サービス中”や“サービス停止”などの状態を表わす。オリジナルブレード25dは、サービスの元々の提供元を表わし、フェイルバックを行う際に、どのIPアドレス及びデバイスに対しサービスを戻せばよいかの判定に使用される。例として、図7の上のテーブルに示すように、ブレード#1(“Blade1”)が、ホスト名が“Server1”、サービスIPアドレスが“192.168.1.10”で、PC200に対して“サービス中”である。同様にブレード#2、#3もそれぞれPC200に対して“サービス中”である。この状態から、後述するようにブレード10のファームウェア更新のために、フェイルオーバ実行によりサービスを移動してブレード10を一旦ダウン(サービス停止)させる。図7の下のテーブルに示すように、フェイルオーバ実行によりブレード#1を一旦ダウンさせて“サービス停止”の状態にし、ブレード#2に、ブレード#1の前記“Server1”のサービスを引き継がせて“サービス中”の状態となる。
図8で、ディスク情報26は、データ項目として、ブレード26aと、デバイス26bと、マウント状態26cと、オリジナルブレード26dとを有する。ブレード26aはブレード識別情報である。デバイス26bはデバイス識別情報である。ブレード26aで示すブレード10は、デバイス26bで示す物理ボリュームあるいは論理ボリュームにマウントあるいはアンマウントされる。マウント状態26cは、デバイスに対する“マウント中”や“アンマウント”などの状態を表わす。オリジナルブレード26dは、サービスの元々の提供元を表わす。例として、図8の上のテーブルに示すように、ブレード#1(“Blade1”)が、デバイス“Disk1”,“Disk2”にマウント中で前記サービスを提供中である。この状態から、図8の下のテーブルに示すように、前記フェイルオーバ実行によりブレード#1をダウンさせて、デバイス“Disk1”,“Disk2”をアンマウントして“アンマウント”の状態にし、かつブレード#2に前記デバイス“Disk1”,“Disk2”をマウントして、オリジナルブレード26dがブレード#1であるサービスをブレード#2に引き継がせて“マウント中”の状態にする。
<一般的なBIOS更新手順>
比較のために、従来の一般的な、PC(パーソナルコンピュータ)におけるBIOSの更新の処理手順について簡単に説明しておく。PCは、CPU、メモリ(RAM)、旧BIOSを保持するフラッシュメモリ、その他入出力装置等の一般的な要素を有するものとする。新BIOSイメージとBIOS更新プログラムとを記録したFD(フレキシブルディスク)を用いて、前記フラッシュメモリ上の旧BIOSを新BIOSに更新する際の処理手順は以下のようになる。前記新BIOSイメージは、新BIOSのコードを含むデータであり、前記BIOS更新プログラムは、BIOS更新のための処理を記述したプログラムである。まず、PCの電源がオンされるとフラッシュメモリ上の旧BIOSが起動される。旧BIOSは、FDドライブからFDを検出して、FD内に記録されているBIOS更新プログラムをRAMへロードする。旧BIOSは、ロードされたBIOS更新プログラムに制御を移す。次に、BIOS更新プログラムは、FD内の新BIOSイメージをRAMにロードし、ロードした新BIOSイメージをフラッシュメモリの旧BIOS上にライトする。これによりPCにおけるBIOSのコードが更新された状態となるが、まだ当該PCのシステムはBIOS更新が有効な状態とはなっていない。次に、BIOS更新プログラムは、CPUをハードウェア的にリセットしてシステムをリブートさせる。システムのリブートによりフラッシュメモリ上の新BIOSが起動され、前記BIOS更新が有効な状態となる。
<第1のファームウェア更新方法>
前記図4を参照しながら、実施の形態1におけるストレージ装置での第1のファームウェア更新方法について説明する。第1のファームウェア更新方法では、ブレード10のIOP12での制御を中心に保守PC160を用いてファームウェアの更新を行う。ファームウェア更新対象となるブレード10を含んでクラスタを構成する。IOP12と保守PC160は、第2ネットワーク42を通じて通信を行う。保守PC160は、第2ネットワーク42を通じてファームウェア更新対象となるすべてのブレード10にアクセスできる。共有メモリ160は、すべてのブレード10のIOP12で共有してデータのリード/ライトのアクセスが可能である。OS21に対するフェイルオーバすなわちサービス移動の指示は、管理用PC200からユーザ側管理者等が指示入力することで実行される。保守PC160は保守員により操作される。管理用PC200はユーザ側管理者により操作される。ファームウェア更新対象となるブレード10の例として、制御装置100に複数接続されているブレード10のうちの前記ブレード#1とブレード#2を対象とする。
第1のファームウェア更新方法において、更に以下に示す複数の処理方法を選択的に用いることができる。
<第1のファームウェア更新方法−第1の処理方法>
図9は、実施の形態1のストレージ装置での、第1のファームウェア更新方法のうち第1の処理方法に対応した処理手順を示すフローチャートである。第1のファームウェア更新方法のうち第1の処理方法では、オペレータ(保守員及びユーザ側管理者)を介入して手動操作でフェイルオーバを実行してクライアントとなるPC200に対するサービスのための通信を継続したまま、各ブレード10のファームウェアの更新を行う。また、第1ネットワーク41を介して管理用PC200からの指示を起点として前記ファームウェア更新のためのフェイルオーバを行う。以下、例として、ブレード#1、#2の順でファームウェア更新処理を実行する。
まず、保守PC160は、保守員の操作に基づき、BIOS更新プログラム22と新BIOSイメージ23を、FD31から読み込みあるいは保守センタ32からダウンロードして保守PC160内のメモリ領域に取得する(ステップS101)。次に、保守PC160から、ファームウェア更新対象となるブレード10から任意に選択してこの選択されたブレード10のIOP12に対し、第2ネットワーク42を通じて通信を行い、BIOS更新プログラム22及び新BIOSイメージ23を送信して、メモリB14に格納させる(S102)。ここで前記ファームウェア更新対象となるブレード10のうちBIOS更新プログラム22及び新BIOSイメージ23の送付先となるIOP12を、以下、代表IOP12と称する。前記代表IOP12の選択は、自動でも手動でもよい。
次に、前記選択されたブレード10の代表IOP12は、保守PC160から受信してメモリB14に格納したBIOS更新プログラム22及び新BIOSイメージ23を、共有メモリ120に格納(コピー)する処理を行う(S103)。この格納処理は、他のブレード10が共有メモリ120上からBIOS更新プログラム22及び新BIOSイメージ23を利用できるようにするための処理である。
上記処理完了後、第2ネットワーク42での通信を通じて、保守PC160の出力装置画面上にサービス移動指示(フェイルオーバ指示)が表示される(S104)。この指示は、ファームウェア更新対象のブレード10におけるファームウェア更新処理実行開始のために、その前処理として該当ブレード10における他ブレード10へのサービス引き継ぎを実行させるための指示である。保守員は、保守PC160でこの指示を認識して、管理用PC200を使用するユーザ側管理者に対しフェイルオーバ操作を指示する。
ユーザ側管理者は、保守員側からの指示に基づき、管理用PC200上のソフトウェアから、前記ファームウェア更新処理実行開始対象となるブレード10上のOS21に対しフェイルオーバ指示を送信する(S105)。フェイルオーバ指示を受信したブレード10のOS21は、他ブレード10のOS21と通信して、自OS21で提供中のサービスを他OS21へと引き継がせるサービス移動処理を行う。サービスの移動に伴い、該当ブレード10は、記憶デバイス300のシステムデバイスに保持する前記サービス情報25及びディスク情報26等のサービス提供に係わる制御情報を当該サービス移動に応じて変更する(S106)。前記サービス移動処理では、ファームウェア更新処理実行開始対象となるブレード10(例えばブレード#1)におけるすべてのサービスを、ファームウェア更新処理実行開始対象でない他のブレード10(例えばブレード#2)に引き継ぎ、当該ブレード10を一旦ダウン状態にする。
S106までの処理でファームウェア更新処理実行開始対象のブレード10におけるフェイルオーバすなわちサービス移動が完了したら、S107で、ファームウェア更新処理実行開始対象のブレード10におけるファームウェア更新処理の実行を開始する。
S107のファームウェア更新処理では、まず、S106までの処理でファームウェア更新処理実行開始対象のブレード10におけるフェイルオーバが完了した状態であること、すなわちファームウェア更新処理開始可能な状態であることを報せる情報(「フェイルオーバ完了」)を、第2ネットワーク42での通信を通じて保守PC160の画面に表示させる。保守員は保守PC160で前記「フェイルオーバ完了」を認識後、該当ブレード10のファームウェア更新処理の実行を開始する(S121)。
保守員は、保守PC160から第2ネットワーク42を通じてファームウェア更新処理実行対象ブレード(例えばブレード#1)10のIOP12に対しBIOS更新指示を送信する(S122)。ブレード10のIOP12は、保守PC160から前記BIOS更新指示を受けると、CPU11上で稼動するOS21にシャットダウン指示を行う(S123)。前記シャットダウン指示を受けたOS21は、シャットダウン処理を行い、その処理の最後にIOP12に対しシャットダウン完了通知を行う。IOP12は、OS21からシャットダウン完了通知を受領後、CPU11をハードウェア的にリセットする。その結果、フラッシュメモリ15上の旧BIOS20が起動される(S124)。
前記CPU11のリセットにより起動された旧BIOS20は、IOP12と通信を行い、メモリB14に記憶されているBIOS更新プログラム22をメモリA13へロードする(S125)。そして、旧BIOS20は、BIOS更新プログラム22に制御を移す(S126)。
BIOS更新プログラム22は、IOP12と通信を行い、メモリB14に記憶されている新BIOSイメージ23をメモリA13にロードする(S127)。BIOS更新プログラム22は、メモリA13にロードした新BIOSイメージ23をフラッシュメモリ15の旧BIOS20上にライトして更新する(S128)。BIOS更新プログラム23は、CPU11をハードウェア的にリセットしてブレード10のシステムをリブート(再起動)する(S129)。前記CPU11のリセットにより、フラッシュメモリ15上の新BIOSが起動される(S130)。
起動された新BIOSによる処理により、OS21が起動される。OS21の起動完了後、OS21は、IOP12に対し起動完了通知を行う(S131)。OS21から起動完了通知を受けたIOP12は、保守PC160に対し第2ネットワーク42を通じてBIOS更新完了を通知する(S132)。以上で対象ブレード10におけるファームウェア更新処理が完了する。
前記S125においてブレード10のメモリB14にBIOS更新プログラム22や新BIOSイメージ23が格納されていない場合は、共有メモリ120に格納されているデータ(前記S103で代表IOP12が格納処理したデータ)を参照して取得させる。
S107で前記ファームウェア更新処理実行開始対象ブレード(例えばブレード#1)のファームウェア更新処理が完了後、保守員は保守PC160上でファームウェア更新完了を認識する。保守員は、ユーザ側管理者に対し、ファームウェア更新完了後のブレード10にサービスを戻すためのフェイルオーバすなわちフェイルバックの操作を指示する。
ユーザ側管理者は、管理用PC200から該当ブレード10のOS21に対し、サービスをオリジナルブレード(例えばブレード#1)に戻すためのフェイルバック指示を送信する(S108)。前記フェイルバック指示は、前記ファームウェア更新処理完了後のブレード10(例えばブレード#1)のOS21あるいは前記更新処理のためにサービスを引き継いだブレード10(例えばブレード#2)のOS21に送信される。フェイルバック指示を受信した該当ブレード10のOS21は、他のブレード10と通信を行ってサービス移動処理を行い、システムデバイスのサービス情報25及びディスク情報26を変更する(S109)。前記サービス移動処理により、ファームウェア更新処理完了後すなわち新BIOSが有効となったブレード10のOS21に、ファームウェア更新前に提供していたサービスが戻される。なお前記フェイルバックの際に、更に次のファームウェア更新処理のためのサービス引き継ぎ処理も共に行うようにしてもよい(例えば前記ブレード#2のサービス#2をブレード#1に移動する)。
S104からS109の処理でファームウェア更新対象ブレード10のうちの一つにおけるファームウェア更新処理が完了する。これら処理を、ファームウェア更新対象となるすべてのブレード10でファームウェア更新が完了するまで繰り返す(S110)。
なおファームウェア更新のための複数のブレード10間でのサービスの引き継ぎの仕方は、ファームウェア更新処理実行対象ブレードで実行していたサービスをすべて一旦他ブレード10に引き継いでからファームウェア更新処理を実行するという手順が満たされていれば、各種の引き継ぎの仕方が可能である。例えば、ブレード#1のOS21でサービス#1、ブレード#2のOS21でサービス#2を実行している状況において、まず、ブレード#1のOS21のサービス#1をブレード#2のOS21に移動し、ブレード#1のBIOS更新を行う。そして、ブレード#1のOS21にブレード#2からサービス#1を戻すと共にブレード#2のOS21のサービス#2をブレード#1に移動し、ブレード#2のBIOS更新を行う。
また、前記S104からS109におけるファームウェア更新処理において、同時に複数のブレード10のファームウェア更新処理を実行させるようにしてもよい。すなわち、ファームウェア更新処理を同時に実行する対象となる複数のブレード10を保守PC160や管理用PC200等から選択して、前記フェイルオーバを指示し、前記S107の処理を複数のブレード10で同時に開始させる。
<第1のファームウェア更新方法−第2の処理方法>
図10は、実施の形態1におけるストレージ装置での第1のファームウェア更新方法のうち第2の処理方法に対応した処理手順を示すフローチャートである。第2の処理方法では、ブレード10がPC200とのサービスのための通信を継続したまま、オペレータ(前記保守員やユーザ側管理者)の手動操作の介入無しで自動的にフェイルオーバを行ってファームウェアの更新を行う。第2の処理方法では、ブレード10のOS21を起点としてサービスの引き継ぎを行う。例として、ブレード#1、#2の順でファームウェア更新処理を実行する。
S201〜S203の処理は、前記第1の処理方法におけるS101〜S103と同様である。これら処理により共有メモリ120上にBIOS更新プログラム22及び新BIOSイメージ23が格納され、各ブレード10におけるファームウェア更新処理の開始のための準備が整った状態となる。この後、保守PC160と各ブレード10のIOP12の間での通信を通じて、自動的にファームウェア更新処理を実行する。
S204とS205で、前記第1の処理方法におけるフェイルオーバやフェイルバックの操作の介入は無しで、ファームウェア更新処理実行対象となるブレード10のファームウェア更新処理を実行し、すべての対象ブレード10のファームウェア更新処理が完了するまで繰り返す。
S204の処理において、まず、保守PC160から第2ネットワーク42を通じてファームウェア更新処理実行対象ブレード(例えばブレード#1)10のIOP12に対しBIOS更新指示を送信する(S221)。ブレード10のIOP12は、保守PC160から前記BIOS更新指示を受けると、CPU11上で稼動するOS21にシャットダウン指示を行う。このシャットダウン指示を受けたOS21は、他のファームウェア更新処理実行開始対象でないブレード10(例えばブレード#2)へとサービスを引き継ぐサービス移動処理を行ってからシャットダウンを行う(S222)。
以後、S223〜S229で、前記第1の処理方法と同様にBIOS更新処理を行う。これにより新BIOSが起動される。
S230で、OS21が起動され、起動完了後、OS21は、IOP12へ起動完了通知を行う。また、このOS21は、ファームウェア更新処理前に他のブレード10(例えばブレード#2)に引き継いだサービスを自OS21に戻すフェイルバック処理を行って、PC200に対する当該サービスの提供を継続する。その後、IOP12から保守PC160へBIOS更新完了が通知される(S231)。
上記処理手順のように、更新指示を受けたブレード10のOS21が他のブレード10との間でフェイルオーバを行って他OS21へとサービスを引き継いでから自ブレード10のファームウェア更新を行う。フェイルオーバの処理の詳細は前記第1の処理方法と同様である。
前記第1の処理方法と第2の処理方法の主な違いは、ファームウェア更新のためのフェイルオーバをオペレータ介入により手動で実行するか、自動で実行するかの違いである。フェイルオーバ中、すなわちブレード10間でのサービス移動処理において一方のブレード10のサービス提供を停止して他方のブレードでサービス提供を開始するまでの間には、クライアントとなるPC200からのアクセスが不可能となる期間が存在する。前記第1の処理方法では、このフェイルオーバ中の期間を、保守員やユーザ側管理者が明示的に認識・把握できる。それにより例えば保守員やユーザ側管理者が前記期間を把握して事前にユーザ側やシステム運用側に通知できる等の利点がある。一方、前記第2の処理方法では、前記フェイルオーバ中の期間を明示的には認識・把握できないが、オペレータの介入が必要無いのでその分操作の煩わしさが省けるという利点がある。
また、第2の処理方法においても、S204のファームウェア更新処理において、同時に複数のブレード10のファームウェア更新処理を実行させるようにしてもよい。
<第1のファームウェア更新方法−第3の処理方法>
図11は、実施の形態1におけるストレージ装置での第1のファームウェア更新方法のうち第3の処理方法に対応した処理手順を示すフローチャートである。第3の処理方法では、ブレード10とクライアントとなるPC200とのサービスのための通信が切断された状態(オフライン状態)で、ファームウェアの更新を行う。ファームウェア更新対象となる複数のブレード10において一斉にファームウェア更新処理を行い、フェイルオーバによるブレード10間でのサービスの移動は行わない。この第3の処理方法の場合は、ファームウェアを更新するブレード10ではクライアントとなるPC200に対するサービスの継続ができないが、後述するように他の処理方法(前記第1、第2の処理方法)と組み合わせることで有効な効果を得ることができる。
S301〜S303の処理は、前記第1の処理方法のS101〜S103と同様である。S304で、保守PC160は、ファームウェア更新処理実行開始対象となるすべてのブレード10(例えばブレード#1、#2)に対して第2ネットワーク42を通じてBIOS更新指示を送信する。指示に基づき、S305で各ブレード10のファームウェア更新処理を同時に開始する。
S321〜S329の処理は、前記第1の処理方法のS121〜S130と同様である。S330で、BIOSが更新された各ブレード10において、OS21が起動され、起動完了後、OS21は、IOP12に対し起動完了通知を行う。そして、起動後のOS21は、担当するサービスをPC200に対して提供する。OS21から起動完了通知を受けたIOP12は、保守PC160に対し第2ネットワーク42を通じてBIOS更新完了を通知する(S331)。
前記第1、第2の処理方法と第3の処理方法との主な違いは、クライアントとなるPC200からのアクセス中にオンラインでファームウェア更新を実行するか、PC200からのアクセスを停止してオフラインでファームウェア更新を行うかの違いである。第3の処理方法では、サービスを中断するあるいは提供しないのでブレード10間でのサービスの移動が伴わず、また更新対象となる複数の各ブレード10のファームウェアを同時に更新処理することにより、複数のブレード10のファームウェア更新に要する時間を最小限にできる利点がある。例えばクライアントとなるPC200に対するサービス提供の必要が無い、あるいは提供中サービスを一旦中断しても差し支えの無い状況のブレード10が有る場合には第3の処理方法を選択して更新を行う。
前記クラスタ構成におけるクラスタ単位で上述した第1のファームウェア更新方法における第1〜第3の処理方法を組み合わせてファームウェア更新を実行できる。例えば、前記クラスタ#1に接続されているPC200がサービスのアクセスを切断することができない場合に、クラスタ#1内のブレード10については前記第1または第2の処理方法でファームウェア更新を行い、かつ、クラスタ#2に接続されているPC200がサービスのアクセスを切断できる場合に、クラスタ#2内のブレード10については前記第3の処理方法でファームウェア更新を行う。
また、前記第1〜第3の処理方法において、一つのクラスタ単位を構成するブレード10のグループにおいて同時にファームウェア更新処理を行う対象となるブレード10の数や選択は任意である。また、ファームウェア更新処理の実行順序も任意である。例えば、クラスタ内の一つのブレード10ごとに順にファームウェア更新処理を実行することができる(例Aとする)。例えば8個のブレード10のうち1個のブレードずつ順に更新処理を行う。この場合、複数のブレードのファームウェア更新に要する総時間は長くなる。すなわち、概略「一つのブレードのファームウェア更新処理時間×更新対象ブレード数」の時間がかかる。その代わりに、新BIOSイメージ23の不良や、更新処理中の電源障害(装置全体がダウンする)等の障害の影響範囲が一つのブレードに抑えられる。また例えば、クラスタ内の1/2(半分)のブレード10ごとにファームウェア更新処理を実行することができる(例Bとする)。例えば8個のブレードのうち4個のブレードごとに順に更新処理を行う。この場合、ファームウェア更新に要する総時間は最小限で済む。すなわち、概略「一つのブレードのファームウェア更新時間×2」の時間がかかる。その代わりに、不良な新BIOSイメージ23をフラッシュメモリ15にライトしてしまうと、クラスタのうち半分のブレード10のOS21が起動できなくなるので、その分更新処理のリスクが大きい。また例えば、クラスタ内の1/4のブレード10ごとにファームウェア更新処理を実行することができる。例えば8個のブレードのうち2個のブレードごとに順に更新処理を行う。この場合、ファームウェア更新に要する総時間は前記二つの場合(例A、例B)に要する総時間に対する中間となる。すなわち、概略「一つのブレードのファームウェア更新時間×4」の時間がかかる。また更新処理のリスクも中間となる。ブレード10のファームウェア更新を行う際には、ストレージ装置及びコンピュータシステムの状況に応じて、前記各処理方法をその効率とリスクを考慮して適宜選択し組み合わせて柔軟に行うことができる。
<OS状態情報>
図12は、OS状態情報27を保持するテーブルについて示す。ストレージ装置の制御装置100は、ファームウェア更新処理のために、各ブレード10のOS21の状態を把握するための制御情報であるOS状態情報27をいずれかのメモリに保持する。例えば共有メモリ120にOS状態情報27を保持する。OS状態情報27は、第1のファームウェア更新方法等によるファームウェア更新を行う際、特にブレード10間でのサービス移動と、OS21のシャットダウンを行う際の判断のために用いられる。各ブレード10のIOP12は、CPU11との直接の通信に基づき自ブレード10におけるOS21のインストールや稼動の状態を把握し、共有メモリ120に、OS状態情報27として格納する。IOP12は、共有メモリ120に格納されているOS状態情報27を参照することで、他ブレード10を含む各ブレード10におけるOS21の状態を認識できる。
OS状態情報27は、データ項目として、ブレード識別情報であるブレード27a、OSインストール状態27b、OS稼動状態27cを有する。OSインストール状態27bは、“インストール済み”、“未インストール”などの状態である。OS稼動状態27cは、“稼動中”、“非稼動”、“サービス停止”などの状態である。前記“稼動中”状態は、該当ブレード10のOS21が起動されていてPC200に対するサービスを提供中であることを示す。前記“非稼動”状態は、該当ブレード10のOS21がシャットダウンされていることを示す。前記“サービス停止”状態は、該当ブレード10のOS21は起動しているがPC200に対するサービスは提供していない状態である。“サービス停止”状態には、フェイルオーバによりサービスを他ブレード10へ引き継いでいる状態も含む。
前記第1のファームウェア更新方法において、ファームウェア更新処理中にOS21をシャットダウンすることが必要かどうかはOS21の状態による。このために、IOP12は、共有メモリ120上のOS状態情報27を参照してOS21のシャットダウンの要否を判定する。例えば前記S123において、IOP12は、OS状態情報27に基づき、該当OS21のOS稼動状態27cが前記“非稼動”である場合、既にシャットダウンされている状態であるため、該当OS21に対しシャットダウン指示は行わず、次のステップの処理(CPU11のリセット)に移行する。また、IOP12は、OS21のシャットダウンに先立ち、クラスタ内の他ブレード10のOS21が稼動しているかどうかを、OS状態情報27を参照してチェックする。クラスタ内の他ブレード10のOS21の稼動状態が“稼動中”でない場合は、自OS21で提供しているサービスの引き継ぎのための移動ができないので、CPU11上で稼動するOS21に対するシャットダウン指示は行わずに処理を中止する。
保守PC160や管理用PC200は、前記図7,8,12等に示すテーブルの情報や、前記図6に示すクラスタ構成に関する情報等を、出力装置画面に表示することが可能である。保守員やユーザ側管理者は画面に表示された情報を参照してファームウェア更新のための指示を入力する。
<BIOSイメージ>
図13は、ファームウェア更新に用いる新BIOSイメージ23のデータ構成を示す説明図である。新BIOSイメージ23は、BIOSバージョン23a、BIOSコード23b、チェックコード23cを有する。BIOSバージョン23aは、BIOSコード23bのバージョンを表わす情報である。BIOSバージョン23aは、対象のファームウェアについて更新を行う必要があるかどうかのバージョン判断処理の際に参照される。BIOSコード23bは、BIOS本体を構成するコードである。BIOSコード23bは、OS21の起動処理のためのコードを含んでいる。チェックコード23cは、BIOSコード23bから生成されるチェック処理用のコードである。チェック処理は、BIOSコード23bすなわち新BIOSが正常かどうか、すなわち新BIOSイメージ23の各部間での転送中などに正しく転送され壊れていないかどうかをチェックするための処理であり、新BIOSイメージ23を転送する処理を行う各部等において行われる。チェック処理を行うのは、例えば保守PC160、ブレード10におけるIOP12やCPU11等である。
ファームウェア更新処理中、各部間での新BIOSイメージ23の転送などに伴うタイミングで、前記各部においてチェックコード23cを使用してBIOSコード23bのチェック処理を行う。チェックコード23cを使用してBIOSコード23bをチェックした結果がエラーとなった場合はそのBIOSコード23bすなわち新BIOSが不良であるので、保守PC160及びストレージ装置はファームウェア更新処理を中断する。前記チェック処理を行うタイミングは、例えば、保守PC160がFD31や保守センタ32から新BIOSイメージ23をメモリ上に取得した時に保守PC160により行う。また、保守PC160からブレード10のIOP12に対しメモリB14へと新BIOSイメージ23を転送した時に、IOP12により行う。また、ブレード10のメモリA13上からフラッシュメモリ15上に新BIOSイメージ23をライトする直前に、CPU11上のBIOS更新プログラム22により行う。なお前記チェック処理は、前記各部すべてで行うようにしてもよいし、いずれかの部分で1回のみ例えばフラッシュメモリ15上にライトする直前のみ等で行うようにしてもよい。
以上、実施の形態1のストレージ装置では、第1のファームウェア更新方法により、クラスタ構成によってブレード10を単位にファームウェア更新のためのフェイルオーバ(サービス移動処理)を行いながらファームウェア更新対象となる各ブレード10のファームウェアの更新処理を順次に実行する。これにより、クライアントとなるPC200に対するサービスの提供を継続したままファームウェアの更新を完了できる。特に実施の形態1の場合、共有メモリ120にBIOS更新プログラム22及び新BIOSイメージ23を格納するため、後述するようにストレージ装置へのブレード10の増設や交換を行った契機でも最新BIOSへの更新が可能である。また、OS21が起動できない場合、例えばOS21の障害やOS21のインストール前などの場合においてもファームウェアの更新を行うことができる。
(実施の形態2)
次に、本発明の実施の形態2におけるストレージ装置について以下説明する。図14は、本発明の実施の形態2におけるストレージ装置を含むコンピュータシステム全体の機能ブロック構成を示す。本図では、特に制御装置100を構成する回路基板の保持するファームウェアの更新を行うにあたり係わる部位を中心に図示している。実施の形態2のストレージ装置のハードウェア構成は実施の形態1と同様であるが、ソフトウェア的に実行される処理が異なる。実施の形態2でも実施の形態1と同様に、クラスタを構成し、またサービスのための制御情報やOS状態情報27をメモリに格納・管理する。
実施の形態2のストレージ装置でのファームウェア更新の方法(第2のファームウェア更新方法と称する)では、ブレード10のCPU11上で稼動するOS21による制御を中心にファームウェアの更新を行う。ファームウェア更新対象となる回路基板を含んでクラスタを構成する。ユーザ側管理者が使用する管理用PC200は、ファームウェア更新対象となるすべてのブレード10にアクセス可能であり、ブレード10のCPU11上で稼動するOS21と通信可能である。OS21に対するファームウェア更新のためのサービス移動(フェイルオーバ)の指示は、管理用PC200からユーザ側管理者等が指示入力することで実行される。実施の形態2では、ファームウェアの更新に保守PC160の使用は必要無い。
図14において、制御装置100を構成するブレードであるブレード#1及びブレード#2(10)は、それぞれ前記チャネル制御部110に対応する。本図ではクラスタ構成として2枚のブレード10のみ示すが、複数のブレード10によりクラスタが構成可能である。ブレード10のハードウェア構成は、実施の形態1の場合と同様である。実施の形態2では、前記第2ネットワーク42及びLANコントローラ17の使用は必要無い。
管理用PC200は、フェイルオーバ等の実行のための管理機能が専用ソフトウェア上で利用可能であり、ユーザ側管理者の指示入力に基づきフェイルオーバ指示等をブレード10に対して実行可能である。管理用PC200は、FD31からデータを読み取る処理を行う。FD31は、BIOS更新プログラム22と新BIOSイメージ23とを記憶している。また管理用PC160は、通信回線を通じて前記保守センタ32からBIOS更新プログラム22と新BIOSイメージ23とをダウンロードして取得してもよい。第1ネットワーク41は、主にPC200に対するサービス提供用のネットワークであり、前記LAN400やSAN500等に対応する。第1ネットワーク41を通じて管理用PC200を含むPC200と、ファームウェア更新対象のブレード10との間で通信が可能である。
実施の形態2で、管理用PC200のCPUと、ブレード10のCPU11では、後述するファームウェアの更新に係わる各種処理を実現するためのプログラムが実行される。
<第2のファームウェア更新方法>
前記図14を参照しながら、第2のファームウェア更新方法について説明する。ファームウェア更新処理対象となるブレード10の例として、制御装置100に複数接続されているブレード10のうちの前記ブレード#1とブレード#2を対象とする。
図15は、実施の形態2のストレージ装置での第2のファームウェア更新方法に対応した処理手順を示すフローチャートである。第2のファームウェア更新方法では、オペレータ(ユーザ側管理者等)を介入して手動操作であるいは自動でフェイルオーバを実行してクライアントとなるPC200に対するサービスのための通信を継続したまま、各ブレード10のファームウェアの更新を行う。また、第1ネットワーク41を介して管理用PC200からの指示を起点として前記ファームウェア更新のためのフェイルオーバを行う。以下、例として、ブレード#1、#2の順でファームウェア更新処理を実行する。
まず、ユーザ側管理者の操作に基づき、管理用PC200から、ファームウェア更新対象のブレード10のうちファームウェア更新処理実行開始対象となるブレード(例えばブレード#1)10のOS21に対して、提供中サービスを他のファームウェア更新処理実行開始対象でないブレード(例えばブレード#2)10へ移動させるためのサービス移動指示を送信する(S401)。
管理用PC200から前記ファームウェア更新処理のためのサービス移動指示を受けたブレード(ブレード#1)10のOS21は、他のブレード(例えばブレード#2)のOS21と通信し、自OS21で提供中のサービスを他OS21へと引き継ぐ処理を行う(S402)。サービス移動に伴い前記システムデバイスの制御情報も変更される。
サービス移動後、前記ファームウェア更新処理実行開始対象のブレード(ブレード#1)10についてのファームウェア更新処理を実行開始する(S403)。
S403では、まず、管理用PC200から、第1ネットワーク41を通じて、対象ブレード10のCPU11及びメモリA13へ、BIOS更新プログラム22と新BIOSイメージ23を送信し、メモリA13へとロードする(S421)。
次に、対象ブレード10のCPU11でメモリA13上のBIOS更新プログラム22を実行して、BIOS更新プログラム22は、メモリA13上にロードされた新BIOSイメージ23を、フラッシュメモリ15の旧BIOS20上にライトする(S422)。そして、BIOS更新プログラム22は、CPU11をハードウェア的にリセットして当該ブレード10のシステムをリブートする(S423)。
前記リブートにより前記ブレード10のフラッシュメモリ15上の新BIOSが起動される(S424)。起動された新BIOSによる処理によりOS21が起動され、BIOS更新が有効な状態となる(S425)。以上で対象ブレード10におけるファームウェア更新処理が完了する。
前記S403の処理により前記ファームウェア更新対象のブレード10のうち対象ブレード(ブレード#1)10のファームウェア更新処理を完了後、次にS404以後で、ファームウェア更新処理完了済みのブレード(ブレード#1)10にサービスを戻すサービス移動処理、あるいは、次のファームウェア更新処理実行開始対象となるブレード(ブレード#2)10のファームウェア更新処理のためのサービス移動処理を実行する。図15に示す処理手順の例ではこれらサービス移動処理をまとめて行う。
S404で、ユーザ側管理者の操作に基づき、管理用PC200から、次のファームウェア更新処理実行開始対象となるブレード(ブレード#2)10のOS21に対して、提供中サービスを他のファームウェア更新処理実行開始対象でないブレード(例えばブレード#1)10へ移動させるためのサービス移動指示を送信する(S404)。本例ではファームウェア更新の順序として、ブレード#1の更新の次に、ブレード#1のサービスを引き継いだブレード#2を更新対象として選択している。
管理用PC200から前記ファームウェア更新処理のためのサービス移動指示を受けたブレード(ブレード#2)10のOS21は、他のブレード(ブレード#1)10のOS21と通信し、自OS21で提供中のサービスを他OS21へと引き継ぐ処理を行う(S405)。サービス移動に伴い前記システムデバイスの制御情報も変更される。本例ではサービスの移動として、ブレード#2からブレード#1へ、ブレード#2で元々提供していたサービスの移動と、前記ブレード#1から引き継いでいたサービスの移動(すなわちフェイルバック)とを行っている。
サービス移動後、前記ファームウェア更新処理実行開始対象のブレード(ブレード#2)10についてのファームウェア更新処理を実行開始する(S406)。当該処理は、前記S403における処理と同様である。これにより対象ブレード(ブレード#2)10のフラッシュメモリ15上のBIOSが更新され、BIOS更新が有効な状態となる。
前記S406の処理により対象ブレード(ブレード#2)10のファームウェア更新処理を完了後、次にS407以後で、ファームウェア更新処理完了済みのブレード(ブレード#2)10にサービスを戻すサービス移動処理、あるいは、次のファームウェア更新処理実行開始対象となるブレード10のファームウェア更新処理のためのサービス移動処理を実行する。本例では、ブレード#1からブレード#2へ、ブレード#2で元々提供していたサービスを戻すサービス移動を行ってファームウェア更新が完了する。
すなわち、ユーザ側管理者の操作に基づき、管理用PC200から、前記ファームウェア更新処理完了済みのブレード(ブレード#2)10のサービスを引き継いでいるブレード(ブレード#1)10のOS21に対して、オリジナルブレード(ブレード#2)10へサービスを戻すためのサービス移動指示を送信する(S407)。
そして、管理用PC200から前記サービス移動指示を受けたブレード(ブレード#1)10のOS21は、他のブレード(ブレード#2)10のOS21と通信し、自OS21で提供中のサービスのうち元々他のブレード(ブレード#2)で提供していたサービスをそのオリジナルブレード10へと戻す処理を行う(S408)。サービス移動に伴い前記システムデバイスの制御情報も変更される。次のファームウェア更新処理実行対象のブレードが無くなったらファームウェア更新処理を終了する。
実施の形態2においても、実施の形態1と同様に、前記クラスタ構成におけるクラスタ単位で前記第1のファームウェア更新方法における第1〜第3の処理方法に相当する処理方法を組み合わせてファームウェア更新を実行できる。すなわち、管理用PC200からブレード10に対する前記ファームウェア更新のためのフェイルオーバ指示の発行は、オペレータ介入により手動操作で各ブレードに対し行うようにしてもよいし、ソフトウェア的に自動で順に処理してもよい。また、ブレード10についてサービスを中断してファームウェア更新を行うことを組み合わせても良い。また、実施の形態1と同様に、一つのクラスタ単位を構成するブレード10のグループにおいて同時に複数のブレード10でファームウェア更新処理を行うことが可能である。前記同時にファームウェア更新処理を行う対象となるブレード10の数や選択は任意である。また、ファームウェア更新処理の実行順序も任意である。
以上、実施の形態2のストレージ装置では、第2のファームウェア更新方法により、クラスタ構成によってブレード10を単位にファームウェア更新のためのフェイルオーバを行いながらファームウェア更新対象となる各ブレード10のファームウェアの更新処理を順次に実行する。これにより、クライアントとなるPC200に対するサービスの提供を継続したままファームウェアの更新を完了できる。特に実施の形態2の場合、PC200等の一般的なコンピュータ機器からブレード10のファームウェア更新のためのローディング(ファイル転送)及び更新処理が可能である。またBIOS更新プログラム22は、汎用的なOS21上で動作するアプリケーションとして機能するので、OS21の機能と組み合わせて動作させることが可能である。これにより例えば、OS21の有するスケジュール機能を用いて、夜間に無人でブレード10のBIOS更新を行うこと等が可能である。
<ブレード増設時のファームウェア更新>
次に、前記第1のファームウェア更新方法を用いてブレード増設時のファームウェア更新を行う処理について説明する。図16は、実施の形態1のストレージ装置へのブレード増設時のファームウェア更新処理に係わる構成を示す説明図である。BIOS更新プログラム22と新BIOSイメージ23は、保守PC160、ブレード10、共有メモリ120等のうち少なくともいずれかの箇所には存在する。
ストレージ装置の制御装置100にブレード10を増設する際、その増設対象のブレード10にはまだOS21がインストールされていない状態である。従って、この場合、前記第2のファームウェア更新方法は適用できず、前記第1のファームウェア更新方法をもとにして、ブレード10のIOP11による制御を中心として旧BIOS20を含むファームウェアの更新を行う。例として、ブレード#1、#2を装着済みのストレージ装置に対し更にブレード#3を増設する場合について説明する。
上記ブレード増設を行う場合において、更にそのブレード増設時の状況の違いに応じた以下の第1〜第3の処理方法が有る。各状況の違いに応じてファームウェア更新処理を行う。なお前記ブレード増設時の状況の違いは、ストレージ装置内の各部、IOP12や保守PC160等による処理で自動的に判断される。例えば、IOP12や保守PC120が共有メモリ120を参照して新BIOSイメージ23が有るかどうか判断できる。
まず、ブレード増設時における第1の処理方法は、ブレード増設時の状況として共有メモリ120に新BIOSイメージ23が格納されている場合の処理である。図17は、ブレード増設時における第1の処理方法に対応した処理手順を示すフローチャートである。共有メモリ120に新BIOSイメージ23が格納されている場合とは、例えば、前記第1のファームウェア更新処理方法における代表IOP12がメモリB14から共有メモリ120へBIOS更新プログラム22及び新BIOSイメージ23を格納処理している場合である。
まず、保守員等の作業によりストレージ装置のスロットに増設対象となる新たなブレード#3(10)が装着され、通電される(S501)。通電後のブレード#3(10)は、自フラッシュメモリ15上に記憶されているBIOS(旧BIOS)20と、共有メモリ120に格納されているBIOS(新BIOSイメージ23)とでそのバージョンの違いをチェックするバージョン判断処理を行う(S502)。このバージョン判断処理では、前記新BIOSイメージ23に含まれているBIOSバージョン23aの情報等を参照して各BIOSにおけるバージョンの大小を比較すること等によりBIOS更新の要否の判断を行う。
バージョン判断の結果、バージョンが一致している場合(S503−No)、BIOS20の更新が必要ないと判断して、増設ブレード#3(10)のBIOS20の更新を行わずに終了する。バージョン判断の結果、バージョンが不一致の場合(S503−Yes)、すなわち増設ブレード#3(10)のBIOS20を新BIOSイメージ23に含まれるBIOSにバージョンアップする必要があると判断した場合、増設ブレード#3(10)のBIOS20についてのファームウェア更新処理を行う(S504)。
S504の処理において、まず、増設ブレード#3(10)のBIOS(旧BIOS)20は、同ブレード内のIOP12と通信し、IOP12による処理を通じて共有メモリ120からBIOS更新プログラム22をメモリA13へロードする。またこの際、同IOP12は、共有メモリ120から新BIOSイメージ23をメモリB14へ取得する(S521)。次に、増設ブレード#3(10)の旧BIOS20は、前記BIOS更新プログラム22に制御を移す(S522)。
次に、BIOS更新プログラム22は、IOP12と通信して新BIOSイメージ23をメモリB14からメモリA13にロードする(S523)。そして、BIOS更新プログラム22は、前記メモリA13にロードされた新BIOSイメージ23を、フラッシュメモリ15の旧BIOS20上にライトする(S524)。そして、BIOS更新プログラム22は、CPU11をハードウェア的にリセットしてブレード10のシステムをリブートする(S525)。前記リブートによりフラッシュメモリ15上の新BIOSが起動され、BIOS更新が有効な状態となる(S526)。
次に、ブレード増設時における第2の処理方法は、ブレード増設時の状況として共有メモリ120に新BIOSイメージ23が格納されておらず、増設ブレード10以外の装着済みのブレード10が既に動作している場合の処理である。図18は、ブレード増設時における第2の処理方法に対応した処理手順を示すフローチャートである。第2の処理方法の場合、共有メモリ120上には更新に必要となる新BIOSイメージ23が無いので、新BIOSイメージ23を既に有している動作状態のブレード10から新BIOSイメージ23を共有メモリ120へと格納させる処理を行わせてファームウェア更新を行う。なおBIOS更新プログラム22と新BIOSイメージ23はセットで扱われて共有メモリ120に格納される。例として、ブレード#3(10)の増設時にブレード#1、#2(10)が既に装着・動作済みであり、共有メモリ120に新BIOSイメージ23が格納されていない状況とする。
各部間の通信を通じて共有メモリ120に新BIOSイメージ23が無いことが判断されると、まず、保守PC160は、第2ネットワーク42を介して、動作済みのブレード#1(10)のIOP12に対して、共有メモリ120への新BIOSイメージ23の格納指示を行う(S601)。
ブレード#1(10)のIOP12は、CPU11上で稼動するOS21に対してフラッシュメモリ・リード指示を行う(S602)。この指示に基づきCPU11上のOS21は、フラッシュメモリ15上に記憶されているBIOS20すなわち新BIOSイメージ23をリードし、IOP12へ送信する(S603)。
IOP12は、CPU11上のOS21から受信した新BIOSイメージ23を、内部バス43を通じて共有メモリ120に格納する処理を行う(S604)。
共有メモリ120に新BIOSイメージ23が格納された状態になると、IOP12からの通信に基づき、保守PC160の画面上に「ブレード装着指示」が表示される。この指示は、共有メモリ120に新BIOSイメージ23が格納され、ブレード10を装着可能な状態となったことを保守員に対し示すものである。保守員は、保守PC160上の指示に基づき、ストレージ装置のスロットに増設対象のブレード#3(10)を装着する。装着によりブレード#3(10)に通電される(S605)。
この後、前記ブレード増設時における第1の処理方法と同様の処理が行われる(S606〜S608)。すなわち、S606で、通電後のブレード#3(10)は、自フラッシュメモリ15上に記憶されているBIOS20と、共有メモリ120に格納されているBIOS(新BIOSイメージ23)とでそのバージョンの違いをチェックするバージョン判断処理を行い、判断結果に基づき、バージョンが不一致の場合(S503−Yes)、S608で増設ブレード#3(10)のBIOS20についてのファームウェア更新処理を行う。S608の処理は前記S521〜S526と同様である。
次に、ブレード増設時における第3の処理方法は、ブレード増設時の状況として共有メモリ120に新BIOSイメージ23が格納されておらず、増設ブレード10以外の装着済みのブレード10が動作していない場合の処理である。図19は、ブレード増設時における第3の処理方法に対応した処理手順を示すフローチャートである。第3の処理方法の場合、共有メモリ120上には更新に必要となる新BIOSイメージ23が無く、他の装着済みのブレード10からも非動作状態のため新BIOSイメージ23を取得できないので、保守PC160を通じて新BIOSイメージ23を取得させる処理を行わせてファームウェア更新を行う。例として、ブレード#3(10)の増設時にブレード#1、#2(10)が既に装着済みであるが動作しておらず、共有メモリ120にも新BIOSイメージ23が格納されていない状況とする。
各部間の通信を通じて共有メモリ120に新BIOSイメージ23が無く、増設ブレード#3(10)以外の他ブレード(#1、#2)10も非動作状態であることが判断されると、まず、保守PC160の画面上に「ブレード装着指示」が表示される。保守員が前記指示に基づきストレージ装置のスロットに増設対象のブレード#3(10)を装着し、装着により通電される(S701)。
次に、保守PC160は、BIOS更新プログラム22と新BIOSイメージ23を、FD31あるいは保守センタ32からメモリ上に取得する(S702)。次に、保守PC160は、増設ブレード#3(10)のIOP12へ、BIOS更新プログラム22及び新BIOSイメージ23を、第2ネットワーク42を経由して送信する(S703)。
次に、増設ブレード#3(10)のIOP12は、保守PC160からメモリB14に受信したBIOS更新プログラム22及び新BIOSイメージ23を、共有メモリ120に格納(コピー)する(S704)。その後、前記ブレード増設時における第1の処理方法と同様の処理が行われる(S705〜S707)。すなわち、S705で、増設ブレード#3(10)は、自フラッシュメモリ15上に記憶されているBIOS20と、前記受信した新BIOSイメージ23とでそのバージョンの違いをチェックするバージョン判断処理を行い、判断結果に基づき、バージョンが不一致の場合(S706−Yes)、S707で増設ブレード#3(10)のBIOS20についてのファームウェア更新処理を行う。S707の処理は前記S521〜S526と同様である。
以上のように、ブレード10の増設時の状況に応じて前記各処理方法で増設ブレード10のファームウェアの更新が速やかに可能である。
<ブレード交換時のファームウェア更新>
次に、前記第1のファームウェア更新方法を用いてブレード交換時のファームウェア更新を行う処理について説明する。図20は、実施の形態1のストレージ装置でのブレード交換時のファームウェア更新処理に係わる構成を示す説明図である。BIOS更新プログラム22と新BIOSイメージ23は、保守PC160、ブレード10、共有メモリ120等のうち少なくともいずれかの箇所には存在する。
ストレージ装置の制御装置100でブレード10を交換する際、その交換後のブレード10は必ずしも最新のファームウェアが格納されているとは限らない。従って、ブレード10を交換するタイミングでその交換後のブレード10に保持されるファームウェアの更新も自動的に判断して実行する。前記第1のファームウェア更新方法をもとにして、ブレード10のIOP11による制御を中心として旧BIOS20を含むファームウェアの更新を行う。
例として、ブレード#1、#2を装着済みで、ブレード#1とブレード#2を含んでクラスタ単位を構成している状態において、ブレード#2にハードウェア障害等が発生して使用できない状態となったためにブレード#2を別のブレード#3に交換する場合について説明する。
上記ブレード交換を行う場合において、更にそのブレード交換時の状況の違いに応じて前記ブレード増設時の第1〜第3の処理方法と同様の各処理方法でファームウェア更新処理を行う。前記ブレード交換時の状況の違いは、ストレージ装置内の各部による処理で自動的に判断される。
ブレード#1とブレード#2を含むクラスタ構成において、クラスタ内のブレード#1、#2間で前記ハートビート通信が行われている。例えばブレード#2が障害発生により使用できない状態になると、前記ハートビート通信におけるハートビート情報の応答が途絶えることでブレード#2の障害が検出された状態となる。ブレード#2の障害が検出されると、クラスタ内の他のブレード10、本例ではブレード#1へのフェイルオーバにより、クライアントとなるPC200に対するサービスが移動される。例えばブレード#2で動作していたサービス#2がブレード#1のOS21に移動されるものとする。保守員等は、障害が検出されたブレード#2を別のブレード#3に交換する。このタイミングで、交換後のブレード#3内のBIOS20についての更新の要否を判断して必要なら最新BIOSへの更新を行う。
図21は、ブレード交換時における処理方法に対応した処理手順を示すフローチャートである。まず、前記機構に基づき、ブレード10(例えばブレード#2)の障害が検出されると、第2ネットワーク42を通じて、保守PC160の画面上に、障害状態のブレード10についての情報が表示される(S801)。
保守員等は、保守PC160上の表示に基づき障害状態ブレード(#2)10についての交換の要否を判断後、交換対象となる障害状態のブレード(#2)10を、新しいブレード(#3)10に交換する。すなわち、保守員等は、ストレージ装置のスロットから障害状態のブレード(#2)10を取り外して、新ブレード(#3)10を装着する。装着により交換後のブレード(#3)10に通電される(S802)。
その後は、前記ブレード増設時の処理と略同様の処理である。ブレード交換時の状況に応じて前記第1〜第3の各処理方法と同様に処理方法で処理が行われる(S8043〜S806)。例えば前記第1の処理方法の場合は、交換後ブレード(#3)10のフラッシュメモリ上のBIOS20と、共有メモリ120に格納されている新BIOSイメージ23とで、BIOSのバージョンをチェックし(S803)、バージョンが不一致でBIOS更新の必要がある場合は(S804−Yes)、交換後のブレード(#3)10のBIOS20についてファームウェア更新処理が行われる(S805)。S805の処理は、前記S521〜S526と同様である。これにより、交換後ブレード(#3)10で新BIOSが起動され、OS21が起動される。
交換後ブレード(#3)10のBIOSが更新され更新が有効な状態となった後、前記障害状態のブレード(#2)10のサービス(サービス#2)を引き継いだブレード(#1)10で動作しているサービスのうち、元々交換前のブレード(#2)10で動作していたサービス(サービス#2)を、交換後のブレード(#3)10へ移動させるフェイルオーバを行う(S806)。
以上のように、障害等によるブレード10の交換時の状況に応じて前記各処理方法で交換後のブレード10についてのファームウェアの更新が速やかに可能である。
以上説明したように、本発明の各実施の形態のストレージ装置では、クラスタ構成でのブレード間でのサービス移動と、ブレードのファームウェアの更新とを関連付けて動作させるようにしたことで、クライアントに対するサービスの提供を継続したままブレードのファームウェアの更新を行うことができる。またブレードの状況に応じて各処理方法で効率的にファームウェアの更新を行うことができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
本発明は、ストレージ装置、及びストレージ装置を含んで構成されるコンピュータシステム等に利用可能である。
本発明の各実施の形態に係わるストレージ装置の全体のハードウェア外観構成を示す図である。 本発明の各実施の形態に係わるストレージ装置の制御装置のハードウェア外観構成を示す図である。 本発明の各実施の形態に係わるストレージ装置を含むコンピュータシステム全体の機能ブロック構成を示す図である。 本発明の実施の形態1におけるストレージ装置を含むコンピュータシステム全体の機能ブロック構成を示す図である。 本発明の実施の形態1におけるストレージ装置での、ブレード基板のクラスタ構成について示す説明図である。 本発明の実施の形態1におけるストレージ装置での、複数のブレードで複数のクラスタを構成する例について示す説明図である。 本発明の実施の形態1におけるストレージ装置での、記憶デバイス上に保持されるサービス提供に係わる制御情報、特にサービス情報について示す表である。 本発明の実施の形態1におけるストレージ装置での、記憶デバイス上に保持されるサービス提供に係わる制御情報、特にディスク情報について示す表である。 本発明の実施の形態1におけるストレージ装置での、第1のファームウェア更新方法のうち第1の処理方法に対応した処理手順を示すフローチャートである。 本発明の実施の形態1におけるストレージ装置での、第1のファームウェア更新方法のうち第2の処理方法に対応した処理手順を示すフローチャートである。 本発明の実施の形態1におけるストレージ装置での、第1のファームウェア更新方法のうち第3の処理方法に対応した処理手順を示すフローチャートである。 本発明の実施の形態1におけるストレージ装置での、ブレードのOSの状態を把握するための制御情報について示す表である。 本発明の実施の形態1におけるストレージ装置での、ファームウェア更新に用いる新BIOSイメージのデータ構成を示す説明図である。 本発明の実施の形態2におけるストレージ装置を含むコンピュータシステム全体の機能ブロック構成を示す図である。 本発明の実施の形態2におけるストレージ装置での、第2のファームウェア更新方法に対応した処理手順を示すフローチャートである。 本発明の実施の形態1におけるストレージ装置での、ブレード基板増設時のファームウェア更新処理に係わる構成を示す説明図である。 本発明の実施の形態1におけるストレージ装置での、ブレード基板増設時における第1の処理方法に対応した処理手順を示すフローチャートである。 本発明の実施の形態1におけるストレージ装置での、ブレード基板増設時における第2の処理方法に対応した処理手順を示すフローチャートである。 本発明の実施の形態1におけるストレージ装置での、ブレード基板増設時における第3の処理方法に対応した処理手順を示すフローチャートである。 本発明の実施の形態1におけるストレージ装置での、ブレード基板交換時のファームウェア更新処理に係わる構成を示す説明図である。 本発明の実施の形態1におけるストレージ装置での、ブレード基板交換時における処理方法に対応した処理手順を示すフローチャートである。
符号の説明
100…制御装置、110…チャネル制御部、120…共有メモリ、130…キャッシュメモリ、140…ディスク制御部、150…接続部、151…内部LAN、160…管理端末(保守PC)、170…ファン、200…情報処理装置(PC)、300…記憶デバイス、400…LAN、500…SAN、600,610…ストレージ装置、900,910…バックアップデバイス、10…ブレード、11…CPU、12…IOP、13…メモリA、14…メモリB、15…フラッシュメモリ、16,17…LANコントローラ、20…BIOS、21…OS、22…BIOS更新プログラム、23…新BIOSイメージ、25…サービス情報、26…ディスク情報、27…OS状態情報、31…FD、32…保守センタ、41…第1ネットワーク、42…第2ネットワーク、43…内部バス、71〜73…クラスタ、81,82…サービス、91〜94…パス。

Claims (20)

  1. 複数の記憶デバイスと、前記複数の記憶デバイスにデータを記憶する制御を行う複数の回路基板を有して成り複数の情報処理装置に接続する制御装置とを有し、
    前記複数の回路基板は各々、CPUと、前記CPUと記憶デバイスとの間の入出力を制御する入出力プロセッサと、前記CPUと入出力プロセッサが作業用に使用するメモリと、ファームウェアを保持する不揮発性メモリと、ネットワーク制御部とを有し、第1のネットワークを通じて接続される前記情報処理装置に対し前記CPU上で稼動するOSにより前記データの入出力に関するサービスを提供し、
    前記ファームウェアの更新対象となる1つ以上の第1の回路基板と、その他の1つ以上の第2の回路基板とを含むクラスタが構成され、
    前記制御装置は、前記クラスタ内の回路基板上のOS間で前記サービスを引き継ぐサービス移動機能を有し、
    前記第1の回路基板のOSが第1の情報処理装置に第1のサービスを提供し、前記第1の回路基板第1の記憶デバイスマウントされ、
    前記第2の回路基板のOSが第2の情報処理装置に第2のサービスを提供し、前記第2の回路基板第2の記憶デバイスマウントされ、
    前記マウント動作は、前記回路基板のOSが前記記憶デバイスにアクセスするための制御情報の設定及びその変更の処理を含む動作であり、
    前記ファームウェアの更新の際、ファームウェア更新対象となる前記第1の回路基板について、
    前記サービス移動機能により、前記第1の回路基板のOSに代わって前記第2の回路基板のOSが前記第1のサービスを提供し、前記第1の回路基板に代わって前記第2の回路基板前記第1の記憶デバイスマウントされるように変更することにより、ファームウェア更新処理を実行する対象となる前記第1の回路基板のOSで提供している前記第1のサービスを、前記クラスタ内の前記第2の回路基板のOSへ移動するサービス移動処理と、
    前記サービスの移動によりサービス非提供状態となった前記第1の回路基板についてファームウェア更新プログラムと新ファームウェアイメージを用いて前記不揮発性メモリ上のファームウェアを新ファームウェアに更新するファームウェア更新処理とを含む処理単位を実行することを特徴とするストレージ装置。
  2. 請求項1記載のストレージ装置において、
    前記ファームウェア更新処理では、前記サービスの移動によりサービス非提供状態となった前記第1の回路基板について、
    前記入出力プロセッサの制御に基づき前記OSをシャットダウンし前記CPUをリセットしてリブートし前記不揮発性メモリ上の旧ファームウェアを起動させ、
    前記起動された旧ファームウェアが前記メモリに前記ファームウェア更新プログラムをロードして制御を移し、
    前記ファームウェア更新プログラムが、前記新ファームウェアイメージを前記メモリにロードして前記新ファームウェアイメージを前記不揮発性メモリにライトして更新し、前記CPUをリセットして前記更新後の新ファームウェアを起動させ、
    前記起動された新ファームウェアにより前記OSが起動され、前記入出力プロセッサがファームウェア更新完了の通知を行うことを特徴とするストレージ装置。
  3. 請求項2記載のストレージ装置において、
    前記回路基板の入出力プロセッサは、前記CPUの状態を監視して、前記OSについての稼動やインストールの状態を表わすOS状態情報を、前記回路基板の入出力プロセッサがアクセス可能な共有メモリに格納し、前記共有メモリ上のOS状態情報を参照することで前記OSのシャットダウンの要否や前記回路基板間でのサービスの移動についての判断を行うことを特徴とするストレージ装置。
  4. 請求項1記載のストレージ装置において、
    前記サービス移動処理とファームウェア更新処理の実行によりファームウェア更新が完了した前記第1の回路基板について、前記サービス移動機能により、前記クラスタ内の前記第2の回路基板のOSへ移動していた前記第1のサービスを戻す処理を行うことを特徴とするストレージ装置。
  5. 請求項1記載のストレージ装置において、
    前記ファームウェア更新対象となる前記第1の回路基板について、そのうちの複数の回路基板を単位として、前記サービス移動処理と前記ファームウェア更新処理とを含む処理単位を順次に実行することを特徴とするストレージ装置。
  6. 請求項1記載のストレージ装置において、
    前記ファームウェア更新対象となる前記第1の回路基板について、そのうちの複数の回路基板を単位として、前記サービス移動処理と前記ファームウェア更新処理とを含む処理単位を同時並行的に実行することを特徴とするストレージ装置。
  7. 請求項1記載のストレージ装置において、
    前記複数の回路基板の入出力プロセッサは、第2のネットワークを通じて保守装置に接続され、
    前記保守装置は、前記ファームウェア更新に係わる操作のために、前記第2のネットワークを通じた前記複数の回路基板との通信をもとに前記サービス移動処理と前記ファームウェア更新処理の状況や指示の情報を入出力する更新管理処理を行い、
    前記保守装置は、前記ファームウェア更新の際、前記ファームウェア更新プログラムと新ファームウェアイメージを前記第1の回路基板の入出力プロセッサへ送信する処理を行い、
    前記保守装置から前記第1の回路基板の入出力プロセッサへの指示に応じて、前記入出力プロセッサの制御に基づき前記第1の回路基板で前記ファームウェア更新処理を実行することを特徴とするストレージ装置。
  8. 請求項1記載のストレージ装置において、
    前記情報処理装置として管理用プログラムを備えた管理用の情報処理装置を有し、
    前記サービス移動処理では、
    前記管理用の情報処理装置が、前記ファームウェア更新処理を実行する対象となる前記第1の回路基板のOSに対して前記第1のサービスの移動のための指示を前記第1のネットワークを介して送信する処理を行い、
    前記第1の回路基板のOSが、前記管理用の情報処理装置からの指示に基づき前記クラスタ内の前記第1と第2の回路基板のOS間で前記第1のサービスの移動を行うことを特徴とするストレージ装置。
  9. 請求項7記載のストレージ装置において、
    前記複数の回路基板の入出力プロセッサがアクセス可能な共有メモリを有し、
    前記保守装置は、前記ファームウェア更新対象となる複数の前記第1の回路基板のうち、任意の回路基板の入出力プロセッサを代表として、前記ファームウェア更新プログラムと新ファームウェアイメージを送信する処理を行い、
    前記代表の入出力プロセッサは、前記ファームウェア更新プログラムと新ファームウェアイメージを前記共有メモリに格納する処理を行い、
    前記ファームウェア更新対象となる複数の前記第1の回路基板は、前記共有メモリ上に格納されている前記ファームウェア更新プログラムと新ファームウェアイメージを利用して前記ファームウェア更新処理を行うことを特徴とするストレージ装置。
  10. 請求項7記載のストレージ装置において、
    前記情報処理装置として管理用プログラムを備えた管理用の情報処理装置を有し、
    前記ファームウェアの更新の際、
    前記管理用の情報処理装置は、前記保守装置での更新管理処理に基づき、前記第1のサービスの移動のための指示を前記第1のネットワークを通じて前記第1の回路基板に対して送信する処理を行って、前記指示に基づき前記クラスタ内の前記第1と第2の回路基板上のOS間で前記第1のサービスの移動を行わせ、
    前記第1のサービスの移動後、前記保守装置は、前記ファームウェア更新処理を実行する対象となる前記第1の回路基板の入出力プロセッサに対しファームウェア更新の指示を送信する処理を行って、前記指示に基づき前記ファームウェア更新処理を行わせることを特徴とするストレージ装置。
  11. 請求項7記載のストレージ装置において、
    前記ファームウェアの更新の際、
    前記保守装置は、前記第1の回路基板の入出力プロセッサに対し前記第2のネットワークを通じてファームウェア更新の指示を送信する処理を行い、
    前記第1の回路基板の入出力プロセッサは、前記保守装置からの指示に基づき、前記OSに対しサービス移動とシャットダウンのための指示を行い、
    前記第1の回路基板のOSは、前記入出力プロセッサからの指示に基づき、前記クラスタ内の前記第1と第2の回路基板上のOS間で前記第1のサービスを引き継ぐ移動を行ってからシャットダウンを行い、シャットダウン後に前記ファームウェア更新処理を行うことを特徴とするストレージ装置。
  12. 請求項7記載のストレージ装置において、
    前記ファームウェアの更新の際、
    前記保守装置は、前記ファームウェア更新処理を実行する対象となる前記第1の回路基板に対し、前記第1のサービスを中断してファームウェアを更新させるための指示を送信する処理を行い、
    前記第1の回路基板は、前記保守装置からの指示に基づき、提供中の前記第1のサービスを中断して前記サービス移動処理は行わず、その後に前記ファームウェア更新処理を行い、前記更新の完了後に担当の前記第1のサービスの提供を開始することを特徴とするストレージ装置。
  13. 請求項8記載のストレージ装置において、
    前記制御装置への第3の回路基板の増設時に、共有メモリ上に前記新ファームウェアイメージが格納されている場合、
    前記増設された第3の回路基板の不揮発性メモリ上のファームウェアのバージョンと、前記共有メモリ上に格納されている前記新ファームウェアイメージのバージョンとを参照して、前記増設された第3の回路基板内のファームウェアについて更新が必要かどうか判断する処理を行い、
    前記更新が必要と判断した場合は、前記増設された第3の回路基板において前記入出力プロセッサと第2のネットワークを通じて前記ファームウェア更新プログラムと新ファームウェアイメージを取得して前記不揮発性メモリ上のファームウェアを新ファームウェアに更新するファームウェア更新処理を実行することを特徴とするストレージ装置。
  14. 請求項8記載のストレージ装置において、
    前記制御装置への第3の回路基板の増設時に、共有メモリ上に前記新ファームウェアイメージが格納されておらず、他の第4の回路基板が動作状態の場合、
    保守装置から第2のネットワークを通じて前記動作状態の第4の回路基板の入出力プロセッサへ指示を行い、
    前記指示に基づき前記動作状態の第4の回路基板の入出力プロセッサは、前記CPUに指示して前記不揮発性メモリから新ファームウェアイメージをリードさせ、前記リードした新ファームウェアイメージを前記共有メモリに格納する処理を行い、
    前記増設された第3の回路基板内のファームウェアのバージョンと、前記共有メモリ上に格納された前記新ファームウェアイメージのバージョンとを参照して、前記増設された第3の回路基板内のファームウェアについて更新が必要か判断する処理を行い、
    前記更新が必要と判断した場合は、前記増設された第3の回路基板において前記入出力プロセッサと第2のネットワークを通じて前記ファームウェア更新プログラムと新ファームウェアイメージを取得して前記不揮発性メモリ上のファームウェアを新ファームウェアに更新するファームウェア更新処理を実行することを特徴とするストレージ装置。
  15. 請求項8記載のストレージ装置において、
    前記制御装置への第3の回路基板の増設時に、共有メモリ上に前記新ファームウェアイメージが格納されておらず、他の第4の回路基板が非動作状態の場合、
    保守装置から第2のネットワークを通じて前記増設された第3の回路基板の入出力プロセッサに対し前記ファームウェア更新プログラムと新ファームウェアイメージを送信し、
    前記増設された第3の回路基板は、前記ファームウェア更新プログラムと新ファームウェアイメージを前記共有メモリに格納する処理を行い、
    前記増設された第3の回路基板内のファームウェアのバージョンと、前記共有メモリ上に格納された前記新ファームウェアイメージのバージョンとを参照して、前記増設された第3の回路基板内のファームウェアについて更新が必要か判断する処理を行い、
    前記更新が必要と判断した場合は、前記増設された第3の回路基板において前記不揮発性メモリ上のファームウェアを新ファームウェアに更新するファームウェア更新処理を実行することを特徴とするストレージ装置。
  16. 請求項8記載のストレージ装置において、
    前記制御装置の第5の回路基板の交換時に、
    前記交換後の第6の回路基板の不揮発性メモリ上のファームウェアのバージョンと、共有メモリ上に格納されている新ファームウェアイメージあるいは保守装置から取得した新ファームウェアイメージのバージョンとを参照して、前記交換後の第6の回路基板内のファームウェアについて更新が必要かどうか判断する処理を行い、
    前記更新が必要と判断した場合は、前記交換後の第6の回路基板において前記入出力プロセッサと第2のネットワークを通じて前記ファームウェア更新プログラムと新ファームウェアイメージを取得して前記不揮発性メモリ上のファームウェアを新ファームウェアに更新するファームウェア更新処理を実行し、更新完了後に必要に応じて交換前の第5の回路基板で提供していたサービスを引き継いだ他の第7の回路基板から前記サービスを戻す処理を行うことを特徴とするストレージ装置。
  17. 複数の記憶デバイスと、前記複数の記憶デバイスにデータを記憶する制御を行う複数の回路基板を有して成り複数の情報処理装置に接続する制御装置とを有し、
    前記複数の回路基板は各々、CPUと、前記CPUが作業用に使用するメモリと、ファームウェアを保持する不揮発性メモリと、ネットワーク制御部とを有し、第1のネットワークを通じて接続される前記情報処理装置に対し前記CPU上で稼動するOSにより前記データの入出力に関するサービスを提供し、
    前記ファームウェアの更新対象となる1つ以上の第1の回路基板と、その他の1つ以上の第2の回路基板とを含むクラスタが構成され、
    前記制御装置は、前記クラスタ内の回路基板上のOS間で前記サービスを引き継ぐサービス移動機能を有し、
    前記第1の回路基板のOSが第1の情報処理装置に第1のサービスを提供し、前記第1の回路基板第1の記憶デバイスマウントされ、
    前記第2の回路基板のOSが第2の情報処理装置に第2のサービスを提供し、前記第2の回路基板第2の記憶デバイスマウントされ、
    前記マウント動作は、前記回路基板のOSが前記記憶デバイスにアクセスするための制御情報の設定及びその変更の処理を含む動作であり、
    前記情報処理装置として管理用プログラムを備えた管理用の情報処理装置を有し、
    前記ファームウェアの更新の際、ファームウェア更新対象となる前記第1の回路基板について、
    前記管理用の情報処理装置から前記第1の回路基板のOSに対し前記第1のネットワークを通じてファームウェア更新のための指示を送信する処理を行い、前記指示に基づき、
    前記第1の回路基板のOSが提供中の第1のサービスを前記サービス移動機能により前記クラスタ内の他の前記第2の回路基板のOSへ移動するサービス移動処理と、
    前記サービスの移動によりサービス非提供状態となった前記第1の回路基板についてファームウェア更新プログラムと新ファームウェアイメージを用いて前記OSで前記ファームウェア更新プログラムを動作させることで前記不揮発性メモリ上のファームウェアを新ファームウェアに更新するファームウェア更新処理とを含む処理単位を実行することを特徴とするストレージ装置。
  18. 請求項17記載のストレージ装置において、
    前記ファームウェアの更新の際、
    前記管理用の情報処理装置は、前記サービス移動処理として、前記第1の回路基板のOSに対して前記第1のネットワークを通じて前記サービスの移動のための指示を送信する処理を行い、
    前記指示に基づき前記第1の回路基板のOSは、前記クラスタ内の前記第1と第2の回路基板上のOS間で前記第1のサービスの移動を行い、
    前記第1のサービスの移動後、前記管理用の情報処理装置から前記ファームウェア更新処理を実行する対象となる前記第1の回路基板のOSに対し前記ファームウェア更新プログラムと新ファームウェアイメージを送信する処理を行い、
    前記第1の回路基板のOSは、前記ファームウェア更新プログラムを実行し前記新ファームウェアイメージを用いて前記ファームウェア更新処理を行うことを特徴とするストレージ装置。
  19. 請求項17記載のストレージ装置において、
    前記ファームウェアの更新の際、
    前記管理用の情報処理装置は、前記第1の回路基板のOSに対し前記第1のネットワークを通じてファームウェア更新の指示を送信する処理を行い、
    前記第1の回路基板のOSは、前記指示に基づき、前記クラスタ内の前記第1と第2の回路基板上のOS間で前記第1のサービスを引き継ぐ移動を行ってからシャットダウンを行い、前記シャットダウン後に前記ファームウェア更新処理を行うことを特徴とするストレージ装置。
  20. 請求項17記載のストレージ装置において、
    前記ファームウェアの更新の際、
    前記管理用の情報処理装置は、前記ファームウェア更新処理を実行する対象となる前記第1の回路基板のOSに対し、前記第1のサービスを中断してファームウェアを更新させるための指示を送信する処理を行い、
    前記第1の回路基板のOSは、前記指示に基づき、提供中の前記第1のサービスを中断して前記サービス移動処理は行わず、その後に前記ファームウェア更新処理を行い、前記更新の完了後に担当の前記第1のサービスの提供を開始することを特徴とするストレージ装置。
JP2004208105A 2004-07-15 2004-07-15 ストレージ装置 Expired - Lifetime JP4870915B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004208105A JP4870915B2 (ja) 2004-07-15 2004-07-15 ストレージ装置
US10/940,625 US7240188B2 (en) 2004-07-15 2004-09-15 Storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004208105A JP4870915B2 (ja) 2004-07-15 2004-07-15 ストレージ装置

Publications (2)

Publication Number Publication Date
JP2006031312A JP2006031312A (ja) 2006-02-02
JP4870915B2 true JP4870915B2 (ja) 2012-02-08

Family

ID=35600910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004208105A Expired - Lifetime JP4870915B2 (ja) 2004-07-15 2004-07-15 ストレージ装置

Country Status (2)

Country Link
US (1) US7240188B2 (ja)
JP (1) JP4870915B2 (ja)

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067208A (ja) * 2001-08-23 2003-03-07 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
DE10335989B4 (de) * 2003-08-01 2019-07-11 Kw-Software Gmbh Online-Änderungen von CIL-Code-Programmen für die Industrieautomatisierung
US8015568B2 (en) * 2005-02-28 2011-09-06 Hitachi Global Storage Technologies Netherlands B.V. Disk drive/CPU architecture for distributed computing
JP2007025933A (ja) * 2005-07-14 2007-02-01 Hitachi Ltd ストレージシステム及びそのファームウェア自動更新方法
US8713551B2 (en) * 2006-01-03 2014-04-29 International Business Machines Corporation Apparatus, system, and method for non-interruptively updating firmware on a redundant hardware controller
US7676666B2 (en) * 2006-02-02 2010-03-09 Dell Products L.P. Virtual BIOS firmware hub
JP2007219571A (ja) 2006-02-14 2007-08-30 Hitachi Ltd 記憶制御装置及びストレージシステム
US8707290B2 (en) * 2006-02-22 2014-04-22 Dell Products L.P. Firmware update in an information handling system employing redundant management modules
US8166539B2 (en) * 2006-02-24 2012-04-24 Dell Products L.P. Authentication of baseboard management controller users in a blade server system
US7500095B2 (en) 2006-03-15 2009-03-03 Dell Products L.P. Chipset-independent method for locally and remotely updating and configuring system BIOS
US8108853B2 (en) * 2006-05-05 2012-01-31 Honeywell International Inc. Apparatus and method for allowing a fail-back to a prior software release in a process control system
CN101093446B (zh) * 2006-06-21 2011-06-22 鸿富锦精密工业(深圳)有限公司 操作系统引导装置、方法及其应用的电脑系统
US7996829B2 (en) * 2006-07-31 2011-08-09 Hewlett-Packard Development Company, L.P. Managing software revisions for servers in an infrastructure
US8776037B2 (en) * 2007-01-04 2014-07-08 International Business Machines Corporation Apparatus and method to update multiple devices disposed in a computing system
JP4940967B2 (ja) 2007-01-30 2012-05-30 富士通株式会社 ストレージシステム、ストレージ装置、ファームウェアの活性交換方法、ファームウェアの活性交換プログラム
JP4863905B2 (ja) * 2007-03-02 2012-01-25 株式会社日立製作所 ストレージ利用排他方式
US7877556B2 (en) * 2007-03-30 2011-01-25 Hitachi, Ltd. Method and apparatus for a unified storage system
ES2693097T3 (es) * 2007-05-30 2018-12-07 Ascensia Diabetes Care Holdings Ag Sistema y método para gestionar datos de salud
JP4888556B2 (ja) * 2007-06-20 2012-02-29 富士通株式会社 ユニット間設定同期装置
US8898653B2 (en) * 2007-06-27 2014-11-25 International Business Machines Corporation Non-disruptive code update of a single processor in a multi-processor computing system
US8601460B2 (en) * 2007-07-25 2013-12-03 International Business Machines Corporation Systems and methods for firmware cloning
US7895428B2 (en) * 2007-09-28 2011-02-22 International Business Machines Corporation Applying firmware updates to servers in a data center
US7987353B2 (en) * 2008-01-09 2011-07-26 International Business Machines Corporation Remote BIOS for servers and blades
JP2009193453A (ja) * 2008-02-15 2009-08-27 Nec Computertechno Ltd ブレードシステム、エンクロージャマネージャ、ブレード、bios管理方法及びbios管理プログラム
JP4530059B2 (ja) 2008-02-18 2010-08-25 日本電気株式会社 ディスクアレイ装置、ファームウェア交換方法およびファームウェア交換プログラム
JP4944812B2 (ja) * 2008-02-20 2012-06-06 株式会社リコー 情報処理システムと情報処理方法とプログラム
JP4467624B2 (ja) 2008-03-24 2010-05-26 富士通株式会社 ソフトウェアアップデート管理プログラム、ソフトウェアアップデート管理装置、およびソフトウェアアップデート管理方法
JP2009282834A (ja) * 2008-05-23 2009-12-03 Fujitsu Ltd ディスクアレイ装置,制御ファーム適用方法,及び制御ファーム適用制御部
WO2010022100A2 (en) * 2008-08-18 2010-02-25 F5 Networks, Inc. Upgrading network traffic management devices while maintaining availability
US8656227B2 (en) * 2008-11-13 2014-02-18 Transcend Information, Inc. On-line client service method for storage apparatus
JP2010152508A (ja) * 2008-12-24 2010-07-08 Fujitsu Ltd 制御装置、ディスクアレイ装置および制御方法
US8352710B2 (en) * 2009-01-19 2013-01-08 International Business Machines Corporation Off-loading of processing from a processor blade to storage blades
US8856776B2 (en) * 2009-02-05 2014-10-07 International Business Machines Corporation Updating firmware without disrupting service
JP4811486B2 (ja) 2009-03-26 2011-11-09 ブラザー工業株式会社 プログラム、情報処理システムおよび情報処理装置
TWI416373B (zh) * 2010-03-25 2013-11-21 Wistron Corp 鍵盤定義更新方法及電腦系統
JP5513997B2 (ja) * 2010-06-07 2014-06-04 日本電信電話株式会社 通信システムおよび通信システム更新方法
JP5150699B2 (ja) * 2010-10-05 2013-02-20 株式会社バッファロー フェイルオーバ情報管理装置、記憶処理装置及びフェイルオーバ制御方法
JP5255035B2 (ja) * 2010-10-08 2013-08-07 株式会社バッファロー フェイルオーバシステム、記憶処理装置及びフェイルオーバ制御方法
US8924498B2 (en) 2010-11-09 2014-12-30 Honeywell International Inc. Method and system for process control network migration
US8640118B2 (en) * 2011-05-24 2014-01-28 International Business Machines Corporation Managing firmware on a system board
US9262148B2 (en) * 2011-09-12 2016-02-16 Microsoft Technology Licensing, Llc Modular architecture for distributed system management
WO2013111181A1 (en) * 2012-01-24 2013-08-01 Hitachi, Ltd. Computer system and method for controlling additional chassis added to computer system
US9223564B2 (en) * 2012-01-26 2015-12-29 Avago Technologies General Ip (Singapore) Pte. Ltd. Update systems responsive to ongoing processing at a storage system
JP5825123B2 (ja) * 2012-02-01 2015-12-02 富士通株式会社 制御装置、制御システムおよび制御方法
US9170852B2 (en) 2012-02-02 2015-10-27 Microsoft Technology Licensing, Llc Self-updating functionality in a distributed system
US9256744B2 (en) * 2012-04-10 2016-02-09 Asmedia Technology Inc. System-on-chip and booting method thereof
US9098302B2 (en) * 2012-06-28 2015-08-04 Intel Corporation System and apparatus to improve boot speed in serial peripheral interface system using a baseboard management controller
WO2014089781A1 (zh) * 2012-12-12 2014-06-19 华为技术有限公司 一种硬盘系统操作方法、存储系统及处理器
US9703697B2 (en) 2012-12-27 2017-07-11 Intel Corporation Sharing serial peripheral interface flash memory in a multi-node server system on chip platform environment
US9208072B2 (en) 2013-06-25 2015-12-08 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Firmware storage and maintenance
US9110838B2 (en) 2013-07-31 2015-08-18 Honeywell International Inc. Apparatus and method for synchronizing dynamic process data across redundant input/output modules
US9207929B2 (en) 2013-08-26 2015-12-08 Hitachi, Ltd. Integrated system and firmware update method
DE102014200089A1 (de) 2014-01-08 2015-07-09 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Vorrichtung, Computerprogramm und Computerprogrammprodukt zum Programmieren von mehreren Steuergeräten
US9720404B2 (en) 2014-05-05 2017-08-01 Honeywell International Inc. Gateway offering logical model mapped to independent underlying networks
US10042330B2 (en) 2014-05-07 2018-08-07 Honeywell International Inc. Redundant process controllers for segregated supervisory and industrial control networks
US10536526B2 (en) 2014-06-25 2020-01-14 Honeywell International Inc. Apparatus and method for virtualizing a connection to a node in an industrial control and automation system
US9699022B2 (en) 2014-08-01 2017-07-04 Honeywell International Inc. System and method for controller redundancy and controller network redundancy with ethernet/IP I/O
US10148485B2 (en) 2014-09-03 2018-12-04 Honeywell International Inc. Apparatus and method for on-process migration of industrial control and automation system across disparate network types
US9785427B2 (en) 2014-09-05 2017-10-10 Oracle International Corporation Orchestration of software applications upgrade using checkpoints
US9740474B2 (en) 2014-10-29 2017-08-22 Oracle International Corporation Orchestration of software applications upgrade using automatic hang detection
KR102261815B1 (ko) 2014-10-30 2021-06-07 삼성전자주식회사 펌웨어 업데이트 시간을 줄일 수 있는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
US9753717B2 (en) * 2014-11-06 2017-09-05 Oracle International Corporation Timing report framework for distributed software upgrades
US9880828B2 (en) 2014-11-07 2018-01-30 Oracle International Corporation Notifications framework for distributed software upgrades
US9853873B2 (en) 2015-01-10 2017-12-26 Cisco Technology, Inc. Diagnosis and throughput measurement of fibre channel ports in a storage area network environment
JP6554801B2 (ja) * 2015-01-30 2019-08-07 沖電気工業株式会社 冗長通信装置及びその制御方法
US9900250B2 (en) 2015-03-26 2018-02-20 Cisco Technology, Inc. Scalable handling of BGP route information in VXLAN with EVPN control plane
US10162827B2 (en) 2015-04-08 2018-12-25 Honeywell International Inc. Method and system for distributed control system (DCS) process data cloning and migration through secured file system
US10409270B2 (en) 2015-04-09 2019-09-10 Honeywell International Inc. Methods for on-process migration from one type of process control device to different type of process control device
US10222986B2 (en) 2015-05-15 2019-03-05 Cisco Technology, Inc. Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
US11588783B2 (en) 2015-06-10 2023-02-21 Cisco Technology, Inc. Techniques for implementing IPV6-based distributed storage space
US20170010874A1 (en) * 2015-07-06 2017-01-12 Cisco Technology, Inc. Provisioning storage devices in a data center
US10778765B2 (en) 2015-07-15 2020-09-15 Cisco Technology, Inc. Bid/ask protocol in scale-out NVMe storage
US9952850B2 (en) * 2015-07-28 2018-04-24 Datadirect Networks, Inc. Automated firmware update with rollback in a data storage system
US9892075B2 (en) 2015-12-10 2018-02-13 Cisco Technology, Inc. Policy driven storage in a microserver computing environment
US20170168725A1 (en) * 2015-12-10 2017-06-15 Kabushiki Kaisha Toshiba Memory system that updates firmware in response to predetermined events
US10140172B2 (en) 2016-05-18 2018-11-27 Cisco Technology, Inc. Network-aware storage repairs
US20170351639A1 (en) 2016-06-06 2017-12-07 Cisco Technology, Inc. Remote memory access using memory mapped addressing among multiple compute nodes
US10664169B2 (en) 2016-06-24 2020-05-26 Cisco Technology, Inc. Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device
US11563695B2 (en) 2016-08-29 2023-01-24 Cisco Technology, Inc. Queue protection using a shared global memory reserve
JP6753257B2 (ja) * 2016-10-04 2020-09-09 富士通株式会社 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム
US10545914B2 (en) 2017-01-17 2020-01-28 Cisco Technology, Inc. Distributed object storage
US10243823B1 (en) 2017-02-24 2019-03-26 Cisco Technology, Inc. Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks
US10713203B2 (en) 2017-02-28 2020-07-14 Cisco Technology, Inc. Dynamic partition of PCIe disk arrays based on software configuration / policy distribution
US10254991B2 (en) 2017-03-06 2019-04-09 Cisco Technology, Inc. Storage area network based extended I/O metrics computation for deep insight into application performance
TWI621017B (zh) * 2017-03-06 2018-04-11 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
US10296482B2 (en) 2017-03-07 2019-05-21 Honeywell International Inc. System and method for flexible connection of redundant input-output modules or other devices
US10152317B2 (en) 2017-03-30 2018-12-11 Wipro Limited Method and system for updating software packages in a storage system
JP6536618B2 (ja) * 2017-04-20 2019-07-03 富士通株式会社 情報処理装置、情報処理システム、及び制御プログラム
US10303534B2 (en) 2017-07-20 2019-05-28 Cisco Technology, Inc. System and method for self-healing of application centric infrastructure fabric memory
US10401816B2 (en) 2017-07-20 2019-09-03 Honeywell International Inc. Legacy control functions in newgen controllers alongside newgen control functions
US10404596B2 (en) 2017-10-03 2019-09-03 Cisco Technology, Inc. Dynamic route profile storage in a hardware trie routing table
US10942666B2 (en) 2017-10-13 2021-03-09 Cisco Technology, Inc. Using network device replication in distributed storage clusters
US10866798B2 (en) 2017-12-28 2020-12-15 Intel Corporation Firmware upgrade method and apparatus
US11243757B2 (en) * 2018-12-03 2022-02-08 Dell Products L.P. Systems and methods for efficient firmware update of memory devices in BIOS/UEFI environment
WO2020185211A1 (en) * 2019-03-11 2020-09-17 Hewlett-Packard Development Company, L.P. Tranistionary firmware packages
JP7411471B2 (ja) * 2020-03-27 2024-01-11 株式会社コンテック 情報処理装置及び通信システム
US20200257517A1 (en) * 2020-04-23 2020-08-13 Intel Corporation Firmware update techniques
US20240231790A9 (en) * 2022-10-20 2024-07-11 Dell Products L.P. Seamless update provisioning for common chipsets carrying different cpu families

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US152339A (en) * 1874-06-23 Improvement in implements for destroying cut-worms
US205779A (en) * 1878-07-09 Of hew yobk
JP3160149B2 (ja) * 1994-05-13 2001-04-23 株式会社日立製作所 ディスク制御装置の無停止プログラム変更方法およびディスク制御装置
JP3427363B2 (ja) * 1994-10-07 2003-07-14 富士通株式会社 マルチプロセッサシステム
US6715100B1 (en) * 1996-11-01 2004-03-30 Ivan Chung-Shung Hwang Method and apparatus for implementing a workgroup server array
JPH10143358A (ja) * 1996-11-14 1998-05-29 Ricoh Co Ltd プリント配線基板方式
US6266809B1 (en) * 1997-08-15 2001-07-24 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
US7149222B2 (en) * 1999-12-21 2006-12-12 Converged Access, Inc. Integrated access point network device
US6675258B1 (en) * 2000-06-30 2004-01-06 Lsi Logic Corporation Methods and apparatus for seamless firmware update and propagation in a dual raid controller system
US6622302B1 (en) * 2000-06-30 2003-09-16 Lsi Logic Corporation Methods and apparatus for dynamic version transition of management applications and attached subsystems
US6904457B2 (en) * 2001-01-05 2005-06-07 International Business Machines Corporation Automatic firmware update of processor nodes
US6779063B2 (en) * 2001-04-09 2004-08-17 Hitachi, Ltd. Direct access storage system having plural interfaces which permit receipt of block and file I/O requests
JP2002318666A (ja) * 2001-04-20 2002-10-31 Hitachi Ltd ディスクアレイ装置に実装されたハードディスクユニットのファームウエアの更新方法およびこの更新方法を実行する機能を備えたディスクアレイ装置
JP3726726B2 (ja) * 2001-08-20 2005-12-14 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置および管理ユニット
JP2003140907A (ja) * 2001-11-08 2003-05-16 Matsushita Electric Ind Co Ltd プログラム転送中継システムおよび中継制御方法
JP2003162439A (ja) * 2001-11-22 2003-06-06 Hitachi Ltd ストレージシステム及びその制御方法
JP3964212B2 (ja) * 2002-01-16 2007-08-22 株式会社日立製作所 記憶装置システム
US7219343B2 (en) * 2003-04-10 2007-05-15 International Business Machines Corporation Firmware update mechanism in a multi-node data processing system
US7261221B2 (en) * 2003-04-16 2007-08-28 Innovation And Design, Inc. Inverted dispensing system and apparatus
US7222339B2 (en) * 2003-06-13 2007-05-22 Intel Corporation Method for distributed update of firmware across a clustered platform infrastructure
US7213102B2 (en) * 2003-06-26 2007-05-01 International Business Machines Corporation Apparatus method and system for alternate control of a RAID array
JP2005242555A (ja) * 2004-02-25 2005-09-08 Hitachi Ltd 記憶制御システム及び記憶制御システムが有するディスク型記憶装置にファームウェアを搭載する方法

Also Published As

Publication number Publication date
US20060015861A1 (en) 2006-01-19
JP2006031312A (ja) 2006-02-02
US7240188B2 (en) 2007-07-03

Similar Documents

Publication Publication Date Title
JP4870915B2 (ja) ストレージ装置
US7263584B2 (en) Method of controlling storage device controlling apparatus, and storage device controlling apparatus
JP4400913B2 (ja) ディスクアレイ装置
US7073017B2 (en) Efficient update of firmware in a disk-type storage device
US7360047B2 (en) Storage system, redundancy control method, and program
US7574575B2 (en) Disk array device including a system LU for storing control information in the disk array and backup LU for backing up the control information and controlling method thereof
US7028177B2 (en) Array controller ROM cloning in redundant controllers
JP4448878B2 (ja) 障害回復環境の設定方法
US7305670B2 (en) Method of installing software on storage device controlling apparatus, method of controlling storage device controlling apparatus, and storage device controlling apparatus
JP4274523B2 (ja) 記憶装置システム、及び記憶装置システムの起動方法
US20070061534A1 (en) Method of controlling storage device controlling apparatus, and storage device controlling apparatus
US7216210B2 (en) Data I/O system using a plurality of mirror volumes
JP2007025933A (ja) ストレージシステム及びそのファームウェア自動更新方法
JP5186551B2 (ja) ピア・プログラマブル・ハードウェア・デバイスの自動ファームウェア復元方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111006

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4870915

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

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term