JP5614213B2 - 記憶領域提供装置、記憶領域提供方法、及び、記憶領域提供プログラム - Google Patents

記憶領域提供装置、記憶領域提供方法、及び、記憶領域提供プログラム Download PDF

Info

Publication number
JP5614213B2
JP5614213B2 JP2010223339A JP2010223339A JP5614213B2 JP 5614213 B2 JP5614213 B2 JP 5614213B2 JP 2010223339 A JP2010223339 A JP 2010223339A JP 2010223339 A JP2010223339 A JP 2010223339A JP 5614213 B2 JP5614213 B2 JP 5614213B2
Authority
JP
Japan
Prior art keywords
area
partial
logical
physical
allocation
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
JP2010223339A
Other languages
English (en)
Other versions
JP2012079074A (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 JP2010223339A priority Critical patent/JP5614213B2/ja
Priority to US13/240,611 priority patent/US9058113B2/en
Publication of JP2012079074A publication Critical patent/JP2012079074A/ja
Application granted granted Critical
Publication of JP5614213B2 publication Critical patent/JP5614213B2/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/0631Configuration or reconfiguration of storage systems by allocating resources to 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/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
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • G11B2020/1893Methods for assignment of alternate areas for defective areas using linear replacement to relocate data from a defective block to a non-contiguous spare area, e.g. with a secondary defect list [SDL]

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)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、記憶装置が有する物理的な記憶領域である物理領域を、仮想的な記憶領域である論理領域として提供する記憶領域提供装置に関する。
記憶装置が有する物理的な記憶領域である物理領域を、仮想的な記憶領域である論理領域として提供する記憶領域提供装置が知られている。この種の記憶領域提供装置の一つとして、特許文献1に記載の記憶領域提供装置は、書込要求を受け付ける。書込要求は、データと、論理領域の一部である部分論理領域を特定するための部分論理領域特定情報と、を含む。
記憶領域提供装置は、書込要求に含まれる部分論理領域特定情報により特定される部分論理領域に、物理領域の一部が未だ割り当てられていない場合、物理領域の一部(部分物理領域)を当該部分論理領域に割り当てる。そして、記憶領域提供装置は、部分論理領域に割り当てられている部分物理領域にデータを記憶させる。
このように、記憶領域提供装置は、実際にデータを記憶する(書き込む)時点にて初めて、部分論理領域に部分物理領域を割り当てる(即ち、部分論理領域に対する物理領域を確保する)。これにより、実際に使用されていない物理領域が無駄に確保されることを防止することができる。このような機能は、シン・プロビジョニング(又は、仮想プロビジョニング)機能と呼ばれる。
特開2010−86420号公報
ところで、上記記憶領域提供装置は、書込要求を受け付ける毎に、物理領域のうちの使用されていない(いずれの論理領域に対しても割り当てられていない)領域(未割当領域)を、例えば、物理領域の先頭から探索し、最初に探索された未割当領域を、当該書込要求により特定される部分論理領域に割り当てる。
ここで、複数の書込要求のそれぞれに含まれる部分論理領域特定情報により特定される部分論理領域からなる部分論理領域が論理領域において連続して配置されている場合(例えば、複数の書込要求によって1つのファイルを構成するデータを記憶する場合等)を想定する。この場合、上記記憶領域提供装置によれば、当該部分論理領域に割り当てられている部分物理領域が、物理領域において分散して配置される状態が生じる。
このため、記憶装置に記憶されているデータにアクセスする(例えば、上記ファイルを構成するデータを読み出す、又は、上記ファイルを構成するデータを変更する等)速度が過度に低下する虞があった。
このため、本発明の目的は、上述した課題である「記憶装置に記憶されているデータにアクセスする速度が過度に低下する場合が生じること」を解決することが可能な記憶領域提供装置を提供することにある。
かかる目的を達成するため本発明の一形態である記憶領域提供装置は、記憶装置が有する物理的な記憶領域である物理領域を、仮想的な記憶領域である論理領域として提供する装置である。
更に、この記憶領域提供装置は、
データと、上記論理領域の一部である部分論理領域を特定するための部分論理領域特定情報と、を含む書込要求を受け付ける書込要求受付手段と、
上記受け付けられた書込要求に含まれる上記部分論理領域特定情報により特定される上記部分論理領域に、上記物理領域の一部が既に割り当てられているか否かを判定する割当済判定手段と、
上記受け付けられた書込要求に含まれる上記部分論理領域特定情報により特定される上記部分論理領域に、上記物理領域の一部が未だ割り当てられていないと判定された場合、上記物理領域のうちの初期割当領域の少なくとも一部を当該部分論理領域に割り当てる初期割当手段と、
上記受け付けられた書込要求に含まれる上記部分論理領域特定情報により特定される上記部分論理領域に割り当てられている上記物理領域の一部である部分物理領域に、当該書込要求に含まれるデータを記憶させるデータ書込手段と、
上記初期割当領域に含まれる上記部分物理領域に記憶されているデータを、上記物理領域のうちの当該初期割当領域以外の再割当領域の少なくとも一部である移動先領域に移動させるとともに、当該部分物理領域が割り当てられている上記部分論理領域に当該移動先領域を割り当て直す再割当手段と、
を備える。
また、本発明の他の形態である記憶領域提供方法は、記憶装置が有する物理的な記憶領域である物理領域を、仮想的な記憶領域である論理領域として提供する方法である。
更に、この記憶領域提供方法は、
データと、上記論理領域の一部である部分論理領域を特定するための部分論理領域特定情報と、を含む書込要求を受け付け、
上記受け付けられた書込要求に含まれる上記部分論理領域特定情報により特定される上記部分論理領域に、上記物理領域の一部が既に割り当てられているか否かを判定し、
上記受け付けられた書込要求に含まれる上記部分論理領域特定情報により特定される上記部分論理領域に、上記物理領域の一部が未だ割り当てられていないと判定された場合、上記物理領域のうちの初期割当領域の少なくとも一部を当該部分論理領域に割り当て、
上記受け付けられた書込要求に含まれる上記部分論理領域特定情報により特定される上記部分論理領域に割り当てられている上記物理領域の一部である部分物理領域に、当該書込要求に含まれるデータを記憶させ、
上記初期割当領域に含まれる上記部分物理領域に記憶されているデータを、上記物理領域のうちの当該初期割当領域以外の再割当領域の少なくとも一部である移動先領域に移動させるとともに、当該部分物理領域が割り当てられている上記部分論理領域に当該移動先領域を割り当て直す、方法である。
また、本発明の他の形態である記憶領域提供プログラムは、
情報処理装置に、
記憶装置が有する物理的な記憶領域である物理領域を、仮想的な記憶領域である論理領域として提供させるためのプログラムである。
更に、この記憶領域提供プログラムは、
データと、上記論理領域の一部である部分論理領域を特定するための部分論理領域特定情報と、を含む書込要求を受け付ける書込要求受付手段と、
上記受け付けられた書込要求に含まれる上記部分論理領域特定情報により特定される上記部分論理領域に、上記物理領域の一部が既に割り当てられているか否かを判定する割当済判定手段と、
上記受け付けられた書込要求に含まれる上記部分論理領域特定情報により特定される上記部分論理領域に、上記物理領域の一部が未だ割り当てられていないと判定された場合、上記物理領域のうちの初期割当領域の少なくとも一部を当該部分論理領域に割り当てる初期割当手段と、
上記受け付けられた書込要求に含まれる上記部分論理領域特定情報により特定される上記部分論理領域に割り当てられている上記物理領域の一部である部分物理領域に、当該書込要求に含まれるデータを記憶させるデータ書込手段と、
上記初期割当領域に含まれる上記部分物理領域に記憶されているデータを、上記物理領域のうちの当該初期割当領域以外の再割当領域の少なくとも一部である移動先領域に移動させるとともに、当該部分物理領域が割り当てられている上記部分論理領域に当該移動先領域を割り当て直す再割当手段と、
を実現させるためのプログラムである。
本発明は、以上のように構成されることにより、記憶装置に記憶されているデータにアクセスする速度が過度に低下することを防止することができる。
本発明の第1実施形態に係るディスクアレイ装置の概略構成を表す図である。 本発明の第1実施形態に係るコントローラの機能の概略を表すブロック図である。 本発明の第1実施形態に係るコントローラが記憶する、論理割当単位識別情報、開始アドレス情報、終了アドレス情報、及び、初期割当情報を対応付けたテーブルである。 本発明の第1実施形態に係るコントローラが記憶する、物理割当単位識別情報、開始アドレス情報、終了アドレス情報、及び、領域識別情報を対応付けたテーブルである。 本発明の第1実施形態に係るコントローラが記憶する、物理割当単位識別情報、初期割当領域情報、及び、物理割当単位サイズを対応付けたテーブルである。 本発明の第1実施形態に係るコントローラが記憶する、論理割当単位識別情報、及び、物理割当単位識別情報を対応付けたテーブルである。 本発明の第1実施形態に係るコントローラが実行する書込処理プログラムを示したフローチャートである。 本発明の第1実施形態に係るコントローラが実行する読出処理プログラムを示したフローチャートである。 本発明の第2実施形態に係る記憶領域提供装置の機能の概略を表すブロック図である。
以下、本発明に係る、記憶領域提供装置、記憶領域提供方法、及び、記憶領域提供プログラム、の各実施形態について図1〜図9を参照しながら説明する。
<第1実施形態>
(構成)
図1に示したように、第1実施形態に係るディスクアレイ装置1は、入出力制御装置10と、ディスクエンクロージャ20と、を備える。本例では、ディスクアレイ装置1は、シン・プロビジョニング(Thin Provisioning、又は、仮想プロビジョニング)機能を有する。
入出力制御装置10は、複数(本例では、2つ)のホスト用アダプタ11a,11bと、複数(本例では、2つ)のディスク用アダプタ12a,12bと、コントローラ13と、を備える。
ホスト用アダプタ11aは、ホスト装置2a及びコントローラ13のそれぞれと接続されている。ホスト用アダプタ11aは、ホスト装置2a及びコントローラ13の間の情報(例えば、後述する、書込要求、読出要求、及び、読出データ等)の伝送を中継(情報を転送)する。同様に、ホスト用アダプタ11bは、ホスト装置2b及びコントローラ13のそれぞれと接続されている。ホスト用アダプタ11bは、ホスト装置2b及びコントローラ13の間の情報の伝送を中継する。
ディスク用アダプタ12aは、ディスクエンクロージャ20及びコントローラ13のそれぞれと接続されている。ディスク用アダプタ12aは、ディスクエンクロージャ20及びコントローラ13の間の情報(例えば、後述する、書込指示、読出指示、及び、読出データ等)の伝送を中継する。同様に、ディスク用アダプタ12bは、ディスクエンクロージャ20及びコントローラ13のそれぞれと接続されている。ディスク用アダプタ12bは、ディスクエンクロージャ20及びコントローラ13の間の情報の伝送を中継する。
コントローラ13は、図示しない、中央処理装置(CPU;Central Processing Unit)、及び、メモリを備える。コントローラ13は、メモリに記憶されているプログラムをCPUが実行することにより、後述する機能を実現するように構成されている。
ディスクエンクロージャ20は、複数の記憶装置21a,21b,…を備える。本例では、各記憶装置21a,21b,…は、HDD(Hard Disk Drive)である。なお、各記憶装置21a,21b,…は、SSD(Solid State Drive、又は、Solid State Disk)であってもよい。
なお、入出力制御装置10は、ディスクエンクロージャ20が備える複数の記憶装置21a,21b,…が有する物理的な記憶領域である物理領域を、仮想的な記憶領域である論理領域として提供する記憶領域提供装置を構成している。
ホスト装置2aは、情報処理装置である。ホスト装置2aは、書込要求、及び、読出要求を出力する。
書込要求は、データ(書込データ)と、論理領域の一部である部分論理領域を特定するための部分論理領域特定情報と、を含む情報である。書込要求は、部分論理領域特定情報により特定される部分論理領域に対応付けられた部分物理領域に、書込データを書き込む(記憶させる)旨を要求する情報である。
読出要求は、論理領域の一部である部分論理領域を特定するための部分論理領域特定情報を含む情報である。読出要求は、部分論理領域特定情報により特定される部分論理領域に対応付けられた部分物理領域に記憶されているデータ(読出データ)を読み出す旨を要求する情報である。
本例では、読出要求は、連続読出要求、又は、不連続読出要求である。
連続読出要求は、論理領域において連続して配置された領域である部分論理領域を特定するための部分論理領域特定情報を含む。不連続読出要求は、論理領域において無秩序に(ランダムに)配置された領域である部分論理領域を特定するための部分論理領域特定情報を含む。
(機能)
図2は、上記のように構成されたコントローラ13の機能を表すブロック図である。
コントローラ13の機能は、書込要求受付部(書込要求受付手段)31と、読出要求受付部(読出要求受付手段)32と、マップ情報記憶部(初期割当情報記憶手段)33と、割当情報記憶部(割当情報記憶手段)34と、割当済判定部(割当済判定手段)35と、初期割当部(初期割当手段)36と、データ書込部(データ書込手段)37と、再割当部(再割当手段)38と、データ読出部(データ読出手段)39と、を含む。
書込要求受付部31は、ホスト用アダプタ11a,11bを介して、ホスト装置2a,2bから書込要求を受け付ける。
読出要求受付部32は、ホスト用アダプタ11a,11bを介して、ホスト装置2a,2bから読出要求を受け付ける。
本例では、論理領域は、複数の論理割当単位により構成される。各論理割当単位は、予め設定されたサイズを有する。本例では、書込要求に含まれる部分論理領域特定情報により特定される部分論理領域は、少なくとも1つの論理割当単位からなる。
また、物理領域は、複数の物理割当単位により構成される。更に、物理領域には、複数の部分領域が予め設定されている。複数の部分領域のそれぞれに含まれる物理割当単位のサイズは、互いに異なる。
本例では、物理割当単位のサイズが最小である部分領域は、初期割当領域を構成している。また、初期割当領域以外の部分領域のそれぞれは、再割当部分領域を構成している。なお、初期割当領域以外の部分領域(即ち、複数の再割当部分領域)は、再割当領域を構成している。即ち、再割当領域は、物理割当単位のサイズが異なる複数の再割当部分領域を含む、と言うことができる。また、初期割当領域を構成する(初期割当領域に含まれる)物理割当単位のサイズは、再割当領域を構成する物理割当単位のサイズ以下である、と言うこともできる。
具体的には、マップ情報記憶部33は、図3に示したように、論理割当単位識別情報と、開始アドレス情報と、終了アドレス情報と、初期割当情報と、を対応付けて記憶している。
論理割当単位識別情報は、論理割当単位を識別するための情報である。開始アドレス情報は、論理領域において、論理割当単位が開始する位置(アドレス)を表す情報である。終了アドレス情報は、論理領域において、論理割当単位が終了する位置を表す情報である。初期割当情報は、論理割当単位に割り当てられている物理割当単位が初期割当領域に含まれるか否かを表す情報である。
更に、マップ情報記憶部33は、図4に示したように、物理割当単位識別情報と、開始アドレス情報と、終了アドレス情報と、領域識別情報と、を対応付けて記憶している。
物理割当単位識別情報は、物理割当単位を識別するための情報である。開始アドレス情報は、物理領域において、物理割当単位が開始する位置(アドレス)を表す情報である。終了アドレス情報は、物理領域において、物理割当単位が終了する位置を表す情報である。領域識別情報は、物理割当単位が含まれる部分領域(初期割当領域、又は、再割当部分領域)を識別するための情報である。
加えて、マップ情報記憶部33は、図5に示したように、領域識別情報と、初期割当領域情報と、物理割当単位サイズと、を対応付けて記憶している。
初期割当領域情報は、領域識別情報により識別される部分領域が初期割当領域であるか否かを表す情報である。物理割当単位サイズは、領域識別情報により識別される部分領域に含まれる物理割当単位のサイズを表す情報である。
割当情報記憶部34は、図6に示したように、論理割当単位識別情報と、物理割当単位識別情報と、を対応付けて記憶する。本例では、物理割当単位識別情報が、割当情報記憶部34により論理割当単位識別情報と対応付けて記憶されることは、当該物理割当単位識別情報により識別される物理割当単位が、当該論理割当単位識別情報により識別される論理割当単位に割り当てられていることに対応している。
即ち、入出力制御装置10は、物理割当単位を論理割当単位に割り当てることにより、物理領域の一部を論理領域の一部に割り当てる、と言うことができる。
割当済判定部35は、書込要求受付部31により受け付けられた書込要求に含まれる部分論理領域特定情報により特定される部分論理領域に、物理領域の一部が既に割り当てられているか否かを判定する。
具体的には、割当済判定部35は、部分論理領域を構成する論理割当単位を識別するための論理割当単位識別情報と対応付けて物理割当単位識別情報が割当情報記憶部34に記憶されている場合、当該部分論理領域に物理領域の一部が既に割り当てられていると判定する。一方、割当済判定部35は、部分論理領域を構成する論理割当単位を識別するための論理割当単位識別情報と対応付けて物理割当単位識別情報が割当情報記憶部34に記憶されていない場合、当該部分論理領域に物理領域の一部が未だ割り当てられていないと判定する。
初期割当部36は、書込要求受付部31により受け付けられた書込要求に含まれる部分論理領域特定情報により特定される部分論理領域に、物理領域の一部が未だ割り当てられていないと割当済判定部35により判定された場合、物理領域のうちの初期割当領域の少なくとも一部を当該部分論理領域に割り当てる。
具体的には、初期割当部36は、いずれの論理割当単位にも割り当てられていない物理割当単位のうちの、初期割当領域に含まれる物理割当単位を、マップ情報記憶部33及び割当情報記憶部34に記憶されている情報に基づいて特定する。
そして、初期割当部36は、特定された物理割当単位を、書込要求に含まれる部分論理領域特定情報により特定される部分論理領域に割り当てる。即ち、初期割当部36は、特定された物理割当単位を識別するための物理割当単位識別情報と、当該部分論理領域を構成する論理割当単位を識別するための論理割当単位識別情報と、を対応付けて割当情報記憶部34に記憶させる。
データ書込部37は、書込要求受付部31により受け付けられた書込要求に含まれる部分論理領域特定情報により特定される部分論理領域に割り当てられている物理領域の一部である部分物理領域に、当該書込要求に含まれるデータを記憶させるための処理を行う。
具体的には、データ書込部37は、書込要求に含まれる部分論理領域特定情報により特定される部分論理領域を構成する論理割当単位に割り当てられている物理割当単位を、マップ情報記憶部33及び割当情報記憶部34に記憶されている情報に基づいて特定する。そして、データ書込部37は、特定された物理割当単位に、当該書込要求に含まれるデータを記憶させる旨を指示する書込指示を、ディスク用アダプタ12a,12bを介して、ディスクエンクロージャ20へ送信する。
再割当部38は、初期割当領域に含まれる部分物理領域(即ち、初期割当領域を構成する物理割当単位からなる領域)に記憶されているデータを、再割当領域の少なくとも一部である移動先領域(即ち、再割当領域を構成する物理割当単位からなる領域)に移動させるとともに、当該部分物理領域が割り当てられている部分論理領域に当該移動先領域を割り当て直す。
具体的には、再割当部38は、読出要求受付部32により受け付けられた読出要求に含まれる部分論理領域特定情報により特定される部分論理領域に割り当てられている部分物理領域が、初期割当領域に含まれるか否かを判定する。
本例では、再割当部38は、部分論理領域を構成する論理割当単位を識別するための論理割当単位識別情報と対応付けて、当該論理割当単位に割り当てられている物理割当単位が初期割当領域に含まれる旨を表す初期割当情報がマップ情報記憶部33に記憶されている場合、当該部分論理領域に割り当てられている部分物理領域が当該初期割当領域に含まれると判定する。
そして、再割当部38は、読出要求に含まれる部分論理領域特定情報により特定される部分論理領域に割り当てられている部分物理領域が、初期割当領域に含まれると判定した場合、当該部分論理領域のサイズを取得する。次いで、再割当部38は、取得された部分論理領域のサイズに基づいて、複数の再割当部分領域のうちの1つを選択する。本例では、再割当部38は、部分論理領域のサイズと物理割当単位サイズとの予め設定された関係と、取得された部分論理領域のサイズと、に基づいて、複数の再割当部分領域のうちの1つを選択する。
そして、再割当部38は、いずれの論理割当単位にも割り当てられていない物理割当単位のうちの、選択された再割当部分領域に含まれる物理割当単位からなる部分物理領域を移動先領域として特定する。このとき、再割当部38は、上記取得された部分論理領域のサイズに亘って移動先領域が連続して配置されるように当該移動先領域を決定(特定)する。
次いで、再割当部38は、読出要求に含まれる部分論理領域特定情報により特定される部分論理領域に割り当てられている部分物理領域に記憶されているデータを、決定された移動先領域(即ち、再割当領域を構成する物理割当単位からなる領域)に移動させる。具体的には、再割当部38は、当該データを、決定された移動先領域に移動させる旨を指示する移動指示を、ディスク用アダプタ12a,12bを介して、ディスクエンクロージャ20へ送信する。
更に、再割当部38は、当該部分論理領域に当該移動先領域を割り当て直す。具体的には、再割当部38は、当該部分論理領域を構成する論理割当単位を識別するための論理割当単位識別情報と、当該論理割当単位識別情報と対応付けて記憶されている物理割当単位識別情報と、を割当情報記憶部34から消去する。加えて、再割当部38は、当該移動先領域を構成する物理割当単位を識別するための物理割当単位識別情報と、当該部分論理領域を構成する論理割当単位を識別するための論理割当単位識別情報と、を対応付けて割当情報記憶部34に記憶させる。
データ読出部39は、読出要求受付部32により受け付けられた読出要求に含まれる部分論理領域特定情報により特定される部分論理領域に割り当てられている物理領域の一部である部分物理領域に記憶されているデータを読み出す。
具体的には、データ読出部39は、読出要求に含まれる部分論理領域特定情報により特定される部分論理領域を構成する論理割当単位に割り当てられている物理割当単位を、マップ情報記憶部33及び割当情報記憶部34に記憶されている情報に基づいて特定する。そして、データ読出部39は、特定された物理割当単位に記憶されているデータを読み出す旨を指示する読出指示を、ディスク用アダプタ12a,12bを介して、ディスクエンクロージャ20へ送信する。
(作動)
次に、上述したディスクアレイ装置1の作動について説明する。
コントローラ13のCPUは、図7にフローチャートにより示した書込処理プログラムを実行するようになっている。
具体的に述べると、コントローラ13は、書込処理プログラムの処理を開始すると、書込要求を受け付けるまで待機する(ステップS101)。コントローラ13が、ホスト用アダプタ11a,11bを介して、ホスト装置2a,2bから書込要求を受け付けると、コントローラ13は、ステップS102へ進み、書込要求に含まれる部分論理領域特定情報により特定される部分論理領域を構成する論理割当単位を特定する。
次いで、コントローラ13は、特定された論理割当単位に、物理割当単位が既に割り当てられているか否かを判定する(ステップS103)。
上記論理割当単位に、物理割当単位が既に割り当てられている場合、コントローラ13は、「Yes」と判定してステップS105へ進む。
一方、上記論理割当単位に、物理割当単位が未だ割り当てられていない場合、コントローラ13は、「No」と判定してステップS104へ進む。そして、コントローラ13は、いずれの論理割当単位にも割り当てられていない物理割当単位のうちの、初期割当領域に含まれる物理割当単位を特定し、上記論理割当単位に、特定された物理割当単位を割り当てる(ステップS104)。
次いで、コントローラ13は、ステップS105にて、上記論理割当単位に割り当てられている物理割当単位に、上記書込要求に含まれるデータを記憶させる旨を指示する書込指示を、ディスク用アダプタ12a,12bを介して、ディスクエンクロージャ20へ送信する。
これにより、ディスクエンクロージャ20は、コントローラ13から書込指示を受信する。そして、ディスクエンクロージャ20は、受信された書込指示に従って、データを記憶装置21a,21b,…に記憶させる。
その後、コントローラ13は、ステップS101へ戻り、ステップS101〜ステップS105の処理を繰り返し実行する。
また、コントローラ13のCPUは、図8にフローチャートにより示した読出処理プログラムを実行するようになっている。
具体的に述べると、コントローラ13は、読出処理プログラムの処理を開始すると、読出要求を受け付けるまで待機する(ステップS201)。コントローラ13が、ホスト用アダプタ11a,11bを介して、ホスト装置2a,2bから読出要求を受け付けると、コントローラ13は、ステップS202へ進み、読出要求に含まれる部分論理領域特定情報により特定される部分論理領域を構成する論理割当単位を特定する。
次いで、コントローラ13は、読出要求が連続読出要求であるか否かを判定する(ステップS203)。
上記読出要求が連続読出要求でない場合、コントローラ13は、「No」と判定してステップS211へ進む。
一方、上記読出要求が連続読出要求である場合、コントローラ13は、「Yes」と判定してステップS204へ進む。そして、コントローラ13は、上記論理割当単位に割り当てられている物理割当単位を特定する。
次いで、コントローラ13は、特定された物理割当単位からなる部分物理領域が初期割当領域に含まれるか否かを判定する(ステップS205)。
上記部分物理領域が初期割当領域に含まれない場合、コントローラ13は、「No」と判定してステップS211へ進む。
一方、上記部分物理領域が初期割当領域に含まれる場合、コントローラ13は、「Yes」と判定してステップS206へ進む。そして、コントローラ13は、上記部分論理領域のサイズを取得する。次いで、コントローラ13は、取得された部分論理領域のサイズに基づいて、複数の再割当部分領域のうちの1つを選択する(ステップS207)。
そして、コントローラ13は、いずれの論理割当単位にも割り当てられていない物理割当単位のうちの、選択された再割当部分領域に含まれる物理割当単位からなる部分物理領域を移動先領域として決定する(ステップS208)。このとき、コントローラ13は、上記取得された部分論理領域のサイズに亘って移動先領域が連続して配置されるように当該移動先領域を決定(特定)する。
次いで、コントローラ13は、読出要求に含まれる部分論理領域特定情報により特定される部分論理領域に割り当てられている部分物理領域に記憶されているデータを、決定された移動先領域に移動させる旨を指示する移動指示を、ディスク用アダプタ12a,12bを介して、ディスクエンクロージャ20へ送信する(ステップS209)。
これにより、ディスクエンクロージャ20は、コントローラ13から移動指示を受信する。そして、ディスクエンクロージャ20は、受信された移動指示に従って、記憶装置21a,21b,…に記憶されているデータを移動させる。
その後、コントローラ13は、ステップS210にて、読出要求に含まれる部分論理領域特定情報により特定される部分論理領域に、上記決定された移動先領域を割り当て直す(再割り当てを実行する)。
そして、コントローラ13は、上記ステップS202にて特定された論理割当単位に割り当てられている物理割当単位に記憶されているデータを読み出す旨を指示する読出指示を、ディスク用アダプタ12a,12bを介して、ディスクエンクロージャ20へ送信する(ステップS211)。
これにより、ディスクエンクロージャ20は、コントローラ13から読出指示を受信する。そして、ディスクエンクロージャ20は、受信された読出指示に従って、記憶装置21a,21b,…に記憶されているデータを読み出す。次いで、ディスクエンクロージャ20は、読み出したデータ(読出データ)を入出力制御装置10へ送信する。
入出力制御装置10は、読出データをディスクエンクロージャ20から受信し、受信された読出データをホスト装置2a,2bへ送信する。
その後、コントローラ13は、ステップS201へ戻り、ステップS201〜ステップS211の処理を繰り返し実行する。
以上、説明したように、本発明の第1実施形態に係る入出力制御装置10(記憶領域提供装置)は、書込要求により特定される部分論理領域に、初期割当領域の少なくとも一部を割り当てる。その後、入出力制御装置10は、初期割当領域の少なくとも一部に記憶されているデータを、再割当領域の少なくとも一部に移動させる。従って、入出力制御装置10によれば、初期割当領域に記憶されているデータの量が比較的少ない状態が維持される。
ここで、複数の書込要求のそれぞれに含まれる部分論理領域特定情報により特定される部分論理領域からなる部分論理領域が論理領域において連続して配置されている場合(例えば、複数の書込要求によって1つのファイルを構成するデータを記憶する場合等)を想定する。この場合、入出力制御装置10によれば、論理領域において連続して配置されている部分論理領域に、物理領域において連続して配置されている部分物理領域を割り当てることができる可能性を高めることができる。
また、入出力制御装置10は、記憶されているデータが読み出される際に、連続して配置されるべきデータのサイズを取得する。更に、入出力制御装置10は、記憶装置21a,21b,…に記憶されているデータを、初期割当領域から再割当領域へ移動させる際には、連続して配置されるべきデータのサイズとして取得されたサイズに基づいて、移動先領域を決定する。これにより、当該データを、連続して配置された部分物理領域に記憶させることができる可能性を高めることができる。
このように、上記構成によれば、論理領域において連続して配置されている部分論理領域に割り当てられている部分物理領域が、物理領域において分散して配置される可能性を低減することができる。この結果、記憶装置21a,21b,…に記憶されているデータにアクセスする(例えば、データを読み出す、又は、データを変更する等)速度が過度に低下することを防止することができる。
更に、本発明の第1実施形態に係る入出力制御装置10において、初期割当領域を構成する物理割当単位のサイズは、再割当領域を構成する物理割当単位のサイズ以下である。
ところで、論理割当単位に割り当てられた物理割当単位を構成する複数のアドレスの一部は、実際にはデータを記憶しない(即ち、使用されない)場合がある。従って、物理割当単位のサイズが大きくなるほど、使用されないアドレスの数が過度に多くなる(即ち、無駄に割り当てられる物理領域が過度に広くなる)可能性が高くなる。
そこで、上記のように入出力制御装置10を構成することにより、初期割当領域において、無駄に割り当てられる物理領域が過度に広くなることを抑制することができる。この結果、初期割当領域において新たに割り当てることができる物理領域を十分に広くすることができる。
加えて、本発明の第1実施形態に係る入出力制御装置10は、受け付けられた読出要求に含まれる部分論理領域特定情報により特定される部分論理領域のサイズに基づいて、物理割当単位のサイズが異なる複数の再割当部分領域のうちの1つを選択する。更に、入出力制御装置10は、当該部分論理領域に、当該選択された再割当部分領域の少なくとも一部を割り当て直す。
これによれば、記憶装置21a,21b,…が記憶しているデータに高速にアクセスすることができるとともに、部分論理領域に無駄に割り当てられる物理領域が過度に広くなることを抑制することができる。
更に、本発明の第1実施形態に係る入出力制御装置10は、論理割当単位識別情報と対応付けて記憶されている初期割当情報に基づいて、部分論理領域に割り当てられている部分物理領域が初期割当領域に含まれるか否かを判定する。
これによれば、部分論理領域に割り当てられている部分物理領域が初期割当領域に含まれているか否かを迅速に判定することができる。
なお、本発明の第1実施形態の変形例に係るディスクアレイ装置1において、複数の記憶装置21a,21b,…は、ランダムに配置された複数の部分領域からデータを読み出す速度であるランダム読出速度が異なっていてもよい。即ち、ディスクアレイ装置1において、物理領域は、ランダム読出速度が異なる複数の記憶装置21a,21b,…のそれぞれが有する記憶領域により構成される、と言うことができる。
この場合、初期割当領域は、複数の記憶装置21a,21b,…のうちの、ランダム読出速度が最大である記憶装置21a,21b,…が有する記憶領域により構成されることが好適である。ところで、SSD(Solid State Drive)は、HDD(Hard Disk Drive)よりもランダム読出速度が大きい。従って、例えば、初期割当領域は、SSDが有する記憶領域により構成され、且つ、再割当領域は、HHDが有する記憶領域により構成されることが好適である。
これによれば、仮に、部分論理領域に割り当てられている部分物理領域が初期割当領域において、不連続に配置されている場合であっても、当該部分物理領域に記憶されているデータに迅速にアクセスすることができる。
<第2実施形態>
次に、本発明の第2実施形態に係る記憶領域提供装置について図9を参照しながら説明する。
第2実施形態に係る記憶領域提供装置100は、記憶装置が有する物理的な記憶領域である物理領域を、仮想的な記憶領域である論理領域として提供する装置である。
更に、この記憶領域提供装置100は、
データと、上記論理領域の一部である部分論理領域を特定するための部分論理領域特定情報と、を含む書込要求を受け付ける書込要求受付部(書込要求受付手段)101と、
上記受け付けられた書込要求に含まれる上記部分論理領域特定情報により特定される上記部分論理領域に、上記物理領域の一部が既に割り当てられているか否かを判定する割当済判定部(割当済判定手段)102と、
上記受け付けられた書込要求に含まれる上記部分論理領域特定情報により特定される上記部分論理領域に、上記物理領域の一部が未だ割り当てられていないと判定された場合、上記物理領域のうちの初期割当領域の少なくとも一部を当該部分論理領域に割り当てる初期割当部(初期割当手段)103と、
上記受け付けられた書込要求に含まれる上記部分論理領域特定情報により特定される上記部分論理領域に割り当てられている上記物理領域の一部である部分物理領域に、当該書込要求に含まれるデータを記憶させるデータ書込部(データ書込手段)104と、
上記初期割当領域に含まれる上記部分物理領域に記憶されているデータを、上記物理領域のうちの当該初期割当領域以外の再割当領域の少なくとも一部である移動先領域に移動させるとともに、当該部分物理領域が割り当てられている上記部分論理領域に当該移動先領域を割り当て直す再割当部(再割当手段)105と、
を備える。
このように、記憶領域提供装置100は、書込要求により特定される部分論理領域に、初期割当領域の少なくとも一部を割り当てる。その後、記憶領域提供装置100は、初期割当領域の少なくとも一部に記憶されているデータを、再割当領域の少なくとも一部に移動させる。従って、上記記憶領域提供装置100によれば、初期割当領域に記憶されているデータの量が比較的少ない状態が維持される。
ここで、複数の書込要求のそれぞれに含まれる部分論理領域特定情報により特定される部分論理領域からなる部分論理領域が論理領域において連続して配置されている場合(例えば、複数の書込要求によって1つのファイルを構成するデータを記憶する場合等)を想定する。この場合、記憶領域提供装置100によれば、論理領域において連続して配置されている部分論理領域に、物理領域において連続して配置されている部分物理領域を割り当てることができる可能性を高めることができる。
また、例えば、記憶されているデータが読み出される際に、連続して配置されるべきデータのサイズを取得できる場合がある。従って、記憶装置に記憶されているデータを、初期割当領域から再割当領域へ移動させる際には、連続して配置されるべきデータのサイズとして取得されたサイズに基づいて、移動先領域を決定することにより、当該データを、連続して配置された部分物理領域に記憶させることができる可能性を高めることができる。
このように、上記構成によれば、論理領域において連続して配置されている部分論理領域に割り当てられている部分物理領域が、物理領域において分散して配置される可能性を低減することができる。この結果、記憶装置に記憶されているデータにアクセスする(例えば、データを読み出す、又は、データを変更する等)速度が過度に低下することを防止することができる。
以上、上記実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成及び詳細に、本願発明の範囲内において当業者が理解し得る様々な変更をすることができる。
なお、上記各実施形態において、コントローラ13又は記憶領域提供装置の各機能は、CPUがプログラム(ソフトウェア)を実行することにより実現されていたが、回路等のハードウェアにより実現されていてもよい。
また、上記各実施形態においてプログラムは、記憶装置に記憶されていたが、コンピュータが読み取り可能な記録媒体に記憶されていてもよい。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
また、上記実施形態の他の変形例として、上述した実施形態及び変形例の任意の組み合わせが採用されてもよい。
<付記>
上記実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限られない。
(付記1)
記憶装置が有する物理的な記憶領域である物理領域を、仮想的な記憶領域である論理領域として提供する記憶領域提供装置であって、
データと、前記論理領域の一部である部分論理領域を特定するための部分論理領域特定情報と、を含む書込要求を受け付ける書込要求受付手段と、
前記受け付けられた書込要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に、前記物理領域の一部が既に割り当てられているか否かを判定する割当済判定手段と、
前記受け付けられた書込要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に、前記物理領域の一部が未だ割り当てられていないと判定された場合、前記物理領域のうちの初期割当領域の少なくとも一部を当該部分論理領域に割り当てる初期割当手段と、
前記受け付けられた書込要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に割り当てられている前記物理領域の一部である部分物理領域に、当該書込要求に含まれるデータを記憶させるデータ書込手段と、
前記初期割当領域に含まれる前記部分物理領域に記憶されているデータを、前記物理領域のうちの当該初期割当領域以外の再割当領域の少なくとも一部である移動先領域に移動させるとともに、当該部分物理領域が割り当てられている前記部分論理領域に当該移動先領域を割り当て直す再割当手段と、
を備える記憶領域提供装置。
このように、記憶領域提供装置は、書込要求により特定される部分論理領域に、初期割当領域の少なくとも一部を割り当てる。その後、記憶領域提供装置は、初期割当領域の少なくとも一部に記憶されているデータを、再割当領域の少なくとも一部に移動させる。従って、上記記憶領域提供装置によれば、初期割当領域に記憶されているデータの量が比較的少ない状態が維持される。
ここで、複数の書込要求のそれぞれに含まれる部分論理領域特定情報により特定される部分論理領域からなる部分論理領域が論理領域において連続して配置されている場合(例えば、複数の書込要求によって1つのファイルを構成するデータを記憶する場合等)を想定する。この場合、上記記憶領域提供装置によれば、論理領域において連続して配置されている部分論理領域に、物理領域において連続して配置されている部分物理領域を割り当てることができる可能性を高めることができる。
また、例えば、記憶されているデータが読み出される際に、連続して配置されるべきデータのサイズを取得できる場合がある。従って、記憶装置に記憶されているデータを、初期割当領域から再割当領域へ移動させる際には、連続して配置されるべきデータのサイズとして取得されたサイズに基づいて、移動先領域を決定することにより、当該データを、連続して配置された部分物理領域に記憶させることができる可能性を高めることができる。
このように、上記構成によれば、論理領域において連続して配置されている部分論理領域に割り当てられている部分物理領域が、物理領域において分散して配置される可能性を低減することができる。この結果、記憶装置に記憶されているデータにアクセスする(例えば、データを読み出す、又は、データを変更する等)速度が過度に低下することを防止することができる。
(付記2)
付記1に記載の記憶領域提供装置であって、
前記論理領域の一部であり且つ当該論理領域において連続して配置された領域である部分論理領域を特定するための部分論理領域特定情報を含む読出要求を受け付ける読出要求受付手段を備え、
前記再割当手段は、前記受け付けられた読出要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に割り当てられている、前記物理領域の一部である部分物理領域が、前記初期割当領域に含まれる場合、当該部分論理領域のサイズを取得し、当該取得されたサイズに亘って前記移動先領域が連続して配置されるように当該移動先領域を決定するように構成された記憶領域提供装置。
(付記3)
付記1又は付記2に記載の記憶領域提供装置であって、
前記物理領域は、複数の物理割当単位により構成され、
前記論理領域は、複数の論理割当単位により構成され、
前記記憶領域提供装置は、前記物理割当単位を前記論理割当単位に割り当てることにより、前記物理領域の一部を前記論理領域の一部に割り当てるように構成され、
前記初期割当領域を構成する前記物理割当単位のサイズは、前記再割当領域を構成する前記物理割当単位のサイズ以下である記憶領域提供装置。
ところで、論理割当単位に割り当てられた物理割当単位を構成する複数のアドレスの一部は、実際にはデータを記憶しない(即ち、使用されない)場合がある。従って、物理割当単位のサイズが大きくなるほど、使用されないアドレスの数が過度に多くなる(即ち、無駄に割り当てられる物理領域が過度に広くなる)可能性が高くなる。
そこで、上記のように記憶領域提供装置を構成することにより、初期割当領域において、無駄に割り当てられる物理領域が過度に広くなることを抑制することができる。この結果、初期割当領域において新たに割り当てることができる物理領域を十分に広くすることができる。
(付記4)
付記3に記載の記憶領域提供装置であって、
前記再割当領域は、前記物理割当単位のサイズが異なる複数の再割当部分領域を含み、
前記再割当手段は、前記受け付けられた読出要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に割り当てられている前記部分物理領域が、前記初期割当領域に含まれる場合、当該部分論理領域のサイズに基づいて、前記複数の再割当部分領域のうちの1つを選択し、当該部分論理領域に、当該選択された再割当部分領域の少なくとも一部を割り当て直すように構成された記憶領域提供装置。
これによれば、記憶装置が記憶しているデータに高速にアクセスすることができるとともに、部分論理領域に無駄に割り当てられる物理領域が過度に広くなることを抑制することができる。
(付記5)
付記3又は付記4に記載の記憶領域提供装置であって、
前記論理割当単位を識別するための論理割当単位識別情報と、当該論理割当単位に割り当てられた前記物理割当単位を識別するための物理割当単位識別情報と、を対応付けて記憶する割当情報記憶手段を備え、
前記割当済判定手段は、前記部分論理領域を構成する前記論理割当単位を識別するための論理割当単位識別情報と対応付けて前記物理割当単位識別情報が記憶されている場合、当該部分論理領域に前記物理領域の一部が既に割り当てられていると判定するように構成された記憶領域提供装置。
(付記6)
付記3乃至付記5のいずれか一項に記載の記憶領域提供装置であって、
前記論理割当単位を識別するための論理割当単位識別情報と、当該論理割当単位に割り当てられている前記物理割当単位が前記初期割当領域に含まれるか否かを表す初期割当情報と、を対応付けて記憶する初期割当情報記憶手段を備え、
前記再割当手段は、前記部分論理領域を構成する前記論理割当単位を識別するための前記論理割当単位識別情報と対応付けて、当該論理割当単位に割り当てられている前記物理割当単位が前記初期割当領域に含まれる旨を表す前記初期割当情報が記憶されている場合、当該部分論理領域に割り当てられている前記部分物理領域が当該初期割当領域に含まれると判定するように構成された記憶領域提供装置。
これによれば、部分論理領域に割り当てられている部分物理領域が初期割当領域に含まれているか否かを迅速に判定することができる。
(付記7)
付記1乃至付記6のいずれか一項に記載の記憶領域提供装置であって、
前記物理領域は、ランダムに配置された複数の部分領域からデータを読み出す速度であるランダム読出速度が異なる複数の記憶装置のそれぞれが有する記憶領域により構成され、
前記初期割当領域は、前記複数の記憶装置のうちの、前記ランダム読出速度が最大である記憶装置が有する記憶領域により構成される記憶領域提供装置。
これによれば、仮に、部分論理領域に割り当てられている部分物理領域が初期割当領域において、不連続に配置されている場合であっても、当該部分物理領域に記憶されているデータに迅速にアクセスすることができる。
(付記8)
記憶装置が有する物理的な記憶領域である物理領域を、仮想的な記憶領域である論理領域として提供する記憶領域提供方法であって、
データと、前記論理領域の一部である部分論理領域を特定するための部分論理領域特定情報と、を含む書込要求を受け付け、
前記受け付けられた書込要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に、前記物理領域の一部が既に割り当てられているか否かを判定し、
前記受け付けられた書込要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に、前記物理領域の一部が未だ割り当てられていないと判定された場合、前記物理領域のうちの初期割当領域の少なくとも一部を当該部分論理領域に割り当て、
前記受け付けられた書込要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に割り当てられている前記物理領域の一部である部分物理領域に、当該書込要求に含まれるデータを記憶させ、
前記初期割当領域に含まれる前記部分物理領域に記憶されているデータを、前記物理領域のうちの当該初期割当領域以外の再割当領域の少なくとも一部である移動先領域に移動させるとともに、当該部分物理領域が割り当てられている前記部分論理領域に当該移動先領域を割り当て直す、記憶領域提供方法。
(付記9)
付記8に記載の記憶領域提供方法であって、
前記論理領域の一部であり且つ当該論理領域において連続して配置された領域である部分論理領域を特定するための部分論理領域特定情報を含む読出要求を受け付け、
前記受け付けられた読出要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に割り当てられている、前記物理領域の一部である部分物理領域が、前記初期割当領域に含まれる場合、当該部分論理領域のサイズを取得し、当該取得されたサイズに亘って前記移動先領域が連続して配置されるように当該移動先領域を決定する、記憶領域提供方法。
(付記10)
付記8又は付記9に記載の記憶領域提供方法であって、
前記物理領域は、複数の物理割当単位により構成され、
前記論理領域は、複数の論理割当単位により構成され、
前記物理割当単位を前記論理割当単位に割り当てることにより、前記物理領域の一部を前記論理領域の一部に割り当て、
前記初期割当領域を構成する前記物理割当単位のサイズは、前記再割当領域を構成する前記物理割当単位のサイズ以下である、記憶領域提供方法。
(付記11)
情報処理装置に、
記憶装置が有する物理的な記憶領域である物理領域を、仮想的な記憶領域である論理領域として提供させるための記憶領域提供プログラムであって、
データと、前記論理領域の一部である部分論理領域を特定するための部分論理領域特定情報と、を含む書込要求を受け付ける書込要求受付手段と、
前記受け付けられた書込要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に、前記物理領域の一部が既に割り当てられているか否かを判定する割当済判定手段と、
前記受け付けられた書込要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に、前記物理領域の一部が未だ割り当てられていないと判定された場合、前記物理領域のうちの初期割当領域の少なくとも一部を当該部分論理領域に割り当てる初期割当手段と、
前記受け付けられた書込要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に割り当てられている前記物理領域の一部である部分物理領域に、当該書込要求に含まれるデータを記憶させるデータ書込手段と、
前記初期割当領域に含まれる前記部分物理領域に記憶されているデータを、前記物理領域のうちの当該初期割当領域以外の再割当領域の少なくとも一部である移動先領域に移動させるとともに、当該部分物理領域が割り当てられている前記部分論理領域に当該移動先領域を割り当て直す再割当手段と、
を実現させるための記憶領域提供プログラム。
(付記12)
付記11に記載の記憶領域提供プログラムであって、
前記情報処理装置に、更に、
前記論理領域の一部であり且つ当該論理領域において連続して配置された領域である部分論理領域を特定するための部分論理領域特定情報を含む読出要求を受け付ける読出要求受付手段を実現させるとともに、
前記再割当手段は、前記受け付けられた読出要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に割り当てられている、前記物理領域の一部である部分物理領域が、前記初期割当領域に含まれる場合、当該部分論理領域のサイズを取得し、当該取得されたサイズに亘って前記移動先領域が連続して配置されるように当該移動先領域を決定するように構成された記憶領域提供プログラム。
(付記13)
付記11又は付記12に記載の記憶領域提供プログラムであって、
前記物理領域は、複数の物理割当単位により構成され、
前記論理領域は、複数の論理割当単位により構成され、
前記情報処理装置に、前記物理割当単位を前記論理割当単位に割り当てることにより、前記物理領域の一部を前記論理領域の一部に割り当てさせるように構成され、
前記初期割当領域を構成する前記物理割当単位のサイズは、前記再割当領域を構成する前記物理割当単位のサイズ以下である記憶領域提供プログラム。
本発明は、記憶装置が有する物理的な記憶領域である物理領域を、仮想的な記憶領域である論理領域として提供するディスクアレイ装置等に適用可能である。
1 ディスクアレイ装置
2a,2b ホスト装置
10 入出力制御装置
11a,11b ホスト用アダプタ
12a,12b ディスク用アダプタ
13 コントローラ
20 ディスクエンクロージャ
21a,21b,… 記憶装置
31 書込要求受付部
32 読出要求受付部
33 マップ情報記憶部
34 割当情報記憶部
35 割当済判定部
36 初期割当部
37 データ書込部
38 再割当部
39 データ読出部
100 記憶領域提供装置
101 書込要求受付部
102 割当済判定部
103 初期割当部
104 データ書込部
105 再割当部

Claims (8)

  1. 記憶装置が有する物理的な記憶領域である物理領域を、仮想的な記憶領域である論理領域として提供する記憶領域提供装置であって、
    データと、前記論理領域の一部である部分論理領域を特定するための部分論理領域特定情報と、を含む書込要求を受け付ける書込要求受付手段と、
    前記受け付けられた書込要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に、前記物理領域の一部が既に割り当てられているか否かを判定する割当済判定手段と、
    前記受け付けられた書込要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に、前記物理領域の一部が未だ割り当てられていないと判定された場合、前記物理領域のうちの初期割当領域の少なくとも一部を当該部分論理領域に割り当てる初期割当手段と、
    前記受け付けられた書込要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に割り当てられている前記物理領域の一部である部分物理領域に、当該書込要求に含まれるデータを記憶させるデータ書込手段と、
    前記初期割当領域に含まれる前記部分物理領域に記憶されているデータを、前記物理領域のうちの当該初期割当領域以外の再割当領域の少なくとも一部である移動先領域に移動させるとともに、当該部分物理領域が割り当てられている前記部分論理領域に当該移動先領域を割り当て直す再割当手段と、
    前記論理領域の一部であり且つ当該論理領域において連続して配置された領域である部分論理領域を特定するための部分論理領域特定情報を含む読出要求を受け付ける読出要求受付手段と、を備え、
    前記再割当手段は、前記受け付けられた読出要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に割り当てられている、前記物理領域の一部である部分物理領域が、前記初期割当領域に含まれる場合、当該部分論理領域のサイズを取得し、当該取得されたサイズに亘って前記移動先領域が連続して配置されるように当該移動先領域を決定するように構成された記憶領域提供装置。
  2. 請求項に記載の記憶領域提供装置であって、
    前記物理領域は、複数の物理割当単位により構成され、
    前記論理領域は、複数の論理割当単位により構成され、
    前記記憶領域提供装置は、前記物理割当単位を前記論理割当単位に割り当てることにより、前記物理領域の一部を前記論理領域の一部に割り当てるように構成され、
    前記初期割当領域を構成する前記物理割当単位のサイズは、前記再割当領域を構成する前記物理割当単位のサイズ以下である記憶領域提供装置。
  3. 請求項に記載の記憶領域提供装置であって、
    前記再割当領域は、前記物理割当単位のサイズが異なる複数の再割当部分領域を含み、
    前記再割当手段は、前記受け付けられた読出要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に割り当てられている前記部分物理領域が、前記初期割当領域に含まれる場合、当該部分論理領域のサイズに基づいて、前記複数の再割当部分領域のうちの1つを選択し、当該部分論理領域に、当該選択された再割当部分領域の少なくとも一部を割り当て直すように構成された記憶領域提供装置。
  4. 請求項又は請求項に記載の記憶領域提供装置であって、
    前記論理割当単位を識別するための論理割当単位識別情報と、当該論理割当単位に割り当てられた前記物理割当単位を識別するための物理割当単位識別情報と、を対応付けて記憶する割当情報記憶手段を備え、
    前記割当済判定手段は、前記部分論理領域を構成する前記論理割当単位を識別するための論理割当単位識別情報と対応付けて前記物理割当単位識別情報が記憶されている場合、当該部分論理領域に前記物理領域の一部が既に割り当てられていると判定するように構成された記憶領域提供装置。
  5. 請求項乃至請求項のいずれか一項に記載の記憶領域提供装置であって、
    前記論理割当単位を識別するための論理割当単位識別情報と、当該論理割当単位に割り当てられている前記物理割当単位が前記初期割当領域に含まれるか否かを表す初期割当情報と、を対応付けて記憶する初期割当情報記憶手段を備え、
    前記再割当手段は、前記部分論理領域を構成する前記論理割当単位を識別するための前記論理割当単位識別情報と対応付けて、当該論理割当単位に割り当てられている前記物理割当単位が前記初期割当領域に含まれる旨を表す前記初期割当情報が記憶されている場合、当該部分論理領域に割り当てられている前記部分物理領域が当該初期割当領域に含まれると判定するように構成された記憶領域提供装置。
  6. 請求項1乃至請求項のいずれか一項に記載の記憶領域提供装置であって、
    前記物理領域は、ランダムに配置された複数の部分領域からデータを読み出す速度であるランダム読出速度が異なる複数の記憶装置のそれぞれが有する記憶領域により構成され、
    前記初期割当領域は、前記複数の記憶装置のうちの、前記ランダム読出速度が最大である記憶装置が有する記憶領域により構成される記憶領域提供装置。
  7. 記憶装置が有する物理的な記憶領域である物理領域を、仮想的な記憶領域である論理領域として提供する記憶領域提供方法であって、
    データと、前記論理領域の一部である部分論理領域を特定するための部分論理領域特定情報と、を含む書込要求を受け付け、
    前記受け付けられた書込要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に、前記物理領域の一部が既に割り当てられているか否かを判定し、
    前記受け付けられた書込要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に、前記物理領域の一部が未だ割り当てられていないと判定された場合、前記物理領域のうちの初期割当領域の少なくとも一部を当該部分論理領域に割り当て、
    前記受け付けられた書込要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に割り当てられている前記物理領域の一部である部分物理領域に、当該書込要求に含まれるデータを記憶させ、
    前記初期割当領域に含まれる前記部分物理領域に記憶されているデータを、前記物理領域のうちの当該初期割当領域以外の再割当領域の少なくとも一部である移動先領域に移動させるとともに、当該部分物理領域が割り当てられている前記部分論理領域に当該移動先領域を割り当て直し、
    前記論理領域の一部であり且つ当該論理領域において連続して配置された領域である部分論理領域を特定するための部分論理領域特定情報を含む読出要求を受け付け、
    前記移動領域の割り当て直しは、前記受け付けられた読出要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に割り当てられている、前記物理領域の一部である部分物理領域が、前記初期割当領域に含まれる場合、当該部分論理領域のサイズを取得し、当該取得されたサイズに亘って前記移動先領域が連続して配置されるように当該移動先領域を決定する、記憶領域提供方法。
  8. 情報処理装置に、
    記憶装置が有する物理的な記憶領域である物理領域を、仮想的な記憶領域である論理領域として提供させるための記憶領域提供プログラムであって、
    データと、前記論理領域の一部である部分論理領域を特定するための部分論理領域特定情報と、を含む書込要求を受け付ける書込要求受付手段と、
    前記受け付けられた書込要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に、前記物理領域の一部が既に割り当てられているか否かを判定する割当済判定手段と、
    前記受け付けられた書込要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に、前記物理領域の一部が未だ割り当てられていないと判定された場合、前記物理領域のうちの初期割当領域の少なくとも一部を当該部分論理領域に割り当てる初期割当手段と、
    前記受け付けられた書込要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に割り当てられている前記物理領域の一部である部分物理領域に、当該書込要求に含まれるデータを記憶させるデータ書込手段と、
    前記初期割当領域に含まれる前記部分物理領域に記憶されているデータを、前記物理領域のうちの当該初期割当領域以外の再割当領域の少なくとも一部である移動先領域に移動させるとともに、当該部分物理領域が割り当てられている前記部分論理領域に当該移動先領域を割り当て直す再割当手段と、
    前記論理領域の一部であり且つ当該論理領域において連続して配置された領域である部分論理領域を特定するための部分論理領域特定情報を含む読出要求を受け付ける読出要求受付手段と、を実現させるとともに、
    前記再割当手段は、前記受け付けられた読出要求に含まれる前記部分論理領域特定情報により特定される前記部分論理領域に割り当てられている、前記物理領域の一部である部分物理領域が、前記初期割当領域に含まれる場合、当該部分論理領域のサイズを取得し、当該取得されたサイズに亘って前記移動先領域が連続して配置されるように当該移動先領域を決定するように構成された記憶領域提供プログラム。
JP2010223339A 2010-10-01 2010-10-01 記憶領域提供装置、記憶領域提供方法、及び、記憶領域提供プログラム Active JP5614213B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010223339A JP5614213B2 (ja) 2010-10-01 2010-10-01 記憶領域提供装置、記憶領域提供方法、及び、記憶領域提供プログラム
US13/240,611 US9058113B2 (en) 2010-10-01 2011-09-22 Storage region providing device, storage region providing method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010223339A JP5614213B2 (ja) 2010-10-01 2010-10-01 記憶領域提供装置、記憶領域提供方法、及び、記憶領域提供プログラム

Publications (2)

Publication Number Publication Date
JP2012079074A JP2012079074A (ja) 2012-04-19
JP5614213B2 true JP5614213B2 (ja) 2014-10-29

Family

ID=45889743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010223339A Active JP5614213B2 (ja) 2010-10-01 2010-10-01 記憶領域提供装置、記憶領域提供方法、及び、記憶領域提供プログラム

Country Status (2)

Country Link
US (1) US9058113B2 (ja)
JP (1) JP5614213B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6056856B2 (ja) * 2012-06-25 2017-01-11 富士通株式会社 ストレージ制御装置、情報処理装置、ストレージ制御プログラム、及びストレージ制御方法
JP2022034217A (ja) * 2020-08-18 2022-03-03 富士通株式会社 情報処理装置およびキャッシュ制御プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185411A (ja) * 1997-09-01 1999-03-30 Toshiba Corp ディスクアレイ装置、ディスクアレイ装置のデータ再配置方法、及びディスクアレイ装置のデータ再配置方法のプログラム情報を格納した記憶媒体
JP2006059374A (ja) * 2005-09-16 2006-03-02 Hitachi Ltd 記憶制御装置
US7653781B2 (en) * 2006-02-10 2010-01-26 Dell Products L.P. Automatic RAID disk performance profiling for creating optimal RAID sets
US7539783B2 (en) * 2006-09-22 2009-05-26 Commvault Systems, Inc. Systems and methods of media management, such as management of media to and from a media storage library, including removable media
EP2073208A4 (en) * 2006-10-04 2013-10-23 Panasonic Corp OPTICAL DATA DISTRIBUTION EQUIPMENT
JP5669338B2 (ja) * 2007-04-26 2015-02-12 株式会社日立製作所 半導体装置
JP2009093571A (ja) * 2007-10-11 2009-04-30 Hitachi Ltd 記憶制御装置、記憶制御装置のデータアーカイブ方法及びストレージシステム
US8090909B2 (en) * 2008-06-06 2012-01-03 Pivot3 Method and system for distributed raid implementation
JP4905810B2 (ja) * 2008-10-01 2012-03-28 日本電気株式会社 ストレージ装置、領域割り当て方法、及びプログラム
US9122579B2 (en) * 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
WO2012129191A2 (en) * 2011-03-18 2012-09-27 Fusion-Io, Inc. Logical interfaces for contextual storage

Also Published As

Publication number Publication date
US20120082017A1 (en) 2012-04-05
US9058113B2 (en) 2015-06-16
JP2012079074A (ja) 2012-04-19

Similar Documents

Publication Publication Date Title
CN107885456B (zh) 减少io命令访问nvm的冲突
KR20170083963A (ko) 어레이 컨트롤러, 솔리드 스테이트 디스크, 및 데이터를 기록하기 위해 솔리드 스테이트 디스크를 제어하는 방법
JP2016115355A (ja) 情報処理装置、プログラム、及び、情報処理システム
JP5075699B2 (ja) ストレージ容量拡張方法及びその方法を使用するストレージシステム
US8954652B2 (en) Method and controller for identifying a unit in a solid state memory device for writing data to
KR101687762B1 (ko) 저장 장치 및 그것의 커맨드 스케줄링 방법
JP6231899B2 (ja) 半導体装置、プロセッサシステム、及びその制御方法
JP2007026094A (ja) 実行装置およびアプリケーションプログラム
JP4992835B2 (ja) ディスク記憶装置およびプログラム
JP2010146326A (ja) 記憶装置、その制御方法及びその記憶装置を用いた電子装置
JP2016162397A (ja) ストレージ制御装置、制御システム及び制御プログラム
JP2015184856A (ja) メモリコントローラ、記憶装置、情報処理システム、および、それらにおける制御方法。
JP4893716B2 (ja) バックアップ装置、バックアップ方法およびバックアッププログラム
KR101579941B1 (ko) 가상머신 i/o 관리 방법 및 장치
JP4693589B2 (ja) 計算機システム、記憶領域割当方法及び管理計算機
JP5614213B2 (ja) 記憶領域提供装置、記憶領域提供方法、及び、記憶領域提供プログラム
KR20100102283A (ko) 플래시 메모리 장치 및 그 제어 방법
JP5730446B1 (ja) トライアル領域を備えた階層化ストレージシステム、ストレージコントローラ及びプログラム
JP2004355638A5 (ja)
US20120254531A1 (en) Storage apparatus and storage control device
US11429518B2 (en) Paging in thin-provisioned disaggregated memory
CN110096355B (zh) 一种共享资源分配方法、装置和设备
KR101467514B1 (ko) 사용자 응답 시간을 고려한 메모리 관리 장치 및 방법
JP4727480B2 (ja) 情報処理方法、情報処理システム、情報処理装置、マルチプロセッサ、情報処理プログラム及び情報処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体
JP2006277530A (ja) 割当システム、割当装置、割当方法及びそのプログラム

Legal Events

Date Code Title Description
RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20120718

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140417

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140825

R150 Certificate of patent or registration of utility model

Ref document number: 5614213

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350