JP6805525B2 - 情報処理装置及びキャッシュ制御方法 - Google Patents

情報処理装置及びキャッシュ制御方法 Download PDF

Info

Publication number
JP6805525B2
JP6805525B2 JP2016069990A JP2016069990A JP6805525B2 JP 6805525 B2 JP6805525 B2 JP 6805525B2 JP 2016069990 A JP2016069990 A JP 2016069990A JP 2016069990 A JP2016069990 A JP 2016069990A JP 6805525 B2 JP6805525 B2 JP 6805525B2
Authority
JP
Japan
Prior art keywords
load
cache
amount
battery
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016069990A
Other languages
English (en)
Other versions
JP2017182522A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2016069990A priority Critical patent/JP6805525B2/ja
Publication of JP2017182522A publication Critical patent/JP2017182522A/ja
Application granted granted Critical
Publication of JP6805525B2 publication Critical patent/JP6805525B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Power Sources (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理装置及びキャッシュ制御方法に関する。
電源装置からの電力供給に異常が発生した場合にキャッシュ上のデータを保護する方法として、バッテリや無停電電源装置の供給電力を用いてキャッシュ上のデータを不揮発性のディスクに書き込む方法がある。
例えば、特許文献1は、無停電電源装置でバックアップ可能な時間内でデータ移送等の処理を終了するようにディスクキャッシュメモリの格納データ容量を変更することを開示している。
また、特許文献2は、すべてのダーティデータをバックアップディスクへ書き込む時間が保障されるように、バッテリ残量に依存してダーティデータの許容量を変化させることを開示している。
特開平7―146822号公報 特開2006−313407号公報
しかしながら、特許文献1及び2は入出力負荷(頻度や回数やデータ量)を考慮していないため、電力供給量が少ない場合に入出力に関する負荷が大きくなると処理性能低下が生じる。
すなわち、特許文献1及び2は、バッテリや無停電電源装置の電力供給可能量でバックアップ可能なようにキャッシュメモリの容量を変更している。そのため、電力供給可能量が少ない場合、入出力負荷が大きい場合であっても、キャッシュメモリの容量が少なくなってしまい、キャッシュの書き換えが多発して性能低下が生じる。
本発明の目的は、入出力負荷が大きい場合に、処理性能低下が生じるという課題を解決する情報処理装置及びキャッシュ制御方法を提供することにある。
本発明の情報処理装置は、データの読込み要求又は書込み要求の少なくとも一方の入出力負荷に関する負荷情報に基づいて、バッテリの蓄電量を制御する電力管理部と、前記蓄電量に応じてキャッシュ容量を制御するディスク管理部と、を備える。
本発明の情報処理装置は、データの読込み要求又は書込み要求の少なくとも一方の入出力負荷に関する負荷情報を取得する負荷情報取得部と、バッテリの蓄電量及び前記負荷情報に応じて、キャッシュ容量を制御するキャッシュ制御部と、を備える。
本発明のキャッシュ制御方法は、データの読込み要求又は書込み要求の少なくとも一方の入出力負荷に関する負荷情報に基づいて、バッテリの蓄電量を制御するステップと、前記蓄電量に応じてキャッシュ容量を制御するステップと、を備える。
本発明のキャッシュ制御方法は、バッテリの蓄電量を取得するステップと、データの読込み要求又は書込み要求の少なくとも一方の入出力負荷に関する負荷情報を取得するステップと、前記蓄電量及び前記負荷情報に応じて、キャッシュ容量を制御するステップ、を備える。
本発明の効果は、入出力負荷が大きい場合であっても、処理性能低下防ぐことができることにある。
本発明の第1の実施形態における、構成を示すブロック図である。 本発明の第1の実施形態における、動作を示すフローチャートである。 本発明の第2の実施形態における、構成を示すブロック図である。 本発明の第2の実施形態における、負荷情報281の一例を示す図である。 本発明の第2の実施形態における、キャッシュ管理情報282の一例を示す図である。 本発明の第2の実施形態における、対応関係情報283の一例を示す図である。 本発明の第2の実施形態における、ディスク管理部2のハードウェア構成の一例を示すブロック図である。 本発明の第2の実施形態における、充電動作を示すフローチャートである。 本発明の第2の実施形態における、キャッシュ容量の制御動作を示すフローチャートである。 本発明の第2の実施形態におけるデータ退避動作を示すフローチャートである。 本発明の第3の実施形態における、構成を示すブロック図である。 本発明の第3の実施形態における、動作を示すフローチャートである。 本発明の第4の実施形態における、構成を示すブロック図である。 本発明の第4の実施形態における、キャッシュ容量の制御動作を示すフローチャートである。
(第1の実施形態)
本発明の第1の実施形態について説明する。
まず、本発明の第1の実施形態の構成について説明する。図1は、本発明の第1の実施形態における、構成を示すブロック図である。
図1を参照すると、情報処理装置1は、ディスク管理部2と電力管理部3とを備えている。
ディスク管理部2は、データの読込み要求又は書込み要求の入出力負荷を取得する。例えば、ディスク管理部2は、情報処理装置1に対する外部のコンピュータからのデータの読込み要求や書込み要求の回数を入出力負荷として取得する。
そして、ディスク管理部2は、入出力負荷に関する負荷情報を電力管理部3に通知する。負荷情報とは、例えば入出力負荷である。
また、ディスク管理部2は、現在のバッテリの蓄電量に応じてキャッシュ容量を制御する。
電力管理部3は、ディスク管理部2から取得した負荷情報に基づき、バッテリの蓄電量を制御する。
例えば、電力管理部3は、負荷情報に基づき高負荷と判断した場合、バッテリの蓄電量が多くなるように制御する。
なお、ディスク管理部2及び電力管理部3はマイクロプロセッサやハードウェアプロセッサなどによって構成される。
次に、本発明の第1の実施形態における動作について説明する。図2は、本発明の第1の実施形態における、動作を示すフローチャートである。
まず、ディスク管理部2は、データの読込み要求又は書込み要求の入出力負荷を取得する。そして、ディスク管理部2は電力管理部3に入出力負荷に関する負荷情報を通知する。
電力管理部3は、ディスク管理部2から通知を受けることにより負荷情報を取得する(ステップS1001)。電力管理部3は取得した負荷情報に基づき、バッテリの蓄電量が所定値になるように蓄電量を制御する(ステップS1002)。詳細には、電力管理部3は、負荷情報に応じて必要となるキャッシュ容量がディスク管理部2によって設定されるようにバッテリの蓄電量を制御する。
ディスク管理部2は、電力管理部3から現在のバッテリの蓄電量を取得する(ステップS1003)。例えば、ディスク管理部2は、電力管理部3から通知を受けることにより、バッテリの蓄電量を取得する。
ディスク管理部2は、現在のバッテリの蓄電量に応じて、キャッシュ容量を制御する(ステップS1004)。
ディスク管理部2は、現在のバッテリの蓄電量が所定値以上か否かを判断する(ステップS1005)。例えば、負荷情報によって決定されたバッテリの蓄電量よりも多い場合、所定値以上と判断する(ステップS1005:YES)。
一方、ディスク管理部2は、現在のバッテリの蓄電量が所定値以下と判断した場合は(ステップS1005:NO)、一定時間の後に再度蓄電量を取得するようステップS1003に戻る。
以上により、本発明の第1の実施形態における動作が終了する。
本発明の第1の実施形態は、入出力負荷が大きい場合にも、処理性能低下防ぐことができることにある。その理由は、電力管理部3が、入出力に関する負荷情報に基づき、バッテリの蓄電量を制御することで、入出力負荷に応じたキャッシュ容量を割り当てるためである。
また、現在のバッテリの蓄電量に合わせてキャッシュ容量を制御するため、キャッシュ上のデータは、安全に保護される。
なお、本動作では、負荷情報に基づいて、事前に高負荷となる時間や必要なバッテリの蓄電量を予測し、当該予測に基づいてバッテリの蓄電量を制御する場合により有用である。なぜなら、予測によってバッテリの蓄電量を制御する場合、過去の入出力負荷に関する負荷情報に基づき値を決定するため、逐次負荷情報を参照する必要はないからである。
ディスク管理部2は、現在のバッテリの蓄電量が所定値以下と判断した場合、ステップS1003に戻る例を示したが、これに限られない。ステップS1001に戻り、ディスク管理部2は、再度負荷情報を取得し、当該負荷情報に基づき、バッテリを制御してもよい。
この場合、現在の負荷情報に合わせてバッテリの蓄電量を制御するような場合により有用である。なぜなら、変動する現在の負荷情報に合わせてバッテリの蓄電量を制御することができるためである。
この場合、現在のバッテリの蓄電量に合わせてキャッシュ容量を制御するため、キャッシュ上のデータをより安全に保護することができる。 また、ステップS1003で取得したバッテリの蓄電量が所定値以下と判断した場合、ステップS1004に進まず、一定時間の後に再度蓄電量を取得するようステップS1003に戻り、バッテリの蓄電量が所定値以上となるまで待機してもよい。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。まず、本発明の第2の実施形態の構成について説明する。図3は、本発明の第2の実施形態における、構成を示すブロック図である。
図3を参照すると、情報処理装置1は、ディスク管理部2、電力管理部3、記憶装置4を備える。情報処理装置1は、例えば外部のコンピュータと接続されたストレージ装置である。
ディスク管理部2は、ホストインターフェイス21、ディスクインターフェイス22、ディスク制御部23、負荷情報取得部24、予測部25、情報記憶部26、キャッシュ制御部27、キャッシュメモリ28、不揮発性メモリ29を備える。
ホストインターフェイス21は、外部のコンピュータと接続され、コンピュータとの入出力を行う。また、ホストインターフェイス21は、外部のコンピュータから書込み要求や読込み要求を取得する。
ディスクインターフェイス22は、記憶装置4と接続され、記憶装置4とのデータの入出力を行う。
ディスク制御部23は、ホストインターフェイス21、ディスクインターフェイス22、及びキャッシュメモリ28におけるデータの入出力を制御する。
負荷情報取得部24は、ホストインターフェイス21が取得した入出力要求に基づいて入出力負荷に関する負荷情報281を後述の情報記憶部26に記憶する。
図4は、本発明の第2の実施形態における負荷情報281の一例を示す図である。
負荷情報281は、例えば所定期間における入出力負荷を示す情報である。負荷情報281は、時間2811と、書込み要求回数2812と、読込み要求回数2813を含んで構成される。
書込み要求回数2812は、時間2811における書込み要求の回数を示している。読込み要求回数2813は、時間2811における読込み要求の回数を示している。
すなわち、図4は10時から10時35分における書込み要求及び読込み要求の回数を示している。図4において、書込み要求回数2812は、10時10分に最も多く、読込み要求回数2813は、10時35分に最も多いことを示している。
なお、負荷情報281は、入出力負荷を測定可能な情報であれば上記に限られない。例えば、書込み要求回数2812又は読込み要求回数2813のどちらか一方でもよいし、レスポンスタイム、ビジー率、入出力要求に用いられたデータ量やデータ長でもよい。
予測部25は、負荷情報281を取得し、各時間帯における負荷を予測する。また、予測部25は、高負荷となる時間帯を予測する。
例えば、予測部25は、所定期間の負荷情報281から、書込み要求回数2812又は読込み要求回数2813の値が連続して所定値以上となる時間帯を高負荷となる時間帯として予測する。
例えば、予測部25は、所定期間の負荷情報281から書込み要求回数2812又は読込み要求回数2813の値の統計情報に基づいて高負荷となる時間帯を予測する。
また、予測部25は、対応関係情報282を用いて、高負荷となる時間帯において必要なキャッシュ容量及び必要蓄電量を決定し、電力制御部31に通知する。
情報記憶部26は、例えば不揮発性メモリであり、上述の負荷情報281に加え、キャッシュ管理情報282及び対応関係情報283を記憶している。
図5は、本発明の第2の実施形態におけるキャッシュ管理情報282の一例を示す図である。
キャッシュ管理情報282は、キャッシュメモリ28に格納されたデータを管理するために用いる情報である。キャッシュ管理情報282は、配置情報2821、状態2822、アクセス頻度2823を含んで構成される。
配置情報2821は、キャッシュメモリ28におけるデータの配置位置を示す情報である。
状態2822は、対応する配置情報2821にあるデータの状態を示す情報である。記憶装置4へ書込みが必要な状態である場合、「Dirty」となり、記憶装置4に記憶されたデータと同一である場合「Clean」となる。
アクセス頻度2823は、所定期間にアクセスされた回数を示す情報である。
すなわち、図5において、配置情報2821が1003のデータは、「Clean」なデータであり、所定期間において10回のアクセスがあったことを示している。
図6は、本発明の第2の実施形態における対応関係情報283の一例を示す図である。
対応関係情報283は、データの読込み要求や書込み要求の入出力負荷に関する負荷情報281において、必要とされるキャッシュ容量2832と、当該キャッシュ容量2832を動作させるために必要な必要蓄電量2833の対応関係を示している。対応関係情報283は、負荷2831、キャッシュ容量2832、必要蓄電量2833を含んで構成される。
負荷2831は、例えば、負荷情報281における書込み要求回数2812と読込み要求回数2813の総数を示している。
キャッシュ容量2832は、対応する負荷2831の状態において、処理性能が低下しないキャッシュ容量の割合を示している。
必要蓄電量2833は、対応するキャッシュ容量2832を動作させるために必要な蓄電量の割合を示している。
例えば、負荷2831が7000回である場合、必要なキャッシュ容量は全体のキャッシュ容量の70%であり、70%のキャッシュ容量を不揮発性メモリ29に動作させるために必要な蓄電量は70%であることを示している。
なお、キャッシュ管理情報282の状態2822を参照し、「Dirty」のデータと「Clen」のデータの割合に必要蓄電量2833を変更してもよい。
なぜなら、バッテリ32の蓄電量は主に記憶装置4に書き込むために用いられるためである。よって、「Dirty」のデータが少ない場合、記憶装置4に書き込むデータが少なくなり、必要蓄電量2833を少なくすることが可能となる。
さらに、キャッシュメモリ28のデータを外部のコンピュータに通知した後、処理の空き時間に記憶装置4に書き込むようなライトバックの制御を行っている場合は、負荷2831内の書込み要求回数2812と読込み要求回数2813の割合によって必要蓄電量2833を変更することも可能である。なぜなら書込み要求に用いたデータの場合、記憶装置4へ書込みが必要な状態である「Dirty」となり、読込み要求に用いたデータの場合、記憶装置4に記憶されたデータと同一であることを示す状態である「Clean」となるためである。
キャッシュ制御部27は、書込み要求及び読込み要求に用いるデータをキャッシュメモリ28に記憶すると共に、キャッシュ管理情報282を更新する。
また、キャッシュ制御部27は、後述する電力制御部31からバッテリ32の蓄電量を取得し、当該蓄電量に応じて、キャッシュ容量を制御する。
例えば、電力制御部31から取得した蓄電量が50%であった場合、キャッシュ制御部27は、対応関係情報283を参照し、50%の必要蓄電量2833に対応するキャッシュ容量2832である60%にキャッシュ容量を制御する。
キャッシュメモリ28は、入出力に用いたデータを一時的にキャッシュとして格納する揮発性メモリである。キャッシュメモリ28はキャッシュ制御部27によって制御される。キャッシュメモリ28に記憶されたデータはキャッシュ管理情報282で管理されている。
不揮発性メモリ29は、停電時や電源装置33の故障時等、電源装置33からの電力供給に異常が発生した場合、キャッシュメモリ28のデータを一時的に保持する。不揮発性メモリ29は、一般的に記憶装置4よりも動作が速く、消費電力の低いものが用いられる。
電力管理部3は、電力制御部31、バッテリ32及び電源装置33を含む。
電力制御部31は、情報処理装置1に電力供給を行うバッテリ32及び電源装置33と接続されており、情報処理装置1への電力制御を行う。電力制御部31は、電源装置33からの電力供給に異常が発生した場合、バッテリ32に切り替える。また、電力制御部31は、バッテリ32の蓄電量をキャッシュ制御部27へ通知する。
さらに、電力制御部31は、負荷情報281に基づき、バッテリ32の蓄電量を制御する。例えば、電力制御部31は、予測部25が負荷情報281に基づき高負荷となると予測した時間帯にバッテリ32の蓄電量が所定値以上になるように制御する。
例えば、電力制御部31は、予測部25が負荷情報281に基づき決定した蓄電量以上になるようにバッテリ32の蓄電量を制御する。
バッテリ32は、電源装置33からの電力供給に異常が発生した場合、情報処理装置1に電力供給を行う。電源装置33からの電力供給に異常が発生した場合、バッテリ32の供給電力によりキャッシュメモリ28を動作させる。
電源装置33は、交流電源を直流に変換して情報処理装置1及びバッテリ32に電力供給を行う。
記憶装置4は、データを保持する記憶装置であり、例えばハードディスク(磁気ディスク)装置、光記憶装置、光磁気記憶装置、SSD(Solid State Drive)などによって構成される。
図7は、本発明の第2の実施形態における、ディスク管理部2のハードウェア構成の一例を示すブロック図である。
ディスク管理部2は、CPU(Central Processing Unit)61、メモリ62、補助記憶装置63を含み、各構成要素は、互いにバス67によって接続される。
CPU61は、ディスク管理部2を制御するプログラムを実行する中央演算処理装置である。CPU61は、補助記憶装置63に格納されたプログラムに基づいて所定の処理を実行して、ディスク管理部2の動作を制御する。例えば、CPU61は、補助記憶装置63に格納されたプログラムに基づいて、ディスク制御部23、負荷情報取得部24、予測部25、キャッシュ制御部27の機能を実現する。
メモリ62は、プログラムが展開される主記憶装置である。
補助記憶装置63は、ディスク管理部2の動作を制御するプログラムを格納する。
本実施形態では、CPU61は、補助記憶装置63に格納されたプログラムを読み出して実行するものとして説明したが、当該プログラムをCDROM(Compact Disc Read Only Memory)等の記憶媒体に格納してCPU61に提供することも可能である。
なお、本発明の第2の実施形態における、電力管理部3のハードウェア構成については、ディスク管理部2と同様に構成すればよいため、詳細な説明は省略する。電力制御部31の機能は、上述のディスク制御部23、負荷情報取得部24、予測部25、キャッシュ制御部27と同様に、CPU61が補助記憶装置63に格納されたプログラムに基づいて所定の処理を実行することにより実現することができる。
次に、本発明の第2の実施形態における動作について説明する。
図8は、本発明の第2実施形態における、充電動作を示すフローチャートである。
事前に負荷情報取得部24は、読込み要求及び書込み要求の入出力負荷に関する負荷情報281を情報記憶部26に蓄積しておく。
予測部25は、情報記憶部26から負荷情報281を取得し(ステップS2001)、時間帯ごとに負荷を予測することにより、高負荷となる時間帯を予測する(ステップS2002)。
例えば、予測部25は、所定期間の負荷情報281から、書込み要求回数2812又は読込み要求回数2813の値が連続して所定値以上となる時間帯を高負荷となる時間帯と予測する。
図4を参照すると、10時5分から10時15分までの間、書込み要求回数2812と読込み要求回数2813の和が5000回以上になっているため、この時間を高負荷となる時間帯と予測する。
例えば、予測部25は、所定期間の負荷情報281から書込み要求回数2812又は読込み要求回数2813の値の統計情報に基づいて予測する。
次に、予測部25は、高負荷となる時間帯において必要なキャッシュ容量及び必要蓄電量を決定する(ステップS2003)。
例えば、予測部25は、対応関係情報283から、高負荷となる時間帯における負荷2831と対応するキャッシュ容量2832及び必要蓄電量2833を、当該キャッシュ容量2832及び必要蓄電量2833として決定する。そして予測部25は、決定した必要電力量2833を電力制御部31に通知する。
例えば、図4において、高負荷となる時間帯における最大の負荷2831は、10時10分であり、読込み要求回数2821と、書込み要求回数2813の和は7500回となっている。よって、予測部25は、図6を参照し、7500回に対応するキャッシュ容量2832である80%にキャッシュ容量を決定する。同様に予測部25は、必要蓄電量2833を80%として決定する。
電力制御部31は、決定した必要蓄電量2833となるようにバッテリ32の蓄電量を制御する(ステップS2004)。
電力制御部31は、現在のバッテリ32の蓄電量を取得する(ステップS2005)。
現在のバッテリ32の蓄電量と予測部25が決定した必要蓄電量2833を比較し、現在のバッテリ32の蓄電量が必要蓄電量2833よりも少ない場合(ステップS2006:YES)、一定時間の後に再度蓄電量を取得するようステップS2005に戻る。
予測部25が決定した必要蓄電量2833より多い場合(ステップS2006:NO)、終了する。
以上により、本発明の第2の実施形態における充電動作が完了する。
なお、ステップS2004におけるバッテリ32の蓄電量の制御方法は、現在のバッテリ32の蓄電量が必要蓄電量2833を下回った場合、電力制御部31がバッテリ32を充電するようにしてもよい。
また、電力制御部31は、高負荷となる時間帯に必要蓄電量2833となるようなタイミングで充電を開始してもよい。電力制御部31は、高負荷となる時間帯の所定時間前にバッテリ32の蓄電量を取得し、バッテリ32の蓄電量が所定値を下回った場合、高負荷となる時間帯にバッテリ32の蓄電量が所定値以上になるように充電するようにしてもよい。
さらに、本実施形態では、高負荷の時に必要な必要蓄電量2833となるように、電力制御部31がバッテリ32を充電するように制御する例を示したが、これに限られない。
例えば、時間帯ごとに必要蓄電量2833を求め、予測した時間帯の所定時間前にバッテリ32の蓄電量を取得し、バッテリ32の蓄電量が必要蓄電量2833を下回っていた場合に充電するようにしてもよい。
図9は、本発明の第2実施形態における、キャッシュ容量の制御動作を示すフローチャートである。
電力制御部31は、現在のバッテリ32の蓄電量を取得する(ステップS3001)。
電力制御部31は、ステップS3001で取得した現在のバッテリ32の蓄電量をキャッシュ制御部27に通知する(ステップS3002)。
キャッシュ制御部27は、電力制御部31から通知されたバッテリ32の蓄電量に基づき、キャッシュ容量を制御する。
まず、キャッシュ制御部27は、電力制御部31から通知されたバッテリ32の蓄電量に基づき、キャッシュ容量を決定する(ステップS3003)。キャッシュ制御部27は、対応関係情報283を参照し、電力制御部31から通知された蓄電量に対応する必要蓄電量2833のキャッシュ容量2832に決定する。例えば、電力制御部31から通知された蓄電量が60%であった場合、制御するキャッシュ容量を60%に決定する。
次に、キャッシュ制御部27はキャッシュ管理情報282を参照し、現在のキャッシュの容量とステップS3003で決定したキャッシュ容量を比較し、現在のキャッシュの容量が決定したキャッシュ容量より小さい場合(ステップS3004:NO)、キャッシュ制御部27は、ステップS3003で決定したキャッシュ容量となるように制御する(ステップS3006)。すなわち、キャッシュ制御部27は、現在のキャッシュ容量よりも大きくするように制御する。そして、本動作を終了する。
現在のキャッシュの容量とステップS3003で決定したキャッシュ容量を比較し、現在のキャッシュの容量が決定したキャッシュ容量より大きい場合(ステップS3004:YES)キャッシュメモリ28上のデータの一部を記憶装置4に書き込む(ステップS3005)。
このとき、記憶装置4に書き込むデータは、キャッシュ制御部27がキャッシュ管理情報282を参照することにより決定する。例えば、アクセス頻度2823が少ないものを記憶装置4に書き込む、状態2822が「Dirty」のデータを優先して記憶装置4に書き込むなど、記憶装置4に書き込むデータの優先順位は適宜設定することが可能である。
そして、必要に応じてキャッシュメモリ28上のデータを最適な位置に再配置する。例えば連続した領域を使用可能なようにデータを再配置する。
キャッシュ制御部27は記憶装置4に書き込んだデータをキャッシュメモリ28上から削除し、ステップS3003で決定したキャッシュ容量に制御する(ステップS3006)。すなわち、キャッシュ制御部27は、現在のキャッシュ容量を小さくするように制御する。
以上により、本発明の第2の実施形態におけるキャッシュ制御動作が完了する。
図10は、本発明の第2の実施形態におけるデータ退避動作を示すフローチャートである。
電力制御部31は、電源装置33の異常を検知すると、電力制御部31は、キャッシュ制御部27に電源異常を通知する(ステップS4001)。電源装置33の異常とは、例えば、電源装置33の故障や、停電等により電源装置33からの電力供給が断たれた場合である。
電力制御部31は、情報処理装置1への電力供給をバッテリ32に切り替える(ステップS4002)。
キャッシュ制御部27は、電力異常の通知を受信すると、キャッシュメモリ28のデータを不揮発性メモリ29に書き込む(ステップS4003)。
そして、キャッシュメモリ28上の全てのデータが不揮発性メモリ29に書き込まれると、データ退避処理を終了する。
なお、本実施形態では、キャッシュメモリ28上のデータを全て不揮発性メモリ29に書き込む例を示したが、キャッシュ管理情報282における状態2822が「Dirty」となっているデータのみを不揮発性メモリ29に書き込むようにしてもよい。
この場合、すべてのデータを不揮発性メモリ29に書き込む場合に比べ、退避処理に要する電力を削減することが可能である。
以上により、本発明の第2の実施形態における動作が完了する。
なお、本実施形態では、キャッシュ制御部27がキャッシュメモリ28上のデータを不揮発性メモリ29に書き込む例を示したが、キャッシュメモリ28上のデータを直接記憶装置4に書き込む構成とすることも可能である。
その場合、不揮発性メモリ29が不要となり、部品数を削減することができる。
本発明の第2の実施形態は、入出力負荷が大きい場合にも、処理性能の低下防ぐことができることにある。その理由は、電力制御部31が、高負荷となる時間に必要な蓄電量となるように、バッテリ32を充電するためである。これにより、入出力負荷が大きい場合にもバッテリ32の適切な蓄電量が確保され、キャッシュ容量の縮小を抑えることができる。
本発明の第2の実施形態は、情報処理装置1の処理性能を大幅に低下させることなく、キャッシュメモリ28上のデータを保護することができることにある。その理由は、キャッシュ制御部27がバッテリ32の蓄電量に応じてキャッシュ容量を制御するためである。
本発明の第2の実施形態は、特殊なハードウェアを追加することなく、キャッシュメモリ28上のデータを保護することできることにある。その理由は、キャッシュ制御部27が、キャッシュメモリ28上のデータを、キャッシュ管理情報282を用いて管理及び制御を行っているため、ソフトウェアにより制御できるためである。
(第3の実施形態)
本発明の第3の実施形態の構成について説明する。図11は、本発明の第3の実施形態における、構成を示すブロック図である。
図11を参照すると、情報処理装置1は、負荷情報取得部24と、キャッシュ制御部27とを備えている。
負荷情報取得部24は、データの読込み要求又は書込み要求の少なくとも一方の入出力負荷に関する負荷情報を取得する。例えば、負荷情報取得部24は、情報処理装置1に対する外部のコンピュータからのデータの読込み要求や書込み要求の回数を入出力負荷として取得する。
キャッシュ制御部27は、負荷情報取得部24から負荷情報を取得する。そして、キャッシュ制御部27は、負荷情報に応じて、キャッシュ容量を制御する。
例えば、キャッシュ制御部27は、負荷情報に基づき高負荷と判断した場合キャッシュ容量が大きくするように制御する。
なお、負荷情報取得部24及びキャッシュ制御部27はマイクロプロセッサやハードウェアプロセッサなどによって構成される。
次に、本発明の第3の実施形態における動作について説明する。図12は、本発明の第3の実施形態における、動作を示すフローチャートである。
まず、負荷情報取得部24は、データの読込み要求又は書込み要求の入出力負荷を取得し、キャッシュ制御部27は、負荷情報取得部24から負荷情報を取得する(ステップS5001)。
キャッシュ制御部27は、負荷情報に応じてキャッシュ容量を制御する(ステップS5002)。例えば、負荷情報から負荷が高いと予測された場合、キャッシュ容量を大きくするように制御する。
以上により、本発明の第3の実施形態における動作が終了する。
本発明の第3の実施形態は、入出力負荷が大きい場合にも、処理性能低下防ぐことができることにある。その理由は、キャッシュ制御部27が、入出力に関する負荷情報に基づき、キャッシュ容量を制御することためである。これによって、データを保護しつつ、入出力負荷に応じたキャッシュ容量を割り当てることができる。
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。
図13は、本発明の第4の実施形態における、構成を示すブロック図である。本実施形態における情報処理装置1は、負荷情報取得部24と、キャッシュ制御部27の動作が異なる点で第3の実施形態と異なる。
そこで、第3の実施形態と重複する構成及び内容に関しては説明を省略する。
負荷情報取得部24は、ホストインターフェイス21が取得した入出力要求に基づいて入出力負荷に関する負荷情報281を取得し、キャッシュ制御部27へ通知する。
キャッシュ制御部27は、電力制御部31からバッテリ32の蓄電量を取得する。
キャッシュ制御部27は、負荷情報281から、現在の負荷が所定値以下であると判断した場合、バッテリ32の蓄電量に基づき、キャッシュ容量を制御する。また、キャッシュ制御部27は、負荷情報281から、現在の負荷が所定値以上であると判断した場合、負荷情報281に基づき、キャッシュ容量を制御する。
なお、本発明の第4の実施形態における、負荷情報取得部24及びキャッシュ制御部27のハードウェア構成については、第2の実施形態と同様に構成すればよいため、説明は省略する。
次に、本発明の第4の実施形態における動作について説明する。図14は、本発明の第4の実施形態における、動作を示すフローチャートである。
図14は、本発明の第4実施形態における、キャッシュ容量の制御動作を示すフローチャートである。ステップS6001〜ステップS6003が追加されている点で第3の実施形態と相違する。その他のステップに関しては同様のため説明は省略する。
ステップS3002において、キャッシュ制御部27は電力制御部31から現在のバッテリ32の蓄電量を取得した後、負荷情報取得部24は、現在の負荷情報281を取得する(ステップS6001)。
キャッシュ制御部27は、負荷情報281から、現在の負荷が所定値以上であると判断した場合(ステップS6002)、負荷に基づいてキャッシュ容量を決定する(ステップS6003)。
例えば、負荷情報281を参照し、書込み要求回数2812と読込み要求回数2813の総数が5000回以上である場合、キャッシュ制御部27は、負荷2831に基づいてキャッシュ容量を決定する。
例えば、図4における10時5分における書込み要求回数2812と読込み要求回数2813の総数は、7100回である。図6の対応関係情報283を参照すると、対応する負荷2831のキャッシュ容量は80%であることがわかる。そこで、キャッシュ制御部27はバッテリ32の蓄電量に関係なく、キャッシュ容量を80%に制御すると決定する。
そしてステップS3004に進む。その後ステップS3004からステップS3006の動作に関しては第2の実施形態と同様である。
以上により、本発明の第4の実施形態における動作が完了する。
なお、本動作においてキャッシュ制御部27は、バッテリ32の蓄電量に関係なく、キャッシュ容量を決定したが、バッテリ32の蓄電量を考慮して、キャッシュ容量を決定してもよい。
例えば、キャッシュ制御部27は、ステップS3002において取得したバッテリ32の蓄電量に対応するキャッシュ容量を決定する。そして、負荷が大きい場合、キャッシュ制御部27は、バッテリ32の蓄電量によって決定されたキャッシュ容量に対して、所定量増加させるようにしてもよい。
本発明の第4の実施形態は、入出力負荷が大きい場合にも、処理性能の低下防ぐことができることにある。その理由は、キャッシュ制御部27が、負荷が所定値以上である場合、負荷に応じたキャッシュ容量に制御するためである。これにより、入出力負荷が大きい場合に、キャッシュ容量の縮小を抑えることができる。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
1 情報処理装置
2 ディスク管理部
21 ホストインターフェイス
22 ディスクインターフェイス
23 ディスク制御部
24 負荷情報取得部
25 予測部
26 情報記憶部
27 キャッシュ制御部
28 キャッシュメモリ
281 負荷情報
2811 時間
2812 書込み要求回数
2813 読込み要求回数
282 キャッシュ管理情報
2821 配置情報
2822 状態
2823 アクセス頻度
283 対応関係情報
2831 負荷
2832 キャッシュ容量
2833 必要蓄電量
29 不揮発性メモリ
3 電力管理部
31 電力制御部
32 バッテリ
33 電源装置
4 記憶装置
61 CPU
62 メモリ
63 補助記憶装置
67 バス

Claims (6)

  1. バッテリ及び電源装置を有し、
    データの読込み要求又は書込み要求の少なくとも一方の入出力負荷に関する負荷情報に基づいて、前記バッテリの蓄電量を制御し、
    前記電源装置に異常が発生した場合に、前記バッテリに切り替えて電力を供給する
    電力管理部と、
    前記蓄電量に応じてキャッシュメモリにおけるキャッシュ容量を制御し、
    電力の供給が前記バッテリに切り替わると前記キャッシュメモリのデータを不揮発性メモリに書き込む
    ディスク管理部と、
    を備える情報処理装置。
  2. 前記電力管理部は、前記負荷情報において必要とされるキャッシュ容量に応じて決定された蓄電量となるように制御する
    請求項1に記載の情報処理装置。
  3. 前記電力管理部は、前記負荷情報が高負荷となる時間帯に必要とされる蓄電量となるように制御する
    請求項1又は2に記載の情報処理装置。
  4. 所定期間の前記負荷情報を取得し、当該負荷情報から高負荷となる時間帯を予測する予測部と、
    をさらに備え、
    前記電力管理部は、前記高負荷となる時間帯の所定時間前に前記蓄電量を取得し、
    当該蓄電量が所定値以下であった場合、前記高負荷となる時間帯に所定値以上になるように蓄電する
    請求項3に記載の情報処理装置。
  5. 前記ディスク管理部は、前記蓄電量によって前記キャッシュ容量を不揮発性メモリに書き込み可能なキャッシュ容量となるように制御する
    請求項1乃至4のいずれか一項に記載の情報処理装置。
  6. バッテリ及び電源装置を有し、
    データの読込み要求又は書込み要求の少なくとも一方の入出力負荷に関する負荷情報に基づいて、前記バッテリの蓄電量を制御するステップと、
    前記電源装置に異常が発生した場合に、前記バッテリに切り替えて電力を供給するステップと、
    前記蓄電量に応じてキャッシュメモリにおけるキャッシュ容量を制御するステップと、
    電力の供給が前記バッテリに切り替わると前記キャッシュメモリのデータを不揮発性メモリに書き込むステップと
    を備える情報処理装置のキャッシュ制御方法。
JP2016069990A 2016-03-31 2016-03-31 情報処理装置及びキャッシュ制御方法 Active JP6805525B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016069990A JP6805525B2 (ja) 2016-03-31 2016-03-31 情報処理装置及びキャッシュ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016069990A JP6805525B2 (ja) 2016-03-31 2016-03-31 情報処理装置及びキャッシュ制御方法

Publications (2)

Publication Number Publication Date
JP2017182522A JP2017182522A (ja) 2017-10-05
JP6805525B2 true JP6805525B2 (ja) 2020-12-23

Family

ID=60007012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016069990A Active JP6805525B2 (ja) 2016-03-31 2016-03-31 情報処理装置及びキャッシュ制御方法

Country Status (1)

Country Link
JP (1) JP6805525B2 (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0713870A (ja) * 1993-06-24 1995-01-17 Sony Corp データ解析装置
JP2646975B2 (ja) * 1993-11-25 1997-08-27 日本電気株式会社 情報処理システム
JP2005032039A (ja) * 2003-07-07 2005-02-03 Sony Corp 電子機器及び電子機器の電源管理制御方法、並びに電源装置
JP2006288154A (ja) * 2005-04-04 2006-10-19 Canon Inc 携帯情報端末拡張装置及びその制御方法
JP4561462B2 (ja) * 2005-05-06 2010-10-13 富士通株式会社 ダーティデータ処理方法、ダーティデータ処理装置およびダーティデータ処理プログラム
US7725653B2 (en) * 2006-06-29 2010-05-25 Emc Corporation Method for enabling a memory as a function of estimated power source capacity
WO2011101917A1 (en) * 2010-02-19 2011-08-25 Hitachi,Ltd. Disk array control device with shortened time recovery following power restoration and method therefor
JP5187776B2 (ja) * 2010-04-13 2013-04-24 日本電気株式会社 電気機器
US20150019818A1 (en) * 2013-07-11 2015-01-15 Lsi Corporation Maintaining Cache Size Proportional to Power Pack Charge

Also Published As

Publication number Publication date
JP2017182522A (ja) 2017-10-05

Similar Documents

Publication Publication Date Title
CA2388496C (en) Method and system for controlling data in a computer system
KR101363844B1 (ko) 전력 소모를 제한하기 위해 비휘발성 메모리에서의 동작들을 동적으로 제어하는 방법들 및 시스템들
TWI506421B (zh) 增加記憶體中之備用空間以延長記憶體之生命週期之系統、方法及電腦程式產品
US8499184B2 (en) Method for resuming a system from a power failure after the main power supply has recovered and prior to fully recharging the backup power supply by enabling the reception of input/output commands by the cache memory at a rate proportational to the amount of charge on the backup power supply currently available
US8874833B1 (en) Sequential writes to flash memory
US8762643B2 (en) Control method for disk array apparatus and disk array apparatus
US8065562B2 (en) Systems, methods and devices for backup power control in data storage devices
KR100950235B1 (ko) 정전시 강건한, 플래시 메모리를 포함하는 장치
CN102135861B (zh) 使用现行负载测量和分级在存储池中布局虚拟卷热点的方法
US8838918B2 (en) Information processing apparatus and data backup method
US8397012B2 (en) Data storage systems
CN109189605A (zh) 一种固态硬盘掉电保护方法
US8868864B2 (en) Storage apparatus and storage apparatus control method
KR20180117549A (ko) 지능적 백업 커패시터 관리
KR20110015273A (ko) 보조 전원 장치를 포함하는 사용자 장치
US8631198B2 (en) Dynamic cache reduction utilizing voltage warning mechanism
US9152329B2 (en) Information processing device, storage processing method, and computer readable recording medium having program stored therein
US20190235599A1 (en) Electronic system, information processing device, and control method
JP2010160654A (ja) キャッシュメモリバックアップ装置、方法およびプログラム
JP6805525B2 (ja) 情報処理装置及びキャッシュ制御方法
US8386815B2 (en) Recycling of cache content
KR101599835B1 (ko) 보조 전원 장치 및 그것을 포함하는 사용자 장치
KR101777810B1 (ko) 보조 전원 장치 및 그것을 포함하는 사용자 장치
CN105786726A (zh) 一种异构混合内存的计算机架构及其掉电时的数据保护方法
US20170160975A1 (en) Data buffer adjustment and control method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191023

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200604

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201117

R150 Certificate of patent or registration of utility model

Ref document number: 6805525

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150