JP7060789B2 - 電子システム、情報処理装置および制御方法 - Google Patents

電子システム、情報処理装置および制御方法 Download PDF

Info

Publication number
JP7060789B2
JP7060789B2 JP2018013726A JP2018013726A JP7060789B2 JP 7060789 B2 JP7060789 B2 JP 7060789B2 JP 2018013726 A JP2018013726 A JP 2018013726A JP 2018013726 A JP2018013726 A JP 2018013726A JP 7060789 B2 JP7060789 B2 JP 7060789B2
Authority
JP
Japan
Prior art keywords
batteries
power
electronic components
information processing
bbu
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
JP2018013726A
Other languages
English (en)
Other versions
JP2019133316A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018013726A priority Critical patent/JP7060789B2/ja
Priority to US16/222,394 priority patent/US10809788B2/en
Publication of JP2019133316A publication Critical patent/JP2019133316A/ja
Application granted granted Critical
Publication of JP7060789B2 publication Critical patent/JP7060789B2/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/263Arrangements for using multiple switchable power supplies, e.g. battery and AC
    • 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/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host 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
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/0063Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries with circuits adapted for supplying loads from the battery
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J9/00Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J9/00Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting
    • H02J9/04Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting in which the distribution system is disconnected from the normal source and connected to a standby source
    • H02J9/06Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting in which the distribution system is disconnected from the normal source and connected to a standby source with automatic change-over, e.g. UPS systems
    • H02J9/061Circuit arrangements for emergency or stand-by power supply, e.g. for emergency lighting in which the distribution system is disconnected from the normal source and connected to a standby source with automatic change-over, e.g. UPS systems for DC powered loads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/224Disk storage
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J2310/00The network for supplying or distributing electric power characterised by its spatial reach or by the load
    • H02J2310/10The network having a local or delimited stationary reach
    • H02J2310/18The network being internal to a power source or plant
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/0013Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries acting upon several batteries simultaneously or sequentially
    • 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)
  • Power Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Power Sources (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、電子システム、情報処理装置および制御方法に関する。
一般的に、情報処理装置は、外部電源から供給される電力によって稼働するが、このような情報処理装置に対して、停電対策用のバッテリが接続される場合がある。この構成により、停電が発生したとき、バッテリからの電力を利用して情報処理装置が所定の処理を実行できることが保証される。例えば、揮発性の記憶装置を備える情報処理装置は、停電が発生したとき、バッテリからの電力を利用して、揮発性の記憶装置に格納されたデータを不揮発性の記憶装置にコピーする。これにより、揮発性の記憶装置に格納されたデータの消失を防止できる。
また、バッテリを用いた次のような技術が提案されている。例えば、それぞれキャッシュメモリを有する2つのアレイ制御ユニットと、それぞれバッテリを有する2つの電源ユニットとが交差接続されたディスクアレイ装置が提案されている。また、例えば、バッテリ残量を監視し、バッテリ残量に基づいてキャッシュメモリ内のダーティデータの許容量を制御するようにしたRAID(Redundant Arrays of Inexpensive Disks)装置が提案されている。
特開2006-163455号公報 特開2006-313407号公報
ところで、複数の情報処理装置が存在する場合に、停電対策用のバッテリを情報処理装置ごとに個別に接続する構成を採用するケースがある。このようなケースにおいて、バッテリの故障に備えてバッテリを冗長化する方法としては、情報処理装置ごとに複数のバッテリを接続する方法が考えられる。しかし、この方法では、情報処理装置の数が多くなるほど、接続すべきバッテリの数も多くなり、バッテリのコストや設置スペースが増大するという問題がある。
また、このような問題は、情報処理装置に限らず、外部電源からの供給電力によって駆動するどのような電子部品についても発生する。
1つの側面では、本発明は、少数のバッテリを用いてバッテリを冗長化することが可能な電子システム、情報処理装置および制御方法を提供することを目的とする。
1つの案では、N台の電子部品(ただし、Nは2以上の整数)と、(N+1)台のバッテリと、N台の電子部品にそれぞれ対応付けて設けられたN台の選択回路とを有する電子システムが提供される。この電子システムにおいて、N台の電子部品のそれぞれは、(N+1)台のバッテリのうちの2台のバッテリに接続され、N台の電子部品のそれぞれに接続される2台のバッテリの組合せはすべて異なる。また、(N+1)台のバッテリのうち(N-1)台のバッテリのそれぞれは、N台の電子部品のうちの2台の電子部品に接続され、(N-1)台のバッテリのそれぞれに接続される2台の電子部品の組合せはすべて異なる。そして、N台の選択回路のそれぞれは、N台の電子部品のうち対応する電子部品に接続された2台のバッテリから出力される電力の少なくとも一方を、駆動電力として対応する電子部品に供給する。
また、1つの案では、電力の供給を受けて駆動する負荷と、負荷に供給する電力を制御する制御部と、を有する情報処理装置が提供される。ここで、情報処理装置を含むN台の情報処理装置(ただし、Nは2以上の整数)のそれぞれは、(N+1)台のバッテリのうちの2台のバッテリに接続され、N台の情報処理装置のそれぞれに接続される2台のバッテリの組合せはすべて異なる。また、(N+1)台のバッテリのうち(N-1)台のバッテリのそれぞれは、N台の情報処理装置のうちの2台の情報処理装置に接続され、(N-1)台のバッテリのそれぞれに接続される2台の情報処理装置の組合せはすべて異なる。さらに、N台の情報処理装置のそれぞれに対応付けてN台の選択回路が設けられ、N台の選択回路のそれぞれは、N台の情報処理装置のうち対応する情報処理装置に接続された2台のバッテリから出力される電力の少なくとも一方を、駆動電力として対応する情報処理装置に供給する。そして、制御部は、N台の選択回路のうち情報処理装置に対応する一の選択回路において、情報処理装置に接続された2台のバッテリのうちどのバッテリから出力される電力を負荷に供給するかを、(N+1)台のバッテリの故障発生状況に基づいて制御する。
さらに、1つの案では、上記の情報処理装置と同様の処理をコンピュータが実行する制御方法が提供される。
1つの側面では、少数のバッテリを用いてバッテリを冗長化できる。
第1の実施の形態に係る電子システムの構成例および動作例を示す図である。 第2の実施の形態に係るストレージシステムの構成例を示す図である。 BBUの設置に関する第1の比較例を示す図である。 BBUの設置に関する第2の比較例を示す図である。 BBUにおける復電後の充電量の例を示す図である。 第2の実施の形態におけるBBUの接続例を示す図である。 CMにおける受電回路の構成例を示す図である。 ストレージ装置における通信用のバスの接続例を示す図である。 BBUが故障した場合の接続例を示す図である。 BBUが故障した場合の制御パターンの例を示す図である。 BBUにおける復電後の充電量の例を示す図である。 CM増設後におけるBBUの接続例を示す図である。 CM増設後における通信用のバスの接続例を示す図である。 BBUが故障した場合の制御パターンの例を示す図である。 BBUが故障していない場合の接続例を示す図である。 BBUにおける復電後の充電量の例を示す図である。 BBUが故障していない場合の制御パターンの例を示す図である。 BBUが故障していない場合の制御パターンの他の例を示す図である。 CMが備える処理機能の構成例を示すブロック図である。 正常状態におけるCMの処理手順を示すフローチャートの例である。 停電発生時におけるCMの処理手順を示すフローチャートの例である。 復電時におけるCMの処理手順を示すフローチャートの例(その1)である。 復電時におけるCMの処理手順を示すフローチャートの例(その2)である。 第3の実施の形態に係るストレージ装置について示す図である。
以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る電子システムの構成例および動作例を示す図である。図1に示す電子システムは、2台以上の電子部品と、電子部品の数より1台多いバッテリとを含む。図1では例として、電子システムは、3台の電子部品1a~1cと、4台のバッテリ2a~2dとを含む。また、電子部品1a,1b,1cにそれぞれ対応付けられた選択回路3a,3b,3cが設けられている。
電子部品1a~1cは、外部から電力の供給を受けて動作する。本実施の形態では、電子部品1a~1cとバッテリ2a~2dとの間が以下の接続条件にしたがって接続されることで、電子部品1a~1cのそれぞれは、バッテリ2a~2dの少なくとも1つからの電力によって動作する。
電子部品1a~1cのそれぞれは、バッテリ2a~2dのうちの2台に接続される。ただし、電子部品1a~1cのそれぞれに接続される2台のバッテリの組合せは、すべて異なる。図1の例では、電子部品1aはバッテリ2a,2bに接続され、電子部品1bはバッテリ2b,2cに接続され、電子部品1cはバッテリ2c,2dに接続されている。
また、バッテリ2a~2dのうちの2台のバッテリ(全体の台数から2台を減算した台数のバッテリ)のそれぞれは、電子部品1a~1cのうちの2台に接続される。ただし、バッテリ2a~2dにそれぞれ接続される2台の電子部品の組合せは、すべて異なる。図1の例では、バッテリ2bは2台の電子部品1a,1bに接続され、バッテリ2cは2台の電子部品1b,1cに接続されている。一方、バッテリ2aは1台の電子部品1aにのみ接続され、バッテリ2dは1台の電子部品1cにのみ接続されている。
選択回路3aは、電子部品1aに接続された2台のバッテリ2a,2bから出力される電力の少なくとも一方を、駆動電力として電子部品1aに供給する。選択回路3bは、電子部品1bに接続された2台のバッテリ2b,2cから出力される電力の少なくとも一方を、駆動電力として電子部品1bに供給する。選択回路3cは、電子部品1cに接続された2台のバッテリ2c,2dから出力される電力の少なくとも一方を、駆動電力として電子部品1cに供給する。
なお、選択回路3a,3b,3cは、それぞれ電子部品1a,1b,1cの内部に設けられていてもよい。
上記構成の電子システムによれば、バッテリ2a~2dのうちどの1台が故障したとしても、選択回路3a~3cの切り替え制御により、電子部品1a~1cのそれぞれに対して、互いに異なる正常なバッテリからの電力を確実に供給できる。例えば、図1の下側に示すように、バッテリ2bが故障したとする。この場合、選択回路3aは、バッテリ2aからの電力を電子部品1aに供給する。選択回路3bは、バッテリ2cからの電力を電子部品1bに供給する。選択回路3cは、バッテリ2dからの電力を電子部品1cに供給する一方、バッテリ2cからの電力供給を遮断する。
また、図示しないが、バッテリ2aが故障した場合は、次のような制御が行われる。選択回路3aは、バッテリ2bからの電力を電子部品1aに供給する。選択回路3bは、バッテリ2cからの電力を電子部品1bに供給する。選択回路3cは、バッテリ2dからの電力を電子部品1cに供給する一方、バッテリ2cからの電力供給を遮断する。
また、バッテリ2cが故障した場合は、次のような制御が行われる。選択回路3aは、バッテリ2aからの電力を電子部品1aに供給する一方、バッテリ2bからの電力供給を遮断する。選択回路3bは、バッテリ2bからの電力を電子部品1bに供給する。選択回路3cは、バッテリ2dからの電力を電子部品1cに供給する。
また、バッテリ2dが故障した場合は、次のような制御が行われる。選択回路3aは、バッテリ2aからの電力を電子部品1aに供給する一方、バッテリ2bからの電力供給を遮断する。選択回路3bは、バッテリ2bからの電力を電子部品1bに供給する。選択回路3cは、バッテリ2cからの電力を電子部品1cに供給する。
このように、本実施の形態に係る電子システムによれば、バッテリ2a~2dのうちどの1台が故障したとしても、電子部品1a~1cのそれぞれに対して互いに異なる正常なバッテリからの電力を確実に供給できる。すなわち、電子部品より1台多いバッテリを用いて、バッテリを確実に冗長化できる。
また、例えば、電子部品を増設する場合には、その増設台数と同じ台数のバッテリ(および選択回路)が増設され、上記の接続条件にしたがって電子部品とバッテリとが接続されればよい。これによって、増設前と同様に、各電子部品に対して互いに異なる正常なバッテリからの電力を供給できる。
このように、本実施の形態に係る電子システムによれば、少数のバッテリを用いて、バッテリを確実に冗長化できる。
〔第2の実施の形態〕
次に、図1に示した電子部品1a~1cの一例としてストレージ制御装置を用いたストレージシステムについて説明する。
<システム構成>
図2は、第2の実施の形態に係るストレージシステムの構成例を示す図である。図2に示すストレージシステムは、ストレージ装置1000とホスト装置1100とを含む。ストレージ装置1000には、複数台のCM(Controller Module)と、1台以上のドライブ部と、複数台のPSU(Power Supply Unit)と、複数台のBBU(Battery Backup Unit)とが搭載されている。図2では例として、ストレージ装置1000には、2台のCM100a,100bと、2台のドライブ部200a,200bと、2台のPSU300a,300bと、3台のBBU310a~310cとが搭載されている。なお、後述するように、BBUは、CMの台数より1台多く搭載されている。
なお、CM100a,100bは、図1に示した電子部品1a~1cの一例である。また、BBU310a~310cは、図1に示したバッテリ2a~2dの一例である。
CM100a,100bは、ホスト装置1100に接続されている。CM100a,100bは、ホスト装置1100からの要求に応じて、ドライブ部200a,200bに搭載された記憶装置にアクセスするストレージ制御装置である。例えば、ドライブ部200a,200bに搭載された記憶装置の記憶領域を用いた論理ボリュームが、CM100a,100bのそれぞれに対して1つ以上設定される。CM100aは、自装置に設定された論理ボリュームに対するアクセス要求をホスト装置1100から受け付け、要求に応じたアクセス制御処理を実行する。CM100bも同様に、自装置に設定された論理ボリュームに対するアクセス要求をホスト装置1100から受け付け、要求に応じたアクセス制御処理を実行する。
CM100aは、CPU(Central Processing Unit)101a、RAM(Random Access Memory)102a、HDD(Hard Disk Drive)103aおよびバックアップメモリ104aを有する。
CPU101aは、CM100a全体を統括的に制御する。CPU101aは、例えば、1または複数のプロセッサを有する。RAM102aは、CM100aの主記憶装置である。RAM102aは、CPU101aに実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102aは、CPU101aによる処理に用いる各種データを記憶する。
HDD103aは、CM100aの補助記憶装置である。HDD103aには、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、CM100aは、補助記憶装置として、HDD103aの代わりにSSD(Solid State Drive)を備えていてもよい。
バックアップメモリ104aは、停電が発生した場合に、RAM102aに格納されていたデータの一部をバックアップするための不揮発性記憶装置である。本実施の形態では、RAM102aにキャッシュ領域が確保され、停電が発生すると、キャッシュ領域内のキャッシュデータのうち、ドライブ部200a,200bの記憶領域に書き込まれていないダーティデータがバックアップメモリ104aにバックアップされる。なお、バックアップメモリ104aは、例えば、NVRAM(Non-Volatile RAM)として実現される。
CM100bもCM100aと同様に、CPU101b、RAM102b、HDD103bおよびバックアップメモリ104bを有する。CPU101b、RAM102b、HDD103bおよびバックアップメモリ104bの機能は、それぞれCM100aのCPU101a、RAM102a、HDD103aおよびバックアップメモリ104aと同様であるので、ここでは説明を省略する。
ドライブ部200a,200bのそれぞれには、ホスト装置1100からのアクセス対象の記憶装置として、複数のHDDが搭載されている。例えば、ドライブ部200aには、HDD201,202,203,・・・が搭載されている。なお、ドライブ部200a,200bに搭載される記憶装置は、HDDに限らず、SSDなどの他の種類の不揮発性記憶装置であってもよい。
PSU300a,300bは、図示しない外部電源から供給された電力を受け付け、その電力を基にストレージ装置1000内の各部に対して電源を供給する。ストレージ装置1000では、PSUが冗長化されることで、PSUの故障による停電の発生確率が低減されている。
BBU310a~310cは、外部電源からの電力供給が停止された停電時において、CM100a,CM100bに電力を供給するためのバックアップ電源であり、それぞれバッテリを備えている。後述するように、停電時においては、BBU310a~310cのそれぞれは、CM100a,100bの少なくとも1つに対して電力を供給するように制御される。
ホスト装置1100は、例えば、種々の業務処理を実行するコンピュータである。なお、ホスト装置1100とCM100a,100bとの間は、例えば、ファイバチャネル(FC:Fibre Channel)やiSCSI(Internet Small Computer System Interface)などを用いたSAN(Storage Area Network)を介して接続される。
<キャッシュ領域を用いた書き込み制御>
ストレージ装置1000では、論理ボリュームに対するデータの書き込み制御において、キャッシュ領域が用いられる。具体的には、CM100aは、RAM102aにキャッシュ領域を確保し、書き込みデータの一部をキャッシュ領域に一時的に格納しながら、論理ボリュームに対するアクセスを制御する。CM100bも同様に、RAM102bにキャッシュ領域を確保し、読み書きするデータの一部をキャッシュ領域に一時的に格納しながら、論理ボリュームに対するアクセスを制御する。
外部電源から電力が正常に供給されている状態では、CM100a,100bは、ライトバック方式で論理ボリュームに対する書き込み制御を行う。すなわち、CM100a,100bは、ホスト装置1100から書き込みが要求された書き込みデータをキャッシュ領域に書き込み、ホスト装置1100に書き込み完了の応答を行う。そして、CM100a,100bは、キャッシュ領域への書き込み後の所定のタイミングにおいて、書き込みデータをキャッシュ領域からドライブ部200a,200bの記憶領域にコピーする(ライトバックする)。
一方、BBUは、停電が発生したときにCM100a,100bに電力を供給するために設けられている。CM100a,100bは、停電が発生すると、BBUからの電力を用いて、キャッシュ領域に含まれるダーティデータをバックアップメモリ104a,104bにそれぞれバックアップする。これにより、ダーティデータを保護し、その消失を防止する。
この後、外部電源からの電力供給が復旧する(復電する)と、CM100a,100bは、バックアップメモリに格納されたダーティデータの復旧処理を実行する。復旧処理では、例えば、バックアップメモリに格納されたダーティデータが、ドライブ部200a,200bの記憶領域に書き込まれる。また、BBUは、PSUから供給される電力によって充電される。
CM100a,100bは、ダーティデータの復旧処理が完了すると、ホスト装置1100からの要求に応じた論理ボリュームに対するアクセス制御を再開できる。ただし、CM100a,100bは、BBUの充電量が一定量に達するまでの間、ライトスルー方式で論理ボリュームに対する書き込み制御を行う。これは、BBUの充電量が一定量に達するまで、もし再度停電が発生した場合に、キャッシュ領域内のすべてのダーティデータをバックアップできることが保証されないからである。なお、ライトスルー方式では、CM100a,100bは、ホスト装置1100から書き込みが要求された書き込みデータを、キャッシュ領域に書き込むとともに、ドライブ部200a,200bの記憶領域にも書き込んだ後、ホスト装置1100に書き込み完了の応答を行う。
その後、CM100a,100bは、BBUの充電量が一定量に達すると、書き込み制御方式をライトスルー方式からライトバック方式に切り替える。ライトバック方式では、ライトスルー方式と比較して、ホスト装置1100からの書き込み要求に対する応答時間を短縮できる。換言すると、復電直後には、書き込み要求に対する応答性能が低い期間が生じることになる。
なお、ライトバック方式への切り替えタイミングを判定するためのバッテリ残量の閾値は、キャッシュ領域の大きさに応じて決まる。すなわち、キャッシュ領域全体のデータをバックアップメモリに転送するための必要最小限のバッテリ容量が、閾値に決定される。以下、この判定のためのバッテリ残量の閾値を「残量閾値TH」と記載する。そして、この残量閾値THと、復電直前におけるBBUのバッテリ残量とから、復電からライトバック方式に切り替えるまでの期間、すなわち、書き込み要求に対する応答性能が低い期間の長さが決まることになる。
<BBUの設置に関する比較例と、その課題>
次に、BBUを冗長化する上での課題について説明する。
停電発生時にBBUが故障していた場合、ダーティデータのバックアップが不可能となる。そのため、BBUの故障に備えてBBUが冗長化される。ここで、図3、図4を用いて、BBUの設置に関する比較例について説明する。
図3は、BBUの設置に関する第1の比較例を示す図である。なお、図3では、図2と共通の構成要素には同じ符号を付して示している。
図3に示すストレージ装置2001は、図2に示したストレージ装置1000と同様に、2台のCM100a,100bを有している。また、図2に示したストレージ装置1000と同様に、2台のドライブ部200a,200bと2台のPSU300a,300bも搭載されている。
PSU300a,300bは、5Vの電圧を有する電力(5V系電力)と12Vの電圧を有する電力(12V系電力)とを出力する。5V系電力はドライブ部200a,200bに供給され、12V系電力はCM100a,100bとBBUに供給される。この構成では、PSU300a,300bの一方が故障した場合、他方が5V系電力をドライブ部200a,200bに共通に供給し、12V電力をCM100a,100bに共通に供給できるようになっている。すなわち、PSUは、複数のCMに対して共通に設置されており、ストレージ装置単位で冗長化されている。
また、図3の例では、ストレージ装置2001には1台のBBU310a1が搭載されている。そして、BBU310a1は停電が発生すると、CM100a,100bに対して共通に電力を供給する。このように、BBU310a1は、複数台のCM100a,100bに対して共通に設置されているので、CM100a,100bの両方のキャッシュ領域に含まれるすべてのダーティデータをバックアップメモリに転送できるだけのバッテリ容量を有している。
このような構成において、故障に備えてBBUを冗長化する方法としては、図3に破線で示すように、CM100a,100bに対して共通に電力を供給するもう1台のBBU310b1を追加する方法が考えられる。この方法では、次のような利点がある。BBU310a1,310b1のいずれも、CM100a,100bの両方のキャッシュ領域に含まれるすべてのダーティデータを転送できるだけのバッテリ容量を有している。このため、どちらのBBUが故障した場合でも、他方のBBUからの電力によって、CM100a,100bの両方のキャッシュ領域に含まれるすべてのダーティデータをバックアップメモリに転送できる。
その一方で、次のような課題がある。BBU310a1,310b1のそれぞれのバッテリ容量が大きいので、BBUの冗長化によってコストが増大する。また、1つのBBUから複数のCMのそれぞれに対して電力を供給するための並列放電回路が、BBU310a,310bのそれぞれについて必要になるので、BBUの設置スペースが大きくなるという課題もある。
これに対して、次の図4に示すように、CM単位でBBUを冗長化する方法も考えられる。
図4は、BBUの設置に関する第2の比較例を示す図である。なお、図4では、図2、図3と共通の構成要素には同じ符号を付して示している。また、これ以降、CM100a、CM100bをそれぞれCM#0、CM#1と表記し、PSU300a、PSU300bをそれぞれPSU#0、PSU#1と表記し、BBU310a、BBU310b、BBU310c、BBU310dをそれぞれBBU#0、BBU#1、BBU#2、BBU#3と表記する場合がある。
図4に示すストレージ装置2002では、CM100a(CM#0)に電力を供給するためのBBU310a(BBU#0)と、CM100b(CM#1)に電力を供給するためのBBU310b(BBU#1)とが、個別に搭載されている。この構成によれば、BBU310a,310bは、それぞれ1台のCMのキャッシュ領域に含まれるダーティデータを転送できるだけのバッテリ容量を有していればよい。このため、図3の構成と比較して、個々のBBUのバッテリ容量を小さくすることができる。また、上記の並列放電回路が不要になるので、個々のBBUの内部構成が簡易になり、その設置スペースも小さくなる。
さらに、図3の構成(ただし、BBUが冗長でない場合の構成)と比較して、復電後にライトバック方式での書き込み制御を再開できるまでの時間を短縮できる可能性がある。以下、図5を用いてこの効果について説明する。
図5は、BBUにおける復電後の充電量の例を示す図である。ここでは、BBU#0,#1(BBU310a,310b)のそれぞれのバッテリ容量が同一であるものとし、前述の残量閾値THを、BBU#0,#1のそれぞれのバッテリ容量の70%とする。すなわち、バッテリ容量の70%に相当する電力により、CM#0,#1(CM100a,100b)のそれぞれが有するキャッシュ領域内のすべてのデータをバックアップメモリに転送できるものとする。また、停電の発生前(すなわち、バッテリの放電前)では、BBU#0,#1のそれぞれのバッテリ残量は100%であったとする。
ここで、CM#0のキャッシュ領域に含まれるダーティデータの量と、CM#1のキャッシュ領域に含まれるダーティデータの量とは、CM#0,#1のそれぞれにおけるアクセス制御の状態によって異なり、これらの量が大きくばらつく場合もある。このため、停電が発生してからCM#0,#1のそれぞれがダーティデータのバックアップ処理を完了するまでの時間は異なる場合が多く、その場合には、バックアップ処理完了後におけるBBU#0,#1のそれぞれのバッテリ残量も異なる値となる。
図5では例として、CM#0の方がダーティデータの量が多く、バックアップ処理完了後におけるBBU#0,#1のバッテリ残量は、それぞれ30%、50%になったとする。すなわち、BBU#0は、CM#0でのバックアップ処理の間に70%分の電力を放電し、BBU#1は、CM#1でのバックアップ処理の間に50%分の電力を放電する。
この場合、復電後にBBU#0に対して充電が必要な量(必要充電量)は、70%-30%=40%となる。一方、復電後にBBU#1に対して充電が必要な量(必要充電量)は、70%-50%=20%となるので、BBU#0よりBBU#1の方が、バッテリ残量が残量閾値THに短時間で到達する。BBUのバッテリ残量が残量閾値THに到達すれば、そのBBUに対応するCMの書き込み制御方式をライトスルー方式からライトバック方式に切り替えることができる。したがって、図5の例では、CM#0よりCM#1の方が、復電からライトバック方式に切り替えるまでの期間が短くなる。
一方、図3の構成(ただし、BBUが冗長でない場合の構成)では、図5におけるバッテリ容量の尺度に合わせて表現すると、BBU310a1の残量閾値THは70%×2=140%となる。そして、図3の構成では、CM100a,100bの各キャッシュ領域に含まれるダーティデータの量が異なっていたとしても、復電後には、BBU310a1のバッテリ残量が140%に相当する量に到達するまで、CM100a,100bの両方とも書き込み制御方式をライトバック方式に切り替えることができない。
このように、図4の構成によれば、CMのキャッシュ領域に含まれるダーティデータの量によっては、図3の構成と比較して、復電後にCMがライトバック方式での書き込み制御を再開できるまでの時間を短縮できる。
以下、図4に戻って説明を続ける。
図4の構成においてBBUを冗長化する方法としては、図4に破線で示すように、CM100aに電力を供給するためのもう1台のBBU310c(BBU#2)と、CM100bに電力を供給するためのもう1台のBBU310d(BBU#3)とを追加する方法が考えられる。この方法を採用することで、BBU310a~310dのうちのどれが故障しても、他のBBUからの電力によって、CM100a,100bの両方のキャッシュ領域に含まれるすべてのダーティデータをバックアップメモリに転送できる。
しかしながら、図3に示した冗長化方法と比較した場合、個々のBBUのコストや設置スペースは抑制できるものの、BBUの台数は多くなってしまう。このため、BBU全体のコストや設置スペースが大きくなる可能性がある。また、CMを1台増設するたびに、BBUを2台増設しなくてはならない。このため、CMを増設するほどBBUの台数も多くなり、コストや設置スペースが増大してしまう。
これに対し、下記で説明するように、第2の実施の形態に係るストレージ装置1000は、BBUの台数をCMの台数より1台多い台数に抑えつつ、図4の構成と同様な、復電後におけるライトバック方式への切り替え時間の短縮効果を得られるような構成を有する。
<第2の実施の形態に係るストレージ装置の詳細>
図6は、第2の実施の形態におけるBBUの接続例を示す図である。本実施の形態に係るストレージ装置1000には、CMの台数より1台だけ多い台数のBBUが搭載される。図6の例では、ストレージ装置1000には、2台のCM100a,100bと、3台のBBU310a~310cが搭載される。
また、CM100a,100bはそれぞれ、電力供給を受けるための入力端子IN0~IN2を備える。入力端子IN0は、PSUから12V系電力の供給を受けるための端子である。CM100a,100bのどちらの入力端子IN0も、PSU300a(PSU#0)からの電力供給と、PSU300b(PSU#1)からの電力供給のどちらも受けることが可能になっている。
一方、入力端子IN1,IN2は、BBUからの電力供給を受けるための端子である。図6の例では、BBUと入力端子IN1,IN2との間は、次のように配線されている。BBU310aの出力は、CM100aの入力端子IN1に接続される。BBU310bの出力は、CM100aの入力端子IN2と、CM100bの入力端子IN1の両方に接続される。BBU310cの出力は、CM100bの入力端子IN2に接続される。
なお、PSU300a,300bからの12V系電力は、BBU310a~310cにも供給される。したがって、外部電源から電力が正常に供給されている状態では、12V系電力によってBBU310a~310cが充電される。
図7は、CMにおける受電回路の構成例を示す図である。図7では、例としてCM100aの構成を示している。CM100aは、図7に示すような受電回路110を備える。この受電回路110は、図1に示した選択回路3a~3cの一例である。受電回路110は、入力端子IN0~IN2から供給される電力をCM100aの内部に伝達するための回路であり、ダイオード111,111a,111bとスイッチ112a,112bを備える。
ダイオード111は、PSUから入力端子IN0を介して供給された電力の逆流を防止する。ダイオード111aは、BBU310aから入力端子IN1を介して供給された電力の逆流を防止する。ダイオード111bは、BBU310bから入力端子IN2を介して供給された電力の逆流を防止する。
ダイオード111,111a,111bからの電力は、電源線113を介してCM100aの内部領域115aに供給される。内部領域115aには、停電直後に動作する必要があるデバイスが含まれる。このようなデバイスとしては、バックアップ処理を制御するCPU101a、バックアップ元となるRAM102a、バックアップ先となるバックアップメモリ104aがある。また、図示しないが、これらのデバイスを冷却するためのファンも、内部領域115aに含まれる。一方、入力端子IN0からの電力は、電源線114によって分岐され、CM100aの内部領域115bに供給される。内部領域115bには、停電時に動作する必要のないデバイスが含まれる。このようなデバイスとしては、HDD103a、外部装置(例えば、ホスト装置1100、ドライブ部200a,200bなど)と通信するためのインタフェース(I/F)105aなどがある。
スイッチ112aは、CPU101aの制御の下で、入力端子IN1とダイオード111aとの間の接続と切断とを切り替える。スイッチ112bは、CPU101aの制御の下で、入力端子IN2とダイオード111bとの間の接続と切断とを切り替える。このような構成により、停電が発生したとき、内部領域115aに含まれるデバイスを駆動するための駆動電力を、入力端子IN1からの電力と、入力端子IN2からの電力と、これらの両方からの電力とに切り替えることが可能になっている。
図示しないが、CM100bも、図7と同様の構成を有する受電回路110を備えている。
図8は、ストレージ装置における通信用のバスの接続例を示す図である。本実施の形態では、CM100aとCM100bとの間は、例えば、PCIe(Peripheral Component Interconnect express)バスを介して接続されて、互いに通信可能になっている。例えば、CM100a,100bは、他方のCMのキャッシュ領域に含まれるダーティデータの量を、PCIeバスを介して収集できる。また、CM100a,100bとBBU310a~310cとの間は、例えば、I2C(登録商標)バスを介して接続されて、互いに通信可能になっている。例えば、CM100a,100bは、BBU310a~310cのそれぞれのバッテリ残量を、I2Cバスを介して取得できる。
以上の図6~図8に示した構成により、ストレージ装置1000では次のような動作が行われる。
図9は、BBUが故障した場合の接続例を示す図である。図9では例として、BBU310aが故障した場合について示している。この場合、CM100a,100bのスイッチ112a,112bは次のように制御される。
CM100aは、スイッチ112aをオフ(切断状態)にし、スイッチ112bをオン(接続状態)にする。BBU310aの故障により、BBU310aから入力端子IN1に対する電力供給が停止している。そこで、スイッチ112bがオンになることで、CM100aは、BBU310bから入力端子IN2を介して供給される電力によって、バックアップ処理を実行できる。また、CM100bは、スイッチ112aをオフにし、スイッチ112bをオンにする。これにより、CM100bは、BBU310cから入力端子IN2を介して供給される電力によって、バックアップ処理を実行できる。
図10は、BBUが故障した場合の制御パターンの例を示す図である。図10に示す制御テーブル123aには、どのBBUが故障したとき、CM#0,#1(CM100a,100b)のそれぞれが備えるどの入力端子をオンにするかを示す制御パターンが登録されている。CM#0,#1は、例えば、この制御テーブル123aにしたがってスイッチ112a,112bを制御する。
図10に示すように、BBU#0(BBU310a)が故障した場合、CM#0は入力端子IN2をオンにし、CM#1は入力端子IN2をオンにする。BBU#1(BBU310b)が故障した場合、CM#0は入力端子IN1をオンにし、CM#1は入力端子IN2をオンにする。BBU#2(BBU310c)が故障した場合、CM#0は入力端子IN1をオンにし、CM#1は入力端子IN1をオンにする。なお、「入力端子IN1をオンにする」とは、スイッチ112aをオンにすることを意味し、「入力端子IN2をオンにする」とは、スイッチ112bをオンにすることを意味する。
このような制御により、どのBBUが故障した場合でも、各CMに対して個別のBBUからの電力を供給することができる。したがって、BBUの台数をCMの台数より1台だけ多い台数に抑えつつ、BBUが故障した場合でもすべてのCMがバックアップ処理を実行できる。また、次の図11で説明するように、CMのキャッシュ領域に含まれるダーティデータの量が少ないCMほど、復電後に書き込み制御方式をライトバック方式へ切り替えるまでの期間を短縮できる。
図11は、BBUにおける復電後の充電量の例を示す図である。この図11では、図9の例のように、ストレージ装置1000のBBU#0(BBU310a)が故障した状態で、停電が発生し、その後復電した場合について示す。BBU#0~#3(BBU310a~310c)のそれぞれのバッテリ容量は同一であるものとする。また、図5の場合と同様に、残量閾値THを各BBUのバッテリ容量の70%とする。
さらに、図5の場合と同様に、CM#1よりCM#0の方がダーティデータの量が多く、CM#0のバックアップ処理にはバッテリ容量の70%に相当する電力を要し、CM#1のバックアップ処理にはバッテリ容量の50%に相当する電力を要するものとする。この場合、図11に示すように、バックアップ処理完了後におけるBBU#1,#2のバッテリ残量は、それぞれ30%、50%になる。
復電後にBBU#1に対して充電が必要な量(必要充電量)は、70%-30%=40%となり、これは、図5に示したBBU#0の必要充電量と同じである。また、復電後にBBU#2に対して充電が必要な量(必要充電量)は、70%-50%=20%となり、これは、図5に示したBBU#1の必要充電量と同じである。したがって、CM#0,#1のそれぞれにおいて、復電から書き込み制御方式をライトバック方式に切り替えるまでの期間は、図5のケースと同じになり、CM#0よりCM#1の方がこの期間が短くなる。
次に、CMの増設について説明する。上記のストレージ装置1000では、CMを1台増設するごとに、BBUも1台増設すればよい。以下、ストレージ装置1000に対して2台のCMを増設した場合の例について説明する。
図12は、CM増設後におけるBBUの接続例を示す図である。図12では、2台のCM100c,100d(CM#2,#3)が増設された状態のストレージ装置1000を「ストレージ装置1000a」と表している。また、CM100c,100dの増設に伴い、ストレージ装置1000aには2台のBBU310d,310e(BBU#3,#4)が増設されている。
CM100c,100dも、CM100a,100bと同様に、入力端子IN0~IN2を備えている。また、CM100c,100dも、CM100a,100bと同様に、図7に示した受電回路110を備えており、受電回路110によって入力端子IN1,IN2からの入力をオン、オフできるようになっている。
CM100a~100dとBBU310a~310eとの間は、次のように配線される。BBU310aの出力は、CM100aの入力端子IN1に接続される。BBU310bの出力は、CM100aの入力端子IN2と、CM100bの入力端子IN1の両方に接続される。BBU310cの出力は、CM100bの入力端子IN2と、CM100cの入力端子IN1の両方に接続される。BBU310dの出力は、CM100cの入力端子IN2と、CM100dの入力端子IN1の両方に接続される。BBU310eの出力は、CM100dの入力端子IN2に接続される。
また、図12では例として、PSU300c,PSU300dも増設されている。PSU300a~300dからの12V系電力は、BBU310a~310cに加え、増設されたBBU310d,310eにも供給される。したがって、外部電源から電力が正常に供給されている状態では、12V系電力によってBBU310a~310eが充電される。
図13は、CM増設後における通信用のバスの接続例を示す図である。CM100a~100dは、PCIeバスを介して互いに接続されて、通信可能になっている。例えば、CM100a~100dは、他のCMのキャッシュ領域に含まれるダーティデータの量を、PCIeバスを介して収集できる。また、CM100a~100dとBBU310a~310eとの間は、I2Cバスを介して接続されて、互いに通信可能になっている。例えば、CM100a~100dは、BBU310a~310eのそれぞれのバッテリ残量を、I2Cバスを介して取得できる。
図14は、BBUが故障した場合の制御パターンの例を示す図である。図14に示す制御テーブル123bには、ストレージ装置1000aにおいて、どのBBUが故障したとき、CM#0~#3(CM100a~100d)のそれぞれが備えるどの入力端子をオンにするかを示す制御パターンが登録されている。CM#2,#3が増設された後、CM#0~#3は、例えば、この制御テーブル123bにしたがってスイッチ112a,112bを制御する。
図14に示すように、BBU#0(BBU310a)が故障した場合、CM#0~#3はいずれも入力端子IN2をオンにする。BBU#1(BBU310b)が故障した場合、CM#0は入力端子IN1をオンにし、CM#1~#3は入力端子IN2をオンにする。BBU#2(BBU310c)が故障した場合、CM#0,#1は入力端子IN1をオンにし、CM#2,#3は入力端子IN2をオンにする。BBU#3(BBU310d)が故障した場合、CM#0~#2は入力端子IN1をオンにし、CM#3は入力端子IN2をオンにする。BBU#4(BBU310d)が故障した場合、CM#0~#3はいずれも入力端子IN1をオンにする。
このような制御により、CM#2,#3の増設前と同様に、どのBBUが故障した場合でも、各CMに対して個別のBBUからの電力を供給することができる。したがって、BBUの台数をCMの台数より1台だけ多い台数に抑えつつ、BBUが故障した場合でもすべてのCMがバックアップ処理を実行できる。また、CMのキャッシュ領域に含まれるダーティデータの量が少ないCMほど、復電後に書き込み制御方式をライトバック方式へ切り替えるまでの期間を短縮できる。
ところで、上記構成のCM1000,1000aでは、どのBBUも故障していない場合、各CMに1台ずつのBBUから電力を供給させると1台のBBUが余剰となる。一方、CMのキャッシュ領域に含まれるダーティデータの量が多いほど、バックアップ処理にかかる時間が長くなり、バックアップ処理完了後におけるBBUのバッテリ残量は小さくなる。そして、復電後にバッテリ残量が残量閾値THに達するまでの時間が長くなり、書き込み制御方式をライトバック方式へ切り替えるまでの期間が長くなる。
そこで、本実施の形態では、BBUが故障していない場合、余剰のBBUの電力を、ダーティデータの量が最大のCMに供給する。これにより、当該CMには2台のBBUからの電力が供給されるので、バックアップ処理によるこれら2台のBBUの放電量を、1台のBBUを用いる場合の1/2に低減できる。その結果、復電後に書き込み制御方式をライトバック方式へ切り替えるまでの期間を短縮できる。
図15は、BBUが故障していない場合の接続例を示す図である。この図15では、図6に示したストレージ装置1000において、BBU310a~310cのいずれも正常に動作している場合について示している。また、CM100bのキャッシュ領域に含まれるダーティデータより、CM100aのキャッシュ領域に含まれるダーティデータの量の方が大きいものとする。この状態において停電が発生すると、CM100a,100bのスイッチ112a,112bは次のように制御される。
ダーティデータ量が最大であるCM100aは、スイッチ112a,112bの両方をオンにする。これにより、CM100aには、入力端子IN1,IN2を介してBBU310a,310bの両方から電力が供給される。このため、CM100aでのバックアップ処理によるBBU310a,310bのそれぞれの消費電力は、1台のBBUを用いた場合の1/2となる。一方、CM100bは、スイッチ112aをオフにし、スイッチ112bをオンにする。これにより、CM100bは、BBU310cから入力端子IN2を介して供給される電力によって、バックアップ処理を実行する。
図16は、BBUにおける復電後の充電量の例を示す図である。この図16では、図15の例のように、ストレージ装置1000のBBU#0~#2(BBU310a~310c)がいずれも故障していない状態で、停電が発生し、その後復電した場合について示す。BBU#0~#2のそれぞれのバッテリ容量は同一であるものとする。また、図11の場合と同様に、残量閾値THを各BBUのバッテリ容量の70%とする。
さらに、図11の場合と同様に、CM#1よりCM#0の方がダーティデータの量が多く、CM#0のバックアップ処理にはバッテリ容量の70%に相当する電力を要し、CM#1のバックアップ処理にはバッテリ容量の50%に相当する電力を要するものとする。そして、図15に示すように、BBU#0,#1からの電力がCM#0に供給され、BBU#2からの電力がCM#1に供給されるとする。
この場合、図16に示すように、バックアップ処理完了後におけるBBU#2のバッテリ残量は50%になるので、復電後にBBU#2に対して充電が必要な量(必要充電量)は、70%-50%=20%となる。したがって、CM#01において復電から書き込み制御方式をライトバック方式に切り替えるまでの期間は、20%分の充電にかかる時間となり、これは図11のケースと同じである。
一方、バックアップ処理完了後におけるBBU#0,#1のバッテリ残量はいずれも、100%-70%/2=65%となる。したがって、復電後にBBU#0,#1に対して充電が必要な量(必要充電量)はいずれも、70%-65%=5%となる。これにより、CM#0において復電から書き込み制御方式をライトバック方式に切り替えるまでの期間は、5%分の充電にかかる時間となり、20%分の充電が必要な図11のケースより大幅に短縮される。その結果、ホスト装置1100からの書き込み要求に対する応答性能を、復電から短時間で回復させることができる。
図17は、BBUが故障していない場合の制御パターンの例を示す図である。図17に示す制御テーブル124aには、ダーティデータ量が最大のCMがどのCMであるときに、CM#0,#1(CM100a,100b)のそれぞれが備えるどの入力端子をオンにするかを示す制御パターンが登録されている。CM#0,#1は、例えば、この制御テーブル124aにしたがってスイッチ112a,112bを制御する。
図17に示すように、CM#0のダーティデータ量が最大である場合、CM#0は入力端子IN1,IN2の両方をオンにし、CM#1は入力端子IN2だけをオンにする。一方、CM#1のダーティデータ量が最大である場合、CM#0は入力端子IN1だけをオンにし、CM#1は入力端子IN1,IN2の両方をオンにする。このような制御により、ダーティデータ量が最大のCMについて、復電から書き込み制御方式をライトバック方式に切り替えるまでの期間を短縮できる。
図18は、BBUが故障していない場合の制御パターンの他の例を示す図である。この図18では、図12に示した、4台のCM#0~#3(CM100a~100d)と5台のBBU#0~#4(BBU310a~310e)とを備えるストレージ装置1000aにおいて、BBUの故障が発生していない場合の制御パターンを示す。
すなわち、図18に示す制御テーブル124bには、ダーティデータ量が最大のCMがどのCMであるときに、CM#0~#3のそれぞれが備えるどの入力端子をオンにするかを示す制御パターンが登録されている。CM#0~#3は、例えば、この制御テーブル124bにしたがってスイッチ112a,112bを制御する。
図18に示すように、CM#0のダーティデータ量が最大である場合、CM#0は入力端子IN1,IN2の両方をオンにし、CM#1~#3は入力端子IN2だけをオンにする。CM#1のダーティデータ量が最大である場合、CM#0は入力端子IN1だけをオンにし、CM#1は入力端子IN1,IN2の両方をオンにし、CM#2,#3は入力端子IN2だけをオンにする。CM#2のダーティデータ量が最大である場合、CM#0,#1は入力端子IN1だけをオンにし、CM#2は入力端子IN1,IN2の両方をオンにし、CM#3は入力端子IN2だけをオンにする。CM#3のダーティデータ量が最大である場合、CM#0~#2は入力端子IN1だけをオンにし、CM#3は入力端子IN1,IN2の両方をオンにする。
以上のような制御により、CMの台数が増えた場合でも、ダーティデータ量が最大のCMについて、復電から書き込み制御方式をライトバック方式に切り替えるまでの期間を短縮できる。
次に、各CMの処理の詳細について説明する。
図19は、CMが備える処理機能の構成例を示すブロック図である。なお、図19では、例としてCM100aについて説明するが、CM100b~100dもCM100aと同様の処理機能を備える。
CM100aは、記憶部120、アクセス制御部131、電源制御部132およびバックアップ処理部133を有する。記憶部120は、RAM102aの記憶領域によって実現される。アクセス制御部131、電源制御部132およびバックアップ処理部133の処理は、例えば、CPU101aが所定のプログラムを実行することで実現される。
記憶部120には、論理ボリュームに対するアクセス制御において用いられるキャッシュ領域121が確保される。また、記憶部120には、キャッシュ管理情報122および制御テーブル123,124が記憶される。
キャッシュ管理情報122は、キャッシュ領域121の使用状況を管理するための情報である。キャッシュ管理情報122は、例えば、キャッシュ領域121内のキャッシュページごとのエントリを有し、各エントリには、キャッシュページに格納されているデータに関する情報が登録される。例えば、各エントリには、キャッシュページに格納されたデータがどの論理ボリュームのどのアドレスのデータかを示す情報や、そのデータがダーティデータであるか否かを示すフラグ情報などが登録される。この場合、キャッシュ領域121内のデータがダーティデータであるか否かは、キャッシュページを単位として判定される。
制御テーブル123は、BBUが故障している場合のスイッチ112a,112bの制御パターン(すなわち、入力端子IN1,IN2のオン、オフのパターン)を示す情報を保持する。例えば、ストレージ装置に2台のCMが搭載されている場合、制御テーブル123として、図10に示した制御テーブル123aが記憶される。また、ストレージ装置に4台のCMが搭載されている場合、制御テーブル123として、図14に示した制御テーブル123bが記憶される。
制御テーブル124は、BBUが故障していない場合のスイッチ112a,112bの制御パターンを示す情報を保持する。例えば、ストレージ装置に2台のCMが搭載されている場合、制御テーブル124として、図17に示した制御テーブル124aが記憶される。また、ストレージ装置に4台のCMが搭載されている場合、制御テーブル124として、図18に示した制御テーブル124bが記憶される。
なお、本実施の形態では、ストレージ装置に搭載されているすべてのCMの記憶部に、共通内容の制御テーブル123,124が記憶されるものとする。
アクセス制御部131は、キャッシュ領域121を利用しながら、ホスト装置1100からの要求に応じた所定の論理ボリュームに対するアクセスを制御する。アクセス制御部131は、外部電源から電力が正常に供給されている状態では、論理ボリュームに対する書き込みをライトバック方式で制御する。例えば、ホスト装置1100から論理ボリュームに対するデータの書き込みが要求された場合、アクセス制御部131は、書き込みデータをキャッシュ領域121に書き込み、ホスト装置1100に対して書き込み完了の応答を行う。そして、アクセス制御部131は、その後の所定のタイミングで、キャッシュ領域121に書き込んだ書き込みデータを、ドライブ部200a,200b内のHDDによる記憶領域のうち、論理ボリュームに対応する記憶領域に書き込む。
また、アクセス制御部131は、停電から復旧した直後では、論理ボリュームに対する書き込みをライトスルー方式で制御する。例えば、ホスト装置1100から論理ボリュームに対するデータの書き込みが要求された場合、アクセス制御部131は、書き込みデータをキャッシュ領域121に書き込むとともに、ドライブ部200a,200b内のHDDによる記憶領域のうち、論理ボリュームに対応する記憶領域にも書き込む。アクセス制御部131は、これらの書き込みが完了した後に、ホスト装置1100に対して書き込み完了の応答を行う。
電源制御部132は、ストレージ装置に搭載されたすべてのBBUの稼働状況と、ストレージ装置に搭載された他のすべてのCMの稼働状況を、定期的に監視する。また、電源制御部132は、CM100aを含む、ストレージ装置に搭載されたすべてのCMから、ダーティデータ量を定期的に収集する。電源制御部132は、BBUおよびCMの稼働状況や各CMのダーティデータ量に基づいて、スイッチ112a,112bを制御する。これにより、入力端子IN1,IN2のどれから電力の供給を受けるかが制御される。
また、電源制御部132は、停電から復帰したとき、電力供給元のBBUのバッテリ残量を監視し、バッテリ残量が残量閾値THに達した場合に、その旨をバックアップ処理部133に通知する。
バックアップ処理部133は、停電時において、キャッシュ領域121に格納されているキャッシュデータのうちのダーティデータを、バックアップメモリ104aにコピーする。また、バックアップ処理部133は、停電から復帰したとき、バックアップメモリ104aに格納されているダーティデータを、ドライブ部200a,200bの記憶領域に書き込む。
次に、CM100aの処理についてフローチャートを用いて説明する。なお、CM100b~100dも、CM100aと同様の処理を実行する。
まず、図20は、正常状態におけるCMの処理手順を示すフローチャートの例である。なお、正常状態とは、外部電源から電力が正常に供給されている状態を示す。CM100aは、正常状態において、図20に示す処理を一定時間ごとに実行する。なお、記憶部120には、ストレージ装置内のデバイスの状態を示すステータス情報が設定されているものとする。
[ステップS11]電源制御部132は、ストレージ装置に搭載されたすべてのBBUの稼働状況を示す情報を収集する。例えば、電源制御部132は、I2Cバスを介して各BBUに生存確認のための情報を送信し、その情報に対する応答を受信できた場合に、BBUが正常に動作していると判定する。
また、電源制御部132は、ストレージ装置に搭載された他のすべてのCMの稼働状況を示す情報を収集する。例えば、電源制御部132は、PCIeバスを介して各CMに生存確認のための情報を送信し、その情報に対する応答を受信できた場合に、CMが正常に動作していると判定する。
さらに、電源制御部132は、CM100aを含む、ストレージ装置に搭載されたすべてのCMから、キャッシュ領域に含まれるダーティデータの量を収集し、記憶部120に記録する。例えば、電源制御部132は、PCIeバスを介して、他のすべてのCMに対してダーティデータ量の送信を要求する。要求を受けたCMは、自装置のキャッシュ管理情報122に基づいてダーティデータ量を計算し、CM100aに送信する。また、CM100aの電源制御部132は、CM100aのキャッシュ管理情報122に基づいてCM100aのダーティデータ量も計算する。
[ステップS12]電源制御部132は、ステップS11で収集された、CMの稼働状況を示す情報に基づいて、故障しているCMがあるかを判定する。電源制御部132は、1台のCMが故障している場合、ステップS13の処理を実行し、故障しているCMがない場合、ステップS13の処理を実行する。
[ステップS13]電源制御部132は、記憶部120に設定されたステータス情報を、CMが故障しているCM異常状態であることを示すように更新する。そして、電源制御部132は、CM100a内のスイッチ112a,112bを両方ともオンにする。
[ステップS14]電源制御部132は、ステップS11で収集された、BBUの稼働状況を示す情報に基づいて、故障しているBBUがあるかを判定する。電源制御部132は、1台のBBUが故障している場合、ステップS15の処理を実行し、故障しているBBUがない場合、ステップS16の処理を実行する。
[ステップS15]電源制御部132は、記憶部120に設定されたステータス情報を、BBUが故障しているBBU異常状態であることを示すように更新する。そして、電源制御部132は、故障しているBBUの位置(どのBBUが故障しているか)に基づいて、CM100a内のスイッチ112a,112bを制御する。このとき、電源制御部132は、制御テーブル123に基づいて、スイッチ112a,112bをそれぞれオンにするか、オフにするかを判定する。
[ステップS16]電源制御部132は、記憶部120に設定されたステータス情報を、CMおよびBBUの故障が発生していない正常状態であることを示すように更新する。そして、電源制御部132は、CM100a内のスイッチ112a,112bを両方ともオンにする。
なお、PSUから電力が供給されているため、ステップS13,S15,S16においてスイッチがオンにされても、そのスイッチに接続されているBBUの電力は消費されない。
図21は、停電発生時におけるCMの処理手順を示すフローチャートの例である。CM100aの電源制御部132によってPSUからの電源供給が断絶したことが検知されると、図21の処理が実行される。
[ステップS21]電源制御部132は、記憶部120に設定されたステータス情報に基づいて、CM100aの現在の状態が正常状態かを判定する。電源制御部132は、正常状態の場合、ステップS22の処理を実行し、正常状態でない場合(CM異常状態またはBBU異常状態の場合)、ステップS24の処理を実行する。
[ステップS22]電源制御部132は、直近に実行された図20のステップS11の処理で収集された情報に基づいて、ダーティデータ量が最大のCMを判定する。
[ステップS23]電源制御部132は、ステップS22での判定結果に基づいて、CM100a内のスイッチ112a,112bを制御する。このとき、電源制御部132は、制御テーブル124に基づいて、スイッチ112a,112bをそれぞれオンにするか、オフにするかを判定する。
[ステップS24]電源制御部132は、図20のステップS13またはステップS15で制御されたスイッチ112a,112bの状態を維持する。
[ステップS25]電源制御部132は、バックアップ処理部133に対してバックアップ処理の開始を指示する。バックアップ処理部133は、指示に応じて、キャッシュ領域121のキャッシュデータのうちダーティデータを、記憶部120(RAM102a)からバックアップメモリ104aに転送して退避させる。このとき、バックアップ処理部133は、キャッシュ管理情報122に基づいて、キャッシュ領域121内のキャッシュデータの中からダーティデータを抽出する。また、電源制御部132は、キャッシュ管理情報122および制御テーブル123,124も、バックアップメモリ104aに転送して退避させる。
バックアップ処理が完了すると、CM100aはシャットダウンする。
図22、図23は、復電時におけるCMの処理手順を示すフローチャートの例である。外部電源からの電力供給が復旧すると、PSUからの電力供給が再開される。CM100aは、PSUからの電力によって起動すると、図22の処理を実行する。
[ステップS31]バックアップ処理部133は、バックアップメモリ104aに退避されたデータの復旧処理を実行する。具体的には、バックアップ処理部133は、バックアップメモリ104aにバックアップされたキャッシュ管理情報122および制御テーブル123,124を、記憶部120(RAM102a)に書き戻す。また、バックアップ処理部133は、キャッシュ管理情報122を参照しながら、バックアップメモリ104aに退避されたダーティデータを、ドライブ部200a,200bの記憶領域における所定の位置に書き込む。
[ステップS32]復旧処理が完了すると、その旨が電源制御部132を介してアクセス制御部131に伝達される。アクセス制御部131は、ホスト装置1100からの要求に応じた論理ボリュームに対するアクセス制御を開始する。このとき、アクセス制御部131は、書き込み制御をライトスルー方式で実行する。
[ステップS33]電源制御部132は、図20のステップS11と同様の手順で、ストレージ装置に搭載されたすべてのBBUの稼働状況、ストレージ装置に搭載された他のすべてのCMの稼働状況をそれぞれ示す情報と、CM100aを含む、ストレージ装置に搭載されたすべてのCMから、キャッシュ領域に含まれるダーティデータの量とを収集する。
この後、図23の処理が実行される。
[ステップS41]電源制御部132は、ステップS33で収集された、CMの稼働状況を示す情報に基づいて、故障しているCMがあるかを判定する。電源制御部132は、1台のCMが故障している場合、ステップS42の処理を実行し、故障しているCMがない場合、ステップS44の処理を実行する。
[ステップS42]電源制御部132は、CMが故障しているCM異常状態であることを示すステータス情報を、記憶部120に設定する。そして、電源制御部132は、CM100a内のスイッチ112a,112bを両方ともオンにする。
[ステップS43]電源制御部132は、CM100aに電力供給可能なBBUのバッテリ残量を、そのBBUから取得する。電源制御部132は、取得されたバッテリ残量が所定の閾値以上かを判定し、閾値に達していない場合、一定時間待機した後、ステップS43の処理を再度実行する。そして、電源制御部132は、取得されたバッテリ残量が閾値以上になると、ステップS49の処理を実行する。
ここで、「CM100aに電力供給可能なBBU」とは、オンになっているスイッチに対応する入力端子に接続されているBBUを指す。ステップS42においてスイッチ112a,112bの両方がオンになっているので、ステップS43では、入力端子IN1,IN2にそれぞれ接続されているBBU310a,310bのバッテリ残量が取得される。
また、判定に用いられる閾値は、隣接CMの状態によって決められる。隣接CMとは、ストレージ装置に搭載された各CMに対して順番に識別番号が付与された場合に、CM100aの1つ前および1つ後の識別番号を有するCMを指す。例えば、図12のようにCM100a~100dとBBU310a~310eとが接続され、CM100a,100b,100c,100dの順に識別番号が付与されたとする。この場合、CM100aの隣接CMはCM100bであり、CM100bの隣接CMはCM100a,100cであり、CM100cの隣接CMはCM100b,100dであり、CM100dの隣接CMはCM100cである。
CMが備える入力端子IN1,IN2のうちの少なくとも1つには、隣接CMと共通のBBUが接続されている。例えば、CM100aの入力端子IN2には、隣接CMであるCM100bと共通のBBU310bが接続されている。この場合に、隣接CMであるCM100bが故障しているとき、BBU310bからの電力をCM100aだけが受けることになる。この状態では、CM100aには入力端子IN1,IN2にそれぞれ接続されたBBU310a,310bの両方から独占的に電力供給を受けられる状態となっている。このため、BBU310a,310bのそれぞれのバッテリ残量が前述の残量閾値THの1/2に達すれば、CM100aは停電時にバックアップ処理を確実に実行できる。
したがって、ステップS43では、隣接CMが故障している場合、バッテリ残量がTH/2以上かが判定され、隣接CMが故障していない場合、バッテリ残量がTH以上かが判定される。なお、ステップS43では、CMに電力供給可能なBBUが2台存在するので、それら2台のBBUの両方のバッテリ残量が閾値以上かが判定される。
[ステップS44]電源制御部132は、ステップS33で収集された、BBUの稼働状況を示す情報に基づいて、故障しているBBUがあるかを判定する。電源制御部132は、1台のBBUが故障している場合、ステップS45の処理を実行し、故障しているBBUがない場合、ステップS47の処理を実行する。
[ステップS45]電源制御部132は、BBUが故障しているBBU異常状態であることを示すステータス情報を、記憶部120に設定する。そして、電源制御部132は、故障しているBBUの位置(どのBBUが故障しているか)に基づいて、CM100a内のスイッチ112a,112bを制御する。このとき、電源制御部132は、制御テーブル123に基づいて、スイッチ112a,112bをそれぞれオンにするか、オフにするかを判定する。
[ステップS46]電源制御部132は、CM100aに電力供給可能なBBUのバッテリ残量を、そのBBUから取得する。ステップS46では、BBUの故障が発生しているので、CM100aに電力供給可能なBBUは1台のみとなっている。電源制御部132は、取得されたバッテリ残量が残量閾値TH以上かを判定し、残量閾値THに達していない場合、一定時間待機した後、ステップS46の処理を再度実行する。そして、電源制御部132は、取得されたバッテリ残量が残量閾値TH以上になると、ステップS49の処理を実行する。
[ステップS47]電源制御部132は、CMおよびBBUの故障が発生していない正常状態であることを示すステータス情報を、記憶部120に設定する。そして、電源制御部132は、CM100a内のスイッチ112a,112bを両方ともオンにする。
[ステップS48]電源制御部132は、CM100aに電力供給可能なBBUのバッテリ残量を、そのBBUから取得する。ステップS48では、CM100aに電力供給可能なBBUは2台となっているので、それら2台のBBUからバッテリ残量が取得される。電源制御部132は、取得されたバッテリ残量が残量閾値TH以上かを判定し、少なくとも一方のBBUのバッテリ残量が残量閾値THに達していない場合、一定時間待機した後、ステップS48の処理を再度実行する。そして、電源制御部132は、両方のBBUのバッテリ残量が残量閾値TH以上になると、ステップS49の処理を実行する。
[ステップS49]ステップS43,S46,S48のいずれかの処理により、停電時のバックアップ処理の実行のために必要な最小限の電力がBBUに蓄積されていると判断されている。このため、電源制御部132は、ライトバック方式への切り替えを許可する旨をアクセス制御部131に通知する。通知を受けたアクセス制御部131は、論理ボリュームに対する書き込み制御方式を、ライトスルー方式からライトバック方式に切り替える。
〔第3の実施の形態〕
上記の第2の実施の形態では、ストレージ装置に搭載されたCMのそれぞれが、他のCMやBBUから収集された情報を用いて、自装置に設けられたスイッチ112a,112bの制御を行った。しかし、他の例として、ストレージ装置に搭載されたCMのうちの1台がマスタCMとなって、すべてのCMのスイッチ112a,112bを統括的に制御してもよい。以下、第3の実施の形態として、この場合の例を説明する。
図24は、第3の実施の形態に係るストレージ装置について示す図である。図24に示すストレージ装置1000bは、一例として、4台のCM100a~100dと5台のBBU310a~310eを備えている。また、CM100a~100dとBBU310a~310eとの間やCM間の接続関係は、図12、図13と同様であるとする。
図24は例として、CM100aがマスタCMに設定されているとする。この場合、CM100aは、BBU310a~310eのそれぞれの稼働状況を示す情報や、CM100a~100dのそれぞれの稼働状況を示す情報、CM100a~100dのそれぞれにおけるダーティデータ量を収集する。
そして、CM100aは、1台のCMが故障している場合には、スイッチ112a,112bを両方ともオンにするように、故障したCM以外のすべてのCMに指示する。また、CM100aは、1台のBBUが故障している場合には、制御テーブル123に基づいて、CM100a~100dのそれぞれに対してスイッチ112a,112bのオン、オフを指示するためのスイッチ制御信号を送信する。
さらに、CM100aは、すべてのCMおよびBBUが故障していない状態で停電が発生した場合、ダーティデータ量が最大のCMを判別する。そして、CM100aは、その判別結果と制御テーブル124とに基づいて、CM100a~100dのそれぞれに対してスイッチ112a,112bのオン、オフを指示するためのスイッチ制御信号を送信する。また、CM100aは、停電発生時には、CM100a~100dのそれぞれに対してバックアップ処理の開始を指示する。これにより、CM100a~100dのそれぞれにおいて、バックアップメモリに対するバックアップ処理が実行される。
一方、復電後には、CM100aは、BBU310a~310eのそれぞれの稼働状況を示す情報や、CM100a~100dのそれぞれの稼働状況を示す情報を収集する。また、CM100aは、BBU310a~310eのそれぞれのバッテリ残量を一定時間間隔で収集する。
CM100aは、1台のCMが故障している場合、および、いずれのCMおよびBBUも故障していない場合には、スイッチ112a,112bを両方ともオンにするように、故障したCM以外のすべてのCMに指示する。また、CM100aは、1台のBBUが故障している場合には、制御テーブル123に基づいて、CM100a~100dのそれぞれに対してスイッチ112a,112bのオン、オフを指示する。そして、CM100aは、稼働中のBBUのそれぞれのバッテリ残量と閾値との比較に基づくタイミングで、稼働中のCMのそれぞれに対して、書き込み制御方式をライトバック方式に切り替えるように指示する。なお、比較に用いられる閾値は、CMごとに図23のステップS43,S46,S48の手順で決定される。
以上の処理により、ストレージ装置1000bも、第2の実施の形態と同様に、BBUの台数をCMの台数より1台だけ多い台数に抑えつつ、BBUが故障した場合でもすべてのCMがバックアップ処理を実行できる。また、CMのキャッシュ領域に含まれるダーティデータの量が少ないCMほど、復電後に書き込み制御方式をライトバック方式へ切り替えるまでの期間を短縮できる。さらに、ダーティデータ量が最大のCMについて、復電から書き込み制御方式をライトバック方式に切り替えるまでの期間を短縮できる。
なお、上記の各実施の形態に示した装置(電子部品1a~1c、CM100a~100d)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク(BD)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD-ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
以上の各実施の形態に関し、さらに以下の付記を開示する。
(付記1) N台の電子部品(ただし、Nは2以上の整数)と、(N+1)台のバッテリと、前記N台の電子部品にそれぞれ対応付けて設けられたN台の選択回路とを有し、
前記N台の電子部品のそれぞれは、前記(N+1)台のバッテリのうちの2台のバッテリに接続され、前記N台の電子部品のそれぞれに接続される2台のバッテリの組合せはすべて異なり、
前記(N+1)台のバッテリのうち(N-1)台のバッテリのそれぞれは、前記N台の電子部品のうちの2台の電子部品に接続され、前記(N-1)台のバッテリのそれぞれに接続される2台の電子部品の組合せはすべて異なり、
前記N台の選択回路のそれぞれは、前記N台の電子部品のうち対応する電子部品に接続された2台のバッテリから出力される電力の少なくとも一方を、駆動電力として前記対応する電子部品に供給する、
電子システム。
(付記2) 前記(N+1)台のバッテリのうち一のバッテリが故障したとき、前記一のバッテリ以外のN台のバッテリと前記N台の電子部品との間で一対一で電力が授受されるように、前記N台の選択回路の動作が制御される、
付記1に記載の電子システム。
(付記3) 前記(N+1)台のバッテリが正常に動作している正常状態において、外部電源からの電力供給が停止した停電が発生したとき、前記N台の電子部品のうち一の電子部品に対して前記(N+1)台のバッテリのうち2台のバッテリから電力が供給され、残りの(N-1)台の電子部品に対して前記(N+1)台のバッテリのうち1台のバッテリから電力が供給されるように、前記N台の選択回路の動作が制御される、
付記1または2に記載の電子システム。
(付記4) 前記N台の電子部品のそれぞれは、制御部と、キャッシュ領域を含む揮発性メモリと、不揮発性メモリとを有し、
前記N台の電子部品のそれぞれは、記憶装置に対するアクセスを前記キャッシュ領域を用いて制御する制御装置であり、
前記N台の電子部品のそれぞれにおいて、前記制御部は、前記停電が発生したとき、前記対応する選択回路を介して供給される電力を用いて、前記キャッシュ領域に含まれるダーティデータを前記不揮発性メモリに書き込み、
前記正常状態において前記停電が発生したとき、前記N台の電子部品の中から、前記キャッシュ領域に含まれるダーティデータの量が最大の電子部品が、前記一の電子部品として選択される、
付記3に記載の電子システム。
(付記5) 前記外部電源からの電力供給が復旧したとき、
前記外部電源からの電力による前記(N+1)台のバッテリの充電が開始され、
前記N台の電子部品のそれぞれにおいて、前記制御部は、前記キャッシュ領域を用いた前記記憶装置に対するアクセス制御を、書き込み制御方式としてライトスルー方式を用いて再開し、接続されているバッテリの残量が所定量に達すると、前記書き込み制御方式をライトバック方式に切り替える、
付記4に記載の電子システム。
(付記6) 情報処理装置において、
電力の供給を受けて駆動する負荷と、
前記負荷に供給する電力を制御する制御部と、
を有し、
前記情報処理装置を含むN台の情報処理装置(ただし、Nは2以上の整数)のそれぞれは、(N+1)台のバッテリのうちの2台のバッテリに接続され、前記N台の情報処理装置のそれぞれに接続される2台のバッテリの組合せはすべて異なり、
前記(N+1)台のバッテリのうち(N-1)台のバッテリのそれぞれは、前記N台の情報処理装置のうちの2台の情報処理装置に接続され、前記(N-1)台のバッテリのそれぞれに接続される2台の情報処理装置の組合せはすべて異なり、
前記N台の情報処理装置のそれぞれに対応付けてN台の選択回路が設けられ、前記N台の選択回路のそれぞれは、前記N台の情報処理装置のうち対応する情報処理装置に接続された2台のバッテリから出力される電力の少なくとも一方を、駆動電力として前記対応する情報処理装置に供給し、
前記制御部は、前記N台の選択回路のうち前記情報処理装置に対応する一の選択回路において、前記情報処理装置に接続された2台のバッテリのうちどのバッテリから出力される電力を前記負荷に供給するかを、前記(N+1)台のバッテリの故障発生状況に基づいて制御する、
情報処理装置。
(付記7) 前記制御部は、前記(N+1)台のバッテリのうち一のバッテリが故障したとき、前記一のバッテリ以外のN台のバッテリと前記N台の情報処理装置との間で一対一で電力が授受されるように、前記一の選択回路の動作を制御する、
付記6に記載の情報処理装置。
(付記8) 前記制御部は、前記(N+1)台のバッテリが正常に動作している正常状態において、外部電源からの電力供給が停止した停電が発生したとき、前記N台の情報処理装置のうち一の情報処理装置に対して前記(N+1)台のバッテリのうち2台のバッテリから電力が供給され、残りの(N-1)台の情報処理装置に対して前記(N+1)台のバッテリのうち1台のバッテリから電力が供給されるように、前記一の選択回路の動作を制御する、
付記6または7に記載の情報処理装置。
(付記9) 前記N台の情報処理装置のそれぞれは、キャッシュ領域を含む揮発性メモリと、不揮発性メモリとを有し、記憶装置に対するアクセスを前記キャッシュ領域を用いて制御し、
前記制御部は、
前記停電が発生したとき、前記一の選択回路を介して供給される電力を用いて、前記キャッシュ領域に含まれるダーティデータを前記不揮発性メモリに書き込み、
前記正常状態において前記停電が発生した場合には、前記N台の電子部品の中から、前記キャッシュ領域に含まれるダーティデータの量が最大の電子部品が、前記一の電子部品として選択されるように、前記一の選択回路の動作を制御する、
付記8に記載の情報処理装置。
(付記10) 前記外部電源からの電力供給が復旧したとき、
前記外部電源からの電力による前記(N+1)台のバッテリの充電が開始され、
前記制御部は、前記キャッシュ領域を用いた前記記憶装置に対するアクセス制御を、書き込み制御方式としてライトスルー方式を用いて再開し、接続されているバッテリの残量が所定量に達すると、前記書き込み制御方式をライトバック方式に切り替える、
付記9に記載の情報処理装置。
(付記11) コンピュータが、前記コンピュータに含まれる負荷に供給する電力を制御する制御方法であって、
前記コンピュータを含むN台のコンピュータ(ただし、Nは2以上の整数)のそれぞれは、(N+1)台のバッテリのうちの2台のバッテリに接続され、前記N台のコンピュータのそれぞれに接続される2台のバッテリの組合せはすべて異なり、
前記(N+1)台のバッテリのうち(N-1)台のバッテリのそれぞれは、前記N台のコンピュータのうちの2台のコンピュータに接続され、前記(N-1)台のバッテリのそれぞれに接続される2台のコンピュータの組合せはすべて異なり、
前記N台のコンピュータのそれぞれに対応付けてN台の選択回路が設けられ、前記N台の選択回路のそれぞれは、前記N台のコンピュータのうち対応するコンピュータに接続された2台のバッテリから出力される電力の少なくとも一方を、駆動電力として前記対応するコンピュータに供給し、
前記電力の制御では、前記N台の選択回路のうち前記コンピュータに対応する一の選択回路において、前記コンピュータに接続された2台のバッテリのうちどのバッテリから出力される電力を前記負荷に供給するかを、前記(N+1)台のバッテリの故障発生状況に基づいて制御する、
制御方法。
1a~1c 電子部品
2a~2d バッテリ
3a~3c 選択回路

Claims (6)

  1. N台の電子部品(ただし、Nは2以上の整数)と、(N+1)台のバッテリと、前記N台の電子部品にそれぞれ対応付けて設けられたN台の選択回路とを有し、
    前記N台の電子部品のそれぞれは、前記(N+1)台のバッテリのうちの2台のバッテリに接続され、前記N台の電子部品のそれぞれに接続される2台のバッテリの組合せはすべて異なり、
    前記(N+1)台のバッテリのうち(N-1)台のバッテリのそれぞれは、前記N台の電子部品のうちの2台の電子部品に接続され、前記(N-1)台のバッテリのそれぞれに接続される2台の電子部品の組合せはすべて異なり、
    前記N台の選択回路のそれぞれは、前記N台の電子部品のうち対応する電子部品に接続された2台のバッテリから出力される電力の少なくとも一方を、駆動電力として前記対応する電子部品に供給
    前記(N+1)台のバッテリが正常に動作している正常状態において、外部電源からの前記N台の電子部品に対する電力供給が停止した停電が発生したとき、前記N台の電子部品のうち一の電子部品に対して前記(N+1)台のバッテリのうち2台のバッテリから電力が供給され、残りの(N-1)台の電子部品に対して前記(N+1)台のバッテリのうち1台のバッテリから電力が供給されるように、前記N台の選択回路の動作が制御される、
    電子システム。
  2. 前記(N+1)台のバッテリのうち一のバッテリが故障したとき、前記一のバッテリ以外のN台のバッテリと前記N台の電子部品との間で一対一で電力が授受されるように、前記N台の選択回路の動作が制御される、
    請求項1に記載の電子システム。
  3. 前記N台の電子部品のそれぞれは、制御部と、キャッシュ領域を含む揮発性メモリと、不揮発性メモリとを有し、
    前記N台の電子部品のそれぞれは、記憶装置に対するアクセスを前記キャッシュ領域を用いて制御する制御装置であり、
    前記N台の電子部品のそれぞれにおいて、前記制御部は、前記停電が発生したとき、前記対応する選択回路を介して供給される電力を用いて、前記キャッシュ領域に含まれるダーティデータを前記不揮発性メモリに書き込み、
    前記正常状態において前記停電が発生したとき、前記N台の電子部品の中から、前記キャッシュ領域に含まれるダーティデータの量が最大の電子部品が、前記一の電子部品として選択される、
    請求項に記載の電子システム。
  4. 前記外部電源からの電力供給が復旧したとき、
    前記外部電源からの電力による前記(N+1)台のバッテリの充電が開始され、
    前記N台の電子部品のそれぞれにおいて、前記制御部は、前記キャッシュ領域を用いた前記記憶装置に対するアクセス制御を、書き込み制御方式としてライトスルー方式を用いて再開し、接続されているバッテリの残量が所定量に達すると、前記書き込み制御方式をライトバック方式に切り替える、
    請求項に記載の電子システム。
  5. 情報処理装置において、
    電力の供給を受けて駆動する負荷と、
    前記負荷に供給する電力を制御する制御部と、
    を有し、
    前記情報処理装置を含むN台の情報処理装置(ただし、Nは2以上の整数)のそれぞれは、(N+1)台のバッテリのうちの2台のバッテリに接続され、前記N台の情報処理装置のそれぞれに接続される2台のバッテリの組合せはすべて異なり、
    前記(N+1)台のバッテリのうち(N-1)台のバッテリのそれぞれは、前記N台の情報処理装置のうちの2台の情報処理装置に接続され、前記(N-1)台のバッテリのそれぞれに接続される2台の情報処理装置の組合せはすべて異なり、
    前記N台の情報処理装置のそれぞれに対応付けてN台の選択回路が設けられ、前記N台の選択回路のそれぞれは、前記N台の情報処理装置のうち対応する情報処理装置に接続された2台のバッテリから出力される電力の少なくとも一方を、駆動電力として前記対応する情報処理装置に供給し、
    前記制御部は、
    前記N台の選択回路のうち前記情報処理装置に対応する一の選択回路において、前記情報処理装置に接続された2台のバッテリのうちどのバッテリから出力される電力を前記負荷に供給するかを、前記(N+1)台のバッテリの故障発生状況に基づいて制御
    前記(N+1)台のバッテリが正常に動作している正常状態において、外部電源からの前記N台の情報処理装置に対する電力供給が停止した停電が発生したとき、前記N台の情報処理装置のうち一の情報処理装置に対して前記(N+1)台のバッテリのうち2台のバッテリから電力が供給され、残りの(N-1)台の情報処理装置に対して前記(N+1)台のバッテリのうち1台のバッテリから電力が供給されるように、前記一の選択回路の動作を制御する、
    情報処理装置。
  6. コンピュータが、前記コンピュータに含まれる負荷に供給する電力を制御する制御方法であって、
    前記コンピュータを含むN台のコンピュータ(ただし、Nは2以上の整数)のそれぞれは、(N+1)台のバッテリのうちの2台のバッテリに接続され、前記N台のコンピュータのそれぞれに接続される2台のバッテリの組合せはすべて異なり、
    前記(N+1)台のバッテリのうち(N-1)台のバッテリのそれぞれは、前記N台のコンピュータのうちの2台のコンピュータに接続され、前記(N-1)台のバッテリのそれぞれに接続される2台のコンピュータの組合せはすべて異なり、
    前記N台のコンピュータのそれぞれに対応付けてN台の選択回路が設けられ、前記N台の選択回路のそれぞれは、前記N台のコンピュータのうち対応するコンピュータに接続された2台のバッテリから出力される電力の少なくとも一方を、駆動電力として前記対応するコンピュータに供給し、
    前記電力の制御では、
    前記N台の選択回路のうち前記コンピュータに対応する一の選択回路において、前記コンピュータに接続された2台のバッテリのうちどのバッテリから出力される電力を前記負荷に供給するかを、前記(N+1)台のバッテリの故障発生状況に基づいて制御
    前記(N+1)台のバッテリが正常に動作している正常状態において、外部電源からの前記N台のコンピュータに対する電力供給が停止した停電が発生したとき、前記N台のコンピュータのうち一のコンピュータに対して前記(N+1)台のバッテリのうち2台のバッテリから電力が供給され、残りの(N-1)台のコンピュータに対して前記(N+1)台のバッテリのうち1台のバッテリから電力が供給されるように、前記N台の選択回路の動作が制御される、
    制御方法。
JP2018013726A 2018-01-30 2018-01-30 電子システム、情報処理装置および制御方法 Active JP7060789B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018013726A JP7060789B2 (ja) 2018-01-30 2018-01-30 電子システム、情報処理装置および制御方法
US16/222,394 US10809788B2 (en) 2018-01-30 2018-12-17 Electronic system, information processing device, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018013726A JP7060789B2 (ja) 2018-01-30 2018-01-30 電子システム、情報処理装置および制御方法

Publications (2)

Publication Number Publication Date
JP2019133316A JP2019133316A (ja) 2019-08-08
JP7060789B2 true JP7060789B2 (ja) 2022-04-27

Family

ID=67391475

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018013726A Active JP7060789B2 (ja) 2018-01-30 2018-01-30 電子システム、情報処理装置および制御方法

Country Status (2)

Country Link
US (1) US10809788B2 (ja)
JP (1) JP7060789B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11416147B2 (en) * 2018-09-06 2022-08-16 International Business Machines Corporation Rack-power-controller-initiated data protection
US11550676B2 (en) 2018-09-06 2023-01-10 International Business Machines Corporation Hardware-management-console-initiated data protection
US11456615B2 (en) * 2019-03-29 2022-09-27 Intel Corporation Battery backup system redundancy
JP2020205664A (ja) * 2019-06-14 2020-12-24 マツダ株式会社 移動体の電源制御装置
US11030100B1 (en) * 2019-11-18 2021-06-08 International Business Machines Corporation Expansion of HBA write cache using NVDIMM
US11237611B2 (en) * 2020-05-08 2022-02-01 Dell Products L.P. Systems and methods for determining real-time workload power supply units and enhanced redundancy reporting

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000152496A (ja) 1998-10-30 2000-05-30 Hewlett Packard Co <Hp> 電源をセグメント又はリングに接続することによって冗長電力を供給する方法及び装置
JP2010026941A (ja) 2008-07-23 2010-02-04 Hitachi Ltd 複数のバッテリモジュールを有するストレージシステム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7114658B2 (en) * 2004-10-08 2006-10-03 Lsi Logic Corporation Intelligent transportable memory apparatus and method for charging a battery for a memory in an intelligent transportable memory apparatus
JP4392660B2 (ja) 2004-12-02 2010-01-06 日本電気株式会社 冗長化システムの電源バックアップ方法および装置
JP4561462B2 (ja) 2005-05-06 2010-10-13 富士通株式会社 ダーティデータ処理方法、ダーティデータ処理装置およびダーティデータ処理プログラム
JP4662550B2 (ja) * 2005-10-20 2011-03-30 株式会社日立製作所 ストレージシステム
GB2468137A (en) * 2009-02-25 2010-09-01 Advanced Risc Mach Ltd Blade server with on board battery power

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000152496A (ja) 1998-10-30 2000-05-30 Hewlett Packard Co <Hp> 電源をセグメント又はリングに接続することによって冗長電力を供給する方法及び装置
JP2010026941A (ja) 2008-07-23 2010-02-04 Hitachi Ltd 複数のバッテリモジュールを有するストレージシステム

Also Published As

Publication number Publication date
US20190235599A1 (en) 2019-08-01
JP2019133316A (ja) 2019-08-08
US10809788B2 (en) 2020-10-20

Similar Documents

Publication Publication Date Title
JP7060789B2 (ja) 電子システム、情報処理装置および制御方法
US8117376B2 (en) Storage system and control method thereof
US7607035B2 (en) Disk array apparatus and method for controlling the same
US7975168B2 (en) Storage system executing parallel correction write
US6654831B1 (en) Using multiple controllers together to create data spans
US8327069B2 (en) Storage system and storage control apparatus provided with cache memory group including volatile memory and nonvolatile memory
US20120233398A1 (en) Storage system and data management method
JP2004021989A (ja) データをバックアップする方法
JP2005276196A (ja) ドライブ故障に続いてドライブリカバリを行うためのシステムおよび方法
JP2011170589A (ja) ストレージ制御装置、ストレージ装置およびストレージ制御方法
JP2005301419A (ja) ディスクアレイ装置およびそのデータ処理方法
JP2006031630A (ja) ストレージ装置及びストレージ装置の消費電力制御方法
US20100115310A1 (en) Disk array apparatus
US11409471B2 (en) Method and apparatus for performing data access management of all flash array server
US20180018245A1 (en) Storage system and management apparatus
WO2021088367A1 (zh) 数据恢复方法及相关设备
JP2010049637A (ja) 計算機システム、ストレージシステム及び構成管理方法
JP2000357059A (ja) ディスクアレイ装置
US20190073147A1 (en) Control device, method and non-transitory computer-readable storage medium
US9047232B2 (en) Storage apparatus and controlling method for data transmission based on control information
US20230244385A1 (en) Storage apparatus and control method
US10528275B2 (en) Storage system, storage control device, and method of controlling a storage system
US11385815B2 (en) Storage system
JP5773446B2 (ja) 記憶装置、冗長性回復方法、およびプログラム
JP7060806B2 (ja) 情報処理装置、データ管理方法およびデータ管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201110

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20201126

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20201126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211012

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220328

R150 Certificate of patent or registration of utility model

Ref document number: 7060789

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150