JPH09319528A - データ記憶システムにおけるデータの再配置方法、そのシステムに記憶されたデータのアクセス方法及びデータ記憶システム - Google Patents
データ記憶システムにおけるデータの再配置方法、そのシステムに記憶されたデータのアクセス方法及びデータ記憶システムInfo
- Publication number
- JPH09319528A JPH09319528A JP8131927A JP13192796A JPH09319528A JP H09319528 A JPH09319528 A JP H09319528A JP 8131927 A JP8131927 A JP 8131927A JP 13192796 A JP13192796 A JP 13192796A JP H09319528 A JPH09319528 A JP H09319528A
- Authority
- JP
- Japan
- Prior art keywords
- data
- block
- data storage
- row
- parity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1096—Parity calculation or recalculation after configuration or reconfiguration of the system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk 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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(57)【要約】
【課題】いわゆるレイド・システムのようなディスク・
アレイ・システムにおいて、ディスクを追加した場合、
記憶データのバックアップをとることなく、データを再
配置することである。 【解決手段】データ記憶ユニットに対応した列と、デー
タ記憶ユニットのアドレス範囲に対応した行とで記憶領
域が表現されるようなレイド・システム中に、新たなデ
ータ記憶ユニットを追加した場合に、追加されたユニッ
トを含めたユニット台数に応じて新たなストライピング
・ルールを決定し、このルールによって、データを記憶
領域に再配置する。ストライピング・ルールにより、一
の行について再配置が行われる際に、他の行からこの一
の行へ移動するデータに関しては、このデータと同じデ
ータをダミー・ブロックとしてもとの位置に記憶してお
く。
アレイ・システムにおいて、ディスクを追加した場合、
記憶データのバックアップをとることなく、データを再
配置することである。 【解決手段】データ記憶ユニットに対応した列と、デー
タ記憶ユニットのアドレス範囲に対応した行とで記憶領
域が表現されるようなレイド・システム中に、新たなデ
ータ記憶ユニットを追加した場合に、追加されたユニッ
トを含めたユニット台数に応じて新たなストライピング
・ルールを決定し、このルールによって、データを記憶
領域に再配置する。ストライピング・ルールにより、一
の行について再配置が行われる際に、他の行からこの一
の行へ移動するデータに関しては、このデータと同じデ
ータをダミー・ブロックとしてもとの位置に記憶してお
く。
Description
【0001】
【発明の属する利用分野】本発明は、パリティ機能を有
するディスク・アレイ・システムのように、複数の記憶
装置を有するシステムのデータ転送方法に係り、特に、
このようなシステム中に新たな記憶装置を追加した場合
における、システムに記憶されているデータの再配置方
法及びデータのアクセス方法に関する。
するディスク・アレイ・システムのように、複数の記憶
装置を有するシステムのデータ転送方法に係り、特に、
このようなシステム中に新たな記憶装置を追加した場合
における、システムに記憶されているデータの再配置方
法及びデータのアクセス方法に関する。
【0002】
【従来の技術】コンピュータが扱うデータを記憶するデ
ータ記憶サブシステムにおいて要求されていることは、
処理能力の向上及び信頼性の向上である。RAID(Red
undantArray of Inexpensive Disks)システムは、この
ような要求に応えるシステムの一つである。ホスト・コ
ンピュータ側からRAIDシステムを見た場合に、複数
のハードディスクドライブ装置(以下、HDDという)
を有するこのシステムは、見かけ上、あたかも一つのハ
ードディスクであるかのように動作する。このシステム
の特徴は、信頼性の向上のために、冗長データであるパ
リティ・データを併せて記憶しているという点である。
すなわち、通常のデータの排他的論理和を演算し、この
演算結果をパリティ・データとして記憶している。この
冗長データの存在により、かりにシステムを構成するデ
ィスクの1台に故障が発生した場合においても、他のデ
ィスクに記憶されたデータの排他的論理和を計算するこ
とによって、故障ディスクに蓄積されたデータを再構成
(reconstruction)することができる。
ータ記憶サブシステムにおいて要求されていることは、
処理能力の向上及び信頼性の向上である。RAID(Red
undantArray of Inexpensive Disks)システムは、この
ような要求に応えるシステムの一つである。ホスト・コ
ンピュータ側からRAIDシステムを見た場合に、複数
のハードディスクドライブ装置(以下、HDDという)
を有するこのシステムは、見かけ上、あたかも一つのハ
ードディスクであるかのように動作する。このシステム
の特徴は、信頼性の向上のために、冗長データであるパ
リティ・データを併せて記憶しているという点である。
すなわち、通常のデータの排他的論理和を演算し、この
演算結果をパリティ・データとして記憶している。この
冗長データの存在により、かりにシステムを構成するデ
ィスクの1台に故障が発生した場合においても、他のデ
ィスクに記憶されたデータの排他的論理和を計算するこ
とによって、故障ディスクに蓄積されたデータを再構成
(reconstruction)することができる。
【0003】RAIDシステムにおいて、ホスト・コン
ピュータ側から転送された一連のデータ系列は、通常、
所定のデータ長のブロック単位(以下、データ・ブロッ
クという)で、複数のHDD上に分散して記憶(配置)
されている。このようなデータの分散配置の規則をスト
ライピング・ルールと呼ぶ。システムを構成するHDD
の台数は、ストライピング・ルールを決定するファクタ
ーの一つである。従って、ユーザがシステムを構成する
HDDの台数を変更した場合には、新たなストライピン
グ・ルールにより、データを分散配置し直さなければな
らない。HDDの台数の変更は、典型的には、HDDを
追加することである。従来、HDDが追加された場合に
は、以下のような方法により、システムにデータを複数
のHDD上に記憶している。
ピュータ側から転送された一連のデータ系列は、通常、
所定のデータ長のブロック単位(以下、データ・ブロッ
クという)で、複数のHDD上に分散して記憶(配置)
されている。このようなデータの分散配置の規則をスト
ライピング・ルールと呼ぶ。システムを構成するHDD
の台数は、ストライピング・ルールを決定するファクタ
ーの一つである。従って、ユーザがシステムを構成する
HDDの台数を変更した場合には、新たなストライピン
グ・ルールにより、データを分散配置し直さなければな
らない。HDDの台数の変更は、典型的には、HDDを
追加することである。従来、HDDが追加された場合に
は、以下のような方法により、システムにデータを複数
のHDD上に記憶している。
【0004】第1の方法は、追加後のHDD全体の台数
に基づいて、新たにRAIDシステムを構成し直す方法
である。この方法では、まず、RAIDシステムを構成
するHDD以外の補助記憶装置中にRAIDシステムが
記憶しているデータのバックアップを取ることが必要で
ある。バックアップを取った後に、RAIDシステムを
初期化して、追加されたHDDを含めたHDDの台数に
基づいたストライピング・ルールを決定する。そして、
このストライピング・ルールに従って、バックアップデ
ータをデータ・ブロック毎にそれぞれのHDDに再配置
していく。
に基づいて、新たにRAIDシステムを構成し直す方法
である。この方法では、まず、RAIDシステムを構成
するHDD以外の補助記憶装置中にRAIDシステムが
記憶しているデータのバックアップを取ることが必要で
ある。バックアップを取った後に、RAIDシステムを
初期化して、追加されたHDDを含めたHDDの台数に
基づいたストライピング・ルールを決定する。そして、
このストライピング・ルールに従って、バックアップデ
ータをデータ・ブロック毎にそれぞれのHDDに再配置
していく。
【0005】図1は、この第1の方法を用いて、5台の
HDDから構成されたRAIDシステムに、新たに1台
のHDDを追加した場合の、2次元アレイに配置された
データ・ブロックの変化を示す概略図である。
HDDから構成されたRAIDシステムに、新たに1台
のHDDを追加した場合の、2次元アレイに配置された
データ・ブロックの変化を示す概略図である。
【0006】ホスト・コンピュータから転送されたデー
タ系列は、データ・ブロックに分割される。それぞれの
データ・ブロックは、4台のHDD(drive 0乃至drive
3)にブロック単位(Block 0乃至Block 3)に順々に書
き込まれる。そして、HDD(drive 4)には、これらの
データ・ブロック(Block 0乃至Block 3)の排他的論理和
(以下、パリティ・ブロックという)(Block P)が書
き込まれている。このように、行0(row 0)は、4つ
のデータ・ブロック(Block 0乃至Block 3)及びこれら
のデータのパリティであるパリティ・ブロック(Block
P)で構成されている。図示のように、行1以降も、デ
ータ・ブロック及びこれらのパリティ・ブロックがそれ
ぞれのHDDに書き込まれている(図1(a))。
タ系列は、データ・ブロックに分割される。それぞれの
データ・ブロックは、4台のHDD(drive 0乃至drive
3)にブロック単位(Block 0乃至Block 3)に順々に書
き込まれる。そして、HDD(drive 4)には、これらの
データ・ブロック(Block 0乃至Block 3)の排他的論理和
(以下、パリティ・ブロックという)(Block P)が書
き込まれている。このように、行0(row 0)は、4つ
のデータ・ブロック(Block 0乃至Block 3)及びこれら
のデータのパリティであるパリティ・ブロック(Block
P)で構成されている。図示のように、行1以降も、デ
ータ・ブロック及びこれらのパリティ・ブロックがそれ
ぞれのHDDに書き込まれている(図1(a))。
【0007】6台目のHDD(drive 5)を新たに本シ
ステム中に追加した場合、追加前のデータのバックアッ
プをとった上で、初期化されたシステムの各HDDにブ
ロック単位に再配置していく。この際、行0におけるデ
ータ・ブロック数が1つ増えるため(Block 0'乃至Bloc
k 4')、この5ブロックのデータのパリティを新たに計
算して、パリティ・ブロック(Block P')を求める。同様
にして、行1以降も再配置、パリティ・データの計算・
配置を繰り返し実行する(図1(b))。
ステム中に追加した場合、追加前のデータのバックアッ
プをとった上で、初期化されたシステムの各HDDにブ
ロック単位に再配置していく。この際、行0におけるデ
ータ・ブロック数が1つ増えるため(Block 0'乃至Bloc
k 4')、この5ブロックのデータのパリティを新たに計
算して、パリティ・ブロック(Block P')を求める。同様
にして、行1以降も再配置、パリティ・データの計算・
配置を繰り返し実行する(図1(b))。
【0008】第2の方法は、変更前のRAIDとは別
に、追加したHDDだけで新たにRAIDを構成する方
法である。
に、追加したHDDだけで新たにRAIDを構成する方
法である。
【0009】図2は、5台のHDDを有するRAIDに
新たに3台のHDDを追加した場合における、第2の方
法を用いた2次元アレイに配置されたデータ・ブロック
の変化を示す概略図である。5台のHDD(drive 0乃
至drive 4)で構成されるRAID(図2(a))とは別
に、新たに追加された3台のHDD(drive 5乃至drive
7)のみでRAIDを構成し(図5(b))、この追加部分
を別のストライピング・ルールに従い、別のロジカルユ
ニットとしてアクセスできるようにする。
新たに3台のHDDを追加した場合における、第2の方
法を用いた2次元アレイに配置されたデータ・ブロック
の変化を示す概略図である。5台のHDD(drive 0乃
至drive 4)で構成されるRAID(図2(a))とは別
に、新たに追加された3台のHDD(drive 5乃至drive
7)のみでRAIDを構成し(図5(b))、この追加部分
を別のストライピング・ルールに従い、別のロジカルユ
ニットとしてアクセスできるようにする。
【0010】
【発明が解決しようとする課題】このような従来の方法
においては、以下のような問題が存在する。第1の方法
では、追加されたHDDを含めてRAIDを新たに構成
し直すため、データを消去して初期化している間、ホス
ト・コンピュータは、このシステムにアクセスすること
ができない。システムが常時、使用可能状態であること
が要求されているRAIDシステムにおいて、この初期
化は大きな問題となる。また、データのバックアップの
ために大容量の補助記憶装置が必要となるためコストが
高くなる。
においては、以下のような問題が存在する。第1の方法
では、追加されたHDDを含めてRAIDを新たに構成
し直すため、データを消去して初期化している間、ホス
ト・コンピュータは、このシステムにアクセスすること
ができない。システムが常時、使用可能状態であること
が要求されているRAIDシステムにおいて、この初期
化は大きな問題となる。また、データのバックアップの
ために大容量の補助記憶装置が必要となるためコストが
高くなる。
【0011】第2の方法では、RAIDが複数に分割さ
れてしまうため、同数のHDDで1つのRAIDを構成
した場合と比べて、システムのパフォーマンスが低下す
る。この理由は2つある。一つは、RAIDを構成する
HDDの数が多いほど、データが分散されるため1台当
たりのHDDのアクセス量は少なくなるからである。図
2の例でいうと、5台のHDD及び3台のHDDで構成
される2つのRAIDシステムよりも、8台のHDDを
まとめて1つのRAIDシステムとする方がデータアク
セスのパフォーマンスが高い。また、別の理由は、複数
のRAIDを構成すると、システムにおける制御が複雑
になるので、パフォーマンスが低下する恐れがあること
である。
れてしまうため、同数のHDDで1つのRAIDを構成
した場合と比べて、システムのパフォーマンスが低下す
る。この理由は2つある。一つは、RAIDを構成する
HDDの数が多いほど、データが分散されるため1台当
たりのHDDのアクセス量は少なくなるからである。図
2の例でいうと、5台のHDD及び3台のHDDで構成
される2つのRAIDシステムよりも、8台のHDDを
まとめて1つのRAIDシステムとする方がデータアク
セスのパフォーマンスが高い。また、別の理由は、複数
のRAIDを構成すると、システムにおける制御が複雑
になるので、パフォーマンスが低下する恐れがあること
である。
【0012】そこで、本発明の第1の目的は、システム
に記憶されているデータを消去することなく、システム
に新たな記憶装置を追加可能にする方法を提供すること
である。
に記憶されているデータを消去することなく、システム
に新たな記憶装置を追加可能にする方法を提供すること
である。
【0013】また、本発明の第2の目的は、システムに
新たな記憶装置を追加することによりシステムの構成を
変更した場合においても、システムのパフォーマンスの
低下を防止することである。
新たな記憶装置を追加することによりシステムの構成を
変更した場合においても、システムのパフォーマンスの
低下を防止することである。
【0014】
【課題を解決するための手段】上記問題点に鑑み、第1
の発明は、次のような構成を有する。第1の発明に係る
データ記憶システムは、複数のデータ記憶ユニットで構
成され、それぞれのデータ記憶ユニットには、データ・
ブロックまたはデータ・ブロックのパリティであるパリ
ティ・ブロックが、データ記憶ユニットの台数に応じた
ストライピング・ルールに従って記憶されている。この
システム中のデータ・ブロックの分散配置の状態は、行
と列からなる2次元アレイで表現できる。つまり、各列
がそれぞれのデータ記憶ユニットに対応すると共に、各
行がデータ記憶ユニットのアドレス範囲に対応してい
る。そして、行と列が特定されることにより、ある1つ
のドライブのあるアドレス範囲が特定される。つまり、
システム中のある1つの記憶範囲が特定される。このよ
うなシステムを構成するデータ記憶ユニットの台数を増
やすために、新たなデータ記憶ユニットがシステム中に
追加された場合、システムに記憶されているデータの再
配置は、以下の4つのステップにより達成される。 (a) 新たに追加されたデータ記憶ユニットを含めたデー
タ記憶ユニットの台数に応じて新たなストライピング・
ルールを決定するステップ (b) ストライピング・ルールによって、2次元アレイの
一の行について、複数のデータ・ブロックのそれぞれを
一の行に属する各記憶領域に再配置するステップ (c) 一の行に属する各記憶領域に再配置された複数のデ
ータ・ブロックからパリティ・ブロックを新たに生成す
るステップ (d) 生成されたパリティ・ブロックを、ストライピング
・ルールによって、一の行に属する記憶領域に配置する
ステップ ここで、ステップ(b)において、ストライピング・ルー
ルにより、一の行について再配置が行われる際に、他の
行からこの一の行へ移動するデータ・ブロックに関して
は、このデータ・ブロックと同じデータ内容を有するダ
ミー・ブロックを補完的データとしてシステム中に記憶
しておく。
の発明は、次のような構成を有する。第1の発明に係る
データ記憶システムは、複数のデータ記憶ユニットで構
成され、それぞれのデータ記憶ユニットには、データ・
ブロックまたはデータ・ブロックのパリティであるパリ
ティ・ブロックが、データ記憶ユニットの台数に応じた
ストライピング・ルールに従って記憶されている。この
システム中のデータ・ブロックの分散配置の状態は、行
と列からなる2次元アレイで表現できる。つまり、各列
がそれぞれのデータ記憶ユニットに対応すると共に、各
行がデータ記憶ユニットのアドレス範囲に対応してい
る。そして、行と列が特定されることにより、ある1つ
のドライブのあるアドレス範囲が特定される。つまり、
システム中のある1つの記憶範囲が特定される。このよ
うなシステムを構成するデータ記憶ユニットの台数を増
やすために、新たなデータ記憶ユニットがシステム中に
追加された場合、システムに記憶されているデータの再
配置は、以下の4つのステップにより達成される。 (a) 新たに追加されたデータ記憶ユニットを含めたデー
タ記憶ユニットの台数に応じて新たなストライピング・
ルールを決定するステップ (b) ストライピング・ルールによって、2次元アレイの
一の行について、複数のデータ・ブロックのそれぞれを
一の行に属する各記憶領域に再配置するステップ (c) 一の行に属する各記憶領域に再配置された複数のデ
ータ・ブロックからパリティ・ブロックを新たに生成す
るステップ (d) 生成されたパリティ・ブロックを、ストライピング
・ルールによって、一の行に属する記憶領域に配置する
ステップ ここで、ステップ(b)において、ストライピング・ルー
ルにより、一の行について再配置が行われる際に、他の
行からこの一の行へ移動するデータ・ブロックに関して
は、このデータ・ブロックと同じデータ内容を有するダ
ミー・ブロックを補完的データとしてシステム中に記憶
しておく。
【0015】上記ダミー・ブロックは、このダミー・ブ
ロックに対応するデータ・ブロックの移動元である他の
行に属する記憶領域、つまり元々配置されていた位置に
記憶しておくことが好ましい。
ロックに対応するデータ・ブロックの移動元である他の
行に属する記憶領域、つまり元々配置されていた位置に
記憶しておくことが好ましい。
【0016】また、第1の発明は、(e) 一の行以外の他
の行について、ステップ(b)乃至(d)を実行するステップ
を有し、この他の行におけるデータの再配置が開始され
るまで、上記ダミー・ブロックを記憶しておくことが好
ましい。
の行について、ステップ(b)乃至(d)を実行するステップ
を有し、この他の行におけるデータの再配置が開始され
るまで、上記ダミー・ブロックを記憶しておくことが好
ましい。
【0017】このデータ記憶システムは、データ・ブロ
ックの再配置の完了の状態を示すポインタにより、どの
データ・ブロックまで再配置が完了したかが管理されて
いることが好ましい。そのためには、(f) データ・ブロ
ックの再配置に応じて、このポインタの値を更新してい
くことが必要である。
ックの再配置の完了の状態を示すポインタにより、どの
データ・ブロックまで再配置が完了したかが管理されて
いることが好ましい。そのためには、(f) データ・ブロ
ックの再配置に応じて、このポインタの値を更新してい
くことが必要である。
【0018】第2の発明は、複数のデータ記憶ユニット
で構成されたデータ記憶システムであって、上記の構成
を有するシステムにホスト・コンピュータなどからアク
セス要求があった場合のデータアクセス方法を提供する
ものである。それぞれのデータ記憶ユニットには、追加
前のデータ記憶ユニットの台数に応じた第1のストライ
ピング・ルールに従って、データ・ブロックまたはデー
タ・ブロックのパリティであるパリティ・ブロックが記
憶されている。データ記憶システムは、データ記憶シス
テム中に新たなデータ記憶ユニットが追加された場合
に、新たに追加されたデータ記憶ユニットを含めたユニ
ット全体の台数に応じた第2のストライピング・ルール
に従って、それぞれのデータ記憶ユニットに、データ・
ブロック及びデータ・ブロックのパリティであるパリテ
ィ・ブロックを再配置していく。この再配置の途中にデ
ータ記憶システム外からのアクセス要求があった場合に
おいて、データをアクセスする方法は、以下のステップ
を有する。データ記憶システムは、データ・ブロックの
再配置の完了の状態を示すポインタを有し、どのデータ
・ブロックまで再配置が完了したかを管理するために、
データ・ブロックの再配置に応じて、このポインタの値
を更新し、アクセス要求の対象となるデータが、第1の
ストライピング・ルール及び第2のストライピング・ル
ールのどちらで配置されているかを、上記ポインタによ
り判断し、アクセス要求の対象となるデータが、第1の
ストライピング・ルールに従って配置された第1のデー
タ・ブロック及び第2のストライピング・ルールに従っ
て配置された第2のデータ・ブロックの両方を含む場合
には、第1のデータ・ブロックに対しては第1のストラ
イピング・ルールに従ってアクセスし、第2のデータ・
ブロックに対しては第2のストライピング・ルールに従
ってアクセスする。
で構成されたデータ記憶システムであって、上記の構成
を有するシステムにホスト・コンピュータなどからアク
セス要求があった場合のデータアクセス方法を提供する
ものである。それぞれのデータ記憶ユニットには、追加
前のデータ記憶ユニットの台数に応じた第1のストライ
ピング・ルールに従って、データ・ブロックまたはデー
タ・ブロックのパリティであるパリティ・ブロックが記
憶されている。データ記憶システムは、データ記憶シス
テム中に新たなデータ記憶ユニットが追加された場合
に、新たに追加されたデータ記憶ユニットを含めたユニ
ット全体の台数に応じた第2のストライピング・ルール
に従って、それぞれのデータ記憶ユニットに、データ・
ブロック及びデータ・ブロックのパリティであるパリテ
ィ・ブロックを再配置していく。この再配置の途中にデ
ータ記憶システム外からのアクセス要求があった場合に
おいて、データをアクセスする方法は、以下のステップ
を有する。データ記憶システムは、データ・ブロックの
再配置の完了の状態を示すポインタを有し、どのデータ
・ブロックまで再配置が完了したかを管理するために、
データ・ブロックの再配置に応じて、このポインタの値
を更新し、アクセス要求の対象となるデータが、第1の
ストライピング・ルール及び第2のストライピング・ル
ールのどちらで配置されているかを、上記ポインタによ
り判断し、アクセス要求の対象となるデータが、第1の
ストライピング・ルールに従って配置された第1のデー
タ・ブロック及び第2のストライピング・ルールに従っ
て配置された第2のデータ・ブロックの両方を含む場合
には、第1のデータ・ブロックに対しては第1のストラ
イピング・ルールに従ってアクセスし、第2のデータ・
ブロックに対しては第2のストライピング・ルールに従
ってアクセスする。
【0019】アクセス対象となるデータが、第1のデー
タまたは第2のデータのどちらか一方のみの場合には、
それぞれのストライピング・ルールに従って、アクセス
すればよい。
タまたは第2のデータのどちらか一方のみの場合には、
それぞれのストライピング・ルールに従って、アクセス
すればよい。
【0020】第3の発明は、データ・バスと、データを
記憶する複数のデータ記憶ユニットと、複数の接続手段
及びパリティ生成手段とを有するデータ記憶システムで
ある。それぞれの接続手段はそれぞれのデータ記憶ユニ
ットと前記データ・バスとの間に設けられている。パリ
ティ生成手段は、データ・バスに接続されており、入力
されたデータのパリティを求める。このデータ記憶シス
テムは、さらにシステム制御手段を有している。システ
ム制御手段は、システムを以下のように制御する。
記憶する複数のデータ記憶ユニットと、複数の接続手段
及びパリティ生成手段とを有するデータ記憶システムで
ある。それぞれの接続手段はそれぞれのデータ記憶ユニ
ットと前記データ・バスとの間に設けられている。パリ
ティ生成手段は、データ・バスに接続されており、入力
されたデータのパリティを求める。このデータ記憶シス
テムは、さらにシステム制御手段を有している。システ
ム制御手段は、システムを以下のように制御する。
【0021】新たに追加されたデータ記憶ユニットを含
めたデータ記憶ユニットの台数に応じて特定された新た
なストライピング・ルールによって、2次元アレイの一
の行について、複数のデータ・ブロックのそれぞれを一
の行に属する各記憶領域に再配置する。そして、一の行
に属する各記憶領域に再配置された複数のデータ・ブロ
ックからパリティ・ブロックを新たに生成する。生成さ
れたパリティ・ブロックを、ストライピング・ルールに
よって、一の行に属する記憶領域に配置する。新たなス
トライピング・ルールにより、一の行について再配置が
行われる際に、他の行から一の行へ移動するデータ・ブ
ロックに関しては、当該データ・ブロックと同じデータ
をダミー・ブロックとして記憶しておく。
めたデータ記憶ユニットの台数に応じて特定された新た
なストライピング・ルールによって、2次元アレイの一
の行について、複数のデータ・ブロックのそれぞれを一
の行に属する各記憶領域に再配置する。そして、一の行
に属する各記憶領域に再配置された複数のデータ・ブロ
ックからパリティ・ブロックを新たに生成する。生成さ
れたパリティ・ブロックを、ストライピング・ルールに
よって、一の行に属する記憶領域に配置する。新たなス
トライピング・ルールにより、一の行について再配置が
行われる際に、他の行から一の行へ移動するデータ・ブ
ロックに関しては、当該データ・ブロックと同じデータ
をダミー・ブロックとして記憶しておく。
【0022】このダミー・ブロックは、一の行へ移動す
るデータ・ブロックの移動元である、他の行に属する記
憶領域に記憶しておくことが好ましい。また、一の行以
外の他の行について、再配置を繰り返し実行する場合に
は、他の行におけるデータの再配置が開始されるまで、
ダミー・ブロックを他のデータに置き換えることなく記
憶しておくことが好ましい。
るデータ・ブロックの移動元である、他の行に属する記
憶領域に記憶しておくことが好ましい。また、一の行以
外の他の行について、再配置を繰り返し実行する場合に
は、他の行におけるデータの再配置が開始されるまで、
ダミー・ブロックを他のデータに置き換えることなく記
憶しておくことが好ましい。
【0023】さらに、このシステム制御手段は、データ
・ブロックの再配置の完了の状態を示すポインタを用い
て、どのデータ・ブロックまで再配置が完了したかを管
理していることが好ましい。ポインタの値は、データ・
ブロックの再配置に応じて、逐次更新される。
・ブロックの再配置の完了の状態を示すポインタを用い
て、どのデータ・ブロックまで再配置が完了したかを管
理していることが好ましい。ポインタの値は、データ・
ブロックの再配置に応じて、逐次更新される。
【0024】第4の発明は、データ・バスと、データを
記憶する複数のデータ記憶ユニットと、複数の接続手段
であって、それぞれの接続手段はそれぞれのデータ記憶
ユニットと前記データ・バスとの間に設けられていて、
さらに、データ・バスに接続されており、データのパリ
ティを求めるパリティ生成手段とを有するデータ記憶シ
ステムにおいて、このデータ記憶システムは、システム
制御手段を有している。このシステム制御手段は、シス
テムを以下のように制御する。
記憶する複数のデータ記憶ユニットと、複数の接続手段
であって、それぞれの接続手段はそれぞれのデータ記憶
ユニットと前記データ・バスとの間に設けられていて、
さらに、データ・バスに接続されており、データのパリ
ティを求めるパリティ生成手段とを有するデータ記憶シ
ステムにおいて、このデータ記憶システムは、システム
制御手段を有している。このシステム制御手段は、シス
テムを以下のように制御する。
【0025】システムに記憶されているデータは、デー
タ記憶ユニットの台数に応じた第1のストライピング・
ルールに従って、データ・ブロック毎にデータ記憶ユニ
ットに記憶されている。この際、行毎にデータ・ブロッ
クのパリティ・ブロックも求められている。データ記憶
システムは、新たなデータ記憶ユニットが追加された場
合に、新たに追加されたデータ記憶ユニットを含めたデ
ータ記憶ユニットの台数に応じて第1のストライピング
・ルールとは別の第2のストライピング・ルールに従っ
て、システム中のデータを再配置する。つまり、既に記
憶されているデータをそれぞれのデータ記憶ユニット
に、ブロック毎に再配置する。再配置の途中にデータ記
憶システム外からのアクセス要求があった場合でも、デ
ータアクセスを認めるために、データ記憶システムは、
データ・ブロックの再配置の完了の状態を示すポインタ
を有している。このポインタの値は、どのデータ・ブロ
ックまで再配置が完了したかが管理するためのものであ
り、データ・ブロックの再配置に応じて、ポインタの値
は更新される。アクセス要求の対象となるデータが、第
1のストライピング・ルール及び第2のストライピング
・ルールのどちらで配置されているかは、このポインタ
により判断される。アクセス要求の対象となるデータ
が、第1のストライピング・ルールに従って配置された
第1のデータ・ブロックの場合には、第1のストライピ
ング・ルールに従ってアクセスする。また、アクセス要
求の対象となるデータが、第2のストライピング・ルー
ルに従って配置された第2のデータ・ブロックの場合に
は、第2のストライピング・ルールに従ってアクセスす
る。さらに、アクセス要求の対象となるデータが、第1
のストライピング・ルールに従って配置された第1のデ
ータ・ブロック及び第2のストライピング・ルールに従
って配置された第2のデータ・ブロックの両方を含む場
合には、第1のデータ・ブロックに対しては第1のスト
ライピング・ルールに従ってアクセスし、第2のデータ
・ブロックに対しては第2のストライピング・ルールに
従ってアクセスする。
タ記憶ユニットの台数に応じた第1のストライピング・
ルールに従って、データ・ブロック毎にデータ記憶ユニ
ットに記憶されている。この際、行毎にデータ・ブロッ
クのパリティ・ブロックも求められている。データ記憶
システムは、新たなデータ記憶ユニットが追加された場
合に、新たに追加されたデータ記憶ユニットを含めたデ
ータ記憶ユニットの台数に応じて第1のストライピング
・ルールとは別の第2のストライピング・ルールに従っ
て、システム中のデータを再配置する。つまり、既に記
憶されているデータをそれぞれのデータ記憶ユニット
に、ブロック毎に再配置する。再配置の途中にデータ記
憶システム外からのアクセス要求があった場合でも、デ
ータアクセスを認めるために、データ記憶システムは、
データ・ブロックの再配置の完了の状態を示すポインタ
を有している。このポインタの値は、どのデータ・ブロ
ックまで再配置が完了したかが管理するためのものであ
り、データ・ブロックの再配置に応じて、ポインタの値
は更新される。アクセス要求の対象となるデータが、第
1のストライピング・ルール及び第2のストライピング
・ルールのどちらで配置されているかは、このポインタ
により判断される。アクセス要求の対象となるデータ
が、第1のストライピング・ルールに従って配置された
第1のデータ・ブロックの場合には、第1のストライピ
ング・ルールに従ってアクセスする。また、アクセス要
求の対象となるデータが、第2のストライピング・ルー
ルに従って配置された第2のデータ・ブロックの場合に
は、第2のストライピング・ルールに従ってアクセスす
る。さらに、アクセス要求の対象となるデータが、第1
のストライピング・ルールに従って配置された第1のデ
ータ・ブロック及び第2のストライピング・ルールに従
って配置された第2のデータ・ブロックの両方を含む場
合には、第1のデータ・ブロックに対しては第1のスト
ライピング・ルールに従ってアクセスし、第2のデータ
・ブロックに対しては第2のストライピング・ルールに
従ってアクセスする。
【0026】
【発明の実施の形態】図3は、N(N≧3)台のHDD
で構成されるデータ記憶システムのブロック図である。
以下、このデータ記憶システムを、典型的な例であるR
AID5と呼ばれるシステムをもとに説明するが、本発
明はこれに限定されず、RAID3をはじめとしてさま
ざまなシステムに適用できることは当然である。
で構成されるデータ記憶システムのブロック図である。
以下、このデータ記憶システムを、典型的な例であるR
AID5と呼ばれるシステムをもとに説明するが、本発
明はこれに限定されず、RAID3をはじめとしてさま
ざまなシステムに適用できることは当然である。
【0027】N台のデータ記憶ユニットとしてのHDD
31は、接続手段としてのドライブ制御回路32を介し
て、システム制御手段としてのRAID制御回路33に
接続されている。ここで、ドライブ制御回路32は、H
DD31と図示してないデータ・バスとを接続する回路
であり、RAID制御回路33は、ホスト側からの信号
等に応じて、データ・バスへの転送タイミングを制御
し、或は、パリティ・データの生成するといったよう
に、RAIDシステム全体を制御する回路である。この
RAID制御回路33は、DMAC(直接メモリアクセ
ス制御回路)34、パリティ発生回路35、バス・スイ
ッチ回路36及びバッファ・メモリ37などを有してい
る。パリティ発生回路35は、入力値の排他的論理和で
あるパリティを求める回路である。この入力値とは、具
体的には、データ・バス上のデータまたはバッファ・メ
モリ37中のデータである。さらに、データ・バスはホ
ストアタプタ38を介して、図示していないホスト・コ
ンピュータに接続されている。
31は、接続手段としてのドライブ制御回路32を介し
て、システム制御手段としてのRAID制御回路33に
接続されている。ここで、ドライブ制御回路32は、H
DD31と図示してないデータ・バスとを接続する回路
であり、RAID制御回路33は、ホスト側からの信号
等に応じて、データ・バスへの転送タイミングを制御
し、或は、パリティ・データの生成するといったよう
に、RAIDシステム全体を制御する回路である。この
RAID制御回路33は、DMAC(直接メモリアクセ
ス制御回路)34、パリティ発生回路35、バス・スイ
ッチ回路36及びバッファ・メモリ37などを有してい
る。パリティ発生回路35は、入力値の排他的論理和で
あるパリティを求める回路である。この入力値とは、具
体的には、データ・バス上のデータまたはバッファ・メ
モリ37中のデータである。さらに、データ・バスはホ
ストアタプタ38を介して、図示していないホスト・コ
ンピュータに接続されている。
【0028】このシステムにおいて、ホスト・コンピュ
ータ側から転送されるデータ系列は、RAIDを構成す
るHDDの台数に基づいたストライピング・ルールによ
って、所定のデータ長のブロック単位に分割されて、こ
のブロック毎にそれぞれのHDDに記憶される。
ータ側から転送されるデータ系列は、RAIDを構成す
るHDDの台数に基づいたストライピング・ルールによ
って、所定のデータ長のブロック単位に分割されて、こ
のブロック毎にそれぞれのHDDに記憶される。
【0029】RAID制御回路33は、追加的な機能と
して、ユーザがシステム中に少なくとも1台のHDDを
新たに追加した場合に、システムが記憶しているデータ
をこの変更後のシステムに適切に配置し直す手順を制御
する機能を有している。この特徴的な制御については後
述する。
して、ユーザがシステム中に少なくとも1台のHDDを
新たに追加した場合に、システムが記憶しているデータ
をこの変更後のシステムに適切に配置し直す手順を制御
する機能を有している。この特徴的な制御については後
述する。
【0030】ここで、ストライピング・ルールについて
説明しておく。ストライピング・ルールは、分割された
データ・ブロックを所定の台数のHDDにどのようなに
配置するかという割り振り方を定めたものである。図1
(b)で用いられているストライピング・ルールは、6
台の記憶ユニットにレフト・シンメトリック(Left Symm
etric)・ルールでデータを配置している。本明細書で
は、ストライピング・ルールとは、レフト・シンメトリ
ック・ルール等のデータの割り振り方のみならず、HD
Dの台数にも基づくものと定義する。つまり、データの
割り振り方が同じレフト・シンメトリック・ルールであ
っても、HDDの台数が異なれば、異なるストライピン
グ・ルールである点に特に留意されたい。
説明しておく。ストライピング・ルールは、分割された
データ・ブロックを所定の台数のHDDにどのようなに
配置するかという割り振り方を定めたものである。図1
(b)で用いられているストライピング・ルールは、6
台の記憶ユニットにレフト・シンメトリック(Left Symm
etric)・ルールでデータを配置している。本明細書で
は、ストライピング・ルールとは、レフト・シンメトリ
ック・ルール等のデータの割り振り方のみならず、HD
Dの台数にも基づくものと定義する。つまり、データの
割り振り方が同じレフト・シンメトリック・ルールであ
っても、HDDの台数が異なれば、異なるストライピン
グ・ルールである点に特に留意されたい。
【0031】図4は、本実施例のデータ記憶システムに
新たに1台のHDDを追加した場合におけるデータ・ブ
ロックを再配置するためのフローチャートである。ま
た、図5は、本実施例における2次元アレイに配置され
たデータ・ブロックの変化を示す概略図である。なお、
これらの手順は、RAID制御回路33の制御の元に実
行される。
新たに1台のHDDを追加した場合におけるデータ・ブ
ロックを再配置するためのフローチャートである。ま
た、図5は、本実施例における2次元アレイに配置され
たデータ・ブロックの変化を示す概略図である。なお、
これらの手順は、RAID制御回路33の制御の元に実
行される。
【0032】この2次元アレイの各行は、HDDの論理
アドレスの所定の範囲に対応している。例えば、行0
は、論理アドレスAから論理アドレスBの範囲というよ
うにに対応付けられている。そして、2次元アレイの各
列は、それぞれHDDの番号に対応している。従って、
ある行及び列がそれぞれ特定されれば、どのHDDのど
のアドレス領域であるかが特定される。つまり、システ
ムの記憶範囲が特定されるのである。また、マトリック
ス中の番号は、データ・ブロックの連続番号を示し、P
は、同一行に属する4つのデータ・ブロックの排他的論
理和として計算されるパリティ・ブロックを示してい
る。
アドレスの所定の範囲に対応している。例えば、行0
は、論理アドレスAから論理アドレスBの範囲というよ
うにに対応付けられている。そして、2次元アレイの各
列は、それぞれHDDの番号に対応している。従って、
ある行及び列がそれぞれ特定されれば、どのHDDのど
のアドレス領域であるかが特定される。つまり、システ
ムの記憶範囲が特定されるのである。また、マトリック
ス中の番号は、データ・ブロックの連続番号を示し、P
は、同一行に属する4つのデータ・ブロックの排他的論
理和として計算されるパリティ・ブロックを示してい
る。
【0033】ユーザによる新たなHDDの追加(Step10
1) レフト・シンメトリック・ルールを採用している5台の
HDD(HDD0〜HDD4)から構成されるRAIDシステム
中に、ユーザが新たに1台のHDD(HDD5)を追加す
る。具体的には、HDD5を装置のドライブ・ベイに差
し込む。HDD5が正常に差し込まれた場合、HDDが
追加されたことを示す信号がRAID制御回路33に送
られる。なお、本実施例では、1台のHDDが追加され
た場合を示しているが、本発明は、複数のHDDを追加
した場合についても当然に適用することもできる。
1) レフト・シンメトリック・ルールを採用している5台の
HDD(HDD0〜HDD4)から構成されるRAIDシステム
中に、ユーザが新たに1台のHDD(HDD5)を追加す
る。具体的には、HDD5を装置のドライブ・ベイに差
し込む。HDD5が正常に差し込まれた場合、HDDが
追加されたことを示す信号がRAID制御回路33に送
られる。なお、本実施例では、1台のHDDが追加され
た場合を示しているが、本発明は、複数のHDDを追加
した場合についても当然に適用することもできる。
【0034】新たなストライピング・ルールの決定(St
ep102) 追加されたHDDを含めた6台のHDD(HDD0〜HDD5)
により新たなRAIDシステムに変更する。HDDの台
数の変更に応じて、ストライピング・ルールも変更し、
レフト・シンメトリック・ルールで6台のHDDに分散
するように設定を変更する。図5(a)は、システムを
変更直後のデータの配置状態を示している。データ・ブ
ロック及びパリティ・ブロックは、変更前のHDDの台
数に基づいたストライピング・ルールにより配置されて
いるため、追加されたHDD(HDD5)には、何のデータ
も書き込まれてはいない。
ep102) 追加されたHDDを含めた6台のHDD(HDD0〜HDD5)
により新たなRAIDシステムに変更する。HDDの台
数の変更に応じて、ストライピング・ルールも変更し、
レフト・シンメトリック・ルールで6台のHDDに分散
するように設定を変更する。図5(a)は、システムを
変更直後のデータの配置状態を示している。データ・ブ
ロック及びパリティ・ブロックは、変更前のHDDの台
数に基づいたストライピング・ルールにより配置されて
いるため、追加されたHDD(HDD5)には、何のデータ
も書き込まれてはいない。
【0035】ループ変数の初期化(Step103) データ・ブロックの再配置を実行するにあたり、まず、
ループ変数を初期化する(row_new=0)。このループ変
数は、システム変更後の行の番号を示すものであり、初
期化された状態で、行0を示している。データの再配置
は、このループ変数の値を再配置を実行する行として実
行される。ループ変数の値に対応する行にデータ・ブロックを移動
(Step104) 新たに決定されたストライピング・ルールにより、ルー
プ変数(row_new)の値に対応する番号の行について再
配置を実行する。この行に属する複数の記憶領域(それ
ぞれの記憶領域は2次元アレイの行及び列で特定され
る)に、各データ・ブロックを再配置する。図5(b)
は、行0の再配置のみが完了した状態を示している。変
更前から行0に配置されていたデータ・ブロック0から
データ・ブロック3は、そのままの記憶領域に残してお
く。そして、それに続くデータ・ブロック4は、行1か
ら行0へと移動し、HDD4に再配置される。このよう
に、本発明において、データの再配置とは、必ず全ての
データが別の記憶領域に移動する必要は必ずしもない。
ループ変数を初期化する(row_new=0)。このループ変
数は、システム変更後の行の番号を示すものであり、初
期化された状態で、行0を示している。データの再配置
は、このループ変数の値を再配置を実行する行として実
行される。ループ変数の値に対応する行にデータ・ブロックを移動
(Step104) 新たに決定されたストライピング・ルールにより、ルー
プ変数(row_new)の値に対応する番号の行について再
配置を実行する。この行に属する複数の記憶領域(それ
ぞれの記憶領域は2次元アレイの行及び列で特定され
る)に、各データ・ブロックを再配置する。図5(b)
は、行0の再配置のみが完了した状態を示している。変
更前から行0に配置されていたデータ・ブロック0から
データ・ブロック3は、そのままの記憶領域に残してお
く。そして、それに続くデータ・ブロック4は、行1か
ら行0へと移動し、HDD4に再配置される。このよう
に、本発明において、データの再配置とは、必ず全ての
データが別の記憶領域に移動する必要は必ずしもない。
【0036】注意すべきことは、新たなストライピング
・ルールによりデータ・ブロックを移動させる際に、ブ
ロックの移動後に行が変わるデータ・ブロックについて
は、移動元の記憶領域にこのデータ・ブロックと同一の
データを有するダミー・ブロックDを残しておく点であ
る。例えば、データ・ブロック4については、配置され
る行が行1から行0へと変わるので、データ・ブロック
4と同一のデータを有するダミー・ブロックDを移動元
の記憶領域(行1におけるHDD4)に残しておく。
・ルールによりデータ・ブロックを移動させる際に、ブ
ロックの移動後に行が変わるデータ・ブロックについて
は、移動元の記憶領域にこのデータ・ブロックと同一の
データを有するダミー・ブロックDを残しておく点であ
る。例えば、データ・ブロック4については、配置され
る行が行1から行0へと変わるので、データ・ブロック
4と同一のデータを有するダミー・ブロックDを移動元
の記憶領域(行1におけるHDD4)に残しておく。
【0037】ダミー・ブロックDを移動元に残しておく
理由は、再配置の最中においても、データを再構成する
ことができることを保証するためである。例えば、デー
タの再配置の最中において、HDD2が故障した場合、
そこに記憶されたデータ・ブロック7を再構成しようと
する場合を考える。この場合、ダミー・ブロックDを移
動元(例えば、データ・ブロック4では行1)に残して
おけば、データ・ブロック5、6、行1のパリティ・デ
ータP及びダミー・ブロックDの排他的論理和を求める
ことにより、データ・ブロック7を再構成することがで
きる。
理由は、再配置の最中においても、データを再構成する
ことができることを保証するためである。例えば、デー
タの再配置の最中において、HDD2が故障した場合、
そこに記憶されたデータ・ブロック7を再構成しようと
する場合を考える。この場合、ダミー・ブロックDを移
動元(例えば、データ・ブロック4では行1)に残して
おけば、データ・ブロック5、6、行1のパリティ・デ
ータP及びダミー・ブロックDの排他的論理和を求める
ことにより、データ・ブロック7を再構成することがで
きる。
【0038】ループ変数の値に対応する行のパリティ・
データの生成・配置(Step105) ループ変数の値に対応する行に属するセルには複数のデ
ータ・ブロックが再配置されている。そこで、この行の
に属する全てのデータ・ブロックの排他的論理和を求め
ることにより、新たなパリティ・ブロックP’を求め
る。この新たなパリティ・ブロックP’は、従前のパリ
ティ・ブロックPと置換される。行0についていえば、
データ・ブロック0乃至データ・ブロック4からパリテ
ィ・ブロックPが生成され、従前のパリティ・ブロック
Pが記憶されていた記憶領域に記憶される。この排他的
論理和演算は、パリティ発生回路35により行われる。
データの生成・配置(Step105) ループ変数の値に対応する行に属するセルには複数のデ
ータ・ブロックが再配置されている。そこで、この行の
に属する全てのデータ・ブロックの排他的論理和を求め
ることにより、新たなパリティ・ブロックP’を求め
る。この新たなパリティ・ブロックP’は、従前のパリ
ティ・ブロックPと置換される。行0についていえば、
データ・ブロック0乃至データ・ブロック4からパリテ
ィ・ブロックPが生成され、従前のパリティ・ブロック
Pが記憶されていた記憶領域に記憶される。この排他的
論理和演算は、パリティ発生回路35により行われる。
【0039】ところで、データの再配置の最中に、ある
行が属する領域中のデータ・ブロックが、ホスト・コン
ピュータからのアクセスにより書き換えられた場合に
は、その行に属するデータ・ブロック(ダミー・ブロッ
クDが存在する場合にはダミー・ブロックのデータを勘
案する)からパリティ・ブロックPを新たに計算・配置
する必要がある。例えば、行1のデータ・ブロック6が
ホスト・コンピュータからのアクセスにより書き換えら
れた場合には、データ・ブロック5〜7及びダミー・ブ
ロックDの排他的論理和を求めて、行1のパリティ・ブ
ロックPを更新する。
行が属する領域中のデータ・ブロックが、ホスト・コン
ピュータからのアクセスにより書き換えられた場合に
は、その行に属するデータ・ブロック(ダミー・ブロッ
クDが存在する場合にはダミー・ブロックのデータを勘
案する)からパリティ・ブロックPを新たに計算・配置
する必要がある。例えば、行1のデータ・ブロック6が
ホスト・コンピュータからのアクセスにより書き換えら
れた場合には、データ・ブロック5〜7及びダミー・ブ
ロックDの排他的論理和を求めて、行1のパリティ・ブ
ロックPを更新する。
【0040】作業ポインタの更新(Step106) 本システムは、データ・ブロックの再配置の完了の状態
を示す作業ポインタにより、データ・ブロックの再配置
がどの行またはデータ・ブロックまで完了したのかが管
理されている。そして、 データ・ブロックの再配置の
完了に応じて、作業ポインタの値は順次更新される。ホ
スト・コンピュータからデータのアクセスがあった場合
には、この作業ポインタを参照して、アクセスすべきデ
ータ・ブロックが再配置の前後どちらのデータなのかが
特定できる。ホスト・コンピュータからデータのアクセ
ス要求があった場合には、そのデータが再配置前の領域
に存在するならば、変更前のストライピング・ルールに
従って処理される。一方、再配置後の領域に存在するな
らば、変更後の新たなストライピング・ルールに従って
処理される。この点についてはさらに後述する。
を示す作業ポインタにより、データ・ブロックの再配置
がどの行またはデータ・ブロックまで完了したのかが管
理されている。そして、 データ・ブロックの再配置の
完了に応じて、作業ポインタの値は順次更新される。ホ
スト・コンピュータからデータのアクセスがあった場合
には、この作業ポインタを参照して、アクセスすべきデ
ータ・ブロックが再配置の前後どちらのデータなのかが
特定できる。ホスト・コンピュータからデータのアクセ
ス要求があった場合には、そのデータが再配置前の領域
に存在するならば、変更前のストライピング・ルールに
従って処理される。一方、再配置後の領域に存在するな
らば、変更後の新たなストライピング・ルールに従って
処理される。この点についてはさらに後述する。
【0041】ループ変数の値が最後行番号かどうかの判
断(Step107) 下式を満たすかどうかを判断する。
断(Step107) 下式を満たすかどうかを判断する。
【0042】
【数1】row_new=row_new_max 但し、 row_new ループ変数 row_new_max 最後の行番号
【0043】ここで、最後の行番号(row_new_max)
は、以下の式で特定される。
は、以下の式で特定される。
【0044】
【数2】row_mew_max=[((m-1)(row_max+1))/(n-1)] 但し、 [] ガウスの記号 m 変更前のRAIDを構成するHDDの台数 row_max 変更前のRAIDの最大行数 n 変更後のRAIDを構成するHDDの台数
【0045】上記式を満たす場合、つまり最後尾の行ま
でデータの再配置が完了した場合には、データの再配置
は終了する。
でデータの再配置が完了した場合には、データの再配置
は終了する。
【0046】上記式を満たさない場合には、ループ変数
(row_new)に1を加え(Step8)、その後に、Step4に
戻る。図5(c)及び(d)は、ループ変数が1(row_new=
1)の場合における、行1のデータの再配置の前後の状
態を示している。この図において、データ・ブロック5
乃至9に基づいて、新たなパリティ・ブロックP’が求
められ、これがHDD4に記憶されている。なお、データ・
ブロック8、9のダミー・ブロックDが移動元である行
2のHDD3、HDD4にそれぞれ残されている点に留意された
い。
(row_new)に1を加え(Step8)、その後に、Step4に
戻る。図5(c)及び(d)は、ループ変数が1(row_new=
1)の場合における、行1のデータの再配置の前後の状
態を示している。この図において、データ・ブロック5
乃至9に基づいて、新たなパリティ・ブロックP’が求
められ、これがHDD4に記憶されている。なお、データ・
ブロック8、9のダミー・ブロックDが移動元である行
2のHDD3、HDD4にそれぞれ残されている点に留意された
い。
【0047】このようにして、行0からスタートして、
変更後のRAIDシステムの行に属する全ての記憶領域
にデータ・ブロックを配置した後に、対応するパリティ
・ブロックを計算し、配置していく。この手順を最後尾
の行まで繰り返して実行することにより、再配置が完了
する。
変更後のRAIDシステムの行に属する全ての記憶領域
にデータ・ブロックを配置した後に、対応するパリティ
・ブロックを計算し、配置していく。この手順を最後尾
の行まで繰り返して実行することにより、再配置が完了
する。
【0048】なお、最後尾の行のデータの再配置が完了
していない状態、つまりデータの再配置処理中に、ホス
ト・コンピュータからのアクセス要求により、ホスト・
コンピュータがデータ・ブロックにアクセスすることを
認める場合には、アクセスすべきデータ領域と作業ポイ
ンタとの関係により以下のように処理される。この処理
は、RAID制御回路33に基づいて制御・実行され
る。
していない状態、つまりデータの再配置処理中に、ホス
ト・コンピュータからのアクセス要求により、ホスト・
コンピュータがデータ・ブロックにアクセスすることを
認める場合には、アクセスすべきデータ領域と作業ポイ
ンタとの関係により以下のように処理される。この処理
は、RAID制御回路33に基づいて制御・実行され
る。
【0049】(1)アクセス要求されたデータが作業ポ
インタ以前の領域に存在する場合 作業ポインタ以前の領域は、既に再配置が完了している
領域なので、RAID制御回路33は、新たなストライ
ピング・ルールに従ってアクセスする。
インタ以前の領域に存在する場合 作業ポインタ以前の領域は、既に再配置が完了している
領域なので、RAID制御回路33は、新たなストライ
ピング・ルールに従ってアクセスする。
【0050】(2)アクセス要求されたデータが作業ポ
インタ以後の領域に存在する場合 作業ポインタ以後の領域は、未だ再配置が完了していな
い領域なので、RAID制御回路33は、従前のストラ
イピング・ルールに従ってアクセスする。
インタ以後の領域に存在する場合 作業ポインタ以後の領域は、未だ再配置が完了していな
い領域なので、RAID制御回路33は、従前のストラ
イピング・ルールに従ってアクセスする。
【0051】(3)アクセス要求されたデータが作業ポ
インタを跨ぐ領域に存在する場合 アクセス要求されたデータが作業ポインタ以前の領域及
びそれ以後の領域の両方を含む場合である。この場合、
アクセス要求の対象となるデータは、新たなストライピ
ング・ルールに従って配置されたデータ・ブロック及び
従前のストライピング・ルールに従って配置されたデー
タ・ブロックの両方を含む。従って、RAID制御回路
33は、ホスト・コンピュータから与えられたコマンド
を分割して処理する。つまり、作業ポインタ以下の領域
に存在するデータ・ブロックに対しては、新たなストラ
イピング・ルールに従ってアクセスし、作業ポインタ以
上の領域に存在するデータ・ブロックに対しては、従前
のストライピング・ルールに従ってアクセスする。
インタを跨ぐ領域に存在する場合 アクセス要求されたデータが作業ポインタ以前の領域及
びそれ以後の領域の両方を含む場合である。この場合、
アクセス要求の対象となるデータは、新たなストライピ
ング・ルールに従って配置されたデータ・ブロック及び
従前のストライピング・ルールに従って配置されたデー
タ・ブロックの両方を含む。従って、RAID制御回路
33は、ホスト・コンピュータから与えられたコマンド
を分割して処理する。つまり、作業ポインタ以下の領域
に存在するデータ・ブロックに対しては、新たなストラ
イピング・ルールに従ってアクセスし、作業ポインタ以
上の領域に存在するデータ・ブロックに対しては、従前
のストライピング・ルールに従ってアクセスする。
【0052】第2の実施例について以下に説明する。第
2の実施例においてもシステムの構成は図3と同様であ
る。図6は、第2の実施例のデータ記憶システムに新た
に1台のHDDを追加した場合におけるデータ・ブロッ
クを再配置するためのフローチャートである。本実施例
は、再配置の作業をRAIDシステムが実行中に、ホス
ト・コンピュータからのアクセスを許す場合を考慮した
ものである。なお、図6では、第1の実施例と同一のス
テップについては、同一の参照番号を付することにより
説明を省略する。
2の実施例においてもシステムの構成は図3と同様であ
る。図6は、第2の実施例のデータ記憶システムに新た
に1台のHDDを追加した場合におけるデータ・ブロッ
クを再配置するためのフローチャートである。本実施例
は、再配置の作業をRAIDシステムが実行中に、ホス
ト・コンピュータからのアクセスを許す場合を考慮した
ものである。なお、図6では、第1の実施例と同一のス
テップについては、同一の参照番号を付することにより
説明を省略する。
【0053】第2の実施例における特徴は、セマフォを
用いることにより、再配置作業タスクとホスト・コンピ
ュータからのコマンド処理のタスクとを分離して、相互
排除を行っている点である。ここでセマフォとは、マル
チタスク・オペレーティングシステム(OS)が提供す
る、タスク間の排他制御を行うための機構である。デー
タの再配置処理とホスト・コンピュータからのコマンド
処理が同時に実行されるとストライピング・ルールが正
しく適用されない場合が生じる。そこで、セマフォを獲
得した処理が優先的に実行され、他の処理は一時的に停
止されるようにする。もう少し詳しくいうと、システム
はデータの再配置処理に入る前にセマフォの獲得をOS
に要求する。OSは、この要求に対して、セマフォが別
のタスクに獲得されていなければ、再配置処理にセマフ
ォを与える。セマフォが別のタスクに獲得されていれ
ば、返却されるまで、再配置処理を停止させる。
用いることにより、再配置作業タスクとホスト・コンピ
ュータからのコマンド処理のタスクとを分離して、相互
排除を行っている点である。ここでセマフォとは、マル
チタスク・オペレーティングシステム(OS)が提供す
る、タスク間の排他制御を行うための機構である。デー
タの再配置処理とホスト・コンピュータからのコマンド
処理が同時に実行されるとストライピング・ルールが正
しく適用されない場合が生じる。そこで、セマフォを獲
得した処理が優先的に実行され、他の処理は一時的に停
止されるようにする。もう少し詳しくいうと、システム
はデータの再配置処理に入る前にセマフォの獲得をOS
に要求する。OSは、この要求に対して、セマフォが別
のタスクに獲得されていなければ、再配置処理にセマフ
ォを与える。セマフォが別のタスクに獲得されていれ
ば、返却されるまで、再配置処理を停止させる。
【0054】具体的には、図6に示すように、データの
再配置を1行ずつ行ない、その都度、「セマフォ待ち
(Step201)」、「セマフォ返却(Step202)」を実行す
る。このように、1行が再配置を行っている間は、コマ
ンド処理タスクによるディスクのアクセスを禁止する。
これにより、ストライピング・ルールにより1行の再配
置が正確に行われることを保証している。
再配置を1行ずつ行ない、その都度、「セマフォ待ち
(Step201)」、「セマフォ返却(Step202)」を実行す
る。このように、1行が再配置を行っている間は、コマ
ンド処理タスクによるディスクのアクセスを禁止する。
これにより、ストライピング・ルールにより1行の再配
置が正確に行われることを保証している。
【0055】なお、上記の実施例は、HDDについて説
明したが、本発明はこれに限定されず、MO、DVD、
PDなどの光ディスクを用いたドライブ装置、半導体メ
モリカードを用いた装置などにも適用できる。
明したが、本発明はこれに限定されず、MO、DVD、
PDなどの光ディスクを用いたドライブ装置、半導体メ
モリカードを用いた装置などにも適用できる。
【0056】
【効果】このように本発明により、記憶されたデータの
バックアップをとることなく、データ記憶ユニットの台
数を増やすことができる。また、データの再配置後は、
新たに追加されたデータ記憶ユニットを含めてシステム
を構成することができる。従って、データ記憶ユニット
1台あたりの負荷が軽減でき、データアクセスのパフォ
ーマンスを改善することができる。
バックアップをとることなく、データ記憶ユニットの台
数を増やすことができる。また、データの再配置後は、
新たに追加されたデータ記憶ユニットを含めてシステム
を構成することができる。従って、データ記憶ユニット
1台あたりの負荷が軽減でき、データアクセスのパフォ
ーマンスを改善することができる。
【図1】第1の従来方法における2次元アレイに配置さ
れたデータ・ブロックの変化を示す概略図である。
れたデータ・ブロックの変化を示す概略図である。
【図2】第2の従来方法における2次元アレイに配置さ
れたデータ・ブロックの変化を示す概略図である。
れたデータ・ブロックの変化を示す概略図である。
【図3】本実施例におけるデータ記憶システムのブロッ
ク図である。
ク図である。
【図4】本実施例のデータ記憶システムに新たに1台の
HDDを追加した場合における記憶データの再配置に関
するフローチャートである。
HDDを追加した場合における記憶データの再配置に関
するフローチャートである。
【図5】本実施例における2次元アレイに配置されたデ
ータ・ブロックの変化を示す概略図である。
ータ・ブロックの変化を示す概略図である。
【図6】第2の実施例のデータ記憶システムに新たに1
台のHDDを追加した場合におけるデータ・ブロックを
再配置するためのフローチャートである。
台のHDDを追加した場合におけるデータ・ブロックを
再配置するためのフローチャートである。
31・・・ハードディスクドライブ(HDD) 32・・・ドライブ制御回路 33・・・RAID制御回路 34・・・DMAC 35・・・パリティ発生回路 36・・・バス・スイッチ回路 37・・・バッファ・メモリ 38・・・ホスト・アダプタ
Claims (8)
- 【請求項1】複数のデータ記憶ユニットで構成され、そ
れぞれの前記データ記憶ユニットには、データ・ブロッ
クまたはデータ・ブロックのパリティであるパリティ・
ブロックが、前記データ記憶ユニットの台数に応じたス
トライピング・ルールに従って、記憶されているデータ
記憶システムであって、前記システム中のデータの配置
が、行と列からなる2次元アレイで表現でき、各列がそ
れぞれの前記データ記憶ユニットに対応すると共に、各
行が前記データ記憶ユニットのアドレス範囲に対応して
おり、行と列によって記憶領域が特定される前記システ
ム中に、新たなデータ記憶ユニットが追加された場合に
おけるデータの再配置方法において、(a) 新たに追加さ
れたデータ記憶ユニットを含めた前記データ記憶ユニッ
トの台数に応じて新たなストライピング・ルールを決定
するステップと、(b) 前記ストライピング・ルールによ
って、前記2次元アレイの一の行について、複数のデー
タ・ブロックのそれぞれを前記一の行に属する各記憶領
域に再配置するステップと、(c) 前記一の行に属する各
記憶領域に再配置された複数のデータ・ブロックからパ
リティ・ブロックを新たに生成するステップと、(d) 生
成されたパリティ・ブロックを、前記ストライピング・
ルールによって、前記一の行に属する記憶領域に配置す
るステップとを有し、 前記ステップ(b)で、前記ストライピング・ルールによ
り、一の行について再配置が行われる際に、他の行から
前記一の行へ移動するデータ・ブロックに関しては、当
該データ・ブロックと同じデータをダミー・ブロックと
して記憶しておくことを特徴とするデータの再配置方
法。 - 【請求項2】前記ダミー・ブロックは、前記一の行へ移
動するデータ・ブロックの移動元である、前記他の行に
属する記憶領域に記憶しておくことを特徴とする請求項
1に記載のデータの再配置方法。 - 【請求項3】(e) 前記一の行以外の他の行について、ス
テップ(b)乃至(d)を実行するステップをさらに有し、 前記他の行におけるデータの再配置が開始されるまで、
前記ダミー・ブロックを記憶しておくことを特徴とする
請求項2に記載のデータの再配置方法。 - 【請求項4】前記データ記憶ユニットは、ハードディス
クドライブ装置であることを特徴とする請求項1、2ま
たは3に記載のデータの再配置方法。 - 【請求項5】前記データ記憶システムは、データ・ブロ
ックの再配置の完了の状態を示すポインタにより、どの
データ・ブロックまで再配置が完了したかが管理されて
おり、、(f) データ・ブロックの再配置に応じて、前記
ポインタの値を更新するステップをさらに有することを
特徴とする請求項1、2、3または4に記載のデータの
再配置方法。 - 【請求項6】複数のデータ記憶ユニットで構成されたデ
ータ記憶システムであって、前記データ記憶ユニット
は、前記データ記憶ユニットの台数に応じた第1のスト
ライピング・ルールに従って、データ・ブロックまたは
データ・ブロックのパリティであるパリティ・ブロック
がそれぞれの前記データ記憶ユニットに記憶されてい
て、 前記データ記憶システムは、前記データ記憶システム中
に新たなデータ記憶ユニットが追加された場合に、新た
に追加されたデータ記憶ユニットを含めた前記データ記
憶ユニットの台数に応じた第2のストライピング・ルー
ルに従って、それぞれの前記データ記憶ユニットに、デ
ータ・ブロック及びデータ・ブロックのパリティである
パリティ・ブロックを再配置して記憶するような機能を
有し、前記データ記憶システム外からのアクセス要求に
より、前記データ記憶システム中に記憶されたデータを
アクセスする方法において、 前記データ記憶システムは、データ・ブロックの再配置
の完了の状態を示すポインタを有し、どのデータ・ブロ
ックまで再配置が完了したかを管理するために、データ
・ブロックの再配置に応じて、前記ポインタの値を更新
し、 アクセス要求の対象となるデータが、前記第1のストラ
イピング・ルール及び前記第2のストライピング・ルー
ルのどちらで配置されているかを、前記ポインタにより
判断し、 アクセス要求の対象となるデータが、前記第1のストラ
イピング・ルールに従って配置された第1のデータ・ブ
ロック及び前記第2のストライピング・ルールに従って
配置された第2のデータ・ブロックの両方を含む場合に
は、前記第1のデータ・ブロックに対しては前記第1の
ストライピング・ルールに従ってアクセスし、前記第2
のデータ・ブロックに対しては前記第2のストライピン
グ・ルールに従ってアクセスすることを特徴とするデー
タのアクセス方法。 - 【請求項7】データ・バスと、 データを記憶する複数のデータ記憶ユニットと、 複数の接続手段であって、それぞれの前記接続手段はそ
れぞれの前記データ記憶ユニットと前記データ・バスと
の間に設けられていて、 前記データ・バスに接続されており、データのパリティ
を求めるパリティ生成手段とを有する前記データ記憶シ
ステムにおいて、 前記データ記憶システムは、システム制御手段をさらに
有しており、前記システム制御手段は、請求項1乃至5
のいずれか一の請求項に記載された方法を達成すること
を特徴とするデータ記憶システム。 - 【請求項8】データ・バスと、 データを記憶する複数のデータ記憶ユニットと、 複数の接続手段であって、それぞれの前記接続手段はそ
れぞれの前記データ記憶ユニットと前記データ・バスと
の間に設けられていて、 前記データ・バスに接続されており、データのパリティ
を求めるパリティ生成手段とを有する前記データ記憶シ
ステムにおいて、 前記データ記憶システムは、システム制御手段をさらに
有しており、前記システム制御手段は、請求項6に記載
された方法を達成することを特徴とするデータ記憶シス
テム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP13192796A JP3170455B2 (ja) | 1996-05-27 | 1996-05-27 | データ記憶システムにおけるデータの再配置方法、そのシステムに記憶されたデータのアクセス方法及びデータ記憶システム |
| US08/859,304 US6035373A (en) | 1996-05-27 | 1997-05-20 | Method for rearranging data in a disk array system when a new disk storage unit is added to the array using a new striping rule and a pointer as a position holder as each block of data is rearranged |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP13192796A JP3170455B2 (ja) | 1996-05-27 | 1996-05-27 | データ記憶システムにおけるデータの再配置方法、そのシステムに記憶されたデータのアクセス方法及びデータ記憶システム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH09319528A true JPH09319528A (ja) | 1997-12-12 |
| JP3170455B2 JP3170455B2 (ja) | 2001-05-28 |
Family
ID=15069467
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP13192796A Expired - Fee Related JP3170455B2 (ja) | 1996-05-27 | 1996-05-27 | データ記憶システムにおけるデータの再配置方法、そのシステムに記憶されたデータのアクセス方法及びデータ記憶システム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6035373A (ja) |
| JP (1) | JP3170455B2 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001236267A (ja) * | 2000-02-24 | 2001-08-31 | Fujitsu Ltd | 記憶装置の制御方法、データ管理システム、記録媒体、及び記憶装置 |
| KR100449485B1 (ko) * | 2001-10-26 | 2004-09-21 | 한국전자통신연구원 | 스트라이핑 시스템 및 이의 매핑 및 처리방법 |
| JP2011065624A (ja) * | 2009-09-16 | 2011-03-31 | Hitachi Ltd | 動的ページ再配置ストレージシステム管理 |
| JP2016095613A (ja) * | 2014-11-13 | 2016-05-26 | 富士通株式会社 | ストレージプログラム、ストレージシステム、ストレージ方法、及びストレージ装置 |
Families Citing this family (42)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6405284B1 (en) | 1998-10-23 | 2002-06-11 | Oracle Corporation | Distributing data across multiple data storage devices in a data storage system |
| US6530035B1 (en) | 1998-10-23 | 2003-03-04 | Oracle Corporation | Method and system for managing storage systems containing redundancy data |
| US6427212B1 (en) | 1998-11-13 | 2002-07-30 | Tricord Systems, Inc. | Data fault tolerance software apparatus and method |
| US6330625B1 (en) | 1999-01-15 | 2001-12-11 | Oracle Corporation | System for initiating multiple read operation requests to multiple copies of a data item and identifying a first one of the requests as having the fastest response time |
| US6449731B1 (en) | 1999-03-03 | 2002-09-10 | Tricord Systems, Inc. | Self-healing computer system storage |
| US6530036B1 (en) | 1999-08-17 | 2003-03-04 | Tricord Systems, Inc. | Self-healing computer system storage |
| US6725392B1 (en) | 1999-03-03 | 2004-04-20 | Adaptec, Inc. | Controller fault recovery system for a distributed file system |
| US6502166B1 (en) * | 1999-12-29 | 2002-12-31 | International Business Machines Corporation | Method and apparatus for distributing data across multiple disk drives |
| US7092977B2 (en) * | 2001-08-31 | 2006-08-15 | Arkivio, Inc. | Techniques for storing data based upon storage policies |
| US20040039891A1 (en) * | 2001-08-31 | 2004-02-26 | Arkivio, Inc. | Optimizing storage capacity utilization based upon data storage costs |
| US20040054656A1 (en) * | 2001-08-31 | 2004-03-18 | Arkivio, Inc. | Techniques for balancing capacity utilization in a storage environment |
| US20030046313A1 (en) * | 2001-08-31 | 2003-03-06 | Arkivio, Inc. | Techniques for restoring data based on contents and attributes of the data |
| JP2005502121A (ja) * | 2001-08-31 | 2005-01-20 | アルキヴィオ・インコーポレーテッド | 記憶ポリシに基づいてデータを記憶する技法 |
| US20030115204A1 (en) * | 2001-12-14 | 2003-06-19 | Arkivio, Inc. | Structure of policy information for storage, network and data management applications |
| US7111117B2 (en) * | 2001-12-19 | 2006-09-19 | Broadcom Corporation | Expansion of RAID subsystems using spare space with immediate access to new space |
| JP3702231B2 (ja) * | 2002-01-31 | 2005-10-05 | 株式会社東芝 | ディスクアレイ装置及び同装置における動的記憶容量拡張方法 |
| WO2003077111A1 (en) * | 2002-03-13 | 2003-09-18 | Fujitsu Limited | Controller for raid device |
| JP4211285B2 (ja) * | 2002-05-24 | 2009-01-21 | 株式会社日立製作所 | ネットワークストレージシステムの仮想一元化方法及び装置 |
| AU2003251803A1 (en) | 2002-07-09 | 2004-01-23 | Kaleidescape, Inc. | Content and key distribution system for digital content representing media streams |
| AU2003262965A1 (en) * | 2002-08-30 | 2004-03-19 | Arkivio, Inc. | Techniques for moving stub files without recalling data |
| US20040083202A1 (en) * | 2002-08-30 | 2004-04-29 | Arkivio, Inc. | Techniques to control recalls in storage management applications |
| US7146389B2 (en) * | 2002-08-30 | 2006-12-05 | Hitachi, Ltd. | Method for rebalancing free disk space among network storages virtualized into a single file system view |
| KR100502106B1 (ko) * | 2002-10-17 | 2005-07-20 | 한국전자통신연구원 | 스트라이핑 기법을 이용한 레이드 시스템에서의 데이터재구성 방법 |
| US20040163029A1 (en) * | 2002-12-02 | 2004-08-19 | Arkivio, Inc. | Data recovery techniques in storage systems |
| US8225194B2 (en) * | 2003-01-09 | 2012-07-17 | Kaleidescape, Inc. | Bookmarks and watchpoints for selection and presentation of media streams |
| WO2004070998A2 (en) * | 2003-01-31 | 2004-08-19 | Kaleidescape, Inc. | Recovering from de-synchronization attacks against watermarking and fingerprinting |
| US8572104B2 (en) | 2003-04-18 | 2013-10-29 | Kaleidescape, Inc. | Sales of collections excluding those already purchased |
| WO2004109663A2 (en) * | 2003-05-30 | 2004-12-16 | Arkivio, Inc. | Techniques for facilitating backup and restore of migrated files |
| US20050015409A1 (en) * | 2003-05-30 | 2005-01-20 | Arkivio, Inc. | Techniques for performing operations on migrated files without recalling data |
| WO2005001646A2 (en) * | 2003-06-25 | 2005-01-06 | Arkivio, Inc. | Techniques for performing policy automated operations |
| JP4215606B2 (ja) * | 2003-09-24 | 2009-01-28 | 日本電気株式会社 | ディスクアレイ装置および記憶容量拡張方法ならびにプログラム |
| US7647451B1 (en) | 2003-11-24 | 2010-01-12 | Netapp, Inc. | Data placement technique for striping data containers across volumes of a storage system cluster |
| US7257732B2 (en) * | 2004-02-13 | 2007-08-14 | Kaleidescape, Inc. | Integrating content-laden media with storage system |
| US7904649B2 (en) | 2005-04-29 | 2011-03-08 | Netapp, Inc. | System and method for restriping data across a plurality of volumes |
| US20060259683A1 (en) * | 2005-05-16 | 2006-11-16 | Oracle International Corporation | Method and system for disk stippling |
| US7404036B2 (en) * | 2005-11-23 | 2008-07-22 | International Business Machines Corporation | Rebalancing of striped disk data |
| GB0606639D0 (en) | 2006-04-01 | 2006-05-10 | Ibm | Non-disruptive file system element reconfiguration on disk expansion |
| US20080276041A1 (en) | 2007-05-01 | 2008-11-06 | International Business Machines Corporation | Data storage array scaling method and system with minimal data movement |
| US8799571B1 (en) * | 2008-09-26 | 2014-08-05 | Emc Corporation | System and method for configuring a device array upon detecting addition of a storage device |
| US8904138B2 (en) | 2011-09-28 | 2014-12-02 | Microsoft Corporation | Global distributed memory reshape operations on range-partitioned arrays |
| JP2013196276A (ja) * | 2012-03-19 | 2013-09-30 | Fujitsu Ltd | 情報処理装置、プログラムおよびデータ配置方法 |
| US11403022B2 (en) * | 2020-06-03 | 2022-08-02 | Dell Products L.P. | Growing and splitting a disk array by moving RAID group members |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5502836A (en) * | 1991-11-21 | 1996-03-26 | Ast Research, Inc. | Method for disk restriping during system operation |
| JP3183719B2 (ja) * | 1992-08-26 | 2001-07-09 | 三菱電機株式会社 | アレイ型記録装置 |
| US5615352A (en) * | 1994-10-05 | 1997-03-25 | Hewlett-Packard Company | Methods for adding storage disks to a hierarchic disk array while maintaining data availability |
| US5524204A (en) * | 1994-11-03 | 1996-06-04 | International Business Machines Corporation | Method and apparatus for dynamically expanding a redundant array of disk drives |
| US5809224A (en) * | 1995-10-13 | 1998-09-15 | Compaq Computer Corporation | On-line disk array reconfiguration |
| US5758118A (en) * | 1995-12-08 | 1998-05-26 | International Business Machines Corporation | Methods and data storage devices for RAID expansion by on-line addition of new DASDs |
-
1996
- 1996-05-27 JP JP13192796A patent/JP3170455B2/ja not_active Expired - Fee Related
-
1997
- 1997-05-20 US US08/859,304 patent/US6035373A/en not_active Expired - Fee Related
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001236267A (ja) * | 2000-02-24 | 2001-08-31 | Fujitsu Ltd | 記憶装置の制御方法、データ管理システム、記録媒体、及び記憶装置 |
| KR100449485B1 (ko) * | 2001-10-26 | 2004-09-21 | 한국전자통신연구원 | 스트라이핑 시스템 및 이의 매핑 및 처리방법 |
| JP2011065624A (ja) * | 2009-09-16 | 2011-03-31 | Hitachi Ltd | 動的ページ再配置ストレージシステム管理 |
| JP2016095613A (ja) * | 2014-11-13 | 2016-05-26 | 富士通株式会社 | ストレージプログラム、ストレージシステム、ストレージ方法、及びストレージ装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US6035373A (en) | 2000-03-07 |
| JP3170455B2 (ja) | 2001-05-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3170455B2 (ja) | データ記憶システムにおけるデータの再配置方法、そのシステムに記憶されたデータのアクセス方法及びデータ記憶システム | |
| US11449226B2 (en) | Reorganizing disks and raid members to split a disk array during capacity expansion | |
| US5889795A (en) | Disk array system and method for storing data | |
| US5881311A (en) | Data storage subsystem with block based data management | |
| JP2769443B2 (ja) | 記憶サブシステム及び関連する装置/方法 | |
| US7281089B2 (en) | System and method for reorganizing data in a raid storage system | |
| JP3505093B2 (ja) | ファイル管理システム | |
| US6915382B2 (en) | Apparatus and method for reallocating logical to physical disk devices using a storage controller, with access frequency and sequential access ratio calculations and display | |
| US7032070B2 (en) | Method for partial data reallocation in a storage system | |
| US5650969A (en) | Disk array system and method for storing data | |
| US11340789B2 (en) | Predictive redistribution of capacity in a flexible RAID system | |
| JP2000511318A (ja) | 階層記憶管理システムのための変換式raid | |
| JPH0619632A (ja) | コンピユータ・システムのストレージ装置及びデータのストア方法 | |
| US20130290626A1 (en) | Melthods and systems for instantaneous online capacity expansion | |
| US20070143541A1 (en) | Methods and structure for improved migration of raid logical volumes | |
| CN111857540B (zh) | 数据存取方法、装置和计算机程序产品 | |
| US11327668B1 (en) | Predictable member assignment for expanding flexible raid system | |
| US8656131B2 (en) | Method and apparatus for expanding a virtual storage device | |
| JP2000010738A (ja) | ディスクアレイシステム、同システムに適用される記憶容量拡張方法および記録媒体 | |
| CN110058960B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
| JPH0863298A (ja) | ディスクアレイ装置 | |
| JP6451770B2 (ja) | ストレージ制御装置およびストレージ制御プログラム | |
| JP2003131818A (ja) | クラスタ構成ストレージにおけるクラスタ間raid構成 | |
| US6209057B1 (en) | Storage device having data buffer | |
| US11544005B2 (en) | Storage system and processing method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |