JP4190859B2 - 記憶装置の制御装置、及び記憶装置の制御装置の制御方法 - Google Patents
記憶装置の制御装置、及び記憶装置の制御装置の制御方法 Download PDFInfo
- Publication number
- JP4190859B2 JP4190859B2 JP2002313027A JP2002313027A JP4190859B2 JP 4190859 B2 JP4190859 B2 JP 4190859B2 JP 2002313027 A JP2002313027 A JP 2002313027A JP 2002313027 A JP2002313027 A JP 2002313027A JP 4190859 B2 JP4190859 B2 JP 4190859B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- computer
- queue
- command
- storage device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
- Stored Programmes (AREA)
Description
【発明の属する技術分野】
本発明は、記憶装置の制御装置、及び記憶装置の制御装置の制御方法に関する。
【0002】
【従来の技術】
コンピュータシステムは、一旦稼動を開始した後も制御プログラムを変更することにより新たな機能の追加等を行うことができる。通常は、新たな制御プログラムを装置に組み込むために、当該装置の再起動が行われる。
しかしながら24時間365日の連続運転が求められるようなコンピュータシステムにおいてはシステムを停止させることはできない。
そのため、従来からコンピュータシステムにおける記憶装置の制御装置の制御プログラムを変更する場合に、データの入出力処理を止めずに制御プログラムを変更する技術が提案されている(例えば特許文献1参照)。
【0003】
【特許文献1】
特開平7−306844号公報
【0004】
【発明が解決しようとする課題】
しかしながら従来の技術では、コンピュータから記憶装置の制御装置へのデータ転送パスが複数あることを利用し、全体としてはコンピュータからのデータ入出力処理を止めずに制御プログラムを変更しているものの、制御プログラムの変更に関わるデータ転送パスについてはコンピュータからのデータ入出力処理を停止している。そのため、コンピュータは当該データ転送パスを迂回してデータの入出力を行わなければならなかった。そしてコンピュータにデータ転送パスを迂回させるためにコンピュータの設定変更を行う必要があった。
本発明は、記憶装置の制御装置及び記憶装置の制御装置の制御方法を提供することを主たる目的とする。
【0005】
【課題を解決するための手段】
コンピュータとの間で通信を行うための第1の通信ポートと、前記第1の通信ポートを制御する第1のプロセッサと、前記コンピュータから前記第1の通信ポートに送られた前記通信を行うためのコマンドを記憶するための第1の待ち行列を記憶する第1の記憶手段と、前記第1のプロセッサがアクセスする第1の不揮発性メモリと、前記コンピュータとの間で通信を行うための第2の通信ポートと、前記第2の通信ポートを制御する第2のプロセッサと、前記コンピュータから前記第2の通信ポートに送られた前記通信を行うためのコマンドを記憶するための第2の待ち行列を記憶する第2の記憶手段とを備え、前記第1のプロセッサは、前記第1の待ち行列に格納した前記コマンドを実行することにより前記コンピュータとの間の前記通信を制御し、前記第2のプロセッサは、前記第2の待ち行列に格納した前記コマンドを実行することにより前記コンピュータとの間の前記通信を制御する記憶装置の制御装置において、前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させる手段と前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させている間に、前記第1の不揮発性メモリに記憶されるデータを変更する手段とを備える。
【0006】
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
【0007】
【発明の実施の形態】
===開示の概要===
本明細書の記載により少なくとも次のことが明らかにされる。
本実施の形態の一形態は、コンピュータとの間で通信を行うための第1の通信ポートと、前記第1の通信ポートを制御する第1のプロセッサと、前記コンピュータから前記第1の通信ポートに送られた前記通信を行うためのコマンドを記憶するための第1の待ち行列を記憶する第1の記憶手段と、前記第1のプロセッサがアクセスする第1の不揮発性メモリと、前記コンピュータとの間で通信を行うための第2の通信ポートと、前記第2の通信ポートを制御する第2のプロセッサと、前記コンピュータから前記第2の通信ポートに送られた前記通信を行うためのコマンドを記憶するための第2の待ち行列を記憶する第2の記憶手段とを備え、前記第1のプロセッサは、前記第1の待ち行列に格納した前記コマンドを実行することにより前記コンピュータとの間の前記通信を制御し、前記第2のプロセッサは、前記第2の待ち行列に格納した前記コマンドを実行することにより前記コンピュータとの間の前記通信を制御する記憶装置の制御装置において、前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させる手段と前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させている間に、前記第1の不揮発性メモリに記憶されるデータを変更する手段とを備えることを特徴とする。
【0008】
このような態様により、コンピュータと記憶装置の制御装置との間のデータ転送を停止させることなく、不揮発性メモリに記憶されるデータ、例えばプロセッサの制御プログラムを変更することができる。これにより、24時間365日の連続運転が求められるようなコンピュータシステムにおいても、記憶装置へのデータアクセスを停止させることなくシステムの仕様変更を行うことができる。またコンピュータからのデータ転送パスの変更も不要なため、コンピュータには何らの変更も必要とせずに制御プログラムを変更することが可能となる。これにより、例えば遠隔地からの操作により通信網を介して制御プログラムを変更することも可能となる。
【0009】
さらに本態様によれば、データ転送パスの動的切り替えが困難な通信プロトコル、例えばファイバチャネルやSCSI(Small Computer System Interface)等、を採用するオープン系コンピュータに接続される記憶装置の制御装置であっても、記憶装置へのデータアクセスを止めることなく制御プログラムの変更が可能となる。そのため、接続されるコンピュータがオープン系であってもメインフレーム系であっても記憶装置へのデータアクセスを止めることなく制御プログラムの変更を行うことができる。
【0010】
また本実施の形態の一形態は、前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させる手段は、前記第1のプロセッサが前記第1の待ち行列に格納された前記コマンドを前記第2の待ち行列に転送し、前記第2のプロセッサが前記第2の待ち行列から前記コマンドを読み出して実行する手段であることを特徴とする。
【0011】
このような態様により、第1及び第2の両方の通信ポートを介したコンピュータとのデータ転送のためのコマンドを第2のプロセッサが第2の待ち行列から読み出して実行することができる。これにより、第1の通信ポートを介したデータ転送を停止させることなく、第1のプロセッサの制御プログラムを変更することが可能となる。
【0012】
また本実施の形態の一形態は、前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させる手段は、前記第2のプロセッサが前記第1の待ち行列から前記コマンドを読み出して実行する手段であることを特徴とする。
【0013】
このような態様によっても、第2のプロセッサは第1及び第2の両方の通信ポートを介したコンピュータとのデータ転送のためのコマンドを実行することができる。これにより、第1の通信ポートを介したデータ転送を停止させることなく、第1のプロセッサの制御プログラムを変更することが可能となる。
【0014】
また本実施の形態の一形態は、前記第1の不揮発性メモリに記憶されるデータを変更する手段は、前記第1のプロセッサが、外部から入力されるデータを前記第1の不揮発性メモリに記憶されるデータに上書きする手段であることを特徴とする。
【0015】
また本実施の形態の一形態は、コンピュータとの間で通信を行うための第1の通信ポートと、前記第1の通信ポートを制御する第1のプロセッサと、前記コンピュータから前記第1の通信ポートに送られた前記通信を行うためのコマンドを記憶するための第1の待ち行列を記憶する第1の記憶手段と、前記第1のプロセッサがアクセスする第1の不揮発性メモリと、前記コンピュータとの間で通信を行うための第2の通信ポートと、前記第2の通信ポートを制御する第2のプロセッサと、前記コンピュータから前記第2の通信ポートに送られた前記通信を行うためのコマンドを記憶するための第2の待ち行列を記憶する第2の記憶手段とを備え、前記第1のプロセッサは、前記第1の待ち行列に格納した前記コマンドを実行することにより前記コンピュータとの間の前記通信を制御し、前記第2のプロセッサは、前記第2の待ち行列に格納した前記コマンドを実行することにより前記コンピュータとの間の前記通信を制御する記憶装置の制御装置の制御方法であって、前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させるステップと、前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させている間に、前記第1の不揮発性メモリに記憶されるデータを変更するステップとを備えることを特徴とする。
【0016】
===全体構成例===
まず、本実施の形態に係る記憶装置システムの1構成例を示すブロック図を図1に示す。
本実施の形態に係る記憶装置システム1000は、ディスク制御装置(記憶装置の制御装置)200、及び記憶装置300を備える。ディスク制御装置200は、チャネル制御部400、ディスク制御部800、サービスプロセッサ(SVP:SerVice Processor)500、共有メモリ(SM:Shared Memory)600、キャッシュメモリ700、及び内部ネットワーク900を備える。
【0017】
コンピュータ100はディスク制御装置200を介して記憶装置300にデータを記憶する。コンピュータ100は、メインフレーム系コンピュータとすることもできるし、オープン系コンピュータとすることもできる。またコンピュータ100とディスク制御装置200は、ネットワークを介して接続されるようにすることもできるし、直接に接続されるようにすることもできる。この場合ネットワークとしては、SAN(Storage Area Network)や、インターネット、専用LAN(Local Area Network)等、様々なネットワークを採用することができる。通信プロトコルとしては、ファイバチャネルやSCSI、ESCON、FICON等、様々なものを採用することができる。
【0018】
チャネル制御部400はコンピュータ100と接続され、コンピュータ100との間でデータを授受する。チャネル制御部400がコンピュータ100から受信したデータはディスク制御部800を介して記憶装置300に書き込まれる。またコンピュータ100から読み出し要求のあったデータを記憶装置300からディスク制御部800を介して読み出して、コンピュータ100に送信する。なおチャネル制御部400やディスク制御部800、コンピュータ100は2台に限られず、それぞれ任意の台数とすることができる。
【0019】
キャッシュメモリ700は、チャネル制御部400とディスク制御部800との間で授受されるデータを一時的に記憶し記憶装置300へのアクセス頻度を減らすことにより、コンピュータ100からのデータアクセスを高速化するために用いられる。共有メモリ600は、全てのチャネル制御部400からアクセス可能なメモリであり、制御情報の記憶等に用いられる。
【0020】
チャネル制御部400、ディスク制御部800、キャッシュメモリ700、及び共有メモリ600は、内部ネットワーク900により相互に接続されている。内部ネットワーク900としてはどのようなトポロジのものでも採用することもでき、例えばクロスバ結合やバス結合とすることができる。なお内部ネットワーク900を設けずに、チャネル制御部400やディスク制御部800等を直接に接続する態様とすることもできる。
【0021】
サービスプロセッサ500は、ディスク制御装置200や記憶装置300を保守・管理するためのコンピュータである。例えばチャネル制御部400において実行される制御プログラムの変更は、サービスプロセッサ500からの指示により行われる。サービスプロセッサ500は、ディスク制御装置200に内蔵されている形態とすることもできるし、別体とすることもできる。またサービスプロセッサ500は、ディスク制御装置200、記憶装置300の保守・管理を専用に行うコンピュータとすることもできるし、汎用のコンピュータに保守・管理機能を持たせたものとすることもできる。
【0022】
記憶装置300は、コンピュータ100に提供するための記憶資源301を備えている。記憶資源301としては、例えばハードディスク装置やフレキシブルディスク装置、磁気テープ、半導体記憶装置等様々なものを採用することができる。
【0023】
===ディスク制御装置の構成例===
次に、本実施の形態に係るディスク制御装置200の1構成例を示すブロック図を図2に示す。
チャネル制御部400がコンピュータ100と接続されている。また、チャネル制御部400、共有メモリ600、キャッシュメモリ700、サービスプロセッサ500が相互に結合されている。ディスク制御部800、内部ネットワーク900は図面の簡単化のために省略されている。
【0024】
本実施の形態に係るディスク制御装置200においては、2台のチャネル制御部400、すなわちチャネル制御部A400aとチャネル制御部B400bとが設けられている。各チャネル制御部400a及び400bは、IF(InterFace)コントローラ(通信ポート)401、バスコントローラ402、プロセッサ403、ローカルメモリ404、DMA(Direct Memory Access)転送回路407を備える。
【0025】
バスコントローラ402は、各チャネル制御部400の内部でのデータ転送を制御すると共に、各チャネル制御部400間を相互に接続する。
【0026】
IFコントローラ401はコンピュータ100との間でデータの送受信を行うための通信ポートとして機能する。IFコントローラ401がコンピュータ100から受信したデータはDMA転送回路407を経由してキャッシュメモリ700に転送される。またキャッシュメモリ700に記憶されているデータは、DMA転送回路407を介してIFコントローラ401に取り込まれ、コンピュータ100に転送される。DMA転送回路407にはIFコントローラ401とキャッシュメモリ700との間で行われるデータ転送のためのバッファ408が備えられている。
【0027】
このようなデータ転送は、コンピュータ100から送られてくるデータ転送のためのコマンド(リードコマンド、ライトコマンド等)に従って行われる。IFコントローラ401は、コンピュータ100から送られてきたコマンドをローカルメモリ404のJOBキュー406に書き込む。プロセッサ403はJOBキュー406に書き込まれたコマンドを読み出し、コマンドに従ってIFコントローラ401やDMA転送回路407を制御することにより、コンピュータ100との間のデータ転送を制御する。
【0028】
ローカルメモリ404にはマイクロプログラム(制御プログラム)405が格納されている。マイクロプログラム405はプロセッサ403の動作を司るためのプログラム(データ)である。従ってマイクロプログラム405を変更することにより、プロセッサ403の動作を変えることができる。なおローカルメモリ404はフラッシュメモリ等のデータ書き換えが可能な不揮発性メモリであり、電力の供給が無くても記憶データを保持することができる。もちろんローカルメモリ404を揮発性メモリで構成し、ローカルメモリ404への供給電力をバッテリでバックアップすることによりディスク制御装置200の電源を遮断しても記憶データを保持するようにすることもできる。
【0029】
マイクロプログラム405の変更は、新規マイクロプログラム414をサービスプロセッサ500が共有メモリ600の所定のアドレスに書き込むことにより行われる。プロセッサ403は、起動時にローカルメモリ404の所定のアドレスに記憶されているマイクロプログラム405のバージョンと、共有メモリ600の所定のアドレスに記憶されている新規マイクロプログラム414のバージョンを比較する。プロセッサ403が毎回の起動時にこのような動作を行うのは、マイクロプログラム405または新規マイクロプログラム414にそのように記述されているからである。共有メモリ600の所定のアドレスにバージョンが記憶されていないか又は両プログラムのバージョンが同一の場合は、ローカルメモリ404に記憶されているマイクロプログラム405に従ってプロセッサ403は動作する。
【0030】
一方、両プログラムのバージョンが異なっている場合には共有メモリ600に記憶されている新規マイクロプログラム414をローカルメモリ404の所定のアドレスにコピーする。これによりプロセッサ403は新規マイクロプログラム414に従った動作をするようになる。なおプロセッサ403に、新規マイクロプログラム414を共有メモリ600からローカルメモリ404にコピーさせるのは、古いマイクロプログラム405とすることもできるし、新規マイクロプログラム414とすることもできる。前者の場合は、新規マイクロプログラム414をローカルメモリ404にコピーし終えた段階でプロセッサを再起動(リブート)し、新規マイクロプログラム414をプロセッサ403に認識させることが必要となる。後者の場合は、新規マイクロプログラム414をローカルメモリ404にコピーしつつ、プロセッサ403は新規マイクロプログラム414を認識する。この場合再起動は不要である。
【0031】
===マイクロプログラムの変更処理===
次に、本実施の形態に係るマイクロプログラムの変更処理の流れを示すフローチャートを図3に示す。ここでは、図2におけるプロセッサA403aのマイクロプログラム405を変更する場合を例に説明する。
【0032】
プロセッサA403aのマイクロプログラム405の変更前は、プロセッサA403aは、IFコントローラA401aを介したチャネル制御部A400aのデータ入出力を制御しており、プロセッサB403bは、IFコントローラB401bを介したチャネル制御部B400bのデータ入出力を制御している(S1001、S1002)。
【0033】
プロセッサA403aのマイクロプログラム405を変更する場合には、まずサービスプロセッサ500が新規マイクロプログラム414を共有メモリ600に書き込む。そしてプロセッサA403aに対してマイクロプログラムの交換指示を送信する(S1000、S1003)。
【0034】
交換指示を受け取ったプロセッサA403aは、仕掛かり中のJOB(入出力処理)はそのまま継続して実行するが、コンピュータ100からの新たなJOBは実行しない。新たなJOBは、ローカルメモリ404a上に設けられるJOBキューA406aとは別の、新規JOBキューA413aに格納しておく(S1004)。なおここで、サービスプロセッサ500から交換指示を受信した時点で、JOBキューA406aに格納されている未処理JOBについては、新規JOBキューA413aに移し替えるようにすることもできるし、仕掛かり中のJOBとして処理を行ってしまうこともできる。
【0035】
仕掛かり中のJOBの処理が終了したら(S1005)、プロセッサA403aはプロセッサB403bに対して、チャネル制御部A400aの入出力処理を行うよう指示を送信する。そして新規JOBキューA413aに格納されているJOB(入出力コマンド)をローカルメモリB404bのJOBキューB406bに転送する(S1006)。これによりプロセッサB403bは、チャネル制御部A400aの入出力処理を行うことができるようになる。なおここで、新規JOBキューA413aに格納されているJOBをローカルメモリB404bのJOBキューB406bに転送しない態様とすることもできる。この場合プロセッサB403bは、ローカルメモリA404aの新規JOBキューA413aを参照することにより、チャネル制御部A400aの入出力処理を行うことになる。プロセッサB403bは、上記指示及びJOBをプロセッサA403aから受け取ったらサービスプロセッサ500に対してチャネル制御部A400aの入出力処理を行うことを報告する(S1007)。
【0036】
報告を受け取ったサービスプロセッサ500は、プロセッサA403aに対して、再起動(リブート)の指示を行う(S1009)。
【0037】
そうすると、プロセッサA403aは、ローカルメモリ404aの所定のアドレスに記憶されているマイクロプログラム405のバージョンと、共有メモリ600の所定のアドレスに記憶されている新規マイクロプログラム414のバージョンを比較する。ここで両プログラムのバージョンが異なっていれば、共有メモリ600に記憶されている新規マイクロプログラム414をローカルメモリ404aの所定のアドレスにコピーする(S1010)。新規マイクロプログラム414をローカルメモリ404aにコピーし終えたら、プロセッサA403aは再起動する(S1011、S1012)。これによりプロセッサA403aの動作を司るマイクロプログラム405を新規マイクロプログラム414に変更することができる。
【0038】
なお前述した通りプロセッサA403aは、サービスプロセッサ500から再起動指示を受けた段階で直ちに再起動を行うようにすることもできる。この場合は、共有メモリ600に記憶されている新規マイクロプログラム414をローカルメモリ404aにコピーしつつ、新規マイクロプログラム414の組み込みが同時に行われる。
【0039】
プロセッサA403aがマイクロプログラムの変更処理を行っている間は、プロセッサA403aはIFコントローラA401aの制御を行うことができない。そのため従来の技術では、コンピュータ100との間のデータ入出力制御を継続させるために、コンピュータ100からのデータ転送経路をIFコントローラA401aとは別のIFコントローラ、例えばIFコントローラB401bへ変更させる必要があった。
【0040】
しかし本実施の形態に係るマイクロプログラムの変更においては、データ転送経路の変更は不要である。なぜならプロセッサB403bがIFコントローラA401aの制御を行うからである。すなわちプロセッサB403bは、プロセッサA403aがマイクロプログラムの変更を行っている間、コンピュータ100とIFコントローラB401bとの間のデータ転送の処理に加え、コンピュータ100とIFコントローラA401aとの間のデータ転送の処理も行うからである(S1008)。
【0041】
プロセッサB403bは、ローカルメモリA404aからローカルメモリB404bに移し換えた上記JOBを処理することにより、IFコントローラA401aとコンピュータ100との間のデータ転送の処理を行う。またプロセッサB403bは、ローカルメモリA404aの新規JOBキューA413aを定期的に参照し、新規JOBキューA413aに新たなJOBがあるかどうかをチェックする。これによりコンピュータ100からチャネル制御部A400aに継続して送られてくる新たなJOBの処理を行う。新規JOBキューA413aに新たなJOBが格納されている場合には、当該JOBをローカルメモリA404aからローカルメモリB404bに移し換えてデータ転送の処理を行う(S1008)。もちろん、新規JOBキューA413aに格納されている新規JOBをローカルメモリB404bに移し換えない態様とすることもできる。
【0042】
IFコントローラA401aを介してコンピュータ100との間で授受されるデータは、DMA転送回路A407aを経由するようにすることもできるし、DMA転送回路B407bを経由するようにすることもできる。
【0043】
プロセッサA403aのマイクロプログラムの変更が終了したら(S1012)、プロセッサA403aは、プロセッサB403bに対して、IFコントローラA401aを介したチャネル制御部A400aの入出力処理をプロセッサA403aに戻すよう、指示を送信する(S1014)。
【0044】
そうすると、指示を受け取ったプロセッサB403bは、仕掛かり中のチャネル制御部A400aのJOBはそのまま継続して実行するが、新たにチャネル制御部A400aがコンピュータ100から受け取ったJOBは実行しない。すなわちローカルメモリA404aの新規JOBキューA413aに新たなJOBがあっても、ローカルメモリB404bへの移し換えは行わない。これ以降にチャネル制御部A400aがコンピュータ100から受け取ったJOBはローカルメモリA404aのJOBキューA406aに格納するようにする(S1014)。
【0045】
プロセッサB403bは、仕掛かり中のチャネル制御部A400aのJOBの処理が終了したら(S1015)、プロセッサA403aに対してチャネル制御部A400aの入出力処理を返還する旨の送信を行う(S1016)。続いてプロセッサA403aはサービスプロセッサ500に対してマイクロプログラムの変更を終了した旨の報告を行う(S1017)。
【0046】
以上でプロセッサA403aのマイクロプログラムの変更処理が終了する。その後は、プロセッサA403aはIFコントローラA401aを介したチャネル制御部A400aのデータ入出力を制御し、プロセッサB403bはIFコントローラB401bを介したチャネル制御部B400bのデータ入出力を制御する(S1018、S1019)。
プロセッサB403bのマイクロプログラム405を変更する場合も同様である。
【0047】
===ディスク制御装置の他の構成例===
次に、本実施の形態に係るディスク制御装置200の他の構成例を示すブロック図を図4に示す。
図4の構成例においては、チャネル制御部A400a及びチャネル制御部B400bは、それぞれ4台のIFコントローラ(I/F Controller)401、4台のプロセッサ403、及び4台のローカルメモリ(LM)404を備えている。そして、各コンポーネントを結合するバスの規格としてはPCI−X(Peripheral Components Interconnect)が採用されている。
【0048】
このような構成の場合のマイクロプログラムの交換は、以下に示すような態様で行うことができる。
すなわち第1の態様は、図2及び図3で示したのと同様、チャネル制御部A400aに属するあるプロセッサA403aのマイクロプログラムを交換している間、当該プロセッサA403aがそれまで行っていたコンピュータ100との間のデータ転送の制御を、チャネル制御部B400bに属するあるプロセッサB403bに行わせる態様である。このような態様によれば、コンピュータ100とディスク制御装置200との間のデータ転送を停止させることなく、さらにコンピュータ100とディスク制御装置200との間のデータ転送パスに何らの変更を必要とすることなく、ディスク制御装置200のマイクロプログラムを変更することができる。
【0049】
また第2の態様は、同一チャネル制御部内のプロセッサを用いて上記マイクロプログラムの変更を行う態様である。このような態様によれば、チャネル制御部400を1台しか備えていないディスク制御装置200においても、コンピュータ100とディスク制御装置200との間のデータ転送を停止させることなく、さらにコンピュータ100とディスク制御装置200との間のデータ転送パスに何らの変更を必要とすることなく、ディスク制御装置200のマイクロプログラムを変更することができる。
【0050】
さらに図4に示す構成例によれば、コンピュータ100とディスク制御装置200との間のデータ転送を停止させることなく、さらにコンピュータ100とディスク制御装置200との間のデータ転送パスに何らの変更を必要とすることなく、複数のプロセッサのマイクロプログラムを同時に交換することもできる。
【0051】
以上本実施の形態について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【0052】
【発明の効果】
記憶装置の制御装置、及び記憶装置の制御装置の制御方法を提供することができる。
【図面の簡単な説明】
【図1】 本実施の形態に係る記憶装置システムの1構成例を示すブロック図である。
【図2】 本実施の形態に係るディスク制御装置の1構成例を示すブロック図である。
【図3】 本実施の形態に係るマイクロプログラムの変更処理の流れを示すフローチャートである。
【図4】 本実施の形態に係るディスク制御装置の他の構成例を示すブロック図である。
【符号の説明】
100 コンピュータ
200 ディスク制御装置
300 記憶装置
301 記憶資源
400 チャネル制御部
401 IFコントローラ
402 バスコントローラ
403 プロセッサ
404 ローカルメモリ
405 マイクロプログラム
406 JOBキュー
407 DMA転送回路
408 バッファ
409 PCI−X
410 共有メモリパス
411 キャッシュ制御パス
412 キャッシュデータパス
413 新規JOBキュー
414 新規マイクロプログラム
500 サービスプロセッサ
600 共有メモリ
700 キャッシュメモリ
800 ディスク制御部
900 内部ネットワーク
1000 記憶装置システム
Claims (5)
- コンピュータとの間で通信を行うための第1の通信ポートと、
前記第1の通信ポートを制御する第1のプロセッサと、
前記コンピュータから前記第1の通信ポートに送られた前記通信を行うためのコマンドを記憶するための第1の待ち行列を記憶する第1の記憶手段と、
前記第1のプロセッサがアクセスする第1の不揮発性メモリと、
前記コンピュータとの間で通信を行うための第2の通信ポートと、
前記第2の通信ポートを制御する第2のプロセッサと、
前記コンピュータから前記第2の通信ポートに送られた前記通信を行うためのコマンドを記憶するための第2の待ち行列を記憶する第2の記憶手段と
を備え、
前記第1のプロセッサは、前記第1の待ち行列に格納した前記コマンドを実行することにより前記コンピュータとの間の前記通信を制御し、
前記第2のプロセッサは、前記第2の待ち行列に格納した前記コマンドを実行することにより前記コンピュータとの間の前記通信を制御する
記憶装置の制御装置において、
前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させる手段と、
前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させている間に、前記第1の不揮発性メモリに記憶されるデータを変更する手段と
を備えることを特徴とする記憶装置の制御装置。 - 前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させる手段は、
前記第1のプロセッサが前記第1の待ち行列に格納された前記コマンドを前記第2の待ち行列に転送し、前記第2のプロセッサが前記第2の待ち行列から前記コマンドを読み出して実行する手段であることを特徴とする請求項1に記載の記憶装置の制御装置。 - 前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させる手段は、
前記第2のプロセッサが前記第1の待ち行列から前記コマンドを読み出して実行する手段であることを特徴とする請求項1に記載の記憶装置の制御装置。 - 前記第1の不揮発性メモリに記憶されるデータを変更する手段は、
前記第1のプロセッサが、外部から入力されるデータを前記第1の不揮発性メモリに記憶されるデータに上書きする手段である
ことを特徴とする請求項1に記載の記憶装置の制御装置。 - コンピュータとの間で通信を行うための第1の通信ポートと、
前記第1の通信ポートを制御する第1のプロセッサと、
前記コンピュータから前記第1の通信ポートに送られた前記通信を行うためのコマンドを記憶するための第1の待ち行列を記憶する第1の記憶手段と、
前記第1のプロセッサがアクセスする第1の不揮発性メモリと、
前記コンピュータとの間で通信を行うための第2の通信ポートと、
前記第2の通信ポートを制御する第2のプロセッサと、
前記コンピュータから前記第2の通信ポートに送られた前記通信を行うためのコマンドを記憶するための第2の待ち行列を記憶する第2の記憶手段と
を備え、
前記第1のプロセッサは、前記第1の待ち行列に格納した前記コマンドを実行することにより前記コンピュータとの間の前記通信を制御し、
前記第2のプロセッサは、前記第2の待ち行列に格納した前記コマンドを実行することにより前記コンピュータとの間の前記通信を制御する
記憶装置の制御装置の制御方法であって、
前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させるステップと、
前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させている間に、前記第1の不揮発性メモリに記憶されるデータを変更するステップと
を備えることを特徴とする記憶装置の制御装置の制御方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002313027A JP4190859B2 (ja) | 2002-10-28 | 2002-10-28 | 記憶装置の制御装置、及び記憶装置の制御装置の制御方法 |
US10/696,663 US7111131B2 (en) | 2002-10-28 | 2003-10-28 | Control apparatus of storage unit, and method of controlling the control apparatus of storage unit |
US11/508,594 US7216206B2 (en) | 2002-10-28 | 2006-08-22 | Control apparatus of storage unit, and method of controlling the control apparatus of storage unit |
US11/737,713 US7689765B2 (en) | 2002-10-28 | 2007-04-19 | Control apparatus of storage unit, and method of controlling the control apparatus of storage unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002313027A JP4190859B2 (ja) | 2002-10-28 | 2002-10-28 | 記憶装置の制御装置、及び記憶装置の制御装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004151761A JP2004151761A (ja) | 2004-05-27 |
JP4190859B2 true JP4190859B2 (ja) | 2008-12-03 |
Family
ID=32457755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002313027A Expired - Fee Related JP4190859B2 (ja) | 2002-10-28 | 2002-10-28 | 記憶装置の制御装置、及び記憶装置の制御装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (3) | US7111131B2 (ja) |
JP (1) | JP4190859B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003316522A (ja) | 2002-04-26 | 2003-11-07 | Hitachi Ltd | 計算機システムおよび計算機システムの制御方法 |
JP4190859B2 (ja) * | 2002-10-28 | 2008-12-03 | 株式会社日立製作所 | 記憶装置の制御装置、及び記憶装置の制御装置の制御方法 |
JP4386694B2 (ja) | 2003-09-16 | 2009-12-16 | 株式会社日立製作所 | 記憶システム及び記憶制御装置 |
JP4536361B2 (ja) * | 2003-11-28 | 2010-09-01 | 株式会社日立製作所 | データ転送装置、記憶デバイス制御装置、記憶デバイス制御装置の制御方法 |
JP4824345B2 (ja) * | 2005-06-01 | 2011-11-30 | 富士通株式会社 | 活性ファームウェア交換装置 |
JP2007219571A (ja) | 2006-02-14 | 2007-08-30 | Hitachi Ltd | 記憶制御装置及びストレージシステム |
JP5223612B2 (ja) * | 2008-11-14 | 2013-06-26 | 日本電気株式会社 | ディスク制御装置およびファームウェアの更新方法 |
KR101600951B1 (ko) | 2009-05-18 | 2016-03-08 | 삼성전자주식회사 | 고체 상태 드라이브 장치 |
JP5236078B2 (ja) * | 2009-06-18 | 2013-07-17 | 株式会社日立製作所 | 記憶制御装置及び記憶制御装置の制御方法 |
CN108028765A (zh) * | 2015-09-11 | 2018-05-11 | 巴科股份有限公司 | 用于连接电子设备的方法和系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4747047A (en) | 1985-12-06 | 1988-05-24 | Unisys Corporation | Data transfer system using two peripheral controllers to access dual-ported data storage units |
US5689678A (en) | 1993-03-11 | 1997-11-18 | Emc Corporation | Distributed storage array system having a plurality of modular control units |
JP3160149B2 (ja) | 1994-05-13 | 2001-04-23 | 株式会社日立製作所 | ディスク制御装置の無停止プログラム変更方法およびディスク制御装置 |
JP4651230B2 (ja) * | 2001-07-13 | 2011-03-16 | 株式会社日立製作所 | 記憶システム及び論理ユニットへのアクセス制御方法 |
EP1255198B1 (en) | 2001-02-28 | 2006-11-29 | Hitachi, Ltd. | Storage apparatus system and method of data backup |
US7146448B2 (en) * | 2001-09-28 | 2006-12-05 | Dot Hill Systems Corporation | Apparatus and method for adopting an orphan I/O port in a redundant storage controller |
US7007142B2 (en) * | 2002-02-19 | 2006-02-28 | Intel Corporation | Network data storage-related operations |
JP2004013367A (ja) | 2002-06-05 | 2004-01-15 | Hitachi Ltd | データ記憶サブシステム |
US7210004B2 (en) * | 2003-06-26 | 2007-04-24 | Copan Systems | Method and system for background processing of data in a storage system |
JP2004110503A (ja) | 2002-09-19 | 2004-04-08 | Hitachi Ltd | 記憶制御装置、記憶システム、記憶制御装置の制御方法、チャネル制御部、及びプログラム |
JP4190859B2 (ja) * | 2002-10-28 | 2008-12-03 | 株式会社日立製作所 | 記憶装置の制御装置、及び記憶装置の制御装置の制御方法 |
-
2002
- 2002-10-28 JP JP2002313027A patent/JP4190859B2/ja not_active Expired - Fee Related
-
2003
- 2003-10-28 US US10/696,663 patent/US7111131B2/en not_active Expired - Fee Related
-
2006
- 2006-08-22 US US11/508,594 patent/US7216206B2/en not_active Expired - Fee Related
-
2007
- 2007-04-19 US US11/737,713 patent/US7689765B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20040143829A1 (en) | 2004-07-22 |
US20060282625A1 (en) | 2006-12-14 |
JP2004151761A (ja) | 2004-05-27 |
US7216206B2 (en) | 2007-05-08 |
US7111131B2 (en) | 2006-09-19 |
US7689765B2 (en) | 2010-03-30 |
US20070192546A1 (en) | 2007-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7353355B1 (en) | System and method for rapid restoration of server from backup | |
US7281104B1 (en) | System and method for online data migration | |
US7475282B2 (en) | System and method for rapid restoration of server from back up | |
US8149854B2 (en) | Multi-threaded transmit transport engine for storage devices | |
JP4477906B2 (ja) | ストレージシステム | |
US7689765B2 (en) | Control apparatus of storage unit, and method of controlling the control apparatus of storage unit | |
US9092426B1 (en) | Zero-copy direct memory access (DMA) network-attached storage (NAS) file system block writing | |
US7426588B2 (en) | Storage apparatus | |
US20100131728A1 (en) | Computer-readable recording medium storing data migration program, data migration method, and data migration apparatus | |
US8650339B2 (en) | Control of data transfer | |
US20080183922A1 (en) | Method, Apparatus And Software For Processing Input Or Output Requests For A Mirrored Storage Volume | |
JP2008065445A (ja) | 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法 | |
US11507307B2 (en) | Storage system including a memory controller that enables each storage controller of a plurality of storage controllers to exclusively read and write control information of the memory | |
US20040103247A1 (en) | Storage control apparatus and control method thereof | |
JP4322240B2 (ja) | 再起動方法、システム及びプログラム | |
JP4719801B2 (ja) | デバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステム | |
US11055263B2 (en) | Information processing device and information processing system for synchronizing data between storage devices | |
JP2005018509A (ja) | 記憶システム、バックアップシステム及びバックアップ方法 | |
JP2004164047A (ja) | 記憶システム | |
US20060265523A1 (en) | Data transfer circuit and data transfer method | |
JP5437556B2 (ja) | 情報処理装置およびプロセッサ機能変更方法 | |
US20140052947A1 (en) | Data storage device and method of controlling data storage device | |
JP4023441B2 (ja) | コンピュータシステム及びプログラム | |
JP2002082833A (ja) | 不揮発性キャッシュメモリを用いた高速データ書き込みシステム | |
US9110812B2 (en) | Virtual tape device and control method of virtual tape device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040928 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051003 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20051003 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20051003 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080401 |
|
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: 20080916 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080917 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110926 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120926 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120926 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130926 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |