[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5037952B2 - ストレージシステム及びストレージシステムの制御方法 - Google Patents

ストレージシステム及びストレージシステムの制御方法 Download PDF

Info

Publication number
JP5037952B2
JP5037952B2 JP2007005652A JP2007005652A JP5037952B2 JP 5037952 B2 JP5037952 B2 JP 5037952B2 JP 2007005652 A JP2007005652 A JP 2007005652A JP 2007005652 A JP2007005652 A JP 2007005652A JP 5037952 B2 JP5037952 B2 JP 5037952B2
Authority
JP
Japan
Prior art keywords
compression
data
logical device
ldev
storage system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007005652A
Other languages
English (en)
Other versions
JP2008171312A (ja
Inventor
崇仁 中村
勝也 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007005652A priority Critical patent/JP5037952B2/ja
Priority to US12/003,902 priority patent/US7953939B2/en
Publication of JP2008171312A publication Critical patent/JP2008171312A/ja
Application granted granted Critical
Publication of JP5037952B2 publication Critical patent/JP5037952B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0886Variable-length word access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof
    • 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/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、ストレージシステム及びストレージシステムの制御方法に関し、特に、ストレージシステムの複数のディスクドライブに対する省電力制御技術に関する。
データセンタの大規模化に伴い、システムの消費電力の増大やシステムからの発熱が問題となってくる。そのため、消費電力が少なく、かつ、大容量のデータを効率的に格納することができるストレージシステムが要求されている。
下記特許文献1には、ストレージ装置の消費電力を抑制する技術が開示されている。特許文献1におけるストレージ装置は、ホストコンピュータからのアクセス要求に基づいた負荷情報が、閾値以下になると、一部のハードディスクドライブ(HDD)に対する給電を停止し、消費電力を抑制している。
また、下記特許文献2には、ストレージ装置にデータを圧縮して格納する技術が開示されている。
ところで、データ圧縮技術においては、データに対する圧縮処理を実際に実行するまで圧縮されたデータのサイズを予測することは難しい。また、データによっては圧縮処理を適用する前よりもデータサイズが大きくなってしまうこともありうる。
特開2002―297320号公報 特開平5−73213号公報
特許文献1に開示されるようなハードディスクドライブに対する給電を停止して、消費電力を抑制する技術においては、コントローラが給電の停止によってスピンダウンされたハードディスクドライブにアクセスする場合、そのハードディスクデバイスがスピンアップされるまで待つ必要がある。一般に、ハードディスクのスピンアップには、数秒から十数秒の時間を要する。そのため、スピンダウンしているハードディスクドライブにアクセスする場合、アクセスレイテンシが極端に増大してしまい、システムのダウンを引き起こすおそれがある。
また、特許文献2に開示されたストレージ装置は、データを圧縮して格納する技術を開示するものの、消費電力を抑制する点については何ら言及がない。
一方、同じ消費電力性能のストレージ装置を用いる場合であっても、ストレージ装置1台当たりでより大容量のデータを格納できれば、少ない台数で所望の容量のデータを格納でき、結果として低消費電力化に貢献することになる。
本発明は、上記課題に鑑みてなされたものであって、高信頼、高性能でかつ効率的にデータを格納する低消費電力のストレージシステムを提供することを目的とする。
すなわち、本発明の一形態によれば、本発明は、複数のディスクドライブと、前記複数のディスクドライブを制御するディスク制御装置と、を備えるストレージシステムであって、前記複数のディスクドライブにより構成される複数の仮想デバイスに第1の論理デバイスが割り当てられ、前記ディスク制御装置は、チャネルを介してホストコンピュータに接続可能に構成されたチャネルアダプタと、前記論理デバイスの所定の記憶領域にアクセス可能に構成されたディスクアダプタと、前記チャネルアダプタと前記ディスクアダプタとの間でデータを送受するために配置されたキャッシュメモリと、データに対する圧縮処理を行う圧縮部と、前記複数のディスクドライブに対して供給される電力を制御する電力制御部と、を備え、前記ディスク制御装置は、前記第1の論理デバイス上のデータに対して前記圧縮処理を行い、当該圧縮処理により圧縮された前記データが格納された、前記第1の論理デバイスよりもサイズが小さい第2の論理デバイスを前記複数の仮想デバイスの少なくとも一つに割り当てることを特徴とする。
また、本発明の他の形態によれば、本発明は、複数のディスクドライブと、前記複数のディスクドライブを制御するディスク制御装置と、を備えるストレージシステムの制御方法であって、少なくとも1つのディスクドライブを割り当てた仮想デバイスを複数構成するステップと、ホストコンピュータにデータの記憶領域を提供するための圧縮前論理デバイスを、第1の所定数で構成される第1の仮想デバイスに割り当てるステップと、前記ホストコンピュータから書き込み要求に従うデータを受信するステップと、前記受信したデータを前記圧縮前論理デバイスに格納するステップと、前記圧縮前論理デバイス上のデータに対して前記圧縮処理を行い、当該圧縮処理により圧縮された前記データが格納された、前記圧縮前論理デバイスよりもサイズが小さい圧縮後論理デバイスを、前記第1の所定数より少ない第2の所定数で構成される第2の仮想デバイスに割り当てるステップと、前記第2の所定数で構成される第2の仮想デバイス以外の仮想デバイスに対する電力の供給を制御するステップと、を含むことを特徴とする。
さらに、本発明のさらに他の形態によれば、本発明は、複数のディスクドライブと、前記複数のディスクドライブを制御するディスク制御装置と、を備えるストレージシステムの制御方法であって、少なくとも1つのディスクドライブを割り当てた仮想デバイスを複数構成するステップと、ホストコンピュータにデータの記憶領域を提供するための圧縮前論理デバイスを、第1の所定数で構成される仮想デバイスに割り当てるステップと、前記第1の論理デバイスに格納されたデータを読み出すステップと、前記読み出したデータに対して圧縮処理を行うステップと、前記圧縮処理により圧縮された前記データが格納された、前記圧縮前論理デバイスよりもサイズが小さい圧縮後論理デバイスを、前記第1の所定数より少ない第2の所定数で構成される仮想デバイスに割り当てるステップと、前記第2の所定数で構成される仮想デバイス以外の仮想デバイスに対する電力の供給を制御するステップと、を含むことを特徴とする。
本発明の代表的な形態によれば、ストレージシステムは、極端な性能劣化を起こさず、消費電力を低減できる。またデータ圧縮を行い効率的なデータ格納ができる。
次に、本発明の実施の形態について、図面を参照しつつ説明する。
図1は、本発明の一実施形態に係る計算機システム1の構成を示す図である。同図に示すように、計算機システム1は、ネットワーク2に接続されたホストコンピュータ3及びストレージシステム4を含み、例えば、銀行の業務システムや航空機の座席予約業務システム等として構成される。
ネットワーク2は、例えばSAN(Storage Area Network)、LAN(Local Area Network)や、インターネットであり、ネットワークスイッチやハブ等を含んで構成される。また、SCSI(Small Computer System Interface)インターフェースで接続する場合のように、1対1接続のものでもよい。本実施形態では、ネットワーク2は、Fibre Channelプロトコルを用いたSAN(FC−SAN)で構成されているものとする。
ホストコンピュータ3は、例えば、銀行の業務システムや航空機の座席予約業務システム等の中核をなすコンピュータである。具体的には、ホストコンピュータ3は、プロセッサ、メインメモリ、通信インターフェース及び直接接続入出力(I/O)装置等のハードウェア資源(図示せず)を備え、また、デバイスドライバやオペレーティングシステム(OS)、アプリケーションプログラム等のソフトウェア資源を備えている。これによって、ホストコンピュータ3は、プロセッサの制御の下、各種のプログラムを実行して、ハードウェア資源との協働作用により、所望の処理を実現する。例えば、ホストコンピュータ3は、プロセッサの制御の下、OS上で業務アプリケーションプログラムを実行することにより、以下に詳述されるストレージシステム4と相まって、上述した業務システムを実現する。
ストレージシステム4は、複数のディスクドライブ5と、ディスクドライブ5に対する書き込み又は読み込みといったI/Oアクセスを制御するディスク制御装置6とを備える。ディスクドライブ5とディスク制御装置6とは、ディスクチャネル7を介して接続され、データを送受する。ディスクチャネル7は、例えばSCSI(Small Computer System Interface)やFibre Channel等が用いられる。
ディスクドライブ5は、例えばハードディスクドライブや不揮発性メモリ等の記憶媒体を含んで構成されるデバイスである。ディスクドライブ5は、RAID(Redundant Arrays of Independence Disks)を構成している。いくつかのディスクドライブ5は、RAID制御により、1つの仮想的なデバイス(VDEV:Virtual Device)としてみなされうる。仮想デバイスVDEVには、論理的なデバイス(Logical device;以下、「LDEV」ということもある。)が割り当てられ、さらにホストコンピュータ3がアクセスする際の論理的なボリュームである論理ユニット(LU:Logical Unit)が定義される。各論理ユニットLUには、論理ユニット番号(LUN:Logical Unit Number)が付与される。また、論理ユニットLUは、I/Oアクセスの最小単位である論理ブロックに分割され、各論理ブロックには、論理ブロックアドレス(LBA:Logical Block Address。LBA)が割り当てられる。これにより、ホストコンピュータ3は、論理ユニット番号LUNおよび論理ブロックアドレスLBAからなる論理アドレスをストレージ装置4のディスク制御装置6に与えることにより、特定の論理ユニットLU上の任意の記憶領域に記憶されたデータに対してアクセスを行うことができる。
各ディスクドライブ5には、給電部51が設けられている。給電部51は、電源ケーブル52を介して後述する電源制御部65に接続され、電源制御部65の制御の下、ディスクドライブ5に電力を供給する。電源ケーブル52は、例えば、電力供給線及び制御線から構成されている。
ディスク制御装置6は、チャネルアダプタ(CHA)61と、キャッシュメモリ(CM)62と、ディスクアダプタ(DKA)63と、共有メモリ(SM)64と、電源制御部65と、サービスプロセッサ(SVP)66と、を備え、これらのモジュール乃至はコンポーネントは、接続部67により相互に接続されている。なお、同図では、これらモジュールは、各1つのみ示されているが、冗長化によりそれぞれ複数ずつで構成されても良い。
チャネルアダプタ61は、ネットワーク2を介して接続されたホストコンピュータ3との間でI/Oアクセス要求に基づく通信を行う通信インターフェースとして機能するモジュール乃至はシステム回路である。
キャッシュメモリ62は、ホストコンピュータ3に対して高いシステムパフォーマンスを提供するため、ホストコンピュータ3とディスクドライブ5との間でやり取りされるデータを一時的に記憶する。キャッシュメモリ62は、チャネルアダプタ61とディスクアダプタ63との間のデータの受け渡しに利用される。
ディスクアダプタ63は、ディスクドライブ5に対するI/Oアクセスの制御を行うインターフェースとして機能するモジュール乃至はシステム回路である。すなわち、ディスクアダプタ63は、キャッシュメモリ62からデータを取り出して、ディスクドライブ5に格納し、また、ディスクドライブ5からデータを読み出して、キャッシュメモリ62に書き込む。ディスクアダプタ63はまた、ディスクドライブ5に対するRAID制御も行う。
共有メモリ64は、ストレージシステム4に関わるシステム構成情報及びキャッシュ動作におけるディレクトリ情報、並びにLDEV−VDEV割り当てテーブル、LDEV管理テーブル、及びVDEV使用テーブル等の各種のテーブルを記憶する。
電源制御部65は、電源ケーブル52を介して接続された給電部51を制御する。すなわち、電源制御部65は、特定のディスクドライブ5の電源をオフにする場合、対応する給電部51に対して電力供給を停止するように指示し、これを受けて、給電部51は、ディスクドライブ5に対する電力供給を停止する。また、特定のディスクドライブ5の電源をオンにする場合、電源制御部65は、対応する給電部51に対して電力供給を開始するように指示し、これを受けて、給電部51は、ディスクドライブ5に対する電力供給を開始する。複数のディスクドライブ5によりRAIDグループが構成されている場合、電源制御部65は、RAIDグループ単位で給電部51を制御する。また、電源制御部65は、ディスクドライブ5の電源をオフする際に、一定の時間だけ指示を遅らせることによって、ディスクドライブ5上のデータが消失・破損することを防止している。本実施形態では、電源制御部65は、独立のモジュールとして構成されているが、ディスクアダプタ63にその機能を組み込んで構成されてもよい。
サービスプロセッサ66は、ストレージシステム4全体を管理するサービスプロセッサ(SVP)である。サービスプロセッサ66は、イーサネット(登録商標)等を用いて構成されるLANを介して、管理端末8に接続される。サービスプロセッサ66は、管理端末8を介して、ストレージシステム4に関わる各種の情報をシステム管理者に提供し、システム管理者から与えられた指示をストレージシステム4に反映する。具体的には、サービスプロセッサ66は、管理端末8からの指示を受けて、共有メモリ64の参照や内容の変更、チャネルアダプタ61やディスクアダプタ63に設けられたプロセッサに対する指示を行う。また、サービスプロセッサ66は、電源制御部65に対して指示を行う。
接続部67は、上述したように、クロスバースイッチ等により構成される。接続部67は、入力されるデータ信号の競合を調停し、データ信号のパスを切り替えて、送出元のモジュールと送出先のモジュールとのパスを構築する。なお、接続部67は、パケット交換方式のスイッチング素子であってもよい。
図2は、本発明の一実施形態に係るチャネルアダプタ61の構成を示す図である。同図に示すように、チャネルアダプタ61は、プロセッサ611と、メモリモジュール612と、チャネルプロトコル処理部613と、DMA制御部614と、を備え、これらのモジュール乃至はコンポーネントは、内部バスを介して周辺チップ615に接続されている。チャネルアダプタ61はまた、内部インターフェース部616と、圧縮・展開部617と、バッファ部618及び619と、を備える。
プロセッサ611は、周辺チップ615を介して、メモリモジュール612にアクセスし、メモリモジュール612に格納された制御プログラム6121を実行して、チャネルアダプタ61を全体的に制御する。メモリモジュール612は、各種の制御プログラム及び転送リストを格納し、プロセッサ611やチャネルプロトコル制御部613、DMA制御部614の利用に供される。転送リストは、キャッシュメモリ64上のアドレスを含むリストであり、DMA制御部119によるデータ転送処理において参照される。
チャネルプロトコル処理部613は、ネットワーク2のプロトコル制御を行いホストコンピュータ3からデータを受信し、ストレージシステム4内部のデータに変換するとともに、内部データに対してプロトコル制御を行って、ホストコンピュータ3に送信すべきデータに対してプロトコル制御を行って、通信データに変換する。チャネルプロトコル処理部613は、ホストコンピュータ3からI/Oアクセス要求を受信すると、これを解釈してホストコンピュータ識別情報や論理ブロックアドレスLBAを取り出して、周辺チップ615を介してプロセッサ611に通知する。プロセッサ611は、これを受けて、共有メモリ64に格納されたディレクトリ情報に基づいて転送リストを作成し、これをメモリモジュール612に格納した後、作成した転送リストに基づいて、I/Oアクセス要求に従うデータをDMA制御部614が転送するように制御する。
内部インターフェース部616は、チャネルアダプタ61内とストレージシステム4内部の他のモジュールとの間のインターフェースとして機能する。内部インターフェース部616は、例えば、データを論理/物理的に変換する。
圧縮・展開部617は、前段バッファ部619aに格納されたデータの圧縮又は展開を行う。後述するように、試行圧縮モードでは、圧縮・展開部617は、圧縮したデータを後段バッファ619bに送出しないが、本圧縮モードでは、圧縮・展開部617は、圧縮したデータを後段バッファ619bに送出する。圧縮・展開部617は、データに対する圧縮処理を行った場合には、制御系バスを介して、そのデータについての圧縮率をプロセッサ611に通知する。
DMA制御部614は、転送リストに従って、後段バッファ619bに格納されたデータをキャッシュメモリ62に書き込み、又はキャッシュメモリ62から読み出して、バッファ618に書き込む。すなわち、ホストコンピュータ3から受け取ったアクセス要求が書き込み要求である場合、内部インターフェース部616を介して、ホストコンピュータ3から受け取ったデータを、転送リストに記述されたアドレスに示されるキャッシュメモリ62の領域に書き込んでいく。また、ホストコンピュータ3から受け取ったアクセス要求が読み込み要求である場合、転送リストに記述されたアドレスに示されるキャッシュメモリ62の領域からデータを読み出して、バッファ618を介して、チャネルプロトコル制御部613に送出する。チャネルプロトコル制御部613は、これを受けて、所定のプロトコル制御を行って、ホストコンピュータ3に送出する。
なお、読み込み要求されたデータが、キャッシュメモリ62上にない場合であって、ディスクドライブ5に格納されている場合、DMA制御部614は、キャッシュメモリ62からの読み出し処理に先立って、ディスクアダプタ63に、ディスクドライブ5に格納されたデータをキャッシュメモリ62に格納するように指示を与え、キャッシュメモリ62にデータが書き込まれた段階で、転送リストに従ってデータを読み出し、チャネルプロトコル制御部613に送出する。一般に、ディスクドライブに格納されたデータをキャッシュメモリに配置する一連の処理は、ステージングと呼ばれ、また、キャッシュメモリに配置されたデータをディスクドライブに格納する一連の処理は、デステージングと呼ばれる。
また、DMA制御部614は、制御系バスを介して、プロセッサ611による共有メモリ64に対するアクセス要求を受け付ける。DMA制御部119は、このアクセス要求を受け付けると、内部インターフェース部616を介して、共有メモリ64にアクセスし、その結果を、制御系バスを介して、プロセッサ611に送出する。
チャネルプロトコル制御部114から出力されるデータは、以下に示すように、圧縮率を算出するために、前段バッファ619a及び後段バッファ619bに格納される。
また、内部インターフェース部616から入力し、DMA制御部614から出力されるデータは、圧縮又は展開処理が行われない場合、バッファ部618に格納される。また、圧縮又は展開処理を行う場合、DMA制御部614から出力されるデータは、前段バッファ619aに格納される。
ここで、チャネルアダプタ61による圧縮処理について説明する。本実施形態のチャネルアダプタ61による圧縮処理には、圧縮処理を行って圧縮データを出力する本圧縮処理と、本圧縮処理に先立って、データを圧縮した場合の圧縮率を算出するための試行的な圧縮処理とがある。チャネルアダプタ61は、ホストコンピュータ3からの書き込み要求ごとに、所定の条件に従って、受信したデータを圧縮するほか、管理端末8を操作するシステム管理者の指示に従って、ディスクドライブ5に格納されたデータを読み出して、読み出したデータを圧縮する。
チャネルプロトコル処理部613が、書き込み要求を受信した場合、プロセッサ611は、共有メモリ64にアクセスして、その書き込み要求に従うデータの格納先の論理デバイスLDEVの圧縮モードが圧縮属性に設定されているか否かをチェックする。圧縮属性に設定された論理デバイスLDEVに対する書き込み要求である場合、プロセッサ611は、制御バスを介して、圧縮・展開部617に試行圧縮処理を行うように指示を出す。
試行圧縮処理においては、圧縮・展開部617は、データを圧縮して得られる圧縮データを後段バッファ619bに出力せずに、破棄する。圧縮・展開部617は、元のデータのサイズに対する圧縮データのサイズから圧縮率を算出し、プロセッサ611に算出した圧縮率を通知する。また、データ受信時の試行圧縮処理においては、チャネルプロトコル処理部613は、ホストコンピュータ3から受信したデータを前段バッファ619a及び後段バッファ619bの双方に格納する。従って、圧縮・展開部617が、圧縮データを破棄した場合であっても、DMA制御部614が後段バッファ619bに格納されたデータを読み出すことで、キャッシュメモリ62には受信したデータが書き込まれることになる。
プロセッサ611は、圧縮・展開部614から受け取った圧縮率と、所定の基準値(例えば、50%)とを比較して、その圧縮率が所定の基準値を下回るか否かを判断する。圧縮率が所定の基準値を下回るということは、データを圧縮する方が、しない場合よりも、データ量の観点から、効率が良いということを意味する。圧縮率が所定の基準値を下回る場合、プロセッサ611は、転送リストを作成して、キャッシュメモリ62に書き込んだ受信データを読み出すように、DMA制御部614に指示を出す。DMA制御部614は、これを受けて、転送リストに従って、受信したデータをキャッシュメモリ62から読み出して、前段バッファ619aに書き込む。圧縮・展開部617は、前段バッファ619aに格納されたデータを読み出して、所定の圧縮アルゴリズムに従って、読み出したデータを圧縮し、圧縮データを後段バッファ619bに書き込む。そして、DMA制御部617は、新たな転送リストに従って、後段バッファ619bから圧縮データを読み出して、キャッシュメモリ62の他の領域に書き込む。
図3は、本発明の一実施形態に係るディスクアダプタ63の構成を示す図である。同図に示すように、ディスクアダプタ63は、プロセッサ631と、メモリモジュール632と、バッファ618および619bに相当するバッファ637および638を介して接続されたチャネルプロトコル処理部633とDMA制御部634と、を備え、これらのモジュール乃至はコンポーネントは、内部バスを介して周辺チップ635に接続されている。ディスクアダプタ63はまた、内部インターフェース部636を備える。ディスクアダプタ63は、外部の装置とのインターフェースとして機能するという意味において、チャネルアダプタ61と同様の構造をしている。また、上述したチャネルアダプタ61と、実装される制御プログラムが異なる点を除いて、同一の構成を採用することもできる。すなわち、ディスクアダプタ61は、圧縮・展開部を含んで構成され、チャネルアダプタ61に代わって、圧縮処理を行ってもよい。
プロセッサ631は、周辺チップ635を介して、メモリモジュール632にアクセスし、メモリモジュール632に格納された制御プログラム6321を実行して、チャネルアダプタ61を全体的に制御する。
具体的には、プロセッサ631は、共有メモリ64に格納されたディレクトリ情報を参照し、ホストコンピュータ3により書き込み要求されたデータを格納しているキャッシュメモリ62の領域のアドレスを取得し、又はホストコンピュータ3より読み出し要求されたデータが格納されたキャッシュメモリ62の領域のアドレスを取得する。そして、プロセッサ631は、チャネルアダプタ61からの要求に従い、又は予め定められた時間間隔で、キャッシュメモリ62にアクセスし、キャッシュメモリ62に書き込まれたデータがディスクドライブ5に格納されるように、制御を行う。また、ホストコンピュータ3により読み出し要求されたデータがキャッシュメモリ62に存在しない場合には、チャネルアダプタ61からの指示に基づいて、ディスクドライブ5からデータが読み出され、キャッシュメモリ62にそのデータが書き込まれるように、プロセッサ631は制御を行う。さらに、書き込み要求されたデータを書き込むための空き領域がキャッシュメモリ62上にない場合、プロセッサ631は、キャッシュメモリ62上にすでに書き込まれているあるデータがディスクドライブ5に格納されるように、制御を行う。
本実施形態のストレージシステム4において、複数のディスクドライブ5は、ディスク制御装置6によるRAID制御の下、一又は複数の仮想デバイスVDEVとしてみなされる。1つの仮想デバイスVDEVは、1つのRAIDグループということができる。図4は、本発明の一実施形態に係るストレージシステム4における仮想デバイスVDEVを説明するための図である。
すなわち、同図(a)に示すように、4台のディスクドライブ5を用いて1つの仮想デバイスVDEVが構成されている。この場合、仮想デバイスVDEVには、さまざまなRAID方式(例えば、RAID1,4,5,又は6)が採用されうる。ディスク制御装置6は、1つの仮想デバイス(すなわちRAIDグループ)ごとに電源制御を行うことが好ましい。例えば、RAID5(3D+1P)が採用された場合、その中の2つのディスクドライブ5に対する電源の供給が停止されると、もはや仮想デバイスVDEVとして機能しなくなってしまうからである。
また、予め定められた台数のディスクドライブ5について、より細かい単位で管理した場合には、例えば、同図(b)に示すように、2台のディスクドライブ5を用いて1つの仮想デバイスVDEVが構成されてもよいし、同図(c)に示すように、1台のディスクドライブ5を用いて1つの仮想デバイスVDEVが構成されてもよい。どのような構成の仮想デバイスを選択するかは、RAID制御による信頼性、可用性、アクセス性能と、消費電力削減効果とのバランスが考慮されることが好ましい。
なお、同図(d)に示すように、複数のRAIDグループを結合して1つの仮想デバイスVDEVとすることもできる。
また、1つの論理デバイスLDEVに対して複数のVDEVを割り当てた場合、ホストコンピュータ3に対して巨大な論理デバイスLDEVが提供される。
本実施形態では、論理デバイスLDEVと仮想デバイスVDEVとの関係は、共有メモリ64に格納されたLDEV−VDEV割り当てテーブルに定義される。
図5は、本発明の一実施形態に係るストレージシステム4におけるLDEV−VDEV割り当てテーブル500の一例を示す図である。
同図に示すように、LDEV−VDEV割り当てテーブル500は、LDEV欄501、LBA欄502、圧縮状態欄503、VDEV欄504、データ長欄505、及び圧縮後データ長欄506を含む。LDEV欄501は、論理デバイスの識別番号を示す。LBA欄502は、論理ブロックの先頭アドレス及び終了アドレスを示す。圧縮状態欄503は、その論理デバイスLDEV上のLBA欄502で示される領域に対して圧縮が行われているか否かを示す。圧縮状態欄503の値が「0」の場合、その領域に対して圧縮は行われておらず、「1」の場合、圧縮が行われていることを示す。VDEV欄504は、仮想デバイスの識別番号及び論理ブロックの先頭アドレスを示す。データ長欄504は、その仮想デバイスVDEVの先頭論理アドレスLBAから始まる領域に格納されるデータの長さを示す。圧縮後データ長は、そのデータに対する圧縮後の予想されるデータ長を示す。一般に、圧縮後データ長は、データの内容等に依存し、不定であるため、(圧縮前の)データ長及び圧縮後データ長という2種類の値を管理している。
図6は、本発明の一実施形態に係るストレージシステム4におけるLDEV管理テーブル600の一例を示す図である。LDEV管理テーブルテーブル600は、論理デバイスLDEVのプロパティを示すテーブルである。LDEV管理テーブルテーブル600もまた、共有メモリ64に保持される。
同図に示すように、LDEV管理テーブル600は、LDEV欄601、圧縮モード欄602、アクセス頻度欄603、論理容量欄604、及び圧縮後予測容量欄605を含む。LDEV欄601は、論理デバイスLDEVの識別番号である。圧縮モード欄602は、圧縮モードを示す。本実施形態では、圧縮モードの属性には、「圧縮(自動)」、「圧縮(指示)」、「なし(自動)」、及び「なし(指示)」がある。管理端末8を操作するシステム管理者は、後述するように、圧縮モードを「自動」、「圧縮」及び「なし」を選択することができる。「自動」が選択された場合、構成最適化処理により、「圧縮(自動)」又は「なし(自動)」の属性が与えられることになる。
アクセス頻度欄603は、所定の単位時間(例えば、1秒間、1時間等)当たりのアクセス回数を示す。例えば、プロセッサ631が所定の計測時間のホストコンピュータ3からのアクセス数をカウントしておき、その計測時間終了後に単位時間あたりのアクセス数を算出し、これを共有メモリ64のLDEV管理テーブルに書き込む。例えば、計測時間を10分として、その間に3千万アクセスあったとすると、1秒当たり50万アクセスあったことになる。後述するように、アクセス頻度値は、論理デバイスLDEVに対する圧縮の要否の判断基準のひとつにしてもよい。また、このアクセス頻度値に基づいて、圧縮率を決定してもよい。つまり、アクセス頻度値が高い論理デバイスLDEVに対しては、圧縮率は小さく設定され、これによって圧縮処理に伴うシステムパフォーマンスの低下を最小限に抑えることができる。
論理容量欄1204は、その論理デバイスLDEVの容量を示す。つまり、ホストコンピュータ3は、論理容量欄604に示される容量値をその論理デバイスLDEVの容量として認識することになる。圧縮後予測容量欄605は圧縮後の論理デバイスLDEVの容量を示す。なお、圧縮後の論理デバイスLDEVの容量は、上述したLDEV−VDEV割り当てテーブル500を参照することにより求められるが、テーブル参照の利便性を考慮して、圧縮後予測容量欄605はLDEV管理テーブルに設けられている。
図7は、本発明の一実施形態に係るストレージシステム4におけるLU−LDEV管理テーブル700の一例を示す図である。LU−LDEV管理テーブル700は、論理ユニットLUと論理デバイスLDEVとの関係を示すテーブルである。LU−LDEV管理テーブル700もまた、共有メモリ64に保持される。
同図に示すように、LU−LDEV管理テーブル700は、ホストID欄701、LU欄702、及びLDEV欄703を含む。ホストID欄701は、ホストコンピュータ3のIDを示す。IDは、例えばFibre Channelプロトコルにおいては、ホストコンピュータ3に実装されるHBA(Host Bus Adapter)のポートIDである。LU欄702は、ホストコンピュータ3がI/Oアクセスする際に指定する論理ユニットLUの番号を示す。LDEV欄703は、ホストコンピュータ3と論理ボリュームLUとに対応した論理デバイスLDEVの番号を示す。
LU−LDEV管理テーブルの内容により、複数のホストコンピュータ3に1つの論理デバイスLDEVを共有させるようにすることも、また、共有させないようにすることもできる。このように、ホストコンピュータ3に提供する論理デバイスLDEVと、そのホストコンピュータ3が認識する論理ユニットLUとを関連付けることによって、ホストコンピュータ3は、論理デバイスLDEVに対するアクセスが可能となる。つまり、ホストコンピュータ3は、論理ユニットLUの番号に基づいて、論理デバイスLDEVに対してアクセスを行う。したがって、アクセス要求しているデータが、いかなる仮想デバイスVDEVに格納されているかについて、ホストコンピュータ3は関知しない。これにより、後述するように、仮想デバイスVDEV上のデータに対して圧縮処理を行い、また、仮想デバイスVDEV間でデータの移行をしたとしても、ホストコンピュータ3における設定をなんら変更する必要はない。
図8は、本発明の一実施形態に係るストレージシステム4における論理デバイスLDEVと仮想デバイスVDEVとの関係を説明するための図である。
同図に示すように、論理デバイスLDEV0は、複数の仮想デバイスVDEV0〜3上に横断的に割り当てられている。このとき、仮想デバイスVDEV0〜3は、その全体が論理デバイスLDEV0を割り当てた仮想デバイスVDEV0〜2(これを「全体仮想デバイス」と呼ぶことにする。)と、その一部のみに論理デバイスLDEV0を割り当てた仮想デバイスVDEV3(これを「部分仮想デバイス」と呼ぶことにする。)と、に分けられる。部分仮想デバイスは、複数の論理デバイスLDEVに共有されうる。本例では、仮想デバイスVDEV3には、論理デバイスLDEV及びLDEVがさらに割り当てられ、論理デバイスLDEV0,2,3に記憶領域を提供している。
また、図示はされていないが、論理デバイスLDEVの記憶容量が仮想デバイスVDEVの記憶容量よりも小さい場合には、仮想デバイスVDEVの一部のみに論理デバイスLDEVが割り当てられる。
図9は、本発明の一実施形態に係るストレージシステム4における省電力制御を説明するための概念図である。
同図に示すように、ストレージシステム4には、4つの仮想デバイスVDEV0〜VDEV3が定義され、さらに、その仮想デバイスVDEV0〜VDEV3上に4つの論理デバイスLDEV0〜LDEV3が定義されているものとする。これらの論理デバイスLDEV0〜LDEV3上に対して圧縮が行われ、そのサイズが小さくなった論理デバイスLDEV0’〜LDEV3’が得られたとする。この場合に、これらの論理デバイスLDEV0’〜LDEV3’が仮想デバイスVDEV0及びVDEV1上にのみ割り当てられれば、残りの仮想デバイスVDEV2及びVDEV3を構成するディスクドライブ5に対する電源の供給が停止されても、ホストコンピュータ3にはストレージサービス、つまり、論理デバイスLDEV0〜3に対するアクセスが提供され続ける。
一般に、圧縮・展開処理に要する時間は、ディスクドライブ5のスピンアップ処理に要する時間よりも格段に短いので、ホストコンピュータ3に対するストレージサービスを提供し続けたまま、ディスクドライブ5のスピンオフによって、消費電力を低減させることができるようになる。
本実施形態では、説明の簡略化のため、論理デバイスLDEVは、仮想デバイスVDEV上の連続した領域に割り当てられるものとする。また、1つの論理デバイスLDEVは、部分仮想デバイスを1つのみ含みうるものとする。1つの論理デバイスLDEVに含まれる部分仮想デバイスができる限り少ない方が、他の論理デバイスLDEVの使用状況を考慮することなく、電力の供給を停止でき、消費電力の低減に寄与するからである。ただし、1つの論理デバイスLDEVが複数の部分仮想デバイスを含む場合でも、後述する構成最適化プランの作成する際には、それぞれの部分仮想デバイスに対して処理を行えばよい。
図10は、本発明の一実施形態に係るストレージシステム4におけるVDEV使用テーブル1000の一例を示す図である。VDEV使用テーブル1000は、共有メモリ64に保持される。
ディスクドライブ5に格納されているあるデータを圧縮する場合、圧縮データのサイズは不定であるため、どれぐらいの大きさの領域が必要であるかわからない。このため、本実施形態のストレージシステム4は、そのデータに対して試行圧縮処理を行い、圧縮率が所定の基準値を下回る場合に、そのデータに対して本圧縮を行っている。このとき、圧縮前に格納されていたデータのサイズは、圧縮データのサイズとは異なるため、元のデータが格納されていた記憶領域が空き領域となったり、あるいは、すでに圧縮されたデータに新たに上書きする際には、新たな記憶領域が必要となる場合がある。
そこで、ストレージシステム4は、将来書き込まれうるデータのサイズを予測しながら、VDEV使用テーブルを用いて、空き記憶領域を管理する。具体的には、VDEV使用テーブル1000は、ビットマップ領域1001及び空きセグメント数欄1002を含む。ビットマップ領域1001は、各仮想デバイスVDEVについて、記憶領域の管理単位であるセグメントごとに使用中か否かを示す。空きセグメント数欄は、その仮想デバイスVDEVにおける空き状態のセグメントの数を示す。ある仮想デバイスVDEVにおけるすべてのセグメントが空き状態になれば、その仮想デバイスVDEVに対する電源の供給を停止することができる。
図11は、本発明の一実施形態に係るストレージシステム4における書き込み要求時の処理の流れを説明するための図である。本例は、ホストコンピュータ3からのアクセス要求が、非圧縮の属性が与えられた論理デバイスLDEVに対するデータの書き込み要求であって、キャッシュメモリ62上にそのデータが存在せず、さらに、キャッシュメモリ62上に十分な空き領域が確保されていない場合の処理の流れを示している。
すなわち、同図に示すように、チャネルアダプタ61が、ネットワーク2を介して、ホストコンピュータ3からアクセス要求を受信する(S1101)と、受信したアクセス要求を解析して、要求されたオペレーション(すなわち、書き込みオペレーション)、論理アドレス(論理ユニット番号LUN及び論理ブロックアドレスLBA)を取得する(S1102)。
次に、チャネルアダプタ61は、共有メモリ64に格納されたディレクトリ情報を参照し(S1103)、キャッシュメモリ62に書き込み要求に従うデータが格納されているか否かをチェックする(S1104)。同図において、チャネルアダプタ61は、共有メモリ64に対して1回のみ参照しているが、実際には、複数回、参照する場合もある。本例では、この結果、チャネルアダプタ61は、そのデータがキャッシュメモリ62に格納されておらず、十分な空き領域がないことを認識する。従って、チャネルアダプタ61は、キャッシュメモリ62上にすでに存在する他のデータがデステージされるように制御して、キャッシュメモリ62上に現在の書き込み要求に従うデータを格納すべき領域を確保する。
具体的には、チャネルアダプタ61は、例えば、LRU(Least Recently Used)アルゴリズムに従って、デステージされるべきデータを決定し(S1105)、共有メモリ62を介して、ディスクアダプタ63にデステージ要求を通知する(S1106)。ディスクアダプタ63は、共有メモリ64を定期的に監視しており(S1107)、共有メモリ64に書き込まれたデステージ要求を取得すると(S1108)、転送リストを作成して、キャッシュメモリ62から当該データを読み出し、RAID制御をしながら、ディスクドライブ5上の所定の領域に当該データを格納する(S1109〜S1111)。
ディスクアダプタ63は、一連のデステージ処理が終了すると、共有メモリ64を介して、デステージが完了した旨をチャネルアダプタ61に通知する(S1112〜S1114)。チャネルアダプタ61は、共有メモリ64のディレクトリ情報を更新した後(S1115及びS1116)、ホストコンピュータ3に、書き込み要求に従うデータの送信要求を送信する(S1117)。チャネルアダプタ61は、この送信要求に応答してホストコンピュータ3から送信されるデータを受信し(S1118)、新たに作成した転送リストに基づいて、デステージされたデータが格納されていたキャッシュメモリ62の領域に、そのデータに格納する(S1119)。
このとき、チャネルアダプタ61の圧縮展開部617は、受信したデータに対して試行圧縮処理を行って、求められた圧縮率をプロセッサ611に通知する(S1120)。チャネルアダプタ61は、圧縮後データサイズ及び圧縮後予測容量を算出し(S1121)、共有メモリ64のLDEV−VDEV管理テーブル及びLDEV管理テーブルを更新する(S1122)。
図12は、本発明の一実施形態に係るストレージシステム4における書き込み要求時のLDEVーVDEV管理テーブル及びLDEV管理テーブルの更新処理を説明するための図である。チャネルアダプタ61は、プロセッサ611の制御の下、制御プログラムを実行することにより、当該更新処理を実現する。
すなわち、同図に示すように、チャネルアダプタ61は、受信した書き込み要求を解析して、当該書き込み要求に従うデータの格納先の論理デバイスLDEVを特定する(S1201)。格納先の論理デバイスLDEVは、書き込み要求が指定する論理アドレスに基づいて、LUーLDEV管理テーブルを参照することにより、特定される。本例では、格納先の論理デバイスLDEVは、非圧縮状態であるとする。
チャネルアダプタ61は、続いて、共有メモリ64に格納されたLDEV−VDEV割り当てテーブル500を参照し、当該論理デバイスLDEVにおける指定された論理ブロックアドレスLBAで特定される圧縮後データ長欄506に示される現在格納されているデータの圧縮後データ長を取得する(S1202)。次に、チャネルアダプタ61は、LDEV管理テーブル600を参照して、対応する圧縮後予測容量欄605に示される圧縮後予測容量から取得した圧縮後データ長を減算する(S1203)。
次に、チャネルアダプタ61は、書き込み要求を送信したホストコンピュータ3にデータ送信要求を送信し、これに応答して送信されてくるデータを受信する(S1204)。チャネルアダプタは、受信したデータに対して試行圧縮を行いながら、受信したデータをキャッシュメモリ62に格納する(S1205)。なお、上述したように、キャッシュメモリ62にデータを格納する十分な領域がない場合には、データ送信要求に先立って、デステージ処理が行われる。
チャネルアダプタ61は、試行圧縮処理により得られた圧縮データ長を、LDEV管理テーブル600の対応する圧縮後予測容量欄605に示される圧縮後予測容量に加算するとともに(S1206)、圧縮後データ長欄506に示される圧縮後データ長に代入する(S1207)。チャネルアダプタ61は、このようにして得られた新たな圧縮後予測容量及び圧縮後データ長に基づいて、LDEV−VDEV割り当てテーブル500及びLDEV管理テーブル600をそれぞれ更新する。
これにより、LDEV−VDEV割り当てテーブル500における圧縮後データ長欄506の圧縮後データ長と、LDEV管理テーブル600における圧縮後予測容量欄605の圧縮後予測容量とは、その整合性が維持されることになる。
図13は、本発明の一実施形態に係るストレージシステム4における書き込み要求時の処理の流れを説明するための図である。本例は、ホストコンピュータ3からのアクセス要求が、圧縮属性が与えられた論理デバイスLDEVに対するデータの書き込み要求であって、キャッシュメモリ62上にそのデータが存在しないが、キャッシュメモリ62上に十分な空き領域が確保されている場合の処理の流れを示している。
すなわち、同図に示すように、チャネルアダプタ61が、ネットワーク2を介して、ホストコンピュータ3からアクセス要求を受信すると(S1301)、受信したアクセス要求を解析して、要求されたオペレーション(すなわち、書き込みオペレーション)、論理アドレス(論理ユニット番号LUN及び論理ブロックアドレスLBA)を取得する(S1302)。
次に、チャネルアダプタ61は、共有メモリ64に格納されたディレクトリ情報を参照し(S1303)、書き込み要求に従うデータがキャッシュメモリ62に格納されているか否かをチェックする(S1304)。本例では、この結果、チャネルアダプタ61は、そのデータがキャッシュメモリ62に格納されていないが、十分な空き領域があることを認識する。なお、キャッシュメモリ上に当該データが存在しない場合は、上述したデステージ処理が行われ、キャッシュメモリ62上に必要な領域が確保される。また、チャネルアダプタ61は、共有メモリ64に格納されたLU−LDEV管理テーブル700を参照して、論理ユニット番号LUNに対応する論理デバイスLDEVを特定するとともに、LDEV管理テーブル600を参照して、当該論理デバイスLDEVの圧縮モードの属性を取得する。本例では、この結果、チャネルアダプタ61は、圧縮モードの属性が「圧縮(自動)」に設定された論理デバイスLDEVであることを認識する。
チャネルアダプタ61は、次に、ホストコンピュータ3にデータ送信要求を送信し(S1305)、送信されてくるデータをキャッシュメモリ62上の指定した領域に格納するように転送リストを作成する。チャネルアダプタ61は、送信要求を受けたホストコンピュータ3からのデータを受信し(S1306)、その受信データを転送リストに従って、キャッシュメモリ62に格納する(S1307)。このとき、上述したように、受信データは、チャネルアダプタ61内の圧縮・展開部617によって試行圧縮が行われ、圧縮後のデータ長がプロセッサ611に通知される(S1308)。なお、この段階では、圧縮されたデータは廃棄される。
チャネルアダプタ61は、試行圧縮によるデータ長と元のデータ長とを比較し、圧縮する方が効率的であるか否かを判断する(S1309)。圧縮を行う方が効率的であるか否かを判断は、例えば、元のデータ長に対する圧縮後データ長から求められる圧縮率が所定の基準値(例えば50%)を下回るか否かに基づいて行われる。
チャネルアダプタ61は、圧縮する方が効率的であると判断する場合、転送リストを作成して、キャッシュメモリ62に格納したデータを読み出しながら、当該読み出したデータを圧縮して、圧縮したデータをキャッシュメモリ62の他の領域に書き込む(S1310〜S1312)。
そして、チャネルアダプタ61は、整合性を保つために、共有メモリ64に格納されたLDEV−VDEV割り当てテーブル及びLDEV管理テーブルを更新する(S1313)。
なお、キャッシュメモリ62上の圧縮されたデータは、他の書き込み要求に基づいて、又は所定の時間が経過したことにより、ディスクドライブ5にデステージされる。
一般に、一回の圧縮処理の対象となるデータのサイズが大きいほど圧縮の効率性は高まる。従って、ホストコンピュータ3からの書き込み要求ごとではなく、ある程度、データがディスクドライブ5に格納されてから、まとまったサイズを持つデータに対して圧縮処理を行うと、圧縮の効率性を高めることができる。このように一括して圧縮処理をした後は、その論理デバイスLDEVに対して書き込み要求があるごとに、上述したような圧縮処理を行うことになる。なお、一回の圧縮処理の対象となるデータのサイズを大きくした場合、その後の書き込み要求があるごとにキャッシュメモリ62上にそのサイズの領域が必要となり、また、圧縮及び展開のための時間も必要となるので、ストレージシステム4のパフォーマンスが低下するおそれがある。また、データがある程度大きなサイズまでなると、圧縮の効率性は飽和状態になる。従って、これらの要素を考慮した上で、適切なデータのサイズが選択されることが好ましい。
図14及び図15は、本発明の一実施形態に係るストレージシステム4における書き込み要求時の各種テーブルの更新処理を説明するための図である。チャネルアダプタ61は、プロセッサ611の制御の下、制御プログラムを実行することにより、当該更新処理を実現する。
すなわち、同図に示すように、チャネルアダプタ61は、受信した書き込み要求を解析して、当該書き込み要求に従うデータの格納先の論理デバイスLDEVを特定する(S1401)。格納先の論理デバイスLDEVは、書き込み要求が指定する論理アドレスに基づいて、LUーLDEV管理テーブルを参照することにより、特定される。本例では、ターゲットの論理デバイスLDEVには圧縮属性が与えられているものとする。
チャネルアダプタ61は、続いて、共有メモリ64に格納されたLDEV−VDEV割り当てテーブル500を参照し、当該論理デバイスLDEVにおける指定された論理ブロックアドレスLBAで特定される圧縮後データ長欄506に示される現在格納されているデータの圧縮後データ長を取得する(S1402)。次に、チャネルアダプタ61は、LDEV管理テーブル600を参照して、対応する圧縮後予測容量欄605に示される圧縮後予測容量から取得した圧縮後データ長を減算する(S1403)。
次に、チャネルアダプタ61は、書き込み要求を送信したホストコンピュータ3にデータ送信要求を送信し、これに応答して送信されてくるデータを受信する(S1404)。チャネルアダプタは、受信したデータに対して試行圧縮を行いながら、受信したデータをキャッシュメモリ62に格納する(S1405)。なお、上述したように、キャッシュメモリ62にデータを格納する十分な領域がない場合には、データ送信要求に先立って、デステージ処理が行われる。
チャネルアダプタ61は、試行圧縮処理により得られた圧縮率が所定の基準値を下回るか否かを判断する(S1406)。試行圧縮処理により得られた圧縮率が所定の基準値を下回ると判断する場合、チャネルアダプタ61は、VDEV使用テーブル1000を参照して、受信したデータの圧縮後データを格納できるサイズを持つ記憶領域を決定する(S1407)。そして、チャネルアダプタ61は、キャッシュメモリ62に格納されている受信データを読み出して圧縮し、圧縮後データをキャッシュメモリ62に書き込む。これによって、ディスクアダプタ63は、所定のタイミングで、キャッシュメモリ62から圧縮データを読み出して、指定された論理デバイスLDEVの記憶領域に格納することになる(S1408)。
さらに、チャネルアダプタ61は、試行圧縮処理により得られた圧縮データ長を、LDEV管理テーブル600の対応する圧縮後予測容量欄605に示される圧縮後予測容量に加算するとともに(S1409)、圧縮後データ長欄506に示される圧縮後データ長に代入する(S1410)。チャネルアダプタ61は、このようにして得られた新たな圧縮後予測容量及び圧縮後データ長に基づいて、LDEV−VDEV割り当てテーブル500及びLDEV管理テーブル600をそれぞれ更新する。
これにより、LDEV−VDEV割り当てテーブル500における圧縮後データ長欄506の圧縮後データ長と、LDEV管理テーブル600における圧縮後予測容量欄605の圧縮後予測容量とは、その整合性が維持されることになる。
一方、試行圧縮処理により得られた圧縮率が所定の基準値を下回らないと判断する場合(S1406の‘No’)、チャネルアダプタ61は、VDEV使用テーブル1000を参照して、受信データをそのままのサイズで格納できる記憶領域を決定する(図15のS1501)。
さらに、チャネルアダプタ61は、試行圧縮処理により得られた圧縮データ長を、LDEV管理テーブル600の対応する圧縮後予測容量欄605に示される圧縮後予測容量に加算するとともに(S1502)、圧縮後データ長欄506に示される圧縮後データ長に加算する(S1503)。そして、チャネルアダプタ61は、受信データが当該特定した記憶領域に格納されるように、制御を行う(S1504)。これによって、ディスクアダプタ63は、所定のタイミングで、キャッシュメモリ62から受信データを読み出して、論理デバイスLDEVの当該記憶領域に格納することになる。
受信データが圧縮されずに格納される場合、その論理デバイスLDEVの圧縮モードの属性にかかわらず、LDEV−VDEV割り当てテーブル500における当該論理デバイスLDEVの当該論理ブロックアドレスLBAで示される記憶領域の圧縮状態欄503は、「なし」に設定される。チャネルアダプタ61は、読み出し要求時に、LDEV−VDEV割り当てテーブル500の圧縮状態欄503を参照することにより、読み出したデータに対する展開処理が必要であるか否かを判断することができる。
S1410又はS1504の処理の後、チャネルアダプタ61は、LDEV−VDEV割り当てテーブル500を更新する(S1505)。さらに、チャネルアダプタ61は、前のデータを格納していた仮想デバイスVDEVの論理ブロックアドレスLBAで示される記憶領域が空き領域を示すように、VDEV使用テーブル1000を更新する(S1506)。
そして、チャネルアダプタ61は、VDEV使用テーブル1000の空きセグメント数欄を参照して、全セグメント数に対する空きセグメント数の割合が所定のしきい値(例えば10%)を下回ったか否かをチェックする(S1507)。所定のしきい値を下回ったと判断する場合、チャネルアダプタ61は、その論理LDEVの圧縮モードを非圧縮属性に変更し、新たな仮想デバイスVDEVを割り当て、圧縮データが元のデータの状態で格納されるように、展開を開始する(S1508)。
以上のようにして、圧縮属性が与えられた論理デバイスLDEVに対する書き込み要求時に、予想圧縮率が小さくならない場合には、受信データは圧縮がされずに格納されるとともに、論理デバイスLDEVの圧縮属性は変更される。
図16は、本発明の一実施形態に係るストレージシステム4における一括圧縮時の処理の流れを説明するための図である。当該処理は、典型的には、ストレージシステム4の運用中に、論理デバイスLDEVの圧縮モードの属性が「非圧縮」から「圧縮」に変更される場合に行われる。
管理端末8を操作するシステム管理者の圧縮指示を受けた場合、又は圧縮後予測容量が所定のしきい値を下回ったことをサービスプロセッサ66が検出した場合、サービスプロセッサ66は、チャネルアダプタ61に圧縮指示を出し、チャネルアダプタ61は、これを受けて、論理デバイスLDEV上のデータに対する圧縮を開始する(S1601)。
チャネルアダプタ61は、共有メモリ64に格納されたLDEV−VDEV割り当てテーブル500及びLDEV管理テーブルを参照し(S1602)、その論理デバイスLDEVのうち、未だ圧縮されていない領域をチェックする(S1603)。所定のデータサイズを単位として未圧縮データをキャッシュメモリ62にステージするため、チャネルアダプタ61は、共有メモリ62を介して、ディスクアダプタ63に指示を出す(S1604〜S1606)。
ディスクアダプタ63は、圧縮を指示されたデータを格納する論理デバイスLDEVから読み出して(S1607)、当該読み出したデータをキャッシュメモリ62の領域に書き込む(S1608)。その後、ステージング処理が完了した旨を、共有メモリ64を介して、チャネルアダプタ61に通知する(S1609〜S1611)。
ステージ処理が完了したことを認識したチャネルアダプタ61は、キャッシュメモリ62に格納されたデータを読み出しながら(S1612〜S1613)、読み出したデータを圧縮して、圧縮したデータをキャッシュメモリ62の他の領域に書き込む(S1614)。
その後、チャネルアダプタ61は、共有メモリ64に格納されたLDEV−VDEV割り当てテーブル500及びLDEV管理テーブル600を更新する(S1615)。S1612〜S1615の処理は、上述した図13のS1310〜S1313の処理と同様であるる。
なお、チャネルアダプタ61は、共有メモリ64に格納されたLDEV−VDEV割り当てテーブル500を参照することにより、論理デバイスLDEVに圧縮されずに格納されたデータについての圧縮後のサイズを即座に取得することができる。これは、上述したように、ホストコンピュータ3からの書き込み要求時にそのデータに対する試行圧縮処理が行われ、その結果がLDEV−VDEV割り当てテーブル500に書き込まれているからである。
また、キャッシュメモリ62上の圧縮されたデータは、他の書き込み要求に基づいて、又は所定の時間が経過したことにより、ディスクドライブ5にデステージされる。本例では、チャネルアダプタ61は、テーブルの更新処理と同時にデステージング要求を行っている(S1616)。従って、共有メモリ64を参照することによりデステージ要求を受け取ったディスクアダプタ63は、圧縮データをキャッシュメモリ62から読み出して(S1617〜S1620)、読み出したデータを論理デバイスLDEVに格納する(S1621)。
上記S1602〜S1621の処理は、圧縮指示を受けた論理デバイスLDEV全体が圧縮されるまで繰り返される。
図17は、本発明の一実施形態に係るストレージシステム4における省電力制御処理を概略的に説明するための図である。
同図に示すように、サービスプロセッサ66は、ストレージシステム4の稼働中、各論理デバイスLDEVについての予想圧縮率及びアクセス頻度等の統計情報を計測、収集する(S1701)。管理端末8は、予め定められたプラン作成時刻(例えば1週間ごと)になると(S1702の‘Yes’)、サービスプロセッサ66により収集された統計情報を含む論理デバイスLDEVの管理情報をシステム管理者に提示する(S1703)。あるいは、管理端末8を操作するシステム管理者は、サービスプロセッサ66により収集された統計情報を含む論理デバイスLDEVの管理情報を、適宜のタイミングで、管理端末8の画面上で確認するようにしてもよい。
システム管理者は、管理端末8の画面を介して、各論理デバイスLDEVに対する設定を行い、構成最適化プランの作成をサービスプロセッサ66に指示をする。サービスプロセッサ66は、これを受けて、構成最適化プラン作成プログラムを実行して、設定された内容に従って、構成最適化プランを作成する(S1704)。管理端末8は、サービスプロセッサ66により作成された構成最適化プランをその画面上に表示して、システム管理者に構成最適化処理を実行するか否かの承認を促す(S1705)。
管理端末8を操作するシステム管理者により構成最適化処理の実行指示を与えられると、サービスプロセッサ66は、作成された構成最適化プランに従って、構成最適化処理、すなわち、指定された論理デバイスLDEVを圧縮し、仮想デバイスVDEVに圧縮された論理デバイスLDEVを再割り当てする(S1706)。その後、サービスプロセッサ66は、論理デバイスLDEVが割り当てられずに、余剰となった仮想デバイスVDEVに対する電源の供給を停止する(S1707)。これにより、ストレージシステム4の消費電力を削減することができるようになる。
図18は、本発明の一実施形態に係る管理端末8上の画面の一例を説明するための図である。具体的には、同図は、管理端末8の画面上に表示されたLDEV管理ウィンドウを示している。システム管理者は、LDEV管理ウィンドウを介して、ストレージシステム4の状態を確認し、消費電力削減のための設定を行うことができる。管理端末8は、ディスク制御装置6のサービスプロセッサ66を介して、共有メモリ64に格納されたLDEV管理テーブルを取得し、LDEV管理ウィンドウを構成する。
LDEV管理ウィンドウ1800は、LDEV番号欄1801、圧縮モード欄1802、状態欄1803、論理容量欄1804、圧縮後予測容量欄1805、及びアクセス頻度欄1806を有し、さらに、構成最適化実行ボタン1807を備える。
LDEV欄1801は、論理デバイスLDEVの識別番号である。圧縮モード欄1802は、その論理デバイスLDEVに対して設定されている現在の圧縮モードを示す。システム管理者は、プルダウンメニューを操作して、現在の圧縮モードを変更することができる。例えば、システム管理者は、「自動」、「圧縮」、及び「圧縮なし」のいずれかの圧縮モードを選択できる。「自動」では、ストレージシステム4は、構成最適化処理により、その論理デバイスLDEVのデータを所定の条件に従って圧縮し、消費電力の削減に寄与するように圧縮データを所定の仮想デバイスVDEV上に配置する。「圧縮」では、設定された論理デバイスLDEVのデータを一律に圧縮する。「圧縮なし」は、例えばホストコンピュータ3のアプリケーションにより圧縮されたデータを格納する論理デバイスLDEVのように、ストレージシステム4による圧縮処理では圧縮の効果が期待できない場合や、システム性能を最優先にしたい場合等に選択するモードである。「圧縮なし」が選択された論理デバイスLDEVは、構成最適化の圧縮対象の候補から除外される。
状態欄1803は、その論理デバイスLDEVの状態を示す。「圧縮」又は「圧縮なし」が選択された論理デバイスLDEVの状態は、圧縮モードにそのまま対応するが、「自動圧縮」が選択された論理デバイスLDEVの状態は、構成最適化の結果に依存する。
論理容量欄1804は、割り当てられている仮想デバイスVDEVの容量の合計、すなわち、格納できる非圧縮データの容量を示す。
圧縮後予測容量欄1805は、その論理デバイスLDEVに圧縮を適用した場合の論理デバイスLDEVの容量を示す。圧縮されている論理デバイスLDEVでは、実際の容量と一致する。なお、圧縮後予測容量は、(フォーマット時以外で)すでに書き込まれたデータと同等の情報エントロピーを持つデータによって論理デバイスLDEVの記憶領域全体が書き込まれたとした場合に必要とされるであろう容量に、書き込み用のマージン領域の容量をプラスしたものであっても良い。本実施形態では、書き込み用のマージン領域を考慮するものとする。後述するVDEV使用テーブルにおいて、論理デバイスLDEVに割り当てられている仮想デバイスVDEVの領域のうちの未使用領域は、この書き込み用マージン領域に相当する。また、より簡易に圧縮後予測容量を求める方法としては、例えば、すでに書き込まれているデータの非圧縮時の容量をx、論理容量をw、すでに書き込まれたデータの圧縮後の容量をyとすると、圧縮後予測容量zは、z=wy/xで求めることができる。
アクセス頻度欄1806は、その論理デバイスLDEVに対するアクセス頻度を示す。本例では、1秒当たりのアクセス回数(IOPS)が示されている。その論理デバイスの圧縮モードは、アクセス頻度を考慮しながら、選択される。
構成最適化実行ボタン1807は、LDEV管理ウィンドウの設定内容に基づく構成最適化の実行を指示するためのボタンである。構成最適化実行ボタン1807が押下されると、管理端末8は、後述する最適化見積もり処理を実行した後、図19に示すような確認ダイアログボックス1900を表示して、システム管理者に構成最適化実行の可否の承認を求める。
具体的には、確認ダイアログ1900は、予想圧縮率表示領域1901、VDEV表示領域1902、承認ボタン1903、及び拒否ボタン1904を含む。予想圧縮率表示領域1901には、圧縮を推奨する論理デバイスLDEVの番号と予想圧縮率が表示される。これにより、システム管理者は、予想圧縮率が高い論理デバイスLDEVを事前に把握することができ、圧縮/展開処理のオーバヘッドによりシステムパフォーマンスに影響を与えるような論理デバイスLDEVが圧縮されることを防止することができる。
VDEV表示領域1902は、圧縮処理が行われた後に使用される仮想VDEVと、使用されずに電源オフが可能となるディスクドライブ5の数を示す。
システム管理者は、これらの表示内容を考慮して、構成最適化の実行を承認する場合には承認ボタン1903を、承認しない場合には拒否ボタン1904を押下する。
また、図19に示した確認ダイアログボックス1900に変えて、図20に示すような再配置プランダイアログボックス2000を表示しても良い。再配置プランダイアログボックス2000では、圧縮対象論理デバイス表示領域2001を含む。圧縮対象論理デバイス表示領域2001は、圧縮対象となる論理デバイスLDEVに対して使用される仮想デバイスVDEVが対応づけられて表示する。また、新規給電オフディスクドライブ数表示領域2002は、構成最適化プランによって、新たに給電が停止されるディスクドライブ5の数が表示される。システム管理者は、同様に、これらの表示内容を考慮して、構成最適化の実行を承認する場合には承認ボタン2003を、承認しない場合には拒否ボタン2004を押下する。
図21及び図22は、本発明の一実施形態に係るストレージシステム4における構成最適化処理を説明するための図である。この構成最適化プラン作成処理は、例えば、管理端末8から指示を受けたサービスプロセッサ66により実行される。
構成最適化プラン作成処理は、概略的には、圧縮処理によるデータサイズの縮小に伴う仮想デバイスVDEVを開放するプランを作成する処理(図21)と、部分仮想デバイスを最小限の数の仮想デバイスに集約するプランを作成する処理(図22)と、からなる。
管理端末8から構成最適化処理の実行の指示を受けたサービスプロセッサ66は、まず、現在稼動している仮想デバイスVDEVの数をカウントする(S2101)。次に、サービスプロセッサ66は、各論理デバイスLDEVを順番に参照していくため、インデックスとなる変数iに0をセットする。サービスプロセッサ66は、すべての論理デバイスLDEVについて、仮想デバイスVDEVの開放をプランニングするまで、処理を繰り返す(S2102)。
続いて、サービスプロセッサ66は、論理デバイスLDEV(i)について、LDEV管理テーブルの論理容量欄604及び圧縮後予測容量欄605を参照して、圧縮前容量(論理容量)と圧縮後予測容量との差分値を変数tmpに代入する(S2103)。
次に、サービスプロセッサ66は、論理デバイスLDEV(i)について圧縮を実行するか否かを判断する(S2104)。サービスプロセッサ66は、当該論理デバイスLDEVについて圧縮属性が与えられ、かつ、予想圧縮率が所定の基準値を下回る場合に、圧縮を実行すると判断する。これは、圧縮対象となっているデータの内容や圧縮アルゴリズムによっては、圧縮後データのサイズの方が元のデータのサイズよりも大きくなることがあるからである。一方、サービスプロセッサ66は、論理デバイスLDEV(i)がすでに圧縮されている場合、及び論理デバイスLDEV(i)に非圧縮の属性が与えられている場合、当該論理デバイスLDEV(i)について圧縮を実行せず、次の論理デバイスLDEV(i+1)に対して処理することになる。
なお、サービスプロセッサ66は、予想圧縮率に加え、アクセス頻度603を用いて、圧縮を実行するか否かの判断を行っても良い。
具体的には、アクセス要求されたデータの格納範囲が広範に亘っており、キャッシュメモリ62上のデータが再利用できない場合について考える。この場合、論理デバイスLDEVに割り当てられるディスクドライブ5の数が、最大性能について大きな要因となる。例えば、最大性能が150IOPSである1台のディスクドライブ5を64台用いて構成する論理デバイスLDEVの最大性能は、150×64=9600IOPSとなる。この論理デイバスLDEVに対する予測圧縮率が25%(つまり、データ長が4分の1になる)とし、圧縮処理のオーバヘッドにより性能が非圧縮時の75%に低下する場合は、圧縮後の最大性能は150×(64×0.25)×0.75=1800IOPSとなる。ここで、“64×0.25”は、圧縮後に使用するディスクドライブ5の数を示している。これは、この論理デバイスLDEVは、毎秒1800回以下のアクセスまでは処理できることを示している。サービスプロセッサ66は、このように求められる値を所定のしきい値に用いて、圧縮を行うか否かを判断することができる。
圧縮を実行するか否かの判断は、単に、圧縮率のみを用いても良いし、アクセス頻度を用いてもよい。また、アクセス頻度を用いる場合、ほとんどアクセスがないという意味において、例えば、10IOPSといった小さな値をしきい値に設定してもよい。
圧縮を実行すると判断する場合、サービスプロセッサ66は、変数tmpが論理デバイスLDEV(i)の部分仮想デバイスの容量(断片容量)よりも大きいか否かを判断する(S2105)。変数tmpが当該断片容量よりも大きいと判断する場合、サービスプロセッサ66は、変数tmpから当該断片容量を減算し、さらに論理デバイスLDEV(i)の部分仮想デバイスを開放するプランを作成する(S2106)。なお、変数tmpが断片容量よりも大きくない場合、サービスプロセッサ66は、当該部分仮想デバイスを開放せずに、S2107の処理に進む。
サービスプロセッサ66は、論理デバイスLDEV(i)に割り当てられている仮想デバイスVDEVを順番に参照するため、変数jにセットし(S2107)、変数tmpが仮想デバイスVDEV(j)の容量よりも大きいか否かを判断する(S2108)。変数tmpが仮想デバイスVDEV(j)の容量よりも大きいと判断する場合、サービスプロセッサ66は、変数tmpから仮想デバイスVDEV(j)の容量分を減算し、さらに仮想デバイスVDEV(j)を開放するプランを作成する(S2109)。サービスプロセッサ66は、論理デバイスLDEV(i)に割り当てられている他の仮想デバイスVDEVすべてについて処理を行ったか否かを判断し、まだであれば、同様に、処理を行う(S2110及びS2111)。このようにして、サービスプロセッサ66は、圧縮処理を行うことによりデータサイズが小さくなると見積もられ、使用する必要がなくなる仮想デバイスVDEVを順次開放していく。
一方、S2108において、変数tmpが仮想デバイスVDEV(j)の容量よりも大きくないと判断する場合、サービスプロセッサ66は論理デバイスLDEV(i)の部分仮想デバイスとして仮想デバイスVDEV(j)を割り当てて、変数tmpの値を仮想デバイスVDEV(i)の断片容量にセットし、さらに、仮想デバイスVDEV(j)の部分仮想デバイス以外の部分については開放する(S2112)。
サービスプロセッサ66は、変数iの値を1つインクリメントして、変数iがすべての論理デバイスLDEVの数よりも大きくない場合には、S2103の処理に戻る(S2112)。すべての論理デバイスについて処理した場合には、サービスプロセッサ66は、次の処理に進む。
以下の処理では、サービスプロセッサ66は、複数の論理デバイスLDEVにおける部分仮想デバイスを1つの仮想デバイスVDEVに割り当てることで、できる限り、稼動しなければならない仮想デバイスVDEVを少なくするプランを作成する。
サービスプロセッサ66は、参照する論理デバイスLDEVの順番を示す配列変数sL[x](ただし、xは、1から論理デバイスLDEVの数までの自然数である。)に対して、端数容量が降順になるようにLDEV番号を代入していく(S2201)。これは、作成された構成最適化プランの実行時に、移動対象となるデータを少なくするためである。
次に、サービスプロセッサ66は、配列変数moved[x]のすべての要素にfalseをセットする(S2202)。配列変数moved[x]は、すでに処理をしたか否かを示すフラグ変数である。サービスプロセッサは、論理デバイスLDEVを順番に参照していくため、現在参照している配列変数sLのインデックスを示す変数iに0をセットする(S2203)。
続いて、サービスプロセッサ66は、配列変数moved[sL[i]]をチェックし、現在参照している論理デバイスLDEVがすでに処理されたか否かを判断する(S2204)。従って、配列変数moved[sL[i]]がFalseでない場合には、S2205の処理に移行する。一方、配列変数moved[sL[i]]がFalseである場合、その論理デバイスLDEVの部分仮想デバイスを、どの論理デバイスLDEVの部分仮想デバイスと共に割り当てるかを調べるためのインデックスjにLDEV数をセットする(S2205)。上述したように、配列変数sL[x]には、端数容量に従って論理デバイスLDEVが降順に並べられている。従って、最も小さな断片容量の論理デバイスLDEVから処理されていき、データの移動を最小化することができる。
サービスプロセッサ66は、配列変数moved[sL[i]]がfalseで、かつ、論理デバイスLDEV(sL[i])の部分仮想デバイスの未割り当て容量が論理デバイスLDEV(sL[j])の断片容量よりも大きいか否かを判断する(S2206)。すでに処理を行った場合、又は容量が大きくない場合には、部分仮想デバイスを割り当てることはできないので、次の大きさの断片容量を持つ論理デバイスLDEV(sL[j−1])について処理を行う。これに対して、配列変数moved[sL[i]]がfalseで、かつ、論理デバイスLDEV(sL[i])の部分仮想デバイスの未割り当て容量が論理デバイスLDEV(sL[j])の断片容量よりも大きい場合には、サービスプロセッサ66は、論理デバイスLDEV(sL[j])の部分仮想デバイスを開放し、当該部分仮想デバイスを論理デバイスLDEV(sL[i])の部分仮想デバイスと同一の仮想デバイスVDEVに割り当てるプランを作成する(S2207)。続いて、サービスプロセッサ66は、論理デバイスLDEV(sL[i])がすでに処理されたことを示すため、配列変数moved[sL[j]]の値をtrueにする(S2208)。このようにして、サービスプロセッサは、論理デバイスLDEVの部分仮想デバイスの断片容量の大きい順に処理を行う。
すべての論理デバイスLDEVについて処理をした場合、サービスプロセッサ66は、作成したプランを実行した場合に稼動する仮想デバイスVDEVの数をカウントし(S2124)、処理を終了する。
サービスプロセッサ66は、最初にカウントした稼働中の仮想デバイスVDEVの数と、構成最適化プランにより得られた稼働されるべき仮想デバイスの数とに基づいて、給電を停止可能な仮想デバイスVDEVの数を算出する。また、サービスプロセッサ66は、システム構成情報から得られる仮想デバイスVDEVを構成するディスクドライブ5の数に基づき、新たに給電を停止するディスクドライブ5の数を算出する。
サービスプロセッサ66は、上述した最適化構成プランの作成処理を終えると、管理端末8に通知し、管理端末8は、図19や図20に示すようなダイアログボックスをシステム管理者に提示して、最適化構成プランの実行可否を確認する。システム管理者が、最適化構成プランの実行を承認すると、ディスク制御装置6は、サービスプロセッサ66の制御の下、作成された最適化構成プランに従って、仮想デバイスVDEV等の開放やデータの移動、圧縮処理等を開始する。
上記実施形態は、本発明を説明するための例示であって、本発明の要旨は、これらの実施形態に限定されるものではない。本発明は、その要旨の範囲内で、さまざまな形態で実施できる。
例えば、上記実施形態では、圧縮・展開部は、チャネルアダプタの内部に設けられているが、特にこれにこだわるものではない。圧縮・展開部は、ディスク制御装置内に独立したモジュールとして設けられてもよい。
また、ストレージシステム4は、受信したデータを暗号化してディスクドライブ5にデータを格納してもよい。この場合、効果的な圧縮率の観点から、データの暗号化に先立ち、そのデータを圧縮することが好ましい。これに対処するため、例えば、暗号化(および暗号解除)エンジンは、ディスク制御部のチャネルプロトコル処理部613に搭載する。
本発明は、複数のディスクドライブを備えたストレージシステム1に広く適用することができる。
本発明の一実施形態に係る計算機システム1の構成を示す図である。 本発明の一実施形態に係るチャネルアダプタ61の構成を示す図である。 本発明の一実施形態に係るディスクアダプタ63の構成を示す図である。 本発明の一実施形態に係るストレージシステム4における仮想デバイスを説明するための図である。 本発明の一実施形態に係るストレージシステム4におけるLDEV−VDEV割り当てテーブル500の一例を示す図である。 本発明の一実施形態に係るストレージシステム4におけるLDEV管理テーブル600の一例を示す図である。 本発明の一実施形態に係るストレージシステム4におけるLU−LDEV管理テーブル700の一例を示す図である。 本発明の一実施形態に係るストレージシステム4における論理デバイスLDEVと仮想デバイスVDEVとの関係を説明するための図である。 本発明の一実施形態に係るストレージシステム4における省電力制御を説明するための図である。 本発明の一実施形態に係るストレージシステム4におけるVDEV使用テーブルの一例を示す図である。 本発明の一実施形態に係るストレージシステム4における書き込み要求時の処理の流れを説明するための図である。 本発明の一実施形態に係るストレージシステム4における書き込み要求時のLDEVーVDEV管理テーブル及びLDEV管理テーブルの更新処理を説明するための図である。 本発明の一実施形態に係るストレージシステム4における書き込み要求時の処理の流れを説明するための図である。 本発明の一実施形態に係るストレージシステム4における一括圧縮時の処理の流れを説明するための図である。 本発明の一実施形態に係るストレージシステム4における省電力制御処理を概略的に説明するための図である。 本発明の一実施形態に係る管理端末8上の画面の一例を説明するための図である。 本発明の一実施形態に係る管理端末8上の画面の一例を説明するための図である。 本発明の一実施形態に係る管理端末8上の画面の一例を説明するための図である。 本発明の一実施形態に係るストレージシステム4における構成最適化処理を説明するための図である。 本発明の一実施形態に係るストレージシステム4における構成最適化処理を説明するための図である。 本発明の一実施形態に係るストレージシステム4における書き込み要求時の各種テーブルの更新処理を説明するための図である。 本発明の一実施形態に係るストレージシステム4における書き込み要求時の各種テーブルの更新処理を説明するための図である。
符号の説明
1…計算機システム
2…ネットワーク
3…ホストコンピュータ
4…ストレージシステム
5…ディスクドライブ
51…給電部
52…電力ケーブル
6…ディスク制御装置
61…チャネルアダプタ
62…キャッシュメモリ
63…ディスクアダプタ
64…共有メモリ
65…電源制御部
66…SVP
67…接続部
7…ディスクチャネル
8…管理端末

Claims (20)

  1. 複数のディスクドライブと、前記複数のディスクドライブを制御するディスク制御装置と、を備えるストレージシステムであって、
    前記複数のディスクドライブにより構成される複数の仮想デバイスに第1の論理デバイスが割り当てられ、
    前記ディスク制御装置は、
    チャネルを介してホストコンピュータに接続可能に構成されたチャネルアダプタと、
    前記論理デバイスの所定の記憶領域にアクセス可能に構成されたディスクアダプタと、
    前記チャネルアダプタと前記ディスクアダプタとの間でデータを送受するために配置されたキャッシュメモリと、
    データに対する圧縮処理を行う圧縮部と、
    前記複数のディスクドライブに対して供給される電力を制御する電力制御部と、
    を備え、
    前記ディスク制御装置は、
    前記第1の論理デバイス上のデータに対して前記圧縮処理を行い、当該圧縮処理により圧縮された前記データが格納された、前記第1の論理デバイスよりもサイズが小さい第2の論理デバイスを前記複数の仮想デバイスの少なくとも一つに割り当てることを特徴とするストレージシステム。
  2. 請求項1に記載のストレージシステムであって、
    前記圧縮後の論理デバイスが割り当てられていない仮想デバイスに対する電力が制御されるように、前記電力制御部を制御することを特徴とするストレージシステム。
  3. 請求項1に記載のストレージシステムであって、
    前記複数の仮想デバイスの少なくとも一つは、圧縮されていないデータに基づく論理デバイスと圧縮されたデータに基づく圧縮後の論理デバイスが割り当てられていることを特徴とするストレージシステム。
  4. 請求項1に記載のストレージシステムであって、
    前記圧縮部は、前記圧縮されたデータに基づく圧縮率を算出することを特徴とするストレージシステム。
  5. 請求項4に記載のストレージシステムであって、
    前記圧縮部は、
    前記算出された圧縮率に基づいて、前記キャッシュメモリに格納されたデータを読み出して圧縮し、前記キャッシュメモリに格納することを特徴とするストレージシステム。
  6. 請求項1に記載のストレージシステムであって、
    前記ディスク制御装置は、
    前記圧縮されたデータを前記圧縮後の論理デバイスの所定の記憶領域に格納することを特徴とするストレージシステム。
  7. 請求項1に記載のストレージシステムであって、
    前記圧縮部は、
    前記チャネルアダプタにより受信したデータを圧縮することを特徴とするストレージシステム。
  8. 複数のディスクドライブと、前記複数のディスクドライブを制御するディスク制御装置と、を備えるストレージシステムの制御方法であって、
    少なくとも1つのディスクドライブを割り当てた仮想デバイスを複数構成するステップと、
    ホストコンピュータにデータの記憶領域を提供するための圧縮前論理デバイスを、第1の所定数で構成される第1の仮想デバイスに割り当てるステップと、
    前記ホストコンピュータから書き込み要求に従うデータを受信するステップと、
    前記受信したデータを前記圧縮前論理デバイスに格納するステップと、
    前記圧縮前論理デバイス上のデータに対して前記圧縮処理を行い、当該圧縮処理により圧縮された前記データが格納された、前記圧縮前論理デバイスよりもサイズが小さい圧縮後論理デバイスを、前記第1の所定数より少ない第2の所定数で構成される第2の仮想デバイスに割り当てるステップと、
    前記第2の所定数で構成される第2の仮想デバイス以外の仮想デバイスに対する電力の供給を制御するステップと、
    を含むことを特徴とする制御方法。
  9. 請求項8に記載の制御方法であって、
    前記圧縮されたデータを前記圧縮後論理デバイスの所定の記憶領域に格納するステップをさらに含むことを特徴とする制御方法。
  10. 請求項8に記載の制御方法であって、
    前記圧縮処理は、前記圧縮されたデータに基づく圧縮率を算出するステップを含むことを特徴とする制御方法。
  11. 請求項10に記載の制御方法であって、
    前記算出された圧縮率に基づいて、前記圧縮後論理デバイスを前記第2の所定数で構成される第2の仮想デバイスに割り当てることを特徴とする制御方法。
  12. 請求項10に記載の制御方法であって、
    前記受信したデータをキャッシュメモリに格納するステップをさらに含み、
    前記圧縮処理は、前記算出された圧縮率が所定のしきい値を下回る場合に、前記キャッシュメモリに格納された前記受信したデータを読み出して圧縮するステップをさらに含むことを特徴とする制御方法。
  13. 請求項12に記載の制御方法であって、
    前記圧縮処理により圧縮されたデータをキャッシュメモリに再格納するステップをさらに含むことを特徴とする制御方法。
  14. 請求項12に記載の制御方法であって、
    前記算出された圧縮率が所定のしきい値を下回らない場合に、前記キャッシュメモリに格納された前記受信したデータを前記圧縮前論理デバイスに格納するステップと、をさらに含むことを特徴とする制御方法。
  15. 請求項10に記載の制御方法であって、
    前記受信したデータをキャッシュメモリに格納するステップと、
    前記キャッシュメモリに格納された前記受信したデータを前記圧縮前論理デバイスの所定の記憶領域に格納するステップと、をさらに含み、
    前記第1の論理デバイスは非圧縮属性が設定されていることを特徴とする制御方法。
  16. 請求項15に記載の制御方法であって、
    前記圧縮前論理デバイスを圧縮属性に設定するステップと、
    前記圧縮前論理デバイスに格納されたデータを読み出すステップと、
    前記読み出したデータに対して圧縮処理を行うステップと、
    前記圧縮処理により圧縮されたデータに基づいて形成される圧縮後論理デバイスを、前記第1の所定数より少ない第2の所定数で構成される仮想デバイスに割り当てるステップと、
    前記圧縮されたデータを前記圧縮後論理デバイスの所定の記憶領域に格納するステップと、
    前記第2の所定数で構成される仮想デバイス以外の仮想デバイスに対する電力の供給を制御するステップと、をさらに含むことを特徴とする制御方法。
  17. 請求項15に記載の制御方法であって、
    前記圧縮前論理デバイスについて前記算出された圧縮率を関連づけた管理情報を保持するステップと、
    前記保持された管理情報に基づいて、前記圧縮前論理デバイス上の所定の記憶領域に格納されたデータに対する圧縮処理を行うか否かを判断するステップと、をさらに含むことを特徴とする制御方法。
  18. 請求項10に記載の制御方法であって、
    前記ホストコンピュータから、前記圧縮前論理デバイスに対する複数の書き込み要求を受信するステップと、
    前記複数の書き込み要求に基づいて、前記圧縮前論理デバイスに対するアクセス頻度を算出するステップと、をさらに含み、
    前記算出されたアクセス頻度に基づいて、前記圧縮後論理デバイスを前記第2の所定数で構成される仮想デバイスに割り当てることを特徴とする制御方法。
  19. 請求項10に記載の制御方法であって、
    前記圧縮前論理デバイスの容量と前記圧縮後論理デバイスとの差分値を算出するステップと、
    前記第1の所定数で構成される第1の仮想デバイスのうち、その一部のみに前記圧縮前論理デバイスが割り当てられている仮想デバイスを、前記算出された差分値に基づいて、前記第2の所定数で構成される第2の仮想デバイスから除外するために、開放するステップと、を含むことを特徴とする制御方法。
  20. 複数のディスクドライブと、前記複数のディスクドライブを制御するディスク制御装置と、を備えるストレージシステムの制御方法であって、
    少なくとも1つのディスクドライブを割り当てた仮想デバイスを複数構成するステップと、
    ホストコンピュータにデータの記憶領域を提供するための圧縮前論理デバイスを、第1の所定数で構成される仮想デバイスに割り当てるステップと、
    前記第1の論理デバイスに格納されたデータを読み出すステップと、
    前記読み出したデータに対して圧縮処理を行うステップと、
    前記圧縮処理により圧縮された前記データが格納された、前記圧縮前論理デバイスよりもサイズが小さい圧縮後論理デバイスを、前記第1の所定数より少ない第2の所定数で構成される仮想デバイスに割り当てるステップと、
    前記第2の所定数で構成される仮想デバイス以外の仮想デバイスに対する電力の供給を制御するステップと、
    を含むことを特徴とする制御方法。
JP2007005652A 2007-01-15 2007-01-15 ストレージシステム及びストレージシステムの制御方法 Expired - Fee Related JP5037952B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007005652A JP5037952B2 (ja) 2007-01-15 2007-01-15 ストレージシステム及びストレージシステムの制御方法
US12/003,902 US7953939B2 (en) 2007-01-15 2008-01-03 Storage system and method of controlling a storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007005652A JP5037952B2 (ja) 2007-01-15 2007-01-15 ストレージシステム及びストレージシステムの制御方法

Publications (2)

Publication Number Publication Date
JP2008171312A JP2008171312A (ja) 2008-07-24
JP5037952B2 true JP5037952B2 (ja) 2012-10-03

Family

ID=39618648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007005652A Expired - Fee Related JP5037952B2 (ja) 2007-01-15 2007-01-15 ストレージシステム及びストレージシステムの制御方法

Country Status (2)

Country Link
US (1) US7953939B2 (ja)
JP (1) JP5037952B2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9772936B2 (en) * 2008-07-10 2017-09-26 Micron Technology, Inc. Data collection and compression in a solid state storage device
JP4653830B2 (ja) * 2008-09-19 2011-03-16 株式会社東芝 命令キャッシュシステム
JP4461187B1 (ja) * 2008-12-24 2010-05-12 株式会社東芝 不揮発性半導体メモリドライブ装置、情報処理装置および不揮発性半導体メモリドライブ装置における記憶領域の管理方法
EP2391937A1 (en) * 2009-01-30 2011-12-07 Hitachi, Ltd. Storage system and storage control method that compress and store data elements
US8732394B2 (en) * 2009-12-24 2014-05-20 International Business Machines Corporation Advanced disk drive power management based on maximum system throughput
CN102630314B (zh) * 2010-03-08 2015-01-07 株式会社日立制作所 具有raid1类型的raid组的存储装置以及向raid1类型的raid组的写入的控制方法
KR101649357B1 (ko) * 2010-05-10 2016-08-19 삼성전자주식회사 데이터 저장 장치, 그것의 동작 방법, 그리고 그것을 포함한 스토리지 서버
TW201140315A (en) * 2010-05-11 2011-11-16 Jmicron Technology Corp Method for estimating capacity usage status of storage unit, and associated memory device and controller thereof
JP5712609B2 (ja) 2010-12-24 2015-05-07 富士通株式会社 データ処理装置及びデータ記録方法
JP5729084B2 (ja) * 2011-03-30 2015-06-03 富士通株式会社 ストレージシステム、ストレージ制御装置およびストレージ制御方法
US9378560B2 (en) 2011-06-17 2016-06-28 Advanced Micro Devices, Inc. Real time on-chip texture decompression using shader processors
KR20130031046A (ko) * 2011-09-20 2013-03-28 삼성전자주식회사 플래시 메모리 장치 및 플래시 메모리 장치의 데이터 관리 방법
US9432338B2 (en) * 2013-10-23 2016-08-30 Google Inc. Secure communications using adaptive data compression
KR102218735B1 (ko) * 2014-01-21 2021-02-23 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 소거 방법
US10120601B2 (en) * 2014-03-24 2018-11-06 Hitachi, Ltd. Storage system and data processing method
US20190087599A1 (en) 2014-04-02 2019-03-21 International Business Machines Corporation Compressing a slice name listing in a dispersed storage network
CN106030499B (zh) * 2014-05-28 2019-03-05 株式会社日立制作所 计算机系统以及计算机系统控制方法
US9483413B2 (en) 2014-10-24 2016-11-01 Samsung Electronics Co., Ltd. Nonvolatile memory devices and methods of controlling the same
US20160275036A1 (en) * 2015-03-19 2016-09-22 Western Digital Technologies, Inc. Single board computer interface
TWI575374B (zh) * 2015-08-04 2017-03-21 群聯電子股份有限公司 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元
US10101935B2 (en) * 2016-06-03 2018-10-16 Samsung Electronics Co., Ltd. System and method for providing expandable and contractible memory overprovisioning
FR3057970B1 (fr) * 2016-10-26 2019-12-13 Zodiac Aero Electric Architecture de communication pour l'echange de donnees entre des unites de traitement
US10346064B1 (en) * 2016-12-30 2019-07-09 EMC IP Holding Company LLC Managing compression based on a compression profile of host data initially residing on a source storage array
US10503432B2 (en) * 2018-01-17 2019-12-10 International Business Machines Corporation Buffering and compressing data sets
KR102438319B1 (ko) * 2018-02-07 2022-09-01 한국전자통신연구원 공통 메모리 인터페이스 장치 및 방법
CN110427340B (zh) 2018-04-28 2023-08-04 伊姆西Ip控股有限责任公司 用于文件存储的方法、装置和计算机存储介质
CN111078647B (zh) * 2019-11-22 2023-09-22 北京安兔兔科技有限公司 一种非压缩文件的创建、磁盘测试方法、装置及电子设备
CN111159784B (zh) * 2019-12-17 2022-02-01 飞天诚信科技股份有限公司 一种在芯片中防差分功率分析攻击的实现方法及装置
US20240086392A1 (en) * 2022-09-14 2024-03-14 Sap Se Consistency checks for compressed data

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2550239B2 (ja) * 1991-09-12 1996-11-06 株式会社日立製作所 外部記憶装置システム
JP3448068B2 (ja) * 1991-12-24 2003-09-16 富士通株式会社 データ処理システムおよびストレージ管理方法
JPH0628108A (ja) * 1992-07-09 1994-02-04 Hitachi Ltd データ記憶システム
JPH07168671A (ja) * 1993-12-16 1995-07-04 Matsushita Electric Ind Co Ltd 入出力制御装置
JPH09212416A (ja) * 1995-11-30 1997-08-15 Toshiba Corp 計算機システムおよび計算機システムの電力管理方法
US6266753B1 (en) * 1997-07-10 2001-07-24 Cirrus Logic, Inc. Memory manager for multi-media apparatus and method therefor
US6442659B1 (en) * 1998-02-17 2002-08-27 Emc Corporation Raid-type storage system and technique
US6625750B1 (en) * 1999-11-16 2003-09-23 Emc Corporation Hardware and software failover services for a file server
KR100777271B1 (ko) * 2001-02-28 2007-11-20 엘지전자 주식회사 디지털 시스템의 메모리 관리 방법
JP2002297320A (ja) * 2001-03-30 2002-10-11 Toshiba Corp ディスクアレイ装置
JP2004304307A (ja) * 2003-03-28 2004-10-28 Sanyo Electric Co Ltd デジタル放送受信機およびデータ処理方法
JP2005071196A (ja) * 2003-08-27 2005-03-17 Hitachi Ltd ディスクアレイ装置、及びその障害情報の制御方法
US7386754B2 (en) * 2003-10-16 2008-06-10 Seagate Technology Llc Method and apparatus to improve magnetic disc drive reliability using excess un-utilized capacity
JP2005174056A (ja) * 2003-12-12 2005-06-30 Konica Minolta Opto Inc データ保存システムおよび記憶媒体
JP4518541B2 (ja) * 2004-01-16 2010-08-04 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
US20060190643A1 (en) * 2004-04-26 2006-08-24 Storewiz, Inc. Method and system for compression of data for block mode access storage
US7424482B2 (en) * 2004-04-26 2008-09-09 Storwize Inc. Method and system for compression of data for block mode access storage
DE602005015435D1 (de) * 2004-04-26 2009-08-27 Storewiz Inc Verfahren und system zur komprimierung von dateien zur speicherung und operation an komprimierten dateien
US20060230014A1 (en) * 2004-04-26 2006-10-12 Storewiz Inc. Method and system for compression of files for storage and operation on compressed files
US7474750B2 (en) * 2004-06-16 2009-01-06 Nec Laboratories America, Inc. Dynamic content-aware memory compression and encryption architecture
JP4648674B2 (ja) * 2004-10-01 2011-03-09 株式会社日立製作所 記憶制御装置、記憶制御システム及び記憶制御方法
JP2006215664A (ja) * 2005-02-01 2006-08-17 Hitachi Ltd 記憶システム及びその電源制御方法、アダプタ装置及びその電源制御方法並びに記憶制御装置及びその制御方法
JP2007104217A (ja) * 2005-10-03 2007-04-19 Canon Inc 画像圧縮データ処理方法および画像圧縮データ処理装置
US7885988B2 (en) * 2006-08-24 2011-02-08 Dell Products L.P. Methods and apparatus for reducing storage size
US7962700B2 (en) * 2006-09-06 2011-06-14 International Business Machines Corporation Systems and methods for reducing latency for accessing compressed memory using stratified compressed memory architectures and organization
EP2391937A1 (en) * 2009-01-30 2011-12-07 Hitachi, Ltd. Storage system and storage control method that compress and store data elements

Also Published As

Publication number Publication date
US7953939B2 (en) 2011-05-31
US20080172525A1 (en) 2008-07-17
JP2008171312A (ja) 2008-07-24

Similar Documents

Publication Publication Date Title
JP5037952B2 (ja) ストレージシステム及びストレージシステムの制御方法
JP4806556B2 (ja) ストレージシステム及び構成変更方法
JP5981563B2 (ja) 情報記憶システム及び情報記憶システムの制御方法
US8549247B2 (en) Storage system, management method of the storage system, and program
JP6802209B2 (ja) ストレージシステム
US9021203B2 (en) Enhancing tiering storage performance
JP4819369B2 (ja) ストレージシステム
WO2015162681A1 (ja) ストレージシステムおよび記憶デバイスの制御方法
US20150242133A1 (en) Storage workload hinting
US20080005481A1 (en) Read ahead storage control
WO2014049636A1 (en) Storage apparatus and method of controlling the same
US8880804B2 (en) Storage apparatus and data management method
WO2014155555A1 (ja) 管理システム及び管理プログラム
US20120151174A1 (en) Computer system, management method of the computer system, and program
US7761659B2 (en) Wave flushing of cached writeback data to a storage array
US8713266B2 (en) Storage apparatus and method including page discard processing for primary and secondary volumes configured as a copy pair
JP5427314B2 (ja) 仮想ボリュームを提供するストレージシステム及びそのストレージシステムの省電力制御方法
WO2015063859A1 (ja) 計算機システム及び制御方法
US11210282B2 (en) Data placement optimization in a storage system according to usage and directive metadata embedded within the data
JP2005301684A (ja) ストレージシステム
JP2005115603A (ja) 記憶デバイス制御装置及びその制御方法
JP7253007B2 (ja) ストレージシステム
JP6272556B2 (ja) 共有リソース更新装置及び共有リソース更新方法
WO2013061368A1 (en) Storage apparatus and method of controlling storage apparatus
WO2010119478A1 (en) Storage system and control method therefor

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110816

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111017

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120705

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

Free format text: PAYMENT UNTIL: 20150713

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