JP5886963B2 - ストレージ装置及びデータ管理方法 - Google Patents

ストレージ装置及びデータ管理方法 Download PDF

Info

Publication number
JP5886963B2
JP5886963B2 JP2014527394A JP2014527394A JP5886963B2 JP 5886963 B2 JP5886963 B2 JP 5886963B2 JP 2014527394 A JP2014527394 A JP 2014527394A JP 2014527394 A JP2014527394 A JP 2014527394A JP 5886963 B2 JP5886963 B2 JP 5886963B2
Authority
JP
Japan
Prior art keywords
storage
area
hierarchy
tier
host computer
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.)
Expired - Fee Related
Application number
JP2014527394A
Other languages
English (en)
Other versions
JP2015501958A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2015501958A publication Critical patent/JP2015501958A/ja
Application granted granted Critical
Publication of JP5886963B2 publication Critical patent/JP5886963B2/ja
Expired - Fee Related 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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

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

Description

本発明は、ストレージ装置及びデータ管理方法に関し、例えば、階層型データ管理機能が搭載されたストレージ装置に適用して好適なるものである。
近年、ストレージ装置に搭載される機能の1つとして、シンプロビジョニング(Thin Provisioning)と呼ばれる仮想化機能が注目されている。シンプロビジョニング機能は、ホスト計算機に対して仮想的な論理ボリューム(以下、これを仮想ボリュームと呼ぶ)を提供し、ホスト計算機から仮想ボリュームに対するデータの書込み要求が与えられたときに、仮想ボリュームに対して動的に記憶領域を割り当てる機能である。このようなシンプロビジョニング機能によれば、現実に提供可能な記憶領域よりも大きな容量の仮想ボリュームをホスト計算機に提供することができ、予め用意すべきストレージ装置内の物理的な記憶容量を削減して、安価に計算機システムを構築できるという利点がある。
また、このようなシンプロビジョニング機能が搭載されたストレージ装置におけるデータ管理方法として、階層型データ管理方法が従来から提案されている(例えば特許文献1)。階層型データ管理方法は、ストレージ装置に搭載された性能の異なる複数種類の記憶装置によりそれぞれ提供される各記憶領域をそれぞれ異なる複数種類の記憶階層として管理し、仮想ボリュームにおけるアクセス頻度の高いデータが格納された領域に対しては高速及び高性能の記憶階層から記憶領域を割り当て、仮想ボリュームにおけるアクセス頻度の低いデータが格納された領域に対しては低速及び低性能の記憶階層から記憶領域を割り当てる方法である。このような階層型データ管理方法によれば、ストレージ装置におけるコストパフォーマンスの向上を図ることができる。
米国特許出願公開第2011/0167236号明細書
しかし、上記した階層型データ管理方法では、アクセス頻度に応じて記憶領域(ページ)の割当先を決定していくため、1度アクセスされたページに対して、短い時間の間に再びアクセスされる可能性が高いにもかかわらず、下位の階層に割り当てられたページに対するアクセスが急激に増えても、当該ページが上位階層に割り当てられるまでには時間がかかってしまい、アクセス頻度に見合った応答速度を得ることができないという問題があった。
本発明は以上の点を考慮してなされたもので、特定のページの急激なアクセス頻度の増加に対して最適なページ配置を提供することが可能なストレージ装置及びデータ管理方法を提案しようとするものである。
かかる課題を解決するために本発明においては、データの入出力要求をするホスト計算機とネットワークを介して接続するストレージ装置であって、性能の異なる複数種類の記憶装置と、前記複数種類の記憶装置のそれぞれにより提供される各記憶領域をそれぞれ異なる複数種類の記憶階層により管理するとともに、前記ホスト計算機からの前記データの書き込み要求に応じて、前記複数種類の記憶階層のうち何れかの記憶階層から仮想ボリュームに対してページ単位で記憶領域を割り当てる制御部と、を備え、前記制御部は、前記ホスト計算機から前記データの入出力要求があった場合に、該入出力要求に対応する前記仮想ボリュームの対象領域に対して最上位の記憶階層からページ単位で記憶領域を割り当て、前記ホスト計算機からの前記データの入出力要求に対する処理速度に応じて、前記仮想ボリュームの所定の領域に対するページ単位の記憶領域の割り当てを、上位の記憶階層から下位の記憶階層に変更し、ユーザの指定に応じて、前記最上位の記憶階層の所定容量を余白領域とし、前記ホスト計算機からの前記データの入出力要求に対する処理速度に基づいて、前記最上位の記憶階層の空き容量が枯渇する時刻及び前記余白領域を確保する時間を算出し、前記空き容量が枯渇する時刻及び前記余白領域を確保する時間から、前記仮想ボリュームの所定の領域に対するページ単位の記憶領域の割り当てを、前記最上位の記憶階層から該最上位の記憶階層より下位の記憶階層に変更することを特徴とするストレージ装置が提供される。
かかる構成によれば、ホスト計算機からアクセスがあったページは、最上位の記憶階層に配置され、ホスト計算機からの入出力要求に対する処理速度に応じて、最上位の記憶階層のページを下位の記憶階層に移動する。これにより、ホスト計算機からのアクセスに対して最適なコマンド応答時間を期待させるとともに、ホスト計算機からの入出力処理の速度に応じて最適なページ配置を実行することが可能となる。
本発明によれば、特定のページの急激なアクセス頻度の増加に対して最適なページ配置を提供することができる。
本発明の一実施形態に係るストレージシステムのハードウェア構成を示すブロック図である。 同実施形態にかかるホスト計算機のハードウェア構成を示すブロック図である。 同実施形態にかかる管理計算機のハードウェア構成を示すブロック図である。 同実施形態にかかるストレージ装置のハードウェア構成を示すブロック図である。 同実施形態にかかるストレージ装置の論理構成を示すブロック図である。 同実施形態にかかるデータ管理方法の概要を説明する説明図である。 同実施形態にかかるストレージ装置のソフトウェア構成を示すブロック図である。 同実施形態にかかるプールスケジュール管理テーブルの内容を示す図表である。 同実施形態にかかるプールスケジュール入力画面の一例を示す概念図である。 同実施形態にかかるページ配置先管理テーブルの内容を示す図表である。 同実施形態にかかるプロモーション実行予約キューの内容を示す図表である。 同実施形態にかかるデモーション実行予約キューの内容を示す図表である。 同実施形態にかかるデモーション実行予約キューの内容を示す図表である。 同実施形態にかかる計算機システムにおけるデータ書き込み処理の流れを示すフローチャートである。 同実施形態にかかるデータの書き込み処理の流れを示すフローチャートである。 同実施形態にかかる計算機システムにおけるデータ読み出し処理の流れを示すフローチャートである。 同実施形態にかかる計算機システムにおけるデータ読み出し処理の流れを示すフローチャートである。 同実施形態にかかる限界マージン入力処理の流れを示すフローチャートである。 同実施形態にかかる目安マージン算出処理の流れを示すフローチャートである。 同実施形態にかかるフリー容量枯渇時刻算出処理の流れを示すフローチャートである。 同実施形態にかかる目安マージン確保時間算出処理の流れを示すフローチャートである。 同実施形態にかかるデモーション開始時刻算出処理の流れを示すフローチャートである。 同実施形態にかかる目安マージン算出処理の流れを示すフローチャートである。 同実施形態にかかるフリー容量枯渇時刻算出処理の流れを示すフローチャートである。 同実施形態にかかる目安マージン確保時間算出処理の流れを示すフローチャートである。 同実施形態にかかるデモーション開始時刻算出処理の流れを示すフローチャートである。 同実施形態にかかるプロモーション判定処理の流れを示すフローチャートである。 同実施形態にかかるプロモーション処理の流れを示すフローチャートである。 同実施形態にかかるデモーション判定処理の流れを示すフローチャートである。 同実施形態にかかるデモーション処理の流れを示すフローチャートである。 同実施形態にかかるデモーション処理の流れを示すフローチャートである。
以下図面について、本発明の一実施の形態を詳述する。
(1)計算機システムの構成
(1−1)計算機システムのハードウェア構成
まず、本実施の形態にかかる計算機システム1のハードウェア構成について説明する。図1に示すように、計算機システム1は、ホスト計算機100と、管理計算機200と、ストレージ装置300とから構成されている。
ホスト計算機100は、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション又はメインフレームなどから構成される。ホスト計算機100は、ストレージ装置300に格納されているデータを参照したり更新したりするために、ネットワークを介してストレージ装置300に対してリード要求またはライト要求を送信する。また、ホスト計算機100は、ホストI/Oネットワーク400を介してストレージ装置300と接続されている。ホストI/Oネットワーク400は、例えば、SAN(Storage Area Network)などから構成され、装置間の通信は、例えばファイバチャネルプロトコルに従って行われる。
ホストI/Oネットワーク400は、例えば、LAN(Local Area Network)、インターネット、公衆回線または専用回線などであってもよい。ホストI/Oネットワーク400がLANの場合には、装置間の通信は、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。
管理計算機200は、CPU及びメモリ等の情報処理資源を備えたコンピュータ装置であって、例えば、パーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。管理計算機200は、管理LANネットワーク410を介してストレージ装置300と接続されている。管理LANネットワーク410は、例えば、SANまたはLANなどから構成される。
また、管理計算機200のメモリに記憶されているプログラムは、ストレージ装置300の記憶媒体等を管理するプログラムであって、例えば、RAID(Redundant Arrays of Inexpensive Disks)グループの構成やRAIDグループの一部から構成される論理ボリュームの容量等を管理する。管理計算機200は、ユーザ操作等に応じたコマンドをストレージ装置300に送信してRAIDの構成情報等を変更したりする。
ストレージ装置300は、ホストI/Oネットワーク400を介してホスト計算機100と接続され、ホスト計算機100から送信されたコマンドを解釈してストレージ装置内の記憶媒体へのリード/ライトを実行する。また、ストレージ装置300は、管理LANネットワーク410を介して管理計算機200と接続され、管理計算機200からの指示に応じてRAID構成を変更したりする。
(1−2)ホスト計算機のハードウェア構成
ホスト計算機100は、図2に示すように、CPU110、メモリ120、通信インタフェース(図中通信I/F)130、補助記憶装置140、入力装置150、出力装置160及び記憶装置180を備える。
CPU110は、演算処理装置および制御装置として機能し、各種プログラムに従ってホスト計算機100内の動作全般を制御する。メモリ120は、CPU110が使用するプログラムや演算パラメータ等を記憶したり、CPU110の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶したりする。
通信インタフェース130は、ホストI/Oネットワーク400に接続するための通信デバイス等で構成された通信インタフェースである。また、通信インタフェース130は、無線LAN(Local Area Network)対応通信装置であっても、ワイヤレスUSB対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。
補助記憶装置140は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体などである。入力装置150は、例えば、マウス、キーボード、タッチパネル、ボタン、マイク、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU110に出力する入力制御回路などから構成されている。出力装置160は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Display)装置およびランプなどの表示装置と、スピーカおよびヘッドホンなどの音声出力装置で構成される。
記憶装置180は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含み、例えば、HDD(Hard Disk Drive)で構成される。
(1−3)管理計算機のハードウェア構成
管理計算機200は、図3に示すように、CPU210、メモリ220、通信インタフェース(図中通信I/F)230、補助記憶装置240、入力装置250、出力装置260及び記憶装置280を備える。
CPU210は、演算処理装置および制御装置として機能し、各種プログラムに従って管理計算機200内の動作全般を制御する。メモリ220は、CPU210が使用するプログラムや演算パラメータ等を記憶したり、CPU210の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶したりする。
通信インタフェース230は、ホストI/Oネットワーク400に接続するための通信デバイス等で構成された通信インタフェースである。また、通信インタフェース230は、無線LAN(Local Area Network)対応通信装置であっても、ワイヤレスUSB対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。
補助記憶装置240は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体などである。入力装置250は、例えば、マウス、キーボード、タッチパネル、ボタン、マイク、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU210に出力する入力制御回路などから構成されている。出力装置260は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Display)装置およびランプなどの表示装置と、スピーカおよびヘッドホンなどの音声出力装置で構成される。
記憶装置280は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含み、例えば、HDD(Hard Disk Drive)で構成される。
(1−4)ストレージ装置のハードウェア構成
図4に示すように、ストレージ装置300は、基本筺体310、複数の増設筺体320から構成される。
ストレージ装置300は、基本筺体310と複数の増設筺体320とが直列に接続されることにより構成されている。基本筺体310は、複数のディスクコントローラ330と、複数のハードディスクドライブ350とを備えて構成されている。
各ディスクコントローラ330は、CPU331、ブリッジ332、メモリ333、通信インタフェース(図中通信I/F)334、データコントローラ(図中DCTL)335、ドライブインタフェース(図中ドライブI/F)336、キャッシュメモリ(図中CM)337及びスイッチ338を備えている。
CPU331は、ホスト計算機100からのデータ入出力要求に応答して、複数のハードディスクドライブ350へのI/O処理(ライトアクセス、又はリードアクセス)を制御する。ブリッジ332は、CPU331、メモリ333、及びデータコントローラ335を相互に接続する。メモリ333は、CPU331の各種プログラムを格納する他、CPU331のワークエリアとして機能する。通信インタフェース(図中通信I/F)334は、ホスト計算機100との間のインタフェースを制御するコントローラであり、例えば、ファイバチャネルプロトコルによるホストシステムからのブロックアクセス要求を受信する機能を有する。
データコントローラ(図中DCTL)335は、ブリッジ332及びキャッシュメモリ337を相互に接続し、ホスト計算機100とハードディスクドライブ350との間のデータ転送を制御する。具体的には、ホスト計算機100からのライトアクセスが行われると、データコントローラ335は、ホスト計算機100から受け取ったライトデータ(ダーティデータ)をキャッシュメモリ337に書き込む。その後、キャッシュメモリ337上のライトデータがある程度蓄積された段階で、データコントローラ335は、そのライトデータをハードディスクドライブ350に非同期書き込みする。一方、ホスト計算機100からのリードアクセスが行われると、データコントローラ335は、ハードディスクドライブ350から読み取ったリードデータをキャッシュメモリ337に書き込むとともに、ホスト計算機100に転送する。
ドライブインタフェース(図中ドライブI/F)336は、ファイバチャネルプロトコルとSATAプロトコルとの間でプロトコル変換を行う。ドライブインタフェース336は、スイッチ338に接続している。スイッチ338は、ハードディスクドライブ350とドライブインタフェース336とを接続する。
また、コントローラ330は、複数のハードディスクドライブ350をいわゆるRAID方式に規定されるRAIDレベル(例えば、0,1,5)で制御することができる。RAID方式においては、複数のハードディスクドライブ350が一つのRAIDグループ340として管理される。RAIDグループ340上には、ホスト計算機100からのアクセス単位である複数の論理ボリュームが定義されている。各論理ボリュームには、LUN(Logical Unit Number)がアサインされる。
また、ストレージ装置300は、基本筺体310に増設筺体320を増設することにより、記憶容量を拡張することができる。
増設筺体320は、スイッチ338を介して基本筺体310のコントローラ330と接続されている。基本筺体310と同様に、コントローラ330は、複数のハードディスクドライブ350をいわゆるRAID方式に規定されるRAIDレベル(例えば、0,1,5)で制御することができる。
(1−5)ストレージ装置の論理構成
図5に、ストレージ装置300の論理構成を示す。この図5からも明らかなように、ストレージ装置300では、同一種別(SSD、SAS/FC及びSATA等)の1又は複数の記憶装置350(図4のハードディスクドライブ350)によりRAIDグループRGが定義され、1つのRAIDグループを構成する1又は複数の記憶装置350により提供される記憶領域上に1又は複数のプールボリュームPVOLが定義される。同一種別の記憶装置350により提供される記憶領域上に定義された各プールボリュームPVOLは同一種別の記憶階層STとして管理され、互いに異なる記憶階層STに属する複数のプールボリュームPVOLが1つの仮想ボリュームプールVVPとして管理される。
本実施の形態の場合、上述のように記憶装置350としてSSD、SASディスク、FCディスク及びSATAディスクの4種類の記憶装置が用いられており、1又は複数のSSDが提供する記憶領域上に定義されたプールボリュームPVOLがTier1という記憶階層(以下、これを第1記憶階層と呼ぶ)STとして管理され、1又は複数のSASディスク又はFCディスクが提供する記憶領域上に定義されたプールボリュームPVOLがTier2という記憶階層(以下、これを第2記憶階層と呼ぶ)STとして管理され、1又は複数のSATAディスクが提供する記憶領域上に定義されたプールボリュームPVOLがTier3という記憶階層(以下、これを第3記憶階層と呼ぶ)STとして管理される。
なお、これら記憶装置350の種別(SSD、SAS/FC及びSATA)のうち、最も信頼性及び応答性能が高いのはSSDであり、信頼性及び応答性能が次いで高いのはSASディスク又はFCディスクであり、信頼性及び応答性能が最も低いのはSATAディスクである。よって、本実施の形態の場合、仮想ボリュームプールVVPを構成する第1〜第3記憶階層STのうち、最も信頼性及び応答性能が高い記憶階層は第1記憶階層STであり、信頼性及び応答性能が次いで高い記憶階層は第2記憶階層STであり、最も信頼性及び応答性能が低い記憶階層は第3記憶階層STである。
一方、ストレージ装置300内には、1又は複数の仮想ボリュームVVOLが定義される。各仮想ボリュームVVOLには、それぞれ固有の識別子(以下、これをLUN(Logical Unit Number)と呼ぶ)が付与される。また仮想ボリュームVVOL内の領域は、所定の大きさのブロック(以下、これを論理ブロックと呼ぶ)に分割され、各論理ブロックにそれぞれ付与された固有の番号(以下、これをLBA(Logical Block Address)と呼ぶ)を用いて管理される。ホスト計算機100から仮想ボリュームVVOLに対するデータの入出力要求(書込み要求及び読出し要求)は、データを読み書きする仮想ボリュームVVOLのLUNと、当該仮想ボリュームVVOL内のデータを読み書きする領域の先頭の論理ブロックのLBAと、データ長とを指定して行われる。
各仮想ボリュームVVOLには、それぞれ何れか1つの仮想ボリュームプールVVPが予め対応付けられる。そして、ストレージ装置300は、ホスト計算機100から仮想ボリュームVVOLに対するデータの書込み要求を受信した場合、その書込み要求において指定された仮想ボリュームVVOL内の当該書込み要求において指定された領域に対して、当該仮想ボリュームVVOLに対応付けられた仮想ボリュームプールVVPから必要量の記憶領域をページと呼ばれる所定の大きさ単位で割り当て、割り当てたページに書込み対象のデータを書き込む。
ここで、ページとは、仮想ボリュームVVOLに対応付けられた仮想ボリュームプールVVPを構成する何れかの記憶階層(第1〜第3記憶階層)STから仮想ボリュームVVOLに対して割り当てられる記憶領域の基本単位である。以下の説明では、1つのページと仮想ボリュームVVOLの1つの論理ブロックとは同じ大きさの記憶領域であるものとして説明するが、必ずしもこれに限られない。
またストレージ装置300は、仮想ボリュームVVOLに対して対応する仮想ボリュームプールVVPからページを割り当てる際、割当て可能なプールボリュームPVOLのうち、最も信頼性及び応答性能が高い記憶階層STに属するプールボリュームPVOLから順番にページを割り当てる。従って、ストレージ装置300は、第1記憶階層STに属するプールボリュームPVOL、第2記憶階層STに属するプールボリュームPVOL及び第3記憶階層STに属するプールボリュームPVOLの順番で、そのプールボリュームPVOLに未割当てのページが枯渇するまで、そのプールボリュームPVOLから仮想ボリュームVVOLにページを割り当てていくことになる。
他方、ストレージ装置300は、上述のような仮想ボリュームVVOLに対するページの割り当て処理と並行して、仮想ボリュームVVOLの各論理ブロックに対する単位時間当たりのホスト計算機100からのアクセス頻度を監視する。
そしてストレージ装置300は、単位時間当たりのアクセス頻度に基づいて、定期的又は不定期に、アクセス頻度の高い論理ブロックに対してはより信頼性及び応答性能の高い第1又は第2記憶階層STからページを割り当て、アクセス頻度の低い論理ブロックに対してはより信頼性及び応答性能の低い第2又は第3記憶階層STからページを割り当てるように、必要に応じてデータを第1〜第3記憶階層ST間で移行させる。
(1−6)本実施形態によるデータ管理方法の概要
次に、ストレージ装置300におけるデータ管理方法の概要について説明する。ストレージ装置300には、上記したように、階層型データ管理機能が搭載されており、仮想ボリュームにおけるアクセス頻度の高いデータが格納された領域に対しては高速及び高性能の記憶階層から記憶領域が割り当てられ、仮想ボリュームにおけるアクセス頻度の低いデータが格納された領域に対しては低速及び低性能の記憶階層から記憶領域が割り当てられる。このような階層型データ管理機能によれば、ストレージ装置300におけるコストパフォーマンスの向上を図ることができる。
しかし、上記した階層型データ管理方法では、ページ毎のアクセス頻度により記憶領域の割当先の階層が決定されるため、1度アクセスされたページが適切な階層に配置されるまでに数時間以上の時間を要する。このため、急遽頻繁にアクセスされることとなったページが最上位の階層に配置されて、最適なコマンド応答時間が期待できるまでに時間がかかるという問題があった。
そこで、本実施の形態では、以下の方法によって特定のページの急激なアクセス頻度の増加に対して最適なページ配置を提供している。すなわち、図6に示すように、ホスト計算機100からの初めてのライトアクセスにより新規にページが割り当てられる場合には、第1記憶階層(Tier1)に必ず配置させる。また、既にページが割り当てられている領域に対してライトアクセスがあった場合にも、1回のアクセスによって第1記憶階層(Tier1)に必ず配置(プロモーション:Promotion)させる。また、アクセス頻度の低いページから順にLRUアルゴリズムにしたがって現在の階層よりも下位の階層に配置(デモーション:Demotion)させる。これにより、常に直近にアクセスされたページが最上位の記憶階層に配置されるため、急遽アクセスされるようになったページについて、即時に最適なコマンド応答時間を期待することができる。
上記したように、ホスト計算機100からのアクセスによって、新規に割り当てられたページ、第2記憶階層(Tier2)及び第3記憶階層(Tier3)に配置されていたページにアクセスがあった場合には、いずれのページも第1記憶階層(Tier1)に移動する。また、もともと第1記憶階層(Tier1)に配置されていたページはそのまま第1の記憶階層(Tier)に配置される。
本実施の形態では、第1記憶階層(Tier1)に新たに割り当てられたり、第1記憶階層(Tier1)以外の記憶階層から移動したりするページを、第1記憶階層(Tier1)の余白領域(以下、余白領域をマージン領域と称して説明する。)に格納する。そして、第1記憶階層(Tier1)内に存在するページのうち、アクセス頻度が最も低いページのうち、LRU理論によって最もアクセスが古いページを第2記憶階層(Tier2)に移動する。同様に、第2記憶階層(Tier2)内に存在するページのうち、アクセス頻度が最も低いページのうち、LRU理論によって最もアクセスが古いページを第3記憶階層(Tier3)に移動する。これにより、1度アクセスのあったページについて、当該アクセスを契機として該ページを第1記憶階層(Tier1)にプロモーションするために、第1記憶階層(Tier1)に所定量のマージン領域を確保することができる。
また、本実施の形態では、ユーザによって指定された第1記憶階層(Tier1)のマージン容量の限界値に応じて、第1記憶階層(Tier1)から第2記憶階層(Tier2)にページを移動させる時間を算出する。
具体的に、まず、ユーザに指定されたマージン容量の限界値に所定量を加算したマージン容量(目安マージン容量)を算出する(STEP01)。そして、現時点でのホスト計算機100からの入出力要求に対する処理速度から、現在の第1記憶階層(Tier1)のフリー容量が枯渇する時刻(第1記憶階層枯渇時刻)を算出する(STEP02)。そして、現時点での第1記憶階層(Tier1)から第2記憶階層(Tier2)へのデモーション速度から、目安マージン容量分だけ第1記憶階層から第2記憶階層へページをデモーションした場合の処理時間(目安マージン確保時間)を算出する(STEP03)。そして、第1記憶階層枯渇時刻から目安マージン確保時間を減算することにより、第1記憶階層(Tier1)から第2記憶階層(Tier2)にデモーションを開始する時刻(デモーション開始時刻)を算出する(STEP04)。
本実施の形態では、上記したSTEP01〜STEP04の処理を、例えば1分おきに実施して、その都度、第1記憶階層(Tier1)から第2記憶階層(Tier2)へのデモーション開始時刻を更新する。これにより、ホスト計算機100からの入出力要求に対する処理速度や記憶階層間の移動処理の速度に応じた最適なページ配置を実行することが可能となる。
(1−7)ストレージ装置のソフトウェア構成
次に、ストレージ装置300のソフトウェア構成について説明する。図7に示すように、ストレージ装置300は、I/O処理部301、限界マージン入力処理部304、目安マージン算出処理部305、フリー容量枯渇時刻算出処理部306、目安マージン確保時間算出処理部307、デモーション開始時刻算出処理部308、プールスケジュール管理テーブル311、ページ配置先管理テーブル312、プロモーション実行予約キュー313及びデモーション実行予約キュー314から構成される。
I/O処理部301は、データ書き込み処理部302及びデータ読み出し処理部303から構成される。データ書き込み処理部302は、ホスト計算機100からのデータ書き込み要求に応じて、ハードディスクドライブ350にデータを書き込む機能を有する。上記したように、本実施の形態では、新規ページに対するデータ書き込み処理があった場合には、第1記憶階層(Tier1)のページを優先的に割り当てる。また、データ読み出し処理部303は、ホスト計算機100からのデータ読み出し要求に応じて、ハードディスクドライブ350からデータを読み出す機能を有する。
限界マージン入力処理部304は、ユーザ入力に応じて指定された第1記憶階層(Tier1)のマージン容量の限界値(限界マージン容量)を取得して、目安マージン算出処理部305に提供する。また、目安マージン算出処理部305は、限界マージン入力処理部304から提供された限界マージン容量に所定の固定値を加算して、第1記憶階層(Tier1)のマージン容量の目安となる値(第1記憶階層の目安マージン容量)を算出する。例えば、限界マージン容量は、ユーザ入力により、第1記憶階層の総容量の10〜50%に設定される。また、限界マージン容量に安全係数として固定値の10%を加算して目安マージン容量を算出する。例えば、第1記憶階層の総容量が5TB、ユーザ指定の限界マージンを20%とした場合、第1記憶階層の目安マージン容量は以下により算出される。
第1記憶階層の目安マージン容量=第1記憶階層の総容量×(ユーザ指定の第1記憶階層の限界マージン+安全係数)=5TB×(20%+10%)=1.5TB
また、目安マージン算出処理部305は、第2記憶階層(Tier2)の合計容量に対する固定割合(案年係数)に相当する容量を、第2記憶階層(Tier2)のマージン容量の目安となる値(第2記憶階層の目安マージン容量)として算出する。例えば、第2記憶階層の総容量が50TB、安全係数を10%とした場合、第2記憶階層の目安マージン容量は以下により算出される。
第2記憶階層の目安マージン容量=第2記憶階層の総容量×安全係数)=50TB×(10%)=5TB
フリー容量枯渇時刻算出処理部306は、現時点でのホスト計算機100のI/O処理速度を及び第1記憶階層(Tier1)の使用容量から第1記憶階層(Tier1)の空き容量(フリー容量)が枯渇する時刻(第1記憶階層枯渇時刻)を算出する。ここで、ホスト計算機100のI/O処理速度は、所定時間内にホスト計算機100から受け付けるI/Oデータ量であって、例えば過去1分間の実測値[MB/s]の平均値を利用してもよい。
例えば、現在時刻が2012年1月1日0時00分、ホスト計算機100のI/O処理速度が100MB/s、フリー容量が4TBであった場合、第1記憶階層のフリー容量枯渇時刻は、現在時刻に第1記憶階層のフリー容量枯渇までの見込み時間加算することにより算出される。
第1記憶階層のフリー容量枯渇までの見込み時間=フリー容量/ホスト計算機のI/O処理速度=4TB/100MB=40000[s]=11.11[h]
現在時刻2012/1/1,0:00に上記した第1記憶階層のフリー容量枯渇までの見込み時間を加算すると、第1記憶階層のフリー容量枯渇時刻は、2012/1/1,11:07と算出される。
また、ホスト計算機100の第1記憶階層(Tier1)に対するI/O量は、厳密には、プール全体が受領するホスト計算機100からの総I/O量から第1記憶階層(Tier1)上の既存ページに対するアクセスの分を差し引いたI/O量となる。しかし、以下では、第1記憶階層(Tier1)上の既存ページに対するアクセスを差し引いたI/O量も含めてホスト計算機からのI/O量としている。
また、フリー容量枯渇時刻算出処理部306は、現時点での第1記憶階層(Tier1)から第2記憶階層(Tier2)へのデモーション処理速度を利用して、第2記憶階層のフリー容量が枯渇する時刻(第2記憶階層枯渇時刻)を算出する。第1記憶階層(Tier1)から第2記憶階層(Tier2)へのデモーション処理速度は、例えば、第2記憶階層(Tier2)に対するホスト計算機100のI/O処理の実測値や、実際に再配置を実施した際の実測値や、各ドライブ種別に基づくカタログの使用や、プール作成時に内部的に実施されるI/O動作テスト中の実測値などを利用してもよい。
例えば、現在時刻が2012年1月1日0時00分、第1記憶階層(Tier1)から第2記憶階層(Tier2)へのデモーション処理速度が50MB/s、フリー容量が40TBであった場合、第2記憶階層のフリー容量枯渇時刻は、現在時刻に第2記憶階層のフリー容量枯渇までの見込み時間加算することにより算出される。
第2記憶階層のフリー容量枯渇までの見込み時間=フリー容量/第1記憶階層(Tier1)から第2記憶階層(Tier2)へのデモーション処理速度=40TB/50MB=800000[s]=222.22[h]
現在時刻2012/1/1,0:00に上記した第2記憶階層のフリー容量枯渇までの見込み時間を加算すると、第2記憶階層のフリー容量枯渇時刻は、2012/1/10,6:15と算出される。
目安マージン確保時間算出処理部307は、現時点での第1記憶階層(Tier1)から第2記憶階層(Tier2)へのデモーション処理速度を用いて、目安マージン算出処理部305により算出された第1記憶階層(Tier1)の第1記憶階層の目安マージン容量分だけ第1記憶階層(Tier1)から第2記憶階層(Tier2)に再配置処理を実施した場合の処理時間(第1記憶階層の目安マージン確保時間)を算出する。ここで、第1記憶階層(Tier1)から第2記憶階層(Tier2)へのデモーション処理速度は、例えば、第2記憶階層(Tier2)に対するホスト計算機100のI/O処理の実測値や、実際に再配置を実施した際の実測値や、各ドライブ種別に基づくカタログの使用や、プール作成時に内部的に実施されるI/O動作テスト中の実測値などを利用してもよい。
例えば、第1記憶階層の目安マージン容量が1.5TB、第1記憶階層(Tier1)から第2記憶階層(Tier2)へのデモーション処理速度が50MB/sであった場合に目安マージン確保時間は以下により算出される。
第1記憶階層の目安マージン確保時間=目安マージン容量/第1記憶階層(Tier1)から第2記憶階層(Tier2)へのデモーション処理速度=1.5[TB]/50[MB/s]=30000[s]=8.33[h]
また、目安マージン確保時間算出処理部307は、現時点での第2記憶階層(Tier2)から第3記憶階層(Tier3)へのデモーション処理速度を用いて、目安マージン算出処理部305により算出された第2記憶階層の目安マージン容量分だけ第2記憶階層(Tier2)から第3記憶階層(Tier3)に再配置処理を実施した場合の処理時間(第2記憶階層の目安マージン確保時間)を算出する。
例えば、第2記憶階層の目安マージン容量が5TB、第2記憶階層(Tier2)から第3記憶階層(Tier3)へのデモーション処理速度が40MB/sであった場合に目安マージン確保時間は以下により算出される。
第2記憶階層の目安マージン確保時間=目安マージン容量/第2憶階層(Tier2)から第3記憶階層(Tier3)へのデモーション処理速度=5[TB]/40[MB/s]=12000[s]=34.72[h]
デモーション開始時刻算出処理部308は、目安マージン確保時間算出処理部307により算出された第1記憶階層の目安マージン確保時間を第1記憶階層枯渇時刻から逆算することにより、第1記憶階層(Tier1)から第2記憶階層(Tier2)へのデモーション処理の開始時刻を算出する。
例えば、第1記憶階層枯渇時刻が2012/1/1,11:07、第1記憶階層の目安マージン確保時間が8.33[h]であった場合に、第1記憶階層(Tier1)から第2記憶階層(Tier2)へのデモーション処理の開始時刻は2012/1/1,2:47となる。
また、デモーション開始時刻算出処理部308は、目安マージン確保時間算出処理部307により算出された第2記憶階層の目安マージン確保時間を第2記憶階層枯渇時刻から逆算することにより、第2記憶階層(Tier2)から第3記憶階層(Tier3)へのデモーション処理の開始時刻を算出する。
例えば、第2記憶階層枯渇時刻が2012/1/10,6:15、第2記憶階層の目安マージン確保時間が34.72[h]であった場合に、第2記憶階層(Tier2)から第3記憶階層(Tier3)へのデモーション処理の開始時刻は2012/1/9,5:32となる。
プールスケジュール管理テーブル311は、プールスケジュール入力画面500に入力された情報に基づいてプールの構成情報を管理するテーブルである。プールスケジュール管理テーブル311は、図8に示すように、プールNo欄3111、TierNo欄3112、限界マージン欄3113、安全係数欄3114、総容量欄3115、フリー容量欄3116、使用容量欄3117、目安マージン容量欄3118、ホストI/O性能欄3119、デモーション性能欄3120、Tier枯渇時刻欄3121、目安マージン確保時間欄3122及びデモーション開始時刻欄3123から構成される。
プールNo欄3111には、各プールを識別する番号が格納される。TierNo欄3112には、各プールの記憶階層を識別する番号が格納される。限界マージン欄3113には、第1記憶階層(Tier1)の限界マージン容量を示す情報が格納される。安全係数欄3114には、各記憶階層の目安マージン容量を算出するための安全係数が格納される。総容量欄3115には、各記憶階層の総容量を示す情報が格納される。
フリー容量欄3116には、各記憶階層の空き容量を示す情報が格納される。使用容量欄3117には、各記憶階層の使用容量を示す情報が格納される。目安マージン容量欄3118には、各記憶階層の目安マージン容量を示す情報が格納される。ホストI/O性能欄3119には、ホスト計算機100の性能を示す情報が格納される。デモーション性能欄3120には、各記憶階層から一つ下位の階層にデモーションする際の性能を示す情報が格納される。Tier枯渇時刻欄3121には、各記憶階層の現在のフリー容量が枯渇する時刻が格納される。目安マージン確保時間欄3122には、目安マージン容量を確保する時間が格納される。デモーション開始時刻欄3123、各記憶階層から一つ下位の記憶階層へのデモーションを開始する時刻が格納される。
プールスケジュール入力画面500は、図9に示すように、ユーザにより各プールを作成するための各種情報を設定する入力画面である。例えば、入力欄501には、プール番号が入力され、入力欄502には、入力欄501において設定されたプールの第1記憶階層の目安マージン容量が入力される。
また、入力欄503は、プルダウン表示からRAIDレベルを選択入力可能とし、入力欄504は、プルダウン表示からRAID構成を選択入力可能としている。入力欄505は、ハードディスクドライブ350の数が入力される。入力欄506は、ハードディスクドライブ350の種類と、当該ハードディスクドライブ350の容量が入力される。また、表示欄507には、ストレージ装置300に割り当てられたハードディスクドライブ350の情報が表示される。
ページ配置先管理テーブル312は、各ページの配置先に関する情報を管理するテーブルであって、図10に示すように、RAIDグループ(RG)No欄3121、ページNo欄3122、カウンタ欄3123、最終アクセス日時欄3124、プールNo欄3125、LUNo欄3126、LBA欄3127、現在Tier欄3128及び目標Tier欄3129から構成される。
RAIDグループ(RG)No欄3121には、各RAIDグループを識別する情報が格納される。ページNo欄3122には、各ページを識別する情報が格納される。カウンタ欄3123には、各ページへのアクセス回数が格納される。最終アクセス日時欄3124には、各ページの最終アクセス日時が格納される。プールNo欄3125には、各ページが属するプール番号を示す情報が格納される。LUNo欄3126には、各ページが属する論理ボリュームを識別する情報が格納される。LBA欄3127には、各ページに付与された固有の番号(LBA)が格納される。現在Tier欄3128には、各ページが現在属している記憶階層を示す情報が格納される。目標Tier欄3129には、各ページが目標とする記憶階層を示す情報が格納される。
プロモーション実行予約キュー313は、指定されたページを第1記憶階層(Tier1)にプロモーションするための実行予約キューであって、図11に示すように、RAIDグループ(RG)No欄3131に格納されたRAIDグループの番号とページNo欄3132に格納されたページ番号とが対応付けられて格納されている。プロモーション実行予約キュー313に格納された順に、実行予約キューの各ページが第1記憶階層(Tier1)にプロモーションされる。
デモーション実行予約キュー314Aは、指定されたページを第1記憶階層(Tier1)から第2記憶階層(Tier2)にデモーションするための実行予約キューであって、図12に示すように、RAIDグループ(RG)No欄3141に格納されたRAIDグループの番号とページNo欄3142に格納されたページ番号とが対応付けられて格納されている。デモーション実行予約キュー314Aに格納された順に、実行予約キューの各ページが第1記憶階層(Tier1)から第2記憶階層(Tier2)にデモーションされる。
デモーション実行予約キュー314Bは、指定されたページを第2記憶階層(Tier2)から第3記憶階層(Tier3)にデモーションするための実行予約キューであって、図13に示すように、RAIDグループ(RG)No欄3141に格納されたRAIDグループの番号とページNo欄3142に格納されたページ番号とが対応付けられて格納されている。デモーション実行予約キュー314Bに格納された順に、実行予約キューの各ページが第2記憶階層(Tier2)から第3記憶階層(Tier3)にデモーションされる。
(2)計算機システムの動作
(2−1)計算機システムにおけるデータ入出力処理
(2−1−1)データ書き込み処理
次に、計算機システム1におけるデータ入出力処理について説明する。まず、計算機システム1におけるデータ書き込み処理について説明する。図14に示すように、ホスト計算機100は、ストレージ装置300の通信インタフェース334(以下、単に通信インタフェース334と称して説明する。)にデータ書き込み要求を送信する(S100)。
通信インタフェース334は、ホスト計算機100から送信されたデータ書き込み要求を受信して(S101)、データコントローラ335にデータ書き込み要求を受信したことを通信する(S102)。
ストレージ装置300のデータコントローラ335(以下、単にデータコントローラ335と称して説明する。)は、通信インタフェース334からデータ書き込み要求の受信通知を受信して(S103)、ハードディスクドライブ350に書き込むデータをキャッシュメモリ337に書き込む(S104)。そして、データコントローラ335は、ストレージ装置300のドライブインタフェース336(以下、単にドライブインタフェース336と称して説明する。)にデータの書き込み要求を送信し、通信インタフェース334にデータ書き込みの完了を報告する(S107)。
ステップS107において、データコントローラ335は、ホスト計算機100から要求されたデータの書き込みに際して、新規ページの割り当てが必要か否かを判定する。具体的に、図15に示すように、データコントローラ335は、ホスト計算機100から要求されたデータの書き込みに際して、新規ページの割り当てが必要か否かを判定する(S121)。ステップS121において、新規ページの割り当てが必要であると判定された場合には、データコントローラ335は、第1記憶階層(Tier1)から優先的にページを割り当てるようにドライブインタフェース336に指示する(S122)。ステップS121において、新規ページの割り当てが必要ではないと判定された場合、すなわち、データの書き込み対象にすでにページが割り当てられている場合には、各記憶階層(Tier)の既存のページにアクセスするようにドライブインタフェース336に指示する(S123)。
通信インタフェース334は、データコントローラ335からデータ書き込みの完了を報告された後、ホスト計算機100に完了報告を送信する(S105)。そしてホスト計算機100は、データ書き込みの完了報告を通信インタフェース334から受信する(S106)
また、ドライブインタフェース336は、データコントローラ335からドライブ書き込み要求を受信して(S108)、キューからドライブ書き込み要求を読み出す(S109)。そして、ドライブインタフェース336は、ステップS109においてキューから読み出した書き込みデータを記憶装置(ハードディスクドライブ350)に書き込む(S110)。そして、ドライブインタフェース336は、データ書き込みの完了報告をデータコントローラ335に送信する(S111)。データコントローラ335は、ステップS111においてドライブインタフェース336から送信されたデータ書き込みの完了報告を受信する(S112)。
(2−1−2)データ読み出し処理
次に、計算機システム1におけるデータ読み出し処理について説明する。読み出しの際にキャッシュミスした場合、すなわち、読み出し対象となるデータがキャッシュメモリ337に格納されていない場合を図16に示す。また、データ読み出しの際にキャッシュヒットした場合、すなわち、読み出し対象となるデータがキャッシュメモリ337に格納されている場合を図17に示す。
図16に示すように、ホスト計算機100は、通信インタフェース334にデータ読み出し要求を送信する(S200)。通信インタフェース334は、ホスト計算機100から送信されたデータ読み出し要求を受信して、データコントローラ335に通知する(S201)。
通信インタフェース334からデータ読み出し要求を受信したデータコントローラ335は、キャッシュヒットしているかキャッシュミスしているか否か、すなわち、キャッシュメモリ337に読み出し対象となるデータが格納されているか否かを判定する(S202)。ステップS202において、キャッシュミスしている場合、すなわち、キャッシュメモリ337に読み出し対象となるデータが格納されていない場合には、データコントローラ335は、ドライブインタフェース336にデータ読み出し要求を送信する。
ドライブインタフェース336は、データコントローラ335からデータ読み出し要求を受信して(S203)、読み出し対象となるデータを記憶装置(ハードディスクドライブ350)から読み出して(S204)、当該データをデータコントローラ335に送信する。
データコントローラ335は、ドライブインタフェース336から受信した読み出しデータをキャッシュメモリ337に書き込み(S205)、当該データを通信インタフェース334に転送する(S206)。
通信インタフェース334は、データコントローラ335から転送された読み出しデータをホスト計算機100に送信する(S207)。ホスト計算機100は、通信インタフェース334から送信された読み出しデータを受信する(S208)。また、データの読み出し完了報告をホスト計算機100に送信する(S209)。ホスト計算機100は、通信インタフェース334から送信されたデータの読み出し完了報告を受信する(S210)。
図17に示すように、ホスト計算機100は、通信インタフェース334にデータ読み出し要求を送信する(S211)。通信インタフェース334は、ホスト計算機100から送信されたデータ読み出し要求を受信して、データコントローラ335に通知する(S212)。
通信インタフェース334からデータ読み出し要求を受信したデータコントローラ335は、キャッシュヒットしているか、キャッシュミスしているか否か、すなわち、キャッシュメモリ337に読み出し対象となるデータが格納されているか否かを判定する(S213)。ステップS213において、キャッシュヒットしている場合、すなわち、キャッシュメモリ337に読み出し対象となるデータが格納されている場合には、データコントローラ335は、キャッシュメモリ337の読み出し対象のデータを通信インタフェース334に転送する(S214)。
通信インタフェース334は、データコントローラ335から転送された読み出しデータをホスト計算機100に送信する(S215)。ホスト計算機100は、通信インタフェース334から送信された読み出しデータを受信する(S216)。また、データの読み出し完了報告をホスト計算機100に送信する(S217)。ホスト計算機100は、通信インタフェース334から送信されたデータの読み出し完了報告を受信する(S218)。
(2−2)ストレージ装置におけるマージン容量確保処理
次に、ストレージ装置におけるマージン容量確保処理について説明する。なお、以下の説明では、各種処理の主体をプログラム(限界マージン入力処理部等)として説明するが、実際上はそのプログラムに基づいて、ストレージ装置300のデータコントローラ335が実行することは言うまでもない。
以下では、まず、第1記憶階層(Tier1)及び第2記憶階層(Tier2)にいてマージン容量を確保するマージン容量確保処理について説明する。上記したように、本実施形態では、一度アクセスのあったページについて、当該アクセスを契機として該ページを第1記憶階層(Tier1)にプロモーションするために、第1記憶階層(Tier1)に所定量のマージン領域を確保する必要がある。そして、ホスト計算機100からの入出力要求に対する処理速度に応じて、第1記憶階層(Tier1)のページを第2記憶階層(Tier2)のページにデモーションする時刻を算出している。これにより、ホスト計算機100からのアクセスに対して最適なコマンド応答時間を期待させるとともに、ホスト計算機100からの入出力要求に対する処理速度に応じて最適なページ配置を実行することが可能となる。
次に、第1記憶階層へのページの移動処理(プロモーション処理)、上位階層から下位階層へのページの移動処理(デモーション処理)について説明する。上記したように、本実施形態では、新規に割り当てられたページ、第2記憶階層(Tier2)及び第3記憶階層(Tier3)に配置されていたページにアクセスがあった場合には、いずれのページも第1記憶階層(Tier1)に移動(プロモーション)する。また、もともと第1記憶階層(Tier1)に配置されていたページはそのまま第1の記憶階層(Tier)に配置される。そして、上記したマージン容量確保処理において算出されたデモーション時刻にしたがって、第1記憶階層(Tier1)から第2記憶階層(Tier2)への移動や、第2記憶階層(Tier2)から第3記憶階層(Tier3)へのページの移動(デモーション)が実行される。
(2−2−1)限界マージン入力処理
図18に示すように、限界マージン入力処理部304は、図9に示したプールスケジュール入力画面500を介してユーザにより入力されたプール設定に関する情報を取得する(S301)。そして、限界マージン入力処理部304は、ステップS301において指定されたプールに該当する限界マージンの情報を取得して、プールスケジュール管理テーブル311の該当プールの第1記憶階層(Tier1)の限界マージン欄3113に格納する(S302)。
(2−2−2)目安マージン算出処理
図19に示すように、目安マージン算出処理部305は、プールスケジュール管理テーブル311内の、該当プールの第1記憶階層(Tier1)の限界マージン欄3113の値を一時変数Aに格納し、安全係数欄3114の値を一時変数Bに格納し、総容量欄3115の値を一時変数Cに格納する(S311)。そして、目安マージン算出処理部305は、以下の式により目安マージン容量を算出して一時変数Dに格納し、プールスケジュール管理テーブル311内の、該当プールの第1記憶階層(Tier1)の目安マージン容量欄3118に変数Dの値を格納する(S312)。
D(目安マージン容量 TB)=C(総容量 TB)×(A(限界マージン %)+B(安全係数 %))
(2−2−3)第1記憶階層のフリー容量枯渇時刻算出処理
図20に示すように、フリー容量枯渇時刻算出処理部306は、プールスケジュール管理テーブル311内の、該当プールの第1記憶階層(Tier1)のフリー容量欄3116の値を一時変数Aに格納し、ホストI/O性能欄3119の値を一時変数Bに格納して、A/Bの値を一時変数C(フリー容量枯渇見込み時間)に格納する(S321)。
そして、フリー容量枯渇時刻算出処理部306は、ストレージ装置300のマイクロプログラム内で管理されているタイマー関数から現在時刻を取得して一時変数Dに格納する(S322)。そして、フリー容量枯渇時刻算出処理部306は、以下の式により第1記憶階層のフリー容量枯渇時刻を算出して、プールスケジュール管理テーブル311の該当プールの第1記憶階層のTier枯渇時刻欄3121に格納する(S323)。
E(Tier枯渇時刻YYYY/MM/DD, hh:mm)=C(フリー容量枯渇見込み時間)+D(現在時刻)
(2−2−4)目安マージン確保時間算出処理
図21に示すように、目安マージン確保時間算出処理部307は、プールスケジュール管理テーブル311内の、該当プールの第1記憶階層のデモーション性能欄3123の値を一時変数Aに格納し、目安マージン容量欄3122の値を一時変数Bに格納し、A/Bの値を一時変数C(目安マージン確保時間)に格納する(S331)。
そして、目安マージン確保時間算出処理部307は、ステップS331において算出したC(目安マージン確保時間)を、プールスケジュール管理テーブル311の該当プールの第1記憶階層の目安マージン確保時間欄3122に格納する(S332)。
(2−2−5)第1記憶階層から第2記憶階層へのデモーション開始時刻算出処理
図22に示すように、デモーション開始時刻算出処理部308は、プールスケジュール管理テーブル311内の、該当プールの第1記憶階層(Tier1)のTier枯渇時刻欄3121の値を一時変数Aに格納し、目安マージン確保時間欄3122の値を一時変数Bに格納し、A−Bの値を一時変数C(デモーション開始時刻)に格納する(S341)。
そして、デモーション開始時刻算出処理部308は、ステップS341において算出したC(デモーション開始時刻)を、プールスケジュール管理テーブル311の該当プールの第1記憶階層のデモーション開始時刻3123に格納する(S342)。
(2−2−6)目安マージン算出処理
図23に示すように、目安マージン算出処理部305は、プールスケジュール管理テーブル311内の、該当プールの第2記憶階層(Tier2)の安全係数欄3114の値を一時変数Aに格納し、総容量欄3115の値を一時変数Bに格納して、A×Bの値を一時変数C(目安マージン容量)に格納する(S351)。
そして、目安マージン算出処理部305は、ステップS351において算出したC(目安マージン容量)を、プールスケジュール管理テーブル311の目安マージン容量欄3118に格納する(S352)。
(2−2−7)第2記憶階層のフリー容量枯渇時刻算出処理
図24に示すように、フリー容量枯渇時刻算出処理部306は、プールスケジュール管理テーブル311内の、該当プールの第2記憶階層(Tier2)のフリー容量欄3116の値を一時変数Aに格納し、第2記憶階層(Tier2)のデモーション性能欄3120の値を一時変数Bに格納して、A/Bの値を一時変数C(フリー容量枯渇見込み時間)に格納する(S361)。
そして、フリー容量枯渇時刻算出処理部306は、ストレージ装置300のマイクロプログラム内で管理されているタイマー関数から現在時刻を取得して一時変数Dに格納する(S362)。そして、フリー容量枯渇時刻算出処理部306は、以下の式により第1記憶階層のフリー容量枯渇時刻を算出して、プールスケジュール管理テーブル311の該当プールの第2記憶階層のTier枯渇時刻欄3121に格納する(S363)。
E(Tier枯渇時刻YYYY/MM/DD, hh:mm)=C(フリー容量枯渇見込み時間)+D(現在時刻)
(2−2−8)目安マージン確保時間算出処理
図25に示すように、目安マージン確保時間算出処理部307は、プールスケジュール管理テーブル311内の、該当プールの第2記憶階層のデモーション性能欄3123の値を一時変数Aに格納し、目安マージン容量欄3122の値を一時変数Bに格納し、A/Bの値を一時変数C(目安マージン確保時間)に格納する(S371)。
そして、目安マージン確保時間算出処理部307は、ステップS371において算出したC(目安マージン確保時間)を、プールスケジュール管理テーブル311の該当プールの第2記憶階層(Tier2)の目安マージン確保時間欄3122に格納する(S372)。
(2−2−9)第2記憶階層から第3記憶階層へのデモーション開始時刻算出処理
図26に示すように、デモーション開始時刻算出処理部308は、プールスケジュール管理テーブル311内の、該当プールの第2記憶階層(Tier2)のTier枯渇時刻欄3121の値を一時変数Aに格納し、目安マージン確保時間欄3122の値を一時変数Bに格納し、A−Bの値を一時変数C(デモーション開始時刻)に格納する(S381)。
そして、デモーション開始時刻算出処理部308は、ステップS31において算出したC(デモーション開始時刻)を、プールスケジュール管理テーブル311の該当プールの第2記憶階層(Tier2)のデモーション開始時刻3123に格納する(S382)。
(2−3)ストレージ装置におけるプロモーション処理及びデモーション処理
次に、ストレージ装置におけるプロモーション処理及びデモーション処理について説明する。なお、以下の説明では、プロモーション処理及びデモーション処理の主体をI/O処理部301として説明するが、実際上はそのプログラムに基づいて、ストレージ装置300のデータコントローラ335が実行することは言うまでもない。
(2−3−1)プロモーション判定処理
図27に示すように、I/O処理部301は、ホスト計算機100からI/Oを受領する(S401)。そして、I/O処理部301は、ページ配置先管理テーブル312内の、I/O要求に対応するページのカウンタ欄312、最終アクセス日時欄3124、目標Tier欄3129を更新する。具体的に、I/O処理部301は、カウンタ欄312の値に1を加算する。また、最終アクセス日時欄3124の値を現在時刻に更新する。また、目標Tier欄3129の値を1に更新する(S402)。
そして、I/O処理部301は、ページ配置先管理テーブル312の該当ページの現在Tier欄3128を参照して、当該ページの現在のTierが1以外(Tier2またはTier3)かを判定する(S403)。
ステップS403において、該当ページの現在のTierが1以外ではない、すなわち、現在のTierが1であると判定された場合には、そのまま処理を終了する。一方、ステップS403において、該当ページの現在のTierが2または3のいずれかであると判定された場合には、当該ページをプロモーション実行予約キュー313の最後尾に登録する(S404)。
(2−3−2)プロモーション処理
図28に示すように、I/O処理部301は、プロモーション実行予約キュー313を参照して、プロモーション実行予約キュー313に格納されているキューについて、先頭から順にプロモーション処理を実行する(S411)。具体的に、I/O処理部301は、プロモーション実行予約キュー313に格納されているキューに対応するページを、第2記憶階層(Tier2)または第3記憶階層(Tier3)から、第1記憶階層(Tier1)に移動させる。
(2−3−3)デモーション判定処理
図29に示すように、I/O処理部301は、ページ配置先管理テーブル312を参照して、カウンタ欄3123及び最終アクセス日時欄3124に格納されている情報から、カウンタの値が小さい、すなわち、ページのアクセスが少なく、最終アクセス日時の古いページをデモーションの対象ページとしてデモーション実行予約キューに登録する(S421)。具体的に、I/O処理部301は、デモーションの対象となるページについては、第2記憶階層(Tier2)から第1記憶階層(Tier1)にデモーションさせるページをTier2からTier1へのデモーション実行予約キュー314Aに登録し、第3記憶階層(Tier3)から第2記憶階層(Tier2)にデモーションさせるページをTier3からTier2へのデモーション実行予約キュー314Bに登録する。
そして、I/O処理部301は、ページ配置先管理テーブル312のエントリの最後尾までステップS421の検索を終了した後、再度テーブルの先頭から検索を開始する(S422)。
(2−3−4)第1記憶階層から第2記憶階層へのデモーション処理
図30に示すように、I/O処理部301は、ストレージ装置300内のマイクロプログラム内で管理されているタイマー関数から現在時刻を取得して、一時変数Dに格納する(S431)。そして、プールスケジュール管理テーブル311内の第1記憶階層(Tier1)のデモーション開始時刻欄3123に格納されている時刻が一時変数Dの時刻を既に経過しているかを判定する(S432)。
そして、ステップS432において、デモーション開始時刻欄3123に格納されている時刻が一時変数Dの時刻を既に経過していると判定された場合には、I/O処理部301は、第1記憶階層(Tier1)から第2記憶階層(Tier2)への実行予約キュー314Aに登録されているキューの先頭から順にデモーション処理を実行する(S433)。一方、ステップS432において、デモーション開始時刻欄3123に格納されている時刻が一時変数Dの時刻を既に経過していないと判定された場合には、I/O処理部301は、処理を終了する。
(2−3−5)第2記憶階層から第3記憶階層へのデモーション処理
図31に示すように、I/O処理部301は、ストレージ装置300内のマイクロプログラム内で管理されているタイマー関数から現在時刻を取得して、一時変数Dに格納する(S441)。そして、プールスケジュール管理テーブル311内の第2記憶階層(Tier2)のデモーション開始時刻欄3123に格納されている時刻が一時変数Dの時刻を既に経過しているかを判定する(S442)。
そして、ステップS442において、デモーション開始時刻欄3123に格納されている時刻が一時変数Dの時刻を既に経過していると判定された場合には、I/O処理部301は、第1記憶階層(Tier1)から第2記憶階層(Tier2)への実行予約キュー314Aに登録されているキューの先頭から順にデモーション処理を実行する(S443)。一方、ステップS442において、デモーション開始時刻欄3123に格納されている時刻が一時変数Dの時刻を既に経過していないと判定された場合には、I/O処理部301は、処理を終了する。
(3)本実施の形態の効果
以上のように、本実施の形態によれば、新規に割り当てられたページ、第2記憶階層(Tier2)及び第3記憶階層(Tier3)に配置されていたページにアクセスがあった場合には、いずれのページも第1記憶階層(Tier1)に移動(プロモーション)する。また、もともと第1記憶階層(Tier1)に配置されていたページはそのまま第1の記憶階層(Tier)に配置される。また、一度アクセスのあったページについて、当該アクセスを契機として該ページを第1記憶階層(Tier1)にプロモーションするために、第1記憶階層(Tier1)に所定量のマージン領域を確保する。そして、ホスト計算機100からの入出力要求に対する処理速度に応じて、第1記憶階層(Tier1)のページを第2記憶階層(Tier2)のページにデモーションする時刻を算出して、算出されたデモーション時刻にしたがって、第1記憶階層(Tier1)から第2記憶階層(Tier2)への移動や、第2記憶階層(Tier2)から第3記憶階層(Tier3)へのページの移動(デモーション)が実行される。これにより、ホスト計算機100からのアクセスに対して最適なコマンド応答時間を期待させるとともに、ホスト計算機100からの入出力要求に対する処理速度に応じて最適なページ配置を実行することが可能となる。
(5)他の実施の形態
例えば、本明細書のストレージ装置300の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。すなわち、ストレージ装置300の処理における各ステップは、異なる処理であっても並列的に実行されてもよい。
また、ストレージ装置300などに内蔵されるCPU、ROMおよびRAMなどのハードウェアを、上述したストレージ装置300の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供される。
また、上述の実施形態においては、ストレージ装置300に格納されている各種プログラムに基づいて、ストレージ装置300のディスクコントローラ330が本発明の各種機能を実現しているが、かかる例に限定されない。例えば、ディスクコントローラ330をストレージ装置300とは別体の他の装置に設けて、当該ディスクコントローラ330と協同して各種機能を実現するようにしてもよい。また、ストレージ装置300に格納されている各種プログラムをストレージ装置300とは別体の他の装置に設けて、当該プログラムがディスクコントローラ330に呼び出されることにより各種機能を実現するようにしてもよい。
1 計算機システム
100 ホスト計算機
200 管理計算機
300 ストレージ装置
304 限界マージン入力処理部
305 目安マージン算出処理部
306 フリー容量枯渇時刻算出処理部
307 目安マージン確保時間算出処理部
308 デモーション開始時刻算出処理部
310 基本筺体
311 プールスケジュール管理テーブル
312 ページ配置先管理テーブル
313 プロモーション実行予約キュー
314 デモーション実行予約キュー
320 増設筺体
330 コントローラ
330 ディスクコントローラ
350 ハードディスクドライブ

Claims (10)

  1. データの入出力要求をするホスト計算機とネットワークを介して接続するストレージ装置であって、
    性能の異なる複数種類の記憶装置と、
    前記複数種類の記憶装置のそれぞれにより提供される各記憶領域をそれぞれ異なる複数種類の記憶階層により管理するとともに、前記ホスト計算機からの前記データの書き込み要求に応じて、前記複数種類の記憶階層のうち何れかの記憶階層から仮想ボリュームに対してページ単位で記憶領域を割り当てる制御部と、
    を備え、
    前記制御部は、
    前記ホスト計算機から前記データの入出力要求があった場合に、該入出力要求に対応する前記仮想ボリュームの対象領域に対して最上位の記憶階層からページ単位で記憶領域を割り当て、
    前記ホスト計算機からの前記データの入出力要求に対する処理速度に応じて、前記仮想ボリュームの所定の領域に対するページ単位の記憶領域の割り当てを、上位の記憶階層から下位の記憶階層に変更し、
    ユーザの指定に応じて、前記最上位の記憶階層の所定容量を余白領域とし、
    前記ホスト計算機からの前記データの入出力要求に対する処理速度に基づいて、前記最上位の記憶階層の空き容量が枯渇する時刻及び前記余白領域を確保する時間を算出し、
    前記空き容量が枯渇する時刻及び前記余白領域を確保する時間から、前記仮想ボリュームの所定の領域に対するページ単位の記憶領域の割り当てを、前記最上位の記憶階層から該最上位の記憶階層より下位の記憶階層に変更する
    ことを特徴とするストレージ装置。
  2. 前記制御部は、
    該入出力要求に対応する前記仮想ボリュームの対象領域が、前記最上位の記憶階層以外の記憶階層が割り当てられている領域である場合に、該領域に対するページ単位の記憶領域の割り当てを、前記最上位以外の記憶階層から該最上位の記憶階層より下位の記憶階層に変更する
    ことを特徴とする請求項1に記載のストレージ装置。
  3. 前記制御部は、
    前記ホスト計算機から前記データの入出力要求があった場合に、
    該入出力要求に対応する前記仮想ボリュームの対象領域が、未だ記憶領域が割り当てられていない領域である場合に、前記最上位の記憶階層からページ単位で記憶領域を割り当てる
    ことを特徴とする請求項1に記載のストレージ装置。
  4. 前記制御部は、
    前記ユーザにより指定された前記最上位の記憶階層の容量に、固定割合の容量を加算した容量を余白領域とする
    ことを特徴とする請求項1に記載のストレージ装置。
  5. 前記制御部は、
    前記最上位の記憶階層の空き容量を、前記ホスト計算機からの前記最上位の記憶階層に対する前記データの入出力要求に対する処理速度で除算して、前記最上位の記憶階層の空き容量が枯渇する時刻を算出する、
    ことを特徴とする請求項1に記載のストレージ装置。
  6. 前記最上位の記憶階層の余白領域の容量を、前記ホスト計算機からの前記最上位の記憶階層の下位の記憶階層に対する前記データの入出力要求に対する処理速度で除算して、前記余白領域を確保する時間を算出する、
    ことを特徴とする請求項1に記載のストレージ装置。
  7. 前記ホスト計算機からの前記データの入出力要求に対する処理速度は、過去1分間の実測値の平均値から算出する
    ことを特徴とする請求項1に記載のストレージ装置。
  8. 性能の異なる複数種類の記憶装置と、前記複数種類の記憶装置のそれぞれにより提供される各記憶領域をそれぞれ異なる複数種類の記憶階層により管理するとともに、前記複数種類の記憶階層のうちの何れかの記憶階層から仮想ボリュームに対してページ単位で記憶領域を割り当てる制御部とを有するストレージ装置におけるデータ管理方法において、
    前記制御部が、前記ホスト計算機から前記データの入出力要求があった場合に、該入出力要求に対応する前記仮想ボリュームの対象領域に対して最上位の記憶階層からページ単位で記憶領域を割り当てる第1のステップと、
    前記制御部が、前記ホスト計算機からの前記データの入出力要求に対する処理速度に応じて、前記仮想ボリュームの所定の領域に対するページ単位の記憶領域の割り当てを、上位の記憶階層から下位の記憶階層に変更する第2のステップと、
    前記制御部が、ユーザの指定に応じて、前記最上位の記憶階層の所定容量を余白領域とし、前記ホスト計算機からの前記データの入出力要求に対する処理速度に基づいて、前記最上位の記憶階層の空き容量が枯渇する時刻及び前記余白領域を確保する時間を算出する第3のステップと、
    前記制御部が、空き容量が枯渇する時刻と前記余白領域を確保する時間から、前記仮想ボリュームの所定の領域に対するページ単位の記憶領域の割り当てを、前記最上位の記憶階層から該最上位の記憶階層より下位の記憶階層に変更する第4のステップと、
    を含むことを特徴とするデータ管理方法。
  9. 前記第1のステップにおいて、前記制御部が、該入出力要求に対応する前記仮想ボリュームの対象領域が、前記最上位の記憶階層以外の記憶階層が割り当てられている領域である場合に、該領域に対するページ単位の記憶領域の割り当てを、前記最上位以外の記憶階層から該最上位の記憶階層より下位の記憶階層に変更する
    ことを特徴とする請求項8に記載のデータ管理方法。
  10. 前記第1のステップにおいて、前記制御部が、前記ホスト計算機から前記データの入出力要求があった場合に、該入出力要求に対応する前記仮想ボリュームの対象領域が、未だ記憶領域が割り当てられていない領域である場合に、前記最上位の記憶階層からページ単位で記憶領域を割り当てる
    ことを特徴とする請求項8に記載のデータ管理方法。
JP2014527394A 2012-03-21 2012-03-21 ストレージ装置及びデータ管理方法 Expired - Fee Related JP5886963B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/001957 WO2013140447A1 (en) 2012-03-21 2012-03-21 Storage apparatus and data management method

Publications (2)

Publication Number Publication Date
JP2015501958A JP2015501958A (ja) 2015-01-19
JP5886963B2 true JP5886963B2 (ja) 2016-03-16

Family

ID=49213442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014527394A Expired - Fee Related JP5886963B2 (ja) 2012-03-21 2012-03-21 ストレージ装置及びデータ管理方法

Country Status (3)

Country Link
US (2) US8880804B2 (ja)
JP (1) JP5886963B2 (ja)
WO (1) WO2013140447A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8904144B1 (en) * 2012-05-24 2014-12-02 Netapp, Inc. Methods and systems for determining at risk index for storage capacity
US9542153B1 (en) 2012-06-30 2017-01-10 EMC IP Holding Company LLC System and method for tiering data storage
US9092461B1 (en) * 2012-06-30 2015-07-28 Emc Corporation System and method for tiering data storage
JP6003327B2 (ja) * 2012-07-19 2016-10-05 富士通株式会社 伝送装置および温度制御方法
US9235353B2 (en) 2012-10-12 2016-01-12 Hitachi, Ltd. Storage apparatus and management method including determination of migration of data from one storage area to another based on access frequency
US9684593B1 (en) * 2012-11-30 2017-06-20 EMC IP Holding Company LLC Techniques using an encryption tier property with application hinting and I/O tagging
US10268526B1 (en) * 2012-12-28 2019-04-23 EMC IP Holding Company LLC Using response time objectives in a storage system
CN104679661B (zh) * 2013-11-27 2019-12-10 阿里巴巴集团控股有限公司 混合存储的控制方法及混合存储系统
US20150199129A1 (en) * 2014-01-14 2015-07-16 Lsi Corporation System and Method for Providing Data Services in Direct Attached Storage via Multiple De-clustered RAID Pools
WO2016167762A1 (en) * 2015-04-15 2016-10-20 Hitachi, Ltd. Method and apparatus for volume type change
CN107924328B (zh) * 2015-09-25 2023-06-06 英特尔公司 选择虚拟机进行迁移的技术
US11093140B2 (en) * 2018-01-19 2021-08-17 Micron Technology, Inc. Performance allocation among users for accessing non-volatile memory devices
JP7200746B2 (ja) 2019-02-25 2023-01-10 富士通株式会社 制御装置、及び制御プログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2924167B2 (ja) * 1990-11-16 1999-07-26 株式会社日立製作所 記憶装置群の制御方法
US7363540B2 (en) * 2002-10-22 2008-04-22 Microsoft Corporation Transaction-safe FAT file system improvements
JP4863605B2 (ja) * 2004-04-09 2012-01-25 株式会社日立製作所 記憶制御システム及び方法
JP4914173B2 (ja) * 2006-10-30 2012-04-11 株式会社日立製作所 再配置システムおよび再配置方法
JP5362975B2 (ja) * 2007-10-17 2013-12-11 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージ・デバイス間のデータ複製を制御する制御装置、方法、プログラム及びストレージ・システム
JP4727705B2 (ja) * 2008-10-31 2011-07-20 株式会社日立製作所 階層型ストレージシステム
US8489844B2 (en) 2009-12-24 2013-07-16 Hitachi, Ltd. Storage system providing heterogeneous virtual volumes and storage area re-allocation
JP5052592B2 (ja) * 2009-12-28 2012-10-17 株式会社日立製作所 ストレージ管理システム、ストレージ階層管理方法及び管理サーバ
US8375180B2 (en) * 2010-02-05 2013-02-12 International Business Machines Corporation Storage application performance matching
WO2011096017A1 (ja) * 2010-02-08 2011-08-11 株式会社日立製作所 仮想ボリューム内のデータの再配置を行うストレージシステム及び方法
EP2535819A4 (en) * 2010-05-18 2014-02-05 Hitachi Ltd STORAGE DEVICE AND METHOD FOR MANAGING DATA
US20120011329A1 (en) 2010-07-09 2012-01-12 Hitachi, Ltd. Storage apparatus and storage management method
US20120131196A1 (en) * 2010-11-18 2012-05-24 Hitachi, Ltd. Computer system management apparatus and management method
US8549247B2 (en) * 2010-12-28 2013-10-01 Hitachi, Ltd. Storage system, management method of the storage system, and program
US8954671B2 (en) * 2011-10-28 2015-02-10 Hitachi, Ltd. Tiered storage device providing for migration of prioritized application specific data responsive to frequently referenced data
US9098202B2 (en) * 2012-04-27 2015-08-04 Hitachi, Ltd. Storage apparatus and data management method

Also Published As

Publication number Publication date
JP2015501958A (ja) 2015-01-19
WO2013140447A1 (en) 2013-09-26
US20150026402A1 (en) 2015-01-22
US8880804B2 (en) 2014-11-04
US20130254483A1 (en) 2013-09-26

Similar Documents

Publication Publication Date Title
JP5886963B2 (ja) ストレージ装置及びデータ管理方法
JP5981563B2 (ja) 情報記憶システム及び情報記憶システムの制御方法
JP5668151B2 (ja) 計算機システムの管理装置及び管理方法
JP5439581B2 (ja) ストレージシステム、ストレージ装置、ストレージシステムの記憶領域の最適化方法
JP5323989B2 (ja) ストレージ装置及びデータ管理方法
JP5543668B2 (ja) ストレージシステム及び記憶領域の割当方法
US8918613B2 (en) Storage apparatus and data management method for storage area allocation based on access frequency
JP5427630B2 (ja) 動的ページ再割当てストレージシステムにおけるアプリケーション及び階層構成の管理
US8549247B2 (en) Storage system, management method of the storage system, and program
JP5595530B2 (ja) データ移行システム及びデータ移行方法
US8407417B2 (en) Storage system providing virtual volumes
JP5069011B2 (ja) ストレージモジュール及び容量プール空き容量調整方法
JP5706531B2 (ja) 計算機システム、及び情報管理方法
US8447946B2 (en) Storage apparatus and hierarchical data management method for storage apparatus
JP5309259B2 (ja) ストレージ装置及びその制御方法
WO2014002213A1 (ja) 管理システム及び管理方法
WO2014155555A1 (ja) 管理システム及び管理プログラム
JP2015517697A (ja) 二次記憶装置に基づく記憶領域をキャッシュ領域として用いるストレージシステム及び記憶制御方法
JP2011186794A (ja) ストレージシステム内のデータの配置を制御する管理システム、及び、データ配置制御方法
JP2008234056A (ja) ストレージシステム及びストレージシステムにおけるキャッシュ常駐化の制御方法
US8572347B2 (en) Storage apparatus and method of controlling storage apparatus
WO2014170936A1 (ja) ストレージ装置及びストレージ装置の制御方法
JP6142599B2 (ja) ストレージシステム、ストレージ装置および制御プログラム
JP5597266B2 (ja) ストレージシステム
JP6035363B2 (ja) 管理計算機、計算機システム、及び管理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160212

R150 Certificate of patent or registration of utility model

Ref document number: 5886963

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees