JP2009163658A - Input/output controller and its firmware update method - Google Patents

Input/output controller and its firmware update method Download PDF

Info

Publication number
JP2009163658A
JP2009163658A JP2008002883A JP2008002883A JP2009163658A JP 2009163658 A JP2009163658 A JP 2009163658A JP 2008002883 A JP2008002883 A JP 2008002883A JP 2008002883 A JP2008002883 A JP 2008002883A JP 2009163658 A JP2009163658 A JP 2009163658A
Authority
JP
Japan
Prior art keywords
input
output
firmware
storage area
queuing
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.)
Pending
Application number
JP2008002883A
Other languages
Japanese (ja)
Inventor
Norishige Shimizu
徳重 清水
Yusaku Kiyota
雄策 清田
Toshiaki Miyakoshi
利晋 宮越
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008002883A priority Critical patent/JP2009163658A/en
Publication of JP2009163658A publication Critical patent/JP2009163658A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an input/output controller capable of updating firmware within time monitoring on the program side requesting input/output operation and within time monitoring with respect to an asynchronous event from an input/output device. <P>SOLUTION: The input/output controller 30 is provided with a control unit 34 which queues an input/output start instruction from a computer 10 in an input/output operation start instruction queuing storage region 32 while firmware stored in a firmware storage region 31 is being updated, queues an asynchronous event reported by an input/output device 40 in an asynchronous event queuing storage region 33, dequeues an input/output operation start instruction queued in an input/output operation start instruction queuing storage region 32 and an asynchronous event from the input/output device 40 queuing in an asynchronous event queuing storage region 33 after the firmware has been updated, and restarts them. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、入出力ドライバからの入出力命令に従い接続先の各入出力装置に対して入出力動作を行う入出力制御装置に関し、特に、そのファームウェア更新をシステム稼動中に行う技術に関する。   The present invention relates to an input / output control device that performs an input / output operation for each input / output device to be connected in accordance with an input / output command from an input / output driver, and more particularly, to a technique for performing firmware update during system operation.

従来、入出力ドライバからの入出力命令に従い接続先の各入出力装置に対して入出力動作を行う入出力制御装置においては、入出力動作中に入出力制御装置のファームウェア更新を行うことは動作中の入出力動作が失敗してしまうため、例えば、特許第3437083号公報(特許文献1)で開示されている回避方法がある。   Conventionally, in an input / output control device that performs input / output operations to each connected input / output device in accordance with an input / output command from an input / output driver, it is possible to update the firmware of the input / output control device during the input / output operation. For example, there is an avoidance method disclosed in Japanese Patent No. 3437083 (Patent Document 1).

この特許文献1に記載されている技術は、上位装置との結合中にファームウェアを更新する機能を有する入出力制御装置であって、ファームウェアの更新中に上位装置に対してビジー応答を行うビジー応答機能を割込み処理機能として有する第1の割込み制御部と、該第1の割込み制御部についてのファームウェアの更新中に該第1の割込み制御部に代わって上位装置に対してビジー応答を行うビジー応答機能のみを割込み処理機能として有する第2の割込み制御部を有し、ファームウェアの更新後にビジー応答を行った該上位装置に対してビジー解除報告を行う入出力制御装置に関するものである。   The technology described in Patent Document 1 is an input / output control device having a function of updating firmware during connection with a host device, and performing a busy response to the host device during firmware update A first interrupt control unit having a function as an interrupt processing function, and a busy response for performing a busy response to a higher-level device on behalf of the first interrupt control unit during a firmware update for the first interrupt control unit The present invention relates to an input / output control device that has a second interrupt control unit that has only a function as an interrupt processing function, and issues a busy release report to the host device that has made a busy response after firmware update.

特許文献1の技術によれば、ファームウェアの更新中の上位からの入出力命令はビジー応答されるため、ビジー状態が解除されるまで入出力動作が実行されることがなく、システム稼動中でもファームウェアのアップデートを行うことができる。
特許第3437083号公報
According to the technique of Patent Document 1, since the input / output instruction from the upper level during the firmware update is busy-responseed, the input / output operation is not executed until the busy state is canceled, and the firmware is not updated even during system operation. Updates can be made.
Japanese Patent No. 3437083

しかしながら、特許文献1では、ファームウェアとは別にビジー応答を行う割込み制御部が必要であり、そのような制御部を保持していない入出力制御装置では、システム稼動中にファームウェアのアップデートを行うことができない。   However, Patent Document 1 requires an interrupt control unit that performs a busy response separately from firmware, and an input / output control device that does not have such a control unit can update the firmware during system operation. Can not.

また、入出力動作をビジー応答で抑止しても、ファームウェア更新に時間がかかり、ビジー解除までに入出力動作を要求したプログラム側で、ビジー解除待ちの時間監視でタイムアウトを検出して入出力動作が異常終了しまうという問題があった。また、入出力装置から報告される非同期のイベントに対してビジー応答したとしても入出力装置側でタイムアウトを検出して異常終了してしまうという問題があった。   Even if the I / O operation is suppressed by a busy response, it takes time to update the firmware. On the program side that requested the I / O operation before the busy release, the timeout is detected by monitoring the waiting time for busy release and the I / O operation is performed. There was a problem that ended abnormally. In addition, even if a busy response is made to an asynchronous event reported from the input / output device, there is a problem that the input / output device side detects a timeout and terminates abnormally.

そこで、本発明の目的は、入出力動作を要求したプログラム側での時間監視および入出力装置からの非同期のイベントに対する時間監視内にファームウェア更新を行うことができる入出力制御装置およびそのファームウェア更新方法を提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to provide an input / output control device capable of performing firmware monitoring within time monitoring on a program side that has requested an input / output operation and time monitoring for an asynchronous event from the input / output device, and a firmware updating method thereof. Is to provide.

本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。   The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。   Of the inventions disclosed in the present application, the outline of typical ones will be briefly described as follows.

すなわち、代表的なものの概要は、ファームウェア格納領域に格納されたファームウェアの更新中は、コンピュータからの入出力動作開始指示を入出力動作開始指示キューイング格納領域へキューイングし、入出力装置から報告される非同期のイベントを非同期イベントキューイング格納領域へキューイングし、ファームウェアの更新終了後に、入出力動作開始指示キューイング格納領域にキューイングしていた入出力動作開始指示および非同期イベントキューイング格納領域にキューイングしていた入出力装置からの非同期イベントをデキューして再開する処理を行う制御部を備えたものである。   In other words, the outline of a typical one is that, during the update of the firmware stored in the firmware storage area, the input / output operation start instruction from the computer is queued to the input / output operation start instruction queuing storage area and reported from the input / output device. I / O operation start instruction and asynchronous event queuing storage area that have been queued in the I / O operation start instruction queuing storage area after the firmware update is completed. And a control unit that performs a process of dequeuing and restarting an asynchronous event from the input / output device that has been queued.

本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。   Among the inventions disclosed in the present application, effects obtained by typical ones will be briefly described as follows.

すなわち、代表的なものによって得られる効果は、入出力制御装置を有するシステムにおいて、システム稼動中であっても入出力動作を要求したプログラム側での時間監視および入出力装置からの非同期のイベントに対する時間監視内に入出力制御装置のファームウェア更新を実施することができる。   In other words, the effect obtained by a typical one is that in a system having an input / output control device, even when the system is operating, the time monitoring on the program side that requested the input / output operation and the asynchronous event from the input / output device The firmware of the input / output control device can be updated within the time monitoring.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.

図1により、本発明の一実施の形態に係る入出力制御装置の構成および動作の概要について説明する。図1は本発明の一実施の形態に係る入出力制御装置の構成を示す構成図である。   With reference to FIG. 1, an outline of the configuration and operation of an input / output control apparatus according to an embodiment of the present invention will be described. FIG. 1 is a configuration diagram showing the configuration of an input / output control apparatus according to an embodiment of the present invention.

図1において、入出力制御装置30は、更新ファームウェア一時退避領域21を保持した入出力ドライバ20を介して、コンピュータ10に接続され、また、入出力動作を行う入出力装置40に接続されている。   In FIG. 1, an input / output control device 30 is connected to a computer 10 via an input / output driver 20 holding an update firmware temporary save area 21, and is connected to an input / output device 40 that performs input / output operations. .

コンピュータ10は、内部のシステムメモリ11内に、入出力装置40への入出力命令を発行する入出力プログラム12と、入出力制御装置30のファームウェアを更新するためのファームウェア更新プログラム13が格納され、コンピュータ10は、システムメモリ11内の入出力プログラム12およびファームウェア更新プログラム13をCPUなどで実行することにより、入出力処理やファームウェア更新処理を行っている。   The computer 10 stores an input / output program 12 for issuing an input / output command to the input / output device 40 and a firmware update program 13 for updating the firmware of the input / output control device 30 in the internal system memory 11. The computer 10 performs input / output processing and firmware update processing by executing the input / output program 12 and the firmware update program 13 in the system memory 11 by a CPU or the like.

入出力制御装置30は、入出力動作を制御するファームウェアが格納されているファームウェア格納領域31、入出力ドライバ20からの入出力動作開始指示をキューイングする入出力動作開始指示キューイング格納領域32、入出力装置40からの非同期イベントをキューイングする非同期イベントキューイング格納領域33および入出力制御装置30全体の制御を行う制御部34を保持しており、制御部34はファームウェア格納領域31に格納されているファームウェアにより入出力動作を制御している。   The input / output control device 30 includes a firmware storage area 31 in which firmware for controlling input / output operations is stored, an input / output operation start instruction queuing storage area 32 for queuing input / output operation start instructions from the input / output driver 20, An asynchronous event queuing storage area 33 for queuing asynchronous events from the input / output device 40 and a control unit 34 for controlling the entire input / output control device 30 are held. The control unit 34 is stored in the firmware storage area 31. I / O operations are controlled by the firmware.

なお、図1においては、入出力ドライバ20と入出力制御装置30を分けているが、入出力ドライバ20を含んだ入出力制御装置30の構成としてもよい。   In FIG. 1, the input / output driver 20 and the input / output control device 30 are separated, but the configuration of the input / output control device 30 including the input / output driver 20 may be used.

入出力動作は、コンピュータ10のシステムメモリ11上の入出力プログラム12により入出力命令が発行され、入出力制御装置30内の入出力ドライバ20が入出力命令内容を読出し入出力動作開始を指示する。   In the input / output operation, an input / output command is issued by the input / output program 12 on the system memory 11 of the computer 10, and the input / output driver 20 in the input / output control device 30 reads the contents of the input / output command and instructs the start of the input / output operation. .

その後、ファームウェア格納領域31に格納されているファームウェアと入出力装置40との間で入出力動作が実行され、入出力動作終了時にファームウェアが入出力動作完了を入出力ドライバ20に通知し、入出力ドライバ20が入出力プログラム12へ完了報告することにより行われる。   Thereafter, an input / output operation is executed between the firmware stored in the firmware storage area 31 and the input / output device 40. When the input / output operation ends, the firmware notifies the input / output driver 20 of the completion of the input / output operation. This is done by the driver 20 reporting the completion to the input / output program 12.

ファームウェア更新は、コンピュータ10のシステムメモリ11上のファームウェア更新プログラム13が更新指示することにより開始する。更新指示を受け取った入出力ドライバ20がシステムメモリ11から更新するファームウェアを読出し、更新ファームウェア一時退避領域21へ退避する。   The firmware update starts when the firmware update program 13 on the system memory 11 of the computer 10 issues an update instruction. The input / output driver 20 that has received the update instruction reads the firmware to be updated from the system memory 11 and saves it in the update firmware temporary save area 21.

一時的に保持するのは、更新するファームウェアのファイル読出しは、入出力動作とは非同期で実施することができ入出力動作に影響を及ぼすことがなく、ファームウェア更新時にファイル読出しに要する時間を無くしファームウェアの更新を高速で行うためである。   Temporarily stored is that the firmware file to be updated can be read asynchronously with the input / output operation without affecting the input / output operation, eliminating the time required to read the file when updating the firmware. This is because the update is performed at high speed.

そして、入出力ドライバ20は、ファームウェア更新開始を指示する。入出力制御装置30の制御部34は、ファームウェア格納領域31に格納されているファームウェアにより、入出力ドライバ20からのファームウェア更新指示を受け取ると実行中の入出力動作があれば入出力動作が終了するのを待つ。   Then, the input / output driver 20 instructs the firmware update start. When the control unit 34 of the input / output control device 30 receives a firmware update instruction from the input / output driver 20 by the firmware stored in the firmware storage area 31, the input / output operation ends if there is an input / output operation being executed. Wait for

入出力動作が終了すると、入出力ドライバ20に対してファームウェア更新開始が可能であることを通知する。入出力制御装置30からの更新開始通知を受け取った入出力ドライバ20は、入出力開始の指示を一時ストップさせて、更新ファームウェア一時退避領域21に退避していた更新ファームウェアをファームウェア格納領域31へ書き込む指示をして、ファームウェア更新を行いファームウェアの再スタートを指示する。   When the input / output operation ends, the input / output driver 20 is notified that the firmware update can be started. Upon receiving the update start notification from the input / output control device 30, the input / output driver 20 temporarily stops the input / output start instruction and writes the update firmware saved in the update firmware temporary save area 21 to the firmware storage area 31. An instruction is given to update the firmware and instruct to restart the firmware.

その後、入出力ドライバ20は、ファームウェア更新プログラム13へ完了を通知することによりファームウェア更新が完了する。   Thereafter, the input / output driver 20 notifies the firmware update program 13 of the completion, thereby completing the firmware update.

システム稼動中にファームウェア更新を行うということは、入出力プログラム12からの入出力動作、入出力装置40からの非同期イベントおよびファームウェア更新は、排他で実行され、入出力動作や非同期イベントに影響することなくファームウェア更新を行うことが必要である。   Updating the firmware while the system is operating means that the input / output operation from the input / output program 12, the asynchronous event from the input / output device 40, and the firmware update are executed exclusively and affect the input / output operation and the asynchronous event. It is necessary to update the firmware.

次に、図2および図3により、本発明の一実施の形態に係る入出力制御装置のファームウェア更新処理について説明する。図2は本発明の一実施の形態に係る入出力制御装置のファームウェア更新までの処理を示す処理フローであり、入出力プログラム12から発行された入出力命令(以下、入出力命令1という)を実施中にファームウェア更新プログラム13からファームウェア更新指示を受けてからファームウェア更新までの入出力制御装置30での処理を示し、図3は本発明の一実施の形態に係る入出力制御装置のファームウェア更新後の処理を示す処理フローである。   Next, the firmware update process of the input / output control apparatus according to the embodiment of the present invention will be described with reference to FIGS. FIG. 2 is a processing flow showing processing up to firmware update of the input / output control apparatus according to the embodiment of the present invention. An input / output instruction (hereinafter referred to as input / output instruction 1) issued from the input / output program 12 is shown in FIG. FIG. 3 shows the processing in the input / output control device 30 from the time the firmware update instruction is received from the firmware update program 13 to the firmware update during execution, and FIG. 3 shows after the firmware update of the input / output control device according to the embodiment of the present invention. It is a processing flow which shows this process.

まず、入出力命令1を受けた入出力ドライバ20は、入出力制御装置30に対して入出力命令1の開始を指示する(ステップ101)。入出力命令1を受け取った入出力制御装置30は、入出力装置40に対しての入出力動作を開始する(ステップ201)。   First, the input / output driver 20 that has received the input / output command 1 instructs the input / output control device 30 to start the input / output command 1 (step 101). The input / output control device 30 that has received the input / output command 1 starts an input / output operation for the input / output device 40 (step 201).

次に、ファームウェア更新指示を受け取った入出力ドライバ20は、更新ファームウェアを読出し一時領域へ保存する(ステップ102)。   Next, the input / output driver 20 that has received the firmware update instruction reads the updated firmware and stores it in the temporary area (step 102).

一時的に保持するのは、ファイル読出しに要する時間を無くしファームウェアの更新を高速で行うためである。その後、入出力制御装置30に対してファームウェア更新開始を指示する(ステップ103)。   The reason for temporarily holding is to eliminate the time required for file reading and to update the firmware at high speed. Thereafter, it instructs the input / output control device 30 to start firmware update (step 103).

ファームウェア更新開始の指示を受け取った入出力制御装置30の制御部34は、入出力制御装置30内のハードウェアに対して入出力ドライバ20からの新規入出力開始の指示および入出力装置からの非同期イベントをキューイングするように指示する(ステップ202)。   The control unit 34 of the input / output control device 30 that has received the firmware update start instruction instructs the hardware in the input / output control device 30 to start a new input / output from the input / output driver 20 and asynchronously from the input / output device. Instruct to queue the event (step 202).

その後の入出力ドライバ20からの新規入出力動作2開始の指示(ステップ104)は、入出力制御装置30内のハードウェアが入出力動作開始指示キューイング格納領域32へキューイングし(ステップ203)、入出力装置40からの非同期イベントに対しては同様に非同期イベントキューイング格納領域33へキューイングする(ステップ204)。   Subsequent instructions for starting a new input / output operation 2 from the input / output driver 20 (step 104) are queued in the input / output operation start instruction queuing storage area 32 by the hardware in the input / output control device 30 (step 203). Similarly, an asynchronous event from the input / output device 40 is queued in the asynchronous event queuing storage area 33 (step 204).

この間、入出力制御装置30と入出力装置40の間では継続して入出力動作1が行われている。入出力動作1が終了したら入出力制御装置30は入出力ドライバ20へ終了通知を報告し(ステップ205)、入出力ドライバ20は入出力動作1終了を入出力プログラム12へ報告する(ステップ105)。   During this time, the input / output operation 1 is continuously performed between the input / output control device 30 and the input / output device 40. When the input / output operation 1 is completed, the input / output control device 30 reports an end notification to the input / output driver 20 (step 205), and the input / output driver 20 reports the end of the input / output operation 1 to the input / output program 12 (step 105). .

入出力制御装置30は、入出力動作1が終了したことにより、ファームウェア更新が可能となったことを入出力ドライバ20へ通知し(ステップ206)、更新待ちの状態となる(ステップ207)。ファームウェア更新可能通知を受け取った入出力ドライバ20は、入出力動作開始の指示を一時ストップさせ、ファームウェアの更新を行う(ステップ106)。   The input / output control device 30 notifies the input / output driver 20 that the firmware can be updated when the input / output operation 1 is completed (step 206), and enters an update waiting state (step 207). The input / output driver 20 that has received the firmware update availability notification temporarily stops the input / output operation start instruction and updates the firmware (step 106).

ステップ203およびステップ204を実施する理由は、入出力動作1が終了するまでに、入出力プログラム12からの新規入出力動作開始の指示および入出力装置40からの非同期イベントをファームウェアが受け付けてしまうと受け付けた動作が終了するまで更新指示が行えないためであり、ファームウェア更新が長時間保留される現象を防ぐためである。   The reason why Step 203 and Step 204 are executed is that the firmware accepts an instruction to start a new input / output operation from the input / output program 12 and an asynchronous event from the input / output device 40 by the end of the input / output operation 1. This is because the update instruction cannot be performed until the accepted operation is completed, and this prevents the phenomenon that the firmware update is suspended for a long time.

本実施の形態では、ファームウェア更新前に実行中の入出力動作が1つのときを一例で示しているが、複数の入出力動作を実行している場合もある。複数の入出力動作が実行中の場合には、動作中の全ての入出力動作が終了したあとにファームウェア更新可能を入出力ドライバ20へ通知する。   In this embodiment, the case where one input / output operation is being executed before firmware update is shown as an example, but a plurality of input / output operations may be executed. When a plurality of input / output operations are being executed, the firmware update is notified to the input / output driver 20 after all the input / output operations in progress are completed.

入出力ドライバ20からのファームウェアの更新を実施中は、入出力制御装置30内のファームウェア動作はストップしている。このファームウェア更新中においても、新規入出力動作開始要求および非同期イベント受信が発生することがあるが、入出力制御装置30内の全てハードウェアでキューイングする(ステップ208)。   While updating the firmware from the input / output driver 20, the firmware operation in the input / output control device 30 is stopped. Even during this firmware update, a new I / O operation start request and asynchronous event reception may occur, but all the hardware in the I / O controller 30 is queued (step 208).

入出力ドライバ20によるファームウェアの更新が終了したら、入出力ドライバ20はファームウェアの再スタート指示を行い(ステップ107)、ファームウェア更新プログラム13に対してファームウェア更新完了通知を行う(ステップ108)。   When the firmware update by the input / output driver 20 is completed, the input / output driver 20 issues a firmware restart instruction (step 107), and notifies the firmware update program 13 of the firmware update completion (step 108).

ファームウェアが再スタートした入出力制御装置30では、入出力制御装置30内のハードウェアに対するキューイング指示を解除(ステップ209)し、ハードウェアでキューイングしていた入出力装置からの非同期イベントを非同期イベントキューイング格納領域33からデキューして入出力装置に対して非同期イベントに対する応答を通知する(ステップ210)。   In the input / output control device 30 whose firmware has been restarted, the queuing instruction for the hardware in the input / output control device 30 is canceled (step 209), and the asynchronous event from the input / output device queued by the hardware is asynchronously executed. Dequeue from the event queuing storage area 33 and notify the input / output device of a response to the asynchronous event (step 210).

また、入出力制御装置30内のハードウェアでキューイングしていた入出力動作開始の指示を入出力動作開始指示キューイング格納領域32からデキューして入出力装置40との入出力動作を開始する。   Also, the input / output operation start instruction queued by the hardware in the input / output control device 30 is dequeued from the input / output operation start instruction queuing storage area 32 and the input / output operation with the input / output device 40 is started. .

本実施の形態では、ステップ203で入出力動作2開始の指示をキューイングしているので、入出力動作2開始の指示を入出力動作開始指示キューイング格納領域32からデキューして入出力装置との入出力動作2を開始する(ステップ211)。   In this embodiment, since the input / output operation 2 start instruction is queued in step 203, the input / output operation 2 start instruction is dequeued from the input / output operation start instruction queuing storage area 32 and I / O operation 2 is started (step 211).

入出力動作2の動作が終了したら入出力ドライバ20に対して入出力動作2の終了を通知し(ステップ212)、終了通知を受け取った入出力ドライバ20は入出力動作2の終了処理を行う(ステップ109)。   When the operation of the input / output operation 2 is completed, the input / output driver 20 is notified of the end of the input / output operation 2 (step 212). Step 109).

その後、入出力動作開始指示キューイング格納領域32および非同期イベントキューイング格納領域33にハードウェアでキューイングしている他の非同期イベントおよび入出力動作開始指示があればデキューして処理する(ステップ213)。   Thereafter, if there are other asynchronous events and input / output operation start instructions queued in hardware in the input / output operation start instruction queuing storage area 32 and asynchronous event queuing storage area 33, they are dequeued and processed (step 213). ).

この処理により、ファームウェア更新中の入出力プログラム12からの入出力動作および入出力装置40からの非同期イベントは入出力制御装置30内でキューイングされるため処理ができない時間が発生する。   As a result of this processing, an input / output operation from the input / output program 12 during firmware update and an asynchronous event from the input / output device 40 are queued in the input / output control device 30, so that a time that cannot be processed occurs.

しかしながら、入出力動作を実施していない時のファームウェアの更新に要する時間は入出力動作のタイムアウト時間および入出力制御装置30からの非同期イベントのタイムアウト時間よりも短時間で実施できるため、タイムアウトとなる前までにファームウェアの更新を完了することができる。   However, the time required for updating the firmware when the input / output operation is not performed can be executed in a shorter time than the time-out time of the input / output operation and the time-out time of the asynchronous event from the input / output control device 30, and therefore the time-out occurs. Firmware update can be completed before.

以上のように、本実施の形態では、システム稼動中であっても入出力動作を要求したプログラム側での時間監視および入出力装置からの非同期のイベントに対する時間監視内に入出力制御装置30のファームウェア更新を実施することが可能である。   As described above, in this embodiment, even when the system is in operation, the time of monitoring on the program side that requested the input / output operation and the time monitoring for the asynchronous event from the input / output device are included in the input / output control device 30. Firmware updates can be performed.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.

本発明は、入出力装置に対して入出力動作を行う入出力制御装置に関し、そのファームウェア更新をシステム稼動中に行う機器に広く適用可能である。   The present invention relates to an input / output control device that performs an input / output operation with respect to an input / output device, and can be widely applied to devices that perform firmware update during system operation.

本発明の一実施の形態に係る入出力制御装置の構成を示す構成図である。It is a block diagram which shows the structure of the input / output control apparatus which concerns on one embodiment of this invention. 本発明の一実施の形態に係る入出力制御装置のファームウェア更新までの処理を示す処理フローである。It is a processing flow which shows the process until the firmware update of the input / output control apparatus which concerns on one embodiment of this invention. 本発明の一実施の形態に係る入出力制御装置のファームウェア更新後の処理を示す処理フローである。It is a processing flow which shows the process after the firmware update of the input / output control apparatus which concerns on one embodiment of this invention.

符号の説明Explanation of symbols

10…コンピュータ、11…システムメモリ、12…入出力プログラム、13…ファームウェア更新プログラム、20…入出力ドライバ、21…更新ファームウェア一時退避領域、30…入出力制御装置、31…ファームウェア格納領域、32…入出力動作開始指示キューイング格納領域、33…非同期イベントキューイング格納領域、34…制御部、40…入出力装置。   DESCRIPTION OF SYMBOLS 10 ... Computer, 11 ... System memory, 12 ... Input / output program, 13 ... Firmware update program, 20 ... Input / output driver, 21 ... Update firmware temporary save area, 30 ... Input / output control device, 31 ... Firmware storage area, 32 ... Input / output operation start instruction queuing storage area, 33... Asynchronous event queuing storage area, 34... Control unit, 40.

Claims (3)

コンピュータからの指示により入出力装置との間で入出力動作を行う入出力制御装置であって、
前記コンピュータからの入出力動作開始指示要求をキューイングする入出力動作開始指示キューイング格納領域と、
前記入出力装置から報告される非同期のイベントをキューイングする非同期イベントキューイング格納領域と、
ファームウェアを格納するファームウェア格納領域と、
前記ファームウェア格納領域に格納されたファームウェアにより、前記入出力制御装置の入出力動作を制御する制御部とを備え、
前記制御部は、前記ファームウェア格納領域に格納されたファームウェアの更新中は、前記コンピュータからの入出力動作開始指示を前記入出力動作開始指示キューイング格納領域へキューイングし、前記入出力装置から報告される非同期のイベントを前記非同期イベントキューイング格納領域へキューイングし、前記ファームウェアの更新終了後に、前記入出力動作開始指示キューイング格納領域にキューイングしていた入出力動作開始指示および前記非同期イベントキューイング格納領域にキューイングしていた前記入出力装置からの非同期イベントをデキューして再開する処理を行うことを特徴とする入出力制御装置。
An input / output control device that performs input / output operations with an input / output device according to instructions from a computer,
An input / output operation start instruction queuing storage area for queuing an input / output operation start instruction request from the computer;
An asynchronous event queuing storage area for queuing asynchronous events reported from the I / O device;
Firmware storage area for storing firmware,
A controller that controls the input / output operation of the input / output control device by the firmware stored in the firmware storage area;
While the firmware stored in the firmware storage area is being updated, the control unit queues an input / output operation start instruction from the computer to the input / output operation start instruction queuing storage area and reports from the input / output device. The asynchronous event queuing storage area is queued to the asynchronous event queuing storage area, and the input / output operation start instruction and the asynchronous event queued in the input / output operation start instruction queuing storage area after the firmware update is completed An input / output control apparatus that performs processing of dequeuing and restarting an asynchronous event from the input / output apparatus queued in a queuing storage area.
請求項1記載の入出力制御装置において、
前記ファームウェア更新時に、前記ファームウェア格納領域に格納させる更新ファームウェアを一時退避する更新ファームウェア一時退避部を含み、前記コンピュータからの指示を処理する入出力ドライバを備えたことを特徴とする入出力制御装置。
The input / output control device according to claim 1,
An input / output control apparatus comprising: an update firmware temporary saving unit that temporarily saves update firmware to be stored in the firmware storage area when the firmware is updated; and an input / output driver that processes an instruction from the computer.
コンピュータからの入出力動作開始指示要求をキューイングする入出力動作開始指示キューイング格納領域と、入出力装置から報告される非同期のイベントをキューイングする非同期イベントキューイング格納領域と、ファームウェアを格納するファームウェア格納領域と、前記ファームウェア格納領域に格納されたファームウェアにより、入出力動作を制御する制御部とを有し、コンピュータからの指示により前記入出力装置との間で入出力動作を行う入出力制御装置のファームウェア更新方法であって、
前記制御部により、前記ファームウェア格納領域に格納されたファームウェアの更新中は、前記コンピュータからの入出力動作開始指示を前記入出力動作開始指示キューイング格納領域へキューイングし、前記入出力装置から報告される非同期のイベントを前記非同期イベントキューイング格納領域へキューイングし、前記ファームウェアの更新終了後に、前記入出力動作開始指示キューイング格納領域にキューイングしていた入出力動作開始指示および前記非同期イベントキューイング格納領域にキューイングしていた前記入出力装置からの非同期イベントをデキューして再開する処理を行うことを特徴とする入出力制御装置のファームウェア更新方法。
I / O operation start instruction queuing storage area for queuing I / O operation start instruction requests from computers, asynchronous event queuing storage area for queuing asynchronous events reported from I / O devices, and firmware I / O control that has a firmware storage area and a control unit that controls input / output operations by firmware stored in the firmware storage area, and that performs input / output operations with the input / output device according to instructions from a computer A device firmware update method,
While the firmware stored in the firmware storage area is being updated by the control unit, an input / output operation start instruction from the computer is queued to the input / output operation start instruction queuing storage area and reported from the input / output device. The asynchronous event queuing storage area is queued to the asynchronous event queuing storage area, and the input / output operation start instruction and the asynchronous event queued in the input / output operation start instruction queuing storage area after the firmware update is completed A firmware update method for an input / output control apparatus, comprising: dequeuing an asynchronous event from the input / output apparatus queued in a queuing storage area and restarting the process.
JP2008002883A 2008-01-10 2008-01-10 Input/output controller and its firmware update method Pending JP2009163658A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008002883A JP2009163658A (en) 2008-01-10 2008-01-10 Input/output controller and its firmware update method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008002883A JP2009163658A (en) 2008-01-10 2008-01-10 Input/output controller and its firmware update method

Publications (1)

Publication Number Publication Date
JP2009163658A true JP2009163658A (en) 2009-07-23

Family

ID=40966174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008002883A Pending JP2009163658A (en) 2008-01-10 2008-01-10 Input/output controller and its firmware update method

Country Status (1)

Country Link
JP (1) JP2009163658A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012150601A (en) * 2011-01-18 2012-08-09 Fujitsu Telecom Networks Ltd Function addition type control device, function addition type control system, and function addition method
JP2012220990A (en) * 2011-04-04 2012-11-12 Fujitsu Ltd Hypervisor replacing method and information processor
JP2013134689A (en) * 2011-12-27 2013-07-08 Fujitsu Ltd Storage system, controller module and method for controlling storage system
US8738830B2 (en) 2011-03-03 2014-05-27 Hewlett-Packard Development Company, L.P. Hardware interrupt processing circuit
US9189283B2 (en) 2011-03-03 2015-11-17 Hewlett-Packard Development Company, L.P. Task launching on hardware resource for client
US9645823B2 (en) 2011-03-03 2017-05-09 Hewlett-Packard Development Company, L.P. Hardware controller to choose selected hardware entity and to execute instructions in relation to selected hardware entity
US10262454B2 (en) 2014-11-20 2019-04-16 Samsung Electronics Co., Ltd. Image processing apparatus and method
WO2022093197A1 (en) * 2020-10-27 2022-05-05 Hewlett-Packard Development Company, L.P. Firmware overwrites using queues and pointers
JP7485190B1 (en) 2023-11-16 2024-05-16 横河電機株式会社 Apparatus, system, method and program

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012150601A (en) * 2011-01-18 2012-08-09 Fujitsu Telecom Networks Ltd Function addition type control device, function addition type control system, and function addition method
US8738830B2 (en) 2011-03-03 2014-05-27 Hewlett-Packard Development Company, L.P. Hardware interrupt processing circuit
US9189283B2 (en) 2011-03-03 2015-11-17 Hewlett-Packard Development Company, L.P. Task launching on hardware resource for client
US9645823B2 (en) 2011-03-03 2017-05-09 Hewlett-Packard Development Company, L.P. Hardware controller to choose selected hardware entity and to execute instructions in relation to selected hardware entity
JP2012220990A (en) * 2011-04-04 2012-11-12 Fujitsu Ltd Hypervisor replacing method and information processor
JP2013134689A (en) * 2011-12-27 2013-07-08 Fujitsu Ltd Storage system, controller module and method for controlling storage system
US10262454B2 (en) 2014-11-20 2019-04-16 Samsung Electronics Co., Ltd. Image processing apparatus and method
WO2022093197A1 (en) * 2020-10-27 2022-05-05 Hewlett-Packard Development Company, L.P. Firmware overwrites using queues and pointers
JP7485190B1 (en) 2023-11-16 2024-05-16 横河電機株式会社 Apparatus, system, method and program

Similar Documents

Publication Publication Date Title
JP2009163658A (en) Input/output controller and its firmware update method
WO2009147802A1 (en) Priority controller and priority control method
US7590990B2 (en) Computer system
US20180203722A1 (en) Method for reducing interrupt latency in embedded systems
JP2011044110A (en) Software program execution device, software program execution method and program
JP2001306341A (en) Computer system and computer readable recording medium
JP2005071161A (en) Task management program and task controller
US20100180279A1 (en) Field control device and field control method
JP2010102567A (en) Periodical task execution device, periodical task execution method, and program
WO2018076647A1 (en) Data processing method and apparatus, and system on chip, device and storage medium
JP2007052673A (en) Job management system, job management method and job management program
JP2001092676A (en) Task management system in integrated program
JPH10260850A (en) Virtual computer system
JP6940283B2 (en) DMA transfer control device, DMA transfer control method, and DMA transfer control program
JP5644197B2 (en) Computer system and interrupt request processing method
JP4877317B2 (en) Information processing apparatus and interrupt control method
JP2010026575A (en) Scheduling method, scheduling device, and multiprocessor system
JP2009251681A (en) Expansion method for stack region and program
JP2007102399A (en) Data processor
JP3362673B2 (en) Channel control device
JP2001331331A (en) Unique process multithread operating system
US10025750B2 (en) Transmission device, controller, and system comprising transmission device and controller
JP6138482B2 (en) Embedded system
JPH11249908A (en) Interrupt handling method
JP2000029850A (en) Task controlling method using inter-processor communication of operating system