JP2005099998A - ディスクアレイ装置および記憶容量拡張方法ならびにプログラム - Google Patents

ディスクアレイ装置および記憶容量拡張方法ならびにプログラム Download PDF

Info

Publication number
JP2005099998A
JP2005099998A JP2003331329A JP2003331329A JP2005099998A JP 2005099998 A JP2005099998 A JP 2005099998A JP 2003331329 A JP2003331329 A JP 2003331329A JP 2003331329 A JP2003331329 A JP 2003331329A JP 2005099998 A JP2005099998 A JP 2005099998A
Authority
JP
Japan
Prior art keywords
partition
disk
copy
partitions
disk array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003331329A
Other languages
English (en)
Other versions
JP4215606B2 (ja
Inventor
Kazuya Shiraishi
和也 白石
Hirohiko Koike
裕彦 小池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
NEC Solution Innovators Ltd
Original Assignee
NEC Corp
NEC System Technologies Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp, NEC System Technologies Ltd filed Critical NEC Corp
Priority to JP2003331329A priority Critical patent/JP4215606B2/ja
Priority to EP04104614A priority patent/EP1519271A3/en
Priority to US10/947,266 priority patent/US7194580B2/en
Publication of JP2005099998A publication Critical patent/JP2005099998A/ja
Application granted granted Critical
Publication of JP4215606B2 publication Critical patent/JP4215606B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1096Parity calculation or recalculation after configuration or reconfiguration of the system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】 RAID構成を変えずにディスクアレイの記憶容量を拡張する。
【解決手段】 拡張前のディスクアレイは、RAID5(3D+P)の最小構成台数である4で、4台のディスク装置20〜23の記憶領域を4等分した各分割領域を1つのパーティションとし、それぞれ異なるディスク装置のパーティションを4個組み合わせた4個の冗長グループを持つ。増設するディスク装置24の領域も同じく4等分し、ディスクアレイの4個の冗長グループから、それぞれディスク装置の異なる1つのパーティションを選択して、この選択した4個のパーティションのデータをディスク装置25の4個のパーティションにコピーし、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションは4個組み合わせて1個の新たな冗長グループを生成する。
【選択図】 図3

Description

本発明はディスクアレイ装置および記憶容量拡張方法に関し、特にディスクアレイのRAIDタイプを維持しながらディスク増設によって記憶容量を拡張するディスクアレイ装置および記憶容量拡張方法に関する。
ディスクアレイは、複数のディスク装置を並べることで、ディスク系の性能、信頼性を高め、また大容量化および低コスト化を図る方式であり、RAID(Redundant Array of Inexpensive Disks)1〜6の各方式が知られている。各方式とも一長一短があるため、アプリケーション等に応じて適宜選択して利用されている。例えば、RAID5は、ストライプ単位でパリティを複数台のディスクに分散配置する方式であり、パリティ用の冗長ディスクがボトルネックになるというRAID4の欠点を改良した方式として、トランザクション処理システムなどに賞用されている。なお、同じRAID5でも、冗長グループが何台のディスク装置で構成されるかに応じて幾つかの種類がある。本明細書では、ディスクアレイの技術分野における慣用表現を使い、RAID5の表記の後に(iD+P)を付記して区別する。ここで、iは2以上の正整数であり、Dはデータディスク、Pはパリティディスクを意味する。但し、前述したようにRAID5ではパリティは複数のディスク装置に分散配置されるのでパリティ専用のディスク装置が存在するわけではない。
ところで、ディスクアレイは、その大容量性が特徴の一つであるが、記憶すべきデータ量は年々増大しているため、運用中のディスクアレイの記憶容量を拡張しなければならない場合が多々生じる。従来、RAID5のディスクアレイにディスク装置を追加して、その容量を拡張する場合、以下のような方法がとられている。
従来方式(1)
運用中のRAID5のディスクアレイに記憶されている全データを磁気テープなどに一旦セーブし、追加したディスク装置にあわせてディスクアレイのRAID構成を変更して、セーブした全データをリストアする。例えば、4台のディスク装置から構成されるRAID5(3D+1P)のディスクアレイに1台のディスク装置を追加する場合、RAID5(3D+1P)のディスクアレイの全データを磁気テープにセーブし、ディスクアレイをRAID5(4D+1P)に再構成した後、セーブした全データをリストアする。
従来方式(2)
運用中のRAID5のディスクアレイに記憶されている既存のデータを、追加したディスク装置に移動させながら、パリティグループの再構成およびパリティの再計算を実行する(例えば、特許文献1参照)。例えば、RAID5(3D+1P)のディスクアレイに1台のディスク装置を追加する場合、ディスクアレイをRAID5(4D+1P)に再構成する。なお、RAID5(3D+P)をRAID5(4D+P)に拡張する機能については、非特許文献1にもその概要が記載されている。
従来方式(3)
従来方式(2)を改善した方式であり、ディスク装置を増設する際に増設したディスク装置の記憶領域全体をゼロデータでライトしてから組み込むことで、RAIDのパリティの再計算を省力している(例えば、特許文献2参照)。
特開平8−115173号公報 特開2000−10738号公報 "RAID Subsystem G series (Desktop Model,19"Rack Model)取扱説明書"、P/N A207750、Revision4.4、[online]、[平成15年9月1日検索]、インターネット<URL:http://www.adtx.com/product/raid/g/manual.html>
以上のように運用中のディスクアレイにディスク装置を追加して記憶容量を拡張する方法が従来より幾つか提案ないし実用化されているが、その何れの方式も、ディスク装置を増設する毎にディスクアレイのRAID構成が変化する。つまり、従来方式(1)〜(3)とも、例えば初期のRAID構成がRAID5(3D+P)であった場合、ディスク装置を1台増設すると、RAID5(4D+P)に変化し、2台増設すると、RAID5(5D+P)に変化する。
一般にRAID5(3D+P)もRAID5(4D+P)、RAID5(5D+P)も共に1台まで縮退可能な点では信頼性は同じであるが、縮退運転を余儀なくされる確率は、RAID5(3D+P)よりもRAID5(4D+P)の方が高く、RAID5(4D+P)よりもRAID5(5D+P)の方が高い。即ち、RAID5(iD+P)におけるiの値が大きくなればなるほど縮退運転を余儀なくされる確率が高くなる。何故なら、1つの冗長グループを構成するディスク装置の台数が増えれば増えるほど、その内の1つのディスク装置が故障する確率は高くなるからである。また、iの値が大きくなればなるほど、縮退運転時に並列してアクセスすべきディスク装置の台数が増え、処理のオーバーヘッドが大きくなる。他方、iの値が小さいとデータ使用効率が低下する。このため、アプリケーションなどに応じてiの最適な値を事前に決定してディスクアレイを初期生成するが、従来方式を用いてディスクアレイの記憶容量を拡張すると、初期生成時のRAID構成を維持できないという課題がある。
また、従来方式(3)では、ディスク増設時、パリティが全てのディスクに分散されないので、完全なRAID5構成にならないため、データ保護能力が低下してしまうという課題がある。
そこで本発明の目的は、初期のRAID構成を維持しながらディスク装置の追加によるディスクアレイ記憶容量の拡張を可能にしたディスクアレイ装置およびその記憶容量拡張方法を提供することにある。
本発明の別の目的は、ディスク増設によるディスクアレイの記憶容量の拡張をデータ保護能力を低下させずに実施できるディスクアレイ装置およびその記憶容量拡張方法を提供することにある。
本発明の更に別の目的は、ディスクアレイの記憶容量を2倍に拡張すれば、データ保護能力を倍に高めることのできるディスクアレイ装置およびその記憶容量拡張方法を提供することにある。
本発明の第1のディスクアレイ装置は、所定のRAIDタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置において、前記ディスクアレイコントローラは、前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をN等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループを含むディスクアレイにおける前記N個の冗長グループから、それぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したN個のパーティションをコピー元パーティションに設定し、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする1台目の増設ディスク装置の前記N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理部と、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな冗長グループを生成する冗長グループ定義部とを備えている。
本発明の第2のディスクアレイ装置は、第1のディスクアレイ装置において、前記コピー処理部は、記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したN個のパーティションをコピー元パーティションに設定し、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする2台目の増設ディスク装置の前記N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするものであり、前記冗長グループ定義部は、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな冗長グループを生成する。
本発明の第3のディスクアレイ装置は、第2のディスクアレイ装置において、前記コピー処理部は、N台目の増設ディスク装置まで記憶容量拡張処理を繰り返すことで、N台の当初ディスク装置上に生成されたN個の冗長グループとN台の増設ディスク装置上に生成されたN個の冗長グループとを含むディスクアレイに拡張する。
本発明の第4のディスクアレイ装置は、所定のRAIDタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置において、前記ディスクアレイコントローラは、前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をa×N(aは正整数)等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループをa組含むディスクアレイの前記a組あるN個の冗長グループの各組毎に、N個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したa×N個のパーティションをコピー元パーティションに設定し、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする1台目の増設ディスク装置の前記a×N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理部と、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな冗長グループを生成する冗長グループ定義部とを備えている。
本発明の第5のディスクアレイ装置は、第4のディスクアレイ装置において、前記コピー処理部は、記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のa組あるN個の冗長グループの各組毎に、それぞれ異なるN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したa×N個のパーティションをコピー元パーティションに設定し、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする2台目の増設ディスク装置の前記a×N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするものであり、前記冗長グループ定義部は、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな冗長グループを生成する。
本発明の第6のディスクアレイ装置は、第5のディスクアレイ装置において、前記コピー処理部は、N台目の増設ディスク装置まで記憶容量拡張処理を繰り返すことで、N台の当初ディスク装置上に生成されたa×N個の冗長グループとN台の増設ディスク装置上に生成されたa×N個の冗長グループとを含むディスクアレイに拡張する。
本発明の第7のディスクアレイ装置は、所定のRAIDタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置において、前記ディスクアレイコントローラは、前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をN等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループを含むディスクアレイに、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したN個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置の前記N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理部と、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて新たな冗長グループを生成する冗長グループ定義部とを備えている。
本発明の第8のディスクアレイ装置は、第7のディスクアレイ装置において、前記コピー処理部は、N台目の増設ディスク装置まで追加することで、N台の当初ディスク装置上に生成されたN個の冗長グループとN台の増設ディスク装置上に生成されたN個の冗長グループとを含むディスクアレイに拡張する。
本発明の第9のディスクアレイ装置は、所定のRAIDタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置において、前記ディスクアレイコントローラは、前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をa×N(aは正整数)等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループをa組含むディスクアレイに、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のa組あるN個の冗長グループの各組毎に、それぞれ異なるN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したa×N個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置のa×N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理部と、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな冗長グループを生成する冗長グループ生成部とを備える。
本発明の第10のディスクアレイ装置は、第9のディスクアレイ装置において、前記ディスクアレイコントローラは、N台目の増設ディスク装置まで追加することで、N台の当初ディスク装置上に生成されたa×N個の冗長グループとN台の増設ディスク装置上に生成されたa×N個の冗長グループとを含むディスクアレイに拡張する。
本発明の第11のディスクアレイ装置は、第1乃至第10のディスクアレイ装置において、前記ディスクアレイコントローラは、前記コピー処理部によるコピー元パーティションに記憶されているデータをコピー先パーティションにコピーする処理をディスクアレイの運用中にバックグラウンドで実行する構成を有し、且つ、ディスクアレイに対してライトコマンドがホストコンピュータから発行された場合、コピー元パーティションにライトすべきデータはコピー先パーティションにもライトするIO処理部を備えている。
本発明の第12のディスクアレイ装置は、ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置において、前記ディスクアレイコントローラに、前記ホストコンピュータからのIOコマンドを処理するIO処理部と、ディスク増設に伴うデータコピーを行うコピー処理部と、冗長グループの定義を行う冗長グループ定義部と、前記ディスク装置を制御するディスク制御部と、ディスクアレイの構成情報等を記憶する制御テーブルと、読み出し位置検索部と、書き込み位置検索部と、コピー位置検索部とを備え、前記制御テーブルは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有し、前記ディスクアレイがRAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をN等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループを含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報が前記通常構成情報に初期設定されており、前記コピー処理部は、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択し、前記通常構成情報中の前記選択したN個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、前記コピー位置検索部により、前記N個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、前記冗長グループ定義部により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな増設冗長グループを生成するものであり、前記IO処理部は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、前記読み出し位置検索部により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定して前記ディスク制御部を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、前記書き込み位置検索部により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御部を通じてライトを実行する。
本発明の第13のディスクアレイ装置は、ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置において、前記ディスクアレイコントローラに、前記ホストコンピュータからのIOコマンドを処理するIO処理部と、ディスク増設に伴うデータコピーを行うコピー処理部と、冗長グループの定義を行う冗長グループ定義部と、前記ディスク装置を制御するディスク制御部と、ディスクアレイの構成情報等を記憶する制御テーブルと、読み出し位置検索部と、書き込み位置検索部と、コピー位置検索部とを備え、前記制御テーブルは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有し、前記ディスクアレイがRAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をa×N(aは正整数)等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループをa組含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報が前記通常構成情報に初期設定されており、前記コピー処理部は、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のa組あるN個の冗長グループの各組毎に、N個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択し、前記通常構成情報中の前記選択したa×N個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、前記コピー位置検索部により、a組ある前記N個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、前記冗長グループ定義部により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな増設冗長グループを生成するものであり、前記IO処理部は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、前記読み出し位置検索部により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定し、前記ディスク制御部を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、前記書き込み位置検索部により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御部を通じてライトを実行する。
本発明の第14のディスクアレイ装置は、第12または第13のディスクアレイ装置において、前記ディスクアレイコントローラに、排他制御部を備え、前記コピー処理部および前記IO処理部は前記制御テーブルを参照更新する際には前記排他制御部により前記制御テーブルをロックする。
本発明の第15のディスクアレイ装置は、第1ないし第14のディスクアレイ装置において、前記所定のRAIDタイプが、RAID5(iD+P)(iは2以上の正整数)であることを特徴とする。
本発明の第1の記憶容量拡張方法は、所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、a)RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をN等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループを含むディスクアレイにおける前記N個の冗長グループから、それぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したN個のパーティションをコピー元パーティションに設定し、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする1台目の増設ディスク装置の前記N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするステップ、b)コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな冗長グループを生成するステップ、を含んでいる。
本発明の第2の記憶容量拡張方法は、第1の記憶容量拡張方法において、c)記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したN個のパーティションをコピー元パーティションに設定し、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする2台目の増設ディスク装置の前記N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするステップ、d)コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな冗長グループを生成するステップ、を含んでいる。
本発明の第3の記憶容量拡張方法は、第2の記憶容量拡張方法において、N台目の増設ディスク装置まで前記ステップc、dのステップを繰り返すことで、N台の当初ディスク装置上に生成されたN個の冗長グループとN台の増設ディスク装置上に生成されたN個の冗長グループとを含むディスクアレイに拡張する。
本発明の第4の記憶容量拡張方法は、所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、a)前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をa×N(aは正整数)等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループをa組含むディスクアレイの前記a組あるN個の冗長グループの各組毎に、N個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したa×N個のパーティションをコピー元パーティションに設定し、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする1台目の増設ディスク装置の前記a×N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするステップ、b)コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな冗長グループを生成するステップ、を含んでいる。
本発明の第5の記憶容量拡張方法は、第4の記憶容量拡張方法において、c)記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のa組あるN個の冗長グループの各組毎に、N個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したa×N個のパーティションをコピー元パーティションに設定し、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする2台目の増設ディスク装置の前記a×N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするステップ、d)コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな冗長グループを生成するステップ、を含んでいる。
本発明の第6の記憶容量拡張方法は、第5の記憶容量拡張方法において、N台目の増設ディスク装置まで前記ステップc、dと同じステップを繰り返すことで、N台の当初ディスク装置上に生成されたa×N個の冗長グループとN台の増設ディスク装置上に生成されたa×N個の冗長グループとを含むディスクアレイに拡張する。
本発明の第7の記憶容量拡張方法は、所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をN等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループを含むディスクアレイに、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したN個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置のN個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて新たな冗長グループを生成する。
本発明の第8の記憶容量拡張方法は、第7の記憶容量拡張方法において、N台目の増設ディスク装置まで追加することで、N台の当初ディスク装置上に生成されたN個の冗長グループとN台の増設ディスク装置上に生成されたN個の冗長グループとを含むディスクアレイに拡張する。
本発明の第9の記憶容量拡張方法は、所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をa×N(aは正整数)等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループをa組含むディスクアレイに、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のa組あるN個の冗長グループの各組毎に、それぞれ異なるN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したa×N個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置のa×N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな冗長グループを生成する。
本発明の第10の記憶容量拡張方法は、第9の記憶容量拡張方法において、N台目の増設ディスク装置まで追加することで、N台の当初ディスク装置上に生成されたa×N個の冗長グループとN台の増設ディスク装置上に生成されたa×N個の冗長グループとを含むディスクアレイに拡張する。
本発明の第11の記憶容量拡張方法は、第1乃至第10の記憶容量拡張方法において、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーする処理をディスクアレイの運用中にバックグラウンドで実行し、且つ、ディスクアレイに対してライトコマンドがホストコンピュータから発行された場合、コピー元パーティションにライトすべきデータはコピー先パーティションにもライトする。
本発明の第12の記憶容量拡張方法は、ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、前記ディスクアレイコントローラは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有する制御テーブルの前記通常構成情報に、前記ディスクアレイがRAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をN等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループを含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報を設定し、前記ディスクアレイコントローラのコピー処理部は、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択し、前記通常構成情報中の前記選択したN個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、コピー位置検索部により、前記N個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、冗長グループ定義部により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな増設冗長グループを生成し、前記ディスクアレイコントローラのIO処理部は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、読み出し位置検索部により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定し、ディスク制御部を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、書き込み位置検索部により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御部を通じてライトを実行する。
本発明の第13の記憶容量拡張方法は、ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置において、前記ディスクアレイコントローラは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有する制御テーブルの前記通常構成情報に、前記ディスクアレイがRAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をa×N(aは正整数)等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループをa組含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報を設定し、前記ディスクアレイコントローラのコピー処理部は、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のa組あるN個の冗長グループの各組毎に、N個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択し、前記通常構成情報中の前記選択したa×N個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、コピー位置検索部により、a組ある前記N個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、冗長グループ定義部により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな増設冗長グループを生成し、前記ディスクアレイコントローラのIO処理部は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、読み出し位置検索部により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定してディスク制御部を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、書き込み位置検索部により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報から同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御部を通じてライトを実行する。
本発明の第14の記憶容量拡張方法は、第12または第13の記憶容量拡張方法において、前記ディスクアレイコントローラの前記コピー処理部および前記IO処理部は前記制御テーブルを参照更新する際には排他制御部により前記制御テーブルをロックする。
本発明の第15の記憶容量拡張方法は、第1乃至第14の記憶容量拡張方法において、前記所定のRAIDタイプが、RAID5(iD+P)(iは2以上の正整数)であることを特徴とする。
本発明の第1のプログラムは、所定のRAIDタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置を構成するコンピュータを、前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をN等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループを含むディスクアレイにおける前記N個の冗長グループから、それぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したN個のパーティションをコピー元パーティションに設定し、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする1台目の増設ディスク装置の前記N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理手段、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな冗長グループを生成する冗長グループ定義手段、として機能させる。
本発明の第2のプログラムは、第1のプログラムにおいて、前記コピー処理手段は、記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したN個のパーティションをコピー元パーティションに設定し、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする2台目の増設ディスク装置の前記N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするものであり、前記冗長グループ定義手段は、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな冗長グループを生成する。
本発明の第3のプログラムは、第2のプログラムにおいて、前記コピー処理手段は、N台目の増設ディスク装置まで記憶容量拡張処理を繰り返すことで、N台の当初ディスク装置上に生成されたN個の冗長グループとN台の増設ディスク装置上に生成されたN個の冗長グループとを含むディスクアレイに拡張する。
本発明の第4のプログラムは、所定のRAIDタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置を構成するコンピュータを、前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をa×N(aは正整数)等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループをa組含むディスクアレイの前記a組あるN個の冗長グループの各組毎に、N個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したa×N個のパーティションをコピー元パーティションに設定し、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする1台目の増設ディスク装置の前記a×N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理手段、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな冗長グループを生成する冗長グループ定義手段、として機能させる。
本発明の第5のプログラムは、第4のプログラムにおいて、前記コピー処理手段は、記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のa組あるN個の冗長グループの各組毎に、それぞれ異なるN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したa×N個のパーティションをコピー元パーティションに設定し、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする2台目の増設ディスク装置の前記a×N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするものであり、前記冗長グループ定義手段は、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな冗長グループを生成する。
本発明の第6のプログラムは、第5のプログラムにおいて、前記コピー処理手段は、N台目の増設ディスク装置まで記憶容量拡張処理を繰り返すことで、N台の当初ディスク装置上に生成されたa×N個の冗長グループとN台の増設ディスク装置上に生成されたa×N個の冗長グループとを含むディスクアレイに拡張する。
本発明の第7のプログラムは、所定のRAIDタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置を構成するコンピュータを、前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をN等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループを含むディスクアレイに、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したN個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置の前記N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理手段、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて新たな冗長グループを生成する冗長グループ定義手段、として機能させる。
本発明の第8のプログラムは、第7のプログラムにおいて、前記コピー処理手段は、N台目の増設ディスク装置まで追加することで、N台の当初ディスク装置上に生成されたN個の冗長グループとN台の増設ディスク装置上に生成されたN個の冗長グループとを含むディスクアレイに拡張する。
本発明の第9のプログラムは、所定のRAIDタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置を構成するコンピュータを、前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をa×N(aは正整数)等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループをa組含むディスクアレイに、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のa組あるN個の冗長グループの各組毎に、それぞれ異なるN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したa×N個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置のa×N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理手段、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな冗長グループを生成する冗長グループ生成手段、として機能させる。
本発明の第10のプログラムは、第9のプログラムにおいて、前記コピー処理手段および前記冗長グループ定義手段は、N台目の増設ディスク装置まで追加することで、N台の当初ディスク装置上に生成されたa×N個の冗長グループとN台の増設ディスク装置上に生成されたa×N個の冗長グループとを含むディスクアレイに拡張する。
本発明の第11のプログラムは、第1乃至第10のプログラムにおいて、前記コピー処理手段はコピー元パーティションに記憶されているデータをコピー先パーティションにコピーする処理をディスクアレイの運用中にバックグラウンドで実行する構成を有し、且つ、前記コンピュータを更に、ディスクアレイに対してライトコマンドがホストコンピュータから発行された場合、コピー元パーティションにライトすべきデータはコピー先パーティションにもライトするIO処理手段として機能させる。
本発明の第12のプログラムは、ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置を構成するコンピュータを、前記ホストコンピュータからのIOコマンドを処理するIO処理手段、ディスク増設に伴うデータコピーを行うコピー処理手段、冗長グループの定義を行う冗長グループ定義手段、前記ディスク装置を制御するディスク制御手段、ディスクアレイの構成情報等を記憶する制御テーブル、読み出し位置検索手段、書き込み位置検索手段、コピー位置検索手段、として機能させ、前記制御テーブルは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有し、前記ディスクアレイがRAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をN等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループを含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報が前記通常構成情報に初期設定されるものであり、前記コピー処理手段は、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択し、前記通常構成情報中の前記選択したN個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、前記コピー位置検索手段により、前記N個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、前記冗長グループ定義手段により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな増設冗長グループを生成するものであり、前記IO処理手段は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、前記読み出し位置検索手段により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定して前記ディスク制御手段を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、前記書き込み位置検索手段により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御手段を通じてライトを実行する。
本発明の第13のプログラムは、ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置を構成するコンピュータを、前記ホストコンピュータからのIOコマンドを処理するIO処理手段、ディスク増設に伴うデータコピーを行うコピー処理手段、冗長グループの定義を行う冗長グループ定義手段、前記ディスク装置を制御するディスク制御手段、ディスクアレイの構成情報等を記憶する制御テーブル、読み出し位置検索手段、書き込み位置検索手段、コピー位置検索手段、として機能させ、前記制御テーブルは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有し、前記ディスクアレイがRAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をa×N(aは正整数)等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループをa組含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報が前記通常構成情報に初期設定されるものであり、前記コピー処理手段は、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のa組あるN個の冗長グループの各組毎に、N個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択し、前記通常構成情報中の前記選択したa×N個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、前記コピー位置検索手段により、a組ある前記N個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、前記冗長グループ定義手段により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな増設冗長グループを生成するものであり、前記IO処理手段は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、前記読み出し位置検索手段により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定し、前記ディスク制御手段を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、前記書き込み位置検索手段により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御手段を通じてライトを実行する。
本発明の第14のプログラムは、第12または第13のプログラムにおいて、前記コンピュータを更に、排他制御手段として機能させ、前記コピー処理手段および前記IO処理手段は前記制御テーブルを参照更新する際には前記排他制御手段により前記制御テーブルをロックする。
本発明の第15のプログラムは、第1乃至第14のプログラムにおいて、前記所定のRAIDタイプが、RAID5(iD+P)(iは2以上の正整数)であることを特徴とする。
本発明の第1のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによれば、N台の当初ディスク装置で構成されたディスクアレイの初期のRAID構成を維持しながら、1台のディスク装置を追加してその増設ディスク装置の記憶容量だけディスクアレイの記憶容量を拡張することが可能である。
本発明の第2のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによれば、ディスクアレイの初期のRAID構成を維持しながら、更に1台のディスク装置を追加し、合計2台の増設ディスク装置の記憶容量だけディスクアレイの記憶容量を拡張することが可能である。
本発明の第3のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによれば、ディスクアレイの初期のRAID構成を維持しながら、合計N台の増設ディスク装置の記憶容量の合計だけディスクアレイの記憶容量を拡張でき、しかも、N台の当初ディスク装置上に生成されたN個の冗長グループと、N台の増設ディスク装置上に生成されたN個の冗長グループとはディスク装置が異なるため、それぞれ1台までの縮退が可能で全体では2台のディスク装置までの縮退が可能になり、データ保護能力を倍に高めることができる。
本発明の第1ないし第3のディスクアレイ装置および記憶容量拡張方法ならびにプログラムでは、各ディスク装置の記憶領域をRAIDタイプの最小構成台数NでN等分したが、a×N(aは正整数)、つまりNの倍数で等分する本発明の第4ないし第6のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによっても、第1ないし第3のディスクアレイ装置および記憶容量拡張方法ならびにプログラムと同様の効果が得られる。
本発明の第7のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによれば、ディスクアレイの初期のRAID構成を維持しながら、1台ずつ増設ディスク装置を追加していって、追加した増設ディスク装置の記憶容量の合計だけディスクアレイの記憶容量を拡張することが可能である。
本発明の第8のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによれば、ディスクアレイの初期のRAID構成を維持しながら、合計N台の増設ディスク装置の記憶容量の合計だけディスクアレイの記憶容量を拡張でき、しかも、N台の当初ディスク装置上に生成されたN個の冗長グループと、N台の増設ディスク装置上に生成されたN個の冗長グループとはディスク装置が異なるため、それぞれ1台までの縮退が可能で全体では2台のディスク装置までの縮退が可能になり、データ保護能力を倍に高めることができる。
本発明の第7または第8のディスクアレイ装置および記憶容量拡張方法ならびにプログラムでは、各ディスク装置の記憶領域をRAIDタイプの最小構成台数NでN等分したが、a×N(aは正整数)、つまりNの倍数で等分する本発明の第9または第10のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによっても、第7または第8のディスクアレイ装置および記憶容量拡張方法ならびにプログラムと同様の効果が得られる。
本発明の第11のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによれば、ディスクアレイの運用中にその記憶容量を拡張することができる。
本発明の第12のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによれば、ディスクアレイの初期のRAID構成を維持しながら、1台ずつ増設ディスク装置を追加していって、追加した増設ディスク装置の記憶容量の合計だけディスクアレイ記憶容量を拡張することができ、合計N台の増設ディスク装置を追加すれば、N台の当初ディスク装置上に生成されたN個の冗長グループと、N台の増設ディスク装置上に生成されたN個の冗長グループとはディスク装置が異なるため、それぞれ1台までの縮退が可能で全体では2台のディスク装置までの縮退が可能になり、記憶容量を倍に拡大できると共にデータ保護能力を倍に高めることができる。さらに、ディスクアレイの運用中にその記憶容量を拡張することができる。
本発明の第12のディスクアレイ装置および記憶容量拡張方法ならびにプログラムでは、各ディスク装置の記憶領域をRAIDタイプの最小構成台数NでN等分したが、a×N(aは正整数)、つまりNの倍数で等分する本発明の第13のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによっても、第12のディスクアレイ装置および記憶容量拡張方法ならびにプログラムと同様の効果が得られる。
本発明の第14のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによれば、コピー処理部によるコピー処理とIO処理部によるIO処理との競合において、更新途中の制御テーブルを参照させないことができる。
本発明の第15のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによれば、RAID5(iD+P)(iは2以上の正整数)のディスクアレイの記憶容量をその初期のRAID構成を維持しつつ拡張することができる。
[第1の実施の形態]
図1を参照すると、本発明の第1の実施の形態にかかるディスクアレイ装置は、ホストコンピュータ10にファイバチャネルのような汎用バス18を通じて接続されたディスクアレイコントローラ11と、このディスクアレイコントローラ11に同じくファイバチャネルのような汎用バス19を通じて接続された複数のディスク装置20〜28とで構成されており、複数のディスク装置20〜28を使って所定のRAIDタイプのディスクアレイを提供する。ここで、ディスク装置20〜28は全て同じ記憶容量を持つ。
ディスクアレイコントローラ11は、例えば、図1のブロック内に図示されるようなハードウェア構成を有する。インタフェースチップ12は、ディスクアレイコントローラ11をホストコンピュータ10と汎用バス18で接続するインタフェース、インタフェースチップ15は、ディスクアレイコントローラ11を複数のディスク装置20〜28と汎用バス19で接続するインタフェースである。それらのインタフェースチップ12、15の間には、リードデータおよびライトデータを格納するバッファメモリ13と、それを制御するメモリコントローラ14と、それらを総括的に制御するマイクロプロセッサ16と、マイクロコードや各種の制御情報を格納するローカルメモリ17とが設けられている。
ホストコンピュータ10がディスクアレイのデータをリードする際は、以下のような動作が概ね実行される。ホストコンピュータ10は、汎用バス18を介してリードコマンドをインタフェースチップ12に送信し、インタフェースチップ12はそれをメモリコントローラ14を通じてマイクロプロセッサ16に伝える。マイクロプロセッサ16は、メモリコントローラ14およびインタフェースチップ15を介して該当するディスク装置にリードコマンドを発行し、同時にインタフェースチップ15に対してリードデータをバッファメモリ13のどのアドレスに転送するかを指定する。リードコマンドを受信したディスク装置はリードデータをインタフェースチップ15に送り、インタフェースチップ15は指定されたバッファメモリ13のアドレスにデータを転送し、データ転送が完了したことをマイクロプロセッサ16に通知する。マイクロプロセッサ16は、インタフェースチップ12にデータ転送を指示し、バッファメモリ13からメモリコントローラ14とインタフェースチップ12を介してリードデータをホストコンピュータ10に転送し、インタフェースチップ12はデータ転送の完了をマイクロプロセッサ16に通知する。最後にマイクロプロセッサ16は、インタフェースチップ12を介してホストコンピュータ10にリードコマンドの完了を報告する。
ホストコンピュータ10がディスクアレイのデータをライトする際は、以下のような動作が概ね実行される。ホストコンピュータ10は、汎用バス18を介してライトコマンドをインタフェースチップ12に送信し、インタフェースチップ12はそれをメモリコントローラ14を通じてマイクロプロセッサ16に伝える。マイクロプロセッサ16は、インタフェースチップ12にデータ転送を指示し、ホストコンピュータ10からインタフェースチップ12とメモリコントローラ14を介してバッファメモリ13にライトデータを転送し、インタフェースチップ12はデータ転送の完了をマイクロプロセッサ16に通知する。マイクロプロセッサ16は、メモリコントローラ14およびインタフェースチップ15を介して該当するディスク装置にライトコマンドを発行し、同時に、インタフェースチップ15に対してライトデータをバッファメモリ13のどのアドレスから転送するかを指定する。ライトコマンドを受信したディスク装置はライトデータをインタフェースチップ15に要求し、インタフェースチップ15は指定されたバッファメモリ13のアドレスからデータを転送し、データ転送が完了したことをマイクロプロセッサ16に通知する。最後にマイクロプロセッサ16は、インタフェースチップ12を介してホストコンピュータ10にライトコマンドの完了を報告する。
なお、ディスクアレイコントローラ11のハードウェア構成は図示した例に限定されず、種々の構成が採用可能である。
本実施の形態にかかるディスクアレイ装置は、所定のRAIDタイプのディスクアレイを最低限必要な台数のディスク装置だけ使用して初期生成した後、運用を開始し、その後、初期のRAIDタイプを維持しながらディスク装置を追加して、ディスクアレイの記憶容量を適宜に拡張していく。以下、ディスクアレイの記憶容量の拡張処理を中心に本実施の形態の動作を説明する。
先ず、初期生成するディスクアレイについて説明する。本実施の形態では、RAIDタイプの最小構成台数Nのディスク装置を使い、その記憶領域をN等分した各分割領域を1つのパーティションとし、それぞれ異なるディスク装置のパーティションをN個組み合わせたN個の冗長グループを含むディスクアレイを初期生成する。この初期生成に使ったN台のディスク装置を、後に追加するディスク装置と区別するために「当初ディスク装置」と呼ぶ。
例えば、所定のRAIDタイプをRAID5(3D+P)とすると、そのタイプの最小構成台数Nは4台なので、図2に示すように、4台のディスク装置20〜23を当初ディスク装置に使い、各ディスク装置20〜23の記憶領域を4等分し、各々の分割領域をそれぞれ1つのパーティションに定義する。例えば、各ディスク装置20〜23の記憶容量を80MBとすると、1つのパーティションは20MBになる。次に、それぞれ異なるディスク装置のパーティションをN個組み合わせたN個の冗長グループを作るが、その方法としては、例えば図2に示すように、ディスク装置20の最上段のパーティション100とディスク装置21の2段目のパーティション101とディスク装置22の3段目のパーティション102とディスク装置23の4段目のパーティション103の合計4つの斜め位置のパーティションを組み合わせて第1の冗長グループとし、同様に、パーティション110、111、112および113で第2の冗長グループとし、パーティション120、121、122および123で第3の冗長グループとし、パーティション130、131、132および133で第4の冗長グループとする方法が利用できる。
こうして初期生成したディスクアレイを使ってシステムの運用を開始する。例えば、図2のRAID5(3D+P)の初期状態のディスクアレイにおいては、第1〜第4の合計4つの冗長グループがあるので、各冗長グループ毎に、その冗長グループを構成する4つのパーティションを所定幅のストライプに分割し、ストライプ単位でパリティを4台のディスク装置20〜23に分散配置する。
さて、システムの運用が継続され、ディスクアレイの記憶容量を拡張する必要が生じた場合、ディスクアレイに1台のディスク装置を追加し、その記憶容量を拡張する。まず、追加するディスク装置も、当初ディスク装置と同じく記憶領域をN等分し、その各々の分割領域を1つのパーティションとしてN個のパーティションを定義する。次に、運用中のディスクアレイにおけるN個の冗長グループから、それぞれ当初ディスク装置の異なる1つのパーティションを選択し、この選択したN個のパーティションをコピー元パーティションに設定し、増設ディスク装置のN個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーする。次に、そのコピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな冗長グループを生成する。
例えば図2に示したRAID5(3D+P)の初期状態のディスクアレイに1台のディスク装置24を追加して容量を拡張する場合、増設ディスク装置24の記憶領域を当初ディスク装置20〜23と同じく4等分して4個のパーティションを定義し、運用中のディスクアレイにおける4個の冗長グループから、それぞれ当初ディスク装置の異なる1つのパーティションを選択し、この選択した4個のパーティションをコピー元パーティションに設定し、増設ディスク装置24の4個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーする。
運用中のディスクアレイにおける4個の冗長グループから、それぞれ当初ディスク装置の異なる1つのパーティションを選択する方法としては、図2に示したように斜め方向のパーティションを組み合わせて各冗長グループを構成している場合、図3に示すように各ディスク装置20〜23の先頭のパーティション100、110、120、130を選択する方法が利用できる。この場合、ディスク装置20の最上段のパーティション100に格納されているデータをディスク装置24のパーティション104にコピーし、ディスク装置21の最上段のパーティション110に格納されているデータをディスク装置24のパーティション114にコピーし、ディスク装置22の最上段のパーティション120に格納されているデータをディスク装置24のパーティション124にコピーし、ディスク装置23の最上段のパーティション130に格納されているデータをディスク装置24のパーティション134にコピーする。
これらのコピーは、コピー元パーティションとなるディスク装置20〜23のパーティション100、110、120、130からデータをバッファメモリ13にリードし、このバッファメモリ13上のデータをコピー先パーティションとなるディスク装置24のパーティション104、114、124、134にライトすることで行われる。コピー先のパーティションはコピー元のパーティションの代わりに元の冗長グループに組み入れられるので、パリティの再計算は不要であり、コピー元パーティションのデータをそっくりコピー先パーティションにコピーするだけでよい。
そして、コピー処理が終了すれば、コピー元パーティション100、110、120、130を元の第1〜第4の冗長グループから外して代わりに対応するコピー先パーティション104、114、124、134を第1〜第4の冗長グループに組み込み、元の冗長グループから外したコピー元パーティション100、110、120、130を4個組み合わせて1個の新たな冗長グループを生成する。この結果、図2のディスクアレイは図4のようになり、追加したディスク装置24の記憶容量だけディスクアレイの記憶容量が増加する。
拡張後のディスクアレイは、図4に示されるように、パーティション104、101、102および103から構成される第1の冗長グループと、パーティション114、111、112および113から構成される第2の冗長グループと、パーティション124、121、122および123から構成される第3の冗長グループと、パーティション134、131、132および133から構成される第4の冗長グループと、パーティション140、141、142および143から構成される第5の冗長グループとを有する。ここで、第5の冗長グループが、元の第1〜第4の冗長グループから外されたパーティション100、110、120および130を定義し直して新たに生成された冗長グループである。各冗長グループの構成パーティション数はすべて4であり、RAID5(3D+P)が維持されている。
更にもう1台のディスク装置を追加してディスクアレイの記憶容量を拡張する場合、基本的には最初の1台を追加した場合と同様の処理を行う。まず、追加する2台目のディスク装置も、最初の1台目の増設ディスク装置と同じく記憶領域をN等分し、その各々の分割領域を1つのパーティションとしてN個のパーティションを定義する。次に、運用中のディスクアレイに存在する冗長グループのうち、1台目のディスク装置の追加によって生成された新たな冗長グループ以外のN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して、この選択したN個のパーティションをコピー元パーティションに設定し、増設ディスク装置のN個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーする。そして、そのコピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな冗長グループを生成する。
例えば図4に示したRAID5(3D+P)のディスクアレイに更に1台のディスク装置25を追加して容量を拡張する場合、増設ディスク装置25の記憶領域を当初ディスク装置20〜23と同じく4等分して4個のパーティションを定義し、運用中のディスクアレイにおける5個の冗長グループのうち、過去の増設によって新たに生成された第5の冗長グループを除く第1〜第4の4個の冗長グループから、それぞれ当初ディスク装置20〜23の異なる1つのパーティションを選択し、この選択した4個のパーティションをコピー元パーティションに設定し、増設ディスク装置25の4個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーする。第1〜第4の4個の冗長グループから、それぞれ当初ディスク装置20〜23の異なる1つのパーティションを選択する方法は、例えば図5に示すように各ディスク装置20〜23の2番目のパーティション131、101、111、121を選択する方法が利用できる。この場合、ディスク装置20の2番目のパーティション131に格納されているデータをディスク装置25のパーティション135にコピーし、ディスク装置21の2番目のパーティション101に格納されているデータをディスク装置25のパーティション105にコピーし、ディスク装置22の2番目のパーティション111に格納されているデータをディスク装置25のパーティション115にコピーし、ディスク装置23の2番目のパーティション121に格納されているデータをディスク装置25のパーティション125にコピーする。そして、コピー処理が終了すれば、コピー元パーティション131、101、111、121を第1〜第4の冗長グループから外して代わりに対応するコピー先パーティション135、105、115、125を第1〜第4の冗長グループに組み込み、第1〜第4の冗長グループから外したコピー元パーティション131、101、111、121を4個組み合わせて1個の新たな冗長グループを生成する。この結果、図4のディスクアレイは図6のようになり、追加したディスク装置25の記憶容量だけディスクアレイの記憶容量が更に増加する。
拡張後のディスクアレイは、図6に示されるように、パーティション104、105、102および103から構成される第1の冗長グループと、パーティション114、115、112および113から構成される第2の冗長グループと、パーティション124、125、122および123から構成される第3の冗長グループと、パーティション134、135、132および133から構成される第4の冗長グループと、パーティション140、141、142および143から構成される第5の冗長グループと、パーティション150、151、152および153から構成される第6の冗長グループとを有する。ここで、第6の冗長グループが、元の第1〜第4の冗長グループから外されたパーティション131、101、111、121を定義し直して新たに生成された冗長グループである。各冗長グループの構成パーティション数はすべて4であり、RAID5(3D+P)が維持されている。
更に、ディスク装置26、27を増設する場合は、ディスク装置25を追加した場合と同様の要領でディスク装置20、21、22および23の3段目のパーティションをディスク装置26に、4段目のパーティションをディスク装置27にコピーして、図7に示すように、第1〜第4の冗長グループを構成するパーティションを再定義すると共に、それぞれの元の位置にパーティション160、161、162および163の第7の冗長グループと、パーティション170、171、172および173の第8の冗長グループを定義する。
このように本実施の形態のディスクアレイ装置によれば、ディスクアレイの初期のRAIDタイプを変えずに、ディスク装置を追加してディスクアレイの記憶容量を拡張することができる効果がある。また、本実施の形態にかかるディスクアレイ装置においては、次のような効果も得ることができる。
(A)ディスクアレイ装置の運用中にオンラインでディスク増設による記憶容量の拡張が行える。
(B)ホストコンピュータ10から指示されるディスクアレイに対するIO処理プロセス(リードコマンド処理およびライトコマンド処理)においてディスク増設に伴うデータコピーの進捗状況を認識しなくても良い。
(C)ディスク装置の増設を続けていくとRAID構成が独立した2つのRAID構成に分かれるため、信頼性が倍増する。
(D)更にその後も1台ずつのディスク増設が可能である。
以下、(A)〜(D)の各効果について説明する。
先ず、オンライン中に実行可能であるという効果について説明する。これは、ディスク増設に伴うデータのコピーはバックグラウンドで実行し、その間は、IO処理によるライトでコピー元のパーティションにライトすべきデータをコピー先のパーティションにもライトすることで可能である。例えば、図3に示したディスク装置24の増設時、ディスクアレイコントローラ11は、パーティション100、110、120および130のデータをパーティション104、114、124および134にコピーする処理をバックグラウンドで実行し、IO処理によるライトでパーティション100にライトするべきデータをパーティション104にもライトし、パーティション110にライトするべきデータをパーティション114にもライトし、パーティション120にライトするべきデータをパーティション124にもライトし、パーティション130にライトするべきデータをパーティション134にもライトする。こうすることで、ディスク増設に伴うデータのコピー中にIO処理でライトされたデータは全て新しいパーティションの方にも書き込まれるため、オンライン中にディスク増設が実行可能になる。オンライン中に実行可能であるということは、ユーザは業務を停止せずに記憶容量を増やすことができることを意味する。
次に、IO処理プロセスがディスク増設に伴うデータコピーの進捗状況を認識しなくても良いという効果について説明する。前述のようにディスク増設に伴うデータコピー中はIO処理によるライトを新しいパーティションにも書き込むことによって、既にデータコピー済みの領域へのIO処理は両方のパーティションにライトすることで新しいパーティションにライトデータが反映されるし、まだデータコピーしていない領域へのIO処理は両方にライトした後にデータコピーが実行されて新しいパーティションへは二度ライトされるけれど同じデータなので問題はない。つまり、IO処理プロセスはディスク増設に伴うデータコピーの進捗状況を認識しなくても両方のパーティションにライトすればデータが保証される。このため、複数のマイクロプロセッサを持つような大規模シシテムにおいてもプロセス間の同期処理が必要無くなり、障害の発生しにくいシステムが構築可能になるという効果が得られる。
次に、増設を続けていくとRAID構成が独立した2つのRAID構成に分かれるという効果について説明する。図2に示したRAID5(3D+P)のディスクアレイに対して前述した方法でディスク増設を行うと、4台追加して合計8台になったときには図7のようになる。ここで冗長グループについて見てみると、パーティション104、105、106および107の第1の冗長グループと、パーティション114、115、116および117の第2の冗長グループと、パーティション124、125、126および127の第3の冗長グループと、パーティション134、135、136および137の第4の冗長グループと、パーティション140、141、142および143の第5の冗長グループと、パーティション150、151、152および153の第6の冗長グループと、パーティション160、161、162および163の第7の冗長グループと、パーティション170、171、172および173の第8の冗長グループになっており、第1から第4の冗長グループはディスク装置24、25、26および27だけを使用しており、第5から第8の冗長グループはディスク装置20、21、22および23だけを使用している。つまり、最初から存在していた4台のディスク装置20〜23と後で追加した4台のディスク装置24〜27間に跨る冗長グループがなくなり、RAID構成が独立した2つのRAID構成に分かれている。従って、ディスク装置20〜23のうちの何れか1台とディスク装置24〜27のうちの何れか1台との合計2台までの故障に耐える信頼性が得られる。つまり、RAID5(7D+1)のように8台を1つのRAID構成にするとその中で1台しか縮退できないが、4台のRAID構成2つにすると、それぞれの中で1台ずつ縮退できるので合計2台まで縮退できるようになる。
最後に、更にその後も1台ずつの増設が可能であるという効果について説明する。図7は増設してディスク装置が8台になった場合の構成であるが、ディスク装置24、25、26および27を使用した第1から第4の冗長グループは、図2に示した最初にRAID構成を定義したときのように斜め位置のパーティションを組み合わせた冗長グループになっている。従って、更にディスクを増設する際には、図8に示すように、最初の増設と同様の方法でディスク装置24、25、26および27の最上段のパーティション104、135、126および117を、増設したディスク装置28のパーティション108、118、128および138にコピーし、コピーが完了すると元の最上段の位置に新たな冗長グループを定義すれば、前述と同様の手順で増設を続けていくことができる。このように更にその後も1台ずつの増設が可能であるということは、ユーザはRAID構成を再構築する必要なく無限に記憶容量を増やすことができるという効果が得られる。なお、後述するように、最初のRAID構成の定義において斜め位置のパーティションを組み合わせずに、各ディスクの同一段のパーティションを組み合わせることもできるため、図8に示されるディスク装置20〜23に増設ディスク装置を追加して容量を拡張することも可能である。
[第1の実施の形態の実施例1]
図9を参照すると、本発明の第1の実施の形態にかかるディスクアレイ装置の実施例1は、ディスクアレイコントローラ11が、IO処理部30、読み出し位置検索部31、書き込み位置検索部32、排他制御部33、冗長グループ定義部34、コピー処理部35、コピー位置検索部36、ディスク制御部37、バッファ管理部38、構成管理部39および制御テーブル40を含んで構成される。制御テーブル40は、例えば図1のローカルメモリ17に生成され、各機能手段30〜39は、マイクロプロセッサ16とそれに内蔵されたROMあるいはローカルメモリ17に記憶されたプログラムとで実現することができる。つまり、ROM等に記憶されたプログラムは、マイクロプロセッサ16に読み取られ、マイクロプロセッサ16の動作を制御することにより、マイクロプロセッサ16上に各機能手段30〜39を実現する。
ディスクアレイコントローラ11において、ホストコンピュータ10からのコマンドは、IO処理部30が中心になって処理し、リードコマンドの場合は読み出し位置検索部31に、ライトコマンドの場合は書き込み位置検索部32にディスク番号などを問い合わせてから、ディスク制御部37を介してディスク装置20〜28をアクセスする。ディスク装置の増設に伴うデータ移動は、コピー処理部35が中心になって処理し、バッファ管理部38でコピー処理に使用するバッファを確保し、コピー位置検索部36にコピー元及びコピー先のディスク番号などを問い合わせてから、ディスク制御部37を介してディスク装置20〜28をアクセスし、冗長グループ定義部34で冗長グループの構成を変更したり新たな冗長グループを作成する。構成などの情報は制御テーブル40に格納され、各検索部などは構成管理部39を介して制御テーブル40の情報を参照もしくは更新する。IO処理部30とコピー処理部35が制御テーブル40を参照するときの競合を防ぐため、排他制御部33を有している。
図10に、4台のディスク装置20〜23を使用してRAID5(3D+P)のディスクアレイを構築した際に冗長グループ定義部34によって生成された通常状態の制御テーブル40の構成例を示す。制御テーブル40には、通常か増設かを示す状態フラグ41と、提供するディスクアレイのRAIDレベルを示すRAIDタイプ42と、現在生成されている冗長グループ数43と、1つの冗長グループを構成するパーティション数44と、現在までの増設回数45と、構成管理情報46とが設定される。また、構成管理情報46は、通常構成情報47と増設構成情報48の2つから構成され、それぞれについて各冗長グループ毎のディスク・パーティション情報が定義される。個々の冗長グループのディスク・パーティション情報は、その冗長グループを構成する各パーティションが存在するディスクの番号49と、各パーティションがそのディスク上の何番目のパーティションかを示すパーティション位置50と、そのパーティションの番号51を含む。この通常状態の制御テーブル40には以下のように内容がセットされる。
初期状態のディスクアレイの生成過程で、ホストコンピュータ10からRAIDタイプと冗長グループ構成パーティション数とディスク台数とディスク番号がディスクアレイコントローラ11に指示されると、IO処理部30を介して冗長グループ定義部34がその情報を元にして制御テーブル40の内容を決定する。図10に示した例では、図2で説明したRAID5(D3+P)のディスクアレイを、4台のディスク20〜23で構築した場合を想定しており、状態フラグ41は「通常」とし、RAIDタイプ42は「RAID5」とし、冗長グループ数43は構築するディスク装置の台数分で「4」とし、冗長グループ構成パーティション数44はデータ3とパリティ1の計で「4」とし、増設回数45は「0」とする。また、構成管理情報46は通常構成情報47だけが設定され、第1の冗長グループのディスク・パーティション情報は、ディスク番号49にディスク装置20、21、22、23の番号を昇順に並べて、パーティション位置50は0から開始して1ディスク毎に一つずつ加算して、0、1、2、3とし、パーティション番号51に各パーティションの番号を設定する。これによってディスク装置20のパーティション0とディスク装置21のパーティション1とディスク装置22のパーティション2とディスク装置23のパーティション3の4つのパーティションで構成されていることを示す。第2から第4の冗長グループのディスク・パーティション情報は、ディスク番号49については自身の前の冗長グループの2番目のディスク番号から昇順に並べていき、パーティション位置50は0から開始してディスク毎に一つずつ加算していく。
次に、図3および図4で説明したように、図2のディスクアレイに1台のディスク装置24を追加してディスクアレイ容量を拡張する場合を例に、本実施例のディスクアレイコントローラ11の動作を説明する。
オペレータなどがホストコンピュータ10経由でディスクアレイコントローラ11に対して、記憶容量を拡張しようとするディスクグループ(20〜23)の指定と増設するディスク装置24の指定とを含むディスク増設指示を与えると、ディスクアレイコントローラ11は、図11に示されるディスク増設処理を実行する。
先ず、コピー処理部35は、ホストコンピュータ10から出されたディスク増設指示を受け取ると(ステップ300)、排他制御部33により制御テーブル40をロックして(ステップ301)、制御テーブル40を更新し(ステップ302)、制御テーブル40の更新を終えた時点で制御テーブル40のロックを解除する(ステップ303)。ここで制御テーブル40をロックするのは、後で説明するリードコマンド処理及びライトコマンド処理との競合において、更新途中の制御テーブル40をIO処理部30に参照させないようにするためである。
ステップ302の制御テーブル40の更新処理では、図10に示した内容の通常状態の制御テーブル40を図12に示すような増設状態の制御テーブルに更新する。具体的には、コピー処理部35は、構成管理部39を通じて制御テーブル40をアクセスし、通常構成情報47を増設構成情報48にコピーし、増設構成情報48にコピーした内容のうち、ディスク番号49部分で置き換えるディスク装置は増設回数45で示される0の位置として各冗長グループの最初のディスク番号を増設したディスクの番号の24に更新し、パーティション位置50については、第1の冗長グループは増設回数である0とし、以降の冗長グループは1ずつ加算して、1、2、3とする。そして、増設回数45を1加算して「1」にし、状態フラグ41を「増設」にする。
次にコピー処理部35は、バッファ管理部38によりコピー処理に使うバッファを確保し(ステップ304)、コピー対象の冗長グループ番号を第1の冗長グループに設定する(ステップ305)。以降のステップ306からステップ311は、一つの冗長グループ内のコピー処理を示している。先ず、コピー処理部35は、コピー位置検索部36によりコピー位置を検索する(ステップ306〜308)。具体的には、コピー位置検索部36は、構成管理部39を通じて制御テーブル40をアクセスし、コピー対象の冗長グループについて、通常構成情報47と増設構成情報48の差異を検索し(ステップ306)、ディスク装置20のパーティション0がディスク装置24のパーティション0に変わっていることを検出する。次に、コピー位置検索部36は、ディスク装置20のパーティション0をコピー元パーティションに決定し(ステップ307)、ディスク装置24のパーティション0をコピー先パーティションに決定する(ステップ308)。
次にコピー処理部35は、ディスク制御部37を通じて、コピー元のディスク装置におけるパーティションからバッファサイズ分のデータをバッファにリードし、その後にバッファからコピー先のディスク装置におけるパーティションへライトする(ステップ309)。該当パーティション全体のコピーが完了していなければ(ステップ310でNO)、コピー位置をバッファサイズ分進めて(ステップ311)、コピーを繰り返し(ステップ309)、該当パーティションのコピーが完了していれば、その冗長グループのコピーは完了する。
次にコピー処理部35は、コピー対象となる全ての冗長グループのコピーが完了したかどうかを判定し(ステップ312)、コピー対象となる全ての冗長グループのコピーが完了していなければ、冗長グループ番号を1進めて(ステップ313)、ステップ306に戻って次の冗長グループのコピーを行う。コピー対象となる全ての冗長グループのコピーが完了すると、コピー処理部35は、バッファ管理部38により獲得したバッファを開放し(ステップ314)、排他制御部33により制御テーブル40をロックしてから(ステップ315)、制御テーブル40を更新し(ステップ316)、その更新終了後に制御テーブル40のロックを解除する(ステップ317)。ここで制御テーブル40をロックするのは、後で説明するリードコマンド処理及びライトコマンド処理との競合において、更新途中の制御テーブル40をIO処理部30に参照させないようにするためである。
ステップ316の制御テーブル40の更新処理では、図12に示した内容の増設状態の制御テーブル40を図13に示した通常状態の制御テーブルに更新する。具体的には、コピー処理部35は、まず通常構成情報47および増設構成情報48に第5の冗長グループのエントリを追加し、通常構成情報47と増設構成情報48の差異であるディスク装置20のパーティション0とディスク装置21のパーティション0とディスク装置22のパーティション0とディスク装置23のパーティション0を第5の冗長グループとして設定する。そして、増設構成情報48の第1から第4の冗長グループの情報を通常構成情報47にコピーし、増設構成情報48はクリアする。また、冗長グループ数43を1加算して「5」とし、状態フラグ41を「通常」にする。
以上は1台目の増設ディスク装置24を追加した際の動作であるが、2台目のディスク装置25を追加した際も基本的に同じ動作が行われる。但し、既に1台目のディスク装置24が追加されて新たな第5の冗長グループが生成されているので、この第5の冗長グループを除いた第1〜第4の冗長グループがコピー対象となる。2台目のディスク装置25を増設する際にステップ302で更新された制御テーブル40の内容例を図14に示し、コピー完了後にステップ316で構成された制御テーブル40の内容例を図15に示す。
3台目のディスク装置26、4台目のディスク装置27を増設する場合も2台目のディスク装置25と同様の処理が行われる。更に、増設ディスク装置24〜27上に形成された第1〜第4の冗長グループと、当初ディスク装置20〜23に形成された第5〜第8の冗長グループにRAIDが分離された後は、増設ディスク装置24〜27あるいは当初ディスク装置20〜23に対してディスク装置28を追加していくことも可能である。
次に、図16を参照してホストコンピュータ10からリードコマンドが発行された際のディスクアレイコントローラ11の動作を説明する。ディスクアレイコントローラ11のIO処理部30は、リードコマンドを受けると(ステップ400)、排他制御部33により制御テーブル40をロックして(ステップ401)、読み出し位置検索部31を使用して、リードコマンドで指定された冗長グループについて制御テーブル40の通常構成情報47からディスク番号とパーティション位置を取り出し(ステップ402)、制御テーブル40のロックを解除する(ステップ403)。そして、読み出し位置検索部31を使用してステップ402で取り出したディスク番号とパーティション位置に基づいて、IO処理部30は、ディスク制御部37を通じてディスクアレイのリードを行う(ステップ404)。リードコマンドの処理においては、増設構成情報48は使用しない。
例えば、ディスクアレイが図2の状態にある初期状態では、制御テーブル40は図10のようになっているため、第1の冗長グループを指定するリードコマンドによるアクセスは、ディスク装置20のパーティション100、ディスク装置21のパーティション101、ディスク装置22のパーティション102およびディスク装置23のパーティション103が対象となり、例えば第1番目のパーティションのリードはディスク装置20のパーティション100に対して実行される。しかし、ディスク装置24が追加され、ディスクアレイが図4のように拡張されると、制御テーブル40は図13のように更新されているため、第1の冗長グループを指定するリードコマンドによるアクセスは、ディスク装置24のパーティション104、ディスク装置21のパーティション101、ディスク装置22のパーティション102およびディスク装置23のパーティション103が対象となり、例えば第1番目のパーティションのリードはディスク装置20のパーティション100でなく、ディスク装置24のパーティション104に対して実行されることになる。
次に、図17を参照してホストコンピュータ10からライトコマンドが発行された際のディスクアレイコントローラ11の動作を説明する。ディスクアレイコントローラ11のIO処理部30は、ライトコマンドを受けると(ステップ500)、排他制御部33により制御テーブル40をロックしてから(ステップ501)、書き込み位置検索部32を使用して書き込み位置を検索する(ステップ502〜505)。具体的には、書き込み位置検索部32は、まずライトコマンドで指定された冗長グループについて制御テーブル40の通常構成情報47からディスク番号とパーティション位置を取り出す(ステップ502)。次に、状態フラグ41を確認し(ステップ503)、増設状態であれば、ライトコマンドで指定された冗長グループについて通常構成情報47と増設構成情報48の差異を検索して(ステップ504)、その差異の箇所もライトするように追加する(ステップ505)。例えば図12の制御テーブル40で第1の冗長グループに対するライトコマンドなら、通常構成情報47のディスク装置20のパーティション0と増設構成情報48のディスク装置24のパーティション0が差異となっているため、ディスク装置20のパーティション0にライトするデータは、ディスク装置24のパーティション0にもライトするように追加する。次にIO処理部30は、制御テーブル40のロックを解除し(ステップ506)、書き込み位置検索部32によってステップ502およびステップ505で取り出したディスク番号とパーティション位置へライトコマンドに基づくライトを実行する(ステップ507)。
[他の実施の形態]
以上の実施の形態および実施例は、RAID5(3D+P)のディスクアレイに対して本発明を適用したが、(3D+P)以外のRAID5タイプや、RAID5以外のRAID1、RAID2、RAID3、RAID4、RAID6といった他のRAIDタイプにも適用可能である。例えば、RAID5(4D+P)なら各ディスク装置の記憶領域を5等分し、RAID5(5D+P)なら各ディスク装置の記憶領域を6等分し、RAID1なら各ディスク装置の記憶領域を2等分し、RAID6(4D+P+Q)なら各ディスク装置の記憶領域を6等分するというように、そのRAIDタイプの最小構成台数で等分すれば、本発明のディスク増設方法が実現可能である。
また、例えばRAID5(3D+P)の場合に4等分しているが、その倍の8等分でも実現可能であるし、更にその倍の16等分でも実現可能である。つまり、RAIDタイプに依存することなく、そのRAIDタイプの最小構成台数Nの倍数a×N(aは正整数)で各ディスク装置の記憶領域を等分することによって、本発明のディスク増設方法が実現可能である。ここで、aが2以上の場合、1台ディスク装置を増設する毎にa個の新たな冗長グループが生成される。
また、ディスクアレイコントローラ11に接続する全てのディスク装置20〜28は同じ記憶容量を持つものとしたが、必ずしも同じ記憶容量である必要はない。ディスクアレイの初期生成時に使う当初ディスク装置がそれぞれ異なる記憶容量を持つ場合、そのうちの最小の記憶容量をXとすると、全ての当初ディスク装置の先頭からX分の容量をRAIDの最小構成台数Nあるいはその倍数a×Nで等分すれば、本発明が適用できる。増設するディスク装置についても同様である。つまり、本発明において、ディスク装置の記憶領域をN等分あるいはa×N等分するとは、そのディスク装置の全記憶領域をN等分あるいはa×N等分する場合だけを意味せず、前述のように先頭からX分の容量の記憶領域をN等分あるいはa×N等分する場合をも意味するものである。
また、本発明の他の実施の形態として、最初のRAID構成の定義において斜め位置のパーティションを組み合わせずに、各ディスクの同一段のパーティションを組み合わせることもできる。例えば、図2において、ディスク装置20の最上段のパーティション100とディスク装置21の最上段のパーティション110とディスク装置22の最上段のパーティション120とディスク装置23の最上段のパーティション130の4つのパーティションというように同一段のパーティションを組み合わせて第1の冗長グループを定義する。同様に、パーティション131、101、111および121で第2の冗長グループを定義し、パーティション122、132、102および112で第3の冗長グループを定義し、パーティション113、123、133および103で第4の冗長グループを定義する。そして、図3のようにディスク装置24を増設したとき、ディスク装置20の最上段のパーティション100に格納されているデータをディスク装置24のパーティション104にコピーし、ディスク装置21の2段目のパーティション101に格納されているデータをディスク装置24のパーティション114にコピーし、ディスク装置22の3段目のパーティション102に格納されているデータをディスク装置24のパーティション124にコピーし、ディスク装置23の4段目のパーティション103に格納されているデータをディスク装置24のパーティション134にコピーする。コピーが完了すると、パーティション100、101、102および103を各冗長グループから外して、パーティション104、110、120および130の第1の冗長グループと、パーティション131、114、111および121の第2の冗長グループと、パーティション122、132、124および112の第3の冗長グループと、パーティション113、123、133および134の第4の冗長グループに定義し直す。また、冗長グループから外されたパーティション100、101、102および103を定義し直して新たに第5の冗長グループを定義する。
以上のように、本発明にかかるディスクアレイ装置および記憶容量拡張方法は、複数のディスク装置で構成されたディスクアレイの記憶容量を拡張する装置および方法として有用であり、特にシステムの運用を停止させずにRAID5タイプなどのディスクアレイの記憶容量を拡張する装置および方法に用いるのに適している。
本発明の第1の実施の形態にかかるディスクアレイ装置のブロック図である。 最小構成台数で構成された初期状態のRAID5(3D+P)のディスクアレイの構成図である。 初期状態のRAID5(3D+P)のディスクアレイにディスク装置を1台追加して記憶容量を拡張している様子を示す図である。 初期状態のRAID5(3D+P)にディスク装置を1台追加して記憶容量を拡張したディスクアレイの構成図である。 ディスク装置が1台追加されたRAID5(3D+P)のディスクアレイにディスク装置を更にもう1台追加して記憶容量を拡張している様子を示す図である。 初期状態のRAID5(3D+P)にディスク装置を2台追加して記憶容量を拡張したディスクアレイの構成図である。 初期状態のRAID5(3D+P)にディスク装置を4台追加して記憶容量を倍に拡張したディスクアレイの構成図である。 ディスク装置が4台追加されたRAID5(3D+P)のディスクアレイにディスク装置を更にもう1台追加して記憶容量を拡張している様子を示す図である。 本発明の第1の実施の形態の実施例1にかかるディスクアレイ装置のブロック図である。 最小構成台数で構成された初期状態のRAID5(3D+P)のディスクアレイに対応する制御テーブルの内容例を示す図である。 本発明の第1の実施の形態の実施例1にかかるディスクアレイ装置におけるディスク増設処理のフローチャートである。 初期状態のRAID5(3D+P)のディスクアレイにディスク装置を1台追加して記憶容量を拡張している状態のときの制御テーブルの内容例を示す図である。 初期状態のRAID5(3D+P)にディスク装置を1台追加して記憶容量を拡張したディスクアレイに対応する制御テーブルの内容例を示す図である。 ディスク装置が1台追加されたRAID5(3D+P)のディスクアレイにディスク装置を更にもう1台追加して記憶容量を拡張している状態のときの制御テーブルの内容例を示す図である。 初期状態のRAID5(3D+P)にディスク装置を2台追加して記憶容量を拡張したディスクアレイに対応する制御テーブルの内容例を示す図である。 本発明の第1の実施の形態の実施例1にかかるディスクアレイ装置におけるリードコマンド処理のフローチャートである。 本発明の第1の実施の形態の実施例1にかかるディスクアレイ装置におけるライトコマンド処理のフローチャートである。
符号の説明
10…ホストコンピュータ
11…ディスクアレイコントローラ
12、15…インタフェースチップ
13…バッファメモリ
14…メモリコントローラ
16…マイクロプロセッサ
17…ローカルメモリ
18、19…汎用バス
20〜28…ディスク装置
30…IO処理部
31…読み出し位置検索部
32…書き込み位置検索部
33…排他制御部
34…冗長グループ定義部
35…コピー処理部
36…コピー位置検索部
37…ディスク制御部
38…バッファ管理部
39…構成管理部
40…制御テーブル
41…状態フラグ
42…RAIDタイプ
43…冗長グループ数
44…冗長グループ構成パーティション数
45…増設回数
46…構成情報
47…通常構成情報
48…増設構成情報
49…ディスク番号
50…パーティション位置
51…パーティション番号

Claims (45)

  1. 所定のRAIDタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置において、
    前記ディスクアレイコントローラは、前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をN等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループを含むディスクアレイにおける前記N個の冗長グループから、それぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したN個のパーティションをコピー元パーティションに設定し、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする1台目の増設ディスク装置の前記N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理部と、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな冗長グループを生成する冗長グループ定義部とを備えることを特徴とするディスクアレイ装置。
  2. 前記コピー処理部は、記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したN個のパーティションをコピー元パーティションに設定し、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする2台目の増設ディスク装置の前記N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするものであり、前記冗長グループ定義部は、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな冗長グループを生成するものであることを特徴とする請求項1記載のディスクアレイ装置。
  3. 前記コピー処理部は、N台目の増設ディスク装置まで記憶容量拡張処理を繰り返すことで、N台の当初ディスク装置上に生成されたN個の冗長グループとN台の増設ディスク装置上に生成されたN個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項2記載のディスクアレイ装置。
  4. 所定のRAIDタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置において、
    前記ディスクアレイコントローラは、前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をa×N(aは正整数)等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループをa組含むディスクアレイの前記a組あるN個の冗長グループの各組毎に、N個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したa×N個のパーティションをコピー元パーティションに設定し、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする1台目の増設ディスク装置の前記a×N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理部と、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな冗長グループを生成する冗長グループ定義部とを備えることを特徴とするディスクアレイ装置。
  5. 前記コピー処理部は、記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のa組あるN個の冗長グループの各組毎に、それぞれ異なるN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したa×N個のパーティションをコピー元パーティションに設定し、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする2台目の増設ディスク装置の前記a×N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするものであり、前記冗長グループ定義部は、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな冗長グループを生成するものであることを特徴とする請求項4記載のディスクアレイ装置。
  6. 前記コピー処理部は、N台目の増設ディスク装置まで記憶容量拡張処理を繰り返すことで、N台の当初ディスク装置上に生成されたa×N個の冗長グループとN台の増設ディスク装置上に生成されたa×N個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項5記載のディスクアレイ装置。
  7. 所定のRAIDタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置において、
    前記ディスクアレイコントローラは、前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をN等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループを含むディスクアレイに、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したN個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置の前記N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理部と、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて新たな冗長グループを生成する冗長グループ定義部とを備えることを特徴とするディスクアレイ装置。
  8. 前記コピー処理部は、N台目の増設ディスク装置まで追加することで、N台の当初ディスク装置上に生成されたN個の冗長グループとN台の増設ディスク装置上に生成されたN個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項7記載のディスクアレイ装置。
  9. 所定のRAIDタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置において、
    前記ディスクアレイコントローラは、前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をa×N(aは正整数)等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループをa組含むディスクアレイに、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のa組あるN個の冗長グループの各組毎に、それぞれ異なるN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したa×N個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置のa×N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理部と、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな冗長グループを生成する冗長グループ生成部とを備えることを特徴とするディスクアレイ装置。
  10. 前記ディスクアレイコントローラは、N台目の増設ディスク装置まで追加することで、N台の当初ディスク装置上に生成されたa×N個の冗長グループとN台の増設ディスク装置上に生成されたa×N個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項9記載のディスクアレイ装置。
  11. 前記ディスクアレイコントローラは、前記コピー処理部によるコピー元パーティションに記憶されているデータをコピー先パーティションにコピーする処理をディスクアレイの運用中にバックグラウンドで実行する構成を有し、且つ、ディスクアレイに対してライトコマンドがホストコンピュータから発行された場合、コピー元パーティションにライトすべきデータはコピー先パーティションにもライトするIO処理部を備えることを特徴とする請求項1乃至10の何れか1項に記載のディスクアレイ装置。
  12. ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置において、
    前記ディスクアレイコントローラに、前記ホストコンピュータからのIOコマンドを処理するIO処理部と、ディスク増設に伴うデータコピーを行うコピー処理部と、冗長グループの定義を行う冗長グループ定義部と、前記ディスク装置を制御するディスク制御部と、ディスクアレイの構成情報等を記憶する制御テーブルと、読み出し位置検索部と、書き込み位置検索部と、コピー位置検索部とを備え、
    前記制御テーブルは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有し、前記ディスクアレイがRAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をN等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループを含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報が前記通常構成情報に初期設定されており、
    前記コピー処理部は、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択し、前記通常構成情報中の前記選択したN個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、前記コピー位置検索部により、前記N個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、前記冗長グループ定義部により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな増設冗長グループを生成するものであり、
    前記IO処理部は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、前記読み出し位置検索部により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定して前記ディスク制御部を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、前記書き込み位置検索部により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御部を通じてライトを実行するものである、
    ことを特徴とするディスクアレイ装置。
  13. ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置において、
    前記ディスクアレイコントローラに、前記ホストコンピュータからのIOコマンドを処理するIO処理部と、ディスク増設に伴うデータコピーを行うコピー処理部と、冗長グループの定義を行う冗長グループ定義部と、前記ディスク装置を制御するディスク制御部と、ディスクアレイの構成情報等を記憶する制御テーブルと、読み出し位置検索部と、書き込み位置検索部と、コピー位置検索部とを備え、
    前記制御テーブルは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有し、前記ディスクアレイがRAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をa×N(aは正整数)等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループをa組含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報が前記通常構成情報に初期設定されており、
    前記コピー処理部は、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のa組あるN個の冗長グループの各組毎に、N個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択し、前記通常構成情報中の前記選択したa×N個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、前記コピー位置検索部により、a組ある前記N個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、前記冗長グループ定義部により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな増設冗長グループを生成するものであり、
    前記IO処理部は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、前記読み出し位置検索部により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定し、前記ディスク制御部を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、前記書き込み位置検索部により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御部を通じてライトを実行するものである、
    ことを特徴とするディスクアレイ装置。
  14. 前記ディスクアレイコントローラに、排他制御部を備え、前記コピー処理部および前記IO処理部は前記制御テーブルを参照更新する際には前記排他制御部により前記制御テーブルをロックするものであることを特徴とする請求項12または13記載のディスクアレイ装置。
  15. 前記所定のRAIDタイプが、RAID5(iD+P)(iは2以上の正整数)であることを特徴とする請求項1乃至14の何れか1項に記載のディスクアレイ装置。
  16. 所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、
    a)RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をN等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループを含むディスクアレイにおける前記N個の冗長グループから、それぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したN個のパーティションをコピー元パーティションに設定し、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする1台目の増設ディスク装置の前記N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするステップ、
    b)コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな冗長グループを生成するステップ、
    を含むことを特徴とする記憶容量拡張方法。
  17. c)記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したN個のパーティションをコピー元パーティションに設定し、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする2台目の増設ディスク装置の前記N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするステップ、
    d)コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな冗長グループを生成するステップ、
    を含むことを特徴とする請求項16記載の記憶容量拡張方法。
  18. N台目の増設ディスク装置まで前記ステップc、dのステップを繰り返すことで、N台の当初ディスク装置上に生成されたN個の冗長グループとN台の増設ディスク装置上に生成されたN個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項17記載の記憶容量拡張方法。
  19. 所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、
    a)前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をa×N(aは正整数)等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループをa組含むディスクアレイの前記a組あるN個の冗長グループの各組毎に、N個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したa×N個のパーティションをコピー元パーティションに設定し、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする1台目の増設ディスク装置の前記a×N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするステップ、
    b)コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな冗長グループを生成するステップ、
    を含むことを特徴とする記憶容量拡張方法。
  20. c)記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のa組あるN個の冗長グループの各組毎に、N個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したa×N個のパーティションをコピー元パーティションに設定し、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする2台目の増設ディスク装置の前記a×N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするステップ、
    d)コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな冗長グループを生成するステップ、
    を含むことを特徴とする請求項19記載の記憶容量拡張方法。
  21. N台目の増設ディスク装置まで前記ステップc、dと同じステップを繰り返すことで、N台の当初ディスク装置上に生成されたa×N個の冗長グループとN台の増設ディスク装置上に生成されたa×N個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項20記載の記憶容量拡張方法。
  22. 所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、
    前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をN等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループを含むディスクアレイに、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したN個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置のN個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて新たな冗長グループを生成することを特徴とする記憶容量拡張方法。
  23. N台目の増設ディスク装置まで追加することで、N台の当初ディスク装置上に生成されたN個の冗長グループとN台の増設ディスク装置上に生成されたN個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項22記載の記憶容量拡張方法。
  24. 所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、
    前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をa×N(aは正整数)等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループをa組含むディスクアレイに、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のa組あるN個の冗長グループの各組毎に、それぞれ異なるN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したa×N個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置のa×N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな冗長グループを生成することを特徴とする記憶容量拡張方法。
  25. N台目の増設ディスク装置まで追加することで、N台の当初ディスク装置上に生成されたa×N個の冗長グループとN台の増設ディスク装置上に生成されたa×N個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項24記載の記憶容量拡張方法。
  26. コピー元パーティションに記憶されているデータをコピー先パーティションにコピーする処理をディスクアレイの運用中にバックグラウンドで実行し、且つ、ディスクアレイに対してライトコマンドがホストコンピュータから発行された場合、コピー元パーティションにライトすべきデータはコピー先パーティションにもライトすることを特徴とする請求項16乃至25の何れか1項に記載の記憶容量拡張方法。
  27. ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、
    前記ディスクアレイコントローラは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有する制御テーブルの前記通常構成情報に、前記ディスクアレイがRAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をN等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループを含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報を設定し、
    前記ディスクアレイコントローラのコピー処理部は、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択し、前記通常構成情報中の前記選択したN個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、コピー位置検索部により、前記N個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、冗長グループ定義部により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな増設冗長グループを生成し、
    前記ディスクアレイコントローラのIO処理部は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、読み出し位置検索部により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定し、ディスク制御部を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、書き込み位置検索部により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御部を通じてライトを実行する、
    ことを特徴とする記憶容量拡張方法。
  28. ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、
    前記ディスクアレイコントローラは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有する制御テーブルの前記通常構成情報に、前記ディスクアレイがRAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をa×N(aは正整数)等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループをa組含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報を設定し、
    前記ディスクアレイコントローラのコピー処理部は、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のa組あるN個の冗長グループの各組毎に、N個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択し、前記通常構成情報中の前記選択したa×N個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、コピー位置検索部により、a組ある前記N個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、冗長グループ定義部により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな増設冗長グループを生成し、
    前記ディスクアレイコントローラのIO処理部は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、読み出し位置検索部により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定してディスク制御部を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、書き込み位置検索部により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報から同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御部を通じてライトを実行するものである、
    ことを特徴とする記憶容量拡張方法。
  29. 前記ディスクアレイコントローラの前記コピー処理部および前記IO処理部は前記制御テーブルを参照更新する際には排他制御部により前記制御テーブルをロックすることを特徴とする請求項27または28記載の記憶容量拡張方法。
  30. 前記所定のRAIDタイプが、RAID5(iD+P)(iは2以上の正整数)であることを特徴とする請求項16乃至29の何れか1項に記載の記憶容量拡張方法。
  31. 所定のRAIDタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置を構成するコンピュータを、
    前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をN等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループを含むディスクアレイにおける前記N個の冗長グループから、それぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したN個のパーティションをコピー元パーティションに設定し、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする1台目の増設ディスク装置の前記N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理手段、
    コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな冗長グループを生成する冗長グループ定義手段、
    として機能させることを特徴とするプログラム。
  32. 前記コピー処理手段は、記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したN個のパーティションをコピー元パーティションに設定し、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする2台目の増設ディスク装置の前記N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするものであり、前記冗長グループ定義手段は、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな冗長グループを生成するものであることを特徴とする請求項31記載のプログラム。
  33. 前記コピー処理手段は、N台目の増設ディスク装置まで記憶容量拡張処理を繰り返すことで、N台の当初ディスク装置上に生成されたN個の冗長グループとN台の増設ディスク装置上に生成されたN個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項32記載のプログラム。
  34. 所定のRAIDタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置を構成するコンピュータを、
    前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をa×N(aは正整数)等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループをa組含むディスクアレイの前記a組あるN個の冗長グループの各組毎に、N個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したa×N個のパーティションをコピー元パーティションに設定し、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする1台目の増設ディスク装置の前記a×N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理手段、
    コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな冗長グループを生成する冗長グループ定義手段、
    として機能させることを特徴とするプログラム。
  35. 前記コピー処理手段は、記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のa組あるN個の冗長グループの各組毎に、それぞれ異なるN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したa×N個のパーティションをコピー元パーティションに設定し、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする2台目の増設ディスク装置の前記a×N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするものであり、前記冗長グループ定義手段は、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな冗長グループを生成するものであることを特徴とする請求項34記載のプログラム。
  36. 前記コピー処理手段は、N台目の増設ディスク装置まで記憶容量拡張処理を繰り返すことで、N台の当初ディスク装置上に生成されたa×N個の冗長グループとN台の増設ディスク装置上に生成されたa×N個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項35記載のプログラム。
  37. 所定のRAIDタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置を構成するコンピュータを、
    前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をN等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループを含むディスクアレイに、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したN個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置の前記N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理手段、
    コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて新たな冗長グループを生成する冗長グループ定義手段、
    として機能させることを特徴とするプログラム。
  38. 前記コピー処理手段は、N台目の増設ディスク装置まで追加することで、N台の当初ディスク装置上に生成されたN個の冗長グループとN台の増設ディスク装置上に生成されたN個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項37記載のプログラム。
  39. 所定のRAIDタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置を構成するコンピュータを、
    前記RAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をa×N(aは正整数)等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループをa組含むディスクアレイに、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のa組あるN個の冗長グループの各組毎に、それぞれ異なるN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択して該選択したa×N個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置のa×N個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理手段、
    コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな冗長グループを生成する冗長グループ生成手段、
    として機能させることを特徴とするプログラム。
  40. 前記コピー処理手段および前記冗長グループ定義手段は、N台目の増設ディスク装置まで追加することで、N台の当初ディスク装置上に生成されたa×N個の冗長グループとN台の増設ディスク装置上に生成されたa×N個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項39記載のプログラム。
  41. 前記コピー処理手段はコピー元パーティションに記憶されているデータをコピー先パーティションにコピーする処理をディスクアレイの運用中にバックグラウンドで実行する構成を有し、且つ、前記コンピュータを更に、ディスクアレイに対してライトコマンドがホストコンピュータから発行された場合、コピー元パーティションにライトすべきデータはコピー先パーティションにもライトするIO処理手段として機能させることを特徴とする請求項31乃至40の何れか1項に記載のプログラム。
  42. ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置を構成するコンピュータを、前記ホストコンピュータからのIOコマンドを処理するIO処理手段、ディスク増設に伴うデータコピーを行うコピー処理手段、冗長グループの定義を行う冗長グループ定義手段、前記ディスク装置を制御するディスク制御手段、ディスクアレイの構成情報等を記憶する制御テーブル、読み出し位置検索手段、書き込み位置検索手段、コピー位置検索手段、として機能させ、
    前記制御テーブルは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有し、前記ディスクアレイがRAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をN等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループを含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報が前記通常構成情報に初期設定されるものであり、
    前記コピー処理手段は、記憶領域を前記N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のN個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択し、前記通常構成情報中の前記選択したN個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、前記コピー位置検索手段により、前記N個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、前記冗長グループ定義手段により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをN個組み合わせて1個の新たな増設冗長グループを生成するものであり、
    前記IO処理手段は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、前記読み出し位置検索手段により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定して前記ディスク制御手段を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、前記書き込み位置検索手段により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御手段を通じてライトを実行するものである、
    ことを特徴とするプログラム。
  43. ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のRAIDタイプのディスクアレイを提供するディスクアレイ装置を構成するコンピュータを、前記ホストコンピュータからのIOコマンドを処理するIO処理手段、ディスク増設に伴うデータコピーを行うコピー処理手段、冗長グループの定義を行う冗長グループ定義手段、前記ディスク装置を制御するディスク制御手段、ディスクアレイの構成情報等を記憶する制御テーブル、読み出し位置検索手段、書き込み位置検索手段、コピー位置検索手段、として機能させ、
    前記制御テーブルは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有し、前記ディスクアレイがRAIDタイプの最小構成台数Nの当初ディスク装置の記憶領域をa×N(aは正整数)等分した各分割領域を1つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをN個組み合わせたN個の冗長グループをa組含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報が前記通常構成情報に初期設定されるものであり、
    前記コピー処理手段は、記憶領域を前記a×N等分した各々の分割領域を1つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のa組あるN個の冗長グループの各組毎に、N個の冗長グループからそれぞれ当初ディスク装置の異なる1つのパーティションを選択し、前記通常構成情報中の前記選択したa×N個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、前記コピー位置検索手段により、a組ある前記N個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、前記冗長グループ定義手段により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしN個組み合わせてa個の新たな増設冗長グループを生成するものであり、
    前記IO処理手段は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、前記読み出し位置検索手段により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定し、前記ディスク制御手段を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、前記書き込み位置検索手段により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御手段を通じてライトを実行するものである、
    ことを特徴とするプログラム。
  44. 前記コンピュータを更に、排他制御手段として機能させ、前記コピー処理手段および前記IO処理手段は前記制御テーブルを参照更新する際には前記排他制御手段により前記制御テーブルをロックするものであることを特徴とする請求項42または43記載のプログラム。
  45. 前記所定のRAIDタイプが、RAID5(iD+P)(iは2以上の正整数)であることを特徴とする請求項31乃至44の何れか1項に記載のプログラム。
JP2003331329A 2003-09-24 2003-09-24 ディスクアレイ装置および記憶容量拡張方法ならびにプログラム Expired - Lifetime JP4215606B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003331329A JP4215606B2 (ja) 2003-09-24 2003-09-24 ディスクアレイ装置および記憶容量拡張方法ならびにプログラム
EP04104614A EP1519271A3 (en) 2003-09-24 2004-09-23 Disk array device,method of extending storage capacity and computer program
US10/947,266 US7194580B2 (en) 2003-09-24 2004-09-23 Disk array device, method of extending storage capacity and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003331329A JP4215606B2 (ja) 2003-09-24 2003-09-24 ディスクアレイ装置および記憶容量拡張方法ならびにプログラム

Publications (2)

Publication Number Publication Date
JP2005099998A true JP2005099998A (ja) 2005-04-14
JP4215606B2 JP4215606B2 (ja) 2009-01-28

Family

ID=34191444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003331329A Expired - Lifetime JP4215606B2 (ja) 2003-09-24 2003-09-24 ディスクアレイ装置および記憶容量拡張方法ならびにプログラム

Country Status (3)

Country Link
US (1) US7194580B2 (ja)
EP (1) EP1519271A3 (ja)
JP (1) JP4215606B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006318017A (ja) * 2005-05-10 2006-11-24 Nec System Technologies Ltd Raid構成変換方法、装置及びプログラム並びにこれを用いたディスクアレイ装置
JP2007149068A (ja) * 2005-11-23 2007-06-14 Internatl Business Mach Corp <Ibm> ストライピング済みディスク・データのリバランシングを行う方法、システム、及び製品(ストライピング済みディスク・データのリバランシング)
JP2009199426A (ja) * 2008-02-22 2009-09-03 Nec Corp 論理ディスク再構築装置、ディスクアレイ装置、及び論理ディスク再構築方法
JP2009534767A (ja) * 2006-04-25 2009-09-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 入出力装置によるアクセスを受けるデータの移動
JP2011003032A (ja) * 2009-06-18 2011-01-06 Toshiba Corp 映像蓄積再生装置
JP2011034546A (ja) * 2009-07-30 2011-02-17 Lsi Corp Erasureコード化されたデータストレージ容量及びパワーマネージメント方法及びシステム
US8321631B2 (en) 2009-08-04 2012-11-27 Samsung Electronics Co., Ltd. Parity calculation and journal generation in a storage device with multiple storage media
JP2014182744A (ja) * 2013-03-21 2014-09-29 Nec Corp ディスク制御装置およびディスクの減設方法、ストレージシステム、並びにコンピュータ・プログラム
JP2018185757A (ja) * 2017-04-27 2018-11-22 富士通株式会社 ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム
JP2021128390A (ja) * 2020-02-10 2021-09-02 株式会社日立製作所 ストレージシステム、処理方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1643352A4 (en) * 2003-07-02 2009-03-04 Satoshi Yamatake DATABASE SYSTEM
US7694072B2 (en) * 2005-09-22 2010-04-06 Xyratex Technology Limited System and method for flexible physical-logical mapping raid arrays
US8364891B2 (en) * 2006-04-04 2013-01-29 Permabit Technology Corporation Storage assignment technique for scalable and fault tolerant storage system
US8161310B2 (en) * 2008-04-08 2012-04-17 International Business Machines Corporation Extending and scavenging super-capacitor capacity
US8040750B2 (en) * 2008-06-25 2011-10-18 International Business Machines Corporation Dual mode memory system for reducing power requirements during memory backup transition
US8219740B2 (en) * 2008-06-25 2012-07-10 International Business Machines Corporation Flash sector seeding to reduce program times
US8037380B2 (en) * 2008-07-08 2011-10-11 International Business Machines Corporation Verifying data integrity of a non-volatile memory system during data caching process
US8093868B2 (en) * 2008-09-04 2012-01-10 International Business Machines Corporation In situ verification of capacitive power support
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
US20100287329A1 (en) * 2009-05-06 2010-11-11 Apple Inc. Partial Page Operations for Non-Volatile Memory Systems
US8510493B2 (en) * 2010-12-27 2013-08-13 Lsi Corporation Circuit to efficiently handle data movement within a cache controller or on-chip memory peripheral
US9037679B2 (en) * 2012-12-31 2015-05-19 Futurewei Technologies, Inc. Efficient high availability storage systems
CN103927122B (zh) * 2013-01-11 2017-02-08 中兴通讯股份有限公司 一种扩展磁盘阵列的方法及装置
JP6307962B2 (ja) * 2014-03-19 2018-04-11 日本電気株式会社 情報処理システム、情報処理方法、及び、情報処理プログラム
US10198461B2 (en) * 2016-05-06 2019-02-05 Masergy Communications, Inc. Data storage system
JP6767319B2 (ja) * 2017-07-31 2020-10-14 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびファイルコピー方法
US11079957B2 (en) * 2019-11-01 2021-08-03 Dell Products L.P. Storage system capacity expansion using mixed-capacity storage devices
US11403022B2 (en) * 2020-06-03 2022-08-02 Dell Products L.P. Growing and splitting a disk array by moving RAID group members
US11314608B1 (en) * 2020-10-02 2022-04-26 Dell Products L.P. Creating and distributing spare capacity of a disk array
US11340789B2 (en) * 2020-10-13 2022-05-24 Dell Products L.P. Predictive redistribution of capacity in a flexible RAID system
US11893259B2 (en) 2021-01-07 2024-02-06 EMC IP Holding Company LLC Storage system configured with stealth drive group
US11989449B2 (en) 2021-05-06 2024-05-21 EMC IP Holding Company LLC Method for full data reconstruction in a raid system having a protection pool of storage units
US11748016B2 (en) * 2021-05-06 2023-09-05 EMC IP Holding Company LLC Method for adding disks in a raid system having a protection pool of storage units
US11640343B2 (en) 2021-05-06 2023-05-02 EMC IP Holding Company LLC Method for migrating data in a raid system having a protection pool of storage units
US11733922B2 (en) 2021-05-06 2023-08-22 EMC IP Holding Company LLC Method for data reconstruction in a RAID system having a protection pool of storage units

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003077111A1 (fr) * 2002-03-13 2003-09-18 Fujitsu Limited Controleur pour dispositif raid

Family Cites Families (13)

* Cited by examiner, † Cited by third party
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
JP3249868B2 (ja) 1993-11-19 2002-01-21 株式会社日立製作所 アレイ形式の記憶装置システム
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
JP3008801B2 (ja) 1995-02-16 2000-02-14 株式会社日立製作所 記憶装置システムおよびディスクアレイ制御装置
US5875456A (en) * 1995-08-17 1999-02-23 Nstor Corporation Storage device array and methods for striping and unstriping data and for adding and removing disks online to/from a raid storage array
JP3170455B2 (ja) * 1996-05-27 2001-05-28 インターナショナル・ビジネス・マシーンズ・コーポレ−ション データ記憶システムにおけるデータの再配置方法、そのシステムに記憶されたデータのアクセス方法及びデータ記憶システム
US6000010A (en) * 1997-05-09 1999-12-07 Unisys Corporation Method of increasing the storage capacity of a level five RAID disk array by adding, in a single step, a new parity block and N--1 new data blocks which respectively reside in a new columns, where N is at least two
JP2000010738A (ja) 1998-06-17 2000-01-14 Toshiba Corp ディスクアレイシステム、同システムに適用される記憶容量拡張方法および記録媒体
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 株式会社東芝 ディスクアレイ装置及び同装置における動的記憶容量拡張方法
US6898668B2 (en) * 2002-06-24 2005-05-24 Hewlett-Packard Development Company, L.P. System and method for reorganizing data in a raid storage system
JP2004213064A (ja) * 2002-12-26 2004-07-29 Fujitsu Ltd Raid装置及びその論理デバイス拡張方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003077111A1 (fr) * 2002-03-13 2003-09-18 Fujitsu Limited Controleur pour dispositif raid

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006318017A (ja) * 2005-05-10 2006-11-24 Nec System Technologies Ltd Raid構成変換方法、装置及びプログラム並びにこれを用いたディスクアレイ装置
JP2007149068A (ja) * 2005-11-23 2007-06-14 Internatl Business Mach Corp <Ibm> ストライピング済みディスク・データのリバランシングを行う方法、システム、及び製品(ストライピング済みディスク・データのリバランシング)
JP2009534767A (ja) * 2006-04-25 2009-09-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 入出力装置によるアクセスを受けるデータの移動
JP2009199426A (ja) * 2008-02-22 2009-09-03 Nec Corp 論理ディスク再構築装置、ディスクアレイ装置、及び論理ディスク再構築方法
JP2011003032A (ja) * 2009-06-18 2011-01-06 Toshiba Corp 映像蓄積再生装置
JP2011034546A (ja) * 2009-07-30 2011-02-17 Lsi Corp Erasureコード化されたデータストレージ容量及びパワーマネージメント方法及びシステム
US8321631B2 (en) 2009-08-04 2012-11-27 Samsung Electronics Co., Ltd. Parity calculation and journal generation in a storage device with multiple storage media
JP2014182744A (ja) * 2013-03-21 2014-09-29 Nec Corp ディスク制御装置およびディスクの減設方法、ストレージシステム、並びにコンピュータ・プログラム
JP2018185757A (ja) * 2017-04-27 2018-11-22 富士通株式会社 ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム
JP2021128390A (ja) * 2020-02-10 2021-09-02 株式会社日立製作所 ストレージシステム、処理方法
US11544005B2 (en) 2020-02-10 2023-01-03 Hitachi, Ltd. Storage system and processing method
JP7261756B2 (ja) 2020-02-10 2023-04-20 株式会社日立製作所 ストレージシステム、処理方法

Also Published As

Publication number Publication date
US7194580B2 (en) 2007-03-20
EP1519271A3 (en) 2010-06-02
JP4215606B2 (ja) 2009-01-28
EP1519271A2 (en) 2005-03-30
US20050063217A1 (en) 2005-03-24

Similar Documents

Publication Publication Date Title
JP4215606B2 (ja) ディスクアレイ装置および記憶容量拡張方法ならびにプログラム
JP3505093B2 (ja) ファイル管理システム
US10977124B2 (en) Distributed storage system, data storage method, and software program
US7831768B2 (en) Method and apparatus for writing data to a disk array
JP3371044B2 (ja) ディスクアレイのための領域割り当て方法およびディスクアレイアクセス方法
US6865598B2 (en) Utilization of unused disk space on networked computers
US20010018729A1 (en) System and method for storage media group parity protection
JP2007012054A (ja) ファイルシステム保全の最適化されたスタートアップ認証
JPH08221876A (ja) 記憶スペースを提供する方法
JP2007012056A (ja) データ保全の先送りされた認証を有するファイルシステム
JP2007012058A (ja) フラッシュ様媒体におけるトランザクションレコードを格納するファイルシステム
JPH0784732A (ja) 冗長性管理機能付メモリ・システムおよび方法
JPH05100960A (ja) 記憶サブシステム及びパリテイ・グループの一部を再生する方法
JP2007012060A (ja) 逆階層構造を有するファイルシステム
US20080091916A1 (en) Methods for data capacity expansion and data storage systems
US7225315B2 (en) High read performance file system and program
US20030056058A1 (en) Logical volume data migration
US8656131B2 (en) Method and apparatus for expanding a virtual storage device
JP2006318017A (ja) Raid構成変換方法、装置及びプログラム並びにこれを用いたディスクアレイ装置
JP2006331076A (ja) データ記憶システム及び記憶方法
CN102023845A (zh) 一种基于状态机的Cache并发访问管理方法
JP2008003857A (ja) ストレージ装置の容量拡張方法、プログラム、およびストレージ装置
JP3687111B2 (ja) 記憶装置システムおよび記憶装置の制御方法
JP2006178926A (ja) 複数のオブジェクトベースのストレージ装置を使用したストレージ装置、システム、および方法
US6862661B2 (en) Object oriented approach to a redundant array storage system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080122

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081021

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081104

R150 Certificate of patent or registration of utility model

Ref document number: 4215606

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131114

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term