JP2005535961A - ファイル・アクセス・プロトコルとブロック・アクセス・プロトコルの統合サポートを提供するマルチプロトコル・ストレージ・アプライアンス - Google Patents

ファイル・アクセス・プロトコルとブロック・アクセス・プロトコルの統合サポートを提供するマルチプロトコル・ストレージ・アプライアンス Download PDF

Info

Publication number
JP2005535961A
JP2005535961A JP2004527664A JP2004527664A JP2005535961A JP 2005535961 A JP2005535961 A JP 2005535961A JP 2004527664 A JP2004527664 A JP 2004527664A JP 2004527664 A JP2004527664 A JP 2004527664A JP 2005535961 A JP2005535961 A JP 2005535961A
Authority
JP
Japan
Prior art keywords
storage
protocol
file
appliance
access
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.)
Granted
Application number
JP2004527664A
Other languages
English (en)
Other versions
JP4440098B2 (ja
Inventor
パウロウスキー,ブライアン
スリニヴァサン,モハン
リー,ハーマン
ラジャン,ビジャヤン
ピットマン,ジョセフ,シー
Original Assignee
ネットワーク・アプライアンス・インコーポレイテッド
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 ネットワーク・アプライアンス・インコーポレイテッド filed Critical ネットワーク・アプライアンス・インコーポレイテッド
Publication of JP2005535961A publication Critical patent/JP2005535961A/ja
Application granted granted Critical
Publication of JP4440098B2 publication Critical patent/JP4440098B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • 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/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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]

Abstract

記憶装置に格納された情報にアクセスするためのファイル・プロトコルおよびブロック・プロトコルを、ネットワーク・アタッチド・ストレージ(NAS)デプロイメントとストレージ・エリア・ネットワーク(SAN)デプロイメントの両方に対し、統一的方法でサービス提供するマルチプロトコル・ストレージ・アプライアンス。該アプライアンスのストレージ・オペレーティング・システムは、新規の仮想化モジュールと協働するファイルシステムを実施し、記憶装置によって提供された記憶空間を「仮想化」する仮想システムを提供する。特に、ファイルシステムは、記憶装置に格納された情報をブロック・アクセスをする際に使用されるボリューム管理機能を提供する。仮想化システムは、ファイルシステムが情報を名前付きのファイル、ディレクトリおよび仮想ディスク(vdisk)ストレージ・オブジェクトとして論理編成できるようにし、ファイルやディレクトリに対するファイル単位のアクセスを可能にするとともに、vdiskに対するブロック単位のアクセスを更に可能にすることにより、NASアプライアンスとSANアプライアンスの統一的記憶方法を提供する。

Description

本発明はストレージ・システムに関し、詳しくは、ファイル・プロトコルとブロック・プロトコルをサポートするマルチプロトコル・ストレージアプライアンスに関する。
ストレージ・システムとは、メモリ、テープ、ディスクのような書き込み可能な持続性記憶装置における情報編成に関するストレージサービスを提供するコンピュータである。ストレージ・システムは一般に、ストレージ・エリア・ネットワーク(SAN)環境や、ネットワーク・アタッチド・ストレージ(NAS)環境に配置される。NAS環境で使用される場合、ストレージ・システムはオペレーティングシステムを含むファイルサーバとして実施され、情報をディレクトリやファイルの階層構造として(例えばディスク上に)論理編成するファイルシステムを実施する。「ディスク上」の各ファイルは、ファイルの実際のデータ等の情報を格納するように構成された、例えばディスクブロックのような一連のデータ構造として実施される。一方、ディレクトリは、他のファイルやディレクトリに関する情報を格納する特別な形のファイルとして実施される。
さらに、ファイルサーバまたはファイラは、クライアント/サーバモデルの情報配送に従って動作するように構成される。そのため、多数のクライアントシステム(クライアント)が、ファイラに格納されたファイル等の共有リソースにアクセスすることができる。ファイルの共有はNASシステムの特徴であり、これはファイルやファイルシステムに対する意味レベルのアクセスによって実施される。NASシステム上の情報ストレージは一般に、地理的に分散されたイーサネット(登録商標)のような相互接続通信リンクの集まりを含むコンピュータネットワーク全体にわたって配置される。クライアントは一般に、TCP/IPのような所定のプロトコルに従って個々のデータフレームやデータパケットをやり取りすることによってファイラと通信する。
クライアント/サーバモデルの場合、クライアントは、ポイント・ツー・ポイントリンク、共有ローカルエリアネットワーク、ワイドエリアネットワーク、あるいはインターネット等の公共ネットワーク上に実施された仮想私設ネットワークなどのコンピュータネットワークを介してクライアントをファイラに「接続」するためのアプリケーションを、コンピュータ上で実行している。NASシステムは一般に、ファイル単位のアクセス・プロトコルを使用している。従って各クライアントは、アクセスしたい1以上のファイルをそのデータがディスク上に格納されている位置(例えばブロック)とは無関係に識別し、ネットワークを介してファイルシステム・プロトコル・メッセージを(パケットの形で)ファイルシステムに発行することにより、ファイラにサービスを要求する。従来のCIFS(Common Internet File System)プロトコル、NFS(Network File System)プロトコル、DAFS(Direct Access File System)プロトコルといった複数のファイルシステムプロトコルをサポートするために、クライアントと通信するファイラの機能は拡張される場合もある。
SANは、ストレージ・システムと該ストレージ・システムが有する記憶装置との間にダイレクト接続を確立することが可能な高速ネットワークである。SANは、ストレージ・バスに対する拡張のように見える。そのため、ストレージ・システムのオペレーティングシステムは、「拡張バス」を介して、ブロック単位のアクセス・プロトコルにより、格納された情報にアクセスすることができる。その場合、拡張バスは一般に、「SCSI encapsulated over FC」または「SCSI encapsulated over TCP/IP/Ethernet」のようなブロックアクセスプロトコルを用いて動作するように構成されたファイバチャネル(FC)またはイーサネット(登録商標)媒体(すなわちネットワーク)として実施される。
SAN構成すなわちSANデプロイメントでは、アプリケーションサーバ等のストレージ・システムからストレージを切り離し、ある程度の情報ストレージをアプリケーションサーバレベルで共有することができる。しかしながら、SANが1つのサーバに対して専用になっている環境もある。SAN環境の中には、情報をデータベース形態に編成するものもあれば、ファイル単位の編成を使用するものもある。情報がファイルとして編成される場合、情報を要求するクライアントは、ファイルマッピングを保持し、ファイルセマンティックを管理するとともに、その要求(およびサーバ応答)をディスク上のブロックアドレスによって、例えば論理ユニット番号(LUN)によってアドレス指定する。
従来の方法は一般に、2つの異なる手法を用いてSAN環境とNAS環境に対処する。両方の環境に対して1つの手法を提供するそれらの方法の場合、NAS機能は通常、SANストレージ・プラットフォームに取り付けられた例えば「サイドカー」デバイスを用いて、SANストレージ・プラットフォーム上に配置される。しかしながら、それらの従来システムは通常、ストレージをSANストレージ・ドメインとNASストレージ・ドメインのそれぞれに分割してしまう。すなわち、SANドメインの記憶空間とNASドメインの記憶空間が共存することはなく、それらが、例えばユーザ(システム管理者)によって実施される構成プロセスにより物理的に区分される。
そのような従来システムの一例は、EMC(登録商標)社から市販されているSymmetrix(登録商標) systemプラットフォームである。大まかに言えば、SANストレージ・システム(Symmetrix system)の個々のディスクは、NAS・サイドカー・デバイス(例えば、Celerra(登録商標)デバイス)に割り当てられ、次いでそれらのディスクが、例えばNFSプロトコルやCIFSプロトコルによってNASクライアントにエクスポートされる。システム管理者は、「ユーザ定義ボリューム」を構築するために集めるそれらのディスクの「スライス」(エクステント)の位置およびディスク数を決定した後、それらのボリュームをどう使うかを決定する。従来からSAN環境で使用されている「ボリューム」という用語は、物理ディスクと、それらのディスク内のエクステントとを指定し、それらのエクステント/ディスクをユーザ定義ボリュームエンティティに結合させる処理によって構築されたストレージ・エンティティを意味する。注意すべき点は、ユーザ定義ボリュームを含むSAN系ディスクとNAS系ディスクとが、システムプラットフォーム内で物理的に区分される点である。
一般にシステム管理者は、その決定を、システムの基礎物理態様に関する知識を有するユーザ向けの複雑なユーザ・インタフェースを通じて実施する。つまり、クライアントに代わってSANプラットフォームのビューを提供するために、システム管理者がユーザ・インタフェースで操作しなければならないものは、物理的ディスク構造や管理が中心となる。例えば、ユーザ・インタフェースは、物理ディスクの指定を促すとともに、ユーザ定義ボリュームを構築するのに必要とされるそれらのディスク内のエクステントのサイズの指定を促す場合がある。さらに、ユーザ・インタフェースは、そうしたエクステントやディスクの物理的位置の指定を促すだけでなく、それらを「相互接合」(編成)し、それらをディスクまたはLUNに対応するユーザ定義ボリュームとしてSANクライアントから見えるようにする(エククスポートする)態様の指定を促す。物理ディスクおよびそれらのエクステントが選択され、ボリュームが構築された後、それらのディスク/エクステントだけが、そのボリュームを含む。システム管理者は、構築されたボリュームに対し、信頼性の形、例えば、RAID(Redundant Array of Independent Disks)保護レベルおよび/またはミラーリングなどをさらに指定しなければならない。そして、RAIDグループが、それらの選択されたディスク/エクステントの最上部に置かれる。
要するに、従来システムの方法では、システム管理者が、ディスクの物理レイアウトやディスクの編成を詳細に設定し、SANクライアントに対して1つのLUNとしてエクスポートされるユーザ定義ボリュームを作成しなければならない。この従来の方法に関連する管理はすべて、物理ディスク単位で行なわれる。システム管理者がユーザ定義ボリュームのサイズを拡大する場合、ディスクを追加し、ボリュームを構成するディスクに格納されたデータに関連する冗長情報を含めるようにRAID計算を再計算する。明らかに、これは複雑でコストのかかる方法である。
本発明は、SANストレージ環境およびNASストレージ環境に対し、簡単で効率的な統合型ソリューションを提供することを目的としている。
本発明は、記憶装置に格納された情報にアクセスするためのファイル・プロトコルおよびブロック・プロトコルを、ネットワーク・アタッチド・ストレージ(NAS)環境とストレージ・エリア・ネットワーク(NAS)環境の両方に対し、統一された態様でサービス提供するマルチプロトコル・ストレージ・アプライアンスに関する。このアプライアンスのストレージ・オペレーティングシステムは、新規の仮想化モジュールと協働するファイルシステムを実施し、記憶装置によって提供される記憶空間を「仮想化」する仮想化システムを提供する。特に、ファイルシステムは、記憶装置に格納された情報に対するブロック単位のアクセスに使用されるボリューム管理機能を提供する。仮想化システムは、ファイルシステムが、情報を名前付きのファイル、ディレクトリおよび仮想ディスク(vdisk)・ストレージ・オブジェクトとして論理編成できるようにし、ファイルやディレクトリに対するファイル単位のアクセスを可能にすると同時に、vdiskに対するブロック単位のアクセスをさらに可能にすることにより、NASアプライアンスとSANアプライアンスの統一的記憶方法を提供する。
実施例において、仮想化モジュールは、例えばvdiskモジュールおよびSCSI(Small Computer Systems Interface)ターゲット・モジュールとして実施される。vdiskモジュールは、ブロックベースのSCSIターゲット・モジュールからファイルシステムによって管理されるブロックへのデータ・パスを提供する。また、vdiskモジュールは、システム管理者によってマルチプロトコル・ストレージ・アプライアンスに発行されたコマンドに応答し、ファイルシステムに作用し、簡易ユーザ・インタフェース(UI)などの管理インタフェースによるアクセスを有効にする。さらに、vdisk管理モジュールは、とりわけ、システム管理者によってUIを通じて発行された一連のvdiskコマンドを実行することにより、SANデプロイメントを管理する。それらのvdiskコマンドは原始的なファイルシステム処理に変換され、ファイルシステムおよびSCSIターゲット・モジュールに作用し、vdiskを実施する。
次にSCSIターゲット・モジュールは、アクセス要求に対する応答として、アクセス要求の中で指定されたLUNに対する論理ブロックアクセスをvdiskに対する仮想ブロックアクセスに変換し、vdiskをLUNに変換する。次にSCSIターゲット・モジュールは、SANブロック(LUN)空間と、LUNがブロックとして表現されるファイルシステム空間との間の、仮想化システムの変換層として機能する。SAN仮想化をファイルシステム上に「配置」することにより、マルチプロトコル・ストレージ・アプライアンスは、従来のシステムで行なわれている方法を逆にすることにより、実質的に全てのストレージ・アクセス・プロトコルについて単一の統一されたストレージプラットフォームを提供する。
有利なことに、統合型マルチプロトコル・ストレージ・アプライアンスは、データの完全性を維持しつつ、アクセス制御を提供し、適当であれば、全てのプロトコルについてファイルおよびvdiskの共有を提供する。さらに、ストレージ・アプライアンスは、NASストレージ・オブジェクトやSANストレージ・オブジェクトを作成するときにユーザがストレージリソースを配分する必要性を無くす埋め込み型/一体型仮想化機能を提供する。それらの機能は、アプライアンス内の汎用空間管理に関し、SANオブジェクトとNASオブジェクトとを共存させることが可能な仮想化記憶空間を含む。さらに、統合型マルチプロトコル・ストレージ・アプライアンスは、同一ディスクに対する複数のブロックアクセスプロトコルの同時サポートを提供するだけでなく、クラスタリングをサポートする異種のSAN環境も提供する。
本発明の上記の利点およびその他の利点は、添付の図面とともに下記の説明を参照することで、さらによく理解できるであろう。図中、同一の参照符号は、同一要素または機能的に類似の要素を指している。
本発明は、記憶装置に格納された情報にアクセスするためのファイル・プロトコルおよびブロックプロトコルを、統一的態様でサービス提供するマルチプロトコル・ストレージ・アプライアンスに関する。これに関し、統合型マルチプロトコル・アプライアンスとは、ネットワーク・アタッチド・ストレージ(NAS)デプロイメントやストレージ・エリア・ネットワーク(SAN)のユーザ(システム管理者)およびクライアントにとって記憶空間が再利用可能であることを含めて、ストレージ・サービスの管理が容易であることや、記憶装置の再構成が簡単であること等の特徴を有するコンピュータを意味する。ストレージ・アプライアンスは、ファイルシステムを通してNASサービスを提供するとともに、SAN仮想化を通じて論理ユニット番号(LUN)のエミュレーションを含むSANサービスを提供する。
図1は、ディスク130などの記憶装置上での情報編成に関するストレージ・サービスを提供するように構成されたマルチプロトコル・ストレージ・アプライアンス100を示す略ブロック図である。ストレージ・アプライアンス100は例えば、システム・バス123によって相互接続された、プロセッサ122、メモリ124、複数のネットワーク・アダプタ125,126、ストレージ・アダプタ128を含むストレージ・システムとして実施される。また、マルチプロトコル・ストレージ・アプライアンス100は、情報を名前付きのディレクトリ、ファイルおよび仮想ディスク(vdisk)・ストレージ・オブジェクトの階層構造としてディスク130上に論理編成する仮想化システム(および、特にファイルシステム)として機能するストレージ・オペレーティング・システム200をさらに含む。
NAS系ネットワーク環境のクライアントは、ファイルの視点からストレージを見るのに対し、SAN系ネットワーク環境のクライアントは、ブロックまたはディスクの視点からストレージを見る。そのため、マルチプロトコル・ストレージ・アプライアンス100は、LUNまたはvdiskオブジェクトを作成することにより、ディスクをSANクライアントに見せる(エクスポートする)。vdiskオブジェクト(以下「vdisk」)は、仮想化システムによって実施される特殊なファイルタイプであり、SANクライアントから見るとエミュレート・ディスクとして解釈される。後で詳しく説明するように、マルチプロトコル・ストレージ・アプライアンスは、エクスポートを制御することにより、SANクライアントがそれらのエミュレート・ディスクにアクセスできるようにする。
図示の実施形態において、メモリ124は、本発明に関係するソフトウェアプログラムやデータ構造を格納するための、プロセッサやアダプタによってアドレス指定可能な複数の格納場所を有する。そして、プロセッサおよびアダプタは、ソフトウェアプログラムを実行し、データ構造を操作するように構成された処理要素および/または論理回路を含む。ストレージ・オペレーティング・システム200の一部は通常、メモリに常駐し、それらの処理要素によって実行され、特に、ストレージ・アプライアンスによって実施されるストレージサービスを支える記憶処理を実施することにより、ストレージ・アプライアンスの機能を構成する。本明細書に記載されている本発明のシステムおよび方法に関係するプログラム命令を記憶または実行するために、他の処理手段や、種々のコンピュータ読取可能媒体のような他の記憶手段を使用してもよいことは、当業者にとって明らかであろう。
ネットワークアダプタ125は、以下で例示的なイーサネット(登録商標)ネットワーク165と呼ぶポイント・ツー・ポイントリンク、ワイドエリアネットワーク、公共ネットワーク上で実施される仮想私設ネットワーク、または共有ローカルエリアネットワークを介して、ストレージ・アプライアンスを複数のクライアント160a,160bに接続する。従って、ネットワークアダプタ125は、ストレージ・アプライアンスを従来のイーサネット(登録商標)・スイッチ170のようなネットワークスイッチに接続するために必要となる機械的電気的信号回路を備えたネットワークインタフェースカード(NIC)を含む。このNAS系ネットワーク環境の場合、クライアントは、マルチプロトコル・ストレージ・アプライアンス上にファイルとして格納された情報にアクセスするように構成される。クライアント160は、TCP/IPのような所定のプロトコルに従って個々のデータフレームまたはデータパケットをやり取りすることにより、ネットワーク165を介してストレージ・アプライアンスと通信する。
クライアント160は、UNIX(登録商標)やMicrosoft Windows(登録商標)のような種々のオペレーティング・システム上でアプリケーションを実行するように構成された汎用コンピュータであってよい。クライアント・システムは一般に、NAS系ネットワークを介して(ファイルやディレクトリの形の)情報にアクセスする場合、ファイル単位のアクセス・プロトコルを使用する。従って、各クライアント160は、ネットワーク165を介してファイル・アクセス・プロトコル・メッセージを(パケットの形で)ストレージ・アプライアンス100に発行することにより、ストレージ・プライアンスにサービスを要求する。例えば、Windows(登録商標)オペレーティング・システムを実行しているクライアント160aは、「CIFS over TCP/IP」プロトコルを用いてストレージ・アプライアンス100と通信することができる。一方、UNIXオペレーティング・システムを実行しているクライアント160bは、「NFS over TCP/IP」プロトコルを用いて、若しくは「RDMA over VI」プロトコルに従って転送を行なう「DAFS over VI」プロトコルを用いて、マルチプロトコル・ストレージ・アプライアンスと通信することができる。他のタイプのオペレーティング・システムを実行する他のクライアントが、他のファイル・アクセス・プロトコルを用いて統合型マルチプロトコル・ストレージ・アプライアンスと通信することも可能であることは、当業者にとって明らかであろう。
ストレージ・ネットワーク・「ターゲット」・アダプタ126も、マルチプロトコル・ストレージ・アプライアンス100をクライアント160に接続する。クライアント160はさらに、ブロックまたはディスクとして格納された情報にアクセスするように構成される場合もある。SAN系ネットワーク環境の場合、ストレージ・アプライアンスは、ファイバ・チャネル(FC)・ネットワーク185に接続される。FCとは、SANデプロイメントで主に使用される適当なプロトコルや媒体が記載されているネットワーク規格である。ネットワーク・ターゲット・アダプタ126は、ストレージ・アプライアンス100を従来のFCスイッチ180のようなSAN・ネットワーク・スイッチに接続するために必要となる機械的電気的信号回路を備えたFCホストバスアダプタ(HBA)を含む。FC HBAは、FCアクセスを可能にするだけでなく、ストレージ・アプライアンスのファイバ・チャネル・ネットワーク処理動作の負荷も軽減する。
クライアント160は一般に、SAN系ネットワークを介して情報にアクセスするときにSCSIプロトコルのようなブロック単位のアクセス・プロトコルを使用する。SCSIは、装置に依存しない標準的プロトコルを備えた周辺装置入出力(I/O)インタフェースであり、ディスク130のような種々の周辺装置をストレージアプライアンス100に接続できるようにする。SAN環境で動作するクライアント160は、SCSI用語で「イニシエータ」と呼ばれ、データの要求やコマンドを開始する。従って、マルチプロトコル・ストレージ・アプライアンスは、要求/応答プロトコルに従ってイニシエータによって発行された要求に応答するように構成された「ターゲット」である。FCプロトコルによれば、イニシエータおよびターゲットは、終点アドレスを有し、ワールド・ワイド・ネーム(WWN)を有する。WWNは一意の識別子であり、例えば8バイトの数からなるノード名またはポート名である。
マルチプロトコル・ストレージ・アプライアンス100は、「SCSI encapsulated over TCP(iSCSI)」や、「SCSI encapsulated over FC(FCP)」のような、SAN環境で使用される種々のSCSI系のプロトコルをサポートする。従って、イニシエータ(以下、クライアント160)は、ネットワーク185を介してiSCSIメッセージやFCPメッセージを発行することにより、ターゲット(以下、ストレージ・アプライアンス100)にサービスを要求し、ディスク上に格納された情報にアクセスする。クライアントが他のブロック・アクセス・プロトコルを用いて一体化マルチプロトコル・ストレージ・アプライアンスにサービスを要求してもよいことは、当業者にとって明らかであろう。マルチプロトコル・ストレージ・アプライアンスは、複数のブロック・アクセス・プロトコルをサポートすることで、異種のSAN環境においても、vdisk/LUNに対する統一的で一貫性のあるアクセス方法を提供することができる。
ストレージ・アダプタ128は、ストレージ・アプライアンス上で実行されているストレージ・オペレーティング・システム200と協働し、クライアントから要求された情報を取得する。この情報は、ディスク130に格納されている場合もあれば、情報を格納するように構成された他の似たような媒体に格納されている場合もある。ストレージ・アダプタは、従来の高性能FCシリアルリンクトポロジのようなI/O相互接続構成を介してストレージ・アダプタをディスクに接続するためのI/Oインタフェースを有する。情報は、ストレージ・アダプタによって取得された後、システム・バス123を介してネットワーク・アダプタ125、126に転送される前に、必要に応じてプロセッサ122(若しくはアダプタ128自体)によって処理される。そしてネットワーク・アダプタ125、126は、その情報をパケットまたはメッセージの形にフォーマットし、クライアントに返送する。
アプライアンス100に対する情報の格納は、ディスク空間の全体的論理構成を定義しつつ、物理ストレージディスク130の集まりからなる1以上のストレージボリューム(例えば、VOL1〜2 150)として実施することが好ましい。ボリューム内のディスクは通常、1以上のRAIDグループに編成される。RAID実施形態は、RAIDグループ内の所与の数の物理ディスクにわたってデータを「ストライプ」状に書き込み、さらにそのストライプ状のデータに関する冗長情報を適当に記憶することによって、データ記憶の信頼性/完全性を向上させる。記憶装置が故障した場合でも、冗長情報によって、失われたデータを復元することが可能になる。本発明に従ってミラーリング等の他の冗長技術を使用することも可能であることは、当業者にとって明らかであろう。
具体的には、各ボリューム150は、RAIDグループ140、142、144として編成された物理ディスク130のアレイから構成される。RAID4レベル構成の場合、各RAIDグループの物理ディスクは、ストライプ・データ(D)を格納するように構成された物理ディスクと、それらのデータのパリティ(P)を格納するように構成された物理ディスクとを含む。ただし、他のRAIDレベル構成(例えば、RAID5など)も可能であるものと考えられる。図示の実施形態では、1台のパリティディスクと、1台のデータディスクとからなる最小構成を採用する場合がある。しかしながら、典型的な実施形態は、1つのRAIDグループ当たり3台のデータディスクと1台のパリティディスクとを含み、1つのボリューム当たり少なくとも1つのRAIDグループを含む実施形態であろう。
ディスク130に対するアクセスを容易にするために、ストレージ・オペレーティング・システム200は、新規の仮想化システムのWrite−anywareファイルシステムを実施し、ディスク130によって提供される記憶空間を「仮想化」する機能を提供する。ファイルシステムは、情報を名前付きのディレクトリおよびファイル・オブジェクト(以下、「ディレクトリ」および「ファイル」)の階層構造としてディスク上に編成する。「ディスク上」の各ファイルは、データ等の情報を格納するように構成された一連のディスク・ブロックとして実施される一方、ディレクトリは、他のファイルまたはディレクトリの名称や、それらに対するリンクを格納する特別な形のファイルとして実施される。仮想化システムは、ファイルシステムが、情報を名前付きvdiskの階層構造としてディスク上にさらに論理編成できるようにし、名前付きのファイルおよびディレクトリに対するファイル単位のアクセス(NAS)を可能にすると同時に、ファイルベースのストレージ・プラットフォーム上のvdiskに対するブロック単位のアクセス(SAN)をさらに可能にすることにより、NASアプライアンスとSANアプライアンスの統一的記憶方法を提供する。ファイルシステムは、SANデプロイメントにおける基礎物理ストレージの構成の複雑さを単純化する。
上記のように、vdiskは、普通(通常)のファイルのうち、ディスクのエミュレーションを支援するエクスポート制御および動作制限に関連するファイルに由来する、ボリューム内の特別なファイルタイプである。vdiskは、クライアントにより例えばNFSプロトコルやCIFSプロトコルを用いて作成される可能性があるファイルとは異なり、例えばユーザ・インタフェース(UI)を介して特別なタイプのファイル(オブジェクトとしてマルチプロトコル・ストレージ・アプライアンス上に作成される。例えば、vdiskは、データを保持する特別なファイルinodeと、セキュリティ情報のような属性を保持する少なくとも1つの関連ストリームinodeとを含む、マルチinodeオブジェクトである。特別なファイルinodeは、エミュレート・ディスクに関連するアプリケーション・データのようなデータを格納するためのメインコンテナとして機能する。ストリームinodeには、例えば何回ものリブート処理の間、LUNをエクスポートし続けるとともに、vdiskをSANクライアントに関連する1つのディスク・オブジェクトとして管理できるようにする属性が格納される。本発明に使用するのに都合がよいvdiskおよびそれに関連するinodeの一例については、「Storage Virtualization by Layering Vdisks on a File System」と題する本発明と同じ譲受人の同時係属中の米国特許出願第(112056−0069)号に記載されており、この特許出願は、ここで参照することにより完全に説明されたものとして本明細書に取り込まれる。
図示の実施形態において、ストレージ・オペレーティング・システムは、カリフォルニア州、サニーベイルにあるネットワーク・アプライアンス・インコーポレイテッドから市販されているNetApp Data ONTAP(登録商標)オペレーティング・システムであることが好ましい。NetApp Data ONTAP(登録商標)オペレーティング・システムは、WAFL(登録商標)(Write Anywhere File Layout)ファイルシステムを実施する。ただし、書き込み場所固定式ファイルシステムのような、何らかの適当なオペレーティング・システムを、本発明に記載された発明の原理に従って拡張して使用することも可能である。従って、「WAFL]という用語が使用された場合、その用語は、本発明の教示に適合する任意のストレージ・オペレーティング・システムを指すものとして広い意味で解釈しなければならない。
「ストレージ・オペレーティング・システム」という用語が本明細書で使用される場合、その用語は通常、データアクセスの管理を行なう、コンピュータ上で動作するコンピュータ実行可能コードを意味し、マルチプロトコル・ストレージ・アプライアンスの場合、ストレージ・オペレーティング・システムは、マイクロカーネルとして実施されるData ONTAPストレージ・オペレーティング・システムのように、データ・アクセス・セマンティックを実施する場合がある。また、ストレージ・オペレーティング・システムは、UNIX(登録商標)やWindows(登録商標)などの汎用オペレーティング・システム上で動作するアプリケーションプログラムとして実施することもでき、あるいは、本明細書に記載されるようなストレージ・アプリケーションに合わせて構成される機能構成可能な汎用オペレーティング・システムとして実施することもできる。
さらに、本明細書に記載される本発明のシステムおよび方法が、スタンドアロンのコンピュータやその一部を含むストレージ・システムとして実施される、またはストレージ・システムを含む、いかなるタイプの特殊用途のコンピュータ(例えば、ストレージ・サービス・アプライアンスなど)および汎用コンピュータにも適用できるものであることは、当業者にとって明らかであろう。さらに、本発明の教示は、限定はしないが、NAS環境、SAN環境、および、クライアントまたはホストコンピュータに直接取り付けられたディスク・アセンブリなどを含む、種々のストレージ・システム・アーキテクチャに適合させることができる。従って、「ストレージ・システム」という用語は、他の装置またはシステムに接続され、ストレージ機能を実施するように構成された何らかのサブシステムだけでなく、それらの構成も含むものとして広い意味で解釈しなければならない。
図2は、本発明で使用するのに都合がよいストレージ・オペレーティング・システム200を示す略ブロック図である。ストレージ・オペレーティング・システムは、統合型ネットワーク・プロトコル・スタックを形成するように構成された一連のソフトウェア層を含む。すなわち、一般には、ストレージ・オペレーティング・システムは、マルチプロトコル・ストレージ・アプライアンス上に格納された情報をクライアントがブロック・アクセス・プロトコルやファイル・アクセス・プロトコルを用いてアクセスできるようにするためのデータパスを提供するマルチプロトコル・エンジンを含む。プロトコルスタックは、ネットワーク・ドライバ(例えば、ギガビット・イーサネット(登録商標)・ドライバなど)からなるメディア・アクセス層210を含み、メディア・アクセス層210は、IP層212や、その支援搬送手段であるTCP層214およびユーザ・データグラム・プロトコル(UDP)層216などのネットワーク・プロトコル層と連絡する。マルチプロトコル・ファイル・アクセス機能を提供するファイルシステム・プロトコル層は、その目的のために、DAFSプロトコル218、NFSプロトコル220、CIFSプロトコル222およびハイパーテキスト・トランスファ・プロトコル(HTTP)プロトコル224を含む。VI層226は、VIアーキテクチャを実施し、DAFSプロトコル218に必要とされるRDMAのようなDAT(Direct Access Transport)機能を提供する。
iSCSIドライバ層228は、TCP/IPネットワークプロトコル層を介したブロック・プロトコル・アクセス機能を提供し、FCドライバ層230は、FC HBA126とともに動作し、ブロックアクセス要求の送受信と、統合型ストレージ・アプライアンスに対する応答とを行なう。FCドライバおよびiSCSIドライバは、LUN(vdisk)に対して、FC特有のアクセス制御およびiSCSI特有のアクセス制御を行なう。すなわち、FCドライバおよびiSCSIドライバは、マルチプロトコル・ストレージ・アプライアンス上の1つのvdiskをアクセスするときに、iSCSIとFCPのどちらか一方に対するvdiskのエクスポート、または、両方に対するvdiskのエクスポートを管理する。さらに、ストレージ・オペレーティング・システムは、RAIDプロトコルなどのディスク・ストレージ・プロトコルを実施するディスク・ストレージ層240と、SCSIプロトコルなどのディスク・アクセス・プロトコルを実施するディスク・ドライバ層250とを含む。
それらのディスク・ソフトウェア層を統合型ネットワーク・プロトコル・スタック層に橋渡しするのが、本発明による仮想化システム300である。図3は、仮想化モジュールと交信するファイルシステム320によって実施される仮想化システム300を示す略ブロック図である。仮想化モジュールは、例えばvdiskモジュール330およびSCSIターゲット・モジュール310として実施される。vdiskモジュール330、ファイルシステム320およびSCSIターゲット・モジュール310が、ソフトウェアで実施することも、ハードウェアで実施することも、ファームウェアで実施することもでき、さらにそれらの組み合わせで実施することも可能であることは、当業者にとって明らかであろう。vdiskモジュール330は、ファイルシステム320上に階層化され(およびファイルシステム320と交信し)、ブロックベースのSCSIターゲット・モジュールからファイルシステムによって管理されるブロックへのデータ・パスを提供する。また、vdiskモジュールは、システム管理者がマルチプロトコル・ストレージ・アプライアンスに対して発行したコマンドに応答して、簡易ユーザ・インタフェース(UI350)のような管理インタフェースによるアクセスを有効にする。要するに、vdiskモジュール330は、システム管理者がUI350を通じて発行した様々な一連のvdiskコマンドを実施することにより、特にSANデプロイメントを管理する。それらのvdiskコマンドは、原始的なファイルシステム処理(「プリミティブ」)に変換され、ファイルシステム320およびSCSIターゲット・モジュール310に作用し、vdiskを実施する。
次いでSCSIターゲット・モジュール310は、アクセス要求に対し、そのアクセス要求の中で指定されたLUNに対する論理ブロックアクセスを特別なvdiskファイルタイプに対する仮想ブロックアクセスに変換し、vdiskをLUNに変換する。SCSIターゲット・モジュールは、例えばFCドライバやiSCSIドライバ228と、ファイルシステム320との間に配置され、仮想化システム300にとって、SANブロック(LUN)空間とファイルシステム空間との間の変換層として機能する。その際、LUNはvdisk322として表現される。マルチプロトコル・ストレージ・アプライアンスは、SAN仮想化をファイルシステム320全体に「配置」することにより、従来のシステムで行なわれていた方法を逆転させ、実質的に全てのストレージ・アクセス・プロトコルに対して1つの統一されたストレージ・プラットフォームを提供する。
本発明によれば、ファイルシステムは、ディスクなどの記憶装置に格納された情報に対してファイル単位のアクセスをする際に使用される機能を提供する。さらに、ファイルシステムは、格納された情報に対してブロック単位のアクセスをする際に使用されるボリューム管理機能を提供する。すなわち、ファイルシステム320は、ファイルシステム・セマンティック(ストレージを個々のオブジェクトに区別することや、それらのストレージ・オブジェクトの名前付けなど)を提供する他に、通常ならばボリューム・マネージャに関連する機能も提供する。そのような機能には、(i)ディスクを集める機能、(ii)ディスクの記憶帯域幅を集める機能、(iii)ミラーリングおよび/またはパリティ(RAID)のような信頼性保証機能などがあり、それらによって1以上のストレージ・オブジェクトをファイルシステム上に階層化して表現する。マルチプロトコル・ストレージ・アプライアンスの特徴は、マルチプロトコル・ストレージ・アプライアンスを特にSANデプロイメントで使用したときの、それらのボリューム管理機能に関する使用の簡単さにある。
ファイルシステム320は、例えばブロック単位のディスク上フォーマット表現を有するWAFLファイルシステム、例えば4キロバイト(kB)ブロックを使用し、inodeを用いてファイルを表現するようなWAFLファイルシステムを実施する。WAFLファイルシステムは、ファイルを用いてファイルシステムのレイアウトを表すメタデータを格納する。それらのメタデータ・ファイルには、特に、inodeファイルが含まれる。ファイルハンドル、すなわちinode番号を含む識別子を用いて、ディスクからinodeを取得する。inodeファイルを有するファイルシステムの構造に関する説明については、1998年10月6日にDavid Hitz他に付与された「Method for Maintaining Consistent States of a File System and for Creating User Accessible Read-Only Copies of a File System」と題する米国特許第5,819,292号に記載されており、この特許は、ここで参照することにより、完全に説明されたものとして本明細書に取り込まれる。
大まかに言えば、ファイルシステムの全てのinodeは、inodeファイルとして編成される。ファイルシステム(FS)情報ブロックは、ファイルシステム内の情報のレイアウトを指定するためのものであり、ファイルシステム内の他の全てのinodeを含むファイルのinodeを有する。各ボリュームはFS情報ブロックを有し、FS情報ブロックは、例えばファイルシステムのRAIDグループ内の固定位置に格納することが望ましい。ルートFS情報ブロックのinodeは、inodeファイルの直接参照(指し示す)ブロックであってもよいし、inodeファイルの間接参照ブロック、すなわち、次いでinodeファイルを直接参照するブロックであってもよい。inodeファイルの各直接参照ブロックは埋め込みinodeであり、それらの各々が、間接ブロックをさらに参照し、次いでファイルまたはvdiskのデータブロックを参照する場合がある。
本発明の一態様によれば、ファイルシステムは、vdisk322並びにファイル324およびディレクトリ(dir326)に対するアクセス処理と同時に、ボリューム150および/またはqtree328のようなストレージ・ユニットの汎用記憶空間管理を実施する。qtree328は、物理ボリュームの名前空間内の論理サブボリュームの属性を有する特別なディレクトリである。各ファイルシステム・ストレージ・オブジェクト(ファイル、ディレクトリ、またはvdisk)は、例えば1つのqtree、クオータ、セキュリティ・プロパティに関連付けられ、他の項目は、qtreeごとに割り当てられる。vdiskおよびファイル/ディレクトリは、qtree328の一番上の層に配置され、次いでそれらは、ファイルシステム「仮想化」層320による抜粋に従って、ボリューム150の一番上の層に配置される。
ファイルシステム320内のvdiskストレージ・オブジェクトは、マルチプロトコル・ストレージ・アプライアンスのSANデプロイメントに関連する一方、ファイル・ストレージ・オブジェクトおよびディレクトリ・ストレージ・オブジェクトは、アプライアンスのNASデプロイメントに関連する点に注意して欲しい。それらのファイルおよびディレクトリは一般に、FCアクセス・プロトコルやSCSIブロック・アクセス・プロトコルによってアクセスすることができない。しかしながら、ファイルをvdiskにコンバートしてから、SANプロトコルやNASプロトコルによってアクセスすることは可能である。vdiskは、SAN(FCおよびSCSI)プロトコルによってLUNとしてアクセスされる場合もあれば、NAS(NFSおよびCIFS)プロトコルによってファイルとしてアクセスされる場合もある。
本発明の他の実施形態において、仮想化システム300は、ファイルシステム320による汎用空間管理に関し、SANストレージ・オブジェクトとNASストレージ・オブジェクトの共存が可能な仮想記憶空間を提供する。その目的のために、仮想化システム300は、ファイルシステムが本来備えている能力を含む、ファイルシステムの特性を利用して、ディスクを集め、それらを1つのストレージ・プールに抽出する。例えば、システム300は、ファイルシステムのボリューム管理機能を利用して、ディスク130の集まりを汎用記憶空間のプールを表す1以上のボリューム150として構成する。次いで、vdisk322およびファイル324をそれぞれ作成することにより、その汎用記憶プールをSANデプロイメントとNASデプロイメントの両方にとって利用可能にする。SANおよび/またはNASデプロイメントを展開したときに、vdiskおよびファイルは、同一の汎用記憶空間を共有するだけでなく、同一の空き記憶プールを利用する。従来のシステムとは違い、マルチプロトコル・ストレージ・アプライアンスの汎用記憶空間内には、ディスクの物理的区分が無い。
マルチプロトコル・ストレージ・アプライアンスは、ユーザが単一のストレージ・リソース・プールを用いてNASストレージ・オブジェクトとSANストレージ・オブジェクトの両方を管理できるようにすることで、汎用記憶空間の管理を実質的に単純化する。特に、SANデプロイメントとNASデプロイメントの両方について、汎用フリー・プールからの空きブロック空間が、細粒ブロックごとに管理される。仮にそれらのストレージ・オブジェクトを個別(別々)に管理したとすれば、ユーザは、例えば業務目的などに応じて、目的の各タイプについて特定量の「予備」ディスクを保持しなければならないであろう。そのような個別アプローチを維持するために必要とされるオーバヘッドは、業務命令に応じて拡張可能な単一グループの予備ディスクだけを用いて、それらのオブジェクトを単一のリソースプールから管理できる場合に比べて、大きくなるであろう。vdisk処理によって個別に開放されたブロックは、NASオブジェクトによって即座に再使用することができる(そして、その逆も可)。そのような管理の詳細を管理者が意識する必要はない。これは、統合型マルチプロトコル・ストレージ・アプライアンスの「所有権の総コスト」利点を表す。
仮想化システム300は更に、マルチプロトコル・ストレージ・アプライアンスの汎用記憶空間内に共存するそれらのSANストレージ・オブジェクトおよびNASストレージ・オブジェクトに対し、信頼性保証を提供する。特に、従来のSANシステムにおいて物理ブロックレベルで実施されているRAIDやミラーリングのような技術による、ディスク故障に直面したときの信頼性保証は、アプライアンス100のファイルシステム320から継承された特徴である。これによって、管理者は、ファイルシステム内のvdiskとNASオブジェクトに等しく使用される基礎冗長物理ストレージの全体的判断を行なうことが可能となるため、管理が簡単になる。
上記のように、ファイルシステム320は、情報をファイル、ディレクトリ、およびvdiskとしてdisk130のボリューム150内に編成する。各ボリューム150の基礎となるのは、ボリューム内のディスク故障(複数の場合もあり)に対する保護および信頼性を提供するRAIDグループ140〜144の集まりである。マルチプロトコル・ストレージ・アプライアンスによってサービス提供される情報は、例えばRAID4構成に従って保護される。このレベルの保護は、例えばアプライアンス・プラットフォーム上の同期ミラーリングにまで拡張される場合もある。ボリューム150に対し後者の保護が指定された場合、ボリューム上に作成され、RAID4によって保護されるvdisk322は、さらに同期ミラーリング保護を「継承」する。この場合、同期ミラーリング保護は、vdiskの特徴ではなく、基礎ボリュームの特徴およびファイルシステム320の信頼性保証である。マルチプロトコル・ストレージ・アプライアンスのこの「継承」特性によれば、システム管理者が信頼性問題を扱う必要がなくなるので、vdiskの管理は簡単になる。
さらに、仮想化システム300は、ディスク130の物理構成に関するユーザの知識を必要とせずに、ディスク130の帯域幅を集める。ファイルシステム320は、データが格納されるボリュームの全ディスクの帯域を集める入出力(I/O)記憶処理に従って、データを長い連続的なストライプとしてそれら複数のディスクにわたってディスクに書き込む(格納する)。ディスクに対して情報を格納または取り出しする場合、ディスクに対するそれらのI/O処理は、ユーザによって指定されるものではない。そうではなく、それらの処理はユーザにとって透過的である。なぜなら、ファイルシステムが、write anywhereレイアウト・ポリシーに従って、そのデータをボリュームの全ディスクにわたって信頼性の高い態様に「ストライプ化」するからである。ブロック・ストレージの仮想化によって、vdiskに対するI/O帯域幅をvdiskのサイズとは無関係にファイルシステムの基礎物理ディスクの最大帯域幅にすることが可能になる(従来のブロックアクセス製品における一般的なLUNの物理実施形態とは異なる)。
さらに、仮想化システムは、ファイルシステム配置ポリシー、管理ポリシーおよびブロック管理ポリシーに影響を与え、マルチプロトコル・ストレージ・アプライアンス内でvdiskを正しく機能させる。vdiskブロック配置ポリシーは基礎となる仮想化ファイルシステムの機能であり、変更に直面したときに、ファイルシステム・ブロックとSCSI論理ブロックアドレスとの間に、永久的な結び付けは何もない。vdiskは、透過的に再構成され、おそらくデータ・アクセス・パターン動作を変更する。
SANデプロイメントとNASデプロイメントのどちらの場合でも、ブロック割当てポリシーは、ディスクの物理特性(例えば、幾何配置、サイズ、シリンダ、セクタサイズ)とは無関係である。本発明によれば、ファイルシステムは、ボリューム150内に存在するファイル324、ディレクトリ326およびvdisk322に関するファイル単位の管理を提供する。マルチプロトコル・ストレージ・アプライアンスに取り付けられたアレイにディスクを追加する場合、そのディスクは既存のボリュームに組み込まれ、ボリューム空間全体を増加させる。その空間は、任意の目的に、例えば更なるvdiskまたは更なるファイルのために使用される。
統合型マルチプロトコル・ストレージ・アプライアンス100の管理は、システム管理者にとって利用可能なUI350およびvdiskコマンド群を使用することにより、簡単になる。UI350は例えば、コマンド・ライン・インタフェース(CLI)とグラフィカル・ユーザ・インタフェース(GUI)との両方を含む。UIは、vdiskコマンド群の実行に使用され、とりわけ、vdiskの作成、vdiskのサイズの増減、および/または、vdiskの破壊に使用される。アプライアンス100の仮想化記憶空間の特徴によれば、破壊されたvdiskの記憶空間は、例えばNAS系ファイルのために再利用することができる。vdiskは、そのアプリケーション・データに対するブロックおよびNASマルチプロトコル・アクセスを維持したまま、ユーザ制御によって増加(「拡大」)または減少(「縮小」)させることができる。
UI350は、vdiskを作成する際に使用すべきディスクをシステム管理者が明示的に構成および指定する必要性を無くすことにより、マルチプロトコルSAN/NASストレージ・アプライアンスの管理を簡単にする。例えばvdiskを作成する場合、システム管理者は、例えばCLI352またはGUI354を通じて、単にvdisk(「LUN作成」)コマンドを発行するだけでよい。vdiskコマンドは、vdiskの作成を指示するとともに、そのvdiskの所望のサイズおよびそのvdiskのパス記述子(パス名)を指定する。これに応答して、ファイルシステム320はvdiskモジュール330と協働し、基礎ディスクによって提供された記憶空間を「仮想化」し、作成コマンドの指示通りにvdiskを作成する。具体的には、vdiskモジュール330は、vdiskコマンドを処理し、ファイルシステム320内の原始的な処理(「プリミティブ」を「呼び出し」、vdisk(LUN)の高レベル概念を実施する。例えば、「LUN作成コマンド」は、vdiskを正しい情報およびサイズで、正しい位置に作成する一連のファイルシステム・プリミティブに変換される。それらのファイルシステム・プリミティブには、ファイルinodeを作成する処理(create_file)、ストリームinodeを作成する処理(create_stream)、情報をストリームinodeに格納する処理(stream_write)などが含まれる。
LUN作成コマンドの結果、指定サイズのvdiskが作成され、明示的に指定しなくとも、そのvdiskはRAIDによって保護される。マルチプロトコル・ストレージ・アプライアンスのディスク上のストレージ情報はタイプされない。「未加工」のビットだけがディスク上に格納される。ファイルシステムは、それらのビットをボリューム内の全ディスクにわたって、vdiskおよびRAIDグループとして編成する。従って、作成されるvdisk322を明示的に構成する必要はない。なぜなら、仮想化システム300は、vdiskをユーザにとって透過的な態様で作成するからである。作成されたvdiskは、ファイルシステムによって作成された基礎ボリュームの信頼性や記憶帯域幅などの高性能の特徴を継承する。
また、CLI352および/またはGUI354は、vdiskモジュール330と対話し、属性や、作成されたvdiskに番号を割り当てる永久LUNマップ・バインディングを導入する。その後、それらのLUNマップ・バインディングは、ディスクのエクスポートに使用され、クライアントに対して特定のSCSI識別子(ID)として使用される。特に、作成されたvdiskは、LUNマッピング技術によってエクスポートすることができ、SANクライアントはディスクを「見る」(アクセスする)ことができる。SAN環境では一般にvdisk(LUN)に対するアクセスを厳密に制御しなければならないため、SAN環境におけるLUNの共有は通常、クラスタ化ファイルシステム、クラスタ化オペレーティング・システムおよびマルチパス・構成などの限られた環境でしか行なわれない。マルチプロトコル・ストレージ・アプライアンスのシステム管理者は、どのvdisk(LUN)がSANクライアントにエクスポート可能であるかを判断する。vdiskをLUNとしてエクスポートした後、クライアントは、SANネットワークを介してFCPやiSCSIなどのブロックアクセスプロトコルを用いて、そのvdiskにアクセスすることができる。
SANクライアントは通常、論理番号すなわちLUNを用いてディスクを識別および宛先指定する。しかしながら、マルチプロトコル・ストレージ・アプライアンスの「管理の容易性」特徴は、システム管理者がvdiskを論理名で管理し、宛先指定できるようにする。その目的のために、マルチプロトコル・ストレージ・アプライアンスのvdiskモジュール330は、論理名をvdiskにマッピングする。例えばvdiskを作成する場合、システム管理者はそのvdiskに「正しいサイズ」を割り当て、そのvdiskに、そのvdiskの目的とする用途を一般的に表すような名前(例えば、データベースを保持する場合、/vol/vol0/databeseなど)を割り当てる。管理インタフェースは、ストレージ・アプライアンスからクライアントにエクスポートされるLUN/vdisk(およびファイル)を名前によって管理し、それによって、ブロック単位(およびファイルベース)のストレージに対する一貫性のある統一された名前付け方式を提供する。
マルチプロトコル・ストレージ・アプライアンスは、イニシエータ・グループ(iGROUP)を用いて論理名によるvdiskのエクスポート制御を管理する。iGROUPは、1以上のイニシエータ(クラスタ化環境が構成されているか否かに応じて異なる)に関連する1以上の宛先に割り当てられた論理名付きのエンティティである。「iGROUP作成」コマンドは、それらの宛先を実質的に「バインド」する(関連付ける)コマンドである。宛先には、論理名またはiGROUPに対するWWNアドレスやiSCSI IDが含まれる。そして、「LUNマップ」コマンドを用いて、1以上のvdiskをigroupにエクスポートする。すなわち、vdiskがigroupから「見える」ようにする。その意味では、「LUNマップ」コマンドは、NFSのエクスポートや、CIFSのシェアと同等のコマンドである。従って、WNNアドレスまたはiSCSI IDは、LUNマップコマンドによって指定された、それらのディスクに対するアクセスが許可されているクライアントを識別する。その後、ストレージ・オペレーティング・システムの内部の全ての処理に、論理名が使用される。この論理名の概念は、ユーザとマルチプロトコル・ストレージ・アプライアンスとの間の対話を含む、vdiskコマンド群全体に行き渡る。特に、以後のエクスポート処理にはすべて、igroup名変換が使用され、種々のSANクライアントにエクスポートされたLUNのリストが作成される。
図4は、マルチプロトコル・ストレージ・アプライアンスに格納された情報をSANネットワークを介してアクセスするときに必要とされる各ステップのシーケンスを示す略フロー図である。ここで、クライアントは、ストレージ・アプライアンス100に接続されたネットワークを介し、ブロック・アクセス・プロトコルを用いてアストレージ・アプライアンス100と通信するものとする。クライアント160が、Windows(登録商標)・オペレーティング・システムを実行しているクライアント160aである場合、ネットワーク185を介して例えばブロック・アクセス・プロトコルが使用される。一方、クライアントがUNIX(登録商標)・オペレーティング・システムを実行しているクライアント16bである場合、ネットワーク165を介して例えばiSCSIプロトコルが使用される。シーケンスはステップ400で始まり、ステップ402へ進み、そこで、クライアントは、マルチプロトコル・ストレージ・アプライアンス内の情報にアクセスするための要求を生成、ステップ404で、その要求が、、ネットワーク185、165を介して、従来のFCP・プロトコルまたはiSCSI・プロトコルのアクセス要求として転送される。
ステップ406で、その要求はストレージ・アプライアンス100のネットワーク/アダプタ126,125によって受信され、そこで統合ネットワーク・プロトコル・スタックによって処理され、ステップ480で、それが仮想化システム300に渡される。具体的には、要求がFCP要求であった場合、その要求は、例えばFCドライバ230によってデータをアクセス(すなわち、読み書き)する4kブロック要求として処理される。要求がiSCSIプロトコル要求であった場合、その要求は、メディア・アクセス層(Intel ギガビット・イーサネット(登録商標))で受信され、TCP/IPネットワーク・プロトコル層を通して仮想化システムに渡される。
SCSIプロトコルに関連するアドレス情報を含むコマンドおよび制御処理は一般に、ディスクまたはLUNに対して行なわれる。しかしながら、ファイルシステムはLUNを認識しない。従って、その要求に含まれるSCSIコマンドに応答するために、仮想化システムのSCSIターゲット・モジュール310は、LUNのエミュレーションを開始する(ステップ410)。その目的のために、SCSIターゲット・モジュールは、SCSIプロトコルを利用する一連のアプリケーション・プログラム・インタフェース(API360)であって、iSCSIドライバ228とFCドライバ230の両方に対する一貫性のあるインタフェースを実施する一連のアプリケーション・プログラム・インタフェースを有する。SCSIターゲット・モジュールは更に、LUNをvdiskに実質的に変換するマッピング/変換手順を実施する。ステップ412で、SCSIターゲット・モジュールは、その要求に関する例えばFCルーティング情報などのアドレス情報をファイルシステムの内部構造にマッピングする。
ファイルシステム320は例えばメッセージを利用したシステムである。従って、SCSIターゲット・モジュール310は、SCSI要求をファイルシステムに対する処理を表すメッセージに変換する。SCSIターゲット・モジュールによって生成されるメッセージには、例えば、ファイルシステム上に表現されたvdiskオブジェクトのパス名(例えば、パス記述子など)およびファイル名(例えば、特別なファイル名など)を伴なう処理のタイプ(例えば、読出し、書込みなど)がある。SCSIターゲット・モジュールは、メッセージを例えばファンクションコール365としてファイルシステム320に渡し、そこでその処理が実施される。
ファイルシステム320は、メッセージの受信に応答して、パス名をinode構造にマッピングし、vdisk322に対応するファイル・ハンドルを得る。ファイル・ハンドルを得た後、ストレージ・オペレーティング・システム200は、そのハンドルをディスク・ブロックに変換する。すなわち、そのブロック(inode)をディスクから取り出す。大まかに言えば、ファイル・ハンドルとは、ファイルシステムの内部で使用されるデータ構造の内部表現、すなわちinodeデータ構造の内部表現である。ファイル・ハンドルは通常、ファイルID(inode番号)、スナップショットID、生成ID、およびフラグを含む複数の構成要素からなる。ファイルシステムは、ファイル・ハンドルを用いて、特別なファイルinodeと、ディスク130上で実施されるファイルシステム構造内のvdiskを含む少なくとも1つの関連ストリーム・inodeとを取得する。
要求されたデータがコア内に、すなわちメモリ134内に無かった場合、ステップ414で、ファイルシステムは、要求されたデータをディスク130から読み込む(取り出す0処理を生成する。情報がメモリ内に無かった場合、ファイルシステム320は、inodeファイル内の索引としてinode番号を使用し、適当なエントリにアクセスし、論理ボリューム・ブロック番号(VBN)を取り出す。次にファイルシステムは、その論理VBNをディスク・ストレージ(RAID)層240に渡し、そこで、その論理番号をブロック番号にマッピングし、それをディスク・ドライバ層250の適当なドライバ(例えば、SCSI)に送る。ディスク・ドライバは、ディスク130からそのディスク・ブロック番号にアクセスし、それをメモリ124内の要求データブロック(複数の場合もあり)に読み込む。ステップ416で、要求されたデータは仮想化システム300によって処理される。例えば、そのデータは、vdiskに対する読出しまたは書込み処理に関連して、または、vdiskに対する照会コマンドに関連して処理される。
SCSIターゲット・モジュールは、要求されたvdiskに関する重要な意味を「シミュレート」することによって、従来のSCSIプロトコルのサポートをエミュレートする。そのような情報は、SCSIターゲット・モジュールによって計算することもできるし、例えばvdiskの属性ストリームinodeに永久的に格納しておいてもよい。ステップ418で、SCSIターゲット・モジュール310は、要求されたブロック単位の情報(ファイルシステム320によって提供されたファイル単位の情報から変換されるようなもの)をブロック・アクセス(SCSI)・プロトコル・メッセージの中にロードする。例えば、SCSIターゲット・モジュール310は、SCSI照会コマンド要求に応答して、vdiskのサイズ等の情報をSCSIプロトコル・メッセージの中にロードすることができる。要求が完了すると、ストレージ・アプライアンス(およびオペレーティング・システム)は、ネットワークを介して応答(例えば、SCSI「容量」応答メッセージ)をクライアントに返す(ステップ420)。そして、シーケンスはステップ422で終了する。
マルチプロトコル・ストレージ・アプライアンスで受信されたクライアント要求について、データ記憶アクセスを実施するために必要とされる、上で説明したストレージ・オペレーティング・システム層を通るソフトウェア「パス」は、代替としてハードウェアで実施してもよいことに注意して欲しい。すなわち、本発明の代替実施形態において、オペレーティング・システム層(仮想化システム300を含む)を通るストレージ・アクセス・要求データ・パスは、フィールド・プログラマブル・ゲート・アレイ(FPGA)または特定用途向けIC(ASIC)の中に論理回路として実施することもできる。この種のハードウェア実施形態は、クライアント160によって発行されたファイル・アクセス要求やブロック・アクセス要求に応答してアプライアンス100により提供されるストレージ・サービスの能力を向上させる。さらに、本発明の他の実施形態において、ネットワークやストレージ・アダプタ125〜128などの処理要素は、プロセッサ122からパケット処理やストレージ・アクセス処理などの負荷の全部または一部を分担することにより、マルチプロトコル・ストレージ・アプライアンスによって提供されるストレージ・サービスの能力を向上させるように構成される場合がある。当然ながら、本明細書に記載される種々の処理、アーキテクチャおよび手順は、ハードウェアで実施することも、ファームウェアで実施することも、あるいはソフトウェアで実施することも可能である。
有利なことに、統合型マルチプロトコル・ストレージ・アプライアンスは、データの完全性を確保しつつ、アクセス制御を行なうことができ、必要であれば、全てのプロトコルについてファイルおよびvdiskの共有を行なうこともできる。さらに、ストレージ・アプライアンスは、埋め込み型/統合型の仮想化機能を備え、NASストレージ・オブジェクトおよびSANストレージ・オブジェクトを作成するときに、ユーザがストレージ・リソースを分配する必要性が無い。それらの機能は、アプライアンス内の汎用空間管理に関し、SANストレージ・オブジェクトとNASストレージ・オブジェクトの共存を可能にする仮想化記憶空間を含む。さらに、統合型ストレージ・アプライアンスは、同一のvdiskに対するブロック・アクセス・プロトコル(iSCSIやFCP)の同時サポートを提供するだけでなく、クラスタリングをサポートする異種SAN環境も提供する。要するに、マルチプロトコル・ストレージ・アプライアンスは、全てのストレージ・アクセス・プロトコルについて、単一の統一されたストレージ・プラットフォームを提供する。
上記の説明は、本発明の特定の実施形態に関するものである。しかしながら、記載した実施形態に対して他の変更および修正を施し、それらの実施形態の利点のうちの一部または全部が得られるようにすることも可能であることは、明らかである。例えば、本発明の教示は、コンピュータ上で実行されるプログラム命令を有するコンピュータ読取可能媒体も含めて、ソフトウェアで実施することも、ハードウェアで実施することも、ファームウェアで実施することもでき、それらの組み合わせで実施することもできるものと当然ながら考えられる。従って、この説明は、単なる例として解釈すべきものであり、発明の範囲を制限するものとして解釈してはならない。従って、特許請求の範囲のねらいは、それらの変更および修正が、本発明の真の思想および範囲に含まれるようにカバーすることにある。
ストレージ・エリア・ネットワーク(SAN)環境およびネットワーク・アタッチド・ストレージ(NAS)環境で動作するように構成された本発明によるマルチプロトコル・ストレージ・アプライアンスを示す略ブロック図である。 本発明で使用するのに都合がよいマルチプロトコル・ストレージ・アプライアンスのストレージ・オペレーティング・システムを示す略ブロック図である。 ファイルシステムによって実施され、仮想化モジュールに作用する本発明による仮想化システムを示す略ブロック図である。 SANネットワークを介してマルチプロトコル・ストレージ・アプライアンスに格納された情報にアクセスするときに必要とされる各ステップのシーケンスを示すフロー図である。

Claims (27)

  1. 記憶装置に格納された情報にアクセスするためのファイル・プロトコルおよびブロック・プロトコルを、ネットワーク・アタッチド・ストレージ(NAS)デプロイメントと、ストレージ・エリア・ネットワーク(SAN)デプロイメントとの両方に対し、統一的態様でサービス提供するように構成されたマルチプロトコル・ストレージ・アプライアンスであって、
    仮想化モジュールと協働するファイルシステムを実施し、記憶装置によって提供される記憶空間を仮想化するように構成されたストレージ・オペレーティング・システムを含む、マルチプロトコル・ストレージ・アプライアンス。
  2. 前記ファイルシステムは、情報をファイル、ディレクトリおよび仮想ディスク(vdisk)として論理編成し、ファイルおよびディレクトリに対するファイル単位のアクセスを可能にするとともに、vdiskに対するブロック単位のアクセスを可能にすることにより、NASアプライアンスとSANアプライアンスの統一的記憶方法を提供する、請求項1に記載のマルチプロトコル・ストレージ・アプライアンス。
  3. 前記仮想化モジュールは、vdiskモジュールと、SCSI(Small Computer Systems Interface)ターゲット・モジュールとを含む、請求項1に記載のマルチプロトコル・ストレージ・アプライアンス。
  4. 前記vdiskモジュールは、ファイルシステム上に層として形成され、システム管理者によってマルチプロトコル・ストレージ・アプライアンスに発行されたコマンドに応答して、管理インタフェースによるアクセスを有効にする、請求項3に記載のマルチプロトコル・ストレージ・アプライアンス。
  5. 前記管理インタフェースはユーザ・インタフェース(UI)を含む、請求項4に記載のマルチプロトコル・ストレージ・アプライアンス。
  6. 前記vdiskモジュールは、前記UIを通じて発行された一連のvdiskコマンドを実行することにより、前記SANデプロイメントを管理する、請求項5に記載のマルチプロトコル・ストレージ・アプライアンス。
  7. 前記vdiskコマンドは、原始的なファイルシステム処理に変換され、ファイルシステムおよびSCSIターゲット・モジュールに作用し、前記vdiskを実施する、請求項6に記載のマルチプロトコル・ストレージ・アプライアンス。
  8. 前記SCSIターゲット・モジュールは、論理ユニット番号(LUN)をvdiskに変換するマッピング手順を提供することにより、ディスクまたはLUNのエミュレーションを開始する、請求項7に記載のマルチプロトコル・ストレージ・アプライアンス。
  9. 前記SCSIターゲット・モジュールは、SANブロック空間と、ファイルシステム空間との間の変換層を提供する、請求項8に記載のマルチプロトコル・ストレージ・アプライアンス。
  10. 前記ファイルシステムによる汎用空間管理に関し、前記仮想化記憶空間は、SANストレージ・オブジェクトとNASストレージ・オブジェクトの共存を可能にする、請求項1に記載のマルチプロトコル・ストレージ・アプライアンス。
  11. 前記ファイルシステムは前記仮想化モジュールと協働して仮想化システムを提供し、前記仮想化記憶空間内に共存するSANストレージ・オブジェクトとNASストレージ・オブジェクトに信頼性保証を提供する、請求項10に記載のマルチプロトコル・ストレージ・アプライアンス。
  12. 前記ファイルシステムは、前記記憶装置に格納された情報に対してブロック単位のアクセスをする際に使用されるボリューム管理機能を提供する、請求項1に記載のマルチプロトコル・ストレージ・アプライアンス。
  13. 前記記憶装置はディスクである、請求項12に記載のマルチプロトコル・ストレージ・アプライアンス。
  14. 前記ファイルシステムは、(i)ストレージ・オブジェクトの名前付けなどのファイルシステム・セマンティックと、(ii)ボリューム・マネージャに関連する機能とを提供する、請求項1に記載のマルチプロトコル・ストレージ・アプライアンス。
  15. 前記ボリューム・マネージャに関連する機能は、
    前記記憶装置を集める機能、
    前記記憶装置の記憶帯域幅を集める機能、および
    ミラーリングやRAID(Redundant Array of Independent Disks)などの信頼性保証機能、
    のうちの少なくとも1つを含む、請求項14に記載のマルチプロトコル・ストレージ・アプライアンス。
  16. マルチプロトコル・ストレージ・アプライアンスに接続された記憶装置上での情報の編成に関連するストレージ・サービスを提供するための方法であって、
    マルチプロトコル・ストレージ・アプライアンス上で実行されているストレージ・オペレーティング・システムの仮想化モジュールと協働するファイルシステムを用いて、記憶装置によって提供される記憶空間を仮想化するステップと、
    情報をファイル、ディレクトリおよび仮想ディスク(vdisk)として前記仮想化記憶空間内に論理編成することにより、ネットワーク・アタッチド・ストレージ(NAS)とストレージ・エリア・ネットワーク(SAN)の統一的記憶方法を提供し、前記仮想化記憶空間内の前記ファイルシステムによる汎用空間管理に関し、前記オブジェクトの共存を可能にするステップと、
    前記マルチプロトコル・ストレージ・アプライアンスの統合型ネットワーク・プロトコル・スタックによって提供されたデータ・パスを介し、ブロック・アクセス・プロトコルおよびファイル・アクセス・プロトコルを用いて、前記記憶装置に論理編成されて格納された情報にアクセスするステップと、
    からなる方法。
  17. 前記仮想化記憶空間内に共存する前記ファイル、ディレクトリおよび仮想オブジェクトに対して信頼性保証を与えるステップをさらに含む、請求項16に記載の方法。
  18. マルチプロトコル・ストレージ・アプライアンスに接続された記憶装置上に格納される情報の編成に関連するストレージ・サービスを提供するように構成された、マルチプロトコル・ストレージ・アプライアンスのストレージ・オペレーティング・システムであって、
    前記マルチプロトコル・ストレージ・アプライアンスに格納された情報をクライアントがブロック・アクセス・プロトコルおよびファイル・アクセス・プロトコルを用いてアクセスするためのデータ・パスを提供する統合型ネットワーク・プロトコル・スタックと、
    仮想化モジュールと協働し、前記記憶装置によって提供される記憶空間を仮想化するファイルシステムと、
    からなるストレージ・オペレーティング・システム。
  19. 前記ファイルシステムは、情報をファイル、ディレクトリおよび仮想ディスク(vdisk)として論理編成することにより、ファイル単位のアクセス・プロトコルと、ブロック単位のアクセス・プロトコルとを用いた、ネットワーク・アタッチド・ストレージ(NAS)アプライアンスとストレージ・エリア・ネットワーク(SAN)の統一的方法を提供する、請求項18に記載のストレージ・オペレーティング・システム。
  20. 前記ブロック単位のアクセス・プロトコルは、「SCSI encapusulated over TCP」(iSCSI)および「SCSI encapusulated over Fiber Channel」(FCP)のようなSCSI(Small Computer Systems Interface)系プロトコルを含む、請求項19に記載のストレージ・オペレーティング・システム。
  21. 前記統合型ネットワーク・プロトコル・スタックは、
    ネットワーク・プロトコル層と、
    前記ネットワーク・プロトコル層に作用し、前記ファイルシステムによって編成されたファイルおよびディレクトリに対するファイル単位のプロトコル・アクセスを提供するファイルシステム・プロトコル層と、
    前記ネットワーク・プロトコル層を介して配置され、前記ファイルシステムによって編成されたvdiskに対するブロック単位のプロトコル・アクセスを提供するiSCSIドライバと、
    を含む、請求項20に記載のストレージ・オペレーティング・システム。
  22. 前記統合型ネットワーク・プロトコル・スタックは、前記ファイルシステム・プロトコル層のファイル・アクセス・プロトコルに対する直接アクセス搬送機能を提供する仮想インタフェース層をさらに含む、請求項21に記載のストレージ・オペレーティング・システム。
  23. 前記統合型ネットワーク・プロトコル・スタックは、前記ファイルシステムによって編成されたvdiskにアクセスするためのブロックアクセス要求を送受信するように構成されたファイバ・チャネル(FC)ドライバをさらに含む、請求項21に記載のストレージ・オペレーティング・システム。
  24. 前記FCドライバおよびiSCSIドライバは、前記vdiskに対してFC特有のアクセス制御およびiSCSI特有のアクセス制御を提供し、マルチプロトコル・ストレージ・アプライアンス上のvdiskにアクセスするときに、iSCSIおよびFCPに対するvdiskのエクスポートの管理を提供する、請求項23に記載のストレージ・オペレーティング・システム。
  25. マルチプロトコル・ストレージ・アプライアンスの記憶装置に格納された情報にアクセスするためのファイル・プロトコルおよびブロック・プロトコルを、ネットワーク・アタッチド・ストレージ(NAS)デプロイメントと、ストレージ・エリア・ネットワーク(SAN)デプロイメントとの両方に対し、統一的態様でサービス提供する方法であって、
    (i)前記アプライアンスを第1のネットワークに接続するネットワーク・アダプタと、(ii)NASクライアントがファイルとして格納された情報にアクセスするために発行したファイル単位の要求に対し、前記アプライアンスが応答できるようにするためのファイルシステム機能とを用いて、NASサービスを提供するステップと、
    (i)前記アプライアンスを第2のネットワークに接続するネットワーク・アダプタと、SANクライアントが仮想ディスク(vdisk)として格納された情報にアクセスするために発行したブロックベースの要求に対し、前記アプライアンスが応答できるようにするためのボリューム管理機能とを用いて、SANサービスを提供するステップと、
    からなる方法。
  26. 前記マルチプロトコル・ストレージ・アプライアンスに格納されたファイルおよびvdiskの名前による管理を提供することにより、ファイル単位およびブロック単位のストレージに対して一様な名前付けを提供するステップと、
    前記記憶装置に格納された名前付きファイルおよびvdiskの階層構造を提供するステップと、
  27. マルチプロトコル・ストレージ・アプライアンスの記憶装置に格納されたストレージ・オブジェクトにアクセスするためのファイル・プロトコルおよびブロック・プロトコルを、ネットワーク・アタッチド・ストレージ(NAS)デプロイメントと、ストレージ・エリア・ネットワーク(SAN)デプロイメントとの両方に対し、統一的態様でサービス提供する方法であって、
    前記記憶装置を汎用記憶空間内を表す1以上のボリュームとして編成するステップと、
    前記汎用記憶空間内でのSANストレージ・オブジェクトとNASストレージ・オブジェクトの共存を可能にするステップと、
    前記ストレージ・アプライアンスのマルチプロトコル・エンジンにおいて、前記SANストレージ・オブジェクトおよび前記NASストレージ・オブジェクトにアクセスするためのブロック単位の要求およびファイル単位の要求を受信するステップと、
    前記ブロック単位の要求およびファイル単位の要求に応答して、前記SANストレージ・オブジェクトおよびNASストレージ・オブジェクトにアクセスし、それらを返すステップと、
    からなる方法。
JP2004527664A 2002-08-09 2003-07-28 ファイル・アクセス・プロトコルとブロック・アクセス・プロトコルの統合サポートを提供するマルチプロトコル・ストレージ・アプライアンス Expired - Lifetime JP4440098B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/215,917 US7873700B2 (en) 2002-08-09 2002-08-09 Multi-protocol storage appliance that provides integrated support for file and block access protocols
PCT/US2003/023597 WO2004015521A2 (en) 2002-08-09 2003-07-28 Multi-protocol storage appliance that provides integrated support for file and block access protocols

Publications (2)

Publication Number Publication Date
JP2005535961A true JP2005535961A (ja) 2005-11-24
JP4440098B2 JP4440098B2 (ja) 2010-03-24

Family

ID=31494968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004527664A Expired - Lifetime JP4440098B2 (ja) 2002-08-09 2003-07-28 ファイル・アクセス・プロトコルとブロック・アクセス・プロトコルの統合サポートを提供するマルチプロトコル・ストレージ・アプライアンス

Country Status (10)

Country Link
US (1) US7873700B2 (ja)
EP (1) EP1543399A4 (ja)
JP (1) JP4440098B2 (ja)
CN (1) CN100357916C (ja)
AU (1) AU2003254238B2 (ja)
CA (1) CA2495180C (ja)
HK (1) HK1082976A1 (ja)
IL (1) IL166786A (ja)
RU (1) RU2302034C9 (ja)
WO (1) WO2004015521A2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005267599A (ja) * 2004-03-18 2005-09-29 Hitachi Ltd ストレージエリアネットワークとネットワークアタチドストレージの混在環境でのデータの書き込み保護
JP2005321913A (ja) * 2004-05-07 2005-11-17 Hitachi Ltd ファイル共有装置を有する計算機システム、および、ファイル共有装置の移行方法
JP2007533030A (ja) * 2004-04-12 2007-11-15 ネットワーク・アプライアンス・インコーポレイテッド 物理的ストレージアプライアンス内で実行される仮想ストレージアプライアンスにおいてブロックベースのプロトコルを利用することが可能なシステム及び方法
JP2008527511A (ja) * 2005-01-06 2008-07-24 ジェムプリュス データ記憶装置
JP2011150681A (ja) * 2010-01-20 2011-08-04 Hitachi Ltd ストレージシステムのためのi/o変換方法及び装置
US8495331B2 (en) 2010-12-22 2013-07-23 Hitachi, Ltd. Storage apparatus and storage management method for storing entries in management tables
US8707004B2 (en) 2010-01-25 2014-04-22 Hitachi, Ltd. Computer system and storage consolidation management method
JP2016508240A (ja) * 2013-01-28 2016-03-17 株式会社日立製作所 ストレージシステム及びリソース割当て方法

Families Citing this family (339)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424529B2 (en) * 1999-12-10 2008-09-09 International Business Machines Corporation System using host bus adapter connection tables and server tables to generate connection topology of servers and controllers
US6868417B2 (en) * 2000-12-18 2005-03-15 Spinnaker Networks, Inc. Mechanism for handling file level and block level remote file accesses using the same server
US7613984B2 (en) 2001-12-28 2009-11-03 Netapp, Inc. System and method for symmetric triple parity for failing storage devices
US7640484B2 (en) 2001-12-28 2009-12-29 Netapp, Inc. Triple parity technique for enabling efficient recovery from triple failures in a storage array
US8402346B2 (en) * 2001-12-28 2013-03-19 Netapp, Inc. N-way parity technique for enabling recovery from up to N storage device failures
US7313557B1 (en) 2002-03-15 2007-12-25 Network Appliance, Inc. Multi-protocol lock manager
US7010553B2 (en) 2002-03-19 2006-03-07 Network Appliance, Inc. System and method for redirecting access to a remote mirrored snapshot
US6993539B2 (en) 2002-03-19 2006-01-31 Network Appliance, Inc. System and method for determining changes in two snapshots and for transmitting changes to destination snapshot
US7043485B2 (en) * 2002-03-19 2006-05-09 Network Appliance, Inc. System and method for storage of snapshot metadata in a remote file
US7873700B2 (en) 2002-08-09 2011-01-18 Netapp, Inc. Multi-protocol storage appliance that provides integrated support for file and block access protocols
US7107385B2 (en) * 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US7711539B1 (en) * 2002-08-12 2010-05-04 Netapp, Inc. System and method for emulating SCSI reservations using network file access protocols
US8631162B2 (en) * 2002-08-30 2014-01-14 Broadcom Corporation System and method for network interfacing in a multiple network environment
US7340486B1 (en) * 2002-10-10 2008-03-04 Network Appliance, Inc. System and method for file system snapshot of a virtual logical disk
US7171452B1 (en) 2002-10-31 2007-01-30 Network Appliance, Inc. System and method for monitoring cluster partner boot status over a cluster interconnect
US7069307B1 (en) 2002-12-20 2006-06-27 Network Appliance, Inc. System and method for inband management of a virtual disk
JP4567293B2 (ja) * 2003-01-21 2010-10-20 株式会社日立製作所 ファイルサーバ
US7809693B2 (en) * 2003-02-10 2010-10-05 Netapp, Inc. System and method for restoring data on demand for instant volume restoration
US7769722B1 (en) 2006-12-08 2010-08-03 Emc Corporation Replication and restoration of multiple data storage object types in a data network
US7360072B1 (en) * 2003-03-28 2008-04-15 Cisco Technology, Inc. iSCSI system OS boot configuration modification
US7457982B2 (en) 2003-04-11 2008-11-25 Network Appliance, Inc. Writable virtual disk of read-only snapshot file objects
US7383378B1 (en) * 2003-04-11 2008-06-03 Network Appliance, Inc. System and method for supporting file and block access to storage object on a storage appliance
US7293152B1 (en) * 2003-04-23 2007-11-06 Network Appliance, Inc. Consistent logical naming of initiator groups
US7181439B1 (en) * 2003-04-25 2007-02-20 Network Appliance, Inc. System and method for transparently accessing a virtual disk using a file-based protocol
US7330862B1 (en) 2003-04-25 2008-02-12 Network Appliance, Inc. Zero copy write datapath
US7239989B2 (en) * 2003-07-18 2007-07-03 Oracle International Corporation Within-distance query pruning in an R-tree index
US7593996B2 (en) * 2003-07-18 2009-09-22 Netapp, Inc. System and method for establishing a peer connection using reliable RDMA primitives
US7716323B2 (en) * 2003-07-18 2010-05-11 Netapp, Inc. System and method for reliable peer communication in a clustered storage system
US7055014B1 (en) * 2003-08-11 2006-05-30 Network Applicance, Inc. User interface system for a multi-protocol storage appliance
US7953819B2 (en) * 2003-08-22 2011-05-31 Emc Corporation Multi-protocol sharable virtual storage objects
US7647451B1 (en) 2003-11-24 2010-01-12 Netapp, Inc. Data placement technique for striping data containers across volumes of a storage system cluster
US7698289B2 (en) * 2003-12-02 2010-04-13 Netapp, Inc. Storage system architecture for striping data container content across volumes of a cluster
US7478101B1 (en) 2003-12-23 2009-01-13 Networks Appliance, Inc. System-independent data format in a mirrored storage system environment and method for using the same
US7921110B1 (en) 2003-12-23 2011-04-05 Netapp, Inc. System and method for comparing data sets
US7340639B1 (en) 2004-01-08 2008-03-04 Network Appliance, Inc. System and method for proxying data access commands in a clustered storage system
US7293195B1 (en) 2004-01-29 2007-11-06 Network Appliance, Inc. System and method for coordinated bringup of a storage appliance in a cluster configuration
JP4477365B2 (ja) * 2004-01-29 2010-06-09 株式会社日立製作所 複数インタフェースを有する記憶装置、および、その記憶装置の制御方法
US7949792B2 (en) * 2004-02-27 2011-05-24 Cisco Technology, Inc. Encoding a TCP offload engine within FCP
US7966293B1 (en) 2004-03-09 2011-06-21 Netapp, Inc. System and method for indexing a backup using persistent consistency point images
US7328144B1 (en) 2004-04-28 2008-02-05 Network Appliance, Inc. System and method for simulating a software protocol stack using an emulated protocol over an emulated network
US8621029B1 (en) * 2004-04-28 2013-12-31 Netapp, Inc. System and method for providing remote direct memory access over a transport medium that does not natively support remote direct memory access operations
US7409511B2 (en) * 2004-04-30 2008-08-05 Network Appliance, Inc. Cloning technique for efficiently creating a copy of a volume in a storage system
US8996455B2 (en) * 2004-04-30 2015-03-31 Netapp, Inc. System and method for configuring a storage network utilizing a multi-protocol storage appliance
US7409494B2 (en) 2004-04-30 2008-08-05 Network Appliance, Inc. Extension of write anywhere file system layout
US7430571B2 (en) * 2004-04-30 2008-09-30 Network Appliance, Inc. Extension of write anywhere file layout write allocation
US7761284B2 (en) 2004-08-30 2010-07-20 Overland Storage, Inc. Tape emulating disk based storage system and method with automatically resized emulated tape capacity
US7260678B1 (en) 2004-10-13 2007-08-21 Network Appliance, Inc. System and method for determining disk ownership model
US7730277B1 (en) 2004-10-25 2010-06-01 Netapp, Inc. System and method for using pvbn placeholders in a flexible volume of a storage system
US7769975B2 (en) * 2004-11-15 2010-08-03 International Business Machines Corporation Method for configuring volumes in a storage system
US7523286B2 (en) * 2004-11-19 2009-04-21 Network Appliance, Inc. System and method for real-time balancing of user workload across multiple storage systems with shared back end storage
US7844444B1 (en) * 2004-11-23 2010-11-30 Sanblaze Technology, Inc. Fibre channel disk emulator system and method
US7506111B1 (en) * 2004-12-20 2009-03-17 Network Appliance, Inc. System and method for determining a number of overwitten blocks between data containers
US7409495B1 (en) * 2004-12-22 2008-08-05 Symantec Operating Corporation Method and apparatus for providing a temporal storage appliance with block virtualization in storage networks
US8019842B1 (en) 2005-01-27 2011-09-13 Netapp, Inc. System and method for distributing enclosure services data to coordinate shared storage
US8180855B2 (en) * 2005-01-27 2012-05-15 Netapp, Inc. Coordinated shared storage architecture
US7574464B2 (en) * 2005-02-14 2009-08-11 Netapp, Inc. System and method for enabling a storage system to support multiple volume formats simultaneously
US8122191B2 (en) * 2005-02-17 2012-02-21 Overland Storage, Inc. Data protection systems with multiple site replication
US20060195425A1 (en) * 2005-02-28 2006-08-31 Microsoft Corporation Composable query building API and query language
US7747836B2 (en) * 2005-03-08 2010-06-29 Netapp, Inc. Integrated storage virtualization and switch system
US7757056B1 (en) 2005-03-16 2010-07-13 Netapp, Inc. System and method for efficiently calculating storage required to split a clone volume
JP4574408B2 (ja) * 2005-03-24 2010-11-04 株式会社日立製作所 記憶装置システムの制御技術
EP1875393B1 (en) * 2005-04-25 2015-08-05 NetApp, Inc. Architecture for supporting sparse volumes
US8055702B2 (en) 2005-04-25 2011-11-08 Netapp, Inc. System and method for caching network file systems
US8073899B2 (en) * 2005-04-29 2011-12-06 Netapp, Inc. System and method for proxying data access commands in a storage system cluster
US7698501B1 (en) 2005-04-29 2010-04-13 Netapp, Inc. System and method for utilizing sparse data containers in a striped volume set
US7904649B2 (en) 2005-04-29 2011-03-08 Netapp, Inc. System and method for restriping data across a plurality of volumes
US7617370B2 (en) * 2005-04-29 2009-11-10 Netapp, Inc. Data allocation within a storage system architecture
US7743210B1 (en) 2005-04-29 2010-06-22 Netapp, Inc. System and method for implementing atomic cross-stripe write operations in a striped volume set
US7698334B2 (en) * 2005-04-29 2010-04-13 Netapp, Inc. System and method for multi-tiered meta-data caching and distribution in a clustered computer environment
US7962689B1 (en) 2005-04-29 2011-06-14 Netapp, Inc. System and method for performing transactional processing in a striped volume set
US20060253658A1 (en) * 2005-05-04 2006-11-09 International Business Machines Corporation Provisioning or de-provisioning shared or reusable storage volumes
US20060271579A1 (en) * 2005-05-10 2006-11-30 Arun Batish Storage usage analysis
US20060265358A1 (en) * 2005-05-17 2006-11-23 Junichi Hara Method and apparatus for providing information to search engines
US7739318B2 (en) * 2005-06-20 2010-06-15 Netapp, Inc. System and method for maintaining mappings from data containers to their parent directories
US7653682B2 (en) * 2005-07-22 2010-01-26 Netapp, Inc. Client failure fencing mechanism for fencing network file system data in a host-cluster environment
US20070022314A1 (en) * 2005-07-22 2007-01-25 Pranoop Erasani Architecture and method for configuring a simplified cluster over a network with fencing and quorum
US7516285B1 (en) 2005-07-22 2009-04-07 Network Appliance, Inc. Server side API for fencing cluster hosts via export access rights
US8484213B2 (en) * 2005-08-31 2013-07-09 International Business Machines Corporation Heterogenous high availability cluster manager
US7650366B1 (en) 2005-09-09 2010-01-19 Netapp, Inc. System and method for generating a crash consistent persistent consistency point image set
US9990133B2 (en) * 2005-09-12 2018-06-05 Oracle America, Inc. Storage library client interface system and method
US7707193B2 (en) * 2005-09-22 2010-04-27 Netapp, Inc. System and method for verifying and restoring the consistency of inode to pathname mappings in a filesystem
US20070088917A1 (en) * 2005-10-14 2007-04-19 Ranaweera Samantha L System and method for creating and maintaining a logical serial attached SCSI communication channel among a plurality of storage systems
US7467276B1 (en) 2005-10-25 2008-12-16 Network Appliance, Inc. System and method for automatic root volume creation
WO2007053356A2 (en) 2005-10-28 2007-05-10 Network Appliance, Inc. System and method for optimizing multi-pathing support in a distributed storage system environment
US8549252B2 (en) * 2005-12-13 2013-10-01 Emc Corporation File based volumes and file systems
US7693864B1 (en) 2006-01-03 2010-04-06 Netapp, Inc. System and method for quickly determining changed metadata using persistent consistency point image differencing
US7734603B1 (en) 2006-01-26 2010-06-08 Netapp, Inc. Content addressable storage array element
US8560503B1 (en) 2006-01-26 2013-10-15 Netapp, Inc. Content addressable storage system
CN100423491C (zh) 2006-03-08 2008-10-01 杭州华三通信技术有限公司 虚拟化网络存储系统及其网络存储设备
US7734951B1 (en) 2006-03-20 2010-06-08 Netapp, Inc. System and method for data protection management in a logical namespace of a storage system environment
US8285817B1 (en) 2006-03-20 2012-10-09 Netapp, Inc. Migration engine for use in a logical namespace of a storage system environment
US7590660B1 (en) 2006-03-21 2009-09-15 Network Appliance, Inc. Method and system for efficient database cloning
US7926049B1 (en) 2006-03-23 2011-04-12 Netapp, Inc. System and method for determining differences between software configurations
US7565519B1 (en) 2006-03-23 2009-07-21 Netapp, Inc. System and method for automatically upgrading/reverting configurations across a plurality of product release lines
US8260831B2 (en) * 2006-03-31 2012-09-04 Netapp, Inc. System and method for implementing a flexible storage manager with threshold control
US8090908B1 (en) 2006-04-26 2012-01-03 Netapp, Inc. Single nodename cluster system for fibre channel
US8165221B2 (en) * 2006-04-28 2012-04-24 Netapp, Inc. System and method for sampling based elimination of duplicate data
US7769723B2 (en) * 2006-04-28 2010-08-03 Netapp, Inc. System and method for providing continuous data protection
US7464238B1 (en) 2006-04-28 2008-12-09 Network Appliance, Inc. System and method for verifying the consistency of mirrored data sets
US9026495B1 (en) 2006-05-26 2015-05-05 Netapp, Inc. System and method for creating and accessing a host-accessible storage entity
US20070288535A1 (en) * 2006-06-13 2007-12-13 Hitachi, Ltd. Long-term data archiving system and method
US8185751B2 (en) * 2006-06-27 2012-05-22 Emc Corporation Achieving strong cryptographic correlation between higher level semantic units and lower level components in a secure data storage system
US7921077B2 (en) * 2006-06-29 2011-04-05 Netapp, Inc. System and method for managing data deduplication of storage systems utilizing persistent consistency point images
US8412682B2 (en) * 2006-06-29 2013-04-02 Netapp, Inc. System and method for retrieving and using block fingerprints for data deduplication
US8010509B1 (en) 2006-06-30 2011-08-30 Netapp, Inc. System and method for verifying and correcting the consistency of mirrored data sets
US7747584B1 (en) 2006-08-22 2010-06-29 Netapp, Inc. System and method for enabling de-duplication in a storage system architecture
US7526619B1 (en) * 2006-09-05 2009-04-28 Nvidia Corporation Method for providing emulated flexible magnetic storage medium using network storage services
US7971234B1 (en) 2006-09-15 2011-06-28 Netapp, Inc. Method and apparatus for offline cryptographic key establishment
US8245050B1 (en) 2006-09-29 2012-08-14 Netapp, Inc. System and method for initial key establishment using a split knowledge protocol
US7739546B1 (en) 2006-10-20 2010-06-15 Netapp, Inc. System and method for storing and retrieving file system log information in a clustered computer system
US8996487B1 (en) 2006-10-31 2015-03-31 Netapp, Inc. System and method for improving the relevance of search results using data container access patterns
US7720889B1 (en) 2006-10-31 2010-05-18 Netapp, Inc. System and method for nearly in-band search indexing
US7933921B2 (en) 2006-11-29 2011-04-26 Netapp, Inc. Referent-controlled location resolution of resources in a federated distributed system
US7546302B1 (en) * 2006-11-30 2009-06-09 Netapp, Inc. Method and system for improved resource giveback
US7711683B1 (en) * 2006-11-30 2010-05-04 Netapp, Inc. Method and system for maintaining disk location via homeness
US7613947B1 (en) 2006-11-30 2009-11-03 Netapp, Inc. System and method for storage takeover
US8706833B1 (en) 2006-12-08 2014-04-22 Emc Corporation Data storage server having common replication architecture for multiple storage object types
US8489811B1 (en) 2006-12-29 2013-07-16 Netapp, Inc. System and method for addressing data containers using data set identifiers
US8301673B2 (en) * 2006-12-29 2012-10-30 Netapp, Inc. System and method for performing distributed consistency verification of a clustered file system
US20080177907A1 (en) * 2007-01-23 2008-07-24 Paul Boerger Method and system of a peripheral port of a server system
US7853750B2 (en) * 2007-01-30 2010-12-14 Netapp, Inc. Method and an apparatus to store data patterns
US7865663B1 (en) * 2007-02-16 2011-01-04 Vmware, Inc. SCSI protocol emulation for virtual storage device stored on NAS device
US8868495B2 (en) * 2007-02-21 2014-10-21 Netapp, Inc. System and method for indexing user data on storage systems
US7870356B1 (en) 2007-02-22 2011-01-11 Emc Corporation Creation of snapshot copies using a sparse file for keeping a record of changed blocks
US8312046B1 (en) 2007-02-28 2012-11-13 Netapp, Inc. System and method for enabling a data container to appear in a plurality of locations in a super-namespace
US8024518B1 (en) 2007-03-02 2011-09-20 Netapp, Inc. Optimizing reads for verification of a mirrored file system
US8219821B2 (en) 2007-03-27 2012-07-10 Netapp, Inc. System and method for signature based data container recognition
US8312214B1 (en) 2007-03-28 2012-11-13 Netapp, Inc. System and method for pausing disk drives in an aggregate
US7653612B1 (en) 2007-03-28 2010-01-26 Emc Corporation Data protection services offload using shallow files
US7734947B1 (en) 2007-04-17 2010-06-08 Netapp, Inc. System and method for virtual interface failover within a cluster
US9134921B1 (en) 2007-04-23 2015-09-15 Netapp, Inc. Uniquely naming storage devices in a global storage environment
US8611542B1 (en) 2007-04-26 2013-12-17 Netapp, Inc. Peer to peer key synchronization
US20080270480A1 (en) * 2007-04-26 2008-10-30 Hanes David H Method and system of deleting files from a remote server
US8219749B2 (en) * 2007-04-27 2012-07-10 Netapp, Inc. System and method for efficient updates of sequential block storage
US7827350B1 (en) 2007-04-27 2010-11-02 Netapp, Inc. Method and system for promoting a snapshot in a distributed file system
US7840837B2 (en) * 2007-04-27 2010-11-23 Netapp, Inc. System and method for protecting memory during system initialization
US7882304B2 (en) * 2007-04-27 2011-02-01 Netapp, Inc. System and method for efficient updates of sequential block storage
US8824686B1 (en) 2007-04-27 2014-09-02 Netapp, Inc. Cluster key synchronization
US7958385B1 (en) 2007-04-30 2011-06-07 Netapp, Inc. System and method for verification and enforcement of virtual interface failover within a cluster
US8005993B2 (en) 2007-04-30 2011-08-23 Hewlett-Packard Development Company, L.P. System and method of a storage expansion unit for a network attached storage device
US9110920B1 (en) 2007-05-03 2015-08-18 Emc Corporation CIFS access to NFS files and directories by translating NFS file handles into pseudo-pathnames
US7836331B1 (en) 2007-05-15 2010-11-16 Netapp, Inc. System and method for protecting the contents of memory during error conditions
US8762345B2 (en) 2007-05-31 2014-06-24 Netapp, Inc. System and method for accelerating anchor point detection
US7797489B1 (en) 2007-06-01 2010-09-14 Netapp, Inc. System and method for providing space availability notification in a distributed striped volume set
US8037524B1 (en) 2007-06-19 2011-10-11 Netapp, Inc. System and method for differentiated cross-licensing for services across heterogeneous systems using transient keys
US7801993B2 (en) * 2007-07-19 2010-09-21 Hitachi, Ltd. Method and apparatus for storage-service-provider-aware storage system
US8209365B2 (en) * 2007-07-23 2012-06-26 Hewlett-Packard Development Company, L.P. Technique for virtualizing storage using stateless servers
US8301791B2 (en) * 2007-07-26 2012-10-30 Netapp, Inc. System and method for non-disruptive check of a mirror
EP2176991B1 (en) * 2007-08-16 2015-10-07 Fisher Controls International LLC Network scanning and management in a device type manager of type device
EP2028603B1 (en) * 2007-08-20 2011-07-13 NTT DoCoMo, Inc. External storage medium adapter
US20090055556A1 (en) * 2007-08-20 2009-02-26 Ntt Docomo, Inc. External storage medium adapter
US8346952B2 (en) * 2007-08-21 2013-01-01 Netapp, Inc. De-centralization of group administration authority within a network storage architecture
US8196182B2 (en) 2007-08-24 2012-06-05 Netapp, Inc. Distributed management of crypto module white lists
US8793226B1 (en) 2007-08-28 2014-07-29 Netapp, Inc. System and method for estimating duplicate data
US9774445B1 (en) 2007-09-04 2017-09-26 Netapp, Inc. Host based rekeying
US7756832B1 (en) 2007-09-21 2010-07-13 Netapp, Inc. Apparatus and method for providing upgrade compatibility
US8903772B1 (en) 2007-10-25 2014-12-02 Emc Corporation Direct or indirect mapping policy for data blocks of a file in a file system
US7983423B1 (en) 2007-10-29 2011-07-19 Netapp, Inc. Re-keying based on pre-generated keys
US7996636B1 (en) 2007-11-06 2011-08-09 Netapp, Inc. Uniquely identifying block context signatures in a storage volume hierarchy
US7904690B2 (en) * 2007-12-14 2011-03-08 Netapp, Inc. Policy based storage appliance virtualization
US7984259B1 (en) 2007-12-17 2011-07-19 Netapp, Inc. Reducing load imbalance in a storage system
US7890504B2 (en) * 2007-12-19 2011-02-15 Netapp, Inc. Using the LUN type for storage allocation
US7904466B1 (en) 2007-12-21 2011-03-08 Netapp, Inc. Presenting differences in a file system
US9507784B2 (en) 2007-12-21 2016-11-29 Netapp, Inc. Selective extraction of information from a mirrored image file
US9128946B2 (en) * 2007-12-31 2015-09-08 Mastercard International Incorporated Systems and methods for platform-independent data file transfers
US8380674B1 (en) 2008-01-09 2013-02-19 Netapp, Inc. System and method for migrating lun data between data containers
US7996607B1 (en) 2008-01-28 2011-08-09 Netapp, Inc. Distributing lookup operations in a striped storage system
US8793117B1 (en) * 2008-04-16 2014-07-29 Scalable Network Technologies, Inc. System and method for virtualization of networking system software via emulation
US8725986B1 (en) 2008-04-18 2014-05-13 Netapp, Inc. System and method for volume block number to disk block number mapping
CN101566927B (zh) * 2008-04-23 2010-10-27 杭州华三通信技术有限公司 存储系统和存储控制器以及数据缓存方法
US8219564B1 (en) 2008-04-29 2012-07-10 Netapp, Inc. Two-dimensional indexes for quick multiple attribute search in a catalog system
US8200638B1 (en) 2008-04-30 2012-06-12 Netapp, Inc. Individual file restore from block-level incremental backups by using client-server backup protocol
US8046333B1 (en) 2008-04-30 2011-10-25 Netapp, Inc. Incremental dump with a metadata container walk using inode-to-parent mapping information
EP2283632B1 (en) * 2008-05-21 2017-09-13 Telefonaktiebolaget LM Ericsson (publ) Resource pooling in a blade cluster switching center server
US8745336B2 (en) * 2008-05-29 2014-06-03 Vmware, Inc. Offloading storage operations to storage hardware
US8250043B2 (en) * 2008-08-19 2012-08-21 Netapp, Inc. System and method for compression of partially ordered data sets
US8285687B2 (en) * 2008-08-27 2012-10-09 Netapp, Inc. System and method for file system level compression using compression group descriptors
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US8073674B2 (en) * 2008-09-23 2011-12-06 Oracle America, Inc. SCSI device emulation in user space facilitating storage virtualization
US8327186B2 (en) * 2009-03-10 2012-12-04 Netapp, Inc. Takeover of a failed node of a cluster storage system on a per aggregate basis
US8688798B1 (en) 2009-04-03 2014-04-01 Netapp, Inc. System and method for a shared write address protocol over a remote direct memory access connection
US8266136B1 (en) 2009-04-13 2012-09-11 Netapp, Inc. Mechanism for performing fast directory lookup in a server system
US8069366B1 (en) * 2009-04-29 2011-11-29 Netapp, Inc. Global write-log device for managing write logs of nodes of a cluster storage system
US8117388B2 (en) * 2009-04-30 2012-02-14 Netapp, Inc. Data distribution through capacity leveling in a striped file system
GB2470895A (en) * 2009-06-08 2010-12-15 Mark Klarzynski Virtualisation of block level storage by compartmentalising data into virtual block files to establish a virtual block file system
US8463989B2 (en) * 2009-06-16 2013-06-11 Hitachi, Ltd. Storage device and method utilizing both block I/O and file I/O access
US8504529B1 (en) 2009-06-19 2013-08-06 Netapp, Inc. System and method for restoring data to a storage device based on a backup image
US8510806B2 (en) * 2009-10-22 2013-08-13 Sap Ag System and method of controlling access to information in a virtual computing environment
AU2010315476A1 (en) * 2009-10-26 2012-06-07 Wearable, Inc. Concurrent access to a memory pool shared between a block access device and a graph access device
US20110121108A1 (en) * 2009-11-24 2011-05-26 Stephan Rodewald Plasma polymerization nozzle
US9015333B2 (en) 2009-12-18 2015-04-21 Cisco Technology, Inc. Apparatus and methods for handling network file operations over a fibre channel network
US8086638B1 (en) 2010-03-31 2011-12-27 Emc Corporation File handle banking to provide non-disruptive migration of files
WO2011145148A1 (en) * 2010-05-20 2011-11-24 Hitachi Software Engineering Co., Ltd. Computer system and storage capacity extension method
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
CN101986651B (zh) * 2010-08-26 2013-01-30 上海网众信息技术有限公司 远程存储的方法及其系统及客户端
CN101938523A (zh) * 2010-09-16 2011-01-05 华中科技大学 一种iSCSI与FCP协议融合方法及其在容灾中的应用
EP2622469B1 (en) 2010-09-30 2019-11-13 Commvault Systems, Inc. Efficient data management improvements, such as docking limited-feature data management modules to a full-featured data management system
CN102223409B (zh) * 2011-06-13 2013-08-21 浪潮(北京)电子信息产业有限公司 一种网络存储资源应用系统及方法
US9461881B2 (en) 2011-09-30 2016-10-04 Commvault Systems, Inc. Migration of existing computing systems to cloud computing sites or virtual machines
US9116633B2 (en) 2011-09-30 2015-08-25 Commvault Systems, Inc. Information management of virtual machines having mapped storage devices
US8959389B2 (en) 2011-11-23 2015-02-17 International Business Machines Corporation Use of a virtual drive as a hot spare for a raid group
CA2867302A1 (en) 2012-03-14 2013-09-19 Convergent .Io Technologies Inc. Systems, methods and devices for management of virtual memory systems
US9639297B2 (en) 2012-03-30 2017-05-02 Commvault Systems, Inc Shared network-available storage that permits concurrent data access
US9063938B2 (en) 2012-03-30 2015-06-23 Commvault Systems, Inc. Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files
US8924443B2 (en) * 2012-10-05 2014-12-30 Gary Robin Maze Document management systems and methods
US9740702B2 (en) 2012-12-21 2017-08-22 Commvault Systems, Inc. Systems and methods to identify unprotected virtual machines
US9311121B2 (en) 2012-12-21 2016-04-12 Commvault Systems, Inc. Archiving virtual machines in a data storage system
CN103067488A (zh) * 2012-12-25 2013-04-24 中国科学院深圳先进技术研究院 一种统一存储的实现方法
US9378035B2 (en) 2012-12-28 2016-06-28 Commvault Systems, Inc. Systems and methods for repurposing virtual machines
US9020977B1 (en) * 2012-12-31 2015-04-28 Emc Corporation Managing multiprotocol directories
US20140196039A1 (en) 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine categorization system and method
US9015123B1 (en) 2013-01-16 2015-04-21 Netapp, Inc. Methods and systems for identifying changed data in an expandable storage volume
US9286007B1 (en) 2013-03-14 2016-03-15 Emc Corporation Unified datapath architecture
US10447524B1 (en) 2013-03-14 2019-10-15 EMC IP Holding Company LLC Unified datapath processing with virtualized storage processors
US9507787B1 (en) 2013-03-15 2016-11-29 EMC IP Holding Company LLC Providing mobility to virtual storage processors
US9424117B1 (en) * 2013-03-15 2016-08-23 Emc Corporation Virtual storage processor failover
US9122697B1 (en) * 2013-03-29 2015-09-01 Emc Corporation Unified data services for block and file objects
US9280555B1 (en) 2013-03-29 2016-03-08 Emc Corporation Unified data protection for block and file objects
CN103257941B (zh) * 2013-04-17 2015-09-23 浪潮(北京)电子信息产业有限公司 多协议存储控制器和系统
US9400792B1 (en) 2013-06-27 2016-07-26 Emc Corporation File system inline fine grained tiering
US9535630B1 (en) * 2013-06-27 2017-01-03 EMC IP Holding Company LLC Leveraging array operations at virtualized storage processor level
US9430492B1 (en) 2013-06-28 2016-08-30 Emc Corporation Efficient scavenging of data and metadata file system blocks
US9355121B1 (en) 2013-06-28 2016-05-31 Emc Corporation Segregating data and metadata in a file system
US9939981B2 (en) 2013-09-12 2018-04-10 Commvault Systems, Inc. File manager integration with virtualization in an information management system with an enhanced storage manager, including user control and storage management of virtual machines
US9305009B1 (en) 2013-09-30 2016-04-05 Emc Corporation Synchronous replication of virtualized storage processors
US9378261B1 (en) 2013-09-30 2016-06-28 Emc Corporation Unified synchronous replication for block and file objects
US9330155B1 (en) * 2013-09-30 2016-05-03 Emc Corporation Unified management of sync and async replication for block and file objects
US9378219B1 (en) 2013-09-30 2016-06-28 Emc Corporation Metro-cluster based on synchronous replication of virtualized storage processors
CN103617130A (zh) * 2013-11-15 2014-03-05 浪潮(北京)电子信息产业有限公司 一种支持多种协议的存储虚拟化系统
EP3074873A4 (en) * 2013-11-26 2017-08-16 Intel Corporation Method and apparatus for storing data
CN103607465A (zh) * 2013-11-27 2014-02-26 浪潮电子信息产业股份有限公司 一种融合链路存储系统
US9880777B1 (en) 2013-12-23 2018-01-30 EMC IP Holding Company LLC Embedded synchronous replication for block and file objects
CN103685566A (zh) * 2013-12-25 2014-03-26 天津火星科技有限公司 一种面向移动终端的云存储实现方法
US10915468B2 (en) * 2013-12-26 2021-02-09 Intel Corporation Sharing memory and I/O services between nodes
US9430480B1 (en) 2013-12-31 2016-08-30 Emc Corporation Active-active metro-cluster scale-out for unified data path architecture
US9069783B1 (en) 2013-12-31 2015-06-30 Emc Corporation Active-active scale-out for unified data path architecture
US9842026B2 (en) 2013-12-31 2017-12-12 Netapp, Inc. Snapshot-protected consistency checking file systems
US9563518B2 (en) 2014-04-02 2017-02-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
JP2015225603A (ja) * 2014-05-29 2015-12-14 富士通株式会社 ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム
US9916312B1 (en) 2014-06-30 2018-03-13 EMC IP Holding Company LLC Coordination of file system creation to ensure more deterministic performance characteristics
US9690803B1 (en) 2014-06-30 2017-06-27 EMC IP Holding Company LLC Auxiliary files in a container file system
US10853311B1 (en) * 2014-07-03 2020-12-01 Pure Storage, Inc. Administration through files in a storage system
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US9880928B1 (en) 2014-09-26 2018-01-30 EMC IP Holding Company LLC Storing compressed and uncompressed data in blocks having different allocation unit sizes
US9584374B2 (en) 2014-10-09 2017-02-28 Splunk Inc. Monitoring overall service-level performance using an aggregate key performance indicator derived from machine data
US11087263B2 (en) 2014-10-09 2021-08-10 Splunk Inc. System monitoring with key performance indicators from shared base search of machine data
US10417225B2 (en) 2015-09-18 2019-09-17 Splunk Inc. Entity detail monitoring console
US9146954B1 (en) 2014-10-09 2015-09-29 Splunk, Inc. Creating entity definition from a search result set
US9130832B1 (en) 2014-10-09 2015-09-08 Splunk, Inc. Creating entity definition from a file
US10536353B2 (en) 2014-10-09 2020-01-14 Splunk Inc. Control interface for dynamic substitution of service monitoring dashboard source data
US11455590B2 (en) 2014-10-09 2022-09-27 Splunk Inc. Service monitoring adaptation for maintenance downtime
US11501238B2 (en) 2014-10-09 2022-11-15 Splunk Inc. Per-entity breakdown of key performance indicators
US9760240B2 (en) 2014-10-09 2017-09-12 Splunk Inc. Graphical user interface for static and adaptive thresholds
US9146962B1 (en) 2014-10-09 2015-09-29 Splunk, Inc. Identifying events using informational fields
US10474680B2 (en) 2014-10-09 2019-11-12 Splunk Inc. Automatic entity definitions
US9158811B1 (en) 2014-10-09 2015-10-13 Splunk, Inc. Incident review interface
US11275775B2 (en) 2014-10-09 2022-03-15 Splunk Inc. Performing search queries for key performance indicators using an optimized common information model
US11200130B2 (en) 2015-09-18 2021-12-14 Splunk Inc. Automatic entity control in a machine data driven service monitoring system
US10592093B2 (en) 2014-10-09 2020-03-17 Splunk Inc. Anomaly detection
US9491059B2 (en) 2014-10-09 2016-11-08 Splunk Inc. Topology navigator for IT services
US9864797B2 (en) 2014-10-09 2018-01-09 Splunk Inc. Defining a new search based on displayed graph lanes
US11755559B1 (en) 2014-10-09 2023-09-12 Splunk Inc. Automatic entity control in a machine data driven service monitoring system
US10209956B2 (en) 2014-10-09 2019-02-19 Splunk Inc. Automatic event group actions
US10447555B2 (en) 2014-10-09 2019-10-15 Splunk Inc. Aggregate key performance indicator spanning multiple services
US10235638B2 (en) 2014-10-09 2019-03-19 Splunk Inc. Adaptive key performance indicator thresholds
US10505825B1 (en) 2014-10-09 2019-12-10 Splunk Inc. Automatic creation of related event groups for IT service monitoring
US10193775B2 (en) 2014-10-09 2019-01-29 Splunk Inc. Automatic event group action interface
US11671312B2 (en) 2014-10-09 2023-06-06 Splunk Inc. Service detail monitoring console
US9210056B1 (en) 2014-10-09 2015-12-08 Splunk Inc. Service monitoring interface
US11296955B1 (en) 2014-10-09 2022-04-05 Splunk Inc. Aggregate key performance indicator spanning multiple services and based on a priority value
US10305758B1 (en) 2014-10-09 2019-05-28 Splunk Inc. Service monitoring interface reflecting by-service mode
US10417108B2 (en) 2015-09-18 2019-09-17 Splunk Inc. Portable control modules in a machine data driven service monitoring system
US10776209B2 (en) 2014-11-10 2020-09-15 Commvault Systems, Inc. Cross-platform virtual machine backup and replication
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US20160217175A1 (en) 2015-01-23 2016-07-28 Netapp, Inc. Techniques for asynchronous snapshot invalidation
US9967351B2 (en) 2015-01-31 2018-05-08 Splunk Inc. Automated service discovery in I.T. environments
US10198155B2 (en) 2015-01-31 2019-02-05 Splunk Inc. Interface for automated service discovery in I.T. environments
US10037251B1 (en) 2015-03-31 2018-07-31 EMC IP Holding Company LLC File system rollback to previous point in time
US10084873B2 (en) 2015-06-19 2018-09-25 Commvault Systems, Inc. Assignment of data agent proxies for executing virtual-machine secondary copy operations including streaming backup jobs
US9563514B2 (en) 2015-06-19 2017-02-07 Commvault Systems, Inc. Assignment of proxies for virtual-machine secondary copy operations including streaming backup jobs
US10705909B2 (en) * 2015-06-25 2020-07-07 International Business Machines Corporation File level defined de-clustered redundant array of independent storage devices solution
WO2017005330A1 (en) * 2015-07-09 2017-01-12 Hitachi Data Systems Engineering UK Limited Storage control system managing file-level and block-level storage services, and methods for controlling such storage control system
US10523766B2 (en) * 2015-08-27 2019-12-31 Infinidat Ltd Resolving path state conflicts in internet small computer system interfaces
CN106997274B (zh) * 2016-01-25 2021-04-30 中兴通讯股份有限公司 一种实现存储空间管理的架构及方法
US11461258B2 (en) 2016-09-14 2022-10-04 Samsung Electronics Co., Ltd. Self-configuring baseboard management controller (BMC)
US20190109720A1 (en) 2016-07-26 2019-04-11 Samsung Electronics Co., Ltd. Modular system (switch boards and mid-plane) for supporting 50g or 100g ethernet speeds of fpga+ssd
US10210123B2 (en) * 2016-07-26 2019-02-19 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NMVe over fabrics devices
US10942960B2 (en) 2016-09-26 2021-03-09 Splunk Inc. Automatic triage model execution in machine data driven monitoring automation apparatus with visualization
US10942946B2 (en) 2016-09-26 2021-03-09 Splunk, Inc. Automatic triage model execution in machine data driven monitoring automation apparatus
US10853320B1 (en) 2016-09-30 2020-12-01 EMC IP Holding Company LLC Scavenging directories for free space
US10417102B2 (en) 2016-09-30 2019-09-17 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including virtual machine distribution logic
US10162528B2 (en) 2016-10-25 2018-12-25 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US10628196B2 (en) * 2016-11-12 2020-04-21 Vmware, Inc. Distributed iSCSI target for distributed hyper-converged storage
RU2646312C1 (ru) * 2016-11-14 2018-03-02 Общество с ограниченной ответственностью "ИБС Экспертиза" Интегрированный программно-аппаратный комплекс
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US10949308B2 (en) 2017-03-15 2021-03-16 Commvault Systems, Inc. Application aware backup of virtual machines
US20180276085A1 (en) 2017-03-24 2018-09-27 Commvault Systems, Inc. Virtual machine recovery point generation
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
US10853195B2 (en) 2017-03-31 2020-12-01 Commvault Systems, Inc. Granular restoration of virtual machine application data
US10289325B1 (en) 2017-07-31 2019-05-14 EMC IP Holding Company LLC Managing multiple tenants in NAS (network attached storage) clusters
US10983964B1 (en) 2017-07-31 2021-04-20 EMC IP Holding Company LLC Managing file system tailored for cluster deployment
US10831718B1 (en) 2017-07-31 2020-11-10 EMC IP Holding Company LLC Managing data using network attached storage (NAS) cluster
US10789017B1 (en) 2017-07-31 2020-09-29 EMC IP Holding Company LLC File system provisioning and management with reduced storage communication
US11042512B1 (en) 2017-08-02 2021-06-22 EMC IP Holding Company LLC Enabling granular snapshots and provisioning in NAS (network attached storage) clusters
RU178459U1 (ru) * 2017-09-08 2018-04-04 Общество с ограниченной ответственностью "БУЛАТ" Устройство хранения данных
US11106442B1 (en) 2017-09-23 2021-08-31 Splunk Inc. Information technology networked entity monitoring with metric selection prior to deployment
US11093518B1 (en) 2017-09-23 2021-08-17 Splunk Inc. Information technology networked entity monitoring with dynamic metric and threshold selection
US11159397B2 (en) 2017-09-25 2021-10-26 Splunk Inc. Lower-tier application deployment for higher-tier system data monitoring
CN107656704A (zh) * 2017-09-28 2018-02-02 郑州云海信息技术有限公司 多协议数据共享存储方法、装置、设备及计算机存储介质
US10848545B2 (en) 2018-01-31 2020-11-24 EMC IP Holding Company LLC Managing cloud storage of block-based and file-based data
US11042448B2 (en) 2018-01-31 2021-06-22 EMC IP Holding Company LLC Archiving NAS servers to the cloud
US10740192B2 (en) 2018-01-31 2020-08-11 EMC IP Holding Company LLC Restoring NAS servers from the cloud
US10764180B1 (en) * 2018-02-20 2020-09-01 Toshiba Memory Corporation System and method for storing data using software defined networks
US10877928B2 (en) 2018-03-07 2020-12-29 Commvault Systems, Inc. Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations
RU184681U1 (ru) * 2018-04-18 2018-11-02 Общество с ограниченной ответственностью "БУЛАТ" Устройство хранения данных
RU182176U1 (ru) * 2018-04-18 2018-08-06 Общество с ограниченной ответственностью "БУЛАТ" Устройство хранения данных
CN110879760B (zh) * 2018-09-05 2022-09-02 北京鲸鲨软件科技有限公司 一种统一存储系统及方法、电子设备
US11172052B2 (en) 2018-09-13 2021-11-09 International Business Machines Corporation Merging storage protocols
CN109117099A (zh) * 2018-10-23 2019-01-01 西安莫贝克半导体科技有限公司 一种san结构存储柜管理系统及数据操作方法
WO2020097902A1 (en) 2018-11-16 2020-05-22 Vmware Information Technology (China) Co., Ltd. Active-active architecture for distributed iscsi target in hyper-converged storage
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US10970257B2 (en) 2019-01-31 2021-04-06 EMC IP Holding Company LLC Replicating file systems via cloud storage
EP3969977A4 (en) * 2019-05-17 2022-12-21 Hitachi Vantara LLC DEVICE, SYSTEM AND METHOD FOR MANAGING AN OBJECT BASED FILE SYSTEM
RU194502U1 (ru) * 2019-06-26 2019-12-12 Общество с ограниченной ответственностью "БУЛАТ" Устройство хранения данных
US11281541B2 (en) 2020-01-15 2022-03-22 EMC IP Holding Company LLC Dynamic snapshot backup in multi-cloud environment
US11507409B2 (en) 2020-01-22 2022-11-22 Vmware, Inc. Object-based load balancing approaches in distributed storage system
US11500667B2 (en) 2020-01-22 2022-11-15 Vmware, Inc. Object-based approaches to support internet small computer system interface (ISCSI) services in distributed storage system
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
CN111399771B (zh) * 2020-02-28 2023-01-10 苏州浪潮智能科技有限公司 一种mcs存储系统的协议配置方法、装置及设备
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11500669B2 (en) 2020-05-15 2022-11-15 Commvault Systems, Inc. Live recovery of virtual machines in a public cloud computing environment
US11023134B1 (en) * 2020-05-22 2021-06-01 EMC IP Holding Company LLC Addition of data services to an operating system running a native multi-path input-output architecture
CN112379826A (zh) * 2020-10-22 2021-02-19 中科热备(北京)云计算技术有限公司 一种存储整合技术的应用方法
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
US11676072B1 (en) 2021-01-29 2023-06-13 Splunk Inc. Interface for incorporating user feedback into training of clustering model
US11947501B2 (en) * 2021-10-21 2024-04-02 Dell Products L.P. Two-hierarchy file system
CN116126812B (zh) * 2023-02-27 2024-02-23 开元数智工程咨询集团有限公司 一种工程行业文件存储与集成的方法与系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002050433A1 (en) * 2000-12-18 2002-06-27 Spinnaker Networks, Inc. A mechanism for handling file level and block level remote file accesses using the same server
JP2003044332A (ja) * 2001-07-27 2003-02-14 Hitachi Ltd 記憶装置システム
JP2003091449A (ja) * 2001-09-17 2003-03-28 Hitachi Ltd ストレージシステムおよびストレージシステムの管理方法
JP2003316713A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 記憶装置システム

Family Cites Families (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4156907A (en) * 1977-03-02 1979-05-29 Burroughs Corporation Data communications subsystem
US4399503A (en) * 1978-06-30 1983-08-16 Bunker Ramo Corporation Dynamic disk buffer control unit
US4598357A (en) * 1980-11-14 1986-07-01 Sperry Corporation Cache/disk subsystem with file number for recovery of cached data
US4837675A (en) * 1981-10-05 1989-06-06 Digital Equipment Corporation Secondary storage facility empolying serial communications between drive and controller
US4570217A (en) * 1982-03-29 1986-02-11 Allen Bruce S Man machine interface
JPS60142418A (ja) * 1983-12-28 1985-07-27 Hitachi Ltd 入出力エラ−回復方式
US4896259A (en) * 1984-09-07 1990-01-23 International Business Machines Corporation Apparatus for storing modifying data prior to selectively storing data to be modified into a register
JPS61141056A (ja) * 1984-12-14 1986-06-28 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 揮発性メモリの間欠エラ−検出方法
US5202979A (en) * 1985-05-08 1993-04-13 Thinking Machines Corporation Storage system using multiple independently mechanically-driven storage units
US4805090A (en) * 1985-09-27 1989-02-14 Unisys Corporation Peripheral-controller for multiple disk drive modules having different protocols and operating conditions
US4916608A (en) * 1986-05-30 1990-04-10 International Business Machines Corporation Provision of virtual storage resources to an operating system control program
US4761785B1 (en) * 1986-06-12 1996-03-12 Ibm Parity spreading to enhance storage access
USRE34100E (en) * 1987-01-12 1992-10-13 Seagate Technology, Inc. Data error correction system
US4843541A (en) * 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
US5129088A (en) * 1987-11-30 1992-07-07 International Business Machines Corporation Data processing method to create virtual disks from non-contiguous groups of logically contiguous addressable blocks of direct access storage device
US4899342A (en) * 1988-02-01 1990-02-06 Thinking Machines Corporation Method and apparatus for operating multi-unit array of memories
US4864497A (en) * 1988-04-13 1989-09-05 Digital Equipment Corporation Method of integrating software application programs using an attributive data model database
US4993030A (en) 1988-04-22 1991-02-12 Amdahl Corporation File system for a plurality of storage classes
US4989206A (en) * 1988-06-28 1991-01-29 Storage Technology Corporation Disk drive memory
US5163131A (en) * 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
JP2945757B2 (ja) * 1989-09-08 1999-09-06 オースペックス システムズ インコーポレイテッド 多重装置オペレーティングシステムのアーキテクチャ
US5124987A (en) * 1990-04-16 1992-06-23 Storage Technology Corporation Logical track write scheduling system for a parallel disk drive array data storage subsystem
US5155835A (en) * 1990-11-19 1992-10-13 Storage Technology Corporation Multilevel, hierarchical, dynamically mapped data storage subsystem
US5278979A (en) * 1990-12-20 1994-01-11 International Business Machines Corp. Version management system using pointers shared by a plurality of versions for indicating active lines of a version
US5426747A (en) * 1991-03-22 1995-06-20 Object Design, Inc. Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system
US5511177A (en) * 1991-11-21 1996-04-23 Hitachi, Ltd. File data multiplexing method and data processing system
US5581724A (en) * 1992-10-19 1996-12-03 Storage Technology Corporation Dynamically mapped data storage subsystem having multiple open destage cylinders and method of managing that subsystem
EP0681721B1 (en) * 1993-02-01 2005-03-23 Sun Microsystems, Inc. Archiving file system for data servers in a distributed network environment
US5963962A (en) * 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
DK0702815T3 (da) * 1993-06-03 2000-12-18 Network Appliance Inc Opsætning af et filsystem til skrivning på et hvilket som helst sted
DE69431186T2 (de) * 1993-06-03 2003-05-08 Network Appliance Inc Verfahren und Dateisystem zur Zuordnung von Datei-Blöcken zu Speicherplatz in einem RAID-Plattensystem
US6138126A (en) * 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
US5566331A (en) * 1994-01-24 1996-10-15 University Corporation For Atmospheric Research Mass storage system for file-systems
DE19513308A1 (de) * 1994-10-04 1996-04-11 Hewlett Packard Co Dreidimensionales Dateisystem unter Verwendung einer virtuellen Knotenarchitektur
US5907672A (en) * 1995-10-04 1999-05-25 Stac, Inc. System for backing up computer disk volumes with error remapping of flawed memory addresses
US5859930A (en) * 1995-12-06 1999-01-12 Fpr Corporation Fast pattern recognizer utilizing dispersive delay line
US5996047A (en) * 1996-07-01 1999-11-30 Sun Microsystems, Inc. Method and apparatus for caching file control information corresponding to a second file block in a first file block
US5828876A (en) * 1996-07-31 1998-10-27 Ncr Corporation File system for a clustered processing system
US5944789A (en) * 1996-08-14 1999-08-31 Emc Corporation Network file server maintaining local caches of file directory information in data mover computers
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US6178173B1 (en) * 1996-12-30 2001-01-23 Paradyne Corporation System and method for communicating pre-connect information in a digital communication system
US5897661A (en) * 1997-02-25 1999-04-27 International Business Machines Corporation Logical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal storage of metadata information
US5946685A (en) * 1997-06-27 1999-08-31 Sun Microsystems, Inc. Global mount mechanism used in maintaining a global name space utilizing a distributed locking mechanism
US5987477A (en) * 1997-07-11 1999-11-16 International Business Machines Corporation Parallel file system and method for parallel write sharing
US6807581B1 (en) * 2000-09-29 2004-10-19 Alacritech, Inc. Intelligent network storage interface system
US5941972A (en) * 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US5996024A (en) * 1998-01-14 1999-11-30 Emc Corporation Method and apparatus for a SCSI applications server which extracts SCSI commands and data from message and encapsulates SCSI responses to provide transparent operation
US6185655B1 (en) * 1998-01-22 2001-02-06 Bull, S.A. Computer system with distributed data storing
US6493811B1 (en) * 1998-01-26 2002-12-10 Computer Associated Think, Inc. Intelligent controller accessed through addressable virtual space
US6173374B1 (en) * 1998-02-11 2001-01-09 Lsi Logic Corporation System and method for peer-to-peer accelerated I/O shipping between host bus adapters in clustered computer network
US6173293B1 (en) * 1998-03-13 2001-01-09 Digital Equipment Corporation Scalable distributed file system
US6697846B1 (en) * 1998-03-20 2004-02-24 Dataplow, Inc. Shared file system
US6496847B1 (en) * 1998-05-15 2002-12-17 Vmware, Inc. System and method for virtualizing computer systems
US6397242B1 (en) * 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
US6438642B1 (en) * 1999-05-18 2002-08-20 Kom Networks Inc. File-based virtual storage file system, method and computer program product for automated file management on multiple file system storage devices
US6457021B1 (en) * 1998-08-18 2002-09-24 Microsoft Corporation In-memory database system
US6324581B1 (en) * 1999-03-03 2001-11-27 Emc Corporation File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems
IE20000203A1 (en) * 1999-03-25 2001-02-21 Converge Net Technologies Inc Storage domain management system
US6275898B1 (en) 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit
US20020049883A1 (en) * 1999-11-29 2002-04-25 Eric Schneider System and method for restoring a computer system after a failure
US6526478B1 (en) * 2000-02-02 2003-02-25 Lsi Logic Corporation Raid LUN creation using proportional disk mapping
US6834326B1 (en) * 2000-02-04 2004-12-21 3Com Corporation RAID method and device with network protocol between controller and storage devices
US20010044879A1 (en) * 2000-02-18 2001-11-22 Moulton Gregory Hagan System and method for distributed management of data storage
US6701449B1 (en) * 2000-04-20 2004-03-02 Ciprico, Inc. Method and apparatus for monitoring and analyzing network appliance status information
US6745207B2 (en) * 2000-06-02 2004-06-01 Hewlett-Packard Development Company, L.P. System and method for managing virtual storage
US6618798B1 (en) * 2000-07-11 2003-09-09 International Business Machines Corporation Method, system, program, and data structures for mapping logical units to a storage space comprises of at least one array of storage units
US6636879B1 (en) * 2000-08-18 2003-10-21 Network Appliance, Inc. Space allocation in a write anywhere file system
US6977927B1 (en) * 2000-09-18 2005-12-20 Hewlett-Packard Development Company, L.P. Method and system of allocating storage resources in a storage area network
US7089293B2 (en) * 2000-11-02 2006-08-08 Sun Microsystems, Inc. Switching system method for discovering and accessing SCSI devices in response to query
US6671773B2 (en) * 2000-12-07 2003-12-30 Spinnaker Networks, Llc Method and system for responding to file system requests
US7165096B2 (en) * 2000-12-22 2007-01-16 Data Plow, Inc. Storage area network file system
AU2002249939A1 (en) * 2001-01-11 2002-07-24 Z-Force Communications, Inc. File switch and switched file system
US6606690B2 (en) * 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
US20040233910A1 (en) * 2001-02-23 2004-11-25 Wen-Shyen Chen Storage area network using a data communication protocol
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
US20020161982A1 (en) * 2001-04-30 2002-10-31 Erik Riedel System and method for implementing a storage area network system protocol
JP4632574B2 (ja) * 2001-05-25 2011-02-16 株式会社日立製作所 記憶装置およびファイルデータのバックアップ方法およびファイルデータのコピー方法
CN1147793C (zh) * 2001-05-30 2004-04-28 深圳市朗科科技有限公司 使用半导体存储设备的数据安全存取方法和系统
US7403987B1 (en) * 2001-06-29 2008-07-22 Symantec Operating Corporation Transactional SAN management
US7127633B1 (en) * 2001-11-15 2006-10-24 Xiotech Corporation System and method to failover storage area network targets from one interface to another
US6978283B1 (en) * 2001-12-21 2005-12-20 Network Appliance, Inc. File system defragmentation technique via write allocation
JP4146653B2 (ja) * 2002-02-28 2008-09-10 株式会社日立製作所 記憶装置
US7039663B1 (en) * 2002-04-19 2006-05-02 Network Appliance, Inc. System and method for checkpointing and restarting an asynchronous transfer of data between a source and destination snapshot
US6757778B1 (en) * 2002-05-07 2004-06-29 Veritas Operating Corporation Storage management system
US7194538B1 (en) * 2002-06-04 2007-03-20 Veritas Operating Corporation Storage area network (SAN) management system for discovering SAN components using a SAN management server
US7328260B1 (en) * 2002-06-04 2008-02-05 Symantec Operating Corporation Mapping discovered devices to SAN-manageable objects using configurable rules
US7844833B2 (en) * 2002-06-24 2010-11-30 Microsoft Corporation Method and system for user protected media pool
US7873700B2 (en) 2002-08-09 2011-01-18 Netapp, Inc. Multi-protocol storage appliance that provides integrated support for file and block access protocols
US7107385B2 (en) * 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US20040139167A1 (en) * 2002-12-06 2004-07-15 Andiamo Systems Inc., A Delaware Corporation Apparatus and method for a scalable network attach storage system
US7590807B2 (en) * 2003-11-03 2009-09-15 Netapp, Inc. System and method for record retention date in a write once read many storage system
US7409494B2 (en) * 2004-04-30 2008-08-05 Network Appliance, Inc. Extension of write anywhere file system layout
US20070088702A1 (en) * 2005-10-03 2007-04-19 Fridella Stephen A Intelligent network client for multi-protocol namespace redirection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002050433A1 (en) * 2000-12-18 2002-06-27 Spinnaker Networks, Inc. A mechanism for handling file level and block level remote file accesses using the same server
JP2003044332A (ja) * 2001-07-27 2003-02-14 Hitachi Ltd 記憶装置システム
JP2003091449A (ja) * 2001-09-17 2003-03-28 Hitachi Ltd ストレージシステムおよびストレージシステムの管理方法
JP2003316713A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 記憶装置システム

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
喜連川優ほか, ストレージネットワーキング, vol. 第1版, JPN6008039869, 1 July 2002 (2002-07-01), JP, pages 166 - 168, ISSN: 0001489013 *
小笠,久保: "iStorage FS100の開発", NEC技報, vol. 第55巻,第2号, JPN6009014841, 25 February 2002 (2002-02-25), JP, pages 69 - 72, ISSN: 0001287571 *
沖田英治: "仮想ストレージ製品を組み込んだSystemWalkerによる統合管理", COMPUTOPIA, vol. 第37巻,第430号, JPN6009014843, 1 July 2002 (2002-07-01), JP, pages 80 - 81, ISSN: 0001287572 *
田中浩次ほか: "Storage over IP仮想ストレージソリューション Net Bridge 2000", 沖テクニカルレビュー, vol. 第69巻,第1号, JPN6008039867, 1 January 2002 (2002-01-01), JP, pages 62 - 65, ISSN: 0001105836 *
石川潤: "ネットワークストレージSAN,NASの現状と今後", 計測と制御, vol. 第41巻,第6号, JPN6008039870, 10 June 2002 (2002-06-10), JP, pages 456 - 462, ISSN: 0001489012 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005267599A (ja) * 2004-03-18 2005-09-29 Hitachi Ltd ストレージエリアネットワークとネットワークアタチドストレージの混在環境でのデータの書き込み保護
JP2007533030A (ja) * 2004-04-12 2007-11-15 ネットワーク・アプライアンス・インコーポレイテッド 物理的ストレージアプライアンス内で実行される仮想ストレージアプライアンスにおいてブロックベースのプロトコルを利用することが可能なシステム及び方法
JP4758424B2 (ja) * 2004-04-12 2011-08-31 ネットアップ,インコーポレイテッド 物理的ストレージアプライアンス内で実行される仮想ストレージアプライアンスにおいてブロックベースのプロトコルを利用することが可能なシステム及び方法
JP2005321913A (ja) * 2004-05-07 2005-11-17 Hitachi Ltd ファイル共有装置を有する計算機システム、および、ファイル共有装置の移行方法
JP2008527511A (ja) * 2005-01-06 2008-07-24 ジェムプリュス データ記憶装置
JP4807683B2 (ja) * 2005-01-06 2011-11-02 ジェムアルト エスアー データ記憶装置
JP2011150681A (ja) * 2010-01-20 2011-08-04 Hitachi Ltd ストレージシステムのためのi/o変換方法及び装置
US8707004B2 (en) 2010-01-25 2014-04-22 Hitachi, Ltd. Computer system and storage consolidation management method
US8495331B2 (en) 2010-12-22 2013-07-23 Hitachi, Ltd. Storage apparatus and storage management method for storing entries in management tables
JP2016508240A (ja) * 2013-01-28 2016-03-17 株式会社日立製作所 ストレージシステム及びリソース割当て方法
US9396029B2 (en) 2013-01-28 2016-07-19 Hitachi, Ltd. Storage system and method for allocating resource
US9606745B2 (en) 2013-01-28 2017-03-28 Hitachi, Ltd. Storage system and method for allocating resource

Also Published As

Publication number Publication date
EP1543399A4 (en) 2007-08-22
HK1082976A1 (en) 2006-06-23
CA2495180A1 (en) 2004-02-19
IL166786A0 (en) 2006-01-15
US20040030668A1 (en) 2004-02-12
RU2302034C2 (ru) 2007-06-27
CN1688982A (zh) 2005-10-26
JP4440098B2 (ja) 2010-03-24
AU2003254238B2 (en) 2008-03-20
EP1543399A2 (en) 2005-06-22
WO2004015521A2 (en) 2004-02-19
AU2003254238A1 (en) 2004-02-25
RU2302034C9 (ru) 2007-09-27
IL166786A (en) 2010-12-30
WO2004015521A3 (en) 2004-07-01
CA2495180C (en) 2013-04-30
CN100357916C (zh) 2007-12-26
US7873700B2 (en) 2011-01-18
RU2005103588A (ru) 2005-10-10

Similar Documents

Publication Publication Date Title
JP4440098B2 (ja) ファイル・アクセス・プロトコルとブロック・アクセス・プロトコルの統合サポートを提供するマルチプロトコル・ストレージ・アプライアンス
JP4758424B2 (ja) 物理的ストレージアプライアンス内で実行される仮想ストレージアプライアンスにおいてブロックベースのプロトコルを利用することが可能なシステム及び方法
US7849274B2 (en) System and method for zero copy block protocol write operations
US7055014B1 (en) User interface system for a multi-protocol storage appliance
JP5054531B2 (ja) 暫定的に設けられたデータコンテナから未使用空間を返還要求するシステム、及び方法
US8180855B2 (en) Coordinated shared storage architecture
US9275083B2 (en) System and method for managing data policies on application objects
US7979402B1 (en) System and method for managing file data during consistency points
US7437530B1 (en) System and method for mapping file block numbers to logical block addresses
EP1543424B1 (en) Storage virtualization by layering virtual disk objects on a file system
US8996455B2 (en) System and method for configuring a storage network utilizing a multi-protocol storage appliance
US7779201B1 (en) System and method for determining disk ownership model
US7293152B1 (en) Consistent logical naming of initiator groups
US7526558B1 (en) System and method for supporting a plurality of levels of acceleration in a single protocol session

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081104

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081104

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081208

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090807

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090901

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

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

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

Free format text: PAYMENT UNTIL: 20130115

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4440098

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130115

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term