[go: up one dir, main page]

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

ストレージシステム Download PDF

Info

Publication number
JP4528551B2
JP4528551B2 JP2004118986A JP2004118986A JP4528551B2 JP 4528551 B2 JP4528551 B2 JP 4528551B2 JP 2004118986 A JP2004118986 A JP 2004118986A JP 2004118986 A JP2004118986 A JP 2004118986A JP 4528551 B2 JP4528551 B2 JP 4528551B2
Authority
JP
Japan
Prior art keywords
unit
cache
control
protocol conversion
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
JP2004118986A
Other languages
English (en)
Other versions
JP2005301802A (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 JP2004118986A priority Critical patent/JP4528551B2/ja
Priority to US10/879,230 priority patent/US7120739B2/en
Priority to EP04030004A priority patent/EP1586986A3/en
Priority to CNB2007101077547A priority patent/CN100562842C/zh
Priority to CNB2004101041170A priority patent/CN1323346C/zh
Publication of JP2005301802A publication Critical patent/JP2005301802A/ja
Priority to US11/509,773 priority patent/US7249220B2/en
Priority to US11/808,605 priority patent/US7594074B2/en
Application granted granted Critical
Publication of JP4528551B2 publication Critical patent/JP4528551B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、小規模〜大規模構成まで拡張可能なストレージシステムに関する。
企業内へのITシステムの浸透や、インターネットの発展による企業間のITシステムの連携の拡大により、ITシステムで処理されるデータを保存するストレージシステムが、ITシステムの中心的な役割を担っている。ストレージシステムには、小規模な構成から大規模な構成のシステムまで数多くの種類のシステムがある。
例えば、小規模〜大規模までの構成を提供する主なストレージシステムの1つとして、従来技術では、図36に示すようなアーキテクチャのストレージシステムが特許文献1に開示されている。このストレージシステムでは、計算機(以下「サーバ」とも言う)3との間のデータ転送を実行する複数のチャネルIF部11と、ハードディスク群2との間のデータ転送を実行する複数のディスクIF部16と、ハードディスク群2に格納するデータを一時的に格納するキャッシュメモリ部14と、ストレージシステム8に関する制御情報(例えば、ストレージシステム8内のデータ転送制御に関する情報、ハードディスク群2に格納するデータの管理情報)を格納する制御メモリ部15とを備え、チャネルIF部11及びディスクIF部16とキャッシュメモリ部14との間は相互結合網41で接続され、チャネルIF部11及びディスクIF部16と制御メモリ部15との間は相互結合網42で接続されていた。また、相互結合網41や相互結合網42は共通バスやスイッチで構成されていた。
このようにして、1つのストレージシステム8内において、キャッシュメモリ部14及び制御メモリ部15は全てのチャネルIF部11及びディスクIF部16からアクセス可能な構成となっていた。
チャネルIF部11は、サーバ3と接続するためのインターフェース(ホストIF)104、サーバ3に対する入出力を制御するマイクロプロセッサ103、キャッシュメモリ部14へのアクセスを制御するメモリアクセス部106、及び制御メモリ部15へのアクセスを制御するメモリアクセス部107を有している。また、ディスクIF部16は、ハードディスク群2と接続するためのインターフェース(ディスクIF105)及びハードディスク群2に対する入出力を制御するマイクロプロセッサ103、キャッシュメモリ部14へのアクセスを制御するメモリアクセス部106、及び制御メモリ部15へのアクセスを制御するメモリアクセス部107を有している。また、ディスクIF部16は、RAIDの制御も行う。
上記ストレージシステムでは、サーバ3との間のデータ転送を制御するチャネルIF部11とハードディスク群2とのデータ転送を制御するディスクIF部16を分離し、キャッシュメモリ部14、制御メモリ部15を介して、チャネルIF部11とディスクIF部16の間のデータ転送を制御するため、チャネルIF部11とディスクIF部16の数を柔軟に変えることが可能であった。そのため、小規模〜大規模な構成をとることが可能となっていた。
また、特許文献2に開示されている従来技術では、複数のディスクアレイ装置をディスクアレイスイッチを介して複数のサーバに接続し、ディスクアレイスイッチ及び各ディスクアレイ装置に接続されたシステム構成管理手段で、複数のディスクアレイ装置を1つのストレージシステムとして管理していた。
特開2000−99281号公報 特開2000−242434号公報
銀行、証券、電話会社等に代表される大企業では、従来各所に分散していたコンピュータ及びストレージシステムを、データセンターの中に集中化したコンピュータシステム及びストレージシステム構成とすることにより、コンピュータシステム及びストレージシステムの運用、保守、管理に要する費用を削減する傾向にある。
一方、ITバブル崩壊等の影響により経済が低迷する中、企業はITシステムへの初期投資を抑えるとともに、ビジネス規模の拡張に応じてシステム拡張を行う傾向にある。このため、初期投資を抑え、事業規模に合わせてリーズナブルな投資で規模を拡張可能なコスト及び性能のスケーラビリティが、ストレージシステムに要求されている。
図36に示す従来技術では、全てのチャネルIF部11と全てのディスクIF部16が、キャッシュメモリ部14及び制御メモリ部15を介して、チャネルIF部11とディスクIF部16の間のデータ転送を制御することにより、サーバ3からハードディスク群2へのデータのリード/ライトを実行する。そのため、全てのチャネルIF部11と全てのディスクIF部16からのアクセス負荷がキャッシュメモリ部14及び制御メモリ部15に集中する。
ストレージシステムに要求される性能(単位時間当たりのデータの入出力回数や単位時間当たりのデータの転送量)は年々増加している。将来的にそれに対応するため、チャネルIF部11及びディスクIF部16のデータ転送処理性能も向上させる必要がある。
上記のように、従来技術では全てのチャネルIF部11と全てのディスクIF部16が、キャッシュメモリ部14及び制御メモリ部15を介して、チャネルIF部11とディスクIF部16の間のデータ転送を制御するため、チャネルIF部11及びディスクIF部16のデータ転送処理性能が向上すると、キャッシュメモリ部14や制御メモリ部へのアクセス負荷が増大し、これがネックとなり、ストレージシステム8の性能を向上することが将来的に難しくなるという問題があった。
一方、キャッシュメモリ部14や制御メモリ部を大規模化して許容可能なアクセス性能を向上させることは可能である。しかしながら、全てのチャネルIF部11及びディスクIF部16からキャッシュメモリ部14や制御メモリ部15をアクセス可能とするためにキャッシュメモリ部14や制御メモリ部15をそれぞれ1つの共有メモリ空間として管理する必要があるため、キャッシュメモリ部14や制御メモリ部15を大規模化すると、小規模構成においてストレージシステムの低コスト化をすることが難しく、小規模構成のシステムを低価格で提供することが難しくなるという問題があった。
また、前記特許文献2に記載された従来技術では、ディスクアレイスイッチのポート数を増やすことや複数のディスクアレイスイッチを多段に接続することで、接続可能なディスクアレイ装置及びサーバの数を増やすことができ、小規模〜大規模な構成にスケーラブルに対応可能なストレージシステムを提供できた。しかしながら、サーバはディスクアレイスイッチを介してディスクアレイ装置にアクセスするため、ディスクアレイスイッチ内のサーバとのインターフェース部において、サーバとディスクアレイスイッチとの間のプロトコルをディスクアレイスイッチ内のプロトコルに変換し、さらにディスクアレイスイッチ5内のディスクアレイ装置とのインターフェース部において、ディスクアレイスイッチ内のプロトコルをディスクアレイスイッチとディスクアレイ装置との間のプロトコルに変換する処理が発生し、ディスクアレイスイッチを介さずに直接ディスクアレイ装置にアクセス可能な場合に比べ、特に応答性能が劣るという問題があった。
本発明の目的は、小規模〜大規模な構成までシステム規模に見合った価格/性能のストレージシステムを提供することにある。
より具体的には、本発明の目的は、ストレージシステムの共有メモリネックを解消するとともに、小規模な構成の低コスト化を図り、従来のディスクアレイ装置と同等以上の応答性能で、小規模〜大規模構成までコストとスループット性能のスケーラビリティを実現可能であり、かつ、コストを低減可能なストレージシステムを提供することにある。
本発明は、外部装置との第1のインターフェースを有し、前記外部装置との間で取り交わされるデータのリード/ライトプロトコルをシステム内部のプロトコルに変換する第1のプロトコル変換部と、複数のディスク装置を備えるストレージ装置との第2のインターフェースを有し、前記複数のディスク装置との間で取り交わされるデータのリード/ライトプロトコルをシステム内部のプロトコルに変換する第2のプロトコル変換部と、各々、前記ストレージ装置が備える複数のディスク装置に含まれる第1のディスク装置を用いて生成される第1の論理ユニットに対しリード/ライトされるデータを格納する第1のキャッシュメモリ及び前記第1のキャッシュメモリを制御する第1のマイクロプロセッサを有し、前記第1の論理ユニットへのリード/ライトコマンドを処理する複数の第1のキャッシュ制御部から構成される第1の制御クラスタと、各々、前記ストレージ装置が備える複数のディスク装置に含まれる第2のディスク装置を用いて生成される第2の論理ユニットに対しリード/ライトされるデータを格納する第2のキャッシュメモリ及び前記第2のキャッシュメモリを制御する第2のマイクロプロセッサを有し、前記第2の論理ユニットへのリード/ライトコマンドを処理する複数の第2のキャッシュ制御部から構成される第2の制御クラスタと、ストレージシステムの管理情報を記憶する管理情報記憶部と、前記第1のプロトコル変換部と、前記第2のプロトコル変換部と、前記複数の第1のキャッシュ制御部と、前記複数の第2のキャッシュ制御部と、前記管理情報記憶部とを互いに接続する相互結合網と、を有し、前記第1の制御クラスタを構成する複数の第1のキャッシュ制御部は、前記第1のプロトコル変換部から前記第1の論理ユニットへの第1のリードコマンドを受信した場合に、前記第1のリードコマンドに対応する第1のデータが前記第1の制御クラスタを構成する複数の第1のキャッシュ制御部のうち、いずれかの前記第1のキャッシュ制御部の第1のキャッシュメモリに格納されているか否かを判定し、前記第1のデータが前記第1のキャッシュメモリのいずれにも格納されていないと判定された場合に、前記第2のプロトコル変換部に対して、前記第1の論理ユニットから前記第1のリードコマンドに対応する前記第1のデータを読み出すための、第1の読み出し要求を発行し、前記第1の読み出し要求に基づいて前記第2のプロトコル変換部が前記第1の論理ユニットから読み出した前記第1のデータを受信した場合に、前記第1のプロトコル変換部に前記第1のデータを送信し、前記第2の制御クラスタを構成する複数の第2のキャッシュ制御部は、前記第1のプロトコル変換部から前記第2の論理ユニットへの第2のリードコマンドを受信した場合に、前記第2のリードコマンドに対応する第2のデータが前記第2の制御クラスタを構成する複数の第2のキャッシュ制御部のうち、いずれかの前記第2のキャッシュ制御部の第2のキャッシュメモリに格納されているか否かを判定し、前記第2のデータが前記第2のキャッシュメモリのいずれにも格納されていないと判定された場合に、前記第2のプロトコル変換部に対して、前記第2の論理ユニットから前記第2のリードコマンドに対応する前記第2のデータを読み出すための、第2の読み出し要求を発行し、前記第2の読み出し要求に基づいて前記第2のプロトコル変換部が前記第2の論理ユニットから読み出した前記第2のデータを受信した場合に、前記第1のプロトコル変換部に前記第2のデータを送信し、前記第1の制御クラスタに含まれるいずれかの前記第1のキャッシュ制御部は、前記第1のディスク装置の構成が変更された場合、前記管理情報記憶部に記憶された前記管理情報を変更し、前記変更された管理情報を前記第1の制御クラスタに含まれる複数の第1のキャッシュ制御部に転送し、前記第2のディスク装置の構成が変更された場合、前記管理情報記憶部に記憶された前記管理情報を変更し、前記変更された管理情報を前記第2の制御クラスタに含まれる複数の第2のキャッシュ制御部に転送する、ことを特徴とする
本発明によれば、ストレージシステムの共有メモリネックを解消するとともに、小規模な構成の低コスト化を図り、小規模〜大規模構成までコストと性能のスケーラビリティを実現可能なストレージシステムを提供することが可能となる。
以下、本発明の実施例を図面を用いて説明する。
図1は、本発明の第1の実施例のストレージシステムの構成を示すブロック図である。
ストレージシステム1は、プロトコル変換部10、キャッシュ制御部21、システム管理部60、及び、ハードディスク群2、を有し、サーバ3と接続されている。
プロトコル変換部10は、サーバ3又はハードディスク群2とのインターフェース部である。キャッシュ制御部21は、サーバ3又はハードディスク群2のデータのキャッシュを保持し、また、ハードディスク群2に関する制御情報を格納する。プロトコル変換部10は、サーバ3又はハードディスク群2が送信又は受信する制御データのプロトコルを適切に変換する。相互結合網31は、プロトコル変換部10、キャッシュ制御部21及びシステム管理部60を各々接続するネットワークである。また、システム管理部60は、ストレージシステム1の構成に関する情報等を管理する。
図2は、相互結合網31の具体的な構成の一例を示すブロック図である。
相互結合網31は、2つのスイッチ部51を有する。この2つのスイッチ部51には、それぞれ、プロトコル変換部10、キャッシュ制御部21、及びシステム管理部60から、1本ずつパスが接続されている。2つのスイッチ部51のそれぞれにパスが接続されることで、プロトコル変換部10、キャッシュ制御部21、及びシステム管理部60の間で2つのパスを確保し、信頼性を向上することができる。また、システム管理部60は、2つのスイッチ部51に接続されることで、パスを二重化している。これにより、システム全体の信頼性を向上することができる。なお、パスの個数は一実施例に過ぎず、パスの個数を限定するものではない。
なお、図2に示す相互結合網31は、スイッチを利用したものを例に示したが、相互に接続され制御情報やデータを転送するものであればよい。例えば、相互結合網31をバスで構成してもよい。
図3は、スイッチ部51の具体的な構成の一例を示すブロック図である。
スイッチ部51は、少なくとも4つのパスIF130、ヘッダ解析部131、アービタ132、クロスバスイッチ133、4つのパスインターフェース(IF)135、及び、2つのパスIF136と、を有する。各々のパスIF(パスIF130、パスIF135、パスIF136)には、それぞれバッファ134が接続されており、バッファ134を介してクロスバスイッチ133に接続されている。
パスIF130は、プロトコル変換部10との接続パスを接続するインターフェースであり、4つのプロトコル変換部10から1本ずつパスが接続されている。パスIF135は、キャッシュ制御部21との接続パスを接続するインターフェースであり、4つのキャッシュ制御部21へのパスが1本ずつ接続されている。パスIF136は、システム管理部60との接続パスを接続するインターフェースであり、2つのシステム管理部60から1本ずつパスが接続されている。バッファ134は、プロトコル変換部10、キャッシュ制御部21、システム管理部60の間で転送されるパケットをバッファリングする。
アービタ132は、各パスIFから送られた信号の調停を行い、クロスバスイッチ133を制御する。ヘッダ解析部131は、各パスIFから送られた信号のヘッダを取得し、信号の宛先であるパスIFを解析する。
図4は、プロトコル変換部10、キャッシュ制御部21、又は、システム管理部60の間で転送されるパケットのフォーマットの一例を示す説明図である。
パケット200は、ヘッダ210、ペイロード220、及び、エラーチェックコード230、を有する。ヘッダ210は、少なくともパケットの送信元と送信先を示す情報が格納されている。ペイロード220は、コマンド、アドレス、データ、及び、ステータスが格納されている。エラーチェックコード230は、パケット転送時のパケット内のエラー検出のためのコードである。
各パスIF130、135、136は、パケットが入力されると、パケットのヘッダ210をヘッダ解析部131に送る。ヘッダ解析部131は、受け取ったヘッダに含まれるパケットの送信先から、各パスIF間の接続要求を割り出し、その接続要求をアービタ132へ送る。アービタ132は、各パスIFからの接続要求を元にアービトレーションを行う。そして、アービトレーションの結果に基づいて、クロスバスイッチ133に対して接続切換えを示す信号を出力する。クロスバスイッチ133は、受け取った信号に基づいて、クロスバスイッチ133内の接続を切り換える。こうすることで、各パスIFが受け取った信号の宛先のパスIFに送信することができる。
なお、本実施例では、各パスIFにバッファを持つ構成としたが、スイッチ部51内に1つの大きなバッファを持ち、その中から各パスIFにパケット格納領域を割り当てるという構成にしてもよい。また、ヘッダ解析部131に、スイッチ部51内の障害情報を格納してもよい。
図5は、プロトコル変換部10の構成の一例を示すブロック図である。
プロトコル変換部10は、少なくとも、4つの外部インターフェース(IF)100、転送制御部105、及び、2つのマイクロプロセッサを有する。
外部IF100は、サーバ3又はハードディスク群2とのインターフェースである。転送制御部105は、キャッシュ制御部21又はシステム管理部60との間のデータ/制御情報の転送を制御する。マイクロプロセッサ102は、外部IF100と転送制御部105を制御することにより、サーバ3又はハードディスク群2と外部IF100と間のデータのリード/ライトプロトコルと、キャッシュ制御部21又はシステム管理部60と転送制御部105との間のデータ転送プロトコルと、を相互に変換する。このマイクロプロセッサは主記憶として自身に接続されたメモリ(図示していない)を有する。
なお、外部IF100、マイクロプロセッサ102等の個数は一実施例に過ぎず、個数を限定するものではない。また、以降、全ての説明において、個数は例示であり、本発明を限定するものではない。
マイクロプロセッサ102は、共有バス108によって外部IF100及び転送制御部105に接続される。また、外部IF100は転送制御部105に直結されている。マイクロプロセッサ102は、サーバ3又はハードディスク群2並びに外部IF100間のデータのリード/ライトプロトコルと、キャッシュ制御部21又はシステム管理部60並びに転送制御部105の間のデータ転送プロトコルと、を相互に変換する。プロトコル変換部10は、マイクロプロセッサ102の制御によって、サーバ3からのリード/ライト要求を目的のキャッシュ制御部21又は他のプロトコル変換部10に転送する。また、プロトコル変換部10は、マイクロプロセッサ102の制御によって、キャッシュ制御部21又は他のプロトコル変換部10からのリード/ライト要求をハードディスク群2に転送する処理を実行する。
なお、図5のマイクロプロセッサ102、外部IF100、及び転送制御部105の間の接続構成は一実施例に過ぎず、構成を限定するものではない。マイクロプロセッサ102が外部IF100及び転送制御部105を制御可能であり、外部IF100から転送制御部105へデータを転送可能な構成であれば問題ない。
図6は、キャッシュ制御部21の具体的な構成の一例を示すブロック図である。
キャッシュ制御部21は、少なくとも、4つのマイクロプロセッサ101と、転送制御部105と、キャッシュメモリ部111と、制御メモリ部112を有する。
キャッシュメモリ部111は、サーバ3又はハードディスク群2との間でやり取りするデータを一時格納する。制御メモリ部112は、データ転送、キャッシュメモリ部111の管理、及びハードディスク群2の管理に関する制御情報を格納する。
キャッシュメモリ部111及び制御メモリ部112は、いずれも内蔵されるメモリモジュール122へのアクセスを制御するメモリコントローラ121を有する。なお、キャッシュメモリ部111及び制御メモリ部112を、同一のメモリコントローラ121及び同一のメモリモジュール122によって構成し、1つのメモリ空間上の異なる領域にキャッシュメモリ領域と制御メモリ領域とを割り当ててもよい。また、マイクロプロセッサ101は、主記憶として自身に接続されたメモリ(図示していない)を有する。なお、4つのマイクロプロセッサ101が、それぞれキャッシュメモリ部111及び制御メモリ部112を自身の主記憶として共有するSMP構成であってもよい。
マイクロプロセッサ101、キャッシュメモリ部111、制御メモリ部112、及び、転送制御部105は、スイッチ109を介して接続されている。マイクロプロセッサ101は、制御メモリ部112内に格納されている制御情報を参照し、キャッシュメモリ部111へのデータのリード/ライト、キャッシュメモリのディレクトリ管理、プロトコル変換部10との間のデータ転送、システム管理部60との間のシステム管理情報、等のやり取りを制御する。また、転送制御部105は、プロトコル変換部10に接続されたハードディスク群2に書き込むデータの冗長化処理、いわゆるRAID処理を実行する。なお、このRAID処理は、プロトコル変換部10において実行してもよい。
なお、図6に示すマイクロプロセッサ101、キャッシュメモリ部111、制御メモリ部112、及び転送制御部105の間の接続構成は一実施例に過ぎず、構成を限定するものではない。マイクロプロセッサ101がキャッシュメモリ部111、制御メモリ部112、及び転送制御部105を制御可能である構成であればよい。
図7は、システム管理部60の具体的な構成の一例を示すブロック図である。
システム管理部60は、少なくとも1つのマイクロプロセッサ101、転送制御部105、メモリコントローラ121、メモリモジュール122、及び、LANコントローラ123、を有する。マイクロプロセッサ101は、メモリモジュール122を自身の主記憶とする。なお、マイクロプロセッサ101は、主記憶として、自身に接続されたメモリをメモリモジュール122とは別個に持ってもよい。
マイクロプロセッサ101は、メモリコントローラ121を介して、メモリモジュール122、転送制御部105、及び、LANコントローラ123に接続されている。マイクロプロセッサ101は、プロトコル変換部10及びキャッシュ制御部21から収集した管理情報、相互結合網31の管理情報、及び、LANコントローラ123に接続された管理コンソールからユーザが設定した情報、等によって、ストレージシステム1全体の管理情報をまとめ、その管理情報をメモリモジュール122に格納する。また、その管理情報を使用してストレージシステム1の管理を行う。この管理情報は、メモリコントローラ121に繋がる不揮発性メモリ(図示していない)、又は、ハードディスク群2に保存することによって、システムの障害等で制御情報を失うことがなくなるので、ストレージシステム1の信頼性を高めることが可能となる。
なお、マイクロプロセッサ101、メモリコントローラ121、メモリモジュール122、LANコントローラ123、及び、転送制御部105の間の接続構成は一実施例に過ぎず、構成を限定するものではない。マイクロプロセッサ101がメモリコントローラ121、メモリモジュール122、LANコントローラ123、及び転送制御部105を制御可能である構成であればよい。また、システム管理部60は、ユーザ(管理者)への情報の出力またはユーザからの情報の入力を行う管理コンソールが備えられる。
図1に示すように、本実施例では、2つのキャッシュ制御部21を1つの制御クラスタ70としてまとめ、この制御クラスタ70内でキャッシュメモリ部111の管理を閉じる。すなわち、ある制御クラスタ70内のキャッシュ制御部21にあるマイクロプロセッサ101は、自制御クラスタ70内のキャッシュメモリ部111及び制御メモリ部112のみを管理し、他制御クラスタ70内のキャッシュメモリ部111、制御メモリ部112は管理しない。
ここで、制御クラスタ70の2つのキャッシュ制御部21内のキャッシュメモリ部111及び制御メモリ部112を二重化してもよい。こうすることにより、1つのキャッシュ制御部21に障害が発生した場合、メモリの二重化をしたもう一方のキャッシュ制御部21によって動作を継続することが可能となり、ストレージシステム1の信頼性を向上することが可能となる。
制御クラスタ70内の2つのキャッシュメモリ部111に同一のデータを多重に格納する必要が生じた場合、該データをキャッシュ制御部21へ転送するプロトコル変換部10が、システム管理部60内のメモリのあらかじめ定められた領域に、どのデータをどの制御クラスタ70のキャッシュメモリ部111に多重に格納したかを示す制御情報を記録する。それと同時に、プロトコル変換部10は、多重に格納されたデータであることを示す制御情報を該データと共にキャッシュ制御部21に送る。キャッシュ制御部21は、自キャッシュメモリ部111内の多重に格納されたデータへの更新又は削除が発生した場合、そのことを示す制御情報をシステム管理部60へ送る。システム管理部60は、それを受けて、メモリ内に記録されている、どのデータをどの制御クラスタ70のキャッシュメモリ部111に多重に格納したかを示す制御情報を元に、多重に格納された該当データの更新又は削除の処理を実行する。
このように、キャッシュ制御部21内のマイクロプロセッサ101が制御するキャッシュメモリ部111の範囲を、制御クラスタ70内に限定することによって、キャッシュメモリ部111及び制御メモリ部112へのアクセス負荷を減らすことが可能となる。その結果、ストレージシステム1の性能を向上することが可能となる。
ここで、第1の実施例の変形例として、図8に示すようなストレージシステムについて説明する。図8では、プロトコル変換部10を、サーバ3に接続するプロトコル変換部10とハードディスク群2に接続するプロトコル変換部10との2つにグループ分けしている。そして、2つのキャッシュ制御部21とハードディスク群に接続する2つのプロトコル変換部10を1つの制御クラスタ71としてまとめる。自制御クラスタ71のキャッシュ制御部21内のキャッシュメモリ部111には、自制御クラスタ内のプロトコル変換部10に繋がるハードディスク群2に記録するデータ、又は、記録されたデータのみを格納する。また、制御クラスタ71は、自制御クラスタ71内でキャッシュメモリ部111の管理を閉じさせる。すなわち、ある制御クラスタ71内のキャッシュ制御部21内のマイクロプロセッサ101は、自制御クラスタ71内のキャッシュメモリ部111のみを管理し、他制御クラスタ71内のキャッシュメモリ部111は管理しない。
なお、図8では、サーバ3に接続するプロトコル変換部10が繋がる相互結合網31と、ハードディスク群2に接続されるプロトコル変換部10が繋がる相互結合網31と、が分離して示されているが、これらは物理的には同一の相互結合網31に繋がるものである。
また、前述したように、2つのキャッシュ制御部21の間でキャッシュメモリ部111及び制御メモリ部112の内容を二重化してもよい。こうすることにより、1つのキャッシュ制御部21に障害が発生した場合に、メモリの二重化をしたもう一方のキャッシュ制御部21で、動作を継続することが可能となるので、ストレージシステム1の信頼性を向上することが可能となる。
このように、図8に示す第1の実施例の変形例では、キャッシュ制御部21内のマイクロプロセッサ101が制御するキャッシュメモリ部111の範囲を制御クラスタ71内に限定することにより、キャッシュメモリ部111及び制御メモリ部112へのアクセス負荷を減らすことが可能となり、その結果、ストレージシステム1の性能を向上することが可能となる。
また、前述のように、制御クラスタ71内でハードディスク群2に関するキャッシュメモリ部111を閉じた管理とすることで、複数の制御クラスタ71のキャッシュメモリ部111に渡って、多重にデータが格納されることがなくなる。そのため、図1の構成で必要であったシステム管理部60における複数の制御クラスタ70のキャッシュメモリ部111に多重に格納したデータの一致制御が不要となり、システムの管理が簡単化され、図1の構成に比べさらにストレージシステム1の性能を向上することが可能となる。
次に、第1の実施例の他の変形例として、図9に示すようなストレージシステムについて説明する。図9に示すように、制御クラスタ70内の2つのキャッシュ制御部21間が、2本のパスで接続されている。
図10に、第1の実施例の他の変形例の、キャッシュ制御部21の詳細な構成の一例を示す。
図10に示すように、キャッシュ制御部21は、内部IF126がスイッチ109に繋がる点を除いては、図6に示すキャッシュ制御部21の構成と同様である。図9に示すように、スイッチ109には2つの内部IF126が接続される。制御クラスタ構成をとる2つのキャッシュ制御部21間に内部IF126同士で繋ぐ接続パスを使用し、接続パスによってデータ及び制御情報の通信が行われる。2つのキャッシュ制御部21の内部IF126間を接続パスで相互に繋ぐことによって、接続パスを通してデータ及び制御情報の通信を行う。例えば、この接続パスを介して、2つのキャッシュ制御部21のキャッシュメモリ部111又は制御メモリ部112に格納される情報の2重化を行う。
このように、図9に示す第1の実例の他の実施例では、制御クラスタを2重化することによって、制御クラスタ70を構成する2つのキャッシュ制御部21の一方に障害が発生した場合、もう一方でストレージシステムの稼動を続けることが可能となるため、信頼性が向上する。
次に、本実施例のストレージシステム1全体の管理構成の一例を、図11のブロック図を用いて説明する。
なお、ここでは前述した図8に示す構成のストレージシステム1における管理構成の一例を示す。
システム管理部60では、ストレージシステム1全体の管理を3つのレイヤ、すなわち、ネットワーク、論理パス、及び、ストレージの3つのレイヤに分けて管理を行い、管理の簡単化を図る。具体的には、システム管理部60は、ソフトウエアプログラムとして、ネットワーク管理部503、論理パス管理部502、及び、ストレージ管理部501を有する。
なお、図11に示される各部は、実際にはソフトウエアプログラムであり、システム管理部60のマイクロプロセッサ101で実行される。これらのプログラムはネットワークや可搬の記憶媒体を介してシステム管理部60のメモリモジュール122に格納される。また、以降の説明では、図11で示される各部が主語になる場合には、実際にはその処理はシステム管理部60のマイクロプロセッサ101で実行される。さらに、各部に含まれる処理もプログラムである。なお、各部は専用のハードウェアで実行されてもよい。
また、ネットワークとは相互結合網31のことを示す。ネットワーク管理部503は、少なくとも、ネットワークの制御541及びネットワークの障害処理542を行う。
例えば、相互結合網をスイッチ部51(図2参照)によって構成した場合、ネットワーク管理部503は、プロトコル変換部10、スイッチ部51、キャッシュ制御部21、及び、システム管理部60、の物理的なリンクの設定、リンクの張り替え、物理的な障害の検出/処理を行う。
論理パス管理部502は、少なくとも、論理パスの割当て531及び論理パスの閉塞/切替え処理532を行う。論理パスとは、プロトコル変換部10、キャッシュ制御部21、及び、システム管理部60、のそれぞれの間で設定される論理的なパスのことを示す。
例えば、相互結合網31をスイッチ部51(図2参照)によって構成した場合、論理パス管理部502は、1つのプロトコル変換部10から1つのスイッチ部51を経由して1つのキャッシュ制御部21へ至るパスを、1つの論理パスとする。したがって、1つのプロトコル変換部10と1つのキャッシュ制御部21との間には、2つの論理パスが設定される。同様に、プロトコル変換部10とシステム管理部60との間、システム管理部60とキャッシュ制御部21との間、システム管理部60とプロトコル変換部10との間、システム管理部60とキャッシュ制御部21との間、システム管理部60とシステム管理部60との間、にも2つの論理パスが設定される。論理パス管理部502では、システムの立ち上げ時における前述の論理パスの設定、各部間にある2つの論理パスの内の1つに障害が起こった場合の閉塞、もう一方の論理パスへの切替え処理等を行う。
ストレージ管理部501は、少なくとも、ボリューム統合管理521、サーバ−LU(論理ユニット)割当て522、及び、システム障害処理523の処理を行う。ボリューム管理521では、各制御クラスタ71内それぞれで管理される論理ボリュームを統合して管理する。そして、サーバ−LU割当て522において、統合した論理ボリュームの中からLUを切り出し、各サーバ3に割り当てる。これらボリューム管理521及びサーバ−LU割当て522によって、それぞれが独立した制御を行う複数の制御クラスタ71の集まりを、サーバ3に対して1つのストレージシステム1として見せることが可能となる。
なお、変形例として、プロトコル変換部10は、サーバ3を繋ぐプロトコル変換部10の他に、ストレージシステム4を接続するような構成とすることも可能である。(図12参照)
この場合、ボリューム統合管理521において、他のストレージシステムが提供するLUも含めて管理し、それらをサーバ−LU割当て522においてサーバ3に割当てる。こうすることによって、サーバ3からストレージシステム1を介して、他のストレージシステム4のボリュームにアクセスすることが可能となる。
また、ストレージ管理部501において、どのプロトコル変換部10にどのサーバが接続されているかを示すテーブルを管理することにより、ストレージシステム1に繋がる複数のサーバ3間での通信及びデータ転送が可能となる。
プロトコル変換部10に繋がるサーバ3とストレージシステム4との間でデータ転送を行う際は、ストレージ管理部501は、プロトコル変換部10間で相互結合網31を介してデータ転送を行う。このとき、該データをシステム管理部60内のメモリにキャッシュしてもよい。また、該データをキャッシュ制御部21内のキャッシュメモリ部111にキャッシュしてもよい。これにより、サーバ3及びストレージシステム4間のデータ転送性能が向上する。
また、図12に示した変形例のさらに別の変形例として、図13に示すように、SANスイッチ65を介して、ストレージシステム1と、サーバ3及び他のストレージシステム4と、の間を接続するように構成することもできる。さらに、プロトコル変換部10内の外部IF100に、SANスイッチ65を介してサーバ3及び他のストレージシステム4へアクセスするようにする。こうすることによって、ストレージシステム1に接続されたサーバ3から、SANスイッチ65及び複数のSANスイッチ65からなるネットワークに接続されたサーバ3や他のストレージシステム4へのアクセスが可能となる。
図11に戻り、システム障害処理523では、プロトコル変換部10及びキャッシュ制御部21からそれぞれの障害情報を収集する。そして、論理パス管理部502から論理パスの障害情報を収集し、これらの情報からストレージシステム1内の閉塞/交換する部位を判断する。そして、閉塞処理の実施を命ずる制御情報を該当する部位(プロトコル変換部10、キャッシュ制御部21、又は、スイッチ部51)に送る。該制御情報を受けた該当部位は閉塞処理を行う。閉塞処理が完了した後、ユーザに障害部位の交換を促すメッセージを報知(例えば、管理コンソールに表示)する。ユーザはこのメッセージに従い、障害部位の交換を行う。そして、管理コンソールから障害部位の交換完了を示すメッセージを入力する。システム障害処理523は、このメッセージを受け取ると、閉塞解除を命ずる制御情報を該当する部位に送る。該制御情報を受けた該当部位は閉塞解除処理を行う。閉塞解除処理完了後、システムを通常動作に戻す。
以上のように、システム管理部60は、システム管理部60内で、ネットワーク、論理パス、ストレージの3つのレイヤに分けてストレージシステム1全体を管理する。
なお、ネットワーク管理部503と論理パス管理部502を1つの管理部として、システムの制御を行ってもよい。
本実施例では、図36に示す従来技術において、チャネルIF部11において行っていた、サーバ3とのコマンド/データ送受信、コマンドの解析、サーバ3からの要求の振り分け処理、及び、ディスクIF部16において行っていたハードディスク群2とのコマンド/データ送受信、コマンドの解析、ハードディスク群2への要求の振り分け処理を、プロトコル変換部10の処理としてチャネルI/F部11から分離する。さらに、それ以外のチャネルIF部11及びディスクIF部16の処理は、まとめて、キャッシュ制御部21での処理とする。
したがって、キャッシュ制御部21は、少なくとも、キャッシュ制御561、データ転送制御562、及び、制御クラスタ内ボリューム管理563を行う。キャッシュ制御561は、キャッシュメモリ部111へのデータのリード/ライト制御、制御メモリ部112に格納したキャッシュメモリ部112内のディレクトリの管理、キャッシュメモリ部111内に要求データが存在するかどうかを調べるヒット・ミス判定処理を行う。データ転送制御562は、プロトコル変換部10とキャッシュメモリ部111間のデータ転送の制御を行う。制御クラスタ内ボリューム管理563では、ハードディスク群2の物理的なボリュームから制御クラスタ内の論理的なボリュームを構成し、それを示すテーブルを管理する。
また、プロトコル変換部10は、サーバ3を接続するプロトコル変換部10のグループであるサーバ接続部502と、ハードディスク群2を接続するプロトコル変換部10のグループであるデバイス接続部506と、に分けられる。
サーバ接続部504に属するプロトコル変換部10は、少なくとも、コマンド処理551及び要求振分け552を行う。コマンド処理551は、サーバ3との間でコマンドの送受信を行い、サーバ3からのコマンドの解析、サーバ3へのコマンドの発行を行う。要求振分け552は、サーバ3からのデータのリード/ライトのコマンド及びデータを内部プロトコルに変換し、該当するキャッシュ制御部21、又は、プロトコル変換部10へ転送する。また、また要求振分け部572は、キャッシュ制御部21又はプロトコル変換部10からサーバ3へのコマンド及びデータを、内部プロトコルからサーバ3とプロトコル変換部10の間のプロトコルに変換し、サーバ3へ送信する。
デバイス接続部506に属するプロトコル変換部10は、少なくとも、コマンド処理571、要求振分け572、デバイス制御、デバイス障害処理を行う。
コマンド処理571は、デバイスとの間でコマンドの送受信を行い、デバイスへのコマンドの発行、デバイスからのリプライの解析を行う。要求振分け572は、デバイスへのデータのリード/ライトのコマンド及びデータを内部プロトコルから、デバイスとプロトコル変換の間のプロトコルに変換し、該当するデバイスへ転送する。また、デバイスからのリプライやデータを該当するキャッシュ制御部21、又はプロトコル変換部10へ転送する。デバイス制御573は、デバイスへのリード/ライトの制御を行う。デバイス障害処理574は、デバイスに障害が起こった場合、デバイスの閉塞/交換処理を行う。
以上のように、図36に示す従来技術では、チャネルIF部11とディスクIF部16で分けて行っていた処理を、キャッシュ制御部21においてまとめて行うことによって、データ転送のためにチャネルIF部11とディスクIF部16の間で制御メモリ部15を介して行う通信処理がなくなるため、ストレージシステム1の性能を向上することが可能となる。
なお、本実施例では、デバイスとはハードディスク群2のことを指すが、ブロックデータを記録するデバイスであれば良く、例えば光ディスクでもよい。
以上、図8に示す構成のストレージシステム1における管理構成を説明したが、図1に示す構成の場合、システム管理部60に複数の制御クラスタのキャッシュメモリ部に多重に格納されたデータの一致制御を行う処理が追加されることにより、同様の管理が可能となる。
次に、図14乃至図17を用いて、物理ボリュームと論理ボリュームの関係、論理ボリュームと論理ユニットの関係、論理ユニットのサーバへの割当て関係の例を説明する。なお、以降、論理ボリュームのことを仮想ボリュームと呼ぶ。
図14は、物理デバイス管理テーブル651を示す説明図である。物理デバイス(本実施例ではハードディスク群2)と、複数の物理デバイスをまとめて1つのボリュームとした仮想ボリュームの関係を示している。
物理デバイス番号(PDEV#)630は、それぞれ1つのハードディスクに対応する識別番号である。仮装ボリューム1番号631は、4つの物理デバイスから構成された1つの仮想ボリューム1それぞれに割り振られた制御クラスタ71内で一意に決まる番号である。RAIDクラス605は、仮想ボリューム1のRAID構成を示す情報である。ボリューム容量601は、仮想ボリューム1の容量を示す情報である。接続アダプタ番号610は、制御クラスタ内71の仮想ボリューム1に対し、そのボリュームをどのプロトコル変換部(以下プロトコル変換アダプタ(PA)とも呼ぶ)10が管理するかを示す情報である。仮想ボリューム2番号632は、複数の制御クラスタ71の全ての仮想ボリューム1を統合管理するために割り振られた、システム管理部60がストレージシステム1全体で一意に決まる番号である。
この物理デバイス管理テーブル651の仮想ボリューム2番号632以外の部分は、システム初期化時にキャッシュ制御部21内で各制御クラスタ71ごとに作成し、それをシステム管理部60に登録する。システム管理部60は、全ての制御クラスタ71からのテーブルをもとに、仮想ボリューム2番号632を割り振ったテーブル(物理デバイス管理テーブル651)を作成する。そして、そのテーブルの中の各制御クラスタ71に関係する部分のコピーを、該当する制御クラスタ71のキャッシュ制御部21に転送する。各キャッシュ制御部21は、それを制御メモリ部112に格納する。
ハードディスク群2の構成に変更が生じた場合には、そのハードディスク群2を管理するキャッシュ制御部21は、物理デバイス管理テーブル651の仮想ボリューム2番号以外の部分を変更し、それをシステム管理部60に登録する。システム管理部60は、登録された情報を元に物理デバイス管理テーブル651を変更し、そのテーブルの中の各制御クラスタ71に関係する部分のコピーを、該当する制御クラスタ71のキャッシュ制御部21へ転送する。各キャッシュ制御部21はそれを制御メモリ部112に格納する。
なお、物理デバイス管理テーブル651の作成に必要な情報を全てキャッシュ制御部21からシステム管理部60へ転送し、それをもとに物理デバイス管理テーブル651の全てをシステム管理部60で作成してもよい。
図15は、仮想ボリューム管理テーブル652を示す説明図である。仮想ボリューム1(又は仮想ボリューム2)は数台のハードディスクから構成されるため、その容量が数百GBと大きくなる。そこで、ユーザの使い勝手向上のために、仮想ボリューム1(又は仮想ボリューム2)を、さらに容量の小さい複数の仮想ボリューム3に分割する。
仮想ボリューム管理テーブル652は、仮想ボリューム3の番号633と仮想ボリューム1内アドレス641との関係を示すためのテーブルである。また、仮想ボリューム管理テーブル652には、仮想ボリューム1がどのキャッシュ制御部21で管理されるかを示す管理キャッシュ制御部番号621も含まれる。
なお、ハードディスクの容量が数GBと小さい場合、又は、ユーザの必要とする論理ユニットの容量が数十から数百GBと大きい場合は、仮想ボリューム3に分割する必要はない。この仮想ボリューム管理テーブル652は、キャッシュ制御部21から転送された仮想論理ボリューム1の情報をもとに、システム管理部60が作成する。
図16は、論理ユニット管理テーブル653を示す説明図である。
論理ユニット管理テーブル653は、前述した仮想ボリューム3と、実際にユーザに提供する論理ユニットとの関係を示すテーブルである。論理ユニットは1つ又は複数の仮想ボリューム3から構成される。論理ユニット管理テーブル653では、論理ユニット番号661と、その論理ユニットを構成する仮想ボリューム3番号633との関係が示される。論理ユニット番号661は、論理ユニットに対して割り振られた、ストレージシステム1全体で一意に決まる番号である。RAIDクラス605は、論理ユニットの信頼性を示すために、その論理ユニットが属する仮想論理ボリューム1のRAIDクラスを示す。管理キャッシュ制御部番号621は、論理ユニットを構成する仮想ボリューム3がどのキャッシュ制御部21で管理されるかを示す。
なお、論理ユニットは、管理キャッシュ制御部が異なる複数の仮想ボリューム3から構成されていてもよい。異なる管理キャッシュ制御部によって構成されることによって、1つの論理ユニットに対するアクセスが複数のキャッシュ制御部21に分散されるため、キャッシュ制御部21への負荷が分散され、ストレージシステム1の性能を向上することが可能となる。
図17は、論理ユニット割当て管理テーブル654を示す説明図である。
論理ユニット割当て管理テーブル654は、接続サーバ番号670とそのサーバに割り当てられた論理ユニットの関係を示すテーブルである。
サーバに対して複数の論理ユニットを割り振る場合、それぞれのサーバに割り振られた論理ユニットの番号は0番から割り振る必要がある。したがって、サーバに対しては、0番から始まる仮想論理ユニット番号662を割り振って論理ユニットを提供する。論理ユニット割当て管理テーブル654は、この仮想論理ユニット番号662と論理ユニット番号661との関係を示す。
接続アダプタ番号611及び接続チャネル番号615は、サーバがどのプロトコル変換部10のどの接続チャネルに接続されているかを示す。管理キャッシュ制御部番号621は、論理ユニットを構成する仮想ボリュームがどのキャッシュ制御部21で管理されるかを示す。この管理キャッシュ制御部番号621は、サーバが接続されているプロトコル変換部10がサーバからのアクセス要求に対し、どのキャッシュ制御部21へアクセスすべきかを、システム管理部60に問い合わせること無しに知るために必要である。プロトコル変換部10は、管理キャッシュ制御部番号621を参照して、ホストからのアクセス要求に対する応答時間を短くすることが可能となる。
なお、論理ユニット割当て管理テーブル654は、サーバ3が繋がるプロトコル変換部10からの情報及び管理コンソールからのユーザの設定情報に基づいて、システム管理部60が作成/管理する。そして、システム管理部60は、そのテーブルの中の各プロトコル変換部10に関係する部分のコピーを、該当するプロトコル変換部10に転送する。各プロトコル変換部10は、それをマイクロプロセッサ102に繋がるメモリに格納する。
サーバの接続構成/論理ユニットの割当てに変更が生じた場合には、システム管理部60は、論理ユニット割当て管理テーブル654を変更し、そのテーブルの中の各プロトコル変換部10に関係する部分のコピーを、該当するプロトコル変換部10へ転送する。各プロトコル変換部10は、それをマイクロプロセッサ102に繋がるメモリ(図示していない)に格納する。
また、前述した図14乃至図17に示したテーブルは、管理コンソールのモニタ上にそれら全部または一部を表示することができる。ユーザは、管理コンソールから論理ユニット、仮想ボリューム、及び、物理デバイス間の関係の全部または一部を設定することができる。
なお、本実施例では、物理デバイスから、論理ボリューム、ユーザに提供する論理ユニットまで複数の種類のボリュームを構成したが、これは一例でありこれと同様の構成にする必要はない。必要なのは、制御クラスタ71内ではその中で独立にボリュームを構成/管理し、システム管理部60で、ストレージシステム1内すべての制御クラスタ71が提供するボリュームを統合管理して、その中からボリュームを切り出し、ユーザに提供するという機能である。この機能により、本発明を実施可能である。
図18は、ストレージシステム1のシステム初期化時の動作の一例を示すフローチャートである。
まず、システムの電源をON(701)すると、プロトコル変換部10、キャッシャ制御部221、システム管理部60は、自己動作チェック(702)を行う。自己動作チェック(702)では、プロトコル変換部10、キャッシャ制御部221、システム管理部60の各部は、自部内の診断を行い正常動作であるか障害があるかを調べる。障害があった場合、各部は、後の構成情報登録(706)においてシステム管理部60に通知する。または、通知ができない障害の場合は自部内にある障害を示す表示部をONにする。
自己動作チェック702で正常動作と判断されると、プロトコル変換部10、キャッシャ制御部21、システム管理部60の各部は、自部内の構成情報(自部を特定するID番号、自部内のプロセッサを特定するプロセッサ番号、プロセッサ種別/仕様、メモリ容量等)を収集する(703)。この際、ハードディスク群2が繋がるプロトコル変換部10は、自身に繋がるハードディスク群2の構成を調べるとともに、ハードディスクに障害がないかをチェックする。ハードディスクに障害があった場合は、後の構成情報登録706においてシステム管理部60に通知する。
次に、システム管理部60内のネットワーク管理部503は、相互結合網31の物理的なリンクの情報を収集し、相互結合網31の構成を調べる(704)。プロトコル変換部10及びキャッシュ制御部(以下「CA」とも称する)21は、自己情報収集703後、システム管理部(以下「MA」とも称する)60がネットワーク構成情報収集を行うのに要する時間(又はあらかじめ設定した時間)だけ待って、システム管理部60との間の論理パスの確立を行う(705)。その後、プロトコル変換部10及びキャッシュ制御部21は、それぞれが収集した自部内の構成情報をシステム管理部60に登録する(706)。この際、前述したように、障害情報もシステム管理部60へ通知される。
次に、システム管理部60は、システム管理部60に繋がる管理コンソールのモニタに、図14乃至図17で示した構成情報の管理テーブルの一部又は全部(図のように各番号間の関係が全て定まったものではなく、ユーザ設定が必要な部分は、空欄のテーブル)を表示する。ユーザは、この管理コンソール上で物理デバイス、仮想ボリューム、論理ユニット間の関係の一部または全部の設定を行なう(707)。
次に、システム管理部60は、ユーザからの設定に基づいて図14乃至図17に示す管理テーブルを完成させ、システム管理部60内のメモリに格納する(708)。これら管理テーブルは、障害が発生したときのために、システム管理部60内の不揮発メモリ又はハードディスク群2の中のハードディスクの両方又はどちらか一方にも格納される。
次に、管理テーブルの中で各プロトコル変換部10、及び、各キャッシュ制御部21それぞれに関係する部分のコピーを、各プロトコル変換部10、及び、各キャッシュ制御部21に配信する。コピーを配信された各部は、自部のメモリ内にコピーを格納する(709)。
次に、プロトコル変換部10は、システム管理部60から配信された自部に関係する管理テーブルを参照し、自身がアクセスする必要があるキャッシュ制御部21を調べ、該当するキャッシュ制御部21との間に論理パスを確立する(710)。
最後に、プロトコル変換部10及びキャッシュ制御部21は、全ての初期化動作が正常に終了したかを判断し、その結果をシステム管理部60に通知する。システム管理部60は、全てのプロトコル変換部10、キャッシュ制御部21の初期化正常終了通知と自身の初期化正常終了を確認する(711)。全ての初期化が正常に終了したかを確認した後、通常の動作(リード/ライト動作)を開始する(712)。
図19は、ストレージシステム1のシステム終了時の動作の一例を示すフローチャートである。
まず、管理コンソールからシステム終了通知が発行されると(721)、システム管理部60は、プロトコル変換部10及びキャッシュ制御部21にコマンドの受付中止を指示する制御情報を発行する。プロトコル変換部10及びキャッシュ制御部21は、この制御情報を受け、コマンドの受付を中止する(722)。コマンドの受付を中止した後、プロトコル変換部10及びキャッシュ制御部21は、すでに受け付けていたコマンドを全て処理する(723)。次に、プロトコル変換部10及びキャッシュ制御部21は、初期化時と同様に自身の構成情報を収集し、システム管理部60に登録する(724)。次に、プロトコル変換部10及びキャッシュ制御部21は、動作終了が可能であることをシステム管理部60に登録する(725)。
その後、プロトコル変換部10は、キャッシュ制御部との論理パスを閉塞する。また、プロトコル変換部10及びキャッシュ制御部21は、システム管理部60との論理パスを閉塞する(726)。
最後に、システム管理部60は、プロトコル変換部10及びキャッシュ制御部21から登録された構成情報と、システム管理部60内の構成情報を、不揮発メモリに保存する(727)。その後、管理コンソールのモニタ上にシステム終了可能である表示(例えば“システム終了プロセス完了、電源OFF可”を表示)を行い、電源をOFFする(728)。
図20は、サーバ3からストレージシステム1に記録されたデータを読み出す場合の一例を示すフローチャートである。
まず、サーバ3は、ストレージシステム1に対してデータの読出しコマンドを発行する。
プロトコル変換部10内の外部IF100が該データの読み出しコマンドを受信すると、コマンド待ち状態(741)にあったマイクロプロセッサ102は、外部IF100が受信したコマンドを読み出し(742)、コマンド解析(743)を行う。コマンド解析の結果、サーバ3が要求するデータが記録されている論理ユニット(以下「LU」とも称する)を割り出す。マイクロプロセッサ102は、システム初期化/変更時にシステム管理部60より配信された、自プロトコル変換部10に関係する論理ユニット割当て管理テーブル654を参照し、要求されたデータが記録されたLUを構成する仮想ボリュームを管理するキャッシュ制御部21を決定する(744)。
そして、マイクロプロセッサ102は、自身の転送制御部105から、決定したキャッシュ制御部21の転送制御部105に、相互結合網を介してデータのリード要求を発行する(745)。リード要求を受け取ったキャッシュ制御部21内のマイクロプロセッサ101は、制御メモリ部112にアクセスして、論理ユニット管理テーブル653、仮想ボリューム管理テーブル652及び物理デバイス管理テーブル651を参照し、仮想ボリューム1番号(VVL1)631及び仮想ボリューム1内アドレス641を決定する(746)。次に、マイクロプロセッサ101は、制御メモリ部112にアクセスして、決定した仮想ボリューム1番号631と仮想ボリューム1内アドレス641とから、自キャッシュメモリ部111内に要求データがある(キャッシュヒット)又はない(キャッシュミス)の判定を行う(747)。
自キャッシュメモリ部111内に要求データがあった場合(キャッシュヒット)、マイクロプロセッサ101は、キャッシュメモリ部111から要求を発行したプロトコル変換部10に要求データを読み出して転送するように、自部の転送制御部105に指示する(755)。転送制御部105は、要求を発行したプロトコル変換部10の転送制御部105に相互結合網31を介して要求データを転送する(756)。要求データを受け取ったプロトコル変換部10の転送制御部105は、外部IF100を通して、サーバ3にデータを送信する(757)。
自キャッシュメモリ部111内に要求データがない場合(キャッシュミス)、マイクロプロセッサ101は、キャッシュメモリ部111に要求データを格納する領域を確保する(749)。キャッシュ領域確保後、マイクロプロセッサ101は、制御メモリ部112にアクセスして、物理デバイス管理テーブル651を参照し、要求された仮想ボリューム1を構成する物理デバイス(以下「PDEV」とも称する)を管理する接続アダプタ番号610(該当物理デバイス(ここではハードディスク)が繋がるプロトコル変換部10の番号)を決定する(750)。
次に、マイクロプロセッサ101は、自身の転送制御部105から、決定したプロトコル変換部10の転送制御部105に、要求データを読み出してキャッシュ制御部21に転送する(ステージング)ことを指示する制御情報を送る(751)。該当プロトコル変換部10のマイクロプロセッサ102は、自身の転送制御部105からその制御情報を受け取り、初期化時/変更時にシステム管理部60より配信された自身に関係のある物理デバイス管理テーブル651のコピーを参照し、データを読み出す物理デバイス(PDEV:ハードディスク)を決定する。そして決定したハードディスクからデータを読み出す(752)。読み出したデータは、自身の転送制御部105から要求を出したキャッシュ制御部21の転送制御部105に相互結合網31を介して転送する(753)。要求を出したキャッシュ制御部21のマイクロプロセッサ101は、自身の転送制御部105が要求データを受信すると、そのデータをキャッシュメモリ部111に書き込み、制御メモリ部112に格納しているキャッシュメモリのディレクトリを更新する(754)。以降、該データの読み出しは、キャッシュヒット時の動作フロー(755以降)と同様である。
以上のようにして、サーバ3からのリード要求に対し、ハードディスクからデータを読み出して、サーバ3へ送信する。
図21は、サーバ3からストレージシステム1にデータを書き込む場合の一例を示すフローチャートである。
まず、サーバ3は、ストレージシステム1に対してデータの書き込みコマンドを発行する。
プロトコル変換部10内の外部IF100がデータの書き込みコマンドを受信すると、コマンド待ち状態(761)にあったマイクロプロセッサ102は、外部IF100からコマンドを読み出し(762)、コマンド解析(763)を行う。マイクロプロセッサ102は、コマンド解析の結果、サーバ3が要求するデータを記録する論理ユニット(LU)を割り出す。マイクロプロセッサ102は、システム初期化/変更時にシステム管理部60より配信された、自プロトコル変換部10に関係する論理ユニット割当て管理テーブル654を参照し、要求されたデータが記録されたLUを構成する仮想ボリュームを管理するキャッシュ制御部21を決定する(764)。
なお、前述のように仮想ボリュームを管理するキャッシュ制御部21を二重化しておくと、ストレージシステム1の信頼性を向上させることができる。すなわち、仮想ボリュームごとにそのボリュームを管理するマスタのキャッシュ制御部21とバックアップ用のキャッシュ制御部(以下「BCA」とも称する)21を決めておき、その両方にデータを書き込んでおく。そうすることにより、マスタのキャッシュ制御部21に障害が起こった場合、バックアップのキャッシュ制御部21で動作を継続することが可能となる。この場合、前記764の処理では、論理ユニット割当て管理テーブル654にはバックアップ用の管理キャッシュ制御部21も記されており、その番号も割り出す。以降、バックアップ用の管理キャッシュ制御部21が定められている場合についての説明をする。
マイクロプロセッサ102は、自身の転送制御部105から、決定したキャッシュ制御部21とバックアップ用のキャッシュ制御部21との転送制御部105に相互結合網31を介してデータのライト要求を発行する(765)。ライト要求を受け取ったキャッシュ制御部21とバックアップ用のキャッシュ制御部21内のマイクロプロセッサ101は、制御メモリ部112にアクセスして、論理ユニット管理テーブル653、仮想ボリューム管理テーブル652、及び、物理デバイス管理テーブル651を参照し、仮想ボリューム1番号631及び仮想ボリューム1内アドレス641を割り出す(766)。次に、マイクロプロセッサ101は制御メモリ部112へアクセスして、仮想ボリューム1番号631と仮想ボリューム1内アドレス641から自キャッシュメモリ部111内にライト要求されたデータがある(キャッシュヒット)又はない(キャッシュミス)の判定を行う(767)。
自キャッシュメモリ部111内に要求データがあった場合(キャッシュヒット)、マイクロプロセッサ101は、転送制御部105を通じて、要求を出したプロトコル変換部10にライト準備の完了(以下「ライト準備完」とも称する)を通知する(770)。
自キャッシュメモリ部111内に要求データがない場合(キャッシュミス)、マイクロプロセッサ101は、キャッシュメモリ部111に要求データを格納する領域を確保し(769)、その後ライト準備完を通知する(770)。
プロトコル変換部10のマイクロプロセッサ102は、ライト準備完の通知を受け、外部IF100を通じてサーバ3にライト準備完を通知する。その後、プロトコル変換部10は、ライト準備完の通知を受けたサーバ3から送られてきたデータを、外部IF100より受信する(772)。マイクロプロセッサ102は、そのデータを該当するキャッシュ制御部21とそのバックアップ用のキャッシュ制御部21の転送制御部105に送信するように、自身の転送制御部105に指示する(773)。データを受け取ったキャッシュ制御部21及びバックアップ用のキャッシュ制御部21のマイクロプロセッサ101は、そのデータを自身のキャッシュメモリ部111に書き込み、制御メモリ部112内のキャッシュメモリのディレクトリを更新する(774)。キャッシュメモリ部111へのライトが終了すると、キャッシュ制御部21とバックアップ用のキャッシュ制御部21のマイクロプロセッサ101は、ライト完了通知を、要求を出したプロトコル変換部10へ転送制御部105を通じて送信する(775)。ライト完了通知を受け取ったプロトコル変換部10のマイクロプロセッサ101は、外部IF100を通じ、サーバ3にライト完了通知を送信する。キャッシュメモリ部111に書き込まれたデータは、マスタのキャッシュ制御部21のマイクロプロセッサ101が、キャッシュメモリ部111の空き容量等を判断して、サーバ3からのライト要求とは非同期に、該当データを記録するボリュームを含むハードディスクに、そのハードディスクが繋がるプロトコル変換部10を介して書き込む(776)。
以上のようにして、サーバ3からのライト要求に対し、ハードディスクにライト動作を行う。
図22に、第1の実施例のストレージシステム1を筐体に実装する場合の構成の一例を示す。
PA10、CA21、MA60、及びスイッチ部51/52は、パッケージ上に実装し、それぞれPAブレード802、CAパッケージ801、MAブレード804、SWブレード803として、制御ユニットシャーシ821に搭載する。制御ユニットシャーシ821の背面にはバックプレーン(図示していない)があり、各パッケージ、ブレードはコネクタを介してバックプレーンに接続される。バックプレーン上には配線が施されており、それにより、図2に示す接続構成のように、各パッケージ、ブレード間が接続される。
なお、キャッシュ制御部21は、プロトコル変換部10やシステム管理部に比べ、搭載するプロセッサ数やメモリ容量が大きくなるため、CAパッケージ801は他のブレードに比べ面積を約2倍にしている。また、これらパッケージ、ブレードは汎用/専用のブレードサーバを流用し、その上で専用のソフトウェアを実行するものとしてもよい。
制御ユニットシャーシ821の上には、ハードディスクを実装したハードディスクユニット811を搭載するディスクユニットシャーシ822が4つ設けられる。制御ユニットシャーシ821の下方には、ストレージシステム1全体に電力を供給する電源ユニットを収めた電源ユニットシャーシ823を設ける。
これらディスクユニットシャーシ822、制御ユニットシャーシ821、電源ユニットシャーシ823を、19インチラック(図示していない)の中に収める。
なお、ストレージシステム1はハードディスク群を有さないハードウェア構成もありうる。この場合、ストレージシステム1とは別の場所に存在するハードディスク群とストレージシステム1とがPA10を介して接続されることになる。
以上のように構成された本発明の第1の実施例では、ストレージシステムでは、制御クラスタごとに独立してキャッシュメモリの制御を行うため、キャッシュメモリ部及び制御メモリ部へのアクセス負荷が減少する。また、キャッシュメモリの制御及びサーバとハードディスク間のデータ転送をキャッシュ制御部にあるマイクロプロセッサでまとめて行うため、図36に示す従来技術で必要であったプロセッサ間の通信処理が減少する。これによって、ストレージシステム1全体の性能を向上することが可能となる。
また、制御クラスタごとに独立してキャッシュメモリの制御を行うため、1つの制御クラスタごとにストレージシステムとして動作させることが可能となる。したがって、制御クラスタごとにシステムのコストを最適化することができ、小規模構成のシステムを低価格で提供すること、またシステム規模に見合った価格のシステムを提供することが可能となる。
これにより、小規模〜大規模な構成までシステム規模に見合った価格/性能のストレージシステムを提供することが可能となる。
次に、本発明の第2の実施例について説明する。
図23は、本発明の第2の実施例の構成を示すブロック図である。
ストレージシステム1は、サーバ3が繋がるプロトコル変換部10とキャッシュ制御部21とを接続する相互結合網31、ハードディスク群2が繋がるプロトコル変換部10とキャッシュ制御部21とを接続する相互結合網35が物理的に独立している点を除いて、第1の実施例の図2に示す構成と同様である。
この相互結合網31と相互結合網35は物理的に独立しており、2つの相互結合網の間は直接接続されていない。
図24は、この相互結合網31及び相互結合網35を、それぞれスイッチ部51、スイッチ部52によって構成した場合の一例を示している。スイッチ部52は、図3において前述したスイッチ部51と比較して、パスIFの総数を4つとした構成となる。
このように、第2の実施例では、独立した相互結合網を2つ用意することでコストが高くなる可能性があるが、第1の実施例の構成のように、サーバ3が繋がるプロトコル変換部10とキャッシュ制御部21との間のデータ転送、ハードディスク群2が繋がるプロトコル変換部10とキャッシュ制御部21との間のデータ転送が干渉することがなくなる。また、それぞれのデータ転送に要求される性能に適合する相互結合網を構成することが可能となる。そのため、ストレージシステム1の性能の向上が図れる。
第2の実施例の構成においても、問題なく実施例1と同様の効果が得られ、小規模〜大規模な構成までシステム規模に見合った価格/性能のストレージシステムを提供することが可能となる。
また図25に示すように、キャッシュ制御部21とプロトコル変換部10とを1つの制御部としてディスク制御部25にまとめ、1つの基板に実装してもよい。
図26は、第2の実施例のディスク制御部25の具体的な一例を示すブロック図である。
ディスク制御部25は、少なくとも、4つのマイクロプロセッサ101、プロトコル変換部10若しくはシステム管理部60との間のデータ/制御情報の転送を制御する転送制御部105、ハードディスク群2との4つのIF(外部IF)100、サーバ3若しくはハードディスク群2との間でやり取りするデータを一時格納するキャッシュメモリ部111、及び、データ転送、キャッシュメモリ部111の管理並びにハードディスク群2の管理に関する制御情報を格納する制御メモリ部112を有する。
なお、このディスク制御部25は、ハードディスク群2だけでなく、サーバ3やストレージシステム4等の他のノードと接続するように構成してもよい。この場合、他のノードとのプロトコル変換を行うための外部IF100を備え、チャネル制御部25として機能する。
キャッシュメモリ部111及び制御メモリ部112は、いずれもメモリモジュール122及びメモリモジュール122へのアクセスを制御するメモリコントローラ121から構成される。なお、キャッシュメモリ部111及び制御メモリ部112を、同一のメモリコントローラ121及びメモリモジュール122で構成し、1つのメモリ空間上の異なる領域にキャッシュメモリ領域と制御メモリ領域を割り当ててもよい。また、マイクロプロセッサは主記憶として自身に接続されたメモリ(図示していない)を有する。また、4つのマイクロプロセッサがキャッシュメモリ部111及び制御メモリ部を自身の主記憶として共有するSMP構成であっても問題ない。
マイクロプロセッサ101、キャッシュメモリ部111、制御メモリ部112、外部IF100、及び転送制御部105は、スイッチ109を介して接続される。マイクロプロセッサ101は、制御メモリ部内に格納した制御情報により、キャッシュメモリへのデータのリード/ライト、キャッシュメモリのディレクトリ管理、プロトコル変換部10及びハードディスク群2との間のデータ転送、システム管理部60との間のシステム管理情報のやり取り、を制御する。また、ハードディスク群2に書き込むデータの冗長化処理、いわゆるRAID処理も実行する。
なお、マイクロプロセッサ101、キャッシュメモリ部111、制御メモリ部112、外部IF100、及び転送制御部105の間の接続構成は一実施例に過ぎず、構成を限定するものではない。マイクロプロセッサ101がキャッシュメモリ部111、制御メモリ部112、外部IF100、及び転送制御部105を制御可能である構成であればよい。
また、図25に示すように、制御クラスタ構成をとる2つのディスク制御部25間を繋ぐ接続パスでデータ及び制御情報の通信を行うため、スイッチ109には2つの内部IF126を接続する。2つのディスク制御部25の内部IF126間を接続パスで繋ぐことにより、接続パスを通してデータ及び制御情報の通信を行う。例えば、この接続パスを介して、2つのディスク制御部25のキャッシュメモリ部111又は制御メモリ部112に格納される情報の2重化を行うことにより、制御クラスタ72を構成する2つのディスク制御部25の一方に障害が発生した場合、もう一方でストレージシステムの稼動を続けることが可能となるため、ストレージシステムの信頼性が向上する。
このように、本発明の第2の実施例では、キャッシュ制御部21とプロトコル変換部10とを1つの制御部としてディスク制御部25にまとめ、1つの基板に実装する。こうすることにより、スイッチ部52を介してキャッシュ制御部21とプロトコル変換部10が通信をする必要が無くなり、データ転送性能が向上する。また、制御クラスタ72を構成する部品点数が削減されるため、ストレージシステムのコスト削減が可能になる。
次に、本発明の第3の実施例につい説明する
図27は、本発明の第3の実施例を示すブロック図である。
ストレージシステム1は、相互結合網31が相互結合網41と相互結合網42とに分割され、相互結合網42にシステム管理部60が接続されている点を除いて、第1の実施例の図1に示す構成と同様である。
相互結合網41はデータ転送専用の相互結合網で、相互結合網42は制御情報の転送専用の相互結合網である。したがって、ストレージシステム1の管理を行うシステム管理部60は相互結合網42に接続される。
このようにすることで、本発明の第3の実施例では、データ転送と制御情報の転送が互いに干渉することがなくなる。また、それぞれの転送に要求される性能に適合する相互結合網を構成することが可能となるため、ストレージシステム1の性能の向上が図れる。
なお、第3の実施例の構成は、前述した第1の実施例の図8、第2の実施例の図23の構成に適用しても、本発明を実施するうえで問題ない。
本実施例の構成においても、問題なく第1の実施例と同様の効果が得られ、小規模〜大規模な構成までシステム規模に見合った価格/性能のストレージシステムを提供することが可能となる。
次に、第4の実施例について説明する。
本発明の第1の実施例では、図1及び図8に示す構成のストレージシステム1において、制御クラスタ70、71内でキャッシュメモリ部111の管理を閉じさせるシステムについて述べた。すなわち、ある制御クラスタ70、71内のキャッシュ制御部21内のマイクロプロセッサ101は、自制御クラスタ70、71内のキャッシュメモリ部111、制御メモリ部112のみを管理し、他制御クラスタ70、71内のキャッシュメモリ部111、制御メモリ部112は管理しない。
第4の実施例では、図1及び図8に示す複数の制御クラスタ70、71内に物理的に分割されたキャッシュメモリ部111及び制御メモリ部112を、それぞれストレージシステム1全体で1つのメモリアドレス空間として制御することにより、ストレージシステム1全体のマイクロプロセッサ101、102で複数のキャッシュメモリ部及び制御メモリ部112をそれぞれ論理的に共有する制御方法について述べる。
ここで、ストレージシステム1全体のマイクロプロセッサ101、102で複数のキャッシュメモリ部111及び制御メモリ部112をそれぞれ論理的に共有する。これは、物理的に複数のメモリ部にシステム内で一意に決まるグローバルなアドレスを割り当て、そのグローバルなアドレスマップを各プロセッサが持つ。このことにより、全てのマイクロプロセッサ101、102が、どのキャッシュメモリ部111又は制御メモリ部112内に格納されたデータまたは制御情報にもアクセス可能であることを意味する。
ストレージシステム全体の管理構成は図11に示す構成と同様である。システム管理部60のメモリ内にユーザに提供するLUとそのLUを構成する仮想ボリュームを管理するキャッシュ制御部21の対応関係を示す論理ユニット割り当てテーブル654を格納している。
第1の実施例では、論理ユニット管理テーブル654は、各々のプロトコル変換部10に関係する部分のコピーを、該当するプロトコル変換部10へ転送し、各プロトコル変換部10はそれをマイクロプロセッサ102に繋がるメモリに格納したが、第4の実施例では、コピーの配信を行わない。これに伴い、図18に示すシステム初期化時の動作フローにおいて、ステップ709の処理で、プロトコル変換部10への論理ユニット管理テーブル654のコピーの配信処理がなくなる。
ここで本実施例においてサーバ3からストレージシステム1に記録されたデータを読み出す場合の一例を述べる。
まずサーバ3は、ストレージシステム1に対してデータの読出しコマンドを発行する。ここで、コマンド解析の処理までは図20の説明で述べた第1の実施例と同様である。その後の要求先CAの決定処理(744)の方法が異なる。すなわち、マイクロプロセッサ102は、システム管理部60にアクセスし、自プロトコル変換部10に関係する論理ユニット割当て管理テーブル654を参照し、要求されたデータが記録されたLUを構成する仮想ボリュームを管理するキャッシュ制御部21を決定する(744)。その後の処理(745〜757)は、図20の説明で述べた第1の実施例と同様である。
次に、サーバ3からストレージシステム1にデータを書き込む場合の一例を述べる。 まず、サーバ3は、ストレージシステム1に対してデータの書き込みコマンドを発行する。 ここで、コマンド解析の処理までは図21の説明で述べた第1の実施例の方法と同様である。その後の要求先CAの決定処理(764)の方法が異なる。すなわち、マイクロプロセッサ102はシステム管理部60にアクセスし、自プロトコル変換部10に関係する論理ユニット割当て管理テーブル654を参照し、要求されたデータが記録されたLUを構成する仮想ボリュームを管理するキャッシュ制御部21を割り出す(764)。その後の処理(765〜776)は、図21の説明で述べた第1の実施例の方法と同様である。
このように、データの読み出し時または書き込み時に、毎回システム管理部60にアクセスし、読み出しまたは書き込みの対象となるLUを構成する仮想ボリュームを管理するキャッシュ制御部21を割り出すとした。しかし、ストレージシステム全体の論理ユニット割り当てテーブル654を全てのキャッシュ制御部21の制御メモリ部112に格納しても本発明を実施するうえで問題ない。その場合、図20、図21に示す要求先CAの決定処理(744、764)の方法が異なる。
すなわち、システム初期化時に管理端末からの設定により、各プロトコル変換部10がデータのリード/ライト要求を送るキャッシュ制御部21を予め定めておく。その際、キャッシュ制御部21に割り当てられるプロトコル変換部10の数は、各キャッシュ制御部21でなるべく等しくなるように設定する。こうすることにより、各キャッシュ制御部21へのアクセス負荷を均等にすることができる。要求先CAの決定処理(744、764)では、マイクロプロセッサ102は予め定められたキャッシュ制御部21にアクセスし、自プロトコル変換部10に関係する論理ユニット割当て管理テーブル654を参照し、要求されたデータが記録されたLUを構成する仮想ボリュームを管理するキャッシュ制御部21を割り出す。その他の手順は、図20及び図21で説明した手順と同様である。
また、図20及び図21の処理において、コマンド受信(742、762)後、そのコマンドをキャッシュ制御部21のマイクロプロセッサ101に転送し、コマンド解析(743、763)をマイクロプロセッサ101で行うようにしても本発明を実施するうえで問題ない。この場合、要求先CA決定処理(744,764)では、マイクロプロセッサ101が制御メモリ部112内に格納された論理ユニット割当て管理テーブル654を参照し、要求されたデータが記録されたLUを構成する仮想ボリュームを管理するキャッシュ制御部21を決定する。該当するキャッシュ制御部21がコマンドを受けたマイクロプロセッサ101が属するキャッシュ制御部21でない場合は、マイクロプロセッサ101は該当キャッシュ制御部21内のキャッシュメモリ部111及び制御メモリ部112にアクセスして、745または765以降の処理を行う。
または、コマンドを該当キャッシュ制御部21内のマイクロプロセッサ101に転送して、該当キャッシュ制御部21内のマイクロプロセッサ101とキャッシュメモリ部111及び制御メモリ部112により、745または765以降の処理を行う。
このように、本発明の第4の実施例では、プロトコル変換部10にマイクロプロセッサ102を搭載する必要がなくなる。
また、第4の実施例の制御方法は、実施例1の図2、図9、実施例2の図24、図25、実施例3の図27の構成に適用しても、本発明を実施するうえで問題ない。
このように、第4の実施例の構成においても、問題なく第1の実施例1と同様の効果が得られ、小規模〜大規模な構成までシステム規模に見合った価格/性能のストレージシステムを提供することが可能となる。
次に、本発明の第5の実施例について説明する。
図28及び図29は、本発明の第5の実施例のストレージシステムを示すブロック図である。
図28及び図29に示すストレージシステム1は、システム管理部60が無いことを除いて、第1の実施例の図1及び図2に示す構成と同様である。
第5の実施例においては、第4の実施例と同様に、複数の制御クラスタ70内に物理的に分割されたキャッシュメモリ部111及び制御メモリ部112が、それぞれストレージシステム全体で1つのメモリアドレス空間として制御される。これによって、ストレージシステム1全体のマイクロプロセッサ101、102で、複数のキャッシュメモリ部111、及び制御メモリ部112をそれぞれ論理的に共有する。
一方、第1の実施例において、システム管理部60内で作成され、そのメモリ内に格納されていた物理デバイス管理テーブル651、仮想ボリューム管理テーブル652、論理ユニット管理テーブル653、及び、論理ユニット割当管理テーブル654は、ローカルエリアネットワーク(LAN)等の専用ネットワーク、又は相互結合網31により各プロセッサに接続される管理端末で作成し、各プロトコル変換部10、キャッシュ制御部21に関係する部分のコピーを、それぞれ該当するプロトコル変換部10、キャッシュ制御部21内のメモリに格納する。
このようにして各管理テーブルを各メモリに格納した場合、データの読み出し及び書き込みの手順は図20、図21に示す手順と同様になる。
また、システム全体の論理ユニット管理テーブル654を全てのキャッシュ制御部21の制御メモリ部112に格納しても良い。その場合、図20、図21に示す要求先CAの決定処理(744、764)の方法が異なる。すなわち、システム初期化時に管理端末からの設定により、各プロトコル変換部10がデータのリード/ライト要求を送るキャッシュ制御部21を予め定めておく。その際、キャッシュ制御部21に割り当てられるプロトコル変換部10の数は、各キャッシュ制御部21でなるべく等しくなるように設定する。
こうすることにより、各キャッシュ制御部21へのアクセス負荷を均等にすることができる。要求先CAの決定処理(744、764)では、マイクロプロセッサ102は予め定められたキャッシュ制御部21にアクセスし、自プロトコル変換部10に関係する論理ユニット割当て管理テーブル654を参照し、要求されたデータが記録されたLUを構成する仮想ボリュームを管理するキャッシュ制御部21を割り出す。その他の手順は、図20、図21で説明した手順と同様である。
また、図20、図21の処理において、コマンド受信(742、762)後、そのコマンドをキャッシュ制御部21のマイクロプロセッサ101に転送し、コマンド解析(743、763)をマイクロプロセッサ101で行っても良い。この場合、要求先CA決定処理(744,746)では、マイクロプロセッサ101が制御メモリ部112内に格納された論理ユニット割当て管理テーブル654を参照し、要求されたデータが記録されたLUを構成する仮想ボリュームを管理するキャッシュ制御部21を割り出す。該当するキャッシュ制御部21がコマンドを受けたマイクロプロセッサ101が属するキャッシュ制御部21でない場合は、マイクロプロセッサ101は該当キャッシュ制御部21内のキャッシュメモリ部111、及び制御メモリ部112にアクセスして、745または765以降の処理を行う。
又は、コマンドを該当キャッシュ制御部21内のマイクロプロセッサ101に転送して、該当キャッシュ制御部21内のマイクロプロセッサ101とキャッシュメモリ部111及び制御メモリ部112により、745または765以降の処理を行う。
このように、本発明の第5の実施例では、プロトコル変換部10にマイクロプロセッサ102を搭載する必要がなくなる。本実施例の構成においても、問題なく実施例1と同様の効果が得られ、小規模〜大規模な構成までシステム規模に見合った価格/性能のストレージシステムを提供することが可能となる。
次に、本発明の第6の実施例のストレージシステムについて説明する。
図30は、第6の実施例のストレージシステムの構成を示すブロック図である。図30は、第1の実施例の図1に類似しているが、システム管理部60に代わってシステム管理情報記憶部160が備えられている点が異なる。なお、第1乃至第5の実施例と同一に機能する構成には同一の符号を付し、その説明を省略する。
第1の実施例において説明したように、システム管理部60は、ストレージシステム1の構成に関する情報等を管理している。本実施例では、システム管理情報記憶部160は、ストレージシステム1の構成に関する管理情報を記憶する。そして、その管理情報に基づくストレージシステム1の管理は、いずれかのキャッシュ制御部21に備えられているマイクロプロセッサ101が担当する。
図31は、システム管理情報記憶部160の具体的な構成の一例を示すブロック図である。
システム管理情報記憶部160は、転送制御部105、メモリコントローラ121、及びメモリモジュール122等を有する。
前述した実施例においてシステム管理部60のマイクロプロセッサ101が行う処理は、いずれかの制御クラスタ70のキャッシュ制御部21に含まれるマイクロプロセッサ101において行わせるように設定する。ストレージシステムの管理情報は、システム管理情報記憶部160に記憶する。このシステムの管理を受け持つマイクロプロセッサ101は、当該マイクロプロセッサが備えられたキャッシュ制御部21に繋がる管理コンソールから予め決定しておく。
決定されたマイクロプロセッサ101の処理は、前述したシステム管理部60の処理と同様である。すなわち、システムの管理を受け持つマイクロプロセッサ101は、プロトコル変換部10及びキャッシュ制御部21から収集した管理情報、相互結合網31の管理情報、及び相互結合網31を介して接続された管理コンソールからユーザが設定した情報等によって、ストレージシステム1全体の管理情報をまとめ、その管理情報をシステム管理情報記憶部160のメモリモジュール122に格納し、その管理情報を使用してストレージシステム1を管理する。
例えば、図11に示すシステム管理構成では、決定されたシステム管理を受け持つマイクロプロセッサ101において、ストレージ管理部501、論理パス管理部502及びネットワーク管理部503が、ソフトウエアプログラムとして実行される。より具体的には、システムの管理を受け持つマイクロプロセッサ101によって、第1の実施例のシステム起動処理(図18)及びシステム終了処理(図19)等が実行される。
以上のように構成された第6の実施例のストレージシステムでは、ストレージシステム全体構成の管理を、いずれかの制御クラスタのキャッシュ制御部21に含まれるマイクロプロセッサ101が行う。また、システムの管理に必要な管理情報は、システム管理情報記憶部160に備えられているメモリに記憶する。このように構成することで、ストレージシステム1にマイクロプロセッサ101を有するシステム管理部60を設ける必要がなくなり、ストレージシステム全体としてコストを低減することができる。
また、第3の実施例(図27)のように、相互結合網を、データ転送専用の相互結合網41と、制御情報の転送専用の相互結合網42とに分けて構成してもよい。このように構成することで、データ転送と制御情報の転送が互いに干渉することがなくなる。また、それぞれの転送に要求される性能に適合する相互結合網を構成することが可能となるため、ストレージシステム1の性能の向上が図れる。
また、第5の実施例(図28、図29)のように、管理情報記憶部160を省略した構成とすることもできる。この場合、ストレージシステム1全体の管理を受け持つマイクロプロセッサ101で、複数のキャッシュメモリ部111、及び制御メモリ部112をそれぞれ論理的に共有して、マイクロプロセッサ101に管理テーブルを作成して管理する。このように構成することで、小規模〜大規模な構成までシステム規模に見合った価格/性能のストレージシステムを提供することが可能となる。
次に、第7の実施例のストレージシステムについて説明する。
図32は、第7の実施例のストレージシステムの構成を示すブロック図である。なお、第1乃至第6の実施例と同一に機能する構成には同一の符号を付し、その説明を省略する。
第7の実施例では、プロトコル変換部10にサーバ3が接続され、プロトコル変換部10は相互結合網31によって互いに接続されている。また、ハードディスク群2は、相互結合網37を介してディスク制御部25に接続されている。このようにすることで、サーバ3とプロトコル変換部10との間、ディスク制御部25とハードディスク群2との間はそれぞれ独立した経路によってデータが送受信される。よって、相互結合網の負荷を分散することができ、ボトルネックを解消することができる。
ディスク制御部25には、図26において前述したように、制御クラスタ構成をとる2つのディスク制御部25間を繋ぐ接続パスでデータ及び制御情報の通信を行うため、スイッチ109に2つの内部IF126が接続される。2つのディスク制御部25の内部IF126間を接続パスで繋ぐことにより、接続パスを通してデータ及び制御情報の通信を行う。例えば、この接続パスを介して、2つのディスク制御部25のキャッシュメモリ部111又は制御メモリ部112に格納される情報の2重化を行うことによって、制御クラスタ72を構成する2つのディスク制御部25の一方に障害が発生した場合、他方のディスク制御部25でストレージシステムの稼動を続けることが可能となるため、ストレージシステムの信頼性が向上する。
以上のように構成された第7の実施例のストレージシステムでは、制御クラスタ72とプロトコル変換部10との間、及び制御クラスタ72とハードディスク群2との間を独立した2つの相互結合網によって接続する。独立した相互結合網を設けることでコストが高くなる可能性があるが、第1の実施例のように、サーバ3が繋がるプロトコル変換部10とディスク制御部25との間のデータ転送、及びハードディスク群2とディスク制御部25との間のデータ転送が干渉することがなくなる。また、それぞれのデータ転送に要求される性能に適合する相互結合網を構成することが可能となるため、ストレージシステム1の性能の向上が図れる。さらに、ディスク制御部25とハードディスク群2との接続パスを自由に設定することができるので、ハードディスク群2の構成をフレキシブルに変更することが可能となる。
また、前述した第6の実施例のように、システム管理部60に代わって図32に示すシステム管理情報記憶部160を設けて、いずれかのディスク制御部25に備えられているマイクロプロセッサ101によってシステムを管理するように構成してもよい。このように構成することで、ストレージシステム1にマイクロプロセッサ101を有するシステム管理部60を設ける必要がなくなり、ストレージシステム全体としてのコストを低減することができる。
また、第3の実施例(図27)のように、相互結合網31の各々を、データ転送専用の相互結合網41と、制御情報の転送専用の相互結合網42とに分けて構成してもよい。
次に、第8の実施例のストレージシステムについて説明する。
図33は、本発明の第8の実施例のストレージシステムの構成を示すブロック図である。なお、第1乃至第7の実施例と同一に機能する構成には同一の符号を付し、その説明を省略する。
第8の実施例では、チャネル制御部25にはサーバ3が直接接続されている。このチャネル制御部25は、相互結合網31を介してプロトコル変換部10に接続される。また、プロトコル変換部10はハードディスク群2に接続される。
なお、チャネル制御部25は、前述したディスク制御部25と同じ構成を有し、キャッシュ制御部21及びプロトコル変換部10を1つの制御部としてまとめたものである。よって、ハードディスク群2を接続するディスク制御部25は、サーバ3等のクライアントを接続するチャネル制御部25と同等の構成である。
チャネル制御部25のキャッシュメモリ部111には、接続されているサーバ3がストレージシステム1に入出力するデータが格納される。このチャネル制御部25は、2つのチャネル制御部25が1つの制御クラスタ73としてまとめられ、制御クラスタ73内でキャッシュメモリ部111及び制御メモリ部112の管理を閉じる。
なお、図33では、制御クラスタ73を構成するチャネル制御部25は、それぞれ独立しているが、図25及び図26に示すように、制御クラスタ構成をとる2つのチャネル制御部25間を繋ぐ接続パスでデータ及び制御情報の通信を行うため、スイッチ109に2つの内部IF126を接続してもよい。2つのチャネル制御部25の内部IF126間を接続パスで繋ぐことにより、接続パスを通してデータ及び制御情報の通信を行う。例えば、この接続パスを介して、2つのチャネル制御部25のキャッシュメモリ部111又は制御メモリ部112に格納される情報を転送して、情報の2重化を行うことにより、制御クラスタ73を構成する2つのチャネル制御部25の一方に障害が発生した場合、他方のチャネル制御部25でストレージシステムの稼動を続けることが可能となるため、ストレージシステムの信頼性が向上する。
また、各サーバ3に接続されるチャネル制御部25は、制御クラスタ73毎にキャッシュ及び制御情報を閉じた管理とする。このように構成することで、キャッシュのヒット率が向上し、システム全体としてのスループットが向上する。
また、前述した第6の実施例のように、システム管理部60に代わって図32に示すシステム管理情報記憶部160を用いて、いずれかのディスク制御部25に備えられているマイクロプロセッサ101によってシステムの管理を行うよう構成してもよい。
また、第3の実施例(図27)のように、相互結合網31を、データ転送専用の相互結合網41と、制御情報の転送専用の相互結合網42とに分けて構成してもよい。
また、第5の実施例(図28、図29)のように、システム管理部60を省略した構成とすることもできる。この場合、ストレージシステム1全体のマイクロプロセッサ101、102で、複数のキャッシュメモリ部111、及び制御メモリ部112をそれぞれ論理的に共有して、マイクロプロセッサ101、102毎に管理テーブルを作成して管理する。
次に、第9の実施例のストレージシステムについて説明する。
図34は、本発明の第9の実施例のストレージシステムの構成を示すブロック図である。なお、第1乃至第8の実施例と同一に機能する構成には同一の符号を付し、その説明を省略する。
第9の実施例では、サーバ3に繋がるチャネル制御部25と、ハードディスク群に繋がるディスク制御部25と、がそれぞれ相互結合網31に接続されている。そして、2つのチャネル制御部25又は2つのディスク制御部25が制御クラスタ構成をとる。
なお、図34では、制御クラスタ73を構成するチャネル制御部25は、それぞれ独立しているが、図25及び図26に示すように、制御クラスタ構成をとる2つのチャネル制御部25間を繋ぐ接続パスでデータ及び制御情報の通信を行うために、スイッチ109に2つの内部IF126を接続してもよい。2つのチャネル制御部25の内部IF126間を接続パスで繋ぐことにより、接続パスを通してデータ及び制御情報の通信を行う。よって、制御クラスタ73を構成する2つのチャネル制御部25の一方に障害が発生した場合、他方のチャネル制御部25でストレージシステムの稼動を続けることが可能となるため、ストレージシステムの信頼性が向上する。
また、各サーバ3又はハードディスク群2毎にチャネル制御部25又はディスク制御部25を含む制御クラスタ73を持ち、制御クラスタ73毎にキャッシュ及び制御情報を閉じた管理とする。このように構成することで、システム構成を最小限に押さえ低コスト化を実現しつつ、キャッシュのヒット率が向上し、システム全体としてのスループットが向上する。
なお、前述した第6の実施例のように、システム管理部60に代わって図32に示すシステム管理情報記憶部160を用いて、いずれかのディスク制御部25に備えられているマイクロプロセッサ101によってシステムの管理を行うよう構成してもよい。
また、第3の実施例(図27)のように、相互結合網を、データ転送専用の相互結合網41と、制御情報の転送専用の相互結合網42とに分けて構成してもよい。
また、第5の実施例(図28、図29)のように、システム管理部60を省略した構成とすることもできる。この場合、ストレージシステム1全体のマイクロプロセッサ101、102で、複数のキャッシュメモリ部111、及び制御メモリ部112をそれぞれ論理的に共有して、マイクロプロセッサ101、102毎に管理テーブルを作成して管理する。
次に、第10の実施例のストレージシステムについて説明する。
図35は、本発明の第10のストレージシステムの構成を示すブロック図である。図35は、図1に示す第1の実施例に類似しているが、キャッシュ制御部21に相互結合網31とは別の相互結合網38が接続されている点が異なる。なお、第1乃至第9の実施例と同一の作用を行う構成には同一の符号を付し、その説明を省略する。
キャッシュ制御部21に接続された相互結合網38は、キャッシュ制御部21のキャッシュメモリ部111又は制御メモリ部112の記憶内容を、互いに転送することができるように構成されている。また、クラスタ構成を取るキャッシュ制御部21は、前述した図10のように、互いにパスによって接続されている。
キャッシュ制御部21間を接続する相互結合網を別に設けることで、相互結合網31で行われるサーバ3が繋がるプロトコル変換部10同士のデータ転送と、相互結合網38で行われるキャッシュ制御部21同士のデータ転送とが干渉することがなくなる。また、相互結合網31及び相互結合網38のそれぞれについて、データ転送に要求される性能に適合する相互結合網を別々に構成することが可能となる。
以上のように構成された第10の実施例では、キャッシュ制御部21が相互結合網38を介して接続されているので、互いの制御情報やキャッシュデータ等の送信が容易となる。特に、システムの変更等によって新たにキャッシュ制御部21を追加した場合は、当該追加したキャッシュ制御部21にはキャッシュ及び制御情報はまだ記憶されていない。このとき相互結合網38を介して、他のキャッシュ制御部21に記憶されているキャッシュ及び制御情報を送信によって、キャッシュ制御部21同士でデータの交換を行っても、サーバ3とハードディスク群2との間のデータ転送に影響を与えることないので、システム全体のスループットが向上する。
なお、システム管理部60に代わって図32に示すシステム管理情報記憶部160を用いて、いずれかのディスク制御部25に備えられているマイクロプロセッサ101によってシステムの管理を行うよう構成してもよい。
また、第3の実施例(図27)のように、相互結合網31、38を、データ転送専用の相互結合網41と、制御情報の転送専用の相互結合網42とに分けて構成してもよい。
また、第5の実施例(図28、図29)のように、ストレージシステム1を、システム管理部60を省略した構成とすることもできる。この場合、ストレージシステム1全体のマイクロプロセッサ101、102で、複数のキャッシュメモリ部111、及び制御メモリ部112をそれぞれ論理的に共有して、マイクロプロセッサ101、102毎に管理テーブルを作成して管理する。
本発明の第1の実施例のストレージシステムの構成を示すブロック図である。 本発明の第1の実施例の相互結合網31の具体的な構成の一例を示すブロック図である。 本発明の第1の実施例のスイッチ部51の具体的な構成の一例を示すブロック図である。 本発明の第1の実施例のパケットのフォーマットの一例を示す説明図である。 本発明の第1の実施例のプロトコル変換部10の構成の一例を示すブロック図である。 本発明の第1の実施例のキャッシュ制御部21の具体的な構成の一例を示すブロック図である。 本発明の第1の実施例のシステム管理部60の具体的な構成の一例を示すブロック図である。 本発明の第1の実施例の変形例のストレージシステムの構成を示すブロック図である。 本発明の第1の実施例の別の変形例のストレージシステムの構成を示すブロック図である。 本発明の第1の実施例の他の変形例のキャッシュ制御部21の詳細な構成の一例を示す。 本発明の第1の実施例のストレージシステム1全体の管理構成の一例を示すブロック図である。 本発明の第1の実施例の変形例のストレージシステム1の構成の一例を示すブロック図である。 本発明の第1の実施例の別の変形例のストレージシステム1の構成の一例を示すブロック図である。 本発明の第1の実施例の物理デバイス管理テーブル651を示す説明図である。 本発明の第1の実施例の仮想ボリューム管理テーブル652を示す説明図である。 本発明の第1の実施例の論理ユニット管理テーブル653を示す説明図である。 本発明の第1の実施例の論理ユニット割当て管理テーブル654を示す説明図である。 本発明の第1の実施例のストレージシステム1のシステム初期化時の動作の一例を示すフローチャートである。 本発明の第1の実施例のストレージシステム1のシステム終了時の動作の一例を示すフローチャートである。 本発明の第1の実施例のデータを読み出す場合の一例を示すフローチャートである。 本発明の第1の実施例のデータを書き込む場合の一例を示すフローチャートである。 本発明の第1の実施例のストレージシステム1を筐体に実装する場合の構成の一例を示す説明図である。 本発明の第2の実施例のストレージシステムの構成を示すブロック図である。 本発明の第2の実施例の相互結合網31の具体的な構成の一例を示すブロック図である。 本発明の第2の実施例の別の変形例のストレージシステムの構成を示すブロック図である。 本発明の第2の実施例のディスク制御部25の具体的な一例を示すブロック図である。 本発明の第3の実施例のストレージシステムを示すブロック図である。 本発明の第5の実施例のストレージシステムを示すブロック図である。 本発明の第5の実施例の相互結合網31の具体的な構成の一例を示すブロック図である。 本発明の第6の実施例のストレージシステムの構成を示すブロック図である。 本発明の第6の実施例のシステム管理情報記憶部160の具体的な構成の一例を示すブロック図である。 本発明の第7の実施例のストレージシステムの構成を示すブロック図である。 本発明の第8の実施例のストレージシステムの構成を示すブロック図である。 本発明の第9の実施例のストレージシステムの構成を示すブロック図である。 本発明の第10の実施例のストレージシステムの構成を示すブロック図である。 従来技術のストレージシステムの構成を示すブロック図である。
符号の説明
1 ストレージシステム
2 ハードディスク群
3 サーバ
10 プロトコル変換部
21 キャッシュ制御部
31 相互結合網
60 システム管理部
70 制御クラスタ
100 外部IF
101、102 マイクロプロセッサ
105 転送制御部
111 キャッシュメモリ部
112 制御メモリ部

Claims (7)

  1. 外部装置との第1のインターフェースを有し、前記外部装置との間で取り交わされるデータのリード/ライトプロトコルをシステム内部のプロトコルに変換する第1のプロトコル変換部と、
    複数のディスク装置を備えるストレージ装置との第2のインターフェースを有し、前記複数のディスク装置との間で取り交わされるデータのリード/ライトプロトコルをシステム内部のプロトコルに変換する第2のプロトコル変換部と、
    各々、前記ストレージ装置が備える複数のディスク装置に含まれる第1のディスク装置を用いて生成される第1の論理ユニットに対しリード/ライトされるデータを格納する第1のキャッシュメモリ及び前記第1のキャッシュメモリを制御する第1のマイクロプロセッサを有し、前記第1の論理ユニットへのリード/ライトコマンドを処理する複数の第1のキャッシュ制御部から構成される第1の制御クラスタと、
    各々、前記ストレージ装置が備える複数のディスク装置に含まれる第2のディスク装置を用いて生成される第2の論理ユニットに対しリード/ライトされるデータを格納する第2のキャッシュメモリ及び前記第2のキャッシュメモリを制御する第2のマイクロプロセッサを有し、前記第2の論理ユニットへのリード/ライトコマンドを処理する複数の第2のキャッシュ制御部から構成される第2の制御クラスタと、
    ストレージシステムの管理情報を記憶する管理情報記憶部と、
    前記第1のプロトコル変換部と、前記第2のプロトコル変換部と、前記複数の第1のキャッシュ制御部と、前記複数の第2のキャッシュ制御部と、前記管理情報記憶部とを互いに接続する相互結合網と、
    を有し、
    前記第1の制御クラスタを構成する複数の第1のキャッシュ制御部は、
    前記第1のプロトコル変換部から前記第1の論理ユニットへの第1のリードコマンドを受信した場合に、前記第1のリードコマンドに対応する第1のデータが前記第1の制御クラスタを構成する複数の第1のキャッシュ制御部のうち、いずれかの前記第1のキャッシュ制御部の第1のキャッシュメモリに格納されているか否かを判定し、
    前記第1のデータが前記第1のキャッシュメモリのいずれにも格納されていないと判定された場合に、前記第2のプロトコル変換部に対して、前記第1の論理ユニットから前記第1のリードコマンドに対応する前記第1のデータを読み出すための、第1の読み出し要求を発行し、
    前記第1の読み出し要求に基づいて前記第2のプロトコル変換部が前記第1の論理ユニットから読み出した前記第1のデータを受信した場合に、前記第1のプロトコル変換部に前記第1のデータを送信し、
    前記第2の制御クラスタを構成する複数の第2のキャッシュ制御部は、
    前記第1のプロトコル変換部から前記第2の論理ユニットへの第2のリードコマンドを受信した場合に、前記第2のリードコマンドに対応する第2のデータが前記第2の制御クラスタを構成する複数の第2のキャッシュ制御部のうち、いずれかの前記第2のキャッシュ制御部の第2のキャッシュメモリに格納されているか否かを判定し、
    前記第2のデータが前記第2のキャッシュメモリのいずれにも格納されていないと判定された場合に、前記第2のプロトコル変換部に対して、前記第2の論理ユニットから前記第2のリードコマンドに対応する前記第2のデータを読み出すための、第2の読み出し要求を発行し、
    前記第2の読み出し要求に基づいて前記第2のプロトコル変換部が前記第2の論理ユニットから読み出した前記第2のデータを受信した場合に、前記第1のプロトコル変換部に前記第2のデータを送信し、
    前記第1の制御クラスタに含まれるいずれかの前記第1のキャッシュ制御部は、
    前記第1のディスク装置の構成が変更された場合、前記管理情報記憶部に記憶された前記管理情報を変更し、前記変更された管理情報を前記第1の制御クラスタに含まれる複数の第1のキャッシュ制御部に転送し、
    前記第2のディスク装置の構成が変更された場合、前記管理情報記憶部に記憶された前記管理情報を変更し、前記変更された管理情報を前記第2の制御クラスタに含まれる複数の第2のキャッシュ制御部に転送する、ことを特徴とするストレージシステム。
  2. 前記ストレージシステムは、さらに、管理コンソールを有し、
    前記第1の制御クラスタに含まれるいずれかの前記第1のキャッシュ制御部は、前記管理コンソールよりシステム終了通知を受信した場合、前記第1のプロトコル変換部と、前記第2のプロトコル変換部と、前記複数の第1のキャッシュ制御部と、前記複数の第2のキャッシュ制御部と、にリード/ライトコマンドの受付の中止を指示する制御情報を発行する、ことを特徴とする請求項1に記載のストレージシステム。
  3. 前記第1のプロトコル変換部、前記第2のプロトコル変換部、前記複数の第1のキャッシュ制御部、及び前記複数の第2のキャッシュ制御部は、前記制御情報を受信した場合に、それぞれ、前記制御情報の受信前に受信したリード/ライトコマンドを処理し、前記リード/ライトコマンドの受付を中止する、ことを特徴とする請求項2に記載のストレージシステム。
  4. 前記第1の制御クラスタに含まれるいずれかの前記第1のキャッシュ制御部は、
    前記複数の第1のキャッシュ制御部の第1の構成情報と、前記複数の第2のキャッシュ制御部の第2の構成情報とを収集し、
    収集された第1の制御情報及び第2の構成情報と、前記管理コンソールを介して受信した前記第1の論理ユニット及び前記第2の論理ユニットに関する設定情報とに基づいて前記管理情報を作成し、前記作成された管理情報を前記管理情報記憶部に格納することを特徴とする請求項2に記載のストレージシステム。
  5. 前記管理情報は、前記第1の論理ユニットと前記第1のディスク装置との関係及び前記第2の論理ユニットと前記第2のディスク装置との関係を示す第1の情報と、前記第1の論理ユニットと前記複数の第1のキャッシュ制御部との関係及び前記第2の論理ユニットと前記複数の第2のキャッシュ制御部との関係を示す第2の情報と、を含むことを特徴とする請求項3に記載のストレージシステム。
  6. 前記第1の制御クラスタに含まれる複数の第1の制御キャッシュ部、及び前記第2の制御クラスタに含まれる複数の第2の制御キャッシュ部のなかから、前記第1の制御クラスタ及び前記第2の制御クラスタの構成を管理するキャッシュ制御部を前記管理コンソールより予め決定する、ことを特徴とする請求項3に記載のストレージシステム。
  7. 前記相互結合網は、リード/ライトされるデータを転送する第1の相互結合網と、前記ストレージシステムを管理するための制御情報を転送する第2の相互結合網とを含むことを特徴とする請求項1に記載のストレージシステム。
JP2004118986A 2004-04-14 2004-04-14 ストレージシステム Expired - Fee Related JP4528551B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2004118986A JP4528551B2 (ja) 2004-04-14 2004-04-14 ストレージシステム
US10/879,230 US7120739B2 (en) 2004-04-14 2004-06-30 Storage system
EP04030004A EP1586986A3 (en) 2004-04-14 2004-12-17 Storage system
CNB2004101041170A CN1323346C (zh) 2004-04-14 2004-12-29 存储系统
CNB2007101077547A CN100562842C (zh) 2004-04-14 2004-12-29 存储系统
US11/509,773 US7249220B2 (en) 2004-04-14 2006-08-25 Storage system
US11/808,605 US7594074B2 (en) 2004-04-14 2007-06-12 Storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004118986A JP4528551B2 (ja) 2004-04-14 2004-04-14 ストレージシステム

Publications (2)

Publication Number Publication Date
JP2005301802A JP2005301802A (ja) 2005-10-27
JP4528551B2 true JP4528551B2 (ja) 2010-08-18

Family

ID=34927835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004118986A Expired - Fee Related JP4528551B2 (ja) 2004-04-14 2004-04-14 ストレージシステム

Country Status (4)

Country Link
US (3) US7120739B2 (ja)
EP (1) EP1586986A3 (ja)
JP (1) JP4528551B2 (ja)
CN (2) CN1323346C (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWM253155U (en) * 2004-02-17 2004-12-11 Fine Appliance Corp Integrated storage and network function interface card
JP4528551B2 (ja) * 2004-04-14 2010-08-18 株式会社日立製作所 ストレージシステム
JP4504762B2 (ja) * 2004-08-19 2010-07-14 株式会社日立製作所 ストレージネットワークの移行方法、管理装置、管理プログラムおよびストレージネットワークシステム
US8189599B2 (en) 2005-08-23 2012-05-29 Rpx Corporation Omni-protocol engine for reconfigurable bit-stream processing in high-speed networks
US8484213B2 (en) * 2005-08-31 2013-07-09 International Business Machines Corporation Heterogenous high availability cluster manager
JP2007102452A (ja) * 2005-10-04 2007-04-19 Fujitsu Ltd システム管理プログラムおよびシステム管理方法
US7827442B2 (en) * 2006-01-23 2010-11-02 Slt Logic Llc Shelf management controller with hardware/software implemented dual redundant configuration
JP5089896B2 (ja) * 2006-03-17 2012-12-05 株式会社日立製作所 マイクロプロセッサの負荷分散機能を備えたストレージシステム
US7821790B2 (en) * 2006-03-24 2010-10-26 Slt Logic, Llc Modular chassis providing scalable mechanical, electrical and environmental functionality for MicroTCA and Advanced TCA boards
JP4643543B2 (ja) * 2006-11-10 2011-03-02 株式会社東芝 キャッシュ一貫性保証機能を有するストレージクラスタシステム
US7797396B2 (en) * 2007-01-30 2010-09-14 Hewlett-Packard Development Company, L.P. Network attached storage (NAS) server having a plurality of automated media portals
JP2008204041A (ja) 2007-02-19 2008-09-04 Hitachi Ltd ストレージ装置及びデータ配置制御方法
JP5106913B2 (ja) 2007-04-23 2012-12-26 株式会社日立製作所 ストレージシステム、ストレージシステム管理方法、及び計算機システム
JP2009098887A (ja) * 2007-10-16 2009-05-07 Hitachi Ltd 記憶システム及びデータ消去方法
US10572188B2 (en) * 2008-01-12 2020-02-25 Hewlett Packard Enterprise Development Lp Server-embedded distributed storage system
US8074020B2 (en) * 2008-02-13 2011-12-06 International Business Machines Corporation On-line volume coalesce operation to enable on-line storage subsystem volume consolidation
US8122421B2 (en) * 2008-08-14 2012-02-21 Omnivision Technologies, Inc. System, and method, and computer readable medium for designing a scalable clustered storage integrated circuit for multi-media processing
DE102009032821A1 (de) * 2008-10-28 2010-04-29 Giesecke & Devrient Gmbh Speichermedium mit unterschiedlichen Zugriffsmöglichkeiten
WO2010097933A1 (ja) * 2009-02-27 2010-09-02 富士通株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
US20110231602A1 (en) * 2010-03-19 2011-09-22 Harold Woods Non-disruptive disk ownership change in distributed storage systems
US8983218B2 (en) 2012-04-11 2015-03-17 Texas Instruments Incorporated Virtual boundary processing simplification for adaptive loop filtering (ALF) in video coding
WO2014147657A1 (en) 2013-03-18 2014-09-25 Hitachi, Ltd. Compound storage system and storage control method
JP6232936B2 (ja) * 2013-10-31 2017-11-22 富士通株式会社 情報処理装置、記憶装置制御回路及び記憶装置の制御方法
CN104486384A (zh) * 2014-11-28 2015-04-01 华为技术有限公司 一种存储系统及交换扩展装置
CN107395415A (zh) * 2017-07-20 2017-11-24 郑州云海信息技术有限公司 一种数据处理方法和系统
CN107656704A (zh) * 2017-09-28 2018-02-02 郑州云海信息技术有限公司 多协议数据共享存储方法、装置、设备及计算机存储介质
CN107894874B (zh) * 2017-11-17 2020-08-21 北京联想超融合科技有限公司 基于超融合存储系统的数据读写控制方法、终端及系统
CN108595109B (zh) * 2017-12-29 2021-06-29 郑州云海信息技术有限公司 一种基于Ceph分布式存储系统的多客户端写的方法
US12353760B2 (en) * 2021-06-28 2025-07-08 Netapp, Inc. Key value store with distributed shared access by clients
CN117632035B (zh) * 2023-12-13 2024-06-04 中国电子投资控股有限公司 一种数据存储方法、系统、存储介质及计算机设备

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745789A (en) * 1992-01-23 1998-04-28 Hitachi, Ltd. Disc system for holding data in a form of a plurality of data blocks dispersed in a plurality of disc units connected by a common data bus
US5640596A (en) * 1992-03-10 1997-06-17 Hitachi, Ltd. Input output control system for transferring control programs collectively as one transfer unit designated by plurality of input output requests to be executed
US5548724A (en) * 1993-03-22 1996-08-20 Hitachi, Ltd. File server system and file access control method of the same
US6247077B1 (en) * 1998-02-06 2001-06-12 Ncr Corporation Highly-scalable parallel processing computer system architecture
US6289419B1 (en) * 1998-03-06 2001-09-11 Sharp Kabushiki Kaisha Consistency control device merging updated memory blocks
JP2000029635A (ja) * 1998-07-08 2000-01-28 Hitachi Ltd 記憶制御装置
US6223323B1 (en) * 1998-07-17 2001-04-24 Ncr Corporation Method for storing parity information in a disk array storage system
JP4392877B2 (ja) * 1998-09-18 2010-01-06 株式会社日立製作所 ディスクアレイ制御装置
US6542961B1 (en) * 1998-12-22 2003-04-01 Hitachi, Ltd. Disk storage system including a switch
JP2000242434A (ja) 1998-12-22 2000-09-08 Hitachi Ltd 記憶装置システム
US6061274A (en) * 1999-01-04 2000-05-09 Emc Corporation Methods and apparatus for message transfer in computer storage system
JP4294142B2 (ja) * 1999-02-02 2009-07-08 株式会社日立製作所 ディスクサブシステム
EP1026575A3 (en) * 1999-02-08 2006-09-06 Hitachi, Ltd. Disk array system and method of changing its configuration
US6351838B1 (en) * 1999-03-12 2002-02-26 Aurora Communications, Inc Multidimensional parity protection system
JP3853540B2 (ja) * 1999-06-30 2006-12-06 日本電気株式会社 ファイバチャネル接続磁気ディスク装置およびファイバチャネル接続磁気ディスク制御装置
JP2001256003A (ja) * 2000-03-10 2001-09-21 Hitachi Ltd ディスクアレイ制御装置、そのディスクアレイ制御ユニットおよびその増設方法
JP2001325207A (ja) * 2000-05-17 2001-11-22 Hitachi Ltd キャッシュ内蔵型スイッチおよび計算機システムおよびキャッシュ内蔵型スイッチのスイッチ制御方法
JP4068798B2 (ja) * 2000-10-31 2008-03-26 株式会社日立製作所 記憶サブシステム及びi/oインタフェースの制御方法ならびに情報処理システム
US6675268B1 (en) * 2000-12-11 2004-01-06 Lsi Logic Corporation Method and apparatus for handling transfers of data volumes between controllers in a storage environment having multiple paths to the data volumes
JP2002229740A (ja) * 2001-01-31 2002-08-16 Toshiba Corp 管理用インタフェースを用いた高可用性ストレージシステム、同システムに用いられるホストコンピュータ、及び同コンピュータにより実行されるドライバプログラムを記憶したコンピュータ読み取り可能な記憶媒体
US6792505B2 (en) * 2001-04-16 2004-09-14 International Business Machines Corporation System apparatus and method for storage device controller-based message passing having effective data channel bandwidth and controller cache memory increase
JP2003015826A (ja) * 2001-07-04 2003-01-17 Hitachi Ltd ディスクアレイ制御装置における共有メモリコピー機能
JP2003029935A (ja) * 2001-07-11 2003-01-31 Hitachi Ltd ストレージシステムおよびストレージシステムの記憶領域管理方法
JP2003099384A (ja) * 2001-09-20 2003-04-04 Nec Corp 負荷分散システム、負荷分散システムのホストコンピュータ、及び負荷分散プログラム
JP2003140837A (ja) * 2001-10-30 2003-05-16 Hitachi Ltd ディスクアレイ制御装置
JP2003186821A (ja) * 2001-12-14 2003-07-04 Hitachi Ltd データ処理システム
JPWO2003075161A1 (ja) 2002-03-07 2005-06-30 富士通株式会社 ストレージ仮想化システムの変換管理装置およびストレージ仮想化システムの変換管理方法
JP2003330622A (ja) * 2002-03-08 2003-11-21 Hitachi Ltd アクセス管理用サーバ、ディスクアレイシステム、及びそのアクセス管理方法
JP2003323261A (ja) * 2002-04-26 2003-11-14 Hitachi Ltd ディスク制御システム、ディスク制御装置、ディスクシステム、及びその制御方法
JP2003316713A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 記憶装置システム
JP4220724B2 (ja) * 2002-05-21 2009-02-04 株式会社日立製作所 ストレージ装置
JP4189171B2 (ja) * 2002-05-24 2008-12-03 株式会社日立製作所 ディスク制御装置
US6957303B2 (en) * 2002-11-26 2005-10-18 Hitachi, Ltd. System and managing method for cluster-type storage
CN100336050C (zh) * 2003-04-04 2007-09-05 清华大学 海量网络存储器设备及其实现方法
JP4462852B2 (ja) * 2003-06-23 2010-05-12 株式会社日立製作所 ストレージシステム及びストレージシステムの接続方法
US7412588B2 (en) * 2003-07-25 2008-08-12 International Business Machines Corporation Network processor system on chip with bridge coupling protocol converting multiprocessor macro core local bus to peripheral interfaces coupled system bus
JP4703959B2 (ja) * 2003-12-03 2011-06-15 株式会社日立製作所 記憶装置システムおよびそのレプリケーション作成方法
JP4528551B2 (ja) * 2004-04-14 2010-08-18 株式会社日立製作所 ストレージシステム

Also Published As

Publication number Publication date
US20070016667A1 (en) 2007-01-18
CN100562842C (zh) 2009-11-25
US7120739B2 (en) 2006-10-10
US7594074B2 (en) 2009-09-22
US20070245063A1 (en) 2007-10-18
EP1586986A2 (en) 2005-10-19
CN1323346C (zh) 2007-06-27
US7249220B2 (en) 2007-07-24
EP1586986A3 (en) 2008-10-29
CN101131623A (zh) 2008-02-27
JP2005301802A (ja) 2005-10-27
CN1684029A (zh) 2005-10-19
US20050235081A1 (en) 2005-10-20

Similar Documents

Publication Publication Date Title
JP4528551B2 (ja) ストレージシステム
JP4508612B2 (ja) クラスタ型ストレージシステム及びその管理方法
US7743211B2 (en) Cluster-type storage system and managing method of the cluster-type storage system
CN105009099B (zh) 计算机系统及数据控制方法
JP4462852B2 (ja) ストレージシステム及びストレージシステムの接続方法
US9037671B2 (en) System and method for simple scale-out storage clusters
JP4297747B2 (ja) ストレージ装置
US11372552B2 (en) Storage device
JP2005165702A (ja) クラスタストレージのデバイス連結方法
JP2005258918A (ja) ストレージシステムおよびストレージシステムのキャッシュメモリ制御方法
JP4441286B2 (ja) ストレージシステム
US7571280B2 (en) Cluster-type storage system and managing method of the cluster-type storage system
JP2006268403A (ja) データストレージシステム及びストレージ制御装置のログデータの等価制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100409

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

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

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

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees