JP2019046283A - 制御装置、バックアップ処理方法およびプログラム - Google Patents

制御装置、バックアップ処理方法およびプログラム Download PDF

Info

Publication number
JP2019046283A
JP2019046283A JP2017170088A JP2017170088A JP2019046283A JP 2019046283 A JP2019046283 A JP 2019046283A JP 2017170088 A JP2017170088 A JP 2017170088A JP 2017170088 A JP2017170088 A JP 2017170088A JP 2019046283 A JP2019046283 A JP 2019046283A
Authority
JP
Japan
Prior art keywords
backup
data
backup target
volatile storage
storage 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.)
Pending
Application number
JP2017170088A
Other languages
English (en)
Inventor
裕一 小川
Yuichi Ogawa
裕一 小川
友幸 金山
Tomoyuki Kanayama
友幸 金山
友三 桑折
Yuzo Kuwaori
友三 桑折
知治 室
Tomoharu Muro
知治 室
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 JP2017170088A priority Critical patent/JP2019046283A/ja
Priority to US16/117,213 priority patent/US20190073147A1/en
Publication of JP2019046283A publication Critical patent/JP2019046283A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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 operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • 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/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2028Battery-backed RAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/608Details relating to cache mapping
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Power Sources (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Retry When Errors Occur (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】バックアップ電源部の電源容量の増加を抑制する。【解決手段】制御装置1は、制御部1a、制御部1aと対にして設けられる記憶部1a−1、制御部1bおよび制御部1bと対にして設けられる記憶部1b−1を備える。制御部1aは、記憶部1a−1に格納されるバックアップ対象データd1を制御部1bへ送信する。制御部1bは、バックアップ対象データd1を記憶部1b−1の非バックアップ対象領域r0にコピーするコピー処理を行う。また、制御部1aは、コピー処理の完了後、記憶部1a−1へのバックアップ電源供給と、自身へのバックアップ電源供給との少なくとも1つを遮断する。そして、制御部1bは、記憶部1b−1に格納されるバックアップ対象データd2と、バックアップ対象データd1とをバックアップ記憶部1cに転送してデータ退避処理を行う。【選択図】図1

Description

本発明は、制御装置、バックアップ処理方法およびプログラムに関する。
ストレージシステムは、コントローラと、複数の記憶装置とを備えて、情報処理で扱う大量のデータを記録管理する。コントローラには、CPU(Central Processing Unit)およびCPUとデータを授受するキャッシュメモリが含まれる。また、記憶装置には、例えば、HDD(Hard Disk Drive)や、HDDよりも高速なSSD(Solid State Drive)が用いられる。
一方、システムの通常動作中、停電等によってシステムへの電源供給が停止すると、揮発性のキャッシュメモリに格納されたキャッシュデータが消失する。このため、システムには、バックアップ電源部と、不揮発性のバックアップディスクが搭載される。
システムへの電源供給が停止した場合、キャッシュメモリに格納されたキャッシュデータがバックアップディスクに退避する間、バックアップ電源部からの給電が行われることで、キャッシュデータが保全される。
特開2008−225916号公報 特開2006−172355号公報 特開平9−160838号公報
近年の記憶装置の大容量化に伴って、記憶装置の増設時には、キャッシュメモリのメモリ容量も増加させて、ストレージシステムの性能向上が図られる。
しかし、キャッシュメモリのメモリ容量の増加に比例して、バックアップディスクへのキャッシュデータの退避時間が増加すると、増加した退避時間に応じて、バックアップ電源部の電源容量を増加させることになり、コストおよび装置規模を増大させる要因となる。
1つの側面では、本発明は、バックアップ電源部の電源容量の増加の抑制を図った制御装置、バックアップ処理方法およびプログラムを提供することを目的とする。
上記課題を解決するために、制御装置が提供される。制御装置は、第1の制御部と、第1の制御部と対にして設けられる第1の揮発性記憶部と、第2の制御部と、第2の制御部と対にして設けられる第2の揮発性記憶部とを備える。第1の制御部は、第1の揮発性記憶部に格納される第1のバックアップ対象データを第2の制御部へ送信し、第2の制御部は、第1のバックアップ対象データを第2の揮発性記憶部の非バックアップ対象領域にコピーするコピー処理を行い、第1の制御部は、コピー処理の完了後、第1の揮発性記憶部へのバックアップ電源供給と、当該第1の制御部へのバックアップ電源供給とのうち少なくとも1つを遮断し、第2の制御部は、第2の揮発性記憶部に格納される第2のバックアップ対象データと、第2の揮発性記憶部の非バックアップ対象領域にコピーされた第1のバックアップ対象データとを不揮発性記憶部に転送してデータ退避処理を行う。
また、上記課題を解決するために、コンピュータが上記制御装置と同様の制御を実行するバックアップ処理方法が提供される。
さらに、上記課題を解決するために、コンピュータに上記制御装置と同様の制御を実行させるプログラムが提供される。
1側面によれば、バックアップ電源部の電源容量の増加を抑制することが可能になる。
制御装置の構成の一例を示す図である。 バックアップ処理の一例を示す図である。 ストレージシステムの構成の一例を示す図である。 キャッシュメモリに記憶されるデータ内容の一例を示す図である。 ストレージ制御装置のハードウェア構成の一例を示す図である。 バックアップ処理の一例を示す図である。 バックアップ処理時のキャッシュメモリのデータ記憶イメージの一例を示す図である。 ストレージ制御装置のバックアップ処理の動作を示すシーケンス図である。 ストレージ制御装置のバックアップ処理の動作を示すシーケンス図である。 コピー領域を確保するための動作の一例を示すフローチャートである。 バックアップ電源部の電源容量に応じたバックアップ処理の可否判定動作の一例を示すフローチャートである。 ストレージシステムの構成の一例を示す図である。 ストレージ制御装置の構成の一例を示す図である。 バックアップ処理の一例を示す図である。 プロセッサが4個ある場合のストレージ制御装置の構成の一例を示す図である。 バックアップ処理の一例を示す図である。
以下、本実施の形態について図面を参照して説明する。
図1は制御装置の構成の一例を示す図である。制御装置1は、制御部1a(第1の制御部)、制御部1aと対にして設けられる記憶部1a−1(第1の揮発性記憶部)、制御部1b(第2の制御部)および制御部1bと対にして設けられる記憶部1b−1(第2の揮発性記憶部)を備える。
さらに、制御装置1は、バックアップ記憶部1c(不揮発性記憶部)と、バックアップ電源部1dを備える。バックアップ記憶部1cは、停電等による通常電源の供給停止時にデータをバックアップする不揮発性の記憶媒体である。バックアップ電源部1dは、通常電源の供給停止時に、バックアップ電源をバックアップ処理が行われる各構成部に供給する。
すなわち、制御部1a、1b、記憶部1a−1、1b−1およびバックアップ記憶部1cは、通常電源の供給停止時、バックアップ電源部1dから供給されるバックアップ電源で駆動する。なお、バックアップ記憶部1cおよびバックアップ電源部1dは、制御装置1の外部に配置される構成でもよい。
以下、図1の例を用いて、制御装置1のバックアップ処理の動作について説明する。
〔ステップS1〕停電等により制御装置1への通常電源の供給が停止された場合、制御部1a、1b、記憶部1a−1、1b−1およびバックアップ記憶部1cに対して、バックアップ電源部1dからバックアップ電源が供給される。
〔ステップS2〕制御部1aは、記憶部1a−1に格納されるバックアップ対象データd1(第1のバックアップ対象データ)を制御部1bへ送信する。
〔ステップS3〕制御部1bは、バックアップ対象データd1を記憶部1b−1の非バックアップ対象領域r0にコピーするコピー処理を行う。非バックアップ対象領域r0は、バックアップ対象データが書き込まれていない記憶領域である。
〔ステップS4〕制御部1aは、コピー処理の完了後、記憶部1a−1へのバックアップ電源供給と、自身(制御部1a)へのバックアップ電源供給とのうち少なくとも1つを遮断する。
〔ステップS5〕制御部1bは、記憶部1b−1に格納されるバックアップ対象データd2(第2のバックアップ対象データ)と、記憶部1b−1の非バックアップ対象領域r0にコピーされたバックアップ対象データd1とをバックアップ記憶部1cに転送してデータ退避処理を行う。
このように、制御装置1は、バックアップ処理時、制御部1a側の記憶部1a−1の記憶内容を、制御部1b側の記憶部1b−1にコピーする。そして、制御装置1は、コピー完了後に制御部1aおよび記憶部1a−1の少なくとも1つのバックアップ電源供給を遮断して、制御部1b側でデータバックアップを行う。
これにより、制御装置1は、バックアップ電源部1dの電源供給量を低減するので、記憶部1a−1、1b−1のメモリ容量増加時にもバックアップ電源部1dの電源容量の増加を抑制することが可能になる。
次に本発明の技術の詳細を説明する前に、キャッシュメモリのメモリ容量の増加に比例して、バックアップ電源部の電源容量の増設が行われる状態について説明する。
図2はバックアップ処理の一例を示す図である。コントローラ40は、プロセッサ41aと、プロセッサ41aの配下にあるキャッシュメモリ42aと、プロセッサ41bと、プロセッサ41bの配下にあるキャッシュメモリ42bとを含む。さらに、コントローラ40は、バックアップディスク43と、バックアップインタフェース部43aと、バックアップ電源部44とを含む。
プロセッサ41a、41bは、コントローラ40の全体制御を行う。キャッシュメモリ42a、42bは、プロセッサ41a、41bのプログラム実行に伴う各種データを記憶する。
キャッシュメモリ42a、42bとしては、例えば、DIMM(Dual Inline Memory Module)が使用される。DIMMは、複数のDRAM(Dynamic Random Access Memory)が基板上に搭載されたメモリモジュールである。
バックアップディスク43は、データをバックアップする。バックアップインタフェース部43aは、バックアップディスク43と、プロセッサ41aとの間に位置して、データ転送インタフェースを行う。バックアップ電源部44は、バックアップ電源をコントローラ40内の所定の構成部に供給する。
〔ステップS11〕バックアップ電源部44は、通常電源の供給停止時、プロセッサ41a、41bと、キャッシュメモリ42a、42bと、バックアップインタフェース部43aと、バックアップディスク43とにバックアップ電源を供給する。
〔ステップS12−1〕プロセッサ41aは、キャッシュメモリ42aからバックアップ対象データを読み出す。そして、プロセッサ41aは、バックアップインタフェース部43aを介して、読み出したバックアップ対象データをバックアップディスク43に書き込む。
〔ステップS12−2〕プロセッサ41bは、キャッシュメモリ42bからバックアップ対象データを読み出す。そして、プロセッサ41bは、バックアップインタフェース部43aを介して、読み出したバックアップ対象データをバックアップディスク43に書き込む。
〔ステップS13〕すべてのバックアップ対象データがバックアップディスク43に退避した後、バックアップ電源の供給が停止される。
ここで、キャッシュメモリ42a、42bそれぞれが2枚構成のDIMMを有し、1枚のDIMMの容量が64GB/DIMMとする。また、バックアップインタフェース部43aのバックアップディスク43に対するインタフェース速度が650MB/sであるとする。
この場合、バックアップ処理によるデータ退避にかかる時間は、394秒(=64GB×2(2枚のDIMM)×2(キャッシュメモリ42a、42bの2箇所)÷650MB/s)となる。
したがって、例えばシステムの初期構築時に、キャッシュメモリ42a、42bそれぞれに2枚構成のDIMMを設置した場合、データ退避時間が394秒分の間、バックアップ電源を供給することが可能な電源容量を持つバックアップ電源部44を設置することになる。
一方、キャッシュメモリ42a、42bが増設されて4枚構成のDIMMになった場合、バックアップ処理によるデータ退避にかかる時間は、788秒(=64GB×4(4枚のDIMM)×2(キャッシュメモリ42a、42bの2箇所)÷650MB/s)となる。
したがって、ストレージの容量増大に伴い、キャッシュメモリ42a、42bのメモリ容量も増大して、キャッシュメモリ42a、42bそれぞれ4枚構成のDIMMに増設した場合、バックアップ処理時のデータ退避時間が788秒となる。よって、バックアップ電源部44に対して、データ退避時間が788秒分の間、バックアップ電源を供給することが可能な電源容量まで増設することになる。
このように、キャッシュメモリのメモリ容量が増設された場合、バックアップディスクへのキャッシュデータの退避時間が該メモリ容量に比例して増加するので、バックアップ電源部の電源容量も増加させることになり、コストおよび装置規模が増大する。
本発明ではこのような点に鑑み、キャッシュメモリのメモリ容量が増設された場合であっても、バックアップ電源部の電源容量の増加の抑制を図るものである。
<システム構成>
以降、本発明の実施の形態について詳しく説明する。図3はストレージシステムの構成の一例を示す図である。ストレージシステム1−1は、サーバ2、ストレージ制御装置10およびストレージグループ3を備える。
ストレージ制御装置10は、プロセッサ11a、11b、キャッシュメモリ12a、12b、バックアップディスク13、バックアップインタフェース部13aを含む。さらに、ストレージ制御装置10は、バックアップ電源部14、ネットワークインタフェース部15a、15bおよびストレージインタフェース部16a、16bを含む。また、ストレージグループ3は、記憶装置3−1、・・・、3−4を含む。
各構成部の接続関係を示すと、プロセッサ11aとプロセッサ11bが互いに接続する。プロセッサ11aは、キャッシュメモリ12a、バックアップインタフェース部13a、ネットワークインタフェース部15aおよびストレージインタフェース部16aに接続する。
プロセッサ11bは、キャッシュメモリ12b、ネットワークインタフェース部15bおよびストレージインタフェース部16bに接続する。
バックアップディスク13は、バックアップインタフェース部13aに接続する。ストレージインタフェース部16aは、記憶装置3−1、3−2に接続し、ストレージインタフェース部16bは、記憶装置3−3、3−4に接続する。サーバ2は、ネットワークインタフェース部15a、15bに接続する。
ここで、プロセッサ11a−1、11b−1は、例えば、CPUまたはMPU(Micro Processing Unit)等であって、マルチプロセッサ構成をとり、ストレージ制御装置10内の機能全体を制御する。
キャッシュメモリ12a、12bは、ストレージ制御装置10のメインメモリとして利用され、プロセッサ11a、11bに実行させるプログラムの少なくとも一部や、このプログラムによる処理に必要な各種データを一時的に記憶する。キャッシュメモリ12a、12bには、例えば、DIMMが使用される。
バックアップディスク13は、停電等の通常電源の供給停止時、キャッシュメモリ12a、12bに記憶されるデータをバックアップするための不揮発性メモリのディスクである。バックアップディスク13には、例えば、SSDまたはHDDが使用される。
バックアップインタフェース部13aは、プロセッサ11aとバックアップディスク13との間で、キャッシュメモリ12a、12bに記憶されるデータの転送インタフェース制御を行う。
バックアップ電源部14は、通常電源の供給停止時に、キャッシュメモリ12a、12bに記憶されるデータがバックアップディスク13に退避するまでの時間、バックアップ対象部A0(図3中の点線枠)にバックアップ電源を供給する。バックアップ電源部14としては例えば、ニッケル・水素充電池が使用される。
バックアップ対象部A0には、プロセッサ11a、11b、キャッシュメモリ12a、12b、バックアップディスク13およびバックアップインタフェース部13aが含まれる。
ネットワークインタフェース部15a、15bは、サーバ2とプロセッサ11a、11bとのインタフェース制御を行う。ストレージインタフェース部16a、16bは、ストレージグループ3とのインタフェース制御を行う。
記憶装置3−1、・・・、3−4は、例えば、SSDやHDDであり、RAID(Redundant Array of Inexpensive Disks)構造によってディスクアレイ化されて耐障害性および可用性の確保が図られている。
<キャッシュメモリに記憶されるデータ内容>
図4はキャッシュメモリに記憶されるデータ内容の一例を示す図である。キャッシュメモリ12a、12bに記憶されるデータとしては、例えば、OS(Operating System)/アプリケーション、制御情報、ライトキャッシュ(Write Cache)データおよびリードキャッシュ(Read Cache)データがある。
制御情報は、例えば、装置構成情報や、仮想化環境における物理リソースと論理リソースとのマッピング情報等が含まれる。
ライトキャッシュデータは、キャッシュメモリ12a、12bをライトキャッシュとして使用した場合に格納されるデータである。すなわち、ストレージ制御装置10から転送されてストレージグループ3へ書き込むべきデータを一時格納するためのライトキャッシュとして使用された際に、キャッシュメモリ12a、12bに格納されるデータである。
リードキャッシュデータは、キャッシュメモリ12a、12bをリードキャッシュとして使用した場合に格納されるデータである。すなわち、ストレージグループ3から読み出されてストレージ制御装置10へ転送されるリードデータを一時格納するためのリードキャッシュとして使用された際に、キャッシュメモリ12a、12bに格納されるデータである。
ここで、キャッシュメモリ12a、12bに格納される上記データの内、通常電源の供給停止時にバックアップディスク13に退避するバックアップ対象データは、制御情報およびライトキャッシュデータになる。
なお、図3に示すように、OS/アプリケーションおよび制御情報は、キャッシュメモリ12a、12b内の特定の領域に格納される。これに対し、ライトキャッシュデータおよびリードキャッシュデータは、キャッシュメモリ12a、12b内の空き領域に逐次格納されるので、キャッシュメモリ12a、12b内に混在して格納される。
<ハードウェア構成>
図5はストレージ制御装置のハードウェア構成の一例を示す図である。ストレージ制御装置10は、プロセッサ100によって装置全体が制御されている。すなわち、プロセッサ100は、図3に示したプロセッサ11a、11bとして機能する。
プロセッサ100には、バス103を介してメモリ101と複数の周辺機器が接続されている。プロセッサ100は、図3で示したようにマルチプロセッサである。プロセッサ100は、例えば、CPU、MPU、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ100は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
メモリ101は、図3に示したキャッシュメモリ12a、12bの機能を実現し、ストレージ制御装置10の主記憶装置として使用される。メモリ101には、プロセッサ100に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ101には、プロセッサ100による処理に要する各種データが格納される。
さらに、メモリ101は、ストレージ制御装置10の補助記憶装置としても使用され、OSのプログラム、アプリケーションプログラム、および各種データが格納される。メモリ101は、補助記憶装置として、フラッシュメモリやSSD等の半導体記憶装置やHDD等の磁気記録媒体を含んでもよい。
バス103に接続されている周辺機器としては、入出力インタフェース102、ネットワークインタフェース104およびストレージインタフェース105がある。入出力インタフェース102は、プロセッサ100からの命令にしたがってシステム状態を表示する表示装置として機能するモニタ(例えば、LED(Light Emitting Diode)やLCD(Liquid Crystal Display)等)が接続されている。
また、入出力インタフェース102は、キーボードやマウス等の情報入力装置を接続可能であって、情報入力装置から送られてくる信号をプロセッサ100に送信する。
入出力インタフェース102は、周辺機器を接続するための通信インタフェースとして機能する。例えば、入出力インタフェース102は、レーザ光等を利用して、光ディスクに記録されたメッセージの読み取りを行う光学ドライブ装置を接続することができる。
光ディスクは、光の反射によって読み取り可能なようにメッセージが記録された可搬型の記録媒体である。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(Rewritable)等がある。
また、入出力インタフェース102は、メモリ装置やメモリリーダライタを接続することができる。メモリ装置は、入出力インタフェース102との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのメッセージの書き込み、またはメモリカードからのメッセージの読み出しを行う装置である。メモリカードは、カード型の記録媒体である。
ネットワークインタフェース104は、図3に示したサーバ2に接続し、図3のネットワークインタフェース部15a、15bの機能を実現する。ネットワークインタフェース104のプロトコルとしては例えば、FC(Fibre Channel)が使用される。ネットワークインタフェース104で受信された信号やデータ等は、プロセッサ100に出力される。
ストレージインタフェース105は、図3に示したストレージグループ3に接続し、図3のストレージインタフェース部16a、16bの機能を実現する。ストレージインタフェース105のプロトコルとしては、例えば、SAS(Serial Attached SCSI(Small Computer System Interface))が使用される。ストレージインタフェース105は、プロセッサ100と、ストレージグループ3との間でデータ転送を行う。
バックアップインタフェース106は、図3のバックアップインタフェース部13aの機能を実現する。バックアップインタフェース106のインタフェースプロトコルとしては、例えば、PCIe(Peripheral Component Interconnect Express)やSATA(Serial Advanced Technology Attachment)が使用される。
なお、バックアップ電源部14は、図5中図示していないが、ストレージ制御装置10内でバックアップ処理を行う各構成部に対してバックアップ電源ラインで接続され、通常電源の供給停止時には、バックアップ電源の供給を行う。
以上のようなハードウェア構成によって、ストレージ制御装置10の処理機能を実現することができる。例えば、ストレージ制御装置10は、プロセッサ100がそれぞれ所定のプログラムを実行することで、本発明のバックアップ処理を行うことができる。
ストレージ制御装置10は、例えば、コンピュータで読み取り可能な記録媒体に記録されたプログラムを実行することにより、本発明の処理機能を実現する。ストレージ制御装置10に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。
例えば、ストレージ制御装置10に実行させるプログラムを補助記憶装置に格納しておくことができる。プロセッサ100は、補助記憶装置内のプログラムの少なくとも一部を主記憶装置にロードし、プログラムを実行する。また、光ディスク、メモリ装置、メモリカード等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えば、プロセッサ100からの制御により、補助記憶装置にインストールされた後、実行可能となる。またプロセッサ100が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
<バックアップ処理>
次にストレージ制御装置10におけるバックアップ処理について説明する。図6はバックアップ処理の一例を示す図である。
〔ステップS21〕バックアップ電源部14は、通常電源の供給停止時、プロセッサ11a、11bと、キャッシュメモリ12a、12bと、バックアップインタフェース部13aと、バックアップディスク13とに電源を供給する。
〔ステップS22〕プロセッサ11aは、キャッシュメモリ12aからバックアップ対象データを読み出す。そして、プロセッサ11aは、バックアップインタフェース部13aを介して、読み出したバックアップ対象データをバックアップディスク13に書き込む。
〔ステップS23〕プロセッサ11bは、キャッシュメモリ12bからバックアップ対象データを読み出し、プロセッサ11aへ送信する。そして、プロセッサ11aは、プロセッサ11bから送信されたバックアップ対象データを受信し、受信したバックアップ対象データをキャッシュメモリ12aにコピーする。
〔ステップS24〕プロセッサ11bは、コピーの完了後に、キャッシュメモリ12bのバックアップ電源供給と、自身へのバックアップ電源供給とを遮断する。すなわち、プロセッサ11bとキャッシュメモリ12bに対するバックアップ電源がオフされる。
〔ステップS25〕プロセッサ11aは、キャッシュメモリ12aにコピーされたバックアップ対象データを読み出し、読み出したバックアップ対象データをバックアップディスク13に書き込む。
〔ステップS26〕プロセッサ11aは、すべてのバックアップ対象データのバックアップディスク13への書き込み完了後に、キャッシュメモリ12a、バックアップインタフェース部13aおよびバックアップディスク13に対するバックアップ電源供給を遮断する。さらに、プロセッサ11aは、自身へのバックアップ電源供給を遮断する。
すなわち、プロセッサ11a、キャッシュメモリ12a、バックアップインタフェース部13aおよびバックアップディスク13に対するバックアップ電源がオフされる。
<バックアップ処理時のキャッシュメモリのデータ記憶イメージ>
図7はバックアップ処理時のキャッシュメモリのデータ記憶イメージの一例を示す図である。図4で上述したように、キャッシュメモリ12a内の制御情報およびライトキャッシュデータがバックアップ対象データであり、かつキャッシュメモリ12b内の制御情報およびライトキャッシュデータがバックアップ対象データである。
キャッシュメモリ12a内の制御情報およびライトキャッシュデータは、バックアップディスク13に転送されてデータ退避される。また、キャッシュメモリ12b内の制御情報とライトキャッシュデータは、キャッシュメモリ12aに一旦コピーされた後にバックアップディスク13に転送されてデータ退避される。
なお、キャッシュメモリ12b内の制御情報とライトキャッシュデータは、キャッシュメモリ12a内の非バックアップ対象領域にコピーされる。この非バックアップ対象領域は、キャッシュメモリ12a内において、バックアップディスク13への退避が行われないリードキャッシュデータが格納されている場所に該当する。
キャッシュメモリ12a内の非バックアップ対象領域に、キャッシュメモリ12bのバックアップ対象データがコピーされることで、コピー処理時に、バックアップ対象データが破壊されることを防止することができる。
<バックアップ電源部の電源容量の増加抑制>
次に図6に示したバックアップ処理によってバックアップ電源部14の電源容量の増加が抑制されることを説明する。キャッシュメモリ12a、12bそれぞれが4枚構成のDIMMを有し、1枚のDIMMの容量が64GB/DIMMとする。
また、バックアップインタフェース部13aのバックアップディスク13に対するインタフェース速度が650MB/sとする。さらに、プロセッサ11aとプロセッサ11bとの間のインタフェース速度が11GB/sとする。
この場合、図6に示したステップS22とステップS25のバックアップ処理によるデータ退避時間は、788秒(=64GB×4(4枚のDIMM)×2(キャッシュメモリ12a、12bの2箇所)÷650MB/s)となる。
一方、図6に示したステップS23のコピー処理にかかる時間は、24秒(=64GB×4(4枚のDIMM)÷11GB/s)となる。
ここで、図2の場合のバックアップ処理と比較すると、バックアップ処理に要する全体時間は788秒と同じであるが、図2のキャッシュメモリ42bに対応するキャッシュメモリ12bのバックアップ処理時間は、図6では788秒から24秒に短縮されている。
したがって、キャッシュメモリ12bのバックアップ電源供給と、プロセッサ11bのバックアップ電源供給とを24秒後に遮断することができるので、その分、バックアップ電源部14の消費電力を低減することができる。
このように、ストレージ制御装置10は、バックアップ処理時、プロセッサ11b側のキャッシュメモリ12bの記憶内容を、プロセッサ11a側のキャッシュメモリ12aにコピーしてデータを片寄せしておく。
そして、ストレージ制御装置10は、コピー完了後のプロセッサ11bおよびキャッシュメモリ12bへのバックアップ電源供給を遮断して、プロセッサ11a側でデータバックアップを行う。
これにより、バックアップ電源部14の電源供給量が低減するので、キャッシュメモリのメモリ容量増加時にもバックアップ電源部14の電源容量の増加を抑制することが可能になる。
<動作シーケンス>
図8、図9はストレージ制御装置のバックアップ処理の動作を示すシーケンス図である。
〔ステップS30〕プロセッサ11aは、停電を検出する。
〔ステップS31〕プロセッサ11aは、プロセッサ11bに停電発生通知を送信し、プロセッサ11bは、停電発生を検出する。
〔ステップS32〕キャッシュメモリ12aに格納されている制御情報のバックアップディスク13へのバックアップ処理が行われる。
〔ステップS32a〕プロセッサ11aは、バックアップディスク13へ書き込み要求を送信した後に、制御情報をバックアップディスク13に転送する。なお、書き込み要求の送信および制御情報の転送は、メモリ管理バイト単位(例えば、64KB)で行われる。
〔ステップS32b〕プロセッサ11aは、ステップS32aによる処理を制御情報のバックアップ処理が完了するまで繰り返し行う。
〔ステップS33〕キャッシュメモリ12bに格納されている制御情報のコピー処理が行われる。
〔ステップS33a〕プロセッサ11bは、プロセッサ11aへメモリ要求を送信し、プロセッサ11aから送信されたメモリ通知を受信する。そして、プロセッサ11bは、メモリ通知の受信後にメモリ管理バイト単位で制御情報をプロセッサ11aに転送し、プロセッサ11aは、転送された制御情報をキャッシュメモリ12aに転送(コピー)する。なお、メモリ要求の送信および制御情報の転送は、メモリ管理バイト単位で行われる。
〔ステップS33b〕プロセッサ11a、11b間で、ステップS33aによる処理を制御情報のコピーが完了するまで繰り返し行う。
〔ステップS34〕キャッシュメモリ12bに格納されているライトキャッシュデータのコピー処理が行われる。
〔ステップS34a〕プロセッサ11bは、プロセッサ11aへメモリ要求を送信し、プロセッサ11aから送信されたメモリ通知を受信する。そして、プロセッサ11bは、メモリ通知の受信後にライトキャッシュデータをプロセッサ11aに転送し、プロセッサ11aは、転送されたライトキャッシュデータをキャッシュメモリ12aに転送(コピー)する。なお、メモリ要求の送信およびライトキャッシュデータの転送は、メモリ管理バイト単位で行われる。
〔ステップS34b〕プロセッサ11a、11b間で、ステップS34aによる処理をライトキャッシュデータのコピーが完了するまで繰り返し行う。
〔ステップS35〕プロセッサ11bは、キャッシュメモリ12bのバックアップ電源および自身へのバックアップ電源をオフする。
〔ステップS36〕キャッシュメモリ12aに格納されているライトキャッシュデータのバックアップディスク13へのバックアップ処理が行われる。
〔ステップS36a〕プロセッサ11aは、バックアップディスク13へ書き込み要求を送信した後に、ライトキャッシュデータをバックアップディスク13に転送する。なお、書き込み要求の送信およびライトキャッシュデータの転送は、メモリ管理バイト単位で行われる。
〔ステップS36b〕プロセッサ11aは、ステップS36aによる処理をライトキャッシュデータのバックアップ処理が完了するまで繰り返し行う。
〔ステップS37〕キャッシュメモリ12aに格納されている、コピーされた制御情報のバックアップディスク13へのバックアップ処理が行われる。
〔ステップS37a〕プロセッサ11aは、バックアップディスク13へ書き込み要求を送信した後に、コピーされた制御情報をバックアップディスク13に転送する。なお、書き込み要求の送信およびコピーされた制御情報の転送は、メモリ管理バイト単位で行われる。
〔ステップS37b〕プロセッサ11aは、ステップS37aによる処理を、コピーされた制御情報のバックアップ処理が完了するまで繰り返し行う。
〔ステップS38〕キャッシュメモリ12aに格納されている、コピーされたライトキャッシュデータのバックアップディスク13へのバックアップ処理が行われる。
〔ステップS38a〕プロセッサ11aは、バックアップディスク13へ書き込み要求を送信した後に、メモリ管理バイト単位で、コピーされたライトキャッシュデータをバックアップディスク13に転送する。なお、書き込み要求の送信およびコピーされたライトキャッシュデータの転送は、メモリ管理バイト単位で行われる。
〔ステップS38b〕プロセッサ11aは、ステップS38aによる処理を、コピーされたライトキャッシュデータのバックアップ処理が完了するまで繰り返し行う。
〔ステップS39〕プロセッサ11aは、キャッシュメモリ12aのバックアップ電源と、バックアップインタフェース部13aのバックアップ電源と、バックアップディスク13のバックアップ電源と、自身へのバックアップ電源とをオフする。
このように、プロセッサ11aは、キャッシュメモリ12aの非バックアップ対象領域へのバックアップ対象データのコピー処理と並行して、キャッシュメモリ12aに格納されていたバックアップ対象データをバックアップディスク13に転送する。これにより、バックアップ処理時間の短縮化を図ることができる。
<コピー領域の確保>
上述したように、バックアップ処理時には、キャッシュメモリ12bに格納されていた制御情報およびライトキャッシュデータは、キャッシュメモリ12aにコピーされる。このため、制御情報およびライトキャッシュデータをコピーするための非バックアップ対象領域がキャッシュメモリ12aに不足している場合、通常動作時(非停電時)において、当該領域を確保するための制御が行われる。
図10はコピー領域を確保するための動作の一例を示すフローチャートである。
〔ステップS41〕プロセッサ11aは、キャッシュメモリ12aに格納されるリードキャッシュデータ量が、キャッシュメモリ12bに格納されるコピーすべきバックアップ対象データ量を下回るか否かを判定する。
キャッシュメモリ12aに格納されるリードキャッシュデータ量が、キャッシュメモリ12bに格納されるバックアップ対象データ量を下回る場合(コピー領域が不足する場合)は、ステップS42へ処理が進む。
また、キャッシュメモリ12aに格納されるリードキャッシュデータ量が、キャッシュメモリ12bに格納されるコピー対象データ量を上回る場合(コピー領域が足りる場合)は、ステップS43へ処理が進む。
〔ステップS42〕プロセッサ11aは、キャッシュメモリ12aに格納されるライトキャッシュデータを記憶装置3−1、・・・、3−4に転送しながら、サーバ2からの書き込み要求の受付を停止する処理を行う。この処理は、キャッシュメモリ12aに格納されるリードキャッシュデータ量が、キャッシュメモリ12bに格納されるバックアップ対象データ量を上回るまで実行される。
〔ステップS43〕キャッシュメモリ12bのバックアップ対象データをキャッシュメモリ12aにコピーする領域が確保されているため、プロセッサ11aは、通常電源停止時のバックアップ処理に関して待機状態になる。
このように、プロセッサ11aは、キャッシュメモリ12aの非バックアップ対象領域に書き込めるデータ量(D1とする)と、キャッシュメモリ12bのバックアップ対象データのデータ量(D2とする)とを比較する。
そして、プロセッサ11aは、D1<D2の場合、D1≧D2になるまで、記憶装置3−1、・・・、3−4へキャッシュメモリ12aのバックアップ対象データを転送しつつ、かつキャッシュメモリ12aのデータ書き込みを禁止する。
これにより、キャッシュメモリ12aの非バックアップ対象領域が足りない場合でも、非バックアップ対象領域を増やしてコピー領域を確保することが可能になる。
<バックアップ電源部の電源容量に応じたバックアップ処理の可否判定>
図11はバックアップ電源部の電源容量に応じたバックアップ処理の可否判定動作の一例を示すフローチャートである。なお、図11に示すバックアップ処理の可否判定動作は、通常動作時(非停電時)において行われる。
〔ステップS51〕プロセッサ11aは、バックアップ電源部14の電源容量で、キャッシュメモリ12aに格納されるライトキャッシュデータ量と、キャッシュメモリ12aにコピーされたライトキャッシュデータ量とのバックアップ処理の可否を判定する。
バックアップ処理が可能な場合(バックアップ電源容量が足りる場合)、ステップS52へ処理が進み、バックアップ処理が不可の場合(バックアップ電源容量が足りない場合)、ステップS53へ処理が進む。
〔ステップS52〕バックアップ処理が可能と判定されたため、プロセッサ11aは、通常電源停止時のバックアップ処理に関して待機状態になる。
〔ステップS53〕プロセッサ11aは、サーバ2からの書き込み要求の受付を停止し、キャッシュメモリ12aに格納されるライトキャッシュデータ(キャッシュメモリ12bからコピーされたライトキャッシュデータを含む)を、バックアップ電源部14の電源容量に応じて記憶装置3−1、・・・、3−4に転送する。
このように、プロセッサ11aは、バックアップ電源部14の電源容量が不足する場合、バックアップ電源部14の電源容量に応じたライトキャッシュデータのバックアップ処理の可否判定を行う。これにより、バックアップ処理量(ライトキャッシュデータ量)を制限することができる。
<スケールアウトによるシステムの拡張>
次にスケールアウトによるシステム拡張時の構成および動作について、図12から図14を用いて説明する。図12はストレージシステムの構成の一例を示す図である。システム拡張化後のストレージシステム1−2は、サーバ2、ストレージ制御装置10−1、10−2、ストレージグループ3、スイッチ4およびバックアップ電源部5を備える。
ストレージ制御装置10−1、10−2は、スイッチ4で接続されることで、ストレージ制御装置の拡張化が可能なスケールアウトの接続構成になっている。
また、ストレージ制御装置をマルチ構成にすることにより、データの二重化や、ストレージグループ3へのデータの書き込み/読み出し処理であるIO(入出力)処理の負荷分散が可能になる。なお、バックアップ電源部5は、2つのストレージ制御装置10−1、10−2およびスイッチ4に対してバックアップ電源を供給する。
図13はストレージ制御装置の構成の一例を示す図である。以降の説明では、インタフェースをI/Fと表記する場合もある。ストレージ制御装置10−1は、プロセッサ11a−1、11b−1、キャッシュメモリ12a−1、12b−1、バックアップディスク13−1、バックアップI/F部13a−1、ネットワークI/F部15a−1、15b−1およびストレージI/F部16a−1、16b−1を含む。
また、ストレージ制御装置10−2は、プロセッサ11a−2、11b−2、キャッシュメモリ12a−2、12b−2、バックアップディスク13−2、バックアップI/F部13a−2、ネットワークI/F部15a−2、15b−2およびストレージI/F部16a−2、16b−2を含む。なお、ストレージ制御装置10−2内のバックアップディスク13−2およびバックアップI/F部13a−2は、構成部として削除することもできる。
一方、バックアップ対象部A1、A2(図13中の点線枠内)にバックアップ電源部5からのバックアップ電源が供給される。
バックアップ対象部A1には、プロセッサ11a−1、11b−1、キャッシュメモリ12a−1、12b−1、バックアップディスク13−1およびバックアップI/F部13a−1が含まれる。
また、バックアップ対象部A2には、プロセッサ11a−2、11b−2、キャッシュメモリ12a−2、12b−2、バックアップディスク13−2およびバックアップI/F部13a−2が含まれる。
各構成部の接続関係を示すと、ストレージ制御装置10−1において、プロセッサ11a−1とプロセッサ11b−1が互いに接続する。プロセッサ11a−1は、キャッシュメモリ12a−1、バックアップI/F部13a−1、ネットワークI/F部15a−1およびストレージI/F部16a−1に接続する。
プロセッサ11b−1は、キャッシュメモリ12b−1、ネットワークI/F部15b−1およびストレージI/F部16b−1に接続する。バックアップディスク13−1は、バックアップI/F部13a−1に接続する。
ストレージ制御装置10−2において、プロセッサ11a−2は、キャッシュメモリ12a−2、バックアップI/F部13a−2、ネットワークI/F部15a−2およびストレージI/F部16a−2に接続する。
プロセッサ11b−2は、キャッシュメモリ12b−2、ネットワークI/F部15b−2およびストレージI/F部16b−2に接続する。バックアップディスク13−2は、バックアップI/F部13a−2に接続する。
なお、ストレージグループ3は、ストレージI/F部16a−1、16b−1と、ストレージI/F部16a−2、16b−2と接続し、サーバ2は、ネットワークI/F部15a−1、15b−1と、ネットワークI/F部15a−2、15b−2と接続する。また、スイッチ4は、プロセッサ11b−1とプロセッサ11b−2と接続する。
図14はバックアップ処理の一例を示す図である。
〔ステップS61〕バックアップ電源部5は、通常電源の供給停止時、ストレージ制御装置10−1のバックアップ対象部A1に含まれる構成部と、ストレージ制御装置10−2のバックアップ対象部A2に含まれる構成部と、スイッチ4とにバックアップ電源を供給する。
〔ステップS62〕プロセッサ11a−1は、キャッシュメモリ12a−1からバックアップ対象データを読み出す。そして、プロセッサ11a−1は、バックアップI/F部13a−1を介して、読み出したバックアップ対象データをバックアップディスク13−1に書き込む。
〔ステップS63〕プロセッサ11b−1は、キャッシュメモリ12b−1からバックアップ対象データを読み出し、プロセッサ11a−1へ送信する。そして、プロセッサ11a−1は、プロセッサ11b−1から送信されたバックアップ対象データを受信し、受信したバックアップ対象データをキャッシュメモリ12a−1にコピーする。
〔ステップS63a〕プロセッサ11b−1は、キャッシュメモリ12b−1内のバックアップ対象データのコピーの完了後に、キャッシュメモリ12b−1のバックアップ電源供給を遮断する。
〔ステップS64〕プロセッサ11a−2は、キャッシュメモリ12a−2からバックアップ対象データを読み出し、プロセッサ11b−2へ送信する。プロセッサ11b−2は、スイッチ4を介して、受信したバックアップ対象データをプロセッサ11b−1へ送信する。
プロセッサ11b−1は、受信したバックアップ対象データをプロセッサ11a−1へ送信し、プロセッサ11a−1は、プロセッサ11b−1から送信されたバックアップ対象データを受信する。そして、プロセッサ11a−1は、受信したバックアップ対象データをキャッシュメモリ12a−1にコピーする。
〔ステップS64a〕プロセッサ11a−2は、キャッシュメモリ12a−2内のバックアップ対象データのコピーの完了後に、キャッシュメモリ12a−2のバックアップ電源供給と、自身へのバックアップ電源供給とを遮断する。
〔ステップS65〕プロセッサ11b−2は、キャッシュメモリ12b−2からバックアップ対象データを読み出し、スイッチ4を介して、読み出したバックアップ対象データをプロセッサ11b−1へ送信する。
プロセッサ11b−1は、受信したバックアップ対象データをプロセッサ11a−1へ送信し、プロセッサ11a−1は、プロセッサ11b−1から送信されたバックアップ対象データを受信する。そして、プロセッサ11a−1は、受信したバックアップ対象データをキャッシュメモリ12a−1にコピーする。
〔ステップS65a〕プロセッサ11b−2は、キャッシュメモリ12b−2内のバックアップ対象データのコピーの完了後に、キャッシュメモリ12b−2のバックアップ電源供給と、自身へのバックアップ電源供給とを遮断する。
〔ステップS66〕プロセッサ11b−1は、キャッシュメモリ12b−1、12a−2、12b−2内のバックアップ対象データのコピーの完了後に、自身へのバックアップ電源供給を遮断する。
〔ステップS67〕プロセッサ11a−1は、キャッシュメモリ12a−1にコピーされたバックアップ対象データを読み出し、バックアップI/F部13a−1を介して、読み出したバックアップ対象データをバックアップディスク13−1に書き込む。
〔ステップS68〕プロセッサ11a−1は、すべてのバックアップ対象データのバックアップディスク13−1への書き込み完了後に、キャッシュメモリ12a−1、バックアップI/F部13a−1およびバックアップディスク13−1のバックアップ電源供給を遮断する。さらに、プロセッサ11a−1は、自身へのバックアップ電源供給を遮断する。
ここで、ストレージシステム1−2において、キャッシュメモリ12a−1、12b−1、12a−2、12b−2それぞれが4枚構成のDIMMを有し、1枚のDIMMの容量が64GB/DIMMとする。また、スイッチ4を介した、プロセッサ11b−1とプロセッサ11b−2との間のインタフェース速度が7GB/sとする。
この場合、キャッシュメモリ12a−2、12b−2のバックアップ対象データのコピー処理にかかる時間は、74秒(=64GB×4×2÷7GB/s)となる。
バックアップ処理に要する全体時間は上述で示したように788秒であるが、キャッシュメモリ12a−2、12b−2のバックアップ処理時間は、788秒から74秒に短縮される。
したがって、ストレージ制御装置10−2側のプロセッサ11a−1、11b−2のバックアップ電源供給と、キャッシュメモリ12a−2、12b−2のバックアップ電源供給とを遅くても74秒後に遮断することができる。よって、74秒後に遮断する分、バックアップ電源部5の消費電力を低減することができ、バックアップ電源部5の電源容量の増加を抑制することが可能になる。
<プロセッサがN個の場合のバックアップ処理>
次にプロセッサがN(Nは3以上の整数)個のマルチプロセッサ構成のバックアップ処理として、N=4の場合について説明する。図15はプロセッサが4個ある場合のストレージ制御装置の構成の一例を示す図である。なお、ネットワークI/F部およびストレージI/F部の図示は省略する。
ストレージ制御装置10aは、プロセッサ11a、11b、11c、11dと、キャッシュメモリ12a、12b、12c、12dと、バックアップディスク13と、バックアップI/F部13aと、バックアップ電源部14とを含む。
構成部の接続関係は、プロセッサ11a、11b、11c、11dはリング状に接続する。キャッシュメモリ12aはプロセッサ11aに接続し、キャッシュメモリ12bはプロセッサ11bに接続し、キャッシュメモリ12cはプロセッサ11cに接続し、キャッシュメモリ12dはプロセッサ11dに接続する。
また、バックアップI/F部13aは、プロセッサ11aに接続し、バックアップディスク13はバックアップI/F部13aに接続する。バックアップ電源部14は、バックアップ対象部A3内の各構成部にバックアップ電源を供給する。
図16はバックアップ処理の一例を示す図である。
〔ステップS71〕バックアップ電源部14は、通常電源の供給停止時、ストレージ制御装置10aのバックアップ対象部A3に含まれる構成部にバックアップ電源を供給する。
〔ステップS72〕プロセッサ11aは、キャッシュメモリ12aからバックアップ対象データを読み出す。そして、プロセッサ11aは、バックアップI/F部13aを介して、読み出したバックアップ対象データをバックアップディスク13に書き込む。
〔ステップS73〕プロセッサ11bは、キャッシュメモリ12bからバックアップ対象データを読み出し、プロセッサ11aへ送信する。そして、プロセッサ11aは、プロセッサ11bから送信されたバックアップ対象データを受信し、受信したバックアップ対象データをキャッシュメモリ12aにコピーする。
〔ステップS73a〕プロセッサ11bは、キャッシュメモリ12b内のバックアップ対象データのコピーの完了後に、キャッシュメモリ12bのバックアップ電源供給と、自身へのバックアップ電源供給とを遮断する。
〔ステップS74〕プロセッサ11cは、キャッシュメモリ12cからバックアップ対象データを読み出し、プロセッサ11aへ送信する。プロセッサ11aは、プロセッサ11cから送信されたバックアップ対象データを受信し、受信したバックアップ対象データをキャッシュメモリ12aにコピーする。
〔ステップS74a〕プロセッサ11cは、キャッシュメモリ12c内のバックアップ対象データのコピーの完了後に、キャッシュメモリ12cのバックアップ電源供給を遮断する。
〔ステップS75〕プロセッサ11dは、キャッシュメモリ12dからバックアップ対象データを読み出し、読み出したバックアップ対象データをプロセッサ11cへ送信する。
プロセッサ11cは、受信したバックアップ対象データをプロセッサ11aへ送信し、プロセッサ11aは、プロセッサ11cから送信されたバックアップ対象データを受信する。そして、プロセッサ11aは、受信したバックアップ対象データをキャッシュメモリ12aにコピーする。
〔ステップS75a〕プロセッサ11dは、キャッシュメモリ12d内のバックアップ対象データのコピーの完了後に、キャッシュメモリ12dのバックアップ電源供給と、自身へのバックアップ電源供給とを遮断する。
〔ステップS76〕プロセッサ11cは、キャッシュメモリ12c、12d内のバックアップ対象データのコピーの完了後に、自身へのバックアップ電源供給を遮断する。
〔ステップS77〕プロセッサ11aは、キャッシュメモリ12aにコピーされたバックアップ対象データを読み出し、バックアップI/F部13aを介して、読み出したバックアップ対象データをバックアップディスク13に書き込む。
〔ステップS78〕プロセッサ11aは、すべてのバックアップ対象データのバックアップディスク13への書き込み完了後に、キャッシュメモリ12a、バックアップI/F部13aおよびバックアップディスク13のバックアップ電源供給を遮断する。さらに、プロセッサ11aは、自身へのバックアップ電源供給を遮断する。
上記で説明した本発明の制御装置1およびストレージ制御装置10、10−1、10−2、10aの処理機能は、コンピュータによって実現することができる。この場合、制御装置1およびストレージ制御装置10、10−1、10−2、10aが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、半導体メモリ等がある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等がある。光ディスクには、CD−ROM/RW等がある。
プログラムを流通させる場合、例えば、そのプログラムが記録されたCD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。
また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLD等の電子回路で実現することもできる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
(付記1) 第1の制御部と、
前記第1の制御部と対にして設けられる第1の揮発性記憶部と、
第2の制御部と、
前記第2の制御部と対にして設けられる第2の揮発性記憶部と、
を備え、
前記第1の制御部は、前記第1の揮発性記憶部に格納される第1のバックアップ対象データを前記第2の制御部へ送信し、前記第2の制御部は、前記第1のバックアップ対象データを前記第2の揮発性記憶部の非バックアップ対象領域にコピーするコピー処理を行い、
前記第1の制御部は、前記コピー処理の完了後、前記第1の揮発性記憶部へのバックアップ電源供給と、当該第1の制御部へのバックアップ電源供給とのうち少なくとも1つを遮断し、
前記第2の制御部は、前記第2の揮発性記憶部に格納される第2のバックアップ対象データと、前記第2の揮発性記憶部の前記非バックアップ対象領域にコピーされた前記第1のバックアップ対象データとを不揮発性記憶部に転送してデータ退避処理を行う、
制御装置。
(付記2) 前記第2の制御部は、前記データ退避処理の完了後に、前記第2の揮発性記憶部へのバックアップ電源供給と、前記不揮発性記憶部へのバックアップ電源供給と、当該第2の制御部へのバックアップ電源供給とのうち少なくとも1つを遮断する付記1記載の制御装置。
(付記3) 前記第2の制御部は、前記非バックアップ対象領域に書き込めるデータ量が前記第1のバックアップ対象データのデータ量よりも小さい場合、前記非バックアップ対象領域に書き込めるデータ量が前記第1のバックアップ対象データのデータ量より大きくなるまで、前記制御装置に接続される記憶装置へ前記第2のバックアップ対象データを転送し、かつ前記第2の揮発性記憶部への書き込みを禁止する付記1記載の制御装置。
(付記4) 前記第2の制御部は、前記第2の揮発性記憶部のリードキャッシュデータが格納される領域を前記非バックアップ対象領域として前記第1のバックアップ対象データを格納し、前記第2の揮発性記憶部のライトキャッシュデータが格納される領域に前記第2のバックアップ対象データを格納する付記1記載の制御装置。
(付記5) 前記第2の制御部は、前記非バックアップ対象領域への前記第1のバックアップ対象データのコピー処理と並行して、前記不揮発性記憶部への前記第2のバックアップ対象データの転送を行う付記1記載の制御装置。
(付記6) 第1のコンピュータが、
前記第1のコンピュータと対にして設けられる第1の揮発性記憶部に格納される第1のバックアップ対象データを第2のコンピュータへ送信し、
前記第2のコンピュータが、
前記第1のバックアップ対象データを、前記第2のコンピュータと対にして設けられる第2の揮発性記憶部の非バックアップ対象領域にコピーするコピー処理を行い、
前記第1のコンピュータが、
前記コピー処理の完了後、前記第1の揮発性記憶部へのバックアップ電源供給と、当該第1のコンピュータへのバックアップ電源供給とのうち少なくとも1つを遮断し、
前記第2のコンピュータが、
前記第2の揮発性記憶部に格納される第2のバックアップ対象データと、前記第2の揮発性記憶部の前記非バックアップ対象領域にコピーされた前記第1のバックアップ対象データとを不揮発性記憶部に転送してデータ退避処理を行う、
バックアップ処理方法。
(付記7) 前記第2のコンピュータが、前記データ退避処理の完了後に、前記第2の揮発性記憶部へのバックアップ電源供給と、前記不揮発性記憶部へのバックアップ電源供給と、当該第2のコンピュータへのバックアップ電源供給とのうち少なくとも1つを遮断する付記6記載のバックアップ処理方法。
(付記8) 前記第2のコンピュータが、前記非バックアップ対象領域に書き込めるデータ量が前記第1のバックアップ対象データのデータ量よりも小さい場合、前記非バックアップ対象領域に書き込めるデータ量が前記第1のバックアップ対象データのデータ量より大きくなるまで、前記制御装置に接続される記憶装置へ前記第2のバックアップ対象データを転送し、かつ前記第2の揮発性記憶部への書き込みを禁止する付記6記載のバックアップ処理方法。
(付記9) 前記第2のコンピュータは、前記第2の揮発性記憶部のリードキャッシュデータが格納される領域を前記非バックアップ対象領域として前記第1のバックアップ対象データを格納し、前記第2の揮発性記憶部のライトキャッシュデータが格納される領域に前記第2のバックアップ対象データを格納する付記6記載のバックアップ処理方法。
(付記10) 前記第2のコンピュータは、前記非バックアップ対象領域への前記第1のバックアップ対象データのコピー処理と並行して、前記不揮発性記憶部への前記第2のバックアップ対象データの転送を行う付記6記載のバックアップ処理方法。
(付記11) 第1のコンピュータに、
前記第1のコンピュータと対にして設けられる第1の揮発性記憶部に格納される第1のバックアップ対象データを第2のコンピュータへ送信し、
前記第2のコンピュータに、
前記第1のバックアップ対象データを、前記第2のコンピュータと対にして設けられる第2の揮発性記憶部の非バックアップ対象領域にコピーするコピー処理を行い、
前記第1のコンピュータに、
前記コピー処理の完了後、前記第1の揮発性記憶部へのバックアップ電源供給と、当該第1のコンピュータへのバックアップ電源供給とのうち少なくとも1つを遮断し、
前記第2のコンピュータに、
前記第2の揮発性記憶部に格納される第2のバックアップ対象データと、前記第2の揮発性記憶部の前記非バックアップ対象領域にコピーされた前記第1のバックアップ対象データとを不揮発性記憶部に転送してデータ退避処理を行う、
処理を実行させるプログラム。
(付記12) 前記第2のコンピュータに、前記データ退避処理の完了後に、前記第2の揮発性記憶部へのバックアップ電源供給と、前記不揮発性記憶部へのバックアップ電源供給と、当該第2のコンピュータへのバックアップ電源供給とのうち少なくとも1つを遮断する付記11記載のプログラム。
(付記13) 前記第2のコンピュータに、前記非バックアップ対象領域に書き込めるデータ量が前記第1のバックアップ対象データのデータ量よりも小さい場合、前記非バックアップ対象領域に書き込めるデータ量が前記第1のバックアップ対象データのデータ量より大きくなるまで、前記制御装置に接続される記憶装置へ前記第2のバックアップ対象データを転送し、かつ前記第2の揮発性記憶部への書き込みを禁止する付記11記載のプログラム。
(付記14) 前記第2のコンピュータは、前記第2の揮発性記憶部のリードキャッシュデータが格納される領域を前記非バックアップ対象領域として前記第1のバックアップ対象データを格納し、前記第2の揮発性記憶部のライトキャッシュデータが格納される領域に前記第2のバックアップ対象データを格納する付記11記載のプログラム。
(付記15) 前記第2のコンピュータは、前記非バックアップ対象領域への前記第1のバックアップ対象データのコピー処理と並行して、前記不揮発性記憶部への前記第2のバックアップ対象データの転送を行う付記11記載のプログラム。
1 制御装置
1a、1b 制御部
1a−1、1b−1 記憶部
1c バックアップ記憶部
1d バックアップ電源部
d1、d2 バックアップ対象データ
r0 非バックアップ対象領域

Claims (7)

  1. 第1の制御部と、
    前記第1の制御部と対にして設けられる第1の揮発性記憶部と、
    第2の制御部と、
    前記第2の制御部と対にして設けられる第2の揮発性記憶部と、
    を備え、
    前記第1の制御部は、前記第1の揮発性記憶部に格納される第1のバックアップ対象データを前記第2の制御部へ送信し、前記第2の制御部は、前記第1のバックアップ対象データを前記第2の揮発性記憶部の非バックアップ対象領域にコピーするコピー処理を行い、
    前記第1の制御部は、前記コピー処理の完了後、前記第1の揮発性記憶部へのバックアップ電源供給と、当該第1の制御部へのバックアップ電源供給とのうち少なくとも1つを遮断し、
    前記第2の制御部は、前記第2の揮発性記憶部に格納される第2のバックアップ対象データと、前記第2の揮発性記憶部の前記非バックアップ対象領域にコピーされた前記第1のバックアップ対象データとを不揮発性記憶部に転送してデータ退避処理を行う、
    制御装置。
  2. 前記第2の制御部は、前記データ退避処理の完了後に、前記第2の揮発性記憶部へのバックアップ電源供給と、前記不揮発性記憶部へのバックアップ電源供給と、当該第2の制御部へのバックアップ電源供給とのうち少なくとも1つを遮断する請求項1記載の制御装置。
  3. 前記第2の制御部は、前記非バックアップ対象領域に書き込めるデータ量が前記第1のバックアップ対象データのデータ量よりも小さい場合、前記非バックアップ対象領域に書き込めるデータ量が前記第1のバックアップ対象データのデータ量より大きくなるまで、前記制御装置に接続される記憶装置へ前記第2のバックアップ対象データを転送し、かつ前記第2の揮発性記憶部への書き込みを禁止する請求項1記載の制御装置。
  4. 前記第2の制御部は、前記第2の揮発性記憶部のリードキャッシュデータが格納される領域を前記非バックアップ対象領域として前記第1のバックアップ対象データを格納し、前記第2の揮発性記憶部のライトキャッシュデータが格納される領域に前記第2のバックアップ対象データを格納する請求項1記載の制御装置。
  5. 前記第2の制御部は、前記非バックアップ対象領域への前記第1のバックアップ対象データのコピー処理と並行して、前記不揮発性記憶部への前記第2のバックアップ対象データの転送を行う請求項1記載の制御装置。
  6. 第1のコンピュータが、
    前記第1のコンピュータと対にして設けられる第1の揮発性記憶部に格納される第1のバックアップ対象データを第2のコンピュータへ送信し、
    前記第2のコンピュータが、
    前記第1のバックアップ対象データを、前記第2のコンピュータと対にして設けられる第2の揮発性記憶部の非バックアップ対象領域にコピーするコピー処理を行い、
    前記第1のコンピュータが、
    前記コピー処理の完了後、前記第1の揮発性記憶部へのバックアップ電源供給と、当該第1のコンピュータへのバックアップ電源供給とのうち少なくとも1つを遮断し、
    前記第2のコンピュータが、
    前記第2の揮発性記憶部に格納される第2のバックアップ対象データと、前記第2の揮発性記憶部の前記非バックアップ対象領域にコピーされた前記第1のバックアップ対象データとを不揮発性記憶部に転送してデータ退避処理を行う、
    バックアップ処理方法。
  7. 第1のコンピュータに、
    前記第1のコンピュータと対にして設けられる第1の揮発性記憶部に格納される第1のバックアップ対象データを第2のコンピュータへ送信し、
    前記第2のコンピュータに、
    前記第1のバックアップ対象データを、前記第2のコンピュータと対にして設けられる第2の揮発性記憶部の非バックアップ対象領域にコピーするコピー処理を行い、
    前記第1のコンピュータに、
    前記コピー処理の完了後、前記第1の揮発性記憶部へのバックアップ電源供給と、当該第1のコンピュータへのバックアップ電源供給とのうち少なくとも1つを遮断し、
    前記第2のコンピュータに、
    前記第2の揮発性記憶部に格納される第2のバックアップ対象データと、前記第2の揮発性記憶部の前記非バックアップ対象領域にコピーされた前記第1のバックアップ対象データとを不揮発性記憶部に転送してデータ退避処理を行う、
    処理を実行させるプログラム。
JP2017170088A 2017-09-05 2017-09-05 制御装置、バックアップ処理方法およびプログラム Pending JP2019046283A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017170088A JP2019046283A (ja) 2017-09-05 2017-09-05 制御装置、バックアップ処理方法およびプログラム
US16/117,213 US20190073147A1 (en) 2017-09-05 2018-08-30 Control device, method and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017170088A JP2019046283A (ja) 2017-09-05 2017-09-05 制御装置、バックアップ処理方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2019046283A true JP2019046283A (ja) 2019-03-22

Family

ID=65517371

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017170088A Pending JP2019046283A (ja) 2017-09-05 2017-09-05 制御装置、バックアップ処理方法およびプログラム

Country Status (2)

Country Link
US (1) US20190073147A1 (ja)
JP (1) JP2019046283A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113849455A (zh) * 2021-09-28 2021-12-28 致真存储(北京)科技有限公司 一种基于混合式存储器的mcu及缓存数据的方法
CN114996203A (zh) * 2022-05-19 2022-09-02 中诚华隆计算机技术有限公司 一种soc芯片、胶囊内镜机器人及胶囊内镜系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230008376A1 (en) * 2021-07-08 2023-01-12 Kioxia Corporation Memory system, control method, and power control circuit

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113849455A (zh) * 2021-09-28 2021-12-28 致真存储(北京)科技有限公司 一种基于混合式存储器的mcu及缓存数据的方法
CN113849455B (zh) * 2021-09-28 2023-09-29 致真存储(北京)科技有限公司 一种基于混合式存储器的mcu及缓存数据的方法
CN114996203A (zh) * 2022-05-19 2022-09-02 中诚华隆计算机技术有限公司 一种soc芯片、胶囊内镜机器人及胶囊内镜系统
CN114996203B (zh) * 2022-05-19 2023-06-27 中诚华隆计算机技术有限公司 一种soc芯片、胶囊内镜机器人及胶囊内镜系统

Also Published As

Publication number Publication date
US20190073147A1 (en) 2019-03-07

Similar Documents

Publication Publication Date Title
US10642704B2 (en) Storage controller failover system
US20160378344A1 (en) Processor and platform assisted nvdimm solution using standard dram and consolidated storage
JP2006338626A (ja) ディスクアレイ装置及びその制御方法
US10963351B2 (en) Data storage backup system
JP2007219571A (ja) 記憶制御装置及びストレージシステム
EP2828756A1 (en) Memory controller-independent memory sparing
JP2006031630A (ja) ストレージ装置及びストレージ装置の消費電力制御方法
JP2011170589A (ja) ストレージ制御装置、ストレージ装置およびストレージ制御方法
CN113342262A (zh) 用以进行全快闪存储器阵列伺服器的碟管理的方法与设备
JP2005339216A (ja) 記憶制御システム
JP2019046283A (ja) 制御装置、バックアップ処理方法およびプログラム
US11409471B2 (en) Method and apparatus for performing data access management of all flash array server
JP4322240B2 (ja) 再起動方法、システム及びプログラム
KR100827287B1 (ko) 반도체 보조 기억 장치 및 이를 이용한 데이터 저장 방법
CN110837444B (zh) 一种存储器故障处理方法及装置
US11636012B2 (en) Method and apparatus for performing node information exchange management of all flash array server
JP6012479B2 (ja) 情報処理システム、制御方法および制御プログラム
CN112912848A (zh) 一种丛集作业过程中的电源请求管理方法
JP2014106811A (ja) 記憶装置、冗長性回復方法、およびプログラム
CN110780729A (zh) 数据处理方法及设备
US11366618B2 (en) All flash array server and control method thereof
US20240103971A1 (en) Systems and methods for error recovery in rebootless firmware updates
US20240103847A1 (en) Systems and methods for multi-channel rebootless firmware updates
US11487654B2 (en) Method for controlling write buffer based on states of sectors of write buffer and associated all flash array server
US11809293B2 (en) Storage node failure detection based on register values for an all flash array server