JP2004139379A - ネットワーク型記憶装置及びその制御装置 - Google Patents

ネットワーク型記憶装置及びその制御装置 Download PDF

Info

Publication number
JP2004139379A
JP2004139379A JP2002303860A JP2002303860A JP2004139379A JP 2004139379 A JP2004139379 A JP 2004139379A JP 2002303860 A JP2002303860 A JP 2002303860A JP 2002303860 A JP2002303860 A JP 2002303860A JP 2004139379 A JP2004139379 A JP 2004139379A
Authority
JP
Japan
Prior art keywords
data
network
node
computer
control 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.)
Pending
Application number
JP2002303860A
Other languages
English (en)
Inventor
Hideto Nakayama
中山 秀人
Akihiro Nomura
野村 明広
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.)
JMNET Inc
Original Assignee
JMNET Inc
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 JMNET Inc filed Critical JMNET Inc
Priority to JP2002303860A priority Critical patent/JP2004139379A/ja
Publication of JP2004139379A publication Critical patent/JP2004139379A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】簡便にドライブの増設を図ることができ、かつ、性能の向上した記憶装置を提供することである。
【解決手段】ネットワーク型記録装置100は、制御装置102と、複数のノードコンピュータ104a、104b、104cとを含んでいる。また、内部ネットワーク106は、制御装置102と、複数のノードコンピュータ104a、104b、104cを互いに接続する。制御装置102は、外部のユーザ108と外部ネットワーク110を介して接続されており、ユーザ108からの要求に従って、データをノードコンピュータ104(a〜c)にRAIDの原理を利用して分散して書き込み、また読み出しを行う。ネットワークで接続した複数台のノードコンピュータ104を用いてRAIDを構成したので、ノードコンピュータの増設や管理が容易となるネットワーク型記憶装置100が得られる。
【選択図】   図1

Description

【0001】
【発明の属する技術分野】
本発明は、データをネットワークを介して複数のノードコンピュータに記録するネットワーク型記憶装置に関する。
【0002】
【従来の技術】
ネットワークに接続されたコンピュータ間で、ハードディスクに記録されているファイルを共有するための技術は広く知られている。そのような技術の一つに、いわゆるNFS(Network File System)と呼ばれる技術がある。このNFSは、UNIX(登録商標)等における技術として知られている。
【0003】
このNFS等を用いれば、たとえば、ソフト開発等で、複数の人員と機器を用いて同時に作業を進める場合等に、ある人が所定の共有ファイルを更新すれば、その更新の結果は、他のユーザにも及ぶのである。その理由は、単一の共有ファイルが複数人で共有されているからである。このような構成の下では、いずれか一人が所定の(共有)ファイルを更新した場合に、その(共有)ファイルにアクセスする全員がその更新内容を享受できるのである。
【0004】
このような共有ファイルは、複数の人間からアクセスされるので、その性能が全体の作業効率に大きな影響を与える。したがって、共有ファイルは性能の高いハードディスク上に格納しておくことが望ましい。
【0005】
一方、共有ファイルは、複数人からアクセスされるので、その破損は、全体の作業を停止させてしまい、破損の影響が非常に大きくなる傾向にある。したがって、共有ファイルはなるべく信頼性の高いハードディスクに格納しておくことが望ましい。
【0006】
ハードディスクの高速化と、高い信頼性を実現するために種々の技術が知られている。いわゆるRAID(Redundant Array of Independent Disks)も、そのような技術の一つである。
【0007】
たとえば、RAID0は、複数のハードディスクドライブドライブにデータを分散して書き込む技術であり、ストライピングと呼ばれる場合もある。ハードディスクドライブが並列動作するためデータの読み書きが高速化するという特徴を有する。
【0008】
また、RAID1は、複数のハードディスクドライブに同一のデータを書き込む技術であり、ミラーリングと呼ばれる場合もある。同一のデータを書き込んでいるので、いずれかのハードディスクが破損しても、破損していないハードディスクを用いて処理を続行でき、高い信頼性を達成することができる。複数のハードディスクとして、2台のハードディスクを組み合わせる場合が多いが、より多くの台数のハードディスクを組み合わせることもある。この場合は、多数決論理により、複数のハードディスクが保持する値のうち、最も多くのハードディスクに保持されている値を最終的な正しい値として採用する手法が利用される。
【0009】
このRAID0とRAID1とを組み合わせたRAID0+1の技術も知られている。
【0010】
また、RAID5はRAID0と同様に、複数のハードディスクドライブにデータを分散して書き込む技術である。ただし、RAID0とは異なり、データのパリティも書き込むので、一台のハードディスクが故障したときにもデータの修復は可能となる技術である。
【0011】
なお、従来のRAID装置をネットワークから監視する技術が下記特許文献1に記載されている。また、従来の典型的なRAIDシステムに関する記述が下記特許文献2にある。
【0012】
【特許文献1】
特開2001−325165号公報
【特許文献2】
特開2000−222871号公報
【発明が解決しようとする課題】
しかしながら、従来のRAID装置はハードディスクドライブの増設の作業が繁雑であり、記憶領域を増やすことが困難となる傾向にあった。
【0013】
また、複数の記憶装置を用いた場合、ユーザは、個々の記憶装置に対してメンテナンス及びセキュリティの管理をしなければならなかった。そのため、ユーザの管理負担が増大する傾向が見られた。
【0014】
本発明は、係る課題に鑑みなされたものであり、その目的は、簡便にドライブの増設を図ることができ、かつ、性能の向上した記憶装置を提供することである。
【0015】
【課題を解決するための手段】
A.ネットワーク型記憶装置の発明(データの書き込み動作に関する
本発明は、上記課題を解決するために、複数のノードコンピュータと、制御装置と、前記複数のノードコンピュータと前記制御装置とを接続するネットワークと、を備えた記憶装置において、前記制御装置は、書き込みデータを受信する外部インターフェースと、 前記データの書き込み要求に係る書き込みデータが、前記ノードコンピュータ中の記憶手段のどの位置に書き込むべきかを検査する検査手段と、前記書き込みデータを、前記検査手順の検査結果に基づき、1又は2以上の前記複数のノードコンピュータに前記ネットワークを介して送信する内部インターフェースと、
を含み、前記ノードコンピュータは、前記ネットワークを介して送信されてきた前記書き込みデータを受信するネットワークインターフェースと、前記ネットワークインターフェースが受信した前記書き込みデータを記憶手段に書き込む制御手段と、前記書き込みデータを格納する前記記憶手段と、を含むことを特徴とするネットワーク型記憶装置である。
【0016】
このような構成によれば、複数のノードコンピュータと制御装置をネットワークに接続することにより、ユーザからは一台の記憶装置と認識することができる。
【0017】
また、本発明は、前記制御装置は、前記書き込みデータに基づき、パリティデータを生成するパリティ調整手段、を含み、前記内部インターフェースは、前記生成したパリティデータを、所定のノードコンピュータに送信することを特徴とするネットワーク型記憶装置である。
【0018】
このような構成によって、パリティを含めてデータを記憶可能な装置が得られる。
【0019】
また、本発明は、前記記憶手段は、ハードディスクであることを特徴とするネットワーク型記憶装置である。
【0020】
このような構成によって、ハードディスクの増設が容易な装置が得られる。
【0021】
また、本発明は、前記ネットワークはIEEE802で規定されるネットワークであり、前記内部インターフェースは、前記IEEE802で規定されるネットワークと接続するインターフェースであることを特徴とするネットワーク型記憶装置である。
【0022】
このような構成によって、IEEE802のネットワークによってノードコンピュータを接続したネットワーク型記憶装置を実現できる。
【0023】
B.制御装置の発明(データの書き込み動作に関する)
また、本発明は、複数のノードコンピュータと、ネットワークで接続され、ネットワーク型記憶装置を構成する制御装置において、書き込みデータを受信する外部インターフェースと、前記データの書き込み要求に係る書き込みデータが、前記ノードコンピュータ中の記憶手段のどの位置に書き込むべきかを検査する検査手段と、前記書き込みデータを、前記検査手段の検査結果に基づき、1又は2以上の前記複数のノードコンピュータに前記ネットワークを介して送信する内部インターフェースと、を含むことを特徴とする制御装置である。
【0024】
このような構成によれば、複数のノードコンピュータと本発明の制御装置をネットワークに接続することにより、ユーザからは一台の記憶装置と認識することができる。
【0025】
また、本発明は、前記書き込みデータに基づき、パリティデータを生成するパリティ調整手段、を含み、前記内部インターフェースは、前記生成したパリティデータを、所定のノードコンピュータに送信することを特徴とする制御装置である。
【0026】
このような構成によって、パリティを含めてデータを記憶可能な装置が得られる。
【0027】
また、本発明は、前記ネットワークはIEEE802で規定されるネットワークであり、前記内部インターフェースは、前記IEEE802で規定されるネットワークと接続するインターフェースであることを特徴とする制御装置である。
【0028】
このような構成によって、IEEE802のネットワークによってノードコンピュータを接続したネットワーク型記憶装置を実現できる。
【0029】
C.コンピュータを制御装置として動作させるプログラムの発明(データの書き込み動作に関する)
以下の発明は、コンピュータを制御装置として動作させるプログラムの発明であり、その作用は、基本的に上記B.制御装置の発明と同様である。
【0030】
本発明は、複数のノードコンピュータと、ネットワークで接続され、ネットワーク型記憶装置を構成する制御装置としてコンピュータを動作させるプログラムにおいて、前記コンピュータに、書き込みデータを受信する受信手順と、前記データの書き込み要求に係る書き込みデータが、前記ノードコンピュータ中の記憶手段のどの位置に書き込むべきかを検査する検査手順と、前記書き込みデータを、前記検査手順の検査結果に基づき、1又は2以上の前記複数のノードコンピュータに前記ネットワークを介して送信する送信手順と、を実行させることを特徴とするプログラムである。
【0031】
また、本発明は、上記プログラムにおいて、さらに前記コンピュータに、前記書き込みデータに基づき、新たなパリティデータを生成するパリティ調整手順、を実行させ、前記送信手順においては、前記コンピュータに、前記生成したパリティデータを、所定のノードコンピュータに送信させることを特徴とするプログラムである。
【0032】
また、本発明は、上記プログラムにおいて、前記ネットワークはIEEE802で規定されるネットワークであり、前記送信手順においては、前記コンピュータは、前記IEEE802で規定されるネットワークと接続するインターフェースを用いて送信を実行することを特徴とするプログラムである。
【0033】
D.ネットワーク型記憶装置の発明(データの読み出し動作に関する)
本発明は、複数のノードコンピュータと、制御装置と、前記複数のノードコンピュータと前記制御装置とを接続するネットワークと、を備えた記憶装置において、前記制御装置は、データの読み出し要求を受信する外部インターフェースと、前記読み出し要求に係るデータが、前記ノードコンピュータ中の記憶手段のどの位置に格納されているか検査する検査手段と、前記検査手段が検査し、前記読み出し要求に係るデータが格納されていると判断した位置に関して、前記ノードコンピュータに対して前記ネットワークを介してデータの読み出し指示を送信し、さらに、前記ネットワークを介して前記ノードコンピュータから送信されてきた所定のデータを受信する内部インターフェースと、を含み、前記外部インターフェースは、前記内部インターフェースが受信した前記データの読み出し要求に係るデータを出力し、前記ノードコンピュータは、前記ネットワークを介して送信されてきた前記データの読み出し指示を受信するネットワークインターフェースと、 前記ネットワークインターフェースが受信した前記データの読み出し指示に基づき、記憶手段から所定のデータを読み出す制御手段と、前記制御手段がデータを読み出す前記記憶手段と、を含み、前記ネットワークインターフェースは、前記制御手段が前記記憶手段から読み出したデータを、前記ネットワークを介して前記制御装置に送信することを特徴とするネットワーク型記憶装置である。
【0034】
このような構成によれば、複数のノードコンピュータと制御装置をネットワークに接続することにより、ユーザからは一体の記録装置と認識することができる。
【0035】
また、本発明は、上記ネットワーク型記憶装置において、前記制御装置は、前記内部インターフェースが、前記所定のデータの受信に失敗した場合、そのデータを送信するノードコンピュータ以外の他のノードコンピュータ群の記憶手段から読み出したデータに基づき、前記受信に失敗したデータを復元する復元手段、を含み、前記外部インターフェースは、前記復元したデータを出力することを特徴とするネットワーク型記憶装置である。
【0036】
このような構成によって、データの信頼性を高めることができる。
【0037】
また、本発明は、上記ネットワーク型記憶装置において、前記復元手段は、前記内部インターフェースがいずれかのノードコンピュータからのデータの受信に失敗した場合、その失敗したノードコンピュータを報知することを特徴とするネットワーク型記憶装置である。
【0038】
このような構成によって、どのノードコンピュータに障害が発生したかを知ることができ、メンテナンス性が向上する。
【0039】
また、本発明は、上記ネットワーク型記憶装置において、前記復元手段は、前記内部インターフェースが前記複数のノードコンピュータから受信したデータが互いに一致していなかった場合に、多数決により前記読み出し要求に係るデータを決定し、出力することを特徴とするネットワーク型記憶装置である。
【0040】
このような構成によって、障害が発生した場合でも、より正確なデータを得ることができる。
【0041】
また、本発明は、上記ネットワーク型記憶装置において、前記記憶手段は、ハードディスクであることを特徴とするネットワーク型記憶装置である。
【0042】
このような構成によって、ハードディスクの増設が容易なネットワーク型記憶装置を提供できる。
【0043】
また、本発明は、上記ネットワーク型記憶装置において、前記ネットワークはIEEE802で規定されるネットワークであり、前記内部インターフェースは、前記IEEE802で規定されるネットワークと接続するインターフェースであることを特徴とするネットワーク型記憶装置である。
【0044】
このような構成によって、IEEE802で構成されたネットワーク型記憶装置を構成することができる。
【0045】
E.制御装置の発明(データの読み込み動作に関する)
また、本発明は、複数のノードコンピュータと、ネットワークを介して接続され、ネットワーク型記憶装置を構成する制御装置において、データの読み出し要求を受信する外部インターフェースと、前記読み出し要求に係るデータが、前記ノードコンピュータ中の記憶手段のどの位置に格納されているか検査する検査手段と、前記検査手段が検査し、前記読み出し要求に係るデータが格納されていると判断した位置に関して、前記ノードコンピュータに対して前記ネットワークを介してデータの読み出し指示を送信し、さらに、前記ネットワークを介して前記ノードコンピュータから送信されてきた所定のデータを受信する内部インターフェースと、を含み、前記外部インターフェースは、前記内部インターフェースが受信した前記データの読み出し要求に係るデータを出力することを特徴とする制御装置である。
【0046】
このような構成によって、複数のノードコンピュータと本発明の制御装置をネットワークに接続することにより、ユーザからは一台の記憶装置と認識することができる。
【0047】
また、本発明は、上記制御装置において、前記内部インターフェースが、前記所定のデータの受信に失敗した場合、そのデータを送信するノードコンピュータ以外の他のノードコンピュータ群の記憶手段から読み出したデータに基づき、前記受信に失敗したデータを復元する復元手段、を含み、前記外部インターフェースは、前記復元したデータを出力することを特徴とする制御装置である。
【0048】
このような構成によって、よりデータの信頼性を高めることができる。
【0049】
また、本発明は、上記制御装置において、前記復元手段は、前記内部インターフェースがいずれかのノードコンピュータからのデータの受信に失敗した場合、その失敗したノードコンピュータを報知することを特徴とする制御装置である。
【0050】
このような構成によれば、複数のノードコンピュータと本発明の制御装置をネットワークに接続することにより、ユーザからは一台の記憶装置と認識することができる。
【0051】
また、本発明は、上記制御装置において、前記復元手段は、前記内部インターフェースが前記複数のノードコンピュータから受信したデータが互いに一致していなかった場合に、多数決により前記読み出し要求に係るデータを決定し、出力することを特徴とする制御装置である。
【0052】
このような構成によって、障害が発生した場合でも、より正確なデータを得ることができる。
【0053】
また、本発明は、上記制御装置において、前記ネットワークはIEEE802で規定されるネットワークであり、前記内部インターフェースは、前記IEEE802で規定されるネットワークと接続するインターフェースであることを特徴とする制御装置である。
【0054】
このような構成によって、IEEE802で構成されたネットワーク型記憶装置を構成することができる。
【0055】
F.コンピュータを制御装置として動作させるプログラムの発明(データの読み込み動作に関する)
以下の発明は、コンピュータを制御装置として動作させるプログラムの発明であり、その作用は、基本的に上記E.制御装置の発明と同様である。
【0056】
本発明は、複数のノードコンピュータと、ネットワークを介して接続され、ネットワーク型記憶装置を構成する制御装置として、コンピュータを動作させるプログラムにおいて、前記コンピュータに、データの読み出し要求を受信する受信手順と、前記読み出し要求に係るデータが、前記ノードコンピュータ中の記憶手段のどの位置に格納されているか検査する検査手順と、前記検査手順において、前記読み出し要求に係るデータが格納されていると判断した位置に関して、前記ノードコンピュータに対して前記ネットワークを介してデータの読み出し指示を送信する送信手順と、さらに、前記ネットワークを介して前記ノードコンピュータから送信されてきた所定のデータを受信するデータ受信手順と、前記データ受信手順で受信した前記データを出力するデータ出力手順と、を実行させることを特徴とするプログラムである。
【0057】
また、本発明は、上記プログラムにおいて、前記コンピュータに、前記データ受信手順において、前記所定のデータの受信に失敗した場合、そのデータを送信するノードコンピュータ以外の他のノードコンピュータ群の記憶手段から読み出したデータに基づき、前記受信に失敗したデータを復元する復元手順、を実行させ、前記データ出力手順においては、前記コンピュータは前記復元したデータを出力することを特徴とするプログラムである。
【0058】
また、本発明は、上記プログラムにおいて、前記復元手順において、前記コンピュータに、前記データ受信手順でいずれかのノードコンピュータからのデータの受信に失敗した場合、その失敗したノードコンピュータを報知することを実行させることを特徴とするプログラムである。
【0059】
また、本発明は、上記プログラムにおいて、前記復元手順において、前記コンピュータに、前記データ受信手順で前記複数のノードコンピュータから受信したデータが互いに一致していなかった場合に、多数決により前記読み出し要求に係るデータを決定し、出力することを実行させることを特徴とするプログラムである。
【0060】
また、本発明は、上記プログラムにおいて、前記ネットワークはIEEE802で規定されるネットワークであり、前記内部インターフェースは、前記IEEE802で規定されるネットワークと接続するインターフェースであることを特徴とするプログラムである。
【0061】
【発明の実施の形態】
以下、本発明の好適な実施の形態を図面に基づき説明する。
【0062】
[実施の形態1]
図1には、本発明の好適な実施の形態のネットワーク型記録装置100の構成を表す説明図が示されている。
【0063】
この図に示すように、ネットワーク型記録装置100は、制御装置102と、複数のノードコンピュータ104a、104b、104cとを含んでいる。また、ネットワーク型記録装置100は、内部ネットワーク106を備えている。この内部ネットワーク106は、制御装置102と、複数のノードコンピュータ104a、104b、104cを互いに接続する。
【0064】
制御装置102は、外部のユーザ108と外部ネットワーク110を介して接続されており、ユーザ108からの要求に従って、データの読み出し、書き込みの制御を行う。
【0065】
このように本実施の形態では、内部ネットワーク106と、外部ネットワークとは直接には接続していない。制御装置102は両方のネットワークに接続している。
【0066】
本実施の形態におけるネットワーク型記録装置100は、ユーザ108から見ると、ネットワーク上の記録装置であり、ユーザ108は、このネットワーク型記録装置100にデータを書き込み、また、このネットワーク型記録装置100からデータを読み出すことができる。
【0067】
1.制御装置の構成
図2には、本実施の形態の制御装置102の機能構成を示すブロック図が示されている。この図に示すように、制御装置102は、外部インターフェース200、検査手段202、パリティ調整手段204、復元手段206、内部インターフェース208とから構成されている。
【0068】
外部インターフェース200は、外部ネットワーク110に接続するためのインターフェースである。たとえば、外部ネットワーク110がIEEE802によって規定されるネットワークの場合には、外部インターフェース200は、このIEEE802によって規定されるネットワークに接続するためのインターフェースカード等である。
【0069】
このように、制御装置102が外部ネットワーク110と接続されているので、外部ネットワークに110接続している任意のユーザ108がネットワーク型記憶装置100を利用することができる。
【0070】
検査手段202は、ユーザ108からデータの読み出し要求があった場合に、その読み出し要求に係るデータがどのノードコンピュータ104中(の記憶手段302)にあるかを検査する手段である。
【0071】
この検査手段202は、制御装置102内部に外部ネットワーク110のユーザ108からのデータ書き込み要求により記憶したデータが、
(1)どのノードコンピュータ104(a〜c)の記憶手段302に格納されているか、
(2)記憶手段302のどの位置に格納されているか、
に関する情報を記憶している情報データベーステーブルを備えている。そして、検査手段202は、データを読み出す際にこの情報データベーステーブルの内容に基づき読み出し要求に係るデータの格納位置を検査する。ここで「位置」とは、後述する記憶手段302(図3参照)のいわばアドレスである。たとえば、本実施の形態では、記憶手段302がハードディスクである場合を主に説明するが、この場合は、シリンダ、トラック、セクタの如きパラメータで「位置」が特定される。記憶手段302は、他の手段で構成されていてもよい。たとえば、半導体記憶装置で記憶手段302が構成されている場合には、そのアドレスで「位置」が特定される。要するに、「位置」とは、上記(1)(2)に関する情報である。
【0072】
上記情報データベーステーブルは、所定の記憶手段に格納する。コンピュータ内部の半導体記録装置や磁気ディスク装置であるハードディスクで構成することが望ましい。もちろん、他の光ディスク(CD、CD−R、DVD、DVD−RW等)で構成してもかまわない。
【0073】
パリティ調整手段204は、ユーザ108からデータの書き込み要求があった場合に、その書き込み要求に係る新しいデータに基づいて、パリティデータを生成する手段である。
【0074】
本実施の形態において特徴的なことは、ユーザ108からのデータの書き込み要求があった場合に、そのデータを複数のノードコンピュータ104(a〜c)で分散して記録していることである。すなわち、RAIDの原理を内部ネットワークで接続された複数のノードコンピュータ104(a〜c)で実現しようとするものである。
【0075】
特に、本実施の形態では、RAID5を実現している例を説明する。RAID5においては、記録するデータに付随してパリティデータも記録する。本実施の形態において、このパリティデータを生成するのがパリティ調整手段204である。新しいデータが格納されると、その新しいデータを用いてパリティデータを再計算する必要があるが、この再計算処理を実行しているのが、パリティ調整手段204である。
【0076】
なお、このパリティの計算手法は種々のものが知られている。本実施の形態で説明する手法以外の計算手法を、パリティ調整手段204が採用することももちろん好ましい。
【0077】
復元手段206は、ノードコンピュータ104(a〜c)から読み出したデータにエラーが発生した場合にそのデータの復元等を行う手段である。この手段によって、データを復元でき、データの信頼性を高めることができる。
【0078】
データの復元手法は現在世の中で知られている種々の手法を採用することができる。たとえば、本実施の形態のようにRAID5を採用している場合には、パリティデータを用いて、読み出さなかったデータを復元することが好ましい。また、いわゆるミラーリングを行う場合には、一方のデータが読み出さなかった場合でも、他方のデータをそのまま利用して処理を続行するのである。また、3個以上のハードディスクドライブを用いて、それらに同一のデータを書き込み、読み出す際に多数決で正しいデータを決定する手法が知られているが、そのような多数決決定方式を採用することも好ましい。
【0079】
内部インターフェース208は、内部ネットワーク106に接続するインターフェースである。この内部ネットワーク106はたとえば、IEEE802で規定されるネットワークである。内部ネットワーク106がIEEE802で規定されるネットワークの場合には、この内部インターフェース106はIEEE802で規定されるネットワークのネットワークカード等で構成する。
【0080】
制御装置102は、コンピュータで構成されている。制御装置102に含まれる検査手段202、パリティ調整手段204、復元手段206は、これらの手段の動作をコンピュータに実行させるプログラムから構成される。コンピュータとしては、従来の一般的なコンピュータと同様のものが利用される。
【0081】
2.ノードコンピュータの構成
本実施の形態においては、上記制御装置102が書き込み要求に係るデータを各ノードコンピュータ104(a〜c)に送信し、ノードコンピュータ104(a〜c)がこのデータを格納する。より詳細に言えば、データは、ノードコンピュータ104(a〜c)中のハードディスクに格納されるのである。ノードコンピュータ104(a〜c)は、従来の一般的なコンピュータと同様のものである。本実施の形態におけるノードコンピュータ104(a〜c)はたとえば、NFSの技術を用いてネットワークを介したデータの読み書きを行えるコンピュータで構成されている。このようなコンピュータは従来から知られているので、本実施の形態でもそのようなコンピュータをノードコンピュータ104(a〜c)として用いればよい。
【0082】
ノードコンピュータ104(a〜c)の構成ブロック図が図3に示されている。この図に示すように、ノードコンピュータ104は、内部ネットワーク106に接続するネットワークインターフェース300と、記憶手段302と、記憶手段302へのデータの読み書きを制御する制御手段304と、を備えている。
【0083】
ネットワークインターフェース300は、内部ネットワーク106に接続するネットワークカード等から構成される。たとえば、IEEE802で規定されるネットワークに接続するネットワークカード等で構成することが好ましい。
【0084】
記憶手段302は、データを記憶する各種手段が利用可能であり、典型的にはハードディスクが好ましい。本実施の形態では、記憶手段302がハードディスクである例を主に説明する。もちろん、この記憶手段302はMOディスクや各種半導体記憶装置等を利用することも好ましい。
【0085】
制御手段304は、ネットワークインターフェース300を通じて、制御装置102から送信されてきた指示に従い、所定のデータの読み出し・書き込みを制御する。この制御手段304は、ノードコンピュータ104をこのような制御手段304として動作させるプログラムで構成されることが好ましい。また、このような動作をするプログラムは、従来からNFS等で用いられているので、容易に構成することが可能である。
【0086】
ノードコンピュータ104(a〜c)を内部ネットワーク106に接続することによって、制御装置102は、複数のノードコンピュータ104(a〜c)に対してRAIDを構成させることができる。従来のRAIDシステムのように、SCSI等で接続する構成においては、アドレスの数に制限があり、ハードディスクの増設が困難な場合も多かった。これに対して、本実施の形態では、IEEE802で規定されるネットワーク等の内部ネットワーク106で複数のノードコンピュータ104を接続しているので、SCSI等に比べて、使用可能なアドレスが格段に多いので、アドレスによる制限が少ないという特徴を有する。その結果、接続するノードコンピュータ104を容易に増設することができ、RAIDを構成するハードディスクの台数を容易に増加させることができる。
【0087】
3.本実施の形態によるRAIDの構成
本実施の形態では、複数のノードコンピュータ104a、104b、104c(中の記憶手段302)によって、全体としてRAID5を構築する例を説明する。このようなRAID5の構成の様子が図4に示されている。
【0088】
具体的には、外部ネットワーク110を介してユーザ108が仮想ハードディスク400中のデータD1の位置に書き込みを要求をした場合、制御装置102によって、書き込むデータD1は、ノードコンピュータ104aの記憶手段302に格納される(図4参照)。
【0089】
次に、ユーザ108が仮想ハードディスク400中のデータD2の位置に書き込みを要求をした場合、制御装置102によって、書き込むデータD2は、ノードコンピュータ104bの記憶手段302に格納される(図4参照)。
【0090】
なお、データD1とデータD2とのパリティデータP1は、ノードコンピュータ104cの記憶手段302に格納される。このパリティデータの格納は、パリティ調整手段204が実行する。
【0091】
以下、同様に、データD2とデータD3とのパリティデータがP2となり、データD5とデータD6とのパリティデータがP3となる。このような様子が図4に示されている。このようなRAID5の動作の結果、3台のノードコンピュータ104a、104b、104c中の記憶手段302を、ユーザ108からは、仮想的に1台のハードディスク400であるかのように扱うことが可能である。
【0092】
図4には、3台のノードコンピュータ104a、104b、104c中の記憶手段302と、仮想ハードディスク400との関係が示されている。ユーザ108は、あくまでもこの仮想ハードディスク400に対してデータを読み書きをするのである。ここで、検査手段202は、ユーザ108側から見た仮想ハードディスク上の「位置」と、3台のノードコンピュータ104a、104b、104c中の記憶手段302上の「位置」とを相互に変換する役割を果たしているのである。
【0093】
4.全体動作
以下、図1に示したネットワーク型記憶装置100の詳細な動作を説明する。上述したように、本実施の形態の動作は、コンピュータプログラムによって規定されているものである。このプログラムを実行することにより以下に示すような動作が実行される。
【0094】
ここで、ユーザ108の端末のIPアドレスをIP1、制御装置のIPアドレスをIP2、ノードコンピュータ104aのIPアドレスをIP3、ノードコンピュータ104bのIPアドレスをIP4、ノードコンピュータ104cのIPアドレスをIP5とする。そして、外部ネットワーク110はいわゆるインターネットであり、内部ネットワーク106はIEEE802で規定されるネットワークであるものとして説明を行う。
【0095】
4.1 データの書き込み動作
まず、ユーザ108からデータの書き込み要求があった場合について説明する。書き込み要求の場合の動作を表すフローチャートが図5に示されている。
【0096】
ステップS5−1においては、外部ネットワーク110を介してユーザは、データ「D」の書き込み要求を制御装置102に対して送信する。具体的には、この要求は、データA及びその書き込む位置を内容として含んだパケットである。ここで、「位置」とは、図4における仮想ハードディスク400上の「位置」である。ユーザ108からは仮想ハードディスク400に対してデータの書き込み・読み出しを行っているかのように見えるからである。
【0097】
ユーザ108が送信するパケットには、制御装置102のアドレスである宛先IP2、ユーザのアドレスである送信元IP1というアドレスを含むIPヘッダが付加される。そして、このパケットの中身には、書き込み要求に係る「D」というデータが含まれているのである。この様子が図6に示されている。なお、図6中のパケットには示されていないが、このパケットには、ユーザ108からのデータの書き込み指示が含まれている。また、図6中のパケットにおいて、SRCとはソースアドレス、すなわち、発信元のアドレスを表す。また、図6中のパケットにおいて、DTNとはディスティネーションアドレス、すなわち、宛先のアドレスを表す。
【0098】
次に、ステップS5−2においては、制御装置102は、ユーザ108が送信したパケットを受信する。これは、ユーザ108からの書き込み要求の受信を意味する。この受信は、外部インターフェース200が実行する。
【0099】
ステップS5−3においては、検査手段202が、送信されてきたデータ「D」を書き込む位置を検査する。既に説明したように、ユーザは、データDを書き込み位置を仮想ハードディスク400上の位置で表してくる。したがって、検査手段202は、この位置を、ノードコンピュータ104(a〜c)中の記憶手段302上の位置に変換するのである。
【0100】
ステップS5−4においては、内部インターフェース208が、検査手段202が求めた位置に基づき、データ「D」をノードコンピュータ104に送信する。たとえば、図4に示されているように、データ「D1」を書き込む場合には、ノードコンピュータ104aにデータを送信する。また同様に、データ「D5」を書き込む場合には、ノードコンピュータ104cにデータを送信する。これらの分散原理は従来のRAIDと同様である。
【0101】
なお、本実施の形態では、データのノードコンピュータへの送信に、NAT(Network Address Translation)に類似の原理を利用している。
【0102】
ユーザ108から制御装置102に送信されてきたデータ「D」を含むパケットの宛先アドレスはIP2(制御装置のアドレス)であり、発信元アドレスはIP1(ユーザ108のアドレス)であることは既に説明した。
【0103】
本実施の形態では、内部インターフェース208が、このパケットのアドレスを変換することによって、所望のノードコンピュータ104に対してこのパケットを送信する。
【0104】
たとえば、ノードコンピュータ送信するデータが「D2」である場合には、ユーザ108が送信してきた上記パケットの宛先アドレスはIP2からIP4に、変換される。この変換後のパケットの様子が図6に示されている。
【0105】
ステップS5−5においては、ノードコンピュータ104bが、制御装置102が送信してきたパケットを受信し、このパケット中に含まれる書き込みデータDを記憶手段302に格納する。この格納動作は、制御手段304が実行する。
【0106】
ステップS5−6においては、パリティ調整手段204が、パリティデータの生成を行う。たとえば、データ「D2」が新たにノードコンピュータ104b中の記憶手段30に格納される場合は、その新しいデータ「D2」の値に基づき、パリティデータ「P1」を再計算する必要がある。これを実行するのがパリティ調整手段204である。
【0107】
このステップS5−6においては、パリティ調整手段は、ノードコンピュータ104aからデータ「D1」を読み出し、この「D1」と新たに書き込んだ「D2」とに基づき、これらのパリティデータ「P1」を求める。パリティは、データ「D1」、データ「D2」の排他的論理和から生成される。ハードディスクのドライブ数が増えた場合も、排他的論理和の対象となるデータが増えるだけであり、同様の演算でパリティデータが計算される。
【0108】
そして、ステップS5−7においては、この「P1」を、ノードコンピュータ104cに送信する。送信動作は内部インターフェース208によって実行される。
【0109】
ステップS5−8においては、パリティデータ「P1」をノードコンピュータ104cの記憶手段302に書き込むのである。このようにしてパリティデータは常に正しい値に保持される。
【0110】
本実施の形態において特徴的なことは、複数のノードコンピュータと制御装置とは、IEEE802で規定されるネットワークにより接続されている点にある。すなわち、IEEE802で規定されるネットワークを用いることにより、複数のノードコンピュータ104を接続することができる。また、ユーザ108側から見た場合は、複数のノードコンピュータ104と制御装置102が、IEEE802で規定されるネットワークにより接続されていため、ユーザ108は、制御装置102に対して要求をすればよい。その結果、ユーザ108は複数のノードコンピュータ104を意識することなく、ネットワーク型記憶装置100を全体として一台の記憶装置として認識することが可能となり、メンテナンス、セキュリティの管理が容易となる。
【0111】
このように、本実施の形態では、3台のハードディスクドライブを用いてRAID5を構築した例を説明したが、他の方式、たとえばRAID0+1を採用する構成も好ましいことは言うまでもない。
【0112】
4.2 データの読み出し動作
次に、ユーザから読み出し要求があった場合について説明する。データの読み出し要求があった場合の動作を表すフローチャートが図7に示されている。
【0113】
まず、ステップS7−1において、ユーザ108は、外部ネットワーク110を介して、データD3の読み出し要求パケットを制御装置102に対して送信する。このパケットには、制御装置102のアドレスであるIP2と、ユーザ108のアドレスである送信元のアドレスIP1を含むIPヘッダが付加されている。
【0114】
ステップS7−2において、制御装置102は、書き込み要求のパケットを受信する。
【0115】
ステップS7−3においては、検査手段202が、送信されてきた読み出し要求に係る位置を検査する。既に説明したように、ユーザは、データDの読み出し位置を仮想ハードディスク400上の位置で表してくる。したがって、検査手段202は、この位置を、ノードコンピュータ104(a〜c)中の記憶手段302上の位置に変換するのである。
【0116】
ステップS7−4においては、内部インターフェース208が、検査手段202が求めた位置に基づき、ノードコンピュータ104にデータの読み出しを指示する。たとえば、図4に示されているように、データ「D1」を読み出す場合には、ノードコンピュータ104aに読み出しを指示するパケットを送信する。また同様に、データ「D5」を読み出す場合には、ノードコンピュータ104cに読み出しを指示するパケットを送信する。この様子は図4で説明したとおりである。
【0117】
なお、本実施の形態では、読み出し指示のパケットをノードコンピュータ104へ送信するのに、データの書き込みの際と同様にNAT(Network Address Translation)に類似の原理を利用している。
【0118】
ユーザ108から制御装置102に送信されてきたデータ「D3」を読み出す指示を含むパケットの宛先アドレスはIP2(制御装置のアドレス)であり、発信元アドレスはIP1(ユーザ108のアドレス)であることは既に説明してきたとおりである。このパケットの様子が図9に示されている。
【0119】
本実施の形態では、内部インターフェース208が、このパケットのアドレスを変換することによって、所望のノードコンピュータ104に対してこの読み出しの指示であるパケットを送信するのである。
【0120】
たとえば、読み出すデータが「D3」である場合(図4のD3参照)には、ユーザ108が送信してきた上記パケットの宛先アドレスはIP2からIP4に、変換される。データ「D3」が格納されているノードコンピュータ104bのアドレスはIP4だからである。このようなアドレス変換の様子が図9に示されている。
【0121】
ステップS7−5においては、ノードコンピュータ104bが、制御装置02が送信してきたパケットを受信し、このパケット中に含まれる読み出しの指示に基づき、データD3を記憶手段302から読み出す。この読み出し動作は、制御手段304が実行する。
【0122】
ステップS7−6においては、読み出したデータが、ノードコンピュータ104bから、制御装置102に送信される。この際、パケットの送信元アドレスはノードコンピュータ104bのアドレスであるIP4である。そして、宛先アドレスは、ノードコンピュータ104bに送信されてきたパケットの発信元、すなわち、IP1である。このようなパケットの様子が図9に示されている。宛先のアドレスがIP1であっても、制御装置102がこのパケットを受信し、ユーザ108に送信するように構成することは容易である。これは従来のルーターと類似する動作であり、要するに制御装置102はアドレスIP1のパケットを、外部ネットワーク110向けにルーティングしているのである。このルーティングの結果、ユーザ108は最終的にデータを取得することができる。
【0123】
ステップS7−7において、制御装置102において、送信されてきた読み出したデータの受信が成功した場合には、ステップS7−8に処理が移行する。一方、何らかの理由により、受信が失敗した場合は、ステップS8−1に処理が移行する。
【0124】
ステップS7−8においては、制御装置102の外部インターフェース200が、ノードコンピュータ104bから送られてきたデータをユーザ108方向に送信する。この際、ノードコンピュータ104bから送られてきたパケットは、そのままユーザに送られるのではなく、アドレスが変換されてから送信される。すなわち、発信元アドレスがノードコンピュータ104bの「IP4」から、制御装置102のIP2に変換されるのである。つまりノードコンピュータ104bのアドレスを自己のアドレスと変換しているのである。このようなアドレス変換によって、ユーザ108から見ると、制御装置102に対して要求を出し、その要求の結果も制御装置102から返信されてきたように見え、内部のノードコンピュータ104の構成等を一切知る必要がなく、簡便にデータの読み出しを行える。このアドレス変換の様子が図9に示されている。
【0125】
なお、上記ステップS7−7において、受信が失敗した場合には、図8のステップS8−1、S8−2において、パリティ調整手段204が、データの復元を試みる。
【0126】
すなわち、ステップS8−1においては、読み込みに失敗したノードコンピュータ104b以外のノードコンピュータ104a、104bから所定のデータを読み出す。
【0127】
そして、ステップS8−2においては、上記読み出したデータに基づき、ユーザが読み出そうとしたデータの復元を試みる。たとえば、ノードコンピュータ104aからパリティデータである「P2」を読み出し、ノードコンピュータ104cからデータ「D4」を読み出し、これらのEX−ORを演算できれば、データ「D3」を復元できる可能性がある。
【0128】
パリティデータの取り扱いは、種々の方法が知られているので、本実施の形態で説明した手法以外の、従来から知られている種々の手法でデータを復元することも好ましい。
【0129】
また、この場合、故障が発生したノードコンピュータ104の存在を利用者に知らせるために何らかの報知動作を、復元手段206が実行することももちろん好ましい。そのような報知動作は従来からよく知られているので、従来から知られているそのような技術を採用すればよい。たとえば、ディスプレイ上に、障害報告のメッセージが表示されるように構成することも好ましい。このメッセージにおいてノードコンピュータ104を特定するように構成することが好ましい。
【0130】
[実施の形態2] 変形例
(1)ミラーリングその1
上記実施の形態1では、RAID5を例にして動作を説明したが、他のRAIDの方式を適用することももちろん好ましい。たとえば、ミラーリング(RAID1)を採用することも好適である。このミラーリングの場合は、2台のノードコンピュータ104a、104bを準備し、この2台に同一のデータを書き込む。読み出し時に一方のノードコンピュータ104a(又は104b)が故障しても、残りのノードコンピュータ104b(又は104a)からデータを読み出すことにより、処理を続行することができるものである。
【0131】
この場合、故障が発生したノードコンピュータ104の存在を利用者に知らせるために何らかの報知動作を採用することももちろん好ましい。この報知動作は、上記実施の形態1で述べた如き態様で行うことが好ましい。
【0132】
なお、2台以上のノードコンピュータによるミラーリングも考えられるが、この場合は、多数決により正しいデータを決定する手法も知られている。
【0133】
(2)ミラーリングその2
上記実施の形態1では、3台のノードコンピュータ104a、104b、104cを用いる例を説明した。ここで、6台のノードコンピュータ104を用いて、2台ずつ全く同様の動作を実行させることも好ましい。2台ずつ「組」にするのであるから、動作上は、実施の形態1の3台の動作と全く同様である。
【0134】
この場合、組となった2台が同一の動作を行うので、いずれか一方に障害が生じても処理動作を続行することができる。
【0135】
2台が同一の動作を行う場合、制御装置102はどちらの結果を採用すべきか問題となるかもしれない。この場合、いずれか早く結果を返した方を採用し、他方は無視すればよい。このような動作原理は、本願出願人が特願2002−185216号の負荷分散装置で既に提案している。同号特許出願で提案した原理を本発明においても採用すればよい。
【0136】
(3)データリンクアドレスの使用
実施の形態1では、ユーザ108からの要求のパケットを、いわばアドレス変換の技術を用いて、ノードコンピュータ104に送信していた。しかし、アドレス変換を用いずにデータリンクアドレスの一種であるMACアドレスを用いて送信先のノードコンピュータ104を指定することも好ましい。いわゆるIEEE802で規定されるネットワークでは、このMACアドレスで送信元や送信先が指定されるので、より上位のアドレスの変換を行わずにMACアドレスでノードコンピュータ104を指定してパケットを送信することも好ましい。
【0137】
このようにMACアドレスを用いて、ユーザ108からの要求をノードコンピュータ104に分配する動作原理は、本願発明者らによって既に特許出願がなされている。その特許出願の番号は特願2002−282394号(2002年9月27日出願)である。
【0138】
データリンクアドレスを用いた動作を以下説明する。
【0139】
図10には、データリンクアドレスを用いてノードコンピュータにユーザからの要求を送信するネットワーク型記憶装置1200の模式図が示されており、図11には、このようなネットワーク型記憶装置1200の動作を表すフローチャートが示されている。
【0140】
まず、図11のステップS11−1において、ユーザ1100が制御装置1202に対してデータの読み出し又はデータの書き込み要求を送信する。この要求は、図10において模式的に示されているように、IPアドレスで表されたソースアドレス(SRC)が、ユーザ1100のIPアドレス「IPc」である。また、IPアドレスで表されたディスティネーションアドレス(DTN)は制御装置1202のインターネット108上のIPアドレス「IPbl」である。この制御装置1202は、上記制御装置102と同様の働きをするものである。しかし、この制御装置1202は、要求をノードコンピュータ1104に送信する際にいわゆるアドレス変換を行わず、MACアドレスを用いている点で、上記制御装置102と異なる。
【0141】
なお、上記ソースアドレスは、「発信元アドレス」と呼ばれる場合もある。また、上記ディスティネーションアドレスは、「宛先アドレス」と呼ばれる場合もある。
【0142】
次に、ステップS11−2においては、制御装置1202に送信されたデータの読み出し要求(又は書き込み要求)が、検査手段202における検査の対象となり、データを読み出し(又は書き込む)ノードコンピュータ1104を特定する。たとえば、この読み出し(又は書き込み)割り当てがノードコンピュータ1104bになされたとして以下説明を続ける。
【0143】
内部インターフェース208は、検査手段202がノードコンピュータ1104bを選択したことを知る。そして、ノードコンピュータ1104bのIPアドレスIP2を知る。
【0144】
ステップS11−3においては、内部インターフェース208が、IPアドレス「IP2」をそれに対応するMACアドレス、すなわち「MAC2」に変換し、このMAC2宛に上記ユーザ1100からの要求を内部ネットワーク1106上で送信するのである。たとえば、この変換のために、内部インターフェース208は、その内部に変換テーブルを有することも好ましい。このテーブルには、たとえば、IP1−MAC1、IP2−MAC2、IP3−MAC3、IP4−MAC4、と言う内容が記述されていることが好ましい。
【0145】
この変形例において特徴的なことは、ユーザ1100からの要求をノードコンピュータ104に送信するに当たって、IPアドレスではなく、MACアドレスそのものを用いていることと、要求中のIPアドレスを何ら変換していないことである。すなわち、制御装置1202からノードコンピュータ104bに送信される要求中のIPアドレスは、ユーザ1100から送信されてきたときと同様である。具体的に言えば、図10中で模式的に表しているように、IPアドレスで表したソースアドレスは「IPc」であり、IPアドレスで表したディスティネーションアドレスは、「IPbl」である。
【0146】
図10に示されているように、この変形例においては、ノードコンピュータ1104a〜1104dには全て「IPbl」という仮想IPアドレスも付与されている。したがって、この仮想IPアドレスの存在によって、各ノードコンピュータ、IPアドレスの点からも不整合は何ら生じていない。
【0147】
本実施の形態においては、このように要求の中のIPアドレスを何ら変換していないので、制御装置1202の負担は制御装置202に比べて大幅に減少している。具体的には要求を含むパケット中のアドレス変換を行っていないからである。
【0148】
次に、ステップS11−4においては、送られてきた要求のパケットに対してノードコンピュータ1104bが所定の処理を実行する。この処理自体は上で述べた例と全く同様である。ノードコンピュータ1104は、上で述べたノードコンピュータ104と基本的には同様のものである。異なる点は、それぞれに付されているIPアドレスIP1、IP2、IP3、IP4の他に、仮想IPアドレス「IPbl」が付されている点である。
【0149】
要求が、データの書き込みの場合は、ノードコンピュータ1104bが記憶手段302中の所定の位置にデータを書き込むことによって処理自体は終了する。一方、要求がデータの読み出しの場合には、ノードコンピュータ1104bは記憶手段302中の所定の位置からデータを読み出し、その結果を送信先に返信する。この動作は上で述べた例と基本的には同様のものである。具体的に言えば、ノードコンピュータ1104bに送信されてきた要求の発信元へ、処理の結果を返信するのであるから、処理結果の宛先、つまりディスティネーションアドレスはIPアドレスで表せば「IPc」である。
【0150】
そしてノードコンピュータ1104bに送信されてきた要求の宛先(IPアドレス「IPbl」)が、処理結果の発信元になるべきである。すなわち、処理結果の発信元(ソースアドレス)はIPアドレスで表せば「IPbl」となる。ノードコンピュータ1104bには既に説明したようにIPアドレス「IPbl」も付されているので、処理結果の発信元(ソースアドレス)が「IPbl」であることに何ら不整合ではない。なお、この様子が図10上で模式的に表されている。
【0151】
次に、ステップS11−5においては、ノードコンピュータ1104bが送信した読み出し結果を制御装置1202が受信する。具体的には内部インターフェースが受信する。この受信した読み出し結果のパケットは、外部インターフェース200が、そのままユーザ1100に送信する。この際、IPアドレスの変換等は一切しない。図10に示すように、IPアドレスで表したソースアドレスは「IPbl」のままであり、IPアドレスで表したディスティネーションアドレスも「IPc」のままである。すなわち、この制御装置1202は従来の通常のルーティングを行っているだけである。IPアドレスのルーティングの基本動作を非常に大雑把に言えば、自分の(又は自分のドメインに含まれる)IPアドレスであれば自分が受取り、その他は、他のネットに転送するというものである。
【0152】
制御装置は受け取ったパケットのアドレスが自分以外の「IPc」という値であったので、単純にこのパケットをインターネット1108側に転送するのである。この結果、ユーザ1100は、データの読み出し結果を取得する。
【0153】
以上のような処理の結果、ユーザ1100は、要求を、IPアドレス「IPbl」宛に送信し、特にデータの読み出し要求の場合には、同じくIPアドレス「IPbl」からそのデータの読み出し結果を受信している。
【0154】
すなわち、ユーザ1100から見ると、あたかも1台の制御装置1202によってデータの書き込み・読み出し処理が行われているかのように見えるのである。
【0155】
以上述べたように、本実施の形態によれば、以下の効果が得られる。
【0156】
(a)制御装置1202は、IPアドレスの変換を一切行っていないので、その負担を減らすことができる。その結果、同じコンピュータを使用しながら、実質的には上記制御装置102に比べてその処理能力増大させることが可能となる。
【0157】
(b)上述した実施の形態1では、アドレス変換によってユーザからのデータの読み出し要求や書き込み要求を対応するノードコンピュータに転送したいたので、その後その割り当てを覚えておく必要がある。しかし、本変形例ではIPアドレスの変換を何ら行っていないので、そのような処理が必要なく、制御装置1202の負荷が減り、その結果、実質的に実施の形態1の制御装置102の処理能力を増大させることができる。
【0158】
なお、これまで述べたように、制御装置1202は、コンピュータにより実現されている。この制御装置1202の各動作は、コンピュータをこのように動作させるプログラムによって規定されている。
【0159】
(4)データリンクアドレスの使用その2
上の変形例(3)では、ステップS11−2において、検査手段202がノードコンピュータ104を特定するのにIPアドレスを用いたが、直接MACアドレスを用いて特定することも好ましい。このようにMACアドレスを用いて特定することにより、割り当ての動作をIPアドレスのレベルより下位のレベル、すなわちIEEE802シリーズによるネットワーク上におけるルーティング動作とすることができるので、制御装置1202の負荷をより一層低減させることができる。
【0160】
この場合は、ステップS11−3においては、検査手段202が特定したMACアドレスをそのまま用いて内部インターフェース208が要求をノードコンピュータ1104に送信できるので、送信先を容易に特定することができ、さらにネットワーク型記憶装置1200の性能を向上させることができる。
【0161】
【発明の効果】
以上述べたように、本発明によれば、複数のノードコンピュータと制御装置をネットワークに接続することにより、ユーザからは一台の記憶装置として認識することができる。
【0162】
また、本発明によれば、複数のノードコンピュータと制御装置をネットワークに接続することによって、記憶手段を含むノードコンピュータを容易に増やすことができ、記憶容量に大きな柔軟性を持たせることが可能である。
【図面の簡単な説明】
【図1】本実施の形態の制御装置やノードコンピュータが利用されている様子を表す模式図である。
【図2】本実施の形態の制御装置の機能構成ブロック図である。
【図3】本実施の形態のノードコンピュータの機能構成ブロック図である。
【図4】従来のRAID装置と本発明のネットワーク型記憶装置との比較図である。
【図5】ユーザがデータの書き込み要求を出した場合の動作を表すフローチャートである。
【図6】ユーザがデータの書き込み要求を出した場合のパケットの様子を表す説明図である。
【図7】ユーザがデータの読み出し要求を出した場合の動作を表すフローチャートである。
【図8】ユーザがデータの読み出し要求を出した場合の動作を表すフローチャートである。
【図9】ユーザがデータの読み出し要求を出した場合のパケットの様子を表す説明図である。
【図10】変形例のパケットの様子を表す説明図である。
【図11】変形例の動作を表すフローチャートである。
【符号の説明】
100 ネットワーク型記録装置
102 制御装置
104a、104b、104c ノードコンピュータ
106 内部ネットワーク
108 ユーザ
110 外部ネットワーク
200 外部インターフェース
202 検査手段
204 パリティ調整手段
206 復元手段
208 内部インターフェース
1100 ユーザ
1104a、1104b、1104c、1104d ノードコンピュータ
1106 内部ネットワーク
1108 インターネット
1200 ネットワーク型記録装置
1202 制御装置

Claims (26)

  1. 複数のノードコンピュータと、
    制御装置と、
    前記複数のノードコンピュータと前記制御装置とを接続するネットワークと、を備えた記憶装置において、
    前記制御装置は、
    データの書き込み要求を受信する外部インターフェースと、
    前記データの書き込み要求に係る書き込みデータが、前記ノードコンピュータ中の記憶手段のどの位置に書き込むべきかを検査する検査手段と、
    前記データの書き込み要求に係る書き込みデータを、前記検査手段の検査結果に基づき、1又は2以上の前記複数のノードコンピュータに前記ネットワークを介して送信する内部インターフェースと、
    を含み、
    前記ノードコンピュータは、
    前記ネットワークを介して送信されてきた前記書き込みデータを受信するネットワークインターフェースと、
    前記ネットワークインターフェースが受信した前記書き込みデータを記憶手段に書き込む制御手段と、
    前記書き込みデータを格納する前記記憶手段と、
    を含むことを特徴とするネットワーク型記憶装置。
  2. 請求項1記載のネットワーク型記憶装置において、
    前記制御装置は、
    前記書き込みデータに基づき、パリティデータを生成するパリティ調整手段、を含み、前記内部インターフェースは、前記生成したパリティデータを、所定のノードコンピュータに送信することを特徴とするネットワーク型記憶装置。
  3. 請求項1又は2記載のネットワーク型記憶装置において、
    前記記憶手段は、ハードディスクであることを特徴とするネットワーク型記憶装置。
  4. 請求項1又は2記載のネットワーク型記憶装置において、
    前記ネットワークはIEEE802で規定されるネットワークであり、
    前記内部インターフェースは、前記IEEE802で規定されるネットワークと接続するインターフェースであることを特徴とするネットワーク型記憶装置。
  5. 複数のノードコンピュータと、ネットワークで接続され、ネットワーク型記憶装置を構成する制御装置において、
    データの書き込み要求を受信する外部インターフェースと、
    前記データの書き込み要求に係る書き込みデータが、前記ノードコンピュータ中の記憶手段のどの位置に書き込むべきかを検査する検査手段と、
    前記データの書き込み要求に係る書き込みデータを、前記検査手段の検査結果に基づき、1又は2以上の前記複数のノードコンピュータに前記ネットワークを介して送信する内部インターフェースと、
    を含むことを特徴とする制御装置。
  6. 請求項5記載の制御装置において、
    前記書き込みデータに基づき、新たなパリティデータを生成するパリティ調整手段、
    を含み、前記内部インターフェースは、前記生成したパリティデータを、所定のノードコンピュータに送信することを特徴とする制御装置。
  7. 請求項5又は6記載の制御装置において、
    前記ネットワークはIEEE802で規定されるネットワークであり、
    前記内部インターフェースは、前記IEEE802で規定されるネットワークと接続するインターフェースであることを特徴とする制御装置。
  8. 複数のノードコンピュータと、ネットワークで接続され、ネットワーク型記憶装置を構成する制御装置としてコンピュータを動作させるプログラムにおいて、
    前記コンピュータに、
    書き込みデータを受信する受信手順と、
    前記データの書き込み要求に係る書き込みデータが、前記ノードコンピュータ中の記憶手段のどの位置に書き込むべきかを検査する検査手順と、
    前記書き込みデータを、前記検査手順の検査結果に基づき、1又は2以上の前記複数のノードコンピュータに前記ネットワークを介して送信する送信手順と、
    を実行させることを特徴とするプログラム。
  9. 請求項8記載のプログラムにおいて、前記コンピュータに、前記書き込みデータに基づき、新たなパリティデータを生成するパリティ調整手順、
    を実行させ、
    前記送信手順においては、前記コンピュータに、前記生成したパリティデータを、所定のノードコンピュータに送信させることを特徴とするプログラム。
  10. 請求項8又は9記載のプログラムにおいて、
    前記ネットワークはIEEE802で規定されるネットワークであり、
    前記送信手順においては、前記コンピュータは、前記IEEE802で規定されるネットワークと接続するインターフェースを用いて送信を実行することを特徴とするプログラム。
  11. 複数のノードコンピュータと、
    制御装置と、
    前記複数のノードコンピュータと前記制御装置とを接続するネットワークと、を備えた記憶装置において、
    前記制御装置は、
    データの読み出し要求を受信する外部インターフェースと、
    前記読み出し要求に係るデータが、前記ノードコンピュータ中の記憶手段のどの位置に格納されているか検査する検査手段と、
    前記検査手段が検査し、前記読み出し要求に係るデータが格納されていると判断した位置に関して、前記ノードコンピュータに対して前記ネットワークを介してデータの読み出し指示を送信し、さらに、前記ネットワークを介して前記ノードコンピュータから送信されてきた所定のデータを受信する内部インターフェースと、
    を含み、前記外部インターフェースは、前記内部インターフェースが受信した前記データの読み出し要求に係るデータを出力し、
    前記ノードコンピュータは、
    前記ネットワークを介して送信されてきた前記データの読み出し指示を受信するネットワークインターフェースと、
    前記ネットワークインターフェースが受信した前記データの読み出し指示に基づき、記憶手段から所定のデータを読み出す制御手段と、
    前記制御手段がデータを読み出す前記記憶手段と、
    を含み、前記ネットワークインターフェースは、前記制御手段が前記記憶手段から読み出したデータを、前記ネットワークを介して前記制御装置に送信することを特徴とするネットワーク型記憶装置。
  12. 請求項11記載のネットワーク型記憶装置において、
    前記制御装置は、
    前記内部インターフェースが、前記所定のデータの受信に失敗した場合、そのデータを送信するノードコンピュータ以外の他のノードコンピュータ群の記憶手段から読み出したデータに基づき、前記受信に失敗したデータを復元する復元手段、
    を含み、前記外部インターフェースは、前記復元したデータを出力することを特徴とするネットワーク型記憶装置。
  13. 請求項12記載のネットワーク型記憶装置において、
    前記復元手段は、前記内部インターフェースがいずれかのノードコンピュータからのデータの受信に失敗した場合、その失敗したノードコンピュータを報知することを特徴とするネットワーク型記憶装置。
  14. 請求項11、12又は14記載のネットワーク型記憶装置において、
    前記復元手段は、前記内部インターフェースが前記複数のノードコンピュータから受信したデータが互いに一致していなかった場合に、多数決により前記読み出し要求に係るデータを決定し、出力することを特徴とするネットワーク型記憶装置。
  15. 請求項11、12、13又は14記載のネットワーク型記憶装置において、
    前記記憶手段は、ハードディスクであることを特徴とするネットワーク型記憶装置。
  16. 請求項11、12、13又は14記載のネットワーク型記憶装置において、
    前記ネットワークはIEEE802で規定されるネットワークであり、
    前記内部インターフェースは、前記IEEE802で規定されるネットワークと接続するインターフェースであることを特徴とするネットワーク型記憶装置。
  17. 複数のノードコンピュータと、ネットワークを介して接続され、ネットワーク型記憶装置を構成する制御装置において、
    データの読み出し要求を受信する外部インターフェースと、
    前記読み出し要求に係るデータが、前記ノードコンピュータ中の記憶手段のどの位置に格納されているか検査する検査手段と、
    前記検査手段が検査し、前記読み出し要求に係るデータが格納されていると判断した位置に関して、前記ノードコンピュータに対して前記ネットワークを介してデータの読み出し指示を送信し、さらに、前記ネットワークを介して前記ノードコンピュータから送信されてきた所定のデータを受信する内部インターフェースと、
    を含み、前記外部インターフェースは、前記内部インターフェースが受信した前記データの読み出し要求に係るデータを出力することを特徴とする制御装置。
  18. 請求項17記載の制御装置において、
    前記内部インターフェースが、前記所定のデータの受信に失敗した場合、そのデータを送信するノードコンピュータ以外の他のノードコンピュータ群の記憶手段から読み出したデータに基づき、前記受信に失敗したデータを復元する復元手段、
    を含み、前記外部インターフェースは、前記復元したデータを出力することを特徴とする制御装置。
  19. 請求項18記載の制御装置において、
    前記復元手段は、前記内部インターフェースがいずれかのノードコンピュータからのデータの受信に失敗した場合、その失敗したノードコンピュータを報知することを特徴とする制御装置。
  20. 請求項17、18又は19記載の制御装置において、
    前記復元手段は、前記内部インターフェースが前記複数のノードコンピュータから受信したデータが互いに一致していなかった場合に、多数決により前記読み出し要求に係るデータを決定し、出力することを特徴とする制御装置。
  21. 請求項17、18、19又は20記載の制御装置において、
    前記ネットワークはIEEE802で規定されるネットワークであり、
    前記内部インターフェースは、前記IEEE802で規定されるネットワークと接続するインターフェースであることを特徴とする制御装置。
  22. 複数のノードコンピュータと、ネットワークを介して接続され、ネットワーク型記憶装置を構成する制御装置として、コンピュータを動作させるプログラムにおいて、前記コンピュータに、
    データの読み出し要求を受信する受信手順と、
    前記読み出し要求に係るデータが、前記ノードコンピュータ中の記憶手段のどの位置に格納されているか検査する検査手順と、
    前記検査手順において、前記読み出し要求に係るデータが格納されていると判断した位置に関して、前記ノードコンピュータに対して前記ネットワークを介してデータの読み出し指示を送信する送信手順と、
    さらに、前記ネットワークを介して前記ノードコンピュータから送信されてきた所定のデータを受信するデータ受信手順と、
    前記データ受信手順で受信した前記データを出力するデータ出力手順と、
    を実行させることを特徴とするプログラム。
  23. 請求項22記載のプログラムにおいて、前記コンピュータに、
    前記データ受信手順において、前記所定のデータの受信に失敗した場合、そのデータを送信するノードコンピュータ以外の他のノードコンピュータ群の記憶手段から読み出したデータに基づき、前記受信に失敗したデータを復元する復元手順、
    を実行させ、前記データ出力手順においては、前記コンピュータは前記復元したデータを出力することを特徴とするプログラム。
  24. 請求項23記載のプログラムにおいて、
    前記復元手順において、前記コンピュータに、前記データ受信手順でいずれかのノードコンピュータからのデータの受信に失敗した場合、その失敗したノードコンピュータを報知することを実行させることを特徴とするプログラム。
  25. 請求項22、23又は24記載のプログラムにおいて、
    前記復元手順において、前記コンピュータに、前記データ受信手順で前記複数のノードコンピュータから受信したデータが互いに一致していなかった場合に、多数決により前記読み出し要求に係るデータを決定し、出力することを実行させることを特徴とするプログラム。
  26. 請求項22、23、24又は25記載のプログラムにおいて、
    前記ネットワークはIEEE802で規定されるネットワークであり、
    前記内部インターフェースは、前記IEEE802で規定されるネットワークと接続するインターフェースであることを特徴とするプログラム。
JP2002303860A 2002-10-18 2002-10-18 ネットワーク型記憶装置及びその制御装置 Pending JP2004139379A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002303860A JP2004139379A (ja) 2002-10-18 2002-10-18 ネットワーク型記憶装置及びその制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002303860A JP2004139379A (ja) 2002-10-18 2002-10-18 ネットワーク型記憶装置及びその制御装置

Publications (1)

Publication Number Publication Date
JP2004139379A true JP2004139379A (ja) 2004-05-13

Family

ID=32451470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002303860A Pending JP2004139379A (ja) 2002-10-18 2002-10-18 ネットワーク型記憶装置及びその制御装置

Country Status (1)

Country Link
JP (1) JP2004139379A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007207007A (ja) * 2006-02-02 2007-08-16 Hitachi Ltd ストレージシステム、ストレージコントローラ及び計算機システム
JP2008511064A (ja) * 2004-08-25 2008-04-10 インターナショナル・ビジネス・マシーンズ・コーポレーション データ復旧のためのパリティ情報の記憶
JP2010186284A (ja) * 2009-02-12 2010-08-26 Hitachi Ltd ファイル入出力方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008511064A (ja) * 2004-08-25 2008-04-10 インターナショナル・ビジネス・マシーンズ・コーポレーション データ復旧のためのパリティ情報の記憶
JP2007207007A (ja) * 2006-02-02 2007-08-16 Hitachi Ltd ストレージシステム、ストレージコントローラ及び計算機システム
US8127077B2 (en) 2006-02-02 2012-02-28 Hitachi, Ltd. Virtual path storage system and control method for the same
JP2010186284A (ja) * 2009-02-12 2010-08-26 Hitachi Ltd ファイル入出力方法

Similar Documents

Publication Publication Date Title
CN103890729B (zh) 计算机化方法、存储服务器及管理服务器
US7650462B2 (en) Storage system and storage control apparatuses with compression and load balancing
US9223653B2 (en) Modifying a dispersed storage network memory data access response plan
US7275050B2 (en) Storage system, a method of file data backup and method of copying of file data
US11470056B2 (en) In-flight data encryption/decryption for a distributed storage platform
KR100577314B1 (ko) 가상의 저장영역 네트워크를 설정하기 위한 네트워크 데이터의 미러링 방법 및 가상 저장영역 네트워크
US9384099B2 (en) Virtual tape library device and data recovery method
US7996560B2 (en) Managing virtual ports in an information processing system
US7296068B1 (en) System and method for transfering volume ownership in net-worked storage
US20080168251A1 (en) Network system and method for setting volume group in the network system
JP2006024215A (ja) ディスクアレイベースのi/oルーティングとマルチレイヤの外部記憶装置の接続に対する方法と装置
US7373472B2 (en) Storage switch asynchronous replication
CN104811392A (zh) 用于处理网络中的资源访问请求的方法和系统
JP2005535019A (ja) ストレージ管理ブリッジ
JP2023510500A (ja) ストレージシステムにおけるデータ記憶方法、データ読み出し方法、データ記憶装置、データ読み出し装置、ストレージデバイス、およびシステム
JP2004334481A (ja) 仮想化情報管理装置
US20210250235A1 (en) Diagram generation method and storage medium
WO2024113894A1 (zh) 一种远程复制关系的建立方法及相关装置
JP2004139379A (ja) ネットワーク型記憶装置及びその制御装置
WO2019200751A1 (zh) 主备切换方法、装置、计算机设备和存储介质
CN1543135A (zh) San系统中基于负载自适应的异步远程镜像方法
US11256584B2 (en) One-step disaster recovery configuration on software-defined storage systems
JP3848268B2 (ja) 計算機システム、計算機装置、計算機システムにおけるデータアクセス方法及びプログラム
US20030023785A1 (en) Data processing program, computer readable recording medium recorded with data processing program and data processing apparatus
RU2387002C2 (ru) Выравнивание сетевой нагрузки с помощью управления соединением