JP2008276626A - 記憶制御装置及び記憶制御装置の制御方法 - Google Patents

記憶制御装置及び記憶制御装置の制御方法 Download PDF

Info

Publication number
JP2008276626A
JP2008276626A JP2007121379A JP2007121379A JP2008276626A JP 2008276626 A JP2008276626 A JP 2008276626A JP 2007121379 A JP2007121379 A JP 2007121379A JP 2007121379 A JP2007121379 A JP 2007121379A JP 2008276626 A JP2008276626 A JP 2008276626A
Authority
JP
Japan
Prior art keywords
storage
storage device
data
flash memory
control device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007121379A
Other languages
English (en)
Inventor
Akira Fujibayashi
昭 藤林
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 JP2007121379A priority Critical patent/JP2008276626A/ja
Priority to US11/968,776 priority patent/US20080276016A1/en
Publication of JP2008276626A publication Critical patent/JP2008276626A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3221Monitoring of peripheral devices of disk drive devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage 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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】本発明の記憶制御装置は、電力料金の時間帯による変化を利用し、ハードディスクとフラッシュメモリデバイスのような消費電力の異なる記憶デバイスの間で、データの格納先を制御する。
【解決手段】記憶制御装置1は、消費電力の異なるハードディスク6及びフラッシュメモリデバイス7を備える。スケジュール管理部8は、ホスト2によって利用されるデータの格納先を制御するためのスケジュールを管理する。電力料金の安い夜間に、ハードディスク6からフラッシュメモリデバイス7にデータをコピーする。電力料金の高い昼間は、フラッシュメモリデバイス7内のデータを用いて、ホスト2からのアクセスを処理する。次の夜では、フラッシュメモリデバイス7のデータとハードディスク6のデータとが一致するように、差分をコピーする。
【選択図】図1

Description

本発明は、記憶制御装置及び記憶制御装置の制御方法に関する。
例えば、企業等の組織では、多量のデータを管理するために、記憶制御装置を用いる。例えば、金融機関や病院等のような組織では、多くの顧客に関する売買データや診療データ等を長期間保存する必要があるため、信頼性が高く、かつ、大容量の記憶制御装置が必要とされる。高信頼性及び大容量の両方を満たす記憶制御装置では、例えば、多数のハードディスクドライブを備えており、RAID(Redundant Array of Independent Disks)に基づく記憶領域をホストに提供可能である。
企業等で長期間管理すべきデータは日々増大する。従って、記憶制御装置に搭載されるハードディスクドライブの数も増加する一方である。ハードディスクドライブは、よく知られているように、スピンドルモータで磁気ディスクを高速回転させながら、磁気ヘッドをシークさせてデータの読み書きを行う。このため、ハードディスクドライブは、半導体メモリのような記憶デバイスに比べて、消費電力が大きい。
記憶制御装置の記憶容量を大きくすればするほど、搭載されるハードディスクドライブの数が増大する。従って、記憶制御装置の消費電力が大きくなる。消費電力の増大につれて、記憶制御装置の総所有コスト(TCO)も大きくなる。
このため、MAID(Massive Array of Idle Disks)と呼ばれる技術では、使用されていないハードディスクを待機状態とすることにより、消費電力を低減させる。また、待機中のハードディスクをできるだけ速やかにスピンアップ状態に移行させて、応答性能を改善するようにした技術(特許文献1)や、論理ボリュームの稼働実績に応じてハードディスクの電力消費量を管理する技術(特許文献2)も提案されている。
特開2007−79749号公報 特開2007−79754号公報
上記従来技術では、ハードディスクドライブの電力消費量を低減できる。しかし、現在では、より一層の電力コストの低減が要求されている。ところで、近年では、新たな記憶デバイスとして、フラッシュメモリデバイスが注目されている。フラッシュメモリデバイスとハードディスクドライブとを比較すると、一般的に、フラッシュメモリデバイスの方が消費電力は少なく、かつ、データの読出し速度も速い。
しかし、フラッシュメモリデバイスでは、セルの物理的構造に起因して、書込み回数に制限を受けることがある。また、セルに蓄積された電荷は、時間の経過につれて減少するため、データを長期間にわたって保存するために、定期的にリフレッシュ動作を実行する必要がある。
記憶制御装置は、大量のデータを長期間安定して保存する必要があるため、フラッシュメモリデバイスをそのまま使用することは難しい。もしも、記憶制御装置にフラッシュメモリデバイスとハードディスクドライブとの両方を搭載できるとしても、ホストコンピュータからのアクセスがハードディスクドライブに集中するような場合には、記憶制御装置全体としての電力消費量を低減することができない。
そこで、本発明の目的は、電力コストを考慮して設定されるスケジュールに基づいて、データの格納先を、消費電力のそれぞれ異なる第1記憶デバイス及び第2記憶デバイスの間で切り替えることができるようにした記憶制御装置及び記憶制御装置の制御方法を提供することを目的とする。本発明の他の目的は、第1記憶デバイスの寿命に応じて、データの格納先を修正することができるようにした記憶制御装置及び記憶制御装置の制御方法を提供することにある。本発明の更なる目的は、後述する実施形態の記載から明らかになるであろう。
上記課題を解決すべく、本発明に従う、上位装置によって利用されるデータを記憶する記憶制御装置は、不揮発性の書換可能な記憶媒体を備え、かつ、消費電力が相対的に低い第1記憶デバイスと、不揮発性の書換可能な記憶媒体を備え、かつ、消費電力が相対的に高い第2記憶デバイスと、電力コストに基づいて所定データの格納先を制御するためのスケジュールを管理するスケジュール管理部と、第1記憶デバイス及び第2記憶デバイスの作動をそれぞれ制御するための制御部であって、スケジュールに基づいて、所定データの格納先を第1記憶デバイスと第2記憶デバイスとの間で変更するための制御部と、を備えている。
本発明の実施形態では、制御部は、第1記憶デバイスを用いて、上位装置からのアクセス要求を処理することができる。
本発明の実施形態では、制御部は、スケジュールに基づいて、所定データの格納先を、電力コストが相対的に高い時間帯では第1記憶デバイスに、電力コストが相対的に低い時間帯では第2記憶デバイスにとなるように、制御することができる。
本発明の実施形態では、スケジュールには、上位装置が所定データにアクセスする第1期間を示す情報も記録させることができる。
本発明の実施形態では、上位装置が所定データにアクセスする状況を検出して管理するアクセス状況管理部をさらに備え、アクセス状況管理部を用いることによりスケジュールを生成してもよい。
本発明の実施形態では、スケジュールには、所定データを使用するユーザによって予め設定される条件も記録させることができる。
本発明の実施形態では、制御部は、第1期間が到来する前に、所定データの少なくとも一部を、第2記憶デバイスから第1記憶デバイスに予めコピーし、かつ、第1期間が終了した後は、第1記憶デバイスの記憶内容と第2記憶デバイスの記憶内容の差分を第1記憶デバイスから第2記憶デバイスにコピーさせることができる。
本発明の実施形態では、制御部は、第1記憶デバイスの空き容量が所定値以上の場合は、上位装置から受信したライトデータを第1記憶デバイスに記憶し、第1記憶デバイスの空き容量が所定値未満の場合に、ライトデータを第2記憶デバイスに記憶させることもできる。
本発明の実施形態では、キャッシュメモリをさらに備え、制御部は、(1)第1記憶デバイスの空き容量が所定値以上の場合は、上位装置から受信したライトデータを第1記憶デバイスに記憶し、(2)第1記憶デバイスの空き容量が所定値未満の場合、キャッシュメモリの空き容量が他の所定値以上であれば、ライトデータをキャッシュメモリに記憶し、(3)第1記憶デバイスの空き容量が所定値未満であって、かつ、キャッシュメモリの空き容量が他の所定値未満である場合、ライトデータを第2記憶デバイスに記憶させることもできる。
本発明の実施形態では、スケジュールには、上位装置が所定データにアクセスする第1期間を示す情報と、所定データを使用するユーザにより設定される第1条件または第2条件のいずれか一方の条件とが、それぞれ設定されており、制御部は、(1)第1期間が到来する前に、第2記憶デバイスから第1記憶デバイスへの所定データのコピーを開始し、(1a)第1条件が設定されている場合、電力コストが相対的に低い時間帯から電力コストが相対的に高い時間帯に移行する際にコピーを終了し、(1b)第2条件が設定されている場合、電力コストが相対的に高い時間帯に移行した場合であっても、所定データの全てを第2記憶デバイスから第1記憶デバイスにコピーさせる、ことができる。
本発明の実施形態では、制御部は、第2記憶デバイスから第1記憶デバイスに所定データの格納先が変更された場合、第2記憶デバイスを省電力状態に移行させる。
本発明の実施形態では、制御部は、第1記憶デバイスの使用状況に基づいて第1記憶デバイスの寿命を予測し、予測された寿命が所定の閾値に達した場合には、所定データの格納先を第2記憶デバイスまたは別の第1記憶デバイスのいずれかに変更させる。
本発明の実施形態では、制御部は、第1記憶デバイスの使用状況に基づいて第1記憶デバイスの寿命を予測し、予測された寿命が所定の閾値に達し、かつ、第1記憶デバイスに関する読出し要求の割合が予め設定された判定用閾値未満である場合に、所定データの格納先を第2記憶デバイスまたは別の第1記憶デバイスのいずれかに変更させる。
本発明の実施形態では、制御部は、第1記憶デバイスの使用状況に基づいて第1記憶デバイスの寿命を予測し、(1)予測された寿命が所定の閾値に達した場合、(1a)第1記憶デバイスに関する読出し要求の割合が予め設定された判定用閾値未満である場合に、所定データの格納先を第2記憶デバイスに変更し、(1b)第1記憶デバイスに関する読出し要求の割合が判定用閾値以上である場合に、所定データの格納先を別の第1記憶デバイスに変更し、さらに、(2)予測された寿命が所定の閾値に達していない場合であっても、第1記憶デバイスに関する読出し要求の割合が判定用閾値未満の場合は、所定データの格納先を第2記憶デバイスに変更する。
本発明の実施形態では、第1記憶デバイスはフラッシュメモリデバイスであり、第2記憶デバイスはハードディスクデバイスである。
本発明の他の観点に従う、上位装置によって利用されるデータを記憶する記憶制御装置を制御するための方法では、記憶制御装置は、消費電力が相対的に低い第1記憶デバイス及び消費電力が相対的に高い第2記憶デバイスをそれぞれ利用可能であり、上位装置が所定データにアクセスする第1期間が到来するよりも前の第2期間内に、第2記憶デバイスから第1記憶デバイスへの所定データのコピーを開始させるステップと、上位装置からのアクセス要求を第1記憶デバイスを用いて処理させるステップと、アクセス要求によって第1記憶デバイスと第2記憶デバイスとの間に生じた差分を検出するステップと、第1期間の終了後の別の第2期間内に、差分を第1記憶デバイスから第2記憶デバイスにコピーさせるステップと、を含み、かつ、第1期間は、電力コストが相対的に高い時間帯に設定されており、第2期間は、電力コストの相対的に低い時間帯に設定されている。
本発明の構成要素は、その全部または一部をコンピュータプログラムとして構成できる場合がある。このコンピュータプログラムは、記録媒体に固定して譲渡等することができるほかに、インターネット等の通信ネットワークを介して伝送することもできる。
以下、図面に基づき、本発明の実施の形態を説明する。図1は、本実施形態の全体概念を示す説明図である。図1に示すストレージシステムは、例えば、記憶制御装置1と、「」上位装置」としてのホストコンピュータ(以下、ホスト)2と、管理端末3とを備えて構成される。
記憶制御装置1は、例えば、制御部4と、キャッシュメモリ5と、ハードディスクドライブ6と、フラッシュメモリデバイス7とを備えている。制御部4は、ホスト2からのアクセス要求を処理する。また、制御部4は、キャッシュメモリ5,ハードディスクドライブ6及びフラッシュメモリデバイス7の、それぞれの間でのデータ交換を制御する。
キャッシュメモリ5は、例えば、揮発性の半導体メモリを備えて構成されており、ホスト2から受信したライトデータや、ホスト2に送信するためのリードデータ等を一時的に記憶する。
ハードディスクドライブ6は、「第2記憶デバイス」に該当する。ハードディスクドライブ6としては、例えば、FC(Fibre Channel)ディスク、SCSI(Small Computer System Interface)ディスク、SATAディスク、ATA(AT Attachment)ディスク、SAS(Serial Attached SCSI)ディスク等を用いることができる。本実施例のハードディスクドライブ6は、主として、ホスト2によって利用される多量のデータを長期間安定して保存するために用いられる。
フラッシュメモリデバイス7は、「第1記憶デバイス」に該当する。本実施例では、基本的に、データを記憶するためのメモリ素子のことをフラッシュメモリと呼び、フラッシュメモリ及び各種機構を備えたデバイスのことをフラッシュメモリデバイスと呼ぶことにする。各種機構としては、例えば、プロトコル処理部、ウェアラベリング調整部等を挙げることができる。ウェアラベリング調整とは、各セルへの書込み回数が均等となるように調整する機能である。フラッシュメモリデバイス7としては、NAND型またはNOR型のフラッシュメモリデバイスを適宜使用することができる。
ホスト2は、例えば、サーバコンピュータ、メインフレームコンピュータ、ワークステーション、パーソナルコンピュータ、携帯情報端末(携帯電話を含む)のようなコンピュータ装置として構成される。ホスト2と記憶制御装置1とは、例えば、SAN(Storage Area Network)のような通信ネットワーク9を介して接続される。ホスト2と記憶制御装置1とは、例えば、ファイバチャネルプロトコルやiSCSI (internet Small Computer System Interface)プロトコル等に従って、双方向通信を行う。ホスト2は、例えば、データベースプログラム等のようなアプリケーションプログラムを備えており、アプリケーションプログラムは、記憶制御装置1に記憶されたデータを利用する。
管理端末3は、「管理装置」と呼ぶことができる。管理端末3は、例えば、サーバコンピュータ、パーソナルコンピュータ、携帯情報端末のようなコンピュータ装置として構成することができる。管理端末3は、制御部4と通信を行うことにより、記憶制御装置1の内部状態を取得したり、記憶制御装置1の構成を変更させたりする。
本実施例の管理端末3は、さらにスケジュール管理部8を備える。スケジュール管理部8は、主として、ハードディスクドライブ6とフラッシュメモリデバイス7との間における、データの格納先を決定するためのスケジュールを管理する。制御部4は、予め設定されたスケジュールに従って、データの格納先を制御する。例えば、電力コストの低い夜間にハードディスクドライブ6からフラッシュメモリデバイス7に予めデータをコピーしておき、電力コストの高い昼間にフラッシュメモリデバイス7を用いてホスト2からのアクセス要求を処理させるように、スケジュールが設定される。
なお、図1では、スケジュール管理部8を管理端末3内に設ける構成を示すが、本発明はこれに限らず、例えば、ホスト2内や記憶制御装置1内にスケジュール管理部8を設ける構成でもよい。
本実施形態の動作を説明する。制御部4は、スケジュールに基づいて、夜間のうちに、ハードディスクドライブ6に記憶されている所定データを、フラッシュメモリデバイス7にコピーさせる。所定データとは、例えば、ホスト2により利用される可能性の高いデータである。後述の実施例で明らかとなるように、例えば、ホスト2による記憶制御装置1の利用状況を監視して履歴を作成することにより、いつどのホストが何のデータを利用するかを予測することができる。
昼間の利用が期待される所定データは、夜間のうちにハードディスクドライブ6からフラッシュメモリデバイス7にコピーされる。ホスト2は、フラッシュメモリデバイス7にコピーされた所定データの一部または全部を読み出したり、フラッシュメモリデバイス7にコピーされた所定データの一部または全部を更新したりする。
つまり、本実施形態では、電力料金の安い夜間に、消費電力の大きいハードディスクドライブ6を作動させて、フラッシュメモリデバイス7に所定データをコピーさせることができる。そして、電力料金の高い昼間では、消費電力の小さいフラッシュメモリデバイス7を用いて、ホスト2からのアクセス要求を処理することができる。従って、記憶制御装置1全体としての消費電力を抑制し、かつ、電力コストを低減させることができる。
換言すれば、本実施形態では、フラッシュメモリデバイス7をキャッシュメモリのように使用することができ、ハードディスクドライブ6からフラッシュメモリデバイス7へデータをコピーするステージング処理を、電力料金の安い夜間に実行する。そして、フラッシュメモリデバイス7からハードディスクドライブ6へデータをコピーするディステージ処理も、電力料金の安い夜間に実行する。
さらに、本実施形態では、キャッシュメモリ5も利用して、電力料金の高い昼間にハードディスクドライブ6が稼働するのをできるだけ防止する。例えば、フラッシュメモリデバイス7の空き容量が足りない場合、フラッシュメモリデバイス7に書き込むべきデータの全部または一部を、キャッシュメモリ5に書き込むこともできる。
電力料金の高い昼間の時間帯から電力料金の安い夜間の時間帯に移行した場合、制御部4は、フラッシュメモリデバイス7内の所定データをハードディスクドライブ6にコピーさせる。フラッシュメモリデバイス7からハードディスクドライブ6に所定データをコピーする方法としては、全コピーまたは差分コピーのいずれかを採用できる。
全コピーとは、フラッシュメモリデバイス7内のデータを全てハードディスクドライブ6に転送してコピーさせる方法である。差分コピーとは、フラッシュメモリデバイス7とハードディスクドライブ6との間の差分データのみを、フラッシュメモリデバイス7からハードディスクドライブ6に転送してコピーさせる方法である。全コピーを用いる場合、コピー完了までに時間を要するが、コピーの制御は簡単である。差分コピーを用いる場合、比較的短時間でコピーを終了させることができるが、フラッシュメモリデバイス7とハードディスクドライブ6との間の差分を管理するための仕組みが必要となる。以下、本実施形態を詳細に説明する。
図2は、本実施例による記憶制御装置10を備えるストレージシステムの全体構成を示す説明図である。このストレージシステムは、例えば、一つまたは複数の記憶制御装置10と、一つまたは複数のホスト20と、少なくとも一つの管理サーバ30とを備えて構成される。ストレージシステムは、別の記憶制御装置40を備えることもできる。記憶制御装置10は、図1中の記憶制御装置1に対応する。ホスト20は、図1中のホスト2に対応する。管理サーバ30は、図1中の管理端末3に対応する。記憶制御装置10,ホスト20、管理サーバ30及び外部記憶制御装置40の詳細は、それぞれ後述する。
図2を参照してストレージシステムのネットワーク構成を説明する。各ホスト20と記憶制御装置10とは、例えば、SANのような通信ネットワークCN1を介して、相互通信可能に接続されている。IP(Internet Protocol)を利用するIP_SANでもよいし、FCP(Fibre Channel Protocol)を利用するFC_SANでもよい。
管理サーバ30は、例えば、LAN(Local Area Network)のような、管理用の通信ネットワークCN3を介して、各ホスト20及び記憶制御装置10とそれぞれ相互通信可能に接続されている。なお、ストレージシステムが外部記憶制御装置40を備える場合、管理サーバ30と外部記憶制御装置40とを、通信ネットワークCN3を介して相互通信可能に接続することもできる。
なお、図2中では、データ入出力用ネットワークCN1と管理用ネットワークCN3とを分離する場合を示すが、これに限らず、一つの通信ネットワークを用いて、データの入出力及び管理を行う構成でもよい。例えば、管理用通信ネットワークCN2を廃止し、通信ネットワークCN1のみを備える構成でもよい。
外部記憶制御装置40は、記憶制御装置10の外部に存在する別の記憶制御装置であるため、本実施例では、外部記憶制御装置と呼ぶ。外部記憶制御装置40は、SANのような、外部接続用通信ネットワークCN2を介して、記憶制御装置10に接続される。なお、外部接続用通信ネットワークCN2を廃止し、データ入出力用ネットワークCN1によって記憶制御装置10と外部記憶制御装置40とを接続する構成でも良い。
記憶制御装置10の構成を説明する。記憶制御装置10は、例えば、コントローラ100と、ハードディスク搭載部200とを備える。コントローラ100は、少なくとも一つ以上のチャネルアダプタ(以下、CHA)110と、少なくとも一つ以上のフラッシュメモリデバイス制御部(以下、FM制御部)120と、少なくとも一つ以上のディスクアダプタ(以下、DKA)130と、サービスプロセッサ(以下、SVP)140と、キャッシュメモリ150と、制御メモリ160と、相互結合部170とを備えている。なお、CHA110,FM制御部120,DKA130は、それぞれ複数ずつコントローラ100内に設けられている。
CHA110は、ホスト20との間のデータ通信を制御するためのもので、例えば、マイクロプロセッサやローカルメモリ等を備えたコンピュータ装置として構成される。各CHA110は、少なくとも一つ以上の通信ポートを備える。通信ポートには、例えば、WWN(World Wide Name)のような識別情報が設定される。ホスト20と記憶制御装置10とが、iSCSI(internet Small Computer System Interface)等を用いてデータ通信を行う場合、通信ポートには、IP(Internet Protocol)アドレス等の識別情報が設定される。
図2中には、2種類のCHA110が示されている。図2中右側に位置する一方のCHA110は、ホスト20からのコマンドを受信して処理するためのものであり、その通信ポートは、ターゲットポートとなっている。図2中左側に位置する他方のCHA110は、外部記憶制御装置40にコマンドを発行するためのものであり、その通信ポートは、イニシエータポートとなっている。
DKA130は、各ディスクドライブ210との間のデータ通信を制御するためのもので、CHA110と同様に、マイクロプロセッサやローカルメモリ等を備えたコンピュータ装置として構成される。
DKA130と各ディスクドライブ210とは、例えば、ファイバチャネルプロトコルに従う通信経路を介して接続されている。DKA130と各ディスクドライブ210とは、ブロック単位のデータ転送を行う。コントローラ100が各ディスクドライブ210にアクセスするための経路は、冗長化されている。いずれか一方のDKA130や通信経路に障害が発生した場合でも、コントローラ100は、他方のDKA130や通信経路を用いて、ディスクドライブ210にアクセス可能である。同様に、ホスト20とコントローラ100との間の経路、外部記憶制御装置40とコントローラ100との間の経路も冗長化することができる。なお、DKA130は、ディスクドライブ210の状態を随時監視している。SVP140は、DKA130による監視結果を、内部ネットワークCN4を介して取得する。
CHA110及びDKA130の動作を簡単に説明する。CHA110は、ホスト20から発行されたリードコマンドを受信すると、このリードコマンドを制御メモリ160に記憶させる。DKA130は、制御メモリ160を随時参照しており、未処理のリードコマンドを発見すると、ディスクドライブ210からデータを読み出して、キャッシュメモリ150に記憶させる。CHA110は、キャッシュメモリ150に移されたデータを読み出し、ホスト20に送信する。
一方、CHA110は、ホスト20から発行されたライトコマンドを受信すると、このライトコマンドを制御メモリ160に記憶させる。また、CHA110は、受信したライトデータをキャッシュメモリ150に記憶させる。CHA110は、キャッシュメモリ150にライトデータを記憶させた後、ホスト20に書込み完了を報告する。DKA130は、制御メモリ160に記憶されたライトコマンドに従って、キャッシュメモリ150に記憶されたデータを読出し、所定のディスクドライブ210に記憶させる。
但し、以上の説明は、ディスクドライブ210を用いてホスト20からのアクセス要求を処理する場合の例である。後述のように、本実施例では、ホスト20からのアクセス要求は、主として、FM制御部120を用いることにより処理される。フラッシュメモリの空き容量が足りなくなった場合や、フラッシュメモリに記憶されたデータをディスクドライブ210に記憶させる場合には、DKA130によってディスクドライブ210にデータが書き込まれる。
FM制御部120は、「第1記憶デバイス」としてのフラッシュメモリデバイスに相当する。FM制御部120の構成はさらに後述するが、FM制御部120は、複数のフラッシュメモリを内蔵している。本実施例のFM制御部120は、コントローラ100内に設けられている。後述の実施例では、コントローラ100の外部にフラッシュメモリデバイスを設けている。なお、本実施例では、第1記憶デバイスの例としてフラッシュメモリデバイスを挙げるが、これに限らず、書換可能であり、不揮発性を有し、消費電力が第2記憶デバイスに比べて少ない記憶デバイスであれば、本発明を適用できる。
SVP140は、LAN(Local Area Network)のような内部ネットワークCN4を介して、CHA110,FM制御部120,DKA130と通信可能に接続される。また、SVP140は、LANやインターネット等の通信ネットワークCN3を介して、管理サーバ30に接続されている。SVP140は、記憶制御装置10内部の各種状態を収集し、管理サーバ30に提供する。なお、SVP140は、CHA110またはDKA130のいずれか一方にのみ接続されてもよい。SVP140は、制御メモリ160を介して、各種のステータス情報を収集可能だからである。
キャッシュメモリ150は、例えば、ホスト20から受信したデータ等を記憶するものである。キャッシュメモリ150は、例えば揮発メモリから構成される。制御メモリ160は、例えば不揮発メモリから構成される。制御メモリ160には、例えば、後述の各種管理用情報等が記憶される。
制御メモリ160及びキャッシュメモリ150は、別々のメモリ基板としてそれぞれ構成することもできるし、または、同一のメモリ基板上に混在して設けることもできる。あるいは、メモリの一部をキャッシュ領域として使用し、他の一部を制御領域として使用することもできる。
相互結合部170は、各CHA110と、FM制御部120と、DKA130と、キャッシュメモリ150及び制御メモリ160をそれぞれ相互に接続させる。これにより、全てのCHA110,DKA130は、FM制御部120とキャッシュメモリ150及び制御メモリ160にそれぞれアクセス可能である。相互結合部170は、例えばクロスバスイッチ等として構成することができる。
コントローラ100の構成は、上述の構成に限定されない。例えば、一つまたは複数の制御基板上に、ホスト20や外部記憶制御装置40との間のデータ通信をそれぞれ行う機能と、フラッシュメモリデバイスとの間のデータ通信を行う機能と、ディスクドライブ210との間のデータ通信を行う機能と、データを一時的に保存する機能等を、それぞれ設ける構成でもよい。このようなコントローラ基板を用いることにより、記憶制御装置10の外径寸法を小型化することができる。
ハードディスク搭載部200の構成について説明する。ハードディスク搭載部200は、複数のディスクドライブ210を備えている。各ディスクドライブ210は、「第2記憶デバイス」に該当する。ディスクドライブ210としては、例えば、FCディスク、SATAディスク等のような種々のハードディスクドライブを用いることができる。
RAID構成等によっても相違するが、例えば、3個1組や4個1組等の所定数のディスクドライブ210によって、パリティグループが構成される。パリティグループは、パリティグループ内の各ディスクドライブ210がそれぞれ有する物理的記憶領域を仮想化したものである。パリティグループは、仮想化された物理的記憶デバイスである。
パリティグループの有する物理的記憶領域には、所定サイズまたは可変サイズの論理デバイス(LDEV:Logigal DEVice)220を一つまたは複数設定することができる。論理デバイス220は、論理的な記憶デバイスであり、論理ボリューム11(図3参照)に対応付けられる。
外部記憶制御装置40は、記憶制御装置10と同様に、例えば、コントローラ41と、ハードディスク搭載部42と、フラッシュメモリデバイス搭載部43とを備えて構成することができる。コントローラ41は、ディスクドライブの記憶領域やフラッシュメモリデバイスの記憶領域を利用して、論理ボリュームを生成することができる。
外部記憶制御装置40は、記憶制御装置10から見た場合に記憶制御装置10の外部に存在するため、外部記憶制御装置と呼ぶ。また、外部記憶制御装置40の有するディスクドライブを外部ディスクと、外部記憶制御装置の有するフラッシュメモリデバイスを外部フラッシュメモリデバイスと、外部記憶制御装置40の有する論理ボリュームを外部ボリュームと、それぞれ呼ぶ場合がある。
例えば、外部記憶制御装置40内の論理ボリュームは、通信ネットワークCN2等を介して、記憶制御装置10内に設けられる仮想的な論理デバイス(VDEV:Virtual DEVice)に対応付けられる。そして、仮想的な論理デバイスの記憶領域上には、仮想的な論理ボリュームを設定することができる。従って、記憶制御装置10は、外部記憶制御装置40内の論理ボリューム(外部ボリューム)を、それがあたかも記憶制御装置10内の論理ボリュームであるかのようにして、ホスト20に見せかけることができる。
仮想的な論理ボリュームへのアクセス要求が発生した場合、記憶制御装置10は、仮想的論理ボリュームに関するアクセス要求のコマンドを、外部記憶制御装置40内の論理ボリュームにアクセスするためのコマンドに変換する。変換されたコマンドは、通信ネットワークCN2を介して、記憶制御装置10から外部記憶制御装置40に送信される。外部記憶制御装置40は、記憶制御装置10から受領したコマンドに従ってデータの読み書きを行い、その結果を記憶制御装置10に返す。
このように、記憶制御装置10は、外部に存在する別の記憶制御装置40内の記憶資源(論理ボリューム)を、記憶制御装置10内の記憶資源であるかのように利用することができる。従って、記憶制御装置10は、ディスクドライブ210やDKA130を備える必要は必ずしもない。外部記憶制御装置40内のハードディスクが提供する記憶領域を使用可能だからである。記憶制御装置10は、フラッシュメモリデバイスを内蔵した高機能のファイバチャネルスイッチのように構成することもできる。
図3は、記憶制御装置10の一つの使われ方の例を示す説明図である。図2では、それぞれ別々のコンピュータ装置として構成される複数のホスト20が、記憶制御装置10にアクセスしてデータを読み書きする場合を例に挙げて示した。
これに対し、図3に示すように、一つのホスト20内に、仮想的なホスト21を複数個設けることもでき、これら仮想的なホスト21は、記憶制御装置10内の論理ボリューム11にアクセスしてデータを読み書きすることができる。
一つのホスト20の有するコンピュータ資源(CPU実行時間やメモリ等)を仮想的に分割することにより、複数の仮想ホスト21を生成することができる。ユーザの使用するユーザ端末50は、通信ネットワークを介して仮想ホスト21にアクセスし、仮想ホスト21を用いて、記憶制御装置10内に設定された自分専用の論理ボリューム11にアクセスする。ユーザ端末50は、仮想ホスト21を利用するために必要な最低限の機能を備えていればよい。
記憶制御装置10内には、ディスクドライブ210及びフラッシュメモリデバイス120(以下、FM制御部120のことをフラッシュメモリデバイスと呼ぶ場合がある)に対応付けられる、論理ボリューム11が設けられる。各ユーザ端末50は、仮想ホスト21を介して、各ユーザ用の論理ボリューム11にアクセスする。ホスト20内に複数の仮想ホスト21を設けることにより、コンピュータ資源を有効に利用することができる。
図4は、CHA110の構成を示す説明図である。CHA110は、例えば、複数のマイクロプロセッサ(CPU)111と、周辺処理部112と、メモリモジュール113と、チャネルプロトコル処理部114と、内部ネットワークインターフェース部115とを備えて構成される。
各マイクロプロセッサ111は、バス116を介して、周辺処理部112に接続されている。周辺処理部112は、メモリモジュール113に接続されており、メモリモジュール113の動作を制御する。さらに、周辺処理部112は、バス117を介して、各チャネルプロトコル処理部114にそれぞれ接続されている。周辺処理部112は、各マイクロプロセッサ111,各チャネルプロトコル処理部114,内部ネットワークインターフェース部115から、それぞれ入力されるパケットを処理する。例えば、転送先がメモリモジュール113になっているパケットの場合、周辺処理部112は、そのパケットを処理し、必要ならば処理結果をパケット送信元に返す。内部ネットワークインターフェース部115は、相互結合部170を介して、他のCHA110,FM制御部120(フラッシュメモリデバイス120),DKA130,キャッシュメモリ150及び制御メモリ160と通信するための回路である。
メモリモジュール113内には、例えば、制御プログラム113A、メールボックス113B及び転送リスト113Cが設けられる。各マイクロプロセッサ111は、制御プログラム113Aを読み出して実行する。各マイクロプロセッサ111は、メールボックス113Bを介して、他のマイクロプロセッサ111と通信を行う。転送リスト113Cは、チャネルプロトコル処理部114がDMA(Direct Memory Access)を行うためのリストである。
チャネルプロトコル処理部114は、ホスト20との間で通信を行うための処理を実行する。チャネルプロトコル処理部114は、ホスト20からのアクセス要求を受信すると、そのホスト20を識別するための番号やLUN(Logical Unit Number)、アクセス先アドレス等をマイクロプロセッサ111に通知する。
マイクロプロセッサ111は、チャネルプロトコル処理部114から通知された内容に基づいて、リード要求の対象とされたデータをホスト20に送信させるための転送リスト113Cを作成する。チャネルプロトコル処理部114は、転送リスト113Cに基づいて、キャッシュメモリ150またはフラッシュメモリデバイス120のいずれかからデータを読み出して、ホスト20に送信する。ライト要求の場合、マイクロプロセッサ111は、転送リスト113Cにライトデータの格納先アドレスをセットする。チャネルプロトコル処理部114は、転送リスト113Cに基づいて、フラッシュメモリデバイス120またはキャッシュメモリ150のいずれかに、ライトデータを転送する。
なお、DKA130は、制御プログラム113Aの内容等は相違するが、実質的にCHA110と同様に構成される。
図5は、FM制御部120の構成を示す説明図である。FM制御部120は、例えば、内部ネットワークインターフェース部121と、DMAコントローラ122と、メモリコントローラ123と、メモリモジュール124と、フラッシュメモリ用メモリコントローラ125と、フラッシュメモリ126とを備えて構成される。
内部ネットワークインターフェース部121は、相互結合部170を介して、CHA110,DKA130,キャッシュメモリ150,制御メモリ160と通信するための回路である。DMAコントローラ122は、DMA転送を行うための回路である。メモリコントローラ123は、メモリモジュール124の動作を制御するものである。メモリモジュール124には、転送リスト124Aが記憶される。
フラッシュメモリ用メモリコントローラ125は、複数のフラッシュメモリ126の動作を制御する回路である。フラッシュメモリ126は、例えば、NAND型またはNOR型のフラッシュメモリとして構成される。フラッシュメモリ用メモリコントローラ125には、各フラッシュメモリ126に関するアクセス回数や消去回数等の情報を記憶するためのメモリ125Aが設けられている。
図6は、マッピングテーブルT1の一例を示す説明図である。マッピングテーブルT1は、記憶制御装置10が他の記憶制御装置40内の論理ボリューム(つまり、結果的にディスクドライブである)を利用するために使用される。このテーブルT1は、例えば、制御メモリ160内に記憶される。
マッピングテーブルT1は、例えば、LUNと、論理デバイス(LDEV)を識別するための番号と、仮想的な中間デバイス(VDEV)を識別するための番号とを対応付けることにより構成することができる。
仮想的な中間デバイスを識別するための情報には、例えば、仮想的な中間デバイスの番号と、仮想的な中間デバイスが接続される物理的な記憶デバイスの種類を示す情報と、物理的な記憶デバイスへ接続するための経路情報等を含めることができる。仮想的な中間デバイスが、記憶制御装置10内のフラッシュメモリデバイス120またはディスクドライブ210のいずれかに対応付けられている場合、フラッシュメモリデバイス120またはディスクドライブ210にアクセスするための内部パス情報が設定される。
仮想的な中間デバイスが、外部記憶制御装置40内の論理ボリュームに接続されている場合、その論理ボリュームへアクセスするために必要な外部パス情報が設定される。外部パス情報には、例えば、WWNやLUN等が含まれる。記憶制御装置10のコントローラ100は、マッピングテーブルT1を参照することにより、ホスト20から受信したコマンドを、外部記憶制御装置40に送信するためのコマンドに変換する。
図7は、構成管理テーブルT2と、デバイス状態管理テーブルT3及び寿命閾値管理テーブルt4の構成例をそれぞれ示す説明図である。
構成管理テーブルT2は、記憶制御装置10の管理下にある論理ボリュームの構成を管理するためのテーブルである。構成管理テーブルT2は、例えば、論理ボリュームを識別するための番号(LU#)と、その論理ボリュームに対応付けられる論理デバイスを識別するための番号(LDEV#)と、その論理デバイスに対応付けられる仮想的な中間デバイスを識別するための番号(VDEV#)と、その仮想的な中間デバイスに対応付けられる物理的記憶デバイスを識別するための番号(PDEV#)とを、管理する。
なお、基本的に、LUとLDEV及びVDEVは、ディスクドライブ210から構成されるPDEV上にマッピングされている。但し、LU、LDEV及びVDEVを、フラッシュメモリデバイス120上にマッピングする構成でもよい。
デバイス状態管理テーブルT3は、物理的記憶デバイスの状態を管理するためのテーブルである。図7では、物理的記憶デバイスとしてフラッシュメモリデバイスの状態を管理するためのテーブルを示している。
フラッシュメモリデバイスの状態を管理するテーブルT3は、例えば、そのフラッシュメモリデバイスを識別するための番号(PDEV#)と、そのフラッシュメモリデバイスにデータが書き込まれた回数の総数と、そのフラッシュメモリデバイスからデータが読み出された回数の総数と、そのフラッシュメモリデバイスに記憶されたデータが消去された回数の総数と、そのフラッシュメモリデバイスに生じた不良ブロックの増加率と、そのフラッシュメモリデバイスに記憶されたデータを消去するために要する平均時間と、そのフラッシュメモリが稼働した累計時間と、そのフラッシュメモリの使用率(使用率=記憶されたデータの量/フラッシュメモリの記憶容量)等とを、対応付けて管理する。
フラッシュメモリは、セルの物理的構成に起因して書込み回数に上限が設定される場合がある。従って、書込み回数の累計値(総書込み回数)を管理することで、そのフラッシュメモリデバイスの残り寿命を推測できる。同様に、フラッシュメモリデバイスの不良ブロックの増加率の値が増加したり、平均消去時間が長くなったり、総稼働時間が長くなるほど、残り寿命が少なくなったと予測することができる。
上述の各寿命予測パラメータは、一例であり、本発明はそれらに限定されない。なお、残り寿命は、フラッシュメモリデバイスの信頼性の度合と考えることもできるため寿命予測パラメータは、信頼性を判定するためのパラメータと呼び変えることもできる。
寿命閾値管理テーブルT4は、フラッシュメモリデバイスの残り寿命が少なくなったことを検出するための寿命閾値を管理するテーブルである。寿命閾値管理テーブルT4では、上述の各寿命予測パラメータ(総書込み回数、不良ブロック増加率、平均消去時間等)毎に、それぞれ予め寿命閾値Th1,Th2,...が設定されている。
図8は、アクセス履歴管理テーブルT5及びスケジュール管理テーブルT6の構成例を示す説明図である。アクセス履歴管理テーブルT5は、各論理ボリューム毎のアクセスの履歴を管理するテーブルである。例えば、アクセス履歴管理テーブルT5は、各論理ボリュームへのアクセス回数を、各曜日の各時間帯毎にそれぞれ管理することができる。図8では、ライトアクセス及びリードアクセスを区別していないかのように示しているが、実際には、ライトアクセス及びリードアクセスのそれぞれについて、各曜日の各時間毎にアクセス回数が検出されて記録される。テーブルT4に、アクセス一回あたりのデータ量(論理ブロック数)等も併せて記録する構成でもよい。
スケジュール管理テーブルT6は、各論理ボリュームの使用予定等を管理するテーブルである。スケジュール管理テーブルT6は、各論理ボリューム毎に、使用予定日時と、ユーザの希望条件と、配置先固定フラグと、現在の配置先等とを対応付けて管理する。
「使用予定日時」とは、ユーザが論理ボリュームを使用する予定の日時を示す情報であり、アクセス履歴管理テーブルT5に記録されたアクセス履歴に基づいて自動的に設定することができる。ユーザは、自動的に設定された使用予定日時を手動で修正することもできる。
「ユーザの希望条件」とは、ユーザが論理ボリュームを使用する際に希望する条件を示す情報であり、例えば、「コスト優先」または「性能優先」のいずれかが設定される。コスト優先とは、電力コストの低減を優先させるモードである。コスト優先モードが選択されている場合、論理ボリュームを使用する際の合計消費電力ができるだけ少なくなるように、その論理ボリュームのデータの格納先が制御される。性能優先とは、アクセス性能の維持を優先させるモードである。性能優先モードが選択されている場合、論理ボリュームを使用する際の応答性能ができるだけ低下しないように、その論理ボリュームのデータの格納先が制御される。
本実施例では、後述のように、電力料金の安い夜間の時間帯を利用して、論理ボリューム内のデータの少なくとも一部を、ディスクドライブ210(外部記憶制御装置40内のディスクドライブも含む。)からフラッシュメモリデバイスに予めコピーさせておき、翌日昼間のユーザによる使用に備える。これにより、電力料金の安い昼間に、消費電力の少ないフラッシュメモリデバイスを用いて、ホスト20からのアクセス要求を処理することができる。
ディスクドライブ210からフラッシュメモリデバイスにコピーするデータの量が少ない場合、電力料金の安い夜間のうちに、コピー対象の全データをディスクドライブ210からフラッシュメモリデバイスにコピーさせることができる。しかし、記憶制御装置10は、多数のユーザによって使用されるデータを管理しており、かつ、各ユーザが使用するデータの量は増加する一方である。
従って、電力料金の安い時間帯に、コピー対象の全データのコピーを完了できない場合も考えられる。この場合、電力コストを重視するならば、コピーを途中で終了させて、ディスクドライブ210の稼働を停止させた方が良いと考えられる。電力料金の高い時間帯に、コピー元デバイスであるディスクドライブ210を稼働させると、その論理ボリュームに関する電力コストが増大するためである。
これに対し、電力コストよりもアクセス性能を重視するならば、電力料金の高い時間帯に移行した後でも、ディスクドライブ210からフラッシュメモリデバイスへのコピーを続行し、コピー対象の全データをフラッシュメモリデバイスに格納させる方が良いと考えられる。一般的に、フラッシュメモリデバイスの方がディスクドライブ210に比べて、データの読出し速度や書込み速度が優れているためである。
「配置先固定フラグ」とは、論理ボリュームのデータの格納先を固定させるための情報である。配置先固定フラグに「HDD」が設定された場合、そのデータの格納先はディスクドライブ210に固定される。従って、「HDD」が設定されたデータは、ディスクドライブ210からフラッシュメモリデバイスにコピーされない。
「現在の配置先」とは、論理ボリュームのデータが格納されている記憶デバイスを特定するための情報である。現在の配置先に「FM」が設定されている場合、そのデータはフラッシュメモリデバイスに記憶されている。現在の配置先に「HDD」が設定されている場合、そのデータはディスクドライブ210に記憶されている。配置先の情報には、記憶デバイスの種別だけでなく、記憶デバイスを特定するための識別情報(PDEV#)を含めることができる。
図8の下側には、転送速度管理テーブルT7及び電力コスト管理テーブルT8も示されている。転送速度管理テーブルT7は、ディスクドライブ210とフラッシュメモリデバイスとの間のデータ転送速度を管理する。従って、コピー対象データのサイズをデータ転送速度で除算することにより、データのコピーが完了するまでの所要時間を求めることができる。
電力コスト管理テーブルT8は、記憶制御装置10に供給される電力のコストに関する情報を記憶する。例えば、テーブルT8には、電力コストの切り替わる日時や電力料金に関する情報が記憶されている。記憶制御装置10や外部記憶制御装置40の設置されている地域を担当する電力会社が、電力コストに関する情報を通信ネットワーク上で公開しているような場合、電力コスト管理テーブルT8は自動的に生成可能である。
図9は、本実施例による記憶制御装置10の動作を模式的に示す説明図である。図9の上側には、電力料金の変化が示されており、図9の下側には、データの格納先の変化が示されている。
ある日の夜間TZ1は、電力料金が低い。この夜間の時間帯TZ1において、ディスクドライブ210に記憶された所定データD1は、フラッシュメモリデバイス120にコピーされる。即ち、ディスクドライブ210からフラッシュメモリデバイス120へのステージング処理を、電力料金の安い時間帯TZ1に行う。
翌日の昼間TZ2は、電力料金が高い。この昼間の時間帯TZ2では、ホスト20が記憶制御装置10を利用する。例外はあるが、業務時間は昼間の時間帯TZ2に設定されることが多く、業務時間内にホスト20は、論理ボリュームにアクセスする。上述のように、ホスト20が記憶制御装置10の利用を開始するよりも前に、ホスト20によりアクセスされるデータの少なくとも一部(D1)は、フラッシュメモリデバイス120に予めコピーされている。
従って、ホスト20からのアクセス要求の少なくとも一部は、フラッシュメモリデバイス120に記憶されたデータD1によって処理される。フラッシュメモリデバイス120の消費電力はディスクドライブ210に比べると少ないため、フラッシュメモリデバイス120を用いてホスト20からのアクセス要求を処理できればできるほど、論理ボリューム使用時の電力コストを低減することができる。なお、ディスクドライブ210は、使用される機会が少ないため、スピンダウン状態にしておく。
フラッシュメモリデバイス120の空き容量が少なくなった場合等には、ホスト20から受信したライトデータD2を、キャッシュメモリ150に記憶させることもできる。また、フラッシュメモリデバイス120にコピーされたデータD1以外のデータの読出しをホスト20が要求した場合、記憶制御装置10は、ディスクドライブ210を稼働させて、ホスト20の要求するデータを読み出す。
昼間の時間帯TZ2が終了すると、電力料金の安い夜間の時間帯TZ3に移行する。夜間の時間帯TZ3では、フラッシュメモリデバイス120からディスクドライブ210に、昼間の時間帯TZ2で更新されたデータD1をコピーする。フラッシュメモリデバイス120内のデータD1とディスクドライブ210内のデータD1との差分だけを、フラッシュメモリデバイス120からディスクドライブ210にコピーすればよい。また、キャッシュメモリ150に記憶されたデータD2も、夜間の時間帯TZ3において、ディスクドライブ210にコピーされる。
このように、本実施例の記憶制御装置10は、業務開始前の電力料金の安い時間帯TZ1に、ディスクドライブ210からフラッシュメモリデバイス120へのステージング処理を実行し、電力料金の高い業務時間TZ2では、消費電力の低いフラッシュメモリデバイス120を用いてホスト20からのアクセス要求を処理し、業務終了後の電力料金の安い時間帯TZ3に、フラッシュメモリデバイス120からディスクドライブ210へのディステージング処理を実行する。従って、消費電力の大きいディスクドライブ210は、主として、電力料金の安い時間帯TZ1,TZ3で動作するため、記憶制御装置10の電力コストを低減させることができる。
図10は、データの格納先を制御するためのスケジュールを生成する処理を示すフローチャートである。なお、以下の各フローチャートは、本発明の理解及び実施に必要な程度で処理の概要を示しており、実際のコンピュータプログラムとは相違する場合がある。いわゆる当業者であれば、図示されたステップの削除、変更、順番の入れ替え等を行うことができるであろう。
記憶制御装置10は、アクセス履歴管理テーブルT5を参照し(S1)、アクセス履歴に基づいてアクセスパターンを検出する(S2)。アクセスパターンとは、その論理ボリュームが、いつどの程度アクセスされているかを分類した情報である。
記憶制御装置10は、ユーザによる希望条件を取得する(S3)。ユーザは、「コスト優先」か「性能優先」のいずれかを、手動で選択することができる。あるいは、記憶制御装置10は、ユーザ属性管理テーブルT9に基づいて、ユーザ希望条件を自動的に設定することもできる。ユーザ属性管理テーブルT9には、例えば、論理ボリュームを使用するユーザの所属部署、役職、業務内容等を設定することができる。
記憶制御装置10は、S1〜S3を実行することにより、スケジュールを生成し(S4)、スケジュール管理テーブルT6を更新する(S5)。なお、作成されたスケジュールをユーザが確認し、手動で修正できるように構成してもよい。
図11は、所定データを事前にディスクドライブ210からフラッシュメモリデバイス120にコピーする処理(ステージング処理)を示すフローチャートである。
記憶制御装置10は、スケジュール管理テーブルT6を参照し(S10)、データの格納先をディスクドライブ210からフラッシュメモリデバイス120に切り替える時期が到来したか否かを判定する(S11)。
例えば、ユーザが月曜日の朝から論理ボリュームを使用する予定の場合、ユーザの業務が開始する前の電力料金の安い時間帯において、データのコピーに要する時間を考慮した時刻が、切替時期(即ち、ステージング開始時刻である)として選択される。
切替時期が到来したと判定された場合(S11:YES)、記憶制御装置10は、ディスクドライブ210からフラッシュメモリデバイス120への所定データのコピーを開始する(S12)。所定データとは、論理ボリュームの全データの場合もあるし、論理ボリュームの先頭から所定量のデータである場合もある。あるいは、論理ボリュームに記憶されているデータのうち、更新時刻が比較的新しい所定量のデータである場合もある。
記憶制御装置10は、ディスクドライブ210からフラッシュメモリデバイス120へのデータのコピーが完了したか否かを判定する(S13)。データコピーが完了していない場合(S13:NO)、記憶制御装置10は、ユーザの希望条件が「コスト優先」であるか否かを判定する(S14)。
ユーザ希望条件がコスト優先の場合(S14:YES)、記憶制御装置10は、電力料金の高い時間帯(典型的には昼間である)が到来したか否かを判定する(S15)。電力料金の高い時間帯が到来した場合(S15:YES)、記憶制御装置10は、ディスクドライブ210からフラッシュメモリデバイス120へのデータのコピーを終了させる(S16)。これに対し、ユーザの希望条件が「性能優先」の場合(S14:NO)、または、電力料金の高い時間帯に移行していない場合(S15:NO)には、S13に戻る。
ディスクドライブ210からフラッシュメモリデバイス120へのデータのコピーが完了すると(S13:YES)、記憶制御装置10は、フラッシュメモリデバイス120からディスクドライブ210にデータの格納先を切り替える時期(即ち、ディステージ開始時刻である)が到来するまで待機する(S17)。
フラッシュメモリデバイス120からディスクドライブ210にデータをコピーする時期が到来すると(S17:YES)、記憶制御装置10は、フラッシュメモリデバイス120に記憶されたデータとディスクドライブ210に記憶されたデータとの差分を、フラッシュメモリデバイス120からディスクドライブ210にコピーさせる(S18)。
図12は、ホスト20からのライト要求を処理するフローチャートである。記憶制御装置10は、ライト要求を受信すると(S20)、ホスト20から受信したライトデータをフラッシュメモリデバイス120に記憶させる(S21)。そして、記憶制御装置10は、差分管理テーブルT10(図13参照)等の必要な管理テーブルを更新し(S22)、ホスト20に処理完了を通知する(S23)。
一方、記憶制御装置10は、ディステージ処理を実行する時期が到来したか否かを判定する(S30)。ディステージ処理の実行時期は、上述のように、電力料金の安い夜間の時間帯から選択される。
ディステージ処理の実行時期が到来した場合(S30:YES)、記憶制御装置10は、書込先のディスクドライブ210にスピンアップコマンドを発行して、ディスクドライブ210を起動させ(S31)、書込先のディスクドライブ210の準備が完了したか否かを判定する(S32)。
書込先のディスクドライブ210の準備が完了した場合(S32:YES)、記憶制御装置10は、フラッシュメモリデバイス120に記憶されたデータを、その書込先のディスクドライブ210に転送して記憶させる(S33)。記憶制御装置10は、差分管理テーブルT10等の必要な管理テーブルを更新し(S34)、ディステージ処理を終了する。
図13は、差分コピーを行うための処理を示すフローチャートである。記憶制御装置10は、ホスト20によって更新された位置(即ち、更新された論理ブロックアドレスである)を、差分管理テーブルT10に記録する(S40)。差分管理テーブルT10は、所定単位で、データが更新された位置を管理する。差分管理テーブルT10は、差分ビットマップとして構成することができる。
そして、記憶制御装置10は、差分管理テーブルT10を参照することにより、ホスト20によって更新された位置のデータのみを、ディスクドライブ210にコピーする(S41)。これにより、比較的短時間で、フラッシュメモリデバイス120の記憶内容とディスクドライブ210の記憶内容とを一致させることができる。
図14は、ホスト20からのリード要求を処理するフローチャートである。記憶制御装置10は、ホスト20から発行されたリード要求を受信すると(S50)、キャッシュメモリ150に記憶されているデータを確認する(S51)。
ホスト20から読出しを要求されたデータが、キャッシュメモリ150に記憶されていない場合(S51:YES)、記憶制御装置10は、フラッシュメモリデバイス120に記憶されているデータを確認する。
読出しを要求されたデータがフラッシュメモリデバイス120に記憶されていない場合(S54:YES)、記憶制御装置10は、デバイス状態管理テーブルT3等の必要な管理テーブルを更新し(S55)、ディスクドライブ210から読出し対象のデータを読み出して、このデータをキャッシュメモリ150に転送させる(S56)。記憶制御装置10は、キャッシュメモリ150から読出し対象のデータを読み出して(S57)、このデータをホスト20に送信する(S58)。
読出し対象のデータがキャッシュメモリ150に記憶されている場合(S52:YES)、記憶制御装置10は、キャッシュメモリ150に記憶されているデータをホスト20に送信する(S57,S58)。
読出し対象のデータがフラッシュメモリデバイス120に記憶されている場合(S54:NO)、記憶制御装置10は、フラッシュメモリデバイス120からデータを読み出して(S59)、そのデータをホスト20に送信する(S58)。
図15は、データ配置先を決定するための処理を示すフローチャートである。この処理は、スケジュール管理テーブルT6中の「配置先固定フラグ」を自動的に設定するために実行される。
即ち、以下の処理では、フラッシュメモリデバイス120の信頼性(残り寿命)やデータへのアクセスパターンに基づいて、ディスクドライブ210からフラッシュメモリデバイス120へのステージング処理の可否を決定し、決定の結果をスケジュール管理テーブルT6に登録する。
記憶制御装置10は、デバイス状態管理テーブルT3を参照し(S60)、さらに、寿命閾値管理テーブルT4を参照する(S61)。記憶制御装置10は、いずれかの寿命予測パラメータの一つでも寿命閾値に達したフラッシュメモリデバイス120が存在するか否かを判定する(S62)。
寿命閾値に達したフラッシュメモリデバイス120が存在しない場合(S62:NO)、記憶制御装置10は、フラッシュメモリデバイス120に関するアクセス状況を判定する(S63)。記憶制御装置10は、フラッシュメモリデバイス120へのアクセスがリードアクセス中心であるか否かを判定する(S64)。記憶制御装置10は、例えば、そのフラッシュメモリデバイス120に関するリードアクセスの総数とライトアクセスの総数の比率から、リードアクセスが中心であるか否かを判定することができる。例えば、リードアクセスの方がライトアクセスよりもn倍(nは自然数)大きいような場合、リードアクセス中心で使用されているフラッシュメモリデバイスであると判定可能である。
リードアクセスが中心の場合(S64:YES)、記憶制御装置10は、そのフラッシュメモリデバイス120をそのまま継続して使用することを決定し(S65)、必要があればスケジュール管理テーブルT6を更新する(S66)。但し、フラッシュメモリデバイス120の継続使用が決定された場合(S65)、スケジュール管理テーブルT6を更新する必要はない。
これに対し、フラッシュメモリデバイス120へのアクセスがリードアクセス中心ではなく、ライトアクセスが比較的多い場合(S64:NO)、記憶制御装置10は、そのフラッシュメモリデバイス120に記憶されたデータの格納場所を、ディスクドライブ210に変更する(S67)。即ち、記憶制御装置10は、ライトアクセスが多くなるほど、フラッシュメモリデバイス120の寿命が低下するため、データの格納場所を予めディスクドライブ210に固定する(S67)。この場合、記憶制御装置10は、そのデータの配置先固定フラグにディスクドライブ210のデバイス番号を設定する(S66)。
いずれかの寿命予測パラメータが寿命閾値に達したフラッシュメモリデバイス120の場合(S62:YES)、記憶制御装置10は、データの格納先を変更するための他のフラッシュメモリデバイス120を検索する(S68)。即ち、記憶制御装置10は、空き容量及び寿命が十分に残っている、データ移転先の候補となるフラッシュメモリデバイス120を検出する(S68)。
移転先候補のフラッシュメモリデバイス120が検出された場合(S69:YES)、記憶制御装置10は、その移転先候補のフラッシュメモリデバイス120に関するアクセス状況を判定し(S70)、その移転先候補のフラッシュメモリデバイス120へのアクセスがリードアクセス中心であるか否かを判定する(S71)。
移転先候補のフラッシュメモリデバイス120へのアクセスがリードアクセス中心である場合(S71:YES)、記憶制御装置10は、寿命の少なくなったフラッシュメモリデバイス120の代わりに、その移転先候補のフラッシュメモリデバイス120をデータの格納先として選択する(S72)。この場合、記憶制御装置10は、新たな格納先として選択されたフラッシュメモリデバイス120のデバイス番号をスケジュール管理テーブルT6に登録する(S68)。
これに対し、移転先候補のフラッシュメモリデバイス120が一つも検出できなかった場合(S69:NO)、または、移転先候補のフラッシュメモリデバイス120へのアクセスがリードアクセス中心ではない場合(S71:NO)、記憶制御装置10は、データの格納先をディスクドライブ210に変更する(S67)。
本実施例は上述の構成を備えるため、以下の効果を奏する。本実施例では、フラッシュメモリデバイス120とディスクドライブ210との消費電力の差のみならず、電力料金の時間帯による差を考慮して、データの格納先を制御する。
従って、電力料金の安い夜間のうちに、消費電力の大きいディスクドライブ210を作動させて、フラッシュメモリデバイス120に所定データを予めコピーしておくことができる。電力料金の高い昼間では、消費電力の小さいフラッシュメモリデバイス120を用いて、ホスト20からのアクセス要求を処理できる。従って、記憶制御装置10の消費電力を低減することができる。
本実施例では、ホスト20から受信したライトデータを、キャッシュメモリ150を介さずに、直接フラッシュメモリデバイス120に記憶させる構成のため、キャッシュメモリ150の使用量を低減することができ、さらに、ライトデータを記憶するまでの時間を短縮することができる。
図16に基づいて第2実施例を説明する。本実施例を含む以下の各実施例は、第1実施例の変形例に該当する。本実施例では、ホスト20から受信したライトデータをキャッシュメモリ150に記憶させた後で、そのライトデータをフラッシュメモリデバイス120またはディスクドライブ210のいずれかに記憶させる。
図16は、本実施例の記憶制御装置10により実行されるライト処理のフローチャートである。本フローチャートは、図12に示すフローチャートと共通のステップを多く含んでいる。そこで共通のステップについては説明を省略し、本フローチャートに特徴的なステップを中心に説明する。
記憶制御装置10は、ホスト20からライト要求を受信すると(S20)、まず、そのライトデータをキャッシュメモリ150に記憶させ(S21A)、続いて、更新の必要な管理テーブルを更新し(S22)、ホスト20に処理完了を報告する(S23)。
記憶制御装置10は、キャッシュメモリ150に記憶されたライトデータを、フラッシュメモリデバイス120に書き込むか否かを判定する(S80)。例えば、そのライトデータの格納先としてフラッシュメモリデバイス120が指定されている場合等には、ライトデータをフラッシュメモリデバイス120に書き込むことが決定される。
フラッシュメモリデバイス120にライトデータを書き込むことが決定された場合(S80:YES)、記憶制御装置10は、キャッシュメモリ150からフラッシュメモリデバイス120にライトデータを転送し、ライトデータをフラッシュメモリデバイス120に記憶させる(S81)。
フラッシュメモリデバイス120ではなくディスクドライブ210にライトデータを書き込むことが決定された場合(S80:NO)、記憶制御装置10は、ディスクドライブ210へのディステージ処理を実行する時期が到来するまで待機する(S30)。
ディスクドライブ210へのディステージ処理を実行可能な時期が到来すると(S30:YES)、記憶制御装置10は、書込先のディスクドライブ210にスピンアップコマンドを発行する(S31)。
また、ディスクドライブ210へのディステージ処理の実行時期を待っている間(S30:NO)、記憶制御装置10は、キャッシュメモリ150に十分な空き容量が存在するか否かを監視している(S82)。記憶制御装置10は、キャッシュメモリ150の空き容量が予め設定された値以下に低下したような場合(S82:NO)、書込先のディスクドライブ210にスピンアップコマンドを発行する(S31)。
記憶制御装置10は、書込先のディスクドライブ210の準備が完了すると(S32:YES)、そのディスクドライブ210にライトデータを書込み(S33)、更新が必要な管理テーブルを更新する(S34)。このように構成される本実施例も前記第1実施例と同様の効果を奏する。
図17に基づいて第3実施例を説明する。本実施例では、フラッシュメモリデバイス120を第2のキャッシュメモリのようにして使用する。図17は、本実施例の記憶制御装置10により実行されるライト処理を示すフローチャートである。
記憶制御装置10は、ホスト20からライトデータを受信すると(S90)、キャッシュメモリ150及びフラッシュメモリデバイス120の空き容量をそれぞれ確認し(S91)、フラッシュメモリデバイス120に所定値以上の空き容量があるか否かを判定する(S92)。
フラッシュメモリデバイス120に所定値以上の空き容量がある場合(S92:YES)、記憶制御装置10は、ライトデータをフラッシュメモリデバイス120に記憶させ(S93)、更新の必要のある管理テーブルを更新させる(S94)。最後に、記憶制御装置10は、ホスト20に処理完了を報告する(S95)。
これに対し、フラッシュメモリデバイス120に所定値以上の空き容量が無い場合(S92:NO)、記憶制御装置10は、キャッシュメモリ150に所定値以上の空き容量があるか否かを判定する(S96)。キャッシュメモリ150に所定値以上の空き容量がある場合(S96:YES)、記憶制御装置10は、ライトデータをキャッシュメモリ150に記憶させる(S97)。
キャッシュメモリ150に所定値以上の空き容量が無い場合(S96:NO)、記憶制御装置10は、ディスクドライブ210にライトデータを記憶させる。このように構成される本実施例も前記第1実施例と同様の効果を奏する。
図18に基づいて第4実施例を説明する。本実施例では、FM制御部120の変形例を説明する。図18は、本実施例によるFM制御部120の構成を示す説明図である。本実施例のFM制御部120は、第1実施例のメモリコントローラ125に代えてFMプロトコル処理部127を備える。また、本実施例のFM制御部120は、フラッシュメモリ126に代えて、フラッシュメモリデバイス128を有する。
FMプロトコル処理部127は、フラッシュメモリデバイス128との間のデータ通信を行うものである。なお、FMプロトコル処理部127に内蔵されているメモリ127Aには、フラッシュメモリデバイス128へのアクセスに関する履歴情報を記録させることができる。
FMプロトコル処理部127は、コネクタ129を介して、フラッシュメモリデバイス128に接続されている。従って、フラッシュメモリデバイス128は、着脱可能にFM制御部120に取り付けられている。
前記第1実施例では、FM制御部120の回路基板上にフラッシュメモリ126を設ける構成を示した。従って、前記実施例では、フラッシュメモリの容量を増加させたり、故障したフラッシュメモリを交換するのは面倒な作業となる。これに対し、本実施例では、FMプロトコル処理部127とフラッシュメモリデバイス128をコネクタ129を介して着脱可能に取り付けるため、新品のフラッシュメモリデバイス128や大容量のフラッシュメモリデバイス128に容易に交換することができる。
図19に基づいて第5実施例を説明する。本実施例では、FM制御部120の別の変形例を説明する。本実施例のFM制御部120は、各FMプロトコル処理部127に、通信経路127Bを介して、それぞれ複数ずつのフラッシュメモリデバイス128を接続している。これにより、本実施例では、より多数のフラッシュメモリデバイス128を利用することができる。
図20,図21に基づいて第6実施例を説明する。本実施例では、ユーザから予め指定等されている場合のみ、ホスト20から送信されたライトデータをフラッシュメモリデバイス120に記憶させ、それ以外の場合は、ライトデータをキャッシュメモリ150に記憶させる。
図20は、本実施例で使用されるスケジュール管理テーブルT11の一例を示す説明図である。この管理テーブルT11は、例えば、LU#と、LDEV#と、VDEV#と、PDEV#と、使用予定日時と、ユーザの希望条件と、現在の配置先と、キャッシュ動作とを対応付けて管理する。
「キャッシュ動作」とは、受信されたライトデータの格納先として、フラッシュメモリデバイス120を使用するか否かを指定するための情報である。キャッシュ動作は、ユーザによって予め指定することができる。なお、キャッシュ動作をユーザが手動で設定する構成に代えて、フラッシュメモリデバイス120にデータがコピー済(即ち、ステージング済)の場合、自動的に、ライトデータの格納先をフラッシュメモリデバイス120とする構成としても良い。
図21は、本実施例によるライト処理を示すフローチャートである。記憶制御装置10は、ホスト20からライトデータを受信すると(S100)、図20に示す管理テーブルT11を参照し(S101)、ライトデータの最初の格納先としてフラッシュメモリデバイス120を使用するか否かを判断する(S102)。
ライトデータの格納先デバイスとしてフラッシュメモリデバイス120を使用しないと判定した場合(S102:NO)、記憶制御装置10は、キャッシュメモリ150に所定値以上の空き容量が存在するか否かを判定する(S103)。つまり、記憶制御装置10は、ライトデータを記憶するのに十分な空き容量が有るか否かを判定する。
キャッシュメモリ150に所定値以上の空き容量が存在しない場合(S103:NO)、記憶制御装置10は、キャッシュメモリ150に記憶されているデータのうち、古いデータを削除することにより、所定値以上の空き容量を生成する(S104)。例えば、記憶制御装置10は、ディステージ処理が完了しているデータのうち、古いデータから順番に削除することにより、必要な量の空き容量を生成する。
ホスト20から発行されるライトコマンドには、これから送信しようとするライトデータのサイズが含まれている。記憶制御装置10は、ライトコマンドを受信すると、ライトデータを受け入れる準備が整っているか否かを判断し、ライトデータの受け入れ準備が整っていると判断した場合に、ホスト20に応答を返す。
そして、記憶制御装置10は、ホスト20から受信したライトデータをキャッシュメモリ150に記憶させる(S105)。記憶制御装置10は、更新の必要な管理テーブルを更新し(S106)、ホスト20にライトコマンドの処理が完了した旨を報告する(S107)。
キャッシュメモリ150に所定値以上の空き容量が存在する場合(S103:YES)、S104はスキップされてS105に移る。S102で、ライトデータの格納先としてフラッシュメモリデバイス120を使用すると判定された場合(S102:YES)、記憶制御装置10は、ホスト20から受信したライトデータをフラッシュメモリデバイス120に記憶させる(S108)。このように構成される本実施例も、前記第1実施例と同様の効果を奏する。
図22に基づいて第7実施例を説明する。本実施例では、フラッシュメモリデバイス120とディスクドライブ210との使用を切り替えるタイミングとして、第1実施例とは別の例を説明する。
図22は、本実施例による記憶制御装置10により実行されるデータ事前コピー処理を示すフローチャートである。図22に示すフローチャートは、図11に示すフローチャートと共通のステップを含んでいる。そこで、重複した説明を割愛し、本実施例に特徴的なステップを中心に説明する。
ディスクドライブ210からフラッシュメモリデバイス120への切替時期が到来したと判断された場合(S11:YES)、記憶制御装置10は、ディスクドライブ210からフラッシュメモリデバイス120へのデータのコピーを開始し、かつ、記憶制御装置10で消費される電力のおよそのコストの算出を開始する(S12A)。
コスト重視の設定がされている場合(S14:YES)、記憶制御装置10は、現在までの概算の電力コストが予め設定された基準値を越えたか否かを判定する(S15A)。基準値は、ユーザが予め設定することができる。基準値は、例えば、ユーザの許容できる電力コストの上限を示す金額として設定することができる。電力コストの概算金額が基準値を越えた場合(S15A:YES)、記憶制御装置10は、ディスクドライブ210からフラッシュメモリデバイス120へのデータコピーを終了させる(S16)。
次に、記憶制御装置10は、現在時刻が、管理テーブルに登録されているフラッシュメモリデバイス120の使用予定時刻の終了時刻よりも所定時間ts前の時刻であるか否かを判定する(S17A)。例えば、使用予定時刻が「平日の9時から18時」に設定されており、所定時間tsとして「1時間」が設定されている場合、記憶制御装置10は、現在時刻が17時であるか否かを判定する(18−1=17)。
S17AでYESと判定された場合、記憶制御装置10は、フラッシュメモリデバイス120からディスクドライブ210への差分コピーを開始する(S18)。所定時間tsは、ユーザが手動で設定することもできるし、予め設定される所定の観点に基づいて自動的に設定することもできる。所定の観点としては、例えば、フラッシュメモリデバイス120の使用中に発生した更新量の大小を挙げることができる。即ち、フラッシュメモリデバイス120からディスクドライブ210にコピーされる差分データの量に対応させて、所定時間tsを設定することができる。例えば、差分データの量が増大するほど、所定時間tsを長くすることができる。
このように構成される本実施例も前記第1実施例と同様の効果を奏する。さらに、本実施例では、概算の電力コストが基準値を超えた場合に、ディスクドライブ210からフラッシュメモリデバイス120へのデータコピーを完了させるため、ユーザの予算を超える電力コストの発生を抑制することができる。従って、ユーザは、記憶制御装置10のTCOを適切に管理することができ、使い勝手が向上する。
さらに、本実施例では、フラッシュメモリデバイス120からディスクドライブ210への差分コピーの開始時刻を、フラッシュメモリデバイス120の使用予定日時に関連づけて設定するため、フラッシュメモリデバイス120の使用が終了する時刻に応じて差分コピーを開始させることができる。なお、所定時間tsを廃止し、使用予定日時の終了時刻が到来した時点で、フラッシュメモリデバイス120からディスクドライブ210への差分コピーを開始させる構成でもよい。
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、NAND型フラッシュメモリデバイスとNOR型フラッシュメモリデバイスのように、技術的性質や性能等の相違する複数種類のフラッシュメモリデバイスを混在させて使用する構成でもよい。
本発明の実施形態の概念を示す説明図である。 記憶制御装置を含むストレージシステムの全体構成を示す説明図である。 記憶制御装置の使用例を示す模式図である。 チャネルアダプタの構成を示す説明図である。 フラッシュメモリ制御部の構成を示す説明図である。 マッピングテーブルを示す説明図である。 構成管理テーブル及びデバイス状態管理テーブル等を示す説明図である。 アクセス履歴管理テーブル及びスケジュール管理テーブル等を示す説明図である。 電力料金の変化とデータの格納先の変化との関係を模式的に示す説明図である。 スケジュール生成処理を示すフローチャートである。 ディスクドライブからフラッシュメモリデバイスにデータを事前にコピーさせる処理を示すフローチャートである。 ライト処理を示すフローチャートである。 差分コピー処理を示すフローチャートである。 リード処理を示すフローチャートである。 データの格納先を決定する処理を示すフローチャートである。 第2実施例の記憶制御装置で実行されるライト処理のフローチャートである。 第3実施例の記憶制御装置で実行されるライト処理のフローチャートである。 第4実施例の記憶制御装置で使用されるフラッシュメモリ制御部の構成を示す説明図である。 第5実施例の記憶制御装置で使用されるフラッシュメモリ制御部の構成を示す説明図である。 第6実施例の記憶制御装置で使用される管理テーブルを示す説明図である。 第6実施例の記憶制御装置で実行されるライト処理のフローチャートである。 第7実施例の記憶制御装置で実行される、ディスクドライブからフラッシュメモリデバイスにデータを事前にコピーさせる処理を示すフローチャートである。
符号の説明
1…記憶制御装置、2…ホスト、3…管理端末、4…制御部、5…キャッシュメモリ、6…ハードディスクドライブ、7…フラッシュメモリデバイス、8…スケジュール管理部、9…通信ネットワーク、10…記憶制御装置、11…論理ボリューム、20…ホスト、21…仮想ホスト、30…管理サーバ、40…外部記憶制御装置、41…コントローラ、42…ハードディスク搭載部、43…フラッシュメモリデバイス搭載部、50…ユーザ端末、100…コントローラ、110…チャネルアダプタ、111…マイクロプロセッサ、112…周辺処理部、113…メモリモジュール、113A…制御プログラム、113B…メールボックス、113C…転送リスト、114…チャネルプロトコル処理部、115…内部ネットワークインターフェース部、116,117…バス、120…フラッシュメモリ制御部(フラッシュメモリデバイス)、121…内部ネットワークインターフェース部、122…コントローラ、123…メモリコントローラ、124…メモリモジュール、124A…転送リスト、125…フラッシュメモリ用メモリコントローラ、125A…メモリ、126…フラッシュメモリ、127…FMプロトコル処理部、127A…メモリ、127B…通信経路、128…フラッシュメモリデバイス、129…コネクタ、130…ディスクアダプタ、140…サービスプロセッサ、150…キャッシュメモリ、160…制御メモリ、170…相互結合部、200…ハードディスク搭載部、210…ディスクドライブ、220…論理デバイス

Claims (16)

  1. 上位装置によって利用されるデータを記憶する記憶制御装置であって、
    不揮発性の書換可能な記憶媒体を備え、かつ、消費電力が相対的に低い第1記憶デバイスと、
    不揮発性の書換可能な記憶媒体を備え、かつ、消費電力が相対的に高い第2記憶デバイスと、
    電力コストに基づいて所定データの格納先を制御するためのスケジュールを管理するスケジュール管理部と、
    前記第1記憶デバイス及び前記第2記憶デバイスの作動をそれぞれ制御するための制御部であって、前記スケジュールに基づいて、前記所定データの格納先を前記第1記憶デバイスと前記第2記憶デバイスとの間で変更するための制御部と、
    を備える記憶制御装置。
  2. 前記制御部は、前記第1記憶デバイスを用いて、前記上位装置からのアクセス要求を処理する請求項1に記載の記憶制御装置。
  3. 前記制御部は、前記スケジュールに基づいて、前記所定データの格納先を、前記電力コストが相対的に高い時間帯では前記第1記憶デバイスに、前記電力コストが相対的に低い時間帯では前記第2記憶デバイスにとなるように、制御する請求項1に記載の記憶制御装置。
  4. 前記スケジュールには、前記上位装置が前記所定データにアクセスする第1期間を示す情報も記録されている請求項1に記載の記憶制御装置。
  5. 前記上位装置が前記所定データにアクセスする状況を検出して管理するアクセス状況管理部をさらに備え、前記アクセス状況管理部を用いることにより前記スケジュールが生成される請求項4記載の記憶制御装置。
  6. 前記スケジュールには、前記所定データを使用するユーザによって予め設定される条件も記録されている請求項4に記載の記憶制御装置。
  7. 前記制御部は、前記第1期間が到来する前に、前記所定データの少なくとも一部を、前記第2記憶デバイスから前記第1記憶デバイスに予めコピーし、かつ、前記第1期間が終了した後は、前記第1記憶デバイスの記憶内容と前記第2記憶デバイスの記憶内容の差分を前記第1記憶デバイスから前記第2記憶デバイスにコピーさせる、請求項4に記載の記憶制御装置。
  8. 前記制御部は、前記第1記憶デバイスの空き容量が所定値以上の場合は、前記上位装置から受信したライトデータを前記第1記憶デバイスに記憶し、前記第1記憶デバイスの空き容量が前記所定値未満の場合に、前記ライトデータを前記第2記憶デバイスに記憶させる請求項7に記載の記憶制御装置。
  9. キャッシュメモリをさらに備え、
    前記制御部は、
    (1)前記第1記憶デバイスの空き容量が所定値以上の場合は、前記上位装置から受信したライトデータを前記第1記憶デバイスに記憶し、
    (2)前記第1記憶デバイスの空き容量が前記所定値未満の場合、前記キャッシュメモリの空き容量が他の所定値以上であれば、前記ライトデータを前記キャッシュメモリに記憶し、
    (3)前記第1記憶デバイスの空き容量が前記所定値未満であって、かつ、前記キャッシュメモリの空き容量が前記他の所定値未満である場合、前記ライトデータを前記第2記憶デバイスに記憶させる、請求項7に記載の記憶制御装置。
  10. 前記スケジュールには、前記上位装置が前記所定データにアクセスする第1期間を示す情報と、前記所定データを使用するユーザにより設定される第1条件または第2条件のいずれか一方の条件とが、それぞれ設定されており、
    前記制御部は、(1)前記第1期間が到来する前に、前記第2記憶デバイスから前記第1記憶デバイスへの前記所定データのコピーを開始し、(1a)前記第1条件が設定されている場合、前記電力コストが相対的に低い時間帯から前記電力コストが相対的に高い時間帯に移行する際に前記コピーを終了し、(1b)前記第2条件が設定されている場合、前記電力コストが相対的に高い時間帯に移行した場合であっても、前記所定データの全てを前記第2記憶デバイスから前記第1記憶デバイスにコピーさせる、請求項3に記載の記憶制御装置。
  11. 前記制御部は、前記第2記憶デバイスから前記第1記憶デバイスに前記所定データの格納先が変更された場合、前記第2記憶デバイスを省電力状態に移行させる請求項1に記載の記憶制御装置。
  12. 前記制御部は、前記第1記憶デバイスの使用状況に基づいて前記第1記憶デバイスの寿命を予測し、予測された寿命が所定の閾値に達した場合には、前記所定データの格納先を前記第2記憶デバイスまたは別の第1記憶デバイスのいずれかに変更させる請求項1に記載の記憶制御装置。
  13. 前記制御部は、前記第1記憶デバイスの使用状況に基づいて前記第1記憶デバイスの寿命を予測し、予測された寿命が所定の閾値に達し、かつ、前記第1記憶デバイスに関する読出し要求の割合が予め設定された判定用閾値未満である場合に、前記所定データの格納先を前記第2記憶デバイスまたは別の第1記憶デバイスのいずれかに変更させる請求項1に記載の記憶制御装置。
  14. 前記制御部は、前記第1記憶デバイスの使用状況に基づいて前記第1記憶デバイスの寿命を予測し、(1)予測された寿命が所定の閾値に達した場合、(1a)前記第1記憶デバイスに関する読出し要求の割合が予め設定された判定用閾値未満である場合に、前記所定データの格納先を前記第2記憶デバイスに変更し、(1b)前記第1記憶デバイスに関する前記読出し要求の割合が前記判定用閾値以上である場合に、前記所定データの格納先を別の第1記憶デバイスに変更し、さらに、(2)前記予測された寿命が前記所定の閾値に達していない場合であっても、前記第1記憶デバイスに関する前記読出し要求の割合が前記判定用閾値未満の場合は、前記所定データの格納先を前記第2記憶デバイスに変更する、請求項1に記載の記憶制御装置。
  15. 前記第1記憶デバイスはフラッシュメモリデバイスであり、前記第2記憶デバイスはハードディスクデバイスである、請求項1に記載の記憶制御装置。
  16. 上位装置によって利用されるデータを記憶する記憶制御装置を制御するための方法であって、
    前記記憶制御装置は、消費電力が相対的に低い第1記憶デバイス及び消費電力が相対的に高い第2記憶デバイスをそれぞれ利用可能であり、
    前記上位装置が前記所定データにアクセスする第1期間が到来するよりも前の第2期間内に、前記第2記憶デバイスから前記第1記憶デバイスへの所定データのコピーを開始させるステップと、
    前記上位装置からのアクセス要求を前記第1記憶デバイスを用いて処理させるステップと、
    前記アクセス要求によって前記第1記憶デバイスと前記第2記憶デバイスとの間に生じた差分を検出するステップと、
    前記第1期間の終了後の別の第2期間内に、前記差分を前記第1記憶デバイスから前記第2記憶デバイスにコピーさせるステップと、
    を含み、かつ、
    前記第1期間は、電力コストが相対的に高い時間帯に設定されており、前記第2期間は、電力コストの相対的に低い時間帯に設定されている、記憶制御装置の制御方法。
JP2007121379A 2007-05-02 2007-05-02 記憶制御装置及び記憶制御装置の制御方法 Pending JP2008276626A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007121379A JP2008276626A (ja) 2007-05-02 2007-05-02 記憶制御装置及び記憶制御装置の制御方法
US11/968,776 US20080276016A1 (en) 2007-05-02 2008-01-03 Storage controller and storage controller control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007121379A JP2008276626A (ja) 2007-05-02 2007-05-02 記憶制御装置及び記憶制御装置の制御方法

Publications (1)

Publication Number Publication Date
JP2008276626A true JP2008276626A (ja) 2008-11-13

Family

ID=39940382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007121379A Pending JP2008276626A (ja) 2007-05-02 2007-05-02 記憶制御装置及び記憶制御装置の制御方法

Country Status (2)

Country Link
US (1) US20080276016A1 (ja)
JP (1) JP2008276626A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009193258A (ja) * 2008-02-13 2009-08-27 Dainippon Printing Co Ltd ディスク装置、データ転送方法、データ転送処理プログラム、及びデータバックアップシステム
JP2010139848A (ja) * 2008-12-12 2010-06-24 Ricoh Co Ltd 画像形成装置
JP2011028661A (ja) * 2009-07-29 2011-02-10 I-O Data Device Inc 複合記憶装置
JP2011107857A (ja) * 2009-11-16 2011-06-02 Hitachi Ltd 省電力機能を有するストレージシステム
JP2012118587A (ja) * 2010-11-29 2012-06-21 Canon Inc 管理装置及びその制御方法、並びにプログラム
JP2015079311A (ja) * 2013-10-15 2015-04-23 富士通株式会社 ストレージ管理装置、情報処理システムおよびストレージ管理プログラム
JP2016066275A (ja) * 2014-09-25 2016-04-28 京セラドキュメントソリューションズ株式会社 画像処理装置
JP2017041040A (ja) * 2015-08-19 2017-02-23 富士通株式会社 制御装置、ストレージシステム、及び制御プログラム
JP2020144910A (ja) * 2018-08-31 2020-09-10 キオクシア株式会社 情報処理装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8068433B2 (en) * 2007-11-26 2011-11-29 Microsoft Corporation Low power operation of networked devices
US8074014B2 (en) * 2008-03-31 2011-12-06 Microsoft Corporation Storage systems using write off-loading
US8510577B2 (en) * 2008-07-28 2013-08-13 Microsoft Corporation Reducing power consumption by offloading applications
JP5112523B2 (ja) * 2009-02-09 2013-01-09 株式会社日立製作所 ストレージシステムにおける通信経路の設定方法、及び管理装置
US8166232B2 (en) * 2009-04-02 2012-04-24 Hitachi, Ltd. Metrics and management for flash memory storage life
US8370672B2 (en) * 2010-02-26 2013-02-05 Microsoft Corporation Reducing power consumption of distributed storage systems
US9146875B1 (en) * 2010-08-09 2015-09-29 Western Digital Technologies, Inc. Hybrid drive converting non-volatile semiconductor memory to read only based on life remaining
US9489404B2 (en) 2010-09-29 2016-11-08 International Business Machines Corporation De-duplicating data in a network with power management
US8656454B2 (en) 2010-12-01 2014-02-18 Microsoft Corporation Data store including a file location attribute
US9384199B2 (en) 2011-03-31 2016-07-05 Microsoft Technology Licensing, Llc Distributed file system
US9921760B2 (en) 2015-10-22 2018-03-20 International Business Machines Corporation Shifting wearout of storage disks
US10528276B2 (en) 2015-10-22 2020-01-07 International Business Machines Corporation Shifting wearout of storage disks
US9886203B2 (en) 2015-10-22 2018-02-06 International Business Machines Corporation Shifting wearout of storage disks
US10222982B2 (en) * 2016-02-10 2019-03-05 Ricoh Company, Ltd. Lifetime management device and lifetime management method
US11079951B2 (en) * 2019-09-16 2021-08-03 International Business Machines Corporation Multi-tier storage and mirrored volumes

Family Cites Families (9)

* 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 データ記憶システム及び同システムに適用するキャッシュ制御方法
US6189106B1 (en) * 1998-05-08 2001-02-13 Gateway, Inc. Method and apparatus for operating an electronic device at an optimal power mode based upon a scheduled event
US6557079B1 (en) * 1999-12-20 2003-04-29 Emc Corporation Remote data facility prefetch
US20030009705A1 (en) * 2001-07-09 2003-01-09 Michael Thelander Monitoring and synchronization of power use of computers in a network
US7209838B1 (en) * 2003-09-29 2007-04-24 Rockwell Automation Technologies, Inc. System and method for energy monitoring and management using a backplane
US7136973B2 (en) * 2004-02-04 2006-11-14 Sandisk Corporation Dual media storage device
US7472222B2 (en) * 2004-10-12 2008-12-30 Hitachi Global Storage Technologies Netherlands B.V. HDD having both DRAM and flash memory
US20060230226A1 (en) * 2005-04-12 2006-10-12 M-Systems Flash Disk Pioneers, Ltd. Hard disk drive with optional cache memory
JP2007193441A (ja) * 2006-01-17 2007-08-02 Toshiba Corp 不揮発性キャッシュメモリを用いる記憶装置とその制御方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009193258A (ja) * 2008-02-13 2009-08-27 Dainippon Printing Co Ltd ディスク装置、データ転送方法、データ転送処理プログラム、及びデータバックアップシステム
JP2010139848A (ja) * 2008-12-12 2010-06-24 Ricoh Co Ltd 画像形成装置
JP2011028661A (ja) * 2009-07-29 2011-02-10 I-O Data Device Inc 複合記憶装置
JP2011107857A (ja) * 2009-11-16 2011-06-02 Hitachi Ltd 省電力機能を有するストレージシステム
JP2012118587A (ja) * 2010-11-29 2012-06-21 Canon Inc 管理装置及びその制御方法、並びにプログラム
JP2015079311A (ja) * 2013-10-15 2015-04-23 富士通株式会社 ストレージ管理装置、情報処理システムおよびストレージ管理プログラム
JP2016066275A (ja) * 2014-09-25 2016-04-28 京セラドキュメントソリューションズ株式会社 画像処理装置
JP2017041040A (ja) * 2015-08-19 2017-02-23 富士通株式会社 制御装置、ストレージシステム、及び制御プログラム
JP2020144910A (ja) * 2018-08-31 2020-09-10 キオクシア株式会社 情報処理装置

Also Published As

Publication number Publication date
US20080276016A1 (en) 2008-11-06

Similar Documents

Publication Publication Date Title
JP2008276626A (ja) 記憶制御装置及び記憶制御装置の制御方法
US8166270B2 (en) Storage control apparatus, data management system and data management method for determining storage heirarchy based on a user policy
EP1768014B1 (en) Storage control apparatus, data management system and data management method
JP4942446B2 (ja) ストレージ装置及びその制御方法
US7822928B2 (en) Storage device and storage device data life cycle control method
JP4428993B2 (ja) ディスクアレイ装置及びディスクアレイ装置の制御方法
US7707456B2 (en) Storage system
JP4901316B2 (ja) ストレージシステム及び記憶制御装置
JP2008015769A (ja) ストレージシステム及び書き込み分散方法
JP2006072789A (ja) ストレージシステム及びストレージシステムのデータ管理装置
JP6097845B2 (ja) 不揮発性キャッシュメモリにデータをバックアップするストレージシステム
JP2006106980A (ja) 記憶制御装置、記憶制御システム及び記憶制御方法
JP4813264B2 (ja) ストレージシステム
JP2009134367A (ja) 記憶制御装置及び記憶制御装置の制御方法
US7958324B2 (en) Computer system and command execution frequency control method
US10635154B2 (en) Intelligent SAS phy power management
US20070136398A1 (en) Storage system control device, storage system control program, and storage system control method