JPH03505643A - 複数の記憶域クラス用のファイルシステム - Google Patents

複数の記憶域クラス用のファイルシステム

Info

Publication number
JPH03505643A
JPH03505643A JP1504828A JP50482889A JPH03505643A JP H03505643 A JPH03505643 A JP H03505643A JP 1504828 A JP1504828 A JP 1504828A JP 50482889 A JP50482889 A JP 50482889A JP H03505643 A JPH03505643 A JP H03505643A
Authority
JP
Japan
Prior art keywords
data
storage
access
cell
local
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP1504828A
Other languages
English (en)
Other versions
JP2951676B2 (ja
Inventor
クラカウアー アーノー スター
ガーリック ディーター
コールグローヴ ジョン アレン
ウィルモット リチャード バイロン ザ セカンド
Original Assignee
アムダール コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アムダール コーポレーション filed Critical アムダール コーポレーション
Publication of JPH03505643A publication Critical patent/JPH03505643A/ja
Application granted granted Critical
Publication of JP2951676B2 publication Critical patent/JP2951676B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Detection And Correction Of Errors (AREA)
  • Hardware Redundancy (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】
複数の記憶域クラス用のファイルシステムl見二ヌJ れた著  の放棄 この特許書類の開示の一部分が、著作権が諸求されている事柄を含んでいる。こ の著作権者は、米国特許商標局の特許ファイル即ち記録に見られるように、この 特許書類即ちこの特許の開示を為した者の何れによるファクシミリによる複製に 対しても異義を有さないが、他の全ての権利は保有するものである。 l豆幻旦1 本発明は、インターフェースを提供し、データ処理システムのデータのユーザと 斯かるデータを記憶する設備との間にアクセス経路を設置するシステムに関する 。特に、本発明は、複数のアクセス経路の使用を最適化するように適合すること ができるファイルシステム、及び斯かるシステムの作動要件を満たす使用可能な 記憶ハードウェアを提供するものである。 m同辺亙I コンピュータシステムであって、そのシステムによって処理するデータの量が美 大なものが開発されている。例えば、エグザパイト(exabytes)台の多 量のデータを取扱うことができ、数百の直接アクセス記憶装置(DASO5)を 通して広がっているデータ記憶装置が提案されている。斯かるシステムの個々の ファイルは、10ギガバイト(10″0バイト)もの高さであることが提案され ている。斯かる大きな記憶装置は、クラッシュの後の記憶装置全体の復元に何時 間も又は何日もかかることがあるため、非常に信頼性が高くなければならない、 加えて、これらの記憶装置は、データの効率のよい使用を可能とするためには、 非常に高いデータ転送速度を維持しなければならない。更に、斯かる大きなデー タシステムを使用不能にするような故障が一箇所もないことが望ましい。 斯かるデータシステムのサイズ、速さ及び信頼性への要求は、スーパーコンピュ ータの容量の目覚しい増加、及び、より遅いコンピュータによって使用される大 きなデータ記憶装置の増え続ける数と歩調を合せ続けるであろう。 データのユーザ、コンピュータシステムにおけるバッファ及びコンピュータシス テムの外部記憶装置の間のインターフェースを提供する先行技術のファイルシス テムは、ユーザによるファイルへのあらゆる個々の要求のために一つのアクセス 経路を設置することにより作動していた。これは、データを記憶する装置が非常 に少ない限りにおいては、まさに理に適っている。しかし、多くの記憶装置及び 多くの独立したアクセス経路を備え7′:#l成であって、そのアクセス経路を 通して個々の要求に応答してデータを並行して転送できる構成においては、シス テム制御プログラムの一つの要求あたり一つのアクセス経路という制限は、外部 記憶装置と内部記憶装置との間のデータの転送を要求する与えられたタスクのた めの応答時間を大きく制限する。 先行技術のファイルシステムは、第1図に示す線図を参照して特徴を記述するこ とができる。この先行技術のファイルシステムが内で走行するコンピュータシス テムは、データのユーザに対応する複数のアプリケーションプログラムを含む、 幾つかのアプリケーションプログラムは、データペースドライバ等のようなプロ セシングサブシステム(SS)であることがある。これらのアプリケーションプ ログラムA、又はサブシステムは、アクセス要求をユーザインターフェースエを 通してコンピュータ内のバッファスペースに生成する。与えられたトランザクシ ョンによって必要とされるデータがバッファ空間に位置付けされていないとする と、システム制御プログラムscPが、前記必要とされるデータを不揮発性記憶 装置から検索することのできるデバイスドライバを通して、アクセス経路を設定 する。 バッファ空間の管理は、多数のユーザのある多数のデータファイルを偏えたデー タ処理システムにとって大きな作動上のボトルネックである。ユニックスでは、 バッファ空間は、バッファ空間が・一杯になると、現在のトランザクションのた めにスペースを作る単純なアルゴリズムによってページがバッファがら解放され るという、現在ではまず使用されない方法で管理されている。しがしながら、全 てのユーザが同じバッファプールを供用しているため、解放されるスペースが、 そのシステムを走行する他のプログラムにとって重要でないという保証はない。 しかも、非常に大きなマイグレーションを行った場合には、バッファブールはす ぐに使い果たされてしまい、マイグレーションの間池のユーザをシステムからし っかりと締め出してしまう。 MVS等の他のオペレーティングシステムでは、バッファ空間は、バッファプー ルのグループに割当てられている。各バッファブールは、バッファ空間にアクセ スするユーザ又はサブシステムによって基本的に独立して管理される。バッファ 空間をユーザ間に分配することにより、各トランザクションのためのジャーナル 機能を行うトランザクション制御システムにおいて要求されるような、データの ページのより適切な制御を行うことができる。しかしながら、バッファ空間を複 数のユーザ間に静的に割当てることにより、データ処理システムの全体にわたる 性能に影響する無駄が起こる。例えば、与えられたシステムが、−日のある特定 の時間内では活動状態にあり、池の時間内では非活動状態にある。しかしながら 、サブシステムの部分にアクションがなければ、そのバッファ空間は、大量のバ ッファ空間を使おうにも使えないままにしながら一日中割当てられたままである 。に■sをペースにしたシステムにおけるバッファ空間をユーザ間に効率よく割 当てる問題は、多大な′jIIfgを消費し、データ処理システムの操作をユー ザにとって極めて複雑にする大きな作動上の問題である。 したがって、多数のアクセス経路を利用し、サイズが数バイトから数百ギガバイ ト以上のファイルへの効率の良いアクセスを提供することができるファイルシス テムが必要とされている。そのようなファイルは、効率の良いトランザクション のジャーナリング及びデータベース処理を可能とするように増進されていなけれ ばならない。しかも、このファイルシステムの作動が便利で自動化されており、 出現してくる記憶装置の工業技術に適合できることが望ましい。更に、使用中の °ファイルについての保守、マイグレーション及びエラー修正と同時のデータへ の連続アクセスを可能にするファイルシステムを提供することが望ましい。 11立薫1 本発明は、データ処理システムの複数のユーザによるアクセスのためのデータフ ァイルを管理する装置であって、前記データ処理システムが、バッファリングの ための内部記憶装置、外部記憶装置、及びファイルユーザインターフェースを含 み、前記ファイルユーザインターフェースにより複数のユーザがデータファイル へのアクセスを要求するものである′m置を提供する。この装置は、ファイルユ ーザインターフェース及び内部記憶装置に接続され、複数のユーザによりアクセ スされるデータの一時記憶域のために内部記憶装置を割当て、前記割当ての支援 に外部記憶装置により)・ランザクジョンの要求を生成する、ための第一のレベ ルを備えている。第二のレベルが、外部記憶装置へのデータの記憶及び外部記憶 装置からのデータの検索のためのトランザクションを管理するため、前記第一の レベル及び外部記憶装置に接続され且つ外部記憶装置を用いるトランザクション の要求に応答する。 このシステムは、多数の記憶装置及びアクセス経路を備えているのが良く、前記 アクセス経路は、それを通してデータを内部記憶装置と外部記憶装置との間で転 送することができるものである。 斯かるシステムにおいては、第2のレベルが、トランザクションのデータファイ ル主体を外部メモリ内のロケーションに割当てる予め指定されたパラメーターに より特徴付けられる複数の物理記憶域クラスを形成する。トランザクションの要 求に応答して、第2のレベルはトランザクションのデータファイル主体に割当て られた複数の記憶域クラスのうちの一つを識別し、適正な外部メモシ内のロケー ションを用いてトランザクションを実行する。 複数の記憶域クラスのうちの少なくとも一つは、斯かる記憶域クラスに割当てら れたデータファイルを含むトランザクションのための複数のアクセス経路の並行 利用を提供する。更に、記憶域クラス用の少なくとも一つの予め指定されたパラ メーターが、主体(subject)データファイルにとって所望の信頼性のレ ベルを識別する。そのパラメーターに応答する第2のレベルは、エラー修正コー ドを生成するか、又は鏡映型(mirroring−type)の信頼性システ ムの複写を行い、鏡映されたデータ又は生成されたエラー修正コードを外部メモ リ内のロケーションに割当てる。割当てられたデータファイルからデータを検索 するトランザクションのために、第二のレベルは、エラーを検知し、修正する手 段を含む。 第一のレベルは、IjI数のユーザ間に割当てられた内部記憶装置内のロケーシ ョンの依存性を指定するための依存性グラフ等の手段を含む。前記依存性に応答 して、第1のレベルは、ロケーションの位置付け、ジャーナリング及び解放を複 数のユーザには透明な方法で提供する。適正な方法で依存性を指定することによ り、内部記憶装置の大滅的平均化が達成される。ユーザには透明なエラー修正と ともに、記憶域クラスの動的な割当てを提供することにより、ファイルシステム は、エラー修正トランザクション間の連続作動及びデータのある記憶装置から他 の記憶装置への再割当てを要求することのできるトランザクションを保証しなが ら、高度の耐故障性を示す。 好ましいシステムでは、記憶域クラスのうちの一つがレコードレベルのストライ ビング用に提供される。斯くして、他の一つの特徴によれば、高いデータ転送速 度を達成し、しかもエラー脩正コード及び回復方法と協働して非常に大きなファ イルシステムに関して向上したデータ使用可能性及び信頼性を達成する、パラメ ータ一式のレコードレベルのストライビングを備えたコンピュータシステム内で データの入力−出力を行う効率のよい方法を提供する。この特徴によれば、本発 明は、局所セルL Ctであって、iが1乃至Xであるもののシーケンスを含む データファイルの記憶装置として特徴付けることができる。ファイル内の各セル は、データファイルのユーザによる少なくとも一つの転送の基本単位(ブロック )含む。この装置は、磁気テープ、磁気ディスク、又は何れかの他の不揮発性記 憶装置等のデータを記憶するための複数の記憶ユニットを備えている。複数の入 力−出力(Ilo)経路P1であって、nが1乃至Nであるものが含まれている 。複数の経路の各々は、複数の記憶ユニットのサブセットに接続されているため 、複数の経路を通して複数の記憶ユニットへ及び複数の記憶ユニットからデータ のブロックを伝送することができる。制御ユニットが、前記複数の経路に接続さ れ、局所セルL CIのシーケンスを少なくとも一つの前記複数の記憶ユニット のサブセットに割当てて局所セルL CLが経路P1に接続された記憶ユニット に記憶され、局所セルL Ci−sが経路Pk、ここでkはnとは等しくない、 に接続された記憶ユニットに記憶されている。 本発明の一実施態様によれば、局所セルL Crが記憶される経路は((U−1 )閣odN)+1)に等しく;N個の局所セルがN個のアクセス経路を通して並 行にアクセスすることができるセルを形成する。 そのほか、局所セルの前記経路を通して割当てるいろいろな方法のパラメータ一 式選択を、同じ記憶ユニットのセットについてすることができるため、個々の装 置の速度、与えられたファイルのセル及び局しよせるのサイズ並びにファイルを 使用しているプログラムによるデータ処理の量を合致させることができる。 本発明の他の一つの特徴によれば、ファイル内のN−1個の各局所セルのために 、N−1個の局所セル用の修正コードからなる修正ブロックが生成される。追加 の経路であって、それを通して修正ブロックをデータファイル内に割当てること ができるものを提供することにより、以前には修正不能であった与えられた経路 を通してのアクセスの間に検知されたエラーの修正をすることができる。あるフ ァイルシステムの性能を高めるために、工)−修正ブロックの割当てを、修正ブ ロックへの多重アクセスを要求するファイルシステム用のN個の経路を通して回 転することができる。更に、修正ブロック用の追加の経路を使用することにより 、エラー修正体系を拡張して多重エラー修正を提供することができる。 本発明によるファイルシステムは、広範な種類の作動要求に適合可能である。例 えば、標準的なユニツクスフアイル構造を反映する一つの記憶クラスを形成する ことができる。勿論、他の現存するファイルシステム構造を満たすよう、記憶域 クラスを形成することも可能である。 多くのアプリケーションが、高速逐次処理を要求している0個々の装置の最高速 転送速度を利用するため、本発明によりトラック、シリンダーのような装置の形 態を表す、ある記憶域クラスを形成することもできる。更に、多数のアクセス経 路を並行して提供することにより、各経路はその経路が取り付けられる装置に最 大転送速度を提供する者であるため、極めて高い逐次処理速度を達成することが できる。 オペレーショナルデータベースは、一方、バッチ処理、画像コピー及びデータベ ースの回復の他に、ブロック内に含まれる小さな対象への効率の良いランダムな アクセスを典型的に要求する。 適当な記憶域クラスの定義を使用することにより、逐次アクセスを要求された速 さで実行することができる。信頼性の要求は、適当な信頼性パラメーターを通し て満足することができる。結局、高ランダム更新速度には鏡映等の信頼性機能を 使用するのが最適であり、一方低ランダム更新にはパリティをベースにした信頼 性システムを使用するのが最もふされしい。 CAD/CAMデータベース等の非オペレーショナルデータベースは、しばしば 数メガバイトのデータを有す、る対象によって特徴付けられる。数個のセルに平 均的な対象を含むことのできる記憶域クラスを使用することが、斯かるシステム の性能に取って非常に有益第1図は、先行技術によるファイルシステムのブロッ ク図である。 第2図は、本発明を包含するファイルシステムのブロック図である。 第3図は、本発明によるファイルシステムのデータフロースルーレベルを示すブ ロック図である。 第4図は、本発明によるファイルシステムのレベルの構造を示す図である。 第5図は、複数の入力−出力路及び多数の物理的記憶装置を有するデータ記憶サ ブシステムを備えたコンピュータシステムのブロック図である。 第6図は、本発明によるデータファイルの略図である。 第7図は、論理ディスク及び使用可能経路概念を示す図である。 第8図は、エラー修正機構のない、本発明によるデータファイルの論理機構を示 す。 第9図は、第5図のファイルのレコードレベルストライビングを実行するIDA Wリストを示す。 第10図は、単一エラー修正機構を備えた、本発明によるデータファイルの論理 機構を示す。 第11図は、第7図のファイルのレコードレベルストライビングを実行するI  DAWリストを示す。 第12図は、エラー修正ブロックが記憶される経路を回転させる、単一エラー修 正機構を備えたデータファイルの論理機構の図である。 第13図は、第9図のファイルのレコードレベルストライビングを実行するID AWリストを示す。 第14図は、本発明による二重エラー修正機構を組込んだ、データファイルの論 理構成の図である。 第15図は、第11図のファイルのレコードレベルストライビングを実行するI DAWリストを示す。 第16図は、本発明によるストライビングドライバのための戦略ルーチンのフロ ーチャートである。 第17図は、入力/出力オペレーションが絆了するとストライビングドライバに 呼出されるルーチンである。 第18図は、入力/出力処理によって報告されたあらゆる失われたデータを回復 させるよう作動する回復ルーチンである。 第19図は、本発明の二重エラー検査修正(double ECC)実行用のエ ラー修正のためのルーチンである。 第20図は、システムを構成するのに使用されるルスドライビングドライバ用の 入力/出力制御ルーチンである。 第21図は、ストライブされた装置のために主入力/出力を準備するためのルー チンである。 第22図は、ユーザによって指定された所望のエラー修正のレベルのパラメータ ーによるエラー修正ブロックを生成するためのルーチンである。 第23図は、単一エラー修正用のパリティデータを生成するためのルーチンであ る。 第24図は、ある一つのデータ領域から他の一つのデータ領域まで排他的論理和 を行うためのルーチンである。 第25図は、本発明による二重エラー修正ブロックを生成するためのルーチンで ある。 第26図は、本発明によるストライプされた入力/出力のためのIDAWリスト を生成するためのルーチンである。 好ましい   様の 図面を参照して、本発明の詳細な説明をする。第2〜4図を参照して、ファイル システムの機構が説明されている。第5図を参照して、ハードウェアシステムの 概観が示されている。第6〜15図を参照して、本発明によるパラメータ一式記 録ストライビングの実施(ilIlplementation)が説明されてい る。第16〜26図を参照して、パラメータ一式ストライビングのソフトウェア の一実施!!!!様の実施の詳細が説明されている。 37 CFR’jr 1 .96(a)(it)に従う開示には追加があり、第16〜26図を参照して説 明した実施態様の重要部分の原始コードの例を示している。 ■、  イルシステム構 第2図は、本発明によるファイルシステムのブロック図である。 第2図に示すファイルシステムは、ユーザインターフェースIとコンピュータシ ステムの内部記憶装置41を備えているバッファスペースとの間にバッファブー ル管理プログラム40を与えている。バッファブール管理プログラム40は、シ ステムの複数のユーザによってアクセスされるデータを一時記憶するため内部記 憶装ff141を割当てており、バッファプールの割当ての助けに外部記憶装置 44へのトランザクションの要求を生成する。記憶制御プログラム42は、デバ イスドライバ43と協同してバッファブール管理プログラム40によって生成し たトランザクションの要求に応答し、外部記憶装置へのデータの記憶及び外部記 憶装置からのデータの検索をするため外部記憶装N44でトランザクションを管 理する。特定のファイルパラメータに応答するバッファスペース40の管理は、 プログラムのユーザの負担を軽くしてきたものであり、ユーザインターフェース エの下に位置している。更に、外部記憶装置によるトランザクションの要求の生 成は、バッファブール管理プログラム40の下に位置してきたものであり、更に 斯かる操作からユーザを切り離している。 第3図は、本発明によるファイルシステムの好ましい実11!態様のより詳細な ブロック図である。バッファスペースは、図面を簡明化するため第3図には示し ていない。 第3図に示すファイルシステムは、ファイルユーザインターフェースエに接続さ れたファイルサーバ30を含んでいる。前記の好ましい実施R様のファイルユー ザインターフェースエは、アムダール単位タスクシュミレータ(/vdahlυ TS)オペレーティングシステムにより実行するようなユニクラスV R3イン ターフェースであるが、ユーザにより他のいかなるインターフェースが指定され てもよい。そのため、ファイルユーザインターフェースエに対して書込まれたい かなるプログラムも、前記の好ましい実11!態様において、そのファイルシス テムで作動するが、バッファスペースの割当て及び外部記憶装置によるトランザ クションの制御は、ユーザには見えない。 ファイルユーザインターフェースエの下に、前記ファイルシステムはバッファ管 理を提供するファイルサーバ30を含んでいる。 ファイルサーバ30の下には、ファイルサーバ30への無限線形アドレス空間( i■ense 1inear address 5pace)を防止する論理記 憶域クラス31がある。論理記憶域クラスサーバ35が、論理記憶域クラス31 の割当ての制御をしている。論理記憶域クラス31の下には、外部記憶装置によ るトランザクションの現実の管理を行う物理記憶域クラスサーバ32がある。物 理記憶域クラスサーバ32には、チャンネルプログラムを作成し、エラー回復ア ルゴリズムを行い、フィルタリング等の他のサービスを提供するIjll数のデ バイスドライバ33が接続されている。 ファイルシステムの各々のサーバ30.35.32.33には、デーモン(de con)プログラムが連携して、それぞれのサーバの機能性(functton ality)の制御をするためのユーザインターフェースを提供する。したがっ て、ファイルサーバデーモン34、論理記憶域クラスデーモン35、物理記憶域 クラスデーモン36及びデバイスドライバデーモン37がある。一実施態様にお いては、デーモン34.35.36.37は、ファイルユーザインターフェース エを介してファイルシステムと連絡している。その代わりに、それらは、所望で あれば、特定のシステムの要求をみたすように適合されていてもよい。 第4図は、分Ill (isolation)及びレイヤリング(layeri ng)を施した好ましいシステムの構造を示す。第4図は、多数の独立したファ イルサーバFSI、FS2、FS3、FS4及びFS5を備えたファイルシステ ムの模式図である。これらのファイルサーバテム各々は、複数のユーザに接続さ れる。それらの多くは、実際データ処理システムの連続作動を助けるようユーザ からファイルシステムへの多数の経路を提供するために、複数のユーザの一つの 同一のプールとして、又は複数のユーザの重複する複数のブーJしとしての役割 をしてもよい。第4図には、また、重複する論理記憶域クラスLSCI及びLS C2が示されている。LSCIは、ファイルサーバFSI〜FS4に接続されて おり、一方LSC2は、ファイルサーバFS2〜FS5に接続されている。この ことが、連続作動のために必要なファイルシステムを通る多数の経路を提供する ものである。 同様に、複数の物理記憶域クラスサーバPSCI〜PSC3及び物理記憶域クラ スドライバと相互接続した(cross−coupled)複数のデバイスドラ イバD1〜D5がある。見て分かるよう
【:、ファイルサーバ3及びファイルサ ーバ4と接続されたユーザ+i、どこの一箇所が故障してもファイルシステムの 連続作動が保証される。−レベルにおける各サーバは、次のより高いレベ!しの 多数のサーバによって使用することができる。加えて、各サーバは、次のより低 いレベルの数個のサーバのサービスを含む事ができる。 このことは、各レベルによる機能の複製(replicatlon)を可能にし ている。 各レベルのサーバは、そのレベルの正常作動(normal opera−ti on)の実行及び例外の発生の認識の遂行能力がある。いかなる例外も連携する デーモンl:より処理される。このデーモンは、例外があると必ず作成されるト ランザクション処理(transactionproeess)として実行する 。耐故障性及び連続作動には、サーバに関するパーマネントデータの存在が必要 である。これらのデータは、連携するデーモンにより維持することができ、使用 するためにサーバによってアクセスされる。この好ましいシステムは、4つのレ ベルからなるが、より複雑な構造である事も勿論可能である。 ファイルサーバレベルにおいて、システムのユーザによって使用されるような異 なるファイル構造のためのサポートが備っていてもよい。ユニクラスV R3フ ァイルインターフェースだけを備えたシステムでは、ファイルはユーザにわかる ような線形バイト本位アドレス空間(linear byte−oriente d adress 5pace)として処理される。索引構造等の他の周知の構 造をサポートする事もできる。 論理記憶域クラスレベルにおいては、線形アドレス空間がファイルサーバに向け られている。ファイルサーバは、線形アドレス空間を得、修正し、解放すること ができる。線形アドレスのために、空間は、エグザバイl−(exabytes )のオーダーに予見することができる。 物理記憶域クラスレベルでは、論理デバイスが論理記憶域クラスに向けられてい る。論理デバイスは、論理記憶域クラスの物理記憶域クラスへのパラメータ式マ ツピングに基づいて実デバイスから作成される。物理記憶域クラスの特性は、以 下に、より詳細に説明する。 デバイスサーバレベルにおいては、記憶デバイスが物理記憶域クラスに向けられ ている。これらのデバイスは、物理デバイスとぴったり一致するが、それらは線 形アドレス空間の視点(view)を示し、多数の同時の要求を許容し、データ フィルター等の高度な機能を取扱うように適合することができる。 個々のレベルの機能及びそれらの互いの関係を以下に説明する。 各サーバ及びその連携デーモンは接続されている。サーバは、正常作動を実行し 、ファイルシステムにおけるパーマネントプロセスとして走行する。パーマネン トプロセスは、デーモンによって維持されるパーマネントデータに由来する一時 データを使用している。デーモンは、その連携するサーバにより報告された例外 を処理する。デーモンは、一時プロセスとして走行しながら、ユーザ及びシステ ムアプリケーション及びトランザクションとも連携することができる。 ファイルサーバ機能は、以下を含むものである。 1)ファイル内のデータの位置を決定する。 2〉アップデートを連携するジャーナソング(journaling)を備えた 永久記憶装置に依存グラフ(dependency graph)を用いて同期 させる。 3)多数の同時の要求を許容する。 ファイルサーバデーモン機能は、以下を含むものである。 1)プログラムの状態についての永久情報及びファイルに関する情報を保持し、 更新する。 2〉論理記憶域クラスデーモンと連絡する。 論理記憶域クラスサーバ機能は、以下のとおりである。 1)多数のファイルにスペースを割当てる。 2)デーモンに例外について知らせる。 3)デーモンの指示により効用機能(utility functions)を 実行する。 4)多数の同時の要求を許容する。 論理記憶域クラスサーバデーモンは、以下の機能を提供するものである。 1)論理記憶域クラスの線形記憶空間へのファイルのマツピングについての情報 を維持する。 2)ファイルサーバ及び物理記憶域クラスデーモンと連絡する。 3)データの複製及び再配置を監視する。 物理記憶域クラスサーバは、以下の機能を提供するものである。 1)記憶域クラスをファイルに割当てる。 2)多数の経路の作成、ファイルへのエラー修正の付加、及びファイルの回転( rotxting)を含め、ストライビングを以下に述べるように完結させる。 3〉デバイス複製機能を行う。 4)データの読み取りに最良のデバイスを選択する。 5)ファイルの更新のための方式(strategy)を選択する。 6〉デバイスサーバにたいする外部記憶装置によるトランザクションの要求を作 成する。 7)連携するデーモンに例外について知らせる。 8)多数の要求を平行して許容する。 9)エラー修正情報からデータを再起(rebuild)する。 物理記憶域クラスデーモンは、以下の機能を提供する。 1)マツピングの方式、エラー状態についての情報を維持し、データファイルへ の進行をg復する。 2)!理記憶域クラス及びデバイスでリバーデーモンどと連絡する。 3)データを複製し再配置する。 デバイスサーバ機能は、以下を含む。 】)チャンネルプログラムを起こす(build)。 2〉デバイス割込みを監視する。 3)デーモンに例外を報告する。 4)多数の要求を平行して許容する。 5)ffl先された要求(prioritized request)を許容す る。 6)強制排除する(preeIptive)要求を許容する。 7)フィルター等の拡張機能を許容する。 デバイスサーバデーモンは、以下の情報を提供する。 1)デバイスジオメトリ−、デバイス接続又は接続形態(de−vice co nnection or topology)、デバイス及び接続スピード、デ バイス及び接続使用(usage)、エラー履歴、デバイスのプールへの編成に ついての情報を維持する。 2)物理記憶域クラスデーモンと連絡する。 3〉デバイス複製を行う。 工1.ファ ル 薯の機 本発明によるファイル構造は、五つの層を参照して概観することができる。 ユーザー−これは、応用プログラムファイル仕様(specifica−tio n)である。 ファイルー−これは、ユーザに見えるような線形アドレス空間である。 論理記憶域クラスーーこれは、ファイルサーバによってファイルがマツプされて いる名前付きの線形アドレス空間である。このレベルにおいては、ファイルサー バによって割当てられた空間のサイズのみがファイル構造にとって重要な事柄で ある。 物理記憶域クラスーーこれは、論理記憶域クラスの性能及び信頼性のためにする 物理デバイスへのマツピングである。これは、以下に説明するように記憶域クラ スパラメーターによって定義された特性を示す物理媒体から構成された論理記憶 媒体と考えることができる。 物理記憶装置−一デバイスドライバを通しての線形アドレス空間としての物理媒 体の表示、この物理媒体は、コンピュータシステムに対して外部であると考えら れるいかなる記憶装置であってよく、典型的には非#1発性である。この仕様の ためには、ファイル構造における並びのより早い層は、より高いレベルの層であ る。 このファイルシステムによれば、以下の条件が真である。 1)各層は、他の層から論理的に独立である。 2)層の内部構造は、互に独立である。 3)層は、メツセージ規約(protocols)又は共用記憶装置を介して互 に連絡できる。いろいろな層をいろいろな連絡方法に適合させることができる。 4)データの移動即ち再配置を取扱うユーティリティーは、ユーザモードで実行 されるのではなく、ファイル構造の層に統合される。 5)ファイル構造の個々の層についての構造情報は、データベースに保持され、 ファイル構造に対して内部のトランザクションによって修正することができる。 6)ユーザは、一度に多数のトランザクションの要求を発行することかできる。 7)多数プロセスを要求の取扱いに使用することができる。 ファイルシステムは、現(current)ユーザインターフェースで作動し、 観察されたアクセス特性によって、又は連携するデーモン又はその他のものを通 して与えられた演算ヒント(operationalhints)を通してアク セス方式を最適化する。したがって、ファイルシステムは、ファイルシステムへ の現在の計画されたアクセスパターンについての情報を与えるアプリケーション を許容する向上したインターフェースを提供することができる。 II工、アクセス び データのアクセスはファイルサーバレベルの内部バッファ空間を使用するための 位置付け(LOCATE)、解除(RELEASE)及びジャーナル要求によっ て制御される。位置付は機能は、読み取り、アップデート又は書込型の要求であ ってもよい、読み取られた要求は、他の要求者からのデータへの変化によって、 外部記憶装置へのデータ領域の並行するバッファの書込みを許容しながら、存在 するデータ領域を位置付けする。更新要求は、外部記憶装置へのデータ領域の並 行するバッファの書込を防止しながら、存在するデータ領域を位1付けする。書 込機能は、最終的に存在するデータに前もってアクセスすることなしにデータを 書込み、外部記憶装置への並行するバッファの書込を防止する。以下のパラメー ターが、位置付は機能に利用できる。 1)  5EQ−一現アクセスは、逐次的である。データは要求に先立って検索 される(retrteved)べきであり、使用されていたデータは廃棄される (discarded)べきである。 2 )  RAND−一現アクセスは、ランダムである。要求されたデータのみ が、検索されるべきである。 3 )  5TRx −’−1アクセスで平均して検索されるべきデータのサイ ズ。Xはバイトの数、STRはstringの省略である。このパラメーターは 、好ましいバッファのサイズを示(indicate)すため、ファイルが開い ている時に使用すべきであることに注意する。 4 )  40KEN−一トークンは、位置付は要求により復帰し、データ領域 又は利用されているバッファを識別する。このパラメータは随意であり、それは プロセスの識別は、いつでも暗黙トークンとして割当てることができるからであ る。 特殊なバッファ方式のためのアプリケーションは、ストリングがストライビング ドライバにより定義されるようなセルよりも小さくなければならない;多重スト リングの長さが定義された場合に、何れの対にあっても、一つのストリングは他 のストリングの倍数であるべきである;及び単一(sjngle)要求は、SE Qバラメー限を受ける。 異なるバッファプールのデータ間の保全性は、ファイルシステムによって維持さ れ、ストリングサイズ間のコンフリクトは、ある仕様に優先権(prefere nce)を与えるシステム、又は折衷を表す数を使用するシステムによって解消 する。保全性アルゴリズムの正確な性能(nature)は、特定のアプリケー ションの要求を満たすように仕上げることができる。 具体化(externalization)に対してブロックされていたバッフ ァは、解除要求によって解放されなければならない。解除要求は、位置付は要求 により得られるトークンによって表現される(repre−sented)。こ のパラメーターは、解除要求の後でどのデータ領域が具体化に対して保護する必 要が有るかを定義する。 プロセスが終了すると、そのプロセスと連携する全てのデータ領域は、トークン としてのプロセスの識別を用いることにより暗黙解除される。 修正は、ジャーナル要求によって記録される(journaled)。プロセス は、以下のパラメータを指定することができる。 1 )  TYPE −−typeは、ジャーナルレコード形式を指定する。 特別なアプリケーションのために特定のジャーナルの形式を選択することができ る。 2 )  TOKEN−−ジャーナル要求のために位置付は要求により得られる 1以上のトークンを指定するのが良い。このパラメーターは、どのデータ領域が 現ジャーナルレコードが書込まれるまで具体化することができないかを定義する 。 3 )  DATA−一これは、ジャーナルに配置された(placed)デー タの位置である。 4 ’)  RELEASE−一位置付は要求により得られる1以上のトークン を指定するのが良い。このパラメーターは、ジャーナルが終了した後にどのデー タ領域が具体化に対して保護する必要が有るかを定義する。 バッファ操作(sanipulation)は、以下の規則によって制御される 。 1)バッファ要求は、いかなる更新又は書込のしである位置付は機能と解除機能 の間でも具体化しない。 2)ジャーナル要求がバッファと関連していると、バッファは、ジャーナル情報 が具体化されるまで具体化されない。 3)位置付け、解除及びジャーナル機能は、ファイルシステムユーザ層二も利用 できる。 4)ファイルシステムは、ロッキング規約を通してはプロセス間のデー・夕保全 性を維持しない、これは、ファイルシステムの外部のプロセスによって行われな ければならない。 IV、 @己 −クラスの一明 ファイルシステムにおいて、ファイルは物理記憶域クラスサーバによって記憶域 クラスに位置付けされている。各記憶域クラスは、以下により識別される。 名称(NAME)  ユニクラス(IINIX)内のあらゆる有効な名称t42 ’(SIZE)  1バイトと16 EB(exabytes)どの間のあらゆ る数で、その数は、次の高位(higher)の深度と巾の倍数に丸められる。 サイズは、ユーザのデータを含むデータ領域のサイズのみを決定する。記憶媒体 上の現実の空間要件は、信頼性要件により増加させるのが良い。 深度(DEPTH) 1と1経路に連続的に記憶されたバイトの数を表すDの間 の数。斯かる連続記憶領域は、局所セルと称される。Dは、ブロックと呼ばれ、 通常は4にである転送の基本単位の倍数である。最大限可能なりは、ファイルシ ステムの実現(implementation)及び利用できるハードウェアに より決定される。 巾(wxoTH)  1と記憶域クラスへの並列アクセス経路の数を表すWとの 間の数。最大限可能なWは、ファイルシステムの実現及び利用できるハードウェ アにより決定される。各アクセス経路は、同数の局所セルを有している。各アク セス経路における同じ相対位置で局部セルによって表現される記憶がセルどよば れる。 信頼性−以下の仕様が可能である。 None:   媒体の信頼性は十分である* Noneは省略イl1j(de fault)である。 5PAR:   単一(stngle)パリティを使用すべきである。 PARx:   x個のパリティ経路を追加すべきである:Xは1とNとの間の 数。最大限可能なNは、ファイルシステムの実現及び利用できるハードウェアに より決定される。PARIは、5PARトM−4’アル。 DUAL:   各経路のデータは、二つの独立したディスクに書込まれる。 REx:   データは、X個の独立したディスクに書込まれる(I!製される )べきである、Xは1とNとの間の数、最大限可能なNは、ファイルシステムの 実現及び利用できるハードウェアにより決定される。REIは、DUALと同一 である。 例えば、ゼロから減算をしてコードを生成し、しかる佳に加算しかえして(ad d back)エラーを検知する加算論理機能(add logi−cal f unctions)を使用することにより、パリティペースコード以外のエラー 修正コードを使用することができる。 パラメーターサイズ、深度及び巾は、一度正確に指定しなければならない;信頼 性パラメーターは、省略してもよく、又は各々の対5PAR,PARx、 AN D DUAL、 RExの最大1つが有ってもよい。 None以外の信頼性が指定されていると、記憶域クラスは、向上した信頼性を 有していると言える。 信頼性パラメーターは、ユーザが媒体エラーに対する保護を所望するだけ指定す ることを可能にしている。所望の平均故障間隔にTBFを得るために、この14 TBFを越える定義がある。このシステムは、ユーザが所望のMTBFと記憶及 びアクセスのコストとの間の適正なバランスを選択することを助け、このバラン スはアクセスパターン、特にセルをカバーするに満たない更新のための読み取り 一更新比に大きく依存している。 増強された信頼性は、単純なパリティ情報かハミングコードのどちらかを使用し たデータの追加を通して達成される。増強された信頼性は、媒体に追加の空間を 必要とする。システムは、巾を増加させ、必要な量の局所セルを追加してパリテ ィ情報を保持する。巾の増加は、自動的になされる。ユーザは追加の空間の要求 を無視することができるが、オペレーションはそれに気がついていなければなら ない。 ファイルは、記憶域クラスにマツプされる。二つのファイルは、セルを供用する ことができない。 v、′gJU 可用性は二つの大きな要素1、連続作動及び耐故障性を有している。ファイルシ ステムは、技術の水準によって両方の面を取扱うことができる。 A、L帆立l: 連続作動は、ファイルの記憶域クラスとの連携、記憶域クラスの定義、及び根底 にある記憶媒体を含む、要素及びファイルシステムの使用を変化させる能力であ って:・データが現在使用されているかどうかにがかわらず、・いかなるデータ 保全性の損失もなしに、そして・その変化が永久的であることを保証しながら変 化させる能力である。 これは: ・各レベルに連続作動のための論理を組込む、・データバッファを各レベルに有 する、・レベル間の制御要件の流れを堅持する、・データベースに構造及び状態 の情報を保持する、・各レベルの多数のサーバの分離及び独立性を維持すること により達成される。 B−LLI!: ファイルシステムは、全ての起こり得る媒体エラーを、それらが定義された信頼 性の限界内にある限り、取扱うことができる。 1、ソフトエラー: 記憶におけるソフトエラーは、ファイルシステムによって認識される。ユーザは 、システムを使用しながら、エラーを示す記憶域クラスの部分に新しい直接アク セス記憶装置(DASD storage)を割当てることができる。ファイル システムは、データを、たとえそれらが使用中であっても、再配置する。再配置 は、深度数(depth number)にかかわりなく最適化される。 2、ハードエラー トラ・・り)ニ ドラックが使用不能になり、向上した信頼性が指定されている場合には、システ ムは、エラーを発見次第、トラックを再割当てし、データを再構成する。このプ ロセスは、ファイルシステムのユーザ及びオペレーションにとって透過的であり 、いがなる目につくシステムの劣化も招来しない。 3、ハードエラー(媒 ): 直接アクセス記憶装置が使用不能になり、向上した信頼性が指定されている場合 には、システムは、新たな装置を詩才するか、又は1以上の新たな装置が緊急の 使用のために事前割振りされていれば、その一つを選択し、データを新たな装置 に移動させる。 これは、エラーが発見され次第性われる。このプロセスは、ファイルシステムの ユーザにとって透過的である。オペレーションが含まれていてもよい。物理マツ ピングは、それが「正常」作動下にあった場合はど最適でないことがあるため、 ある記憶領域に関して幾分システムの劣化を受けることがある。そのような場合 には、故障した装置が修理され次第、データは再マツプされる。このプロセスは 、自動化されており、そのためオペレーションにとって透過的である。 先行技術のファイルシステムは、ファイルに対する全ての要求に一つのアクセス 経路を使用するように設計されている。これは、データを記憶する要素(直接ア クセス記憶装置)が非常に少ない限りにおいては全く理に適っている。しかしな がら、多くの記憶装置及び多くの独立したアクセス経路を備えたシステムは、並 行処理の利用して与えられたタスクへの応答時間をめざましく改善し、副産物と してシステムの処理能力を潜在的に向上させること本発明によるファイルシステ ムのコピーコマンドを使用することにより、実に、ある記憶域クラスから他の記 憶域クラスにファイルを移動させることができる。このファイルシステムは、デ バイスドライバ及び物理記憶域クラスドライバに接続され、データをアクセスす るユーザに対する割込みがほとんどなくマイグレーションを実施するユーティリ ティを含んでいる0局所セルを装置間で転送することができるか、又はセルを新 しい記憶域クラスに転送することができる。システム制御プログラムは、幾つ化 の周知のロック技術の何れかを使用して、転送中の対象になっている(subj ect)局所セル又はセルをロックする。ロックされたセル又は局所セルへのア クセスが要求された場合には、ユーザは転送が駐了するまで少しの遅れを経験す る。ファイルをファイルシステムに転送するためには、ファイルは閉じており、 記憶域クラスにコピーされていなければなれないゆその時点から、ファイルは、 説明したファイルシステムにより提供される全てのファシリティを伴って使用す ることができる。 VIl、単 ヒしたハード エアの概観第5図は、本発明を実施することのでき る多数のデータ記憶装置を備えたコンピュータシステムの単純化したブロック図 である。 このコンピュータシステムは、1以上の中央処理袋y11oを含む基本(りas ic)コンピュータを含んでいる。中央処理装置10は、チャンネルインタフェ ース11を介して複数のチャンネル12と連絡している。チャンネル12は、中 央処理袋y11oがらデータ記憶装N、D11〜Dnmへの入力/出力経路を定 義する制御ユニットP1〜Pnに接続されている。経路P1に接続されているの は、データ記憶装置!DI ]、DI2...Dla(7)ストリンクチあり、 ここでaは整数である。データは、ライン1を通して経路P】に接続されている いがなる装置からも書込又は読み取りをすることができる。ライン1は、当該技 術分野で知られているように、装!Dll〜Dlaに記憶されたデータをアクセ スするための複数の実経路を含んでもよい。同様に、複数の装置D21〜D2b がライン2を通して経路P2に接続され;複数の装置D31〜D3cがライン3 を通して経路P3に接続され;複数の装!D41〜D4dがライン4を通して経 路P4に接続され;、。 、そして、枚数の装置!Dnl〜Dnmがラインnを通して経路Pnに接続され て中央処理装置10の制御下に出カー人カをサポートする。第5図に示すデータ 記憶装置DIl〜Dnmには、テープ装面、IBM 331110型デイスクド ライブ等のハイエンドハードディスクドライブ、小型ディスクドライブ(SCS I)、等のあらゆる種類の物理デバイス、光学媒体、又は他のあらゆる種類の記 憶装置がある。与えられたー経路にたーっだけ装置があってもよく;異なる経路 に異なる数の装置があってもよく;そして、与えられた複数の経路に非常に多数 の装置があってもよい。本発明のファイル記憶システムは、以下に更に十分に説 明するように、広範な種類のいろいろな特性を有する多数の経路を論理的に通る 記憶装置を割当てることができる。 第5図には示されていないが、好ましいデータ処理システムは、物理媒体のあら ゆる与えられた位置への多数の冗長(redandant)経路を含んでいる。 したがって、制御ユニットP1は、経路2に接続された装置のストリングへの経 路も提供し、制御ユニットP2は、経路1に接続された装置のストリング用のア クセス経路を提供する。同様に、各制御ユニットは、経路に接続された各装置へ の2以上の経路を提供することができる。この方法で、ハードウェアの故障は、 代替機能経路を通して回復することができ、システムは、故障に応じてアクセス 経路を動的に再構成することによって連続作動に必要な手段をとる。外部記憶シ ステムに起こった故障は、エラー回復手法を行う、即ちデータの影響を受けた局 所セルへのアクセス経路を再計算する。アクセス経路の冗長度のレベルは、デー タ処理システム又は外部記憶システムに記憶された個々のファイルに与えられた 平均故障時間要件を満たすように合せることができる。 VIIl、デュタフ  ルの″理横 第6〜11図は、本発明により「ストライプされた(striped)」データ ファイルの論理構成を示す。第6図では、データファイルは、局所セルLCI〜 LC20の配列として極式的に示されている。この配列は、第6図の論理経路P 1〜P5に対応する列(col−umn)及びセルに対応する行(row)を含 んでいる。見てわかるように、逐次(sequential)局所セルは、シス テムのいろいろな論理経路シ二割当てられている。最高の性能を得るためには、 論理経路が物理経路と等しいのがよい。しがしながら、二つの論理経路が一つの 物理経路を供用することができ、又は一つの論理経路が二つの物理経路を含むこ ともできる。 第7図は、使用可能な経路及び論理デバイス概念を示している。 使用可能な物理経路P1〜Pn用に、所望であれば、記憶装置を物理境界(ph ysical boundary)よりもむしろ論理境界に沿って割当てるのが よい。斯くして、物理経路P1は、5個の論理ディスクとして取扱われる5個の 実デバイスを含むのがよい、物理経路P2は、ファイルシステムにより3個の論 理ディスクとして取扱われる単一高容量ディスク(single high c apacity disk)含むのがよい。物理経路P3は、8個の論理ディス クとして構成される多数の高容量デバイスを含むのがよい。同様に、物理経路P Nは、二つの論理ディスクとして構成されているのがよい。ファイルシステムけ 、データファイルを記憶システムに割当てるため、ファイルシステムは、システ ム内の使用可能な経路、即ち、使用に利用できる論理ディスクを有する経路を識 別することができ、データファイルを使用可能な経路を通してデータファイルを 割当てて最適な記憶装置の使用状態をつくる。使用可能な経路を識別する方法は 、ファイルが割当てられると働ぐ動的なものであってもよく、又は記憶システム を構成するプログラマ−によって前もって準備された予め指定されたものであっ てもよい。 第6図に示すように、本発明によるストライビングアルゴリズムの好ましい実施 態様は、局所セルL(、tを経路P(((1−1)modN)+1)に割当て、 ここでNは使用可能な論理経路の数である;そしciは1からXまで進む、ここ でXはファイルにおける局所セルの数である。この方式では、逐次局所セルは、 逐次(sequential)経路に割当てられるが、二つの逐次局所セルが同 じ経路に位置することはない。更に、論理経路が物理経路に等しい場合には、N 個の局所セルのセルが、単一の並列人力/出力(Ilo)トランザクションに転 送される。 IX、ストラ ブされたm−タフ イルの例第8〜15図は、本発明による様々 な種類のエラー修正機構を使用しているストライプされたデータファイルの例を 示している。 第8図は、ブロックBO〜B199を含むデータファイルであり、ここで斯くブ ロックBは、チャンネルオペレーションのためのアドレス可能単位である。ブロ ックは、各々10個のブロックBO〜B9、B10〜B191.、、、B190 〜B199の局所セルに区分されている。データファイルは、ストライプされる ので、このデータファイルのために利用される5個の経路が、4つのセル深度( cells deep)S O−83で存在する。ファイルシステムは、第9図 に示すようなI [lAWリスト(ここで論理経路は物理経路に等しい)を生成 し、ここでき0は局所セルBO−B9、B50〜B59、B100〜109、及 びB150〜B159を含んでいル、経路1は、局所−!1lzB10−B19 、B60−B69、B110〜B119、及びB160〜B169を含む、経路 P4は、局所セルB40〜B49、B90−B99、B140〜B149及びB 190〜B199を含む、上記の様に、論理ディスク及び使用可能な経路概念を 参照すると、第8図に示す経路PO−P4は、多数の物理経路を含んでいてもよ いデータ記憶システムにおける識別された局所セルへのいかなる使用可能な経路 であってもよい。見てわかるように、第8及び9図では、追加のエラー修正能は 付与されていない。各物理経路のための制御ユニットは、当該技術分野で周知の 様に、データに総連まれたパリティ又はエラー修正コードを使用したそれ自身の エラー修正能を有してもよい。何れかの経路に修正不能なエラーが起きた場合に は、そのデータは失われ、その損失はデバイスドライバに報告され、ファイルシ ステムは回復措置を取るよう要求される。 高い1N頼性が要求されているシステムでは、第10〜18図に示すようにエラ ー修正能を本発明により付与することができる。 エラー修正能のレベルは、特定のデータファイルの要求を満たすように選択する ことができる。例えば、単一エラー修正機構を第10〜13図に示すような種々 のフォーマットで付与することができ、二重エラー修正機構(double e rror correction)を第14及び15図に示すように付与するこ とができる。結局、より高い信頼性が要求される場合には、鏡映された(+e  1rrored)、又は多数の冗長なストライブされたデータファイルを付与す ることができる。所望のエラー修正のレベルは、好ましいシステムに記憶域クラ ス用のパラメーターとして指定することができる。第10及び第11図は、単一 エラー修正fil横を使用したファイルシステム用に生成された論理構成及びI DAWリストを示す。見てわかるように、核スペース(kernel 5pac e)において、各々の局所セルにエラー修正ブロックかファイルシステムにより 生成されることを除いて、データファイルは第8図を参照して述べたように構成 されている。 ファイルシステムは、しがる後第8図に示すような全てのエラー修正ブロックを 図示の様に経路P5に割当てるIDAWリストを生成する。好ましいシステムの エラー修正ブロックは、ビット的に(bHwise)各セルにおける対応するブ ロックを通るXORである。そのため、xOは、ビット的+:BO,BIO,B 20、B2O、B2OのXORである。よって、もしブロックB10が失われた 場合には、それ+、tBO,B20.B30.B4O17)XOR及びxoヲ計 算することにより置き換えることができる。 個々のブロックに対する更新がしばしば望まれるファイルシステムのためには、 修正ブロック(correction blocks)が単一経路に記憶される システムが、修正ブロックに割当てられる経路にのった過剰のトラフィック量を 有するのがよい。そのため、修正ブロックを使用可能な経路間に分配する(di stributing)ためのアルゴリズムが一つの経路の回線争奪を防止する のに望まれる。 第12及び13図は、修正ブロック用の回転(rotating)経路を備えた 単一エラー修正能を示している。第12図に見られるように、ファイルシステム は、第10図に示す隼−エラー修正機構の場合と同様の方式で修正ブロックを生 成する。 IDAWリストは、経路POが、エラー修正ブロックX0−X9をセ ルCOに、データブロックB50〜B59をセル1に、データレコードB100 〜B1o9をセルC2に、及びデータブロック8150〜B159をセルC3に 含むように生成される。セルC1では、エラー修正ブロックは経路P1に割当て られている。セルC2では、エラー修正ブロックは経路P2に割当てられており 、セルC3では、エラー修正ブロックは経路P3に割当てられている。この方式 では、エラー修正ブロックが使用可能な経路を通ってシステムに広がって、エラ ー修正の目的の単一経路の使い過ぎを防止する。 一層大きな信頼性を、本発明により二重エラー修正機構を使用して付与すること ができる。この体系(scehae)によれば、別の粁路の二つの同時のエラー を修正することができる。第14図に示すように、データファイルは、セルSO 乃至S3に配置されたブロックX0−X9乃至X150〜X159を含んでいる 。ファイルシステムは、修正ブロックX0−X9、Xl0−X19、乃至x11 0〜x119が作成されるように、データファイルの局所セル用に3ビツトのハ ミングコードを生成する。ファイルシステムは、しかる後経路POが修正ブロッ クX0−X9、XIO〜X19、X20〜X29、X3O−X39を受信Cre ceive)するように、第15図に示したようなI DAWリストを生成する 。経路P1は、修正ブロックX40〜X49、X50〜X59、X6’0〜X6 9及びX70〜X79を受信する。経路P2は、データブロックBO〜B9、B 40〜B49.880〜B89及び8120〜B129を受信する。経路P3は 、修正ブロックX80〜X89、X90〜X99、X100−X109及びX1 10〜x119を受信する。経路P4〜P6は、図に示すようにデータブロック の歿り(bδ1ance)を受信する。第15図は、修正ブロックの生成を容易 にする二重エラー修正コード(double ECC)を備えたデータファイル のレイアウトを示している。これらの修正ブロックも、データファイルの特定の 経路のアクセスが集中するのを防止するように、経路間に分配されている。 これらの図には示されていないが、より大きなレベルのエラー修正機構(即ち、 より大きなエラー修正コード)により、又は冗長ファイル記憶装置により一層良 い信頼性を付与することができる。与えられたファイルの第一のコピーがシステ ムの第一の使用可能な経路のセットに記憶され、一方データファイルの第二のコ ピーが第二の使用可能な経路のセットに鏡映された様式で記憶されるように、冗 長ファイルもストライブされ”Cいても良い昏ファイルシステムは、それが上述 のようにエラー修正コードを生成するのと同様の方式で、物理システムに鏡映さ れたデータ人力/出力要求を生成する。 第8〜15図に関しては、局所セルのサイズは、10のブロックを有するように 示しである。明らかに、各局所セルにおけるデータのエクステントをシステムの 種々のパラメーターと一致(match)するように合せるため、他のデータフ ァイルを構成することができる。例えば、ディスクドライブを含むデータ記憶シ ステムに関し、それらのディスクドライブのための最適の入力/出力転送サイズ を指示する(indicattng)パラメーターを使用して局所セルのサイズ を決定してもよい。例えば、与えられたディスクドライブが情報を最寓速度で与 えられたディスクのトラックのサイズと等しいサイズに転送することができる場 合には、ストライブされたデータファイル用の局所セルのサイズをトラックと等 しく設定することができる。与えられたディスクシステムにおける多数のトラッ クがデータのシリンダを形成し、入力/出力転送がシリンダレベルに、より高速 度で行われる場合には、局所セルのサイズをディスク内のシリンダのサイズと等 しくすることができる。加えて、本発明により局所セルが割当てられている他の パラメーターがサイズに影響を与えることができる。例えば、アプリケーション プログラムが、精巧な医用映律技術に用いられるデジタル画像等の非常に大きな ユニットのデータを処理(manipulate)することができる。そのため 、それらの画像の各々のために要求されたデータの量に等しいサイズを有する局 所セルを、物理ディスクの特性と無関係に、割当てることができる。 局所セルのサイズに細大、使用されている経路の数であるその巾も、与えられた データファイルのセルに関して、特定のシステムの要求により処理することので きるパラメーターであるのがよい。コンピュータシステムの使用できる経路の数 は経時的に変化するので、例えば経路が物理的にシステムに追加された時又はデ ータがシステムがいに転送されて存在する経路が解放される時、などに使用して いる経路の数を増加またげ減少させる。 X、ストライビング、Ll」二八9−叉且第16〜26図は、ユニクラスをペー スにしたオペレーティングシステムIITsにおけるファイルシステムのデモン ストレーションバージョンの実行を示すフローチャートである。このデモンスト レーションバージョンは、全ての記憶装置がIBM−クラス3800デイスクデ バイスであり、全ての入力/出力オペレーションが局所セルのシーケンスを含む セル全体をアクセスするシステムのために作られたものである。これらの仮定は 、このデモンストレーションバージョンの実行を単純化するためになされた。好 ましいシステムでは、これらの仮定は除かれるであろう。 第16図は、外部記憶装置を用いたトランザクションの要求によってブロック1 301に呼出されたストライビング戦略ルーチンを示す。この要求は、物理人力 /出力要求により又はバッファ管理プログラムにより生成されたバッファヘッダ ーを含み、ファイル、その論理位置及びトランザクションのバイトの数を識別す る。戦略ルーチンは、ファイルシステムから受信した入力/出力オペレーション のパラメーターメーターを検査する。それらのパラメーターメーターに応答して 、必要な追加のヘッダーがが加わったこのオペレーション用の入力/出力ヘッダ ーは、エラー修正ブロックが追加される場合には、検索される(ブロック130 2)。次いで、対象である論理人力/出力を分割して得なければならない物理人 力/出力オペレーション計算される(ブロック1303)。ユーザアイオロック (useriolock)と呼ばれるルーチンは、物理人力/出力(1/D’s )用のコアにバッファをロックし、記憶袋N (!lemory)の実ページの ためのページリストを生成する。バッファされた入力/出力(I10’s)は、 既にページリストを有している(ブロック1304)。ルーチンmak(ida wsはオペレーションのためのTDAWリストを生成するために呼出され、しか る佳、各物理入力/出力用に割当てられたバッファヘッダーのプールからバッフ ァヘッダーが獲得される(acquired) (ブロック1305)。バッフ ァヘッダーは、互に連鎖され要求連鎖(request chain)を生成す る(ブロック1306)。各物理人力/出力は準備され(setup)、バッフ ァヘッダー変数の正しい値は、正しい(correct)IOAVポインタ及び B5TRlPEフラッグ(ディスクドライバによって使用され、ストライブされ た入力/出力を識別する)を含む集合(set)である(ブロック1307)。 トランザクションが、バッファされていない入力/出力の場合には、ページテー ブルの入口がセーブされ、ユーザのバッファを核アドレス空間にマツプする(ブ ロック1308)。書込が実行されると、gen−eccルーチンが呼出され、 ユーザによって要求されたあらゆるエラー修正を生成する(ブロック1309) 、デバイス戦略ルーチンが、物理人力/出力の要求により呼出される(ブロック 1310)。もし5tr−stratOへの入力が連鎖であるとすると、ルーチ ンは、その連鎖における吹の要求を処理する(ブロック1311)。さもなけれ ば、ル−チンは終了する(ブロック1312)。 第17図は、BSTRIPEDが設定されると修正したUTS 1odineル ーチンによって呼出されて、ストライブされたバッファヘッダー用の入力/出力 の終了の信号を送る5tr−iodineルーチンである。 UTS jodineルーチンは、ディスク割込みルーチンから呼出され、入力 /出カドランザクジョンの終了の信号を送る。入力/出力の終了?麦、5tr− iodineルーチンは、ブロック1400において、このバッファヘッダーが 属する人力/出力ヘッダーを見つけ、それの懸案の入力/出力(工10°S)の 数(count)を決定することにより始る。次いで、入力/出力にエラーがあ る場合には、エラーマスクは入力/出力ヘッダーにセーブされる(ブロック14 01)。このヘッダーのために更に多くの入力/出力(I10’s)がある場合 には、バッファヘッダーはフリーリストに載せられ、ルーチンが戻る(ブロック 1402)、更に多くの入力/出力(I10’s)がない場合には、これが最後 の論理人力/出力の構成要素のはずである。 そのため、XCjeCOVerルーチンが呼出され、全ての必要なエラー回復を 行い、復帰値(return value)を準!(set up)する(プロ ・ツク1403)、次いで、useriounlockルーチンが呼出され、ユ ーザバッファをアンロックし、ic!oneを呼出して論理人力/出力オペレー ションの終了の信号を送る(ブロック1404)。最駐的に、入力/出力ヘッダ ーは、フリーリストに載せ戻され、ルーチンが戻る(ブロック1405)。 第18図は、全ての必要なエラー回復を行う意図で呼出され、バッファに復帰値 を準備するxc−recoverルーチンである。このルーチンは、故障した入 力/出力(Ilos)のためにエラー履歴マツプが維持されているブロック15 00において開始する。読み取りが行われたなら、読み取りに置けるいかなるエ ラーもこのマツプから修正しなければならない、書込が行われると、過ったデー タが識別されるようにマツプが更新される。ブロック1500のマツプにエラー が載らない場合には、ルーチンが戻る(ブロック1501)。このデータファイ ルにエラー修正が実行されない場合には、全てのエラーはプリントされバッファ の復帰マスクに標識される(ブロック1502)、このストライブされたファイ ルに単一エラー修正又は回転エラー修正が実行されると、その後あらゆる修正可 能なエラーは、XORバッファからデータをコピーすることにより修正され、し かる後セルの残りにX0Rt−施して(xoRlng)失われたデータを再生成 するが、あらゆる修正不能なエラーは復帰マスクに標識される(ブロック150 3)。二重エラー修正が実行されると、しかる後あらゆるエラーを修正する意図 でcorrectOルーチンが呼出される(ブロック1504)最紡的に、ルー チンは、オリジナルの要求バッファに適当に設定された復帰マスク及びエラーフ ラッグを備えて戻る(ブロック1505)第19図は、correctOルーチ ンである。このルーチンは、検知されたエラーの数が1がどうかを決定すること により開始する(ブロック1600)。エラーが一つであり、そのエラーがちょ うど書込まれたばがりのデータのブロックに検知された場合は、ルーチンが戻る (ブロック1601)。エラーが読み取りオペレーションの間に経路に検知され ると、しかる後過ったデータを反映しているパリティ経路が発見される(ブロッ ク1602)。過ったデータが、パリティ経路にある場合には、それは修正され ない、そうでない場合には、パリティデータは、エラーを修正するのに使用され る(ブロック1603)。最絣的に、良好に修正されたエラー表示が戻る(ブロ ック1604)、ブロックl600における懸案のエラーの数が1を越える場合 には、もし他のエラーが修正されていないのであれば、アルゴリズムは各懸案の エラーを検査してそれが修正できるがどうかを調べる(ブロック1605.)。 どのエラーも修正されないとすると、ルーチンは、修正不能エラー信号を返す( ブロック1606)。修正することのできるエラーが発見されると、エラーは適 当なパリティ経路を使用して修正され、correctOルーチンは、再帰的に 呼出されて残りのエラーの修正を試みる(ブロック1607)。 第20図は、必要な管理機能のための制御を行う5tr−1octlという名称 のルーチンである。このルーチンは、目下、構成データを設定し、獲得する能力 のみを提供するものである。このルーチンは、指令が構成設定せよ(set c onfiguratjon)を要求しているかどうかをそのルーチンが決定する ブロック1700において開始する。指令が要求しているならば、アルゴリズム は、ユーザによって供給された原型パラメーターを使用して物理デバイスの部品 からストライブされたデバイスを構成しようとする。次いで、ストライブされた デバイスが使用されておらず、ユーザが適正なバーミッションを有しているとす ると、原型構成がコピーされる(ブロック1701)、次いで、5TR−che ckルーチンが呼出されて構成の妥当性を検査し、妥当な場合は、新しい構成が ストライブされたデバイス内にコピーされる。そうでない場合は、古い構成は取 替えられないくブロック1702)、指令が構成を獲得せよ(get conf iguration)であるとすると、構成データは模写される(ブロック17 03)。最終的に、ルーチンが戻る(ブロック1704)。 第21図は、ストライブされたデバイス用に主入力/出力(r10’s)を準備 する5tr−physioルーチンである。これは、physi。 バッファヘッダーを得て、それを入力/出力要求のための値で満たすことにより 作動する(ブロック1800)。次いで、5tr−stratルーチンが呼出さ れ、ルーチンは、入力/出力が終了するのを待つ。しかる復、バッファは解放さ れ、ルーチンが戻る・(ブロック1801)。 第22図は、ユーザによってパラメトリックに(paraIIletrical −Iy)指定されるようなストライブされたファイルに必要な、あらゆるエラー 修正コー ド(ECC)を生成するgen−eccルーチンである。 ユーザによってエラー修正コードが指定されない場合には、ルーチンは戻る(ブ ロック1900)。単−又は回転単一エラー修正コードがユーザによってパラメ トリックに選定された場合は、ルーチンは、gen−xclを呼出して修正ブロ ックを生成する(ブロック1901)、二重エラー修正コードがユーザによって 選定された場合は、ルーチンは、gen−ecc2を呼出して修正ブロックを生 成する(ブロック1902)。 第23図は、】以上のセルについての単一エラー修正のためのパリティデータを 生成するのに使用されるgen−xclルーチンを示す。ルーチンは、セルの数 がゼロより大きい間は、ブロック2000において開始する。ルーチンは、第一 の経路からデータをXCバッファ領域にコピーする(ブロック2001)。セル に残ってる局所セル(経路)の数がゼロより大きい間は(フロック2゜02)、 ルーチンex−or□が呼出されてデータがらXCバッファへ排他的論理和を行 う(ブロック2003)。データアドレスは増加する(ブロック2004)。よ り多くの局所セル(経路)がある場合には(ブロック2005)、ルーチンはブ ロック2002ヘループする。それ以上経路がない場合には、割込みのための窓 が開き(ブロック2006)、アルゴリズムがさらにセルが必要かどうかを決定 して(ブロック2007)更に多くいるのであればブロック200oヘループす る(ブロック2008)。 第24図は、ある一つのデータから他の一つのデータまで排他的論理和を行うe x−orルーチンを示す。ブロック21oOでは、XORルーチン用に残されて いるブロックの数がゼロより大きい間、ルーチンはXORへと分岐して4キロバ イトのデータのブロックがXCバッファに入る(ブロック2101)。アドレス は増加してブロックの数は減少しくブロック2102)、ルーチンはブロック2 100ヘループする。 第25図は、二重エラー修正のためのパリティ値を生成するgen−ecc2ル ーチンを示す。これは、ブロック2200においてxorバッファ領域をクリア することにより開始する。必要な局所セルは、利用されるハミングコードパター ンによりXORを施される(XORed)。次いで、各パリティ経路用のアルゴ リズムが繰返す(ブロック2202)。 第26図は、ファイルシステムにより生成されたページリストから、ストライブ された入力/出力用のIDAWリストを構築するwakeidawsという名称 のルーチンである。アルゴリズムはプロ・ツク2300においてオフセット及び ページリストポインタを準備することにより開始する。適正な種類のエラー修正 に基づき、アルゴリズムは各経路を介してループし、経路内の各プロ・ツク用の IDAWを準備してデータ及びパリティ値を仮想記憶装置からディスクヘマップ する(ブロック2301. ) 。 緻碧 本発明によるファイルシステムは、内部記憶装置の大域的最適化、単一人力/出 カドランザクジョンのために並行して複数のアクセス経路を使用すること、及び 物理記憶機fll (facilities)を効率高く割当てること、を提供 することができる。更に、このファイルシステムは、データ処理システムのユー ザにとっての連続作動及び高度の耐故障性に対し最適化することができる。 本発明のファイルシステムは、可能な並行処理を利用(exploit)するも のである。加うるに、このファイルシステムは、利用可能なハードウェア及び操 作要件(operational requirement)にファイル構造を 合せること、及び現に実行しているタスクへアクセス方式を合せることを可能に している。 加えて、記憶域クラス概念を利用するごとにより、一つのファイルシステムによ って広範な種類のデータファイルが供給される。 更に、この一つのファイルシステムによって割当てられる言己憶空間は広大であ る。 記憶域クラスは、種々の構造に合致するように定義することができる。例えば、 記憶域クラスは、記憶域クラスのサイズを物理媒体に合せて制限し、深度及び巾 のパラメーターを1に等しく設定することにより、ユニツクスフアイル構造に合 致できる。このことは、現在のユニツクスフアイルシステム構造に反映する。こ れが重要なケースであるのは、説明した方法が少なくともできるだけ速く行うこ とができるように使用することができ、しかも現在のユニツクスフアイルシステ ムよりもスペースを取らないということをそのケースが示しているからである。 高速逐次処理を必要とする多くのアプリケーションがある。トラックやシリンダ のサイズ等の装置の形態に影響を与えるように深度を定義することにより、個々 の装置の速度をアプリケーションの特別な要求に合わすことができる。アムダー ル6380クラスディスクシステムを使用し、深度パラメーターDを60ブロツ ク(ゴシリンダ)に設定すると、1に等しい巾で1秒当り2メガバイトのアクセ スのためのデータ速度が達成できる。31に等しい深度パラメーターを設定する ことにより、第16〜26図を参照して説明したシステムを使用して13′当り 約70メガバイトのデータ速度が測定された。 操作可能な(operational)データベースは、ブロックに含まれる小 さな対象への効率の良いランダムなアクセス、並びにバッチ処理、画像コピー及 び回復の高逐次速度を典型的に要求する。適正な記憶域クラスの定義を使用する ことにより、逐次アクセスを要求された速さで実行することができる。信頼性の 要求は、適正なパラメーターを遡して満足させることがτ゛きる。例えば、高ラ ンダム更新速度はDIAL又はRExを要求するが、ランダム更新速喫は5PA R又はPARxを許容する。 CAD/CAM等の操作不能な(non−operational)データベー スは、例えば数メガバイトにわたる大きな対象を通してしばしば特徴付けられて いる。数個のセルに平均的な対象を含むことのできる記憶域クラスを使用するこ とは、データアクセスの性能に育苗である。 一つの好ましい記憶域クラスによれば、各処理すべきファイルのためのデジタル データは、1個の経路(Pi、P2119.PX)にマツプされるセル内にW個 の局所セル(Ll、L211.。 LW)のシーケンスに論理的に編成される。局所セルをせるにマツプする種々の 方法が定義されている。斯かるファイルの各々に周知のバッファ技術(大規模バ ッファ、多数のバッファリング、トラック/シリンダのサイズに合致したバッフ ァ、等)を用いて、各経路に対して帯域中を最大にする。エラー修正ブロックは 、装置全体の故障の場合には予備経路又は装置への、局所的な故障の場合には予 備ロケーションへの、失われたデータの素速く自動的な回復を可能にする。その ため、この方法は、単一エラー修正の実施態様に関して、第一の故障の修復が絡 る前に第二の故障に直面する可能性と反比例するような方式で、総合的なデータ の信頼性及び使用可能性を非常に大きく向上させる。 本発明の好ましい実施態様の上記の説明は、例証及び説明の目的で示したもので ある。本発明を、余すところなく開示された形態と寸分違わないものに限定しよ うとするものではない。明らかに、当業者にとって多くの修正及び変形態様は自 明であろう。それらの実施態様は、本発明の原理及びその実用的な用途を最も良 く解説するために選択し、説明されたものであり、それにより他の当業者が種々 の実施態様とともに特定の想定された用途に通うような種々の修正態様に関して 理解することができる。本発明の範囲は、以下の請求の範囲及びそれらと均等な ものによって定義されなければならない。 浄書(内容に変更なし) FIG、−1 (先行技術) 浄書(内容に変更なし) FIG、−2 浄書(内容に変更なし) Pi      P2      P3      P4      P5浄書 (内容に変更なし) FIG、−7 Pi     P2     P3         PN浄書(内容に変更な し) FIG、−8 Pn=PATHn    Bn−ブロック又はページn=n        X n=XOR又はパリティブロックECCの無い仮想記憶レイアウト ユーザ空間 生成されたIDAWリスト 浄書(内容に変更なし) FIG、−10 単−FCCの仮想記憶レイアウト ユーザ スペース      核スペース生成したIDAWリスト 浄書(内容に変更なし) FIG、−12 回転ECCの仮想記憶レイアウト 生成したIDAWリスト 浄書(内容に変更なし) FIG、−14 二重ECCの仮想記憶レイアウト ユーザスペース        核スペース生成したIDAWリスト Co      CI     C2C3浄書(内容に変更なし) FIG、−16 STR−STRAT−STRATEGYルーチン浄書(内容に変更なし) FIG、−17 浄書(内容に変更なし) FIG、−18 浄書(内容に変更なし) 浄書(内容に変更なし) FIG、−20 あらゆる必要な制御/管理機能を行ない、目下、唯一構成の設定及び獲得能力を 提供する5TR−10CTL浄書(内容に変更なし) FIG、−21 ストライプされたデバイスに住人力/出力を準備する5TR−PHYS 10必 要なあらゆるECCデータを生成するGEN−ECC浄書(内容に変更なし) FIG、−23 ルーチンGEN−XCLは、1以上のストライブに単一エラー修正のためのパリ ティデータを生成するために用いる。 浄書l内容に変更なし) 二重エラー修正のためのパリティ値を生成するGEN−ECC2浄書(内容に変 更なし) FIG、−26 手続補正書(方式) 平成3年 ダ月 2日 特許庁長官 深 沢   亘 殿 1、事件の表示   平成1年特許願第504828号(PCT/US 891 01665) 3、補正をする者 事件との関係  出願人 名 称  アムダール コーポレーション4゜代理人 国際調査報告 +111111IIJlllllIAI A11lllie@1−Ha、  p  (7/ U S g g / ol 665

Claims (1)

  1. 【特許請求の範囲】 1.データ処理システムの複数のユーザによるアクセスのためのデータファイル を管理する装置であって、前記データ処理システムが、内部記憶装置、外部記憶 装置、内部記憶装置と外部記憶装置との間の複数のアクセス経路、及びファイル ユーザインターフェースを含み、前記ファイルユーザインターフェースにより複 数のユーザがデータファイルヘのアクセスを要求するものである装置において、 前記装置が、 ファイルユーザインターフェース及び内部記憶装置に接続され、複数のユーザに よりアクセスされるデータの一時記憶域のために内部記憶装置を割当て、前記割 当ての支援に外部記憶装置によりアクセスの要求を生成する、ための第一の手段 ;及び前記第一の手段及び外部記憶装置に接続され且つアクセスの要求に応答し 、外部記憶装置へのデータの記憶及び外部記憶装置からのデータの検索のための 複数のアクセス経路を介しての内部記憶装置へのアクセスを管理するための、第 二の手段;を備えていることを特徴とする装置。 2.第二の装置が、 各アクセスのデータ主体に論理アドレスを割当てるため、外部記憶装置へのアク セスの要求に応答する手段、及び外部記憶装置により前記要求のアクセス主体を 実行するため、前記論理アドレスに応答する手段、 を含むことを特徴とする請求項1記載の装置。 3.アクセスのデータファイル主体を外部メモリ内のロケーションに割当てる予 め指定されたパラメーターにより特徴付けられる複数の物理記憶域クラスがあり 、前記アクセスを実行するための手段が: 複数の記憶域クラスのうちの一つを識別するため、論理アドレスに応答する手段 ;及び 適正な外部メモリ内のロケーションを用いてアクセスを実行するため、識別され た記憶域クラスに応答する手段、を含むことを特徴とする請求項2記載の装置。 4.外部記憶装置を用いてアクセスを実行するための手段が:データを内部記憶 装置から外部記憶装置へ転送するためのアクセスのデータ主体用のエラーコード を生成するため、識別された記憶域クラスに応答する手段;及び データを外部記憶装置から内部記憶装置へ転送するためのアクセスのデータ主体 におけるエラーを検知し、修正するため、識別された記憶域クラスに応答する手 段、 を更に含むことを特徴とする請求項3記載の装置。 5.複数のアクセス経路を通して並行してアクセスできるデータのセル、セルヘ の並行アクセスのためのデータの局所セルに対応するアクセス経路の数を定義す る第1にパラメーターWであって該パラメーターにおいてW個の局所セルがセル を形成するもの、及び各局所セル内のデータのブロックの数を定義する第2のパ ラメーターD、によって記憶域クラスが特徴付けされていることを特徴とする請 求項3記載の装置。 6.各局所セル内に少なくとも一つのデータのブロックがあることを特徴とする 請求項5記載の装置。 8.記憶域クラスが、エラー回復アルゴリズムを指定する信頼性パラメーターに より更に特徴付けられ、外部記憶装置を用いてアクセスを実行するための手段が : データを内部記憶装置から外部記憶装置へ転送するためのアクセスのデータ主体 用のエラーコードを生成するため、信頼性パラメーターに応答する手段;及び データを外部記憶装置から内部記憶装置へ転送するためのアクセスのデータ主体 におけるエラーを検知し、修正するため、信頼性パラメーターに応答する手段、 を更に含むことを特徴とする請求項5記載の装置。 9.記憶域クラスが、複数のエラー回復アルゴリズムのうちの一つを指定する信 頼性パラメーターにより更に特徴付けられ、外部記憶装置を用いてアクセスを実 行するための手段が:エラー回復アルゴリズムを実行するため、信頼性パラメー ターに応答する手段、 を更に含むことを特徴とする請求項5記載の装置。 10.複数のエラー回復アルゴリズムのうちの一つが、内部記憶装置から外部記 憶装置ヘデータを転送するためのアクセスのデータ主体の局所セルを複製するこ と、複製された局所セルを独立した復数のアクセス経路を介して並行して記憶す ること、外部記憶装置から内部記憶装置ヘデータを転送するためのアクセスのデ ータ主体の複製された局所セルのうちの最良の一つを選択すること、を提供する ことを特徴とする請求項9記載の装置。 11.複数のエラー回復アルゴリズムのうちの一つが、各セル用のエラーコード の生成、及び前記エラーコードをセル内の局所セルヘの記憶を内部記憶装置から 外部記憶装置ヘデータを転送するためのアクセスのデータ主体の記憶と並行して 行うこと;並びにデータを外部記憶装置から内部記憶装置へ転送するためのアク セスのデータ主体におけるエラーを検知し、修正すること、を提供することを特 徴とする請求項9記載の装置。 12.エラーコードが、セル内のデータの局所セルに関してパリティを備えてい ることを特徴とする請求項9記載の装置。 13.エラーコードが、セル内の多数の局所セルに記憶されたマルチビットコー ドを備えていることを特徴とする請求項9記載の装置。 14.装置が: 第一の手段に接続された、複数のユーザに割当てられた内部記憶装置内のロケー ションの依存性(dependencies)を指定するための手段、 を更に含むことを特徴とする請求項1記載の装置。 15.指定するための手段が、複数のユーザ用の内部記憶装置の割当ての大域的 平均化のためのデータ処理システムを通してプログラマブルであることを特徴と する請求項14記載の装置。 16.第1の手段が: 複数のユーザのための内部記憶装置におけるロケーションの位置付け、ジャーナ リング及び解除のため、依存性に応答する手段、を含むことを特徴とする請求項 14記載の装置。 17.アクセスのデータファイル主体を外部メモリ内のロケーションに割当てる 予め指定されたパラメーターにより特徴付けられる複数の物理記憶域クラスがあ り、第2の手段が:アクセスのデータファイル主体に割当てられた複数の記憶域 クラスのうちの一つを識別するため、アクセスの要求に応答する手段;及び 外部メモリ内の適正なロケーションを用いてアクセスを実行するため、識別され た記憶域クラスに応答する手段、を含むことを特徴とする請求項1記載の装置。 18.第2の手段に接続され、データファイルを記憶域クラスに割当てるための 手段、 を更に含むことを特徴とする請求項17記載の装置。 19.割当てを行うための手段が、外部メモリの動的割当てのためのデータ処理 システムを通してプログラマブルであることを特徴とする請求項18記載の装置 。 20.外部記憶装置を用いる単一アクセスが、複数のアクセス経路のサブセット を並行して使用することを特徴とする請求項1記載の装置。 21.アクセスのデータファイル主体を外部メモリ内のロケーションに割当てる 予め指定されたパラメーターにより特徴付けられる複数の物理記憶域クラスがあ り、第2の手段が:複数の与えられたアクセスの記憶域クラスデータ主体のうち の一つを識別するための手段;及び 外部メモリ内の適止なロケーションを用いて複数のアクセス経路のサブセットを 通してアクセスを並行して実行するため、データファイルを複数のアクセス経路 のサブセットを通してアクセス可能な複数のロケーションに割当てる識別された 記憶域クラスに応答する手段、 を含むことを特徴とする請求項1記載の装置。 22.複数の第1の手段及び複数の第2の手段があり、これらが一箇所の故障の 場合には、連続作動を支持するように構成きれていることを特徴とする請求項1 記載の装置。 23.第2の手段が: 装置間のデータのマイグレーションを実行するための手段、を含むことを特徴と する請求項1記載の装置。 24.第二の手段が: 記憶域クラス間のデータのマイグレションを実行するための手段、 を更に含むことを特徴とする請求項21記載の装置。 25.データ処理システムの複数のユーザによるアクセスのためのデータファイ ルを管理する装置であって、前記データ処理システムが、内部記憶装置、外部記 憶装置、内部記憶装置と外部記憶装置との間の複数のアクセス経路、及びファイ ルユーザインターフェースを含み、前記ファイルユーザインターフェースにより 複数のユーザがデータファイルヘのアクセスを要求するものであり、前記装置に おいてはアクセスのデータファイル主体を外部メモリ内のロケーションに割当て る予め指定されたパラメーターにより特徴付けられる複数の物理記憶域クラスが あり、前記装置が、ファイルユーザインターフェース及び内部記憶装置に接続さ れ、複数のユーザによりアクセスされるデータの一時記憶域のために内部記憶装 置を割当て、前記割当ての支援に外部記憶装置によりアクセスの要求を生成する 、ための第一の手段:及び第1の手段に接続され、、複数のユーザに割当てられ た内部記憶装置内のロケーション用の依存性を指定するための手段;論理アドレ スを、各アクセスのデータ主体に割当てるため、外部記憶装置を用いたアクセス の要求に応答する手段;複数の記憶域クラスのうちの一つを識別するため、論理 アドレスに応答する手段;及び 外部メモリ内の適正なロケーションを用いて複数のアクセス経路のサブセットを 通してアクセスを実行するため、識別された記憶域クラスに応答する手段、 を備えていることを特徴とする装置。 26.第1の手段が: 複数のユーザのための内部記憶装置におけるロケーションの位置付け、ジャーナ リング及び解除のため、依存性に応答する手段、を含むことを特徴とする請求項 25記載の装置。 27.指定するための手段が、複数のユーザ用の内部記憶装置の割当ての大域的 平均化のためのデータ処理システムを通してプログラマブルであることを特徴と する請求項25記載の装置。 28.外部記憶装置を用いる単一アクセスが、複数のアクセス経路のサブセット を並行して使用することを特徴とする請求項25記載の装置。 29.複数のアクセス経路を通して並行してアクセスできるデータのセル、セル ヘの並行アクセスのためのデータの局所セルに対応するアクセス経路の数を定義 する第1にパラメーターWであって該パラメーターにおいてW個の局所セルがセ ルを形成するもの、及び各局所セル内のデータのブロックの数を定義する第2の パラメーターD、によって記憶域クラスが特徴付けされていることを特徴とする 請求項28記載の装置。 30.各局所セル内に少なくとも一つのデータのブロックがあることを特徴とす る請求項29記載の装置。 31.外部記憶装置を用いてアクセスを実行するための手段がデータを内部記憶 装置から外部記憶装置へ転送するためのアクセスのデータ主体用のエラーコード を生成するため、識別された記憶域クラスに応答する手段;及び データを外部記憶装置から内部記憶装置へ転送するためのアクセスのデータ主体 におけるエラーを検知し、修正するため、識別された記憶域クラスに応答する手 段、 を更に含むことを特徴とする請求項25記載の装置。 32.記憶域クラスが、エラー回復アルゴリズムを指定する信頼性パラメーター により更に特徴付けられ、外部記憶装置を用いてアクセスを実行するための手段 が: データを内部記憶装置から外部記憶装置へ転送するためのアクセスのデータ主体 用のエラーコードを生成するため、信頼性パラメーターに応答する手段;及び データを外部記憶装置から内部記憶装置へ転送するためのアクセスのデータ主体 におけるエラーを検知し、修正するため、信頼性パラメーターに応答する手段、 を更に含むことを特徴とする請求項29記載の装置。 33.記憶域クラスが、複数のエラー回復アルゴリズムのうちの一つを指定する 信頼性パラメーターにより更に特徴付けられ、外部記憶装置を用いてアクセスを 実行するための手段が:エラー回復アルゴリズムを実行するため、信頼性パラメ ーターに応答する手段、 を更に含むことを特徴とする請求項29記載の装置。 34.複数のエラー回復アルゴリズムのうちの一つが、内部記憶装置から外部記 憶装置ヘデータを転送するためのアクセスのデータ主体の局所セルを複製するこ と、複製された局所セルを独立した複数のアクセス経路を介して並行して記憶す ること、外部記憶装置から内部記憶装置ヘデータを転送するためのアクセスのデ ータ主体の複製 された局所セルのうちの最良の一つを選択すること、を提供することを特徴とす る請求項33記載の装置。 35.複数のエラー回復アルゴリズムのうちの一つが、各セル用のエラーコード の生成、及び前記エラーコードをセル内の局所セルヘの記憶を内部記憶装置から 外部記憶装置ヘデータを転送するためのアクセスのデータ主体の記憶と並行して 行うこと;並びにデータを外部記憶装置から内部記憶装置へ転送するためのアク セスのデータ主体におけるエラーを検知し、修正すること、を提供することを特 徴とする請求項33記載の装置。 36.エラーコードが、セル内のデータの局所セルに関してパリティを備えてい ることを特徴とする請求項33記載の装置。 37.エラーコードが、セル内の多数の局所セルに記憶されたマルチビットコー ドを備えていることを特徴とする請求項33記載の装置。 38.データファイルの記憶装置であって、前記データファイルが複数の局所セ ルを含み、各局所セルが少なくとも一つのデータのブロックを含む装置において 、前記装置が:データの記憶のための複数の記憶手段;複数の論理入出力経路P nであって、nが1乃至Nに等しく、各経路は前記複数の記憶手段のサブセット に接続されているため、データの局所セルが、N本の経路を介して並行して前記 複数の記憶手段へ、及び前記複数の記憶手段から伝送されることができる経路; を備えており、しかも前記装置においては、前記データファイルは、局所セルL C1であって、iが1乃至Xに等しい局所セルのシーケンスの前記複数の記憶手 段内に記憶され、ここにおいて局所セルLC1は経路Pnに接続された記憶手段 に記憶され、局所セルLC1+1は経路Pk、ここでkはnとは等しくない、に 接続された記憶手段に記憶されることを特徴とする装置。 39.データファイルが、W個の局所セルのS個のセルを含み、ここでSは、次 の高位の整数に丸められたX/Wに等しく、各セルは、セルのためにエラー修正 コードを記憶する少なくとも一つの局所セルを含み、全ての局所セルは、異なる 経路に接続された記憶手段に記憶され、ここにおいてwは、Nより小さいか又は それに等しいことを特徴とする請求項38記載の装置。 40.与えられたセル用のエラー修正コードが、前記エラー修正コードを除くセ ル内の全ての局所セルのビット的(bitwise)排他的論理和を備えている ことを特徴とする請求項39記載の装置。 41.エラー修正コードを含むデータ内の局所セルが、一つの経路に接続された 記憶手段に記憶されていることを特徴とする請求項40記載の装置。 42.セル用のエラー修正コードを含むデータ内の局所セルが、経路P(((j −1)modw)+1)に接続された記憶手段に記憶されることを特徴とする請 求項40記載の装置。 43.エラー修正コードが、多重(multiple)ビットコードであること を特徴とする請求項39記載の装置。 44.データファイルの記憶装置であって、前記データファイルが複数の局所セ ルを含み、各局所セルがデータファイルへアクセスするための単位として処理す ることのできる少なくとも一つのデータのブロックを含む装置において、前記装 置が;データの記憶のための複数の記憶手段;個数Wの論理入出力経路である経 路1ないしWであって、各経路は前記複数の記憶手段のサブセットに接続されて いるため、データのブロックが、W本の経路を介して並行して前記複数の記憶手 段へ、及び前記複数の記憶手段から伝送されることができる経路;を備えており 、しかも前記装置においては、前記データファイルは、X個の局所セルのシーケ ンスの前記複数の記憶手段内に記憶され、前記シーケンスにおける局所セル1は 経路1に接続された記憶手段に記憶され、局所セル2は経路2に接続された記憶 手段に記憶され、局所セルWは経路Wに接続された記憶手段に記憶され、局所セ ルW+1は経路1に接続された記憶手段に記憶され、局所セルW+2は経路2に 接続された記憶手段に記憶され、局所セル2Wは経路Wに接続された記憶手段に 記憶され、局所セルXが、経路P(((X−1)modw)+1)に接続された 記憶手段に記憶されることを特徴とする装置。 45.データファイルが、最多W個までの局所セルのS個のセルを含み、ここで Sは、次の高位の整数に丸められたX/Wに等しく、各セルは、セットのために エラー修正コードを記憶する少なくとも一つの局所セルを含むことを特徴とする 請求項44記載の装置。 46.与えられたセル用のエラー修正コードが、前記エラー修正コードを除くセ ル内の全ての局所セルのビット的(bitwise)排他的論理和を備えている ことを特徴とする請求項45記載の装置。 47.エラー修正コードを含むデータ内の局所セルが、一つの経路に接続された 記憶手段に記憶されていることを特徴とする請求項46記載の装置。 48.セル用のエラー修正コードを含むデータ内の局所セルが、経路P(((j −1)modw)+1)に接続された記憶手段に記憶されることを特徴とする請 求項46記載の装置。 49.エラー修正コードが、多重(multiple)ビットコードであること を特徴とする請求項45記載の装置。 50.データファイルの記憶装置であって、前記データファイルが局所セルLC 1であって、iが1乃至Xに等しい局所セルのシーケンスを含み、各局所セルが データファイルへアクセスするための単位として処理することのできる少なくと も一つのデータのブロックを含む装置において、前記装置が:データの記憶のた めの複数の記憶手段:複数の論理入出力経路Pnであって、nが1乃至Wに等し く、各経路は前記複数の記憶手段のサブセットに接続されているため、データの ブロックが、複数の経路を介して並行して前記複数の記憶手段へ、及び前記複数 の記憶手段から伝送されることができる経路:及び 前記複数の経路に接続され、局所セルLC1であって、iが1乃至Xに等しい局 所セルのシーケンスを少なくとも一つの前記複数の記憶手段のサブセットに割当 てて局所セルR1が経路Pnに接続された記憶手段に記憶され、局所セルLC1 +1が経路Pk、ここでkはnとは等しくない、に接続された記憶手段に記憶さ れるようにするための手段、 を備えていることを特徴とする装置。 51.nが、(((i−1)modw)+1)においてiが1乃至Xに等しいも のと等しいことを特徴とする請求項50記載の装置。 52.データファイルの記憶装置であって、前記データファイルが局所セルLC 1であって、iが1乃至Xに等しい局所セルのシーケンスを含み、各局所セルが 単位としてデータファイルのユーザによって処理されることのできる少なくとも 一つのデータのブロックを含む装置において、前記装置が:データの記憶のため の複数の記憶手段;複数の論理入出力経路Pnであって、nが1乃至Nに等しく 、各経路は前記複数の記憶手段のサブセットに接続されているため、データのブ ロックが、複数の経路を介して並行して前記複数の記憶手段へ、及び前記複数の 記憶手段から伝送されることができる経路: データのブロックを受信するよう接続され、E個の局所セルのセット用のエラー 修正コードECCmを生成するための手段であり、ここでSは1からSへ進み、 Sは次の高位の整数に丸められたX/Eに等しい手段;及び 前記複数の経路及び前記エラー修正コードECCaに接続され、局所セルLC1 であって、iが1乃至Xに等しい局所セルのシーケンス及びエラー修正コードE CCaであって、Sが1乃至Sに等しいエラー修正コードを少なくとも一つの前 記複数の記憶手段のサブセットに割当てて、ECCa用のセット内の全ての局所 セル及びECCaがセルを形成し、異なる経路に接続された記憶手段に記憶され るようにするための手段、 を備えていることを特徴とする装置。 53.エラー修正コードECCaが、セル内のデータの全ての局所セルのビット 的(bitwise)排他的論理和を採ることにより生成されることを特徴とす る請求項52記載の装置。 54.割当て手段が、全てのエラー修正コードを同じ経路に割当ることを特徴と する請求項53記載の装置。 55.割当て手段が、エラー修正コードEDDmを経路P(((m−1)mod w)+1)に接続された記憶装置に割当てることを特徴とする請求項53記載の 装置。 56.エラー修正コードが、多重(multiple)ビットハッミングコード であることを特徴とする請求項52記載の装置。 57.エラー修正コードが、M個の局部セルと等しいサイズを有し、Eが、W引 くMに等しいことを特徴とする請求項52記載の装置。 58.複数のデータファイルの記憶装置であって、各データファイルが局所セル LC1であって、iが1乃至Xに等しい局所セルのシーケンスを含み、ここでX は各データファイルと連携するパラメーターであり、各局所セルが単位としてデ ータファイルのユーザによって処理されることのできる少なくとも一つのデータ のブロックを含む装置において、前記装置が:データの記憶のための複数の記憶 手段;複数の論理入出力経路Pnであって、nが1乃至Nに等しく、各経路は前 記複数の記憶手段のサブセットに接続されているため、データが、複数の経路を 介して並行して前記複数の記憶手段へ、及び前記複数の記憶手段から伝送される ことができる経路;及び各データファイルのための局所セルLC1であって、i が1乃至Xに等しい局所セルのシーケンスを少なくとも一つの前記複数の記憶手 段のサブセットに割当てて与えられたデータファイルの局所セルLCiが経路P nに接続された記憶手段に記憶され、前記与えられたデータファイルの局所セル LC1+1が経路Pk、ここでkはnとは等しくない、に接続された記憶手段に 記憶されるようにするため、前記複数の経路に接続され各データファイルと連携 するパラメーターに応答する手段、 を備えていることを特徴とする装置。 59.局所セル一つあたりのブロックの数が、各データファイルと連携する追加 のパラメーターであり、前記追加のパラメーターに割当て手段が応答することを 特徴とする請求項58記載の装置。 60.個数Wの局所セルが、セルを形成し、前記個数が、各データファイルと連 携する追加のパラメーターであることを特徴とする請求項58記載の装置。 61.nが、(((i−1)modw)+1)においてiが1乃至Xに等しいも のと等しいことを特徴とする請求項50記載の装置。 62.複数のデータファイルの記憶装置であって、各データファイルが局所セル LC1であって、iが1乃至Xに等しい局所セルのシーケンスを含み、ここでx は各データファイルと連携するパラメーターであり、各局所セルが単位としてデ ータファイルのユーザによって処理されることのできる少なくとも一つのデータ のブロックを含む装置において、前記装置が:データの記憶のための複数の記憶 手段;複数の論理入出力経路Pnであって、nが1乃至Nに等しく、各経路は前 記複数の記憶手段のサブセットに接続されているため、データが、複数の経路を 介して並行して前記複数の記憶手段へ、及び前記複数の記憶手段から伝送される ことができ、ここにおいてN個の局所セルがセルに等しい経路;データのブロッ クを受信するよう接続され、Z個の局所セルに記憶するための、E個の局所セル のセット用のエラー修正コードECCaを生成するための手段であり、ここでS は1からSへ進み、Sは次の高位の整数に丸められたX/Eに等しく、NはZ+ Eに等しい手段;及び 局所セルLC1であって、iが1乃至Xに等しい局所セルのシーケンス及び各デ ータファイル用のエラー修正コードECCaであって、Sが1乃至Sに等しいエ ラー修正コードを少なくとも一つの前記複数の記憶手段のサブセットに割当てて 、与えられたセット内のデータの全ての局所セル及び与えられたセット用のエラ ー修正コードの局所セルがW個の局所セルのセルを形成し、異なる経路に接続さ れた記憶手段に記憶されるようにするため、前記複数の経路及び前記エラー修正 コードECCaに接続され、各データファイルと連携するパラメーターに応答す る手段、を備えていることを特徴とする装置。 63.局所セル一つあたりのブロックの数が、各データファイルと連携する追加 のパラメーターであり、前記追加のパラメーターに割当て手段が応答することを 特徴とする請求項62記載の装置。 64.Wが、各データファイルと連携するパラメーターであることを特徴とする 請求項62記載の装置。 65.複数の種類のエラー修正コードがあり、前記エラー修正の種類が各データ ファイルと連携するパラメーターであることを特徴とする請求項62記載の装置 。 66.第1の種類のエラー修正コードが、セット内の全ての局所セルのビット的 排他的論理和を採ることにより生成されることを特徴とする請求項65記載の装 置。 67.第1の種類のエラー修正コードが、セット内の全ての局所セルのビット的 排他的論理和を採ることにより生成され、割当て手段が、全てのエラー修正コー ドを同じ経路に割当てることを特徴とする請求項65記載の装置。 68.第1の種類のエラー修正コードが、セット内の全ての局所セルのビット的 排他的論理和を採ることにより生成され、割当て手段が、エラー修正コードεD Daを経路P(((n−1)modw)+1)に接続された記憶装置に割当てる ことを特徴とする請求項65記載の装置。 69.エラー修正コードの一つの種類が、セット内の全ての局所セルに関して生 成された多重ピットハミングコードであることを特徴とする請求項65記載の装 置。
JP1504828A 1988-04-22 1989-04-19 複数の記憶域クラス用のファイルシステム Expired - Lifetime JP2951676B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US185179 1988-04-22
US07/185,179 US4993030A (en) 1988-04-22 1988-04-22 File system for a plurality of storage classes

Publications (2)

Publication Number Publication Date
JPH03505643A true JPH03505643A (ja) 1991-12-05
JP2951676B2 JP2951676B2 (ja) 1999-09-20

Family

ID=22679934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1504828A Expired - Lifetime JP2951676B2 (ja) 1988-04-22 1989-04-19 複数の記憶域クラス用のファイルシステム

Country Status (12)

Country Link
US (2) US4993030A (ja)
EP (1) EP0414729B1 (ja)
JP (1) JP2951676B2 (ja)
KR (1) KR0130008B1 (ja)
AT (1) ATE162319T1 (ja)
AU (1) AU645814B2 (ja)
CA (1) CA1321845C (ja)
DE (1) DE68928546T2 (ja)
ES (1) ES2013462A6 (ja)
HK (1) HK1008446A1 (ja)
NZ (1) NZ228861A (ja)
WO (1) WO1989010594A1 (ja)

Families Citing this family (263)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5077736A (en) * 1988-06-28 1991-12-31 Storage Technology Corporation Disk drive memory
JP2804115B2 (ja) * 1988-09-19 1998-09-24 株式会社日立製作所 ディスクファイルシステム
US5148432A (en) * 1988-11-14 1992-09-15 Array Technology Corporation Arrayed disk drive system and method
AU630635B2 (en) * 1988-11-14 1992-11-05 Emc Corporation Arrayed disk drive system and method
US5764659A (en) * 1989-03-10 1998-06-09 Canon Kabushiki Kaisha Apparatus for preventing writing to a releasable storage device
CA2010591C (en) * 1989-10-20 1999-01-26 Phillip M. Adams Kernels, description tables and device drivers
US5101492A (en) * 1989-11-03 1992-03-31 Compaq Computer Corporation Data redundancy and recovery protection
US5072378A (en) * 1989-12-18 1991-12-10 Storage Technology Corporation Direct access storage device with independently stored parity
JP2617026B2 (ja) * 1989-12-22 1997-06-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 障害余裕性メモリ・システム
JPH03216751A (ja) * 1990-01-05 1991-09-24 Internatl Business Mach Corp <Ibm> フアイル転送方法
US5218695A (en) * 1990-02-05 1993-06-08 Epoch Systems, Inc. File server system having high-speed write execution
US5195100A (en) * 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
US5140592A (en) * 1990-03-02 1992-08-18 Sf2 Corporation Disk array system
US5233618A (en) * 1990-03-02 1993-08-03 Micro Technology, Inc. Data correcting applicable to redundant arrays of independent disks
US5166939A (en) 1990-03-02 1992-11-24 Micro Technology, Inc. Data storage apparatus and method
US5212785A (en) * 1990-04-06 1993-05-18 Micro Technology, Inc. Apparatus and method for controlling data flow between a computer and memory devices
US5388243A (en) * 1990-03-09 1995-02-07 Mti Technology Corporation Multi-sort mass storage device announcing its active paths without deactivating its ports in a network architecture
US5124987A (en) * 1990-04-16 1992-06-23 Storage Technology Corporation Logical track write scheduling system for a parallel disk drive array data storage subsystem
US5369764A (en) * 1990-04-25 1994-11-29 Blair; Gary L. Method for sharing access to database elements in a data processing system
US5263145A (en) * 1990-05-24 1993-11-16 International Business Machines Corporation Method and means for accessing DASD arrays with tuned data transfer rate and concurrency
JPH0731582B2 (ja) * 1990-06-21 1995-04-10 インターナショナル・ビジネス・マシーンズ・コーポレイション パリティ保護データを回復するための方法および装置
GB9019891D0 (en) * 1990-09-12 1990-10-24 Di Data Ltd Computer memory array control
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
EP0481735A3 (en) * 1990-10-19 1993-01-13 Array Technology Corporation Address protection circuit
US5208813A (en) * 1990-10-23 1993-05-04 Array Technology Corporation On-line reconstruction of a failed redundant array system
JPH04165541A (ja) * 1990-10-30 1992-06-11 Hitachi Ltd ファイル再配置方法
DE69131551T2 (de) * 1990-11-09 2000-02-17 Emc Corp., Hopkinton Logische Aufteilung eines Speichersystems mit redundanter Matrix
US5457703A (en) * 1990-11-21 1995-10-10 Hitachi, Ltd. Array disk system and control method thereof
US5235601A (en) * 1990-12-21 1993-08-10 Array Technology Corporation On-line restoration of redundancy information in a redundant array system
US5274799A (en) * 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
US5239640A (en) * 1991-02-01 1993-08-24 International Business Machines Corporation Data storage system and method including data and checksum write staging storage
US5271012A (en) * 1991-02-11 1993-12-14 International Business Machines Corporation Method and means for encoding and rebuilding data contents of up to two unavailable DASDs in an array of DASDs
JP2743606B2 (ja) * 1991-04-11 1998-04-22 三菱電機株式会社 アレイ型記録装置
US5287500A (en) * 1991-06-03 1994-02-15 Digital Equipment Corporation System for allocating storage spaces based upon required and optional service attributes having assigned piorities
US5333315A (en) * 1991-06-27 1994-07-26 Digital Equipment Corporation System of device independent file directories using a tag between the directories and file descriptors that migrate with the files
CA2067650C (en) * 1991-07-24 1996-10-22 Eric Jonathan Bauer Method and apparatus for operating a computer-based file system
US5499337A (en) * 1991-09-27 1996-03-12 Emc Corporation Storage device array architecture with solid-state redundancy unit
US5636358A (en) * 1991-09-27 1997-06-03 Emc Corporation Method and apparatus for transferring data in a storage device including a dual-port buffer
US5237658A (en) * 1991-10-01 1993-08-17 Tandem Computers Incorporated Linear and orthogonal expansion of array storage in multiprocessor computing systems
US5379417A (en) * 1991-11-25 1995-01-03 Tandem Computers Incorporated System and method for ensuring write data integrity in a redundant array data storage system
GB9200207D0 (en) * 1992-01-06 1992-02-26 Di Data Ltd Computer memory array control
DE69231873T2 (de) * 1992-01-08 2002-04-04 Emc Corp., Hopkinton Verfahren zur Synchronisierung von reservierten Bereichen in einer redundanten Speicheranordnung
US5341381A (en) * 1992-01-21 1994-08-23 Tandem Computers, Incorporated Redundant array parity caching system
JP2708657B2 (ja) * 1992-02-18 1998-02-04 富士通株式会社 スプリット制御方法
US5469566A (en) * 1992-03-12 1995-11-21 Emc Corporation Flexible parity generation circuit for intermittently generating a parity for a plurality of data channels in a redundant array of storage units
ATE172038T1 (de) * 1992-06-05 1998-10-15 Compaq Computer Corp Plattenantriebsteuergerät mit nachschreibcachespeicher
US5408644A (en) * 1992-06-05 1995-04-18 Compaq Computer Corporation Method and apparatus for improving the performance of partial stripe operations in a disk array subsystem
JPH0675785A (ja) * 1992-06-29 1994-03-18 Fujitsu Ltd プレステージング処理方法、バッファ管理方法及びファイルシステム
JP2842738B2 (ja) * 1992-08-25 1999-01-06 富士通株式会社 オンライン処理システム
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
US5412661A (en) * 1992-10-06 1995-05-02 International Business Machines Corporation Two-dimensional disk array
US5448709A (en) * 1992-10-13 1995-09-05 Compaq Computer Corporation Disk array controller having command descriptor blocks utilized by bus master and bus slave for respectively performing data transfer operations
AU5442494A (en) * 1992-10-13 1994-05-09 Compaq Computer Corporation Disk array controller having advanced internal bus protocol
US5652913A (en) * 1992-10-13 1997-07-29 Microsoft Corporation System for providing intercommunication of I/O access factors stored in a shared data structure, accessed and maintained by both file system and device driver
US6088767A (en) * 1993-04-30 2000-07-11 International Business Machines Corporation Fileserver buffer manager based on file access operation statistics
EP0701716B1 (en) * 1993-06-03 2002-08-14 Network Appliance, Inc. Method and file system for allocating blocks of files to storage space in a RAID disk system
US5495603A (en) * 1993-06-14 1996-02-27 International Business Machines Corporation Declarative automatic class selection filter for dynamic file reclassification
JP2669303B2 (ja) * 1993-08-03 1997-10-27 日本電気株式会社 ビットエラー訂正機能付き半導体メモリ
US6301711B1 (en) * 1993-11-30 2001-10-09 International Business Machines Corporation System and method for the network support of full motion video using a redundant array of inexpensive disks
US5504882A (en) * 1994-06-20 1996-04-02 International Business Machines Corporation Fault tolerant data storage subsystem employing hierarchically arranged controllers
US5701429A (en) * 1994-06-20 1997-12-23 International Business Machines Corporation Method and system for maintaining concurrent data access during device upgrade
US5467361A (en) * 1994-06-20 1995-11-14 International Business Machines Corporation Method and system for separate data and media maintenance within direct access storage devices
JPH0883232A (ja) * 1994-09-09 1996-03-26 Fujitsu Ltd ファイルサーバシステム
US5491820A (en) * 1994-11-10 1996-02-13 At&T Corporation Distributed, intermittently connected, object-oriented database and management system
DE19540915A1 (de) * 1994-11-10 1996-05-15 Raymond Engineering Redundante Anordnung von Festkörper-Speicherbausteinen
US6038679A (en) * 1994-11-30 2000-03-14 International Business Machines Corporation Adaptive data recovery method and apparatus
US5548712A (en) * 1995-01-19 1996-08-20 Hewlett-Packard Company Data storage system and method for managing asynchronous attachment and detachment of storage disks
US5511164A (en) * 1995-03-01 1996-04-23 Unisys Corporation Method and apparatus for determining the source and nature of an error within a computer system
US5701473A (en) * 1995-03-17 1997-12-23 Unisys Corporation System for optimally storing a data file for enhanced query processing
US5732219A (en) * 1995-03-17 1998-03-24 Vermeer Technologies, Inc. Computer system and computer-implemented process for remote editing of computer files
US5745915A (en) * 1995-03-17 1998-04-28 Unisys Corporation System for parallel reading and processing of a file
US5758149A (en) * 1995-03-17 1998-05-26 Unisys Corporation System for optimally processing a transaction and a query to the same database concurrently
US5848230A (en) * 1995-05-25 1998-12-08 Tandem Computers Incorporated Continuously available computer memory systems
US5682507A (en) * 1995-06-07 1997-10-28 Tandem Computers, Incorporated Plurality of servers having identical customer information control procedure functions using temporary storage file of a predetermined server for centrally storing temporary data records
US5657468A (en) * 1995-08-17 1997-08-12 Ambex Technologies, Inc. Method and apparatus for improving performance in a reduntant array of independent disks
US5765151A (en) * 1995-08-17 1998-06-09 Sun Microsystems, Inc. System and method for file system fix-on-panic for a computer operating system
US5875456A (en) * 1995-08-17 1999-02-23 Nstor Corporation Storage device array and methods for striping and unstriping data and for adding and removing disks online to/from a raid storage array
WO1997011426A1 (en) * 1995-09-18 1997-03-27 Cyberstorage Systems, Inc. Universal storage management system
US5815649A (en) * 1995-10-20 1998-09-29 Stratus Computer, Inc. Distributed fault tolerant digital data storage subsystem for fault tolerant computer system
US5742814A (en) * 1995-11-01 1998-04-21 Imec Vzw Background memory allocation for multi-dimensional signal processing
US5758050A (en) * 1996-03-12 1998-05-26 International Business Machines Corporation Reconfigurable data storage system
US6021408A (en) * 1996-09-12 2000-02-01 Veritas Software Corp. Methods for operating a log device
US5996054A (en) * 1996-09-12 1999-11-30 Veritas Software Corp. Efficient virtualized mapping space for log device data storage system
WO1998024025A1 (en) 1996-11-27 1998-06-04 1Vision Software, L.L.C. File directory and file navigation system
US6016552A (en) * 1997-06-06 2000-01-18 The Chinese University Of Hong Kong Object striping focusing on data object
US5991894A (en) * 1997-06-06 1999-11-23 The Chinese University Of Hong Kong Progressive redundancy transmission
US5963963A (en) * 1997-07-11 1999-10-05 International Business Machines Corporation Parallel file system and buffer management arbitration
US6032191A (en) * 1997-10-28 2000-02-29 International Business Machines Corporation Direct coupling for data transfers
US6230247B1 (en) 1997-10-29 2001-05-08 International Business Machines Corporation Method and apparatus for adaptive storage space allocation
US7010532B1 (en) 1997-12-31 2006-03-07 International Business Machines Corporation Low overhead methods and apparatus for shared access storage devices
US6694317B1 (en) 1997-12-31 2004-02-17 International Business Machines Corporation Method and apparatus for high-speed access to and sharing of storage devices on a networked digital data processing system
US6658417B1 (en) 1997-12-31 2003-12-02 International Business Machines Corporation Term-based methods and apparatus for access to files on shared storage devices
AU3304699A (en) * 1998-02-20 1999-09-06 Storm Systems Llc File system performance enhancement
US6477591B1 (en) * 1998-03-03 2002-11-05 Highground Systems, Inc. Method and apparatus for storing and copying data via a first path and a second path wherein second path bypasses mirror driver
US6125370A (en) * 1998-04-01 2000-09-26 International Business Machines Corporation Repartitioning data
US6269375B1 (en) 1998-04-01 2001-07-31 International Business Machines Corporation Rebalancing partitioned data
US6161191A (en) * 1998-05-12 2000-12-12 Sun Microsystems, Inc. Mechanism for reliable update of virtual disk device mappings without corrupting data
US6654881B2 (en) * 1998-06-12 2003-11-25 Microsoft Corporation Logical volume mount manager
US6353837B1 (en) * 1998-06-30 2002-03-05 Emc Corporation Method and apparatus providing mass storage access from systems using different meta-data formats
US6298345B1 (en) * 1998-07-10 2001-10-02 International Business Machines Corporation Database journal mechanism and method that supports multiple simultaneous deposits
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US7392234B2 (en) * 1999-05-18 2008-06-24 Kom, Inc. Method and system for electronic file lifecycle management
US6202095B1 (en) 1998-10-07 2001-03-13 International Business Machines Corporation Defining characteristics between processing systems
US6170023B1 (en) 1998-10-07 2001-01-02 International Business Machines Corporation System for accessing an input/output device using multiple addresses
US6167459A (en) * 1998-10-07 2000-12-26 International Business Machines Corporation System for reassigning alias addresses to an input/output device
US6185638B1 (en) 1998-10-07 2001-02-06 International Business Machines Corporation Method and system for dynamically assigning addresses to an input/output device
US6343335B1 (en) 1998-10-29 2002-01-29 International Business Machines Corporation System for repositioning an I/O device to a predetermined position to retry a program without knowledge of which part of the program caused the retry
US6339799B1 (en) 1998-10-29 2002-01-15 International Business Machines Corporation Method of repositioning an I/O device to a predetermined position to retry a program without knowledge of which part of the program caused the retry
US6336194B1 (en) 1998-10-29 2002-01-01 International Business Machines Corporation Program products for repositioning an input/output device without knowledge of current positioning of the device
KR100437757B1 (ko) * 1998-12-17 2004-08-16 엘지전자 주식회사 보코더용메모리관리방법
US6401215B1 (en) * 1999-06-03 2002-06-04 International Business Machines Corporation Resynchronization of mirrored logical data volumes subsequent to a failure in data processor storage systems with access to physical volume from multi-initiators at a plurality of nodes
US6742137B1 (en) * 1999-08-17 2004-05-25 Adaptec, Inc. Object oriented fault tolerance
US6684231B1 (en) * 1999-11-29 2004-01-27 Microsoft Corporation Migration of friendly volumes
US6553387B1 (en) * 1999-11-29 2003-04-22 Microsoft Corporation Logical volume configuration data management determines whether to expose the logical volume on-line, off-line request based on comparison of volume epoch numbers on each extents of the volume identifiers
US6629202B1 (en) * 1999-11-29 2003-09-30 Microsoft Corporation Volume stacking model
US6883049B1 (en) 1999-12-16 2005-04-19 International Business Machines Corporation Method and system for making an open system volume accessible to an MVS system
US6766359B1 (en) * 1999-12-29 2004-07-20 Emc Corporation Method and apparatus for utilizing multiple paths in a file transfer utility employing an intermediate data storage system
US6615219B1 (en) * 1999-12-29 2003-09-02 Unisys Corporation Database management system and method for databases having large objects
US6529905B1 (en) 2000-01-11 2003-03-04 Frontline Solutions, Inc. Method and system for allowing multiple users to edit a hierarchical data structure
US6760720B1 (en) 2000-02-25 2004-07-06 Pedestrian Concepts, Inc. Search-on-the-fly/sort-on-the-fly search engine for searching databases
US6574696B1 (en) * 2000-03-07 2003-06-03 Hewlett-Packard Development Company, L.P. Methods and arrangements for providing bi-directional control between data storage drives and automation controllers
US6862689B2 (en) 2001-04-12 2005-03-01 Stratus Technologies Bermuda Ltd. Method and apparatus for managing session information
US6802022B1 (en) 2000-04-14 2004-10-05 Stratus Technologies Bermuda Ltd. Maintenance of consistent, redundant mass storage images
US6901481B2 (en) 2000-04-14 2005-05-31 Stratus Technologies Bermuda Ltd. Method and apparatus for storing transactional information in persistent memory
US6938039B1 (en) 2000-06-30 2005-08-30 Emc Corporation Concurrent file across at a target file server during migration of file systems between file servers using a network file system access protocol
US6948010B2 (en) * 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
US7383288B2 (en) * 2001-01-11 2008-06-03 Attune Systems, Inc. Metadata based file switch and switched file system
US8195760B2 (en) * 2001-01-11 2012-06-05 F5 Networks, Inc. File aggregation in a switched file system
US7509322B2 (en) 2001-01-11 2009-03-24 F5 Networks, Inc. Aggregated lock management for locking aggregated files in a switched file system
US8239354B2 (en) * 2005-03-03 2012-08-07 F5 Networks, Inc. System and method for managing small-size files in an aggregated file system
US7788335B2 (en) * 2001-01-11 2010-08-31 F5 Networks, Inc. Aggregated opportunistic lock and aggregated implicit lock management for locking aggregated files in a switched file system
AU2002249939A1 (en) * 2001-01-11 2002-07-24 Z-Force Communications, Inc. File switch and switched file system
US20040133606A1 (en) * 2003-01-02 2004-07-08 Z-Force Communications, Inc. Directory aggregation for files distributed over a plurality of servers in a switched file system
US7512673B2 (en) 2001-01-11 2009-03-31 Attune Systems, Inc. Rule based aggregation of files and transactions in a switched file system
US6886171B2 (en) * 2001-02-20 2005-04-26 Stratus Technologies Bermuda Ltd. Caching for I/O virtual address translation and validation using device drivers
US6766413B2 (en) 2001-03-01 2004-07-20 Stratus Technologies Bermuda Ltd. Systems and methods for caching with file-level granularity
US6874102B2 (en) * 2001-03-05 2005-03-29 Stratus Technologies Bermuda Ltd. Coordinated recalibration of high bandwidth memories in a multiprocessor computer
US6996750B2 (en) * 2001-05-31 2006-02-07 Stratus Technologies Bermuda Ltd. Methods and apparatus for computer bus error termination
JP4144727B2 (ja) * 2001-07-02 2008-09-03 株式会社日立製作所 情報処理システム、記憶領域提供方法、およびデータ保持管理装置
US6947947B2 (en) * 2001-08-17 2005-09-20 Universal Business Matrix Llc Method for adding metadata to data
US6883131B2 (en) * 2001-09-28 2005-04-19 Sun Microsystems, Inc. XOR processing incorporating error correction code data protection
US6904540B2 (en) 2001-10-29 2005-06-07 Hewlett-Packard Development Company, L.P. Targeted data protection
US6782450B2 (en) * 2001-12-06 2004-08-24 Raidcore, Inc. File mode RAID subsystem
US6978283B1 (en) 2001-12-21 2005-12-20 Network Appliance, Inc. File system defragmentation technique via write allocation
US7171396B2 (en) * 2002-04-04 2007-01-30 Hewlett-Packard Development Company, L.P. Method and program product for specifying the different data access route for the first data set includes storing an indication of the different access for the first data set providing alternative data access routes to a data storage
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
US7016982B2 (en) * 2002-05-09 2006-03-21 International Business Machines Corporation Virtual controller with SCSI extended copy command
US7873700B2 (en) 2002-08-09 2011-01-18 Netapp, Inc. Multi-protocol storage appliance that provides integrated support for file and block access protocols
US7340486B1 (en) 2002-10-10 2008-03-04 Network Appliance, Inc. System and method for file system snapshot of a virtual logical disk
US7055071B2 (en) * 2003-01-09 2006-05-30 International Business Machines Corporation Method and apparatus for reporting error logs in a logical environment
US7877511B1 (en) 2003-01-13 2011-01-25 F5 Networks, Inc. Method and apparatus for adaptive services networking
US7383497B2 (en) 2003-01-21 2008-06-03 Microsoft Corporation Random access editing of media
US7117453B2 (en) * 2003-01-21 2006-10-03 Microsoft Corporation Media frame object visualization system
US7509321B2 (en) * 2003-01-21 2009-03-24 Microsoft Corporation Selection bins for browsing, annotating, sorting, clustering, and filtering media objects
US7904797B2 (en) * 2003-01-21 2011-03-08 Microsoft Corporation Rapid media group annotation
US7809693B2 (en) 2003-02-10 2010-10-05 Netapp, Inc. System and method for restoring data on demand for instant volume restoration
US7383378B1 (en) 2003-04-11 2008-06-03 Network Appliance, Inc. System and method for supporting file and block access to storage object on a storage appliance
US7437523B1 (en) 2003-04-25 2008-10-14 Network Appliance, Inc. System and method for on-the-fly file folding in a replicated storage system
WO2005008440A2 (en) * 2003-07-11 2005-01-27 Computer Associates Think, Inc. System and method for common storage object model
EP1668486A2 (en) 2003-08-14 2006-06-14 Compellent Technologies Virtual disk drive system and method
US9489150B2 (en) 2003-08-14 2016-11-08 Dell International L.L.C. System and method for transferring data between different raid data storage types for current data and replay data
JP4386694B2 (ja) * 2003-09-16 2009-12-16 株式会社日立製作所 記憶システム及び記憶制御装置
US7721062B1 (en) 2003-11-10 2010-05-18 Netapp, Inc. Method for detecting leaked buffer writes across file system consistency points
US7783611B1 (en) 2003-11-10 2010-08-24 Netapp, Inc. System and method for managing file metadata during consistency points
US7401093B1 (en) 2003-11-10 2008-07-15 Network Appliance, Inc. System and method for managing file data during consistency points
US8032726B2 (en) * 2003-12-03 2011-10-04 Hitachi, Ltd Remote copy system
US7437389B2 (en) * 2004-03-10 2008-10-14 Hitachi, Ltd. Remote copy system
JP4412989B2 (ja) * 2003-12-15 2010-02-10 株式会社日立製作所 複数の記憶システムを有するデータ処理システム
US7720801B2 (en) 2003-12-19 2010-05-18 Netapp, Inc. System and method for supporting asynchronous data replication with very short update intervals
US7478101B1 (en) 2003-12-23 2009-01-13 Networks Appliance, Inc. System-independent data format in a mirrored storage system environment and method for using the same
US8041888B2 (en) 2004-02-05 2011-10-18 Netapp, Inc. System and method for LUN cloning
US20050204104A1 (en) * 2004-03-15 2005-09-15 Tatsundo Aoshima Server and method for managing volume storing digital archive
US7409511B2 (en) 2004-04-30 2008-08-05 Network Appliance, Inc. Cloning technique for efficiently creating a copy of a volume in a storage system
US7334095B1 (en) 2004-04-30 2008-02-19 Network Appliance, Inc. Writable clone of read-only volume
US7334094B2 (en) 2004-04-30 2008-02-19 Network Appliance, Inc. Online clone volume splitting technique
US7409494B2 (en) 2004-04-30 2008-08-05 Network Appliance, Inc. Extension of write anywhere file system layout
US7430571B2 (en) 2004-04-30 2008-09-30 Network Appliance, Inc. Extension of write anywhere file layout write allocation
US7519628B1 (en) 2004-06-01 2009-04-14 Network Appliance, Inc. Technique for accelerating log replay with partial cache flush
US7509329B1 (en) 2004-06-01 2009-03-24 Network Appliance, Inc. Technique for accelerating file deletion by preloading indirect blocks
US20050273556A1 (en) * 2004-06-04 2005-12-08 International Business Machines Corporation Method and system for providing a recommended allocation of data storage space
US7243207B1 (en) 2004-09-27 2007-07-10 Network Appliance, Inc. Technique for translating a pure virtual file system data stream into a hybrid virtual volume
US7194595B1 (en) 2004-09-27 2007-03-20 Network Appliance, Inc. Technique for translating a hybrid virtual volume file system into a pure virtual file system data stream
US7260678B1 (en) 2004-10-13 2007-08-21 Network Appliance, Inc. System and method for determining disk ownership model
US7603532B2 (en) 2004-10-15 2009-10-13 Netapp, Inc. System and method for reclaiming unused space from a thinly provisioned data container
US7730277B1 (en) 2004-10-25 2010-06-01 Netapp, Inc. System and method for using pvbn placeholders in a flexible volume of a storage system
US7636744B1 (en) 2004-11-17 2009-12-22 Netapp, Inc. System and method for flexible space reservations in a file system supporting persistent consistency point images
US7523286B2 (en) 2004-11-19 2009-04-21 Network Appliance, Inc. System and method for real-time balancing of user workload across multiple storage systems with shared back end storage
US7885970B2 (en) * 2005-01-20 2011-02-08 F5 Networks, Inc. Scalable system for partitioning and accessing metadata over multiple servers
US8180855B2 (en) 2005-01-27 2012-05-15 Netapp, Inc. Coordinated shared storage architecture
US8019842B1 (en) 2005-01-27 2011-09-13 Netapp, Inc. System and method for distributing enclosure services data to coordinate shared storage
US7424497B1 (en) 2005-01-27 2008-09-09 Network Appliance, Inc. Technique for accelerating the creation of a point in time prepresentation of a virtual file system
US7958347B1 (en) 2005-02-04 2011-06-07 F5 Networks, Inc. Methods and apparatus for implementing authentication
US7574464B2 (en) 2005-02-14 2009-08-11 Netapp, Inc. System and method for enabling a storage system to support multiple volume formats simultaneously
US7757056B1 (en) 2005-03-16 2010-07-13 Netapp, Inc. System and method for efficiently calculating storage required to split a clone volume
EP1875394B1 (en) 2005-04-25 2011-06-08 Network Appliance, Inc. System and method for caching network file systems
US7617370B2 (en) 2005-04-29 2009-11-10 Netapp, Inc. Data allocation within a storage system architecture
US7634760B1 (en) 2005-05-23 2009-12-15 Netapp, Inc. System and method for remote execution of a debugging utility using a remote management module
US7739318B2 (en) 2005-06-20 2010-06-15 Netapp, Inc. System and method for maintaining mappings from data containers to their parent directories
US7653682B2 (en) 2005-07-22 2010-01-26 Netapp, Inc. Client failure fencing mechanism for fencing network file system data in a host-cluster environment
JP2007066109A (ja) 2005-08-31 2007-03-15 Fujitsu Ltd データ送受信制御装置およびデータ送受信制御方法
US7650366B1 (en) 2005-09-09 2010-01-19 Netapp, Inc. System and method for generating a crash consistent persistent consistency point image set
US7467276B1 (en) 2005-10-25 2008-12-16 Network Appliance, Inc. System and method for automatic root volume creation
US7376796B2 (en) 2005-11-01 2008-05-20 Network Appliance, Inc. Lightweight coherency control protocol for clustered storage system
US20070118559A1 (en) * 2005-11-18 2007-05-24 Microsoft Corporation File system filters and transactions
US7546412B2 (en) * 2005-12-02 2009-06-09 International Business Machines Corporation Apparatus, system, and method for global metadata copy repair
US7693864B1 (en) 2006-01-03 2010-04-06 Netapp, Inc. System and method for quickly determining changed metadata using persistent consistency point image differencing
US7734603B1 (en) 2006-01-26 2010-06-08 Netapp, Inc. Content addressable storage array element
US7480848B2 (en) * 2006-02-10 2009-01-20 The Directv Group, Inc. Methods and apparatus to select tornado error correction parameters
US8285817B1 (en) 2006-03-20 2012-10-09 Netapp, Inc. Migration engine for use in a logical namespace of a storage system environment
US7590660B1 (en) 2006-03-21 2009-09-15 Network Appliance, Inc. Method and system for efficient database cloning
US8260831B2 (en) 2006-03-31 2012-09-04 Netapp, Inc. System and method for implementing a flexible storage manager with threshold control
US8417746B1 (en) 2006-04-03 2013-04-09 F5 Networks, Inc. File system management with enhanced searchability
US7769723B2 (en) 2006-04-28 2010-08-03 Netapp, Inc. System and method for providing continuous data protection
US7853822B2 (en) * 2006-12-05 2010-12-14 Hitachi Global Storage Technologies Netherlands, B.V. Techniques for enhancing the functionality of file systems
US8219821B2 (en) 2007-03-27 2012-07-10 Netapp, Inc. System and method for signature based data container recognition
US8312214B1 (en) 2007-03-28 2012-11-13 Netapp, Inc. System and method for pausing disk drives in an aggregate
US20090077097A1 (en) * 2007-04-16 2009-03-19 Attune Systems, Inc. File Aggregation in a Switched File System
US8682916B2 (en) * 2007-05-25 2014-03-25 F5 Networks, Inc. Remote file virtualization in a switched file system
US7996636B1 (en) 2007-11-06 2011-08-09 Netapp, Inc. Uniquely identifying block context signatures in a storage volume hierarchy
US20090204705A1 (en) * 2007-11-12 2009-08-13 Attune Systems, Inc. On Demand File Virtualization for Server Configuration Management with Limited Interruption
US8548953B2 (en) * 2007-11-12 2013-10-01 F5 Networks, Inc. File deduplication using storage tiers
US8117244B2 (en) 2007-11-12 2012-02-14 F5 Networks, Inc. Non-disruptive file migration
US8180747B2 (en) 2007-11-12 2012-05-15 F5 Networks, Inc. Load sharing cluster file systems
US20090204650A1 (en) * 2007-11-15 2009-08-13 Attune Systems, Inc. File Deduplication using Copy-on-Write Storage Tiers
US8352785B1 (en) 2007-12-13 2013-01-08 F5 Networks, Inc. Methods for generating a unified virtual snapshot and systems thereof
US7984259B1 (en) 2007-12-17 2011-07-19 Netapp, Inc. Reducing load imbalance in a storage system
US8380674B1 (en) 2008-01-09 2013-02-19 Netapp, Inc. System and method for migrating lun data between data containers
US8549582B1 (en) 2008-07-11 2013-10-01 F5 Networks, Inc. Methods for handling a multi-protocol content name and systems thereof
WO2010037147A2 (en) 2008-09-29 2010-04-01 Whiptail Technologies Method and system for a storage area network
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US8204860B1 (en) 2010-02-09 2012-06-19 F5 Networks, Inc. Methods and systems for snapshot reconstitution
US9195500B1 (en) 2010-02-09 2015-11-24 F5 Networks, Inc. Methods for seamless storage importing and devices thereof
US9813529B2 (en) 2011-04-28 2017-11-07 Microsoft Technology Licensing, Llc Effective circuits in packet-switched networks
US8533299B2 (en) 2010-04-19 2013-09-10 Microsoft Corporation Locator table and client library for datacenters
US8996611B2 (en) 2011-01-31 2015-03-31 Microsoft Technology Licensing, Llc Parallel serialization of request processing
US8438244B2 (en) * 2010-04-19 2013-05-07 Microsoft Corporation Bandwidth-proportioned datacenters
US9454441B2 (en) 2010-04-19 2016-09-27 Microsoft Technology Licensing, Llc Data layout for recovery and durability
US9170892B2 (en) 2010-04-19 2015-10-27 Microsoft Technology Licensing, Llc Server failure recovery
US8447833B2 (en) 2010-04-19 2013-05-21 Microsoft Corporation Reading and writing during cluster growth phase
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US9286298B1 (en) 2010-10-14 2016-03-15 F5 Networks, Inc. Methods for enhancing management of backup data sets and devices thereof
US8843502B2 (en) 2011-06-24 2014-09-23 Microsoft Corporation Sorting a dataset of incrementally received data
US8396836B1 (en) 2011-06-30 2013-03-12 F5 Networks, Inc. System for mitigating file virtualization storage import latency
US8463850B1 (en) 2011-10-26 2013-06-11 F5 Networks, Inc. System and method of algorithmically generating a server side transaction identifier
CN102541472A (zh) * 2011-12-31 2012-07-04 杭州宏杉科技有限公司 一种raid阵列重建的方法及装置
US10379971B2 (en) * 2012-01-31 2019-08-13 Hewlett Packard Enterprise Development Lp Single and double chip space
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
US9778856B2 (en) 2012-08-30 2017-10-03 Microsoft Technology Licensing, Llc Block-level access to parallel storage
US9519501B1 (en) 2012-09-30 2016-12-13 F5 Networks, Inc. Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system
US9554418B1 (en) 2013-02-28 2017-01-24 F5 Networks, Inc. Device for topology hiding of a visited network
US11422907B2 (en) 2013-08-19 2022-08-23 Microsoft Technology Licensing, Llc Disconnected operation for systems utilizing cloud storage
US9798631B2 (en) 2014-02-04 2017-10-24 Microsoft Technology Licensing, Llc Block storage by decoupling ordering from durability
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US10412198B1 (en) 2016-10-27 2019-09-10 F5 Networks, Inc. Methods for improved transmission control protocol (TCP) performance visibility and devices thereof
US10567492B1 (en) 2017-05-11 2020-02-18 F5 Networks, Inc. Methods for load balancing in a federated identity environment and devices thereof
US11223689B1 (en) 2018-01-05 2022-01-11 F5 Networks, Inc. Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof
US10833943B1 (en) 2018-03-01 2020-11-10 F5 Networks, Inc. Methods for service chaining and devices thereof
US12003422B1 (en) 2018-09-28 2024-06-04 F5, Inc. Methods for switching network packets based on packet data and devices

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3585606A (en) * 1969-09-12 1971-06-15 Ibm File protect circuit and method
US4135240A (en) * 1973-07-09 1979-01-16 Bell Telephone Laboratories, Incorporated Protection of data file contents
US4038642A (en) * 1976-04-30 1977-07-26 International Business Machines Corporation Input/output interface logic for concurrent operations
US4148098A (en) * 1976-10-18 1979-04-03 Xerox Corporation Data transfer system with disk command verification apparatus
JPS5362945A (en) * 1976-11-17 1978-06-05 Toshiba Corp Disc address system
US4399503A (en) * 1978-06-30 1983-08-16 Bunker Ramo Corporation Dynamic disk buffer control unit
US4245307A (en) * 1979-09-14 1981-01-13 Formation, Inc. Controller for data processing system
US4344127A (en) * 1980-08-28 1982-08-10 The Bendix Corporation Microprocessor based process control system
US4396984A (en) * 1981-03-06 1983-08-02 International Business Machines Corporation Peripheral systems employing multipathing, path and access grouping
US4453211A (en) * 1981-04-28 1984-06-05 Formation, Inc. System bus for an emulated multichannel system
US4571674A (en) * 1982-09-27 1986-02-18 International Business Machines Corporation Peripheral storage system having multiple data transfer rates
EP0121565A1 (en) * 1982-10-06 1984-10-17 YIANILOS, Peter N. Improved error correction system
US4860244A (en) * 1983-11-07 1989-08-22 Digital Equipment Corporation Buffer system for input/output portion of digital data processing system
US4621321A (en) * 1984-02-16 1986-11-04 Honeywell Inc. Secure data processing system architecture
US4916605A (en) * 1984-03-27 1990-04-10 International Business Machines Corporation Fast write operations
FR2573888B1 (fr) * 1984-11-23 1987-01-16 Sintra Systeme pour la transmission simultanee de blocs de donnees ou de vecteurs entre une memoire et une ou plusieurs unites de traitement de donnees
JPS61193266A (ja) * 1985-02-21 1986-08-27 Hitachi Ltd 情報検索システム
US4713753A (en) * 1985-02-21 1987-12-15 Honeywell Inc. Secure data processing system architecture with format control
US4761785B1 (en) * 1986-06-12 1996-03-12 Ibm Parity spreading to enhance storage access
US4881163A (en) * 1986-09-19 1989-11-14 Amdahl Corporation Computer system architecture employing cache data line move-out queue buffer
US4792898A (en) * 1986-09-26 1988-12-20 Mccarthy Donald F Method and apparatus for temporarily storing multiple data records
US4851991A (en) * 1987-02-24 1989-07-25 Digital Equipment Corporation Central processor unit for digital data processing system including write buffer management mechanism
US5257367A (en) * 1987-06-02 1993-10-26 Cab-Tek, Inc. Data storage system with asynchronous host operating system communication link

Also Published As

Publication number Publication date
KR900700960A (ko) 1990-08-17
AU7935991A (en) 1991-10-03
US5553285A (en) 1996-09-03
ES2013462A6 (es) 1990-05-01
EP0414729A4 (en) 1993-01-13
ATE162319T1 (de) 1998-01-15
WO1989010594A1 (en) 1989-11-02
AU614611B2 (en) 1991-09-05
JP2951676B2 (ja) 1999-09-20
KR0130008B1 (ko) 1998-04-15
EP0414729A1 (en) 1991-03-06
DE68928546D1 (de) 1998-02-19
CA1321845C (en) 1993-08-31
US4993030A (en) 1991-02-12
AU3448389A (en) 1989-11-24
NZ228861A (en) 1995-12-21
DE68928546T2 (de) 1998-07-23
EP0414729B1 (en) 1998-01-14
AU645814B2 (en) 1994-01-27
HK1008446A1 (en) 1999-05-07

Similar Documents

Publication Publication Date Title
JPH03505643A (ja) 複数の記憶域クラス用のファイルシステム
HK1008446B (en) A file system for a plurality of storage classes
US6530035B1 (en) Method and system for managing storage systems containing redundancy data
US6041423A (en) Method and apparatus for using undo/redo logging to perform asynchronous updates of parity and data pages in a redundant array data storage environment
US5410667A (en) Data record copy system for a disk drive array data storage subsystem
US6728831B1 (en) Method and system for managing storage systems containing multiple data storage devices
US6985995B2 (en) Data file migration from a mirrored RAID to a non-mirrored XOR-based RAID without rewriting the data
US5403639A (en) File server having snapshot application data groups
US5774643A (en) Enhanced raid write hole protection and recovery
US6529995B1 (en) Method and apparatus for maintaining and restoring mapping table entries and data in a raid system
KR101758544B1 (ko) 비휘발성 메모리 시스템에서의 동기 미러링
US5430855A (en) Disk drive array memory system using nonuniform disk drives
US7743276B2 (en) Sufficient free space for redundancy recovery within a distributed data-storage system
US9104342B2 (en) Two stage checksummed raid storage model
JP2016534471A (ja) シェアード・ナッシング分散型ストレージ・システムにおけるターゲットにより駆動される独立したデータの完全性および冗長性のリカバリ
JPH04230512A (ja) Dasdアレイのための更新記録方法及び装置
WO2001013236A1 (en) Object oriented fault tolerance
JPH0573217A (ja) レコードの書き込み更新方法、単一パスアクセス保証方法、及びシステム
US10956365B2 (en) System and method for garbage collecting inline erasure coded data for a distributed log structured storage system
US7644308B2 (en) Hierarchical timestamps
JP3096392B2 (ja) Raidを使用する、フル・モーション・ビデオのネットワーク・サポートの方法および装置
AU614611C (en) A file system for a plurality of storage classes
RU2777270C1 (ru) Способ и система распределенного хранения восстанавливаемых данных с обеспечением целостности и конфиденциальности информации
JP2914181B2 (ja) ディスクアレイ装置
US10642689B2 (en) System and method for inline erasure coding for a distributed log structured storage system

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090709

Year of fee payment: 10

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090709

Year of fee payment: 10