JP2011118606A - Information processing apparatus and control method thereof - Google Patents

Information processing apparatus and control method thereof Download PDF

Info

Publication number
JP2011118606A
JP2011118606A JP2009274679A JP2009274679A JP2011118606A JP 2011118606 A JP2011118606 A JP 2011118606A JP 2009274679 A JP2009274679 A JP 2009274679A JP 2009274679 A JP2009274679 A JP 2009274679A JP 2011118606 A JP2011118606 A JP 2011118606A
Authority
JP
Japan
Prior art keywords
virtual machine
firmware
service processor
virtual
controller
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.)
Granted
Application number
JP2009274679A
Other languages
Japanese (ja)
Other versions
JP5532874B2 (en
Inventor
Kenichi Miki
健一 三木
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 JP2009274679A priority Critical patent/JP5532874B2/en
Publication of JP2011118606A publication Critical patent/JP2011118606A/en
Application granted granted Critical
Publication of JP5532874B2 publication Critical patent/JP5532874B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To propose an information processing apparatus for improving user's convenience. <P>SOLUTION: The information processing apparatus includes a hypervisor for providing a virtual machine environment to a computer, and first to third virtual machines to be driven in the virtual machine environment. The first and the second virtual machines include a function for processing a data input/output request transmitted from a host computer. The third virtual machine includes a function which, after turning one of the first and the second virtual machines to a stop state and turning the other of the first and second virtual machines to a driven state, instructs to update the firmware of the one virtual machine, and when the firmware of the one virtual machine is updated and the processing of data input/output request in the other virtual machine is ended, turns the other virtual machine to a stop state and turns the one virtual machine to a driven state. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、24時間365日業務を停止することができないミッションクリティカル環境において、ファームウェアを更新する情報処理装置及びその制御方法に関する。   The present invention relates to an information processing apparatus that updates firmware in a mission critical environment in which the business cannot be stopped 24 hours a day, 365 days, and a control method thereof.

従来、ホストコンピュータから送信されるデータのディスクに対する入出力制御を行うディスク制御装置のコントローラのファームウェアを更新した場合、更新後の新しいファームウェアで動作させるためにディスク制御装置の各コントローラのリブートが必要になる。   Conventionally, when the controller firmware of a disk controller that performs input / output control of data sent from a host computer to a disk is updated, it is necessary to reboot each controller of the disk controller to operate with the new firmware after the update Become.

このため、ホストコンピュータ及びディスク制御装置間のアクセスパスがシングルパス構成の場合、ディスク制御装置の各コントローラのリブート中にはI/O要求を処理することができず、業務を停止しなければならない。   For this reason, when the access path between the host computer and the disk controller has a single path configuration, the I / O request cannot be processed during the reboot of each controller of the disk controller, and the business must be stopped. .

ファームウェアを更新する方法としては、図21に示すように、I/O要求を発行するホストコンピュータ上にパス切替ドライバを導入し、さらにホストコンピュータ及びディスク制御装置の各コントローラ間を冗長パス構成とする方法がある。かかる構成では、ディスク制御装置の一方のコントローラのリブート時には、パス切替ドライバにて他方のコントローラがI/O要求を処理するようにアクセスパスを切り替えながら各コントローラのリブートを行うことで業務を停止することなくファームウェアの更新を行うことができる。   As a method for updating the firmware, as shown in FIG. 21, a path switching driver is introduced on the host computer that issues an I / O request, and a redundant path configuration is established between the host computer and each controller of the disk controller. There is a way. In such a configuration, when one controller of the disk controller is rebooted, the operation is stopped by rebooting each controller while switching the access path so that the other controller processes the I / O request by the path switching driver. Firmware can be updated without any problems.

また、図22に示すように、冗長コントローラ構成において、ホストインタフェース及びコントローラ間に他系コントローラへの切替機構を備え、ディスク制御装置の一方のコントローラのリブート時には、他方のコントローラがI/O要求を処理するように切り替えながら各コントローラのリブートを行うことにより、ファームウェアの更新を行う方法がある。   In addition, as shown in FIG. 22, in the redundant controller configuration, a switching mechanism to another system controller is provided between the host interface and the controller, and when one controller of the disk controller is rebooted, the other controller issues an I / O request. There is a method of updating the firmware by rebooting each controller while switching to process.

さらに、ファームウェアを更新する方法としては、特許文献1に開示されている方法がある。特許文献1の方法では、クラスタソフト/クラスタサービスを基本技術として、これに加えてハイパーバイザと1つ以上のゲストオペレーティングシステムとを実行する。ハイパーバイザは、ゲストオペレーティングシステムによる装置の使用を禁止した後に、装置内のファームウェアを、受信されたファームウェアを使用してアップグレードする。ハイパーバイザは、ファームウェアがアップグレードされた後に、ゲストオペレーティングシステムの各々に対して、装置の使用を許可する。   Furthermore, as a method for updating the firmware, there is a method disclosed in Patent Document 1. In the method of Patent Document 1, cluster software / cluster service is used as a basic technology, and in addition to this, a hypervisor and one or more guest operating systems are executed. After the hypervisor prohibits the use of the device by the guest operating system, the hypervisor upgrades the firmware in the device using the received firmware. The hypervisor allows the guest operating system to use the device after the firmware has been upgraded.

特開2008−243183号公報JP 2008-243183 A

しかしながら、図21に示すファームウェア更新方法では、各ホストコンピュータにパス切替ドライバの導入と、各ホストコンピュータ及びディスク制御装置間を冗長パス構成とするためのハードウェアが必要となり導入コストが高くなる。また、パス切替ドライバによるアクセスパスの切り替え操作はホストコンピュータでの操作となることから、システム管理者による作業が必要となり、ディスク制御装置の保守員のみでは作業することができないというデメリットがある。さらに、ディスク制御装置に接続しているホストコンピュータが多数存在する場合は、すべてのホストコンピュータでのアクセスパスの切り替え操作が発生し、多大な手間と時間を要する困難な作業となる。   However, the firmware update method shown in FIG. 21 requires introduction of a path switching driver in each host computer and hardware for making a redundant path configuration between each host computer and the disk controller, resulting in an increase in installation cost. In addition, since the access path switching operation by the path switching driver is an operation on the host computer, a work by the system administrator is required, and there is a demerit that only the maintenance staff of the disk controller cannot perform the work. Furthermore, when there are a large number of host computers connected to the disk controller, an access path switching operation occurs in all the host computers, which is a difficult task requiring a great deal of time and effort.

図22に示すファームウェア更新方法によれば、ホストコンピュータでのパス切り替え操作は不要であり、保守員のみで作業することができるというメリットがある。しかしながら、ディスク制御装置に切替機構を備える必要があり、ディスク制御装置の製造コストが高くなる。また、切替機構は、ディスク制御装置上のホストインタフェース搭載数に比例して必要になるため、ホストインタフェース搭載数の多い大型ディスク制御装置ではさらに製造コストを押し上げるというデメリットがある。さらに、シングルコントローラ構成では課題解決ができず、冗長コントローラ構成が必須であることからディスク制御装置の導入コストが高くなる。   According to the firmware update method shown in FIG. 22, there is an advantage that a path switching operation on the host computer is unnecessary, and that only maintenance personnel can work. However, it is necessary to provide the disk control device with a switching mechanism, which increases the manufacturing cost of the disk control device. Further, since the switching mechanism is required in proportion to the number of host interfaces mounted on the disk control device, there is a demerit that a large disk control device with a large number of host interfaces mounted further increases the manufacturing cost. Further, the single controller configuration cannot solve the problem, and the redundant controller configuration is essential, so that the cost of introducing the disk controller increases.

また、特許文献1の方法は、クラスタソフト/クラスタサービスを基本技術とし、これに仮想化技術を組み合わせたものであり、稼動系の装置から待機系の装置へサービスを引き継ぐ際にサービスの中断が発生するため、業務無停止のサービスを提供することができないという問題がある。   The method of Patent Document 1 uses cluster software / cluster service as a basic technology and is combined with virtualization technology. When a service is taken over from an active device to a standby device, the service is interrupted. Therefore, there is a problem that it is not possible to provide a service without stopping business.

本発明は以上の点を考慮してなされたものであり、ユーザの使い勝手を向上させ得る情報処理装置及びその制御方法を提案するものである。   The present invention has been made in consideration of the above points, and proposes an information processing apparatus and a control method therefor that can improve the user-friendliness.

かかる課題を解決するために本発明は、情報処理装置であって、コンピュータに仮想マシン環境を提供するハイパーバイザと、前記仮想マシン環境において動作する第1〜第3の仮想マシンとを備え、前記第1及び第2の仮想マシンは、ホストコンピュータから送信されるデータの入出力要求を処理する機能を備え、前記第3の仮想マシンは、第1及び第2の仮想マシンの一方を停止状態とし、第1及び第2の仮想マシンの他方を稼働状態とした後、前記一方の仮想マシンのファームウェアを更新するように指示し、前記一方の仮想マシンのファームウェアが更新され、前記他方の仮想マシンにおけるデータの入出力要求の処理が終了したときに、前記他方の仮想マシンを停止状態とし、前記一方の仮想マシンを稼働状態とする機能を備えることを特徴とする。   In order to solve this problem, the present invention is an information processing apparatus, comprising: a hypervisor that provides a computer with a virtual machine environment; and first to third virtual machines that operate in the virtual machine environment, The first and second virtual machines have a function of processing an input / output request for data transmitted from a host computer, and the third virtual machine puts one of the first and second virtual machines in a stopped state. And instructing the firmware of the one virtual machine to be updated after the other of the first and second virtual machines is in an operating state, the firmware of the one virtual machine is updated, and When the data input / output request processing is completed, the other virtual machine is stopped and the one virtual machine is in an operating state. And wherein the door.

また、本発明は、情報処理装置であって、コンピュータに仮想マシン環境を提供するハイパーバイザと、前記仮想マシン環境において動作する第1及び第2の仮想マシンとを備え、前記第1及び第2の仮想マシンは、ホストコンピュータから送信されるデータの入出力要求を処理する機能と、第1及び第2の仮想マシンの他方を停止状態とし、自己を稼働状態とした後、前記他方の仮想マシンのファームウェアを更新するように指示し、前記他方の仮想マシンのファームウェアが更新され、自己のデータの入出力要求の処理が終了したときに、自己を停止状態とし、前記他方の仮想マシンを稼働状態とする機能とを備えることを特徴とする。   The present invention is an information processing apparatus comprising a hypervisor that provides a computer with a virtual machine environment, and first and second virtual machines that operate in the virtual machine environment, the first and second The virtual machine has a function of processing an input / output request of data transmitted from the host computer and the other virtual machine after stopping the other one of the first and second virtual machines and operating itself. When the firmware of the other virtual machine is updated and the processing of its own data I / O request is completed, it stops itself and the other virtual machine is in an operating state. And a function of

さらに、本発明は、コンピュータに仮想マシン環境を提供するハイパーバイザと、前記仮想マシン環境において動作する第1〜第3の仮想マシンを有する情報処理装置の制御方法であって、前記第1及び第2の仮想マシンが、ホストコンピュータから送信されるデータの入出力要求を処理する第1のステップと、前記第3の仮想マシンが、第1及び第2の仮想マシンの一方を停止状態とし、第1及び第2の仮想マシンの他方を稼働状態とする第2のステップと、前記第3の仮想マシンが、前記一方の仮想マシンのファームウェアを更新するように指示し、前記一方の仮想マシンのファームウェアが更新され、前記他方の仮想マシンにおけるデータの入出力要求の処理が終了したときに、前記他方の仮想マシンを停止状態とし、前記他方の仮想マシンを稼働状態とする第3のステップとを備えることを特徴とする。   Furthermore, the present invention is a method of controlling an information processing apparatus having a hypervisor that provides a virtual machine environment to a computer and first to third virtual machines that operate in the virtual machine environment, wherein the first and first A first step in which the second virtual machine processes an input / output request for data transmitted from the host computer, and the third virtual machine stops one of the first and second virtual machines, A second step of bringing the other of the first and second virtual machines into an operating state, and the third virtual machine instructs to update the firmware of the one virtual machine, and the firmware of the one virtual machine Is updated, and when the processing of the data input / output request in the other virtual machine is completed, the other virtual machine is stopped and the other virtual machine is stopped. Characterized in that it comprises a third step of the thin and health.

従って、業務を停止することなくファームウェアを更新することができる。   Therefore, the firmware can be updated without stopping the business.

本発明によれば、ユーザの使い勝手を向上させ得る情報処理装置及びその制御方法を実現することができる。   ADVANTAGE OF THE INVENTION According to this invention, the information processing apparatus which can improve a user's usability, and its control method are realizable.

本実施形態のホストコンピュータ及びディスク制御装置の構成を示すブロック図の一例である。It is an example of a block diagram showing configurations of a host computer and a disk control device of the present embodiment. 第1実施形態のコントローラの構成を示すブロック図の一例である。It is an example of the block diagram which shows the structure of the controller of 1st Embodiment. 制御部をスタンバイ状態とする動作手順を示すフローチャートの一例である。It is an example of the flowchart which shows the operation | movement procedure which makes a control part a standby state. 制御部をスタンバイ状態とする動作の説明に供する概念図の一例である。It is an example of the conceptual diagram with which it uses for description of the operation | movement which makes a control part a standby state. 制御部のファームウェアを更新する動作手順を示すフローチャートの一例である。It is an example of the flowchart which shows the operation | movement procedure which updates the firmware of a control part. 制御部のファームウェアを更新する動作の説明に供する概念図の一例である。It is an example of the conceptual diagram with which it uses for description of the operation | movement which updates the firmware of a control part. I/O要求を制御部において処理するための動作手順を示すフローチャートの一例である。It is an example of the flowchart which shows the operation | movement procedure for processing an I / O request | requirement in a control part. I/O要求を制御部において処理するための動作の説明に供する概念図の一例である。It is an example of the conceptual diagram with which it uses for description of the operation | movement for processing an I / O request | requirement in a control part. 第2実施形態のコントローラの構成を示すブロック図の一例である。It is an example of the block diagram which shows the structure of the controller of 2nd Embodiment. 制御部及び指示部をスタンバイ状態とする動作手順を示すフローチャートの一例である。It is an example of the flowchart which shows the operation | movement procedure which makes a control part and an instruction | indication part a standby state. 制御部及び指示部をスタンバイ状態とする動作の説明に供する概念図の一例である。It is an example of the conceptual diagram with which it uses for description of the operation | movement which makes a control part and an instruction | indication part a standby state. 指示部のファームウェアを更新する動作手順を示すフローチャートの一例である。It is an example of the flowchart which shows the operation | movement procedure which updates the firmware of an instruction | indication part. 指示部のファームウェアを更新する動作の説明に供する概念図の一例である。It is an example of the conceptual diagram with which it uses for description of the operation | movement which updates the firmware of an instruction | indication part. 第3実施形態のコントローラの構成を示すブロック図の一例である。It is an example of the block diagram which shows the structure of the controller of 3rd Embodiment. 制御部をスタンバイ状態とする動作手順を示すフローチャートの一例である。It is an example of the flowchart which shows the operation | movement procedure which makes a control part a standby state. 制御部をスタンバイ状態とする動作の説明に供する概念図の一例である。It is an example of the conceptual diagram with which it uses for description of the operation | movement which makes a control part a standby state. 制御部のファームウェアを更新する動作手順を示すフローチャートの一例である。It is an example of the flowchart which shows the operation | movement procedure which updates the firmware of a control part. 制御部のファームウェアを更新する動作の説明に供する概念図の一例である。It is an example of the conceptual diagram with which it uses for description of the operation | movement which updates the firmware of a control part. I/O要求を制御部において処理するための動作手順を示すフローチャートの一例である。It is an example of the flowchart which shows the operation | movement procedure for processing an I / O request | requirement in a control part. I/O要求を制御部において処理するための動作の説明に供する概念図の一例である。It is an example of the conceptual diagram with which it uses for description of the operation | movement for processing an I / O request | requirement in a control part. 従来のホストコンピュータ及びディスク制御装置の構成を示すブロック図の一例である。It is an example of the block diagram which shows the structure of the conventional host computer and a disk control apparatus. 従来のホストコンピュータ及びディスク制御装置の構成を示すブロック図の一例である。It is an example of the block diagram which shows the structure of the conventional host computer and a disk control apparatus.

以下、本発明の一実施の形態を、図面を参照して詳細に説明する。なお、これにより本発明が限定されるものではない。   Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited thereby.

図1は、本実施形態におけるストレージシステム1を示す図である。ストレージシステム1は、ホストコンピュータ10及びディスク制御装置20(情報処理装置)を備えて構成されている。   FIG. 1 is a diagram showing a storage system 1 in this embodiment. The storage system 1 includes a host computer 10 and a disk control device 20 (information processing device).

ホストコンピュータ10は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)などの通常のコンピュータ装置と同様のハードウェアを備えて構成されている。また、ホストコンピュータ10は、アプリケーション11、ファイルシステム12、上位ドライバ13、下位ドライバ14及びHBA(Host Bus Adapter)15を備えて構成されている。   The host computer 10 includes hardware similar to that of a normal computer device such as a CPU (Central Processing Unit), a ROM (Read Only Memory), and a RAM (Random Access Memory). The host computer 10 includes an application 11, a file system 12, an upper driver 13, a lower driver 14, and an HBA (Host Bus Adapter) 15.

ホストコンピュータ10は、アプリケーション11、ファイルシステム12、上位ドライバ13、下位ドライバ14を実行し、HBA15を介してディスク制御装置20に対するI/O要求及びI/O要求に対応するデータの送受信を行う。   The host computer 10 executes the application 11, the file system 12, the upper driver 13, and the lower driver 14, and transmits / receives an I / O request to the disk controller 20 and data corresponding to the I / O request via the HBA 15.

ディスク制御装置20は、コントローラ21及びディスク装置22を備えて構成されている。ディスク制御装置20は、ホストコンピュータ10から送信されるI/O要求に基づいて、ホストコンピュータ10から送信されるI/O要求に対応するデータをディスク装置22に書き込み、I/O要求に対応するデータをディスク装置22から読み出してホストコンピュータ10に送信する。   The disk control device 20 includes a controller 21 and a disk device 22. Based on the I / O request transmitted from the host computer 10, the disk control device 20 writes data corresponding to the I / O request transmitted from the host computer 10 to the disk device 22 and responds to the I / O request. Data is read from the disk device 22 and transmitted to the host computer 10.

(第1実施形態)
図2は、第1実施形態のコントローラ21の構成を示す図である。コントローラ21は、プロセッサ150、メモリ151、外部インタフェース制御回路152、ホストインタフェース制御回路153、ディスクインタフェース制御回路154及びコントローラ間通信制御回路155を備えたコンピュータとして構成されている。
(First embodiment)
FIG. 2 is a diagram illustrating a configuration of the controller 21 according to the first embodiment. The controller 21 is configured as a computer including a processor 150, a memory 151, an external interface control circuit 152, a host interface control circuit 153, a disk interface control circuit 154, and an inter-controller communication control circuit 155.

プロセッサ150は、コンピュータ上でプログラムを動作させるためのハードウェアである。メモリ151は、プロセッサ150が解釈・実行するプログラムや各種制御データの記憶領域、作業領域、又はディスクアクセスに係るリードデータやライトデータの格納領域として使用される。   The processor 150 is hardware for operating a program on a computer. The memory 151 is used as a storage area for programs and various control data to be interpreted and executed by the processor 150, a work area, or a storage area for read data and write data related to disk access.

外部インタフェース制御回路152は、外部インタフェースを介してユーザインタフェースを提供する管理・監視端末と接続されており、管理・監視端末との間で相互に授受される各種制御情報(各種ハードウェアの制御情報や継続的な監視情報、ディスク制御装置20の操作情報、運用及び管理情報)の入出力制御を行う。   The external interface control circuit 152 is connected to a management / monitoring terminal that provides a user interface via an external interface, and various control information (control information of various hardware) exchanged with the management / monitoring terminal. And continuous monitoring information, operation information, operation and management information of the disk control device 20).

ホストインタフェース制御回路153は、ホストインタフェースを介してホストコンピュータ10と接続されており、ホストコンピュータ10から受信したディスクアクセスに係るI/O要求及びI/O要求に対応するデータ入出力の制御を行う。ディスクインタフェース制御回路154は、ディスクインタフェースを介してディスク装置22に接続されており、ディスク装置22に係る入出力制御を行う。   The host interface control circuit 153 is connected to the host computer 10 via the host interface, and controls I / O requests related to disk access received from the host computer 10 and data input / output corresponding to the I / O requests. . The disk interface control circuit 154 is connected to the disk device 22 via the disk interface, and performs input / output control related to the disk device 22.

冗長コントローラ構成の場合には、コントローラ間通信制御回路155は、もう一方のコントローラ間通信制御回路とコントローラ間データバスを介して接続されており、各コントローラ間で共有する各種制御情報やデータなどの入出力制御を行う。   In the case of a redundant controller configuration, the inter-controller communication control circuit 155 is connected to the other inter-controller communication control circuit via the inter-controller data bus, and various control information and data shared between the controllers are stored. Performs input / output control.

また、コントローラ21は、制御プログラム、指示プログラム及びハイパーバイザプログラムをメモリ151に備えて構成されている。コントローラ21のプロセッサ150は、ハイパーバイザプログラムを実行し、コンピュータ上に別のコンピュータ環境を用意する仮想マシン環境を実現する。ハイパーバイザプログラムが実行されることにより仮想マシンとして実現されるハイパーバイザ140は、仮想マシン環境を提供する機能手段である。   The controller 21 includes a control program, an instruction program, and a hypervisor program in the memory 151. The processor 150 of the controller 21 executes a hypervisor program and realizes a virtual machine environment in which another computer environment is prepared on the computer. The hypervisor 140 realized as a virtual machine by executing the hypervisor program is a functional unit that provides a virtual machine environment.

具体的に、コントローラ21は、仮想マシン環境上で、制御プログラムを実行することにより仮想マシンとして実現される制御部(以下、制御部110(第1の仮想マシン)及び130(第2の仮想マシン)と呼ぶ)及び指示プログラムを実行することにより仮想マシンとして実現される指示部(以下、指示部120(第3の仮想マシン)と呼ぶ)を備えて構成されている。   Specifically, the controller 21 executes control programs on a virtual machine environment to execute control programs (hereinafter, control units 110 (first virtual machine) and 130 (second virtual machine). And an instruction unit realized as a virtual machine by executing an instruction program (hereinafter referred to as an instruction unit 120 (third virtual machine)).

制御部110は、ディスク制御全般(例えば、ディスク装置22に対する読み書きなど)を司る機能手段であり、サービスプロセッサ111、機能ファームウェア112、ゲストOS(Operating System)113及び準仮想化ドライバ(PV driver(Para-Virtualized driver))114を備えて構成されている。制御部130は、制御部110と同様にディスク制御全般を司る機能手段であり、サービスプロセッサ131、機能ファームウェア132、ゲストOS133及び準仮想化ドライバ134を備えて構成されている。   The control unit 110 is a functional unit that controls overall disk control (for example, reading and writing to the disk device 22), and includes a service processor 111, a function firmware 112, a guest OS (Operating System) 113, and a para-virtualized driver (PV driver (Para -Virtualized driver)) 114. The control unit 130 is a functional unit that governs overall disk control, like the control unit 110, and includes a service processor 131, functional firmware 132, a guest OS 133, and a para-virtualized driver 134.

指示部120は、制御部110、130と相互に通信を行い、制御部110、130に対して各種指示(例えば、制御部130に対してリブート実施など)を行う機能手段であり、サービスプロセッサ121、ゲストOS123及び準仮想化ドライバ124を備えて構成されている。   The instruction unit 120 is a functional unit that communicates with the control units 110 and 130 and issues various instructions to the control units 110 and 130 (for example, rebooting the control unit 130). The guest OS 123 and the para-virtualized driver 124 are provided.

サービスプロセッサ111、121及び131は、各種ハードウェアの制御や継続的な監視、ディスク制御装置20の操作、運用及び管理の機能を提供する。機能ファームウェア112及び132は、各種ハードウェアを操作、制御し、ホストコンピュータから受信したディスクアクセスに係るI/O要求を処理する。ゲストOS113、123及び133は、コンピュータ上に別のコンピュータ環境を用意する仮想マシン環境において、仮想マシン環境上で動作するOS(例えば、VxWorksやLinux, Solarisなど)である。準仮想化ドライバ114、124及び134は、ハイパーバイザ140上で動作するゲストOS113、123又は133の動作パフォーマンスを、仮想化されていない物理ハードウェア上で動作させた場合のように、仮想化によるオーバーヘッドを最小限に抑えるためのハードウェア制御用ドライバである。   The service processors 111, 121, and 131 provide various hardware control and continuous monitoring functions, operation of the disk control device 20, operation, and management functions. The function firmwares 112 and 132 operate and control various types of hardware, and process I / O requests related to disk access received from the host computer. The guest OSs 113, 123, and 133 are OSs (for example, VxWorks, Linux, Solaris, etc.) that operate in a virtual machine environment in a virtual machine environment in which another computer environment is prepared on the computer. The para-virtualized drivers 114, 124, and 134 are based on virtualization as in the case where the operation performance of the guest OS 113, 123, or 133 operating on the hypervisor 140 is operated on physical hardware that is not virtualized. This is a hardware control driver for minimizing overhead.

次に、第1実施形態のコントローラ21の動作について、図3−図8のフローチャート及び概念図を参照して説明する。なお、説明上の前提条件として下記の第1−第4の条件を定義する。   Next, operation | movement of the controller 21 of 1st Embodiment is demonstrated with reference to the flowchart and conceptual diagram of FIGS. 3-8. The following first to fourth conditions are defined as preconditions for explanation.

第1に、プロセッサ150は、コントローラ21の初回起動直後、ホストコンピュータ10から受信するI/O要求を制御部110によって処理し、制御部130をスタンバイ状態とする。この場合、プロセッサ150は、次回以降のコントローラ21の起動直後の状態については、前回のコントローラ21が停止する直前の状態で復帰する。第2に、プロセッサ150は、指示部120によって制御部130のファームウェアの更新を指示する。第3に、プロセッサ150は、ファームウェアの更新完了後、ホストコンピュータ10から受信するI/O要求を制御部130によって処理し、制御部110をスタンバイ状態とする。第4に、プロセッサ150は、外部インタフェースを介して接続した管理・監視端末から、外部インタフェース制御回路152を経由して更新用ファームウェアのバイナリをサービスプロセッサ121に事前に転送する。   First, immediately after the controller 21 is activated for the first time, the processor 150 processes an I / O request received from the host computer 10 by the control unit 110, and sets the control unit 130 in a standby state. In this case, the processor 150 returns to the state immediately before the controller 21 is started from the next time and immediately before the previous controller 21 is stopped. Second, the processor 150 instructs the controller 130 to update the firmware of the control unit 130. Third, after the firmware update is completed, the processor 150 causes the control unit 130 to process an I / O request received from the host computer 10 and sets the control unit 110 to a standby state. Fourthly, the processor 150 transfers the update firmware binary to the service processor 121 in advance from the management / monitoring terminal connected via the external interface via the external interface control circuit 152.

まず、制御部130をスタンバイ状態とする動作について、図3及び図4のフローチャート及び概念図を参照して説明する。   First, the operation of setting the control unit 130 in the standby state will be described with reference to the flowcharts and conceptual diagrams of FIGS.

サービスプロセッサ121は、コントローラ21の起動過程で、制御部130をスタンバイ状態とするために、サービスプロセッサ131に対して、スタンバイ(Standby)とする旨の指示を行う(S100)。続いて、サービスプロセッサ131は、スタンバイとする旨の指示を受信すると、制御部130をスタンバイ状態に移行させた後、サービスプロセッサ121に対して、スタンバイ状態となった旨の報告を行う(S110)。   In the process of starting the controller 21, the service processor 121 instructs the service processor 131 to enter the standby state in order to place the control unit 130 in the standby state (S100). Subsequently, when the service processor 131 receives an instruction to enter the standby state, the service processor 131 shifts the control unit 130 to the standby state, and then reports to the service processor 121 that the standby state has been established (S110). .

続いて、サービスプロセッサ121は、制御部110をアクティブ状態とするために、サービスプロセッサ111に対して、アクティブ(Active)とする旨の指示を行う(S120)。続いて、サービスプロセッサ111は、アクティブとする旨の指示を受信すると、制御部110をアクティブ状態に移行させた後、サービスプロセッサ121に対して、アクティブ状態となった旨の報告を行う(S130)。   Subsequently, the service processor 121 instructs the service processor 111 to be active (S120) in order to place the control unit 110 in an active state (S120). Subsequently, when the service processor 111 receives an instruction to activate, the service processor 111 shifts the control unit 110 to the active state, and then reports to the service processor 121 that the active state has been reached (S130). .

以上で、ホストコンピュータ10から受信するI/O要求は、制御部110が処理する状態となる(図4)。   The I / O request received from the host computer 10 is now processed by the control unit 110 (FIG. 4).

次に、制御部130のファームウェアを更新する動作について、図5及び図6のフローチャート及び概念図を参照して説明する。   Next, the operation of updating the firmware of the control unit 130 will be described with reference to the flowcharts and conceptual diagrams of FIGS.

サービスプロセッサ121は、制御部130のファームウェア更新の準備として、サービスプロセッサ131に対して、バイナリ(Binary)(ファームウェア)の転送を行う(S140)。続いて、サービスプロセッサ131は、すべてのバイナリを受信すると、サービスプロセッサ121に対して、バイナリを受信した旨の報告を行う(S150)。   The service processor 121 transfers binary (firmware) to the service processor 131 in preparation for firmware update of the control unit 130 (S140). Subsequently, when all the binaries are received, the service processor 131 reports to the service processor 121 that the binaries have been received (S150).

続いて、サービスプロセッサ121は、制御部130のファームウェア更新を行うために、サービスプロセッサ131に対してリブート(Reboot)を行う旨の指示を行う(S160)。続いて、サービスプロセッサ131は、リブートを行う旨の指示を受信すると、サービスプロセッサ121に対して、リブートを開始する旨の報告を行った後、制御部130のリブートを開始する(S170)。続いて、サービスプロセッサ131は、制御部130のリブートが完了すると、サービスプロセッサ121に対して、レディ(Ready)状態となった旨の報告を行う(S180)。   Subsequently, the service processor 121 instructs the service processor 131 to perform a reboot in order to update the firmware of the control unit 130 (S160). Subsequently, when the service processor 131 receives an instruction to reboot, the service processor 131 reports to the service processor 121 that the reboot is started, and then starts the reboot of the control unit 130 (S170). Subsequently, when the reboot of the control unit 130 is completed, the service processor 131 reports to the service processor 121 that it is in a ready state (S180).

以上で、制御部130のファームウェアは、更新済みとなる。なお、サービスプロセッサ111は、S140からS180までの間、機能ファームウェア112を実行し、ホストインタフェース制御回路153を経由してデータの入出力制御を行う(図6)。   As described above, the firmware of the control unit 130 is updated. The service processor 111 executes the function firmware 112 from S140 to S180, and performs data input / output control via the host interface control circuit 153 (FIG. 6).

次に、I/O要求を制御部130において処理するための動作について、図7及び図8のフローチャート及び概念図を参照して説明する。   Next, an operation for processing the I / O request in the control unit 130 will be described with reference to the flowcharts and conceptual diagrams of FIGS.

サービスプロセッサ121は、今後、ホストコンピュータ10から受信するI/O要求について、制御部130において処理するために、サービスプロセッサ131に対して、アクティブとする旨の指示を行う(S190)。続いて、サービスプロセッサ131は、アクティブとする旨の指示を受信すると、制御部130をアクティブ状態に移行させた後、サービスプロセッサ121に対して、アクティブ状態となった旨の報告を行う(S200)。以降、ホストコンピュータ10からのI/O要求は、制御部130において受信し、処理する。   The service processor 121 instructs the service processor 131 to be active in order to process the I / O request received from the host computer 10 in the future in the control unit 130 (S190). Subsequently, when the service processor 131 receives an instruction to activate, the service processor 131 shifts the control unit 130 to the active state, and then reports to the service processor 121 that the active state has been entered (S200). . Thereafter, I / O requests from the host computer 10 are received by the control unit 130 and processed.

続いて、サービスプロセッサ121は、制御部110をスタンバイ状態とするために、サービスプロセッサ111に対して、スタンバイとする旨の指示を行う(S210)。続いて、サービスプロセッサ111は、スタンバイとする旨の指示を受信すると、制御部110が既にホストコンピュータ10から受信したI/O要求がある場合には、サービスプロセッサ121に対して、受信済のI/O要求を処理中である旨の報告を行い(S220)、制御部110がすべての受信済のI/O要求の処理するまで当該I/O要求の処理を継続する。   Subsequently, the service processor 121 instructs the service processor 111 to enter the standby state in order to place the control unit 110 in the standby state (S210). Subsequently, when the service processor 111 receives an instruction to enter standby, if there is an I / O request that the control unit 110 has already received from the host computer 10, the service processor 111 sends a received I / O request to the service processor 121. A report indicating that the / O request is being processed is performed (S220), and the processing of the I / O request is continued until the control unit 110 processes all the received I / O requests.

続いて、サービスプロセッサ111は、制御部110がホストコンピュータ10から受信したI/O要求で未処理のものがなければ、制御部110をスタンバイ状態に移行させた後、サービスプロセッサ121に対して、スタンバイ状態となった旨の報告を行う(S230)。   Subsequently, if there is no unprocessed I / O request received by the control unit 110 from the host computer 10, the service processor 111 shifts the control unit 110 to the standby state, A report to the effect that the standby state has been entered is made (S230).

なお、サービスプロセッサ111は、S190からS200までの間、機能ファームウェア112を実行し、ホストインタフェース制御回路153を経由してデータの入出力制御を行う(図8)。そして、サービスプロセッサ111は、S210以降、ホストコンピュータ10からの新規のI/O要求を受領せず、既に受領済みのI/O要求がゼロになるまで、処理を継続する。また、サービスプロセッサ131は、S200以降、直ちに機能ファームウェア132を実行し、ホストインタフェース制御回路153を経由してデータの入出力制御を行う(図8)。   The service processor 111 executes the function firmware 112 from S190 to S200, and performs data input / output control via the host interface control circuit 153 (FIG. 8). Then, after S210, the service processor 111 does not receive a new I / O request from the host computer 10, and continues the process until the already received I / O request becomes zero. Also, the service processor 131 immediately executes the function firmware 132 after S200, and performs data input / output control via the host interface control circuit 153 (FIG. 8).

以上のように、ディスク制御装置20は、ハイパーバイザ140上に、ゲストOS113、133を含む2つ以上の制御部110、130を備え、制御部110、130に機能ファームウェア112、132及びサービスプロセッサ111、131を備え、さらに、制御部110、130の機能ファームウェア112、132及びサービスプロセッサ111、131がハードウェアを操作するためにゲストOS上に準仮想化ドライバ114、134を備える。また、ディスク制御装置20は、ハイパーバイザ140上にゲストOS124を含む1つ以上の指示部120を備え、指示部120のサービスプロセッサ121がハードウェアを操作するためにゲストOS123上に準仮想化ドライバ124を備える。さらに、ディスク制御装置20は、制御部110、130と指示部120とが相互に通信する手段を備える。   As described above, the disk control device 20 includes two or more control units 110 and 130 including the guest OSs 113 and 133 on the hypervisor 140, and the function firmware 112 and 132 and the service processor 111 are included in the control units 110 and 130. 131, and the functional firmware 112 and 132 of the control units 110 and 130 and the service processors 111 and 131 include para-virtualized drivers 114 and 134 on the guest OS in order to operate the hardware. Further, the disk control device 20 includes one or more instruction units 120 including a guest OS 124 on the hypervisor 140, and the paravirtualized driver on the guest OS 123 so that the service processor 121 of the instruction unit 120 operates the hardware. 124 is provided. Further, the disk control device 20 includes means for the control units 110 and 130 and the instruction unit 120 to communicate with each other.

かかる構成により、24時間365日業務を停止することができないミッションクリティカル環境におけるディスク制御装置20のファームウェアの更新を実現することができる。   With this configuration, the firmware of the disk control device 20 can be updated in a mission critical environment where the business cannot be stopped for 24 hours 365 days.

また、ファームウェアの更新に係る一連の作業がコントローラ21の内部で完結するため、ホストコンピュータ10のシステム管理者による作業は不要となり、ディスク制御装置20の保守員のみでディスク制御装置20のファームウェアを更新することができる。さらに、ファームウェアの更新に係る一連の作業がコントローラ21の内部で完結するため、ディスク制御装置20を冗長コントローラ構成とする必要がなくなり、ディスク制御装置20がシングルコントローラ構成であっても、業務を停止することなくファームウェアを更新することができる。   Further, since a series of operations relating to the firmware update is completed inside the controller 21, the operation by the system administrator of the host computer 10 is not required, and the firmware of the disk control device 20 is updated only by the maintenance personnel of the disk control device 20. can do. Furthermore, since a series of operations related to firmware update is completed inside the controller 21, it is not necessary to configure the disk controller 20 as a redundant controller, and even if the disk controller 20 is configured as a single controller, operations are suspended. Firmware can be updated without

さらに、ファームウェアの更新に係る一連の作業がコントローラ21の内部で完結するため、ホストコンピュータ10でのアクセスパスの切り替え操作が発生せず、ディスク制御装置に接続しているホストコンピュータ10が多数存在する場合でも、容易にディスク制御装置20のファームウェアを更新することができる。   Furthermore, since a series of operations relating to firmware update is completed inside the controller 21, there is no access path switching operation in the host computer 10, and there are many host computers 10 connected to the disk control device. Even in this case, the firmware of the disk control device 20 can be easily updated.

さらに、各ホストコンピュータ10上にパス切替ドライバの導入や各ホストコンピュータ10とディスク制御装置20間を冗長パス構成とするためのハードウェアが不要となるため、導入コストを抑えることができる。さらに、ディスク制御装置20に切替機構を備える必要がなく、ホストインタフェース搭載数の多い大型ディスク制御装置であっても、ディスク制御装置20の製造コストを抑えることができる。   Furthermore, since it is not necessary to install a path switching driver on each host computer 10 and hardware for making a redundant path configuration between each host computer 10 and the disk controller 20, the installation cost can be reduced. Further, it is not necessary to provide the disk controller 20 with a switching mechanism, and the manufacturing cost of the disk controller 20 can be reduced even for a large disk controller having a large number of host interfaces.

さらに、コントローラ21内には更新前のファームウェアを搭載した制御部110が存在するため、例えば、ファームウェアの更新後に何らかの障害が発生した場合にも、更新前のファームウェアに戻すことも容易である。   Furthermore, since the controller 110 in which the firmware before the update is installed is present in the controller 21, for example, even when some failure occurs after the firmware is updated, it is easy to return to the firmware before the update.

(第2実施形態)
図9は、第2実施形態におけるコントローラ21を示す図である。第2実施形態におけるコントローラ21は、指示部120に代えて指示部120A(第3の仮想マシン)及び120B(第4の仮想マシン)の2つの指示部を備える点を除いて同様に構成されている。
(Second Embodiment)
FIG. 9 is a diagram illustrating the controller 21 in the second embodiment. The controller 21 in the second embodiment is configured in the same manner except that it includes two instruction units 120A (third virtual machine) and 120B (fourth virtual machine) instead of the instruction unit 120. Yes.

次に、第2実施形態のコントローラ21の動作について、図10−図13のフローチャート及び概念図を参照して説明する。なお、説明上の前提条件として下記の第1−第4の条件を定義する。   Next, operation | movement of the controller 21 of 2nd Embodiment is demonstrated with reference to the flowchart and conceptual diagram of FIGS. 10-13. The following first to fourth conditions are defined as preconditions for explanation.

第1に、プロセッサ150は、コントローラ21の初回起動直後、ホストコンピュータ10から受信するI/O要求を制御部110によって処理し、制御部130をスタンバイ状態とすると共に、各指示を指示部120Aによって担当させ、指示部120Bをスタンバイ状態とする。この場合、プロセッサ150は、次回以降のコントローラ21の起動直後の状態については、前回のコントローラ21が停止する直前の状態で復帰する。第2に、プロセッサ150は、指示部120Aによって指示部120Bのファームウェアの更新を指示する。第3に、プロセッサ150は、ファームウェアの更新完了後の指示を、指示部120Bによって担当させ、指示部120Aをスタンバイ状態とする。第4に、プロセッサ150は、更新用ファームウェアのバイナリを、外部インタフェースを介して接続した管理・監視端末から、外部インタフェース制御回路152を経由してサービスプロセッサ120Aに事前に転送する。   First, immediately after the controller 21 is activated for the first time, the processor 150 processes an I / O request received from the host computer 10 by the control unit 110, sets the control unit 130 in a standby state, and sends each instruction to the instruction unit 120A. The instruction unit 120B is put into a standby state. In this case, the processor 150 returns to the state immediately before the controller 21 is started from the next time and immediately before the previous controller 21 is stopped. Second, the processor 150 instructs the instruction unit 120A to update the firmware of the instruction unit 120B. Third, the processor 150 causes the instruction unit 120B to take charge of the instruction after the firmware update is completed, and sets the instruction unit 120A to the standby state. Fourth, the processor 150 transfers the update firmware binary in advance from the management / monitoring terminal connected via the external interface to the service processor 120A via the external interface control circuit 152.

まず、制御部130及び指示部120Bをスタンバイ状態とする動作について、図10及び図11のフローチャート及び概念図を参照して説明する。   First, the operation of setting the control unit 130 and the instruction unit 120B to the standby state will be described with reference to the flowcharts and conceptual diagrams of FIGS.

サービスプロセッサ121Aは、コントローラ21の起動過程で、制御部130をスタンバイ状態とするために、サービスプロセッサ131に対して、スタンバイとする旨の指示を行う(S300)。続いて、サービスプロセッサ121Aは、指示部120Bをスタンバイ状態とするために、サービスプロセッサ121Bに対して、スタンバイとする旨の指示を行う(S310)。   In the startup process of the controller 21, the service processor 121A instructs the service processor 131 to enter the standby state in order to place the control unit 130 in the standby state (S300). Subsequently, the service processor 121A instructs the service processor 121B to enter the standby state in order to place the instruction unit 120B in the standby state (S310).

続いて、サービスプロセッサ131は、スタンバイとする旨の指示を受信すると、制御部130をスタンバイ状態に移行させた後、サービスプロセッサ121Aに対して、スタンバイ状態となった旨の報告を行う(S320)。続いて、サービスプロセッサ121Bは、スタンバイとする旨の指示を受信すると、指示部120Bをスタンバイ状態に移行させた後、サービスプロセッサ121Aに対して、スタンバイ状態となった旨の報告を行う(S330)。   Subsequently, when the service processor 131 receives an instruction to enter the standby state, the service processor 131 shifts the control unit 130 to the standby state, and then reports to the service processor 121A that the standby state has been established (S320). . Subsequently, when the service processor 121B receives an instruction to set the standby, the service processor 121B shifts the instruction unit 120B to the standby state, and then reports to the service processor 121A that the standby state is set (S330). .

続いて、サービスプロセッサ121Aは、制御部110をアクティブ状態とするために、サービスプロセッサ111に対して、アクティブとする旨の指示を行う(S340)。続いて、サービスプロセッサ111は、アクティブとする旨の指示を受信すると、制御部110をアクティブ状態に移行させた後、サービスプロセッサ121Aに対して、アクティブ状態となった旨の報告を行う(S350)。   Subsequently, the service processor 121A instructs the service processor 111 to activate in order to activate the control unit 110 (S340). Subsequently, when the service processor 111 receives an instruction to activate, the service processor 111 shifts the control unit 110 to the active state, and then reports to the service processor 121A that the active state has been reached (S350). .

以上で、ホストコンピュータ10から受信するI/O要求は、制御部110が処理し、各指示は指示部120Aが担当する状態となる(図11)。   As described above, the I / O request received from the host computer 10 is processed by the control unit 110, and each instruction is handled by the instruction unit 120A (FIG. 11).

次に、指示部120Bのファームウェアを更新する動作について、図12及び図13のフローチャート及び概念図を参照して説明する。   Next, the operation of updating the firmware of the instruction unit 120B will be described with reference to the flowcharts and conceptual diagrams of FIGS.

サービスプロセッサ121Aは、指示部120Bのファームウェア更新の準備として、サービスプロセッサ121Bに対して、バイナリの転送を行う(S360)。続いて、サービスプロセッサ121Bは、すべてのバイナリを受信すると、サービスプロセッサ121Aに対して、バイナリを受信した旨の報告を行う(S370)。   The service processor 121A performs binary transfer to the service processor 121B as preparation for firmware update of the instruction unit 120B (S360). Subsequently, when all the binaries are received, the service processor 121B reports to the service processor 121A that the binaries have been received (S370).

続いて、サービスプロセッサ121Aは、指示部120Bのファームウェア更新を行うために、サービスプロセッサ121Bに対して、リブートを行う旨の指示を行う(S380)。続いて、サービスプロセッサ121Bは、リブートを行う旨の指示を受信すると、サービスプロセッサ121Aに対して、リブートを開始する旨の報告を行った後、指示部120Bのリブートを開始する(S390)。続いて、サービスプロセッサ121Bは、指示部120Bのリブートが完了すると、サービスプロセッサ121Aに対して、レディ状態となった旨の報告を行う(S400)。以上で、指示部120Bのファームウェアは更新済みとなる。   Subsequently, in order to update the firmware of the instruction unit 120B, the service processor 121A instructs the service processor 121B to reboot (S380). Subsequently, when the service processor 121B receives an instruction to reboot, the service processor 121B reports to the service processor 121A that the reboot is started, and then starts the reboot of the instruction unit 120B (S390). Subsequently, when the reboot of the instruction unit 120B is completed, the service processor 121B reports to the service processor 121A that the ready state is set (S400). Thus, the firmware of the instruction unit 120B has been updated.

続いて、サービスプロセッサ121Aは、サービスプロセッサ121Bに対して、アクティブとする旨の指示を行う(S410)。続いて、サービスプロセッサ121Bは、アクティブとする旨の指示を受信すると、指示部120Bをアクティブ状態に移行させた後、サービスプロセッサ121Aに対して、アクティブ状態となった旨の報告を行う(S420)。以降、指示部120Bが指示を担当する。   Subsequently, the service processor 121A instructs the service processor 121B to be active (S410). Subsequently, when the service processor 121B receives an instruction to activate, after the instruction unit 120B is shifted to the active state, the service processor 121B reports to the service processor 121A that the active state has been reached (S420). . Thereafter, the instruction unit 120B takes charge of the instruction.

続いて、サービスプロセッサ121Bは、指示部120Aをスタンバイ状態とするために、サービスプロセッサ121Aに対して、スタンバイとする旨の指示を行う(S430)。続いて、サービスプロセッサ121Aは、スタンバイとする旨の指示を受信すると、指示部120Aをスタンバイ状態に移行させた後、サービスプロセッサ121Bに対して、スタンバイ状態となった旨の報告を行う(S440)。   Subsequently, the service processor 121B instructs the service processor 121A to enter the standby state in order to place the instruction unit 120A in the standby state (S430). Subsequently, when the service processor 121A receives the instruction to enter the standby state, the service processor 121A shifts the instruction unit 120A to the standby state, and then reports to the service processor 121B that the standby state has been established (S440). .

なお、サービスプロセッサ111は、S360からS440までの間、機能ファームウェア112を実行し、ホストインタフェース制御回路153を経由してデータの入出力制御を行う(図13)。   The service processor 111 executes the function firmware 112 from S360 to S440, and performs data input / output control via the host interface control circuit 153 (FIG. 13).

かかる構成により、第1実施形態と同様の効果を得ることに加え、指示部120A及び120Bについても業務を停止することなくファームウェアを更新することができる。   With this configuration, in addition to obtaining the same effect as that of the first embodiment, the firmware of the instruction units 120A and 120B can be updated without stopping the business.

(第3実施形態)
図14は、第3実施形態におけるコントローラ21を示す図である。第3実施形態におけるコントローラ21は、制御部110(第1の仮想マシン)及び130(第2の仮想マシン)のサービスプロセッサ111及び131に、指示部120の機能を取り込んだ点を除いて同様に構成されている。
(Third embodiment)
FIG. 14 is a diagram illustrating the controller 21 in the third embodiment. The controller 21 in the third embodiment is the same except that the function of the instruction unit 120 is incorporated in the service processors 111 and 131 of the control units 110 (first virtual machine) and 130 (second virtual machine). It is configured.

次に、第3実施形態のコントローラ21の動作について、図15−図20のフローチャート及び概念図を参照して説明する。なお、説明上の前提条件として下記の第1−第4の条件を定義する。   Next, operation | movement of the controller 21 of 3rd Embodiment is demonstrated with reference to the flowchart and conceptual diagram of FIGS. 15-20. The following first to fourth conditions are defined as preconditions for explanation.

第1に、プロセッサ150は、コントローラ21の初回起動直後、ホストコンピュータ10から受信するI/O要求を制御部110によって処理し、制御部130をスタンバイ状態とする。この場合、プロセッサ150は、次回以降のコントローラ21の起動直後の状態については、前回のコントローラ21が停止する直前の状態で復帰する。第2に、プロセッサ150は、サービスプロセッサ111によって制御部130のファームウェアの更新を指示する。第3に、プロセッサ150は、ファームウェアの更新完了後、ホストコンピュータ10から受信するI/O要求を制御部130によって処理し、制御部110をスタンバイ状態とする。第4に、プロセッサ150は、外部インタフェースを介して接続した管理・監視端末から、外部インタフェース制御回路152を経由して更新用ファームウェアのバイナリをサービスプロセッサ111に事前に転送する。   First, immediately after the controller 21 is activated for the first time, the processor 150 processes an I / O request received from the host computer 10 by the control unit 110, and sets the control unit 130 in a standby state. In this case, the processor 150 returns to the state immediately before the controller 21 is started from the next time and immediately before the previous controller 21 is stopped. Second, the processor 150 instructs the service processor 111 to update the firmware of the control unit 130. Third, after the firmware update is completed, the processor 150 causes the control unit 130 to process an I / O request received from the host computer 10 and sets the control unit 110 to a standby state. Fourthly, the processor 150 transfers the update firmware binary to the service processor 111 in advance from the management / monitoring terminal connected via the external interface via the external interface control circuit 152.

まず、制御部130をスタンバイ状態とする動作について、図15及び図16のフローチャート及び概念図を参照して説明する。   First, an operation for setting the control unit 130 in the standby state will be described with reference to flowcharts and conceptual diagrams of FIGS. 15 and 16.

サービスプロセッサ111は、コントローラ21の起動過程で、制御部130をスタンバイ状態とするために、サービスプロセッサ131に対して、スタンバイとする旨の指示を行う(S500)。続いて、サービスプロセッサ131は、スタンバイとする旨の指示を受信すると、制御部130をスタンバイ状態に移行させた後、サービスプロセッサ111に対して、スタンバイ状態となった旨の報告を行う(S510)。   In the startup process of the controller 21, the service processor 111 instructs the service processor 131 to enter the standby state in order to place the control unit 130 in the standby state (S500). Subsequently, when the service processor 131 receives the instruction to enter the standby state, the service processor 131 shifts the control unit 130 to the standby state, and then reports to the service processor 111 that the standby state has been established (S510). .

以上で、ホストコンピュータ10から受信するI/O要求は、制御部110が処理する状態となる(図16)。   The I / O request received from the host computer 10 is now processed by the control unit 110 (FIG. 16).

次に、制御部130のファームウェアを更新する動作について、図17及び図18のフローチャート及び概念図を参照して説明する。   Next, the operation of updating the firmware of the control unit 130 will be described with reference to the flowcharts and conceptual diagrams of FIGS. 17 and 18.

サービスプロセッサ111は、制御部130のファームウェア更新の準備として、サービスプロセッサ131に対して、バイナリの転送を行う(S520)。続いて、サービスプロセッサ131は、すべてのバイナリを受信すると、サービスプロセッサ111に対して、バイナリを受信した旨の報告を行う(S530)。   The service processor 111 performs binary transfer to the service processor 131 in preparation for firmware update of the control unit 130 (S520). Subsequently, when all the binaries are received, the service processor 131 reports to the service processor 111 that the binaries have been received (S530).

続いて、サービスプロセッサ111は、制御部130のファームウェア更新を行うために、サービスプロセッサ131に対してリブートを行う旨の指示を行う(S540)。続いて、サービスプロセッサ131は、リブートを行う旨の指示を受信すると、サービスプロセッサ111に対して、リブートを開始する旨の報告を行った後、制御部130のリブートを開始する(S550)。続いて、サービスプロセッサ131は、制御部130のリブートが完了すると、サービスプロセッサ111に対して、レディ状態となった旨の報告を行う(S560)。   Subsequently, the service processor 111 instructs the service processor 131 to reboot in order to update the firmware of the control unit 130 (S540). Subsequently, when the service processor 131 receives an instruction to reboot, the service processor 131 reports to the service processor 111 that the reboot is started, and then starts the reboot of the control unit 130 (S550). Subsequently, when the reboot of the control unit 130 is completed, the service processor 131 reports to the service processor 111 that the ready state has been established (S560).

以上で、制御部130のファームウェアは、更新済みとなる。なお、サービスプロセッサ111は、S520からS560までの間、機能ファームウェア112を実行し、ホストインタフェース制御回路153を経由してデータの入出力制御を行う(図18)。   As described above, the firmware of the control unit 130 is updated. The service processor 111 executes the function firmware 112 from S520 to S560, and performs data input / output control via the host interface control circuit 153 (FIG. 18).

次に、I/O要求を制御部130において処理するための動作について、図19及び図20のフローチャート及び概念図を参照して説明する。   Next, an operation for processing an I / O request in the control unit 130 will be described with reference to flowcharts and conceptual diagrams of FIGS. 19 and 20.

サービスプロセッサ111は、今後、ホストコンピュータ10から受信するI/O要求について、制御部130において処理するために、サービスプロセッサ131に対して、アクティブとする旨の指示を行う(S570)。続いて、サービスプロセッサ131は、アクティブとする旨の指示を受信すると、制御部130をアクティブ状態に移行させた後、サービスプロセッサ111に対して、アクティブ状態となった旨の報告を行う(S580)。以降、ホストコンピュータ10からのI/O要求は、制御部130において受信し、処理する。   The service processor 111 instructs the service processor 131 to make it active in order for the control unit 130 to process an I / O request received from the host computer 10 in the future (S570). Subsequently, when the service processor 131 receives an instruction to activate, the service processor 131 shifts the control unit 130 to the active state, and then reports to the service processor 111 that the active state has been reached (S580). . Thereafter, I / O requests from the host computer 10 are received by the control unit 130 and processed.

続いて、サービスプロセッサ131は、制御部110をスタンバイ状態とするために、サービスプロセッサ111に対して、スタンバイとする旨の指示を行う(S590)。続いて、サービスプロセッサ111は、スタンバイとする旨の指示を受信すると、制御部110が既にホストコンピュータ10から受信したI/O要求がある場合には、サービスプロセッサ131に対して、受信済のI/O要求を処理中である旨の報告を行い(S600)、制御部110がすべての受信済のI/O要求の処理するまで当該I/O要求の処理を継続する。   Subsequently, the service processor 131 instructs the service processor 111 to enter the standby state in order to place the control unit 110 in the standby state (S590). Subsequently, when the service processor 111 receives an instruction to enter standby, if there is an I / O request that the control unit 110 has already received from the host computer 10, the service processor 111 sends a received I / O request to the service processor 131. Reports that the / O request is being processed (S600), and continues processing the I / O request until the control unit 110 processes all the received I / O requests.

続いて、サービスプロセッサ111は、制御部110がホストコンピュータ10から受信したI/O要求で未処理のものがなければ、制御部110をスタンバイ状態に移行させた後、サービスプロセッサ131に対して、スタンバイ状態となった旨の報告を行う(S610)。   Subsequently, if there is no unprocessed I / O request received by the control unit 110 from the host computer 10, the service processor 111 shifts the control unit 110 to the standby state, A report to the effect that the standby state has been reached is made (S610).

なお、サービスプロセッサ111は、S570からS580までの間、機能ファームウェア112を実行し、ホストインタフェース制御回路153を経由してデータの入出力制御を行う(図20)。そして、サービスプロセッサ111は、S590以降、ホストコンピュータ10からの新規のI/O要求を受領せず、既に受領済みのI/O要求がゼロになるまで、処理を継続する。サービスプロセッサ131は、S580以降、直ちに機能ファームウェア132を実行し、ホストインタフェース制御回路153を経由してデータの入出力制御を行う(図20)。   The service processor 111 executes the function firmware 112 from S570 to S580, and performs data input / output control via the host interface control circuit 153 (FIG. 20). Then, after S590, the service processor 111 does not receive a new I / O request from the host computer 10, and continues the process until the already received I / O request becomes zero. After S580, the service processor 131 immediately executes the function firmware 132 and performs data input / output control via the host interface control circuit 153 (FIG. 20).

かかる構成により、第1実施形態と同様の効果を得ることができる。   With this configuration, the same effect as that of the first embodiment can be obtained.

なお、本実施形態においては、コントローラ21のシングルコントローラ構成に適用した場合について述べたが、本発明はこれに限らず、例えば、図21、図22におけるディスク制御装置20、40のような冗長構成のコントローラに適用するようにしても良く、この他種々の形態のディスク制御装置に適用することができる。   In the present embodiment, the case where the present invention is applied to the single controller configuration of the controller 21 has been described. However, the present invention is not limited to this, and for example, a redundant configuration such as the disk control devices 20 and 40 in FIGS. The present invention may be applied to other controllers, and may be applied to various other forms of disk control devices.

本発明は、24時間365日業務を停止することができないミッションクリティカル環境において、ホストコンピュータから送信されるデータのディスクに対する入出力制御を行うディスク制御装置のほか、この他種々のミッションクリティカル環境において、ファームウェアを更新する情報処理装置やサーバ装置などのファームウェア組込み製品に適用することができる。   In the mission critical environment where the operation cannot be stopped 24 hours a day, 365 days a day, in addition to the disk control device for performing input / output control to the disk of data transmitted from the host computer, in various other mission critical environments, The present invention can be applied to firmware embedded products such as information processing apparatuses and server apparatuses that update firmware.

10……ホストコンピュータ、20……ディスク制御装置、21……コントローラ、22……ディスク、110、130……制御部、120、120A、120B……指示部、111、121、121A、121B、131……サービスプロセッサ、112、132……機能ファームウェア、113、123、123A、123B、133……ゲストOS、114、124、124A、124B、134……準仮想化ドライバ、140……ハイパーバイザ、150……プロセッサ、151……メモリ、152……外部インタフェース制御回路、153……ホストインタフェース制御回路、154……ディスクインタフェース制御回路、155……コントローラ間通信制御回路 DESCRIPTION OF SYMBOLS 10 ... Host computer, 20 ... Disk control apparatus, 21 ... Controller, 22 ... Disk, 110, 130 ... Control part, 120, 120A, 120B ... Instruction part, 111, 121, 121A, 121B, 131 ... Service processor, 112,132 ... Function firmware, 113, 123, 123A, 123B, 133 ... Guest OS, 114, 124, 124A, 124B, 134 ... Paravirtualized driver, 140 ... Hypervisor, 150 ...... Processor 151 151 Memory 152 External interface control circuit 153 Host interface control circuit 154 Disk interface control circuit 155 Inter-controller communication control circuit

Claims (4)

コンピュータに仮想マシン環境を提供するハイパーバイザと、
前記仮想マシン環境において動作する第1〜第3の仮想マシンと
を備え、
前記第1及び第2の仮想マシンは、
ホストコンピュータから送信されるデータの入出力要求を処理する機能
を備え、
前記第3の仮想マシンは、
第1及び第2の仮想マシンの一方を停止状態とし、第1及び第2の仮想マシンの他方を稼働状態とした後、前記一方の仮想マシンのファームウェアを更新するように指示し、前記一方の仮想マシンのファームウェアが更新され、前記他方の仮想マシンにおけるデータの入出力要求の処理が終了したときに、前記他方の仮想マシンを停止状態とし、前記一方の仮想マシンを稼働状態とする機能
を備えることを特徴とする情報処理装置。
A hypervisor that provides a virtual machine environment to the computer;
First to third virtual machines operating in the virtual machine environment,
The first and second virtual machines are
It has a function to process data input / output requests sent from the host computer.
The third virtual machine is
After one of the first and second virtual machines is stopped and the other of the first and second virtual machines is in an operating state, an instruction is given to update the firmware of the one virtual machine. When the firmware of the virtual machine is updated and the processing of the data input / output request in the other virtual machine ends, the other virtual machine is brought into a stopped state and the one virtual machine is put into an operating state. An information processing apparatus characterized by that.
前記仮想マシン環境において動作する第4の仮想マシン
を備え、
前記第4の仮想マシンは、
前記第1及び第2の仮想マシンの一方を停止状態とし、前記第1及び第2の仮想マシンの他方を稼働状態とした後、前記一方の仮想マシンのファームウェアを更新するように指示し、前記一方の仮想マシンのファームウェアが更新され、前記他方の仮想マシンにおけるデータの入出力要求の処理が終了したときに、前記他方の仮想マシンを停止状態とし、前記一方の仮想マシンを稼働状態とし、
前記第3及び前記第4の仮想マシンのうち一方は、
前記第3及び前記第4の仮想マシンの他方を停止状態とし、前記他方の仮想マシンのファームウェアを更新するように指示し、当該ファームウェアが更新されたときに、自己を停止状態とし、前記他方の仮想マシンを稼働状態とする
ことを特徴とする請求項1に記載の情報処理装置。
A fourth virtual machine operating in the virtual machine environment,
The fourth virtual machine is
Instructing one of the first and second virtual machines to be in a stopped state and the other of the first and second virtual machines to be in an operating state, and then updating the firmware of the one virtual machine, When the firmware of one virtual machine is updated and the processing of the data input / output request in the other virtual machine is completed, the other virtual machine is stopped, the one virtual machine is turned on,
One of the third and fourth virtual machines is
The other of the third and fourth virtual machines is put into a stopped state, and the firmware of the other virtual machine is instructed to be updated. The information processing apparatus according to claim 1, wherein the virtual machine is in an operating state.
コンピュータに仮想マシン環境を提供するハイパーバイザと、
前記仮想マシン環境において動作する第1及び第2の仮想マシンと
を備え、
前記第1及び第2の仮想マシンは、
ホストコンピュータから送信されるデータの入出力要求を処理する機能と、
第1及び第2の仮想マシンの他方を停止状態とし、自己を稼働状態とした後、前記他方の仮想マシンのファームウェアを更新するように指示し、前記他方の仮想マシンのファームウェアが更新され、自己のデータの入出力要求の処理が終了したときに、自己を停止状態とし、前記他方の仮想マシンを稼働状態とする機能と
を備えることを特徴とする情報処理装置。
A hypervisor that provides a virtual machine environment to the computer;
First and second virtual machines operating in the virtual machine environment,
The first and second virtual machines are
A function to process data input / output requests sent from the host computer;
After the other one of the first and second virtual machines is stopped and put into operation, it is instructed to update the firmware of the other virtual machine, the firmware of the other virtual machine is updated, An information processing apparatus, comprising: a function of bringing the other virtual machine into an operating state when the processing of the data input / output request is completed.
コンピュータに仮想マシン環境を提供するハイパーバイザと、前記仮想マシン環境において動作する第1〜第3の仮想マシンを有する情報処理装置の制御方法であって、
前記第1及び第2の仮想マシンが、ホストコンピュータから送信されるデータの入出力要求を処理する第1のステップと、
前記第3の仮想マシンが、第1及び第2の仮想マシンの一方を停止状態とし、第1及び第2の仮想マシンの他方を稼働状態とする第2のステップと、
前記第3の仮想マシンが、前記一方の仮想マシンのファームウェアを更新するように指示し、前記一方の仮想マシンのファームウェアが更新され、前記他方の仮想マシンにおけるデータの入出力要求の処理が終了したときに、前記他方の仮想マシンを停止状態とし、前記他方の仮想マシンを稼働状態とする第3のステップと
を備えることを特徴とする情報処理装置の制御方法。
A hypervisor that provides a virtual machine environment to a computer, and a control method for an information processing apparatus having first to third virtual machines that operate in the virtual machine environment,
A first step in which the first and second virtual machines process an input / output request for data transmitted from a host computer;
A second step in which the third virtual machine places one of the first and second virtual machines in a stopped state and the other of the first and second virtual machines in an operating state;
The third virtual machine instructs to update the firmware of the one virtual machine, the firmware of the one virtual machine is updated, and the processing of the data input / output request in the other virtual machine is completed And a third step of placing the other virtual machine in a stopped state and placing the other virtual machine in an operating state.
JP2009274679A 2009-12-02 2009-12-02 Information processing device Expired - Fee Related JP5532874B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009274679A JP5532874B2 (en) 2009-12-02 2009-12-02 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009274679A JP5532874B2 (en) 2009-12-02 2009-12-02 Information processing device

Publications (2)

Publication Number Publication Date
JP2011118606A true JP2011118606A (en) 2011-06-16
JP5532874B2 JP5532874B2 (en) 2014-06-25

Family

ID=44283862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009274679A Expired - Fee Related JP5532874B2 (en) 2009-12-02 2009-12-02 Information processing device

Country Status (1)

Country Link
JP (1) JP5532874B2 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259434A (en) * 1999-03-05 2000-09-22 Hitachi Ltd Logical interval type computer system
JP2002328813A (en) * 2001-04-27 2002-11-15 Hitachi Ltd Method for correcting program
WO2004081791A1 (en) * 2003-03-13 2004-09-23 Fujitsu Limited Virtual computer system, firmware update method for virtual computer system
JP2006221649A (en) * 2005-02-11 2006-08-24 Dell Products Lp System and method for managing central software in virtual machine
JP2007506169A (en) * 2003-09-17 2007-03-15 インターナショナル・ビジネス・マシーンズ・コーポレーション Management processing method, management system, and computer program in a computing environment including virtual machine startup
JP2008171076A (en) * 2007-01-09 2008-07-24 Vision Arts Kk Job execution device and its control method
JP2008276546A (en) * 2007-04-27 2008-11-13 Toshiba Corp Information processor and information processing system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259434A (en) * 1999-03-05 2000-09-22 Hitachi Ltd Logical interval type computer system
JP2002328813A (en) * 2001-04-27 2002-11-15 Hitachi Ltd Method for correcting program
WO2004081791A1 (en) * 2003-03-13 2004-09-23 Fujitsu Limited Virtual computer system, firmware update method for virtual computer system
JP2007506169A (en) * 2003-09-17 2007-03-15 インターナショナル・ビジネス・マシーンズ・コーポレーション Management processing method, management system, and computer program in a computing environment including virtual machine startup
JP2006221649A (en) * 2005-02-11 2006-08-24 Dell Products Lp System and method for managing central software in virtual machine
JP2008171076A (en) * 2007-01-09 2008-07-24 Vision Arts Kk Job execution device and its control method
JP2008276546A (en) * 2007-04-27 2008-11-13 Toshiba Corp Information processor and information processing system

Also Published As

Publication number Publication date
JP5532874B2 (en) 2014-06-25

Similar Documents

Publication Publication Date Title
US9965304B2 (en) Delayed hardware upgrades in virtualization systems
EP2624133B1 (en) Network topology-aware recovery automation
US10514930B2 (en) Setting a startup parameter and controlling startup of a mainboard
US20160210168A1 (en) Reconfiguring virtual machines
US9454397B2 (en) Data processing systems
US9063816B2 (en) Method and apparatus for updating firmware on a storage device
CN102591675A (en) Method and system for management of multiple software images with shared memory blocks
TW201015439A (en) Systems and methods for installing a bootable virtual storage appliance on a virtualized server platform
EP2624132B1 (en) Recovery automation in heterogeneous environments
JP2008123412A (en) Computer system, system software upgrade method, and first server device
WO2021136200A1 (en) Bootloader loading method, storage medium, and embedded terminal
JP6750605B2 (en) Computer system, baseboard management controller, OS installation method, and program
WO2016033941A1 (en) Boot on-line upgrading apparatus and method
US11861357B2 (en) Selecting and sending subset of components to computing device prior to operating system install
JP4692912B2 (en) Resource allocation system and resource allocation method
CN115981685A (en) Application upgrading method and device, computing equipment and chip system
JP2007516536A (en) Method and apparatus for handling hot key input using interrupt handling visible to the operating system
US10567239B2 (en) Techniques of providing data to screen saver of thin client
US20180012569A1 (en) On-screen display at thin client
JP5532874B2 (en) Information processing device
US20120284711A1 (en) Method and Arrangement for Configuring a Resource for a Virtual Runtime Environment
US10210004B2 (en) Method of providing at least one data carrier for a computer system and computer system including service processor independently operable from a main processor of the computer system
JP7318799B2 (en) Information processing device, operation control method and operation control program
CN104285211A (en) Periodic access of hardware resource
CN115509590A (en) Continuous deployment method and computer equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130917

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

R150 Certificate of patent or registration of utility model

Ref document number: 5532874

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140414

LAPS Cancellation because of no payment of annual fees