JP4456084B2 - Control device and firmware active exchange control method thereof - Google Patents

Control device and firmware active exchange control method thereof Download PDF

Info

Publication number
JP4456084B2
JP4456084B2 JP2006037726A JP2006037726A JP4456084B2 JP 4456084 B2 JP4456084 B2 JP 4456084B2 JP 2006037726 A JP2006037726 A JP 2006037726A JP 2006037726 A JP2006037726 A JP 2006037726A JP 4456084 B2 JP4456084 B2 JP 4456084B2
Authority
JP
Japan
Prior art keywords
firmware
processor
processing
processing instruction
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006037726A
Other languages
Japanese (ja)
Other versions
JP2007219696A (en
Inventor
忠 松村
雅裕 吉田
太一 大野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006037726A priority Critical patent/JP4456084B2/en
Publication of JP2007219696A publication Critical patent/JP2007219696A/en
Application granted granted Critical
Publication of JP4456084B2 publication Critical patent/JP4456084B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は,ディスク制御装置等の制御装置およびそのファームウェア活性交換制御方法に関し,特に上位装置からの入出力(I/O)要求の処理を継続した状態で,制御装置におけるコントローラファームウェアの交換を可能にした技術に関する。   The present invention relates to a control device such as a disk control device and its firmware active exchange control method, and in particular, it is possible to exchange controller firmware in a control device in a state where input / output (I / O) request processing from a host device is continued. Related to the technology.

ディスクアレイ装置などのディスク制御装置は,上位装置であるホストプロセッサ(以下,ホストという)からのI/O要求を,CPUとそのCPUが実行する命令群からなるファームウェアとによって処理し,下位装置であるディスク装置を制御している。ディスク制御装置の機能拡張やファームウェアのバグの修正が必要なときに,ファームウェアの改版が必要になるが,このときディスク制御装置をオフラインにして,ファームウェアを改版することができれば,比較的に容易にファームウェアを新しいものに交換することができる。   A disk control device such as a disk array device processes I / O requests from a host processor (hereinafter referred to as a host), which is a host device, by a CPU and firmware comprising a group of instructions executed by the CPU. A certain disk unit is controlled. When it is necessary to expand the function of the disk controller or to correct a bug in the firmware, it is necessary to update the firmware. If the disk controller can be taken offline at this time and the firmware can be updated, it will be relatively easy. The firmware can be replaced with a new one.

しかし,24時間運用のシステムなど,ディスク制御装置をオフラインにすることができない環境では,ホストI/Oを閉塞させることなくファームウェアを改版する,いわゆる活性交換が必要になる。   However, in an environment where the disk control device cannot be taken offline, such as a 24-hour operation system, so-called active replacement is required in which the firmware is revised without blocking the host I / O.

従来のディスクアレイ装置におけるコントローラファームウェア活性交換方法について,以下に説明する。ディスクアレイ装置におけるコントローラファームウェアの活性交換では,ホストI/Oのパスを閉塞させることなく,ファームウェアの改版を行うために,従来,例えば以下の(1) 〜(3) に示す方法が行われていた。   A controller firmware hot replacement method in a conventional disk array apparatus will be described below. In the active replacement of controller firmware in a disk array device, for example, the following methods (1) to (3) below have been used to update the firmware without blocking the host I / O path. It was.

(1) ディスクアレイ装置の対ホストインタフェースのリンクをUPしたままの状態で,ビジー応答することで,ホストにI/Oリクエストをリトライさせる。この間にファームウェア改版を行う。ホスト側でI/Oリトライタイムアウトを検出する前にファームウェア改版を完了させ,I/Oの送受信を継続する。   (1) By making a busy response with the link of the disk array device to the host interface kept UP, the host is made to retry the I / O request. During this time, the firmware is revised. Before detecting the I / O retry timeout on the host side, the firmware revision is completed and I / O transmission / reception is continued.

(2) ファームウェア改版中は,I/Oをバッファに蓄えておく。上記(1) の方法と同様にホストがI/Oレスポンスタイムアウトを検出する前に,ファームウェア改版を完了させ,その後にI/Oを処理し,レスポンスを返す。   (2) Store I / O in the buffer during firmware revision. As in the method (1) above, before the host detects an I / O response timeout, the firmware revision is completed, after which the I / O is processed and a response is returned.

(3) 上記(l) ,(2) のいずれかの方法でホストI/Oのパスを閉塞させることなくファームウェアを改版することができない環境にある場合には,オペレータが手動でパスを切り替え,パス接続がない状態のコントローラからファームウェアを改版することで,パスの閉塞を防止する。   (3) If there is an environment where the firmware cannot be revised without blocking the host I / O path using either method (l) or (2) above, the operator manually switches the path, Prevents path blockage by updating the firmware from a controller that has no path connection.

なお,無停止保守を実現するための従来技術が記載された文献としては,下記の特許文献1がある。この特許文献1に記載された技術では,ディスク装置を制御する冗長構成の複数のディスクドライブ制御装置による無停止稼動,無停止保守を実現している。   The following Patent Document 1 is a document describing a conventional technique for realizing non-stop maintenance. In the technique described in Patent Document 1, non-stop operation and non-stop maintenance are realized by a plurality of redundant disk drive control devices that control a disk device.

特許文献1に記載された技術は,2台の制御装置での負荷分散機能を実現するものであり,ファームウェアを制御装置内にアップロードする場合,I/Oの送受信を主とする装置を切り替えて,片装置毎にファームウェアのアップロードを行う。システムとしては,ファームウェアをアップロードしていない制御装置がI/Oの送受信を行うため,上位装置から見かけ上,I/Oは継続しているように見える。しかし,ファームウェアのアップロードを行っている間,その制御装置はダウンし,まったくI/Oを受け付けることはない。
特開2005−122763号公報
The technique described in Patent Document 1 realizes a load balancing function in two control devices, and when uploading firmware to the control device, the device that mainly transmits and receives I / O is switched. , Upload firmware for each device. As a system, since a control device that has not uploaded firmware performs I / O transmission / reception, I / O seems to be continuing from the host device. However, while the firmware is being uploaded, the control device goes down and does not accept any I / O.
Japanese Patent Laying-Open No. 2005-122863

前述した(1) 〜(3) の方法による従来装置のコントローラファームウェア活性交換においては,それぞれ以下のような問題が発生する。   In the controller firmware hot replacement of the conventional apparatus by the methods (1) to (3) described above, the following problems occur.

[(l) の方法の問題点]
上記(l) の方法では,ホスト側のI/Oリトライタイムアウト時間以内にファームウェアの改版が完了して,見かけ上I/Oが継続しているように見える。しかし,ファームウェア改版中は,ビジー応答によりI/Oを処理することができず,その分のI/Oが滞留していることになる。また,ホスト側のI/Oリトライタイムアウト時間は,システム要求により異なるため,システムによってはホスト側でタイムアウトを検出する場合がある。
[Problems with method (l)]
With method (l) above, the firmware revision is completed within the I / O retry timeout time on the host side, and it appears that I / O continues. However, during the firmware revision, the I / O cannot be processed due to the busy response, and the corresponding I / O is retained. Also, since the I / O retry timeout time on the host side varies depending on the system request, the timeout may be detected on the host side depending on the system.

[(2) の方法の問題点]
上記(2) の方法では,ディスク制御装置内のバッファに限りがあるため,バッファフルが発生するとI/Oをロストすることになる。また,上記(1) の方法と同様の問題がある。
[Problems with method (2)]
In the method (2), since the buffer in the disk control device is limited, I / O is lost when a buffer full occurs. There is also the same problem as the method (1) above.

[(3) の方法の問題点]
上記(3) の方法を用いた場合,オペレータが行うと手間がかかり,また人為的ミスを伴う。
[Problems with method (3)]
When the method (3) above is used, it is troublesome for the operator to perform, and it also involves human error.

また,上記特許文献1の技術では,特にファームウェアのアップロードを行っている間,その制御装置はダウンし,まったくI/Oを受け付けることはないが,ファームウェアのアップロード中でも,制御装置そのものがダウンしないで,I/Oを受け付けることができることが望まれる。   Further, in the technique of Patent Document 1, the control device is down during firmware uploading and does not accept I / O at all, but the control device itself is not down even during firmware uploading. , I / O can be accepted.

本発明は上記問題点の解決を図り,特にマルチCPUおよびI/O制御テーブルを用いて,上位装置からのI/Oパス切替えおよび上位装置に対するビジー応答を不要とし,I/O処理の遅延を抑え,継続してI/Oに関する送受信を可能としたディスク等の制御装置におけるコントローラファームウェア活性交換を実現することを目的とする。   The present invention solves the above-described problems. In particular, by using a multi CPU and an I / O control table, I / O path switching from a host device and a busy response to the host device are not required, and I / O processing delay is reduced. An object of the present invention is to realize controller firmware active exchange in a control device such as a disk that can suppress and continuously transmit and receive I / O.

上記課題を解決するため,第1の発明は,ホスト(上位装置)からのI/O要求に対して下位装置に対するI/O処理を実行する制御装置であって,ホストから要求されたI/Oを処理する複数のプロセッサ(CPU)と,メモリに格納された各プロセッサを動作させるための複数のファームウェアと,ホストからのI/O要求をどのプロセッサに振り分けるかを定める振り分け制御情報を記憶するI/O制御テーブルと,各プロセッサごとに,ホストからのI/O要求を受け付けて処理対象となっている入出力先アドレス情報を含むI/O処理命令を,そのI/O処理が完了するまで保持するI/O処理命令リストと,プロセッサとファームウェアとにより現在のファームウェアの改版を制御する制御手段とを備え,前記制御手段は,外部からのファームウェアの改版指示に対し,I/O制御テーブルにおける振り分け制御情報を,ファームウェア改版の対象となったプロセッサへのI/O要求の振り分けを禁止する状態に更新し,I/O処理命令リストが保持するI/O処理命令がなくなったことを確認して,ファームウェアの改版を実行する制御を行い,ファームウェアの改版対象となっていないプロセッサは,ファームウェアの改版時におけるI/Oチェック開始依頼の通知に対し,前記I/O処理命令リストが保持するI/O処理命令を参照して,自プロセッサが処理しようとするI/Oと入出力先アドレス情報が同一のI/O処理命令で,かつ前記ファームウェアの改版対象となったプロセッサが未処理のI/O処理命令がないかをチェックし,同一入出力先アドレスに対するI/Oの順序性を保証する処理を,I/Oチェック終了依頼の通知があるまで行うことを特徴とする。 In order to solve the above-described problem, the first invention is a control device that executes an I / O process for a lower-level device in response to an I / O request from a host (high-level device). Stores a plurality of processors (CPUs) that process O, a plurality of firmware for operating each processor stored in the memory, and distribution control information that determines to which processor I / O requests from the host are allocated The I / O processing is completed for the I / O control table and an I / O processing instruction including input / output destination address information to be processed by receiving an I / O request from the host for each processor. An I / O processing instruction list to be stored, and a control means for controlling the current firmware revision by the processor and firmware. In response to these firmware revision instructions, the distribution control information in the I / O control table is updated to a state in which the distribution of I / O requests to the processor subject to firmware revision is prohibited, and the I / O processing instruction list There was confirmed that there are no more I / O processing instructions to hold, have row control to perform revision of firmware, processors that do not become a revised target firmware, I / O check start request during revision firmware In response to this notification, the I / O processing instruction held in the I / O processing instruction list is referred to, and the I / O to be processed by the local processor is the same as the input / output destination address information. In addition, the processor subjected to the firmware revision check whether there is an unprocessed I / O processing instruction, and the same input / output destination address Against the process to guarantee the ordering of I / O, and performs until further notice of the I / O check end request.

第1の発明によれば,I/O制御テーブルを用いることにより,ファームウェア改版時にホストからのI/O要求を自動的に他のプロセッサに振り分け,ホストへの影響を最小限にしてファームウェアを改版することができる。また,入出力先アドレス情報を含むI/O処理命令を保持するI/O処理命令リストによって,受け付け済みの全てのI/O処理を完遂させることができるとともに,同一入出力先アドレスへのI/Oの順序性の矛盾が生じないようにすることができる。 According to the first invention, by using the I / O control table, the I / O request from the host is automatically distributed to other processors when the firmware is revised, and the firmware is revised with minimal influence on the host. can do. In addition, the I / O processing instruction list that holds the I / O processing instruction including the input / output destination address information can complete all the accepted I / O processes and can also perform the I / O processing to the same input / output destination address. It is possible to prevent inconsistency in the order of / O.

また,第2の発明は,ホストからのI/O要求に対して下位装置に対するI/O処理を実行する制御装置であって,ホストから要求されたI/Oを処理する複数のプロセッサと,メモリに格納された各プロセッサを動作させるための複数のファームウェアと,ホストからのI/O要求をどのプロセッサに振り分けるかを定める振り分け制御情報を記憶するI/O制御テーブルと,各プロセッサごとに,ホストからのI/O要求を受け付けて処理対象となっている入出力先アドレス情報を含むI/O処理命令を,そのI/O処理が完了するまで保持するI/O処理命令リストと,プロセッサとファームウェアとにより現在のファームウェアの改版を制御する制御手段とを備え,前記制御手段は,外部からのファームウェアの改版指示に対し,I/O制御テーブルにおける振り分け制御情報を,ファームウェア改版の対象となったプロセッサへのI/O要求の振り分けを禁止する状態に更新し,ファームウェアの改版を実行する制御を行い,かつ,ファームウェア改版の対象となったプロセッサのI/O処理命令リストがI/O処理命令を保持するときに,他のプロセッサに対してそのI/O処理命令を引き継がせるための割込み通知を行い,前記他のプロセッサは,ファームウェアの改版時におけるI/Oチェック開始依頼の通知に対し,自プロセッサが処理しようとするI/Oと入出力先アドレス情報が同一のI/O処理命令で,かつ前記ファームウェアの改版対象となったプロセッサが未処理のI/O処理命令がないかをチェックし,同一入出力先アドレスに対するI/Oの順序性を保証する処理を,I/Oチェック終了依頼の通知があるまで行うことを特徴とする。 A second invention is a control device that executes I / O processing for a lower-level device in response to an I / O request from a host, and a plurality of processors that process I / O requested from the host, A plurality of firmware for operating each processor stored in the memory, an I / O control table for storing distribution control information for deciding to which processor an I / O request from the host is allocated, and for each processor, An I / O processing instruction list that holds an I / O processing instruction including input / output destination address information that is processed upon receipt of an I / O request from the host, and the processor completes the I / O processing, and a processor And a control means for controlling the current firmware revision by the firmware, the control means in response to an external firmware revision instruction, The distribution control information in the O control table is updated to a state in which the distribution of I / O requests to the processor subject to the firmware revision is prohibited, the firmware revision is controlled, and the firmware revision target when I / O processing instructions list since the processor holds the I / O processing instructions, have rows interrupt notification for transfer their I / O processing instructions for the other processors, the other processor In response to a notification of an I / O check start request at the time of firmware revision, the I / O processing address of the I / O to be processed by the own processor is the same I / O processing instruction, and the firmware revision target The new processor checks whether there is an unprocessed I / O processing instruction, and the I / O order for the same input / output destination address The process to ensure, and performing until a I / O check end of request notice.

第2の発明によれば,I/O処理命令リストが保持する完遂前のI/O処理命令を,他のプロセッサに引き継がせる機構を持つので,第1の発明の効果に加えて,ファームウェアの改版を,外部から改版依頼があったときに即時に実行できるという効果がある。   According to the second aspect of the invention, since the I / O processing instruction list held in the I / O processing instruction list is transferred to another processor, it is possible to take over the firmware of the firmware in addition to the effects of the first aspect of the invention. There is an effect that the revision can be executed immediately when a revision request is received from the outside.

また,第3の発明は,上記第2の発明において,前記制御手段は,複数のプロセッサのうちの一つのプロセッサがダウンした場合に,I/O制御テーブルにおける振り分け制御情報を,そのダウンしたプロセッサへのI/O要求の振り分けを禁止する状態に更新し,かつ,そのダウンしたプロセッサのI/O処理命令リストがI/O処理命令を保持するときに,他のプロセッサに対してそのI/O処理命令を引き継がせるための割込み通知を行うことを特徴とする。   According to a third aspect of the present invention, in the second aspect of the present invention, when the one of the plurality of processors is down, the control means sends the distribution control information in the I / O control table to the down processor. When the I / O processing instruction list of the down processor is updated to a state in which the distribution of the I / O request is prohibited, and the I / O processing instruction list of the down processor holds the I / O processing instruction, An interrupt notification for taking over the O processing instruction is performed.

第3の発明によれば,ファームウェアの改版のための制御手段を利用し,ダウンしたプロセッサが処理中のI/O処理命令を他のプロセッサに引き継がせることができるので,プロセッサのダウン時にも,ホストへの影響を少なくすることができる。   According to the third aspect of the present invention, the control means for updating the firmware is used, and the I / O processing instruction being processed by the down processor can be taken over to another processor. The impact on the host can be reduced.

本発明によれば,上位装置からのI/Oパス切替えを不要とするとともに,上位装置に対するビジー応答を不要とし,I/O処理の遅延を抑え,継続してI/Oの送受信が可能な,ディスク等の制御装置におけるコントローラファームウェアの活性交換を実現することができる。   According to the present invention, I / O path switching from the host device is not required, a busy response to the host device is not required, I / O processing delay is suppressed, and I / O transmission / reception can be continuously performed. The active exchange of the controller firmware in the control device such as a disk can be realized.

以下,本発明の一実施形態を図面を用いて説明する。図1は,本発明に係るディスク制御装置の構成例を示す。ディスク制御装置1は,上位装置であるホスト2と下位装置であるディスク装置3との間で入出力(I/O)の制御を行う。また,ディスク制御装置1は,ファームウェアを改版する場合に,ファームウェアをアップロード(以下,ファームウェアUPという)する保守用端末4に接続される。   Hereinafter, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 shows a configuration example of a disk control apparatus according to the present invention. The disk control device 1 controls input / output (I / O) between the host device 2 as a host device and the disk device 3 as a lower device. The disk control device 1 is connected to a maintenance terminal 4 that uploads firmware (hereinafter referred to as firmware UP) when the firmware is revised.

ホスト2からのI/Oは,ホスト2とのインタフェースとなるチャネルアダプタ(CA:Channel Adaptor )110,111で受信され,I/Oを制御するI/O制御部12に渡される。I/O制御部12ではI/Oを解析し,ディスク装置3にアクセスする場合には,ディスク装置3とのインタフェースであるドライブインタフェース(DI:Drive Interface )150,151を経由し,アクセスが行われる。   The I / O from the host 2 is received by channel adapters (CA) 110 and 111 that serve as an interface with the host 2 and transferred to the I / O control unit 12 that controls the I / O. The I / O control unit 12 analyzes the I / O and accesses the disk device 3 via drive interfaces (DI: Drive Interface) 150 and 151 which are interfaces with the disk device 3. Is called.

ここで,I/O制御部12には,CPUが複数あり,それぞれのCPU130,131でI/O制御を行うためのファームウェア140,141が動作する。ファームウェア140,141は,ディスク制御装置1のメモリ上に存在し,そのアーカイブは,フラッシュメモリ等で構成される展開前ファームウェア格納部19に保存され,装置ブート時,すなわち装置への電源投入時や装置リセット時にメモリ上に展開される。   Here, the I / O control unit 12 has a plurality of CPUs, and firmwares 140 and 141 for performing I / O control by the respective CPUs 130 and 131 operate. The firmware 140, 141 exists in the memory of the disk control device 1, and its archive is stored in the pre-deployment firmware storage unit 19 composed of a flash memory or the like, and when the device is booted, that is, when the power to the device is turned on. Expanded on the memory when the device is reset.

また,ディスク制御装置1のメモリには,I/O制御テーブル160等の各制御部で共有する情報を格納する共有情報域が設けられている。I/O制御部12の他に各制御部を監視する監視制御部18,正常時には動作しないが,ファームウェア改版時や異常時にI/Oを別のCPU(ファームウェア)に処理させるための割込みを制御するI/O処理再割込み制御部17がある。   Further, the memory of the disk control device 1 is provided with a shared information area for storing information shared by each control unit such as the I / O control table 160. In addition to the I / O control unit 12, the monitoring control unit 18 that monitors each control unit does not operate during normal operation, but controls interrupts that cause another CPU (firmware) to process I / O when the firmware is revised or abnormal There is an I / O processing re-interrupt control unit 17 to perform.

ディスク制御装置1においてファームウェア改版を行う場合,その改版処理が完了するまでファームウェアはI/Oを処理することができない。本実施の形態による制御方法は,I/O制御を片方のCPU(ファームウェア)に片寄せして,CPU単位に順次ファームウェア改版を行う。上述したような従来技術の問題を解決するため,I/O制御させるCPU(ファームウェア)を一つではなく複数とし,I/Oを制御するCPU(ファームウェア)の情報を載せたI/O制御テーブル160を利用する。本制御方法は,このI/O制御テーブル160を動的に変更してファームウェアの改版を行うことにより,I/Oの停止/遅延を生じさせることなく,またホスト2側からのパス切替えを行わない方法を用いることを特徴とする。その詳細を次に述べる。   When firmware revision is performed in the disk controller 1, the firmware cannot process I / O until the revision process is completed. In the control method according to the present embodiment, I / O control is shifted to one CPU (firmware), and firmware revisions are sequentially performed on a CPU basis. In order to solve the above-described problems of the prior art, the number of CPUs (firmware) to be controlled by I / O is not a single number, but an I / O control table on which information on CPUs (firmware) for controlling I / O is placed 160 is used. In this control method, the I / O control table 160 is dynamically changed to update the firmware, so that path switching from the host 2 side is performed without causing I / O stop / delay. It is characterized by using no method. Details will be described next.

以下,説明をわかりやすくするために,CPU130をCPU#0,CPU131をCPU#1と表し,CPU#0側のファームウェア140をファームウェア#0,CPU#1側のファームウェア141をファームウェア#1と表す。   Hereinafter, for the sake of easy understanding, the CPU 130 is represented as CPU # 0, the CPU 131 is represented as CPU # 1, the firmware 140 on the CPU # 0 side is represented as firmware # 0, and the firmware 141 on the CPU # 1 side is represented as firmware # 1.

図2は,ファームウェア改版前のディスク制御装置1の状態を示している。また,図3は,ディスク制御装置1内のメモリ10と展開前ファームウェア格納部19の状態を示している。   FIG. 2 shows the state of the disk controller 1 before the firmware revision. FIG. 3 shows the state of the memory 10 and the pre-deployment firmware storage unit 19 in the disk controller 1.

図3に示すように,メモリ10上には,CPU#0で動作しているファームウェア#0,CPU#1で動作しているファームウェア#1,および制御情報を保持している共有情報域16がある。ここで共有情報域16には,ホスト2からのI/OをどのCPU(ファーム)が制御するかを示すI/O制御テーブル160が存在する。I/O制御を担当するCPUは複数存在し,例えば一つのCPU(ファームウェア)がダウンしたときに,I/Oを一度停止させて装置の制御情報などを新たに構築するようなことを行わなくても,動作を継続することができるようになっている。また,このI/O制御テーブル160でI/O制御させるCPUをロードバランスさせることも可能である。   As shown in FIG. 3, on the memory 10, there is firmware # 0 operating on CPU # 0, firmware # 1 operating on CPU # 1, and a shared information area 16 holding control information. is there. Here, the shared information area 16 includes an I / O control table 160 indicating which CPU (firmware) controls I / O from the host 2. There are a plurality of CPUs in charge of I / O control. For example, when one CPU (firmware) goes down, there is no need to stop I / O once and newly construct control information of the device. However, the operation can be continued. Further, it is possible to load balance the CPU to be I / O controlled by this I / O control table 160.

通常状態のときには,ホスト2からのI/Oを受信したチャネルアダプタ110または111が,I/O制御テーブル160をもとにI/Oを担当する各CPU(ファームウェア)に割り込みを上げ,I/Oを制御させる仕組みをとる。図2の例では,I/O制御テーブル160に示すように,ホスト2からのI/O#0はCPU#0(ファームウェア#0)が制御し,ホスト2からのI/O#1はCPU#1(ファームウェア#1)が制御するように設定されている。   In the normal state, the channel adapter 110 or 111 that has received I / O from the host 2 raises an interrupt to each CPU (firmware) in charge of I / O based on the I / O control table 160, and Take a mechanism to control O. In the example of FIG. 2, as shown in the I / O control table 160, the CPU # 0 (firmware # 0) controls the I / O # 0 from the host 2, and the I / O # 1 from the host 2 is the CPU. # 1 (firmware # 1) is set to be controlled.

ここでファームウェア改版指示を,保守用端末4などの外部から受信すると,図3に示すように,展開前ファームウェア格納部19からメモリの空き領域に新ファームウェアを展開すると同時に,I/O制御テーブル160を更新する。I/O制御テーブル160の更新により,I/O制御を片方のCPU(ファームウェア)側に片寄せして,ファームウェア改版を行っていく。   When a firmware revision instruction is received from the outside of the maintenance terminal 4 or the like, as shown in FIG. 3, the new firmware is deployed from the pre-deployment firmware storage unit 19 to an empty area of the memory, and at the same time, the I / O control table 160 Update. By updating the I / O control table 160, I / O control is shifted to one CPU (firmware) side, and firmware revision is performed.

次に,I/O制御のベースとなるI/O制御テーブル160について説明する。ホスト2からのI/OをどのCPUが担当するかを決定するには,それぞれのCPU#0,#1が担当するディスク装置や論理ボリューム(以下,LUNと記す)が明確になっており,どのLUNにアクセスするI/Oであるかを判別することで,担当するCPUが決定される。この決定方法は,従来技術でも行われている方法である。   Next, the I / O control table 160 serving as a base for I / O control will be described. In order to determine which CPU is in charge of I / O from the host 2, the disk devices and logical volumes (hereinafter referred to as LUNs) that the respective CPUs # 0 and # 1 are in charge of are clarified. The CPU in charge is determined by determining which LUN the I / O accesses. This determination method is a method also performed in the prior art.

ここで,本実施の形態では,前述したようにLUNを担当するCPU(ファームウェア)は一つではなく,I/Oを処理させる優先度を設け,複数存在させる。I/Oを制御する担当CPU(ファームウェア)とその状態と優先度の情報を,I/O制御テーブル160に設定しておき,これをもとにI/Oの制御を行う。つまり,当該制御方法において,各CPUは担当するLUNへのアクセスがあれば,いつでも動作できる状態にあるが,I/Oに対するCPUへの割り込みは,通常全てI/O制御テーブル160の優先度をもとに行われるため,優先度が高いCPU(ファームウェア)が存在する場合,原則として優先度が低いCPU(ファームウェア)がその担当のI/Oを処理することはない。   In this embodiment, as described above, the number of CPUs (firmware) responsible for LUNs is not one, but a plurality of priority levels are provided for processing I / O. The CPU in charge (firmware) that controls the I / O, its status and priority information are set in the I / O control table 160, and the I / O is controlled based on this information. In other words, in this control method, each CPU is ready to operate as long as it has access to the LUN in charge. However, all interrupts to the CPU for I / O are normally given priority in the I / O control table 160. Therefore, when there is a CPU (firmware) with a high priority, the CPU (firmware) with a low priority does not process the I / O in charge of the CPU in principle.

これについて既存の従来装置との違いについて述べる。既存の装置では,あるLUNを担当するCPUは一意である。このため,I/Oを担当するCPUを変更する場合は,一度ホストI/Oを一時停止し,システム内部の制御情報を再構築し,これが完了するとホストI/Oの処理を再開する。これに対し,本実施の形態による制御方法を用いることで,ホストI/Oを停止することなく,I/O制御テーブル160の変更により,すばやく担当するCPUを切り替えることができる。   The difference from the existing conventional apparatus will be described. In an existing device, a CPU in charge of a certain LUN is unique. For this reason, when changing the CPU in charge of I / O, the host I / O is temporarily stopped, the control information inside the system is reconstructed, and when this is completed, the host I / O processing is resumed. On the other hand, by using the control method according to the present embodiment, the CPU in charge can be quickly switched by changing the I / O control table 160 without stopping the host I / O.

次に,本実施の形態による制御方法の仕組みについてさらに詳しく説明する。図4は,通常状態でのI/O制御方法を説明する図である。   Next, the mechanism of the control method according to this embodiment will be described in more detail. FIG. 4 is a diagram for explaining an I / O control method in a normal state.

まず,ホスト2からのI/Oを,CA(#0)110またはCA(#1)111が受信すると,CAはメモリ10上の共有情報域16に存在するI/O制御テーブル160から,そのI/Oを担当する優先度が高いI/O制御部12のCPUを割り出し,該当するCPU#0またはCPU#1へI/Oを処理するようにメッセージ(割り込み通知)を送信する。このメッセージ(割り込み通知)は,各々のCPUのメッセージキュー50,51に蓄えられ,ファームウェア#0,#1によって処理される。   First, when the CA (# 0) 110 or CA (# 1) 111 receives the I / O from the host 2, the CA reads the I / O from the I / O control table 160 existing in the shared information area 16 on the memory 10. The CPU of the I / O control unit 12 with high priority in charge of I / O is determined, and a message (interrupt notification) is transmitted to the corresponding CPU # 0 or CPU # 1 so as to process the I / O. This message (interrupt notification) is stored in the message queues 50 and 51 of each CPU and processed by firmware # 0 and # 1.

また,CA110またはCA111は,I/O制御部12にメッセージ(割り込み通知)を送信すると同時に,I/O処理命令(どのLUNのどのアドレスにどのような情報をRead/Writeするかという情報)をI/O処理命令リスト60,61に登録する。このリストもメモリ上の共有情報域16に存在することとする。リスト内の命令は,I/O制御部12のCPUが処理を完全に完了した時点で削除される。通常状態,すなわち正常な稼動状態では,このリストのI/O処理命令を使用してI/O制御が行われることはない。   In addition, the CA 110 or CA 111 transmits a message (interrupt notification) to the I / O control unit 12 and simultaneously sends an I / O processing command (information about what information is read / written to which address of which LUN). Register in the I / O processing instruction lists 60 and 61. This list also exists in the shared information area 16 on the memory. The instructions in the list are deleted when the CPU of the I / O control unit 12 completes the processing. In a normal state, that is, in a normal operating state, I / O control is not performed using the I / O processing instructions in this list.

上記の状態で,ディスク制御装置1が,外部の保守用端末4からファームウェア改版指示を受信した際の動作を次に説明する。図5は,ファームウェア改版指示後のI/O制御方法を説明する図である。   The operation when the disk controller 1 receives a firmware revision instruction from the external maintenance terminal 4 in the above state will be described next. FIG. 5 is a diagram for explaining an I / O control method after a firmware revision instruction.

ファームウェア改版指示があると,まず,I/Oを担当するI/O制御部12のCPUを切り替えるため,I/O制御テーブル160の変更を行う。この例では,CPU#0(ファームウェア#0)側がファームウェア改版を行うため,図5に示すように,I/O制御テーブル160上のCPU#0の状態を“Active”(稼動中)状態から“Pending”(保留)状態にし,また優先度を無効とする。ここでI/O#0を制御する担当CPUは,CPU#1が最も優先度が高くなる。   When there is a firmware revision instruction, first, the I / O control table 160 is changed to switch the CPU of the I / O control unit 12 in charge of I / O. In this example, since the CPU # 0 (firmware # 0) performs the firmware revision, as shown in FIG. 5, the state of the CPU # 0 on the I / O control table 160 is changed from “Active” (in operation) to “ “Pending” (pending) state is set and the priority is invalidated. The CPU in charge of controlling I / O # 0 has the highest priority.

これにより,I/O制御テーブル160の変更後は,CA110,111からファームウェア改版を行う側のCPUであるCPU#0には全くI/O処理を行うメッセージ(割り込み通知)が送信されなくなる。このため,ファーム改版指示後でもI/O制御を全く停止させることも遅延させることもなく処理を継続させることが可能となる。   As a result, after the I / O control table 160 is changed, no message (interrupt notification) for performing I / O processing is sent from the CAs 110 and 111 to the CPU # 0, which is the CPU on the firmware revision side. For this reason, it is possible to continue the processing without stopping or delaying the I / O control even after the firmware revision instruction.

ファームウェア改版を行う側のCPU#0は,ファームウェア改版指示前(つまり,I/O制御テーブル160の変更前)に,自CPUに対して送信されたI/O処理は,全て完了させなければならない。これを全て完了させた後,CPU#0(ファームウェア#0)のリセット等により,実際のファームウェア改版の動作を開始する。このため,ファームウェア改版処理は,改版指示前に受け付けたI/O処理が履けるまで,待機させる。   CPU # 0 on the firmware revision side must complete all the I / O processing sent to its own CPU before the firmware revision instruction (that is, before the change of I / O control table 160). . After all this is completed, the actual firmware revision operation is started by resetting the CPU # 0 (firmware # 0) or the like. For this reason, the firmware revision process is put on standby until the I / O process accepted before the revision instruction is completed.

ここで,一つの問題が発生する。I/O制御テーブル160の変更後の過渡状態の際に,ファームウェア改版を行うCPU#0で処理されるI/Oと同一LUNのブロックアドレス宛のI/Oのメッセージが,I/O制御テーブル160の更新により優先度が上がり,新たに実担当となったCPU#1に対して送信された場合である。この場合,同一ブロックへのI/Oの順序性に矛盾が生じる可能性がある。   Here, one problem occurs. In the transition state after the change of the I / O control table 160, an I / O message addressed to the block address of the same LUN as the I / O processed by the CPU # 0 that performs the firmware revision is displayed in the I / O control table. This is a case where the priority is increased by updating 160 and the message is transmitted to the CPU # 1 which is newly in charge. In this case, inconsistency may occur in the order of I / O to the same block.

そこでこの問題を解決するため,CPU#1のファームウェア#1は,I/O制御テーブル160の更新が行われた間際の過渡期の状態にあるI/Oのアクセス(もともとCPU#0が担当していたLUNへアクセスするI/Oのみでよい)について,ファームウェア改版を行う側のCPU#0が処理中でないか,もしくは処理しようとしていないかをチェックし,I/Oを処理する。このチェックを行うために,CA110,111からI/O制御部12へのメッセージ(割り込み通知)の送信と同時にI/O処理命令リスト(マッピング情報等でもよい)60のチェックを行う。もし,このチェックにより処理可能であればI/O処理を続行し,処理不可(同一LUNのブロックアドレス宛のI/Oが存在する場合)であれば,先にCPU#0に処理を最優先で行わせるようにメッセージを送信する。これにより,I/O処理の順序性を崩すことなく,また他のI/Oに影響を及ぼすことなく処理することができる。なお,CPU#0にメッセージを送信するのではなく,アクセス先のブロックが競合する後から発行されたI/O要求を,CPU#1のメッセージキュー51に再キューイングするなどして,一時的に所定の時間待たせるようにしてもよい。   Therefore, in order to solve this problem, the firmware # 1 of the CPU # 1 has accessed the I / O in the transitional state just before the I / O control table 160 is updated (originally assigned to the CPU # 0). The CPU # 0 on the firmware revision side checks whether or not it is being processed, and processes the I / O. In order to perform this check, the I / O processing instruction list (which may be mapping information or the like) 60 is checked simultaneously with the transmission of a message (interrupt notification) from the CAs 110 and 111 to the I / O control unit 12. If processing can be performed by this check, I / O processing is continued. If processing is not possible (if there is an I / O addressed to the block address of the same LUN), CPU # 0 is given the highest priority first. Send a message to make it happen. Thus, processing can be performed without breaking the order of I / O processing and without affecting other I / O. Instead of sending a message to CPU # 0, an I / O request issued after the access destination block competes is temporarily requeued to message queue 51 of CPU # 1, etc. You may make it wait for predetermined time.

CPU#0のファームウェアの改版が完了したならば,I/O制御テーブル160を図4に示す元の状態に戻す。その後,同様にCPU#1についての新ファームウェアの改版を実行すれば,CPU#0,CPU#1のファームウェア#0,#1は,共に新ファームウェアに改版されることになる。   When the revision of the firmware of CPU # 0 is completed, the I / O control table 160 is returned to the original state shown in FIG. Thereafter, if revision of the new firmware for CPU # 1 is executed in the same manner, both firmware # 0 and # 1 of CPU # 0 and CPU # 1 are revised to the new firmware.

上記の方法は,ファームウェア改版を行うCPUがファームウェア改版指示受信前にキューイングされたI/O処理を全て完了してから,ファームウェア改版処理(リセット等)に入る方法であるが,本実施の形態に係るもう一つの制御方法は,ファームウェア改版指示受信後,即座にファームウェア改版動作に入ることも可能とする。この方法を使用することにより,ファームウェア改版時間の短縮ばかりではなく,ファームウェア障害等でファームウェアがダウンし,不意に片側のCPUが使用できない状態に陥ったとしても,パスを閉塞させることなく処理を継続することができる。この制御方法について以下に述べる。   The above method is a method for entering the firmware revision process (reset, etc.) after the CPU performing the firmware revision completes all the I / O processing queued before receiving the firmware revision instruction. According to another control method, the firmware revision operation can be started immediately after receiving the firmware revision instruction. By using this method, not only shortening the firmware revision time, but even if the firmware goes down due to a firmware failure, etc. and the CPU on one side unexpectedly falls into a state where it cannot be used, processing continues without blocking the path. can do. This control method will be described below.

図6は,異常時もしくはファームウェア改版を即時実行する場合のI/O制御方法を説明する図である。CPU#0がダウンした場合(もしくは,キューイングされているI/Oを処理しないで,即時にファームウェア改版動作を開始する場合)の例を説明する。   FIG. 6 is a diagram for explaining an I / O control method when an abnormality occurs or when firmware revision is immediately executed. An example will be described in which the CPU # 0 is down (or the firmware update operation is started immediately without processing the queued I / O).

CPU#0(ファームウェア#0)に障害が発生しダウンすると,監視制御部18がこれを検出する。その後,CPU#0が使用不可になったため,I/O制御テーブル160を更新する。図6では,CPU#0(ファームウェア#0)の状態が“Active”(稼動中)状態から“Down”(ダウン)状態に更新されている。これにより,以降ホスト2からのI/O#0は,ダウンした側のCPU#0に割り振られることはなく,CPU#1側に割り振られることになる。   When a failure occurs in CPU # 0 (firmware # 0) and it goes down, the monitoring control unit 18 detects this. Thereafter, since CPU # 0 becomes unusable, the I / O control table 160 is updated. In FIG. 6, the state of the CPU # 0 (firmware # 0) is updated from the “Active” state (in operation) to the “Down” state. As a result, the I / O # 0 from the host 2 is not allocated to the down CPU # 0 but is allocated to the CPU # 1.

次に,監視制御部18は,CPU#0に割り振られたI/O処理命令を処理させるため,I/O処理再割込み制御部17にダウンしたCPU#0のI/Oを再処理させるよう依頼する。これを受信したI/O処理再割込み制御部17は,CPU#0側のI/O処理命令リスト60をチェックし,未処理/未完了のI/O処理の存在を確認後,この情報をもとにI/O処理をCPU#1に行わせるため,メッセージ(割り込み通知)を作成し,送信する。これを受信したCPU#1は,それらのI/O処理を行う。   Next, the monitoring control unit 18 causes the I / O processing reinterrupt control unit 17 to reprocess the down I / O of the CPU # 0 in order to process the I / O processing instruction assigned to the CPU # 0. Ask. The I / O processing re-interrupt control unit 17 that has received this checks the I / O processing instruction list 60 on the CPU # 0 side, confirms the existence of unprocessed / uncompleted I / O processing, and then stores this information. A message (interrupt notification) is created and transmitted to cause CPU # 1 to perform I / O processing. Receiving this, CPU # 1 performs these I / O processes.

ここでもまた,I/O処理の順序性が問題になる。しかし,先ほど述べた方法と同様な方法で,同一LUNのブロックアドレスへのアクセスであれば,再割込みが行われたI/O処理を優先させることで順序性矛盾が生じることを回避することができる。   Again, the order of I / O processing is a problem. However, if access to the same LUN block address is performed in the same manner as described above, priority can be given to the I / O processing that has been re-interrupted to avoid inconsistency in order. it can.

図7は,図5のI/O制御方法を用いたときの処理シーケンスであって,ファームウェア改版を行うCPU#0側が,既に受け付け済みのI/Oを全て処理するときのシーケンスの例を示している。   FIG. 7 is a processing sequence when the I / O control method of FIG. 5 is used, and shows an example of a sequence when the CPU # 0 side that performs firmware revision processes all the I / O that has already been accepted. ing.

CPU#0がファームウェア改版依頼を受信すると(S1),CPU#1に対し,I/Oチェック開始依頼を行う。続いてI/O制御テーブル160を更新し,展開前ファームウェア格納部19に格納された新ファームウェアを展開する(S2)。その後,自CPU#0のI/O処理の完了を,I/O処理命令リスト60を見てチェックする(S3)。   When CPU # 0 receives a firmware revision request (S1), it requests I / O check start to CPU # 1. Subsequently, the I / O control table 160 is updated, and the new firmware stored in the pre-deployment firmware storage unit 19 is deployed (S2). Thereafter, the completion of the I / O processing of the own CPU # 0 is checked by looking at the I / O processing instruction list 60 (S3).

一方,I/Oチェック開始依頼を受けたCPU#1では,自CPU#1が処理するI/Oについて,CPU#0が処理中のI/Oと同一LUNのブロックアドレスへのアクセスかをチェックする処理を開始し(S4),もし同一LUNのブロックアドレスへのアクセスがあれば,CPU#0のI/O処理部へI/O優先処理を依頼し,CPU#0からの処理完了報告により,そのI/O処理を行う。このチェックをCPU#0からI/Oチェック終了依頼がくるまで継続する。   On the other hand, CPU # 1, which has received the I / O check start request, checks whether the CPU # 0 accesses the block address of the same LUN as the I / O being processed by the CPU # 1. Processing is started (S4), and if there is an access to the block address of the same LUN, I / O priority processing is requested to the I / O processing unit of CPU # 0, and processing completion report from CPU # 0 , The I / O processing is performed. This check is continued until an I / O check end request is received from CPU # 0.

CPU#0では,I/O処理命令リスト60のチェックにより,全I/Oの処理完了を確認したならば,CPU#1に対しI/Oチェック終了依頼を送り,その後にリセット等によりファームウェア改版を開始する(S5)。すなわち,メモリ10上に展開された新ファームウェアによる動作を開始する。   In CPU # 0, if the completion of all I / O processing is confirmed by checking the I / O processing instruction list 60, an I / O check end request is sent to CPU # 1, and then the firmware is revised by resetting, etc. Is started (S5). That is, the operation by the new firmware developed on the memory 10 is started.

通常,CPU#0のファームウェア改版が正常に終了した後,続いてCPU#1にファームウェア改版依頼が送信され,同様にCPU#1についてもファームウェア改版処理が行われることになる。   Normally, after the firmware revision of CPU # 0 is normally completed, a firmware revision request is subsequently sent to CPU # 1, and the firmware revision process is similarly performed for CPU # 1.

図8は,図6のI/O制御方法を用いたときの処理シーケンスであって,CPU#0に異常が発生しダウンしたときのシーケンスの例を示している。CPU#0がファームウェア改版を即時に実行する場合のシーケンスも基本的に同様である。   FIG. 8 shows a processing sequence when the I / O control method of FIG. 6 is used, and shows an example of a sequence when an abnormality occurs in CPU # 0. The sequence when CPU # 0 immediately executes the firmware revision is basically the same.

監視制御部18が,CPU#0のダウンを検出すると(S10),CPU#1に対し,I/Oチェック開始依頼を行う。続いて,I/O制御テーブル160を更新し(S11),I/O処理再割込み制御部17に対し,再割込み処理開始依頼を行う。   When the monitoring control unit 18 detects that CPU # 0 is down (S10), it makes an I / O check start request to CPU # 1. Subsequently, the I / O control table 160 is updated (S11), and a re-interrupt process start request is made to the I / O process re-interrupt control unit 17.

I/Oチェック開始依頼を受けたCPU#1では,自CPU#1が処理するI/Oについて,CPU#0で未処理のI/Oと同一LUNのブロックアドレスへのアクセスかをチェックする処理を開始し(S12),もし同一LUNのブロックアドレスへのアクセスがあれば,そのI/O処理を一時的に保留する。   CPU # 1, which has received the I / O check start request, checks whether access to the block address of the same LUN as the unprocessed I / O is performed by CPU # 0 with respect to the I / O processed by CPU # 1 (S12), if there is an access to the block address of the same LUN, the I / O processing is temporarily suspended.

再割込み処理開始依頼を受けたI/O処理再割込み制御部17では,CPU#0用のI/O処理命令リスト60を参照し,未処理I/Oの存在を確認したならば,その制御のためにCPU#1に対しI/O処理割込み通知を行う(S13)。CPU#1では,この通知を受信し,CPU#0で未処理であったI/O処理を行う。I/O処理再割込み制御部17は,CPU#0のI/O処理命令リスト60がNULL(空)になるまで,同様に未処理I/Oの処理を行い,I/O処理命令リスト60がNULL(空)であることを確認したならば,監視制御部18に対し,再割込み処理終了を通知する(S14)。その通知を受けた監視制御部18は,I/Oチェック終了依頼をCPU#1に送信して,CPU#0の未処理I/Oに関する処理を完了する。   The I / O processing re-interrupt control unit 17 that has received the re-interrupt processing start request refers to the I / O processing instruction list 60 for CPU # 0, and if the presence of unprocessed I / O is confirmed, the control is performed. Therefore, the CPU # 1 is notified of an I / O processing interrupt (S13). CPU # 1 receives this notification and performs I / O processing that has not been processed by CPU # 0. The I / O processing re-interrupt control unit 17 similarly performs unprocessed I / O processing until the I / O processing instruction list 60 of the CPU # 0 becomes NULL (empty), and the I / O processing instruction list 60 Is confirmed to be NULL (empty), the end of the re-interrupt processing is notified to the monitoring control unit 18 (S14). Upon receiving the notification, the monitoring control unit 18 transmits an I / O check end request to the CPU # 1, and completes the processing related to the unprocessed I / O of the CPU # 0.

なお,CPU#0のダウンではなく,CPU#0のファームウェア改版の場合には,S11でI/O制御テーブル160を更新した後,直ちにファームウェア改版を開始できることになる。   In the case of CPU # 0 firmware revision instead of CPU # 0 down, the firmware revision can be started immediately after updating the I / O control table 160 in S11.

以上の実施の形態では,CPUとファームウェアが二つ存在する場合の例を説明したが,これらが三以上であっても,本発明を用いて同様にI/Oの制御およびファームウェアの改版を行うことができることは説明するまでもなく明らかである。また,ディスク制御装置におけるファームウェア活性保守の例を説明したが,ディスク制御装置に限らず,同様な周辺装置の制御装置であれば,本発明によるファームウェア活性交換制御方法を同じように適用することができる。   In the above embodiment, an example in which there are two CPUs and firmware has been described, but even if there are three or more, I / O control and firmware revision are performed in the same manner using the present invention. It is clear that we can do it without explaining it. Further, although the example of firmware active maintenance in the disk control device has been described, the firmware active replacement control method according to the present invention can be applied in the same way as long as it is not limited to the disk control device and is a similar peripheral device control device. it can.

また,上記実施の形態において,監視制御部18およびI/O処理再割込み制御部17を特定の一つのCPU(ファームウェア)に担当させる実施も可能である。この方法として,例えば複数のCPU(ファームウェア)の中で稼動中(Active)である一つのCPU(ファームウェア)を主制御のためのマスターとして選択し,監視制御部18およびI/O処理再割込み制御部17を,そのマスターとなるCPU(ファームウェア)によって実現する方法を用いる。この場合,マスターとなるCPU(ファームウェア)についてファームウェア改版を行う場合には,事前に他のCPU(ファームウェア)に対しマスターを移行する。マスターとなるCPU(ファームウェア)がダウンした場合にも,それを検出したときに,あらかじめ定められた他のCPU(ファームウェア)がマスターとなるようにマスターの切り替えを行う。   In the above-described embodiment, the monitoring control unit 18 and the I / O processing re-interrupt control unit 17 may be assigned to one specific CPU (firmware). As this method, for example, one CPU (firmware) that is active among a plurality of CPUs (firmware) is selected as a master for main control, and the monitoring control unit 18 and I / O processing re-interrupt control are selected. A method for realizing the unit 17 by a CPU (firmware) as a master is used. In this case, when the firmware revision is performed for the CPU (firmware) serving as the master, the master is transferred to another CPU (firmware) in advance. Even when the master CPU (firmware) goes down, when it is detected, the master is switched so that another predetermined CPU (firmware) becomes the master.

ディスク制御装置の構成例を示す図である。It is a figure which shows the structural example of a disk control apparatus. ファームウェア改版前のディスク制御装置の状態を示す図である。It is a figure which shows the state of the disk control apparatus before firmware revision. ディスク制御装置内のメモリと展開前ファームウェア格納部の状態を示す図である。It is a figure which shows the state of the memory in a disk control apparatus, and the firmware storage part before expansion | deployment. 通常状態でのI/O制御方法を説明する図である。It is a figure explaining the I / O control method in a normal state. ファームウェア改版指示後のI/O制御方法を説明する図である。It is a figure explaining the I / O control method after a firmware revision instruction | indication. 異常時もしくはファームウェア改版を即時実行する場合のI/O制御方法を説明する図である。It is a figure explaining the I / O control method at the time of abnormality or performing firmware revision immediately. ファームウェア改版を行うCPU側がI/Oを全て処理するときのシーケンスの例を示す図である。It is a figure which shows the example of a sequence when CPU side which performs firmware revision processes all I / O. 異常時もしくはファームウェア改版を即時実行する場合の処理シーケンスの例を示す図である。It is a figure which shows the example of a processing sequence in the case of abnormality or performing firmware revision immediately.

符号の説明Explanation of symbols

1 ディスク制御装置
2 ホスト
3 ディスク装置
4 保守用端末
10 メモリ
110,111 チャネルアダプタ(CA)
12 I/O制御部
130,131 CPU
140,141 ファームウェア
150,151 ドライブインタフェース(DI)
16 共有情報域
160 I/O制御テーブル
17 I/O処理再割込み制御部
18 監視制御部
19 展開前ファームウェア格納部
1 disk controller 2 host 3 disk device 4 maintenance terminal 10 memory 110, 111 channel adapter (CA)
12 I / O control unit 130, 131 CPU
140,141 Firmware 150,151 Drive interface (DI)
16 Shared information area 160 I / O control table 17 I / O processing reinterrupt control unit 18 Monitoring control unit 19 Firmware storage unit before deployment

Claims (5)

上位装置からのI/O要求に対して下位装置に対するI/O処理を実行する制御装置であって,
前記上位装置から要求されたI/Oを処理する複数のプロセッサと,
メモリに格納された前記各プロセッサを動作させるための複数のファームウェアと,
前記上位装置からのI/O要求をどのプロセッサに振り分けるかを定める振り分け制御情報を記憶するI/O制御情報記憶手段と,
前記各プロセッサごとに,前記上位装置からのI/O要求を受け付けて処理対象となっている入出力先アドレス情報を含むI/O処理命令を,そのI/O処理が完了するまで保持するI/O処理命令保持手段と,
前記プロセッサと前記ファームウェアとにより現在のファームウェアの改版を制御する制御手段とを備え,
前記制御手段は,外部からのファームウェアの改版指示に対し,前記I/O制御情報記憶手段における前記振り分け制御情報を,ファームウェア改版の対象となったプロセッサへのI/O要求の振り分けを禁止する状態に更新し,前記I/O処理命令保持手段が保持するI/O処理命令がなくなったことを確認して,ファームウェアの改版を実行する制御を行い,
ファームウェアの改版対象となっていないプロセッサは,ファームウェアの改版時におけるI/Oチェック開始依頼の通知に対し,前記I/O処理命令保持手段が保持するI/O処理命令を参照して,自プロセッサが処理しようとするI/Oと入出力先アドレス情報が同一のI/O処理命令で,かつ前記ファームウェアの改版対象となったプロセッサが未処理のI/O処理命令がないかをチェックし,同一入出力先アドレスに対するI/Oの順序性を保証する処理を,I/Oチェック終了依頼の通知があるまで行う
ことを特徴とする制御装置。
A control device that executes I / O processing for a lower-level device in response to an I / O request from a higher-level device,
A plurality of processors for processing I / O requested by the host device;
A plurality of firmware for operating each of the processors stored in a memory;
I / O control information storage means for storing distribution control information for determining to which processor the I / O request from the host device is distributed;
An I / O processing instruction including input / output destination address information to be processed by receiving an I / O request from the host device is held for each processor until the I / O processing is completed. / O processing instruction holding means;
Control means for controlling revision of the current firmware by the processor and the firmware,
In response to an external firmware revision instruction, the control means prohibits the distribution of I / O requests to the processor subjected to firmware revision by using the distribution control information in the I / O control information storage means. updates to the I / O processing instruction holding means to ensure that the no longer I / O processing instructions to hold, have row control to perform revision firmware,
The processor that is not subject to firmware revision refers to the I / O processing instruction held by the I / O processing instruction holding means in response to the notification of the I / O check start request at the time of firmware revision. Checks whether the I / O to be processed is the same I / O processing instruction as the input / output destination address information and the processor to which the firmware is revised has no unprocessed I / O processing instruction. A control device that performs processing for guaranteeing the order of I / O with respect to the same input / output destination address until an I / O check end request is notified .
上位装置からのI/O要求に対して下位装置に対するI/O処理を実行する制御装置であって,
前記上位装置から要求されたI/Oを処理する複数のプロセッサと,
メモリに格納された前記各プロセッサを動作させるための複数のファームウェアと,
前記上位装置からのI/O要求をどのプロセッサに振り分けるかを定める振り分け制御情報を記憶するI/O制御情報記憶手段と,
前記各プロセッサごとに,前記上位装置からのI/O要求を受け付けて処理対象となっている入出力先アドレス情報を含むI/O処理命令を,そのI/O処理が完了するまで保持するI/O処理命令保持手段と,
前記プロセッサと前記ファームウェアとにより現在のファームウェアの改版を制御する制御手段とを備え,
前記制御手段は,外部からのファームウェアの改版指示に対し,前記I/O制御情報記憶手段における前記振り分け制御情報を,ファームウェア改版の対象となったプロセッサへのI/O要求の振り分けを禁止する状態に更新し,ファームウェアの改版を実行する制御を行い,かつ,ファームウェア改版の対象となったプロセッサの前記I/O処理命令保持手段がI/O処理命令を保持するときに,他のプロセッサに対してそのI/O処理命令を引き継がせるための割込み通知を行い,
前記他のプロセッサは,ファームウェアの改版時におけるI/Oチェック開始依頼の通知に対し,自プロセッサが処理しようとするI/Oと入出力先アドレス情報が同一のI/O処理命令で,かつ前記ファームウェアの改版対象となったプロセッサが未処理のI/O処理命令がないかをチェックし,同一入出力先アドレスに対するI/Oの順序性を保証する処理を,I/Oチェック終了依頼の通知があるまで行う
ことを特徴とする制御装置。
A control device that executes I / O processing for a lower-level device in response to an I / O request from a higher-level device,
A plurality of processors for processing I / O requested by the host device;
A plurality of firmware for operating each of the processors stored in a memory;
I / O control information storage means for storing distribution control information for determining to which processor the I / O request from the host device is distributed;
An I / O processing instruction including input / output destination address information to be processed by receiving an I / O request from the host device is held for each processor until the I / O processing is completed. / O processing instruction holding means;
Control means for controlling revision of the current firmware by the processor and the firmware,
In response to an external firmware revision instruction, the control means prohibits the distribution of I / O requests to the processor subjected to firmware revision by using the distribution control information in the I / O control information storage means. To the other processor when the I / O processing instruction holding means of the processor subject to the firmware revision holds the I / O processing instruction. There line an interrupt notification to take over the I / O processing instructions Te,
In response to the notification of the I / O check start request at the time of the firmware revision, the other processor has the same I / O processing instruction as the I / O to be processed by the own processor and the input / output destination address information. Notification of an I / O check end request to check whether there is an unprocessed I / O processing instruction in the processor subject to firmware revision, and to guarantee the I / O order for the same input / output destination address A control device characterized by performing until there is .
請求項2記載の制御装置において,
さらに前記制御手段は,前記複数のプロセッサのうちの一つのプロセッサがダウンした場合に,前記I/O制御情報記憶手段における前記振り分け制御情報を,そのダウンしたプロセッサへのI/O要求の振り分けを禁止する状態に更新し,かつ,そのダウンしたプロセッサの前記I/O処理命令保持手段がI/O処理命令を保持するときに,他のプロセッサに対してそのI/O処理命令を引き継がせるための割込み通知を行う
ことを特徴とする制御装置。
The control device according to claim 2,
Further, when one of the plurality of processors is down, the control means distributes the distribution control information in the I / O control information storage means to distribute the I / O request to the down processor. To update to a prohibited state and allow the other processor to take over the I / O processing instruction when the I / O processing instruction holding means of the down processor holds the I / O processing instruction A control device that performs an interrupt notification.
上位装置から要求されたI/Oを処理する複数のプロセッサと,メモリに格納された前記各プロセッサを動作させるための複数のファームウェアと,前記上位装置からのI/O要求をどのプロセッサに振り分けるかを定める振り分け制御情報を記憶するI/O制御情報記憶手段と,前記各プロセッサごとに,前記上位装置からのI/O要求を受け付けて処理対象となっている入出力先アドレス情報を含むI/O処理命令を,そのI/O処理が完了するまで保持するI/O処理命令保持手段とを備え,上位装置からのI/O要求に対して下位装置に対するI/O処理を実行する制御装置におけるファームウェア活性交換制御方法であって,
外部からのファームウェアの改版指示に対し,前記I/O制御情報記憶手段における前記振り分け制御情報を,ファームウェア改版の対象となったプロセッサへのI/O要求の振り分けを禁止する状態に更新することにより,以降の上位装置からのI/O要求を他のプロセッサに担当させる過程と,
ファームウェアの改版対象となっていないプロセッサが,ファームウェアの改版時におけるI/Oチェック開始依頼の通知に対し,前記I/O処理命令保持手段が保持するI/O処理命令を参照して,自プロセッサが処理しようとするI/Oと入出力先アドレス情報が同一のI/O処理命令で,かつ前記ファームウェアの改版対象となったプロセッサが未処理のI/O処理命令がないかをチェックし,同一入出力先アドレスに対するI/Oの順序性を保証する処理を,I/Oチェック終了依頼の通知があるまで行う過程と,
前記I/O処理命令保持手段が保持するI/O処理命令がなくなったことを確認して,前記ファームウェアの改版対象となったプロセッサのファームウェアの改版を実行する過程とを有する
ことを特徴とする制御装置のファームウェア活性交換制御方法。
Multiple processors that process I / O requested from the host device, multiple firmware for operating each processor stored in the memory, and to which processor the I / O request from the host device is distributed I / O control information storage means for storing distribution control information for determining I / O including I / O destination address information to be processed by receiving an I / O request from the host device for each processor A control device comprising I / O processing instruction holding means for holding an O processing instruction until the I / O processing is completed, and executing I / O processing for the lower device in response to an I / O request from the upper device Firmware active exchange control method in
By updating the distribution control information in the I / O control information storage means in response to an external firmware revision instruction, to a state in which the distribution of the I / O request to the processor subjected to the firmware revision is prohibited. , The process of causing other processors to take charge of subsequent I / O requests from the host device,
A processor that is not subject to firmware revision refers to an I / O processing instruction held by the I / O processing instruction holding means in response to a notification of an I / O check start request at the time of firmware revision, and Checks whether the I / O to be processed is the same I / O processing instruction as the input / output destination address information and the processor to which the firmware is revised has no unprocessed I / O processing instruction. A process of guaranteeing the I / O order for the same input / output destination address until an I / O check end request is notified;
And confirming that there is no longer any I / O processing instruction held by the I / O processing instruction holding means, and executing a revision of the firmware of the processor to which the firmware is to be revised. A firmware active exchange control method for a control device.
上位装置から要求されたI/Oを処理する複数のプロセッサと,メモリに格納された前記各プロセッサを動作させるための複数のファームウェアと,前記上位装置からのI/O要求をどのプロセッサに振り分けるかを定める振り分け制御情報を記憶するI/O制御情報記憶手段と,前記各プロセッサごとに,前記上位装置からのI/O要求を受け付けて処理対象となっている入出力先アドレス情報を含むI/O処理命令を,そのI/O処理が完了するまで保持するI/O処理命令保持手段とを備え,上位装置からのI/O要求に対して下位装置に対するI/O処理を実行する制御装置におけるファームウェア活性交換制御方法であって,
外部からのファームウェアの改版指示に対し,前記I/O制御情報記憶手段における前記振り分け制御情報を,ファームウェア改版の対象となったプロセッサへのI/O要求の振り分けを禁止する状態に更新することにより,以降の上位装置からのI/O要求を他のプロセッサに担当させる過程と,
前記ファームウェアの改版対象となったプロセッサのファームウェアの改版を実行する過程と,
前記プロセッサの前記I/O処理命令保持手段がI/O処理命令を保持するときに,他のプロセッサに対してそのI/O処理命令を引き継がせるための割込み通知を行う過程と,
前記他のプロセッサが,ファームウェアの改版時におけるI/Oチェック開始依頼の通知に対し,自プロセッサが処理しようとするI/Oと入出力先アドレス情報が同一のI/O処理命令で,かつ前記ファームウェアの改版対象となったプロセッサが未処理のI/O処理命令がないかをチェックし,同一入出力先アドレスに対するI/Oの順序性を保証する処理を,I/Oチェック終了依頼の通知があるまで行う過程とを有する
ことを特徴とする制御装置のファームウェア活性交換制御方法。
Multiple processors that process I / O requested from the host device, multiple firmware for operating each processor stored in the memory, and to which processor the I / O request from the host device is distributed I / O control information storage means for storing distribution control information for determining I / O including I / O destination address information to be processed by receiving an I / O request from the host device for each processor A control device comprising I / O processing instruction holding means for holding an O processing instruction until the I / O processing is completed, and executing I / O processing for the lower device in response to an I / O request from the upper device Firmware active exchange control method in
By updating the distribution control information in the I / O control information storage means in response to an external firmware revision instruction, to a state in which the distribution of the I / O request to the processor subjected to the firmware revision is prohibited. , The process of causing other processors to take charge of subsequent I / O requests from the host device,
Executing a revision of the firmware of the processor to which the firmware is to be revised;
When the I / O processing instruction holding means of the processor holds an I / O processing instruction, and performs an interrupt notification for taking over the I / O processing instruction to another processor ;
In response to a notification of an I / O check start request when the firmware is revised, the other processor has the same I / O processing instruction as the I / O to be processed by the own processor and the input / output destination address information. Notification of an I / O check end request to check whether there is an unprocessed I / O processing instruction in the processor subject to firmware revision, and to guarantee the I / O order for the same input / output destination address firmware swapping control method of a control apparatus characterized by having the steps carried out until there is.
JP2006037726A 2006-02-15 2006-02-15 Control device and firmware active exchange control method thereof Expired - Fee Related JP4456084B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006037726A JP4456084B2 (en) 2006-02-15 2006-02-15 Control device and firmware active exchange control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006037726A JP4456084B2 (en) 2006-02-15 2006-02-15 Control device and firmware active exchange control method thereof

Publications (2)

Publication Number Publication Date
JP2007219696A JP2007219696A (en) 2007-08-30
JP4456084B2 true JP4456084B2 (en) 2010-04-28

Family

ID=38496950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006037726A Expired - Fee Related JP4456084B2 (en) 2006-02-15 2006-02-15 Control device and firmware active exchange control method thereof

Country Status (1)

Country Link
JP (1) JP4456084B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5223612B2 (en) * 2008-11-14 2013-06-26 日本電気株式会社 Disk controller and firmware update method
JP2010152508A (en) * 2008-12-24 2010-07-08 Fujitsu Ltd Control device, disk array device and control method
WO2011114476A1 (en) 2010-03-17 2011-09-22 富士通株式会社 Multicore processor system, notification program, and notification method
JP5953976B2 (en) * 2012-06-25 2016-07-20 富士通株式会社 Firmware exchange support program, firmware exchange support method, and processing apparatus
JP5713089B2 (en) * 2013-11-13 2015-05-07 富士通株式会社 Multi-core processor system, control program, and control method

Also Published As

Publication number Publication date
JP2007219696A (en) 2007-08-30

Similar Documents

Publication Publication Date Title
JP2587195B2 (en) Computer system and method for load balancing or asynchronous data movement
US7779170B2 (en) Storage area network system
US6260158B1 (en) System and method for fail-over data transport
EP0687975B1 (en) Method and system for downloading data to network nodes
US20070174849A1 (en) Non-disruptive multipath device driver update system and method
JPH08335144A (en) External storage device
JP2005508551A (en) Data mirroring using a shared bus
JP2005115506A (en) Storage system
JP4456084B2 (en) Control device and firmware active exchange control method thereof
WO2006114822A1 (en) Dma controller, node, data transfer control method, and program
JP2017010390A (en) Storage control device, storage control program, and storage control method
JP2000099277A (en) Method for remote transfer between file units
US6804794B1 (en) Error condition handling
US20060149866A1 (en) Method and apparatus for transferring data
JP2010152508A (en) Control device, disk array device and control method
JP4161276B2 (en) Fault-tolerant computer device and synchronization method thereof
JP5034979B2 (en) START-UP DEVICE, START-UP METHOD, AND START-UP PROGRAM
JPWO2010100757A1 (en) Arithmetic processing system, resynchronization method, and farm program
US8346996B2 (en) Information processing system
JPH03241448A (en) Ipl system
US20060129714A1 (en) Method and apparatus for transferring data
JPH09218788A (en) Inservice direct down loading system
US20190266061A1 (en) Information processing apparatus, control method for information processing apparatus, and computer-readable recording medium having stored therein control program for information processing apparatus
JP2017130002A (en) Storage control device and control program
US20240054076A1 (en) Storage system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100107

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100107

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100107

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

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

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

Free format text: PAYMENT UNTIL: 20130212

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140212

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees