JP6735791B2 - 記憶制御システム及び消費電力制御方法 - Google Patents

記憶制御システム及び消費電力制御方法 Download PDF

Info

Publication number
JP6735791B2
JP6735791B2 JP2018113170A JP2018113170A JP6735791B2 JP 6735791 B2 JP6735791 B2 JP 6735791B2 JP 2018113170 A JP2018113170 A JP 2018113170A JP 2018113170 A JP2018113170 A JP 2018113170A JP 6735791 B2 JP6735791 B2 JP 6735791B2
Authority
JP
Japan
Prior art keywords
power control
power
control group
power saving
groups
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.)
Active
Application number
JP2018113170A
Other languages
English (en)
Other versions
JP2019215759A (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 JP2018113170A priority Critical patent/JP6735791B2/ja
Priority to US16/354,264 priority patent/US10983712B2/en
Publication of JP2019215759A publication Critical patent/JP2019215759A/ja
Application granted granted Critical
Publication of JP6735791B2 publication Critical patent/JP6735791B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Description

本発明は、概して、複数の記憶デバイスの記憶制御、特に、消費電力制御に関する。
複数の記憶デバイスの消費電力制御に関する技術として、例えば特許文献1に開示の技術が知られている。特許文献1によれば、HDD(Hard Disk Drive)単位、又は、RAID(Redundant Array of Independent (or Inexpensive) Disks)グループ単位で、消費電力の制御が行われる。
特開2013-097635号公報
近年、記憶デバイス単体の記憶容量は増大しており、少なくとも一つの記憶デバイスが複数のRAIDグループに所属することがある。このようなケースにおいて、HDD単位又はRAIDグループ単位で消費電力が制御されると、I/O性能が低下し、結果として、I/O性能と省電力との両立が損なわれるおそれがある。具体的には、例えば、或るHDD又は或るRAIDグループのI/O量(例えばI/O頻度)が小さいことを理由に、当該HDD又は当該RAIDグループの消費電力が下げられたとする。しかし、当該HDD、又は、当該RAIDグループに属する少なくとも一つのHDDが、I/O量が大きいRAIDグループに属している場合、I/O量が大きいRAIDグループのI/O性能が低下し得る。
このような課題は、RAIDグループに代えて又は加えて他種の冗長構成グループ(例えばRAIN(Redundant Array of Independent (or Inexpensive) Nodes))が採用されるケースについてもあり得る。
記憶制御システムは、複数の冗長構成グループの基になる複数の記憶デバイスが分類された複数の電力制御グループの各々について当該電力制御グループのI/O(Input/Output)量を取得する。複数の電力制御グループの各々について、記憶制御システムは、当該電力制御グループに関し取得されたI/O量を基に、当該電力制御グループに属する各記憶デバイスの消費電力を、電力制御グループ単位で制御する。複数の冗長構成グループのいずれも、複数の電力制御グループのうちの二つ以上の電力制御グループに跨らず、複数の電力制御グループのいずれかに含まれている。
本発明によれば、少なくとも一つの記憶デバイスが複数の冗長構成グループに所属しても、I/O性能と省電力との両立を維持することができる。
実施例1の概要を模式的に示す。 記憶システムを含むシステム全体の構成を示す。 PSNG管理テーブルの構成を示す。 I/O性能要件テーブルの構成を示す。 マッピングテーブルの構成を示す。 電力管理テーブルの構成を示す。 或るNVRAMの電力特性を示す。 PSNG構築処理のフローを示す。 消費電力制御全体のフローを示す。 対象PSNGについての消費電力制御のフローを示す。 対象PSNGについてのレベル上げの処理のフローを示す。 対象PSNGについてのレベル下げの処理のフローを示す。 実施例2に係るマッピングテーブルの構成を示す。
以下の説明では、「インターフェース部」は、一つ以上のインターフェースでよい。当該一つ以上のインターフェースは、一つ以上の同種の通信インターフェースデバイス(例えば一つ以上のNIC(Network Interface Card))であってもよいし二つ以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
また、以下の説明では、「メモリ部」は、一つ以上のメモリであり、典型的には主記憶デバイスでよい。
また、以下の説明では、「PDEV部」は、一つ以上のPDEVであり、典型的には補助記憶デバイスでよい。「PDEV」は、記憶デバイスの一例であり、特に、物理的な記憶デバイス(Physical storage DEVice)を意味し、典型的には、不揮発性の記憶デバイスである。
また、以下の説明では、「記憶部」は、メモリ部とPDEV部の少なくとも一部とのうちの少なくとも一つ(典型的には少なくともメモリ部)である。
また、以下の説明では、「プロセッサ部」は、一つ以上のプロセッサである。少なくとも一つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサであるが、GPU(Graphics Processing Unit)のような他種のプロセッサでもよい。少なくとも一つのプロセッサは、シングルコアでもよいしマルチコアでもよい。少なくとも一つのプロセッサは、処理の一部又は全部を行うハードウェア回路(例えばFPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))といった広義のプロセッサでもよい。
また、以下の説明では、「xxxテーブル」といった表現にて、入力に対して出力が得られる情報を説明することがあるが、この種の情報は、どのような構造のデータでもよいし、入力に対する出力を発生するニューラルネットワークのような学習モデルでもよい。従って、「xxxテーブル」を「xxx情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、一つのテーブルは、二つ以上のテーブルに分割されてもよいし、二つ以上のテーブルの全部又は一部が一つのテーブルであってもよい。
また、以下の説明では、「kkk部」(インターフェース部、記憶部及びプロセッサ部を除く)の表現にて機能を説明することがあるが、機能は、一つ以上のコンピュータプログラムがプロセッサ部によって実行されることで実現されてもよいし、一つ以上のハードウェア回路(例えばFPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))によって実現されてもよい。プログラムがプロセッサ部によって実行されることで機能が実現される場合、定められた処理が、適宜に記憶部及び/又はインターフェース部等を用いながら行われるため、機能はプロセッサ部の少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサ部あるいはそのプロセッサ部を有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機又は計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が一つの機能にまとめられたり、一つの機能が複数の機能に分割されたりしてもよい。
また、以下の説明では、「冗長構成グループ」は、二つ以上の記憶デバイスで構成され冗長化されたデータを格納する記憶デバイスグループである。冗長構成の例としては、Erasure Coding、RAIN(Redundant Array of Independent Nodes)、ノード間ミラーリング、RAID(Redundant Array of Independent (or Inexpensive) Disks)などがあり、いずれの冗長構成が採用されてもよい。従って、「記憶デバイス」は、NVRAM(Non-Volatile RAM)のような記憶媒体でもよいし、スケールアウト型の記憶システムの構成要素としてのノード(例えば汎用計算機)でもよい。また、「記憶システム」は、複数の記憶媒体を複数の記憶デバイスとして有する記憶システムでもよいし、複数のノードを複数の記憶デバイスとして有する記憶システム(例えば分散記憶システム)でもよい。以下の実施例では、記憶システムは、前者の記憶システムであり、前者の記憶システムについて、記憶制御システムは、記憶システム内のコントローラでよい。後者の記憶システムについて、記憶制御システムは、各ノードにおいて所定のプログラムを実行するプロセッサ部でよい。具体的には、例えば、「記憶システム」は、一つ以上の物理的な計算機を含んだシステムでよい。物理的な計算機は、汎用計算機でも専用計算機でもよい。少なくとも一つの物理的な計算機において、一つ以上の仮想的な計算機(例えばVM(Virtual Machine))が実行されてもよい。仮想的な計算機は、I/O要求を発行する計算機でもよいし、I/O要求に応答してデータのI/Oを行う計算機でもよい。物理的な計算機が所定のソフトウェアを実行することにより、当該物理的な計算機、又は、当該物理的な計算機を含んだシステムに、SDx(Software-Defined anything)が構築されてもよい。SDxとしては、例えば、SDS(Software Defined Storage)又はSDDC(Software-defined Datacenter)を採用することができる。例えば、ストレージ機能を有するソフトウェアが物理的な汎用の計算機で実行されることにより、SDSとしての記憶システムが構築されてもよい。また、少なくとも一つの物理的な計算機(例えばストレージ装置)が、ホスト計算機としての一つ以上の仮想的な計算機と、記憶システムの記憶制御システム(典型的には、I/O要求に応答してデータをPDEV部に対して入出力する装置)としての仮想的な計算機とが実行されてもよい。言い換えれば、当該少なくとも一つの物理的な計算機は、ホスト計算機の少なくとも一部として機能と、記憶システムの少なくとも一部としての機能の両方を有してもよい。
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号を使用し、同種の要素を区別して説明する場合には、要素のIDを使用することがある。例えば、NVRAMを特に区別しないで説明する場合には、「NVRAM110」と記載し、個々のNVRAMを区別して説明する場合には、「NVRAM1」、「NVRAM2」のように記載することがある。なお、以下の説明では、参照符号は3桁以上であり、IDは3桁未満である。
以下、幾つかの実施例を説明する。
図1は、実施例1の概要を模式的に示す。
記憶システム100は、複数のNVRAM110と、複数のNVRAM110に対するデータのI/O(Input/Output)を制御する記憶制御システム101とを有する。NVRAM110は、不揮発性の半導体メモリを有するデバイスである。当該メモリは、フラッシュメモリ、PRAM(Phase-change Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)、ReRAM(Resistive Random Access Memory)又はFeRAM(Ferroelectric Random Access Memory)でよい。
記憶制御システム101は、後述の管理PCからの指示、又は、予め設定されたポリシーに従って、RAIDグループ(冗長構成グループの一例)120の上位のNVRAMグループ130を作成する。上位のNVRAMグループ130は、電力制御グループの一例である。以下、上位のNRAMグループ130を、PSNG(Power Saving NVRAM Group)130と言う。記憶制御システム101は、NVRAM110の消費電力制御をPSNG単位で行う。いずれのRAIDグループ120も、いずれかのPSNG130に含まれている。別の言い方をすれば、いずれのRAIDグループ120も、二つ以上のPSNG130に跨らない。つまり、一つのRAIDグループ120に属する全てのNVRAM110は、いずれか一つのPSNG130に含まれており、二つ以上のPSNG130に跨ることは無い。具体的には、例えば、図示の通り、1つのNVRAM110(NVRAM3〜5の各々)が複数のRAIDグループ120(RAIDグループ1及び2)に属し得るが、いずれのRAIDグループ110も、二つ以上のPSNG130に跨らない。
記憶制御システム101は、I/O量取得部141と、電力制御部142とを有する。
I/O量取得部141は、I/O量を、複数のPSNG130の各々について取得する。I/O量は、定期的に又は不定期的に取得されてよい。取得されるI/O量は、I/O量取得部141(又は記憶制御システム101とは別のシステム)により計測されたI/O量でよい。「I/O量」として、「I/O数」及び「I/Oサイズ」の少なくとも一つを採用することができる。「I/O数」は、I/Oコマンドの数(例えば、単位時間当たりのI/Oコマンドの数(つまり、IOPSのようなI/O頻度))である。「I/Oサイズ」は、I/O対象のデータのサイズ(例えば、単位時間当たりに入出力されるデータのサイズ(転送速度のようなI/Oスループット))である。各PSNG130について、当該PSNG130のI/O量は、当該PSNG130に属する全NVRAM110のI/O量に従うI/O量(例えば、合計又は平均)である。
電力制御部142は、複数のPSNG130の各々について、当該PSNG130に関し取得されたI/O量を基に、当該PSNG130に属する各NVRAM110の消費電力を、PSNG単位で制御する。
これにより、少なくとも一つのNVRAM110が複数のRAIDグループ120に所属しても、I/O性能と省電力との両立を維持することができる。
PSNG単位での省電力のレベルとして、複数段階の省電力レベルが設けられている。例えば、下記のうちの少なくとも一つは、PSNG130によって異なっていてもよいし、全てのPSNG130に共通でもよい。
・省電力レベルの数(段階の数)。
・省電力レベルとしての値。例えば、図示の“Normal”、“Level1”、“Level2”。本実施例では、“Noraml”が最も省電力レベルが低く(省電力が弱い、言い換えれば、消費電力が大きい)、“Levelα”におけるαの数値が大きい程、省電力レベルが高い(省電力が強い、言い換えれば、消費電力が小さい)。
・省電力レベル毎のI/O性能要件。具体的には、各省電力レベルについて、当該省電力レベルに従う省電力状態において必要とされるI/O性能。I/O性能要件は、I/O量の閾値範囲と言うこともできる。別の言い方をすれば、「I/O性能」も、「I/O量」と同様、「I/O数」及び「I/Oサイズ」の少なくとも一つで表現される。
各省電力レベルに、I/O性能要件(I/O量の上限及び下限の閾値)が関連付けられる。I/O性能要件は、例えばユーザ(例えば管理者)により手動設定されるが、所定のポリシーを基に自動設定されてもよい。電力制御部142は、各PSNG130について、下記(a)〜(d)を行う。
(a)当該PSNG130について取得されたI/O量が、当該PSNG130の現在の省電力レベルに対応したI/O性能要件(I/O量の閾値範囲)を満たすか否かを判断する。
(b)(a)の判断結果が真の場合、当該PSNG130の省電力レベルを、現在の省電力レベルに維持する(例えば、PSNG1についてのCase1及びCase2を参照)。
(c)(a)の判断結果が偽であり、且つ、当該PSNG130のI/O量が、当該PSNG130の現在の省電力レベルに対応した下限閾値未満の場合、現在の省電力レベルを上げる、つまり、省電力を強める(例えば、PSNG2についてのCase3、及び、PSNG3についてのCase5及び6を参照)。
(d)(a)の判断結果が偽であり、且つ、当該PSNG130のI/O量が、当該PSNG130の現在の省電力レベルに対応した上限閾値以上の場合、現在の省電力レベルを下げる、つまり、省電力を弱める(例えば、PSNG2についてのCase4を参照)。
以上の処理により、各PSNG110について、設定される省電力レベルは、取得されたI/O量に適した省電力レベルに維持される。具体的には、例えば、次の通りである。すなわち、I/O量の変化が小さいままであれば、省電力レベルの変更はない(Case1及びCase2を参照)。I/O量が減った後に増えたならば、省電力レベルは上がった後に下がる(Case3及び4を参照)。I/O量が減った後に更に減ったならば、省電力レベルは上がった後に更に上がる(Case5及び6を参照)。なお、設定される省電力レベル(現在の省電力レベル)は、取得されたI/O量とI/O性能要件との関係に関わらずに1段ずつ変更されてもよいし、取得されたI/O量が満たすI/O性能要件に対応した省電力レベルに変更されてもよい。
PSNG130の電力制御には、NVRAM110の省電力機能が利用される。NVRAM110は、I/O可能な状態である複数段階の省電力状態のいずれにも遷移可能な(I/O可能な複数段階の省電力レベルのいずれも設定され得る)記憶デバイスの一例である。具体的には、例えば、NVRAM110は、複数段階の省電力レベルを有する。以下、混同を避けるため、適宜、PSNG130についての省電力レベルを、「PSNG省電力レベル」と言い、NVRAM110についての省電力レベルを、「NVRAM省電力レベル」と言うことがある。NVRAM省電力レベルとして、図1には、“N”(Normal)、“Lv1”、“Lv2”が例示されている。“Lvβ”におけるβの数値が大きい程、省電力レベルが高い(省電力が強い、言い換えれば、消費電力が小さい)。NVRAM110のI/O性能は、NVRAM省電力レベルに応じて異なる。複数のNVRAM110の少なくとも一部は、電力特性(I/O性能と消費電力との関係)が異なる二つ以上のNVRAM110を含む。具体的には、例えば、NVRAM110の電力特性は、NVRAM110によって(又は、NVRAM110の型名等の種別によって)異なる。そこで、本実施例では、各PSNG省電力レベルに、各NVRAM110について、当該NVRAM110に対応した複数段階のNVRAM省電力レベルのうち該当のNVRAM省電力レベルが関連付けられる。PSNG単位の消費電力制御では、各PSNG130について、当該PSNG130に属する各NVRAM110のNVRAM省電力レベルは、当該PSNG130の現在の省電力レベルに関連付けられているNVRAM省電力レベルとされる。このため、一つのPSNG130において、設定されるNVRAM省電力レベルの値にばらつきが生じ得る(Case6参照)。電力特性の異なるNVRAM110が一つのPSNG130に混在しても、当該一つのPSNG130において、全NVRAM110のI/O性能が平準(均一)になることが期待できる。なお、NVRAM省電力レベルの設定とは、NVRAM110の後述の省電力設定レジスタに、NVRAM省電力レベルに従う指定値を設定することである。NVRAM110は、設定された指定値に従い、当該NVRAM110の消費電力を制御する。指定値は、NVRAM省電力レベル相当である。従って、NVRAM省電力レベルをPSNG省電力レベルに関連付けることは、指定値をPSNG省電力レベルに関連付けることに相当する。言い換えれば、NVRAM省電力レベルの有無に関わらず、NVRAM110用の指定値は、PSNG省電力レベルに関連付けられる。
電力制御部142は、全体消費電力をパワーキャッピング値(全体消費電力の上限値)以下に維持するためにPSNG130間の省電力レベルを調整する。具体的には、例えば、電力制御部142は、第1のPSNG130の省電力レベルを下げる際に、当該或るPSNG130の省電力レベルを下げたと仮定した場合の見積もられる全体消費電力が、パワーキャッピング値を超えるか否かを判断する。「全体省電力」は、複数のNVRAM110を含む全体(例えば記憶システム100)についての消費電力である。その判断の結果が真であれば、電力制御部142は、第2のPSN130の省電力レベルを上げることで、見積もられる全体消費電力をパワーキャッピング値以下に維持する。「第2のPSNG」は、第1のPSNGよりもQoS(Quality of Service)プライオリティ(プライオリティの一例)の低いPSNGである。これにより、QoSプライオリティを満たしつつI/O性能と省電力との両立を維持することができる。なお、パワーキャッピング値は、ユーザ(例えば管理者)により後述の管理PC経由で設定(変更)されてよい。
以下、本実施例を詳細に説明する。
図2は、記憶システムを含むシステム全体の構成を示す。
ネットワーク280に、記憶システム100、ホストサーバ260及び管理PC(Personal Computer)270が接続される。ホストサーバ260は、ホスト計算機の一例であり、記憶システム100から提供されるボリューム(アドレス空間)に対してI/O要求を発行する。管理PC270は、管理計算機の一例であり、記憶システム100を管理する。ユーザ(典型的には管理者)は、管理PC270(又はホストサーバ260)経由で、PSNG130の設定や、RAIDグループ120の設定や、パワーキャッピング値の設定を、記憶制御システム101に対して行うことができる。ネットワーク280は、ファイバチャネル(Fibre Channel)、イーサネット(登録商標)、InfiniBand又はLAN(Local Area Network)などから構成される一つ以上のネットワークでよい。
記憶システム100は、複数のNVRAM110と、複数のNVRAM110に対するI/Oを制御する記憶制御システム101と、商用電源(交流電源)を直流電源に変えて記憶システム100内の各種ハードウェア資源に供給する電源装置250とを備える。電源装置250は、全体消費電力を計測する電源モニタ部251を有する。
各NVRAM110は、消費電力制御のための指定値が設定されるレジスタである省電力設定レジスタ220を有する。各NVRAM110は、当該NVRAM110の省電力設定レジスタ220に設定された指定値に従い、当該NVRAM110の消費電力制御を制御する。
記憶制御システム101は、例えば、冗長化されたストレージコントローラ210である。ストレージコントローラ210は、FE(フロントエンド)インターフェース211、BE(バックエンド)インターフェース212、メモリ213、及び、それらに接続されたCPU214を有する。FEインターフェース211及びBEインターフェース212は、インターフェース部の一例である。メモリ213は、メモリ部の一例である。CPU214は、プロセッサ部の一例である。
FEインターフェース211は、ネットワーク280に接続され、記憶システム100の外部の装置(ホストサーバ260及び管理PC270)と通信するためのインターフェースデバイスである。BEインターフェース212は、NVRAM110と通信するためのインターフェースデバイスである。
メモリ213は、SRAM(Static RAM(Random Access Memory))やDRAM(Dynamic RAM)などの揮発性の半導体メモリから構成されてよい。メモリ213は、制御プログラム291を含む複数のプログラムや、一つ以上のテーブルであるテーブル群292(管理情報の一例)を記憶する。テーブル群292は、後述のPSNG管理テーブル、I/O性能要件テーブル、マッピングテーブル及び電力管理テーブルを含む。
CPU214は、メモリ213内のプログラムを実行することでストレージコントローラ210全体の動作制御を司る。例えば、CPU214が制御プログラム291を実行することで、I/O制御部295、I/O量取得部141、電力制御部142、構成管理部296及び電力モニタ部297といった機能が実現される。I/O制御部295は、ホストサーバ260からのI/O要求に従い(又は所定の内部処理において)NVRAM110に対するI/Oを制御する。I/O量取得部141及び電力制御部142については上述の通りである。構成管理部296は、PSNG130の設定等を行う。電力モニタ部297は、全体消費電力を電源装置250の電源モニタ部251から取得する。
以下、テーブル群292に含まれるPSNG管理テーブル、I/O性能要件テーブル、マッピングテーブル及び電力管理テーブルを説明する。
図3は、PSNG管理テーブルの構成を示す。
PSNG管理テーブル300は、各PSNG130の構成に関する情報を保持する。具体的には、例えば、PSNG管理テーブル300は、NVRAM110毎にエントリを有する。各エントリは、PSNG#301、PSNG省電力レベル302、QoS303、NVRAM#304、RG#305、スタートアドレス306及び容量307といった情報を格納する。PSNG省電力レベル302は、現在レベル311、下限312及び上限313を含む。以下、一つのNVRAM110を例に取る(図3の説明において「対象NVRAM110」)。
PSNG#301は、対象NVRAM110を含むPSNG130のID(例えば識別番号)を示す。図3の説明において、対象NVRAM110を含むPSNG130を、「対象PSNG130」と言う。現在レベル311は、対象PSNG130について設定されている現在のPSNG省電力レベルを示す。下限312は、対象PSNG130について設定され得るPSNG省電力レベルのうちの下限を示す。上限313は、対象PSNG130について設定され得るPSNG省電力レベルのうちの上限を示す。QoS303は、対象PSNG130について設定されているQoSプライオリティを示す。NVRAM#304は、対象NVRAM110のIDを示す。RG#305は、対象NVRAM110を含むRAIDグループ120のIDを示す。図3の説明において、対象NVRAM110を含むRAIDグループ120を、「対象RG120」と言う。スタートアドレス306は、対象RG120が提供する論理アドレス空間のうち対象NVRAM110が提供する論理アドレス空間の先頭アドレスを示す。容量307は、対象NVRAM110の記憶容量を示す。
本実施例では、QoS303の値が小さい程、QoSプライオリティは高い(すなわち、“1st”が最もQoSプライオリティが高い)。
図4は、I/O性能要件テーブルの構成を示す。
I/O性能要件テーブル400は、I/O性能要件に関する情報を保持する。具体的には、例えば、I/O性能要件テーブル400は、各PSNG130のPSNG省電力レベル毎にエントリを有する。各エントリは、PSNG#401、省電力レベル402及びI/O性能要件403といった情報を保持する。I/O性能要件403は、上限411及び下限412を含む。以下、一つのPSNG130の一つの省電力レベルを例に取る(図4の説明において「対象PSNG130」及び「対象PSNG省電力レベル」と言う)。
PSNG#401は、対象PSNG130のIDである。省電力レベル402は、対象PSNG省電力レベルを示す。上限411は、対象PSNG省電力レベルに対応したI/O性能要件(I/O量の閾値範囲)のうちの上限を示す。下限412は、対象PSNG省電力レベルに対応したI/O性能要件のうちの下限を示す。
I/O量の閾値は、単位時間)例えば1分)当たりのI/O数とI/Oサイズの両方である。対象PSNG130について取得されたI/O量が上限411以上又は下限412未満であるとは、対象PSNG130について取得されたI/O量としての単位時間当たりのI/O数及びI/Oサイズの両方(又は一方)が、上限411以上又は下限412未満であることである。
なお、複数段階のPSNG省電力レベルは、全てのPSNG130に共通でもよい。
図5は、マッピングテーブルの構成を示す。
マッピングテーブル500は、PSNG130のPSNG省電力レベルと当該PSNG130に属する各NVRAM110のNVRAM省電力レベルとの対応関係を示す情報を保持する。PSNG130毎にPSNG省電力レベルの段階数やI/O性能要件等が違っていれば、マッピングテーブル500はPSNG130毎に用意されてよいし、全てのPSNG130にPSNG省電力レベルの段階数やI/O性能要件等が共通であれば、マッピングテーブル500は全てのPSNG130について共通でよい。
一つのPSNG130を例に取る(図5の説明において「対象PSNG130」)。マッピングテーブル500では、具体的には、例えば、対象PSNG130の複数段階の省電力レベルの各々に、対象PSNG130に属する各NVRAM(又は、NVRAM種別)について、当該NVRAM110に対応した複数段階のNVRAM省電力レベルのうち該当のNVRAM省電力レベルが関連付けられている。一つのPSNG省電力レベルと一つのNVRAM110を例に取ると、「該当のNVRAM省電力レベル」とは、当該PSNG省電力レベルに対応したI/O性能(例えば、当該PSNG省電力レベルについて図5に例示の「性能指標」が示すI/O性能)を当該NVRAM110が発揮するためのNVRAM省電力レベルのうち最も高いNVRAM省電力レベル(つまり、最も省電力が強い)である。このため、対象PSNG130に電力特性が異なる二つ以上のNVRAM110が混在する場合、それら二つ以上のNVRAM110については、同一のPSNG省電力レベルに関連付けられるNVRAM省電力レベルは異なる。図5の例によれば、PSNG省電力レベル“Level2”に、NVRAM1については、NVRAM省電力レベル“LV2”が関連付けられているが、NVRAM3については、NVRAM1の省電力レベルとは異なる省電力レベル“LV1”が関連付けられている。なお、各PSNG省電力レベルについて、図5に示す「性能指標」は、当該PSNG省電力レベルに対応したI/O性能要件でもよい。
マッピングテーブル500は、更に、各NVRAM110の各NVRAM省電力レベルについて、発揮可能なI/O性能(ライト性能及びリード性能)と、消費電力とを示す情報も保持している。
マッピングテーブル500は、例えば次のようにして用意されてよい。すなわち、構成管理部296が、各NVRAM110について、当該NVRAM110の電力特性(I/O性能と消費電力の関係)を当該NVRAM110からスキャンし、各NVRAM110からスキャンされた情報を基にマッピングテーブル500を作成してよい。又は、制御プログラム291をコーディングする際にNVRAM110の各種型名について電力特性を辞書としてコードに埋め込んでおき、構成管理部296が、NVRAM110の認識の際に型名をスキャンし当該型名をキーに辞書を引いて、マッピングテーブル500を作成してもよい。
図6は、電力管理テーブルの構成を示す。
電力管理テーブル600は、現在の全体消費電力を示す値である現在値と、パワーキャッピング値とを保持する。現在値は、電力モニタ部297により電源装置250から定期的又は不定期的に取得され電力管理テーブル600に登録される。パワーキャッピング値は、ユーザから管理PC270(又はホストサーバ260)経由で入力され構成管理部296により電力管理テーブル600に登録されてよい。
図7は、或るNVRAM110の電力特性を示す。
図7に示すように、複数段階のNVRAM省電力レベルの各々について、消費電力とI/O性能が異なる。また、複数段階のNVRAM省電力レベルの各々について、省電力設定レジスタ220に設定される指定値がある。なお、同一のNVRAM110について、二つ以上のNVRAM省電力レベルの各々が、省電力状態であってもI/O可能である省電力レベルである。図7に例示の電力特性、NVRAM省電力レベル及び指定値の関係は、当該NVRAM110に設定されているが、更にテーブルとしてストレージコントローラ210のメモリ213に格納されていてもよい。
以下、本実施例で行われる処理の一例を説明する。
図8は、PSNG構築処理のフローを示す。
構成管理部296は、各NVRAM110から型名や電力特性を示す情報を取得(スキャン)し、当該情報を基にマッピングテーブル500を作成する(S801)。
構成管理部296は、PSNG130を作成し、作成したPSNG130に関する情報をPSNG管理テーブル300に登録する(S802)。PSNG130は、所定のポリシーに基づいて自動で作成されてもよいし、ユーザからの指示に従って作成されてもよい。
構成管理部296は、作成された各PSNG130について、QoSプライオリティやPSNG省電力レベルの下限及び上限を、PSNG管理テーブル300に登録する(S803)。各PSNG130について、QoSプライオリティやPSNG省電力レベルの下限及び上限は、所定のポリシーに基づいて自動で決定されてもよいし、ユーザからの指示通りであってもよい。
構成管理部296は、RAIDグループ120を作成し、作成したRAIDグループ120に関する情報をPSNG管理テーブル300に登録する(S804)。その際、構成管理部296は、PSNG130内に一つ以上のRAIDグループ120を作成することを許可する(実行する)が、二つ以上のPSNG130にRAIDグループ120が跨ることを禁止する(非実行とする)。RAIDグループ120は、所定のポリシーに基づいて自動で作成されてもよいし、ユーザからの指示に従って作成されてもよい。
構成管理部296は、パワーキャッピング値を電力管理テーブル600に登録する(S805)。パワーキャッピング値は、所定のポリシーに基づいて自動で決定されてもよいし、ユーザからの指示通りであってもよい。
図9は、消費電力制御全体のフローを示す。
I/O量取得部141が、PSNG管理テーブル300を参照し、QoS303の値の昇順に(QoSプライオリティが高い順に)、消費電力制御を起動する(S901、S902、S903、…)。
以下、図10〜図12を参照して、一つのPSNG130を例に取り、消費電力制御を説明する(図10〜図12の説明において、「対象PSNG130」)。
図10は、対象PSNG130についての消費電力制御のフローを示す。
I/O量取得部141が、対象PSNG130のI/O量を取得する(S1001)。なお、本実施例では、各PSNG130について、取得されるI/O量は、当該PSNG130に属する全NVRAM110のI/O量の合計とする。具体的には、例えば、各NVRAM110のI/O量がI/O量取得部141により計測(監視)されていて、その計測結果を基に、各PSNG130についてI/O量の取得が可能である。
電力制御部142が、I/O性能要件テーブル400を参照し、取得されたI/O量(Xc)が、対象PSNG130に対応した下限412未満か否かを判断する(S1002)。
S1002の判断結果が真の場合(S1002:Yes)、対象PSNG130についてのレベル上げの処理(図11)が行われる(S1003)。対象PSNG130についての現在の省電力レベルは、取得されたI/O量が相対的に少ないためより省電力を強くすることが望ましいからである。
S1002の判断結果が偽の場合(S1002:No)、電力制御部142が、I/O性能要件テーブル400を参照し、取得されたI/O量が、対象PSNG130に対応した上限411以上か否かを判断する(S1004)。
S1004の判断結果が偽の場合(S1004:No)、処理が終了する。言い換えれば、電力制御部142が、対象PSNG130についての現在の省電力レベルを維持する。取得されたI/O量が、対象PSNG130についての現在の省電力レベルに対応したI/O性能要件を満たすからである。
S1004の判断結果が真の場合(S1002:Yes)、対象PSNG130についてのレベル下げの処理(図12)が行われる(S1005)。対象PSNG130についての現在の省電力レベルは、取得されたI/O量が相対的に多いためより省電力を弱くしI/O性能をより発揮できるようにすることが望ましいからである。
図11は、対象PSNG130についてのレベル上げの処理のフローを示す。
電力制御部142が、PSNG管理テーブル300を参照し、対象PSNG130の現在レベル311が上限313に到達しているか否かを判断する(S1101)。
S1101の判断結果が真の場合(S1101:Yes)、処理が終了する。言い換えれば、電力制御部142が、対象PSNG130についての現在の省電力レベルを維持する。対象PSNG130についての現在の省電力レベルをこれ以上上げることができないからである。
S1101の判断結果が偽の場合(S1101:No)、電力制御部142が、対象PSNG130についての現在の省電力レベルを一段階上げる(S1102)。具体的には、電力制御部142は、対象PSNG130についての現在レベル311を一段階上げ、且つ、マッピングテーブル500を参照し、対象PSNG130に属する各NVRAM110のレジスタ220に、必要があれば、変更後の現在レベル311に対応したNVRAM省電力レベルに対応した指定値を設定する。
図12は、対象PSNG130についてのレベル下げの処理のフローを示す。
電力制御部142が、PSNG管理テーブル300を参照し、対象PSNG130の現在レベル311が下限312に到達しているか否かを判断する(S1201)。
S1201の判断結果が真の場合(S1201:Yes)、処理が終了する。言い換えれば、電力制御部142が、対象PSNG130についての現在の省電力レベルを維持する。対象PSNG130についての現在の省電力レベルをこれ以上下げることができないからである。
S1201の判断結果が偽の場合(S1201:No)、対象PSNG130の現在の省電力レベルを下げたと仮定した場合の全体消費電力の見積りが行われる。具体的には、電力制御部142が、電力モニタ部297に、対象PSNG130の現在の省電力レベルを一段階下げたと仮定した場合の全体消費電力の見積りを依頼する(S1202)。当該依頼に応答して、電力モニタ部297が、現在の全体消費電力の値を取得し(例えば、電力管理テーブル600から取得し、又は、電源装置250の電源モニタ部251に記録されている全体消費電力の値を取得し)、当該全体消費電力の値と、マッピングテーブル500を基に、対象PSNG130の現在の省電力レベルを一段階下げたと仮定した場合の全体消費電力を見積る(S1203)。例えば、電力モニタ部297は、対象PSNG130に属する各NVRAM110について、現在のPSNG省電力レベルを一段階下げた後のPSNG省電力レベルに対応した消費電力(NVRAMの消費電力)をマッピングテーブル500から特定し、現在の全体消費電力の値と、特定された消費電力とを基に、現在のPSNG省電力レベルを一段階下げたと仮定した場合の全体消費電力を見積り、見積られた全体消費電力(見積値)を、電力制御部142に応答する。電力制御部142は、見積値を電力モニタ部297から受ける(S1204)。なお、全体消費電力の見積りは、電力モニタ部297に代えて、現在の全体消費電力の値を基に電力制御部142により行われてもよい。
電力制御部142は、電力管理テーブル600を参照し、S1204で得られた見積値(E1)がパワーキャッピング値(P)を超えるか否かを判断する(S1205)。
S1205の判断結果が偽の場合(S1205:No)、電力制御部142が、対象PSNG130についての現在の省電力レベルを一段階下げる(S1212)。具体的には、電力制御部142は、対象PSNG130についての現在レベル311を一段階下げ、且つ、マッピングテーブル500を参照し、対象PSNG130に属する各NVRAM110のレジスタ220に、必要があれば、変更後の現在レベル311に対応したNVRAM省電力レベルに対応した指定値を設定する。
S1205の判断結果が真の場合(S1205:Yes)、全体消費電力をパワーキャッピング値以下に維持するためにPSNG130間で省電力レベルを調整することの試みがされる。具体的には、電力制御部142が、PSNG管理テーブル300を参照し、対象PSNG130のQos303よりも大きい(QoSプライオリティが低い)PSNG130が存在するか否かを判断する(S1206)。S1206の判断結果が偽の場合(S1206:No)、処理が終了する。QoSプライオリティが低いPSNG130の省電力レベルを上げることで生じる余剰電力を対象PSNG130について消費するといったPSNG130間での省電力レベル調整ができないからである。
S1206の判断結果が真の場合(S1206:Yes)、見つかったPSNG130のうちQoS303が最も大きいPSNG130(QoSプライオリティが最も低いPSNG130)の現在の省電力レベルを一段階上げたと仮定した場合の全体消費電力の見積りが行われる。具体的には、電力制御部142が、電力モニタ部297に、QoSプライオリティが低いPSNG130の現在の省電力レベルを一段階上げ対象PSNG130の現在の省電力レベルを一段階下げたと仮定した場合の全体消費電力の見積りを依頼する(S1207)。当該依頼に応答して、電力モニタ部297が、S1203と同様の方法で、QoSプライオリティが低いPSNG130の現在の省電力レベルを一段階上げ対象PSNG130の現在の省電力レベルを一段階下げたと仮定した場合の全体消費電力を見積る(S1207)。電力モニタ部297は、見積られた全体消費電力の値である見積値を、電力制御部142に応答する。電力制御部142は、全体消費電力の見積値を電力モニタ部297から受ける(S1208)。なお、ここでも、全体消費電力の見積りは、電力モニタ部297に代えて、現在の全体消費電力の値を基に電力制御部142により行われてもよい。
電力制御部142は、電力管理テーブル600を参照し、S1208で得られた見積値がパワーキャッピング値を超えるか否かを判断する(S1209)。S1209の判断結果が真の場合(S1209:Yes)、対象PSNG130よりもQoSプライオリティが低いPSNG130が一つもなければ、処理が終了する。言い換えれば、対象PSNG130よりもQoSプライオリティが低いPSNG130が未だ存在する限り、QoSプライオリティが低い程優先的に、S1207〜S1209が行われる。対象PSNG130よりもQoSプライオリティが低いPSNG130がゼロになるまで、S1207〜S1209の処理が繰り返される。
S1209の判断結果が偽の場合(S1209:No)、電力制御部142が、QoSプライオリティが低い当該PSNG130の現在の省電力レベル(現在レベル311)を一段階上げて(S1211)、対象PSNG130についての現在の省電力レベルを一段階下げる(S1212)。このようにして、QoSプライオリティが低いPSNG130の省電力レベルを上げることで生じる余剰電力を対象PSNG130について消費することが可能となり、I/O性能と省電力との両立を維持することができる。
実施例2を説明する。その際、実施例1との相違点を主に説明し、実施例1との共通点については説明を省略又は簡略する。また、以下、一つのPSNG130を例に取る(実施例2の説明において「対象PSNG130」)。
図13は、実施例2に係るマッピングテーブルの構成を示す。
本実施例では、対象PSNG130の各PSNG省電力レベルについて、各NVRAM110について該当するNVRAM省電力レベルは、当該NVRAM110が属するRAIDグループの数に依存する。図13の例によれば、PSNG省電力レベル“Level1”の場合、NVRAM1が属するRAIDグループ120の数が1以上3未満であれば、NVRAM1の省電力レベルは“Lv1”であるが、NVRAM1が属するRAIDグループ120の数が3以上であれば、NVRAM1の省電力レベルは“Normal”である。
本実施例によれば、I/O性能と省電力との一層の両立が期待できる。
以上、幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実行することが可能である。
101:記憶制御システム

Claims (9)

  1. 複数の冗長構成グループの基になる複数の記憶デバイスが分類された複数の電力制御グループの各々について当該電力制御グループのI/O(Input/Output)量を取得するI/O量取得部と、
    前記複数の電力制御グループの各々について、当該電力制御グループに関し取得されたI/O量を基に、当該電力制御グループに属する各記憶デバイスの消費電力を、電力制御グループ単位で制御する電力制御部と
    を備え、
    前記複数の冗長構成グループのいずれも、冗長化されたデータを格納する記憶デバイスグループであり、
    前記複数の冗長構成グループのいずれも、前記複数の電力制御グループのうちの二つ以上の電力制御グループに跨らず、前記複数の電力制御グループのいずれかに含まれていて、
    前記複数の記憶デバイスの少なくとも一部は、I/O性能と消費電力との関係が異なる二つ以上の記憶デバイスであり、
    前記電力制御部は、前記複数の電力制御グループの各々について、
    当該電力制御グループに関し取得されたI/O量を基に、当該電力制御グループについて関連付ける省電力レベルを複数段階の省電力レベルから選択し、
    当該電力制御グループに含まれる各記憶デバイスについて、マッピング情報を基に、当該記憶デバイスに対応した複数の指定値のうち、前記選択された省電力レベルに対応した指定値を決定し、当該指定値を当該記憶デバイスに指定し、
    前記複数段階の省電力レベルの各々は、電力制御グループ単位での省電力のレベルであり、
    前記マッピング情報は、前記複数段階の省電力レベルの各々に、前記二つ以上の記憶デバイスの各々について、当該記憶デバイスに対応した複数の指定値のうち該当の指定値が関連付けられた情報であり、
    前記複数段階の省電力レベルの各々について、前記二つ以上の記憶デバイスの各々についての前記該当の指定値は、当該省電力レベルに対応したI/O性能を当該記憶デバイスが発揮するために当該記憶デバイスに指定される値である、
    記憶制御システム。
  2. 前記複数段階の省電力レベルの各々について、前記二つ以上の記憶デバイスの各々についての前記該当の指定値は、当該記憶デバイスが属する冗長構成グループの数に依存する、
    請求項1に記載の記憶制御システム。
  3. 複数の冗長構成グループの基になる複数の記憶デバイスが分類された複数の電力制御グループの各々について当該電力制御グループのI/O(Input/Output)量を取得するI/O量取得部と、
    前記複数の電力制御グループの各々について、当該電力制御グループに関し取得されたI/O量を基に、当該電力制御グループに属する各記憶デバイスの消費電力を、電力制御グループ単位で制御する電力制御部と
    を備え、
    前記複数の冗長構成グループのいずれも、冗長化されたデータを格納する記憶デバイスグループであり、
    前記複数の冗長構成グループのいずれも、前記複数の電力制御グループのうちの二つ以上の電力制御グループに跨らず、前記複数の電力制御グループのいずれかに含まれていて、
    前記電力制御部は、前記複数の電力制御グループの各々について、当該電力制御グループである対象電力制御グループに関し取得されたI/O量が、複数段階の省電力レベルのうちの当該対象電力制御グループに関連付けられている現在の省電力レベルに対応したI/O性能要件に従うI/O量よりも多い場合、
    当該対象電力制御グループの前記現在の省電力レベルを下げたと仮定した場合の見積もられる全体消費電力が、前記全体消費電力の上限値を超えるか否かの判断である第1の判断を行い、
    前記第1の判断の結果が真であれば、当該現在の省電力レベルを上げる変更を行い、当該変更の後の省電力レベルに従い、当該対象電力制御グループに属する各記憶デバイスを制御し、
    前記全体消費電力は、前記複数の記憶デバイスを含む全体についての消費電力である、
    請求項1に記載の記憶制御システム。
  4. 前記電力制御部は、
    前記第1の判断の結果が真であれば、前記対象電力制御グループのプライオリティよりも低いプライオリティの電力制御グループが存在するか否かの判断である第2の判断を行い、
    前記第2の判断の結果が偽であれば、前記現在の省電力レベルを維持する、
    請求項3に記載の記憶制御システム。
  5. 前記電力制御部は、
    前記第1の判断の結果が真であれば、前記対象電力制御グループのプライオリティよりも低いプライオリティの電力制御グループが少なくとも一つ存在するか否かの第2の判断を行い、
    前記第2の判断の結果が真であれば、当該少なくとも一つの電力制御グループの現在の省電力レベルを上げ前記対象電力制御グループの前記現在の省電力レベルを下げたと仮定した場合の見積もられる全体消費電力が、前記全体消費電力の上限値以下か否かの判断である第3の判断を行い、
    前記第3の判断の結果が真であれば、
    前記少なくとも一つの電力制御グループの現在の省電力レベルを上げる変更を行い、当該変更の後の省電力レベルに従い、当該少なくとも一つの電力制御グループに属する各記憶デバイスを制御し、
    前記対象電力制御グループの現在の省電力レベルを下げる変更を行い、当該変更の後の省電力レベルに従い、当該対象電力制御グループに属する各記憶デバイスを制御する、
    請求項3に記載の記憶制御システム。
  6. (A)コンピュータが、複数の冗長構成グループの基になる複数の記憶デバイスが分類された複数の電力制御グループの各々について当該電力制御グループのI/O(Input/Output)量を取得し、
    前記複数の冗長構成グループのいずれも、冗長化されたデータを格納する記憶デバイスグループであり、
    前記複数の冗長構成グループのいずれも、前記複数の電力制御グループのうちの二つ以上の電力制御グループに跨らず、前記複数の電力制御グループのいずれかに含まれており、
    前記複数の記憶デバイスの少なくとも一部は、I/O性能と消費電力との関係が異なる二つ以上の記憶デバイスであり、
    (B)コンピュータが、前記複数の電力制御グループの各々について、当該電力制御グループに関し取得されたI/O量を基に、当該電力制御グループに属する各記憶デバイスの消費電力を、電力制御グループ単位で制御し、
    (B)の制御では、コンピュータが、前記複数の電力制御グループの各々について、
    当該電力制御グループに関し取得されたI/O量を基に、当該電力制御グループについて関連付ける省電力レベルを複数段階の省電力レベルから選択し、
    当該電力制御グループに含まれる各記憶デバイスについて、マッピング情報を基に、当該記憶デバイスに対応した複数の指定値のうち、前記選択された省電力レベルに対応した指定値を決定し、当該指定値を当該記憶デバイスに指定し、
    前記複数段階の省電力レベルの各々は、電力制御グループ単位での省電力のレベルであり、
    前記マッピング情報は、前記複数段階の省電力レベルの各々に、前記二つ以上の記憶デバイスの各々について、当該記憶デバイスに対応した複数の指定値のうち該当の指定値が関連付けられた情報であり、
    前記複数段階の省電力レベルの各々について、前記二つ以上の記憶デバイスの各々についての前記該当の指定値は、当該省電力レベルに対応したI/O性能を当該記憶デバイスが発揮するために当該記憶デバイスに指定される値である、
    消費電力制御方法。
  7. (A)コンピュータが、複数の冗長構成グループの基になる複数の記憶デバイスが分類された複数の電力制御グループの各々について当該電力制御グループのI/O(Input/Output)量を取得し、
    前記複数の冗長構成グループのいずれも、冗長化されたデータを格納する記憶デバイスグループであり、
    前記複数の冗長構成グループのいずれも、前記複数の電力制御グループのうちの二つ以上の電力制御グループに跨らず、前記複数の電力制御グループのいずれかに含まれており、
    前記複数の記憶デバイスの少なくとも一部は、I/O性能と消費電力との関係が異なる二つ以上の記憶デバイスであり、
    (B)コンピュータが、前記複数の電力制御グループの各々について、当該電力制御グループに関し取得されたI/O量を基に、当該電力制御グループに属する各記憶デバイスの消費電力を、電力制御グループ単位で制御し、
    (B)の制御では、コンピュータが、前記複数の電力制御グループの各々について、当該電力制御グループである対象電力制御グループに関し取得されたI/O量が、複数段階の省電力レベルのうちの当該対象電力制御グループに関連付けられている現在の省電力レベルに対応したI/O性能要件に従うI/O量よりも多い場合、
    コンピュータが、当該対象電力制御グループの前記現在の省電力レベルを下げたと仮定した場合の見積もられる全体消費電力が、前記全体消費電力の上限値を超えるか否かの判断である第1の判断を行い、
    前記全体消費電力は、前記複数の記憶デバイスを含む全体についての消費電力であり、
    前記第1の判断の結果が真であれば、コンピュータが、当該現在の省電力レベルを上げる変更を行い、当該変更の後の省電力レベルに従い、当該対象電力制御グループに属する各記憶デバイスを制御する、
    消費電力制御方法。
  8. (A)複数の冗長構成グループの基になる複数の記憶デバイスが分類された複数の電力制御グループの各々について当該電力制御グループのI/O(Input/Output)量を取得し、
    前記複数の冗長構成グループのいずれも、冗長化されたデータを格納する記憶デバイスグループであり、
    前記複数の冗長構成グループのいずれも、前記複数の電力制御グループのうちの二つ以上の電力制御グループに跨らず、前記複数の電力制御グループのいずれかに含まれており、
    (B)前記複数の電力制御グループの各々について、当該電力制御グループに関し取得されたI/O量を基に、当該電力制御グループに属する各記憶デバイスの消費電力を、電力制御グループ単位で制御する、
    ことをコンピュータに実行させ、
    (B)の制御では、前記複数の電力制御グループの各々について、
    当該電力制御グループに関し取得されたI/O量を基に、当該電力制御グループについて関連付ける省電力レベルを複数段階の省電力レベルから選択し、
    当該電力制御グループに含まれる各記憶デバイスについて、マッピング情報を基に、当該記憶デバイスに対応した複数の指定値のうち、前記選択された省電力レベルに対応した指定値を決定し、当該指定値を当該記憶デバイスに指定し、
    前記複数段階の省電力レベルの各々は、電力制御グループ単位での省電力のレベルであり、
    前記マッピング情報は、前記複数段階の省電力レベルの各々に、前記二つ以上の記憶デバイスの各々について、当該記憶デバイスに対応した複数の指定値のうち該当の指定値が関連付けられた情報であり、
    前記複数段階の省電力レベルの各々について、前記二つ以上の記憶デバイスの各々についての前記該当の指定値は、当該省電力レベルに対応したI/O性能を当該記憶デバイスが発揮するために当該記憶デバイスに指定される値である、
    コンピュータプログラム。
  9. (A)複数の冗長構成グループの基になる複数の記憶デバイスが分類された複数の電力制御グループの各々について当該電力制御グループのI/O(Input/Output)量を取得し、
    前記複数の冗長構成グループのいずれも、冗長化されたデータを格納する記憶デバイスグループであり、
    前記複数の冗長構成グループのいずれも、前記複数の電力制御グループのうちの二つ以上の電力制御グループに跨らず、前記複数の電力制御グループのいずれかに含まれており、
    前記複数の記憶デバイスの少なくとも一部は、I/O性能と消費電力との関係が異なる二つ以上の記憶デバイスであり、
    (B)前記複数の電力制御グループの各々について、当該電力制御グループに関し取得されたI/O量を基に、当該電力制御グループに属する各記憶デバイスの消費電力を、電力制御グループ単位で制御する
    ことをコンピュータに実行させ、
    (B)の制御では、前記複数の電力制御グループの各々について、当該電力制御グループである対象電力制御グループに関し取得されたI/O量が、複数段階の省電力レベルのうちの当該対象電力制御グループに関連付けられている現在の省電力レベルに対応したI/O性能要件に従うI/O量よりも多い場合、
    当該対象電力制御グループの前記現在の省電力レベルを下げたと仮定した場合の見積もられる全体消費電力が、前記全体消費電力の上限値を超えるか否かの判断である第1の判断を行い、
    前記全体消費電力は、前記複数の記憶デバイスを含む全体についての消費電力であり、
    前記第1の判断の結果が真であれば、当該現在の省電力レベルを上げる変更を行い、当該変更の後の省電力レベルに従い、当該対象電力制御グループに属する各記憶デバイスを制御する、
    ことをコンピュータに実行させるコンピュータプログラム。
JP2018113170A 2018-06-13 2018-06-13 記憶制御システム及び消費電力制御方法 Active JP6735791B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018113170A JP6735791B2 (ja) 2018-06-13 2018-06-13 記憶制御システム及び消費電力制御方法
US16/354,264 US10983712B2 (en) 2018-06-13 2019-03-15 Storage control system and power consumption control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018113170A JP6735791B2 (ja) 2018-06-13 2018-06-13 記憶制御システム及び消費電力制御方法

Publications (2)

Publication Number Publication Date
JP2019215759A JP2019215759A (ja) 2019-12-19
JP6735791B2 true JP6735791B2 (ja) 2020-08-05

Family

ID=68840728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018113170A Active JP6735791B2 (ja) 2018-06-13 2018-06-13 記憶制御システム及び消費電力制御方法

Country Status (2)

Country Link
US (1) US10983712B2 (ja)
JP (1) JP6735791B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6735791B2 (ja) * 2018-06-13 2020-08-05 株式会社日立製作所 記憶制御システム及び消費電力制御方法
JP7235644B2 (ja) 2019-11-28 2023-03-08 日本たばこ産業株式会社 エアロゾル生成装置の電源ユニット、エアロゾル生成装置の本体ユニット、エアロゾル生成装置、及び、非燃焼式吸引器

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007164650A (ja) * 2005-12-16 2007-06-28 Hitachi Ltd 記憶制御装置及び記憶制御装置の制御方法
JP2009009194A (ja) * 2007-06-26 2009-01-15 Hitachi Ltd 消費電力を削減する機能を備えたストレージシステム
US8468375B2 (en) * 2009-07-15 2013-06-18 Hitachi, Ltd. Energy consumption management for storage system using upper limit value during predetermined period
JP5209591B2 (ja) * 2009-11-16 2013-06-12 株式会社日立製作所 省電力機能を有するストレージシステム
WO2011067806A1 (en) * 2009-12-01 2011-06-09 Hitachi, Ltd. Storage system having power saving function
TWI401567B (zh) * 2010-05-07 2013-07-11 Promise Tecnnology Inc 資料儲存系統及其控制方法
US8677167B2 (en) * 2010-10-18 2014-03-18 Hitachi, Ltd. Storage apparatus and power control method
JP2013097635A (ja) 2011-11-02 2013-05-20 Hitachi Ltd 電力消費制限ストレージ装置
US10073626B2 (en) * 2013-03-15 2018-09-11 Virident Systems, Llc Managing the write performance of an asymmetric memory system
JP2015161996A (ja) * 2014-02-26 2015-09-07 日本電気株式会社 ディスクアレイ制御装置、ディスクアレイ装置、ディスクアレイ制御方法、並びにコンピュータ・プログラム
US20180181186A1 (en) * 2016-12-27 2018-06-28 Paul S. Diefenbaugh Buffering data from high-speed i/o to enable longer reduced power consumption state residency
US10719118B2 (en) * 2018-05-11 2020-07-21 International Business Machines Corporation Power level management in a data storage system
JP6735791B2 (ja) * 2018-06-13 2020-08-05 株式会社日立製作所 記憶制御システム及び消費電力制御方法

Also Published As

Publication number Publication date
JP2019215759A (ja) 2019-12-19
US10983712B2 (en) 2021-04-20
US20190384513A1 (en) 2019-12-19

Similar Documents

Publication Publication Date Title
US9606915B2 (en) Pool level garbage collection and wear leveling of solid state devices
US10558383B2 (en) Storage system
US20170300242A1 (en) Storage apparatus and storage control method
JP5314772B2 (ja) 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法
US20150095555A1 (en) Method of thin provisioning in a solid state disk array
US7467269B2 (en) Storage apparatus and storage apparatus control method
US9606728B2 (en) Controlling a storage system
US9753668B2 (en) Method and apparatus to manage tier information
US20100235597A1 (en) Method and apparatus for conversion between conventional volumes and thin provisioning with automated tier management
WO2011108027A1 (ja) 計算機システム及びその制御方法
KR102136969B1 (ko) 스토리지 디바이스들의 전력 상태들을 선택하기 위한 방법 및 장치
JP2007156667A (ja) ストレージ装置及びその容量管理方法
US10180810B2 (en) Memory controller and storage device which selects memory devices in which data is to be written based on evaluation values of a usable capacity of the memory devices
US20160004459A1 (en) Storage system and storage control method
JP6735791B2 (ja) 記憶制御システム及び消費電力制御方法
KR102202107B1 (ko) 사용자 개별 서비스 환경을 위한 스토리지 장치 제어 방법 및 스토리지 컨트롤러
WO2013089680A1 (en) Storage controller with host collaboration for initialization of a logical volume
US20190129647A1 (en) Method, device and computer program product for managing disk array
US10846234B2 (en) Storage control system and storage control method
CN115543186A (zh) 使用命令序列分析管理存储器命令引擎
US20210081321A1 (en) Method and apparatus for performing pipeline-based accessing management in a storage server
WO2013061368A1 (en) Storage apparatus and method of controlling storage apparatus
WO2017188981A1 (en) Power usage modes of drives
JP5594647B2 (ja) ストレージ装置及びその制御方法
US10365857B2 (en) Memory system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200629

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200714

R150 Certificate of patent or registration of utility model

Ref document number: 6735791

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150