JP5514364B2 - 記憶制御装置及び記憶制御装置の動作モード制御方法 - Google Patents

記憶制御装置及び記憶制御装置の動作モード制御方法 Download PDF

Info

Publication number
JP5514364B2
JP5514364B2 JP2013502032A JP2013502032A JP5514364B2 JP 5514364 B2 JP5514364 B2 JP 5514364B2 JP 2013502032 A JP2013502032 A JP 2013502032A JP 2013502032 A JP2013502032 A JP 2013502032A JP 5514364 B2 JP5514364 B2 JP 5514364B2
Authority
JP
Japan
Prior art keywords
memory
data
battery
threshold
control unit
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.)
Expired - Fee Related
Application number
JP2013502032A
Other languages
English (en)
Other versions
JP2013528843A (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
Publication of JP2013528843A publication Critical patent/JP2013528843A/ja
Application granted granted Critical
Publication of JP5514364B2 publication Critical patent/JP5514364B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3212Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2015Redundant power supplies
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory
    • G06F2212/2228Battery-backed RAM
    • 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)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)

Description

本発明は、記憶制御装置及び記憶制御装置の動作モード制御方法に関する。
企業等のユーザは、記憶制御装置を用いてデータを管理する。記憶制御装置は、データを保護するために、ユーザデータをRAID(Redundant Array of Independent Disks)に基づく冗長な記憶領域に記憶させる。
記憶制御装置はバッテリを備えており、停電が発生した場合には、バッテリからの電力により、キャッシュメモリにのみ記憶されているダーティデータを記憶装置に書き込むようになっている(特許文献1)。前記文献に記載の従来技術では、バッテリの残容量が少なくなるにつれてダーティデータの許容量を低下させ、さらに、バッテリの残容量が閾値以下になった場合は、ライトバック運用からライトスルー運用に切り替える。
特開2006−313407号公報
前記文献に記載の従来技術は冗長構成を備えていないため、バッテリ等を複数備える、冗長構成を有する記憶制御装置に、そのまま適用するのは難しい。さらに、記憶制御装置は、必要に応じて構成を変化させることができるが、従来技術では、データを保護するための動作モードを構成変更に対応させることができない。
そこで、本発明の目的は、冗長構成を有する記憶制御装置において、信頼性と使い勝手の両立を図ることができるようにした記憶制御装置及び記憶制御装置の動作モード制御方法を提供することにある。本発明の更なる目的は、後述する実施形態の記載から明らかになるであろう。
上記課題を解決すべく、本発明の第1観点に従う記憶制御装置は、上位装置からの要求に応じてデータを入出力する記憶制御装置であって、複数クラスタによる冗長構成を備えており、各クラスタは、上位装置と通信するための第1通信制御部と、データを記憶する記憶装置と通信するための第2通信制御部と、第1通信制御部及び第2通信制御部により共用されるメモリ部と、第1通信制御部及び第2通信制御部を制御する制御部と、を含み、各クラスタ内のメモリ部は、揮発性を有する第1メモリと、第1メモリに電力を供給するバッテリと、を含み、各制御部は、各バッテリの残量に基づいて、データを保護するための動作モードを制御する。
第2観点では、第1観点において、各クラスタには、それぞれのクラスタ内部の状態を管理するための管理端末が含まれており、各メモリ部には、不揮発性を有する第2メモリが含まれており、各第1メモリには、データを記憶するためのデータメモリと、管理データを記憶するための管理データメモリとが含まれており、各制御部には、データメモリに記憶されているデータと管理データメモリに記憶されている管理データとを第2メモリに退避させるために必要なバッテリ残量を示す第1閾値と、管理データメモリに記憶されている管理データを第2メモリに退避させるために必要な他のバッテリ残量を示す第2閾値とが変更可能に設定されており、各制御部は、各クラスタ内の各バッテリの残量を検出し、各バッテリの残量が第1閾値以上であるか否かを判定するための第1判定を実行し、第1判定の結果が肯定的な場合、上位装置からのライトデータを、各データメモリに記憶させた時点でライト処理完了を上位装置に通知するという通常モードを実行し、第1判定の結果が否定的な場合、各バッテリのうちいずれか一方のバッテリの残量が第1閾値以上であって、かつ、各バッテリのうちいずれか他方のバッテリの残量が第1閾値未満であるか否かを判定するための第2判定を実行し、第2判定の結果が肯定的な場合、管理端末を介して警告を出力し、さらに、通常モードを実行し、第2判定の結果が否定的な場合、各バッテリの残量が第2閾値以上であって、かつ、第1閾値未満であるか否かを判定するための第3判定を実行し、第3判定の結果が肯定的な場合、管理端末を介して警告を出力し、さらに、上位装置からのライトデータを制御部と同一クラスタに属するデータメモリ及び記憶装置にそれぞれ記憶させた後でライト処理完了を上位装置に通知するというライトスルーモードを実行し、第3判定の結果が否定的な場合、各バッテリのうちいずれか一方のバッテリの残量が第2閾値以上であって、かつ、各バッテリのうちいずれか他方のバッテリの残量が第2閾値未満であるか否かを判定するための第4判定を実行し、第4判定の結果が肯定的な場合、管理端末を介して警告を出力し、さらに、制御部と同一クラスタにおいてライトスルーモードを実行し、第4判定の結果が否定的な場合、上位装置からのアクセスを禁止するアクセス不可状態に設定し、さらに、管理端末を介して警告を出力し、所定時間が経過しても第4判定の結果が否定的な場合、上位装置によるアクセスを許可するアクセス可能状態に設定変更し、さらに、ライトスルーモードを実行し、バッテリへの入力電圧が停止した場合には、制御部と同一クラスタにおいて、第1メモリに記憶されているデータ及び管理データを第2メモリに転送させる退避処理を開始し、バッテリへの入力電圧が回復した場合であって、バッテリの残量が第1閾値以上の場合は、退避処理を中止し、バッテリの残量が第1閾値未満の場合は、退避処理を継続し、第1メモリに搭載されるデータメモリの数に応じて第1閾値を設定し、さらに、第1メモリに搭載される管理データメモリの数に応じて第2閾値を設定する。
第3観点では、第1観点において、各メモリ部には、不揮発性を有する第2メモリが含まれており、各第1メモリには、データを記憶するためのデータメモリと、管理データを記憶するための管理データメモリとが含まれており、データを保護するための動作モードには、上位装置からのライトデータをデータメモリに記憶させた時点でライト処理完了を上位装置に通知するという通常モードと、上位装置からのライトデータをデータメモリ及び記憶装置にそれぞれ記憶させた後でライト処理完了を上位装置に通知するというライトスルーモードと、上位装置からのアクセスを禁止するアクセス不可モードと、が含まれており、各バッテリの残量のうち少なくともいずれか一方のバッテリの残量が、各第1メモリ内のデータ及び管理データを各第2メモリに退避させることができる第1閾値以上の場合、通常モードが選択され、各バッテリの残量の両方が第1閾値未満であって、かつ、各バッテリの残量のうち少なくともいずれか一方のバッテリの残量が各第1メモリ内の管理データを第2メモリに退避させることができる第2閾値以上の場合、ライトスルーモードが選択され、各バッテリの残量の両方が第2閾値未満であって、かつ、所定時間が経過する前は、アクセス不可モードが選択される。
第4観点では、第3観点において、各バッテリの残量の両方が第2閾値未満であって、かつ、所定時間が経過した場合は、アクセス不可モードからライトスルーモードに切り換えられる。
第5観点では、第3観点において、各制御部は、自分の属するクラスタにおいて、バッテリへの入力電圧が停止した場合、第1メモリに記憶されているデータ及び管理データを第2メモリに転送させる退避処理を開始し、バッテリへの入力電圧が回復した場合であって、バッテリの残量が各第1メモリ内のデータ及び管理データを各第2メモリに退避させることができる第1閾値以上の場合は、退避処理を中止し、バッテリへの入力電圧が回復した場合であって、バッテリの残量が第1閾値未満の場合は、退避処理を継続する。
第6観点では、第5観点において、第1メモリに搭載されるデータメモリの数に応じて、第1閾値を設定する。
第7観点では、第6観点において、第1メモリに搭載される管理データメモリの数に応じて、第2閾値を設定する。
第8観点では、第3観点において、各制御部は、各クラスタのうち自分の属するクラスタのバッテリを交換する場合、相手方の制御部の有する第1閾値を所定値だけ増加させるようになっている。
本発明は、記憶制御装置の動作モードを制御するための方法として把握可能である。さらに、本発明の構成の少なくとも一部は、コンピュータプログラムとして構成できる。このコンピュータプログラムは、記録媒体に固定して配布したり、通信ネットワークを介して配信することができる。さらに、前記観点の組合せ以外の他の組合せも本発明の範囲に含まれる。
図1は、本発明の実施形態の概要を示す説明図である。 図2は、記憶制御装置のハードウェア構成図である。 図3は、メモリパッケージの斜視図である。 図4は、管理画面の構成を示す説明図である。 図5は、各バッテリの残量と動作モードの関係を示す説明図である。 図6は、通常の監視処理を示すフローチャートである。 図7は、図6に続くフローチャートである。 図8は、停電時の監視処理を示すフローチャートである。 図9は、停電後の再起動時の監視処理を示すフローチャートである。 図10は、バッテリ交換時の処理を示すフローチャートである。 図11は、図10に続くフローチャートである。 図12は、メモリ枚数に応じて閾値を変更する処理を示すフローチャートである。 図13は、閾値の初期値を管理するテーブルである。 図14は、閾値の変更に使用するテーブルである。 図15は、メモリ枚数に応じて閾値が変化する様子を示す説明図。 図16は、バッテリ交換時に閾値を変更する処理のフローチャート。
以下、図面に基づいて、本発明の実施の形態を説明する。最初に、図1を参照して本発明の概要を説明し、次に、図2以降を参照して実施例について説明する。図1は、本発明の理解及び実施に必要な程度で記載されている。本発明の範囲は、図1に記載の構成に限定されない。図1に記載されていない特徴は、後述の実施例で明らかにされる。
図1の上側に示すように、記憶制御装置は、クラスタ1とクラスタ2とにより冗長構成を備えている。各クラスタ1,2及び記憶制御装置の詳細な構成例は後述する。各クラスタ1,2は、メモリパッケージを備えている。各メモリパッケージは、例えば、複数のキャッシュメモリ3と、フラッシュメモリデバイス4と、バッテリ5とを備える。
各キャッシュメモリ3は、バッテリ5からの給電により、データを保持する。フラッシュメモリデバイス4は、各キャッシュメモリ3に接続されている。フラッシュメモリデバイス4には、バッテリ5の残量が低下した場合に、各キャッシュメモリ3に記憶されているデータが転送されて記憶される。バッテリ5の残量が回復した場合、フラッシュメモリデバイス4に退避されたデータは、キャッシュメモリ3に戻される。
図1の下側には、各クラスタ1,2内のバッテリ3の状態と動作モードとの関係が模式的に示されている。図1の下側には、(1)−(5)の5つのバッテリ残量状態と、動作モードとが示されている。
バッテリ残量は、複数の閾値Th1,Th2と比較される。第1閾値Th1は、キャッシュメモリ3に記憶されているデータ(ユーザデータ)及び管理データの両方をフラッシュメモリデバイス4に退避させることのできるバッテリ残量として設定される。第2閾値Th2は、キャッシュメモリ3に記憶されている管理データのみをフラッシュメモリデバイス4に退避させることのできるバッテリ残量として設定される。ユーザデータとは、ホストにより使用されるデータである。管理データとは、データの格納先等の管理情報を管理するためのデータである。後述のように、各閾値Th1,Th2は、キャッシュメモリ3の枚数に応じて変更することができる。
状態(1)に示すように、各バッテリ5の残量が第1閾値Th1以上の場合、動作モードとして通常モードが選択される。通常モードでは、ホストから受信したライトデータをキャッシュメモリ3に書き込んだ時点で、ライト処理が完了した旨をホストに通知する。その後、タイミングを見計らって、キャッシュメモリ3に記憶されたライトデータを記憶装置に書き込む。従って、記憶制御装置が通常モードで動作する場合、記憶制御装置の応答性が向上する。
状態(2)に示すように、各クラスタ1,2のうちいずれか一方のクラスタ(図1(2)では、クラスタ2)のバッテリ残量が第1閾値Th1を下回ると、記憶制御装置を管理するユーザ(管理者)に、警告が発せられる。例えば、記憶制御装置に接続された管理端末の画面を介して、または、ユーザ宛に送信される電子メールを介して、ユーザに警告が与えられる。動作モードとしては、引き続き通常モードが選択される。
状態(3)に示すように、各クラスタ1,2の両方でバッテリ残量が第1閾値Th1を下回ると、ユーザに警告が発せられる。各バッテリ残量が、第2閾値Th2以上であって、かつ、第1閾値Th1未満の場合である。
動作モードは、通常モードからライトスルーモードに変更される。ライトスルーモードとは、ホストから受領したライトデータをキャッシュメモリ3に記憶させ、さらに記憶装置に書き込んだ後で、ライト処理が完了した旨をホストに通知するモードである。ライトスルーモードは、記憶装置にライトデータを書き込んだことを確認した後でホストに処理完了を通知する。従って、ライトスルーモードでは、通常モードよりもホストへの通知が遅れるため、応答性が低下する。
状態(3)の場合において停電すると、キャッシュメモリ3に記憶されたデータ及び管理データが、フラッシュメモリデバイス4に転送されて記憶される。例えば、管理データから先にフラッシュメモリデバイス4に退避し、続いて、ユーザデータがフラッシュメモリデバイス4に退避する。ユーザデータと管理データとを特に区別しない場合は、「データ」と呼ぶ。
さらに、後述のように、フラッシュメモリデバイス4へのデータ退避中に停電が解消された場合、バッテリ残量に応じて、データ退避を継続するか、または、中止するかが決定される。例えば、バッテリ残量が第1閾値Th1以上の場合はキャッシュメモリ3からフラッシュメモリデバイス4へのデータ退避を中止する。バッテリ残量が十分あるため、再び停電が生じた場合でも、キャッシュメモリ3からフラッシュメモリデバイス4にデータを退避させることができるためである。これに対し、停電解消後のバッテリ残量が第1閾値Th1未満の場合は、データ退避を継続する。停電が繰り返されると、データ退避を正常に完了できない可能性があるためである。従って、バッテリ残量が不十分な場合は、停電が解消しても、データ退避を続行する。
なお、説明の便宜上、状態(3)において停電する場合を述べたが、状態(1)−(5)のいずれの場合でも停電する可能性はある。
状態(4)に示すように、各バッテリ5のうちいずれか一方のバッテリ残量が第2閾値Th2以上であって、かつ、いずれか他方のバッテリ残量が第2閾値Th2未満になると、状態(3)と同様にユーザに警告が発せられ、動作モードとしてライトスルーモードが選択される。いずれか一つのバッテリ残量が第2閾値Th2以上であれば、キャッシュメモリ3内の管理データをフラッシュメモリデバイス4に退避可能である。冗長化されている管理データのうちの少なくとも一つを退避させることができれば、データ格納先等を管理することができる。従って、ライトスルーモードで運用を続ける。
状態(5)に示すように、各バッテリ残量がいずれも第2閾値Th2未満になると、ユーザに警告が発せられ、かつ、記憶制御装置はノットレディ状態に設定される。つまり、記憶制御装置は、ホストからのアクセス要求の受付を停止する。両方のバッテリ残量が第2閾値未満の場合において、もしも停電になると、キャッシュメモリ3内の管理データをフラッシュメモリデバイス4に退避させることができない可能性がある。ホストから受領したユーザデータを記憶装置に書き込んでも、その書込先等を管理する管理データが消失してしまうと、そのユーザデータにアクセスすることができなくなる。そこで、状態(5)の場合は、ホストによる記憶制御装置の使用を禁止する。
記憶制御装置がノットレディ状態の間に、バッテリ5が充電されると、上述した状態(1)−(4)のいずれかに切り替わる。これに対し、各バッテリ5に十分充電されず、記憶制御装置のノットレディ状態が所定時間以上継続した場合、記憶制御装置は強制的にレディ状態に設定される。記憶制御装置が長時間使用不能になると、使い勝手が低下し、ユーザの不満が増大するためである。
換言すれば、各バッテリ残量が第2閾値未満になった場合は、所定時間だけ各バッテリ5の回復を待ち、所定時間経過しても各バッテリ5のうちいずれか一つの残量が第2閾値Th2以上に回復しない場合は、強制的に記憶制御装置をレディ状態に設定する。
このように構成される本実施形態によれば、複数クラスタ1,2による冗長構成を備えた記憶制御装置において、各バッテリ5の残量に応じて、データを保護するための動作モードを変化させることができる。
本実施形態では、各メモリパッケージ内にキャッシュメモリ3とフラッシュメモリデバイス4及びバッテリ5を設け、停電時にはバッテリ5からの電力を利用して、キャッシュメモリ3内のデータ(管理データ及びユーザデータ)をフラッシュメモリデバイス4に退避させる。このような冗長化されたハードウェア構成において、本実施形態では、各バッテリ5の残量を複数の閾値Th1,Th2と比較することにより、通常モードと、ライトスルーモードと、アクセス不可モード(ノットレディ状態に設定するモード)という複数のモードの中からいずれか一つを動作モードとして選択する。従って、本実施形態では、記憶制御装置の冗長構成を利用して、信頼性向上と使い勝手の改善との両立を図ることができる。
本実施形態では、各バッテリ5の残量が第2閾値Th2未満になった場合に、記憶制御装置をノットレディ状態に設定し、ノットレディ状態が所定時間以上継続した場合は、強制的にレディ状態に変更する。これにより、記憶制御装置が長時間停止するのを防止して、使い勝手の低下を抑制できる。
図2は、本実施例に係る記憶制御装置SCの全体構成を示す。記憶制御装置SCは、例えば、一つのコントローラシャーシ10と、少なくとも一つのドライブシャーシ20とを含む。記憶制御装置SCは、図2中左側に示す第1クラスタと図2中右側に示す第2クラスタとによる冗長構成を備えている。各クラスタは同一構成を備えており、かつ、各クラスタは連携して動作可能である。従って、いずれか一方のクラスタが故障等により停止した場合でも、他方のクラスタにより記憶制御装置SCを動作させることができる。
コントローラシャーシ10は、記憶制御装置SCの動作を制御するためのコントローラ100を備える。コントローラ100には、第1クラスタ及び第2クラスタが設定されており、各クラスタには複数のAC/DC電源101からそれぞれ電力が供給される。即ち、AC/DC電源101も冗長化されており、いずれか一方のAC/DC電源101が故障等で停止した場合でも、他方のAC/DC電源101がコントローラ100に電力を供給できるようになっている。
コントローラ100に設定される第1クラスタ及び第2クラスタのうち、第1クラスタに着目してコントローラ100の構成を説明する。コントローラ100のうち第1クラスタに属する部分には、例えば、複数のチャネルアダプタ110と、複数のディスクアダプタ120と、複数の制御パッケージ130と、複数のメモリパッケージ140と、複数のスイッチ150と、少なくとも一つの管理端末160とが設けられている。第2クラスタに含まれる部分も同様の構成である。
チャネルアダプタ110は、「第1通信制御部」に該当する。チャネルアダプタ110(以下、CHA110)は、ホストとの通信を制御する。CHA110は、ホストから発行された各種コマンドまたはライトデータを受信する。受信されたライトデータは、メモリパッケージ140内のキャッシュメモリ143(図3参照)に記憶される。さらに、CHA110は、記憶装置210から読み出されたデータをホストに送信する。
図外のホストは、例えば、メインフレームコンピュータまたはオープン系のサーバコンピュータとして構成される。ホストがメインフレームコンピュータの場合、CHA110は、例えば、FICON(Fibre Connection:登録商標)、ESCON(Enterprise System Connection:登録商標)、ACONARC(Advanced Connection Architecture:登録商標)、FIBARC(Fibre Connection Architecture:登録商標)等の通信プロトコルに従ってホストと通信する。これに対し、ホストがサーバコンピュータの場合、例えば、FCP(Fibre Channel Protocol)、iSCSI(internet Small Computer System Interface)、TCP/IP(Transmission Control Protocol/Internet Protocol)等の通信プロトコルに従って、データ通信が行われる。なお、ホストとしては、サーバコンピュータまたはメインフレームコンピュータに限らず、例えば、携帯電話、携帯情報端末、テレビジョン装置のような、コマンドを発行できる各種装置を利用できる場合もある。
ディスクアダプタ120は、「第2通信制御部」に該当する。ディスクアダプタ120(以下、DKA120)は、ドライブシャーシ20内の各記憶装置210との通信を制御する。通信プロトコルは特に問わないが、DKA120は、例えば、FCP等の通信プロトコルを用いて記憶装置210と通信する。DKA120は、一つまたは複数の記憶装置210からデータを読み出して、メモリパッケージ140内のキャッシュメモリ143に記憶させる。
マイクロプロセッサパッケージ130は、「制御部」に該当する。マイクロプロセッサパッケージ130は、各CHA110及び各DKA120と通信して、それらの動作を制御する。マイクロプロセッサパッケージ130は、例えば、複数のマイクロプロセッサと、ローカルメモリを備える。
マイクロプロセッサパッケージ130は、各管理端末160に接続されており、管理端末160からの指示に応じて、記憶制御装置SC内の構成を変更する。さらに、マイクロプロセッサパッケージ130は、記憶制御装置SC内の状態に関する情報を収集して、管理端末160に送信する。
メモリパッケージ140は、「メモリ部」に該当する。図3は、メモリパッケージ140の斜視図である。メモリパッケージ140は、例えば、パッケージ141と、パッケージ141の前面に着脱可能に設けられるフェイスプレート142と、複数のキャッシュメモリ143と、複数のフラッシュメモリデバイス144と、メモリコントローラ145と、バッテリパック146と、バッテリコントローラ147とを備える。
「第1メモリ」としてのキャッシュメモリ143は、揮発性メモリから構成される。キャッシュメモリ143は、例えば、2枚1組の単位で、メモリパッケージ140の基板に取り付けられる。キャッシュメモリ143は、記憶制御装置SCを稼働中に、その枚数を増減させることができる。
キャッシュメモリ143は、目的の異なる複数種類のメモリから構成される。一つは、ユーザデータを記憶するためのデータキャッシュである。他の一つは、管理データを記憶するための管理データキャッシュである。本実施例では、例えば、データキャッシュを最大8枚搭載することができ、管理データキャッシュは最大4枚搭載することができる。データキャッシュの最低搭載枚数は2である。同様に、管理データキャッシュの最低搭載枚数も2である。
「第2メモリ」としてのフラッシュメモリデバイス144は、不揮発性を有する。フラッシュメモリデバイス144には、停電時に、キャッシュメモリ143に記憶されたデータ(ユーザデータ及び/または管理データ)が転送されて記憶される。停電が解消すると、フラッシュメモリデバイス144に退避したデータは、キャッシュメモリ143に書き戻される。フラッシュメモリデバイス144は、キャッシュメモリ143を取り外すことなく、交換したり、または、増加あるいは減少させたりすることができる。
メモリコントローラ145は、キャッシュメモリ143に関するデータ入出力と、フラッシュメモリデバイス144に関するデータ入出力とを制御する。
「バッテリ」としてのバッテリパック146は、例えば、リチウム電池等のセルを複数備えている。バッテリパック146(以下、バッテリ146)は、通常時に、AC/DC電源101から充電される。停電時に、バッテリ146は、キャッシュメモリ143等に電力を供給して作動させる。バッテリコントローラ147は、バッテリ146についての充放電を制御する。
バッテリ146は、キャッシュメモリ143を取り外すことなく、かつ、AC/DC電源101からメモリパッケージ140への通電を停止させることなく、交換できるようになっている。具体的には、フェイスプレート142を取り外して、パッケージ141の前面を開けることにより、保守員は、バッテリ146を交換できる。
図2に戻る。スイッチ150は、各CHA110、各DKA120、各マイクロプロセッサパッケージ130、各メモリパッケージ140を相互に接続する。一方のクラスタに属する回路110−140は、スイッチ150を介して、他方のクラスタに属する同種回路に接続される。
管理端末160(以下、SVP160)は、記憶制御装置SCの各種状態に関する情報を収集して端末画面に表示したり、収集した情報をそのままでまたは加工して、外部の保守センタ30に送信したりする。さらに、ユーザまたは保守員は、SVP160を介して記憶制御装置SCに指示することができる。その指示に基づいて、コントローラ100は、例えば、論理ボリュームの作成、論理ボリュームの消去、論理ボリュームと通信ポートとの対応付け、アクセス制御の設定等を行う。
なお、図2では図示を省略しているが、各回路110−140を結ぶ配線(通信経路)も冗長化することができる。
ドライブシャーシ20の構成を説明する。ドライブシャーシ20は、複数の記憶装置210を収容する。ドライブシャーシ20は、ディスクユニット200(以下、DKU200)と、DKU200に電力を供給するAC/DC電源201を備える。
DKU200は、複数の記憶装置210と、スイッチ回路220(以下、SSW220)とを備える。DKU200にも第1クラスタ及び第2クラスタが設定されており、DKU200は冗長構成を備えている。各クラスタには、複数のAC/DC電源201からそれぞれ電力が供給される。
SSW220は、記憶装置210等と通信するための通信回路(以下、エキスパンダ)221を備えている。上流側のエキスパンダ221は、コントローラ100内のDKA120に接続されている。下流側のエキスパンダ221は、隣接する次のDKU200内の上流側エキスパンダに接続されている。紙面の都合上、DKU200を一つだけ示すが、コントローラ100には、複数のDKU200がデイジーチェーン接続されている。
記憶装置210としては、例えば、ハードディスク装置、半導体メモリ装置、光ディスク装置、光磁気ディスク装置等の、データを読み書き可能な種々の記憶装置を利用可能である。
記憶装置としてハードディスク装置を用いる場合、例えば、FC(Fibre Channel)ディスク、SCSI(Small Computer System Interface)ディスク、SATAディスク、ATA(AT Attachment)ディスク、SAS(Serial Attached SCSI)ディスク等を用いることができる。記憶装置として半導体メモリ装置を用いる場合、例えば、フラッシュメモリ、FeRAM(Ferroelectric Random Access Memory)、MRAM(MagnetoresistiveRandom Access Memory)、相変化メモリ(Ovonic Unified Memory)、RRAM(Resistance RAM)、PRAM(Phase change RAM)等の種々のメモリ装置を利用できるかも知れない。
図4は、SVP160により提供される管理画面G10の例を示す。管理画面G10には、メモリパッケージ140の構成が模式的に表示される。図4には、第1クラスタ(C1)のメモリパッケージ140の構成及び状況が示されている。
管理画面G10は、例えば、メモリパッケージ140の構成を模式的に示す構成表示部G11と、メモリパッケージ140の状態を示す状態表示部G12と、メッセージ表示部G13とを備える。
状態表示部G12には、選択された動作モードの名称と、バッテリ146の残量とが表示される。メッセージ表示部G13には、ユーザへ警告するための警告メッセージ、または、ユーザの操作を促すための案内メッセージ等が表示される。
構成表示部G11において、故障中、交換中、異常発生中等のイベントが発生している箇所は、点滅させたり、他の箇所と異なる色に表示させたりして、ユーザの注意を集めることもできる。なお、図示せぬ切替ボタンを操作することにより、もう一つのクラスタのメモリパッケージの構成及び状態を確認することができる。あるいは、複数クラスタに属する複数メモリパッケージの構成及び状態を一覧形式で表示させる構成でもよい。
図5は、各クラスタに属するバッテリ146の残量変化と、キャッシュメモリ143の動作モードの関係を示す。ここでは、第1クラスタ(C1)及び第2クラスタ(C2)は、それぞれ一つずつバッテリ146を備えているものとする。第1クラスタ(C1)に属するバッテリ146の残量変化を実線で示す。第2クラスタ(C2)に属するバッテリ146の残量変化を点線で示す。図5の説明では、第1クラスタ(C1)に属するバッテリ146を第1バッテリと呼び、第2クラスタ(C2)に属するバッテリ146を第2バッテリと呼ぶ。
時刻t0以前において、第1バッテリ及び第2バッテリのいずれもほぼ100%の残量を備えている。しかし、時刻t0において、第2バッテリが故障したとする。第2バッテリは時刻t0で故障したため、その残量は次第に低下していく。時刻t1において、第2バッテリの残量は第1閾値Th1に到達する。
第1閾値Th1は、例えば、キャッシュメモリ143に記憶されているユーザデータ及び管理データをフラッシュメモリデバイス144に退避させることのできる値として設定される。キャッシュメモリ143に記憶されているデータの量が多いほど、フラッシュメモリデバイスへの退避が完了するまでに要する時間が長くなる。退避に要する時間が長くなるほど、第1閾値Th1の値は大きく設定する必要がある。
そこで、後述のように、キャッシュメモリ143の搭載枚数に応じて、第1閾値Th1の値を調整する。ここでは、キャッシュメモリ143のうちデータキャッシュが最大数搭載されているものと仮定するので、第1閾値Th1は、例えば、50%に設定される。データキャッシュの搭載枚数が減少すると、第1閾値Th1の値も減少する。
さらに、時刻t2の少し手前で、第2バッテリの残量は第2閾値Th2を下回り、時刻t2ではほぼ0に近づく。第2閾値Th2は、キャッシュメモリ143のうち管理データキャッシュに記憶されている管理データをフラッシュメモリデバイス144に退避させることのできる値として設定される。
第2閾値Th2の値も、フラッシュメモリデバイス144への退避対象となる管理データのサイズに依存する。ここでは、管理データキャッシュも最大数搭載されていると仮定するため、第2閾値Th2は、例えば、25%に設定される。管理データキャッシュの搭載枚数が少なくなると、第2閾値Th2の値も減少する。
時刻t2において、第1バッテリも故障したとする。第1バッテリの残量は次第に低下していく。時刻t3で、第1バッテリの残量は第1閾値Th1に到達する。時刻t3で、第1バッテリの残量及び第2バッテリの残量は、ともに第1閾値Th1を下回る。但し、時刻t3では、第1バッテリの残量は第2閾値Th2を超えている。
時刻t3では、第1バッテリの残量のみが第2閾値Th2以上であって、かつ、第1閾値Th1を下回っている。第1バッテリの残量は第1閾値Th1を下回っているので、第1バッテリの電力を利用して、キャッシュメモリ143内の全ユーザデータをフラッシュメモリデバイス144に退避させるのは難しい。
しかし、第1バッテリの残量は第2閾値Th2を超えている。従って、第1バッテリの電力を利用して、キャッシュメモリ143からフラッシュメモリデバイス144に管理データを退避させることができる。管理データを保護できれば、ユーザデータの格納先等を管理することができる。そこで、時刻t3では、キャッシュメモリの動作モードを、通常モードからライトスルーモードに切り替える。
時刻t4で、第1バッテリの残量は第2閾値Th2まで低下する。第1バッテリの残量が第2閾値Th2を下回ると、キャッシュメモリ143内の管理データをフラッシュメモリデバイス144に退避させることができない可能性がある。そこで、時刻t4を僅かに過ぎた時刻、即ち、第1バッテリの残量が第2閾値Th2を下回った時点で、動作モードをライトスルーモードからアクセス不可モードに切り替える。
ライトスルーモードに移行した時点(t3)で、管理端末160の画面には警告メッセージが表示され、さらに、管理端末160から保守センタ30に警告が送信される。その警告を受けた保守センタ30から、または、最寄りのサービス拠点から、新品のバッテリを持った保守員が記憶制御装置SCの設置場所に派遣される。
そこで、時刻t5において、第2バッテリが新品バッテリに交換されたとする。さらに、時刻t5と次の時刻t6の間で、第1バッテリも新品バッテリに交換されたとする。第2バッテリが先に新品に交換されることにより、第2バッテリの残量は100%まで回復する。動作モードは、アクセス不可モードから通常モードに切り替えられる。
時刻t6で停電になったとすると、ホストが記憶制御装置SCにアクセスすることは禁止される。停電が検出されると、キャッシュメモリ143内のデータ(ユーザデータ及び管理データ)は、フラッシュメモリデバイス144に転送されて記憶される。停電中は、AC/DC電源101からバッテリ146に給電されず、かつ、バッテリ146の電力はデータ退避に使用される。従って、第1バッテリの残量及び第2バッテリの残量は、次第に低下していく。
時刻t7で停電が解消し、記憶制御装置SCが再起動したとする。時刻t7の時点では、第1バッテリの残量も第2バッテリの残量も第2閾値Th2を下回っている。従って、記憶制御装置SCは、アクセス不可モードのままで運用される。その間、各バッテリは充電される。
時刻t8になると、各バッテリの残量が第2閾値Th2に到達する。従って、動作モードは、アクセス不可モードからライトスルーモードに切り替わる。
時刻t9で、各バッテリの残量は第1閾値Th1に到達する。従って、動作モードは、ライトスルーモードから通常モードに切り替わる。
図6,図7は、通常の監視処理のフローチャートを示す。以下に述べる各フローチャートは、各処理の概要を示しており、実際のコンピュータプログラムとは相違する場合がある。いわゆる当業者であれば、図示されたステップの一部を変更または削除したり、新たなステップを追加したりすることができるであろう。
通常の監視処理とは、通常時において各クラスタ内のバッテリ146の残量を監視し、それらの残量に応じてデータ保護のための動作モードを切り替える処理である。本処理は、各クラスタ毎に実行される。以下、コントローラ100を主語として説明する。
コントローラ100は、第1クラスタC1に属する第1バッテリ146の残量を検出し(S10)、続いて、第2クラスタC2に属する第2バッテリ146の残量を検出する(S11)。コントローラ100は、例えば、バッテリ146への充電電圧及び充電電流等に基づいて、バッテリ146の残量(蓄電容量)を算出することができる。
コントローラ100は、各バッテリ146の残量が第1閾値Th1であるか否かを判定する(S12)。S12は「第1判定」に該当する。第1バッテリの残量をBL1、第2バッテリの残量をBL2とすると、S12では、「BL1≧Th1 AND BL2≧Th1」が成立するか否かが判定される。
各バッテリ146の残量BL1,BL2が第1閾値Th1以上である場合(S12:YES)、通常モードが選択される(S13)。図5のタイムチャートでは、時刻t0以前の状態、または、時刻t9以降の状態がS13の状態に該当する。
通常モードでは、ホストから受信したライトデータをキャッシュメモリ146に記憶させた時点で、ライト処理が完了した旨をホストに通知する。その後、所定のタイミングを見計らって、キャッシュメモリ146に記憶されたライトデータを所定の記憶装置210に記憶させる。従って、記憶制御装置SCが通常モードで運用される場合、応答性を高くして、使い勝手を向上できる。
各バッテリ146の残量BL1,BL2の少なくともいずれか一方が第1閾値Th1以上ではない場合(S12:NO)、コントローラ100は、一方のバッテリ残量が第1閾値Th1以上であって、かつ、他方のバッテリ残量が第1閾値Th1未満であるか否かを判定する(S14)。S14は「第2判定」に該当する。即ち、コントローラ100は、「BL1≧Th1 AND BL2<Th1」または「BL2≧Th1 AND BL1<Th1」のいずれかの状態であるか否かを判定する。
各バッテリ146のうちいずれか一方のバッテリ残量が第1閾値Th1以上であり、かつ、他方のバッテリ残量が第1閾値Th1未満である場合(S14:YES)、コントローラ100は、管理端末160を介して、第1閾値Th1未満のバッテリが存在することを警告する(S15)。この警告は、管理端末160の端末画面に表示され、さらに、保守センタ30に送信される。
警告を発した後、コントローラ100は、通常モードを選択する(S13)。いずれか一方のバッテリ残量が第1閾値Th1以上であるため、万が一停電になっても、キャッシュメモリ143内のデータをフラッシュメモリデバイス144に退避させることができるためである。なお、S14及びS15を経由してS13に至る状態は、図5中の時刻t0から時刻t3までの状態と、時刻5から時刻t5と時刻t6の中間の時刻までの状態とに該当する。
S14で「NO」と判定された場合、コントローラ100は、各バッテリ146の残量が第2閾値Th2以上であって、かつ、第1閾値Th1未満であるか否かを判定する(S16)。S16は「第3判定」に該当する。
Th2≦BL1,BL2<Th1である場合(S16:YES)、コントローラ100は、各バッテリ146の残量が第2閾値Th2以上であるが第1閾値Th1未満であることを知らせるための警告を発する(S17)。その警告は、管理端末160を介して保守センタ30に送信される。コントローラ100は、警告を発した後、ライトスルーモードを選択する(S18)。S16を経由してS18に至る状態は、図5中の時刻t8から時刻t9までの状態に該当する。
S16で「NO」と判定された場合、コントローラ100は、一方のバッテリ残量が第2閾値Th2以上であって、かつ、他方のバッテリ残量が第2閾値Th2未満であるかを判定する(S19)。S19は「第4判定」に該当する。
一方のバッテリ残量が第2閾値Th2以上であって、かつ、他方のバッテリ残量が第2閾値Th2未満の場合(S19:YES)、コントローラ100は、警報を発し(S20)、ライトスルーモードを選択する(S18)。その警報には、一方のバッテリ残量が第2閾値Th2以上であり、他方のバッテリ残量が第2閾値Th2未満であることを示すメッセージが含まれている。S19及びS20を経由してS18に至る状態は、図5中の時刻t3から時刻t4までの状態に該当する。
S19で「NO」と判定された場合は、図7に示すフローチャートに移る。コントローラ100は、記憶制御装置SCをノットレディ状態に設定し(S21)、警告を出力する(S22)。その警告には、両方のバッテリ146の残量が第2閾値Th2未満であることを示すメッセージが含まれている。ノットレディ状態とは、記憶制御装置SCの準備が整っていないため、ホストからのコマンドを受け付けない状態である。
コントローラ100は、記憶制御装置SCをノットレディ状態に設定してから所定時間TM1が経過したか否かを判定する(S23)。所定時間TM1が経過していない場合(S23:NO)、図6のS10に戻る。
従って、所定時間TM1が経過するまでの間に、各バッテリの少なくともいずれか一つのバッテリの残量が回復した場合は、ノットレディ状態が解除され、通常モードまたはライトスルーモードに設定変更される。図6では省略しているが、ノットレディ状態に設定された後でバッテリ残量が回復した場合、上述の第1判定−第3判定のいずれかに該当すれば、ノットレディ状態からレディ状態に移行し、通常モードまたはライトスルーモードのいずれかに設定変更される。
所定時間TM1が経過しても、各バッテリ残量が第2閾値Th2未満の場合(S19:NO)、コントローラ100は、ノットレディ状態からレディ状態に強制的に変更し(S24)、ライトスルーモードを選択する(S25)。
所定時間Th2が経過しても事態が改善しない場合は、停電発生によるデータ消失の可能性と長時間のサービス停止による不便とを比較考量し、記憶制御装置SCの作動を開始させる。これにより、ユーザの利便性を優先させる。
図8は、停電時の監視処理を示すフローチャートである。本処理は、各クラスタ毎にそれぞれ実行される。
コントローラ100は、冗長化された各AC/DC電源101へ入力されるAC電圧を監視している。各AC/DC電源101への入力AC電圧がほぼ同時に0ボルト付近まで低下した場合、コントローラ100は、停電を検出することができる(S30)。
コントローラ100は、キャッシュメモリ143からフラッシュメモリデバイス144へのデータ退避を開始させる(S31)。コントローラ100は、データ退避を開始させた後、各AC/DC電源101への入力AC電圧の少なくともいずれか一方が回復したか否かを判定する(S32)。つまり、停電が解消したか否かを判定する。但し、各AC/DC電源101のいずれか一方が故障した場合に備えて、S32では、各入力AC電圧のうちいずれか一方が回復したか否かを判定している。
停電中の場合(S32:NO)、コントローラ100は、各キャッシュメモリグループのデータが退避したか否かを判定する(S33)。キャッシュメモリグループとは、例えば、2枚1組のグループを示す。本実施例では、グループ単位で、キャッシュメモリからフラッシュメモリデバイスにデータを退避させる。
停電が解消する前に、全キャッシュメモリグループのデータ退避が完了すると(S33:YES)、コントローラ100は、フラッシュメモリデバイス144へのデータ退避が正常に完了したか否かを判定する(S34)。
キャッシュメモリ143からフラッシュメモリデバイス144へのデータ退避(データ転送)が正常に終了した場合(S34:YES)、コントローラ100は、データ退避が正常に終了したことを記憶する(S35)。例えば、マイクロプロセッサパッケージ130内のローカルメモリに、データ退避の結果が記憶される。
キャッシュメモリ143からフラッシュメモリデバイス144へのデータ退避が正常終了しなかった場合(S34:NO)、コントローラ100は、データ退避が異常終了したことを記憶する(S36)。
データ退避中に、各AC/DC電源101への入力AC電圧のうち少なくともいずれか一方が回復した場合(S32:YES)、コントローラ100は、バッテリ残量が第1閾値Th1以上であるか否かを判定する(S37)。
バッテリ残量が第1閾値Th1以上の場合(S37:YES)、コントローラ100は、キャッシュメモリ143からフラッシュメモリデバイス144へのデータ退避を中断させる(S38)。停電が解消されており、かつ、バッテリ146に十分な残量があるためである。この場合、再び停電になったとしても、バッテリ146の電力を用いてキャッシュメモリ143のデータをフラッシュメモリデバイス144に退避可能である。従って、S31で開始されたデータ退避を中止する。
これに対し、各AC/DC電源101への入力AC電圧のうち少なくともいずれか一方が回復した場合であって、かつ、バッテリ残量が第1閾値Th1未満の場合、コントローラ100は、キャッシュメモリ143からフラッシュメモリデバイス144へのデータ退避を継続し(S39)、S33に移る。停電が解消した場合であっても、バッテリ残量が第1閾値Th1未満である場合は、再び停電すると、キャッシュメモリ143のデータを安全に退避させることができない可能性がある。そこで、本処理では、停電が解消しても、バッテリ146が充電されていない場合は、データの安全を確保すべく、データ退避を続行する。
図9は、停電解消後において、記憶制御装置SCを再起動させた場合の監視処理を示すフローチャートである。本処理も、各クラスタ毎に実行される。コントローラ100は、停電解消後の再起動であるか否かを判定する(S40)。
コントローラ100は、図8で述べた停電時の監視処理によって、キャッシュメモリ143のデータがフラッシュメモリデバイス144に正常に退避したか否かを判定する(S41)。
データ退避が正常に完了している場合(S41:YES)、コントローラ100は、フラッシュメモリデバイス144に退避されたデータをキャッシュメモリ143に転送し、キャッシュメモリ143のデータを復元する(S42)。
コントローラ100は、データ復元が正常に終了したか否かを判定する(S43)。データ復元が正常終了した場合(S43:YES)、コントローラ100は、図6及び図7で述べた通常時の監視処理を実行する(S44)。データ復元が正常終了しなかった場合(S43:NO)、後述のS46に移る。
キャッシュメモリ143からフラッシュメモリデバイス144へのデータ退避が正常に終了しなかった場合(S41:NO)、コントローラ100は、メモリパッケージ140を閉塞させる(S45)。キャッシュメモリ143のデータを停電前の状態に戻すことができないため、そのキャッシュメモリ143の使用を禁止する。
コントローラ100は、他方のクラスタのメモリパッケージ140においてもデータ退避が失敗したか否かを判定する(S46)。他方のクラスタではデータ退避が成功している場合(S46:NO)、コントローラ100は、対象クラスタ内のメモリパッケージ140だけを閉塞させたまま(S47)、S44に移る。一方のクラスタのメモリパッケージ140のみが閉塞され、他方のクラスタのメモリパッケージ140が正常に動作している状態を、S47では「キャッシュを部分的に縮退」と表現している。
他方のクラスタのメモリパッケージ140においても、データ退避またはデータ復元のいずれかに失敗した場合(S46:YES)、コントローラ100は、記憶制御装置SCをノットレディ状態に設定する(S48)。両方のクラスタにおいて、キャッシュメモリ143のデータを復元することができないため、記憶制御装置SCの運用を継続することはできない。そこで、コントローラ100は、ノットレディ状態に設定する。
図10,図11は、バッテリ交換時の処理を示すフローチャートである。本処理は、バッテリ146が交換されるクラスタにおいて実行される。本処理の少なくとも一部は、保守員またはユーザにより実行することができる。
コントローラ100は、交換対象のバッテリ146の残量が第1閾値Th1未満であることを検出し(S50)、さらに、他方のクラスタに属するバッテリ残量を算出する(S51)。コントローラ100は、他方のクラスタのバッテリ残量が第1閾値Th1以上であるか否かを判定する(S52)。他方のクラスタのバッテリ残量が第1閾値Th1以上である場合(S52:YES)、コントローラ100は、バッテリ交換を許可し(S53)、バッテリ交換が正常に終了したか否かを判定する(S54)。
なお、S52−S54は保守員またはユーザにより実行させることもできる。例えば、保守員またはユーザは、管理端末160に表示される管理画面G10を介して、各クラスタのバッテリ残量を確認することができる。保守員またはユーザは、他方のバッテリ(交換対象ではない方のバッテリ)の残量が第1閾値Th1以上であることを管理画面G10で確認した後(S52:YES)、交換対象のバッテリ146を新品に交換する(S53,S54)。
交換対象ではない他方のクラスタに属するバッテリ146の残量が第1閾値Th1以上ではない場合(S52:NO)、図11のフローチャートに移る。コントローラ100は、各バッテリ146の残量が第1閾値Th1未満である状態が所定時間TM2以上継続したか否かを判定する(S55)。
なお、各バッテリ残量が第1閾値Th1未満の場合は、図6に示すS16で「YES」と判定されるため、ライトスルーモードに設定されている。
各バッテリ146の残量が第1閾値Th1未満である状態が所定時間TM2以上継続していない場合(S55:NO)、コントローラ100は、他方のクラスタに属するバッテリ146の残量が第1閾値Th1以上になるのを待つ(S56)。
コントローラ100は、他の所定時間TM3が経過したか否かを判定する(S57)。他の所定時間TM3は、バッテリ146の残量が第1閾値Th1以上まで回復するのに十分と考えられる時間として設定される。TM3の値は、図7のS23に示すTM1の値と同一に設定してもよいし、異なる値に設定してもよい。
他の所定時間TM3が経過していない場合(S57:NO)、S52に戻る。従って、他の所定時間TM3が経過するまで、S52,S55,S56,S57が繰り返し実行される。
他の所定時間TM3が経過しても他方のバッテリ146の残量が第1閾値Th1以上にならない場合(S57:YES)、コントローラは、各バッテリ146のうちいずれか一方のバッテリの交換を許可する(S58)。それ以上待ってもバッテリ残量が回復する可能性は低いためである。そこで、コントローラ100は、より早くデータ保護の安全性を回復すべく、バッテリ交換を許可する。
各バッテリ残量が第1閾値Th1未満である状態が所定時間TM2以上継続している場合も(S55:YES)、コントローラ100は、各バッテリ146のうちいずれか一方のバッテリの交換を許可する(S58)。
コントローラ100は、各バッテリ146のうちいずれかのバッテリ146の残量が第1閾値Th1以上になったか否かを判定する(S59)。S58でのバッテリ交換が正常に終了した場合は、その交換されたバッテリの残量は第1閾値Th1以上になっているはずである(S59:YES)。そこで、コントローラ100は、ライトスルーモードから通常モードに切り替える(S60)。
図11に示すフローチャートの一部は、保守員またはユーザが実行可能である。例えば、保守員またはユーザは、S55,S56,S57,S58を実行できる。
図12は、キャッシュメモリ143の搭載枚数に応じて閾値を変更する処理を示すフローチャートである。コントローラ100は、メモリパッケージ140内のキャッシュメモリ143が増設されたか否かを判定する(S70)。キャッシュメモリ143が増設された場合(S70:YES)、コントローラ100は、データキャッシュが増設されたか否かを判定する(S71)。
データキャッシュが増設された場合(S71:YES)、コントローラ100は、メモリパッケージ140に搭載されているデータキャッシュの枚数を取得し(S72)、各クラスタのバッテリ残量を監視するための閾値(Th1)を変更する(S73)。
データキャッシュの増設ではない場合(S71:NO)、管理データキャッシュが増設された場合である(S74)。そこで、コントローラ100は、管理データキャッシュ搭載枚数を取得し(S75)、各クラスタのバッテリ残量を監視するための閾値(Th2)を変更する(S76)。
図13は、第1閾値Th1及び第2閾値Th2の初期値を管理するテーブルT10A,T10Bを示す。図13(a)に示すように、第1閾値の初期値を管理するテーブルT10Aは、クラスタ番号欄C10Aと、初期閾値欄C11Aとを備える。クラスタ番号欄C10Aには、第1クラスタ及び第2クラスタを識別するための番号が設定される。初期閾値欄C11Aには、各クラスタについての第1閾値の初期値が設定される。各クラスタの第1閾値の初期値は、それぞれTh1に設定されている。
図13(b)に示すように、第2閾値の初期値を管理するテーブルT10Bは、クラスタ番号欄C10Bと、初期閾値欄C11Bとを備える。各クラスタについての第2閾値の初期値として、それぞれTh2が設定されている。
図14は、キャッシュメモリ143の搭載枚数に応じて閾値を変更するためのテーブルT20A,T20Bを示す。図14(a)に示すように、第1閾値変更テーブルT20Aは、データキャッシュ枚数欄C20Aと、第1閾値欄C21Aとを備える。
本実施例では、データキャッシュが搭載可能な最大数まで搭載されている場合に、第1閾値が最大値Th1になるように設定している。最大値Th1は初期値と同一である。つまり、本実施例では、第1閾値の初期値を最大値に設定している。そして、データキャッシュの枚数が少なくなるにつれて第1閾値の値が低下するように、テーブル20Aは構成されている。
例えば、データキャッシュが上限値である8枚搭載されている場合、第1閾値はTh1(例えば、50%)に設定され、データキャッシュが6枚搭載されている場合、第1閾値はTh1c(例えば、45%)に設定される。データキャッシュが4枚搭載されている場合、第1閾値はTh1b(例えば、40%)に設定され、データキャッシュが下限値である2枚搭載されている場合、第1閾値はTh1a(例えば、35%)に設定される。
図14(b)に示すように、第2閾値変更テーブルT20Bは、管理データキャッシュ枚数欄C20Bと、第2閾値欄C21Bとを備える。
本実施例では、管理データキャッシュが上限値である4枚搭載されている場合、第2閾値はTh2(例えば、25%)に設定される。Th2は、第2閾値の初期値であり、かつ、最大値でもある。管理データキャッシュが下限値である2枚搭載されている場合、第2閾値はTh2a(例えば、20%)に設定される。このように、管理データキャッシュの初期値は最大値であるTh2に設定されており、管理データキャッシュの枚数が少なくなると第2閾値も低下するように、テーブル20Bは構成されている。
図15は、データキャッシュの搭載枚数の変化に応じて第1閾値が変化する様子を示すタイムチャートである。
時刻t10において、データキャッシュは上限値である8枚搭載されているため、第1閾値はTh1(50%)に設定される。時刻t11で、データキャッシュの枚数が上限値である8枚から下限値である2枚に減らされると、第1閾値はTh1からTh1a(35%)に低下する。時刻t12で、データキャッシュの枚数が2枚から6枚に増加した場合、第1閾値はTh1aからTh1c(45%)に上昇する。時刻t13において、データキャッシュの枚数が6枚から8枚に増加されると、第1閾値はTh1cからTh1に上昇する。
図12−図15で説明したように、本実施例では、キャッシュメモリ143の搭載枚数に応じて第1閾値及び第2閾値を調整する。本実施例では、データキャッシュの搭載枚数が増減した場合、その増減に応じて第1閾値を変更する(S73)。同様に、本実施例では、管理データキャッシュの搭載枚数が増減した場合、その増減に応じて第2閾値を変更する(S76)。
図16は、バッテリ交換時での閾値変更処理を示すフローチャートである。コントローラ100は、バッテリ交換対象のクラスタではない方の他のクラスタに属するバッテリの残量を算出する(S80)。
コントローラ100は、他のバッテリ146の残量が第1閾値Th1以上であるか否かを判定する(S81)。他のバッテリの残量が第1閾値Th1未満の場合(S81:NO)、コントローラ100は、他のバッテリの残量が第1閾値Th1以上になってからバッテリ交換作業を開始するようにとのメッセージを、管理端末160の画面に表示させる(S82)。コントローラ100は、他のバッテリの残量の回復を待つ(S83)。
他のバッテリの残量が第1閾値Th1以上になると(S81:YES)、コントローラ100は、他のバッテリに関する第1閾値Th1に所定値nを加算する(S84)。例えば、所定値nを10%とし、かつ、他のバッテリの第1閾値Th1が50%であるとすると、コントローラ100は、他のバッテリの第1閾値Th1を60%に変更する(50%+10%=60%)。
コントローラ100は、他のバッテリの残量がTh1+n以上であるか否かを判定する(S85)。他のバッテリの残量がTh1+n以上の場合(S85:YES)、コントローラ100は、バッテリ交換作業を許可するメッセージを管理端末160の画面に表示させる(S86)。保守員またはユーザは、そのメッセージを確認すると、バッテリ146を交換する。
コントローラ100は、バッテリ交換作業が正常に終了した場合(S87:YES)、他のバッテリに関する第1閾値をTh1+nからTh1に変更する(S88)。
このように、一方のクラスタのバッテリ146を交換する場合は、他方のクラスタのバッテリを監視するための第1閾値Th1を所定値nだけ増加させ(S84)、監視レベルを引き上げる。従って、他のバッテリの残量は通常時よりも余裕があるため、もしも、バッテリ交換作業を開始する直前に停電が発生した場合でも、キャッシュメモリ143のデータをフラッシュメモリデバイス144に安全に退避させることができる。
このように構成される本実施例では、複数クラスタによる冗長構成を備えた記憶制御装置SCにおいて、各バッテリの残量に応じて、データを保護するための動作モードを変化させることができる。
本実施例では、メモリパッケージ140内にキャッシュメモリ143とフラッシュメモリデバイス144及びバッテリ146を設け、停電時にはバッテリ146からの電力を利用して、キャッシュメモリ143内のデータ(管理データ及びユーザデータ)をフラッシュメモリデバイス144に退避させる。本実施例では、各バッテリ146の残量を複数の閾値Th1,Th2と比較することにより、通常モードと、ライトスルーモードと、アクセス不可モード(ノットレディ状態に設定するモード)という複数のモードの中からいずれか一つを動作モードとして選択する。従って、記憶制御装置の冗長構成を利用して、信頼性向上と使い勝手の改善との両立を図ることができる。
本実施例では、各バッテリ146の残量が第2閾値Th2未満になった場合に、記憶制御装置をノットレディ状態に設定し、ノットレディ状態が所定時間以上継続した場合は、強制的にレディ状態に変更する。これにより、記憶制御装置が長時間停止するのを防止して、使い勝手の低下を抑制できる。
本実施例では、キャッシュメモリ143の搭載枚数に応じて閾値Th1,Th2を変更するようになっている。従って、退避させるべきデータ量に応じて閾値Th1,Th2を設定変更することができ、データをより安全に保護できる。
本実施例では、バッテリ交換時に、交換対象ではない他方のバッテリに関する閾値を一時的に増加させる。従って、バッテリ交換時に停電しても、キャッシュメモリのデータをフラッシュメモリデバイスに退避させることができる。これにより、安全性を向上させることができる。
なお、本発明は、上述した実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
1,2:クラスタ、3:キャッシュメモリ、4:フラッシュメモリデバイス、5:バッテリ、SC:記憶制御装置、10:コントローラシャーシ、20:ドライブシャーシ、30:保守センタ、100:コントローラ、101:AC/DC電源、130:マイクロプロセッサパッケージ、140:メモリパッケージ、210:記憶装置

Claims (11)

  1. 上位装置からの要求に応じてデータを入出力する記憶制御装置であって、
    複数クラスタによる冗長構成を備えており、
    前記各クラスタは、
    前記上位装置と通信するための第1通信制御部と、
    データを記憶する記憶装置と通信するための第2通信制御部と、
    前記第1通信制御部及び前記第2通信制御部により共用されるメモリ部と、
    前記第1通信制御部及び前記第2通信制御部を制御する制御部と、
    クラスタ内部の状態を管理するための管理端末と、
    を含み、
    前記各クラスタ内の前記メモリ部は、
    揮発性を有し、データを記憶するためのデータメモリと、管理データを記憶するための管理データメモリとを含む第1メモリと、
    不揮発性を有する第2メモリと、
    前記第1メモリに電力を供給するバッテリと、
    を含み、
    前記各制御部は、前記各バッテリの残量に基づいて、データを保護するための動作モードを制御するものであり、
    前記各制御部には、前記データメモリに記憶されている前記データと前記管理データメモリに記憶されている前記管理データとを前記第2メモリに退避させるために必要なバッテリ残量を示す第1閾値と、前記管理データメモリに記憶されている管理データを前記第2メモリに退避させるために必要な他のバッテリ残量を示す第2閾値とが変更可能に設定されており、
    前記各制御部は、
    前記各クラスタ内の前記各バッテリの残量を検出し、
    前記各バッテリの残量が前記第1閾値以上であるか否かを判定するための第1判定を実行し、
    前記第1判定の結果が肯定的な場合、前記上位装置からのライトデータを、前記各データメモリに記憶させた時点でライト処理完了を前記上位装置に通知するという通常モードを実行し、
    前記第1判定の結果が否定的な場合、前記各バッテリのうちいずれか一方のバッテリの残量が前記第1閾値以上であって、かつ、前記各バッテリのうちいずれか他方のバッテリの残量が前記第1閾値未満であるか否かを判定するための第2判定を実行し、
    前記第2判定の結果が肯定的な場合、前記管理端末を介して警告を出力し、さらに、前記通常モードを実行し、
    前記第2判定の結果が否定的な場合、前記各バッテリの残量が前記第2閾値以上であって、かつ、前記第1閾値未満であるか否かを判定するための第3判定を実行し、
    前記第3判定の結果が肯定的な場合、前記管理端末を介して警告を出力し、さらに、前記上位装置からのライトデータを前記制御部と同一クラスタに属する前記データメモリ及び前記記憶装置にそれぞれ記憶させた後でライト処理完了を前記上位装置に通知するというライトスルーモードを実行し、
    前記第3判定の結果が否定的な場合、前記各バッテリのうちいずれか一方のバッテリの残量が前記第2閾値以上であって、かつ、前記各バッテリのうちいずれか他方のバッテリの残量が前記第2閾値未満であるか否かを判定するための第4判定を実行し、
    前記第4判定の結果が肯定的な場合、前記管理端末を介して警告を出力し、さらに、前記制御部と同一クラスタにおいて前記ライトスルーモードを実行し、
    前記第4判定の結果が否定的な場合、前記上位装置からのアクセスを禁止するアクセス不可状態に設定し、さらに、前記管理端末を介して警告を出力し、
    所定時間が経過しても前記第4判定の結果が否定的な場合、前記上位装置によるアクセスを許可するアクセス可能状態に設定変更し、さらに、前記ライトスルーモードを実行し、
    前記バッテリへの入力電圧が停止した場合には、前記制御部と同一クラスタにおいて、前記第1メモリに記憶されている前記データ及び前記管理データを前記第2メモリに転送させる退避処理を開始し、
    前記バッテリへの入力電圧が回復した場合であって、前記バッテリの残量が前記第1閾値以上の場合は、前記退避処理を中止し、前記バッテリの残量が前記第1閾値未満の場合は、前記退避処理を継続し、
    前記第1メモリに搭載される前記データメモリの数に応じて前記第1閾値を設定し、さらに、前記第1メモリに搭載される前記管理データメモリの数に応じて前記第2閾値を設定する、
    憶制御装置。
  2. 上位装置からの要求に応じてデータを入出力する記憶制御装置であって、
    複数クラスタによる冗長構成を備えており、
    前記各クラスタは、
    前記上位装置と通信するための第1通信制御部と、
    データを記憶する記憶装置と通信するための第2通信制御部と、
    前記第1通信制御部及び前記第2通信制御部により共用されるメモリ部と、
    前記第1通信制御部及び前記第2通信制御部を制御する制御部と、
    を含み、
    前記各クラスタ内の前記メモリ部は、
    揮発性を有し、データを記憶するためのデータメモリと、管理データを記憶するための管理データメモリとを含む第1メモリと、
    不揮発性を有する第2メモリと、
    前記第1メモリに電力を供給するバッテリと、
    を含み、
    前記各制御部は、前記各バッテリの残量に基づいて、データを保護するための動作モードを制御するものであり、
    データを保護するための前記動作モードには、
    前記上位装置からのライトデータを前記データメモリに記憶させた時点でライト処理完了を前記上位装置に通知するという通常モードと、
    前記上位装置からのライトデータを前記データメモリ及び前記記憶装置にそれぞれ記憶させた後でライト処理完了を前記上位装置に通知するというライトスルーモードと、
    前記上位装置からのアクセスを禁止するアクセス不可モードと、
    が含まれており、
    前記各バッテリの残量のうち少なくともいずれか一方のバッテリの残量が、前記各第1メモリ内の前記データ及び前記管理データを前記各第2メモリに退避させることができる第1閾値以上の場合、前記通常モードが選択され、
    前記各バッテリの残量の両方が前記第1閾値未満であって、かつ、前記各バッテリの残量のうち少なくともいずれか一方のバッテリの残量が前記各第1メモリ内の前記管理データを前記第2メモリに退避させることができる第2閾値以上の場合、前記ライトスルーモードが選択され、
    前記各バッテリの残量の両方が前記第2閾値未満であって、かつ、所定時間が経過する前は、前記アクセス不可モードが選択される、
    憶制御装置。
  3. 前記各バッテリの残量の両方が前記第2閾値未満であって、かつ、前記所定時間が経過した場合は、前記アクセス不可モードから前記ライトスルーモードに切り換えられる、
    請求項に記載の記憶制御装置。
  4. 前記各制御部は、自分の属するクラスタにおいて、
    前記バッテリへの入力電圧が停止した場合、前記第1メモリに記憶されている前記データ及び前記管理データを前記第2メモリに転送させる退避処理を開始し、
    前記バッテリへの入力電圧が回復した場合であって、前記バッテリの残量が前記各第1メモリ内の前記データ及び前記管理データを前記各第2メモリに退避させることができる第1閾値以上の場合は、前記退避処理を中止し、
    前記バッテリへの入力電圧が回復した場合であって、前記バッテリの残量が前記第1閾値未満の場合は、前記退避処理を継続する、
    請求項に記載の記憶制御装置。
  5. 前記第1メモリに搭載される前記データメモリの数に応じて、前記第1閾値を設定する、請求項に記載の記憶制御装置。
  6. 前記第1メモリに搭載される前記管理データメモリの数に応じて、前記第2閾値を設定する、請求項に記載の記憶制御装置。
  7. 前記各制御部は、前記各クラスタのうち自分の属するクラスタのバッテリを交換する場合、相手方の制御部の有する前記第1閾値を所定値だけ増加させる、請求項に記載の記憶制御装置。
  8. 記憶制御装置の動作モードを制御するための方法であって、
    前記記憶制御装置は、複数クラスタによる冗長構成を備えており、
    前記各クラスタは、
    上位装置と通信するための第1通信制御部と、
    データを記憶する記憶装置と通信するための第2通信制御部と、
    前記第1通信制御部及び前記第2通信制御部により共用されるメモリ部と、
    を含み、
    前記各クラスタ内の前記メモリ部は、
    揮発性を有する第1メモリであって、データを記憶するためのデータメモリと管理データを記憶するための管理データメモリとを備える第1メモリと、
    前記第1メモリに電力を供給するバッテリと、
    不揮発性を有する第2メモリと、
    を含み、
    前記動作モードには、
    前記上位装置からのライトデータを前記データメモリに記憶させた時点でライト処理完了を前記上位装置に通知するという通常モードと、
    前記上位装置からのライトデータを前記データメモリ及び前記記憶装置にそれぞれ記憶させた後でライト処理完了を前記上位装置に通知するというライトスルーモードと、
    前記上位装置からのアクセスを禁止するアクセス不可モードと、
    が含まれており、
    前記各バッテリの残量のうち少なくともいずれか一方のバッテリの残量が、前記各第1メモリ内の前記データ及び前記管理データを前記各第2メモリに退避させることができる第1閾値以上の場合、前記通常モードが選択され、
    前記各バッテリの残量の両方が前記第1閾値未満であって、かつ、前記各バッテリの残量のうち少なくともいずれか一方のバッテリの残量が前記各第1メモリ内の前記管理データを前記第2メモリに退避させることができる第2閾値以上の場合、前記ライトスルーモードが選択され、
    前記各バッテリの残量の両方が前記第2閾値未満であって、かつ、所定時間が経過する前は、前記アクセス不可モードが選択される、
    記憶制御装置の動作モード制御方法。
  9. 前記各バッテリの残量の両方が前記第2閾値未満であって、かつ、前記所定時間が経過した場合は、前記アクセス不可モードから前記ライトスルーモードに切り換えられる、
    請求項に記載の記憶制御装置の動作モード制御方法。
  10. 前記第1メモリに搭載される前記データメモリの数に応じて、前記第1閾値を設定する、請求項に記載の記憶制御装置の動作モード制御方法。
  11. 前記各バッテリのうちいずれか一方のバッテリを交換する場合、前記各クラスタのうち交換対象のバッテリを備えていないクラスタについての前記第1閾値を所定値だけ増加させる、請求項に記載の記憶制御装置の動作モード制御方法。
JP2013502032A 2010-08-27 2010-08-27 記憶制御装置及び記憶制御装置の動作モード制御方法 Expired - Fee Related JP5514364B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/005305 WO2012025972A1 (en) 2010-08-27 2010-08-27 Storage control apparatus and operating mode control method of storage control apparatus

Publications (2)

Publication Number Publication Date
JP2013528843A JP2013528843A (ja) 2013-07-11
JP5514364B2 true JP5514364B2 (ja) 2014-06-04

Family

ID=43920030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013502032A Expired - Fee Related JP5514364B2 (ja) 2010-08-27 2010-08-27 記憶制御装置及び記憶制御装置の動作モード制御方法

Country Status (3)

Country Link
US (1) US9009417B2 (ja)
JP (1) JP5514364B2 (ja)
WO (1) WO2012025972A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012203583A (ja) * 2011-03-24 2012-10-22 Toshiba Corp 情報処理装置およびプログラム
US8667331B2 (en) * 2011-06-16 2014-03-04 Hitachi, Ltd. Storage system and control method for storing write data requested by a host computer
JP2013196494A (ja) * 2012-03-21 2013-09-30 Toshiba Corp メモリシステム
US9298252B2 (en) * 2012-04-17 2016-03-29 SMART Storage Systems, Inc. Storage control system with power down mechanism and method of operation thereof
EP2884624B1 (en) * 2012-08-13 2022-05-04 Kyocera Corporation Energy management device, and energy-management-device control method
US9141505B1 (en) * 2012-09-27 2015-09-22 Emc Corporation Adaptive failure survivability in a storage system using save time and data transfer after power loss
JP6237637B2 (ja) * 2012-10-16 2017-11-29 ソニー株式会社 電子機器、電子機器の充電制御方法、電子機器のバッテリ残量表示方法、ソース機器およびシンク機器
US9348390B2 (en) 2013-05-03 2016-05-24 International Business Machines Corporation Dynamically adjusting power disturbance hold up times
US9440086B2 (en) 2013-09-11 2016-09-13 Medtronic, Inc. Optimized flash memory device for miniaturized devices
US9323637B2 (en) 2013-10-07 2016-04-26 Sandisk Enterprise Ip Llc Power sequencing and data hardening architecture
US9250676B2 (en) 2013-11-29 2016-02-02 Sandisk Enterprise Ip Llc Power failure architecture and verification
US9665451B2 (en) 2014-10-07 2017-05-30 Sandisk Technologies Llc Method and device for distributing holdup energy to memory arrays
TW201626229A (zh) * 2015-01-05 2016-07-16 致伸科技股份有限公司 具有外接式電池之電子裝置
JP6536160B2 (ja) * 2015-04-30 2019-07-03 富士通株式会社 ストレージシステム、制御装置および制御プログラム
US9891695B2 (en) 2015-06-26 2018-02-13 Intel Corporation Flushing and restoring core memory content to external memory
JP6524889B2 (ja) * 2015-11-05 2019-06-05 富士通株式会社 ストレージシステムおよび監視装置
US10649896B2 (en) 2016-11-04 2020-05-12 Samsung Electronics Co., Ltd. Storage device and data processing system including the same
JP2018106573A (ja) 2016-12-28 2018-07-05 富士通株式会社 ストレージ制御装置及び制御プログラム
US10579526B2 (en) * 2017-02-08 2020-03-03 Arm Limited Responding to snoop requests
JP6820905B2 (ja) * 2017-12-29 2021-01-27 ゴゴロ インク 交換可能エネルギー貯蔵装置ステーションを管理するためのシステムおよび方法
US10656848B2 (en) 2018-06-17 2020-05-19 International Business Machines Corporation Data loss avoidance in multi-server storage systems
JP2020098124A (ja) * 2018-12-17 2020-06-25 セイコーエプソン株式会社 電子機器、バッテリー状態表示方法および印刷装置
KR102921934B1 (ko) * 2020-11-16 2026-02-02 삼성전자 주식회사 스토리지 장치 및 그 동작 방법
KR20240097139A (ko) 2022-12-20 2024-06-27 삼성전자주식회사 스토리지 장치 및 그것의 복구 데이터 백업 방법
JP2024095192A (ja) * 2022-12-28 2024-07-10 株式会社日立製作所 マルチノードシステム及び電源制御方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2533612B2 (ja) 1988-05-16 1996-09-11 富士通株式会社 メモリのデ―タ保護方式
US5341493A (en) * 1990-09-21 1994-08-23 Emc Corporation Disk storage system with write preservation during power failure
US6052789A (en) 1994-03-02 2000-04-18 Packard Bell Nec, Inc. Power management architecture for a reconfigurable write-back cache
US5761705A (en) 1996-04-04 1998-06-02 Symbios, Inc. Methods and structure for maintaining cache consistency in a RAID controller having redundant caches
US6957355B2 (en) 2002-09-18 2005-10-18 Sun Microsystems, Inc. Method and system for dynamically adjusting storage system write cache based on the backup battery level
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
US10001826B2 (en) * 2009-01-15 2018-06-19 International Business Machines Corporation Power management mechanism for data storage environment
JP5402693B2 (ja) 2010-02-05 2014-01-29 富士通株式会社 ディスクアレイ装置の制御方法及びディスクアレイ装置

Also Published As

Publication number Publication date
WO2012025972A1 (en) 2012-03-01
US20120221801A1 (en) 2012-08-30
US9009417B2 (en) 2015-04-14
JP2013528843A (ja) 2013-07-11

Similar Documents

Publication Publication Date Title
JP5514364B2 (ja) 記憶制御装置及び記憶制御装置の動作モード制御方法
US8650419B2 (en) Storage apparatus and its control method
JP4758666B2 (ja) 記憶制御システム及び記憶制御方法
CN102741801B (zh) 存储控制装置和存储控制装置的控制方法
EP2350839B1 (en) A mass-storage system utilizing solid-state storage and non-solid-state storage
JP5906966B2 (ja) 制御装置、電力供給装置及び電力制御方法
US7707456B2 (en) Storage system
JP4884885B2 (ja) 記憶制御装置及び記憶制御装置の障害回復方法
US7454656B2 (en) Storage device and storage device power consumption control method
US8392756B2 (en) Storage apparatus and method of detecting power failure in storage apparatus
JP6331773B2 (ja) ストレージ制御装置、およびストレージ制御プログラム
US8850255B2 (en) Storage system control apparatus and control method for utilizing a relay unit of an abnormal control unit
JP7060789B2 (ja) 電子システム、情報処理装置および制御方法
CN111240903A (zh) 数据恢复方法及相关设备
JP2005267111A (ja) 記憶制御システム及び記憶制御システムの制御方法
EP2026208A2 (en) Storage control system and storage control method
WO2013046248A1 (en) Storage system and its control method
CN102754090A (zh) 包括多个微处理器的存储系统以及用于在该存储系统中分担处理的方法
CN108153617A (zh) 对于缓存数据的掉电保护方法和装置
JP2010033407A (ja) 仮想テープシステム
US8572336B2 (en) Storage control apparatus and storage control apparatus memory control method
JP4547440B2 (ja) 仮想テープシステム
JP5729084B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
JPH04195617A (ja) 記録再生装置および情報処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140328

R150 Certificate of patent or registration of utility model

Ref document number: 5514364

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees