JP5186982B2 - データ管理方法及びスイッチ装置 - Google Patents

データ管理方法及びスイッチ装置 Download PDF

Info

Publication number
JP5186982B2
JP5186982B2 JP2008096410A JP2008096410A JP5186982B2 JP 5186982 B2 JP5186982 B2 JP 5186982B2 JP 2008096410 A JP2008096410 A JP 2008096410A JP 2008096410 A JP2008096410 A JP 2008096410A JP 5186982 B2 JP5186982 B2 JP 5186982B2
Authority
JP
Japan
Prior art keywords
block
virtual
storage area
access
physical
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
JP2008096410A
Other languages
English (en)
Other versions
JP2009251751A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008096410A priority Critical patent/JP5186982B2/ja
Priority to US12/410,543 priority patent/US7975112B2/en
Publication of JP2009251751A publication Critical patent/JP2009251751A/ja
Application granted granted Critical
Publication of JP5186982B2 publication Critical patent/JP5186982B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value

Landscapes

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

Description

本発明は、データの読出しあるいは書込みのアクセスに対する処理速度の異なる複数のストレージ装置とホスト装置との間を接続するスイッチ装置のデータ管理方法に関する。
ストレージシステムにおいて、スイッチ装置が複数のホスト装置と複数のストレージ装置とをネットワークを介して接続しデータの送受信の管理を行うものがある。
ストレージシステムの複数のストレージ装置の物理記憶領域を有効に使用するための技術としてストレージ装置の仮想化技術がある。ストレージ装置の仮想化によって、複数のストレージ装置を組み合わせた仮想記憶領域を設定することが可能となる。スイッチ装置がストレージ装置の仮想化を管理する場合がある。上記の記載に関連する技術が、特許文献1乃至特許文献4に開示されている。
スイッチ装置は、データの読出しあるいは書込みの処理命令の受信から該処理命令の応答の送信までの処理性能の異なるストレージ装置を管理する場合がある。スイッチ装置が管理する仮想記憶領域は、処理性能の異なるストレージ装置の物理記憶領域で構成される。このため、ホスト装置がデータの読出しあるいは書込みの処理命令をスイッチ装置に送信してからホスト装置が処理命令の結果をスイッチ装置から取得するまでの時間は、ストレージ装置の性能によって変化する。
特開2003−271425号公報 特開2006−331458号公報 特開2003−150414号公報 特開平07−160548号公報
本発明は、処理性能の異なるストレージ装置とホスト装置とを接続可能とするスイッチ装置において、ホスト装置からのアクセスの多いデータに対する速い応答を可能にするスイッチ装置を提供することを目的とする。
本スイッチ装置は、データを格納する第一の物理記憶領域を有する第一のストレージ装置と、データを格納する第二の物理記憶領域を有しデータの読出しあるいは書込みの処理命令の受信から該処理命令の応答の送信までの処理を該第一のストレージ装置よりも短い時間で実行可能な第二のストレージ装置と、ホスト装置とに接続される。また、本スイッチ装置は、前記第一の物理記憶領域と前記第二の物理記憶領域とから構成される仮想記憶領域情報と、前記ホスト装置から前記仮想記憶領域を所定の大きさで区分した仮想ブロックへの前記ホスト装置からのアクセスに対して該仮想ブロックに対応する前記第一の物理記憶領域のブロックまたは前記第二の物理記憶領域のブロックへのアクセス頻度およびアクセス時刻を記憶するメモリと、前記ホスト装置から前記仮想記憶領域の仮想ブロックへのアクセスがあると、該仮想記憶領域の仮想ブロックに対応する前記第一の物理記憶領域のブロックあるいは前記第二の物理記憶領域のブロックにアクセスするとともに、アクセス頻度およびアクセス時刻を取得して前記メモリに記憶し、前記ホスト装置から前記仮想記憶領域の仮想ブロックへの前記アクセスに対して取得されたアクセス頻度が、所定値以上か否かを判断し、前記判断されたアクセス頻度が所定値以上の場合に、前記仮想記憶領域の仮想ブロックに対応する物理領域が前記第一の物理記憶領域のブロックの場合には、第二の物理記憶領域の中の最終アクセス時刻が、最も古いブロックを前記メモリの中から特定し、前記所定値以上と判断されたアクセス頻度が、前記特定された最終アクセス時刻が最も古いブロックのアクセス頻度より大きく、かつ前記第二の物理記憶領域に空きがない場合には、前記所定値以上と判断されたアクセス頻度に対応する前記第一の物理記憶領域のブロックと前記第二の物理記憶領域の前記特定された最終アクセス時刻が最も古いブロックとの間で、該ブロックの入替処理を実行する制御部と、を有する。
本スイッチ装置は、処理性能の悪いストレージ装置に格納されたアクセス頻度の高いデータを処理性能の良いストレージ装置に移動するため、ホスト装置からのアクセスの多いデータに対する速い応答が可能となる。
以下、本発明の一つの実施形態について詳細に説明する。
[ストレージシステム]
図1は、本実施形態のストレージシステムの例である。本実施形態のストレージシステムは、ホスト装置100、ストレージ装置300、ストレージ装置400、ストレージ装置500、および仮想化スイッチ装置200を有する。ホスト装置100と仮想化スイッチ装置200との間、仮想化スイッチ装置200とストレージ装置300、ストレージ装置400、およびストレージ装置500との間は、それぞれ、例えば、ストレージエリアネットワークなどのネットワーク600によって接続される。
[ホスト装置100]
ホスト装置100は、例えば、パーソナルコンピュータ、ワークステーション、メインフレーム等である。ホスト装置100は、アプリケーションプログラムを実行する際、種々のファイルを使用する。ファイルはストレージ装置300、ストレージ装置400、ストレージ装置500に格納される。
ホスト装置100は、仮想化スイッチ装置200を介してファイルが格納されたストレージ装置300、ストレージ装置400、ストレージ装置500のデータ格納領域にアクセスすることにより、ファイルの読出し、あるいはファイルの書込みを行う。ファイルの読出し行う命令(読出命令)、あるいはファイルの書込みを行う命令(書込命令)は、読出命令か書込命令かを識別する情報、処理の対象のアドレス情報、書込みデータ情報等を含む。
ホスト装置100は、制御部110、メモリ120、および入出力部130を有する。入出力部130は、ホスト装置100を仮想化スイッチ装置200にネットワーク600を介して接続する。メモリ120は、ファイル処理プログラム121を格納する。制御部110は、ファイル処理プログラム121を実行することにより、ファイルシステムモジュール111として機能する。制御部110は、例えば、中央演算ユニット(CPU)やその他の演算ユニットである。ファイルシステムモジュール111は、ストレージ装置に読出しアクセスあるいは書込みアクセスを実行する場合、仮想化スイッチ装置200にデータの読出し命令、あるいはデータの書込み命令を送信する。
[ストレージ装置]
ストレージ装置300、ストレージ装置400、およびストレージ装置500は、ホスト装置100のファイルを格納する。本実施の形態のストレージ装置300、ストレージ装置400、およびストレージ装置500は、製品の種別やストレージ装置内部の構成などによりアクセス性能が異なるものとする。本実施の形態では、ストレージ装置300の性能が最もよく、ストレージ装置500の性能が最も悪く、ストレージ装置400の性能がストレージ装置300とストレージ装置500との中間程度であるとする。
ストレージ装置300は、制御部310、メモリ320、データ格納部330、および入出力部340を有し、ストレージ装置400は、制御部410、メモリ420、データ格納部430を有し、ストレージ装置500は、制御部510、メモリ520、データ格納部530を有する。なお、以上の構成は、ストレージ装置300、ストレージ装置400、およびストレージ装置500で共通するためストレージ装置300のみを説明する。
入出力部340は、ストレージ装置300を仮想化スイッチ装置200にネットワーク600を介して接続する。メモリ320は、制御部310が実行する制御プログラム、制御部310が実行する実行結果を記憶する。メモリ320は、例えば、データの読み書きが可能なメモリ(RAM)やデータの読み出しのみ可能なメモリ(ROM)である。
制御部310は、仮想化スイッチ装置200から受信するデータの読出し命令、あるいはデータの書込み命令に応じて、データ格納部330へのデータの書込み、データ格納部330からのデータの読出しを実行する。制御部310は、例えば、中央演算ユニット(CPU)やその他の演算ユニットである。
データ格納部330のデータ格納領域は、物理ボリューム350が予め設定されているものとする。物理ボリューム350はホスト装置100がファイルの格納領域として使用可能な複数の物理ブロックのまとまりである。物理ボリューム350は、ストレージ装置のデータ格納領域を任意の大きさで区切ることが可能である。図1のPa、Pb、およびPcは、ストレージ装置300のデータ格納部330に設定された物理ボリューム350である。
ここでファイルとブロックとの関係を説明する。ホスト装置100は、ファイルを単位としてデータを管理する。仮想化スイッチ装置200およびストレージ装置300は、ブロックを単位としてデータを管理する。ホスト装置100は、ファイルとブロックとの対応関係を示す情報を有する。ファイルは、複数のブロックに格納されたデータの組み合わせになる。ホスト装置100は、ファイルに対応するブロックを特定することにより、仮想化スイッチ装置200を介してストレージ装置に対してアクセスする。物理ブロックは、ストレージ装置のデータ格納領域のデータの読出しあるいは書込みの単位である。
[仮想化スイッチ装置200]
仮想化スイッチ装置200は、ホスト装置100とストレージ装置300、ストレージ装置400、およびストレージ装置500との間で送受信するデータを管理する。また、仮想化スイッチ装置200は、ストレージ装置300、ストレージ装置400、およびストレージ装置500の物理ボリュームを仮想化する。仮想化とは、複数のストレージ装置の物理ボリュームを組み合わせた仮想ボリュームを設定することである。
ホスト装置100は、仮想化スイッチ装置200により、ホスト装置100に関連するストレージ装置300、ストレージ装置400、およびストレージ装置500の物理ボリュームの構成の管理が不要になる。ホスト装置100は、仮想化モジュール211が管理する仮想ブロックにアクセスするのみで、ストレージ装置300、ストレージ装置400、およびストレージ装置500の物理ボリュームにアクセスすることが可能となる。一方、仮想化機能を有さない通常のスイッチ装置の場合、ホスト装置が各ストレージ装置の物理ボリュームを管理する必要がある。また、ホスト装置はストレージ装置の物理ボリュームを単位として管理する必要があるため、ホスト装置の管理者の負担が増大する。
仮想化スイッチ装置200は、ホスト装置100から仮想ボリュームへのアクセスの傾向から、仮想ボリュームに対応する物理ボリュームへのアクセスに要する時間がシステム全体で見た場合に高速になるように、物理ボリューム上のデータの再配置を行う。
ホスト装置100のファイルシステムモジュール111が管理するボリューム上の多数のファイルデータは、アクセス頻度が均一とは限らない。ファイルには、アクセス頻度が非常に高いものや、ほとんどアクセスが行われないものがある。
ホスト装置100がアクセスする頻度が高いファイルに対応するデータが仮想ブロックを介して性能の悪い物理ボリュームにあるものとする。一方、ホスト装置100がアクセスする頻度が低いファイルに対応するデータが仮想ブロックを介して性能の良い物理ボリュームにあるものとする。
この場合、システム全体のアクセス性能の平均は、アクセス性能の悪い物理ボリュームになる。そこで、仮想化スイッチ装置200は、アクセスの状況に応じて、仮想ブロックと物理ブロックとの対応関係を変更する。
再配置の処理の概要を図2から図4で説明する。図2乃至図4は再配置処理の概要を説明する図である。250は、仮想化スイッチ装置200が管理する仮想ボリュームV1である。350はストレージ装置300のデータ格納部330内の一つの物理ボリュームPaである。450はストレージ装置400のデータ格納部430内の一つの物理ボリュームPdである。550はストレージ装置500のデータ格納部530内の一つの物理ボリュームPgである。仮想化スイッチ装置200と物理ボリュームとの間のアクセス性能は、物理ボリュームPaが最も良く、Pgが最も悪く、PdがPaとPgとの中間であるとする。
仮想ボリュームV1の仮想ブロックは、各物理ボリュームPa、Pd、あるいはPgの物理ブロックに対応する。701は物理ボリュームPgの任意の物理ブロックである。702は仮想ボリュームV1の物理ブロック701に対応する仮想ブロックである。
ホスト装置100から仮想ブロック702へのアクセスする場合、実際のデータが格納されているのは物理ブロック701であるため、仮想化スイッチ装置200は仮想ブロック702に対応する物理ブロック701にアクセスする必要がある。したがって、仮想ブロック702へのアクセス回数が増加するとシステム全体のアクセス性能が低下する。
そこで、仮想化スイッチ装置200は、図3のように、物理ブロック701に格納されたデータを物理ボリュームPaにコピーする。その後、仮想化スイッチ装置200は、図4のように、物理ブロック703と仮想ブロック702とを対応付ける。
以上の処理によって、仮想ブロック702に対応する物理ブロックが、物理ブロック701から物理ブロック703に更新される。物理ブロック703の物理ボリュームPaは物理ブロック701の物理ボリュームPgよりもアクセス性能が良い。したがって、ホスト装置100から仮想ブロック702へのアクセスについては、仮想化スイッチ装置200と物理ボリュームとの間のアクセス性能が改善される。この結果、システム全体のアクセス性能が向上する。
仮想化スイッチ装置200は、制御部210、メモリ220、入出力部231、および入出力部232を有する。入出力部231は、仮想化スイッチ装置200をホスト装置100にネットワーク600を介して接続する。入出力部232は、仮想化スイッチ装置200をストレージ装置300、ストレージ装置400、およびストレージ装置500にネットワーク600を介して接続する。
次に仮想化スイッチ装置200の制御部210を説明する。制御部210は、メモリ220に格納されたデータ処理プログラム221を実行することにより、仮想化モジュール211、アクセス計測モジュール212、データ配置モジュール213として機能する。制御部210は、例えば、中央演算ユニット(CPU)やその他の演算ユニットである。
メモリ220は、データ処理プログラム221、仮想ボリューム情報222、性能情報223、アクセス状況情報224等を格納する。メモリ220は、例えば、データの読み書きが可能なメモリ(RAM)やデータの読み出しのみ可能なメモリ(ROM)である。
[データ処理プログラム221]
データ処理プログラム221は、制御部210が、ストレージ装置の仮想化処理、ストレージ装置に格納されたデータの再配置処理、ホスト装置100から仮想ブロックへのアクセス状況情報の取得処理などを実行するための手順が書かれたものである。
[仮想ボリューム情報222]
仮想ボリュームは、仮想化スイッチ装置200で管理する仮想的なボリューム情報である。本実施の形態では、仮想ボリューム情報222は、予め登録されているものとする。仮想ボリューム情報222は例えば管理者によって登録される。
仮想ボリューム情報222は、仮想ボリュームと物理ボリュームとの関係を示す情報である。具体的には、仮想ボリューム情報222は、仮想ボリュームの仮想ブロックのアドレス情報(仮想ブロックアドレス)とストレージ装置の物理ブロックのアドレス情報(物理ブロックアドレス)とを関連付けた情報である。
仮想ボリュームを分割する仮想ブロックのサイズは、例えば、管理者が仮想ボリュームを作成する際に指定する。仮想化スイッチ装置200は、仮想ボリュームの使用中に仮想ブロックのサイズを変更することはできない。なお、本実施の形態の仮想ブロックに対応するデータの大きさは物理ブロックに対応するデータの大きさに等しいものとする。
図5は、仮想ボリュームと物理ボリュームとの関係を示す図である。
250、270は、仮想化モジュール211が管理する仮想ボリュームである。350は、ストレージ装置300のデータ格納部330の物理ボリュームである。450は、ストレージ装置400のデータ格納部430の物理ボリュームである。550は、ストレージ装置500のデータ格納部530の物理ボリュームである。仮想化モジュール211が管理する仮想ボリュームは、仮想ボリュームV1、仮想ボリュームV2であるとする。仮想ボリュームV1は、物理ボリュームPa、物理ボリュームPd、および物理ボリュームPgが対応付けられる。仮想ボリュームV2は、物理ボリュームPb、物理ボリュームPeが対応付けられる。なお、本実施の形態のホスト装置100は、仮想ボリュームV1が割り当てられているものとする。
図6は、仮想ボリュームV1に関する仮想ボリューム情報222である。仮想ボリューム情報222は、仮想ボリュームの仮想ブロックと物理ボリュームの物理ブロックとを対応付けた情報である。仮想ブロック2221の項目は、仮想ボリュームV1の各仮想ブロックのアドレス情報である。物理ブロック2222の項目は、物理ボリュームPa、物理ボリュームPd、物理ボリュームPgの各物理ブロックのアドレス情報である。ストレージ装置のアクセス性能が異なる場合に、ストレージ装置の物理ボリューム領域を組み合わせて仮想ボリュームを作成すると、仮想ボリューム内でアクセス性能が異なる仮想ブロックが生じる。
仮想化スイッチ装置200は、仮想ボリューム情報222によって、仮想ブロックと物理ブロックとの対応関係を管理する。ホスト装置100が仮想ブロックにアクセスすると、仮想化スイッチ装置200は、仮想ブロックに対応する物理ブロックを仮想ボリューム情報222で特定する。その後、仮想化スイッチ装置200は、ホスト装置100のアクセスに対応する物理ブロックにアクセスする。
[仮想化モジュール211]
仮想化スイッチ装置200の制御部210は、メモリ220に格納されたデータ処理プログラム221を実行することにより、仮想化モジュール211として機能する。仮想化モジュール211は、仮想化スイッチ装置200に接続されたストレージ装置300、ストレージ装置400、およびストレージ装置500の物理ボリュームの一部、あるいは全部を組み合わせた仮想ボリュームを管理する。
仮想化モジュール211は、仮想ボリュームをホスト装置100に認識させる。仮想化モジュール211は、ホスト装置100から仮想ブロックへのアクセスを受けると、仮想ボリューム情報222によって、仮想ブロックに対応するストレージ装置の対応する物理ブロックを特定する。その後、仮想化モジュール211は、特定した物理ブロックにアクセスする。
[性能情報223]
性能情報223は、仮想化スイッチ装置200が管理するストレージ装置300、ストレージ装置400、およびストレージ装置500のアクセス性能の情報を記憶する。
図7は性能情報223である。性能情報223は、ストレージ装置を識別する情報とストレージ装置の性能を数値化した情報とを対応付けて記憶する。ストレージ装置を識別する情報がストレージ装置2231の項目に格納される。ストレージ装置の性能値の情報が性能2232の項目に格納される。図7では、ストレージ装置300の性能値は「5」であり、ストレージ装置400の性能値は「3」であり、ストレージ装置300の性能値は「1」である。本実施の形態のストレージ装置は、性能値が大きい程、良い性能であるものとする。図7では、ストレージ装置300の性能が最も良く、ストレージ装置500の性能が最も悪く、ストレージ装置400の性能がストレージ装置300とストレージ装置500との中間程度になる。
仮想化スイッチ装置200は、物理ボリュームのアクセス性能を計測することにより性能情報223を取得する。仮想化スイッチ装置200は、アクセス対象のブロックのサイズやアクセスする方向を変えて予め定めた複数種類のパターンで行い、平均のアクセス性能を計測する。
仮想化スイッチ装置200は、性能情報223を、物理ボリュームを単位として取得することも可能であり、ストレージ装置300乃至500を単位として取得することも可能である。
なお、本実施の形態の仮想化スイッチ装置200は、物理ボリュームから仮想ボリュームを構築するときに、アクセス性能を計測する。仮想化スイッチ装置200が、仮想化スイッチ装置200から物理ボリュームへのデータのアクセスを実行中にアクセス性能を計測すると、アクセス性能を計測するための処理により、通常のデータのアクセスの性能が低下する可能性があるためである。また、仮想化スイッチ装置200から物理ボリュームへのアクセス性能は、物理ボリュームに異常が発生した場合などの状態変化により一時的に大きく劣化する場合がある。性能のよい物理ボリュームのアクセス性能が内部の異常により一時的に劣化した場合、アクセス性能は異常の修復により回復する。したがって、一時的に劣化したアクセス性能に従って性能を判断する必要はない。以上から、仮想化スイッチ装置200から物理ボリュームへのデータのアクセスを実行中にアクセス性能を計測することは、仮想ブロックと物理ブロックの入替処理を必要以上に実行する原因になる可能性がある。
[アクセス状況情報224]
アクセス状況情報224は、ホスト装置100から仮想化スイッチ装置200が管理する仮想ブロックへのアクセスの状況を示す情報である。アクセスの状況を示す情報は、例えば、ホスト装置100が仮想ブロックにアクセスした回数を示す情報(アクセス回数情報)、ホスト装置100が仮想ブロックに最後にアクセスした時刻を示す情報(アクセス時刻情報)である。
図8は、アクセス状況情報224である。アクセス状況情報224は、仮想ボリューム内の仮想ブロックの位置を特定する仮想ブロック情報、アクセス回数情報、およびアクセス時刻情報を有する。仮想ブロックのアドレス情報が仮想ブロック2241の項目に格納される。仮想ブロックにアクセスした回数がアクセス回数2242の項目に格納される。仮想ブロックに最後にアクセスした時刻がアクセス時刻2243の項目に格納される。仮想ブロックは、仮想ボリューム情報222の仮想ブロックに対応する。仮想化スイッチ装置200は、仮想ブロック毎に、アクセス回数情報とアクセス時刻情報とを対応付けて格納する。
[アクセス計測モジュール212]
仮想化スイッチ装置200の制御部210は、メモリ220に格納されたデータ処理プログラム221を実行することにより、アクセス計測モジュール212として機能する。
アクセス計測モジュール212は、ホスト装置100が仮想ブロックにアクセスした状況をアクセス状況情報224に記憶する。アクセス計測モジュール212は、ホスト装置100のアクセス情報を取得すると、取得したアクセス情報からアクセス対象の仮想ブロックを特定する。アクセス計測モジュール212は、特定した仮想ブロックに対応するアクセス状況情報224のアクセス回数情報を更新する。また、アクセス計測モジュール212は、特定した仮想ブロックに対応するアクセス状況情報224のアクセス時刻情報を更新する。
図9は、本実施の形態のアクセス計測処理のフローチャートである。アクセス計測モジュール212は、ホスト装置100からのアクセスを取得する(S101)。アクセス計測モジュール212は、アクセス状況情報224を更新する(S102)。具体的には、アクセス計測モジュール212は、S101で取得したアクセス情報から仮想ブロック毎のアクセス回数を取得し、アクセス対象の仮想ブロックに対応するアクセス状況情報224のアクセス回数を1回分、増加させる。また、アクセス計測モジュール212は、アクセス対象の仮想ブロックに対応するアクセス状況情報224のアクセス時刻情報を、アクセスを受信した時刻に更新する。
アクセス計測モジュール212は、アクセス対象の仮想ブロックのアクセス回数が予め定めた回数を超えたか否かを判別する(S103)。なお、仮想ブロックに対応する物理ブロックの入替処理を実行するか否かを決定するためのアクセス回数の閾値は、例えば、管理者が登録する。
アクセス計測モジュール212は、アクセス対象の仮想ブロックのアクセス回数が予め定めた回数未満の場合(S103:No)、S101に戻り、ホスト装置100からのアクセス情報を取得する。一方、アクセス計測モジュール212は、ブロックへのアクセス回数が予め定めた回数を以上になった場合(S103:Yes)、アクセス計測モジュール212は、アクセス対象の仮想ブロックのアクセス状況情報224のアクセス回数を初期化する(S104)。その後、仮想化スイッチ装置200は、再配置処理の実行を開始する(S105)。再配置処理は、データ配置モジュール213が実行する。
[データ配置モジュール213]
仮想化スイッチ装置200の制御部210は、メモリ220に格納されたデータ処理プログラム221を実行することにより、データ配置モジュール213として機能する。
データ配置モジュール213は、仮想ブロックに対応する物理ブロックをアクセスの状況によって変更する。アクセスは、ホスト装置100から仮想化スイッチ装置200へのアクセス、および仮想化スイッチ装置200からストレージ装置300乃至500へのアクセスがある。データ配置モジュール213は、ホスト装置100から仮想化スイッチ装置200へのアクセスの状況によって、仮想ブロックに対応する物理ブロックを変更する。以下に、データ配置モジュール213が実行する再配置処理を説明する。
図10は、本実施の形態の再配置処理のフローチャートである。
データ配置モジュール213は、再配置処理の対象の仮想ブロック(以下、再配置ブロックとする)に対応する物理ブロックの物理ボリュームよりも性能の良い物理ボリュームを、仮想ボリュームに有するか否かを判別する(S111)。再配置ブロックの対応する物理ブロックの物理ボリュームよりも性能の良い物理ボリュームが仮想ボリュームに無い場合(S111:No)、データ配置モジュール213は、再配置処理を終了する。例えば、再配置ブロックに対応する物理ブロックの物理ボリュームが仮想ボリュームの中で最も性能の良い物理ボリュームである場合に、性能の良い物理ボリュームが無いと判断される。
また、仮想化スイッチ装置200は、再配置ブロックが属する物理ボリュームよりも性能の良い物理ボリュームを、仮想化スイッチ装置200が管理する全ての物理ボリュームから検索することも可能である。仮想化スイッチ装置200は、仮想ボリュームの物理ボリュームを単位として、検索した物理ボリュームと再配置ブロックが属する物理ボリュームとを入れ替えることも可能である。さらに、仮想化スイッチ装置200は、検索した物理ボリュームと再配置ブロックが属する物理ボリュームとの記憶領域の大きさが一致する場合に物理ボリュームの入替の処理が可能である。
一方、データ配置モジュール213は、再配置ブロックに対応する物理ブロックの物理ボリュームよりも性能の良い物理ボリュームが仮想ボリュームにある場合(S111:Yes)、再配置ブロックに対応する物理ブロックが属する物理ボリュームよりも1段階性能が良い物理ボリュームを特定する(S113)。具体的には、データ配置モジュール213は、仮想ボリューム情報222から、再配置ブロックが属する仮想ボリュームが有する物理ボリュームを検索する。データ配置モジュール213は、検索した物理ボリュームの性能情報を比較することにより、再配置ブロックに対応する物理ブロックが属する物理ボリュームよりも1段階性能が良い物理ボリュームを特定する。
次に、データ配置モジュール213は、1段階性能が良い物理ボリュームの物理ブロックから最終アクセス時間が最も古い物理ブロックを検索する(S114)。具体的には、データ配置モジュール213は、仮想ボリューム情報222から、1段階性能が良い物理ボリュームの物理ブロック群に対応する仮想ブロック群を特定する。データ配置モジュール213は、特定した仮想ブロック群の内、最終アクセス時間が最も古い物理ブロックをアクセス状況情報224から検索する。
データ配置モジュール213は、最終アクセス時間が最も古い物理ブロックに対応する仮想ブロックのアクセス頻度および再配置処理の対象の仮想ブロックのアクセス頻度を算出する(S115)。アクセス頻度は、例えば、ホスト装置100から仮想ブロックへのアクセスの回数によって求める。
[アクセス頻度の算出方法]
ここで、データ配置モジュール213が実行するS115のアクセス頻度の算出処理を説明する。データ配置モジュール213は、アクセスの回数だけでなく、最後にアクセスされてからの経過時間を加味してアクセス頻度を算出することも可能である。
図11は、アクセス頻度を説明する図である。図11の80は、仮想ブロックV1(02)の時間軸を示す。81は、仮想ブロックV2(m)の時間軸を示す。82は、仮想ブロックV1(02)に対するホスト装置100からのアクセス群を示す。83は、仮想ブロックV2(m)に対するホスト装置100からのアクセスを示す。
ホスト装置100から仮想ボリュームへのアクセスは、時間に対して均一に行わるとは限らない。アクセス群82は、ホスト装置100から仮想ブロックV1(02)に対するアクセスが短時間に集中していることを示す。仮想ブロックV1(02)は、ホスト装置100から一時的に非常に多くのアクセスが行われるが、その後ほとんどアクセスされない。一方、仮想ブロックV2(m)は、アクセス83は、ホスト装置100から時間に対して分散したアクセスが行われる。
仮想ブロックV1(02)のアクセス群82のアクセス回数は、仮想ブロックV2(m)のアクセス83のアクセス回数よりも多いとする。ホスト装置100から仮想ボリュームへのアクセス回数だけでアクセス頻度の計算を行うと、ほとんどアクセスされないデータであるにも関わらず、性能の良い物理ボリュームに配置される可能性がある。図11では、アクセス回数のみで再配置の判断をすると、仮想ブロックV1(02)が性能の良い物理ボリュームに配置される。
そこで、本実施の形態では、データ配置モジュール213は、ホスト装置100から仮想ブロックへのアクセス回数と最後にアクセスがあってからの経過時間とからアクセス頻度を計算する。
データ配置モジュール213は、仮想ブロックへのアクセス回数を「A」とし、最後にアクセスがあってからの経過時間を「P」とし、係数を「N」として、(数1)でアクセス頻度を算出する。
Figure 0005186982
係数「N」は仮想ブロック毎に保持される値である。係数「N」の値が大きいと、(数1)のアクセス頻度は、アクセス回数の値が重要になる。係数「N」の値が小さいと、(数1)のアクセス頻度は、最終アクセスからの経過時間の値が重要になる。係数「N」の最適値は、仮想ボリュームの利用傾向により異なる。
データ配置モジュール213は、係数「N」の値を最適に調整するため、アクセス頻度の更新時に次回のアクセス頻度の算出で使用する係数「N」を、(数2)によって算出する。「N(next)」は、次回のアクセス頻度の算出で使用する係数「N」である。「N(now)」は今回のアクセス頻度の算出で使用する係数「N」である。「T」は、各仮想ブロックのアクセスに対する「P」の平均である。
Figure 0005186982
一時的に非常に多くのアクセスが行われその後アクセスが行われない仮想ブロックのアクセス頻度は、(数2)により係数「N」が小さくなる結果、時間の経過に従って低くなる。一方、アクセス間隔は長いが定常的にアクセスが行われている仮想ブロックのアクセス頻度は、(数2)により係数「N」が一定に保持される結果、低下しにくい。
図10のフローチャートの処理の説明に戻る。
データ配置モジュール213は、再配置ブロックのアクセス頻度が最終アクセス時間の最も古い物理ブロックに対応する仮想ブロックのアクセス頻度よりも大きいか否かを判別する(S116)。
データ配置モジュール213は、再配置ブロックのアクセス頻度が最終アクセス時間の最も古い物理ブロックに対応する仮想ブロックのアクセス頻度よりも大きい場合(S116:Yes)、アクセス特性の良い物理ボリュームに空きがない場合、入替処理を実行する(S117)。なお、アクセス特性の良い物理ボリュームに空きがある場合、データを物理ボリュームの空き領域にコピー(あるいは移動)する。アクセス特性の良い物理ボリュームに空きがある場合、S116の判定処理およびS117の入替処理は不要である。
一方、対象ブロックのアクセス頻度が最終アクセス時間の最も古い物理ブロックに対応する仮想ブロックのアクセス頻度よりも小さい場合(S116:No)、データ配置モジュール213は、処理を終了する。
なお、アクセス計測モジュール212は、アクセス状況情報224のアクセス回数のみを取得する構成とする場合は、所定時間毎にアクセス状況情報224を初期化する。この構成により、アクセス計測モジュール212は、所定期間内の各ブロックのアクセス頻度の傾向を取得することが可能になる。
[仮想ブロックに対応する物理ブロックの入替処理]
次に、データ配置モジュール213が実行するS117の仮想ブロックに対応する物理ブロックの入替処理を説明する。入替処理は、仮想ブロックと物理ブロックのアドレスの対応を変更する処理である。
図12は、仮想ブロックに対応する物理ブロックの入替処理のフローチャートである。図13は、入替処理による仮想ブロックと物理ブロックとデータとの関係を説明する図である。
仮想ブロックViと仮想ブロックVjとがある。物理ブロックXと物理ブロックYとがある。仮想ブロックViにデータD1が対応し、仮想ブロックVjにデータD2が対応する。また、空き物理ブロックFがある。
空き物理ブロックFは入替処理に使用する物理ブロックである。空き物理ブロックFは、例えば、アクセス性能の悪い物理ボリューム、物理ディスクの論理的なサイズと物理的なサイズとの間の差から生じる切れ端の領域、仮想ボリュームに設定されていない物理ボリュームなどを用いることが可能である。
図13の1001は、初期状態の仮想ブロックと物理ブロックと物理ブロックに格納されたデータとの間の関係を示す。初期状態1001では、仮想ブロックViと物理ブロックXとが対応し、仮想ブロックVjと物理ブロックYとが対応する。初期状態1001では、物理ブロックXにはデータD1が格納され、物理ブロックYにはデータD2が格納されている。
入替処理によって、データ配置モジュール211は、初期状態1001から最終状態にブロックの対応関係を変更する。最終状態はS127の状態であり、仮想ブロックViと物理ブロックYとを対応し、仮想ブロックVjと物理ブロックXとが対応する。最終状態では、物理ブロックYにはデータD1が格納されており、物理ブロックXにはデータD2が格納されている。
データ配置モジュール213は、物理ブロックFを取得する(S121)。本実施の形態では、データ配置モジュール213は、仮想化スイッチ装置200が管理する仮想ボリュームに属さない物理ボリュームの物理ブロックを物理ブロックFとして取得する。データ配置モジュール213は、例えば、仮想ボリュームに属するボリュームか否かを、図5のようなボリュームの対応情報に基づき判断する。
データ配置モジュール213は、物理ブロックXのデータD1を物理ブロックFにコピーする(S122)。データ配置モジュール213は、仮想ボリューム情報222の仮想ブロックViに対応する物理ブロックを物理ブロックXから物理ブロックFに更新する(S123)。図13では、S123の状態1002である。
データ配置モジュール213は、物理ブロックYのデータD2を物理ブロックXにコピーする(S124)。データ配置モジュール213は、仮想ボリューム情報222の仮想ブロックVjに対応する物理ブロックを物理ブロックYから物理ブロックXに更新する(S125)。図13では、S125の状態1003である。
データ配置モジュール213は、物理ブロックFのデータD1を物理ブロックYにコピーする(S126)。データ配置モジュール213は、仮想ボリューム情報222の仮想ブロックViに対応する物理ブロックを物理ブロックFから物理ブロックYに更新する(S127)。図13では、S127の状態1004である。
データ配置モジュール213は、物理ブロックFを開放する(S128)。
以上の入替処理によって、データ配置モジュール213は、ホスト装置100のアクセスする対象の仮想ブロックは同一のままで、仮想ブロックに対応する物理ブロックを入れ替えることが可能になる。
仮想化スイッチ装置200がアクセス計測処理と再配置処理を繰り返すことにより、ホスト装置100からのアクセスの頻度が大きい仮想ブロックが性能の良い物理ボリュームに配置され、ホスト装置100からのアクセスの頻度が小さい仮想ブロックが性能の悪い物理ボリュームに配置される。この結果、仮想化スイッチ装置200は仮想ボリューム全体の平均アクセス性能を高速にすることが可能になる。
本実施例では、仮想化スイッチ装置200がストレージ装置の仮想化を行う。このため、仮想化スイッチ装置200にアクセス性能の良いストレージ装置が新たに増設された場合、システムを停止することなく、アクセス頻度の高いデータを移動することが可能になる。
[ファイルとブロックとの関係]
次に、ホスト装置100で管理するファイルを物理ブロック上で連続させることによりアクセス性能を向上させる処理を説明する。
図14はファイルとデータとの関係を示す図である。ファイルは、複数のデータによって構成される。140は、ホスト装置100で扱われるファイルFnである。700は、仮想化スイッチ装置200、およびストレージ装置300、400、500で扱うデータDP、DQ、DRである。ファイルFnは、データDP、データDQ、データDRから構成される。
ホスト装置100のファイルシステムモジュール111は、図14のファイルFnのデータを取得する場合、データDP、DQ、DRにアクセスする。ホスト装置100がアプリケーションプログラムを実行する際に使用するファイルは、複数のブロックのデータによって構成される。ホスト装置100のファイルシステムモジュール111が管理する1つのファイルを構成する複数の仮想ブロックは、仮想ボリューム上に離散する場合がある。
さらに、離散した仮想ブロックに対応する物理ブロックが、異なる物理ボリュームに属する場合がある。この場合、ホスト装置100から仮想化スイッチ装置200へのアクセスは複数の仮想ブロックに対するアクセスになる。また、仮想化スイッチ装置200は、複数の物理ボリュームへアクセスする必要がある。そのため、単一の物理ボリュームの連続領域にデータが存在する場合と比べてアクセス性能が悪くなる。
図15は、データ配置の説明図である。111はファイルシステムモジュールであり、250は仮想ボリュームV1であり、350はストレージ装置300の一つの物理ボリュームPaであり、450はストレージ装置400の一つの物理ボリュームPdであり、550はストレージ装置500の一つの物理ボリュームPgである。仮想ボリュームV1は、仮想ブロックV1(p)、仮想ブロックV1(q)、仮想ブロックV1(r)を有する。物理ボリュームPaは物理ブロックPa(p)を有する。物理ボリュームPdは物理ブロックPd(q)を有する。物理ボリュームPgは物理ブロックPg(r)を有する。物理ブロックPa(p)は、データDPを格納する。仮想ブロックV1(p)は、物理ブロックPa(p)に対応付けられる。物理ブロックPd(q)は、データDQを格納する。仮想ブロックV1(q)は、物理ブロックPa(q)に対応付けられる。物理ブロックPg(r)は、データDRを格納する。仮想ブロックV1(r)は、物理ブロックPa(r)に対応付けられる。
そこで、データ配置モジュール213は、複数の物理ブロックに断片化されたファイルが物理ディスク上で連続領域となるように、物理ボリューム上のデータを再配置する。
図16は、図15の仮想ブロックと物理ブロックとデータとの関係を説明する図である。図16は、ファイルFnのデータDP、DQ、DRが離散した状態を示す。711は、仮想ブロックのアドレス情報を示す。712は、仮想ブロックのアドレス情報に対応する物理ブロックのアドレス情報を示す。713は、物理ブロックに格納されたデータを示す。仮想ボリュームV1は、3つの物理ボリューム(Pa、Pd、Pg)で構成される。仮想ブロックV1(p)は物理ボリュームPaの物理ブロックPa(p)に対応する。仮想ブロックV1(q)は物理ボリュームPdの物理ブロックPd(q)に対応する。仮想ブロックV1(r)は物理ボリュームPgの物理ブロックPg(r)に対応する。物理ボリュームPaにおいて物理ブロックPa(P)、物理ブロックPa(P+1)、物理ブロックPa(P+2)は連続領域であるとする。仮想ブロックV1(p)のデータをDP、仮想ブロックV1(q)のデータをDQ、および仮想ブロックV1(r)のデータをDRとする。また、物理ブロックPa(P+1)のデータをDP+1、物理ブロックPa(P+2)のデータをDP+2とする。
仮想化スイッチ装置200が管理するストレージ装置300乃至500には、仮想ボリューム対応付けられていない物理ボリュームPxがあるとする。物理ボリュームPxは、空き物理ブロックPfを有するとする。
図17は、連続するブロックに再配置する処理のフローチャートである。
データ配置モジュール213は、ホスト装置100からファイルFnについて、仮想ボリュームV1上の配置情報(仮想ブロックのアドレス情報、ファイルサイズ情報(ファイルが使用するブロック数の情報))およびデフラグ指示を取得する(S131)。なお、ファイルFnは、データDP、DQ、DQによって構成される。デフラグ指示は、例えば、ホスト装置100のアクセス回数が少ないタイミング、あるいは、ホスト装置100がデータへのアクセスに要する時間が所定値よりも増大したと判断した場合などに基づき、ホスト装置100側で必要と判断した場合に実行する。
データ配置モジュール213は、物理ブロックPa(p)に隣接する物理ブロックPa(P+1)のデータDP+1を空き物理ブロックPfにコピーする(S132)。データ配置モジュール213は、仮想ボリューム情報222を更新する。具体的には、データ配置モジュール213は、仮想ブロックV1(P+1)に対応する物理ブロックを物理ブロックPa(p+1)から物理ブロックPfに更新する(S133)。
データ配置モジュール213は、物理ブロックPd(Q)のデータDQを物理ブロックPa(P+1)にコピーする(S134)。データ配置モジュール213は、仮想ボリューム情報222を更新する。具体的には、データ配置モジュール213は、仮想ブロックV1(Q)に対応する物理ブロックを物理ブロックPd(Q)から物理ブロックPa(P+1)に更新する(S135)。
データ配置モジュール213は、物理ブロックPfのデータDP+1を物理ブロックPd(Q)にコピーする(S136)。データ配置モジュール213は、仮想ボリューム情報222を更新する。具体的には、データ配置モジュール213は、仮想ブロックV1(P+1)に対応する物理ブロックを物理ブロックPfから物理ブロックPd(Q)に更新する(S137)。
データ配置モジュール213は、ファイルFnの全てのデータの再配置が完了したか否かを判定する。ファイルFnの全てのデータの再配置が完了した場合(S138:Yes)、データ配置モジュール213は処理を終了する。ファイルFnの全てのデータの再配置が完了していない場合(S138:No)、データ配置モジュール213は、残りのデータについてもS132以降の処理を継続して実行する。具体的には、図15ではデータ配置モジュール213は、データの物理ブロックPa(P+2)および物理ブロックPg(R)についても同様の処理を実行する。
図18は、再配置処理を実行した後の仮想ブロックと物理ブロックとデータとの関係を説明する図である。再配置処理によって、ファイルFnを構成するデータDPが物理ブロックPa(P)に格納され、データDQが物理ブロックPa(P+1)に格納され、データDRが物理ブロックPa(P+2)に格納された状態になる。よって、仮想ブロックのアドレスが離れている場合であっても、仮想化スイッチ装置200から物理ボリューム内の連続する物理ブロックにアクセスすることが可能になる。
なお、使用可能な空き物理ブロックPfが複数ある場合、データ配置モジュール213は、データDQに関する処理とデータDRに関する処理を並行して実行することが可能になる。なお、上記例では、物理ブロックPa(P)に連続するブロックに再配置する処理とした。再配置のブロックは物理ブロックPa(P)に連続する必要は無く、任意のブロックで連続する位置に配置すればよい。
データ配置モジュール213は、仮想ブロック上で断片化したファイルを連続する物理ブロックに配置するため、ホスト装置100からのアクセスが物理ブロックに対してシーケンシャルなアクセスになる。この結果、アクセス性能は向上する。
仮想化スイッチ装置200は、仮想ボリュームを構成する物理ボリュームに対してのみ、デフラグメントの処理を行なう。このため、ホスト装置100はデータの再配置を意識する必要が無い。ホスト装置100からデータへのアクセスが不要であるため、ホスト装置100の負荷にならない。
また、データの再配置を行う際の一時データ格納領域として空いている物理ボリュームを利用することにより、仮想スイッチ装置200内に再配置処理に必要なメモリを用意する必要が無い。さらに、一時データ格納領域を増やすことにより容易に性能向上を実現できる。
本実施形態のストレージシステムの例である。 再配置処理の概要を説明する図である 再配置処理の概要を説明する図である 再配置処理の概要を説明する図である 仮想ボリュームと物理ボリュームとの関係を示す図である。 仮想ボリュームV1に関する仮想ボリューム情報222である。 性能情報223である。 アクセス状況情報224である。 アクセス計測処理のフローチャートである。 再配置処理のフローチャートである。 アクセス頻度を説明する図である。 仮想ブロックに対応する物理ブロックの入替処理のフローチャートである。 入替処理による仮想ブロックと物理ブロックとデータとの関係を説明する図である。 ファイルとデータとの関係を示す図である。 データ配置の説明図である。 図15の仮想ブロックと物理ブロックとデータとの関係を説明する図である。 連続するブロックに再配置する処理のフローチャートである。 再配置処理を実行した後の仮想ブロックと物理ブロックとデータとの関係を説明する図である。
符号の説明
100 ホスト装置
110 制御部
120 メモリ
121 ファイル処理プログラム
130 入出力部
200 仮想化スイッチ装置
210 制御部
220 メモリ
221 データ処理プログラム
222 仮想ボリューム情報
223 性能情報
224 アクセス状況情報
231 入出力部
232 入出力部
300 ストレージ装置
310 制御部
320 メモリ
330 データ格納部
340 入出力部
400 ストレージ装置
410 制御部
420 メモリ
430 データ格納部
500 ストレージ装置
510 制御部
520 メモリ
530 データ格納部
600 ネットワーク

Claims (4)

  1. データを格納する第一の物理記憶領域を有する第一のストレージ装置と、データを格納する第二の物理記憶領域を有しデータの読出しあるいは書込みの処理命令の受信から該処理命令の応答の送信までの処理を該第一のストレージ装置よりも短い時間で実行可能な第二のストレージ装置と、該第一のストレージ装置および該第二のストレージ装置に格納されたデータにアクセスするホスト装置とに接続され、該第一の物理記憶領域と該第二の物理記憶領域とを有する仮想記憶領域を管理するとともに該仮想記憶領域を所定の大きさで区分した仮想ブロックへのホスト装置からのアクセスに対して該仮想ブロックに対応する第一の物理記憶領域のブロックまたは第二の物理記憶領域のブロックへのアクセス頻度およびアクセス時刻を記憶するスイッチ装置のデータ管理方法であって、
    前記ホスト装置から前記仮想記憶領域の仮想ブロックへのアクセスがあると、該仮想記憶領域の仮想ブロックに対応する前記第一の物理記憶領域のブロックあるいは前記第二の物理記憶領域のブロックにアクセスするとともにアクセス頻度およびアクセス時刻を取得し、
    前記ホスト装置から前記仮想記憶領域の仮想ブロックへの前記アクセスに対して取得されたアクセス頻度が、所定値以上か否かを判断し、
    前記判断されたアクセス頻度が所定値以上の場合に、前記仮想記憶領域の仮想ブロックに対応する物理領域が前記第一の物理記憶領域のブロックの場合には、第二の物理記憶領域の中の最終アクセス時刻が、最も古いブロックを特定し、
    前記所定値以上と判断されたアクセス頻度が、前記特定された最終アクセス時刻が最も古いブロックのアクセス頻度より大きく、かつ前記第二の物理記憶領域に空きがない場合には、前記所定値以上と判断されたアクセス頻度に対応する前記第一の物理記憶領域のブロックと前記第二の物理記憶領域の前記特定された最終アクセス時刻が最も古いブロックとの間で、該ブロックの入替処理を実行することを特徴とするデータ管理方法。
  2. 前記ホスト装置から前記仮想記憶領域へのアクセスの回数によって前記アクセスの頻度を算出することを特徴とする請求項1に記載のデータ管理方法。
  3. 前記アクセス頻度は、前記ホスト装置から前記仮想記憶領域へのアクセスの回数とともに、最終アクセス時刻からの経過時間によって前記アクセスの頻度を算出することを特徴とする請求項に記載のデータ管理方法。
  4. データを格納する第一の物理記憶領域を有する第一のストレージ装置と、データを格納する第二の物理記憶領域を有しデータの読出しあるいは書込みの処理命令の受信から該処理命令の応答の送信までの処理を該第一のストレージ装置よりも短い時間で実行可能な第二のストレージ装置と、該第一のストレージ装置および該第二のストレージ装置に格納されたデータにアクセスするホスト装置とに接続可能なスイッチ装置であって、
    前記第一の物理記憶領域と前記第二の物理記憶領域とから構成される仮想記憶領域情報と、前記ホスト装置から前記仮想記憶領域を所定の大きさで区分した仮想ブロックへの前記ホスト装置からのアクセスに対して該仮想ブロックに対応する前記第一の物理記憶領域のブロックまたは前記第二の物理記憶領域のブロックへのアクセス頻度およびアクセス時刻を記憶するメモリと、
    前記ホスト装置から前記仮想記憶領域の仮想ブロックへのアクセスがあると、該仮想記憶領域の仮想ブロックに対応する前記第一の物理記憶領域のブロックあるいは前記第二の物理記憶領域のブロックにアクセスするとともに、アクセス頻度およびアクセス時刻を取得して前記メモリに記憶し、前記ホスト装置から前記仮想記憶領域の仮想ブロックへの前記アクセスに対して取得されたアクセス頻度が、所定値以上か否かを判断し、前記判断されたアクセス頻度が所定値以上の場合に、前記仮想記憶領域の仮想ブロックに対応する物理領域が前記第一の物理記憶領域のブロックの場合には、第二の物理記憶領域の中の最終アクセス時刻が、最も古いブロックを前記メモリの中から特定し、前記所定値以上と判断されたアクセス頻度が、前記特定された最終アクセス時刻が最も古いブロックのアクセス頻度より大きく、かつ前記第二の物理記憶領域に空きがない場合には、前記所定値以上と判断されたアクセス頻度に対応する前記第一の物理記憶領域のブロックと前記第二の物理記憶領域の前記特定された最終アクセス時刻が最も古いブロックとの間で、該ブロックの入替処理を実行する制御部と、を有することを特徴とするスイッチ装置。
JP2008096410A 2008-04-02 2008-04-02 データ管理方法及びスイッチ装置 Expired - Fee Related JP5186982B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008096410A JP5186982B2 (ja) 2008-04-02 2008-04-02 データ管理方法及びスイッチ装置
US12/410,543 US7975112B2 (en) 2008-04-02 2009-03-25 Switch apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008096410A JP5186982B2 (ja) 2008-04-02 2008-04-02 データ管理方法及びスイッチ装置

Publications (2)

Publication Number Publication Date
JP2009251751A JP2009251751A (ja) 2009-10-29
JP5186982B2 true JP5186982B2 (ja) 2013-04-24

Family

ID=41134313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008096410A Expired - Fee Related JP5186982B2 (ja) 2008-04-02 2008-04-02 データ管理方法及びスイッチ装置

Country Status (2)

Country Link
US (1) US7975112B2 (ja)
JP (1) JP5186982B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2518613A4 (en) * 2009-12-24 2013-10-02 Hitachi Ltd STORAGE SYSTEM FOR PROVIDING A VIRTUAL VOLUME
CN104808954B (zh) * 2009-12-24 2017-12-01 株式会社日立制作所 提供虚拟卷的存储***及其控制方法
US8819057B2 (en) * 2010-01-27 2014-08-26 Precise Software Solutions, Inc. Dynamic storage blocks tiering
WO2011096017A1 (ja) * 2010-02-08 2011-08-11 株式会社日立製作所 仮想ボリューム内のデータの再配置を行うストレージシステム及び方法
JP5684815B2 (ja) 2010-04-30 2015-03-18 株式会社日立製作所 計算機システム及びその制御方法
US8954671B2 (en) * 2011-10-28 2015-02-10 Hitachi, Ltd. Tiered storage device providing for migration of prioritized application specific data responsive to frequently referenced data
JP2013176915A (ja) * 2012-02-28 2013-09-09 Sharp Corp 設定情報記憶装置および画像処理装置
US9286472B2 (en) 2012-05-22 2016-03-15 Xockets, Inc. Efficient packet handling, redirection, and inspection using offload processors
US20130318276A1 (en) * 2012-05-22 2013-11-28 Xockets IP, LLC Offloading of computation for rack level servers and corresponding methods and systems
WO2014113056A1 (en) 2013-01-17 2014-07-24 Xockets IP, LLC Offload processor modules for connection to system memory
JP6212947B2 (ja) * 2013-05-16 2017-10-18 富士通株式会社 情報処理装置、制御装置及び制御プログラム
WO2015132873A1 (ja) * 2014-03-04 2015-09-11 株式会社 東芝 階層化ブロックストレージ装置を有するコンピュータシステム、ストレージコントローラ、及びプログラム
JP2015111434A (ja) * 2015-01-15 2015-06-18 株式会社日立製作所 計算機システム及びその制御方法
US11372580B2 (en) * 2018-08-07 2022-06-28 Marvell Asia Pte, Ltd. Enabling virtual functions on storage media
US11656775B2 (en) 2018-08-07 2023-05-23 Marvell Asia Pte, Ltd. Virtualizing isolation areas of solid-state storage media
US10860608B2 (en) 2018-10-25 2020-12-08 EMC IP Holding Company LLC Any point in time replication to the cloud
US11010314B2 (en) 2018-10-30 2021-05-18 Marvell Asia Pte. Ltd. Artificial intelligence-enabled management of storage media access
US11481118B2 (en) 2019-01-11 2022-10-25 Marvell Asia Pte, Ltd. Storage media programming with adaptive write buffer release
US11620056B2 (en) * 2019-06-28 2023-04-04 EMC IP Holding Company LLC Snapshots for any point in time replication

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0659982A (ja) * 1992-08-10 1994-03-04 Hitachi Ltd 仮想記憶制御方法および装置
JP3238558B2 (ja) 1993-12-13 2001-12-17 株式会社東芝 ファイル再配置装置およびファイル再配置方法
JP2000276363A (ja) * 1999-03-26 2000-10-06 Nec Corp 記憶階層システムにおけるスワッピング処理方法ならびに装置
DE19961499A1 (de) * 1999-12-20 2001-07-05 Ericsson Telefon Ab L M Caching von Objekten in Platten-gestützten Datenbanken
JP4087097B2 (ja) * 2001-11-12 2008-05-14 株式会社日立製作所 データベース管理システム情報を考慮したデータ再配置方法およびデータ再配置を行う計算機システム
US7433948B2 (en) * 2002-01-23 2008-10-07 Cisco Technology, Inc. Methods and apparatus for implementing virtualization of storage within a storage area network
JP4322031B2 (ja) * 2003-03-27 2009-08-26 株式会社日立製作所 記憶装置
JP3744504B2 (ja) 2003-04-01 2006-02-15 株式会社日立製作所 プロセッサ装置
JP5000234B2 (ja) 2006-08-24 2012-08-15 株式会社日立製作所 制御装置
JP4859595B2 (ja) * 2006-09-01 2012-01-25 株式会社日立製作所 記憶システム、そのデータ再配置方法、データ再配置プログラム

Also Published As

Publication number Publication date
JP2009251751A (ja) 2009-10-29
US20090254719A1 (en) 2009-10-08
US7975112B2 (en) 2011-07-05

Similar Documents

Publication Publication Date Title
JP5186982B2 (ja) データ管理方法及びスイッチ装置
US10042560B2 (en) Method and storage array for processing a write data request
US8566550B2 (en) Application and tier configuration management in dynamic page reallocation storage system
JP5347061B2 (ja) フラッシュメモリデータストレージデバイスにデータを格納するための方法及び装置
WO2013171794A1 (en) Method of data migration and information storage system
US20160239412A1 (en) Storage apparatus and information processing system including storage apparatus
US20110271070A1 (en) Memory usage scanning
JP6067819B1 (ja) 階層化ストレージシステム、ストレージコントローラ、並びに重複排除及びストレージ階層化のための方法
US20100299491A1 (en) Storage apparatus and data copy method
KR20150081424A (ko) 순응적 존속을 위한 시스템, 방법 및 인터페이스
CA2920004C (en) Data deduplication method and storage array
US8725971B2 (en) Storage apparatus and method for controlling storage apparatus involving snapshots
US10095442B2 (en) Memory device that changes execution order of commands
JP5910128B2 (ja) 仮想テープ装置及び仮想テープ装置の制御方法
CN110300960B (zh) 信息***、管理程序和信息***的程序更换方法
JP6028415B2 (ja) 仮想サーバ環境のデータ移行制御装置、方法、システム
US8775775B1 (en) Dynamic prefetch throttling for multi-controller systems
US20150100663A1 (en) Computer system, cache management method, and computer
US11907746B2 (en) Compound storage system
US9459801B2 (en) Tiered storage system provided with trial area, storage controller, area allocation method and storage medium
US20150067285A1 (en) Storage control apparatus, control method, and computer-readable storage medium
JP6924671B2 (ja) データ書込み要求処理方法及びストレージアレイ
KR20180133730A (ko) 스토리지 시스템 및 이의 동작 방법
US20150254187A1 (en) Storage device, information processing apparatus, and cache control program
EP4033346B1 (en) Affinity-based cache operation for a persistent storage device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121119

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130107

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160201

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees