JP2004164072A - ディスク制御装置およびディスク制御装置の制御方法 - Google Patents

ディスク制御装置およびディスク制御装置の制御方法 Download PDF

Info

Publication number
JP2004164072A
JP2004164072A JP2002326598A JP2002326598A JP2004164072A JP 2004164072 A JP2004164072 A JP 2004164072A JP 2002326598 A JP2002326598 A JP 2002326598A JP 2002326598 A JP2002326598 A JP 2002326598A JP 2004164072 A JP2004164072 A JP 2004164072A
Authority
JP
Japan
Prior art keywords
control unit
disk
disk control
network control
network
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
JP2002326598A
Other languages
English (en)
Other versions
JP2004164072A5 (ja
Inventor
Yutaka Takada
豊 高田
Naotaka Kobayashi
直孝 小林
Yutaka Ogasawara
裕 小笠原
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 JP2002326598A priority Critical patent/JP2004164072A/ja
Priority to US10/632,750 priority patent/US20070226547A1/en
Priority to EP03017476A priority patent/EP1418494A3/en
Publication of JP2004164072A publication Critical patent/JP2004164072A/ja
Publication of JP2004164072A5 publication Critical patent/JP2004164072A5/ja
Pending 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0653Monitoring storage devices or 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ファイバチャンネル通信による、サーバ、デイスク制御装置の潜在的な性能、能力の低下を改善するディスク制御装置およびその制御方法を提供する。
【解決手段】ネットワークを通じて外部装置から送られてくるデータ入出力要求を受信するネットワーク制御部と、ネットワーク制御部と同一回路基板に形成され当該基板に設けられた内部バスによりネットワーク制御部と接続するディスク制御部とを有し、ディスク制御部がネットワーク制御部から内部バスを通じて送信されてくるコマンドを受信してこのコマンドに応じてディスクドライブに対するデータ入出力を行うように構成したディスク制御装置。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
この発明は、ディスク制御装置およびディスク制御装置の制御方法に関する。
【0002】
【従来の技術】
SAN(Storage Area Network)を用いて構成されるストレージシステムの典型的な構成を図12に示す。ディスク制御装置60が提供する記憶領域にアクセスしようとする情報処理装置であるホストコンピュータ20は、LAN(Local Area Network)50を通じてサーバコンピュータ70にアクセスする。サーバコンピュータ70とディスク制御装置60とはファイバチャネル80により接続されている。
【0003】
サーバコンピュータ70ではファイルシステム75が動作している。ホストコンピュータ20からサーバコンピュータ70へは、ファイル指定によるデータ入出力要求が送信される。ファイルシステム75はこのデータ入出力要求に基づいてSCSI規格などに従ったI/Oコマンドを生成し、生成したI/Oコマンドをファイバチャネル80を通じてディスク制御装置60に送信する。ディスク制御装置60はファイバチャネル80を通じて送られてくるI/Oコマンドに従ってディスクドライブ90に対してデータ入出力を行う。ディスク制御装置60は、ディスクドライブ90から読み出したデータや処理完了報告などをサーバコンピュータ70に送信し、さらにサーバコンピュータ70からホストコンピュータ20に読み出したデータや処理完了報告が通知される。
【0004】
【特許文献1】
特開平8−335144号公報
【0005】
【発明が解決しようとする課題】
ところで、ファイバチャネル80による通信は、ファイバチャネル規格やSCSI規格に従って行われるが、これらの規格は、時としてサーバコンピュータ70やディスク制御装置のハードウエアが有する潜在的な性能や能力を引き出すことの妨げとなる。またファイバチャネル80で通信を行うためには、ディスク制御装置60やサーバコンピュータ70内で稼働するCPUやメモリ間で行われる内部バスを通じた通信とファイバチャネル80を用いた通信との間でのプロトコル変換のための回路が必要であり、これにより装置の複雑化やコスト増を招く。またこの変換にかかる処理のオーバーヘッドはストレージシステムの性能を低下させる要因となる。
【0006】
本発明は、このような事情に鑑みてなされたもので、ディスク制御装置およびディスク制御装置の制御方法を提供することを目的とする。
【0007】
【課題を解決するための手段】
この目的を達成するための主たる発明にかかるディスク制御装置は、ネットワークを通じて外部装置から送られてくるデータ入出力要求を受信するネットワーク制御部と、ネットワーク制御部と同一回路基板に形成され当該基板に設けられた内部バスによりネットワーク制御部と接続するディスク制御部とを有し、
前記ディスク制御部がネットワーク制御部から内部バスを通じて送信されてくるコマンドを受信してこのコマンドに応じてディスクドライブに対するデータ入出力を行う手段と、
前記ネットワーク制御部が複数のアドレスが設定されている1の前記コマンドをディスク制御部に送信する手段と、
前記ディスク制御部が前記コマンドを受信してこのコマンドに設定されている前記各アドレスに対応するデータ入出力をディスクドライブに対して行う手段と、
を備えることとする。
なお、本発明の他の特徴については、本明細書及び添付図面の記述により明らかにする。
【0008】
【発明の実施の形態】
<開示の概要>
以下の開示により、少なくともつぎのことが明らかにされる。
前記の発明において、ネットワーク制御部は、LANを通じてホストコンピュータ20から所定のネットワークプロトコルに従って送られてくるデータ入出力要求を受信するという、従来のストレージシステムにおけるサーバコンピュータが行っていた機能を提供する。またネットワーク制御部は、ウイルスチェックやSNMP(Simple Network Management Protocol)、クラスタ管理、ファイルに対するアクセス制限や時刻管理などのシステム管理の機能などを備えていることもある。また、ディスク制御部は、SANを通じてサーバコンピュータからコマンドを受信してこのコマンドに応じてディスクドライブに対するデータ入出力を行うという、従来のストレージシステムにおけるディスク制御装置の機能を提供する。なお、データ入出力という場合には、ディスクドライブへのデータの書き込みもしくはディスクドライブからの読み出しのうち少なくともいずれかが含まれる。前記コマンドは、例えば、後述するI/Oコマンドが対応する。
【0009】
このディスク制御装置では、ネットワーク制御部とディスク制御部とが同一回路基板上に形成され、両者がこの回路基板に設けられたPCIバス(PeripheralComponent Interconnect Bus)などの内部バスで接続されていることで、ファイバチャネルによる通信の場合のようにプロトコルの制限に束縛されることなくネットワーク制御部とディスク制御部とは自由度の高い通信を行うことが可能である。
【0010】
また、前記のようにネットワーク制御部が複数のアドレスが設定されている1の前記コマンドをディスク制御部に送信し、ディスク制御部が前記コマンドを受信してこのコマンドに設定されている各アドレスに対応するデータ入出力をディスクドライブに対して行うようにすることが可能である。
【0011】
従って、従来のファイバチャネルによる通信では、あるデータ入出力要求を受信したサーバコンピュータがディスク制御装置に複数のコマンドを送信する必要があった処理を1のコマンドの送信により行うことができ、これにより通信にかかるオーバーヘッドが軽減されてストレージシステムの性能向上が図られる。
【0012】
また、ネットワーク制御部とディスク制御部とが回路基板に設けられた内部バスを通じて接続することで、前述のようなファイバチャネルの通信と内部バスの通信との間の変換のための回路も必要なく、ストレージシステムの生産性の向上やコスト低減も図られる。
【0013】
また、ディスク制御部がディスクドライブへのデータ入出力に関する処理について並行処理が可能な場合には、1のコマンドで複数のアドレスに対応するデータ入出力に関する処理を並行して行うことが可能となり、これによりストレージシステムの性能向上が図られる。また、ネットワーク制御部とディスク制御部とを同一回路基板に形成することで、これらが異なる回路基板で構成される場合に比べて製造工程の簡素化を図ることができる。
【0014】
また、ネットワーク制御部は、ディスクドライブに入出力されるデータをファイル名により指定するデータ入出力要求を受け付ける仕組みを提供するファイルシステムが動作していることもあり、この場合、ネットワーク制御部はデータ入出力要求に設定されるファイル名に対応するデータのディスクドライブ上の記憶位置に対応するアドレスを生成し、このアドレスをコマンドに設定する。
【0015】
本発明の一の態様であるディスク制御装置は、ネットワークを通じて外部装置から送られてくるデータ入出力要求を受信するネットワーク制御部と、ネットワーク制御部と同一回路基板に形成され当該基板に設けられた内部バスによりネットワーク制御部と接続するディスク制御部とを有し、ディスク制御部が、ネットワーク制御部から内部バスを通じて送信されてくるコマンドを受信してこのコマンドに応じてディスクドライブに対するデータ入出力を行い、前記回路基板に前記ネットワーク制御部および前記ディスク制御部が共通してアクセス可能なメモリを備え、前記ネットワーク制御部および前記ディスク制御部が設定されたタイミングで前記メモリに自身の動作状態を示す動作状態情報を更新する手段を備え、前記動作状態情報に基づいて前記ネットワーク制御部もしくは前記ディスク制御部に障害が発生したことを検知する手段を備えることとしている。
【0016】
ここで、ネットワーク制御部が、ディスク制御部に送信したコマンドについての受信通知を取得できない場合に動作状態情報に基づいて送信先のディスク制御部の動作状態を調査し、その調査の結果に応じてそのコマンドを再びディスク制御部に送信するかどうかを判断するようにすることもできる。
【0017】
また、ネットワーク制御部が、ディスク制御部に送信したコマンドについての受信通知を取得できない場合に動作状態情報に基づいて送信先の前記ディスク制御部の動作状態を調査し、ディスク制御装置が正常に動作していないと判断した場合には、他のディスク制御部に前記コマンドを送信するようにすることもできる。また、障害を検知した場合にその旨を通知するユーザインタフェースを設けてもよい。さらに、障害を検知した場合に、障害が発生している前記ネットワーク制御部もしくは前記ネットワーク制御部に、再起動を要求する信号を送信するように構成してもよい。これによりフェールオーバを実現できる。
【0018】
このようにネットワーク制御部とディスク制御部とを同一回路基板に形成し、さらに両者が共通してアクセス可能なメモリを設けることで、メモリにネットワーク制御部およびディスク制御部の動作状態情報を記憶しネットワーク制御部およびディスク制御部における障害を検知するようにするといった障害検知の仕組みを構成することができる。
【0019】
そしてこの構成では、ネットワーク制御部やディスク制御部からの動作状態情報の更新、動作状態情報の参照、再起動信号の送信などの仕組みは、高速かつ信頼性の高い内部バスを用いた通信を介して行われる。このため、ストレージシステムの性能および信頼性を向上させることができる。
【0020】
また、ネットワーク制御部が、前記コマンドをディスク制御部に送信するに際し前記コマンドの送信先となるディスク制御部の動作状態を動作状態情報から取得し、取得した動作状態に応じて前記コマンドをディスク制御部に送信するかどうかを決定するようにすることもできる。
【0021】
本発明の一の態様であるディスク制御装置は、ネットワークを通じて外部装置から送られてくるデータ入出力要求を受信するネットワーク制御部と、ネットワーク制御部と同一回路基板に形成され当該基板に設けられた内部バスによりネットワーク制御部と接続するディスク制御部とを備え、ディスク制御部が、ネットワーク制御部から内部バスを通じて送信されてくるコマンドを受信してこのコマンドに応じてディスクドライブに対するデータ入出力を行い、ディスク制御部はバックアップ装置との接続手段を備え、ネットワーク制御部が、前記ディスクドライブに記憶しているデータについてのバックアップ要求を外部装置から受信して前記ディスク制御部にバックアップコマンドを送信し、前記ディスク制御部が、前記バックアップコマンドを受信すると前記ディスクドライブのデータについてのバックアップ指示をバックアップ装置に送信する手段を備えることとしている。
【0022】
従来、バックアップ装置はファイバチャネルを介してサーバコンピュータに接続する構成が一般的であり、この場合、サーバコンピュータはファイバチャネルを介してディスク制御装置からバックアップ装置にデータ転送を行う必要があった。しかしながら、このようにネットワーク制御部とディスク制御部とが内部バスにより接続する構成では、ネットワーク制御部からバックアップ指示コマンドをディスク制御部に送信するのみでディスク制御部によりバックアップを開始させることができる。そして、この構成ではディスク制御部からバックアップ装置に直接にバックアップ対象となるデータの転送が行われ、バックアップ中にネットワーク制御部にかかる負荷は大幅に低減されることになる。また、ファイバチャネル等の通信を介さない分、処理の高速化が図られる。
【0023】
本発明の一態様であるディスク制御装置は、ネットワークを通じて外部装置から送られてくるデータ入出力要求を受信するネットワーク制御部と、ネットワーク制御部と同一回路基板に形成され当該基板に設けられた内部バスによりネットワーク制御部と接続するディスク制御部とを備え、ディスク制御部が、ネットワーク制御部から内部バスを通じて送信されてくるコマンドを受信してこのコマンドに応じてディスクドライブに対するデータ入出力を行うディスク制御装置において、互いに通信可能に接続された複数の前記回路基板を備え、前記回路基板間でハートビートメッセージを交換することで1の前記回路基板に障害が生じたことを他の回路基板が検知する手段を備え、前記回路基板が他の前記回路基板についての障害を検知した場合に、障害となっている前記回路基板が行っている処理をその回路基板とは異なる他の回路基板に代行させる手段を備えることとしている。
【0024】
このように、ネットワーク制御部とディスク制御部とが形成された回路基板を複数有する構成では、これら回路基板の間でハートビートメッセージを交換し、他の回路基板に障害が生じた場合にその回路基板で行われていた処理を他の回路基板に代行させるようにすることで、フェールオーバの仕組みを実現することができ、ストレージシステムの信頼性を向上させることができる。
【0025】
<システム構成>
図1に本発明の一実施例として説明するストレージシステムの構成を示す。 ディスク制御装置10にLAN50を介して一台以上のホストコンピュータ20が接続する。ホストコンピュータ20は、パーソナルコンピュータやワークステーション、汎用機などである。
【0026】
ディスク制御装置10は、ネットワーク制御部111、ディスク制御部112、障害監視部113、キャッシュメモリ114、ディスクドライブ115などを備えて構成される。なお、ディスクドライブ115は、ディスク制御装置10が収容される筐体とは別筐体に収容されディスク制御装置10と通信手段を介して接続する構成であってもよい。
【0027】
このディスク制御装置10では、ネットワーク制御部111、ディスク制御部112、障害監視部113が、同じ一枚の回路基板117上に形成されている。また、この回路基板117上には、さらに、LANアダプタ(Lan Adaptor)もしくはNIC(Internet Interface Card)などに相当する機能を実現する回路であるネットワークインタフェース118、DMAコントローラ(Direct Memory Access Controler)119が形成されている。
そして、回路基板117上に形成されたこれらの回路は、例えば、PCIバス(Peripheral Component Interconnect Bus)などの内部バス30により通信可能に結合されている。
【0028】
ネットワーク制御部111は、CPU、メモリ(以下、「ネットワーク制御部用メモリ121」と称する)などからなる。ネットワーク制御部111では、オペレーティングシステムが動作しており、このオペレーティングシステム上では、TCP/IP(登録商標)、NFS(Network File System)(登録商標)などのネットワークプロトコルに対応した通信を行うためのプログラムなど、各種のプログラムが動作する。
【0029】
ディスク制御部112は、CPU、メモリ(以下、「ディスク制御部用メモリ122」と称する)、ディスクドライブ制御回路などからなる。また、ディスク制御部112は、ディスクドライブ115をRAID(Redundant Array of Inexpensive Disks)の方式で制御する機能を備えていることもある。 障害監視部113は、CPU、メモリ(以下、「障害監視部用メモリ123」と称する)などからなる。
【0030】
また、ディスク制御装置10は、前記回路基板117上もしくはこれとは別の回路基板上に、バックアップ装置184が接続するためのインタフェース回路183を備える。なお、このインタフェース回路183は内部バス30に接続されている。インタフェース回路183に接続されるバックアップ装置184としては、DATテープドライブ、DVD−RAM、MO、CD−R、ディスクドライブ、カセットテープなどがある。
【0031】
<データ入出力要求>
ネットワーク制御部111は、ホストコンピュータ20から送信されてくるデータ入出力要求をLAN50を通じて受信すると、図2に示すようにこれをネットワーク制御部用メモリ121に確保されている受信バッファに記憶する。なお、図2ではホストコンピュータ20ごとに別の受信バッファを用意しているが、複数のホストコンピュータ20に共通の受信バッファを用意してもよい。
【0032】
ホストコンピュータ20から送られてくるデータ入出力要求には、それがデータ書き込み(Write)要求であるのか、データ読み出し(Read)要求であるのかなどを識別するコマンドコード、ファイル名、処理対象となるデータのファイル内の位置を特定するためのファイル内オフセットアドレスとデータサイズ、そのデータ入出力要求がデータ書き込み要求である場合に設定される書き込みデータ、などの情報が含まれている。
【0033】
ネットワーク制御部111は、受信バッファに記憶しているデータ入出力要求に基づいてI/Oコマンドを生成し、生成したI/Oコマンドを、内部バス30を通じてディスク制御部112に送信する。ディスク制御部112は、ネットワーク制御部111からI/Oコマンドを受信すると、このI/Oコマンドに対応するデータ入出力をディスクドライブ115に対して行う。
【0034】
<ファイル管理情報>
ネットワーク制御部111からディスク制御部112に送信されるI/Oコマンドは、データ入出力要求と、ファイル管理情報に基づいて生成される。ファイル管理情報はディスクドライブ115に記憶されている。
【0035】
図3にファイル管理情報の一例を示す。ファイル管理情報には、ファイル名に対応させて、そのファイルのデータサイズであるファイルサイズ、当該ファイル名に対応するデータが複数の記憶領域に分割されて記憶されている場合における分割数を示すデータ領域数、各連続領域のディスクドライブ115上の記憶位置を特定するデータアドレスやデータサイズなどが設定されている。なお、図4に示すようにファイル管理情報は、処理性能の向上のため、ネットワーク制御部用メモリ121に記憶(キャッシング)されることもある。
【0036】
<I/Oコマンド>
図5は、データ入出力要求に基づいてI/Oコマンドが生成される仕組みを説明している。ネットワーク制御部111は、まずデータ入出力要求のファイル内オフセットアドレスをファイル管理情報に対照し、そのデータ入出力要求が処理対象とするファイルに関するデータのディスクドライブ115上の記憶位置に対応するデータアドレスとデータサイズとを求める。前述したように、1のファイルに対応するデータは、ディスクドライブ115上の連続する記憶領域に纏まって記憶されている場合もあるし、複数の記憶領域に分割されて記憶されている場合もある。図5は、1のファイルに対応するデータが2つの記憶領域に分割されて記憶されている場合である。
【0037】
ここでデータ入出力要求の処理対象であるファイルが、ディスクドライブ115上の連続する記憶領域に纏まって記憶されている場合、ネットワーク制御部111はそのデータ入出力要求に対応するI/Oコマンドとして、その記憶領域を指定するための、1の論理アドレス(LBA(Logical Block Address))とブロック数とが設定されたI/Oコマンドを生成する。ここで論理アドレスとは、ディスクドライブの記憶領域に区画設定された論理的な記憶領域(以下、「論理ユニット」もしくは「LU(Logical Unit)」と称する)におけるデータの記憶位置を指定する論理的なアドレスである。
【0038】
一方、データ入出力要求の処理対象であるファイルが、ディスクドライブ115の複数の記憶領域に分割されて記憶されている場合、ネットワーク制御部111は、分割された各記憶領域のそれぞれを指定する複数の論理アドレスとブロック数との組合せを設定したI/Oコマンドを生成する。またこの場合には、ファイルがいくつの記憶領域に分割されているかを示す分割数がI/Oコマンドのリスト数の欄に設定される。
【0039】
図6は、生成されたI/Oコマンドがネットワーク制御部用メモリ121に記憶されている様子を示している。なお、この図ではI/OコマンドはLUごとにネットワーク制御部用メモリ121上に用意されたコマンドテーブルに管理されているが、これに限られるわけではない。
【0040】
<I/Oコマンドの生成>
つぎにネットワーク制御部111がデータ入出力要求に基づいてI/Oコマンドを生成する処理について、図7に示すフローチャートとともに説明する。
ネットワーク制御部111は、受信バッファにデータ入出力要求が存在する場合(S711)、受信バッファからデータ入出力要求を一つ取り出し(S712)、データ入出力要求に設定されているファイル名に対応するファイルをネットワーク制御部用メモリ121のファイル管理情報から検索する(S713)。
【0041】
ここで対応するファイルがネットワーク制御部用メモリ121のファイル管理情報に存在する場合(S714:YES)には、(S716)に進む。他方、対応するファイルが存在しない場合(S714:NO)はファイル管理情報をディスクドライブ115から読み出す(S715)。
【0042】
(S716)ではデータ入出力要求のオフセットアドレスとデータサイズに対応するディスクドライブ115のデータアドレスとデータサイズとを求める。ここで前述したようにそのファイルを構成するデータがディスクドライブ115上の複数の記憶領域に分割されて記憶されている場合には、それぞれの領域に対応するデータアドレスとデータサイズとを求める。そして算出したデータアドレスとデータサイズとが設定されたI/Oコマンドをネットワーク制御部用メモリ121上に生成する(S717)。
【0043】
I/Oコマンドがネットワーク制御部用メモリ121に生成される様子を図8に示している。図8(a)は、複数のホストコンピュータ20から1の論理ボリュームについてのI/Oコマンドが生成される場合におけるI/Oコマンドの生成の様子である。図8(b)は1のホストコンピュータ20が複数の論理ボリュームにアクセスする場合におけるI/Oコマンドの生成の様子である。
【0044】
図7の(S718)では、ネットワーク制御部111は、つぎに処理すべきデータ入出力要求が存在するかどうかを受信バッファから調べる。他のホストコンピュータ20の受信バッファが存在する場合には、(S712)からの処理が繰り返される。
一方、つぎに処理すべきデータ入出力要求が受信バッファに存在しない場合(S578:NO)、ネットワーク制御部111は、I/Oコマンドの実行要求を適宜なタイミングでディスク制御部112に送信する(S719)。
なお、(S719)の処理は(S718)の処理を待たずに行うように構成することもできる。また以上の処理は、受信バッファが複数存在する場合には各受信バッファについて行われる(S719)。
【0045】
<I/Oコマンドの実行>
つぎに、ディスク制御部112によるI/Oコマンドの実行について、図9に示すフローチャートとともに説明する。
ディスク制御部112は、ネットワーク制御部111から受信したI/Oコマンドの実行要求を、ディスク制御部用メモリ122に記憶している。ディスク制御部112は、ディスク制御部用メモリ122にI/Oコマンドの実行要求が存在するかどうかを監視している(S911)。ディスク制御部112は、ディスク制御部用メモリ122にI/Oコマンドの実行要求が存在する場合、ディスク制御部用メモリ122からI/Oコマンドを1つ読み出し(S912)、そのコマンドに設定されているコマンドコードから、そのコマンドがデータ書き込みのコマンドであるのか、データ読み出しのコマンドであるのかを調べる(S913)。ここで読み出しコマンドの場合には、(S914)に進む。一方、データ書き込みコマンドの場合には(S931)に進む。
【0046】
(S914)においてnには初期値として1が設定されているものとする。ディスク制御部112は、LBA番号nのLBAおよびデータサイズを読み出す(S915)。つぎにディスク制御部112は、そのLBAおよびデータサイズに対応するデータがキャッシュメモリ114に存在するかどうかを調べ(S916)、存在する場合(S916:YES)にはキャッシュメモリ114からそのデータを読み出してネットワーク用メモリに転送する(S917)。一方、キャッシュメモリ114に存在しない場合、ディスク制御部112はディスクドライブ115に読み出し要求を送信する(S918)。つぎにディスク制御部112はLBA番号nをインクリメントし(S919)、インクリメント後のnの値をI/Oコマンドのリスト数と比較する(S920)。ここでnがリスト数以下の場合(S920:YES)には(S915)に進む。一方、nがリスト数よりも大きい場合(S920:NO)には(S921)に進む。
【0047】
(S921)では、(S918)において読み出し要求を送信した場合(S921:YES)、ディスクドライブ115がその要求に対応するデータを読み出すのを待ってから(S923)に進む(S922)。一方、(S918)において読み出し要求を送信していない場合には(S923)に進む。
【0048】
(S923)では、ディスクドライブ115からデータが読み出されると、そのデータをキャッシュメモリ114に記憶するとともにネットワーク制御部用メモリ121へ転送し、ディスク制御部112はネットワーク制御部111にデータ入出力要求についての処理を完了した旨のステータスを報告する。
【0049】
一方、(S913)においてI/Oコマンドが書き込み要求であった場合には、(S931)に進む。(S931)において、nには初期値として1が設定されているものとする。(S932)において、ディスク制御部112はLBA番号nのLBAおよびデータサイズを読み出す。
【0050】
つぎにディスク制御部112は、そのLBAおよびデータサイズに対応するデータがキャッシュメモリ114に存在するかどうかを調べ(S933)、存在しない場合(S933:NO)には、キャッシュメモリ114に記憶領域を確保し(S934)、その記憶領域に書き込みデータを書き込む(S735)。
一方、存在する場合(S933:YES)には、そのデータに書き込みデータを上書きする(S936)。
(S937)では、その書き込みデータに対応させてキャッシュメモリに記憶されている当該書き込みデータについてのデステージフラグをオンにする。なお、デステージフラグがオンになっている書き込みデータは、適宜なタイミングで、キャッシュメモリ114からディスクドライブ115にデステージされる。
【0051】
つぎにディスク制御部112はLBA番号nをインクリメントし(S938)、インクリメント後のnがI/Oコマンドのリスト数に設定されている値と比較する(S939)。ここでnがリスト数以下の場合(S939:YES)には(S932)に進む。また、nがリスト数よりも大きい場合(S939:NO)には(S923)に進み、ディスク制御部はネットワーク制御部にデータ入出力要求についての処理を完了した旨のステータスを報告する(S940)。
【0052】
以上のように、ネットワーク制御部111からディスク制御部112に複数のアドレスが設定されている1のコマンドを送信するだけで、ディスク制御部112が複数のアドレスに対応するデータ入出力をディスクドライブ115に対して行う。このためコマンドの処理にかかるオーバーヘッドが削減されてストレージシステムの性能向上が図られる。
【0053】
<バックアップ処理>
つぎにホストコンピュータ20から送信されてくるバックアップ要求に応じてディスク制御装置10が実行するデータバックアップ処理について説明する。 ネットワーク制御部111で動作するオペレーティングシステム上では、ホストコンピュータ20から送信されてくるバックアップ要求を受信した場合にディスクドライブ115に記憶しているデータを、図1に示すバックアップ装置184のバックアップメディアに記憶する処理を実行する、バックアッププログラムが動作している。
【0054】
バックアップ要求には、ファイル名や論理ユニット名などの情報により、バックアップ対象となるデータが指定されている。バックアップ要求を受信すると、バックアッププログラムはバックアップ要求に指定されている情報に基づいて、バックアップ対象となるデータのディスクドライブ115上の記憶位置を特定するアドレス及びデータサイズを求め、これらを設定したバックアップ指示コマンドを内部バス30を通じてディスク制御部112に送信する。
【0055】
ディスク制御部112は、バックアップ指示コマンドを受信すると、このコマンドに指定されているアドレスとデータサイズとで指定される記憶領域に格納されているデータと、バックアップの開始を指示するバックアップ開始コマンドとをバックアップ装置184に送信する。バックアップ開始コマンドを受信したバックアップ装置184は、このコマンドと共に送られてくるバックアップ対象のデータをバックアップメディアに記録する。
【0056】
ディスク制御部112は、バックアップ対象データのバックアップメディアへの記録が終了した旨の通知をバックアップ装置184から受信すると、内部バス30を通じてバックアッププログラムに完了通知を送信する。バックアッププログラムは完了通知を受信すると、ホストコンピュータ20にバックアップ完了報告を送信する。
【0057】
ところで、従来、バックアップ装置184はファイバチャネルを介してサーバコンピュータに接続する構成が一般的であり、この場合、サーバコンピュータはファイバチャネルを介してディスク制御装置からバックアップ装置にデータ転送を行う必要があった。
【0058】
しかしながら、本実施例のようにネットワーク制御部111とディスク制御部112とが内部バス30により接続する構成では、ネットワーク制御部111からバックアップ指示コマンドをディスク制御部112に送信するのみでディスク制御部112によりバックアップを開始させることができる。そして、この構成ではディスク制御部112からバックアップ装置184に直接的にバックアップ対象となるデータの転送が行われ、バックアップ中にネットワーク制御部111にかかる負荷は大幅に軽減されることになる。また、ファイバチャネル等の通信を介さない分、処理の高速化も図られる。
【0059】
<複数の回路基板>
フェールオーバさせること等を目的として、ディスク制御装置10に同一の機能を備える複数の回路基板が実装されることが行われているが、ネットワーク制御部111とディスク制御部112とが形成された1の回路基板を、1台のディスク制御装置10に複数枚実装することもできる。図10は、そのように複数枚の前記回路基板が実装されたディスク制御装置10を用いて構成したストレージシステムである。
【0060】
図10において、各回路基板117上には、ネットワークインタフェース118、ネットワーク制御部111、ディスク制御部112およびDMAコントローラ119が形成されており、これらはPCIバスなどの内部バス30に接続している。各回路基板117の内部バス30は互いに接続されている。
【0061】
また、ディスク制御装置10には、各回路基板117とは別に、障害監視部113および共用メモリ141が形成された回路基板127が実装されている。なお、この回路基板127の障害監視部113および共用メモリ141も、接続ライン31を介して内部バス30に接続している。
【0062】
ここでこのような構成からなるディスク制御装置10では、各回路基板117に形成されているネットワーク制御部111間で、内部バス30を通じてハートビートメッセージを交換して互いに動作状態を監視することで、フェールオーバの仕組みを実現することができる。
【0063】
以下、この仕組みについて、図11〜図13に示すフローチャートとともに説明する。
まず、前提として、共用メモリ141には、各回路基板のネットワーク制御部111の動作状態に関するステータス情報が記憶されているものとする。なお、動作に関するステータス情報とは、例えば、ネットワーク制御部111が、正常に動作しているかどうかを示すステータス情報である。
【0064】
このステータス情報は、定期的もしくは不定期などの設定されたタイミングで、各回路基板117のネットワーク制御部111により内部バス30を通じて書き込まれる。なお、このステータス情報は、障害監視部113が内部バス30を通じて各ネットワーク制御部111に動作状態を問い合わせ、その応答として取得した各ネットワーク制御部111の動作状態を、障害監視部113が内部バス30を通じて間接的に共用メモリ141に書き込むこともある。
【0065】
図11は、ある回路基板117のネットワーク制御部111が、他の回路基板117の他のネットワーク制御部111に対し、ハートビートメッセージを要求する側として動作する場合における当該ネットワーク制御部111の処理を説明するフローチャートである。
【0066】
ネットワーク制御部111は、内部バス30を通じて共用メモリ141にアクセスしてステータス情報を調べ、正常に動作しているネットワーク制御部111を探索する(S1111)。そして、正常に動作している他のネットワーク制御部111が探索されると、そのネットワーク制御部111に対し、内部バス30を通じてハートビートメッセージを要求するメッセージを送信し(S1112)、そのネットワーク制御部111からハートビートメッセージが送られてくるのを一定時間待つ(S1113)。
【0067】
ここで他のネットワーク制御部111からハートビートメッセージが送られてきた場合(S1114:YES)には、リトライカウンタに「0」を設定し(S1115)、一定時間待機した後(S1116)、再び(S1111)からの処理に戻る。
【0068】
一方、(S1114)において、他のネットワーク制御部111からハートビートメッセージが受信できなかった場合(S1114:NO)には、リトライカウンタに「1」を加算し(S1117)、リトライカウンタをあらかじめ設定されているリトライオーバ閾値と比較する(S1118)。
【0069】
ここでリトライカウンタの値がリトライオーバ閾値を超えている場合(S1118:YES)には、内部バス30を通じて障害監視部113に、他のネットワーク制御部111に障害が発生している旨のメッセージを送信する(S1119)。
なお、このメッセージには、その障害がハードウエアの障害に起因するのか、ソフトウエアに起因するのかを示す情報や、あるネットワーク制御部111からのハートビートメッセージが中断している旨を通知する情報など、障害の内容に関する情報も付帯される。ネットワーク制御部111は、そのメッセージに対して障害監視部113から応答があると(S1120)、他のネットワーク制御部111の処理を代行する、フェールオーバ処理を開始する(S1121)。
【0070】
一方、(S1118)の処理において、リトライカウンタの値がリトライオーバ閾値を超えていない場合(S1118:NO)には、リトライカウンタに「0」を設定し(S1115)、再び(S1111)からの処理に戻る。
【0071】
図12は、ある回路基板117のネットワーク制御部111が、ハートビートメッセージを受信したり、障害監視部113からのメッセージを受信した場合における処理を説明するフローチャートである。
ネットワーク制御部111は、内部バス30を通じて送られてくるメッセージを受信すると(S1211)、そのメッセージがハートビートメッセージであるかどうかを調べる(S1212)。
ここで受信したメッセージがハートビートメッセージである場合(S1212:YES)、ネットワーク制御部111は、そのハートビートメッセージを送信したネットワーク制御部111に対し、ハートビートメッセージを送信する(S1213)。
【0072】
一方、受信したメッセージがハートビートメッセージ以外のメッセージであった場合(S1212:YES)は、ネットワーク制御部111はそのメッセージが障害監視部113から送られてくる、他のネットワーク制御部111が動作していない旨を通知するメッセージであるかどうかを調べる(S1214)。
(S1214)において、そのメッセージが、他のネットワーク制御部111が動作していない旨を通知する障害監視部113からのメッセージであった場合には(S1214:YES)、そのネットワーク制御部111との間の通信を抑止して(S1215)、必要な場合にはそのネットワーク制御部111に関するフェールオーバ処理を開始する(S1216)。
【0073】
図13は、障害制御部13の処理を説明するフローチャートである。障害制御部13は、図11における(S1119)の通知、すなわち、あるネットワーク制御部111に障害が発生している旨のメッセージを受信すると(S1311:YES)、そのメッセージに付帯する情報に基づいて、その障害通知がハードウエアの障害によるものであるのかを判断する(S1312)。
【0074】
(S1312)において、ハードウエアの障害であると判断した場合には(S1312:YES)、障害監視部113は、前記メッセージにより特定されるネットワーク制御部111が動作していない旨のステータス情報を共用メモリ141に書き込む(S1313)。そして、障害監視部113は、前記メッセージで特定されるネットワーク制御部111に障害が発生している旨を記載したメッセージを、障害が発生してないネットワーク制御部111に送信する(S1314)。
【0075】
一方、(S1312)において、ハードウエアの障害でないと判断した場合には(S1312:NO)、障害監視部113は、受信したメッセージが、ネットワーク制御部111からハートビートメッセージが送られてきていない旨を通知するメッセージであるかどうかを調べる(S1315)。そして、障害監視部113は、受信したメッセージが、ネットワーク制御部111からハートビートメッセージが送られてきていない旨を通知するメッセージであった場合には、内部バス30を通じてそのネットワーク制御部111を制御してそのネットワーク制御部111の動作を停止させた(S1316)後、(S1313)からの処理に進む。
【0076】
以上のようにしてフェールオーバの仕組みを実現することができる。ちなみに、LANを介してハートビートメッセージを通信する場合には、ハートビートメッセージの通信によりLANに負荷がかかり、また、この負荷を回避しようとすれば、ハートビートメッセージのための専用のLANを設ける必要があるが、内部バス30によりハートビートメッセージを通信する仕組みとした場合にはこのような問題や煩わしさが一切生じないという利点がある。
【0077】
<障害監視>
処理能力の向上や可用性の向上などを目的として、ディスク制御装置10に複数のネットワーク制御部111やディスク制御部112が実装されることがある。
このような場合、複数のネットワーク制御部111やディスク制御部112を、図14に示すように同一の回路基板140上に形成することで、処理能力の向上や信頼性の向上を図ることができる。なお、回路基板140には、ネットワーク制御部111およびディスク制御部112が共通してアクセス可能な共用メモリ141が形成されている。
【0078】
共用メモリ141には、ネットワーク制御部111やディスク制御部112が内部バス30を通じて書き込む時刻情報を記憶するための記憶領域(以下、「タイマテーブル」と称する)が確保される。タイマテーブルには、ネットワーク制御部111やディスク制御部112の動作状態に関する情報が設定される。ここでは動作状態情報としてその書き込みが行われた時刻が書き込まれる。また、ネットワーク制御部111やディスク制御部112からタイマテーブルへの書き込みは、障害監視に必要とされる設定されたタイミング(例えば1秒間隔)で行われる。
【0079】
図15は、ネットワーク制御部111がディスク制御部112にI/Oコマンドを送信するに際し、ネットワーク制御部111により行われる障害検知の仕組みを説明するフローチャートである。
ネットワーク制御部111は、ディスク制御部112にI/Oコマンドを送信するにあたり、事前にタイマテーブルを参照してそのI/Oコマンドの送信先のディスク制御部112が正常に動作しているかどうかを調査する(S1511,S1512)。なお、この調査は、例えば、タイマの更新が直前の所定秒数以内に行われていたかどうかを調べることにより行われる。
【0080】
この調査によりI/Oコマンドを送信しようとするディスク制御部112に対応するタイマテーブルの更新が行われていない(正常に動作していない)場合には(S1512:NO)、ネットワーク制御部111はその処理を中断してホストコンピュータ20にエラーを報告し、また正常に動作しているディスク制御部112を検索し(S1513)、検索された他のディスク制御部112にI/Oコマンドの送信を試みる(S1514)。
一方、(S1512)においてI/Oコマンドを送信しようとするディスク制御部112についてタイマテーブルの更新が行われている(正常に動作している)場合には(S1512:YES)、そのディスク制御部112にコマンドを送信する(S1515)。
【0081】
ここで前記調査によりネットワーク制御部111がI/Oコマンドの送信先のディスク制御部112が正常に動作していると判断(S1512:YES)し、I/Oコマンドをそのディスク制御部112に送信した(S1514,S1515)にもかかわらず、そのI/Oコマンドが送信先に受け付けられず、タイムアウトとなってしまうことがあるが、I/Oコマンドを送信した後にディスク制御部112に障害が発生した可能性もあるため、この場合は(S1511)に進む。
一方、(S1516)において、タイムアウトにならずにネットワーク制御部111がディスク制御部112からI/Oコマンドの受領通知を受信すれば処理が終了する(S1517)。
【0082】
以上の障害監視の仕組みによれば、ネットワーク制御部111からディスク制御部112に対するI/Oコマンドを確実にディスク制御部112に引き渡すことが可能となり、これによりストレージシステムの信頼性を向上させることができる。
【0083】
<障害監視部>
ところで、前出の図14に示す回路基板140には、各ネットワーク制御部111および各ディスク制御部112に対応するタイマテーブルの時刻が更新されているかどうかを監視する障害監視部13が形成されている。障害監視部13は、例えば、一定時間以上、時刻の更新を行っていないネットワーク制御部111もしくはディスク制御部112を検知し、SNMPに従って外部装置やユーザインタフェースに障害の発生を通知する。
【0084】
また障害監視部13は、時刻が更新されていない原因がネットワーク制御部111やディスク制御部112のファームウエアの障害によるものであると判断した場合、ネットワーク制御部111やディスク制御部11に内部バス30を通じてリセット信号(例えば、Power on reset 信号)を送信する。また、障害監視部13は、内部バス30を通じて送られてくるネットワーク制御部111やディスク制御部112からの通知によっても、ネットワーク制御部111やディスク制御部112に障害の発生を認知する。
【0085】
以上のように、ネットワーク制御部111、ディスク制御部112、共用メモリ141、障害監視部13が、それぞれ同じ回路基板上に形成されていることで、ネットワーク制御部111やディスク制御部112からの共用メモリ141のタイマテーブルへの時刻の書き込み、ネットワーク制御部111によるタイマテーブルの参照、障害監視部13によるタイマテーブルの時刻の更新状態の監視、ネットワーク制御部111やディスク制御部112へのリセット信号の送信などの処理は、全て内部バス30を通じて行われることになる。従って、これらの処理は高速かつ高信頼に行われ、ディスク制御装置10の処理の高速化や信頼性の向上が図られる。
【0086】
以上、本発明に係るディスク制御装置等について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは勿論である。
【0087】
【発明の効果】
本発明によれば、ディスク制御装置およびディスク制御装置の制御方法を提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施例による、ストレージシステムの構成を示す図である。
【図2】本発明の一実施例による、データ入出力要求がネットワークデータ用メモリの受信バッファに記憶される様子を説明する図である。
【図3】本発明の一実施例による、ファイル管理情報を示す図である。
【図4】本発明の一実施例による、ファイル管理情報が制御用メモリに記憶される様子を説明する図である。
【図5】本発明の一実施例による、データ入出力要求に基づいてI/Oコマンドが生成される仕組みを説明する図である。
【図6】本発明の一実施例による、生成されたI/Oコマンドが制御用メモリに記憶されている様子を説明する図である。
【図7】本発明の一実施例による、ネットワーク制御部がデータ入出力要求に基づいてI/Oコマンドを生成する処理を説明するフローチャートである。
【図8】(a)、(b)は、それぞれ本発明の一実施例による、I/Oコマンドが制御用メモリに生成される様子を説明する図である。
【図9】本発明の一実施例による、I/Oコマンドの実行を説明するフローチャートを示す図である。
【図10】本発明の一実施例による、複数枚の回路基板が実装されたディスク制御装置を用いて構成されるストレージシステムの構成を示す図である。
【図11】本発明の一実施例による、ある回路基板のネットワーク制御部が、他の回路基板の他のネットワーク制御部に対し、ハートビートメッセージを要求する側として動作する場合における当該ネットワーク制御部の処理を説明するフローチャートを示す図である。
【図12】本発明の一実施例による、ある回路基板のネットワーク制御部が、ハートビートメッセージを受信したり、障害監視部からのメッセージを受信した場合における処理を説明するフローチャートを示す図である。
【図13】本発明の一実施例による、障害制御部の処理を説明するフローチャートである。
【図14】本発明の一実施例による、複数のネットワーク制御部およびディスク制御部が形成された回路基板を示す図である。
【図15】本発明の一実施例による、障害検知の仕組みを説明するフローチャートを示す図である。
【図16】従来の典型的なストレージシステムの構成を示す図である。
【符号の説明】
10 ディスク制御装置
18 回路基板
20 ホストコンピュータ
30 内部バス
50 LAN(ネットワーク)
111 ネットワーク制御部
112 ディスク制御部
113 障害監視部
114 キャッシュメモリ
115 ディスクドライブ
121 ネットワーク制御部用メモリ
122 ディスク制御部用メモリ
140 回路基板
141 共用メモリ
184 バックアップ装置

Claims (18)

  1. ネットワークを通じて外部装置から送られてくるデータ入出力要求を受信するネットワーク制御部と、ネットワーク制御部と同一回路基板に形成され当該基板に設けられた内部バスによりネットワーク制御部と接続するディスク制御部とを有し、
    前記ディスク制御部がネットワーク制御部から内部バスを通じて送信されてくるコマンドを受信してこのコマンドに応じてディスクドライブに対するデータ入出力を行う手段と、
    前記ネットワーク制御部が複数のアドレスが設定されている1の前記コマンドをディスク制御部に送信する手段と、
    前記ディスク制御部が前記コマンドを受信してこのコマンドに設定されている前記各アドレスに対応するデータ入出力をディスクドライブに対して行う手段と、
    を備えることを特徴とするディスク制御装置。
  2. 請求項1に記載のディスク制御装置において、
    前記ネットワーク制御部ではファイルシステムが動作し、
    前記データ入出力要求は、ディスクドライブに入出力されるデータをファイル名により指定するものであり、
    前記ネットワーク制御部は、前記データ入出力要求に設定されているファイル名に対応するデータのディスクドライブ上の記憶位置に対応するアドレスを生成し、このアドレスを前記コマンドに設定する手段を備えること、
    を特徴とするディスク制御装置。
  3. 請求項1に記載のディスク制御装置において、
    前記アドレスは前記ディスクドライブの記憶領域に区画設定された論理的な記憶領域におけるデータの記憶位置を指定する論理的なアドレスであること、
    を特徴とするディスク制御装置。
  4. 請求項1に記載のディスク制御装置において、前記内部バスはPCIバスであること、
    を特徴とするディスク制御装置。
  5. 請求項1に記載のディスク制御装置において、前記ネットワーク制御部はネットワークプロトコルに従って前記外部装置と通信する手段を備えること、
    を特徴とするディスク制御装置。
  6. ネットワークを通じて外部装置から送られてくるデータ入出力要求を受信するネットワーク制御部と、ネットワーク制御部と同一回路基板に形成され当該基板に設けられた内部バスによりネットワーク制御部と接続するディスク制御部とを有し、
    前記ディスク制御部がネットワーク制御部から内部バスを通じて送信されてくるコマンドを受信してこのコマンドに応じてディスクドライブに対するデータ入出力を行う手段を備え、
    前記回路基板に前記ネットワーク制御部および前記ディスク制御部が共通してアクセス可能なメモリを有し、
    前記ネットワーク制御部および前記ディスク制御部が設定されたタイミングで前記メモリに自身の動作状態を示す動作状態情報を更新する手段を備え、
    前記動作状態情報に基づいて前記ネットワーク制御部もしくは前記ディスク制御部に障害が発生したことを検知する手段を備えること、
    を特徴とするディスク制御装置。
  7. 請求項6に記載のディスク制御装置において、
    前記ネットワーク制御部は、前記コマンドを前記ディスク制御部に送信するに際し前記コマンドの送信先となる前記ディスク制御部の動作状態を前記動作状態情報から取得し、取得した動作状態に応じて前記コマンドを前記ディスク制御部に送信するかどうかを決定すること、
    を特徴とするディスク制御装置。
  8. 請求項6に記載のディスク制御装置において、
    前記ネットワーク制御部は、前記ディスク制御部に送信したコマンドについての受信通知を取得できない場合に前記動作状態情報に基づいて送信先の前記ディスク制御部の動作状態を調査し、その調査の結果に応じてそのコマンドを再び前記ディスク制御部に送信するかどうかを判断すること、
    を特徴とするディスク制御装置。
  9. 請求項6に記載のディスク制御装置において、
    前記ネットワーク制御部は、前記ディスク制御部に送信したコマンドについての受信通知を取得できない場合に前記動作状態情報に基づいて送信先の前記ディスク制御部の動作状態を調査し、前記ディスク制御装置が正常に動作していないと判断した場合には、他の前記ディスク制御部に前記コマンドを送信すること、
    を特徴とするディスク制御装置。
  10. 請求項6に記載のディスク制御装置において、
    前記障害を検知した場合にその旨を通知するユーザインタフェースを備えることを特徴とするディスク制御装置。
  11. 請求項6に記載のディスク制御装置において、
    前記障害を検知した場合に、障害が発生している前記ネットワーク制御部もしくは前記ネットワーク制御部に、再起動を要求する信号を送信すること、
    を特徴とするディスク制御装置。
  12. ネットワークを通じて外部装置から送られてくるデータ入出力要求を受信するネットワーク制御部と、ネットワーク制御部と同一回路基板に形成され当該基板に設けられた内部バスによりネットワーク制御部と接続するディスク制御部とを有し、
    前記ディスク制御部がネットワーク制御部から内部バスを通じて送信されてくるコマンドを受信してこのコマンドに応じてディスクドライブに対するデータ入出力を行う手段を備え、
    前記ディスク制御部がバックアップ装置との接続手段を備え、
    前記ネットワーク制御部が前記ディスクドライブに記憶しているデータについてのバックアップ要求を外部装置から受信して前記ディスク制御部にバックアップコマンドを送信する手段を備え、
    前記ディスク制御部はが前記バックアップコマンドを受信すると前記ディスクドライブのデータについてのバックアップ指示をバックアップ装置に送信する手段を備えること、
    を特徴とするディスク制御装置。
  13. ネットワークを通じて外部装置から送られてくるデータ入出力要求を受信するネットワーク制御部と、ネットワーク制御部と同一回路基板に形成され当該基板に設けられた内部バスによりネットワーク制御部と接続するディスク制御部とを備え、ディスク制御部が、ネットワーク制御部から内部バスを通じて送信されてくるコマンドを受信してこのコマンドに応じてディスクドライブに対するデータ入出力を行うディスク制御装置において、
    互いに通信可能に接続された複数の前記回路基板を備え、
    前記回路基板間でハートビートメッセージを交換することで1の前記回路基板に障害が生じたことを他の回路基板が検知する手段を備え、
    前記回路基板が他の前記回路基板についての障害を検知した場合に、障害となっている前記回路基板が行っている処理をその回路基板とは異なる他の回路基板に代行させる手段を備えること、
    を特徴とするディスク制御装置。
  14. ネットワークを通じて外部装置から送られてくるデータ入出力要求を受信するネットワーク制御部と、ネットワーク制御部と同一回路基板に形成され当該基板に設けられた内部バスによりネットワーク制御部と接続するディスク制御部とを有し、ディスク制御部がネットワーク制御部から内部バスを通じて送信されてくるコマンドを受信してこのコマンドに応じてディスクドライブに対するデータ入出力を行う手段を備えることを特徴とするディスク制御装置。
  15. ネットワークを通じて外部装置から送られてくるデータ入出力要求を受信するネットワーク制御部と、ネットワーク制御部と同一回路基板に形成され当該基板に設けられた内部バスによりネットワーク制御部と接続するディスク制御部とを備え、前記ディスク制御部が、ネットワーク制御部から内部バスを通じて送信されてくるコマンドを受信してこのコマンドに応じてディスクドライブに対するデータ入出力を行うディスク制御装置を、
    前記ネットワーク制御部が、複数のアドレスが設定されている1の前記コマンドをディスク制御部に送信し、
    前記ディスク制御部が、前記コマンドを受信してこのコマンドに設定されている各アドレスに対応するデータ入出力をディスクドライブに対して行うようにすること、
    を特徴とするディスク制御装置の制御方法。
  16. ネットワークを通じて外部装置から送られてくるデータ入出力要求を受信するネットワーク制御部と、ネットワーク制御部と同一回路基板に形成され当該基板に設けられた内部バスによりネットワーク制御部と接続するディスク制御部とを備え、前記ディスク制御部が、ネットワーク制御部から内部バスを通じて送信されてくるコマンドを受信してこのコマンドに応じてディスクドライブに対するデータ入出力を行い、前記回路基板に前記ネットワーク制御部および前記ディスク制御部が共通してアクセス可能なメモリを有するディスク制御装置を、
    前記ネットワーク制御部および前記ディスク制御部が、設定されたタイミングで前記メモリに自身の動作状態を示す動作状態情報を更新し、
    前記動作状態情報に基づいて前記ネットワーク制御部もしくは前記ディスク制御部に障害が発生したことを検知するようにすること、
    を特徴とするディスク制御装置の制御方法。
  17. ネットワークを通じて外部装置から送られてくるデータ入出力要求を受信するネットワーク制御部と、ネットワーク制御部と同一回路基板に形成され当該基板に設けられた内部バスによりネットワーク制御部と接続するディスク制御部とを備え、ディスク制御部が、ネットワーク制御部から内部バスを通じて送信されてくるコマンドを受信してこのコマンドに応じてディスクドライブに対するデータ入出力を行い、ディスク制御部はバックアップ装置との接続手段を備えるディスク制御装置を、
    前記ネットワーク制御部が、前記ディスクドライブに記憶しているデータについてのバックアップ要求を外部装置から受信して前記ディスク制御部にバックアップコマンドを送信し、
    前記ディスク制御部が、前記バックアップコマンドを受信すると前記ディスクドライブのデータについてのバックアップ指示をバックアップ装置に送信するようにすること、
    を特徴とするディスク制御装置の制御方法。
  18. ネットワークを通じて外部装置から送られてくるデータ入出力要求を受信するネットワーク制御部と、ネットワーク制御部と同一回路基板に形成され当該基板に設けられた内部バスによりネットワーク制御部と接続するディスク制御部とを備え、ディスク制御部が、ネットワーク制御部から内部バスを通じて送信されてくるコマンドを受信してこのコマンドに応じてディスクドライブに対するデータ入出力を行い、互いに通信可能に接続された複数の前記回路基板を備えるディスク制御装置を、
    前記回路基板間でハートビートメッセージを交換することで1の前記回路基板に障害が生じたことを他の回路基板が検知し、
    前記回路基板が他の前記回路基板についての障害を検知した場合に、障害となっている前記回路基板が行っている処理をその回路基板とは異なる他の回路基板に代行させるようにすること、
    を特徴とするディスク制御装置の制御方法。
JP2002326598A 2002-11-11 2002-11-11 ディスク制御装置およびディスク制御装置の制御方法 Pending JP2004164072A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2002326598A JP2004164072A (ja) 2002-11-11 2002-11-11 ディスク制御装置およびディスク制御装置の制御方法
US10/632,750 US20070226547A1 (en) 2002-11-11 2003-08-01 Disk controller and controlling method of the same
EP03017476A EP1418494A3 (en) 2002-11-11 2003-08-01 Disc controller and controlling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002326598A JP2004164072A (ja) 2002-11-11 2002-11-11 ディスク制御装置およびディスク制御装置の制御方法

Publications (2)

Publication Number Publication Date
JP2004164072A true JP2004164072A (ja) 2004-06-10
JP2004164072A5 JP2004164072A5 (ja) 2005-12-22

Family

ID=32105518

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002326598A Pending JP2004164072A (ja) 2002-11-11 2002-11-11 ディスク制御装置およびディスク制御装置の制御方法

Country Status (3)

Country Link
US (1) US20070226547A1 (ja)
EP (1) EP1418494A3 (ja)
JP (1) JP2004164072A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012018568A (ja) * 2010-07-08 2012-01-26 Fujitsu Telecom Networks Ltd 通信装置および構成管理方法
JP2016186688A (ja) * 2015-03-27 2016-10-27 日本電気株式会社 情報処理装置、デバイス、および復旧方法、並びにコンピュータ・プログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050078606A1 (en) * 2003-09-11 2005-04-14 Bernstein David R. Pattern-based correlation of non-translative network segments
US20050060403A1 (en) * 2003-09-11 2005-03-17 Bernstein David R. Time-based correlation of non-translative network segments
US20060112303A1 (en) * 2004-11-09 2006-05-25 Arco Computer Products, Llc. Local backup device with remote management capability and method for remote backup management
CN100511162C (zh) * 2006-09-29 2009-07-08 华为技术有限公司 一种隔离总线故障的方法、装置与一种单板
JP4333763B2 (ja) * 2007-03-26 2009-09-16 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、記憶領域の管理方法、およびコンピュータプログラム
WO2010087858A1 (en) 2009-01-31 2010-08-05 Hewlett-Packard Development Company, L.P. File-name extension characters for file distribution
US10642633B1 (en) * 2015-09-29 2020-05-05 EMC IP Holding Company LLC Intelligent backups with dynamic proxy in virtualized environment

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69032508T2 (de) * 1989-12-22 1999-03-25 Tandem Computers Inc Fehlertolerantes Rechnersystem mit Online-Wiedereinfügung und Abschaltung/Start
US5542064A (en) * 1991-11-21 1996-07-30 Hitachi, Ltd. Data read/write method by suitably selecting storage units in which multiple copies of identical data are stored and apparatus therefor
US5768623A (en) * 1995-09-19 1998-06-16 International Business Machines Corporation System and method for sharing multiple storage arrays by dedicating adapters as primary controller and secondary controller for arrays reside in different host computers
EP1457897A3 (en) * 1995-10-26 2005-04-20 Matsushita Electric Industrial Co., Ltd. File System
US5940866A (en) * 1995-12-13 1999-08-17 International Business Machines Corporation Information handling system having a local address queue for local storage of command blocks transferred from a host processing side
JP3817339B2 (ja) * 1997-06-26 2006-09-06 株式会社日立製作所 ファイル入出力制御方法
US6415373B1 (en) * 1997-12-24 2002-07-02 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6321276B1 (en) * 1998-08-04 2001-11-20 Microsoft Corporation Recoverable methods and systems for processing input/output requests including virtual memory addresses
US6449607B1 (en) * 1998-09-11 2002-09-10 Hitachi, Ltd. Disk storage with modifiable data management function
JP4412685B2 (ja) * 1998-09-28 2010-02-10 株式会社日立製作所 記憶制御装置及びこれを用いたデータ格納システムの取り扱い方法
JP4252139B2 (ja) * 1998-12-16 2009-04-08 株式会社日立製作所 記憶装置システム
JP2000305716A (ja) * 1999-04-23 2000-11-02 Sony Corp ディスク制御装置及びディスク制御方法
AU2001255531A1 (en) * 2000-04-20 2001-11-07 Ciprico Inc. Network appliance
US6728897B1 (en) * 2000-07-25 2004-04-27 Network Appliance, Inc. Negotiating takeover in high availability cluster
JP4087072B2 (ja) * 2001-01-25 2008-05-14 株式会社日立製作所 ストレージシステム及び仮想プライベートボリューム制御方法
US7107337B2 (en) * 2001-06-07 2006-09-12 Emc Corporation Data storage system with integrated switching
JP4041656B2 (ja) * 2001-03-02 2008-01-30 株式会社日立製作所 ストレージシステム及びストレージシステムにおけるデータ送受信方法
US6779063B2 (en) * 2001-04-09 2004-08-17 Hitachi, Ltd. Direct access storage system having plural interfaces which permit receipt of block and file I/O requests
JP3997061B2 (ja) * 2001-05-11 2007-10-24 株式会社日立製作所 記憶サブシステムおよび記憶サブシステムの制御方法
US6920579B1 (en) * 2001-08-20 2005-07-19 Network Appliance, Inc. Operator initiated graceful takeover in a node cluster
JP2003162439A (ja) * 2001-11-22 2003-06-06 Hitachi Ltd ストレージシステム及びその制御方法
US7028177B2 (en) * 2002-01-31 2006-04-11 Hewlett-Packard Development Company, L.P. Array controller ROM cloning in redundant controllers
US6971042B2 (en) * 2002-04-18 2005-11-29 Huge Systems, Inc. Media server with single chip storage controller
JP4252301B2 (ja) * 2002-12-26 2009-04-08 株式会社日立製作所 記憶システム及びそのデータバックアップ方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012018568A (ja) * 2010-07-08 2012-01-26 Fujitsu Telecom Networks Ltd 通信装置および構成管理方法
JP2016186688A (ja) * 2015-03-27 2016-10-27 日本電気株式会社 情報処理装置、デバイス、および復旧方法、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
EP1418494A2 (en) 2004-05-12
US20070226547A1 (en) 2007-09-27
EP1418494A3 (en) 2008-04-09

Similar Documents

Publication Publication Date Title
KR101196547B1 (ko) 결정론적 sas 검색 및 구성을 위한 방법
US7210061B2 (en) Data redundancy for writes using remote storage system cache memory
JP4252301B2 (ja) 記憶システム及びそのデータバックアップ方法
CN100544342C (zh) 存储***
JP3944449B2 (ja) 計算機システム、磁気ディスク装置、および、ディスクキャッシュ制御方法
EP1760591B1 (en) System and method of managing access path
JP5416843B2 (ja) ストレージ装置、及びストレージ装置の制御方法
JP5511960B2 (ja) 情報処理装置、及びデータの転送方法
JP4354495B2 (ja) ディスクドライブの自動認識設定装置
JP4566874B2 (ja) Ipネットワークにおけるストレージアクセス管理機能及びシステム
EP1736879A2 (en) DIsk array apparatus and method for controlling the same
US20060136654A1 (en) Method and computer program product to increase I/O write performance in a redundant array
US20040139168A1 (en) SAN/NAS integrated storage system
US20050005066A1 (en) Storage system and storage device system
US20030131068A1 (en) Distributed storage system, storage device and method of copying data
US8433862B2 (en) Storage system for adjusting asynchronous copy load based on cache activity rate
JP2002259063A (ja) バックアップ処理可能な記憶システム
JP2002108572A (ja) バックアップシステム、及び複製装置
JP2006127201A (ja) ストレージシステムおよび導通確認方法
JP2010009306A (ja) ストレージ装置及びストレージ装置のデータ処理方法
WO2010140189A1 (en) Storage system and control methods for the same
JP2004164072A (ja) ディスク制御装置およびディスク制御装置の制御方法
JP4796251B2 (ja) ネットワークストレージシステム及びその制御方法
JP4080970B2 (ja) パス切替えを提供するスイッチ
US7752340B1 (en) Atomic command retry in a data storage system

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040928

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051102

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051102

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20051102

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20051102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080826

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090313

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090616