[go: up one dir, main page]

JP2008269050A - 圧縮制御装置及び方法 - Google Patents

圧縮制御装置及び方法 Download PDF

Info

Publication number
JP2008269050A
JP2008269050A JP2007107985A JP2007107985A JP2008269050A JP 2008269050 A JP2008269050 A JP 2008269050A JP 2007107985 A JP2007107985 A JP 2007107985A JP 2007107985 A JP2007107985 A JP 2007107985A JP 2008269050 A JP2008269050 A JP 2008269050A
Authority
JP
Japan
Prior art keywords
compression
transfer performance
compression control
data
information
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
JP2007107985A
Other languages
English (en)
Inventor
Makio Mizuno
真喜夫 水野
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 JP2007107985A priority Critical patent/JP2008269050A/ja
Priority to US11/968,677 priority patent/US20080263244A1/en
Publication of JP2008269050A publication Critical patent/JP2008269050A/ja
Pending legal-status Critical Current

Links

Images

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • 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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】ストレージシステムにおいて送受信されるデータを効率的に圧縮する。
【解決手段】ストレージ装置を含んだ複数の機器で構成されるストレージシステムにおいて送受信されるデータの圧縮を制御する圧縮制御装置を備える。圧縮制御装置が、ストレージシステムの構成に関する構成情報を基に、ストレージシステムを構成する少なくとも一つの機器についての圧縮制御方式を決定し、その少なくとも一つの機器が該決定された圧縮制御方式に従う圧縮を行うよう、複数の機器の少なくとも一つを制御する。
【選択図】図1

Description

本発明は、ストレージシステムにおいて送受信されるデータの圧縮の制御に関する。
近年、情報通信技術の進歩に伴い、企業が保有するデータ量が増加の一途を辿っている。企業は、大量のデータを安全にかつ確実に保管するためにストレージシステムを利用するが、データ量の増加により、今まで以上にストレージシステムへ投資せざるを得ない状況となっている。また、データ量の増加は、通信ネットワークのトラフィックにも影響を与える。通信ネットワークでは、その伝送路が持つ処理能力以上のデータが送受信されることによって転送性能の劣化が生じることもある。
これらの課題を解決する方法の一つにデータ圧縮がある。データの圧縮を行うことにより、ストレージシステムの記憶資源の使用容量を抑制することができ、結果として記憶資源の増設にかかる費用を削減することができる。また、通信ネットワークにおいては、送受信するデータ量を抑制することができ、転送性能の劣化を軽減させることができる。
データの圧縮に関連する技術としては、例えば、特許文献1や特許文献2が知られている。
特開平5−250307号公報 特開平6−133123号公報
しかしながら、データの圧縮は、圧縮を行う装置のプロセッサパワーやメモリその他のリソースを消費するため、一時的ではあるが、その装置の処理性能に悪影響を与える。また、既に圧縮されたデータに対して、再度圧縮を行っても効果が得られないことが知られている。従って、データの圧縮は、無駄な重複した圧縮を回避して効率的に行われることが望まれる。
通常、圧縮の対象とするデータが圧縮済みか否かは、そのデータがファイルレベルのものであれば、そのファイルの拡張子により判別することができる。一方で、ストレージシステムでは、ファイルレベルではなくブロックレベルでデータを処理するので、受信したデータが圧縮済みか否かを判別することができない。
そこで、本発明は、ストレージシステムにおいて送受信されるデータを、効率的に圧縮することを目的とする。
ストレージ装置を含んだ複数の機器で構成されるストレージシステムにおいて送受信されるデータの圧縮を制御する圧縮制御装置を備える。圧縮制御装置が、ストレージシステムの構成に関する構成情報を基に、ストレージシステムを構成する少なくとも一つの機器についての圧縮制御方式を決定し、その少なくとも一つの機器が該決定された圧縮制御方式に従う圧縮を行うよう、複数の機器の少なくとも一つを制御する。
一つの実施形態では、圧縮制御装置が、ストレージ装置を含んだ複数の機器で構成されるストレージシステムの構成に関する構成情報と、ストレージシステムを構成する少なくとも一つの機器についての圧縮制御方式を上記構成情報を基に決定する圧縮制御方式決定部と、少なくとも一つの機器が上記決定された圧縮制御方式に従う圧縮を行うよう複数の機器のうちの少なくとも一つを制御する圧縮制御部とを備える。
上記の構成情報は、例えば、圧縮制御装置が備える記憶領域に記憶される。また、「少なくとも一つの機器が上記決定された圧縮制御方式に従う圧縮を行うよう複数の機器のうちの少なくとも一つを制御する」とは、少なくとも一つの機器に対して何らかのコマンドを送信すること(例えば、圧縮制御方式を示すコマンドを送信すること)であっても良いし、少なくとも一つの機器以外の機器に対して何らかのコマンド(例えば、圧縮を実行しないことのコマンド)を送信することであっても良いし、複数の機器の全てに何らかのコマンド(例えば、どの機器で圧縮を実行するか及び/又はどのぐらいの圧縮率(又は圧縮率に影響するパラメータをどんな値とするか(以下、圧縮率に影響するパラメータを「圧縮制御パラメータ」と呼ぶことがある)))とするかを記憶することのコマンド)を送信することであっても良い。
また、圧縮制御方式は、例えば、圧縮するか否かであっても良いし、圧縮する際の圧縮率を幾つにするか(或いは、圧縮制御パラメータをどんな値とするか)であっても良い。
一つの実施形態では、構成情報は、機器情報と通信経路情報とを含んだ情報である。機器情報は、ストレージシステムを構成する複数の機器の各々について圧縮機能を有するか否かを示す情報である。通信経路情報は、ストレージシステムを構成する複数の機器によって形成される複数の通信経路の各々について、当該通信経路を形成する機器の組み合わせと、当該通信経路を形成する複数の機器についてデータの流れる順序とを表す情報である。圧縮制御方式決定部は、機器情報及び通信経路情報に基づいて、複数の通信経路の各々について、当該通信経路を形成する複数の機器のうちのいずれかを、データの圧縮を行う機器である圧縮実行機器と決定することができる。圧縮制御部は、各通信経路について、決定された圧縮実行機器がデータの圧縮を行うように、複数の機器のうちの少なくとも一つを制御することができる。
一つの実施形態では、圧縮制御方式決定部は、機器情報及び通信経路情報に基づいて、各通信経路について、当該通信経路を形成する複数の機器であって圧縮機能を有する機器のうち、データの流れの最も上流に位置する機器を圧縮実行機器と決定することができる。このため、例えば、当該通信経路における最上流にある機器(1番目の機器)に圧縮機能が無く、それより一つ下流側に位置する機器(2番目の機器)に圧縮機能が有る場合には、その2番目の機器を、圧縮実行機器とすることができる。
一つの実施形態では、構成情報が、更に、転送性能情報を含む。転送性能情報は、各通信経路について当該通信経路における通信区間ごとにその転送性能を示した情報である。圧縮制御方式決定部は、機器情報、通信経路情報及び転送性能情報に基づいて、各通信経路について、当該通信経路を形成する複数の機器であって圧縮機能を有する機器のうち、転送性能が低い通信区間の直前に位置する機器を、圧縮実行機器と決定することができる。
ここで、「転送性能が低い通信区間」とは、所定の閾値よりも転送性能が低い通信区間であっても良いし、一つの通信経路において最も転送性能が低い通信区間であっても良い。
また、通信区間は、例えば、機器と機器との接続により形成される。言い換えれば、通信区間の両端は、それぞれ、機器である。そして、前述の「直前に位置する機器」とは、通信区間の両端の機器のうちの上流側の機器が圧縮機能を有している場合には、その両端の機器のうちの上流側の機器となり、両端の機器のうちの上流側の機器が圧縮機能を有していない場合には、該上流側の機器に最も近く、圧縮機能を有し、且つ該上流側の機器よりも上流側の機器が、上記「直前に位置する機器」となる。
一つの実施形態では、データの通信速度、及び/又は、データの通信速度の期待値である。
一つの実施形態では、各通信経路における通信区間の転送性能を定期的又は不定期的に計測する転送性能計測部が更に備えられる。転送性能情報が示す転送性能は、下記(1)又は(2)、
(1)転送性能計測部が計測した所定の時点における転送性能、
(2)転送性能計測部が計測した複数の時点における転送性能の平均値、
である。
一つの実施形態では、転送性能情報は、転送性能の履歴を示す。各通信経路における各通信区間についての前記転送性能の履歴は、転送性能計測部によって計測された転送性能が追加されることによって更新される。転送性能が低い通信区間が別の通信区間に変更されたか否かを各通信経路について判断する性能変更判断部が更に備えられる。性能変更判断部が、或る通信経路について転送性能が低い通信区間が別の通信区間に変更されたと判断したときは、圧縮制御方式決定部が、その或る通信経路について、転送性能が低い別の通信区間の直前に位置する機器であって圧縮機能を有する機器を、圧縮実行機器と決定し、圧縮制御部が、その或る通信経路について、決定された圧縮実行機器がデータの圧縮を行うように、複数の機器のうちの少なくとも一つを制御することができる。
一つの実施形態では、圧縮制御方式決定部が、転送性能が低い通信区間の変更後の転送性能に基づいて、決定された前記圧縮実行機器がデータを圧縮する際の圧縮率又は圧縮制御パラメータを調節することができる。圧縮制御部は、圧縮実行機器に対して、調節後の圧縮率又は圧縮制御パラメータを送ることができる。圧縮実行機器は、圧縮率を受信し、その圧縮率で圧縮するための圧縮制御パラメータを決定し、決定した圧縮制御パラメータと所定のアルゴリズムで圧縮しても良い。また、圧縮実行機器は、圧縮制御パラメータを受信し、受信した圧縮制御パラメータと所定のアルゴリズムとで圧縮しても良い。
一つの実施形態では、圧縮制御方式決定部が、転送性能情報が示す転送性能を基に、前記複数の機器のうちの圧縮を行う機器である圧縮実行機器がデータを圧縮する際の圧縮率又は圧縮制御パラメータを決定することができる。圧縮制御部は、圧縮実行機器に対して、決定された圧縮率又は圧縮制御パラメータを送ることができる。
一つの実施形態では、圧縮制御方式決定部は、転送性能計測部による更新後の転送性能情報が示す転送性能に基づいて、圧縮実行機器がデータを圧縮する際の圧縮率又は圧縮制御パラメータを変更することができる。圧縮制御部は、圧縮実行機器に対して変更後の圧縮率又は圧縮制御パラメータを送ることができる。圧縮制御方式決定部は、転送性能の変化の都度に、圧縮率又は圧縮制御パラメータの変更を行なっても良いし、転送性能の変化量が所定の閾値以上であるときに、圧縮率又は圧縮制御パラメータの変更を行っても良い。
一つの実施形態では、構成情報は、ストレージシステムにおけるデータの種別を示すデータ種別情報を含む。圧縮制御方式決定部は、ストレージシステムを構成する所定の機器に対して、データ種別情報に基づいて、データの種別ごとにデータの圧縮を行うか否かを決定することができる。圧縮制御部は、圧縮制御方式決定部が決定したデータ種別のデータの圧縮を所定の機器が行うよう所定の機器を制御することができる。
一つの実施形態では、圧縮制御方式決定部が、データの種別がログ又はバックアップであるときに、当該データの圧縮を行うと決定することができる。
一つの実施形態では、構成情報は、所定の機器が扱うデータが格納される論理ボリュームの識別情報とその用途とを示す論理ボリューム情報を含む。圧縮制御方式決定部は、ストレージシステムを構成する所定の機器に対して、論理ボリューム情報が表す各論理ボリュームの用途に基づいて、論理ボリュームごとに当該論理ボリュームに格納されるデータの圧縮を行うか否かを決定することができる。圧縮制御部は、圧縮制御方式決定部が決定した論理ボリュームに格納されるデータの圧縮を前記所定の機器が行うよう所定の機器を制御することができる。
上述した複数の実施形態のうちの任意の二以上を組み合わせることもできる。また、圧縮機能は、圧縮部と言い換えることもできる。また、上述した各部(例えば、圧縮制御方式決定部、圧縮制御部、転送性能計測部、性能変更判断部)は、ハードウェア、コンピュータプログラム又はそれらの組み合わせ(例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること)により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、CD−ROM等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
以下、図面を参照しながら本発明の幾つかの実施形態について詳細に説明する。尚、これにより本発明が限定されるものではない。
<第一の実施形態>。
図1は、本発明の第一の実施形態に係る圧縮制御装置を備えたストレージシステムの構成例を示した図である。
本実施形態に係るストレージシステム(以下、「本システム」と呼ぶことがある)は、一以上のストレージ装置100と、一以上のホストコンピュータ(ホスト)200と、管理端末400とを備える。ストレージ装置100は、一以上のホスト200及び一以上の他のストレージ装置100と、通信ネットワーク(図示しない)を介して接続される。ホスト200とストレージ装置100との間及びストレージ装置100とストレージ装置100との間の通信ネットワークは、SAN(Storage Area Network)やIP(Internet Protocol)ネットワーク等であってもよいし、装置間で直接接続されるようにして構成されてもよい。ホスト200とストレージ装置100との経路上及びストレージ装置100とストレージ装置100との経路上には、データの圧縮や伸張を行う機能(以下、単に「圧縮機能」という)を有する圧縮機能内蔵装置300が備えられる場合もある。
管理端末400は、ストレージシステムを構成するノード(ここでは、ストレージ装置100、ホスト200及び圧縮機能内蔵装置300)の全部又は一部と、それぞれ接続される。管理端末400は、基本的には、全てのノードと接続されるが、圧縮機能を有しないことが明らかであって圧縮(伸張)に関する制御(以下、「圧縮制御」)を必要としないノードとは、必ずしも接続されなくともよい。以下、管理端末400に接続され、管理端末400によって圧縮制御が行われるノードを、「制御対象ノード」と呼ぶ。管理端末400と制御対象ノード間は、ホスト200とストレージ装置100間、ストレージ装置100とストレージ装置100間の接続と同様に、SANやIPネットワーク等を介して接続されてもよいし、装置間で直接接続されてもよい。また、管理端末400と制御対象ノードとの接続及びノード同士の接続の全てが、同一の通信ネットワークを介して行われてもよい。
管理端末400は、各制御対象ノードと連携してそれぞれのノードの圧縮制御を行う。例えば、或るノードから他のノードへデータが送信されるとき(以下、送信元である或るノードを「送信ノード」、送信先である他のノードを「受信ノード」という)、データが通過するパス上には、送信ノードを含めて複数のノードが存在し、そのうちの複数のノードが圧縮機能を有する場合がある。管理端末400は、この圧縮機能を有する複数のノードのうち、どのノードに圧縮を行わせるかを決定し、その決定した内容をそのパス上の全てのノードに通知する。パス上の各ノードは、その通知に従って、自己が圧縮を行うノードとして指定されていた場合にはデータの圧縮を行い、圧縮を行うノードとして指定されていない場合には圧縮を行わないようにする。本実施形態では、圧縮するノードの決定とその通知とは、本システム上の全てのパス又は任意に選択された一部のパス(以下、「制御対象パス」)について一括して行われる。
また、管理端末400は、パスを構成する最小単位であってノードとノードの接続により形成される区間(以下、「パス区間」)における転送性能(通信速度やデータ欠損率等)を定期的又は不定期的に測定する。管理端末400は、転送性能の測定結果に基づいて圧縮を行わせるノードや圧縮の際の圧縮率を決定することもできる。また、転送性能の変化に伴って圧縮を行わせるノードや圧縮の際の圧縮率に変更が生じた場合は、その変更内容を制御対象ノードへ通知する。以下、管理端末400が制御対象ノードに対して行う、圧縮制御のための通知を、「圧縮制御通知」と呼ぶ。管理端末400の詳細については、後述する。
尚、本実施形態では、管理端末400が圧縮制御のための主要な機能を提供するが、管理端末400が必ずしも必要とされるわけではない。例えば、ストレージ装置100やホスト200等が、この管理端末400が提供する機能を備えることにより、本システムは、ストレージ装置100とホスト200と(場合に応じて、圧縮機能内蔵装置300も含む)から構成されることもできる。
ホスト200は、ストレージ装置100に対してデータの書込みや読出しを行う。ホスト200には、圧縮機能を有するものと圧縮機能を有しないものとがある。圧縮機能を有するホスト200は、書込み対象のデータ(以下、「ライトデータ」)を圧縮してからストレージ装置100へ送信することもできるし、ライトデータを圧縮せずにストレージ装置100へ送信することもできる。圧縮機能を有するホスト200は、ストレージ装置100へ送信するライトデータを圧縮するか否かを、管理端末400からの圧縮制御通知の内容に従って切替えることができる。
ストレージ装置100は、ホスト200から受信したライトデータを、自らの管理下にある記憶資源(例えば、キャッシュメモリの領域や論理ボリューム)に格納する。また、ストレージ装置100は、ホスト200からの指示に従って、記憶資源から所望のデータを読み出して、その読み出したデータ(以下、「リードデータ」)をホスト200へ送信する。更に、ストレージ装置100は、いわゆるリモートコピーの機能を有する。即ち、ホスト200からライトデータを受信したストレージ装置100は、その受信したライトデータを他のストレージ装置100へ転送する(転送先の他のストレージ装置100は、ホスト200からの指示により決定されてもよいし、転送するストレージ装置100によって決定されてもよい)。ライトデータを受信したストレージ装置100は、そのライトデータを自らの管理下にある記憶資源に格納する。ストレージ装置100は、例えば、他のストレージ装置100へライトデータを転送する場合には、ホスト200と同様に、ライトデータを圧縮するか否かを、管理端末400からの圧縮制御通知の内容に従って切替えることができる。ストレージ装置100の詳細については、後述する。
圧縮機能内蔵装置300は、上述したように、本装置300を通過するデータの圧縮や伸張を行う装置である。圧縮機能内蔵装置300は、受信したデータを圧縮してから受信ノードへ送信することもできるし、受信したデータを圧縮せずにそのまま受信ノードへ送信することもできる。圧縮機能内蔵装置300は、ホスト200及びストレージ装置100と同様に、データを圧縮するか否かを、管理端末400からの圧縮制御通知の内容に従って切替えることができる。また、圧縮機能内蔵装置300は、圧縮機能の他に、例えば、データの入力インタフェースのプロトコルと出力インタフェースのプロトコルとが異なっている場合に、それらのプロトコルを相互に変換する機能や、セキュリティに関する機能(例えば、VPN(Virtual Private Network)を構築する機能)等を持つ場合もある。
説明の都合上、本システムは、2つのホスト200(ホストA200a、ホストB200b)と、2つのストレージ装置100(ストレージ装置A100a、ストレージ装置B100b)と、一つの管理端末300とによって構成されるものとする。また、ストレージ装置A100aとストレージ装置100Bbとの間には、2つの圧縮機能内蔵装置300(圧縮機能内蔵装置A300a、圧縮機能内蔵装置B300b)が設けられるものとする。同図に示すように、ストレージ装置A100aは、ホストA200a、ホストB200b及び圧縮機能内蔵装置A300aに接続される。また、圧縮機能内蔵装置B300bは、圧縮機能内蔵装置A300a及びストレージ装置B100bに接続される。更に、管理端末400は、全てのノード、即ち、ホストA200a、ホストB200b、ストレージ装置A100a、ストレージ装置B100b、圧縮機能内蔵装置A300a及び圧縮機能内蔵装置B300bに接続される(つまり、全てのノードが制御対象ノードとされる)。また、ホストB200bは、圧縮機能を有していないが、それ以外のノード(ホストA200a、ストレージ装置100a、100b、圧縮機能内蔵装置300a、300b)は、圧縮機能を有しているものとする。
図2は、本実施形態に係る管理端末400の構成例を示した図である。
管理端末400は、CPU410と、入出力部420と、メモリ430と、外部I/F440とを備える。メモリ430には、テーブル作成PG431と、性能監視PG432と、ノード管理テーブル433と、パス区間テーブル434と、圧縮管理テーブル435とが格納される。尚、「PG」は、プログラムの略であり、名前の最後に「PG」が付与されたブロックは、コンピュータプログラムであることを示している。
CPU410は、メモリ430に格納された各種のプログラムを実行することにより、管理端末400の動作を制御する。例えば、CPU410は、テーブル作成PG431を実行し、ノード管理テーブル433、パス区間テーブル434及び圧縮管理テーブル435を作成する。そして、CPU410は、テーブル作成PG431を実行し、圧縮制御通知として、作成されたノード管理テーブル433及び圧縮管理テーブル435を全ての制御対象ノードへ配信する。また、CPU410は、性能監視PG432を実行し、パス区間テーブル434に登録されたそれぞれのパス区間における転送性能を定期的又は不定期的に測定し(具体的には、例えば、CPU410は、転送性能を測定するパス区間を構成するノードの両方又は片方から、転送性能に関連する情報(例えば、送受信されるデータ量等)を取得し、それらの情報に基づいて転送性能を算出することができ)、必要に応じてノード管理テーブル433及び圧縮管理テーブル435を変更する。ノード管理テーブル433又は圧縮管理テーブル435が変更された場合には、CPU410は、性能監視PG432を実行し、圧縮制御通知として、変更後のテーブルを、全ての制御対象ノードへ配信する。テーブル作成PG431及び性能監視PG432が実行する処理の詳細については、後述する。
入出力部420は、管理者からの入力を受け付けたり、所定の情報を管理者へ通知したりするための管理者との間のインタフェースである。入出力部420は、例えば、入力のためのキーボードやマウス、通知のためのディスプレイ等である。
外部I/F440は、外部の装置(例えば、制御対象ノード)と接続するためのインタフェースである。管理端末400は、外部I/F440を介して、ホスト200、ストレージ装置100及び圧縮機能内蔵装置300とそれぞれ接続される。
以下、メモリ430に格納されるノード管理テーブル433、パス区間テーブル434及び圧縮管理テーブル435について、詳細を説明する。
図3は、ノード管理テーブル433の一例を示した図である。
本テーブル433には、全ての制御対象ノードについて、それぞれのノードに関する情報が記録される。例えば、ノード管理テーブル433には、各制御対象ノードごとに、ノード名4331と、ノードID4332と、圧縮有無4333と、圧縮アルゴリズム4334と、パラメータ4335とが記録される。ノード名4331は、当該ノードの名称を示す情報である。例えば、当該ノードがホストA200aの場合は、「ホストA」等がノード名4331とされる。ノードID4332は、ノードを一意に特定するための識別子である。圧縮有無4333は、当該ノードが圧縮機能を有するか否かを示す情報である。例えば、当該ノードが圧縮機能を有する場合は「あり」が、圧縮機能を持たない場合は「なし」が、それぞれ圧縮有無4333とされる。圧縮アルゴリズム4334は、当該ノードが圧縮する際に利用するアルゴリズムを示す情報である。同図の「LZS」は、当該ノードにおいては、LZS方式により圧縮が行われることを示している。パラメータ4335は、圧縮アルゴリズム4334のパラメータの値である。例えば、圧縮アルゴリズム4334が「LZS」の場合は、パラメータとして、圧縮を行う際に利用されるバッファの大きさ(以下、「圧縮バッファサイズ」)がある。圧縮バッファサイズは、例えば「スライド窓」と呼ばれることがあるパラメータであり、一般に、その値を小さくするほど圧縮率を大きくすることができる。LZSや圧縮バッファサイズ以外にも種々のアルゴリズムやパラメータが考えられるが、説明を簡単にするため、本実施形態では、圧縮機能を有する場合、圧縮アルゴリズム4334には「LZS」が、パラメータ4335には圧縮バッファサイズの値が、それぞれ記録されるものとする。
例えば、同図の場合では、ノード管理テーブル433を参照することにより、ノードIDが「HST_1」であるノードは、ホストA200aであり、圧縮機能を有しており、圧縮アルゴリズムはLZS方式で、圧縮バッファサイズの値は8KBであることがわかる。以下、ノードIDが「HST_1」であるノードを「ノード:HST_1」と表記する。以下、これと同様に、識別子により対象物のうちの一つを示す場合は、「:」を用いて表記することとする。
尚、本テーブル433の構成は、上述したものに限定されない。本テーブル433は、上述した情報要素のうちの一部で構成されてもよいし、他の新たな情報要素が追加された形で構成されてもよい。このことは、パス区間テーブル434及び圧縮管理テーブル435についても同様である。例えば、ノード管理テーブル433の場合であれば、圧縮アルゴリズム4334やパラメータ4335が複数存在するときには、それらの全てが、ノード管理テーブル433に含まれてもよい。
図4は、パス区間管理テーブル434の一例を示した図である。
本テーブル434は、制御対象パスに含まれる全てのパス区間について、それぞれのパス区間に関する情報が記録される。例えば、パス区間管理テーブル434には、パス区間ごとに、パス区間ID4341と、接続ノード4342と、転送性能の期待値4343と、転送性能の実測値4344とが記録される。パス区間ID4341は、パス区間を一意に特定するための識別子である。接続ノード4342は、当該パス区間を形成するノード、即ち、当該パス区間の両端のノードを示す情報である。例えば、同図では、パス区間:SEG_1は、その接続ノード4342が「HST_1, STG_1」となっている。これは、ノードID4332が「HST_1」であるホストA200aとノードID4332が「STG_1」であるストレージ装置A100aとが、このパス区間:SEG_1を構成していることを示している。転送性能の期待値(以下、単に「期待値」)4343は、当該パス区間が、通常時にどの程度の転送性能を発揮できるのかを示す値である。期待値4343は、例えば、当該パス区間に利用されている伝送媒体の特性や、当該パス区間が共有されている場合にはその利用される割合等を考慮して決定される。また、期待値4343は、当該パス区間が提供できる最大の転送性能であってもよいし、最大の転送性能を超えない範囲での所定の閾値(例えば、ユーザにより任意に定められた値)であってもよい。転送性能の実測値(以下、単に「実測値」)4344は、本システムが運用されている中で実際に計測された、当該パス区間における転送性能の実測値である。実測値4344は、過去の運用において計測された複数の実測値から統計的に求められた値(例えば、複数の実測値の平均)であってもよいし、ある時点における実測値そのものであってもよい。尚、本実施形態では、期待値4343及び実測値4344の転送性能としては、通信速度が利用されるものとする。
図5は、圧縮管理テーブル435の一例を示した図である。
本テーブル435には、全ての制御対象パスについて、それぞれのパスにおいて圧縮を行うノードが記録される。例えば、圧縮管理テーブル435には、各制御対象パスごとに、パスID4351と、パス情報4352と、圧縮ノード4353とが記録される。パスID4351は、パスを一意に特定するための識別子である。パス情報4352は、当該パスを構成するパス区間を特定するための情報である。
パス情報4352には、例えば、送信ノード43521と、受信ノード43522との組が含まれる。送信ノード43521は、当該パスを利用してデータを送信するノードのIDである。受信ノード43522は、当該パスを利用してデータを受信するノードのIDである。このように、パス情報4352が、送信ノード43521と受信ノード43522との組である場合は、当該パスを構成するパス区間は、パス区間テーブル434の接続ノード4342が参照されることにより特定される。例えば、パス:PTH_1は、送信ノード43521が「HST_1」であり、受信ノード43522が「STG_2」である。ここで、パス区間テーブル434の接続ノード4342を参照すると、接続ノード4342がそれぞれ「HST_1, STG_1」、「STG_1, CMP_1」、「CMP_1, CMP_2」、「CMP, STG_2」であるパス区間を繋げることにより、「HST_1」から「STG_2」までのパスを構成できることがわかる。即ち、パス:PTH_1は、パス区間:SEG_1、パス区間:SEG_3、パス区間:SEG_4及びパス区間:SEG_5により構成されることがわかる。
圧縮ノード4353は、当該パスにおいて圧縮を行うノードのIDである。テーブル作成PG431は、ノード管理テーブル433及びパス区間テーブル434の内容に基づいて、当該パスにおいて圧縮を行うノードを決定し、そのノードのIDを圧縮ノード4353とする。
図6は、本実施形態に係るストレージ装置100の構成例を示した図である。
ストレージ制御装置100は、ホストアダプタ110と、スイッチ120と、メモリ130と、ディスクアダプタ140と、ディスク装置150とを備える。
ホストアダプタ110は、ホスト200や他のストレージ装置100等との接続を制御する。ホストアダプタ110は、受信したデータをメモリ130のキャッシュメモリの領域へ書き込んだり、キャッシュメモリの領域からデータを読み出してホスト200や他のストレージ装置100等へ送信したりする。ホストアダプタ110は、ホストI/F111と、CPU112と、メモリ113と、データ転送制御部114と、圧縮処理部115とを備える。
ホストI/F111は、ホスト200又は他のストレージ装置100等と接続するためのインタフェースである。ホストI/F111は、接続の形態に応じて、対応するプロトコル(例えば、ファイバチャネル、FICON(Fiber Connection)又はiSCSI(internet SCSI)等)に関する処理を行う。例えば、ホストI/F111は、ホスト200から受信したパケット状のデータから元々のライトデータを再構築したり、リードデータからパケット状のデータを生成して、そのパケット状のデータをホスト200へ送信したりする。
CPU112は、ホストアダプタ110内の各部を制御する。例えば、CPU112は、メモリ130に格納された圧縮指示PG131を実行し、管理端末400からの圧縮制御通知の内容に従って、圧縮処理部115に対して圧縮するか否かの指示を行う。
メモリ113は、CPU125が読み出して実行するプログラムやデータを格納するための領域である。尚、後述する圧縮指示PG131、ノード管理テーブル433及び圧縮管理テーブル435は、本メモリ113に格納されてもよい。
データ転送制御部114は、ホスト200又は他のストレージ装置100から受信したデータの転送を制御する。例えば、データ転送制御部114は、ライトデータとともに受信したコマンドに従って、ライトデータをディスク装置150やメモリ130へ書き込んだり、CPU112の指示に従ってライトデータを他のストレージ100へ転送したりする(メモリ130を介して転送されてもよい)。また、データ転送制御部114は、ディスク装置150やメモリ130から読み出したリードデータをホスト200へ転送したり、他のストレージ装置100から受信したリードデータをホスト200へ転送したりする。
メモリ130は、ホストコンピュータ200(又は他のストレージ装置100)と送受信するデータを一時的に格納するために用いられるキャッシュメモリの領域と、ストレージ装置100に関する制御情報や構成情報等を格納するために用いられる共有メモリの領域とを有する。共有メモリの領域には、圧縮指示PG131と、ノード管理テーブル433と、圧縮管理テーブル435とが格納される。
ディスクアダプタ140は、ディスク装置150との接続を制御する。ディスクアダプタ140は、キャッシュメモリの領域からデータを読み出してディスク装置150へ書き込んだり、ディスク装置150から読み出したデータをキャッシュメモリの領域へ書き込んだりする。
ディスク装置150は、ストレージ装置100がホスト200へ提供する記憶資源である。ディスク装置150には、例えば、ホスト200から受信したライトデータが格納される。
スイッチ120は、ホストアダプタ110とメモリ130とディスクアダプタ140とをそれぞれ接続する。また、ストレージ装置100は、スイッチ120を介して、管理端末400と接続される。
尚、本実施形態では、ホストアダプタ110とメモリ130とディスクアダプタ140とは、スイッチ120により接続されたが、バス等により接続されてもよい。
また、ホストアダプタ110とディスクアダプタ140とがそれぞれ備えられる代わりに、両者の機能を兼ね備えた一つの装置が備えられてもよい。
また、圧縮処理部115は、必ずしもデータ転送制御部120の中に備えられる必要はなく、ストレージ制御装置100内のいずれかの場所に備えられていればよい。例えば、圧縮制御部115は、ディスクアダプタ145に備えられてもよいし、圧縮の処理を行うコンピュータプログラムとしてメモリ113又は130に格納されてもよい。
また、メモリのキャッシュメモリと共有メモリ領域は、ストレージ制御装置100内のいずれかの場所に確保されていればよい。例えば、キャッシュメモリと共有メモリは別々のメモリに確保されていてもよい。
また、プロセッサもストレージ制御装置100内のいずれかの場所に備えられていればよい。例えば、プロセッサを集約したプロセッサ用専用アダプタという形態でもよい。
尚、ホスト200及び圧縮機能内蔵装置300についての構成の詳細な説明は省略するが、ストレージ装置100と同様に、CPU112、圧縮処理部115及びメモリ130を備え、メモリには、圧縮指示PG131、ノード管理テーブル433及び圧縮管理テーブル435が格納されるものとする。
以下、ストレージシステムを構成する各装置の動作を説明する。尚、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するCPUよって処理が行われるものとする。
図7は、テーブル作成PG431が実行する処理のフローチャートである。
まず、テーブル作成PG431は、ノード管理テーブル433及びパス区間テーブル434を作成する(S701)。これらのテーブルに記録される情報(実測値4344を除く)は、例えば、入出力部420を介して管理者によって入力されてもよいし、ネットワークを探索するアプリケーション等を利用して自動的に取得されてもよい。一方、実測値4344は、例えば、初期値として、それぞれのパス区間における期待値4343と同じ値とされる。ここでは、ノード管理テーブル433及びパス区間テーブル434は、実測値4354を除き、それぞれ図3及び図4のように作成されるものとする。
次に、テーブル作成PG431は、ノード管理テーブル433及びパス区間テーブル434に基づいて圧縮管理テーブル435を作成する(S702)。圧縮管理テーブル435に記録される情報(圧縮ノード4353を除く)は、上記のノード管理テーブル433及びパス区間テーブル434の作成の場合と同様に、例えば、入出力部420を介して管理者によって入力されてもよいし、ネットワークを探索するアプリケーション等を利用して自動的に取得されてもよい。従って、圧縮管理テーブル435に登録されるパス、即ち、制御対象パスの決定は、管理者が行うこともできるし、自動的に行われることもできる。ここでは、圧縮管理テーブル435は、圧縮ノード4353を除き、図5のように作成されるものとする。
一方、圧縮ノード4353は、テーブル作成PG431がノード管理テーブル433及びパス区間テーブル434の内容に基づいて決定したノードのIDとされる。テーブル作成PG431は、例えば、次のようにして圧縮ノード4353を決定することができる。
即ち、テーブル作成PG431は、パス上にあるノードの配置に基づいて圧縮ノード4353を決定することができる。図5におけるパス:PTH_1の例で説明すると、前述したとおり、このパスは、接続ノード4342がそれぞれ「HST_1, STG_1」、「STG_1, CMP_1」、「CMP_1, CMP_2」、「CMP, STG_2」であるパス区間により構成されている(これは、パス区間テーブル434を参照することで知ることができる)。従って、パス:PTH_1上には、データの流れの上流から順番に、ホストA200a、ストレージ装置A100a、圧縮機能内蔵装置A300a、圧縮機能内蔵装置B300b及びストレージ装置B100bが存在することがわかる。更に、ノード管理テーブル433から、これらのノードは全て圧縮機能を有していることもわかる。そこで、テーブル作成PG431は、圧縮の重複を避け、効率の良い伝送を図るため、最も上流に位置するホストA200aのみが圧縮を行うように決定することができる。つまり、この場合は、テーブル作成PG431は、パス:PTH_1の圧縮ノード4353を「HST_1」とする。
また、テーブル作成PG431は、ノードの配置の他に、当該パスを構成するパス区間の期待値4343をも考慮して、圧縮ノード4353を決定することができる。前述したように、パス:PTH_1は、パス区間:SEG_1、パス区間:SEG_3、パス区間:SEG_4及びパス区間:SEG_5により構成される。そして、これらのパス区間の期待値4343は、パス区間:SEG_4において最も低く「100Mbps」となっている。即ち、パス:PTH_1においては、パス区間:SEG_4がボトルネックとなっている。そこで、テーブル作成PG431は、このパス区間:SEG_4の直前で、即ち、圧縮機能内蔵装置A300aにおいてのみ圧縮を行うように決定することができる。つまり、この場合は、テーブル作成PG431は、パス:PTH_1の圧縮ノード4363を「CMP_1」とする。
その後、テーブル作成PG431は、入出力部420を介して、作成したテーブル(ノード管理テーブル433、パス区間テーブル434及び圧縮管理テーブル435)を管理者に通知する(S703)。管理者は、必要に応じて、テーブル作成PG431が作成したこれらのテーブルを修正することができる。尚、この管理者への通知及び管理者による修正は、必ずしも必要とされるものではない。
その後、テーブル作成PG431は、圧縮制御通知として、作成したノード管理テーブル433及び圧縮管理テーブル435を全ての制御対象ノードへ配信する(S704)。
圧縮制御通知を受信した制御対象ノードは、その通知とともに受信したノード管理テーブル433及び圧縮管理テーブル435を、自己が備える記憶領域へ格納する(S705)。例えば、ストレージ装置100の場合は、受信したノード管理テーブル433及び圧縮管理テーブル435を、メモリ130へ格納する。
以上が、テーブル作成PG431が実行する処理のフローチャートの説明である。
図8は、性能監視PG432が実行する処理のフローチャートである。
まず、性能監視PG432が起動されると、性能監視PG432は、パス区間テーブル434に登録されたそれぞれのパス区間における転送性能を定期的又は不定期的に測定する(S801)。パス区間における転送性能の測定は、例えば、性能監視PG432が、そのパス区間を構成するノードの両方又は片方から、転送性能に関連する情報(例えば、送受信されるデータ量等)を取得し、それらの情報に基づいて転送性能を算出することにより行われる。測定した結果は、パス区間テーブル434に記録される。
その後、転送性能に所定の変化が生じた場合に、性能監視PG432は、ノード管理テーブル433及び/又は圧縮管理テーブル435を変更する(S802)。性能監視PG432は、例えば、次のような場合に、これらのテーブル433、435を変更することができる。
即ち、パス区間:SEG_4の実測値4354が、「50Mbps」となったとする。この場合、期待値4353が「100Mbps」であるのに対して、半分の通信速度となっており、通信性能が極端に低下していることがわかる。そこで、性能監視PG432は、このパス区間:SEG_4の直前のノード(例えば、圧縮機能内蔵装置A300aから圧縮機能内蔵装置B300bへデータが流れる場合であれば、圧縮機能内蔵装置A300a)における圧縮の際の圧縮率を高めるようすることができる。即ち、性能監視PG432は、ノード管理テーブル433におけるノード:CMP_1のパラメータ(ここでは、圧縮バッファサイズ)4345を、小さくなるように変更する。
また、実測値4354の変化に応じて、圧縮するノードを変更することもできる。例えば、期待値4353においては、パス区間:SEG_4がボトルネックになると予想されていたために、パス:PTH_1の圧縮ノード4353が「CMP_1」とされていた場合に、実測値4354が図4のようになったとする。この場合、実際にボトルネックとなっているパス区間は、パス区間:SEG_3である。そこで、性能監視PG432は、このパス区間:SEG_3の直前のノード(パス:PTH_1の場合は、ストレージ装置A100a)をパス:PTH_1の圧縮ノード4353とすることができる。即ち、性能監視PG432は、圧縮管理テーブル435におけるパス:PTH_1の圧縮ノード4353を、「CMP_1」から「STG_1」へ変更する。
その後、テーブル作成PG431は、圧縮制御通知として、変更したテーブル(ノード管理テーブル433及び/又は圧縮管理テーブル435)を全ての制御対象ノードへ配信する(S803)。
圧縮制御通知を受信した制御対象ノードは、自己が備える記憶領域に格納されているノード管理テーブル433及び/又は圧縮管理テーブル435を、性能監視PG432から受信したテーブル(ノード管理テーブル433及び/又は圧縮管理テーブル435)の内容に更新する(S804)。
以上が、性能監視PG432が実行する処理のフローチャートの説明である。
図9は、制御対象ノードがデータを受信したときに実行する処理のフローチャートである。
ここでは、ストレージ装置A100aが、圧縮指示PG131を実行するものとして説明する。また、メモリ130に格納されているノード管理テーブル433及び圧縮管理テーブル435は、それぞれ図3及び図5で示されたものとする。
まず、ストレージ装置A100aがデータを受信する(S901)。例えば、ホストA200aからライトコマンド及びライトデータを受信する。
ストレージ装置A100aは、ライトデータとともに受信したライトコマンドから、当該ライトデータの送信ノード及び受信ノードを示す情報を取得する(S902)。ここでは、送信ノードがホストA200a(HST_1)であり、受信ノードがストレージ装置B100b(STG_2)であるものとする。
ここで、圧縮指示PG131は、当該ライトデータを自分(即ち、ストレージ装置A100a)が圧縮するか否かを判断する(S903)。この判断は、以下のようにして行われる。
即ち、圧縮指示PG131は、まず、メモリ130に格納されている圧縮管理テーブル435を参照して、S902において取得された送信ノード及び受信ノードを示す情報に基づいて、当該ライトデータが通過するパスが、テーブル435上のどのパスに相当するかを調べる。ここでは、送信ノードがホストA200a(HST_1)であり、受信ノードがストレージ装置B100b(STG_2)であるので、パス:PTH_1が該当する。次に、圧縮指示PG131は、当該ライトデータが通過するパス、即ち、パス:PTH_1の圧縮ノード4353を参照し、圧縮ノード4353が自分(即ち、「STG_1」)であれば圧縮するものと判断し、自分以外であれば圧縮しないものと判断する。図5では、パス:PTH_2の圧縮ノード4353は、「STG_1」となっているので、圧縮指示PG131は、当該ライトデータを自分が圧縮するものと判断する。
その後、圧縮指示PG131は、S903における判断結果に基づいて、圧縮処理部115へ、当該ライトデータに対して圧縮を行うか行わないかの指示(以下「圧縮非圧縮指示」)を出す(S904、S905)。圧縮を行う指示を出す場合は、その圧縮に利用される圧縮アルゴリズム4334及びパラメータ4335も通知される。圧縮指示PG131は、ノード管理テーブル433を参照して、自分が圧縮を行う際に利用する圧縮アルゴリズム4344及びパラメータ4345を取得することができる。ここでは、ノード:STG_1の圧縮アルゴリズム4344である「LZS」とパラメータ4345である「8KB」とが、圧縮処理部115へ通知される。尚、S903において圧縮するものと判断された場合にのみ、圧縮アルゴリズム4334及びパラメータ4335とともに、その旨を圧縮処理部115へ指示してもよい。
圧縮非圧縮指示を受けた圧縮処理部115は、圧縮を行うように指示された場合に、圧縮指示とともに通知された圧縮アルゴリズム4344及びパラメータ4345を利用して、ライトデータを圧縮する(S906)。
その後、ストレージ装置A100aは、その制御データに基づいて、ライトデータを処理する(S907)。即ち、ストレージ装置A100aは、ストレージ装置B100bへ当該ライトデータを転送する。
尚、当該ライトデータが通過するパス上の制御対象ノード(ホストA200a、ストレージ装置A100a、圧縮機能内蔵装置A300a、圧縮機能内蔵装置B300b及びストレージ装置B100b)は、全て同一のノード管理テーブル433及び圧縮管理テーブル435を有しているので、当該ライトデータが、ストレージ装置A100a以外で圧縮されることはない。従って、当該ライトデータが重複して圧縮されることがなくなる。
以上が、制御対象ノードがデータを受信したときに実行する処理のフローチャートの説明である。
本実施形態によれば、データの圧縮の重複を回避し、また、転送性能が低下したとき等必要に応じてその圧縮率を変えることができるので、ストレージシステムにおいて送受信されるデータを、効率的に圧縮できるようになる。
<第二の実施形態>。
図10は、本発明の第二の実施形態に係る圧縮制御装置を備えたストレージシステムの構成例を示した図である。
本実施形態に係るストレージシステムは、一以上のホスト200と、ストレージ装置100と、管理端末400とを備える。
ホスト200、管理端末400及びストレージ装置100の構成の大部分は、第一の実施形態のものと同じである。以下、主に第一の実施形態との差分を説明する。
ホスト200は、必ずしも圧縮指示PG131、ノード管理テーブル433及び圧縮管理テーブル435をメモリに格納しておかなくともよい。それ以外は、第一の実施形態のものと同じである。
管理端末400は、必ずしも性能監視PG432、ノード管理テーブル433及びパス区間テーブル434をメモリ430に格納しておかなくともよい。また、テーブル作成PG431が実行する処理は、図7で説明したものと一部異なる。具体的には、本実施形態では、S701の処理は必要とされず、また、SS704及びS705においてノード管理テーブル433は、配信及び格納されなくともよい。本実施形態では、テーブル作成PG431は、図11に示すような圧縮管理テーブル436を作成して、作成したテーブル436をストレージ装置100へ配信する。それ以外は、第一の実施形態のものと同じである。
ストレージ装置100は、必ずしもメモリ130にノード管理テーブル433を格納しておかなくともよい。また、ディスク装置150は、複数の論理ボリューム、例えば、ホストA200aが利用する論理ボリューム(ここでは、「LU1」とする)、ホストB200bが利用する論理ボリューム(ここでは、「LU2とする」)、ログが格納される論理ボリューム(ここでは、「LU3」とする)、バックアップデータが格納される論理ボリューム(ここでは、「LU4」とする)を備える。尚、「LU」は、Logical Unitの略である。また、本実施形態における圧縮指示PG131は、圧縮管理テーブル436を参照して、データが格納されるボリュームに基づいて、そのデータの圧縮を行うか否かを決定する。その詳細は、後述する。それ以外は、第一の実施形態のものと同じである。
図11は、本実施形態に係る圧縮テーブル436の一例を示した図である。
本テーブル436には、ディスク装置150が備える論理ボリュームごとに、その論理ボリュームに格納されるデータを圧縮するか否かが記録される。例えば、圧縮管理テーブル436には、対象LU4361と、用途4362と、圧縮非圧縮4363とが記録される。対象LU4361は、当該論理ボリュームを特定するための情報である。用途4362は、当該論理ボリュームの用途、例えば、当該論理ボリュームを利用するホスト(又はアプリケーション)や当該論理ボリュームに格納されるデータの種別等を示す情報である。例えば、ホストAが利用するものである場合は「ホストAが利用」等、ログが格納される場合は「ログ」等が、それぞれ用途4362とされる。尚、用途4362は、必ずしも記録されなくともよい。圧縮非圧縮4363は、当該論理ボリュームに格納されるデータに対して、圧縮を行うか否かの情報である。例えば、圧縮を行う場合には「圧縮」が、圧縮を行わない場合には「非圧縮」が、それぞれ圧縮非圧縮4363とされる。圧縮非圧縮4363は、例えば、当該論理ボリュームに格納されるデータが利用頻度の高いものである場合は「非圧縮」と、利用頻度が低いものである場合は「圧縮」と、それぞれ決定される。例えば、ログやバックアップデータは、主にシステムに障害が発生したときに利用されるデータであるため、利用頻度は低い。従って、ログやバックアップデータが格納されるLU3及びLU4の圧縮非圧縮4363を、「圧縮」とすることができる。また、ホストA200aからのアクセスの頻度が低い場合には(LU1に格納されるデータの利用頻度は低い)、LU1の圧縮有無4363を「圧縮」とすることもできる。一方、ホストB200bからのアクセス頻度が高い場合には、LU2の圧縮有無4363を「非圧縮」とすることができる。
尚、本テーブル436は、必ずしも一つの論理ボリュームごとに記録される必要はない。例えば、用途が同じである複数の論理ボリュームを示す情報を対象LU4361とし、複数の論理ボリュームごとに記録されることもできる。
また、上述したように、本テーブル436は、管理端末400におけるテーブル作成PG431によって作成される。従って、本テーブル436に記録される情報は、第一の実施形態と同様に、入出力部420を介して管理者によって入力されてもよいし、ネットワークを探索するアプリケーション等を利用して自動的に取得されてもよい。
以下、本実施形態におけるストレージ装置100の動作を説明する。
図12は、ストレージ装置100がデータを受信したときに実行する処理のフローチャートである。
まず、ストレージ装置100がデータを受信する(S1201)。例えば、ホスト200からライトコマンド及びライトデータを受信する。
ストレージ装置100は、ライトデータとともに受信したライトコマンドから、当該ライトデータが格納される論理ボリュームを示す情報(例えば、LUN(Logical Unit Number))を取得する(S1202)。
ここで、圧縮指示PG131は、圧縮管理テーブル436を参照して、当該ライトデータを圧縮するか否かを判断する(S1203)。例えば、圧縮管理テーブル436が図11に示したものであり、当該ライトデータが格納される論理ボリュームがLU1であった場合は、LU1の圧縮非圧縮4363は「圧縮」であるので、圧縮するものと判断される。
その後、圧縮指示PG131は、S1203における判断結果に基づいて、圧縮処理部115へ、当該ライトデータに対して圧縮非圧縮指示を出す(S1204、S1205)。尚、S1203において圧縮するものと判断された場合にのみ、その旨を圧縮処理部115へ指示してもよい。
圧縮非圧縮指示を受けた圧縮処理部115は、圧縮を行うように指示された場合に、ライトデータを圧縮する(S1206)。
その後、ストレージ装置100は、S1202で取得した情報が示す論理ボリュームへライトデータを格納する(S1207)。
尚、図12のフローチャートでは、ホスト200から受信したライトデータに対して、圧縮するか否かの判断を行う場合を例に挙げて説明したが、これに限定されるものではない。例えば、ディスクアダプタ140がCPU112と圧縮処理部115とを備え、ディスクアダプタ140内のCPU112が圧縮指示PG131を実行して、ディスクアダプタ140内の圧縮処理部115の圧縮制御を行うこともできる。このようにすることで、ホスト200から受信したライトデータに限らず、キャッシュメモリの領域からディスク装置150へ格納されるデータに対して、圧縮するか否かの判断を行うことができるようになる。つまり、キャッシュメモリの領域からディスク装置150へ格納されるデータがログやバックアップデータであった場合には(ログやバックアップデータは、ストレージ装置100内部で生成されることが多い)、ディスクアダプタ140においてそれらを圧縮してからディスク装置150へ格納することができるようになる。
以上が、ストレージ装置100がデータを受信したときに実行する処理のフローチャートの説明である。
本実施形態によれば、利用頻度の低いデータに対して圧縮を行うことができるので、ストレージシステムの記憶資源に格納されるデータを効率的に圧縮でき、記憶資源の使用容量を効率的に抑制することができる。
上述した本発明の幾つかの実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。例えば、図13に例示する圧縮管理テーブル437が用意されても良い。この場合、圧縮処理部115が、書込む(又は読み出す)データのデータ種別と図13の圧縮管理テーブル437とを基に、そのデータを圧縮するか(或いは伸張するか)を決定しても良い。
第一の実施形態に係る圧縮制御装置を備えたストレージシステムの構成例を示した図である。 第一の実施形態に係る管理端末の構成例を示した図である。 ノード管理テーブルの一例を示した図である。 パス区間管理テーブルの一例を示した図である。 圧縮管理テーブルの一例を示した図である。 第一の実施形態に係るストレージ装置の構成例を示した図である。 テーブル作成PG431が実行する処理のフローチャートである。 性能監視PG432が実行する処理のフローチャートである。 制御対象ノードがデータを受信したときに実行する処理のフローチャートである。 第二の実施形態に係る圧縮制御装置を備えたストレージシステムの構成例を示した図である。 第二の実施形態に係る圧縮管理テーブルの一例を示した図である。 第二の実施形態に係るストレージ装置がデータを受信したときに実行する処理のフローチャートである。 第二の実施形態に係る圧縮管理テーブルの変形例を示した図である。
符号の説明
100…ストレージ装置、200…ホスト、300…圧縮機能内蔵装置、400…管理装置

Claims (16)

  1. ストレージ装置を含んだ複数の機器で構成されるストレージシステムにおいて送受信されるデータの圧縮を制御する圧縮制御装置であって、
    ストレージシステムの構成に関する構成情報と、
    前記構成情報に基づいて、前記ストレージシステムを構成する少なくとも一つの機器についての圧縮制御方式を決定する圧縮制御方式決定部と、
    前記少なくとも一つの機器が前記決定された圧縮制御方式に従う圧縮を行うよう、前記複数の機器の少なくとも一つを制御する圧縮制御部と、
    を備える圧縮制御装置。
  2. 前記構成情報は、機器情報と通信経路情報とを含んだ情報であり、
    前記機器情報は、前記ストレージシステムを構成する複数の機器の各々について圧縮機能を有するか否かを示す情報であり、
    前記通信経路情報は、前記ストレージシステムを構成する複数の機器によって形成される複数の通信経路の各々について、当該通信経路を形成する機器の組み合わせと、当該通信経路を形成する複数の機器についてデータの流れる順序とを表す情報であり、
    前記圧縮制御方式決定部は、前記機器情報及び前記通信経路情報に基づいて、前記複数の通信経路の各々について、当該通信経路を形成する複数の機器のうちのいずれかを、データの圧縮を行う機器である圧縮実行機器と決定し、
    前記圧縮制御部は、各通信経路について、決定された圧縮実行機器がデータの圧縮を行うように、前記複数の機器のうちの少なくとも一つを制御する、
    請求項1記載の圧縮制御装置。
  3. 前記圧縮制御方式決定部は、前記機器情報及び前記通信経路情報に基づいて、各通信経路について、当該通信経路を形成する複数の機器であって圧縮機能を有する機器のうち、データの流れの最も上流に位置する機器を前記圧縮実行機器と決定する、
    請求項2記載の圧縮制御装置。
  4. 前記構成情報は、更に、転送性能情報を含み、
    前記転送性能情報は、各通信経路について当該通信経路における通信区間ごとにその転送性能を示した情報であり、
    前記圧縮制御方式決定部は、前記機器情報、前記通信経路情報及び前記転送性能情報に基づいて、各通信経路について、当該通信経路を形成する複数の機器であって圧縮機能を有する機器のうち、転送性能が低い通信区間の直前に位置する機器を、前記圧縮実行機器と決定する、
    請求項2記載の圧縮制御装置。
  5. 前記転送性能は、データの通信速度である、
    請求項4記載の圧縮制御装置。
  6. 前記転送性能は、データの通信速度の期待値である、
    請求項4記載の圧縮制御装置。
  7. 各通信経路における通信区間の転送性能を定期的又は不定期的に計測する転送性能計測部、を更に備え、
    前記転送性能情報が示す転送性能は、下記(1)又は(2)である、
    (1)前記転送性能計測部が計測した所定の時点における転送性能、
    (2)前記転送性能計測部が計測した複数の時点における転送性能の平均値、
    請求項4記載の圧縮制御装置。
  8. 前記転送性能情報は、転送性能の履歴を示し、
    各通信経路における各通信区間についての前記転送性能の履歴は、前記転送性能計測部によって計測された転送性能が追加されることによって更新され、
    転送性能が低い通信区間が別の通信区間に変更されたか否かを各通信経路について判断する性能変更判断部を、更に備え、
    前記性能変更判断部が、或る通信経路について転送性能が低い通信区間が別の通信区間に変更されたと判断したときは、前記圧縮制御方式決定部は、前記或る通信経路について、転送性能が低い前記別の通信区間の直前に位置する機器であって圧縮機能を有する機器を、前記圧縮実行機器と決定し、前記圧縮制御部は、前記或る通信経路について、決定された圧縮実行機器がデータの圧縮を行うように、前記複数の機器のうちの少なくとも一つを制御する、
    請求項7記載の圧縮制御装置。
  9. 前記圧縮制御方式決定部が、転送性能が低い通信区間の変更後の転送性能に基づいて、決定された前記圧縮実行機器がデータを圧縮する際の圧縮率を調節し、
    前記圧縮制御部は、前記圧縮実行機器に対して、調節後の圧縮率を送る、
    請求項8記載の圧縮制御装置。
  10. 前記構成情報は、各通信経路について当該通信経路における通信区間ごとにその転送性能を示した転送性能情報を含み、
    前記圧縮制御方式決定部が、前記転送性能情報が示す転送性能を基に、前記複数の機器のうちの圧縮を行う機器である圧縮実行機器がデータを圧縮する際の圧縮率又は圧縮率に影響するパラメータを決定し、
    前記圧縮制御部は、前記圧縮実行機器に対して、決定された圧縮率又はパラメータを送る、
    請求項1記載の圧縮制御装置。
  11. 前記通信区間の転送性能を定期的又は不定期的に計測し、前記転送性能情報が示す転送性能が前記計測された転送性能となるように、前記転送性能情報を更新する転送性能計測部、を更に備え、
    前記圧縮制御方式決定部は、更新後の前記転送性能情報が示す転送性能に基づいて、前記圧縮実行機器がデータを圧縮する際の圧縮率又は圧縮率に影響するパラメータを変更し、
    前記圧縮制御部は、前記圧縮実行機器に対して変更後の圧縮率又はパラメータを送る、
    請求項10記載の圧縮制御装置。
  12. 前記構成情報は、前記ストレージシステムにおけるデータの種別を示すデータ種別情報を含み、
    前記圧縮制御方式決定部は、前記ストレージシステムを構成する所定の機器に対して、前記データ種別情報に基づいて、前記データの種別ごとにデータの圧縮を行うか否かを決定し、
    前記圧縮制御部は、前記圧縮制御方式決定部が決定したデータ種別のデータの圧縮を前記所定の機器が行うよう前記所定の機器を制御する、
    請求項1記載の圧縮制御装置。
  13. 前記圧縮制御方式決定部が、前記データの種別がログ又はバックアップであるときに、当該データの圧縮を行うと決定する、
    請求項12記載の圧縮制御装置。
  14. 前記構成情報は、前記所定の機器が扱うデータが格納される論理ボリュームの識別情報とその用途とを示す論理ボリューム情報を含み、
    前記圧縮制御方式決定部は、前記ストレージシステムを構成する所定の機器に対して、前記論理ボリューム情報が表す各論理ボリュームの用途に基づいて、前記論理ボリュームごとに当該論理ボリュームに格納されるデータの圧縮を行うか否かを決定し、
    前記圧縮制御部は、前記圧縮制御方式決定部が決定した論理ボリュームに格納されるデータの圧縮を前記所定の機器が行うよう前記所定の機器を制御する、
    請求項12記載の圧縮制御装置。
  15. ストレージ装置を含む複数の機器と
    圧縮制御装置と
    を備え、
    前記圧縮制御装置が、
    前記複数の機器の構成に関する構成情報と、
    前記構成情報に基づいて、前記複数の機器の少なくとも一つの機器についての圧縮制御方式を決定する圧縮制御方式決定部と、
    前記少なくとも一つの機器が前記決定された圧縮制御方式に従う圧縮を行うよう、前記複数の機器の少なくとも一つを制御する圧縮制御部と、
    を備える、
    圧縮制御システム。
  16. ストレージ装置を含んだ複数の機器で構成されるストレージシステムの構成に関する構成情報を基に、前記ストレージシステムを構成する少なくとも一つの機器についての圧縮制御方式を決定し、
    前記少なくとも一つの機器が前記決定された圧縮制御方式に従う圧縮を行うよう、前記複数の機器の少なくとも一つを制御する、
    圧縮制御方法。
JP2007107985A 2007-04-17 2007-04-17 圧縮制御装置及び方法 Pending JP2008269050A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007107985A JP2008269050A (ja) 2007-04-17 2007-04-17 圧縮制御装置及び方法
US11/968,677 US20080263244A1 (en) 2007-04-17 2008-01-03 Compression control device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007107985A JP2008269050A (ja) 2007-04-17 2007-04-17 圧縮制御装置及び方法

Publications (1)

Publication Number Publication Date
JP2008269050A true JP2008269050A (ja) 2008-11-06

Family

ID=39873364

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007107985A Pending JP2008269050A (ja) 2007-04-17 2007-04-17 圧縮制御装置及び方法

Country Status (2)

Country Link
US (1) US20080263244A1 (ja)
JP (1) JP2008269050A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014524601A (ja) * 2011-12-08 2014-09-22 株式会社日立製作所 リモートコピーシステム、及びリモートコピー制御方法
WO2015015611A1 (ja) * 2013-07-31 2015-02-05 株式会社日立製作所 ストレージシステム及びデータライト方法
JP2015064745A (ja) * 2013-09-25 2015-04-09 富士通株式会社 情報処理システム、制御プログラム及び制御方法
WO2017199424A1 (ja) * 2016-05-20 2017-11-23 株式会社日立製作所 計算機システム
JP2019061654A (ja) * 2017-09-25 2019-04-18 株式会社リコー 情報処理装置及び方法
JP2022133058A (ja) * 2021-03-01 2022-09-13 株式会社日立製作所 リモートコピーシステム及び方法
KR102788300B1 (ko) * 2024-07-19 2025-03-31 아이티정보기술 주식회사 인공지능 기반 가상 머신의 호스트 자원 관리 서버 및 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4757038B2 (ja) * 2006-01-25 2011-08-24 株式会社日立製作所 ストレージシステム及び記憶制御装置
JP2013084116A (ja) * 2011-10-07 2013-05-09 Fujitsu Ltd 通信装置、通信装置の制御方法及び情報処理システム
US10838922B2 (en) * 2017-03-31 2020-11-17 International Business Machines Corporation Data compression by using cognitive created dictionaries
JP2020086477A (ja) * 2018-11-15 2020-06-04 株式会社日立製作所 大規模ストレージシステム及び大規模ストレージシステムにおけるデータ配置方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5659544A (en) * 1994-10-17 1997-08-19 Lucent Technologies Inc. Method and system for distributed control in wireless cellular and personal communication systems
JP3184763B2 (ja) * 1995-06-07 2001-07-09 インターナショナル・ビジネス・マシーンズ・コーポレ−ション マルチメディア直接アクセス記憶装置及びフォーマット方法
US5889480A (en) * 1996-10-18 1999-03-30 Samsung Electronics Co., Ltd. Full duplex serial codec interface with DMA
US6122753A (en) * 1997-04-09 2000-09-19 Nec Corporation Fault recovery system and transmission path autonomic switching system
US6748416B2 (en) * 1999-01-20 2004-06-08 International Business Machines Corporation Client-side method and apparatus for improving the availability and performance of network mediated services
US7129860B2 (en) * 1999-01-29 2006-10-31 Quickshift, Inc. System and method for performing scalable embedded parallel data decompression
JP2001285400A (ja) * 2000-03-29 2001-10-12 Kddi Corp トラヒック統計情報収集方法
US6674717B1 (en) * 2000-03-30 2004-01-06 Network Physics, Inc. Method for reducing packet loss and increasing internet flow by feedback control
US6862288B2 (en) * 2001-01-16 2005-03-01 Fujitsu Network Communications, Inc. Circuit reestablishment and tear down in a highly available communications system
WO2002065535A2 (en) * 2001-02-12 2002-08-22 Ico Services Limited Communication apparatus and method with links to mobile terminals via a satellite or a terrestrial network with partly reuse of the frequency band
US7206309B2 (en) * 2001-03-27 2007-04-17 Nortel Networks Limited High availability packet forward apparatus and method
US7133365B2 (en) * 2001-11-02 2006-11-07 Internap Network Services Corporation System and method to provide routing control of information over networks
AU2003214624A1 (en) * 2002-04-25 2003-11-10 Kashya Israel Ltd. An apparatus for continuous compression of large volumes of data
US20050091311A1 (en) * 2003-07-29 2005-04-28 Lund Christopher D. Method and apparatus for distributing multimedia to remote clients
US7822067B2 (en) * 2003-08-08 2010-10-26 Qualcomm Incorporated Header compression enhancement for broadcast/multicast services
JP4451118B2 (ja) * 2003-11-18 2010-04-14 株式会社日立製作所 情報処理システム、管理装置、論理デバイス選択方法及びプログラム
US20050198062A1 (en) * 2004-03-05 2005-09-08 Shapiro Richard B. Method and apparatus for accelerating data access operations in a database system
US20060041895A1 (en) * 2004-08-04 2006-02-23 Microsoft Corporation Systems and methods for interfacing with codecs across an architecture optimized for audio
US7733781B2 (en) * 2006-04-24 2010-06-08 Broadcom Corporation Distributed congestion avoidance in a network switching system
US9621372B2 (en) * 2006-04-29 2017-04-11 Oncircle, Inc. Title-enabled networking
US7940735B2 (en) * 2006-08-22 2011-05-10 Embarq Holdings Company, Llc System and method for selecting an access point
US7532134B2 (en) * 2007-03-12 2009-05-12 Citrix Systems, Inc. Systems and methods for sharing compression histories between multiple devices
US7885294B2 (en) * 2007-08-23 2011-02-08 Cisco Technology, Inc. Signaling compression information using routing protocols

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014524601A (ja) * 2011-12-08 2014-09-22 株式会社日立製作所 リモートコピーシステム、及びリモートコピー制御方法
US10146435B2 (en) 2013-07-31 2018-12-04 Hitachi, Ltd. Storage system and data write method
JP6007332B2 (ja) * 2013-07-31 2016-10-12 株式会社日立製作所 ストレージシステム及びデータライト方法
WO2015015611A1 (ja) * 2013-07-31 2015-02-05 株式会社日立製作所 ストレージシステム及びデータライト方法
JP2015064745A (ja) * 2013-09-25 2015-04-09 富士通株式会社 情報処理システム、制御プログラム及び制御方法
US9882971B2 (en) 2013-09-25 2018-01-30 Fujitsu Limited Information processing system, control method, and recording medium
WO2017199424A1 (ja) * 2016-05-20 2017-11-23 株式会社日立製作所 計算機システム
JP2019061654A (ja) * 2017-09-25 2019-04-18 株式会社リコー 情報処理装置及び方法
JP7214999B2 (ja) 2017-09-25 2023-01-31 株式会社リコー 情報処理装置及び方法
JP2022133058A (ja) * 2021-03-01 2022-09-13 株式会社日立製作所 リモートコピーシステム及び方法
JP7343536B2 (ja) 2021-03-01 2023-09-12 株式会社日立製作所 リモートコピーシステム及び方法
JP2023155450A (ja) * 2021-03-01 2023-10-20 株式会社日立製作所 リモートコピーシステム及び方法
JP7570479B2 (ja) 2021-03-01 2024-10-21 日立ヴァンタラ株式会社 計算機システム及び計算機システムの制御方法
KR102788300B1 (ko) * 2024-07-19 2025-03-31 아이티정보기술 주식회사 인공지능 기반 가상 머신의 호스트 자원 관리 서버 및 방법

Also Published As

Publication number Publication date
US20080263244A1 (en) 2008-10-23

Similar Documents

Publication Publication Date Title
JP2008269050A (ja) 圧縮制御装置及び方法
US7024526B2 (en) Apparatus and method of null data skip remote copy
US7159088B2 (en) Storage system and data processing system
JP5090098B2 (ja) Nasの消費電力を削減する方法及びその方法を用いた計算機システム
EP2254036B1 (en) Storage apparatus and data copy method
WO2014068617A1 (en) Storage apparatus and method for controlling storage apparatus
JP6227007B2 (ja) データ圧縮領域へのデータの実時間分類
US11204941B2 (en) Distributed database system, distributed database management method, and distributed database management program
EP3779705B1 (en) Data writing method, client server, and system
CN103929185A (zh) 实时减少数据压缩的中央处理单元开销的方法和系统
US9824131B2 (en) Regulating a replication operation
US8521692B1 (en) Storage system and method for controlling storage system
KR20120102664A (ko) 미래 사용 추정에 기반한 저장 메모리 할당
JP2004280779A5 (ja)
US20160259591A1 (en) Storage system and deduplication control method
US20170269847A1 (en) Method and Device for Differential Data Backup
JP2020154587A (ja) 計算機システム及びデータ管理方法
JP2014182737A (ja) 情報処理装置、情報処理方法、ストレージシステム及びコンピュータプログラム
JP7075077B2 (ja) バックアップサーバ、バックアップ方法、プログラム、ストレージシステム
JP4773788B2 (ja) 記憶システムにおけるリモートコピー制御
US8229995B2 (en) Data transfer processing apparatus, data transfer processing method, and computer product
JP6582721B2 (ja) 制御装置、ストレージシステム、及び制御プログラム
CN103843309A (zh) 数据同步方法和数据同步系统
US20110106939A1 (en) Computer system and its management method
US20240419744A1 (en) Storage system and storage control method