JP2001516080A - Data storage device and redundancy maintenance method - Google Patents

Data storage device and redundancy maintenance method

Info

Publication number
JP2001516080A
JP2001516080A JP2000510076A JP2000510076A JP2001516080A JP 2001516080 A JP2001516080 A JP 2001516080A JP 2000510076 A JP2000510076 A JP 2000510076A JP 2000510076 A JP2000510076 A JP 2000510076A JP 2001516080 A JP2001516080 A JP 2001516080A
Authority
JP
Japan
Prior art keywords
data
redundant
storage
objects
parity
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
JP2000510076A
Other languages
Japanese (ja)
Inventor
アンデルソン、デビッド、ビー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seagate Technology LLC
Original Assignee
Seagate Technology LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seagate Technology LLC filed Critical Seagate Technology LLC
Publication of JP2001516080A publication Critical patent/JP2001516080A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/4493Object persistence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1059Parity-single bit-RAID5, i.e. RAID 5 implementations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1066Parity-small-writes, i.e. improved small or partial write techniques in RAID systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】 データ記憶システム(110)は、各々がオブジェクト(124−126)の特性を示す属性を有する、複数のオブジェクト(124−126)として構成されたデータをその上に格納している記憶媒体(132)を含む。オブジェクト(124−126)は冗長情報を格納する冗長オブジェクト(412)を含んでいる。制御要素(150)が動作上記憶媒体(132)に接続されておりオブジェクト(124−126)へのインターフェイス(128)を提供するように構成されている。インターフェイス(128)はオブジェクト(124−126)へアクセスするために呼び出される方法(φ−N)を呈示する。 A data storage system (110) stores thereon data organized as a plurality of objects (124-126), each having an attribute indicative of a characteristic of the object (124-126). Storage medium (132). The objects (124-126) include redundant objects (412) that store redundant information. A control element (150) is operatively connected to the storage medium (132) and configured to provide an interface (128) to the object (124-126). The interface (128) presents a method (φ-N) that is invoked to access the object (124-126).

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】 (発明の分野) 本発明はデータ記憶装置に関する。特に、本発明はデータがオブジェクトとし
て構成されアクセスされるディスクドライブ、テープドライブ、もしくは光ドラ
イブ等のデータ記憶装置に関する。
FIELD OF THE INVENTION The present invention relates to data storage devices. In particular, the invention relates to data storage devices such as disk drives, tape drives, or optical drives where data is organized and accessed as objects.

【0002】 (発明の背景) 2つの従来の計算モデルが計算産業においてよく知られるようになってきてい
る。第1はメインフレーム計算モデルであり、第2はクラスタ計算モデルである
BACKGROUND OF THE INVENTION Two conventional computational models are becoming well known in the computational industry. The first is a mainframe calculation model, and the second is a cluster calculation model.

【0003】 メインフレーム計算モデルにおけるエンドユーザに対する従来の前進方法は初
期システムを購入し、付加処理能力が必要になったら初期システムをより大型の
システムと置換することである。このサイクルのさまざまな点において、衝撃的
な不連続性が生じる。例えば、ユーザが初期システムのアーキテクチュアを凌ぐ
場合、第2のアップグレードメインフレームシステムを購入する時に、ユーザは
1つのオペレーティングシステムから別のオペレーティングシステムへ、さらに
は1つのベンダーが所有するアーキテクチュアから別のベンダーが所有するアー
キテクチュアへの変換を必要とすることがある。このような変更には金額および
従業員の時間の両方においてグレードアップを購入する機構に対する莫大なコス
トを伴う。したがって、多くの場合このような変換は回避される。
[0003] The conventional way forward for end users in mainframe computing models is to purchase an initial system and replace the initial system with a larger system when additional processing power is needed. At various points in this cycle, impulsive discontinuities occur. For example, if the user surpasses the architecture of the initial system, when purchasing the second upgraded mainframe system, the user is from one operating system to another operating system, or even from an architecture owned by one vendor to another vendor May require conversion to an architecture owned by. Such changes involve significant cost to the mechanism to purchase upgrades in both money and employee time. Therefore, such conversions are often avoided.

【0004】 さらに、メインフレームモデルにはコンピュータ装置の乏しい残存価値が伴う
。したがって、システム置換により投資資本は初期システムをグレードアップシ
ステムに置換する時に実質的に完全に失われてしまうことがある。さらに、大型
のグレードアップシステムは小型システムよりも小さいボリュームで売られる傾
向がある。したがって、新たにシステムをグレードアップするたびに典型的には
前のシステムよりも計算コストが高くなる。
In addition, mainframe models are associated with poor residual value of computing devices. Thus, system replacement may result in substantially complete loss of investment capital when replacing an initial system with an upgrade system. Furthermore, large upgrade systems tend to be sold at smaller volumes than smaller systems. Thus, each new system upgrade typically results in higher computational costs than previous systems.

【0005】 クラスタ計算モデルでは、メインフレームコンピュータは小型の標準ベースサ
ーバに置換される。それにより、メインフレームモデルよりも多くの利点が得ら
れる。クラスタは単一システムとしてしか始動できるため、クラスタモデルに入
る閾値は低い。さらに、このような小型システムは典型的にはハイボリュームで
売られるため、計算コストは低くなる。また、このようなシステムは所有権アー
キテクチュアへの依存性を示さない点で標準ベースである。そのため、多数のソ
ースから装置を利用することができユーザは後で購入するたびに最善の代替策を
選択することができる。
In a cluster computing model, mainframe computers are replaced by small, standard base servers. It offers many advantages over mainframe models. Because clusters can only be started as a single system, the threshold for entering the cluster model is low. In addition, such small systems are typically sold at high volumes, resulting in lower computational costs. Also, such systems are standards-based in that they do not show a dependency on ownership architecture. As a result, the device can be used from multiple sources and the user can select the best alternative each time they make a purchase later.

【0006】 クラスタ計算モデルには他にも利点がある。グレードアップコストは現在およ
び緊急な将来のニーズを満たすのに必要な量の付加資源を加えるだけでより精密
に管理することができる。さらに、ユーザは新しいアーキテクチュアへの移行や
変換に無関係に広範なベンダーから選択することができる。同様に、正しいアー
キテクチュアにより別のオペレーティングシステムへの変換が必要になることが
ない。
Cluster computing models have other advantages. Upgrade costs can be more precisely managed simply by adding the additional resources needed to meet current and urgent future needs. In addition, users can select from a wide range of vendors regardless of migration or conversion to a new architecture. Likewise, the correct architecture does not require conversion to another operating system.

【0007】 それでも、クラスタ計算モデルには欠点および問題点がある。たとえば、クラ
スタ計算モデルは単一メインフレームが実施することができるワークロードをク
ラスタが引き受けるようにデータを共有する能力をクラスタシステムに提供する
際に困難に遭遇する。例えば、クラスタ内の各サーバが同じデータのトランザク
ションを処理する必要があるようなクラスタモデルを実現することは現在非常に
困難である。このような応用の例として航空機予約や金融機関の取引の完全な一
覧表が含まれる。
Even so, cluster computing models have drawbacks and problems. For example, cluster computing models encounter difficulties in providing a cluster system with the ability to share data such that the cluster takes over the workload that a single mainframe can perform. For example, it is currently very difficult to implement a cluster model where each server in a cluster needs to process the same data transaction. Examples of such applications include a complete inventory of aircraft reservations and financial institution transactions.

【0008】 クラスタ計算モデルの第2の欠点はメインフレーム環境内に存在する記憶装置 およびデータの管理において広範な経験が欠落していることである。このような
経験から管理ソフトウェアが展開されるが、それは標準ベースクラスタ環境では
まだ利用できない。
[0008] A second drawback of cluster computing models is the lack of extensive experience in managing storage and data present in the mainframe environment. Management software is deployed from this experience, but it is not yet available in a standards-based cluster environment.

【0009】 本発明はこれらおよびその他の問題点に取り組んで、従来技術に優る利点を提
供するものである。
The present invention addresses these and other issues and provides advantages over the prior art.

【0010】 (発明の概要) データ記憶装置は各々がオブジェクトの特性を示す属性を有する複数のオブジ
ェクトとして構成されたデータが格納されている記憶媒体を含んでいる。オブジ
ェクトは冗長情報を格納する冗長長オブジェクトを含む。制御要素が記憶媒体に
接続されておりオブジェクトヘのインターフェイスを提供するように構成されて
いる。インターフェイスはオブジェクトにアクセスするために呼び出される方法
を呈示する。
SUMMARY OF THE INVENTION A data storage device includes a storage medium having stored thereon data configured as a plurality of objects, each having an attribute indicative of a property of the object. The objects include redundant length objects that store redundant information. A control element is connected to the storage medium and configured to provide an interface to the object. The interface presents a method that is called to access the object.

【0011】 (好ましい実施例の詳細な説明) 図1は本発明の1つの特徴に従ったデータ記憶システム100のブロック図で
ある。システム100はオブジェクトオリエンテッドデータ記憶装置110およ
び112、ファイルサーバ114、リクエスタ116、118、120およびイ
ンターコネクト122を含んでいる。システム100は多くの異なるベンダーか
らの装置およびソフトウェアにより構成することができ、ユーザには単一の大型
コンピュータシステムに見えるネットワーク接続記憶構成を示す。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT FIG. 1 is a block diagram of a data storage system 100 in accordance with one aspect of the present invention. System 100 includes object oriented data storage 110 and 112, file server 114, requestors 116, 118, 120 and interconnect 122. The system 100 can be configured with devices and software from many different vendors, presenting a network connected storage configuration that appears to the user as a single large computer system.

【0012】 オブジェクトオリエンテッドデータ記憶装置110−112はシステム100
のデータ記憶機能を実施する記憶要素である。記憶装置110−112は好まし
くはディスクドライブ、独立ディスク(RAID)サブシステムの冗長アレイ、
テープドライブ、テープライブラリ、光ドライブ、ジュークボックスもしくは任
意他の共有できる記憶装置を含んでいる。記憶装置110-112にはそこへア クセスするリクエスタ116、118、120(I/O)への(I/O)チャネ
ルアタッチメントも設けられている。
Object oriented data storage 110-112 is a system 100.
Storage element implementing the data storage function of The storage devices 110-112 are preferably disk drives, redundant arrays of independent disk (RAID) subsystems,
It includes tape drives, tape libraries, optical drives, jukeboxes or any other shareable storage device. Storage devices 110-112 are also provided with (I / O) channel attachments to requestors 116, 118, 120 (I / O) accessing them.

【0013】 リクエスタ116、118、120は装置110,112に格納された情報を
共有するサーバやクライアントのような要素である。リクエスタ116−120
も好ましくは記憶装置110、112上の情報に直接アクセスするように構成さ
れる。
The requestors 116, 118, 120 are elements such as servers or clients that share information stored on the devices 110, 112. Requester 116-120
Are also preferably configured to directly access the information on the storage devices 110,112.

【0014】 ファイルサーバ114は要求確認および資源配置等の管理およびセキュリティ
機能を実施する。小型システムでは、好ましくは専用ファイルサーバは使用され
ない。替わりに、リクエスタ116−120の1つがファイルサーバ114によ
り実施されるシステム100の操作を監督する機能および責任を引き受ける。さ
らに、ファイルサーバ114により提供されるセキュリティおよび機能性が不要
であったり望ましくない場合、あるいは性能に対するオーバライドの必要性によ
りリクエスタ116−120のクラスタが記憶装置110、112と直接話す必
要がある場合には、ファイルサーバ114はシステム100から除去される。
The file server 114 performs management and security functions such as request confirmation and resource allocation. In small systems, preferably no dedicated file server is used. Instead, one of the requesters 116-120 assumes the function and responsibility of overseeing the operation of the system 100 performed by the file server 114. Furthermore, if the security and functionality provided by file server 114 is not necessary or desirable, or if the cluster of requestors 116-120 needs to talk directly to storage 110, 112 due to the need for overriding for performance. The file server 114 is removed from the system 100.

【0015】 1実施例において、インターコネクト122はネットワーク接続記憶装置10
0内の全ての構成要素が互いに通信する物理的インフラストラクチュアである。
In one embodiment, interconnect 122 is a network attached storage device 10.
It is a physical infrastructure in which all the components in 0 communicate with each other.

【0016】 動作において、システム100がパワーアップされると、好ましくは全装置が
互いにもしくは、ファイルサーバ114やインターコネクト122等の、共通基
準点に対して識別を行う。例えば、ファイバチャネルベースシステム100では
、オブジェクトオリエンテッド記憶装置110、112、およびリクエスタ11
6−120はシステムのファブリック上にログオンする。このようなインプリメ
ンテーションにおいて、動作構成を決定したいシステム110の任意の構成要素
がファブリックサービスを使用して他の全ての構成要素を識別することができる
。ファイルサーバ114からリクエスタ116−120はそれとアクセスするこ
とができる記憶装置110、112の存在を学習する。同様に、記憶装置110
、112はシステム100内の他の装置を探すのに必要な情報の位置およびバッ
クアップ等の管理サービスを呼び出すのに使用しなければならないアドレスを学
習する。
In operation, when the system 100 is powered up, preferably all devices identify each other or a common reference point, such as the file server 114 or interconnect 122. For example, in the fiber channel based system 100, the object oriented storages 110, 112 and the requester 11
6-120 log on to the system's fabric. In such an implementation, any component of the system 110 for which it is desired to determine an operational configuration can use Fabric Services to identify all other components. From the file server 114, the requestors 116-120 learn the existence of storage devices 110, 112 that can be accessed. Similarly, storage 110
, 112 learn the location of the information needed to locate other devices in the system 100 and the addresses that must be used to invoke management services such as backups.

【0017】 特定のシステム100のセキュリティ慣行に応じて、リクエスタ116−12
0もしくはそのいずれかのシステム100のある構成要素へのアクセスを否定す
ることができる。各リクエスタに利用できる1組の記憶装置110、112から
、そのリクエスタは次にファイル、データベース、およびそれに利用できるフリ
ースペースを識別することができる。
Depending on the security practices of the particular system 100, requestors 116-12.
Access to certain components of the system 100, either zero or any of it, can be denied. From the set of storage devices 110, 112 available to each requester, the requester can then identify files, databases, and free space available to it.

【0018】 同時に、システム100内の各構成要素は好ましくはそれに関連する任意の特
別な要件をファイルサーバ114に対して識別する。例えば、任意の記憶装置レ
ベルサービス属性を一度ファイルサーバ114へ通信して、システム100内の
他の全ての構成要素がこれらの属性をファイルサーバ114から学習するように
することができる。たとえば、特定のリクエスタ116−120が始動に続いて
付加記憶装置の導入を知らせて欲しいことがある。このような属性は、例えば、
リクエスタがファイルサーバ114へログオンする時に与えることができる。次
に、ファイルサーバ114はシステム100に新しい記憶装置が付加される時は
常にその特定のリクエスタ116−120を自動的にアドバイスすることができ
る。典型的には、ファイルサーバ114は次に記憶装置がRAID5、ミラード
等の記憶装置であるかといった他の重要な特性をリクエスタに通すこともできる
At the same time, each component in system 100 preferably identifies to file server 114 any special requirements associated therewith. For example, any storage level service attributes may be communicated to file server 114 once so that all other components in system 100 learn these attributes from file server 114. For example, a particular requestor 116-120 may want to be notified of the installation of additional storage following startup. Such attributes are, for example,
This can be provided when the requester logs on to the file server 114. Next, file server 114 can automatically advise that particular requestor 116-120 whenever a new storage device is added to system 100. Typically, file server 114 can then pass the requester other important characteristics, such as whether the storage device is a storage device such as RAID 5, mirrored, etc.

【0019】 本発明の1つの特徴に従って、記憶装置110,112に記憶される情報は図
2に示すシステムにより記憶される。好ましくは、各記憶装置110,112は
データが順序付けられたセクターのシーケンスとしてではなくオブジェクト12
4−126として構成されアクセスされるモードで動作するオブジェクトオリエ
ンテド装置である。オブジェクトオリエンテド装置110,112は特定の装置
の各パーティションに対するオブジェクトの単一レベルリストを含むように例示
されているオブジェクトファイルシステムによりオブジェクト124−126を
管理する。それはフラットファイルシステムとも呼ばれる。各装置装置110,
112内の記憶媒体上に格納されるオブジェクト124−126は好ましくはオ
ブジェクトオリエンテド装置モードで動作する装置110,112上の容量割当
ての最小可視単位である。このような記憶装置上のオブジェクトは一意的な識別
子に関連する1組の順序付けられたセクターを含む。データは識別子により参照
されオブジェクト内にオフセットされる。オブジェクトは記憶装置110,11
2自体により記憶媒体上に割り当てられて配置され、オペレーティングシステム
は従来のアーキテクチュアのようにデータのセクターを管理するのではなく、そ
のファイルおよびこれらのオブジェクト構造内のメタデータを管理する。
In accordance with one aspect of the present invention, the information stored in storage devices 110, 112 is stored by the system shown in FIG. Preferably, each storage device 110, 112 is an object 12 rather than as a sequence of sectors in which data is ordered.
4-126 is an object oriented device that operates in a mode configured and accessed as 4-126. Object oriented devices 110, 112 manage objects 124-126 with the object file system illustrated to include a single level list of objects for each partition of a particular device. It is also called flat file system. Each device 110,
The objects 124-126 stored on the storage medium in 112 are preferably the smallest visible units of capacity allocation on the devices 110, 112 operating in object oriented device mode. An object on such a storage device comprises a set of ordered sectors associated with a unique identifier. Data is referenced by an identifier and offset into the object. Object is a storage device 110, 11
2 are allocated and arranged on the storage medium by itself, and the operating system manages the files and metadata in these object structures rather than managing sectors of data as in the conventional architecture.

【0020】 オブジェクト124−126はインターフェイス128によりアクセスされ、
そこでオブジェクトはオブジェクト124−126内の属性およびデータにアク
セスして操作するためにリクエスタ116−120により呼び出すことができる
複数の方法を呈示する。したがって、図2に示すように、リクエスタ116−1
20から要求130が出される。好ましい実施例では、リクエスタ116−12
0はコンピュータシステムもしくはシステムのクラスタやネットワーク内の構成
要素であり、それはオブジェクト124−126を含む記憶装置上のアクション
に対する要求130を出す。したがって、リクエスタ116−120はクライア
ントおよびサーバーの両方とすることができる。いずれの場合も、1つのリクエ
スタ116-120から出される要求130はインターフェイス128内の1つ の方法を呼び出し、後述するように、それにより1つ以上のオブジェクト124
−126が操作される。
Objects 124-126 are accessed by interface 128,
The object then presents multiple methods that can be invoked by the requestors 116-120 to access and manipulate the attributes and data within the objects 124-126. Therefore, as shown in FIG.
From 20, a request 130 is issued. In the preferred embodiment, requestors 116-12
0 is a component of a computer system or a cluster or network of systems, which issues a request 130 for an action on a storage device including objects 124-126. Thus, requesters 116-120 can be both clients and servers. In any case, the request 130 issued from one requestor 116-120 invokes one method in the interface 128 and thereby causes one or more objects 124 to be received, as described below.
-126 is operated.

【0021】 図3−1および図3−2は記憶装置110−112上に格納されるオブジェク
トへアクセスするために使用できる2つの異なる構成を示す。簡単にするために 、図3−1および図3−2には単一リクエスタ116および単一オブジェクトオ
リエンテッド記憶装置110しか図示されていない。オブジェクト(オブジェク
ト124−126等)を開きたい場合、リクエスタ116は記憶装置110を直
接アクセスすることができるか、あるいは記憶装置110上のオブジェクトにア
クセスするためにファイルサーバ114からの許可および位置情報を要求するこ
とが必要となる場合がある。ファイルサーバ114が記憶装置110へのアクセ
スを制御する程度は主としてシステム100の特定のインプリテーションのセキ
ュリティ必要条件の関数である。
FIGS. 3-1 and 3-2 illustrate two different configurations that can be used to access objects stored on storage device 110-112. For simplicity, only single requestor 116 and single object oriented storage 110 are shown in FIGS. 3-1 and 3-2. If you want to open an object (such as object 124-126), requestor 116 can directly access storage device 110 or request permission and location information from file server 114 to access an object on storage device 110. It may be necessary to The extent to which file server 114 controls access to storage 110 is primarily a function of the security requirements of a particular implementation of system 100.

【0022】 図3−1のブロック図では、システム100は安全であると仮定する。すなわ
ち、リクエスタ116と記憶装置110間のコマンド情報およびデータの伝送を
保護する必要がない。このようなインプリメンテーションでは、管理機能のため
のファイルサーバ114がまだ存在することがあるが、ファイルサーバ114は
記憶装置110とのリクエスタインタラクションを監督する必要がない。
In the block diagram of FIG. 3-1, it is assumed that the system 100 is secure. That is, there is no need to protect the transmission of command information and data between the requestor 116 and the storage device 110. In such an implementation, file server 114 for management functions may still exist, but file server 114 need not supervise requester interactions with storage device 110.

【0023】 このようなインプリメンテーションでは、リクエスタ116は記憶装置110
上で直接オブジェクトをアクセスして生成する位置にある。したがって、リクエ
スタ116は元々それに付いていたかのようにオブジェクトを開き、読み出し、
および書き込み閉じることができる。このような操作については後述する。しか
しながら、判り易くするためにここで簡単に概説する。記憶装置110上のオブ
ジェクトを読み出すために、好ましくはリクエスタ116は記憶装置110上の
論理的ボリュームすなわちパーティション、およびその上に格納されたオブジェ
クトの探索をどのように開始するかを示す1つ以上のオブジェクトからの読出し
を最初に行うことができる。次に、リクエスタ116はルートディクショナリと
することができるオブジェクトを開いて読み出す。このオブジェクトから他のオ
ブジェクトを探し出すのは回りくどいことではなく、ルートディクショナリの内
容に基づいている。リクエスタ116は所望のデータが見つかるまでプロセスを
繰り返す。データはオブジェクト内のオブジェクト識別(ID)およびディスプ
レースメントにより参照される。
In such an implementation, requester 116 may
It is in a position to access and generate an object directly above. Thus, the requestor 116 opens and reads the object as if it had originally been attached to it.
And can write close. Such an operation will be described later. However, it is briefly outlined here for the sake of clarity. In order to retrieve objects on storage device 110, preferably requester 116 indicates one or more ways to initiate a search for logical volumes or partitions on storage device 110 and objects stored thereon. Reading from the object can be done first. The requestor 116 then opens and reads the object that can be the root dictionary. Finding other objects from this object is not roundabout, but based on the contents of the root dictionary. The requestor 116 repeats the process until the desired data is found. Data is referenced by object identification (ID) and displacement within the object.

【0024】 図3−2に示す第2のインプリメンテーションでは、セキュリティが要求され
る。したがって、リクエスタ116と記憶装置110間のI/Oチェーン内に、
所望の保護レベルに必要な程度、ファイルサーバ114が介在される。1つの好
ましい実施例では、リクエスタ116は最初にI/O操作を実施するためのファ
イルサーバ114からの許可を要求しなければならない。次に、ファイルサーバ
114(付加セキュリティに対するリクエスタ116からの記憶位置情報を差し
止めていることがある)はリクエスタ116が記憶装置110と直接通信できる
のに十分な情報を戻すことによりリクエスタ116からの要求を認可する。記憶
装置110は好ましくはファイルサーバ114にログオンする時のセキュリティ
パラメータを知らされるため、適切に構成されかつファイルサーバ114からの
有効な許可を含む符号化データを含んでいない限り好ましくはI/O要求を許可
しない。
In the second implementation shown in FIG. 3-2, security is required. Thus, in the I / O chain between requester 116 and storage device 110,
The file server 114 is interposed to the extent necessary for the desired level of protection. In one preferred embodiment, requester 116 must first request permission from file server 114 to perform an I / O operation. Next, the file server 114 (which may have suspended storage location information from the requestor 116 for added security) requests from the requestor 116 by returning sufficient information that the requestor 116 can directly communicate with the storage device 110. Authorize Since the storage device 110 is preferably informed of the security parameters when logging on to the file server 114, preferably I / O unless it is properly configured and contains encoded data including valid permissions from the file server 114. Do not allow the request.

【0025】 次に、プロセスは図3−1に関して説明したのと同様に進む。しかしながら、
各コマンドに関連するペイロードは全く異なることがある。たとえば、セキュリ
ティが要求される場合には(図3−2に示す)、リクエスタ116および記憶装
置110間を通過するコマンドおよびデータは共に暗号化されることがある。さ
らに、好ましくはリクエスタ116から記憶装置110へ与えられるコマンドパ
ラメータに許可情報を付加しなければならない。
The process then proceeds as described with respect to FIG. 3-1. However,
The payload associated with each command may be quite different. For example, if security is required (as shown in FIG. 3B), both commands and data passing between requester 116 and storage 110 may be encrypted. Furthermore, permission information should preferably be added to the command parameters given from the requester 116 to the storage device 110.

【0026】 1つの好ましい実施例では、記憶装置110,112はハードディスクドライ
ブを含むことができ、次にディスクドライブについて簡単に検討する。図4は記
憶装置110として実現することができるハードディスクドライブの斜視図であ
る。ディスクドライブ110において、複数のディスク132がハウジング13
6内でスピンドルモータアセンブリ134周りに軸支されている。各ディスク1
32は138に略示する多数の同心円形記録トラックを有する。各トラック13
8は複数のパーティションへ再分割されている(図6に関して詳細に説明する)
。トラック138内の特定のパーティショを参照することによりディスク132
にデータを格納したり検索することができる。好ましくは、ハウジング136の
1つのコーナーにアクチュエータアームアセンブリ140が回転可能に搭載され
ている。アクチュエータアームアセンブリ140は複数のヘッドジンバルアセン
ブリ142を備え、各々がリード/ライトヘッドを有するスライダ、もしくはデ
ィスク132に対して情報を読み書きするトランスジューサ(図示せず)を備え
ている。
In one preferred embodiment, the storage devices 110, 112 can include hard disk drives, and a brief discussion of disk drives follows. FIG. 4 is a perspective view of a hard disk drive that can be implemented as storage device 110. In the disk drive 110, a plurality of disks 132 is a housing 13
6 is pivotally supported about a spindle motor assembly 134. Each disk 1
32 has a number of concentric recording tracks, shown schematically at 138. Each track 13
8 is subdivided into multiple partitions (described in more detail with respect to FIG. 6)
. Disc 132 by referring to a particular partition in track 138
You can store and retrieve data in Preferably, the actuator arm assembly 140 is rotatably mounted at one corner of the housing 136. The actuator arm assembly 140 includes a plurality of head gimbal assemblies 142, each including a slider having a read / write head, or a transducer (not shown) that reads and writes information to a disk 132.

【0027】 ボイスコイルモータ114はアクチュエータアームアセンブリ140を前後に
精密に回転させてスライダ142上のトランスジューサがディスク132の表面
上を一般的に矢符146で示す円弧に沿って横切するようにする。図4には、ブ
ロック図形式で、ディスクドライブコントローラ148も図示されており、それ
はディスクドライブ110のある動作を既知の方法で制御するのに使用される。
しかしながら、本発明に従って、ディスクドライブコントローラ148はディス
ク132上に格納されたオブジェクト124−126とのインターフェイス12
8を実現するのにも使用される。
The voice coil motor 114 precisely rotates the actuator arm assembly 140 back and forth so that the transducer on the slider 142 crosses the surface of the disk 132 generally along the arc indicated by the arrow 146. . Also shown in block diagram form in FIG. 4 is disk drive controller 148, which is used to control certain operations of disk drive 110 in a known manner.
However, in accordance with the present invention, disk drive controller 148 interfaces 12 with objects 124-126 stored on disk 132.
Also used to realize eight.

【0028】 図5は図1に示すシステム100内にはめ込まれる時のディスクドライブ11
0の一部のブロックである。図5において、ディスクドライブコントローラ14 8はインターフェイス128を実現する制御要素150を含む。ディスク132
を構成する記憶媒体上にオブジェクト124−126が格納される。要求要素1
52はリクエスタ116−120上で実現され、インターフェイス128におい
て方法を呼び出す要求を論理的に表現するように形成される。方法が呼び出され
ると、制御要素150は識別したオブジェクトを所望の方法で操作するためにあ
るタスクを実施する。制御要素150はイベントを戻し、それは識別した任意の
オブジェクトに関連するデータや属性を含むことができる。イベントはまたリク
エスタ116−120により呼び出される特定の方法に基づいて戻される。
FIG. 5 shows the disk drive 11 when it is fitted into the system 100 shown in FIG.
It is a part of 0 block. In FIG. 5, disk drive controller 148 includes a control element 150 that implements interface 128. Disk 132
Objects 124-126 are stored on the storage medium that constitutes the Requirement element 1
52 are implemented on requesters 116-120 and are configured to logically represent the request to invoke the method at interface 128. When the method is invoked, control element 150 performs a task to manipulate the identified object in the desired manner. Control element 150 returns an event, which can include data or attributes associated with any of the objects identified. Events are also returned based on the particular method called by requestors 116-120.

【0029】 オブジェクトオリエンテッド装置110−112がブロックオブジェクトオリ
エンテッド装置を有するオペレーティングシステムから配られるものと同じ機能
性を提供するためには、装置装置110−112上の記憶スペースは同程度に管
理可能でなければならない。したがって、1実施例では、記憶装置110−11
2上の機構レイヤがその上に格納されるオブジェクト124−126上に設けら
れる。1実施例では、オブジェクトオリエンテッド記憶装置110−112は、
パーティションと呼ばれる、1つ以上の相互排他的領域内に割当てディスクスペ
ースを提供する。パーティションについては図6に関して詳細に説明する。パー
ティション内で、リクエスタ116−120はオブジェクトを生成することがで
きる。1実施例では、パーティション内の構造は単純であり、フラット機構であ
る。この機構上に、任意のオペレーティングシステムがそれ自体の構造をマップ
することができる。
In order to provide the same functionality as object oriented devices 110-112 are delivered from an operating system having block object oriented devices, the storage space on devices 110-112 can be managed to the same extent Must. Thus, in one embodiment, storage device 110-11
Two feature layers are provided on objects 124-126 stored thereon. In one embodiment, object oriented storage 110-112 is:
Provide allocated disk space in one or more mutually exclusive areas called partitions. Partitions are described in detail with respect to FIG. Within a partition, requesters 116-120 can create objects. In one embodiment, the structure in the partition is simple and flat. On this mechanism, any operating system can map its own structure.

【0030】 図6はディスク132の1つ等の、記憶媒体上の記憶スペースの一部を示す。
記憶スペースは装置制御オブジェクト154、装置関連オブジェクト156、等
のいくつかのオブジェクト、およびパーティション0(番号158でも表示され
る)、パーティション1(番号160でも表示される)およびパーティションN
(番号162でも表示される)として表示される複数のパーティションを含む。
各パーティションはパーティション制御オブジェクト164、パーティションオ
ブジェクトリスト166、および複数のデータオブジェクト138(データオブ
ジェクト0−データオブジェクトNで示す)等のいくつかのオブジェクトも含む
ことができる。
FIG. 6 illustrates a portion of storage space on a storage medium, such as one of the disks 132.
The storage space is a number of objects such as device control object 154, device related object 156, etc., and partition 0 (also denoted by 158), partition 1 (also denoted by 160) and partition N
It includes multiple partitions that are displayed as (also displayed with the number 162).
Each partition may also include several objects, such as a partition control object 164, a partition object list 166, and a plurality of data objects 138 (shown as data object 0-data object N).

【0031】 各オブジェクトには1組の属性が関連している。本発明の1つの特徴に従って
、アクセス制御属性が与えられそれは属性設定方法(後で詳細に検討する)によ
り設定され、特定のオブジェクトへのアクセスが制御される手段を提供する。ア
クセス制御属性のバージョン番号を変えることにより、あるリクエスタ116−
120は特定のオブジェクトへのアクセスを否定されたり与えられたりすること
ができる。
Each object has a set of attributes associated with it. In accordance with one aspect of the present invention, access control attributes are provided which are set by an attribute setting method (discussed in more detail below) to provide a means by which access to particular objects is controlled. By changing the version number of the access control attribute, a certain requester 116-
120 can be denied or given access to a particular object.

【0032】 クラスタ属性は特定のオブジェクトを記憶システム内の他のオブジェクトの近
くに配置することが望ましいかどうかを示す属性である。クローニング属性は特
定のオブジェクトが記憶システム内の他のオブジェクトをコピーして生成された
かどうかを示す。1群のサイズ属性が特定のオブジェクトのサイズ特性を定義す
る。たとえば、サイズ属性のグループはオブジェクト内に書き込まれる最大オフ
セット、オブジェクトに対して割り当てられるオブジェクト数、オブジェクト内
にデータを格納するのに使用されるブロック数およびオブジェクト内のブロック
当りバイト数を示す情報を含む。
Cluster attributes are attributes that indicate whether it is desirable to place a particular object near other objects in the storage system. The cloning attribute indicates whether a particular object was created by copying another object in the storage system. One group of size attributes defines the size characteristics of a particular object. For example, a group of size attributes has information indicating the maximum offset to be written into the object, the number of objects allocated to the object, the number of blocks used to store data in the object, and the number of bytes per block in the object. Including.

【0033】 1群の時間属性がオブジェクトの生成時間、オブジェクト内のデータが最後に
修正された時間、およびオブジェクト内で属性が最後に修正された時間を示す。
オブジェクトは好ましくはファイルシステム内の任意のデータが最後に修正され
た時間およびファイルシステム内の任意の属性が最後に修正された時間を定義す
る1組の属性も含むことができる。任意所与のオブジェクトの他のパラメータ、
特性もしくは特徴を表示するために、他の属性を設けることもできる。
One group of time attributes indicates the creation time of the object, the time when the data in the object was last modified, and the time when the attribute was last modified in the object.
The object may also preferably include a set of attributes defining the time at which any data in the file system was last modified and the time at which any attribute in the file system was last modified. Other parameters of any given object,
Other attributes may also be provided to indicate a feature or feature.

【0034】 各オブジェクトは特定の記憶装置110−112により選択されオブジェクト
を生成するコマンドに応答してリクエスタ116−120へ戻されるオブジェク
ト識別子にも関連している。好ましくは、識別子は指定した長さの符号無し整数
である。1つの好ましい実施例では、識別子の長さは特定の記憶装置110−1
12により指定されるサイズヘデフオルトするか、あるいは装置属性としてセッ
トすることができる。さらに、1つの好ましい実施例では、識別子(ID)の予
め定義されたサブセットが所望により実施することができる既知のオブジェクト
、特殊用途、および他の特殊機能のために保存される。
Each object is also associated with an object identifier that is selected by a particular storage device 110-112 and returned to the requestors 116-120 in response to a command to create an object. Preferably, the identifier is an unsigned integer of a specified length. In one preferred embodiment, the identifier length is a specific storage device 110-1.
It can be defaulted to a size specified by 12 or set as a device attribute. Furthermore, in one preferred embodiment, predefined subsets of identifiers (IDs) are stored for known objects, special applications, and other special functions that can be optionally implemented.

【0035】 図6は記憶媒体が常に特定のオブジェクトIDを有するいくつかの既知のオブ
ジェクトを典型的に含むことを示している。このような既知のオブジェクトは各
装置もしくは各パーティションに存在する場合がある。
FIG. 6 shows that the storage medium typically contains several known objects always with a specific object ID. Such known objects may exist in each device or each partition.

【0036】 たとえば、このような既知のオブジェクトの1つは装置制御オブジェクト15
4であり、好ましくは各装置110−112により保守される属性を含み、装置
自体もしくは装置上の全オブジェクトに関連している。属性は後述するSet-Attr
ibute方法により保守される。1つの好ましい実施例では、各装置110−11 2当り1つの装置制御オブジェクト154がある。
For example, one such known object is a device control object 15
4 and preferably includes the attributes maintained by each device 110-112, and relates to the device itself or all objects on the device. Attribute is Set-Attr described later
It is maintained by the ibute method. In one preferred embodiment, there is one device control object 154 per device 110-112.

【0037】 表1は1組の好ましい装置制御オブジェクト(DCO)属性を示す。Table 1 shows a set of preferred device control object (DCO) attributes.

【表1】 [Table 1]

【0038】 1つの好ましい実施例では、DCO属性は単なる単調カウンタにすぎないクロ
ック、暗号鍵を含むマスターキー、もしくは装置上の他の全てのキーを制御する
他のマスターキー、およびパーティションキーを制御しかつパーティションをロ
ックするのに使用することができる装置鍵を含む。属性は所定の保護レベルを識
別し関連するセキュリティポリシーを有する保護レベルキー、装置上のいくつか
のパーティションを定義するパーティションカンント、およびアクセスされる特
定の装置上の全オブジェクトに関連する性質を定義するオブジェクト属性も含む
In one preferred embodiment, the DCO attribute controls a clock that is only a monotonous counter, a master key that includes an encryption key, or other master keys that control all other keys on the device, and a partition key. And a device key that can be used to lock the partition. The attributes define a protection level key that identifies a predetermined protection level and has an associated security policy, a partition cant that defines several partitions on the device, and properties associated with all objects on the particular device being accessed. Object attributes to be included.

【0039】 多数の記憶装置110−112に跨るオブジェクトを適切に管理するために、
各記憶装置110−112は好ましくはさまざまな装置110−112間の関連
性を定義する装置関連オブジェクト156も含む。例えば、記憶装置110、1
12が装置のミラー対、もしくはアレイセットの構成要素である場合には、装置
関連オブジェクト156はこの関係を識別する。表2は装置関連オブジェクト1 56の好ましい属性を示す。
In order to properly manage objects spanning multiple storage devices 110-112,
Each storage device 110-112 preferably also includes device related objects 156 that define the association between the various devices 110-112. For example, storage 110, 1
If 12 is a component of a mirror pair or array set of devices, then the device related object 156 identifies this relationship. Table 2 shows the preferred attributes of device related object 156.

【表2】 【Table 2】

【0040】 このような属性は好ましくは関連識別子を含み、それは関連装置の各所与セッ
トに対する一意的識別子である。属性は好ましくは装置間の関連の種別(例えば
、ミラー対、RIAID5、等)を定義する関連タイプも含む。属性はさらに好
ましくは前記関連の構成要素である装置110−112を識別するだけのメンバ
ーシップリストも含む。
Such an attribute preferably comprises an association identifier, which is a unique identifier for each given set of association devices. The attributes preferably also include association types that define the type of association between devices (eg, mirror pair, RIAID 5, etc.). The attribute further preferably includes a membership list that only identifies the associated component 110-112.

【0041】 記憶装置110−112上の各パーティション158、160、162は好ま
しくは単一パーティションの性質を含むパーティション制御オブジェクト164
も含む。オブジェクト164は好ましくはパーティションだけでなくその中の全
オブジェクトに関与する任意のオブジェクト属性も含む。各装置110−112
は好ましくは装置上で定義される各パーティションに対する1つのパーティショ
ン制御オブジェクト164を含む。図6は各パーティション内に格納されたパー
ティション制御オブジェクトを含んでいるが、そうする必要はない。パーティシ
ョン制御オブジェクトはパーティションの上のフラットファイルシステム内に格
納することができる。
Each partition 158, 160, 162 on storage device 110-112 preferably comprises a partition control object 164 comprising the properties of a single partition
Also includes. Object 164 preferably includes not only partitions, but also any object attributes involved with all objects in it. Each device 110-112
Preferably includes one partition control object 164 for each partition defined on the device. Although FIG. 6 includes partition control objects stored within each partition, this need not be the case. Partition control objects can be stored in the flat file system above partitions.

【0042】 表3は好ましくはパーティション制御オブジェクト168内に含まれるいくつ
かの属性を示す。
Table 3 preferably shows some of the attributes contained within partition control object 168.

【表3】 [Table 3]

【0043】 このような属性は好ましくは全パーティションに対する暗合鍵を定義するマス
ターキーを含み、現在の作用鍵をセットするのに使用することができる。属性は
好ましくはコマンドおよびデータメッセージの暗号化および復号に使用される現
在の作用鍵および前の作用鍵も含む。パーティション制御オブジェクト164は
好ましくは指示したパーティション内の全オブジェクトに関連するオブジェクト
属性も含む。
Such attributes preferably include a master key defining an encrypted key for all partitions, and can be used to set the current working key. The attributes preferably also include the current working key and the previous working key used for encryption and decryption of command and data messages. Partition control object 164 preferably also includes object attributes associated with all objects in the indicated partition.

【0044】 図6は各パーティションが好ましくは記憶媒体上にパーティションが生成され
る時に制御要素150により作り出されるオブジェクトであるパーティションオ
ブジェクトリスト166を含むことも示している。パーティションオブジェクト
リスト166は好ましくは各パーティション内に同じ識別子を有し、記憶媒体上
に実現したオブジェクトファイルシステムをナビゲートするための出発点を構成
する。表5は好ましくは各パーティションオブジェクトリストに関連する属性の
リストを示す。
FIG. 6 also shows that each partition preferably includes a partition object list 166, which is an object created by the control element 150 when the partition is created on the storage medium. The partition object list 166 preferably has the same identifier in each partition and constitutes a starting point for navigating the object file system implemented on the storage medium. Table 5 preferably shows a list of attributes associated with each partition object list.

【表4】 [Table 4]

【0045】 表4に示すように、好ましくはオブジェクトはパーティション内に常駐する全
オブジェクトに対するオブジェクト識別子(すなわちオブジェクトID)のリス
ト、および各オブジェクトに割り当てられるユーザスペースのボリュームを含む
。オブジェクト識別子はオブジェクトを開き、読出し、書込んで閉じるためにリ
クエスタにより使用される。さらに、ユーザは好ましくはパーティションオブジ
ェクトリスト内にユーザデータ属性をセットすることにより各オブジェクトID
に対してユーザスペースを割り当てる。パーティションオブジェクトリスト16
6の後に、各パーティションは好ましくは複数のデータオブジェクト168を含
む。各データオブジェクト168は好ましくは表1に示した1つ以上の属性を含
み、データ記憶システムの特定のインプリメンテーションに応じて付加属性を含
むことができる。
As shown in Table 4, preferably the objects include a list of object identifiers (ie object IDs) for all objects residing in the partition, and the volume of user space allocated to each object. Object identifiers are used by requesters to open, read, write and close objects. Furthermore, the user preferably sets each object ID by setting the user data attribute in the partition object list
Allocate user space for Partition object list 16
After six, each partition preferably includes a plurality of data objects 168. Each data object 168 preferably includes one or more of the attributes shown in Table 1 and may include additional attributes depending on the particular implementation of the data storage system.

【0046】 オブジェクトオリエンテッド記憶装置110−112は好ましくはリクエスタ
116−120にデータを与えたり格納したりする要求をサポートする。さらに
、記憶装置110−112は好ましくは従来技術における他の構成要素、恐らく
はオペレーティングシステム、において行われる他の機能に対して責任を負う。
装置110−112上のオブジェクトに関連する属性の保守だけでなく、スペー
ス管理が好ましくは装置110−112自体により実施される。このような機能
は好ましくは各記憶装置110−112内の制御要素150により実現されるイ
ンターフェイス128によりサポートされる方法を呼び出して実施される。呼び
出すことができるいくつかの方法については後述する。しかしながら、このよう
な方法をよく理解できるようにするために、図7−1および図7−2に本発明の
1つの特徴に従ったオブジェクトオリエンテッドファイルシステムのナビゲーシ
ョンを示すフロー図を示す。以下に説明する各方法の詳細検討を行う前に図7−
1および図7−2の検討を行えば本発明を容易に理解できるものと信じる。
Object oriented storage 110-112 preferably supports requests to provide and store data to requestors 116-120. In addition, storage devices 110-112 are preferably responsible for other components in the prior art, possibly other functions performed in the operating system.
Space management is preferably implemented by the devices 110-112 themselves, as well as maintenance of attributes associated with objects on the devices 110-112. Such functions are preferably implemented by invoking methods supported by the interface 128 implemented by the control element 150 in each storage device 110-112. Some of the ways in which it can be called will be described later. However, to provide a better understanding of such a method, FIGS. 7-1 and 7-2 show a flow diagram illustrating the navigation of an object oriented file system according to one aspect of the present invention. Before detailed examination of each method described below, FIG.
It is believed that the present invention can be easily understood if the examination of 1 and FIG. 7-2 is conducted.

【0047】 ブロック170−204から伸びる図7−1および図7−2は1つの記憶装置
110−112上の指定したパーティション内でオブジェクトを見つけ出すこと
を示す。最初に、リクエスタ116は装置制御オブジェクト154内の装置属性
を得る。それはブロック172により示される。Get-DCO-Attributes方法の呼出
しにより制御要素150は装置制御オブジェクト154内に格納された属性を戻
す。それはブロック174により示される。次にリクエスタ116は装置制御オ
ブジェクト154から戻された属性に基づいて所与のパーティションを選択する
。それはブロック176により示される。
FIGS. 7-1 and 7-2, which extend from block 170-204, illustrate finding objects within a designated partition on one storage device 110-112. Initially, requestor 116 obtains device attributes within device control object 154. It is indicated by block 172. The control element 150 returns the attributes stored in the device control object 154 by calling the Get-DCO-Attributes method. It is indicated by block 174. The requestor 116 then selects a given partition based on the attributes returned from the device control object 154. It is indicated by block 176.

【0048】 リクエスタ116によりパーティションが選択されると、次にリクエスタ11
6はブロック173に示すようにGet-DAO-Attributes方法を呼び出す。それによ
り制御要素150は記憶媒体110上に格納された装置関連オブジェクト156
から属性を得る。次にブロック175に示すように、制御要素150は装置関連
属性をリクエスタ116に戻す。装置関連属性および装置制御属性に基づいて、
リクエスタ116は質問するパーティションを選択する。それはブロック176
により示される。
Once a partition is selected by the requestor 116, the requestor 11 can then
6 calls the Get-DAO-Attributes method as shown in block 173. Thereby, the control element 150 is a device related object 156 stored on the storage medium 110.
Get attributes from Control element 150 then returns device related attributes to requestor 116, as shown in block 175. Based on device related attributes and device control attributes
The requestor 116 selects the partition to query. That's block 176
Indicated by.

【0049】 次にリクエスタ116はGet-PCO-Attributes方法を呼び出し、それにより制御
要素158はリクエスタ116により質問される特定のパーティションに関連す
るパーティション制御オブジェクト164内で見つかった属性を得る。それによ
り制御要素150はパーティション制御オブジェクト属性を得てそれを戻す。そ
れはブロック178および180により示される。選択したパーティション内の
オブジェクトがリクエスタにとって興味のないオブジェクトであれば、ブロック
182および176に示すように次にリクエスタは別のパーティションを選択す
る。
The requestor 116 then invokes the Get-PCO-Attributes method, which causes the control element 158 to obtain the attributes found in the partition control object 164 associated with the particular partition being interrogated by the requestor 116. The control element 150 thereby obtains the partition control object attribute and returns it. It is indicated by blocks 178 and 180. If the objects in the selected partition are not of interest to the requestor, then the requestor selects another partition, as shown in blocks 182 and 176.

【0050】 しかしながら、リクエスタ116が興味あるパーティションを見つけ出したと
仮定すると、ブロック184に示すようにリクエスタはGet-POL-Attributesを呼
び出す。この方法により制御要素150は選択したパーティションに関連するパ
ーティションオブジェクトリスト166から属性を得る。ブロック186に示す
ように、次にこれらの属性はリクエスタ116へ与えられる。
However, assuming that the requestor 116 has found the partition of interest, the requestor calls Get-POL-Attributes, as shown in block 184. In this manner, control element 150 obtains attributes from partition object list 166 associated with the selected partition. These attributes are then provided to the requestor 116, as indicated at block 186.

【0051】 次にリクエスタ116はOpen-Read-Only-POL方法を呼び出す。それはブロック
188により示される。後述するように、制御要素150は選択したパーティシ
ョンに関連するパーティションオブジェクトリスト166内に格納されたデータ
を得るが、データは修正もしくは拡張できないようにリードオンリーベースで与
えられることを示すようにそのオブジェクト内の属性を修正する。それはブロッ
ク190により示される。
The requestor 116 then invokes the Open-Read-Only-POL method. It is indicated by block 188. As described below, the control element 150 gets the data stored in the partition object list 166 associated with the selected partition, but that object to indicate that the data is given on a read-only basis so that it can not be modified or expanded. Modify the attributes in It is indicated by block 190.

【0052】 次にリクエスタ116はそれが見直すために選択したパーティション内のオブ
ジェクトのリストを制御要素150に提出させるRead-POL方法を呼び出す。それ
はブロック194により示される。選択したパーティション内の所望のオブジェ
クトを選択した後で、リクエスタ116は制御要素150にパーティションオブ
ジェクトリストを閉じさせるclose-POL方法を呼び出す。それはブロック196 により示される。
The requestor 116 then invokes the Read-POL method, which causes the control element 150 to submit a list of objects in the partition that it has selected for review. It is indicated by block 194. After selecting the desired object in the selected partition, the requestor 116 invokes the close-POL method which causes the control element 150 to close the partition object list. It is indicated by block 196.

【0053】 所望のオブジェクトに対するオブジェクトIDを見つけたら、次にリクエスタ
116はOpen-xxx-Objectx方法呼び出す。xxxはリクエスタが所望する特定のデ ータ操作に基づいてリクエスタにより呼び出される特定の開く方法である。Obje
ctxはリクエスタにより操作もしくはアクセスされるオブジェクトを識別するパ ーティションオブジェクトリストからのオブジェクトIDを示す。xxxは、例え ば、Open-Update操作、もしくはOpen-Read-Only操作を表すことができる。それ らについては後述し、このステップはブロック198により示される。
Once the object ID for the desired object is found, then the requestor 116 calls the Open-xxx-Objectx method. xxx is a specific opening method called by the requester based on the specific data manipulation desired by the requester. Obje
ctx indicates an object ID from a partition object list identifying an object operated or accessed by the requester. For example, xxx can represent an Open-Update operation or an Open-Read-Only operation. They are described below and this step is indicated by block 198.

【0054】 次にリクエスタは制御要素150により戻されるオブジェクトの所望の操作を
実施する。オブジェクトを操作するのに使用できるさまざまな方法について後述
する。それはブロック200により示される。
The requestor then performs the desired manipulation of the object returned by the control element 150. The various methods that can be used to manipulate objects are described below. It is indicated by block 200.

【0055】 最後に、所望のオブジェクト操作やアクセスがリクエスタにより完了すると、
リクエスタ116はやはり後述されリクエスタ116によりアクセスされたオブ
ジェクトを閉じるように動作するClose-Objectx方法を呼び出す。
Finally, when the desired object operation or access is completed by the requester,
The requestor 116 also invokes the Close-Objectx method, which is described below and operates to close objects accessed by the requestor 116.

【0056】 図8−24は装置110等のオブジェクトオリエンテッド装置上に格納された
オブジェクトの所望の機能および所望の操作を遂行するために、リクエスタによ
り呼び出すことができるさまざまな典型的方法を示すフロー図である。
FIGS. 8-24 are flows showing various exemplary methods that can be invoked by a requester to perform desired functions and desired operations of objects stored on an object oriented device such as device 110. FIG.

【0057】 図8は特にOpen-Create-Object方法を示すフロー図である。リクエスタ116
がこの方法を呼び出すと、ブロック208に示すように、制御要素150は新し いIDを生成してオブジェクトが生成される特定のパーティションに関連するパ
ーティションオブジェクトリスト内にIDを入れる。それはブロック210によ
り示される。次に制御要素150はオブジェクトに関連するブロック数等を割当
て、オブジェクト生成時間を示しかつオブジェクトに関連し表1に載っている他
の属性をセットするようにオブジェクト属性を修正することにより新しいオブジ
ェクトを生成する。これはブロック212により示される。次に、制御要素15
0は生成されたばかりのオブジェクトの新しいIDと共に要求の状態を戻す。こ
れはブロック214により示される。
FIG. 8 is a flow diagram specifically illustrating the Open-Create-Object method. Requester 116
When the method invokes this method, as shown in block 208, control element 150 generates a new ID and places the ID in the partition object list associated with the particular partition for which the object is to be generated. It is indicated by block 210. Control element 150 then assigns the number of blocks associated with the object, etc., indicates the object creation time, and modifies the object attributes to modify the object attributes to set other attributes associated with the object and listed in Table 1. Generate This is indicated by block 212. Next, control element 15
0 returns the state of the request with the new ID of the object just created. This is indicated by block 214.

【0058】 単にオブジェクトを生成する他に、リクエスタ116はいくつかのオプション
を指定することができる。例えば、好ましい実施例では、リクエスタ116はオ
ブジェクトがパスワード保護されるか、オブジェクトは暗号化されるか、ある品
質サービス(例えば、オブジェクトがバックアップされるか)、ロック特性(た
とえば、パーティションおよび装置ロック等の任意他のロックだけでなくオブジ
ェクトロックによりオブジェクトがロックされるか)、アクセス制御バージョン
、ミラーその他のバックアップサポート(それにより全ての更新が他のオブジェ
クト上にミラーされるか、あるいは指定される他の方法でバックアップされる)
を指定して、指定した最小サイズでスペースが割り当てられることを表示し、衝
突特性(UNIX−タイプシステムへの書込み)をセットすることができる。
In addition to just creating objects, the requestor 116 can specify several options. For example, in the preferred embodiment, the requestor 116 is an object password protected, an object encrypted, some quality service (eg, object backed up), locking characteristics (eg, partition and device locks, etc.) Objects locked by object locks as well as any other locks), access control versions, mirrors and other backup support (so that all updates are mirrored or designated on other objects) Will be backed up by
Can be specified to indicate that space is allocated with the specified minimum size, and collision properties (writing to UNIX-type systems) can be set.

【0059】 この方法を呼び出すためにリクエスタ116が制御要素150へ与える特定の
情報にはセキュリティのためにそれを要求するシステム内の許可情報、オブジェ
クトが生成される装置のパーティション、および前記した任意のオプションが含
まれる。それに応答して、1実施例において制御要素15は装置上で利用可能な
容量、要求の状態を新しいオブジェクトIDと共に戻す。
The specific information that the requestor 116 provides to the control element 150 to invoke this method is the authorization information in the system that requires it for security, the partition of the device on which the object is generated, and any of the aforementioned. Contains options. In response, in one embodiment, control element 15 returns the available capacity on the device, the status of the request, along with the new object ID.

【0060】 オブジェクトに関連する全データを含むこの方法の特殊なインスタンスを呼び
出せることもお判り願いたい。その場合、オブジェクトを生成し、オブジェクト
に書き込み、オブジェクトを閉じることができる1つの方法を呼び出すことがで
きる。
Note also that special instances of this method can be invoked, including all data associated with the object. In that case, one can create an object, write to the object, and invoke one method that can close the object.

【0061】 図9はOpen-Update-Objectx方法を示すフロー図である。リクエスタ116が この方法を呼び出すと、ブロック220に示すように、リクエスタ116は指定
したオブジェクトを読み書きすることができる。またオブジェクトの長さの延長
も行われる。この方法が呼び出されると、制御要素150はオブジェクトが使用
されていることを示す指定したオブジェクト内に属性をセットする。リクエスタ
116は許可情報、オブジェクトを含むパーティションID、アクセスされるオ
ブジェクトの識別子、とられるアクションの(更新や読出し)および前記した任
意のオプションを提供する。それに応答して、制御要素150は要求の状態およ
び指定したオブジェクトの長さを、リクエスタ116が利用可能な残りの容量と
共に戻す。
FIG. 9 is a flow diagram illustrating the Open-Update-Objectx method. When the requestor 116 invokes this method, the requestor 116 can read and write the specified object, as shown in block 220. It also extends the length of the object. When this method is called, control element 150 sets an attribute in the specified object indicating that the object is being used. The requester 116 provides permission information, a partition ID containing the object, an identifier of the object to be accessed, an action (update or read) to be taken, and any of the options described above. In response, control element 150 returns the status of the request and the length of the specified object, along with the remaining capacity available to requestor 116.

【0062】 図10はWrire-Object方法を示すフロー図である。リクエスタ116がこの方
法を呼び出すと、ブロック242に示すように、制御要素150は指定した数の
ブロックを指定した場所の指示されたオブジェクト内に書き込む。
FIG. 10 is a flow chart showing the Wrire-Object method. When the requestor 116 invokes this method, as indicated at block 242, the control element 150 writes the specified number of blocks into the specified object at the specified location.

【0063】 またWrite方法により他の方法を呼び出すこともできる。例えば、アクセスさ れる装置110−112上でパリティサポートが呼び出される場合、ライトは書
き込まれるデータおよび予め指定した1つ以上のパリティ装置に書き込まれるパ
リティデータに対して排他的OR操作を実施する排他的OR方法を自動的に呼び
出すことができる。
Another method can also be called by the Write method. For example, if parity support is invoked on the devices 110-112 to be accessed, the write performs an exclusive-OR operation on the data to be written and parity data to be written to one or more pre-specified parity devices. The OR method can be called automatically.

【0064】 この方法を呼び出すために、リクエスタ116は許可情報、オブジェクト識別
子、パーティションID、オブジェクト内の書き込まれるブロックの開始位置、
オブジェクトに書き込まれるいくつかのブロック、オプション情報、および書き
込まれるデータを与える。この方法が呼び出されると、制御要素150は与えら
れる特定のデータで指定したオブジェクトを修正する。これはブロック244に
より示される。次に制御要素150はオブジェクトの長さ、オブジェクトに関連
するタイムスタンプ、等の指定したオブジェクト内の必要な属性を修正する。こ
れはブロック246により示される。次に制御要素150は、必要であれば、パ
ーティションオブジェクトリスト等の他のオブジェクトの必要な属性を修正する
。これはブロック248により示される。次に制御要素150は要求の状態を特
定のリクエスタへ戻す。これはブロック250により示される。
In order to invoke this method, requestor 116 is allowed information, an object identifier, a partition ID, the start position of the block to be written in the object,
Provides some blocks to be written to the object, optional information, and data to be written. When this method is called, control element 150 modifies the specified object with the particular data provided. This is indicated by block 244. Control element 150 then modifies the required attributes in the specified object, such as object length, timestamp associated with the object, etc. This is indicated by block 246. The control element 150 then modifies the necessary attributes of other objects, such as the partition object list, if necessary. This is indicated by block 248. Control element 150 then returns the status of the request to the particular requester. This is indicated by block 250.

【0065】 図11はOpen-Read-Only-Objectx方法を示すフロー図である。この方法が呼び
出されると、制御要素150によりリクエスタ116は読取専用の目的で指定し
たオブジェクトへアクセスすることができる。したがって、このオブジェクトが
呼び出されると、ブロック230に示すように、リクエスタは許可情報、パーテ
ィションID、オブジェクトID、およびオプション情報を与える。次に制御要
素150は指定したオブジェクト内に属性をセットしてオブジェクトが使用され
ていることを示す。これはブロック232により示される。次に制御要素150
はオブジェクト内に読取専用属性をセットしてオブジェクトはリクエスタにより
書き込めないことを示す。これはブロック234により示される。次に制御要素
150は要求の状態および指定したオブジェクトの長さを戻す。これはブロック
236により示される。
[0065] Figure 11 is a flow diagram illustrating the Open-Read-Only-Object x methods. When this method is called, control element 150 allows requester 116 to access the specified object for read-only purposes. Thus, when this object is called, the requester provides permission information, partition ID, object ID, and option information, as shown in block 230. Next, control element 150 sets an attribute in the specified object to indicate that the object is being used. This is indicated by block 232. Control element 150 next
Sets the read-only attribute in the object to indicate that the object can not be written by the requester. This is indicated by block 234. Control element 150 then returns the state of the request and the length of the specified object. This is indicated by block 236.

【0066】 図12はRead-Objects方法を示すフロー図である。この方法は装置110が指
定したオブジェクトからデータを戻すことをリクエスタ116が望む場合にリク
エスタ116により呼び出される。リクエスタは許可情報、オブジェクトID、
パーティションID、読み出されるブロックの開始位置、読み出されるいくつか
のブロック、および任意他の所望のオプション情報を与える。それに応答して、
制御要素150は要求の状態、戻されるデータの長さ、およびこの方法に応答し
て戻される実際のデータを戻す。これはブロック256および258により示さ
れる。
FIG. 12 is a flow chart showing the Read-Objects method. This method is invoked by the requestor 116 when the requestor 116 wishes to return data from an object specified by the device 110. The requester has permission information, object ID,
Provides partition ID, start position of block to be read, some blocks to be read, and any other desired option information. In response to that
Control element 150 returns the status of the request, the length of the data returned, and the actual data returned in response to this method. This is illustrated by blocks 256 and 258.

【0067】 図13はClose-Objectx方法を示すフロー図である。この方法がリクエスタ1 16により呼び出されると、ブロック264に示すように、リクエスタは許可情
報、オブジェクトID、および任意所望のオプション情報を与える。それに応答
して、制御要素150はブロック266に示すように指定したオブジェクト内の
データを修正する。さらに、すでに記憶媒体に書き込まれていなければ、オブジ
ェクトへの書込みにより生じるオブジェクトの任意の変化がこの時点で書き込ま
れる。ブロック268に示すように、制御要素150はオブジェクトxの属性も
更新する。例えば、新たに生成されたオブジェクトであれば、この属性は生成時
間および他の必要な属性情報により更新される。さらに、属性はオブジェクト内
のデータが修正された最後の時間、変化している場合のデータの長さを表示する
ように修正され、オブジェクトが所与のリクエスタによりもはや使用されていな
いことを示す属性が制御要素150によりセットされる。
FIG. 13 is a flow chart showing the Close-Objectx method. When the method is invoked by requestor 116, the requestor provides authorization information, an object ID, and any desired option information, as shown in block 264. In response, control element 150 modifies the data in the specified object as indicated at block 266. Furthermore, any changes in the object resulting from the writing to the object are written at this point, if not already written to the storage medium. As indicated at block 268, control element 150 also updates the attributes of object x. For example, if it is a newly created object, this attribute is updated with the creation time and other necessary attribute information. In addition, the attribute is modified to indicate the last time the data in the object was modified, the length of the data if it is changing, indicating that the object is no longer used by a given requester. Are set by the control element 150.

【0068】 制御要素150は、随意、オブジェクトに関連しかつオブジェクト属性に反映
される残りのキュッシュ情報を更新することもできる。これはブロック270に
より示される。例えば、要求を行う特定のリクエスタ116が閉じたオブジェク
トに対してまだデータがキャッッシュされている、あるいはもはやキャッシュさ
れていないことを記憶装置110に知らせるように構成されている場合には、オ
ブジェクトが迅速に連続して再度閉じたり開いたりされるこれらのアプリケーシ
ョンに対して記憶装置110のオペレーティングシステムはキャッシュ情報を保
持することができる。しかしながら、同時に、別のリクエスタがこのオブジェク
トへのアクセスを要求する場合、記憶装置110はシステム100内のいずれの
構成要素にコヒーレンシ衝突を知らせる必要があるかを追跡し続けることができ
る。ブロック272に示すように、次に制御要素150は要求の状態を戻す。
The control element 150 can optionally update the remaining cush information associated with the object and reflected in the object attributes. This is indicated by block 270. For example, if the particular requester 116 making the request is configured to inform storage 110 that the data is still cached for the closed object or is no longer cached, then the object is quick. The operating system of storage device 110 can maintain cache information for these applications that are subsequently reopened and closed again. However, at the same time, if another requestor requests access to this object, storage device 110 can keep track of which components in system 100 need to be notified of a coherency conflict. The control element 150 then returns the status of the request, as shown in block 272.

【0069】 図14はRemove-Object方法を示すフロー図である。この方法が呼び出される と、ブロック278に示すように、制御要素150は記憶媒体からオブジェクト
を削除するのに必要なステップをとる。これはブロック280に示される。次に
制御要素150は指定したオブジェクトIDが利用できることを反映させるため
に、オブジェクトが削除されたパーティションに関連するパーティションオブジ
ェクトリストを修正する。これはブロック282に示される。次に制御要素15
0はブロック284に示すように要求の状態を戻す。この方法を呼び出すために
、リクエスタ116は許可情報、パーティションID、オブジェクトID、およ
び任意所望のオプション情報を与える。ブロック284に示すように、次に制御
要素150は要求の状態を戻す。
FIG. 14 is a flow chart showing the Remove-Object method. When this method is invoked, as shown in block 278, control element 150 takes the necessary steps to delete the object from the storage medium. This is indicated at block 280. Next, the control element 150 modifies the partition object list associated with the partition from which the object has been deleted, in order to reflect that the specified object ID is available. This is indicated at block 282. Control element 15 next
A zero returns the status of the request as shown in block 284. To invoke this method, requestor 116 provides permission information, partition ID, object ID, and any desired option information. The control element 150 then returns the status of the request, as shown in block 284.

【0070】 図15は、ブロック290に示すように、記憶装置110上にパーティション
を生成するためにリクエスタにより呼び出すことができるCreate-Partitionx方 法を示すフロー図である。Create-Partitionx方法はドライブを1つ以上の領域 へ仕切るが、記憶媒体上の全てのスペースを考慮する必要はないことをお判り願
いたい。さらに、パーティション領域はディスク上のさまざまなゾーンにわたる
ことができる。
FIG. 15 is a flow diagram illustrating a Create-Partitionx method that can be invoked by a requester to create a partition on storage device 110, as indicated at block 290. Note that although the Create-Partitionx method partitions the drive into one or more areas, it is not necessary to consider all the space on the storage medium. In addition, partition space can span different zones on the disk.

【0071】 1実施例では、この方法はタイル配置でパーティションを生成するのに使用さ
れ、パーティションは装置上の記憶スペースの真の分割を表す。この配置はデー
タアレイ等のサービスレベルによりスペースを分割するのに使用される。このよ
うなパーティションはリサイズすることができないが、除去および再生成するこ
とができる。
In one embodiment, this method is used to create partitions in a tile arrangement, where the partitions represent a true division of storage space on the device. This arrangement is used to divide the space by service levels such as data arrays. Such partitions can not be resized, but can be removed and regenerated.

【0072】 本発明の別の特徴に従って、スペースをオブジェクトをサービスレベルに従っ
て管理するのではなくオブジェクトを論理的に構成するために、パーティション
は論理的パーティショニングとして使用される。この第2の実施例では、パーテ
ィションはダイナミックにリサイズすることができる。
In accordance with another aspect of the invention, partitions are used as logical partitioning to logically organize objects rather than managing space according to service levels. In this second embodiment, partitions can be dynamically resized.

【0073】 この方法を呼び出すために、リクエスタは許可情報、任意所望のオプション、
パーティションID、および識別された特定の部分へ割り当てられるスペースを
識別する初期スペース割当てを与える。それに応答して、ブロック292に示す
ように、制御要素150は記憶媒体上のスペースを特定のパーティションへ割り
当てる。ブロック294および296に示すように、次に制御要素150はパー
ティション制御オブジェクトおよびパーティションオブジェクトリストを確立す
る。前記したように、パーティションオブジェクトリストは除去できずパーティ
ション内のオブジェクトをナビゲートするための開始点としての役を果たす。次
に制御要素150は要求の状態および行われているパーティショニングを示すパ
ーティションマップを戻す。これはブロック298に示されている。
In order to invoke this method, the requestor may enter authorization information, optional options,
The partition ID and initial space allocation identifying the space allocated to the identified specific part is provided. In response, as shown at block 292, control element 150 allocates space on the storage medium to a particular partition. Control element 150 then establishes a partition control object and a partition object list, as shown in blocks 294 and 296. As mentioned above, the partition object list can not be removed and serves as a starting point for navigating objects in the partition. Control element 150 then returns a partition map indicating the status of the request and the partitioning being performed. This is indicated at block 298.

【0074】 図16はRemove-partitionx方法を示すフロー図である。この方法を呼び出す ために、リクエスタ116は許可情報、オプション情報、および除去されるパー
ティションを識別するパーティションIDを与える。これはブロック304に示
されている。それに応答して、制御要素150はブロック306に示すように予
めパーティションに関連しているスペースを再割当てする。次に制御要素150
は削除されるパーティションに関連するパーティションオブジェクト内の全オブ
ジェクトを除去し、パーティションオブジェクトリストを削除してパーティショ
ン制御オブジェクトを削除する。これはブロック308、310、312に示さ
れている。次に制御要素150は要求の状態およびパーティショニングになされ
た変化を示すパーティションマップを戻す。これはブロック314に示されてい
る。
FIG. 16 is a flow diagram illustrating the Remove-partitionx method. To invoke this method, requestor 116 provides permission information, option information, and a partition ID that identifies the partition to be removed. This is indicated at block 304. In response, control element 150 reassigns the space previously associated with the partition as shown in block 306. Control element 150 next
Removes all objects in the partition object associated with the partition to be deleted, deletes the partition object list and deletes the partition control object. This is indicated at blocks 308, 310, 312. Control element 150 then returns a partition map that indicates the status of the request and the changes made to the partitioning. This is indicated at block 314.

【0075】 本発明の1つの特徴に従って、データ管理ポリシーが各記憶装置110−11
2へ通信され、記憶装置は互いに独立に作用して管理ポリシーを実行するように
される。それにより、人間の介入が少なくなるだけでなくより予測可能でタイム
リーな管理制御となる著しい利点が得られる。
In accordance with one aspect of the present invention, a data management policy is stored on each storage device 110-11.
It is communicated to 2 and the storage devices are made to act independently of one another to execute the management policy. Not only does this reduce human intervention, but it also provides significant benefits of more predictable and timely management control.

【0076】 例えば、記憶装置110−112上のデータは毎週バックアップすることが望
ましいことがある。従来のシステムは典型的に週末のアイドル期間中にバックア
ップされて、営業日中はシステムの稼動性が中断されないようにされる。しかし
ながら、システム容量が増大してきているのと同時に稼動性のウィンドウは次第
に収縮してきている。したがって、データの考えられるテラバイトをバックアッ
プするのに十分な長さのシステム中断時間を見つけようとする問題は非常に困難
になる。
For example, it may be desirable to back up the data on storage devices 110-112 weekly. Conventional systems are typically backed up during weekend idle periods to ensure that system availability is not interrupted during business days. However, at the same time as system capacity is increasing, availability windows are shrinking gradually. Thus, the problem of trying to find a system downtime long enough to backup possible terabytes of data becomes very difficult.

【0077】 したがって、本発明の1つの特徴に従って、割り当てられる属性に基づいてオ
ブジェクトに対してアクションをとることにより、オブジェクトオリエンテッド
記憶装置110−112はオブジェクトがそのとられるバックアップに対して正
しい状態に達する時は常にバックアップ情報を知らせることができる。また、全
ファイルのバックアップを長期間にわたって−その間に他はまだ更新中−データ
の完全性に影響を及ぼすことなく引き延ばすことができる。
Thus, in accordance with one aspect of the present invention, by taking action on the object based on the assigned attributes, the object oriented storage 110-112 will be in the correct state for the object backup. Backup information can be notified whenever it reaches. Also, full file backups can be extended over time-while others are still updating-without affecting data integrity.

【0078】 オブジェクトオリエンテッド記憶装置110−112によりアクションを呼び
出すことができる属性の他の例として暗号化、圧縮、バージョンニングおよびパ
リティ冗長性が含まれる。これらの各例において、記憶装置110−112は好
ましくは特定のオブジェクトもしくはオブジェクトセットに関するポリシーしか
知らせる必要がない。次に装置自体が機能を実施するかもしくはサービスを提供
するように指示されたエージェントに知らせることができる。
Other examples of attributes whose actions can be invoked by object oriented storage 110-112 include encryption, compression, versioning and parity redundancy. In each of these instances, storage devices 110-112 preferably need to inform only the policy for a particular object or set of objects. The device itself can then be informed of the agent instructed to perform the function or provide the service.

【0079】 例えば、圧縮および暗号化は記憶装置110−112自体上で実施することが
できる。したがって、装置と通信する必要があるのはオブジェクトに対して圧縮
もしくは暗号化が必要であるという事実だけである。エージェントにより実施さ
れる管理機能に対しては、管理機能ポリシーを記憶装置に知らせるだけでなく、
機能を実施するエージェントの識別も知らせて機能を実施する時に記憶装置がエ
ージェントにアクセスできるようにしなければならない。
For example, compression and encryption may be implemented on storage devices 110-112 themselves. Thus, it is only the fact that compression or encryption is necessary for the object that needs to be communicated to the device. For management functions implemented by the agent, in addition to informing the storage device management function policy,
The identity of the agent performing the function should also be informed and storage should be accessible to the agent when performing the function.

【0080】 本発明の1つの特徴に従って、オブジェクト間に関連(association)が確立 されて同じ属性を有するか従属性を有するものを識別できるようにされる。例え
ば、データベースは6ファイルすなわちオブジェクトを含み、全てが閉じられる
かあるいは他の全てが従属するオブジェクトとして指示されたものが閉じられる
までどれもバックアップできないものとする。オブジェクト間のこの種の関係を
管理するためにファイルサーバ14が必要となることもある。さらに、本発明は
アレイパリティセットの場合のように装置間従属性も確立する。グループの残り
が同じ本質的性質を有することを1つの装置もしくはオブジェクトが確かめるグ
ループを確立できるようにすれば、グループの管理はより効率的で有効なものと
なる。
According to one aspect of the present invention, associations are established between objects such that they can be identified to have the same attributes or dependencies. For example, assume that the database contains six files or objects, none of which can be backed up until all have been closed or everything else indicated as subordinate objects has been closed. A file server 14 may be required to manage this type of relationship between objects. Furthermore, the invention also establishes inter-device dependencies as in the case of array parity sets. Group management can be more efficient and effective if one device or object can establish a group to verify that the rest of the group have the same intrinsic properties.

【0081】 図17−24は記憶装置上のオブジェクトにより呈示される方法を呼び出すこ
とにより実施することができる管理機能を示すフロー図である。方法を呼び出す
ことにより制御要素150および/もしくは関連する制御要素は呼び出した方法
に関連する管理機能を実施するためのステップをとる。
FIG. 17-24 is a flow diagram illustrating a management function that can be implemented by invoking a method presented by an object on a storage device. By invoking the method, the control element 150 and / or the associated control element take steps to perform the management functions associated with the invoked method.

【0082】 図17はExpose-Object方法を示すフロー図である。ブロック320に示すよ うに、リクエスタ116は許可情報、オプション情報、オブジェクトID、ター
ゲットIDおよびターゲットパーティションIDを与えることによりこの方法を
呼び出す。輸出(export)方法により記憶装置110−112所与のオブジェク
トに関連する属性で表現されるルールに基づいてアクションをとることができる
。例えば、それは他の装置へのオブジェクトのバックアップもしくはサポートバ
ージョニングを開始するに使用することができる。
FIG. 17 is a flowchart showing the Expose-Object method. As indicated at block 320, the requestor 116 invokes this method by providing permission information, option information, object ID, target ID and target partition ID. Actions can be taken based on rules expressed in attributes associated with a given object by means of the export method. For example, it can be used to initiate backup or support versioning of objects to other devices.

【0083】 Expose-Objectx方法が呼び出されると、ブロック32に示すように、制御要素
150は記憶媒体から指定したオブジェクトを得る。次に制御要素150はリク
エスタ116により指定されるターゲット装置においてOpen-Create方法を呼び 出す。これはブロック324により示される。次に制御要素150は指定したオ
ブジェクトのデータおよび属性を供給するターゲット装置において書込み方法を
呼び出す。これはブロック326により示される。次に制御要素150はターゲ
ット装置に書き込まれた後でその上のオブジェクトを閉じるターゲット装置にお
いてClose方法を呼び出す。これはブロック328により示される。最後に、制 御要素150はターゲット装置に書き込まれているオブジェクトの新しいオブジ
ェクトIDと共に要求の状態をリクエスタに戻す。これはブロック330により
示される。
When the Expose-Objectx method is called, as shown in block 32, control element 150 gets the specified object from the storage medium. Control element 150 then invokes the Open-Create method on the target device specified by requestor 116. This is indicated by block 324. The control element 150 then invokes the write method on the target device which supplies the data and attributes of the specified object. This is indicated by block 326. The control element 150 then invokes the Close method on the target device to close the objects thereon after being written to the target device. This is indicated by block 328. Finally, control element 150 returns the status of the request to the requester with the new object ID of the object being written to the target device. This is indicated by block 330.

【0084】 制御要素150により実現されるインターフェイス128はリクエスタが見直
し用のオブジェクト属性を得て、オブジェクト属性をセットできるようにする方
法もサポートする。図18および図19はそれぞれ対応するGet-Objectx-Attrib
utesおよびGet-Objectx-Attributes方法を示すフロー図である。
The interface 128 implemented by the control element 150 also supports a method that allows the requester to obtain object attributes for review and to set the object attributes. Figures 18 and 19 show the corresponding Get - Objectx-Attrib
FIG. 5 is a flow diagram showing the utes and Get-Objectx-Attributes methods.

【0085】 ブロック336に示すように、図18に示す方法が呼び出されると、制御要素
150は指定したオブジェクトに対する属性を得る。1実施例では、リクエスタ
は許可情報、オブジェクトID、もしくはオブジェクトIDのリスト、およびオ
プション情報を与える。次に制御要素150はオブジェクトIDに関連する属性
もしくはオブジェクトIDのリストを得てこれらの属性を要求の状態と共にリク
エスタへ戻す。これはブロック338により示される。
As shown at block 336, when the method shown in FIG. 18 is called, the control element 150 gets attributes for the specified object. In one embodiment, the requester provides authorization information, an object ID, or a list of object IDs, and optional information. Control element 150 then obtains a list of attributes or object IDs associated with the object ID and returns these attributes to the requester along with the status of the request. This is indicated by block 338.

【0086】 ブロック344に示すように、図19に示すGet-Objectx-Attributes方法は許
可情報、オブジェクトID、およびオプション情報を制御要素150へ与えるリ
クエスタにより呼び出すことができる。次に制御要素150は指定したオブジェ
クトの属性をリクエスタから与えられる情報で修正し、指定したオブジェクトの
属性と共に要求の状態を戻す。これはブロック346および348により示され
る。
As shown in block 344, the Get-Objectx-Attributes method shown in FIG. 19 can be invoked by a requester that provides permission information, object ID, and option information to the control element 150. The control element 150 then modifies the attributes of the specified object with the information provided by the requester, and returns the status of the request with the attributes of the specified object. This is indicated by blocks 346 and 348.

【0087】 本発明の別の実施例では、オブジェクトをロックしてオブジェクト上に配置さ
れたそのロックを所有するサーバによりアンロックされないかぎりアクセスでき
ないようにすることができる。1実施例では、オブジェクトはオブジェクトレベ
ル、パーティションレベル、もしくは装置レベルでロックすることができる。ロ
ツク機構はザーバ間アクセスリソルーションを与える。好ましい実施例では、こ
のようなロックは保守機能期間間のアクセスを禁止するだけでなく同時更新をス
ケジュールするのに使用される。図20,21、22はGet-AttributeおよびSet
-Attribute方法のインスタンスと考えることができるロック方法を示すフロー図
である。しかしながら、それらがリクエスタのクラスター間でデータの共有に使
用できるように、これらの方法のこれら特定のインスタンスについてさらに詳細
に説明する。
In another embodiment of the present invention, an object can be locked so that it can not be accessed unless it is unlocked by the server that owns the lock placed on the object. In one embodiment, objects can be locked at the object level, partition level, or device level. The lock mechanism provides inter-server access resource. In the preferred embodiment, such a lock is used to schedule concurrent updates as well as prohibit access during maintenance function periods. Figures 20, 21 and 22 show Get-Attribute and Set.
FIG. 6 is a flow diagram showing a locking method that can be considered as an instance of the Attribute method. However, these particular instances of these methods will be described in more detail so that they can be used to share data between requester clusters.

【0088】 図20はRead-Rock-Attributes方法を示すフロー図である。ブロック344に
示すように、この方法は許可情報、オブジェクト、パーティションもしくはID
、ロックパラメータ、および制御要素150へのリクエスタ116からの任意所
望のオプション情報を与えて呼び出すことができる。それに応答して、制御要素
150は指定したオブジェクトがセットされるロックを有するかどうかを確認す
る。次に制御要素150はロックを所有するリクエスタの要求の状態を戻す。こ
れはブロック356により示される。
FIG. 20 is a flow chart showing the Read-Rock-Attributes method. As shown at block 344, the method may include authorization information, objects, partitions or
, Lock parameters, and any desired option information from the requestor 116 to the control element 150 can be invoked and invoked. In response, control element 150 determines whether the specified object has a lock to be set. The control element 150 then returns the state of the request of the requester that owns the lock. This is indicated by block 356.

【0089】 図21はSet-Lock-Attributes方法を示すフロー図である。ブロック362に 示すように、この方法は許可情報、オブジェクト、パーティションもしくは装置
識別子情報、ロックパラメータ、オプション情報を与えてリクエスタにより呼び
出すことができる。この方法が呼び出されると、制御要素150は識別されたオ
ブジェクトに関連するロックを調べる。これはブロック364により示される。
次に制御要素はリクエスタの識別によりロックもしくはアンロック操作を実施し
ようと試みる。これはブロック366により示される。操作を要求するリクエス
タがロックのオーナーであれば、操作は実施される。そうでなければ、操作は実
施されない。いずれにせよ、制御要素150はロックを所有するサーバのIDと
共に要求の状態を戻す。これはブロック368により示される。
FIG. 21 is a flow chart showing the Set-Lock-Attributes method. As indicated at block 362, the method may be invoked by the requester with authorization information, object, partition or device identifier information, lock parameters, option information. When this method is called, control element 150 examines the lock associated with the identified object. This is indicated by block 364.
The control element then attempts to perform a lock or unlock operation with the identity of the requestor. This is indicated by block 366. If the requester requesting the operation is the owner of the lock, the operation is performed. Otherwise, the operation is not performed. In any case, control element 150 returns the status of the request with the ID of the server that owns the lock. This is indicated by block 368.

【0090】 図22はReset-Lock-Attribute方法を示すフロー図である。この機能はロック
を所有するサーバがもはや機能しない場合にロックをリセットしようとするのに
使用される。ブロック374に示すように、この方法は許可情報、オブジェクト
、パーティションもしくは装置識別情報、ロックパラメータ、および任意所望の
オプション情報を与えて呼び出すことができる。ブロック376に示すように、 それに応答して制御要素150は指定したオブジェクト、パーティションもしく
は装置をロックし、ロックを所有するサーバの識別と共に要求の状態を戻す。こ
れはブロック378により示される。
FIG. 22 is a flow diagram illustrating the Reset-Lock-Attribute method. This function is used to try to reset the lock if the server that owns the lock no longer functions. As shown at block 374, the method may be invoked with authorization information, object, partition or device identification information, lock parameters, and optional option information. In response, as shown at block 376, the control element 150 locks the specified object, partition or device and returns the status of the request with the identity of the server that owns the lock. This is indicated by block 378.

【0091】 図23および図24はGetおよびSet-Device-Association方法を示すフロー図 である。これらの方法は装置110−112間の関係を定義もしくは質問する。
このような関係の1つのインプリメンテーションは記憶装置110−112の1
つが第1セットの装置のマスターとして識別され、他はそのセットの従属メンバ
ーであることを含む。第1すなわちマスターセットはセット属性の変化を他のメ
ンバーへ広める責任を負う。第1すなわちマスターセットから供給されなければ
、他のメンバーは属性設定を拒絶できる。記憶装置110−112はこれらの機
能を実施するために、自己検査を実施する能力を与えられる。それにより装置は
装置自体を調べて大きい装置グループのメンバーシップに含まれるかどうかを確
認することができる。
FIGS. 23 and 24 are flow diagrams showing the Get and Set-Device-Association method. These methods define or query the relationship between devices 110-112.
One implementation of such a relationship is one of storage devices 110-112.
One is identified as the master of the first set of devices, including the other being a dependent member of that set. The first or master set is responsible for disseminating set attribute changes to other members. Other members can reject the attribute setting if not supplied from the first or master set. Storage devices 110-112 are given the ability to perform self-tests to perform these functions. The device can then examine the device itself to see if it is included in the large device group membership.

【0092】 図23にGet-Device-Associations方法を示す。ブロック384に示すように 、この方法は許可情報、オプション情報を与えて呼び出すことができる。それに
応答して、制御要素150は要求の状態および装置がメンバーである要求した関
連を戻す。これはブロック386により示される。図24はSet-Device-Associa
tions方法を示すフロー図である。ブロック392に示すように、この方法は許 可情報、オプション情報、およびメンバーリストおよび関連を定義する属性を与
えて呼び出すことができる。それに応答して、ブロック394に示すように、制
御要素150は記憶媒体上に含まれる装置関連オブジェクト156を修正する。
装置関連オブジェクトはリクエスタから与えられる属性を含み、オブジェクト属
性が最後に修正される時間を示すタイムスタンプ、等を含むように修正される。
ブロック396に示すように、制御要素150は要求の状態を戻す。
FIG. 23 shows the Get-Device-Associations method. As shown at block 384, the method may be invoked with authorization information, option information. In response, control element 150 returns the status of the request and the requested association of which the device is a member. This is indicated by block 386. Figure 24 shows Set-Device-Associa
FIG. 5 is a flow diagram illustrating the methods of As shown in block 392, the method can be invoked with attributes defining permission information, option information, and member lists and associations. In response, as shown at block 394, control element 150 modifies device-related objects 156 contained on the storage medium.
The device-related object is modified to include an attribute given by the requester, a timestamp indicating the time at which the object attribute is last modified, and so on.
As indicated at block 396, control element 150 returns the status of the request.

【0093】 前記した許可情報により、ファイルサーバ114が記憶装置110−112か
ら応答を得るのに必要な証明書を与えるのはどのリクエスタ116−120であ
るかを制御することにより、ファイルサーバ114は記憶装置へゲートアクセス
することができる。また、ファイルサーバ114はインスタレーションセキュリ
ティポリシーに追従するI/O要求しか引き受けてはならないことを記憶装置1
10−112に指令する。許可セキュリティ能力の基礎をなす鍵はSet-Device-A
ttributes方法により記憶装置110−112と通信するように図示されている 。記憶装置110−112に対して適切なセキュリティがセットされておれば、
その記憶装置はセキュリティコンプライアンスに対するあらゆるI/Oコマンド
をチェックするように構成することができる。しかしながら、前記したように、
あるアプリケーションはセキュリティを利用する必要がない。さらに、特定のサ
ーバクラスターが別の物理的ファシリティ内に配置されたある装置を有する場合
には、遠隔配置された装置との通信にはハイレベルのセキュリティを定義するが
、ローカルトラフィックからの通信に対してはそうしないことが望ましい。それ
により、遠隔配置リクエスタもしくはサーバに対するセキュリティを利用するが
、ローカルリクエスタもしくはサーバに対してこのようなセキュリティを利用す
ることに伴う性能ロスを回避することができる。
By controlling which requester 116-120 gives the certificate necessary for the file server 114 to obtain a response from the storage device 110-112 according to the above described permission information, the file server 114 can It has gate access to the storage device. In addition, the storage device 1 that the file server 114 can only accept I / O requests that follow the installation security policy.
Command 10-112. The key underlying authorization security capabilities is Set-Device-A
It is shown communicating with storage devices 110-112 according to the ttributes method. If appropriate security is set for storage devices 110-112,
The storage can be configured to check every I / O command for security compliance. However, as mentioned above,
Some applications do not need to use security. Furthermore, if a particular server cluster has one device located in another physical facility, high level security is defined for communication with remotely located devices, but for communication from local traffic It is desirable not to do so. This makes it possible to use security for remotely located requesters or servers but avoid the performance loss associated with using such security for local requestors or servers.

【0094】 さらに、各記憶装置110−112が好ましくはタイムスタンプセキュリティ
メッセージおよびオブジェクトに使用される読取可能な単調増分クロックを含む
。1実施例では、さまざまな装置に対するクロックがシステムワイドベースで同
期化されている。別の実施例では、ファイルサーバ114は記憶装置ごとの相違
および値を調整する。
Furthermore, each storage unit 110-112 preferably includes a readable monotonically incrementing clock used for timestamp security messages and objects. In one embodiment, the clocks for the various devices are synchronized on a system wide basis. In another embodiment, file server 114 adjusts for storage differences and values.

【0095】 したがって、本発明は従来の記憶装置を凌ぐ著しい利点を有するディスクドラ
イブのようなオブジェクトオリエンテッド記憶装置を提供することがお判りであ
ろう。オブジェクトオリエンテッド記憶装置はクラスタアーキテクチュアを著し
く改善する。例えば、オブジェクトオリエンテッド式にデータを格納することに
より、データは記憶装置自体により管理することができる。オブジェクトはそれ
自体のスペースを管理する責任を負うことができるように記憶装置にその常駐デ
ータの十分な知識を与える。さらに、装置が論理的エンティティを構成するもの
に関する情報を有する場合は、データ共有はよりインテリジェントに制御するこ
とができる。他例えば、2つのシステムがブロックオリエンテッド装置上に格納
されたデータを共有する場合、全てのメタデータアクティビティを同時アクセス
に対して制御しなければならない。これに対して、オブジェクトオリエンテッド
装置では大部分のメタデータアクティビティがそれにアクセスするシステムに対
して不透明である。したがって、システムはユーザデータとのアクセス競合しか
関わる必要がない。さらに、装置自体により実施されるスペース管理により、同
じ時間に同じ記憶装置上のスペースを管理しようとする2つのシステムから生じ
ることがあるいかなる衝突や混乱も解消される。
Thus, it can be seen that the present invention provides an object oriented storage such as a disk drive that has significant advantages over conventional storage. Object oriented storage significantly improves the cluster architecture. For example, by storing data in an object-oriented manner, data can be managed by the storage device itself. The object is given sufficient knowledge of its resident data so that the object can be responsible for managing its own space. Furthermore, data sharing can be more intelligently controlled if the device has information about what constitutes a logical entity. For example, if two systems share data stored on a block oriented device, then all metadata activities have to be controlled for simultaneous access. In contrast, in object-oriented devices, most metadata activity is opaque to the system accessing it. Thus, the system need only be concerned with access conflicts with user data. Furthermore, the space management implemented by the device itself eliminates any conflicts or confusion that may arise from two systems trying to manage space on the same storage at the same time.

【0096】 さらに、混交計算はオブジェクト抽象により遥かに容易とされる。オブジェク
トオリエンテッド記憶装置はオペレーティングシステムが解釈することができる
機構を少なくとも有する能力を提供する。
Furthermore, mixed computations are made much easier by object abstraction. Object oriented storage provides the ability to at least have features that the operating system can interpret.

【0097】 さらに、クラスターシステムにおける性能はいくつかの理由に対してオブジェ
クトオリエンテッド記憶装置を使用することにより向上される。例えば、メタデ
ータは装置自体を離れることは決してなく、I/O操作が解消される。
In addition, performance in cluster systems is improved by using object oriented storage for several reasons. For example, metadata never leaves the device itself, and I / O operations are eliminated.

【0098】 さらに、装置は任意の時間にどのオブジェクトが開いているか閉じているかを
知り、この情報を使用してより効果的にデータをキャッシュすることができる。
装置は読み出されるオブジェクトのレイアウトを知っているため、プリフェッチ
ングも遥かに有効となる。記憶装置は逐次アクセスパターンをより効果的に決定
することができる。装置内のキャッシュもそれにアクセスする多数のシステムに
対して一度メタデータを保持することができる。さらに、装置はどこでより適切
にデータを探し出せるか等のサービス判断の品質に関与することができる。典型
的に、装置がそれをできるのは記憶装置を割り当てる責任がある場合だけである
。それに対して、ほとんどいかなるオペレーティングシステムもディスクドライ
ブ上にゾーンでデータを割り当てることはできない。したがって、この能力をド
ライブ自体に与えることにより性能が向上する。
In addition, the device can know which objects are open or closed at any time, and can use this information to more effectively cache data.
Since the device knows the layout of the object to be read out, prefetching is also much more effective. The storage device can determine the sequential access pattern more effectively. The cache in the device can also hold metadata once for many systems accessing it. In addition, the device can be involved in the quality of service decisions, such as where to find data more appropriately. Typically, a device can do that only if it is responsible for allocating storage. In contrast, almost any operating system can not allocate data in zones on a disk drive. Thus, providing this capability to the drive itself improves performance.

【0099】 本発明はドライブのアレイとして配列されたディスクドライブとして実現する
こともできる。ディスクドライブアレイ上に格納された情報はディスクドライブ
自体よりも遥かに貴重であることが多いため、ドライブアレイは低廉ディスクの
冗長アレイ(RAID)と呼ばれることが多い。数種のRAIDシステムすなわ
ちRAIDレベルが知られている。例えば、前記したように、第1レベルRAI
Dはミラーディスクを特徴としている。第5レベルRAIDでは、パリティや冗
長データだけでなくアレイに格納される両データがグループ内の全ディスクドラ
イブへ広められる。第5レベルRAIDはチェックディスを含む全ディスクにわ
たってデータおよびチェック情報を分散する。米国特許第5,617,425号
DISC ARRAY HAVING ARRAY SUPPORTING CONTROLLERS AND INTERFACEに他のRAI
Dレベル(例えば、レベル)が詳細に説明されている。
The invention can also be implemented as a disk drive arranged as an array of drives. Drive arrays are often referred to as redundant arrays of inexpensive disks (RAID) because the information stored on the disk drive array is often far more valuable than the disk drives themselves. Several RAID systems, or RAID levels, are known. For example, as described above, the first level RAI
D features a mirror disk. In the fifth level RAID, both parity and redundant data as well as both data stored in the array are disseminated to all disk drives in the group. The fifth level RAID distributes data and check information across all disks including check disks. U.S. Patent No. 5,617,425
DISC ARRAY HAVING ARRAY SUPPORTING CONTROLLERS AND INTERFACE OTHER RAI
D levels (eg, levels) are described in detail.

【0100】 図25−図29は本発明の1つの特徴に従った書込み操作を示し、データはア
レイ内のディスクドライブ上にオブジェクトとして格納される。図25に示す実
施例では、ファイルサーバ114、リクエスタ(すなわちホスト)116および
インターコネクト122は、記憶装置110−112等の記憶装置として構成さ
れたターゲットドライブ402およびパリティドライブ404を含むディスクド
ライブアレイに接続されている。ターゲットドライブ402は書き込まれるオブ
ジェクトもしくはその一部を保持しており、パリティドライブ404はターゲッ
トドライブ402上に格納されたターゲットオブジェクトに関連するパリティ情
報を保持する。
FIGS. 25-29 show a write operation according to one aspect of the invention, in which data is stored as objects on disk drives in an array. In the example shown in FIG. 25, file server 114, requestor (ie, host) 116 and interconnect 122 connect to a disk drive array including target drives 402 and parity drives 404 configured as storage devices such as storage devices 110-112. It is done. The target drive 402 holds the object to be written or a part thereof, and the parity drive 404 holds parity information related to the target object stored on the target drive 402.

【0101】 図25において、ドライブアレイはグループ内の全ドライブにわたってデータ
およびパリティが分散されるRAID5アレイとして実現されている。したがっ
て、本書込み操作に対してのみドライブ402はターゲットドライブでありドラ
イブ404はパリティドライブである。すなわち、ターゲットドライブ402は
パリティ情報も保持しパリティドライブ404はデータも保持する。しかしなが
ら、後述する単一書込み操作に対しては、ドライブ402はターゲットドライブ
でありドライブ404は対応するパリティドライブである。本発明はRAIDレ
ベル5以外の他のRAIDレベルを使用して実現できることもお判り願いたい。
このようなRAIDシステムにおける本発明は当業者にはお判りであろう。
In FIG. 25, the drive array is implemented as a RAID 5 array in which data and parity are distributed across all the drives in the group. Therefore, the drive 402 is a target drive and the drive 404 is a parity drive only for this write operation. That is, the target drive 402 also holds parity information, and the parity drive 404 also holds data. However, for the single write operation described below, drive 402 is the target drive and drive 404 is the corresponding parity drive. It should also be appreciated that the present invention can be implemented using other RAID levels other than RAID level 5.
Those skilled in the art will appreciate the present invention in such a RAID system.

【0102】 図25において、ターゲットドライブ402およびパリティドライブ404は
ファイバチュネルインターフェイスもしくは他のシリアルインターフェイス等の
他の適切なインターフェイスを介して互いに接続されている。
In FIG. 25, target drive 402 and parity drive 404 are connected to one another via a fiber channel interface or other suitable interface such as another serial interface.

【0103】 図26および図27は、それぞれ、ターゲットドライブ402およびパリティ
ドライブ404を示す。各ドライブは制御要素150および1つ以上のディスク
132を含む。各ドライブは/ライト(前記したデータヘッド等)およびOR回
路408も含んでいる。ターゲットドライブ402は書き込まれるターゲットオ
ブジェクトを格納するディスクスペース410を含む。パリティドライブ404
対応するパリティオブジェクトを格納するディスクスペース412を含む。ドラ
イブ402および404の操作については図28および図29に関して後述する
FIGS. 26 and 27 show a target drive 402 and a parity drive 404, respectively. Each drive includes a control element 150 and one or more disks 132. Each drive also includes a / write (such as the data head described above) and an OR circuit 408. Target drive 402 includes disk space 410 for storing target objects to be written. Parity drive 404
It includes disk space 412 for storing the corresponding parity object. The operation of drives 402 and 404 is described below with respect to FIGS. 28 and 29.

【0104】 小型コンピュータシステムインターフェイス(SCSI)XORコマンドを実現する 従来のディスクアレイは、ドライブ故障に対するパリティ保護を実現するのに必
要なビット操作をディスクドライブができるようにする。このようなコマンドは
ホスト(すなわちリクエスタ)がセクターをディスクにアクセスさせて1つのデ
ィスクドライブに書き込まれた任意のセクターに対して、パリティ情報を含む別
のディスクドライブ上の対応するセクターが適切に更新できるようにする必要が
ある。しかしながら、前記したオブジェクトオリエンテッドディスクドライブは
ホストとディスクドライブ上の実際の記憶セクターとの間に1レイヤの抽象化を
導入する。特に、ホスト(すなわちリクエスタ)が下層セクターアドレッシング
スキームへのアクセスを持たないようにディスクドライブはディスクスペースを
オブジェクトとして管理する。ディスクドライブ自体がスペース管理の責任を負
い、リクエスタもしくはホストが1つのディスクドライブ上に書き込まれたデー
タの一部を別のディスクドライブの位置に相関できるようにする。したがって、
リクエスタはそれが書き込んだブロックのディスクドライブ上のアドレスを知ら
ず、対応するパリティアドレスを計算できない。そのため、前記したように、X
OR機能をオブジェクトオリエンテッドディスクドライブで使用することは、不
可能ではないにしても、非常に困難となる。
Implementing a Small Computer System Interface (SCSI) XOR Command A conventional disk array allows the disk drive to perform the bit operations necessary to achieve parity protection against drive failure. Such a command causes the host (that is, the requestor) to access the sector to the disk and update the corresponding sector on another disk drive including parity information appropriately for any sector written to one disk drive. You need to be able to do it. However, the object oriented disk drive described above introduces a one-layer abstraction between the host and the actual storage sector on the disk drive. In particular, the disk drive manages disk space as an object so that the host (ie, requestor) does not have access to the underlying sector addressing scheme. The disk drive itself is responsible for space management, allowing the requestor or host to correlate some of the data written on one disk drive to another disk drive's location. Therefore,
The requester does not know the address on the disk drive of the block it wrote and can not calculate the corresponding parity address. Therefore, as mentioned above, X
Using the OR function with object-oriented disk drives can be very difficult, if not impossible.

【0105】 したがって、本発明はDefine-Parity-Groupと呼ばれる方法を提供し、それは パリティグループを構成する1組のディスクドライブ内の各ディスクドライブに
おいて呼び出される。この方法は2つのことを果たす。第1に、従来のドライブ
アレイ内のセクターベースXORコマンドと同じ機能を実施するWrite-Object方
法の呼び出しを可能とするのに十分な情報を提供する。またパリティデータのそ
の特定ドライバのシェアを保持するセット内の各ドライブ上にオブジェクトを生
成させる。パリティオブジェクトIDは各ドライブに知られた既知のIDであり
、パリティ情報の更新を待機する任意のドライブがその要求をアドレスすること
ができる正しいオブジェクト識別子を知っているようにされる。
Thus, the present invention provides a method called Define-Parity-Group, which is called at each disk drive in a set of disk drives that make up a parity group. This method does two things. First, it provides sufficient information to enable the Write - Object method to perform the same function as a sector-based XOR command in a conventional drive array. It also creates an object on each drive in the set that holds that particular driver's share of parity data. The parity object ID is a known ID known to each drive, such that any drive waiting for parity information update is made aware of the correct object identifier that can address the request.

【0106】 図28に関してDefine-Parity-Group方法が詳細に説明される。第1に、リク エスタすなわちホストがパリティグループ内の各ドライブにおいてこの方法を呼
び出す。それはブロック420により示される。この方法を呼び出す為に、リク
エスタは次のようないくつかのことを提供する。 1. パリティグループを含むドライブの順序付けたリスト。それは、例として
、各ドライブに対する連番およびアドレスを含むことができる。 2. パリティ計算に使用されるアルゴリズム。1つの単純なインプリメンテー
ションでは、書き込まれるデータのブロックアドレスにモジュラス算術が実施さ
れる。この算術によりパリティドライブ上のパリティオブジェクト(所望のパリ
ティ情報を含むパリティオブジェクトの相対部分)内のパリティドライブアドレ
ス(アイテム番号1からの順序付けられたリスト)および相対ブロックアドレス
が得られる。 3. 例としてブロック単位のパリティストライプ内のデータ量。各ドライブ上
のスペース全体にパリティデータがばら撒かれる場合には、この情報は割当ての
原子単位である。 4. パリティオブジェクト識別子。パリティオブジェクトを更新するWrite-Ob
ject方法を呼び出すドライブは前記2項に記載されているように求められるパリ
ティドライブ上のこのオブジェクトIDにそれを配布する。多レベルパリティ(
2レベルパリティ等)も実現できることをお判り願いたい。したがって、各ドラ
イブは2つまでのパリティオブジェクトを有することができる。1つのインプリ
メンテーションでは、2レベルパリティを有するディスクアレイ内でドライブが
使用される場合には、2つの既知のオブジェクトIDが各ドライブにより割り当
てられ保存される。第2のパリティオブジェクトの存在は2レベルパリティが使
用されていることを示す。 5. パリティオブジェクト割当てポリシー。それは各ドライブがパリティオブ
ジェクトをディスクスペースの単一連続範囲として割当てるかあるいはパリティ
オブジェクトにユーザデータオブジェクトをばら撒くかを示す。したがって、パ
リティオブジェクトおよびデータオブジェクトは図26および図27に連続ディ
スクスペースとして示されているが、それは例にすぎない。パリティオブジェク
トにデータがばら撒かれる場合、割当て前とすることができることをお判り願い
たい。
The Define-Parity-Group method is described in detail with respect to FIG. First, the requestor or host invokes this method on each drive in the parity group. It is indicated by block 420. To invoke this method, the requester provides several things, such as: 1. An ordered list of drives containing parity groups. It can include, by way of example, a serial number and an address for each drive. 2. Algorithm used for parity calculations. In one simple implementation, modulus arithmetic is performed on the block addresses of the data to be written. This arithmetic provides the parity drive address (ordered list from item number 1) and the relative block address in the parity object on the parity drive (the relative portion of the parity object containing the desired parity information). 3. Amount of data in parity stripe in blocks as an example. If parity data is scattered throughout the space on each drive, this information is in atomic units of allocation. 4. Parity object identifier. Write-Ob to update parity object
The drive invoking the eject method distributes it to this object ID on the parity drive which is sought as described in 2 above. Multi-level parity (
Please understand that two-level parity can be realized. Thus, each drive can have up to two parity objects. In one implementation, when the drive is used in a disk array with two level parity, two known object IDs are assigned and stored by each drive. The presence of the second parity object indicates that two level parity is being used. 5. Parity object allocation policy. It indicates whether each drive allocates a parity object as a single contiguous range of disk space or distributes user data objects to the parity object. Thus, although the parity and data objects are shown as contiguous disk space in FIGS. 26 and 27, it is only an example. Note that if data is distributed to parity objects, it can be done before allocation.

【0107】 Define-Parity-group方法の呼び出しに応答して、パリティグループ内の各デ ィスクドライブ内の制御要素150はパリティデータに必要なスペースのパーセ
ンテージを計算する。それはブロック422に示される。パリティオブジェクト
に必要なスペースの量はパリティグループリスト内のディスクドライブ数に基づ
いて決定される。例えば、リスト内に9つのディスクドライブがある場合、各ド
ライブはそのスペースの9分の1をパリティ情報に割当てなければならない。こ
のスペース量はこの方法の呼出し時にリクエスタもしくはホストにより与えられ
る既知のパリティオブジェクトIDにより識別される。それはブロック424に
示される。
In response to the Define-Parity-group method call, the control element 150 in each disk drive in the parity group calculates the percentage of space required for parity data. It is shown at block 422. The amount of space required for the parity object is determined based on the number of disk drives in the parity group list. For example, if there are nine disk drives in the list, each drive must allocate one-ninth of its space for parity information. This amount of space is identified by the known parity object ID provided by the requestor or host at the time of invocation of the method. It is shown at block 424.

【0108】 パリティセットもしくはグループリスト内の各ドライブがパリティグループを
定義する情報を保持し、ディスクドライブがパワーアップもしくはリセットされ
るたびに、パリティグループは傷つけられていないことを検証できるようにされ
る。したがって、ブロック426に示すように、情報は非揮発性メモリ内に格納
される。
Each drive in the parity set or group list holds the information defining the parity group so that each time the disk drive is powered up or reset, it can be verified that the parity group is not damaged . Thus, as indicated at block 426, the information is stored in non-volatile memory.

【0109】 ディスクドライブのパリティセットがこのように生成され、かつ1つ以上のパ
リティオブジェクトを保持するスペースが各ディスクドライブ上に割り当てられ
ると、1つ以上のドライブ上のデータオブジェクト内に格納されたデータを更新
することができる。図29は本発明の1つの特徴に従ったデータオブジェクトの
更新、およびパリティオブジェクトの対応する更新を示すブロック図である。
Once the disk drive's parity set has been created in this way and space to hold one or more parity objects has been allocated on each disk drive, it has been stored in a data object on one or more of the drives Data can be updated. FIG. 29 is a block diagram illustrating updating of data objects and corresponding updating of parity objects according to one aspect of the present invention.

【0110】 データを更新するために、更新されるデータを要求しているリクエスタ116
はパリティグループ内の1つのディスクスペース上に前記したWrite-Object方法
を呼び出す。図25-図27の実施例では、リクエスタ116はターゲットドラ イブ上でWrite-Object方法を呼び出す。それは図26に符号428で示され図2
9にブロック430で示されている。この方法を呼び出すために、リクエスタ1
16は例えば更新されるオブジェクトを識別するオブジェクト識別子,パーティ
ションID,オブジェクト内に書き込まれるブロックの開始位置、オブジェクト
内に書き込まれるいくつかのブロック、オプション情報、および書き込まれるデ
ータを与える。ターゲットドライブ402はWrite-Object方法のサービスには更
新されるオブジェクトに関連するパリティ情報の更新を含めなければならないこ
とを知っている。ターゲットドライブ402はそれが非揮発性メモリ内のDefine
-Parity-Group方法の実行中に与えられ発生される情報を格納しているためであ ることを知っている。
Requester 116 requesting data to be updated to update data
Calls the Write-Object method described above on one disk space in the parity group. In the example of FIGS. 25-27, the requestor 116 invokes the Write-Object method on the target drive. It is shown at 428 in FIG.
9 is shown at block 430. Requester 1 to invoke this method
For example, an object identifier 16 for identifying an object to be updated, a partition ID, a start position of a block to be written in the object, some blocks to be written in the object, option information, and data to be written. The target drive 402 knows that the service of the Write-Object method must include updating the parity information associated with the object being updated. The target drive 402 defines it in non-volatile memory
-Know that it is because it stores information given and generated during execution of the Parity-Group method.

【0111】 パリティ情報を更新するために、ターゲットドライブ402はいくつかのステ
ップを実施する。第1に、それはターゲットオブジェクト内の指定位置から古い
データを読出しそれを、その位置に書き込まれる新しいデータと共に、XOR回
路408へ与える。それは図29にブロック432で示され図26に矢符434
、436、438で示される。
The target drive 402 performs several steps in order to update the parity information. First, it reads the old data from the specified location in the target object and provides it to the XOR circuit 408, along with the new data to be written to that location. It is shown at block 432 in FIG. 29 and arrow 434 in FIG.
, 436, 438.

【0112】 次に,ターゲットドライブ402は古いデータを新しいデータによりXORし
て中間パリティ情報を得る。それは図29にブロック440で示される。ターゲ
ットドライブ402は図26の出力442において中間パリティ情報を与える。
次に,ターゲットドライブ402は新しいデータをターゲットオブジェクト41
0内のターゲット位置に書込み、ターゲットオブジェクトを更新する。それは図
29にブロック444で示される。
Next, the target drive 402 XORs the old data with the new data to obtain intermediate parity information. It is shown at block 440 in FIG. Target drive 402 provides intermediate parity information at output 442 of FIG.
Next, target drive 402 targets new data 41
Write to the target location within 0 and update the target object. It is shown at block 444 in FIG.

【0113】 次にターゲットドライブ402自体が更新されたばかりのターゲットオブジェ
クト410に対応するパリティオブジェクトを識別するパリティドライブ404
上で別のWrite-Object方法を呼び出す。それは図29にブロック446で示され
図27に矢符448で示される。ターゲットドライブ402はいくつかの方法で
パリティオブジェクトに対するターゲット位置を計算することができる。例えば
、ターゲットドライブ402は書き込まれるブロックターゲットオブジェクトの
相対セクターアドレスから位置を計算することができる。相対アドレスはパリテ
ィグループ内のドライブ数で除算されてパリティドライブ404上のパリティオ
ブジェクト内の相対アドレスが与えられる。パリティドライブアドレスはDefine
-Parity-group方法において指定されるアルゴリズムにより求められる。ターゲ ットドライブ402は次にWrite-Object方法を構成してパリティオブジェクト4
12を識別するパリティドライブ404上のこの相対アドレスを使用するオブジ
ェクト内の適切な位置でそれを呼び出す。
The parity drive 404 then identifies the parity object corresponding to the target object 410 for which the target drive 402 itself has just been updated.
Invoke another Write-Object method above. It is shown at block 446 in FIG. 29 and at arrow 448 in FIG. The target drive 402 can calculate the target position for the parity object in several ways. For example, target drive 402 can calculate the position from the relative sector address of the block target object to be written. The relative address is divided by the number of drives in the parity group to give the relative address in the parity object on parity drive 404. Parity drive address is Define
-Determined by the algorithm specified in the Parity-group method. The target drive 402 then configures the Write-Object method to
Call it at the appropriate location in the object using this relative address on parity drive 404 which identifies T.12.

【0114】 例として,更新されるドライブ404上のパリティオブジェクト内の相対ブロ
ックを計算するために,ターゲットドライブ402は次式を使用することができ
る。 式:
As an example, to calculate relative blocks within the parity object on drive 404 to be updated, target drive 402 can use the following equation: formula:

【数1】 ここに、Bはパリティブロック内の相対ブロック、 Sはターゲットドライブ402において書き込まれる相対セクターア
ドレス、 Dはパリティグループ内のドライブ数である。
[Equation 1] Here, B is a relative block in the parity block, S is a relative sector address written in the target drive 402, and D is the number of drives in the parity group.

【0115】 パリティドライブアドレスを計算するために、ターゲットドライブ402は次
式を使用することができる。 式:
To calculate the parity drive address, target drive 402 can use the following equation: formula:

【数2】 Pがパリティドライブのパリティグループ内のドライブのリスト内への変位で
ある場合(Pの計算に使用するリストはターゲットドライブ402のアドレスを
除外しなければならない)。
[Equation 2] If P is a displacement into the list of drives in the parity group of the parity drive (the list used to calculate P should exclude the address of target drive 402).

【0116】 このWrite-Object方法に応答して,パリティドライブ404はコマンドをその
パリティオブジェクトへの書込みとして認識しパリティ操作を実施する。このよ
うな操作には、図29のブロック450および図27の矢符452で示すように
,古いパリティデータの読出しが含まれる。次にパリティドライブ404は古い
パリティデータをターゲットドライブ402からの中間パリティデータによりX
ORする。それは図29のブロック454および図27の矢符456、458で
示される。排他的OR演算の結果はディスク132のパリティオブジェクトへ書
き込まれる更新されたパリティ情報である。それは図29のブロック460およ
び図27の矢符462、464で示される。それによりパリティオブジェクトの
更新が完了する。
In response to this Write-Object method, parity drive 404 recognizes the command as a write to its parity object and performs parity operations. Such operations include reading old parity data, as indicated by block 450 in FIG. 29 and arrow 452 in FIG. The parity drive 404 then sends the old parity data to the X by the intermediate parity data from the target drive 402.
OR It is indicated by block 454 in FIG. 29 and arrows 456, 458 in FIG. The result of the exclusive OR operation is the updated parity information written to the parity object of disk 132. It is indicated by block 460 in FIG. 29 and arrows 462 and 464 in FIG. This completes the update of the parity object.

【0117】 したがって、本発明により従来使用されるセクターベースパリティスキームを
凌ぐいくつかの利点が得られる。例えば、パリティ情報にはディスク上のユーザ
データがばら撒かれることがない。それにより性能を良くするためにユーザファ
イル(すなわちオブジェクト)を連続的に格納することができる。さらに、オブ
ジェクトはバックアップすることができるすなわち真のユーザデータファイルと
して輸出することができる。パリティデータがばら撒かれないため,それらはそ
れ自体有意かつ使用可能である。
Thus, the present invention provides several advantages over the sector based parity schemes conventionally used. For example, parity data does not scatter user data on a disk. User files (i.e. objects) can thereby be stored continuously for better performance. Furthermore, objects can be backed up or exported as true user data files. Because the parity data is not scattered, they are themselves significant and usable.

【0118】 また、データベースをパリティグループへアンロードする時に,アプリケーシ
ョンはデータがロードされる直後にパリティが計算されるのを待たずにリクエス
タからアクセスすることができる。背景プロセスとして、パリティ情報はデータ
へのアクセスを中断することなく構成することができる。それによりデータをよ
り迅速に使用することができる。パリティデータ構成を含めて全データがロード
されるまで、従来システムではデータにアクセスすることができない。パリティ
データはユーザデータ中にばら撒かれ、ユーザデータは別々にロードすることは
できないが、パリティ計算に関しだけである。
Also, when unloading the database to the parity group, the application can access from the requester without waiting for parity to be calculated immediately after the data is loaded. As a background process, parity information can be configured without interrupting access to data. The data can then be used more quickly. Conventional systems can not access data until all data has been loaded, including parity data configuration. Parity data is scattered into user data, and user data can not be loaded separately, but only for parity calculations.

【0119】 さらに、パリティグループ内の各ディスクドライブがパリティグループの他の
メンバーを知っているため、ディスクドライブはパリティ更新によりターゲット
しているドライブが正しいものであることを検証することができる。ドライブが
交換されたり,ドライブのアドレスが変わると,それが検出されて操作は中断さ
れる。それによりパリティデータは改変に対して保護される。
Furthermore, because each disk drive in the parity group knows the other members of the parity group, the disk drive can verify that the targeted drive is correct by means of parity update. If the drive is replaced or the drive's address changes, it is detected and the operation is interrupted. The parity data is thereby protected against tampering.

【0120】 また、パリティ保護を呼び出すための特殊なXORコマンドを使用する必要が
ない。Define-Parity-Groupコマンドを配布することにより、ドライブはパリテ ィ保護を含むように単純にWrite-Objectコマンドを拡張することを知っている。
それはドライブによりトランスペアレントに行うことができる。
Also, there is no need to use a special XOR command to invoke parity protection. By distributing the Define-Parity-Group command, the drive knows to simply extend the Write-Object command to include parity protection.
It can be done more transparently by the drive.

【0121】 さらに、第2レベルパリティはリクエスタからドライブへ付加I/Oコマンド
を配布することなくサポートすることができる。2つのDefine-Parity-Group方法
がドライブ上で呼び出され二重故障保護が活性化される。ドライブは、各パリテ
ィグループに1つずつの、2つのパリティオブジェクトを更新しなければならな いことを知っている。ドライブは2つのパリティグループ間に共通の1つのドラ
イブしかないことを保証するチェックを行うこともできる(そうでなければ構成
は無効)。
Additionally, second level parity can be supported without distributing additional I / O commands from the requester to the drive. Two Define-Parity-Group methods are invoked on the drive to activate dual fault protection. The drive knows that it needs to update two parity objects, one for each parity group. The drive can also check to ensure that there is only one drive in common between the two parity groups (otherwise the configuration is invalid).

【0122】 本発明は複数のオブジェクト124−126として構成されたデータが格納さ
れている第1の記憶媒体132を含むデータ記憶システムを含む。各オブジェク
トはその特性を示す属性を有する。オブジェクトは冗長情報を格納する冗長オブ
ジェクトを含む。第1の制御要素150が動作上記憶媒体132に接続されてお
りオブジェクト124−126にインターフェイス128を提供するように構成
されている。インターフェイス128はオブジェクト124−126にアクセス
するために呼び出される方法(方法0−N)を呈示する。
The present invention includes a data storage system including a first storage medium 132 in which data configured as a plurality of objects 124-126 is stored. Each object has an attribute indicating its characteristic. Objects include redundant objects that store redundant information. A first control element 150 is operatively connected to the storage medium 132 and configured to provide an interface 128 to the objects 124-126. Interface 128 presents methods (methods 0-N) that are invoked to access objects 124-126.

【0123】 1実施例では、方法0−NはDefine-Redundancy方法を含み,それが呼び出さ れると制御要素150は冗長オブジェクト412に記憶スペースを割り当てる。
別の実施例では、Define-Redundancy方法が呼び出されると、制御要素150は それが属する冗長セットを示す情報を格納する。
In one embodiment, methods 0-N include the Define-Redundancy method, in which control element 150 allocates storage space for redundant object 412 when it is called.
In another embodiment, when the Define-Redundancy method is invoked, control element 150 stores information indicating the redundant set to which it belongs.

【0124】 別の実施例では、Define-Redundancy方法が呼び出されると制御要素150は 冗長オブジェクト412に割り当てられる記憶スペースのサイズを計算する。In another embodiment, the control element 150 calculates the size of the storage space allocated to the redundant object 412 when the Define-Redundancy method is called.

【0125】 別の実施例では、Write-Object方法が呼び出されると、制御要素150は指定
したデータオブジェクトを新しいデータで更新しかつ対応する冗長オブジェクト
412を新しいデータに基づいて更新する。
In another embodiment, when the Write-Object method is called, the control element 150 updates the specified data object with new data and updates the corresponding redundant object 412 based on the new data.

【0126】 別の実施例では、記憶システムは複数の記憶装置402、404を含み,第1
の記憶装置402は第1の記憶媒体132および第1の制御要素150を含み,
第2の記憶媒体404は第2の記憶媒体132および第2の制御要素150を含
む。このような1つの実施例では、指定したデータオブジェクトは少なくとも一
部が第1の記憶装置上に格納され、対応する冗長オブジェクトは少なくとも一部
が第2の記憶装置上に格納される。1実施例では、第1の制御要素150は第2
の記憶装置上でWrite-Object方法を呼び出して冗長オブジェクトを更新する。
In another embodiment, the storage system comprises a plurality of storage devices 402, 404, and the first
Storage unit 402 includes a first storage medium 132 and a first control element 150,
The second storage medium 404 includes a second storage medium 132 and a second control element 150. In one such embodiment, the designated data object is at least partially stored on the first storage device, and the corresponding redundant object is at least partially stored on the second storage device. In one embodiment, the first control element 150 is a second
Call the Write-Object method on the storage device to update the redundant object.

【0127】 また、本発明は各々が記憶媒体132および制御要素150を含む複数の記憶
装置を有するデータ記憶装置内の冗長性を維持する方法として実現することもで
きる。この方法には記憶媒体132上にデータを格納することが含まれ,データ
は各々がオブジェクトの特性を示す属性を含む複数のオブジェクト124−12
6として構成されている。オブジェクトは冗長情報を格納する冗長オブジェクト
を含んでいる。この方法はさらにオブジェクトにアクセスするために呼び出され
るオブジェクト呈示方法(方法0−方法N)へのインターフェイス128を提供 する。
The invention can also be implemented as a method of maintaining redundancy in a data storage device comprising a plurality of storage devices, each comprising a storage medium 132 and a control element 150. The method includes storing data on a storage medium 132, the data including a plurality of objects 124-12 each including an attribute indicative of a property of the object.
It is configured as six. An object contains redundant objects that store redundant information. The method further provides an interface 128 to the object presentation method (Method 0-Method N) which is invoked to access the object.

【0128】 1実施例では、この方法はステップ420において1組の複数の記憶装置上で
Define-Parity方法を呼び出してそれが所望の冗長スキームを実現するように構 成することが含まれる。1実施例では、この方法は呼び出しステップに応答して
各記憶装置上で冗長オブジェクト412を生成することが含まれる。この方法は
さらに、ステップ422において、記憶スペースの一部を計算して冗長オブジェ
クト412に割り当てることを含んでいる。
In one embodiment, the method proceeds to step 420 on a set of storage devices.
It is included to call the Define-Parity method and configure it to realize the desired redundancy scheme. In one embodiment, the method includes generating redundant objects 412 on each storage device in response to the calling step. The method further includes calculating a portion of storage space and assigning to redundant object 412 at step 422.

【0129】 本発明のさまざまな実施例の非常にたくさんの特性および利点について、本発
明のさまざまな構造および機能の詳細と共に説明してきたが、本開示は単なる説
明用にすぎず詳細、特に本発明の原理内の部品の構造および配列に関して、添付
請求の範囲が表現される用語の広範な一般的意味により示される全範囲まで変更
することができる。例えば、本発明の範囲および精神を逸脱することなく実質的
に同じ機能性を維持しながら使用する特定のインターフェイス方法および冗長ス
キームに応じて特定の要素を変更することができる。
Although the numerous features and advantages of various embodiments of the present invention have been described with the details of the various structures and functions of the present invention, the present disclosure is for the purpose of illustration only, and more particularly for the present invention. With respect to the structure and arrangement of parts within the principles of the invention, the appended claims can be varied up to the full scope indicated by the broad general meaning of the expressed term. For example, particular elements may be varied depending upon the particular interface method and redundancy scheme used while maintaining substantially the same functionality without departing from the scope and spirit of the present invention.

【図面の簡単な説明】Brief Description of the Drawings

【図1】 本発明の1つの特徴に従ったネットワーク接続記憶システムのブロック図。FIG. 1 is a block diagram of a network attached storage system in accordance with an aspect of the present invention.

【図2】 本発明の1つの特徴に従ったオブジェクトモデルを示す図。FIG. 2 shows an object model according to one aspect of the invention.

【図3−1】 記憶装置上のオブジェクトがリクエスタによりアクセスされる第1の構成のブ
ロック図。
FIG. 3-1 is a block diagram of a first configuration in which an object on a storage device is accessed by a requester.

【図3−2】 記憶装置上のオブジェクトがリクエスタによりアクセスされる第2の構成のブ
ロック図。
FIG. 3B is a block diagram of a second configuration in which an object on a storage device is accessed by a requester.

【図4】 本発明の1つの特徴に従ったディスクドライブの斜視図。FIG. 4 is a perspective view of a disk drive in accordance with one aspect of the present invention.

【図5】 リクエスタによるオブジェクトのアクセスを示す機能ブロック図。FIG. 5 is a functional block diagram illustrating access of an object by a requester.

【図5−1】 リクエスタによるオブジェクトのアクセスを示す機能ブロック図。FIG. 5-1 is a functional block diagram showing access of an object by a requester.

【図5−2】 リクエスタによるオブジェクトのアクセスを示す機能ブロック図。FIG. 5-2 is a functional block diagram showing access of an object by a requester.

【図6】 本発明の1つの特徴に従って仕切られる記憶媒体の部分図。FIG. 6 is a partial view of a storage medium partitioned in accordance with one aspect of the present invention.

【図7−1】 本発明の1つの特徴に従ったリクエスタによるオブジェクトのアクセスを示す
フロー図。
FIG. 7 is a flow diagram illustrating access of an object by a requester in accordance with one aspect of the present invention.

【図7−2】 本発明の1つの特徴に従ったリクエスタによるオブジェクトのアクセスを示す
フロー図。
7-2 is a flow diagram illustrating access of an object by a requester in accordance with one aspect of the present invention.

【図8】 本発明の1つの特徴に従ったオブジェクトの生成を示すフロー図。FIG. 8 is a flow diagram illustrating the generation of an object in accordance with one aspect of the present invention.

【図9】 本発明の1つの特徴に従ってオブジェクトを開き更新することを示すフロー図
FIG. 9 is a flow diagram illustrating opening and updating an object in accordance with one aspect of the present invention.

【図10】 本発明の1つの特徴に従ったオブジェクトへの書込みを示すフロー図。FIG. 10 is a flow diagram illustrating writing to an object in accordance with one aspect of the present invention.

【図11】 本発明の1つの特徴に従って読取専用のためにオブジェクトを開くことを示す
フロー図。
FIG. 11 is a flow diagram illustrating opening an object for read-only in accordance with one aspect of the present invention.

【図12】 本発明の1つの特徴に従ってオブジェクトを読出すことを示すフロー図。FIG. 12 is a flow diagram illustrating reading an object in accordance with one aspect of the present invention.

【図13】 本発明の1つの特徴に従ってオブジェクトを閉じることを示すフロー図。FIG. 13 is a flow diagram illustrating closing an object in accordance with one aspect of the present invention.

【図14】 本発明の1つの特徴に従ってオブジェクトを除去することを示すフロー図。FIG. 14 is a flow diagram illustrating removing an object in accordance with one aspect of the present invention.

【図15】 本発明の1つの特徴に従ってパーティションを生成することを示すフロー図。FIG. 15 is a flow diagram illustrating creating a partition in accordance with one aspect of the present invention.

【図16】 本発明の1つの特徴に従ってパーティションを除去することを示すフロー図。FIG. 16 is a flow diagram illustrating removing a partition in accordance with one aspect of the present invention.

【図17】 本発明の1つの特徴に従ってオブジェクトを輸出することを示すフロー図。FIG. 17 is a flow diagram illustrating exporting an object in accordance with one aspect of the present invention.

【図18】 本発明の1つの特徴に従ってオブジェクト属性を得ることを示すフロー図。FIG. 18 is a flow diagram illustrating obtaining object attributes in accordance with one aspect of the present invention.

【図19】 本発明の1つの特徴に従ってオブジェクト属性をセットもしくは修正すること
を示すフロー図。
FIG. 19 is a flow diagram illustrating setting or modifying object attributes in accordance with one aspect of the present invention.

【図20】 本発明の1つの特徴に従ってロック属性を読み出すことを示すフロー図。FIG. 20 is a flow diagram illustrating reading lock attributes in accordance with one aspect of the present invention.

【図21】 本発明の1つの特徴に従ってロック属性をセットすることを示すフロー図。FIG. 21 is a flow diagram illustrating setting lock attributes in accordance with one aspect of the present invention.

【図22】 本発明の1つの特徴に従ってオブジェクトのロック属性をリセットすることを
示すフロー図。
FIG. 22 is a flow diagram illustrating resetting an object's locking attributes in accordance with one aspect of the present invention.

【図23】 本発明の1つの特徴に従って装置関連を得ることを示すフロー図。FIG. 23 is a flow diagram illustrating obtaining device associations in accordance with one aspect of the present invention.

【図24】 本発明の1つの特徴に従って装置関連をセットすることを示すフロー図。FIG. 24 is a flow diagram showing setting device association according to one aspect of the present invention.

【図25】 本発明の1つの特徴に従って実現されるディスクドライブアレイを示すブロッ
ク図。
FIG. 25 is a block diagram illustrating a disk drive array implemented in accordance with an aspect of the present invention.

【図26】 本発明の1つの特徴に従ったターゲットディスクドライブを示すブロック図。FIG. 26 is a block diagram illustrating a target disk drive in accordance with one aspect of the present invention.

【図27】 本発明の1つの特徴に従ったパリティディスクドライブを示すブロック図。FIG. 27 is a block diagram illustrating a parity disk drive in accordance with one aspect of the present invention.

【図28】 本発明の1つの特徴に従ったパリティグループの生成を示すフロー図。FIG. 28 is a flow diagram illustrating the generation of parity groups according to one aspect of the present invention.

【図29】 本発明の1つの特徴に従ってパリティ情報が更新される書込み操作を示すフロ
ー図。
FIG. 29 is a flow diagram illustrating a write operation in which parity information is updated in accordance with one aspect of the present invention.

Claims (13)

【特許請求の範囲】[Claim of claim] 【請求項1】 データ記憶装置であって、 各々がオブジェクトの特性を示す属性を有する複数のオブジェクトとして構成
されたデータが格納されており、オブジェクトは冗長情報を格納する冗長オブジ
ェクトを含む第1の記憶媒体と、 動作上第1の記憶媒体に接続され、オブジェクトへアクセスするために呼び出
される方法を呈示するオブジェクトとのインターフェイスを提供するように構成
された第1の制御要素と、 を含むデータ記憶装置。
1. A data storage device storing data configured as a plurality of objects each having an attribute indicating a property of an object, the object including a redundant object for storing redundant information. A data storage comprising: a storage medium; a first control element operatively connected to the first storage medium and configured to provide an interface with the object presenting a method to be called for accessing the object. apparatus.
【請求項2】 各々が記憶媒体および動作上それに接続される制御要素を含
む複数の記憶装置を有するデータ記憶システム内の冗長性を維持する方法であっ
て、該方法は、 各々がオブジェクトの特性を示す属性を含む複数のオブジェクトとして構成さ
れているデータであって、オブジェクトは冗長情報を格納する冗長オブジェクト
を含むデータを記憶媒体上に格納するステップと、 オブジェクトにアクセスするために呼び出される方法を呈示するオブジェクト
へのインターフェイスを提供するステップと、 を含む冗長性維持方法。
2. A method of maintaining redundancy in a data storage system comprising a plurality of storage devices each comprising a storage medium and a control element operatively connected thereto, said method comprising the steps of: Data configured as a plurality of objects including an attribute indicating an object, the object storing data including a redundant object storing redundant information on a storage medium, and a method called for accessing the object Providing an interface to the objects to be presented; and a method of maintaining redundancy.
【請求項3】 請求項2記載の方法であって、さらに、 1組の複数の記憶装置上で冗長性定義方法を呼び出して所望の冗長性を実現す
るようにそれらを構成するステップを含む方法。
3. The method of claim 2, further comprising: invoking redundancy definition methods on a set of multiple storage devices to configure them to achieve a desired redundancy. .
【請求項4】 請求項3記載の方法であって、さらに、 呼出しステップに応答して、1組の各記憶装置上で冗長オブジェクトを生成す
るステップを含む方法。
4. The method of claim 3, further comprising: in response to the calling step, generating redundant objects on each of the set of storage devices.
【請求項5】 請求項4記載の方法であって、生成ステップは、 記憶スペースの一部を計算して冗長オブジェクトに割り当てるステップを含む
方法。
5. The method of claim 4, wherein the generating step comprises: calculating a portion of the storage space and assigning to a redundant object.
【請求項6】 請求項3記載の方法であって、さらに、 複数の記憶装置の中の第1の記憶装置上で書込み方法を呼び出して第1の記憶
装置上の第1の制御要素が第1の記憶装置上の第1の記憶媒体上の指定したデー
タオブジェクトを更新するようにするステップを含む方法。
6. The method according to claim 3, further comprising: calling a write method on a first storage device of the plurality of storage devices to cause the first control element on the first storage device to A method comprising: updating a specified data object on a first storage medium on one storage device.
【請求項7】 請求項6記載の方法であって、さらに、 書込み方法に応答して、複数の記憶装置の中の第2の記憶装置上でパリティ書
込み方法を呼び出して第2の記憶装置上の第2の記憶媒体上に格納され指定した
データオブジェクトに関連するパリティオブジェクトを更新するステップを含む
方法。
7. The method according to claim 6, further comprising, in response to the write method, invoking a parity write method on a second storage device of the plurality of storage devices on the second storage device. Updating the parity object associated with the specified data object stored on the second storage medium of
【請求項8】 請求項7記載の方法であって、書込み方法を呼び出すステッ
プは、 指定したデータオブジェクトから古いデータを読み出すステップと、 指定したデータオブジェクトに新しいデータを書き込むステップと、 を含む方法。
8. The method of claim 7, wherein the step of invoking the writing method comprises the steps of: reading old data from the specified data object; and writing new data in the specified data object.
【請求項9】 請求項7記載の方法であって、冗長書込み方法を呼び出すス
テップは、 古いデータおよび新しいデータにOR(XOR)演算を実施して中間冗長デー
タを得るステップと、 中間冗長データおよび冗長オブジェクト識別(ID)を与える第2の記憶装置
上で冗長書込み方法を呼び出すステップと、 を含む方法。
9. The method according to claim 7, wherein the step of invoking the redundant writing method comprises: performing an OR (XOR) operation on the old data and the new data to obtain intermediate redundant data; Invoking a redundant write method on a second storage device to provide redundant object identification (ID).
【請求項10】 請求項9記載の方法であって、さらに、冗長書込み方法の
呼び出しに応答して、 冗長オブジェクトから古い冗長データを読み出すステップと、 古い冗長データを中間冗長データでXORして新しい冗長データを得るステッ
プと、 新しい冗長データを冗長オブジェクトに書き込むステップと、 を含む方法。
10. The method according to claim 9, further comprising the steps of: reading old redundant data from the redundant object in response to the call of the redundant write method; XORing the old redundant data with the intermediate redundant data to generate a new Obtaining redundant data, and writing new redundant data into the redundant object.
【請求項11】 請求項9記載の方法であって、さらに、 1組の記憶装置内の記憶装置数および新しいデータが書き込まれた指定したデ
ータオブジェクト内の位置に基づいて、どの記憶装置が指定したデータオブジェ
クトに関連する冗長オブジェクトを含むかを計算するステップを含む方法。
11. The method according to claim 9, further comprising: specifying the storage device based on the number of storage devices in a set of storage devices and the position in a designated data object to which new data is written. Calculating whether the data object contains redundant objects associated with the data object.
【請求項12】 請求項11記載の方法であって、さらに、 1組の記憶装置内の記憶装置数および新しいデータが書き込まれた指定したデ
ータオブジェクト内の位置に基づいて、更新される冗長オブジェクト内の位置を
計算するステップを含む方法。
12. The method according to claim 11, further comprising: updating the redundant object based on the number of storage devices in the set of storage devices and the position in the designated data object to which the new data is written. Calculating the position within.
【請求項13】 データ記憶システムであって、該システムは、 各々がオブジェクトの特性を示す属性を有する複数のオブジェクトとして構成
されたデータが格納されおり、オブジェクトは冗長情報を格納する第1の冗長オ
ブジェクトを含む第1の記憶媒体と、動作上第1の記憶媒体に接続されオブジェ
クトとのインターフェイスを提供するように構成された第1の制御要素を含み、
インターフェイスはオブジェクトにアクセスするために呼び出される方法を呈示
する第2のディスクドライブとを含む第1のディスクドライブと, 動作上第1のディスクドライブおよび各々がオブジェクトの特性を示す属性を
有する複数のオブジェクトとして構成されたデータが格納されている媒体に接続
され、オブジェクトは第1の冗長オブジェクト内の冗長情報に対応するデータを
格納する第1のデータオブジェクトを含む第2のディスクドライブ、および動作
上第2の記憶媒体に接続されオブジェクトとのインターフェイスを提供するよう
に構成され、インターフェイスはオブジェクトにアクセスするために呼び出され
る方法を呈示する第2の制御要素と、 を含むデータ記憶装置。
13. A data storage system, wherein the system stores data configured as a plurality of objects, each having an attribute indicative of a property of the object, the object storing a first redundancy information storing redundancy information. A first storage medium containing the object, and a first control element operatively connected to the first storage medium and configured to provide an interface with the object;
A plurality of objects having a first disk drive including a second disk drive presenting a method called by the interface to access the object, an operationally first disk drive, and an attribute each indicating a property of the object A second disk drive including a first data object for storing data corresponding to redundant information in the first redundant object, the second disk drive being connected to a medium storing data configured as: A second control element connected to the second storage medium and configured to provide an interface with the object, the interface presenting a method called to access the object.
JP2000510076A 1997-08-15 1998-08-14 Data storage device and redundancy maintenance method Pending JP2001516080A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US5589797P 1997-08-15 1997-08-15
US60/055,897 1997-08-15
PCT/US1998/016956 WO1999009479A1 (en) 1997-08-15 1998-08-14 Redundancy implementation on object oriented data storage device

Publications (1)

Publication Number Publication Date
JP2001516080A true JP2001516080A (en) 2001-09-25

Family

ID=22000881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000510076A Pending JP2001516080A (en) 1997-08-15 1998-08-14 Data storage device and redundancy maintenance method

Country Status (6)

Country Link
JP (1) JP2001516080A (en)
KR (1) KR20010022942A (en)
CN (1) CN1267379A (en)
DE (1) DE19882609T1 (en)
GB (1) GB2341466B (en)
WO (1) WO1999009479A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007012061A (en) * 2005-06-27 2007-01-18 Seagate Technology Llc Redundancy for storage data structure

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2343535B (en) * 1997-08-28 2002-10-02 Seagate Technology Object reconstruction on object oriented data storage device
US6029168A (en) 1998-01-23 2000-02-22 Tricord Systems, Inc. Decentralized file mapping in a striped network file system in a distributed computing environment
US6449731B1 (en) 1999-03-03 2002-09-10 Tricord Systems, Inc. Self-healing computer system storage
US6725392B1 (en) 1999-03-03 2004-04-20 Adaptec, Inc. Controller fault recovery system for a distributed file system
US6530036B1 (en) * 1999-08-17 2003-03-04 Tricord Systems, Inc. Self-healing computer system storage
US6742137B1 (en) * 1999-08-17 2004-05-25 Adaptec, Inc. Object oriented fault tolerance
US20030140273A1 (en) * 2001-12-20 2003-07-24 Ajay Kamalvanshi Method and apparatus for fault tolerant persistency service on network device
US20060080354A1 (en) * 2004-08-27 2006-04-13 Nokia Corporation System for selecting data from a data store based on utility of the data
CA2590361C (en) * 2004-11-05 2012-01-03 Data Robotics Incorporated Dynamically expandable and contractible fault-tolerant storage system permitting variously sized storage devices and method
CN101751390B (en) * 2008-12-08 2012-07-04 财团法人工业技术研究院 Disk configuration method of object orientation storage device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07175700A (en) * 1993-12-20 1995-07-14 Fujitsu Ltd Database management system
US5594862A (en) * 1994-07-20 1997-01-14 Emc Corporation XOR controller for a storage subsystem
KR100602393B1 (en) * 1997-08-11 2006-07-20 시게이트 테크놀로지 엘엘씨 Object oriented data storage device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007012061A (en) * 2005-06-27 2007-01-18 Seagate Technology Llc Redundancy for storage data structure
JP4547357B2 (en) * 2005-06-27 2010-09-22 シーゲイト テクノロジー エルエルシー Redundancy for stored data structures

Also Published As

Publication number Publication date
GB2341466B (en) 2002-10-02
KR20010022942A (en) 2001-03-26
CN1267379A (en) 2000-09-20
DE19882609T1 (en) 2000-08-24
GB9928817D0 (en) 2000-02-02
WO1999009479A1 (en) 1999-02-25
GB2341466A (en) 2000-03-15

Similar Documents

Publication Publication Date Title
US6298401B1 (en) Object oriented storage device having a disc drive controller providing an interface exposing methods which are invoked to access objects stored in a storage media
US6321358B1 (en) Object reconstruction on object oriented data storage device
US6704838B2 (en) Hybrid data storage and reconstruction system and method for a data storage device
US6889309B1 (en) Method and apparatus for implementing an enterprise virtual storage system
US7870353B2 (en) Copying storage units and related metadata to storage
US7730275B2 (en) Information processing system and management device for managing relocation of data based on a change in the characteristics of the data over time
US8140785B2 (en) Updating metadata in a logical volume associated with a storage controller for data units indicated in a data structure
US7308543B2 (en) Method and system for shredding data within a data storage subsystem
CA1310425C (en) License management methods and systems
US20070043787A1 (en) Maintaining an aggregate including active files in a storage pool in a random access medium
JP2002082775A (en) Computer system
EP1984821A2 (en) Restoring a file to its proper storage tier in an information lifecycle management environment
CA2644997C (en) Providing an address format compatible with different addressing formats used for addressing different sized address spaces
KR100602393B1 (en) Object oriented data storage device
WO2002056179A1 (en) Method for regenerating partition using virtual drive, data processor and data storage device
JP2001516080A (en) Data storage device and redundancy maintenance method
US8095503B2 (en) Allowing client systems to interpret higher-revision data structures in storage systems
CA2519173A1 (en) Storage system class distinction cues for run-time data management
JP3349715B2 (en) Distributed memory computer system.

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040702