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

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

Info

Publication number
JP2951676B2
JP2951676B2 JP1504828A JP50482889A JP2951676B2 JP 2951676 B2 JP2951676 B2 JP 2951676B2 JP 1504828 A JP1504828 A JP 1504828A JP 50482889 A JP50482889 A JP 50482889A JP 2951676 B2 JP2951676 B2 JP 2951676B2
Authority
JP
Japan
Prior art keywords
data
storage
file
processing system
path
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.)
Expired - Lifetime
Application number
JP1504828A
Other languages
English (en)
Other versions
JPH03505643A (ja
Inventor
アーノー スター クラカウアー
ディーター ガーリック
ジョン アレン コールグローヴ
リチャード バイロン ザ セカンド ウィルモット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AMUDAARU CORP
Original Assignee
AMUDAARU CORP
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 AMUDAARU CORP filed Critical AMUDAARU CORP
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; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/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)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【発明の詳細な説明】 発明の背景 限られた著作権の放棄 この特許書類の開示の一部分が、著作権が請求されて
いる事柄を含んでいる。この著作権者は、米国特許商標
局の特許ファイル即ち記録に見られるように、この特許
書類即ちこの特許の開示を為した者の何れによるファク
シミリによる複製に対しても異義を有さないが、他の全
ての権利は保有するものである。
発明の分野 本発明は、インターフェースを提供し、データ処理シ
ステムのデータのユーザと斯かるデータを記憶する設備
との間にアクセス経路を設置するシステムに関する。特
に、本発明は、複数のアクセス経路の使用を最適化する
ように適合することができるファイルシステム、及び斯
かるシステムの作動要件を満たす使用可能な記憶ハード
ウェアを提供するものである。
関連技術の記載 コンピュータシステムであって、そのシステムによっ
て処理するデータの量が莫大なものが開発されている。
例えば、エグザバイト(exabytes)台の多量のデータを
取扱うことができ、数百の直接アクセス記憶装置(DASD
s)を通して広がっているデータ記憶装置が提案されて
いる。斯かるシステムの個々のファイルは、10ギガバイ
ト(1010バイト)もの高さであることが提案されてい
る。斯かる大きな記憶装置は、クラッシュの後の記憶装
置全体の復元に何時間も又は何日もかかることがあるた
め、非常に信頼性が高くなければならない。加えて、こ
れらの記憶装置は、データの効率のよい使用を可能とす
るためには、非常に高いデータ転送速度を維持しなけれ
ばならない。更に、斯かる大きなデータシステムを使用
不能にするような故障が一箇所もないことが望ましい。
斯かるデータシステムのサイズ、速さ及び信頼性への要
求は、スーパーコンピュータの容量の目覚しい増加、及
び、より遅いコンピュータによって使用される大きなデ
ータ記憶装置の増え続ける数と歩調を合せ続けるであろ
う。
データのユーザ、コンピュータシステムにおけるバッ
ファ及びコンピュータシステムの外部記憶装置の間のイ
ンターフェースを提供する先行技術のファイルシステム
は、ユーザによるファイルへのあらゆる個々の要求のた
めに一つのアクセス経路を設置することにより作動して
いた。これは、データを記憶する装置が非常に少ない限
りにおいては、まさに理に適っている。しかし、多くの
記憶装置及び多くの独立したアクセス経路を備えた構成
であって、そのアクセス経路を通して個々の要求に応答
してデータを並行して転送できる構成においては、シス
テム制御プログラムの一つの要求あたり一つのアクセス
経路という制限は、外部記憶装置と内部記憶装置との間
のデータの転送を要求する与えられたタスクのための応
答時間を大きく制限する。
先行技術のファイルシステムは、第1図に示す線図を
参照して特徴を記述することができる。この先行技術の
ファイルシステムが内で走行するコンピュータシステム
は、データのユーザに対応する複数のアプリケーション
プログラムを含む。幾つかのアプリケーションプログラ
ムは、データベースドライバ等のようなプロセシングサ
ブシステム(SS)であることがある。これらのアプリケ
ーションプログラムA、又はサブシステムは、アクセス
要求をユーザインターフェースIを通してコンピュータ
内のバッファスペースに生成する。与えられたトランザ
クションによって必要とされるデータがバッファ空間に
位置付けされていないとすると、システム制御プログラ
ムSCPが、前記必要とされるデータを不揮発性記憶装置
から検索することのできるデバイスドライバを通して、
アクセス経路を設定する。
バッファ空間の管理は、多数のユーザのある多数のデ
ータファイルを備えたデータ処理システムにとって大き
な作動上のボトルネックである。ユニックスでは、バッ
ファ空間は、バッファ空間が一杯になると、現在のトラ
ンザクションのためにスペースを作る単純なアルゴリズ
ムによってページがバッファから解放されるという、現
在ではまず使用されない方法で管理されている。しかし
ながら、全てのユーザが同じバッファプールを供用して
いるため、解放されるスペースが、そのシステムを走行
する他のプログラムにとって重要でないという保証はな
い。しかも、非常に大きなマイグレーションを行った場
合には、バッファプールはすぐに使い果たされてしま
い、マイグレーションの間他のユーザをシステムからし
っかりと締め出してしまう。
MVS等の他のオペレーティングシステムでは、バッフ
ァ空間は、バッファプールのグループに割当てられてい
る。各バッファプールは、バッファ空間にアクセスする
ユーザ又はサブシステムによって基本的に独立して管理
される。バッファ空間をユーザ間に分配することによ
り、各トランザクションのためのジャーナル機能を行う
トランザクション制御システムにおいて要求されるよう
な、データのページのより適切な制御を行うことができ
る。しかしながら、バッファ空間を複数のユーザ間に静
的に割当てることにより、データ処理システムの全体に
わたる性能に影響する無駄が起こる。例えば、与えられ
たシステムが、一日のある特定の時間内では活動状態に
あり、他の時間内では非活動状態にある。しかしなが
ら、サブシステムの部分にアクションがなければ、その
バッファ空間は、大量のバッファ空間を使おうにも使え
ないままにしながら一日中割当てられたままである。MV
Sをベースにしたシステムにおけるバッファ空間をユー
ザ間に効率よく割当てる問題は、多大な資源を消費し、
データ処理システムの操作をユーザにとって極めて複雑
にする大きな作動上の問題である。
したがって、多数のアクセス経路を利用し、サイズが
数バイトから数百ギガバイト以上のファイルへの効率の
良いアクセスを提供することができるファイルシステム
が必要とされている。そのようなファイルは、効率の良
いトランザクションのジャーナリング及びデータベース
処理を可能とするように増進されていなければならな
い。しかも、このファイルシステムの作動が便利で自動
化されており、出現してくる記憶装置の工業技術に適合
できることが望ましい。更に、使用中のファイルについ
ての保守、マイグレーション及びエラー修正と同時のデ
ータへの連続アクセスを可能にするファイルシステムを
提供することが望ましい。
発明の概要 本発明は、データ処理システムの複数のユーザによる
アクセスのためのデータファイルを管理する装置であっ
て、前記データ処理システムが、バッファリングのため
の内部記憶装置、外部記憶装置、及びファイルユーザイ
ンターフェースを含み、前記ファイルユーザインターフ
ェースにより複数のユーザがデータファイルへのアクセ
スを要求するものである装置を提供する。この装置は、
ファイルユーザインターフェース及び内部記憶装置に接
続され、複数のユーザによりアクセスされるデータの一
時記憶域のために内部記憶装置を割当て、前記割当ての
支援に外部記憶装置によりトランザクションの要求を生
成する、ための第一のレベルを備えている。第二のレベ
ルが、外部記憶装置へのデータの記憶及び外部記憶装置
からのデータの検索のためのトランザクションを管理す
るため、前記第一のレベル及び外部記憶装置に接続され
且つ外部記憶装置を用いるトランザクションの要求に応
答する。
このシステムは、多数の記憶装置及びアクセス経路を
備えているのが良く、前記アクセス経路は、それを通し
てデータを内部記憶装置と外部記憶装置との間で転送す
ることができるものである。斯かるシステムにおいて
は、第2のレベルが、トランザクションのデータファイ
ル主体を外部メモリ内のロケーションに割当てる予め指
定されたパラメーターにより特徴付けられる複数の物理
記憶域クラスを形成する。トランザクションの要求に応
答して、第2のレベルはトランザクションのデータファ
イル主体に割当てられた複数の記憶域クラスのうちの一
つを識別し、適正な外部メモリ内のロケーションを用い
てトランザクションを実行する。
複数の記憶域クラスのうちの少なくとも一つは、斯か
る記憶域クラスに割当てられたデータファイルを含むト
ランザクションのための複数のアクセス経路の並行利用
を提供する。更に、記憶域クラス用の少なくとも一つの
予め指定されたパラメーターが、主体(subject)デー
タファイルにとって所望の信頼性のレベルを識別する。
そのパラメーターに応答する第2のレベルは、エラー修
正コードを生成するか、又は鏡映型(mirroring−typ
e)の信頼性システムの複写を行い、鏡映されたデータ
又は生成されたエラー修正コードを外部メモリ内のロケ
ーションに割当てる。割当てられたデータファイルから
データを検索するトランザクションのために、第二のレ
ベルは、エラーを検知し、修正する手段を含む。
第一のレベルは、複数のユーザ間に割当てられた内部
記憶装置内のロケーションの依存性を指定するための依
存性グラフ等の手段を含む。前記依存性に応答して、第
1のレベルは、ロケーションの位置付け、ジャーナリン
グ及び解放を複数のユーザには透明な方法で提供する。
適正な方法で依存性を指定することにより、内部記憶装
置の大域的平均化が達成される。ユーザには透明なエラ
ー修正とともに、記憶域クラスの動的な割当てを提供す
ることにより、ファイルシステムは、エラー修正トラン
ザクション間の連続作動及びデータのある記憶装置から
他の記憶装置への再割当てを要求することのできるトラ
ンザクションを保証しながら、高度の耐故障性を示す。
好ましいシステムでは、記憶域クラスのうちの一つが
レコードレベルのストライピング用に提供される。斯く
して、他の一つの特徴によれば、高いデータ転送速度を
達成し、しかもエラー修正コード及び回復方と協働して
非常に大きなファイルシステムに関して向上したデータ
使用可能性及び信頼性を達成する、パラメーター式のレ
コードレベルのストライピングを備えたコンピュータシ
ステム内でデータの入力−出力を行う効率のよい方法を
提供する。この特徴によれば、本発明は、局所セルLCi
であって、iが1乃至Xであるもののシーケンスを含む
データファイルの記憶装置として特徴付けることができ
る。ファイル内の各セルは、データファイルのユーザに
よる少なくとも一つの転送の基本単位(ブロック)含
む。この装置は、磁気テープ、磁気ディスク、又は何れ
かの他の不揮発性記憶装置等のデータを記憶するための
複数の記憶ユニットを備えている。複数の入力−出力
(I/O)経路Pnであって、nが1乃至Nであるものが含
まれている。複数の経路の各々は、複数の記憶ユニット
のサブセットに接続されているため、複数の経路を通し
て複数の記憶ユニットへ及び複数の記憶ユニットからデ
ータのブロックを伝送することができる。制御ユニット
が、前記複数の経路に接続され、局所セルLCiのシーケ
ンスを少なくとも一つの前記複数の記憶ユニットのサブ
セットに割当てて局所セルLCiが経路Pnに接続された記
憶ユニットに記憶され、局所セルLCi+1が経路Pk、ここ
でkはnとは等しくない、に接続された記憶ユニットに
記憶されている。
本発明の一実施態様によれば、局所セルLCiが記憶さ
れる経路は(((j−1)modN)+1)に等しく;N個の
局所セルがN個のアクセス経路を通して並行にアクセス
することができるセルを形成する。そのほか、局所セル
の前記経路を通して割当てるいろいろな方法のパラメー
ター式選択を、同じ記憶ユニットのセットについてする
ことができるため、個々の装置の速度、与えられたファ
イルのセル及び局しょせるのサイズ並びにファイルを使
用しているプログラムによるデータ処理の量を合致させ
ることができる。
本発明の他の一つの特徴によれば、ファイル内のN−
1個の各局所セルのために、N−1個の局所セル用の修
正コードからなる修正ブロックが生成される。追加の経
路であって、それを通して修正ブロックをデータファイ
ル内に割当てることができるものを提供することによ
り、以前には修正不能であった与えられた経路を通して
のアクセスの間に検知されたエラーの修正をすることが
できる。あるファイルシステムの性能を高めるために、
エラー修正ブロックの割当てを、修正ブロックへの多重
アクセスを要求するファイルシステム用のN個の経路を
通して回転することができる。更に、修正ブロック用の
追加の経路を使用することにより、エラー修正体系を拡
張して多重エラー修正を提供することができる。
本発明によるファイルシステムは、広範な種類の作動
要求に適合可能である。例えば、標準的なユニックスフ
ァイル構造を反映する一つの記憶クラスを形成すること
ができる。勿論、他の現存するファイルシステム構造を
満たすよう、記憶域クラスを形成することも可能であ
る。
多くのアプリケーションが、高速逐次処理を要求して
いる。個々の装置の最高速転送速度を利用するため、本
発明によりトラック、シリンダーのような装置の形態を
表す、ある記憶域クラスを形成することもできる。更
に、多数のアクセス経路を並行して提供することによ
り、各経路はその経路が取り付けられる装置に最大転送
速度を提供する者であるため、極めて高い逐次処理速度
を達成することができる。
オペレーショナルデータベースは、一方、バッチ処
理、画像コピー及びデータベースの回復の他に、ブロッ
ク内に含まれる小さな対象への効率の良いランダムなア
クセスを典型的に要求する。適当な記憶域クラスの定義
を使用することにより、逐次アクセスを要求された速さ
で実行することができる。信頼性の要求は、適当な信頼
性パラメーターを通して満足することができる。結局、
高ランダム更新速度には鏡映等の信頼性機能を使用する
のが最適であり、一方低ランダム更新にはパリティをベ
ースにした信頼性システムを使用するのが最もふさわし
い。
CAD/CAMデータベース等の非オペレーショナルデータ
ベースは、しばしば数メガバイトのデータを有する対象
によって特徴付けられる。数個のセルに平均的な対象を
含むことのできる記憶域クラスを使用することが、斯か
るシステムの性能に取って非常に有益である。
図面の簡単な説明 第1図は、先行技術によるファイルシステムのブロッ
ク図である。
第2図は、本発明を包含するファイルシステムのブロ
ック図である。
第3図は、本発明によるファィルシステムのデータフ
ロースルーレベルを示すブロック図である。
第4図は、本発明によるファイルシステムのレベルの
構造を示す図である。
第5図は、複数の入力−出力路及び多数の物理的記憶
装置を有するデータ記憶サブシステムを備えたコンピュ
ータシステムのブロック図である。
第6図は、本発明によるデータファイルの略図であ
る。
第7図は、論理ディスク及び使用可能経路概念を示す
図である。
第8図は、エラー修正機構のない、本発明によるデー
タファイルの論理機構を示す。
第9図は、第5図のファイルのレコードレベルストラ
イピングを実行するIDAWリストを示す。
第10図は、単一エラー修正機構を備えた、本発明によ
るデータファイルの論理機構を示す。
第11図は、第7図のファイルのレコードレベルストラ
イピングを実行するIDAWリストを示す。
第12図は、エラー修正ブロックが記憶される経路を回
転させる、単一エラー修正機構を備えたデータファイル
の論理機構の図である。
第13図は、第9図のファイルのレコードレベルストラ
イピングを実行するIDAWリストを示す。
第14図は、本発明による二重エラー修正機構を組込ん
だ、データファイルの論理構成の図である。
第15図は、第11図のファイルのレコードレベルストラ
イピングを実行するIDAWリストを示す。
第16図は、本発明によるストライピングドライブのた
めの戦略ルーチンのフローチャートである。
第17図は、入力/出力オペレーションが終了するとス
トライピングドライバに呼出されるルーチンである。
第18図は、入力/出力処理によって報告されたあらゆ
る失われたデータを回復させるよう作動する回復ルーチ
ンである。
第19図は、本発明の二重エラー検査修正(double EC
C)実行用のエラー修正のためのルーチンである。
第20図は、システムを構成するのに使用されるルスト
ライピングドライバ用の入力/出力制御ルーチンであ
る。
第21図は、ストライプされた装置のために生入力/出
力を準備するためのルーチンである。
第22図は、ユーザによって指定された所望のエラー修
正のレベルのパラメーターによるエラー修正ブロックを
生成するためのルーチンである。
第23図は、単一エラー修正用のパリティデータを生成
するためのルーチンである。
第24図は、ある一つのデータ領域から他の一つのデー
タ領域まで排他的論理和を行うためのルーチンである。
第25図は、本発明による二重エラー修正ブロックを生
成するためのルーチンである。
第26図は、本発明によるストライプされた入力/出力
のためのIDAWリストを生成するためのルーチンである。
好ましい実施態様の説明 図面を参照して、本発明の詳細な説明をする。第2〜
4図を参照して、ファイルシステムの機構が説明されて
いる。第5図を参照して、ハードウェアシステムの概観
が示されている。第6〜15図を参照して、本発明による
パラメーター式記録ストライピングの実施(implementa
tion)が説明されている。第16〜26図を参照して、パラ
メーター式ストライピングのソフトウェアの一実施態様
の実施の詳細が説明されている。37CFR §1.96(a)
(ii)に従う開示には追加があり、第16〜26図を参照し
て説明した実施態様の重要部分の原始コードの例を示し
ている。
I.ファイルシステム構造 第2図は、本発明によるファイルシステムのブロック
図である。第2図に示すファイルシステムは、ユーザイ
ンターフェースIとコンピュータシステムの内部記憶装
置41を備えているバッファスペースとの間にバッファプ
ール管理プログラム40を与えている。バッファプール管
理プログラム40は、システムの複数のユーザによってア
クセスされるデータを一時記憶するため内部記憶装置41
を割当てており、バッファプールの割当ての助けに外部
記憶装置44へのトランザクションの要求を生成する。記
憶制御プログラム42は、デバイスドライバ43と協同して
バッファプール管理プログラム40によって生成したトラ
ンザクションの要求に応答し、外部記憶装置へのデータ
の記憶及び外部記憶装置からのデータの検索をするため
外部記憶装置44でトランザクションを管理する。特定の
ファイルパラメータに応答するバッファスペース40の管
理は、プログラムのユーザの負担を軽くしてきたもので
あり、ユーザインターフェースIの下に位置している。
更に、外部記憶装置によるトランザクションの要求の生
成は、バッファプール管理プログラム40の下に位置して
きたものであり、更に斯かる操作からユーザを切り離し
ている。
第3図は、本発明によるファイルシステムの好ましい
実施態様のより詳細なブロック図である。バッファスペ
ースは、図面を簡明化するため第3図には示していな
い。
第3図に示すファイルシステムは、ファイルユーザイ
ンターフェースIに接続されたファイルサーバ30を含ん
でいる。前記の好ましい実施態様のファイルユーザイン
ターフェースIは、アムダール単位タスクシュミレータ
(Amdahl UTS)オペレーティングシステムにより実行す
るようなユニックスV R3インターフェースであるが、ユ
ーザにより他のいかなるインターフェースが指定されて
もよい。そのため、ファイルユーザインターフェースI
に対して書込まれたいかなるプログラムも、前記の好ま
しい実施態様において、そのファイルシステムで作動す
るが、バッファスペースの割当て及び外部記憶装置によ
るトランザクションの制御は、ユーザには見えない。
ファイルユーザインターフェースIの下に、前記ファ
イルシステムはバッファ管理を提供するファイルサーバ
30を含んでいる。ファイルサーバ30の下には、ファイル
サーバ30への無限線形アドレス空間(immense linear a
ddress space)を防止する論理記憶域クラス31がある。
論理記憶域クラスサーバ35が、論理記憶域クラス31の割
当ての制御をしている。論理記憶域クラス31の下には、
外部記憶装置によるトランザクションの現実の管理を行
う物理記憶域クラスサーバ32がある。物理記憶域クラス
サーバ32には、チャンネルプログラムを作成し、エラー
回復アルゴリズムを行い、フィルタリング等の他のサー
ビスを提供する複数のデバイスドライバ33が接続されて
いる。
ファイルシステムの各々のサーバ30、35、32、33に
は、デーモン(demon)プログラムが連携して、それぞ
れのサーバの機能性(functionality)の制御をするた
めのユーザインターフェースを提供する。したがって、
ファイルサーバデーモン34、論理記憶域クラスデーモン
35、物理記憶域クラスデーモン36及びデバイスドライバ
デーモン37がある。一実施態様においては、デーモン3
4、35、36、37は、ファイルユーザインターフェースI
を介してファイルシステムと連絡している。その代わり
に、それらは、所望であれば、特定のシステムの要求を
みたすように適合されていてもよい。
第4図は、分離(isolation)及びレイヤリング(lay
ering)を施した好ましいシステムの構造を示す。第4
図は、多数の独立したファイルサーバFS1、FS2、FS3、F
S4及びFS5を備えたファイルシステムの模式図である。
これらのファイルサーバの各々は、複数のユーザに接続
される。それらの多くは、実際データ処理システムの連
続作動を助けるようユーザからファイルシステムへの多
数の経路を提供するために、複数のユーザの一つの同一
のプールとして、又は複数のユーザの重複する複数のプ
ールとしての役割をしてもよい。第4図には、また、重
複する論理記憶域クラスLSC1及びLSC2が示されている。
LSC1は、ファイルサーバFS1〜FS4に接続されており、一
方LSC2は、ファイルサーバFS2〜FS5に接続されている。
このことが、連続作動のために必要なファイルシステム
を通る多数の経路を提供するものである。
同様に、複数の物理記憶域クラスサーバPSC1〜PSC3及
び物理記憶域クラスドライバと相互接続した(cross−c
oupled)複数のデバイスドライバD1〜D5がある。見て分
かるように、ファイルサーバ3及びファイルサーバ4と
接続されたユーザは、どこの一箇所が故障してもファイ
ルシステムの連続作動が保証される。一レベルにおける
各サーバは、次のより高いレベルの多数のサーバによっ
て使用することができる。加えて、各サーバは、次のよ
り低いレベルの数個のサーバのサービスを含む事ができ
る。このことは、各レベルによる機能の複製(replicat
ion)を可能にしている。
各レベルのサーバは、そのレベルの正常作動(normal
operation)の実行及び例外の発生の認識の遂行能力が
ある。いかなる例外も連携するデーモンにより処理され
る。このデーモンは、例外があると必す作成されるトラ
ンザクション処理(transaction process)として実行
する。耐故障性及び連続作動には、サーバに関するパー
マネントデータの存在が必要である。これらのデータ
は、連携するデーモンにより維持することができ、使用
するためにサーバによってアクセスされる。この好まし
いシステムは、4つのレベルからなるが、より複雑な構
造である事も勿論可能である。
ファイルサーバレベルにおいて、システムのユーザに
よって使用されるような異なるファイル構造のためのサ
ポートが備っていてもよい。ユニックスV R3ファイルイ
ンターフェースだけを備えたシステムでは、ファイルは
ユーザにわかるような線形バイト本位アドレス空間(li
near byte−oriented adress space)として処理され
る。索引構造等の他の周知の構造をサポートする事もで
きる。
論理記憶域クラスレベルにおいては、線形アドレス空
間がファイルサーバに向けられている。ファイルサーバ
は、線形アドレス空間を得、修正し、解放することがで
きる。線形アドレスのために、空間は、エグザバイト
(exabytes)のオーダーに予見することができる。
物理記憶域クラスレベルでは、論理デバイスが論理記
憶域クラスに向けられている。論理デバイスは、論理記
憶域クラスの物理記憶域クラスへのパラメータ式マッピ
ングに基づいて実デバイスから作成される。物理記憶域
クラスの特性は、以下に、より詳細に説明する。
デバイスサーバレベルにおいては、記憶デバイスが物
理記憶域クラスに向けられている。これらのデバイス
は、物理デバイスとぴったり一致するが、それらは線形
アドレス空間の視点(view)を示し、多数の同時の要求
を許容し、データフィルター等の高度な機能を取扱うよ
うに適合することができる。
個々のレベルの機能及びそれらの互いの関係を以下に
説明する。各サーバ及びその連携デーモンは接続されて
いる。サーバは、正常作動を実行し、ファイルシステム
におけるパーマネントプロセスとして走行する。パーマ
ネントプロセスは、デーモンによって維持されるパーマ
ネントデータに由来する一時データを使用している。デ
ーモンは、その連携するサーバにより報告された例外を
処理する。デーモンは、一時プロセスとして走行しなが
ら、ユーザ及びシステムアプリケーション及びトランザ
クションとも連携することができる。
ファイルサーバ機能は、以下を含むものである。
1)ファイル内のデータの位置を決定する。
2)アップデートを連携するジャーナリング(journali
ng)を備えた永久記憶装置に依存グラフ(dependency g
raph)を用いて同期させる。
3)多数の同時の要求を許容する。
ファイルサーバデーモン機能は、以下を含むものであ
る。
1)プログラムの状態についての永久情報及びファイル
に関する情報を保持し、更新する。
2)論理記憶域クラスデーモンと連絡する。
論理記憶域グラスサーバ機能は、以下のとおりであ
る。
1)多数のファイルにスペースを割当てる。
2)デーモンに例外について知らせる。
3)デーモンの指示により効用機能(utility function
s)を実行する。
4)多数の同時の要求を許容する。
論理記憶域クラスサーバデーモンは、以下の機能を提
供するものである。
1)論理記憶域クラスの線形記憶空間へのファイルのマ
ッピングについての情報を維持する。
2)ファイルサーバ及び物理記憶域クラスデーモンと連
絡する。
3)データの複製及び再配置を監視する。
物理記憶域クラスザーバは、以下の機能を提供するも
のである。
1)記憶域クラスをファイルに割当てる。
2)多数の経路の作成、ファイルへのエラー修正の付
加、及びファイルの回転(rotating)を含め、ストライ
ピングを以下に述べるように完結させる。
3)デバイス複製機能を行う。
4)データの読み取りに最良のデバイスを選択する。
5)ファイルの更新のための方式(strategy)を選択す
る。
6)デバイスサーバにたいする外部記憶装置によるトラ
ンザクションの要求を作成する。
7)連携するデーモンに例外について知らせる。
8)多数の要求を平行して許容する。
9)エラー修正情報からデータを再起(rebuild)す
る。
物理記憶域クラスデーモンは、以下の機能を提供す
る。
1)マッピングの方式、エラー状態についての情報を維
持し、データファイルへの進行を修復する。
2)論理記憶域クラス及びデバイスでリバーデーモンと
と連絡する。
3)データを複製し再配置する。
デバイスサーバ機能は、以下を含む。
1)チャンネルプログラムを起こす(build)。
2)デバイス割込みを監視する。
3)デーモンに例外を報告する。
4)多数の要求を平行して許容する。
5)優先された要求(prioritized request)を許容す
る。
6)強制排除する(preemptive)要求を許容する。
7)フィルター等の拡張機能を許容する。
デバイスサーバデーモンは、以下の情報を提供する。
1)デバイスジオメトリー、デバイス接続又は接続形態
(device connection or topology),デバイス及び接
続スピード、デバイス及び接続使用(usage)、エラー
履歴、デバイスのプールへの編成についての情報を維持
する。
2)物理記憶域クラスデーモンと連絡する。
3)デバイス複製を行う。
II.ファイル構造の概観 本発明によるファイル構造は、五つの層を参照して概
観することができる。
ユーザ−−これは、応用プログラムファイル仕様(sp
ecification)である。
ファイル−−これは、ユーザに見えるような線形アドレ
ス空間である。
論理記憶域クラス−−これは、ファイルサーバによって
ファイルがマップされている名前付きの線形アドレス空
間である。このレベルにおいては、ファイルサーバによ
って割当てられた空間のサイズのみがファイル構造にと
って重要な事柄である。
物理記憶域クラス−−これは、論理記憶域クラスの性能
及び信頼性のためにする物理デバイスへのマッピングで
ある。これは、以下に説明するように記憶域クラスパラ
メーターによって定義された特性を示す物理媒体から構
成された論理記憶媒体と考えることができる。
物理記憶装置−−デバイスドライバを通しての線形アド
レス空間としての物理媒体の表示。この物理媒体は、コ
ンピュータシステムに対して外部であると考えられるい
かなる記憶装置であってよく、典型的には非揮発性であ
る。この仕様のためには、ファイル構造における並びの
より早い層は、より高いレベルの層である。
このファイルシステムによれば、以下の条件が真であ
る。
1)各層は、他の層から論理的に独立である。
2)層の内部構造は、互に独立である。
3)層は、メッセージ規約(protocols)又は共用記憶
装置を介して互に連絡できる。いろいろな層をいろいろ
な連絡方法に適合させることができる。
4)データの移動即ち再配置を取扱うユーティリティー
は、ユーザモードで実行されるのではなく、ファイル構
造の層に統合される。
5)ファイル構造の個々の層についての構造情報は、デ
ータベースに保持され、ファイル構造に対して内部のト
ランザクションによって修正することができる。
6)ユーザは、一度に多数のトランザクションの要求を
発行することができる。
7)多数プロセスを要求の取扱いに使用することができ
る。
ファイルシステムは、現(current)ユーザインター
フェースで作動し、観察されたアクセス特性によって、
又は連携するデーモン又はその他のものを通して与えら
れた演算ヒント(operational hints)を通してアクセ
ス方式を最適化する。したがって、ファイルシステム
は、ファイルシステムへの現在の計画されたアクセスパ
ターンについての情報を与えるアプリケーションを許容
する向上したインターフェースを提供することができ
る。
III.アクセス及び緩衝方式 データのアクセスはファイルサーバレベルの内部バッ
ファ空間を使用するための位置付け(LOCATE)、解除
(RELEASE)及びジャーナル要求によって制御される。
位置付け機能は、読み取り、アップデート又は書込型の
要求であってもよい。読み取られた要求は、他の要求者
からのデータへの変化によって、外部記憶装置へのデー
タ領域の並行するバッファの書込みを許容しながら、存
在するデータ領域を位置付けする。更新要求は、外部記
憶装置へのデータ領域の並行するバッファの書込を防止
しながら、存在するデータ領域を位置付けする。書込機
能は、最終的に存在するデータに前もってアクセスする
ことなしにデータを書込み、外部記憶装置への並行する
バッファの書込を防止する。以下のパラメーターが、位
置付け機能に利用できる。
1) SEQ−−現アクセスは、逐次的である。データは
要求に先立って検索される(retrieved)べきであり、
使用されていたデータは廃棄される(discarded)べき
である。
2) RAND−−現アクセスは、ランダムである。要求さ
れたデータのみが、検索されるべきである。
3) STRx−−1アクセスで平均して検索されるべきデ
ータのサイズ。xはバイトの数、STRはstringの省略で
ある。このパラメーターは、好ましいバッファのサイズ
を示(indicate)すため、ファイルが開いている時に使
用すべきであることに注意する。
4) TOKEN−−トークンは、位置付け要求により復帰
し、データ領域又は利用されているバッファを識別す
る。このパラメータは随意であり、それはプロセスの識
別は、いつでも暗黙トークンとして割当てることができ
るからである。
特殊なバッファ方式のためのアプリケーションは、ス
トリングがストライピングドライバにより定義されるよ
うなセルよりも小さくなければならない;多重ストリン
グの長さが定義された場合に、何れの対にあっても、一
つのストリングは他のストリングの倍数であるべきであ
る;及び単一(single)要求は、SEQパラメーター及びR
ANDパラメーターの両方を含むことができないという制
限を受ける。
異なるバッファプールのデータ間の保全性は、ファイ
ルシステムによって維持され、ストリングサイズ間のコ
ンフリクトは、ある仕様に優先権(preference)を与え
るシステム、又は折衷を表す数を使用するシステムによ
って解消する。保全性アルゴリズムの正確な性能(natu
re)は、特定のアプリケーションの要求を満たすように
仕上げることができる。
具体化(externalization)に対してブロックされて
いたバッファは、解除要求によって解放されなければな
らない。解除要求は、位置付け要求により得られるトー
クンによって表現される(represented)。このパラメ
ーターは、解除要求の後でどのデータ領域が具体化に対
して保護する必要が有るかを定義する。
プロセスが終了すると、そのプロセスと連携する全て
のデータ領域は、トークンとしてのプロセスの識別を用
いることにより暗黙解除される。
修正は、ジャーナル要求によって記録される(journa
led)。プロセスは、以下のパラメータを指定すること
ができる。
1) TYPE−−typeは、ジャーナルレコード形式を指定
する。特別なアプリケーションのために特定のジャーナ
ルの形式を選択することができる。
2) TOKEN−−ジャーナル要求のために位置付け要求
により得られる1以上のトークンを指定するのが良い。
このパラメーターは、どのデータ領域が現ジャーナルレ
コードが書込まれるまで具体化することができないかを
定義する。
3) DATA−−これは、ジャーナルに配置された(plac
ed)データの位置である。
4) RELEASE−−位置付け要求により得られる1以上
のトークンを指定するのが良い。このパラメーターは、
ジャーナルが終了した後にどのデータ領域が具体化に対
して保護する必要が有るかを定義する。
バッファ操作(manipulation)は、以下の規則によっ
て制御される。
1)バッファ要求は、いかなる更新又は書込のしてある
位置付け機能と解除機能の間でも具体化しない。
2)ジャーナル要求がバッファと関連していると、バッ
ファは、ジャーナル情報が具体化されるまで具体化され
ない。
3)位置付け、解除及びジャーナル機能は、ファイルシ
ステムユーザ層二も利用できる。
4)ファイルシステムは、ロッキング規約を通してはプ
ロセス間のデータ保全性を維持しない。これは、ファイ
ルシステムの外部のプロセスによって行われなければな
らない。
IV.記憶域クラスの説明 ファイルシステルにおいて、ファイルは物理記憶域ク
ラスサーバによって記憶域クラスに位置付けされてい
る。各記憶域クラスは、以下により識別される。
名称(NAME) ユニックス(UNIX)内のあらゆる有効な
名称 サイズ(SIZE) 1バイトと16EB(exabytes)との間の
あらゆる数で、その数は、次の高位(higher)の深度と
巾の倍数に丸められる。サイズは、ユーザのデータを含
むデータ領域のサイズのみを決定する。記憶媒体上の現
実の空間要件は、信頼性要件により増加させるのが良
い。
深度(DEPTH) 1と1経路に連続的に記憶されたバ
イトの数を表すDの間の数。斯かる連続記憶領域は、局
所セルと称される。Dは、ブロックと呼ばれ、通常の4k
である転送の基本単位の倍数である。最大限可能なD
は、ファイルシステムの実現(implementation)及び利
用できるハードウェアにより決定される。
巾(WIDTH) 1と記憶域クラスへの並列アクセス
経路の数を表すWとの間の数。最大限可能なWは、ファ
イルシステムの実現及び利用できるハードウェアにより
決定される。各アクセス経路は、同数の局所セルを有し
ている。各アクセス経路における同じ相対位置で局部セ
ルによって表現される記憶がセルとよばれる。
信頼性−以下の仕様が可能である。
None:媒体の信頼性は十分である。Noneは省略値(def
ault)である。
SPAR:単一(single)パリティを使用すべきである。
PARx:x個のパリティ経路を追加すべきである:xは1と
Nとの間の数。最大限可能なNは、ファイルシステムの
実現及び利用できるハードウェアにより決定される。PA
R1は、SPARと同一である。
DUAL:各経路のデータは、二つの独立したディスクに
書込まれる。
REx :データは、X個の独立したディスクに書込まれ
る(複製される)べきである。xは1とNとの間の数。
最大限可能なNは、ファイルシステムの実現及び利用で
きるハードウェアにより決定される。RE1は、DUALと同
一である。
例えば、ゼロから減算をしてコードを生成し、しかる
後に加算しかえして(add back)エラーを検知する加算
論理機能(add logical functions)を使用することに
より、パリティベースコード以外のエラー修正コードを
使用することができる。
パラメーターサイズ、深度及び巾は、一度正確に指定
しなければならない;信頼性パラメーターは、省略して
もよく、又は各々の対SPAR、PARx、AND DUAL、RExの最
大1つが有ってもよい。None以外の信頼性が指定されて
いると、記憶域クラスは、向上した信頼性を有している
と言える。
信頼性パラメーターは、ユーザが媒体エラーに対する
保護を所望するだけ指定することを可能にしている。所
望の平均故障間隔MTBFを得るために、このMTBFを越える
定義がある。このシステムは、ユーザが所望のMTBFと記
憶及びアクセスのコストとの間の適正なバランスを選択
することを助け、このバランスはアクセスパターン、特
にセルをカバーするに満たない更新のための読み取り−
更新比に大きく依存している。
増強された信頼性は、単純なパリティ情報かハミング
コードのどちらかを使用したデータの追加を通して達成
される。増強された信頼性は、媒体に追加の空間を必要
とする。システムは、巾を増加させ、必要な量の局所セ
ルを追加してパリティ情報を保持する。巾の増加は、自
動的になされる。ユーザは追加の空間の要求を無視する
ことができるが、オペレーションはそれに気がついてい
なければならない。
ファイルは、記憶域クラスにマップされる。二つのフ
ァイルは、セルを供用することができない。
V.可用性 可用性は二つの大きな要素、、連続作動及び耐故障性
を有している。ファイルシステムは、技術の水準によっ
て両方の面を取扱うことができる。
A.連続作動: 連続作動は、ファイルの記憶域クラスとの連携、記憶
域クラスの定義、及び根底にある記憶媒体を含む、要素
及びファイルシステムの使用を変化させる能力であっ
て: ・データが現在使用されているかどうかにかかわらず、 ・いかなるデータ保全性の損失もなしに、そして ・その変化が永久的であることを保証しながら 変化させる能力である。
これは: ・各レベルに連続作動のための論理を組込む、 ・データファイルを各レベルに有する、 ・レベル間の制御要件の流れを堅持する、 ・データベースに構造及び状態の情報を保持する、 ・各レベルの多数のサーバの分離及び独立性を維持する ことにより達成される。
B.耐故障性: ファイルシステムは、全ての起こり得る媒体エラー
を、それらが定義された信頼性の限界内にある限り、取
扱うことができる。
1.ソフトエラー: 記憶におけるソフトエラーは、ファイルシステムによ
って認識される。ユーザは、システムを使用しながら、
エラーを示す記憶域クラスの部分に新しい直接アクセス
記憶装置(DASD storage)を割当てることができる。フ
ァイルシステムは、データを、たとえそれらが使用中で
あっても、再配置する。再配置は、深度数(depth numb
er)にかかわりなく最適化される。
2.ハードエラー(トラック): トラックが使用不能になり、向上した信頼性が指定さ
れている場合には、システムは、エラーを発見次第、ト
ラックを再割当てし、データを再構成する。このプロセ
スは、ファイルシステムのユーザ及びオペレーションに
とって透過的であり、いかなる目につくシステムの劣化
も招来しない。
3.ハードエラー(媒体): 直接アクセス記憶装置が使用不能になり、向上した信
頼性が指定されている場合には、システムは、新たな装
置を請求するか、又は1以上の新たな装置が緊急の使用
のために事前割振りされていれば、その一つを選択し、
データを新たな装置に移動させる。これは、エラーが発
見され次第行われる。このプロセスは、ファイルシステ
ムのユーザにとって透過的である。オペレーションが含
まれていてもよい。物理マッピングは、それが「正常」
作動下にあった場合ほど最適でないことがあるため、あ
る記憶領域に関して幾分システムの劣化を受けることが
ある。そのような場合には、故障した装置が修理され次
第、データは再マップされる。このプロセスは、自動化
されており、そのためオペレーションにとって透過的で
ある。
先行技術のファイルシステムは、ファイルに対する全
ての要求に一つのアクセス経路を使用するように設計さ
れている。これは、データを記憶する要素(直接アクセ
ス記憶装置)が非常に少ない限りにおいては全く理に適
っている。しかしながら、多くの記憶装置及び多くの独
立したアクセス経路を備えたシステムは、並行処理の利
用して与えられたタスクへの応答時間をめざましく改善
し、副産物としてシステムの処理能力を潜在的に向上さ
せることができる。
VI.マイグレーション: 本発明によるファイルシステムのコピーコマンドを使
用することにより、実に、ある記憶域クラスから他の記
憶域クラスにファイルを移動させることができる。この
ファイルシステムは、デバイスドライバ及び物理記憶域
クラスドライバに接続され、データをアクセスするユー
ザに対する割込みがほとんどなくマイグレーションを実
施するユーティリティを含んでいる。局所セルを装置間
で転送することができるか、又はセルを新しい記憶域ク
ラスに転送することができる。システム制御プログラム
は、幾つ化の周知のロック技術の何れかを使用して、転
送中の対象になっている(subject)局所セル又はセル
をロックする。ロックされたセル又は局所セルへのアク
セスが要求された場合には、ユーザは転送が終了するま
で少しの遅れを経験する。ファイルをファイルシステム
に転送するためには、ファイルは閉じており、記憶域ク
ラスにコピーされていなければなれない。その時点か
ら、ファイルは、説明したファイルシステムにより提供
される全てのファシリティを伴って使用することができ
る。
VII.単純化したハードウェアの概観 第5図は、本発明を実施することのできる多数のデー
タ記憶装置を備えたコンピュータシステムの単純化した
ブロック図である。このコンピュータシステムは、1以
上の中央処理装置10を含む基本(basic)コンピュータ
を含んでいる。中央処理装置10は、チャンネルインター
フェース11を介して複数のチャンネル12と連絡してい
る。チャンネル12は、中央処理装置10からデータ記憶装
置D11〜Dnmへの入力/出力経路を定義する制御ユニット
P1〜Pnに接続されている。経路P1に接続されているの
は、データ記憶装置D11、D12...D1aのストリングであ
り、ここでaは整数である。データは、ライン1を通し
て経路P1に接続されているいかなる装置からも書込又は
読み取りをすることができる。ライン1は、当該技術分
野で知られているように、装置D11〜D1aに記憶されたデ
ータをアクセスするための複数の実経路を含んでもよ
い。同様に、複数の装置D21〜D2bがライン2を通して経
路P2に接続され;複数の装置D31〜D3cがライン3を通し
て経路P3に接続され;複数の装置D41〜D4dがライン4を
通して経路P4に接続され;...そして、複数の装置Dn1〜D
nmがラインnを通して経路Pnに接続されて中央処理装置
10の制御下に出力−入力をサポートする。第5図に示す
データ記憶装置D11〜Dnmには、テープ装置、IBM3380型
ディスクドライブ等のハイエンドハードディスクドライ
ブ、小型ディスクドライブ(SCSI)、等のあらゆる種類
の物理デバイス、光学媒体、又は他のあらゆる種類の記
憶装置がある。与えられた一経路にた一つだけ装置があ
ってもよく;異なる経路に異なる数の装置があってもよ
く;そして、与えられた複数の経路に非常に多数の装置
があってもよい。本発明のファイル記憶システムは、以
下に更に十分に説明するように、広範な種類のいろいろ
な特性を有する多数の経路を論理的に通る記憶装置を割
当てることができる。
第5図には示されていないが、好ましいデータ処理シ
ステムは、物理媒体のあらゆる与えられた位置への多数
の冗長(redandant)経路を含んでいる。したがって、
制御ユニットP1は、経路2に接続された装置のストリン
グへの経路も提供し、制御ユニットP2は、経路1に接続
された装置のストリング用のアクセス経路を提供する。
同様に、各制御ユニットは、経路に接続された各装置へ
の2以上の経路を提供することができる。この方法で、
ハードウェアの故障は、代替機能経路を通して回復する
ことができ、システムは、故障に応じてアクセス経路を
動的に再構成することによって連続作動に必要な手段を
とる。外部記憶システムに起こった故障は、エラー回復
手法を行う、即ちデータの影響を受けた局所セルへのア
クセス経路を再計算する。アクセス経路の冗長度のレベ
ルは、データ処理システム又は外部記憶システムに記憶
された個々のファイルに与えられた平均故障時間要件を
満たすように合せることができる。
VIII.データファイルの論理構成 第6〜11図は、本発明により「ストライプされた(st
riped)」データファイルの論理構成を示す。第6図で
は、データファイルは、局所セルLC1〜LC20の配列とし
て模式的に示されている。この配列は、第6図の論理経
路P1〜P5に対応する列(column)及びセルに対応する行
(row)を含んでいる。見てわかるように、逐次(seque
ntial)局所セルは、システムのいろいろな論理経路に
割当てられている。最高の性能を得るためには、論理経
路が物理経路と等しいのがよい。しかしながら、二つの
論理経路が一つの物理経路を供用することができ、又は
一つの論理経路が二つの物理経路を含むこともできる。
第7図は、使用可能な経路及び論理デバイス概念を示
している。使用可能な物理経路P1〜Pn用に、所望であれ
ば、記憶装置を物理境界(physical boundary)よりも
むしろ論理境界に沿って割当てるのがよい。斯くして、
物理経路P1は、5個の論理ディスクとして取扱われる5
個の実デバイスを含むのがよい。物理経路P2は、ファイ
ルシステムにより3個の論理ディスクとして取扱われる
単一高容量ディスク(single high capacity disk)含
むのがよい。物理経路P3は、8個の論理ディスクとして
構成される多数の高容量デバイスを含むのがよい。同様
に、物理経路PNは、二つの論理ディスクとして構成され
ているのがよい。ファイルシステムは、データファイル
を記憶システムに割当てるため、ファイルシステムは、
システム内の使用可能な経路、即ち、使用に利用できる
論理ディスクを有する経路を識別することができ、デー
タファイルを使用可能な経路を通してデータファイルを
割当てて最適な記憶装置の使用状態をつくる。使用可能
な経路を識別する方法は、ファイルが割当てられると働
く動的なものであってもよく、又は記憶システムを構成
するプログラマーによって前もって準備された予め指定
されたものであってもよい。
第6図に示すように、本発明によるストライピングア
ルゴリズムの好ましい実施態様は、局所セルLCiを経路
P(((i−1)modN)+1)に割当て、ここでNは使
用可能な論理経路の数である;そしてiは1からXまで
進む、ここでXはファイルにおける局所セルの数であ
る。この方式では、逐次局所セルは、逐次(sequentia
l)経路に割当てられるが、二つの逐次局所セルが同じ
経路に位置することはない。更に、論理経路が物理経路
に等しい場合には、N個の局所セルのセルが、単一の並
列入力/出力(I/O)トランザクションに転送される。
IX.ストライプされたデータファイルの例 第8〜15図は、本発明による様々な種類のエラー修正
機構を使用しているストライプされたデータファイルの
例を示している。第8図は、ブロックB0〜B199を含むデ
ータファイルであり、ここで斯くブロックBは、チャン
ネルオペレーションのためのアドレス可能単位である。
ブロックは、各々10個のブロックB0〜B9、B10〜B1
9、...、B190〜B199の局所セルに区分されている。デー
タファイルは、ストライプされるので、このデータファ
イルのために利用される5個の経路が、4つのセル深度
(cells deep)S0〜S3で存在する。ファイルシステム
は、第9図に示すようなIDAWリスト(ここで論理経路
は物理経路に等しい)を生成し、ここでき0は局所セル
B0〜B9、B50〜B59、B100〜B109、及びB150〜B159を含ん
でいる。経路1は、局所セルB10〜B19、B60〜B69、B110
〜B119、及びB160〜B169を含む。経路P4は、局所セルB4
0〜B49、B90〜B99、B140〜B149及びB190〜B199を含む。
上記の様に、論理ディスク及び使用可能な経路概念を参
照すると、第8図に示す経路P0〜P4は、多数の物理経路
を含んでいてもよいデータ記憶システムにおける識別さ
れた局所セルへのいかなる使用可能な経路であってもよ
い。見てわかるように、第8及び9図では、追加のエラ
ー修正能は付与されていない。各物理経路のための制御
ユニットは、当該技術分野で周知の様に、データに組込
まれたパリティ又はエラー修正コードを使用したそれ自
身のエラー修正能を有してもよい。何れかの経路に修正
不能なエラーが起きた場合には、そのデータは失われ、
その損失はデバイスドライバに報告され、ファイルシス
テムは回復措置を取るよう要求される。
高い信頼性が要求されているシステムでは、第10〜18
図に示すようにエラー修正能を本発明により付与するこ
とができる。エラー修正能のレベルは、特定のデータフ
ァイルの要求を満たすように選択することができる。例
えば、単一エラー修正機構を第10〜13図に示すような種
々のフォーマットで付与することができ、二重エラー修
正機構(doubl error correction)を第14及び15図に示
すように付与することができる。結局、より高い信頼性
が要求される場合には、鏡映された(mirrored)、又は
多数の冗長なストライプされたデータファイルを付与す
ることができる。所望のエラー修正のレベルは、好まし
いシステムに記憶域クラス用のパラメーターとして指定
することができる。第10及び第11図は、単一エラー修正
機構を使用したファイルシステム用に生成された論理構
成及びIDAWリストを示す。見てわかるように、核スペー
ス(kernel space)において、各々の局所セルにエラー
修正ブロックがファイルシステムにより生成されること
を除いて、データファイルは第8図を参照して述べたよ
うに構成されている。ファイルシステムは、しかる後第
8図に示すような全てのエラー修正ブロックを図示の様
に経路P5に割当てるIDAWリストを生成する。好ましいシ
ステムのエラー修正ブロックは、ビット的に(bitwis
e)各セルにおける対応するブロックを通るXORである。
そのため、XOは、ビット的にB0、B10、B20、B30、B40の
XORである。よって、もしブロックB10が失われた場合に
は、それはB0、B20、B30、B40のXOR及びXOを計算するこ
とにより置き換えることができる。
個々のブロックに対する更新がしばしば望まれるファ
イルシステムのためには、修正ブロック(correction b
locks)が単一経路に記憶されるシステムが、修正ブロ
ックに割当てられる経路にのった過剰のトラフィック量
を有するのがよい。そのため、修正ブロックを使用可能
な経路間に分配する(distributing)ためのアルゴリズ
ムが一つの経路の回線争奪を防止するのに望まれる。
第12及び13図は、修正ブロック用の回転(rotating)
経路を備えた単一エラー修正能を示している。第12図に
見られるように、ファイルシステムは、第10図に示す単
一エラー修正機構の場合と同様の方式で修正ブロックを
生成する。IDAWリストは、経路P0が、エラー修正ブロッ
クX0〜X9をセルC0に、データブロックB50〜B59をセル1
に、データレコードB100〜B109をセルC2に、及びデータ
ブロックB150〜B159をセルC3に含むように生成される。
セルC1では、エラー修正ブロックは経路P1に割当てられ
ている。セルC2では、エラー修正ブロックは経路P2に割
当てられており、セルC3では、エラー修正ブロックは経
路P3に割当てられている。この方式では、エラー修正ブ
ロックが使用可能な経路を通ってシステムに広がって、
エラー修正の目的の単一経路の使い過ぎを防止する。
一層大きな信頼性を、本発明により二重エラー修正機
構を使用して付与することができる。この体系(scehm
e)によれば、別の経路の二つの同時のエラーを修正す
ることができる。第14図に示すように、データファイル
は、セルS0乃至S3に配置されたブロックX0〜X9乃至X150
〜X159を含んでいる。ファイルシステムは、修正ブロッ
クX0〜X9、X10〜X19、乃至X110〜X119が作成されるよう
に、データファイルの局所セル用に3ビットのハミング
コードを生成する。ファイルシステムは、しかる後経路
P0が修正ブロックX0〜X9、X10〜X19、X20〜X29、X30〜X
39を受信(receive)するように、第15図に示したよう
なIDAWリストを生成する。経路P1は、修正ブロックX40
〜X49、X50〜X59、X60〜X69及びX70〜X79を受信する。
経路P2は、データブロックB0〜B9、B40〜B49、B80〜B89
及びB120〜B129を受信する。経路P3は、修正ブロックX8
0〜X89、X90〜X99、X100〜X109及びX110〜X119を受信す
る。経路P4〜P6は、図に示すようにデータブロックの残
り(balance)を受信する。第15図は、修正ブロックの
生成を容易にする二重エラー修正コード(double ECC)
を備えたデータファイルのレイアウトを示している。こ
れらの修正ブロックも、データファイルの特定の経路の
アクセスが集中するのを防止するように、経路間に分配
されている。
これらの図には示されていないが、より大きなレベル
のエラー修正機構(即ち、より大きなエラー修正コー
ド)により、又は冗長ファイル記憶装置により一層良い
信頼性を付与することができる。与えられたファイルの
第一のコピーがシステムの第一の使用可能な経路のセッ
トに記憶され、一方データファイルの第二のコピーが第
二の使用可能な経路のセットに鏡映された様式で記憶さ
れるように、冗長ファイルもストライプされていても良
い。ファイルシステムは、それが上述のようにエラー修
正コードを生成するのと同様の方式で、物理システムに
鏡映されたデータ入力/出力要求を生成する。
第8〜15図に関しては、局所セルのサイズは、10のブ
ロックを有するように示してある。明らかに、各局所セ
ルにおけるデータのエクステントをシステムの種々のパ
ラメーターと一致(match)するように合せるため、他
のデータファイルを構成することができる。例えば、デ
ィスクドライブを含むデータ記憶システムに関し、それ
らのディスクドライブのための最適の入力/出力転送サ
イズを指示する(indicating)パラメーターを使用して
局所セルのサイズを決定してもよい。例えば、与えられ
たディスクドライブが情報を最高速度で与えられたディ
スクのトラックのサイズと等しいサイズに転送すること
ができる場合には、ストライプされたデータファイル用
の局所セルのサイズをトラックと等しく設定することが
できる。与えられたディスクシステムにおける多数のト
ラックがデータのシリンダを形成し、入力/出力転送が
シリンダレベルに、より高速度で行われる場合には、局
所セルのサイズをディスク内のシリンダのサイズと等し
くすることができる。加えて、本発明により局所セルが
割当てられている他のパラメーターがサイズに影響を与
えることができる。例えば、アプリケーションプログラ
ムが、精巧な医用映像技術に用いられるデジタル画像等
の非常に大きなユニットのデータを処理(manipulate)
することができる。そのため、それらの画像の各々のた
めに要求されたデータの量に等しいサイズを有する局所
セルを、物理ディスクの特性と無関係に、割当てること
ができる。
局所セルのサイズに加え、使用されている経路の数で
あるその巾も、与えられたデータファイルのセルに関し
て、特定のシステムの要求により処理することのできる
パラメーターであるのがよい。コンピュータシステムの
使用できる経路の数は経時的に変化するので、例えば経
路が物理的にシステムに追加された時又はデータがシス
テムがいに転送されて存在する経路が解放される時、な
どに使用している経路の数を増加または減少させる。
X.ストライピングドライバの実行 第16〜26図は、ユニックスをベースにしたオペレーテ
ィングシステムUTSにおけるファイルシステムのデモン
ストレーションバージョンの実行を示すフローチャート
である。このデモンストレーションバージョンは、全て
の記憶装置がIBM−クラス3800ディスクデバイスであ
り、全ての入力/出力オペレーションが局所セルのシー
ケンスを含むセル全体をアクセスするシステムのために
作られたものである。これらの仮定は、このデモンスト
レーションバージョンの実行を単純化するためになされ
た。好ましいシステムでは、これらの仮定は除かれるで
あろう。
第16図は、外部記憶装置を用いたトランザクションの
要求によってブロック1301に呼出されたストライピング
戦略ルーチンを示す。この要求は、物理入力/出力要求
により又はバッファ管理プログラムにより生成されたバ
ッファヘッダーを含み、ファイル、その論理位置及びト
ランザクションのバイトの数を識別する。戦略ルーチン
は、ファイルシステムから受信した入力/出力オペレー
ションのパラメーターを検査する。それらのパラメータ
ーメーターに応答して、必要な追加のヘッダーがが加わ
ったこのオペレーション用の入力/出力ヘッダーは、エ
ラー修正ブロックが追加される場合には、検索される
(ブロック1302)。次いで、対象である論理入力/出力
を分割して得なければならない物理入力/出力オペレー
ション計算される(ブロック1303)。ユーザアイオロッ
ク(useriolock)と呼ばれるルーチンは、物理入力/出
力(I/O's)用のコアにバッファをロックし、記憶装置
(memory)の実ページのためのページリストを生成す
る。バッファされた入力/出力(I/O's)は、既にペー
ジリストを有している(ブロック1304)。ルーチンmake
_idawsはオペレーションのためのIDAWリストを生成する
ために呼出され、しかる後、各物理入力/出力用の割当
てられたバッファヘッダーのプールからバッファヘッダ
ーが獲得される(acquired)(ブロック1305)。バッフ
ァヘッダーは、互に連鎖され要求連鎖(request chai
n)を生成する(ブロック1306)。各物理入力/出力は
準備され(set up)、バッファヘッダー変数の正しい値
は、正しい(correct)IDAWポインタ及びBSTRIPフラッ
グ(ディスクドライバによって使用され、ストライプさ
れた入力/出力を識別する)を含む集合(set)である
(ブロック1307)。トランザクションが、バッファされ
ていない入力/出力の場合には、ページテーブルの入口
がセーブされ、ユーザのバッファを核アドレス空間にマ
ップする(ブロック1308)。書込が実行されると、gen_
eccルーチンが呼出され、ユーザによって要求されたあ
らゆるエラー修正を生成する(ブロック1309)。デバイ
ス戦略ルーチンが、物理入力/出力の要求により呼出さ
れる(ブロック1310)。もしstr−strat( )への入力
が連鎖であるとすると、ルーチンは、その連鎖における
次の要求を処理する(ブロック1311)。さもなければ、
ルーチンは終了する(ブロック1312)。
第17図は、BSTRIPEDが設定されると修正したUTS iodi
neルーチンによって呼出されて、ストライプされたバッ
ファヘッダー用の入力/出力の終了の信号を送るstr_io
dineルーチンである。UTS iodineルーチンは、ディスク
割込みルーチンから呼出され、入力/出力トランザクシ
ョンの終了の信号を送る。入力/出力の終了後、str_io
dineルーチンは、ブロック1400において、このバッファ
ヘッダーが属する入力/出力ヘッダーを見つけ、それの
懸案の入力/出力(I/O's)の数(count)を決定するこ
とにより始る。次いで、入力/出力にエラーがある場合
には、エラーマスクは入力/出力ヘッダーにセーブされ
る(ブロック1401)。このヘッダーのために更に多くの
入力/出力(I/O's)がある場合には、バッファヘッダ
ーはフリーリストに載せられ、ルーチンが戻る(ブロッ
ク1402)。更に多くの入力/出力(I/O's)がない場合
には、これが最後の論理入力/出力の構成要素のはずで
ある。そのため、xc_recoverルーチンが呼出され、全て
の必要なエラー回復を行い、復帰値(return value)を
準備(set up)する(ブロック1403)。次いで、userio
unlockルーチンが呼出され、ユーザバッファをアンロッ
クし、idoneを呼出して論理入力/出力オペレーション
の終了の信号を送る(ブロック1404)。最終的に、入力
/出力ヘッダーは、フリーリストに載せ戻され、ルーチ
ンが戻る(ブロック1405)。
第18図は、全ての必要なエラー回復を行う意図で呼出
され、バッファに復帰値を準備するxc_recoverルーチン
である。このルーチンは、故障した入力/出力(I/Os)
のためにエラー履歴マップが維持されているブロック15
00において開始する。読み取りが行われたなら、読み取
りに置けるいかなるエラーもこのマップから修正しなけ
ればならない。書込が行われると、過ったデータが識別
されるようにマップが更新される。ブロック1500のマッ
プにエラーが載らない場合には、ルーチンが戻る(ブロ
ック1501)。このデータファイルにエラー修正が実行さ
れない場合には、全てのエラーはプリントされバッファ
の復帰マスクに標識される(ブロック1502)。このスト
ライプされたファイルに単一エラー修正又は回転エラー
修正が実行されると、その後あらゆる修正可能なエラー
は、XORバッファからデータをコピーすることにより修
正され、しかる後セルの残りにXORを施して(XORing)
失われたデータを再生成するが、あらゆる修正不能なエ
ラーは復帰マスクに標識される(ブロック1503)。二重
エラー修正が実行されると、しかる後あらゆるエラーを
修正する意図でcorrect( )ルーチンが呼出される
(ブロック1504)最終的に、ルーチンは、オリジナルの
要求バッファに適当に設定された復帰マスク及びエラー
フラッグを備えて戻る(ブロック1505)。
第19図は、correct( )ルーチンである。このルー
チンは、検知されたエラーの数が1かどうかを決定する
ことにより開始する(ブロック1600)。エラーが一つで
あり、そのエラーがちょうど書込まれたばかりのデータ
のブロックに検知された場合は、ルーチンが戻る(ブロ
ック1601)。エラーが読み取りオペレーションの間に経
路に検知されると、しかる後過ったデータを反映してい
るパリティ経路が発見される(ブロック1602)。過った
データが、パリティ経路にある場合には、それは修正さ
れない。そうでない場合には、パリティデータは、エラ
ーを修正するのに使用される(ブロック1603)。最終的
に、良好に修正されたエラー表示が戻る(ブロック160
4)。ブロック1600における懸案のエラーの数が1を越
える場合には、もし他のエラーが修正されていないので
あれば、アルゴリズムは各懸案のエラーを検査してそれ
が修正できるかどうかを調べる(ブロック1605)。どの
エラーも修正されないとすると、ルーチンは、修正不能
エラー信号を返す(ブロック1606)。修正することので
きるエラーが発見されると、エラーは適当なパリティ経
路を使用して修正され、correct( )ルーチンは、再
帰的に呼出されて残りのエラーの修正を試みる(ブロッ
ク1607)。
第20図は、必要な管理機能のための制御を行うstr_io
ctlという名称のルーチンである。このルーチンは、目
下、構成データを設定し、獲得する能力のみを提供する
ものである。このルーチンは、指令が構成設定せよ(se
t configuration)を要求しているかどうかをそのルー
チンが決定するブロック1700において開始する。指令が
要求しているならば、アルゴリズムは、ユーザによって
供給された原型パラメーターを使用して物理デバイスの
部品からストライプされたデバイスを構成しようとす
る。次いで、ストライプされたデバイスが使用されてお
らず、ユーザが適正なパーミッションを有しているとす
ると、原型構成がコピーされる(ブロック1701)。次い
で、STR_checkルーチンが呼出されて構成の妥当性を検
査し、妥当な場合は、新しい構成がストライプされたデ
バイス内にコピーされる。そうでない場合は、古い構成
は取替えられない(ブロック1702)。指令が構成を獲得
せよ(get configuration)であるとすると、構成デー
タは模写される(ブロック1703)。最終的に、ルーチン
が戻る(ブロック1704)。
第21図は、ストライプされたデバイス用に生入力/出
力(I/O's)を準備するstr_physioルーチンである。こ
れは、physioバッファヘッダーを得て、それを入力/出
力要求のための値で満たすことにより作動する(ブロッ
ク1800)。次いで、str_stratルーチンが呼出され、ル
ーチンは、入力/出力が終了するのを待つ。しかる後、
バッファは解放され、ルーチンが戻る(ブロック180
1)。
第22図は、ユーザによってパラメトリックに(parame
trically)指定されるようなストライプされたファイル
に必要な、あらゆるエラー修正コード(ECC)を生成す
るgen_eccルーチンである。ユーザによってエラー修正
コードが指定されない場合には、ルーチンは戻る(ブロ
ック1900)。単一又は回転単一エラー修正コードがユー
ザによってパラメトリックに選定された場合は、ルーチ
ンは、gen_xclを呼出して修正ブロックを生成する(ブ
ロック1901)。二重エラー修正コードがユーザによって
選定された場合は、ルーチンは、gen_ecc2を呼出して修
正ブロックを生成する(ブロック1902)。
第23図は、1以上のセルについての単一エラー修正の
ためのパリティデータを生成するのに使用されるgen_xc
lルーチンを示す。ルーチンは、セルの数がゼロより大
きい間は、ブロック2000において開始する。ルーチン
は、第一の経路からデータをxcバッファ領域にコピーす
る(ブロック2001)。セルに残ってる局所セル(経路)
の数がゼロより大きい間は(ブロック2002)、ルーチン
ex_or( )が呼出されてデータからxcバッファへ排他
的論理和を行う(ブロック2003。データアドレスは増加
する(ブロック2004)。より多くの局所セル(経路)が
ある場合には(ブロック2005)、ルーチンはブロック20
02へループする。それ以上経路がない場合には、割込み
のための窓が開き(ブロック2006)、アルゴリズムがさ
らにセルが必要かどうかを決定して(ブロック2007)更
に多くいるのであればブロック2000へループする(ブロ
ック2008)。
第24図は、ある一つのデータから他の一つのデータま
で排他的論理和を行うex_arルーチンを示す。ブロック2
100では、XORルーチン用に残されているブロックの数が
ゼロより大きい間、ルーチンはXORへと分岐して4キロ
バイトのデータのブロックがxcバッファに入る(ブロッ
ク2101)。アドレスは増加してブロックの数は減少し
(ブロック2102)、ルーチンはブロック2100へループす
る。
第25図は、二重エラー修正のためのパリティ値を生成
するgen_ecc2ルーチンを示す。これは、ブロック2200に
おいてxorバッファ領域をクリアすることにより開始す
る。必要な局所セルは、利用されるハミングコードパタ
ーンによりXORを施される(XORed)。次いで、各パリテ
ィ経路用のアルゴリズムが繰返す(ブロック2202)。
第26図は、ファイルシステムにより生成されたページ
リストから、ストライプされな入力/出力用のIDAWリス
トを構築するmakeidawsという名称のルーチンである。
アルゴリズムはブロック2300においてオフセット及びペ
ージリストポインタを準備することにより開始する。適
正な種類のエラー修正に基づき、アルゴリズムは各経路
を介してループし、経路内の各ブロック用のIDAWを準備
してデータ及びパリティ値を仮想記憶装置からディスク
へマップする(ブロック2301)。
結論 本発明によるファイルシステムは、内部記憶装置の大
域的最適化、単一入力/出力トランザクションのために
並行して複数のアクセス経路を使用すること、及び物理
記憶機構(facilities)を効率高く割当てること、を提
供することができる。更に、このファイルシステムは、
データ処理システムのユーザにとっての連続作動及び高
度の耐故障性に対し最適化することができる。
本発明のファイルシステムは、可能な並行処理を利用
(exploit)するものである。加うるに、このファイル
システムは、利用可能なハードウェア及び操作要件(op
erational requirement)にファイル構造を合せるこ
と、及び現に実行しているタスクへアクセス方式を合せ
ることを可能にしている。
加えて、記憶域クラス概念を利用することにより、一
つのファイルシステムによって広範な種類のデータファ
イルが供給される。更に、この一つのファイルシステム
によって割当てられる記憶空間は広大である。
記憶域クラスは、種々の構造に合致するように定義す
ることができる。例えば、記憶域クラスは、記憶域クラ
スのサイズを物理媒体に合せて制限し、深度及び巾のパ
ラメーターを1に等しく設定することにより、ユニック
スファイル構造に合致できる。このことは、現在のユニ
ックスファイルシステム構造に反映する。これが重要な
ケースであるのは、説明した方法が少なくともできるだ
け速く行うことができるように使用することができ、し
かも現在のユニックスファイルシステムよりもスペース
を取らないということをそのケースが示しているからで
ある。
高速逐次処理を必要とする多くのアプリケーションが
ある。トラックやシリンダのサイズ等の装置の形態に影
響を与えるように深度を定義することにより、個々の装
置の速度をアプリケーションの特別な要求に合わすこと
ができる。アムダール6380クラスディスクシステムを使
用し、深度パラメーターDを60ブロック(1シリンダ)
に設定すると、1に等しい巾で1秒当り2メガバイトの
アクセスのためのデータ速度が達成できる。31に等しい
深度パラメーターを設定することにより、第16〜26図を
参照して説明したシステムを使用して1秒当り約70メガ
バイトのデータ速度が測定された。
操作可能な(operational)データベースは、ブロッ
クに含まれる小さな対象への効率の良いランダムなアク
セス、並びにバッチ処理、画像コピー及び回復の高逐次
速度を典型的に要求する。適正な記憶域クラスの定義を
使用することにより、逐次アクセスを要求された速さで
実行することができる。信頼性の要求は、適正なパラメ
ーターを通して満足させることができる。例えば、高ラ
ンダム更新速度はDUAL又はRExを要求するが、ランダム
更新速度はSPAR又はPARxを許容する。
CAD/CAM等の操作不能な(non−operational)データ
ベースは、例えば数メガバイトにわたる大きな対象を通
してしばしば特徴付けられている。数個のセルに平均的
な対象を含むことのできる記憶域クラスを使用すること
は、データアクセスの性能に有益である。
一つの好ましい記憶域クラスによれば、各処理すべき
ファイルのためのデジタルデータは、X個の経路(P1、
P2、...PX)にマップされるセル内にW個の局所セル(L
1、L2、...LW)のシーケンスに論理的に編成される。局
所セルをせるにマップする種々の方法が定義されてい
る。斯かるファイルの各々に周知のバッファ技術(大規
模バッファ、多数のバッファリング、トラック/シリン
ダのサイズに合致したバッファ、等)を用いて、各経路
に対して帯域巾を最大にする。エラー修正ブロックは、
装置全体の故障の場合には予備経路又は装置への、局所
的な故障の場合には予備ロケーションへの、失われたデ
ータの素速く自動的な回復を可能にする。そのため、こ
の方法は、単一エラー修正の実施態様に関して、第一の
故障の修復が終る前に第二の故障に直面する可能性と反
比例するような方式で、総合的なデータの信頼性及び使
用可能性を非常に大きく向上させる。
本発明の好ましい実施態様の上記の説明は、例証及び
説明の目的で示したものである。本発明を、余すところ
なく開示された形態と寸分違わないものに限定しようと
するものではない。明らかに、当業者にとって多くの修
正及び変形態様は自明であろう。それらの実施態様は、
本発明の原理及びその実用的な用途を最も良く解説する
ために選択し、説明されたものであり、それにより他の
当業者が種々の実施態様とともに特定の想定された用途
に適うような種々の修正態様に関して理解することがで
きる。本発明の範囲は、以下の請求の範囲及びそれらと
均等なものによって定義されなければならない。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 コールグローヴ ジョン アレン アメリカ合衆国 カリフォルニア州 94043 マウンテン ヴィュー 104 ノ ース レングストッフ アベニュー 111 (72)発明者 ウィルモット リチャード バイロン ザ セカンド アメリカ合衆国 カリフォルニア州 94549 ラファイエット ウィザース アベニュー 3130 (56)参考文献 特開 昭62−285150(JP,A) 特開 昭62−27821(JP,A) 特開 昭62−24481(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 12/00 514 G06F 12/08 G06F 3/06 301 G06F 11/10 330 G06F 11/16 310

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】データ処理システムの複数のユーザによる
    データファイルのデータへのアクセスを制御する装置で
    あって、前記データ処理システムが、内部記憶装置、デ
    ータファイルを記憶する外部記憶装置、内部記憶装置と
    外部記憶装置との間の複数のアクセス経路、及びファイ
    ルユーザインターフェースを含み、前記ファイルユーザ
    インターフェースにより複数のユーザがデータファイル
    へのアクセスを要求するものである装置において、前記
    装置が、 ファイルユーザインターフェース及び内部記憶装置に接
    続され、複数のユーザによりアクセスされる現在のデー
    タの一時記憶域のために内部記憶装置を割当て、内部記
    憶装置に記憶された古いデータから内部記憶装置の割当
    てを取り消し、割当てられた内部記憶装置に現在のデー
    タを転送し且つ割当てを取り消された内部記憶装置から
    外部記憶装置へ更新された古いデータを転送するために
    外部記憶装置へのアクセスの要求を生成する、ための第
    1の手段;及び 前記第1の手段及び外部記憶装置に接続され且つアクセ
    スの要求に応答し、複数のアクセス経路を介して内部記
    憶装置と外部記憶装置との間の転送を管理するための、
    第2の手段; を備えていることを特徴とする装置。
  2. 【請求項2】データ処理システムの複数のユーザによる
    データファイルのデータへのアクセスを制御する装置で
    あって、前記データ処理システムが、内部記憶装置、外
    部記憶装置、内部記憶装置と外部記憶装置との間の複数
    のアクセス経路、及びファイルユーザインターフェース
    を含み、前記ファイルユーザインターフェースにより複
    数のユーザがデータファイルへのアクセスを要求するも
    のであり、前記装置においてはアセクスのデータファイ
    ル主体を外部メモリ内のロケーションにマッピングする
    予め指定されたパラメーターにより特徴付けられる複数
    の物理記憶域クラスがあり、前記装置が、 ファイルユーザインターフェース及び内部記憶装置に接
    続され、複数のユーザによりアクセスされるデータファ
    イルの現在のデータの一時記憶域のために内部記憶装置
    を割当て、内部記憶装置に記憶された古いデータから内
    部記憶装置の割当てを取り消し、割当てられた内部記憶
    装置に現在のデータを転送し且つ割当てを取り消された
    内部記憶装置から外部記憶装置へ更新された古いデータ
    を転送するために外部記憶装置へのアクセスの要求を生
    成する、ための第1の手段; 第1の手段に接続され、複数のユーザに割当てられた内
    部記憶装置内のロケーションについてユーザにより依存
    性を指定するための手段であって、前記第1の手段が内
    部記憶装置を割当てる際及び割当てを取り消す際に指定
    された依存性に応答するものである手段; 論理アドレスを、各アクセスのデータ主体に割当てるた
    め、外部記憶装置を用いたアクセスの要求に応答する論
    理マッピング手段; 複数の記憶域クラスのうちの一つを識別するため、論理
    アドレスに応答する外部マッピング手段;及び 外部メモリ内の適正なロケーションを用いて複数のアク
    セス経路のサブセットを通してアクセスを実行するた
    め、識別された記憶域クラスに応答する手段、 を備えていることを特徴とする装置。
  3. 【請求項3】データ処理システムと通信していてデータ
    処理システムへの順次転送のためにデータファイルを記
    憶する装置であって、前記データファイルが複数の局所
    セルを含み、各局所セルが少なくとも一つのデータのブ
    ロックを含み、ブロックがデータ処理システムと前記装
    置との間の転送の基本単位である装置において、前記装
    置が: データの記憶のための複数の記憶手段;及び 複数の論理入出力経路Pnであって、nが1乃至Nに等し
    く、各経路は前記複数の記憶手段のサブセットとデータ
    処理システムに接続されているため、データの局所セル
    が、データ処理システムと複数の記憶手段の間でN本の
    経路を介して並列に伝送されることができる経路; を備えており、しかも前記装置においては、 前記データファイルの局所セルは、局所セルLCiであっ
    て、iが1乃至Xに等しい局所セルのシーケンスの前記
    複数の記憶手段内に記憶され、ここにおいて局所セルLC
    iは経路Pnに接続された記憶手段に記憶され、局所セルL
    Ci+1は経路Pn+k、ここでkは0とは等しくない、に接続
    された記憶手段に記憶されることを特徴する装置。
  4. 【請求項4】データ処理システムと通信していてデータ
    処理システムへの順次転送のためにデータファイルを記
    憶する装置であって、前記データファイルが複数の局所
    セルを含み、各局所セルがデータファイルへアクセスす
    るための単位としてデータ処理システムにより処理する
    ことのできる少なくとも一つのデータのブロックを含む
    装置において、前記装置が: データの記憶のための複数の記憶手段;及び 個数Wの論理入出力経路である経路1ないしWであっ
    て、各経路は前記複数の記憶手段のサブセットとデータ
    処理システムに接続されているため、データのブロック
    が、データ処理システムと前記複数の記憶手段の間でW
    本の経路を介して並列に伝送されることができる経路; を備えており、しかも前記装置においては、 前記データファイルは、X個の局所セルのシーケンスの
    前記複数の記憶手段内に記憶され、前記シーケンスにお
    ける局所セル1は経路1に接続された記憶手段に記憶さ
    れ、局所セル2は経路2に接続された記憶手段に記憶さ
    れ、局所セルWは経路Wに接続された記憶手段に記憶さ
    れ、局所セルW+1は経路1に接続された記憶手段に記
    憶され、局所セルW+2は経路2に接続された記憶手段
    に記憶され、局所セル2Wは経路Wに接続された記憶手段
    に記憶され、局所セルXが、経路(((X−1)mod
    W)+1)に接続された記憶手段に記憶されることを特
    徴とする装置。
  5. 【請求項5】データ処理システムと通信していてデータ
    処理システムへの順次転送のためにデータファイルを記
    憶する装置であって、前記データファイルが局所セルLC
    iであって、iが1乃至Xに等しい局所セルのシーケン
    スを含み、各局所セルがデータファイルへアクセスする
    ための単位としてデータ処理システムにより処理するこ
    とのできる少なくとも一つのデータのブロックを含む装
    置において、前記装置が: データの記憶のための複数の記憶手段; 複数の論理入出力経路Pnであって、nが1乃至Wに等し
    く、各経路は前記複数の記憶手段のサブセットとデータ
    処理システムに接続されているため、データのブロック
    が、データ処理システムと前記複数の記憶手段の間で複
    数の経路を介して並列に伝送されることができる経路;
    及び 前記複数の経路に接続され、局所セルLCiであって、i
    が1乃至Xに等しい局所セルのシーケンスを少なくとも
    一つの前記複数の記憶手段のサブセットに割当てて局所
    セルLCiが経路Pnに接続された記憶手段に記憶され、局
    所セルLCi+1が経路Pn+k、ここでkは0とは等しくな
    い、に接続された記憶手段に記憶されるようにするため
    の手段、 を備えていることを特徴とする装置。
  6. 【請求項6】データ処理システムと通信していてデータ
    処理システムへの順次転送のためにデータファイルを記
    憶する装置であって、前記データファイルが局所セルLC
    iであって、iが1乃至Xに等しい局所セルのシーケン
    スを含み、各局所セルがデータ処理システムを介して単
    位としてデータファイルのユーザによって処理されるこ
    とのできる少なくとも一つのデータのブロックを含む装
    置において、前記装置が: データの記憶のための複数の記憶手段; 複数の論理入出力経路Pnであって、nが1乃至Wに等し
    く、各経路は前記複数の記憶手段のサブセットとデータ
    処理システムに接続されているため、データのブロック
    が、データ処理システムと前記複数の記憶手段の間で複
    数の経路を介して並列に伝送されることができる経路; データのブロックを受信するよう前記複数の経路に接続
    され、E個の局所セルの各セットs用のエラー修正コー
    ドECCSを生成するための手段でり、ここでsは1かSへ
    進み、Sは次の高位の整数に丸められたX/Eに等しい手
    段;及び 前記複数の経路及び前記エラー修正コードECCSを生成す
    る手段に接続され、局所セルLCiであって、iが1乃至
    Xに等しい局所セルのシーケンス及びエラー修正コード
    ECCSであって、sが1乃至Sに等しいエラー修正コード
    を少なくとも一つの前記複数の記憶手段のサブセットに
    マッピングして、セットs内の全ての局所セル及びエラ
    ー修正コードECCSがセルを形成し、そのセルの局所セル
    がそれぞれ異なる経路に接続された記憶手段に記憶され
    るようにするための手段、 を備えていることを特徴とする装置。
  7. 【請求項7】データ処理システムと通信していてデータ
    処理システムへの順次転送のために複数のデータファイ
    ルを記憶する装置であって、各データファイルが局所セ
    ルLCiであって、iが1乃至Xに等しい局所セルのシー
    ケンスを含み、ここでXは各データファイルと連携する
    パラメーターであり、各局所セルがデータ処理システム
    を介して単位としてデータファイルのユーザによって処
    理されることのできる少なくとも一つのデータのブロッ
    クを含む装置において、前記装置が: データの記憶のための複数の記憶手段; 複数の論理入出力経路Pnであって、nが1乃至Nに等し
    く、各経路は前記複数の記憶手段のサブセットとデータ
    処理システムに接続されているため、データが、データ
    処理システムと前記複数の記憶手段の間で複数の経路を
    介して並列に伝送されることができる経路;及び 各データファイルのための局所セルLCiであって、iが
    1乃至Xに等しい局所セルのシーケンスを少なくとも一
    つの前記複数の記憶手段のサブセットにマッピングし
    て、与えられたデータファイルの局所セルLCiが経路Pn
    に接続された記憶手段に記憶され、前記与えられたデー
    タファイルの局所セルLCi+1が経路Pk、ここでkは0と
    は等しくない、に接続された記憶手段に記憶されるよう
    にするため、前記複数の経路と前記データ処理システム
    に接続され前記データ処理システムにより各データファ
    イルと連携するパラメーターに応答する手段、 を備えていることを特徴とする装置。
  8. 【請求項8】データ処理システムと通信していてデータ
    処理システムへの順次転送のために複数のデータファイ
    ルを記憶する装置であって、各データファイルが局所セ
    ルLCiであって、iが1乃至Xに等しい局所セルのシー
    ケンスを含み、ここでXは各データファイルと連携する
    パラメーターであり、N個の局所セルが1つのセルであ
    り、各局所セルが単位としてデータ処理システムを介し
    てデータファイルのユーザによって処理されることので
    きる少なくとも一つのデータのブロックを含む装置にお
    いて、前記装置が: データの記憶のための複数の記憶手段; 複数の論理入出力経路Pnであって、nが1乃至Nに等し
    く、各経路は前記複数の記憶手段のサブセットとデータ
    処理システムに接続されているため、データが、データ
    処理システムと前記複数の記憶手段との間で複数の経路
    を介して並列に伝送されることができる経路; データのブロックを受信するよう複数の経路とデータ処
    理システムに接続され、Z個の局所セルに記憶するため
    の、データのE個の局所セルのセットs用のエラー修正
    コードECCSを生成するための手段であり、ここでsは1
    からSへ進み、Sは次の高位の整数に丸められたX/Eに
    等しく、NはZ+Eに等しい手段;及び 局所セルLCiであって、iが1乃至Xに等しい局所セル
    のシーケンス及び各データファイル用のエラー修正コー
    ドECCSであって、sが1乃至Sに等しいエラー修正コー
    ドを前記複数の記憶手段のサブセットにマッピングし
    て、与えられたセット内のデータの全ての局所セル及び
    与えられたセット用のエラー修正コードの局所セルがW
    個の局所セルのセルに等しく、1つのセルの各局所セル
    が異なる経路に接続された記憶手段に記憶されるように
    するため、前記複数の経路とデータ処理システムに接続
    され、データ処理システムにより各データファイルと連
    携するパラメーターに応答する手段、 を備えていることを特徴とする装置。
JP1504828A 1988-04-22 1989-04-19 複数の記憶域クラス用のファイルシステム Expired - Lifetime JP2951676B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US185179 1980-09-08
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 JPH03505643A (ja) 1991-12-05
JP2951676B2 true 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 株式会社日立製作所 ディスクファイルシステム
AU630635B2 (en) * 1988-11-14 1992-11-05 Emc Corporation Arrayed disk drive system and method
US5148432A (en) * 1988-11-14 1992-09-15 Array Technology 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
US5233618A (en) * 1990-03-02 1993-08-03 Micro Technology, Inc. Data correcting applicable to redundant arrays of independent disks
US5195100A (en) * 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
US5212785A (en) * 1990-04-06 1993-05-18 Micro Technology, Inc. Apparatus and method for controlling data flow between a computer and memory devices
US5166939A (en) * 1990-03-02 1992-11-24 Micro Technology, Inc. Data storage apparatus and method
US5140592A (en) * 1990-03-02 1992-08-18 Sf2 Corporation Disk array system
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 ファイル再配置方法
EP0485110B1 (en) * 1990-11-09 1999-08-25 Emc Corporation Logical partitioning of a redundant array storage system
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
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
US5499337A (en) * 1991-09-27 1996-03-12 Emc Corporation Storage device array architecture with solid-state redundancy unit
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 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
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
ATE172038T1 (de) * 1992-06-05 1998-10-15 Compaq Computer Corp Plattenantriebsteuergerät mit nachschreibcachespeicher
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
EP1197836A3 (en) * 1993-06-03 2009-06-17 Network Appliance, Inc. A method for allocating files in a file system integrated with a raid disk sub-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
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
US5701429A (en) * 1994-06-20 1997-12-23 International Business Machines Corporation Method and system for maintaining concurrent data access during device upgrade
US5504882A (en) * 1994-06-20 1996-04-02 International Business Machines Corporation Fault tolerant data storage subsystem employing hierarchically arranged controllers
JPH0883232A (ja) * 1994-09-09 1996-03-26 Fujitsu Ltd ファイルサーバシステム
DE19540915A1 (de) * 1994-11-10 1996-05-15 Raymond Engineering Redundante Anordnung von Festkörper-Speicherbausteinen
US5491820A (en) * 1994-11-10 1996-02-13 At&T Corporation Distributed, intermittently connected, object-oriented database and management system
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
US5758149A (en) * 1995-03-17 1998-05-26 Unisys Corporation System for optimally processing a transaction and a query to the same database concurrently
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
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
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
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
US5657468A (en) * 1995-08-17 1997-08-12 Ambex Technologies, Inc. Method and apparatus for improving performance in a reduntant array of independent disks
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
US6185574B1 (en) 1996-11-27 2001-02-06 1Vision, Inc. Multiple display file directory and file navigation system for a personal computer
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
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
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
WO1999042934A2 (en) * 1998-02-20 1999-08-26 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
US6269375B1 (en) 1998-04-01 2001-07-31 International Business Machines Corporation Rebalancing partitioned data
US6125370A (en) * 1998-04-01 2000-09-26 International Business Machines Corporation Repartitioning 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
US6185638B1 (en) 1998-10-07 2001-02-06 International Business Machines Corporation Method and system for dynamically assigning addresses to an input/output device
US6167459A (en) * 1998-10-07 2000-12-26 International Business Machines Corporation System for reassigning alias addresses to an input/output device
US6170023B1 (en) 1998-10-07 2001-01-02 International Business Machines Corporation System for accessing an input/output device using multiple addresses
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
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
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
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
US6684231B1 (en) * 1999-11-29 2004-01-27 Microsoft Corporation Migration of friendly volumes
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
US6615219B1 (en) * 1999-12-29 2003-09-02 Unisys Corporation Database management system and method for databases having large objects
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
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
US6901481B2 (en) 2000-04-14 2005-05-31 Stratus Technologies Bermuda Ltd. Method and apparatus for storing transactional information in persistent memory
US6802022B1 (en) 2000-04-14 2004-10-05 Stratus Technologies Bermuda Ltd. Maintenance of consistent, redundant mass storage images
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
US7509322B2 (en) 2001-01-11 2009-03-24 F5 Networks, Inc. Aggregated lock management for locking aggregated files in a switched file system
US7383288B2 (en) * 2001-01-11 2008-06-03 Attune Systems, Inc. Metadata based file switch and 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
US8195760B2 (en) * 2001-01-11 2012-06-05 F5 Networks, Inc. File aggregation 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
JP2005502096A (ja) 2001-01-11 2005-01-20 ゼット−フォース コミュニケイションズ インコーポレイテッド ファイルスイッチ及び交換ファイルシステム
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
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
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
US7904797B2 (en) * 2003-01-21 2011-03-08 Microsoft Corporation Rapid media group annotation
US7509321B2 (en) * 2003-01-21 2009-03-24 Microsoft Corporation Selection bins for browsing, annotating, sorting, clustering, and filtering media objects
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
CN101566931B (zh) 2003-08-14 2011-05-18 克姆佩棱特科技公司 虚拟磁盘驱动系统和方法
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
US7437389B2 (en) * 2004-03-10 2008-10-14 Hitachi, Ltd. Remote copy system
US8032726B2 (en) * 2003-12-03 2011-10-04 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
US7334094B2 (en) 2004-04-30 2008-02-19 Network Appliance, Inc. Online clone volume splitting technique
US7430571B2 (en) 2004-04-30 2008-09-30 Network Appliance, Inc. Extension of write anywhere file layout write allocation
US7409494B2 (en) 2004-04-30 2008-08-05 Network Appliance, Inc. Extension of write anywhere file system layout
US7334095B1 (en) 2004-04-30 2008-02-19 Network Appliance, Inc. Writable clone of read-only volume
US7509329B1 (en) 2004-06-01 2009-03-24 Network Appliance, Inc. Technique for accelerating file deletion by preloading indirect blocks
US7519628B1 (en) 2004-06-01 2009-04-14 Network Appliance, Inc. Technique for accelerating log replay with partial cache flush
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
US8019842B1 (en) 2005-01-27 2011-09-13 Netapp, Inc. System and method for distributing enclosure services data to coordinate shared storage
US8180855B2 (en) 2005-01-27 2012-05-15 Netapp, Inc. Coordinated shared storage architecture
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
AU2006239882B2 (en) 2005-04-25 2009-10-29 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
WO2008147973A2 (en) * 2007-05-25 2008-12-04 Attune Systems, 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
US9195500B1 (en) 2010-02-09 2015-11-24 F5 Networks, Inc. Methods for seamless storage importing and devices thereof
US8204860B1 (en) 2010-02-09 2012-06-19 F5 Networks, Inc. Methods and systems for snapshot reconstitution
US9813529B2 (en) 2011-04-28 2017-11-07 Microsoft Technology Licensing, Llc Effective circuits in packet-switched networks
US8996611B2 (en) 2011-01-31 2015-03-31 Microsoft Technology Licensing, Llc Parallel serialization of request processing
US9454441B2 (en) 2010-04-19 2016-09-27 Microsoft Technology Licensing, Llc Data layout for recovery and durability
US8533299B2 (en) 2010-04-19 2013-09-10 Microsoft Corporation Locator table and client library for datacenters
US8447833B2 (en) 2010-04-19 2013-05-21 Microsoft Corporation Reading and writing during cluster growth phase
US9170892B2 (en) 2010-04-19 2015-10-27 Microsoft Technology Licensing, Llc Server failure recovery
US8438244B2 (en) * 2010-04-19 2013-05-07 Microsoft Corporation Bandwidth-proportioned datacenters
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
WO1984001451A1 (en) * 1982-10-06 1984-04-12 Peter N Yianilos 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
US4713753A (en) * 1985-02-21 1987-12-15 Honeywell Inc. Secure data processing system architecture with format control
JPS61193266A (ja) * 1985-02-21 1986-08-27 Hitachi Ltd 情報検索システム
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
US5553285A (en) 1996-09-03
KR0130008B1 (ko) 1998-04-15
EP0414729A4 (en) 1993-01-13
EP0414729B1 (en) 1998-01-14
ATE162319T1 (de) 1998-01-15
NZ228861A (en) 1995-12-21
EP0414729A1 (en) 1991-03-06
AU645814B2 (en) 1994-01-27
HK1008446A1 (en) 1999-05-07
AU3448389A (en) 1989-11-24
KR900700960A (ko) 1990-08-17
CA1321845C (en) 1993-08-31
WO1989010594A1 (en) 1989-11-02
DE68928546T2 (de) 1998-07-23
US4993030A (en) 1991-02-12
AU614611B2 (en) 1991-09-05
JPH03505643A (ja) 1991-12-05
AU7935991A (en) 1991-10-03
DE68928546D1 (de) 1998-02-19
ES2013462A6 (es) 1990-05-01

Similar Documents

Publication Publication Date Title
JP2951676B2 (ja) 複数の記憶域クラス用のファイルシステム
US5375128A (en) Fast updating of DASD arrays using selective shadow writing of parity and data blocks, tracks, or cylinders
US6112255A (en) Method and means for managing disk drive level logic and buffer modified access paths for enhanced raid array data rebuild and write update operations
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
US9104342B2 (en) Two stage checksummed raid storage model
US6985995B2 (en) Data file migration from a mirrored RAID to a non-mirrored XOR-based RAID without rewriting the data
JP2959901B2 (ja) 記憶装置の冗長アレイおよびオンライン再構成方法
US5574882A (en) System and method for identifying inconsistent parity in an array of storage
US6567889B1 (en) Apparatus and method to provide virtual solid state disk in cache memory in a storage controller
US6092215A (en) System and method for reconstructing data in a storage array system
US5617530A (en) Storage device array architecture with copyback cache
US6704837B2 (en) Method and apparatus for increasing RAID write performance by maintaining a full track write counter
US9032246B2 (en) Redundant file storage system with parity information
JP2016534471A (ja) シェアード・ナッシング分散型ストレージ・システムにおけるターゲットにより駆動される独立したデータの完全性および冗長性のリカバリ
EP1535154A1 (en) Using file system information in raid data reconstruction and migration
US20050193273A1 (en) Method, apparatus and program storage device that provide virtual space to handle storage device failures in a storage system
JPH0358145A (ja) Smsのマツプ管理方法
GB2343265A (en) Data storage array rebuild
US7281188B1 (en) Method and system for detecting and correcting data errors using data permutations
KR19980047273A (ko) 레이드 레벨 5 시스템에서 캐쉬 관리 방법
AU614611C (en) A file system for a plurality of storage classes
JP7137612B2 (ja) 分散型ストレージシステム、データ復旧方法、及びデータ処理プログラム
NZ241740A (en) Cellular data file storage and management
AREA Qiang Li, Edward Hong, and Alex Tsukerman
Avresky et al. Fault-Tolerance Issues of Local Area Multiprocessor (LAMP) Storage Subsystem

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