JP2013222457A - データ位置の管理方法および装置 - Google Patents

データ位置の管理方法および装置 Download PDF

Info

Publication number
JP2013222457A
JP2013222457A JP2012253985A JP2012253985A JP2013222457A JP 2013222457 A JP2013222457 A JP 2013222457A JP 2012253985 A JP2012253985 A JP 2012253985A JP 2012253985 A JP2012253985 A JP 2012253985A JP 2013222457 A JP2013222457 A JP 2013222457A
Authority
JP
Japan
Prior art keywords
data
storage
server
stored
storage system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012253985A
Other languages
English (en)
Other versions
JP2013222457A5 (ja
JP5914305B2 (ja
Inventor
Shinichi Hayashi
真一 林
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 JP2013222457A publication Critical patent/JP2013222457A/ja
Publication of JP2013222457A5 publication Critical patent/JP2013222457A5/ja
Application granted granted Critical
Publication of JP5914305B2 publication Critical patent/JP5914305B2/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

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

Abstract

【課題】
サーバ上のフラッシュメモリドライブをキャッシュとして使用し、頻繁にアクセスされる領域を記憶システム内のより高い階層に移動し、アクセス性能を向上させる。
【解決手段】
本発明では、サーバ上のキャッシュステータスに基づき記憶サブシステムを制御する管理サーバを提供する。システムは、サーバに接続可能であり、このサーバから送られてきたデータを各々が記憶可能な複数の記憶階層を管理することができる記憶システムと、データがこのサーバ内のキャッシュメモリに記憶されているか否かに基づき当該データを記憶するために、複数の記憶階層のうちの一記憶階層を管理することができる管理コンピュータとを備える。
【選択図】図1

Description

0001 本発明は、全般的には階層管理に関し、特にデータ位置の管理方法および装置に関する。
0002 近年、シンプロビジョニングが普及してきた。シンプロビジョニングとは、書き込みコマンドを受け取った記憶システムに対する領域を未割り当て領域に割り当てる方法であり、書き込みコマンドに応じて物理デバイスを割り当てる。さらに、記憶システムは、頻繁にアクセスされる割り当て済み領域を高速で高価な媒体に割り当て直し、めったにアクセスされない割り当て済み領域を低速で安価な媒体に割り当て直すこともある。一般に、記憶システムが未割り当て領域への書き込みコマンドを受け取ると、当該記憶システムはデフォルトの階層領域をこの未割り当て領域に割り当てる。
0003 アプリケーションプログラムは、性能を向上させるために、サーバ上のフラッシュメモリドライブをキャッシュとして使用する。アプリケーションプログラムは、データがフラッシュメモリドライブ上にある場合には、当該データを、記憶サブシステムからではなく、フラッシュメモリドライブから読み出し、当該データをフラッシュメモリドライブと記憶サブシステムとに書き込む。ただし、記憶サブシステム上にはフラッシュメモリデバイスがあるので、記憶サブシステム内の頻繁に書き込まれる領域は、より高い階層、すなわちフラッシュメモリデバイス、に移動される。したがって、頻繁に書き込まれる領域は、サーバ上のフラッシュメモリドライブと記憶サブシステム上のフラッシュメモリデバイスとに位置付けられる。さらに、頻繁にアクセスされる領域をより高い階層に移動できないため、性能が低下する。
0004 特許文献1(米国特許出願公開第2011/0202705号公報)によると、管理者は指定したボリュームを指定した階層に配置できる。ただし、記憶サブシステムは、管理サーバからのボリュームコピーコマンドが展開用なのかバックアップ用なのかを知ることができない。したがって、記憶サブシステムは、当該ボリュームを適切な階層に配置できない。特許文献2(米国特許出願公開第2009/0144496号公報)によると、記憶制御装置は仮想ボリュームをページ単位で圧縮できる。
米国特許出願公開第2011/0202705号公報 米国特許出願公開第2009/0144496号公報
しかしながら、従来技術においては、性能を向上させるためにサーバ上のフラッシュメモリドライブがキャッシュとして使用され、頻繁に書き込まれる領域がサーバ上のフラッシュメモリドライブと記憶サブシステム上のフラッシュメモリデバイスの両方に位置付けられるが、頻繁にアクセスされる領域を記憶システム内のより高い階層に移動できないため性能が低下する。
従って、本発明の目的は、サーバ上のフラッシュメモリドライブをキャッシュとして使用し、頻繁にアクセスされる領域を記憶システム内のより高い階層に移動し、アクセス性能を向上させることである。
0005 本発明の複数の例示的実施形態は、サーバ上のキャッシュステータスに基づき記憶サブシステムを制御する管理サーバを提供する。本管理サーバは、データをキャッシュするようにサーバに指令し、当該データのキャッシュステータスをチェックし、当該データをより低い階層に固定するように記憶サブシステムに指令する。この結果、書き込みアクセス回数が多い他のオブジェクトをより高い階層に位置付けることができる。
0006 第1実施形態において、管理者がオブジェクトの位置を指定すると、これらのオブジェクトは移動される。管理サーバは、オブジェクトをキャッシュするようにサーバに指令し、これらのオブジェクトのキャッシュステータスをチェックし、サーバからのオブジェクト位置情報に基づき、これらのオブジェクトをより低い階層に固定するように記憶サブシステムに指令する。
0007 第2実施形態において、オブジェクトは、これらのオブジェクトへのアクセス回数に基づき、移動される。管理サーバは、オブジェクト性能情報をサーバから取得し、当該オブジェクトへのアクセス回数に基づきオブジェクトの位置を決定し、当該オブジェクトをキャッシュするようにサーバに指令し、ステータスをチェックし、当該オブジェクトをより低い階層に固定するように記憶サブシステムに指令する。
0008 第3実施形態において、データは、このデータにアクセスするプログラムによって移動される。管理サーバは、プログラムによってアクセスされたデータをキャッシュするようにサーバに指令し、このデータのキャッシュステータスをチェックし、このデータをより低い階層に固定するように記憶サブシステムに指令する。
0009 第4実施形態において、ページは、これらのページへのアクセス回数に基づき移動される。管理サーバは、測定サイクルが異なる複数のページに関するいくつかのページ性能情報を記憶サブシステムから取得し、測定サイクルが異なるこれらのページへのアクセス回数に基づきこれらのページの位置を決定し、これらのページをキャッシュするようにサーバに指令し、ステータスをチェックし、これらのページをより低い階層に固定するように記憶サブシステムに指令する。
0010 本発明の一態様によると、システムは、サーバに接続可能な記憶システムであって、当該サーバから送られてきたデータを各々が記憶可能な複数の記憶階層を管理することができる記憶システムと、データが当該サーバのキャッシュメモリに記憶されているか否かに基づきデータを記憶するために、複数の記憶階層のうちの一記憶階層を管理することができる管理コンピュータとを備える。
0011 一部の実施形態において、記憶システムは、データの位置ポリシーに基づき複数の記憶階層から選択された位置における当該データの記憶を管理するための記憶制御装置を備える。複数の記憶階層はより低い階層とより高い階層とを含み、より高い階層はより低い階層より高速の記憶媒体を有する。管理コンピュータは、あるデータがサーバのキャッシュメモリに記憶されている場合には、そのデータが記憶システムのより低い階層に記憶されるように、記憶システムにおけるデータの記憶を管理することができる。記憶システムは、複数のデータオブジェクトを記憶するために複数の記憶階層を管理するように構成され、管理コンピュータは、あるデータオブジェクトのデータがサーバのキャッシュメモリに記憶されている場合には、当該データオブジェクトが記憶システムのより低い階層に記憶されるように、記憶システムにおける当該データオブジェクトの記憶を管理するように構成される。
0012 特定の複数の実施形態において、管理コンピュータは、データがサーバのキャッシュメモリに記憶されている場合には、その記憶対象データを記憶システムのより低い階層に固定することができる。この記憶システムは、データがサーバのキャッシュメモリに記憶されていない場合には、当該データに対して事前に設定されている位置ポリシーに基づき、複数の記憶階層から選択された位置におけるデータの記憶を管理するように構成された記憶制御装置を備える。この記憶システムは、複数のデータオブジェクトを記憶するために複数の記憶階層を管理するように構成される。管理コンピュータは、データオブジェクトがサーバのキャッシュメモリに記憶されている場合には、その記憶対象データオブジェクトを記憶システムのより低い階層に固定することができる。記憶システムは、データオブジェクトがサーバのキャッシュメモリに記憶されていない場合には、当該データオブジェクトへのアクセス回数に基づき、複数の記憶階層から選択された位置における当該データオブジェクトの記憶を管理するように構成された記憶制御装置を備える。
0013 一部の実施形態において、管理コンピュータは、データがサーバのキャッシュメモリに記憶されている場合には、その記憶対象データを記憶システムのより低い階層に固定することができる。記憶システムは、データがサーバのキャッシュメモリに記憶されていない場合には、複数のコンピュータプログラムのうち、当該データにアクセスするコンピュータプログラムに応じてデータを位置付けるために、階層選択を指定するプログラムデータ位置ポリシーに基づき、複数の記憶階層から選択された位置における当該データの記憶を管理するように構成された記憶制御装置を備える。
0014 特定の複数の実施形態において、記憶システムは、データをボリュームページ単位で記憶するために複数の記憶階層を管理するように構成される。管理コンピュータは、ボリュームページがサーバのキャッシュメモリに記憶されている場合には、その記憶対象ボリュームページを記憶システムのより低い階層に固定することができる。記憶システムは、ボリュームページがサーバのキャッシュメモリに記憶されていない場合には、当該ボリュームページへのアクセス回数に基づき、複数の記憶階層から選択された位置における当該ボリュームページの記憶を管理するように構成された記憶制御装置を備える。
0015 本発明の別の態様は、サーバに接続され、当該サーバから送られてきたデータを各々が記憶可能な複数の記憶階層を管理する記憶システムにおいて、データの記憶を管理するための管理コンピュータに関する。この管理コンピュータは、プロセッサと、メモリと、当該データがサーバのキャッシュメモリに記憶されているか否かに基づきデータを記憶するために、前記複数の記憶階層のうちの一記憶階層を管理するためのモジュールとを備える。
0016 一部の実施形態において、このモジュールは、位置ポリシーの入力を受け付け、当該データに対する位置ポリシーに基づき、記憶システム内の複数の記憶階層から選択された位置における当該データの記憶を管理するように構成される。このモジュールは、サーバのキャッシュメモリのステータスをチェックするためのコマンドを当該サーバに送り、記憶システムに記憶される何れかのデータがキャッシュメモリに記憶されているかどうかを判定するように構成される。複数の記憶階層はより低い階層とより高い階層とを含み、より高い階層はより低い階層より高速の記憶媒体を有し、モジュールは、データがサーバのキャッシュメモリに記憶されている場合には、そのデータが記憶システムのより低い階層に記憶されるように、記憶システムにおけるデータの記憶を管理するように構成される。モジュールは、記憶システムに記憶されるデータがサーバのキャッシュメモリに記憶されている場合には、そのデータを記憶システムのより低い階層に記憶するためのコマンドを記憶システムに送るように構成される。
0017 本発明の別の態様は、サーバに接続され、当該サーバから送られてきたデータを各々が記憶可能な複数の記憶階層を管理する記憶システムにおいて、データの記憶を管理するためにデータプロセッサを制御するための複数の命令を記憶しているコンピュータ可読記憶媒体に関する。これら複数の命令は、データがサーバのキャッシュメモリに記憶されているか否かに基づきデータを記憶するために、複数の記憶階層のうちの一記憶階層をデータプロセッサに管理させる命令を含む。
0018 一部の実施形態において、これら複数の命令は、位置ポリシーの入力を受け付けるためのユーザインタフェースをデータプロセッサに提供させる命令と、データの位置ポリシーに基づき記憶システム内の複数の記憶階層から選択された位置におけるデータの記憶をデータプロセッサに管理させる命令とをさらに含む。データを記憶するために複数の記憶階層のうちの一記憶階層をデータプロセッサに管理させる命令は、データがサーバのキャッシュメモリに記憶されている場合には、そのデータが記憶システムのより低い階層に記憶されるように、記憶システムにおけるデータの記憶をデータプロセッサに管理させる命令を含む。
0019 特定の複数の実施形態において、記憶システムにおけるデータの記憶をデータプロセッサに管理させる命令は、データオブジェクトがサーバのキャッシュメモリに記憶されている場合には、記憶システムのより低い階層への記憶対象データオブジェクトの固定をデータプロセッサに行わせる命令と、データオブジェクトがサーバのキャッシュメモリに記憶されていない場合には、当該データオブジェクトへのアクセス回数に基づき複数の記憶階層から選択された位置におけるデータオブジェクトの記憶をデータプロセッサに管理させる命令とを含む。
0020 一部の実施形態において、記憶システムにおけるデータの記憶をデータプロセッサに管理させる命令は、データがサーバのキャッシュメモリに記憶されている場合には、記憶システムのより低い階層への記憶対象データの固定をデータプロセッサに行わせる命令と、データがサーバのキャッシュメモリに記憶されていない場合には、複数のコンピュータプログラムのうち、当該データにアクセスするコンピュータプログラムに応じてデータを位置付けるために、階層選択を指定するプログラムデータ位置ポリシーに基づき複数の記憶階層から選択された位置におけるデータの記憶をデータプロセッサに管理させる命令とを含む。
0021 特定の複数の実施形態において、データはボリュームページ単位で記憶システムに記憶され、記憶システムにおけるデータの記憶をデータプロセッサに管理させる命令は、ボリュームページがサーバのキャッシュメモリに記憶されている場合には、記憶システム内のより低い階層への記憶対象ボリュームページの固定をデータプロセッサに行わせる命令と、ボリュームページがサーバのキャッシュメモリに記憶されていない場合には、当該ボリュームページへのアクセス回数に基づき複数の記憶階層から選択された位置におけるボリュームページの記憶をデータプロセッサに管理させる命令とを含む。
0022 本発明の上記および他の特徴並びに利点は、具体的な実施形態についての以下の詳細な説明に照らすことによって当業者には明らかになるであろう。
本発明によるデータ位置の管理方法および装置によれば、サーバ上のフラッシュメモリドライブをキャッシュとして使用し、頻繁にアクセスされる領域を記憶システム内のより高い階層に移動することにより、アクセス性能を向上させることができる。
0023 データ位置管理の概要を説明するために記憶システムの一例を示す。 0024 従来技術の問題を説明するために図1の同じ記憶システムを示す。 0025 本発明の方法および装置が適用される情報システムのハードウェア構成の一例を示す。 0026 第1実施形態による図3のアプリケーションサーバ内のメモリの一例を示す。 0027 第1実施形態による図3の記憶サブシステム内のメモリの一例を示す。 0028 第1実施形態による図3の管理サーバ内のメモリの一例を示す。 0029 オブジェクト位置情報の一例を示す。 0030 RAIDグループ情報の一例を示す。 0031 論理ボリューム情報の一例を示す。 0032 記憶プール情報の一例を示す。 0033 仮想ボリューム情報の一例を示す。 0034 階層定義情報の一例を示す。 0035 第1実施形態におけるオブジェクト位置ポリシー情報の一例を示す。 0036 第1実施形態におけるオブジェクト位置ポリシー情報入力画面の一例を示す。 0037 読み出しコマンドの一例を示す。 0038 書き込みコマンドの一例を示す。 0039 フラッシュキャッシュコマンドの一例を示す。 0040 フラッシュキャッシュコマンドへの応答の一例を示す。 0041 ページ固定コマンドの一例を示す。 0042 I/Oコマンドを受け取り、I/O結果を返すディスク制御プログラムの処理を説明する流れ図の一例である。 0043 ページを移動するためのページ移動プログラムの処理を説明する流れ図の一例である。 0044 第1実施形態における管理者からの入力に基づきデータを移動するための位置管理プログラムの処理を説明する流れ図の一例である。 0045 第2実施形態による図3のアプリケーションサーバ内のメモリの一例を示す。 0046 第2実施形態による図3の管理サーバ内のメモリの一例を示す。 0047 第2実施形態におけるオブジェクト性能情報の一例を示す。 0048 第2実施形態における媒体容量情報の一例を示す。 0049 第2実施形態において各オブジェクトへのI/O回数に基づきデータを移動するための位置管理プログラムの処理を説明する流れ図の一例である。 0050 第3実施形態による図3のアプリケーションサーバ内のメモリの一例を示す。 0051 第3実施形態による図3の管理サーバ内のメモリの一例を示す。 0052 第3実施形態におけるプログラムアクセス情報の一例を示す。 0053 第3実施形態におけるプログラムデータ位置ポリシー情報の一例を示す。 0054 第3実施形態におけるプログラムデータ位置ポリシー情報入力画面の一例を示す。 0055 第3実施形態における管理者からの入力に基づきデータを移動するための位置管理プログラムの処理を説明する流れ図の一例である。 0056 第4実施形態による図3のアプリケーションサーバ内のメモリの一例を示す。 0057 第4実施形態による図3の管理サーバ内のメモリの一例を示す。 0058 第4実施形態におけるページ位置管理情報の一例を示す。 0059 第4実施形態におけるページフラッシュキャッシュコマンドの一例を示す。 0060 第4実施形態におけるページフラッシュキャッシュコマンドへの応答の一例を示す。 0061 第4実施形態においてページへのアクセス回数に基づきデータを移動するための位置管理プログラムの処理を説明する流れ図の一例である。
0062 本発明の以下の詳細な説明においては、本発明を実施しうる複数の例示的実施形態が限定のためではなく例として示されており、本開示の一部を成す添付図面を参照する。これらの図面において、同様の参照符号は、いくつかの図面を通してほぼ同様の構成要素を記述する。さらに、この詳細な説明は、以下に記載され、かつ図面に例示されているように、さまざまな例示的実施形態を提供するが、本発明は本願明細書に記載および例示されている実施形態に限定されるものではなく、当業者には公知であるような、または公知となるような、他の実施形態にも及びうる。本明細書において「1つの実施形態」、「この実施形態」、または「これらの実施形態」への言及は、当該実施形態に関して記載されている特定の特徴、構造、または特性が本発明の少なくとも1つの実施形態に含まれることを意味し、本明細書内のさまざまな箇所におけるこれらの文言の出現は必ずしも全てが同じ実施形態に言及しているとは限らない。さらに、以下の詳細な説明においては、本発明の完全な理解をもたらすために、具体的な詳細が数多く述べられている。ただし、これらの具体的な詳細の全てが本発明を実施するために必要であるとは限らないことは当業者には明らかであろう。他の状況においては、本発明を無用に不明瞭にしないように、周知の構造、材料、回路、プロセス、およびインタフェースは詳細に説明されていない、および/またはブロック図の形態で例示されていない場合もある。
0063 さらに、以下の詳細な説明のいくつかの部分は、コンピュータ内の動作のアルゴリズムおよび記号表現で提示されている。これらのアルゴリズム的記述および記号表現は、データ処理技術分野の当業者が自分達の技術革新の本質を当該技術分野の他の当業者に最も有効に伝えるために用いる手段である。アルゴリズムは、所望される最終状態または結果へと導く定義されたステップの連なりである。本発明において、実行される各ステップは、実体的結果を実現するために実体的数量の物理的操作を必要とする。通常、必ずしもそうとは限らないが、これらの数量は、記憶、転送、組み合わせ、比較、および別様の処理が可能な電気または磁気信号または命令の形態を取る。時には、主に一般的慣用の理由により、これらの信号をビット、値、要素、記号、文字、用語、数字、命令などとして言及すると便利であることが分かっている。ただし、上記および同様の用語は全て、適切な物理量に対応付けられるべきであり、これらの物理量に適用される便利なラベルに過ぎないことに留意すべきである。特に明記されていない限り、以下の説明から明らかなように、本明細書を通して、「処理」、「演算」、「計算」、「判定」、「表示」などの用語を用いた記述は、コンピュータシステムのレジスタおよびメモリ内の物理(電子)量として表されるデータを操作し、これらのデータを当該コンピュータシステムのメモリまたはレジスタ、あるいは他の情報記憶、伝送、または表示装置、において物理量として同様に表される他のデータに変換するコンピュータシステムまたは他の情報処理装置の動作および処理を含むことができることを理解されたい。
0064 本発明は、本願明細書における動作を実行するための装置にさらに関する。この装置は、必要とされる用途のために特別に構築されてもよく、あるいは1つ以上のコンピュータプログラムによって選択的に起動または再構成される1つ以上の汎用コンピュータを含んでもよい。このようなコンピュータプログラムは、光ディスク、磁気ディスク、読み出し専用メモリ、ランダムアクセスメモリ、固体デバイスおよびドライブ、あるいは電子情報の記憶に適した何れか他の種類の媒体などの非一時的記憶媒体を含むコンピュータ可読記憶媒体に記憶されうる。ただし、非一時的記憶媒体はこれだけに限定されるものではない。本願明細書に提示されているアルゴリズムおよび表示は、何れか特定のコンピュータまたは他の装置に本質的に関連付けられてはいない。本願明細書の教示によるプログラムおよびモジュールと共に各種の汎用システムが使用されうるが、あるいは所望の方法ステップを実施するためにより特化された装置の構築が好都合であることが分かるかもしれない。また、本発明は、何れか特定のプログラミング言語に関して記述されてはいない。本願明細書に記載されているような本発明の教示を実現するために、多様なプログラミング言語が使用されうることを理解されるであろう。プログラミング言語(単数または複数)の命令は、1つ以上の処理装置、例えば、中央処理装置(CPU)、プロセッサ、または制御装置、によって実行されうる。
0065 本発明の複数の例示的実施形態は、以下により詳細に説明するように、データ位置管理のための装置、方法、およびコンピュータプログラムを提供する。
0066 図1は、データ位置管理の概要を説明するために、記憶システムの一例を示す。記憶システムは、フラッシュメモリドライブ306およびアプリケーションプログラム402を有するアプリケーションサーバ300と、管理サーバ380と、階層1の記憶装置(SSD)、階層2の記憶装置(SAS HDD)、および階層3の記憶装置(SATA HDD)を有する記憶サブシステム360とを含む。図1において、オブジェクトAは、フラッシュメモリドライブ306上にキャッシュされ、階層3に固定される。したがって、オブジェクトBを階層1に位置付けることができる。管理サーバ380は、データをキャッシュするようにサーバ300に指令し(キャッシュコマンド矢印)、このデータのキャッシュステータスをチェックし(キャッシュステータス矢印)、このデータをより低い階層に固定するように記憶サブシステムに指令する(ページ固定コマンド矢印)。この結果、書き込みアクセス回数が多い他のオブジェクトをより高い階層に位置付けることができる。
0067 図2は、オブジェクトAがフラッシュメモリドライブ306上にキャッシュされ、さらに階層1、すなわちSSD、に位置付けられる従来技術の問題を説明するために、図1と同じ記憶システムを示す。オブジェクトBは、オブジェクトAよりアクセス回数が多いにも拘らず、階層1ではなく、階層2に位置付けられている。したがって、頻繁にアクセスされる領域をより高い階層に移動できないため、性能が低下する。
0068 第1実施形態
0069 A.システム構成
0070 図3は、本発明の方法および装置を適用される情報システムのハードウェア構成の一例を示す。この情報システムは、1つ以上のアプリケーションサーバ300と、SAN(Storage Area Network)320、LAN(Local Area Network)340と、1つ以上の記憶サブシステム360と、管理サーバ380とを備える。アプリケーションサーバ300は、CPU(Central Processing Unit)301と、メモリ302と、HDD(Hard Disk Drive)303と、SANインタフェース304と、LANインタフェース305と、フラッシュメモリドライブ306とを備える。CPU301は、複数のプログラムをメモリ302から読み出し、これらのプログラムを実行する。メモリ302は、アプリケーションサーバ300が起動してプログラムおよびデータを記憶するとき、これらのプログラムおよびデータをHDD303から読み込む。HDD303は、プログラムとデータとを記憶する。SANインタフェース304は、アプリケーションサーバ300とSAN320とを接続する。LANインタフェース305は、アプリケーションサーバ300とLAN340とを接続する。フラッシュメモリドライブ306は、データをキャッシュする。SAN320は、アプリケーションサーバ300と記憶サブシステム360とを接続する。アプリケーションサーバ300は、アプリケーションデータを記憶サブシステム360に送るために、および、アプリケーションデータを記憶サブシステム360から受け取るために、SAN320を使用する。アプリケーションサーバ300と、記憶サブシステム360と、管理サーバ380とは、管理データを送るために、および、管理データを受け取るために、LAN340を使用する。LAN340は、アプリケーションサーバ300と、記憶サブシステム360と、管理サーバ380とを接続する。記憶サブシステム360は、SANインタフェース361と、LANインタフェース362と、CPU363と、メモリ364と、ディスクインタフェース365と、HDD366と、SSD(Solid State Drive)367とを備える。SANインタフェース361は、記憶サブシステム360とSAN320とを接続する。LANインタフェース362は、記憶サブシステム360とLAN340とを接続する。CPU363は、複数のプログラムをメモリ364から読み出し、これらのプログラムを実行する。メモリ364は、記憶サブシステム360が起動してプログラムおよびデータを記憶するとき、これらのプログラムおよびデータをHDD366およびSSD367から読み込む。ディスクインタフェース365は、記憶サブシステム360と、HDD366と、SSD367とを接続する。HDD366は、プログラムとデータとを格納する。SSD367は、プログラムとデータとを格納する。管理サーバ380は、CPU381と、メモリ382と、HDD383と、LANインタフェース384とを備える。CPU381は、複数のプログラムをメモリ382から読み出し、これらのプログラムを実行する。メモリ382は、管理サーバ380が起動してプログラムおよびデータを記憶するとき、これらのプログラムおよびデータをHDD383から読み込む。HDD383は、プログラムおよびデータを格納する。LANインタフェース384は、管理サーバ380とLAN340とを接続する。
0071 図4は、第1実施形態による図3のアプリケーションサーバ300内のメモリ302の一例を示す。メモリ302は、OS(Operating System)プログラム401と、アプリケーションプログラム402と、オブジェクト位置情報403とを備える。OSプログラム401は、アプリケーションプログラム402を実行する。アプリケーションプログラム402(例えば、データベースプログラム)は、読み出しコマンドを記憶サブシステム360に送って記憶サブシステム360内のデータを読み出し、データを処理し、結果を記憶サブシステム360に書き込む。
0072 図5は、第1実施形態による図3の記憶サブシステム360内のメモリ364の一例を示す。メモリ364は、ディスク制御プログラム501と、RAID(Redundant Arrays of Inexpensive(またはIndependent)Disks)グループ情報502と、論理ボリューム情報503と、記憶プール情報504と、仮想ボリューム情報505と、階層定義情報506と、ページ移動プログラム507と、キャッシュ508とを備える。ディスク制御プログラム501は、読み出しコマンドおよび書き込みコマンドをアプリケーションサーバ300から受け取り、データをHDD366およびSSD367から読み出し、データをHDD366およびSSD367に書き込む際に、RAIDグループ情報502と、論理ボリューム情報503と、記憶プール情報504と、仮想ボリューム情報505と、階層定義情報506とを使用する。ディスク制御プログラム501は、データをHDD366およびSSD367から読み出すと、ディスク制御プログラム501は、このデータをキャッシュ508に一時的に記憶し、キャッシュ508上の古いデータを削除する。ディスク制御プログラム501は読み出しコマンドをアプリケーションサーバ300から受け取ると、当該データがキャッシュ508上にある場合には、ディスク制御プログラム501は当該データを、HDD366およびSSD367からではなく、キャッシュ508から読み出す。
0073 図6は、第1実施形態による図3の管理サーバ380内のメモリ382の一例を示す。メモリ382は、情報取得プログラム601と、位置管理プログラム602と、オブジェクト位置ポリシー情報603と、オブジェクト位置ポリシー情報入力画面604とを備える。
0074 図7は、オブジェクト位置情報403の一例を示す。オブジェクト位置情報403は、オブジェクト名701、オブジェクトアドレス702、ボリューム名703、およびボリュームアドレス704の各列を含む。オブジェクト位置情報403は、オブジェクト名701によって指定された領域内のデータを示し、オブジェクトアドレス702は、ボリューム名703とボリュームアドレス704とによって指定された領域に記憶される。
0075 図8は、RAIDグループ情報502の一例を示す。RAIDグループ情報502は、RAIDグループ名801、媒体名802、RAIDレベル803、媒体種別804、および容量805の各列を含む。RAIDグループ名801は、RAIDグループの名前を示す。媒体名802は、RAIDグループ名801によって指定されたRAIDグループを備えた媒体を示す。RAIDレベル803は、RAIDグループ名801によって指定されたRAIDグループのRAIDレベルを示す。媒体種別804は、RAIDグループ名801によって指定されたRAIDグループの媒体種別を示す。容量805は、RAIDグループ名801によって指定されたRAIDグループの容量を示す。RAIDグループRG A、RG B、およびRG Cの例が行806、807、および808に示されている。
0076 図9は、論理ボリューム情報503の一例を示す。論理ボリューム情報503は、論理ボリューム名901、論理ボリュームアドレス902、RAIDグループ名903、およびRAIDグループアドレス904の各列を含む。論理ボリューム名901と論理ボリュームアドレス902とによって指定された領域は、RAIDグループ名903とRAIDグループアドレス904とによって指定された領域にマッピングされる。論理ボリュームL−VOL A、L−VOL B、およびL−VOL Cの例が行905、906、および907に示されている。
0077 図10は、記憶プール情報504の一例を示す。記憶プール情報504は、記憶装置名1001、記憶プール名1002、論理ボリューム名1003、仮想ボリューム名1004、プール容量1005、および使用済みプール量1006の各列を含む。記憶プール情報504は、記憶プール名1002が記憶装置名1001によって指定された記憶サブシステム上に位置付けられ、論理ボリューム名1003よって指定された論理ボリュームを備え、仮想ボリューム名1004によって指定された仮想ボリュームを有することを示している。プール容量1005は、記憶プール名1002によって指定された記憶プールの容量を示す。使用済みプール量1006は、記憶プール名1002によって指定された記憶プールの使用済み量を示す。記憶装置Aおよび記憶装置Bの例が、行1007および1008に示されている。
0078 図11は、仮想ボリューム情報505の一例を示す。仮想ボリューム情報505は、仮想ボリュームページ番号1101、仮想ボリューム名1102、仮想ボリュームアドレス1103、論理ボリュームページ番号1104、論理ボリューム名1105、論理ボリュームアドレス1106、アクセス回数1107、および固定済み1108の各列を含む。仮想ボリュームページ番号1101は、仮想ボリューム名1102と仮想ボリュームアドレス1103とによって指定されたページを示す。論理ボリュームページ番号1104は、論理ボリューム名1105と論理ボリュームアドレス1106とによって指定されたページを示す。仮想ボリュームページ番号1101によって指定されたページは、論理ボリュームページ番号1104によって指定されたページにマッピングされる。アクセス回数1107は、仮想ボリュームページ番号1101によって指定されたページへのアクセス回数を示す。固定済み1108の列は、仮想ボリュームページ番号1101によって指定されたページが固定済みであるかどうかのステータスを示す。固定済み1108が「×」の場合、仮想ボリュームページ番号1101によって指定されたページは固定されており、ページ移動プログラム507はそのページを別の階層に移動しない。仮想ボリュームページ番号ページ0、ページ1、ページ2、ページ3、およびページ4の例が行1109、1110、1111、1112、および1113に示されている。
0079
図12は、階層定義情報506の一例を示す。階層定義情報506は、階層1201、媒体種別1202、圧縮1203、非二重化1204、およびデフォルト階層1205の各列を含む。媒体種別1202は、階層1201によって指定された階層の媒体を示す。圧縮1203が「×」の場合、ディスク制御プログラム501は、データを論理ボリュームに書き込むときにデータを圧縮し、当該データを論理ボリュームから読み出すときに伸長する。非二重化1204が「×」の場合、ディスク制御プログラム501は、データを論理ボリュームに書き込むときにデータを非二重化し、当該データを論理ボリュームから読み出すときにデータの非二重化を解除する。「階層4」および「階層5」は、「階層3」と同じ媒体であり、圧縮および伸長プロセスのために「階層3」より低速であるが、「階層3」より大きなデータを格納できる。デフォルト階層1205が「×」の場合、階層1201によって指定された階層は、ディスク制御プログラム501によって未割り当て領域に割り当てられる。階層1、2、3、4、および5の例が、行1206、1207、1208、1209、および1210に示されている。
0080 図13は、第1実施形態におけるオブジェクト位置ポリシー情報603の一例を示す。オブジェクト位置ポリシー情報603は、オブジェクト名1301およびデータ位置1302の各列を含む。データ位置1302は、オブジェクト名1301によって指定されたオブジェクトの位置を示す。例えば、データ位置1302が「自動」の場合、頻繁にアクセスされるページはより高い階層に移動され、めったにアクセスされないページはより低い階層に移動される。データ位置1302が「自動」でない場合、ページは階層ポリシーによって指定された階層に固定される。データ位置1302が「サーバフラッシュ&階層3」の場合、オブジェクト名1301によって指定されたオブジェクトはフラッシュメモリドライブ306上にキャッシュされ、記憶サブシステム360内の階層3に位置付けられる。オブジェクトA、オブジェクトB、およびオブジェクトCの例が行1303、1304、および1305に示されている。
0081 図14は、第1実施形態におけるオブジェクト位置ポリシー情報入力画面608の一例を示す。オブジェクト位置ポリシー情報入力画面608は、オブジェクト名1401およびデータ位置1402の各列と、OKボタン1403と、キャンセルボタン1404とを含む。管理者は、オブジェクト名1401によって指定したオブジェクトのデータ位置1402を入力し、OKボタン1403をクリックする。
0082 図15は、読み出しコマンド1500の一例を示す。読み出しコマンド1500は、コマンド種別1501と、ボリューム名1502と、ボリュームアドレス1503とを含む。アプリケーションプログラム402は、ボリューム名1502とボリュームアドレス1503とによって指定された領域を読み出すために、読み出しコマンド1500を記憶サブシステム360に送る。
0083 図16は、書き込みコマンド1600の一例を示す。書き込みコマンド1600は、コマンド種別1601と、ボリューム名1602と、ボリュームアドレス1603と、データ1604とを含む。アプリケーションプログラム402は、データ1604によって指定されたデータをボリューム名1602とボリュームアドレス1603とによって指定された領域に書き込むために、書き込みコマンド1600を記憶サブシステム360に送る。
0084 図17は、フラッシュキャッシュコマンド1700の一例を示す。フラッシュキャッシュコマンド1700は、コマンド種別1701と、オブジェクト名1702と、フラッシュキャッシュ1703とを含む。位置管理プログラム602は、オブジェクトをフラッシュキャッシュドライブ(フラッシュメモリドライブ)306にキャッシュするために、および、フラッシュキャッシュドライブ(フラッシュメモリドライブ)306上のオブジェクトをアンキャッシュするために、フラッシュキャッシュコマンド1700をアプリケーションサーバ300に送る。フラッシュキャッシュ1703が「オン」の場合、アプリケーションプログラム402は、オブジェクト名1702によって指定されたオブジェクトをフラッシュメモリドライブ306にキャッシュする。フラッシュキャッシュ1703が「オフ」の場合、アプリケーションプログラム402は、オブジェクト名1702によって指定されたオブジェクトをフラッシュメモリドライブ306から解放する。
0085 図18は、フラッシュキャッシュコマンドへの応答1800の一例を示す。フラッシュキャッシュコマンドへの応答1800は、コマンド種別1801と、オブジェクト名1802と、ステータス1803とを含む。アプリケーションプログラム402は、フラッシュキャッシュコマンド1700の結果を返すために、フラッシュキャッシュコマンドへの応答1800を管理サーバ380に送る。ステータス1803が「キャッシュ済み」の場合、オブジェクト名1802によって指定されたオブジェクトはフラッシュメモリドライブ306上にキャッシュされている。ステータス1803が「未キャッシュ」の場合、オブジェクト名1802によって指定されたオブジェクトはフラッシュメモリドライブ306上にキャッシュされていない。
0086 図19は、ページ固定コマンド1900の一例を示す。ページ固定コマンド1900は、コマンド種別1901と、ページ名1902と、階層1903と、キャッシュ1904とを含む。位置管理プログラム602は、オブジェクトを指定された階層に固定するために、および、オブジェクトの固定を解除するために、ページ固定コマンド1900を記憶サブシステム360に送る。階層1903が「階層3」の場合、ページ名1902によって指定されたページは、「階層3」に固定される。階層1903が「自動」の場合、ページ名1902によって指定されたページは固定されず、これらのページへのI/O回数に基づき該当する階層に移動される。キャッシュ1904が「YES」の場合、ディスク制御プログラム501はページ名1902によって指定されたページを階層1903によって指定された階層に移動するとき、ディスク制御プログラム501はデータをキャッシュ508にキャッシュする。キャッシュ1904が「NO」の場合、オブジェクトはアプリケーションサーバ300上のフラッシュメモリドライブ306上に既にキャッシュされており、また当該オブジェクトを記憶しているページへのアプリケーションサーバ300からの読み出しコマンド1500がないため、ディスク制御プログラム50はページ名1902によって指定されたページを階層1903によって指定された階層に移動するとき、ディスク制御プログラム501はデータをキャッシュ508にキャッシュしない。
0087 B.処理の流れ
0088 図20は、ディスク制御プログラム501が読み出しコマンド1500または書き込みコマンド1600をアプリケーションプログラム402から受け取り、ディスク制御プログラム501が読み出しまたは書き込み結果をアプリケーションプログラム402に送ることを示す流れ図の一例である。ステップ2001において、ディスク制御プログラム501は読み出しコマンド1500または書き込みコマンド1600をアプリケーションプログラム402から受け取る。判定ステップ2002において、ディスク制御プログラム501がステップ2001で受け取ったコマンドが書き込みコマンド1600である場合、処理は判定ステップ2003に進み、そうでない場合は、処理は判定ステップ2006に進む。判定ステップ2003において、書き込みコマンド1600のボリューム名1602とボリュームアドレス1603とによって指定された領域が仮想ボリューム情報505内で割り当てられている場合は、処理はステップ2005に進み、そうでない場合は、処理はステップ2004に進む。ステップ2004において、ディスク制御プログラム501は、媒体種別が階層定義情報506内のデフォルト階層1205によって指定され、かつボリューム名1602によって指定されたボリュームを有するプールに含まれている論理ボリュームの未割り当て領域をボリューム名1602とボリュームアドレス1603とによって指定された領域に割り当て、仮想ボリューム情報505を更新する。ステップ2005において、ディスク制御プログラム501は、ボリューム名1602とボリュームアドレス1603とを書き込みコマンド1600から取得し、論理ボリューム名1105と論理ボリュームアドレス1106とを仮想ボリューム情報505から取得し、RAIDグループ名903とRAIDグループアドレス904とを論理ボリューム情報503から取得し、書き込みコマンド1600内のデータ1604をRAIDグループ名903とRAIDグループアドレス904とによって指定された領域に書き込む。判定ステップ2006において、読み出しコマンド1500のボリューム名1502とボリュームアドレス1503とによって指定された領域が仮想ボリューム情報505内で割り当てられている場合は、処理はステップ2008に進み、そうでない場合は、処理はステップ2007に進む。ステップ2007において、ボリューム名1502とボリュームアドレス1503とによって指定された領域に書き込まれていないので、ディスク制御プログラム501は「0」をアプリケーションサーバ300に返す。ステップ2008において、ディスク制御プログラム501はボリューム名1502とボリュームアドレス1503とを読み出しコマンド1500から取得し、論理ボリューム名1105と論理ボリュームアドレス1106とを仮想ボリューム情報505から取得し、RAIDグループ名903とRAIDグループアドレス904とを論理ボリューム情報503から取得し、RAIDグループ名903とRAIDグループアドレス904とによって指定された領域を読み出し、当該データを返す。ステップ2009において、ディスク制御プログラム501がステップ2001で受け取ったコマンドが書き込みコマンド1600であった場合は、ディスク制御プログラム501は、書き込みコマンド1600内のボリューム名1602とボリュームアドレス1603とによって指定された行のアクセス回数1107を「1」だけインクリメントし、そうでなかった場合は、ディスク制御プログラム501は、読み出しコマンド1500内のボリューム名1502とボリュームアドレス1503とによって指定された行のアクセス回数1107を「1」だけインクリメントする。
0089 図21は、ページを移動するためのページ移動プログラム507の処理を説明する流れ図の一例である。ページ移動プログラム507は、頻繁にアクセスされるページをより高い階層に、めったにアクセスされないページをより低い階層に、定期的に移動する。この実施形態においては、階層定義情報506に定義されているように、3つの階層があり、階層1は最も高い階層であり、階層3は最も低い階層である。ステップ2101において、ページ移動プログラム507はアクセス回数1107を仮想ボリューム情報505から取得する。ステップ2102において、ページ移動プログラム507は各階層の容量をRAIDグループ情報502と、論理ボリューム情報503と、記憶プール情報504とに基づき計算し、固定済み1108がチェックされているページ以外のページを大きいものから順に階層容量の大きい順に階層に割り当てると共に、別の階層に移動すべきページを決定する。ステップ2103において、ページ移動プログラム507は、ステップ2102で移動が決定されたページをステップ2102で指定された階層に移動し、仮想ボリューム情報505を更新する。
0090 図22は、管理者がオブジェクト位置ポリシー情報603を第1実施形態のオブジェクト位置ポリシー情報入力画面608から入力したときに、データを移動するための位置管理プログラム602の処理を説明する流れ図の一例である。ステップ2201において、管理者は、オブジェクト位置ポリシー情報603をオブジェクト位置ポリシー情報入力画面608から入力する。ステップ2202において、位置管理プログラム602は、フラッシュキャッシュコマンド1700をアプリケーションサーバ300に送信する。このコマンド内のオブジェクト名1702は、データ位置1302が「サーバフラッシュ」であり、フラッシュキャッシュ1703が「オン」であるオブジェクトに対するものである。ステップ2203において、アプリケーションプログラム402は、フラッシュキャッシュコマンド1700によって指定されたオブジェクトを読み出し、これらのオブジェクトをフラッシュメモリドライブ306にキャッシュするためにこのオブジェクトをフラッシュメモリドライブ306に書き込む。ステップ2204において、アプリケーションプログラム402はフラッシュキャッシュコマンドへの応答1800を送信する。この応答内のオブジェクト名1802はステップ2203でキャッシュされたオブジェクトに対するものであり、ステータス1803は「キャッシュ済み」である。ステップ2205において、情報取得プログラム601は、オブジェクト位置情報403をアプリケーションサーバ300から取得する。ステップ2206において、位置管理プログラム602は、オブジェクト位置ポリシー情報603内のデータ位置1302が「自動」でないオブジェクト名を取得し、これらのオブジェクトのデータを記憶するページ番号をオブジェクト位置情報403と仮想ボリューム情報505とから取得する。ステップ2207において、位置管理プログラム602は、ページ固定コマンド1900を送信する。このコマンドのページ名1902は、ステップ2206で取得したページに対するものであり、階層1903は、データ位置1302が「階層1」、「階層2」、または「階層3」である場合は、オブジェクト位置ポリシー情報603によって指定された階層であり、データ位置1302が「サーバフラッシュ」である場合は、階層1903はより低い階層、例えば「階層3」など、である。フラッシュメモリドライブおよびSSDは、SAS HDDおよびSATA HDDより高速かつより高価であるため、フラッシュメモリドライブ306にキャッシュされたオブジェクトは、「階層2」または「階層3」など、より低い階層に移動されるべきである。データ位置1302が「サーバフラッシュ」の場合は、キャッシュ1904は「NO」であり、そうでない場合は、キャッシュ1904は「YES」である。
0091 第2実施形態
0092 図23は、第2実施形態による図3のアプリケーションサーバ300内のメモリ302の一例を示す。メモリ302は、OS(Operating System)プログラム401と、アプリケーションプログラム402と、オブジェクト位置情報403と、(図4の第1実施形態にはない)オブジェクト性能情報2301とを備える。
0093 図24は、第2実施形態による図3の管理サーバ380内のメモリ382の一例を示す。メモリ382は、情報取得プログラム601と、位置管理プログラム602と、(図6の第1実施形態におけるオブジェクト位置ポリシー情報603およびオブジェクト位置ポリシー情報入力画面604の代わりに)媒体容量情報2401とを備える。
0094 図25は、第2実施形態におけるオブジェクト性能情報2301の一例を示す。オブジェクト性能情報2301は、オブジェクト名2501、オブジェクトサイズ2502、I/O回数2503、およびオブジェクトサイズ当たりのI/O2504の各列を含む。オブジェクトサイズ2502は、オブジェクト名2501によって指定されたオブジェクトのサイズを示す。I/O回数2503は、オブジェクト名2501によって指定されたオブジェクトへの1秒当たりのI/O回数を示す。オブジェクトサイズ当たりのI/O2504は、I/O回数2503をオブジェクトサイズ2502で割った商であるI/O密度を示す。オブジェクトA、オブジェクトB、およびオブジェクトCの例が行2505、2506、および2507に示されている。
0095 図26は、第2実施形態における媒体容量情報2401の一例を示す。媒体容量情報2401は、媒体名2601および容量2602の各列を含む。容量2602は、媒体名2601によって指定された媒体の容量を示す。階層1、階層2、階層3、およびサーバフラッシュの例が行2603、2604、2605、および2606に示されている。「階層1」、「階層2」、および「階層3」の各々は、記憶サブシステム360内の容量を示し、「サーバフラッシュ」は、フラッシュメモリドライブ306の容量を示している。
0096 図27は、第2実施形態において各オブジェクトへのI/O回数に基づきデータを移動するための位置管理プログラム602の処理を説明する流れ図の一例である。このフローは、定期的に、例えば毎時または毎日、実行される。ステップ2701において、情報取得プログラム601は、オブジェクト位置情報403とオブジェクト性能情報2301とをアプリケーションサーバ300から取得する。ステップ2702において、位置管理プログラム602は各オブジェクトのデータ位置を計算する。フラッシュメモリドライブ306上に空き領域がある間は、アクセス回数が最も多いオブジェクトはフラッシュメモリドライブ306上にキャッシュされると共に、より低い階層に移動される。その他のオブジェクトは、オブジェクトサイズ当たりのI/O2504に従って、I/O回数の多いものから順番により高い階層に移動される。位置管理プログラム602は、オブジェクトサイズ当たりのI/O2504とオブジェクト位置情報403とに基づき、各ページの移動先の階層を計算する。ステップ2703において、位置管理プログラム602はフラッシュキャッシュコマンド1700を送信する。このコマンド内のオブジェクト名1702は、ステップ2702でキャッシュされることが決まったオブジェクトに対するものである。ステップ2704において、アプリケーションプログラム402は、フラッシュキャッシュコマンド1700によって指定されたオブジェクトを読み出し、これらのオブジェクトをフラッシュメモリドライブ306にキャッシュするために、これらのオブジェクトをフラッシュメモリドライブ306に書き込む。ステップ2705において、アプリケーションプログラム402はフラッシュキャッシュコマンドへの応答1800を送信する。この応答内のオブジェクト名1802はステップ2704でキャッシュされたオブジェクトに対するものであり、ステータス1803は「キャッシュ済み」である。ステップ2706において、位置管理プログラム602はページ固定コマンド1900を送信する。このコマンド内のページ名1902は、ステップ2702で取得したページに対するものであり、階層1903はステップ2702で取得した階層である。
0097 第3実施形態
0098 図28は、第3実施形態による図3のアプリケーションサーバ300内のメモリ302の一例を示す。メモリ302は、OS(Operating System)プログラム401と、アプリケーションプログラム402と、プログラムアクセス情報2801とを備える。
0099 図29は、第3実施形態による図3の管理サーバ380内のメモリ382の一例を示す。メモリ382は、情報取得プログラム601と、位置管理プログラム602と、プログラムデータ位置ポリシー情報2901と、プログラムデータ位置ポリシー情報入力画面2902とを備える。
0100 図30は、第3実施形態におけるプログラムアクセス情報2801の一例を示す。プログラムアクセス情報2801は、プログラム名3001、ボリューム名3002、およびボリュームアドレス3003の各列を含む。プログラムアクセス情報2801は、ボリューム名3002とボリュームアドレス3003とによって指定された領域にアクセスする、プログラム名3001によって指定されたプログラムを示す。プログラムA、プログラムB、およびプログラムCの例が行3004、3005、および3006に示されている。
0101 図31は、第3実施形態におけるプログラムデータ位置ポリシー情報2901の一例を示す。プログラムデータ位置ポリシー情報2901は、プログラム名3101およびデータ位置1302の各列を含む。プログラムデータ位置ポリシー情報2901は、データ位置3102によって指定された位置に位置付けられるべきである、プログラム名3101によって指定されたプログラムによってアクセスされる領域を示す。プログラムA、プログラムB、およびプログラムCの例が行3103、3104、および3105に示されている。
0102 図32は、第3実施形態におけるプログラムデータ位置ポリシー情報入力画面2902の一例を示す。プログラムデータ位置ポリシー情報入力画面2902は、プログラム名3201と、データ位置3202と、OKボタン3203と、キャンセルボタン3204とを含む。管理者は、プログラム名3201によって指定したプログラムのデータ位置3202を入力し、OKボタン3203をクリックする。
0103 図33は、管理者がプログラムデータ位置ポリシー情報2901を第3実施形態のプログラムデータ位置ポリシー情報入力画面2902から入力したときにデータを移動するための位置管理プログラム602の処理を説明する流れ図の一例である。このフローは、定期的に、例えば毎時または毎日、実行される。ステップ3301において、情報取得プログラム601は、プログラムアクセス情報2801をアプリケーションサーバ300から取得する。ステップ3302において、位置管理プログラム602は、仮想ボリューム情報505と、プログラムアクセス情報2801と、プログラムデータ位置ポリシー情報2901とに基づき、各ページの移動先の位置を計算する。データ位置3102において複数のプログラムによってアクセスされる複数のページは、「サーバフラッシュ」を含む。「サーバフラッシュ」は、フラッシュメモリドライブ306上にキャッシュされると共に、より低い階層に移動されるべきである。その他のページは、プログラムデータ位置ポリシー情報2901によって指定された階層に移動されるべきである。ステップ3303において、位置管理プログラム602はフラッシュキャッシュコマンド1700を送信する。このコマンド内のオブジェクト名1702は、ステップ3302でキャッシュされることが決まったオブジェクトに対するものである。ステップ3304において、アプリケーションプログラム402は、フラッシュキャッシュコマンド1700によって指定されたオブジェクトを読み出し、これらのオブジェクトをフラッシュメモリドライブ306にキャッシュするために、これらのオブジェクトをフラッシュメモリドライブ306に書き込む。ステップ3305において、アプリケーションプログラム402はフラッシュキャッシュコマンドへの応答1800を送信する。この応答内のオブジェクト名1802はステップ3303でキャッシュされたオブジェクトに対するものであり、ステータス1803は「キャッシュ済み」である。ステップ3306において、位置管理プログラム602はページ固定コマンド1900を送信する。このコマンド内のページ名1902はステップ3302で取得したページに対するものであり、階層1903はステップ3302で取得した階層である。
0104 第4実施形態
0105 図34は、第4実施形態による図3のアプリケーションサーバ300内のメモリ302の一例を示す。メモリ302は、OS(Operating System)プログラム401と、アプリケーションプログラム402と、キャッシュプログラム3401とを備える。
0106 図35は、第4実施形態による図3の管理サーバ380内のメモリ382の一例を示す。メモリ382は、情報取得プログラム3501と、位置管理プログラム3502と、(第4実施形態において新規である)ページ位置管理情報3503と、(図24の第2実施形態のものと同じ)媒体容量情報2401とを備える。
0107 図36は、第4実施形態におけるページ位置管理情報3503の一例を示す。ページ位置管理情報3503は、ページ番号3601、24時間当たりのアクセス回数3602、最小データ位置3603、1時間当たりのアクセス回数3604、およびデータ位置3605の各列を含む。位置管理プログラム3502は、仮想ボリューム情報505を取得し、ページ位置管理情報3503を作成する。ページ番号3601は、(ページ番号、例えば、ページ0、ページ1など、によって識別されるような)ページの名前を示す。ページ0乃至ページ9の例が行3606乃至3615に示されている。24時間当たりのアクセス回数3602は、ページ番号3601によって指定されたページへの昨日の午前0:00から今日の午前0:00までの24時間におけるアクセス回数を示す。最小データ位置3603は、ページ番号3601によって指定された複数のページの位置を示す。複数のページは、最小データ位置3603によって指定された位置、またはこれより良い位置、に割り当てられる。最小データ位置3603が「階層2」であれば、「サーバフラッシュ」、「階層1」、または「階層2」が当該ページに割り当てられる。位置管理プログラム3502は、24時間当たりのアクセス回数3602に基づき、最小データ位置3603を24時間毎に決定する。1時間当たりのアクセス回数3604は、ページ番号3601によって指定されたページへの最近1時間におけるアクセス回数を示す。位置管理プログラム3502は、最小データ位置3603と1時間当たりのアクセス回数3604とに基づき、データ位置3605を1時間毎に決定する。アクセス回数がより多いページは、より高い階層に割り当てられる。アクセス回数がより少ないページは、より低い階層および最小データ位置3603以上の階層に割り当てられる。
0108 図37は、第4実施形態におけるページフラッシュキャッシュコマンド3700の一例を示す。ページフラッシュキャッシュコマンド3700は、コマンド種別3701と、ページ名3702と、フラッシュキャッシュ3703とを含む。位置管理プログラム3502は、フラッシュキャッシュドライブ306にページをキャッシュするために、および、フラッシュキャッシュドライブ306上のページをアンキャッシュするために、ページフラッシュキャッシュコマンド3700をアプリケーションサーバ300に送る。フラッシュキャッシュ3703が「オン」(行3704)の場合、キャッシュプログラム3401は、ページ名3702によって指定されたページをフラッシュメモリドライブ306にキャッシュする。フラッシュキャッシュ3703が「オフ」(行3705)の場合、キャッシュプログラム3401は、ページ名3702によって指定されたページをフラッシュメモリドライブ306から解放する。アプリケーションプログラム402がデータを読み出すとき、そのデータがキャッシュプログラム3401によってフラッシュメモリドライブ306にキャッシュされている場合、アプリケーションプログラム402はそのデータを、記憶サブシステム360からではなく、フラッシュメモリドライブ306から読み出す。
0109 図38は、第4実施形態におけるページフラッシュキャッシュコマンドへの応答3800の一例を示す。ページフラッシュキャッシュコマンドへの応答3800は、コマンド種別3801と、ページ名3802と、ステータス3803とを含む。キャッシュプログラム3401は、ページフラッシュキャッシュコマンド3700の結果を返すために、ページフラッシュキャッシュコマンドへの応答3800を管理サーバ380に送る。ステータス3803が「キャッシュ済み」(行3804)の場合、ページ名3802によって指定されたページはフラッシュメモリドライブ306上にキャッシュされている。ステータス3803が「未キャッシュ」(行3805)の場合、ページ名3802によって指定されたページはフラッシュメモリドライブ306上にキャッシュされていない。
0110 図39は、第4実施形態においてページへのアクセス回数に基づきデータを移動するための位置管理プログラム3502の処理を説明する流れ図の一例である。このフローは毎時実行される。ステップ3901において、情報取得プログラム3501は、仮想ボリューム情報505を記憶サブシステム360から取得し、ページ位置管理情報3503内の1時間当たりのアクセス回数3604を毎時更新し、ページ位置管理情報3503内の24時間当たりのアクセス回数3602を24時間毎に更新する。ステップ3902において、位置管理プログラム602は、最小データ位置3603とデータ位置3605とを計算する。位置管理プログラム602が24時間当たりのアクセス回数3602を更新した場合は、位置管理プログラム602は、24時間のアクセス回数と媒体容量情報2401とに基づき、最小データ位置3603を計算する。位置管理プログラム3502は、1時間当たりのアクセス回数3604と、最小データ位置3603と、媒体容量情報2401とに基づき、データ位置3605を計算する。位置管理プログラム3502は、24時間当たりのアクセス回数3602に基づき各階層の半分の容量を割り当て、1時間当たりのアクセス回数3604に基づき各階層の残りの半分の容量を割り当てる。ステップ3903において、位置管理プログラム602はページフラッシュキャッシュコマンド3700を送信する。このコマンド内のページ名3702は、ステップ3902でキャッシュされることが決まったページに対するものである。ステップ3904において、アプリケーションプログラムは、ページフラッシュキャッシュコマンド3700によって指定されたページを読み出し、これらのページをフラッシュメモリドライブ306にキャッシュするために、これらのページをフラッシュメモリドライブ306に書き込む。ステップ3905において、アプリケーションプログラム402はページフラッシュキャッシュコマンドへの応答3800を送信する。この応答内のページ名3802はステップ3903でキャッシュされたページに対するものであり、ステータス3803は「キャッシュ済み」である。ステップ3906において、位置管理プログラム602はページ固定コマンド1900を送信する。このコマンド内のページ名1902は、ステップ3902で取得したページに対するものであり、階層1903はステップ3902で取得した階層である。
0111 もちろん、図3に例示されているシステム構成は、本発明が実現される情報システムの単なる例示であり、本発明は特定のハードウェア構成に限定されない。本発明を実現するコンピュータおよび記憶システムは、上記発明を実現するために使用されるモジュール、プログラム、およびデータ構造を記憶および読み出し可能な公知のI/O装置(例えば、CDおよびDVDドライブ、フロッピー(登録商標)ディスクドライブ、ハードドライブなど)を有することも可能である。これらのモジュール、プログラム、およびデータ構造は、このようなコンピュータ可読媒体上で符号化可能である。例えば、本発明のデータ構造は、本発明で用いられるプログラムが常駐する1つ以上のコンピュータ可読媒体から独立したコンピュータ可読媒体上に記憶可能である。本システムの各構成要素は、何れかのデジタルデータ通信形態または媒体、例えば通信網、によって相互接続可能である。通信網の例として、ローカルエリアネットワーク、ワイドエリアネットワーク、例えばインターネット、ワイヤレスネットワーク、ストレージエリアネットワークなどが挙げられる。
0112 本明細書においては、本発明の完全な理解をもたらす目的のために、数多くの詳細な説明が述べられている。ただし、本発明を実施するためにこれらの具体的詳細の全てが必要であるとは限らないことは当業者には明らかであろう。さらに、本発明は、通常、フローチャート、流れ図、構造図、またはブロック図として表現されるプロセスとして記述されうる。フローチャートは複数の動作を逐次プロセスとして記述しうるが、これらの動作の多くは並列または同時に実施可能である。また、動作の順番は並べ替えられうる。
0113 当該技術分野において公知のように、上記の動作はハードウェア、ソフトウェア、またはソフトウェアとハードウェアの何らかの組み合わせによって実施可能である。本発明の実施形態のさまざまな態様は、回路および論理デバイス(ハードウェア)を用いて実現されうるが、他の態様は、プロセッサによって実行された場合に本発明の実施形態を実行するための方法をプロセッサに行わせる、マシン可読媒体上に記憶された複数の命令(ソフトウェア)を用いて実現されうる。さらに、本発明の一部の実施形態は、ハードウェアにおいてのみ実施されうる一方で、他の実施形態はソフトウェアにおいてのみ実施されうる。さらに、記載されているさまざまな機能は、単一ユニットにおいて実施可能であるが、あるいはいくつかの構成要素に何通りにでも分散可能である。ソフトウェアによって実施された場合、各方法は、コンピュータ可読媒体に記憶された複数の命令に基づき、汎用コンピュータなどのプロセッサによって実行されうる。必要であれば、これらの命令を圧縮された、および/または暗号化された、形式で媒体に記憶させることができる。
0114 上記説明から、本発明は、データ位置管理のための方法、装置、およびコンピュータ可読媒体に記憶されたプログラムを提供することは明らかであろう。また、本明細書においては具体的な実施形態を例示および説明してきたが、開示された具体的な実施形態の代わりに、同じ目的を達成するために考案された如何なる構成でも使用しうることを当業者は理解するであろう。本開示は、本発明のありとあらゆる適合例または変形例を網羅することを意図しており、添付の特許請求の範囲で使用されている用語は、本発明を本明細書に開示された具体的実施形態に限定するものと解釈されるべきではないことを理解されたい。むしろ、本発明の範囲は、添付の特許請求の範囲によってのみ決定されるものとし、添付の特許請求の範囲は、このような請求項が該当するあらゆる均等物と共に、確立されている請求項解釈の原則に従って解釈されるものとする。
300 アプリケーションサーバ
306 フラッシュメモリドライブ
360 記憶サブシステム
380 管理サーバ
402 アプリケーションプログラム
506 階層定義情報
603 オブジェクト位置ポリシー情報
1900 ページ固定コマンド
3503 ページ位置管理情報

Claims (20)

  1. サーバに接続可能であり、かつ複数の記憶階層を管理可能な記憶システムであって、前記複数の記憶階層の各々は前記サーバから送られてきたデータを記憶可能である、記憶システムと、
    データが前記サーバ内のキャッシュメモリに記憶されているか否かに基づき前記データを記憶するために、前記複数の記憶階層のうちの一記憶階層を管理可能な管理コンピュータと、
    を備えたシステム。
  2. 前記記憶システムは、前記データの位置ポリシーに基づき前記複数の記憶階層から選択された位置におけるデータの記憶を管理するための記憶制御装置を備える、
    請求項1に記載のシステム。
  3. 前記複数の記憶階層はより低い階層とより高い階層とを含み、前記より高い階層は前記より低い階層より高速の記憶媒体を有し、
    前記管理コンピュータは、データが前記サーバのキャッシュメモリに記憶されている場合には、前記データが前記記憶システムの前記より低い階層に記憶されるように、前記記憶システムにおけるデータの記憶を管理することができる、
    請求項1に記載のシステム。
  4. 前記記憶システムは、複数のデータオブジェクトを記憶するために前記複数の記憶階層を管理するように構成され、
    前記管理コンピュータは、データオブジェクトのデータが前記サーバのキャッシュメモリに記憶されている場合には、前記データオブジェクトが前記記憶システムの前記より低い階層に記憶されるように、前記記憶システムにおけるデータオブジェクトの記憶を管理するように構成される、
    請求項3に記載のシステム。
  5. 前記管理コンピュータは、データが前記サーバの前記キャッシュメモリに記憶されている場合には、前記記憶対象データを前記記憶システムの前記より低い階層に固定することができ、
    前記記憶システムは、データが前記サーバの前記キャッシュメモリに記憶されていない場合には、前記データに対して事前に設定された位置ポリシーに基づき前記複数の記憶階層から選択された位置における前記データの記憶を管理するように構成された記憶制御装置を備える、
    請求項3に記載のシステム。
  6. 前記記憶システムは、複数のデータオブジェクトを記憶するために前記複数の記憶階層を管理するように構成され、
    前記管理コンピュータは、データオブジェクトが前記サーバの前記キャッシュメモリに記憶されている場合には、前記記憶対象データオブジェクトを前記記憶システムの前記より低い階層に固定することができ、
    前記記憶システムは、データオブジェクトが前記サーバの前記キャッシュメモリに記憶されていない場合には、前記データオブジェクトへのアクセス回数に基づき前記複数の記憶階層から選択された位置における前記データオブジェクトの記憶を管理するように構成された記憶制御装置を備える、
    請求項3に記載のシステム。
  7. 前記管理コンピュータは、データが前記サーバの前記キャッシュメモリに記憶されている場合には、前記記憶対象データを前記記憶システムの前記より低い階層に固定することができ、
    前記記憶システムは、データが前記サーバの前記キャッシュメモリに記憶されていない場合には、複数のコンピュータプログラムのうち前記データにアクセスするコンピュータプログラムに応じてデータを位置付けるために、階層選択を指定するプログラムデータ位置ポリシーに基づき前記複数の記憶階層から選択された位置における前記データの記憶を管理するように構成された記憶制御装置を備える、
    請求項3に記載のシステム。
  8. 前記記憶システムは、データをボリュームページ単位で記憶するために前記複数の記憶階層を管理するように構成され、
    前記管理コンピュータは、ボリュームページが前記サーバの前記キャッシュメモリに記憶されている場合には、前記記憶対象ボリュームページを前記記憶システムの前記より低い階層に固定することができ、
    前記記憶システムは、ボリュームページが前記サーバの前記キャッシュメモリに記憶されていない場合には、前記ボリュームページへのアクセス回数に基づき前記複数の記憶階層から選択された位置における前記ボリュームページの記憶を管理するように構成された記憶制御装置を備える、
    請求項3に記載のシステム。
  9. サーバに接続され、前記サーバから送られてきたデータを各々が記憶可能な複数の記憶階層を管理する記憶システムにおいてデータの記憶を管理するための管理コンピュータであって、
    プロセッサと、
    メモリと、
    データが前記サーバのキャッシュメモリに記憶されているか否かに基づき前記データを記憶するために、前記複数の記憶階層のうちの一記憶階層を管理するためのモジュールと、
    を備える管理コンピュータ。
  10. 前記モジュールは、位置ポリシーの入力を受け付け、データに対する前記位置ポリシーに基づき前記記憶システム内の前記複数の記憶階層から選択された位置における前記データの記憶を管理するように構成される、
    請求項9に記載の管理コンピュータ。
  11. 前記モジュールは、前記サーバの前記キャッシュメモリのステータスをチェックするためのコマンドを前記サーバに送り、前記記憶システムに記憶される何れかのデータが前記キャッシュメモリに記憶されているかどうかを判定するように構成される、
    請求項9に記載の管理コンピュータ。

  12. 前記複数の記憶階層はより低い階層とより高い階層とを含み、前記より高い階層は前記より低い階層より高速の記憶媒体を有し、
    前記モジュールは、データが前記サーバのキャッシュメモリに記憶されている場合には、前記データが前記記憶システムの前記より低い階層に記憶されるように、前記記憶システムにおけるデータの記憶を管理するように構成される、
    請求項9に記載の管理コンピュータ。
  13. 前記モジュールは、前記記憶システムに記憶されるデータが前記サーバの前記キャッシュメモリに記憶されている場合には、前記データを前記記憶システムの前記より低い階層に記憶するためのコマンドを前記記憶システムに送るように構成される、
    請求項12に記載の管理コンピュータ。
  14. サーバに接続され、前記サーバから送られてきたデータを各々が記憶可能な複数の記憶階層を管理する記憶システムにおいてデータの記憶を管理するためにデータプロセッサを制御するための複数の命令を記憶しているコンピュータ可読記憶媒体であって、前記複数の命令は、
    前記データが前記サーバのキャッシュメモリに記憶されているか否かに基づきデータを記憶するために、前記複数の記憶階層のうちの一記憶階層を前記データプロセッサに管理させる命令、
    を含む、コンピュータ可読記憶媒体。
  15. 前記複数の命令は、
    位置ポリシーの入力を受け付けるためのユーザインタフェースを前記データプロセッサに提供させる命令と、
    前記データに対する前記位置ポリシーに基づき前記記憶システム内の前記複数の記憶階層から選択された位置におけるデータの記憶を前記データプロセッサに管理させる命令と、
    をさらに含む、請求項14に記載のコンピュータ可読記憶媒体。
  16. 前記複数の記憶階層はより低い階層とより高い階層とを含み、前記より高い階層は前記より低い階層より高速の記憶媒体を有し、
    データを記憶するために前記複数の記憶階層のうちの一記憶階層を前記データプロセッサに管理させる前記命令は、データが前記サーバのキャッシュメモリに記憶されている場合には、前記データが前記記憶システムの前記より低い階層に記憶されるように、前記記憶システムにおけるデータの記憶を前記データプロセッサに管理させる命令を含む、
    請求項14に記載のコンピュータ可読記憶媒体。
  17. 前記記憶システムにおけるデータの記憶を前記データプロセッサに管理させる前記命令は、
    データが前記サーバの前記キャッシュメモリに記憶されている場合には、前記記憶システムの前記より低い階層への前記記憶対象データの固定を前記データプロセッサに行わせる命令と、
    データが前記サーバの前記キャッシュメモリに記憶されていない場合には、前記データに対して事前に設定された位置ポリシーに基づき前記複数の記憶階層から選択された位置における前記データの記憶を前記データプロセッサに管理させる命令と、
    を含む、請求項16に記載のコンピュータ可読記憶媒体。
  18. 前記記憶システムにおけるデータの記憶を前記データプロセッサに管理させる前記命令は、
    データオブジェクトが前記サーバのキャッシュメモリに記憶されている場合には、前記記憶システムの前記より低い階層への前記記憶対象データオブジェクトの固定を前記データプロセッサに行わせる命令と、
    データオブジェクトが前記サーバの前記キャッシュメモリに記憶されていない場合には、前記データオブジェクトへのアクセス回数に基づき前記複数の記憶階層から選択された位置における前記データオブジェクトの記憶を前記データプロセッサに管理させる命令と、
    を含む、請求項16に記載のコンピュータ可読記憶媒体。
  19. 前記記憶システムにおけるデータの記憶を前記データプロセッサに管理させる前記命令は、
    データが前記サーバのキャッシュメモリに記憶されている場合には、前記記憶システムの前記より低い階層への前記記憶対象データの固定を前記データプロセッサに行わせる命令と、
    データが前記サーバの前記キャッシュメモリに記憶されていない場合には、複数のコンピュータプログラムのうち、前記データにアクセスするコンピュータプログラムに応じてデータを位置付けるために、階層選択を指定するプログラムデータ位置ポリシーに基づき前記複数の記憶階層から選択された位置における前記データの記憶を前記データプロセッサに管理させる命令と、
    を含む、請求項16に記載のコンピュータ可読記憶媒体。
  20. 前記データはボリュームページ単位で前記記憶システムに記憶され、前記記憶システムにおけるデータの記憶を前記データプロセッサに管理させる前記命令は、
    前記ボリュームページが前記サーバのキャッシュメモリに記憶されている場合には、前記記憶システムの前記より低い階層への前記記憶対象ボリュームページの固定を前記データプロセッサに行わせる命令と、
    前記ボリュームページが前記サーバの前記キャッシュメモリに記憶されていない場合には、前記ボリュームページへのアクセス回数に基づき前記複数の記憶階層から選択された位置における前記ボリュームページの記憶を前記データプロセッサに管理させる命令と、
    を含む、請求項16に記載のコンピュータ可読記憶媒体。
JP2012253985A 2012-04-18 2012-11-20 データ位置の管理方法および装置 Expired - Fee Related JP5914305B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/449,540 US9092141B2 (en) 2012-04-18 2012-04-18 Method and apparatus to manage data location
US13/449,540 2012-04-18

Publications (3)

Publication Number Publication Date
JP2013222457A true JP2013222457A (ja) 2013-10-28
JP2013222457A5 JP2013222457A5 (ja) 2015-01-08
JP5914305B2 JP5914305B2 (ja) 2016-05-11

Family

ID=49381245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012253985A Expired - Fee Related JP5914305B2 (ja) 2012-04-18 2012-11-20 データ位置の管理方法および装置

Country Status (2)

Country Link
US (1) US9092141B2 (ja)
JP (1) JP5914305B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015087837A (ja) * 2013-10-29 2015-05-07 株式会社日立製作所 計算機システム、及びデータ配置制御方法
WO2016166867A1 (ja) * 2015-04-16 2016-10-20 株式会社日立製作所 計算機システム、及び、リソース制御方法
JP2016184272A (ja) * 2015-03-26 2016-10-20 日本電気株式会社 データベース管理システム、そのバッファリング方法およびコンピュータ・プログラム
JP2018513454A (ja) * 2015-03-20 2018-05-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation カラム・ストアにおける挿入およびポイント・クエリ・オペレーションの効率的パフォーマンス
US10592556B2 (en) 2013-06-14 2020-03-17 International Business Machines Corporation On-the-fly encoding method for efficient grouping and aggregation
US10831736B2 (en) 2015-03-27 2020-11-10 International Business Machines Corporation Fast multi-tier indexing supporting dynamic update
US11061878B2 (en) 2015-03-20 2021-07-13 International Business Machines Corporation Parallel build of non-partitioned join hash tables and non-enforced N:1 join hash tables
US11080260B2 (en) 2015-03-27 2021-08-03 International Business Machines Corporation Concurrent reads and inserts into a data structure without latching or waiting by readers

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9507524B1 (en) 2012-06-15 2016-11-29 Qlogic, Corporation In-band management using an intelligent adapter and methods thereof
WO2015015550A1 (ja) * 2013-07-29 2015-02-05 株式会社日立製作所 計算機システム及び制御方法
US9454305B1 (en) 2014-01-27 2016-09-27 Qlogic, Corporation Method and system for managing storage reservation
US9423980B1 (en) 2014-06-12 2016-08-23 Qlogic, Corporation Methods and systems for automatically adding intelligent storage adapters to a cluster
US9436654B1 (en) 2014-06-23 2016-09-06 Qlogic, Corporation Methods and systems for processing task management functions in a cluster having an intelligent storage adapter
US9477424B1 (en) 2014-07-23 2016-10-25 Qlogic, Corporation Methods and systems for using an intelligent storage adapter for replication in a clustered environment
GB2529670A (en) 2014-08-28 2016-03-02 Ibm Storage system
GB2529669B8 (en) 2014-08-28 2017-03-15 Ibm Storage system
US9460017B1 (en) 2014-09-26 2016-10-04 Qlogic, Corporation Methods and systems for efficient cache mirroring
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10095425B1 (en) * 2014-12-30 2018-10-09 EMC IP Holding Company LLC Techniques for storing data
US9483207B1 (en) 2015-01-09 2016-11-01 Qlogic, Corporation Methods and systems for efficient caching using an intelligent storage adapter
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US20170177224A1 (en) * 2015-12-21 2017-06-22 Oracle International Corporation Dynamic storage transitions employing tiered range volumes
US10075551B1 (en) * 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US10505961B2 (en) 2016-10-05 2019-12-10 Amazon Technologies, Inc. Digitally signed network address
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10613790B1 (en) * 2016-12-30 2020-04-07 EMC IP Holding Company LLC Mitigating flash wear when performing storage tiering
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
CN110413545B (zh) * 2018-04-28 2023-06-20 伊姆西Ip控股有限责任公司 存储管理方法、电子设备和计算机程序产品
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11561695B1 (en) * 2021-07-06 2023-01-24 EMC IP Holding Company LLC Using drive compression in uncompressed tier

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877073A (ja) * 1994-08-31 1996-03-22 Toshiba Corp 集合光ディスク装置
JP2006079273A (ja) * 2004-09-08 2006-03-23 Sony Corp ファイル管理装置、ネットワークシステム、ファイル管理方法及びプログラム
JP2008097225A (ja) * 2006-10-10 2008-04-24 Hitachi Ltd ストレージ装置、制御装置及び制御方法
JP2010176462A (ja) * 2009-01-30 2010-08-12 Dainippon Printing Co Ltd コンテンツ販売システム,コンテンツ配信システム,ストレージ管理装置及びコンテンツ配信方法
JP2011227898A (ja) * 2010-04-19 2011-11-10 Hitachi Ltd 階層情報管理方法及び装置
JP2012533112A (ja) * 2009-07-07 2012-12-20 エルエスアイ コーポレーション 階層不揮発性ストレージのためのシステムおよび方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096338B2 (en) * 2004-08-30 2006-08-22 Hitachi, Ltd. Storage system and data relocation control device
JP2007066259A (ja) 2005-09-02 2007-03-15 Hitachi Ltd 計算機システムとストレージシステム並びにボリューム容量拡張方法
US8131927B2 (en) 2007-11-30 2012-03-06 Hitachi, Ltd. Fast accessible compressed thin provisioning volume
US8359444B2 (en) * 2008-09-24 2013-01-22 Hitachi, Ltd. System and method for controlling automated page-based tier management in storage systems
US20100199036A1 (en) * 2009-02-02 2010-08-05 Atrato, Inc. Systems and methods for block-level management of tiered storage
US9031914B2 (en) * 2009-04-22 2015-05-12 International Business Machines Corporation Tier-based data management
US8321645B2 (en) * 2009-04-29 2012-11-27 Netapp, Inc. Mechanisms for moving data in a hybrid aggregate
US8880835B2 (en) * 2009-07-07 2014-11-04 International Business Machines Corporation Adjusting location of tiered storage residence based on usage patterns
US8402214B2 (en) * 2009-09-16 2013-03-19 Hitachi, Ltd. Dynamic page reallocation storage system management
JP5241671B2 (ja) * 2009-10-05 2013-07-17 株式会社日立製作所 記憶装置のデータ移行制御方法
US8429346B1 (en) * 2009-12-28 2013-04-23 Emc Corporation Automated data relocation among storage tiers based on storage load
US8464003B2 (en) 2010-02-17 2013-06-11 Hitachi, Ltd. Method and apparatus to manage object based tier
US8627035B2 (en) * 2011-07-18 2014-01-07 Lsi Corporation Dynamic storage tiering

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877073A (ja) * 1994-08-31 1996-03-22 Toshiba Corp 集合光ディスク装置
JP2006079273A (ja) * 2004-09-08 2006-03-23 Sony Corp ファイル管理装置、ネットワークシステム、ファイル管理方法及びプログラム
JP2008097225A (ja) * 2006-10-10 2008-04-24 Hitachi Ltd ストレージ装置、制御装置及び制御方法
JP2010176462A (ja) * 2009-01-30 2010-08-12 Dainippon Printing Co Ltd コンテンツ販売システム,コンテンツ配信システム,ストレージ管理装置及びコンテンツ配信方法
JP2012533112A (ja) * 2009-07-07 2012-12-20 エルエスアイ コーポレーション 階層不揮発性ストレージのためのシステムおよび方法
JP2011227898A (ja) * 2010-04-19 2011-11-10 Hitachi Ltd 階層情報管理方法及び装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10592556B2 (en) 2013-06-14 2020-03-17 International Business Machines Corporation On-the-fly encoding method for efficient grouping and aggregation
JP2015087837A (ja) * 2013-10-29 2015-05-07 株式会社日立製作所 計算機システム、及びデータ配置制御方法
JP2018513454A (ja) * 2015-03-20 2018-05-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation カラム・ストアにおける挿入およびポイント・クエリ・オペレーションの効率的パフォーマンス
US10650011B2 (en) 2015-03-20 2020-05-12 International Business Machines Corporation Efficient performance of insert and point query operations in a column store
US11061878B2 (en) 2015-03-20 2021-07-13 International Business Machines Corporation Parallel build of non-partitioned join hash tables and non-enforced N:1 join hash tables
JP2016184272A (ja) * 2015-03-26 2016-10-20 日本電気株式会社 データベース管理システム、そのバッファリング方法およびコンピュータ・プログラム
US10831736B2 (en) 2015-03-27 2020-11-10 International Business Machines Corporation Fast multi-tier indexing supporting dynamic update
US11080260B2 (en) 2015-03-27 2021-08-03 International Business Machines Corporation Concurrent reads and inserts into a data structure without latching or waiting by readers
WO2016166867A1 (ja) * 2015-04-16 2016-10-20 株式会社日立製作所 計算機システム、及び、リソース制御方法

Also Published As

Publication number Publication date
US20130282982A1 (en) 2013-10-24
US9092141B2 (en) 2015-07-28
JP5914305B2 (ja) 2016-05-11

Similar Documents

Publication Publication Date Title
JP5914305B2 (ja) データ位置の管理方法および装置
JP5608016B2 (ja) オブジェクト単位階層の管理方法及び装置
US20180173632A1 (en) Storage device and method for controlling storage device
JP5593577B2 (ja) ストレージシステム及びその制御情報の管理方法
US9229870B1 (en) Managing cache systems of storage systems
US8316181B2 (en) Method and system for initializing storage in a storage system
US9792073B2 (en) Method of LUN management in a solid state disk array
JP5619667B2 (ja) 階層情報管理方法及び装置
US9971692B2 (en) Supporting concurrent operations at fine granularity in a caching framework
US9053038B2 (en) Method and apparatus for efficient read cache operation
KR20150105323A (ko) 데이터 스토리지 방법 및 시스템
US8954658B1 (en) Method of LUN management in a solid state disk array
US9916249B2 (en) Space allocation in a multi-grained writeback cache
US10095595B2 (en) Instant recovery in a multi-grained caching framework
JP2011192259A (ja) ストレージシステムのためのi/o変換方法及び装置
US20150363134A1 (en) Storage apparatus and data management
US9535844B1 (en) Prioritization for cache systems
US10628311B2 (en) Reducing defragmentation in a multi-grained writeback cache
US10579540B2 (en) Raid data migration through stripe swapping
US9817757B2 (en) Scalable metadata management in a multi-grained caching framework
US8504764B2 (en) Method and apparatus to manage object-based tiers
JP2015052853A (ja) ストレージ制御装置、制御方法及びプログラム
US11144445B1 (en) Use of compression domains that are more granular than storage allocation units
US11947799B1 (en) Systems and methods for using the TRIM command with solid state devices
CN112346658B (zh) 在具有高速缓存体系结构的存储设备中提高数据热量跟踪分辨率

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151118

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160404

R150 Certificate of patent or registration of utility model

Ref document number: 5914305

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees