JP2011081580A - 計算機システム及び計算機システムの入出力方法 - Google Patents

計算機システム及び計算機システムの入出力方法 Download PDF

Info

Publication number
JP2011081580A
JP2011081580A JP2009232958A JP2009232958A JP2011081580A JP 2011081580 A JP2011081580 A JP 2011081580A JP 2009232958 A JP2009232958 A JP 2009232958A JP 2009232958 A JP2009232958 A JP 2009232958A JP 2011081580 A JP2011081580 A JP 2011081580A
Authority
JP
Japan
Prior art keywords
virtual
request
computer
computer system
volume
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.)
Pending
Application number
JP2009232958A
Other languages
English (en)
Inventor
Hiroshi Mine
博史 峯
Osamu Takeuchi
理 竹内
Masaru Nomura
賢 野村
Moal Damien Le
ダミエン レモアル
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
Priority to JP2009232958A priority Critical patent/JP2011081580A/ja
Priority to US12/895,169 priority patent/US20110082950A1/en
Publication of JP2011081580A publication Critical patent/JP2011081580A/ja
Pending legal-status Critical Current

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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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

Abstract

【課題】
シンプロビジョニング技術等によりストレージ装置が仮想化されている環境においては、仮想ボリューム全体のI/O特性を静的に見積もることは困難であり、仮想ボリューム単位の特性に基づくI/Oスケジューリングでは、計算機による入出力制御の効果を十分には得られないという課題があった。
【解決手段】
仮想ボリュームにアクセスする際にアクセス対象となる仮想ボリュームの記憶領域に対応する実記憶領域が存在するストレージ装置の特性情報を取得し、仮想ボリュームに対するI/O要求が複数のストレージ装置に跨る場合にI/O要求をストレージ装置ごとに分割し、取得した実領域の特性情報に基づいてI/Oスケジューリングを行い、I/Oスケジューリング結果に従ってストレージ装置に直接I/O要求を発行する。
【選択図】図1

Description

本発明は、仮想化されたストレージ装置に対する計算機の入出力性能向上技術に関する。
計算機とストレージ装置をネットワークで接続し、計算機からストレージ装置に対するデータの入出力(I/O, Input/Output)をネットワーク経由で行う計算機システムが実用化されている。これら計算機とストレージ装置を結ぶネットワークはSAN(Storage Area Network)と呼ばれ、装置間の通信プロトコルにはFC(Fibre Channel)やiSCSI(Internet Small Computer System Interface)等が用いられている。
SAN環境において、複数のストレージ装置に分かれて存在する記憶領域をまとめてひとつの仮想的なボリューム(仮想ボリューム)として計算機に提供する計算機システムが、特許文献1に開示されている。さらに、仮想ボリュームへの実記憶領域の割り当てを動的に行うシンプロビジョニング(Thin Provisioning)と呼ばれる技術が、特許文献2に記載されている。シンプロビジョニング技術では、初期段階で割り当てたストレージ装置の実記憶領域よりも大きな容量を持つ仮想ボリュームを計算機に提供することがき、将来、実際の使用状況に応じて仮想ボリュームに割り当てる実記憶領域を追加することにより、仮想ボリュームへの実記憶領域の過剰割り当て(オーバープロビジョニング, Over Provisioning)を防止することができる。
また、複数のHDD(Hard Disk Drive)等のディスク装置を備えるディスクアレイ装置において、各HDDのシーク時間等をもとに外部からのI/O要求の実行順序の並び替えるI/Oスケジューリングを行うことにより、データ転送処理速度等を向上する技術が特許文献3に開示されている。
特開2003−316616号公報 特開2009−43055号公報 特開平9−160729号公報
前記仮想化技術により提供される仮想ボリュームは、複数のストレージ装置の記憶領域から構成される可能性がある。特に、シンプロビジョニング環境下では、仮想ボリュームの記憶領域は、プロビジョニングのブロック単位で複数のストレージ装置の実記憶領域に細粒度で分散配置される可能性がある。したがって、計算機からみた仮想ボリュームの連続領域は、複数のストレージ装置の記憶領域の不連続な領域となる可能性があり、計算機から仮想ボリュームに対するシーケンシャルアクセスは、仮想ボリュームを構成する複数のストレージ装置に対するランダムアクセスとなる場合がある。さらに、仮想ボリュームを構成するストレージ装置は均質である必要はなく、ひとつの仮想ボリュームが、データ転送帯域幅やIOPS(Input Output Per Second)等の特性の異なる複数のストレージ装置から構成される可能性があり、仮想ボリュームに対するI/Oの特性は、プロビジョニングのブロック単位で異なる場合がある。
このような仮想化ストレージ環境下においては、仮想ボリューム全体のI/O特性を静的に見積もることは困難であり、単一仮想ボリュームに対するI/Oでアクセスであってもアクセスする領域によってI/O特性に差異が生じる。したがって、計算機においてリアルタイム性の向上やデータ転送処理の効率化のために入出力制御を行う場合、仮想ボリューム単位の特性に基づくI/Oスケジューリングでは、I/O実行時間等の見積もり精度が低くなり、入出力制御の効果を十分には得られないという課題があった。
本発明は、前記課題を解決する、仮想ボリュームを提供する仮想化されたストレージ装置に対する計算機のI/Oスケジューリングの精度を高めることにより、I/O性能を向上する方法および装置を提供することを目的とする。
前記目的を達成するために、仮想ボリュームにアクセスする際にアクセス対象となる仮想ボリュームの記憶領域に対応する実記憶領域が存在するストレージ装置の特性情報を取得し、仮想ボリュームに対するI/O要求が複数のストレージ装置に跨る場合にI/O要求をストレージ装置ごとに分割し、取得した実領域の特性情報に基づいてI/Oスケジューリングを行い、I/Oスケジューリング結果に従ってストレージ装置に直接I/O要求を発行する。
本発明によれば、シンプロビジョニング技術を用いたストレージ仮想化環境下で、計算機におけるI/Oスケジューリングの精度を高めることができ、さらに、仮想化されたストレージ装置に対する計算機のI/O性能を向上する方式および装置を提供することができる。
図1は、計算機システムの構成を表す図である。 図2は、計算機100の構成を表す図である。 図3は、仮想化装置200の構成を表す図である。 図4は、ストレージ装置300の構成を表す図である。 図5は、プロビジョニング情報220の詳細を表す図である。 図6は、仮想ボリューム構成情報221の詳細を表す図である。 図7は、仮想ボリューム情報222の詳細を表す図である。 図8は、マッピング情報223の詳細を表す図である。 図9は、物理ボリューム使用状況情報224の詳細を表す図である。 図10は、ストレージ装置特性情報230の詳細を表す図である。 図11は、装置間メッセージ500の詳細を表す図である。 図12は、I/Oスケジューラ130のモジュール構成を表す図である。 図13は、I/Oスケジューラ130における仮想I/O受付処理のフローチャートを表す図である。 図14は、I/Oスケジューラ130における実I/O発行処理のフローチャートを表す図である。 図15は、I/Oスケジューラ130における仮想I/O応答処理のフローチャートを表す図である。 図16は、仮想化装置200における仮想I/O変換処理のフローチャートを表す図である。 図17は、実施例2の計算機システムの構成を表す図である。 図18は、実施例3の計算機システムの構成を表す図である。
以下、本発明を実施するための最良の形態について、図面を用いて説明する。なお、各図面で同様の構成には同じ符号を付しその説明を省略する。
図1は、本実施例の計算機システムの構成を表す図である。本実施例の計算機システムは、計算機100、仮想化装置200、および、ストレージ装置300を有し、それぞれネットワーク400と、管理ネットワーク800により相互に接続されている。
計算機100は、制御部110を有する。制御部110は、計算機100の動作を制御する。制御部110では、アプリケーションソフトウェア120、I/Oスケジューラ130、OS(Operating System)140が動作する。計算機100は本システムのユーザにアプリケーションソフトウェア120によるサービスを提供する。
仮想化装置200は、制御部210を有する。制御部210は、仮想化装置200の動作を制御する。制御部210には、プロビジョニング情報220およびストレージ装置特性情報230が格納されている。仮想化装置200は、計算機100に対して、ストレージ装置300を利用して、仮想化機能を提供する。
ストレージ装置300は、制御部310と、記憶領域320を有する。制御部310は、ストレージ装置300の動作を制御する。ストレージ装置300は、記憶領域320の一部あるいは全部を、物理ボリュームとして計算機100に提供する。仮想化装置200の仮想化機能により計算機100に提供される仮想ボリューム330は、複数のストレージ装置300の記憶領域320上の物理ボリュームから構成される。
ネットワーク400は、例えば、SAN、LAN(Local Area Network)、WAN(Wide Area Network)、または、それらを組み合わせたもので構成される。計算機100は、仮想化装置200と、ネットワーク400を介して装置間メッセージ500を通信し、仮想化装置200の提供するストレージ装置300の仮想化機能を利用する。計算機100は、また、ストレージ装置300とネットワーク400を介して実I/O要求600を通信し、ストレージ装置300の記憶領域320に格納されるデータにアクセスする。
管理端末700は、各ストレージ装置300の構成情報を保持し、計算機や仮想化装置に対して、構成情報を管理ネットワーク800を介して、送受信する。
図2は、計算機100の構成図である。制御部110は、CPU(Central Processing Unit)111、I/Oインタフェース112、および、メモリ113を有する。なお、計算機100は、ディスプレイやキーボード等の入出力手段を有する。
CPU111は、メモリ113上のプログラムを実行することにより、計算機100を制御し、ユーザにサービスを提供する。
ホストバスアダプタ112は、ネットワーク400に接続するためのインタフェースであり、SAN等のFC接続に使用される。なお、FC接続に限られず、LAN、WAN等のIP(Internet Protocol)接続の場合はNIC(Network Interface Card)や、Infiniband等を使用できることができる。
ネットワークインタフェース117は、管理ネットワーク800と接続され、仮想化装置200やストレージ装置300との間で、管理情報の送受信に使用され、本実施例では、NICを使用しているが、他のインタフェースを使用できる。本実施例では、ネットワークインタフェース117を用いてアウトオブバンド接続しているが、これに限られず、ホストバスアダプタ112を利用して、構成情報を送受信するインバンド接続等を用いることができる。
メモリ113は、RAM(Random Access Memory)等の記憶領域であり、アプリケーションプログラム114、I/Oスケジューラプログラム115、および、OSプログラム116を格納する。これらのプログラムは、実行ファイルとして計算機100上のROM(Read Only Memory)等の不揮発記憶領域、内臓HDD、または、ストレージ装置300上の記憶領域320に格納されており、計算機100の起動時に、メモリ113に読み込まれる。
アプリケーションプログラム114は、アプリケーションソフトウェア120を実現するプログラムであり、例えば、映像配信サービスを提供するストリーミングサーバプログラム、データベースサービスを提供するDBMS(Data Base Management Service System)プログラム、バックアップサービスを提供するバックアッププログラム等がある。これらのプログラムが発行するI/O要求には、例えば、ストリーミングサーバプログラムは映像データを読み出すI/O要求に期限(デッドライン)を設定しており期限内に終了しなかったI/O結果を配信せずに破棄する、バックアップサービスのI/O要求の優先度は低くDBMSプログラム等の他のプログラムのI/O要求の後回しにしてもよい、等の性質がある。
I/Oスケジューラプログラム115は、I/Oスケジューラ130を実現するプログラムである。I/Oスケジューラ130の構成および動作の詳細は後述する。
OSプログラム116は、OS140を実現するプログラムである。OS140は、I/Oインタフェース112を制御するデバイスドライバ、仮想化装置200およびストレージ装置300との通信を制御する通信プロトコルスタック、アプリケーションソフトウェア120の実行を制御するプロセススケジューラ等からなり、計算機100を制御する基本的な機能を提供する。
図3は、仮想化装置200の構成図である。基本的に、計算機100と同様の構成であるが、メモリ113上に格納されるプログラムとして、プロビジョニング情報220と、ストレージ装置特性情報230を有する点が計算機100と異なる。プロビジョニング情報220とストレージ装置特性情報230の詳細は、後述する。
図4は、ストレージ装置300の構成図である。ストレージ装置300は、制御部310、キャッシュメモリ32、共有メモリ33、物理ボリューム34、電源スイッチ35及び電源36を有する。物理ボリューム34は、たとえば、HDD、SSD(Solid State Drive)等の記憶装置である。HDDは、FC、SATA(Serial Advanced Technology Attachment)、PATA(Parallel Advanced Technology Attachment)やSAS(Serial Attached SCSI)用のHDD等を使用できる。SSDもSLC(Single Level Cell)タイプやMLC(Multi Level Cell)タイプのほか、半導体記憶素子を利用したものを使用できる。コントローラ310は、単体又は、複数の物理ボリューム34によるRAID(Redundant Arrays of Inexpensive/Independent Disks)構成により、データを格納する。キャッシュメモリ32は、物理ボリューム34に読み書きされるデータを一時的に格納する。共有メモリ33は、コントローラ31や物理ボリューム34の構成情報が格納される。物理ボリューム34は、計算機100や仮想化装置200に対して、記憶領域320を提供する。電源36は、ストレージ装置30の各部に電力を供給する。電源スイッチ35は、電源36から電力の供給を制御するスイッチである。
制御部310は、ホストアダプタ390、ネットワークアダプタ320、ネットワークアダプタ320、不揮発性メモリ330、電源制御部340、メモリ350、プロセッサ360、ストレージアダプタ370及び共有メモリアダプタ380によって構成される。
ホストアダプタ310は、ストレージネットワーク50を介して計算機100や仮想化装置200との間でデータを送受信する。ネットワークアダプタ320は、管理ネットワーク800を介して計算機100又は仮想化装置200との間でデータを送受信する。
不揮発性メモリ330は、ハードディスクやフラッシュメモリで構成され、コントローラ31で動作するプログラムや構成情報等が格納される。電源制御部340は、電源36から供給される電力を制御する。
メモリ350は、例えばRAM等で構成され、プログラムやデータ等が格納される。プロセッサ360は、不揮発性メモリ330に格納されているプログラムをメモリ350に読み込んで、そのプログラムに規定された処理を実行する。
ストレージアダプタ370は、物理ボリューム34及びキャッシュメモリ32との間でデータを送受信する。
外部ストレージ装置301は、直接、Fibre Channel などの通信線37、あるいは、ネットワーク400を介して、ストレージ300と接続される。ストレージ装置300は、外部ストレージ装置301の物理ボリューム34を装置内の物理ボリューム34と同様に、使用することができる。
図5は、仮想化装置200の制御部210上に格納されるプロビジョニング情報220の詳細を示す図である。プロビジョニング情報220は、仮想ボリューム構成情報221、仮想ボリューム情報222、マッピング情報223、物理ボリューム使用状況情報224からなる。これらの情報を用いて、制御部210上のシンプロビジョニングプログラムは、ストレージ装置300上の記憶領域320を仮想化した仮想ボリューム330を計算機100に提供する。
図6は、仮想ボリューム構成情報221の詳細を示す図である。仮想ボリューム構成情報221は、仮想ボリューム名、ストレージ装置名、物理ボリューム名、物理容量からなる。ここで、仮想ボリューム名および物理ボリューム名は、ボリュームを識別するIDであり、例えば、LU(Logical Unit)番号に関連付けられる。同様に、ストレージ装置名は、ストレージ装置300を識別するIDであり、例えば、FC接続の場合はWWN(World Wide Name)に、IP接続の場合はIPアドレスに関連付けられる。物理容量は、ストレージ装置名と物理ボリューム名で特定される物理ボリュームの容量である。
本システムの管理者は、仮想ボリューム構成情報221に、新たな仮想ボリューム名と、それを構成するストレージ装置名と物理ボリューム名を追加することにより、仮想ボリューム330を作成する。管理者は、また、仮想ボリューム330の運用中に、ストレージ装置名と物理ボリューム名で指定される新たな物理ボリューム追加することで、仮想ボリューム330の物理容量を増加することができる。
本図の例では、仮想ボリュームV1は、4TBの容量を持つストレージ装置S1の物理ボリュームP1と、8TBの容量を持つストレージ装置S2の物理ボリュームP2と、4TBの容量を持つストレージ装置S3の物理ボリュームP1からなることを表す。
図7は、仮想ボリューム情報222の詳細を表す。仮想ボリューム情報222は、仮想ボリューム名、仮想容量、物理容量、使用容量からなる。仮想ボリューム名は、仮想ボリューム構成情報221の仮想ボリューム名と対応する。仮想容量は、計算機100に見せる仮想ボリューム330の容量であり、管理者が、仮想ボリューム330の構成時に設定する。物理容量は仮想ボリューム330を構成する物理ボリュームの物理容量の合計である。使用容量は、仮想ボリューム330の実際の使用容量を表し、仮想ボリューム330を構成する物理ボリュームの使用容量の合計と等しい。
本図の例では、仮想ボリュームV1は20TBの仮想容量を持ち、その物理容量は16TBであり、実際の使用容量は10TBであることを表す。
図8は、マッピング情報223の詳細を表す。マッピング情報223は、仮想ボリューム名、仮想ブロック番号、ストレージ装置名、物理ボリューム名、ブロック番号からなり、仮想ボリューム330の仮想ブロック番号で指定される領域が、実際にどのストレージ装置300の物理ボリュームのブロック番号で指定される記憶領域320に配置されているかを表す。ここで、仮想ブロック番号およびブロック番号は、それぞれ、仮想ボリューム330および物理ボリュームの領域を、先頭からプロビジョニングのブロックサイズ、例えば64KB単位で区切った領域の番号を表す。したがって、仮想ボリューム330毎の仮想ブロック番号の最大値は、対応する仮想ボリューム情報222の仮想容量をブロックサイズで除した商である。なお、使用されていない、すなわち、一度もアクセスされていない仮想ブロック番号については、ストレージ装置名に無効な値(例えばヌル)が設定されていればよい。使用されている仮想ブロックの数に、ブロックサイズを乗じた値が、仮想ボリューム情報222の使用容量となる。
本図の例では、仮想ボリュームV1の仮想ブロック番号1の領域は、ストレージ装置S1の物理ボリュームP1のブロック番号1の領域に配置されていることを表す。
図9は、物理ボリューム使用状況情報224の詳細を表す。物理ボリューム使用状況情報224は、ストレージ装置名、物理ボリューム名、ブロック番号、使用状況からなり、ストレージ装置名および物理ボリューム名で指定される物理ボリュームについて、領域のプロビジョニングのブロック単位での使用状況を表す。物理ボリューム毎のブロック番号の最大値は、対応する仮想ボリューム構成情報221の物理容量をブロックサイズで除した商である。物理ボリュームの使用されている領域、すなわち、マッピング情報223に記載があるブロック番号に対応する使用状況は済となる。
本図の例では、ストレージ装置S1の物理ボリュームP1について、ブロック番号1の領域は使用済みであるが、ブロック番号4の領域は未使用であることを表す。
図10は、仮想化装置200の制御部210上に格納されるストレージ装置特性情報230の詳細を示す図である。ストレージ装置特性情報230は、ストレージ装置名、物理ボリューム名、I/O帯域幅、IOPS、遅延を有し、ストレージ装置300および物理ボリュームの特性を表す。ここで、I/O帯域幅はおよびIOPSは、対応する物理ボリュームの実効I/O帯域幅および実効IOPSを、遅延は、I/O要求の処理遅延を格納する。これらの値は、仮想ボリューム330を構築する際に、管理者が、カタログ値等に基づき指定してもよく、計算機100からストレージ装置300に実際にI/Oアクセスを行った実測値を用いてもよい。また、例えば、I/O帯域幅を対応するストレージ装置300の接続ポートのリンクスピードとしてもよく、遅延に計算機からストレージ装置に対する往復通信遅延を加味してもよい。
本図の例では、ストレージ装置S1の物理ボリュームP1のI/O帯域幅は4Gbpsであり、IOPSは100k、遅延は5msであることを表す。
図11は、装置間メッセージ500の詳細を表す。装置間メッセージ500には、仮想I/O変換要求510、仮想I/O変換応答520、キャッシュ破棄要求530がある。仮想I/O変換要求510は、計算機100から仮想化装置200に対して送信されるメッセージであり、仮想ボリューム300に対するI/O要求を、ストレージ装置300の記憶領域320に対する実I/O要求600に変換するために使用する。仮想I/O変換応答520は、仮想化装置200から計算機100に対し送信されるメッセージであり、仮想I/O変換要求510に対応する応答に使用する。キャッシュ破棄要求530は、仮想化装置200から計算機100に対して送信されるメッセージであり、計算機100に、制御部110にキャッシュされている対応する仮想I/O変換に関する情報を破棄させるために使用する。
仮想I/O変換要求510は、仮想ボリューム名、オフセット、レングス、タイプからなる。仮想ボリューム名はアクセス対象となる仮想ボリューム330の識別名であり、オフセット、レングスは、アクセスする仮想ボリューム330の領域の範囲を、例えば、セクタサイズ単位のLBA(Logical Block Address)とセクタ数で表す。LBAおよびセクタ数は、仮想化装置200内部では、プロビジョニングのブロックサイズの仮想ブロック番号に変換されて処理される。タイプは、読み出しR(Read)、書き込みW(Write)、消去C(Clear)がある。タイプが消去Cの場合、仮想ボリューム330の対応する領域、すなわち、マッピング情報223によりそこに割り当てられていた物理ボリュームの領域が未使用として扱われるようになる。本図の例では、仮想ボリュームV1に対するLBAオフセット120番地から32セクタ分の読み込みアクセス要求であることを表す。
仮想I/O変換応答520は、ストレージ装置名、物理ボリューム名、オフセット、レングス、I/O帯域、IOPS、遅延からなる。ここで、ストレージ装置名、物理ボリューム名、オフセット、および、レングスは、対応する仮想I/O変換要求530で指定された仮想ボリューム330の領域を、マッピング情報223を用いて対応する物理ボリュームの領域に変換することで求められ、さらに、I/O帯域、IOPS、遅延は、対応する物理ボリュームのストレージ装置特性情報230に格納されている値から求められる。なお、仮想I/O変換要求510で指定される領域が、プロビジョニングのブロックの境界を跨ぐ場合等に、仮想I/O変換応答520は、複数の物理ボリュームに対する情報を格納する可能性がある。本図の例では、ストレージ装置S1の物理ボリュームP1のLBAオフセット120番地から8セクタ分のアクセスと、ストレージ装置S2の物理ボリュームP2のLBAオフセット0番地から24セクタ分のアクセスと、それぞれの物理ボリュームの特性情報からなる応答であることを表す。
キャッシュ破棄要求530は、仮想ボリューム名からなる。計算機100は、キャッシュ破棄要求530を受け取った場合、キャッシングしている仮想ボリューム名に対応する仮想ボリューム330に関する仮想I/O変換の情報を破棄する。キャッシュ破棄要求530は、仮想化装置200が、例えば、シャドウコピー技術等を用いて仮想ボリューム330を構成する物理ボリュームの内容を別の物理ボリュームにマイグレーションした等でマッピング情報223を差し替えた場合に発行する。
図12は、計算機100のI/Oスケジューラ130のモジュール構成及び、本実施例の動作概要を示す図である。I/Oスケジューラ130は、仮想I/O要求受付部131、仮想I/O変換要求発行部132、仮想I/O分割部133、I/Oスケジューリング部134、実I/O発行待ち行列135、実I/O要求発行部136、仮想I/O再構成部137、仮想I/O完了待ち行列138、仮想I/O結果応答部139を有する。以下、フローチャートを用いてI/Oスケジューラ130の処理の流れ、ならびに、各モジュールの動作を説明する。
図13は、I/Oスケジューラ130における仮想I/O受付処理のフローチャートを表す図である。
最初に、仮想I/O要求受付部131は、アプリケーションソフトウェア120から仮想ボリューム330に対する仮想I/O要求を受け付ける(ステップS1100)。この際、アプリケーションソフトウェア120がストリーミングサーバアプリケーションのように、I/Oのデッドラインを考慮する場合は、デッドラインをあわせて受け取り、仮想I/O要求にデッドラインを関連付ける。アプリケーションソフトウェア120がDBMSアプリケーションのようにデッドラインを指定しない場合は、仮想I/O要求のデッドラインは無期限として扱えばよい。また、アプリケーションソフトウェア120が明示的に優先度を指定した場合は、優先度を合わせて受け取り、仮想I/O要求に関連付ける。アプリケーションソフトウェア120が明示的に優先度を指定しなかった場合は、OS140内のプロセススケジューラで、アプリケーションソフトウェア120に割り当てられている実行優先度を用いてもよい。また、仮想I/O要求受付部131内で、実行ファイル名とI/O優先度からなる表を管理しておき、仮想I/O要求を受け付ける際に、仮想I/O要求を発行したアプリケーションソフトウェア120の実行ファイル名をOS140から取得し、実行ファイル名とI/O優先度からなる表から対応するI/O優先度を決定してもよい。この表は、例えば、バックアップアプリケーションの実行ファイル名に一致する場合はI/O優先度が最低となるような値を格納している。この表の内容は、広く用いられているアプリケーションソフトウェア120の実行ファイル名とその性質に基づいてI/Oスケジューラプログラム115にあらかじめ組み込まれていてもよいし、管理者が計算機100の構築時に設定してもよい。仮想I/O要求受付部131は、受け取った仮想I/O要求を、デッドライン、優先度等の情報とあわせて仮想I/O変換要求発行部132に渡す。
次に、仮想I/O変換要求発行部132は、仮想I/O要求受付部131から受け取った仮想I/O要求から、仮想I/O変換要求510を生成し、生成した仮想I/O変換要求510を仮想化装置200に送信する(ステップS1110)。仮想I/O変換要求発行部132は、仮想化装置200から仮想I/O変換応答520を受け取り、仮想I/O要求とあわせて仮想I/O分割部133に渡す。ここで、仮想I/O変換要求発行部132は、仮想I/O変換応答520の内容を内部の記憶領域にキャッシングしておいてもよい。この場合、仮想I/O変換要求発行部132は、受け取った仮想I/O要求が、すでにキャッシュされている内容の領域と一致する場合は、仮想化装置200と通信せずに、キャッシュされている内容から仮想I/O変換応答520に相当する内容を生成し、仮想I/O分割部133に渡してもよい。キャッシングを行う場合、仮想I/O変換要求発行部132は、仮想化装置200からキャッシュ破棄要求530を受け取った場合、キャッシュされている内容のうち対象となる仮想ボリューム330に関連する情報を破棄する。
次に、仮想I/O分割部133は、仮想I/O変換要求発行部132から受け取った仮想I/O要求を、同じく仮想I/O変換要求発行部132から受け取った仮想I/O変換応答520の内容に応じて実I/O要求に変換する(ステップS1120)。ここで、ひとつの仮想I/O要求が複数の実I/O要求に分割される場合がある。実I/O要求には、元の仮想I/O要求と、デッドライン、優先度、発行対象となる物理ボリュームの特性等の情報が関連付けられる。仮想I/O分割部133は、変換した実I/O要求を仮想I/Oスケジューリング部134に渡す。
次に、I/Oスケジューリング部134は、仮想I/O分割部133から受け取った新たな実I/O要求について、例えば、デッドラインスケジューリングを行う場合、発行対象となる物理ボリュームのI/O帯域幅、遅延特性、レングス等の情報に基づき新たな実I/O要求の実行時間を見積もる(ステップS1130)。
次に、I/Oスケジューリング部134は、すでに実I/O発行待ち行列135に入っている実I/O要求の実行時間の見積もりと比較しつつ、それぞれのデッドラインを満たすかどうか判定する(ステップS1140)。
デッドラインを満たす場合(ステップS1140においてYES)、I/Oスケジューリング部134は、必要に応じて実I/O発行待ち行列135内の実I/O要求の実行順序を並び替えつつ、実I/O発行待ち行列135に新たな実I/O要求を加え(ステップS1150)、処理を終了する。I/Oスケジューリング部134は、実I/O要求を実I/O発行待ち行列135に加える際に、見積もった実行時間とデッドラインに基づき、例えば、異なるストレージ装置300への実I/O要求と並列に実行するように実行予定時刻を付加することで、計算機100のI/O性能の向上を図ることがきる。
デッドラインを満たさない、すなわち、新たな実I/O要求とすでに実I/O発行待ち行列135に入っている実I/O要求を合わせると、例えば、対象となる実ボリュームのI/O帯域、あるいは、IOPSを超過する等のために、デッドラインを満たせないと予想される場合(ステップS1140においてNO)、I/Oスケジューリング部134は、元の仮想I/O要求のデッドラインミスとして処理し、実I/O要求を発行することなく仮想I/O要求を発行したアプリケーションソフトウェア120にエラー応答する(ステップS1160)。これにより、すでに実I/O発行待ち行列135に入っている実I/O要求に影響を与えずに済む。この時、新たな実I/O要求をデッドラインミスとして処理するのではなく、I/Oの優先度を考慮し、すでに実I/O発行待ち行列135に入っている同じ物理ボリュームを対象とする実I/O要求の内優先度の低いものをデッドラインミスとして処理してもよい。
図14は、I/Oスケジューラ130における実I/O発行処理のフローチャートを表す。
最初に、実I/O要求発行部136は、実I/O発行待ち行列135から実I/O要求を実行順序順に取り出す(ステップS1200)。
次に、実I/O要求発行部136は、取り出した実I/O要求を、対象となる物理ボリュームをもつストレージ装置300に対して実I/O要求600として直接発行する(ステップS1210)。
最後に、実I/O要求発行部136は、ストレージ装置300より実I/O要求の結果を受け取ると、実I/O結果として仮想I/O再構成部137へ渡し(ステップS1220)、処理を終了する。
図15は、I/Oスケジューラ130における仮想I/O再構成処理のフローチャートを表す。
最初に、仮想I/O再構成部137は、実I/O要求発行部136から実I/O結果を受け取る(ステップS1300)。
次に、仮想I/O再構成部137は、受け取った実I/O結果の元の仮想I/O要求に関連する全ての実I/O要求が完了しているかを判定する(ステップS1310)。ここで、元の仮想I/O要求が複数の実I/O要求に分割されている場合は、仮想I/O完了待ち行列138を参照し、元の仮想I/O要求に関連する他の全ての実I/O結果が格納されているかを検査する。
元の仮想I/O要求に関連する実I/O要求のうち完了していないものがある場合(ステップS1310においてNO)、仮想I/O再構成部137は、受け取った実I/O結果を仮想I/O完了待ち行列138に追加し(ステップS1320)、処理を終了する。
元の仮想I/O要求に関連する全ての実I/O要求が完了している場合(ステップS1310においてYES)、仮想I/O再構成部137は、仮想I/O完了待ち行列138から元の仮想I/O要求に関連する全ての実I/O結果を取り出し、受け取った実I/O結果とあわせて、元の仮想I/O要求の結果として再構成する(ステップS1330)。仮想I/O再構成部137は、再構成した仮想I/O要求の結果を、仮想I/O結果応答部139に渡す。
最後に、仮想I/O結果応答部139は、仮想I/O再構成部137から受け取った仮想I/O要求の結果を、仮想I/O要求を発行したアプリケーションソフトウェア120に応答し(ステップS1340)、処理を終了する。
以上の処理により、本実施例の計算機100のI/Oスケジューラ130は、アプリケーションソフトウェア120の発行する仮想I/O要求を実I/O要求に分割、変換し、元の仮想I/O要求を発行したアプリケーションソフトウェア120の性質およびストレージ装置300の物理ボリュームの特性を利用してI/Oスケジューリングを行い、I/Oスケジューリング結果に応じてストレージ装置300に直接実I/O要求600を発行する。
図16は、仮想化装置200における仮想I/O変換処理のフローチャートを表す図である。
最初に、仮想化装置200の制御部210は、計算機100より仮想I/O変換要求510を受信する(ステップS1400)。
次に、制御部210は、受信した仮想I/O変換要求510のオフセットおよびレングスで指定される領域をプロビジョニングのブロックサイズである仮想ブロック単位のI/O要求に変換する(ステップS1410)。この時、仮想I/O変換要求510で指定される領域がプロビジョニングのブロック境界を跨ぐ場合は、複数の仮想ブロックに対するI/O要求に分割される。
次に、制御部210は、分割した仮想ブロックに対するI/O要求のそれぞれについて、マッピング情報223を参照して既に物理ボリュームの実ブロックが割り当てられているか判定する(ステップS1420)。
実ブロックが割り当てられていない場合(ステップS1420においてNO)、制御部210は、仮想ボリューム構成情報221および物理ボリューム使用状況情報224を参照し、仮想ボリューム330を構成する物理ボリュームの未使用ブロックを、マッピング情報223の対応する仮想ブロック番号の欄に追加することで、仮想ボリューム330に新たな実ブロックを割り当てる(ステップS1430)。この時、制御部210は、仮想ボリューム情報223、物理ボリューム使用状況情報224を合わせて更新する。仮想ボリューム330を構成する物理ボリュームの未使用ブロックがない場合は、仮想化装置100に対してエラー応答を行う。この時、制御部210は、例えば、仮想化装置200のシステムログ等を用いて、管理者に仮想ボリューム330に割り当てられている物理ボリュームの領域を使い切ったことをエラーとして通知してもよい。また、制御部210は、全ての未使用ブロックを使い切る前に、例えば、未使用実ブロック数が仮想ボリューム330に割り当てられている実ブロック数の10%を切った時点で、管理者に未使用実ブロック数が少なくなっていることを警告として通知してもよい。または、未使用の物理ボリュームを追加するようにしてもよい。
実ブロックが割り当てられていた場合(ステップS1420においてYES)、および、新たな実ブロックを割り当てた後、制御部210は、マッピング情報223、および、ストレージ装置特性情報230を参照し、仮想I/O変換応答情報を生成する(ステップS1440)。
全ての仮想ブロックについて仮想I/O変換応答520を生成した後、制御部210は、全ての仮想I/O変換応答情報をまとめてひとつの仮想I/O変換応答520とし、計算機100に返信する(ステップS1450)。
以上の処理により、仮想化装置200の制御部210は、計算機100より仮想I/O変換要求510を受信し、仮想ボリューム330へのI/O要求を対応するストレージ装置300の物理ボリュームへのI/O要求へ変換し、仮想I/O変換応答520として計算機100に返信する。
以上に説明したように、本実施例の計算機システムでは、仮想化装置200によってストレージ装置300の記憶領域320が仮想ボリューム330として仮想化されている場合であっても、計算機100のI/Oスケジューラ130において、対応するストレージ装置300の物理ボリュームの領域および特性情報を取得することができ、ストレージ装置300の物理ボリュームに対するI/Oスケジューリングを行うことによりその精度を高めることができ、計算機100のI/O性能を向上することができる。
本実施例のI/Oスケジューラ130は、アプリケーションソフトウェア120に関するプロセス実行優先度、実行ファイル名等のOS140内部の情報を用いることができるため、アプリケーションソフトウェア120が仮想I/O要求発行時に明示的に優先度等を指定していない場合であっても、アプリケーションソフトウェア120の性質に応じた優先度を設定することができる。また、I/Oスケジューラ130は、ストレージ装置300の物理ボリュームの特性情報を用いたスケジューリングが可能であり、デッドラインミスの発生が予想される場合に、実I/O要求600を発行することなく仮想I/O要求をエラーとしてアプリケーションソフトウェア120に返すことができ、ストレージ装置300で既に実行されている実I/O要求に影響を与えることによる性能低下を防止することができる。
さらに、本実施例の計算機100は、実I/O要求600を直接ストレージ装置300に対して発行するため、仮想化装置200が実I/O実行のボトルネックとなることを防止することができる。
以上により、本実施例を説明したが、本発明は、本実施形態に限らず、様々な変更を行っても適用できる。
図17は、実施例2の計算機システムの構成を表す図である。実施例1と異なるのは、I/Oスケジューラ130が計算機100の中ではなく仮想化装置200の中にあることである。その他は、実施例1と同様である。実施例2における処理も実施例1と同様である。ただし、仮想I/Oを仮想化装置200に送受信する必要があるため、通信上のボトルネックを避ける必要がある。ボトルネックを避けるため、ネットワーク400を使用せずに、専用線1700を使用することもできる。あるいは、ネットワーク400と専用線1700の二つを併用することも可能である。
以上により、本実施例の計算機システムでは、仮想化装置200によってストレージ装置300の記憶領域320が仮想ボリューム330として仮想化されている場合であっても、計算機100のI/Oスケジューラ130において、対応するストレージ装置300の物理ボリュームの領域および特性情報を取得することができ、ストレージ装置300の物理ボリュームに対するI/Oスケジューリングを行うことによりその精度を高めることができ、計算機100のI/O性能を向上することができる。
また、I/Oスケジューラ130は、仮想化装置200の中にあるため、計算機の処理速度が遅い場合であっても、処理することができる。
また、本実施例のI/Oスケジューラ130は、アプリケーションソフトウェア120に関するプロセス実行優先度、実行ファイル名等のOS140内部の情報を用いることができるため、アプリケーションソフトウェア120が仮想I/O要求発行時に明示的に優先度等を指定していない場合であっても、アプリケーションソフトウェア120の性質に応じた優先度を設定することができる。また、I/Oスケジューラ130は、ストレージ装置300の物理ボリュームの特性情報を用いたスケジューリングが可能であり、デッドラインミスの発生が予想される場合に、実I/O要求600を発行することなく仮想I/O要求をエラーとしてアプリケーションソフトウェア120に返すことができ、ストレージ装置300で既に実行されている実I/O要求に影響を与えることによる性能低下を防止することができる。
図18は、実施例3の計算機システムの構成を表す図である。実施例1及び実施例2と異なるのは、仮想化装置200が存在しない代わりに、計算機100内に仮想化制御部211がある点である。その他の処理は、同様であるが、装置間メッセージ500が存在せずに、計算機100の内部ネットワークのみで、処理する。
本実施例の計算機システムでは、仮想化制御部211によってストレージ装置300の記憶領域320が仮想ボリューム330として仮想化されている場合であっても、計算機100のI/Oスケジューラ130において、対応するストレージ装置300の物理ボリュームの領域および特性情報を取得することができ、ストレージ装置300の物理ボリュームに対するI/Oスケジューリングを行うことによりその精度を高めることができ、計算機100のI/O性能を向上することができる。
本実施例のI/Oスケジューラ130は、アプリケーションソフトウェア120に関するプロセス実行優先度、実行ファイル名等のOS140内部の情報を用いることができるため、アプリケーションソフトウェア120が仮想I/O要求発行時に明示的に優先度等を指定していない場合であっても、アプリケーションソフトウェア120の性質に応じた優先度を設定することができる。また、I/Oスケジューラ130は、ストレージ装置300の物理ボリュームの特性情報を用いたスケジューリングが可能であり、デッドラインミスの発生が予想される場合に、実I/O要求600を発行することなく仮想I/O要求をエラーとしてアプリケーションソフトウェア120に返すことができ、ストレージ装置300で既に実行されている実I/O要求に影響を与えることによる性能低下を防止することができる。
さらに、本実施例の計算機100は、実I/O要求600を直接ストレージ装置300に対して発行するため、仮想化装置200が実I/O実行のボトルネックとなることを防止することができる。
さらに、装置間メッセージを使用する必要がないので、ネットワーク400の通信帯域を節約することができる。
以上により、発明実施するための形態を説明したが、本発明は、実施の形態に限らず、様々な変更を行っても適用できる。
100:計算機
110:制御部
111:CPU
112:I/Oインタフェース
113:メモリ
114:アプリケーションプログラム
115:I/Oスケジューラプログラム
116:OSプログラム
120:アプリケーションソフトウェア
130:I/Oスケジューラ
131:仮想I/O要求受付部
132:仮想I/O変換要求発行部
133:仮想I/O分割部
134:I/Oスケジューリング部
135:実I/O発行待ち行列
136:実I/O要求発行部
137:仮想I/O再構成部
138:仮想I/O完了待ち行列
139:仮想I/O結果応答部
140:OS
200:仮想化装置
210:制御部
220:プロビジョニング情報
221:仮想ボリューム構成情報
222:仮想ボリューム情報
223:マッピング情報
224:物理ボリューム使用状況情報
230:ストレージ装置特性情報
300:ストレージ装置
310:制御部
320:記憶領域
330:仮想ボリューム
400:ネットワーク
500:装置間メッセージ
510:仮想I/O変換要求
520:仮想I/O変換応答
530:キャッシュ破棄要求
600:実I/O要求

Claims (12)

  1. データを処理する計算機システムにおいて、
    計算機と、
    前記計算機と接続され、少なくとも1以上の物理ボリュームを有する複数のストレージ装置と、
    前記複数のストレージ装置の物理ボリュームを仮想ボリュームとして、前記計算機に提供する仮想化装置とを備え、
    前記仮想化装置は、前記計算機から送付される入出力要求に対応する物理ボリュームの記憶領域の一部を割り当て、
    前記計算機は、前記仮想ボリュームに関連付けられた物理ボリュームの特性情報を取得し、
    前記仮想ボリュームに対するI/O要求が前記複数のストレージ装置に跨る場合、I/O要求をストレージ装置ごとに分割し、
    前記特性情報に基づいてI/Oスケジューリング行うことを特徴とする計算機システム。
  2. 請求項1記載の計算機システムであって、
    前記計算機は、前記I/Oスケジューリングの結果に従って、前記複数のストレージ装置の各々の物理ボリュームに対して、I/O要求を発行することを特徴とする計算機システム。
  3. 請求項2記載の計算機システムであって、
    前記仮想化装置は、仮想ボリュームと物理ボリュームとの対応情報を含むプロビジョニング情報と、物理ボリュームの特性情報を含むストレージ装置特性情報と、を備え、
    前記計算機からの問い合わせに応じて仮想ボリュームに対するI/O要求をストレージ装置の実記憶領域へのI/O要求に変換し、
    前記変換したI/O要求の対象となる物理ボリュームのI/O帯域幅、IOPS、遅延をストレージ装置特性情報として付加して、前記計算機に応答することを特徴とする計算機システム。
  4. 請求項3記載の計算機システムであって、
    前記計算機は、複数のI/O要求がそれぞれのI/O優先度を、前記計算機のOS内の実行
    優先度および実行ファイル名を用いて決定し、実記憶領域の特性情報とあわせてI/Oスケジューリングを行うことを特徴とする計算機システム。
  5. 請求項4記載の計算機システムであって、
    前記計算機は、アプリケーションソフトウェアにより定められたデッドラインおよび前記特性情報に基づいて、I/Oスケジューリングを行い、
    デッドラインミスの発生する場合、エラー応答を行うことを特徴とする計算機システム。
  6. 請求項4記載の計算機システムであって、
    前記計算機は、前記仮想I/O要求に基づいて発行した前記複数の実I/O要求を、前記ストレージ装置から複数の実I/O要求の結果を受け取り、前記複数のI/O要求の結果から仮想I/O要求の結果を再構成し、前記計算機に応答することを特徴とする計算機システム。
  7. 計算機と、前記計算機と接続され、少なくとも1以上の物理ボリュームを有する複数のストレージ装置と、前記複数のストレージ装置の物理ボリュームを仮想ボリュームとして、前記計算機に提供する仮想化装置と、を有し、データを処理する計算機システムの入出力方法において、
    前記仮想化装置は、前記計算機から送付される入出力要求に対応する物理ボリュームの記憶領域の一部を割り当て、
    前記計算機は、前記仮想ボリュームに関連付けられた物理ボリュームの特性情報を取得し、
    前記仮想ボリュームに対するI/O要求が前記複数のストレージ装置に跨る場合、I/O要求をストレージ装置ごとに分割し、
    前記特性情報に基づいてI/Oスケジューリング行うことを特徴とする計算機システムの入出力方法。
  8. 請求項7記載の計算機システムの入出力方法であって、
    前記計算機は、前記I/Oスケジューリングの結果に従って、前記複数のストレージ装置の各々の物理ボリュームに対して、I/O要求を発行することを特徴とする計算機システム。
  9. 請求項8記載の計算機システムの入出力方法であって、
    前記仮想化装置は、仮想ボリュームと物理ボリュームとの対応情報を含むプロビジョニング情報と、物理ボリュームの特性情報を含むストレージ装置特性情報と、を備え、
    前記計算機からの問い合わせに応じて仮想ボリュームに対するI/O要求をストレージ装置の実記憶領域へのI/O要求に変換し、
    前記変換したI/O要求の対象となる物理ボリュームのI/O帯域幅、IOPS、遅延をストレージ装置特性情報として付加して、前記計算機に応答することを特徴とする計算機システムの入出力方法。
  10. 請求項9記載の計算機システムの入出力方法であって、
    前記計算機は、複数のI/O要求がそれぞれのI/O優先度を、前記計算機のOS内の実行
    優先度および実行ファイル名を用いて決定し、実記憶領域の特性情報とあわせてI/Oスケジューリングを行うことを特徴とする計算機システムの入出力方法。
  11. 請求項10記載の計算機システムの入出力方法であって、
    前記計算機は、アプリケーションソフトウェアにより定められたデッドラインおよび前記特性情報に基づいて、I/Oスケジューリングを行い、
    デッドラインミスの発生する場合、エラー応答を行うことを特徴とする計算機システムの入出力方法。
  12. 請求項10記載の計算機システムの入出力方法であって、
    前記計算機は、前記仮想I/O要求に基づいて発行した前記複数の実I/O要求を、前記ストレージ装置から複数の実I/O要求の結果を受け取り、前記複数のI/O要求の結果から仮想I/O要求の結果を再構成し、前記計算機に応答することを特徴とする計算機システムの入出力方法。
JP2009232958A 2009-10-07 2009-10-07 計算機システム及び計算機システムの入出力方法 Pending JP2011081580A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009232958A JP2011081580A (ja) 2009-10-07 2009-10-07 計算機システム及び計算機システムの入出力方法
US12/895,169 US20110082950A1 (en) 2009-10-07 2010-09-30 Computer system and computer system input/output method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009232958A JP2011081580A (ja) 2009-10-07 2009-10-07 計算機システム及び計算機システムの入出力方法

Publications (1)

Publication Number Publication Date
JP2011081580A true JP2011081580A (ja) 2011-04-21

Family

ID=43824040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009232958A Pending JP2011081580A (ja) 2009-10-07 2009-10-07 計算機システム及び計算機システムの入出力方法

Country Status (2)

Country Link
US (1) US20110082950A1 (ja)
JP (1) JP2011081580A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012164714A1 (ja) * 2011-06-02 2012-12-06 株式会社日立製作所 ストレージ管理システム、計算機システム、及びストレージ管理方法
JP2014529774A (ja) * 2011-10-28 2014-11-13 株式会社日立製作所 計算機システム及びその管理システム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5492731B2 (ja) * 2010-10-06 2014-05-14 株式会社日立製作所 仮想計算機のボリューム割当て方法およびその方法を用いた計算機システム
WO2012149767A1 (zh) * 2011-09-23 2012-11-08 华为技术有限公司 访问存储设备的方法及系统
US8805899B2 (en) * 2011-11-09 2014-08-12 Microsoft Corporation Data channel utilization management in multi-user system
JP6165580B2 (ja) * 2013-10-04 2017-07-19 株式会社 日立産業制御ソリューションズ コンテンツ配信装置及びコンテンツ配信装置のコンテンツ配信方法
US10228856B2 (en) 2016-01-28 2019-03-12 Hewlett Packard Enterprise Development Lp Storage space management in a thin provisioned virtual environment
CN107844259B (zh) * 2016-09-18 2020-06-16 华为技术有限公司 数据访问方法、路由装置和存储系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6227818A (ja) * 1985-07-30 1987-02-05 Nec Corp 入出力制御方式
JP2001142649A (ja) * 1999-11-10 2001-05-25 Nec Corp 記憶媒体スケジューラ、リアルタイムシステムおよびスケジューリング方法
JP2004038932A (ja) * 2002-03-21 2004-02-05 Network Appliance Inc Raidシステムにおけるi/oタスクを分解する方法及び装置
JP2008146574A (ja) * 2006-12-13 2008-06-26 Hitachi Ltd 記憶制御装置及び記憶制御方法
JP2009116796A (ja) * 2007-11-09 2009-05-28 Hitachi Ltd データ読出し方法、データ管理システム及びストレージシステム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3440219B2 (ja) * 1999-08-02 2003-08-25 富士通株式会社 入出力装置及びディスク・タイムシェアリング方法
JP2003316616A (ja) * 2002-04-24 2003-11-07 Hitachi Ltd 計算機システム
JP2009043055A (ja) * 2007-08-09 2009-02-26 Hitachi Ltd 計算機システム、ストレージ装置及びデータ管理方法
US8346917B2 (en) * 2009-06-26 2013-01-01 Netapp. Inc. Unified enterprise level method and system for enhancing application and storage performance

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6227818A (ja) * 1985-07-30 1987-02-05 Nec Corp 入出力制御方式
JP2001142649A (ja) * 1999-11-10 2001-05-25 Nec Corp 記憶媒体スケジューラ、リアルタイムシステムおよびスケジューリング方法
JP2004038932A (ja) * 2002-03-21 2004-02-05 Network Appliance Inc Raidシステムにおけるi/oタスクを分解する方法及び装置
JP2008146574A (ja) * 2006-12-13 2008-06-26 Hitachi Ltd 記憶制御装置及び記憶制御方法
JP2009116796A (ja) * 2007-11-09 2009-05-28 Hitachi Ltd データ読出し方法、データ管理システム及びストレージシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012164714A1 (ja) * 2011-06-02 2012-12-06 株式会社日立製作所 ストレージ管理システム、計算機システム、及びストレージ管理方法
US8706963B2 (en) 2011-06-02 2014-04-22 Hitachi, Ltd. Storage managing system, computer system, and storage managing method
JP5893016B2 (ja) * 2011-06-02 2016-03-23 株式会社日立製作所 ストレージ管理サーバ、計算機システム、及びストレージ管理方法
JP2014529774A (ja) * 2011-10-28 2014-11-13 株式会社日立製作所 計算機システム及びその管理システム

Also Published As

Publication number Publication date
US20110082950A1 (en) 2011-04-07

Similar Documents

Publication Publication Date Title
US10528464B2 (en) Memory system and control method
CN106354425B (zh) 基于数据属性的数据布局的方法和系统
JP2011081580A (ja) 計算機システム及び計算機システムの入出力方法
CN110612511B (zh) 使用流选择性地向分配区域中存储数据
US9740409B2 (en) Virtualized storage systems
JP2017021805A (ja) 不揮発性メモリ装置内でデータ属性基盤データ配置を利用可能にするインターフェイス提供方法及びコンピュータ装置
US20140068224A1 (en) Block-level Access to Parallel Storage
US20210036714A1 (en) Techniques for determining compression tiers and using collected compression hints
EP2254036A2 (en) Storage apparatus and data copy method
US11287983B2 (en) Raid performance by offloading tasks to expanders
US11520715B2 (en) Dynamic allocation of storage resources based on connection type
US9015373B2 (en) Storage apparatus and method of controlling storage apparatus
US20190243758A1 (en) Storage control device and storage control method
JP2022541261A (ja) リソース割振り方法、記憶デバイス、および記憶システム
US20160182620A1 (en) Data distribution apparatus, data distribution method, and data distribution program for parallel computing processing system
US9201598B2 (en) Apparatus and method for sharing resources between storage devices
EP3889785B1 (en) Stripe reconstruction method in storage system and striping server
US8799573B2 (en) Storage system and its logical unit management method
JPWO2016203629A1 (ja) ストレージシステム及びキャッシュ制御方法
JP5999536B2 (ja) 計算機及びデータ読み出し方法
US9146694B2 (en) Distribution processing unit of shared storage
US11567883B2 (en) Connection virtualization for data storage device arrays
JP2010231636A (ja) ストレージシステムおよびストレージ管理方法
JP2015184883A (ja) 計算機システム
US20160034185A1 (en) Host-based device driver splitting of input/out for redundant array of independent disks systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121017

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130305