JP2016133847A - ストレージ制御装置およびストレージ制御プログラム - Google Patents

ストレージ制御装置およびストレージ制御プログラム Download PDF

Info

Publication number
JP2016133847A
JP2016133847A JP2015006232A JP2015006232A JP2016133847A JP 2016133847 A JP2016133847 A JP 2016133847A JP 2015006232 A JP2015006232 A JP 2015006232A JP 2015006232 A JP2015006232 A JP 2015006232A JP 2016133847 A JP2016133847 A JP 2016133847A
Authority
JP
Japan
Prior art keywords
data
power saving
storage
cache
management 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.)
Granted
Application number
JP2015006232A
Other languages
English (en)
Other versions
JP6417951B2 (ja
Inventor
智彦 室山
Tomohiko Muroyama
智彦 室山
忠 松村
Tadashi Matsumura
忠 松村
紀之 矢須
Noriyuki Yasu
紀之 矢須
基紀 曽谷
Motoki Soya
基紀 曽谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015006232A priority Critical patent/JP6417951B2/ja
Priority to US14/946,615 priority patent/US9696929B2/en
Publication of JP2016133847A publication Critical patent/JP2016133847A/ja
Application granted granted Critical
Publication of JP6417951B2 publication Critical patent/JP6417951B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0833Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/621Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
    • 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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Sources (AREA)

Abstract

【課題】消費電力を低減すること。
【解決手段】ストレージ制御装置1は、記憶部13と制御部14とを有する。制御部14は、装置管理情報13aに登録された記憶装置のうち、現在時刻が省電力期間に含まれる記憶装置の動作モードを省電力モードに設定する。また、制御部14は、ホスト装置からのアクセスとは非同期のタイミングで記憶装置2a〜2cのいずれかからキャッシュにコピーするための候補とするデータの識別情報が登録されたデータ管理情報13bから、装置管理情報13aに省電力期間が登録された記憶装置に格納されたデータの識別情報を削除する。
【選択図】図1

Description

本発明はストレージ制御装置およびストレージ制御プログラムに関する。
近年、消費電力を削減するために、様々な装置に省電力機能が設けられている。例えば、ストレージ装置の中には、任意のHDD(Hard Disk Drive)を決まった期間だけ省電力モードに設定する機能を備えたものがある。省電力モードに設定されたHDDでは、例えば、磁気ディスクの回転が停止する。これにより、ストレージ装置における消費電力を削減することができる。
ここで、省電力に関する技術の一例として、HDDが省電力モードに入る際、省電力モードに入らないメモリ上に確保された固定データ領域に、使用状況や使用目的に応じて所定のデータをHDDから転送するようにした情報処理装置が提案されている。
特開2000−250716号公報
ところで、複数の記憶装置を備えるとともに、これらの記憶装置に格納されたデータの一部をキャッシュに保持する機能を備えたストレージ装置の中には、ホスト装置からのデータに対するアクセスとは非同期のタイミングで、このデータを記憶装置からキャッシュへステージングする機能を備えたものがある。このステージング処理は、キャッシュへの先読み処理の一種である。このようなストレージ装置に、任意の記憶装置を決まった期間だけ省電力モードに設定する機能を設けた場合、次のような問題が生じ得る。
ある記憶装置が省電力モードに設定された期間において、その記憶装置に格納されたデータのキャッシュへの先読みが実行されると、その記憶装置では省電力モードが解除されてしまう。記憶装置が省電力モードに設定される期間は、通常、その記憶装置に格納されたデータに対するホスト装置からのアクセスが要求される可能性が低い期間である。このため、そのデータがキャッシュに先読みされても、そのデータに対してホスト装置からすぐにアクセスが要求される可能性は低く、その意味では先読みの実行によるアクセス応答性能の向上効果は低い。したがって、上記期間でデータの先読みが発生した場合、省電力モードを解除する必要性の低い期間であるにもかかわらず省電力モードが解除されてしまうため、余計な電力が消費される可能性があるという問題がある。
1つの側面では、本発明は、消費電力を低減することが可能なストレージ制御装置およびストレージ制御プログラムを提供することを目的とする。
1つの態様では、キャッシュを備え、ホスト装置からのキャッシュを介した複数の記憶装置に対するアクセスを制御するストレージ制御装置が提供される。このストレージ制御装置は、記憶部と制御部とを有する。記憶部は、複数の記憶装置のうち省電力モードで動作させる記憶装置の識別情報と当該記憶装置を省電力モードで動作させる期間を示す省電力期間とが登録された装置管理情報を記憶する。制御部は、装置管理情報に登録された記憶装置のうち、現在時刻が省電力期間に含まれる記憶装置の動作モードを省電力モードに設定する。また、制御部は、ホスト装置からのアクセスとは非同期のタイミングで複数の記憶装置のいずれかからキャッシュにコピーするための候補とするデータの識別情報が登録されたデータ管理情報から、装置管理情報に省電力期間が登録された記憶装置に格納されたデータの識別情報を削除する。
また、1つの態様では、上記のストレージ制御装置と同様の処理をコンピュータに実行させるストレージ制御プログラムが提供される。
1つの側面では、消費電力を低減することができる。
第1の実施の形態のストレージ装置を示す図である。 ストレージ装置のハードウェア例を示す図である。 ストレージ装置が有するCMの機能例を示す図である。 RAIDグループテーブルの例を示す図である。 省電力管理テーブルの例を示す図である。 1次キャッシュテーブルの例を示す図である。 2次キャッシュテーブルの例を示す図である。 カウントテーブルの例を示す図である。 ステージングテーブルの例を示す図である。 無効化処理および加点処理の実行を依頼する際に参照される情報を示す図である。 ステージングテーブルへのレコード登録処理の例を示すフローチャートである。 省電力制御処理の例(その1)を示すフローチャートである。 省電力制御処理の例(その2)を示すフローチャートである。 無効化処理の例を示すフローチャートである。 先読み制御部による先読み処理の例を示すフローチャートである。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態のストレージ装置を示す図である。ストレージ装置は、ストレージ制御装置1と複数の記憶装置とを有する。図1では例として、ストレージ装置は、3台の記憶装置2a〜2cを有するものとする。
ストレージ制御装置1は、記憶装置2a〜2cに格納されたデータに対する、図示しないホスト装置からの要求に応じたアクセスを制御する。ストレージ制御装置1は、このアクセス制御に利用するキャッシュを有し、ホスト装置からのキャッシュを介した記憶装置2a〜2cに対するアクセスを制御する。キャッシュの記憶領域は、記憶装置2a〜2cよりアクセス速度の高い記憶装置によって実現される。
図1では、キャッシュの例として、1次キャッシュ11と2次キャッシュ12とを示している。この構成の場合、1次キャッシュ11は、ホスト装置との間でデータを入出力する。2次キャッシュ12は、1次キャッシュ11および記憶装置2a〜2cとの間でデータを入出力する。そして、ストレージ制御装置1は、ホスト装置からの1次キャッシュ11および2次キャッシュ12を介した記憶装置2a〜2cに対するアクセスを制御する。
なお、1次キャッシュ11の記憶領域は、2次キャッシュ12の記憶領域を実現する記憶装置より、アクセス速度の高い記憶装置によって実現される。また、2次キャッシュ12の記憶領域は、記憶装置2a〜2cよりアクセス速度の高い記憶装置によって実現される。
ストレージ制御装置1は、記憶部13と制御部14を有する。記憶部13は、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDDやフラッシュメモリなどの不揮発性記憶装置でもよい。制御部14は、例えばプロセッサである。なお、プロセッサは、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。また、制御部14は、マルチプロセッサでもよい。
記憶部13は、装置管理情報13aを記憶する。装置管理情報13aには、記憶装置2a〜2cのうち省電力モードで動作させる記憶装置の識別情報(ID:identifier)と、その記憶装置を省電力モードで動作させる期間を示す省電力期間とが登録される。なお、装置管理情報13aには、省電力期間が記憶装置単位ではなく、複数の記憶装置を単位として登録されてもよい。例えば、装置管理情報13aは、複数の記憶装置が属するRAID(Redundant Arrays of Inexpensive Disks)グループを単位として省電力期間が登録されてもよい。
また、ストレージ制御装置1には、制御部14の処理に利用される情報の例として、データ管理情報13bが記憶される。データ管理情報13bは、記憶部13に記憶されてもよい。データ管理情報13bには、記憶装置2a〜2cに記憶されたデータのうち、先読み処理の候補とするデータの識別情報が登録される。この先読み処理とは、記憶装置2a〜2cのいずれかに記憶されたデータを、そのデータに対するホスト装置からのアクセスとは非同期のタイミングで、記憶されている記憶装置からキャッシュへコピーする処理である。ストレージ制御装置1は、このような先読み処理によってキャッシュへコピーされたデータに対してホスト装置から読み出しが要求されたとき、そのデータを記憶装置2a〜2cからではなくキャッシュから読み出すことができる。これにより、読み出し要求に対する応答時間が短縮される。
制御部14は、装置管理情報13aに登録された記憶装置のうち、現在時刻が登録された省電力期間に含まれる記憶装置の動作モードを省電力モードに設定する。なお、省電力モードに設定された記憶装置は、データアクセスが行われる際と比較して消費電力が低くなる。例えば、記憶装置2a〜2cがHDDである場合、記憶装置2a〜2cはそれぞれ、省電力モードに設定されると、少なくとも、自装置に搭載された磁気ディスクの回転を停止させる。
また、制御部14は、装置管理情報13aに省電力期間が登録された記憶装置に格納されたデータの識別情報を、データ管理情報13bから削除する。このようにデータ管理情報13bから削除されたデータは、対応する記憶装置からキャッシュに対して先読みされなくなる。
ここで、装置管理情報13aには、通常、ホスト装置からのアクセス要求が送信される可能性が低い期間が省電力期間として設定される。このため、装置管理情報13aに基づいてある記憶装置が省電力モードに設定されている期間に、その記憶装置内のデータがキャッシュに先読みされたとしても、そのデータに対してホスト装置からのアクセス要求がすぐに送信される可能性は低い。この意味で、当該データが上記期間に先読みされることで得られるアクセス応答速度の向上効果は、あまり高くない。
これに対して、上記のように、制御部14は、装置管理情報13aに省電力期間が設定されている記憶装置に記憶されたデータを、データ管理情報13bから削除する。これにより、省電力モードに設定されている記憶装置に対して、即座にホスト装置からアクセスが要求される可能性が低いデータを先読みするためにストレージ制御装置1がアクセスするという事態が回避される。すなわち、必要性が低いタイミングで記憶装置において省電力モードが解除されることがなくなり、その分だけ記憶装置の消費電力が削減される。したがって、ストレージ装置での消費電力を低減することができる。また、アクセス応答速度の向上効果が低いデータがキャッシュに格納されなくなるので、キャッシュの使用効率が向上する。
以下、制御部14の処理の具体例について説明する。ここでは、図1のように1次キャッシュ11と2次キャッシュ12とが設けられた場合の例について説明する。また、記憶装置2a,2b,2cのIDを、それぞれ000,001,002とする。また、記憶装置2aにデータD1が、記憶装置2bにデータD2が、記憶装置2cにデータD3がそれぞれ記憶されているとする。さらに、装置管理情報13aには、IDが000の記憶装置2aとIDが002の記憶装置2cについて、省電力期間が登録されているとする。
また、ここでは例として、1次キャッシュ11から追い出された追い出し回数が所定の閾値を超えたデータの識別情報が、データ管理情報13bに登録されるものとする。このような追い出し回数に基づく先読み処理は、追い出し回数が多いデータには、その後のどこかのタイミングで再度ホスト装置からアクセス要求が送信される可能性が高い、という考え方に基づく処理である。ストレージ制御装置1の記憶装置には、追い出し回数を管理するための回数管理情報13cが記憶される。回数管理情報13cは、記憶部13に記憶されてもよい。なお、追い出し回数は、1次キャッシュ11から追い出された回数ではなく、2次キャッシュ12から追い出された回数とされてもよい。
制御部14は、1次キャッシュ11から追い出されるデータを監視し、データが追い出されるたびに、そのデータについての回数管理情報13cにおける追い出し回数をインクリメントする。ここで、制御部14が、1次キャッシュ11からデータD3が追い出されたことを検知したとする(ステップS1)。このとき、データD3の追い出し回数が6となり、あらかじめ決められた閾値“5”を超えたとする。この場合、制御部14は、データD3の識別情報をデータ管理情報13bに登録する(ステップS2)。なお、データ管理情報13bには、すでにデータD2の識別情報も登録されているものとする。
また、制御部14は、現在時刻が、装置管理情報13aに登録された省電力期間に含まれるかを、例えば一定時刻ごとに判定する。ここで、IDが002の記憶装置2cについて設定された省電力期間に入ったものとする。このとき、制御部14は、記憶装置2cを省電力モードにする(ステップS3)。
また、制御部14は、例えば一定時間ごとに、装置管理情報13aに省電力期間が登録された記憶装置に格納されているデータを、データ管理情報13bから削除する。ここで、データ管理情報13bに登録されたデータD3は、装置管理情報13aに省電力期間が登録された記憶装置2cに格納されている。このため、制御部14は、ステップS2でデータD3をデータ管理情報13bに登録した後、データD3をデータ管理情報13bから削除する(ステップS4)。
また、制御部14は、例えば一定時間ごとに、データ管理情報13bを参照して、データ管理情報13bに登録されたデータを、記憶装置2a〜2cのうちの対応する記憶装置から2次キャッシュ12に先読みする。
制御部14は、ステップS4の処理の後にデータ管理情報13bを参照したとき、データ管理情報13bに登録されたデータD2を記憶装置2bから2次キャッシュ12に先読みする(ステップS5)。また、ステップS4でデータ管理情報13bからデータD3が削除されているため、データD3は記憶装置2cから2次キャッシュ12に先読みされない。このため、記憶装置2cは省電力モードに設定されたままになる。
ここで、前述のように、装置管理情報13aには、通常、ホスト装置からのアクセス要求が送信される可能性が低い期間が省電力期間として設定される。このため、ステップS5のタイミングのように、装置管理情報13aに基づいて記憶装置2cが省電力モードに設定されている期間に、記憶装置2cのデータが2次キャッシュ12に先読みされたとしても、そのデータに対してホスト装置からのアクセス要求がすぐに送信される可能性は低い。この意味で、上記期間における記憶装置2cのデータの先読みによって得られるアクセス応答速度の向上効果は、あまり高くない。
これに対して、上記のように、制御部14は、装置管理情報13aに省電力期間が設定されている記憶装置2cのデータD3をデータ管理情報13bから削除する。これにより、省電力モードに設定されている記憶装置2cに対して、即座にホスト装置からアクセスが要求される可能性が低いデータD3を先読みするためにストレージ制御装置1がアクセスするという事態が回避される。すなわち、必要性が低いタイミングで記憶装置2cにおいて省電力モードが解除されることがなくなり、その分だけ記憶装置2cの消費電力が削減される。したがって、ストレージ装置での消費電力を低減することができる。また、アクセス応答速度の向上効果が低いデータが2次キャッシュ12に格納されなくなるので、2次キャッシュ12の使用効率が向上する。
[第2の実施の形態]
図2は、ストレージ装置のハードウェア例を示す図である。ストレージ装置100とホスト装置200との間は、SAS(Serial Attached SCSI)やファイバチャネル(FC:Fibre Channel)などのケーブルを用いて接続されている。また、ストレージ装置100とホスト装置200とをファイバチャネルやiSCSI(Internet Small Computer System Interface)などを用いたSAN(Storage Area Network)を介して接続してもよい。
ストレージ装置100は、CM(Controller Module)101およびDE(Drive Enclosure)102を有する。ストレージ装置100は、複数のCMを有していてもよいし、複数のDEを有していてもよい。CM101は、ホスト装置200からの要求に応じたDE102に対するデータアクセス、ストレージ装置100内のハードウェアモジュールの動作などを制御する。
DE102は、ホスト装置200からのアクセス対象となる記憶装置を、それぞれ複数有する。本実施の形態では、DE102には、このような記憶装置としてHDDが搭載される。
なお、CM101は、図1のストレージ制御装置1の一例であり、DE102が有するHDDは、図1の記憶装置2a〜2cの一例である。
CM101は、プロセッサ103、RAM104、SSD(Solid State Drive)105、CA(Channel Adapter)106、DI(Drive Interface)107および読み取り装置108を有する。
プロセッサ103は、CM101の情報処理を制御する。プロセッサ103は、複数のプロセッシング要素を含むマルチプロセッサであってもよい。
RAM104は、CM101の主記憶装置である。RAM104は、プロセッサ103に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM104は、プロセッサ103による処理に用いる各種データを記憶する。
SSD105は、CM101の補助記憶装置である。SSD105は、不揮発性の半導体メモリである。SSD105には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、CM101は、補助記憶装置として、SSD105の代わりにHDDを備えていてもよい。
CA106は、ホスト装置200と通信するためのインタフェースである。DI107は、DE102と通信するためのインタフェースである。
読み取り装置108は、可搬型の記録媒体108aに記録されたプログラムやデータを読み取る装置である。記録媒体108aとして、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。また、記録媒体として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。読み取り装置108は、例えば、プロセッサ103からの命令に従って、記録媒体108aから読み取ったプログラムやデータをプロセッサ103に送信する。
ここで、DE102が有するHDDのそれぞれの記憶領域は、例えば、RAIDとして管理される。RAIDが適用されるHDDの集合は、RAIDグループという単位で管理される。また、RAIDグループには、ホスト装置200からのアクセス対象となる1つ以上の論理ボリュームが設定され、各論理ボリュームにはLUN(Logical Unit Number)が割り当てられている。ホスト装置200は、LUNおよび論理ボリュームのLBA(Logical Block Address)を指定してアクセス処理を行う。
図3は、ストレージ装置が有するCMの機能例を示す図である。ストレージ装置100のCM101は、1次キャッシュ111、2次キャッシュ112、管理情報記憶部120、アクセス制御部130および省電力制御部140を有する。
1次キャッシュ111および2次キャッシュ112は、ホスト装置200からのアクセス要求に応じてDE102にアクセスする際のキャッシュ領域として利用される。2次キャッシュ112は、DE102内の記憶装置(HDD)よりアクセス性能の高い記憶装置に確保された記憶領域として実装され、本実施の形態では、SSD105に確保された記憶領域として実装される。なお、2次キャッシュ112の記憶領域が確保されるSSDは、CM101の補助記憶装置として用いられるSSD105とは別のSSDであってもよい。1次キャッシュ111は、2次キャッシュ112を実現する記憶装置よりアクセス性能の高い記憶装置に確保された記憶領域として実装され、本実施の形態ではRAM104に確保された記憶領域として実装される。
管理情報記憶部120は、例えば、RAM104またはSSD105に確保した記憶領域として実装される。管理情報記憶部120は、アクセス制御部130、先読み制御部131および省電力制御部140の処理に利用される各種の管理情報を記憶する。例えば、管理情報記憶部120は、RAIDグループテーブル、省電力管理テーブル、1次キャッシュテーブル、2次キャッシュテーブル、カウントテーブルおよびステージングテーブルを記憶する。
RAIDグループテーブルには、RAIDグループに属するHDDの情報などのRAIDグループの定義情報が登録される。省電力管理テーブルには、省電力モードを実行する期間の情報が登録される。1次キャッシュテーブルには、1次キャッシュ111に格納されているデータに関する情報が登録される。2次キャッシュテーブルには、2次キャッシュ112に格納されているデータに関する情報が登録される。カウントテーブルには、データ毎に1次キャッシュ111から追い出された回数を示す情報が登録される。ステージングテーブルには、先読み処理の対象データを示す情報が登録される。
また、管理情報記憶部120は、先読み処理の対象データを決定するための閾値を記憶する。閾値は、1次キャッシュから追い出された回数を示し、例えば3回である。
アクセス制御部130および省電力制御部140の処理は、例えば、プロセッサ103が所定のプログラムを実行することで実現される。
アクセス制御部130は、ホスト装置200からのアクセス要求に応じたDE102内のHDDに対するアクセス制御を実行する。例えば、アクセス制御部130は、ホスト装置200からのアクセス要求に応じてDE102内のHDDにアクセスする際、1次キャッシュ111および2次キャッシュ112を利用する。アクセス制御部130は、例えば、LRU(Least Recently Used)により1次キャッシュ111および2次キャッシュ112を用いたキャッシュ制御を行う。
アクセス制御部130は、ホスト装置200から読み出し要求されたデータが1次キャッシュ111にも2次キャッシュ112にも記憶されていない場合、このデータをDE102内の対応するHDDから読み出す。アクセス制御部130は、読み出したデータを1次キャッシュ111と2次キャッシュ112とに格納するとともに、ホスト装置200に送信する。また、アクセス制御部130は、ホスト装置200から読み出しが要求されたデータが1次キャッシュ111に記憶されていないが2次キャッシュ112に記憶されている場合、このデータを2次キャッシュ112から1次キャッシュ111にコピーするとともにホスト装置200に送信する。
なお、これ以後、DE102のHDDから読み出したデータを1次キャッシュ111および2次キャッシュ112に格納する処理、および、2次キャッシュ112に記憶されたデータを1次キャッシュ111にコピーする処理を、「ステージング」と記載する場合がある。
アクセス制御部130は、1次キャッシュ111にステージングする際に1次キャッシュ111に空き領域がない場合には、1次キャッシュ111に記憶されたデータのうち最終アクセス時から最も時間が経過しているデータを1次キャッシュ111から追い出す。その際、アクセス制御部130は、カウントテーブル内の追い出したデータに対応する追い出し回数の値をインクリメントする。また、アクセス制御部130は、2次キャッシュ112にステージングする際に2次キャッシュ112に空き領域がない場合には、2次キャッシュ112に記憶されたデータのうち最終アクセス時から最も時間が経過しているデータを2次キャッシュ112から追い出す。
また、アクセス制御部130は、DE102内のHDDをRAIDによって管理する。例えば、アクセス制御部130は、RAIDグループに設定された論理ボリューム内のデータをDE102内のHDDから読み出す場合、RAID管理テーブルに登録された当該RAIDグループの定義情報に基づいて、読み出し元のHDDおよびアドレスを判別する。
また、アクセス制御部130は、先読み制御部131を有する。先読み制御部131は、カウントテーブルに基づいて、1次キャッシュ111から追い出された回数が所定の閾値を超えたデータに対応するレコードをステージングテーブルに登録する。また、先読み制御部131は、定期的にステージングテーブルを参照し、ステージングテーブルに登録された先頭から所定個数のレコードに対応するデータを、DE102から2次キャッシュ112にステージングする。
ステージングテーブルに基づくデータのステージングは、当該データに対するホスト装置200からのアクセス要求とは非同期に行われる、いわゆる「先読み処理」である。すなわち、キャッシュ領域から所定回数以上追い出されたデータは、その後に再度ホスト装置200からアクセスが要求されてキャッシュ領域にステージングされる可能性が高い。このため、このようなデータを2次キャッシュ112に先読みしておくことで、その後にホスト装置200から当該データに対するアクセス要求を受けた場合の応答速度を向上させることができる。
なお、ステージングテーブルに基づいてステージングされたデータについては、ステージング後にごく短時間でホスト装置200からアクセスが要求される可能性は低い。このため、ステージングテーブルに基づくステージングは、例えば、1次キャッシュ111および2次キャッシュ112でキャッシュミスが発生したことに伴うステージングより、実行の優先度が低い。また、キャッシュ領域への先読み処理の他の例としては、ホスト装置200からのアクセスがシーケンシャルアクセスである場合に、アクセスが予想されるデータをキャッシュ領域にステージングする処理がある。ステージングテーブルに基づくステージングは、このようなシーケンシャルアクセスを検知したことに伴うステージングより、実行の優先度が低い。
また、先読み制御部131によって先読みされたデータを、2次キャッシュ112だけでなく1次キャッシュ111にもステージングしてもよい。ただし、上記のようにこのデータに対して即座にホスト装置200からアクセスが要求される可能性は低い。このため、このデータを2次キャッシュ112にのみステージングし、それよりアクセス要求の緊急性が高いデータが1次キャッシュ111に残るようにすることで、キャッシュ領域の使用効率が高まり、全体としてアクセス応答性能を向上させることができる。また、一般的に、1次キャッシュ111より2次キャッシュ112の容量の方が大きい。このため、先読み制御部131によって先読みされたデータのようなアクセス要求の緊急性が高いとは言えないデータを2次キャッシュ112に格納したとしても、キャッシュ領域の使用効率は必ずしも悪化しない。すなわち、先読み制御部131によって先読みされたデータを2次キャッシュ112にのみステージングすることで、キャッシュ容量の使用効率とアクセス応答性能とをバランスをとりながら向上させることができる。
省電力制御部140は、省電力管理テーブルに設定されたスケジュールにしたがって、DE102内の各HDDの動作モードを通常モードと省電力モードのいずれかに制御する。省電力制御部140は、HDDを通常モードにする場合、HDDに対してスピンアップコマンドを送信する。これにより、HDDのディスクが回転する。また、省電力制御部140は、HDDの電源がOFFになっている場合、WOL(Wake On LAN)機能を用いてそのHDDの電源をONにし、HDDのディスクを回転させてもよい。なお、通常モードをモータONと記載する場合がある。
一方、省電力モードには、HDDのディスクの回転を停止させるモード(モータOFF)とHDDに対する電力供給を停止させるモード(電源OFF)がある。モータOFFは、電源OFFになっておらず、待機状態になっているモードである。省電力制御部140は、モータOFFにする場合、スピンダウンコマンドを制御対象のHDDに送信する。これにより、HDDのディスクの回転が停止される。また、省電力制御部140は、電源OFFにする場合、電源OFFのコマンドを制御対象のHDDに送信する。これにより、HDDに対する電力供給が停止する。
省電力管理テーブルには、RAIDグループを単位として、HDDを省電力モードに設定する期間がユーザの操作によって設定される。ユーザは、例えば、あるRAIDグループに設定された各論理ボリュームへのアクセスが行われない期間に、そのRAIDグループに属するHDDを省電力モードに設定して、それらのHDDにおける消費電力を削減することができる。
ところで、先読み制御部131による先読み処理と省電力制御部140による制御処理とが、互いに連携されずに並行して実行される場合には、次のような問題が生じる。先読み制御部131による先読み処理は、先読み対象のデータが格納されたHDDについての省電力モードのスケジュールとは関係なく実行される。このため、データが格納されたHDDが省電力モードに設定されている期間であるにもかかわらず、先読み制御部131が先読みのためにこのHDDにアクセスする可能性がある。この場合、アクセスされたHDDは自動的に省電力モードから通常モードに遷移する。
上記のように、HDDが省電力モードに設定されている期間には、ホスト装置200からこのHDD内のデータへのアクセスが要求される可能性は低い。それにもかかわらず、当該データを先読みするためにHDDが通常モードに遷移してしまうので、HDDが無駄な電力を消費してしまう。しかも、HDDは一旦通常モードに遷移すると所定の時間通常モードのままになるので、消費電力が増大してしまう。このように、アクセスされる可能性の低いHDDが通常モードに遷移してしまい、無駄な電力が消費されてストレージ装置100の消費電力が増加することが問題となる。
さらに、省電力モードの設定期間が終わるまでホスト装置200からアクセスが要求される可能性の低いデータが2次キャッシュ112に格納されてしまうので、2次キャッシュ112の使用効率が低下することも問題となる。
このような問題に対し、省電力制御部140は上記処理に加え、省電力モードに設定されているHDD内のデータに対する先読み制御部131による先読み処理を実行させないための処理(以下、「無効化処理」という)の実行をアクセス制御部130に依頼する。無効化処理は、少なくとも、省電力モードに設定されているHDD内のデータに対応するレコードをステージングテーブルから削除する処理を含む。これにより、省電力モードが設定されているHDDに対して先読み制御部131がアクセスすることが防止され、そのHDDで無駄な電力が消費される事態が回避される。また、2次キャッシュ112の使用効率も改善される。
さらに、省電力制御部140は、省電力管理テーブルにスケジュールが設定されているRAIDグループの属するHDDのうち、通常モードに設定されているHDD内のデータに対する先読み制御部131による先読み処理が実行されやすくするための処理(以下、「加点処理」という)をアクセス制御部130に指示する。加点処理とは、上記のHDDに格納されているデータについてのカウントテーブルにおける追い出し回数を増加させる処理である。
次に、管理情報記憶部120に記憶される各種の管理情報について説明する。
図4は、RAIDグループテーブルの例を示す図である。RAIDグループテーブル121は、管理情報記憶部120に格納される。RAIDグループテーブル121には、RAIDグループごとにレコードが作成される。各レコードは、RAIDグループID、RAIDレベル、ディスク番号、LUN、LBAおよび物理アドレスの項目を含む。
RAIDグループIDの項目には、RAIDグループを識別する情報が登録される。RAIDレベルの項目には、RAIDグループおけるRAIDレベルを示す情報が登録される。例えば、RAIDレベルには、RAID−1、RAID−4、RAID−5などが登録される。ディスク番号の項目には、RAIDグループに属するHDDを識別するためのディスク番号が登録される。LUNの項目には、RAIDグループに設定された論理ボリュームを識別するためのLUNが登録される。LBAの項目には、論理ボリュームにおける末尾のLBAが登録され、これは論理ボリュームのサイズを示す。なお、RAIDグループに複数の論理ボリュームが設定される場合、LUNとLBAの各項目の組が、設定された論理ボリュームの数だけレコードに登録される。物理アドレスの項目には、LUNおよびLBAの項目に対応するRAIDグループにおける物理記憶領域を示す情報が登録される。
図5は、省電力管理テーブルの例を示す図である。省電力管理テーブル122は、管理情報記憶部120に格納される。省電力管理テーブル122には、省電力モードのスケジュールが設定されるRAIDグループごとにレコードが作成される。各レコードは、RAIDグループID、モータOFF期間および電源OFF期間の項目を含む。
RAIDグループIDの項目には、RAIDグループを識別する情報が登録される。モータOFF期間の項目には、RAIDグループに属するHDDをモータOFFにする期間が登録される。電源OFF期間の項目には、RAIDグループに属するHDDを電源OFFにする期間が登録される。なお、1つのレコードには、モータOFF期間と電源OFF期間のうちの一方の項目にのみ情報が登録される。また、省電力モードに設定しないRAIDグループについては省電力管理テーブル122には登録されない。
省電力管理テーブル122に登録される情報は、例えば、ユーザにより、RAIDグループに属するHDD内のデータに対してホスト装置200からアクセスされない期間を予測して設定される。すなわち、省電力モード(モータOFF、電源OFF)のスケジュールが登録されたRAIDグループに属するHDD内のデータは、モータOFF期間または電源OFF期間が終了するまではアクセスされないデータである。
図6は、1次キャッシュテーブルの例を示す図である。1次キャッシュテーブル123は、管理情報記憶部120に格納される。1次キャッシュテーブル123には、1次キャッシュ111に格納されたデータ(ブロック)ごとにレコードが作成される。各レコードは、LUN、LBAおよび1次キャッシュアドレスの項目を含む。
LUNの項目には、対応するデータが属する論理ボリュームを示すLUNが登録される。LBAの項目には、対応するデータの論理ボリュームにおけるLBAが登録される。1次キャッシュアドレスの項目には、1次キャッシュ111における対応データの格納先記憶領域を示すアドレスが登録される。
アクセス制御部130は、1次キャッシュテーブル123を参照することにより、LUNおよびLBAから特定されるデータが1次キャッシュ111に格納されているか否かを判定することができる。また、アクセス制御部130は、1次キャッシュアドレスの項目を参照することにより、対応するデータの1次キャッシュ111における位置を認識することができる。
また、1次キャッシュテーブル123のレコードには順位が付与されている。ホスト装置200からデータのアクセスが要求されると、このデータに対応するレコードは1次キャッシュテーブル123の先頭に移動される。このような処理により、1次キャッシュテーブル123の最後尾には、最終アクセスからの経過時間が最も長いデータに対応するレコードが登録される。したがって、1次キャッシュテーブル123の最後尾のレコードに対応するデータは、1次キャッシュ111から最優先で追い出されるデータとなる。
図7は、2次キャッシュテーブルの例を示す図である。2次キャッシュテーブル124は、管理情報記憶部120に格納される。2次キャッシュテーブル124には、2次キャッシュ112に格納されたデータ(ブロック)ごとにレコードが作成される。各レコードは、LUN、LBAおよび2次キャッシュアドレスの項目を含む。
LUNの項目には、対応するデータが属する論理ボリュームを示すLUNが登録される。LBAの項目には、対応するデータの論理ボリュームにおけるLBAが登録される。2次キャッシュアドレスの項目には、2次キャッシュ112における対応データの格納先記憶領域を示すアドレスが登録される。
アクセス制御部130は、2次キャッシュテーブル124を参照することにより、LUNおよびLBAから特定されるデータが2次キャッシュ112に格納されているか否かを判定することができる。また、アクセス制御部130は、2次キャッシュアドレスの項目を参照することにより、対応するデータの2次キャッシュ112における位置を認識することができる。
また、2次キャッシュテーブル124のレコードには順位が付与されている。ホスト装置200からデータのアクセスが要求されると、このデータに対応するレコードは2次キャッシュテーブル124の先頭に移動される。このような処理により、2次キャッシュテーブル124の最後尾には、最終アクセスからの経過時間が最も長いデータに対応するレコードが登録される。したがって、2次キャッシュテーブル124の最後尾のレコードに対応するデータは、2次キャッシュ112から最優先で追い出されるデータとなる。
なお、ライトバック方式で書き込み制御が行われる場合、1次キャッシュテーブル123および2次キャッシュテーブル124の各レコードには、ステータスの項目が追加される。ステータスの項目には、対応するキャッシュ領域において更新されたデータが下位層の記憶領域に反映済みであるか否かを示すステータス情報が登録される。
図8は、カウントテーブルの例を示す図である。カウントテーブル125は、管理情報記憶部120に格納される。カウントテーブル125には、キャッシュ領域に格納されたことがあるデータ(ブロック)ごとにレコードが作成される。各レコードは、LUN、LBAおよび追い出し回数の項目を含む。
LUNの項目には、対応するデータが属する論理ボリュームを示すLUNが登録される。LBAの項目には、対応するデータの論理ボリュームにおけるLBAが登録される。追い出し回数の項目には、LUNおよびLBAから特定されるデータが1次キャッシュ111から追い出された回数が登録される。
アクセス制御部130は、1次キャッシュ111からデータを追い出す(デステージングする)際に、当該データに対応するレコードがカウントテーブル125に登録されているかを判定する。当該データに対応するレコードが登録されていない場合、アクセス制御部130は、当該データに対応するレコードをカウントテーブル125に追加する。アクセス制御部130は、追加したレコードに当該データについてのLUNおよびLBAを登録するとともに、追加したレコードの追い出し回数の項目に初期値“1”を登録する。一方、当該データに対応するレコードがカウントテーブル125に登録済みであった場合、アクセス制御部130は、そのレコードの追い出し回数の値をインクリメントする。
図9は、ステージングテーブルの例を示す図である。ステージングテーブル126は、管理情報記憶部120に格納される。ステージングテーブル126には、データ(ブロック)ごとにレコードが登録される。各レコードは、LUNおよびLBAの項目を含む。LUNの項目には、対応するデータが属する論理ボリュームを示すLUNが登録される。LBAの項目には、対応するデータの論理ボリュームにおけるLBAが登録される。
ステージングテーブル126に登録されるLUNおよびLBAから特定されるデータは、先読み制御部131による先読み処理の対象データである。また、ステージングテーブル126のレコードには順位が付与されており、先頭のレコードに対応するデータが先読みの優先度が最も高いデータとなる。
図10は、無効化処理および加点処理の実行を依頼する際に参照される情報を示す図である。省電力制御部140は、省電力管理テーブル122を参照することで、RAIDグループ毎に、省電力モードに設定される期間内か期間外かを判定する。省電力制御部140は、判定した内容を示す一覧表を生成する。
図10(A)は、省電力制御部140により生成される省電力モード対象一覧表151の例を示す図である。省電力モード対象一覧表151には、モータOFFまたは電源OFFに設定される期間内のRAIDグループのIDが登録される。省電力制御部140は、省電力モード対象一覧表151に基づいて、アクセス制御部130に無効化処理を依頼する。
図10(B)は、省電力制御部140により生成された省電力モード対象外一覧表152の例を示す図である。省電力モード対象外一覧表152には、省電力モードに設定される期間外(すなわち、通常モードに設定される期間内)のRAIDグループのIDが記録される。省電力制御部140は、省電力モード対象外一覧表152に基づいて、アクセス制御部130に加点処理を依頼する。
なお、図示しないが、RAIDグループに属さないHDDについても、省電力モード対象外一覧表152と同様の一覧表が生成される。この場合、一覧表には、RAIDグループIDの代わりにディスク番号が記録される。
図11は、ステージングテーブルへのレコード登録処理の例を示すフローチャートである。以下、図11の処理をステップ番号に沿って説明する。なお、図11の処理は、先読み制御部131によって定期的に実行される。例えば、先読み制御部131は図11の処理を30秒間隔で実行する。
(S11)先読み制御部131は、カウントテーブル125を参照し、追い出し回数が所定の閾値を超えたレコードがあるかを判定する。追い出し回数が閾値を超えたレコードがある場合、処理をステップS12に進める。追い出し回数が閾値を超えたレコードがない場合、処理を終了する。
(S12)先読み制御部131は、2次キャッシュテーブル124を参照し、ステップS11で追い出し回数が閾値を超えたと判定されたレコードから、対応するデータが2次キャッシュ112に格納されているレコードを除外する。
(S13)先読み制御部131は、残りのレコード内のLUNおよびLBAをそれぞれ登録したレコードを、ステージングテーブル126の末尾に登録する。また、先読み制御部131は、これらのレコードに対応するカウントテーブル125のレコードを削除する。なお、カウントテーブル125内の対応するレコードを削除する代わりに、カウントテーブル125内の対応するレコードの追い出し回数を0にリセットしてもよい。
図12は、省電力制御処理の例(その1)を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。なお、図12の処理は定期的に実行される。例えば、図12の処理は30秒間隔で実行される。
(S21)省電力制御部140は、省電力管理テーブル122のモータOFF期間および電源OFF期間を参照し、現在の時刻に基づいて、RAIDグループごとに、省電力モードに設定される期間内であるか否かを判定する。そして、省電力制御部140は、省電力モードに設定される期間内であるRAIDグループを示す省電力モード対象一覧表151を生成する。
(S22)省電力制御部140は、ステップS21の判定結果に基づいて、省電力モードに設定される期間外であるRAIDグループを示す省電力モード対象外一覧表152を生成する。
(S23)省電力制御部140は、省電力モード対象一覧表151からRAIDグループを1つ選択する。省電力制御部140は、選択したRAIDグループのIDをアクセス制御部130に通知して、それらのRAIDグループの無効化処理の実行をアクセス制御部130に依頼する。
(S24)アクセス制御部130は、ステップS23の依頼に応じて、通知されたRAIDグループに設定された論理ボリュームのデータについて、無効化処理を実行する。なお、無効化処理の内容については図14で説明する。無効化処理が完了した場合、アクセス制御部130は、その旨を省電力制御部140に通知する。
(S25)省電力制御部140は、省電力モード対象一覧表151に記録されているRAIDグループについて、全て処理済みか否かを判定する。全て処理済みの場合、処理をステップS26に進める。全て処理済みでない場合、処理をステップS23に進める。
(S26)省電力制御部140は、省電力モード対象外一覧表152からRAIDグループを1つ選択する。省電力制御部140は、選択したRAIDグループのIDをアクセス制御部130に通知して、それらのRAIDグループの加点処理の実行をアクセス制御部130に依頼する。
(S27)アクセス制御部130は、カウントテーブル125を参照し、ステップS26で通知されたRAIDグループに設定された論理ボリュームに含まれるデータの追い出し回数に、所定数を加算する。具体的には、アクセス制御部130は、RAIDグループテーブル121を参照し、ステップS26で通知されたRAIDグループに設定された論理ボリュームのLUNを特定する。アクセス制御部130は、特定したLUNが登録されたレコードがカウントテーブル125に存在するか否かを判定する。特定したLUNが登録されたレコードが存在する場合、アクセス制御部130は、それらのレコードにおける追い出し回数の値に所定数を加算する。以上の加算処理が完了した場合、アクセス制御部130は、その旨を省電力制御部140に通知する。
(S28)省電力制御部140は、省電力モード対象外一覧表152に記録されているRAIDグループについて、全て処理済みか否かを判定する。全て処理済みの場合、処理をステップS29に進める。全て処理済みでない場合、処理をステップS26に進める。
(S29)省電力制御部140は、省電力管理テーブル122に設定されたスケジュールに基づくHDDの動作モード制御処理を実行する。具体的には、次のような処理が実行される。
省電力制御部140は、省電力管理テーブル122を参照して、現在の時刻がモータOFFの期間に該当するRAIDグループを特定する。省電力制御部140は、RAIDグループテーブル121を参照して、特定したRAIDグループに属するHDDを特定し、特定したHDDにスピンダウンコマンドを送信する。これにより、モータOFFのRAIDグループに属するHDDのディスクの回転が停止される。なお、すでにモータOFFになっているHDDにはスピンダウンコマンドが送信されなくてもよい。
また、省電力制御部140は、省電力管理テーブル122を参照して、現在の時刻が電源OFFの期間に該当するRAIDグループを特定する。省電力制御部140は、RAIDグループテーブル121を参照して、特定したRAIDグループに属するHDDを特定し、特定したHDDに電源OFFのコマンドを送信する。これにより、電源OFFのRAIDグループに属するHDDに対する電力供給が停止する。なお、すでに電源OFFになっているHDDには電源OFFのコマンドが送信されなくてもよい。
また、省電力制御部140は、省電力管理テーブル122を参照して、現在の時刻がモータOFFの期間にも電源OFFの期間にも該当しない(すなわち、通常モードの期間に該当する)RAIDグループを特定する。省電力制御部140は、RAIDグループテーブル121を参照して、特定したRAIDグループに属するHDDを特定し、特定したHDDにスピンアップコマンドを送信する。これにより、モータOFFまたは電源OFFになっているHDDが通常モードに遷移する。なお、すでに通常モードになっているHDDにはスピンアップコマンドが送信されなくてもよい。
そして、処理を図13のステップS31に進める。
図13は、省電力制御処理の例(その2)を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
(S31)省電力制御部140は、DE102に搭載されたHDDのうち、RAIDグループに属していないHDDを特定する。
(S32)RAIDグループに属していないHDDは、ホスト装置200からのアクセス対象にはならない。このため、省電力制御部140は、ステップS31で特定したHDDを省電力モードに設定する。例えば、省電力制御部140は、ステップS31で特定したHDDに対して電源OFFのコマンドを送信する。そして、処理を終了する。
図14は、無効化処理の例を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。図14に示す処理は、ステップS24の処理に対応する。
(S41)アクセス制御部130の先読み制御部131は、ステップS23で通知されたRAIDグループについてのデータの情報がステージングテーブル126に存在する場合、その情報を削除する。
具体的には、先読み制御部131は、RAIDグループテーブル121を参照し、通知されたRAIDグループに設定された論理ボリュームのLUNを特定する。先読み制御部131は、ステージングテーブル126から、特定したLUNが登録されたレコードを特定し、特定したレコードをステージングテーブル126から削除する。これにより、先読み制御部131は、省電力管理テーブル122に省電力モードのスケジュールが登録され、省電力モードにする期間に入ったRAIDグループに属するHDDが格納しているデータについて、先読み処理を実行できなくなる。
(S42)アクセス制御部130は、ステップS23で通知されたRAIDグループについてのデータが2次キャッシュ112に格納されている場合、そのデータを無効化する。
具体的には、アクセス制御部130は、2次キャッシュテーブル124を参照し、ステップS41で特定したLUNが登録されたレコードが2次キャッシュテーブル124に存在するかを判定する。該当レコードが存在する場合、アクセス制御部130は、該当レコードを2次キャッシュテーブル124から削除する。これにより、該当レコードに対応する2次キャッシュ112内のデータが無効化され、これらのデータが格納されていた領域が解放される。
(S43)アクセス制御部130は、ステップS23で通知されたRAIDグループについてのデータが1次キャッシュ111に格納されている場合、そのデータを無効化する。
具体的には、アクセス制御部130は、1次キャッシュテーブル123を参照し、ステップS41で特定したLUNが登録されたレコードが1次キャッシュテーブル123に存在するかを判定する。該当レコードが存在する場合、アクセス制御部130は、該当レコードを1次キャッシュテーブル123から削除する。これにより、該当レコードに対応する1次キャッシュ111内のデータが無効化され、これらのデータが格納されていた領域が解放される。
なお、ステップS42とステップS43の処理順は逆であってもよい。一方、ステップS41は、ステップS42,S43の前に実行されることが望ましい。これにより、省電力モードに設定される期間に該当するHDDからのデータ読み出しを優先的に抑止することができ、ストレージ装置100の消費電力を確実に低減することができる。
以上の図12〜図14の処理において、ステップS41では、省電力モード対象一覧表151に記録されたRAIDグループに属するHDDに格納されたデータのレコードが、ステージングテーブル126から削除される。これにより、省電力モードに設定されているHDDに格納されたデータは、先読み制御部131による先読み処理の対象外となる。よって、ホスト装置200からすぐにアクセスが要求される可能性が低いデータを先読みするために、省電力モードに設定されたHDDに対するアクセスが発生することがなくなり、省電力モードが解除されることが防止される。したがって、ストレージ装置100の消費電力を低減できる。
また、ステップS42,S43では、省電力モード対象一覧表151に記録されたRAIDグループに属するHDDに記録されたデータが、1次キャッシュ111および2次キャッシュ112から実質的に削除される。これにより、1次キャッシュ111および2次キャッシュ112の記憶領域にすぐにアクセスが要求される可能性がより高いデータを格納することができるようになり、キャッシュ領域の利用効率が向上し、ホスト装置200に対するアクセス応答性能も向上する。
また、ステップS27では、省電力モード対象外一覧表152に記録されたRAIDグループに属するHDDに格納されたデータについて、追い出し回数が増加される。これにより、これらのデータを先読み制御部131による先読み処理の対象に該当しやすくできる。これらのデータは、通常モードに設定されるようにスケジューリングされたHDDに格納されたものであるので、ホスト装置200からすぐにアクセスが要求される可能性が高い。そのため、これらのデータを先読み処理の対象に該当しやすくし、2次キャッシュ112に予め格納することで、迅速なアクセス処理を実現できる。
また、ステップS32では、RAIDグループに属さないHDDが省電力モードに設定される。RAIDグループに属さないHDDはホスト装置200からのアクセス対象とならないので、これらのHDDを省電力モードに設定することで、アクセス応答性能を損なうことなくストレージ装置100の消費電力を低減できる。
図15は、先読み制御部による先読み処理の例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。なお、図15の処理は定期的に実行される。例えば、図15の処理は30秒間隔で実行される。また、図15の処理は、例えば、キャッシュミスの発生に伴う1次キャッシュ111および2次キャッシュ112へのステージングより実行優先度が低い。したがって、図15の処理は、少なくとも、キャッシュミスの発生に伴うステージングが要求されていない期間に実行されるように制御されることが望ましい。
(S51)先読み制御部131は、ステージングテーブル126の先頭から所定数のレコードを選択する。
(S52)先読み制御部131は、ステップS51で選択したレコードに対応するデータを2次キャッシュ112へステージングする。ここで、図14のステップS41の処理により、ステージングテーブル126からは、省電力モードに設定されたHDDに格納されたデータに対応するレコードが削除されている。このため、ステップS52では、省電力モードに設定されているHDDに対するアクセスは発生しない。
(S53)先読み制御部131は、ステップS51で選択したレコードをステージングテーブル126から削除する。
なお、上記の第2の実施の形態では、省電力制御部140は、省電力管理テーブル122にスケジュールが登録されたRAIDグループのうち、省電力モードに設定される期間内であるRAIDグループに属するHDD内のデータのレコードを、ステージングテーブル126から削除した。しかし、他の例として、省電力制御部140は、省電力管理テーブル122にスケジュールが登録されたすべてのRAIDグループに属するHDD内のデータのレコードを、ステージングテーブル126から削除してもよい。ただし、前者の処理では、対応するRAIDグループが省電力モードに設定されていない期間にステージングテーブル126に登録されたデータが2次キャッシュ112に先読みされる可能性が残る。このため、HDDでの消費電力を増加させることなく、アクセス応答性能を向上させることができる。また、上記の加点処理を実行可能にもなる。
なお、第1の実施の形態の情報処理は、ストレージ制御装置1に用いられるプロセッサに、プログラムを実行させることで実現できる。第2の実施の形態の情報処理は、プロセッサ103にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体に記録できる。例えば、プログラムを記録した記録媒体を配布することで、プログラムを流通させることができる。
また、アクセス制御部130および省電力制御部140に相当する機能を実現するプログラムを別個のプログラムとし、各プログラムを別個に配布してもよい。また、アクセス制御部130および省電力制御部140の機能が別個のコンピュータにより実現されてもよい。コンピュータは、例えば、記録媒体に記録されたプログラムを、RAM104やSSD105などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
なお、各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
1 ストレージ制御装置
2a,2b,2c 記憶装置
11 1次キャッシュ
12 2次キャッシュ
13 記憶部
13a 装置管理情報
13b データ管理情報
13c 回数管理情報
14 制御部

Claims (7)

  1. キャッシュを備え、ホスト装置からの前記キャッシュを介した複数の記憶装置に対するアクセスを制御するストレージ制御装置において、
    前記複数の記憶装置のうち省電力モードで動作させる記憶装置の識別情報と当該記憶装置を前記省電力モードで動作させる期間を示す省電力期間とが登録された装置管理情報を記憶する記憶部と、
    前記装置管理情報に登録された記憶装置のうち、現在時刻が前記省電力期間に含まれる記憶装置の動作モードを省電力モードに設定し、前記ホスト装置からのアクセスとは非同期のタイミングで前記複数の記憶装置のいずれかから前記キャッシュにコピーするための候補とするデータの識別情報が登録されたデータ管理情報から、前記装置管理情報に前記省電力期間が登録された記憶装置に格納されたデータの識別情報を削除する制御部と、
    を有するストレージ制御装置。
  2. 前記制御部は、前記装置管理情報に前記省電力期間が登録された記憶装置のうち、現在時刻が前記省電力期間に含まれる記憶装置に格納されたデータの識別情報を前記データ管理情報から削除する、
    請求項1記載のストレージ制御装置。
  3. 前記キャッシュは、ホスト装置との間でデータを入出力する1次キャッシュと、前記1次キャッシュとの間でデータを入出力する2次キャッシュとを含み、
    前記ストレージ制御装置は、前記ホスト装置からの前記1次キャッシュおよび前記2次キャッシュを介した前記複数の記憶装置に対するアクセスを制御し、
    前記制御部は、前記複数の記憶装置に記憶されたデータのうち、前記1次キャッシュまたは前記2次キャッシュから追い出された回数を示す追い出し回数が所定の閾値を超えたデータの識別情報を前記データ管理情報に登録し、
    前記データ管理情報に登録されたデータは、当該データに対する前記ホスト装置からのアクセスとは非同期のタイミングで前記複数の記憶装置のいずれかから前記2次キャッシュにコピーされる、
    請求項1または2記載のストレージ制御装置。
  4. 前記制御部は、前記装置管理情報に前記省電力期間が登録された記憶装置のうち、現在時刻が前記省電力期間に含まれない記憶装置に格納されたデータについて、前記データ管理情報へ登録するかを判定する際に参照する前記追い出し回数を所定値だけ加算する、
    請求項3記載のストレージ制御装置。
  5. 前記制御部は、前記装置管理情報に前記省電力期間が登録された記憶装置に格納されたデータの識別情報を前記データ管理情報から削除した後、当該データが前記キャッシュに格納されている場合には前記キャッシュにおける当該データを無効化する、
    請求項1乃至4のいずれか1項に記載のストレージ制御装置。
  6. 前記複数の記憶装置のそれぞれは、ハードディスクドライブであり、前記省電力モードに設定されたとき、少なくとも、自装置に搭載された磁気ディスクの回転を停止させる、
    請求項1乃至5のいずれか1項に記載のストレージ制御装置。
  7. キャッシュを備え、ホスト装置からの前記キャッシュを介した複数の記憶装置に対するアクセスを制御するとともに、前記複数の記憶装置のうち省電力モードで動作させる記憶装置の識別情報と当該記憶装置を前記省電力モードで動作させる期間を示す省電力期間とが登録された装置管理情報を記憶する記憶部から前記装置管理情報を読み取り可能なコンピュータに、
    前記装置管理情報に登録された記憶装置のうち、現在時刻が前記省電力期間に含まれる記憶装置の動作モードを省電力モードに設定し、
    前記ホスト装置からのアクセスとは非同期のタイミングで前記複数の記憶装置のいずれかから前記キャッシュにコピーするための候補とするデータの識別情報が登録されたデータ管理情報から、前記装置管理情報に前記省電力期間が登録された記憶装置に格納されたデータの識別情報を削除する、
    処理を実行させるストレージ制御プログラム。
JP2015006232A 2015-01-15 2015-01-15 ストレージ制御装置およびストレージ制御プログラム Active JP6417951B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015006232A JP6417951B2 (ja) 2015-01-15 2015-01-15 ストレージ制御装置およびストレージ制御プログラム
US14/946,615 US9696929B2 (en) 2015-01-15 2015-11-19 Storage control apparatus and computer-readable recording medium storing program for removing prefetches to storage devices currently in power-saving mode

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015006232A JP6417951B2 (ja) 2015-01-15 2015-01-15 ストレージ制御装置およびストレージ制御プログラム

Publications (2)

Publication Number Publication Date
JP2016133847A true JP2016133847A (ja) 2016-07-25
JP6417951B2 JP6417951B2 (ja) 2018-11-07

Family

ID=56407939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015006232A Active JP6417951B2 (ja) 2015-01-15 2015-01-15 ストレージ制御装置およびストレージ制御プログラム

Country Status (2)

Country Link
US (1) US9696929B2 (ja)
JP (1) JP6417951B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10684952B2 (en) 2018-03-19 2020-06-16 Kabushiki Kaisha Toshiba Disk device and disk device control method

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180173636A1 (en) * 2016-12-20 2018-06-21 Intel Corporation Increasing lifetime reliability for a cache memory
US10445004B2 (en) * 2017-03-30 2019-10-15 Pavilion Data Systems, Inc. Low latency metadata log
JP6898393B2 (ja) 2019-03-22 2021-07-07 株式会社日立製作所 ストレージシステム及びデータ転送方法
US10620868B1 (en) 2019-03-22 2020-04-14 Hitachi, Ltd. Storage system and data transfer method
US11487665B2 (en) * 2019-06-05 2022-11-01 Pure Storage, Inc. Tiered caching of data in a storage system
KR20210156061A (ko) * 2020-06-17 2021-12-24 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US11829642B2 (en) 2021-11-30 2023-11-28 Red Hat, Inc. Managing write requests for drives in cloud storage systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009032045A (ja) * 2007-07-27 2009-02-12 Hitachi Ltd Nasの消費電力を削減する方法及びその方法を用いた計算機システム
US20140258638A1 (en) * 2013-03-05 2014-09-11 Dot Hill Systems Corporation Method and apparatus for efficient read cache operation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10154101A (ja) 1996-11-26 1998-06-09 Toshiba Corp データ記憶システム及び同システムに適用するキャッシュ制御方法
JP2000250716A (ja) 1999-03-04 2000-09-14 Toshiba Corp 情報処理装置及びそのデータ格納方法
US7437438B2 (en) * 2001-12-27 2008-10-14 Hewlett-Packard Development Company, L.P. System and method for energy efficient data prefetching
US7707359B2 (en) * 2005-12-09 2010-04-27 Oracle America, Inc. Method and apparatus for selectively prefetching based on resource availability
US8301928B2 (en) * 2008-01-18 2012-10-30 Texas Instruments Incorporated Automatic wakeup handling on access in shared memory controller
GB2513042B (en) * 2013-01-15 2015-09-30 Imagination Tech Ltd Improved control of pre-fetch traffic
US9582282B2 (en) * 2014-07-17 2017-02-28 Arm Limited Prefetching using a prefetch lookup table identifying previously accessed cache lines

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009032045A (ja) * 2007-07-27 2009-02-12 Hitachi Ltd Nasの消費電力を削減する方法及びその方法を用いた計算機システム
US20140258638A1 (en) * 2013-03-05 2014-09-11 Dot Hill Systems Corporation Method and apparatus for efficient read cache operation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10684952B2 (en) 2018-03-19 2020-06-16 Kabushiki Kaisha Toshiba Disk device and disk device control method

Also Published As

Publication number Publication date
US9696929B2 (en) 2017-07-04
US20160210073A1 (en) 2016-07-21
JP6417951B2 (ja) 2018-11-07

Similar Documents

Publication Publication Date Title
JP6417951B2 (ja) ストレージ制御装置およびストレージ制御プログラム
US20190251023A1 (en) Host controlled hybrid storage device
Bostoen et al. Power-reduction techniques for data-center storage systems
US9086979B2 (en) Management of partial data segments in dual cache systems
JP5349897B2 (ja) ストレージシステム
US7979631B2 (en) Method of prefetching data in hard disk drive, recording medium including program to execute the method, and apparatus to perform the method
JP5951582B2 (ja) 外部キャッシュデバイスでのハイパーバイザのi/oステージング
US9323687B2 (en) Use of differing granularity heat maps for caching and migration
US20150113212A1 (en) Information device equipped with cache memories, apparatus and program using the same device
US9417808B2 (en) Promotion of partial data segments in flash cache
Bisson et al. A hybrid disk-aware spin-down algorithm with I/O subsystem support
US20130111160A1 (en) Selective space reclamation of data storage memory employing heat and relocation metrics
JP2017117179A (ja) 情報処理装置、キャッシュ制御プログラムおよびキャッシュ制御方法
KR20130024271A (ko) 하드 디스크 드라이브와 불휘발성 메모리를 포함하는 스토리지 시스템
US9471252B2 (en) Use of flash cache to improve tiered migration performance
US20170220476A1 (en) Systems and Methods for Data Caching in Storage Array Systems
Li et al. On the trade-offs among performance, energy, and endurance in a versatile hybrid drive
CN105684083A (zh) 数据存储设备的电力管理
Ou et al. Performance and power evaluation of flash-aware buffer algorithms
Lo et al. Optimizing swap space for improving process response after system resume
Lo et al. Improving response time after resuming by reorganizing swap space

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180810

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180924

R150 Certificate of patent or registration of utility model

Ref document number: 6417951

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150