JP2006113648A - ディスクアレイ装置 - Google Patents
ディスクアレイ装置 Download PDFInfo
- Publication number
- JP2006113648A JP2006113648A JP2004297471A JP2004297471A JP2006113648A JP 2006113648 A JP2006113648 A JP 2006113648A JP 2004297471 A JP2004297471 A JP 2004297471A JP 2004297471 A JP2004297471 A JP 2004297471A JP 2006113648 A JP2006113648 A JP 2006113648A
- Authority
- JP
- Japan
- Prior art keywords
- data
- area
- storage
- backup
- controller
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/1088—Reconstruction on already foreseen single or plurality of spare disks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1009—Cache, i.e. caches used in RAID system with parity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1014—Compression, i.e. RAID systems with parity using compression techniques
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/002—Programmed access in sequence to a plurality of record carriers or indexed parts, e.g. tracks, thereof, e.g. for editing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 ディスクアレイ装置で、従来特に対策されていなかった装置運用初期におけるデータ消失を回避してデータ信頼性の確保を可能とする。
【解決手段】 ディスクアレイ装置100のコントローラ10は、HDD30に格納する対象となる第1のデータについて、複数のHDD30からなる全体の記憶領域を対象として、1台以上のHDD30上の一部領域に格納し、格納した第1のデータのバックアップデータを、格納先が別のHDD30となるように、1台以上のHDD30上の一部領域に格納する。全体の記憶領域で、第1のデータを格納するための空き領域が少なくなったら、バックアップデータを格納している領域を上書きして使用する。
【選択図】 図2
【解決手段】 ディスクアレイ装置100のコントローラ10は、HDD30に格納する対象となる第1のデータについて、複数のHDD30からなる全体の記憶領域を対象として、1台以上のHDD30上の一部領域に格納し、格納した第1のデータのバックアップデータを、格納先が別のHDD30となるように、1台以上のHDD30上の一部領域に格納する。全体の記憶領域で、第1のデータを格納するための空き領域が少なくなったら、バックアップデータを格納している領域を上書きして使用する。
【選択図】 図2
Description
本発明は、ハードディスクドライブ(以下、HDDと称する)等の記憶装置にデータを記憶する制御を行うディスクアレイ装置に関し、特に、ディスクアレイ装置の記憶領域に記憶されるデータの消失を回避するための技術に関する。
従来、顧客(ユーザ)の使用するホストコンピュータ等の上位の情報処理装置にディスクアレイ装置を通信接続したコンピュータシステムで、上位装置からのデータをディスクアレイ装置の提供する記憶領域に格納する処理を行っている。特にディスクアレイ装置で所定のRAID方式での制御を行う形態である。ディスクアレイ装置において、顧客が使用する形態は、ディスクアレイ装置の記憶領域に格納するデータの重要性により様々である。また、データ容量のコストパフォーマンスとデータの信頼性は一般的にトレードオフの関係にある。また装置の故障率は、一般にバスタブ曲線(故障率曲線)のような傾向を有しており、特に、装置利用の初期では故障率が高い。従来のディスクアレイ装置では、HDD故障等の初期故障に対する対策は特に採られていない。また、一般的にディスクアレイ装置でのデータ蓄積率は時間の経過と共に増加する。
また、記憶装置に格納されるデータに関する冗長性を確保するための技術として、ディスクアレイでデータを分散して格納する技術が特許文献1に記載されている。
特開2000−148403号公報
一般にHDDの初期故障率は高く、更にディスクアレイ装置において同一RAIDグループ内に含まれるHDDの数が多いほど、HDDの不良によるデータ消失の可能性が高くなる。ディスクアレイ装置でデータ消失を回避してデータ信頼性を確保するための対策を備える必要があるが、ディスクアレイ装置をデータ信頼性だけを考えて構成すると、コストパフォーマンスが悪くなる。
従来、初期不良におけるディスクアレイ装置側の回避策は、所定の冗長性の確保以外では特に採られていない。また、製造側の回避策も現実には検査スペースや設備コストの面で実現は難しい。そのため、製品の初期故障に対するリスクは大きいと言える。
冗長性確保のためのRAID方式に関しても、装置稼動初期のデータ消失リスクは、一般に良く使用されるRAID4,5の場合でも決して低いとは言えない。RAID4,5等でも、HDDが2台故障の場合はデータ消失が発生する。大きく分けて、特にRAID4,5の場合、データ信頼性は、初期ではリスクが高めであり、中期ではリスクが小であり、終期ではリスクが低めであると言える。
また、前記特許文献1記載の技術では、性能向上のために、記憶装置群に対してデータを二重化して書き込みを行っており、ある記憶装置に格納するデータと同一データが他の記憶装置にも格納される点では本発明と共通するが、本発明での処理とは異なる。
本発明は以上のような問題に鑑みてなされたものであり、その目的は、ディスクアレイ装置で、従来特に対策されていなかった装置運用初期におけるデータ消失を回避してデータ信頼性の確保を可能とする技術を提供することにある。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
前記目的を達成するために、本発明のディスクアレイ装置は、HDD等の記憶装置と、記憶装置の記憶領域に対するデータの記憶を制御するコントローラとを有し、通信手段を通じて接続されるユーザのホストコンピュータ等の上位の情報処理装置からの要求などに従って前記データの入出力を行う装置であって、以下のような技術的手段を備えることを特徴とする。
本発明では、ディスクアレイ装置における運用初期における不良の発生率が、HDDにおけるデータ蓄積率が低い時期に高いと言えることから、装置運用初期にデータ信頼性を確保できる手段を提供する。その手段として、前記記憶装置の空き領域すなわちデータ格納についての未使用領域などを利用してデータのバックアップ、言い換えればコピーの格納を行うことで、装置運用初期の不良によるデータ消失を回避する。
本発明のディスクアレイ装置では、前記コントローラは、特に装置運用初期において前記記憶装置の記憶領域の大きな空き領域を利用し、前記記憶装置に格納する対象となるデータ(以下、第1のデータと称する)について、複数の記憶装置からなる全体の記憶領域を対象として、1台以上の記憶装置上の一部領域である第1の記憶領域に格納し、前記第1のデータの格納に伴い、前記第1のデータについてのバックアップデータを、前記第1のデータの格納先とは別の記憶装置となるように、1台以上の記憶装置上の一部領域である第2の記憶領域に格納する。前記第1のデータは、上位の情報処理装置から記憶装置に対して入出力されるユーザデータ、すなわち前記上位の情報処理装置から送信されコントローラで受信したライトデータ等である。前記全体の記憶領域内で空き領域が有る限り、又は一定容量まで、あくまで通常の第1のデータの格納を優先しつつ前記バックアップデータの格納を行う。前記コントローラは、前記全体の記憶領域で、前記第1のデータを格納するための空き領域が無くなった場合あるいは所定値より少なくなった場合などには、前記バックアップデータを格納している第2の記憶領域を次第に開放して前記第1のデータの格納のために上書きして使用する。前記コントローラは、前記記憶装置への第1のデータとバックアップデータのライトにおいて、第1のデータについての1台以上の記憶装置への各格納データに対し、その各バックアップデータの格納先が別の記憶装置となるような配置で書き込む。
典型的な処理手順としては、前記コントローラは、情報処理装置からのライトデータを前記第1の記憶領域にライトし、それに伴い直に又は時間的に後で、例えばコントローラのキャッシュメモリ等に余裕が有る時などにおいて、前記第2の記憶領域へバックアップデータをライトする。また、前記情報処理装置から前記記憶装置に格納されている前記第1のデータをリードする際には、コントローラは、前記第1の記憶領域の第1のデータと前記第2の記憶領域のバックアップデータとの両方をリード先として利用でき、データ復元にも利用できる。すなわち、コントローラは、前記第1のデータとバックアップデータのいずれか一方のみリードして、データ復元が必要な場合などに他方をリードする。あるいは、コントローラは、最初から両方を並列的にリードすることもできる。
例えば記憶装置のグループにおける50%以上の未使用領域のうち一部がバックアップデータ格納用の領域となる。なお1台の記憶装置の記憶領域で見ると、前記第1のデータとバックアップデータの格納が混在し、その格納単位におけるサイズが同一であるなら、それぞれの格納に約50%ずつの記憶容量を使った時点で空き領域が無くなってすべて使用済みの状態となる。全体の記憶領域のうち、所定容量を前記バックアップデータ格納用の領域としてあらかじめ確保してもよい。
また、前記コントローラは、RAID制御、例えばRAID3,4,5等の方式での制御として前記記憶装置への格納対象となる第1のデータの分割(ストライピング)、更にはパリティ処理すなわちパリティ生成やパリティチェック等を行う。コントローラは、前記第1のデータについて、複数の記憶装置からなる全体の記憶領域を対象として、2台以上の記憶装置上の一部領域である第1の記憶領域に、前記RAID制御で作成した分割データすなわち非パリティデータやパリティデータを格納し、前記第1のデータの格納に伴い、前記分割データについてのバックアップデータを、前記分割データの格納先と別の記憶装置となるように、例えば隣接した記憶装置などへのスライドした位置取りで、2台以上の記憶装置上の一部領域である第2の記憶領域に格納する。コントローラは、前記分割により作成された2つ以上の分割データを、それぞれの格納先となる2台以上の記憶装置に対して格納する。またコントローラは、前記分割データをリードする際は、前記第1の記憶領域や第2の記憶領域を構成する各記憶装置の記憶領域から、前記分割データをそれぞれリードして正常な前記第1のデータを取得する。例えば、複数の記憶装置から構成されるRAIDグループ内において、RAID制御に応じて、前記第1のデータすなわち各分割データのバックアップデータを、隣接した記憶装置等へスライドした位置取りで格納する。前記第1のデータとバックアップデータの配置関係において、前記スライド等の仕方は一定としてもよいし、格納先記憶装置が別の記憶装置となるような条件のもとで不定、すなわちデータ格納状況などにより変動することとしてもよい。
また、前記コントローラは、前記全体の記憶領域で、前記第1のデータの格納用の領域(データ領域と称する)と、前記バックアップデータ格納用の領域(バックアップ領域と称する)とをあらかじめ設けておくようにしてもよい。例えば、設定で、全体の記憶領域のうち所定容量、例えば50%ずつを前記データ領域とバックアップ領域として確保し、またあるいは75%を前記データ領域、25%を前記バックアップ領域として確保する等しておく。コントローラは、前記バックアップ領域を使い切るまでは前記第1のデータと共にバックアップデータの格納を続け、前記データ領域を第1のデータの格納に使い切ったら、前記バックアップ領域を前記第1のデータの格納のために使い始める。例えば25%をバックアップ領域とした場合、最初はデータ領域及びバックアップ領域に各データを格納してゆき、バックアップ領域を使い切った後は第1のデータをバックアップ無しでデータ領域に格納してゆき、データ領域を使い切ったら、バックアップ領域に第1のデータを上書きしてゆく。
また、前記コントローラは、前記第1のデータとバックアップデータの格納のために、前記複数の記憶装置からなる全体の記憶領域を、所定サイズの領域単位に分割して、その領域(分割領域と称する)のアドレスと記憶装置におけるアドレス体系例えばHDDにおけるLBAとのアドレス変換による対応付けなどを、管理変数で保持して管理する。前記分割領域の管理により、前記全体の記憶領域で、広い空き領域を積極的に確保するように、前記分割領域の単位で順に前記第1のデータやバックアップデータを格納する処理を行う。
また、前記コントローラは、前記複数の記憶装置で前記第1のデータ又はバックアップデータを格納した記憶装置あるいは記憶領域における障害によりデータ読み出しエラーの場合、これに対応する別の記憶装置あるいは記憶領域におけるバックアップデータ又は第1のデータをリードして障害データの回復を行う。例えばある記憶装置に格納している第1のデータが障害によりエラーの場合に、その隣接記憶装置に格納しているバックアップデータをリードすることでデータ回復する。この際、第1のデータ及びそのバックアップデータの格納されている記憶装置が共に障害にならない限り、2台の記憶装置が障害であってもデータ回復が可能であり、特にRAID3,4,5等の場合で、パリティデータを格納している記憶装置からリードしたパリティデータを用いた処理を経ずとも、該当データのリード処理のみでのデータ回復が可能である。
また、前記コントローラは、第1のバックアップモードとして、前記全体の記憶領域のうち前記データ領域の先頭領域から順に割り当てて第1のデータを格納し、前記バックアップ領域の最後領域から順に割り当ててバックアップデータを格納してゆく制御を行い、前記データ領域を使い切ったら、前記バックアップ領域の新しい方のバックアップデータから順に開放してゆく。
また、前記コントローラは、第2のバックアップモードとして、前記全体の記憶領域のうち前記データ領域の先頭領域から順に割り当てて第1のデータを格納し、前記バックアップ領域の先頭領域から順に割り当ててバックアップデータを格納してゆく制御を行い、前記データ領域を使い切ったら、前記バックアップ領域の古い方のバックアップデータから順に開放してゆく。
また、前記コントローラは、前記複数の記憶装置を対象として前記第1のデータやバックアップデータを入出力する際に、特定の記憶装置にアクセスが集中しないように、前記第1のデータの格納先の記憶装置と前記バックアップデータの格納先の記憶装置とを対象としてアクセスの分散、例えば交互アクセスなどを行う。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
本発明によれば、ディスクアレイ装置で、従来特に対策されていなかった装置運用初期におけるデータ消失を回避してデータ信頼性の確保が可能となる。従来ではHDDの初期故障率がディスクアレイ装置の冗長性を上回る、HDD二重障害のような場合においても、本バックアップ方式によりユーザデータが保護され、システムのロバスト性を向上させることができる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
(実施の形態1)
図1〜図12は、本発明の実施の形態1におけるディスクアレイ装置について説明するための図である。実施の形態1のディスクアレイ装置は、装置運用初期などのHDDの空き領域が大きい時期において、HDDに対し格納する第1のデータについて、そのバックアップを他HDDの記憶領域の空き領域へと行う手段を備える。実施の形態1は、その手段によるバックアップ方式の基本的な構成及び処理を示す形態である。
図1〜図12は、本発明の実施の形態1におけるディスクアレイ装置について説明するための図である。実施の形態1のディスクアレイ装置は、装置運用初期などのHDDの空き領域が大きい時期において、HDDに対し格納する第1のデータについて、そのバックアップを他HDDの記憶領域の空き領域へと行う手段を備える。実施の形態1は、その手段によるバックアップ方式の基本的な構成及び処理を示す形態である。
<ハードウェア構成>
まず、実施の形態1のディスクアレイ装置の全体構成について説明する。その後、本発明で特徴的な処理について説明する。図1(a),(b)は、実施の形態1のディスクアレイ装置のハードウェア構成においてその外観構成を示す図である。(a)は装置正面を、(b)は装置背面を示す。本ディスクアレイ装置100は、ラックフレーム111をベースとして、ラックフレーム111の内側の上下方向に複数段にわたってマウントフレーム112が形成されており、マウントフレーム112に沿って基本筐体120(ディスクアレイ制御筐体ともいう)及び増設筐体130(HDD筐体ともいう)が引き出し式に装着される構成である。本装置100では、下段に1つの基本筐体120が装着され、上段に複数の増設筐体130が装着可能となっている。各筐体には、本装置100の各種機能を提供するボード(回路基板)やユニットが装備される。基本筐体120は、ディスクアレイ装置のコントローラ10を構成するコントローラボード59等を収容する筐体である。増設筐体130は、複数のHDD30を収容する筐体であり、必要に応じて増設が可能となっている。
まず、実施の形態1のディスクアレイ装置の全体構成について説明する。その後、本発明で特徴的な処理について説明する。図1(a),(b)は、実施の形態1のディスクアレイ装置のハードウェア構成においてその外観構成を示す図である。(a)は装置正面を、(b)は装置背面を示す。本ディスクアレイ装置100は、ラックフレーム111をベースとして、ラックフレーム111の内側の上下方向に複数段にわたってマウントフレーム112が形成されており、マウントフレーム112に沿って基本筐体120(ディスクアレイ制御筐体ともいう)及び増設筐体130(HDD筐体ともいう)が引き出し式に装着される構成である。本装置100では、下段に1つの基本筐体120が装着され、上段に複数の増設筐体130が装着可能となっている。各筐体には、本装置100の各種機能を提供するボード(回路基板)やユニットが装備される。基本筐体120は、ディスクアレイ装置のコントローラ10を構成するコントローラボード59等を収容する筐体である。増設筐体130は、複数のHDD30を収容する筐体であり、必要に応じて増設が可能となっている。
装置正面では、基本筐体120及び増設筐体130において、HDD30が、HDD30を装填してキャニスタ等と一体的にしたユニットの形態で複数台並べて装着可能な領域が配されている。各装着位置において、HDD30の装着/取り外しが可能となっている。また基本筐体120の正面では、バックアップ電源として機能するバッテリーユニット、装置状態を表示する表示パネル、プログラムロード用のフレキシブルディスクドライブ等が配置されている。
装置背面では、基本筐体120及び増設筐体130において電源コントローラボード56や電源ユニット等が配置されている。また基本筐体120の背面においてコントローラボード59や冷却ファンユニット等が配置されている。
各筐体内には各部間を接続するバックボードが設けられており、バックボードに対して各ボードやユニットや複数のHDD30などが接続される。バックボードでの配線を通じて各部が通信可能に接続される。
コントローラボード59は、情報処理装置300等からの命令に基づきHDD30に対するデータの記憶の制御を行う。コントローラボード59には、情報処理装置300等の外部装置との通信インタフェース(チャネル制御部)、キャッシュメモリ、共有メモリ、及びHDD30との通信インタフェース(ディスク制御部)、例えばRAID方式による制御や、HDD30の状態監視などの機能を有する回路などが実装されている。なお通信インタフェースやキャッシュメモリ等の各機能をコントローラボードとは別のボードとして実装する形態としてもよい。なお、基本筐体120のHDD30の制御に関するセキュリティを確保するために、2枚のコントローラボード59を冗長に装着させる形態である。
コントローラ10の有する情報処理装置300側との通信インタフェースには、情報処理装置300と接続するための外部コネクタとして、ファイバチャネル(FC)・プロトコルで構築されたSAN(Storage Area Network)や、Ethernet(登録商標)などのプロトコルで構築されたLAN(Local Area Network)、あるいはSCSIなどの所定の規格に準拠したものが設けられている。ディスクアレイ装置100は、この外部コネクタに接続される通信ケーブル92を介して情報処理装置300と接続される。
電源コントローラボード56は、各筐体間を接続し、筐体間での電源供給等のシステム制御やHDD30に対する制御等を行う。電源コントローラボード56の有するコネクタに通信ケーブル91が接続され、電源コントローラボード56間が通信ケーブル91を通じて接続される。電源コントローラボード56は、各筐体における複数のHDD30と、所定のプロトコルに対応した通信経路によって通信可能に接続される。電源コントローラボード56は、HDD30に対する制御を行うディスク制御部の他に、AC/DC電源の状態監視やHDD30の状態監視、HDD30への電源供給の制御などを行う回路が実装されている。なお、電源コントローラボード56の有する各機能をコントローラボード56側に有する形態としてもよい。
電源ユニットは、AC/DC電源等を備え、HDD30やボード等の筐体内各部にDC電源を供給する。電源ユニットは、電源コントローラボード56と接続され、電源コントローラボード56からの信号により各HDD30に対し電源を供給する。なお、各筐体の電源供給に関するセキュリティを確保するために、各筐体に対し電源コントローラボード56と電源ユニットとを各2台ずつ冗長に装着させる形態である。
HDD30は、例えば、コンタクト・スタート・ストップ(CSS:Contact Start Stop)方式の3.5インチサイズの磁気ディスクや、ロード/アンロード方式の2.5インチサイズの磁気ディスクなどを備える記憶装置である。3.5インチサイズの磁気ディスクは、例えば、SCSI1、SCSI2、SCSI3、FC−AL(Fibre Channel - Arbitrated Loop)、パラレルATA、シリアルATAなどの通信インタフェースを有している。同様に、2.5インチサイズの磁気ディスクは、例えば、パラレルATA、シリアルATAなどの通信インタフェースを有している。筐体に装着・接続されるHDD30として、2.5インチサイズの磁気ディスクと3.5インチサイズの磁気ディスクとは、通信インタフェースが異なるだけではなく、I/O性能、消費電力、寿命の点などで異なっている。2.5インチサイズの磁気ディスクは、3.5インチサイズの磁気ディスクに比べ、I/O性能が優れておらず寿命が短いが、消費電力が少ないという点で優れている。
<システム構成>
図2は、実施の形態1のディスクアレイ装置100におけるバックアップ方式に係わるシステム構成を示す機能ブロック図である。同図でバックアップ方式の概要も示している。
図2は、実施の形態1のディスクアレイ装置100におけるバックアップ方式に係わるシステム構成を示す機能ブロック図である。同図でバックアップ方式の概要も示している。
ディスクアレイ装置100を含んで構成されるコンピュータシステムで、ディスクアレイ装置100のコントローラ10と、ホストとなる情報処理装置300とが、チャネル制御部13及び通信ケーブル92等を介して接続される構成である。チャネル制御部13と情報処理装置300の通信処理部とで、例えばFC、Ethernet(登録商標)などの規格に従って通信接続される。
ディスクアレイ装置100は、コントローラ10、HDD30、及びこれらを接続するバス(通信ライン)やポート等の接続部分を有する。基本筐体120においてコントローラ10とHDD30のグループとを有し、基本筐体120に接続される1つ以上の増設筐体130においてHDD30のグループを有する。各部は、情報処理装置300−コントローラ10−HDD30の間の接続で冗長性を持つように接続される。例えば、コントローラ10等を二重化して、情報処理装置300からHDD30までのデータパス上の各部を二重化した構成が可能である。一方のパス上で障害が発生した場合等においても他方のパスに切り替えて処理を継続するフェイルオーバや、負荷分散などが可能である。多重化される場合の各部の構成は略同等である。
情報処理装置300は、ユーザの使用するパーソナルコンピュータ、ワークステーション、メインフレームコンピュータなどである。情報処理装置300は、ディスクアレイ装置100を利用するためのプログラムやFC等に対応してディスクアレイ装置100と通信する通信インタフェース等を備える。情報処理装置300は、ディスクアレイ装置100に対し、HDD30が提供する記憶領域に対するデータのリードやライト等を行うための命令(入出力要求)を発行する。情報処理装置300からディスクアレイ装置100内の記憶ボリュームに対するアクセスにおいて、コントローラ10のチャネル制御部13に対して、通信プロトコルに対応して例えばHDD30側でのデータアクセス単位であるブロック単位でのデータアクセス要求が送信される。
情報処理装置300は、CPU、メモリ、ポート、入力装置、出力装置、記憶装置、記録媒体読取装置などを備える。CPUによりメモリ上のプログラムが実行されることにより様々な機能が実現される。メモリ上にアプリケーションプログラム、利用プログラムを有する。ポートは、ネットワークに接続され、ディスクアレイ装置100や他の情報処理装置300等の外部装置との間で通信を行うための装置である。入力装置は、ユーザによる操作のためのキーボードやマウスなどである。出力装置は、情報を表示するためのディスプレイなどである。記憶装置は、例えばHDDや半導体記憶装置等である。記録媒体読取装置は、記録媒体に記録されているプログラムやデータを読み取る装置である。読み取られたプログラムやデータは、メモリや記憶装置に格納される。記録媒体は、例えばフレキシブルディスクやCD−ROM等である。
情報処理装置300上のアプリケーションプログラムは、ディスクアレイ装置100の提供する機能を利用したオンライン処理等を制御するためのプログラムである。情報処理装置300は、ディスクアレイ装置100内の記憶ボリュームに記憶されているデータに適宜アクセスしながらアプリケーションプログラムを実行することで各種の情報処理サービスを提供する。情報処理サービスは、例えば銀行の自動預金預け払いシステムなどである。
情報処理装置300上の利用プログラムは、ディスクアレイ装置100の提供する各種機能を利用するためのプログラムであり、HDD30に対するデータ入出力のためのリード/ライトコマンド等の各種要求を発行する機能を備える。また特に情報処理装置300をディスクアレイ装置100の保守・管理を行う役割の管理サーバとする場合は、利用プログラムに各種保守・管理のための機能を備える。
コントローラ10は、CPU11、メモリ12、チャネル制御部13、データコントローラ14、キャッシュメモリ15、ディスク制御部16、及びこれら各部を接続する接続部を有し、前述のコントローラボード59に実装されている。チャネル制御部13やディスク制御部16は、複数個用意して多重化した構成が可能である。各コントローラ10はチャネル制御部13を通じて外部に接続される。またコントローラ10はディスク制御部16及びバスを通じて各筐体内のHDD30のグループと接続される。筐体間の接続は前記通信ケーブル91に対応している。
コントローラ10は、情報処理装置300から受信した要求に従ってデータ記憶に係わる各種制御を行う。例えば情報処理装置300からのリードコマンドやライトコマンドを受信して、HDD30上の記憶ボリュームに対するリード/ライト処理等のデータ入出力処理を行う。またコントローラ10は、情報処理装置300との間で、ディスクアレイ装置100を管理するための各種命令の授受も行う。またHDD30のグループに対してRAIDグループを設定してRAIDグループ上に論理デバイス(LDEV)や論理ユニット(LU)を設定可能で、所定のRAID方式での制御を行う機能を有する。
CPU11は、メモリ12を用いてコントローラ10における制御のためのプログラムを実行し、コントローラ10の各種機能を実現する。メモリ12は、各種プログラムやデータが格納される。
チャネル制御部13は、情報処理装置300等に対して接続され、FCプロトコル等に従った通信機能を提供する通信処理部である。チャネル制御部13は、ポート部及びプロトコル部を介して、情報処理装置300側の通信処理部や他のディスクアレイ装置100などとの間で通信を行う。またチャネル制御部13は、データコントローラ14に接続され、キャッシュメモリ15に対してデータをリード/ライトする。
データコントローラ14は、CPU11、チャネル制御部13、キャッシュメモリ15、ディスク制御部16に接続され、各部間でのデータ通信及びデータ処理を行うLSIである。データコントローラ14は、キャッシュメモリ15に対して処理データのリード/ライトを行う。
キャッシュメモリ15は、処理データ、特に情報処理装置300とHDD30の間での転送データを記憶するのに使用される。例えば、通常アクセス時には、情報処理装置300からのリードやライトなどのデータ入出力要求に対応して、チャネル制御部13によりデータコントローラ14を介してキャッシュメモリ15にライトデータ等が格納される。ディスク制御部16は、CPU11からの指示でデータコントローラ14を介してキャッシュメモリ15にコマンドに対応した入出力処理を実行する。
ディスク制御部16は、データコントローラ14にバスで接続され、HDD30に対するデータ入出力処理を含む制御を行う。またディスク制御部16は、データコントローラ14を介してキャッシュメモリ15に対してデータをリード/ライトする。ディスク制御部16は、HDD30との間の接続において例えばループ状となるFC−AL等の方式に対応した通信ラインで接続されて通信を行う。コントローラ10には、ディスク制御部16及びバスを通じて複数のHDD30すべてが通信可能に接続される。
ディスク制御部16は、データライト処理時、HDD30の領域に対してキャッシュメモリ15等からユーザデータを転送してライトさせる処理を行う。また、データリード処理時、HDD30の領域からユーザデータをリードさせてキャッシュメモリ15等に転送する処理を行う。リード/ライト処理の際は、ディスク制御部16等において、対象データについて、アドレス変換により、アクセス対象となるHDD30内位置の物理的なアドレスすなわちLBAが求められる。
また、コントローラ10内の構成は一例である。例えばキャッシュメモリ15がチャネル制御部13及びディスク制御部16に対して独立に設けられた構成であるが、これに限らず、チャネル制御部13等の各々にメモリが分散されて設けられる形態なども可能である。
データは、1つ以上のHDD30により提供される記憶ボリューム、すなわちディスク上の物理的な記憶領域または物理的な記憶領域上に論理的に設定される記憶領域に記憶される。HDD30上に設定される記憶ボリュームとしては、情報処理装置300からアクセス可能でユーザデータが格納される領域や、ディスクアレイ装置100でのシステム制御のためにシステムデータ等の格納のために使用される領域等が有り、必要に応じて設定・確保される。ユーザデータは、本バックアップ方式によりバックアップデータを格納してデータ信頼性を確保する対象となるデータに含まれる。情報処理装置300からのユーザデータだけでなく、後述するOSやアプリケーション等のシステムデータ等も本バックアップ方式でのバックアップ対象とすることができる。また、コントローラ10に対して接続される記憶装置としてはHDD30に限らず、フレキシブルディスク装置、半導体記憶装置など様々なものを用いることができる。ディスク制御部16とHDD30との間は、直接接続される形態にもできるし、ネットワークやスイッチを介して接続される形態にもできる。
HDD30では、ディスク上の物理的な記憶領域のどの位置にデータを読み書きするかを識別する物理アドレスとしてLBA(論理ブロックアドレス)を持つ。例えばHDD30ではシリンダやトラックといった位置情報を指定することで、ランダムアクセスとしてディスク上の任意位置にデータを読み書き可能である。記憶ボリュームへのデータ入出力の際は、ディスク制御部16等での処理により、論理アドレスとディスクにおける物理アドレスすなわちLBAとの変換がなされる。
また、ディスクアレイ装置100には、ディスクアレイ装置100の保守・管理等を行うための管理装置や、HDD30に格納されるデータのバックアップを記録するための磁気テープ装置等の他装置も直接あるいはネットワークを介して接続可能である。また、あるディスクアレイ装置100の設置場所(プライマリサイト)とは遠隔した場所(セカンダリサイト)に他のディスクアレイ装置100を設置して遠隔で通信可能である。ディスクアレイ装置100間で、例えばデータ保全のためのリモートコピー等の実行が可能である。
情報処理装置300やディスクアレイ装置内蔵の管理端末(SVP:サービスプロセッサ)にインストールされる管理プログラムなどから、ディスクアレイ装置100の各種設定や保守・管理が可能である。管理プログラムにより、例えばHDD30の物理ディスク構成や論理デバイスの設定、論理パスの設定、チャネル制御部13等において実行されるプログラムのインストール等を行うことができる。物理ディスク構成の設定としては、例えばHDD30の増減設、RAID構成の変更等を行うことができる。またディスクアレイ装置100の動作状態の確認や、故障部位の特定等の作業を行うこともできる。
管理端末(SVP)のハードウェア構成は、PCの形態である場合、情報処理装置300のハードウェア構成と同様に、CPU、メモリ、ポート、入力装置、出力装置、記憶装置等を備える。CPUがメモリ上の制御プログラムを実行することで保守・管理のための各種機能を実現する。メモリには、制御プログラムや、保守・管理に係わる各種情報が記憶される。例えば管理端末のポートがコントローラ10に接続され、チャネル制御部13等と通信可能である。
<バックアップ方式>
前記図2で、コントローラ10は、HDD30への格納対象となる第1のデータについて、ディスク制御部16での処理を介して格納を行う。この際、コントローラ10は、複数のHDD30から構成されるRAIDグループの提供する全体の記憶領域内において、その一部の領域に第1のデータを格納すると共に、未使用領域に、前記第1のデータのバックアップデータを、それらの格納先HDD30が別となるように格納する処理を行う。1つのHDD30内の記憶領域では、第1のデータと、他HDD30の第1のデータのバックアップデータとが並存することになる。
前記図2で、コントローラ10は、HDD30への格納対象となる第1のデータについて、ディスク制御部16での処理を介して格納を行う。この際、コントローラ10は、複数のHDD30から構成されるRAIDグループの提供する全体の記憶領域内において、その一部の領域に第1のデータを格納すると共に、未使用領域に、前記第1のデータのバックアップデータを、それらの格納先HDD30が別となるように格納する処理を行う。1つのHDD30内の記憶領域では、第1のデータと、他HDD30の第1のデータのバックアップデータとが並存することになる。
実施の形態1では、RAID制御例として、複数のHDD30に対して上位からの第1のデータを分割して格納する制御、例えばRAID0,3,4,5等に対応した制御を行う。コントローラ10で特にデータコントローラ14での処理制御により、HDD30に格納する対象となる情報処理装置300からのユーザデータについて、RAIDグループを構成する複数のHDD30により提供される記憶領域に対して、分割(ストライピング)して格納する制御を行う。これと共に、その格納ユーザデータのバックアップデータを、同RAIDグループの記憶領域内で、各分割データの格納先が他HDD30の記憶領域となるように格納する処理を行う。
図2中、ディスクアレイ装置100でのRAID制御に従って、RAIDグループを構成するHDD30に分割データが格納されている状態を示す。コントローラ10は、RAID制御として、上位からのユーザデータを分割してHDD30に入出力する機能を備える。例として、基本筐体120に接続されているうちの5台の物理的なHDD30のグループで1つのRAIDグループが構成されており、このRAIDグループ上にRAID制御に対応した論理的な記憶ボリュームが設定されており、この記憶ボリューム上に分割データA〜Eからなる第1のデータが格納されている。同様に、増設筐体130に接続されているうちの5台の物理的なHDD30でRAIDグループが構成され、このRAIDグループ上に、RAID制御に対応した記憶ボリュームが設定されており、この記憶ボリューム上に分割データG〜Kからなる第1のデータが格納されている。前記RAIDグループ上に設定される記憶ボリュームは、LU(論理ユニット)やLDEV(論理デバイス)などに対応する。そして、コントローラ10は、上記第1のデータを分割して各分割データをHDD30に格納するのに伴い、各分割データを対象にして、同RAIDグループの記憶領域へのバックアップを行う。図2中、例えば、前記データA〜Eからなる第1のデータについて、データコントローラ14から、同RAIDグループ内でユーザデータ格納のための未使用領域が有るので、当該未使用領域に、前記第1のデータのバックアップデータを格納する処理を行う。この際、冗長性を確保するために、各分割データA〜Eの格納先とその各バックアップデータA〜Eの格納先とが別のHDD30となるように格納する。なお第1のデータとそのバックアップデータは内容が同一なので、同じ記号で表わすこととする。例えば、ユーザデータすなわち各分割データA〜Eからそのバックアップデータすなわち各バックアップデータA〜Eへと、隣接HDD30へスライドした位置取りで格納する。例えば、分割データBについて見てみると、分割データBのバックアップデータBが、分割データAが格納されているHDD30の未使用領域に格納され、分割データCのバックアップデータCが、分割データBが格納されているHDD30の未使用領域に格納される。
また、上記はRAID制御に対応したバックアップの場合であるが、それよりも単純な場合としては、2台のHDD#0,#1を対象としてユーザデータaを格納してもよい。その場合、コントローラ10は、一方のHDD#0にユーザデータaを格納して他方のHDD#1の空き領域にそのバックアップデータa’を格納する。また、2台のHDD#0,#1を対象としてユーザデータa,bを格納する場合なら、コントローラ10は、例えば一方のHDD#0にユーザデータaを格納して他方のHDD#1の空き領域にそのバックアップデータa’を格納し、HDD#1にユーザデータbを格納してHDD#0の空き領域にそのバックアップデータb’を格納する。すなわち2台のHDD30をペアにして、第1のデータとそのバックアップデータを交差するような配置で互いのHDD30の空き領域に格納する。
なおパリティデータを格納するRAID3,4,5等の制御を行う場合は、前記分割データの一部はデータについてのパリティとなる。例えば、前記データEが非パリティデータA〜Dについてのパリティデータとなる。コントローラ10は、例えばRAID5の制御において、第1のデータとしての上位からのユーザデータについて、ストライピング及びパリティ生成・付加処理してから、RAIDグループのHDD30に対して各ストライピングデータ及びパリティデータを並列的にライトする処理を行う。また、コントローラ10は、RAIDグループ上に分割して格納されている第1のデータについて、各ストライピングデータ及びパリティデータを並列的にリードし、パリティデータを用いてリードデータが正常かどうかをパリティチェックして、正常な復元データを上位に返す処理を行う。
実施の形態1のディスクアレイ装置100でのバックアップ方式に係わる処理手順は概略以下のようになる。実施の形態1でのバックアップ方式が適用可能なRAID方式は、RAID3,4,5,0である。
(1):複数のHDD30での全体の記憶領域におけるユーザデータ等の第1のデータでの使用量が例えば50%以下の時期すなわち空き領域が有る時期において、コントローラ10は、第1のデータを通常通り格納すると共に、当該第1のデータについてのバックアップデータを他HDD30の空き領域に作成してゆく。コントローラ10は、データを分割して格納する場合は、各分割データをHDD30のグループ内で対応するHDD30に格納し、各分割データに対応したバックアップデータを同グループ内で他HDD30の空き領域に格納する。ただし、前記全体の記憶領域において第1のデータでの使用量が50%近くになると、すなわち第1のデータとバックアップデータとで記憶領域を使い切ると、バックアップデータの領域を通常の第1のデータの格納で上書きして使用してゆく。これによりバックアップデータは徐々に消失することとなる。
(2):HDD30に格納されている第1のデータについてリードする際、コントローラ10は、バックアップデータが有る状態でのデータリード時は、対象データとその同一内容のバックアップデータとが別のHDD30の記憶領域に存在するので、通常に格納した第1のデータの方のみならず、それに対応するバックアップデータの方も利用可能である。すなわち、コントローラ10は、HDD30に格納されている第1のデータとそのバックアップデータとで、その一方あるいは両方をアクセスして、目的のデータを取得する。また、このうち待ち時間が少ない方のHDD30から目的のデータをリードして取得することも可能である。
(3):第1のデータ及びバックアップデータを格納したHDD30のグループにおいて、HDD30の障害により目的の第1のデータのリードがエラーになった場合は、障害状態でない他のHDD30に格納されている対応するバックアップデータのリードにより、エラー状態のデータについての回復が可能である。同様に目的のバックアップデータのリードがエラーになった場合は他HDD30からの対応する第1のデータのリードにより回復可能である。前記グループで1台のHDD30が障害でエラーになった時は、他HDD30のバックアップデータからのコピーのみで前記エラー状態のデータを復元できる。また、同グループで2台以上のHDD30が障害で前記バックアップデータからのコピーのみではデータ復元できない場合には、RAID3,4,5の方式を使用している場合ではECC計算との併用によりデータ復元する。
上記のようなデータ及びバックアップデータの格納処理を、特にディスクアレイ装置100の運用の初期など、HDD30の記憶領域の使用容量が少ない時期において自動的に実行し、大きい空き領域において第1のデータとそのバックアップデータをそれぞれ順に格納して蓄積してゆく。例えば、全体の記憶領域において、第1のデータごと、バックアップデータごとに格納領域を分けて蓄積する。RAID0のような本来は冗長性が無い方式を使用している場合でも、バックアップデータを利用してデータ回復が可能であり、RAID1を使用した場合と同様のデータ信頼性が確保される。HDD30におけるデータ蓄積率が低く故障率の高い装置運用の初期において本バックアップ方式の実行によりデータ信頼性が確保される。その後、装置運用の中期すなわち故障率の低い安定期に移行するに従って、HDD30におけるデータ蓄積率も高くなりバックアップデータ保持の必要性も低くなってゆくので、全体の記憶領域のうちバックアップデータを格納している領域を、本来のデータの格納用に徐々に開放して上書きして使用する。
<領域管理>
本バックアップ方式の処理のために、コントローラ10は、複数のHDD30により提供される全体の記憶領域に対して第1のデータ及びバックアップデータを格納するにあたって、全体の記憶領域を所定サイズの記憶領域単位に分割して管理する。そして、コントローラ10は、この分割して管理される領域(分割領域rと称する)を単位として連続的に第1のデータやバックアップデータを格納してゆく処理を行う。これにより全体の記憶領域で小さい空き領域を作らずになるべく連続的な広い空き領域が残るようにし、各第1のデータと各バックアップデータをそれぞれデータ格納用の領域(データ領域と称する)とバックアップデータ格納用の領域(バックアップ領域と称する)とで分けて、複数の連続する分割領域rで各データをまとめて格納する。分割領域rは、論理的な記憶領域単位であり、HDD30におけるアドレス体系であるLBAに対応した記憶領域とは別の単位である。また、分割領域rの管理により、全体の記憶領域における第1のデータとバックアップデータでの使用容量の把握・管理を行う。前記分割領域r及び使用容量の管理を、以下、領域管理と称する。
本バックアップ方式の処理のために、コントローラ10は、複数のHDD30により提供される全体の記憶領域に対して第1のデータ及びバックアップデータを格納するにあたって、全体の記憶領域を所定サイズの記憶領域単位に分割して管理する。そして、コントローラ10は、この分割して管理される領域(分割領域rと称する)を単位として連続的に第1のデータやバックアップデータを格納してゆく処理を行う。これにより全体の記憶領域で小さい空き領域を作らずになるべく連続的な広い空き領域が残るようにし、各第1のデータと各バックアップデータをそれぞれデータ格納用の領域(データ領域と称する)とバックアップデータ格納用の領域(バックアップ領域と称する)とで分けて、複数の連続する分割領域rで各データをまとめて格納する。分割領域rは、論理的な記憶領域単位であり、HDD30におけるアドレス体系であるLBAに対応した記憶領域とは別の単位である。また、分割領域rの管理により、全体の記憶領域における第1のデータとバックアップデータでの使用容量の把握・管理を行う。前記分割領域r及び使用容量の管理を、以下、領域管理と称する。
前記領域管理では、コントローラ10は、LBA変換により、HDD30の記憶領域のアドレスであるLBAと、前記分割領域rのアドレスとを対応付ける。そして、その対応付け情報をコントローラ10内に保持し必要に応じて参照する。前記LBA変換は、HDD30の記憶領域に対する、本来のすなわち領域管理無しの場合のデータ格納先となるLBAと、分割領域rの位置を示すLBAとの相互変換である。コントローラ10は、データ格納の際に、上位からのコマンド等をもとに指定される本来のデータ格納先のLBAの位置に対してではなく、LBA変換により求めた分割領域rの位置に対して対象データを格納する処理を行う。
図3は、コントローラ10が領域管理のために保持する制御情報である配列変数(領域管理テーブルと称する)の構成例を示す。この領域管理テーブルにおいて、管理変数として、アドレス管理変数と、領域種別管理変数を有する。格納値は一例である。アドレス管理変数で、前記LBA変換における対応付け情報を記憶する。すなわち、コントローラ10は、各分割領域rに対応したアドレス管理変数に、本来のデータ格納先となるLBA値を記憶する。言い換えれば、本来のデータ格納先となるLBA値に対して、LBA変換により第1のデータやそのバックアップデータの格納のための各分割領域rが割り当てされる。
また、コントローラ10は、各分割領域rに格納されるデータが通常の第1のデータであるかバックアップデータであるか等の格納データ種別について判別できるように制御情報の管理を行う。すなわち、領域種別管理変数で、各分割領域rの格納データの種別を判別するための領域種別情報を記憶する。領域種別情報は、例えば、上位からのユーザデータ等の、通常の第1のデータが格納されるデータ領域を「1」、そのバックアップデータが格納されるバックアップ領域を「2」として区別する。コントローラ10は、HDD30に対するデータ入出力の際などには、LBA変換を行うと共にこれら管理変数を参照/更新して処理を行う。
図3中に示すアドレス管理変数の並びは、HDD30の記憶領域における分割領域rの並びと対応している。例として1つのHDD30における8つの分割領域rに対応したアドレス管理変数{r(0)〜r(7)}を示している。左側のアドレス管理変数は、後述の第1のバックアップモード(モードA)に対応した例を、右側のアドレス管理変数は、後述の第2のバックアップモード(モードB)に対応した例を示す。モードAとモードBでバックアップ領域の配置の順番が逆になっている。例えば左側のモードAに対応したアドレス管理変数において、一番下の、全体のうち先頭の分割領域rに対応したアドレス管理変数r(0)にLBA値「20000」が記憶され、これに対応する領域種別管理変数にデータ領域を示す「1」が記憶されている。更に、一番上の、全体のうち最終の分割領域rに対応したアドレス管理変数r(7)に同じLBA値「20000」が記憶され、これに対応する領域種別管理変数にバックアップ領域を示す「2」が記憶されている状態である。すなわち、本来のデータ格納先となるLBA値「20000」に対して、全体の記憶領域における先頭の分割領域rがデータ領域として割り当てられ、最終の分割領域rがバックアップ領域として割り当てられていることを示す。コントローラ10は、上位からの要求が全体の未使用の記憶領域でLBA値「20000」の位置に対してデータを格納する要求であった時、LBA変換により全体のうち先頭の分割領域rをデータ領域、最後の分割領域rをバックアップ領域として対応付けると共に、それら分割領域rに対応した管理変数でLBA値「20000」及び各領域種別情報の値「1」、「2」を記憶する。
このような領域管理を行うことで、コントローラ10により分割領域rを単位に効率的な第1のデータ及びバックアップデータの格納処理を行うと共に、全体の記憶領域における使用容量や格納データ種別についても把握がなされる。また、処理対象となる分割領域rを選択可能であり、第1のデータやバックアップデータを利用したスペアディスク等へのデータ復元に要する時間も小さくすることが可能である。
<バックアップモード>
実施の形態1でのバックアップ方式で、複数のHDD30が提供する全体の記憶領域内でどのような配置で第1のデータとバックアップデータを格納してゆくかに係わるバックアップ処理のモードとして例えば以下に示す第1、第2のバックアップモードがある。これらモードでは、領域管理により分割領域rを単位として第1のデータとバックアップデータの格納を行う。前記領域管理テーブルで各分割領域rについての情報が記憶される。
実施の形態1でのバックアップ方式で、複数のHDD30が提供する全体の記憶領域内でどのような配置で第1のデータとバックアップデータを格納してゆくかに係わるバックアップ処理のモードとして例えば以下に示す第1、第2のバックアップモードがある。これらモードでは、領域管理により分割領域rを単位として第1のデータとバックアップデータの格納を行う。前記領域管理テーブルで各分割領域rについての情報が記憶される。
図4は、第1のバックアップモード(モードA)と第2のバックアップモード(モードB)について示す説明図である。例として、RAIDグループを構成するHDD#0〜#4の5台のHDD30が提供する全体の記憶領域において第1のデータとバックアップデータの格納を行う場合である。各HDD30における物理LBAに対応して分割領域rが管理されている。例えばHDD#0で、LBA「000000H」〜「07FFFFH」の領域が1つの分割領域rである。またHDD#0で同サイズの32個の分割領域rでモードA及びモードBに対応した記憶領域が確保されている。
第1のバックアップモードでは、HDD30の記憶領域において、その先頭領域から順に通常の第1のデータの格納に使用すると共に、その最終領域から順にバックアップ領域として使用する。本モードでは、古いバックアップデータを優先して残しておく。空き領域が無くなった場合あるいは所定の容量よりも少なくなった場合は、新しいバックアップ領域から順に第1のデータを上書きして使用する。
上側に示すモードAで、モードAに対応した全体の記憶領域、すなわち80(16×5)個の分割領域rからなる記憶領域(領域Aとする)において、例えば先頭から半分までの50%の領域を通常の第1のデータ格納用のデータ領域として用い、半分から最後までの50%をバックアップデータ格納用のバックアップ領域として用いる。前記データ領域は、特に上位の情報処理装置300からのユーザデータを専用に格納するためのユーザデータ領域としてもよい。左側はモードAを示すアイコンである。コントローラ10は、データ領域で、先頭の分割領域rから順に用いて第1のデータを格納してゆく。例えば、最初に、前記分割データA〜Eからなる第1のデータが各HDD#0〜#4の先頭の分割領域rに格納される。その下の点線枠で示すのは、次にデータ領域として割り当てられる領域である。またコントローラ10は、前記第1のデータの格納と共に、バックアップ領域で、最後の分割領域rから先頭側に向かって順に用いてバックアップデータを格納してゆく。例えば、最初に、前記分割データA〜Eのバックアップデータ(B〜E及びA)が、各HDD#0〜#4の領域Aにおける最後の分割領域rに、第1のデータに対してスライドした位置取りで格納される。その上の点線枠で示すのは、次にバックアップ領域として割り当てられる領域である。コントローラ10は、第1のデータ及びバックアップデータの格納の際は、LBA変換を行ってデータ領域及びバックアップ領域として割り当てされる分割領域rを決定し、その割り当てに関する情報を領域管理テーブル内に記憶する。装置利用に伴い、所定容量のデータ領域を第1のデータの格納に使い切った等の場合は、使用済みのバックアップ領域で最後にバックアップ領域として割り当てた分割領域r(1つ以上)から順に開放して使用する。
第2のバックアップモードでは、HDD30の記憶領域において、その先頭領域から順に通常の第1のデータの格納に使用すると共に、その途中例えば半分の位置から順にバックアップ領域として使用する。これは50%をバックアップ領域として使用する場合に対応する。本モードでは、新しいバックアップデータを優先して残しておく。空き領域が無くなった等の場合は、古いバックアップ領域から順に第1のデータを上書きして使用する。
下側に示すモードBで、モードBに対応した全体の記憶領域、すなわち80個の分割領域rからなる記憶領域(領域Bとする)において、例えば先頭から半分までの50%の領域を通常の第1のデータの格納用のデータ領域として用い、半分から最後までの50%をバックアップデータ格納用のバックアップ領域として用いる。左側はモードBを示すアイコンである。コントローラ10は、データ領域で、先頭の分割領域rから順に用いて第1のデータを格納してゆく。例えば、最初に、前記分割データG〜Kからなる第1のデータが各HDD#0〜#4の領域Bにおける先頭の分割領域rに格納される。その下の点線枠で示すのは、次にデータ領域として割り当てられる領域である。またコントローラ10は、前記第1のデータの格納と共に、バックアップ領域で、先頭の分割領域rから最後側に向かって順にバックアップデータを格納してゆく。例えば、最初に、前記分割データG〜Kのバックアップデータ(H〜K及びG)が各HDD#0〜#4の領域Bにおける半分の位置の分割領域rに格納される。その下の点線枠で示すのは、次にバックアップ領域として割り当てられる領域である。所定容量のデータ領域を第1のデータの格納に使い切った等の場合は、使用済みのバックアップ領域で最初にバックアップ領域として割り当てた分割領域r(1つ以上)から順に開放して使用する。
モードAの場合、バックアップ領域として最後に割り当てた分割領域rから開放される。すなわち新しいバックアップデータの方から冗長性を失い、古いバックアップデータの冗長性が保持される。この方式は、格納データとして、古い時期にHDD30に格納したデータを残したい場合、すなわち装置使用時期として初期に記憶したデータの方が最近の格納データよりも重要な場合などに使用することが適している。このタイプのデータとして、例えば、情報処理装置300のOSやアプリケーション等のデータは、最初期にHDD30の領域にインストールされる。例えば、OSデータについて、バックアップデータを保持した状態を長くすることができ、OSデータの障害に備えることができる。
一方、モードBの場合、バックアップ領域として最初に割り当てた分割領域rから開放される。すなわち古いバックアップデータの方から冗長性を失い、新しいバックアップデータの冗長性が保持される。この方式は、格納データとして、最近の格納データを優先して残したい場合、すなわち装置使用時期として中期/終期に記憶したデータの方が重要な場合などに使用することが適している。前記各モードのように記憶領域の使用及び開放を行うことでデータのロバスト性をユーザの使用状況・利用形態にあわせて調節可能である。
<ライト時フロー>
図5は、実施の形態1のディスクアレイ装置100で、HDD30に対するデータライト時の処理を示すフロー図である。特に、前記モードAに対応した処理を示す。
図5は、実施の形態1のディスクアレイ装置100で、HDD30に対するデータライト時の処理を示すフロー図である。特に、前記モードAに対応した処理を示す。
コントローラ10が、情報処理装置300よりライトデータを受領する(ステップS101)。コントローラ10のCPU11は、受領コマンドで指定されたLBAを演算することにより、分割領域位置(以下、第1の位置と称し、対応する分割領域rを第1の領域と称する)と、前記第1の領域内のオフセット位置すなわちデータ格納位置(以下、第2の位置と称する)とを計算する(S102)。なお、コントローラ10は、データ格納領域が分割領域rを跨る場合は、対象データを分割する。
次に、前記計算した第1の領域は、以前に使用されたことがあるかを、前記領域管理のための管理変数を参照することで判断する(S103)。前記判断で、使用済みの場合(S103−YES)、CPU11が、前記第1の領域を検索して選択する(S104)。そして、データコントローラ14が、前記第1の領域内の第2の位置に、データをライトする(S105)。その後、前記第1の領域に対応するバックアップ領域が有るかどうか判断し(S106)、バックアップ領域が有る場合は(YES)、S114へ移り、バックアップ領域が無い場合は(NO)、終了する。
前記S103の判断で、以前に未使用である場合(NO)、次に、CPU11は、空き領域が残っているかどうか、言い換えれば使用可能な分割領域rが有るかどうかを管理変数の参照により判断する(S107)。
前記S107の判断で、空き領域無しの場合(NO)、CPU11は、バックアップ領域の最終領域を開放し、前記第1の領域として割り当てる(S108)。そして、データコントローラ14は、前記第1の領域内の第2の位置にデータをライトし(S109)、終了する。
前記S107の判断で、空き領域有りの場合(YES)、CPU11は、空き領域の先頭領域に、前記第1の領域を割り当てる(S110)。そして、データコントローラ14は、第1の領域内の第2の位置に、データをライトする(S111)。そして、HDD30のユーザデータ格納用の使用分割領域数は全数の半分以下かどうか、言い換えればバックアップ領域が有るかどうかを判断する(S112)。
前記S112の判断で、使用領域数が半分以下でない場合(NO)、バックアップ不可能なので終了する。前記S112の判断で、半分以下の場合(YES)、バックアップ可能なので、CPU11は、空き領域の最終領域を、前記第1の領域のデータについてのバックアップ領域として割り当てる(S113)。そして、データコントローラ14は、バックアップ領域で、前記第1の領域及び第2の位置に対応する位置に、バックアップデータをライトし(S114)、終了する。
<リード時フロー(通常時)>
図6は、実施の形態1のディスクアレイ装置100で、HDD30に対するデータリード時の処理、特に、HDD30に障害が無い通常時の処理を示すフロー図である。
図6は、実施の形態1のディスクアレイ装置100で、HDD30に対するデータリード時の処理、特に、HDD30に障害が無い通常時の処理を示すフロー図である。
コントローラ10が、情報処理装置300よりリード要求を受領する(S201)。CPU11は、指定されたLBAを演算することにより、前記ライト時と対応した、第1の位置(分割領域位置)及び第1の領域(分割領域r)と、第2の位置(第1の領域内のオフセット位置)とを計算する(S202)。なお、コントローラ10は、データ格納領域が分割領域rを跨る場合は、データを分割する。
次に、CPU11は、前記第1の領域を検索して選択する(S203)。次に、データコントローラ14は、前記第1の領域内の第2の位置のデータをリードする(S204)。次に、データコントローラ14は、リードデータを情報処理装置300へデータ転送し(S205)、終了する。
<リード時フロー(HDD障害時)>
図7は、実施の形態1のディスクアレイ装置100で、HDD30に対するデータリード時の処理、特に、HDD30に障害が有る時の処理を示すフロー図である。
図7は、実施の形態1のディスクアレイ装置100で、HDD30に対するデータリード時の処理、特に、HDD30に障害が有る時の処理を示すフロー図である。
コントローラ10が、情報処理装置300よりリード要求を受領する(S301)。CPU11は、指定されたLBAを演算することにより、前記ライト時と対応した、第1の位置(分割領域位置)及び第1の領域(分割領域r)と、第2の位置(第1の領域内のオフセット位置)を計算する(S302)。なお、コントローラ10は、データ格納領域が分割領域rを跨る場合は、データを分割する。
次に、CPU11は、前記第1の領域を検索して選択する(S303)。次に、データコントローラ14は、前記第1の領域内の第2の位置の、正常なHDD30のデータをリードする(S304)。
続いて、コントローラ10は、パリティデータからデータ回復可能かどうかを判断する(S305)。前記判断で、回復可能な場合(YES)、データコントローラ14は、パリティデータによりデータ回復を行い(S306)、S312へ移る。
前記S305の判断で、回復不能な場合(NO)、コントローラ10は、前記第1の領域に対応するバックアップ領域が有るかどうか判断する(S307)。前記判断で、バックアップ領域が無い場合(NO)、データコントローラ14は、「ユーザデータ消失」の旨のエラー報告を行い(S308)、終了する。
前記S307の判断で、バックアップ領域が有る場合(YES)、コントローラ10は、バックアップデータのみで回復可能かどうかを判断する(S309)。前記判断で、バックアップデータのみで回復可能な場合(YES)、バックアップデータを読み出して、バックアップデータによりデータ回復を行い(S309b)、S312へ移る。前記判断で、バックアップデータのみでは回復不能な場合(NO)、コントローラ10は、バックアップデータとパリティデータ併用で回復可能かどうかを判断する(S310)。前記判断で、併用でも回復不能の場合(NO)、前記データコントローラ14でのエラー報告処理(S308)を行って終了する。前記S310の判断で、併用により回復可能の場合(YES)、データコントローラ14は、バックアップデータとパリティデータからデータ回復を行う(S311)。そして、データコントローラ14は、リードデータを情報処理装置300へデータ転送を行い(S312)、終了する。
<障害時のデータ回復>
次に、図8(a)〜(c)は、前記バックアップ方式で第1のデータとバックアップデータを格納している場合において、HDD障害時(データ読み出しエラー時)にデータ回復を行う場合の処理モデルを示す説明図である。(a)は、RAID構成、例えばRAID0の方式でHDD#0〜#4の5台のHDD30をRAIDグループとして第1のデータ及びそのバックアップデータを格納している状態を示す。(b)は、(a)に対応して、RAID構成で1台のHDDに障害が発生した場合のデータ回復について示す。(c)は、RAID3,4,5の構成で2台のHDDに障害が発生した場合のデータ回復について示す。
次に、図8(a)〜(c)は、前記バックアップ方式で第1のデータとバックアップデータを格納している場合において、HDD障害時(データ読み出しエラー時)にデータ回復を行う場合の処理モデルを示す説明図である。(a)は、RAID構成、例えばRAID0の方式でHDD#0〜#4の5台のHDD30をRAIDグループとして第1のデータ及びそのバックアップデータを格納している状態を示す。(b)は、(a)に対応して、RAID構成で1台のHDDに障害が発生した場合のデータ回復について示す。(c)は、RAID3,4,5の構成で2台のHDDに障害が発生した場合のデータ回復について示す。
図8(a)で、RAIDグループの記憶領域で、データ領域に、分割データA〜Eからなる第1のデータが格納されており、同RAIDグループで未使用領域のうちのバックアップ領域に、前記第1のデータのバックアップデータ(B〜E及びA)が、他HDD30へと格納先をスライドした位置取りで格納されている。データリードの際、例えば分割データBをリードする場合、HDD#1,#0の2台を利用できる。RAID4,5の方式でのリード時など、ストライプサイズ以下の小さな第1のデータ(バックアップデータ)へのアクセスが特定のディスクに集中する場合などには、別のディスクのバックアップデータ(第1のデータ)にアクセスして同一内容データを読み出すことが可能であり、負荷分散の効果が得られる。
図8(b)で、コントローラ10が、前記分割データA〜Eからなる第1のデータをリードする際、例えばHDD#3が障害でデータ読み出しがエラーであるとする。この場合、コントローラ10は、HDD#3のデータDについて、HDD#2のバックアップデータDをリードして回復する。バックアップデータからのコピーのみで回復可能である。またHDD#3の格納データをスペアHDD等に対して回復する場合は、例えば前記HDD#3のデータD,Eに関して、HDD#2内のバックアップデータDと、HDD#4内のデータEの部分をそれぞれリードして、スペアHDD等で前記HDD#3での格納位置に対応した位置にライトする。
図8(c)で、例えばHDD#0〜#4のRAIDグループのデータ領域において分割データA〜D及びP(データA〜Dは非パリティデータ、データPはパリティデータ)からなる第1のデータを格納しており、そのバックアップデータA〜D及びPを同RAIDグループ内のバックアップ領域に格納している。前記分割データA〜D及びPをリードして第1のデータを取得する際、例えばHDD#2,#3が障害でデータ読み出しがエラーであるとする。この場合、コントローラ10は、HDD#2のデータCは、HDD#1のバックアップデータCをリードして回復し、HDD#3のデータDは、HDD#2のバックアップデータDがエラーなので、前記データA,B,HDD#1からリードしたバックアップデータC、HDD#4からリードしたデータPを利用して、パリティ演算により回復する。またHDD#2,#3の格納データをスペアHDD等に対して回復する場合は、例えば前記HDD#2,#3のデータC,D,Pに関して、HDD#0,#1,#4からそれぞれリードしたデータA,B,P,及びバックアップデータCの部分を用いて、バックアップデータCと、前記パリティ演算により回復したデータDと、前記データPとをそれぞれスペアHDD等で前記HDD#2,#3での格納位置に対応した位置にライトする。
図9は、前記図8(c)に対応して、障害状態からデータ回復を行う場合の処理を示すフロー図である。まず、ディスクアレイ装置100で例えばHDD#2,#3の2台が故障したことが検出され通知や表示がなされる(S401)。障害検出後、ディスクアレイ装置100の管理者が、HDD#2,#3を別のHDD30に交換する作業を行う(S402)。交換後HDDが認識されたら、コントローラ10におけるデータコントローラ14は、まず、HDD#1から、バックアップデータCの部分を、交換後HDD#2の対応位置(前記データCの位置)にコピーする(S403)。続いて、データコントローラ14は、HDD#4から、データPを、交換後HDD#3の対応位置(前記バックアップデータPの位置)にコピーする(S404)。続いて、データコントローラ14は、データA,B,C,PからデータDを計算して求める(S405)。データコントローラ14は、計算して求めたデータDを、交換後HDD#2,#3における対応位置にコピーして(S406)、終了する。
前記(c)の例では、前記RAIDグループにおいてデータDの部分が完全に欠落した場合を想定しているが、通常の第1のデータ及びそのバックアップデータが共に消失しない限り、パリティデータを使用せずにバックアップデータのみで回復が可能である。これはRAID5+1と同等の冗長性を持っており、同一RAIDグループのHDD数における約半分の台数まではHDDが故障してもユーザデータが消失しない。そのため、特別な事をしなくても一般的な初期故障率を上回る冗長性を保有可能である。同様にRAID3方式の場合もRAID3+1相当となりRAID5+1と同等のデータ信頼性を得ることができる。
<設定画面>
図10は、実施の形態1でのバックアップ方式に関する設定画面例及び設定例を示す。ディスクアレイ装置100に接続される管理装置、例えば、管理プログラムをインストールした情報処理装置300などで、管理プログラムの処理により設定画面を表示し、管理者等が設定入力を行う。
図10は、実施の形態1でのバックアップ方式に関する設定画面例及び設定例を示す。ディスクアレイ装置100に接続される管理装置、例えば、管理プログラムをインストールした情報処理装置300などで、管理プログラムの処理により設定画面を表示し、管理者等が設定入力を行う。
設定画面例において、例えば、5台のHDD30からRAID5に対応したRAIDグループ0が設定され、RAIDグループ0上にLUとしてLU0,LU1が設定されている。各LUN(論理ユニット番号)を「0」、「1」とする。また、RAIDグループ1にRAID1が設定され、LU2が設定されている。また、RAIDグループ2にRAID0が設定され、LU3が設定されている。右側に示すように、各LUに対して適用する前記バックアップモードを選択する。上側は、各バックアップモード(モードA,モードB)に対応したアイコンを示す。例えば、LU0でモードAがオン、LU1とLU3でモードBがオンに設定されている様子を示す。また、既定のバックアップモード以外を選択する場合は、バックアップ処理に関する別の詳細設定画面で設定する。例えば、バックアップデータ格納用に確保するバックアップ領域の容量などを設定する。なおLU2のような、RAID1等のミラーリング制御が設定されているデータに対しては、ミラーリングによりデータ信頼性が確保されるため、本バックアップ方式を合わせて使用する必要は特に無い。
<内部動作例>
図11は、前記設定例に対応した、ディスクアレイ装置100での内部動作の例について示す。前記RAID5に対応したRAIDグループ0上のLU0とLU1について、LU0でモードAのバックアップ処理を行い、LU1でモードBのバックアップ処理を行う。RAIDグループ0を構成するHDD#0〜#4において、物理LBA「000000H」〜「7FFFFFH」(16進数)に対応した記憶領域を、モードAに対応した領域A(R1〜R16)、LBA「800000H」〜「FFFFFFH」に対応した記憶領域を、モードBに対応した領域B(R17〜R32)とする。なおあくまで一例のため記憶領域における分割数は少なく示している。
図11は、前記設定例に対応した、ディスクアレイ装置100での内部動作の例について示す。前記RAID5に対応したRAIDグループ0上のLU0とLU1について、LU0でモードAのバックアップ処理を行い、LU1でモードBのバックアップ処理を行う。RAIDグループ0を構成するHDD#0〜#4において、物理LBA「000000H」〜「7FFFFFH」(16進数)に対応した記憶領域を、モードAに対応した領域A(R1〜R16)、LBA「800000H」〜「FFFFFFH」に対応した記憶領域を、モードBに対応した領域B(R17〜R32)とする。なおあくまで一例のため記憶領域における分割数は少なく示している。
効率的なバックアップ処理のために、全体の記憶領域を前記分割領域rを単位で扱う。図11中、各HDD30で例えばLBA「000000H」から「07FFFFH」までの領域が1つの分割領域rである。また複数のHDD30に跨る複数の分割領域rから1つの領域(Rとする)単位が構成される。例えばHDD#0〜#4の同LBAに対応した分割領域rから1つの領域Rが構成される。HDD#0〜#4の記憶領域において領域R1〜R32が構成される。領域R1〜R16からなる領域A及びR17〜R32からなる領域Bは、それぞれ1つのLU(LU0,LU1)に対応する。またLBA変換により前記領域管理テーブルの管理変数で分割領域rと本来のデータ格納先のLBAとの対応付けを管理し、全体の記憶領域において連続的な空き領域を作成して利用する。例えば、HDD#0におけるLBA「000000H」に対応した先頭の分割領域rが、前記図3に示すアドレス管理変数r(0)及び領域種別管理変数で管理される。コントローラ10は、バックアップモードに対応して、例えばモードAなら、領域Aで、先頭領域R1から最終領域R16へ向かって順にユーザデータ等の第1のデータが格納され、最終領域R16から先頭領域R1へ向かって順に対応するバックアップデータが格納されるように、データ格納位置のLBA変換を行う。コントローラ10は、LU0,LU1について、LU内の領域をHDD30側の分割領域rに対応して分割して、データREAD/WRITE処理を行う。LU0とLU1の場合、RAID5におけるストライピングサイズと各分割領域rのサイズが対応する。
まず、図11の上側で、LU0についてのデータライト処理を示す。以下(1)〜(5)の手順で処理を行う。モードAで、領域Aで、最終位置から順にバックアップ領域として割り当てする。先頭領域R1は、LU0のデータが格納されるデータ領域となる。領域Aにおける最終領域R16は、そのバックアップデータが格納されるバックアップ領域となる。領域R2は、領域R1の次のデータ領域となる。領域R15は、領域16の次のバックアップ領域となる。
(1):例えば、情報処理装置300から、論理アドレス指定で、LU0の「10031234H」に対するライト要求が発行される。コントローラ10で論理アドレスから物理アドレスが求められる。前記論理アドレスは、物理アドレスで、HDD#3のLBA「401234H」に対するライト要求であり、すなわち、ベースアドレス「400000H」+オフセット「1234H」である。
(2):コントローラ10は、LBA変換により、前記ベースアドレスのLBA「400000H」を前記領域管理テーブルの管理変数に記憶する。すなわち、領域R1をデータ領域として割り当てし、HDD#3の先頭の分割領域rに対応したアドレス管理変数に、LBA値「400000H」を記憶する。そしてコントローラ10は、データ領域となる領域R1で、同一HDD(HDD#3)の同一オフセット位置(LBA「001234H」)にライトデータをライトする。
(3):コントローラ10は、前記HDD#3に格納したデータについてのパリティデータPを生成して、同様に、領域R1で、パリティ格納先のHDD30の対応位置ここではHDD#1のLBA「001234H」にパリティデータPをライトする。これにより、データ領域で、第1のデータとしてLU0のデータがライトされた状態となる。
(4):コントローラ10は、前記LBA変換によりバックアップ領域となる最終領域R16に対して、前記ベースアドレスのLBA「400000H」を記憶する。すなわち、領域R16をバックアップ領域として割り当てし、HDD#2の最終の分割領域rに対応したアドレス管理変数に、LBA値「400000H」を記憶する。そしてコントローラ10は、領域R16で、前記第1のデータの格納先であるHDD#3に隣接した他HDD30ここではHDD#2の同一オフセット位置(LBA「781234H」)に、前記第1のデータのバックアップデータを記憶する。
(5):またコントローラ10は、領域R16で、前記パリティデータPの格納先であるHDD#1に対応して、同様に、隣接した他HDD30ここではHDD#0の同一オフセット位置(LBA「781234H」)にパリティデータPのバックアップデータPを記憶する。
また、図11の下側で、LU1についてのデータライト処理を示す。以下(1)〜(5)の手順で処理を行う。特に、ライト対象領域が2つの領域Rに跨る場合を示す。モードBで、領域Bで、50%の位置から順にバックアップ領域として割り当てする。領域R17,R18は、LU1のデータが格納されるデータ領域となる。50%の位置にある領域R25,R26は、そのバックアップデータが格納されるバックアップ領域となる。領域R19は、領域R17,R18の次のデータ領域となる。領域R27は、領域25,R26の次のバックアップ領域となる。
(1):例えば、情報処理装置300から、論理アドレス指定で、LU1の「7FFFFEH」に対するライト要求が発行される。本ライト要求ではライト対象領域が2つの領域R19,R20に跨る。ライト対象の分割領域rは、領域R19におけるHDD#4の分割領域rと、領域R20におけるHDD#0の分割領域rである。各分割領域rに対応した、領域Bにおけるベースアドレスは、それぞれ「100000H」、「180000H」として求められる。
(2):コントローラ10は、LBA変換により、ライト対象の前記2つの領域Rについて、領域Bのデータ領域となる先頭領域R17,R18に対し領域管理テーブルの管理変数で割り当てし(図11中の「100000H」「180000H」)、それぞれの領域Rで第1のデータの格納先となる分割領域rの該当位置にデータをライトする。
(3):コントローラ10は、前記2つの分割領域rに格納したデータについてのパリティデータP及びP’を生成して、領域R17,R18で、パリティ格納先のHDD30ここではHDD#2,#1の対応位置にライトする。
(4):コントローラ10は、前記LBA変換により、領域Bで、バックアップ領域として、50%の位置から割り当てし(図11中の「100000H」「180000H」)、バックアップ領域となる領域R25,R26で、前記R17,R18に格納した各データのバックアップデータを、隣接した他HDD30ここではHDD#3,#4の対応位置へとライトする。
(5):同様に、コントローラ10は、前記各パリティデータP及びP’のバックアップデータP及びP’を、隣接した他HDD30ここではHDD#1,#0の対応位置へとライトする。
<効果及びデータ信頼性>
以上説明したように、本実施の形態では、バックアップ処理の実行によりデータ消失を回避できる。ディスクアレイ装置の運用において初期では一般にHDD故障率が高いが、HDD空き容量には余裕が有るという面に着目して、本バックアップ方式を適用することで、特にHDD故障率の高い初期での冗長性・データ信頼性を確保できる。
以上説明したように、本実施の形態では、バックアップ処理の実行によりデータ消失を回避できる。ディスクアレイ装置の運用において初期では一般にHDD故障率が高いが、HDD空き容量には余裕が有るという面に着目して、本バックアップ方式を適用することで、特にHDD故障率の高い初期での冗長性・データ信頼性を確保できる。
本バックアップ方式は、RAID方式としてRAID3,4,5,0の各方式に適用可能である。RAID0の場合でも、装置の記憶領域の使用容量が少ない場合にRAID0+1と同等の信頼性を確保できる。また、前記領域管理を行うことで、第1のデータやバックアップデータの格納に使用している部分のみのデータコピーすれば良いため、データ復元時間なども小さくすることが可能である。RAID3,4,5の場合でも、1台のディスクの障害ならパリティを再計算する必要なくデータ回復が可能である。また、2台のディスクが障害でもECC(誤り訂正符号)との併用でデータ回復が可能である。従来ではHDDの初期故障率が装置の冗長性を上回るHDD二重障害のような場合においても、本バックアップ方式の使用によりユーザデータが保護され、システムのロバスト性を向上させることができる。
本実施の形態による効果(データ信頼性)に関して、装置故障率とデータ蓄積率とRAID方式の観点から述べる。図12(a)は、一般的な故障率曲線と、ディスクアレイ装置でのデータ蓄積率(容量使用率)の関係について示すグラフである。図12(b)は、RAID方式と装置稼動期間に応じたデータ信頼性を示す表である。
まず、ディスクアレイ装置の利用にあたってユーザが使用する代表的な形態を、データ信頼性の観点から大きく分類すると以下のようになる。データ信頼性に関しては、RAID0+1やRAID1では大、RAID4やRAID5では中、RAID0では小となる。データ容量コスト(コストパフォーマンス)に関しては、RAID0+1やRAID1では大(小)、RAID4やRAID5では中(中)、RAID0では、小(大)となる。
次に、ハードディスクの故障率を一定と仮定した場合、同一RAIDクループ内に含まれるHDDの数が多い程、不良HDD及びデータロストの発生リスクが上がる。このようにデータ容量のコストパフォーマンスとデータの信頼性は一般的に常にトレードオフの関係にある。
また装置故障率は、一般に図12(a)に示すようなバスタブ曲線(故障率曲線)のような傾向を有しており、特定の期間で発生した故障は、一般的に、初期故障/偶発故障/磨耗故障の3つに分類され、以下のような特徴を有する。装置使用において、初期では初期故障、中期では偶発故障、終期では磨耗故障が、それぞれ発生する。初期では故障率が高く、中期では安定化し、終期で増加する。
初期故障については、故障原因は部品のロット不良や設計ミス等であり、その発生確率は大きい。またその回避・対応策としては、装置側では所定手段により冗長性を確保することであり、製造側では長期検査を行うことである。前記冗長性の確保は、ディスクアレイ装置の場合、代表的なのがRAID0+1,1,3,4,5といった各種RAID方式によるデータ記憶の制御である。
偶発故障については、故障原因は部品故障等の偶発的な要因であり、その発生確率は比較的小さい。またその回避・対応策としては、装置側では、前記冗長性を確保することであり、製造側では装置の点検・保守を行うことである。
磨耗故障については、故障原因は磨耗・劣化等の寿命的な要因であり、その発生確率は増加的である。またその回避・対応策としては、装置側では、障害予測を行うことであり、製造側では装置の保守・交換を行うことである。前記障害予測により、装置でエラーが増加してきた場合に寿命を判断して交換が行われる。
図12(a)で、特にHDD30の故障率も、故障率曲線に対応する。データ蓄積率は、ディスクアレイ装置100でのHDD30により提供される記憶領域へのデータの格納による蓄積率(容量使用率)に対応する。一般的にデータ蓄積率は時間の経過と共に増加する。
図12(b)で、装置稼動初期のデータ消失リスクはRAID4,5の場合でも決して低いとは言えない。例えばRAIDグループで2台のHDDが故障した場合はデータ消失が発生する。表で、RAID4,5の場合、データ信頼性は、初期ではリスク(データ消失リスク)が比較的高めであり、中期ではリスクが小であり、終期ではリスクが比較的低めである。RAID0+1,1の場合は時期によらずリスクが小である。RAID0の場合は初期ではリスクがかなり高めであり、中期ではリスクが中であり、終期ではリスクが比較的高めである。
ディスクアレイ装置における初期故障の発生率は、HDDにおけるデータ蓄積率が50%以下である時期に高いと言える。本発明の各実施の形態でのバックアップ方式により、データ蓄積率が全体の50%程度以下の時点で故障率の高い初期の期間をカバー(対策)可能となる。従って、仮に信頼性の低いRAID0の方式をユーザが使用していたとしても、ディスク(HDD30)の空き領域に第1のデータのバックアップを保存していることでデータ回復が可能であり、その後の安定期(中期)への移行が容易である。装置運用の初期にデータ信頼性を確保できるメリットは大きい。
(実施の形態2)
次に、本発明の実施の形態2のディスクアレイ装置について説明する。実施の形態2でのバックアップ方式では、複数のHDD30が提供する全体の記憶領域において、ある記憶ボリューム例えばLUとペアになる他の記憶ボリューム例えばLUとで第1のデータとバックアップデータとを交差(クロス)するように格納する処理(以下、交差処理と称する)を行う。言い換えれば、前記ペアで、データ領域とバックアップ領域とを交差するように配置する処理を行う。前記ペアになる記憶ボリュームとして、互いに格納データの性質の異なるもの、特にサイズが異なるものでペアにする。ハードウェア構成等は実施の形態1と同様である。
次に、本発明の実施の形態2のディスクアレイ装置について説明する。実施の形態2でのバックアップ方式では、複数のHDD30が提供する全体の記憶領域において、ある記憶ボリューム例えばLUとペアになる他の記憶ボリューム例えばLUとで第1のデータとバックアップデータとを交差(クロス)するように格納する処理(以下、交差処理と称する)を行う。言い換えれば、前記ペアで、データ領域とバックアップ領域とを交差するように配置する処理を行う。前記ペアになる記憶ボリュームとして、互いに格納データの性質の異なるもの、特にサイズが異なるものでペアにする。ハードウェア構成等は実施の形態1と同様である。
図13は、実施の形態2でのバックアップ方式の概要について示す説明図である。例として、HDD#0〜#9の10台のHDD30が提供する全体の記憶領域が有る。HDD#0〜#4の記憶領域で、データ領域に一方の記憶ボリュームであるLU0が設定されている。またHDD#5〜#9の記憶領域で、データ領域に他方の記憶ボリュームであるLU1が設定されている。LU0は、情報処理装置300のOSやアプリケーションを構成するデータ等のシステムデータを格納するための領域である。LU1は、情報処理装置300からのユーザデータ等の一般データを格納するための領域である。
コントローラ10は、上記格納データの性質が異なるLU0とLU1を、前記ペアとなるLUとして設定する。そして、コントローラ10は、LU0の格納データ例えばデータA〜D及びPについて、そのバックアップデータを、ペアであるLU1のHDDグループの未使用領域に格納し、また、LU1の格納データ例えばデータE〜H及びP’について、そのバックアップデータを、ペアであるLU0のHDDグループの未使用領域に格納する。このように、コントローラ10は、ペアとなる記憶ボリューム及びHDD30において、第1のデータとそのバックアップデータを互いの記憶ボリューム及びHDD30へと交差するような配置で格納する制御を行う。
HDD30上に確保される記憶領域として、例えばOS及びアプリケーション用のLU0と汎用データ格納用のLU1を比較すると、前記LU0では装置使用開始当初から使用される容量が大きいが、前記LU1ではデータ蓄積に従って徐々に使用されてゆく性質である。そのため、HDD30における全体の記憶領域における第1のデータでの使用率が50%以上となっても、ペアとなるLUの第1のデータでの使用率が低ければ、バックアップデータの保持を維持することが可能である。
図14は、交差処理を行う場合の設定画面の例を示す。ディスクアレイ装置100を利用・管理するためのプログラムを備えた管理装置等の装置上で本処理を行うための設定処理を行う。例えば、ディスクアレイ装置100に対し管理サーバとして接続される情報処理装置300上の管理プログラムで、ディスクアレイ装置100との通信によりWebページ等のユーザインタフェースで設定画面を表示し、管理者により設定入力を行う。設定情報はディスクアレイ装置100に送信されてメモリ上に保持され、コントローラ10は設定に従って動作を行う。
設定画面例において、RAID5の方式に対応したRAIDグループ0、RAIDグループ1が設定されている状態を示す。また、バックアップモードに関するアイコンの選択により、前記第1のバックアップモード(モードA)が選択されている。また、RAIDグループ0上にLU0が、RAIDグループ1上にLU1がそれぞれ設定されている。RAIDグループ0について、設定LUすなわち本バックアップ方式の処理を行う対象であり、第1のデータを格納するLUとして、LU0が設定されている。またバックアップLUすなわち前記設定LUのデータについてのバックアップデータを格納するペアとなるLUとしてLU1が設定されている。また同様に、RAIDグループ1について、設定LUとしてLU1が、バックアップLUとしてLU0が、それぞれ設定されている。このようにLU0とLU1をペアにする設定を行うことで前記第1のデータとバックアップデータとをペアのLUの空き領域へと交差して格納する処理が実現される。また、設定画面中に示すように、残量警告として、RAIDグループに対応したHDD30の記憶領域におけるデータ格納に使用可能な残量(%)などを表示して管理者やユーザに対し示すようにしてもよい。残量の把握は、例えば前記領域管理により行われる。前記領域管理テーブルを参照することで簡単な計算により残量などを求めることができる。残量警告表示により、管理者やユーザに対して、磁気テープ装置等の他のバックアップ手段を利用したデータのバックアップを薦めること等を伝える。
図15は、交差処理のための設定手順、特に前記バックアップLUの設定手順を示すフロー図である。
コントローラ10は、あるLU例えば前記LU0について、交差対象となるLUは存在するかどうかを、HDD30の全体の記憶領域におけるデータ使用容量の把握や調査などに基づき判断する(S501)。前記判断で、交差対象となるLUが存在しない場合は(NO)、管理装置から、別のRAIDグループを作成・設定してその上に交差対象となるLUを割り当てる(S502)。
次に、管理装置から、第1のデータを格納する設定LU自身のLUN(論理ユニット番号)と、そのペアとなるバックアップデータ格納対象となるバックアップLUのLUNとを設定する(S503)。例えばそれぞれ「0」、「1」と設定される。また、管理装置から、HDD30における空き領域の残量がどの程度になったら前記残量警告を行うか、すなわち磁気テープ装置等へのバックアップ処理実行契機などについて設定する(S504)。すべてのLUについて設定を繰り返したら(S505)、設定を終了する。
実施の形態2でのバックアップ方式では、前記ペアとなるLUの選択によって効率的にバックアップを保持することが可能である。
<HDDアクセスの負荷分散>
RAID4,5に対して実施の形態1や実施の形態2のバックアップ方式を適用した場合、特定のHDD30に対してアクセスが集中することを避けることができる。HDDに対するアクセス集中のタイプとして、第1に、1台のHDDを対象として、ストライプサイズ以下のデータとなる場合がある。また、第2に、2台以上のHDDを対象として、隣接する2台以上のHDDに跨るデータとなる場合がある。アクセス集中に対する負荷分散に関して、前記いずれのタイプでも、従来方式では特に対応できない。
RAID4,5に対して実施の形態1や実施の形態2のバックアップ方式を適用した場合、特定のHDD30に対してアクセスが集中することを避けることができる。HDDに対するアクセス集中のタイプとして、第1に、1台のHDDを対象として、ストライプサイズ以下のデータとなる場合がある。また、第2に、2台以上のHDDを対象として、隣接する2台以上のHDDに跨るデータとなる場合がある。アクセス集中に対する負荷分散に関して、前記いずれのタイプでも、従来方式では特に対応できない。
前記第1のタイプについて、例えばRAID4やRAID5に対応したRAIDグループを構成するHDD#0〜#4において、データA〜Eからなる第1のデータがデータ領域に格納されつつ、自動バックアップ処理で前記第1のデータのバックアップデータB〜E及びAがバックアップ領域に格納されている状態とする。各データとバックアップデータは異なるHDD30の対応位置に格納される。従って、例えばHDD#2のデータCに対してアクセスする際に、HDD#1のバックアップデータCと交互にアクセスする等の方式(交互アクセス方式)によるHDDアクセスの負荷分散により、特定のHDD#2へのアクセス集中を避けて、HDD30のシーク(データ読み出し)の待ち時間を軽減することが可能となる。本負荷分散は、主にリードデータに対して有効である。
前記第2のタイプについて、例えば前記HDD#0〜#4のRAIDグループにおいて、同じデータ格納状態とする。例えば、隣接する2台のHDD#2,#3に跨るデータC,Dに対するデータアクセスを考えると、単純な前記交互アクセス方式により、データCについて、HDD#1と#2での負荷分散により待ち時間を軽減可能であるが、HDD#2に対してデータC(ユーザデータ)とデータD(バックアップデータ)の双方に対してアクセスがある分、全体(HDD#1〜#3)での負荷分散効果が得られない。このタイプにおける負荷分散効果を高めるために、上記例での交互アクセスに関して、HDD#1(バックアップデータC)とHDD#3(ユーザデータD)へのアクセス頻度をHDD#2(ユーザデータCとバックアップデータD)へのアクセス頻度よりも高めに設定することで、全体(HDD#1〜#3)でのより効率的な負荷分散が実現される。
上記のように、コントローラ10から複数のHDD30に対するデータアクセスにおいて、第1のデータとそのバックアップデータを対象として交互にアクセスする等の工夫を行うことで、前記アクセス集中のタイプに対応して負荷分散効果を得ることができる。実施の形態2での、ペアのLUで第1のデータとバックアップデータの配置を交差する方式では、ディスクにデータの重複部分が無いので、より効率的な負荷分散が可能である。交差無しの場合は、特に前記第1のタイプに対して大きな効果がある。交差有りの場合は、前記第1,第2のタイプのいずれに対しても大きな効果がある。
(実施の形態3)
次に、本発明の実施の形態3のディスクアレイ装置について説明する。実施の形態3でのバックアップ方式では、複数のHDD30が提供する全体の記憶領域において、重要度に応じた重要データを格納する領域(重要データ領域と称する)を設け、HDD30に格納される第1のデータをその重要度に応じて前記重要度に応じた領域に配置する。そして、前記第1のデータのうち特にその重要データ領域に格納されるデータについて自動的に実施の形態1等と同様のバックアップを行う。コントローラ10は、例えば重要データ領域のみを対象にバックアップを行う。ハードウェア構成等は実施の形態1と同様である。
次に、本発明の実施の形態3のディスクアレイ装置について説明する。実施の形態3でのバックアップ方式では、複数のHDD30が提供する全体の記憶領域において、重要度に応じた重要データを格納する領域(重要データ領域と称する)を設け、HDD30に格納される第1のデータをその重要度に応じて前記重要度に応じた領域に配置する。そして、前記第1のデータのうち特にその重要データ領域に格納されるデータについて自動的に実施の形態1等と同様のバックアップを行う。コントローラ10は、例えば重要データ領域のみを対象にバックアップを行う。ハードウェア構成等は実施の形態1と同様である。
データに対するランダムアクセスの単位がLBAであるブロックアクセスが行われるメインフレーム系などのシステムに対し、パス/ファイル名を単位でアクセス(ファイルアクセス)が行われるNAS(Network Attached Storage)等のシステムでは、ディスクアレイ装置の記憶領域におけるデータの内部的な配置及びデータライト位置に対する自由度が大きい。このことから、以下のように、前記実施の形態1等でのバックアップ方式によるバックアップ処理を、恒久的に及び自動的にシステムの一部として運用することが可能である。実施の形態3では、その例について示す。
図16は、実施の形態3でのバックアップ方式の概要について示す説明図である。例としてRAID5に対応したRAIDグループを構成するHDD#0〜#4の5台のHDD30からなる全体の記憶領域が有る。全体の記憶領域内において、データ領域とバックアップ領域を設ける。データ領域は、前記ユーザデータ等の第1のデータの格納用の領域である。バックアップ領域は、前記バックアップデータ格納用の領域である。本実施の形態では更にデータ領域内において、システム内部的に確保される重要データ領域を設け、当該領域に、第1のデータうちより重要であると判断されるデータを格納する。コントローラ10側からのライトにより、データ領域中例えば先頭に一般データa〜d及びpが格納される。空き領域は、第1のデータの格納についての未使用領域である。
例として、NASに対応した、かつRAID5方式の制御を行うディスクアレイ装置100(NASシステム)において、HDD30のシステム容量すなわち全記憶領域のうち一部例えば10%を、本バックアップ方式を使用してバックアップデータを格納するためのバックアップ領域として確保しておく。この設定サイズは必要に応じて可変である。また、前記バックアップ領域に対応するデータ領域中の重要データ領域をシステム内部的に設定しておく。コントローラ10は、重要データ領域に、データ領域への格納データのうちでより重要であると推測されるデータを配置する制御を行う。これにより、当該重要データの消失保護を行う。
コントローラ10は、HDD30の格納データのうち重要データを重要データ領域に配置し、重要データ領域の格納データを、バックアップ領域へ自動的にバックアップする。その後、重要データ領域の格納データを必要に応じて一般データ領域へ移動する。例えば、重要データ領域のデータA〜D及びPからなるデータについて、バックアップ領域へ、格納先HDDをスライドしてバックアップデータA〜D及びPを格納する。重要データ領域に配置されるのは、例えば以下のようなデータである。
(1):ライト後に一定期間の間リードされていないデータを重要データ領域に保持する。コントローラ10は、HDD30の記憶領域に対するすべてのライトデータを、原則として一旦この重要データ領域に配置する。ただし、対象データのサイズが極端に小さい場合等は、対象データを直接にデータ領域における一般データ領域にライトする方がよい。すなわちデータ損失の重大性リスクが小さい。コントローラ10は、重要データ領域にデータを一旦格納した後、次の契機で、格納データをデータ領域における一般データ用の領域へ移動する。第1に、重要データ領域にライト後、一定時間以上、上位からのアクセスが無い時に、当該データを移動する。第2に、重要データ領域にライト後、当該データのリードがなされる時に、移動する。前記第2の契機の場合、コントローラ10は、一旦ライト後のリードと、磁気テープ装置等へのデータのバックアップが実施される場合等であると推定する。この場合、重要データ領域にライト後、当該データのリードの際に重要データ領域から当該データをリードした後、一般データ領域に移動すると共に、当該データで使用していたバックアップ領域を開放する。
(2):リード時のアクセス回数が多いデータを重要データ領域に保持する。コントローラ10は、HDD30の記憶領域に対するライトデータで、リードアクセス回数や頻度等が多いデータを重要データ領域に配置する。この場合の配置に関する判定基準は、指定アクセス回数以上、指定アクセス頻度以上、またそれらの上位からの順位等である。このような性質のデータやファイルとして、例えばデータベースファイル(テーブル)や、Webページを構成するWebファイル等がある。また、この処理の対象データについて、以下のような規則を適用した方がよい。適用規則として、前記アクセス回数の判断において、同一データやファイルを更新した場合でもカウント数が一定期間引き継がれるようにする。また、その後、一定期間以上アクセスが無い場合は、カウント数をクリアして一般データ領域へ移動するようにする。
本実施の形態3でのバックアップ方式により、重要データ領域のデータについてはHDD30が2台まで障害となっても(RAID5の場合)、データ消失しないのみならず、ボリューム方式(後述のバックアップ手段)でバックアップされたデータからのリストアに対しても、重要データ領域に対しては継続してリードアクセスが可能、すなわちリストア中でもバックアップ領域をリードアクセス可能で、かつ最新のデータを自動的に復元できるメリットがある。
図17は、実施の形態3でのバックアップ方式に対応した処理フローを示す。管理装置などからバックアップ領域の容量を設定する(S601)。管理者は、バックアップ領域を例えば全体の10%に設定する。設定済み状況において、情報処理装置300からディスクアレイ装置100に対してデータライトが発生する(S602)。例えば、第1のデータとしてデータBをライトするためのコマンド及びライトデータが発行され、コントローラ10で、受領コマンド及びライトデータに応じて、データBがデータ領域の重要データ領域にライトされる。
データコントローラ14は、重要データ領域のデータ(データB)を、バックアップ領域にバックアップする(S603)。すなわち他HDD30のバックアップ領域にバックアップデータ(データB)が格納される。データコントローラ14は、各データについてのバックアップ時間Aを計算により認識する(S604)。データコントローラ14は、データ(データB)についてのバックアップ時間Aが一定時間を超えるかを判断する(S605)。前記判断で、超える場合は(YES)、S608へ移る。前記判断で、超えない場合(NO)は、続いて、情報処理装置300からの前記バックアップデータ(データB)に対するリード(リード要求)が有るかを判断する(S606)。前記判断で、リードが無い場合(NO)、ステップS616へ移る。前記判断で、リードが有る場合(YES)は、続いて、データ(データB)についてのリード数Cが指定数を超えるかを判断する(S607)。データコントローラ14では、データリードに伴いそのリード数Cをカウントしている。前記判断で、指定数を超える場合(YES)、S612へ移る。前記判断で、指定数を超えない場合(NO)、続いて、データコントローラ14は、データ領域の一般データ領域に、重要データ領域のデータ(データB)を移動する(S608)。それと共に当該データで使用していたバックアップ領域を開放する。そして、リード要求に対応して、情報処理装置300からデータ領域のデータBがリードされる(S609)。データコントローラ14は、リードに伴いデータ(データB)についてのリード数Cをカウントアップする(S610)。データコントローラ14は、リード数Cのカウントアップしたデータの時間Dを計算する(S611)。そして、前記時間Dが一定時間を超えるかを判断する(S612)。前記判断で、一定時間を超える場合(YES)、データコントローラ14は、リード数C及び時間Dのカウンタをリセットする(S613)。続いて、リード数Cが指定数を超えるかを判断し(S614)、指定数を超える場合(YES)、データコントローラ14は、重要データ領域にデータを移動し、それに伴い、バックアップ領域にデータ(データB)をバックアップする(S615)。
その後、処理終了かどうか判断して(S616)、情報処理装置300からの要求が無い場合などには、終了する。処理終了でない場合すなわち情報処理装置300からの要求が有る場合などには、要求がリード要求かどうかを判断し(S617)、ライト要求の場合(NO)、S602のデータライト処理に戻る。リード要求の場合(YES)、データ領域のデータが対象かを判断し(S618)、データ領域が対象の場合(YES)、S607へ戻る。データ領域のデータが対象でない場合(NO)、S606へ戻る。
図18(a)〜(d)は、実施の形態3に対応して、HDD二重障害すなわちHDD2台故障等が発生した場合のデータ回復手順及び内部処理の概念を示す。
(a)は、HDD二重障害が発生した状態を示す。例えばHDD#0〜#4の5台のHDD30のRAIDグループにおける記憶領域で、データ領域の一般データ領域に、データa〜d及びpからなる一般データが格納されており、重要データ領域に、データA〜D及びPからなる重要データが格納されている。そして、バックアップ領域に、前記重要データのバックアップデータA〜D及びPが格納されている。この状態から、例えばHDD#2,#3で障害が発生し、データの読み出しがエラーの状態とする。データ領域で、一般データ領域の一般データc,dがエラー、及び重要データ領域のデータC,Dがエラーであり、バックアップ領域でデータD,Pがエラーである。
本状態で、一般データ領域のデータは、アクセス不可すなわちデータ損失となる。重要データ領域のデータは、重要データ領域のデータA,重要データ領域のデータB,バックアップ領域のデータC,重要データ領域のデータPから計算したデータDにより、アクセス可能となる。このフェイズでは、装置状態(データアクセス属性)は、一般データ領域では「アクセス不可」であり、重要データ領域では「リードオンリー」である。
(b)は、障害HDDを交換後、重要データ領域のデータを復元する状態を示す。復元処理は、オペレータ介入による処理またはシステム内部の自動処理である。前記障害状態のHDD#2,#3が管理者により別のHDD30に交換される。交換後HDD#2,#3で、重要データ領域に、データC,Dが復元される。またバックアップ領域に、データD,Pが復元される。
本状態で、一般データ領域のデータは、復元不能であるので、初期化すなわちデータクリア及びパリティ整合処理などする。重要データ領域のデータは、重要データ領域のデータA,重要データ領域のデータB,バックアップ領域のデータC,重要データ領域のデータPからのデータDの計算により、欠損データが復元される。このフェイズでは、装置状態は前記(a)と同様である。
(c)は、以前のバックアップデータから該当ボリュームを旧データに復元する状態を示す。復元処理は、例えば情報処理装置300からのコマンド実行による。HDD30の格納データに関する他のバックアップ手段により、以前のバックアップデータすなわち旧データが記録されているものとする。バックアップ手段としては磁気テープ装置へのバックアップ処理などがある。従来、ディスクアレイ装置にネットワーク等を介して接続される磁気テープ装置に対してHDD30のデータをバックアップする処理が行われている。
本状態で、ディスクアレイ装置100は、例えば磁気テープ装置等のバックアップ装置に記録されているバックアップデータをもとに、前記障害に対応した記憶ボリュームの旧データを復元する。例として、一般データ領域に、データa’〜d’及びp’からなるデータが格納される。重要データ領域に、データA’〜D’及びP’からなるデータが格納される。バックアップ領域に、データA〜D及びPからなるデータが格納されている。バックアップ装置に、データ領域のバックアップデータ(旧データ)例えば前記データa〜d及びp等が格納されている。情報処理装置300からのコマンドの実行により、バックアップ装置から前記旧データをHDD30のデータ領域上にコピーして復元する。これにより、一般データ領域及び重要データ領域のデータが、旧データにより上書きされる。ただし、この際、重要データ領域のデータについては、バックアップ領域に対するデータ応答によりアクセス可能である。このフェイズでは、装置状態は「復元処理中」であり、一般データ領域では「アクセス不可」であり、重要データ領域では「リードオンリー」である。
(d)は、重要データ領域のデータをバックアップ領域の最新データで復元する状態を示す。復元は、オペレータ介入が必要である。コントローラ10は、バックアップ領域の最新のバックアップデータA〜D及びPを、重要データ領域へ上書きする。なおバックアップの際と対応した位置取りでライトする。これにより、重要データ領域のデータを最新のデータへと復元する。一般データ領域のデータは旧データである。また、逆に、重要データ領域に格納されている旧データをバックアップ領域に上書きすることでバックアップ領域の最新のバックアップデータを旧データに戻すことも可能である。このフェイズでは、装置状態は、一般データ領域及び重要データ領域で「リード/ライト可能」である。
図19は、図18に対応して、RAIDグループで2台のHDD30例えばHDD#2,#3で障害が発生した場合の処理手順を示すフロー図である。ディスクアレイ装置100で、HDD#2,#3が故障する(S701)。管理者は、HDD#2,#3を別のHDD30に交換する(S702)。データコントローラ14は、HDD#1からバックアップ領域のバックアップデータであるデータCを交換後HDD#2の重要データ領域にコピーする(S703)。また、データコントローラ14は、HDD#4から重要データ領域のパリティデータであるデータPを交換後HDD#3のバックアップ領域にコピーする(S704)。
データコントローラ14は、HDD#0,#1からのデータA,Bと、前記HDD#1からのデータCと、前記HDD#4からのデータPとから、データDを計算する(S705)。データコントローラ14は、前記計算で求めたデータDを、交換後HDD#2のバックアップ領域及びHDD#3のデータ領域にそれぞれコピーする(S706)。データコントローラ14は、前記バックアップ装置からデータ領域についての旧データをリードして旧データによりデータ領域を上書きする(S707)。そして、コントローラ10は、重要データのみ最新データを使用するかどうかを判断する(S708)。最新データを使用する場合は(YES)、データコントローラ14は、バックアップ領域のデータで重要データ領域のデータを上書きし(S710)、最新データを使用しない場合は(NO)、データコントローラ14は、重要データ領域のデータでバックアップ領域のデータを上書きして(S709)、終了する。
(実施の形態4)
次に、本発明の実施の形態4のディスクアレイ装置について説明する。実施の形態4でのバックアップ方式では、実施の形態3の方式を踏まえて更に、上位の情報処理装置300等からディスクアレイ装置100に対してHDD30に対する格納データの属性を指定することで、指定属性のデータについて前記バックアップ処理を含む各種処理を自動的に行わせる。
次に、本発明の実施の形態4のディスクアレイ装置について説明する。実施の形態4でのバックアップ方式では、実施の形態3の方式を踏まえて更に、上位の情報処理装置300等からディスクアレイ装置100に対してHDD30に対する格納データの属性を指定することで、指定属性のデータについて前記バックアップ処理を含む各種処理を自動的に行わせる。
実施の形態4のディスクアレイ装置100は、ホストコンピュータ等の情報処理装置300からパス/ファイル名を指定でアクセスされるNAS等に対応したネットワークストレージ装置(NAS装置)である。ディスクアレイ装置100側でフォルダ名やファイル拡張子等の属性を登録することにより、指定属性のファイルに対する自動圧縮等の様々な処理を自動的に行い、ストレージ容量を効率的に使用及びデータ信頼性を高めた形態である。このような形態の装置であれば、属性テーブルの利用により、前記実施の形態3の例よりも、さらなる積極的な重要データの明確な指定が可能である。
図20は、実施の形態4のディスクアレイ装置100(NAS装置)の機能ブロック構成を示す。全体のコンピュータシステムは、NASに対応したSANやLAN等のネットワークに、ホストとなる情報処理装置300と、ディスクアレイ装置100(NAS装置)が接続される構成である。ディスクアレイ装置100は、前記ネットワークに対してFCやEthernet(登録商標)に対応したインタフェースで接続される。情報処理装置300からディスクアレイ装置100に対してネットワークを介してNASに対応したファイルアクセスが行われる。前記ファイルアクセスではパス/ファイル名の指定が含まれる。
ディスクアレイ装置100のハードウェア構成は、NASに対応した構成である。コントローラ10で、NASとしてのサービスの提供と、本バックアップ方式での処理とを実現するためのソフトウェア的な処理を行う。NASとしての構成及び機能自体は従来技術である。
コントローラ10は、前記属性の登録処理と、情報処理装置300等からのデータアクセスに対応してその対象データの属性を判断して、属性に対応した自動処理を行う。コントローラ10は、属性登録のための情報である属性テーブル80をメモリ上に保持する。
属性テーブル80は、属性登録情報として、重要データ指定情報81を含む。また、圧縮/伸張指定情報82、世代管理データ指定情報83、ウィルスチェック指定情報84など、各種処理のための指定情報を含む。属性テーブル80は、装置通常動作時にコントローラ10内のメモリ上に保持される。また、属性テーブル80は、例えば、所定契機でHDD30側のシステム領域にセーブ/バックアップされ、また所定契機でHDD30側のシステム領域からメモリ上にロードされる。
属性テーブル80には、処理対象となるファイルやデータの属性が記述される。記述される属性の例としては、フォルダ名/ファイルあるいはその一部例えば“CMP*”のファイルはすべて等の指定、ファイル拡張子、作成ユーザ(ユーザ/ホスト識別情報、IPアドレス等)、リードオンリー等のパーミッション情報、アクセス頻度やアクセス回数(前記実施の形態3に対応)などが有る。
HDD30の記憶領域に、前記データ領域、バックアップ領域を有する。データ領域中に重要データ領域を有する。また、世代管理用に旧データ退避領域を有する。
重要データ指定情報81は、前記実施の形態3で示した重要データのバックアップ処理に対応して、HDD30のデータ領域中の重要データ領域に格納する対象となる重要データを指定するための設定である。本指定に該当するファイルやデータは、コントローラ10により重要データ領域に対して格納・配置され、重要データ領域からバックアップ領域に対して所定契機で自動的にデータがバックアップされる制御が行われる。
圧縮/伸張指定情報82は、HDD30への格納対象データを、自動的に圧縮/伸張する処理のための設定である。本指定に該当するファイルやデータは、ディスクライトの際に、ディスクアレイ装置100内に有する自動圧縮/伸張手段例えばコントローラ10内に持つ圧縮/伸張プログラムや圧縮/伸張回路等により、自動的に圧縮されてHDD30の記憶領域に書き込まれる。またディスクリードの際は、HDD30の記憶領域からのリードデータが、前記圧縮/伸張手段により自動的に伸張されて上位に渡される。
世代管理データ指定情報83は、データについて世代や版により管理する世代管理処理(従来技術)を指定するための設定である。本指定に該当するファイルやデータは、コントローラ10により、データ領域でデータが旧データ退避領域に退避されて各世代のデータが保存される制御が行われる。ウィルスチェック指定情報84は、コントローラ10で行う自動ウィルスチェック処理を指定するための設定である。
上記各種処理は組み合わせて使用可能である。例えば、全データについて自動ウィルスチェック処理を施しつつ、重要データ指定情報81と圧縮/伸張指定情報82での指定により、重要データとしてのバックアップ処理と自動圧縮/伸張処理を施すことができる。
図21は、実施の形態4における、重要データ選択画面の例を示す。ディスクアレイ装置100に接続される管理装置などで前記処理の設定のための管理プログラムを動作させて、ユーザや管理者等による設定を行う。本設定のためのハードウェア及びソフトウェア構成は、前記実施の形態に示した構成と同様である。管理者等の設定者は、重要データ指定情報81の設定に関し、管理装置上で、左側に示すテーブル選択画面を表示する。テーブル選択画面で、属性テーブル名称とその設定状況の一覧が表示される。例えば、属性テーブル名称「TBL03」に対応して処理名称「バックアップ01」の処理特に内部自動処理が設定されている。設定者は、一覧から設定対象の属性テーブルを選択して詳細ボタンを押すと、テーブル設定画面が表示される。設定者は、テーブル設定画面で、対象となる重要データの属性を設定入力する。例えば、「バックアップ01」の処理対象となるファイルの設定において、設定項目として、フォルダ名、ファイル名、拡張子、作成ユーザ、アクセス回数/期間、リードオンリー設定などが有り、設定者は項目を選択して設定を行う。設定例として、ファイル名“CMP*”の指定と、当該ファイルに対する自動圧縮/伸張処理のオンが設定されている。この設定によりファイル名“CMP*”(「*」は任意値を表わす)となるファイルが重要データとして指定され、ディスクアレイ装置100での自動バックアップ処理と圧縮/伸張処理の対象となる。前記アクセス回数/期間の設定は、この設定回数や期間に該当するデータが処理対象となる。また前記リードオンリーの設定は、データアクセスのパーミッションがリードオンリーの場合に自動で処理対象となる。リスト表示ボタンを選択すると、その属性テーブルの設定で該当するファイルやデータについての情報の一覧が表示される。設定者は、画面で設定入力を行ってから追加ボタンを押して登録を行う。
図22は、重要データ指定情報81についての設定手順の例を示す。管理者は、管理装置上で、管理プログラムの処理により前記テーブル選択画面を表示する(S801)。管理者は、テーブル選択画面で、重要データ指定のための属性テーブルの名称を入力して属性テーブルを作成する(S802)。そして、作成した属性テーブルの詳細ボタンを選択し、テーブル設定画面を表示する(S803)。例えば属性テーブル「TBL03」を「バックアップ01」の処理に対応して作成する。管理者は、テーブル設定画面で、処理対象としたい重要データの属性を選択・入力する(S804)。例えばファイル名の項目を選択してファイル名を入力する。そして、管理者は、当該指定の属性のデータについて他に適用する処理を選択する。例えば自動圧縮/伸張処理の項目をオンにする(S805)。管理者は必要な設定を入力したら追加ボタンを実行する(S806)。これにより、当該属性テーブル80の設定が有効になる。コントローラ10は、設定された属性テーブル80の設定情報をメモリ上に格納して保持する(S807)。
前記重要データ指定に限らず、本バックアップ方式に係わる各種の設定を管理装置等における設定処理を通じて行う。各種処理についての設定に対応した属性テーブル80を作成してコントローラ10で保持する。コントローラ10は、HDD30に対するデータアクセスの際に属性テーブル80を参照し、アクセス対象データが指定処理対象かどうかを判断して、指定属性に該当するデータの場合は当該データに対して自動バックアップ処理等の指定処理を実行する。
実施の形態4では、ユーザすなわち情報処理装置300側が指定した特定のデータを重要データとして、前記自動バックアップ処理等を含む各種処理をディスクアレイ装置100側で行わせることができ、データ信頼性の確保に関して更に自由度が高い。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
本発明は、記憶装置のグループに対してデータを記憶するコンピュータシステムに利用可能である。
10…コントローラ、11…CPU、12…メモリ、13…チャネル制御部、14…データコントローラ、15…キャッシュメモリ、16…ディスク制御部、30…HDD、56…電源コントローラボード、59…コントローラボード、80…属性テーブル、81…重要データ指定情報、82…圧縮/伸張指定情報、83…世代管理データ指定情報、84…ウィルスチェック指定情報、91,92…通信ケーブル、100…ディスクアレイ装置、111…ラックフレーム、112…マウントフレーム、120…基本筐体、130…増設筐体、300…情報処理装置。
Claims (15)
- 上位の情報処理装置と接続され、
記憶装置と、前記記憶装置の記憶領域に対するデータの記憶を制御するコントローラとを有するディスクアレイ装置であって、
前記コントローラは、
前記上位の情報処理装置から送信される第1のデータを、複数の記憶装置からなる全体の記憶領域のうち、1台以上の記憶装置上の一部領域である第1の記憶領域に格納し、
前記第1のデータのバックアップデータを、前記第1のデータの格納先とは別の記憶装置となるように、1台以上の記憶装置上の一部領域である第2の記憶領域に格納し、
前記全体の記憶領域で、前記上位の情報処理装置から新たに送信されるデータを格納するための空き領域が所定の値より少なくなった場合に、前記バックアップデータを格納している記憶領域を、前記新たに送信されるデータを格納する領域とすることを特徴とするディスクアレイ装置。 - 請求項1記載のディスクアレイ装置において、
前記コントローラは、
RAID制御として前記第1のデータの分割及びパリティ処理を行い、
前記第1のデータについて、前記RAID制御で作成された分割データを、前記全体の記憶領域のうち、2台以上の記憶装置上の一部領域である第1の記憶領域に格納し、
前記分割データのバックアップデータを、前記分割データの格納先と別の記憶装置となるように、2台以上の記憶装置上の一部領域である第2の記憶領域に格納することを特徴とするディスクアレイ装置。 - 請求項1記載のディスクアレイ装置において、
前記コントローラは、前記記憶装置から前記第1のデータをリードする際、前記第1の記憶領域や第2の記憶領域から、前記第1のデータと前記バックアップデータとの少なくともいずれか一方を利用してリードして正常データを取得することを特徴とするディスクアレイ装置。 - 請求項1記載のディスクアレイ装置において、
前記コントローラは、前記全体の記憶領域において、前記第1のデータに対して前記バックアップデータを、隣接した記憶装置へスライドした位置取りで格納することを特徴とするディスクアレイ装置。 - 請求項1記載のディスクアレイ装置において、
前記コントローラは、前記全体の記憶領域で、前記第1のデータの格納用のデータ領域と、前記バックアップデータの格納用のバックアップ領域とを設け、前記バックアップ領域を使い切るまでは前記バックアップデータの格納を続け、前記データ領域を使い切った場合は前記バックアップ領域を前記第1のデータの格納のために使い始めることを特徴とするディスクアレイ装置。 - 請求項1記載のディスクアレイ装置において、
前記コントローラは、
前記第1のデータとバックアップデータの格納のために、前記全体の記憶領域を、所定サイズの領域単位に分割して、その分割領域のアドレスと前記記憶装置におけるアドレス体系との変換による対応付け情報と、前記分割領域の格納データの種別を示す情報とをメモリ上に保持し、
前記全体の記憶領域に対して前記第1のデータやバックアップデータを格納する際、連続的な空き領域を確保するように、本来の格納先アドレスと前記分割領域のアドレスとの変換を行って、前記分割領域を単位として順に格納する処理を行うことを特徴とするディスクアレイ装置。 - 請求項1記載のディスクアレイ装置において、
前記コントローラは、前記複数の記憶装置で前記第1のデータ又はバックアップデータを格納した記憶装置あるいは記憶領域における障害の場合、これに対応する別の記憶装置あるいは記憶領域におけるバックアップデータ又は第1のデータをリードして障害データの回復を行うことを特徴とするディスクアレイ装置。 - 請求項1記載のディスクアレイ装置において、
前記コントローラは、第1のバックアップモードとして、
前記全体の記憶領域のうち、先頭領域から最終領域に向かって順に前記第1のデータを格納し、最終領域から先頭領域に向かって順に前記バックアップデータを格納してゆく制御を行い、前記バックアップデータを格納した領域の新しい方から順に開放して使用することを特徴とするディスクアレイ装置。 - 請求項1記載のディスクアレイ装置において、
前記コントローラは、第2のバックアップモードとして、
前記全体の記憶領域のうち、先頭領域から最終領域に向かって順に前記第1のデータを格納し、途中領域から最終領域に向かって順に前記バックアップデータを格納してゆく制御を行い、前記バックアップデータを格納した領域の古い方から順に開放して使用することを特徴とするディスクアレイ装置。 - 請求項1記載のディスクアレイ装置において、
前記コントローラは、前記複数の記憶装置を対象に前記第1のデータを入出力する際に、特定の記憶装置にアクセスが集中しないように、前記第1のデータの格納先の記憶装置と前記バックアップデータの格納先の記憶装置とを対象としてアクセスの分散を行うことを特徴とするディスクアレイ装置。 - 上位の情報処理装置と接続され、
記憶装置と、前記記憶装置の記憶領域に対するデータの記憶を制御するコントローラとを有するディスクアレイ装置であって、
前記コントローラは、
前記記憶装置に格納する対象となる第1のデータについて、複数の記憶装置からなる全体の記憶領域のうち、1台以上の記憶装置上の一部領域である第1の記憶領域に格納し、前記第1のデータのバックアップデータを、前記第1のデータの格納先とは別の記憶装置となるように、1台以上の記憶装置上の一部領域である第2の記憶領域に格納する処理と、
前記第1のデータとして、大サイズのデータと小サイズのデータとでペアに設定し、前記大サイズのデータのバックアップデータを前記小サイズのデータを格納する記憶装置の空き領域へ格納し、前記小サイズのデータのバックアップデータを前記大サイズのデータを格納する記憶装置の空き領域へ格納する処理とを行うことを特徴とするディスクアレイ装置。 - 請求項11記載のディスクアレイ装置において、
前記コントローラは、OSやアプリケーションのデータを含むシステムデータと、一般データとを前記ペアとして設定して、前記システムデータのバックアップデータを前記一般データを格納する記憶装置の空き領域へ格納し、前記一般データのバックアップデータを前記システムデータを格納する記憶装置の空き領域へ格納する処理を行うことを特徴とするディスクアレイ装置。 - 上位の情報処理装置と接続され、
記憶装置と、前記記憶装置の記憶領域に対するデータの記憶を制御するコントローラとを有するディスクアレイ装置であって、
前記コントローラは、
複数の記憶装置からなる全体の記憶領域内で、格納データの重要度に対応した記憶領域を設け、
前記記憶装置に格納する対象となる第1のデータを、1台以上の記憶装置上の一部領域である第1の記憶領域に格納する処理と、
前記第1のデータについての重要度を判断して前記第1のデータの格納先となる記憶領域を選択し、前記重要度の変化に応じて前記第1のデータをその重要度に対応した記憶領域に移動する処理と、
高い重要度に対応した記憶領域に第1のデータが格納されるのに伴い自動的に、そのバックアップデータを、その格納先が別の記憶装置となるように、1台以上の記憶装置上の一部領域である第2の記憶領域に格納する処理とを行うことを特徴とするディスクアレイ装置。 - 上位の情報処理装置と接続され、
記憶装置と、前記記憶装置の記憶領域に対するデータの記憶を制御するコントローラとを有するディスクアレイ装置であって、
前記コントローラは、
複数の記憶装置からなる全体の記憶領域内で、格納データの重要度に対応した記憶領域を設け、
前記コントローラのメモリ上に、前記上位の情報処理装置からの設定に基づき、前記記憶装置に格納する対象となる第1のデータのうち、重要度の高いデータの属性の指定を設定したテーブルを保持する処理と、
前記上位の情報処理装置から送信される前記第1のデータについて、前記テーブルの参照によりその重要度を判断する処理と、
前記重要度に応じて前記第1のデータの格納先となる記憶領域を選択して格納する処理と、
高い重要度に対応した記憶領域に前記第1のデータが格納されるのに伴い自動的に、そのバックアップデータを、その格納先が別の記憶装置となるように、1台以上の記憶装置上の一部領域である第2の記憶領域に格納する処理とを行うことを特徴とするディスクアレイ装置。 - 請求項14記載のディスクアレイ装置において、
前記コントローラは、
前記コントローラのメモリ上に、前記上位の情報処理装置からの設定に基づき、前記第1のデータのうち、前記バックアップデータの格納の処理を含む特定の処理の対象となるデータについての属性と、前記属性のデータに対して実行する特定の処理との指定を設定したテーブルを保持する処理と、
前記第1のデータを前記記憶装置に格納する際、前記テーブルの参照によりそれが前記特定の処理の対象となるデータであるかを判断する処理と、
前記特定の処理の対象となるデータに対して前記バックアップデータの格納の処理を含む特定の処理を自動的に実行する処理とを行うことを特徴とするディスクアレイ装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004297471A JP2006113648A (ja) | 2004-10-12 | 2004-10-12 | ディスクアレイ装置 |
US11/000,072 US20060077724A1 (en) | 2004-10-12 | 2004-12-01 | Disk array system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004297471A JP2006113648A (ja) | 2004-10-12 | 2004-10-12 | ディスクアレイ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006113648A true JP2006113648A (ja) | 2006-04-27 |
Family
ID=36145068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004297471A Pending JP2006113648A (ja) | 2004-10-12 | 2004-10-12 | ディスクアレイ装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20060077724A1 (ja) |
JP (1) | JP2006113648A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008016175A (ja) * | 2006-06-29 | 2008-01-24 | Seagate Technology Llc | 方向性および浮動ライトバンドを有するコマンドキュー順序付け |
JP2008052512A (ja) * | 2006-08-24 | 2008-03-06 | Hitachi Ltd | 記憶制御装置及び記憶制御方法 |
JP2009037619A (ja) * | 2007-08-03 | 2009-02-19 | Samsung Electronics Co Ltd | メモリシステム及びその読み出し方法 |
JP2013073594A (ja) * | 2011-09-29 | 2013-04-22 | Fujitsu Ltd | ストレージ装置、制御装置およびストレージ装置制御方法 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7302537B2 (en) * | 2004-10-13 | 2007-11-27 | At&T Bls Intellectual Property, Inc. | Apparatus, systems and methods for backing-up information |
WO2006085357A1 (ja) * | 2005-02-08 | 2006-08-17 | Fujitsu Limited | ディスクアレイ装置の記憶制御装置および冗長性復旧方法 |
US8285757B2 (en) * | 2007-01-31 | 2012-10-09 | Agency For Science, Technology And Research | File system for a storage device, methods of allocating storage, searching data and optimising performance of a storage device file system |
JP2008310685A (ja) * | 2007-06-15 | 2008-12-25 | Hitachi Ltd | 冗長性を維持した性能最適化を行うストレージシステム |
KR100882841B1 (ko) * | 2007-06-19 | 2009-02-10 | 삼성전자주식회사 | 읽기 디스터번스로 인한 비트 에러를 검출할 수 있는메모리 시스템 및 그것의 읽기 방법 |
US9471418B2 (en) | 2007-06-19 | 2016-10-18 | Samsung Electronics Co., Ltd. | Memory system that detects bit errors due to read disturbance and methods thereof |
US8285928B2 (en) * | 2008-11-17 | 2012-10-09 | Hitachi, Ltd. | Storage control apparatus and storage control method for recovering data in a failed storage device of a RAID sysytem |
CN101866678A (zh) * | 2009-04-17 | 2010-10-20 | 常州南基天盛科技有限公司 | 闪存盘 |
US8112663B2 (en) * | 2010-03-26 | 2012-02-07 | Lsi Corporation | Method to establish redundancy and fault tolerance better than RAID level 6 without using parity |
US8181062B2 (en) * | 2010-03-26 | 2012-05-15 | Lsi Corporation | Method to establish high level of redundancy, fault tolerance and performance in a raid system without using parity and mirroring |
US8515915B2 (en) * | 2010-09-24 | 2013-08-20 | Hitachi Data Systems Corporation | System and method for enhancing availability of a distributed object storage system during a partial database outage |
WO2013105428A1 (ja) * | 2012-01-10 | 2013-07-18 | 京セラドキュメントソリューションズ株式会社 | 画像処理装置および画像形成装置 |
GB2502316A (en) * | 2012-05-24 | 2013-11-27 | Ibm | Blade enclosure with interfaces for computer blades and conventional computers |
US9003227B1 (en) * | 2012-06-29 | 2015-04-07 | Emc Corporation | Recovering file system blocks of file systems |
US20140244928A1 (en) * | 2013-02-28 | 2014-08-28 | Lsi Corporation | Method and system to provide data protection to raid 0/ or degraded redundant virtual disk |
US20140304469A1 (en) * | 2013-04-05 | 2014-10-09 | Hewlett-Packard Development Company, L. P. | Data storage |
JP6213130B2 (ja) * | 2013-10-09 | 2017-10-18 | 富士通株式会社 | ストレージ制御装置、ストレージ制御プログラム及びストレージ制御方法 |
JP2015082313A (ja) * | 2013-10-24 | 2015-04-27 | 富士通株式会社 | Raid構成管理装置、raid構成管理プログラムおよびraid構成管理方法 |
US9547448B2 (en) * | 2014-02-24 | 2017-01-17 | Netapp, Inc. | System and method for transposed storage in raid arrays |
US9755788B2 (en) * | 2014-05-30 | 2017-09-05 | Apple Inc. | Messages with attenuating retransmit importance |
US10572443B2 (en) * | 2015-02-11 | 2020-02-25 | Spectra Logic Corporation | Automated backup of network attached storage |
CN108733518B (zh) * | 2017-04-17 | 2021-07-09 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机可读介质 |
US11301316B2 (en) | 2019-07-12 | 2022-04-12 | Ebay Inc. | Corrective database connection management |
US11038952B2 (en) | 2019-07-12 | 2021-06-15 | Ebay Inc. | Connection service discovery and load rebalancing |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1441816A (en) * | 1973-07-18 | 1976-07-07 | Int Computers Ltd | Electronic digital data processing systems |
JP2845901B2 (ja) * | 1988-09-19 | 1999-01-13 | 株式会社日立製作所 | 超大容量情報記憶装置 |
US5276867A (en) * | 1989-12-19 | 1994-01-04 | Epoch Systems, Inc. | Digital data storage system with improved data migration |
US5339411A (en) * | 1990-12-21 | 1994-08-16 | Pitney Bowes Inc. | Method for managing allocation of memory space |
US5636356A (en) * | 1992-09-09 | 1997-06-03 | Hitachi, Ltd. | Disk array with original data stored in one disk drive and duplexed data distributed and stored in different disk drives |
US5513329A (en) * | 1993-07-15 | 1996-04-30 | Dell Usa, L.P. | Modular host local expansion upgrade |
US6076124A (en) * | 1995-10-10 | 2000-06-13 | The Foxboro Company | Distributed control system including a compact easily-extensible and serviceable field controller |
FI104222B (fi) * | 1996-10-03 | 1999-11-30 | Nokia Mobile Phones Ltd | Modulaarinen matkaviestinjärjestelmä |
US5960169A (en) * | 1997-02-27 | 1999-09-28 | International Business Machines Corporation | Transformational raid for hierarchical storage management system |
JPH1165969A (ja) * | 1997-08-19 | 1999-03-09 | Toshiba Corp | サーバ装置および通信接続方法並びに通信の接続を行うプログラムを記録した記録媒体 |
WO2003012614A1 (en) * | 1998-11-24 | 2003-02-13 | Cyberdfnz, Inc. | A multi-system architecture using general purpose active-backplane and expansion-bus compatible single board computers and their peripherals for secure exchange of information and advanced computing |
US20020013911A1 (en) * | 1998-11-24 | 2002-01-31 | Cordella Robert H. | Compact hardware architecture for secure exchange of information and advanced computing |
US6353870B1 (en) * | 1999-05-11 | 2002-03-05 | Socket Communications Inc. | Closed case removable expansion card having interconnect and adapter circuitry for both I/O and removable memory |
US6599147B1 (en) * | 1999-05-11 | 2003-07-29 | Socket Communications, Inc. | High-density removable expansion module having I/O and second-level-removable expansion memory |
US6425052B1 (en) * | 1999-10-28 | 2002-07-23 | Sun Microsystems, Inc. | Load balancing configuration for storage arrays employing mirroring and striping |
JP2001331360A (ja) * | 2000-05-24 | 2001-11-30 | Nec Corp | ファイルアクセス処理装置 |
-
2004
- 2004-10-12 JP JP2004297471A patent/JP2006113648A/ja active Pending
- 2004-12-01 US US11/000,072 patent/US20060077724A1/en not_active Abandoned
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008016175A (ja) * | 2006-06-29 | 2008-01-24 | Seagate Technology Llc | 方向性および浮動ライトバンドを有するコマンドキュー順序付け |
JP2008052512A (ja) * | 2006-08-24 | 2008-03-06 | Hitachi Ltd | 記憶制御装置及び記憶制御方法 |
JP2009037619A (ja) * | 2007-08-03 | 2009-02-19 | Samsung Electronics Co Ltd | メモリシステム及びその読み出し方法 |
JP2013073594A (ja) * | 2011-09-29 | 2013-04-22 | Fujitsu Ltd | ストレージ装置、制御装置およびストレージ装置制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20060077724A1 (en) | 2006-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006113648A (ja) | ディスクアレイ装置 | |
US7310702B2 (en) | Storage control system and control method for the same | |
US8595549B2 (en) | Information system and I/O processing method | |
JP4818812B2 (ja) | フラッシュメモリストレージシステム | |
US9400618B2 (en) | Real page migration in a storage system comprising a plurality of flash packages | |
US7558981B2 (en) | Method and apparatus for mirroring customer data and metadata in paired controllers | |
US8521978B2 (en) | Storage apparatus and method for controlling storage apparatus | |
WO2010095176A1 (en) | Storage system and method for operating storage system | |
JP2009037304A (ja) | Raidレベルを変更する機能を有したストレージシステム | |
JP2009043030A (ja) | ストレージシステム | |
US20090292870A1 (en) | Storage apparatus and control method thereof | |
JP2007156597A (ja) | ストレージ装置 | |
US8332601B2 (en) | Storage controller having virtual volume | |
JP2005222404A (ja) | 仮想記憶ユニットを備えた記憶制御サブシステム | |
US9760296B2 (en) | Storage device and method for controlling storage device | |
US12073089B2 (en) | Storage device and data recovery method by storage device | |
JP5606583B2 (ja) | ストレージ装置及び同装置の制御方法 | |
WO2018116392A1 (ja) | 情報処理システム、及び、情報処理方法 | |
JP2007334913A (ja) | 記憶装置システム及び記憶装置システムにおけるデータの複写方法 | |
JP2010257477A (ja) | 記憶制御システム及び同システムの制御方法 |