JP2000047831A - 情報記憶装置及びプログラムが記憶された記録媒体 - Google Patents

情報記憶装置及びプログラムが記憶された記録媒体

Info

Publication number
JP2000047831A
JP2000047831A JP10260601A JP26060198A JP2000047831A JP 2000047831 A JP2000047831 A JP 2000047831A JP 10260601 A JP10260601 A JP 10260601A JP 26060198 A JP26060198 A JP 26060198A JP 2000047831 A JP2000047831 A JP 2000047831A
Authority
JP
Japan
Prior art keywords
information
division
external storage
data
storage device
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
JP10260601A
Other languages
English (en)
Other versions
JP4234233B2 (ja
Inventor
Akira Karasutani
彰 烏谷
Yasuhiko Nakano
泰彦 中野
Yoshiyuki Okada
佳之 岡田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP26060198A priority Critical patent/JP4234233B2/ja
Priority to US09/314,384 priority patent/US6581135B2/en
Publication of JP2000047831A publication Critical patent/JP2000047831A/ja
Application granted granted Critical
Publication of JP4234233B2 publication Critical patent/JP4234233B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/1096Parity calculation or recalculation after configuration or reconfiguration of the system
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

(57)【要約】 【課題】 複数の記憶手段に情報を入出力する情報記憶
装置及びプログラムが記憶された記録媒体に関し、外部
記憶装置を追加又は削減しても接続された複数の外部記
憶装置の間でデータ量に偏りなくデータを記憶できる情
報記憶装置及びプログラムが記憶された記録媒体を提供
することを目的とする。 【解決手段】 記憶手段に変更があったとき変更があっ
た後に書き込まれるデータは変更後の構成に応じて分割
記憶し、変更前に記憶されたデータは読み出されたとき
に変更後の構成に応じた再分割記憶する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は情報記憶装置及びプ
ログラムが記憶された記録媒体に係り、特に、複数の記
憶手段に情報を入出力する情報記憶装置及びプログラム
が記憶された記録媒体に関する。
【0002】
【従来の技術】近年、パーソナルコンピュータなどの普
及とともにインターネットの急速な発展で音声や画像デ
ータを高速に転送したいとの要求が増えている。しか
し、大規模なデータを円滑に流すだけのネットワーク、
ストレージ技術、それにリアルタイムに送信するネット
ワークプロトコルなどの技術はまだ十分でなく、それら
の技術の早急な開発が急務となっている。
【0003】高速な転送速度を有するストレージから映
像などを再生する、例えば、VOD(Video On Demand
)やビデオのノンリニア編集などでは、RAID(Red
undant Array of Inexpensive Disks )と呼ばれる技
術が既に開発されている。なお、RAID技術は、19
87年にDavid A. Patterson, Garth Gibson, Randy H.
Katz らによって米国のカリフォルニア大学バークレー
校で出版された「A Casefor Redundant Arrays of In
expensive Disks」という論文で最初に提案されもので
あり、複数個のハードディスクドライブを用いてアレイ
を構成し、データを分割して複数個のハードディスクド
ライブに並列に同時に格納することにより処理速度を高
速化するものである。RAID技術によりデータ転送速
度が速く、信頼性の高い外部記憶装置を構成できる。
【0004】ここで、RAID技術について詳細に説明
する。図1にRAIDのシステム構成図を示す。RAI
Dシステム1は、ホストコンピュータ2に並列に接続さ
れた複数の外部記憶装置3−1〜3−nを接続した構成
とされている。RAIDでデータを記憶する場合には、
同一の内容を複数の外部記憶装置へ書き込む方法や、デ
ータを複数のデータブロックへ分割(ストライピング)
し、データブロック毎に異なる外部記憶装置へ記憶する
方法を用いる。また、データの信頼性を向上するために
分割した複数のデータブロックからエラー訂正符号を生
成し、外部記憶装置に記憶する。エラー訂正符号により
一部のデータブロックが失われても、残ったデータとエ
ラー訂正符号から正しいデータを復元できる。
【0005】なお、RAIDにはデータブロックの分割
方法やエラー訂正符号の管理方法の違いからRAID0
〜RAID5の6種類のRAIDが定義されている。ま
ず、RAID0について説明する。RAID0は、デー
タを複数のデータブロックにストライピングし、データ
ブロック毎に異なる外部記憶装置へ記憶する。但し、R
AID0では、エラー訂正符号は作成しないので、フォ
ールトレラント性はない。
【0006】RAID1は、2台の外部記憶装置から構
成し、一方の外部記憶装置にデータを記憶し、全く同一
の内容をもう一つの外部記憶装置に記憶する。このた
め、一方の外部記憶装置が故障し、データの入出力が不
可能になっても他方の外部記憶装置を用いてデータの入
出力が可能となる。RAID2は、データをビット単位
でストライピングし、エラー訂正符号としてハミング符
号を付加し、付加したエラー訂正符号を複数の外部記憶
装置に分散して記憶する。
【0007】RAID3は、データをビットもしくはバ
イト単位でストラピングし、エラー訂正符号としてパリ
ティを用い、パリティは専用に割り当てられた外部記憶
装置に記憶される。RAID4は、データを複数のバイ
ト単位でストライピングし、エラー訂正符号にパリティ
を用い、パリティはパリティ専用に割り当てられた外部
記憶装置に記憶する。
【0008】RAID5は、データを複数のバイト単位
でストライピングし、エラー訂正符号にパリティを用
い、パリティは複数の外部記憶装置に分散して記憶す
る。上記RAID0〜RAID5のうちデータ転送速度
や各種処理に必要なオーバーヘッドを考慮し、通常はR
AID0,RAID1,RAID5の3つが用いられて
いる。
【0009】ここで、通常よく用いられるRAID5に
ついて詳細に説明する。図2はRAID5の処理を説明
するための図を示す。図2(A)は入力データ列、図2
(B)は外部記憶装置3−1〜3−4に分割されたデー
タブロックを示す。RAID5は、数バイト単位でスト
ライピングされたデータとそのエラー訂正符号を複数の
外部記憶装置に分散して記憶する方法である。例えば、
図2(A)に示すような入力データ列A1〜A28が入
力されると、データを予め決められた単位毎、例えば、
4つのデータ毎に1つのデータブロックを形成し、複数
のデータブロックBL1〜BL7にストライピングし、
複数の外部記憶装置に記憶する。このとき、同時に、ス
トライピングされたデータブロックBL1〜BL7の排
他的論理和を計算してパリティP1〜P3をデータブロ
ックとは異なる外部記憶装置に記憶する。なお、このと
き、パリティP1〜P3は、特定の外部記憶装置へ入出
力の要求が集中しないように、複数の外部記憶装置3−
1〜3−4に均等に分散して記憶する。一方、データ列
A1〜A28を読み出す場合には、外部記憶装置3−1
〜3−4に分散して記憶されているデータブロックBL
1〜BL7及びパリティP1〜P3を並列に読み出し、
ストライピングする前のデータを復元する。並列に処理
することで、外部記憶装置3−1〜3−4とインタフェ
ースを効率よく利用し、データ転送速度を速くできる。
【0010】RAIDを実装する際には、ハードウェア
による方法か、もしくはソフトウェアを選択できる。ハ
ードウェアを用いる場合は、RAIDコントローラなど
の専用回路でパリティの計算やデータのストライピン
グ、さらにデータブロックから元のデータを復元する処
理を行う。高速な処理が期待できる反面、新たなハード
ウェアを導入するための複雑な作業が必要になり、価格
も高い。ソフトウェアの場合は、新たなハードウェアを
導入する必要もなく、導入作業も比較的簡単な上、安価
である。しかしながら、ソフトウェアを用いる方法はハ
ードウェアを用いる方法に比べて性能が低下する。
【0011】また、RAIDは、データ転送速度の高速
化や信頼性の向上という利点がある一方で、一旦運用を
始めると記憶容量やRAIDの方法を容易に変更できな
いという問題点があった。例えば、記憶容量を増やすた
めには、フォーマッティングやデータの退避(バックア
ップ)さらにデータ復元(リストア)を行う必要があ
り、この間サービスの停止もしくはデータ転送速度の低
下を招く。
【0012】図3は従来のRAIDの構成を変更する際
の処理フローチャートを示す。RAIDシステムの構成
を変更する際には、まず、外部記憶装置に記憶されてい
る情報を全て読み出し、他の記憶装置にバックアップす
る(ステップS1−1)。ステップS1−1でRAID
システムに記憶されたデータを他の記憶装置にバックア
ップした後、システムを停止する(ステップS1−
2)。
【0013】ステップS1−2でシステム停止後、外部
記憶装置の追加、削除などシステムの変更が行われる
(ステップS1−3)。ステップS1−3で外部記憶装
置の追加、削除などシステムの変更が行われると、外部
記憶装置の台数など変更されたシステムの構成が認識さ
れる(ステップS1−4)。
【0014】ステップS1−4で外部記憶装置の台数な
ど変更されたシステムの構成が認識されると、新たに変
更されたシステムに最適な方式で、フォーマッティング
が行われる(ステップS1−5)。ステップS1−5
で、フォーマッティングが行われると、次に、他の記憶
装置にバックアップされたデータに対して新たに設定さ
れたフォーマッティングの形式に応じてストライピン
グ、パリティ計算を行い、バックアップデータをRAI
Dシステムに復帰させる(ステップS1−6)。
【0015】ステップS1−6でバックアップデータが
RAIDシステムに復帰された後、システムを起動する
(ステップS1−7)。以上のようにして、従来はRA
IDシステムの変更が行われていた。よって、システム
の停止、データのバックアップ、フォマッティングなど
を行わなければならず、システムの変更が容易ではな
い。
【0016】そこで、本出願人は、上記問題点を解決
し、システムの停止させずにデータ転送速度の低下を招
くことなく、記憶容量を増やす方法を提案している。本
出願人が既に提案した方法では、ストライピングしたデ
ータブロックの単位や数及び記憶したアドレス等の情
報、すなわち、ストライピング情報をデータブロックと
一緒に記憶し、同一のRAID装置でストライピング方
法の異なるデータを管理できるようにしている。
【0017】具体的には次の手順で行う。予めホストコ
ンピュータと外部記憶装置とを接続する際に、電源を切
らずに装置の接続が検出できるインタフェースにより接
続しておく。書き込み要求があった場合には、データを
ストライピングし、データブロックとストライピング情
報を外部記憶装置へ記憶する。ここで、容量を増やすた
めに記憶装置を追加した場合、書き込むデータを新しい
構成に応じてストライピング情報と共に記憶する。デー
タを読み出す際には、まずストライピング情報を取り出
し、取得した情報に従ってデータブロックを読み出し、
データを復元する。
【0018】従って、外部記憶装置の構成に応じたスト
ライピング方法を用いることができ、従来必要であった
フォーマッティングやバックアップなどの処理を行うこ
となくRAIDシステムを構成できる。フォーマッティ
ングやバックアップなどの処理を行うことなく、システ
ムの変更が可能なシステムについて説明する。
【0019】図4は停止することなく変更可能なシステ
ムの変更前の状態を示す図、図5はシステム変更後の状
態を示す図である。図4(A)は変更前の入力データ
列、図4(B)は変更前の外部記憶装置3−1〜3−3
のデータ記憶状態、図5(A)は変更後の入力データ
列、図5(B)は変更後の外部記憶装置3−1〜3−4
のデータ記憶状態を示す。
【0020】3つの外部記憶装置3−1〜3−3が接続
されたシステムにおいて、図4(A)に示すようにデー
タ列A1〜A8,B1〜B8,C1〜C8が入力される
と、データA1〜A8は、図4(B)に示すようにデー
タA1〜A4から構成されるデータブロックBL1及び
データA5〜A8から構成されるデータブロックBL2
にストライピングされて、データA1〜A8の誤り訂正
を行うためのパリティP1、データA1〜A8のストラ
イピングの方法を示すストライピング情報S1とともに
外部記憶装置3−1〜3−3に分散されて記憶される。
このとき、データブロックBL1はストライピング情報
S1とともに外部記憶装置3−1、データブロックBL
2は外部記憶装置3−2、パリティP1は外部記憶装置
3−3に記憶される。
【0021】次に、データB1〜B4から構成されるデ
ータブロックBL3、データB5〜B8から構成される
データブロックBL4、データB1〜B8の誤り訂正を
行うためのパリティP2、データB1〜B8のストライ
ピングの方法を示すストライピング情報S2が共に外部
記憶装置3−1〜3−3に分散されて記憶されるこのと
き、データブロックBL3はストライピング情報S2と
ともに外部記憶装置3−1、データブロックBL4は外
部記憶装置3−3、パリティP2は外部記憶装置3−2
に記憶される。。
【0022】また、データC1〜C4から構成されるデ
ータブロックBL5、データC5〜C8から構成される
データブロックBL6、データC1〜C8の誤り訂正を
行うためのパリティP3、データC1〜C8のストライ
ピングの方法を示すストライピング情報S3が共に外部
記憶装置3−1〜3−3に分散されて記憶されるこのと
き、データブロックBL5はストライピング情報S3と
ともに外部記憶装置3−2、データブロックBL6は外
部記憶装置3−3、パリティP3は外部記憶装置3−1
に記憶される。
【0023】ここで、システムに外部記憶装置3−1〜
3−3に加えて外部記憶装置3−4が付加されると、こ
れを検出して以降入力されるデータには4つの外部記憶
装置3−1〜3−4によりRAIDシステムが適用され
る。図5(A)に示すようにデータD1〜D8,E1〜
E8,F1〜F8が供給されると、データD1〜D8
は、図5(B)に示すようにデータD1〜D4から構成
されるデータブロックBL7及びデータD5〜D8から
構成されるデータブロックBL8にストライピングされ
る。また、データE1〜E8は、データE1〜E4から
構成されるデータブロックBL9及びデータE5〜E8
から構成されるデータブロックBL10にストライピング
される。さらに、データF1〜F8は、データF1〜F
4から構成されるデータブロックBL11及びデータF5
〜F8から構成されるデータブロックBL12にストライ
ピングされる。
【0024】データブロックBL7〜BL9は、データ
D1〜D8,E1〜E4の誤り訂正を行うためのパリテ
ィP4、ブロックBL7〜BL9のストライピングの方
法を示すストライピング情報S4とともに外部記憶装置
3−1〜3−4に分散されて記憶される。このとき、デ
ータブロックBL7はストライピング情報S4とともに
外部記憶装置3−1、データブロックBL8は外部記憶
装置3−2、データブロックBL9は外部記憶装置3−
3、パリティP4は外部記憶装置3−4にストライピン
グされ、記憶される。
【0025】また、データブロックBL10〜BL12は、
データE5〜E8,F1〜F8の誤り訂正を行うための
パリティP5、データブロックBL10〜BL12のストラ
イピングの方法を示すストライピング情報S5とともに
外部記憶装置3−1〜3−4に分散されて記憶される。
このとき、データブロックBL10はストライピング情報
S5とともに外部記憶装置3−1、データブロックBL
11は外部記憶装置3−2、データブロックBL12は外部
記憶装置3−4、パリティP5は外部記憶装置3−3に
ストライピングされ、記憶される。
【0026】
【発明が解決しようとする課題】しかるに、図4,図5
に示す本出願人が提案した情報記憶装置では、最初のR
AIDで記憶されたデータと、後から外部記憶装置が追
加されたRAIDで記憶されたデータとでデータ量に偏
りが生じる。図6はRAIDの構成を変更したときの課
題を説明するための図を示す。
【0027】例えば、データブロックDB11,DB12、
DB21,DB22、DB31,DB32、DB41,DB42、D
B51,DB52、DB61,DB62、DB71,DB72、DB
81,DB82、がパリティP1〜P8とともに3つの外部
記憶装置3−1〜3−3にストライピングされ、記憶さ
れている。ここで、システムが4つの外部記憶装置3−
1〜3−4が接続された構成とされた後、データブロッ
クDB91,DB92,DB93、DB01,DB02,DB03が
4つの外部記憶装置3−1〜3−4に記憶されると、図
6に示すようにデータブロックDB91,DB01は外部記
憶装置3−1、データブロックDB92,DB02は外部記
憶装置3−2、データブロックDB93,DB03は外部記
憶装置3−3、データブロックDB91,DB92,DB93
のパリティP9及びデータブロックDB01,DB02,D
B03のパリティP0が外部記憶装置3−4に記憶され
る。
【0028】このように、追加した外部記憶装置には追
加した後で書き込まれたデータのみが記憶され、最初か
らある外部記憶装置には最初から現時点までのデータが
記憶される。この結果、外部記憶装置毎のデータ量に偏
りが生じるので、データ入出力の要求を外部記憶装置へ
均等に分散できない。よって、記憶装置やインタフェー
スの動作効率が低下する。従って、本来実現可能なデー
タ転送速度を実現できない可能性がある。
【0029】また、RAIDにおいては、外部記憶装置
を追加して記憶容量を追加して記憶容量を増やすだでな
く、逆に、接続される外部記憶装置の台数を減らすこと
により、管理上のコスト、例えば、消費電力、価格など
を削減することも考えられる。しかしながら、本出願人
が提案した情報記憶装置では、構成を変更する前に記憶
したデータを変更した後のデータ構成で記憶し直す機能
はない。このため、外部記憶装置を取り外すことはでき
ない。
【0030】さらに、本出願人が提案した情報記憶装置
では1台の外部記憶装置の容量を使い切ってしまうと、
他の外部記憶装置の容量が余っていてもその容量をすべ
て利用できない。図7はRAIDの構成を変更したとき
の他の課題を説明するための図を示す。図7に示す外部
記憶装置3−1〜3−5は、外部記憶装置3−3、3−
4、3−5の順に追加されたとする。
【0031】外部記憶装置3−1と外部記憶装置3−2
とが接続された状態でデータブロックD11,D21,D3
1,D41が入力されると、外部記憶装置3−1にデータ
ブロックD11,D21及びデータブロックD31,D41のパ
リティP3,P4が記憶され、外部記憶装置3−2にデ
ータブロックD11,D21のパリティP1,P2及びデー
タブロックD31,D41が記憶される。
【0032】次に、外部記憶装置3−3が追加された
後、データブロックD51,D52,D61,D62,D71,D
72,D81,D82が入力されると、データブロックD51,
D61,D71,D81は外部記憶装置3−1に記憶され、デ
ータブロックD52,D62及びデータブロックD71,D7
2、D81,D82のパリティP7,P8は外部記憶装置3
−2に記憶され、データブロックD51,D52、D61,D
62のパリティP5,P6及びデータブロックD72,D82
が外部記憶装置3−3に記憶される。
【0033】次に、外部記憶装置3−4が追加された
後、データブロックD91,D92,D93,D01,D02,D
03が入力されると、データブロックD91,D01は外部記
憶装置3−1に記憶され、データブロックD92,D02は
外部記憶装置3−2に記憶され、データブロックD93,
D03は外部記憶装置3−3に記憶され、データブロック
D91,D92,D93、D01,D02,D03のパリティP9,
P0は外部記憶装置3−5に記憶される。
【0034】ここで、外部記憶装置3−1,3−2が飽
和したとすると、外部記憶装置3−5を追加してデータ
を書き込もうとしても外部記憶装置3−1,3−2が飽
和しているので、それ以上データを書き込むことはでき
ない。よって、図6に破線で示すように使用されない記
憶領域が生じてしまう等の問題点があった。本発明は上
記の点に鑑みてなされたもので、外部記憶装置を追加又
は削減しても接続された複数の外部記憶装置の間でデー
タ量に偏りなくデータを記憶できる情報記憶装置及びプ
ログラムが記憶された記録媒体を提供することを目的と
する。
【0035】
【課題を解決するための手段】本発明は、入力された情
報を複数の記憶手段に分割して記憶する際に、複数の記
憶手段の構成が変更となったとき、既存の情報を新規の
構成に応じた分割方法で分割し、複数の記憶手段に記憶
する。また、複数の記憶手段に新規に記憶手段が追加さ
れたときに、新たに入力された情報を新規の構成の記憶
手段に応じた分割方法で記憶し、既に複数の記憶手段に
記憶された情報を、複数の記憶手段から読み出されたと
きに、新規の構成に応じた分割方法で分割して、記憶す
る。
【0036】さらに、複数の記憶手段から記憶手段が削
除されたときに、記憶装置が削除された後の構成に応じ
た分割方法に従って情報を記憶する。また、分割方法を
示す分割情報を管理する。このとき、分割情報は、前記
情報の分割個数と、情報が記憶される記憶手段における
アドレスと、情報の情報量とを有する構成とする。
【0037】また、情報を記憶手段に記憶するときに分
割情報を記憶する。さらに、情報にエラー訂正情報を付
与するとともに、エラー訂正情報に基づいて前記情報を
訂正する。また、既存の情報の全体の処理単位はそのま
まで、分割する単位を変更することにより新規構成に対
する情報を得る。
【0038】さらに、複数の記憶部を1つの記憶領域と
して処理する。本発明によれば、記憶手段の構成が変更
となったとき、既存の情報を新規の構成に応じた分割方
法で分割し、複数の記憶手段に記憶することにより、自
動的に新規の構成に適応した分割方法で情報を分割し、
記憶することができる。また、本発明によれば、複数の
記憶手段に新規に記憶手段が追加されたときに、新たに
入力された情報を新規の構成の記憶手段に応じた分割方
法で記憶し、既に複数の記憶手段に記憶された情報を、
複数の記憶手段から読み出されたときに、新規の構成に
応じた分割方法で分割して、記憶することにより、記憶
手段を追加したときにシステムを停止することなく、新
規の構成に適応した分割方法で情報を分割し、複数の記
憶手段に記憶できる。
【0039】さらに、本発明によれば、複数の記憶手段
から記憶手段が削除されたときに、記憶装置が削除され
た後の構成に応じた分割方法に従って情報を記憶するこ
とにより、記憶手段が削除されたときに削除された後の
構成に適応した分割方法に従って情報を分割して記憶で
きる。また、本発明によれば、分割方法を示す分割情報
を管理することにより、現在のシステムに適応した分割
方法で情報を分割し、記憶できる。
【0040】また、本発明によれば、情報を記憶手段に
記憶するときに分割情報を記憶することにより、情報を
記憶したときの分割情報を管理できる。さらに、本発明
によれば、情報にエラー訂正情報を付与するとともに、
エラー訂正情報に基づいて前記情報を訂正することによ
り、記憶手段を削除した後でも、削除した記憶手段の情
報を復元することができる。
【0041】また、本発明によれば、既存の情報の全体
の処理単位はそのままで、分割する単位を変更すること
により新規構成に対する情報を得ることにより、既存の
情報を最小限の変更に止め、情報を新規構成に適応した
構成とすることができる。さらに、本発明によれば、複
数の記憶部を1つの記憶領域として処理することによ
り、記憶手段の容量が飽和した場合でも、記憶手段に記
憶部を付加することにより容量を増加することができ
る。
【0042】
【発明の実施の形態】図8は本発明の第1実施例のブロ
ック構成図を示す。本実施例の情報記憶装置100は、
インタフェースを介してホストコンピュータ101に接
続され、ホストコンピュータ101から供給された情報
を外部記憶装置102−1〜102−nに分割して記憶
する、いわゆる、RAIDシステムを構成している。
【0043】情報の分割、復元は、コントロール部10
3で行われる。コントロール部103は、ホストコンピ
ュータ101にソフトウェアとして設定されており、分
割制御部104及びパリティ制御部105から構成され
る。また、分割制御部104は、分割情報管理部10
6、分割情報管理用テーブル107、分割処理部10
8、逆分割処理部109、分割処理用バッファメモリ1
10から構成される。
【0044】分割情報管理部106は、各外部記憶部1
02−1〜102−nに分散して記憶するデータブロッ
クのアドレス、単位、数などからなるストライピング情
報を格納した分割情報管理用テーブル107を管理す
る。分割処理部108は、分割情報管理部106で管理
されたストライピング情報に基づいてホストコンピュー
タ101から供給されたデータを各外部記憶部102−
1〜102−nに分散、すなわち、ストライピングす
る。
【0045】逆分割処理部109は、分割情報管理部1
06で管理されたストライピング情報に基づいて外部記
憶部102−1〜102−nから読み出されたデータブ
ロックから元のデータを復元する。分割処理用バッファ
メモリ110は、分割処理部108でストライピングさ
れたデータを外部記憶装置102−1〜102−n毎に
保持するとともに、外部記憶装置102−1〜102−
nから読み出されたデータを外部記憶装置102−1〜
102−n毎に保持し、逆分割処理部109に供給す
る。
【0046】パリティ制御部105は、パリティ分割情
報管理部111、パリティ分割情報管理用テーブル11
2、パリティ処理部113、パリティ復元処理部114
から構成される。パリティ分割情報管理部111は、パ
リティ分割情報管理用テーブル112に格納されたパリ
ティ分割情報を管理する。パリティ処理部113は、パ
リティ分割情報管理部111により管理されたパリティ
分割情報に基づいて外部記憶装置102−1〜102−
nに記憶するエラー訂正符号を計算する。
【0047】パリティ復元処理部114は、パリティ分
割情報管理部111により管理されたパリティ分割情報
に基づいて外部記憶装置102−1〜102−nから読
み出されたエラー訂正符号に応じてデータのエラーを訂
正し、元のデータを復元する。ここで、分割情報及びパ
リティ分割情報のデータ構成図を示す。
【0048】図9は本発明の第1実施例の分割情報のデ
ータ構成図を示す。図9(A)は分割情報、図9(B)
はパリティ分割情報を示す。図9の分割情報は分割数、
すなわち、接続される外部記憶装置がハードディスクド
ライブHDDで、接続される数が3個の場合の分割情報
について説明する。分割情報は、分割数、HDDを識別
するためのHDD識別情報、データが記憶されている論
理ブロックアドレス(Logical Block Address ;LB
A)、LBAの連続する数から構成される。図9(A)
では分割数が「3」でHDD識別情報HDD1について
はLBAが「LBA1」、連続するLBAの数「2」と
なる。
【0049】また、パリティ分割情報は、パリティを記
憶しているドライブの識別情報、パリティを記憶してい
るLBA、連続するLBAの数、パリティの計算単位か
ら構成される。図9(B)では、パリティを記憶してい
るドライブの識別情報「HDD4」、パリティを記憶し
ているLBA「LBA P」、連続するLBAの数
「2」、パリティの計算単位「1024Byte」であ
る。
【0050】次に、本実施例のコントローラ部103の
処理について説明する。図10は本発明の第1実施例の
コントローラの処理フローチャートを示す。まず、ホス
トコンピュータ101からデータ読み取り要求が供給さ
れると(ステップS2−1)、分割情報管理部106が
分割情報管理用テーブル107が参照して、現在のスト
ライピング情報を取得する(ステップS2−2)。
【0051】分割情報管理部106によりストライピン
グ情報が取得されると、分割処理部108により読出デ
ータブロックが決定される(ステップS2−3)。ステ
ップS2−3で、決定された読出データブロックにアク
セスを開始する。外部記憶装置102−1〜102−n
から決定された読出データブロックのデータを受信する
(ステップS2−4)。
【0052】ステップS2−4で外部記憶装置102−
1〜102−nからデータを受信すると、逆分割処理部
109により受信したデータブロックから元のデータを
復元する(ステップS2−5、ステップS2−6)。ま
た、このとき、分割情報の分割数と現在接続された外部
記憶装置102−1〜102−nの数nから1を減算し
た値(n−1)との一致、不一致を求める(ステップS
2−7)。すなわち、データの分割数にパリティ分を加
算した値が外部記憶装置の台数となるか否かを判定す
る。
【0053】ステップS2−7で、分割情報の分割数と
(n−1)とが一致する場合には、外部記憶装置の接続
台数が設定されたストライピング情報と一致し、外部記
憶装置の構成に変更はないと判断できるので、そのまま
処理を終了する。また、S2−7で分割情報の分割数と
(n−1)とが不一致の場合には、外部記憶装置の接続
台数と設定されたストライピング情報とが不一致であ
り、外部記憶装置の構成が変更されたと判断できる。こ
のため、次に、分割情報管理部106により接続された
外部記憶装置の台数に応じた新しいストライピング情報
を作成し、分割情報管理用テーブル107に設定する
(ステップS2−8)。
【0054】次に、ステップS2−8で設定された新た
なストライピング情報に基づいて読み出されたデータブ
ロックを変更された外部記憶装置に対応して再ストライ
ピングする(ステップS2−10)。また、ステップS
2−10で再ストライピングされたパリティ処理部11
3により再ストライピングされたデータブロックに対応
するパリティを計算し、外部記憶装置に記憶する(ステ
ップS2−10)。
【0055】次に、外部記憶装置102−1〜102−
nの動作について説明する。図11は本発明の第1実施
例の外部記憶装置の処理フローチャートを示す。外部記
憶装置102−1〜102−nでは、コントロール部1
03から要求を受信すると(ステップS3−1)、ま
ず、受信した要求がデータブロック読出要求か否かを判
定する(ステップS3−2)。
【0056】ステップS3−2で、読み出した要求がデ
ータブロック読出要求のときには、コントロール部10
3から供給されたデータブロック読出要求に応じたデー
タブロックを読み出し(ステップS3−3)、コントロ
ール部103に送信する(ステップS3−4)。また、
ステップS3−2で受信した要求がデータブロック読出
要求でない場合には、受信した要求がデータブロック書
込要求か否かを判定する(ステップS3−5)。
【0057】ステップS3−5で、受信した要求がデー
タブロック書込要求の場合には、データブロック書込要
求時にコントロール部103から供給されたデータブロ
ックを書き込む(ステップS3−6)。次に、本実施例
の具体的動作について説明する。図12は本発明の第1
実施例のデータ読出前の外部記憶装置のデータ記憶状態
を示す図である。
【0058】図12では、最初、外部記憶装置102−
1及び102−2が接続されており、接続された外部記
憶装置102−1及び102−2にデータブロックD1
1,D21,D31,D41及びそのパリティP1,P2,P
3,P4が記憶されており、次に、外部記憶装置102
−3が追加され、3つの外部記憶装置102−1〜10
2−3に分散されるようにデータブロックD51,D52,
D61,D62,D71,D72,D81,D82及びそのパリティ
P5,P6,P7,P8が書き込まれ、続けて、外部記
憶装置102−4が追加され、4つの外部記憶装置10
2−1〜102−4に分散されるように新たに供給され
たデータブロックD91,D92,D93,D01,D02,D03
及びそのパリティP9,P0が書き込まれた状態を示
す。
【0059】図13は本発明の第1実施例の再ストライ
ピング前の分割情報のデータ構成図を示す。図13
(A)はデータブロックD11の分割情報及びパリティ分
割情報、図13(B)はデータブロックD51の分割情報
及びパリティ分割情報を示す。データブロックD11は、
2つの外部記憶装置102−1,102−2に記憶され
るため、一方の外部記憶装置をデータに、また、他方の
外部記憶装置をパリティにストライピングする必要があ
るので、分割情報は図13(A)に示すように分割数は
「1」でHDD識別番号「HDD1」、例えば外部記憶
装置102−1に設定された論理ブロックアドレス「L
BA−D11」に記憶されるように設定されている。ま
た、このとき、データブロック数は「1」となる。ま
た、パリティ分割情報は、図13(B)に示すようにデ
ータとな異なるHDD識別番号「HDD2」の外部記憶
装置、例えば、外部記憶装置102−2に設定された論
理ブロックアドレス「LBA−D11−P」にパリティP
1が記憶されるように設定される。このとき、パリティ
分割情報にはパリティのデータブロック数「1」及びデ
ータ量「512Byte」も記憶される。
【0060】また、外部記憶装置102−3が追加され
ると、分割情報は、データ及びパリティを3つの外部記
憶装置102−1〜102−3に分割するように設定さ
れる。分割情報は、図13(B)に示すように分割数
「2」とされ、HDD識別番号「HDD1」、例えば外
部記憶装置102−1の論理ブロックアドレス「LBA
−D51」にブロックデータD51を格納し、HDD識別番
号「HDD2」、例えば外部記憶装置102−2の論理
ブロックアドレス「LBA−D52」にブロックデータD
52を格納するように設定されている。また、分割情報に
は、さらに、データブロック数「1」が設定される。
【0061】また、パリティ分割情報は、データとな異
なるHDD識別番号「HDD3」の外部記憶装置、例え
ば、外部記憶装置102−3に設定された論理ブロック
アドレス「LBA−D51−D52−P」にパリティP5が
記憶されるように設定される。このとき、パリティ分割
情報にはパリティのデータブロック数「1」及びデータ
量「512Byte」も記憶される。
【0062】図12に示す状態でデータブロックD11,
D21,D31,D41,D51,D52,D61,D62,D71,D
72,D81,D82が読み出されると、再ストライピングが
行われる。図14は本発明の第1実施例のデータ読出後
の外部記憶装置のデータ記憶状態を示す図である。
【0063】データブロックD11,D21,D31,D41,
D51,D52,D61,D62,D71,D72,D81,D82が読
み出されると、図14に示すようにデータブロックD1
1,D31,D51が4つの外部記憶装置102−1〜10
2−4にそれらパリティP’1とともに分散して記憶さ
れ、データブロックD21,D41,D61が4つの外部記憶
装置102−1〜102−4にそれらパリティP’2と
ともに分散して記憶され、データブロックD62,D81,
D82が4つの外部記憶装置102−1〜102−4にそ
れらパリティP’3とともに分散して記憶され、4つの
外部記憶装置102−1〜102−4にそれらパリティ
P’3とともに分散して記憶される。なお、データブロ
ックD91,D92,D93及びデータブロックD01,D02,
D03は書き込み時に既に4つの外部記憶装置102−1
〜102−4にそれらパリティP9,P0とともに分散
して記憶されているので、そのままの記憶状態で保持さ
れる。
【0064】このときの分割情報及びパリティ分割情報
について説明する。図15は本発明の第1実施例の再ス
トライピング時の分割情報のデータ構成図を示す。外部
記憶装置102−4が追加され、外部記憶装置が4つに
なると、データの書き込み及び読み出し時に図15に示
すような分割情報に従って再ストライピングが行われ
る。4つの外部記憶装置102−1〜102−4にスト
ライピングを行う際の分割情報は、図15に示すように
4つの外部記憶装置102−1〜102−4のうち1つ
の外部記憶装置にはパリティを格納する必要があるの
で、データブロックの分割数は「3」に設定される。4
つの外部記憶装置102−1〜102−4のうち3つの
外部記憶装置102−1,102−3,102−4に対
応するHDD識別番号「HDD1」,「HDD3」,
「HDD4」の論理ブロックアドレス「LBA−D1
1」,「LBA−D31」,「LBA−D51」に3つのブ
ロックデータが記憶される。
【0065】また、パリティ分割情報は、データとな異
なるHDD識別番号「HDD2」にに対応する外部記憶
装置102−2に設定された論理ブロックアドレス「L
BA−D11−D31−D51−P」にパリティP’1が記憶
されるように設定される。このとき、パリティ分割情報
にはパリティのデータブロック数「1」及びデータ量
「512Byte」も記憶される。
【0066】以上により、ホストコンピュータ101か
らデータ読出要求がある度に、読み出されたデータが再
ストライピングされ、新規構成の外部記憶装置に対応し
て書き換えられる。よって、外部記憶装置の構成が変更
される度にシステムを停止させる必要がない。また、変
更前に記憶されたデータも変更後に読み出されるときに
変更後の構成に適した状態にストライピングされて記憶
されるので、システム変更後も外部記憶装置の容量に無
駄なく記憶できる。
【0067】なお、本実施例では、外部記憶装置を追加
する場合について説明したが、外部記憶装置を削除した
場合にも対応できる。図16は本発明の第2実施例のコ
ントロール部の処理フローチャートを示す。なお、構成
は図8と同様であるので、その説明は省略する。ホスト
コンピュータ101からデータ読出要求があると(ステ
ップS4−1)、分割情報管理部106からストライピ
ング情報が読み出され(ステップS4−2)、外部記憶
装置102−1〜102−nからの読み出しデータブロ
ックが決定され、接続された外部記憶装置102−1〜
102−nにアクセスを行う(ステップS4−3)。ス
テップS4−3でコントロール部103から外部記憶装
置102−1〜102−nにアクセスを行うと、外部記
憶装置102−1〜102−nは図11に示す処理を実
行し、要求されたデータブロックをコントロール部10
3に送信する。
【0068】コントロール部103は、外部記憶装置1
02−1〜102−nから要求したデータブロックを受
信すると、分割情報に現在設定された分割数と現在接続
された外部記憶装置102−1〜102−nの台数
「n」との大小関係を判定する(ステップS4−5)。
なお、現在接続されている外部記憶装置102−1〜1
02−nの台数「n」は、コントロール部103により
検知、管理される。
【0069】ステップS4−5で、分割情報の分割数が
現在接続されている外部記憶装置102−1〜102−
nの台数「n」より小さければ、外部記憶装置が取り外
されたと判断できる。この場合、データブロックが記憶
された外部記憶装置が取り外されている場合には、パリ
ティ復元処理部114によりパリティと読出データブロ
ックとから読出データを復元する。また、パリティが記
憶されている外部記憶装置が取り外されている場合に
は、読出データブロックだけから読出データを復元する
(ステップS4−6、S4−7)。
【0070】次に、分割情報管理部106により現在接
続された外部記憶装置102−1〜102−nの台数
「n」に応じて分割情報を生成し、分割情報管理用テー
ブル107に設定する(ステップS4−8)。次に、分
割処理部108によりステップS4−8で設定した分割
情報に応じて読出データブロックを再ストライピングす
る(ステップS4−9)。
【0071】さらに、ステップS4−9での再ストライ
ピングの結果からパリティを計算し、ステップS4−9
で再ストライピングされたデータブロックとともに、外
部記憶装置102−1〜102−nに記憶する(ステッ
プS4−10)。次に本実施例の具体的な動作を図面と
ともに説明する。図17は本発明の第2実施例の外部記
憶装置を取り外す前のデータの記憶状態を示す図であ
る。
【0072】ここでは、4台の外部記憶装置102−1
〜102−4にデータブロックD11,D21,D31,D4
1,D51,D61、D52,D62,D71,D72,D81,D8
2、D91,D01,D92,D02,D93,D03及びそれらの
パリティP1〜P4、P9、P0を均等に記憶してい
る。図18は本発明の第2実施例の分割情報を外部記憶
装置を取り外す前の分割情報及びパリティ分割情報のデ
ータ構成図を示す。
【0073】データブロックD11,D21,D31,D41,
D51,D61に対しては図18に示すように分割数「3」
でHDD識別番号「HDD1」,「HDD3」,「HD
D4」の外部記憶装置102−1,102−3,103
−4に論理ブロックアドレス「LBA−D11」,「LB
A−D31」,「LBA−D51」に「2」データブロック
「D11,D21」,「D31,D41」,「D51,D61」ずつ
記憶する。
【0074】パリティ分割情報は、HDD識別番号「H
DD2」の外部記憶装置102−2の論理ブロックアド
レス「LBA−D11−D31−D51−P」にパリティP
1、P2が「2」データブロック分、1024Byte
記憶されるように設定されている。図17に示す状態か
ら外部記憶装置102−3が削除されると、外部記憶装
置は3台となる。よって、次に3台の外部記憶装置10
2−1,102−2,102−4に対応したストライピ
ングが行われる。
【0075】図19は本発明の第2実施例の外部記憶装
置が取り外された後のデータ構成図、図20は本発明の
第2実施例の外部記憶装置が取り外されたときの分割情
報及びパリティ分割情報のデータ構成図を示す。接続さ
れた外部記憶装置が3台になると、1台にパリティを割
り当てるので、データブロックの分割数は「2」とな
る。
【0076】また、1台の外部記憶装置に割り当てられ
るデータブロック数は「3」となる。例えば、データブ
ロックD'11 ,D'12 ,D'21 ,D'22 がデータブロッ
クD'11 ,D'21 及びD'12 ,D'21 ,D'31 とに分割
されてHDD識別番号「HDD1」と「HDD4」の外
部記憶装置102−1,102−4に記憶される。この
とき、データブロックD'11 ,D'12 ,D'21 ,D'22
のパリティP'1,P'2は、HDD識別番号「HDD2」
の外部記憶装置102−2に割り当てられ、論理ブロッ
クアドレス「LBA−D'11 −D'12 −P」から3ブロ
ック、1536Byteに亘って記憶される。
【0077】以上のように外部記憶装置を1台取り外し
ても、パリティにより取り外された外部記憶装置のデー
タブロックを復元しつつ、接続された外部記憶装置に割
り当てることにより、対応することができる。なお、本
実施例では外部記憶装置を1台取り外した後で、新しい
構成にしたがってデータを記憶し直す場合について説明
したが、予め取り外す外部記憶装置を指定して、現在記
憶されているデータを指定された外部記憶装置を除く他
の複数の外部記憶装置へ記憶し直し、全てのデータを記
憶し直した後に、指定した外部記憶装置を実際に取り外
すようにすることもできる。このようにすることによ
り、1度に複数の外部記憶装置を取り外すことができ
る。
【0078】また、本実施例では、外部記憶装置を単純
に取り外す場合について説明したが、外部記憶装置の容
量を増加しつつ合数を削減するようにすることもでき
る。図21は本発明の第3実施例の変更前の外部記憶装
置のデータ記憶状態を示す図、図22は本発明の第3実
施例の変更時の外部記憶装置のデータ記憶状態を示す
図、図23は本発明の第3実施例の変更後の外部記憶装
置のデータ記憶状態を示す図である。
【0079】ここでは、システムを3台の外部記憶装置
102−1〜102−3から容量の大きい2台の外部記
憶装置102−4,102−5に変更する場合について
説明する。図21に示すようにデータブロックD11,D
12、D21,D22、D31,D32及びそれらのパリティP
1,P2,P3を均等に3台の外部記憶装置102−1
〜102−3に分割して記憶した状態で、まず、図22
に示すように3台の外部記憶装置102−1〜102−
3より容量の大きい2台の外部記憶装置102−4,1
02−5を接続する。
【0080】外部記憶装置102−4,102−5を接
続することにより、データブロック及びパリティが5台
の外部記憶装置102−1〜102−5に分散して記憶
される。次に、3台の外部記憶装置102−1〜102
−3を順次取り外すことにより、図23に示すようにブ
ロックデータD"11 ,D"21 ,D"31 とそのパリティ
P"1,P"2,P"3を2台の外部記憶装置102−4,1
02−5に分散して記憶できる。
【0081】以上のように本実施例によれば、外部記憶
装置の台数を削減しながら、記憶容量を増加させるなど
の自由な変更が可能となる。なお、上記実施例では、外
部記憶装置を追加したときに、データブロックの枠組み
を組み替え、さらに、新たに対応するパリティを作成し
たが、データブロックとパリティはそのままで外部記憶
装置を追加したシステムに対応するようにしてもよい。
【0082】図24は本発明の第4実施例のコントロー
ル部の処理フローチャートを示す。なお、その構成は図
8と同様であるので、その説明は省略する。本実施例で
は、まず、現在M台の外部記憶装置102−1〜102
−Mが接続されていおり、データブロック及びパリティ
が均等にストライピングされて記憶されているとする。
そこに、m台の外部記憶装置102−M+1 〜102−M+
m を接続する(ステップS5−1)。
【0083】ここで、変数i,j,kにi=0,j=
1,k=1を代入する(ステップS5−2)。次に従来
から存在する外部記憶装置102−1〜102−Mに記
憶されたデータブロックD( i * m +j) k を新規に接続
された外部記憶装置102−M+1 〜102−M+m となる
* (j-1)+k 目の外部記憶装置へ移動する(ステップS
5−3)。 次に、移動したデータブロック及びパリテ
ィに対応するストライプ情報を更新する(ステップS5
−4)。
【0084】次に、変数kにk+1を代入し、変数kを
従来から存在する外部記憶装置102−1〜102−M
の台数「M」と比較する(ステップS5−5、S5−
6)。ステップS5−6での比較結果、変数kが従来か
ら存在する外部記憶装置102−1〜102−Mの台数
「M」より大きくなれば、ステップS5−3に戻って、
次のデータブロックを移動する。また、変数kが従来か
ら存在する外部記憶装置102−1〜102−Mの台数
「M」より小さければ、変数k=0とし、変数j=j+
1とする(ステップS5−7)。
【0085】次に、ステップS5−7で設定した変数
i,kが〔{( i * m +j) <=m}、かつ、(j<=
m)〕を満足するか否かを判定する(ステップS5−
8)。ステップS5−8で、〔{( i * m +j) <=
m}、かつ、(j<=m)〕を満足する場合は、ステッ
プS5−3に戻って次にデータブロックを移動させる。
ステップS5−8で、〔{( i * m +j) <=n}、か
つ、(j<=m)〕を満足しない場合は、変数j=1,
変数i=i+1とする(ステップS5−9)。
【0086】ステップS5−9で変数j=1,変数i=
i+1とした後、ステップS5−9で設定した変数i,
jが{(i* m+j )<=n}を満足するか否かを判定す
る(ステップS5−10)。ステップS5−10で、変
数i,jが{(i* m+j )<=n}を満足する場合には
ステップS5−3に戻って次のデータブロックの移動を
行う。また、ステップS5−10で、変数i,jが
{(i* m+j )<=n}を満足しない場合には処理を終
了する。
【0087】次に、本実施例の動作を説明する。図25
は、本発明の第4実施例の動作説明図を示す。図25
(A)は構成変更前の状態、図25(B)は構成変更後
の状態を示す。上記図24に示す処理によれば、データ
ブロックDij(j≠i)、パリティDiiとすると、図25
(A)に示すように変更前のデータブロック及びパリテ
ィD21〜D2M・・・D(m+2)M〜D(m+m)Mを図25(B)
に示す新規に追加した外部記憶装置に記憶する。
【0088】図26は本発明の第4実施例の変更後の再
ストライピング前のデータの記憶状態を示す図である。
図26に示すように2台の外部記憶装置102−1,1
02−2に2台の外部記憶装置102−3,102−4
を追加したとする。図26で新たに供給されたデータブ
ロックD91,D92,D93、D01,D02,D03及びそのパ
リティP9,P0は、4台の外部記憶装置102−1〜
102−4に均等にストライピングされる。
【0089】また、最初に接続された2台の外部記憶装
置102−1,102−2に記憶されたデータブロック
D31,D41、D71,D81及びそのパリティP3,P4、
P7,P8は図26に矢印でしめすように新規に追加さ
れた2台の外部記憶装置102−3,102−4に移動
する。図27は本発明の第4実施例の変更後の再ストラ
イピング前の分割情報のデータ構成図を示す。
【0090】再ストライピング前の分割情報は、例え
ば、データブロックD11が図27(A)に示すように分
割数「1」、HDD識別番号「HDD1」の外部記憶装
置102−1の論理ブロックアドレス「LBA−D11」
に1ブロック分格納されるように設定される。また、デ
ータブロックD11のパリティP1は、HDD識別番号
「HDD2」の外部記憶装置102−2の論理ブロック
アドレス「LBA−D31−P」に1ブロック、512B
yteで格納される。
【0091】同様に、データブロックD31は、図27
(B)に示すように分割数「1」、HDD識別番号「H
DD2」の外部記憶装置102−2の論理ブロックアド
レス「LBA−D31」に1ブロック分格納されるように
設定される。また、データブロックD31のパリティP3
は、HDD識別番号「HDD1」の外部記憶装置102
−1の論理ブロックアドレス「LBA−D31−P」に1
ブロック、512Byteで格納される。
【0092】図28は本発明の第4実施例の再ストライ
ピング後のデータの記憶状態を示す図である。図26に
示す状態で、図24に示す手順に従って再ストライピン
グを行うと、図28に示すように、データブロックD3
1,D41,D71,D81及びそのパリティP3,P4,P
7,P8が新規に追加された外部記憶装置102−1〜
102−4に移動して記憶される。
【0093】図29は本発明の第4実施例の再ストライ
ピング時の分割情報のデータ構成図を示す。再ストライ
ピング時にはデータブロックD31,D41,D71,D81及
びそのパリティP3,P4,P7,P8の分割情報の記
憶アドレスが変更されるだけで対応できる。例えば、デ
ータブロックD31の場合は、HDD識別番号が「HDD
1」から「HDD3」に変更になるとともに、論理ブロ
ックアドレスが「LBA−D31」から「LBA−D31−
new 」に変更になる。また、そのパリティP3は、HD
D識別番号が「HDD2」から「HDD4」に変更にあ
るとともに、論理ブロックアドレスが「LBA−D31−
P」から「LBA−D31(N) −P」に変更される。
【0094】以上本実施例によれば、新規に外部記憶装
置が追加されると、従来から存在した外部記憶装置に記
憶された情報をそのままの状態で新規に追加された外部
記憶装置に記憶できるので、データブロックの組み替
え、パリティの計算が不要となる。なお、本実施例で
は、データブロックをそのままのサイズで移動したが、
データブロックを小さいサイズに分割して移動するよう
にしてもよい。
【0095】図30は本発明の第5実施例のコントロー
ル部の処理フローチャートを示す。なお、本実施例の構
成は、図8と同様であるので、その説明は省略する。本
実施例では、既存のM台の外部記憶装置102−1〜1
02−Mにm台の外部記憶装置102−M+1 〜102−
M+m が追加されると(ステップS6−1)、変数iをi
=1に設定する(ステップS6−2)。
【0096】次に、既存データブロックDij(j=1〜
M,i≠j)を集める(ステップS6−3)。なお、こ
のとき、既存データブロックDijのパリティはDiiとす
る。ステップS6−3で集めた既存のデータブロックD
ijを(M+m−1)個に再ストライピングする(ステッ
プS6−4)。このとき、得られるデータブロックは
D'ik (k=1〜M+m)、パリティD'ii は、Diiで
ある。
【0097】ステップS6−4で得られたデータブロッ
クはD'ik をk番目の外部記憶装置102−kに移動す
る(ステップS6−6)。対応する分割情報を更新する
(ステップS6−7)。次に、変数i=i+1として、
変数iがデータブロックの個数になるまでステップS6
−3〜S6−6を繰り返す(ステップS6−8)。
【0098】図31は本発明の第5実施例の動作説明図
を示す。図31(A)は外部記憶装置を追加する前、図
31(B)は外部記憶装置を追加し、ストライピングし
た後の状態を示す。図31(A)に示すように変更前
は、M台の外部記憶装置102−1〜102−Mにデー
タブロックD11〜D1M、D21〜D2M・・・Dn1〜DnMが
振り分けられていたとする。
【0099】ここで、図31(B)に示すように新規に
外部記憶装置102−M+1 〜102−M+m を追加し、図
30に示すような処理を行うと、図31(B)に示すよ
うに図31(A)に示すデータブロックD11〜D1M、D
21〜D2M・・・Dn1〜DnMがそれぞれ(M+m)のデー
タブロックD'11 〜D'1(M+m) 、D'21 〜D'2(M+m)・
・・D'n1 〜D'n(M+m) に分割される。
【0100】図32は本発明の第5実施例の変更後の再
ストライピング前のデータの記憶状態を示す図である。
図32に示すように2台の外部記憶装置102−1,1
02−2に2台の外部記憶装置102−3,102−4
を追加したとする。最初に接続された2台の外部記憶装
置102−1,102−2にはデータブロックD11,D
21,D31,D41及びそのパリティP1,P2,P3,P
4が記憶されている。
【0101】図32で新たに供給されたデータブロック
D91,D92,D93、D01,D02,D03及びそのパリティ
P9,P0は、4台の外部記憶装置102−1〜102
−4に均等にストライピングされる。図33は本発明の
第5実施例の変更後の再ストライピング前の分割情報の
データ構成図を示す。
【0102】再ストライピング前の分割情報は、例え
ば、データブロックD11が図33に示すように分割数
「1」、HDD識別番号「HDD1」の外部記憶装置1
02−1の論理ブロックアドレス「LBA−D11」に
「3」ブロック分格納されるように設定される。また、
データブロックD11のパリティP1は、HDD識別番号
「HDD2」の外部記憶装置102−2の論理ブロック
アドレス「LBA−D31−P」に「3」ブロック、15
36Byteで格納される。
【0103】本実施例では、データブロックD11を3分
割し、パリティP1とともに4台の外部記憶装置102
−1〜102−4に均等にストライピングする。図34
は本発明の第5実施例のデータブロックの分割状態を示
す図である。図30に示す処理により従来から存在する
データブロックD11,D21,D31,D41は図34に示す
ようにそれぞれ3つのデータブロックD1a,D1b,D1
c、D2a,D2b,D2c、D3a,D3b,D3c、D4a,D4
b,D4cに分割される。
【0104】図34に示すように3つに分割されたデー
タブロックD1a,D1b,D1c、D2a,D2b,D2c、D3
a,D3b,D3c、D4a,D4b,D4cをパリティP1,P
2,P3,P4とともに4台の外部記憶装置102−1
〜102−4に均等に分割する。図35は本発明の第5
実施例の再ストライピング後のデータブロックの状態を
示す図である。
【0105】再ストライピング後は、図35に示すよう
に、パリティP1,P2及びデータブロックD3a,D3b
が外部記憶装置102−1、データブロックD1a,D2a
及びパリティP3,P4が外部記憶装置102−2、デ
ータブロックD1b,D2b,D3b,D4bが外部記憶装置1
02−3、データブロックD1c,D2c,D3c,D4cが外
部記憶装置102−4に分配され、記憶される。
【0106】図36は本発明の第5実施例の再ストライ
ピング時の分割情報のデータ構成図を示す。再ストライ
ピング時の分割情報では、例えば、データブロックD11
が図36に示すように分割数「3」、HDD識別番号
「HDD2」の外部記憶装置102−2の論理ブロック
アドレス「LBA−D1a」に「1」ブロック分、HDD
識別番号「HDD3」の外部記憶装置102−3の論理
ブロックアドレス「LBA−D1b」に「1」ブロック
分、HDD識別番号「HDD4」の外部記憶装置102
−4の論理ブロックアドレス「LBA−D1c」に「1」
ブロック分格納されるように設定される。また、データ
ブロックD11のパリティP1は、そのままHDD識別番
号「HDD1」の外部記憶装置102−1の論理ブロッ
クアドレス「LBA−D1a−D1b−D1c−P」に「3」
ブロック、1536Byteで格納される。
【0107】以上本実施例によれば、外部記憶装置の台
数に合わせて、最初の台数の外部記憶装置に記憶された
データブロックを小さい単位に分割し、再ストライピン
グするので、パリティを求めるときのデータブロックの
単位などを変更する必要がなく、また、パリティを変更
する必要もない。なお、本実施例では、外部記憶装置を
追加する場合について説明したが、外部記憶装置を削除
する場合につても適用できる。
【0108】図37は本発明の第6実施例のコントロー
ル部の処理フローチャートを示す。本実施例では、M台
の外部記憶装置から1台の外部記憶装置が削除される
と、まず、変数iを1に設定する(ステップS7−
1)。既存のデータブロックDij(j=1〜M,i≠
j)のデータを集める(ステップS7−2)。
【0109】次に、ステップS7−2で集めたデータブ
ロックDijを(M−1)個のデータブロックに再ストラ
イピングする(ステップS7−3)。ここで、再ストラ
イピングされたデータをD'ik (k=1〜(M−
1))、パリティD'i(imod (M-1) )をDiiとする。
次に、ステップS7−3で求められたデータブロック
D'ik をk番目の外部記憶装置に移動する(ステップS
7−4)。このとき対応する分割情報を後述するように
更新する(ステップS7−5)。
【0110】次に変数iを(i+1)とし、変数iがデ
ータブロックの種類の数n以上になるまで、ステップS
7−2〜S7−5を繰り返す。図38は本発明の第6実
施例の動作説明図を示す。図38(A)は外部記憶装置
削除前のデータブロックの状態、図38(B)は外部記
憶装置削除後のデータブロックの状態を示す。
【0111】図38(A)に示すようにM台の外部記憶
装置にデータブロック及びパリティD11〜D1M、D21〜
D2M・・・Dn1〜DnMが均等に分散して分配されている
とする。ここで、外部記憶装置が1台削除されると、図
37に示す処理が行われ、図38(B)に示すようにデ
ータブロック及びパリティD11〜D1M、D21〜D2M・・
・Dn1〜DnMが(M−1)個のデータブロックD'11 〜
D'1(M-1) 、D'21 〜D'2(M-1) ・・・D'n1 〜D'n(M
-1) に均等に再分配される。
【0112】図39は本発明の第6実施例の変更後の再
ストライピング前のデータの記憶状態を示す図である。
図39に示すように4台の外部記憶装置102−1〜1
02−4にデータブロックD11〜D13、D21〜D23、D
31〜D33、D41〜D43、D51〜D53、D61〜D63及びそ
のパリティP1〜P6が記憶されている。
【0113】図40は本発明の第6実施例の変更前の分
割情報のデータ構成図を示す。外部記憶装置を削除する
前の分割情報では、例えば、データブロックD11〜D13
が図40に示すように分割数「3」とされる。データブ
ロックD11は、HDD識別番号「HDD1」の外部記憶
装置102−1の論理ブロックアドレス「LBA−D1
1」に「2」ブロック分格納されるように設定される。
データブロックD12は、HDD識別番号「HDD3」の
外部記憶装置102−2の論理ブロックアドレス「LB
A−D12」に「2」ブロック分格納されるように設定さ
れる。データブロックD13は、HDD識別番号「HDD
4」の外部記憶装置102−2の論理ブロックアドレス
「LBA−D13」に「2」ブロック分格納されるように
設定される。また、データブロックD11〜D13のパリテ
ィP1は、HDD識別番号「HDD2」の外部記憶装置
102−2の論理ブロックアドレス「LBA−D11−D
12−D13−P」に「2」ブロック、1024Byteで
格納される。
【0114】本実施例では、データブロックD11〜D13
をまとめた後2分割し、パリティP1とともに3台の外
部記憶装置102−1〜102−3に均等にストライピ
ングする。図41は本発明の第6実施例のデータブロッ
クの分割状態を示す図である。図37に示す処理により
従来から存在するデータブロックD11〜D13、D21〜D
23・・・D61〜D63は図41に示すようにそれぞれ2つ
のデータブロックD1a,D1b、D2a,D2b・・・D6a,
D6bに分割される。
【0115】図41に示すように2つに分割されたデー
タブロックD1a,D1b、D2a,D2b・・・D6a,D6bを
パリティP1〜P6とともに3台の外部記憶装置102
−1〜102−3に均等に分割する。図42は本発明の
第6実施例の再ストライピング後のデータブロックの状
態を示す図である。
【0116】再ストライピング後は、図42に示すよう
に、パリティP1,P2及びデータブロックD3a,D4
a,D5a,D6aが外部記憶装置102−1、データブロ
ックD1a,D2a,D5b,D6b及びパリティP3,P4が
外部記憶装置102−2、データブロックD1b,D2b,
D3b,D4b及びパリティP5,P6が外部記憶装置10
2−3に分配され、記憶される。
【0117】図43は本発明の第6実施例の再ストライ
ピング時の分割情報のデータ構成図を示す。再ストライ
ピング時の分割情報では、分割数は「2」となる。例え
ば、データブロックD1aは、HDD識別番号「HDD
2」の外部記憶装置102−2の論理ブロックアドレス
「LBA−D1a」に「3」ブロック分、データブロック
D1bは、HDD識別番号「HDD3」の外部記憶装置1
02−3の論理ブロックアドレス「LBA−D1b」に
「3」ブロック分格納されるように設定される。また、
データブロックD1a,1b のパリティP1は、そのまま
HDD識別番号「HDD1」の外部記憶装置102−1
の論理ブロックアドレス「LBA−D1a−D1b−D1c−
P」に「2」ブロック、1024Byteで格納され
る。
【0118】以上本実施例によれば、外部記憶装置が1
台削除されても最初の台数の外部記憶装置に記憶された
データブロックを大きい単位で分割し、再ストライピン
グするので、パリティを求めるときのデータブロックの
単位などを変更する必要がなく、また、パリティを変更
する必要もない。なお、本実施例では、外部記憶装置を
それぞれ別々の記憶装置として取り扱っているが、複数
の外部記憶装置を1つの記憶装置として扱うことにより
記憶容量を増加することもできる。
【0119】図44は本発明の第7実施例の外部記憶装
置のブロック構成図を示す。なお、全体の構成は、図8
と同様であるのでその説明は省略する。本実施例の外部
記憶装置102は、記憶部102a及びコントロール部
102bから構成される。記憶部102aは、既存の記
憶領域102a−1及び追加の記憶領域102a−2か
ら構成される。既存の記憶領域102a−1と追加の記
憶領域102a−2とで連続してアドレスを設定する。
【0120】図44では、16進でのアドレス「0x0
00」から「0x7FFE」までを既存の記憶領域10
2a−1のアドレスに設定し、アドレス「0X7FF
F」から「0xFFFF」までを追加の記憶領域102
a−2のアドレスに設定する。コントロール部102b
は既存の記憶領域102a−1と追加の記憶領域102
a−2とを1つの記憶領域として扱うことにより記憶領
域の追加を可能とする。コントロール部102bは、デ
ータ入出力要求を受信する受信部102b−1、読出・
書込制御部102b−2、変換テーブル102b−3、
読出・書込処理部102b−4、102b−5から構成
される。
【0121】受信部102b−1は、コントロール部1
03からのデータの入出力要求を受信する。受信部10
2b−1で受信された入出力要求は、読出・書込制御部
102b−2に供給される。読出・書込制御部102b
−2は、要求されたアドレスに応じて変換テーブル10
2b−3を参照して、読出・書込処理部102b−4、
102b−5を制御する。
【0122】読出・書込処理部102b−4は、変換テ
ーブル102b−3の変換結果、データ要求先アドレス
が既存の記憶領域102a−1のときに、変換テーブル
102b−3で変換されたアドレスからデータを読み出
す。読出・書込処理部102b−5は、変換テーブル1
02b−3の変換結果、データ要求先アドレスが追加さ
れた記憶領域102a−2のときに、追加された記憶領
域102a−2の変換テーブル102b−3で参照され
たアドレスからデータを読み出す。
【0123】図45は本発明の第7実施例の外部記憶装
置のコントロール部の処理フローチャートを示す。コン
トロール部102bはコントロール部103からデータ
入力要求があると(ステップS8−1)、変換テーブル
102b−3を参照して、既存の記憶領域102a−1
にアクセスするか、追加された記憶領域102a−2に
アクセスするかを決定する(ステップS8−2)。
【0124】ステップS8−2の決定に従って読出・書
込制御部102b−2により読出・書込処理部102b
−4又は102b−4が動作され、既存の記憶領域10
2a−1にアクセスするか、追加された記憶領域102
a−2にアクセスする(ステップS8−3、S8−
4)。読出・書込制御部102b−2は、既存の記憶領
域102a−1又は追加された記憶領域102a−2へ
アクセス結果をコントロール部103に送信する(ステ
ップS8−5)。
【0125】次に、本実施例の動作を図面とともに説明
する。図46は本発明の第7実施例の変更前の状態を示
す図、図47は本発明の第7実施例の変更後の状態を示
す図である。RAIDでは、図46に示すように例え
ば、外部記憶装置102−1にデータブロックD11,D
21,D91,D01及びパリティP3,P4が記憶され、外
部記憶装置102−1に空きがなくなると、他の外部記
憶装置102−2,102−3の容量に空きがあっても
外部記憶装置102−1にデータブロックを分割できな
いので、データを記憶できなくなる。
【0126】しかし、本実施例によれば、図47に示す
ようにコントロール部102bに記憶装置を追加し、追
加記憶領域102a−2を設定することにより、既存の
記憶領域102a−1と追加記憶領域102a−2とを
1つの記憶装置として扱え、外部記憶装置102−1に
も容量に空きができるので、外部記憶装置102−2,
102−3とともに、データを分散して記憶できるよう
にできる。
【0127】なお、本実施例では1つの外部記憶装置の
容量が飽和したときには、飽和した外部記憶装置に記憶
装置を追加して既存の記憶領域と追加した記憶領域とを
1つの記憶領域として扱うことによりデータを分散して
記憶できるようにしたが、容量の空きがある外部記憶装
置だけを用いてRAIDを構成するようにしてもよい。
【0128】
【発明の効果】上述の如く、本発明によれば、本発明に
よれば、記憶手段の構成が変更となったとき、既存の情
報を新規の構成に応じた分割方法で分割し、複数の記憶
手段に記憶することにより、自動的に新規の構成に適応
した分割方法で情報を分割し、記憶することができる等
の特長を有する。
【0129】また、本発明によれば、複数の記憶手段に
新規に記憶手段が追加されたときに、新たに入力された
情報を新規の構成の記憶手段に応じた分割方法で記憶
し、既に複数の記憶手段に記憶された情報を、複数の記
憶手段から読み出されたときに、新規の構成に応じた分
割方法で分割して、記憶することにより、記憶手段を追
加したときにシステムを停止することなく、新規の構成
に適応した分割方法で情報を分割し、複数の記憶手段に
記憶できる等の特長を有する。
【0130】さらに、本発明によれば、複数の記憶手段
から記憶手段が削除されたときに、記憶装置が削除され
た後の構成に応じた分割方法に従って情報を記憶するこ
とにより、記憶手段が削除されたときに削除された後の
構成に適応した分割方法に従って情報を分割して記憶で
きる等の特長を有する。また、本発明によれば、分割方
法を示す分割情報を管理することにより、現在のシステ
ムに適応した分割方法で情報を分割し、記憶できる等の
特長を有する。
【0131】また、本発明によれば、情報を記憶手段に
記憶するときに分割情報を記憶することにより、情報を
記憶したときの分割情報を管理できる等の特長を有す
る。さらに、本発明によれば、情報にエラー訂正情報を
付与するとともに、エラー訂正情報に基づいて前記情報
を訂正することにより、記憶手段を削除した後でも、削
除した記憶手段の情報を復元することができる等の特長
を有する。
【0132】また、本発明によれば、既存の情報の全体
の処理単位はそのままで、分割する単位を変更すること
により新規構成に対する情報を得ることにより、既存の
情報を最小限の変更に止め、情報を新規構成に適応した
構成とすることができる等の特長を有する。さらに、本
発明によれば、複数の記憶部を1つの記憶領域として処
理することにより、記憶手段の容量が飽和した場合で
も、記憶手段に記憶部を付加することにより容量を増加
することができる等の特長を有する。
【図面の簡単な説明】
【図1】RAIDシステムの構成図である。
【図2】RAID5の処理を説明するための図である。
【図3】従来のシステムの構成を変更する場合のフロー
チャートである。
【図4】停止させることなく変更可能なシステムの変更
前の状態を示す図である。
【図5】停止させることなく変更可能なシステムの変更
後の状態を示す図である。
【図6】システムの構成を変更したときの課題を説明す
るための図である。
【図7】システムの構成を変更したときの他の課題を説
明するための図である。
【図8】本発明の第1実施例のブロック構成図である。
【図9】本発明の第1実施例の分割情報のデータ構成図
である。
【図10】本発明の第1実施例のコントロール部の処理
フローチャートである。
【図11】本発明の第1実施例の外部記憶装置の処理フ
ローチャートである。
【図12】本発明の第2実施例のデータ読出前の外部記
憶装置のデータ記憶状態を示す図である。
【図13】本発明の第1実施例の再ストライピング前の
分割情報のデータ構成図である。
【図14】本発明の第1実施例のデータ読出後の外部記
憶装置のデータ記憶状態を示す図である。
【図15】本発明の第1実施例の再ストライピング時の
分割情報のデータ構成図である。
【図16】本発明の第2実施例のコントロール部の処理
フローチャートである。
【図17】本発明の第2実施例の外部記憶装置を取り外
す前のデータ記憶状態を示す図である。
【図18】本発明の第2実施例の外部記憶装置を取り外
す前の分割情報のデータ構成図である。
【図19】本発明の第2実施例の外部記憶装置が取り外
された後のデータ記憶状態を示す図である。
【図20】本発明の第2実施例の外部記憶装置が取り外
された後の分割情報のデータ構成図である。
【図21】本発明の第3実施例のシステム変更前の外部
記憶装置のデータ記憶状態を示す図である。
【図22】本発明の第3実施例のシステム変更時の外部
記憶装置のデータ記憶状態を示す図である。
【図23】本発明の第3実施例のシステム変更後の外部
記憶装置のデータ記憶状態を示す図である。
【図24】本発明の第4実施例のコントロール部の処理
フローチャートである。
【図25】本発明の第4実施例の動作説明図である。
【図26】本発明の第4実施例の再ストライピング前の
データ記憶状態を示す図である。
【図27】本発明の第4実施例の再ストライピング前の
分割情報のデータ構成図である。
【図28】本発明の第4実施例の再ストライピング後の
データの記憶状態を示す図である。
【図29】本発明の第4実施例の再ストライピング後の
分割情報のデータ構成図である。
【図30】本発明の第5実施例のコントロール部の処理
フローチャートである。
【図31】本発明の第5実施例の動作説明図である。
【図32】本発明の第5実施例の再ストライピング前の
データ記憶状態を示す図である。
【図33】本発明の第5実施例の再ストライピング前の
分割情報のデータ構成図である。
【図34】本発明の第5実施例のデータブロックの分割
状態を示す図である。
【図35】本発明の第5実施例の再ストライピング後の
データブロックの状態を示す図である。
【図36】本発明の第5実施例の再ストライピング後の
分割情報のデータ構成図である。
【図37】本発明の第6実施例のコントロール部の処理
フローチャートである。
【図38】本発明の第6実施例の動作説明図である。
【図39】本発明の第6実施例のシステム変更前のデー
タブロックの状態を示す図である。
【図40】本発明の第6実施例のシステム変更前の分割
情報のデータ構成図である。
【図41】本発明の第6実施例のデータブロックの分割
情報を示す図である。
【図42】本発明の第6実施例の再ストライピング後の
データブロックの状態を示す図である。
【図43】本発明の第6実施例の再ストライピング後の
分割情報のデータ構成図である。
【図44】本発明の第7実施例の外部記憶装置のブロッ
ク構成図である。
【図45】本発明の第7実施例の外部記憶装置のコント
ロール部の処理フローチャートである。
【図46】本発明の第7実施例のシステム変更前の状態
を示す図である。
【図47】本発明の第7実施例のシステム変更後の状態
を示す図である。
【符号の説明】
100 情報記憶装置 101 ホストコンピュータ 102−1〜102−n 外部記憶装置 103 コントロール部 104 分割制御部 105 パリティ制御部 106 分割情報管理部 107 分割情報管理用テーブル 108 分割処理部 109 逆分割処理部 110 分割処理用バッファメモリ 111 パリティ分割情報管理部 112 パリティ分割情報管理用テーブル 113 パリティ処理部 114 パリティ復元処理部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岡田 佳之 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5B065 BA06 CA11 CA13 CA30 CC01 CC03 CC08 EA03 EA12 ZA02 5D044 AB05 AB07 BC01 CC04 CC09 DE03 DE68 DE94 GK11 HL01

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 情報を記憶する複数の記憶手段を備える
    情報記憶装置において、 入力された情報を前記複数の記憶手段に分割して記憶す
    る情報分割手段と、 前記複数の記憶手段の構成が変更となったとき、既存の
    情報を新規の構成に応じた分割方法で分割し、前記複数
    の記憶手段に記憶するように前記情報分割手段を制御す
    る分割制御手段を有することを特徴とする情報記憶装
    置。
  2. 【請求項2】 前記分割制御手段は、前記複数の記憶手
    段に新規に記憶手段が追加されたときに、新たに入力さ
    れた情報は、前記新規の構成の記憶手段に応じた分割方
    法で記憶し、 既に前記複数の記憶手段に記憶された情報は、前記複数
    の記憶手段から読み出されたときに、前記新規の構成に
    応じた分割方法で分割され、記憶されることを特徴とす
    る請求項1記載の情報記憶装置。
  3. 【請求項3】 前記分割制御手段は、前記複数の記憶手
    段から記憶手段が削除されたとき、もしくは記憶手段が
    削除される直前に、記憶装置が削除された後の構成に応
    じた分割方法に従って情報を記憶することを特徴とする
    請求項1又は2記載の情報記憶装置。
  4. 【請求項4】 前記分割制御手段は、分割方法を示す分
    割情報を管理する分割情報管理手段を有することを特徴
    とする請求項1乃至3のいずれか一項記載の情報記憶装
    置。
  5. 【請求項5】 前記分割情報は、前記情報の分割個数
    と、 前記情報が記憶される前記記憶装置におけるアドレス
    と、 前記情報の情報量とを有することを特徴とする請求項4
    記載の情報記憶装置。
  6. 【請求項6】 前記情報を前記記憶手段に記憶するとき
    に前記分割情報を記憶する分割情報記憶手段を有するこ
    とを特徴とする請求項4又は5記載の情報記憶装置。
  7. 【請求項7】 前記情報にエラー訂正情報を付与すると
    ともに、該エラー訂正情報に基づいて前記情報を訂正す
    るエラー訂正手段を有することを特徴とする請求項1乃
    至6のいずれか一項記載の情報記憶装置。
  8. 【請求項8】 前記分割制御手段は、前記既存の情報の
    全体の処理単位はそのままで、分割する単位を変更する
    ことにより新規構成に対する情報を得ることを特徴とす
    る請求項1乃至7のいずれか一項記載の情報記憶装置。
  9. 【請求項9】 前記記憶手段は、複数の記憶部を1つの
    記憶領域として処理する制御手段を有することを特徴と
    する請求項1乃至6のいずれか一項記載の情報記憶装
    置。
  10. 【請求項10】 コンピュータに、 入力された情報を複数の記憶手段に分割して記憶する情
    報分割手順と、 前記複数の記憶手段の構成が変更となったとき、既存の
    情報を新規の構成に応じた分割方法で分割し、前記複数
    の記憶手段に記憶するように前記情報分割手順を制御す
    る分割制御手順とを実行させるプログラムが記憶された
    記録媒体。
  11. 【請求項11】 前記分割制御手順は、前記複数の記憶
    手段に新規に記憶手段が追加されたときに、新たに入力
    された情報は、前記新規の構成の記憶手段に応じた分割
    方法で記憶し、 既に前記複数の記憶手段に記憶された情報は、前記複数
    の記憶手段から読み出されたときに、前記新規の構成に
    応じた分割方法で分割され、記憶されることを特徴とす
    る請求項10記載のプログラムが記憶された記録媒体。
  12. 【請求項12】 前記分割制御手順は、前記複数の記憶
    手段から記憶手段が削除されたときに、記憶手段が削除
    された後の構成に応じた分割方法に従って情報を記憶す
    ることを特徴とする請求項10又は11記載のプログラ
    ムが記憶された記録媒体。
  13. 【請求項13】 前記分割制御手順は、分割方法を示す
    分割情報を管理する分割情報管理手順を有することを特
    徴とする請求項10乃至12のいずれか一項記載のプロ
    グラムが記憶された記録媒体。
  14. 【請求項14】 前記分割情報管理手順は、前記分割情
    報として前記情報の分割個数と、 前記情報が記憶される前記記憶装置におけるアドレス
    と、 前記情報の情報量とを管理することを特徴とする請求項
    13記載のプログラムが記憶された記録媒体。
  15. 【請求項15】 前記情報を前記記憶手段に記憶すると
    きに前記分割情報を記憶する分割情報記憶手順を有する
    ことを特徴とする請求項13又は14記載のプログラム
    が記憶された記録媒体。
  16. 【請求項16】 前記情報にエラー訂正情報を付与する
    とともに、該エラー訂正情報に基づいて前記情報を訂正
    するエラー訂正手順を有することを特徴とする請求項1
    0乃至15のいずれか一項記載のプログラムが記憶され
    た記録媒体。
  17. 【請求項17】 前記分割制御手順は、前記既存の情報
    の全体の処理単位はそのままで、分割する単位を変更す
    ることにより新規構成に対する情報を得ることを特徴と
    する請求項10乃至16のいずれか一項記載のプログラ
    ムが記憶された記録媒体。
  18. 【請求項18】 複数の記憶部を1つの記憶領域として
    処理する制御手順を有することを特徴とする請求項10
    乃至17のいずれか一項記載のプログラムが記憶された
    記録媒体。
JP26060198A 1998-05-27 1998-09-14 情報記憶装置及びプログラムが記憶された記録媒体 Expired - Fee Related JP4234233B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP26060198A JP4234233B2 (ja) 1998-05-27 1998-09-14 情報記憶装置及びプログラムが記憶された記録媒体
US09/314,384 US6581135B2 (en) 1998-05-27 1999-05-19 Information storage system for redistributing information to information storage devices when a structure of the information storage devices is changed

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10-145784 1998-05-27
JP14578498 1998-05-27
JP26060198A JP4234233B2 (ja) 1998-05-27 1998-09-14 情報記憶装置及びプログラムが記憶された記録媒体

Publications (2)

Publication Number Publication Date
JP2000047831A true JP2000047831A (ja) 2000-02-18
JP4234233B2 JP4234233B2 (ja) 2009-03-04

Family

ID=26476812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26060198A Expired - Fee Related JP4234233B2 (ja) 1998-05-27 1998-09-14 情報記憶装置及びプログラムが記憶された記録媒体

Country Status (2)

Country Link
US (1) US6581135B2 (ja)
JP (1) JP4234233B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004536360A (ja) * 2000-09-29 2004-12-02 イーエムシー コーポレイション ディスクアレイ記憶装置においてストライピング論理デバイスを再構成する方法及び装置
JP2010044789A (ja) * 2002-11-14 2010-02-25 Isilon Systems Inc 分散ファイルシステムにおけるファイルの再ストライピングのためのシステム及び方法
WO2010116608A1 (ja) * 2009-03-30 2010-10-14 日本電気株式会社 データ挿入システム
US8286029B2 (en) 2006-12-21 2012-10-09 Emc Corporation Systems and methods for managing unavailable storage devices
JP2012226519A (ja) * 2011-04-19 2012-11-15 Konica Minolta Business Technologies Inc 画像形成方法および画像形成装置
US8356150B2 (en) 2006-08-18 2013-01-15 Emc Corporation Systems and methods for providing nonlinear journaling
US8380689B2 (en) 2006-08-18 2013-02-19 Emc Corporation Systems and methods for providing nonlinear journaling
US8625464B2 (en) 2006-02-17 2014-01-07 Emc Corporation Systems and methods for providing a quiescing protocol
US8966080B2 (en) 2007-04-13 2015-02-24 Emc Corporation Systems and methods of managing resource utilization on a threaded computer system

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001167040A (ja) * 1999-12-14 2001-06-22 Hitachi Ltd 記憶サブシステム及び記憶制御装置
US6715104B2 (en) * 2000-07-25 2004-03-30 International Business Machines Corporation Memory access system
US7146524B2 (en) 2001-08-03 2006-12-05 Isilon Systems, Inc. Systems and methods for providing a distributed file system incorporating a virtual hot spare
US7685126B2 (en) * 2001-08-03 2010-03-23 Isilon Systems, Inc. System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system
US7281177B2 (en) * 2003-07-14 2007-10-09 International Business Machines Corporation Autonomic parity exchange
US7254754B2 (en) * 2003-07-14 2007-08-07 International Business Machines Corporation Raid 3+3
JP2005107841A (ja) * 2003-09-30 2005-04-21 Toshiba Corp ディスクアレイコントローラ及び容量拡張方法
US7647451B1 (en) 2003-11-24 2010-01-12 Netapp, Inc. Data placement technique for striping data containers across volumes of a storage system cluster
US7917906B2 (en) * 2004-07-02 2011-03-29 Seagate Technology Llc Resource allocation in a computer-based system
US8776049B2 (en) * 2004-10-20 2014-07-08 Seagate Technology Llc Address aligned resource set allocation in a memory space
US8055711B2 (en) * 2004-10-29 2011-11-08 Emc Corporation Non-blocking commit protocol systems and methods
US8238350B2 (en) 2004-10-29 2012-08-07 Emc Corporation Message batching with checkpoints systems and methods
US8051425B2 (en) 2004-10-29 2011-11-01 Emc Corporation Distributed system with asynchronous execution systems and methods
US7904649B2 (en) 2005-04-29 2011-03-08 Netapp, Inc. System and method for restriping data across a plurality of volumes
US7698334B2 (en) * 2005-04-29 2010-04-13 Netapp, Inc. System and method for multi-tiered meta-data caching and distribution in a clustered computer environment
US7551572B2 (en) 2005-10-21 2009-06-23 Isilon Systems, Inc. Systems and methods for providing variable protection
US7917474B2 (en) * 2005-10-21 2011-03-29 Isilon Systems, Inc. Systems and methods for accessing and updating distributed data
US7788303B2 (en) 2005-10-21 2010-08-31 Isilon Systems, Inc. Systems and methods for distributed system scanning
US7797283B2 (en) 2005-10-21 2010-09-14 Isilon Systems, Inc. Systems and methods for maintaining distributed data
TW200727167A (en) * 2006-01-02 2007-07-16 Via Tech Inc Disk array data arrangement structure and its data access method
US7756898B2 (en) * 2006-03-31 2010-07-13 Isilon Systems, Inc. Systems and methods for notifying listeners of events
GB0606639D0 (en) * 2006-04-01 2006-05-10 Ibm Non-disruptive file system element reconfiguration on disk expansion
US8539056B2 (en) * 2006-08-02 2013-09-17 Emc Corporation Systems and methods for configuring multiple network interfaces
US7590652B2 (en) * 2006-08-18 2009-09-15 Isilon Systems, Inc. Systems and methods of reverse lookup
US7752402B2 (en) 2006-08-18 2010-07-06 Isilon Systems, Inc. Systems and methods for allowing incremental journaling
US7676691B2 (en) 2006-08-18 2010-03-09 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7680836B2 (en) * 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7953704B2 (en) * 2006-08-18 2011-05-31 Emc Corporation Systems and methods for a snapshot of data
US7882071B2 (en) 2006-08-18 2011-02-01 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7680842B2 (en) * 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US20080140930A1 (en) 2006-12-08 2008-06-12 Emulex Design & Manufacturing Corporation Virtual drive mapping
US7593938B2 (en) * 2006-12-22 2009-09-22 Isilon Systems, Inc. Systems and methods of directory entry encodings
US7509448B2 (en) 2007-01-05 2009-03-24 Isilon Systems, Inc. Systems and methods for managing semantic locks
US7900015B2 (en) * 2007-04-13 2011-03-01 Isilon Systems, Inc. Systems and methods of quota accounting
US7779048B2 (en) * 2007-04-13 2010-08-17 Isilon Systems, Inc. Systems and methods of providing possible value ranges
US7975102B1 (en) 2007-08-06 2011-07-05 Netapp, Inc. Technique to avoid cascaded hot spotting
US7966289B2 (en) * 2007-08-21 2011-06-21 Emc Corporation Systems and methods for reading objects in a file system
US7949692B2 (en) 2007-08-21 2011-05-24 Emc Corporation Systems and methods for portals into snapshot data
US7882068B2 (en) 2007-08-21 2011-02-01 Isilon Systems, Inc. Systems and methods for adaptive copy on write
US7996607B1 (en) 2008-01-28 2011-08-09 Netapp, Inc. Distributing lookup operations in a striped storage system
JP5075699B2 (ja) * 2008-03-21 2012-11-21 株式会社日立製作所 ストレージ容量拡張方法及びその方法を使用するストレージシステム
US7984324B2 (en) 2008-03-27 2011-07-19 Emc Corporation Systems and methods for managing stalled storage devices
US7870345B2 (en) 2008-03-27 2011-01-11 Isilon Systems, Inc. Systems and methods for managing stalled storage devices
US7953709B2 (en) * 2008-03-27 2011-05-31 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US7949636B2 (en) * 2008-03-27 2011-05-24 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US8341376B1 (en) * 2009-12-09 2012-12-25 Amdocs Software Systems Limited System, method, and computer program for repartitioning data based on access of the data
US9606858B2 (en) * 2010-04-26 2017-03-28 International Business Machines Corporation Temporarily storing an encoded data slice
US10852966B1 (en) * 2017-10-18 2020-12-01 EMC IP Holding Company, LLC System and method for creating mapped RAID group during expansion of extent pool

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761166A (en) * 1994-05-06 1998-06-02 Sedlmayr; Steven R. Method and system for simultaneous storage and/or retrieval (storval) of a plurality of data on a disk means
US5671377A (en) * 1994-07-19 1997-09-23 David Sarnoff Research Center, Inc. System for supplying streams of data to multiple users by distributing a data stream to multiple processors and enabling each user to manipulate supplied data stream
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
US6098119A (en) * 1998-01-21 2000-08-01 Mylex Corporation Apparatus and method that automatically scans for and configures previously non-configured disk drives in accordance with a particular raid level based on the needed raid level
US6115788A (en) * 1998-02-20 2000-09-05 Seagate Technology, Inc. Multi-drive array with improved data transfer rate performance
US6138125A (en) * 1998-03-31 2000-10-24 Lsi Logic Corporation Block coding method and system for failure recovery in disk arrays

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004536360A (ja) * 2000-09-29 2004-12-02 イーエムシー コーポレイション ディスクアレイ記憶装置においてストライピング論理デバイスを再構成する方法及び装置
JP2010044789A (ja) * 2002-11-14 2010-02-25 Isilon Systems Inc 分散ファイルシステムにおけるファイルの再ストライピングのためのシステム及び方法
US8625464B2 (en) 2006-02-17 2014-01-07 Emc Corporation Systems and methods for providing a quiescing protocol
US8356150B2 (en) 2006-08-18 2013-01-15 Emc Corporation Systems and methods for providing nonlinear journaling
US8380689B2 (en) 2006-08-18 2013-02-19 Emc Corporation Systems and methods for providing nonlinear journaling
US8286029B2 (en) 2006-12-21 2012-10-09 Emc Corporation Systems and methods for managing unavailable storage devices
US8966080B2 (en) 2007-04-13 2015-02-24 Emc Corporation Systems and methods of managing resource utilization on a threaded computer system
WO2010116608A1 (ja) * 2009-03-30 2010-10-14 日本電気株式会社 データ挿入システム
US8566555B2 (en) 2009-03-30 2013-10-22 Nec Corporation Data insertion system, data control device, storage device, data insertion method, data control method, data storing method
JP5516575B2 (ja) * 2009-03-30 2014-06-11 日本電気株式会社 データ挿入システム
JP2012226519A (ja) * 2011-04-19 2012-11-15 Konica Minolta Business Technologies Inc 画像形成方法および画像形成装置

Also Published As

Publication number Publication date
US20020035668A1 (en) 2002-03-21
JP4234233B2 (ja) 2009-03-04
US6581135B2 (en) 2003-06-17

Similar Documents

Publication Publication Date Title
JP2000047831A (ja) 情報記憶装置及びプログラムが記憶された記録媒体
JP6778795B2 (ja) データを記憶するための方法、装置及びシステム
US10977124B2 (en) Distributed storage system, data storage method, and software program
US7472250B2 (en) Storage control device, and control method for storage control device
KR100275900B1 (ko) 알에이아이디 서브시스템에 있어서 분할패러티 예비 디스크 구현방법
US8738582B2 (en) Distributed object storage system comprising performance optimizations
US6785836B2 (en) In-place data transformation for fault-tolerant disk storage systems
US6393516B2 (en) System and method for storage media group parity protection
US20200043524A1 (en) RAID Storage System with Logical Data Group Priority
WO2021086436A1 (en) Erasure coded data shards containing multiple data objects
JP2002312130A (ja) 改良されたストライプベースの処理方法
US6766480B2 (en) Using task description blocks to maintain information regarding operations
JPH0628260A (ja) 記憶装置
JP5391705B2 (ja) ストレージシステム
US9733850B2 (en) Optical cold storage with encoding and placement of data chunks on different optical disks
US7526622B1 (en) Method and system for detecting and correcting data errors using checksums and replication
JPH07261945A (ja) ディスクアレイ装置およびディスクアレイの区分け方法
JPS63273961A (ja) 複数バ−ジヨン管理システム
JPH06230903A (ja) ディスクアレイ装置の障害回復方法、およびディスクアレイ装置
JP4428202B2 (ja) ディスクアレイ・サブシステム、ディスクアレイ・サブシステムにおける分散配置方法、制御方法、プログラム
JP3155836B2 (ja) ディスクアレイ装置
US20220221988A1 (en) Utilizing a hybrid tier which mixes solid state device storage and hard disk drive storage
JP3766079B2 (ja) ディスクアレイ装置およびプログラム
JP2914181B2 (ja) ディスクアレイ装置
US11836391B2 (en) Distributed storage system and storage control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050725

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080804

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081202

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081211

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

Free format text: PAYMENT UNTIL: 20111219

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111219

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121219

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121219

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131219

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees