[go: up one dir, main page]

JP2005250938A - 記憶制御システム及び方法 - Google Patents

記憶制御システム及び方法 Download PDF

Info

Publication number
JP2005250938A
JP2005250938A JP2004061934A JP2004061934A JP2005250938A JP 2005250938 A JP2005250938 A JP 2005250938A JP 2004061934 A JP2004061934 A JP 2004061934A JP 2004061934 A JP2004061934 A JP 2004061934A JP 2005250938 A JP2005250938 A JP 2005250938A
Authority
JP
Japan
Prior art keywords
storage
control system
processor
storage control
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.)
Withdrawn
Application number
JP2004061934A
Other languages
English (en)
Inventor
Junichi Iida
純一 飯田
Hiroki Kanai
宏樹 金井
Keiji Tamura
圭史 田村
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 JP2004061934A priority Critical patent/JP2005250938A/ja
Priority to US10/842,490 priority patent/US7143228B2/en
Priority to EP04256325A priority patent/EP1571542B1/en
Priority to DE602004011467T priority patent/DE602004011467T2/de
Publication of JP2005250938A publication Critical patent/JP2005250938A/ja
Priority to US11/582,324 priority patent/US7337264B2/en
Priority to US12/003,263 priority patent/US7707357B2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 旧型の記憶制御システムを有効に利用することができる記憶制御システム及び方法を提供する。
【解決手段】 第1の記憶制御システムが、LANCN1に接続されたCHN21Aを備える。CHN21Aは、NASプロセッサ506及びI/Oプロセッサ504を備える。I/Oプロセッサ504は、ブロックレベルのデータが第1の記憶制御システムと第2の記憶制御システムのどちらに格納されるべきものであるかを表すI/O振分け制御データ820に基づいて、ブロックレベルのデータの全部又は一部を、第1の記憶制御システムと第2の記憶制御システムのどちらに格納するのかの判断を行う。I/Oプロセッサ504が、その判断の結果に基づいて、NASプロセッサ506からのブロックレベルのデータを、DKA22と、第2の記憶制御システムに接続されたCHF21Bとの少なくとも一方へ転送する。
【選択図】図2

Description

本発明は、記憶制御システム及び方法に関する。
例えば、データセンタ等のような大規模なデータを取り扱うデータベースシステムでは、ホストコンピュータとは別に構成された記憶制御システムを用いてデータを管理する。この記憶制御システムは、例えば、多数の記憶デバイスをアレイ状に配設して構成されたRAID(Redundant Array of Independent Inexpensive Disks)のようなディスクアレイシステムである。
情報化社会の進展等につれて、データベースで管理すべきデータは、日々増大する。このため、より高性能、より大容量の記憶制御システムが求められており、この市場要求に応えるべく、新型の記憶制御システムが開発されている。新型の記憶制御システムを記憶システムに導入する方法としては、例えば、特表平10−508967号公報に開示されているように、旧型の記憶制御システムと新型の記憶制御システムとを完全に入れ替え、全て新型の記憶制御システムから記憶システムを構成する方法がある。
特表平10−508967号公報
旧型の記憶制御システムから新型の記憶制御システムに完全に移行する場合は、新型の記憶制御システムの機能、性能を利用することができるが、旧型の記憶制御システムを有効に利用することができず、導入コストも増大する。
従って、本発明は、旧型の記憶制御システムを有効に利用することができる記憶制御システム及び方法を提供することにある。
本発明の更なる目的は、後の記載から明らかになるであろう。
本発明の第1の観点に従う記憶制御システムは、データを格納する複数の記憶デバイス(例えばディスク型記憶装置)と、受信したデータを前記複数の記憶デバイスに格納することを制御する記憶デバイス制御部(例えばディスクアダプタ)と、前記記憶デバイス制御部に接続される接続部と、前記記憶制御システムの外部のローカルエリアネットワーク及び第1のストレージネットワークの少なくとも一方及び前記接続部に接続される第一のチャネル制御部(例えば後述のCHN)と、前記第一のチャネル制御部から前記接続部を経由して送られたデータを、前記記憶制御システムの外部の第2のストレージネットワークを介して外部の記憶制御システムに転送する第二のチャネル制御部(例えば後述のCHF)と、前記第一のチャネル制御部、前記第二のチャネル制御部及び前記記憶デバイス制御部によってやり取りされる第一の制御情報(例えばプロセッサ間メッセージ)が格納される共有メモリと、前記第一のチャネル制御部又は前記第二のチャネル制御部と前記記憶デバイス制御部との間でやり取りされるデータを一時的に保存するキャッシュメモリとを備える。前記第一のチャネル制御部は、前記ローカルエリアネットワークを介して受けたファイルレベルのデータをブロックレベルのデータに変換する第一のプロセッサから前記ブロックレベルのデータを受信する第二のプロセッサを有する。前記第一のプロセッサ及び前記第二のプロセッサの少なくとも一方が、前記データが前記記憶制御システムと前記外部の記憶制御システムのどちらに格納されるべきものであるかを表す第二の制御情報に基づいて、前記ブロックレベルのデータの全部又は一部を、前記記憶制御システムと前記外部の記憶制御システムのどちらに格納するのかの判断を行う。前記第二のプロセッサが、前記判断の結果に基づいて、前記第一のプロセッサから受けた前記ブロックレベルのデータを、前記記憶デバイス制御部及び前記第二のチャネル制御部の少なくとも一方へ転送する。
この記憶制御システムについて、例えば、以下のようにもっと抽象的に表現することができる。
振り分け制御データを記憶する振分け制御データ記憶領域と、
外部の通信ネットワークを介して受信したファイルレベルのデータ及びブロックレベルのデータの少なくとも一方を処理するプロセッサと
を備え、
前記振分け制御データには、ブロックレベルのデータに含まれるファイル識別情報の格納先を示すアドレス情報、又は、ブロックレベルのデータに含まれるアドレス情報と、前記アドレス情報に対応付けられたアドレス存在場所情報とが記録されており、
前記プロセッサが、前記振分け制御データを参照して、前記受信したブロックレベルのデータに含まれるファイル識別情報の格納先を示すアドレス情報、又は、前記受信したブロックレベルのデータに含まれるアドレス情報に対応するアドレス存在場所情報を特定し、特定されたアドレス存在情報に基づいて、前記ファイルレベルのデータを変換したブロックレベルのデータ、又は、前記受信したブロックレベルのデータを、第1の記憶制御システムが有する記憶デバイスと第2の記憶制御システムが有する記憶デバイスのどちらに格納するかを決定する、
記憶制御システム。
この場合、第1の記憶制御システムは、前記記憶制御システムそれ自体のことであっても良い。
さて、本発明の第一の観点に従う記憶制御システムの第一の実施態様では、前記第一のプロセッサは、ホストコンピュータから前記外部のローカルエリアネットワークを介して前記ファイルレベルのデータを受信する。前記第二のプロセッサが、前記判断の結果に基づいて、前記ホストコンピュータから受信したファイルレベルのデータに基づく前記ブロックレベルのデータの一部を、前記外部の記憶制御システムが有する外部の記憶領域に格納すべく、前記第二のチャネル制御部に転送し、前記ブロックレベルのデータの他の一部を、前記複数の記憶デバイスが有する内部の記憶領域に格納すべく、前記記憶デバイス制御部に転送する。この第一の実施態様によれば、前記外部の記憶領域と前記内部の記憶領域とを併せた記憶領域に対して、前記ホストコンピュータからのデータに基づくブロックレベルのデータが格納される。
本発明の第一の観点に従う記憶制御システムの第二の実施態様では、前記第一のチャネル制御部が、前記外部の記憶制御システムが有する外部の記憶領域と、前記記憶制御システムが有する内部の記憶領域とを併せた記憶領域を論理ユニットとして、前記ファイルレベルのデータを送信するホストコンピュータのアクセス対象とする。
本発明の第一の観点に従う記憶制御システムの第三の実施態様では、記憶制御システムは、前記第二の制御情報が格納される第二制御情報格納領域を更に備える。前記第一のプロセッサは、前記第一のチャネル制御部に備えられている。前記第一のプロセッサ及び前記第二のプロセッサの少なくとも一方が、前記第二制御情報格納領域に格納された前記第二の制御情報に基づいて、前記ブロックレベルのデータの全部又は一部を、前記記憶制御システムと前記外部の記憶制御システムのどちらに格納するのかの判断を行う。なお、第二制御情報格納領域は、例えばキャッシュメモリ上に設けられる。
本発明の第一の観点に従う記憶制御システムの第四の実施態様では、前記第二の制御情報には、複数のアドレス情報と、前記複数のアドレス情報の各々が前記記憶制御システムと前記外部の記憶制御システムのどちらに対応するのかを表す情報とが記録されている。前記第一のプロセッサ及び前記第二のプロセッサの少なくとも一方が、前記第二の制御情報を参照して、前記ブロックレベルのデータに含まれるアドレス情報が前記記憶制御システムと前記外部の記憶制御システムのどちらに対応するのかを判別する。
本発明の第一の観点に従う記憶制御システムの第五の実施態様では、前記第二の制御情報には、前記第一のプロセッサが管理しているファイルに関するファイルメタデータが含まれている。前記ファイルメタデータには、複数のファイルにそれぞれ対応した複数のファイル識別情報及び保存先アドレス情報が含まれている。前記第一のプロセッサが、前記受信したファイルレベルのデータが有するファイル識別情報に対応する保存先アドレス情報を前記ファイルメタデータから把握する。前記第一のプロセッサ及び前記第二のプロセッサの少なくとも一方が、前記第二の制御情報を参照して、前記把握された保存先アドレス情報が前記記憶制御システムと前記外部の記憶制御システムのどちらに対応するのかを判別する。
本発明の第一の観点に従う記憶制御システムの第六の実施態様では、前記記憶制御システムが有する内部の記憶領域と、前記記憶デバイスとの間に仮想中間記憶デバイスが備えられる。前記仮想中間記憶デバイスが、前記内部の記憶領域と、前記外部の記憶制御システムが有する外部の記憶領域とを対応付ける。
本発明の第二の観点に従う記憶制御方法は、変換ステップと、判断ステップと、第一の転送ステップと、格納ステップと、第二の転送ステップとを有する。前記変換ステップでは、第一のプロセッサが、ローカルエリアネットワークを介して受けたファイルレベルのデータをブロックレベルのデータに変換する。前記判断ステップでは、前記第一のプロセッサと、記憶制御システムの外部の通信ネットワークに接続された第一のチャネル制御部が有する第二のプロセッサとの少なくとも一方が、前記記憶制御システムとそれの外部の記憶制御システムとのどちらに前記データが格納されるべきものであるかを表す第二の制御情報に基づいて、前記ブロックレベルのデータの全部又は一部を、前記記憶制御システムと前記外部の記憶制御システムとのどちらに格納するのかの判断を行う。前記第一の転送ステップでは、前記第二のプロセッサが、前記判断の結果に基づいて、前記第一のプロセッサから受けた前記ブロックレベルのデータを、前記記憶制御システムが備える複数の記憶デバイスにデータを格納することを制御する記憶デバイス制御部と、ストレージネットワークを介して外部の記憶制御システムに接続される第二のチャネル制御部との少なくとも一方へ転送する。前記格納ステップでは、前記記憶デバイス制御部が、前記第二のプロセッサからデータを受けた場合、前記受けたデータを前記複数の記憶デバイスの少なくとも1つに格納する。前記第二の転送ステップでは、前記第二のチャネル制御部が、前記第二のプロセッサからデータを受けた場合、前記受けたデータを前記外部の記憶制御システムに転送する。
本発明の第二の観点に従う記憶制御方法の第一の実施態様では、前記第一のプロセッサが、ホストコンピュータから前記外部のローカルエリアネットワークを介して前記ファイルレベルのデータを受信するステップを更に有する。前記第一の転送ステップでは、前記第二のプロセッサが、前記判断の結果に基づいて、前記ホストコンピュータから受信したファイルレベルのデータに基づく前記ブロックレベルのデータの一部を、前記外部の記憶制御システムが有する外部の記憶領域に格納すべく、前記第二のチャネル制御部に転送し、前記ブロックレベルのデータの他の一部を、前記複数の記憶デバイスが有する内部の記憶領域に格納すべく、前記記憶デバイス制御部に転送する。
本発明の第二の観点に従う記憶制御方法の第二の実施態様では、前記第一のチャネル制御部が、前記外部の記憶制御システムが有する外部の記憶領域と、前記記憶制御システムが有する内部の記憶領域とを併せた記憶領域を論理ユニットとして、前記ファイルレベルのデータを送信するホストコンピュータのアクセス対象とするステップを更に有する。
本発明の第二の観点に従う記憶制御方法の第三の実施態様では、前記第二の制御情報を第二制御情報格納領域に格納するステップを更に有する。前記第一のプロセッサは、前記第一のチャネル制御部に備えられている。前記判断ステップでは、前記第一のプロセッサ及び前記第二のプロセッサの少なくとも一方が、前記第二制御情報格納領域に格納された前記第二の制御情報に基づいて、前記ブロックレベルのデータの全部又は一部を、前記記憶制御システムと前記外部の記憶制御システムのどちらに格納するのかの判断を行う。
本発明の第二の観点に従う記憶制御方法の第四の実施態様では、前記第二の制御情報には、複数のアドレス情報と、前記複数のアドレス情報の各々が前記記憶制御システムと前記外部の記憶制御システムのどちらに対応するのかを表す情報とが記録されている。前記判断ステップでは、前記第一のプロセッサ及び前記第二のプロセッサの少なくとも一方が、前記第二の制御情報を参照して、前記ブロックレベルのデータに含まれるアドレス情報が前記記憶制御システムと前記外部の記憶制御システムのどちらに対応するのかを判別する。
本発明の第二の観点に従う記憶制御方法の第五の実施態様では、前記第二の制御情報には、前記第一のプロセッサが管理しているファイルに関するファイルメタデータが含まれている。前記ファイルメタデータには、複数のファイルにそれぞれ対応した複数のファイル識別情報及び保存先アドレス情報が含まれている。前記記憶制御方法は、前記第一のプロセッサが、前記受信したファイルレベルのデータが有するファイル識別情報に対応する保存先アドレス情報を前記ファイルメタデータから把握するステップを更に有する。前記判断ステップでは、前記第一のプロセッサ及び前記第二のプロセッサの少なくとも一方が、前記第二の制御情報を参照して、前記把握された保存先アドレス情報が前記記憶制御システムと前記外部の記憶制御システムのどちらに対応するのかを判別する。
本発明の第二の観点に従う記憶制御方法の第六の実施態様では、前記記憶制御システムが有する内部の記憶領域と、前記記憶デバイスとの間に備えられる仮想中間記憶デバイスを介して、前記内部の記憶領域と、前記外部の記憶制御システムが有する外部の記憶領域とを対応付けるステップを更に有する。
本発明の第三の観点に従う記憶制御システムは、ローカルエリアネットワークを介してファイルレベルのデータを受信する記憶制御システムであって、受信したファイルレベルのデータを格納するメモリと、前記メモリに格納されたファイルレベルのデータをブロックレベルのデータに変換するプロセッサとを備える。前記プロセッサが、前記データが前記記憶制御システムと前記外部の記憶制御システムのどちらに格納されるべきものであるかを表す第二の制御情報に基づいて、前記ブロックレベルのデータの全部又は一部を、前記記憶制御システムの外部にある第一の記憶制御システムと、前記第一の記憶制御システムの外部にある第二の記憶制御システムのどちらに格納するのかの判断を行い、前記判断の結果と前記ブロックレベルのデータを、ストレージネットワークを介して前記第一の記憶制御システムに転送する。
本発明の第三の観点に従う記憶制御システムは、例えば、NAS(Network Area
Storage)ヘッド或いはNASそれ自体である。
また、第一の記憶制御システム及び第二の記憶制御システムの少なくとも一方は、例えばRAIDシステムである。具体的には、例えば、第一の記憶制御システムは、データを格納する複数の記憶デバイスと、前記第1の記憶制御システムの外部のローカルエリアネットワーク及びストレージネットワークの少なくとも一方を介して受信したデータを、前記ストレージネットワークと同一の又は別のストレージネットワークを介して外部の記憶制御システムに転送する記憶制御サブシステムと、前記ローカルエリアネットワーク及び前記ストレージネットワークの少なくとも一方を介して受信したデータを一時的に保存するメモリとを備える。前記記憶制御サブシステムは、前記記憶制御システム(例えばNASヘッド)が備える前記プロセッサから前記ブロックレベルのデータを受信する別のプロセッサを有する。前記別のプロセッサは、前記判断の結果に基づいて、前記プロセッサから受けた前記ブロックレベルのデータを、前記判断の結果に基づいて、前記記憶デバイス制御部及び前記第二のチャネル制御部の少なくとも一方へ転送する。
なお、第一の記憶制御システムの記憶制御サブシステムは、例えば、ローカルエリアネットワークを介してファイルレベルのデータを受信し、受信したファイルレベルのデータをブロックレベルのデータに変換する前記プロセッサを備えていても良い。また、その場合、例えば、前記プロセッサと前記別のプロセッサの少なくとも一方が、前記データが前記第1の記憶制御システムと前記第2の記憶制御システムのどちらに格納されるべきものであるかを表す制御情報に基づいて、前記ブロックレベルのデータの全部又は一部を、前記第1の記憶制御システムと前記第2の記憶制御システムのどちらに格納するのかの判断を行うことができる。
本発明によれば、旧型の記憶制御システムを有効に利用することができる記憶制御システム及び方法が提供される。
本発明の一実施形態の概要の一つを説明する。
本実施形態では、RAIDシステム等の記憶制御システムが、ファイルレベルのデータがやり取りされる第一の通信ネットワーク(例えばLAN)を介してホスト端末に接続されている。また、その記憶制御システムは、ブロックレベルのデータがやり取りされる第二の通信ネットワーク(例えばSAN(Storage Area Network))を介して外部記憶制御システムに接続されている。記憶制御システムも外部記憶制御システムも、データを記憶する論理的な記憶デバイス(以下、Logical
Deviceを略して「LDEV」と言う)を備えている。LDEVは、1又は複数のディスク型記憶装置上に設けられているものである。記憶制御システム及び外部記憶制御システムは、ディスク型記憶装置へのデータ格納を制御するディスク制御部を備える。記憶制御システムは、第1と第2のチャネル制御部を備える。第1のチャネル制御部には、第一の通信ネットワークを介してファイルレベルのデータを受信しそれをブロックレベルのデータに変換する第一のプロセッサと、第一のプロセッサからブロックレベルのデータを受信する第二のプロセッサとが備えられている。第2のチャネル制御部は、第1のチャネル制御部から受信したブロックレベルのデータを第二の通信ネットワークを介して前記外部記憶制御システムにデータを転送する。前記第一及び第二のプロセッサの少なくとも一方が、データが記憶制御システムと外部記憶制御システムのどちらに格納されるべきものであるかを表すI/O(Input/Output)振分け制御データに基づいて、ブロックレベルのデータをブロックレベルのデータの全部又は一部を、記憶制御システムと外部記憶制御システムのどちらに格納するのかの判断を行う。第二のプロセッサは、その判断の結果に基づいて、第一のプロセッサから受けたブロックレベルのデータを、前記ディスク制御部及び前記第2のチャネル制御部の少なくとも一方へ転送する。
以下、図面を参照して、本実施形態について詳述する。
図1は、本発明の一実施形態に係る記憶制御システムの外観の概略を示す。
記憶制御システム600は、例えば、基本筐体10と複数の増設筐体12とから構成することができる(基本筐体11のみで構成されても良い)。
基本筐体10は、記憶制御システム600の最小構成単位である。この基本筐体10には、例えば、複数のディスク型記憶装置(例えばハードディスクドライブ(HDD))300と、複数の制御パッケージ(例えば後述するチャネル制御部又はディスク制御部)105と、複数の電源ユニット400と、複数のバッテリユニット500とがそれぞれ着脱可能に設けられている。また、基本筐体10には、複数の冷却ファン13が設けられている。
各増設筐体12は、記憶制御システム600のオプションであり、例えば、1つの基本筐体10に最大4個の増設筐体12を接続することができる。各増設筐体12には、複数の冷却ファン13が設けられている。また、各増設筐体12には、複数のディスク型記憶装置300と、複数の電源ユニット400と、複数のバッテリユニット500とがそれぞれ着脱可能に設けられており、それらの各々は、例えば、基本筐体10に設けられた制御パッケージ105が有する制御機能により制御される。
図2は、本実施形態に係る記憶システムの構成を示すブロック図である。
1又は複数のホスト装置、例えば2台のホスト装置10A、10Bの各々は、例えば、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えば、パーソナルコンピュータ、ワークステーション、メインフレーム等として構成される。ホスト装置10A、10Bの各々は、例えば、キーボードスイッチやポインティングデバイス、マイクロフォン等の情報入力装置(図示せず)と、例えば、モニタディスプレイやスピーカー等の情報出力装置(図示せず)とを備えている。さらに、ホスト装置10A、10Bの各々には、例えば、第1の記憶制御システム600が提供する記憶領域を使用するデータベースソフトウェア等のアプリケーションプログラム11と、通信ネットワークCN1を介して第1の記憶制御システム600にアクセスするためのアダプタ12A又は12Bとが設けられている。
ホスト装置10Aは、第一の通信ネットワークCN1を介して第1の記憶制御システム600に接続されている。通信ネットワークCN1は、ファイルレベルのデータがやり取りされる通信ネットワークであり、例えば、LAN、インターネット、専用回線、公衆回線等を場合に応じて適宜用いることができる(以下、第1の通信ネットワークを「LAN」であるとする)。LANを介するデータ通信は、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。ホスト装置10Aは、ファイル名を指定してファイル単位でのデータ入出力を第1の記憶制御システム600に要求する。LANCN1に接続されるアダプタ12Aは、例えばLAN対応のネットワークカード(「PORT」と図示)である。
ホスト装置10Bは、第3の通信ネットワークCN3を介して第1の記憶制御システム600に接続されている。第3の通信ネットワークCN3は、ブロックレベルのデータがやり取りされる通信ネットワークであり、例えばSAN(Storage Area Network)である(以下、第3の通信ネットワークを「SAN」であるとする)。ホスト装置10Bは、ファイバチャネルプロトコルに従って、複数のディスク記憶装置(例えばハードディスクドライブ)により提供される記憶領域のデータ管理単位であるブロックを単位としてデータ入出力を第1の記憶制御システム600に要求する。SANCN3に接続されるアダプタ12は、例えばホストバスアダプタ(「HBA」と図示)である。
なお、図中では、ホスト装置10A又は10Bは、LANCN1又はSANCN3を介して第1の記憶制御システム600のみに接続されているが、ホスト装置10A及び10Bの少なくとも一方と第2の記憶制御システム40とを第2の通信ネットワークCN2を介して接続してもよい。第2の通信ネットワークCN2は、例えば、SAN、LAN、インターネット、専用回線、公衆回線等から構成できるが、本実施形態では、ファイバチャネルスイッチ(以下、「FC−SW」と略記)2によって構成されるものとする。
第1の記憶制御システム600は、例えば、アレイ状に配列された多数のディスク記憶装置を備えるRAIDシステムである。但し、これに限らず、第1の記憶制御システム600を、高機能化されたインテリジェント型のファイバチャネルスイッチとして構成することもできる。第1の記憶制御システム600は、後述のように、第2の記憶制御システム40の有する記憶資源を自己の論理ボリューム(Logical Unit)としてホスト装置10に提供するものであるから、自己が直接支配するローカルな記憶デバイスを有していなくても良い。
第1の記憶制御システム600は、記憶制御サブシステム20と、ディスクユニット30とに大別することができる。記憶制御サブシステム20は、例えば、チャネル制御部21と、ディスク制御部800と、SVP(Service Processor)23と、キャッシュメモリ24と、共有メモリ25と、接続部26とを備えている。チャネル制御部21には、例えば、1以上のチャネルアダプタNAS(CHN)21Aと、1以上のチャネルアダプタ(CHA)21Cと、1以上のファイバチャネルアダプタ(CHF)21Bとが含まれる。ディスク制御部800には、複数のディスクアダプタ(DKA)22が含まれる。
CHN21Aは、ホスト装置10Aとの間のデータ通信を行うものである。CHN21Aは、ホスト装置10Aと通信を行うための通信ポート207Aを備えている。また、CHN21Aは、例えば、CPUやメモリ等を備えたマイクロコンピュータシステムとして構成されており、ホスト装置10Aから受信した各種コマンドを解釈して実行する。CHN21Aには、そのCHN21Aを識別するためのネットワークアドレス(例えば、IPアドレスやWWN)が割り当てられている。CHA21Nは、ホスト装置10からLANCN1を介してファイル単位でのI/Oコマンド(例えば、ファイル名と、そのファイル名を持つファイルをリード又はライトする命令とを含んだコマンド、以下、「ファイルI/Oコマンド」と言う)を受けて、そのファイルI/Oコマンドを処理するNAS(Network Attached Storage)として振る舞うことができるようになっている。CHN21Aの構成及び機能については後に詳述する。
CHA21Cは、ホスト装置10Bとの間のデータ通信を行うものである。CHA21Cは、ホスト装置10Bと通信を行うための通信ポート207Cを備えている。また、CHA21Cは、例えば、CPUやメモリ等を備えたマイクロコンピュータシステムとして構成されており、ホスト装置10Bから受信した各種コマンドを解釈して実行する。CHA21Cには、そのCHA21Cを識別するためのネットワークアドレス(例えば、IPアドレスやWWN)が割り当てられている。CHA21Cは、ホスト装置10BからSANCN3を介してブロック単位でのI/Oコマンド(以下、ブロックI/Oコマンド)を受け、そのブロックI/Oコマンドを処理することができるようになっている。なお、ブロック単位とは、後述のディスク記憶装置400上の記憶領域におけるデータの管理単位である。
CHF21Bは、通信ポート207Bを介してFC−SW2に接続される。CHF21Bは、例えば、CPUやメモリ等を備えたマイクロコンピュータシステムとして構成されており、FC−SW2を介して、第2の記憶制御システム40との間でデータを送受信する。CHF21Bの構成及び機能については、後に詳述する。
各DKA22は、ディスクユニット30内の論理的な記憶デバイス(以下、LDEV)31,32との間のデータ授受を行うものである。各DKA22は、LDEV31,32を備えるディスク型記憶装置400に接続するための通信ポート22Aを備えている。また、各DKA22は、CPUやメモリ等を備えたマイクロコンピュータシステムとして構成されている。各DKA22は、CHN21A或いはCHA21Cから受信したデータをLDEV31、32に書込んだり、また、LDEV31,32から読み出したデータをCHN21A或いはCHA21Cに送信したりする。各DKA22は、LDEV31,32との間でデータ入出力を行う場合、論理的なアドレスを物理的なアドレスに変換する。
キャッシュメモリ(以下、「CM」と略記する場合有り)24は、例えば揮発性又は不揮発性のメモリであり、ホスト装置10から受信したデータや、LDEV31,32から読出されたデータを一時的に記憶するものである。また、キャッシュメモリ24には、後述するI/O振分け制御データ820を格納することもできるが、それに代えて或いは加えて、I/O振分け制御データ820を、LDEV31内に格納しておくこともできる。
共有メモリ(以下、「SM」と略記する場合有り)25は、例えば不揮発性のメモリであり、ホスト装置との間でやり取りされるデータに関する制御情報(例えば、CM24上に確保されたどのキャッシュ領域にどのデータが格納されるべきかを示す情報)等が格納される。また、共有メモリ25には、ワーク領域(例えば、CHN21A、CHA21C、CHF21B及びDKA22のCPU間でやり取りされるメッセージを一時的に記憶する領域)が設定されるほか、マッピングテーブル群TG等の各種データも格納される。なお、LDEV31,32のいずれか1つあるいは複数を、キャッシュ用のディスクとして使用してもよい。
接続部26は、CHN21A、CHA21C、CHF21B、各DKA22、キャッシュメモリ24及び共有メモリ25を相互に接続させる。接続部26は、例えば、高速スイッチング動作によってデータ伝送を行う超高速クロスバスイッチ等のような高速バスとして構成することができる。
ディスユニット30には、アレイ状に配列された複数のディスク記憶装置400が含まれている。ディスク記憶装置400としては、例えば、ハードディスク、フレキシブルディスク、磁気テープ、半導体メモリ、光ディスク等のようなデバイスを用いることができる。ディスク記憶装置400の記憶領域上には、LDEV31、32が備えられている。LDEV31(又は32)には、後に詳述するI/O振分け制御データを格納することができる。なお、点線で示されるLDEV32は、第2の記憶制御システム40の有するLDEV42を、第1の記憶制御システム600に取り込んだ状態を示すものである。換言すれば、第1の記憶制御システム600から見て外部に存在するLDEV(以下、「外部LDEV」と言う)42が、第1の記憶制御システム600の内部LDEV32としてホスト装置10に提供される。
SVP23は、第1の記憶制御システム600の保守又は管理を行うための情報処理端末(例えばノート型のパーソナルコンピュータ)である。SVP23は、例えば、内部LAN410を介して、CHN21A、CHA21C、CHF21B及び各DKA22内のプロセッサ(例えばCPU)に接続されている。SVP23は、第1の記憶制御システム600内の障害発生を監視してディスプレイ画面に表示したり、ディスク記憶装置400の閉塞処理等を指示したりするようになっている。
第2の記憶制御システム40は、第1の記憶制御システム600のような構成であっても良いし、第1の記憶制御システム600よりも簡易な構成であっても良い。例えば、第2の記憶制御システム40は、例えば、通信ポート41を持ったCHF217と、1又は複数のディスク記憶装置401とを備えている。ディスク記憶装置401の記憶領域上には、LDEV42が備えられている。第2の記憶制御システム40は、FC−SW2を介して第1の記憶制御システム600に接続されており、第2の記憶制御システム40のLDEV(つまり外部LDEV)42は、第1の記憶制御システム600の内部LDEV32として扱われるようになっている。
内部LDEV31(又は内部LDEV32)及びCM24の少なくとも一方に、ブロックI/Oデータを第1の記憶制御システム600と第2の記憶制御システム40のどちらに振り分けるかの制御に使用されるI/O振分け制御データ820(例えば、後述するアドレス管理データ853及びファイルメタデータ854のうちの少なくともアドレス管理データ853)を格納することができる。このI/O振分け制御データ820(例えばアドレス管理データ853)は、例えば、SVP23が、CHN21A、CHA21C、CHF21B及び各DKA22の少なくとも1つが有するプロセッサに対して、I/O振分け制御データ820(例えばアドレス管理データ853)を入力し、そのI/O振分け制御データ820をCM24及び内部LDEV31(又は内部LDEV32)の少なくとも一方に格納してもよい。
以上が、本実施形態に係る記憶システム1についての概要である。
図3は、第1の記憶制御システム600と第2の記憶制御システム40との論理的な接続構造を示す模式図である。
図示のように、第1の記憶制御システム600は、下層側から順番に、VDEV101と、LDEV31と、LUN103とからなる3層の記憶階層を有している。
VDEV101は、論理的な記憶階層の最下位に位置する仮想デバイス(Virtual
Device)である。VDEV101は、物理的な記憶資源を仮想化したものであり、RAID構成を適用することができる。即ち、1つのディスク記憶装置400から複数のVDEV101を形成することもできるし(スライシング)、複数のディスク記憶装置400から1つのVDEV101を形成することもできる(ストライピング)。図3中の左側に示すVDEV101は、例えば、所定のRAID構成に従ってディスク記憶装置400を仮想化している。
一方、図3中の右側に示すVDEV101は、第2の記憶制御システム40のディスク記憶装置401により提供される外部LDEV42を、マッピングテーブル群TG(例えばその中のマッピングテーブルTm)を用いてVDEV101にマッピングすることにより、第1の記憶制御システム600の内部LDEV32として使用できるようになっている。図に示す例では、4つの第2記憶制御システム40A〜40Dにそれぞれ存在する4つの外部LDEV42A〜42Dをストライピングすることにより、VDEV101を構築している。各外部LDEV42A〜42Dには、それぞれの通信ポート41A〜41DからそれぞれのLUN(Logical Unit Number)43A〜43Dを特定することにより、それぞれ個別にアクセスすることができる。各通信ポート41A〜41Dには、ユニークな識別情報であるWWN(World
Wide Name)が割り当てられている。このため、第1の記憶制御システム600は、WWN及びLUNの組合せをFC−SW2に指定すれば、FC−SW2を介して、その組合せに含まれるLUNに属する外部LDEV42を見ることができる。なお、LUNに属するLDEVが複数個有る場合には、複数のLDEVが1つの論理的な記憶デバイスとして、第1の記憶制御システム600からホスト装置10に提供される。
マッピングテーブル群TGには、マッピングテーブルTmと、そのマッピングテーブルTmに基づいて用意された第1の変換テーブルT1及び第2のテーブルT2とが含まれている。各テーブルTm、T1及びT2については後に詳述する。
さて、VDEV101の上位には、内部LDEV32が設けられている。内部LDEV32は、仮想デバイス(VDEV)を仮想化した論理デバイスである。1つのVDEV101から2つの内部LDEV32に接続することもできるし、複数のVDEV101から1つの内部LDEV32に接続することもできる。内部LDEV32には、それぞれのLUN103を介してアクセスすることができる。このように、本実施形態では、LUN103と外部LDEV42との間に位置する中間記憶階層(VDEV101及び内部LDEV32)に外部LDEV42を接続することにより、外部LDEV42を第1の記憶制御システム600の内部LDEV32の1つとして利用できるようにしている。
この図に示すように、第1の記憶制御システム600内には、外部LDEV42に接続された内部LDEV32と、外部LDEV42に接続されていない内部LDEV31とが混在している。そして、図示の例では、LUN「1」に対して、内部LDEV31と内部LDEV32とが対応付けられている。このため、第1の記憶制御システム600は、ホスト装置10AからLUN「1」の指定を受けた場合は、内部LDEV31が有する記憶領域と、内部LDEV32に対応付けられた外部LDEV42が有する記憶領域とが合わさった1つの論理ユニット(LU)をアクセス対象としてホスト端末10Aに提供することができる。
図4は、マッピングテーブルTmの概要を示す。
マッピングテーブルTmには、VDEV101をそれぞれ識別するためのVDEV識別情報(以下、「VDEV#」と示す)と、外部LDEV42に関する情報(以下、「外部デバイス情報」と言う)とが対応付けられる。外部デバイス情報には、例えば、システム識別情報と、外部LDEV42の記憶容量と、デバイスの種別を示す情報と(例えば、テープ系デバイスかディスク系デバイスか等)、外部LDEV42へのパス情報とが含まれている。システム識別情報は、例えば、第2の記憶制御システム40のベンダID、機種、及び製造番号を含んだ情報である。パス情報は、例えば、各通信ポート41に固有の識別情報(WWN)と、LUN4とを含んで構成できる。なお、図4中に示すシステム識別情報やWWN等は、説明の便宜上の値であって特に意味はない。また、図4中の下側に示すVDEV番号「3」のVDEV101には、3個のパス情報が対応付けられている。即ち、このVDEV101(#3)にマッピングされる外部LDEV42は、その内部に3つの経路を有する交代パス構造を備えているが、VDEV101(#3)には、この交代パス構造を認識してマッピングされている。これら3つの経路のいずれを通っても同一の記憶領域にアクセスできることが判明しているため、いずれか1つまたは2つの経路に障害等が発生した場合でも、残りの正常な経路を介して所望のデータにアクセスできる。
図4に示すようなマッピングテーブルTmを採用することにより、第1の記憶制御システム600内の1つ以上の内部VDEV32に対し、1つまたは複数の外部LDEV42をマッピングすることができる。
図5は、CHN21Aの構成例を示すブロック図である。
CHN21Aは、通信ポート207Aと、LANコントローラ503と、データ転送LSI501と、ブリッジLSI502と、I/Oプロセッサ504及びI/Oメモリ507を備えた1又は複数の入出力制御部510と、メモリコントローラ505と、NASプロセッサ506と、CHNメモリ508と、コネクタ509とを備えている。
LANコントローラ503は、メモリコントローラ505及びブリッジLSIを介してNASプロセッサ506から受けた指示に従って、通信ポート207Aの制御を行う。LANントローラ503は、例えば、TCP/IPプロトコルに従って、ファイルI/Oコマンドの送受信を制御する。
ブリッジLSI502は、例えば、LANコントローラ503、メモリコントローラ505、及びデータ転送LSI501の相互の通信を可能とするためのLSI(Large-Scale Integrated circuit)である。
メモリコントローラ505は、NASプロセッサ506とCHNメモリ508との間の通信を制御するためのLSIである。メモリコントローラ505は、NASプロセッサ506、CHNメモリ508及びブリッジLSI502に接続される。
CHNメモリ508は、NASプロセッサ506の制御を司るプログラムや、CM24とホスト装置10Aとの間でやり取りされるデータ等を記憶することができる。CHNメモリ508は、例えば、コマンド解析処理プログラム811、I/O振分け処理プログラム812、ファイルシステムプログラム817及びネットワーク制御プログラム818等を記憶することができる。コマンド解析処理プログラム811、I/O振分け処理プログラム812、ファイルシステムプログラム817及びネットワーク制御プログラム818は、CPU等のコンピュータ(例えばNASプロセッサ506)に読込まれて、そのコンピュータに所定の処理を実行させることができる。例えば、コマンド解析処理プログラム811は、ホスト装置10Aから受信したファイルI/Oコマンドの解析処理をコンピュータに行わせるためのコンピュータプログラムである。I/O振分け処理プログラム812は、後述するI/O振分け処理をコンピュータに行わせるためのコンピュータプログラムである。ファイルシステムプログラム817は、例えば、ファイルI/Oコマンドに含まれているファイル名と、そのファイル名を有するファイルが格納されている場所のアドレス情報(例えばLUN及び先頭論理ブロックアドレス)との対応づけを管理し、その対応付けに基づいて、ファイルI/OコマンドをブロックI/Oコマンドに変換する。ネットワーク制御プログラム818は、例えば、NFS(Network File System)とSambaの2つのファイルシステムプロトコルを含んで構成される。NFSは、NFSが動作するUNIX(登録商標)オペレーティングシステムを搭載したホスト装置からのファイルI/Oコマンドを受け付ける。一方、Sambaは、CIFS(Common
Interface File System)が動作するWindows(登録商標)オペレーティングシステムを搭載したホスト端末らのファイルI/Oコマンドを受け付ける。
NASプロセッサ506は、CPU又はマイクロプロセッサである。NASプロセッサ506は、例えば、I/Oプロセッサ504よりも、高性能の(例えば演算処理速度が速い)プロセッサである。NASプロセッサ506は、メモリコントローラ505に接続されている。NASプロセッサ506は、CHNメモリ508に格納されているコマンド解析処理プログラム811、I/O振分け処理プログラム812、ファイルシステムプログラム817及びネットワーク制御プログラム818等を読出し、読み出したコンピュータプログラムに従う処理を実行することができる。例えば、NASプロセッサ506は、ネットワーク制御プログラム818により、ホスト装置10AからのファイルI/Oコマンドを受け付ける。また、NASプロセッサ506は、コマンド解析処理プログラム811により、ホスト装置10Aから受信しCHNメモリ508に格納されたファイルI/Oコマンドがリードコマンドであるかライトコマンドであるか等を解析する。また、NASプロセッサ506は、ファイルシステムプログラム817により、ホスト装置10Aから受信しCHNメモリ508に格納されたファイルI/OコマンドをブロックI/Oコマンドに変換してI/Oプロセッサ504に出力する。また、NASプロセッサは、I/O振分け処理プログラム812により、ブロックI/Oコマンドが、内部LDEV31に格納されるべきか外部LDEV42に格納されるべきかの判断を行い、その判断結果に基づいて、I/Oプロセッサ504に、そのブロックI/Oコマンドを内部LDEV31と外部LDEV42とに振分けさせることができる。
I/Oプロセッサ504は、CPU又はマイクロプロセッサであり、I/Oメモリ507から読み出したコンピュータプログラムにより、接続部26との間のデータの授受や、CHA21CやCHF21B上のI/Oプロセッサとの間のコマンドの授受や、NASプロセッサ506と接続部26との間のデータ通信の中継等を制御することができる。また、I/Oプロセッサ504は、SVP23と通信することができる。
I/Oメモリ507は、I/Oプロセッサ504の制御を司るコンピュータプログラム等を格納する。
データ転送LSI501は、接続部26に接続されるコネクタ509と、I/Oプロセッサ504と、ブリッジLSIとに接続され、データの転送の制御を行うLSIである。
以上が、CHN21Aの構成及び機能である。なお、上述したコマンド解析処理プログラム811及びI/O振分け処理プログラム812のうちの少なくともI/O振分け処理プログラム812は、I/Oメモリ507に格納し、I/Oプロセッサ504に、I/O振分け処理を実行させることができる。それについては、本実施形態の変形例として後に詳述する。
図6は、CHF21Bの構成例を示すブロック図である。
CHF21Bには、通信ポート207Bと、FCコントローラ602と、データ転送LSI601と、IOプロセッサ603と、I/Oメモリ604と、コネクタ605とを備えている。
通信ポート207Bは、第2の記憶制御システム40等の外部機器と通信を行うためのポートである。
FCコントローラ602は、通信ポート207Bとデータ転送LSI601との間に介在する。FCコントローラ602は、例えば,ファイバチャネルプロトコルに従い,ブロックI/Oコマンドの授受を制御する。
I/Oメモリ604には、I/Oプロセッサ603の制御を司るプログラムを格納するためのものである。I/Oメモリ604は、例えば、外部アクセス処理プログラム814を記憶している。外部アクセス処理プログラム814は、このプログラム814を読込んだコンピュータに、受信したブロックI/Oコマンドを第2の記憶制御システム60に転送する処理を実行させるためのコンピュータプログラムである。
I/Oプロセッサ603は、CPU又はマイクロプロセッサである。I/Oプロセッサ603は、データ転送LSI610、I/Oメモリ604及びSVP23に接続されており、I/Oメモリ604内の種々のコンピュータプログラムを読込んで、データやコマンドの授受を制御する。
データ転送LSI601は、接続部26に接続されるコネクタ605と、I/Oプロセッサ603と、FCコントローラ602とに接続され、データ転送の制御を行うLSIである。
以下、本実施形態において行われる種々の処理流れを説明する。
図7は、I/O振分け制御データ820の授受に関する処理流れを示す。
I/O振分け制御データ820は、例えば図7(A)又は図7(B)に示す処理流れによって、CHN21A内のCHNメモリ508上に記憶させることができる。
すなわち、図7(A)に示すように、NASプロセッサ506が、I/Oプロセッサ504に、I/O振分け制御データ820を取得することの指示を出力する(ステップS500)。
I/Oプロセッサ504は、その指示に応答して、CM24に記憶されているI/O振分け制御データ820を、CHNメモリ508に読み出す(S501)。これにより、CHNメモリ508に、I/O振分け制御データ820が格納される(S502)。
また、図7(B)に示すように、NASプロセッサ506が、I/Oプロセッサ504に、I/O振分け制御データ820を取得することの指示を出力する(S510)。
I/Oプロセッサ504は、その指示に応答して、I/O振分け制御データ820を記憶している内部LDEV31にアクセスすることができるDKA22に、I/O振分け制御データ820を読み出すことのI/Oリードコマンドを出力する(S511)。
そのI/Oリードコマンドを受けたDKA22は、CM24上にキャッシュ領域を確保して、I/O振分け制御データ820を記憶している内部LDEV31からI/O振分け制御データ820を取得しそのキャッシュ領域に格納する(S512)。
I/Oプロセッサ504は、上記確保されたキャッシュ領域からI/O振分け制御データ820をCHNメモリ508に読み出す(S513)。これにより、CHNメモリ508に、I/O振分け制御データ820が格納される(S514)。
NASプロセッサ506は、CHNメモリ508に格納されたI/O振分け制御データ820を用いて、後述するI/O振分け処理を実行することができる。なお、I/O振分け制御データ820には、例えば、図示のように、アドレス管理データ853と、ファイルメタデータ854とが含まれている。アドレス管理データ853及びファイルメタデータ854については後に詳述する。
図8は、ホスト装置10Aから受信したファイルI/OコマンドをブロックI/Oコマンドに変換して出力する際に行われる処理流れを示す。
ホスト装置10Aから出力されたファイルI/Oコマンドは、CHN21Aが受信してCHNメモリ508に格納される(S550)。なお、ファイルI/Oコマンドは、ファイルライトコマンドの場合、例えば、書込み対象のデータファイルと、それのファイル名と、LUNとを含む。また、ファイルI/Oコマンドは、ファイルリードコマンドの場合、例えば、読出し対象のデータファイルのファイル名と、LUNとを含む。
NASプロセッサ506は、CHNメモリ508に格納されたファイルI/Oコマンドを読出し(S551)、ファイル解析処理プログラム811に従って、そのファイルI/Oコマンドがファイルライトコマンドであるか或いはファイルリードコマンドであるか等の解析を行う(S552)。
また、NASプロセッサ506は、ファイルシステムプログラム817に従って、ファイルI/OコマンドをブロックI/Oコマンドに変換する(S553)。そして、NASプロセッサ506は、変換されたブロックI/Oコマンドに含まれるアドレス情報と、I/O振分け制御データ820とに基づいて、後述するI/O振分け処理を行う(S554)。
S554のI/O振分け処理の結果、外部アクセス要求処理を行うことになれば(S555でY)、NASプロセッサ506は、外部アクセス要求と、変換されたブロックI/OコマンドとをI/Oプロセッサ504に出力する(S556)。その場合、I/Oプロセッサ504は、受信したブロックI/Oコマンドを、接続部26を介してCHF21AのI/Oプロセッサ603に送信する(S557)。CHF21AのI/Oプロセッサ603は、マッピングテーブル群TGを参照して、CHN21Aから受信したブロックI/Oコマンドに含まれている内部LUNを外部LUNに変換する等の外部アクセス処理を行い(S558)、外部LUNを有するブロックI/Oコマンドを、第2の通信ネットワークCN2を介して第2の記憶制御システム40のCHF217に転送する(S559)。
一方、S554のI/O振分け処理の結果、内部アクセス要求処理を行うことになれば(S555でN)、NASプロセッサ506は、内部アクセス要求と、変換されたブロックI/OコマンドとをI/Oプロセッサ504に出力する(S560)。その場合、I/Oプロセッサ504は、受信したブロックI/Oコマンドを、接続部26を介してDKA22に送信する(S561)。それにより、DKA22によって、ブロックI/Oコマンド内のデータが、そのブロックI/Oコマンドに含まれているアドレス情報が示す内部LDEV31内の記憶領域に書き込まれるか、或いは、ブロックI/Oコマンドに含まれているアドレス情報が示す内部LDEV31内の記憶領域からデータが読み出されたりする。データが読み出された場合、CHN21AのI/Oプロセッサ504が、DKA22からCM24を介してデータを取得し、取得したデータをホスト装置10Aに送信する。
この図に示す処理流れにおいて、S558の外部アクセス処理は、CHF21BのI/Oプロセッサに代えて、CHN21A(又はCHA21C)のI/Oプロセッサが行っても良い。その場合、CHF21BのI/Oプロセッサは、受信したブロックI/Oコマンドを第2の記憶制御システム40に転送するだけで良い。
図9は、振分け制御データ820に含まれるアドレス管理テーブル853及びファイルメタデータ854の構成例と、その振分け制御データ820に基づいて行われるI/O振分け処理の詳細な処理流れとを示す。
振分け制御データ820には、前述したように、アドレス管理テーブル853と、ファイルメタデータ854とが含まれている。
アドレス管理テーブル853には、複数のアドレス情報と、複数のアドレス情報の各々が内部と外部のどちらに対応するかの情報とが記録されている。アドレス情報は、例えば、LUNと先頭LBA(論理ブロックアドレス)との組合せを採用することができる。また、「内部」とは、第1の記憶制御システム600内であることを意味し、「外部」とは、第1の記憶制御システム600の外部にある第2の記憶制御システム内であることを意味する。
ファイルメタデータ854には、NASプロセッサ806のファイルシステムプログラム818が管理している複数のファイルの各々に関する属性情報、例えば、ファイル名と、そのファイル名を持つファイルが記憶されている場所を表すアドレス情報(例えばLUN及び先頭LBA)と、そのファイルのデータサイズとが記録されている。図示しないが、ファイルメタデータ854には、所有者、更新時刻等の他の属性情報が含まれていても良い。また、ファイルメタデータ854には、ファイルだけでなく、ディレクトリに関する属性情報も記録されても良い。
以下、I/O振分け処理について説明する。
コンピュータ(例えばNASプロセッサ506)に読込まれたI/O振分け処理プログラム812は、アドレス管理テーブル853を参照し、変換されたブロックI/Oコマンドに含まれているアドレス情報(換言すれば、ファイルI/Oコマンドに含まれているファイル名に対応するアドレス情報)が内部と外部のどちらに対応するのかを判別する(S554A)。又は、I/O振分け処理プログラム812は、ファイルI/Oコマンドに含まれているファイル名に対応したアドレス情報をファイルメタデータ854から取得し、アドレス管理テーブル853を参照して、取得したアドレス情報が内部と外部のどちらに対応するのかを判別する(S554A)。
S554Aの判別の結果、I/O振分け処理プログラム812は、外部であると特定された場合には(S554Bで外部)、外部アクセス要求を行うことを決定する(S554C)。この場合、図8のS556の処理が実行される。
S554Aの判別の結果、I/O振分け処理プログラム812は、内部であると特定された場合には(S554Bで内部)、内部アクセス要求を行うことを決定する(S554D)。この場合、図8のS560の処理が実行される。
S554Aの判別の結果、I/O振分け処理プログラム812は、外部と内部の両方であると特定された場合には(S554Bで両方)、外部アクセス要求と内部アクセス要求の両方を行うことを決定する(S554D)。この場合、図8のS556とS560の両方の処理が実行される。なお、両方であると特定されるケースとしては、例えば、書込み先或いは読出し先のアドレス範囲が、外部LDEV42が対応付けられていない内部LDEV31が有するアドレス情報と、外部LDEV42が対応付けられている内部LDEV32が有するアドレス情報の両方を含んでいる場合がある。具体的な例としては、例えば、図3において、LUN「1」が有する記憶領域全体にデータが格納される場合である。
以上のような流れで、I/O振分け処理が行われる。
さて、ファイルメタデータ854に記録されている内容は、内部LDEV31及び内部LDEV32(つまり外部LDEV42)にデータが書き込まれたり、内部LDEV31、32からデータが削除されたりした場合に適宜に更新される。
図10は、ファイルメタデータ854が更新される場合に行なわれる処理流れを示す。
ファイルメタデータ854は、例えば図10(A)又は図10(B)に示す処理流れによって更新することができる。
すなわち、図10(A)に示すように、NASプロセッサ506は、内部LDEV31、32にデータが書き込まれたり、内部LDEV31、32からデータが削除されたりした場合等の所定のイベントが発生した場合に、CHNメモリ508に読み出されたファイルメタデータ854を更新する(S700)。
その後、NASプロセッサ506は、所定のタイミングで(例えばS700の後直ちに)、I/Oプロセッサ504に、CHNメモリ508内の更新後のファイルメタデータ854をCM24に転送することの転送指示を出力する(S701)。
I/Oプロセッサ504は、その転送指示に応答して、CHNメモリ508内の更新後のファイルメタデータ854を読み出してCM24に転送する(S702)。それにより、CM24に記憶されているファイルメタデータは、CHNメモリ508内の更新後のファイルメタデータ854に更新される。
また、図10(B)に示すように、NASプロセッサ506は、S700と同様に、CHNメモリ508に読み出されたファイルメタデータ854を更新する(S800)。
その後、NASプロセッサ506は、所定のタイミングで(例えばS800の後直ちに)、I/Oプロセッサ504に、CHNメモリ508内の更新後のファイルメタデータ854を、内部LDEV31に転送することの転送指示を出力する(S801)。
I/Oプロセッサ504は、その転送指示に応答して、CM24上にキャッシュ領域を確保し、ファイルメタデータを記憶している内部LDEV31にアクセスすることができるDKA22にI/Oライトコマンドを出力すると共に(S802)、確保したキャッシュ領域に、CHNメモリ508内の更新後のファイルメタデータ813を読み出す(S803)。
I/Oライトコマンドを受けたDKA22は、確保されたキャッシュ領域から更新後のファイルメタデータを取得し(S804)、取得した更新後のファイルメタデータ854を、内部LDEV31内のファイルメタデータに上書きする(S805)。
さて、次に、第1の記憶制御システム600のCHF21B(以下、第1CHF21B)と、第2の記憶制御システム40のCHF217(第2CHF217)との間で行われるやり取りによって、上述したマッピングテーブルTm(図4参照)が作成する場合について説明する。
図11は、第1の記憶制御システム600のCHF21BがマッピングテーブルTmを作成する場合に行われる処理流れを示す。
図示しないが、例えば、CHF21Bは、FC−SW2に調査コマンドを発行し、それに応答して、FC−SW2から、FC−SW2に接続されている第2の記憶制御システム40にログインするために必要なログイン必要情報(例えば、FC−SW2に接続されている通信ポート41のWWN)を受信する。そして、CHF21Bは、FC−SW2から受信した各第2記憶制御システム40毎のログイン必要情報を、I/Oメモリ(換言すればローカルメモリ)604或いはSM25に登録する。
第1CHF21Bは、例えば、VDEV101と外部LDEV42とを対応付けることの要求をSVP23から受けた場合、I/Oメモリ604(又はSM25)に登録されたログイン必要情報を用い、CHF21Bのイニシエータポート(207B)を介して、第2の記憶制御システム40にログインする(S83)。第2CHF217が、第1CHF21Bからのログインに対して応答を返すことにより(S84)、ログインが完了する。
次に、第1CHF21Bは、例えば、SCSI(Small Computer
System Interface)規格で定められている照会コマンド(inquiryコマンド)を、第2CHF217に送信する(S85)。ここで言う照会コマンドは、照会先の装置の種類及び構成を明らかにするために用いられるもので、照会コマンド発行元は、照会先装置の有する物理的構造を把握することができる。
例えば、照会コマンドを受信した第2CHF217は、第2記憶制御システム40Aに関する制御システム情報を、第2記憶制御システム40内の図示しないメモリから取得し、その制御システム情報を第1CHF21Bに送信して(S86)、所定の応答を返す(S87)。なお、ここで送信される制御システム情報には、例えば、第2記憶制御システム40のベンダID、装置名称及び製造番号と、照会コマンドを受けた通信ポート41AのWWNと、そのWWNに属するLUNと、そのLUNに属するLDEV番号と、そのLDEVを備えているディスク種類とが含まれている。
第1CHF21Bは、受信した制御システム情報(例えば、第2記憶制御システム40のベンダID、装置名称及び製造番号を含んだシステム識別情報と、WWN及びLUNと、ディスク種類)を、マッピングテーブルTmの所定箇所(例えば、クライアントから指定されたVDEV#に対応した場所)に登録する(S88)。
次に、第1CHF21Bは、受信した制御システム情報中のLUNに属する外部LDEV42の記憶容量の問合せ(例えば、SCSIプロトコルに基づくリードキャパシティコマンド)を第2CHF217に送信する(S89)。第2CHF217は、第2記憶制御システム40内の図示しないメモリに記憶されている記憶容量情報(例えば、LUNに属する1以上の外部LDEV42のトータル記憶容量)を参照し、問合せされた記憶容量(すなわち、外部LDEV42の記憶容量)を第1CHF21Bに返信し(S90)、応答を返す(S91)。第1CHF21Bは、受信した記憶容量を、マッピングテーブルTmの所定箇所(例えば、クライアントから指定されたVDEV#に対応した場所)に登録する(S92)。
以上の処理を行うことにより、VDEV#と制御システム情報及び記憶容量との対応付けが行われる。
VDEV#と外部システム情報(制御システム情報と記憶容量とを含んだ情報)とのマッピングが行われた後、ホスト装置10Aが第1の記憶制御システム600を介して外部LDEV42との間でデータの入出力を行う場合は、マッピングテーブル群TG内の各種テーブルを参照してアドレス変換等が行われる。
図12〜図14を参照して、第1の記憶制御システム600と第2の記憶制御システム40との間のデータ入出力について説明する。まず、データを書き込む場合について、図12及び図13に基づいて説明する。図12は、データ書込み時の処理を示す模式図である。図13は、図12中の処理の流れを各種テーブルとの関係で示す説明図である。
CHN21Aは、ホスト装置10Aからのファイルレベルデータを変換して得られたブロックレベルデータを、内部LDEV31又は32にデータを書き込むことができる。
CHN21Aがデータを書き込もうとするLDEVが内部LDEV31の場合、通常の処理によってデータが書き込まれる。即ち、CHN21Aからのデータは、いったんキャッシュメモリ24に格納され、キャッシュメモリ24からDKA22を介して、所定のディスク記憶装置400の所定アドレスに格納される。この際、DKA22は、論理的なアドレスを物理的なアドレスに変換する。また、RAID構成の場合、同一のデータが複数のディスク記憶装置400に記憶される。
これに対し、CHN21Aが書き込もうとするLDEVが、VDEV102を介して外部LDEV42に接続されている内部LDEV32の場合、図12に示すような流れでデータが書き込まれる。図12(a)は記憶階層を中心に示す流れ図であり、図12(b)はキャッシュメモリ24の使われ方を中心に示す流れ図である。
CHN21Aは、書込み先の内部LDEV32を特定するLDEV番号とこの内部LDEV32にアクセスするための通信ポート207Aを特定するWWNとを明示して、ブロック単位のI/Oライトコマンド(Write)を発行する(S121)。CHF21Bは、CHN21AからのI/Oライトコマンドを受信すると、第2の記憶制御システム40に送信するためのブロック単位のI/Oライトコマンドを生成し、第2の記憶制御システム40に送信する(S122)。CHF21Bは、CHN21Aから受信したI/Oライトコマンド中の書込み先アドレス情報等を、外部LDEV42に合わせて変更することにより、新たな書込みコマンドを生成する。
次に、CHN21Aは、書き込むべきデータをCHF21Bに送信する(S123)。CHF21Bに受信されたデータは、内部LDEV32からVDEV101を介して(S124)、外部LDEV42に転送される(S126)。ここで、CHN21Aは、ホスト10Aからのデータをキャッシュメモリ24に格納した時点で、ホスト装置10に対し書込み完了の応答(Good)を返す(S125)。第2の記憶制御システム40は、CHF21Bからデータを受信した時点で(あるいは外部LDEV42に書込みを終えた時点で)、書込み完了報告をCHF21Bに送信する(S127)。即ち、CHN21Aがホスト装置10Aに対して書込み完了を報告する時期(S125)と、実際にデータが記憶デバイス42に記憶される時期とは相違する(非同期方式)。従って、ホスト装置10Aは、実際にデータが外部LDEV42に格納される前にデータ書込み処理から解放され、別の処理を行うことができる。
図12(b)を参照する。キャッシュメモリ24には、多数のサブブロック24Aが設けられている。第1の記憶制御システム600は、ホスト装置10から指定された論理ブロックアドレスをサブブロックのアドレスに変換し、キャッシュメモリ24の所定箇所にデータを格納する(S124)。
図13を参照して、各種テーブルを利用してデータが変換される様子を説明する。図13の上部に示すように、CHA21Aは、LUN及び論理ブロックアドレス(LBA)を指定してデータを送信する。CHF21Bは、内部LDEV32用に入力されたデータ(LUN+LBA)を、図13(a)に示す第1の変換テーブルT1に基づいて、VDEV101用のデータに変換する。第1の変換テーブルT1は、内部のLUN103を指定するデータをVDEV101用データに変換するための、LUN−LDEV−VDEV変換テーブルである。このテーブルT1は、例えばSM25に格納されている(後述のテーブルT2及びT2aについても同様である)。このテーブルT1は、例えば、LUNと、そのLUN103に対応するLDEV32の番号(LDEV#)及び最大スロット数と、LDEV102に対応するVDEV101の番号(VDEV#)及び最大スロット数等を対応付けることにより構成される。また、図示しないが、このテーブルT1には、どのLDEV32のどのLBAが、キャッシュメモリ24のどのスロットのどのサブブロックに対応するか等も登録されていても良い。このようなテーブルT1をCHF21B(例えば第1CHF21B)が参照することにより、CHA21Aからのデータ(LUN+LBA)は、VDEV101用のデータ(VDEV#+SLOT#+SUBBLOCK#)に変換される。
次に、CHF21Bは、図13(b)に示す第2の変換テーブルT2を参照して、VDEV101用のデータを、第2の記憶制御システム40の外部LUN(外部LDEV42)用に送信して記憶させるためのデータに変換する。第2の変換テーブルT2には、例えば、VDEV101の番号(VDEV#)と、そのVDEV101からのデータを第2の記憶制御システム40に送信するためのイニシエータポートの番号と、データ転送先の通信ポート41を特定するためのWWNと、その通信ポートを介してアクセス可能なLUNとが対応付けられている。この第2の変換テーブルT2に基づいて、CHF21Bは、記憶させるべきデータの宛先情報を、イニシエータポート番号#+WWN+LUN+LBAの形式に変換する。このように宛先情報が変更されたデータは、指定されたイニシエータポートから通信ネットワークCN2を介して、指定された通信ポート41に到達する。そして、データは、指定されたLUN43でアクセス可能な外部LDEV42の所定の場所に格納される。外部LDEV42は、複数のディスク記憶装置401上に仮想的に構築されているので、データのアドレスは物理アドレスに変換されて、所定のディスクの所定アドレスに格納される。
図13(c)は、別の第2の変換テーブルT2aを示す。この変換テーブルT2aは、外部記憶デバイス42に由来するVDEV101に、ストライプやRAIDを適用する場合に使用される。変換テーブルT2aは、VDEV番号(VDEV#)と、ストライプサイズと、RAIDレベルと、第2の記憶制御システム40を識別するための番号(SS#(ストレージシステム番号))と、イニシエータポート番号と、通信ポート41のWWN及びLUN43の番号とを対応付けることにより構成されている。図13(c)に示す例では、1つのVDEV101は、SS#(1,4,6,7)で特定される合計4つの外部記憶制御システムを利用してRAID1を構成する。また、SS#1に割り当てられている3個のLUN(#0,#0,#4)は、同一デバイス(LDEV#)に設定されている。なお、LUN#0のボリュームは、2個のアクセスデータパスを有する交代パス構造を備えている。このように、本実施例では、外部に存在する複数の論理ボリューム(LDEV)からVDEV101を構成することにより、ストライピングやRAID等の機能を追加した上でCHA21Aに提供することができる。
図14を参照して、第2の記憶制御システム40の外部LDEV42からデータを読み出す場合の流れを説明する。
まず、CHN21Aは、CHF21Bにブロック単位のI/Oリードコマンドを送信する(S131)。CHF21Bは、I/Oリードコマンドを受信すると、要求されたデータを第2の記憶制御システム40から読み出すべく、ブロック単位の別のI/Oリードコマンドを生成する。CHF21Bは、生成した別のI/Oリードコマンドを第2の記憶制御システム40に送信する(S132)。第2の記憶制御システム40は、CHF21Bから受信した別のI/Oリードコマンドに応じて、要求されたデータを外部LDEV42から読み出して、CHF21Bに送信し(S133)、正常に読み出しが完了した旨を報告する(S135)。CHF21Bは、図14(b)に示すように、第2の記憶制御システム40から受信したデータを、キャッシュメモリ24の所定の場所に格納する(S134)。
CHF21Bは、キャッシュメモリ24に格納されたデータを読み出し、アドレス変換を行った後、LUN103等を介してCHN21Aにデータを送信する(S136)。CHN21Aは、読み出し完了報告を行う(S137)。これらデータ読み出し時の一連の処理では、図13と共に述べた変換操作が逆向きで行われる。
図14では、CHN21Aからの要求に応じて、第2の記憶制御システム40からデータを読み出し、キャッシュメモリ24に保存するかのように示している。しかし、これに限らず、外部のLDEV42に記憶されているデータの全部または一部を、予めキャッシュメモリ24に記憶させておくこともできる。この場合、CHN21Aからの読み出しコマンドに対し、直ちにキャッシュメモリ24からデータを読み出してCHN21Aに送信することができる。
以上、上述した実施形態によれば、ホスト端末10Aから受信したファイルI/Oデータに含まれるファイル名に対応したアドレス情報(換言すれば、ファイルI/Oデータが変換されたブロックI/Oデータに含まれるアドレス情報)と、そのアドレス情報が内部と外部のどちらに対応するかを示す情報とが書かれたI/O振分け制御データ820が用意される。CHN21AのNASプロセッサ806又はI/Oプロセッサ804は、I/O振分け制御データ820を参照して、ホスト端末10Aから受信したファイルI/Oデータに含まれるファイル名に対応したアドレス情報が内部と外部のどちらに対応するかを判別し、その判別結果に基づいて、ブロックI/Oデータの転送先を、第1の記憶制御システム600内のDKA22と、CHF21Bのどちらにするかが振分けられる。CHF21Bに振分けられた場合には、CHF21Bから第2の記憶制御システム40にブロックI/Oコマンドが転送される。この結果、ホスト装置10Aは、アクセス先が第1の記憶制御システム600の内部LDEV31なのか第2の記憶制御システム40の外部LDEV42なのかを意識することなくファイルI/Oコマンドを出力しても、複数の記憶制御システムの中から選択された記憶制御システム内の記憶領域にアクセスすることができる。換言すれば、ホスト装置10A、10Bに対して、第1の記憶制御システム600と第2の記憶制御システム40とを接続して1つの記憶制御システムとして利用させることが可能である。
なお、上述した実施形態では、CHA21Cが、ホスト装置10BからSANCN3を介してブロックI/Oコマンドを受けた場合は、CHA21CのI/Oプロセッサが、I/O振分け制御データ820を参照して、受信したブロックI/Oデータに含まれるアドレス情報が内部と外部のどちらに対応するかを判別し、その判別結果に基づいて、そのブロックI/Oデータの転送先を、第1の記憶制御システム600内のDKA22と、CHF21Bのどちらにするかが振分けても良い。
ところで、上述した実施形態については、幾つかの変形例が考えられる。以下、各変形例について、本実施形態との相違点を主に説明する。
(1)第1の変形例。
図15は、本実施形態の第1の変形例に係るCHN21Aの構成例を示す。
この図に示すように、本実施形態の第1の変形例では、コマンド解析処理プログラム811もI/O振分け処理プログラム812も、I/Oメモリ507に格納される。
図16は、本実施形態の第1変形例に係る処理流れの一例を示す。
ホスト装置10Aから出力されたファイルI/Oコマンドは、CHN21Aが受信してCHNメモリ508に格納される(S950)。
NASプロセッサ506は、CHNメモリ508に格納されたファイルI/Oコマンドを読出すことの指示をI/Oプロセッサ504に出力し、I/Oプロセッサ504が、その指示に応答して、CHNメモリ508からファイルI/Oコマンドを読み出す(S951)。そして、I/Oプロセッサ504が、ファイル解析処理プログラム811に従って、そのファイルI/Oコマンドがファイルライトコマンドであるか或いはファイルリードコマンドであるか等の解析を行い(S952)、解析結果をNASプロセッサ506に通知する(S953)。
NASプロセッサ506は、通知された解析結果を基に、ファイルシステムプログラム817に従って、ファイルI/OコマンドをブロックI/Oコマンドに変換し(S954)、そのブロックI/OコマンドをI/Oプロセッサ504に送信する(S955)。
I/Oプロセッサ504は、受信したブロックI/Oコマンドに含まれるアドレス情報と、I/O振分け制御データ820とに基づいて、前述したI/O振分け処理を行う(S956)。
S956のI/O振分け処理の結果、外部アクセス要求処理を行うことになれば(S957でY)、I/Oプロセッサ504は、ブロックI/OコマンドをCHF21BのI/Oプロセッサ504に出力する(S958)。その場合、CHF21AのI/Oプロセッサ603は、上述した外部アクセス処理を行い(S959)。
S956のI/O振分け処理の結果、内部アクセス要求処理を行うことになれば(S957でN)、I/Oプロセッサ504は、ブロックI/Oコマンドを、接続部26を介してDKA22に送信する(S960)。
S956のI/O振分け処理の結果、外部アクセス要求処理と内部アクセス要求処理の両方を行うことになれば、I/Oプロセッサ504は、S958とS960の両方を行う。
(2)第2の変形例。
図17は、本実施形態の第2の変形例に係るCHN21Aの構成例を示す。
この図に示すように、本実施形態の第2の変形例では、コマンド解析処理プログラム811なCHNメモリ508に格納され、I/O振分け処理プログラム812は、I/Oメモリ507に格納される。
図18は、本実施形態の第2変形例に係る処理流れの一例を示す。
ホスト装置10Aから出力されたファイルI/Oコマンドは、CHN21Aが受信してCHNメモリ508に格納される(S151)。
NASプロセッサ506は、CHNメモリ508に格納されたファイルI/Oコマンドを読出し(S152)、ファイル解析処理プログラム811に従うコマンド解析処理を行う(S153)。そして、NASプロセッサ506は、そのファイルI/OコマンドをブロックI/Oコマンドに変換して(S154)、そのブロックI/OコマンドをI/Oプロセッサ504に送信する(S155)。
I/Oプロセッサ504は、受信したブロックI/Oコマンドに含まれるアドレス情報と、I/O振分け制御データ820とに基づいて、前述したI/O振分け処理を行う(S956)。
この後の処理は、図16のS957〜S960と同様である(S157〜S160)。
(3)第3変形例。
図19は、本実施形態の第3変形例に係る記憶システムの構成を示すブロック図である。
この図に示すように、CHN21AとCHF21Bとを一体にしたCHF・CHN一体アダプタ21Dを第1の記憶制御システム600に搭載することができる。
図20は、CHF・CHN一体アダプタ21Dの構成例を示す。
CHF・CHN一体アダプタ21Dは、図5に示したCHA21Aの構成要素に加えて、通信ポート207BとFCコントローラ602とを備える。FCコントローラ602は、ブリッジLSI504と通信ポート207Bとに接続される。
また、CHF・CHN一体アダプタ21DのI/Oメモリ507には、図6を参照して説明した外部アクセス処理プログラム814が格納されている。
なお、図示の例では、I/Oメモリ507にI/O振り分け処理プログラム812が格納され、CHNメモリ508にコマンド解析処理プログラム811が格納されているが、各プログラム811、812は、どちらのメモリ507、508にも格納することができる。
(4)第4変形例。
図21は、本実施形態の第4変形例に係る記憶システムの構成を示すブロック図である。
この図に示すように、第1の記憶制御システム600にCHN21Aを搭載する代わりに、第1の記憶制御システム600に搭載の複数のCHA21Cの各々と、第1の記憶制御システム600の外部にある第4の通信ネットワーク(例えばSAN)CN4を介して、第3の記憶制御システム(例えばNASヘッド、以下、「NASヘッド」とする)950とが接続されている。NASヘッド950には、LANCN1に接続される通信ポート951Aと、SANCN4に接続される通信ポート951Bとが備えられている。
図22は、NASヘッド950及びCHA21Cの構成例を示す。
NASヘッド950には、通信ポート951Aに接続されたLANコントローラ1503と、LANコントローラ1503に接続されたブリッジLSI1502と、NASメモリ1508と、NASプロセッサ1506と、NASメモリ1508及びNASプロセッサ1506に接続されたメモリコントローラ1505と、ブリッジLSI1502及び通信ポート951Bに接続されたFCコントローラ1602とが備えられる。これら各構成要素は、CHN21A(図5参照)及びCHF21B(図6参照)の構成要素と同一の名称を有するものであれば、それと同様の機能を有する。NASメモリ1508は、CHNメモリ508と同様の機能を有する。
CHA21Cには、通信ポート207Cを介してSANCN4に接続されたFCコントローラ711と、I/Oプロセッサ119及びI/Oメモリ121を有する1又は複数の入出力制御部771と、FCコントローラ711及びI/Oプロセッサ119に接続されたデータ転送LSI952と、第1の記憶制御システム600の接続部26及びデータ転送LSI952に接続されるコネクタ954とが備えられる。これら各構成要素は、CHN21A(図5参照)及びCHF21B(図6参照)の構成要素と同一の名称を有するものであれば、それと同様の機能を有する。
第1の記憶制御システム600には、HUB(ハブ)953が備えられている。I/Oプロセッサ119が、HUB953を介してLANCN1及びSVP23に接続されている。
この図では、I/Oメモリ121にI/O振り分け処理プログラム812が格納され、NASメモリ1508にコマンド解析処理プログラム811が格納されているが、各プログラム811、812は、どちらのメモリ121、1508にも格納することができる。
上述した説明から分かる通り、この第4変形例では、CHN21AのNASプロセッサ506が、第1の記憶制御システム600の外部にあるNASヘッド950にNASプロセッサ1506として搭載されたものである。従って、そのNASプロセッサ1506と、CHA21Cに搭載のI/Oプロセッサ119との間で、NASプロセッサ506とI/Oプロセッサ504との間で行われる通信と同様の通信が行われれば、上述した実施形態及び第1〜第2変形例と同様のことを実現することができる。以下、一例を説明する。
図23は、本実施形態の第4変形例において、I/O振分け制御データ820の授受が行われる場合の処理流れを示す。
例えば、図23(A)に示すように、NASヘッド950のNASプロセッサ1506が、LANCN1を介して、CHA21CのI/Oプロセッサ119に、I/O振分け制御データ820を取得することの指示を出力する(S300)。
CHA21CのI/Oプロセッサ119は、その指示に応答して、CM24に記憶されているI/O振分け制御データ820を読み出しI/Oメモリ121に格納する(S301、S302)。そして、CHA21CのI/Oプロセッサ119は、そのI/Oメモリ121内のI/O振分け制御データ820を、LANCN1を介して、NASヘッド950に転送する(S303)。これにより、NASヘッド950のNASメモリ1508に、I/O振分け制御データ820が格納される(S304)。
また、例えば、図7(B)に示すように、NASヘッド950のNASプロセッサ1506が、LANCN1を介して、CHA21CのI/Oプロセッサ119に、I/O振分け制御データ820を取得することの指示を出力する(S310)。
I/Oプロセッサ119は、その指示に応答して、I/O振分け制御データ820を記憶している内部LDEV31にアクセスすることができるDKA22に、I/O振分け制御データ820を読み出すことのI/Oリードコマンドを出力する(S311)。
そのI/Oリードコマンドを受けたDKA22は、CM24上にキャッシュ領域を確保して、I/O振分け制御データ820を記憶している内部LDEV31からI/O振分け制御データ820を取得しそのキャッシュ領域に格納する(S312)。
I/Oプロセッサ119は、上記確保されたキャッシュ領域からI/O振分け制御データ820をI/Oメモリ121に読み出す(S313)。これにより、I/Oメモリ121に、I/O振分け制御データ820が格納される(S314)。
そして、I/Oプロセッサ119は、そのI/Oメモリ121内のI/O振分け制御データ820を、S310の取得指示に応答して読み出されたリード対象データとして、SANCN4を介してNASヘッド950に転送する(S315)。これにより、NASヘッド950のNASメモリ1508に、I/O振分け制御データ820が格納される(S316)。
図24は、本実施形態の第4変形例において、ホスト装置10Aから出力されたファイルI/OコマンドがブロックI/Oコマンドになって転送される場合に行われる処理流れの一例を示す。
ホスト装置10Aから出力されたファイルI/Oコマンドは、LANCN1を介して、NASヘッド950が受信してNASメモリ1508に格納される(S451)。
NASプロセッサ1506は、NASメモリ1508に格納されたファイルI/Oコマンドを読出し(S452)、ファイル解析処理プログラム811に従うコマンド解析処理を行う(S453)。そして、NASプロセッサ1506は、そのファイルI/OコマンドをブロックI/Oコマンドに変換して(S454)、そのブロックI/Oコマンドを、SANCN4を介して、CHA21CのI/Oプロセッサ119に送信する(S455)。
I/Oプロセッサ119は、受信したブロックI/Oコマンドに含まれるアドレス情報と、I/O振分け制御データ820とに基づいて、前述したI/O振分け処理を行う(S456)。
この後の処理は、図16のS957〜S960と同様である(S457〜S460)。
以上、I/Oメモリ121にI/O振り分け処理プログラム812が格納され、NASメモリ1508にコマンド解析処理プログラム811が格納されている場合を例に採り、NASヘッド950のNASプロセッサ1506と、CHA21CのI/Oプロセッサ119とのやり取りの一例を説明した。しかし、前述したように、NASプロセッサ1506と、I/Oプロセッサ119との間で、NASプロセッサ506とI/Oプロセッサ504との間で行われる通信と同様の通信が行われれば、上述した実施形態及び第1〜第2変形例と同様のことを実現することができる。換言すれば、例えば、図7〜図8、図10、図16及び図18において、CHNメモリ508をNASメモリ1508に置換し、NASプロセッサ506をNASプロセッサ1506に置換し、I/Oプロセッサ504をI/Oプロセッサ119に置換すれば、この第4変形例において、上述した実施形態及び第1〜第2変形例と同様のことを実現することができる。また、図12及び図14において、CHN21AをCHA21Cに置換することもできる。
以上、本発明の実施形態及び変形例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこの実施形態及び変形例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、上述した実施形態及び各変形例では、第1の記憶制御システム600と第2の記憶制御システム40との間の通信は、iSCSIプロトコルに従って行われても良い。その場合、例えば、第1の記憶制御システム600及び第2の記憶制御システム40のCHFに代えて、iSCSIネーム(iSCSIプロトコルにおけるユニークなID)が割当てられた通信ポートを有するチャネルアダプタiSCSIが備えられても良い。また、その場合、例えば、上述した実施形態及び各変形例において、第1の記憶制御システム600と第2の記憶制御システム40との間では、WWNの代わりにiSCSIネームがやり取りされても良い。
本発明の一実施形態に係る記憶制御システムの外観の概略を示す。 本実施形態に係る記憶システムの構成を示すブロック図である。 第1の記憶制御システム600と第2の記憶制御システム40との論理的な接続構造を示す模式図である。 マッピングテーブルTmの概要を示す説明図である。 CHN21Aの構成例を示すブロック図である。 CHF21Bの構成例を示すブロック図である。 I/O振分け制御データ820の授受に関する処理流れを示す。 ホスト装置10Aから受信したファイルI/OコマンドをブロックI/Oコマンドに変換して出力する際に行われる処理流れを示す。 振分け制御データ820に含まれるアドレス管理テーブル853及びファイルメタデータ854の構成例と、その振分け制御データ820に基づいて行われるI/O振分け処理の詳細な処理流れとを示す。 ファイルメタデータ854が更新される場合に行なわれる処理流れを示す。 第1の記憶制御システム600のCHF21BがマッピングテーブルTmを作成する場合に行われる処理流れを示す。 データ書込み時の処理を示す模式図である。 図12中の処理の流れを各種テーブルとの関係で示す説明図である。 外部LDEVからデータを読み出す場合の概念図である。 本実施形態の第1の変形例に係るCHN21Aの構成例を示す。 本実施形態の第1変形例に係る処理流れの一例を示す。 本実施形態の第2の変形例に係るCHN21Aの構成例を示す。 本実施形態の第2変形例に係る処理流れの一例を示す。 本実施形態の第3変形例に係る記憶システムの構成を示すブロック図である。 CHF・CHN一体アダプタ21Dの構成例を示す。 本実施形態の第4変形例に係る記憶システムの構成を示すブロック図である。 NASヘッド950及びCHA21Cの構成例を示す。 本実施形態の第4変形例において、I/O振分け制御データ820の授受が行われる場合の処理流れを示す。 本実施形態の第4変形例において、ホスト装置10Aから出力されたファイルI/OコマンドがブロックI/Oコマンドになって転送される場合に行われる処理流れの一例を示す。
符号の説明
2…ファイバチャネルスイッチ(FC−SW)、10A、10B…ホスト装置、11…アプリケーションプログラム、12…アダプタ、20…記憶制御サブシステム、21…チャネル制御部、21A…チャネルアダプタNAS(CHN)、21B…ファイバチャネルアダプタ(CHF)、21C…チャネルアダプタ(CHA)、22…ディスクアダプタ、23…SVP(Service Processor)、24…キャッシュメモリ、25…共有メモリ、26…接続部、30…ディスクユニット、31、32…内部LDEV、40…第2の記憶制御システム、41…通信ポート、42…外部LDEV、101…VDEV(仮想デバイス)、102…LDEV(論理デバイス)、103…LUN、600…第1の記憶制御システム、800…ディスク制御部、801…保守管理システム、820…I/O振分け制御データ、TG…マッピングテーブル群

Claims (15)

  1. 記憶デバイスへのデータの格納を制御する記憶制御システムにおいて、
    データを格納する複数の記憶デバイスと、
    受信したデータを前記複数の記憶デバイスに格納することを制御する記憶デバイス制御部と、
    前記記憶デバイス制御部に接続される接続部と、
    前記記憶制御システムの外部のローカルエリアネットワーク及びストレージネットワークの少なくとも一方と、前記接続部とに接続される第一のチャネル制御部と、
    前記第一のチャネル制御部から前記接続部を経由して送られたデータを、前記ストレージネットワークと同一の又は別のストレージネットワークを介して外部の記憶制御システムに転送する第二のチャネル制御部と、
    前記第一のチャネル制御部、前記第二のチャネル制御部及び前記記憶デバイス制御部によってやり取りされる第一の制御情報が格納される共有メモリと、
    前記第一のチャネル制御部又は前記第二のチャネル制御部と前記記憶デバイス制御部との間でやり取りされるデータを一時的に保存するキャッシュメモリと
    を備え、
    前記第一のチャネル制御部は、前記ローカルエリアネットワークを介して受けたファイルレベルのデータをブロックレベルのデータに変換する第一のプロセッサから前記ブロックレベルのデータを受信する第二のプロセッサを有し、
    前記第一のプロセッサ及び前記第二のプロセッサの少なくとも一方が、前記データが前記記憶制御システムと前記外部の記憶制御システムのどちらに格納されるべきものであるかを表す第二の制御情報に基づいて、前記ブロックレベルのデータの全部又は一部を、前記記憶制御システムと前記外部の記憶制御システムのどちらに格納するのかの判断を行い、
    前記第二のプロセッサが、前記判断の結果に基づいて、前記第一のプロセッサから受けた前記ブロックレベルのデータを、前記記憶デバイス制御部及び前記第二のチャネル制御部の少なくとも一方へ転送する、
    記憶制御システム。
  2. 前記第一のプロセッサは、ホストコンピュータから前記外部のローカルエリアネットワークを介して前記ファイルレベルのデータを受信し、
    前記第二のプロセッサが、前記判断の結果に基づいて、前記ホストコンピュータから受信したファイルレベルのデータに基づく前記ブロックレベルのデータの一部を、前記外部の記憶制御システムが有する外部の記憶領域に格納すべく、前記第二のチャネル制御部に転送し、前記ブロックレベルのデータの他の一部を、前記複数の記憶デバイスが有する内部の記憶領域に格納すべく、前記記憶デバイス制御部に転送する、
    請求項1記載の記憶制御システム。
  3. 前記第一のチャネル制御部が、前記外部の記憶制御システムが有する外部の記憶領域と、前記記憶制御システムが有する内部の記憶領域とを併せた記憶領域を論理ユニットとして、前記ファイルレベルのデータを送信するホストコンピュータのアクセス対象とする、
    請求項1記載の記憶制御システム。
  4. 前記第二の制御情報が格納される第二制御情報格納領域を更に備え、
    前記第一のプロセッサは、前記第一のチャネル制御部に備えられており、
    前記第一のプロセッサ及び前記第二のプロセッサの少なくとも一方が、前記第二制御情報格納領域に格納された前記第二の制御情報に基づいて、前記ブロックレベルのデータの全部又は一部を、前記記憶制御システムと前記外部の記憶制御システムのどちらに格納するのかの判断を行う、
    請求項1記載の記憶制御システム。
  5. 前記第二の制御情報には、複数のアドレス情報と、前記複数のアドレス情報の各々が前記記憶制御システムと前記外部の記憶制御システムのどちらに対応するのかを表す情報とが記録されており、
    前記第一のプロセッサ及び前記第二のプロセッサの少なくとも一方が、前記第二の制御情報を参照して、前記ブロックレベルのデータに含まれるアドレス情報が前記記憶制御システムと前記外部の記憶制御システムのどちらに対応するのかを判別する、
    請求項1記載の記憶制御システム。
  6. 前記第二の制御情報には、前記第一のプロセッサが管理しているファイルに関するファイルメタデータが含まれており、
    前記ファイルメタデータには、複数のファイルにそれぞれ対応した複数のファイル識別情報及び保存先アドレス情報が含まれており、
    前記第一のプロセッサが、前記受信したファイルレベルのデータが有するファイル識別情報に対応する保存先アドレス情報を前記ファイルメタデータから把握し、
    前記第一のプロセッサ及び前記第二のプロセッサの少なくとも一方が、前記第二の制御情報を参照して、前記把握された保存先アドレス情報が前記記憶制御システムと前記外部の記憶制御システムのどちらに対応するのかを判別する、
    請求項1記載の記憶制御システム。
  7. 前記記憶制御システムが有する内部の記憶領域と、前記記憶デバイスとの間に仮想中間記憶デバイスを備え、
    前記仮想中間記憶デバイスが、前記内部の記憶領域と、前記外部の記憶制御システムが有する外部の記憶領域とを対応付ける、
    請求項1記載の記憶制御システム。
  8. 記憶デバイスへのデータの格納を制御する記憶制御方法であって、
    第一のプロセッサが、ローカルエリアネットワークを介して受けたファイルレベルのデータをブロックレベルのデータに変換するステップと、
    前記第一のプロセッサと、記憶制御システムの外部の通信ネットワークに接続された第一のチャネル制御部が有する第二のプロセッサとの少なくとも一方が、前記記憶制御システムとそれの外部の記憶制御システムとのどちらに前記データが格納されるべきものであるかを表す第二の制御情報に基づいて、前記ブロックレベルのデータの全部又は一部を、前記記憶制御システムと前記外部の記憶制御システムとのどちらに格納するのかの判断を行うステップと、
    前記第二のプロセッサが、前記判断の結果に基づいて、前記第一のプロセッサから受けた前記ブロックレベルのデータを、前記記憶制御システムが備える複数の記憶デバイスにデータを格納することを制御する記憶デバイス制御部と、ストレージネットワークを介して外部の記憶制御システムに接続される第二のチャネル制御部との少なくとも一方へ転送するステップと、
    前記記憶デバイス制御部が、前記第二のプロセッサからデータを受けた場合、前記受けたデータを前記複数の記憶デバイスの少なくとも1つに格納するステップと、
    前記第二のチャネル制御部が、前記第二のプロセッサからデータを受けた場合、前記受けたデータを前記外部の記憶制御システムに転送するステップと
    を有する方法。
  9. 前記第一のプロセッサが、ホストコンピュータから前記外部のローカルエリアネットワークを介して前記ファイルレベルのデータを受信するステップを更に有し、
    前記第二のプロセッサの前記転送するステップでは、前記第二のプロセッサが、前記判断の結果に基づいて、前記ホストコンピュータから受信したファイルレベルのデータに基づく前記ブロックレベルのデータの一部を、前記外部の記憶制御システムが有する外部の記憶領域に格納すべく、前記第二のチャネル制御部に転送し、前記ブロックレベルのデータの他の一部を、前記複数の記憶デバイスが有する内部の記憶領域に格納すべく、前記記憶デバイス制御部に転送する、
    請求項8記載の方法。
  10. 前記第一のチャネル制御部が、前記外部の記憶制御システムが有する外部の記憶領域と、前記記憶制御システムが有する内部の記憶領域とを併せた記憶領域を論理ユニットとして、前記ファイルレベルのデータを送信するホストコンピュータのアクセス対象とするステップを更に有する、
    請求項8記載の方法。
  11. 前記第二の制御情報を第二制御情報格納領域に格納するステップを更に有し、
    前記第一のプロセッサは、前記第一のチャネル制御部に備えられており、
    前記判断を行うステップでは、前記第一のプロセッサ及び前記第二のプロセッサの少なくとも一方が、前記第二制御情報格納領域に格納された前記第二の制御情報に基づいて、前記ブロックレベルのデータの全部又は一部を、前記記憶制御システムと前記外部の記憶制御システムのどちらに格納するのかの判断を行う、
    請求項8記載の方法。
  12. 前記第二の制御情報には、複数のアドレス情報と、前記複数のアドレス情報の各々が前記記憶制御システムと前記外部の記憶制御システムのどちらに対応するのかを表す情報とが記録されており、
    前記判断を行うステップでは、前記第一のプロセッサ及び前記第二のプロセッサの少なくとも一方が、前記第二の制御情報を参照して、前記ブロックレベルのデータに含まれるアドレス情報が前記記憶制御システムと前記外部の記憶制御システムのどちらに対応するのかを判別する、
    請求項8記載の方法。
  13. 前記第二の制御情報には、前記第一のプロセッサが管理しているファイルに関するファイルメタデータが含まれており、
    前記ファイルメタデータには、複数のファイルにそれぞれ対応した複数のファイル識別情報及び保存先アドレス情報が含まれており、
    前記第一のプロセッサが、前記受信したファイルレベルのデータが有するファイル識別情報に対応する保存先アドレス情報を前記ファイルメタデータから把握するステップを更に有し、
    前記判断を行うステップでは、前記第一のプロセッサ及び前記第二のプロセッサの少なくとも一方が、前記第二の制御情報を参照して、前記把握された保存先アドレス情報が前記記憶制御システムと前記外部の記憶制御システムのどちらに対応するのかを判別する、
    請求項8記載の方法。
  14. 前記記憶制御システムが有する内部の記憶領域と、前記記憶デバイスとの間に備えられる仮想中間記憶デバイスを介して、前記内部の記憶領域と、前記外部の記憶制御システムが有する外部の記憶領域とを対応付けるステップを更に有する、
    請求項8記載の方法。
  15. ローカルエリアネットワークを介してファイルレベルのデータを受信する記憶制御システムにおいて、
    受信したファイルレベルのデータを格納するメモリと、
    前記メモリに格納されたファイルレベルのデータをブロックレベルのデータに変換するプロセッサと
    を備え、
    前記プロセッサが、前記データが前記記憶制御システムと前記外部の記憶制御システムのどちらに格納されるべきものであるかを表す第二の制御情報に基づいて、前記ブロックレベルのデータの全部又は一部を、前記記憶制御システムの外部にある第一の記憶制御システムと、前記第一の記憶制御システムの外部にある第二の記憶制御システムのどちらに格納するのかの判断を行い、前記判断の結果と前記ブロックレベルのデータを、ストレージネットワークを介して前記第一の記憶制御システムに転送する、
    記憶制御システム。
JP2004061934A 2004-03-05 2004-03-05 記憶制御システム及び方法 Withdrawn JP2005250938A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004061934A JP2005250938A (ja) 2004-03-05 2004-03-05 記憶制御システム及び方法
US10/842,490 US7143228B2 (en) 2004-03-05 2004-05-11 Storage control system and method for storing block level data in internal or external storage control system based on control information via networks
EP04256325A EP1571542B1 (en) 2004-03-05 2004-10-14 Storage control system and method
DE602004011467T DE602004011467T2 (de) 2004-03-05 2004-10-14 Speichersteuerungssystem und -verfahren
US11/582,324 US7337264B2 (en) 2004-03-05 2006-10-18 Storage control system and method which converts file level data into block level data which is stored at different destinations based on metadata of files being managed
US12/003,263 US7707357B2 (en) 2004-03-05 2007-12-21 Storage control system and method having first and second channel control sections which convert file level data to block level data, judge whether block level data is to be stored in external storage and identifies save destination address of file level data based on metadata

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004061934A JP2005250938A (ja) 2004-03-05 2004-03-05 記憶制御システム及び方法

Publications (1)

Publication Number Publication Date
JP2005250938A true JP2005250938A (ja) 2005-09-15

Family

ID=34747690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004061934A Withdrawn JP2005250938A (ja) 2004-03-05 2004-03-05 記憶制御システム及び方法

Country Status (4)

Country Link
US (3) US7143228B2 (ja)
EP (1) EP1571542B1 (ja)
JP (1) JP2005250938A (ja)
DE (1) DE602004011467T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007199891A (ja) * 2006-01-25 2007-08-09 Hitachi Ltd ストレージシステム及び記憶制御装置
JP2007242019A (ja) * 2006-03-07 2007-09-20 Hewlett-Packard Development Co Lp 分散データの階層的管理のための方法及びシステム

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904428B2 (en) 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
US7296008B2 (en) * 2004-08-24 2007-11-13 Symantec Operating Corporation Generation and use of a time map for accessing a prior image of a storage device
US7287133B2 (en) 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US7577806B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7725760B2 (en) 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7991748B2 (en) 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
US7631120B2 (en) 2004-08-24 2009-12-08 Symantec Operating Corporation Methods and apparatus for optimally selecting a storage buffer for the storage of data
US7827362B2 (en) 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US7730222B2 (en) 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US7577807B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Methods and devices for restoring a portion of a data store
WO2005064480A2 (de) * 2003-12-30 2005-07-14 Wibu-Systems Ag Verfahren zum steuern eines datenverarbeitungsgeräts
JP2005250938A (ja) * 2004-03-05 2005-09-15 Hitachi Ltd 記憶制御システム及び方法
US7240154B2 (en) * 2004-06-28 2007-07-03 Emc Corporation Low cost flexible network accessed storage architecture
US7130960B1 (en) * 2005-04-21 2006-10-31 Hitachi, Ltd. System and method for managing disk space in a thin-provisioned storage subsystem
JP4824374B2 (ja) * 2005-09-20 2011-11-30 株式会社日立製作所 ディスクの回転を制御するシステム
US7363418B1 (en) * 2005-09-28 2008-04-22 Emc Corporation Data storage system volume matrix
CN100581172C (zh) * 2006-04-19 2010-01-13 杭州华三通信技术有限公司 一种对目的磁盘进行访问的方法和扩展磁盘容量的系统
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
KR101490327B1 (ko) 2006-12-06 2015-02-05 퓨전-아이오, 인크. 뱅크 인터리브를 이용한 솔리드-스테이트 스토리지의 명령 관리 장치, 시스템 및 방법
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
JP2009211234A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
US9323681B2 (en) 2008-09-18 2016-04-26 Avere Systems, Inc. File storage system, cache appliance, and method
US8214404B2 (en) 2008-07-11 2012-07-03 Avere Systems, Inc. Media aware distributed data layout
US9342528B2 (en) * 2010-04-01 2016-05-17 Avere Systems, Inc. Method and apparatus for tiered storage
US8527697B2 (en) * 2009-07-20 2013-09-03 Netapp, Inc. Virtualized data storage in a network computing environment
CN102696010B (zh) 2009-09-08 2016-03-23 才智知识产权控股公司(2) 用于将数据高速缓存在固态存储设备上的装置、系统和方法
US20110167210A1 (en) * 2009-10-16 2011-07-07 Samsung Electronics Co., Ltd. Semiconductor device and system comprising memories accessible through dram interface and shared memory region
US10025523B1 (en) * 2009-12-28 2018-07-17 EMC IP Holding Company LLC Techniques for processing data requests directed to virtualized devices
US8966184B2 (en) 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US8938481B2 (en) 2012-08-13 2015-01-20 Commvault Systems, Inc. Generic file level restore from a block-level secondary copy
US10346095B2 (en) 2012-08-31 2019-07-09 Sandisk Technologies, Llc Systems, methods, and interfaces for adaptive cache persistence
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
GB2534693B (en) * 2013-11-08 2017-02-08 Exacttrak Ltd Data accessibility control
US9798596B2 (en) 2014-02-27 2017-10-24 Commvault Systems, Inc. Automatic alert escalation for an information management system
US11249858B2 (en) 2014-08-06 2022-02-15 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US9852026B2 (en) 2014-08-06 2017-12-26 Commvault Systems, Inc. Efficient application recovery in an information management system based on a pseudo-storage-device driver
US10360110B2 (en) 2014-08-06 2019-07-23 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or iSCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
WO2016122491A1 (en) * 2015-01-28 2016-08-04 Hewlett-Packard Development Company, L.P. Page cache in a non-volatile memory
US9766825B2 (en) 2015-07-22 2017-09-19 Commvault Systems, Inc. Browse and restore for block-level backups
US10296368B2 (en) 2016-03-09 2019-05-21 Commvault Systems, Inc. Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount)
US10740193B2 (en) 2017-02-27 2020-08-11 Commvault Systems, Inc. Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US10664352B2 (en) 2017-06-14 2020-05-26 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
US11347707B2 (en) 2019-01-22 2022-05-31 Commvault Systems, Inc. File indexing for virtual machine backups based on using live browse features
US10872069B2 (en) 2019-01-22 2020-12-22 Commvault Systems, Inc. File indexing for virtual machine backups in a data storage management system
US11301403B2 (en) * 2019-03-01 2022-04-12 Micron Technology, Inc. Command bus in memory

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2508967B2 (ja) 1993-06-17 1996-06-19 日本電気株式会社 デ―タ処理指示方式
US5680640A (en) 1995-09-01 1997-10-21 Emc Corporation System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state
US5941972A (en) 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6715034B1 (en) 1999-12-13 2004-03-30 Network Appliance, Inc. Switching file system request in a mass storage system
US6739427B2 (en) * 2001-02-02 2004-05-25 Bacou-Dalloz Fall Protection Investment, Inc. Safety harness
US6779063B2 (en) 2001-04-09 2004-08-17 Hitachi, Ltd. Direct access storage system having plural interfaces which permit receipt of block and file I/O requests
JP4632574B2 (ja) 2001-05-25 2011-02-16 株式会社日立製作所 記憶装置およびファイルデータのバックアップ方法およびファイルデータのコピー方法
US6728848B2 (en) * 2001-06-11 2004-04-27 Hitachi, Ltd. Method and system for backing up storage system data
JP2003162439A (ja) 2001-11-22 2003-06-06 Hitachi Ltd ストレージシステム及びその制御方法
JP4704659B2 (ja) 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
JP2004021556A (ja) * 2002-06-14 2004-01-22 Hitachi Ltd 記憶制御装置およびその制御方法
JP2004185544A (ja) 2002-12-06 2004-07-02 Hitachi Ltd 記憶デバイス制御装置システムの制御方法、及び記憶デバイス制御装置システム
JP2004220216A (ja) * 2003-01-14 2004-08-05 Hitachi Ltd San/nas統合型ストレージ装置
JP2004227098A (ja) * 2003-01-20 2004-08-12 Hitachi Ltd 記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置
JP4387116B2 (ja) * 2003-02-28 2009-12-16 株式会社日立製作所 ストレージシステムの制御方法、及びストレージシステム
JP4297747B2 (ja) * 2003-08-06 2009-07-15 株式会社日立製作所 ストレージ装置
US20050071546A1 (en) 2003-09-25 2005-03-31 Delaney William P. Systems and methods for improving flexibility in scaling of a storage system
JP4307202B2 (ja) * 2003-09-29 2009-08-05 株式会社日立製作所 記憶システム及び記憶制御装置
JP4400913B2 (ja) 2003-11-26 2010-01-20 株式会社日立製作所 ディスクアレイ装置
JP4477365B2 (ja) * 2004-01-29 2010-06-09 株式会社日立製作所 複数インタフェースを有する記憶装置、および、その記憶装置の制御方法
JP2005250938A (ja) 2004-03-05 2005-09-15 Hitachi Ltd 記憶制御システム及び方法
JP2005267111A (ja) * 2004-03-17 2005-09-29 Hitachi Ltd 記憶制御システム及び記憶制御システムの制御方法
JP4648674B2 (ja) * 2004-10-01 2011-03-09 株式会社日立製作所 記憶制御装置、記憶制御システム及び記憶制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007199891A (ja) * 2006-01-25 2007-08-09 Hitachi Ltd ストレージシステム及び記憶制御装置
JP2007242019A (ja) * 2006-03-07 2007-09-20 Hewlett-Packard Development Co Lp 分散データの階層的管理のための方法及びシステム
JP4541373B2 (ja) * 2006-03-07 2010-09-08 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 分散データの階層的管理のための方法及びシステム

Also Published As

Publication number Publication date
US7707357B2 (en) 2010-04-27
DE602004011467D1 (de) 2008-03-13
EP1571542A1 (en) 2005-09-07
US20050198436A1 (en) 2005-09-08
US7143228B2 (en) 2006-11-28
US7337264B2 (en) 2008-02-26
EP1571542B1 (en) 2008-01-23
US20080209123A1 (en) 2008-08-28
US20070033343A1 (en) 2007-02-08
DE602004011467T2 (de) 2009-01-22

Similar Documents

Publication Publication Date Title
JP2005250938A (ja) 記憶制御システム及び方法
JP4307202B2 (ja) 記憶システム及び記憶制御装置
US7636818B2 (en) Storage virtualization system and method
JP5026283B2 (ja) 協調的共用ストレージアーキテクチャ
JP4383148B2 (ja) 処理オフロード機能モジュールを備えた磁気ディスクアレイ装置
US8051225B2 (en) Storage controller and controlling method therefor
US7305463B2 (en) Operation management system, management apparatus, management method and management program
JP4939154B2 (ja) ストレージ装置及び構成設定方法
JP2008134712A (ja) ファイル共有システム、ファイル共有装置及びファイル共有用ボリュームの移行方法
JP4634136B2 (ja) 記憶制御システム
JP2007141216A (ja) 複数のプロトコルアクセス可能なosdストレージサブシステムのためのシステム、方法および装置
JP4497957B2 (ja) 記憶制御システム
JP2005165852A (ja) ストレージシステム、ストレージ制御装置、ストレージシステムの制御方法
JP2006309640A (ja) 記憶制御システム及び記憶制御方法
US8732428B2 (en) Computer system and its control method
JP2006072440A (ja) ストレージ装置およびそのデータ移行方法
JP2006085401A (ja) ストレージ装置及びストレージ装置のパケットサイズ制御方法
US20090138630A1 (en) Storage system and external volume connection path searching method for storage system
JP2006134049A (ja) ホスト装置が接続される制御装置の接続部とその制御装置が備える記憶デバイスとの間の論理パスを生成する装置及び方法
JP4727190B2 (ja) ストレージ装置システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070131

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070131

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090525