JPH0675708A - アレイ型記録装置 - Google Patents

アレイ型記録装置

Info

Publication number
JPH0675708A
JPH0675708A JP4226976A JP22697692A JPH0675708A JP H0675708 A JPH0675708 A JP H0675708A JP 4226976 A JP4226976 A JP 4226976A JP 22697692 A JP22697692 A JP 22697692A JP H0675708 A JPH0675708 A JP H0675708A
Authority
JP
Japan
Prior art keywords
data
recording
disk
recorded
area
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
JP4226976A
Other languages
English (en)
Other versions
JP3183719B2 (ja
Inventor
Hiroshi Baba
宏 馬場
Toshio Matsumoto
利夫 松本
Kazuhiko Ito
一彦 伊藤
Shiro Ogura
史郎 小倉
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP22697692A priority Critical patent/JP3183719B2/ja
Priority to US08/110,423 priority patent/US5517632A/en
Priority to DE69321901T priority patent/DE69321901T2/de
Priority to EP98250106A priority patent/EP0874312A3/en
Priority to EP98250105A priority patent/EP0871120A3/en
Priority to EP98250108A priority patent/EP0871121A3/en
Priority to EP98250109A priority patent/EP0869436A3/en
Priority to EP93113563A priority patent/EP0584804B1/en
Priority to EP98250107A priority patent/EP0874313A3/en
Publication of JPH0675708A publication Critical patent/JPH0675708A/ja
Priority to US08/582,875 priority patent/US5644697A/en
Priority to US08/582,947 priority patent/US5701407A/en
Priority to US08/582,874 priority patent/US5701406A/en
Priority to US08/582,872 priority patent/US5737745A/en
Application granted granted Critical
Publication of JP3183719B2 publication Critical patent/JP3183719B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B20/1252Formatting, e.g. arrangement of data block or words on the record carriers on discs for discontinuous data, e.g. digital information signals, computer programme data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1803Error detection or correction; Testing, e.g. of drop-outs by redundancy in data representation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/002Programmed access in sequence to a plurality of record carriers or indexed parts, e.g. tracks, thereof, e.g. for editing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/11Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1019Fast writes, i.e. signaling the host that a write is done before data is written to disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1033Inactive data in parity groups, i.e. RAID parity groups where parity is calculated on only occupied or busy bits in the stripe
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1054Parity-fast hardware, i.e. dedicated fast hardware for RAID systems with parity
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers
    • G11B2220/41Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
    • G11B2220/415Redundant array of inexpensive disks [RAID] systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media
    • G11B2220/65Solid state media wherein solid state memory is used for storing indexing information or metadata

Abstract

(57)【要約】 【構成】 ディスクD1,D2,D3のデータブロック
の使用状況を使用状態テーブル30に保持し、この使用
状態テーブル30を参照することにより記録更新しよう
とするデータブロックがすでに使用済みであるかあるい
は未使用であるかによって,冗長データの作成方式を異
にする。使用していないデータブロックの場合にはその
データブロックの読み込みを省略して冗長データを作成
し、すでに使用されているデータブロックに書き込みを
行う場合には、その使用されているデータブロックの読
み込みを行ってから冗長データを作成する。 【効果】 使用していないデータブロックの読み込みを
省略することができるので、データの記録性能が向上す
る。また、代替処理をする場合には使用状態テーブルに
より未使用の部分を代替処理から削除することにより代
替処理が高速になる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はコンピュータの記憶シ
ステムであるアレイ型記録装置に関するものであり、例
えば、複数のディスク装置をアレイ状に配したディスク
駆動システムの性能及び信頼性の改善に関する。
【0002】
【従来の技術】複数のディスク装置をアレイ状に構成し
たディスクシステムについては各種の文献、特許が発表
されている。これらの文献のなかで、カリフォルニア大
学バークレー校から大容量化する記憶データの信頼性を
飛躍的に改善する方式についての発表がある。この論
文、”A Case for Redundant A
rrays of Inexpensive Disk
s(RAID)”,Proc,ACM SIGMOD
Conf.,Chicago,IL,June 198
8ではデータの信頼性を改善する方式について従来のミ
ラーディスク方式からブロックインタリーブパリティ方
式まで5つのレベルに分類している。それぞれの概略を
以下に示す。
【0003】RAIDレベル1 通常のミラー(シャドー)方式であり、同一のデータを
2つのグループのディスク装置に記憶する。RAIDレ
ベル1のシステムは高信頼性が要求されるシステムでは
従来から一般的である。ただし、冗長度が大きいために
容量当たりコストが高価となる。
【0004】RAIDレベル2 DRAMで使われているハミングコード形式を適用した
もので、冗長グループのデータディスクにビットインタ
リーブして記憶する。一方、1ビットエラー修正可能と
するため、グループ(1グループ10〜25台程度の構
成)当たり複数台のチェックディスク(データディスク
数10台の時、チェックディスク数は4台必要)にEC
Cコードを書く。冗長度がやや大きい。
【0005】RAIDレベル3 パリティディスクを固定で使用し、データをグループ中
のデータディスクにバイトインタリーブして記録する。
エラー位置はドライブごとのECCから判るのでパリテ
ィディスクは1台ですむ。スピンドルを回転同期させ高
速度転送するのに適している。
【0006】RAIDレベル4 パリティディスクを固定で使用し、データをグループ中
のデータディスクにブロックインタリーブして記録す
る。レベル3との違いはインタリーブ単位が異なり、ブ
ロック単位で記録するため小量データのアクセスが多い
場合により向いている。
【0007】RAIDレベル5 レベル3や4と違って固定のパリティディスクを持た
ず、パリティデータは構成するディスクに分散記録(ス
トライピング)する。このため、WRITE時にパリテ
ィディスクへの負荷集中といったことが起きず、IOP
Sが増加する(WRITEの比率が多いほどRAIDレ
ベル4より有利となる)。使用時性能も容量効率もとも
に良い。
【0008】冗長性を持ったアレイ型ディスク駆動装置
の従来の例としては、特開平2−236714号公報に
開示された米国のアレイ テクノロジー コーポレーシ
ョンによる「アレイ型ディスク駆動機構のシステム及び
方法」がある。アレイ テクノロジー コーポレーショ
ンの例では、冗長レベル及びホストコンピュータからみ
た構成ディスク装置の論理台数を選択可能としている。
【0009】またパリティデータの分散記録(ストライ
ピング)については、特開昭62−293355号公報
の、米国のインターナショナル・ビジネス・マシーンズ
・コーポレーションの「データ保護機構」にその方法が
示されている。
【0010】図20は例えば上記特開平2−23671
4号公報に示された従来のアレイ型ディスク駆動装置を
示す構成図であり、図において、1はホストコンピュー
タ、2はホストコンピュータとアレイコントローラ間の
バッファとなるホストインターフェース(以下、ホスト
I/Fという)、3はアレイコントローラ全体を制御す
るマイクロプロセッサ、4はメモリ、5は冗長データを
生成及びデータの復元をするEORエンジン、6は上記
ホストI/F2、マイクロプロセッサ3、メモリ4及び
EORエンジン5を共通に接続するデータバス、7はC
Eパネル、8はチャネルコントローラで、CEパネル7
及び複数のチャネルコントローラ8も上記データバス6
に接続されている。9はディスク装置、10はチャネル
で、ディスク装置9がチャネル10を介して上記チャネ
ルコントローラ8に接続される。11はスタンバイディ
スク、12は予備チャネルで、複数台のスタンバイディ
スク11が共通の予備チャネル12を介して上記チャネ
ルコントローラ8に接続される。13は複数台のディス
ク装置9及びスタンバイディスク1を制御するアレイコ
ントローラである。
【0011】図21はRAIDの冗長データの生成に関
する説明をする図である。図21に示すように5台のデ
ィスクの内1台のディスクのデータは他の4台のディス
クのデータの冗長データ(パリティ)を記憶するように
なっている。パリティは4台のディスクのデータのエク
スクルーシブOR(XOR)の演算によって計算され
る。即ちパリティディスクPのパリティデータはディス
ク0とディスク1とディスク2とディスク3のデータの
XORをとったものである。このようなパリティを冗長
データとして持つことにより例えばディスク0のデータ
が何らかの障害により読めない場合にはディスク1とデ
ィスク2とディスク3とパリティディスクPのデータの
エクスクルーシブOR(XOR)をとったデータがディ
スク0のデータとして復元することが可能になる。な
お、パリティの計算は前述したように4台のディスクの
データのXORをとることにより生成できるが、別な方
法としてデータを書き込もうとするディスクの古いデー
タと現在パリティディスクに記録されている現在のパリ
ティデータをリードして新しいデータと古いデータと現
在のパリティデータの3つのデータのXORを計算して
新しいパリティデータとする場合もある。その方法を図
22を用いて説明する。例えばディスク2に対して新し
いデータDN(2)を記録しようとする場合には、先ず
古いデータをディスク2からDO(2)として読み込。
む同時にパリティディスクから現在のパリティデータを
DO(P)をリードしてくる。そして、DN(2)とD
O(2)とDO(P)の3つのデータのXORを計算し
て新しいパリティデータDN(P)とする。そして新し
いデータDN(2)をディスク2に記録する。最後に新
しいパリティデータDN(P)をパリティディスクに記
録する。
【0012】次に図23を用いて従来のRAIDの初期
化状態について説明する。前述したようにパリティディ
スクのパリティは他の4台のディスクのデータのXOR
の計算により求めることができるが、ディスクを初期化
する場合には、冗長グループ内の全データディスクの同
一ブロックのデータをもとにパリティディスクの同じブ
ロックにパリティデータを作成していた。即ち図23に
示すようにディスク0からディスク3までをオール0で
初期化した場合にはパリティディスクのパリティデータ
も全て0になる。この初期化処理はこのディスクシステ
ムを使用する前に行われる必要がある。このようにパリ
ティディスクには予め無条件にパリティデータを全領域
書き込むため、ディスクが故障した場合これを代替ディ
スクに代替する作業においては、例えば格納したデータ
量がわずかな量であっても全ディスクの全領域からデー
タを呼んでデータを修復し、これを代替ディスクの全領
域に書き込む必要があり、代替作業及び修復作業に時間
がかかってしまっていた。
【0013】次に図20に示したシステムの動作につい
て説明する。図20において、ホストコンピュータ1と
のデータの記憶再生はすべてホストI/F2を介して成
され、データの記憶時にはホストコンピュータ1からの
命令及びデータは一旦データバス6を介してメモリ4に
記憶される。データの再生時にはメモリ4に準備された
データがホストI/F2を介してホストコンピュータ1
に伝送される。以下RAIDレベル5における動作につ
いて、図20、図24を用いて説明する。データの記憶
時にメモリ4に記憶されたデータをマイクロプロセッサ
3がデータブロックに分割し、データ書き込みディスク
装置及び冗長データ書き込みディスク装置を決定する。
RAIDレベル5では、冗長データの更新のために書き
込みに該当するデータブロックの旧データが必要なた
め、書き込みに先立ち、読みだし動作が実施される。デ
ータの転送はメモリ4、チャネル8間をデータバス6を
介して行われ、上記データ転送に同期してEORエンジ
ン5にて冗長データが生成される。
【0014】例えば、図24に示すように1024バイ
トのデータ書き込みでは、データブロックが512バイ
トで設定されていたとすると、上記1024バイトのデ
ータはD11とD21の2ブロックに分割して記録され
るとともに、パリティデータP1が記録される。このよ
うな記録状態をストライピングと言う。これを、次に、
順を追って説明する。まず、図20に示す、書き込みデ
ータディスク装置9a,9b及び冗長データディスク装
置9eが決定される。次にマイクロプロセッサ3の制御
によりEORエンジン5が起動され、データディスク装
置9a,9b及び冗長データディスク装置9eが接続さ
れたチャネルコントローラ8a,8b,8eに対し、冗
長データ計算のための旧データの読みだし指令がなされ
る。上記データディスク装置9a,9b及び冗長データ
ディスク装置9eの旧データの読みだしが完了後、マイ
クロプロセッサ3の指示により、データディスク装置9
a,9bに対する新データの書き込み、及び冗長ディス
ク装置9eに対するEORエンジン5で生成された更新
冗長データの書き込みが実施される。以上によりホスト
コンピュータ1に対しデータの書き込み完了が報告され
る。上記のとおりデータの書き込み時には、冗長データ
生成のために旧データの先読みだしが必要となるため、
処理時間が長くなる。
【0015】また、図24に示したように1つのデータ
が複数のディスクにわたって分割されて記録される場合
には、そのデータをアクセスするのに複数のディスクに
アクセスする必要があり性能が劣化する。
【0016】次に、データ読みだしについて説明する。
ホストコンピュータ1からデータ読みだしが指令される
と、マイクロプロセッサ3により該当データが記憶され
ているデータブロック及びデータディスク装置が計算さ
れる。例えばディスク装置9cに該当データが記憶され
ていると、ディスク装置9cが接続されたチャネルコン
トローラ8cに読みだし指令が発行される。ディスク装
置9cのデータ読みだしが完了すると、データはメモリ
4に転送され、ホストコンピュータ1に対しデータの読
みだし完了が報告される。
【0017】次に異常発生時のデータ修復及びスタンバ
イディスクへのデータ再構築について説明する。データ
修復は、例えば上記説明のディスク装置9cのデータ読
みだしが不可能となった場合に実施される。ディスク装
置9cのデータ読みだしが不可能となった場合、マイク
ロプロセッサ3により読みだし該当データブロックを含
む冗長グループのディスク装置全てからのデータ読みだ
しが実施され、EORエンジン5により読みだし不能と
なった該当データブロックのデータが復元される。
【0018】例えば、冗長グループがディスク装置9
a,9b,9c,9eで構成されるとすると、ディスク
装置9a,9b,9eからデータブロックが読み出さ
れ、EORエンジン5によりディスク装置9cのデータ
が復元され、データはメモリ4に転送され、ホストコン
ピュータ1に対しデータの読みだし完了が報告される。
上記のとおり、ディスク装置に異常が発生して、データ
読みだしが不可能となってもデータの修復が可能とな
り、データの信頼性を向上している。
【0019】データの再構築は、例えば上記説明のよう
に、ディスク装置9cが使用不能となった場合に実施さ
れる。この場合マイクロプロセッサ3によりディスク装
置9cに記憶されたデータを含む冗長グループのディス
ク装置全てからのデータ読みだしが実施されEORエン
ジン5によりディスク装置9cのデータが復元され、復
元されたデータはスタンバイディスク上に再構築され
る。例えば冗長グループがディスク装置9a,9b,9
c,9eで構成されるとすると、ディスク装置9a,9
b,9eからデータが読みだされ、EORエンジン5に
よりディスク装置9cのデータが復元され、復元された
データはスタンバイディスク11f上に書き込まれ、デ
ィスク装置9cのデータがスタンバイディスク11f上
に再構築される。以上により使用不能ディスク装置9c
がスタンバイディスク11f上で代替される。この代替
処理はシステム稼働中に実施されるため代替処理中はシ
ステムの性能が劣化する。
【0020】
【発明が解決しようとする課題】従来のアレイ型ディス
ク駆動装置は以上のとおり構成されているので、通常動
作においてもデータ書き込み時には冗長データ生成のた
めにデータの先読みだしが必要となり処理時間が遅くな
る等の問題があった。また、ディスク装置代替処理で、
代替スタンバイディスクに代替が発生すると、さらにシ
ステムの性能を劣化させる等の問題があった。
【0021】この発明は上記のような問題点を解消する
ためになされたもので、データ書き込み時の処理時間を
改善したアレイ型記録装置を得ることを目的としてい
る。
【0022】
【課題を解決するための手段】第1の発明に係るアレイ
型記録装置は、従来のアレイ型記録装置がデータブロッ
クを例えば512バイトの均一のサイズで設定していた
ものに対して512バイトや1kバイトや2kバイトな
どの異なるサイズのデータブロックを準備し、データを
記録するときにそのデータのサイズにより適当なサイズ
のデータブロックを選択するようにしたものであり、以
下の要素を有するものである。 (a)データを記録する複数の記録媒体、(b)上記記
録媒体の記録領域をサイズの異なる複数種類の領域に分
割する分割手段、(c)上記記録媒体へデータを記録す
る場合に、上記分割手段により分割された領域の中から
そのデータが記録される領域の数が少なくなるように領
域を選択する選択手段、(d)上記選択手段により選択
した領域にデータを記録する記録手段。
【0023】第2の発明に係るアレイ型記録装置は、従
来のアレイ型記録装置と同様にデータを記録するブロッ
クサイズは均一のサイズを用いるが、ひとつのディスク
の連続するデータブロックをまとめて用いるようにした
ものであり、以下の要素を有するものである。 (a)データを記録する複数の記録媒体、(b)上記記
録媒体の記録領域を所定サイズの領域に分割する分割手
段、(c)上記分割手段により分割された複数の領域に
データを記録する場合、ひとつの記録媒体の複数の領域
に連続してデータを記録する記録手段。
【0024】第3の発明に係るアレイ型記録装置は、デ
ータブロックが使用されているかいないかを管理するこ
とにより、使用されているデータブロックのデータを用
いて冗長データを生成するようにしたものであり、以下
の要素を有するものである。 (a)データを記録する複数の記録媒体、(b)上記記
録媒体にデータを記録する記録手段、(c)上記記録媒
体のデータ記録領域を所定サイズの領域に分割し、各領
域の使用状態を記憶する使用状態記憶部、(d)上記記
録手段により記録媒体へデータを記録する場合に、上記
使用状態記憶部に記憶された使用状態に基づいて、冗長
データを生成して記録する冗長データ記録手段。
【0025】第4の発明に係るアレイ型記録装置は、従
来のアレイ型記録装置において、代替する場合には、デ
ィスク全体を代替しなければならなかったのに対して、
使用している領域のみを代替するようにしたものであ
り、以下の要素を有するものである。 (a)データを記録する複数の記録媒体、(b)上記記
録媒体のいずれかを代替するための代替媒体、(c)上
記記録媒体のデータ記録領域を所定サイズの領域に分割
し、各領域の使用状態を記憶する使用状態記憶部、
(d)上記記録媒体のいずれかに代替の必要が生じた場
合に、上記使用状態記憶部に記憶された使用状態に基づ
いて、上記記録媒体のデータを上記代替媒体に代替する
代替手段。
【0026】第5の発明に係るアレイ型記録装置は、ア
レイ型記録装置を利用するオペレーティングシステムの
記録媒体に記録されるボリュームラベルやディレクトリ
やファイルフォーマット等のデータ構成パターンをあら
かじめ記憶しておき、代替時に、そのデータ構成パター
ンを参照しながらボリュームラベルやディレクトリやフ
ァイルを順に修復を行うものであり、以下の要素を有す
るものである。 (a)データを記録する複数の記録媒体、(b)上記記
録媒体のいずれかを代替するための代替媒体、(c)上
記記録媒体に記録されるデータの構成パターンを記憶す
る構成パターン記憶部、(d)上記記録媒体のいずれか
に代替の必要が生じた場合に、上記構成パターン記憶部
に記憶された構成パターンに基づいて、上記記録媒体の
データを上記代替手段に代替する代替手段。
【0027】第6の発明に係るアレイ型記録装置は、デ
ータを記録する場合に、従来のアレイ型記録装置がデー
タの記録と冗長データの記録の両方が終了してから記録
完了としていたのに対して、データの記録により記録完
了とし、冗長データの記録をバックグラウンドで実行す
るようにしたものであり、以下の要素を有するものであ
る。 (a)データを記録する複数の記録媒体、(b)上記記
録媒体に記録されるデータの冗長データを記録する冗長
媒体、(c)上記記録媒体にデータを記録する場合に、
記録媒体への書き込み終了により記録完了とし、その後
書き込んだデータと他の記録媒体に記録されたデータか
ら冗長データを生成して冗長媒体に記録する記録手段。
【0028】第7の発明に係るアレイ型記録装置は、冗
長データを記録する冗長媒体に対して、その冗長媒体と
同一の冗長データを記録するDRAMやフラッシュメモ
リなどの半導体記録媒体を備えたものであり、以下の要
素を有するものである。 (a)データを記録する記録媒体、(b)上記記録装置
に記録されるデータの冗長データを記録する冗長媒体、
(c)上記冗長媒体と同一のデータを記録する半導体記
録媒体。
【0029】第8の発明に係るアレイ型記録装置は、冗
長データを記録する冗長媒体にDRAMやフラッシュメ
モリなどで構成された半導体記録媒体を用いるようにし
たものであり、以下の要素を有するものである。 (a)データを記録する記録媒体、(b)上記記録媒体
に記録されるデータの冗長データを記録する半導体記録
媒体。
【0030】
【作用】第1の発明におけるアレイ型記録装置において
は、分割手段が記録媒体の記録領域をサイズの異なる複
数種類の領域に分割する。選択手段は記録しようとする
データのサイズと分割手段により分割された複数種類の
サイズを比較し、記録しようとするデータのサイズがお
さまるような領域を選択する。記録手段は選択手段によ
り選択した領域に対してデータを記録する。このように
選択手段が、データを記録する記録媒体の数が少なくな
るような領域を選択するためにデータが複数の記録媒体
にまたがって記録されるということがなくなる。データ
が複数の記録媒体にまたがって記録されないということ
はデータをアクセスする場合にひとつの記録媒体のみに
アクセスすることになり、他の記録媒体が他のサービス
のために用いられることを意味し、アクセス効率が向上
する。
【0031】第2の発明におけるアレイ型記録装置にお
いては、分割手段が記録媒体の記録領域を所定のサイズ
の領域に分割する。記録手段は記録しようとするデータ
のサイズにより分割手段の分割した所定のサイズの領域
を複数まとめて使用する。従ってデータはひとつの記録
媒体に連続して記録されることになり記録媒体をまたが
って記録されることがなくなる。このようにデータがひ
とつの物理的な記録媒体に連続して記録されることによ
り複数のディスクに対してアクセスする必要がなくなる
と共に、他のディスクが他のサービスに用いられること
によりアクセス効率が向上する。
【0032】第3の発明におけるアレイ型記録装置にお
いては、使用状態記憶部が記録媒体の領域(データブロ
ック)の使用状態を記憶することにより、冗長データ記
録手段が、冗長データを計算するために必要な読み込み
を行う各記録媒体がすでに記録済みかどうかを判断する
ことが可能になる。冗長データ記録手段は使用状態記憶
部に記憶された使用状態を判断することよりすでに使用
されている領域のデータを読み込み、使用されていない
領域の読み込みは行わない。そして読み込んだデータと
これから記録するデータから新しい冗長データを生成し
て冗長データを記録する。このように冗長データ記録手
段は使用していない領域のデータの読み込みを行わない
ために従来に比べてリードの数が減少し、冗長データの
生成が高速化される。
【0033】第4の発明におけるアレイ型記録装置にお
いては、使用状態記憶部が記録媒体の使用した領域を記
録することにより、代替手段がこの使用状態記憶部の各
領域の使用状態に基づいて代替を行うことができる。即
ち、使用されている領域のみを代替し、使用されていな
い領域は代替しない。このように使用している領域のみ
を代替することにより代替処理が高速化する。
【0034】第5の発明におけるアレイ型記録装置にお
いては、構成パターン記憶部が記録媒体を使用するオペ
レーティングシステムのボリュームラベルやディレクト
リやファイルフォーマット等のデータ構成パターンを記
憶することにより、代替手段がこのボリュームラベルや
ディレクトリやファイルフォーマット等のデータ構成パ
ターンに基づいて代替を行うことができる。即ち、デー
タ構成パターンをたどることにより、ディレクトリやフ
ァイルを順次修復することができる。このように、デー
タ構成パターンをたどりながら順にデータを修復するこ
とにより、データが使用している領域のみを代替するこ
とになり、代替処理が高速化する。
【0035】第6の発明におけるアレイ型記録装置にお
いては、記録データと冗長データをそれぞれ記録媒体と
冗長媒体に記録する際に、データを記録媒体へ書き込ん
だ時点で記録を完了した旨をホストマシーン等の上位装
置に報告し、その後、冗長データを冗長媒体にバックグ
ラウンド処理として計算し書き込むようにするため、上
位装置は冗長データを記録する時間を待つことなく次の
処理に移ることができる。
【0036】第7の発明におけるアレイ型記録装置にお
いては、冗長データを記録する冗長媒体をミラー化する
ための半導体記録媒体を設けたものであり、半導体記録
媒体がDRAMやフラッシュメモリ等の高速アクセスが
可能な媒体で構成されていることにより、半導体記録媒
体への冗長データの記録により冗長データのアクセスを
高速に実行することができ、冗長媒体へのデータのアク
セス結果を待つことなく、データのアクセスが可能にな
る。
【0037】第8の発明におけるアレイ型記録装置にお
いては、半導体記録媒体により冗長データを記録するよ
うにしたことにより、冗長データのアクセスが高速に行
われる。
【0038】
【実施例】
実施例1.第1の発明に係るアレイ型記録装置の一実施
例を図1に基づいて説明する。図において、20はデー
タブロックのサイズを記録しておくための領域テーブル
である。その他の1〜13は従来例で説明したものと同
一あるいは相当部分を示しており、ここでは説明を省略
する。ただし、メモリ4には、ホストコンピュータ1か
らホストインターフェース2を経由してディスク装置に
書き込もうとしているデータが一時記録されると共に、
そのデータのサイズから領域テーブルに登録されたデー
タブロックのサイズを参照して、記録しようとしている
データがおさまるようなサイズのデータブロックを選択
する選択ルーチンが記録されているものとする。この選
択ルーチンはMPU3によって実行される。
【0039】次に、図2を用いてこの実施例の動作につ
いて説明する。図において、20は領域テーブルであ
る。領域テーブルの中には例えば512バイトのサイズ
を持つ領域がブロック1から6までであることが記録さ
れており、また1kバイトのサイズを持つ領域がブロッ
ク7から10まであり、さらに2kバイトの領域がブロ
ック11から12まであるということが記録されてい
る。またそれぞれの領域からは実際のディスクの領域を
ポイントするためのアドレスが記入されている。
【0040】また、図においてD1,D2,D3,D4
はデータあるいは冗長データを記録するための4つのデ
ィスクをそれぞれ示しており、各ブロック1から12は
データブロックを示している。前述したようにブロック
1から6はそれぞれのディスクにおいて512バイトの
ブロックサイズを有している。またブロック7から10
は1kバイトのサイズを有している。さらにブロック1
1から12は2kバイトのブロックサイズを有してい
る。
【0041】このようにディスクの領域がサイズの異な
る領域に分割されているような状態で、例えば256バ
イトのデータD11を記録しようとした場合に、マイク
ロプロセッサ3はこの領域テーブル20を参照し、25
6バイトのデータは512バイト領域に記録できること
を判定する。従って256バイトのD11というデータ
は、例えばディスクD1のブロック1に記録されると共
に冗長ディスクとしてD4が割り付けられ、ディスクD
4にパリティが記録されることになる。
【0042】同じように、例えば500バイトのデータ
D21を記録するような場合にも512バイト以下であ
るために、例えば図に示すようにディスクD2のブロッ
ク2にデータD21を記録することが可能である。この
実施例をRAIDのレベル5を用いて説明するならば、
データD21のパリティはディスクD3に記録されるこ
とになる。
【0043】次に、640バイトのデータサイズを持つ
データD12を記録しようとする場合には、MPU3は
領域テーブル20を参照し、512バイト領域には記録
できないため、1kバイト領域のブロックを選択する。
この図においては、ディスクD1のブロック7を選択
し、ここに640バイトのデータD12を記録する。も
しこの640バイトのデータD12を512バイト領域
に記録しようとすると、例えばディスクD1とディスク
D2の二つのディスクにまたがって記録されることにな
り、ひとつの640バイトというまとまったデータが複
数のディスクにまたがって記録され、その後のアクセス
においても二つのディスクD1とD2がアクセスされな
ければならず、アクセス効率が悪くなる。
【0044】同様に1500バイトのサイズを持つデー
タD13を記録する場合には、2k領域が必要であり、
例えばディスクD1のブロック11に対して1500バ
イトのデータD13を記録する。この1500バイトの
データD13を512バイト領域に記録しようとすれば
3ブロック必要になり、例えばディスクD1とD2とD
3にまたがって記録されてしまうことになる。あるいは
1k領域に記録しようとしたとしても二つのディスク、
例えばD2とD3にまたがって記録されてしまい、アク
セス効率が悪くなる。
【0045】以上のようにこの実施例は、データブロッ
クのサイズを予め複数準備しておき、データのライト時
にそのデータのサイズにあった適当なブロックサイズの
データブロックを選択してデータをライトするようにし
たものである。このようにこの実施例によればデータの
サイズにより自動的に最適なデータブロックを選択する
ようにしたので、データが複数の物理的な記録媒体にま
たがることを防止することができ、データのアクセスの
効率が向上する。
【0046】実施例2.上記実施例1においては、51
2バイト領域が6ブロックあり、1kバイト領域が4ブ
ロックあり、2kバイト領域が2ブロックある場合を示
したが、各領域のブロックの数は任意に変化させること
が可能である。例えばホストコンピュータ1からのアク
セスが1kバイトでなされる場合が70%位であるとい
うことが前もって判っている場合には、1kバイト領域
を全体の70%程度確保しておくことにより、ホストコ
ンピュータからのアクセスにマッチしたディスクシステ
ムを構築することが可能である。もし1kバイト領域が
予想以上に多くアクセスされて全て使用されてしまった
場合には、従来通り512バイト領域2箇所にまたがっ
て記録するかあるいは2kバイト領域の後半部分は無駄
になるかもしれないが、2kバイト領域を使用して1k
バイトのデータを記録することができる。また、2kバ
イト以上のデータ例えば3kバイト、4kバイト等の大
きなサイズのデータを記録するような場合には、従来通
りにそのデータを適当なブロックに分割して複数のブロ
ック記録すれば良い。例えば、5kバイトのデータを記
録するような場合には、2kバイト領域の3つのブロッ
クに記録するようにすれば良い。
【0047】実施例3.上記実施例1においては、各サ
イズの領域が固まって存在する場合を示したが、各ブロ
ックのサイズがバラバラに存在するような場合でもかま
わない。図3は各領域のサイズがランダムに出現するよ
うな場合の一例を示す図である。例えばブロック1は5
12バイト、ブロック2は2kバイト、ブロック3は1
kバイト、ブロック4は512バイトというように、各
サイズの領域がランダムに出現してもかまわない。この
ような場合には領域テーブル20は図に示すように、各
ブロックごとにそのサイズを有し、また各ブロックの位
置を示すためのアドレスをポインタとして保持すること
により、MPU3はどのブロックがどのサイズであり、
どの位置に存在しているかを知ることが可能となる。
【0048】実施例4.上記実施例1から3においては
RAIDのレベル5の場合について説明したが、例え
ば、図4に示すようにRAIDのレベル4の場合でもか
まわない。図4に示すようにディスクD4が冗長ディス
クとなり、冗長データが記載されている領域として定義
されている場合でも、各ブロックを異なるサイズに分割
して、前述した実施例1から3のようにして使用するこ
とが可能である。
【0049】実施例5.次に第2の発明に係るアレイ型
記録装置の一実施例を図に基づいて説明する。前述した
実施例1から実施例4においては、分割手段が異なるサ
イズの領域にデータブロックを分割する場合を示した
が、この実施例は従来と同様にデータブロックのサイズ
は均一のまま、記録するデータを物理的にひとつのディ
スクに記録する場合を説明する。なお、この実施例にお
ける基本構成は図1に示したものと同様なものであるた
めここではその構成の説明については省略する。
【0050】図5において、20は領域テーブルであ
る。領域テーブル20には第1連続ブロックとしてブロ
ック1から3を連続して使用していることを示してい
る。また第2連続ブロックとしてブロック4と5を使用
していることを示している。さらに第3連続ブロックと
してブロック6から9を連続して使用していることを示
している。この図におけるブロック1から9は全て1k
バイトのサイズを有しており、例えば第1連続ブロック
で示されるようにブロック1から3が連続して使用され
ているということは最大3kバイトのデータがこの第1
連続ブロックに記録できることを示している。さらに第
2連続ブロックはブロック4と5を使用しているため
に、最大2kバイトまでのデータを連続して記録できる
ことを示している。同様に第3連続ブロックはブロック
6から9を使用しているため、最大4kバイトのデータ
を連続して記録できることを示している。
【0051】例えば、図5においてデータがひとつも記
録されていない初期状態において(即ち、領域テーブル
20と、ディスクD1、D3、D4のいずれにもデータ
が記録されていない状態において)、2.5kバイトの
データD11を記録する場合を考えてみる。データD1
1を記録する場合には2.5k必要であるため、MPU
3は3つのブロックが必要であるということを判定し、
先ず第1連続ブロックとしてブロック1から3をという
情報を領域テーブル20に記録し、その位置を示すアド
レスを記入する。データD11はアドレスで示された位
置から物理的に同一の記録媒体に連続して記録される。
この場合には例えばディスクD1のブロック1から3に
データD11が記録される。同時にパリティデータP
1、P2、P3が計算され、この例ではディスクD4に
パリティP1、P2、P3が書き込まれる。このパリテ
ィP1、P2、P3もディスクD4のブロック1からブ
ロック3に連続して生成される。
【0052】次に、640バイトのサイズを持つデータ
D21が記録される場合について考える。データD21
は640バイトなのですでに生成した第1連続ブロック
の未使用の領域を用いて記録することが可能であり、M
PU3はデータD21のサイズと第1連続ブロックのサ
イズを比べた結果、この例ではディスクD2のブロック
1に記録することになる。そしてディスクD4のブロッ
ク1のパリティP1は新たに計算されて更新記録される
ことになる。次に、512バイトのデータD22が記録
される場合にも、512バイトのデータはすでに生成し
た第1連続ブロックに記録することが可能であるという
ことをMPU3が判定し、この例ではディスクD2のブ
ロック2に記録し、パアリティP2を更新することにな
る。さらに例えば、2kバイトのデータサイズを持つデ
ータD31を記録する場合には、同様に第1連続ブロッ
クに記録することが可能であり、この例ではディスクD
3のブロック1と2にデータD31を記録する。データ
D31を記録した場合は、ディスクD4のパリティP
1、P2が更新されて記録されることになる。
【0053】次にこのような状態で、2kバイトのサイ
ズを持つデータD23を記録する場合を考えると第1連
続ブロックには未使用領域としてディスクD2のブロッ
ク3とディスクD3のブロック3が空いているが、物理
的に二つの記録媒体D2とD3にまたがって記録されて
しまうためにMPU3は新たに第2連続ブロックとして
ブロック4と5を割り付ける。そしてこの例ではディス
クD2のブロック4と5にデータD23を記録すると共
に、ディスクD3のブロック4と5にそのパリティデー
タP4、P5を記録する。さらに4kバイトのデータD
32を記録する場合には、第1連続ブロックあるいは第
2連続ブロックに未使用領域が存在しているけれども4
kバイトのデータを同一の記録媒体に記録するためには
新たな連続ブロックを割り付ける必要があるため第3連
続ブロックとしてブロック6から9を割り付ける。この
例ではディスクD3のブロック6からブロック9までに
データD32を書き込み、ディスクD2のブロック6か
らブロック9までにこのデータD32に対するパリティ
データP6〜P9を記録する。
【0054】以上のように、この実施例はデータブロッ
クの分割は従来通り均等とし、同一ディスクの均等に分
割されたデータブロックを連続して使用することによ
り、ひとつのディスクに対してデータを連続して記録す
ることを特徴とする。またこの場合には冗長データも連
続して記録されることになる。この実施例によれば複数
の物理的な記録媒体にデータを記録することがなくな
り、あるいは複数の記録媒体にデータを記録することを
最小限にすることができ、データのアクセス性能の向上
が図れる。
【0055】実施例6.図6は実施例1と実施例5に示
したアレイ型記録装置を組み合わせた場合の実施例を示
したものである。すなわち、図6においては実施例1に
示したようにデータブロックのサイズが512バイトの
部分と1kバイトの部分と2kバイトの部分からなって
いるとともに、実施例5に示したように、ひとつのデー
タを連続したデータブロックにまとめて記録することに
より、ひとつの物理的な記録媒体にデータを記録する場
合を示している。
【0056】例えば、データD11が256バイトのサ
イズを持つ場合には、図のようにディスクD1のデータ
ブロック1に記録することができる。また1.5kバイ
トのデータD21を記録する場合は、2kバイトのサイ
ズをもつブロック8に記録することも可能であるが、こ
の例ではブロック2,3,4に連続してまとめて記録す
る場合を示している。同様に3kバイトのデータD12
を記録する場合には2kバイト領域を2個用いて記録す
ることも可能であるが、2kバイトの領域を2個用いる
場合には1kバイトの空き領域が生じてしまうために、
この例では3個の1kバイトの領域を用いることによ
り、すなわちディスクD1のブロック5,6,7を用い
ることによりデータD12を記録している場合を示して
いる。このように実施例1と実施例5に示したものを組
み合わせて用いることにより、データを記録する場所の
選択に柔軟性がでてくるために、MPU3がデータを配
置する場合に、効率よくデータを配置することが可能に
なる。
【0057】実施例7.次に、第3の発明に係るアレイ
型記録装置の一実施例について、図7に基づいて説明す
る。図7において、30はディスク装置のデータブロッ
クが使用されているかいないかという使用状態を記録す
るための使用状態テーブルである。その他の1〜13に
ついては従来例で説明したものと同一あるいは相当部分
を示しているためここでは説明を省略する。
【0058】図8は、この実施例の動作の概略を説明す
るための模式的な図であり、30はディスクの使用領域
データを持つ使用状態テーブルである。D1,D2,D
3,D4,Pは各々のディスク装置を示しており、斜線
部で示した部分は使用状態テーブル30によりそれぞれ
のディスクのデータブロックで使用されている部分を示
している。従来は、あるディスクが故障した場合にその
ディスクを復元するためにはディスクの先頭から最後ま
で全ての領域に対して復元を行い代替処理を行っていた
のに対し、この実施例では使用状態テーブル30により
すでにデータが記録されているデータブロック、すなわ
ち、図において斜線で示す部分を復元することにより代
替処理を高速に行おうとするものである。以下、その具
体的実施例を説明する。
【0059】図9は、代表的なオペレーティングシステ
ムがディスクを用いる場合に使用するディスクの使用状
態を示した図である。例えばディスクD1、D2の先頭
の1kバイトの部分には、ブートレコードが記録されて
いるものとする。このブートレコードはもともと2kバ
イトあるのに対して、ディスクD1とディスクD2のデ
ータブロックの1kバイトそれぞれに分割されて記録さ
れているものとする。次に、ディスクD1とD2の次の
1kバイトにはファイルアロケーションテーブル(以下
FATという)が記録されている。このFATについて
は後述するが、ディスクに記録されるファイルに使用す
る領域を順にポイントする情報が記録されている。この
FATも2kバイトのデータ領域を必要とするためにデ
ィスクD1とディスクD2にそれぞれ分割されて記録さ
れているものとする。
【0060】FATの次に記録されているのは、ディレ
クトリであり、このディレクトリはファイルに関する情
報が記録されるエリアであり、ファイル名やファイルサ
イズ等が記録される領域である。さらに残りの領域はデ
ータが記録されるデータ領域の部分でありディスクの大
半はこのデータ領域によって使われることになる。
【0061】ディスクD3はディスクD1とディスクD
2に記録される前述したような色々なデータのパリティ
が記録される冗長ディスクである。またディスクD4は
前述したD1,D2あるいはD3のいずれかが故障した
場合にその故障したディスクを代替するために用意され
た代替ディスクである。以下、この実施例ではFATを
使用状態テーブル30にそのままコピーして使用する場
合を説明する。
【0062】図10は、前述した図9をさらに詳しく説
明するための図である。例えば6kバイトのエリアに書
かれたディレクトリに注目してみるとファイルAとして
属性Xが記録されそのファイルが生成あるいは更新され
た日時が記録されている。またファイルAに対してFA
Tエントリとして01が記録されている。このFATエ
ントリというのはFATエリアを指すポインタであり、
このFATが01ということはこのファイルのデータが
データ領域の先頭から始まっていることを示している。
また次のファイルサイズ6kバイトというのはこのファ
イル全体で6kバイトのファイルサイズを持っているこ
とを示している。次に、FATを見てみると先頭から順
に1番から28番までの番号が振られている。この01
という番号はデータ領域の最初の1kバイト部分に対応
しており、また02というのはデータ領域の2番目の1
kバイト部分に対応しているものである。以下、03〜
28までそれぞれデータ領域の3番目から28番目の領
域に対応しているものである。このFATを見ると01
のすぐ下には02というポインタが記入されているた
め、前述したファイルAは先ず最初にデータ領域の最初
の1kバイトにデータがあると共にこの02というポイ
ンタがあるためにそのデータは第2番目の領域にまで及
んでいることを示している。次に、第2番目のエリアを
見ると04という値が記入されているため、ファイルA
のデータはさらに第4番目のデータ領域にまで及んでい
ることが判る。さらに第4番目のエリアの下には15と
いう値が記入され、さらに15に対しては17という値
が記入されているためにファイルAのデータは15番
目、17番目のデータ領域につながって記録されている
ことが判る。17の下にはFFという値が記入されてい
るため、このFFをファイルの終了と定義しておくこと
によりファイルAは17番目のデータ領域で終了してい
ることが判る。
【0063】次に、ファイルBに注目してみるとFAT
エントリは05であり、この05を見てみるとポインタ
が00となっているために、この第5番目のデータ領域
はまだ未使用状態を示している。従って、ディレクトリ
にはファイルBが登録されているが、実際のデータはま
だ1件も発生しておらず、いずれのデータ領域も使用し
ていないということが判る。ファイルサイズとしても0
kバイトが記録されており、データが1件も存在しない
ことを示している。
【0064】次に、ファイルCを見るとFATエントリ
は06を示している。FATが06のところを見ると0
7にポインタがあり、07からは23にポインタがあ
る。従って、ファイルCはデータ領域の6番目と7番目
と23番目にまたがって記録されていることがわかる。
23に対してはFFが記入されているためファイルはそ
こで終了していることになる。
【0065】次に、データ領域について説明する。ディ
スクD1とディスクD2のデータ領域の最初の1kバイ
トにはファイルAのデータがディスクD1とディスクD
2に記録されている。次にディスクD1のデータ領域の
2番目の1kバイトはFATの第3番目が00と言う初
期値なので未使用であり、ディスクD2データ領域の2
番目の1kバイトの部分はディスクAのデータが記録さ
れている。次に、ディスクD1のデータ領域の第3番目
の1kバイト部分を見るとFATの第5番目に00とい
う初期値が記入されていることからわかるようにデータ
は存在していない。
【0066】次に、ディスクD3について説明する。デ
ィスクD3はディスクD1とD2に記録されるデータの
パリティを記録するための冗長ディスクである。ブート
レコードFATディレクトリのパリティを計算して記録
するとともにデータエリアのパリティを計算して記録す
ることになる。ただしディスクD1とD2のデータ部分
が存在しない部分に関してはパリティは記録されていな
い。このデータが存在していない部分にはパリティを計
算して記録していないところがこの実施例の特徴であ
る。従来はディスクシステムを初期化する場合にはディ
スクD1,D2を例えば初期値0で初期化し、ディスク
D3をディスクD1とD2の初期化したデータオール0
に基づいてパリティを計算して記録していたが、この実
施例ではディスクシステムを初期化することをやめてし
まう。従って、データがディスクに書き込まれた場合に
その書き込まれた部分に対してだけパリティを計算して
ディスクD3に記録し、データが書き込まれていない部
分に関してはパリティも存在しないことになる。例え
ば、パリティP1〜P7はディスクD1とD2のデータ
から生成されるが、パリティP8、P9はディスクD2
のデータのみから生成され、パリティP10はディスク
D1のデータのみから生成される。また、ディスクD1
とD2がともにデータなしの場合は、パリティは生成さ
れない。
【0067】このような状態でディスクD2に故障が発
生して読み書きができなくなった場合について説明す
る。ディスクD4は代替用のディスクであり、故障した
ディスクD2を代替するために設けられたものである。
代替処理はディスクの先頭から順にディスクD1とディ
スクD3のデータを用いてディスクD2のデータを復元
し、ディスクD4に記録していくことになる。ただし、
データなしの領域に関してはこれを復元することをスキ
ップしてしまう。この代替処理においてデータが存在し
ないデータ領域を検出することができるのは、前述した
ようにFATを使用状態テーブル30にコピーしている
ためであり、そのFATを参照しFATのポインタが0
0になっているデータ領域に関してはデータが存在して
いないということが判定でき、そのデータ領域に対して
は復元処理を行わない。例えば、図10に示すFATに
おいてはデータ領域03と05と08から14と18か
ら21と23から28のデータ領域に対してはデータが
存在していないためにデータの復元処理を行わないです
む。この例ではディスクD2を代替するため、まず、P
1〜P6を用いて、ブートレコードとFATとディレク
トリをディスクD4に復元する。次に、使用状態テーブ
ル30よりディスクD2の使用されていた領域が02、
03、06であることを判定し、p7、p8、p9を用
いてこれらをディスクD4に復元する。ディスクD2の
残り部分は未使用なので、復元は行なわない。このよう
に代替処理においてデータが存在する部分のみを代替す
るようにしたので、特に少量のデータのみしか記録して
いないような場合には代替処理が従来に比べて格段に速
く終了することになる。
【0068】なお、FATは新たなデータ領域が使用さ
れるためにオペレーティングシステム等によって更新さ
れていくものであるが、MPU3はこのFATがオペレ
ーティングシステム等によって更新されることを監視し
ておきFATが更新される度に使用状態テーブルに記録
したFATも同様に更新することにより、実際にディス
クに記録されているFATと使用状態テーブルにコピー
したFATを同一に保つことが可能である。使用状態テ
ーブル30にFATをコピーするのは電源がオンになっ
た場合にコピーしてくることにより実現できる。また、
使用状態テーブルの更新は前述したようにMPU3が更
新を行う。そして電源がオフになった場合には使用状態
テーブルからFATの情報は消失することになるが、再
び電源がオンになった場合にはディスク領域のFATか
ら再びコピーしてくることが可能であるために使用状態
テーブルの内容が電源がオフになって消失したとしても
問題はない。
【0069】実施例8.上記実施例7においては、FA
Tを使用状態テーブル30にコピーしてくる場合を例に
して説明したが、FATは前述したようにオペレーティ
ングシステム等がファイル管理のために使用しているテ
ーブルであり、使用している領域を次々に指すポインタ
を有しているために、そのサイズは大きなものになって
しまう。この実施例8は、図11に示すように、使用状
態テーブル30の、各領域が1ビットで構成されてお
り、各1ビットが各データ領域に対応するようにしたも
のである。このビットマップテーブルにおいて、1は対
応するデータ領域がすでに使用済みであることを示し、
0は対応するデータ領域が未使用であることを示してい
る。このようにビットマップテーブルを使用状態テーブ
ルとして用いることにより、例えば実施例7において、
FATが1バイト(8ビット)のポインタを有していた
場合に比べて使用状態テーブルが8分の1のサイズに縮
小することができる。ただしこのようにビットマップテ
ーブルを持つ場合には、このビットマップテーブルが電
源がオフになった場合に消失しないように保存しておく
ことが望ましい。例えば、バックアップバッテリによる
RAMにこのビットマップテーブルを作成して使用状態
テーブルとして使用する。あるいはフラッシュメモリを
用いてビットマップテーブルとすることにより、ディス
クシステムの電源がオフになってもこの使用状態テーブ
ルの情報を保存する。このように不揮発性メモリに使用
状態テーブル30を記録しておけば、次に電源がオンに
なった場合にも最新の状態を保つことが可能である。も
し、仮に、この使用状態テーブルの情報が消失したとし
ても、前述したようなFATがディスクに記録されるシ
ステム場合にはディスクシステムの電源がオンになった
場合に、先ずディスクシステムのFATをアクセスし、
前述したようなロジックでデータ領域が使用されている
か、いないかを判断して使用されている場合にはその領
域に対応するビットを1にし、使用されていない場合に
は0にすることによってビットマップテーブルを作成す
ることが可能である。また、このビットマップテーブル
の更新は実施例7と同様にMPU3がいずれのデータ領
域にデータが記入されたかを監視し、そのデータ領域に
対応するビットを1にすることにより更新することが可
能である。
【0070】実施例9.実施例7及び実施例8において
はデータが追加されていく場合について説明したが、こ
の実施例においてはファイルが消されてデータが不要に
なった場合について説明する。ここでは、図10に示し
たディレクトリのファイル名の先頭1バイトにFEとい
う予め定められた特殊な符号を記入するとそのファイル
は削除されたということを示すものとする。このよう
に、その他のデータは一切変更せずファイル名の先頭1
バイトをFEという符号にしてしまうことによりファイ
ルの削除を実行するようなオペレーティングシステムが
あった場合に、そのファイルに使用されていた領域は他
のデータのために使用してもよいにも係わらず、FAT
の領域は更新されない。従って、使用状態テーブルもこ
れと同期して更新されないままでいることになる。ファ
イルの削除が頻繁に発生するようなシステムでは一度使
われた領域であってすでに解放しても良い領域があるに
も係わらず、古いデータがそのまま存在することにな
り、FATエリアにもあたかも使用中であるかのように
ポインタが存在することになる。
【0071】このような状態で代替処理が発生すると、
実際には現在使用していないデータ領域まで代替処理を
してしまうことになるが、ひとつの考え方としては代替
処理は故障したディスクをそのまま代替するという原則
に立てば、すでに過去においてデータが記録されたにも
係わらず現在使用されていない領域に対しても代替処理
を行うことにより、より故障したディスクに近い状態に
代替処理を行うことが可能となるため、ファイルの削除
があってデータ領域が解放されよい場合にも係わらずこ
の部分を代替処理するということに何等不都合はない。
【0072】あるいは別な考え方として代替処理をでき
るだけ高速にしたいと考え方る場合には、オペレーティ
ングシステム等によりファイルの削除が行われた場合に
は、使用状態テーブルにあるFATのポインタのみを0
0に戻してしまうということが考えられる。オペレーテ
ィングシステム等で使用するディスク領域内のFATは
システムがその他の理由でFATを参照することがある
ことを考えるとディスクシステムが自己の都合のために
これを書き換えることはできない。しかし、使用状態テ
ーブル30にあるFATはデータ領域を使用している
か、使用していないかを判断するために設けられている
ものであるため、ディスクシステム内部で自由に変更す
ることが可能である。従って、ファイルの削除があった
場合には使用状態テーブル30のFATを変更すること
はかまわない。以上のように使用状態テーブルにコピー
したFATを書き換えてしまうようにすればファイルの
削除が頻繁に行われるようなシステムにおいて代替処理
が発生した場合には実際に使用しているデータ領域のみ
のデータの代替処理が行われることになり、高速な代替
処理が可能となる。
【0073】実施例10.次に、実施例7に示したアレ
イ型ディスク装置のいくつかの動作例を図12を用いて
説明する。例えば、ディスクD1にデータD11を記録
する場合にはFATにその旨を登録してディスクD1に
データD11を記録する。ディスクD1にデータD11
が登録された場合には、そのパリティとしてディスクD
4にD1というパリティが記録されることになるが、デ
ィスクD2とディスクD3にはまだなにも記録されてい
ない状態においてはデータD11の冗長データとしてP
1はD11から生成されることになる。次に、D11が
記録された状態でD21が記録される場合について説明
する。従来であればデータD21のサイズWの部分に相
当するディスクD4の部分Sのデータを読み込む必要が
あるが、この実施例ではディスクD4のパリティP1の
Xの部分のみのパリティを読み込むことになる。そし
て、データD21のUの部分とディスクD4のP1のX
の部分のXORを計算したものがディスクD4のP1の
X部分に新たなパリティP1Xとして記録されることに
なる。また、ディスクD4のYの部分にはデータD21
のVのデータと同じものがパリティP1Yとして記録さ
れることになる。従来であればディスクD2のデータD
21の書き込まれるべき部分Wの旧データを読み込むと
共に、ディスクD4のSの部分を読み込み、冗長データ
を計算し、データD21をディスクD3に書き込むと共
に計算した冗長データをディスクD4に書き込むという
作業をしなければならなかったのに対し、この実施例で
はディスクD4のX部分を読み込み、その後ディスクD
2にデータD21を書き込むと共に冗長データP1Xと
P1YをSの部分に書き込むという作業で終了すること
が可能になる。別な言葉でいえばディスクD2のWの部
分の組み込みを省略できると共にディスクD4のYの部
分の読み込みを省略することが可能になる。
【0074】次に、D22というデータがすでにディス
クD2に記録されていおりこれを消去する場合について
説明する。データD22を消去する場合にはこのデータ
領域に対応するFATを変更することにより達成するこ
とができる。すなわち、使用状態テーブルにFATをコ
ピーしている実施例7で述べたような方式をとっている
場合にはデータ22の記録された領域に対応するFAT
のポインタを00にしてしまうことのみで削除が完了す
る。あるいは実施例8に示したように使用状態テーブル
がビットマップテーブルで構成されている場合にはデー
タD22が記録されているデータ領域に対応するビット
を0にするだけで削除が完了する。この場合には従来行
っていたD22の記録されている領域Zの読み込みとデ
ィスクD4のP2が記録されている領域の読み込みと新
しいデータ(すなわち、削除による初期値(オール0)
の再書き込み)と新しいパリティデータの書き込みの4
つのリードライトを省略することが可能になる。
【0075】次に、データD23の書き込みについて説
明する。データD23を書き込む場合にはディスクD2
にD23を書き込むと共に、そのパリティを計算しディ
スクD4のP3の部分に書き込むことにより書き込みが
終了する。従来ならばディスクD2のデータ23の領域
Aの部分からの読み込みとディスクD4のP3の読み込
みを行わなければならないのに対して、このオペレーシ
ョンではこれらの読み込みを省略することができる。
【0076】また、この実施例においてもディスクD
1,D2,D3,D4の内のいずれかのディスクが故障
等によりアクセスできなくなった場合にはその故障した
ディスクのデータを復元するためには、残った正常にア
クセスできるディスクの実際にデータが存在している領
域だけを復元し、データが存在する部分のみの復元を行
えば良いことになる。従って、データの代替処理時間は
大幅に短縮することが可能である。
【0077】また、前述したようにこの実施例において
はディスクの初期化を行う必要がないため、システム設
定の時間が短縮する。また冗長データを生成する場合に
はデータが存在していない部分の読み込みを省略するこ
とができるために、従来に比べてリードライトの数が少
なくなり記録性能が向上する。
【0078】実施例11.次に、第5の発明に係るアレ
イ型記録装置の一実施例について、図13を用いて説明
する。上記実施例7においては、FATを用いるような
ファイル管理システムを例にして説明したが、FATを
使用しない場合など、予めオペレーティングシステムが
領域を使用しているかしていないか等の情報を有してい
ない場合も有り得る。図13はこのような場合の一例を
示したものであり、データの領域管理をディレクトリを
たどることにより把握するような例を示したものであ
る。この例では、まず、あらかじめディスクを初期化す
る。ディスクを使用するオペレーティングシステムによ
りディスクを初期化すると、オペレーティングシステム
のファイル管理システムのデータ構成パターンが一意に
定まる。図13に示すようにディスクの先頭部分にボリ
ュームラベルが生成され、このボリュームラベルがルー
トディレクトリを示し、このルートディレクトリの中に
ファイルAの情報が存在し、その情報の中にあるポイン
タから実際のファイルAの領域を割り出すことが可能で
ある。また、ルートディレクトリにあるBはサブディレ
クトリBを意味しており、このサブディレクトリBから
のポインタをたどることにより実際にサブディレクトリ
Bの内容をたどることが可能である。そしてサブディレ
クトリBの中にあるファイル名Cを得てそのポインタを
たどることにより実際にファイルCの記録されている領
域を見つけることが可能である。
【0079】このようなファイルシステムをとっている
場合であってディスクD3が故障した場合のデータ修復
は次のようにして行うことが可能である。まず、ボリュ
ームラベル部分を復元する。これはディスクD1とD2
とD4とパリティPからディスクD3のデータを復元し
これを図13には図示していない代替ディスクに記録す
ることにより復元が可能である。次に、この復元したボ
リュームラベルの中の情報をもとにルートディレクトリ
の位置とサイズを認識してルートディレクトリを復元す
る。その復元の仕方は前述したようにディスクD1とD
2とD4とパリティPからディスクD3のルートディレ
クトリの部分を復元する。このようにしてルートディレ
クトリが復元された場合には、このルートディレクトリ
の情報をもとにファイルAの部分を復元し、またディレ
クトリBを復元することが可能になる。ディレクトリB
を復元するとさらにファイルCをたどることができ、フ
ァイルCを復元することが可能である。このようにディ
レクトリ情報をたどって全ファイル、全ディレクトリを
復元すれば修復は完了する。このようにファイル管理シ
ステムのデータ構成パターンを利用して、使用している
領域のみを復元することにより必要となるデータが全て
復元される。以上のように不使用領域は復元操作が不要
になり代替処理が短時間ですむことになる。また、この
ようにデータ構成パターンを使用することにより、削除
されたファイルを修復してしまうことがない。例えば、
ディレクトリにおいてファイル名の先頭1バイトにFE
という削除を示す特殊な符号が記入されているファイル
の修復は行わない。また、この方式によれば、ディスク
に記録されたデータをもとにするので削除したような使
用状態テーブル30をディスク外部のアレイコントロー
ラに持つ必要はない。
【0080】なお、このアレイ型記録装置が複数の種類
のオペレーティングシステムにより利用される場合に
は、データ構成パターンがオペレーティングシステムの
ファイル管理システムにより異なることになる。このよ
うな場合には、複数種類のデータ構成パターンをアレイ
コントローラ13内のファームウェア内に持ち、修復時
にホストコンピュータ等からどのファイル管理システム
による修復であるかを指定してやることにより、複数種
類のデータ構成パターンの中から任意のデータ構成パタ
ーンをひとつ選択することが可能になる。
【0081】実施例12.次に、第6の発明に係るアレ
イ型記録装置の一実施例について図14を用いて説明す
る。従来例で説明したように新しいデータを記録する場
合には、該当ディスクの旧データの読み込みとパリティ
ディスクの旧パリティの読み込みと新データの書き込み
と新パリティを計算して新パリティを書き込むという4
つのリードライトが必要であったが、この実施例ではこ
のリードライトの数を実質的に減らすことができる場合
について説明する。図14は4つの磁気ディスクと1つ
の冗長ディスクがあり、そのうちディスクD3に対して
データDN(3)を記録する場合を示している。まず、
DN(3)をステップS1において、ディスクD3に記
録する。このステップS1はフォアグランドで行われ、
このステップS1の処理が完了するまでディスクの書き
込み処理は終了したことにはならないものとする。別な
言葉でいえば、ステップS1が終了してしまえばこれを
もってディスクへの書き込みを終了したという報告がホ
ストコンピュータ等の上位装置に報告されることにな
る。このようにステップS1が終了した後は、ステップ
S2で、ディスクD1から旧データDO(1)とディス
クD2から旧データDO(2)を読みだし、さらにディ
スクD4から旧データDO(4)を読みだしてくる。次
に、この読みだした3つの旧データとディスクD3に書
き込んだ新たなDN(3)の4つのデータから新たなパ
リティDNPを計算し、これをステップS3においてパ
リティディスクに書き込むものとする。このステップS
2とステップS3の処理はバックグラウンドの処理とし
て行う。このように冗長データの計算及び冗長データの
書き込みがバックグラウンドで行われるために、従来の
ように冗長データの書き込み終了を待ってから書き込み
処理の完了を上位装置に報告していたのに比べて、実質
的には新しいデータDN(3)をディスクD3に書き込
むという1回の対応のみで記録完了とすることができ、
記録処理の高速化を図ることが可能である。
【0082】実施例13.次に、図15を用いて前述し
た実施例11の応用例について説明する。図15におい
てはデータDN(2)とDN(3)の2つの新しいデー
タをそれぞれディスクD2とディスクD3に書き込む場
合を示した図であり、それぞれステップS1とステップ
S2というフォアグランド処理において、データDN
(2)とデータDN(3)がディスクに記録され、これ
をもってディスクへのデータの記録の終了報告がなされ
る。一方、バックグラウンド処理においてはディスクD
1から旧データが読みだされ、ディスクD4からも旧デ
ータが読みだされこの旧データ2つと新たに書かれた新
データ2つから新しいパリティデータがステップS3に
より生成されることになる。そしてステップS4におい
てこの新しいパリティデータがパリティディスクに書き
込まれることになる。このように複数のデータが連続し
てディスクに書き込まれる場合、従来においてはひとつ
のデータが記録される度に冗長データを計算して冗長デ
ィスクにそれを書き込んでひとつのデータの書き込み終
了となり、その後2番目のデータの書き込みが行われ、
さらにその2番目データに対して冗長データが計算され
て冗長データに新しいパリティを書き込むという作業を
行っていたのに対して、この実施例によれば、複数のデ
ータがある一定の時間内に書き込まれるような場合には
冗長データを計算する場合は1回ですみ、しかもその記
録も1回ですむというメリットがある。
【0083】このように複数のデータの記録に対して1
回の冗長データの計算と書き込みで済ませるということ
をさらに発展させて考えれば、例えば1分おきあるいは
1時間おきさらには1日おきそして1週間おきにのみ冗
長データを計算し、冗長ディスクに書き込むという方法
でもかまわない。このように冗長データを計算しその冗
長データを書き込むという処理の間隔はシステムによっ
て可変とすることも可能である。例えば信頼性が要求さ
れるシステムにおいてはこの時間間隔をできるだけ短く
しておくことが望ましい。一方、信頼性はさほど要求さ
れないがディスクへの書き込みを高速に行いたいという
場合には、バックグラウンドの処理もなるべく行わずに
フォアグランドの処理に集中して資源を使わせるように
することが望ましく、その間隔を例えば1時間おきある
いは1週間おき等できるだけ間隔をあけるようにするこ
とが望ましい。間隔をあける場合には例えば全ての領域
に対してパリティデータを再計算し、再書き込みすると
いうような処理方式にしてもかまわないし、あるいはそ
の一定間隔の間に書き込みが発生したデータ領域を記憶
しておき、その書き込みが発生したデータブロックのみ
に対してパリティデータを計算して再書き込みするよう
な方式としてもかまわない。
【0084】実施例14.次に、第7の発明に係るアレ
イ型記録装置の一実施例について図16を用いて説明す
る。図16は5台の磁気ディスク装置HDD1からHD
D5を有するディスクシステムに対してさらにHDD5
とミラー化された半導体記録装置が接続されている状態
を示したものである。図中、SSDとはソリッド・ステ
ート・ディスクのことであり半導体ディスク装置を意味
している。次に、動作について説明する。
【0085】例えば、HDD4にデータライトする場
合、HDD4のデータDO(4)とHDD5のパリティ
POをリードし、新しいデータDN(4)とXORをと
り新しいパリティPNを計算する。そして、DN(4)
とPNをHDD4,HDD5に書き込む。この直後にH
DD3にデータを書き込むには、HDD5のデータライ
ト動作が完了しなければならない(最悪のケースでは、
HDDの回転待ちが発生して十数ms待つ可能性があ
る。平均でも7,8ms)。しかし、PNをライトする
ときに同時にSSDにもデータをライトしており、HD
D5のライト完了を待たなくてもSSDからPNを読み
だしてD3をHDD3から読みだしてPNを作成するこ
とができる。HDD5のPNはHDD3のリード中に完
了しており、次のPNライトには間に合う。
【0086】実施例15.次に、第8の発明に係るアレ
イ型記録装置の一実施例を図17を用いて説明する。図
17はパリティディスクに半導体記録装置(SSD)を
使用した例を示したものであり、ライト性能の向上を図
ろうとしたものである。実施例13で述べたようにSS
Dは通常の磁気ディスク装置等に比べて高速に読み書き
を行えるためにパリティディスクをSSDを使用するこ
とによってライト時には必ずアクセスされるパリティデ
ィスクの高速化を図ったものである。一般のSSDはD
RAM等の揮発性のメモリにより構成されている場合が
多いため、図17に示した構成では電源がオフされた場
合、あるいは電源異常により瞬停があった場合等は、S
SDに記録された内容は消失することになる。その場合
には電源がオンになった場合にあらためてHDD1から
HDD4までのデータをもとにパリティを計算しSSD
にその計算したパリティを再び書き込むことによりSS
Dのデータを復元することが可能になる。もともとSS
Dのデータは冗長データが記載されているためにSSD
が電源異常によりそのデータを消失したとしても他のデ
ィスク装置に異常がない限りは冗長データを再生するこ
とが可能である。
【0087】実施例16.図18は実施例14に示した
SSDに対して無停電電源UPS(アンインターラブテ
ッドパワーサプライ)をつけたものであり、パリティデ
ィスクにSSDを使用してライト性能の向上をめざすと
共にSSDのデータ保護のために無停電電源をつけたも
のである。このように無停電電源をつけたことにより、
SSDの内容が保護されることになり、電源異常等によ
りSSDの内容が消失してしまうという危険がなくな
る。
【0088】実施例17.図19は、前述した実施例1
4のSSDに対して固定ディスク等によるバックアップ
システムを持たせたものである。この固定ディスク装置
のバックアップシステムを持たせることによりSSDの
データの保護が図れ、電源異常等によりデータが消失し
てしまってもバックアップされた固定ディスク等の揮発
性メモリからデータを再び読み込み再生することが可能
である。
【0089】実施例18.上記実施例1から16におい
ては、ひとつのチャネルコントローラに1台のディスク
装置が接続されている場合を示したが(すなわち、1次
元のアレイを構成する記録装置の場合について説明した
が)、ひとつのチャネルコントローラに対して複数のデ
ィスク装置が接続されているような場合にも(すなわち
2次元の状態にディスク装置が配列されているような場
合にも)上記実施例は適用することが可能である。
【0090】実施例19.上記実施例1から17におい
ては、磁気ディスク装置をアレイ状に配列した場合のシ
ステムについて説明したが、磁気ディスク装置をアレイ
状に構成する場合ばかりでなく光ディスク装置やコンパ
クトディスク装置やフレキシブルディスク装置等のその
他の記録媒体によってアレイ状の記録装置を構成するよ
うな場合でもかまわない。また、アレイを構成する記録
媒体は1種類である場合に限らず、例えば磁気ディスク
と光ディスクが混在するようなシステムであってもかま
わない。
【0091】
【発明の効果】以上のように第1から第8の発明によれ
ば、アレイ型記録装置においてデータの読み出し時ある
いは書き込み時の処理時間を改善したアレイ型記録装置
を得ることができる。
【図面の簡単な説明】
【図1】第1の発明に係るアレイ型記録装置の一実施例
を示す図。
【図2】実施例1の動作を示す図。
【図3】実施例3の動作を示す図。
【図4】実施例4の動作を説明するための図。
【図5】実施例5を説明するための図。
【図6】実施例6を説明するための図。
【図7】第3及び第4の発明に係るアレイ型記録装置の
一実施例を説明するための図。
【図8】実施例7の概略を説明するための図。
【図9】実施例7の動作を説明するための図。
【図10】実施例7の具体的動作を説明するための図。
【図11】実施例8を説明するための図。
【図12】実施例9を説明するための図。
【図13】第5の発明に係るアレイ型記録装置の一実施
例を示す図。
【図14】第6の発明に係るアレイ型記録装置の一実施
例を示す図。
【図15】第6の発明に係るアレイ型記録装置の他の実
施例を示す図。
【図16】第7の発明に係るアレイ型記録装置の一実施
例を示す図。
【図17】第8の発明に係るアレイ型記録装置の一実施
例を示す図。
【図18】第8の発明に係るアレイ型記録装置の他の実
施例を示す図。
【図19】第8の発明に係るアレイ型記録装置の他の実
施例を示す図。
【図20】従来のアレイ型記録装置を示す図。
【図21】アレイ型記録装置のパリティを計算する方式
を示す図。
【図22】データを記録する場合の記録手順とパリティ
を記録する手順を示す図。
【図23】従来の初期化方式を示す図。
【図24】従来のアレイ型記録装置にデータが記録され
た状態を示す図。
【符号の説明】
1 ホストコンピュータ 2 ホストインターフェース 3 マイクロプロセッサ 4 メモリ 5 EORエンジン 6 データバス 7 CEパネル 8 チャネルコントローラ 9 ディスク装置 10 チャネル 11 スタンバイディスク 12 予備チャネル 13 アレイコントローラ 20 領域テーブル 30 使用状態テーブル
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.5 識別記号 庁内整理番号 FI 技術表示箇所 G11B 20/18 102 9074−5D (72)発明者 小倉 史郎 鎌倉市上町屋325番地 三菱電機株式会社 コンピュータ製作所内

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 以下の要素を有するアレイ型記録装置 (a)データを記録する複数の記録媒体、 (b)上記記録媒体の記録領域をサイズの異なる複数種
    類の領域に分割する分割手段、 (c)上記記録媒体へデータを記録する場合に、上記分
    割手段により分割された領域の中からそのデータが記録
    される領域の数が少なくなるように領域を選択する選択
    手段、 (d)上記選択手段により選択した領域にデータを記録
    する記録手段。
  2. 【請求項2】 以下の要素を有するアレイ型記録装置 (a)データを記録する複数の記録媒体、 (b)上記記録媒体の記録領域を所定サイズの領域に分
    割する分割手段、 (c)上記分割手段により分割された複数の領域にデー
    タを記録する場合、ひとつの記録媒体の複数の領域に連
    続してデータを記録する記録手段。
  3. 【請求項3】 以下の要素を有するアレイ型記録装置 (a)データを記録する複数の記録媒体、 (b)上記記録媒体にデータを記録する記録手段、 (c)上記記録媒体のデータ記録領域を所定サイズの領
    域に分割し、各領域の使用状態を記憶する使用状態記憶
    部、 (d)上記記録手段により記録媒体へデータを記録する
    場合に、上記使用状態記憶部に記憶された使用状態に基
    づいて、冗長データを生成して記録する冗長データ記録
    手段。
  4. 【請求項4】 以下の要素を有するアレイ型記録装置 (a)データを記録する複数の記録媒体、 (b)上記記録媒体のいずれかを代替するための代替媒
    体、 (c)上記記録媒体のデータ記録領域を所定サイズの領
    域に分割し、各領域の使用状態を記憶する使用状態記憶
    部、 (d)上記記録媒体のいずれかに代替の必要が生じた場
    合に、上記使用状態記憶部に記憶された使用状態に基づ
    いて、上記記録媒体のデータを上記代替媒体に代替する
    代替手段。
  5. 【請求項5】 以下の要素を有するアレイ型記録装置 (a)データを記録する複数の記録媒体、 (b)上記記録媒体のいずれかを代替するための代替媒
    体、 (c)上記記録媒体に記録されるデータの構成パターン
    を記憶する構成パターン記憶部、 (d)上記記録媒体のいずれかに代替の必要が生じた場
    合に、上記構成パターン記憶部に記憶された構成パター
    ンに基づいて、上記記録媒体のデータを上記代替手段に
    代替する代替手段。
  6. 【請求項6】 以下の要素を有するアレイ型記録装置 (a)データを記録する複数の記録媒体、 (b)上記記録媒体に記録されるデータの冗長データを
    記録する冗長媒体、 (c)上記記録媒体にデータを記録する場合に、記録媒
    体への書き込み終了により記録完了とし、その後書き込
    んだデータと他の記録媒体に記録されたデータから冗長
    データを生成して冗長媒体に記録する記録手段。
  7. 【請求項7】 以下の要素を有するアレイ型記録装置 (a)データを記録する記録媒体、 (b)上記記録装置に記録されるデータの冗長データを
    記録する冗長媒体、 (c)上記冗長媒体と同一のデータを記録する半導体記
    録媒体。
  8. 【請求項8】 以下の要素を有するアレイ型記録装置 (a)データを記録する記録媒体、 (b)上記記録媒体に記録されるデータの冗長データを
    記録する半導体記録媒体。
JP22697692A 1992-08-26 1992-08-26 アレイ型記録装置 Expired - Fee Related JP3183719B2 (ja)

Priority Applications (13)

Application Number Priority Date Filing Date Title
JP22697692A JP3183719B2 (ja) 1992-08-26 1992-08-26 アレイ型記録装置
US08/110,423 US5517632A (en) 1992-08-26 1993-08-23 Redundant array of disks with improved storage and recovery speed
EP93113563A EP0584804B1 (en) 1992-08-26 1993-08-25 Redundant array of disks with improved storage and recovery speed
EP98250105A EP0871120A3 (en) 1992-08-26 1993-08-25 Method of storing data in a redundant group of disks and redundant array of disks
EP98250108A EP0871121A3 (en) 1992-08-26 1993-08-25 Method of storing data in a redundant group of disks
EP98250109A EP0869436A3 (en) 1992-08-26 1993-08-25 Method of storing data in a redundant array of disks and redundant array of disks
DE69321901T DE69321901T2 (de) 1992-08-26 1993-08-25 Redundante Speicherplattenmatrix mit verbesserter Schreib- und Lesegeschwindigkeit
EP98250107A EP0874313A3 (en) 1992-08-26 1993-08-25 Method of storing data in a redundant array of disks
EP98250106A EP0874312A3 (en) 1992-08-26 1993-08-25 Method of replacing faulty disks in a redundant array of disks
US08/582,875 US5644697A (en) 1992-08-26 1996-01-04 Redundant array of disks with improved storage and recovery speed
US08/582,947 US5701407A (en) 1992-08-26 1996-01-04 Redundant array of disks with improved data reconstruction
US08/582,874 US5701406A (en) 1992-08-26 1996-01-04 Redundant array of disks with improved storage and recovery speed
US08/582,872 US5737745A (en) 1992-08-26 1996-01-04 Redundant array of disks with host notification process for improved storage and recovery speed

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22697692A JP3183719B2 (ja) 1992-08-26 1992-08-26 アレイ型記録装置

Publications (2)

Publication Number Publication Date
JPH0675708A true JPH0675708A (ja) 1994-03-18
JP3183719B2 JP3183719B2 (ja) 2001-07-09

Family

ID=16853569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22697692A Expired - Fee Related JP3183719B2 (ja) 1992-08-26 1992-08-26 アレイ型記録装置

Country Status (4)

Country Link
US (5) US5517632A (ja)
EP (6) EP0874312A3 (ja)
JP (1) JP3183719B2 (ja)
DE (1) DE69321901T2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996021896A1 (fr) * 1995-01-11 1996-07-18 Hitachi, Ltd. Sous-systeme a ensemble de disques
JPH08328756A (ja) * 1995-06-06 1996-12-13 Internatl Business Mach Corp <Ibm> ディスク駆動機構データ記憶装置
JPH0934654A (ja) * 1995-07-14 1997-02-07 Nec Corp ディスクアレイサブシステム
WO2006072991A1 (ja) * 2005-01-07 2006-07-13 Fujitsu Limited Raid装置におけるライトバック方法
JP2008217884A (ja) * 2007-03-02 2008-09-18 Hitachi Ltd 録画再生装置、および、そのファイル制御方法
JP2008269638A (ja) * 2002-06-24 2008-11-06 Network Appliance Inc Raidデータの復元および移動でのファイルシステム情報の使用
JP2011065625A (ja) * 2009-09-17 2011-03-31 Hitachi Ltd 大容量ディスクドライブの使用方法及び装置
JP2011086160A (ja) * 2009-10-16 2011-04-28 Fujitsu Ltd 記憶装置、制御装置および記憶装置の制御方法
JP2012079162A (ja) * 2010-10-04 2012-04-19 Fujitsu Ltd 管理プログラム、管理装置、および管理方法

Families Citing this family (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909700A (en) * 1996-12-23 1999-06-01 Emc Corporation Back-up data storage facility incorporating filtering to select data items to be backed up
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
US6138126A (en) * 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
US5522032A (en) * 1994-05-05 1996-05-28 International Business Machines Corporation Raid level 5 with free blocks parity cache
JP2682439B2 (ja) * 1994-05-10 1997-11-26 日本電気株式会社 データの不正複写防止方法及び不正複写防止機能を有する情報記録制御装置
DE69533764T2 (de) * 1994-06-22 2005-12-01 Hewlett-Packard Development Co., L.P., Houston Verfahren zum Gebrauch von Speicherplatten unterschiedlicher Inhalte in einem Einzelvolumen einer hierarchischen Speicherplattenanordnung
JP3687111B2 (ja) * 1994-08-18 2005-08-24 株式会社日立製作所 記憶装置システムおよび記憶装置の制御方法
US5572661A (en) * 1994-10-05 1996-11-05 Hewlett-Packard Company Methods and system for detecting data loss in a hierarchic data storage system
JPH08202506A (ja) * 1995-01-30 1996-08-09 Fujitsu Ltd データ転送制御装置及びデータ転送制御方法
US5542065A (en) * 1995-02-10 1996-07-30 Hewlett-Packard Company Methods for using non-contiguously reserved storage space for data migration in a redundant hierarchic data storage system
US6195217B1 (en) * 1995-03-06 2001-02-27 Hyundai Electronics Industries Co., Ltd. Hard disk equipped with a memory for storing file allocation table (FAT) information
JP3358687B2 (ja) * 1995-03-13 2002-12-24 株式会社日立製作所 ディスクアレイ装置
US5657468A (en) * 1995-08-17 1997-08-12 Ambex Technologies, Inc. Method and apparatus for improving performance in a reduntant array of independent disks
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
US5822584A (en) * 1995-10-13 1998-10-13 Compaq Computer Corporation User selectable priority for disk array background operations
US5860090A (en) * 1995-10-20 1999-01-12 Informix Software, Inc. Append-only storage in a disk array using striping and parity caching
US6449730B2 (en) 1995-10-24 2002-09-10 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
US5862312A (en) 1995-10-24 1999-01-19 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
US5862158A (en) * 1995-11-08 1999-01-19 International Business Machines Corporation Efficient method for providing fault tolerance against double device failures in multiple device systems
US5720025A (en) * 1996-01-18 1998-02-17 Hewlett-Packard Company Frequently-redundant array of independent disks
JP3170455B2 (ja) * 1996-05-27 2001-05-28 インターナショナル・ビジネス・マシーンズ・コーポレ−ション データ記憶システムにおけるデータの再配置方法、そのシステムに記憶されたデータのアクセス方法及びデータ記憶システム
EP0820059B1 (en) 1996-07-18 2004-01-14 Hitachi, Ltd. Method and apparatus for controlling a magnetic disk storage device and a disk array system
US6078989A (en) * 1996-10-04 2000-06-20 Sony Corporation Disc array control method and disc array control apparatus
US6161165A (en) * 1996-11-14 2000-12-12 Emc Corporation High performance data path with XOR on the fly
US5835694A (en) * 1996-12-06 1998-11-10 International Business Machines Corporation Raid-configured disk drive array wherein array control occurs at the disk drive level
US6119212A (en) * 1997-04-23 2000-09-12 Advanced Micro Devices, Inc. Root size decrease on a UNIX based computer system
US5968170A (en) * 1997-04-23 1999-10-19 Advanced Micro Devices, Inc. Primary swap size increase on a UNIX based computer system
US5991860A (en) * 1997-04-23 1999-11-23 Advanced Micro Devices, Inc. Root file system size increase on a unix based computer system
US5964874A (en) * 1997-04-23 1999-10-12 Advanced Micro Devices, Inc. Swap size decrease on a UNIX based computer system
US6000010A (en) * 1997-05-09 1999-12-07 Unisys Corporation Method of increasing the storage capacity of a level five RAID disk array by adding, in a single step, a new parity block and N--1 new data blocks which respectively reside in a new columns, where N is at least two
JPH11110267A (ja) * 1997-10-02 1999-04-23 Oki Electric Ind Co Ltd データ保存装置、データ保存方法及び記録媒体
US6341342B1 (en) * 1997-11-04 2002-01-22 Compaq Information Technologies Group, L.P. Method and apparatus for zeroing a transfer buffer memory as a background task
US6088777A (en) * 1997-11-12 2000-07-11 Ericsson Messaging Systems, Inc. Memory system and method for dynamically allocating a memory divided into plural classes with different block sizes to store variable length messages
US6567889B1 (en) * 1997-12-19 2003-05-20 Lsi Logic Corporation Apparatus and method to provide virtual solid state disk in cache memory in a storage controller
US6799224B1 (en) 1998-03-10 2004-09-28 Quad Research High speed fault tolerant mass storage network information server
US6260155B1 (en) 1998-05-01 2001-07-10 Quad Research Network information server
US6243827B1 (en) 1998-06-30 2001-06-05 Digi-Data Corporation Multiple-channel failure detection in raid systems
US6405284B1 (en) * 1998-10-23 2002-06-11 Oracle Corporation Distributing data across multiple data storage devices in a data storage system
US6487633B1 (en) 1999-05-03 2002-11-26 3Ware, Inc. Methods and systems for accessing disks using forward and reverse seeks
US6591338B1 (en) 1999-05-03 2003-07-08 3Ware, Inc. Methods and systems for mirrored disk arrays
EP1198793A4 (en) * 1999-05-03 2004-05-12 3Ware Inc METHOD AND DEVICE FOR A SYMMETRIC PLATE ARRANGEMENT
JP4461511B2 (ja) 1999-06-09 2010-05-12 株式会社日立製作所 ディスクアレイ装置及びディスク装置へのデータ読み出し/書き込み方式
US6915394B1 (en) 1999-09-29 2005-07-05 Emc Corporation Microprocessor interface
US6581137B1 (en) * 1999-09-29 2003-06-17 Emc Corporation Data storage system
US6836818B1 (en) * 1999-09-29 2004-12-28 Emc Corporation Central processing unit
US6519739B1 (en) 1999-09-29 2003-02-11 Emc Corporation Fault detector
US6735655B1 (en) 1999-09-29 2004-05-11 Emc Corporation Interrupt request controller
US6543029B1 (en) 1999-09-29 2003-04-01 Emc Corporation Error corrector
US6594780B1 (en) * 1999-10-19 2003-07-15 Inasoft, Inc. Operating system and data protection
US7337360B2 (en) * 1999-10-19 2008-02-26 Idocrase Investments Llc Stored memory recovery system
US6516425B1 (en) * 1999-10-29 2003-02-04 Hewlett-Packard Co. Raid rebuild using most vulnerable data redundancy scheme first
MXPA02004748A (es) * 1999-11-10 2004-01-19 Thomson Licensing Sa Un metodo para la recuperacion de desastre para un medio de disco de re-escritrua.
JP4169890B2 (ja) * 1999-11-12 2008-10-22 松下電器産業株式会社 記録装置及びプログラム記録媒体
US6594659B1 (en) * 1999-11-29 2003-07-15 Lucent Technologies Inc. Method for creating a toll-free number audit tape
US6530008B1 (en) * 1999-11-29 2003-03-04 Lucent Technologies Inc. Method for managing a database for storing variable size data records using fixed size buckets
WO2001040925A1 (fr) * 1999-12-02 2001-06-07 Fujitsu Limited Batterie de disques et procede d'extension de sa capacite
US6839827B1 (en) 2000-01-18 2005-01-04 International Business Machines Corporation Method, system, program, and data structures for mapping logical blocks to physical blocks
US6571351B1 (en) 2000-04-07 2003-05-27 Omneon Video Networks Tightly coupled secondary storage system and file system
US6651513B2 (en) * 2000-04-27 2003-11-25 Endress + Hauser Flowtec Ag Vibration meter and method of measuring a viscosity of a fluid
US7263476B1 (en) * 2000-06-12 2007-08-28 Quad Research High speed information processing and mass storage system and method, particularly for information and application servers
US6675318B1 (en) * 2000-07-25 2004-01-06 Sun Microsystems, Inc. Two-dimensional storage array with prompt parity in one dimension and delayed parity in a second dimension
US6745284B1 (en) * 2000-10-02 2004-06-01 Sun Microsystems, Inc. Data storage subsystem including a storage disk array employing dynamic data striping
US7444593B1 (en) * 2000-10-04 2008-10-28 Apple Inc. Disk space management and clip remainder during edit operations
US6810491B1 (en) * 2000-10-12 2004-10-26 Hitachi America, Ltd. Method and apparatus for the takeover of primary volume in multiple volume mirroring
US6871295B2 (en) * 2001-01-29 2005-03-22 Adaptec, Inc. Dynamic data recovery
US20020124137A1 (en) * 2001-01-29 2002-09-05 Ulrich Thomas R. Enhancing disk array performance via variable parity based load balancing
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US7054927B2 (en) 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US20020138559A1 (en) * 2001-01-29 2002-09-26 Ulrich Thomas R. Dynamically distributed file system
US6862692B2 (en) * 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
US6990547B2 (en) * 2001-01-29 2006-01-24 Adaptec, Inc. Replacing file system processors by hot swapping
US7765378B1 (en) * 2001-06-01 2010-07-27 Sanbolic, Inc. Utilization of memory storage
US6981171B2 (en) * 2001-06-05 2005-12-27 Sun Microsystems, Inc. Data storage array employing block verification information to invoke initialization procedures
GB2377049A (en) * 2001-06-30 2002-12-31 Hewlett Packard Co Billing for utilisation of a data storage array
US6959399B2 (en) * 2001-09-24 2005-10-25 International Business Machines Corporation Selective automated power cycling of faulty disk in intelligent disk array enclosure for error recovery
US6910100B2 (en) * 2002-03-13 2005-06-21 Intel Corporation Detecting open write transactions to mass storage
US7185031B2 (en) * 2002-03-25 2007-02-27 Quantum Corporation Creating a backup volume using a data profile of a host volume
US6925541B2 (en) * 2002-06-12 2005-08-02 Hitachi, Ltd. Method and apparatus for managing replication volumes
US6922752B2 (en) * 2002-08-23 2005-07-26 Hewlett-Packard Development Company, L.P. Storage system using fast storage devices for storing redundant data
US7979632B2 (en) * 2002-09-06 2011-07-12 Hewlett-Packard Development Company, L.P. Storage system including a fast storage device for storing redundant data
US7290548B2 (en) * 2002-10-04 2007-11-06 Medtec, Inc. Reinforced thermoplastic patient restraints for radiation therapy
US6925526B2 (en) * 2002-10-31 2005-08-02 International Business Machines Corporation Method and apparatus for servicing mixed block size data access operations in a disk drive data storage device
JP2004227098A (ja) * 2003-01-20 2004-08-12 Hitachi Ltd 記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置
US7032086B2 (en) * 2003-02-28 2006-04-18 Hewlett-Packard Development Company, L.P. System and method for adjusting storage device layout with at least one status for the adjusting
US20040181707A1 (en) 2003-03-11 2004-09-16 Hitachi, Ltd. Method and apparatus for seamless management for disaster recovery
US7278053B2 (en) * 2003-05-06 2007-10-02 International Business Machines Corporation Self healing storage system
US20040250028A1 (en) * 2003-06-09 2004-12-09 Daniels Rodger D. Method and apparatus for data version checking
US7240180B2 (en) * 2003-06-12 2007-07-03 International Business Machines Corporation Method and system for simultaneously supporting different block sizes on a single hard drive
US7143305B2 (en) * 2003-06-25 2006-11-28 International Business Machines Corporation Using redundant spares to reduce storage device array rebuild time
US7028139B1 (en) 2003-07-03 2006-04-11 Veritas Operating Corporation Application-assisted recovery from data corruption in parity RAID storage using successive re-reads
JP4401132B2 (ja) * 2003-09-19 2010-01-20 株式会社日立国際電気 循環記録装置
US8645622B2 (en) * 2003-11-18 2014-02-04 International Business Machines Corporation Method to protect data on a disk drive from uncorrectable media errors
EP1619584A1 (en) * 2004-02-13 2006-01-25 Jaluna SA Memory allocation
JP2005309957A (ja) * 2004-04-23 2005-11-04 Denso Corp マイクロコンピュータ、車載システム
JP4476021B2 (ja) 2004-05-24 2010-06-09 株式会社日立製作所 ディスクアレイシステム
JP4404353B2 (ja) * 2004-05-25 2010-01-27 株式会社日立製作所 ディスク故障を抑止するディスクアレイ
US7516354B2 (en) * 2004-08-25 2009-04-07 International Business Machines Corporation Storing parity information for data recovery
JP2006107351A (ja) * 2004-10-08 2006-04-20 Fujitsu Ltd データ移行方法、記憶装置及びプログラム
US7143308B2 (en) * 2005-01-14 2006-11-28 Charlie Tseng Apparatus, system, and method for differential rebuilding of a reactivated offline RAID member disk
JP4441929B2 (ja) * 2005-01-19 2010-03-31 日本電気株式会社 ディスク装置及びホットスワップ方法
US20060236149A1 (en) * 2005-04-14 2006-10-19 Dell Products L.P. System and method for rebuilding a storage disk
US20060259683A1 (en) * 2005-05-16 2006-11-16 Oracle International Corporation Method and system for disk stippling
JP4927408B2 (ja) 2006-01-25 2012-05-09 株式会社日立製作所 記憶システム及びそのデータ復元方法
US20080005382A1 (en) * 2006-06-14 2008-01-03 Hitachi, Ltd. System and method for resource allocation in fault tolerant storage system
JP2008134830A (ja) * 2006-11-28 2008-06-12 Hitachi Ltd 節電機能と診断機能の両方を備えたストレージシステム
US7624300B2 (en) * 2006-12-18 2009-11-24 Emc Corporation Managing storage stability
US8965956B2 (en) * 2007-10-09 2015-02-24 Cleversafe, Inc. Integrated client for use with a dispersed data storage network
US20090240881A1 (en) * 2008-03-24 2009-09-24 Munif Farhan Halloush System and Method for Information Handling System Operation With Different Types of Permanent Storage Devices
US8041991B2 (en) * 2008-11-18 2011-10-18 Lsi Corporation System and method for recovering solid state drive data
US8255774B2 (en) * 2009-02-17 2012-08-28 Seagate Technology Data storage system with non-volatile memory for error correction
DE102009031923A1 (de) * 2009-07-07 2011-01-13 Sones Gmbh Verfahren zum Verwalten von Datenobjekten
US8700567B2 (en) * 2011-02-28 2014-04-15 Hitachi, Ltd. Information apparatus
US9767098B2 (en) 2012-08-08 2017-09-19 Amazon Technologies, Inc. Archival data storage system
US9563681B1 (en) 2012-08-08 2017-02-07 Amazon Technologies, Inc. Archival data flow management
US8719664B1 (en) * 2011-04-12 2014-05-06 Sk Hynix Memory Solutions Inc. Memory protection cache
US9304912B1 (en) * 2012-01-06 2016-04-05 Marvell International Ltd. Systems and methods for building redundancy data in a RAID system
US8959067B1 (en) 2012-08-08 2015-02-17 Amazon Technologies, Inc. Data storage inventory indexing
US8805793B2 (en) 2012-08-08 2014-08-12 Amazon Technologies, Inc. Data storage integrity validation
US9652487B1 (en) 2012-08-08 2017-05-16 Amazon Technologies, Inc. Programmable checksum calculations on data storage devices
US9904788B2 (en) 2012-08-08 2018-02-27 Amazon Technologies, Inc. Redundant key management
US9225675B2 (en) 2012-08-08 2015-12-29 Amazon Technologies, Inc. Data storage application programming interface
US9779035B1 (en) 2012-08-08 2017-10-03 Amazon Technologies, Inc. Log-based data storage on sequentially written media
US9830111B1 (en) 2012-08-08 2017-11-28 Amazon Technologies, Inc. Data storage space management
US10120579B1 (en) 2012-08-08 2018-11-06 Amazon Technologies, Inc. Data storage management for sequentially written media
US9524800B2 (en) 2012-09-26 2016-12-20 International Business Machines Corporation Performance evaluation of solid state memory device
US10558581B1 (en) * 2013-02-19 2020-02-11 Amazon Technologies, Inc. Systems and techniques for data recovery in a keymapless data storage system
JP5982708B2 (ja) * 2013-08-09 2016-08-31 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. ファイル処理方法およびストレージデバイス
US10671500B2 (en) 2014-06-09 2020-06-02 Oracle International Corporation Sequential resilvering of storage devices with reduced restarts
US9594635B2 (en) * 2014-06-09 2017-03-14 Oracle International Corporation Systems and methods for sequential resilvering
US10496496B2 (en) * 2014-10-29 2019-12-03 Hewlett Packard Enterprise Development Lp Data restoration using allocation maps
US11386060B1 (en) 2015-09-23 2022-07-12 Amazon Technologies, Inc. Techniques for verifiably processing data in distributed computing systems
US11436092B2 (en) 2020-04-20 2022-09-06 Hewlett Packard Enterprise Development Lp Backup objects for fully provisioned volumes with thin lists of chunk signatures

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4053752A (en) * 1975-09-15 1977-10-11 International Business Machines Corporation Error recovery and control in a mass storage system
US4761785B1 (en) * 1986-06-12 1996-03-12 Ibm Parity spreading to enhance storage access
JP2960415B2 (ja) * 1987-05-22 1999-10-06 株式会社日立製作所 記憶保護方法および装置
US4864572A (en) * 1987-05-26 1989-09-05 Rechen James B Framing bitstreams
CA1296103C (en) * 1987-06-02 1992-02-18 Theodore Jay Goodlander High-speed, high capacity, fault-tolerant, error-correcting storage system
US4942579A (en) * 1987-06-02 1990-07-17 Cab-Tek, Inc. High-speed, high-capacity, fault-tolerant error-correcting storage system
US4884271A (en) * 1987-12-28 1989-11-28 International Business Machines Corporation Error checking and correcting for read-modified-write operations
US4993030A (en) * 1988-04-22 1991-02-12 Amdahl Corporation File system for a plurality of storage classes
US4989205A (en) * 1988-06-28 1991-01-29 Storage Technology Corporation Disk drive memory
US4914656A (en) * 1988-06-28 1990-04-03 Storage Technology Corporation Disk drive memory
DE68923044T2 (de) * 1988-08-30 1996-02-22 At & T Global Inf Solution Verfahren zur Datenübertragung zwischen Speichern.
AU630635B2 (en) * 1988-11-14 1992-11-05 Emc Corporation Arrayed disk drive system and method
US5058003A (en) * 1988-12-15 1991-10-15 International Business Machines Corporation Virtual storage dynamic address translation mechanism for multiple-sized pages
JP2913840B2 (ja) * 1989-12-25 1999-06-28 株式会社日立製作所 集合ディスク装置
US5402428A (en) * 1989-12-25 1995-03-28 Hitachi, Ltd. Array disk subsystem
US5088081A (en) * 1990-03-28 1992-02-11 Prime Computer, Inc. Method and apparatus for improved disk access
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
JPH0731582B2 (ja) * 1990-06-21 1995-04-10 インターナショナル・ビジネス・マシーンズ・コーポレイション パリティ保護データを回復するための方法および装置
US5265098A (en) * 1990-08-03 1993-11-23 International Business Machines Corporation Method and means for managing DASD array accesses when operating in degraded mode
US5210866A (en) * 1990-09-12 1993-05-11 Storage Technology Corporation Incremental disk backup system for a dynamically mapped data storage subsystem
US5375128A (en) * 1990-10-18 1994-12-20 Ibm Corporation (International Business Machines Corporation) Fast updating of DASD arrays using selective shadow writing of parity and data blocks, tracks, or cylinders
EP0485110B1 (en) * 1990-11-09 1999-08-25 Emc Corporation Logical partitioning of a redundant array storage 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
US5257362A (en) * 1991-03-08 1993-10-26 International Business Machines Corporation Method and means for ensuring single pass small read/write access to variable length records stored on selected DASDs in a DASD array
JP2743606B2 (ja) * 1991-04-11 1998-04-22 三菱電機株式会社 アレイ型記録装置
US5481694A (en) * 1991-09-26 1996-01-02 Hewlett-Packard Company High performance multiple-unit electronic data storage system with checkpoint logs for rapid failure recovery
US5499337A (en) * 1991-09-27 1996-03-12 Emc Corporation Storage device array architecture with solid-state redundancy unit
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
US5313626A (en) * 1991-12-17 1994-05-17 Jones Craig S Disk drive array with efficient background rebuilding
US5333305A (en) * 1991-12-27 1994-07-26 Compaq Computer Corporation Method for improving partial stripe write performance in disk array subsystems
CA2126754A1 (en) * 1991-12-27 1993-07-08 E. David Neufeld Method for performing disk array operations using a nonuniform stripe size mapping scheme
US5442752A (en) * 1992-01-24 1995-08-15 International Business Machines Corporation Data storage method for DASD arrays using striping based on file length
US5418921A (en) * 1992-05-05 1995-05-23 International Business Machines Corporation Method and means for fast writing data to LRU cached based DASD arrays under diverse fault tolerant modes
US5331646A (en) * 1992-05-08 1994-07-19 Compaq Computer Corporation Error correcting code technique for improving reliablility of a disk array
US5459857A (en) * 1992-05-15 1995-10-17 Storage Technology Corporation Fault tolerant disk array data storage subsystem
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
US5448719A (en) * 1992-06-05 1995-09-05 Compaq Computer Corp. Method and apparatus for maintaining and retrieving live data in a posted write cache in case of power failure
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
US5426761A (en) * 1992-12-22 1995-06-20 International Business Machines Corporation Cache DASD sequential staging and method
US5499354A (en) * 1993-05-19 1996-03-12 International Business Machines Corporation Method and means for dynamic cache management by variable space and time binding and rebinding of cache extents to DASD cylinders
US5392244A (en) * 1993-08-19 1995-02-21 Hewlett-Packard Company Memory systems with data storage redundancy management

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996021896A1 (fr) * 1995-01-11 1996-07-18 Hitachi, Ltd. Sous-systeme a ensemble de disques
JPH08328756A (ja) * 1995-06-06 1996-12-13 Internatl Business Mach Corp <Ibm> ディスク駆動機構データ記憶装置
JPH0934654A (ja) * 1995-07-14 1997-02-07 Nec Corp ディスクアレイサブシステム
JP2008269638A (ja) * 2002-06-24 2008-11-06 Network Appliance Inc Raidデータの復元および移動でのファイルシステム情報の使用
WO2006072991A1 (ja) * 2005-01-07 2006-07-13 Fujitsu Limited Raid装置におけるライトバック方法
JP2008217884A (ja) * 2007-03-02 2008-09-18 Hitachi Ltd 録画再生装置、および、そのファイル制御方法
JP2011065625A (ja) * 2009-09-17 2011-03-31 Hitachi Ltd 大容量ディスクドライブの使用方法及び装置
US9122787B2 (en) 2009-09-17 2015-09-01 Hitachi, Ltd. Method and apparatus to utilize large capacity disk drives
US9389975B2 (en) 2009-09-17 2016-07-12 Hitachi, Ltd. Method and apparatus to utilize large capacity disk drives
JP2011086160A (ja) * 2009-10-16 2011-04-28 Fujitsu Ltd 記憶装置、制御装置および記憶装置の制御方法
JP2012079162A (ja) * 2010-10-04 2012-04-19 Fujitsu Ltd 管理プログラム、管理装置、および管理方法

Also Published As

Publication number Publication date
US5737745A (en) 1998-04-07
EP0869436A2 (en) 1998-10-07
EP0871121A2 (en) 1998-10-14
EP0874313A3 (en) 2001-09-05
US5701407A (en) 1997-12-23
US5701406A (en) 1997-12-23
DE69321901D1 (de) 1998-12-10
JP3183719B2 (ja) 2001-07-09
EP0584804A3 (en) 1994-08-10
EP0584804B1 (en) 1998-11-04
EP0874313A2 (en) 1998-10-28
US5517632A (en) 1996-05-14
EP0874312A2 (en) 1998-10-28
EP0874312A3 (en) 2001-09-05
EP0584804A2 (en) 1994-03-02
EP0871120A3 (en) 2001-09-05
US5644697A (en) 1997-07-01
EP0871120A2 (en) 1998-10-14
EP0871121A3 (en) 2001-09-05
EP0869436A3 (en) 2000-09-13
DE69321901T2 (de) 1999-04-22

Similar Documents

Publication Publication Date Title
JP3183719B2 (ja) アレイ型記録装置
US6408400B2 (en) Disk array device
JP2743606B2 (ja) アレイ型記録装置
US7774643B2 (en) Method and apparatus for preventing permanent data loss due to single failure of a fault tolerant array
US5596709A (en) Method and apparatus for recovering parity protected data
US8904129B2 (en) Method and apparatus for backup and restore in a dynamic chunk allocation storage system
JP3266277B2 (ja) 階層記憶管理システムのための変換式raid
US7721143B2 (en) Method for reducing rebuild time on a RAID device
US6990611B2 (en) Recovering data from arrays of storage devices after certain failures
US7152184B2 (en) Storage device, backup method and computer program code of this storage device
JP3243223B2 (ja) 記憶デバイスアレイ
US5579474A (en) Disk array system and its control method
US7047358B2 (en) High-performance log-structured RAID
JP3511576B2 (ja) ディスク記録再生方法および装置
US7437508B2 (en) Method and system for storing data in an array of storage devices with additional and autonomic protection
US6151685A (en) System and method for recovering a segment directory for a log structured array
WO1993023803A1 (fr) Appareil de commande pour pile de disques
JP2008204041A (ja) ストレージ装置及びデータ配置制御方法
JPH0619632A (ja) コンピユータ・システムのストレージ装置及びデータのストア方法
WO2003058453A1 (en) High-performance log-structured raid
JPH04507015A (ja) データ処理システムの操作方法
JP4248164B2 (ja) ディスクアレイのエラー回復方法、ディスクアレイ制御装置及びディスクアレイ装置
JP2005107839A (ja) アレイコントローラ及びディスクアレイ再構築方法
JPH07306758A (ja) ディスクアレイ装置及びその制御方法
US20050081088A1 (en) Array controller for disk array, and method for rebuilding disk array

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees