JP5152603B2 - ディスクアレイ装置及びそのファームウェア更新方法 - Google Patents

ディスクアレイ装置及びそのファームウェア更新方法 Download PDF

Info

Publication number
JP5152603B2
JP5152603B2 JP2010225110A JP2010225110A JP5152603B2 JP 5152603 B2 JP5152603 B2 JP 5152603B2 JP 2010225110 A JP2010225110 A JP 2010225110A JP 2010225110 A JP2010225110 A JP 2010225110A JP 5152603 B2 JP5152603 B2 JP 5152603B2
Authority
JP
Japan
Prior art keywords
controller
firmware
update
data
update process
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.)
Active
Application number
JP2010225110A
Other languages
English (en)
Other versions
JP2012079175A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2010225110A priority Critical patent/JP5152603B2/ja
Priority to US13/248,482 priority patent/US8713553B2/en
Publication of JP2012079175A publication Critical patent/JP2012079175A/ja
Application granted granted Critical
Publication of JP5152603B2 publication Critical patent/JP5152603B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/325Display of status information by lamps or LED's
    • G06F11/326Display of status information by lamps or LED's for error or online/offline status

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、コントローラ等のファームウェアを更新するディスクアレイ装置及びそのファームウェア更新方法に関する。
従来、ディスクアレイ装置におけるコントローラのファームウェアの更新処理は、不具合修正や機能強化などを行う際に実施され、その更新頻度は高い。しかしながら、従来のディスクアレイ装置におけるコントローラのファームウェアの更新処理では、ファームウェア更新中の障害発生などによりファームウェアの書き込みに失敗すると、コントローラの基盤交換が必要となるという問題がある。
このような課題を解決するための装置として、例えば、ファームウェアが書き込まれる媒体を二重に備え、それぞれの媒体に格納されるファームウェアの正常性を定期的に判断し、動作しているファームウェアに障害が発生した場合には、別の媒体に格納されている障害のないファームウェアに動作を切り替えるという方式の装置が存在する。このような方式の装置として、例えば、特許文献1の情報処理装置が開示されている。
具体的に、特許文献1の情報処理装置は、書き替え可能なメモリに格納された運用ファームウェア、その運用ファームウェアで動作するCPU、運用ファームウェアの1世代前若しくは動作実績のあるファームウェアである修復用ファームウェアを格納する不揮発性メモリ及び監視装置がシステムバスにより接続されたモジュールn個と、システム監視装置とを備えている。
特許文献1の情報処理装置では、現在運用している運用ファームウェアでの障害を監視装置が検出したとき、当該監視装置がシステム監視装置に障害を検出したことを通知し、その後、システム監視装置が、n個全てのモジュールの監視装置に対してファームウェアの切り替えを要求する。そして、特許文献1の情報処理装置では、n個全てのモジュールの監視装置が運用ファームウェアを修復用ファームウェアに切り替え、その後、システム監視装置がn個全てのモジュールを正常に再起動する。
特開2004−199120号公報
しかしながら、特許文献1の情報処理装置では、運用ファームウェア及び修復用ファームウェアを備えなければならないために、ファームウェアを格納する媒体が2個必要となり、部品コストの増大や、ハードウェア実装面において実装面積が余計に必要となるという問題がある。
本発明は以上の点を考慮してなされたものであり、信頼性を向上させ得るディスクアレイ装置及びそのファームウェア更新方法を提案するものである。
かかる課題を解決するために本発明は、ホスト装置から送信される要求又はデータに対して所定の処理を実行する第1のコントローラと、前記第1のコントローラと冗長構成されている第2のコントローラと、を備え、前記第1のコントローラ及び前記第2のコントローラは、それぞれファームウェアを格納するための格納領域を備え、前記第1のコントローラ及び前記第2のコントローラは、いずれも動作状態であり、前記第1のコントローラは、前記第1のコントローラのファームウェアのうち更新すべき部分である更新部分の更新処理が失敗したときに、前記第2のコントローラのファームウェアの更新部分の更新処理についても失敗したか否かを確認し、前記第2のコントローラの前記ファームウェアの更新部分の更新処理が正常に完了している場合には、前記第2のコントローラの更新部分のファームウェアデータを取得して、前記第1のコントローラの更新部分のファームウェアデータを前記第2のコントローラの更新部分のファームウェアデータに書き換えることを特徴とする。
また、本発明は、ホスト装置から送信される要求又はデータに対して所定の処理を実行する第1のコントローラと、前記第1のコントローラと冗長構成されている第2のコントローラと、を有し、前記第1のコントローラ及び前記第2のコントローラは、それぞれファームウェアを格納するための格納領域を有し、前記第1のコントローラ及び前記第2のコントローラは、いずれも動作状態であるディスクアレイ装置のファームウェア更新方法であって、前記第1のコントローラが、前記第1のコントローラのファームウェアのうち更新すべき部分である更新部分の更新処理が失敗したときに、前記第2のコントローラのファームウェアの更新部分の更新処理についても失敗したか否かを確認する第1のステップと、前記第2のコントローラの前記ファームウェアの更新部分の更新処理が正常に完了している場合には、前記第2のコントローラの更新部分のファームウェアデータを取得して、前記第1のコントローラの更新部分のファームウェアデータを前記第2のコントローラの更新部分のファームウェアデータに書き換える第2のステップと、を備えることを特徴とする。
さらに、本発明は、ホスト装置から送信される要求又はデータに対して所定の処理を実行するコントローラを備え、前記コントローラは、ファームウェアを格納するための格納領域を備え、保守端末から送信されるファームウェア更新データに基づいて、前記ファームウェアの更新すべき部分である更新部分の更新処理を実行し、前記ファームウェアの更新部分の更新処理が失敗したときに、前記保守端末からファームウェア更新データを再度取得して、前記のファームウェアの更新部分の更新処理を再度実行することを特徴とする。
従って、ディスクアレイ装置のコントローラのファームウェアを更新する際に、ファームウェアデータを二重に備えることなく、ファームウェアの更新失敗時に自動的に復旧を行うことができる。
本発明によれば、信頼性を向上させ得るディスクアレイ装置及びそのファームウェア更新方法を実現することができる。
ストレージシステムのハードウェア構成を示すブロック図の一例である。 ファームウェアの説明に供する概念図の一例である。 ファームウェア更新処理手順を示すフローチャートの一例である。 ファームウェア更新処理手順を示すフローチャートの一例である。
以下、本発明の一実施形態を、図面を参照して詳細に説明する。なお、これにより本発明が限定されるものではない。
(構成)
図1は、本実施の形態によるストレージシステム1のハードウェア構成の一例を示している。ストレージシステム1は、複数のホスト装置2、ディスクアレイ装置3、保守端末4及び記憶装置5を備えて構成されている。記憶装置5は、複数の磁気ディスク装置6を備えて構成されている。
ホスト装置2は、例えば、CPU(Central Processing Unit)やメモリ等の情報処理資源、情報入力装置、情報出力装置を備えたコンピュータ装置である。ホスト装置2は、所定のネットワークを介してディスクアレイ装置3と接続されている。所定のネットワークとしては、例えば、LAN(Local Area Network)、SAN(Storage Area Network)、インターネット、専用回線、公衆回線等を場合に応じて適宜用いることができる。
ホスト装置2は、例えば、書き込み要求をディスクアレイ装置3に送信して、対応するデータを記憶装置5の磁気ディスク装置6に書き込む。また、ホスト装置2は、例えば、読み出し要求をディスクアレイ装置3に送信して、対応するデータを記憶装置5の磁気ディスク装置6から読み出す。
ディスクアレイ装置3は、例えば、ホスト装置2から送信される各種要求に対する制御を行うコントローラである第1のホストディレクタ(HD)11A及び第2のホストディレクタ11B、キャッシュメモリ31A、31B(後述)を制御するコントローラである第1のキャッシュモジュール(CHE)12A及び第2のキャッシュモジュール12B、記憶装置5の磁気ディスク装置6を制御するコントローラである第1のディスクディレクタ(DD)13A及び第2のディスクディレクタ13B並びに保守端末4から送信される要求に基づいて保守サービス機能を提供するコントローラである第1のサービスプロセッサ(SVP)14A及び第2のサービスプロセッサ14Bを備えて構成されている。
第1のホストディレクタ11A及び第2のホストディレクタ11Bは、冗長構成されている。第1のキャッシュモジュール12A及び第2のキャッシュモジュール12Bは、冗長構成されている。第1のディスクディレクタ13A及び第2のディスクディレクタ13Bは、冗長構成されている。第1のサービスプロセッサ14A及び第2のサービスプロセッサ14Bは、冗長構成されている。
なお、以下については、第1、第2のホストディレクタ11A、11B、第1、第2のキャッシュモジュール12A、12B、第1、第2のディスクディレクタ13B及び第1、第2のサービスプロセッサ14A、14Bを、まとめて、「各コントローラ」と表現する場合がある。各コントローラは、それぞれ1ペアの冗長構成であるが、複数ペアによる冗長構成であっても良く、容易に拡張することができる。
第1のホストディレクタ11Aは、ホスト装置制御部21A、マイクロプロセッサ22A、FROM(Flash ROM)(格納領域)23A、RAM(Random Access Memory)24A、通信制御部25A及びLED制御部26Aを備えて構成されている。第1のホストディレクタ11Aは、所定のケーブルを介して第1のキャッシュモジュール12Aと接続されている。
ホスト装置制御部21Aは、ホスト装置2から送信される各種要求や、第1のキャッシュモジュール12Aから送信される応答をマイクロプロセッサ22Aに送信する。ホスト装置制御部21Aは、ホスト装置2から送信されるデータを第1のキャッシュモジュール12A又はホスト装置2に送信する。ホスト装置制御部21Aは、ホスト装置2から送信される各種要求に対する応答をホスト装置2に送信し、ホスト装置2から送信される各種要求に基づく指示を第1のキャッシュモジュール12Aに送信する。
マイクロプロセッサ22Aは、ホスト装置制御部21Aから送信される各種要求や通信制御部25Aから送信される指示を解釈して、ホスト装置制御部21A、FROM23A、RAM24A、通信制御部25A及びLED制御部26Aを制御し、指示、応答を行う。
FROM23Aは、例えば、不揮発性記憶媒体である。FROM23Aには、例えば、1つのファームウェア27(後述)が組み込まれて格納されている。ファームウェア27は、ファームウェア更新データ28(後述)によって更新される。RAM24Aは、例えば、揮発性記憶媒体である。RAM24Aには、FROM23Aに格納されているファームウェア27(後述)や、各種制御プログラムや各種アプリケーションソフトウェア等が、マイクロプロセッサ22Aに実行されるために展開される。
通信制御部25Aは、各通信制御部25B、36A、36B、45A、45B、55A、55Bと内部バス29を介して通信可能に接続されており、当該各通信制御部との間で指示や応答、データ等を送受信する。LED制御部26Aは、第1のホストディレクタ11Aの稼動状態等をLEDの点滅により示す。
第2のホストディレクタ11Bは、第1のホストディレクタ11Aと同様に構成されている。なお、第2のホストディレクタ11Bの各構成要素には、第1のホストディレクタ11Aの構成要素の同一部分について、同一符号の添え字「A」に代えて、添え字「B」が付されている。
第1のキャッシュモジュール12Aは、キャッシュメモリ31A、キャッシュ制御部32A、マイクロプロセッサ33A、FROM34A、RAM35A、通信制御部36A及びLED制御部37Aを備えて構成されている。第1のキャッシュモジュール12Aは、所定のケーブルを介して第1のディスクディレクタ13Aと接続されている。
キャッシュメモリ31Aは、例えば、揮発性記憶媒体である。キャッシュメモリ31Aには、第1のキャッシュモジュール12A及び第1のディスクディレクタ13Aから送信されるデータが一時的に格納される。
キャッシュ制御部32Aは、第1のホストディレクタ11Aから送信される指示や、第1のディスクディレクタ13Aから送信される応答をマイクロプロセッサ33Aに送信する。キャッシュ制御部32Aは、キャッシュメモリ31Aに格納されたデータを所定のタイミングで第1のディスクディレクタ13A又は第1のホストディレクタ11Aに送信する。キャッシュ制御部32Aは、第1のホストディレクタ11Aから送信される指示に対する応答を第1のホストディレクタ11Aに送信し、第1のホストディレクタ11Aから送信される指示に基づく指示を第1のディスクディレクタ13Aに送信する。
マイクロプロセッサ33Aは、キャッシュ制御部32Aや通信制御部36Aから送信される指示を解釈して、キャッシュ制御部32A、FROM34A、RAM35A、通信制御部36A及びLED制御部37Aを制御し、指示、応答を行う。
FROM34Aは、例えば、不揮発性記憶媒体である。FROM34Aには、例えば、1つのファームウェア27(後述)が組み込まれて格納されている。ファームウェア27は、ファームウェア更新データ28(後述)によって更新される。RAM35Aは、例えば、揮発性記憶媒体である。RAM35Aには、FROM34Aに格納されているファームウェア27(後述)や、各種制御プログラムや各種アプリケーションソフトウェア等が、マイクロプロセッサ33Aに実行されるために展開される。
通信制御部36Aは、各通信制御部25A、25B、36B、45A、45B、55A、55Bと内部バス29を介して通信可能に接続されており、当該各通信制御部との間で指示や応答、データ等を送受信する。LED制御部37Aは、第1のキャッシュモジュール12Aの稼動状態等をLEDの点滅により示す。
第2のキャッシュモジュール12Bは、第1のキャッシュモジュール12Aと同様に構成されている。なお、第2のキャッシュモジュール12Bの各構成要素には、第1のキャッシュモジュール12Aの構成要素の同一部分について、同一符号の添え字「A」に代えて、添え字「B」が付されている。
第1のディスクディレクタ13Aは、磁気ディスク制御部41A、マイクロプロセッサ42A、FROM43A、RAM44A、通信制御部45A及びLED制御部46Aを備えて構成されている。第1のディスクディレクタ13Aは、所定のケーブルを介して記憶装置5と接続されている。
磁気ディスク制御部41Aは、第1のキャッシュモジュール12Aから送信される指示や記憶装置5から送信される応答をマイクロプロセッサ42Aに送信する。ホスト装置制御部42Aは、記憶装置5から送信されるデータを第1のキャッシュモジュール12Aに送信する。磁気ディスク制御部41Aは、第1のキャッシュモジュール12Aから送信される指示に対する応答を第1のキャッシュモジュール12Aに送信し、磁気ディスク制御部41Aは、第1のキャッシュモジュール12Aから送信される指示に基づく指示を記憶装置5に送信する。
マイクロプロセッサ42Aは、第1のキャッシュモジュール12Aや通信制御部45Aから送信される指示を解釈して、磁気ディスク制御部41A、マイクロプロセッサ42A、FROM43A、RAM44A、通信制御部45A及びLED制御部46Aを制御し、指示、応答を行う。
FROM43Aは、例えば、不揮発性記憶媒体である。FROM43Aには、例えば、1つのファームウェア27(後述)が組み込まれて格納されている。ファームウェア27は、ファームウェア更新データ28(後述)によって更新される。RAM44Aは、例えば、揮発性記憶媒体である。RAM44Aには、FROM43Aに格納されているファームウェア27(後述)や、各種制御プログラムや各種アプリケーションソフトウェア等が、マイクロプロセッサ42Aに実行されるために展開される。
通信制御部45Aは、各通信制御部25A、25B、36A、36B、45B、55A、55Bと内部バス29を介して通信可能に接続されており、当該各通信制御部との間で各種要求やデータを送受信する。LED制御部46Aは、第1のディスクディレクタ13Aの稼動状態等をLEDの点滅により示す。
第2のディスクディレクタ13Bは、第1のディスクディレクタ13Aと同様に構成されている。なお、第1のディスクディレクタ13Bの各構成要素には、第1のディスクディレクタ13Aの構成要素の同一部分について、同一符号の添え字「A」に代えて、添え字「B」が付されている。
第1のサービスプロセッサ14Aは、保守I/F制御部51A、マイクロプロセッサ52A、FROM53A、RAM54A、通信制御部55A及びLED制御部56Aを備えて構成されている。第1のサービスプロセッサ14Aは、所定のケーブルを介して保守端末4と接続されている。
保守I/F制御部51Aは、保守端末4から送信される各種要求をマイクロプロセッサ52Aに送信する。保守I/F制御部51Aは、保守端末4から送信される各種要求に対する応答を第1の保守端末4に送信する。
マイクロプロセッサ52Aは、保守端末4から送信される各種要求や通信制御部55Aから送信される指示を解釈して、保守I/F制御部51A、マイクロプロセッサ52A、FROM53A、RAM54A、通信制御部55A及びLED制御部56Aを制御し、指示、応答を行う。
FROM53Aは、例えば、不揮発性記憶媒体である。FROM53Aには、例えば、1つのファームウェア27(後述)が組み込まれて格納されている。ファームウェア27は、ファームウェア更新データ28(後述)によって更新される。RAM54Aは、例えば、揮発性記憶媒体である。RAM54Aには、FROM53Aに格納されているファームウェア27(後述)や、各種制御プログラムや各種アプリケーションソフトウェア等が、マイクロプロセッサ52Aに実行されるために展開される。
通信制御部55Aは、各通信制御部25A、25B、36A、36B、45A、45B、55Bと内部バス29を介して通信可能に接続されており、当該各通信制御部との間で各種要求やデータを送受信する。LED制御部56Aは、第1のサービスプロセッサ14Aの稼動状態等をLEDの点滅により示す。
第2のサービスプロセッサ14Bは、第1のサービスプロセッサ14Aと同様に構成されている。なお、第2のサービスプロセッサ14Bの各構成要素には、第1のサービスプロセッサ14Aの構成要素の同一部分について、同一符号の添え字「A」に代えて、添え字「B」が付されている。
保守端末4は、ディスクアレイ装置3を保守又は管理するための端末装置である。保守端末4は、ホスト装置2からの各種要求又は保守員の操作に基づいて、例えば、ファームウェア27(後述)の更新要求やファームウェア更新データ28(後述)を送信し、その他種々の保守・管理処理を実行する。
記憶装置5の磁気ディスク装置6は、例えば、アレイ状に配列されたATA(Advanced Technology Attachment)ハードディスクドライブ、SATA(Serial-ATA)ハードディスクドライブ、SCSI(Small Computer System Interface)ハードディスクドライブ、SAS(Serial Attached SCSI)ハードディスクドライブ、ファイバチャネルハードディスクドライブ等の磁気ディスク装置である。
磁気ディスク装置6は、例えば、RAID方式で運用されたディスクデバイスが設定され、1又は複数のディスクデバイスにより提供される物理的な記憶領域上に、複数の論理ボリュームを設定することができる。そして、この場合、データは、見かけ上この論理ボリュームに記憶される。
図2は、ファームウェア27の一例を示した図である。ファームウェア27は、ブートローダ(Boot Loader)61、エマージェンシープログラム(Emergency Program)62、ヘッダ(Header)情報63、ファームウェアデータ64及びCRC(Cyclic Redundancy Check)65を含んで構成されている。
ブートローダ61は、ファームウェアデータ64が壊れている(ファームウェアデータ64のデータに誤りがある)か否かを判断するためのプログラムである。エマージェンシープログラム62は、ファームウェアデータ64が壊れている場合に、実行されるプログラムである。エマージェンシープログラム62は、内部バス29による通信制御と、ファームウェアデータ64の書込み制御と、LEDの点滅制御とを実行するための小さなプログラムである。ヘッダ情報63は、ファームウェアレビジョン情報や機種コード、ファームウェアデータ64のCRC情報などを含んで構成されている。ファームウェアデータ64は、ディスク制御装置3の各コントローラに所望の動作を実行させるためのプログラムであり、マイクロコードを含んで構成されている。CRC65は、ファームウェアデータ64が壊れているか否かをチェックするための情報である。
ここで、ディスク制御装置3の各コントローラの各FROMは、データを更新可能な更新部と、データを更新することができない非更新部とにより構成されている。ブートローダ61及びエマージェンシープログラム62は、非更新部に格納されている。ヘッダ情報63、ファームウェアデータ64及びCRC65は、更新部に格納されている。
ファームウェア更新データ28は、ファームウェア27の更新処理の際に、各FROMの更新部に格納されているファームウェアデータ64を更新するためのデータである。
(ファームウェア更新処理)
次に、本実施形態のストレージシステム1の動作について詳細に説明する。図3及び図4は、本実施形態のストレージシステム1のファームウェア更新処理を示すフローチャートである。
ディスクアレイ装置3は、保守端末4からファームウェア27の更新要求を受信すると、1ペアの冗長構成のうち片系ずつ更新処理を実行する。例えば、第1、第2のホストディレクタ11A、11Bの更新処理の場合には、第1のホストディレクタ11Aの更新処理が実行された後に、第2のホストディレクタ11Bの更新処理が実行される。
具体的に、第1のサービスプロセッサ14A又は第2のサービスプロセッサ14Bは、保守端末4からファームウェア27の更新要求及びファームウェア更新データ28を受信すると、図3及び図4に示すファームウェア更新処理手順RT1を開始して、ファームウェア27を更新すべき各コントローラにファームウェア更新データ28を送信する(ステップSP1)。
続いて、ファームウェア27を更新すべき各コントローラは、自己のコントローラが、冗長構成のコントローラのうち、0系のコントローラ(第1のコントローラ)であるか、1系のコントローラ(第2のコントローラ)であるか判断し、0系のコントローラである場合には、ファームウェア27の更新処理を実行する(ステップSP2)。
この場合、例えば、第1のホストディレクタ11A、第1のキャッシュモジュール12A、第1のディスクディレクタ13A及び第1のサービスプロセッサ14Aは、0系のコントローラとして設定されており、第2のホストディレクタ11B、第2のキャッシュモジュール12B、第2のディスクディレクタ13B及び第2のサービスプロセッサ14Bは、1系のコントローラとして設定されている。
続いて、0系のコントローラは、ファームウェア27の更新処理が完了するのを待機モードで待ち受ける(ステップSP3)。0系のコントローラは、ファームウェア27の更新処理が完了すると、対応する1系のコントローラにファームウェア27の更新処理が完了した旨の通知を送信する。
やがて、1系のコントローラは、0系のコントローラのファームウェア27の更新処理が完了すると(ステップSP3:YES)、ファームウェア27の更新処理を実行する(ステップSP4)。なお、1系のコントローラは、対応する0系のコントローラからファームウェア27の更新処理が完了した旨の通知を受信することにより、0系のコントローラのファームウェア27の更新処理が完了したことを認識する。
続いて、1系のコントローラは、ファームウェア27の更新処理が完了するのを待機モードで待ち受ける(ステップSP5)。1系のコントローラは、ファームウェア27の更新処理が完了すると、対応する0系のコントローラにファームウェア27の更新処理が完了した旨の通知を送信する。
ここで、0系のコントローラのファームウェア27の更新処理が実行されている場合には、1系のコントローラは、0系のコントローラのファームウェア27の更新処理を実行しない。従って、ファームウェア27の更新処理中に不意の電源切断などが発生し、ファームウェア27の更新処理が中断したことによって、0系のコントローラ及び1系のコントローラの双方のファームウェア27のファームウェアデータ64が同時に壊れるのを未然かつ有効に防止することができる。
やがて、各コントローラは、1系のコントローラのファームウェア27の更新処理が完了すると(ステップSP5:YES)、ファームウェア27を実行する(ステップSP6)。続いて、各コントローラは、ファームウェア27に障害が発生したか否かをチェックする(ステップSP7)。
具体的に、各コントローラは、ファームウェア27のブートローダ61を実行し、ヘッダ情報63のCRC情報とCRC65とが一致するか否かをチェックする。そして、各コントローラは、ヘッダ情報63のCRC情報とCRC65とが一致する場合には、ファームウェア27に障害が発生していないと判断する一方、ヘッダ情報63のCRC情報とCRC65とが一致しない場合には、ファームウェア27に障害が発生したと判断する。
そして、各コントローラは、ファームウェア27に障害が発生していない場合には(ステップSP7:NO)、ステップSP13に進み、ファームウェアデータ64を実行して(ステップSP13)、その後、図3及び図4に示すファームウェア更新処理手順RT1を終了する(ステップSP14)。
これに対して、各コントローラは、ファームウェア27に障害が発生した場合には(ステップSP7:YES)、エマージェンシープログラム62を実行して、ファームウェアデータ64が壊れていることを示すために、対応するLED制御部において所定のLED点滅パターンによりLED点滅制御を実行する(ステップSP8)。これにより、ファームウェア27に障害が発生した各コントローラは、ファームウェアデータ64が壊れていることを容易に外部に認識させることができる。
また、ファームウェア27に障害が発生した各コントローラは、自己の状態を示すレジスタ値に「ファームウェアデータ64が壊れていること」を示すコードを書き込む。なお、第1のサービスプロセッサ14A又は第2のサービスプロセッサ14Bは、各コントローラのレジスタ値を確認することにより各コントローラの稼働状態を認識することができる。また、第1のサービスプロセッサ14A又は第2のサービスプロセッサ14Bが各コントローラの稼働状態を認識することができることによって、保守端末4上においても、各コントローラの稼働状態を認識することができる。
続いて、ファームウェア27に障害が発生した各コントローラは、冗長構成の他方のコントローラのファームウェア27に障害が発生しているか否かをチェックする(ステップSP9)。そして、ファームウェア27に障害が発生した各コントローラは、冗長構成の他方のコントローラのファームウェア27に障害が発生している場合には(ステップSP9:YES)、その後、図3及び図4に示すファームウェア更新処理手順RT1を終了する(ステップSP14)。
ファームウェア27に障害が発生した各コントローラは、冗長構成の他方のコントローラのファームウェア27に障害が発生していない場合(ステップSP9:YES)、すなわち、他方のコントローラのファームウェア27が正常に更新されている場合には、冗長構成の他方のコントローラのファームウェアデータ64を受信する(ステップSP10)。
具体的に、ファームウェア27に障害が発生した各コントローラは、ファームウェア27が正常に更新されたか否かの確認要求を冗長構成の他方のコントローラに送信する。冗長構成の他方のコントローラは、ファームウェア27が正常に更新されているかを確認し、ファームウェア27が正常に更新されていない場合には、その旨の応答を、確認要求を送信したコントローラに送信する一方、ファームウェア27が正常に更新されている場合には、その旨及び正常に更新されたファームウェアデータ64を、確認要求を送信したコントローラに送信する。
続いて、ファームウェア27に障害が発生した各コントローラは、自己のファームウェア27に格納されているファームウェアデータ64を冗長構成の他方のコントローラから受信したファームウェア27に書き換える(ステップSP11)。続いて、ファームウェア27に障害が発生した各コントローラは、自己のコントローラをリブートし(ステップSP12)、ファームウェアデータ64を実行して(ステップSP13)、その後、図3及び図4に示すファームウェア更新処理手順RT1を終了する(ステップSP14)。
(動作及び効果)
このようにして、ストレージシステム1では、ファームウェア27に障害が発生した各コントローラが、冗長構成の他方のコントローラのファームウェア27に障害が発生しているか否かをチェックし、当該他方のコントローラのファームウェア27が正常に更新されている場合には、自己のファームウェア27に格納されているファームウェアデータ64を冗長構成の他方のコントローラから受信したファームウェア27に書き換える。
従って、ファームウェア27の更新に失敗した場合にも、コントローラの交換などの特別な作業を実施することなく、また、特殊なハードウェア構成にすることもなく、自動的にファームウェア27の更新失敗を復旧することができ、この結果、復旧作業者の作業時間の低減や、ハードウェアコストを低減することができる。
(他の実施例1)
次に、本発明の他の実施例について図面を参照して詳細に説明する。
他の実施例1では、冗長構成の他方のコントローラのファームウェア27にも障害が発生しており(ステップSP9:YES)、ファームウェア更新処理手順RT1を終了(ステップSP14)した後の処理について説明する。
この場合、ファームウェア27に障害が発生した各コントローラは、「ファームウェアデータ64が壊れており、かつ、自動的に復旧するのが不可であること」を示す特殊なLED点滅パターンで対応するLED制御部を点滅させる。なお、ファームウェア27に障害が発生した各コントローラは、自己の状態を示すレジスタ値に「ファームウェアデータ64が壊れており、かつ、自動的に復旧するのが不可であること」を示すコードを書き込む。
第1のサービスプロセッサ14A又は第2のサービスプロセッサ14Bは、内部バス29を介して各コントローラのレジスタ値を確認することにより各コントローラの稼働状態を認識することができる。第1のサービスプロセッサ14A又は第2のサービスプロセッサ14Bは、各コントローラのうち、「ファームウェアデータ64が壊れており、かつ、自動的に復旧するのが不可であること」を示すコードを書き込まれたコントローラを認識すると、その旨を保守端末4に送信して、保守操作にて該当するファームウェア27の復旧を行う必要があることを保守端末4の表示画面に表示させる。従って、保守端末4による保守操作時に、ファームウェア27の更新処理が失敗し、かつ、復旧操作が必要であることを保守端末4の保守作業員に容易に認識させることができる。
なお、ファームウェア27に障害が発生した各コントローラは、「ファームウェアデータ64が壊れており、かつ、自動的に復旧するのが不可であること」を示す旨を、対応するサービスプロセッサ14に通知するようにしても良い。
保守端末4は、保守作業員によりファームウェア27の更新の復旧操作がされると、第1のサービスプロセッサ14A又は第2のサービスプロセッサ14Bを介してファームウェア27を復旧すべきコントローラに、ファームウェア再更新要求及びファームウェア更新データ28を再度送信する。
そして、ファームウェア27に障害が発生した各コントローラは、第1のサービスプロセッサ14A又は第2のサービスプロセッサ14Bからファームウェア再更新指示及びファームウェア更新データ28を受信すると、ファームウェア27の更新処理を実行する。
このようにして、ストレージシステム1では、冗長構成の他方のコントローラのファームウェア27にも障害が発生している場合に、第1のサービスプロセッサ14A又は第2のサービスプロセッサ14Bが、ファームウェアデータ64が壊れており、かつ、自動的に復旧するのが不可である旨の通知を保守端末4に送信し、保守端末4からファームウェア更新データ28を再度受信して、ファームウェア27の更新処理を再度実行する。
従って、冗長構成の他方のコントローラにおいてもファームウェア27の更新処理が失敗した場合にも、保守端末4において煩雑な操作を保守作業員に強いることなく、ファームウェア27の復旧処理を行うことができる。
(他の実施例2)
本実施形態においては、各コントローラがそれぞれ1ペアの冗長構成されている場合について述べたが、本発明はこれに限らず、例えば、小型ディスクアレイ装置には、各コントローラをそれぞれ1台ずつで構成し、ファームウェア27に障害が発生したときに、サービスプロセッサが、ファームウェアデータ64が壊れており、かつ、自動的に復旧するのが不可である旨の通知を保守端末4に送信し、保守端末4からファームウェア更新データ28を再度受信して、ファームウェア27の更新処理を再度実行するようにしても良い。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)ホスト装置から送信される要求又はデータに対して所定の処理を実行する第1のコントローラと、前記第1のコントローラと冗長構成されている第2のコントローラと、を備え、前記第1のコントローラ及び前記第2のコントローラは、それぞれファームウェアを格納するための格納領域を備え、前記第1のコントローラ及び前記第2のコントローラは、いずれも動作状態であり、前記第1のコントローラは、前記第1のコントローラのファームウェアのうち更新すべき部分である更新部分の更新処理が失敗したときに、前記第2のコントローラのファームウェアの更新部分の更新処理についても失敗したか否かを確認し、前記第2のコントローラの前記ファームウェアの更新部分の更新処理が正常に完了している場合には、前記第2のコントローラの更新部分のファームウェアデータを取得して、前記第1のコントローラの更新部分のファームウェアデータを前記第2のコントローラの更新部分のファームウェアデータに書き換えることを特徴とするディスクアレイ装置である。
(付記2)前記第2のコントローラは、前記第1のコントローラのファームウェアの更新部分の更新処理が終了した後に、前記第2のコントローラのファームウェアの更新部分の更新処理を開始することを特徴とする付記1に記載のディスクアレイ装置である。
(付記3)前記第1のコントローラ及び前記第2のコントローラは、保守端末から送信されるファームウェア更新データに基づいて、前記第1のコントローラ及び前記第2のコントローラのファームウェアの更新部分の更新処理を実行し、前記第1のコントローラは、前記第2のコントローラの前記ファームウェアの更新部分の更新処理についても失敗している場合には、前記保守端末からファームウェア更新データを再度取得して、前記第1のコントローラのファームウェアの更新部分の更新処理を再度実行することを特徴とする付記1に記載のディスクアレイ装置である。
(付記4)前記第1のコントローラは、前記第1のコントローラのファームウェアの更新部分の更新処理が失敗したときに、当該更新処理が失敗したことを外部に明示することを特徴とする付記1に記載のディスクアレイ装置である。
(付記5)前記第1のコントローラ及び前記第2のコントローラには、前記格納領域にそれぞれ1のファームウェアが格納されていることを特徴とする付記1に記載のディスクアレイ装置である。
(付記6)ホスト装置から送信される要求又はデータに対して所定の処理を実行する第1のコントローラと、前記第1のコントローラと冗長構成されている第2のコントローラと、を有し、前記第1のコントローラ及び前記第2のコントローラは、それぞれファームウェアを格納するための格納領域を有し、前記第1のコントローラ及び前記第2のコントローラは、いずれも動作状態であるディスクアレイ装置のファームウェア更新方法であって、前記第1のコントローラが、前記第1のコントローラのファームウェアのうち更新すべき部分である更新部分の更新処理が失敗したときに、前記第2のコントローラのファームウェアの更新部分の更新処理についても失敗したか否かを確認する第1のステップと、前記第2のコントローラの前記ファームウェアの更新部分の更新処理が正常に完了している場合には、前記第2のコントローラの更新部分のファームウェアデータを取得して、前記第1のコントローラの更新部分のファームウェアデータを前記第2のコントローラの更新部分のファームウェアデータに書き換える第2のステップと、を備えることを特徴とするディスクアレイ装置のファームウェア更新方法である。
(付記7)ホスト装置から送信される要求又はデータに対して所定の処理を実行するコントローラを備え、前記コントローラは、ファームウェアを格納するための格納領域を備え、保守端末から送信されるファームウェア更新データに基づいて、前記ファームウェアの更新すべき部分である更新部分の更新処理を実行し、前記ファームウェアの更新部分の更新処理が失敗したときに、前記保守端末からファームウェア更新データを再度取得して、前記のファームウェアの更新部分の更新処理を再度実行することを特徴とするディスクアレイ装置である。
1……ストレージシステム、2……ホスト装置、3……ディスクアレイ装置、4……保守端末、5……記憶装置、6……磁気ディスク装置、11A……第1のホストディレクタ、11B……第2のホストディレクタ、12A……第1のキャッシュモジュール、12B……第2のキャッシュモジュール、13A……第1のディスクディレクタ、13B……第2のディスクディレクタ、14A……第1のサービスプロセッサ、14B……第2のサービスプロセッサ、21A、21B……ホスト装置制御部、22A、22B、33A、33B、42A、42B、52A、52B……マイクロプロセッサ、23A、23B、34A、34B、43A、43B、53A、53B……FROM、24A、24B、35A、35B、44A、44B、54A、54B……RAM、25A、25B、36A、36B、45A、45B、55A、55B……通信制御部、26A、26B、37A、37B、46A、46B、56A、56B……LED制御部、27……ファームウェア、28……ファームウェア更新データ、29……内部バス、31A、31B……キャッシュメモリ、41A、41B……磁気ディスク制御部、51A、51B……保守I/F制御部、61……ブートローダ、62……エマージェンシープログラム、63……ヘッダ情報、64……ファームウェアデータ、65……CRC

Claims (7)

  1. ホスト装置から送信される要求又はデータに対して所定の処理を実行する第1のコントローラと、
    前記第1のコントローラと冗長構成されている第2のコントローラと、
    を備え、
    前記第1のコントローラ及び前記第2のコントローラは、
    それぞれファームウェアを格納するための格納領域
    を備え、
    前記第1のコントローラ及び前記第2のコントローラは、
    いずれも動作状態であり、
    前記第1のコントローラは、
    前記第1のコントローラのファームウェアのうち更新すべき部分である更新部分の更新処理が失敗したときに、前記第2のコントローラのファームウェアの更新部分の更新処理についても失敗したか否かを確認し、前記第2のコントローラの前記ファームウェアの更新部分の更新処理が正常に完了している場合には、前記第2のコントローラの更新部分のファームウェアデータを取得して、前記第1のコントローラの更新部分のファームウェアデータを前記第2のコントローラの更新部分のファームウェアデータに書き換える
    ことを特徴とするディスクアレイ装置。
  2. 前記第2のコントローラは、
    前記第1のコントローラのファームウェアの更新部分の更新処理が終了した後に、前記第2のコントローラのファームウェアの更新部分の更新処理を開始する
    ことを特徴とする請求項1に記載のディスクアレイ装置。
  3. 前記第1のコントローラ及び前記第2のコントローラは、
    保守端末から送信されるファームウェア更新データに基づいて、前記第1のコントローラ及び前記第2のコントローラのファームウェアの更新部分の更新処理を実行し、
    前記第1のコントローラは、
    前記第2のコントローラの前記ファームウェアの更新部分の更新処理についても失敗している場合には、前記保守端末からファームウェア更新データを再度取得して、前記第1のコントローラのファームウェアの更新部分の更新処理を再度実行する
    ことを特徴とする請求項1に記載のディスクアレイ装置。
  4. 前記第1のコントローラは、
    前記第1のコントローラのファームウェアの更新部分の更新処理が失敗したときに、当該更新処理が失敗したことを外部に明示する
    ことを特徴とする請求項1に記載のディスクアレイ装置。
  5. 前記第1のコントローラ及び前記第2のコントローラには、
    前記格納領域にそれぞれ1のファームウェアが格納されている
    ことを特徴とする請求項1に記載のディスクアレイ装置。
  6. ホスト装置から送信される要求又はデータに対して所定の処理を実行する第1のコントローラと、前記第1のコントローラと冗長構成されている第2のコントローラと、を有し、前記第1のコントローラ及び前記第2のコントローラは、それぞれファームウェアを格納するための格納領域を有し、前記第1のコントローラ及び前記第2のコントローラは、いずれも動作状態であるディスクアレイ装置のファームウェア更新方法であって、
    前記第1のコントローラが、
    前記第1のコントローラのファームウェアのうち更新すべき部分である更新部分の更新処理が失敗したときに、前記第2のコントローラのファームウェアの更新部分の更新処理についても失敗したか否かを確認する第1のステップと、
    前記第2のコントローラの前記ファームウェアの更新部分の更新処理が正常に完了している場合には、前記第2のコントローラの更新部分のファームウェアデータを取得して、前記第1のコントローラの更新部分のファームウェアデータを前記第2のコントローラの更新部分のファームウェアデータに書き換える第2のステップと、
    を備えることを特徴とするディスクアレイ装置のファームウェア更新方法。
  7. 前記第1のコントローラは、
    前記第2のコントローラの前記ファームウェアの更新部分の更新処理が正常に完了していない場合には、その旨の通知を保守端末に送信し、前記保守端末からファームウェア更新データを取得して、前記ファームウェアの更新部分の更新処理を再度実行する
    ことを特徴とする請求項1に記載のディスクアレイ装置。
JP2010225110A 2010-10-04 2010-10-04 ディスクアレイ装置及びそのファームウェア更新方法 Active JP5152603B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010225110A JP5152603B2 (ja) 2010-10-04 2010-10-04 ディスクアレイ装置及びそのファームウェア更新方法
US13/248,482 US8713553B2 (en) 2010-10-04 2011-09-29 Disk array apparatus and firmware update method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010225110A JP5152603B2 (ja) 2010-10-04 2010-10-04 ディスクアレイ装置及びそのファームウェア更新方法

Publications (2)

Publication Number Publication Date
JP2012079175A JP2012079175A (ja) 2012-04-19
JP5152603B2 true JP5152603B2 (ja) 2013-02-27

Family

ID=45890817

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010225110A Active JP5152603B2 (ja) 2010-10-04 2010-10-04 ディスクアレイ装置及びそのファームウェア更新方法

Country Status (2)

Country Link
US (1) US8713553B2 (ja)
JP (1) JP5152603B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5152603B2 (ja) * 2010-10-04 2013-02-27 日本電気株式会社 ディスクアレイ装置及びそのファームウェア更新方法
US8966466B2 (en) * 2012-04-04 2015-02-24 Avago Technologies General Ip (Singapore) Pte. Ltd. System for performing firmware updates on a number of drives in an array with minimum interruption to drive I/O operations
US11199821B2 (en) 2013-11-11 2021-12-14 Rockwell Automation Technologies, Inc. Configuring and operating control systems using a database
JP6351413B2 (ja) * 2014-07-15 2018-07-04 キヤノン株式会社 画像形成装置およびその制御方法、並びにプログラム
CN104765628A (zh) * 2015-03-10 2015-07-08 惠州Tcl移动通信有限公司 一种移动终端更新触摸屏固件的方法及***
US20160306623A1 (en) * 2015-04-16 2016-10-20 Aic Inc. Control module of node and firmware updating method for the control module
JP6544176B2 (ja) * 2015-09-24 2019-07-17 富士通株式会社 適用管理装置、適用管理方法及び適用管理プログラム
JP6863037B2 (ja) 2017-04-20 2021-04-21 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム
JP6933107B2 (ja) 2017-11-22 2021-09-08 富士通株式会社 ストレージシステム,ストレージ制御装置およびストレージ制御プログラム
US11163886B2 (en) * 2018-09-28 2021-11-02 Dell Products L.P. Information handling system firmware bit error detection and correction
US10831467B2 (en) * 2018-10-25 2020-11-10 American Megatrends International, Llc Techniques of updating host device firmware via service processor
KR20220005852A (ko) * 2020-07-07 2022-01-14 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작방법
CN115203087A (zh) 2021-04-09 2022-10-18 株式会社日立制作所 存储***和存储***的控制方法
US11461032B1 (en) * 2021-04-09 2022-10-04 Hitachi, Ltd. Storage controller replacement and firmware upgrade without service interruption

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09305395A (ja) * 1996-05-17 1997-11-28 Tamura Electric Works Ltd 電子機器
JP4375857B2 (ja) * 1999-05-13 2009-12-02 富士通コンポーネント株式会社 プログラム再書き込み機能付コンピュータ
JP2002007157A (ja) * 2000-06-23 2002-01-11 Ricoh Co Ltd 制御プログラム保護装置
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
US6836859B2 (en) * 2001-08-15 2004-12-28 Sun Microsystems, Inc. Method and system for version control in a fault tolerant system
US7284236B2 (en) * 2002-10-29 2007-10-16 Brocade Communications Systems, Inc. Mechanism to change firmware in a high availability single processor system
JP2004199120A (ja) * 2002-12-16 2004-07-15 Hitachi Ltd 情報処理装置
JP2007220092A (ja) * 2006-01-18 2007-08-30 Nec Saitama Ltd 情報処理装置、情報処理装置におけるプログラムデータ保護方法
JP2007219571A (ja) * 2006-02-14 2007-08-30 Hitachi Ltd 記憶制御装置及びストレージシステム
JP2007293519A (ja) * 2006-04-24 2007-11-08 Nec Corp サーバシステムおよびパッチ処理方法
US20080184020A1 (en) * 2007-01-25 2008-07-31 International Business Machines Corporation Apparatus and method to update firmware disposed in multiple devices sharing a common address in a computing system
JP5152603B2 (ja) * 2010-10-04 2013-02-27 日本電気株式会社 ディスクアレイ装置及びそのファームウェア更新方法

Also Published As

Publication number Publication date
US8713553B2 (en) 2014-04-29
JP2012079175A (ja) 2012-04-19
US20120084508A1 (en) 2012-04-05

Similar Documents

Publication Publication Date Title
JP5152603B2 (ja) ディスクアレイ装置及びそのファームウェア更新方法
US7818556B2 (en) Storage apparatus, control method, and control device which can be reliably started up when power is turned on even after there is an error during firmware update
US6816950B2 (en) Method and apparatus for upgrading disk drive firmware in a RAID storage system
US8806265B2 (en) LPAR creation and repair for automated error recovery
US20110302369A1 (en) Storage apparatus and control method therefor
US20130339784A1 (en) Error recovery in redundant storage systems
JP4939180B2 (ja) 接続された装置を構成するための初期設定コードの実行
US8775867B2 (en) Method and system for using a standby server to improve redundancy in a dual-node data storage system
US9619145B2 (en) Method relating to configurable storage device and adaptive storage device array
JP2009530728A (ja) Raidアダプタからのディスク関連タスクのオフロードのための方法、システム、プログラム(raidアダプタからのディスク関連タスクのオフロード)
JP2001344076A (ja) ディスクアレイ装置
JP2018022333A (ja) ストレージ制御装置および記憶装置管理プログラム
JP2009104412A (ja) ストレージ装置及びその制御方法
US6745324B1 (en) Dynamic firmware image creation from an object file stored in a reserved area of a data storage device of a redundant array of independent disks (RAID) system
WO2015043155A1 (zh) 一种基于命令集的网元备份与恢复方法及装置
US7308601B2 (en) Program, method and apparatus for disk array control
US7480820B2 (en) Disk array apparatus, method for controlling the same, and program
JP5352027B2 (ja) 計算機システムの管理方法及び管理装置
JP5626514B2 (ja) ストレージ装置及びストレージ装置のリビルド処理方法
JP5107196B2 (ja) 情報処理装置および再構築処理および修復処理の制御方法
JP2005346212A (ja) ディスクアレイコントローラおよび情報処理装置
CN110908607B (zh) 板载raid数据重建方法、装置、设备及可读存储介质
JP6519266B2 (ja) 情報処理装置、デバイス、および復旧方法、並びにコンピュータ・プログラム
JP5874175B2 (ja) ディスクアレイ装置及びその制御方法
JP2007188372A (ja) ディスクアレイコントローラ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121022

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121121

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

Free format text: PAYMENT UNTIL: 20151214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5152603

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150