JP2000339098A - Storage domain management system - Google Patents

Storage domain management system

Info

Publication number
JP2000339098A
JP2000339098A JP2000085205A JP2000085205A JP2000339098A JP 2000339098 A JP2000339098 A JP 2000339098A JP 2000085205 A JP2000085205 A JP 2000085205A JP 2000085205 A JP2000085205 A JP 2000085205A JP 2000339098 A JP2000339098 A JP 2000339098A
Authority
JP
Japan
Prior art keywords
storage
server
data
interface
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000085205A
Other languages
Japanese (ja)
Inventor
Michael G Panas
マイケル・ジー・パナズ
Alan R Merrell
アラン・アール・メレル
Joseph Altmaier
ジョセフ・アルトマイヤー
Jerry Parker Lane
ジェリー・パーカー・レーン
James A Taylor
ジェームス・エー・テイラー
Ronald L Parks
ロナルド・エル・パークス
Alastair Taylor
アラステアー・テイラー
Shari J Nolan
シャリ・ジェイ・ノラン
Jeffery S Nespor
ジェフリー・エス・ネスポー
George W Harris Jr
ジョージ・ダブリュ・ハリス・ジュニア
A Ruguoo Richard Jr
リチャード・エー・ルグォー・ジュニア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dell USA LP
Original Assignee
Dell USA LP
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
Priority claimed from US09/276,428 external-priority patent/US6446141B1/en
Priority claimed from US09/347,042 external-priority patent/US6553408B1/en
Priority claimed from US09/455,106 external-priority patent/US6654830B1/en
Priority claimed from US09/482,213 external-priority patent/US6640278B1/en
Application filed by Dell USA LP filed Critical Dell USA LP
Publication of JP2000339098A publication Critical patent/JP2000339098A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/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

PROBLEM TO BE SOLVED: To simplify the management of a storage system and also to effectively use both flexibility and capability of a storage area network(SAN) architecture by managing the storage resources in a storage network according to a storage domain. SOLUTION: A storage server 1200 in a network has the client interfaces 1210-1212 which are connected to the client servers 1201-1203 respectively. The storage interfaces 1213 and 1214 are connected to the storage devices 1205-1207 via the communication channels. These connected interfaces 1213 and 1214 are combined with some storages of the server 1200 and provide the physical storages for a storage domain which are managed in the server 1200. The server 1200 can induce a storage transaction by means of the local configuration data. Thus, the storage management is simplified for the client servers.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、大容量ストレージ
システムの分野、特に、インテリジェントなストレージ
エリアネットワークのストレージトランザクション管理
およびそのシステム構成に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to the field of large-capacity storage systems, and more particularly, to the storage transaction management of intelligent storage area networks and the system configuration thereof.

【0002】[0002]

【従来の技術】いわゆる大容量記憶(ストレージ)シス
テムに大量のデータを記憶させることは一般的となりつ
つある。大容量ストレージシステムは、通常、データネ
ットワーク上のファイルサーバに連結されるストレージ
デバイスを含む。ネットワーク内のユーザはファイルサ
ーバと通信してデータにアクセスする。ファイルサーバ
はデータチャネルを通じて特定のストレージデバイスに
接続されているのが一般的であり、データチャネルには
普通、ストレージトランザクション管理用に設計された
ポイントツーポイント通信プロトコルが用いられる。
2. Description of the Related Art It is becoming common to store large amounts of data in so-called mass storage systems. Mass storage systems typically include a storage device coupled to a file server on a data network. Users in the network access the data by communicating with the file server. File servers are typically connected to specific storage devices through data channels, which typically use a point-to-point communication protocol designed for managing storage transactions.

【0003】記憶量と通信ネットワーク内のファイルサ
ーバ数の増加に伴い、ストレージエリアネットワーク(S
AN)の概念が提唱されてきた。ストレージエリアネット
ワークは、ストレージトランザクション用に最適化され
た通信ネットワーク内の多数の大容量ストレージシステ
ムをつなぎ合わせたもので、例えば、光ファイバチャネ
ルアービトレーティドループ(FC-AL)ネットワークはSAN
として実装される。SANは、ストレージシステムのユー
ザとSAN上にある特定のストレージシステムとの間で行
われるいくつものポイントツーポイント通信セッション
をサポートする。
With an increase in the amount of storage and the number of file servers in a communication network, storage area networks (S
AN) has been proposed. A storage area network connects a number of high-capacity storage systems in a communication network optimized for storage transactions, such as a fiber channel arbitrated loop (FC-AL) network.
Implemented as A SAN supports a number of point-to-point communication sessions between a user of the storage system and a particular storage system on the SAN.

【0004】ストレージシステムのファイルサーバおよ
び他のユーザは、特定の記録媒体と通信するよう構成さ
れている。ストレージシステムを拡張したり、あるいは
システム内で媒体を交換すると、ファイルサーバおよび
他のユーザにおいて再度構成が必要となる。また、いわ
ゆるデータ移動作業にデータを1つの装置から別の装置
に移す必要が生じると、移動プロセス中はそのデータへ
のアクセスをブロックしなければならないことが多い。
また移動終了後は、ユーザシステムを再構成してからで
なければ、新しいシステムからそのデータを利用するこ
とができない。
[0004] File servers and other users of the storage system are configured to communicate with a particular recording medium. When the storage system is expanded or the medium is exchanged in the system, the file server and other users need to be reconfigured. Also, when so-called data movement operations require data to be moved from one device to another, access to the data must often be blocked during the migration process.
After the transfer is completed, the data cannot be used from the new system unless the user system is reconfigured.

【0005】概して、ストレージシステムとネットワー
クが複雑化してその規模が大きくなるにつれ、データの
ユーザ構成の管理、およびストレージシステム自体の構
成管理についての問題が倍増する。
In general, as storage systems and networks become more complex and larger, the problem of managing user configurations of data and managing the configuration of the storage system itself doubles.

【0006】[0006]

【発明が解決しようとする課題】本発明は上記事情を考
慮してなされたものであり、ストレージシステムの管理
を簡素化でき、その一方でSANアーキテクチャのフレキ
イビリティ及び能力を有効利用できるシステムおよび方
法を提供することを目的とする。
SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and provides a system and a system that can simplify the management of a storage system while effectively utilizing the flexibility and capability of a SAN architecture. It aims to provide a method.

【0007】[0007]

【課題を解決するための手段】本発明はストレージドメ
イン管理のためのシステム、方法、およびサーバであ
る。ここでストレージドメイン管理は、既存のストレー
ジエリアネットワークハードウェアのインフラストラク
チャ最上位に位置する中央集中的で安全な管理の能力を
備えたものをいい、本発明は異機種混在型環境に適した
高性能で信頼性の高い上級のストレージ管理を提供す
る。ストレージドメイン管理は、堅牢なストレージエリ
アネットワークファブリックの中枢として、新旧の機器
を統合し、サーバおよびストレージリソースをネットワ
ークとストレージ管理作業から解放する。また、ホスト
としてネットワークベースのアプリケーションを処理
し、ストレージエリアネットワークの全コンポーネント
を通じてこれらのアプリケーションを活用できるように
する。ストレージドメイン管理によれば、従来のシステ
ムやテクニックではなし得なかった異機種混在型のスト
レージエリアネットワーク環境の構築、最適化が可能と
なる。
SUMMARY OF THE INVENTION The present invention is a system, method, and server for storage domain management. Here, the storage domain management refers to a system having a centralized and secure management capability positioned at the top of the existing storage area network hardware infrastructure, and the present invention is a high-performance environment suitable for a heterogeneous environment. Provide advanced storage management with high performance and reliability. Storage domain management is at the heart of a robust storage area network fabric, integrating old and new equipment, freeing server and storage resources from network and storage management tasks. It also handles network-based applications as hosts and makes these applications available through all components of the storage area network. According to storage domain management, it is possible to construct and optimize a heterogeneous storage area network environment that cannot be achieved by conventional systems and techniques.

【0008】本発明は、ストレージドメインに従ってス
トレージネットワーク内のストレージリソースを管理す
るためのシステムを提供する。このシステムには、通信
媒体を通じてクライアントとストレージシステムおよび
ストレージネットワークに接続される複数の通信インタ
ーフェースが設置されている。これら複数の通信インタ
ーフェースには処理ユニットが接続され、この処理ユニ
ットが有するロジックにより、ストレージネットワーク
内にある一つ以上のクライアントのうち少なくとも1つ
のクライアントセットに対応するストレージドメインと
して、同ネットワーク内の一つ以上のストレージシステ
ムから1つのストレージロケーションセットが構成され
る。このシステムは、複数の通信インターフェースを通
じたマルチプロトコルサポート、そのプロトコル内のト
ランザクション識別子に反応してストレージドメイン内
でストレージトランザクションのルーティングを行うロ
ジック、ストレージドメインを構成する管理インターフ
ェース、複数の通信インターフェースにわたって実行さ
れるストレージトランザクションを複数の通信インター
フェースにあるシステム内でルーティングを行うための
共通フォーマットに変換し、およびこの共通フォーマッ
トから別のものに変えるためのロジック、ストレージト
ランザクションのデータサブジェクトを捕獲するリソー
ス、ネットワーク内のあるストレージロケーションから
別のストレージロケーションへのデータ移動を管理する
ロジックからなる、変形可能な種々の組み合わせ要素を
含む。
The present invention provides a system for managing storage resources in a storage network according to a storage domain. This system is provided with a plurality of communication interfaces that are connected to a client, a storage system, and a storage network through a communication medium. A processing unit is connected to the plurality of communication interfaces, and logic included in the processing unit is used as a storage domain corresponding to at least one client set among one or more clients in the storage network. One storage location set is composed of one or more storage systems. The system implements multi-protocol support over multiple communication interfaces, logic to route storage transactions within the storage domain in response to transaction identifiers in the protocol, management interfaces that make up the storage domain, and multiple communication interfaces Logic to convert storage transactions to be performed in a common format for routing within systems with multiple communication interfaces, and to convert from this common format to another, resources to capture data subjects of storage transactions, networks Change that consists of logic that manages the movement of data from one storage location to another Including various combinations element as possible.

【0009】一実施の形態において、本発明のシステム
はストレージエリアネットワーク内の中間デバイスとし
て、ファイルサーバ等のクライアントプロセッサと、ク
ライアント用ストレージドメイン内のストレージリソー
スとして使用されるストレージシステムとの間に設置さ
れる。ストレージトランザクションは中間デバイスが受
け取り、中間デバイスの構成ロジックによって定められ
るストレージドメインの構成に応じて管理される。中間
デバイスは、ストレージエリアネッワーク内の管理サイ
トを提供し、これによってフレキシブルな構成、リダン
ダンシー、フェイルオーバ、データ移動、捕獲、複数プ
ロトコルをサポートできる。さらに、一実施形態におけ
る中間デバイスはレガシーシステムエミュレーションを
実行し、ストレージドメインにはクライアント用のレガ
シーストレージデバイスが含まれるため、クライアント
の再構成が不要となる。
In one embodiment, the system of the present invention is installed as an intermediate device in a storage area network between a client processor such as a file server and a storage system used as a storage resource in a client storage domain. Is done. Storage transactions are received by the intermediate device and managed according to the configuration of the storage domain as defined by the configuration logic of the intermediate device. Intermediate devices provide a management site within the storage area network, which can support flexible configurations, redundancy, failover, data movement, capture, and multiple protocols. Further, the intermediate device in one embodiment performs legacy system emulation, and the storage domain includes legacy storage devices for clients, thus eliminating the need for client reconfiguration.

【0010】ストレージドメインは、ネットワーク内の
クライアントに論理ストレージ範囲を割り当て、ネット
ワーク内のストレージリソースをクライアントの論理ス
トレージ範囲にマッピングすることによって管理され
る。論理ストレージ範囲のクライアントへの割り当て
は、中間システムあるいは、ネットワーク内のストレー
ジリソースのクライアントから論理的に独立した、ある
いは孤立したその他システムの中でクライアントに割り
当てられた論理ストレージ範囲をマッピングすることに
よって完了する。このように、ストレージドメインマネ
ジャを通じてアクセス可能なストレージリソースのスト
レージドメインは、ストレージドメインマネジャを中間
デバイスとして使うことによって管理される。
[0010] The storage domain is managed by assigning a logical storage range to clients in the network and mapping storage resources in the network to the logical storage range of the client. Assignment of logical storage ranges to clients is accomplished by mapping logical storage ranges assigned to clients in intermediate systems or other systems that are logically independent or isolated from clients of storage resources in the network. I do. In this way, the storage domain of storage resources accessible through the storage domain manager is managed by using the storage domain manager as an intermediate device.

【0011】本発明によるストレージサーバは、処理ユ
ニット、当該処理ユニットに接続されたバスシステム、
通信インターフェース、当該処理ユニットに接続された
オペレーティングシステムからなる。バスシステムには
スロットがあり、これはこのスロットに接続されたサー
バシャーシ上あるいは通信チャネル上のデータストアへ
のインタフェースを受けることができるようになってい
る。オペレーティングシステムはバスシステム上の転送
を制御するロジックおよび通信インターフェース上でク
ライアントサーバから受け取るストレージトランザクシ
ョンを内部フォーマットに変換するロジックのほか、コ
ンフィギュレーションデータに応じて内部フォーマット
を処理するロジックを提供し、このコンフィギュレーシ
ョンデータはトランザクションプロトコル範囲で特定の
ストレージユニットに関する通信インタフェース上のス
トレージトランザクションを、内部フォーマットを使っ
てその範囲に対応する仮想回路にマッピングする。する
と、仮想回路はインターフェース内の一つ以上のドライ
バを通じた一つ以上の物理データストアへのトランザク
ションのルーティングを管理する。また、サーバには物
理的ストレージデバイスをエミュレートするためのリソ
ースが含まれるため、クライアントサーバはストレージ
トランザクションのためにクライアントサーバの構成を
変更せずに、仮想デバイスにアクセスするための標準的
ストレージトランザクションプロトコルを使うことがで
きる。
[0011] A storage server according to the present invention comprises a processing unit, a bus system connected to the processing unit,
It comprises a communication interface and an operating system connected to the processing unit. The bus system has a slot that can receive an interface to a data store on a server chassis or communication channel connected to the slot. The operating system provides the logic for controlling the transfer on the bus system and the logic for converting the storage transaction received from the client server on the communication interface into an internal format, and the logic for processing the internal format according to the configuration data. The configuration data maps storage transactions on the communication interface for a particular storage unit in a transaction protocol range to a virtual circuit corresponding to that range using an internal format. The virtual circuit then manages the routing of transactions to one or more physical data stores through one or more drivers in the interface. Also, because the server includes resources to emulate a physical storage device, the client server can use standard storage transactions to access virtual devices without changing the configuration of the client server for storage transactions. Protocols can be used.

【0012】本発明の別の要素によれば、ストレージル
ータが提供され、このストレージルータは第一の通信イ
ンタフェース、別の通信インタフェース、処理ユニット
およびバスシステムで構成される。バスシステムは処理
ユニット、第一の通信インタフェース、別の通信インタ
フェースに接続されている。処理ユニットはオペレーテ
ィングシステムをサポートし、オペレーティングシステ
ムは仮想デバイスのアーキテクチャとエミュレーション
を使って、第一の通信インターフェース上で受け取った
ストレージトランザクションをコンフィギュレーション
データに応じて別の適当な通信インターフェースに誘導
する。
According to another element of the present invention, there is provided a storage router, comprising a first communication interface, another communication interface, a processing unit and a bus system. The bus system is connected to the processing unit, the first communication interface, and another communication interface. The processing unit supports an operating system, which uses the architecture and emulation of the virtual device to direct storage transactions received on the first communication interface to another suitable communication interface depending on the configuration data.

【0013】いくつかの実施形態において、通信インタ
フェースは光ファイバ媒体へのインタフェースである。
また、実施形態により、通信インタフェースが光ファイ
バチャネルアービトレーティドループに適合するドライ
バを含むものや、標準的な「小型計算機周辺機器インタ
ーフェース規格」バージョン3 (SCSI-3)に適合するドラ
イバを含むものもある。
[0013] In some embodiments, the communication interface is an interface to a fiber optic medium.
In addition, depending on the embodiment, the communication interface includes a driver that conforms to the fiber channel arbitrated loop, and the communication interface includes a driver that conforms to the standard “computer peripheral interface standard” version 3 (SCSI-3). There is also.

【0014】いくつかの実施形態において、処理ユニッ
トは複数の処理ユニットからなる。いくつかの実施形態
において、バスシステムは相互接続されたコンピュータ
バスで構成され、実施形態によってはコンピュータバス
が標準的な「周辺コンポーネント相互接続」(PCI)バスに
適合するものもある。いくつかの実施形態において、通
信インターフェースはバスシステムに接続される。
[0014] In some embodiments, the processing unit comprises a plurality of processing units. In some embodiments, the bus system comprises an interconnected computer bus, and in some embodiments, the computer bus conforms to a standard "peripheral component interconnect" (PCI) bus. In some embodiments, the communication interface is connected to a bus system.

【0015】いくつかの実施形態において、ストレージ
サーバは不揮発性メモリを有し、またいくつかの実施形
態において、不揮発性メモリはフラッシュメモリ等の集
積回路不揮発性メモリである。
[0015] In some embodiments, the storage server has a non-volatile memory, and in some embodiments, the non-volatile memory is an integrated circuit non-volatile memory, such as a flash memory.

【0016】いくつかの実施形態において、ストレージ
サーバはディスクドライブ用コントローラを有し、いく
つかの実施形態においてこのコンローラは標準的な「独
立ディスクの冗長アレイ」(RAID)プロトコルをサポート
する。いくつかの実施形態において、ディスクドライブ
は光ファイバ媒体によってコントローラと接続され、ま
たいくつかの実施形態において、ディスクドライブは光
ファイバ媒体に接続するためのデュアルインタフェース
を有する。各ディスクドライブが少なくとも2つのコン
トローラに接続される実施形態もある。
In some embodiments, the storage server has a controller for the disk drives, and in some embodiments, the controller supports a standard "redundant array of independent disks" (RAID) protocol. In some embodiments, the disk drive is connected to the controller by fiber optic media, and in some embodiments, the disk drive has a dual interface for connecting to fiber optic media. In some embodiments, each disk drive is connected to at least two controllers.

【0017】実施形態によっては、オペレーティングシ
ステムは通信インターフェース上で受け取ったSCSI-3に
よるインストラクションとデータを内部フォーマットに
変換するためのロジックを含むものや、SCSI-3インスト
ラクションに対応する論理ユニット番号(LUN)を使っ
て、SCSI-3インストラクションとデータがストレージサ
ーバ内にデータストアを有する仮想デバイスに関連付け
られるものもある。また、イニシエータSCSI-3識別番号
(ID)とLUNを使って、SCSI-3インストラクションとデー
タがストレージサーバ内にデータストアを有する仮想デ
バイスに関連付けられる実施形態も可能である。
In some embodiments, the operating system may include instructions for converting SCSI-3 instructions and data received over the communication interface into an internal format, or a logical unit number (LUN) corresponding to the SCSI-3 instructions. ), The SCSI-3 instructions and data may be associated with a virtual device that has a datastore in the storage server. Also, the initiator SCSI-3 identification number
Embodiments are also possible where (ID) and LUN are used to associate SCSI-3 instructions and data with a virtual device having a data store in the storage server.

【0018】いくつかの実施形態において、オペレーテ
ィングシステムはストレージサーバの動作とステータス
をモニターするためのロジックを有し、また別の実施形
態においては、デバイスの故障を扱い、コントロールを
冗長コンポーネントに移行させるためのロジックがあ
る。
In some embodiments, the operating system has logic to monitor the operation and status of the storage server, and in other embodiments, handles device failure and transfers control to redundant components. There is logic for it.

【0019】本発明は、データを記録、管理するための
仮想デバイスと仮想回路をサポートするストレージサー
バアーキテクチャを提供する。本発明によるストレージ
サーバには複数の通信インタフェースが搭載されてお
り、これら複数の通信インタフェースにおける第一のセ
ットはあらゆる種類のデータユーザに接続するためのも
ので、第二の通信インタフェースセットはストレージデ
バイス群の各デバイスに接続するためのものである。ス
トレージサーバのデータ処理リソースは複数の通信イン
タフェースに接続され、インタフェース間のデータ転送
を可能にする。データ処理リソースは複数のドライバモ
ジュールと、ドライバモジュールをデータパスにリンク
させる構成可能なロジックからなり、これらは好ましい
システムにおいてリダンダンシーを持たせるためにペア
で実装される。構成されたデータパスはそれぞれ、複数
のドライバモジュールから選択されたドライバモジュー
ルセットを有する仮想回路の役割を果たす。通信インタ
フェースで受け取ったデータストレージトランザクショ
ンは、構成されたデータパスのひとつにマップされる。
The present invention provides a storage server architecture that supports virtual devices and virtual circuits for recording and managing data. The storage server according to the present invention is equipped with a plurality of communication interfaces, a first set of the plurality of communication interfaces is for connecting to any kind of data user, and a second set of communication interfaces is a storage device. It is for connecting to each device in the group. The data processing resources of the storage server are connected to a plurality of communication interfaces and enable data transfer between the interfaces. The data processing resources consist of a plurality of driver modules and configurable logic that links the driver modules to the data path, which are implemented in pairs in a preferred system for redundancy. Each of the configured data paths plays a role of a virtual circuit having a driver module set selected from a plurality of driver modules. Data storage transactions received at the communication interface are mapped to one of the configured data paths.

【0020】本発明の別の要素によれば、複数のドライ
バモジュールは複数の通信インタフェースにおける1つ
の通信インタフェースでサポートされるプロトコルのた
めのプロトコルサーバを有する。プロトコルサーバは、
そのインタフェース上のプロトコルに従って特定のスト
レージ範囲を識別するターゲット識別子を認識する。特
定のストレージ範囲にアドレスされたトランザクション
は、サーバ内の特定の構成済みデータパスにマップされ
る。
According to another element of the invention, the plurality of driver modules have a protocol server for a protocol supported by one of the plurality of communication interfaces. The protocol server
Recognize a target identifier that identifies a particular storage range according to the protocol on that interface. Transactions addressed to a particular storage range are mapped to a particular configured data path in the server.

【0021】このように構成されたデータパスは仮想ス
トレージデバイスとして動作する。データのユーザは、
特定のストレージデバイス用のプロトコルに従って、ス
トレージサーバ上の通信インタフェースと通信する。サ
ーバ内では、そのプロトコルによるトランザクションが
ドライバセットによって実装される仮想ストレージデバ
イスにマップされる。特定のデータパスで実行されるス
トレージタスクのセットアップと変更および1つのデー
タパスから別のデータパスへのストレージ範囲マッピン
グのセットアップと変更は、ストレージサーバ内でドラ
イバモジュールセットを構成することによって完了す
る。
The data path configured as described above operates as a virtual storage device. Users of the data
It communicates with a communication interface on the storage server according to a protocol for a specific storage device. Within the server, transactions according to that protocol are mapped to virtual storage devices implemented by the driver set. The setup and modification of storage tasks performed on a particular data path and the setup and modification of storage range mapping from one data path to another are completed by configuring a driver module set in the storage server.

【0022】本発明の1つの要素によれば、複数のドラ
イバモジュールは各通信インターフェースを管理する一
つ以上のハードウェアドライブモジュールおよび複数の
通信インターフェースとは独立してデータパスタスクを
実行する一つ以上の内部ドライバモジュールを有する。
データパスタスクには、例えばキャッシュメモリ管理、
メモリミラーリング管理、メモリパーティション管理、
データ移動管理、およびその他のストレージトランザク
ション管理タスクがある。仮想デバイスアーキテクチャ
でこの種のデータパスタスクを提供することにより、こ
のようなタスクを管理するためのストレージシステムの
構成は本質的にユーザにとってよくわかるものとなる。
さらに、上記タスクを実行するように最適化されたスト
レージサーバに仮想デバイス機能を提供することで、性
能改善とフレキシビリティの向上が実現する。
According to one aspect of the invention, the plurality of driver modules are one or more hardware drive modules that manage each communication interface and one that performs data path tasks independently of the plurality of communication interfaces. It has the above internal driver module.
Data path tasks include, for example, cache memory management,
Memory mirroring management, memory partition management,
There are data movement management, and other storage transaction management tasks. By providing this type of data path task in a virtual device architecture, the configuration of the storage system for managing such tasks is essentially transparent to the user.
Further, by providing a virtual device function to a storage server that is optimized to execute the above task, performance improvement and flexibility improvement are realized.

【0023】また、本発明の1つの要素によれば、複数
のドライバモジュールは、内部メッセージフォーマット
に従ってサーバ環境内でデータを通信するためのロジッ
クを有する。受け取ったストレージトランザクションは
内部メッセージフォーマットに変換され、特定のトラン
ザクション用構成済みデータパスに入れられる。ある好
ましい実施形態において、プロトコルサーバはプロトコ
ル変換および仮想回路マッピングを実行する。
According to one aspect of the invention, the plurality of driver modules have logic for communicating data within a server environment according to an internal message format. The received storage transaction is converted to an internal message format and placed in the configured data path for the particular transaction. In a preferred embodiment, the protocol server performs protocol conversion and virtual circuit mapping.

【0024】構成可能なロジックには、コンフィギュレ
ーションデータを受け入れるためのユーザインターフェ
ースと、データパスから構成される各ドライバモジュー
ルセットのテーブルまたはリストを記憶するメモリが含
まれる。ひとつの実施形態における構成可能なロジック
は、例えば入力信号を受け取るタッチスクリーンを有す
るディスプレイ上にグラフィカルユーザインターフェー
スを用いて実装される。グラフィカルユーザインターフ
ェースにより、フレキシブルで使いやすい構成ツールを
装備することができる。
Configurable logic includes a user interface for accepting configuration data, and memory for storing a table or list of each driver module set consisting of data paths. The configurable logic in one embodiment is implemented using a graphical user interface, for example, on a display having a touch screen that receives input signals. With a graphical user interface, flexible and easy to use configuration tools can be provided.

【0025】本発明の別の要素によれば、構成ロジック
には、仮想回路用データパスを識別するテーブルの形態
でコンフィギュレーションデータを記憶するメモリが含
まれ、ある実施形態におけるこのメモリは、ストレージ
システムのリセットや電源切断によってもデータが消失
しない不揮発性メモリの中にテーブルを保持するパーシ
ステントテーブルストレージプロセスを使って実現され
る。さらに、構成ロジックは、システム内の冗長ハード
ウェア上の冗長ドライバモジュールを使って仮想回路用
のデータパスを実装しており、ストレージシステム上の
どの故障箇所によっても特定のストレージトランザクシ
ョンが妨げられることはない。好ましい実施形態におい
て、ストレージドメイン内のリソースは、複数のドライ
バモジュールとドライバモジュールをデータパスに連結
する構成可能なロジックからなる仮想回路を使って定義
され、データパスは選好システムにリダンダンシーを持
たせるためにペアで実装される。各構成済みデータパス
は、複数のドライバモジュールから選択されたドライバ
モジュールセットを有する仮想回路の役割を果たす。通
信インターフェースで受け取ったデータストレージトラ
ンザクションは構成されたデータパスのうちの1つにマ
ップされ、こうして、ストレージドメインマネジャ内で
管理、構成されるストレージドメイン内で管理される。
According to another element of the present invention, the configuration logic includes a memory for storing configuration data in the form of a table identifying a data path for the virtual circuit, wherein in one embodiment this memory comprises a storage device. This is achieved by using a persistent table storage process that maintains a table in a non-volatile memory that does not lose data even when the system is reset or the power is turned off. In addition, the configuration logic implements the data path for the virtual circuit using redundant driver modules on redundant hardware in the system, so that any failure point on the storage system will not prevent a particular storage transaction. Absent. In a preferred embodiment, the resources in the storage domain are defined using virtual circuits consisting of a plurality of driver modules and configurable logic connecting the driver modules to data paths, wherein the data paths provide redundancy to the preferred system. Is implemented as a pair. Each configured data path serves as a virtual circuit having a driver module set selected from a plurality of driver modules. Data storage transactions received at the communication interface are mapped to one of the configured data paths, and thus managed within the storage domain, which is managed and configured within the storage domain manager.

【0026】基本的に、ストレージドメイン管理によっ
て、ユーザはストレージエリアネットワークの機能を最
大限に利用してビジネス上の問題に対処することができ
る。ストレージドメイン管理プラットフォームは各種ス
トレージシステムとプロトコルの異種間相互運用性、確
実な中央集中的管理、スケーラビリティと優れた性能、
信頼性、可用性、保守性といった特徴のすべてを、特定
用途向けに作られたひとつのインテリジェントなプラッ
トフォーム上で提供することができる。
Basically, storage domain management allows a user to take full advantage of the storage area network's capabilities to address business problems. The storage domain management platform provides heterogeneous interoperability of various storage systems and protocols, reliable centralized management, scalability and superior performance,
All of the features such as reliability, availability, and maintainability can be provided on one intelligent, purpose-built platform.

【0027】[0027]

【発明の実施の形態】以下、図面を参照しながら本発明
の実施形態を説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0028】図1(a)は、ストレージドメイン管理を
行うインテリジェントなストレージエリアネットワーク
(ISAN)サーバ1200を有するネットワークを示す。ストレ
ージエリアネットワーク(SAN)は、クライアントコンピ
ュータ用データストレージサービスを提供するために使
用することができる。ストレージエリアネットワーク
は、ファイルサーバ、ウェブサーバ、エンドユーザコン
ピュータ等のクライアントコンピュータ用に広帯域、高
スループットのストレージを提供するよう最適化されて
いる。好ましい実施形態における本発明によるストレー
ジサーバ1200は、シャーシ上でのデータストレージ、ス
トレージトランザクションキャッシュサービス、ストレ
ージルーティングおよび仮想デバイス管理を可能にす
る。
FIG. 1A shows an intelligent storage area network for performing storage domain management.
1 illustrates a network having an (ISAN) server 1200. Storage area networks (SANs) can be used to provide data storage services for client computers. Storage area networks are optimized to provide high bandwidth, high throughput storage for client computers such as file servers, web servers, end user computers, and the like. The storage server 1200 according to the present invention in a preferred embodiment enables data storage, storage transaction cache service, storage routing and virtual device management on the chassis.

【0029】ネットワーク内のストレージサーバ1200
は、クライアントサーバ1201, 1202,1203にそれぞれ接
続されたクライアントインタフェース1210, 1211, 1212
を有する。ストレージインターフェース1213, 1214は通
信チャネルを通じてストレージデバイス1205, 1206, 12
07に接続され、これらはストレージサーバ1200のいずれ
かのストレージと組み合わされると、ストレージサーバ
1200内で管理されるストレージドメイン用の物理的スト
レージを提供する。この例における通信チャネル1213
は、ハブ1204を通じてデバイス1205, 1206に接続されて
いる。動作中、クライアントインターフェースは、クラ
イアントサーバが例えば一つ以上のイニシエータ識別
子、LUN番号等の論理範囲、ターゲットデバイスの識別
子といったストレージドメインを識別できるパラメータ
を含むコマンドによってストレージトランザクションを
要求するというプロトコルに従って動作する。ストレー
ジサーバ1200は、リクエストされたトランザクションを
仮想デバイスにマップし、この仮想デバイスが物理的ス
トレージデバイス間からのトランザクションに使用する
よう物理的ストレージを割り当てる。ストレージサーバ
1200はまた、リクエストの中で識別されたターゲットと
なる物理的デバイスをエミュレートする資源を有する。
ストレージサーバ1200は、ローカルコンフィギュレーシ
ョンデータを使ってストレージトランザクションを誘導
することができ、クライアントサーバ用のストレージ管
理が簡略化される。
The storage server 1200 in the network
Are client interfaces 1210, 1211, 1212 connected to the client servers 1201, 1202, 1203, respectively.
Having. The storage interfaces 1213, 1214 are connected to the storage devices 1205, 1206, 12 through a communication channel.
07, and when these are combined with any storage on the storage server 1200, the storage server
Provides physical storage for storage domains managed within the 1200. Communication channel 1213 in this example
Are connected to devices 1205 and 1206 through a hub 1204. In operation, the client interface operates according to a protocol in which the client server requests a storage transaction with a command that includes a storage domain identifiable parameter such as one or more initiator identifiers, a logical range such as a LUN number, and an identifier of the target device. . Storage server 1200 maps the requested transaction to a virtual device and allocates physical storage for use by the virtual device for transactions between physical storage devices. Storage server
1200 also has resources to emulate the target physical device identified in the request.
The storage server 1200 can use the local configuration data to guide storage transactions, simplifying storage management for client servers.

【0030】スループットを最大限にするために、スト
レージサーバ1200は光ファイバチャネルあるいはギガビ
ットイーサネット等の高速ネットワーク媒体によって、
クライアントサーハ1201-1203 に接続される。これらの
クライアントサーバ1201-1203は、代表的な構成におい
ては、ネットワークリンクによってエンドユーザコンピ
ュータに接続される。
To maximize throughput, the storage server 1200 uses a high-speed network medium such as Fiber Channel or Gigabit Ethernet.
Connected to client server 1201-1203. These client servers 1201-1203 are typically connected to end-user computers by network links.

【0031】図1(a)は、通信リンク109を通じてサ
ーバ1200 に接続された管理インタフェース108を示す。
ステーション108とサーバ1200内のインタフェースから
信号供給を受ける通信リンクは、各種実施形態において
例えばイーサネットネットワークリンク、シリアルポー
トに接続されたシリアルケーブル、あるいはインターネ
ットバスインターフェースで構成される。
FIG. 1A shows a management interface 108 connected to a server 1200 via a communication link 109.
The communication link that receives a signal from the station 108 and the interface in the server 1200 is, for example, an Ethernet network link, a serial cable connected to a serial port, or an Internet bus interface in various embodiments.

【0032】サーバ1201-1203とストレージデバイス120
5-1207の間の通信は、中間デバイスとしてストレージサ
ーバ1200を介し、光ファイバチャネルアービトレーティ
ドループネットワークを通じて行われる。FC-AL上のチ
ャネルは、好ましくは光ファイバチャネル媒体を使った
標準的小型計算機および周辺機器インターフェース規格
バージョン3 (SCSI-3)、別称、光ファイバチャネルプロ
トコル(FCP) (例えば、SCSI B X3T10, FCP X3.269-199
X)に準じたプロトコルを使って実現される。別の実施形
態においては、各種プロトコルでストレージトランザク
ションを実行する光ファイバチャネルファブリック上
で、インターネットプロトコル等のプロトコルを使うこ
ともできる。ストレージサーバ1200がデータストレージ
トランザクションの複数のプロトコルをサポートする実
施形態もある。
The server 1201-1203 and the storage device 120
Communication between 5-1207 is performed via the optical fiber channel arbitrated loop network via the storage server 1200 as an intermediate device. Channels on the FC-AL are standard computer and peripheral interface standards version 3 (SCSI-3), preferably using Fiber Channel media, also known as Fiber Channel Protocol (FCP) (e.g., SCSI B X3T10, FCP X3.269-199
This is realized using a protocol according to X). In another embodiment, a protocol, such as the Internet Protocol, may be used on a Fiber Channel fabric that performs storage transactions with various protocols. In some embodiments, storage server 1200 supports multiple protocols for data storage transactions.

【0033】図1(b)は、インテリジェントなストレ
ージエリアネットワーク(ISAN)サーバのさまざまな用途
を示す。ストレージエリアネットワーク(SAN)は、クラ
イアントコンピュータ用のデータストレージサービスを
提供するのに使用でき、ファイルサーバまたはウェブサ
ーバ等のクライアントコンピュータ用に広帯域、高スル
ープットのストレージを提供するよう最適化される。IS
ANサーバはデータの記録再生だけでなく、ストレージル
ーティング、仮想デバイス管理といった別の機能も提供
する。
FIG. 1 (b) illustrates various uses of an intelligent storage area network (ISAN) server. Storage area networks (SANs) can be used to provide data storage services for client computers and are optimized to provide high bandwidth, high throughput storage for client computers such as file servers or web servers. IS
In addition to recording and playing back data, the AN server also provides other functions such as storage routing and virtual device management.

【0034】図1(b)は、サーバ100A-D, ISANサーバ
102A-F, シンサーバ104A-C、ストレージアレイ106を含
む。サーバ100A-Dは、UNIXサーバ、WindowsTM NTサー
バ、NetWareTMサーバ、あるいはその他の種類のファイ
ルサーバ、いずれでもよい。
FIG. 1B shows a server 100A-D and an ISAN server.
102A-F, thin servers 104A-C, and storage array 106. The servers 100A-D may be UNIX servers, Windows NT servers, NetWare servers, or other types of file servers.

【0035】サーバ100A‐Dは、ネットワークリンクに
よってクライアントコンピュータに接続される。ISANサ
ーバ102Aは、ネットワークリンクによってサーバ100Aに
連結され、リクエストされたストレージトランザクショ
ンを実行することによってサーバ100Aにデータストレー
ジサービスを供給するため、サーバ100AはこのISANサー
バ102Aをストレージデバイスのように扱う。ISANサーバ
102Aは、代表的なハードディスクドライブまたはハード
ドライブアレイより多くのストレージを保有することが
でき、またストレージルータとして使用して、ISANサー
バ102Aに接続されたデータストア間のインテリジェント
なルーティングを提供することができる。
The servers 100A-D are connected to client computers by network links. The ISAN server 102A is connected to the server 100A by a network link and provides data storage services to the server 100A by performing the requested storage transaction, so the server 100A treats the ISAN server 102A like a storage device. ISAN server
The 102A can hold more storage than a typical hard drive or hard drive array, and can be used as a storage router to provide intelligent routing between data stores connected to the ISAN server 102A. it can.

【0036】ISANサーバ102Aはまた、一般的なハードデ
ィスクドライブやハードドライブアレイよりも広帯域で
スループットの高いストレージトランザクション処理を
行うことができるため、マルチメディアによるデータス
トリームおよびその他の大量データストリームが発する
大量のデマンドを扱うことが可能である。
The ISAN server 102A is also capable of performing higher bandwidth, higher throughput storage transaction processing than typical hard disk drives and hard drive arrays, thus providing a large amount of multimedia data streams and other large data streams. It is possible to handle demand.

【0037】最大限のスループットを得るために、ISAN
サーバ102Aは光ファイバチャネル等の高速ネットワーク
媒体によってサーバ100Aに接続してもよい。サーバ100B
-Dはネットワークリンクによってクライアントコンビュ
ータに接続され、光ファイバチャネルファブリックによ
ってストレージエリアネットワークに接続される。スト
レージエリアネットワークはISANサーバ102B-Dとストレ
ージアレイ106を含み、サーバ100B-DとISANサーバ102-B
-Dは光ファイバチャネルアービトレーティドループ(FC-
AL)用ドライバをサポートする。
To obtain the maximum throughput, ISAN
The server 102A may be connected to the server 100A via a high-speed network medium such as an optical fiber channel. Server 100B
-D is connected to the client computer by a network link and to the storage area network by a fiber channel fabric. The storage area network includes the ISAN server 102B-D and the storage array 106, and the server 100B-D and the ISAN server 102-B
-D is an optical fiber channel arbitrated loop (FC-
AL) driver support.

【0038】FC-AL上でのサーバ100B-Dとストレージデ
バイス間の通信は、好ましくは光ファイバチャネル媒体
を使った標準的小型計算機および周辺機器インターフェ
ース規格バージョン3 (SCSI-3)、別称、光ファイバチャ
ネルプロトコル(FCP) (例えば、SCSI B X3T10, FCP X3.
269-199X)に準じたプロトコルを使って実現される。別
の実施形態においては、各種プロトコルでストレージト
ランザクションを実行する光ファイバチャネルファブリ
ック108上で、インターネットプロトコル等のプロトコ
ルを使うこともできる。ISANサーバ102Aが複数のプロト
コルをサポートする実施形態もある。
Communication between the server 100B-D and the storage device on the FC-AL is preferably a standard small computer and peripheral interface standard version 3 (SCSI-3) using fiber optic channel media, also known as optical. Fiber Channel Protocol (FCP) (e.g., SCSI B X3T10, FCP X3.
269-199X). In another embodiment, a protocol, such as the Internet Protocol, may be used on the fiber channel fabric 108 that performs storage transactions with various protocols. In some embodiments, ISAN server 102A supports multiple protocols.

【0039】シンサーバ104A-Cはネットワークリンクを
使ってクライアントに接続されるが、データストレージ
を提供するためのストレージエリアネットワークは使用
しない。
The thin servers 104A-C are connected to clients using network links, but do not use a storage area network to provide data storage.

【0040】ISANサーバ102E-Fはネットワークリンクに
より直接クライアントに接続され、中間ファイルサーバ
はない。ISANサーバ102E-Fは、ファイルサーバ、ウェブ
サーバその他の処理の機能を提供する特定用途向けプロ
セッサを提供することもできる。
The ISAN server 102E-F is directly connected to the client by a network link and there is no intermediate file server. The ISAN servers 102E-F can also provide application-specific processors that provide file server, web server, and other processing functions.

【0041】図2はストレージエリアネットワークの別
の実施形態を示す。図2において、上記のようなストレ
ージディレクタロジックとキャッシュメモリを備えたサ
ーバ1250が各種プラットフォーム上のクライアントに接
続されている。これらのプラットフォームは例えばHewl
ett-Packardサーバ1255、Sunサーバ1256、SGIサーバ125
7であり、それぞれストレージトランザクション管理用
に異なるプロトコルを実行する。ストレージドメインと
して使われる物理的リソースを構成する複数の物理的ス
トレージデバイスもまたサーバ1250に接続され、上述の
仮想デバイスアーキテクチャに従ってストレージディレ
クタによって管理される。この例における複数の物理的
ストレージデバイスには、Hewlett-Packardプラットフ
ォーム1251上のストレージ、Sunプラットフォーム1252
上のストレージ、EMCプラットフォーム1253上のストレ
ージがあ。このように、ストレージディレクタロジック
を含むサーバは、従来のサーバおよびストレージをヘテ
ロジニアス環境でサポートする共有ストレージプールを
作ることができる。複数のストレージデバイスおよびサ
ーバ間の非互換性は、仮想デバイスアーキテクチャを使
って、必要に応じてマスキングまたは模造することがで
きる。こうして、真の意味でのストレージエリアネット
ワーク環境を利用し、ホスト、ファブリック、ストレー
ジの相互運用性の問題をすべて、ストレージサーバレベ
ルで管理することができる。
FIG. 2 shows another embodiment of the storage area network. In FIG. 2, a server 1250 having the storage director logic and the cache memory as described above is connected to clients on various platforms. These platforms are, for example, Hewl
ett-Packard server 1255, Sun server 1256, SGI server 125
7, each executing a different protocol for storage transaction management. A plurality of physical storage devices that make up the physical resources used as storage domains are also connected to the server 1250 and managed by the storage director according to the virtual device architecture described above. Multiple physical storage devices in this example include storage on Hewlett-Packard platform 1251, Sun platform 1252
On storage, storage on EMC platform 1253. In this manner, a server that includes storage director logic can create a shared storage pool that supports conventional servers and storage in a heterogeneous environment. Incompatibilities between multiple storage devices and servers can be masked or imitated as needed using virtual device architecture. In this way, the true storage area network environment can be used to manage all interoperability issues between hosts, fabrics, and storage at the storage server level.

【0042】仮想デバイスアーキテクチャを使ったスト
レージディレクタロジックは、ストレージドメイン構成
を用いてクライアントサーバがストレージにアクセスす
る構成に関するひとつのインテリジェントな調整点を提
供する。新たなデバイスを追加したり、既存のデバイス
の管理を変える場合でも、ハードウェアの再構成はほと
んど、あるいは全く不要となる。ストレージサーバの構
成は、物理的ストレージにあるデータセットのサーバへ
のマッピングを自動的に保持することにより、正確な構
成情報とコントロールを提供することができる。物理的
ストレージを常に正確にマッピングすることは、ストレ
ージエリアネットワークの管理を大幅に簡略化する。ま
た、サーバのストレージディレクタにより、デバイスを
オンライン状態にしたままで、古いストレージデバイス
から新しいストレージデバイスへデータを移動させるこ
とができる。さらに、記録オブジェクトの大きさも、ひ
とつのアレイで作ることのできる最大オブジェクトのサ
イズによって制限されることがなくなる。複数アレイ
は、クライアントサーバ上で実行するホストオペレーテ
ィングシステムとは別に、ひとつのストレージオブジェ
クトに連結することができる。ストレージディレクタは
また、不揮発性キャッシュメモリ内のデータのスナップ
ショットを作るといったバックアップおよびテスト動作
を管理でき、例えばクライアントサーバを通じてルーテ
ィングすることなく、データをディスクからテープにコ
ピーすることにより、データバックアップを管理するこ
ともできる。さらには、ローカルキャッシュを使って、
ロストリダンダンシーを有するアレイからデータを移動
し、アレイの修理、再構築中に冗長ストレージを修理
し、データを十分に利用できる状態にすることが可能で
ある。共通データセットにアクセスする複数サーバを有
するアプリケーションでは、仮想デバイスアーキテクチ
ャを使って拡張可能な単純なソリューションを提供する
ように、ストレージサーバ内にロッキングロジックを設
置することができる。
The storage director logic using a virtual device architecture provides one intelligent coordination point for the configuration in which client servers access storage using a storage domain configuration. Adding new devices or changing the management of existing devices requires little or no hardware reconfiguration. The configuration of the storage server can provide accurate configuration information and control by automatically maintaining the mapping of datasets in physical storage to the server. Always accurate mapping of physical storage greatly simplifies the management of storage area networks. In addition, the storage director of the server can move data from the old storage device to the new storage device while the device remains online. Further, the size of the recorded object is no longer limited by the size of the largest object that can be created in one array. Multiple arrays can be linked to a single storage object, independent of the host operating system running on the client server. The Storage Director can also manage backup and test operations, such as taking snapshots of data in non-volatile cache memory, and manage data backups, for example, by copying data from disk to tape without routing through a client server. You can also. Furthermore, using a local cache,
It is possible to move data from an array with loss redundancy, repair redundant storage during repair and rebuilding of the array, and make the data fully available. For applications with multiple servers accessing a common data set, locking logic can be placed in the storage server to provide a simple solution that can be scaled using virtual device architecture.

【0043】ストレージサーバ内のストレージディレク
タロジックは、サーバとストレージ両方からのキャッシ
ュ需要を統合するため、ストレージエリアネットワーク
に必要なキャッシュメモリ数が少なくて済む。このシス
テムは、クライアントサーバまたはストレージシステム
のいずれにも、それぞれが内部メモリとして有効に提供
できるものよりも多くのキャッシュを割り当てることが
できる。また、キャッシュはそのシステムを使うアプリ
ケーション用の定義に合わせて、動的あるいは静的に割
り当てられる。
The storage director logic in the storage server integrates cache demand from both the server and the storage, so that the number of cache memories required for the storage area network is small. This system can allocate more cache to either the client server or the storage system than each can effectively provide as internal memory. Caches are dynamically or statically allocated according to the definition for the application using the system.

【0044】図3は、本発明による複数の相互接続され
たストレージサーバを使った、より過密なストレージエ
リアネットワークの例を示す。ストレージサーバ1300,
1301, 1302は、通信チャネル1350, 1351を使って相互接
続され、例えば光ファイバチャネル、ギガビットイーサ
ネット、非同期転送モード(ATM)等の高速プロトコルを
使って搭載されている。本実施形態において、ストレー
ジサーバはそれぞれストレージディレクタロジックと不
揮発性キャッシュを有する。ストレージサーバ1300, 13
01, 1302は、この例においては複数のクライアントサー
バ1310‐1318に接続され、クライアントサーバ1313と13
14はハブ1320を通じてストレージサーバ1301に接続され
ている。同様に、クライアントサーバ1316‐1318は、ハ
ブ1321に接続され、ハブ1321はストレージサーバ1302に
接続される。クライアントサーバ1310‐1318は、先に詳
述したFCP等のストレージチャネルプロトコルを用いて
ストレージサーバと通信する。これらのプロトコルによ
れば、ストレージトランザクションがリクエストされ、
そのリクエストのイニシエータの識別子、論理ユニット
番号(LUN)、そしてターゲットストレージデバイスの識
別子が伝えられ、ストレージディレクタロジックがこれ
らのパラメータを使ってストレージドメイン内の仮想デ
バイスにストレージトランザクションをマップする。サ
ーバにはまた、ターゲットストレージデバイスをエミュ
レートするためのリソースが含まれ、クライアントサー
バはそのストレージエリアネットワーク内の複数のスト
レージデバイスとスムーズに相互運用できる。
FIG. 3 shows an example of a more congested storage area network using a plurality of interconnected storage servers according to the present invention. Storage server 1300,
1301 and 1302 are interconnected using communication channels 1350 and 1351 and mounted using a high-speed protocol such as, for example, optical fiber channel, gigabit Ethernet, and asynchronous transfer mode (ATM). In this embodiment, each storage server has storage director logic and a non-volatile cache. Storage server 1300, 13
01, 1302 are connected to a plurality of client servers 1310-1318 in this example, and client servers 1313 and 1313
14 is connected to a storage server 1301 through a hub 1320. Similarly, client servers 136-1318 are connected to hub 1321, and hub 1321 is connected to storage server 1302. The client servers 1310-1318 communicate with the storage server using a storage channel protocol such as FCP as described in detail above. According to these protocols, storage transactions are requested,
The initiator identifier, logical unit number (LUN), and target storage device identifier of the request are communicated, and the storage director logic uses these parameters to map the storage transaction to a virtual device in the storage domain. The server also includes resources to emulate the target storage device, allowing the client server to smoothly interoperate with multiple storage devices within its storage area network.

【0045】図3において、複数のストレージデバイス
1330- 1339はストレージサーバ1300-1302 と接続されて
いる。同図中の各種記号はストレージデバイスを示して
おり、ネットワークがヘテロジニアスで、サーバ1301、
1302において仮想デバイスインターフェースによって管
理されるさまざまなデバイスを利用できることがわか
る。また、通信チャネルを変更することもできる。した
がって、ハブ1340, 1341, 1342がネットワーク内に設け
られ、ストレージデバイスとストレージサーバ間で各種
の通信プロトコルが利用できるようになっている。[イ
ンテリジェントなストレージエリアネットワークサー
バ]図4は、本発明によるストレージシステム管理リソ
ースを含む、ある好ましい実施形態におけるストレージ
サーバのブロック図である。
In FIG. 3, a plurality of storage devices
1330-1339 is connected to the storage server 1300-1302. Various symbols in the figure indicate storage devices, the network is heterogeneous, the server 1301,
It can be seen at 1302 that various devices managed by the virtual device interface are available. Also, the communication channel can be changed. Therefore, the hubs 1340, 1341, and 1342 are provided in the network, and various communication protocols can be used between the storage device and the storage server. [Intelligent Storage Area Network Server] FIG. 4 is a block diagram of a storage server in one preferred embodiment, including storage system management resources according to the present invention.

【0046】ストレージサーバ102は、ユーザおよびそ
の他のデータ処理機能用の通信インターフェースセット
を有する接続オプション130とストレージデバイス用の
通信インターフェースセットを有するストレージオプシ
ョン128とを有し、さらに、ハードウェアインターフェ
ース126、オペレーティングシステム124、ブロックスト
レージインターフェース118、管理インターフェース12
0、プロトコルインターフェース122を有する。接続オプ
ション130は、シリアル接続140、ある実施形態において
構成管理ルーチンをサポートするフロントパネル接続14
2、遠隔管理ステーションとの通信をサポートするイー
サネット接続144、ネットワークインターフェース145を
有し、ストレージオプション128は、ドライブアレイ13
2、ソリッドステートドライブ(SSD)134、SCSIインター
フェへス136、ネットワークインターフェース138を有す
る。SCSIインターフェース136はDVD/CD-R 148に接続さ
れ、ネットワークインターフェース138はストレージサ
ーバ102Gおよび/またはストレージ150に接続される。
The storage server 102 has a connection option 130 having a communication interface set for users and other data processing functions and a storage option 128 having a communication interface set for storage devices. Operating system 124, block storage interface 118, management interface 12
0, having a protocol interface 122. Connection options 130 include a serial connection 140, a front panel connection 14 that supports configuration management routines in one embodiment.
2.Has an Ethernet connection 144 to support communication with a remote management station, a network interface 145, and a storage option 128
2. It has a solid state drive (SSD) 134, a SCSI interface 136, and a network interface 138. The SCSI interface 136 is connected to the DVD / CD-R 148, and the network interface 138 is connected to the storage server 102G and / or the storage 150.

【0047】接続オプション130は、ストレージサーバ
にサーバとクライアントを接続する各種の方法である。
シリアル接続140はネットワーク管理、遠隔管理用モデ
ム、中断することのない電源供給メッセージを、フロン
トパネル接続142はストレージサーバ102のフロントパネ
ルディスプレイとの管理接続を、またイーサネット接続
144は管理プロトコルおよびおそらくはデータ転送用イ
ーサネットインターフェースをそれぞれサポートする。
ネットワークインターフェース146は、サーバ上に設置
されるかもしれない多数の高速インターフェースのひと
つである。ネットワークインターフェース146が光ファ
イバチャネルアービトレーティドループ(FC-AL)用ドラ
イバを有する光ファイバチャネルインターフェースであ
る実施形態もある。ネットワークインターフェース146
には、光ファイバチャネルプロトコル(FCP)を使って光
ファイバチャネル媒体上でのSCSI-3向けドライバを設け
ることも可能である。
The connection options 130 are various methods for connecting the server and the client to the storage server.
Serial connection 140 provides network management, remote management modem, uninterrupted power supply messages, front panel connection 142 provides management connection to storage server 102 front panel display, and Ethernet connection
144 each support a management protocol and possibly an Ethernet interface for data transfer.
Network interface 146 is one of many high speed interfaces that may be installed on a server. In some embodiments, network interface 146 is a fiber optic channel interface with a driver for fiber optic arbitrated loop (FC-AL). Network interface 146
It is possible to provide a driver for SCSI-3 on Fiber Channel media using the Fiber Channel Protocol (FCP).

【0048】ハードウェアインターフェース126は、特
定のハードウェアコンポーネントをインターフェースす
る。例えば、ネットワークインターフェース146は、構
成、診断、動作モニター、健全さとステータスのモニタ
ーをサポートするための、特定のネットワークインター
フェース向けソフトウェアモジュールセットを搭載す
る。
The hardware interface 126 interfaces specific hardware components. For example, the network interface 146 includes a set of software modules for a specific network interface to support configuration, diagnostics, operational monitoring, health and status monitoring.

【0049】オペレーティングシステム124、テーブル1
16、インターフェース118-122は、ストレージサーバ102
の仮想デバイスとストレージルーティング機能をサポー
トする。ストレージサーバ102のこれらのコンポーネン
トは、システム内の構成されたドライバモジュールセッ
トを使って、適当なストレージオプション128と接続オ
プション130間でストレージトランザクションのルーテ
ィングを行う。
Operating system 124, table 1
16, interface 118-122, storage server 102
Support virtual device and storage routing function. These components of the storage server 102 use a configured set of driver modules in the system to route storage transactions between the appropriate storage options 128 and connection options 130.

【0050】オペレーティングシステム124は、フェイ
ルセーフ機能のほかに、メッセージのルーティング、転
送機能も提供し、オペレーティングシステム124による
メッセージルーティング、転送機能は、ストレージサー
バ102のコンポーネントの間でストレージトランザクシ
ョン等のメッセージをルーティングするのに使用され
る。これらのメッセージには、仮想回路のコンポーネン
ト間の内部フォーマットによるメッセージのほか、他の
フォーマットによる制御メッセージが含まれる。
The operating system 124 provides a message routing and transfer function in addition to the fail-safe function. The message routing and transfer function by the operating system 124 transfers messages such as storage transactions between components of the storage server 102. Used to route. These messages include messages in the internal format between components of the virtual circuit, as well as control messages in other formats.

【0051】ブロックストレージインターフェース118
は、ブロックデータの転送をサポートするソフトウェア
モジュールを提供する。インターフェース118は、スト
ライプ型データストレージ、ミラーリングされたデータ
ストレージ、パーティションデータストレージ、メモリ
キャッシュのストレージ、RAIDストレージもサポートす
る。サポートされている各種のストレージタイプを連結
し、例えばメモリキャッシュとミラーリングされたデー
タストレージ等、いろいろな組み合わせを作ることもで
きる。
Block storage interface 118
Provides a software module that supports the transfer of block data. Interface 118 also supports striped data storage, mirrored data storage, partition data storage, memory cache storage, and RAID storage. Various supported storage types can be concatenated to create various combinations, for example, memory cache and mirrored data storage.

【0052】プロトコルインターフェース122は、さま
ざまなプロトコルによるリクエストを変換し、これに応
えるソフトウェアモジュールを提供する。ひとつのモジ
ュールセットは、イーサネット接続のレイヤに設置さ
れ、ハードウェアドライバ、データリンクドライバ、イ
ンターネットプロトコル(IP)ドライバ、転送制御プロト
コル(TCP)ドライバ、ユーザデータグラムプロトコル(UD
P)ドライバその他のドライバとなる。また別のモジュー
ルセットはFCP用のドライバを提供する。
The protocol interface 122 converts requests according to various protocols and provides software modules corresponding to the requests. One set of modules is installed at the layer of Ethernet connection, and includes hardware driver, data link driver, Internet protocol (IP) driver, transfer control protocol (TCP) driver, and user datagram protocol (UDD).
P) Driver and other drivers. Another set of modules provides drivers for FCP.

【0053】管理インターフェース120は、ストレージ
サーバ102を管理するためのソフトウェアモジュールを
提供し、テーブル116へのアクセスを管理するインター
フェースのほか、スケジューリング、プロセス調整、シ
ステムのモニター、インフォームドコンセントの管理、
システムプロセスやイベントの管理といった、ルールに
基くシステム管理のためのインターフェースを含む。イ
ンフォームドコンセントの管理モジュールは、ストレー
ジサーバ102を構成、維持するためのルールに基く管理
策を講じておくことが前提となる。
The management interface 120 provides a software module for managing the storage server 102. In addition to an interface for managing access to the table 116, scheduling, process coordination, system monitoring, management of informed consent,
Contains interfaces for rules-based system management, such as managing system processes and events. The informed consent management module is based on the premise that a management measure based on rules for configuring and maintaining the storage server 102 is taken.

【0054】[ストレージトランザクションの操作]ス
トレージトランザクションは、接続オプション130のい
ずれかで受け取られる。ストレージトランザクションに
は、読み出し、書き込みリクエストおよびステータス問
い合わせが含まれる。リクエストはブロック指向のもの
でもよい。
[Operation of Storage Transaction] A storage transaction is received by any of the connection options 130. Storage transactions include read, write requests and status queries. Requests may be block-oriented.

【0055】典型的な読み出しストレージトランザクシ
ョンは、読み出しコマンドとアドレシング情報で構成さ
れる。書き込みストレージトランザクションは、読み出
しストレージトランザクションと似ているが、異なるの
は、リクエストが送信されるデータ量に関する情報を含
み、書き込むデータがこれに続く点である。より具体的
には、SCSI-3プロトコルを使い、各デバイスは識別子(I
D)を有する。リクエストを発生するマシンは、イニシエ
ータと呼ばれ、リクエストに応えるマシンはターゲット
と呼ばれる。この例において、サーバ100Aはイニシエー
タでID7を持ち、ストレージサーバ102はターゲットでID
6を有する。SCSI-3プロトコルは2つ以上のアドレシング
コンボーネント、論理ユニット番号(LUN)、アドレスを
提供する。
A typical read storage transaction is composed of a read command and addressing information. A write storage transaction is similar to a read storage transaction, except that it contains information about the amount of data to which the request is sent, followed by the data to be written. More specifically, each device uses an identifier (I
D). The machine that issues the request is called the initiator, and the machine that responds to the request is called the target. In this example, server 100A is the initiator and has ID7, and storage server 102 is the target and has ID7.
With 6. The SCSI-3 protocol provides two or more addressing components, logical unit numbers (LUNs), and addresses.

【0056】LUNはターゲットIDのサブコンポーネント
を特定する。例えば、複合型ハードディスク/テープド
ライブエンクロージャにおいて、2つのデバイスはひと
つのIDを共有するかもしれないが、異なるLUNを有す
る。第三のアドレシングコンポーネントは、デバイスデ
ータをどこから読み出し、どこに記憶するかというアド
レスである。ストレージサーバ102Aはイニシエータごと
のベースで仮想LUNを提供するため、ひとつのストレー
ジサーバ102Aは、例えば1万以上の仮想LUNをサポートす
ることができる。
The LUN specifies a sub-component of the target ID. For example, in a hybrid hard disk / tape drive enclosure, two devices may share one ID but have different LUNs. The third addressing component is an address where device data is read from and stored. Since the storage server 102A provides virtual LUNs on a per initiator basis, one storage server 102A can support, for example, 10,000 or more virtual LUNs.

【0057】ストレージサーバ102Aは、SCSI-3ストレー
ジトランザクションリクエストを、ひとつの仮想LUNに
対応する仮想回路にマップする。仮想回路は、一つ以上
の仮想デバイスの連続である。仮想デバイスは、ソフト
ウェアモジュールまたはハードウェアコンポーネント
等、一つ以上のデバイスで構成される。例えば、2つの
ネットワークインターフェースデバイスを組み合わせて
仮想デバイスとしたり、同様に、2つのキャッシュデバ
イスを合わせて1つの仮想デバイスとすることができ
る。このデザインにより、コンポーネントが故障して
も、ストレージサーバ102のストレージトランザクショ
ン処理機能に支障が生じることはない。
The storage server 102A maps the SCSI-3 storage transaction request to a virtual circuit corresponding to one virtual LUN. A virtual circuit is a sequence of one or more virtual devices. A virtual device is made up of one or more devices, such as software modules or hardware components. For example, two network interface devices can be combined to form a virtual device, and similarly, two cache devices can be combined to form one virtual device. With this design, even if a component fails, the storage transaction processing function of the storage server 102 is not affected.

【0058】仮想回路は、ストレージトランザクション
をサポートするのに必要な仮想デバイスで構成される。
通常、仮想回路内の第一のコンポーネントは、この例で
はFCPであるストレージトランザクション通信チャネル
フォーマットからのストレージトランザクションを内部
フォーマットに変換するドライバである。このような内
部フォーマットのひとつは、インテリジェントな入出力
(I2O)ブロックストレージアーキテクチャ(BSA)メッセー
ジフォーマットと同様のものとすることができる。内部
フォーマットは、好ましいシステムにおいて、ストレー
ジ媒体と通信チャネルニュートラルである。
The virtual circuit is composed of virtual devices necessary to support a storage transaction.
Typically, the first component in the virtual circuit is a driver that converts storage transactions from the storage transaction communication channel format, which in this example is FCP, into an internal format. One such internal format is intelligent input and output
It can be similar to the (I 2 O) Block Storage Architecture (BSA) message format. The internal format is storage medium and communication channel neutral in the preferred system.

【0059】仮想回路の中間仮想デバイスは、キャッシ
ング、ミラーリング、RAIDといったその他の機能も供給
する。内部フォーマットはストレージ媒体ニュートラル
であるため、中間仮想デバイスは内部フォーマットで動
作するように設計されており、同回路内の他の仮想デバ
イスと相互運用できる。
The intermediate virtual device of the virtual circuit also provides other functions such as caching, mirroring, and RAID. Because the internal format is storage medium neutral, the intermediate virtual device is designed to operate in the internal format and can interoperate with other virtual devices in the circuit.

【0060】仮想回路内の最後の仮想デバイスは通常、
ストレージを管理するためのフォーマット変換および通
信チャネルドライバである。例えば、ドライブアレイ13
2は、仮想デバイスを形成するようグループ分けされる
冗長ハードウェアドライバモジュール(HDM)によって制
御される。HDMはSCSI変換にBSAを供給し、HDMはドライ
ブアレイ132を構成するドライブとのインターフェース
を扱う。同様に、仮想回路がネットワークインターフェ
ース138上の異なるストレージへのリンクである場合、
ストレージデバイス通信チャネルプロトコルにBSAを変
換するのをサポートする仮想デバイスが設けられる。
The last virtual device in a virtual circuit is usually
It is a format conversion and communication channel driver for managing storage. For example, drive array 13
2 are controlled by redundant hardware driver modules (HDMs) grouped to form virtual devices. HDM supplies BSA for SCSI conversion, and HDM handles the interface with the drives that make up the drive array 132. Similarly, if the virtual circuit is a link to a different storage on network interface 138,
A virtual device is provided that supports converting the BSA to a storage device communication channel protocol.

【0061】ストレージサーバには、オペレーティング
システム内および物理的ストレージデバイスをエミュレ
ートするクライアントサーバへのインターフェースでの
リソースも含まれる。このエミュレーションにより、仮
想デバイスはそのストレージにアクセスするクライアン
トサーバにとって、物理的デバイスであるかのように見
える。したがって、クライアントサーバは、ストレージ
トランザクション用のSCSIコマンドを使って、FCP等の
標準プロトコルによって通信するよう構成することがで
きる。SCSIコマンドを利用する実施形態において、エミ
ュレーションにはデバイス識別子を有するSCSIプロトコ
ルと、開始サーバによって予測される、あるいはこれに
適合するデバイス能力情報に応じて、問い合わせコマン
ドに対応することが関わる。また、SCSIプロトコルによ
る読み出し能力コマンドとモードページデータコマンド
は、ストレージを用いるクライアントサーバが物理的ス
トレージデバイスに関する標準的構成情報に依存でき、
その一方でストレージサーバが、クライアントサーバと
のインターフェースで物理的ストレージデバイスをエミ
ュレートすることによってクライアントサーバをスプー
フし、実際のストレージトランザクションを仮想デバイ
スにマップするよう、エミュレーションリソースによっ
て取扱われる。エミュレーションリソースにより、仮想
デバイスはイニシエータ、論理ユニット番号(LUN)、タ
ーゲットデバイス識別子との組み合わせによって識別す
ることができ、ストレージトランザクションをリクエス
トにおいて識別された特定の物理的ターゲットデバイス
に接続する必要はない。
[0061] The storage server also includes resources within the operating system and at the interface to the client server that emulates a physical storage device. This emulation makes the virtual device appear to the client server accessing its storage as a physical device. Thus, the client server can be configured to communicate with a standard protocol such as FCP using SCSI commands for storage transactions. In embodiments utilizing SCSI commands, emulation involves responding to query commands in response to a SCSI protocol having a device identifier and device capability information predicted or adapted by the initiating server. Also, the read capability command and the mode page data command according to the SCSI protocol allow the client server using the storage to rely on standard configuration information about the physical storage device,
On the other hand, the storage server is spoofed by emulating a physical storage device at the interface with the client server and is handled by the emulation resources to map the actual storage transactions to the virtual device. With emulation resources, virtual devices can be identified by a combination of initiator, logical unit number (LUN), and target device identifier, without having to connect the storage transaction to the specific physical target device identified in the request.

【0062】図5は、ストレージドメイン管理に用いる
ストレージ管理システム151として動作する、図4につ
いて示されているようなサーバの機能コンポーネントを
示すブロック図である。システム151は、ストレージマ
ネジャオペレーティングシステム152を有する。ストレ
ージマネジャオペレーティングシステム152により、機
能コンポーネントはストレージドメインルーティングリ
ソース153、レガシーデバイスエミュレーションリソー
ス154、データ移動リソース155、リダンダンシー、ホッ
トスワップ及びフェイルオーバのリソース156を有す
る。ストレージマネジャオペレーティングシステムは、
これらのリソース、オンシャーシキャッシュ157、管理
インターフェース158、そして本実施形態においてはオ
ンシャーシストレージアレイ159の通信を調整する。
FIG. 5 is a block diagram showing the functional components of a server such as that shown in FIG. 4, operating as a storage management system 151 used for storage domain management. The system 151 has a storage manager operating system 152. With the storage manager operating system 152, the functional components include storage domain routing resources 153, legacy device emulation resources 154, data migration resources 155, and redundancy, hot swap and failover resources 156. The storage manager operating system
The communication between these resources, the on-chassis cache 157, the management interface 158, and, in this embodiment, the on-chassis storage array 159 is coordinated.

【0063】キャッシュ157は、本発明の一実施形態に
おいて、ストレージトランザクションを安全にサポート
するためのソリッドステート不揮発性メモリアレイで構
成される。別の実施形態において、キャッシュ157はさ
らに耐故障性を上げるために、冗長アレイを有する。
The cache 157 comprises, in one embodiment of the present invention, a solid state non-volatile memory array for securely supporting storage transactions. In another embodiment, cache 157 has a redundant array to further increase fault tolerance.

【0064】システム151には、複数の通信インターフ
ェース160-165が設置され、この例において、インター
フェース160はクライアントとストレージ管理システム1
51間のプロトコルXを、インターフェース161はクライア
ントとストレージ管理システム151の間のプロトコルY
を、インターフェース162はストレージデバイスとスト
レージ管理システム151の間のプロトコルZを、インター
フェース163はストレージデバイスとストレージ管理シ
ステムの間のプロトコルAを、インターフェース164はス
トレージデバイスとストレージ管理システム151の間の
プロトコルBを、またインターフェース165はストレージ
マネジャシステム151とそのネットワーク上の他のスト
レージ管理システムとの間のプロトコルCを、それぞれ
実行するように構成されている。
The system 151 is provided with a plurality of communication interfaces 160-165, and in this example, the interface 160
The interface X is a protocol Y between the client and the storage management system 151.
The interface 162 indicates the protocol Z between the storage device and the storage management system 151, the interface 163 indicates the protocol A between the storage device and the storage management system, and the interface 164 indicates the protocol B between the storage device and the storage management system 151. The interface 165 is configured to execute a protocol C between the storage manager system 151 and another storage management system on the network, respectively.

【0065】図の例において、プロトコルX-Zおよびプ
ロトコルA-Cは、ストレージ管理システム151によってサ
ポートされており、これらのプロトコルは複数の異なる
プロトコル、ひとつのプロトコルのバリエーション、あ
るいは、システムが利用される特定のストレージエリア
ネットワークに適したすべて同じプロトコルのいずれで
もよい。
In the illustrated example, protocols XZ and protocol AC are supported by storage management system 151, which may be a plurality of different protocols, a variation of one protocol, or a specific storage system in which the system is utilized. Any of the same protocols suitable for the area network may be used.

【0066】ストレージトランザクションは、インター
フェース160-165を通じて、それぞれの通信媒体からス
トレージ管理システム151の内部リソースへと行われ
る。好ましいシステムにおいて、ストレージトランザク
ションは、各種のインターフェースの中で、これらのイ
ンターフェースによって実行されるプロトコルとは独立
してルーティングするための、システム内部の共通メッ
セージングフォーマットに変換される。ストレージドメ
インルーティングリソース153は、特定のクライアント
デバイスとストレージデバイス用に構成された仮想回路
を使って、ストレージドメイン内でトランザクションを
マップする。レガシーエミュレーションリソース154と
データ移動リソース155により、新しい機器がネットワ
ークに追加されたり、ネットワークから取り外される場
合に、ストレージドメインはストレージ管理システム15
1において再構成される。例えば、新しいストレージデ
バイスをネットワークに追加することができ、既存のス
トレージデバイス内のデータセットを新しいストレージ
デバイスに移動でき、そのデータセットを使用したクラ
イアントからのストレージトランザクションは、移動中
およびターゲットエミュレーションを供給することによ
って移動が完了した後も、既存のストレージデバイスの
中に残っているかのように見える。リダンダンシー、ホ
ットスワップ、フェイルオーバリソース156により耐故
障性が保たれ、高スループットのデータストレージネッ
トワークでストレージ管理システム151が連続して動作
できる。[ハードウェアアーキテクチャの概要]図6
は、インテリジェントなストレージエリアネットワーク
(ストレージ)サーバに適したハードウェアアーキテクチ
ャの一例を示すブロック図である。ハードウェアアーキ
テクチャはリダンダンシーを利用し、分散型ソフトウェ
アシステムをサポートして、ひとつの故障箇所が特定の
ストレージトランザクションを妨害することがないよう
にしている。
The storage transactions are performed from the respective communication media to the internal resources of the storage management system 151 via the interfaces 160-165. In the preferred system, storage transactions are translated into a common messaging format within the system for routing among various interfaces independent of the protocols performed by those interfaces. Storage domain routing resource 153 maps transactions within the storage domain using virtual circuits configured for specific client devices and storage devices. With legacy emulation resources 154 and data movement resources 155, when new devices are added to or removed from the network, the storage domain
Reconstructed in 1. For example, new storage devices can be added to the network, datasets in existing storage devices can be moved to new storage devices, and storage transactions from clients using that dataset can provide in-transit and target emulation By doing so, it looks as if it remains in the existing storage device even after the move is completed. Fault tolerance is maintained by the redundancy, hot swap, and failover resources 156, and the storage management system 151 can operate continuously in a high-throughput data storage network. [Overview of Hardware Architecture] FIG.
Is an intelligent storage area network
FIG. 2 is a block diagram illustrating an example of a hardware architecture suitable for a (storage) server. The hardware architecture takes advantage of redundancy and supports distributed software systems so that a single point of failure does not interfere with a particular storage transaction.

【0067】図6にはストレージサーバ102Aが搭載され
る。ストレージサーバは、標準的なコンポーネントと標
準ベースのデバイスを使いながらも、高い冗長性を実現
するよう設計されている。例えば、ストレージサーバ10
2Aは、標準的な周辺コンポーネント相互接続(PCIの高速
バージョンと標準的光ファイバチャネルアービトレーテ
ィドループ(FC-AL)インターフェースを採用している。
その他各種のプロトコルとインターフェースを使用する
実施形態もある。
In FIG. 6, a storage server 102A is mounted. Storage servers are designed for high redundancy while using standard components and standards-based devices. For example, storage server 10
2A employs a standard peripheral component interconnect (a high-speed version of PCI and a standard Fiber Channel Arbitrated Loop (FC-AL) interface).
Other embodiments use various other protocols and interfaces.

【0068】ストレージサーバ102Aは、4つの分離した6
4ビット66メガヘルツPCIバス200A-Dを有する。ストレー
ジデバイスとPCIバスのスロットにおけるネットワーク
インターフェースの構成は多数考えられる。一実施形態
において、PCIバスは、SSD PCIバス200A-Bとインターフ
ェースPCIバス200C-Dの2グループに分けられ、各グルー
プは上側、下側として指定される2つのバスを有する。
各グループにおける上下のバスは冗長サービスを供給す
るように構成することができる。例えば、下側のSSD PC
Iバス200Bは上側のSSD PCI バス200A と同じ構成でもよ
い。
The storage server 102A has four separate 6
It has a 4-bit 66 MHz PCI bus 200A-D. There are many possible configurations of the network interface in the storage device and the slot of the PCI bus. In one embodiment, the PCI bus is divided into two groups: SSD PCI bus 200A-B and interface PCI bus 200C-D, each group having two buses designated as upper and lower.
The upper and lower buses in each group can be configured to provide redundant services. For example, the lower SSD PC
The I bus 200B may have the same configuration as the upper SSD PCI bus 200A.

【0069】PCIバス200A-Dはホストブリッジコントロ
ーラ(HBC)モジュール202A-Bに接続される。HBCモジュー
ル202A-BはPCIバス200A-Dにまたがり、冗長ブリッジパ
スとなる。
The PCI bus 200A-D is connected to a host bridge controller (HBC) module 202A-B. The HBC module 202A-B straddles the PCI bus 200A-D and forms a redundant bridge path.

【0070】SSD PCI バス200A-Bは、ソリッドステート
ドライブ(SSD)モジュール204A-Gをサポートし、これら
のSSDモジュール204A-Gは、フラッシュメモリストア等
のソリッドステートストレージデバイスとなる。
The SSD PCI bus 200A-B supports solid state drive (SSD) modules 204A-G, and these SSD modules 204A-G become solid state storage devices such as flash memory stores.

【0071】インターフェースPCIバスは、ネットワー
クインターフェースコントローラ(NIC)モジュール206A-
B、独立ディスクの冗長アレイ(RAID)コントローラ(RAD)
モジュール212A-B、および特定用途向け処理(ASP)モジ
ュール208A-DからHBCモジュール202A-Bへの相互接続を
行う。
The interface PCI bus is a network interface controller (NIC) module 206A-
B, redundant array of independent disks (RAID) controller (RAD)
Interconnects modules 212A-B and application specific processing (ASP) modules 208A-D to HBC modules 202A-B.

【0072】ストレージサーバ102Aを外部FC-ALに連結
するのに加え、NIC 206A-Bは、光ファイバチャネルハブ
(FCH)モジュール214A-Dに連結することができる。FCHモ
ジュール214A-Dは各々、NICモジュール206A-Bの両方に
接続され、FC-ALポートを10個ずつ提供し、NICモジュー
ル206A-Bからカスケードされて20ステーションFC-ALハ
ブを提供する。
In addition to connecting the storage server 102A to the external FC-AL, NIC 206A-B is a fiber optic channel hub.
(FCH) modules 214A-D. The FCH modules 214A-D are each connected to both NIC modules 206A-B, provide 10 FC-AL ports, and are cascaded from the NIC modules 206A-B to provide a 20 station FC-AL hub.

【0073】ディスクドライブハブ(DDH)モジュール216
A-Dは冗長FC-ALファブリックを提供し、ディスクドライ
ブをRACモジュール212A-Bに接続する。DDHモジュール21
6A-Dの各々におけるFC-ALファブリックは2つの冗長ルー
プで構成され、これらはDDHモジュールに接続されたす
べてのドライブをRACモジュール212A-Bの両方に連結す
る。RACモジュールはDHモジュール216A-D全部の間のル
ープを管理し、DDHモジュール216A-Dはそれぞれディス
クドライブ218等、5つのデュアルポートディスクドライ
ブをサポートする。
The disk drive hub (DDH) module 216
AD provides a redundant FC-AL fabric and connects disk drives to RAC modules 212A-B. DDH module 21
The FC-AL fabric in each of 6A-D is made up of two redundant loops, which connect all drives connected to the DDH module to both RAC modules 212A-B. The RAC module manages the loop between all DH modules 216A-D, and each DDH module 216A-D supports five dual port disk drives, such as disk drive 218.

【0074】システムミッドプレーン(SMP)は図6に示
されていない。SMPはパッシブミッドプレーンで、図6
に示すように、HBCモジュール202A-B、SSDモジュール20
4A-H、RACモジュール212A-B、NICモジュール206A-B、FC
Hモジュール214A-D、DDHモジュール216A-D、ASPモジュ
ール208A-Dの間の相互接続を実現する。SMPはコンパク
トPCIベースで、4つのカスタムコンパクトPCIバス200A-
D、RAC-DDH相互接続、NIC-FCH相互接続およびその他ミ
ッドプレーン信号からなる制御バスを有する。さらに、
SMPは電源サブシステム(図6では示されていない)から
モジュールへ、電圧48V, 12V, 5V, 3.3Vで配電する。
The system midplane (SMP) is not shown in FIG. SMP is a passive midplane, which is shown in FIG.
HBC module 202A-B, SSD module 20
4A-H, RAC module 212A-B, NIC module 206A-B, FC
The interconnection between the H module 214A-D, the DDH module 216A-D, and the ASP module 208A-D is realized. The SMP is compact PCI based and has four custom compact PCI buses 200A-
It has a control bus consisting of D, RAC-DDH interconnects, NIC-FCH interconnects and other midplane signals. further,
The SMP distributes power from the power subsystem (not shown in FIG. 6) to the modules at voltages of 48V, 12V, 5V and 3.3V.

【0075】フロントパネルディスプレイ(FPD)220は、
ストレージサーバ102A用のユーザインターフェースを供
給する。FPDにはディスプレイデバイスと入力デバイス
が含まれ、一実施形態においては、タッチセンシティブ
の液晶ディスプレイ(LCD)を使って入力機能を有するタ
ッチスクリーンとすることができる。FPD220はHBCモジ
ュール202A-Bと接続され、ステータス表示、構成表示お
よび管理、その他管理機能をサポートする。
The front panel display (FPD) 220
Provides a user interface for the storage server 102A. The FPD includes a display device and an input device. In one embodiment, a touch-sensitive liquid crystal display (LCD) may be used as a touch screen having an input function. The FPD 220 is connected to the HBC modules 202A-B and supports status display, configuration display and management, and other management functions.

【0076】図6には示されていないが、電源およびフ
ァンサブシステムにより、冗長AC-DC電源供給、冗長DC-
DC電源変換、電源停止用のバッテリーバックアップおよ
び冗長プッシュプルファンサブシステムが供給される。
これらのコンポーネントは、ストレージエリアネットワ
ークを活用する場合に重要となる高い可用性と低いダウ
ンタイムという特徴をサポートする。
Although not shown in FIG. 6, a redundant AC-DC power supply, a redundant DC-
Battery backup and redundant push-pull fan subsystems for DC power conversion, power down are provided.
These components support the features of high availability and low downtime that are important when utilizing storage area networks.

【0077】ストレージサーバ102Aは他のストレージサ
ーバと連結して、ストレージエリアネットワーク内のひ
とつのネットワークポートあるいはストレージデバイス
に設置されたネットワークのようにすることができる。
この接続は、HBCモジュール202A-Bの各々に接続されたF
C-AL拡張ポート上で行われる。さらに、HBCモジュール2
02A-Bは帯域外管理のためにRS232シリアルポートと10/1
00イーサネットポートを提供する。
[0077] The storage server 102A can be connected to another storage server, such as one network port in a storage area network or a network installed in a storage device.
This connection is made to the F connected to each of the HBC modules 202A-B.
Performed on the C-AL extension port. In addition, HBC Module 2
02A-B uses RS232 serial port and 10/1 for out-of-band management
Provide 00 Ethernet port.

【0078】バスシステムには、ストレージサーバ102A
内のすべてのバスが含まれる。この例において、バスシ
ステムはホストブリッジコントローラによって相互接続
される4つのPCIバスを有し、また別のインターフェース
を行うHBCモジュール内部のPCIバスも有する。スロット
は、バスシステム上でインターフェースを受けられるす
べての位置を含む。この例において、HBCモジュール外
の4つのPCIバスはそれぞれ4つのインターフェースに対
応することができる。
The bus system includes the storage server 102A
All buses within are included. In this example, the bus system has four PCI buses interconnected by a host bridge controller, and also has a PCI bus inside the HBC module that provides another interface. Slots include all locations that can receive an interface on the bus system. In this example, the four PCI buses outside the HBC module can each correspond to four interfaces.

【0079】インターフェースはカードあるいはスロッ
トに入るその他のデバイスで、インターフェースに接続
されるデータストア用のドライバおよびハードウェアを
サポートする。[リダンダンシーとフェイルオーバ]ス
トレージサーバ102Aは高いリダンダンシーを提供する。
一実施形態において、冗長NIC, RAC, HBCモジュールが
ある。SSDモジュールとドライブはミラーラングをサポ
ートする。ドライブはまた、パリティおよびデュアルチ
ャネルアクセスもサポートしている。DDHモジュールは
それぞれ、RACモジュールへの接続を行うための完全冗
長FC-ALファブリックを含む。フェイルオーバはHBCモジ
ュールが扱い、これはストレージサーバ内の他のモジュ
ールを制御する。この制御はマルチレイヤ式である。
An interface is a card or other device that goes into a slot and supports drivers and hardware for data stores connected to the interface. [Redundancy and Failover] The storage server 102A provides high redundancy.
In one embodiment, there is a redundant NIC, RAC, HBC module. SSD modules and drives support mirror rung. The drive also supports parity and dual channel access. Each DDH module includes a fully redundant FC-AL fabric for making connections to the RAC module. Failover is handled by the HBC module, which controls other modules in the storage server. This control is of a multi-layer type.

【0080】HBCモジュールのコントロールオーバ第一
レイヤは電源供給制御で、各モジュールは同モジュール
上のCMBコントローラによって制御される個々の電源供
給イネーブル信号を有する。HBCモジュールは冗長性が
あるものの、1つのHBCモジュールだけがマスタHCモジ
ュールとして動作して、システムを誘導、制御し、他の
HBCはスレーブとなる。モジュールをスロットにプラグ
接続すると、その電源供給は当初ディスエーブルされ、
マスターHBCモジュールだけが電源供給をイネーブルで
きる。モジュールが誤動作を始め、コマンドに対応しな
いと、HBCモジュールはそのモジュールへの電源供給を
ディスエーブルする。HBCモジュール用の制御第二レイ
ヤは、カード管理バス(CMB)である。各モジュールはCMB
に接続されるATMEL AT90S8515 (AVR) マイクロコントロ
ーラを有し、HBCモジュールそのものはマスターまたは
スレーブとして動作するCMBに接続されるAVRマイクロコ
ントローラを有する。CMBマイクロコントローラは、モ
ジュール上のメインプロセッサに供給される電源とは別
に、ミッドプレーンへの接続によって電源供給される。
CMBにより、マスターHBCはカードタイプを読み出し、カ
ードの有無を判断し、カードにマスク不可割込を送る
か、あるいはカードのハードリセットを行うことができ
る。モジュールプロセッサとマスターHBCモジュール
は、モジュール上のAVRマイクロコントローラのシリア
ルポートを通じた通信を行うこともできる。この通信パ
スは、PCIが故障した場合に通信を制御するためのバッ
クアップとなる。
The first layer of control over the HBC module is power supply control, where each module has an individual power supply enable signal controlled by the CMB controller on the module. Although the HBC module is redundant, only one HBC module operates as a master HC module to guide and control the system and
HBC is the slave. When a module is plugged into a slot, its power supply is initially disabled,
Only the master HBC module can enable power supply. If the module begins to malfunction and does not respond to commands, the HBC module disables power to that module. The second control layer for the HBC module is the card management bus (CMB). Each module is CMB
The HBC module itself has an AVR microcontroller connected to the CMB acting as a master or a slave. The CMB microcontroller is powered by a connection to the midplane, independent of the power supplied to the main processor on the module.
The CMB allows the master HBC to read the card type, determine the presence or absence of the card, send a non-maskable interrupt to the card, or perform a hard reset of the card. The module processor and the master HBC module can also communicate through the serial port of the AVR microcontroller on the module. This communication path is a backup for controlling communication when the PCI fails.

【0081】HBCモジュール用の制御第三レイヤはPCIバ
スである。モジュールがPCIバス上の制御プロセスを使
って反応しない場合、CMBを通じて質問することができ
る。それでもモジュールが反応しない場合は、CMBを使
ってマスク不可割込を送信し、それでも反応がない場合
は、CMBを通じてリセットする。リセット後も依然とし
てモジュールの反応がない場合、電源を落とし、モジュ
ールを交換せよとの警告を発することができる。[HBC
モジュールリダンダンシー]HBCモジュールリダンダン
シーとフェイルオーバはシステムリダンダンシーをサポ
ートする。HBCモジュール202A-Bを両方同時に動作させ
ることは可能であるものの、HOST_SEL信号によってマス
ターに指定できるのは一方だけである。マスターHBCモ
ジュールはPCIバスの全部にPCIバスアービトレーション
を供給し、他のモジュールへの電源イネーブルを制御
し、CMBデバイス上のマスターとして認識される。バッ
クアップHBCモジュールのPCIバスアービトレーション信
号と電源イネーブルは、HOST_SEL信号によってディスエ
ーブルされる。CMBはカードのスレーブCMBまたはFCBデ
バイスのそれぞれで、HOST_SEL信号によって切り換えら
れ、HOST_SEL信号は抵抗によってシステムミッドプレー
ン(SMP)上でプルダウンされ、HBCモジュール202Aがデフ
ォルト時のマスターとなる。HBCモジュール202BはHOST_
SEL信号によって自分をマスターとすることもできる
が、このようになるのは普通、フェイルオーバ時あるい
はHBCモジュール202Aがない場合の立ち上げ時だけであ
る。
The third control layer for the HBC module is the PCI bus. If the module does not respond using the control process on the PCI bus, you can ask questions through the CMB. If the module still does not respond, send a non-maskable interrupt using the CMB; if it still does not respond, reset through the CMB. If the module still does not respond after the reset, the power can be turned off and a warning to replace the module can be issued. [HBC
Module Redundancy] HBC Module Redundancy and Failover support system redundancy. While it is possible to operate both HBC modules 202A-B simultaneously, only one can be designated as the master by the HOST_SEL signal. The master HBC module supplies PCI bus arbitration to all of the PCI buses, controls power enable to other modules, and is recognized as a master on the CMB device. The PCI bus arbitration signal and power enable of the backup HBC module are disabled by the HOST_SEL signal. The CMB is switched by the HOST_SEL signal at each of the card's slave CMBs or FCB devices, and the HOST_SEL signal is pulled down on the system midplane (SMP) by a resistor, making the HBC module 202A the default master. HBC module 202B is HOST_
The SEL signal can be used as the master, but this usually occurs only at the time of failover or startup when the HBC module 202A is not present.

【0082】エラー発生の可能性をなくすため、FVCはH
OST_SEL信号を駆動し、特定パターンを2ヵ所の離れたメ
モリ位置へ書き込むことを要求する。これにより、誤動
作しているHBCモジュール自身がマスターになることが
防止される。HBCモジュールの電源イネーブル信号はど
ちらもSMP上で引き下げられ、立ち上げ時に両方のカー
ドに電源が供給されるようになる。HBCモジュール202A
はHBCモジュール202Bへの電源供給イネーブルを制御
し、これと同様にHBCモジュール202BはHBCモジュール20
2Aへの電源供給イネーブルを制御する。再び、エラー発
生の可能性をなくすため、HBCモジュールの電源供給イ
ネーブル信号の駆動には、特定パターンを2ヵ所の離れ
たメモリ位置へ書き込むことが必要となる。PCIブリッ
ジはデュアルホストをサポートしていない。PCIブリッ
ジを特別に構成することにより、両方のHBCモジュール
をシステムPCIバス上に構成することができる。両HBCモ
ジュール上のPCIブリッジは、ひとつのHBCモジュールが
制御するアドレススペースが他のHBCモジュールのPCIで
リッジ上のシステムPCIバス全部にとってローカルなメ
モリスペースとしてマップされるように構成される。ひ
とつのHBCモジュールが他のPCIアドレススペースを読み
出し、これに書き込もうとすると、エラーか発生する。
また、システムPCIバスへの4つのブリッジが重大なエラ
ーの原因となるトランザクションを認識するとエラーが
発生する。したがって、ひとつのHBCモジュールは、シ
ステムバス上の他のHBCモジュールへのアクセスを試み
るべきではない。
To eliminate the possibility of error occurrence, FVC is set to H
Drives the OST_SEL signal, requesting that a particular pattern be written to two separate memory locations. This prevents the malfunctioning HBC module itself from becoming the master. Both power enable signals of the HBC module are pulled down on the SMP so that both cards are powered up at boot time. HBC module 202A
Controls the power supply enable to the HBC module 202B, and similarly, the HBC module 202B
Controls power supply enable to 2A. Again, driving the power supply enable signal of the HBC module requires writing a specific pattern to two separate memory locations to eliminate the possibility of an error. PCI bridges do not support dual hosts. By specially configuring the PCI bridge, both HBC modules can be configured on the system PCI bus. The PCI bridges on both HBC modules are configured such that the address space controlled by one HBC module is mapped as a memory space local to the entire system PCI bus on the ridge by the PCI of the other HBC module. An error will occur if one HBC module attempts to read and write to another PCI address space.
Also, an error occurs when the four bridges to the system PCI bus recognize a transaction that causes a serious error. Therefore, one HBC module should not attempt to access another HBC module on the system bus.

【0083】HBCモジュールはPCIバス上で通信すべきで
はないが、HBCモジュールは2つの別個の通信用バス、専
用シリアルポートというバスを有する。専用シリアルポ
ートは通信用プライマリパスとなってメッセージを伝
え、他のHBCモジュールのサニティチェックを行う。シ
リアルポートが故障した場合、CMBをバックアップとし
て使い、どのHBCモジュールが故障したかを判断するこ
とができる。[HBCモジュール立上げシーケンス]HBCモ
ジュールはどちらも、システム電源投入時にEVCによっ
てパワーアップされるため、パワーアップ時に他のHBC
モジュールがあるかどうかを判断する必要があるが、こ
れはCMBを通じて行われる。他にもモジュールがある場
合、HBCモジュール202Aはデフォールト時にマスターと
なる。パワーアップ時にHBCモジュール202AがHBCモジュ
ール202Bはないと判断した場合、HBCモジュール202Bの
カードスロットへの電源供給をディスエーブルするこが
できる。これにより、第二のHBCモジュールを追加し、
マスターHBCモジュールのコントロール下でパワーアッ
プされる。HBCモジュール202Aが、HBCモジュールが存在
すると判断した場合、シリアルポートを通じた通信が行
われる。パワーアップ時にHBCモジュール202BがHBCモジ
ュール202Aはないと判断すると、202B自身がHOST_SEL信
号をセットし、HBCモジュール202Aのカードスロットへ
の電源供給をディスエーブルすることにより、マスター
HBCモジュールとなる。HBCモジュール202BがHBCモジュ
ール202Aの存在を判断すると、HBC 0がシリアルポート
を通じた通信を行うまで待たなければならない。所定の
時間が経過しても通信が行われない場合、HBCモジュー
ル202Bはフェイルオーバシーケンスを開始する。[HBC
モジュールのフェイルオーバシーケンス]HBCモジュー
ルはシリアルシンターフェース中、特定の間隔で相互に
通信するはずである。バックアップHBCがマスターHBCと
のシリアル通信を行わなくなると、そのCMB上でマスタ
ーHBCモジュールとの通信を確立するよう試みるべきで
ある。CMB上で通信が確立され、両方のホストが健全で
あると、シリアル通信リンクが異常である。両方のカー
ドは、どこに故障があるかを判断する診断を行わなけれ
ばならず、故障がバックアップHBCモジュール上にあ
る、または分離できない場合、アラームをトリガーす
る。故障がマスターHBCモジュール上にある、またはCMB
通信が確立できない場合、バックアップHBCモジュール
はマスターHBCモジュールの電源を切り、自分がマスタ
ーとなる。[ソフトウェアアーキテクチャの概要」スト
レージサーバは、他にないような広帯域、高スループッ
トおよびストレージサーバのデマンドをサポートするよ
うに設計されたオペレーティングステムによってサポー
トされる。オペレーティングシステムは、バスシステム
上のデータ転送をスケジュール、制御し、システムを管
理する。多数の異なるオぺレーティングシステムとソフ
トウェアコンポーネント構成を利用できるものの、ある
実施形態においては、ストレージサーバ用に設計された
モジュール性の高いオペレーティングシステムを使用す
る。
Although the HBC module should not communicate on the PCI bus, the HBC module has two separate communication buses, a dedicated serial port bus. The dedicated serial port becomes the primary path for communication, transmits messages, and performs sanity checks on other HBC modules. If a serial port fails, you can use the CMB as a backup to determine which HBC module has failed. [HBC module start-up sequence] Both HBC modules are powered up by the EVC when the system power is turned on.
You need to determine if you have a module, but this is done through the CMB. If there are other modules, the HBC module 202A becomes the master by default. When the HBC module 202A determines that there is no HBC module 202B at the time of power-up, the power supply to the card slot of the HBC module 202B can be disabled. This adds a second HBC module,
Powered up under control of the master HBC module. When the HBC module 202A determines that the HBC module exists, communication through the serial port is performed. If the HBC module 202B determines that there is no HBC module 202A at power-up, the HBC module 202B sets the HOST_SEL signal and disables power supply to the card slot of the HBC module 202A, thereby causing the master to fail.
HBC module. When the HBC module 202B determines that the HBC module 202A is present, it must wait until HBC 0 performs communication through the serial port. If no communication is performed after a predetermined time has elapsed, the HBC module 202B starts a failover sequence. [HBC
Module Failover Sequence] The HBC modules should communicate with each other at specific intervals during the serial interface. When the backup HBC loses serial communication with the master HBC, it should attempt to establish communication with the master HBC module on its CMB. If communication is established on the CMB and both hosts are healthy, the serial communication link is abnormal. Both cards must perform diagnostics to determine where the fault is and trigger an alarm if the fault is on a backup HBC module or cannot be isolated. Fault is on master HBC module or CMB
If communication cannot be established, the backup HBC module powers down the master HBC module and becomes the master. Software Architecture Overview Storage servers are supported by operating systems designed to support unmatched high bandwidth, high throughput and storage server demands. The operating system schedules and controls data transfers on the bus system and manages the system. While many different operating systems and software component configurations are available, some embodiments use a highly modular operating system designed for storage servers.

【0084】図7は、ストレージサーバ用のオペレーテ
ィングシステムとサポーティングプログラムのソフトウ
ェアモジュールを示すブロック図である。
FIG. 7 is a block diagram showing an operating system for a storage server and software modules of a supporting program.

【0085】図7は、ハードウェアインターフェースモ
ジュール900、アラバマ州モビールのAccelerated Techn
ologies社製Nucleus PlusTMリアルタイムカーネルモジ
ュール902、ISOSプロトコル管理モジュール904、ストレ
ージサービスモジュール906というオペレーティングシ
ステムコンポーネントを有する。ハードウェアインター
フェースモジュール900により、ストレージサーバのソ
フトウェアコンポーネントはストレージサーバのハード
ウェアコンポーネントと通信することができる。
FIG. 7 shows a hardware interface module 900, Accelerated Techn, Mobile, Alabama.
Nucleus Plus real-time kernel module 902, ISOS protocol management module 904, and storage service module 906 manufactured by ologies. The hardware interface module 900 allows software components of the storage server to communicate with hardware components of the storage server.

【0086】Nucleus PlusTMリアルタイムカーネルモジ
ュール902は、タスク、キュー、信号、タイマー、重要
セクションサポートといった基本的オペレーティングシ
ステム機能を提供するのに使用され、ストレージサービ
スモジュール906によってC++クラスの機能としてストレ
ージサーバのソフトウェアモジュールにエクスポートさ
れる。
The Nucleus Plus real-time kernel module 902 is used to provide basic operating system functions such as tasks, queues, signals, timers, and critical section support. Exported to software module.

【0087】ISOSモジュール904により、ストレージサ
ーバは入出力用のメッセージングアーキテクチャをサポ
ートする。RAIDコントローラ(RAC)モジュール、ネット
ワークインターフェースコントローラ(NIC)モジュー
ル、ソリッドステートドライブ(SSD)モジュール、ディ
スクドライブハブ(DDH)モジュール、光ファイバチャネ
ルハブ(FCH)モジュール等のハードウェアモジュールは
すべて入力/出力プロセッサ(IOP)である。マスターホス
トブリッジプロセッサ(HBC)モジュールは、ホストとな
る。
With the ISOS module 904, the storage server supports a messaging architecture for input and output. All hardware modules such as RAID controller (RAC) module, network interface controller (NIC) module, solid state drive (SSD) module, disk drive hub (DDH) module, fiber optic channel hub (FCH) module, etc. are input / output processors (IOP). The master host bridge processor (HBC) module is the host.

【0088】ストレージサービスモジュール906は、メ
ッセージングクラスを使ってコンポーネント間の信頼性
の高いメッセージ転送をサポートし、デバイスドライバ
モジュールの動作と仮想デバイス用サポートをサポート
する。デバイスドライバモジュール(DDM)と仮想デバイ
ス(VD)はストレージサーバストレージシステムの構成ブ
ロックである。ストレージサービスモジュール906は、
ストレージトランザクションに対するリクエストをサポ
ートするように構成されている。
The storage service module 906 supports reliable message transfer between components using messaging classes, and supports operation of device driver modules and support for virtual devices. The device driver module (DDM) and the virtual device (VD) are constituent blocks of a storage server storage system. The storage service module 906
It is configured to support requests for storage transactions.

【0089】いくつかのアプリケーションにおいては、
ストレージサーバ102A等、単独のストレージサーバがオ
ペレーティングシステムモジュール900-906と一緒に作
動する数百のDDMを有し、ストレージサーバリクエスト
に対応する。また別のアプリケーションでは、わずかな
DDMをいろいろ組み合わせて使用する。
In some applications,
A single storage server, such as storage server 102A, has hundreds of DDMs that work with operating system modules 900-906 to service storage server requests. In another application,
Use various combinations of DDM.

【0090】ソフトウェアコンポーネントはデバイスド
ライバモジュール(DDM)として実装されている。主とし
てハードウェアデバイスにリクエストを送るDDMは中間
ドライバモジュール(HDM)と呼ばれ、内部の中間プログ
ラムとして機能するDDMは中間サービスモジュール(ISM)
と称される。例えば、SSDモジュールに働くDDMはHDMと
呼ばれ、キャッシュ、ミラーリングおよびその他ハード
ウェアデバイスに直接連結されていないサービスを提供
するDDMはISMと呼ばれる。
The software component is implemented as a device driver module (DDM). DDMs that mainly send requests to hardware devices are called intermediate driver modules (HDMs), and DDMs that function as internal intermediate programs are intermediate service modules (ISMs).
Called. For example, DDMs that work on SSD modules are called HDMs, and DDMs that provide caching, mirroring, and other services not directly connected to hardware devices are called ISMs.

【0091】単独のDDMが単独のストレージサーバ上で
複数の例示を有することもある。例えば、図7におい
て、動作、健全性、ステータスPHSモニター908A-Dとい
う4つの例示があり、それぞれNIC 910, RAC 920, HBC 9
30, SSD 940という4つの主要なソフトウェアサブシステ
ムのいずれかに対応する。各DDMは専用のメッセージキ
ューと個別の識別子を有する。例えば、NIC 910上のPHS
モニター908Aは、デバイスID (DID) 0となる。各DDM
は、DDMが扱うストレージリクエストのクラスをリスト
し、オペレーティングシステムモジュールは、ストレー
ジリクエストのクラスに基いてDDMにリクエストをルー
ティングする。リクエストは、リクエストコードまたは
仮想デバイス番号によってルーティングできる。
A single DDM may have multiple instances on a single storage server. For example, in FIG. 7, there are four examples of operation, health, and status PHS monitors 908A-D, which are NIC 910, RAC 920, and HBC 9 respectively.
Compatible with one of four major software subsystems: 30, SSD 940. Each DDM has its own message queue and individual identifier. For example, PHS on NIC 910
The monitor 908A becomes the device ID (DID) 0. Each DDM
Lists the classes of storage requests handled by the DDM, and the operating system module routes the requests to the DDM based on the class of the storage request. Requests can be routed by request code or virtual device number.

【0092】NICソフトウェアサブシステム910は、プロ
セッササポートHDM 912A, 入力/出力変換ISM 914A およ
びPHSモニター908Aという3つのDDMを、RACソフトウェア
サブシステム920は、プロセッササポートHDM 912B, 入
力/出力変換ISM 914BおよびPHSモニター908Bという3つ
のDDMを、HBCソフトウェアサブシステム930はプロセッ
ササポートHDM 913C, 入力/出力変換ISM 914C、カード
管理HDM 916、システムモニターDDM 918、インターネッ
トプロトコルDDM 921、フロントパネルディスプレイDDM
922、特定用途向けプロセッササポートDDM 924、PHSモ
ニター908Cを有する。SSDソフトウェアサブシステム926
は、ソリッドステートドライブ管理HDM926とPHSモニタ
ー908を有する。フロントパネルディスプレイ950はハイ
パーテキストマークアップ言語(HTML)クライアント928
をサポートする。
The NIC software subsystem 910 has three DDMs, the processor support HDM 912A, input / output conversion ISM 914A and the PHS monitor 908A, and the RAC software subsystem 920 has the processor support HDM 912B, input / output conversion ISM 914B and Three DDMs called PHS monitor 908B, HBC software subsystem 930 has processor support HDM 913C, input / output conversion ISM 914C, card management HDM 916, system monitor DDM 918, internet protocol DDM 921, front panel display DDM
922, application specific processor support DDM 924, PHS monitor 908C. SSD software subsystem 926
Has a solid state drive management HDM926 and a PHS monitor 908. Front panel display 950 is a hypertext markup language (HTML) client 928
Support.

【0093】図8〜10はさまざまなハードウェアドラ
イバモジュール(HDM)を示し、図11〜14は本発明の
好ましいアーキテクチャによる各種の内部中間サービス
モジュール(ISM)を示す。図15は仮想回路となるデー
タパスに構成されたドライバモジュールセットの簡略図
である。
FIGS. 8-10 show various hardware driver modules (HDMs), and FIGS. 11-14 show various internal intermediate service modules (ISMs) according to the preferred architecture of the present invention. FIG. 15 is a simplified diagram of a driver module set configured in a data path serving as a virtual circuit.

【0094】図8は、HDM 524を有するネットワークイ
ンターフェースカード520を示す。カード520は光ファイ
バチャネルネットワークへの物理的インターフェース52
1を有する。この例においてはカリフォルニア州コスタ
メサのQlogic Corporation社製ISP 2200A等のQlogicデ
バイスであるネットワークインターフェースチップ522
は、物理的インターフェース521に接続され、ライン523
で表わされる通信を発生し、これがHDM 524の中で処理
される。HDM 504はシステム内の他のドライバモジュー
ルが使用するよう、通信の条件付けを行い、ライン525
によって表わされる通信はSCSIフォーマットを有する。
ライン526が示す通信は、BSAフォーマットなどのメッセ
ージフォーマットを有し、ライン527が示す通信はイン
ターネットプロトコル(IP)フォーマットを有する。HDM
は図中、「Qlogicドライバ」と表示されたドライバクラ
スの例であり、この例ではデバイス識別子DID 401が与
えられている。物理的インターフェースはNIC #1として
識別される。
FIG. 8 shows a network interface card 520 having an HDM 524. Card 520 is the physical interface 52 to the Fiber Channel network.
With one. In this example, the network interface chip 522 is a Qlogic device such as ISP 2200A manufactured by Qlogic Corporation of Costa Mesa, California.
Is connected to physical interface 521 and line 523
Which is processed in the HDM 524. The HDM 504 conditions the communication for use by other driver modules in the system, and
The communication represented by has the SCSI format.
The communication indicated by line 526 has a message format, such as the BSA format, and the communication indicated by line 527 has an Internet Protocol (IP) format. HDM
Is an example of a driver class indicated as "Qlogic driver" in the figure. In this example, a device identifier DID 401 is given. The physical interface is identified as NIC # 1.

【0095】図9は、不揮発性集積回路メモリデバイス
のアレイで実装されるストレージデバイス720を示す。H
DM 722はアレイ721と接続され、ライン723でのブロック
ストレージアーキテクチャ通信をアレイ721からの記録
再生用フォーマットに変換する。この例では、HDM 722
にはデバイス識別子1130が与えられ、物理的インターフ
ェースはSSD #4として識別される。
FIG. 9 shows a storage device 720 implemented in an array of non-volatile integrated circuit memory devices. H
The DM 722 is connected to the array 721 and converts the block storage architecture communication on line 723 to a format for recording and playback from the array 721. In this example, HDM 722
Is given a device identifier 1130 and the physical interface is identified as SSD # 4.

【0096】図10は、図6に示す好ましい実施形態に
おける光ファイバチャネルアービトレーティドループア
ーキテクチャのストレージサーバシャーシに設置された
ディスクドライブアレイ820の構成を示す。図6に示さ
れる光ファイバチャネルディスクハブ#0 216A、チャネ
ルディスクハブ#1 216B、光ファイバチャネルディスク
ハブ#2 216C、光ファイバチャネルディスクハブ#3 216D
は、冗長ハブコントロールHDM 821, 822に接続されてい
る。
FIG. 10 shows a configuration of the disk drive array 820 installed in the storage server chassis of the optical fiber channel arbitrated loop architecture in the preferred embodiment shown in FIG. Optical fiber channel disk hub # 0 216A, channel disk hub # 1 216B, optical fiber channel disk hub # 2 216C, optical fiber channel disk hub # 3 216D shown in FIG.
Are connected to a redundant hub control HDM 821,822.

【0097】HDM 821, 822はそれぞれ物理的光ファイバ
チャネルアービトレーティドループ接続823, 824に接続
される。HDM 821にはデバイス識別子1612、HDM 822には
デバイス識別子1613が付与されている。接続823は光フ
ァイバチャネルインターフェース825に接続され、イン
ターフェース825は、物理的インターフェース840とHDM8
27に接続されるネットワークインターフェースチップ82
6を有する。ISM 828はHDM 827と内部通信パス829に接続
される。ISM 808は、ライン829上のブロックストレージ
アーキテクチャ通信をHDM 827用のIOCB通信に変換す
る。HDM 827はネットワークインターフェースチップ826
と通信し、チップ826は光ファイバチャネル823を駆動す
る。ISM 828にはデバイス識別子1210、HDM 827にはデバ
イス識別子1110が付与される。物理的インターフェース
825はRAC #0とラベリングされる。
The HDMs 821, 822 are connected to physical fiber channel arbitrated loop connections 823, 824, respectively. The HDM 821 has a device identifier 1612, and the HDM 822 has a device identifier 1613. Connection 823 is connected to Fiber Channel interface 825, interface 825 is connected to physical interface 840 and HDM8
Network interface chip 82 connected to 27
With 6. ISM 828 is connected to HDM 827 and internal communication path 829. ISM 808 translates block storage architecture communication on line 829 into IOCB communication for HDM 827. HDM 827 network interface chip 826
The chip 826 drives the fiber optic channel 823. The device identifier 1210 is assigned to the ISM 828, and the device identifier 1110 is assigned to the HDM 827. Physical interface
825 is labeled as RAC # 0.

【0098】光ファイバチャネル接続824は、インター
フェース830に接続され、インターフェース830はインタ
ーフェース825と同様の構成であり、ネットワークイン
ターフェースチップ832によって駆動される物理的光フ
ァイバチャネルインターフェース831を有する。ネット
ワークインターフェース832は、ライン833で示すチャネ
ル上でHDM 834と通信する。HDM 834はチャネル816を通
じてISM 835と通信し、ISM 835はチャネル837上のBSAフ
ォーマットメッセージへのインターフェースを管理す
る。この例において、ISM 835にはデバイス識別子121
1、HDM 834にはデバイス識別子1111が付与され、インタ
ーフェース830はRAC #1として識別される。
The fiber optic channel connection 824 is connected to the interface 830, which has a similar configuration to the interface 825, and has a physical fiber optic channel interface 831 driven by a network interface chip 832. Network interface 832 communicates with HDM 834 on the channel indicated by line 833. HDM 834 communicates with ISM 835 via channel 816, which manages the interface to BSA format messages on channel 837. In this example, ISM 835 has device identifier 121
1. The HDM 834 is provided with a device identifier 1111 and the interface 830 is identified as RAC # 1.

【0099】図11〜14は、データパスに構成するこ
とのできる、本発明によるISM の例をいくつか紹介した
ものである。
FIGS. 11-14 introduce some examples of ISMs according to the present invention that can be configured in a data path.

【0100】図11は本発明によるプロトコルサーバモ
ジュールの一例であるSCSIターゲットサーバ550を示
す。本発明のストレージサーバを通じて管理されるデー
タのユーザが利用する特定のストレージチャネルまたは
ネットワークプロトコル用に、同様のプロトコルサーバ
モジュールを利用することができる。ターゲットサーバ
550は、ユーザとの接続用の通信インターフェースに接
続された、図8のHDM等、HDMから入ってくるメッセージ
を受け取るメッセージインターフェース551を有する。
この例においては、インターフェース551上のメッセー
ジはSCSIフォーマットを有し、別の例でメッセージはす
でにBSAアーキテクチャあるいは現在使用中の通信イン
ターフェース上のプロトコルに適した別のアーキテクチ
ャを持っているかもしれない。サーバ550は、SCSI−BSA
トランスレータ553あるいはアンサーローカル機能554に
入るメッセージを変換するスイッチ機能550を有する。
通常、トランスレータ553はメッセージをライン555上の
外に出て行くメッセージとして送る。ライン555上の中
に入るメッセージはトランスレータ556に供給され、こ
れが入ってくるBSAメッセージをライン551で用いられる
SCSIフォーマットに変換する。
FIG. 11 shows a SCSI target server 550 which is an example of the protocol server module according to the present invention. Similar protocol server modules can be used for specific storage channels or network protocols utilized by users of data managed through the storage server of the present invention. Target server
Reference numeral 550 includes a message interface 551 for receiving a message coming from the HDM, such as the HDM in FIG. 8, connected to a communication interface for connection with a user.
In this example, the message on interface 551 has the SCSI format, and in another example, the message may already have the BSA architecture or another architecture suitable for the protocol on the communication interface currently in use. Server 550 is a SCSI-BSA
It has a switch function 550 for translating messages entering the translator 553 or answer local function 554.
Typically, translator 553 sends the message as an outgoing message on line 555. The incoming message on line 555 is supplied to translator 556, which uses the incoming BSA message on line 551.
Convert to SCSI format.

【0101】多くの例において、SCSIターゲットデバイ
スは、さらにメッセージをルーティングすることなくロ
ーカルアンサーサービス554を使ってSCSIメッセージに
応えることができる。ストレージそのものからの読み出
しまたは書き込みに関係のない多くのステータスメッセ
ージはローカルアンサーサービス554が扱う。
In many instances, a SCSI target device can respond to a SCSI message using the local answer service 554 without further routing the message. Many status messages not related to reading or writing from the storage itself are handled by the local answer service 554.

【0102】この例におけるターゲットサーバ550は、
クラスSCSIターゲットサーバの例であり、デバイス識別
子500が付与される。SCSIターゲットサーバ550といった
プロトコルサーバの機能のひとつは、関連するインター
フェース上でのストレージトランザクションの対象とな
るストレージ範囲を識別することである。ストレージ範
囲は、以下に詳述するストレージサーバ内の構成ロジッ
クを使って仮想回路にマップされる。
The target server 550 in this example is:
This is an example of a class SCSI target server, to which a device identifier 500 is assigned. One of the functions of a protocol server, such as SCSI target server 550, is to identify a storage range that is the subject of a storage transaction on the associated interface. Storage ranges are mapped to virtual circuits using configuration logic in the storage server, which is described in detail below.

【0103】図12は、ミラー管理データパスタスクを
実行するISM 650を示す。ISM 650はデバイス上の内部通
信チャネルに接続されるインターフェース652を有す
る。論理プロセッサ652は入ってくる通信およびデータ
を受け取り、ミラーリング機能を管理する。ロジック65
2はプライマリドライブ653、セカンダリドライブ654、
第三のドライブ655および予備ドライブ656を含む複数の
ドライブインターフェースと通信する。図中では3方向
ミラーリングが示されているが、仮想回路を使い、所望
の数のミラーパスを作り、「N方向」ミラーリングを行う
こともできる。「ドライブインターフェース」という言葉
を用いているものの、ミラーリング機能には他のストレ
ージデバイスも利用できる。ドライブインターフェース
653-656は、内部通信チャネルを用いて、ミラーリング
機能で使用されるターゲットストレージデバイスと関連
するHDMモジュールと、あるいは特定の仮想回路に適し
たその他のISMモジュールと通信する。この例におい
て、ミラーISM 650は「ミラー」というクラスの例として
実装され、デバイス識別子10200を与えられている。
FIG. 12 shows an ISM 650 that performs a mirror management data path task. ISM 650 has an interface 652 that connects to an internal communication channel on the device. Logical processor 652 receives incoming communications and data and manages the mirroring function. Logic 65
2 is primary drive 653, secondary drive 654,
It communicates with a plurality of drive interfaces including a third drive 655 and a spare drive 656. Although three-way mirroring is shown in the figure, a virtual circuit can be used to create a desired number of mirror paths to perform “N-direction” mirroring. Although the term "drive interface" is used, other storage devices can be used for the mirroring function. Drive interface
The 653-656 uses an internal communication channel to communicate with the HDM module associated with the target storage device used in the mirroring function, or with other ISM modules suitable for the particular virtual circuit. In this example, the mirror ISM 650 is implemented as an example of a class called "mirror" and is given a device identifier 10200.

【0104】図13はパーティションISM 750を示す。
パーティションISM 750は、他のドライバモジュールか
ら内部通信を受信するインターフェース751および他の
ドライバモジュールとも通信するインターフェース752
を有するほか、ロジックプロセス753、ベースアドレス7
54とリミットアドレス755を記憶するデータ構造、ドラ
イブインターフェース756を備えている。パーティショ
ンロジックプロセス753は、各種ストレージ管理技術に
役立つ論理パーティショニング機能を用い、ドライブプ
ロセス756によって識別されるサブジェクトストレージ
デバイスを構成するため、物理的デバイスが仮想回路に
おける複数の論理デバイスのように見える。この例にお
いて、パーティションISM 750は「パーティション」とい
うクラスの一例であり、デバイス識別子10400が付与さ
れている。
FIG. 13 shows the partition ISM 750.
Partition ISM 750 includes an interface 751 that receives internal communication from other driver modules and an interface 752 that also communicates with other driver modules.
Logic process 753, base address 7
It has a data structure for storing 54 and limit address 755, and a drive interface 756. The partition logic process 753 uses a logical partitioning function that is useful for various storage management techniques, and configures the subject storage device identified by the drive process 756, so that the physical device looks like multiple logical devices in a virtual circuit. In this example, the partition ISM 750 is an example of a class “partition”, and has a device identifier 10400.

【0105】図14はキャッシュISM 850を示す。キャ
ッシュISM 850は、ストレージサーバ上の内部メッセー
ジ転送構造へのインターフェース851と通信する論理プ
ロセッサ853を有する。キャッシュISM 850におけるデー
タ構造には、ローカルキャッシュメモリの割り当て85
4、キャッシュ854に保存されたデータを識別するキャッ
シュテープル855、ドライブインターフェース856を有す
る。ドライブインターフェースはチャネル857上で、キ
ャッシュが使用中の特定の仮想回路に関連するHDMと通
信する。一実施形態におけるキャッシュメモリ854はス
トレージサーバの中で管理され、別の実施形態におい
て、キャッシュは図9について説明したようなアーキテ
クチャを有するソリッドステートメモリモジュール等の
高速不揮発性メモリの中に保存することができる。好ま
しい実施形態において、キャッシュISM 850は「キャッシ
ュ」というクラスの一例として実装され、デバイス識別
子10300が付与される。
FIG. 14 shows the cache ISM 850. Cache ISM 850 has a logical processor 853 that communicates with an interface 851 to an internal message transfer structure on the storage server. The data structures in the cache ISM 850 include local cache memory allocation 85
4. It has a cache table 855 for identifying data stored in the cache 854, and a drive interface 856. The drive interface communicates on channel 857 with the HDM associated with the particular virtual circuit being used by the cache. In one embodiment, the cache memory 854 is managed in a storage server, and in another embodiment, the cache is stored in a fast non-volatile memory, such as a solid state memory module having an architecture as described with respect to FIG. Can be. In a preferred embodiment, the cache ISM 850 is implemented as an example of a class called "cache" and is given a device identifier of 10300.

【0106】図15は、本発明による複数のドライバモ
ジュールを有する、データパスによって実装される冗長
仮想回路の発見的図式である。仮想回路はデータのユー
ザと通信するための外部インターフェース、ユーザとの
通信をドライバモジュールの通信フォーマットに変換す
るためのプロトコルトランスレータ、ストレージデバイ
スとの通信インターフェースを含むストレージオブジェ
クトを有する。データパスタスクを行うストレージオペ
レータは、トランスレータとストレージオブジェクトの
間に設置できる。キャッシュ、ミラー、パーティション
等のストレージオペレータとして動作するドライバモジ
ュールの配列は、システムデザイナがストレージサーバ
によって提供される構成済みロジックを使って最適なも
のとする。
FIG. 15 is a heuristic diagram of a redundant virtual circuit implemented by a data path having a plurality of driver modules according to the present invention. The virtual circuit has an external interface for communicating with the user of the data, a protocol translator for converting the communication with the user into the communication format of the driver module, and a storage object including a communication interface with the storage device. A storage operator performing the data path task can be located between the translator and the storage object. The array of driver modules acting as storage operators, such as caches, mirrors, partitions, etc., is optimized by the system designer using configured logic provided by the storage server.

【0107】図15に示す例において、外部インターフ
ェースはNIC #0によって提供され、これに関連するHDM
はブロック1010が示す。プロトコルトランスレータはSC
SIターゲットサーバISM 1011、キャッシュ機能はISM 10
12、ミラー機能はISM 1013である。ストレージオブジェ
クトはミラー機能1013からアクセスされ、この例におい
てはブロック1014で示す光ファイバチャネルの基本的デ
イジー・チェーンインターフェースとその関連HDMあるい
は外部LUNインターフェースから選択された物理的スト
レージインターフェースセット、ブロック1015および冗
長ブロック1016が示すISN/HDMのペアを通じてアクセス
される光ファイバチャネルアービトレーティドループの
中のディスクドライブ、ブロック1017が示すソリッドス
テートストレージデバイスと関連HDM、ブロック1018が
示す外部ディスクドライブとのインターフェースおよび
これに関連するISM/HDMのペアで構成される。ディスク
(01), (02), (03), (04) 上の個別のHDMモジュールは光
ファイバチャネルアービトレーティドループを通じたイ
ンターフェース1015および1016との通信を管理する。
In the example shown in FIG. 15, the external interface is provided by NIC # 0 and its associated HDM
Is indicated by block 1010. Protocol translator is SC
SI target server ISM 1011, cache function is ISM 10
12. The mirror function is ISM 1013. The storage object is accessed from the mirror function 1013, and in this example, a physical storage interface set selected from the basic Fiber Channel daisy chain interface and its associated HDM or external LUN interface, shown in block 1014, block 1015 and redundant Disk drives in the Fiber Channel Arbitrated Loop accessed through the ISN / HDM pair indicated by block 1016, solid state storage devices and associated HDMs indicated by block 1017, interfaces with external disk drives indicated by block 1018 and so on. It consists of an ISM / HDM pair related to. disk
Separate HDM modules on (01), (02), (03), (04) manage communication with interfaces 1015 and 1016 through fiber optic channel arbitrated loops.

【0108】この実施形態において、ミラーモジュール
1013はディスク(01), (02), (03)にそれぞれプライマ
リ、セカンダリ、予備ドライブとしてアクセスし、ミラ
ー機能を果たす。図12に示すミラーモジュールには第
三のドライブインターフェースが含まれているが、図1
5のシステムはこの第三のドライブを使用していない。
In this embodiment, the mirror module
1013 accesses the disks (01), (02), and (03) as primary, secondary, and spare drives, respectively, and performs a mirror function. Although the mirror module shown in FIG. 12 includes a third drive interface, FIG.
No. 5 system does not use this third drive.

【0109】この図には、ISMモジュール1020と1021も
描かれており、これらは図中の仮想回路のデータパスと
は接続されていない。これらのブロックは、仮想回路構
造を使用すると、単純にストレージサーバを構成するこ
とにより、パーティショニング等の新しいモジュールを
追加することができることを示すものである。
In this figure, ISM modules 1020 and 1021 are also drawn, which are not connected to the data path of the virtual circuit in the figure. These blocks show that using virtual circuit structures, new modules such as partitioning can be added by simply configuring the storage server.

【0110】冗長データパスはブロック1025で示すイン
ターフェースNIC #1とこれに関連するHDM、ブロック102
6で示すSCSIターゲットサーバISM、ブロック1027で示す
キャッシュISM、ブロック1028で示すミラーISMで構成さ
れる。データストレージデバイスのリダンダンシーは、
ミラー機能を使って実現している。冗長ドライバモジュ
ールは、好ましい実施形態において、ストレージサーバ
における個別のIOPの上に分散されている。
The redundant data path is the interface NIC # 1 shown in block 1025 and its associated HDM, block 102
It comprises a SCSI target server ISM indicated by 6, a cache ISM indicated by block 1027, and a mirror ISM indicated by block 1028. Data storage device redundancy is:
This is achieved using the mirror function. Redundant driver modules are, in a preferred embodiment, distributed over individual IOPs in the storage server.

【0111】図15に示すように、ドライバモジュール
はそれぞれ、図15中のブロック内で括弧書きされた個
別のドライバ識別子を有し、ストレージサーバが管理
し、ストレージサーバ内の構成可能なロジックで制御す
るコンフィギュレーションデータベース内のテーブルに
基いて構成ロジックをサポートするのに、このデバイス
識別子が用いられる。
As shown in FIG. 15, each driver module has an individual driver identifier in parentheses in the block in FIG. 15, and is managed by the storage server and controlled by configurable logic in the storage server. This device identifier is used to support configuration logic based on tables in the configuration database.

【0112】好ましいシステムにおいて、構成テーブル
は図16および17に描かれているような持続型テーブ
ルドライバによって管理される。図4に戻ると、ストレ
ージサーバ102はテーブル116のようなテーブルにおける
管理およびルーティング情報を記憶する。テーブル116
は管理インターフェース120からアクセスできる。テー
ブル116は通常、不揮発性メモリ等の持続型メモリの中
に記憶され、冗長的に保持されてフェイルセーフをサポ
ートする。
In a preferred system, the configuration table is managed by a persistent table driver as depicted in FIGS. Returning to FIG. 4, storage server 102 stores management and routing information in a table such as table 116. Table 116
Can be accessed from the management interface 120. Table 116 is typically stored in persistent memory, such as non-volatile memory, and is maintained redundantly to support failsafe.

【0113】図16は、ドライバモジュール構成の基本
的アーキテクチャによる、「持続型テーブル」というクラ
スの一例として実装された持続型テーブルモジュール14
00を示す。この持続型テーブルモジュール1400は、テー
ブルアクセス論理プロセッサ1401、テーブルデータアク
セスマネージャ1402を含む各種サポート機能、持続型イ
メージマネージャ1403、および持続型テーブルインスタ
ンス同期モジュール1404からなる。テーブルデータアク
セスマネージャ1402はこの実施形態において、テーブル
クラスマネージャ1405と接続され、このテーブルクラス
マネージャは、光ファイバチャネルポートIDテーブル14
06、LUNエクスポートテーブル1407、構成テンプレート
テーブル1408、DDMロールコールテーブル1409、仮想デ
バイステーブル1410、ストレージロールコールテーブル
1411、光ファイバチャネルディスクロールコールテーブ
ル1412、外部LUNテーブル1413、ソリッドステートスト
レージテーブル1414を含む複数の構成テーブルを管理す
る。持続型テーブルモジュール1400が管理するテーブル
セットの特定の構成は、特定の実装に合わせて変更し、
あるクラスのデバイスにとって最適なものとすることが
できる。
FIG. 16 shows a persistent table module 14 implemented as an example of a class called “persistent table” according to the basic architecture of the driver module configuration.
00 is shown. The persistent table module 1400 includes a table access logical processor 1401, various support functions including a table data access manager 1402, a persistent image manager 1403, and a persistent table instance synchronization module 1404. In this embodiment, the table data access manager 1402 is connected to a table class manager 1405, and the table class manager
06, LUN export table 1407, configuration template table 1408, DDM role call table 1409, virtual device table 1410, storage role call table
It manages a plurality of configuration tables including an 1411, an optical fiber channel disk roll call table 1412, an external LUN table 1413, and a solid state storage table 1414. The specific configuration of the set of tables managed by the persistent table module 1400 can be changed to suit a particular implementation,
It can be optimal for a class of devices.

【0114】持続型イメージマネージャ1403とテーブル
インスタンス同期マネージャ1404は、図11に示すよう
な持続型データストレージドライバ1420および図示され
ていない第二の持続型ストレージドライバと通信する。
持続型データストレージドライバ1420はHDMとして実装
され、これは「持続型ストレージ」というクラスの一例で
あり、先に説明したドライバモジュールのモデルに従っ
てデバイス識別子が付与されている。好ましいシステム
において、持続型データストレージHDM 1420は、ストレ
ージサーバ内のソリッドステートストレージデバイスと
通信し、仮想回路で用いられるデータに高速アクセスす
ることができる。
The persistent image manager 1403 and the table instance synchronization manager 1404 communicate with a persistent data storage driver 1420 as shown in FIG. 11 and a second persistent storage driver not shown.
The persistent data storage driver 1420 is implemented as an HDM, which is an example of a class called “persistent storage”, and is provided with a device identifier according to the driver module model described above. In a preferred system, the persistent data storage HDM 1420 communicates with a solid state storage device in a storage server and provides fast access to data used in virtual circuits.

【0115】持続型データストレージはこのシステムに
関するさまざまな構成情報を保持する。DDMロールコー
ルテーブル1409には、すべてのデバイスドライバモジュ
ール例リストとそれぞれの固有のデバイスIDが含まれ
る。ストレージロールコールテーブル1411には、ストレ
ージサーバが検出する全能動ストレージデバイスリスト
が含まれ、このロールコールテーブルは仮想デバイステ
ーブル1410と構成ツールが仮想回路を作成するのに使用
する。LUNエスクポートテーブル1407は、ストレージチ
ャネルトランザクション内の特定されたストレージ範囲
を仮想回路にマップできるようにする。外部LUNテーブ
ル1413は、ストレージサーバ上の外部ストレージインタ
ーフェースを通じて接続されるその他のストレージサー
バの中に保持されるストレージの論理ユニットを識別す
る。
The persistent data storage holds various configuration information about the system. The DDM role call table 1409 includes a list of all device driver module examples and their unique device IDs. The storage roll call table 1411 contains a list of all active storage devices detected by the storage server, and is used by the virtual device table 1410 and configuration tools to create virtual circuits. The LUN export table 1407 allows the specified storage range in the storage channel transaction to be mapped to a virtual circuit. The external LUN table 1413 identifies logical units of storage held in other storage servers connected through an external storage interface on the storage server.

【0116】2つのプライマリテーブルがクライアント
へのストレージのエクスポートと、ストレージサーバ10
2Aのストレージルーティング機能をサポートする。こ
れらのテーブルは、エスクポートテーブル1407と仮想デ
バイス構成テーブル1410である。 [エクスポートテーブル1407]エクスポートテーブル14
07は、ストレージトランザクションとともに受け取った
アドレシングジ用法を仮想回路またはストレージオプシ
ョンにマップする。光ファイバチャネルインターフェー
ス上のSCSI-3の場合に使用されるアドレシング情報は、
イニシエータID、ターゲットLUN、ターゲットアドレス
である。
The two primary tables are the storage export to the client and the storage server 10
Support 2A storage routing function. These tables are an export table 1407 and a virtual device configuration table 1410. [Export table 1407] Export table 14
07 maps the addressing usage received with the storage transaction to a virtual circuit or storage option. The addressing information used for SCSI-3 on fiber optic channel interfaces is:
Initiator ID, target LUN, and target address.

【0117】すべてのイニシエータ、あるいはクライア
ントが多くのLUNを共有するため、ひとつひとつのリク
エストを解決するのに必ずしもこの情報のすべてを使用
する必要はなく、ほとんどのLUNは、異なる仮想回路を
選択するためよりもむしろ仮想回路内のアドレシングを
行うために、ターゲットアドレス、例えばストレージデ
バイス上のオフセットを使用する。この代表的実施形態
において、エクスポートテーブル1407は表1のように構
成される。
Since all initiators or clients share many LUNs, it is not necessary to use all of this information to resolve each request, and most LUNs will select different virtual circuits. Rather, the target address, eg, an offset on the storage device, is used to address within the virtual circuit. In this exemplary embodiment, the export table 1407 is configured as shown in Table 1.

【表1】 [Table 1]

【0118】エクスポートテーブル1407には、仮想回路
の現状、仮想回路の容量その他の情報を記載する別のコ
ラムを含めることができる。一実施形態において、エク
スポートテーブル1407は、エクスポートテーブルのコラ
ムで仮想回路全体を列挙する。
The export table 1407 can include another column that describes the current state of the virtual circuit, the capacity of the virtual circuit, and other information. In one embodiment, export table 1407 lists the entire virtual circuit in a column of the export table.

【0119】表1は、プロトコルごとのアドレシング情
報を使ってリクエストを適当な仮想回路へルーティング
できることを示している。従って、ポート2000をターゲ
ットとするストレージ範囲を識別するものとして使用す
るTCPセッションだけが、識別子70を有する仮想デバイ
スから始まる仮想回路にルーティングされる。
Table 1 shows that requests can be routed to appropriate virtual circuits using addressing information for each protocol. Thus, only those TCP sessions that are used to identify a storage range targeting port 2000 will be routed to the virtual circuit starting with the virtual device having identifier 70.

【0120】表1は、あるプロトコルについてひとつの
LUNを、ストレージトランザクションのイニシエータに
応じて異なるデバイスに接続できることを示している。
この例において、LUN 1はイニシエータIDに基いて異な
る仮想回路にマップされる。また、仮想回路は、「ワー
ルドワイドネーム(WWN)」等、他の種類の識別子に基いて
マッピングすることもできる。
Table 1 shows one protocol for one protocol.
This indicates that the LUN can be connected to different devices depending on the initiator of the storage transaction.
In this example, LUN 1 is mapped to a different virtual circuit based on the initiator ID. Also, the virtual circuit can be mapped based on other types of identifiers, such as “World Wide Name (WWN)”.

【0121】エクスポートテーブルの一例を以下に示
す: #define EXPORT_TABLE "Export_Table" struct ExportTable Entry { rowID ridThisRow; //表のこの行のrowID U32 version; //エクスポートテーブルバージョンの記録 U32 size; //エクスポートテーブルサイズの記録(バイト) CTProtocalType ProtocolType: //FCP, IPその他 U32 CircuitNumber; //LUNその他 VDN vdNext; //パス内で最初の仮想デバイス番号 VDN vdLegacyBsa; //レガシーBSAの仮想デバイス番号 VDN vdLegacyScsi; //レガシーSCSIの仮想デバイス番号 U32 ExportedLUN; //エクスポートされたLUN番号 U32 InitiatorId; //ホストID U32 TargetId; //われわれのID U32 FCInstance; //FCループ番号 String32 SerialNumber; //シリアル番号のストリングアレイを使用 Long long Capacity; //この仮想回路の容量 U32 FailState; U32 PrimaryFCTargetOwner; U32 SecondaryFCTargetOwner; CTReadyState ReadyState; //カレント状態 CTReadyState DesiredReadyState; //所望の準備状態 String16 WWNName; //ワールドワイドネーム(64または128ビットでIEEEに 登録されたもの) string32 NAME; //仮想回路名 } #endif [仮想デバイス構成テーブル]仮想デバイス構成テーブ
ルは、仮想デバイスを、仮想デバイスをサポートするデ
バイスドライバに接続する。仮想デバイスは、冗長デザ
インをサポートするように設計されているため、仮想デ
バイス構成のためのテーブルは仮想デバイス番号をデバ
イスモジュールにマップする。一実施形態において、表
2のようなテーブルを使って仮想デバイスがこれをサポ
ートするデバイスドライバにマップされる。図15は、
表2で実装される仮想デバイス12から始まる仮想回路を
示したものである。
An example of the export table is as follows: #define EXPORT_TABLE "Export_Table" struct ExportTable Entry {rowID ridThisRow; // rowID of this row in the table U32 version; // record export table version U32 size; // export table Record size (bytes) CTProtocalType ProtocolType: // FCP, IP, etc.U32 CircuitNumber; // LUN, etc.VDN vdNext; // First virtual device number in path VDN vdLegacyBsa; // Legacy BSA virtual device number VDN vdLegacyScsi; / / Legacy SCSI virtual device number U32 ExportedLUN; // Exported LUN number U32 InitiatorId; // Host ID U32 TargetId; // Our ID U32 FCInstance; // FC loop number String32 SerialNumber; // String array of serial numbers Use Long long Capacity; // Capacity of this virtual circuit U32 FailState; U32 PrimaryFCTargetOwner; U32 SecondaryFCTargetOwner; CTReadyState ReadyState; // Current state CTRe adyState DesiredReadyState; // desired preparation state String16 WWNName; // world wide name (64 or 128 bits registered in IEEE) string32 NAME; // virtual circuit name} #endif [virtual device configuration table] virtual device configuration The table connects the virtual device to a device driver that supports the virtual device. Since virtual devices are designed to support redundant designs, the table for virtual device configuration maps virtual device numbers to device modules. In one embodiment, the table
A virtual device is mapped to a device driver that supports it using a table such as 2. FIG.
3 shows a virtual circuit starting from the virtual device 12 implemented in Table 2.

【表2】 [Table 2]

【0122】表2のように、各仮想デバイスについて、
その仮想デバイスをサポートするプライマリおよび代替
ドライバモジュールに関する情報が提供される。例え
ば、表2の2行目では、光ファイバチャネルディスクドラ
イブが仮想デバイス(VD)10にマップされる。
As shown in Table 2, for each virtual device,
Information is provided regarding the primary and alternate driver modules that support the virtual device. For example, in the second row of Table 2, the optical fiber channel disk drive is mapped to the virtual device (VD) 10.

【0123】仮想デバイスは仮想デバイスをサポートす
る一つ以上のソフトウェアあるいはハードウェアモジュ
ールで構成される。パラメータのコラムは、初期化情報
を提供するのに使用される。VD 10の場合、パラメータ
はSO(00)で、これはストレージオプション0を意味す
る。各デバイスドライバモジュールのクラスは、クラス
ごとのパラメータを有する。ストレージオプションドラ
イバは、特定のストレージユニットを指定するパラメー
タを使い、ミラードライバやキャッシュドライバといっ
た中間ドライバクラスは、仮想回路内の次の仮想デバイ
スを指定するパラメータを使用する。このフォーマット
によれば、ひとつのデバイスドライバモジュールがパラ
メータの設定に基いて複数のデバイスをサポートするこ
とができる。表2においては、デバイスドライバ1210は
仮想デバイス10, 15, 16, 17によって使用されている
が、それぞれドライバに異なるパラメータを指定する。
ステータスのコラムは、仮想デバイスをサポートするソ
フトウェアまたはハードウェアモジュールのステータス
を示す。例えば、表2の1行目では、ステータスは「プ
ライマリ」であり、これはプライマリデバイスドライ
バ、つまりここでは4000が使用されることを意味してい
る。表2の2行目のステータスは「代替」であり、これは
プライマリデバイスドライバが故障した、あるいは正し
く応答していないことを示す。この場合、代替ドライ
バ、つまり表2の2行目では1211が使用される。複数の
代替を有するデバイスの場合、ステータスのコラムには
使用されているドライバが表示される。
A virtual device is composed of one or more software or hardware modules that support the virtual device. The parameter column is used to provide initialization information. For VD 10, the parameter is SO (00), which means storage option 0. Each device driver module class has parameters for each class. The storage option driver uses a parameter that specifies a specific storage unit, and the intermediate driver class such as a mirror driver or a cache driver uses a parameter that specifies the next virtual device in the virtual circuit. According to this format, one device driver module can support a plurality of devices based on parameter settings. In Table 2, the device driver 1210 is used by the virtual devices 10, 15, 16, and 17, but specifies different parameters for each driver.
The status column indicates the status of the software or hardware module supporting the virtual device. For example, in the first row of Table 2, the status is "primary", which means that the primary device driver, here 4000, is used. The status in the second row of Table 2 is "Alternate", which indicates that the primary device driver has failed or is not responding properly. In this case, 1211 is used in the alternative driver, that is, in the second row of Table 2. For devices with multiple alternatives, the status column shows the driver used.

【0124】例)例えば、接続オプション130のいずれ
かひとつの上で、SCSIプロトコルを使い、アドレシング
情報の中でLUN 2を指定して、ストレージサーバ102Aへ
とストレージトランザクションが行われる場合について
考えてみる。この例において、ストレージサーバ102Aは
表1および2のように構成されているものとする。
Example) For example, consider a case where a storage transaction is performed to the storage server 102A by specifying a LUN 2 in addressing information using the SCSI protocol on any one of the connection options 130. . In this example, it is assumed that the storage server 102A is configured as shown in Tables 1 and 2.

【0125】ストレージトランザクションを受け取るネ
ットワークインターフェース146等の接続オプション
は、ハードウェアデバイスドライバに接続される。ハー
ドウェアデバイスドライバはストレージトランザクショ
ンを受け取り、プロトコルに従って、そのプロトコルを
扱う適当な仮想デバイスにこれを送る。
Connection options such as the network interface 146 for receiving storage transactions are connected to a hardware device driver. The hardware device driver receives the storage transaction and, according to the protocol, sends it to the appropriate virtual device handling the protocol.

【0126】例えば、SCSIストレージトランザクション
は、SCSIターゲットクラスの中のデバイスドライバに送
られる。同様に、IPストレージトランザクションは、IP
ターゲットクラスの中のデバイスドライバに送られる。
ここで、ストレージトランザクションはSCSI通信プロト
コルを使って作られたため、SCSIターゲットデバイスド
ライバ(DID 500)にルーティングされる。
For example, a SCSI storage transaction is sent to a device driver in the SCSI target class. Similarly, IP storage transactions are
Sent to the device driver in the target class.
Here, since the storage transaction was created using the SCSI communication protocol, it is routed to the SCSI target device driver (DID 500).

【0127】SCSIターゲットデバイスドライバはさらに
リクエストを分析する。分析ではまず、そのリクエスト
をどの仮想回路にマップするかを判断する。この判断
は、エクスポートテーブル内の情報を使って行われる。
この例において、表1は、LUN2を指定するSCSIプロトコ
ルを使用するリクエストは仮想デバイス12から始まる仮
想回路にルーティングされるべきであることを示してい
る。一実施形態において、SCSIターゲットリクエストは
すべて、ひとつのインターフェースに関する同じSCSIタ
ーゲットドライバにルーティングされ、この実施形態で
は、ターゲットVD 12のパラメータ情報は、SCSIターゲ
ットの第二の仮想デバイスにメッセージをルーティング
するよりも、SCSIターゲットデバイスの行動を制御する
のに使用される。
[0127] The SCSI target device driver further analyzes the request. The analysis first determines to which virtual circuit the request is mapped. This determination is made using information in the export table.
In this example, Table 1 shows that requests using the SCSI protocol specifying LUN2 should be routed to a virtual circuit starting at virtual device 12. In one embodiment, all SCSI target requests are routed to the same SCSI target driver for one interface, and in this embodiment, the target VD 12 parameter information is used to route messages to the second virtual device of the SCSI target. Also used to control the behavior of SCSI target devices.

【0128】ここでドライバ番号500とされているSCSI
ターゲットデバイスはSCSIメッセージを内部フォーマッ
トに変換する。このようなフォーマットの一例が、I2O
ブロックストレージアーキテクチャ(BSA)フォーマット
に基くものである。このフォーマットはデバイスおよび
プロトコルニュートラルであり、中間デバイスドライバ
はこれを使用できる。リクエストが内部フォーマットと
なると、これはパラメータによって示される仮想回路内
の次の仮想デバイスに送られる。ここでは、このパラメ
ータはVD(13)、つまり仮想デバイス13である。
Here, the SCSI with the driver number 500 is set.
The target device converts the SCSI message to an internal format. One example of such a format is I 2 O
It is based on the Block Storage Architecture (BSA) format. This format is device and protocol neutral and can be used by intermediate device drivers. When the request is in internal format, it is sent to the next virtual device in the virtual circuit indicated by the parameter. Here, this parameter is VD (13), that is, the virtual device 13.

【0129】メッセージはVD 13にルーティングされ、
これは冗長キャッシングドライバであり、ここでは1030
0および10301とナンバリングされている。キャッシング
ドライバはメモリを使ってストレージトランザクション
を記憶する。ドライバが使用しているキャッシングアル
ゴリズムに基いて、ドライバは適当な間隔でストレージ
トランザクションを仮想回路内の次の仮想デバイスにル
ーティングする。ここで、次のデバイスはパラメータVD
(14)、つまり仮想デバイス14によって示される。
The message is routed to VD13,
This is a redundant caching driver, here 1030
Numbered 0 and 10301. The caching driver uses memory to store storage transactions. Based on the caching algorithm used by the driver, the driver routes storage transactions at appropriate intervals to the next virtual device in the virtual circuit. Where the next device is the parameter VD
(14), that is, indicated by the virtual device 14.

【0130】内部フォーマットにおいて、メッセージは
VD 14にルーティングされる。仮想デバイス14は冗長ミ
ラーリングドライバを有する。この場合、ドライバ1020
0および10201が使用される。ミラーリングドライバは、
複数のボリュームでミラーリングされたストレージイメ
ージを保持するためのミラーリングアルゴリズムを実現
する。このミラーリングドライバは、プライマリ、セカ
ンダリおよび第三のストアおよび予備ストアをサポート
しているが、他のミラーリングドライバは異なるアルゴ
リズムをサポートすることもある。このミラーリングド
ライバは、既存のストアと確実に同期される新規ストア
を接続する場合もサポートしている。ドライバが使用し
ているミラーリングアルゴリズムとミラーリングされた
ストアのステータスに基き、ドライバはストレージトラ
ンザクションを仮想回路内の適当な仮想デバイスにルー
ティングする。プライマリおよび代替ストアがどちらも
機能しているのであれば、ミラードライバはパラメータ
VD (15, 16, なし、17)または仮想デバイス15, 16によ
ってのみ、このリクエストをプライマリおよびセカンダ
リストアにルーティングする。パラメータリストの中の
「なし」とは、この仮想デバイスについては現在、第三
のドライブが使用されていないことを示す。
In the internal format, the message is
Routed to VD 14. The virtual device 14 has a redundant mirroring driver. In this case, the driver 1020
0 and 10201 are used. The mirroring driver is
A mirroring algorithm for holding a storage image mirrored by a plurality of volumes is implemented. This mirroring driver supports primary, secondary and tertiary stores and spare stores, but other mirroring drivers may support different algorithms. The mirroring driver also supports connecting new stores that are reliably synchronized with existing stores. Based on the mirroring algorithm used by the driver and the status of the mirrored store, the driver routes storage transactions to the appropriate virtual device in the virtual circuit. If both the primary and alternate stores are functioning, the mirror driver will
Only route this request to the primary and secondary stores by VD (15, 16, none, 17) or virtual devices 15, 16. “None” in the parameter list indicates that the third drive is not currently used for this virtual device.

【0131】ミラーリングドライバは、2つのデバイス
に逐次的あるいは並列にストレージトランザクションメ
ッセージをルーティングすることができる。この例にお
いて、仮想デバイス15へのメッセージ送信が検討される
が、セカンダリストア、仮想デバイス16にまでこの例を
拡張することが可能である。仮想デバイス15は、光ファ
イバチャネルドライブを制御するための冗長ドライバを
有する。ドライバは、例えばBSAからSCSIへ等、内部フ
ォーマットをドライバが使用するフォーマットに変換す
る。ドライバはまた、ドライブにアドレシング情報も提
供する。ここで、パラメータSO(02)を使って、ストレー
ジオプション、この例では光ファイバチャネルドライブ
番号2が選択される。
The mirroring driver can route storage transaction messages to two devices either sequentially or in parallel. In this example, message transmission to the virtual device 15 is considered, but this example can be extended to the secondary store, virtual device 16. The virtual device 15 has a redundant driver for controlling the optical fiber channel drive. The driver converts the internal format into a format used by the driver, for example, from BSA to SCSI. The driver also provides the drive with addressing information. Here, the storage option, in this example, the optical fiber channel drive number 2 is selected using the parameter SO (02).

【0132】このように、ストレージプラットフォーム
において、ハードウェア機能(ディスクまたはフラッシ
ュメモリ等)とソフトウェア機能(RAIDストライプまたは
ミラー等)はすべて、ほとんどの場合にデバイスと呼ば
れるソフトウェアドライバを通じてアクセスされる。
As described above, in the storage platform, all hardware functions (such as a disk or a flash memory) and software functions (such as a RAID stripe or a mirror) are almost always accessed through a software driver called a device.

【0133】これらのデバイスはペアにされ(このペア
を構成する各々のデバイスは別個の基板上で動作し、冗
長性を持たせることが好ましい)、仮想デバイスと呼ば
れる。次に仮想デバイスが連結され、各種の構成が出来
上がる。例えば、ミラーデバイスは2つまたは3つのディ
スクデバイスに連結できる。このような構成を通じて、
仮想デバイス連鎖が完成する。これらの仮想デバイス連
鎖は、別の構成でも使用可能なBSAタイプのデバイスに
構成されている限り、追加できる。
[0133] These devices are paired (each device of the pair preferably operates on a separate substrate and preferably has redundancy) and is referred to as a virtual device. Next, the virtual devices are connected, and various configurations are completed. For example, a mirror device can be connected to two or three disk devices. Through such a configuration,
The virtual device chain is completed. These virtual device chains can be added as long as they are configured into BSA type devices that can be used in other configurations.

【0134】仮想デバイス連鎖はFCP/SCSIターゲットサ
ーバデバイスに接続され、FCPターゲットドライバの「エ
クスポート」に関するLUNエクスポートテーブルの中にマ
ッピングされる(つまり、外部からはFCPプロトコルを通
じてアクセスされる)。この時点で、先頭にSCSIターゲ
ットサーバデバイスを有する仮想デバイス連鎖は、仮想
回路と呼ばれる。
The virtual device chain is connected to the FCP / SCSI target server device and is mapped in the LUN export table related to “export” of the FCP target driver (that is, accessed from outside through the FCP protocol). At this point, the virtual device chain with the SCSI target server device at the beginning is called a virtual circuit.

【0135】仮想回路の構成を司る仮想回路マネージャ
ソフトウェアは、SCSIターゲットサーバの「先頭」を仮想
デバイス連鎖に置き、その後FCPターゲットのエクスポ
ートテーブルを更新することによって仮想回路をエクス
ポートする。このソフトウェアはまた、削除、休止、フ
ェイルオーバ動作もサポートする。
The virtual circuit manager software that controls the configuration of the virtual circuit exports the virtual circuit by placing the “head” of the SCSI target server in a virtual device chain, and thereafter updating the export table of the FCP target. The software also supports delete, pause, and failover operations.

【0136】仮想回路マネージャソフトウェアは、各仮
想回路内の全仮想デバイスを1ヵ所にまとめて記載する
仮想回路テーブルVCTを保持する役割も担う。この情報
は、フェイルオーバ、ホットスワップ、シャットダウン
等、多くのシステム動作を実行するのに必要となる。
The virtual circuit manager software also has a role of holding a virtual circuit table VCT that describes all virtual devices in each virtual circuit in one place. This information is needed to perform many system operations, such as failover, hot swap, and shutdown.

【0137】初期化を行う場合、仮想回路マネージャソ
フトウェアはVCTそのものを持続型テーブルストアの中
で定義し、さらにVCTの挿入、削除その他の変更を聞き
取る。
When performing initialization, the virtual circuit manager software defines the VCT itself in the persistent table store and listens for VCT insertion, deletion and other changes.

【0138】新しい仮想回路を作るためには、SCSIター
ゲットサーバを例示し、新しいLUNをマップ、エクスポ
ートするのに必要な情報をVCT内の記録に入れなければ
ならない。仮想回路マネージャは、VCTへの挿入を聞き
取り、その回答を受け取ると、次の動作を行う: 1.新たに挿入された記録の情報を有効化しようとする。
記録に無効な情報が含まれていると、そのステータスフ
ィールドにはエラーが表示され、それ以上の動作は行わ
れない。 2.新しく挿入された記録によって指定された仮想回路の
LUNについて、新しいSCSIターゲットサーバデバイスを
作る。 3.新たな記録のステータスを「例示」とする。 4.仮想回路に割り当てられるストレージは、ストレージ
ロールコールテーブルで使用されるようにフラグが立て
られる。 5.エクスポートテーブルが更新され、LUNが新しいSCSI
ターゲットサーバに送られる。 仮想回路内の記録が削除されると、仮想回路マネージャ
は以下の動作を行う: 1.まだ済んでいない場合は仮想回路を休止させ、休止と
表示する。 2.仮想回路の発送データをエクスポートテーブルから取
り除く。 3.仮想回路の記録から参照されるロールコール記録に不
使用と表示する。 4.仮想回路に関連するSCSIターゲットサーバの例示を除
く。 仮想回路マネージャは、VCTにおける「エクスポート」フ
ィールドの変更を聞き取り、VCTの中のいずれかの記録
における「エクスポート」フィールドが「正しい」と設定さ
れると、仮想回路マネージャは以下の動作を行う: 1.FCPターゲットのエクスポートテーブルに必要な変更
を行うことにより、仮想回路をエクスポートする。 2.エクスポート動作中に何らかのエラーに遭遇した場
合、VC記録のステータスフィールドが設定され、「エク
スポート」フィールドは正しい状態のままとなる。仮想
回路がエクスポートされないと、「エクスポートされた」
というフラグが「間違い」にセットされる。
To create a new virtual circuit, the information needed to map and export a new LUN must be included in the record in the VCT, instantiating a SCSI target server. The virtual circuit manager hears the insertion into the VCT and upon receiving the answer, performs the following actions: 1. Attempts to validate the information in the newly inserted record.
If a record contains invalid information, an error is displayed in its status field and no further action is taken. 2. of the virtual circuit specified by the newly inserted record
Create a new SCSI target server device for the LUN. 3. Set the status of the new record to "exemplary". 4. Storage assigned to the virtual circuit is flagged for use in the storage roll call table. 5. The export table is updated and the LUN is updated to the new SCSI
Sent to the target server. When a record in the virtual circuit is deleted, the virtual circuit manager performs the following actions: 1. Pauses the virtual circuit, if not already done, and displays Pause. 2. Remove the virtual circuit dispatch data from the export table. 3. Not used in the roll call record referenced from the virtual circuit record. 4. Excludes examples of SCSI target servers related to virtual circuits. The virtual circuit manager listens for changes in the "export" field in the VCT, and if the "export" field in any record in the VCT is set to "correct", the virtual circuit manager performs the following actions: 1 Export the virtual circuit by making the necessary changes to the export table of the .FCP target. 2. If any errors are encountered during the export operation, the status field of the VC record will be set and the "export" field will remain correct. "Exported" if virtual circuit is not exported
Is set to "wrong".

【0139】仮想回路マネージャは、仮想回路テーブル
の「休止」フィールドへの変更を聞き取る。VCTのいずれ
かの記録における「休止」フィールドが「正しい」にセット
されると、仮想回路マネージャは次の動作を行う: 1.VCが現在エクスポートされている場合、そのエクスポ
ートが停止し、「エクスポートされた」というフラグが
「間違い」にセットされる。 2.仮想回路内の仮想デバイスのすべてに休止メッセージ
が送られる。 3.休止動作中に何らかのエラーに遭遇した場合、VC記録
のステータスフィールドが設定され、「休止」フィールド
は正しい状態のままとなる。つまり、仮想回路が休止さ
れていないと、「休止された」というフラグが「間違い」に
セットされる。
The virtual circuit manager listens for changes to the “pause” field of the virtual circuit table. If the "Pause" field in any of the VCT records is set to "Correct", the virtual circuit manager will do the following: 1.If a VC is currently exported, the export will stop and the "Export" Was set to "wrong". 2. A pause message is sent to all virtual devices in the virtual circuit. 3. If any error is encountered during the pause operation, the status field of the VC record will be set and the "Pause" field will remain in the correct state. That is, if the virtual circuit is not paused, the flag “paused” is set to “wrong”.

【0140】[ユーザインターフェース]ユーザインタ
ーフェースは、本発明によるストレージサーバを構成す
る際に表示、使用するためのデータ処理構造によって作
ることができる。画像には、ロゴを表示するためのフィ
ールド、サーバのシャーシに関する基本情報を表示する
フィールドおよびアイコンセットを有するウィンドウが
あり、これらのアイコンを選択すると、管理アプリケー
ションを起動することができる。ハードウェアとソフト
ウェアを管理するルーチン、ユーザアクセスを管理する
ルーチン、そしてサーバ内の長いプロセスをモニターす
るルーチンはボタンによって開始される。本発明によれ
ば、サーバに付けられるホストを定義する機能、エクス
ポートされたLUNを管理されたリソースにマップする機
能、管理されたストレージを構成する機能もボタン操作
で起動できる。
[User Interface] The user interface can be created by a data processing structure for displaying and using when configuring the storage server according to the present invention. The image includes a field for displaying a logo, a field for displaying basic information about the server chassis, and a window having an icon set. When these icons are selected, a management application can be started. Routines for managing hardware and software, managing user access, and monitoring long processes in the server are initiated by buttons. According to the present invention, a function of defining a host attached to a server, a function of mapping an exported LUN to a managed resource, and a function of configuring a managed storage can also be activated by a button operation.

【0141】このウィンドウには、ユーザ名入力用フィ
ールドとパスワード入力用フィールドを含むユーザログ
オンダイアログボックスも含まれている。
This window also includes a user logon dialog box including a user name input field and a password input field.

【0142】[ホットマネージャ]ユーザはボタン操作
でホストマネージャを起動する。ここでは、ストレージ
サーバ用のホスト(サーバ)を決定するための、Javaベー
スのユーザインターフェース(UI)について説明する。管
理ソフトウェアがウィンドウを開くと、ここには、構
成、使用する上で利用できる各ホストに関するいくつか
のコラムにホスト名、ポート番号、イニシエータIDおよ
び説明を、入力する表が表示される。これ以外のフィー
ルドには、別のコラムに記載したネットワークインター
フェースカード識別子および個別のホスト識別子が含ま
れる。好ましい例における個別のホスト識別子は、光フ
ァイバチャネルホストに関するワールドワイド番号であ
る。
[Hot Manager] The user activates the host manager by operating a button. Here, a Java-based user interface (UI) for determining a host (server) for a storage server will be described. When the management software opens a window, it displays a table where you enter the host name, port number, initiator ID and description in several columns for each host available for configuration and use. The other fields include the network interface card identifier and the individual host identifier described in another column. The individual host identifier in the preferred example is a worldwide number for a fiber channel host.

【0143】ホストマネージャはストレージサーバのJa
vaベース管理アプリケーションのサブコンポーネントで
あり、これによってユーザはNICポートとイニシエータI
Dに名称と内容説明を割り当て、LUNの定義プロセスを進
めることができる。一般的な機能はマウスのポップアッ
プ、ツールバーボタン、アクションメニューを通じて利
用し、例えば新規ホスト追加ボタン、ホスト変更ボタ
ン、ホスト削除ボタン等を使って、既存のホストにアク
セスしたり、新ホストを定義することができる。
The host manager is Ja of the storage server.
is a sub-component of the va-based management application that allows users to access the NIC port and initiator I
You can assign a name and description to D and proceed with the LUN definition process. Access common functions through mouse popups, toolbar buttons, and action menus, such as using the Add New Host, Change Host, and Delete Host buttons to access existing hosts or define new hosts. Can be.

【0144】ユーザインタフェースは、ホスト情報を表
示するためのメニューとテーブル、あるいはその他のグ
ラフィクスで構成される。ユーザがホストマネージャパ
ネルに入ると、テーブルには既存のホストすべてが記入
される。ユーザは、テーブル内の行を選択できる。各行
には、1つのホストに関する情報が含まれる。次にユー
ザはホストの変更または削除を選択し、変更を選択する
と、ダイアログボックスが現れ、ユーザはホスト名や内
容を変えることができる。変更後、OKまたはキャンセル
ボタンを押す。OKを押すと、その変更がテーブル内に表
示され、サーバに送られる。削除を選択すると、ダイア
ログボックスが現れ、削除されるホストを示すラベルと
OKおよびキャンセルボタンが表示される。OKを押すと、
そのホストの行がテーブルから削除され、サーバでもこ
の削除が行われる。追加を選択すると、ダイアログボッ
クスが現れ、ユーザはホストに関するすべての情報を追
加することができる。OKを押すと、その新ホストに関す
る新しい行がテーブルに追加され、サーバでもこの追加
が実行される。コラムラベルをクリックすれば、コラム
をソートできる。
The user interface includes a menu and a table for displaying host information, or other graphics. When the user enters the host manager panel, the table is filled with all existing hosts. The user can select a row in the table. Each row contains information about one host. Next, the user selects to change or delete the host, and when the change is selected, a dialog box appears, allowing the user to change the host name and content. After changing, press the OK or Cancel button. Press OK and the changes are displayed in the table and sent to the server. If you select Delete, a dialog box will appear with a label indicating the host to be deleted.
OK and Cancel buttons are displayed. Press OK,
The row for that host is deleted from the table, and the server does this too. Selecting Add will bring up a dialog box where the user can add all information about the host. When you press OK, a new row for the new host is added to the table, and the server performs this addition. Click a column label to sort the columns.

【0145】[ストレージのマッピング]ユーザはスト
レージ管理ルーチンを起動することができ、このルーチ
ンで表示される画像には、ストレージの要素を表示する
階層化ツリーによる表示構成を示すウィンドウが含まれ
る。
[Storage Mapping] The user can activate a storage management routine, and the image displayed by this routine includes a window showing a display configuration based on a hierarchical tree for displaying storage elements.

【0146】ストレージの要素はこのツリー構造を使っ
て定義される(例えば、ミラー→ストライプ→ディス
ク)。これにより、ユーザはストレージに関するそのユ
ーザの考え方に合った、体系化された方法でそのストレ
ージを構成することができる。ストレージ要素の代表的
な種類を以下に示す: ‐ミラー ‐ストライプ ‐外部LUN ‐内部ディスク ‐SSD ‐ストレージコレクション ‐ストレージパーティション これらの要素をツリー状に組み立てることにより(例え
ばMicrosoft Explorerのようなツリーディスプレイを使
用する)、ユーザは仮想回路で使用するストレージを前
もって構成することができる。各要素はパーティション
に分割でき、これらのパーティションを異なる方法で使
用することが可能である。例えば、ストライプセットを
パーティションに分割し、ひとつのパーティションをひ
とつのLUNとしてエクスポートし、別のパーティション
をミラー内の1つのメンバーとして使用できる(これを
さらに分割することも可能)。
The storage element is defined using this tree structure (for example, mirror → stripe → disk). This allows the user to configure the storage in a systematic way that matches the user's thinking about the storage. Typical types of storage elements are:-mirrors-stripes-external LUNs-internal disks-SSDs-storage collections-storage partitions By assembling these elements in a tree (e.g. a tree display like Microsoft Explorer) Use), the user can pre-configure the storage for use in the virtual circuit. Each element can be divided into partitions, and these partitions can be used in different ways. For example, you can split a stripeset into partitions, export one partition as one LUN, and use another partition as a member of a mirror (which can be further subdivided).

【0147】ストレージ要素をパーティションに分割し
た場合、これらストレージコレクションの中に保存さ
れ、このストレージコレクションはパーティションに分
けられた要素の子供となる。分割されていない要素につ
いては、このパーティションコレクションは存在しな
い。各パーティションは、それが分割しているストレー
ジの種類、つまりミラーパーティションか、ディスクパ
ーティションか等によって識別される。あるストレージ
要素のパーティションは、その要素のパーティションす
べてが利用できる(つまり、ストレージの全要素が不使
用の状態)場合を除き、ひとつのパーティションにまと
めることはできない。このために、ユーザはパーティシ
ョンに分割されたストレージ要素のうち、使用されてい
ないパーティションだけを有するものを選択し、「アン
パーティション」ボタンを押す。
When a storage element is divided into partitions, it is stored in these storage collections, and this storage collection becomes a child of the partitioned elements. For unsplit elements, this partition collection does not exist. Each partition is identified by the type of storage it divides, that is, a mirror partition or a disk partition. Partitions of a storage element cannot be combined into one partition unless all partitions of that element are available (ie, all storage elements are unused). To this end, the user selects one of the partitioned storage elements having only unused partitions, and presses the "unpartition" button.

【0148】専用スペアがあると、専用スペアもストレ
ージコレクションの中に保存され、このストレージコレ
クションはこれらのスペアが割り当てられた要素の子供
となる。
If there are dedicated spares, they are also stored in the storage collection, and this storage collection is a child of the element to which these spares are assigned.

【0149】したがって、ストレージ要素はそれぞれ
が、子供としてパーティションコレクション、スペアコ
レクションおよび親となる要素を構成する実際のストレ
ージ要素を持ちうる。
Thus, each storage element can have the actual storage elements that make up the partition collection, spare collection, and parent element as children.

【0150】ストレージマネージャはある意味で、サー
バ上の接続されたすべてのストレージをリストアップす
るストレージロールコールテーブルの内容を表わすもの
と言うことができる。利用可能な各ストレージ要素はス
トレージツリーの最上部として見られ、例えば、ミラー
は利用可能として表示されるが、ミラーの枝を構成する
ストライプとディスクはそのミラーに属するため、利用
できない。これらを別の場所で再び利用するには、その
ミラーから(したがって、そのミラーから下のストレー
ジツリーから)取り除く必要がある。一実施形態におい
て、これはWindows NTファイルエクスプローラプログラ
ムにおいてファイルをひとつのディレクトリから別のデ
ィレクトリに移動する場合と同様に、ドラッグ・アンド・
ドロップによって行う。すべてのストレージ(使用、不
使用)のツリーは、この例のディスプレイでは左半分に
表示され、ストレージの各要素はその種類を示すアイコ
ンを持っていたり、また名称やIDを特定する。
In a sense, the storage manager can be said to represent the contents of a storage role call table that lists all connected storages on the server. Each available storage element is seen at the top of the storage tree; for example, a mirror is shown as available, but the stripes and disks that make up the mirror branch are unavailable because they belong to that mirror. To reuse them elsewhere, you need to remove them from the mirror (and hence from the storage tree below the mirror). In one embodiment, this is similar to moving files from one directory to another in a Windows NT file explorer program, as well as dragging and
Perform by drop. The tree of all storage (used and unused) is displayed in the left half of the display in this example, and each element of the storage has an icon indicating its type, and specifies a name or ID.

【0151】ツリーの下、ウィンドウの右側あるいはそ
の他一般的な場所に、利用可能な(不使用の)ストレージ
が列挙される。これは、別のストレージ要素あるいは仮
想回路が使っていないすべてのストレージのリストであ
る。明白に使用されていないストレージの多くは一般ス
ペアプールの中に設置されると予想され、この利用可能
な(使用されていない)ストレージのリストは、ユーザが
新しいストレージツリーを構成する時の材料となる不使
用のストレージ要素を簡単に見つけることができるよう
にするための便宜上使用されると予想される。例えば、
ソリードステートストレージデバイス(SSD)のパーティ
ションはストライプセット(RAID 0)によってミラーリン
グされ、このパーティションとストライプセットはどち
らも、これらがミラーリングされるまで、利用可能なリ
ストの中に含められる。2つのメンバーからミラーが作
られると、このミラーは仮想回路に組み込まれるまで、
利用可能なリストの中に表示される。
Available (unused) storage is listed below the tree, on the right side of the window or in other general locations. This is a list of all storage that is not being used by another storage element or virtual circuit. It is expected that much of the storage that is not explicitly being used will be installed in the general spare pool, and this list of available (unused) storage will be the material and It is expected that it will be used as a convenience to make it easier to find unused storage elements. For example,
The partitions of the solid state storage device (SSD) are mirrored by a stripe set (RAID 0), and both this partition and the stripe set are included in the available list until they are mirrored. When a mirror is created from two members, the mirror is
Appears in the available list.

【0152】右側には、ユーザがこれをマウスでクリッ
クすることによって選択したツリーの要素に関する情報
とパラメータが表示される。利用可能なリストに表示さ
れたストレージ要素が選択されると、利用可能リストと
ストレージツリーの両方で選択される。
On the right side, information and parameters relating to the tree element selected by the user clicking the mouse with the mouse are displayed. When a storage element displayed in the available list is selected, it is selected in both the available list and the storage tree.

【0153】追加、削除機能が搭載されているため、エ
ントリを作ったり、削ったりすることができ、さらに変
更機能により、ユーザインターフェースで提供されるツ
ールを使い、ユーザはツリーの中のストレージ要素に関
する「所有者」、「最終修理日」、「内容説明」等のフィール
ドを変更することができる。ユーザが自分の追加しよう
としているもの(ミラー、ストライプ、ディスク等)を特
定すると、これに適当なコントロールセットが付与され
る。
[0153] Addition and deletion functions are provided so that entries can be created and deleted. In addition, a change function enables a user to use a tool provided in the user interface to edit a storage element in the tree. Fields such as "Owner", "Last Repair Date", and "Description" can be changed. When the user specifies what he is trying to add (mirror, stripe, disk, etc.), an appropriate control set is given to this.

【0154】内部ディスクと外部LUNについて、ユーザ
は名称、サイズ、あるいはメーカー等の項目を指定でき
る。ディスクは1個のハードウェアであり、自動的に検
出されるため、内部ディスクを指定することは特殊のケ
ースのように思われる。ユーザがディスクを追加するの
は、後に追加する何らかのハードウェアのために「プレ
ースホルダ」を入れておく場合に限られる。これはSSD基
板についても行われる。
For the internal disk and external LUN, the user can specify items such as name, size, and manufacturer. Specifying an internal disk seems like a special case because the disk is a piece of hardware and is automatically detected. Users add disks only if they have "placeholders" for some hardware to be added later. This is also done for SSD substrates.

【0155】RAIDアレイの場合はどうなるかというと、
ユーザは特定のRAIDレベルの(当初はミラーかストライ
プ)アレイを作りたいと指定し、そのアレイのメンバー
となるストレージ要素を指定することができる。これ
は、利用可能なストレージ要素のリストからエントリを
選択することによって行われ、アレイ容量はそのメンバ
ーの容量によって決定する。すると、アレイのメンバー
として使用されるストレージ要素には利用不可とのタグ
が付けられ(これらはアレイの一部であるため)、アレイ
そのものが利用可能なストレージのリストに追加され
る。各RAIDアレイには、メンバーのひとつが故障した場
合のためにそのアレイに割り当てられる専用スペアを設
けることもできる。
In the case of a RAID array, what happens?
Users can specify that they want to create an array of a specific RAID level (initially a mirror or stripe) and specify the storage elements that will be members of that array. This is done by selecting an entry from the list of available storage elements, where the array capacity is determined by the capacity of its members. The storage elements used as members of the array are then tagged as unavailable (since they are part of the array) and the array itself is added to the list of available storage. Each RAID array can also have a dedicated spare assigned to that array in case one of the members fails.

【0156】ストレージ要素のパーティショニングも可
能であり、これはパーティションに分割すべき要素を選
択し、ユーザがどのサイズのチャンクを希望するかを指
定することによって行われる。その要素が過去に分割さ
れていなければ、これによって2つのパーティションが
作られる。つまり、ユーザが希望したパーティションと
ストレージの残り(不使用)のパーティションである。不
使用部分からさらに別のパーティションも作られる。
[0156] Partitioning of storage elements is also possible, by selecting the elements to be partitioned and specifying what size chunk the user wants. This creates two partitions if the element has not been split in the past. That is, the partition desired by the user and the remaining (unused) partition of the storage. Additional partitions are created from unused parts.

【0157】各ストレージ要素に関する詳細な表示によ
り、利用できる最大限の情報が得られる。好ましいシス
テムにおいて表示される項目のひとつは、特定のストレ
ージ要素のパーティションがどのような種類のものか
(大きさと位置)である。
The detailed display for each storage element provides the maximum information available. One of the items displayed in the preferred system is what kind of partition for a particular storage element is
(Size and position).

【0158】[LUNのマッピング]ユーザインターフェ
ースの1つのボタンを操作することにより、LUNマップ
ルーチンが起動される。LUN(論理ユニット番号)マップ
は本質的にLUNとこれに関するデータのリストであり、
名称と説明のリストとして表示され、そのLUNに関連す
るVC(仮想回路)がこのディスプレイ上に示される。ユー
ザがLUNマップからエントリをひとつ選択し、その詳細
を求めると、これを見ることができる。LUNマップは、
既存のLUNリストを、名称、説明その他のフィールドで
表示する。これらのフィールドには以下のものがある: ‐名称 ‐内容説明 ‐エクスポートされた状態 ‐ホスト ‐ストレージ要素 LUNマップにより以下のことが可能となる: ‐各種フィールドに基くソーティング ‐フィールドに基くフィルタリング。これは、一度に複
数のLUNが動作する場合(例えば、イネーブル/ディスエ
ーブル)のみ必要。 ‐削除または編集/ビューのためにLUNを選択 ‐新しいLUNの定義と追加 ‐既存のLUNのインポート(ハードウェア立上げ時の「学
習モード」で行われる) ‐メンバーの追加とLUN上でのホットコピーミラープロ
セス開始 ‐LUNのエクスポートとアンエクスポート。これが基本
的にホストからのデータの流れを開始、停止する。 仮想回路は、ボタン操作で起動できるストレージツリー
あるいはホストに接続されるダイアログボックス等その
他のグラフィック構成として(ユーザに対して)定義され
る。ダイアログボックスは、LUNの名称を入力するフィ
ールド、内容説明を入力するフィールド、ターゲットID
を入力するフィールド、エクスポートされたLUNにンす
る情報を入力するフィールドを含む。ポップアップメニ
ューは、利用可能なホストのリストの場合はホストボタ
ン、利用可能なストレージ要素のリストの場合はストレ
ージボタンで開くことができる。キャッシュ選択ボタン
は、チェックボックスとして実装される。
[LUN mapping] By operating one button of the user interface, a LUN map routine is started. A LUN (logical unit number) map is essentially a list of LUNs and their associated data,
The VC (virtual circuit) associated with the LUN is shown on the display as a list of names and descriptions. When a user selects an entry from the LUN map and asks for its details, he can see it. The LUN map is
View a list of existing LUNs by name, description, and other fields. These fields include:-Name-Description-Exported state-Host-Storage element LUN map allows you to:-Sort based on various fields-Filter based on fields. This is only necessary if more than one LUN operates at a time (eg enable / disable). -Select LUNs for deletion or edit / view-define and add new LUNs-import existing LUNs (done in "learn mode" at hardware start-up)-add members and hot on LUNs Start copy mirror process-Export and unexport LUN. This basically starts and stops the flow of data from the host. A virtual circuit is defined (to the user) as a storage tree that can be activated by a button operation or other graphic configuration such as a dialog box connected to the host. The dialog box contains a field for entering the name of the LUN, a field for entering a description, and a target ID.
And a field for entering information for the exported LUN. The pop-up menu can be opened with a host button for a list of available hosts and a storage button for a list of available storage elements. The cache selection button is implemented as a check box.

【0159】ストレージツリーは実際にはストレージメ
ンバーのツリーである(例えば、いくつかのストライプ
セットからなるミラーで、ストライプセットはいくつか
のディスクからなる)。ホストは実際には特定のイニシ
エータIDを有し、NIC上の特定のポートに接続されるサ
ーバである。ユーザはこれを、所定のホストおよび適量
の利用可能なストレージを表わす所定のストレージツリ
ーを選択することによって定義できる。
A storage tree is actually a tree of storage members (eg, a mirror consisting of several stripe sets, a stripe set consisting of several disks). A host is actually a server that has a specific initiator ID and is connected to a specific port on a NIC. The user can define this by selecting a given host and a given storage tree representing the appropriate amount of available storage.

【0160】キャッシュの使用は、チェックボックスを
使った「オン」または「オフ」に限定される。ベタのシステ
ムでは、キャッシュのサイズやアルゴリズムの仕様に関
するツールを提供する。キャッシュの使用は仮想回路に
沿ったデータの流れを妨害することなく、実行中にオ
ン、オフできる。LUNが作られた時のデフォルトは「オ
ン」となる。
Use of the cache is limited to "on" or "off" using a check box. Solid systems provide tools for cache size and algorithm specifications. The use of a cache can be turned on and off during execution without interrupting the flow of data along the virtual circuit. The default when a LUN is created is "on".

【0161】LUNマップの一実施形態では、仮想回路を
作るのに必要な機能を有し、これはホスト用、ストレー
ジ用2つのコラムを有するマルチコラムテーブルからな
る。LUNを作るとこれが自動的にエクスポートされ、「追
加」、「変更」、「削除」等の機能が利用できる。
In one embodiment of the LUN map, it has the functions required to create a virtual circuit, which consists of a multi-column table with two columns for host and storage. When you create a LUN, it is automatically exported and functions such as "add", "change", and "delete" are available.

【0162】LUNマップディスプレイで、ホットコピー
ミラーが定義される。これは通常、既存のLUNについて
行われるからである。これは、LUNを選択してからミラ
ーの追加を通じて既存のストレージツリーに追加するス
トレージツリーを選択すること、あるいは既存のミラー
を拡張する(例えば2方向から3方向へ)のいずれかのプロ
セスとなる。
In the LUN map display, a hot copy mirror is defined. This is usually done for existing LUNs. This is either the process of selecting a LUN and then selecting a storage tree to add to the existing storage tree through the addition of a mirror, or extending an existing mirror (for example, from two directions to three directions). .

【0163】[データ移動のサポート]図18は、通信
リンク14では第一のストレージデバイス11に、また通信
リンク14では第二のストレージデバイス12に接続される
ストレージネットワークにおける3段階のデータ流れを
示す間略図である。中間デバイス10もまた、通信リンク
13を通じてクライアントプロセッサに接続され、これに
よって中間デバイス10は論理アドレスLUN Aのデータに
アクセスするためのリクエストを受け取る。
[Support for Data Movement] FIG. 18 shows a three-stage data flow in a storage network connected to the first storage device 11 on the communication link 14 and to the second storage device 12 on the communication link 14. It is a schematic diagram. The intermediate device 10 also has a communication link
Connected to the client processor through 13, the intermediate device 10 receives a request to access the data at the logical address LUN A.

【0164】ストレージサーバ10はバッファとして使用
される不揮発性キャッシュメモリ等のメモリ、リンク13
上で受け取ったデータアクセスリクエストをリンク14と
15でアクセスできるストレージデバイスに転送するため
のデータ転送リソースのほか、本発明によるホットコピ
ープロセスを管理するロジックエンジンを有する。この
プロセスは、図18に示す3つの段階を考えることによ
って理解できる。
The storage server 10 includes a memory such as a nonvolatile cache memory used as a buffer,
Link the data access request received above with link 14
It has a logic engine that manages the hot copy process according to the present invention, as well as a data transfer resource for transferring to a storage device accessible at 15. This process can be understood by considering the three stages shown in FIG.

【0165】ステージ1において、ストレージサーバ10
は転送されるデータセットを特定し、リンク13で受け取
ったすべてのデータアクセスリクエストをリンク14にマ
ップしてデバイス11に接続し、このデバイス11がリクエ
ストの対象となったデータセットを記憶する。ストレー
ジサーバはホットコピープロセスを開始し、ターゲット
デバイス、つまりこの例ではデバイス12を特定する制御
信号を受信する。このステップによってステージ2が始
まり、ステージ2でデータセットがバックグラウンドプ
ロセスとして第一のデバイス11からストレージサーバ10
を通じて第二のデバイス12に転送される。パラメータが
ストレージサーバ10上に保持され、このデータセットが
転送される様子と、クライアントプロセッサからのデー
タアクセスリクエストに対するバックグラウンドホット
コピープロセスの相対的プライオリティが示される。ホ
ットコピープロセスの間、同プロセスの進行状況および
リクエストの種類に応じて、データアクセスリクエスト
が第一のデバイス11と第二のデバイス12にマップされ
る。また、ストレージサーバには、ホットコピープロセ
スにプライオリティを与えるためのリソースが含まれ、
ホットコピープロセスのプライオリティが低いと、クラ
イアントプロセッサは、そのデータアクセスリクエスト
にすぐに対応することができる。ホットコピープロセス
のプライオリティが比較的高いと、クライアントプロセ
ッサはそのデータアクセスリクエストへの対応がある程
度遅れるが、ホットコピープロセスはより早く完了す
る。
In stage 1, the storage server 10
Identifies the data set to be transferred, maps all data access requests received on link 13 to link 14 and connects to device 11, which stores the requested data set. The storage server initiates the hot copy process and receives a control signal identifying the target device, in this example device 12. This step starts stage 2 in which the dataset is transferred from the first device 11 to the storage server 10 as a background process.
To the second device 12 The parameters are stored on the storage server 10 and indicate how this data set is transferred and the relative priority of the background hot copy process for data access requests from client processors. During the hot copy process, data access requests are mapped to the first device 11 and the second device 12, depending on the progress of the process and the type of request. The storage server also includes resources to give priority to the hot copy process,
When the priority of the hot copy process is low, the client processor can immediately respond to the data access request. If the priority of the hot copy process is relatively high, the client processor will be delayed in responding to its data access request, but the hot copy process will be completed sooner.

【0166】データセットの転送が完了すると、ステー
ジ3が始まる。ステージ3では、データセットにアドレス
されるクライアントプロセッサからのデータアクセスリ
クエストが、通信リンク15を通じて第二のデバイス12に
ルーティングされる。ストレージデバイス11はネットワ
ークから一緒に排除されるか、別の目的で使うことがで
きる。
When the transfer of the data set is completed, the stage 3 starts. In stage 3, a data access request from the client processor addressed to the data set is routed over the communication link 15 to the second device 12. The storage device 11 can be removed from the network together or used for another purpose.

【0167】ストレージサーバ10は、好ましい実施形態
において、先に説明したストレージドメインマネージャ
で構成される。
The storage server 10 comprises, in a preferred embodiment, the storage domain manager described above.

【0168】ストレージデバイス11と12は、独立したデ
バイスあるいはひとつのストレージユニットにおける論
理パーティションからなる。この場合、ホットコピープ
ロセスにより、ストレージユニット内のひとつのアドレ
スから別のアドレスへとデータが移動する。
Each of the storage devices 11 and 12 is an independent device or a logical partition in one storage unit. In this case, data moves from one address in the storage unit to another address by the hot copy process.

【0169】図19、20、21、22は、上述のイン
テリジェントなネットワークサーバにおいて実行される
ホットコピープロセスのソフトウェアをいくつか示した
ものである。ホットコピープロセスに使用する別のスト
レージサーバでは、特定のシステムに合わせて構成を超
えることができます。仮想回路、持続型テーブルストレ
ージ、ユーザインターフェースの構造に関して、以下の
図を見ながら詳細に説明する。
FIGS. 19, 20, 21 and 22 show some software of the hot copy process executed in the intelligent network server described above. Another storage server used for the hot copy process can exceed the configuration for a particular system. The structure of the virtual circuit, the persistent table storage, and the user interface will be described in detail with reference to the following figures.

【0170】図19はホットコピープロセスで使用され
る基本的データ構成を示す。第一の構造350は「ユーティ
リティ・リクエスト構造体」、第二の構造351は「ユーティ
リティ構造体」、第三の構造352は「メンバー構造体」と呼
ぶ。メンバー構造体352は特定の仮想回路とそのステー
タスを特定するためのもので、仮想回路の識別子(VDI
D)、現在仮想回路が取扱っているデータブロックのブロ
ック番号を有する論理ブロックアドレス(LBA)、仮想回
路に関するキューにあるリクエスト数、ステータスパラ
メータ等のパラメータが含まれる。
FIG. 19 shows the basic data structure used in the hot copy process. The first structure 350 is called a "utility request structure", the second structure 351 is called a "utility structure", and the third structure 352 is called a "member structure". The member structure 352 is used to specify a specific virtual circuit and its status.
D), a logical block address (LBA) having the block number of the data block currently handled by the virtual circuit, the number of requests in the queue related to the virtual circuit, and parameters such as status parameters.

【0171】ユーティリティ構造体351は、現在実行中
のユーティリティ、つまりこの場合であればホットコピ
ーユーティリティに関するパラメータを有し、ソースデ
ータセット識別子である「ソースID」、ホットコピープロ
セス用の1個または複数のデスティネーションストレー
ジデバイスの識別子である「デスティネーションID」、そ
のユーティリティに関して実行されるリクエストのキュ
ー、現在扱われているブロックとそのサイズを示すパラ
メータ等のパラメータを記憶する。
The utility structure 351 has parameters related to the currently executing utility, that is, the hot copy utility in this case, the “source ID” that is the source data set identifier, and one or more for the hot copy process. Of the destination storage device, a queue of requests to be executed with respect to the utility, and parameters such as a parameter indicating the currently handled block and its size.

【0172】ユーティリティリクエスト構造体350は、
ホットコピープロセスに関するリクエストを、これに関
する各種のパラメータとともに伝える。このパラメータ
には、例えばリクエストの状態を示すパラメータである
「ステータス」、そのリクエストをサポートする各種のフ
ラグ、対応するユーティリティ構造体へのポインタ、ク
ライアントプロセッサからの入力/出力リクエストと比
較したそのリクエストのプライオリティを示すパラメー
タ、ソース内のデータセットを特定するソースマスク、
ホットコピープロセスがデータセットをコピーするデス
ティネーションデバイスの位置を特定するデスティネー
ションマスク等である。一実施形態において、ひとつの
ホットコピーリクエストに関する複数のデスティネーシ
ョンマスクがある。図19に示すように、ユーティリテ
ィリクエスト構造体の中には論理ブロックアドレス(LB
A)が保存され、これは現在扱われているデータセット内
のデータブロックについて、メンバー構造体の中にも保
存される。
The utility request structure 350 is
The request for the hot copy process is conveyed along with various parameters for this. These parameters include, for example, the "status" parameter that indicates the status of the request, various flags that support the request, a pointer to the corresponding utility structure, and the status of the request compared to input / output requests from the client processor. A parameter indicating the priority, a source mask identifying the dataset in the source,
For example, a destination mask that specifies the position of the destination device where the hot copy process copies the data set. In one embodiment, there are multiple destination masks for one hot copy request. As shown in FIG. 19, the utility request structure includes a logical block address (LB
A) is saved, which is also saved in the member structure for the data block in the dataset currently being handled.

【0173】ホットコピープロセスを開始するために
は、ユーザの入力を受け入れ、これがユーティリティリ
クエスト構造体を作る。ストレージサーバ内の持続型テ
ーブルストレージはこの構造体で更新され、ソースおよ
びデスティネーションデバイスのステータスとそのデー
タに関連する仮想回路がチェックされ、ドライバがホッ
トコピープロセスを開始し、ステータスパラメータが各
種データ構造の中にセットされる。ホットコピープロセ
スの進行状況は、故障時のために持続型テーブルストレ
ージの中に保存される。故障が発生した場合、ホットコ
ピープロセスは、サーバ内の他のリソースおよび持続型
テーブルストレージ内に保存されていたステータス情報
とデータ構造を使って再開することができる。RAIDモニ
ター等、システム内の他のドライバにはホットコピープ
ロセスが伝えられる。リクエストは、メンバー構造体に
入る順番を待つ。
To begin the hot copy process, it accepts user input, which creates a utility request structure. The persistent table storage in the storage server is updated with this structure, the status of the source and destination devices and the virtual circuits associated with that data are checked, the driver initiates the hot copy process, and the status parameters are stored in various data structures. Is set in The progress of the hot copy process is saved in persistent table storage in case of failure. If a failure occurs, the hot copy process can be restarted using other resources in the server and status information and data structures stored in persistent table storage. Other drivers in the system, such as the RAID monitor, are notified of the hot copy process. The request waits for its turn into the member structure.

【0174】セットアップが完了すると、ホットコピー
プロセスをサポートする入力、出力プロセスが開始され
る。このホットコピープロセスをサポートする入力、出
力プロセスの相対的プライオリティにより、クライアン
トプロセッサが同じデータセットに関する入力、出力リ
クエストを実行している状態で、ホットコピープロセス
の進行速度を決定する。好ましいシステムにおいては、
クライアントプロセッサからの入力、出力リクエストが
最初に実行される。ホットコピープロセスをサポートす
るブロック転送が実行されている場合、クライアントプ
ロセッサからの入力または出力リクエストを受け取る
と、ブロック転送は原子動作として完了し、クライアン
トプロセッサのリクエストが満たされる。別のシステム
では、プロセスのプライオリティは異なる技術でも管理
できる。
When the setup is completed, an input / output process for supporting the hot copy process is started. The relative priority of the input and output processes that support the hot copy process determines the rate at which the hot copy process proceeds while the client processor is executing input and output requests for the same data set. In a preferred system,
Input and output requests from the client processor are executed first. If a block transfer that supports the hot copy process is being performed, upon receiving an input or output request from the client processor, the block transfer is completed as an atomic operation and the client processor's request is satisfied. In other systems, process priorities can be managed by different technologies.

【0175】ホットコピーを実行する基本的プロセスを
図20に示す。このプロセスは、メンバー構造体のキュ
ーの最上位に到達したホットコピーリクエストから始ま
る(ステップ360)。次にストレージサーバ内のバッファ
が割り当てられ、ブロック転送をサポートする(ステッ
プ361)。データセット内の第一ブロックのコピーをバッ
ファに移動するメッセージが発行される(ステップ36
2)。現在のブロックは、ホットコピープロセスについて
設定されたプライオリティに従ってバッファに移動され
る(ステップ363)。ブロックの移動は、ストレージサー
バ内で複数のプロセスによるアクセスを制御するための
適当なメモリロックトランザクションを使って行われ
る。次に、ブロックのコピーをバッファから一つ以上の
デスティネーションに移動するメッセージが発行される
(ステップ364)。このブロックは、ホットコピープロセ
スに関するプライオリティに従って、一つ以上のデステ
ィネーションに移動される(ステップ365)。ブロックが
移動すると、持続型テーブルストアとプロセスをサポー
トするローカルデータ構造は、ホットコピーの進行状況
を示すステータス情報で更新される(ステップ366)。プ
ロセスは、データセットの最終ブロックがコピーされた
か否かを判断する(ステップ367)。コピーが終了してい
なければ、次のブロックのコピーをバッファに移すメッ
セージが発行される(ステップ368)。プロセスはステッ
プ363にループし、データセットのブロックを引き続き
デスティネーションに移動する。ステップ367におい
て、データセットの最終ブロックがデスティネーション
にうまく移動したと判断された場合、プロセスが終了す
る(ステップ369)。
FIG. 20 shows a basic process for executing a hot copy. The process begins with a hot copy request that has reached the top of the member structure queue (step 360). Next, a buffer in the storage server is allocated to support block transfer (step 361). A message is issued to move a copy of the first block in the dataset to the buffer (step 36).
2). The current block is moved to a buffer according to the priority set for the hot copy process (step 363). Block movement is performed using an appropriate memory lock transaction to control access by multiple processes within the storage server. Next, a message is issued that moves a copy of the block from the buffer to one or more destinations.
(Step 364). This block is moved to one or more destinations according to the priority for the hot copy process (step 365). As the block moves, the local data structures supporting the persistent table store and process are updated with status information indicating the progress of the hot copy (step 366). The process determines whether the last block of the dataset has been copied (step 367). If the copy has not been completed, a message is issued to move the copy of the next block to the buffer (step 368). The process loops to step 363 and continues moving blocks of the dataset to the destination. If it is determined in step 367 that the last block of the dataset has successfully moved to the destination, the process ends (step 369).

【0176】本発明の一実施形態によれば、デスティネ
ーションが複数にわたるホットコピープロセスの場合、
使用されているデスティネーション群の一つ以上のメン
バーがプロセス中に故障することがありうる。この場
合、プロセスは動作を続ける一つ以上のデスティネーシ
ョンで継続することができ、続けられるプロセスをサポ
ートして該当するテーブルの更新が行われる。
According to one embodiment of the present invention, for a hot copy process with multiple destinations,
It is possible that one or more members of the destination group being used may fail during the process. In this case, the process can continue at one or more destinations that continue to operate, and the corresponding table is updated in support of the continued process.

【0177】このように、ホットコピー機能は、データ
セットをまだダウン状態となっていないひとつのメンバ
ーから交換トライブへとコピーするのに使用される。デ
ータセットには、ストレージデバイスの内容全体あるい
はストレージデバイスの内容の一部が含まれる。ホット
コピー機能は、適正にステータスおよびパラメータを管
理しながら、どのレベルのRAIDアレイでも使用できる。
Thus, the hot copy function is used to copy a data set from one member that is not yet down to the replacement drive. The data set includes the entire contents of the storage device or a part of the contents of the storage device. The hot copy function can be used with any level of RAID array, while properly managing status and parameters.

【0178】ホットコピーのパラメータには、プロセス
のプライオリティ、ソースメンバーデバイス、デスティ
ネーション識別子が含まれる。ホットコピーリクエスト
には、ソースメンバー識別子、デスティネーションメン
バー識別子、コピーブロックのサイズ、コピーの頻度ま
たはプライオリティが含まれる。ホットコピーは、プラ
イオリティに従って、一度にひとつのブロックサイズず
つ行われる。現在のブロック位置は、上述のようにデー
タ構造内のアレイコンフィギュレーションデータの中に
保存される。ホットコピープロセスは通常の入力および
出力プロセスと同時に実行される。ホットコピーされる
ドライブへの書き込みは両方のドライブに行われるた
め、ホットコピーが中断または失敗しても、当初のソー
スメンバーは有効なままである。ホットコピーが完了す
ると、当初のソースメンバーはアレイから外され、シス
テムマネジャプログラムによって使用不可と指定され
る。同様に、一実施形態において、データセットをサポ
ートする仮想デバイスは、新しいデスティネーションを
目指すよう更新される。
The parameters of the hot copy include the priority of the process, the source member device, and the destination identifier. The hot copy request includes a source member identifier, a destination member identifier, a copy block size, a copy frequency or a priority. Hot copy is performed one block size at a time, according to priority. The current block position is stored in the array configuration data in the data structure as described above. The hot copy process is performed simultaneously with the normal input and output processes. Because writes to the hot-copied drive are made to both drives, the original source member remains valid if the hot-copy is interrupted or fails. Upon completion of the hot copy, the original source member is removed from the array and designated as unavailable by the system manager program. Similarly, in one embodiment, the virtual devices that support the dataset are updated to target a new destination.

【0179】図21及び22は、ホットコピープロセス
実行中にクライアントプロセッサが発行するデータアク
セスリクエストを管理するために、ストレージサーバ内
で行われるプロセスを示す。データアクセスリクエスト
は、読み出しリクエスト、書き込みリクエスト等のうち
1種類であっても、同じもののバリエーションであって
もよい。その他のリクエストとしては、データチャネル
等の管理をサポートするリクエストがある。図21は、
書き込みリクエストを扱うひとつのプロセスを示す。
FIGS. 21 and 22 show a process performed in the storage server to manage a data access request issued by the client processor during the execution of the hot copy process. Data access requests are read requests, write requests, etc.
One type or a variation of the same type may be used. Other requests include requests to support management of data channels and the like. FIG.
Shows one process that handles write requests.

【0180】書き込みリクエストがキューの最上位に到
達すると、プロセスが始まる(ステップ380)。プロセス
は、この書き込みリクエストが現在のホットコピープロ
セスの対象となるデータセット内の位置を特定している
かどうかを判断する(ステップ381)。これがホットコピ
ーされているデータセットの中にある場合、プロセスは
書き込みリクエストが指示されるブロックがすでにその
デスティネーションにコピーされているかどうかを判断
する(ステップ382)。もしコピーされていれば、そのデ
ータセットが最初に保持されていたストレージデバイス
と、一つ以上のデスティネーションストレージデバイス
の両方に書き込みを行うメッセージが発行される(ステ
ップ383)。次に、入力と出力リクエストのプライオリテ
ィに従ってデータが移動され(ステップ384)、プロセス
が完了する(ステップ385)。
When the write request reaches the top of the queue, the process starts (step 380). The process determines whether the write request specifies a location in the dataset that is the subject of the current hot copy process (step 381). If it is in the dataset that is being hot copied, the process determines whether the block indicated by the write request has already been copied to that destination (step 382). If so, a message is issued that writes to both the storage device that originally held the dataset and one or more destination storage devices (step 383). Next, the data is moved according to the priority of the input and output requests (step 384), and the process is completed (step 385).

【0181】ステップ381において、リクエストがデー
タセットの中にないと、データセットのソースへの書き
込みを実行するメッセージが発行され(ステップ386)、
この時点でプロセスの流れはステップ384に移る。同様
に、ステップ382において書き込み先となる位置がすで
にコピーされていることがわかった場合、ソースデバイ
スに書き込みを行うメッセージが発行される(ステップ3
86)。
At step 381, if the request is not in the dataset, a message is issued to execute writing of the dataset to the source (step 386),
At this point, the process flow moves to step 384. Similarly, if it is found in step 382 that the location to be written to has already been copied, a message to write to the source device is issued (step 3).
86).

【0182】図22は、ホットコピー中に発生する読み
出しリクエストの取扱いを示す。このプロセスは、読み
出しリクエストが仮想デバイスに関するキューの最上位
に達した時に始まる(ステップ390)。まず、読み出しが
ホットコピーの対象となるデータセット内であるかどう
かが判断され(ステップ391)、読み出しがデータセット
内であれば、すでに一つ以上のデスティネーションにコ
ピーされたブロック内であるかどうかが判断される(ス
テップ392)。読み出しが、デスティネーションにすでに
コピーされたブロック内である場合、データを新しい位
置から読み出すメッセージが発行される(ステップ39
3)。別のシステムでは、システム内のデータトラフィッ
クの管理に影響する信頼性、スピードその他の要因に応
じて、ソースデバイス、あるいはソースおよびデスティ
ネーションデバイスの両方から読み出しが行われる。ス
テップ393以降、データはクライアントプロセッサのデ
ータアクセスリクエストに関するプライオリティに従っ
てリクエスタに返される(ステップ394)。ここで、プロ
セスは終了する(ステップ395)。
FIG. 22 shows the handling of a read request generated during hot copy. The process begins when a read request reaches the top of the queue for a virtual device (step 390). First, it is determined whether the read is within the data set to be hot-copied (step 391), and if the read is within the data set, whether the read is within a block already copied to one or more destinations It is determined whether or not it is (step 392). If the read is in a block already copied to the destination, a message is issued to read the data from the new location (step 39).
3). In other systems, reads are made from the source device, or both the source and destination devices, depending on reliability, speed, and other factors that affect the management of data traffic in the system. After step 393, the data is returned to the requestor according to the priority of the data access request of the client processor (step 394). Here, the process ends (step 395).

【0183】ステップ391において、読み出しリクエス
トがホットコピーの対象となるデータセット内にはない
と判断された場合、ソースデバイスを読み出すメッセー
ジが発行される(ステップ396)。同様に、ステップ392に
おいて、読み出しリクエストがまだデスティネーション
にコピーされていないブロックにアドレスされていると
判断された場合、ソースデバイスからデータを読み出す
メッセージが発行される(ステップ396)。ステップ396以
降、プロセスはステップ394に戻る。
If it is determined in step 391 that the read request is not in the data set to be hot-copied, a message for reading the source device is issued (step 396). Similarly, if it is determined in step 392 that the read request is addressed to a block that has not yet been copied to the destination, a message to read data from the source device is issued (step 396). After step 396, the process returns to step 394.

【0184】ブロックがストレージサーババッファを通
じて移動されている間に、特定のブロック内でデータの
読み出しまたは書き込みリクエストが発生した場合、こ
のリクエストの扱いを管理するにはデータロックアルゴ
リズムが使用される。例えば、読み出しまたは書き込み
リクエストを受け取っている間にホットコピープロセス
をサポートして論理ブロックがロックされると、クライ
アントプロセッサは、データがロックされているため
に、この読み出しまたは書き込みリクエストが拒絶され
たという通知を受け取る。クライアントプロセッサに高
いプライオリティを与える別のシステムにおいて、読み
出しまたは書き込みリクエストは続けられ、その一方で
ホットコピーをサポートするバッファの中に保持されて
いたブロックは削除され、ホットコピーのステータスが
リセットされて、そのブロックが移動されていないこと
が示される。個々の利用に関する必要に応じて、各種の
データロックアルゴリズムを利用できる。
If a data read or write request occurs within a particular block while the block is being moved through the storage server buffer, a data lock algorithm is used to manage the handling of this request. For example, if a logical block is locked in support of a hot copy process while a read or write request is being received, the client processor may reject the read or write request because the data is locked. Receive notifications. In another system that gives the client processor a higher priority, read or write requests are continued, while blocks held in buffers that support hot copy are deleted, and the status of the hot copy is reset, It indicates that the block has not been moved. Various data lock algorithms can be used as needed for individual uses.

【0185】[ターゲットエミュレーション]図1乃至
3に示す構成において、ストレージサーバはデータのユ
ーザとデータを保存するストレージドメインにおけるス
トレージデバイスとの間の中間デバイスとして動作す
る。この環境では、レガシーストレージデバイス、つま
りサーバを中間デバイスとして挿入する前にあったデバ
イスをサポートするために、サーバにはレガシーストレ
ージデバイスをエミュレートするリソースが供給され
る。このように、サーバがレガシーデバイスとデータの
ユーザとの間に挿入されると、サーバは、ユーザとレガ
シーデバイスの間で使用されているストレージチャネル
プロトコルに従ってレガシーデバイスの論理アドレスを
仮想的に決定する。次にストレージサーバは、受け取っ
たレガシーデバイスにアドレスされたすべてのリクエス
トをそのプロトコルに従って処理する。さらに、必要な
構成情報をレガシーデバイスから再生し、ローカルメモ
リにこの情報を保存して、レガシーデバイスにおいてユ
ーザが予想するステータスおよび構成情報が、サーバ内
のローカルリソースを使って供給されるようにする。こ
れにより、サーバとレガシーシステムの間の通信を省く
ことができ、サーバはストレージチャネルプロトコルに
従ってレガシーデバイスの動作をスプーフし、ストレー
ジネットワークにサーバを追加する際、ユーザの再構成
が不要となる、あるいは大幅に簡略化される。
[Target Emulation] In the configuration shown in FIGS. 1 to 3, the storage server operates as an intermediate device between a data user and a storage device in a storage domain for storing data. In this environment, the server is provided with resources that emulate a legacy storage device to support legacy storage devices, ie, devices that existed before the server was inserted as an intermediate device. Thus, when the server is inserted between the legacy device and the user of the data, the server virtually determines the logical address of the legacy device according to the storage channel protocol used between the user and the legacy device. . Next, the storage server processes all requests addressed to the received legacy device according to the protocol. In addition, the required configuration information is played back from the legacy device and stored in local memory so that the status and configuration information expected by the user at the legacy device is provided using local resources in the server. . This can eliminate the communication between the server and the legacy system, and the server can spoof the operation of the legacy device according to the storage channel protocol, and does not require user reconfiguration when adding the server to the storage network, or It is greatly simplified.

【0186】[まとめ]ストレージエリアネットワーキ
ング(SAN)は、新しいストレージ中心コンピューティン
グアーキテクチャである。主に光ファイバチャネルベー
スのストレージサブシステムとネットワークコンポーネ
ントが利用可能となったことにより、SANは高速データ
アクセスとデータ移動、よりフレキシブルな物理的構
成、ストレージ容量の利用改善、中央集中化されたスト
レージ管理、オンラインストレージリソースの利用と再
構成、ヘテロジニアスな環境を約束する。
[Summary] Storage Area Networking (SAN) is a new storage-centric computing architecture. With the availability of fiber channel-based storage subsystems and network components primarily, SANs have become faster data access and data movement, more flexible physical configurations, improved storage capacity utilization, and centralized storage. Management, use and reconfiguration of online storage resources, promise a heterogeneous environment.

【0187】旧来の「ダイレクトアタッチストレージ」モ
デルにおいて、ストレージリソースはひとつのサーバだ
けに通じる高速直接物理パスを有し、他のサーバはすべ
て、LANを通じて間接的にのみ、そのストレージリソー
スに極めて低速でアクセスしていた。ストレージエリア
ネットワークは、「ネットワークされた」トポロジーにお
いて個々のサーバから個々のストレージリソースに直接
高速アクセスパスを提供することにより(光ファイバチ
ャネルを使用)、これを変えている。ネットワークアー
キテクチャの導入もまた、ストレージ構成のフレキシビ
リティを大幅に向上させ、特定のサーバからストレージ
リソースを分離し、サーバサイドのリソースにほとんど
影響を与えずにこれらを管理、構成することを可能にし
ている。
In the traditional “direct attach storage” model, storage resources have a high-speed direct physical path to only one server, and all other servers access the storage resource at very low speeds only indirectly through the LAN. Had access. Storage area networks change this by providing high-speed access paths (using fiber optic channels) directly from individual servers to individual storage resources in a "networked" topology. The introduction of a network architecture also greatly enhances the flexibility of storage configurations, separating storage resources from specific servers and allowing them to be managed and configured with little impact on server-side resources. I have.

【0188】SANは今日の環境におけるフレキシビリテ
ィとデータアクセスのニーズに応えるための正しいトポ
ロジーを提供する一方で、SANのトポロジーそのものは
十分にビジネス上の問題に対処しているとはいえない。
単にスイッチ、ハブ、ルータ等のSANファブリックコン
ポーネントを通じてサーバとストレージリソース間を物
理的に接続するだけでは、SANの可能性を十分に実現す
ることはできないが、SANファブリックが、必要とされ
るセキュリティが保たれた中央集中的なストレージ管理
機能を実現するためのハードウェアインフラストラクチ
ャを提供していることは確かである。これら2つの開発
を組み合わせて利用することで、新しい環境におけるビ
ジネス上の目標を達成するために不可欠なフレキシビリ
ティが得られ、重要データにいつでもどこでもアクセス
可能となる。
While SANs offer the right topology to meet the flexibility and data access needs of today's environment, SAN topologies themselves are not sufficiently addressing business problems.
Simply connecting servers and storage resources physically through SAN fabric components, such as switches, hubs, and routers, does not fully realize the potential of SANs, but SAN fabrics provide the required security. Certainly, it provides the hardware infrastructure to provide a centralized storage management function. The combined use of these two developments provides the flexibility required to achieve business goals in a new environment, and provides access to important data anytime, anywhere.

【0189】SANハードウェアのインフラストラクチャ
の上に必要となる管理機能はストレージドメイン管理で
ある。最適なストレージのフレキシビリティと高性能の
アクセスを実現するために、ストレージドメイン管理は
サーバやストレージデバイスではなく、SANそのものの
中に設置するのが最も効率的である。サーバベースおよ
びストレージベースのリソースを用いるアプローチは、
サーバサイドでもストレージサイドでも異機種混合状態
を十分にサポートできないため、最適とはいえない。
The management function required on the infrastructure of the SAN hardware is storage domain management. For optimal storage flexibility and high-performance access, storage domain management is most efficiently located in the SAN itself, rather than in a server or storage device. Approaches using server-based and storage-based resources are:
It is not optimal because neither the server side nor the storage side can fully support heterogeneous states.

【0190】ストレージドメイン管理は、既存のSANハ
ードウェアインフラストラクチャ上に設置される中央集
中化され、セキュリティの保たれた管理機能であり、ヘ
テロジニアスな環境への高性能、高アベイラビリティの
高度なストレージ管理能力を提供する。ストレージドメ
イン管理の目的は、従来の機器と新しい機器とを統合
し、サーバおよびストレージリソースをSANとストレー
ジ管理タスクから解放し、すべてのSANコンポーネント
を通じて利用できるSANベースのアプリケーションをホ
ストすることのできる堅牢なSANファブリックの中核を
構成することである。SANはストレージドメイン管理を
使用せずに構築できるが、最適化されたSAN環境を構
築、管理するには、この極めて重要な間能力が必要とな
る。
Storage domain management is a centralized, secure management function that is installed on the existing SAN hardware infrastructure, and provides high-performance, high-availability advanced storage for heterogeneous environments. Provide management capabilities. The purpose of storage domain management is to integrate traditional and new equipment, free server and storage resources from SAN and storage management tasks, and to host SAN-based applications available through all SAN components. It is to constitute the core of a simple SAN fabric. Although SANs can be built without storage domain management, building and managing an optimized SAN environment requires this crucial capability.

【0191】ストレージドメイン管理の基本要素には以
下のものがある: ‐異機種間の相互運用性 ‐セキュリティの保たれた中央集中管理 ‐スケーラビリティとすぐれた性能 ‐企業クラスの信頼性、可用性、保守性 ‐特定用途に作成されたインテリジェントなプラットフ
ォーム ストレージドメイン管理の分野により、顧客はSANの全
能力を活用してビジネス上の問題に対処することが可能
となる。
The basic elements of storage domain management include:-Heterogeneous interoperability-Centralized management with security-Scalability and excellent performance-Enterprise-class reliability, availability and maintenance Gender-An intelligent, purpose built platform The field of storage domain management allows customers to leverage the full power of SAN to address business issues.

【0192】サーバとストレージの連結や今日の新たな
事業状況で一般的となった合併買収により、ヘテロジニ
アスな環境に対応できることは企業環境において死活問
題である。単独メーカーの製品ラインのためにSAN機能
を提供するような製品セットでは、顧客はSANの全能力
を実現できず、新たなサーバやストレージ製品を追加し
てこれを利用してもなお、旧来の機器への投資を保持す
る必要があるため、ストレージドメインマネジャは最低
でも光ファイバチャネルとSCSIアタッチメントをサポー
トでなければならない。ストレージドメインマネジャは
そのうちに導入される新たな技術に適用できるよう進化
していく必要があるため、プラットフォームは確実に成
長し、より広範なマルチプロトコルの接続性が実現す
る。SANは中央集中的に管理することのできる大型の仮
想化されたストレージプールを作るため、特にバックア
ップ/再生、災害復旧において、従来の「ダイレクトアタ
ッチ」ストレージアーキテクチャと比較して、ストレー
ジ管理作業が縮小される。SANはすべてのサーバからす
べてのストレージへの物理的アクセスパスを効果的に提
供するものの、ストレージがすべて論理的にすべてのサ
ーバにアクセスできるとは限らないため、セキュリティ
の問題には確実な方法で対処しなければならない。SAN
ファブリックメーカーはこれを、「ゾーン」を論理的に定
義することによって行っており、各サーバがそのゾーン
内にあると定義されたデータにしかアクセスできないよ
うになっている。明らかに、安全なゾーンあるいはスト
レージ「ドメイン」を定義する能力はストレージドメイン
マネジャのひとつの要素である。ポートレベルではなく
LUNレベルでゾーン内に含まれるものを定義する等、ド
メインをより細かく定義することにより、今後ストレー
ジアセットの利用をさらに柔軟に改善することができ
る。
It is a matter of life and death in a corporate environment to be able to cope with a heterogeneous environment by linking servers and storage and by mergers and acquisitions that have become common in today's new business situations. In a product set that provides SAN functionality for a single manufacturer's product line, customers cannot achieve the full capacity of the SAN, and even if they add new server and storage products and take advantage of them, Storage domain managers must support at least Fiber Channel and SCSI attachments because they need to keep their investment in equipment. As storage domain managers need to evolve to adapt to new technologies that will be introduced over time, the platform will steadily grow, providing broader multi-protocol connectivity. SANs create large virtualized storage pools that can be managed centrally, reducing storage management tasks compared to traditional "direct attach" storage architectures, especially for backup / replay and disaster recovery Is done. Although SANs effectively provide a physical access path from all servers to all storage, security is not a secure method because not all storage is logically accessible to all servers. I have to deal with it. SAN
Fabric manufacturers do this by logically defining "zones" so that each server can only access data that is defined to be within that zone. Obviously, the ability to define a secure zone or storage "domain" is one element of the storage domain manager. Not at the port level
By defining domains in more detail, such as defining what is included in a zone at the LUN level, the use of storage assets can be more flexibly improved in the future.

【0193】ストレージドメインマネジャは、メーカー
を問わず、接続されたすべてのサーバとストレージを通
じてひとつの管理インターフェースから利用できる、総
合的な中央集中化されたストレージ管理機能を提供す
る。中央から、システムアドミニストレータはヘテロジ
ニアスなストレージリソース間のデータの移動またはミ
ラーリングを管理し、長期にわたり、さまざまなヘテロ
ジニアスなストレージリソースに対してこれらの機能を
動的に利用することができる。その結果、大幅なコスト
削減と管理の簡素化が実現する。拡張可能なインテリジ
ェントなプラットフォームとして、ストレージドメイン
マネジャは完全な中心位置に設置され、接続されたサー
バとストレージリソースすべてにわたって利用できるス
トレージ管理機能をホストする。
The storage domain manager provides a comprehensive, centralized storage management function available from one management interface through all connected servers and storage, regardless of manufacturer. From a central location, a system administrator manages the movement or mirroring of data between heterogeneous storage resources and can dynamically utilize these functions over time for various heterogeneous storage resources. The result is significant cost savings and simplified management. As an intelligent, scalable platform, the storage domain manager is located in a completely central location and hosts storage management functions that are available across all connected servers and storage resources.

【0194】新たな事業状況によって拍車がかかるスト
レージの拡張率からみると、あるSAN環境について、ス
トレージ容量はそのライフタイムの中で簡単に100倍に
も膨れ上がる。SANの中央知能として位置付けられるス
トレージドメインマネジャも、負荷に対応して性能が劣
ることがないよう、急激な成長に適応できなければなら
ない。広い動作範囲について、スムーズでコスト効率の
よいスケーラビリティを実現するために、構成の拡張と
ともに知能も付け加えて行くべきである。インテリジェ
ントなプラットフォームにおける大量のデータをキャッ
シュメモリに保存する能力により、SAN構成は最適化さ
れ、特定用途型の環境における性能が向上する。例え
ば、ファイルシステムジャーナルやデータベーステーブ
ルインデックスまたはログといった「ホットスポット」が
ストレージドメインマネジャそのものの中にある高速ス
レージの中にキャッシュされると、ストレージドメイン
マネジャを使わずに構築されたより旧式のSAN構成と比
較して、メッセージパスの待ち時間が大幅に短縮され
る。オンボードのストレージが大量であることを考える
と、データベースとファイルシステム全体が効果的にキ
ャッシュされ、性能の大幅改善が実現する。オンボード
ストレージ能力はまた、データ移動およびその他のデー
タ移行作業中にデータをステージ分けする上でも重要で
ある。前述のように、SANへ移行する主な理由のひとつ
は、全体としてのデータへのアクセス可能性を改善する
ことである。この新しいストレージアーキテクチャに移
行した結果として故障箇所が1ヵ所でも発生すると、こ
れによる利点の多くは実現することができない。このた
め、データそのものだけでなく、そのデータまでのアク
セスパスも常に利用できる状態になければならない。故
障によるダウンタイムは、自動I/Oパスフェイルオー
バ、論理ホットスペアリングおよびプラグ接続可能、ホ
ットスワップ可能なコンポーネント等、相対的な内部コ
ンポーネントや機能を使用することによって短縮しなけ
ればならない。ダウンタイムは、オンラインファームウ
ェアのアップグレード、ハードウェアとソフトウェアの
動的再構成、高性能なバックグラウンドデータ移動等の
オンライン管理機能を使ってさらに縮小する必要があ
る。
Looking at the expansion rate of storage, which is spurred by a new business situation, for a certain SAN environment, the storage capacity easily increases 100 times during its lifetime. The storage domain manager, which is positioned as the central intelligence of the SAN, must also be able to adapt to the rapid growth so that the performance does not deteriorate in response to the load. In order to achieve smooth and cost-effective scalability over a wide operating range, intelligence should be added as the configuration expands. The ability of intelligent platforms to store large amounts of data in cache memory optimizes SAN configurations and improves performance in application-specific environments. For example, when "hot spots" such as file system journals, database table indexes or logs are cached in high-speed storage within the storage domain manager itself, older SAN configurations built without the storage domain manager can be used. In comparison, the waiting time of the message path is greatly reduced. Given the large amount of on-board storage, the entire database and file system are effectively cached, resulting in significant performance improvements. On-board storage capacity is also important in staging data during data movement and other data migration activities. As mentioned earlier, one of the main reasons for moving to a SAN is to improve overall data accessibility. If any single point of failure occurs as a result of moving to this new storage architecture, many of the benefits cannot be realized. Therefore, not only the data itself but also the access path to the data must be always available. Failure downtime must be reduced by using relative internal components and functions, such as automatic I / O path failover, logical hot-sparing and pluggable, and hot-swappable components. Downtime needs to be further reduced using online management features such as online firmware upgrades, dynamic reconfiguration of hardware and software, and high performance background data movement.

【0195】最高レベルの性能を確保するために、スト
レージドメインマネジャは、特にそれが必要とされるス
トレージ関連タスクのために最適化された、特定用途向
けに作られたインテリジェントなプラットフォームとす
るのが好ましい。このプラットフォームは、データ移動
とストレージ管理アプリケーションの実行に必要なロー
カルでの高速ストレージにより裏打ちされ、さまざまな
ストレージ管理タスクを実行する重大なローカル処理能
力をサポートする。
To ensure the highest level of performance, the storage domain manager should be an intelligent, purpose-built platform specifically optimized for the storage-related tasks for which it is needed. preferable. The platform is backed by the high-speed local storage required to run data movement and storage management applications and supports critical local processing power to perform various storage management tasks.

【0196】インテリジェントなストレージサーバとし
て汎用プラットフォームを使用する場合と比較して、特
定用途向けに作られたプラットフォームは、はるかに高
速でより決定的な応答時間を実現するリアルタイムオペ
レーティングシステム、メッセージの待ち時間を短縮す
る、より効率的なI/Oパスコード、アプリケーションエ
ンジンではなくデータムーバエンジンとして最適化され
たオペレーティングシステムカーネルを提供する。この
特定用途向けに作成されたプラットフォームは、汎用オ
ペレーティングシステムでは得られない、信頼性の高い
画期的なメッセージ送信等のカーネルレベルの機能をサ
ポートする。統合パスフェイルオーバ、オンライン管理
および動的再構成等の高アベイラビリティという特徴
は、中核オペレーティングシステムによってサポートさ
れる。ヘテロジニアスなSAN環境をサポートするために
最適な場所に知能を持たせることにより、ストレージド
メインマネジャはエンドユーザに以下のような業務上の
利点をもたらす: ‐ストレージアセットの割り当てと利用の改善 ‐急成長する流動的なストレージ環境にコスト効率よく
対応するフレキシビリティ ‐オンライン管理と構成を通じた高いアベイラビリティ ‐ストレージ管理の全体的$/ギガビットコストを下げ
る、より効率的な管理 ‐統合SAN環境において各種のサーバとストレージをひ
とつにまとめる能力 ‐全ストレージリソースを通じて動的に利用できるスト
ージ管理とキャッシング機能を追加することによってJB
ODストレージの価値を高める。
Compared to using a general-purpose platform as an intelligent storage server, a purpose-built platform provides a much faster and more deterministic response time, a real-time operating system, message latency. To provide a more efficient I / O passcode that reduces operating system kernels optimized as data mover engines rather than application engines. This purpose-built platform supports kernel-level features such as reliable and innovative messaging that are not available with general-purpose operating systems. High availability features such as integrated path failover, online management and dynamic reconfiguration are supported by the core operating system. By having intelligence in the best places to support heterogeneous SAN environments, storage domain managers provide end users with the following business benefits:-Improve storage asset allocation and utilization-Rapid Flexibility to cost-effectively accommodate growing and fluid storage environments-High availability through online management and configuration-More efficient management that lowers the overall $ / Gigabit cost of storage management-Servers in an integrated SAN environment Ability to bring storage and storage together-JB by adding storage management and caching capabilities that can be used dynamically across all storage resources
Increase the value of OD storage.

【0197】ストレージドメイン管理と同時に採用され
る堅牢なSANハードウェアインフラストラクチャは、急
速かつ予測不能な変化を続ける環境に対応しながらも、
アベイラビリティの高いデータに確実かつ高速にアクセ
スするというフレキシビリティを提供する。このように
実現される中央集中的ストレージ管理パラダイムは、企
業にとって他社との競争上の利点を提供する、より効率
的で低コストのデータ拡張管理方法である。
The robust SAN hardware infrastructure employed in conjunction with storage domain management allows for rapid and unpredictable changing environments,
Provides the flexibility to access highly available data reliably and quickly. The centralized storage management paradigm implemented in this way is a more efficient and lower-cost method of managing data expansion that offers competitive advantages for companies.

【0198】本発明の各種実施形態に関する上の記述
は、例を挙げ、説明するためのものであり、本発明を説
明中紹介した具体的形態のみに限定しようとするもので
はない。さまざまな変更や同等の配置は、当業者には自
明である。
The above description of the various embodiments of the present invention is provided by way of example and description, and is not intended to limit the invention to only the specific forms introduced. Various modifications and equivalent arrangements will be apparent to those skilled in the art.

【0199】[0199]

【発明の効果】以上説明したように、本発明によれば、
SANアーキテクチャのフレキイビリティ及び能力を活用
しつつストレージシステムの管理を簡素化するシステム
を提供できる。
As described above, according to the present invention,
A system that simplifies storage system management while utilizing the flexibility and capabilities of the SAN architecture can be provided.

【図面の簡単な説明】[Brief description of the drawings]

【図1】(a)は、本発明によるストレージサーバをス
トレージドメイン管理のストレージルータまたはストレ
ージディレクタとして構成したものを含むストレージエ
リアネットワークを示す図、(b)はインテリジェント
なストレージエリアネットワークサーバのいくつかの用
途を示す図
FIG. 1A shows a storage area network including a storage server according to the present invention configured as a storage router or a storage director for storage domain management, and FIG. 1B shows some intelligent storage area network servers. Diagram showing the use of

【図2】本発明によるストレージサーバをヘテロジニア
スなネットワークにおけるストレージドメイン管理のス
トレージルータまたはストレージディレクタとして構成
したものを有する別の構成によるストレージエリアネッ
トワークを示す図
FIG. 2 shows a storage area network according to another configuration having a storage server according to the present invention configured as a storage router or storage director for storage domain management in a heterogeneous network.

【図3】本発明による複数のストレージサーバを相互に
直接通信チャンネルを持たせて構成し、より広範なスト
レージドメインまたは複数のストレージドメインをサポ
ートするようにした、より複雑なストレージエリアネッ
トワークを示す図
FIG. 3 illustrates a more complex storage area network in which multiple storage servers according to the present invention are configured with direct communication channels between each other to support a wider storage domain or multiple storage domains.

【図4】本発明によるストレージドメイン管理をサポー
トするストレージサーバのブロック図
FIG. 4 is a block diagram of a storage server that supports storage domain management according to the present invention.

【図5】本発明によるストレージドメイン管理をサポー
トするストレージサーバの別の例を示すブロック図
FIG. 5 is a block diagram showing another example of a storage server that supports storage domain management according to the present invention.

【図6】インテリジェントなストレージエリアネットワ
ークサーバのハードウェアアーキテクチャのブロック図
FIG. 6 is a block diagram of a hardware architecture of an intelligent storage area network server.

【図7】インテリジェントなストレージエリアネットワ
ークサーバ用オペレーティングシステムのソフトウェア
モジュールおよびサポートプログラムのブロック図
FIG. 7 is a block diagram of software modules and support programs of an operating system for an intelligent storage area network server.

【図8】本発明によるシステムで用いる光ファイバチャ
ネルインターフェース用ハードウェアドライバモジュー
ルの簡略図
FIG. 8 is a simplified diagram of a hardware driver module for an optical fiber channel interface used in a system according to the present invention.

【図9】本発明によるハードウェアドライバモジュール
を含むソリッドステートストレージシステムの簡略図
FIG. 9 is a simplified diagram of a solid state storage system including a hardware driver module according to the present invention.

【図10】本発明によるストレージサーバの一実施形態
において用いるディスクドライブの内部アレイの図
FIG. 10 is a diagram of an internal array of disk drives used in one embodiment of the storage server according to the present invention.

【図11】ローカルアンサー機能を備えた本発明による
ターゲットサーバ内部サービスモジュールの概略図
FIG. 11 is a schematic diagram of a target server internal service module according to the present invention with a local answer function.

【図12】ディスクミラーを利用した内部サービスモジ
ュールの図
FIG. 12 is a diagram of an internal service module using a disk mirror;

【図13】パーティション機能を利用した内部サービス
モジュールの図
FIG. 13 is a diagram of an internal service module using a partition function.

【図14】キャッシュ機能を利用した内部サービスモジ
ュールの図
FIG. 14 is a diagram of an internal service module using a cache function.

【図15】本発明による仮想回路構成を示す図FIG. 15 is a diagram showing a virtual circuit configuration according to the present invention.

【図16】本発明による持続型テーブルストアマネジャ
を利用した内部サービスモジュールの図
FIG. 16 is a diagram of an internal service module using a persistent table store manager according to the present invention.

【図17】本発明による持続型ストレージハードウェア
ドライバモジュールの概略図
FIG. 17 is a schematic diagram of a persistent storage hardware driver module according to the present invention.

【図18】本発明による、3段階のホットコピーリソー
スを有する中間デバイスを備えたネットワークの簡略図
FIG. 18 is a simplified diagram of a network with an intermediate device having three-stage hot copy resources according to the present invention.

【図19】本発明によるホットコピープロセスを用いた
ドライバの一例において用いられるデータ構成を示す図
FIG. 19 is a diagram showing a data structure used in an example of a driver using a hot copy process according to the present invention.

【図20】本発明によるドライバによって実行されるホ
ットコピープロセスを示すフローチャート
FIG. 20 is a flowchart showing a hot copy process executed by the driver according to the present invention.

【図21】ホットコピープロセス中の書き込みリクエス
トの取扱いを示すフローチャート
FIG. 21 is a flowchart showing handling of a write request during a hot copy process.

【図22】ホットコピープロセス中の読み出しリクエス
トの取扱いを示すフローチャート
FIG. 22 is a flowchart showing handling of a read request during a hot copy process.

【符号の説明】[Explanation of symbols]

1201,1202,1203…クライアントサーバ 1204…ハブ 1205,1206,1207…デバイス 1210,1211,1212…クライアントインタフェース 1213,1214…ストレージインターフェース 1201,1202,1203… Client server 1204… Hub 1205,1206,1207… Device 1210,1211,1212… Client interface 1213,1214… Storage interface

───────────────────────────────────────────────────── フロントページの続き (31)優先権主張番号 455106 (32)優先日 平成11年12月6日(1999.12.6) (33)優先権主張国 米国(US) (31)優先権主張番号 482213 (32)優先日 平成12年1月12日(2000.1.12) (33)優先権主張国 米国(US) (71)出願人 597001637 One Dell Way,Round Rock,TX 78682−2244,Unit ed States of Americ a (72)発明者 アラン・アール・メレル アメリカ合衆国、カリフォルニア州 94539、フレモント、チェニン・ブラン ク・ドライブ 48835 (72)発明者 ジョセフ・アルトマイヤー アメリカ合衆国、アイオワ州 52327、リ バーサイド、ファイブハンドレッドフォー ティース・ストリート・エスダブリュ、 3689 (72)発明者 ジェリー・パーカー・レーン アメリカ合衆国、カリフォルニア州 95136、サン・ジョセ、トニノ・ドライブ 4829 (72)発明者 ジェームス・エー・テイラー アメリカ合衆国、カリフォルニア州 94550、リバーモア、フロレンス・ロード 1033 (72)発明者 ロナルド・エル・パークス アメリカ合衆国、カリフォルニア州 94526、ダンビル、ムスタング・コート 55 (72)発明者 アラステアー・テイラー アメリカ合衆国、カリフォルニア州 95123、サン・ジョセ、カレロ・アベニュ ー 755 (72)発明者 シャリ・ジェイ・ノラン アメリカ合衆国、カリフォルニア州 95132、サン・ジョセ、ピナクル・ドライ ブ 3470 (72)発明者 ジェフリー・エス・ネスポー アメリカ合衆国、カリフォルニア州 94566、プリーザントン、コルテ・ベラ・ クルズ 2720 (72)発明者 ジョージ・ダブリュ・ハリス・ジュニア アメリカ合衆国、カリフォルニア州 94041、マウンテン・ビュー、ビュー・ス トリート 327 (72)発明者 リチャード・エー・ルグォー・ジュニア アメリカ合衆国、ニュー・ハンプシャー州 03051、ハドソン、パインウッド・ロー ド 11 ──────────────────────────────────────────────────続 き Continued on the front page (31) Priority claim number 455106 (32) Priority date December 6, 1999 (12.6 December 1999) (33) Priority claim country United States (US) (31) Priority Claim No. 482213 (32) Priority Date January 12, 2000 (2000.1.12) (33) Priority Country United States (US) (71) Applicant 597001637 One Dell Way, Round Rock, TX 78682-2244 , United States of America (72) Inventor Alan Earl Merrell, Cenin Blank Drive, Fremont, CA 94539, United States of America, 48835 (72) Inventor Joseph Altmeier, United States of America, 52327, Riverside, 52327 , Five Hundred For Teeth Street Essex, 3689 (72) Inventor Jerry Parker Lane Tonino Drive, San Jose, CA 95136, United States of America 4829 (72) Inventor James A. Taylor United States of America, 94550, California Livermore, Florence Lord 1033 (72) Inventor Ronald El Parks United States, California 94526, Danville, Mustang Court 55 (72) Inventor Alastair Taylor United States, California 95123, San Jose, Calero Avenue 755 (72) Inventor Shari Jay Nolan Pinnacle Drive 3470 (72), San Jose, California 95132, California Inventor Jeffrey ES Nespo United States, 94566, California, Pleasanton, Corte Vera Vera Luz 2720 (72) Inventor George W. Harris Jr., United States, 94041, California, Mountain View, View Street 327 (72) Inventor Richard A. Lego Jr. United States, New Hampshire 03051, Hudson , Pinewood Road 11

Claims (18)

【特許請求の範囲】[Claims] 【請求項1】 ストレージトランザクションが行われる
クライアントの特定に十分な情報を伝えるそれぞれのス
トレージチャネルプロトコルを実行する一つ以上のクラ
イアントおよび一つ以上のストレージシステムを含み、
ストレージネットワークにおけるストレージドメインを
管理するためのシステムにおいて、 前記一つ以上のクライアントおよび一つ以上のストレー
ジシステムの各々一つと通信媒体を介して接続するため
に選定され、各種通信プロトコルに従って動作する複数
の通信インターフェースと、 前記複数のインターフェースに結合され、前記一つ以上
のストレージシステムからストレージロケーションセッ
トを、前記一つ以上のクライアントからの少なくとも1
つのクライアントセットのためのストレージドメインと
して構成するロジックを含み、および特定されたクライ
アントに対応してストレージドメイン内でストレージト
ランザクションのルーティングを行うロジックを含む処
理ユニットと、 前記複数の通信インターフェース間のストレージトラン
ザクションを共通のフォーマットに変換し、あるいは該
トランザクションから共通のフォーマットを変換によっ
て得るロジックと、 不揮発性キャッシュメモリを含み、前記ストレージドメ
イン内の通信インターフェース間においてストレージト
ランザクションを共通フォーマットでルーティングする
冗長リソースと、 前記処理ユニットに接続され、前記ストレージドメイン
を構成する管理インターフェースと、を具備することを
特徴とするストレージドメイン管理システム。
1. One or more clients and one or more storage systems running respective storage channel protocols that convey sufficient information to identify clients in which storage transactions take place.
In a system for managing a storage domain in a storage network, a plurality of one or more clients and one or more storage systems are selected to be connected to each one via a communication medium and operate according to various communication protocols. A communication interface, coupled to the plurality of interfaces, for storing at least one storage location set from the one or more storage systems;
A processing unit including logic configured as a storage domain for one set of clients, and including logic for routing storage transactions within the storage domain in response to identified clients; and a storage transaction between the plurality of communication interfaces. And a logic to convert the transaction to a common format or to obtain a common format from the transaction; and a redundant resource including a non-volatile cache memory for routing storage transactions in a common format between communication interfaces in the storage domain; A management interface connected to the processing unit and configuring the storage domain. Di-domain management system.
【請求項2】 前記一つ以上のクライアントは、論理ス
トレージロケーションを特定するのに十分な情報を伝え
る各々のストレージチャネルプロトコルを実行し、前記
論理ストレージロケーションに対応してストレージドメ
イン内でストレージトランザクションをルーティングす
るロジックを具備することを特徴とする請求項1に記載
のストレージドメイン管理システム。
2. The one or more clients execute respective storage channel protocols that convey sufficient information to identify a logical storage location and perform storage transactions within a storage domain corresponding to the logical storage location. The storage domain management system according to claim 1, further comprising logic for routing.
【請求項3】 ネットワークにおける1つのストレージ
ロケーションから別のストレージロケーションへのデー
タセット移動を管理するロジックを具備することを特徴
とする請求項1に記載のストレージドメイン管理システ
ム。
3. The storage domain management system according to claim 1, further comprising logic for managing data set migration from one storage location to another storage location in a network.
【請求項4】 前記インターフェースがネットワーク内
の複数のストレージドメインを構成するためのリソース
を具備することを特徴とする請求項1に記載のストレー
ジドメイン管理システム。
4. The storage domain management system according to claim 1, wherein the interface includes resources for configuring a plurality of storage domains in a network.
【請求項5】 ストレージネットワークにおけるストレ
ージリソースの構成及び管理方法において、 ネットワーク内のクライアントおよびストレージリソー
ス間に該ネットワークの中間システムをインストール
し、 前記中間システムのロジックを用い、論理ストレージ範
囲をネットワーク内のクライアントに割り当て、 前記中間システムのロジックを用い、ネットワーク内の
ストレージリソースを論理ストレージ範囲に割り当て、 前記クライアントに割り当てられた論理ストレージ範囲
および前記論理ストレージ範囲に割り当てられたストレ
ージリソースに従い、中間デバイスを通じてストレージ
トランザクションをルーティングすることを特徴とする
方法。
5. A storage resource configuration and management method in a storage network, comprising: installing an intermediate system of the network between a client and a storage resource in the network; and using a logic of the intermediate system to change a logical storage range in the network. Assigning to a client, using the logic of the intermediate system, allocating storage resources in a network to a logical storage range, and storing the data through an intermediate device according to the logical storage range assigned to the client and the storage resources assigned to the logical storage range A method characterized by routing transactions.
【請求項6】 ストレージトランザクション通信チャネ
ルをサポートする通信インターフェースと、 前記ストレージトランザクションチャネル上で受け取っ
たストレージトランザクションを内部フォーマットに変
換するロジックと、 内部フォーマットのストレージトランザクションを、前
記ストレージサーバとの通信における各々のデータスト
アとの接続を管理する仮想回路にルーティングするロジ
ックと、を具備することを特徴とするストレージサー
バ。
6. A communication interface for supporting a storage transaction communication channel, logic for converting a storage transaction received on the storage transaction channel into an internal format, and storing the storage transaction in the internal format in communication with the storage server. And a logic for routing to a virtual circuit that manages connection with the data store of the storage server.
【請求項7】 仮想回路は、内部フォーマットを、対応
する一つ以上のデータストアに関する一つ以上の通信プ
ロトコルに変換するロジックを具備することを特徴とす
る請求項6に記載のストレージサーバ。
7. The storage server of claim 6, wherein the virtual circuit comprises logic for converting an internal format into one or more communication protocols for a corresponding one or more data stores.
【請求項8】 対応する各々のデータソースに関する各
々の通信プロトコルは、標準的な「インテリジェント入
力/出力」(I2O)メッセージフォーマットに適合するプロ
トコルを含むことを特徴とする請求項7に記載のストレ
ージサーバ。
8. The communication system of claim 7, wherein each communication protocol for each corresponding data source comprises a protocol that conforms to a standard "intelligent input / output" (I 2 O) message format. Storage server.
【請求項9】 仮想回路にストレージトランザクション
をルーティングする前記ロジックはテーブルを含み、前
記テーブルは複数のエントリを有し、前記複数のエント
リは前記ストレージ通信チャネルで指定されたアドレス
範囲と仮想回路の間の対応を示すことを特徴とする請求
項6に記載のストレージサーバ。
9. The logic for routing a storage transaction to a virtual circuit includes a table, the table having a plurality of entries, wherein the plurality of entries are between an address range specified by the storage communication channel and the virtual circuit. 7. The storage server according to claim 6, wherein the correspondence of the storage server is indicated.
【請求項10】 仮想デバイスにストレージトランザク
ションをルーティングする前記ロジックはテーブルを含
み、前記テーブルは複数のエントリを有し、前記複数の
エントリは仮想回路と各データソースの間の対応を示す
ことを特徴とする請求項6に記載のストレージサーバ。
10. The logic for routing storage transactions to a virtual device includes a table, the table having a plurality of entries, the plurality of entries indicating a correspondence between a virtual circuit and each data source. The storage server according to claim 6, wherein
【請求項11】 キャッシュを含み、仮想回路が前記キ
ャッシュと通信することを特徴とする請求項6に記載の
ストレージサーバ。
11. The storage server according to claim 6, including a cache, wherein a virtual circuit communicates with the cache.
【請求項12】 各々のデータソースは不揮発性メモリ
を有することを特徴とする請求項6に記載のストレージ
サーバ。
12. The storage server according to claim 6, wherein each data source has a non-volatile memory.
【請求項13】 各々のデータストアはハードディスク
アレイを有することを特徴とする請求項6に記載のスト
レージサーバ。
13. The storage server according to claim 6, wherein each data store has a hard disk array.
【請求項14】 コンフィギュレーションデータの入力
をサポートするユーザインターフェースを有することを
特徴とする請求項6に記載のストレージサーバ。
14. The storage server according to claim 6, further comprising a user interface that supports input of configuration data.
【請求項15】 前記ユーザインターフェースはグラフ
ィカルユーザインターフェースからなることを特徴とす
る請求項14に記載のストレージサーバ。
15. The storage server according to claim 14, wherein said user interface comprises a graphical user interface.
【請求項16】 前記ユーザインターフェースは、前記
ストレージサーバに接続されたタッチスクリーンからな
ることを特徴とする請求項14に記載のストレージサー
バ。
16. The storage server according to claim 14, wherein the user interface comprises a touch screen connected to the storage server.
【請求項17】 ストレージトランザクションのリクエ
ストを発する少なくとも1つのクライアントシステム
と、前記クライアントシステムに入り、及び該クライア
ントシステムから出る1つのクライアント通信チャネル
と、複数のストレージデバイスと、複数のストレージデ
バイスに入り、及び該ストレージシステムから出る各々
の通信チャネルと、を有するストレージネットワーク用
サーバにおいて、 バスシステムを含むプロセッサと、 前記バスシステムに接続される前記クライアント通信チ
ャネルへのクライアントインターフェースと、 前記バスシステムに接続される各々の通信チャネルへの
複数のインターフェースと、 前記バスシステムに接続される不揮発性キャッシュメモ
リと、 前記サーバインターフェース上でストレージトランザク
ションのリクエストを受け取り、前記リクエストされた
ストレージトランザクションを前記複数のストレージデ
バイスに導き、前記ストレージトランザクションにおい
て使用するよう前記不揮発性キャッシュメモリを割り当
てるように前記プロセッサにより制御されるリソース
と、を具備することを特徴とするサーバ。
17. At least one client system issuing a request for a storage transaction, one client communication channel into and out of the client system, a plurality of storage devices, and a plurality of storage devices. And a communication channel emanating from the storage system, comprising: a processor including a bus system; a client interface to the client communication channel connected to the bus system; and a communication interface connected to the bus system. A plurality of interfaces to each communication channel, a non-volatile cache memory connected to the bus system, and a storage Receiving a request for a transaction, directing the requested storage transaction to the plurality of storage devices, and controlling the processor to allocate the non-volatile cache memory for use in the storage transaction. A server characterized by the above-mentioned.
【請求項18】 前記プロセッサにより制御されるリソ
ースは、ストレージトランザクションのためのアクセス
許可を認証しおよび検証するプロセスを含むことを特徴
とする請求項17に記載のサーバ。
18. The server of claim 17, wherein the resources controlled by the processor include a process for authenticating and verifying access permissions for storage transactions.
JP2000085205A 1999-03-25 2000-03-24 Storage domain management system Pending JP2000339098A (en)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US276428 1981-06-22
US455106 1989-12-22
US09/276,428 US6446141B1 (en) 1999-03-25 1999-03-25 Storage server system including ranking of data source
US34659299A 1999-07-02 1999-07-02
US09/347,042 US6553408B1 (en) 1999-03-25 1999-07-02 Virtual device architecture having memory for storing lists of driver modules
US09/455,106 US6654830B1 (en) 1999-03-25 1999-12-06 Method and system for managing data migration for a storage system
US346592 2000-01-12
US09/482,213 US6640278B1 (en) 1999-03-25 2000-01-12 Method for configuration and management of storage resources in a storage network
US347042 2000-01-12
US482213 2000-01-12

Publications (1)

Publication Number Publication Date
JP2000339098A true JP2000339098A (en) 2000-12-08

Family

ID=27540602

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000085205A Pending JP2000339098A (en) 1999-03-25 2000-03-24 Storage domain management system

Country Status (6)

Country Link
JP (1) JP2000339098A (en)
KR (1) KR100644011B1 (en)
CN (1) CN1241134C (en)
DE (1) DE10014448B4 (en)
GB (1) GB2351375B (en)
IE (1) IE20000203A1 (en)

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002259355A (en) * 2001-02-28 2002-09-13 Hitachi Ltd Multiplex system
KR20020085996A (en) * 2001-05-10 2002-11-18 주식회사 메일북 Method of Providing a Web Page Using Client Cache Memory
JP2003046525A (en) * 2001-06-27 2003-02-14 Internatl Business Mach Corp <Ibm> Method, apparatus, and computer program for informing requesting device of port configuration changes in computer networks switching device
WO2004027625A1 (en) * 2002-09-20 2004-04-01 Fujitsu Limited Storage control apparatus, storage control program, and storage control method
JP2004295457A (en) * 2003-03-27 2004-10-21 Hitachi Ltd Storage device
US6976134B1 (en) 2001-09-28 2005-12-13 Emc Corporation Pooling and provisioning storage resources in a storage network
JP2005539309A (en) * 2002-09-16 2005-12-22 ティギ・コーポレイション Storage system architecture and multiple cache device
JP2006505065A (en) * 2002-10-31 2006-02-09 リング テクノロジー エンタープライズィズ,エルエルシー Method and system for storage system
US7127445B2 (en) 2002-06-06 2006-10-24 Hitachi, Ltd. Data mapping management apparatus
JP2006524864A (en) * 2003-04-04 2006-11-02 ブルアーク ユーケー リミテッド Network-attached storage system, device, and method supporting multiple storage device types
US7143262B2 (en) 2002-11-14 2006-11-28 Hitachi, Ltd. Method, apparatus and program for allocating storage area to virtual volume
US7185062B2 (en) 2001-09-28 2007-02-27 Emc Corporation Switch-based storage services
JP2007524877A (en) * 2003-01-20 2007-08-30 イコールロジック, インク. Data storage system
JP2007249815A (en) * 2006-03-17 2007-09-27 Fujitsu Ltd Data transfer device and data transfer method
JP2008135031A (en) * 2007-11-26 2008-06-12 Hitachi Ltd Disk array device and control method therefor
US7404000B2 (en) 2001-09-28 2008-07-22 Emc Corporation Protocol translation in a storage system
JP2008176680A (en) * 2007-01-22 2008-07-31 Sharp Corp Portable disk device
JP2008529167A (en) * 2005-01-27 2008-07-31 ネットワーク・アプライアンス・インコーポレイテッド Collaborative shared storage architecture
US7421509B2 (en) 2001-09-28 2008-09-02 Emc Corporation Enforcing quality of service in a storage network
JP2009503730A (en) * 2005-08-03 2009-01-29 サンディスク コーポレイション Method and system for dual mode access for storage devices
JP2009032274A (en) * 2008-09-01 2009-02-12 Hitachi Ltd Performance information analyzing method
US7512888B2 (en) 2001-11-14 2009-03-31 Hitachi, Ltd. Management method and apparatus for storage apparatus
US7523254B2 (en) 2003-08-12 2009-04-21 Hitachi, Ltd. Method for analyzing performance information
US7526352B2 (en) 2001-02-23 2009-04-28 Hitachi, Ltd. Semiconductor production system
US7558264B1 (en) 2001-09-28 2009-07-07 Emc Corporation Packet classification in a storage system
JP2009527046A (en) * 2006-02-14 2009-07-23 トレック・2000・インターナショナル・リミテッド Data storage devices that use two types of storage media
JPWO2007116467A1 (en) * 2006-03-31 2009-08-20 富士通株式会社 Volume management apparatus and volume management method
JP2009230239A (en) * 2008-03-19 2009-10-08 Hitachi Ltd Data migration method for tape device and tape management system
JP2009541854A (en) * 2006-06-20 2009-11-26 ラテゼ・リモート・エム・ジー・エム・テイ・エル・エル・シー Generating commands for storage systems
JP2010033407A (en) * 2008-07-30 2010-02-12 Fujitsu Ltd Virtual tape system
JP2010050988A (en) * 2001-12-28 2010-03-04 Netapp Inc Technique for enabling multiple virtual filers on one single filer to participate in multiple address spaces with overlapping network addresses
US7707304B1 (en) 2001-09-28 2010-04-27 Emc Corporation Storage switch for storage area network
US7864758B1 (en) 2001-09-28 2011-01-04 Emc Corporation Virtualization in a storage system
US7925830B2 (en) 2003-02-17 2011-04-12 Hitachi, Ltd. Storage system for holding a remaining available lifetime of a logical storage region
US7996560B2 (en) 2003-06-17 2011-08-09 Hitachi, Ltd. Managing virtual ports in an information processing system
JP2019135580A (en) * 2018-02-05 2019-08-15 アズビル株式会社 Communication controller

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2409743B (en) * 2000-06-12 2005-10-19 Emc Corp Multipath multihop remote data facility
US6697367B1 (en) 2000-06-12 2004-02-24 Emc Corporation Multihop system calls
GB2379776B (en) * 2000-06-12 2005-08-03 Emc Corp Multipath multihop remote data facility
EP1368742A4 (en) * 2001-02-13 2010-09-01 Candera Inc Storage virtualization and storage management to provide higher level storage services
DE60121445T2 (en) 2001-09-07 2007-02-01 Sony Deutschland Gmbh Memory management for speech dialogue system
JP4220166B2 (en) * 2002-02-19 2009-02-04 株式会社日立製作所 Access control method for storage area network system
US7873700B2 (en) * 2002-08-09 2011-01-18 Netapp, Inc. Multi-protocol storage appliance that provides integrated support for file and block access protocols
JP4202709B2 (en) 2002-10-07 2008-12-24 株式会社日立製作所 Volume and failure management method in a network having a storage device
JP4130615B2 (en) 2003-07-02 2008-08-06 株式会社日立製作所 Fault information management method and management server in a network having a storage device
US7409583B2 (en) 2002-10-07 2008-08-05 Hitachi, Ltd. Volume and failure management method on a network having a storage device
JP2006506846A (en) * 2002-11-12 2006-02-23 ゼテーラ・コーポレイシヨン Electrical device with improved communication function
EP1576460B1 (en) * 2002-11-26 2012-01-11 Panasonic Corporation Apparatus for managing removable storage media that can be connected thereto, and method and program for managing removable storage media
JP4646002B2 (en) * 2003-10-22 2011-03-09 インターナショナル・ビジネス・マシーンズ・コーポレーション Connection management method, system, and program product
JP4257783B2 (en) * 2003-10-23 2009-04-22 株式会社日立製作所 Logically partitionable storage device and storage device system
JP4320247B2 (en) 2003-12-24 2009-08-26 株式会社日立製作所 Configuration information setting method and apparatus
JP4227035B2 (en) 2004-02-03 2009-02-18 株式会社日立製作所 Computer system, management device, storage device, and computer device
JP2005267008A (en) 2004-03-17 2005-09-29 Hitachi Ltd Method and system for storage management
US7613889B2 (en) * 2004-06-10 2009-11-03 International Business Machines Corporation System, method, and program for determining if write data overlaps source data within a data migration scheme
US7779368B2 (en) * 2004-10-30 2010-08-17 Hewlett-Packard Development Company, L.P. Systems and methods for presenting managed data
US7809739B2 (en) * 2005-08-05 2010-10-05 International Business Machines Corporation Application configuration in distributed storage systems
CN100383733C (en) * 2005-10-10 2008-04-23 华为技术有限公司 Software subsystem of electronic information system
JP4736783B2 (en) 2005-12-19 2011-07-27 株式会社日立製作所 Volume and failure management method in a network having a storage device
WO2009002514A2 (en) * 2007-06-25 2008-12-31 Equallogic, Inc. Storage area network with target side recognition and routing table upload
EP2852897B1 (en) * 2012-05-20 2020-10-07 Microsoft Technology Licensing, LLC Server-based hierarchical mass storage system
CN105279095B (en) * 2014-06-26 2019-09-13 南京中兴新软件有限责任公司 Create the method and device of JBOD file system
US10394454B2 (en) * 2017-01-13 2019-08-27 Arm Limited Partitioning of memory system resources or performance monitoring
US10180924B2 (en) * 2017-05-08 2019-01-15 Liqid Inc. Peer-to-peer communication for graphics processing units
RU2718215C2 (en) 2018-09-14 2020-03-31 Общество С Ограниченной Ответственностью "Яндекс" Data processing system and method for detecting jam in data processing system
RU2714219C1 (en) 2018-09-14 2020-02-13 Общество С Ограниченной Ответственностью "Яндекс" Method and system for scheduling transfer of input/output operations
RU2731321C2 (en) 2018-09-14 2020-09-01 Общество С Ограниченной Ответственностью "Яндекс" Method for determining a potential fault of a storage device
RU2714602C1 (en) 2018-10-09 2020-02-18 Общество С Ограниченной Ответственностью "Яндекс" Method and system for data processing
RU2721235C2 (en) * 2018-10-09 2020-05-18 Общество С Ограниченной Ответственностью "Яндекс" Method and system for routing and execution of transactions
RU2711348C1 (en) 2018-10-15 2020-01-16 Общество С Ограниченной Ответственностью "Яндекс" Method and system for processing requests in a distributed database
RU2714373C1 (en) 2018-12-13 2020-02-14 Общество С Ограниченной Ответственностью "Яндекс" Method and system for scheduling execution of input/output operations
RU2749649C2 (en) 2018-12-21 2021-06-16 Общество С Ограниченной Ответственностью "Яндекс" Method and system for scheduling processing of i/o operations
RU2720951C1 (en) 2018-12-29 2020-05-15 Общество С Ограниченной Ответственностью "Яндекс" Method and distributed computer system for data processing
RU2746042C1 (en) 2019-02-06 2021-04-06 Общество С Ограниченной Ответственностью "Яндекс" Method and the system for message transmission

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5975349A (en) * 1982-10-25 1984-04-28 Hitachi Ltd File recovering system in double write storing system
JPH05153151A (en) * 1990-07-26 1993-06-18 Nec Corp Routing system
JPH08154236A (en) * 1994-09-08 1996-06-11 Internatl Business Mach Corp <Ibm> Data-flow architecture of medium-streamer optimized for video
JPH08288965A (en) * 1995-04-18 1996-11-01 Hitachi Ltd Switching system
WO1996036149A1 (en) * 1995-05-12 1996-11-14 Kabushiki Kaisha Toshiba Communication system
JPH09198308A (en) * 1996-01-17 1997-07-31 Hitachi Ltd Data storage system
WO1997028505A1 (en) * 1996-01-31 1997-08-07 Ipsilon Networks, Inc. Improved method and apparatus for dynamically shifting between routing and switching packets in a transmission network
JPH09259037A (en) * 1996-03-21 1997-10-03 Toshiba Corp Information storage device
WO1997045991A2 (en) * 1996-05-31 1997-12-04 Octel Communications Corporation Method and system for extended addressing plans
JPH1065693A (en) * 1996-08-22 1998-03-06 Fujitsu Ltd On-demand system
JPH10105467A (en) * 1996-04-04 1998-04-24 Symbios Logic Inc Method and device for keeping consistency of cache in raid controller provided with redundant cache
WO1998043184A1 (en) * 1997-03-24 1998-10-01 Pfn, Inc. Dynamic client registry apparatus and method
WO1998043185A1 (en) * 1997-03-24 1998-10-01 Pfn, Inc. Dynamic group registry apparatus and method
JPH1165949A (en) * 1997-08-11 1999-03-09 Nippon Telegr & Teleph Corp <Ntt> File controller for communication system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5941972A (en) * 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6148414A (en) * 1998-09-24 2000-11-14 Seek Systems, Inc. Methods and systems for implementing shared disk array management functions

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5975349A (en) * 1982-10-25 1984-04-28 Hitachi Ltd File recovering system in double write storing system
JPH05153151A (en) * 1990-07-26 1993-06-18 Nec Corp Routing system
JPH08154236A (en) * 1994-09-08 1996-06-11 Internatl Business Mach Corp <Ibm> Data-flow architecture of medium-streamer optimized for video
JPH08288965A (en) * 1995-04-18 1996-11-01 Hitachi Ltd Switching system
WO1996036149A1 (en) * 1995-05-12 1996-11-14 Kabushiki Kaisha Toshiba Communication system
JPH09198308A (en) * 1996-01-17 1997-07-31 Hitachi Ltd Data storage system
WO1997028505A1 (en) * 1996-01-31 1997-08-07 Ipsilon Networks, Inc. Improved method and apparatus for dynamically shifting between routing and switching packets in a transmission network
JPH09259037A (en) * 1996-03-21 1997-10-03 Toshiba Corp Information storage device
JPH10105467A (en) * 1996-04-04 1998-04-24 Symbios Logic Inc Method and device for keeping consistency of cache in raid controller provided with redundant cache
WO1997045991A2 (en) * 1996-05-31 1997-12-04 Octel Communications Corporation Method and system for extended addressing plans
JPH1065693A (en) * 1996-08-22 1998-03-06 Fujitsu Ltd On-demand system
WO1998043184A1 (en) * 1997-03-24 1998-10-01 Pfn, Inc. Dynamic client registry apparatus and method
WO1998043185A1 (en) * 1997-03-24 1998-10-01 Pfn, Inc. Dynamic group registry apparatus and method
JPH1165949A (en) * 1997-08-11 1999-03-09 Nippon Telegr & Teleph Corp <Ntt> File controller for communication system

Cited By (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526352B2 (en) 2001-02-23 2009-04-28 Hitachi, Ltd. Semiconductor production system
JP2002259355A (en) * 2001-02-28 2002-09-13 Hitachi Ltd Multiplex system
KR20020085996A (en) * 2001-05-10 2002-11-18 주식회사 메일북 Method of Providing a Web Page Using Client Cache Memory
JP2003046525A (en) * 2001-06-27 2003-02-14 Internatl Business Mach Corp <Ibm> Method, apparatus, and computer program for informing requesting device of port configuration changes in computer networks switching device
US7185062B2 (en) 2001-09-28 2007-02-27 Emc Corporation Switch-based storage services
US7558264B1 (en) 2001-09-28 2009-07-07 Emc Corporation Packet classification in a storage system
US7404000B2 (en) 2001-09-28 2008-07-22 Emc Corporation Protocol translation in a storage system
US7539824B2 (en) 2001-09-28 2009-05-26 Emc Corporation Pooling and provisioning storage resources in a storage network
US6976134B1 (en) 2001-09-28 2005-12-13 Emc Corporation Pooling and provisioning storage resources in a storage network
US7421509B2 (en) 2001-09-28 2008-09-02 Emc Corporation Enforcing quality of service in a storage network
US7707304B1 (en) 2001-09-28 2010-04-27 Emc Corporation Storage switch for storage area network
US7864758B1 (en) 2001-09-28 2011-01-04 Emc Corporation Virtualization in a storage system
US7512888B2 (en) 2001-11-14 2009-03-31 Hitachi, Ltd. Management method and apparatus for storage apparatus
JP2010050988A (en) * 2001-12-28 2010-03-04 Netapp Inc Technique for enabling multiple virtual filers on one single filer to participate in multiple address spaces with overlapping network addresses
US7127445B2 (en) 2002-06-06 2006-10-24 Hitachi, Ltd. Data mapping management apparatus
JP2005539309A (en) * 2002-09-16 2005-12-22 ティギ・コーポレイション Storage system architecture and multiple cache device
JPWO2004027625A1 (en) * 2002-09-20 2006-01-19 富士通株式会社 Storage control device, storage control program, and storage control method
WO2004027625A1 (en) * 2002-09-20 2004-04-01 Fujitsu Limited Storage control apparatus, storage control program, and storage control method
JP2006505065A (en) * 2002-10-31 2006-02-09 リング テクノロジー エンタープライズィズ,エルエルシー Method and system for storage system
US7143262B2 (en) 2002-11-14 2006-11-28 Hitachi, Ltd. Method, apparatus and program for allocating storage area to virtual volume
JP2007524877A (en) * 2003-01-20 2007-08-30 イコールロジック, インク. Data storage system
US7925830B2 (en) 2003-02-17 2011-04-12 Hitachi, Ltd. Storage system for holding a remaining available lifetime of a logical storage region
JP2004295457A (en) * 2003-03-27 2004-10-21 Hitachi Ltd Storage device
JP2013225320A (en) * 2003-04-04 2013-10-31 Hitachi Data Systems Engineering Uk Ltd Network connection storage system, device, and method supporting multiple storage device types
JP2011023016A (en) * 2003-04-04 2011-02-03 Bluearc Uk Ltd Network-attached storage system, device, and method supporting multiple storage device types
JP2010146586A (en) * 2003-04-04 2010-07-01 Bluearc Uk Ltd Network-attached storage system, device, and method supporting multiple storage device types
JP2006524864A (en) * 2003-04-04 2006-11-02 ブルアーク ユーケー リミテッド Network-attached storage system, device, and method supporting multiple storage device types
US7996560B2 (en) 2003-06-17 2011-08-09 Hitachi, Ltd. Managing virtual ports in an information processing system
US8407414B2 (en) 2003-08-12 2013-03-26 Hitachi, Ltd. Method for analyzing performance information
US8209482B2 (en) 2003-08-12 2012-06-26 Hitachi, Ltd. Method for analyzing performance information
US8006035B2 (en) 2003-08-12 2011-08-23 Hitachi, Ltd. Method for analyzing performance information
US7523254B2 (en) 2003-08-12 2009-04-21 Hitachi, Ltd. Method for analyzing performance information
JP2008529167A (en) * 2005-01-27 2008-07-31 ネットワーク・アプライアンス・インコーポレイテッド Collaborative shared storage architecture
JP2009503730A (en) * 2005-08-03 2009-01-29 サンディスク コーポレイション Method and system for dual mode access for storage devices
JP4767323B2 (en) * 2006-02-14 2011-09-07 トレック・2000・インターナショナル・リミテッド Data storage devices that use two types of storage media
JP2009527046A (en) * 2006-02-14 2009-07-23 トレック・2000・インターナショナル・リミテッド Data storage devices that use two types of storage media
JP4660404B2 (en) * 2006-03-17 2011-03-30 富士通株式会社 Data transfer apparatus and data transfer method
JP2007249815A (en) * 2006-03-17 2007-09-27 Fujitsu Ltd Data transfer device and data transfer method
JP4757300B2 (en) * 2006-03-31 2011-08-24 富士通株式会社 Volume management apparatus and volume management method
JPWO2007116467A1 (en) * 2006-03-31 2009-08-20 富士通株式会社 Volume management apparatus and volume management method
JP2009541854A (en) * 2006-06-20 2009-11-26 ラテゼ・リモート・エム・ジー・エム・テイ・エル・エル・シー Generating commands for storage systems
JP2008176680A (en) * 2007-01-22 2008-07-31 Sharp Corp Portable disk device
JP2008135031A (en) * 2007-11-26 2008-06-12 Hitachi Ltd Disk array device and control method therefor
JP2009230239A (en) * 2008-03-19 2009-10-08 Hitachi Ltd Data migration method for tape device and tape management system
JP4516993B2 (en) * 2008-07-30 2010-08-04 富士通株式会社 Virtual tape system
JP2010033407A (en) * 2008-07-30 2010-02-12 Fujitsu Ltd Virtual tape system
JP4658171B2 (en) * 2008-09-01 2011-03-23 株式会社日立製作所 Performance information analysis method
JP2009032274A (en) * 2008-09-01 2009-02-12 Hitachi Ltd Performance information analyzing method
JP2019135580A (en) * 2018-02-05 2019-08-15 アズビル株式会社 Communication controller
JP7032158B2 (en) 2018-02-05 2022-03-08 アズビル株式会社 Communication control controller

Also Published As

Publication number Publication date
GB0006743D0 (en) 2000-05-10
IE20000203A1 (en) 2001-02-21
KR20000076955A (en) 2000-12-26
GB2351375A (en) 2000-12-27
KR100644011B1 (en) 2006-11-13
DE10014448B4 (en) 2017-07-27
GB2351375B (en) 2001-11-14
CN1268703A (en) 2000-10-04
CN1241134C (en) 2006-02-08
DE10014448A1 (en) 2000-11-16

Similar Documents

Publication Publication Date Title
JP2000339098A (en) Storage domain management system
US6640278B1 (en) Method for configuration and management of storage resources in a storage network
US6538669B1 (en) Graphical user interface for configuration of a storage system
US6654830B1 (en) Method and system for managing data migration for a storage system
US6553408B1 (en) Virtual device architecture having memory for storing lists of driver modules
US6598174B1 (en) Method and apparatus for storage unit replacement in non-redundant array
US6571354B1 (en) Method and apparatus for storage unit replacement according to array priority
JP6317856B2 (en) Smooth controller change in redundant configuration between clusters
US10140045B2 (en) Control device for storage system capable of acting as a constituent element of virtualization storage system
JP5523468B2 (en) Active-active failover for direct attached storage systems
US6446141B1 (en) Storage server system including ranking of data source
US7711979B2 (en) Method and apparatus for flexible access to storage facilities
US6732104B1 (en) Uniform routing of storage access requests through redundant array controllers
US7480780B2 (en) Highly available external storage system
US6757753B1 (en) Uniform routing of storage access requests through redundant array controllers
US8140754B2 (en) Methods and apparatus for managing HDD&#39;s spin-down and spin-up in tiered storage systems
US9619171B2 (en) Storage system and virtualization method
US20120203988A1 (en) Storage system and virtualization method
US20070180168A1 (en) Storage system, data processing method and storage apparatus
US10241712B1 (en) Method and apparatus for automated orchestration of long distance protection of virtualized storage
US20060218207A1 (en) Control technology for storage system
JP2004341994A (en) Program, information processor, and method for controlling information processor
Khattar et al. Introduction to Storage Area Network, SAN
JP2004355638A (en) Computer system and device assigning method therefor
US7350000B2 (en) User interface for representing logical path information and displaying available adapters in a storage subsystem

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100126

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100810