(57)【要約】【課題】プログラマブル論理回路のソフトエラーを効率的に解消できるようにする。【解決手段】プログラマブル論理回路１０３が備える設定情報用メモリのソフトエラーを検出する検出部１１５と、ソフトエラーを検出すると、通信装置１０と上位装置２との通信パスの状態をビジー状態に変移させる通信制御部１１３と、プログラマブル論理回路１０３の設定情報用メモリの修復処理を行なう修復処理部１１６とを備える。【選択図】図１
2014071576.tif 000002
【特許請求の範囲】
【請求項１】
通信装置により上位装置に接続され、記憶装置に対するデータアクセスを制御するストレージ制御装置であって、
プログラマブル論理回路が備える設定情報用メモリのソフトエラーを検出する検出部と、
前記通信装置と前記上位装置との通信パスの状態を変移させる通信制御部と、
前記プログラマブル論理回路の前記設定情報用メモリの修復処理を行なう修復処理部と、
を備え、
前記検出部がソフトエラーを検出すると、前記通信制御部は、前記通信装置と前記上位装置との通信パスの状態をビジー状態に変移させ
ることを特徴とする、ストレージ制御装置。
【請求項２】
前記通信制御部が、前記通信装置から前記上位装置に対して通信制御信号の送信を開始することにより、前記通信装置と前記上位装置との通信パスの状態をビジー状態に変移させることを特徴とする、請求項１記載のストレージ制御装置。
【請求項３】
前記検出部がソフトエラーを検出すると、前記上位装置と通信する前記通信装置を管理する制御装置に対して前記通信装置を監視対象から除外する処理を行なう第１処理部と、
前記修復処理部による前記設定情報用メモリの修復処理の完了後に、前記制御装置に対して前記通信装置を監視対象にさせる処理を行なう第２処理部と
を備えることを特徴とする、請求項１又は２記載のストレージ制御装置。
【請求項４】
通信装置により上位装置に接続され、記憶装置に対するデータアクセスを制御するストレージ制御装置であって、
プログラマブル論理回路が備える設定情報用メモリのソフトエラーを検出する検出部と、
前記通信装置を管理する管理装置に対して前記通信装置を監視対象から除外する処理を行なう処理部と、
前記プログラマブル論理回路の前記設定情報用メモリの修復処理を行なう修復処理部と、
を備え、
前記検出部がソフトエラーを検出すると、前記処理部は、前記管理装置に対して前記通信装置を監視対象から除外する処理を行なう
ことを特徴とする、ストレージ制御装置。
【請求項５】
前記検出部が前記ソフトエラーを検出すると、前記処理部は、前記制御装置に対して第１通知信号を送信することにより、前記通信装置を前記制御装置において監視対象から除外し、
前記修復処理部が前記修復処理が完了すると、前記処理部は、前記通信装置から前記制御装置に対して第２通知信号を送信することにより、前記通信装置を前記制御装置において監視対象に設定することを特徴とする、請求項４記載のストレージ制御装置。
【請求項６】
前記検出部が前記ソフトエラーを検出すると、前記制御装置に対してデータ転送処理を停止させる転送抑止部を備えることを特徴とする、請求項３〜５のいずれか１項に記載のストレージ制御装置。
【請求項７】
プログラマブル論理回路が備える設定情報用メモリのソフトエラーを検出する処理と、
前記ソフトエラーを検出すると、通信装置と上位装置との通信パスの状態をビジー状態に変移させる処理と、
前記プログラマブル論理回路の前記設定情報用メモリの修復処理を行なう処理と
を備えることを特徴とする、プログラマブル論理回路の復旧処理方法。
【請求項８】
前記通信装置から前記上位装置に対して通信制御信号の送信を開始することにより、前記通信装置と前記上位装置との通信パスの状態をビジー状態に変移させることを特徴とする、請求項７記載のプログラマブル論理回路の復旧方法。
【請求項９】
プログラマブル論理回路が備える設定情報用メモリのソフトエラーを検知し、
前記ソフトエラーを検知すると、通信装置と上位装置との通信パスの状態をビジー状態に変移させ、
前記プログラマブル論理回路の前記設定情報用メモリの修復処理を行なう、
処理をコンピュータに実行させることを特徴とする制御プログラム。
【請求項１０】
前記通信装置から前記上位装置に対して通信制御信号の送信を開始することにより、前記通信装置と前記上位装置との通信パスの状態をビジー状態に変移させることを特徴とする、請求項９記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置，プログラマブル論理回路の復旧処理方法及び制御プログラムに関する。
【背景技術】
【０００２】
デジタル回路の回路設計を電気的に変更可能なデバイスとして、ＦＰＧＡ（Field  Programmable  Gate  Array；プログラマブル論理回路）が知られている。ＦＰＧＡは、多数の論理ゲートを有するＬＳＩ（Large  Scale  Integration  circuit）である。ＦＰＧＡは、論理ゲート間の論理関係と接続関係とを記述したコンフィグレーションデータを、ＦＰＧＡが備えるコンフィグレーションＲＡＭ（Random  Access  Memory）に書き込むことで、所定の論理回路として機能する。
【０００３】
種々の電子機器の回路部品にＦＰＧＡを用いることにより、設計に従って回路部品を製造する場合より短期間で回路設計を実装することができる。
また、ＦＰＧＡは、コンフィグレーションデータを変更することでハードウェアを変更することなく容易に回路設計を変更できるので、電子機器を始めとして様々な製品で利用されている。ＦＰＧＡは、例えば、ストレージ制御装置に搭載されるＣＡ（Channel  Adapter）にも用いられている。
【０００４】
さて、ＦＰＧＡにおいては、コンフィグレーションＲＡＭにエラーが発生する場合がある。このようなコンフィグレーションＲＡＭで発生するエラーには、回路そのものがダメージを受ける「ハードエラー」と、宇宙線等の放射線によりＲＡＭ内のデータが破壊される「ソフトエラー」とがある。
コンフィグレーションＲＡＭに「ハードエラー」が発生した場合には、ＦＰＧＡそのものの交換が必要となるが、「ソフトエラー」が発生した場合は、ＦＰＧＡをリコンフィグレーションすることにより復旧が可能である。
【０００５】
例えば、ＣＡにＦＰＧＡを用いたストレージ装置においては、ＣＡのＦＰＧＡにソフトエラーが発生した場合に、ＣＡをハードリセットしてリブートすることで、ＦＰＧＡのソフトエラー状態から復旧させる。
図７（ａ），（ｂ）は従来のストレージ制御装置におけるＦＰＧＡのソフトエラー発生時の処理を説明する図、図８はそのシーケンス図である。
【０００６】
図７（ａ）に示すように、ホスト１０１０とストレージ装置１０２０とを備えたストレージシステム１０００において、ストレージ装置１０２０のＣＡ１０２１においてＦＰＧＡにソフトエラーが検出された場合の従来の処理を説明する。なお、図７（ｂ）及び図８中において、カッコ付き数字は対応する処理を示している。
ストレージ装置１０２０はＣＡ１０２１及びＣＭ（Controller  Module）１０２２を備え、ＣＡ１０２１はホスト１０１０のチャネル（ＣＨ）１０１２と接続されている。ＣＨ１０１２は、例えば、ファイバチャネルインタフェースである。この図７，図８に示す例においては、ホスト１０１０とストレージ装置１０２０とは光ファイバケーブルで接続されている。
【０００７】
ＦＰＧＡのソフトエラーが検出されると、先ず、(1)ＣＡ１０２１においてハードリセットが行なわれ、ＣＡ１０２１の電源が遮断される。これにより、(2) ホスト１０１０とストレージ装置１０２０との接続が遮断され、ホスト１０１０のＣＨ１０１２において、ストレージ装置１０２０との間に通信断（光切れ）が検出される。
ホスト１０１０のＯＳ（Operating  System）１０１１においては、ＣＨ１０１２の光切れの検出に基づき、(3)ストレージ装置１０２０との間のパス切れを認識する。
【０００８】
ＣＭ１０２２は、(4)ＣＡ１０２１がハードリセットしたため故障したと判断し、ＣＡ１０２１を使用不可の状態に設定するとともに、故障通知を出力する。この故障通知を受けて装置の保守作業員（ＣＥ；Customer  Engineer）が派遣され、例えば、ＣＡ１０２１のボード交換作業が行なわれる。
ＣＭ１０２２は、(5）ＣＡ１０２１をリブート（再起動）させて組み込む。その後、(6)オペレータが、ホスト１０１０を操作して、パスをオンラインさせる処理（パスオンライン処理）を行なうことで、ホスト１０１０とストレージ装置１０２０とのパスが復旧し、ストレージシステム１０００が使用可能な状態になる。
【０００９】
このような従来のＦＰＧＡのソフトエラー発生時の復旧方法によれば、(3) ストレージ装置１０２０との間のパス切れが認識されてから、(6)パスオンライン処理が実行されるまでの間は、ホスト１０１０とＣＡ１０２１との間のパスを使用することができない。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１２−１４３５３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、このような従来のストレージシステムにおいては、ホスト１０１０とストレージ装置１０２０との間のパスを復旧させるために、ＣＡリブート完了後（符号(5)参照）に、オペレータがパスのオンライン処理作業を行なう必要がある。これにより、ストレージシステム１０００の復旧を迅速に行なうことができず、又、煩雑であるという課題がある。
【００１２】
また、前述の如く、ＣＭ１０２２からＣＡ１０２１の故障が判定され故障通知（符号(4)参照）が行なわれた場合に、この故障通知により装置の保守作業員が派遣され、ＣＡ１０２１のボード交換作業が行なわれる場合がある。しかしながら、ＦＰＧＡのソフトエラーはＦＰＧＡのハードウェアそのものには異常はないので、このボード交換は不要な作業であり非効率的である。
【００１３】
１つの側面では、本発明は、プログラマブル論理回路のソフトエラーを効率的に解消できるようにすることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の１つとして位置付けることができる。
【課題を解決するための手段】
【００１４】
このため、このストレージ制御装置は、通信装置により上位装置に接続され、記憶装置に対するデータアクセスを制御するストレージ制御装置であって、プログラマブル論理回路が備える設定情報用メモリのソフトエラーを検出する検出部と、前記通信装置と前記上位装置との通信パスの状態をビジー状態に変移させる通信制御部と、前記プログラマブル論理回路の前記設定情報用メモリの修復処理を行なう修復処理部とを備え、前記検出部がソフトエラーを検出すると、前記通信制御部は、前記通信装置と前記上位装置との通信パスの状態をビジー状態に変移させる。
【００１５】
また、このストレージ制御装置は、通信装置により上位装置に接続され、記憶装置に対するデータアクセスを制御するストレージ制御装置であって、プログラマブル論理回路が備える設定情報用メモリのソフトエラーを検出する検出部と、前記通信装置を管理する管理装置に対して前記通信装置を監視対象から除外する処理を行なう処理部と、前記プログラマブル論理回路の前記設定情報用メモリの修復処理を行なう修復処理部とを備え、前記検出部がソフトエラーを検出すると、前記処理部は、前記通信装置と前記上位装置との通信パスの状態をビジー状態に変移させる。
【００１６】
さらに、このプログラマブル論理回路の復旧処理方法は、プログラマブル論理回路が備える設定情報用メモリのソフトエラーを検出する処理と、前記ソフトエラーを検出すると、通信装置と上位装置との通信パスの状態をビジー状態に変移させる処理と、前記プログラマブル論理回路の前記設定情報用メモリの修復処理を行なう処理とを備える。
また、この制御プログラムは、プログラマブル論理回路が備える設定情報用メモリのソフトエラーを検知し、前記ソフトエラーを検知すると、通信装置と上位装置との通信パスの状態をビジー状態に変移させ、前記プログラマブル論理回路の前記設定情報用メモリの修復処理を行なう処理をコンピュータに実行させる。
【発明の効果】
【００１７】
一実施形態によれば、プログラマブル論理回路に発生したソフトエラーを効率的に解消することができる。
【図面の簡単な説明】
【００１８】
【図１】実施形態の一例としてのストレージシステムの機能構成を模式的に示す図である。
【図２】実施形態の一例としてのストレージシステムのハードウェア構成を模式的に示す図である。
【図３】実施形態の一例としてのストレージシステムにおけるＦＰＧＡのソフトエラー発生時の処理の概要を説明する図である。
【図４】実施形態の一例としてのストレージシステムにおけるＦＰＧＡのソフトエラー発生時の処理の概要を説明するシーケンス図である。
【図５】実施形態の一例としてのストレージシステムにおけるＦＰＧＡのソフトエラー発生時の詳細な処理を示すシーケンス図である。
【図６】本実施形態の一例としてのストレージシステムにおけるＦＰＧＡのリコンフィグレーション処理を説明するフローチャートである。
【図７】（ａ），（ｂ）は従来のストレージ装置におけるＦＰＧＡのソフトエラー発生時の処理を説明する図である。
【図８】従来のストレージ装置におけるＦＰＧＡのソフトエラー発生時の処理を説明するシーケンス図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して本ストレージ制御装置，プログラマブル論理回路の復旧処理方法及び制御プログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【００２０】
図１は実施形態の一例としてのストレージシステム１の機能構成を模式的に示す図、図２はそのハードウェア構成を模式的に示す図である。
本ストレージシステム１は、図２に示すように、ストレージ装置１００をそなえ、１以上（図１に示す例では１つ）のホスト２に対して通信可能に接続されている。
ホスト２は、例えば、サーバ機能をそなえたコンピュータ（情報処理装置，上位装置）であり、ストレージ装置１００との間において、コマンドやレスポンス等の各種データを送受信する。
【００２１】
ホスト２は、図２に示すように、ＣＰＵ（Central  Processing  Unit）２１及びチャネル（ＣＨ）２２を備える。ＣＰＵ２１は、種々の制御や演算を行なう処理装置であり、図示しないメモリ等に格納されたＯＳやプログラムを実行することにより、種々の機能を実現する。
このホスト２は、ストレージ装置１００に対してリード／ライト等のディスクアクセスコマンドを送信することにより、ストレージ装置１００が提供する記憶領域にデータの書き込みや読出しを行なう。
【００２２】
チャネル２２は、ストレージ装置１００と通信可能に接続するネットワークインタフェースである。図２に示す例においては、チャネル２２は、ストレージ装置１００に備えられた光モジュール１０５と通信線５１（ホストパス）を介して接続されている。
ストレージ装置１００は、ホスト２に対して記憶領域を提供するものであり、ホスト２と通信線５１を介して相互に通信可能に接続されている。
【００２３】
このストレージ装置１００は、図２に示すように、ストレージ制御装置２００及びＨＤＤ（Hard  Disk Drive；記憶装置）３０をそなえる。
ストレージ装置１００は、ホスト２に接続されるとともに、図示しないドライブエンクロージャ等が接続される。
ＨＤＤ３０は、データを読み書き可能に格納する記憶装置であり、ホスト２から受信したデータを記憶可能な記憶部として機能する。なお、図１，図２中においては、便宜上、ストレージ装置１００に１つのＨＤＤ３０を示しているが、これに限定されるものではなく、２つ以上のＨＤＤ３０をそなえてもよい。そして、ストレージ装置１００は、これらの複数のＨＤＤ３０を組み合わせて、冗長化された１つのストレージとして管理する、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置であってもよい。
【００２４】
ストレージ制御装置２００は、ホスト２からディスクアクセスコマンドやデータを受信し、このディスクアクセスコマンドに基づきＨＤＤ３０に対するディスクアクセス（リード／ライト）を行なう。ストレージ制御装置２００は、図２に示すように、チャネルアダプタ（以下ＣＡという）１０ａ，１０ｂ及びコントローラモジュール（以下ＣＭという）２０を備える。ＣＡ１０ａ，１０ｂ及びＣＭ２０は、通信線５２を介して相互に通信可能に接続されている。
【００２５】
ＣＭ２０は、ストレージ装置１００内の動作を制御するコントローラ（制御装置，管理装置）であり、ホスト２からのリード／ライト等のコマンドを受け取り、種々の制御を行なう。ＣＭ２０はＣＡ１０ａ，１０ｂを介してホスト２に接続される。又、ＣＭ２０は通信線５３を介してＨＤＤ３０に接続されている。そして、ＣＭ２０は、ホスト２から送信されるリード／ライト等のコマンドを受信し、ＨＤＤ３０の制御を行なう。
【００２６】
ＣＭ２０は、図２に示すように、ＣＰＵ２０１や図示しないメモリ等を備える。そして、このＣＰＵ２１がメモリ等に格納された制御プログラムを実行することにより、図１に示すように、ＣＡ管理部２１１としての機能を実現する。
ＣＡ管理部２１１は、ＣＡ１０ａ，１０ｂを管理し、ＣＡ１０ａ，１０ｂが正常に動作しているか否かを監視する。ＣＡ管理部２１１は、ＣＡ１０ａ，１０ｂにおいて何らかの異常を検知すると、そのＣＡ１０ａ，１０ｂを使用不可の状態に設定するとともに、外部に対して故障通知を出力する。又、ＣＡ管理部２１１は、ＣＡ１０ａ，１０ｂを再起動させる機能も備える。なお、ＣＡ管理部２１１による、これらのＣＡ１０ａ，１０ｂの監視や使用不可の設定、故障通知の出力、再起動等の機能は、既知の手法により実現することができ、その詳細な説明は省略する。
【００２７】
また、ＣＡ管理部２１１は、後述するリコンフィグレーション通知部１１４からＦＰＧＡのリコンフィグレーション開始のステータス信号（ＦＰＧＡリコンフィグレーション開始通知）を通知されると、その通知元のＣＡ１０を監視対象から除外して、そのＣＡ１０のステータスを使用不可の状態に設定する。これにより、ＣＭ２０からそのＣＡ１０に対してアクセスすることができなくなる。又、この際、ＣＡ管理部２１１は外部に対する故障通知は行なわない。
【００２８】
さらに、ＣＡ管理部２１１は、後述するリコンフィグレーション通知部１１４からＦＰＧＡのリコンフィグレーション終了のステータス信号（ＦＰＧＡリコンフィグレーション完了通知）を通知されると、その通知元のＣＡ１０を監視対象に含めて、そのＣＡ１０のステータスを使用可能の状態に設定する。これにより、ＣＭ２０からそのＣＡ１０に対してアクセスすることができるようになる。又、この際においても、ＣＡ管理部２１１は外部に対する故障通知は行なわない。
【００２９】
また、ＣＭ２０は、ストレージ装制御置２００における一般的なＣＭとしての機能を備えている。例えば、ＣＭ２０は、ストレージ装置１００のＨＤＤ３０等のリソースを管理するリソース管理機能や、複数の記憶装置間等におけるデータのコピーを制御するコピー制御機能等を備える。なお、これらのコピー制御機能やリソース管理機能は既知の技術であり、その詳細な説明は省略する。
【００３０】
ＣＡ１０ａ，１０ｂは、ホスト２等と通信可能に接続するインタフェースコントローラ（通信アダプタ；通信装置）である。ＣＡ１０ａ，１０ｂは、ホスト２等から送信されたデータを受信したり、ＣＭ２０から出力するデータをホスト２等に送信する。すなわち、ＣＡ１０ａ，１０ｂは、ホスト２等の外部装置との間でのデータの入出力（Ｉ／Ｏ）を制御する。ＣＡ１０ａ，１０ｂは同様の構成を備えている。なお、図１，図２中においては、便宜上、ＣＡ１０ａについてのみ、その機能構成やハードウェア構成を図示している。以下、ＣＡを示す符号としては、複数のＣＡのうち１つを特定する必要があるときには符号１０ａ，１０ｂを用いるが、任意のＣＡを指すときには符号１０を用いる。
【００３１】
ＣＡ１０は、図２に示すように、ＣＰＵ１０１，ＰＬＤ（Programmable  Logic  Device）１０２，ＦＰＧＡ１０３，ＰＣＩｅ（Peripheral  Components  Interconnect  Express）スイッチ（ＰＣＩｅ  ＳＷ）１０４及び光モジュール１０５，１０５を備える。又、これらの他、ＣＡ１０は図示しないメモリ等も備える。
光モジュール１０５，１０５は、ホスト２との間で光通信を行なうインタフェースモジュールであり、ＣＡ１０ａ，１０ｂにそれぞれ１以上（図２に示す例では２つ）備えられている。光モジュール１０５，１０５は、それぞれホスト２のチャネル２２と通信線５１を介して接続されている。
【００３２】
ＦＰＧＡ１０３は、プログラマブル論理回路であり、多数の論理ゲートを有するＬＳＩである。ＦＰＧＡ１０３は、このＦＰＧＡ１０３が備える図示しないコンフィグレーションＲＡＭ（Random  Access  Memory；設定情報用メモリ）に格納されたコンフィグレーションデータに従って論理回路としての機能を実現する。
さらに、ＦＰＧＡ１０３は、ホスト２との光モジュール１０５を介したインターフェース用のプロトコル制御及びデータ操作を行なう機能も備える。
【００３３】
ＰＬＤ１０２は、プログラム可能な論理デバイスである。このＰＬＤ１０２は、ＦＰＧＡ１０３のコンフィグレーションを実現する機能を備えており、コンフィグレーションＲＡＭのデータを、図示しないＲＯＭ（Read  Only  Memory）等に格納されたコンフィグレーションデータ（回路データ）をセットする。
また、ＰＬＤ１０２は、コンフィグレーションＲＡＭに既に書き込まれているコンフィグレーションデータを、ＲＯＭ等に格納されたコンフィグレーションデータを用いて書き換えるリコンフィグレーション機能を備える。これにより、ソフトエラーが生じたＦＰＧＡ１０３を復旧させることができる。すなわち、このＰＬＤ１０２は、図１に示すコンフィグレーション処理部（修復処理部）１１６としての機能を実現する。ＰＬＤ１０２による、ＦＰＧＡ１０３のコンフィグレーション及びリコンフィグレーションは、後述するＣＰＵ１０１の制御部１１７（コンフィグレーション処理制御部）からの指示に従って行なわれる。
【００３４】
さらに、ＰＬＤ１０２は、ホスト２に対して、ＵＤ（unconditional-disconnect）シーケンスを送出状態に設定し、又、ＵＤシーケンスの送出状態を解除する機能を備える。ＰＬＤ１０２は、後述するＣＰＵ１０１の指示に従って、ホスト２に対してＵＤシーケンス信号（通信制御信号）の送信を開始（送出状態の設定）する。具体的には、ＰＬＤ１０２は、ＵＤシーケンス送出信号を送出状態で固定する。
【００３５】
ＣＡ１０は、ホスト２（ホストＩ／Ｆ）に対してＵＤシーケンス信号を送信することによりコネクションリカバリ状態に移行する。このコネクションリカバリ状態においては、ホスト２からＣＡ１０（ストレージ装置１００）に対してＩ／Ｏコマンドを出力できなくなり、いわゆるビジー状態となる。
また、ＰＬＤ１０２は、後述するＣＰＵ１０１の制御部１１７（ＵＤシーケンス送出制御部）からの指示に従い、ＵＤシーケンス信号の送信を停止（送出状態の解除）する。具体的には、ＰＬＤ１０２は、送出状態となっているＵＤシーケンス送出信号の出力を停止させることで、送出状態を解除（固定解除）する。
【００３６】
ＵＤシーケンス信号を受信したホスト２は、ＵＤシーケンス信号の応答として、ＵＤシーケンス信号の送信元のＣＡ１０に対してＵＤＲ（unconditional-disconnect-response）シーケンス信号を送信する。ホスト２は、ＵＤシーケンス信号の送信状態が解除されるまでＵＤＲシーケンス信号の出力を行なう。これにより、ホスト２とＣＡ１０との間のホストパスがビジー状態になる。
【００３７】
本ストレージシステム１においては、専用のプロトコルチップ等を備えることなくホストパスをビジー状態に変移させることができる。ホストパスビジー状態となると、ホスト２はホストパスのパス切れを認識することがない。
また、ＵＤシーケンス信号の送出状態を固定／解除することにより、ホストパスのビジー状態を短時間で容易に設定／解除することができる。
【００３８】
ＰＬＤ１０２による、これらのＵＤシーケンス信号の送出や解除は、後述するＣＰＵ１０１の制御部１１７（ＵＤシーケンス送出制御部）からの指示に従って行なわれる。
なお、ＵＤシーケンス送出状態の設定や解除は既知の手法で実現することができ、その詳細な説明は省略する。ＵＤシーケンスについては、例えば、ＳＢＣＯＮ（Single-Byte  Command  Code  Sets  Connection  architecture）やＥＳＣＯＮ（Enterprise  System  Connection；登録商標）に規定されている。更に、ＰＬＤ１０２は、インターフェイス制御機能も備える。
【００３９】
このように、ＰＬＤ１０２は、図１に示す、ＵＤシーケンス送出部（第１通信制御部，第２通信制御部）１１３としての機能を実現する。
さらに、ＰＬＤ１０２は、ＦＰＧＡ１０３のソフトエラーを検出する機能を備える。ＰＬＤ１０２は、例えば、ＣＲＣ（Cyclic  Redundancy  Check）エラー検出機能を用いることによりＦＰＧＡ１０３のソフトエラーを検出する。なお、このＰＬＤ１０２によるＦＰＧＡ１０３のソフトエラー検出の機能は、既知の種々の手法により実現され、その詳細な説明は省略する。すなわち、このＰＬＤ１０２は、図１に示す検出部１１５としての機能を実現する。ＰＬＤ１０２は、ＦＰＧＡ１０３のソフトエラーを検出するとＣＰＵ１０１に対して割り込み（ＰＬＤ割り込み）信号を出力することにより通知する。
【００４０】
また、ＰＬＤ１０２は、ＣＭ２０に対して、ＦＰＧＡリコンフィグレーション開始通知（第１通知信号）やＦＰＧＡリコンフィグレーション完了通知（第２通知信号）を出力する。
ＦＰＧＡリコンフィグレーション開始通知は、ＦＰＧＡ１０３のリコンフィグレーションを開始することを通知する信号である。このＦＰＧＡリコンフィグレーション開始通知としては、例えば、ＣＡポート（図示省略）の初期化が完了したことをＣＭ２０に通知するために用いられる「Adapter  Ready  Assert」信号等を転用することができる。
【００４１】
前述の如く、ＦＰＧＡリコンフィグレーション開始通知を受信したＣＭ２０は、その通知元のＣＡ１０を監視対象から除外して、そのＣＡ１０を使用不可の状態に設定する。これにより、ＣＭ２０からそのＣＡ１０に対してアクセスすることができなくなる。又、この際、ＣＡ管理部２１１は外部に対する故障通知は行なわない。
また、ＣＭ２０は、ＦＰＧＡリコンフィグレーション完了通知を受信すると、その通知元のＣＡ１０を監視対象に含めて、そのＣＡ１０を使用可能の状態に設定する。これにより、ＣＭ２０からそのＣＡ１０に対してアクセスすることができるようになる。
【００４２】
ＦＰＧＡリコンフィグレーション完了通知は、ＦＰＧＡ１０３のリコンフィグレーションが完了したことを通知する信号である。このＦＰＧＡリコンフィグレーション完了通知としては、例えば、ＣＡポートのリセット等でＣＡ１０が使用できなくなったことをＣＭ２０に通知するために用いられる「Adapter  Ready  Deassert」信号等を転用することができる。すなわち、ＰＬＤ１０２は、図１に示すＦＰＧＡリコンフィグレーション通知部（第１処理部，第２処理部，処理部）１１４としての機能を実現する。
【００４３】
ＰＬＤ１０２による、これらのＦＰＧＡリコンフィグレーション開始通知及びＦＰＧＡリコンフィグレーション完了通知の出力は、後述するＣＰＵ１０１の制御部１１７（ＦＰＧＡリコンフィグレーション通知制御部）からの指示に従って行なわれる。
ＰＣＩｅスイッチ１０４は、ＰＣＩｅバスを介して通信を行なうインタフェースモジュールである。
【００４４】
メモリは、ＲＯＭ及びＲＡＭを含む記憶装置である。メモリのＲＯＭには、ＣＡ１０の制御に係るソフトウェアプログラム（制御プログラム）やこのプログラム用のデータ類が書き込まれている。メモリ上のソフトウェアプログラムは、ＣＰＵ１０１に適宜読み込まれて実行される。又、メモリのＲＡＭは、一次記憶メモリあるいはワーキングメモリとして利用される。
【００４５】
ＣＰＵ１０１は、種々の制御や演算を行なう処理装置であり、メモリに格納された制御プログラムを実行することにより、種々の機能を実現する。すなわち、ＣＰＵ１０１は、図１に示す、ＣＣＷ（Channel  Command  Word）コマンド処理部１１１，ＣＣＷコマンド発行部１１２及び制御部１１７として機能する。
ＣＣＷコマンド処理部１１１は、ホスト２等から発行されるＣＣＷについて、このＣＣＷに応じた処理を行なう。例えば、ＣＣＷコマンド処理部１１１は、ホスト２から受信したＣＣＷに基づいて、ＨＤＤ３０に対するＩＯ処理を行なう。ＣＣＷコマンド発行部１１２は、例えば、ＨＤＤ３０に対してＣＣＷを発行する。
【００４６】
なお、これらのＣＣＷコマンド処理部１１１及びＣＣＷコマンド発行部１１２としての機能は、既知の種々の手法により実現され、その詳細な説明は省略する。
制御部１１７は、ＰＬＤ１０２及びＦＰＧＡ１０３に対して、それぞれの機能を実現させる制御を行なう。
例えば、制御部（検知部）１１７は、ＰＬＤ１０２（検出部１１５）から、ＦＰＧＡ１０３のソフトエラーを検出した旨の割り込み信号が入力されことで、ＦＰＧＡ１０３のソフトエラーを検知する。制御部１１７は、ＦＰＧＡ１０３のソフトエラーを検知すると、ＰＬＤ１０２（ＵＤシーケンス送出部１１３）に対して、ＵＤシーケンス信号の送出開始を指示する。又、制御部１１７は、ＰＬＤ１０２に対してＵＤシーケンス信号の送出開始を指示した後、ＦＰＧＡ１０３のリコンフィグレーションが完了し、ＣＭ２０との間で正常に通信が行なわれることを確認すると、ＰＬＤ１０２（ＵＤシーケンス送出部１１３）に対して、ＵＤシーケンス信号の送出停止を指示する。すなわち、制御部１１７は、ＰＬＤ１０２（ＵＤシーケンス送出部１１３）によるＵＤシーケンス信号の送信や停止を制御するＵＤシーケンス送出制御部として機能する。
【００４７】
また、制御部１１７は、ＰＬＤ１０２（ＦＰＧＡリコンフィグレーション通知部１１４）に対して、ＣＭ２０へのＦＰＧＡリコンフィグレーション開始通知やＦＰＧＡリコンフィグレーション完了通知の送信を指示する。すなわち、制御部１１７は、ＰＬＤ１０２（ＦＰＧＡリコンフィグレーション通知部１１４）によるＦＰＧＡリコンフィグレーション開始通知及びＦＰＧＡリコンフィグレーション完了通知の送信を制御するＦＰＧＡリコンフィグレーション通知制御部として機能する。
【００４８】
さらに、制御部１１７は、ＰＬＤ１０２（コンフィグレーション処理部１１６）に対して、ＦＰＧＡ１０３のリコンフィグレーションを実施させる指示を行なう。すなわち、制御部１１７は、ＰＬＤ１０２（コンフィグレーション処理部１１６）によるＦＰＧＡ１０３のリコンフィグレーションを制御するリコンフィグレーション処理制御部として機能する。
【００４９】
また、制御部１１７は、ＦＰＧＡ１０３に対してＤＭＡ（Direct  Memory  Access）転送の停止や開始を指示する機能も備える。ＦＰＧＡ１０３にＤＭＡ転送を停止させることにより、ＣＡ１０とＣＭ２０との間においてＩ／Ｆ処理が実施されないようになる。
すなわち、制御部１１７は、検出部１１５がソフトエラーを検出すると、ＣＭ２０に対してデータ転送処理を停止させる転送抑止部としても機能する。
【００５０】
なお、上述の如き、ＣＭ２０におけるＣＡ管理部２１１等としての機能や、ＣＡ１０におけＣＣＷコマンド処理部１１１，ＣＣＷコマンド発行部１１２及び制御部１１７としての機能を実現するためのプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【００５１】
ＣＡ管理部２１１やＣＣＷコマンド処理部１１１，ＣＣＷコマンド発行部１１２及び制御部１１７等としての機能を実現する際には、内部記憶装置（本実施形態では図示しないメモリ）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではＣＰＵ２１，１０１）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【００５２】
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、ＣＡ１０やＣＭ２０がコンピュータとしての機能を有しているのである。
【００５３】
上述の如く構成された実施形態の一例としてのストレージシステム１００におけるＦＰＧＡのソフトエラー発生時の処理の概要を、図３及び図４を用いて説明する。なお、図３は本ストレージシステム１００におけるＦＰＧＡのソフトエラー発生時の処理の概要を説明する図、図４はそのシーケンス図である。なお、図３及び図４中において、カッコ付き数字は対応する処理を示している。
【００５４】
ＣＡ１０のＦＰＧＡ１０３にソフトエラーが発生すると、検出部１１５がこのソフトエラーを検出する。
(1)ＣＡ１０においては、ＣＰＵ１０１（制御部１１７）は、ＣＭ２０とのＩ／Ｆ処理を全て終結させ、ＦＰＧＡ１０３に対してＤＭＡ転送の停止を指示する。ＦＰＧＡ１０３は、このＤＭＡ転送停止指示に基づき、ＤＭＡ転送を停止する。これにより、ＣＡ１０とＣＭ２０との間で新たなＩ／Ｆ処理が実施されないようになる。
【００５５】
(2)その後、ＰＬＤ１０２（ＦＰＧＡリコンフィグレーション通知部１１４）が、ＣＭ２０に対して、ＦＰＧＡリコンフィグレーション開始通知を送信する。
(3)ＦＰＧＡリコンフィグレーション開始通知を受信したＣＭ２０は、ＣＡ１０を使用不可の状態にし、監視対象から除外する。これにより、ＣＭ２０からこのＣＡ１０に対して通信を行なわれないようにする。ＣＭ２０は、ＣＡ１０についての故障通知（ＣＡ故障通知）は行なわずに、ＦＰＧＡリコンフィグレーション完了通知を待つ。
【００５６】
(4)ＣＡ１０において、ＰＬＤ１０２（ＵＤシーケンス送出部１１３）は、ＵＤシーケンス信号を送出状態に設定することによりコネクションリカバリ状態にして、ホストパスをビジー状態に変移させる。ＵＤシーケンス信号を受信したホスト２はパス切れを認識することはない。
(5)ＣＡ１０において、ＰＬＤ１０２（コンフィグレーション処理部１１６）が、ＦＰＧＡ１０３のリコンフィギュレーションを行ない、レジスタの初期化やメモリのリフレッシュ等を行なう。
【００５７】
(6)その後、ＰＬＤ１０２（ＦＰＧＡリコンフィグレーション通知部１１４）は、ＣＭ２０に対してＦＰＧＡリコンフィグレーション完了通知を送信することにより、ＦＰＧＡ１０３のリコンフィギュレーションが完了したことを通知する。
(7)ＦＰＧＡリコンフィグレーション完了通知を受信したＣＭ２０は、ＣＡ１０を使用可能な状態に戻す。これにより、ＣＭ２０からＦＰＧＡリコンフィグレーション完了通知の送信元のＣＡ１０に対して通信を行なうことが可能となる。
【００５８】
(8) また、ＰＬＤ１０２（ＵＤシーケンス送出部１１３）は、ＵＤシーケンス送出状態を解除することにより、ホストパスのビジー状態を解除する。ホストパスのビジー状態が解除されたことにより、ホスト２とストレージ装置１００との間において、通信線５１を介してデータ処理が可能となる。
図５は実施形態の一例としてのストレージシステム１におけるＦＰＧＡ１０３のソフトエラー発生時の詳細な処理を示すシーケンス図である。
【００５９】
ストレージ装置１００のＣＡ１０においてＦＰＧＡ１０３のソフトエラーが発生すると（符号Ａ１参照）、ＰＬＤ１０２（検出部１１５）がＣＰＵ１０１に対してＰＬＤ割り込みを発生させる。これにより、ＣＰＵ１０１はＦＰＧＡ１０３のソフトエラーを認識（検知）する。
ＣＡ１０において、ＣＰＵ１０１（制御部１１７）は、ＦＰＧＡ１０３に対してＤＭＡ転送の停止を指示する。又、ＣＰＵ１０１（制御部１１７）は、ＵＤシーケンス信号を送出状態にして、ＰＬＤ１０２（ＵＤシーケンス送出部１１３）に対して、ＵＤシーケンス信号の送出固定設定を依頼する。
【００６０】
これにより、ＰＬＤ１０２（ＵＤシーケンス送出部１１３）は、ホスト２に対してＵＤシーケンス信号を送出し、コネクションリカバリ状態となる。ホスト２は、ＵＤシーケンス信号の応答としてＵＤＲシーケンス信号をＣＡ１０に送出する。
図５に示す例においては、ＰＬＤ１０２は、ＳＥＱ＃０としてホスト２のＣＨ＃０に対してＵＤシーケンス信号を送出し、ホスト２のＣＨ＃０からＵＤＲシーケンス信号が送出されている（符号Ａ２−１参照）。又、ＰＬＤ１０２は、ＳＥＱ＃１としてホスト２のＣＨ＃１に対してＵＤシーケンス信号を送出し、ホスト２のＣＨ＃１からＵＤＲシーケンス信号が送出されている（符号Ａ２−２参照）。
【００６１】
これらのＵＤシーケンス信号及びＵＤＲシーケンス信号の送受信は、ＵＤシーケンス信号送出固定が解除されるまで繰り返し行なわれる。
また、ＣＡ１０において、ＣＰＵ１０１（ＦＰＧＡリコンフィグレーション通知部１１４）は、ＣＭ２０に対して、ＦＰＧＡリコンフィグレーション開始通知を行なう。
図５に示す例においては、ＣＰＵ１０１は、ＳＥＱ＃０としてホスト２のＣＨ＃０に対するＵＤシーケンス信号／ＵＤＲシーケンス信号の送受信の開始後に、ポート（Ｐｏｒｔ）＃０のＦＰＧＡ１０３のＦＰＧＡリコンフィグレーション開始通知を送信している（符号Ａ２−３参照）。又、ＣＰＵ１０１は、ＳＥＱ＃１としてホスト２のＣＨ＃１に対するＵＤシーケンス信号／ＵＤＲシーケンス信号の送受信の開始後に、ポート＃１のＦＰＧＡ１０３のＦＰＧＡリコンフィグレーション開始通知を送信している（符号Ａ２−４参照）。
【００６２】
ＣＭ２０においては、ＦＰＧＡリコンフィグレーション開始通知を契機に、ＣＡ１０の切り離しを行なう（符号Ａ３参照）。すなわち、ＣＡ１０を監視対象から除外する。
ＣＡ１０において、ＣＰＵ１０１がＰＬＤ１０２（コンフィグレーション処理部１１６）に対して、ＦＰＧＡ１０３のリコンフィグレーションを実施させる。ＦＰＧＡ１０３のリコンフィグレーションが完了すると、コンフィグレーション処理部１１６は、ＣＰＵ１０１に対して、ＦＰＧＡ１０３のコンフィグレーション完了確認を通知する（符号Ａ４参照）。
【００６３】
その後、ＣＡ１０において、ＣＰＵ１０１（ＦＰＧＡリコンフィグレーション通知部１１４）は、ＣＭ２０に対して、ＦＰＧＡリコンフィグレーション完了通知を行なう。
図５に示す例においては、ＣＰＵ１０１は、ポート＃０，＃１のそれぞれについて、ＦＰＧＡ１０３のＦＰＧＡリコンフィグレーション完了通知をＣＭ２０に送信している（符号Ａ５参照）。
【００６４】
ＣＭ２０においては、ＦＰＧＡリコンフィグレーション完了通知を契機に、ＣＡ１０の組み込み処理を行なう（符号Ａ６参照）。すなわち、ＣＡ１０を監視対象に設定する。
ＣＡ１０において、ＣＰＵ１０１は、ＰＬＤ１０２（ＵＤシーケンス送出部１１３）に対して、ＵＤシーケンス信号の送出固定解除を依頼する（符号Ａ７参照）。  図５に示す例においては、ＰＬＤ１０２は、ＳＥＱ＃０，＃１のそれぞれについて、ＵＤシーケンス信号の送出固定解除を依頼している。
【００６５】
その後、ＣＡ１０において、ＰＬＤ１０２は、ホスト２に対して、ＵＤシーケンス信号に代えて通常の処理のフレーム送出を行なう。
次に、本実施形態の一例としてのストレージシステム１におけるＦＰＧＡ１０３のリコンフィグレーション処理を、図６に示すフローチャート（ステップＳ１〜Ｓ１４）に従って説明する。
【００６６】
先ず、ステップＳ１において、ＣＡ１０のＣＰＵ１０１（制御部１１７）は、ＣＭ２０とのＩ／Ｆ処理を全て終結させる指示を行なう。制御部１１７は、ＦＰＧＡ１０３に対してＤＭＡ転送の停止を指示し、ＦＰＧＡ１０３は、このＤＭＡ転送停止指示に基づき、ＤＭＡ転送を停止する。
ステップＳ２において、ＣＡ１０のＣＰＵ１０１（制御部１１７）は、ＣＭ２０とのＩ／Ｆ処理が全て終結したかを確認する。ＣＭ２０とのＩ／Ｆ処理が全て終結した場合には（ステップＳ２のＹＥＳルート参照）、ステップＳ３において、ＣＰＵ１０１は、ＦＰＧＡ１０３に対してＤＭＡ転送の停止を指示し、ＤＭＡ転送を停止させる。
【００６７】
また、ステップＳ４において、ＣＰＵ１０１がＰＬＤ１０２（ＦＰＧＡリコンフィグレーション通知部１１４）に対して、ＦＰＧＡリコンフィグレーション開始通知を指示する。この指示に従い、ＦＰＧＡリコンフィグレーション通知部１１４は、ＣＭ２０に対して、ＦＰＧＡリコンフィグレーション開始通知を送信する。
ＦＰＧＡリコンフィグレーション開始通知を受信したＣＭ２０は、ＣＡ１０を使用不可の状態にする。これにより、ＣＭ２０からＣＡ１０に対する通信が抑止され、ＣＭ２０においては、ＣＡ１０との間で通信エラーが検出されることがない。
【００６８】
ステップＳ５において、ＣＰＵ１０１（制御部１１７）は、ＣＭ２０の応答が正常であるか否かを確認する。ＣＭ２０の応答が正常な場合には（ステップＳ５のＹＥＳルート参照）、ステップＳ６において、ＣＰＵ１０１は、ＰＬＤ１０２（ＵＤシーケンス送出部１１３）をＵＤシーケンス信号送出状態に設定させる。この指示に従い、ＵＤシーケンス送出部１１３は、ＵＤシーケンス信号を送出状態に設定し、これにより、ホストパスをビジー状態にする。ホストパスがビジー状態においては、ホスト２はパス切れを認識することはない。
【００６９】
ステップＳ７において、ＣＡ１０のＰＬＤ１０２（コンフィグレーション処理部１１６）は、ＦＰＧＡ１０３のリコンフィギュレーションを行なう。
ステップＳ８において、ＣＰＵ１０１（制御部１１７）は、ＦＰＧＡ１０３のリコンフィグレーションが完了したかを確認する。ＦＰＧＡリコンフィグレーションが完了すると（ステップＳ８のＹＥＳルート参照）、ステップＳ９において、ＣＰＵ１０１（制御部１１７）は、ＰＬＤ１０２（ＦＰＧＡリコンフィグレーション通知部１１４）に、ＣＭ２０に対してＦＰＧＡリコンフィグレーションの完了を通知させる。ＦＰＧＡリコンフィグレーション通知部１１４は、ＣＭ２０に対してＦＰＧＡリコンフィグレーション完了通知を送信する。
【００７０】
その後、ステップＳ１０において、ＣＰＵ１０１（制御部１１７）は、ＣＭ２０の応答が正常であるか否かを、再度、確認する。ＣＭ２０の応答が正常な場合には（ステップＳ１０のＹＥＳルート参照）、ステップＳ１１において、ＣＰＵ１０１（制御部１１７）は、ＰＬＤ１０２（ＵＤシーケンス送出部１１３）をＵＤシーケンス信号送出状態から解除させる。この指示に従い、ＵＤシーケンス送出部１１３は、ＵＤシーケンス送出状態を解除し、ホストパスのビジー状態を解除する。ホストパスのビジー状態が解除されたことにより、ホスト２とストレージ装置１００との間において、通信線５１を介してデータ処理が可能となる。これにより、ＦＰＧＡ１０３のリコンフィグレーション処理は終了する。
【００７１】
一方、ＣＭ２０とのＩ／Ｆ処理が全て終結していない場合には（ステップＳ２のＮＯルート参照）、ステップＳ１２において、ＣＰＵ１０１（制御部１１７）は、ＣＭ２０とのＩ／Ｆ処理を終結させる指示がタイムアウトとなったか否かを確認する。
ＣＭ２０とのＩ／Ｆ処理を終結させる指示がタイムアウトとなっていない場合には（ステップＳ１２のＮＯルート参照）、ステップＳ２に戻る。ＣＭ２０とのＩ／Ｆ処理を終結させる指示がタイムアウトとなった場合には（ステップＳ１２のＹＥＳルート参照）、ステップＳ１４において、ＣＰＵ１０１（制御部１１７）は、ＣＭ２０に対してエラー通知を行なう。エラー通知を受信したＣＭ２０はＣＡ１０をハードリセットしてリブートすることで、ＦＰＧＡのソフトエラー状態から復旧させ、処理を終了する。
【００７２】
また、ステップＳ８において、ＦＰＧＡリコンフィグレーションが完了していない場合には（ステップＳ８のＮＯルート参照）、ステップＳ１３において、ＣＰＵ１０１（制御部１１７）は、ＦＰＧＡ１０３のリコンフィグレーション処理がタイムアウトしたかを判断部１３する。ＦＰＧＡ１０３のリコンフィグレーションを開始してから所定時間を経過してもリコンフィグレーション処理が完了していない、すなわち、タイムアウトが発生した場合には（ステップＳ１３のＹＥＳルート参照）、ステップＳ１４に移行する。又、ステップＳ５，Ｓ１０において、ＣＭ２０の正常に応答していないと判断された場合にも（ステップＳ５，Ｓ１０のＮＯルート参照）、ステップＳ１４に移行する。
【００７３】
リコンフィグレーション処理がタイムアウトしていない場合には（ステップＳ１３のＮＯルート参照）、ステップＳ８に戻る。
このように、実施形態の一例としてのストレージシステム１によれば、ＦＰＧＡ１０３に発生したソフトエラーを効率的に解消することができる。
すなわち、ＦＰＧＡ１０３のリコンフィギュレーションを行なう際に、ＰＬＤ１０２（ＵＤシーケンス送出部１１３）がホスト２に対してＵＤシーケンス信号を送出状態とする。又、この際、ＣＡ１０をハードリセットする必要もない。これにより、ホスト２がＵＤＲシーケンス信号を応答し、ホスト２とＣＡ１０との間のホストパスがビジー状態になり、ホスト２がホストパスのパス切れを認識することを抑止する。従って、活性でＦＰＧＡ１０３のリコンフィグレーションを行なっても、ホスト２がホストパスのパス切れを認識することがない。すなわち、オペレータや保守作業員がホストパスのオンライン処理作業を行なう必要がなく、ＦＰＧＡ１０３のリコンフィグレーション後に速やかに本ストレージシステム１を復旧させることができる。又、ホスト２からオペレータ等にエラー通知がされないので、オペレータ等の作業工数を低減することができ効率的である。
【００７４】
また、ＦＰＧＡ１０３のリコンフィギュレーションを行なう際に、ＰＬＤ１０２（コンフィグレーション処理部１１６）が、ＣＭ２０に対して、ＦＰＧＡリコンフィグレーション開始通知を行なう。ＦＰＧＡリコンフィグレーション開始通知を受信したＣＭ２０は、ＣＡ１０を監視対象から除外して使用不可の状態に設定する。これにより、活性でＦＰＧＡ１０３のリコンフィグレーションを行なっても、ＣＭ２０がＣＡ１０（ＦＰＧＡ１０３）のエラーを検知することがなく、ＣＭ２０からＣＡ１０の故障通知の発行が抑止される。又、ＦＰＧＡ１０３のリコンフィグレーションを行なう際に、ＣＡ１０においては、ＣＰＵ１０１（制御部１１７）は、ＣＭ２０とのＩ／Ｆ処理を全て終結させるので、ＣＡ１０とＣＭ２０との間で新たなＩ／Ｆ処理が実施されない。これによっても、ＣＭ２０がＦＰＧＡ１０３のリコンフィグレーション中にＣＡ１０のエラーを検知することがない。
【００７５】
すなわち、ＣＭ２０からオペレータや保守作業員等にエラー通知がされないので、保守作業員等が、実際には不要なＣＡ１０等の部品交換作業を行なうことも抑止することができ、効率的であり、又、経済的である。
また、ＣＡ１０のハードリセットを行なわないので、ホストパスのオンライン処理作業を行なう必要がなく、ＦＰＧＡ１０３のリコンフィグレーション後に速やかに本ストレージシステム１を復旧させることができる。
【００７６】
ＦＰＧＡ１０３のリコンフィグレーション時において、ホスト２やＣＭ２０がＣＡ１０のエラーを検知する数が低減されるので、本ストレージシステム１における故障発生率を低下させることもできる。
ＵＤシーケンス送出部１１３がＵＤシーケンス信号をホスト２に送出状態にすることで、ホストパスをビジー状態にする。これにより、例えば、ホストＩ／Ｆ処理に専用のプロトコルチップを備えない装置においても実現することができ、汎用性が高い。
【００７７】
また、ホストパスのビジー状態を、ＵＤシーケンス信号の送出状態を解除することで解消させることができる。又、ホストパスのビジー状態の解消をオペレータ等が介在することなく実現することができる。すなわち、処理を単純化することができ利便性が高く、又、処理時間を短縮することができる。
ＦＰＧＡ１０３において発生したソフトエラーの解消を短時間で実現することができ、システムの運用効率を向上させることができる。
【００７８】
また、ＦＰＧＡ１０３のソフトエラーを、活性でＦＰＧＡ１０３のリコンフィギュレーションを行なうことにより復旧することが可能となり利便性が高い。
さらに、ＦＰＧＡ１０３のリコンフィグレーションを行なう際に、ＣＡ１０−ＣＭ２０間のＤＭＡ転送を停止させたり、又、ＣＭ２０に対して、ＦＰＧＡリコンフィグレーション開始通知やＦＰＧＡリコンフィグレーション完了通知を送信する。これにより、ホストＩ／Ｆアクセス処理を担当するＣＡ１０と、ディスクアクセス処理を担当するＣＭ２０とが分かれていても、活性でＦＰＧＡリコンフィギュレーション処理により復旧することが可能となる。
【００７９】
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
例えば、上述した実施形態においては、ＣＡ１０において、ＰＬＤ１０２（ＵＤシーケンス送出部１１３）は、ＵＤシーケンス信号を送出状態に設定することにより、ホストパスをビジー状態にしているが、これに限定されるものではない。ＣＡ１０からホスト２に対してＵＤシーケンス信号を送出する手法に代えて、他の手法を用いてホストパスをビジー状態にしてもよく、適宜変更して実施することができる。
【００８０】
また、上述した実施形態においては、ストレージ制御装置２００のＣＡ１０に備えられたＦＰＧＡ１０３のソフトエラーを解消するためのＦＰＧＡリコンフィグレーションについて示している。しかしながら、これに限定されるものではなく、種々の情報処理装置に備えられたＦＰＧＡのリコンフィグレーションに適用してもよい。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
【００８１】
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
通信装置により上位装置に接続され、記憶装置に対するデータアクセスを制御するストレージ制御装置であって、
プログラマブル論理回路が備える設定情報用メモリのソフトエラーを検出する検出部と、
前記通信装置と前記上位装置との通信パスの状態を変移させる通信制御部と、
前記プログラマブル論理回路の前記設定情報用メモリの修復処理を行なう修復処理部と、
を備え、
前記検出部がソフトエラーを検出すると、前記通信制御部は、前記通信装置と前記上位装置との通信パスの状態をビジー状態に変移させることを特徴とする、ストレージ制御装置。
【００８２】
（付記２）
前記通信制御部が、前記通信装置から前記上位装置に対して通信制御信号の送信を開始することにより、前記通信装置と前記上位装置との通信パスの状態をビジー状態に変移させることを特徴とする、付記１記載のストレージ制御装置。
（付記３）
前記検出部がソフトエラーを検出すると、前記上位装置と通信する前記通信装置を管理する制御装置に対して前記通信装置を監視対象から除外する処理を行なう第１処理部と、
前記修復処理部による前記設定情報用メモリの修復処理の完了後に、前記制御装置に対して前記通信装置を監視対象にさせる処理を行なう第２処理部と
を備えることを特徴とする、付記１又は２記載のストレージ制御装置。
【００８３】
（付記４）
通信装置により上位装置に接続され、記憶装置に対するデータアクセスを制御するストレージ制御装置であって、
プログラマブル論理回路が備える設定情報用メモリのソフトエラーを検出する検出部と、
前記通信装置を管理する管理装置に対して前記通信装置を監視対象から除外する処理を行なう処理部と、
前記プログラマブル論理回路の前記設定情報用メモリの修復処理を行なう修復処理部とを備え、
前記検出部がソフトエラーを検出すると、前記処理部は、前記管理装置に対して前記通信装置を監視対象から除外する処理を行なうことを特徴とする、ストレージ制御装置。
【００８４】
（付記５）
前記検出部が前記ソフトエラーを検出すると、前記処理部は、前記制御装置に対して第１通知信号を送信することにより、前記通信装置を前記制御装置において監視対象から除外し、
前記修復処理部が前記修復処理が完了すると、前記処理部は、前記通信装置から前記制御装置に対して第２通知信号を送信することにより、前記通信装置を前記制御装置において監視対象に設定することを特徴とする、付記４記載のストレージ制御装置。
【００８５】
（付記６）
前記検出部が前記ソフトエラーを検出すると、前記制御装置に対してデータ転送処理を停止させる転送抑止部を備えることを特徴とする、付記３〜５のいずれか１項に記載のストレージ制御装置。
（付記７）
プログラマブル論理回路が備える設定情報用メモリのソフトエラーを検出する処理と、
前記ソフトエラーを検出すると、通信装置と上位装置との通信パスの状態をビジー状態に変移させる処理と、
前記プログラマブル論理回路の前記設定情報用メモリの修復処理を行なう処理と
を備えることを特徴とする、プログラマブル論理回路の復旧処理方法。
【００８６】
（付記８）
前記通信装置から前記上位装置に対して通信制御信号の送信を開始することにより、前記通信装置と前記上位装置との通信パスの状態をビジー状態に変移させることを特徴とする、付記７記載のプログラマブル論理回路の復旧方法。
（付記９）  前記ソフトエラーを検出すると、前記上位装置と通信する前記通信装置を管理する制御装置において、前記通信装置を監視対象から除外する処理と、
前記修復処理が完了すると、前記制御装置において前記通信装置を監視対象とする処理と
を備えることを特徴とする、付記７又は８記載のプログラマブル論理回路の復旧処理方法。
【００８７】
（付記１０）
プログラマブル論理回路が備える設定情報用メモリのソフトエラーを検出する処理と、
上位装置と通信する通信装置を管理する制御装置において、前記通信装置を監視対象から除外する処理と、
前記プログラマブル論理回路の前記設定情報用メモリの修復処理を行なう処理と、
を備え、
前記ソフトエラーを検出すると、前記制御装置において前記通信装置を監視対象から除外する処理を行なう
ことを特徴とする、プログラマブル論理回路の復旧処理方法。
【００８８】
（付記１１）
前記ソフトエラーを検出すると、前記通信装置から前記制御装置に対して第１通知信号を送信する処理と、
前記第１通知信号に基づき、前記制御装置において前記通信装置を監視対象から除外する処理と、
前記修復処理が完了すると、前記通信装置から前記制御装置に対して第２通知信号を送信する処理と、
前記第２通知信号に基づき、前記制御装置において前記通信装置を監視対象に設定する処理と
を備えることを特徴とする、付記１０記載のプログラマブル論理回路の復旧処理方法。
【００８９】
（付記１２）
前記ソフトエラーを検出すると、前記制御装置に対してデータ転送処理を停止させる処理を備えることを特徴とする、付記９〜１１のいずれか１項に記載のプログラマブル論理回路の復旧処理方法。
（付記１３）
プログラマブル論理回路が備える設定情報用メモリのソフトエラーを検知し、
前記ソフトエラーを検知すると、通信装置と上位装置との通信パスの状態をビジー状態に変移させ、
前記プログラマブル論理回路の前記設定情報用メモリの修復処理を行なう、
処理をコンピュータに実行させることを特徴とする制御プログラム。
【００９０】
（付記１４）
前記通信装置から前記上位装置に対して通信制御信号の送信を開始することにより、前記通信装置と前記上位装置との通信パスの状態をビジー状態に変移させることを特徴とする、付記１３記載の制御プログラム。
（付記１５）
前記ソフトエラーを検知すると、前記上位装置と通信する前記通信装置を管理する制御装置において、前記通信装置を監視対象から除外させ、
前記設定情報用メモリの修復処理の完了後に、前記制御装置において前記通信装置を監視対象にさせることを特徴とする、付記１３又は１４記載の制御プログラム。
【００９１】
（付記１６）
プログラマブル論理回路が備える設定情報用メモリのソフトエラーを検知し、
前記ソフトエラーを検知すると、上位装置と通信する通信装置を管理する制御装置において、前記通信装置を監視対象から除外し、
前記プログラマブル論理回路の前記設定情報用メモリの修復処理を行なう、
処理をコンピュータに実行させることを特徴とする、制御プログラム。
【００９２】
（付記１７）
前記ソフトエラーを検知すると、前記制御装置に対して第１通知信号を送信することにより、前記通信装置を前記制御装置において監視対象から除外させ、
前記修復処理が完了すると、前記通信装置から前記制御装置に対して第２通知信号を送信することにより、前記通信装置を制御装置において監視対象に設定させる
ことを特徴とする、付記１６記載の制御プログラム。
【００９３】
（付記１８）
前記ソフトエラーを検知すると、前記制御装置に対してデータ転送処理を停止させる
ことを特徴とする、付記１５〜１７のいずれか１項に記載の制御プログラム。
（付記１９）
プログラマブル論理回路が備える設定情報用メモリのソフトエラーを検知し、
前記ソフトエラーを検知すると、通信装置と上位装置との通信パスの状態をビジー状態に変移させ、
前記プログラマブル論理回路の前記設定情報用メモリの修復処理を行なう、
処理をコンピュータに実行させることを特徴とする制御プログラムを記録したコンピュータ読取可能な記録媒体。
【００９４】
（付記２０）
前記通信装置から前記上位装置に対して通信制御信号の送信を開始することにより、前記通信装置と前記上位装置との通信パスの状態をビジー状態に変移させることを特徴とする、付記１９記載の制御プログラムを記録したコンピュータ読取可能な記録媒体。
【符号の説明】
【００９５】
１    ストレージシステム
２    ホスト（上位装置）
１０，１０ａ，１０ｂ    ＣＡ（通信装置）
２０    ＣＭ（制御装置，管理装置）
２１，１０１，２０１    ＣＰＵ
２２    チャネル
３０    ＨＤＤ
５１，５２    通信線
１０２    ＰＬＤ
１０３    ＦＰＧＡ（プログラマブル論理回路）
１０４    ＰＣＩｅスイッチ
１０５    光モジュール
１１１    ＣＣＷコマンド処理部
１１２    ＣＣＷコマンド発行部
１１３    ＵＤシーケンス送出部（第１通信制御部，第２通信制御部）
１１４    リコンフィグレーション通知部（処理部，第１処理部，第２処理部）
１１５    検出部
１１６    コンフィグレーション処理部（修復処理部）
１１７    制御部（転送抑止部）
２００    ストレージ制御装置
２１１    ＣＡ管理部
【図１】
2014071576.tif 000003
【図２】
2014071576.tif 000004
【図３】
2014071576.tif 000005
【図４】
2014071576.tif 000006
【図５】
2014071576.tif 000007
【図６】
2014071576.tif 000008
【図７】
2014071576.tif 000009
【図８】
2014071576.tif 000010