(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-05
(45)【発行日】2024-01-16
(54)【発明の名称】ストレージ制御装置およびバックアップ制御プログラム
(51)【国際特許分類】
G06F 3/06 20060101AFI20240109BHJP
G06F 3/08 20060101ALI20240109BHJP
G06F 13/10 20060101ALI20240109BHJP
G06F 11/14 20060101ALI20240109BHJP
G06F 11/36 20060101ALI20240109BHJP
G06F 11/22 20060101ALI20240109BHJP
【FI】
G06F3/06 305Z
G06F3/08 H
G06F13/10 340A
G06F3/06 304F
G06F11/14 658
G06F11/36 160
G06F11/22 673P
(21)【出願番号】P 2020075226
(22)【出願日】2020-04-21
【審査請求日】2023-01-12
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110003649
【氏名又は名称】弁理士法人真田特許事務所
(74)【代理人】
【識別番号】100092978
【氏名又は名称】真田 有
(74)【代理人】
【識別番号】100189201
【氏名又は名称】横田 功
(72)【発明者】
【氏名】小川 純一
【審査官】田中 啓介
(56)【参考文献】
【文献】特開2018-207421(JP,A)
【文献】特開2020-030654(JP,A)
【文献】特開2005-242690(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/06-3/08
G06F11/07、11/14
G06F11/22-11/36
G06F13/10-13/14
(57)【特許請求の範囲】
【請求項1】
ストレージ装置の制御を行なうストレージ制御装置であって、
バックアップ対象データの格納先の記憶装置と、
当該ストレージ制御装置の正常動作時に、
複数種類の書込負荷でそれぞれダミーデータを前記記憶装置に書き込み、前記ダミーデータの書き込み中における累積書込データ量,環境温度および前記記憶装置の書込性能を
収集し、
前記複数種類の書込負荷毎に、前記記憶装置における、書込データサイズと
前記環境温
度との関係を示す関係情報を作成する診断処理部と、
前記記憶装置に前記バックアップ対象データを格納する際に、前記関係情報を参照して、前記書込負荷を決定する決定部と
を備える、ストレージ制御装置。
【請求項2】
前記診断処理部が、
前記複数種類の書込負荷毎に前記書込データサイズと
前記環境温度との関係を表す関係式を作成することで、前記関係情報を作成する
ことを特徴とする、請求項1記載のストレージ制御装置。
【請求項3】
前記決定部が、
当該ストレージ制御装置における停電検出時の環境温度と、前記バックアップ対象データのデータサイズとに基づいて前記関係情報を参照し、前記停電検出時の環境温度と前記データサイズとの組み合わせに対応する前記書込負荷を決定する
ことを特徴とする、請求項1または2記載のストレージ制御装置。
【請求項4】
ストレージ装置の制御を行なうストレージ制御装置のプロセッサに、
当該ストレージ制御装置の正常動作時に、
複数種類の書込負荷でそれぞれダミーデータをバックアップ対象データの格納先の記憶装置に書き込み、前記ダミーデータの書き込み中における累積書込データ量,環境温度および前記記憶装置の書込性能を
収集し、
前記複数種類の書込負荷毎に、前記記憶装置における、書込データサイズと
前記環境温
度との関係を示す関係情報を作成し、
前記記憶装置に前記バックアップ対象データを格納する際に、前記関係情報を参照して、前記書込負荷を決定する
処理を実行させる、バックアップ制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージ制御装置およびバックアップ制御プログラムに関する。
【背景技術】
【0002】
RAID(Redundant Arrays of Inexpensive Disks)システム等のストレージ装置は、CM(Controller Module)を備える。CMにはバックアップ可能なSSD(Solid State Drive)が採用されている。以下、CMにおいてメモリデータのバックアップ先として搭載されるSSDをBUD(Back Up Device)という場合がある。CMは、ストレージ装置における種々の制御を行なうものであり、例えば、図示しないホスト装置からのI/O(Input/Output)処理要求に従って、記憶装置へのアクセス制御等の各種制御を行なう。
【0003】
CMはプロセッサやメモリを備える情報処理装置として構成される。CMにおいて停電が検出された場合には、メモリのキャッシュデータ等が不揮発性記憶デバイス等にバックアップされる。
【0004】
従来においては、CMのメモリデータのバックアップ先に用いられる不揮発性記憶デバイスとしてHDD(Hard Disk Drive)が採用されていた。
【0005】
BUDには、停電時において、CMの動作FW(firmware),システムの動作ログおよびメモリのバックアップデータが格納される。また、CMにおいては、複数のBUDを搭載する構成も知られている。
【0006】
停電等によりストレージ装置の動作中に外部電源が喪失した場合に、CMは、バッテリから給電されながら停電検出時点のメモリに格納されたデータをBUDに書込んだ後、その動作を停止する。また、CMは、定期/不定期に、検出した事象をログイベントとしてBUDに記録する。
【0007】
また、一般に、ストレージ装置は各部を冷却するための冷却ファンを備える。冷却ファンの制御においては、外気温や局所温度、複数点の測定結果からシステム全領域の温度を算出し、各部位の温度が規格値(閾値)を超えないように制御を行なう。
【先行技術文献】
【特許文献】
【0008】
【文献】特開平9-330277号公報
【文献】特開2017-117054号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
近年、SSDにおいては、その性能向上にともない消費電力および発熱量が増加している。SSDに搭載されるNAND FLASHは、高温環境下でデータ保持能力が低下する特性を有する。そのため、SSDにおいては、一般的にサーマルスロットリングと呼ばれる保護機能が備えられるものがある。サーマルスロットリングは、一定の高温条件下でI/O処理を自己制限して発熱を抑止する。
【0010】
SSDのサーマルスロットリングの動作をRAIDシステムから直接制御することは出来ない。また、システムの設計後に開発される未知のSSDのサーマルスロットリング発動条件は、当然の如く未知である。
【0011】
サーマルスロットリングを回避し、SSDを所望性能で動作させるためには、SSDを冷却する他なく、従来においては、SSDの最大発熱量を想定した冷却制御を行なっている。このような、SSDの最大発熱量を想定した冷却制御においては、冷却ファンによる消費電力が最大となる他、停電時においても冷却ファンによる冷却が行なわれる。このため、SSDに対して過剰なファン冷却を行なうことにより電力消費が増加し、非効率的であるという課題がある。
1つの側面では、本発明は、バックアップ対象データの格納先の記憶装置を効率的に使用することを目的とする。
【課題を解決するための手段】
【0012】
このため、このストレージ制御装置は、ストレージ装置の制御を行なうストレージ制御装置であって、バックアップ対象データの格納先の記憶装置と、当該ストレージ制御装置の正常動作時に、複数種類の書込負荷でそれぞれダミーデータを前記記憶装置に書き込み、前記ダミーデータの書き込み中における累積書込データ量,環境温度および前記記憶装置の書込性能を収集し、前記複数種類の書込負荷毎に、前記記憶装置における、書込データサイズと前記環境温度との関係を示す関係情報を作成する診断処理部と、前記記憶装置に前記バックアップ対象データを格納する際に、前記関係情報を参照して、前記書込負荷を決定する決定部とを備える。
【発明の効果】
【0013】
一実施形態によれば、バックアップ対象データの格納先の記憶装置を効率的に使用することができる。
【図面の簡単な説明】
【0014】
【
図1】実施形態の一例としてのストレージ装置のハードウェア構成を模式的に示す図である。
【
図2】実施形態の一例としてのストレージ装置の機能構成を例示する図である。
【
図3】実施形態の一例としてのストレージ装置におけるBUDの記憶部のデータ構成例を示す図である。
【
図4】実施形態の一例としてのストレージ装置の診断処理部が取得した情報を表すグラフである。
【
図5】実施形態の一例としてのストレージ装置におけるI/Oコマンド数参照情報を例示する図である。
【
図6】実施形態の一例としてのストレージ装置の診断処理部による処理を説明するためのフローチャートである。
【
図7】実施形態の一例としてのストレージ装置におけるメモリバックアップ処理を説明するためのフローチャートである。
【発明を実施するための形態】
【0015】
以下、図面を参照して本ストレージ制御装置およびバックアップ制御プログラムにかかる実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【0016】
(A)構成
図1は実施形態の一例としてのストレージ装置1のハードウェア構成を模式的に示す図、
図2は実施形態の一例としてのストレージ装置1の機能構成を例示する図である。
【0017】
ストレージ装置1は、情報処理装置の一例であり、
図1に例示するように、1つ以上(
図1に示す例では2つ)のCM2-1,2-2およびストレージ3をそなえてよい。
【0018】
ストレージ3は、ストレージ装置1により図示しないホスト装置等に対して提供される記憶領域を有する。例えば、ストレージ3は、複数のディスク(物理ディスク)をそなえてよい。例えば、ストレージ3は、複数のディスクによりRAID等のディスクアレイを構成してもよい。
【0019】
ディスクは、HDD、SSD,ストレージクラスメモリ(Storage Class Memory:SCM)等の記憶装置であって、種々のデータを格納するものである。
【0020】
CM2-1,2-2は、ストレージ制御装置又は制御装置の一例である。CM2-1,2-2は、例えば、ストレージ装置1を制御し、ホスト装置に対して、ストレージ3の記憶領域を提供するための種々の制御を行なってよい。CM2-1とCM2-2とは同様の構成を有する。以下、CM2-1,2-2を特に区別しない場合には、CM2と表記する。
CM2は、例えば、RAIDシステムを構成するストレージ装置を制御するRAIDコントローラであってもよい。
【0021】
なお、以下の説明において、ホスト装置からストレージ装置1に対して発行されたストレージ3へのアクセス要求に基づき、CM2が実行するストレージ3へのアクセスに係る処理を、「ホストI/O」と表記する場合がある。
【0022】
図1に示すように、CM2は、例示的に、CPU10,メモリ11,不揮発性記憶媒体12,CM間インタフェース(I/F)13,DA(Device Adapter)14,BPSU(Backup Power Supply Unit)15およびBUD30を備えてよい。
【0023】
メモリ11は、CM2の動作に用いられる種々の情報を記憶する揮発性メモリの一例である。一実施形態において、メモリ11は、ストレージ装置1(CM2)の停電が発生した際に実行されるバックアップの対象(バックアップ元)である。
【0024】
メモリ11は、例えば、ストレージ装置1(CM2)の停電後、再起動された際に、ストレージ装置1(CM2)の動作を再開するために使用される動作再開情報を記憶してよい。動作再開情報としては、例えば、CM2が停電発生の直前に実行していた処理の制御情報や、ホストI/Oに係るキャッシュの情報等が挙げられる。
【0025】
CM間インタフェース13は、CM間情報通信により、他のCM2との間でデータ通信を行なう。例えば、CM間インタフェース13は、他のCM2との間で装置の構成情報等の同期を取ったり、他のCM2への処理の依頼等を行なうことができる。なお、CM間情報通信は、例えばDirect Memory Access(DMA)転送の技術を用いた通信機能により実現されてもよい。CM間インタフェース13は、例えば、PCIe(Peripheral Component Interconnect Express)インタフェース,光通信インタフェース,ネットワークインタフェース等、適宜変更して実施することができる。
【0026】
DA14は、ストレージ3と通信可能に接続するためのインタフェースである。DA14にはストレージ3のディスクが接続され、CM2は、ホスト装置から受信したI/Oコマンドに基づき、これらのディスクに対するアクセス制御を行なう。
【0027】
BPSU15は、ストレージ装置1において、図示しない電源装置からの電力供給が停止した場合に、CM2の少なくとも一部の部位に電力を供給する電力供給装置である。なお、電源装置からの電力供給が停止した状態を単に停電という場合がある。
【0028】
BPSU15は、ストレージ装置1の停電時に、例えば、CM2の、CPU10,メモリ11,BUD30や図示しないメモリコントローラ等に対して電力を供給する。
【0029】
このBPSU15は、図示しないバッテリを備える。バッテリは、例えば、鉛蓄電池やニッケル水素電池(Ni-H),リチウムイオン(Li-ION)電池等の二次電池である。なお、バッテリに代えて、電気二重層コンデンサ(電気二重層キャパシタ)等のキャパシタを備えてもよい。
BUD30は、CM2の動作に用いられる種々の情報を記憶する記憶装置であり、一実施形態においては記憶媒体としてSSDが用いられる。
【0030】
以下、BUD30をSSD30と表す場合がある。一実施形態において、BUD30は、ストレージ装置1(CM2)の停電が発生した際に実行されるバックアップの格納(退避)先(バックアップ先)である。すなわち、本ストレージ装置1の停電時において、BUD30には、CMの動作FW,システムの動作ログおよびメモリのバックアップデータが格納される。BUD30は、データを記憶する記憶部をそなえる。
図3は実施形態の一例としてのストレージ装置1におけるBUD30の記憶部のデータ構成例を示す図である。
【0031】
BUD30の記憶部は、BUD30の記憶領域であって、
図2に例示するように、論理ブロックとして、FW(ファームウェア)格納領域32a、ログ書込領域32b、バックアップ領域32cおよび空き領域32dを有してよい。なお、これらの領域32a~32dは、それぞれ、
図3にアドレス例として示すように、連続した論理アドレスによる論理アドレス範囲として表されてもよい。
【0032】
FW格納領域32aは、CM2の動作を実現するファームウェアを格納する記憶領域である。ログ書込領域32bは、システムの動作ログ等を格納する記憶領域である。空き領域32dは、データが未書き込みの記憶領域である。
【0033】
バックアップ領域32cは、本ストレージ装置1(CM2)の停電が発生した場合にBPSU15から供給される電力を利用して実行されるメモリ11内のデータのバックアップの書き込み先の記憶領域である。バックアップ領域32cには、特に、メモリ11のキャッシュメモリ領域のデータ(キャッシュデータ)が格納される。以下、本ストレージ装置1の停電時に、メモリ11のキャッシュデータをBUD30のバックアップ領域32cにライトすることをメモリバックアップという場合がある。
【0034】
また、CM2において、SSD20の近傍には1つ以上の温度センサ301が備えられており、この温度センサ301を用いてSSD20近傍の温度が測定される。以下、SSD20近傍の温度をデバイス周辺温度という場合がある。温度センサ301は、SSD20の近傍以外の場所にも配置してもよく、例えば、CPU10の近傍に備えてもよい。
【0035】
不揮発性記憶媒体12は、CPU10が実行するプログラムや種々のデータ等を格納する記憶装置であり、例えば、OSやFW、アプリケーション等のプログラム、及び各種データを格納する。不揮発性記憶媒体12は、後述する診断処理部101がSSD30にライトするダミーデータを格納してもよい。
不揮発性記憶媒体12は、例えば、SSDである。なお、不揮発性記憶媒体12にSCMやHDDを用いてもよく、適宜変更して実施することができる。
【0036】
メモリ11のROMや不揮発性記憶媒体12の少なくとも一方には、CM2の各種機能の全部若しくは一部を実現するプログラム(バックアップ制御プログラム)が格納されてもよい。例えば、CM2のCPU10は、ROMに格納されたFWとしてのプログラムを読み出し、メモリ11に展開して実行することにより、CM2としての機能を実現してよい。或いは、CPU10は、不揮発性記憶媒体12に格納されたFWとしてのプログラムを読み出し、メモリ11に展開して実行することにより、CM2としての機能を実現してもよい。CM2としての機能には、後述する診断処理部101,I/Oコマンド数決定部102およびバックアップ処理部103の機能が含まれてよい。
【0037】
CPU10は、種々の制御や演算を行なう処理装置である。CPU10は、例えばマルチコアプロセッサ(マルチコアCPU)であってもよい。CPU10は、メモリ11や不揮発性記憶媒体12等に格納されたOSやプログラムを実行することにより、種々の機能を実現する。
【0038】
特に、本実施形態において、CPU10は、バックアップ制御プログラム(図示省略)を実行することで、
図2に示す、診断処理部101,I/Oコマンド数決定部102およびバックアップ処理部103としての機能を果たす。
【0039】
なお、これらの診断処理部101,I/Oコマンド数決定部102およびバックアップ処理部103としての機能を実現するためのプログラム(バックアップ制御プログラム)は、例えばフレキシブルディスク,CD(CD-ROM,CD-R,CD-RW等),DVD(DVD-ROM,DVD-RAM,DVD-R,DVD+R,DVD-RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータストレージ制御装置,記憶装置管理プログラムおよび記憶装置管理プログラムを記録したコンピュータ読取可能な記録媒体(CM2,CPU10)はその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【0040】
診断処理部101,I/Oコマンド数決定部102およびバックアップ処理部103としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ11のRAMやROM)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU10)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【0041】
――診断処理部101――
診断処理部101は、SSD30に搭載された不揮発性メモリを診断して、SSD30に関する性能低下発生条件や低下特性を取得する。
【0042】
診断処理部101は、例えば、本ストレージ装置1の電源投入時および電源切断時に、SSD30から累積書込データ量および稼働時間の情報を取得する。診断処理部101は、これらの累積書込データ量や稼働時間が所定量(閾値)を超える毎に診断処理を行なう。診断処理は、CM2が外部電源から電力を供給された正常動作中(正常動作時)に行なわれる。
【0043】
診断処理部101は、SSD30に対するデータのライトに関して、単位時間当たりのI/Oコマンドの発行数を設定する。以下、I/Oコマンドの発行数をI/Oコマンド数という場合がある。単位時間当たりのI/Oコマンド数は、SSD30のI/Oパフォーマンスを表す指標であり、SSD30における書込負荷を表す。単位時間当たりのI/Oコマンド数をトランザクション負荷もしくはトランザクション性能といってもよい。
【0044】
例えば、診断処理部101は、CPU10からのコマンド入力に対して完了を通知するまでの時間を段階的に制限することで、単位時間当たりのI/Oコマンドの発行数を調整する。また、完了通知を送信するまでの時間(完了通知待機時間)は外部から調節可能であるものとする。なお、単位時間当たりのI/Oコマンドの発行数を調整方法は、これに限定されるものではなく、種々変形して実施することができる。
【0045】
本ストレージ装置1においては、単位時間当たりのI/Oコマンド数として、予め複数種類のI/Oコマンド数が用意されてもよい。例えば、診断処理部101は、単位時間当たりのI/Oコマンド数を20,60,100(単位:回/nsec)の3種類の中から選択して切り替える。以下、これらの単位時間当たりのI/Oコマンドの発行数を負荷条件といってもよい。なお、単位時間当たりのI/Oコマンド数の単位は、例えば、回/secであってもよく、適宜変更して実施することができる。
【0046】
診断処理部101は、診断対象のSSD30のバックアップ領域32c(
図2参照)における連続したアドレスに対してダミーデータを継続して書き込む。ダミーデータは、例えば、ベンチマークテストにおいて用いられるテストデータパターンであってもよく、本ストレージ装置1において格納された実際のデータを用いてもよく、適宜変更して実施することができる。
【0047】
また、診断処理部101は、このようなダミーデータの継続的な書き込みと並行して、ダミーデータの累積書込データ量,デバイス周辺温度および書込性能(単位時間当たりの書込サイズ速度,転送速度)を計測する。すなわち、診断処理部101は、CM2の正常動作時に、SSD30の書込性能を診断する。
【0048】
診断処理部101は、書込性能が所定の閾値より低下したことを検知すると、ダミーデータの書き込を中止し、上記の計測を終了する。書込性能の閾値は、例えば、平均データ転送速度が書き込み開始からの定常速度の所定割合(例えば、90%)の値であってもよく、また、予め設定した所定値であってもよい。この閾値は適宜変更して実施することができる。
【0049】
SSD30の書込性能が所定の閾値より低下した場合に、サーマルスロットリングが発動したと考えられる。診断処理部101は、このように書込性能が所定の閾値より低下したことを検知すると、ダミーデータの書込みを中止した時点の累積書込データ量(Mmax)およびデバイス周辺温度(Tmax) をメモリ11や不揮発性記憶媒体12等の所定の記憶領域に保存させる。
【0050】
診断処理部101は、上述の如きSSD30のバックアップ領域32cへのダミーデータの書込みと、ダミーデータの累積書込データ量,デバイス周辺温度および書込性能の測定と、累積書込データ量(Mmax)およびデバイス周辺温度(Tmax)の記憶とを、単位時間当たりのI/Oコマンド数を複数切り替えて、それぞれ行なう。
【0051】
すなわち、診断処理部101は、複数種類の単位時間当たりのI/Oコマンド数(負荷条件)のそれぞれについて、上述したSSD30へのダミーデータのライトおよび各種測定を行なう。
【0052】
例えば、診断処理部101は、単位時間当たりのI/Oコマンド数20,60,100のそれぞれについて、SSD30のバックアップ領域32cへのダミーデータの書込みと、ダミーデータの累積書込データ量,デバイス周辺温度および書込性能の測定と、累積書込データ量(Mmax)およびデバイス周辺温度(Tmax)を記憶させる記憶制御とを行なう。
図4は実施形態の一例としてのストレージ装置1の診断処理部101が取得した情報を表すグラフである。
この
図4においては、横軸が累計書込データ量を表し、縦軸がデータ転送速度および温度を表す。
【0053】
すなわち、
図4には、累積書込データ量とデバイス周辺温度との関係を示すグラフG01~G03(
図4中の破線参照)と、累積書込データ量とデータ転送速度(書込性能)との関係を示すグラフG11~G13(
図4中の実線グラフ参照)とを示す。
【0054】
ここで、グラフG01は単位時間当たりのI/Oコマンドの発行数が100のデータ転送における累積書込データ量とデバイス周辺温度との関係を表す。また、グラフG02は単位時間当たりのI/Oコマンドの発行数が60のデータ転送における累積書込データ量とデバイス周辺温度との関係を表す。グラフG03は単位時間当たりのI/Oコマンドの発行数が20のデータ転送における累積書込データ量とデバイス周辺温度との関係を表す。
【0055】
これらのグラフG01~G03においては、いずれもSSD30にデータの書き込みを行ない累積書込データ量が増加するに従って、デバイス周辺温度が上昇することを示している。
【0056】
そして、例えば、単位時間当たりのI/Oコマンドの発行数が多いほど、SSD30に書き込めるデータの量(累積書込データ量)が少なくなることがわかる(グラフG01参照)。一方、単位間当たりのI/Oコマンドの発行数が少ないほど、SSD30に書き込めるデータの量(累積書込データ量)が多くなることがわかる(グラフG03参照)。
【0057】
グラフG11は単位時間当たりのI/Oコマンドの発行数が100の場合における累積書込データ量とデータ転送速度との関係を表す。また、グラフG12は単位時間当たりのI/Oコマンドの発行数が60の場合における累積書込データ量とデータ転送速度との関係を表す。さらに、グラフG13は単位時間当たりのI/Oコマンドの発行数が20の場合における累積書込データ量とデータ転送速度との関係を表す。
【0058】
これらのグラフG11~G13においては、いずれも、SSD30に対して一定のデータ転送速度(定常速度)でデータの書き込みが行なわれ、このデータの書き込みに応じて累積書込データ量が増加することや、定常速度で推移していたデータ転送速度が急激に低下することを示している。このデータ転送速度の急激な低下は、サーマルスロットリングの発生を示す。
【0059】
例えば、単位時間当たりのI/Oコマンドの発行数が多いほど、データ転送速度が速く、且つ、サーマルスロットリングが早いタイミングで生じ、その結果、累積書込データ量が少ないことがわかる(グラフG11参照)。一方、単位間当たりのI/Oコマンドの発行数が少ないほど、データ転送速度が遅く、且つ、サーマルスロットリングが遅いタイミングで生じ、累積書込データ量が多いことがわかる(グラフG13参照)。
【0060】
また、各グラフG01~G03には、サーマルスロットリングの発生を検出するための閾値P1~P3がそれぞれ設定されている(
図4中の一点鎖線参照)。すなわち、グラフG11には閾値P1が、グラフG12には閾値P2が、グラフG13には閾値P3が、それぞれ設定されている。閾値P1~P3は、それぞれ、例えば、各グラフG11~G13の定常速度の90%値である。なお、閾値は、これに限定されるものではなく適宜変更して実施することができる。
【0061】
診断処理部101は、各負荷条件下でのダミーデータのライト中において、データ転送速度が、グラフG11~G13における閾値以下となったことを検知した場合に、サーマルスロットリングが発生したと判断し、累積書込データ量,デバイス周辺温度および書込性能の計測を終了する。
【0062】
診断処理部101は、サーマルスロットリング検出時点における、累積書込データ量の最大値(Mmax)とデバイス周辺温度の最大値(Tmax)とをメモリ11の所定の記憶領域等に保存する。
【0063】
このように、診断処理部101は、SSD30の記憶領域における連続アドレスにデータをライトさせると共に、温度センサ301を用いて測定した温度をメモリ11の所定の記憶領域に記録する情報収集機能を備える。
また、診断処理部101は、計測結果に基づき、メモリバックアップ時のI/Oコマンド数を選択するために用いられるI/Oコマンド数参照情報を作成する。
【0064】
累積書込サイズ(M)と周辺温度(T)との関係を以下の数式(1)によって表すことができる。ただし、診断開始時(M = 0の時)のデバイス周辺温度(T0)とする。
T = {(Tmax - T0) / Mmax }M + T0 ・・・(1)
【0065】
ダミーデータ書込み開始時の温度Tに対して、性能劣化なく書込可能なメモリサイズの上限(Mmax - M)を以下の式(2)で表すことができる。この式(2)は、上記式(1)をダミーデータ書込開始時の温度(T)に対し、性能劣化なく書込可能なメモリサイズの上限閾値(Mmax - M)について変換したものである。
Mmax - M = -(Mmax T + Tmax) / (Tmax - T0) ・・・(2)
【0066】
図5は実施形態の一例としてのストレージ装置1におけるI/Oコマンド数参照情報を例示する図である。この
図5においては、単位時間当たりのI/Oコマンドの発行数が20,40,60,80,100である例をそれぞれ示している。
この
図5においては、横軸が書込開始時デバイス周辺温度(T)を表し、縦軸が書込メモリサイズ(Mmax - M)を表す。
【0067】
すなわち、
図5には、書込開始時デバイス周辺温度と書込メモリサイズとの関係を示すグラフG21~G25を示す。これらのグラフG21~G25は、それぞれ上記式(2)を表す。
【0068】
ここで、グラフG25は単位時間当たりのI/Oコマンド数が20のデータ転送における書込開始時のデバイス周辺温度とSSD30に書込可能なデータ量(書込メモリサイズ)との関係を表す。単位時間当たりのI/Oコマンド数が20のデータ転送を行なう場合にSSD30に書込可能なデータ量は、このグラフG21の下方の領域として示される。
【0069】
グラフG24は単位時間当たりのI/Oコマンド数が40のデータ転送における書込開始時のデバイス周辺温度とSSD30に書込可能なデータ量(書込メモリサイズ)との関係を表す。単位時間当たりのI/Oコマンド数が40のデータ転送を行なう場合にSSD30に書込可能なデータ量は、このグラフG42の下方の領域として示される。
【0070】
グラフG23は単位時間当たりのI/Oコマンド数が60のデータ転送における書込開始時のデバイス周辺温度とSSD30に書込可能なデータ量(書込メモリサイズ)との関係を表す。単位時間当たりのI/Oコマンド数が60のデータ転送を行なう場合にSSD30に書込可能なデータ量は、このグラフG23の下方の領域として示される。
【0071】
グラフG22は単位時間当たりのI/Oコマンド数が80のデータ転送における書込開始時のデバイス周辺温度とSSD30に書込可能なデータ量(書込メモリサイズ)との関係を表す。単位時間当たりのI/Oコマンド数が80のデータ転送を行なう場合にSSD30に書込可能なデータ量は、このグラフG22の下方の領域として示される。
【0072】
グラフG21は単位時間当たりのI/Oコマンド数が100のデータ転送における書込開始時のデバイス周辺温度とSSD30に書込可能なデータ量(書込メモリサイズ)との関係を表す。単位時間当たりのI/Oコマンド数が100のデータ転送を行なう場合にSSD30に書込可能なデータ量は、このグラフG21の下方の領域として示される。
【0073】
また、この
図5に示すI/Oコマンド数参照情報においては、複数のグラフG21~G25の各下方の領域が重複する部分については、単位時間当たりのI/Oコマンド数が多い方が優先して適用される。これにより、
図5に例示するI/Oコマンド数参照情報においては、書込開始時デバイス周辺温度(T)と書込メモリサイズ(Mmax - M)とによって表される座標空間が、単位時間当たりのI/Oコマンド数20,40,60,80,100の各負荷条件で区画されている。
【0074】
I/Oコマンド数参照情報における、これらの単位時間当たりのI/Oコマンド数を示す領域は、書込開始時デバイス周辺温度(T)と書込メモリサイズ(Mmax - M)との組み合わせに対して、サーマルスロットリングの発生を起こさずに短時間でメモリバックアップを実現するための単位時間当たりのI/Oコマンド数を示す。I/Oコマンド数参照情報は、書込データサイズ(書込メモリサイズ)と環境温度(書込開始時のデバイス周辺温度)と書込負荷(単位時間当たりのI/Oコマンド数)との関係を示す関係情報に相当する。
診断処理部101は、複数種類の単位時間当たりのI/Oコマンド数(書込負荷)でそれぞれダミーデータをSSD30に書き込み、ダミーデータの書き込み中における累積書込データ量,環境温度および書込性能を収集する。診断処理部101は、複数種類の書込負荷(I/Oコマンド数)毎に書込データサイズ(書込メモリサイズ)と環境温度(書込開始時のデバイス周辺温度)との関係を表す関係式を作成することで、I/Oコマンド数参照情報(関係情報)を作成する。
【0075】
これにより、
図5に例示するI/Oコマンド数参照情報において、SSD30へのデータ書込開始時のデバイス周辺温度と書込メモリサイズの最大値との組み合わせに相当する座標がいずれのI/Oコマンド数の領域に属するかを判断することで、SSD30に行なうバックアップデータの書込に好適な単位時間当たりのI/Oコマンド数を決定することができる。
【0076】
このように、診断処理部101は、SSD30の記憶領域における連続アドレスにデータをライトさせると共に、温度センサ301を用いて測定した温度をメモリ11の所定の記憶領域に記録する。診断処理部101は、SSD30における、書込データサイズ(書込メモリサイズ)と環境温度(書込開始時のデバイス周辺温度)と書込負荷(単位時間当たりのI/Oコマンド数)との関係を示すI/Oコマンド数参照情報(関係情報)を作成する。
【0077】
――I/Oコマンド数決定部102――
I/Oコマンド数決定部102は、後述するバックアップ処理部103がメモリバックアップを実行する際の単位時間当たりのI/Oコマンド数を決定する。I/Oコマンド数決定部102は、I/Oコマンド数参照情報を参照して、メモリバックアップ中においてサーマルスロットリングが発生しないための単位時間当たりのI/Oコマンド数を決定する。
【0078】
バックアップ対象であるメモリ11のキャッシュデータサイズを書込メモリサイズとし、バックアップ開始時におけるデバイス周辺温度を書込開始時デバイス周辺温度として、この
図5に例示するI/Oコマンド数参照情報を参照する。なお、メモリ11のキャッシュデータサイズは、例えば、図示しない監視機能により随時監視され、メモリ11や不揮発性記憶媒体12の所定の記憶領域に格納されてもよい。メモリ11のキャッシュデータサイズは、既知の手法で把握することができるものであり、その説明は省略する。
【0079】
I/Oコマンド数決定部102は、I/Oコマンド数参照情報において、これらの書込メモリサイズと書込開始時デバイス周辺温度との組み合わせが、いずれのI/Oコマンド数の領域に該当するかを判断する。I/Oコマンド数決定部102は、I/Oコマンド数参照情報において、書込メモリサイズと書込開始時デバイス周辺温度との組み合わせが属するI/Oコマンド数を、バックアップ実行時の単位時間当たりのI/Oコマンド数として決定する。
【0080】
I/Oコマンド数決定部102は、SSD30にキャッシュデータ(バックアップ対象データ)を格納するメモリバックアップ時に、I/Oコマンド数参照情報を参照して、単位時間当たりのI/Oコマンド数(書込負荷)を決定する決定部に相当する。
【0081】
I/Oコマンド数決定部102は、CM2における停電検出時の環境温度と、バックアップ対象データのデータサイズとに基づいてI/Oコマンド数参照情報(関係情報)を参照し、停電検出時の環境温度とデータサイズとの組み合わせに対応する、単位時間当たりのI/Oコマンド数(書込負荷)を決定する。
【0082】
――バックアップ処理部103――
バックアップ処理部103は、本ストレージ装置1の停電時に、バックアップ対象データであるメモリ11のキャッシュデータをSSD30の所定の記憶領域にライトするメモリバックアップを実行する。
【0083】
バックアップ処理部103は、CM2に電力を供給する電源(外部電源)の喪失をCM2が検出した(停電を検出した)場合に、BPSU15から供給される予備電力を利用して、BUD30のバックアップ領域32cに対して、メモリ11のバックアップを行なう。バックアップの対象となるデータは、例えば、停電が検出されたときにメモリ11が記憶する有効なデータであってよい。
【0084】
なお、メモリバックアップが完了すると、CM2は、例えば「停電」等の動作停止要因(電源切断要因)をBUD30のログ書込領域32b、或いは、他の不揮発性メモリ等に格納して、動作を停止してよい。また、外部電源の復旧により、CM2に外部電力が再投入されると、バックアップ処理部103は、前回の動作停止要因を参照し、停電であった場合、BUD30のバックアップ領域32cからデータをメモリ11に書き戻してよい。これにより、CM2は、停電が検出されたときのメモリ11の状態を復元してからシステム動作を再開できる。
【0085】
このように、バックアップ処理部103は、CM2の停電が発生した場合に、BPSU15を利用して、バックアップ領域32cに対して、メモリ11内のデータのメモリバックアップを実行するバックアップ部の一例である。
また、バックアップ処理部103は、I/Oコマンド数決定部102によって決定された単位時間当たりのI/Oコマンド数でメモリバックアップを実行する。
【0086】
バックアップ処理部103は、CPU10からのコマンド入力に対し、完了を通知するまでの時間を段階的に制限するI/Oコマンド分割制御を行なうことで、単位時間当たりのI/Oコマンドの発行数を調整する。なお、完了通知するまでの時間は調節可能とする。このようなI/Oコマンド分割制御は既知の手法で実現することができ、その詳細な説明は省略する。
【0087】
(B)動作
上述の如く構成された実施形態の一例としてのストレージ装置1の診断処理部101による処理を
図6に示すフローチャート(ステップA1~A6)に従って説明する。
【0088】
ステップA1において、診断処理部101は、予め用意された複数種類の単位時間当たりのI/Oコマンド数の中から、一の単位時間当たりのI/Oコマンド数を選択する。
【0089】
ステップA2において、診断処理部101は、SSD30に対して、ステップA1において選択した単位時間当たりのI/Oコマンド数のトランザクション負荷でダミーデータのライトを行なう。
【0090】
ステップA3において、診断処理部101は、SSD30へのダミーデータのライト中に、ダミーデータの累積書込データ量,デバイス周辺温度および転送速度(書込性能)の測定を行なう。
【0091】
ステップA4において、診断処理部101は、SSD30におけるデータの転送速度を閾値と比較し、転送速度が閾値未満であるかを確認する。確認の結果、転送速度が閾値以上である場合には(ステップA4のNOルート参照)、ステップA2に戻る。
【0092】
また、確認の結果、転送速度が閾値未満である場合、すなわち、SSD30においてサーマルスロットリングの発生を検知した場合には(ステップA4のYESルート参照)、ステップA5に移行する。
【0093】
ステップA5において、診断処理部101は、SSD30へのダミーデータのライトを終了させ、累積書込データ量(Mmax)およびデバイス周辺温度(Tmax)をメモリ11や不揮発性記憶媒体12等の所定の記憶領域に保存させる。
【0094】
ステップA6において、診断処理部101は、全ての単位時間当たりのI/Oコマンド数について上記ステップA2~A5の処理を行なったかを確認する。全ての単位時間当たりのI/Oコマンド数に対する処理が完了していない場合には(ステップA6のNOルート参照)、ステップA1に戻り、未選択の単位時間当たりのI/Oコマンド数を選択し、以下の処理を繰り返し行なう。
全ての単位時間当たりのI/Oコマンド数に対して処理を行なった場合には(ステップA6のYESルート参照)、I/Oコマンド数の選択が終了したものとして処理を終了する。
次に、実施形態の一例としてのストレージ装置1におけるメモリバックアップ処理を、
図7に示すフローチャート(ステップB1~B3)に従って説明する。
【0095】
CM2において停電の発生が検出されると、ステップB1において、I/Oコマンド数決定部102は、バックアップ容量(メモリ11のキャッシュデータサイズ)を取得する。また、I/Oコマンド数決定部102は、温度センサ301を用いて測定されたデバイス周辺温度を取得する。I/Oコマンド数決定部102は、取得したこれらのバックアップ容量およびデバイス周辺温度をメモリ11に記憶してもよい。
【0096】
ステップB2において、I/Oコマンド数決定部102は、I/Oコマンド数参照情報を参照して、バックアップ処理部103がメモリバックアップを実行する際の単位時間当たりのI/Oコマンド数を決定する。
【0097】
具体的には、I/Oコマンド数は、ステップB1において取得したバックアップ容量を書込メモリサイズとして、I/Oコマンド数参照情報において、書込メモリサイズと書込開始時デバイス周辺温度との組み合わせが属する単位時間当たりのI/Oコマンドの発行数を特定(決定)する。
I/Oコマンド数決定部102は、決定した単位時間当たりのI/Oコマンドの発行数をメモリ11の所定の記憶領域に格納してもよい。
【0098】
ステップB3において、バックアップ処理部103が、メモリ11のキャッシュデータをSSD30の所定の記憶領域にライトするメモリバックアップを実行する。バックアップ処理部103は、I/Oコマンド数決定部102によって決定された単位時間当たりのI/Oコマンド数でメモリバックアップを実行する。
【0099】
メモリバックアップが完了すると、CM2は、例えば「停電」等の動作停止要因(電源切断要因)をBUD30のログ書込領域32b、或いは、他の不揮発性メモリ等に格納して、動作を停止してよい。
【0100】
(C)効果
このように、実施形態の一例としてのストレージ装置1によれば、診断処理部101が、BUD30の書込性能を診断して、I/Oコマンド数参照情報を作成する。
【0101】
I/Oコマンド数決定部102は、このI/Oコマンド数参照情報を参照することで、サーマルスロットリングを発生させずに短時間でメモリバックアップを実現するための単位時間当たりのI/Oコマンド数を決定する。
【0102】
バックアップ処理部103が、この決定された単位時間当たりのI/Oコマンド数となるようにメモリバックアップ処理を実行することで、サーマルスロットリングの発生を抑止し、短時間でメモリバックアップを行なうことができる。
【0103】
すなわち、本ストレージ装置1によれば、BUD30に対するメモリバックアップの書込性能を保証し、且つ、サーマルスロットリングの発生を回避することができる。すなわち、BUD30を効率的に使用することができる。
また、サーマルスロットリングを回避するための過冷却を行なう必要がなく、冷却処理のための電力消費を削減することができる。
【0104】
(D)その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【0105】
例えば、上述した実施形態においては、
図1に示すように、各CM2に1つのBUD30が備えられているが、これに限定されるものではない。各CM2に2つ以上のBUD30を備えてもよい。
【0106】
このようにCM2に複数のBUD30を備える場合には、診断処理部101は、各BUD30に対して、それぞれダミーデータのライトおよび各種情報の測定を行ない、BUD30毎にI/Oコマンド数参照情報を作成することが望ましい。
【0107】
そして、CM2における停電検出時には、I/Oコマンド数決定部102は、I/Oコマンド数参照情報を参照して、BUD30毎に単位時間当たりのI/Oコマンド数を決定することが望ましい。また、バックアップ処理部103は、BUD30毎に決定された単位時間当たりのI/Oコマンド数を用いて、各BUD30に対してメモリバックアップを行なうことが望ましい。
【0108】
また、上述した実施形態においては、ストレージ装置1に2つのCM2が備えられているが、これに限定されるものではない。ストレージ装置1に1つもしくは3つ以上のCM2を備えてもよく、種々変形して実施することができる。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
【0109】
(E)付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
ストレージ装置の制御を行なうストレージ制御装置であって、
バックアップ対象データの格納先の記憶装置と、
当該ストレージ制御装置の正常動作時に、前記記憶装置の書込性能を診断し、前記記憶装置における、書込データサイズと環境温度と書込負荷との関係を示す関係情報を作成する診断処理部と、
前記記憶装置に前記バックアップ対象データを格納する際に、前記関係情報を参照して、前記書込負荷を決定する決定部と
を備える、ストレージ制御装置。
【0110】
(付記2)
前記診断処理部が、
複数種類の書込負荷でそれぞれダミーデータを前記記憶装置に書き込み、前記ダミーデータの書き込み中における累積書込データ量,環境温度および書込性能を収集し、前記複数種類の書込負荷毎に前記書込データサイズと環境温度との関係を表す関係式を作成することで、前記関係情報を作成する
ことを特徴とする、付記1記載のストレージ制御装置。
【0111】
(付記3)
前記決定部が、
当該ストレージ制御装置における停電検出時の環境温度と、前記バックアップ対象データのデータサイズとに基づいて前記関係情報を参照し、前記停電検出時の環境温度と前記データサイズとの組み合わせに対応する前記書込負荷を決定する
ことを特徴とする、付記1または2記載のストレージ制御装置。
【0112】
(付記4)
ストレージ装置の制御を行なうストレージ制御装置のプロセッサに、
当該ストレージ制御装置の正常動作時に、バックアップ対象データの格納先の記憶装置の書込性能を診断し、
前記記憶装置における、書込データサイズと環境温度と書込負荷との関係を示す関係情報を作成し、
前記記憶装置に前記バックアップ対象データを格納する際に、前記関係情報を参照して、前記書込負荷を決定する
処理を実行させる、バックアップ制御プログラム。
【0113】
(付記5)
複数種類の書込負荷でそれぞれダミーデータを前記記憶装置に書き込ませ、前記ダミーデータの書き込み中における累積書込データ量,環境温度および書込性能を収集し、前記複数種類の書込負荷毎に前記書込データサイズと環境温度との関係を表す関係式を作成することで、前記関係情報を作成する
処理を、前記プロセッサに実行させることを特徴とする、付記4記載のバックアップ制御プログラム。
【0114】
(付記6)
当該ストレージ制御装置における停電検出時の環境温度と、前記バックアップ対象データのデータサイズとに基づいて前記関係情報を参照し、前記停電検出時の環境温度と前記データサイズとの組み合わせに対応する前記書込負荷を決定する
処理を、前記プロセッサに実行させることを特徴とする、付記4または5記載のバックアップ制御プログラム。
【符号の説明】
【0115】
1 ストレージ装置
2-1,2-2,2 CM
3 ストレージ
10 CPU
11 メモリ
12 不揮発性記憶媒体
13 CM間インタフェース
14 DA
15 BPSU
30 BUD,SSD
32a FW格納領域
32b ログ書込領域
32c バックアップ領域
32d 空き領域
101 診断処理部
102 I/Oコマンド数決定部
103 バックアップ処理部
301 温度センサ
G01~G03,G11~G13,G21~G25 グラフ