JP5789660B2 - 計算機システムの管理装置及び管理方法 - Google Patents

計算機システムの管理装置及び管理方法 Download PDF

Info

Publication number
JP5789660B2
JP5789660B2 JP2013517732A JP2013517732A JP5789660B2 JP 5789660 B2 JP5789660 B2 JP 5789660B2 JP 2013517732 A JP2013517732 A JP 2013517732A JP 2013517732 A JP2013517732 A JP 2013517732A JP 5789660 B2 JP5789660 B2 JP 5789660B2
Authority
JP
Japan
Prior art keywords
cache
data
page
storage area
storage
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
JP2013517732A
Other languages
English (en)
Other versions
JPWO2012164671A1 (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 JPWO2012164671A1 publication Critical patent/JPWO2012164671A1/ja
Application granted granted Critical
Publication of JP5789660B2 publication Critical patent/JP5789660B2/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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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
    • 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/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/224Disk storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/281Single cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/314In storage network, e.g. network attached cache
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、計算機システムの管理装置及び管理方法に関する。
階層ストレージ技術では、ストレージ装置の有する複数種類の記憶装置を性能別の階層に区分する。階層ストレージ技術では、論理ボリュームのデータの格納先を、そのデータに対するI/O(Input/Output)負荷に基づいて、適切な階層に変更させる。階層の変更は、手動または自動で行うことができる。階層ストレージ技術を利用すれば、データに対して、そのデータに必要な性能の記憶装置を、必要な分だけ割り当てることができる。従って、ストレージ装置の利用効率を向上させることができる。
特許文献1では、1ファイルに含まれるデータ毎にI/O負荷を計測し、1ファイル単位で、データの格納先を変更できる階層ストレージ技術を開示している。
特許文献2では、ページと呼ばれる仮想的な記憶領域に含まれるデータ毎にI/O負荷を計測し、1ページ単位で、データの格納先を変更できる階層ストレージ技術を開示している。
特開2010−257094号公報 特開2010−108341号公報
近年では、アプリケーションプログラムの稼働するホストコンピュータが、ストレージ装置とは別に用意されたキャッシュ装置を利用する場合がある。例えば、ユーザ端末への高い応答速度が重要視されるアプリケーションプログラムの場合、I/O性能の高いキャッシュ装置を設けることがある。そのアプリケーションプログラムの稼働するホストコンピュータは、頻繁に使用するデータをストレージ装置及びキャッシュ装置の両方に保存する。ホストコンピュータ上のアプリケーションプログラムは、そのデータをキャッシュ装置から読み出すことで、そのデータをストレージ装置から読み出すよりも、読出し時間を短縮することができる。
キャッシュ装置を有する計算機システムにおいて、階層ストレージ技術を適用すると、以下に述べるような課題が発生する。
或るページに含まれるデータがキャッシュ装置にも保存された場合、ホストコンピュータのアプリケーションプログラムは、そのデータをキャッシュ装置から読み出す。従って、キャッシュされたデータを含むページに対するI/O負荷は、ストレージ装置から読み出されるデータを含むページに比べて、低く計測される可能性が高い。ストレージ装置は、キャッシュ装置からデータが読み出されていることを知らないためである。
キャッシュ装置へ保存されたデータを含むページは、そのI/O負荷が低いとストレージ装置で評価されるため、本来配置されるべき階層よりも性能の低い階層に配置される可能性が高くなる。読出しの頻度が高いという理由から、キャッシュ装置にデータが保存されるにもかかわらず、ストレージ装置内では、そのデータを含むページを低性能の階層に配置させる。
一方、キャッシュ装置は、キャッシュ容量が枯渇した場合に、保存されているデータの一部を消去させる。これをキャッシュアウト処理と呼ぶ。キャッシュアウト処理を実行することで、空いているキャッシュ容量を増やすことができる。
キャッシュ装置に保存されているデータを含むページが下位階層に割り当てられている状況において、そのデータについてのキャッシュアウトが実行された場合を検討する。この場合、ホストコンピュータ上のアプリケーションプログラムは、そのデータをストレージ装置から読み出す必要がある。しかし、そのデータは、ストレージ装置内の下位階層に割り当てられているため、データの読出しに時間がかかる。そのデータが上位階層に再配置されるまで、または、そのデータが再びキャッシュ装置に保存されるまで、そのデータの読出し性能が低下する。従って、アプリケーションプログラムを利用するユーザ端末への応答性能が低下し、顧客満足度が低下する。
さらに、ホストコンピュータ上のアプリケーションプログラムが、キャッシュアウトされたデータを更新しようとする場合、下位階層に割り当てられたページに対する書き込み処理を行う必要がある。従って、そのデータの書き込み性能も低下する。
本発明は、上記の課題に鑑みてなされたもので、その目的は、ホストコンピュータがストレージ装置とキャッシュ装置の両方を使用している場合において、データの使用状況をできるだけ正確に計測することのできる、計算機システムの管理装置及び管理方法を提供することにある。本発明の他の目的は、論理ボリューム内の記憶領域に記憶されたデータとキャッシュ装置に記憶されたデータとをできるだけ正確に対応付け、データの使用状況に基づいて、そのデータの格納先を制御できるようにした計算機システムの管理装置及び管理方法を提供することにある。
本発明の一つの観点に係る計算機システムを管理する管理装置は、ホストコンピュータに論理ボリュームを提供するストレージ装置と、ホストコンピュータにより使用されるキャッシュ装置とを含む計算機システムを管理する管理装置であって、キャッシュ装置には、論理ボリューム内の所定サイズの記憶領域に記憶されるデータの一部がキャッシュデータとして記憶されており、管理装置は、マイクロプロセッサと、マイクロプロセッサにより使用される所定のコンピュータプログラムを記憶する記憶装置と、ホストコンピュータ及びストレージ装置と通信するための通信インターフェース回路とを備え、マイクロプロセッサは、所定のコンピュータプログラムを実行することで、ホストコンピュータによる、論理ボリューム内の記憶領域のデータへの第1アクセス要求を検出し、ホストコンピュータによる、キャッシュ装置内のキャッシュデータへの第2アクセス要求を検出し、論理ボリューム内の記憶領域のデータとキャッシュ装置のキャッシュデータとの対応関係を検出し、第1アクセス要求と第2アクセス要求とに基づいて、記憶領域のデータへの合計アクセス要求を算出する。
マイクロプロセッサは、合計アクセス要求に基づいて、ストレージ装置に所定の指示を送信してもよい。
所定の指示は、合計アクセス要求に基づいて記憶領域のデータを再配置させるための指示であり、ストレージ装置は、所定の指示に従って、記憶領域のデータを所定階層の物理的記憶領域に配置させてもよい。
第1アクセス要求には、記憶領域のデータについての読出し要求及び書き込み要求の両方が含まれており、第2アクセス要求には、キャッシュデータについての読出し要求が含まれており、合計アクセス要求には、記憶領域のデータについての読出し要求と記憶領域に対応するキャッシュデータについての読出し要求とを合計した合計読出し要求と、記憶領域に記憶されたデータについての書き込み要求とが含まれていてもよい。
所定サイズと、キャッシュデータのサイズとは異なっており、マイクロプロセッサは、ホストコンピュータがキャッシュ装置内のキャッシュデータを更新する第1タイミングと、ホストコンピュータが論理ボリューム内の記憶領域のデータを更新する第2タイミングとに基づいて、記憶領域のデータとキャッシュデータとの対応関係を検出してもよい。
マイクロプロセッサは、第2タイミングが、前回の第1タイミングから最新の第1タイミングまでの所定時間内に存在する場合に、第2タイミングで更新される記憶領域のデータと最新の第1タイミングで更新されるキャッシュデータとが対応関係にあると判定してもよい。
ホストコンピュータによるキャッシュデータの更新履歴を管理するキャッシュ更新履歴管理情報と、ホストコンピュータによる記憶領域の更新履歴を管理する記憶領域更新履歴管理情報とが記憶装置に格納されており、マイクロプロセッサは、キャッシュ更新履歴管理情報と記憶領域更新履歴管理情報とに基づいて、最新の第1タイミングでキャッシュデータを更新するホストコンピュータと第2タイミングで記憶領域内のデータを更新するホストコンピュータとが同一であることを確認した場合に、第2タイミングで更新される記憶領域内のデータと最新の第1タイミングで更新されるキャッシュデータとが対応関係にあると判定してもよい。
論理ボリューム内の記憶領域のデータとキャッシュ装置のキャッシュデータとの対応関係を管理する対応関係管理情報が記憶装置に記憶されており、対応関係管理情報には、各対応関係毎にその信頼性を示す情報が含まれており、マイクロプロセッサは、記憶領域のデータとキャッシュデータとの対応関係が複数存在する場合、信頼性を示す情報に基づいて、いずれか一つの対応関係を選択してもよい。
本発明は、計算機システムを管理するためのコンピュータプログラム、または、計算機システムとして、捉えることもできる。
図1は、実施形態の概要を示す説明図である。 図2は、計算機システムの全体構成を示す。 図3は、管理サーバの構成を示す。 図4は、ストレージ装置の構成を示す。 図5は、キャッシュ装置の構成を示す。 図6は、管理サーバが使用するリポジトリとテーブルの構成を示す。 図7は、キャッシュ読み出しログテーブルを示す。 図8は、キャッシュ書き込みログテーブルを示す。 図9は、ページ読み出しログテーブルを示す。 図10は、ページ書き込みログテーブルを示す。 図11は、ホストコンピュータと論理ボリュームとの対応関係を示すホスト−論理ボリュームマッピングテーブルの構成である。 キャッシュデータとページとの対応関係を示すキャッシュ−ページマッピングテーブルの構成である。 図13は、ページ実効負荷ログテーブルを示す。 図14は、装置ログを取得する処理を示すフローチャートである。 図15は、キャッシュとページとのマッピング処理を示すフローチャートである。 図16は、キャッシュ−ページマッピング処理のうち、キャッシュ−ページマップを検索する処理の詳細を示すフローチャートである。 図17は、キャッシュ−ページマッピング処理のうち、キャッシュ−ページマップを作成または追加する処理の詳細を示すフローチャートである。 図18は、キャッシュデータの更新タイミングとページの更新タイミングの関係を示す模式図であり、(a)はページを更新した後でキャッシュデータを更新する場合を示し、(b)はキャッシュデータを更新した後でページを更新する場合を示す。 図19は、キャッシュ−ページマッピング処理のうち、前回のキャッシュ書き込み時刻を取得する処理の詳細を示すフローチャートである。 図20は、キャッシュ−ページマッピング処理のうち、論理ボリュームIDを取得する処理の詳細を示すフローチャートである。 図21は、ページ実効負荷を算出する処理のフローチャートである。 図22は、ページ実効負荷算出処理のうち、ページ書き込み回数を加算する処理の詳細を示すフローチャートである。 図23は、ページ実効負荷算出処理のうち、ページ読み出し回数を加算する処理の詳細を示すフローチャートである。 図24は、ページ実効負荷算出処理のうち、キャッシュ読み出し回数を加算する処理の詳細を示すフローチャートである。 図25は、ページを再配置させるための指示を発行する処理のフローチャートである。 図26は、キャッシュ装置の設定画面を示す。 図27は、ホストコンピュータと論理ボリュームとをマッピングするための設定画面を示す。 図28は、第2実施例に係り、マッピング情報リポジトリの構成を示す説明図である。 図29は、キャッシュ−ページマッピング統計テーブルを示す。 図30は、キャッシュ−ページマッピング処理のフローチャートである。 図31は、キャッシュ−ページマッピング処理のうち、キャッシュ−ページマップを作成または追加する処理のフローチャートである。 図32は、キャッシュ−ページマッピング処理のうち、統計によるページ−キャッシュマッピング処理のフローチャートを示す。 第3実施例に係り、キャッシュ−ページマッピング処理を示すフローチャートである。
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
本明細書では、実施形態において使用される情報を、「aaaテーブル」という表現で説明しているが、これに限らず、例えば、「aaaリスト」、「aaaデータベース」、「aaaキュー」等の他の表現を用いてもよい。本実施形態で用いられる情報が、データ構造に依存しないことを示すために、「aaa情報」と呼ぶこともある。
本実施形態で使用される情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることがあるが、これらは互いに置換が可能である。
さらに、本実施形態の処理動作の説明では、「コンピュータプログラム」または「モジュール」を動作主体(主語)として説明することがある。プログラムまたはモジュールは、マイクロプロセッサによって実行される。プログラムまたはモジュールは、定められた処理を、メモリ及び通信ポート(通信制御装置)を用いながら実行する。従って、プロセッサを動作主体(主語)として読み替えても良い。さらに、管理サーバ等の計算機等が行う処理として読み替えてもよい。なお、コンピュータプログラムの一部または全ては、専用ハードウェアによって実現されてもよい。コンピュータプログラムは、プログラム配布サーバまたは記憶メディアによって計算機にインストールされてもよい。
図1は、実施形態の全体概要を示す。図1に示すように、計算機システムは、少なくとも一つのホストコンピュータ(以下、ホスト)1と、少なくとも一つのストレージ装置2と、少なくとも一つのキャッシュ装置3と、少なくとも一つの管理装置4とを含む。
ホスト1とストレージ装置2は、例えば、FC_SAN(Fibre Channel_Storage Area Network)またはIP_SAN(Internet Protocol_SAN)のような通信ネットワークCN1を介して双方向通信可能に接続される。ホスト1とキャッシュ装置3とは、例えば、LAN(Local Area Network)またはインターネットのような通信ネットワークCN2を介して双方向通信可能に接続される。管理装置4は、少なくとも、ストレージ装置2及びキャッシュ装置3とLANのような通信ネットワークを介して接続される。さらに、管理装置4とホスト1とをLAN等で接続してもよい。
ホストコンピュータ1では、アプリケーションプログラム1Aが稼働する。アプリケーションプログラム1Aとしては、例えば、通信販売システム、動画像配信システム、音楽配信システム、顧客管理システム等を挙げることができる。
ストレージ装置2は、例えば、少なくとも一つの論理ボリューム2Aと、複数の記憶装置2Bとを備える。ストレージ装置2は、図示せぬコントローラも備えるが、図1では省略されている。
複数の記憶装置2Bとしては、例えば、ハードディスクデバイス、半導体メモリデバイス、光ディスクデバイス、光磁気ディスクデバイス、磁気テープデバイス、フレキシブルディスクデバイス等のデータを読み書き可能な種々のデバイスを利用可能である。
ハードディスクデバイスを用いる場合、例えば、FC(Fibre Channel)ディスク、SCSI(Small Computer System Interface)ディスク、SATAディスク、ATA(AT Attachment)ディスク、SAS(Serial Attached SCSI)ディスク等を用いることができる。また、例えば、フラッシュメモリ、FeRAM(Ferroelectric Random Access Memory)、MRAM(MagnetoresistiveRandom Access
Memory)、相変化メモリ(Ovonic Unified Memory)、RRAM(Resistance RAM)等の種々の記憶装置を用いることもできる。さらに、例えば、フラッシュメモリデバイスとハードディスクドライブのように、種類の異なる記憶装置を混在させる構成でもよい。
複数の記憶装置2Bは、その応答性能によって、複数の階層に区分される。図1では、例えば、3つの階層を示す。上位階層UTは、比較的高性能の記憶装置から構成される階層である。中位階層MTは、比較的中性能の記憶装置から構成される階層である。下位階層LTは、比較的低性能の記憶装置から構成される階層である。
各階層に属する複数の記憶装置によって、RAID(Redundant Arrays of Inexpensive Disks)グループが生成され、そのRAIDグループの有する物理的記憶領域に、ページ単位でデータが格納される。
論理ボリューム2Aは、「所定サイズの記憶領域」としてのページ単位で、データを管理する。ページ2Cのサイズは、例えば、MB級であり、後述のキャッシュデータCDのサイズ(例えば、数百〜数KB)よりも大きい。論理ボリューム2Aのアドレス空間は、ページ単位で区切られて管理される。各ページ2Cのデータは、I/O負荷に応じて、各階層UT,MT,LTのうち適切と判断される階層の記憶装置2Bに記憶される。
上位階層UTの応答性能は高いため、上位階層UTの記憶装置には、アクセス頻度の高いページ2C1のデータが記憶される。下位階層LTの応答性能は低いため、下位階層LTの記憶装置には、アクセス頻度の低いページ2C3のデータが記憶される。中位階層MTには、上位階層UTに配置されるデータのアクセス頻度と下位階層LTに配置されるデータのアクセス頻度との中間のアクセス頻度のページ2C2のデータが配置される。アクセス頻度とは、I/O負荷である。
キャッシュ装置3は、例えば、サーバコンピュータにキャッシュ管理ソフトウェアを搭載することにより構成される。キャッシュ装置3は、ホスト1から渡されたデータCDをキャッシュメモリ3A上に保持する。上述の通り、キャッシュデータCDのサイズは、ページサイズよりも小さい。従って、ページ2C内のデータの一部が、キャッシュデータCDとしてキャッシュメモリ3Aに保存される。
キャッシュメモリ3Aの空き容量が所定値以下になった場合、キャッシュ装置3は、所定の基準で選択されるキャッシュデータCDを消去させる。所定の基準で選択されるキャッシュデータとしては、例えば、最新のアクセス時刻が最も古いキャッシュデータ、所定期間内のアクセス頻度が最も少ないキャッシュデータ等を挙げることができる。
管理装置4は、例えば、サーバコンピュータに管理ソフトウェアを搭載することにより構成される。管理装置4は、例えば、ストレージI/O負荷検出部4Aと、キャッシュI/O負荷検出部4Bと、対応関係検出部4Cと、I/O負荷修正部4Dと、ページ再配置指示部4Eとを備える。
ストレージI/O負荷検出部4Aは、ホスト1によるページ2Cのデータへの読出し要求及び書き込み要求を検出する。ストレージI/O負荷検出部4Aは、例えば、第1アクセス要求検出部と表現してもよい。
キャッシュI/O負荷検出部4Bは、ホスト1によるキャッシュデータの読出し要求及び書き込み要求を検出する。キャッシュI/O負荷検出部4Bは、第2アクセス要求検出部と表現してもよい。I/O負荷とは、読出し要求及び書き込み要求の数である。
対応関係検出部4Cは、ページ2CのデータとキャッシュデータCDの対応関係を検出する。対応関係検出部4Cは、キャッシュ装置3内のキャッシュデータCDが、どのページ2Cに含まれているデータと対応しているかを判断し、その判断結果を記憶する。
I/O負荷修正部4Dは、ストレージI/O負荷検出部4Aで検出されるページ2CへのI/O負荷に、そのページ2C内のデータに対応するキャッシュデータCDへのI/O負荷を加算して、そのページ2Cのデータのより正確なI/O負荷を算出する。I/O負荷修正部4Dは、例えば、合計アクセス要求算出部と表現してもよい。
ホスト1は、アプリケーションプログラム1Aで頻繁に使用するデータを、キャッシュ装置3のキャッシュメモリ3Aにも記憶させる。アプリケーションプログラム1Aは、図外のユーザ端末に高速に応答すべく、ストレージ装置2とキャッシュ装置3の両方に保持されているデータについては、キャッシュ装置3から読み出す。更新する場合は、ストレージ装置2のページ2CのデータとキャッシュデータCDの両方を更新する。
従って、データの更新回数は、ページ2CのデータとキャッシュデータCDとで変わらない。しかし、データの読出し回数は、キャッシュデータCDの方が多く、キャッシュデータCDに対応するデータを含むページ2Cの読出し回数は少なくなる。I/O負荷修正部4Dは、データ読出し回数の不均衡による誤差を解消すべく、ページ2Cのデータを読み出す回数に、そのデータに対応するキャッシュデータCDの読出し回数を加算することにより、読出し要求の数を修正する。
ページ再配置指示部4Eは、修正されたI/O負荷に基づいて、ページ2Cの再配置を行うようにストレージ装置2に指示する。ページ再配置指示部4Eは、データ再配置指示部と表現してもよい。ページ再配置指示部4Eからストレージ装置2への指示には、再配置対象のページ2Cを特定する情報と、再配置対象のページについて修正されたI/O負荷を示す情報とが含まれる。
ストレージ装置2は、ページ再配置指示部4Eからの指示を受領すると、その指示に従って、ページ2Cの配置先の階層を変更する。I/O負荷の少ないページ2Cは、現在属している階層よりも性能の低い階層に配置される。I/O負荷の多いページ2Cは、現在属している階層よりも性能の高い階層に配置される。
このように構成される本実施形態では、ホスト1がストレージ装置2及びキャッシュ装置3の両方を使用する計算機システムにおいて、ストレージ装置2内のページ2Cに記憶されたデータに関するI/O負荷を正しく評価することができる。従って、本実施形態では、その正しい評価に基づいて、ストレージ装置2内でページを適切な階層に配置させることができる。
この結果、キャッシュデータCDがキャッシュ装置3から消去された場合でも、その消去されたキャッシュデータCDに対応するデータは、実際のI/O負荷に基づいて、ストレージ装置2内の適切な階層に記憶されている。従って、ホスト1は、キャッシュデータCDがキャッシュ装置3から消去された場合でも、ストレージ装置2から比較的速やかに目的のデータを読み出すことができる。
このように、本実施形態では、ホスト1がストレージ装置2及びキャッシュ装置3の両方を使用する場合において、データの使用状況を正しく評価して、そのデータに応じた階層に記憶させることができる。このため、本実施形態では、キャッシュデータCDが消去された場合でも、ホスト1のアプリケーションプログラム1Aは、応答性能をあまり低下させずに、図外のユーザ端末にサービスを提供することができる。
さらに、本実施形態では、管理装置4が、キャッシュデータCDとページ2Cのデータとの対応関係を判断して、ページ2Cのデータの実際の使用状況を測定するため、ストレージ装置2とキャッシュ装置3とが互いに相手方を意識する必要はない。つまり、ストレージ装置2及びキャッシュ装置3の制御プログラムを変更せずに、ページ2Cのデータの使用状況を正しく評価でき、その評価に基づいてページ2Cを適切な階層に配置することができる。さらに、ホスト1のアプリケーションプログラム1Aも、今まで通りの構成でよい。
図2〜図27を参照して第1実施例を説明する。先に、本実施例と図1との対応関係を説明する。ホスト1はホスト10に、ストレージ装置2はストレージ装置20に、キャッシュ装置3はキャッシュ装置30に、管理装置4は管理サーバ40に、対応する。通信ネットワークCN1は通信ネットワークCN10に、通信ネットワークCN2は通信ネットワークCN20に、対応する。論理ボリューム2Aは図2の論理ボリューム210に、ページ2Cは図2のページ211に、記憶装置2Bは図2の記憶装置250A,250B,250Cに、対応する。上位階層UTは図2の上位階層251Aに、中位階層MTは図2の中位階層251Bに、下位階層LTは図2の下位階層251Cに、対応する。キャッシュデータCDは図5のキャッシュデータ331に対応する。
本実施例では、アプリケーションプログラム11を運用するホスト10が、ストレージ装置20の外部に設けられるキャッシュ装置30を利用している計算機システムにおいて、ストレージ装置20内のディスク階層251A、ディスク階層251B、ディスク階層251Cの使用状況を最適化するための管理サーバ40について説明する。
図2は、システムの全体構成を示した図である。計算機システムは、例えば、複数のホスト10と、少なくとも一つのストレージ装置20と、少なくとも一つのキャッシュ装置30と、少なくとも一つの管理サーバ40とを備える。
ホスト10は、SAN CN10を介して、ストレージ装置20と接続される。ホスト10とキャッシュ装置30及びストレージ装置20は、LAN CN20を介して、管理サーバ40と接続される。なお、図示は省略するが、ホスト10は、インターネットまたはLANのような通信ネットワークを介して、複数のユーザ端末に接続される。
ホスト10は、その内部でアプリケーションプログラム11を実行させている。例えば、アプリケーションプログラム11がオンラインショッピングアプリケーション等である場合、販売する商品のデータ、及び、購買者のユーザアカウントデータ等の情報を、永続化する必要がある。情報(データ)を永続化するとは、情報(データ)を長期間にわたって保持することを意味する。ホスト10は、そのような永続化する必要のあるデータを、ストレージ装置20に書き込む。ホスト10は、必要に応じて、ストレージ装置20からデータを読み出す。
ホスト10は、データの格納先として、ストレージ装置20だけでなく、キャッシュ装置30も利用する。例えば、アプリケーションプログラム11がオンラインショッピングアプリケーションであり、扱う商品のうち、ある特定の商品の人気が特に高いような場合、その商品のデータは頻繁に参照されることになる。
そのような人気の高い商品に関するデータは、頻繁に参照されるため、高速に読み出せることが望ましい。そこで、アプリケーションプログラム11の開発者は、高速な読み出しが必要となるであろうデータを事前に予測する。開発者は、高速な読出しが必要になると予測されたデータがストレージ装置20及びキャッシュ装置30の両方に書き込まれるように、アプリケーションプログラム11を事前に設計することができる。キャッシュ装置30は、データを高速に読み出すことができるため、アプリケーションプログラム11の応答性能の低下を抑制できる。
図3は、管理サーバ40の詳細な構成を示した図である。管理サーバ40は、例えば、通信装置41と、マイクロプロセッサ42と、ディスプレイ43と、キーボード44と、マウス45と、主記憶装置46と、二次記憶装置47とを備える。
管理サーバ40は、通信装置41を介して、ホスト10とキャッシュ装置30及びストレージ装置20と双方向通信することができる。CPU42は、主記憶装置46に記憶されたオペレーティングシステム(不図示)と、各プログラムP40,P41,P42,P43,P44を用いて、後述の各処理を実行する。
装置ログ取得部P40は、ストレージ装置20及びキャッシュ装置30からアクセスログを取得するためのコンピュータプログラムである。装置ログ取得部P40は、後述の装置ログリポジトリT40と共に、図1に示すストレージI/O検出部4A及びキャッシュI/O検出部4Bを実現する。
マッピング部P41は、ホスト1と論理ボリューム210との対応関係、及び、ページとキャッシュの対応関係を管理するためのコンピュータプログラムである。ホスト1と論理ボリューム210との対応関係は、システム管理者により手動で設定される。ページとキャッシュの対応関係は、自動的に作成される。その作成方法は後述する。マッピング部P41は、後述のマッピング情報リポジトリT41と共に、図1の対応関係検出部4Cを実現する。
ページ実効負荷算出部P42は、ページ211のデータに対する実際のI/O負荷を算出するためのコンピュータプログラムである。ページ実効負荷算出部P42は、各論理ボリューム210の各ページ毎に、ページへの書き込み回数と、そのページからの読出し回数と、そのページに含まれるデータに対応するキャッシュデータ331の読出し回数とに基づいて、そのページに対して実際に生じたであろうはずのI/O負荷を算出する。ページ実効負荷算出部P42は、後述のページ実効負荷リポジトリT42と共に、図1のI/O負荷修正部4Dを実現する。
設定画面処理部P44は、ディスプレイ43に表示させる設定画面を作成したり、ユーザから設定画面に入力された情報を受領するためのコンピュータプログラムである。なお、本実施例では、管理サーバ40に、ディスプレイ43及びキーボード44等のユーザインターフェース手段を設ける構成を示すが、これに代えて、管理端末を管理サーバ40に接続する構成でもよい。管理端末は、例えば、パーソナルコンピュータ、携帯情報端末、携帯電話のように構成することができる。ユーザは、管理端末に設けられるディスプレイ及びキーボード等を介して、管理サーバ40に指示したり、情報を表示させたりすることができる。なお、音声入力装置を設けて、ユーザが音声で管理サーバ40に指示できるように構成してもよい。
二次記憶装置47には、装置ログリポジトリT40と、マッピング情報リポジトリT41と、ページ実効負荷リポジトリT42とが記憶される。装置ログリポジトリT40は、装置ログ取得部P40で使用するデータを保存する。マッピング情報リポジトリT41は、キャッシュ−ページマッピング部P41で使用するデータを保存する。ページ実効負荷リポジトリT42は、ページ実効負荷算出部P42の使用するデータを保存する。
図4は、ストレージ装置20の詳細な構成を示した図である。図4において実線で示したものは物理的な実体である。図4において破線で示したものは、論理的存在であるか、または、物理的実体を集約する概念である。
ストレージ装置20は、例えば、ポート21と、CPU22と、通信装置23と、主記憶装置24と、二次記憶装置25とを備える。
ストレージ装置20は、ポート21を介してSAN CN10と接続される。ストレージ装置20は、SAN CN10を介してホスト1からのコマンドを受領し、そのコマンドの処理結果をSAN CN10を介してホスト1に送信する。
ストレージ装置20は、通信装置23を介してLAN CN20に接続される。ストレージ装置20は、LAN CN20を介して管理サーバ40との間で双方向通信を行うことができる。
CPU22は、主記憶装置24に保存された、階層管理機能P20と論理ボリューム提供機能P21とを実行する。各機能の詳細は後述する。
二次記憶装置25は、記憶装置として、複数のディスク装置250A,250B,250Cを備える。各ディスク装置250A,250B,250Cは、その応答性能に応じて階層化されている。応答性能とは、データの書き込み速度及び読出し速度である。
例えば、上位のディスク階層251Aは、高速な応答性能を有する二次記憶装置であるSSD 250Aから構成される。中位のディスク階層Bは、SSD 250Aよりも応答性能が低いが、コストの安いSASディスク250Bから構成される。下位のディスク階層251Cは、最も応答性能が低いが、最も安価であるSATAディスク250Cから構成される。
特に区別しない場合、ディスク装置250A,250B,250Cをディスク装置250と呼ぶ。なお、ディスク装置250は、記録媒体がディスク状である必要はなく、記録媒体の形状は問わない。特に区別しない場合、ディスク階層251A,251B,251Cをディスク階層251と呼ぶ。
論理ボリューム提供機能P21は、ディスク装置群の持つ物理的記憶容量を集約した、仮想的な記憶容量資源であるボリュームプール200を提供する。論理ボリューム提供機能P21は、ボリュームプール200の持つ物理的記憶容量資源を所定サイズだけ切り出して、論理的なディスク装置である論理ボリューム210を作成する。作成された論理ボリュームには、通信ポート21を介してホスト10に割り当てられる。つまり、ボリュームプール200は、各ディスク装置250から構成されるRAIDグループ(パリティグループ)である。
ホスト10は、前述のような永続化の必要のあるデータを論理ボリューム210に書き込み、必要に応じてそのデータを読み出す。論理ボリューム210は、複数のページ211から構成される。ページ211は、仮想的な記憶領域である。
論理ボリューム提供機能P21は、論理ボリューム210へのデータ書き込み要求に応じて、ホスト1から受領したライトデータを、複数のページ211のうちの所定のページに書き込む。ライトコマンド(書き込み要求)に含まれる書込先アドレスに応じたページが、所定のページとなる。
論理ボリューム提供機能P21は、論理ボリューム210に対するデータ読み出し要求に応じて、指定されたデータを所定のページ211から読み出し、要求元であるホスト1にデータを返す。所定のページとは、リードコマンド(読出し要求)に含まれる読出し先アドレスに対応するページである。
論理ボリューム提供機能P21は、読み出し要求及び書き込み要求を処理する時点で、読み出し/書き込みログD20を更新する。読み出し/書き込みログD20には、例えば、要求の対象であるページを特定するための情報と、読み出し要求であるか書き込み要求であるかを区別する情報と、要求を正しく処理できたか否かを示す情報と、要求を受理した時刻を示す情報等を、含めることができる。
ページ211は、論理ボリューム210内に設けられる論理的な記憶領域であり、データを実際に記憶するための物理的な記憶領域は、各ディスク階層251A,251B,251Cのいずれかに属する、物理的ディスク装置250内に存在する。つまり、ページ211に対してデータの書き込み操作または読み出し操作を行った場合、論理的にはページ211がデータを保持するかのように見える。しかし、実際には、データはディスク階層251A,251B,251Cのいずれかに属する物理的ディスク装置250が保持することになる。
階層管理機能P20は、ページ211を、ディスク階層251A,251B,251Cのうちいずれかひとつのディスク階層に割り当てる。ページ211が論理的に保持するデータは、物理的には、階層管理機能P20がそのページに対して割り当てたディスク階層251に属するディスク装置250が保持する。
階層管理機能P20は、各ページ211に対する読み込み回数及び書き込み回数(以下、I/O負荷)を計測する。階層管理機能P20は、定期的に、各ページ211を、そのI/O負荷に応じて、ディスク階層251A,251B,251Cのいずれかに割り当て直す。このように、ページ211のデータ格納先を、階層間で変更することを、ページの再配置と呼ぶ。
階層管理機能P20は、論理ボリューム210内の各ページ211のうち、I/O負荷の高いページ211をディスク階層251Aへと割り当て直す。階層管理機能P20は、中程度のI/O負荷であるページ211をディスク階層251Bに割り当て直し、I/O負荷の低いページ211をディスク階層251Cへと割り当て直す。
図5は、キャッシュ装置30の詳細な構成を示した図である。キャッシュ装置30は、例えば、通信装置31と、CPU32と、主記憶装置33と、二次記憶装置34とを、備える。
キャッシュ装置30は、通信装置31を介してLAN CN20に接続されており、これによりホストコンピュータ10及び管理サーバ40と双方向通信する。
CPU32は、主記憶装置33に保存されたキャッシュ管理機能P30を実行する。キャッシュ装置30は、主記憶装置33内にキャッシュ記憶部330を備える。キャッシュ記憶部330には、ホスト10から受信するデータ331が保存される。キャッシュ記憶部330内のキャッシュデータ331については、ディスク装置250よりも高速に、データの読出し及び書き込みを行うことができる。
キャッシュ管理機能P30は、ホスト10からの書き込み要求に応じて、キャッシュデータ331を作成し、キャッシュ記憶部330に保存する。キャッシュ管理機能P30は、ホスト10からの読み出し要求に応じて、キャッシュデータ331をホスト10へ送信する。
キャッシュ管理機能P30は、書き込み要求または読み出し要求を処理した時点で、読み出し/書き込みログD30を更新する。読み出し/書き込みログD30には、例えば、要求の対象であるキャッシュデータ331を特定する情報と、読み出し要求であるか書き込み要求であるかを区別する情報と、要求を正しく処理できたか否かを示す情報と、要求を受理した時刻を示す情報等とが、含まれる。
ホスト10は、キャッシュ装置30と論理ボリューム210の両方に同一内容のデータを書き込む。キャッシュ装置30は、論理ボリューム210内の或るページ211に書き込まれているデータと同一内容のキャッシュデータ331を保持する。
通常の場合、キャッシュデータ331のサイズは、ページ211のサイズよりも小さいため、一つのページ211の保持する全てのデータをキャッシュ装置30に保持させる場合は、そのキャッシュ対象のデータを複数のキャッシュデータ331として、キャッシュ記憶部330に記憶させる。但し、ページ211の全データをキャッシュ装置30に保持させる必要はない。ページ211内のデータのうち必要なデータのみをキャッシュ装置30に保持させればよい。
キャッシュ管理機能P30は、キャッシュ記憶部330に記憶されているキャッシュデータ331を管理する。例えば、キャッシュ管理機能P30は、キャッシュ記憶部330の総容量と、現在保存されている各キャッシュデータ331の合計容量とを比較し、キャッシュ記憶部330の空き容量を算出する。キャッシュ管理機能P30は、所定の契機で、所定の条件を満たすキャッシュデータ331を消去する。キャッシュデータ331を定期的にまたは不定期に消去することを、キャッシュアウトと呼ぶ。
所定の契機としては、例えば、新たなキャッシュの作成要求があった場合、または、システム管理者により設定された所定時間が経過した場合等を挙げることができる。所定の条件の例としては、キャッシュ記憶部330の空き容量が所定値まで低下した場合、または、キャッシュ記憶部330の使用容量が所定の閾値に達した場合、一定時間以上アクセスされていないキャッシュデータが発見された場合等がある。
ホスト10上のアプリケーションプログラム11は、高速に読み出す必要のある所定データを、ストレージ装置20及びキャッシュ装置30の双方に書き込む。アプリケーションプログラム11は、上述のキャッシュアウトが発生するまでの間、所定データをキャッシュ装置30から読み出す。アプリケーションプログラム11は、ストレージ装置20内の論理ボリューム210を使用しない。従って、キャッシュアウトが実行されるまでの間、所定データを含むページ211に対する読み出し要求は発生しない。
このため、ストレージ装置20の階層管理機能P20は、所定データを含むページ211に対する書き込み要求の回数のみを、I/O負荷として計測することとなる。従って、キャッシュ装置30を利用しなかった場合に比べて、所定ページのI/O負荷は過小に計測される。
所定データを含むページ211のI/O負荷は、キャッシュ装置30へ保存されなかった通常のデータを含むページ211に対するI/O負荷と比べると、低い値となる可能性が高い。従って、階層管理機能P20は、所定データを含むページ211を、過小に計測されたI/O負荷に応じて、より性能の低い下位ディスク階層に割り当てる。
所定データを含むページ211が下位のディスク階層に配置された状態で、キャッシュアウトが発生した場合、アプリケーションプログラム11は、所定データを下位ディスク階層から読み出す必要がある。所定データの読み出しに要する時間が長くなるため、アプリケーションプログラム11の実行性能が低下する。
さらに、アプリケーションプログラム11が所定データを更新する場合、低性能の下位ディスク階層にアクセスして所定データを更新する必要がある。所定データの更新に要する時間が長くなるため、アプリケーションプログラム11の実行性能が低下する。
所定データは、アプリケーションプログラム11が頻繁に参照するため、アプリケーションプログラム11の実行性能は頻繁に低下することになる。このような頻繁な性能低下は、アプリケーションプログラム11の利用者に対する応答性能を低下させる。
例えば、アプリケーションプログラム11がオンラインショッピングアプリケーションの場合、サービス応答性能の低下は、商取引の機会損失を招く。アプリケーションプログラム11の運営者にとって、サービス応答時間が長くなることは、機会損失等の観点から、好ましくない。そこで、本実施形態では、キャッシュ装置30にも保存されている所定データについて、そのI/O負荷を正しく計測することにより、所定データを含むページ211の配置先が適切なディスク階層となるように制御する。
図6は、管理サーバ40に記憶されている、装置ログリポジトリT40とマッピング情報リポジトリT41及びページ実効負荷リポジトリT42のテーブル構造を示す。
装置ログリポジトリT40は、例えば、キャッシュ読み出しログテーブルT401と、キャッシュ書き込みログテーブルT402と、ページ読み出しログテーブルT403と、ページ書き込みログテーブルT404とを保存する。各テーブルの詳細は後述する。
マッピング情報リポジトリT41は、例えば、ホスト−論理ボリュームマッピングテーブルT411と、キャッシュ−ページマッピングテーブルT412とを保存する。各テーブルの詳細は後述する。
ページ実効負荷リポジトリT42は、ページ実効負荷テーブルT421を保存する。ページ実効負荷テーブルT421の詳細は後述する。
図7は、キャッシュ読み出しログテーブルT401のカラム構造を示した図である。キャッシュ読み出しログテーブルT401は、例えば、ホスト名カラムC4010と、キャッシュIDカラムC4011と、読み出し時刻カラムC4012とを備える。
ホスト名カラムC4010には、各ホスト10を識別するための情報が記憶される。キャッシュIDカラムC4011には、ホスト10により読み出されたキャッシュデータ311を識別するための情報が記憶される。キャッシュIDは、少なくとも計算機システム内で一意に定まる情報として生成される。キャッシュIDは、例えば、GUID(Globally Unique Identifier)のような技術を用いて生成できる。または、キャッシュデータ331から得られるハッシュ値を、キャッシュIDとして用いてもよい。
読み出し時刻カラムC4012には、ホスト10がキャッシュデータ311を読み出した日時が記憶される。キャッシュ読み出しログテーブルT401のレコードを参照することで、どのホスト10が、キャッシュ装置30内のどのキャッシュデータ311を何時読み出したかを調べることができる。
図8は、キャッシュ書き込みログテーブルT402のカラム構造を示した図である。キャッシュ書き込みログテーブルT402は、例えば、ホスト名カラムC4020と、キャッシュIDカラムC4021と、書き込み時刻カラムC4022とを備える。ホスト名カラムC4020は、ホスト10を識別するための情報を記憶する。キャッシュIDカラムC4021は、ホスト10により書き込まれたキャッシュデータ311を識別するための情報を記憶する。書き込み時刻カラムC4022は、ホスト10によりキャッシュデータ311が書き込まれた日時を記憶する。キャッシュ書き込みログテーブルT402のレコードを参照することで、どのホストが、キャッシュ装置30内のどのキャッシュデータ311を何時書き込んだかを調べることができる。
図9は、ページ読み出しログテーブルT403のカラム構造を示す。ページ読み出しログテーブルT403は、例えば、ページIDカラムC4030と、読み出し時刻カラムC4031とを備える。ページIDカラムC4030は、ページ211を識別するための情報を記憶する。読み出し時刻カラムC4031は、ページ211が読み出された日時を記憶する。ページ読み出しログテーブルT403のレコードを参照することで、ストレージ装置20内のどのページ211が何時読み出されたかを調べることができる。
図10は、ページ書き込みログテーブルT404のカラム構造を示す。ページ書き込みログテーブルT404は、例えば、論理ボリュームIDカラムC4040と、ページIDカラムC4041と、書き込み時刻カラムC4042とを備える。論理ボリュームIDカラムC4040は、論理ボリューム210を識別するための情報を記憶する。図中では、論理ボリュームをボリュームと略記している。ページIDカラムC4041は、論理ボリューム210内のページ211を識別するための情報を記憶する。書き込み時刻カラムC4042は、ページ211にデータが書き込まれた日時を記憶する。ページ書き込みログテーブルT404のレコードを参照することで、どの論理ボリューム210内のどのページ211に対して何時データが書き込まれたかを調べることができる。
図11は、ホスト−論理ボリュームマッピングテーブルT411のカラム構造を示した図である。ホスト−論理ボリュームマッピングテーブルT411は、例えば、ホスト名カラムC4110と、論理ボリュームIDカラムC4111とを備える。ホスト名カラムC4110は、ホスト10を識別するための情報を記憶する。論理ボリュームIDカラムC4111は、ホスト10により使用されている論理ボリューム210を識別するための情報が記憶される。ホスト−論理ボリュームマッピングテーブルT411のレコードを参照することで、どのホスト10がどの論理ボリューム210を使用しているかを調べることができる。
図12は、キャッシュ−ページマッピングテーブルT412のカラム構造を示した図である。キャッシュ−ページマッピングテーブルT412は、例えば、キャッシュIDカラムC4120と、ページIDカラムC4121とを備える。キャッシュIDカラムC4120は、キャッシュデータ311を識別するための情報を記憶する。ページIDカラムC4121は、ページ211を識別するための情報を記憶する。キャッシュ−ページマッピングテーブルT412のレコードを参照することで、キャッシュ装置30内のキャッシュデータ311と同一内容のデータが、ストレージ装置20内のどのページ211に保存されているかを調べることができる。つまり、テーブルT412は、キャッシュデータ311とページ211との対応関係を管理する。
図13は、ページ実効負荷テーブルT421のカラム構造を示した図である。ページ実効負荷テーブルT421は、例えば、ページIDカラムC4210と、実効総I/O数カラムC4211とを備える。ページIDカラムC4210は、ページ211を識別するための情報を記憶する。実効総I/O数カラムC4211は、ページ211に実際にアクセスした回数(読み出し回数と書き込み回数の和)を記憶する。
ページ実効負荷テーブルT421のレコードを参照することで、ページ211に対するI/O数と、そのページ211と同一内容のデータを保持するキャッシュデータ311に対するI/O数とを足し合わせた値である、実効総I/O数を調べることができる。つまり、テーブルT421は、キャッシュ装置30から読み出されている回数を考慮した、ページの総I/O回数を管理する。
図14は、管理サーバ40の装置ログ取得部P40による処理手順を示したフローチャートである。以下、ステップを「S」と略記する場合がある。
S10とS11の組、S12とS13の組、S14とS15の組、及びS16とS17の組の時間的前後関係については、順番を入れ替えることができる。例えば、S16及びS17の組を最初に実行し、次にS14とS15の組を実行し、次に、S12とS13の組を実行し、最後にS10とS11の組を実行してもよい。
装置ログ取得部P40は、管理サーバ40がストレージ装置20内のディスク装置群の使用状況を最適化する上で必要な情報を、ストレージ装置20及びキャッシュ記憶部330から取得する。つまり、装置ログ取得部P40は、管理サーバ40からストレージ装置20に、ページ再配置のための適切な指示が出せるように、必要な情報を収集する。図14に示す装置ログ取得部P40の処理手順は、定期的に実行されてもよいし、ユーザより指定される任意の契機で実行指示を受け付けてもよい。
装置ログ取得部P40は、ストレージ装置20内の読み出し/書き込みログD20を解析し、各ページ211の読み出し要求に関する情報を取得する(S10)。続いて、装置ログ取得部P40は、S10にて取得した情報を、ページ読み出しログテーブルT403に格納する(S11)。
装置ログ取得部P40は、ストレージ装置20内の読み出し/書き込みログD20を解析し、各ページ211の書き込み要求についての情報を取得する(S12)。続いて、装置ログ取得部P40は、S12において取得した情報を、ページ書き込みログテーブルT404に格納する(S13)。
装置ログ取得部P40は、キャッシュ記憶部330内の読み出し/書き込みログD30を解析し、キャッシュデータ331の読み出し要求に関する情報を取得する(S14)。続いて、装置ログ取得部P40は、S14で取得した情報を、キャッシュ読み出しログテーブルT401に格納する(S15)。
装置ログ取得部P40は、キャッシュ記憶部330内の読み出し/書き込みログD30を解析し、キャッシュデータ331の書き込み要求に関する情報を取得する(S16)。続いて、装置ログ取得部P40は、S16において取得した情報を、キャッシュ書き込みログテーブルT402に格納する(S17)。
本実施例では、装置ログ取得部P40は、ストレージ装置20及びキャッシュ装置30が出力するログD20及びD30から必要な情報を取得している。これに代えて、ストレージ装置20及びキャッシュ装置30に、情報を管理サーバ40に送信するための専用ソフトウェアを設ける構成でもよい。それら専用ソフトウェアは、読み出し/書き込みログD20及び読み出し/書き込みログD30の持つ情報に相当する情報を自動的に取得して、管理サーバ40に送信する。
図15は、管理サーバ40のキャッシュ−ページマッピング部P41の処理手順を示したフローチャートである。キャッシュ−ページマッピング部P41は、キャッシュ記憶部330に保存されたキャッシュデータ331と同一のデータが、ストレージ装置20内のどのページ211に保存されているかを特定する。キャッシュ−ページマッピング部P41によるキャッシュ−ページマッピング処理は、装置ログ取得処理部P40による装置ログ取得処理の後に実行される。
キャッシュ−ページマッピング部P41は、キャッシュ書き込みログテーブルT402の各レコードについて、S21、S22、S23を実行する(S20)。
キャッシュ−ページマッピング部P41は、キャッシュ書き込みログテーブルT402のレコードに記載のキャッシュデータ331が、既にいずれかのページ211とマッピングされているか検索する(S21)。つまり、キャッシュ−ページマッピング部P41は、図8に示すキャッシュ書き込みログテーブルT402のカラムC4021に記憶されているキャッシュIDを検索キーとして、図12に示すキャッシュ−ページマッピングテーブルT412のカラムC4120を検索する。
キャッシュ−ページマッピング部P41は、対象キャッシュデータ331に関するレコードが、キャッシュ−ページマッピングテーブルT412に存在するか否かを判定する(S22)。即ち、キャッシュ−ページマッピング部P41は、キャッシュ書き込みログテーブルT402のレコードに記載のキャッシュデータ(対象キャッシュデータ)が、キャッシュ−ページマッピングテーブルT412に登録されているか否かを判定する。
対象キャッシュデータ331がいずれかのページ211にマッピングされている場合(S22:YES)、本処理は終了する。これに対し、対象キャッシュデータ331がいずれのページ211にもマッピングされていない場合(S22:NO)、キャッシュ−ページマッピング部P41は、キャッシュデータ331とページ211とのマッピングを新たに作成して保存するための処理を実行する(S23)。
図16は、図15中にS21で示すキャッシュ−ページマップ検索処理の詳細な処理手順を示すフローチャートである。
キャッシュ−ページマッピング部P41は、キャッシュ−ページマッピングテーブルT412の各レコードについて、S31及びS32を実行する(S30)。
キャッシュ−ページマッピング部P41は、対象キャッシュデータ(キャッシュ書き込みログテーブルT402に登録されたキャッシュデータ)が、キャッシュ−ページマッピングテーブルT412に登録されているか否かを判定する(S31)。
対象キャッシュデータがキャッシュ−ページマッピングテーブルT412に登録されている場合(S31:YES)、対象キャッシュデータが登録されているレコードは、呼出元である図15の処理に返信される(S32)。
対象キャッシュデータがキャッシュ−ページマッピングテーブルT412に登録されていない場合(S31:NO)、次のレコードに移る。
図17は、図15中にS23で示すキャッシュ−ページマップ作成及び追加処理の詳細な処理手順を示すフローチャートである。
キャッシュ−ページマップ作成及び追加処理では、キャッシュデータとページとの対応関係を示すマップを作成する。ここで、図18(a)を参照する。図18(a)は、キャッシュデータ331の更新タイミングTc1,Tc2と、ページ211の更新タイミングTpとに基づいて、キャッシュデータ331とページ211との対応関係を特定する方法を示す。図18(a)では、アプリケーションプログラム11は、先にページ211内のデータを更新し、次にキャッシュデータ331を更新する場合を前提としている。
本処理では、処理対象のキャッシュデータ(以下、対象キャッシュデータ)に関して、最新の書き込み時刻Tc2と、前回の書き込み時刻Tc1とを検出する。さらに、本処理では、対象キャッシュデータの最新書き込み時刻Tc2と前回の書き込み時刻Tc1の間の所定時間Tc12内に更新されたページを検出し、そのページの更新時刻(書き込み時刻)Tpを検出する。本処理では、対象キャッシュデータを更新したホスト10と、ページを更新したホスト10とが同一であることを確認した場合、所定時間Tc12内に更新されたページを、対象キャッシュデータに対応付けて新たなマップを作成し、そのマップをキャッシュ−ページマッピングテーブルT412に保存する。
アプリケーションプログラム11は、ページ211のデータを先に更新した後、速やかにキャッシュデータ331を更新すると考えられる。
ほぼ全てのアプリケーションプログラム11は、キャッシュデータ331の更新の際、データの一貫性を担保するために、キャッシュとページとの双方に対しほぼ同時に書き込みを行うためである。また、一般的には、まず最初にページ211に書き込み、その次にキャッシュデータ311にページ211に書き込んだ内容と同一内容を書き込むと考えられる。
従って、ページ211の書き込み時刻Tpと、そのページ211に対応するキャッシュデータ311の書き込み時刻Tc2との時間差dT1は、比較的短いと考えられる。しかし、その時間差dT1は、例えば、通信ネットワークCN10,CN20の状況、ホスト10の負荷状況、ストレージ装置20及びキャッシュ装置30の負荷状況等の原因により種々変動し、一定ではないと考えられる。
そこで、本実施例では、最新のキャッシュ書き込み時刻Tc2から前回のキャッシュ書き込み時刻Tc1までの所定時間Tc12を、対応関係を探索するための期間として利用する。本実施例では、所定時間Tc12内に更新されたページ211であって、かつ、キャッシュデータ331の更新元と同一のホスト10により構成されたページ211を、対象キャッシュデータ331に対応するページであると判定する。
図17に戻る。キャッシュ−ページマッピング部P41は、対象キャッシュデータ331についての前回の書き込み時刻Tc1を取得する(S40)。キャッシュ−ページマッピング部P41は、対象キャッシュデータ331について、最新の書き込み時刻Tc2よりも前の書き込み時刻Tc1を取得できたか否かを判定する(S41)。
対象キャッシュデータ331の前回の書き込み時刻Tc1を取得できなかった場合(S41:NO)、本処理は終了する。例えば、キャッシュ装置30に初めて書き込まれたデータの場合、前回の書き込みは存在しない。また、前回の書き込み時刻Tc1が随分昔である場合、その書き込みログがログD30から消えている可能性もある。その場合も、前回の書き込み時刻Tc2を取得することはできない。
対象キャッシュデータ331の前回の書き込み時刻Tc1を取得できた場合(S41:YES)、キャッシュ−ページマッピング部P41は、対象キャッシュデータ331に書き込んだホスト10が使用している論理ボリュームのIDを検索する(S42)。
ページ書き込みログテーブルT404の各レコードについて、S44、S45、S46がそれぞれ実行される。
キャッシュ−ページマッピング部P41は、ページ211への書き込み時刻Tpが、対象キャッシュデータ331の最新書き込み時刻Tc2から前回の書き込み時刻Tc1までの所定時間Tc12内に有るか否かを判定する(S44)。
ページ211の書き込み時刻Tpが所定時間Tc12内に存在しない場合(S44:NO)、次のレコードに移る。ページ211の書き込み時刻Tpが所定時間Tc12内に存在する場合(S44:YES)、キャッシュ−ページマッピング部P41は、ページ211の属する論理ボリュームのIDと、S42で検索されたボリュームIDとが一致するか否かを判定する(S45)。
S45では、対象キャッシュデータ331を更新したホスト10の使用する論理ボリュームと、ホスト10により更新されたページ211の属する論理ボリュームとが同一であるか否かを判定する。つまり、キャッシュ−ページマッピング部P41は、対象キャッシュデータ331の書き込み元であるホスト10とページ211の書き込み元であるホスト10とが同一であるか否かを判定する。
対象キャッシュデータ331を更新したホスト10の使用する論理ボリュームのIDと、ホスト10により更新されたページ211の属する論理ボリュームのIDとが不一致の場合(S45:NO)、次のレコードに移る。
対象キャッシュデータ331を更新したホスト10の使用する論理ボリュームのIDと、ホスト10により更新されたページ211の属する論理ボリュームのIDとが一致する場合(S45:YES)、キャッシュ−ページマッピング部P41は、キャッシュ−ページマッピングテーブルT412に新たなレコードを追加する(S46)。
キャッシュ−ページマッピング部P41は、対象キャッシュデータ331と、対象キャッシュデータ331と同一のホスト10により更新されたページ221との組を、キャッシュ−ページマッピングテーブルT412に登録する。
このように、同一のホスト10によって所定時間Tc12内にページ211及びキャッシュデータ331が更新された場合、更新タイミングに基づいて、ページ211とキャッシュデータ331とを対応付けることができる。
なお、図18(b)に示すように、アプリケーションプログラム11が先にキャッシュデータ331を更新し、次にページ211内のデータを更新する場合も考えられる。その場合に、ページ211とキャッシュデータ331とを対応付ける方法は、後述の実施例で述べる。
図19は、図17中にS40で示す前回のキャッシュ書き込み時刻を取得する処理のフローチャートである。キャッシュ書き込みログテーブルT402の各レコードについて、S51、S52、S53、S54、S55が実行される。以下、処理対象となるレコード(キャッシュ書き込みログテーブルT402のレコード)を、対象レコードと呼ぶ。
キャッシュ−ページマッピング部P41は、検索対象のキャッシュデータ331のキャッシュIDが対象レコードに記録されているキャッシュIDと等しいか否か判定する(S51)。検索対象のキャッシュデータ331のキャッシュIDが対象レコード内のキャッシュIDと不一致の場合(S51:NO)、次のレコードに移る。
検索対象のキャッシュデータ331のキャッシュIDが対象レコード内のキャッシュIDと一致する場合(S51:YES)、キャッシュ−ページマッピング部P41は、対象レコードの書き込み時刻が、検索対象のキャッシュデータ331の書き込み時刻よりも前であるか否かを判定する(S52)。
対象レコードの書き込み時刻が検索対象のキャッシュデータ331の書き込み時刻(Tc2)よりも前に発生していない場合(S52:NO)、次のレコードに移る。
対象レコードの書き込み時刻が検索対象のキャッシュデータ331の書き込み時刻(Tc2)よりも前に発生している場合(S52:YES)、キャッシュ−ページマッピング部P41は、前回のキャッシュ書き込み時刻の候補が既に一つ以上発見されているか否かを判定する(S53)。候補が未だ一つも見つかっていない場合(S53:NO)、S54をスキップしてS55に移り、対象レコード内の書き込み時刻を前回のキャッシュ書き込み時刻の候補として保存する。
前回のキャッシュ書き込み時刻の候補が発見されている場合(S53:YES)、キャッシュ−ページマッピング部P41は、対象レコード内の書き込み時刻の方が、先に発見されている書き込み時刻よりも後であるか否かを判定する(S54)。つまり、本実施例では、前回のキャッシュ書き込み時刻が複数検出される場合は、より新しい方の書き込み時刻を採用する。
対象レコード内の書き込み時刻の方が、先に発見されている書き込み時刻よりも後であると判定された場合(S54:YES)、キャッシュ−ページマッピング部P41は、対象レコード内の書き込み時刻を、前回のキャッシュ書き込み時刻の候補として記憶する(S55)。
対象レコード内の書き込み時刻の方が、先に発見されている書き込み時刻よりも後ではない場合(S54:NO)、S55をスキップし、次のレコードに移る。
キャッシュ書き込みログテーブルT402の全てのレコードについて処理すると、本処理は終了し、図17の処理に戻る。
図20は、図17中にS42として示す論理ボリュームID検索処理のフローチャートである。キャッシュ−ページマッピング部P41は、ホスト−論理ボリュームマッピングテーブルT411の各レコードについて、S61及びS62を実行する(S60)。ホスト−論理ボリュームマッピングテーブルT411の各レコードのうち、処理対象のレコードを対象レコードと呼ぶ。
キャッシュ−ページマッピング部P41は、対象レコードのホスト名(C4110)と対象キャッシュデータに対応するホスト名とが一致するか否かを判定する(S61)。対象キャッシュデータに対応するホスト名とは、キャッシュ書き込みログテーブルT402のホスト名カラムC4020に記載のホスト名のうち、対象キャッシュデータに対応するレコードに記載されたホスト名である。
両方のホスト名が一致しない場合(S61:NO)、次のレコードに移る。これに対し、両方のホスト名が一致する場合(S61:YES)、キャッシュ−ページマッピング部P41は、対象レコード内の論理ボリュームIDの値を検索結果とし(S62)、図17の処理に戻る。
図21は、管理サーバ40のページ実効負荷算出部P42の処理手順を示すフローチャートである。S71、S72、S73の各ステップは、必ずしもこの順序で実行されなくともよい。
ページ実効負荷算出処理は、キャッシュ−ページマッピング処理(図15)の後に、実行される。ページ実効負荷算出部P42は、装置ログ取得部P40の取得した情報と、キャッシュ−ページマッピング処理部P41の生成したマッピングとから、各ページに対して、ページ再配置の基準とすべき実効負荷を算出する。
ページ実効負荷算出部P42は、前回のページ再配置で用いた、ページ実効負荷テーブルT421の内容を初期化する(S70)。
ページ実効負荷算出部P42は、ページ211への書き込み回数を加算する処理を実行する(S71)。ページ書き込み回数を加算する処理では、前回のページ再配置時刻から現在時刻までに生じた、ストレージ装置20内の各ページ211に対する書き込み要求の回数を合算し、ページ実効負荷テーブルT421に保存する。ここで、ページ再配置時刻とは、ページ再配置指示処理を前回実行した時刻を意味する。
ページ実効負荷算出部P42は、前回のページ再配置時刻から現在時刻までに生じた、ストレージ装置20内の各ページ211に対する読み出し要求の回数を合算し、ページ実効負荷テーブルT421を更新する(S72)。
ページ実効負荷算出部P42、前回のページ再配置時刻から現時点までに生じた、ページに対応するキャッシュ装置30内の各キャッシュデータ331に対する読み出し要求回数を合算し、ページ実効負荷テーブルT421を更新する(S73)。
図22は、図21中にS71で示されるページ書き込み回数加算処理のフローチャートである。
ページ実効負荷算出部P42は、S81、S82、S83を、ページ書き込みログテーブルT404の各レコードについて実行する(S80)。ページ書き込みログテーブルT404の各レコードのうち処理対象のレコードを、対象レコードと呼ぶ。
ページ実効負荷算出部P42は、対象レコードに含まれるページIDが、ページ実効負荷テーブルT421に既に登録されているか否かを判定する(S81)。
対象レコード内のページIDがページ実効負荷テーブルT421に登録されていない場合(S81:NO)、ページ実効負荷算出部P42は、対象レコード内のページIDを含む新レコードを作成し、その新レコードをページ実効負荷テーブルT421に追加する(S82)。なお、新レコード内の実行総I/O数(C4211)の初期値には、0が設定される。
対象レコード内のページIDがページ実効負荷テーブルT421に登録されている場合(S81:YES)、ページ実効負荷算出部P42は、S82をスキップする。
ページ実効負荷算出部P42は、対象レコード内のページIDと同一のページIDを有する、ページ実効負荷テーブルT421のレコードにおいて、実効総I/O数の値を1つ増加させる(S83)。
本実施例では、上述の通り、ページ実効負荷テーブルT421のレコードを逐次追加している。これに代えて、ページ実効負荷テーブルT421の全レコードについて実効総I/O数を更新した後で、テーブルT421に新レコードを追加してもよい。
図23は、図21中にS72で示されるページ読み出し回数加算処理S72のフローチャートである。
ページ実効負荷算出部P42は、S91、S92、S93を、ページ読み出しログテーブルT403の各レコードについて実行する(S90)。以下、テーブルT403の各レコードのうち処理対象のレコードを、対象レコードと呼ぶ。
ページ実効負荷算出部P42は、対象レコードに含まれるページIDが、ページ実効負荷テーブルT421に既に登録されているか否かを判定する(S91)。
対象レコード内のページIDがページ実効負荷テーブルT421に登録されていない場合(S91:NO)、ページ実効負荷算出部P42は、対象レコード内のページIDを含む新レコードを作成し、その新レコードをページ実効負荷テーブルT421に追加する(S92)。なお、新レコード内の実行総I/O数(C4211)の初期値には、0が設定される。
対象レコード内のページIDがページ実効負荷テーブルT421に登録されている場合(S91:YES)、ページ実効負荷算出部P42は、S92をスキップする。
ページ実効負荷算出部P42は、対象レコード内のページIDと同一のページIDを有する、ページ実効負荷テーブルT421のレコードにおいて、実効総I/O数の値を1つ増加させる(S83)。
上記と同様に、ページ実効負荷テーブルT421の全レコードについて実効総I/O数を更新した後で、テーブルT421に新レコードを追加してもよい。
図24は、図21中にS73で示されるページ書き込み回数加算処理S73のフローチャートである。
ページ実効負荷算出部P42は、後述のS101、S102、S103、S104を、キャッシュ−ページマッピングテーブルT412の各レコードについて、実行する(S100)。以下、キャッシュ−ページマッピングテーブルT412の各レコードのうち処理対象のレコードを、対象レコードと呼ぶ。
ページ実効負荷算出部P42は、対象レコードのキャッシュIDで特定されるキャッシュデータ331がキャッシュ装置30から読み出された回数を算出する(S101)。ページ実効負荷算出部P42は、対象レコード内のキャッシュIDがキャッシュ読み出しログテーブルT401において何回登場しているかを調べることで、キャッシュデータが読み出された回数を算出できる。
ページ実効負荷算出部P42は、対象レコード内のページIDと同一のページIDを有するレコードが、ページ実効負荷テーブルT421に既に存在するか否か判定する(S102)。
対象レコード内のページIDと同一のページIDを有するレコードが、ページ実効負荷テーブルT421に存在しない場合(S102:NO)、ページ実効負荷算出部P42は、新レコードを作成し、それをテーブルT421に追加する(S103)。新レコードは、対象レコード内のページIDと同一のページIDを有する。新レコードの実効総I/O数カラムには、初期値として0が設定される。
ページ実効負荷算出部P42は、対象レコード内のページIDと同一のページIDを有する、ページ実効負荷テーブルT421のレコードについて、実効総I/O数C4211の値にS101で算出された値を加算する(S104)。
上記と同様に、ページ実効負荷テーブルT421の全レコードについて実効総I/O数を更新した後で、テーブルT421に新レコードを追加してもよい。
図25は、管理サーバ40のページ再配置指示部P43の処理手順を示すフローチャートである。
ページ再配置指示部P43は、ページ実効負荷テーブルT421の各レコードについて、後述のS111を実行する(S110)。テーブルT421の各レコードのうち処理対象のレコードを、対象レコードと呼ぶ。
ページ再配置指示部P43は、対象レコードに示されるページ211を、その実効総I/O数の値に基づいて再配置するよう、ストレージ装置20の階層管理機能P20に指示する。
図26は、管理サーバ40がディスプレイ43上に表示する、キャッシュ装置設定画面G10の画面例である。設定画面G10は、キャッシュ装置30を管理サーバ40で管理するための情報を設定する画面である。キャッシュ装置設定画面G10は、例えば、装置種別入力欄GP11と、IPアドレス入力欄GP12と、ログ取得間隔入力欄GP13を備える。
装置種別入力欄GP11は、管理サーバ40による管理対象のキャッシュ装置30の種別を入力または選択するため欄である。IPアドレス入力欄GP12は、キャッシュ装置30のIPアドレスを入力するための欄である。ログ取得間隔入力欄GP13は、装置ログ取得処理を実行させる時間間隔を入力するための欄である。なお、キャッシュ装置の種類が予め設定されているような場合、装置種別入力欄GP11は廃止できる。
図27は、管理サーバ40がディスプレイ43上に表示する、ホスト−論理ボリュームマッピング設定画面G20の画面例である。設定画面G20は、ホスト10により使用される論理ボリューム210を設定するための画面である。
ホスト−論理ボリュームマッピング設定画面G20は、例えば、ホスト名入力欄GP21と、IPアドレス入力欄GP22と、論理ボリュームID入力欄GP23とを備えることができる。ホスト名入力欄GP21は、ホスト10を特定するためのホスト名を入力する欄である。IPアドレス入力欄GP22は、ホスト10のIPアドレスを入力する欄である。論理ボリュームID入力欄GP23は、ホスト10の使用する論理ボリュームのボリュームIDの値を入力する欄である。
本実施例は、上述のように構成されるため、以下の効果を奏する。本実施例では、ホスト10がストレージ装置20及びキャッシュ装置30の両方を使用する計算機システムにおいて、ページ211のデータの使用状況を正しく評価することができる。
本実施例では、キャッシュ装置30からデータが読み出される場合でも、そのデータの実際のI/O数に応じて、そのデータを含むページを適切なディスク階層251に配置させることができる。
従って、本実施形態では、キャッシュデータ331がキャッシュ装置30から消去された場合でも、アプリケーションプログラム11は、目的とするデータをストレージ装置20内から比較的速やかに読み出すことができる。このため、キャッシュデータ331がキャッシュ装置30から消去された場合でも、アプリケーションプログラム11の処理性能が低下するのを抑制できる。
本実施例では、管理サーバ40が、ストレージ装置20でのデータ利用状況(I/OログD20)とキャッシュ装置30でのデータ利用状況(I/OログD30)とを取得し、各ページ211の実際の使用状況(実効総I/O数)を計測する。従って、ストレージ装置20及びキャッシュ装置30は、互いに相手を意識する必要が無く、その構成をあまり変更する必要がない。
図28−図32を参照して第2実施例を説明する。本実施例を含む以下の各実施例は、第1実施例の変形例に相当する。従って、以下の各実施例では、第1実施例との相違を中心に説明する。本実施例では、ページ211とキャッシュデータ331の対応関係の判定精度を高めている。
第1実施例のキャッシュ−ページマッピング部P41は、キャッシュデータ331とページ211の対応関係の判定を間違う可能性がある。ストレージ装置20とキャッシュ装置30とは、SAN CN10とLAN CN20という異なる通信ネットワークに属している。従って、例えば、各通信ネットワークの負荷状況によっては、ページの書き込み時刻Tp及びキャッシュデータの書き込み時刻Tcが変動し、本来の前後関係とは逆の結果を示す場合があり得る。この結果、ページ211の更新後にキャッシュデータ331が更新されたにもかかわらず、キャッシュデータ331の更新の方がページの更新よりも先に行われたかのようにログに記録される可能性がある。
そこで、本実施例では、キャッシュ装置30内のキャッシュデータ331と、ストレージ装置20内のページ211との対応関係を、過去の統計情報に基づいて推定する。これにより、本実施例では、通信遅延等による変動の影響を抑制し、対応関係の推定精度を高める。
図28は、マッピング情報リポジトリT41Aの構成図である。本実施例のマッピング情報リポジトリT41Aは、第1実施例で述べたマッピング情報リポジトリT41の構成に加えて、キャッシュ−ページマッピング統計テーブルT413を備える。キャッシュ−ページマッピング統計テーブルT413は、後述の通り、ページ211とキャッシュデータ331の対応関係の過去の推定結果を全て保存している。キャッシュ−ページマッピング統計テーブルT413は、対応関係を推定するための判断基準として使用される。
図29は、キャッシュ−ページマッピング統計テーブルT413の構成を示す。キャッシュ−ページマッピング統計テーブルT413は、上述の通り、キャッシュデータ331とページ211との対応関係の統計データを管理する。
キャッシュ−ページマッピング統計テーブルT413は、例えば、キャッシュIDカラムC4130と、ページIDカラムC4131と、マッピング回数カラムC4132とを備える。キャッシュIDカラムC4130は、キャッシュデータ331を識別するためのキャッシュIDを記憶する。ページIDカラムC4131は、ページ211を識別するためのページIDを記憶する。マッピング回数カラムC4132は、カラムC4130で特定されるキャッシュデータ331とカラムC4131で特定されるページ211とが、判定された回数を記憶する。なお、マッピング回数の値は、例えば、管理サーバ40の電源投入時等にリセットしてもよいし、リセットせずに保持してもよい。
図30は、本実施例のキャッシュ−ページマッピング処理のフローチャートである。本処理は、図15に示す処理に比べて、S21及びS22が廃止されている。本実施例では、キャッシュデータとページの対応関係の判定結果を全て統計情報としてテーブルT413に記録するため、第1実施例のように重複した対応関係を排除する必要はない。従って、図30では、S21及びS22が除かれている。なお、本実施例では、第1実施例に比べて、キャッシュ−ページマップ作成及び追加処理が改善されているため、改善された処理に符号S23Aが与えられている。
図31は、本実施例によるキャッシュ−ページマップ作成及び追加処理S23Aのフローチャートである。本フローチャートは、図17に示すフローチャートに比べて、S46がS47に置き換えられている点で相違する。S47では、過去の推定結果(判定結果)の統計に基づいて、今回のページ−キャッシュマップを推定する。
図32は、図31中にS47で示されている、統計によるページ−キャッシュマッピング処理S47のフローチャートである。図31のS40〜S45によって、ページとキャッシュデータの対応関係を示すマップ候補が決定している。
キャッシュ−ページマッピング部P41は、キャッシュ−ページマッピング統計テーブルT413に、今回推定されたマップ候補(対象マップ候補)が含まれているか否かを判定する(S120)。
キャッシュ−ページマッピング統計テーブルT413に、対象マップ候補が含まれていない場合(S120:NO)、キャッシュ−ページマッピング部P41は、新レコードを作成し、キャッシュ−ページマッピング統計テーブルT413に追加する(S121)。新レコードには、対象マップ候補に関するキャッシュID及びページIDが含まれる。新レコードのマッピング回数カラムC4132には、初期値として0が設定される。
キャッシュ−ページマッピング部P41は、キャッシュ−ページマッピング統計テーブルT413の、対象マップ候補に関するレコードについて、マッピング回数カラムC4132の値に1を加算する(S122)。キャッシュ−ページマッピング統計テーブルT413に対象マッピング候補が登録済の場合(S120:YES)、S121はスキップされてS122に移る。
キャッシュ−ページマッピング部P41は、キャッシュ−ページマッピング統計テーブルT413を参照して、対象マップ候補のキャッシュIDに対応付けられたことのあるページ211のうち、マッピング回数の最も多いページを検出する(S123)。キャッシュ−ページマッピング部P41は、マッピング回数の最も多いページのレコードを、キャッシュ−ページマッピングテーブルT412に登録する(S123)。
即ち、キャッシュ−ページマッピング部P41は、キャッシュ−ページマッピング統計テーブルT413において、対象マップ候補のキャッシュIDと同じキャッシュIDを有するレコードの中から、マッピング回数カラムC4132の値が最大であるレコードを検出する。そして、キャッシュ−ページマッピング部P41は、所定のキャッシュIDについて最大のマッピング回数を有するレコードを、判定結果として、キャッシュ−ページマッピングテーブルT411に保存する。
本実施例では、上述のように、過去の判定結果に基づいて、キャッシュデータ331とページ211の対応関係を判定することができる。従って、本実施例では、キャッシュデータ331とページ211の対応関係をより正確に判定することができ、この結果、ページ211をより適切なディスク階層に配置させることができる。
図33を参照して第3実施例を説明する。本実施例では、アプリケーションプログラム11が先にキャッシュデータ331を更新し、次にページ211のデータを更新する場合において、キャッシュデータとページを対応付ける方法を説明する。本実施例では、第1実施例を前提として説明するが、これに代えて、本実施例と第3実施例とを組み合わせることもできる。
図18(b)に示すように、本実施例では、アプリケーションプログラム11がデータを更新する場合、キャッシュデータ331を時刻Tcで更新した後で、ページ211のデータを時刻Tp2で更新する。キャッシュデータ331の書き込みからページ211の書き込みまでの時間遅れをdT2とする。
キャッシュ−ページマッピング部P41は、最新のページ書き込み時刻Tp2から前回のページ書き込み時刻Tp1までの所定時間Tp12を探索期間とする。キャッシュ−ページマッピング部P41は、探索期間Tp12内で、ページ211を更新したホストと同一ホストによるキャッシュデータ331の書き込みがあった場合、そのキャッシュデータ331とページ211とを対応付ける。
そこで、図33に示す本実施例のキャッシュ−ページマッピング処理では、キャッシュ−ページマッピング部P41は、対象ページ211についての前回の書き込み時刻Tp1を取得する(S40A)。キャッシュ−ページマッピング部P41は、対象ページ211についての前回の書き込み時刻Tp1を取得できたか否かを判定する(S41A)。
前回の書き込み時刻Tp1を取得できなかった場合(S41A:NO)、本処理は終了する。前回の書き込み時刻Tp1を取得できた場合(S41A:YES)、キャッシュ−ページマッピング部P41は、対象ページ211に書き込んだホスト10が使用している論理ボリュームのIDを検索する(S42)。
キャッシュ書き込みログテーブルT402の各レコードについて、S44A、S45、S46がそれぞれ実行される。
キャッシュ−ページマッピング部P41は、キャッシュデータ331への書き込み時刻Tcが、対象ページ211の最新書き込み時刻Tp2から前回の書き込み時刻Tp1までの所定時間Tp12内に有るか否かを判定する(S44A)。
キャッシュデータ331の書き込み時刻Tcが所定時間Tp12内に存在しない場合(S44A:NO)、次のレコードに移る。キャッシュデータ331の書き込み時刻Tcが所定時間Tp12内に存在する場合(S44A:YES)、キャッシュ−ページマッピング部P41は、キャッシュデータ331を更新したホスト10により使用される論理ボリュームのIDと、S42で検索されたボリュームIDとが一致するか否かを判定する(S45)。
両方のボリュームIDが一致する場合(S45:YES)、キャッシュ−ページマッピング部P41は、キャッシュ−ページマッピングテーブルT412に新たなレコードを追加する(S46)。
このように構成される本実施例も第1実施例と同様の効果を奏する。さらに、本実施例では、キャッシュデータ331が先に更新され、ページ211が後から更新される場合にも適用できる。アプリケーションプログラム11は、頻繁に使用するキャッシュデータ331を先に更新できるため、ユーザ端末からの要求に速やかに応答できる。
なお、本発明は上述した各実施例に限定されない。当業者であれば、本発明の範囲内で種々の追加または変更等を行うことができる。
本発明は、例えば、以下のようにコンピュータプログラムまたは計算機システムとして表現することもできる。
「観点1.コンピュータを、ホストコンピュータに論理ボリュームを提供するストレージ装置と前記ホストコンピュータにより使用されるキャッシュ装置とを含む計算機システムを管理するための管理装置として機能させるためのコンピュータプログラムであって、
前記キャッシュ装置には、前記論理ボリューム内の所定サイズの記憶領域に記憶されるデータの一部がキャッシュデータとして記憶されており、
前記コンピュータを、
前記ホストコンピュータによる、前記論理ボリューム内の前記記憶領域のデータへの第1アクセス要求を検出させ、
前記ホストコンピュータによる、前記キャッシュ装置内の前記キャッシュデータへの第2アクセス要求を検出させ、
前記論理ボリューム内の前記記憶領域のデータと前記キャッシュ装置の前記キャッシュデータとの対応関係を検出させ、
前記第1アクセス要求と前記第2アクセス要求とに基づいて、前記記憶領域のデータへの合計アクセス要求を算出させる、
コンピュータプログラム。
観点2.ホストコンピュータと、前記ホストコンピュータに論理ボリュームを提供するストレージ装置と、前記ホストコンピュータにより使用されるキャッシュ装置と、前記ホストコンピュータと前記ストレージ装置及び前記キャッシュ装置に接続される管理装置とを含む計算機システムであって、
前記キャッシュ装置には、前記論理ボリューム内の所定サイズの記憶領域に記憶されるデータの一部がキャッシュデータとして記憶されており、
前記管理装置は、マイクロプロセッサと、前記マイクロプロセッサにより使用される所定のコンピュータプログラムを記憶する記憶装置と、前記ホストコンピュータ及び前記ストレージ装置と通信するための通信インターフェース回路とを備え、
前記マイクロプロセッサは、前記所定のコンピュータプログラムを実行することで、
前記ホストコンピュータによる、前記論理ボリューム内の前記記憶領域のデータへの第1アクセス要求を検出し、
前記ホストコンピュータによる、前記キャッシュ装置内の前記キャッシュデータへの第2アクセス要求を検出し、
前記論理ボリューム内の前記記憶領域のデータと前記キャッシュ装置の前記キャッシュデータとの対応関係を検出し、
前記第1アクセス要求と前記第2アクセス要求とに基づいて、前記記憶領域のデータへの合計アクセス要求を算出する、
計算機システム。」
1,10:ホストコンピュータ、2,20:ストレージ装置、3,30:キャッシュ装置、4:管理装置、40:管理サーバ

Claims (12)

  1. ホストコンピュータに論理ボリュームを提供するストレージ装置と、前記ホストコンピュータにより使用され、前記ストレージ装置とは別に設けられるキャッシュ装置とを含む計算機システムを管理する管理装置であって、
    前記キャッシュ装置には、前記論理ボリューム内の所定サイズの記憶領域に記憶されるデータの一部がキャッシュデータとして記憶されており、
    前記管理装置は、マイクロプロセッサと、前記マイクロプロセッサにより使用される所定のコンピュータプログラムを記憶する記憶装置と、前記ホストコンピュータ及び前記ストレージ装置と通信するための通信インターフェース回路とを備え、
    前記マイクロプロセッサは、前記所定のコンピュータプログラムを実行することで、
    前記ホストコンピュータによる、前記論理ボリューム内の前記記憶領域のデータについての読出し要求及び書き込み要求の両方を含む第1アクセス要求に関する情報を前記ストレージ装置から取得し、
    前記ホストコンピュータによる、前記キャッシュ装置内の前記キャッシュデータについての読出し要求である第2アクセス要求に関する情報を前記キャッシュ装置から取得し、
    前記論理ボリューム内の前記記憶領域のデータと前記キャッシュ装置の前記キャッシュデータとの対応関係を検出し、
    前記第1アクセス要求と前記第2アクセス要求とに基づいて、前記記憶領域のデータへの合計アクセス要求を、前記記憶領域のデータについての前記読出し要求と前記記憶領域に対応する前記キャッシュデータについての前記読出し要求とを合計した合計読出し要求と、前記記憶領域に記憶されたデータについての前記書き込み要求とを含めて算出し、
    前記合計アクセス要求に基づいて前記ストレージ装置に対して前記記憶領域のデータを再配置させるための所定の指示を送信することで、前記ストレージ装置に前記所定の指示に従って前記記憶領域のデータを所定階層の物理的記憶領域に配置させる、
    計算機システムの管理装置。
  2. 前記所定サイズと、前記キャッシュデータのサイズとは異なっており、
    前記マイクロプロセッサは、
    前記ホストコンピュータが前記キャッシュ装置内の前記キャッシュデータを更新する第1タイミングと、前記ホストコンピュータが前記論理ボリューム内の前記記憶領域のデータを更新する第2タイミングとに基づいて、前記記憶領域のデータと前記キャッシュデータとの対応関係を検出する、
    請求項に記載の計算機システムの管理装置。
  3. 前記マイクロプロセッサは、
    前記第2タイミングが、前回の前記第1タイミングから最新の前記第1タイミングまでの所定時間内に存在する場合に、前記第2タイミングで更新される前記記憶領域のデータと前記最新の第1タイミングで更新される前記キャッシュデータとが対応関係にあると判定する、
    請求項に記載の計算機システムの管理装置。
  4. 前記ホストコンピュータによる前記キャッシュデータの更新履歴を管理するキャッシュ更新履歴管理情報と、前記ホストコンピュータによる前記記憶領域の更新履歴を管理する記憶領域更新履歴管理情報とが前記記憶装置に格納されており、
    前記マイクロプロセッサは、前記キャッシュ更新履歴管理情報と前記記憶領域更新履歴管理情報とに基づいて、前記最新の第1タイミングで前記キャッシュデータを更新する前記ホストコンピュータと前記第2タイミングで前記記憶領域内のデータを更新する前記ホストコンピュータとが同一であることを確認した場合に、前記第2タイミングで更新される前記記憶領域内のデータと前記最新の第1タイミングで更新される前記キャッシュデータとが対応関係にあると判定する、
    請求項に記載の計算機システムの管理装置。
  5. 前記ストレージ装置には、前記第1アクセス要求の履歴を管理する第1アクセス要求履歴情報が記憶されており、
    前記キャッシュ装置には、前記第2アクセス要求の履歴を管理する第2アクセス要求履歴情報が記憶されており、
    前記記憶領域更新履歴管理情報は、前記管理装置が前記ストレージ装置から取得する前記第1アクセス要求履歴情報に基づいて作成され、
    前記キャッシュ更新履歴管理情報は、前記管理装置が前記キャッシュ装置から取得する前記第2アクセス要求履歴情報に基づいて作成される、
    請求項に記載の計算機システムの管理装置。
  6. 前記論理ボリューム内の前記記憶領域のデータと前記キャッシュ装置の前記キャッシュデータとの対応関係を管理する対応関係管理情報が前記記憶装置に記憶されており、
    前記対応関係管理情報には、各対応関係毎にその信頼性を示す情報が含まれており、
    前記マイクロプロセッサは、前記記憶領域のデータと前記キャッシュデータとの対応関係が複数存在する場合、前記信頼性を示す情報に基づいて、いずれか一つの対応関係を選択する、
    請求項1〜請求項のいずれに記載の計算機システムの管理装置。
  7. 前記信頼性を示す情報は、前記記憶領域のデータと前記キャッシュデータとが対応すると判定された回数である、
    請求項に記載の計算機システムの管理装置。
  8. 前記ストレージ装置が前記所定の指示に従って前記記憶領域のデータを前記所定階層の物理的記憶領域に配置させることで、前記記憶領域のデータのうち前記キャッシュデータに対応するデータは前記ストレージ装置の有する複数階層のうち上位階層へ配置される、
    請求項1〜請求項7のいずれかに記載の計算機システムの管理装置。
  9. ホストコンピュータに論理ボリュームを提供するストレージ装置と、前記ホストコンピュータにより使用され、前記ストレージ装置とは別に設けられるキャッシュ装置とを含む計算機システムを管理装置により管理するための方法であって、
    前記キャッシュ装置には、前記論理ボリューム内の所定サイズの記憶領域に記憶されるデータの一部がキャッシュデータとして記憶されており、
    前記管理装置は、
    前記ホストコンピュータによる、前記論理ボリューム内の前記記憶領域のデータについての読出し要求及び書き込み要求の両方を含む第1アクセス要求に関する情報を前記ストレージ装置から取得し、
    前記ホストコンピュータによる、前記キャッシュ装置内の前記キャッシュデータについての読出し要求である第2アクセス要求に関する情報を前記キャッシュ装置から取得し、
    前記論理ボリューム内の前記記憶領域のデータと前記キャッシュ装置の前記キャッシュデータとの対応関係を検出し、
    前記第1アクセス要求と前記第2アクセス要求とに基づいて、前記記憶領域のデータへの合計アクセス要求を、前記記憶領域のデータについての前記読出し要求と前記記憶領域に対応する前記キャッシュデータについての前記読出し要求とを合計した合計読出し要求と、前記記憶領域に記憶されたデータについての前記書き込み要求とを含めて算出し、
    前記合計アクセス要求に基づいて前記ストレージ装置に対して前記記憶領域のデータを再配置させるための所定の指示を送信することで、前記ストレージ装置に前記所定の指示に従って前記記憶領域のデータを所定階層の物理的記憶領域に配置させる、
    計算機システムの管理方法。
  10. 前記所定サイズと、前記キャッシュデータのサイズとは異なっており、
    前記ホストコンピュータが前記キャッシュ装置内の前記キャッシュデータを更新する第1タイミングと、前記ホストコンピュータが前記論理ボリューム内の前記記憶領域のデータを更新する第2タイミングとに基づいて、前記記憶領域のデータと前記キャッシュデータとの対応関係を検出する、
    請求項9に記載の計算機システムの管理方法。
  11. 前記論理ボリューム内の前記記憶領域のデータと前記キャッシュ装置の前記キャッシュデータとの対応関係を管理する対応関係管理情報が記憶されており、
    前記対応関係管理情報には、各対応関係毎にその信頼性を示す情報が含まれており、
    前記記憶領域のデータと前記キャッシュデータとの対応関係が複数存在する場合、前記信頼性を示す情報に基づいて、いずれか一つの対応関係を選択する、
    請求項10に記載の計算機システムの管理方法。
  12. 前記ストレージ装置が前記所定の指示に従って前記記憶領域のデータを前記所定階層の物理的記憶領域に配置させることで、前記記憶領域のデータのうち前記キャッシュデータに対応するデータは前記ストレージ装置の有する複数階層のうち上位階層へ配置される、
    請求項9〜請求項11のいずれかに記載の計算機システムの管理方法。
JP2013517732A 2011-05-30 2011-05-30 計算機システムの管理装置及び管理方法 Expired - Fee Related JP5789660B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/062412 WO2012164671A1 (ja) 2011-05-30 2011-05-30 計算機システムの管理装置及び管理方法

Publications (2)

Publication Number Publication Date
JPWO2012164671A1 JPWO2012164671A1 (ja) 2014-07-31
JP5789660B2 true JP5789660B2 (ja) 2015-10-07

Family

ID=47258557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013517732A Expired - Fee Related JP5789660B2 (ja) 2011-05-30 2011-05-30 計算機システムの管理装置及び管理方法

Country Status (4)

Country Link
US (2) US8667220B2 (ja)
EP (1) EP2717165A4 (ja)
JP (1) JP5789660B2 (ja)
WO (1) WO2012164671A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10922240B2 (en) 2018-09-19 2021-02-16 Toshiba Memory Corporation Memory system, storage system and method of controlling the memory system

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5817558B2 (ja) * 2012-01-27 2015-11-18 富士通株式会社 情報処理装置、分散処理システム、キャッシュ管理プログラムおよび分散処理方法
US10341435B2 (en) * 2012-06-12 2019-07-02 Centurylink Intellectual Property Llc High performance cloud storage
JP6203592B2 (ja) * 2013-10-07 2017-09-27 株式会社日立製作所 計算機システム、キャッシュ管理方法及び計算機
JP6131170B2 (ja) * 2013-10-29 2017-05-17 株式会社日立製作所 計算機システム、及びデータ配置制御方法
JP2015170160A (ja) 2014-03-07 2015-09-28 富士通株式会社 情報処理システム,情報処理装置,情報処理プログラム及び情報処理方法
US10445025B2 (en) 2014-03-18 2019-10-15 Micron Technology, Inc. Apparatuses and methods having memory tier structure and recursively searching between tiers for address in a translation table where information is only directly transferred between controllers
JP6414875B2 (ja) * 2014-07-16 2018-10-31 Necプラットフォームズ株式会社 データ管理システム、データ管理装置、プログラム及びデータ管理方法
JP7175731B2 (ja) * 2018-12-06 2022-11-21 エヌ・ティ・ティ・コミュニケーションズ株式会社 ストレージ管理装置、方法およびプログラム
JP7150584B2 (ja) 2018-12-06 2022-10-11 エヌ・ティ・ティ・コミュニケーションズ株式会社 エッジサーバとそのプログラム
JP7150585B2 (ja) 2018-12-06 2022-10-11 エヌ・ティ・ティ・コミュニケーションズ株式会社 データ検索装置とそのデータ検索方法およびプログラム、エッジサーバとそのプログラム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07306757A (ja) * 1994-05-11 1995-11-21 Nippon Telegr & Teleph Corp <Ntt> ライブラリシステム
JP2000010740A (ja) * 1998-06-26 2000-01-14 Hitachi Ltd 階層記憶管理システム
JP2003216460A (ja) * 2002-01-21 2003-07-31 Hitachi Ltd 階層ストレージ装置及びその制御装置
JP2006039942A (ja) * 2004-07-27 2006-02-09 Nec Software Tohoku Ltd 階層記憶システムにおけるファイル管理装置及びそのファイル管理方法
US20060101084A1 (en) * 2004-10-25 2006-05-11 International Business Machines Corporation Policy based data migration in a hierarchical data storage system
JP2006301892A (ja) * 2005-04-20 2006-11-02 Sony Corp 階層ストレージ管理装置、方法、およびプログラム
JP2008009829A (ja) * 2006-06-30 2008-01-17 Fujitsu Ltd ストレージ制御プログラム、ストレージ制御装置、ストレージ制御方法
JP2009151397A (ja) * 2007-12-19 2009-07-09 Nec Corp 階層記憶制御装置、階層記憶制御システム及びそれらに用いる階層記憶制御方法及びそのプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092149A (en) * 1997-05-28 2000-07-18 Western Digital Corporation Disk drive cache system using a dynamic priority sequential stream of data segments continuously adapted according to prefetched sequential random, and repeating types of accesses
US6981005B1 (en) * 2000-08-24 2005-12-27 Microsoft Corporation Partial migration of an object to another storage location in a computer system
JP4727705B2 (ja) 2008-10-31 2011-07-20 株式会社日立製作所 階層型ストレージシステム
JP2010257094A (ja) 2009-04-23 2010-11-11 Hitachi Ltd 階層ストレージ管理システムにおける移動候補ファイルの抽出方法
US8321645B2 (en) * 2009-04-29 2012-11-27 Netapp, Inc. Mechanisms for moving data in a hybrid aggregate
EP2450785A1 (en) * 2009-10-09 2012-05-09 Hitachi Ltd. Data storage controller and virtual volume control method
US8843724B2 (en) * 2010-04-30 2014-09-23 Hitachi, Ltd. Computer system and storage control method of the same

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07306757A (ja) * 1994-05-11 1995-11-21 Nippon Telegr & Teleph Corp <Ntt> ライブラリシステム
JP2000010740A (ja) * 1998-06-26 2000-01-14 Hitachi Ltd 階層記憶管理システム
JP2003216460A (ja) * 2002-01-21 2003-07-31 Hitachi Ltd 階層ストレージ装置及びその制御装置
JP2006039942A (ja) * 2004-07-27 2006-02-09 Nec Software Tohoku Ltd 階層記憶システムにおけるファイル管理装置及びそのファイル管理方法
US20060101084A1 (en) * 2004-10-25 2006-05-11 International Business Machines Corporation Policy based data migration in a hierarchical data storage system
JP2006301892A (ja) * 2005-04-20 2006-11-02 Sony Corp 階層ストレージ管理装置、方法、およびプログラム
JP2008009829A (ja) * 2006-06-30 2008-01-17 Fujitsu Ltd ストレージ制御プログラム、ストレージ制御装置、ストレージ制御方法
JP2009151397A (ja) * 2007-12-19 2009-07-09 Nec Corp 階層記憶制御装置、階層記憶制御システム及びそれらに用いる階層記憶制御方法及びそのプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10922240B2 (en) 2018-09-19 2021-02-16 Toshiba Memory Corporation Memory system, storage system and method of controlling the memory system

Also Published As

Publication number Publication date
US20120317366A1 (en) 2012-12-13
WO2012164671A1 (ja) 2012-12-06
US8954682B2 (en) 2015-02-10
JPWO2012164671A1 (ja) 2014-07-31
US8667220B2 (en) 2014-03-04
US20140173194A1 (en) 2014-06-19
EP2717165A1 (en) 2014-04-09
EP2717165A4 (en) 2015-04-22

Similar Documents

Publication Publication Date Title
JP5789660B2 (ja) 計算機システムの管理装置及び管理方法
US20210182166A1 (en) Zoned namespace management of non-volatile storage devices
JP4990322B2 (ja) データ移動管理装置及び情報処理システム
US9747036B2 (en) Tiered storage device providing for migration of prioritized application specific data responsive to frequently referenced data
US9684593B1 (en) Techniques using an encryption tier property with application hinting and I/O tagging
US9507720B2 (en) Block storage-based data processing methods, apparatus, and systems
US10176212B1 (en) Top level tier management
JP4749140B2 (ja) データマイグレーション方法及びシステム
US7549016B2 (en) Storage control apparatus for selecting storage media based on a user-specified performance requirement
US8380928B1 (en) Applying data access activity measurements
US10001927B1 (en) Techniques for optimizing I/O operations
US9612758B1 (en) Performing a pre-warm-up procedure via intelligently forecasting as to when a host computer will access certain host data
WO2013072978A1 (ja) 計算機、仮想マシン配備方法及びプログラム
US20070043919A1 (en) Information processing method and system
US11249652B1 (en) Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
JP2014507693A (ja) ストレージシステムおよび記憶制御方法
US9330009B1 (en) Managing data storage
JP2006268398A (ja) 計算機システム、データ管理方法およびプログラム
US20230017824A1 (en) Systems and methods for load balancing in a heterogeneous memory system
US8949559B2 (en) Storage system and performance management method of storage system
JP2018197933A (ja) ストレージ制御装置、情報処理システムおよびプログラム
TWI768693B (zh) 用以進行全快閃記憶體陣列伺服器的資料存取管理的方法與設備
US11461250B2 (en) Tuning data storage equipment based on comparing observed I/O statistics with expected I/O statistics which are defined by operating settings that control operation
JP7017546B2 (ja) ストレージシステム、パス管理方法、及びパス管理プログラム
US7543128B2 (en) Method and apparatus for repurposing compute resources to implement, or not implement, storage access protocols

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140909

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150401

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150803

R150 Certificate of patent or registration of utility model

Ref document number: 5789660

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees