JP5962621B2 - ストレージ装置及びその制御方法、並びにストレージ制御プログラム - Google Patents

ストレージ装置及びその制御方法、並びにストレージ制御プログラム Download PDF

Info

Publication number
JP5962621B2
JP5962621B2 JP2013194365A JP2013194365A JP5962621B2 JP 5962621 B2 JP5962621 B2 JP 5962621B2 JP 2013194365 A JP2013194365 A JP 2013194365A JP 2013194365 A JP2013194365 A JP 2013194365A JP 5962621 B2 JP5962621 B2 JP 5962621B2
Authority
JP
Japan
Prior art keywords
logical
storage area
storage
physical
extent
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.)
Active
Application number
JP2013194365A
Other languages
English (en)
Other versions
JP2015060440A (ja
Inventor
田中 英次
英次 田中
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
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2013194365A priority Critical patent/JP5962621B2/ja
Priority to US14/488,319 priority patent/US20150081969A1/en
Publication of JP2015060440A publication Critical patent/JP2015060440A/ja
Application granted granted Critical
Publication of JP5962621B2 publication Critical patent/JP5962621B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データを格納する記憶装置へのアクセスを分散することにより、当該記憶装置の負荷を分散し、当該記憶装置に対するアクセス性能を向上する、ストレージ装置及びその制御方法、並びにストレージ制御プログラムに関する。
近年、データの大容量化やデータアクセスの高速性に対する要求に応えながら、装置自体の信頼性を確保できるストレージ装置が用いられている。係るストレージ装置は、例えば、複数のハードディスク装置(HDD:Hard Disk Drive)や半導体記憶装置を備え、それらをRAID(Redundant Arrays of Inexpensive Disks)等の技術によって機能的に統合することにより、統合された論理ディスクをホスト側に提供する。
係るストレージ装置は、前記RAID技術等を用いて複数の物理記憶装置を統合した冗長グループに含まれる物理記憶領域を分割した物理エクステントと、前記論理ディスクを構成する論理エクステントとを関連付けて管理する。そして、係る関連付けの情報を利用して、ホストからの論理ディスクへのアクセスは、最終的に物理的な記憶装置に伝えられる。
上述したストレージ装置においては、通常、前記物理エクステントは特定の冗長グループに属するため、係る特定の論理エクステントに対するアクセスは、特定の冗長グループを構成する記憶装置に対するアクセスとなる。このため、特定の記憶装置にアクセスが集中する場合がある。
上記のようなアクセスの集中を緩和するために、ホスト側からのアクセス要求が複数の論理エクステントや物理エクステントに分散するよう、これらのサイズを小さくする方法が考えられる。しかしながら、単純にこれらのエクステントのサイズを小さくすると、エクステントの数は増大する。
このため、各エクステントに係る関連付け情報やサイズ情報、及び配置アドレス等を記録するための管理情報が増大し、当該管理情報を記憶するための記憶領域が増大する。係る増大した管理情報の記憶領域により、係るストレージ装置における物理的な記憶容量が圧迫され、ストレージ装置が提供する記憶容量の利用効率が低下する場合がある。
前記した特定の記憶領域に対するアクセスの集中を緩和する技術として、例えば以下の特許文献に開示された技術がある。
即ち、特許文献1は、特定の物理エクステントに対するデータアクセスの統計情報を集計しておき、当該物理エクステントに関連付けられた論理エクステントを含む論理ディスクのコピーボリュームを作成する際に、集計した統計情報を基に、当該論理エクステントに対応する物理エクステントを変更する技術を開示する。特許文献1に開示された技術によれば、論理ディスクのコピーボリュームを作成するタイミングで、物理的な記憶装置に対するアクセスの集中が緩和される可能性がある。
特許文献2は、データが複数の記録装置にストライピングされているストレージ装置において、新たな記憶装置を当該ストレージ装置に追加する際に、既存のストライプ済みデータを再配置することで、アクセス負荷をリバランスする技術を開示する。特許文献2に開示された技術によれば、ストレージ装置に新規記憶装置を追加する際に、データのリバランスにより、既存の記憶装置に対するアクセス集中が緩和される可能性がある。
また、前記したエクステントの管理情報の増大を緩和する技術として、例えば以下の特許文献に開示された技術がある。
即ち、特許文献3は、物理エクステントと論理エクステントの対応関係との管理情報のサイズを調整する技術を開示する。特許文献3に開示された技術によれば、例えば記憶装置の増設や物理エクステントサイズの縮小により、物理エクステントに関する管理情報のサイズが増大した場合には、当該物理エクステントが対応付けられる論理エクステントをグループ化することにより、管理情報のサイズを縮小し、記憶装置の撤去や、物理エクステントサイズの増大等により、前記物理エクステントに関する管理情報のサイズが減少する場合は、前記グループ化を解除する。
特開2009−217700号公報 特開2007−149068号公報 特開2010−211681号公報
前述した通り、冗長構成を有する記憶装置における特定の記憶領域に関連付けされる物理エクステントと、ホスト側に記憶領域として提供する論理ディスクを構成する論理エクステントと、を関連付けて管理するストレージ装置においては、各エクステントに対するアクセスを分散することにより記憶装置の負荷を分散するという課題がある。
前記特許文献1及び特許文献2は、特定のタイミングで記憶装置に対するアクセス集中を緩和する技術を開示するに留まる。また、前記特許文献3は、論理エクステントと物理エクステントの管理情報のサイズを調整する技術を開示するに留まるので、ストレージ装置の稼働時における、特定の記憶装置に対するアクセスを分散させるための対応が不十分である。
そこで本発明は、ストレージ装置の稼働時における、記憶装置に対するアクセスを分散することが可能なストレージ装置及びその制御方法、並びにストレージ制御プログラムを提供することを主たる目的とする。
上記の目的を達成すべく、本発明に係るストレージ装置は、以下の構成を備えることを特徴とする。即ち、本発明に係るストレージ装置は、1台以上の記憶装置により構成され、当該1台以上の記憶装置が有する特定の記憶領域を関連付けて第1の物理記憶領域として提供する1組以上のストレージグループと、前記第1の物理記憶領域と関連付けされた第1の論理記憶領域を、複数関連付けて第2の論理記憶領域を構成し、構成した第2の論理記憶領域が割り当てられた論理ディスクを、記憶領域として外部装置に提供する、ストレージコントローラと、
を備える。
また、本発明に係るストレージ装置の制御方法は、以下の構成を備えることを特徴とする。即ち、本発明に係るストレージ装置の制御方法は、情報処理装置によって、ストレージグループを構成する1台以上の記憶装置が有する特定の記憶領域を関連付けて物理記憶領域を構成し、前記第1の物理記憶領域と関連付けされた第1の論理記憶領域を、複数関連付けて第2の論理記憶領域を構成し、前記構成した第2の論理記憶領域が割り当てられた論理ディスクを、記憶領域として外部装置に提供する。
また、本発明に係るストレージ制御プログラムは、以下の構成を備えることを特徴とする。即ち、本発明に係るストレージ御プログラムは、ストレージ装置の制御プログラムであって、ストレージグループを構成する1台以上の記憶装置が有する特定の記憶領域を関連付けて物理記憶領域を構成する処理と、前記第1の物理記憶領域と関連付けされた第1の論理記憶領域を、複数関連付けて第2の論理記憶領域を構成する処理と、前記構成した第2の論理記憶領域が割り当てられた論理ディスクを、記憶領域として外部装置に提供する処理と、をコンピュータに実行させる。
なお、上記本発明の目的は、係るストレージ制御プログラムが格納された、コンピュータ読み取り可能な記憶媒体によっても実現可能である。
上記本発明によれば、本願ストレージ装置が記憶するデータへのアクセスは、異なるストレージグループに配置された記憶装置に分散されるため、記憶装置の負荷を低減し、アクセス性能を向上できる。
図1は、本願発明の第1の実施形態におけるストレージ装置の機能的な構成を表す模式図である。 図2は、本願発明の第1の実施形態における記憶装置群を構成する各記憶装置の冗長構成について例示する模式図である。 図3は、本願発明の第1の実施形態における論理ディスクと、物理エクステントとの関連を例示する模式図である。 図4は、本願発明に関連する技術における、論理エクステントと物理エクステントとの関係を例示した模式図である。 図5は、本願発明の第1の実施形態における、論理エクステントと物理エクステントとの関係を例示した模式図である。 図6は、本願発明の第2の実施形態における記憶装置群を構成する各記憶装置の冗長構成について例示する模式図である。 図7は、本願発明の第2の実施形態における構成管理メモリの一例を例示する、模式図である。 図8は、本願発明の第2の実施形態において、マルチエクステントとして採用し得る構成の一例を示した模式図である。 図9は、本願発明の第2の実施形態における、マルチエクステントを有する論理ディスクの構築過程を例示するフローチャートである。 図10は、本願発明の第2の実施形態において、論理ディスクの構築過程を例示する、模式図である。 図11は、本願発明の第2の実施形態において、論理ディスクの構築過程を例示する、模式図である。 図12は、本願発明の第2の実施形態において、論理ディスクの構築過程を例示する、模式図である。 図12は、本願発明の第2の実施形態において、論理ディスクの構築過程を例示する、模式図である。 図14は、本願発明の第2の実施形態において、論理アドレスに関連付けられた物理アドレスを判定する処理を例示したフローチャートである。 図15は、本願発明の第2の実施形態において、論理アドレスと、物理アドレスとの間の関連付けを例示する模式図である。 図15は、本願発明の第2の実施形態において、論理アドレスと、物理アドレスとの間の関連付けを例示する模式図である。 図15は、本願発明の第2の実施形態において、論理アドレスと、物理アドレスとの間の関連付けを例示する模式図である。 図15は、本願発明の第2の実施形態において、論理アドレスと、物理アドレスとの間の関連付けを例示する模式図である。 図19は、本願発明の実施形態において、マルチエクステントとして採用し得る構成の一例を示した模式図である。 図20は、本願発明の実施形態において、マルチエクステントとして採用し得る構成の一例を示した模式図である。 本発明の各実施形態に係る、ストレージ装置のハードウェア構成を例示した模式図である。
次に、本発明を実施する形態について、図面を参照して詳細に説明する。
<第1の実施形態>
本発明の第1の実施形態におけるストレージ装置について、図1を参照して説明する。図1は、本実施形態におけるストレージ装置の機能的な構成を表す模式図である。
図1に示すように、本実施形態におけるストレージ装置100は、ストレージ装置全体の制御を担当するストレージコントローラ102と、1台以上の記憶装置を有し、データを記憶する記憶装置群103と、を有し、ホストマシン101に対して、記憶領域を提供する。以下、各構成要素について説明する。
記憶装置群103は、ホストコンピュータ101からの読み込みや書き込み等のアクセス要求の対象となるデータを記憶する、1台以上の記憶装置を有する。本実施形態においては、例えば、データアクセスの高速化及び記憶容量の大容量化を実現すると共に、装置としての信頼性を確保するため、前記各記憶装置をRAID等の技術を用いて統合し、冗長構成を有する記憶装置群103を形成してもよい。
記憶装置群103を構成する各記憶装置(図3に例示する記憶装置103a乃至記憶装置103eなど)は、それぞれデータを記憶可能な任意の記憶媒体を用いて構成してよい。前記各記憶装置としては、例えば、ハードディスクドライブ(HDD:Hard Disk Drive)や、フラッシュメモリ等の不揮発性半導体メモリを採用したSSD(solid state drive)等の既存の不揮発性記憶装置を採用してもよい。
なお、図1においては、記憶装置群103を構成する記憶装置として、記憶装置103a乃至記憶装置103eが例示されているが、本実施形態は図3に示す例示に限定されない。記憶装置群103を構成する記憶装置の台数は、ストレージ装置100に求められる記憶容量やアクセス性能等の要件に応じて適宜適切に選択してよい。
ストレージコントローラ102は、ホストマシン101と通信可能に接続されており、ホストマシン101に対する接続インタフェースとしても機能してよい。ストレージコントローラ102は、ホストマシン101に対して、論理的な記憶領域である論理ディスクを提供し、例えば、当該論理ディスクに対するデータアクセス要求に応じて、記憶装置群103に対するデータの読み込みや書き込みなどデータアクセス処理を行う。ホストマシン101と、ストレージコントローラ102との間は、例えば、SAN(Storage Area Network)を構成するように、FB(Fiber Channel)やiSCSI(Internet Small Computer System Interface)等の周知のストレージ接続技術を用いて接続してもよい。なお、ホストマシン101とストレージコントローラ102との間の接続は、前述した例示に限定されず、ホストマシン101とストレージ装置100とが設置される環境等に応じて、適宜適切な技術を選択してよい。
ストレージコントローラ102は、記憶装置群103と、当該記憶装置群103を構成する各記憶装置が記憶するデータにアクセスできるよう、通信可能に接続されている。ストレージコントローラ102と、記憶装置群103との間の接続は、それぞれの構成に応じて適宜適切な技術を採用してよい。例えば、ストレージコントローラ102がRAID制御を実行する場合、ストレージコントローラ102と各記憶装置との間は、SCSI(Small Computer System Interface)やATA(Advanced Technology Attachment)等、各記憶装置において対応している接続インタフェースを採用してもよい。記憶装置群103側でRAID制御を実行する場合は、記憶装置群103側に設けたRAID制御部(不図示)と、ストレージコントローラ102との間を、例えば、各種通信バスや、特定の共有メモリを利用したメモリマップドIO(Input Output)等を用いて接続してもよい。本実施形態におけるストレージコントローラの具体的な機能については、後述する。
ホストマシン101は、ストレージ装置100を記憶領域として参照し、ストレージ装置100に対してデータアクセスを要求する、任意の装置である。本実施形態におけるホストマシン101は、例えばファイルサーバ、データベースサーバ、電子メールサーバ等の各種サーバを構成する任意のコンピュータやプリンタ等、なんらかのデータへのアクセスを必要とする任意の装置であってもよい。
次に、本実施形態におけるストレージ装置の動作について説明する。
まず、記憶装置群103について説明する。図2は、本実施形態における記憶装置群103を構成する、各記憶装置の冗長構成について例示する模式図である。本実施形態においては、記憶装置群103を構成する各記憶装置(図1に例示した記憶装置103a乃至記憶装置103e等)は、例えば、前記したRAID技術等を用いて、冗長構成を構築するように統合されてもよい。なお、本実施形態においては、前記各記憶装置として、例えば、HDD等の磁気ディスク装置を採用してもよい。
図2に例示した構成においては、記憶装置群103は、記憶装置200乃至記憶装置203の4台から、冗長グループ0を構成し、記憶装置204乃至記憶装置208の5台を用いて、冗長グループ1を構成する。それぞれの冗長グループは、例えば、前記RAID技術において規定された周知の冗長構成を採用してもよく、図2に例示する構成においては、RAIDレベル6(以下RAID6と称することがある)による冗長構成を採用している。
一般的に、RAID6による冗長構成は、データ記憶用の記憶装置2台と、障害復旧を目的とした冗長データであるパリティ記憶用の記憶装置2台との、最小4台の記憶装置を用いて構築される。なお、各記憶装置における記憶領域を、4つ分割した場合、記憶装置の台数が4台ではなくとも、RAID6の冗長構成を構築可能である。このような記憶領域の分割としては、例えば、HDDにおけるパーティション分割を利用可能である。
図2に例示した構成を参照すると、記憶装置200乃至記憶装置208における記憶領域は、それぞれ4つのパーティションに分割されている。冗長グループ1を構成する記憶装置204乃至記憶装置208においては、例えば、パーティション(2044)−(2054)−(2064)−(2074)、パーティション(2050)−(2060)−(2070)−(2080)、パーティション(2041)−(2061)−(2071)−(2081)、パーティション(2042)−(2052)−(2072)−(2082)及び、パーティション(2043)−(2053)−(2063)−(2083)を組み合わせて、RAID6の冗長構成を構築する。
本実施形態においては、例えば、これら複数の記憶装置のパーティションから一定の領域を用いて物理エクステント1を構成し、更にその続きから一定の領域を取り出して物理エクステント2を構成し、これを繰り返してn個の物理エクステントを構成してもよい。本実施形態においては、例えば、各物理エクステントの容量を同一としてよい。
本実施形態における記憶装置群103は、前記構成した物理エクステントを、ストレージコントローラ102に対して提供するよう構成してもよい。また、本実施形態における記憶装置群103は、係る記憶装置群103において提供可能な物理エクステントのサイズや個数等の情報や、物理エクステントの記録状態(何らかのデータが記録されているか否か)等を、ストレージコントローラ102に対して提供するよう構成してもよい。
次に、図3を参照して、本実施形態においてストレージコントローラ102が、記憶装置群103により提供される冗長グループと、ホストマシン100に対して記憶領域として提供される論理ディスクとを関連付ける方法について説明する。
図3は、本実施形態における論理ディスク301と、各冗長グループが提供する物理エクステントとの関連を例示する模式図である。本実施形態においては、容量プール(以下、プールと称する場合がある)という概念を導入し、1つ以上の冗長グループ内に構成される物理エクステントを統合して、ホストマシン101に対して論理ディスクとして提供してもよい。
図3に例示する構成においては、プール300は、図2において例示した、前記冗長グループ0と、前記冗長グループ1と、を有する。各冗長グループに属する物理エクステントは、プール300に属する物理エクステントとなる。また、本実施形態においては、ホストマシン101に対して記憶領域として提供する論理ディスク301も、プール300内に構築してよい。
本実施形態におけるストレージコントローラ102は、プール300に作成した論理ディスク301を、論理エクステントという論理的な記憶単位の集合として構成してよい。即ち、ストレージコントローラ102は、例えば、論理ディスク301を、論理エクステントという単位で分割して管理してもよい。本実施形態においては、論理ディスク301は、1つ以上の論理エクステントを割り当てることにより構築されるため、論理ディスク301の容量(サイズ)が増大するほど、論理ディスク301を構成する論理エクステントの数は増大する。
本実施形態におけるストレージコントローラ102は、前述した論理エクステントと、各冗長グループから提供される物理エクステントとを関連付けて管理する。ストレージコントローラ102は、論理ディスク301を構成する全ての論理エクステントについて、それぞれ物理エクステントを関連付ける。結果として、論理ディスク301は、物理的な記憶装置における特定の記憶領域に関連付けられる。
以上のように構成された本実施形態において、論理ディスク301の特定の領域に対するホストマシン101からのアクセス要求を受信した場合の、ストレージコントローラ102の基本的な動作について説明する。まず、ストレージコントローラ102は、当該アクセス要求に含まれるアクセス対象の論理アドレスを抽出する。次にストレージコントローラ102は、当該論理アドレスを有する論理エクステントを選択し、前記選択した論理エクステントと関連付けられた物理エクステントを選択する。次に、ストレージコントローラ102は、当該選択した物理エクステントの先頭位置からのオフセットアドレスを算出する。ストレージコントローラ102は、更に、前記算出したオフセットアドレスから、前記選択した物理エクステントにおける物理アドレスを算出し、当該物理アドレスに関連付けられた記憶装置上の記憶領域(のアドレス)を特定する。
次に、本実施形態における、記憶装置に対するアクセス負荷を分散する構成について説明する。本実施形態において、ストレージコントローラ102は、複数の論理エクステントをまとめたマルチエクステントという論理記憶領域を導入することにより、当該マルチエクステントにより提供される論理アドレスに対するデータアクセスを、複数の記憶装置に分散する。以下、図3を参照して、本実施形態におけるマルチエクステントの構成を説明する。
本実施形態においては、例えば、ストレージコントローラ102は、論理ディスク301を構成する際、1つ以上の異なる冗長グループから未使用の物理エクステントを複数選択できた場合は、当該選択した物理エクステントと、前記論理ディスク301を構成する論理エクステントとを、順番に関連付ける。次に、ストレージコントローラ102は、異なる冗長グループに属する物理エクステントに関連付けられた論理エクステントをまとめて、マルチエクステントを構成する。なお、本実施形態において未使用の物理エクステントとは、論理ディスクを構成するいずれの論理エクステントとも関連付けられていない物理エクステントである。
図3に例示する構成においては、ストレージコントローラ102は、論理エクステント302を冗長グループ0に属する物理エクステント305と関連付け、論理エクステント303を冗長グループ1に属する物理エクステント307と関連付ける。ストレージコントローラ102は、それぞれ異なる冗長グループに属する物理エクステントに関連付けられた論理エクステント302及び論理エクステント303をまとめて、マルチエクステント304を構成する。
次に、図4及び図5を参照して、本実施形態における前記マルチエクステントの扱いについて説明する。図4は、マルチエクステントを導入しない場合の、前記論理エクステントと物理エクステントとの関係を例示した模式図である。図5は、マルチエクステントを導入した場合の、前記論理エクステント(マルチエクステント)と、物理エクステントとの関係を例示した模式図である。
図4に例示するように、マルチエクステントを導入しない一般的な構成においては、通常、論理エクステントと物理エクステントは1対1となるよう関連付けられ、それぞれのエクステントの記憶容量(サイズ)は同一である。この場合、論理エクステントのオフセットアドレス(先頭アドレスからのオフセット位置)の領域は、関連付けられている物理エクステントのオフセットアドレスの領域と一致する。例えば、図4に例示する構成においては、論理エクステント”L−Ext0”と、物理エクステント”P−Ext0”とが関連付けられているが、論理エクステント”L−Ext0”のオフセットアドレス0及び1は、共に”P−Ext0”のオフセットアドレス0及び1にそれぞれ該当している。即ち、論理エクステント”L−Ext0”のオフセットアドレス1に対するアクセスは、物理エクステント”P−Ext0”のオフセットアドレス1へのアクセスとなる。
次に図5に例示する、前述したマルチエクステントを導入した構成について説明する。図5に例示する構成においては、マルチエクステント304を構成するそれぞれの論理エクステント(図5における”L−Ext0”及び”L−Ext1”)は、それぞれ異なる冗長グループ(例えば図3に例示する冗長グループ0及び冗長グループ1)に属する、物理エクステント(図5における”P−Ext0”及び”P−Ext1”)に分散して関連付けられる。つまり、図5に例示する構成においては、マルチエクステントを構成する論理エクステント”L−Ext0”は、特定のアドレス範囲毎に、当該論理エクステントに関連付けられた物理エクステント”P−Ext0”における特定のアドレス範囲と、当該マルチエクステントを構成する他の論理エクステント”L−Ext1”に関連付けられた物理エクステント”P−Ext1”における特定のアドレス範囲とに、分散して関連付けられる。即ち、”L−Ext0”のオフセットアドレス0は、”P−Ext0”におけるオフセットアドレス0に関連付けられ、”L−Ext0”のオフセットアドレス1は、”L−Ext0”と共にマルチエクステントを構成する”L−Ext1”と関連付けられている、”P−Ext1”のオフセットアドレス0に関連付けられる。このため、論理エクステント”L−Ext0”のオフセットアドレス1へのアクセスは、物理エクステント”P−Ext1”のオフセットアドレス0へのアクセスとなる。
以上説明した通り、本実施形態において導入したマルチエクステントを構成する論理エクステントへのアクセスは、複数の物理エクステントに対して分散することから、マルチエクステントを構成する複数の論理エクステントと、当該複数の論理エクステントにそれぞれ関連付けられた物理エクステントとの間で、データがストライピングされる。この場合、例えば、マルチエクステントを構成する論理エクステントと、当該論理エクステントに関連付けられた物理エクステントとの間で、前記RAID技術におけるRAIDレベル0(以下RAID0と称することがある)が仮想的に構成されるともとらえられる。
上述の通り、本実施形態におけるストレージコントローラ102は、複数の論理エクステントから構成されるマルチエクステントを導入することにより、マルチエクステントを構成する論理エクステントに対するアクセスを、異なる冗長グループに属する物理エクステントに分散できる。
以上説明した本実施形態におけるストレージ装置100によれば、例えば、ストレージコントローラ102は、複数の異なる冗長グループ(例えば図3に例示した冗長グループ0及び冗長グループ1等)に属する物理エクステント(例えば図3例示した305、307等)に関連付けられ、連続して配置される論理エクステント(例えば図3に例示した302、303等)をまとめてマルチエクステント(例えば図3に例示した304等)を構成し、当該マルチエクステントを含む論理ディスク(例えば図3に例示した301)をホストマシン101に対して記憶領域として提供できる。このような構成により、本実施形態におけるストレージコントローラ101は、マルチエクステントを用いて構成される領域へのホストマシン101からのアクセス要求を、異なる冗長グループに属する物理エクステントに対するアクセス要求に分散できる。
本実施形態によるストレージ装置によれば、ホストマシン101による特定のデータへのアクセスは、複数の異なる冗長グループに配置された記憶装置に分散されるため、記憶装置の負荷を低減し、アクセス性能を向上できる、という効果を奏する。
なお、本実施形態におけるストレージコントローラ102は、独立した専用のハードウェアを用いて構成してもよいが、図21に例示するような汎用のCPU(Central Processing Unit)やマイクロプロセッサ等の演算装置及2101及び、当該演算装置から参照されるメモリ等の記憶装置2102等からなるハードウェアと、当該演算装置2101によって実行される各種ソフトウェア・プログラム(コンピュータ・プログラム)とによって構成してもよい。更に、上記各ソフトウェア・プログラムを外部記憶媒体2105に記録しておき、ストレージ装置100の出荷段階、あるいは運用段階等において、適宜外部記憶装置2104を通じて当該ソフトウェア・プログラムを不揮発性メモリ2103に格納するよう構成してもよい。
また、本実施形態におけるストレージコントローラ102は、ネットワークインタフェース2106により通信ネットワークと接続するよう構成してもよく、当該通信ネットワークを経由して、ホストマシン101と接続してもよい。更に、ストレージコントローラ102は、ストレージインタフェース2107により、記憶装置群103と接続するよう構成してもよい。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な構成を中心に説明する。その際、前記第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
本実施形態におけるストレージ装置100は、前記第1の実施形態におけるストレージ装置100と基本的な構成は同様である。以下、図6を参照して、本実施形態における特徴的な構成であるストレージコントローラ102の構造を中心に説明する。
本実施形態におけるストレージコントローラ102は、ホストマシン101との接続インタフェースとなる、ホストインタフェース102aと、記憶装置群103と接続される記憶装置インタフェース102cと、ホストマシン101と記憶装置群103との間でデータを一時的に保存するキャッシュメモリ102bと、ストレージコントローラ102における各種処理や制御を実行するマイクロプロセッサ102dと、論理ディスクを構成する論理エクステントと物理エクステントとの関連付け情報等を格納する構成管理メモリ102eを有するよう構成してもよい。以下、それぞれの構成要素について説明する。
ホストインタフェース102aは、ホストマシン101と通信可能に接続されており、ホストマシン101に対してストレージ装置100としてのインタフェースを提供し、ホストマシン101との間でデータの送受信を行う。ホストインタフェース102aと、ホストマシン101との間の通信方式は、前述の通り、例えばSANを構成するようにFBやiSCSI等の周知のストレージ接続技術を採用してもよい。
キャッシュメモリ102bは、一般的に、記憶装置群103よりもアクセス速度が速い半導体記憶装置等を用いて構成され、ホストマシン101からアクセスされたデータを一時的に記録するよう構成してもよい。例えば、ホストマシン101から一度アクセスされたデータをキャッシュメモリ102b上に記録するよう構成すると、ホストマシン101が再度同じデータを参照する際、ストレージコントローラ102は、キャッシュメモリ102b上に記録されたデータを提供することにより、見かけ上のアクセス速度を向上することができる。なお、本実施形態において、キャッシュメモリ102b自体の要否や、キャッシュメモリ102bを設ける場合の記憶容量等は、ストレージコントローラに求められるアクセス性能等に基づいて、適宜選択してよい。
記憶装置インタフェース102cは、記憶装置103a乃至記憶装置103eとの間と通信可能に接続されている。記憶装置インタフェース102cと、係る各記憶装置との間におけるデータの送受信(読み書き)には、前記第1の実施形態において説明した通り、周知のデータアクセスのインタフェースを採用してよい。
マイクロプロセッサ102dは、本実施形態におけるストレージコントローラの動作を制御する制御装置である。マイクロプロセッサ102dは、ストレージ装置100を制御する制御ロジックを組み込んだ専用の制御用ハードウェアを用いて構成してもよく、前述したように汎用の演算処理装置と、当該演算処理装置から参照される図示しない汎用メモリと、等を用いて構成してもよい。マイクロプロセッサ102dを、汎用の演算処理装置を用いて構成する場合、当該マイクロプロセッサ102dは、ストレージ装置100を制御するソフトウェア・プログラムを実行することにより、ストレージ装置100の動作を制御する。
構成管理メモリ102eは、前記実施形態1において説明したマルチエクステントを構成する論理エクステント間の関連付けや、論理エクステントと物理エクステントの間の関連付けに関する情報を格納している記憶領域であり、例えば論理エクステント対応テーブル102fと、物理エクステント対応テーブル102gと、を有するよう構成してもよい。構成管理メモリ102eは、不揮発性で読み書き可能な半導体記憶装置における記憶領域の一部に格納されてもよく、ストレージ装置100の稼働状態においてマイクロプロセッサ102dから参照可能なように、マイクロプロセッサ102dから参照可能なメモリ上に読み込まれるよう構成してもよい。
本実施形態においても前記第1の実施形態と同様、ストレージコントローラ102は、ホストマシン101に対して記憶領域としての論理ディスクを提供する。図6においては、図番102hが当該論理ディスクを模式的に表している。ホストマシン101からのアクセス要求に応じて、マイクロプロセッサ102dは、構成管理メモリ102eの内容などを用いて論理ディスク102hを構成し、アクセス要求の要求元であるホストマシン101に提供する。なお、本実施形態においては、論理ディスク102hは、構成管理メモリ102eの一部として設けてもよく、あるいはマイクロプロセッサ102dからアクセス可能な、図示しないメモリ領域に設けてもよい。
以下図7及び図8を参照して、本実施形態における構成管理メモリ102eの構成について説明する。
図7は、本実施形態における構成管理メモリ102eの一例を例示する、模式図である。図7に示すように、構成管理メモリ102eを構成する論理エクステント対応テーブル102fは、ストレージ装置100が提供する論理ディスク(例えば、図3に例示する301)を構成する論理エクステント(例えば、図3に例示する302、303等)を一意に識別可能な論理エクステント番号(図7における701)と、各論理エクステントに割り当てられた論理アドレス(図7における702)と、各論理エクステントと関連付けられた物理エクステントを参照する対応物理エクステント番号(図7における703)と、マルチエクステントを構成する論理エクステントを関連付ける情報であるマルチカウント(図7における704)と、を有するよう構成してもよい。
物理エクステント対応テーブル102gは、各冗長グループ(例えば、図3に例示する冗長グループ0及び冗長グループ1等)に属する物理エクステントを一意に識別可能な、物理エクステント番号(図7における706)と、当該物理エクステント番号により識別される物理エクステントと関連付けられた論理エクステントを参照する対応論理エクステント番号(図7における705)を有するよう構成してもよい。
前記第1の実施形態と同様、ストレージコントローラ102は、論理エクステントの集合として論理ディスクを構築してもよい。ストレージコントローラ102は、1つ以上の冗長グループか未使用の物理エクステントを選択し、論理ディスクを構成する論理エクステントと関連付けてもよい。以下、本実施形態におけるマルチエクステントの構成方法及び、論理エクステントと物理エクステントとの間の関連付け方法について説明する。
前記第1の実施形態と同様、前述したプール内に複数の冗長グループが存在し、各冗長グループから未使用の物理エクステントが複数提供される場合、ストレージコントローラ102は、当該物理エクステントと、前記論理ディスクを構成する論理エクステントとを、順番に関連付ける。本実施形態におけるストレージコントローラ102は、異なる冗長グループに属する物理エクステントと関連付けられた論理エクステントをまとめて、マルチエクステントを構成する。
本実施形態におけるマルチエクステントの構成について、図8を参照して説明する。図8は、本実施形態におけるマルチエクステントとして採用し得る構成の一例を示した模式図であり、本実施形態においてマルチエクステントを構成する最小の論理エクステントの個数(以下ベース値と称する場合がある)を2個とした場合の、論理ディスク上に配置されるマルチエクステントの境界を例示している。
ここで、本実施形態におけるストレージコントローラ102は、前記ベース値を2個とした場合、論理ディスクの先頭から順番に、ベース値2に2のべき乗を乗算した積になる境界に配置される論理エクステントから、2のべき乗個数分の論理エクステントをまとめて、マルチエクステントを構成する。図8を参照すると、例えば、(ベース値2)×(2の0乗(=1))=2個の論理エクステントを用いてマルチエクステントを構成する場合、各マルチエクステントの先頭エクステントは、論理エクステント番号が”LExt00”、”LExt02”、”LExt04”、”LExt06”、”LExt08”、”LExt10”、”LExt12”、”LExt14”となり、先頭(”LExt00”)から順番にベース値2に2のべき乗を乗算した積(この場合は2)となる境界に配置される。同様に、(ベース値2)×(2の1乗(=2))=4個の論理エクステントを用いてマルチエクステントを構成する場合、各マルチエクステントの先頭エクステントは、論理エクステント番号が”LExt00”、”LExt04”、”LExt08”、”LExt12”となり、(ベース値2)×(2の2乗(=4))=8個の論理エクステントを用いてマルチエクステントを構成する場合、各マルチエクステントの先頭エクステントは、論理エクステント番号が”LExt00”、”LExt08”、となる。なお、図8においては論理エクステント番号が”LExt15”までの15個を用いて論理ディスクを構成する場合を例示しているが、15個以上の場合も同様である。
ここで、前述したように、ストレージコントローラ102は、マルチエクステントを構成する論理エクステントに、それぞれ異なる冗長グループに属する物理エクステントを関連付ける。本実施形態においては、図8に示すようなマルチエクステントを構成するため、ストレージコントローラ102は、ベース値2に2のべき乗を乗算した積になる数をマルチカウントとし、係るマルチカウントに相当する数の異なる冗長グループから未使用の物理エクステントを取得できた場合に、当該物理エクステントに関連付けられる論理エクステントをまとめて、マルチエクステントを構成する。本実施形態においては、前記マルチカウントは、特定のマルチエクステントを構成する複数の論理エクステント同士を関連付ける、関連付け情報として用いられる。特定のマルチエクステントを構成する論理エクステントのマルチカウントは同じ値となる。
図8に例示する構成においては、ストレージコントローラ102は、例えば、論理エクステント”LExt00”及び”LExt01”を、マルチカウント2を用いて関連付けられるが、”LExt1”及び”LExt2”を、マルチカウントメモリ2を用いて関連付けることはない(即ち、マルチカウントが2となるマルチエクステントを構成することはない)。これは、”LExt1”と”LExt2”とが、マルチカウント2である場合の境界(ベース値2×2のべき乗、この場合は2)を跨いでいるからである。同様に、ストレージコントローラ102は、”LExt00”乃至”LExt03”を、マルチカウント4を用いて関連付けられるが、例えば”LExt02”乃至”LExt05”や、”LExt03”乃至”LExt06”を、マルチカウント4を用いて関連付けることはない。
また、論理エクステント”LExt00”のマルチカウントが2であれば、論理エクステント”LExt01”のマルチカウントは、2となる。同様に、論理エクステント”LExt01”のマルチカウントが4であれば、”LExt00”から”LExt03”までの全てのマルチカウントは4となる。マルチカウントが8,16,32となる場合も同様に、特定のマルチエクステントを構成する複数の論理エクステントに関連付けされるマルチカウントの値は、それぞれ同一の値となる。
図7を参照すると、論理エクステント対応テーブル102fには、論理エクステント番号701毎に、マルチカウントを記憶する領域が設けられている(図7における704)。図7に例示する構成においては、論理ディスクの論理エクステント”L−Ext0−0”は冗長グループ0の物理エクステント”P−Ext0−0”に関連付けられ、論理エクステント”L−Ext0−1”は冗長グループ0の物理エクステント”P−Ext1−0”と関連付けられている。”L−Ext0−0”は論理ディスクの先頭であり、また、”L−Ext0−0”、”L−Ext0−1”と2つ連続して異なる冗長グループから物理エクステントを取得しているため、マルチカウントメモリを2としている。同様に、”L−Ext0−2”は冗長グループ0の物理エクステント”P−Ext0−1”に関連付けられ、論理エクステント”L−Ext0−3”は冗長グループ0の物理エクステント”P−Ext1−1”と関連付けられている。”L−Ext0−2”は論理ディスクの先頭から2番目(ベース値2に2のべき乗を乗算した値となる境界)に配置され、また、論理エクステント”L−Ext0−2”、”L−Ext0−3”は、連続して異なる冗長グループから物理エクステントと関連付けられているため、マルチカウントメモリを2としている。”E−Ext0−4”と、”L−Ext0−5”についても同様である。
次に、本実施形態におけるストレージコントローラ102が、前述した本実施形態におけるマルチエクステントを有する論理ディスクを構築する処理について、図9乃至図12を参照して説明する。図9は、本実施形態における、マルチエクステントを有する論理ディスクの構築過程を例示するフローチャートである。また、図10乃至図12は、論理ディスクの構築過程を例示する、模式図である。
以下においては、前記プールに4つの冗長グループが存在し、冗長グループ0には未使用物理エクステントが1つ、冗長グループ1には未使用物理エクステントが1つ、冗長グループ2には未使用物理エクステントが3つ、冗長グループ3には未使用物理エクステントが3つある状態で、エクステントを7つ使用する容量の論理ディスクを構築する場合を、本実施形態における1つの実施例として説明する。以下の実施例においては、論理エクステント及び物理エクステントのサイズはそれぞれ256KiB(1KiB=1024バイト)とする。マルチエクステントを構成する複数の論理エクステントと、当該論理エクステントにそれぞれ関連付けられた物理エクステントとの間でデータを分散するアドレス範囲の単位(即ち、前記第1の実施形態において説明したストライピングの単位)は1KiBとする。また、マルチエクステントを構成する論理エクステントの個数(ベース値)は、2個とする。
なお、論理エクステント及び物理エクステントのサイズと、前記第1の実施形態において説明したストライピングの単位のサイズは、上記に例示した値に限定されず、ストレージ装置として要求される仕様等に基づいて、適宜適切な値を採用して良い。例えば、エクステントのサイズを256MB(MegaByte)として、ストライピングのサイズを1MBとしてもよい。
まず、ホストマシン101に対して提供する論理ディスクの構築処理を説明する。ストレージコントローラ102は、ホストマシン101から論理ディスク102hの構築要求を受け付ける(図9のステップS901)。
ストレージコントローラ102は、前記論理ディスク構築要求を解析し、必要とされる論理容量(論理ディスクとしてホストマシン101に提供する記憶容量)に応じて、前記論理ディスク102hに割り当てるための論理エクステントを作成する(ステップS902)。図10に示す実施例においては、ストレージコントローラ102は、論理ディスク102hに割り当てるため、論理エクステント番号が”L−Ext0−0”乃至”L−Ext0−6”の7つの論理エクステントを作成する。
次に、ストレージコントローラ102は、論理ディスク102における論理アドレスの昇順に、論理ディスク102hを構成する各論理エクステントに対して物理エクステントを関連付ける処理を実行する(ステップS903乃至ステップS912)。
まず、ストレージコントローラ102は、論理ディスク102hを構成する論理エクステントについて、マルチエクステントを構成可能か確認する(ステップS904)。以下、マルチエクステントの構成可否を判定する処理について説明する。
ストレージコントローラ102は、論理ディスクを構成する先頭の論理エクステントを選択し、マルチエクステントを構成し得る境界条件を確認する。図10に示す実施例においては、先頭の論理エクステント”L−Ext0−0”はマルチカウントが2,4、8、・・・となるマルチエクステントの先頭エクステントになり得る。ストレージコントローラ102は、図8に例示するような境界条件に基づいて、いずれのマルチカウントによるマルチエクステントを構成可能か判定する。
次に、ストレージコントローラ102は、プールに含まれる冗長グループ0乃至冗長グループ3のそれぞれから、未使用の物理エクステントを取得可能か確認する。ストレージコントローラ102は、未使用の物理エクステントを取得可能な冗長グループの数と同数以下となるマルチカウントにて、マルチエクステントを構成可能か判定する。マルチエクステントを構成可能な場合、ストレージコントローラ102は、マルチエクステントを構成する複数の論理エクステントを、それぞれ異なる冗長グループから提供される未使用の物理エクステントと関連付け、マルチカウントを設定する。図10に例示する実施例においては、冗長グループ0乃至冗長グループ3から1つずつ、未使用の物理エクステントを取得可能であるので、ストレージコントローラ102は、マルチカウント4にてマルチエクステントを構成可能であると判定する(ステップS905においてtrueの場合)。
この場合、ストレージコントローラ102は、マルチエクステントを構成する複数の論理エクステントに対して、それぞれ異なる冗長グループに属する物理エクステントを関連付ける(ステップS909)。図10に例示する実施例においては、ストレージコントローラ102は、論理ディスク102hの先頭となる論理エクステント”L−Ext0−0”から、4つ分の論理エクステント”L−Ext0−1”、”L−Ext0−2”、”L−Ext0−3”に対して、それぞれ異なる冗長グループに属する物理エクステント”P−Ext0−0”、”P−Ext1−0”、”P−Ext2−0”、”P−Ext3−0”を関連付ける。
次に、ストレージコントローラ102は、それぞれの論理エクステントに関連付けられるマルチカウントを設定する(ステップS910)。図10に示す実施例においては、マルチカウントを4として設定する。ストレージコントローラ102hは、前記ステップS909における関連付けの情報と、ステップS910におけるマルチカウントの情報を用いて、論理エクステント対応テーブル102h及び、物理エクステント対応テーブル102gを更新してもよい。以上の処理の結果、本実施形態の1つの実施例における論理ディスク102hは、図11に示すような構成となる。
次に、ストレージコントローラ102は、論理ディスク102hを構成し、まだ物理エクステントと関連付けられていない次の論理エクステントを選択する(ステップS911)。図11に示す実施例においては、物理エクステントと関連付けられていない論理エクステントは”L−Ext0−4”である。ストレージコントローラは、論理エクステント”L−Ext0−4”に対してステップS904から処理を続行する。
ストレージコントローラ102は”L−Ext0−4”についてマルチエクステントを構成可能か確認する(ステップS905)。ここで、図8を参照すると、”L−Ext0−4”はマルチカウントが2または4となるマルチエクステントの境界(先頭部分)になり得る。ストレージコントローラ102は、図8に例示するような境界条件に基づいて、いずれのマルチカウントによるマルチエクステントを構成可能か判定する。
次に、ストレージコントローラ102は、プールに含まれる冗長グループ0乃至冗長グループ3のそれぞれから、未使用の物理エクステントを取得可能か確認する。図11を参照すると、冗長グループ2及び冗長グループ3から1つずつ未使用の物理エクステントを選択可能であるため、ストレージコントローラ102は、マルチカウント2にてマルチエクステントを構成可能であると判定する(ステップS905においてtrueの場合)。
この場合、ストレージコントローラ102は、マルチエクステントを構成する複数の論理エクステントに対して、それぞれ異なる冗長グループに属する物理エクステントを関連付ける(ステップS909)。図11に例示する実施例においては、ストレージコントローラ102は、2つ分の論理エクステント”L−Ext0−4”及び”L−Ext0−5”に対して、それぞれ異なる冗長グループに属する物理エクステント”P−Ext2−1”、”P−Ext3−1”を関連付ける。
次に、ストレージコントローラ102は、それぞれの論理エクステントに関連付けられるマルチカウントを設定する(ステップS910)。図10に示す実施例においては、マルチカウントを2として設定する。ストレージコントローラ102hは、前記ステップS909における関連付けの情報と、ステップS910におけるマルチカウントの情報を用いて、論理エクステント対応テーブル102h及び、物理エクステント対応テーブル102gを更新してもよい。以上の処理の結果、本実施形態の1つの実施例における論理ディスク102hは、図12示すような構成となる。
次に、ストレージコントローラ102は、論理ディスク102hを構成し、まだ物理エクステントと関連付けられていない次の論理エクステントを選択する(ステップS911)。図12に示す実施例においては、物理エクステントと関連付けられていない論理エクステントは”L−Ext0−6”である。ストレージコントローラは、論理エクステント”L−Ext0−6”に対してステップS904から処理を続行する。
ストレージコントローラ102は”L−Ext0−6”についてマルチエクステントを構成可能か確認する(ステップS905)。ここで、関連付けが必要な残りの論理エクステントは”L−Ext0−6”一つであるため、ストレージコントローラ102は、マルチエクステントは構成しないと判定する(ステップS905においてfalse)。
次に、ストレージコントローラ102は、いずれかの冗長グループに属する未使用の物理エクステントを1つ選択し、論理エクステントと関連付ける(ステップS906)。図12に例示する実施例においては、論理エクステント”L−Ext0−6”に対して、物理エクステント”P−Ext2−2”を関連付ける。
次に、ストレージコントローラ102は、係る論理エクステントに関連付けられるマルチカウントを1に設定する(ステップS907)。図12に示す実施例においては、論理エクステント”L−Ext0−6”に対応するマルチカウントを、1に設定する。ストレージコントローラ102hは、前記ステップS906における関連付けの情報と、ステップS907におけるマルチカウントの情報を用いて、論理エクステント対応テーブル102h及び、物理エクステント対応テーブル102gを更新してもよい。以上の処理の結果、本実施形態の1つの実施例における論理ディスク102hは、図13示すような構成となる。
以上の処理により、論理ディスク102hを構成する全ての論理エクステントについて、物理エクステントとの関連付けが完了したため(ステップS912)、ストレージコントローラ102は、論理ディスクの構成処理を終了する。
次に、上記のように構成された論理ディスク102hに対する、ホストマシン101から受信したアクセス要求を処理する過程について、図14を参照して説明する。図14は、ホストマシン101から論理ディスク102hに対してアクセス要求があった際に、該当するデータを格納する物理アドレスを判定する処理を例示したフローチャートである。なお、以下においては、図13に示す実施例を用いて、ホストマシン101から、論理アドレス(論理ディスク102hにおいてデータが格納されているアドレス)258番地にアクセスがあった場合を例として、上記判定処理について説明する。なお、本実施形態において、ホストマシン101から要求される特定のデータに対するアクセス要求には、当該データ領域に対する読み込み及び書き込み要求などが含まれる。
まず、ストレージコントローラ102は、ホストマシン101から、論理ディスク102hにおける特定のアドレス領域に対するアクセス要求を受信する(ステップS1401)。
次に、ストレージコントローラ102は、前記アクセス要求を解析し、アクセス対象として指定された論理アドレスから、当該論理アドレスにて指定された領域を提供する論理エクステントを選択する(ステップS1402)。例えば、図13に示す実施例において、論理アドレス258番地を提供する論理エクステントは、”L−Ext0−1”である。
次にストレージコントローラ102は、論理エクステント”L−Ext0−1”のマルチカウント(この場合は4)を確認する(ステップ1403)。
次に、ストレージコントローラ102は、マルチエクステントの境界条件を参照して、マルチカウント4により関連付けられたマルチエクステントを構成する、先頭の論理エクステントを選択し、当該選択した先頭エクステントからのオフセットアドレスを算出する(ステップS1404)。図13に例示した実施例においては、先頭エクステントは”L−Ext0−0”であり、当該エクステントの先頭アドレスは0番地であるため、先頭エクステント”L−Ext0−0”からのオフセットアドレスは258−0=258番地となる。
次に、ストレージコントローラ102は、前記ステップS1404において算出した論理エクステントにおけるオフセットアドレスから、物理エクステントにおける物理アドレスを算出する。以下、物理アドレスの算出処理について説明する。
ストレージコントローラ102は、まず、前記ステップS1404において算出したオフセットアドレスを、マルチエクステントを構成するフルストライプのサイズにより除算する(ステップS1405)。ここで、フルストライプのサイズとは、マルチカウント(本実施例においては4)と、マルチエクステントを構成する論理エクステントと、物理エクステントの間で構成する仮想的なRAID0のストライピングのサイズ(本実施例においては1KiB)とを乗算した積であり、この場合は4×1=4となる。前記オフセットアドレス258を、前記フルストライプ4で除算し商をX、剰余(余り)をYとすると、X=64、Y=2となる。
次に、ストレージコントローラ102は、前記剰余Yをストライプサイズにて除算した商をZとし、マルチエクステントを構成する論理エクステントにおいて、先頭エクステントからZ番目に該当する論理エクステントに関連付けられた、物理エクステントを選択する(ステップS1406)。図13に例示する実施例においては、前記Y=2を、ストライプサイズ=1で除算した商ZはZ=2となる。先頭エクステント”L−Ext0−0”から2番目の論理エクステントは”L−Ext0−2”であるため、ストレージコントローラ102は、当該論理エクステントに関連付けられた物理エクステントである”P−Ext2−0”を選択する。
次に、ストレージコントローラ102は、前記商Xにストライプサイズを乗算した積を算出し、当該積の値をもって、前記選択された物理エクステントにおけるオフセットアドレス(当該選択された物理エクステントの先頭からのアドレス)として選択する(ステップS1407)。図13に例示する実施例においては、前記商X=64に、ストライプサイズ=1を乗算した積=64となり、この値を物理エクステント”P−Ext2−0”の先頭からのオフセットアドレスとして選択する。
次に、ストレージコントローラ102は、前記算出した物理エクステントにける物理アドレスを用いて、データアクセスを実行する(ステップS1408)。
上記説明した方法によるデータアクセスを実行する場合、ホストマシン101から指定される論理アドレスが0番地、1番地、2番地、3番地、4番地、5番地・・・と変化するにつれて、当該論理アドレスに関連付けられる物理エクステントは、”P−Ext0−0”、”P−Ext0−1”、”P−Ext0−2”、”P−Ext0−3”、”P−Ext0−0”、と順番に選択される。マルチカウント2としてマルチエクステントを構成するよう関連付けられた”L−Ext0−4”、”L−Ext0−5”の場合も同様に、論理アドレス1024番地、1025番地、1026番地、・・・と変わると、当該論理アドレスに関連付けられる物理エクステントは、”P−Ext2−1”、”P−Ext3−1”、”P−Ext2−1”、・・・と交互に選択される。なお、マルチカウントメモリ値が1となる場合は、1つの論理エクステントと1つの物理エクステントが関連付けられるが、同様の処理によって、論理アドレスに関連付けられた物理アドレスを選択可能である。
以上説明した、特定のデータに対するアクセス要求の処理により、マルチエクステントにより構成される領域に該当する論理アドレスは、複数の物理エクステントに分散して配置される。上記説明した実施例における、論理アドレスと、物理アドレスとの間の関係を図15乃至図18に示す。図15及び図16に示すように、マルチカウント4にて関連付けられる論理エクステント”L−Ext0−0”、”L−Ext0−1”、”L−Ext0−2”、”L−Ext0−3”のそれぞれが提供する(割り当てられた)論理アドレスと、これらに関連付けられた物理エクステントにおける物理アドレスとの関連を確認すると、論理アドレスの番地が1つ変化する毎に、関連付けられた物理エクステントが”P−Ext0−0”、”P−Ext1−0”、”P−Ext2−0”、”P−Ext3−0”の順で変化する。換言すると、マルチカウント4にて関連付けられたマルチエクステントにより提供される論理アドレス領域は、論理アドレスが1番地異なる毎に、4つの異なる物理エクステントに分散配置されるため、当該論理アドレスにて指定された領域に対するアクセスは、ストライピングされる。
同様に、図17に示すように、マルチカウント2にて関連付けられる論理エクステント”L−Ext0−4”と、”L−Ext0−5”のそれぞれが提供する(割り当てられた)論理アドレスと、これらに関連付けられた物理エクステントにおける物理アドレスとの関連を確認すると、論理アドレスの番地が1つ変化する毎に、関連付けられた物理エクステントが”P−Ext2−1”、”P−Ext3−1”の順で変化する。換言すると、マルチカウント2にて関連付けられたマルチエクステントにより提供される論理アドレス領域は、論理アドレスが1番地異なる毎に、2つの異なる物理エクステントに分散配置されるため、当該論理アドレスにて指定された領域に対するアクセスは、ストライピングされる。
このようにして、本実施形態におけるストレージコントローラ102は、マルチエクステントを構成するマルチカウントと、ストライピングの単位を考慮して、マルチエクステントにより構成される論理アドレス領域に対するデータアクセスを、複数の物理エクステントに分散することができる。
以上説明した本実施形態におけるストレージ装置100によれば、ストレージコントローラ102は、複数の異なる冗長グループ(例えば図13に例示した冗長グループ0乃至冗長グループ3等)に属する物理エクステントに関連付けられ、連続して配置される論理エクステントをまとめてマルチエクステントを構成し、当該マルチエクステントを含む論理ディスク201hをホストマシン101に対して記憶領域として提供できる。
本実施形態におけるストレージコントローラ102は、マルチカウントを用いて複数の論理エクステントを関連付けてマルチエクステントを構成し、当該マルチエクステント対するアクセスを、マルチカウントの値と同数の異なる物理エクステントに分散することができる。また、本実施形態におけるストレージコントローラ102は、マルチエクステントを構成するマルチカウントと、ストライピングの単位を考慮して、マルチエクステントにより構成される論理アドレス領域に対するデータアクセスを、複数の物理エクステントに分散することができる。
上述のように、本実施形態によるストレージ装置によれば、ホストマシン101による特定のデータへのアクセスは、前記第1の実施形態と同様、複数の異なる冗長グループに配置された記憶装置に分散されるため、記憶装置の負荷を低減し、アクセス性能を向上できる、という効果を奏する。
具体的には、ホストマシン101より、例えば、論理ディスク102hの特定の連続したアドレス領域に対してシーケンシャルな読み込み要求があった場合、当該アドレス領域がマルチエクステントにより提供される場合には、マルチカウントの数に比例して、読み込み速度の向上を期待できる。また、ホストマシン101より、例えば、1つのマルチエクステントにより提供されるアドレス範囲内に収まるデータに対する書き込み要求があった場合、複数の異なる冗長グループに属する物理エクステントに対して書き込みが発生するため、書き込みアクセスの負荷が複数の冗長グループの記憶装置に分散されることになり、高い書き込み性能を期待できる。
なお、本実施形態におけるストレージコントローラ102は、第1の実施形態と同様、独立した専用のハードウェアを用いて構成してもよいが、図6に示すマイクロプロセッサ102d等の演算装置及び、当該演算装置から参照されるメモリ等の記憶装置からなるハードウェアと、当該演算装置によって実行される各種ソフトウェア・プログラム(コンピュータ・プログラム)とによって構成してもよく、この場合、上述したストレージコントローラ102の動作は、マイクロプロセッサ102dによって実行されるソフトウェア・プログラムの処理により実現してもよい。
<実施形態の変形例>
上述した各実施形態において開示された構成について、以下のような変形例を採用してもよい。
上述した各実施形態においては、マルチエクステントを構成する最小の論理エクステントの個数であるベース値を2個として、マルチエクステントを構成する論理エクステントの個数を、2のべき乗である2個、4個、8個、16個とした場合の構成を例として説明しているが、本願発明はこれに限定されない。例えば、ベース値を3として、マルチエクステントを構成する論理エクステントの個数を、ベース値×2のべき乗である3個、6個、12個、24個とした場合や、例えば、ベース値を5として、マルチエクステントを構成する論理エクステントの個数を、ベース値×2のべき乗である5個、10個、15個、20個とした場合も同様の効果を奏する。図19及び図20に、それぞれベース値を3、5とした場合の、論理ディスク上に配置されるマルチエクステントの境界を例示する。
以上、本発明を、上述した模範的な実施形態に適用した例として説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更または改良を加えることが可能であることは明らかである。そのような場合、係る変更または改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。
なお、上述した実施形態及びその変形例の一部または全部は、以下の付記のようにも記載されうる。しかしながら、上述した実施形態及びその変形例により例示的に説明した本発明は、以下には限られない。
(付記1)
1台以上の記憶装置により構成され、当該1台以上の記憶装置が有する特定の記憶領域を関連付けて第1の物理記憶領域として提供する1組以上のストレージグループと、
前記第1の物理記憶領域と関連付けされた第1の論理記憶領域を、複数関連付けて第2の論理記憶領域を構成し、構成した第2の論理記憶領域が割り当てられた論理ディスクを、記憶領域として外部装置に提供する、ストレージコントローラと、を有する、
ストレージ装置。
(付記2)
前記ストレージコントローラは、前記第2の論理記憶領域を構成する特定の前記第1の論理記憶領域を、特定の範囲毎に、当該第1の論理記憶領域に関連付けられた前記第1の物理記憶領域における特定の記憶領域と、前記第2の論理記憶領域を構成する他の前記第1の論理記憶領域に関連付けられた前記物理記憶領域における特定の記憶領域と、に順番に関連付ける、
付記1に記載のストレージ装置。
(付記3)
前記第2の論理記憶領域に含まれる複数の前記第1の記憶領域は、当該複数の第1の記憶領域の間を関連付ける、関連付け情報を有する、
付記1または付記2に記載のストレージ装置。
(付記4)
前記関連付け情報は、前記第2の記憶領域に含まれる前記第1の記憶領域の個数に関する情報を含む、
付記3に記載のストレージ装置。
(付記5)
前記ストレージコントローラは、
前記第2の論理記憶領域を、前記第2の論理記憶領域に含まれる前記第1の論理記憶領域の最小の個数であるベース値と、任意の2のべき乗数とを乗算した積の値に相当する個数の前記第1の論理記憶領域により構成し、
前記第2の論理記憶領域を構成する複数の前記第1の論理記憶領域を、それぞれ前記第1の論理領域の個数と同数のそれぞれ異なるストレージグループから提供された前記第1の物理記憶領域と関連付ける、
付記1乃至付記4の何れかに記載のストレージ装置。
(付記6)
前記関連付け情報は、前記第2の論理記憶領域に含まれる前記第1の論理記憶領域の最小の個数であるベース値と、任意の2のべき乗数とを乗算した積の値を含む、
付記1乃至付記5の何れかに記載のストレージ装置。
(付記7)
前記ストレージコントローラは、前記第2の論理記憶領域の先頭アドレスを、少なくとも、前記論理ディスクの先頭位置か、または、前記論理ディスクの先頭から、前記ベース値と前記第1の論理記憶領域が有するアドレス範囲のサイズとを乗算した値を任意の整数倍オフセットした位置に割り当てる、
付記1乃至付記6の何れかに記載のストレージ装置。
(付記8)
前記ストレージコントローラは、
前記外部装置からの、前記論理ディスクに対するデータアクセス要求に応じて、
前記データアクセス要求に含まれるアクセス対象論理アドレスから、当該論理アドレスを含む記憶領域に割り当てられた前記第2の論理記憶領域を選択し、
前記抽出した第2の記憶領域を構成する前記第1の記憶領域の関連付け情報から、前記抽出した第2の記憶領域を構成する前記第1の記憶領域の個数と、前記選択した前記第2の記憶領域の先頭に配置された前記第1の論理領域を抽出し、
前記抽出した第1の論理記憶領域の先頭アドレスからの、前記アクセス対象論理アドレスのオフセットアドレスを算出し、
前記算出したオフセットアドレスの値を、前記抽出した前記第1の記憶領域の個数により除算し、
前記除算結果の剰余を用いて、前記アクセス対象論理アドレスを含む前記第2の論理アドレスを構成する前記第1の記憶領域を特定し、
前記特定した前記第1の記憶領域に関連付けされた前記第1の物記憶領域を特定し、
前記除算結果の商を用いて、前記アクセス対象論理アドレスに関連付けられた、前記特定した第1の物理記憶領域における物理アドレスを特定する、
付記3乃至付記7の何れかに記載のストレージ装置。
(付記9)
情報処理装置によって、
ストレージグループを構成する1台以上の記憶装置が有する特定の記憶領域を関連付けて物理記憶領域を構成し、
前記第1の物理記憶領域と関連付けされた第1の論理記憶領域を、複数関連付けて第2の論理記憶領域を構成し、
前記構成した第2の論理記憶領域が割り当てられた論理ディスクを、記憶領域として外部装置に提供する、
ストレージ装置の制御方法。
(付記10)
ストレージ装置の制御プログラムであって、
ストレージグループを構成する1台以上の記憶装置が有する特定の記憶領域を関連付けて物理記憶領域を構成する処理と、
前記第1の物理記憶領域と関連付けされた第1の論理記憶領域を、複数関連付けて第2の論理記憶領域を構成する処理と、
前記構成した第2の論理記憶領域が割り当てられた論理ディスクを、記憶領域として外部装置に提供する処理と、をコンピュータに実行させる、
制御プログラム。
(付記11)
1台以上の記憶装置により構成され、当該記憶装置が有する特定の記憶領域を関連付けることにより物理記憶領域を提供する1以上のストレージグループと、
互いに異なる前記ストレージグループにより提供される前記物理記憶領域に関連付けされた第1の論理記憶領域が配置される第2の論理記憶領域を有する論理ディスクを構築し、外部装置に対して、前記構築した論理ディスクを、記憶領域として提供する、ストレージコントローラと、を備える
ストレージ装置。
本発明は、複数の物理的な記憶装置を統合して、論理的な記憶領域をホストマシンに提供し、物理的な記憶領域と論理的な記憶領域を特定の単位で関連付けするストレージ装置等に適応できる。
100 ストレージ装置
101 ホストマシン
102 ストレージコントローラ
103 記憶装置群
301 論理ディスク
302 論理エクステント
303 論理エクステント
304 マルチエクステント
305 物理エクステント
307 物理エクステント
2101 演算装置
2102 記憶装置
2103 不揮発性メモリ
2104 外部記憶装置
2105 外部記憶媒体

Claims (11)

  1. 1台以上の記憶装置により構成され、当該1台以上の記憶装置が有する特定の記憶領域を関連付けて第1の物理記憶領域として提供する1組以上のストレージグループと、
    前記第1の物理記憶領域と関連付けされた論理的な記憶領域である第1の論理記憶領域を複数関連付けることにより、前記第1の論理記憶領域を複数含む論理的な記憶領域である第2の論理記憶領域を構成し、構成した第2の論理記憶領域が割り当てられた論理ディスクを、記憶領域として外部装置に提供する、ストレージコントローラと、を有し、
    前記ストレージコントローラは、
    前記第2の論理記憶領域を、前記第2の論理記憶領域に含まれる前記第1の論理記憶領域の最小の個数であるベース値と、任意の2のべき乗数とを乗算した積の値に相当する個数の前記第1の論理記憶領域により構成し、
    前記第2の論理記憶領域を構成する複数の前記第1の論理記憶領域を、それぞれ前記第1の論理記憶領域の個数と同数の異なる前記ストレージグループから提供された前記第1の物理記憶領域と関連付ける、
    ストレージ装置。
  2. 記ストレージコントローラは、前記第2の論理記憶領域を構成する特定の前記第1の論理記憶領域を、特定の範囲毎に、当該第1の論理記憶領域に関連付けられた前記第1の物理記憶領域における特定の記憶領域と、前記第2の論理記憶領域を構成する他の前記第1の論理記憶領域に関連付けられた前記第1の物理記憶領域における特定の記憶領域と、に順番に関連付ける
    請求項1に記載のストレージ装置。
  3. 前記第2の論理記憶領域に含まれる複数の前記第1の論理記憶領域は、当該複数の第1の論理記憶領域の間を関連付ける、関連付け情報を有する、請求項1または請求項2に記載のストレージ装置。
  4. 前記関連付け情報は、前記第2の論理記憶領域に含まれる前記第1の論理記憶領域の個数に関する情報を含む、請求項3に記載のストレージ装置。
  5. 前記関連付け情報は、前記ベース値と、任意の2のべき乗数とを乗算した積の値を含む、請求項3または請求項4に記載のストレージ装置。
  6. 前記ストレージコントローラは、前記第2の論理記憶領域の先頭アドレスを、少なくとも、前記論理ディスクの先頭位置か、または、前記論理ディスクの先頭から、前記ベース値に2のべき乗を乗算した積の値に相当する個数の前記第1の論理記憶領域の分だけオフセットした位置に割り当てる、請求項5に記載のストレージ装置。
  7. 前記ストレージコントローラは、
    前記外部装置からの、前記論理ディスクに対するデータアクセス要求に応じて、
    前記データアクセス要求に含まれるアクセス対象論理アドレスから、当該アクセス対象論理アドレスを含む記憶領域に割り当てられた前記第2の論理記憶領域を選択し、
    当該選択した前記第2の論理記憶領域を構成する前記第1の論理記憶領域の前記関連付け情報から、当該選択した前記第2の論理記憶領域を構成する前記第1の論理記憶領域の個数と、当該選択した前記第2の論理記憶領域の先頭に配置された前記第1の論理記憶領域とを抽出し、
    前記抽出した第1の論理記憶領域の先頭アドレスからの、前記アクセス対象論理アドレスのオフセットアドレスを算出し、
    前記算出したオフセットアドレスの値を、前記抽出した前記第1の論理記憶領域の個数により除算し、
    前記除算結果の剰余を用いて、前記アクセス対象論理アドレスを含む前記第2の論理記憶領域を構成する前記第1の論理記憶領域を特定し、
    前記特定した前記第1の論理記憶領域に関連付けされた前記第1の物記憶領域を特定し、
    前記除算結果の商を用いて、前記アクセス対象論理アドレスに関連付けられた、前記特定した第1の物理記憶領域における物理アドレスを特定する、請求項3乃至請求項の何れかに記載のストレージ装置。
  8. 情報処理装置によって、
    ストレージグループを構成する1台以上の記憶装置が有する特定の記憶領域を関連付けて物理記憶領域を構成し、
    前記第1の物理記憶領域と関連付けされた論理的な記憶領域である第1の論理記憶領域複数関連付された前記第1の論理記憶領域を複数含む論理的な記憶領域である第2の論理記憶領域を、当該第2の論理記憶領域に含まれる前記第1の論理記憶領域の最小の個数であるベース値と、任意の2のべき乗数とを乗算した積の値に相当する個数の前記第1の論理記憶領域により構成し、
    前記第2の論理記憶領域を構成する複数の前記第1の論理記憶領域を、それぞれ前記第1の論理記憶領域の個数と同数の異なる前記ストレージグループから提供された前記第1の物理記憶領域と関連付け、
    前記構成した第2の論理記憶領域が割り当てられた論理ディスクを、記憶領域として外部装置に提供する、
    ストレージ装置の制御方法。
  9. ストレージ装置の制御プログラムであって、
    ストレージグループを構成する1台以上の記憶装置が有する特定の記憶領域を関連付けて物理記憶領域を構成する処理と、
    前記第1の物理記憶領域と関連付けされた論理的な記憶領域である第1の論理記憶領域複数関連付された前記第1の論理記憶領域を複数含む論理的な記憶領域である第2の論理記憶領域を、当該第2の論理記憶領域に含まれる前記第1の論理記憶領域の最小の個数であるベース値と、任意の2のべき乗数とを乗算した積の値に相当する個数の前記第1の論理記憶領域により構成する処理と、
    前記第2の論理記憶領域を構成する複数の前記第1の論理記憶領域を、それぞれ前記第1の論理記憶領域の個数と同数の異なる前記ストレージグループから提供された前記第1の物理記憶領域と関連付ける処理と、
    前記構成した第2の論理記憶領域が割り当てられた論理ディスクを、記憶領域として外部装置に提供する処理と、をコンピュータに実行させる、
    制御プログラム。
  10. 請求項8に記載のストレージ制御方法であって、更に、
    記第2の論理記憶領域を構成する特定の前記第1の論理記憶領域を、特定の範囲毎に、当該第1の論理記憶領域に関連付けられた前記第1の物理記憶領域における特定の記憶領域と、前記第2の論理記憶領域を構成する他の前記第1の論理記憶領域に関連付けられた前記第1の物理記憶領域における特定の記憶領域と、に順番に関連付け
    ストレージ装置の制御方法。
  11. 請求項9に記載の制御プログラムであって、更に、
    記第2の論理記憶領域を構成する特定の前記第1の論理記憶領域を、特定の範囲毎に、当該第1の論理記憶領域に関連付けられた前記第1の物理記憶領域における特定の記憶領域と、前記第2の論理記憶領域を構成する他の前記第1の論理記憶領域に関連付けられた前記第1の物理記憶領域における特定の記憶領域と、に順番に関連付ける処理を、コンピュータに実行させる
    制御プログラム。
JP2013194365A 2013-09-19 2013-09-19 ストレージ装置及びその制御方法、並びにストレージ制御プログラム Active JP5962621B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013194365A JP5962621B2 (ja) 2013-09-19 2013-09-19 ストレージ装置及びその制御方法、並びにストレージ制御プログラム
US14/488,319 US20150081969A1 (en) 2013-09-19 2014-09-17 Storage apparatus and control method thereof, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013194365A JP5962621B2 (ja) 2013-09-19 2013-09-19 ストレージ装置及びその制御方法、並びにストレージ制御プログラム

Publications (2)

Publication Number Publication Date
JP2015060440A JP2015060440A (ja) 2015-03-30
JP5962621B2 true JP5962621B2 (ja) 2016-08-03

Family

ID=52669079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013194365A Active JP5962621B2 (ja) 2013-09-19 2013-09-19 ストレージ装置及びその制御方法、並びにストレージ制御プログラム

Country Status (2)

Country Link
US (1) US20150081969A1 (ja)
JP (1) JP5962621B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150363329A1 (en) * 2014-06-12 2015-12-17 Hamilton Sundstrand Corporation Memory address translation
JP6540068B2 (ja) * 2015-02-10 2019-07-10 富士通株式会社 ストレージ制御装置、制御方法、および制御プログラム
KR102349999B1 (ko) * 2015-03-02 2022-01-10 에스케이하이닉스 주식회사 반도체 장치 및 그 동작 방법
US10678643B1 (en) * 2017-04-26 2020-06-09 EMC IP Holding Company LLC Splitting a group of physical data storage drives into partnership groups to limit the risk of data loss during drive rebuilds in a mapped RAID (redundant array of independent disks) data storage system
US11023147B2 (en) * 2019-10-10 2021-06-01 EMC IP Holding Company LLC Mapping storage extents into resiliency groups

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3431972B2 (ja) * 1993-11-29 2003-07-28 株式会社日立製作所 仮想ディスクシステム
KR100392382B1 (ko) * 2001-07-27 2003-07-23 한국전자통신연구원 동적 크기 변경 및 메타 데이터 양의 최소화를 위한 논리볼륨 관리 방법
US7296139B1 (en) * 2004-01-30 2007-11-13 Nvidia Corporation In-memory table structure for virtual address translation system with translation units of variable range size
US7949847B2 (en) * 2006-11-29 2011-05-24 Hitachi, Ltd. Storage extent allocation method for thin provisioning storage
US9645767B2 (en) * 2007-06-29 2017-05-09 Seagate Technology Llc Aggregating storage elements using a virtual controller
JP2010039547A (ja) * 2008-07-31 2010-02-18 Toshiba Corp ディスクアレイ装置
JP5381336B2 (ja) * 2009-05-28 2014-01-08 富士通株式会社 管理プログラム、管理装置および管理方法
US8677063B2 (en) * 2010-07-30 2014-03-18 International Business Machines Corporation Parity declustered storage device array with partition groups
US8856440B2 (en) * 2011-09-12 2014-10-07 Microsoft Corporation Volatile memory representation of nonvolatile storage device set

Also Published As

Publication number Publication date
US20150081969A1 (en) 2015-03-19
JP2015060440A (ja) 2015-03-30

Similar Documents

Publication Publication Date Title
US10089026B1 (en) Virtual drive based RAID groups
US10082959B1 (en) Managing data placement in storage systems
US10977124B2 (en) Distributed storage system, data storage method, and software program
JP5444464B2 (ja) ストレージシステム
JP5608016B2 (ja) オブジェクト単位階層の管理方法及び装置
JP5314772B2 (ja) 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法
US9317436B2 (en) Cache node processing
US9542125B1 (en) Managing data relocation in storage systems
US11023147B2 (en) Mapping storage extents into resiliency groups
US10289336B1 (en) Relocating data from an end of life storage drive based on storage drive loads in a data storage system using mapped RAID (redundant array of independent disks) technology
US9223713B2 (en) Allocation of cache to storage volumes
CN105446890B (zh) 智能数据部署
US9639268B2 (en) Distributed data storage system with key-based addressing
US9304714B2 (en) LUN management with distributed RAID controllers
US10229022B1 (en) Providing Raid-10 with a configurable Raid width using a mapped raid group
WO2014115320A1 (ja) ストレージシステム及びデータ管理方法
JP5962621B2 (ja) ストレージ装置及びその制御方法、並びにストレージ制御プログラム
US9448740B2 (en) Storage apparatus and hierarchy control method
JP2006120120A (ja) 複数のデータ・フォーマットを割り振るための一般記憶コンテナ
US20120260035A1 (en) Zero rebuild extensions for raid
US10678470B2 (en) Computer system,control method for physical storage device,and recording medium
US10579540B2 (en) Raid data migration through stripe swapping
WO2018229944A1 (ja) ストレージシステム及びストレージシステムの制御方法
CN101997919A (zh) 一种存储资源的管理方法及管理装置
JP5472930B2 (ja) ディスクアレイ装置を備えたストレージシステム、ディスクアレイ装置及びエクステントサイズ変更方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160510

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: 20160531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160613

R150 Certificate of patent or registration of utility model

Ref document number: 5962621

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150