JP4190859B2 - 記憶装置の制御装置、及び記憶装置の制御装置の制御方法 - Google Patents

記憶装置の制御装置、及び記憶装置の制御装置の制御方法 Download PDF

Info

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
Application number
JP2002313027A
Other languages
English (en)
Other versions
JP2004151761A (ja
Inventor
勝広 内海
宏 桑原
芳夫 光岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2002313027A priority Critical patent/JP4190859B2/ja
Priority to US10/696,663 priority patent/US7111131B2/en
Publication of JP2004151761A publication Critical patent/JP2004151761A/ja
Priority to US11/508,594 priority patent/US7216206B2/en
Priority to US11/737,713 priority patent/US7689765B2/en
Application granted granted Critical
Publication of JP4190859B2 publication Critical patent/JP4190859B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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

【0001】
【発明の属する技術分野】
本発明は、記憶装置の制御装置、及び記憶装置の制御装置の制御方法に関する。
【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のプロセッサがアクセスする第1の不揮発性メモリと、
    前記コンピュータとの間で通信を行うための第2の通信ポートと、
    前記第2の通信ポートを制御する第2のプロセッサと、
    前記コンピュータから前記第2の通信ポートに送られた前記通信を行うためのコマンドを記憶するための第2の待ち行列を記憶する第2の記憶手段と
    を備え、
    前記第1のプロセッサは、前記第1の待ち行列に格納した前記コマンドを実行することにより前記コンピュータとの間の前記通信を制御し、
    前記第2のプロセッサは、前記第2の待ち行列に格納した前記コマンドを実行することにより前記コンピュータとの間の前記通信を制御する
    記憶装置の制御装置において、
    前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させる手段と、
    前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させている間に、前記第1の不揮発性メモリに記憶されるデータを変更する手段と
    を備えることを特徴とする記憶装置の制御装置。
  2. 前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させる手段は、
    前記第1のプロセッサが前記第1の待ち行列に格納された前記コマンドを前記第2の待ち行列に転送し、前記第2のプロセッサが前記第2の待ち行列から前記コマンドを読み出して実行する手段であることを特徴とする請求項1に記載の記憶装置の制御装置。
  3. 前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させる手段は、
    前記第2のプロセッサが前記第1の待ち行列から前記コマンドを読み出して実行する手段であることを特徴とする請求項1に記載の記憶装置の制御装置。
  4. 前記第1の不揮発性メモリに記憶されるデータを変更する手段は、
    前記第1のプロセッサが、外部から入力されるデータを前記第1の不揮発性メモリに記憶されるデータに上書きする手段である
    ことを特徴とする請求項1に記載の記憶装置の制御装置。
  5. コンピュータとの間で通信を行うための第1の通信ポートと、
    前記第1の通信ポートを制御する第1のプロセッサと、
    前記コンピュータから前記第1の通信ポートに送られた前記通信を行うためのコマンドを記憶するための第1の待ち行列を記憶する第1の記憶手段と、
    前記第1のプロセッサがアクセスする第1の不揮発性メモリと、
    前記コンピュータとの間で通信を行うための第2の通信ポートと、
    前記第2の通信ポートを制御する第2のプロセッサと、
    前記コンピュータから前記第2の通信ポートに送られた前記通信を行うためのコマンドを記憶するための第2の待ち行列を記憶する第2の記憶手段と
    を備え、
    前記第1のプロセッサは、前記第1の待ち行列に格納した前記コマンドを実行することにより前記コンピュータとの間の前記通信を制御し、
    前記第2のプロセッサは、前記第2の待ち行列に格納した前記コマンドを実行することにより前記コンピュータとの間の前記通信を制御する
    記憶装置の制御装置の制御方法であって、
    前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させるステップと、
    前記第1の待ち行列に格納された前記コマンドの実行を前記第2のプロセッサに担当させている間に、前記第1の不揮発性メモリに記憶されるデータを変更するステップと
    を備えることを特徴とする記憶装置の制御装置の制御方法。
JP2002313027A 2002-10-28 2002-10-28 記憶装置の制御装置、及び記憶装置の制御装置の制御方法 Expired - Fee Related JP4190859B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 株式会社日立製作所 記憶装置の制御装置、及び記憶装置の制御装置の制御方法

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