[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4441286B2 - ストレージシステム - Google Patents

ストレージシステム Download PDF

Info

Publication number
JP4441286B2
JP4441286B2 JP2004032810A JP2004032810A JP4441286B2 JP 4441286 B2 JP4441286 B2 JP 4441286B2 JP 2004032810 A JP2004032810 A JP 2004032810A JP 2004032810 A JP2004032810 A JP 2004032810A JP 4441286 B2 JP4441286 B2 JP 4441286B2
Authority
JP
Japan
Prior art keywords
unit
storage system
interface
interface unit
data
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
JP2004032810A
Other languages
English (en)
Other versions
JP2005227807A (ja
JP2005227807A5 (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 JP2004032810A priority Critical patent/JP4441286B2/ja
Priority to US10/820,964 priority patent/US20050177670A1/en
Priority to DE102004024130A priority patent/DE102004024130B4/de
Priority to GB0510582A priority patent/GB2412205B/en
Priority to GB0411105A priority patent/GB2411021B/en
Priority to FR0405787A priority patent/FR2866132B1/fr
Priority to CNB2004100423977A priority patent/CN1312569C/zh
Priority to US11/031,556 priority patent/US20050177681A1/en
Publication of JP2005227807A publication Critical patent/JP2005227807A/ja
Priority to US11/249,174 priority patent/US7467238B2/en
Publication of JP2005227807A5 publication Critical patent/JP2005227807A5/ja
Priority to FR0852596A priority patent/FR2915594A1/fr
Priority to US12/269,152 priority patent/US7917668B2/en
Priority to US12/714,755 priority patent/US20100153961A1/en
Application granted granted Critical
Publication of JP4441286B2 publication Critical patent/JP4441286B2/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、小規模から大規模までスケーラブルに構成を拡張可能なストレージシステムに関する。
昨今、情報処理システムで処理されるデータを保存するストレージシステムが、情報処理システムの中心的な役割を担うようになっている。ストレージシステムには、小規模な構成から大規模な構成まで数多くの種類のシステムがある。
例えば、図20に示すような構成のストレージシステムが特許文献1に開示されている。このストレージシステムは、計算機(以下「サーバ」とも言う)3との間のデータ転送を実行する複数のチャネルインターフェース(以下「IF」とも言う)部11、ハードディスク群2との間のデータ転送を実行する複数のディスクIF部16、ハードディスク群2に格納するデータを一時的に格納するキャッシュメモリ部14、ストレージシステム8に関する制御情報(例えば、ストレージシステム8内のデータ転送制御に関する情報、ハードディスク群2に格納するデータの管理情報等)を格納する制御メモリ部15及びハードディスク群2とを有する。そして、チャネルIF部11、ディスクIF部16及びキャッシュメモリ部14との間は相互結合網41で接続され、チャネルIF部11、ディスクIF部16及び制御メモリ部15との間は相互結合網42で接続されている。また、相互結合網41や相互結合網42は共通バスやスイッチで構成される。
特許文献1記載のストレージシステムでは、上述の構成により、1つのストレージシステム8内において、キャッシュメモリ部14および制御メモリ部15は全てのチャネルIF部11及びディスクIF部16からアクセス可能な構成となっていた。
また、特許文献2に開示されている従来技術では、図21に示すように、複数のディスクアレイ装置4がディスクアレイスイッチ5を介して複数のサーバ3に接続され、ディスクアレイスイッチ5及び各ディスクアレイ装置4に接続されたシステム構成管理手段60で、複数のディスクアレイ装置4を1つのストレージシステム9として管理する。
米国特許第6385681号
米国特許第6542961号
企業は情報処理システムへの初期投資を抑え、ビジネス規模の拡張に応じて情報処理システムの拡張を行う傾向にある。このため、初期投資が小さくかつ事業規模に合わせてリーズナブルな投資で規模を拡張するためのコストおよび性能のスケーラビリティがストレージシステムに要求される。ここで従来技術の性能のスケーラビリティ及びコストについて検討する。
ストレージシステムに要求される性能(単位時間当たりのデータの入出力回数や単位時間当たりのデータの転送量)は年々向上している。従って、将来的な性能向上に対応するため、特許文献1のストレージシステムが有するチャネルIF部11およびディスクIF部16のデータ転送処理性能も向上させる必要がある。
しかし特許文献1の技術では、全てのチャネルIF部11と全てのディスクIF部16が、キャッシュメモリ部14および制御メモリ部15を介して、チャネルIF部11とディスクIF部16の間のデータ転送を制御する。従ってチャネルIF部11およびディスクIF部16のデータ転送処理性能が向上すると、キャッシュメモリ部14や制御メモリ部へのアクセス負荷が増大する。するとこのアクセス負荷がネックとなり、ストレージシステム8の性能を向上することが将来的に難しくなる、すなわち性能のスケーラビリティを確保できなくなる。
一方特許文献2の技術では、ディスクアレイスイッチ5のポート数を増やすことや複数のディスクアレイスイッチ5を多段に接続することで、接続可能なディスクアレイ装置4およびサーバ3の数を増やすことができる。すなわち性能のスケーラビリティを確保することができる。
しかしながら、特許文献2の技術では、サーバ3はディスクアレイスイッチ5を介してディスクアレイ装置4にアクセスする。したがって、ディスクアレイスイッチ5が有するサーバ3とのインターフェース部においてサーバとディスクアレイスイッチとの間のプロトコルがディスクアレイスイッチ内のプロトコルに変換され、さらにディスクアレイスイッチ5が有するディスクアレイ装置4とのインターフェース部においてディスクアレイスイッチ内のプロトコルがディスクアレイスイッチとディスクアレイ装置との間のプロトコルに変換されるという2回のプロトコル変換処理が発生する。従ってディスクアレイスイッチを介さずに直接ディスクアレイ装置にアクセス可能な場合に比べ、応答性能が劣る。
またコストを考慮しなければ、特許文献1において、キャッシュメモリ部14や制御メモリ部を大規模化して許容可能なアクセス性能を向上させることは可能である。しかし、全てのチャネルIF部11およびディスクIF部16からキャッシュメモリ部14や制御メモリ部15をアクセス可能とするためにキャッシュメモリ部14や制御メモリ部15をそれぞれ1つの共有メモリ空間として管理する必要がある。このため、キャッシュメモリ部14や制御メモリ部15を大規模化すると、小規模構成におけるストレージシステムの低コスト化が難しく、小規模構成のストレージシステムを低価格で提供することが難しい。
上述した課題を解決するために、本発明の一実施形態は、以下の構成を有する。具体的には、第一のインタフェース部及び第二のインタフェース部を含む複数のインタフェース部と、前記複数のインタフェース部によって受信されたデータを格納するためのメモリ部と、前記複数のインタフェース部と前記メモリ部との間のデータの転送を制御するための一以上のプロセッサ部と、前記プロセッサ部の制御によって前記メモリ部から前記第二のインタフェース部を介して受信したデータを格納する複数のディスク装置を含むディスク装置部と、前記複数のインタフェース部、前記メモリ部、及び前記プロセッサ部と物理的に接続される第一のバックプレーンと、前記ディスク装置部と物理的に接続される第二のバックプレーンと、を有し、前記第一のインタフェース部は、第一のケーブルを介して計算機と接続され、前記第二のインタフェース部は、第二のケーブルを介して前記第二のバックプレーンと接続され、前記第一のバックプレーンは、前記複数のインタフェース部、前記メモリ部若しくは前記プロセッサ部のいずれかと物理的に接続される、複数のコネクタを有しており、前記複数のインタフェース部及びプロセッサ部は各々、前記コネクタを介して前記第一のバックプレーンに物理的に接続されることにより、互いに独立に増設される構成である。
また本発明の他の実施形態として、以下の構成がある。具体的には、第一のインタフェース部及び第二のインタフェース部を含む、複数のインタフェース部と、前記複数のインタフェース部から受信したデータを格納するキャッシュメモリモジュールを有するメモリ部と、前記メモリ部と各インタフェース部との間のデータの送受信を制御するプロセッサ部と、前記プロセッサ部の制御により前記第二のインタフェース部から受信したデータを格納する複数のディスク装置を有するディスク装置部と、を有しており、前記複数のインタフェース部、前記メモリ部、及び前記プロセッサ部は各々異なる回路基板に実装されており、インタフェース部が実装された回路基板、メモリ部が実装された回路基板、及びプロセッサ部が実装された回路基板は、各々異なるコネクタを介して第一のバックプレーンに物理的に接続されており、前記第一のバックプレーンは、インタフェース部が実装された回路基板、メモリ部が実装された回路基板、及びプロセッサ部が実装された回路基板と物理的に接続される複数のコネクタを有し、前記複数のコネクタに回路基板が接続されることによりインタフェース部が実装された回路基板とプロセッサ部が実装された回路基板とが互いに独立に増設されるよう構成されており、前記ディスク装置部は、第二のバックプレーンに物理的に接続されており、前記第一のインタフェース部は、第一のケーブルを介して計算機と接続されており、前記第二のインタフェース部は、第二のケーブルを介して前記第二のバックプレーンと接続されており、前記第一のバックプレーンを介して、前記第一のインタフェース部からライトコマンドを受信した場合には、前記プロセッサ部が、当該ライトコマンドに基づいて、前記第一のインタフェース部から前記メモリ部へのライトデータの転送を制御し、更に前記プロセッサ部が、前記メモリ部から前記ライトデータの格納先ディスク装置部と前記第二のケーブルを介して接続されている第二のインタフェース部への前記ライトデータの転送を制御し、前記第二のインタフェース部を介してライトデータがディスク装置に格納される構成である。
その他、本願が開示する課題、及びその解決方法は、発明の実施形態の欄及び図面により明らかにされる。
本発明によれば、サーバ接続数やハードディスク接続数やシステム性能に対するユーザの要求に柔軟に対応可能なフレキシブルな構成のストレージシステムを提供することが可能となる。また、ストレージシステムの共有メモリネックを解消するとともに、小規模な構成の低コスト化を図り、小規模から大規模な構成までコストと性能のスケーラビリティを実現可能なストレージシステムを提供することが可能となる。
以下、本発明の実施形態を図面を用いて説明する。
図1は、第一の実施形態のストレージシステムの構成例を示す図である。ストレージシステム1は、サーバ3あるいはハードディスク群2とのデータの送受信を行うインターフェース部10、プロセッサ部81、メモリ部21及びハードディスク群2を有する。インターフェース部10、プロセッサ部81及びメモリ部21の間は相互結合網31を介して接続されている。
相互結合網31の具体的な構成の一例を図2に示す。
相互結合網31は2つのスイッチ部51を有する。インターフェース部10、プロセッサ部81及びメモリ部21は、2つのスイッチ部51と1本ずつの通信パスで各々接続される。ここで、通信パスとはデータや制御情報を伝送するための1つまたは複数の信号線から成る伝送路である。これにより、インターフェース部10、プロセッサ部81及びメモリ部21のそれぞれの間で2つの通信経路を確保し、信頼性をあげることが可能となる。なお、ここで、上記個数や本数は一実施例に過ぎず、個数を上記に限定するものではない。このことは以下に説明する実施形態全てに当てはまる。
また、相互結合網はスイッチを利用したものを例に示したが、相互に接続され制御情報やデータが転送されれば良いのであり、例えばバスで構成されても良い。
また、図3に示すように、相互結合網31を、データを転送する相互結合網41と制御情報を転送する相互結合網42に分離しても良い。こうすることにより、データと制御情報を1つの通信パスで転送する場合(図1)に比べ、データと制御情報の転送が相互に干渉することが無くなる。これによってデータ及び制御情報の転送性能を向上することが可能となる。
図4は、相互結合網41、42の具体的な構成の一例を示す図である。相互結合網41、42は、それぞれ2つのスイッチ部52、56を有する。インターフェース部10、プロセッサ部81及びメモリ部21は、2つのスイッチ部52及び2つのスイッチ部56の各々と1本ずつの通信パスで接続される。これにより、インターフェース部10、プロセッサ部81、およびメモリ部21のそれぞれの間でデータ用パス91を2本、制御情報用パス92を2本それぞれ確保し、信頼性をあげることが可能となる。
図8は、インターフェース部10の構成の具体例を示す図である。
インターフェース部10は、サーバ3あるいはハードディスク群2と接続される4つのIF(外部IF)100、プロセッサ部81あるいはメモリ部21との間のデータ/制御情報の転送を制御する転送制御部105及びデータのバッファリングや制御情報の格納を行うメモリモジュール123を有する。
外部IF100は転送制御部105と接続される。また、メモリモジュール123は転送制御部105に接続される。転送制御部105は、メモリモジュール123へのデータ/制御情報のリード/ライトを制御するメモリコントローラとしても動作する。
ここで、外部IF100あるいはメモリモジュール123と転送制御部105の間の接続構成は一実施例に過ぎず、構成を上記に限定するものではない。少なくとも、外部IF100から転送制御部105を経てプロセッサ部81、メモリ部21へデータ/制御情報を転送可能な構成であれば良い。
なお、図4に示すデータ用パス91と制御情報用パス92を分離した場合のインターフェース部10においては、転送制御部105にはデータ用パス91が2本、制御情報用パス92が2本接続される。
図9は、プロセッサ部81の構成の具体的例を示す図である。
プロセッサ部81は、2つのマイクロプロセッサ101、インターフェース部10あるいはメモリ部21との間のデータ/制御情報の転送を制御する転送制御部105及びメモリモジュール123を有する。メモリモジュール123は転送制御部105に接続される。転送制御部105は、メモリモジュール123へのデータ/制御情報のリード/ライトを制御するメモリコントローラとしても動作する。メモリモジュール123は、2つのマイクロプロセッサ101の主記憶として共有され、データや制御情報を格納する。なお、プロセッサ部81は、2つのマイクロプロセッサ101に共有されるメモリモジュール123の代わりに、各マイクロプロセッサ101専用のメモリモジュールをマイクロプロセッサの数だけ有しても良い。
マイクロプロセッサ101は転送制御部105に接続される。マイクロプロセッサ101は、メモリ部21の制御メモリモジュール127内に格納された制御情報に基づいて、メモリ部21が有するキャッシュメモリへのデータのリード/ライト、キャッシュメモリのディレクトリ管理、インターフェース部10とメモリ部21との間のデータ転送を制御する。
具体的には、例えばインターフェース部10内の外部IF100が、データのリードまたはライトのアクセス要求を示す制御情報をプロセッサ部81内のメモリモジュール123に書き込む。その後、マイクロプロセッサ101は書き込まれた制御情報を読み出して解釈し、外部IF100からどのメモリ部21へデータを転送するかを示す制御情報及びそのデータ転送に必要なパラメータをインターフェース部10内のメモリモジュール123へ書き込む。外部IF100はその制御情報とパラメータに従い、メモリ部21へのデータ転送を実行する。
またマイクロプロセッサ101は、インターフェース部10に接続されたハードディスク群2へ書き込むデータの冗長化処理、いわゆるRAID処理を実行する。このRAID処理は、インターフェース部10やメモリ部21において実行しても問題ない。更にマイクロプロセッサ101は、ストレージシステム1における記憶領域の管理(論物変換等)も行う。
ここで、マイクロプロセッサ101、転送制御部105及びメモリモジュール123の間の接続構成は一例に過ぎず、構成を上記に限定するものではない。少なくともマイクロプロセッサ101、転送制御部105及びメモリモジュール123の間で相互にデータを転送できる構成であれば良い。
なお、図4に示すようにデータ用パス91と制御情報用パス92を分離した場合、プロセッサ部81の転送制御部105にはデータ用パス91(ここでは2本)と制御情報用パス92(ここでは2本)とが接続される。
図10は、メモリ部21の構成の具体的例を示す図である。
メモリ部21は、キャッシュメモリモジュール126、制御メモリモジュール127及びメモリコントローラ125を有する。キャッシュメモリモジュール126には、ハードディスク群2に書き込むデータまたはハードディスク群2から読み出したデータが一時的に格納(以下「キャッシング」)される。制御メモリモジュール127には、キャッシュメモリモジュール126のディレクトリ情報(キャッシュメモリ上のデータを格納する論理的な区画に関する情報)、インターフェース部10、プロセッサ部81及びメモリ部21間のデータ転送を制御するための情報、ストレージシステム1の管理情報並びに構成情報等が格納される。メモリコントローラ125は、キャッシュメモリモジュール126と制御メモリモジュール127へのデータのリード/ライトの処理を独立に制御する。
また、メモリコントローラ125は、インターフェース部10、プロセッサ部81及び他のメモリ部21との間のデータ/制御情報の転送を制御する。
ここで、キャッシュメモリモジュール126と制御メモリモジュール127を物理的に1つにまとめ、1つのメモリ空間上の論理的に異なる領域にキャッシュメモリ領域と制御メモリ領域を割り当てても良い。こうすることにより、メモリモジュール数を減らすことができ、部品コストを削減することが可能となる。
また、メモリコントローラ125をキャッシュメモリモジュール制御用と制御メモリモジュール制御用に分離しても良い。
ここで、ストレージシステム1がメモリ部21を複数有する場合、複数のメモリ部21を2つのグループに分け、そのグループ間でキャッシュメモリモジュール及び制御メモリモジュールへ格納するデータや制御情報を二重化しても良い。こうすることにより、1つのグループのキャッシュメモリモジュールまたは制御メモリモジュールに障害が発生した場合、もう一方のグループのキャッシュメモリモジュールまたは制御メモリモジュールに格納されたデータ等で動作を継続することが可能となり、ストレージシステム1の信頼性が向上する。
なお、図4に示すようにデータ用パス91と制御情報用パス92を分離した場合、メモリコントローラ125にはデータ用パス91(ここでは2本)と制御情報用パス92(ここでは2本)とが接続される。
図11は、スイッチ部51の構成の具体例を示す図である。
スイッチ部51はスイッチLSI58を有する。スイッチLSI58は、4つのパスIF130、ヘッダ解析部131、アービタ132、クロスバスイッチ133、8つのバッファ134及び4つのパスIF135を有する。
パスIF130は、インターフェース部10と接続される通信パスが接続されるIFである。インターフェース部10及びパスIF130は、一対一に接続される。パスIF135は、プロセッサ部81又はメモリ部21と接続される通信パスが接続されるIFである。プロセッサ部81又はメモリ部21とパスIF135は、一対一に接続される。バッファ134には、インターフェース部10、プロセッサ部81及びメモリ部21の間で転送されるパケットが一時的に格納(バッファリング)される。
図12は、インターフェース部10、プロセッサ部81及びメモリ部21の間で転送されるパケットのフォーマットの一例を示す図である。パケットとは、各部の間でのデータ(制御情報を含む)転送の際に使用されるプロトコルにおけるデータ転送の単位である。パケット200は、ヘッダ210、ペイロード220及びエラーチェックコード230を有する。ヘッダ210には、少なくともパケットの送信元と送信先を示す情報が格納される。ペイロード220には、コマンド、アドレス、データ、ステータス等の情報が格納される。また、エラーチェックコード230は、パケット転送時にパケット内で発生するエラーの検出のために使用するコードである。
スイッチLSI58は、パスIF130又は135がパケットを受信すると、受信したパケットのヘッダ210をヘッダ解析部131へ送る。ヘッダ解析部131は、ヘッダ210に含まれるパケットの送信先の情報に基づいて、各パスIF間の接続要求を割り出す。具体的には、ヘッダ解析部131は、ヘッダ210で指定されるパケット送信先の装置(メモリ部等)と接続されているパスIFを割り出し、パケットを受信したパスIFと割り出されたパスIFとの間での接続要求を生成する。
その後、ヘッダ解析部131は、生成した接続要求をアービタ132へ送る。アービタ132は、割り出された各パスIFの接続要求を元に各パスIF間の調停(アービトレーション)を行う。その結果に基づいて、アービタ132は、クロスバスイッチ133に対して接続切換を示す信号を出力する。信号を受信したクロスバスイッチ133は、信号の内容に基づいてクロスバスイッチ133内の接続を切り換え、所望のパスIF間の接続を実現する。
ここで、本実施例では各パスIFに一対一にバッファを持つ構成としたが、スイッチLSI58が1つの大きなバッファを持ち、その中から各パスIFにパケット格納領域を割り当てるという構成にしても良い。また、スイッチLSI58はスイッチ部51内の障害情報を格納するメモリを有する。
図16は、相互結合網31の他の構成例を示す図である。
図16では、スイッチ部51のパスIFの数を10に増やし、かつスイッチ部51の数を4に増やした。その結果、インターフェース部10、プロセッサ部81及びメモリ部21の数が図2の構成の倍になる。尚、図16においては、インターフェース部10は一部のスイッチ部51にしか接続されないが、プロセッサ部81及びメモリ部21は全てのスイッチ部51に接続される構成である。こうしても、全てのインターフェース部10から全てのメモリ部21及び全てのプロセッサ部81へのアクセスが可能となる。
また逆に、インターフェース部10個々が全てのスイッチ部51と接続され、プロセッサ部81及びメモリ部21の各々は一部のスイッチ部51と接続される構成としても良い。例えば、プロセッサ部81及びメモリ部21を2つのグループに分け、1つのグループは2つのスイッチ部51と接続され、他のグループは残りの2つのスイッチ部51と接続される構成とする。こうすることによっても、全てのインターフェース部10から全てのメモリ部21及び全てのプロセッサ部81へのアクセスが可能となる。
次に、サーバ3からストレージシステム1のハードディスク群2に記録されたデータを読み出す場合の処理手順の例を述べる。なお、以下の説明においてスイッチ51を使用するデータ転送には全てパケットが使用される。又、プロセッサ部81とインタフェース部10との通信において、プロセッサ部81から送信された制御情報(データ転送等に必要な情報)をインターフェース部10が格納する場所は、あらかじめ決まっている。
図22は、サーバ3からストレージシステム1のハードディスク群2に記録されたデータを読み出す場合の処理手順例を示したフローチャートである。
まずサーバ3は、ストレージシステム1に対してデータの読出しコマンドを発行する。インターフェース部10内の外部IF100がコマンドを受信する(742)と、コマンド待ち(741)にあった外部IF100は、受信したコマンドを転送制御部105及び相互結合網31(ここではスイッチ部51とする)を介してプロセッサ部81内の転送制御部105へ転送する。コマンドを受信した転送制御部105は、メモリモジュール123に受信したコマンドを書き込む。
プロセッサ部81のマイクロプロセッサ101は、メモリモジュール123へコマンドが書き込まれたことをメモリモジュール123へのポーリング、または転送制御部105からの書き込みを示す割り込みによって検出する。コマンドの書き込みを検知したマイクロプロセッサ101は、メモリモジュール123から該当するコマンドを読み出してコマンド解析を行う(743)。マイクロプロセッサ101は、コマンド解析の結果、サーバ3が要求するデータが記録されている記憶領域を示す情報を割り出す(744)。
マイクロプロセッサ101は、コマンド解析によって得られた記憶領域の情報及びプロセッサ部81内のメモリモジュール123又はメモリ部21内の制御メモリモジュール127に格納されているキャッシュメモリモジュールのディレクトリ情報から、メモリ部21内のキャッシュメモリモジュール126に、コマンドで要求されるデータ(以下「要求データ」とも言う)が記録されているかどうかを確認する(745)。
キャッシュメモリモジュール126に要求データがあった場合(以下「キャッシュヒット」とも言う。)(746)、マイクロプロセッサ101は、キャッシュメモリモジュール126からインターフェース部10内の外部IF100へ要求データを転送するために必要な情報、具体的には要求データが格納されているキャッシュメモリモジュール126内のアドレス及び転送先となるインターフェース部10が有するメモリモジュール123内のアドレスの情報を、プロセッサ部81内の転送制御部105、スイッチ部51及びインターフェース部10内の転送制御部105を介してインターフェース部10内のメモリモジュール123へ転送する。
その後、マイクロプロセッサ101は、外部IF100にメモリ部21からデータを読み出すように指示する(752)。
指示を受けたインターフェース部10内の外部IF100は、まず自インターフェース部10内のメモリモジュール123の所定の場所から要求データの転送に必要な情報を読み出す。その情報をもとに、インターフェース部10内の外部IF100はメモリ部21のメモリコントローラ125へアクセスして、キャッシュメモリモジュール126からの要求データの読み出しを要求する。要求を受けたメモリコントローラ125は、キャッシュメモリモジュール126から要求データを読み出し、その要求データを、要求を受けたインターフェース部10へ転送する(753)。要求データを受信したインターフェース部10は、受信した要求データをサーバ3へ送出する(754)。
一方、キャッシュメモリモジュール126に要求データがない場合(以下「キャッシュミス」とも言う。)(746)、まずマイクロプロセッサ101は、メモリ部21内の制御メモリモジュール127へアクセスし、キャッシュメモリモジュールのディレクトリ情報に、メモリ部21内のキャッシュメモリモジュール126に要求データを格納する領域を確保するための情報、具体的には空いているキャッシュスロットを指定する情報を登録する(以下「キャッシュ領域確保」とも言う。)(747)。キャッシュ領域確保後、マイクロプロセッサ101は、メモリ部21内の制御メモリモジュール127へアクセスし、制御メモリモジュール127に格納されている記憶領域の管理情報から、要求データが格納されているハードディスク群2が接続されているインターフェース部10(以下「目的インターフェース部10」とも言う)を割り出す(748)。
その後、マイクロプロセッサ101は、目的インターフェース部10内の外部IF100からキャッシュメモリモジュール126へ要求データを転送するために必要な情報を、プロセッサ部81内の転送制御部105、スイッチ部51及び目的インターフェース部10内の転送制御部105を介して、目的インターフェース部10内のメモリモジュール123へ転送する。そしてマイクロプロセッサ101は、ハードディスク群2から要求データを読み出しメモリ部21へ要求データを書き込むよう、目的インターフェース部10内の外部IF100へ指示する。
指示を受けた目的インターフェース部10内の外部IF100は、指示に基づいて自インターフェース部10内のメモリモジュール123の所定の場所から要求データの転送に必要な情報を読み出す。その情報をもとに、目的インターフェース部10内の外部IF100はハードディスク群2から要求データを読み出し(749)、読み出したデータをメモリ部21内のメモリコントローラ125へ転送する。メモリコントローラ125は、受信した要求データをキャッシュメモリモジュール126へ書き込む(750)。要求データの書き込みが終了すると、メモリコントローラ125は、その終了をプロセッサ101へ通知する。
キャッシュメモリモジュール126への書き込みの終了を検出したマイクロプロセッサ101は、メモリ部21内の制御メモリモジュール127へアクセスし、キャッシュメモリモジュールのディレクトリ情報を更新する。具体的には、マイクロプロセッサ101は、キャッシュメモリモジュールの内容が更新されたことをディレクトリ情報に登録する(751)。更にマイクロプロセッサ101は、データ読み出しの要求コマンドを受けたインターフェース部10に対して、メモリ部21から要求データを読み出すよう、指示を送る。
指示を受けたインターフェース部10は、キャッシュヒット時の処理手順と同様に、キャッシュメモリモジュール126から要求データを読み出し、サーバ3へ転送する。以上のようにして、ストレージシステム1は、サーバ3からのデータの読み出し要求に対し、キャッシュメモリモジュールまたはハードディスク群2からデータを読み出して、サーバ3へ送信する。
次に、サーバ3からストレージシステム1にデータを書き込む場合の処理手順の例を述べる。図23は、サーバ3からストレージシステム1にデータを書き込む場合の処理手順の例を示したフローチャートである。
まず、サーバ3は、ストレージシステム1に対してデータの書き込みコマンドを発行する。なお、本実施形態では、書き込みコマンドには、書き込まれるべきデータ(以下「更新データ」とも言う)が含まれているとして説明を行う。ただし、書き込みコマンドには更新データが含まれない場合もある。この場合は、一旦書き込みコマンドによってストレージシステム1の状態を確認した後で、サーバ3は更新データを送信する。
インターフェース部10内の外部IF100がコマンドを受信する(762)と、コマンド待ち(761)にあった外部IF100は、受信したコマンドを、転送制御部105及びスイッチ部51を介してプロセッサ部81内の転送制御部105へ転送する。転送制御部105は、受信したコマンドをプロセッサ部のメモリモジュール123へ書き込む。尚、更新データは、インターフェース部10のメモリモジュール123に一時的に保存される。
プロセッサ部81のマイクロプロセッサ101は、メモリモジュール123へコマンドが書き込まれたことを、メモリモジュール123へのポーリングや転送制御部105からの書き込みを示す割り込み等によって検出する。コマンドの書き込みを検出したマイクロプロセッサ101は、メモリモジュール123から該当するコマンドを読み出してコマンド解析を行う(763)。マイクロプロセッサ101は、コマンド解析の結果から、サーバ3が書き込みを要求する更新データを記録する記憶領域を示す情報を割り出す(764)。マイクロプロセッサ101は、更新データを書き込む記憶領域を示す情報及びプロセッサ部81内のメモリモジュール123又はメモリ部21内の制御メモリモジュール127に格納されているキャッシュメモリモジュール126のディレクトリ情報に基づいて、メモリ部21内のキャッシュメモリモジュール126に、書き込み要求の対象、すなわち更新対象となるデータ(以下「更新対象データ」)が記録されているかどうかを判断する(765)。
キャッシュメモリモジュール126に更新対象データがあった場合(以下「ライトヒット」とも言う。)(766)、マイクロプロセッサ101は、インターフェース部10内の外部IF100からキャッシュメモリモジュール126へ更新データを転送するために必要な情報を、プロセッサ部81内の転送制御部105、スイッチ部51及びインターフェース部10内の転送制御部105を介して、インターフェース部10内のメモリモジュール123へ転送する。そして、マイクロプロセッサ101は、外部IF100に、サーバ3から転送された更新データをメモリ部21内のキャッシュメモリモジュール126へ書き込むように指示する(768)。
指示を受けたインターフェース部10内の外部IF100は、自インターフェース部10内のメモリモジュール123の所定の場所から更新データの転送に必要な情報を読み出す。読み出した情報をもとに、インターフェース部10内の外部IF100は、転送制御部105及びスイッチ部51を介して、メモリ部21内のメモリコントローラ125へ更新データを転送する。更新データを受信したメモリコントローラ125は、キャッシュメモリモジュール126に格納されている更新対象データを要求データで上書きする(769)。書き込み終了後、メモリコントローラ125は、指示を送信したマイクロプロセッサ101へ更新データの書き込みの終了を通知する。
キャッシュメモリモジュール126への更新データの書き込みの終了を検知したマイクロプロセッサ101は、メモリ部21内の制御メモリモジュール127へアクセスし、キャッシュメモリのディレクトリ情報を更新する(770)。具体的には、マイクロプロセッサ101は、ディレクトリ情報にキャッシュメモリモジュールの内容が更新されたことを登録する。それとともに、マイクロプロセッサ101は、サーバ3から書き込み要求を受けた外部IF100に、書き込み完了通知をサーバ3へ送出するように指示する(771)。その指示を受けた外部IF100は、書き込み完了通知をサーバ3へ送出する(772)。
キャッシュメモリモジュール126内に更新対象データがない場合(以下「ライトミス」とも言う。)(766)、マイクロプロセッサ101は、メモリ部21内の制御メモリモジュール127へアクセスし、キャッシュメモリモジュールのディレクトリ情報に、メモリ部21内のキャッシュメモリモジュール126に更新データを格納する領域を確保するための情報、具体的には空きキャッシュスロットを指定する情報を登録する(キャッシュ領域確保。)(767)。キャッシュ領域確保後、ストレージシステム1は、ライトヒット時と同様の制御を行う。ただし、ライトミスの場合にはキャッシュメモリモジュール126には更新対象データが存在しないので、メモリコントローラ125は、更新データを格納する場所として確保された記憶領域に更新データを格納する。
その後マイクロプロセッサ101は、キャッシュメモリモジュール126の空き容量等を判断して(781)、サーバ3からの書き込み要求とは非同期に、メモリ部21内のキャッシュメモリモジュール126に書き込まれた更新データをハードディスク群2に記録する処理を行う。具体的には、マイクロプロセッサ101は、メモリ部21内の制御メモリモジュール127へアクセスし、記憶領域の管理情報から、更新データを格納するハードディスク群2が接続されているインターフェース部10(以下「更新目的インターフェース部10」とも言う)を割り出す(782)。その後、マイクロプロセッサ101は、キャッシュメモリモジュール126から更新目的インターフェース部10内の外部IF100へ更新データを転送するために必要な情報を、プロセッサ部81内の転送制御部105、スイッチ部51及びインターフェース部10内の転送制御部105を介して、更新目的インターフェース部10内のメモリモジュール123へ転送する。
その後マイクロプロセッサ101は、キャッシュメモリモジュール126から更新データを読み出して更新目的インターフェース部10の外部IF100へ転送するように、更新目的インターフェース部10へ指示する。指示を受けた更新目的インターフェース部10内の外部IF100は、自インターフェース部10内のメモリモジュール123の所定の場所から更新データの転送に必要な情報を読み出す。読み出した情報をもとに、更新目的インターフェース部10内の外部IF100は、メモリ部21内のメモリコントローラ125に、キャッシュメモリモジュール126から更新データを読み出し、その更新データをメモリコントローラ125から更新目的インターフェース部10内の転送制御部105を介して外部IF100へ転送するよう指示する。
指示を受けたメモリコントローラ125は、更新データを更新目的インターフェース部10の外部IF100へ転送する(783)。更新データを受信した外部IF100は、ハードディスク群2へ更新データを書き込む(784)。以上のようにして、サーバ3からのデータの書き込み要求に対し、ストレージシステム1は、キャッシュメモリモジュールへデータを書き込み、さらにハードディスク群2へデータを書き込む。
本実施例に示すストレージシステム1では、管理端末65をストレージシステム1に接続し、管理端末65から、システムの構成情報の設定、システムの立上げ/停止の制御、システム内各部の利用率、稼動状況、障害情報の収集、障害時の障害部位の閉塞/交換処理、制御プログラムの更新等を行う。ここで、システムの構成情報、利用率、稼動状況、障害情報はメモリ部21の制御メモリモジュール127内に格納される。ストレージシステム1内には内部LAN(Local Area Network)91を設ける。各プロセッサ部81はLANインターフェースを有し、管理端末65と各プロセッサ部81は内部LAN91で接続されている。管理端末65は内部LAN経由91で、各プロセッサ部81にアクセスし、上記の各種処理を行う。
図14及び15は、本実施例に示す構成のストレージシステム1を筐体に実装する場合の構成例を示す図である。
ストレージシステム1の骨格を構成する筐体は、電源ユニットシャーシ823、制御ユニットシャーシ821及びディスクユニットシャーシ822とを有する。これらのシャーシに上述した各部が装填される。制御ユニットシャーシ821の一面には、インターフェース部10、スイッチ部51、プロセッサ部81及びメモリ部21間を接続する信号線がプリントされたバックプレーン831が設けられている(図15)。バックプレーン831は各層に信号線をプリントした複数層の基板から構成される。バックプレーン831は、IFパッケージ801、SWパッケージ802、メモリパッケージ803又はプロセッサパッケージ804が接続されるコネクタ911を有する。バックプレーン831上の信号線は、各パッケージが接続されるコネクタ911内の定められた端子に繋がるようにプリントされている。また、同各パッケージへ電源を供給するための電源用の信号線がバックプレーン831上にプリントされている。
IFパッケージ801は、各層に信号線をプリントした複数層の回路基板から構成される。IFパッケージ801は、バックプレーン831に接続するためのコネクタ912を有する。またIFパッケージ801の回路基板には、図8に示すインターフェース部10の構成における外部IF100と転送制御部105間の信号線、メモリモジュール123と転送制御部105間の信号線及び転送制御部105をスイッチ部51へ接続する信号線をコネクタ912に接続する信号線がプリントされている。更に、IFパッケージ801の回路基板上には、外部IF100の役割を果たす外部IF−LSI901、転送制御部105の役割を果たす転送制御LSI902及びメモリモジュール123を構成する複数のメモリLSI903が回路基板上の配線に従って実装されている。
また、外部IF−LSI901、転送制御LSI902及びメモリLSI903を駆動するための電源並びにクロック用の信号線もIFパッケージ801の回路基板上にプリントされている。また、IFパッケージ801は、サーバ3またはハードディスク群2と外部IF−LSI901とを接続するためのケーブル920をIFパッケージ801に接続するためのコネクタ913を有する。コネクタ913と外部IF−LSI901間の信号線が回路基板上にプリントされている。
SWパッケージ802、メモリパッケージ803及びプロセッサパッケージ804も、基本的にIFパッケージ801と同様の構成である。つまり、具体的には上述した各部の役割を果たすLSIが回路基板の上に実装されており、その間を接続する信号線が回路基板にプリントされている。ただし、その他のパッケージは、IFパッケージ801が備えるコネクタ913及びそれに接続するための信号線は備えていない。
制御ユニットシャーシ821の上には、ハードディスクドライブを実装したハードディスクユニット811を装填するためのディスクユニットシャーシ822を設ける。ディスクユニットシャーシ822は、ハードディスクユニット811とディスクユニットシャーシとを接続するためのバックプレーン832を有する。ディスクユニット811とバックプレーン832は、両者を接続するためのコネクタを有する。バックプレーン831と同様に、バックプレーン832は各層に信号線をプリントした複数層の基板から構成されている。更にバックプレーン832は、IFパッケージ801に接続されるケーブル920が接続されるコネクタを有する。そのコネクタとディスクユニット811を接続するコネクタとの間の信号線及び電源供給用の信号線がバックプレーン832にプリントされている。
また、ケーブル920を接続する専用のパッケージを設け、そのパッケージをバックプレーン832に設けたコネクタに接続しても良い。
また、制御ユニットシャーシ821の下には、ストレージシステム1全体に電力を供給する電源ユニットやバッテリユニットを収めた電源ユニットシャーシ823を設ける。
そして、これらのシャーシを19インチラック(図示していない)に収める。尚、シャーシの配置関係は図示した例に限られず、例えば電源ユニットシャーシが筐体の一番上に装填されても良い。
なお、ストレージシステム1はハードディスク群2を有さない構成もありうる。この場合、ストレージシステム1とは別の場所に存在するハードディスク群2や他のストレージシステム1とストレージシステム1とがIFパッケージ801に設けられた接続ケーブル920を介して接続されることになる。またこの場合、ハードディスク群2はディスクユニットシャーシ822に収め、ディスクユニットシャーシ822をディスクユニットシャーシ専用の19インチラックに収める。更にストレージシステム1はハードディスク群2を有し、さらに他のストレージシステム1と接続する場合もある。この場合も、ストレージシステム1と他のストレージシステム1はIFパッケージ801に設けられた接続ケーブル920を介して相互に接続されることになる。
また上記では、インターフェース部10、プロセッサ部81、メモリ部21及びスイッチ部をそれぞれ別個のパッケージに実装する場合について説明したが、例えば、スイッチ部51、プロセッサ部81及びメモリ部21をまとめて1枚のパッケージに実装することも可能である。また、インターフェース部10、スイッチ部51、プロセッサ部81及びメモリ部21全てをまとめて1枚のパッケージに実装することも可能である。そうした場合、パッケージのサイズが変わり、それに合わせて図14に示す制御ユニットシャーシ821の幅、高さを変える必要がある。また図14では、パッケージを床面と垂直になる形態で制御ユニットシャーシ821へ実装しているが、パッケージが床面と水平になる形態で制御ユニットシャーシ821へ実装することも可能である。上記のインターフェース部10、プロセッサ部81、メモリ部21及びスイッチ部51の内、どの組合せを1つのパッケージに実装するかは任意であり、上記の実装の組合せは一例である。
制御ユニットシャーシ821に搭載可能なパッケージの枚数は、制御ユニットシャーシ821の幅と各パッケージの厚さから物理的に決まる。一方、図2に示す構成からわかるように、ストレージシステム1は、スイッチ部51を介して、インターフェース部10、プロセッサ部81及びメモリ部21を互いに接続する構成であるため、要求されるシステム規模、サーバ接続数、ハードディスク接続数、性能に合わせて、各部の数を自由に設定可能である。したがって、図14に示すIFパッケージ801、メモリパッケージ803及びプロセッサパッケージ804に設けるバックプレーン831とのコネクタを共通化し、さらに、搭載するSWパッケージ802の枚数とSWパッケージ802を接続するバックプレーン831上のコネクタとを予め定めておくことにより、制御ユニットシャーシ821に搭載可能なパッケージの枚数から搭載するSWパッケージの枚数を差し引いた数を上限として、IFパッケージ801、メモリパッケージ803及びプロセッサパッケージ804の枚数を自由に選んで搭載することが可能となる。こうすることにより、ユーザが要求するシステム規模、サーバ接続数、ハードディスク接続数、性能に合わせて、フレキシブルにストレージシステム1を構成することが可能となる。
本実施例では、図20に示す従来技術のチャネルIF部11及びディスクIF部16からマイクロプロセッサ103を分離し、プロセッサ部81として独立させることに特徴がある。こうすることにより、サーバ3あるいはハードディスク群2との接続インターフェース数の増減とは独立にマイクロプロセッサ数の増減が可能となり、サーバ3やハードディスク群2の接続数やシステムの性能といったユーザの要求に柔軟に応えることが可能なフレキシブルな構成のストレージシステムの提供を可能にできる。
また本実施例では、データのリードまたはライト時に、チャネルIF部11内のマイクロプロセッサ103で行っていた処理と、ディスクIF部16内のマイクロプロセッサ103で行っていた処理を、図1に示すプロセッサ部81内の1つのマイクロプロセッサ101でまとめて一貫して処理する。こうすることにより、従来技術において必要であったチャネルIF部とディスクIF部のそれぞれのマイクロプロセッサ103間の処理の引継ぎのオーバヘッドを削減することが可能となる。
また、プロセッサ部81の2つのマイクロプロセッサ101、あるいは異なるプロセッサ部81各々から1つずつ選択される2つのマイクロプロセッサ101により、そのうちの一方のマイクロプロセッサ101がサーバ3とのインターフェース部10側の処理、もう一方がハードディスク群2とのインターフェース部10側の処理を行っても良い。
また、サーバ3とのインターフェース側の処理の負荷がハードディスク群2とのインターフェース側の処理の負荷より大きい場合、前者の処理により多くのマイクロプロセッサ101の処理量(例えばプロセッサ数、一つのプロセッサの占有率等)を割り当てることができる。負荷の大きさが逆の場合は、後者の処理により多くのマイクロプロセッサ101の処理量を割り当てることができる。したがって、ストレージシステム内の各処理の負荷の大小により、柔軟にマイクロプロセッサの処理量(リソース)を割り当てることが可能となる。
図5は、第二の実施例の構成例を示す図である。
ストレージシステム1は、複数のクラスタ70−1〜70−nを相互結合網31で相互に接続した構成を有する。一つのクラスタ70は、サーバ3またはハードディスク群2が繋がるインターフェース部10、メモリ部21、プロセッサ部81及び相互結合網31の一部を、あるまとまった数有する。一つのクラスタ70が有する各部の数は任意である。各クラスタ70のインターフェース部10、メモリ部21及びプロセッサ部81は相互結合網31に接続される。したがって、各クラスタ70の各部は、他のクラスタ70の各部と相互結合網31を介してパケットのやり取りを行うことができる。尚、各クラスタ70は、ハードディスク群2を有していても良い。したがって、一つのストレージシステム1の中に、ハードディスク群2を有するクラスタ70とハードディスク群2を有さないクラスタ70とが混在する場合もある。又、全てのクラスタ70がハードディスク群2を有する場合もある。
図6は、相互結合網31の具体的な構成例を示す図である。
相互結合網31は、4つのスイッチ部51及びこれらを接続する通信パスを有する。これらのスイッチ51は個々のクラスタ70の内部に設置される。ストレージシステム1は2つのクラスタ70を有する。1つのクラスタ70は、4つのインターフェース部10、2つのプロセッサ部81及びメモリ部21を有する。また上述したように、一つのクラスタ70には、相互結合網31であるスイッチ51のうち二つが含まれる。
インターフェース部10、プロセッサ部81及びメモリ部21は、各部を含むクラスタ70内の2つのスイッチ部51と1本ずつの通信パスで接続される。これにより、インターフェース部10、プロセッサ部81及びメモリ部21の間で2つの通信経路を確保し、信頼性をあげることが可能となる。
また、クラスタ70−1とクラスタ70−2とを接続するため、1つのクラスタ70内の1つのスイッチ部51は他のクラスタ70内の2つのスイッチ部51と各々1本ずつの通信パスで接続されている。これにより、1つのスイッチ部51の故障あるいはスイッチ部51間の通信パスの故障の際にもクラスタを跨ったアクセスが可能となり、信頼性を向上することができる。
図7はストレージシステム1内におけるクラスタ間接続の異なる形態の例を示す図である。図7に示すように、クラスタ間接続専用のスイッチ部55で各クラスタ70間を接続する。この場合、クラスタ70−1〜3の各スイッチ部51は2つのスイッチ部55に各々1本ずつの通信パスで接続される。これにより、1つのスイッチ部55の故障、あるいはスイッチ部51−スイッチ部55間の通信パスの故障の際にもクラスタを跨ったアクセスが可能となり、信頼性を向上することができる。
またこの場合、図6の構成に比べてクラスタの接続数を増やすことが可能となる。すなわち、スイッチ部51に接続可能な通信パスの数は物理的に限界がある。しかし専用のスイッチ部55をクラスタ間接続に使用することにより、図6の構成に比べてクラスタの接続数を増やすことが可能となる。
本実施例の構成においても、図20に示す従来技術において、チャネルIF部11及びディスクIF部16からマイクロプロセッサ103を分離し、プロセッサ部81内に独立させるということに特徴がある。こうすることにより、サーバ3あるいはハードディスク群2との接続インターフェース数の増減とは独立にマイクロプロセッサ数の増減が可能となり、サーバ3やハードディスク群2の接続数やシステムの性能といったユーザの要求に柔軟に応えることが可能なフレキシブルな構成のストレージシステムを提供することができる。
また本実施例でも、第一の実施例と同様のデータのリード及びライト処理が行われる。したがって、本実施例でも、データのリードまたはライト時に、チャネルIF部11内のマイクロプロセッサ103で行っていた処理と、ディスクIF部16内のマイクロプロセッサ103で行っていた処理を、図1に示すプロセッサ部81内の1つのマイクロプロセッサ101でまとめて一貫して処理する。こうすることにより、従来技術において必要であったチャネルIF部とディスクIF部それぞれのマイクロプロセッサ103間の処理の引継ぎのオーバヘッドを削減することが可能となる。
尚、本実施例でデータのリード又はライトを実行する場合、一つのクラスタ70に接続されたサーバ3から他のクラスタ70が有するハードディスク群2(あるいは他のクラスタ70に接続されたストレージシステム)へのデータのライト又はリードが行われる場合がある。この場合でも、第一の実施例で説明したリード及びライト処理が行われる。この場合、個々のクラスタ70が有するメモリ部21のメモリ空間をストレージシステム1全体で一つの論理的なメモリ空間とすることで、一つのクラスタのプロセッサ部81等は、他のクラスタ70のメモリ部21等へアクセスするための情報を得ることが出来る。又、一つのクラスタのプロセッサ部81は、他のクラスタが有するインターフェース部10に対してデータの転送を指示することが出来る。
又、ストレージシステム1は、各クラスタに接続されるハードディスク群2から構成されるボリュームを、全てのプロセッサ部で共有されるように、一つのメモリ空間で管理する。
また本実施例でも第一の実施例と同様に、管理端末65をストレージシステム1に接続し、管理端末65から、システムの構成情報の設定、システムの立上げ/停止の制御、システム内各部の利用率、稼動状況、障害情報の収集、障害時の障害部位の閉塞/交換処理、制御プログラムの更新等を行う。ここで、システムの構成情報、利用率、稼動状況、障害情報はメモリ部21の制御メモリモジュール127内に格納される。本実施例の場合、ストレージシステム1を複数のクラスタ70から構成するため、補助プロセッサを備えたボード(補助プロセッサ部85)をクラスタ70毎に設ける。補助プロセッサ部85は、管理端末65の指示を各プロセッサ部81に伝えたり、各プロセッサ部81からの情報を纏めて管理端末65へ送る役目を果たす。管理端末65と補助プロセッサ部85を内部LAN92で接続する。そして、クラスタ70内では内部LAN91を設け、各プロセッサ部81はLANインターフェースを有し、補助プロセッサ部85と各プロセッサ部81とは内部LAN91で接続される。管理端末65は補助プロセッサ部85経由で各プロセッサ部81にアクセスし、上記の各種処理を行う。尚、補助プロセッサ無しで直接プロセッサ部81と管理端末65がLAN等を介して接続されていても良い。
図17は、ストレージシステム1の本実施例における更なる変形例である。図17に示すように、サーバ3またはハードディスク群2を繋ぐインターフェース部10に他のストレージシステム4が接続される。この場合、ストレージシステム1は、他のストレージシステム4が繋がるインターフェース部10が属するクラスタ70内の制御メモリモジュール126及びキャッシュメモリモジュール127に、他のストレージシステム4が提供する記憶領域(以下「ボリューム」とも言う)の情報及び他のストレージシステム4に格納される(又は読み出される)データを格納する。
他のストレージシステム4が接続されるクラスタ70内のマイクロプロセッサ101は、制御メモリモジュール127に格納された情報に基づいて、他のストレージシステム4が提供するボリュームを管理する。例えばマイクロプロセッサ101は、他のストレージシステム4が提供するボリュームをサーバ3にストレージシステム1が提供するボリュームとして割り当てる。このことにより、サーバ3が、ストレージシステム1を介して他のストレージシステム4のボリュームへアクセスすることが可能となる。
この場合、ストレージシステム1は、自己が有するハードディスク群2から構成されるボリュームと他のストレージシステム4が提供するボリュームを一括して管理する。
また、図17において、ストレージシステム1が、どのインターフェース部10にどのサーバ3が接続されているかを示すテーブルをメモリ部21内の制御メモリモジュール127に格納する。そして同じクラスタ70内のマイクロプロセッサ101がそのテーブルを管理する。具体的には、サーバ3とホストIF100との接続関係が追加変更等された場合、マイクロプロセッサ101は、上述したテーブルの内容を変更(更新、追加又は削除)する。これにより、ストレージシステム1に繋がる複数のサーバ3間でのストレージシステム1を介した通信およびデータ転送が可能となる。このことは、第一の実施例でも同様に実現可能である。
更に図17において、インターフェース部10に繋がるサーバ3がストレージシステム4との間でデータ転送を行う際、ストレージシステム1は、サーバ3が接続されるインターフェース部10とストレージシステム4が接続されるインターフェース部10との間で相互結合網31を介してデータ転送を行う。この時、ストレージシステム1は、転送されるデータをメモリ部21内のキャッシュメモリモジュール126にキャッシングしても良い。これにより、サーバ3およびストレージシステム4間のデータ転送性能が向上する。
また本実施例において、図18に示すように、スイッチ65を介して、ストレージシステム1とサーバ3および他のストレージシステム4との間を接続する構成も考えられる。この場合、サーバ3は、インターフェース部10内の外部IF100及びスイッチ65を介してサーバ3および他のストレージシステム4へアクセスする。こうすることにより、ストレージシステム1に接続されたサーバ3から、スイッチ65および複数のスイッチ65からなるネットワークに接続されたサーバ3や他のストレージシステム4へのアクセスが可能となる。
図19は、図6に示す構成のストレージシステム1を筐体に実装する場合の構成例を示す図である。
実装の構成は基本的に図14の実装構成と同様である。すなわち、インターフェース部10、プロセッサ部81、メモリ部21及びスイッチ部51をパッケージに実装し、制御ユニットシャーシ821内のバックプレーン831に接続する。
図6の構成では、インターフェース部10、プロセッサ部81、メモリ部21及びスイッチ部51がクラスタ70としてグループ化される。そこで、クラスタ70毎に1つの制御ユニットシャーシ821を用意する。1つのクラスタ70内の各部は、1つの制御ユニットシャーシ821に実装される。すなわち、異なるクラスタ70のパッケージを異なる制御ユニットシャーシ821に実装する。更に、クラスタ70間の接続のため、図19に示すように異なる制御ユニットシャーシに装填されたSWパッケージ802間をケーブル921で接続する。この場合、図15に示すIFパッケージ801と同様に、SWパッケージ802にはケーブル921接続用のコネクタが実装される。
なお、1つの制御ユニットシャーシ821に実装されるクラスタの数は、1つで無くても良い。例えば、1つの制御ユニットシャーシ821に実装されるクラスタ数は2つであっても良い。
実施例1及び2の構成のストレージシステム1においては、インターフェース部10で受信するコマンドの解析をプロセッサ部81で行う。しかしながら、サーバ3とストレージシステム1との間でやり取りされるコマンドが従うプロトコルは多種多様あり、一般的なプロセッサで全てのプロトコルの解析処理を行うことは現実的ではない。ここで、プロトコルとは、例えばファイル名を用いたファイルI/O(Input/Output)プロトコル、iSCSI(internet Small Computer System Interface)プロトコル、サーバとして大型計算機(メインフレーム)を使用する際のプロトコル(チャネルコマンドワード:CCW)等がある。
そこで、本実施例では、これらのプロトコルを高速に処理する専用のプロセッサを実施例1及び2の全て又は一部のインターフェース部10に追加する。図13は、転送制御部105にマイクロプロセッサ102を接続したインターフェース部10(以下このインターフェース部10を「アプリケーション制御部19」と称する)の例を示す図である。
本実施例のストレージシステム1は、実施例1及び2のストレージシステム1が有する全ての又は一部のインターフェース部10の代わりにアプリケーション制御部19を有する。アプリケーション制御部19は、相互結合網31と接続される。ここで、アプリケーション制御部19が有する外部IF100は、アプリケーション制御部19のマイクロプロセッサ102が処理するプロトコルに従うコマンドを専用に受信する外部IFとする。ただし、1つの外部IF100で異なるプロトコルに従う複数のコマンドを受信する構成としても良い。
マイクロプロセッサ102は、プロトコル変換処理を外部IF100と連携して行う。具体的には、マイクロプロセッサ102は、サーバ3からアプリケーション制御部19がアクセス要求を受けた場合、外部IFが受信したコマンドのプロトコルを内部のデータ転送用のプロトコルに変換する処理を行う。
また、専用のアプリケーション制御部19を用意する代わりに、インターフェース部10はそのまま使用し、プロセッサ部81内のマイクロプロセッサ101のうちの一つをプロトコル処理専用とする構成も考えられる。
本実施例におけるデータのリード及びライト処理は、第一の実施例と同様に行われる。ただし、第一の実施例ではコマンドを受信したインターフェース部10は、コマンドを解析せずにプロセッサ部81へ転送していたが、本実施例では、アプリケーション制御部19においてコマンドの解析処理を行う。そして、その解析結果(コマンドの内容、データのあて先等)をアプリケーション制御部19がプロセッサ部81へ転送する。プロセッサ部81は、解析された情報に基づいて、ストレージシステム1内でのデータ転送の制御を行う。
尚、本発明の他の実施態様としては、以下のような構成も考えられる。具体的には、計算機またはディスク装置とのインターフェースを有する複数のインターフェース部、計算機またはディスク装置との間でリード/ライトされるデータを格納するキャッシュメモリとシステムの制御情報を格納する制御メモリを有する複数のメモリ部、計算機とディスク装置との間でのデータのリード/ライトを制御するマイクロプロセッサを有する複数のプロセッサ部を有し、複数のインターフェース部、複数のメモリ部及び複数のプロセッサ部は少なくとも1つのスイッチ部からなる相互結合網で互いに接続されており、相互結合網を介して複数のインターフェース部、複数のメモリ部及び複数のプロセッサ部の間でデータあるいは制御情報の送受信を行うストレージシステムである。
そして、本構成において、インターフェース部、メモリ部及びプロセッサ部は、データあるいは制御情報の送受信を制御する転送制御部を有する。また、本構成において、インターフェース部は第1の回路基板上に、メモリ部は第2の回路基板上に、プロセッサ部は第3の回路基板上に、少なくとも1つのスイッチ部は第4の回路基板上に実装される。更に、本構成では、第1〜4の回路基板間を接続する信号線がプリントされ、プリントされた信号線に前記第1〜4の回路基板を接続するための第1のコネクタを備える少なくとも1つのバックプレーンを有する。更に本構成では、第1〜4の回路基板は前記バックプレーンの第1のコネクタに接続するための第2のコネクタを備えている。
尚、上述した実施態様において、バックプレーンに接続できる回路基板の総数をnとし、第4の回路基板の数と接続場所を予め定め、1〜4の回路基板の総数がnを超えない範囲でバックプレーンに接続する前記第1、第2、及び第3の回路基板それぞれの数を自由に選択できるようにしても良い。
又、本発明の別の実施態様としては、以下のような構成も考えられる。具体的には、計算機またはディスク装置とのインターフェースを有する複数のインターフェース部、計算機またはディスク装置との間でリード/ライトされるデータを格納するキャッシュメモリとシステムの制御情報を格納する制御メモリを有する複数のメモリ部及び計算機とディスク装置との間でのデータのリード/ライトを制御するマイクロプロセッサを有する複数のプロセッサ部を有するクラスタを複数有するストレージシステムである。
本構成において、各クラスタが有する複数のインターフェース部、複数のメモリ部及び複数のプロセッサ部の間は複数のスイッチ部からなる相互結合網で複数のクラスタを跨って互いに接続される。これにより、相互結合網を介して各クラスタ間で複数のインターフェース部、複数のメモリ部及び複数のプロセッサ部の間でデータあるいは制御情報の送受信を行う。又、本構成において、インターフェース部、メモリ部及びプロセッサ部は、それぞれスイッチに接続され、データあるいは制御情報の送受信を制御する転送制御部を有する。
更に本構成において、インターフェース部は第1の回路基板上に、メモリ部は第2の回路基板上に、プロセッサ部は第3の回路基板上に、少なくとも1つのスイッチ部は第4の回路基板上に実装される。そして、本構成は、第1〜4の回路基板間を接続する信号線がプリントされ、プリントされた信号線に第1〜4の回路基板を接続するための第1のコネクタを備える複数のバックプレーンを有し、第1〜4の回路基板は前記バックプレーンの第1のコネクタに接続するための第2のコネクタを有する。本構成において、クラスタは、第1〜4の回路基板を接続したバックプレーンから構成される。尚、クラスタ数とバックプレーンの数を等しくする構成としても良い。
更に本構成において、第4の回路基板はケーブルを接続するための第3のコネクタを備え、第3のコネクタとスイッチ部を接続する信号線を第4の基板上に配線する。このようにすると、クラスタ間は、第3のコネクタ間をケーブルによって接続することで接続される。
更に、本発明の別の実施態様としては、以下のような構成も考えられる。具体的には、計算機またはディスク装置とのインターフェースを有するインターフェース部、計算機またはディスク装置との間でリード/ライトされるデータを格納するキャッシュメモリとシステムの制御情報を格納する制御メモリを有するメモリ部及び計算機とディスク装置との間でのデータのリード/ライトを制御するマイクロプロセッサを有するプロセッサ部を有し、インターフェース部、メモリ部及びプロセッサ部の間は少なくとも1つのスイッチ部からなる相互結合網で互いに接続されているストレージシステムである。本構成において、相互結合網を介してインターフェース部、メモリ部及びプロセッサ部の間でデータあるいは制御情報の送受信を行う。
本構成において、インターフェース部は第1の回路基板上に、メモリ部、プロセッサ部及びスイッチ部は第5の回路基板上に実装される。そして本構成において、第1と第5の回路基板間を接続する信号線がプリントされ、プリントされた信号線に第1と第5の回路基板を接続するための第4のコネクタを備える少なくとも1つのバックプレーンを有し、第1と第5の回路基板はバックプレーンの第4のコネクタに接続するための第5のコネクタを備えている。
又、本発明の別の実施態様としては、以下のような構成も考えられる。具体的には、計算機またはディスク装置とのインターフェースを有するインターフェース部、計算機またはディスク装置との間でリード/ライトされるデータを格納するキャッシュメモリとシステムの制御情報を格納する制御メモリを有するメモリ部及び計算機とディスク装置との間でのデータのリード/ライトを制御するマイクロプロセッサを有するプロセッサ部を有し、インターフェース部、メモリ部及びプロセッサ部の間は少なくとも1つのスイッチ部からなる相互結合網で互いに接続されるストレージシステムである。本構成において、インターフェース部、メモリ部、プロセッサ部及びスイッチ部は、第6の回路基板上に実装される。
ストレージシステム1の構成例を示す図である。 ストレージシステム1の相互結合網の詳細構成例を示す図である。 ストレージシステム1の他の構成例を示す図である。 図3に示す相互結合網の詳細構成例を示す図である。 ストレージシステムの構成例を示す図である。 ストレージシステムの相互結合網の詳細構成例を示す図である。 ストレージシステムの相互結合網の他の詳細構成例を示す図である。 インターフェース部の構成例を示す図である。 プロセッサ部の構成例を示す図である。 メモリ部の構成例を示す図である。 スイッチ部の構成例を示す図である。 パケットフォーマットの一例を示す図である。 アプリケーション制御部の構成例を示す図である。 ストレージシステムの筐体への実装例を示す図である。 パッケージとバックプレーンの構成例を示す図である。 相互結合網の他の詳細構成例を示す図である。 インターフェース部と外部装置との接続構成例を示す図である。 インターフェース部と外部装置との他の接続構成例を示す図である。 ストレージシステムの筐体への他の実装例を示す図である。 従来のストレージシステムの構成例を示す図である。 従来のストレージシステムの他の構成例を示す図である。 ストレージシステム1のリード動作フローを示す図である。 ストレージシステム1のライト動作フローを示す図である。
符号の説明
1…ストレージシステム、2…ハードディスク群、3…サーバ、10…インターフェース部、21…メモリ部、31…相互結合網、81…プロセッサ部、100…外部IF、101…マイクロプロセッサ、105…転送制御部、125…メモリコントローラ、126…キャッシュメモリモジュール、127…制御メモリモジュール。

Claims (11)

  1. 第一のインタフェース部及び第二のインタフェース部を含む複数のインタフェース部と、
    前記複数のインタフェース部によって受信されたデータを格納するためのメモリ部と、
    前記複数のインタフェース部と前記メモリ部との間のデータの転送を制御するための一以上のプロセッサ部と、
    前記プロセッサ部の制御によって前記メモリ部から前記第二のインタフェース部を介して受信したデータを格納する複数のディスク装置を含むディスク装置部と、
    前記複数のインタフェース部、前記メモリ部、及び前記プロセッサ部と物理的に接続される第一のバックプレーンと、
    前記ディスク装置部と物理的に接続される第二のバックプレーンと、を有し、
    前記第一のインタフェース部は、第一のケーブルを介して計算機と接続され、
    前記第二のインタフェース部は、第二のケーブルを介して前記第二のバックプレーンと接続され、
    前記第一のバックプレーンは、前記複数のインタフェース部、前記メモリ部若しくは前記プロセッサ部のいずれかと物理的に接続される、複数のコネクタを有しており、
    前記複数のインタフェース部及びプロセッサ部は各々、前記コネクタを介して前記第一のバックプレーンに物理的に接続されることにより、互いに独立に増設されること特徴とするストレージシステム。
  2. 請求項1に記載のストレージシステムであって、
    前記プロセッサ部は、複数のプロセッサを含み、
    前記第一のインタフェース部の処理の負荷と、前記第二のインタフェース部の処理の負荷とに応じて、前記複数のプロセッサを前記第一のインタフェース部の処理又は前記第二のインタフェース部の処理に割り当てることを特徴とするストレージシステム。
  3. 請求項2に記載のストレージシステムであって、
    前記第一のインタフェース部の処理の負荷が、前記第二のインタフェース部の処理の負荷より大きい場合、前記複数のプロセッサのうちの前記第一のインタフェース部の処理へ割り当てるプロセッサの数が、前記複数のプロセッサのうちの前記第二のインタフェース部の処理へ割り当てるプロセッサの数よりも多いことを特徴とするストレージシステム。
  4. 一のインタフェース部及び第二のインタフェース部を含む、複数のインタフェース部と、
    前記複数のインタフェース部から受信したデータを格納するキャッシュメモリモジュールを有するメモリ部と、
    前記メモリ部と各インタフェース部との間のデータの送受信を制御するプロセッサ部と、
    記プロセッサ部の制御により前記第二のインタフェース部から受信したデータを格納する複数のディスク装置を有するディスク装置部、を有しており、
    前記複数のインタフェース部、前記メモリ部、及び前記プロセッサ部は各々異なる回路基板に実装されており、
    インタフェース部が実装された回路基板、メモリ部が実装された回路基板、及びプロセッサ部が実装された回路基板は、各々異なるコネクタを介して第一のバックプレーンに物理的に接続されており、
    前記第一のバックプレーンは、インタフェース部が実装された回路基板、メモリ部が実装された回路基板、及びプロセッサ部が実装された回路基板と接続される複数のコネクタを有し、前記複数のコネクタに回路基板物理的に接続されることによりインタフェース部が実装された回路基板とプロセッサ部が実装された回路基板とが互いに独立に増設されるよう構成されており、
    前記ディスク装置部は、第二のバックプレーンに物理的に接続されており、
    前記第一のインタフェース部は、第一のケーブルを介して計算機と接続されており、
    前記第二のインタフェース部は、第二のケーブルを介して前記第二のバックプレーンと接続されており、
    前記第一のバックプレーンを介して、前記第一のインタフェース部からライトコマンドを受信した場合には、前記プロセッサ部が、当該ライトコマンドに基づいて、前記第一のインタフェース部から前記メモリ部へのライトデータの転送を制御し、更に前記プロセッサ部が、前記メモリ部から前記ライトデータの格納先ディスク装置部と前記第二のケーブルを介して接続されている第二のインタフェース部への前記ライトデータの転送を制御し、前記第二のインタフェース部を介してライトデータがディスク装置に格納されることを特徴とするストレージシステム。
  5. 請求項記載のストレージシステムであって、
    前記メモリ部には更に、前記プロセッサ部によって参照される制御情報が格納される制御メモリモジュールが含まれることを特徴とするストレージシステム。
  6. 請求項記載のストレージシステムであって、
    前記プロセッサ部は、前記第一のインタフェース部からライトコマンドを受信した場合には、前記制御メモリモジュールに格納されている制御情報を参照して、前記ライトコマンドに基づいて受信されるライトデータを格納するための前記キャッシュメモリモジュール上の記憶領域を確保し、前記第一のインタフェース部に前記キャッシュメモリ上に確保された前記記憶領域の位置を通知して当該記憶領域に前記ライトデータを格納するよう指示し、更に前記ライトデータの格納先ディスク装置部と前記第二のケーブルを介して接続されている第二のインタフェース部に、当該記憶領域から前記ライトデータを読み出して前記ディスク装置部に送信するよう指示することを特徴とするストレージシステム。
  7. 請求項記載のストレージシステムであって、
    前記プロセッサ部は、前記第一のインタフェース部からリードコマンドを受信した場合には、当該リードコマンドに基づいて、前記制御メモリモジュールに格納されている制御情報を参照して、前記キャッシュメモリモジュールにリード対象のデータが格納されているか否かを確認し、前記キャッシュメモリモジュールに前記データが格納されている場合には、前記第一のインタフェース部に対して、前記データが格納されている前記キャッシュメモリモジュール上の格納位置を通知し、前記キャッシュメモリモジュールから前記データを読み出して計算機に送信するよう指示することを特徴とするストレージシステム。
  8. 請求項記載のストレージシステムであって、
    前記キャッシュメモリモジュールに前記データが格納されていない場合には、前記プロセッサ部は、前記キャッシュメモリモジュール上の記憶領域を確保し、前記データの格納先ディスク装置部と接続されている第二のインタフェース部を特定し、当該第二のインタフェース部に確保した前記キャッシュメモリモジュール上の記憶領域を通知して、当該記憶領域に前記データを転送するよう指示し、更に、前記第一のインタフェース部に前記キャッシュメモリモジュール上の前記記憶領域から前記データを読み出して計算機に送信するよう指示することを特徴とするストレージシステム。
  9. 請求項記載のストレージシステムであって、前記プロセッサ部は複数のプロセッサを有しており、各プロセッサは第一のインタフェース部若しくは第二のインタフェース部のいずれかに対する処理を実行するよう構成されており、第一のインタフェース部及び第二のインタフェース部に対する処理の負荷に応じて、いずれのプロセッサがいずれのインタフェース部に対する処理を実行するかが決定されることを特徴とするストレージシステム。
  10. 請求項記載のストレージシステムであって、
    前記複数のインタフェース部、前記メモリ部、前記プロセッサ部は各々、前記第一のバックプレーンに接続されるスイッチを介して、他のストレージシステムのインタフェース部、メモリ部、プロセッサ部と接続されることを特徴とするストレージシステム。
  11. 請求項10記載のストレージシステムであって、
    前記ライトデータが、前記他のストレージシステムが有する第二のインタフェース部に接続されているディスク装置部に格納される場合に、前記プロセッサ部は、前記メモリ部から当該他のストレージシステムが有する第二のインタフェース部への前記ライトデータの転送を制御することを特徴とするストレージシステム。
JP2004032810A 2004-02-10 2004-02-10 ストレージシステム Expired - Fee Related JP4441286B2 (ja)

Priority Applications (12)

Application Number Priority Date Filing Date Title
JP2004032810A JP4441286B2 (ja) 2004-02-10 2004-02-10 ストレージシステム
US10/820,964 US20050177670A1 (en) 2004-02-10 2004-04-07 Storage system
DE102004024130A DE102004024130B4 (de) 2004-02-10 2004-05-14 Speichersystem und Verfahren zum Betrieb eines Speichersystems
GB0411105A GB2411021B (en) 2004-02-10 2004-05-18 Storage system
GB0510582A GB2412205B (en) 2004-02-10 2004-05-18 Storage system
CNB2004100423977A CN1312569C (zh) 2004-02-10 2004-05-28 存储系统
FR0405787A FR2866132B1 (fr) 2004-02-10 2004-05-28 Systeme de memorisation
US11/031,556 US20050177681A1 (en) 2004-02-10 2005-01-07 Storage system
US11/249,174 US7467238B2 (en) 2004-02-10 2005-10-11 Disk controller and storage system
FR0852596A FR2915594A1 (fr) 2004-02-10 2008-04-17 Systeme de memorisation.
US12/269,152 US7917668B2 (en) 2004-02-10 2008-11-12 Disk controller
US12/714,755 US20100153961A1 (en) 2004-02-10 2010-03-01 Storage system having processor and interface adapters that can be increased or decreased based on required performance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004032810A JP4441286B2 (ja) 2004-02-10 2004-02-10 ストレージシステム

Publications (3)

Publication Number Publication Date
JP2005227807A JP2005227807A (ja) 2005-08-25
JP2005227807A5 JP2005227807A5 (ja) 2006-11-02
JP4441286B2 true JP4441286B2 (ja) 2010-03-31

Family

ID=32653075

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004032810A Expired - Fee Related JP4441286B2 (ja) 2004-02-10 2004-02-10 ストレージシステム

Country Status (6)

Country Link
US (3) US20050177670A1 (ja)
JP (1) JP4441286B2 (ja)
CN (1) CN1312569C (ja)
DE (1) DE102004024130B4 (ja)
FR (2) FR2866132B1 (ja)
GB (1) GB2411021B (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8335909B2 (en) 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US9178784B2 (en) 2004-04-15 2015-11-03 Raytheon Company System and method for cluster management based on HPC architecture
US8336040B2 (en) 2004-04-15 2012-12-18 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US7958292B2 (en) 2004-06-23 2011-06-07 Marvell World Trade Ltd. Disk drive system on chip with integrated buffer memory and support for host memory access
DE112007001566B4 (de) * 2006-06-23 2014-11-20 Mitsubishi Electric Corp. Steuervorrichtung
US20080101395A1 (en) * 2006-10-30 2008-05-01 Raytheon Company System and Method for Networking Computer Clusters
JP2008204041A (ja) 2007-02-19 2008-09-04 Hitachi Ltd ストレージ装置及びデータ配置制御方法
US7904582B2 (en) * 2007-08-27 2011-03-08 Alaxala Networks Corporation Network relay apparatus
JP5445138B2 (ja) * 2007-12-28 2014-03-19 日本電気株式会社 データ分散格納方法およびデータ分散格納システム
US8375395B2 (en) * 2008-01-03 2013-02-12 L3 Communications Integrated Systems, L.P. Switch-based parallel distributed cache architecture for memory access on reconfigurable computing platforms
EP2083532B1 (en) 2008-01-23 2013-12-25 Comptel Corporation Convergent mediation system with improved data transfer
EP2107464A1 (en) * 2008-01-23 2009-10-07 Comptel Corporation Convergent mediation system with dynamic resource allocation
US7921228B2 (en) * 2008-09-08 2011-04-05 Broadrack Technology Corp. Modularized electronic switching controller assembly for computer
JP2010092243A (ja) 2008-10-07 2010-04-22 Hitachi Ltd 複数のストレージモジュールで構成されたストレージシステム
JP5035230B2 (ja) * 2008-12-22 2012-09-26 富士通株式会社 ディスク搭載機構及びストレージ装置
US20130212210A1 (en) * 2012-02-10 2013-08-15 General Electric Company Rule engine manager in memory data transfers
CN104348889B (zh) * 2013-08-09 2019-04-16 鸿富锦精密工业(深圳)有限公司 切换开关及电子装置
US20190042511A1 (en) * 2018-06-29 2019-02-07 Intel Corporation Non volatile memory module for rack implementations

Family Cites Families (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
NL8004884A (nl) * 1979-10-18 1981-04-22 Storage Technology Corp Virtueel stelsel en werkwijze voor het opslaan van gegevens.
GB8626642D0 (en) * 1986-11-07 1986-12-10 Nighthawk Electronics Ltd Data buffer/switch
US5249279A (en) * 1989-11-03 1993-09-28 Compaq Computer Corporation Method for controlling disk array operations by receiving logical disk requests and translating the requests to multiple physical disk specific commands
US5206943A (en) * 1989-11-03 1993-04-27 Compaq Computer Corporation Disk array controller with parity capabilities
US5680574A (en) * 1990-02-26 1997-10-21 Hitachi, Ltd. Data distribution utilizing a master disk unit for fetching and for writing to remaining disk units
US6728832B2 (en) * 1990-02-26 2004-04-27 Hitachi, Ltd. Distribution of I/O requests across multiple disk units
US5140592A (en) * 1990-03-02 1992-08-18 Sf2 Corporation Disk array system
US5201053A (en) * 1990-08-31 1993-04-06 International Business Machines Corporation Dynamic polling of devices for nonsynchronous channel connection
US5440752A (en) * 1991-07-08 1995-08-08 Seiko Epson Corporation Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU
US5257391A (en) * 1991-08-16 1993-10-26 Ncr Corporation Disk controller having host interface and bus switches for selecting buffer and drive busses respectively based on configuration control signals
US5740465A (en) * 1992-04-08 1998-04-14 Hitachi, Ltd. Array disk controller for grouping host commands into a single virtual host command
JP3264465B2 (ja) * 1993-06-30 2002-03-11 株式会社日立製作所 記憶システム
US5511227A (en) * 1993-09-30 1996-04-23 Dell Usa, L.P. Method for configuring a composite drive for a disk drive array controller
US5574950A (en) * 1994-03-01 1996-11-12 International Business Machines Corporation Remote data shadowing using a multimode interface to dynamically reconfigure control link-level and communication link-level
US5548788A (en) * 1994-10-27 1996-08-20 Emc Corporation Disk controller having host processor controls the time for transferring data to disk drive by modifying contents of the memory to indicate data is stored in the memory
US5729763A (en) * 1995-08-15 1998-03-17 Emc Corporation Data storage system
US5809224A (en) * 1995-10-13 1998-09-15 Compaq Computer Corporation On-line disk array reconfiguration
US5761534A (en) * 1996-05-20 1998-06-02 Cray Research, Inc. System for arbitrating packetized data from the network to the peripheral resources and prioritizing the dispatching of packets onto the network
US5949982A (en) * 1997-06-09 1999-09-07 International Business Machines Corporation Data processing system and method for implementing a switch protocol in a communication system
US6112276A (en) * 1997-10-10 2000-08-29 Signatec, Inc. Modular disk memory apparatus with high transfer rate
US6148349A (en) * 1998-02-06 2000-11-14 Ncr Corporation Dynamic and consistent naming of fabric attached storage by a file system on a compute node storing information mapping API system I/O calls for data objects with a globally unique identification
US5974058A (en) * 1998-03-16 1999-10-26 Storage Technology Corporation System and method for multiplexing serial links
US6108732A (en) * 1998-03-30 2000-08-22 Micron Electronics, Inc. Method for swapping, adding or removing a processor in an operating computer system
JP3657428B2 (ja) * 1998-04-27 2005-06-08 株式会社日立製作所 記憶制御装置
US6014319A (en) * 1998-05-21 2000-01-11 International Business Machines Corporation Multi-part concurrently maintainable electronic circuit card assembly
US6260120B1 (en) * 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
US6424659B2 (en) * 1998-07-17 2002-07-23 Network Equipment Technologies, Inc. Multi-layer switching apparatus and method
US6711632B1 (en) * 1998-08-11 2004-03-23 Ncr Corporation Method and apparatus for write-back caching with minimal interrupts
JP4392877B2 (ja) * 1998-09-18 2010-01-06 株式会社日立製作所 ディスクアレイ制御装置
US6542961B1 (en) * 1998-12-22 2003-04-01 Hitachi, Ltd. Disk storage system including a switch
JP4400895B2 (ja) * 1999-01-07 2010-01-20 株式会社日立製作所 ディスクアレイ制御装置
JP4294142B2 (ja) * 1999-02-02 2009-07-08 株式会社日立製作所 ディスクサブシステム
US6370605B1 (en) * 1999-03-04 2002-04-09 Sun Microsystems, Inc. Switch based scalable performance storage architecture
US6363452B1 (en) * 1999-03-29 2002-03-26 Sun Microsystems, Inc. Method and apparatus for adding and removing components without powering down computer system
US6401149B1 (en) * 1999-05-05 2002-06-04 Qlogic Corporation Methods for context switching within a disk controller
US6330626B1 (en) * 1999-05-05 2001-12-11 Qlogic Corporation Systems and methods for a disk controller memory architecture
US6542951B1 (en) * 1999-08-04 2003-04-01 Gateway, Inc. Information handling system having integrated internal scalable storage system
US6343324B1 (en) * 1999-09-13 2002-01-29 International Business Machines Corporation Method and system for controlling access share storage devices in a network environment by configuring host-to-volume mapping data structures in the controller memory for granting and denying access to the devices
JP4061563B2 (ja) * 1999-09-16 2008-03-19 松下電器産業株式会社 磁気ディスク装置、磁気ディスク装置のディスクアクセス方法、及び磁気ディスク装置用ディスクアクセス制御プログラム記録媒体
US6772108B1 (en) * 1999-09-22 2004-08-03 Netcell Corp. Raid controller system and method with ATA emulation host interface
US6581137B1 (en) * 1999-09-29 2003-06-17 Emc Corporation Data storage system
CN1129072C (zh) * 1999-10-27 2003-11-26 盖内蒂克瓦尔有限公司 具有可配置数据/地址通道结构的数据处理系统
US6604155B1 (en) * 1999-11-09 2003-08-05 Sun Microsystems, Inc. Storage architecture employing a transfer node to achieve scalable performance
US6834326B1 (en) * 2000-02-04 2004-12-21 3Com Corporation RAID method and device with network protocol between controller and storage devices
JP3696515B2 (ja) * 2000-03-02 2005-09-21 株式会社ソニー・コンピュータエンタテインメント カーネル機能実現構造及びそれを備えたエンタテインメント装置、カーネルによる周辺ディバイスの制御方法
US6877061B2 (en) * 2000-03-31 2005-04-05 Emc Corporation Data storage system having dummy printed circuit boards
US6651130B1 (en) * 2000-04-28 2003-11-18 Emc Corporation Data storage system having separate data transfer section and message network with bus arbitration
US6779071B1 (en) * 2000-04-28 2004-08-17 Emc Corporation Data storage system having separate data transfer section and message network with status register
US6611879B1 (en) * 2000-04-28 2003-08-26 Emc Corporation Data storage system having separate data transfer section and message network with trace buffer
US6816916B1 (en) * 2000-06-29 2004-11-09 Emc Corporation Data storage system having multi-cast/unicast
US6820171B1 (en) * 2000-06-30 2004-11-16 Lsi Logic Corporation Methods and structures for an extensible RAID storage architecture
US6631433B1 (en) * 2000-09-27 2003-10-07 Emc Corporation Bus arbiter for a data storage system
US6684268B1 (en) * 2000-09-27 2004-01-27 Emc Corporation Data storage system having separate data transfer section and message network having CPU bus selector
US6901468B1 (en) * 2000-09-27 2005-05-31 Emc Corporation Data storage system having separate data transfer section and message network having bus arbitration
US6609164B1 (en) * 2000-10-05 2003-08-19 Emc Corporation Data storage system having separate data transfer section and message network with data pipe DMA
JP4068798B2 (ja) * 2000-10-31 2008-03-26 株式会社日立製作所 記憶サブシステム及びi/oインタフェースの制御方法ならびに情報処理システム
WO2002046888A2 (en) * 2000-11-06 2002-06-13 Broadcom Corporation Shared resource architecture for multichannel processing system
US20040204269A1 (en) * 2000-12-05 2004-10-14 Miro Juan Carlos Heatball
US6636933B1 (en) * 2000-12-21 2003-10-21 Emc Corporation Data storage system having crossbar switch with multi-staged routing
US7107337B2 (en) * 2001-06-07 2006-09-12 Emc Corporation Data storage system with integrated switching
US7082502B2 (en) * 2001-05-15 2006-07-25 Cloudshield Technologies, Inc. Apparatus and method for interfacing with a high speed bi-directional network using a shared memory to store packet data
WO2003008048A1 (en) * 2001-07-18 2003-01-30 Simon Garry Moore Adjustable length golf putter with self locking design
JP2003084919A (ja) * 2001-09-06 2003-03-20 Hitachi Ltd ディスクアレイ装置の制御方法およびディスクアレイ装置
US7178147B2 (en) * 2001-09-21 2007-02-13 International Business Machines Corporation Method, system, and program for allocating processor resources to a first and second types of tasks
JP4721379B2 (ja) * 2001-09-26 2011-07-13 株式会社日立製作所 ストレージシステム、ディスク制御クラスタおよびディスク制御クラスタの増設方法
JP2003131818A (ja) * 2001-10-25 2003-05-09 Hitachi Ltd クラスタ構成ストレージにおけるクラスタ間raid構成
JP2003140837A (ja) * 2001-10-30 2003-05-16 Hitachi Ltd ディスクアレイ制御装置
US7380115B2 (en) * 2001-11-09 2008-05-27 Dot Hill Systems Corp. Transferring data using direct memory access
JP4188602B2 (ja) * 2002-01-10 2008-11-26 株式会社日立製作所 クラスタ型ディスク制御装置及びその制御方法
US7266823B2 (en) * 2002-02-21 2007-09-04 International Business Machines Corporation Apparatus and method of dynamically repartitioning a computer system in response to partition workloads
JP4338068B2 (ja) * 2002-03-20 2009-09-30 株式会社日立製作所 ストレージシステム
US7200715B2 (en) * 2002-03-21 2007-04-03 Network Appliance, Inc. Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes
US6868479B1 (en) * 2002-03-28 2005-03-15 Emc Corporation Data storage system having redundant service processors
US6792506B2 (en) * 2002-03-29 2004-09-14 Emc Corporation Memory architecture for a high throughput storage processor
US6865643B2 (en) * 2002-03-29 2005-03-08 Emc Corporation Communications architecture for a high throughput storage processor providing user data priority on shared channels
US7209979B2 (en) * 2002-03-29 2007-04-24 Emc Corporation Storage processor architecture for high throughput applications providing efficient user data channel loading
US6877059B2 (en) * 2002-03-29 2005-04-05 Emc Corporation Communications architecture for a high throughput storage processor
US6813689B2 (en) * 2002-03-29 2004-11-02 Emc Corporation Communications architecture for a high throughput storage processor employing extensive I/O parallelization
JP2003323261A (ja) * 2002-04-26 2003-11-14 Hitachi Ltd ディスク制御システム、ディスク制御装置、ディスクシステム、及びその制御方法
JP4189171B2 (ja) * 2002-05-24 2008-12-03 株式会社日立製作所 ディスク制御装置
US6889301B1 (en) * 2002-06-18 2005-05-03 Emc Corporation Data storage system
JP2004110503A (ja) * 2002-09-19 2004-04-08 Hitachi Ltd 記憶制御装置、記憶システム、記憶制御装置の制御方法、チャネル制御部、及びプログラム
US6957303B2 (en) * 2002-11-26 2005-10-18 Hitachi, Ltd. System and managing method for cluster-type storage
JP2004192105A (ja) * 2002-12-09 2004-07-08 Hitachi Ltd 記憶装置の接続装置およびそれを含むコンピュータシステム
JP4352693B2 (ja) * 2002-12-10 2009-10-28 株式会社日立製作所 ディスクアレイ制御装置及びその制御方法
JP4107083B2 (ja) * 2002-12-27 2008-06-25 株式会社日立製作所 高可用ディスク制御装置とその障害処理方法及び高可用ディスクサブシステム
US7353321B2 (en) * 2003-01-13 2008-04-01 Sierra Logic Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves that may be incorporated within disk arrays
US6957288B2 (en) * 2003-02-19 2005-10-18 Dell Products L.P. Embedded control and monitoring of hard disk drives in an information handling system
JP4322031B2 (ja) * 2003-03-27 2009-08-26 株式会社日立製作所 記憶装置
US7143306B2 (en) * 2003-03-31 2006-11-28 Emc Corporation Data storage system
US20040199719A1 (en) * 2003-04-04 2004-10-07 Network Appliance, Inc. Standalone newtork storage system enclosure including head and multiple disk drives connected to a passive backplane
US20040205269A1 (en) * 2003-04-09 2004-10-14 Netcell Corp. Method and apparatus for synchronizing data from asynchronous disk drive data transfers
US7320083B2 (en) * 2003-04-23 2008-01-15 Dot Hill Systems Corporation Apparatus and method for storage controller to deterministically kill one of redundant servers integrated within the storage controller chassis
JP4462852B2 (ja) * 2003-06-23 2010-05-12 株式会社日立製作所 ストレージシステム及びストレージシステムの接続方法
US7114014B2 (en) * 2003-06-27 2006-09-26 Sun Microsystems, Inc. Method and system for data movement in data storage systems employing parcel-based data mapping
US7389364B2 (en) * 2003-07-22 2008-06-17 Micron Technology, Inc. Apparatus and method for direct memory access in a hub-based memory system
US7200695B2 (en) * 2003-09-15 2007-04-03 Intel Corporation Method, system, and program for processing packets utilizing descriptors
US7231492B2 (en) * 2003-09-30 2007-06-12 Emc Corporation Data transfer method wherein a sequence of messages update tag structures during a read data transfer
US7437425B2 (en) * 2003-09-30 2008-10-14 Emc Corporation Data storage system having shared resource
JP2005115603A (ja) * 2003-10-07 2005-04-28 Hitachi Ltd 記憶デバイス制御装置及びその制御方法
JP4275504B2 (ja) * 2003-10-14 2009-06-10 株式会社日立製作所 データ転送方法
JP2005149082A (ja) * 2003-11-14 2005-06-09 Hitachi Ltd ストレージ制御装置、及びストレージ制御装置の制御方法

Also Published As

Publication number Publication date
DE102004024130A1 (de) 2005-09-01
US20050177670A1 (en) 2005-08-11
DE102004024130B4 (de) 2009-02-26
JP2005227807A (ja) 2005-08-25
US20100153961A1 (en) 2010-06-17
GB2411021A (en) 2005-08-17
FR2915594A1 (fr) 2008-10-31
FR2866132A1 (fr) 2005-08-12
FR2866132B1 (fr) 2008-07-18
GB0411105D0 (en) 2004-06-23
GB2411021B (en) 2006-04-19
CN1312569C (zh) 2007-04-25
CN1655111A (zh) 2005-08-17
US20050177681A1 (en) 2005-08-11

Similar Documents

Publication Publication Date Title
JP4508612B2 (ja) クラスタ型ストレージシステム及びその管理方法
JP4441286B2 (ja) ストレージシステム
US7594074B2 (en) Storage system
US7917668B2 (en) Disk controller
EP1804157B1 (en) Data storage system and data storage control apparatus
US7743211B2 (en) Cluster-type storage system and managing method of the cluster-type storage system
US20140223097A1 (en) Data storage system and data storage control device
US20060200634A1 (en) Data storage system and data storage control apparatus
JP4786255B2 (ja) ストレージシステム及び記憶制御方法
US7571280B2 (en) Cluster-type storage system and managing method of the cluster-type storage system
US7426658B2 (en) Data storage system and log data equalization control method for storage control apparatus
US12141472B2 (en) Providing communication between storage processors through an interconnect and a set of storage devices
US20240241666A1 (en) Providing communication between storage processors through an interconnect and a set of storage devices
JP4440127B2 (ja) データストレージシステム及びデータストレージ制御装置
JP2003005916A (ja) ディスク制御装置、および、そのデータアクセス方法
GB2412205A (en) Data storage system with an interface in the form of separate components plugged into a backplane.

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060919

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060919

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091202

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: 20091224

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: 20100108

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130115

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: 20140115

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees