JP2016076204A - データ記憶装置の性能を意識した電力キャッピング制御 - Google Patents

データ記憶装置の性能を意識した電力キャッピング制御 Download PDF

Info

Publication number
JP2016076204A
JP2016076204A JP2015186310A JP2015186310A JP2016076204A JP 2016076204 A JP2016076204 A JP 2016076204A JP 2015186310 A JP2015186310 A JP 2015186310A JP 2015186310 A JP2015186310 A JP 2015186310A JP 2016076204 A JP2016076204 A JP 2016076204A
Authority
JP
Japan
Prior art keywords
data storage
storage device
power
power consumption
host system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015186310A
Other languages
English (en)
Other versions
JP6162765B2 (ja
Inventor
ジャス カティブ モハメド
Ghiath Khatib Mohammed
ジャス カティブ モハメド
シリル ダニエル ラ モール ダミアン
Cyril Daniel Le Moal Damien
シリル ダニエル ラ モール ダミアン
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.)
HGST Netherlands BV
Original Assignee
HGST Netherlands BV
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 HGST Netherlands BV filed Critical HGST Netherlands BV
Publication of JP2016076204A publication Critical patent/JP2016076204A/ja
Application granted granted Critical
Publication of JP6162765B2 publication Critical patent/JP6162765B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/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/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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】データ記憶装置の性能を意識した電力キャッピング制御のためのシステム、方法およびファームウェアを、提供する。
【解決手段】データ記憶装置を示す。データ記憶装置は、データ記憶装置用の電力閾値を識別する記憶制御システムを含む。データ記憶装置は、データ記憶装置用の消費電力特性を判定し、データ記憶装置における少なくとも記憶トランザクション待ち行列の長さを調整して、データ記憶装置用の電力閾値未満として消費電力特性を設定するデータ記憶装置用の電力制御モードに入る。
【選択図】図1

Description

パーソナルコンピュータ、ワークステーション、サーバシステムおよびクラウド記憶システムなどのコンピュータおよびネットワークシステムは一般に、データを記憶して検索するデータ記憶システムを含む。これらのデータ記憶システムは、ハードディスクドライブ、ソリッドステート記憶装置、テープ記憶装置および他の大容量記憶装置などのデータ記憶装置を含むことができる。
デジタルコンテンツおよびビッグデータの最近の需要は、より多く、より密集した、より大規模なデータセンターの必要性を喚起している。データセンターの電力損失が、重要な問題である。データセンターは、自由に使える許容ピーク電力によって制約されることが多い。電力調整および分配基盤施設と冷却システムとの両方を、それらの合成ピーク電力要件に基づいてサイズ決定する必要があるため、ピーク電力容量は重要である。
データセンターの作業者は、利用度を最大にするため、常時許容可能な上限よりも多くのマシンサーバおよびユーザを用いて、データセンターの電力供給を過剰にする。データセンターに含まれる種々の計算システムに対する最大電力使用量を設定するために、電力キャッピングをデータセンターにおいて使用している。しかし、計算システムの個々の構成要素による電力損失は、未使用の計算要素のスリープモードまたは電源オフなどの非常に粗い調整に制限されている。
データ記憶装置の電力制御のためのシステム、方法およびファームウェアを、本明細書において提供する。一例では、データ記憶装置を提供する。データ記憶装置は、データ記憶装置用の電力閾値を識別する記憶制御システムを含む。データ記憶装置は、データ記憶装置用の消費電力特性を判定し、データ記憶装置における少なくとも記憶トランザクション待ち行列の長さを調整して、データ記憶装置用の電力閾値未満として消費電力特性を設定するデータ記憶装置用の電力制御モードに入る。
データ記憶装置における性能を意識した電力キャッピング用の記憶システムを示す。 データ記憶装置における性能を意識した電力キャッピング用の記憶システムを動作させる方法を示す。 データ記憶装置における性能を意識した電力キャッピング用の記憶システムを動作させる方法を示す。 データ記憶装置における性能を意識した電力キャッピング用の記憶システムを動作させる方法を示す。 データ記憶装置における性能を意識した電力キャッピング用の記憶システムの別の実施形態を示す。 データ記憶装置における性能を意識した電力キャッピング用の記憶システムを動作させる方法を示す。 データ記憶装置における性能を意識した電力キャッピング用の記憶システムを動作させる方法を示す。 データ記憶装置における性能を意識した電力キャッピング用のデータ記憶装置を示す。 データ記憶装置における性能を意識した電力キャッピング用のアーキテクチャを示す。 データ記憶装置における性能を意識した電力キャッピング用の計算システムを示す。
データ記憶システムでは、ハードディスクドライブ、ソリッドステートドライブ、特に記憶装置などの種々の大容量記憶装置を使用する。しかし、これらの記憶装置では、多くのデータ記憶システムを集めるデータセンターによって過剰な消費電力を引き起こす可能性がある高レベルの電力を使用することがある。後述の例において、種々の方法、システム、装置およびファームウェアは、データサーバおよびデータ記憶システムで使用される種々の大容量記憶装置における消費電力のきめ細かい制御を可能にする。例えば、ハードディスクドライブを、ハードディスクドライブのパラメータを修正する電力キャッピングモードにして、記憶動作がそのハードディスクドライブ用の電力閾値を下回ることができる。データ記憶装置の電力キャッピングおよび電力制御の他の例を後述する。
第1の例として、図1を示す。図1は、データ記憶装置における性能を意識した電力キャッピング用の記憶システム100を示す。記憶システム100は、データ記憶装置102とホストシステム120とを含む。データ記憶装置102およびホストシステム120は、リンク130上で通信する。データ記憶装置102は、記憶媒体112と、記憶制御システム114と、待ち行列116とを含む。記憶媒体112は、所望の情報を記憶するのに使用でき、記憶制御システム114などの命令実行システムによってアクセスできる任意の物理媒体を含む。記憶制御システム114は、記憶媒体112にアクセスする処理回路およびメモリを含む。待ち行列116は、読み取りまたは書き込みコマンドなどの、データ記憶装置102用のコマンドのデータ構造を含む。ホストシステム120は、パーソナルコンピュータ、サーバまたは他のコンピュータおよびネットワークシステムなどの1つ以上の計算およびネットワークシステムを含む。動作中、ホストシステム120は、電力閾値110および/または待ち行列の長さ140をデータ記憶装置102に転送する。データ記憶装置102は、電力閾値110および/または待ち行列の長さ140をホストシステム120から受信する。
図2は、データ記憶装置における性能を意識した電力キャッピング用の記憶システム100を動作させる方法を示す。独立してデータ記憶装置102またはホストシステム120によって、または同時にデータ記憶装置102およびホストシステム120によって、動作を行うことができる。図2の動作を挿入的に後で参照する。
図2の第1の例において、上述のように図2の動作をホストシステム120が行うことができるものとするが、データ記憶装置102は図2の動作を行う。データ記憶装置102は、データ記憶装置102用の電力閾値110を識別する(202)。電力閾値110は、データ記憶装置102用の許容最大または最小消費電力特性を示す。電力閾値110は、データ記憶装置102の電流引き込みおよび供給電圧に基づくことができきる、ワット、または電力もしくはエネルギー損失の他の単位で、消費電力閾値を指定する。データ記憶装置102は、データ記憶装置102用の消費電力特性を判定する(204)。消費電力特性を、種々の方法で定義することができる。例えば、消費電力特性は、データ記憶装置102用の単位時間当たりまたはトランザクション当たりの最大許容電力損失を示してもよい。データ記憶装置102は、データ記憶装置102用の電力制御モードに入る(206)。
電力制御モードは、待ち行列の長さ140を制御することによってデータ記憶装置102の消費電力特性に対する精密な制御を行うデータ記憶装置102用の動作モードである。2つの可能な電力制御モードは、待ち行列116を調整することによって得られる待ち時間モードおよびスループットモードを含む。待ち時間モードは、待ち行列の長さ140を減少させることによって高速応答時間を提供する。スループットモードは、待ち行列の長さ140を増大させることによってデータストリーム用の効率的な性能を提供する。データ記憶装置102は、データ記憶装置102において少なくとも待ち行列の長さ140を応答可能に調整する(208)。待ち行列の長さ140を、記憶制御システム114またはホストシステム120によって制御することができる。待ち行列の長さ140を制御することによって、待ち時間モードおよびスループットモードを実現することができる。データ記憶装置102は、データ記憶装置102用の電力閾値未満として消費電力特性を設定する(210)。データ記憶装置102は、データ記憶装置102の消費電力特性を監視し、電力制御モードおよび待ち行列の長さ140を応答可能に調整して、望ましい消費電力特性を設定して維持する。消費電力特性の監視は、連続的または離散的のいずれでもよい。
データ記憶ドライブにおいて消費電力を制御する更なる例として、図3Aおよび図3Bを示す。図3Aおよび図3Bは、データ記憶装置における性能を意識した電力キャッピング用の記憶システム100を動作させる方法をさらに示す。図3Aは、データ記憶装置における性能を意識した電力キャッピング用のデータ記憶装置102によって実行される記憶システム100を動作させる方法を示す。図3Bは、データ記憶装置における性能を意識した電力キャッピング用のホストシステム120によって実行される記憶システム100を動作させる方法を示す。
図3Aは、データ記憶装置における性能を意識した電力キャッピング用のデータ記憶装置102によって実行される記憶システム100を動作させる方法を示す。ホストシステム120は、データ記憶装置102用の電力閾値110を識別する。ホストシステム120は、電力閾値110をデータ記憶装置102に通信する(302)。データ記憶装置102は、消費電力特性を判定する。データ記憶装置102は、電力制御モードに入り、少なくとも待ち行列の長さ140を応答可能に調整する。データ記憶装置102は、電力閾値未満として消費電力特性を設定する。
図3Bは、データ記憶装置における性能を意識した電力キャッピング用のホストシステム120によって実行される記憶システム100を動作させる方法を示す。ホストシステム120は、データ記憶装置102用の電力閾値110を識別する。ホストシステム120は、データ記憶装置102用の消費電力特性を判定する。ホストシステム120は、電力制御モードに入り、少なくとも待ち行列の長さ140を応答可能に調整する。ホストシステム120は、待ち行列の長さ情報をデータ記憶装置102に送信し、電力閾値110未満としてデータ記憶装置102用の消費電力特性を設定する(304)。
図1に戻って、記憶システム100の要素をさらに後述する。データ記憶装置102は、ハードディスクドライブ(HDD)、ソリッドステート記憶ドライブ(SSD)、フラッシュメモリドライブ、相変化メモリドライブ、光メモリドライブ、またはこれらの組合せおよび変形例を含む他のタイプのデータ記憶装置であることができる。データ記憶装置102は、ホストインタフェース、処理回路、データバッファ、メモリおよび読み書きヘッドなどの電気的構成要素を含む。
記憶媒体112は、所望の情報を記憶するのに使用でき、記憶制御システム114などの命令実行システムによってアクセスできる任意の物理媒体を含む。記憶媒体112の例として、ランダムアクセスメモリ、読み取り専用メモリ、磁気ディスク、光ディスク、フラッシュメモリ、相変化メモリ、仮想メモリおよび非仮想メモリ、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または所望の情報を記憶するのに使用でき、命令実行システムによってアクセスできる任意の他の媒体、さらにこれらの任意の組合せまたは変形例、または任意の他のタイプの記憶媒体がある。
記憶制御システム114は、記憶媒体112にアクセスする処理回路およびメモリを含む。記憶制御システム114は、処理回路、メモリ、ホストインタフェース、およびバッファをさらに含む。メモリは、リンク130上で受信される読み書きコマンドに作動して応答する少なくとも記憶制御システム114によって実行されるファームウェアも含む。
ホストシステム120は、パーソナルコンピュータ、サーバコンピュータ、ラックサーバ、ウェブサーバ、クラウド計算プラットフォーム、パケットネットワーク、管理システム、データセンター機器、任意の他のタイプの物理または仮想サーバマシン、およびこれらの任意の変形例または組合せなどの1つ以上の計算およびネットワークシステムを含むことができる。動作中、ホストシステム120は、読み書きコマンドをリンク330上でデータ記憶装置102に出す。更なる例において、ホストシステム120は、データ記憶装置102用の1つ以上のコマンドを出して、電力制御モードに入ることができる。
リンク130は、1つ以上のリンクを含むことができる。リンク130は、金属、無線、光、またはこれらの組合せを含む他のネットワークリンクを含む。リンク130は、Serial Attached ATA(SATA)、Serial Attached SCSI(SAS)、FiberChannel、Universal Serial Bus(USB)、SCSI、InfiniBand、Peripheral Component Interconnect Express(PCIe)、Ethernet(登録商標)、Internet Protocol(IP)、またはこれらの変形例および組合せを含む他のパラレルもしくはシリアル記憶装置または周辺インタフェースなどの任意の記憶装置またはディスクインタフェースを含むことができる。リンク130は、LTE、GSM(登録商標)、CDMA、Internet Protocol(IP)、Ethernet、Session Initiation Protocol(SIP)、Diameter、Real−time Transfer Protocol(RTP)、および/またはこれらの組合せを含む他のフォーマットなどの種々の通信および制御プロトコルを利用する。
図4は、データ記憶装置における性能を意識した電力キャッピング用の記憶システム400を示す。記憶システム100は代わりの構成および動作を有してもよいが、記憶システム400は記憶システム100の例である。記憶システム400は、データ記憶装置402とホストシステム420とを含む。データ記憶装置402およびホストシステム420は、リンク430を介して通信する。
データ記憶装置402は、記憶媒体412と、記憶制御システム414と、待ち行列416と、電力測定システム418とを含む。データ記憶装置402は、ハードディスクドライブ、リムーバブルディスク記憶ドライブ、ソリッドステートドライブ、テープドライブ、または待ち行列の長さ440の影響を受ける消費電力特性を有する他の記憶装置であってもよい。
記憶制御システム414は、処理回路およびメモリを含む。処理回路は、メモリからファームウェアを検索して実行する1つ以上のマイクロプロセッサおよび他の回路を含むことができる。処理回路を、単一の処理装置内で実現することができるが、プログラム命令を実行する際に協働する複数の処理装置またはサブシステム全体にわたって分散することもできる。処理回路の例として、汎用中央処理装置、特定用途向けプロセッサ、論理装置、任意の他のタイプの処理装置、これらの組合せまたは変形例がある。記憶制御システム414は、消費電力特性を電力閾値410未満に維持しながら、スループットをスループット閾値より上に増大させるために待ち行列の長さ440を増大させてもよい。代わりに、記憶制御システム414は、消費電力特性を電力閾値未満に維持しながら、待ち時間を待ち時間閾値未満に減少させるために待ち行列の長さ440を減少させてもよい。記憶制御システム414は、サンプリングレートを設定し、測定期間を設定して、時間ベースの電力測定およびトランザクションベースの電力測定の中から選択してもよい。ホストシステム420は、記憶制御システム414と同じ動作を行うことができる。
記憶媒体412は、ランダムアクセスメモリ、読み取り専用メモリ、磁気ディスク、光ディスク、フラッシュメモリ、相変化メモリ、磁気テープ、またはこれらの組合せおよび変形例を含む他の記憶媒体を含む。多くの例において、データ記憶装置402は、記憶媒体412に読み書きする種々の機械、電気および電気機械的構成要素、例えば、読み書きヘッド、電機子、光学読み書き素子、サーボ機構、前置増幅器、増幅器、またはこれらの組合せを含む他の構成要素を含む。
電力測定システム418は、データ記憶装置402によって少なくとも電力使用量を測定する。電力測定システムは、瞬間的に、指定の期間にわたって、またはデータ記憶装置402のトランザクションごとに、電力測定を行ってもよい。データ記憶装置402の電力測定システム418の動作を、ホストシステム420によって制御してもよい。電力測定システムは、電力測定システム418の設定のために連続的かつ周期的にホストシステム420と通信してもよい。
ホストシステム420は、プロセッサ424およびメモリ426を含む。ホストシステム420は、パーソナルコンピュータ、サーバ、クラウド記憶システム、パケットネットワーク、管理システム、またはこれらの組合せおよび変形例を含む他のコンピュータおよびネットワークシステムなどの1つ以上の計算およびネットワークシステムを含む。動作中、ホストシステム420は、読み書きコマンドをリンク430上でデータ記憶装置402に出す。例によっては、ホストシステム420は、コマンドをデータ記憶装置402に出すこともある。例えば、ホストシステム420は、電力測定システム418を使用可能または使用不能にして、測定コマンドを電力測定システム418に出すことができる。ホストシステム420は、データ記憶装置を命令して電力制御モードに入ることもできる。ホストシステム420は、待ち行列の長さ440を調整して、データ記憶装置402用の望ましい消費電力特性を設定することもできる。ホストシステム420は、電力閾値410および/または待ち行列の長さ440をデータ記憶装置402に転送する。ホストシステムは、サンプリングレートを設定し、測定期間を設定して、時間ベースの電力測定およびトランザクションベースの電力測定から選択する。
プロセッサ424は、メモリからファームウェアを検索して実行する1つ以上のマイクロプロセッサおよび他の回路を含む。処理回路を、単一の処理装置内で実現することができるが、プログラム命令を実行する際に協働する複数の処理装置またはサブシステム全体にわたって分散することもできる。処理回路の例として、汎用中央処理装置、特定用途向けプロセッサ、論理装置、任意の他のタイプの処理装置、これらの組合せまたは変形例がある。
メモリ426は、ファイルシステム428を含む。メモリ426の例として、ランダムアクセスメモリ、読み取り専用メモリ、磁気ディスク、光ディスク、フラッシュメモリ、仮想メモリおよび非仮想メモリ、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または所望の情報を記憶するのに使用でき、命令実行システムによってアクセスできる任意の他の媒体、さらにこれらの任意の組合せまたは変形例、または任意の他のタイプの記憶媒体がある。
ファイルシステム428は、ディスクファイルシステム、光ディスクファイルシステム、フラッシュファイルシステム、テープファイルシステム、トランザクションのファイルシステム、ネットワーク化ファイルシステム、共用ディスクファイルシステム、デバイスファイルシステムおよび他のファイルシステムであることができる。ディスクファイルシステムは、FAT(FAT12、FAT16、FAT32)、exFAT、NTFS、HFS、HFS+、HPFS、UFS、ext2、ext4、XFS、btrfs、ISO 9660、Files−11、Verita File System、VMFS、ZFS、ReiserFS、UDFまたは他のファイルシステムを含んでもよい。光ディスクファイルシステムは、ISO 9660、Universal Disk Format(UDF)、Mount Rainierまたは他の光ディスクファイルシステムを含んでもよい。テープファイルシステムは、IBM Linear Tape File System−Single Drive Edition(LTFS−SDE)または他のテープファイルシステムを含んでもよい。トランザクションのファイルシステムは、Transactional NTFS、Valor、Amino、LFS、Transactional ext3、または他のトランザクションのファイルシステムを含んでもよい。ネットワーク化ファイルシステムの例の中には、NFS、AFS、SMDプロトコル用のクライアントと、FTPおよびWEBDAV用のファイルシステムに似たクライアントとを含むこともある。共用ディスクファイルシステムの例の中には、GFS2、GPFS、SFS、CXFS、StorNextまたは他の共用ディスクファイルシステムを含むこともある。
電力閾値410は、データ記憶装置402用の許容最大または最小消費電力特性を示す。電力閾値410は、ワット、または電力もしくはエネルギー損失の他の単位で、消費電力閾値を指定する。電力閾値410は、時間またはトランザクションベースで消費電力を制限してもよい。例えば、データ記憶装置402は特定の期間中にピーク電力量を単に使用するということを電力閾値410は指定してもよい。代わりに、データ記憶装置402はトランザクション当たりの指定電力量に消費電力を制限するということを電力閾値410は指定してもよい。電力閾値410は、連続的に可変または一定であってもよい。
データ記憶装置402用の望ましい消費電力特性を設定するのに待ち行列の長さ440を調整してもよい。データ記憶装置402は、電力制御モードに入り、少なくとも待ち行列の長さ440を応答可能に調整して、電力閾値410未満として消費電力特性を設定するように構成されている。電力制御モードは、スループットモードおよび待ち時間モードを含む。スループット電力制御モードは、消費電力特性を電力閾値未満に維持しながら、スループット閾値を超えて高いスループットを可能にするために待ち行列の長さ440を増大させる。待ち時間電力制御モードは、消費電力特性を電力閾値未満に維持しながら、待ち時間を待ち時間閾値未満に減少させるために待ち行列の長さ440を減少させる。
リンク430は、図4に単一のリンクで示してあるが、1つ以上のリンクを含むことができる。リンクは、Serial Attached ATA(SATA)、Serial Attached SCSI(SAS)、FiberChannel、Universal Serial Bus(USB)、SCSI、InfiniBand、Peripheral Component Interconnect Express(PCIe)、Ethernet、Internet Protocol(IP)、またはこれらの変形例および組合せを含む他のパラレルもしくはシリアル記憶装置または周辺インタフェースなどの任意の記憶装置またはディスクインタフェースを含むことができる。
図5は、データ記憶装置における性能を意識した電力キャッピング用の例示的な電力制御モードを示す。データ記憶装置402は、動作モードに基づく異なる消費電力特性を有する。待ち行列416の操作によって、電力制御モードを含む異なる動作モードを生成することができる。電力制御モードの例の中には、スループットモードおよび待ち時間モードもある。例えば、待ち行列の長さ440を増大させることによって、待ち時間性能を犠牲にしてデータ記憶装置402のスループット性能を向上させる。代わりに、待ち行列の長さ440を減少させることによって、スループット性能を犠牲にしてデータ記憶装置402の待ち時間を向上させる。これらの電力制御モードは、データ記憶装置402が電力閾値410よりも多くの電力を消費しないようにデータ記憶装置402の消費電力特性を調整するのに使用可能である。
図5は、待ち行列416と連動するデータ記憶装置402の通常動作モードの例示を含む。この例の場合、データ記憶装置402はハードディスクドライブである。図示しないが、ハードディスクドライブは通常、読み書きヘッドを保持する電機子を移動させるサーボ機構を含む。読み書きヘッドを異なる角度位置に記憶媒体412の表面全体にわたって位置決めする場合、サーボ/電機子機構は電力を消費する。
通常動作モードにおいて、読み書きヘッドは、最初の位置「A」で開始し、第2の位置「B」に到達するのに第1の方向に移動してから、第3の位置「C」に到達するのに反対の方向に移動する必要がある。読み書きヘッドの位置は時間に対して効率的に制御されず、必要な電力よりも多くの電力を使用することに留意されたい。待ち行列416は、より効率的な読み書きヘッドの位置決めのために、記憶制御システム414またはホストシステム120によって操作されるのに十分な長さを有していない。従って、消費電力特性は待ち行列の長さ440に関連している。
図5は、データ記憶装置における性能を意識した電力キャッピング用のデータ記憶装置402用のスループットモードを説明する例示を含む。待ち行列の長さ440を増大させることによって、スループットモードを実現する。待ち行列の長さ440が十分長い場合、図5のスループットモードに示すように、より効率的な読み書き時間のために、待ち状態の要求を編成することができる。待ち行列の長さ440を増大させることによって、より効率的な読み書きヘッドの位置決めのために、待ち行列416内で待ち状態の要求を編成することができる。スループットモードで通常動作モードよりも速く同じ要求を処理することに留意されたい。通常動作モードのように待ち行列416の長さが短い場合、記憶制御システム414またはホストシステム120は、スループットモードに対して効率的な順序で待ち状態の要求を配列する資源を有しない。待ち行列416は、通常動作モードと同様のモードで動作せざるを得ないであろう。
図5は、データ記憶装置における性能を意識した電力キャッピング用のデータ記憶装置402用の待ち時間モードを示す。待ち時間は、読み書きヘッドによってトランザクションを記憶媒体112から読み取るか、または記憶媒体112に書き込むまでトランザクションを待ち行列416内に記憶する時間を含むことができる。読み取り待ち時間は、ホスト420が読み取りコマンドを出す時間、および読み取りに応じてホストシステムにデータを戻すのにかかる時間からなる。書き込み待ち時間は、終点が、記憶媒体112への書き込みヘッドによるデータのコミットメント、および書き込みの完了を示す信号である以外は同様である。読み書きコマンドは、待ち行列416内の待ち状態の要求が完了されるのを待つ必要があるため、長い待ち行列の長さ440は待ち時間を長くする。データ記憶装置102またはホストシステム120が短い待ち行列の長さ440を設定する場合、記憶制御システム414またはホストシステム420は、多くの待ち状態の要求が完了するのを待つ必要がないため、待ち時間は短くなる。
図6は、データ記憶装置における性能を意識した電力キャッピング用の記憶システム400を動作させる方法を示す。独立してデータ記憶装置402またはホストシステム420によって、または同時にデータ記憶装置402およびホストシステム420によって、動作を行うことができる。図6の動作を挿入的に後で参照する。
図6の第1の例において、上述のように図6の動作をホストシステム120が行うことができるものとするが、データ記憶装置402は図6の動作を行う。データ記憶装置402は、データ記憶装置402用の電力閾値410を識別する(602)。電力閾値410は、データ記憶装置402用の許容最大または最小消費電力特性を示す。電力閾値410は、ワット、または電力もしくはエネルギー損失の他の単位で、消費電力閾値を指定する。データ記憶装置402は、サンプリングレートを設定し、測定期間を設定して、時間ベースまたはトランザクションベースの電力測定の中から選択して消費電力特性を判定する(604)。消費電力特性を、種々の方法で測定してもよい。データ記憶装置402およびホストシステム420の両方は、サンプリングレートを設定し、測定期間を設定して、高い自由度および電力測定に対する制御を与える時間ベースまたはトランザクションベースの電力測定の中から選択することができる。例の中には、データ記憶装置402は電力測定システム418を含むこともある。データ記憶装置402は、電力測定システム418からデータ記憶装置402用の消費電力特性を判定する(606)。消費電力特性を、種々の方法で定義することができる。例えば、消費電力特性は、データ記憶装置402用の単位時間当たりまたはトランザクション当たりの最大許容電力損失を示してもよい。データ記憶装置402用の電力制御モードに入り、電力閾値410未満として消費電力特性を設定する(608)。電力制御モードは、待ち行列の長さ440を制御することによってデータ記憶装置402の消費電力特性に対する精密な制御を行うデータ記憶装置402用の動作モードである。
スループットモードおよび待ち時間モードは、記憶装置が電力を制御しながら作動できる2つの性能重視のモードである。これらのモードを本明細書において説明する。スループットモードにおいて、記憶制御システム414またはホストシステム420は、消費電力特性を電力閾値未満に維持しながら、スループットをスループット閾値より上に増大させることに最大の待ち行列の長さ440を専念させる(610)。待ち時間モードにおいて、記憶制御システム414またはホストシステム420は、消費電力特性を電力閾値未満に維持しながら、待ち時間を待ち時間閾値未満に減少させるために待ち行列の長さ440を減少させる(612)。データ記憶装置402およびホストシステム420は、データ記憶装置402の所望の消費電力特性を実現するのに、スループットモードと待ち時間モードを交互に行ってもよい。記憶制御システム414またはホストシステム420は、実際の消費電力特性と目標消費電力特性との間の差に比例した待ち行列の長さ440を適応的に調整する(614)。電力計の設定値、およびホストシステム420とデータ記憶装置402との間のフィードバックを通信する(616)。データ記憶装置402は、ホストシステム420に消費電力特性を提供する。ホストシステム420によって電力測定システム418の動作を制御する(618)。電力測定システム418は、ホストシステムからコマンドを受け取るように構成されている。単一の待ち行列の長さの代わりに、待ち行列内での範囲のサイズ変更を設定することもできる(620)。
図7は、データ記憶装置における性能を意識した電力キャッピング用のハードディスクドライブ702を示す。データ記憶装置102およびデータ記憶装置402は代替の構成および動作を有してもよいが、ハードディスクドライブ702は、データ記憶装置102およびデータ記憶装置402の例である。ハードディスクドライブ702は、記憶媒体712と、待ち行列716と、電力測定システム718とを含む。記憶媒体712には、一連の識別子ID1〜ID6が示してある。動作中、ホストシステムからの非同期要求に応じて記憶媒体712上の所定の位置に(ID1〜ID6で表される)識別子の組を書き込み、関連消費電力を測定することによって、ハードディスクドライブ702の消費電力特性を判定することができる。
図8は、データ記憶装置における性能を意識した電力キャッピング用の記憶システム800を示す。記憶システム100および記憶システム400は代替の構成および動作方法を有してもよいが、記憶システム800は、記憶システム100および記憶システム400の例である。記憶システム800は、データ記憶装置802と、ファイルシステム804と、ブロック入出力スケジューラ806とを含む。データ記憶装置802は、ハードディスクドライブ、ソリッドステート記憶ドライブ、フラッシュメモリドライブ、またはこれらの組合せおよび変形例を含む他のタイプのデータ記憶装置であることができる。
ファイルシステム804は、ディスクファイルシステム、光ディスクファイルシステム、フラッシュファイルシステム、テープファイルシステム、トランザクションのファイルシステム、ネットワーク化ファイルシステム、共用ディスクファイルシステム、デバイスファイルシステムおよび他のファイルシステムであることができる。ディスクファイルシステムは、FAT(FAT12、FAT16、FAT32)、exFAT、NTFS、HFS、HFS+、HPFS、UFS、ext2、ext4、XFS、btrfs、ISO 9660、Files−11、Verita File System、VMFS、ZFS、ReiserFS、UDFまたは他のファイルシステムを含んでもよい。光ディスクファイルシステムは、ISO 9660、Universal Disk Format(UDF)、Mount Rainierまたは他の光ディスクファイルシステムを含んでもよい。テープファイルシステムは、IBM Linear Tape File System−Single Drive Edition(LTFS−SDE)または他のテープファイルシステムを含んでもよい。トランザクションのファイルシステムは、Transactional NTFS、Valor、Amino、LFS、Transactional ext3、または他のトランザクションのファイルシステムを含んでもよい。ネットワーク化ファイルシステムの例の中には、NFS、AFS、SMDプロトコル用のクライアントと、FTPおよびWEBDAV用のファイルシステムに似たクライアントとを含むこともある。共用ディスクファイルシステムの例の中には、GFS2、GPFS、SFS、CXFS、StorNextまたは他の共用ディスクファイルシステムを含むこともある。ファイルシステム804は、電力キャップブロック入出力インタフェースモジュール808を含む。
電力キャップブロック入出力インタフェース808は、電力キャッピングモニタ812と、性能モニタ814と、入出力実行制御器816とを含む。性能モニタ814は、入出力実行制御器816および電力キャッピングモニタ812と通信する。動作中、電力キャッピングモニタ812は、電力閾値810を識別し、電力閾値810を性能モニタ814に通信する。性能モニタ814は、電力閾値810に基づいてデータ記憶装置802用の電力制御モードを選択して実行する。性能モニタ814は、コマンドを入出力実行制御器816に送信する。入出力実行制御器816は、電力キャッピングモニタ812および性能モニタ814にフィードバックを与えて、システムの動作を微調整する能力を可能にする。
入出力実行制御器816は、性能モニタ814から受信したコマンドに基づいてブロック入出力要求818を制御する。入出力実行制御器816は、性能モニタ814および電力キャッピングモニタ812にフィードバックを通信して、ブロック入出力要求818の微調整を可能にする。入出力実行制御器816は、ブロック入出力スケジューラ806を命令して、待ち行列の長さを調整し、ブロック入出力要求を最適化する。ブロック入出力スケジューラ806は、コマンドおよびデータをデータ記憶装置802に転送する。データ記憶装置802は、電力キャッピングモジュールにフィードバック情報を与える。
図9は、本明細書に開示された種々の動作アーキテクチャ、シナリオおよび処理を実施できる任意のシステムまたはシステムの集まりを表す計算システム902を示す。計算システム902は、記憶制御システム114、ホストシステム120、記憶制御システム414およびホストシステム420の例であるが、この例は、代替の構成および/または動作を有してもよい。計算システム902の例は、スマートフォン、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、ハイブリッドコンピュータ、ゲーム機、仮想マシン、スマートテレビ、腕時計および他のウェアラブルデバイス、さらにこれらの任意の変形例または組合せを含むが、これらに限定されない。他の例は、サーバコンピュータ、ラックサーバ、ウェブサーバ、クラウドコンピュータプラットフォーム、データセンター機器、任意の他のタイプの物理または仮想サーバマシン、およびこれらの任意の変形例または組合せを含む。
計算システム902は、単一の装置、システムまたはデバイスとして実施してもよく、または複数の装置、システムまたはデバイスとして分散的に実施してもよい。計算システム902は、通信トランシーバ901および処理システム903を含む。処理システム903は、プロセッサ回路905およびメモリシステム906を含む。メモリシステムは、スループットモードモジュール908と、待ち時間モードモジュール909と、消費電力モジュール910とを含むソフトウェア907を含む。
処理システム903は、プロセッサ回路905においてメモリシステム906からソフトウェア907をロードして実行する。データ記憶装置の性能を意識した電力キャッピング用の処理システム903が実行すると、ソフトウェア907は、データ記憶装置の性能を意識した電力キャッピングを用いた前述の実装形態に記載された少なくとも種々の処理、動作シナリオおよびシーケンスに対して本明細書に記載のように動作するように、処理回路905に指示する。計算システム902は、簡略のために記載されていない追加のデバイス、機構または機能を任意選択的に含んでもよい。
処理回路905は、メモリ906からソフトウェア907を検索して実行するマイクロプロセッサおよび他の回路を含んでもよい。処理回路905は、単一の処理装置内で実現してもよいが、プログラム命令を実行する際に協働する複数の処理装置またはサブシステム全体にわたって分散してもよい。処理回路905の例として、汎用中央処理装置、特定用途向けプロセッサ、論理装置、任意の他のタイプの処理装置、これらの組合せまたは変形例がある。
メモリシステム906は、処理回路905によって読み取ることができ、ソフトウェア907を記憶することができる任意のコンピュータ可読の持続性記憶媒体を含んでもよい。メモリシステム906は、コンピュータ可読の命令、データ構造、プログラムモジュールまたは他のデータなどの情報の記憶のための任意の方法または技術で実現される揮発性および不揮発性、取り外し可能および取り外し不能の媒体を含んでもよい。記憶媒体の例として、ランダムアクセスメモリ、読み取り専用メモリ、磁気ディスク、光ディスク、フラッシュメモリ、仮想メモリおよび非仮想メモリ、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または任意の他の適当な記憶媒体がある。
コンピュータ可読の記憶媒体に加えて、実装形態によっては、メモリシステム906は、ソフトウェア907と内部または外部で通信できるコンピュータ可読の通信媒体を含むこともある。メモリシステム906は、単一の処理装置として実現してもよいが、互いに共同設置または分散された複数の記憶装置またはサブシステム全体にわたって実現してもよい。メモリシステム906は、処理システム903または他のシステムと通信できるコントローラなどの追加の要素を含んでもよい。
ソフトウェア907は、プログラム命令で実現してもよく、特に、処理システム903によって実行される場合、機能は、本明細書に例示された種々の動作シナリオ、シーケンスおよび処理に対して記載のように動作するように、処理システム903に指示する。例えば、ソフトウェア907は、コードサービスおよびその関連機能を実施するプログラム命令を含んでもよい。
特に、プログラム命令は、本明細書に記載された種々の処理および動作シナリオを実行するのに協働するまたは別の方法で対話する種々の構成要素またはモジュールを含んでもよい。コンパイル済みまたは翻訳済みの命令で、または命令の他の変形例または組合せで、種々の構成要素またはモジュールを具体化してもよい。単一スレッド環境またはマルチスレッド環境で直列または並列に同期的または非同期的な方法で、または任意の他の適当な実行パラダイム、変形例、またはこれらの組合せに従って、種々の構成要素またはモジュールを実行してもよい。ソフトウェア907は、追加の処理、プログラムまたは構成要素、例えば、オペレーティングシステムソフトウェアまたは他のアプリケーションソフトウェアを含んでもよい。ソフトウェア907は、ファームウェア、または処理システム903によって実行可能な機械可読の処理命令の他の形式を含んでもよい。
一般に、処理システム903にロードされ、処理回路905によって実行される場合、ソフトウェア907は、適当な装置、システムまたはデバイス(コンピュータシステム902が表す)を全体的に、汎用コンピュータシステムから拡張構成要素の相互運用性を容易にするのにカスタマイズされた専用コンピュータシステムに変換してもよい。実際に、メモリシステム906上の符号化ソフトウェア907は、メモリシステム906の物理構造を変換してもよい。物理構造の特定の変換は、本明細書の異なる実施形態の種々の要因に左右されることがある。このような要因の例は、メモリシステム906の記憶媒体を実現するのに使用される技術、およびコンピュータ記憶媒体を主記憶装置または補助記憶装置とみなすかどうか、ならびに他の要因を含んでもよいが、これらに限定されない。
例えば、コンピュータ可読の記憶媒体を半導体ベースのメモリとして実現する場合、例えば、トランジスタ、コンデンサ、または半導体メモリを構成する他のディスクリート回路要素の状態を変換することによってプログラム命令を符号化すると、ソフトウェア907は半導体メモリの物理的状態を変換することができる。磁気媒体または光媒体に対して、同様の変換が行われてもよい。本説明を単に容易にするために挙げられた前述の例を用いて、本明細書の範囲から逸脱することなく、物理媒体の他の変換が可能である。
少なくとも1つの実施において、プログラム命令は、スループットモードモジュール908と、待ち時間モードモジュール909と、消費電力モジュール910とを含むことができる。スループットモードモジュール908は、所望のスループット速度を維持しながら、記憶ドライブの消費電力をキャッピングするのに記憶ドライブの待ち行列の長さを設定することを含む。待ち時間モードモジュール909は、記憶ドライブ上に記憶されたデータ用の所望の読み書き待ち時間を維持しながら、記憶ドライブの消費電力をキャッピングするのに記憶ドライブの待ち行列の長さを設定することを含む。消費電力モジュール910は、記憶ドライブの消費電力を測定して監視する。消費電力モジュール910は、記憶ドライブ上で実現された電力監視回路などの外部システムから電力測定データを受信することができる。電力測定データは、記憶ドライブの電力引き込みのデジタル化表現を含むことができる。消費電力モジュール910は、通信トランシーバ901上で電力測定データを受信することができる。消費電力モジュール910は、記憶ドライブの動作のスループットモードまたは待ち時間モードを設定する待ち行列の長さを判定するのに使用されるスループットモードモジュール908、待ち時間モードモジュール909のいずれかに電力測定データを転送することができる。
計算システム902は、拡張構成要素の相互運用性を実現するためにソフトウェア907を展開して実行できる1つまたは複数の計算システムを表すように一般に意図されているものとする。しかし、計算システム902は、ソフトウェア907をステージでき、展開および実行またはさらに追加の分散用のさらにもう1つの計算システムに一方または両方を分散、移送、ダウンロード、または別の方法で提供できる任意の計算システムとして適していることもある。
通信トランシーバ901は、通信ネットワーク(図示せず)上で他の計算システム(図示せず)と通信できる通信接続部および装置を含んでもよい。システム間通信を一緒に可能にする接続部および装置の例は、ネットワークインタフェースカード、アンテナ、電力増幅器、無線周波(RF)回路、トランシーバ、および他の通信回路を含んでもよい。接続部および装置は、金属、ガラス、空気、または任意の他の適当な通信媒体などの、他の計算システムまたはシステムのネットワークとの通信を交換する通信媒体上で通信してもよい。前述の媒体、接続部および装置は、周知であり、ここで詳細に説明される必要はない。
ユーザインタフェースシステム911は、任意選択的であり、キーボード、マウス、音声入力装置、ユーザからタッチジェスチャーを受信するタッチ入力装置、ユーザによる非タッチジェスチャーおよび他のモーションを検出するモーション入力装置、およびユーザからユーザ入力を受信することができる他の同等の入力装置および関連処理要素を含んでもよい。ユーザインタフェースシステム911は、ディスプレイ、スピーカー、触覚装置、および他のタイプの出力装置などの出力装置を含んでもよい。場合によっては、画像を表示してタッチジェスチャー受信することができるディスプレイなどの単一の装置に、入力装置および出力装置を組み合わせてもよい。前述のユーザ入力および出力装置は、当技術分野で周知であり、ここで詳細に説明される必要はない。
ユーザインタフェースシステム911は、上述の種々のユーザ入力および出力装置に加えて、プロセッサ回路905によって実行可能な関連ユーザインタフェースソフトウェアを含んでもよい。互いにおよび他のハードウェアおよびソフトウェア要素と共同してまたは別々に、ユーザインタフェースソフトウェアおよびユーザインタフェース装置は、グラフィカルユーザインタフェース、ナチュラルユーザインタフェース、または任意の他のタイプのユーザインタフェースを支援してもよい。
計算システム902と他の計算システム(図示せず)との間の通信は、種々の通信プロトコル、プロトコルの組合せ、またはこれらの変形例に従って、1つまたは複数の通信ネットワーク上で行われてもよい。例として、イントラネット、インターネット、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、無線ネットワーク、有線ネットワーク、仮想ネットワーク、ソフトウェア定義ネットワーク、データセンターバス、計算バックプレーン、または任意の他のタイプのネットワーク、ネットワークの組合せ、またはこれらの変形例がある。前述の通信ネットワークおよびプロトコルは、周知であり、ここで詳細に説明される必要はない。しかし、使用できる通信プロトコルは、インターネットプロトコル(IP、IPv4、IPv6など)、転送制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)、さらに任意の他の適当な通信プロトコル、変形例、またはこれらの組合せを含むが、これらに限定されない。
データ、内容、または任意の他のタイプの情報を交換する前述の例のいずれかでは、FTP(ファイル転送プロトコル)、HTTP(ハイパーテキスト転送プロトコル)、REST(表現状態転送)、WebSocket、DOM(ドキュメントオブジェクトモデル)、HTML(ハイパーテキストマーク付け言語)、CSS(カスケーディングスタイルシート)、HTML5、XML(拡張可能なマーク付け言語)、JavaScript(登録商標)、JSON(JavaScriptオブジェクト表記)、AJAX(非同期JavaScriptおよびXML)、さらに任意の他の適当なプロトコル、変形例、またはこれらの組合せを含む種々のプロトコルのいずれかに従って、情報の交換が行われてもよい。
含まれる説明および図面は、最良の態様を実施および使用する方法を当業者に教示するために特定の実施形態を示す。発明の原理を教示する目的で、従来の態様の一部を簡略化または省略している。当業者は、本発明の範囲内にあるこれらの実施形態から変形形態を理解されよう。当業者は、上述の特徴を種々の方法で組み合わせて複数の実施形態を形成できることも理解されよう。その結果、本発明は、上述の特定の実施形態に限定されないが、特許請求の範囲およびその均等物によってのみ限定される。
100、400、800 記憶システム
102、402、802 データ記憶装置
110、410、810 電力閾値
112、412、712 記憶媒体
114、414 記憶制御システム
116、416、716 待ち行列
120、420 ホストシステム
130、330、430 リンク
140、440 待ち行列の長さ
418、718 電力測定システム
424 プロセッサ
426 メモリ
428、804 ファイルシステム
702 ハードディスクドライブ
806 ブロック入出力スケジューラ
808 電力キャップブロック入出力インタフェース
812 電力キャッピングモニタ
814 性能モニタ
816 入出力実行制御器
818 ブロック入出力要求
901 通信トランシーバ
902 計算システム
903 処理システム
905 処理回路
906 メモリシステム
907 ソフトウェア
908 スループットモードモジュール
909 待ち時間モードモジュール
910 消費電力モジュール
911 ユーザインタフェースシステム

Claims (20)

  1. ホストシステムを動作させてデータ記憶装置の電力使用量を制御する方法であって、
    前記データ記憶装置用の電力閾値を識別するステップと、
    前記データ記憶装置用の消費電力特性を判定するステップと、
    前記データ記憶装置用の電力制御モードに入り、前記データ記憶装置における少なくとも記憶トランザクション待ち行列の長さを応答可能に調整して、前記データ記憶装置用の前記電力閾値未満として前記消費電力特性を設定するステップと、
    を含む方法。
  2. 前記消費電力特性を前記電力閾値未満に維持しながら、スループットをスループット閾値より上に増大させることに前記データ記憶装置用の最大の記憶トランザクション待ち行列の長さを専念させるステップをさらに含む、請求項1に記載の方法。
  3. 前記消費電力特性を前記電力閾値未満に維持しながら、待ち時間を待ち時間閾値未満に減少させるために前記記憶トランザクション待ち行列の長さを減少させるステップをさらに含む、請求項1に記載の方法。
  4. 前記実際の消費電力特性と前記目標消費電力特性との間の差に比例した前記記憶トランザクション待ち行列の長さを適応的に調整するステップをさらに含む、請求項1に記載の方法。
  5. 前記データ記憶装置における電力測定システムを利用して消費電力特性を測定するステップをさらに含む、請求項1に記載の方法。
  6. ホストシステムを用いて電力測定システムから消費電力特性を自動的および/または連続的に通信するステップをさらに含む、請求項1に記載の方法。
  7. サンプリングレートを設定するステップと、測定期間を設定するステップと、電力測定システム用の時間ベースの電力測定およびトランザクションベースの電力測定の中から選択するステップとのうちの少なくとも1つのステップをさらに含む、請求項1に記載の方法。
  8. ホストシステムによって前記データ記憶装置の前記電力測定システムの動作を制御するステップをさらに含む、請求項1に記載の方法。
  9. ホストシステムからの非同期要求に応じて前記データ記憶装置の記憶媒体上の所定の位置に識別子の組を書き込み、前記関連消費電力を測定するステップをさらに含む、請求項1に記載の方法。
  10. 記憶トランザクション待ち行列内で範囲をサイズ変更するステップをさらに含む、請求項1に記載の方法。
  11. データ記憶装置において消費電力を制御するホストシステムであって、
    前記データ記憶装置の電力閾値を識別するように構成されている記憶制御システムと、
    前記データ記憶装置の消費電力特性を監視するように構成されている電力測定システムと、
    を含み、前記記憶制御システムが、前記データ記憶装置用の電力制御モードに入り、前記データ記憶装置における少なくとも記憶トランザクション待ち行列の長さを応答可能に調整して、前記データ記憶装置用の前記電力閾値未満として前記消費電力特性を設定するように構成される、ホストシステム。
  12. 前記消費電力特性を前記電力閾値未満に維持しながら、スループットをスループット閾値より上に増大させることに前記データ記憶装置用の最大の記憶トランザクション待ち行列の長さを専念させるようにさらに構成される、請求項11に記載のホストシステム。
  13. 前記消費電力特性を前記電力閾値未満に維持しながら、待ち時間を待ち時間閾値未満に減少させるために前記記憶トランザクション待ち行列の長さを減少させるようにさらに構成される、請求項11に記載のホストシステム。
  14. 前記実際の消費電力特性と前記目標消費電力特性との間の差に比例した前記記憶トランザクション待ち行列の長さを適応的に調整するようにさらに構成される、請求項11に記載のホストシステム。
  15. 電力測定システムをさらに含む、請求項11に記載のホストシステム。
  16. ホストシステムを用いて消費電力特性を自動的および/または連続的に通信するようにさらに構成される、請求項15に記載の電力測定システム。
  17. 設定可能なサンプリングレート、設定可能な測定期間、時間ベースの電力測定、およびトランザクションベースの電力測定のうちの少なくとも1つをさらに含む、請求項15に記載の電力測定システム。
  18. ホストシステムから制御コマンドを受信して制御コマンドに応答するようにさらに構成される、請求項15に記載の電力測定システム。
  19. ホストシステムからの非同期要求に応じて前記データ記憶装置の記憶媒体上の所定の位置に識別子の組を書き込み、前記関連消費電力を測定するようにさらに構成される、請求項11に記載のホストシステム。
  20. 記憶トランザクション待ち行列内で範囲をサイズ変更するようにさらに構成される、請求項11に記載のホストシステム。
JP2015186310A 2014-09-22 2015-09-24 データ記憶装置の性能を意識した電力キャッピング制御 Active JP6162765B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/493,304 US10146293B2 (en) 2014-09-22 2014-09-22 Performance-aware power capping control of data storage devices
US14/493,304 2014-09-22

Publications (2)

Publication Number Publication Date
JP2016076204A true JP2016076204A (ja) 2016-05-12
JP6162765B2 JP6162765B2 (ja) 2017-07-12

Family

ID=54238217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015186310A Active JP6162765B2 (ja) 2014-09-22 2015-09-24 データ記憶装置の性能を意識した電力キャッピング制御

Country Status (6)

Country Link
US (1) US10146293B2 (ja)
EP (1) EP2998830B8 (ja)
JP (1) JP6162765B2 (ja)
KR (1) KR101831915B1 (ja)
CN (1) CN105487814B (ja)
SG (1) SG10201507858YA (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10146293B2 (en) 2014-09-22 2018-12-04 Western Digital Technologies, Inc. Performance-aware power capping control of data storage devices
US9541988B2 (en) * 2014-09-22 2017-01-10 Western Digital Technologies, Inc. Data storage devices with performance-aware power capping
US9930133B2 (en) 2014-10-23 2018-03-27 Netapp, Inc. System and method for managing application performance
US20160306416A1 (en) * 2015-04-16 2016-10-20 Intel Corporation Apparatus and Method for Adjusting Processor Power Usage Based On Network Load
US9965206B2 (en) * 2015-10-23 2018-05-08 Western Digital Technologies, Inc. Enhanced queue management for power control of data storage device
US10146444B2 (en) 2016-10-03 2018-12-04 Samsung Electronics Co., Ltd. Method for read latency bound in SSD storage systems
WO2018068638A1 (zh) * 2016-10-11 2018-04-19 北京忆恒创源科技有限公司 固态存储设备及其温度、功耗控制方法
US10579567B2 (en) 2017-06-28 2020-03-03 Western Digital Technologies, Inc. Queue depth management for host systems accessing a peripheral component interconnect express (PCIe) device via a PCIe switch
US10514748B2 (en) * 2017-09-27 2019-12-24 Western Digital Technologies, Inc. Reactive power management for non-volatile memory controllers
KR102615227B1 (ko) * 2018-02-01 2023-12-18 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US11500439B2 (en) * 2018-03-02 2022-11-15 Samsung Electronics Co., Ltd. Method and apparatus for performing power analytics of a storage system
CN109274550B (zh) * 2018-09-07 2020-07-31 电信科学技术第五研究所有限公司 一种iSCSI自适应IO队列深度匹配方法
TWI682273B (zh) * 2018-09-13 2020-01-11 緯創資通股份有限公司 儲存裝置的電源控制方法與使用此方法的電子系統
US11481158B2 (en) * 2018-12-05 2022-10-25 International Business Machines Corporation Enabling compression based on queue occupancy
US11093135B1 (en) 2019-04-11 2021-08-17 Seagate Technology Llc Drive performance, power, and temperature management
US11209882B2 (en) 2019-07-31 2021-12-28 Microsoft Technology Licensing, Llc Mechanical selection of power consumption indicator by form factor
US11222658B1 (en) 2020-10-20 2022-01-11 Seagate Technology Llc Power latency control in data storage devices

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003308176A (ja) * 2002-04-03 2003-10-31 Internatl Business Mach Corp <Ibm> データ記憶装置、コマンド・キューのリオーダリング方法、データ処理方法およびプログラム
JP2004086914A (ja) * 2002-08-28 2004-03-18 Hewlett-Packard Development Co Lp コンピュータシステム内の記憶装置のパフォーマンスの最適化
JP2008003719A (ja) * 2006-06-20 2008-01-10 Hitachi Ltd 省電力とパフォーマンスを両立したストレージシステム及び記憶制御方法
JP2010003099A (ja) * 2008-06-20 2010-01-07 Hitachi Ltd 消費電力推定を行うストレージ装置及びストレージ装置の電力推定方法
US20100128381A1 (en) * 2008-11-25 2010-05-27 William Guthrie Method and system for reducing power consumption by command selection in a hard disk drive
US20100332861A1 (en) * 2009-06-30 2010-12-30 International Business Machines Corporation Managing power comsumption in a data storage system
JP2011210024A (ja) * 2010-03-30 2011-10-20 Yokogawa Electric Corp サーバ・ストレージシステム
JP2012523593A (ja) * 2009-07-15 2012-10-04 株式会社日立製作所 ストレージシステム、ストレージ装置の制御方法

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481733A (en) 1994-06-15 1996-01-02 Panasonic Technologies, Inc. Method for managing the power distributed to a disk drive in a laptop computer
US5574920A (en) 1994-10-25 1996-11-12 Microsoft Corporation Method for controlling power down of a hard disk drive in a computer
KR970066826A (ko) 1996-03-13 1997-10-13 김광호 하드 디스크 드라이브의 전원 절약 장치 및 그 제어 방법
KR0174711B1 (ko) 1996-04-24 1999-04-15 김광호 하드디스크 캐시의 제어방법
JP3819166B2 (ja) 1998-11-27 2006-09-06 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ 消費エネルギー低減方法
US6789132B2 (en) * 2000-02-09 2004-09-07 Seagate Technology Llc Modular disc drive architecture
US6968423B2 (en) * 2002-02-05 2005-11-22 Seagate Technology Llc Dynamic data access pattern detection in a block data storage device
US6809896B2 (en) * 2002-03-14 2004-10-26 Hitachi Global Storage Technologies Netherlands B.V. Power-efficient seek operations in hard disk drive
US20050210304A1 (en) 2003-06-26 2005-09-22 Copan Systems Method and apparatus for power-efficient high-capacity scalable storage system
US7240225B2 (en) 2003-11-10 2007-07-03 Dell Products L.P. System and method for throttling power in one or more information handling systems
JP4564966B2 (ja) 2003-12-03 2010-10-20 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電力節約方法及びシステム
US7634615B2 (en) 2004-06-10 2009-12-15 Marvell World Trade Ltd. Adaptive storage system
JP2006099665A (ja) 2004-09-30 2006-04-13 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及びそのシリアル・インターフェース部のパワー・セーブ・モードの制御方法
JP2006139548A (ja) * 2004-11-12 2006-06-01 Hitachi Global Storage Technologies Netherlands Bv メディア・ドライブ及びそのコマンド実行方法
US7995585B2 (en) 2005-01-14 2011-08-09 Alcatel Lucent Method of controlling transmission rates
US7721011B1 (en) 2005-05-09 2010-05-18 Oracle America, Inc. Method and apparatus for reordering memory accesses to reduce power consumption in computer systems
US9304773B2 (en) * 2006-03-21 2016-04-05 Freescale Semiconductor, Inc. Data processor having dynamic control of instruction prefetch buffer depth and method therefor
US7702931B2 (en) 2006-06-27 2010-04-20 Hewlett-Packard Development Company, L.P. Adjusting power budgets of multiple servers
US7596643B2 (en) 2007-02-07 2009-09-29 Siliconsystems, Inc. Storage subsystem with configurable buffer
WO2009025664A1 (en) 2007-08-20 2009-02-26 Agere Systems Inc. Data storage drive with reduced power consumption
DK2195724T3 (da) * 2007-08-28 2020-01-20 Commvault Systems Inc Energistyring af databehandlingsressourcer, såsom adaptiv energistyring af datalagringsoperationer
US7890780B2 (en) 2008-02-15 2011-02-15 Dell Products L.P. Systems and methods for managing power for data storage devices
US8073820B2 (en) 2008-04-07 2011-12-06 Sonics, Inc. Method and system for a database to monitor and analyze performance of an electronic design
GB0808341D0 (en) 2008-05-08 2008-06-18 Michael John P External storage security and encryption device
KR101498225B1 (ko) 2009-02-19 2015-03-04 삼성전자주식회사 데이터 저장 장치 및 그것의 전원 관리 방법
CN104750434B (zh) 2009-07-20 2018-01-26 卡林戈公司 存储集群中的自适应功率保存
US8289801B2 (en) * 2009-09-09 2012-10-16 Fusion-Io, Inc. Apparatus, system, and method for power reduction management in a storage device
US8239589B1 (en) * 2010-03-31 2012-08-07 Amazon Technologies, Inc. Balancing latency and throughput for shared resources
US8072704B1 (en) 2010-05-20 2011-12-06 International Business Machines Corporation Energy-saving operation of a storage device
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US9489404B2 (en) * 2010-09-29 2016-11-08 International Business Machines Corporation De-duplicating data in a network with power management
US8627124B2 (en) 2011-02-10 2014-01-07 International Business Machines Corporation Techniques for performing storage power management
US8694719B2 (en) 2011-06-24 2014-04-08 Sandisk Technologies Inc. Controller, storage device, and method for power throttling memory operations
US8908503B2 (en) * 2011-12-05 2014-12-09 Kaseya Limited Method and apparatus of performing a multi-channel data transmission
JP5867160B2 (ja) * 2012-02-28 2016-02-24 富士通株式会社 通信制御装置、通信制御方法および通信制御プログラム
US9292205B2 (en) * 2012-06-14 2016-03-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Methods and systems for adaptive queue depth management
US8730603B2 (en) 2012-09-11 2014-05-20 Lsi Corporation Power management for storage device read channel
GB2505884B (en) 2012-09-12 2015-06-03 Imagination Tech Ltd Dynamically resizable circular buffers
US20140173306A1 (en) 2012-12-19 2014-06-19 Barnes Cooper System and method for providing for power savings in a processor environment
US9329666B2 (en) 2012-12-21 2016-05-03 Advanced Micro Devices, Inc. Power throttling queue
KR102098246B1 (ko) 2013-04-29 2020-04-07 삼성전자 주식회사 호스트, 저장 장치, 및 이를 포함하는 시스템의 동작 방법
US9195293B1 (en) * 2013-05-03 2015-11-24 Western Digital Technologies, Inc. User controlled data storage device power and performance settings
US9075538B2 (en) * 2013-06-24 2015-07-07 Seagate Technology Llc Performance and power management for rotating data storage device
US9857974B2 (en) 2013-10-03 2018-01-02 International Business Machines Corporation Session execution decision
TW201516634A (zh) 2013-10-16 2015-05-01 Wistron Corp 磁碟陣列儲存裝置、伺服器系統及其電源管理方法
US9276959B2 (en) * 2013-11-11 2016-03-01 Amazon Technologies, Inc. Client-configurable security options for data streams
US9900316B2 (en) * 2013-12-04 2018-02-20 International Business Machines Corporation Accessing storage units of a dispersed storage network
US9584599B2 (en) * 2014-01-14 2017-02-28 Netapp, Inc. Method and system for presenting storage in a cloud computing environment
US20150261473A1 (en) 2014-03-11 2015-09-17 Kabushiki Kaisha Toshiba Memory system and method of controlling memory system
US10146293B2 (en) 2014-09-22 2018-12-04 Western Digital Technologies, Inc. Performance-aware power capping control of data storage devices
US9541988B2 (en) 2014-09-22 2017-01-10 Western Digital Technologies, Inc. Data storage devices with performance-aware power capping

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003308176A (ja) * 2002-04-03 2003-10-31 Internatl Business Mach Corp <Ibm> データ記憶装置、コマンド・キューのリオーダリング方法、データ処理方法およびプログラム
JP2004086914A (ja) * 2002-08-28 2004-03-18 Hewlett-Packard Development Co Lp コンピュータシステム内の記憶装置のパフォーマンスの最適化
JP2008003719A (ja) * 2006-06-20 2008-01-10 Hitachi Ltd 省電力とパフォーマンスを両立したストレージシステム及び記憶制御方法
JP2010003099A (ja) * 2008-06-20 2010-01-07 Hitachi Ltd 消費電力推定を行うストレージ装置及びストレージ装置の電力推定方法
US20100128381A1 (en) * 2008-11-25 2010-05-27 William Guthrie Method and system for reducing power consumption by command selection in a hard disk drive
US20100332861A1 (en) * 2009-06-30 2010-12-30 International Business Machines Corporation Managing power comsumption in a data storage system
JP2012523593A (ja) * 2009-07-15 2012-10-04 株式会社日立製作所 ストレージシステム、ストレージ装置の制御方法
JP2011210024A (ja) * 2010-03-30 2011-10-20 Yokogawa Electric Corp サーバ・ストレージシステム

Also Published As

Publication number Publication date
EP2998830B1 (en) 2019-08-07
CN105487814A (zh) 2016-04-13
JP6162765B2 (ja) 2017-07-12
KR101831915B1 (ko) 2018-02-27
EP2998830A1 (en) 2016-03-23
SG10201507858YA (en) 2016-04-28
US10146293B2 (en) 2018-12-04
KR20160034826A (ko) 2016-03-30
US20160085289A1 (en) 2016-03-24
CN105487814B (zh) 2018-10-12
EP2998830B8 (en) 2019-09-18

Similar Documents

Publication Publication Date Title
JP6162765B2 (ja) データ記憶装置の性能を意識した電力キャッピング制御
JP6144308B2 (ja) 性能を意識した電力キャッピングを用いるデータ記憶装置
US9032165B1 (en) Systems and methods for scheduling write requests for a solid state storage device
US10142211B2 (en) Storage management device and control method
US8589644B2 (en) Non-transitory medium, access control method, and information processing apparatus
WO2016105683A1 (en) Cpu overprovisioning and cloud compute workload scheduling mechanism
US10771358B2 (en) Data acquisition device, data acquisition method and storage medium
US9734048B2 (en) Storage management device, performance adjustment method, and computer-readable recording medium
US10616332B2 (en) Optimized synching of metadata changes using chunked response
US10902887B2 (en) Memory subsystem power management
US10637915B1 (en) Storage services configured for storage-oriented applications
US20200110637A1 (en) Synchronous monitoring and feedback system to dynamically optimize the resource usage of backup service
US20170123657A1 (en) Systems and methods for back up in scale-out storage area network
TW201435562A (zh) 伺服器系統及其電源管理方法
WO2016126447A1 (en) Calibration margin optimization in a multi-processor system on a chip
US10216660B1 (en) Method and system for input/output (IO) scheduling in a storage system
JP2018041282A (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
TWI545453B (zh) 分散式系統及其資料庫管理方法及管理系統
JP2017010196A (ja) ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法
KR102359687B1 (ko) 멀티 클라이언트용 사이버 원격관리 장치
JP2020035207A (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
JP2015200930A (ja) 記憶装置、データ読出方法、およびプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170120

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170615

R150 Certificate of patent or registration of utility model

Ref document number: 6162765

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250