JP4930555B2 - 制御装置、制御方法およびストレージシステム - Google Patents

制御装置、制御方法およびストレージシステム Download PDF

Info

Publication number
JP4930555B2
JP4930555B2 JP2009163088A JP2009163088A JP4930555B2 JP 4930555 B2 JP4930555 B2 JP 4930555B2 JP 2009163088 A JP2009163088 A JP 2009163088A JP 2009163088 A JP2009163088 A JP 2009163088A JP 4930555 B2 JP4930555 B2 JP 4930555B2
Authority
JP
Japan
Prior art keywords
data
power failure
unit
storage unit
storage
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
JP2009163088A
Other languages
English (en)
Other versions
JP2011018236A (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 JP2009163088A priority Critical patent/JP4930555B2/ja
Priority to US12/831,515 priority patent/US20110010499A1/en
Publication of JP2011018236A publication Critical patent/JP2011018236A/ja
Application granted granted Critical
Publication of JP4930555B2 publication Critical patent/JP4930555B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2015Redundant power supplies
    • GPHYSICS
    • G06COMPUTING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、制御装置等に関し、例えば、RAID装置の停電発生に伴う処理に関する。
一般に、RAID(Redundant Arrays of Independent(Inexpensive)Disks)装置では、停電発生時に、キャッシュメモリに記憶されているキャッシュデータをNAND型メモリやコンパクトフラッシュ(登録商標)といった半導体の記憶装置にバックアップを行っている。
具体的に、図を用いて説明する。図7によると、通常時は、PSU(Power Supply Unit)12からRAID−on−Chip(以下、単に「RoC」とする)11に電力が供給され、停電が発生すると、RoC11への電力供給がPSU12からSCU(Super Capacitor Unit)13に切り替わる。
そして、RAID装置10は、SCU13から供給される電力を使用して、FPGA(Field Programmable Gate Array)16を起動し、DIMM(Dual Inline Memory Module)14のキャッシュデータをNAND15にバックアップする。
なお、DIMM14は、RAID10のキャッシュメモリに相当し、NAND15は、上述したNAND型メモリで、DIMM14のバックアップ用の記憶装置に相当するものとする。
そして、図7の左側に示すように、まず、DIMM14に一時的に記憶されているキャッシュデータ(図中の斜線部に相当)の退避が、NAND15に開始される(ステップS10)。
そして、DIMM14に記憶されている全キャッシュデータをNAND15に退避させることでバックアップが完了する(ステップS11)。なお、このステップS10とステップS11に行われる処理を停電処理とする。
その後、RAID装置10の停電が解消し、復電した場合、NAND15に退避させた全データをリードして、NAND15からDIMM14に全キャッシュデータの書込み処理(復電時の書戻し処理)を行い、停電が発生する前の状態に戻す。
そして、書込み終了後に、NAND15に記憶されていた全キャッシュデータを消去するイレース処理(全面イレース)を行う(ステップS12)。このように、停電が解消し、復電時に行われる処理を以下、復電処理とする。
なお、論理ドライブ単位でバックアップ動作を中断し、中断時の不揮発性記憶装置のデータ更新を完了することをトリガーとして、バックアップ動作を終了する技術(例えば、特許文献1参照)や、不揮発性記憶装置のデータ消去を行うことなく、書込み処理を行うことを可能としたデータの格納方法(例えば、特許文献2参照)や、外部電力の障害によるキャッシュメモリの内容保持の長期化や復旧時間を短縮させる技術(例えば、特許文献3参照)が知られている。
特開平5−143248号公報 特開2002−304320号公報 特開2006−172355号公報
しかしながら、上述した従来の技術では、停電処理を実施している途中に復電した場合でも、無駄な停電処理や復電処理が実施されるという問題があった。
例えば、キャッシュデータをNAND型メモリに退避させている途中で、復電した場合でも、停電処理を途中で停止することなく、全キャッシュデータをNAND型メモリに退避させてから復電処理を行っていた。
この場合、停電後は、SCUからRoCに電力が供給されており、キャッシュに記憶されていたキャッシュデータは、消失することなく、キャッシュ上に残っていることから、
停電処理は必要性に乏しい。
さらに、復電時の停電処理が必要性に乏しいことからも、当然に、停電処理の後に実施される復電時の書戻し処理や全面イレースといった復電処理も、必要性に乏しいことがいえる。
開示の技術は、上記に鑑みてなされたものであって、停電処理を実施している途中に復電した場合に、無駄な停電処理や復電処理を省くことができる制御装置、制御方法およびストレージシステムを提供することを目的とする。
本願の開示する制御装置は、データを記憶する記憶部と、停電発生時に、前記記憶部に記憶されているデータを予備記憶部に退避させる停電処理部と、復電時に、前記停電処理部が行うデータの退避を停止させる停止部と、前記停電処理部の処理を停止させた後に、前記記憶部のデータに応じて、前記データを退避させる退避領域を前記予備記憶部に確保する領域確保部とを備えたことを要件とする。
本願の開示する制御装置によれば、停電処理を実施している途中に復電した場合に、無駄な停電処理や復電処理を省くことができる。
図1は、実施例1の制御装置の構成を示す機能ブロック図である。 図2は、実施例2のRAID装置の構成を示す機能ブロック図である。 図3は、実施例2のNAND型メモリのデータ構造の一例を示す図である。 図4は、実施例2に示すDIMMのデータ構造の一例を示す図である。 図5は、実施例2のRAID装置の処理を説明するための図である。 図6は、実施例2のRAID装置の処理を示すフローチャートである。 図7は、従来技術を説明するための図である。
以下に、本願の開示する制御装置、制御方法およびストレージシステムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、実施例1の制御装置の構成を示す機能ブロック図である。図1の制御装置100は、記憶部のデータを予備記憶部への退避させている途中で、復電した場合、復電時の全面イレースや書戻し処理を行うことなく、記憶部のデータに応じた記憶領域を予備記憶部に確保する。
そして、制御装置100は、記憶部101と、予備記憶部102と、停止部103と、停電処理部104と、領域確保部105とを有する。
記憶部101は、ユーザデータを一時的に記憶する記憶部である。予備記憶部102は、停電発生時に、記憶部101に記憶されているユーザデータがバックアップされる記憶部である。
停止部103は、停電が解消し、復電した場合に、後述する停電処理部の処理を停止させる処理部である。停電処理部104は、停電発生時に、記憶部101に記憶されているユーザデータを予備記憶部102に退避する処理部である。
領域確保部105は、前記停電処理部の処理を停止させた後に、記憶部101のユーザデータに応じて、ユーザデータを退避させる退避領域を予備記憶部102に確保する処理部である。
上述してきたように、本実施例1に示した制御装置100によると、停電処理を実施している途中に復電した場合に、無駄な停電処理や復電処理を省くことができる。
次に、実施例2に示すRAID装置の概要について説明する。実施例2に示すRAID装置200は、上位装置(例えば、ホストコンピュータ、以下、ホストとする)からの要求に応じて、HDD(Hard Disk Drive)に記憶されている各種ユーザデータやプログラムのやり取りを「ライトバック」もしくは「ライトスルー」と呼ばれる方式にて行う。
さらに、停電発生時には、キャッシュメモリに記憶されているユーザデータをNAND型メモリに退避させる停電処理を行い、退避させている途中に復電した場合は、停電処理を中止させる。そして、キャッシュメモリの全ユーザデータに対する書戻し処理や、全面イレースを実施することなく、「装置Ready」の状態にする。
まず、上述した「ライトバック」、「ライトスルー」、「装置Ready」について以下説明する。ライトバックとは、HDDへの書込みを遅らせる方式で、この方式を用いてユーザデータの書込み処理を行い、アクセス性能を向上させている。
具体的には、まず、ホストからユーザデータの書込み命令を受け付けた場合、キャッシュメモリ(以下、キャッシュとする)にユーザデータを記憶した時点で、書込み処理が完了した旨をホストコンピュータへ通知する。その後、所定条件を満たした時点で、キャッシュに記憶したユーザデータをHDDに記憶させる。
また、キャッシュに記憶されたユーザデータの読込み命令を受け付けた場合に、RAID装置200は、HDDに記憶されているユーザデータをリードせずに、キャッシュに記憶されているユーザデータを読込んで、ホストに返す。
このように、RAID装置200は、ホストから、ユーザデータの書込みや、読込み命令を受け付けた場合に、キャッシュを用いて処理することで、ユーザデータの読込み・書込みが高速に処理されることになる。
一方、「ライトスルー」とは、書込み命令を受付けた場合、HDDまでユーザデータを書込んでから完了通知をホストに応答し、一方、読込み命令を受付けた場合には、HDDのユーザデータを読込んでから、ホストに返すことから、ライトバックと比較すると、ホストからみたRAID装置200のレスポンスは低速となる。
「装置Ready」とは、キャッシュに記憶されているユーザデータを記憶するデータ領域が、NAND型メモリに確保された状態を示し、この場合、停電が発生しても、キャッシュデータの消失を防ぐことが可能となる。
したがって、RAID装置200は、装置Readyの状態になれば、上述したライトバックにて、ユーザデータのやり取りを行う。一方、キャッシュに記憶されているユーザデータを記憶するデータ領域が、NAND型メモリに確保されていない場合は、停電発生時に、キャッシュデータの消失を招く恐れがあることから、ライトスルーにて、ユーザデータのやり取りを行う。
次に、実施例2に示すRAID装置200の構成について、図を用いて説明する。図2は、実施例2のRAID装置の構成を示す機能ブロック図である。図2のRAID装置200は、本実施例に密接に関連する機能部として、CM(Controller Module)201と、PSU(Power Supply Unit)202と、HDD(Hard Disk Drive)203a〜HDD203zとを有する。
CM201は、キャッシュの管理や、ホストとのインターフェース制御や、各HDDの制御を行う制御部で、NAND210と、DIMM(Dual Inline Memory Module)211と、FPGA(Field Programmable Gate Array)212と、RoC(RAID−on−Chip)213と、SCU214と、PLD(Programmable Logic Device)215と、Exp(エキスパンダ)216とを有する。
NAND210は、NAND型メモリで、RAID装置200に停電が発生した場合に、DIMM211に記憶されているユーザデータ(以下、キャッシュデータとする)がバックアップされる。
このNAND210のデータ構造について具体的に図を用いて説明する。図3は、実施例2のNAND型メモリのデータ構造の一例を示す図である。図3に示したNAND210は、ブロック単位でアクセスされる構造を有することから、ランダムアクセスを許可せず、シーケンシャルライトにて、キャッシュデータがブロックごとに書込まれる。
このブロックとは、DIMM211のキャッシュデータが記憶されるデータ領域を示し、NAND210の物理的な分割単位を示すもので、このブロックごとに、キャッシュデータが書込まれる。
そして、このブロックは、メイン領域とスペア領域を有し、メイン領域は、ユーザデータが記憶される領域を示し、スペア領域は、ECC(error check and correct)やデバイス出荷時の不良箇所などを示すデータが記憶される領域を示す。
そして、図3に示したNAND210は、DIMM211のバックアップ領域として、ブロック1からブロック10を有する。なお、ブロック10以降のブロックには、NAND210の不良ブロックを示すテーブル等を記憶するブロックを有するものとし、詳細なデータ構造については省略するものとする。
また、「不良ブロック」とは、NAND210が消耗により、書込みが規定時間内に完了しないブロックを示し、不良ブロックは、キャッシュデータのバックアップに使用されない。なお、説明の便宜上、ブロック1からブロック10には、不良ブロックは含まれないものとする。
次に、図2に示したDIMM211について説明する。図4は、実施例2に示すDIMMのデータ構造の一例を示す図である。図4に示したDIMM211は、ホストとHDD203a〜203zとの間で転送されるユーザデータを一時的に記憶するキャッシュメモリである。
そして、DIMM211は、上述したユーザデータをキャッシュデータとして一時的に記憶するテーブル1〜テーブル8を複数有している。図4の各テーブルは、4Mbyteに相当するキャッシュデータを保存する容量を有し、さらに、このキャッシュデータは64kのデータ長で、RoC213に管理されるものとする。
また、キャッシュデータの一例としては、リードデータとライトデータが挙げられる。「リードデータ」とは、既に、HDD203a〜HDD203zに記憶されているユーザデータを示している。
したがって、ホストからRAID装置200にユーザデータの読込み要求があった場合に、RoC213が、DIMM211を検索し、読込み要求に対応するキャッシュデータを取得した場合は、取得したキャッシュデータをホストに出力する。
一方、DIMM211からキャッシュデータを取得しなかった場合、RoC213は、HDD203a等から、読込み要求に対応するユーザデータを取得し、取得したユーザデータをDIMM211に複製する。
一方、「ライトデータ」とは、ホストからRAID装置200へ書込み要求があったユーザデータで、所定の条件を満たした後、各HDDに書込まれる。特に、このライトデータは、HDD203a〜203zのいずれのHDDにも記憶されていないユーザデータを示す。
そして、図4に示したDIMM211は、例えば、テーブル1からテーブル8に、リードデータやライトデータがランダムに記憶されているものとする。
また、DIMM211のキャッシュデータを記憶するデータ領域が、NAND210に確保されている場合、RAID装置200は、ライトバックにてホストとユーザデータのやり取りを行うものとし、装置Readyの状態であることがいえる。
次に、図2の説明に戻り、FPGA212について説明する。FPGA212は、所定のプログラムによって制御される集積回路を示し、DMA(Direct Memory Access)エンジンを有する。このDMAは、RoC213の命令によって、ハードウェア的にデータを転送する。
このDMAとは、CPU(Central Processing Unit)を介さずに装置とRAM(Random Access Memory)間でデータ転送を行う方式を示し、本実施例では、停電時にキャッシュデータをNAND210に退避・復元するために必要な機能を付加したDMAをFPGA212に搭載している。
そして、本実施例では、一例として、TRN212aと、RCV212bと、UCE212cとを有する。TRN212aは、停電時に、キャッシュデータを退避するためのライトDMAを示し、RCV212bは、復電時に、退避データをDIMM211に戻すためのリードDMAを示し、UCE212cは、NAND210に書込まれたキャッシュデータの消去(イレース)やチェックを行うためのコマンド発行DMAを示す。
RoC213は、CM201を全体制御する制御装置であり、DIMM211のキャッシュデータのバックアップ処理や、ホストとのインターフェース制御や、DIMM211の管理を行うファームウェアを有する。
RoC213のファームウェアは、例えば、DIMM211のテーブル1〜テーブル8にキャッシュデータが記憶されている場合、このDIMM211のバックアップとして、NAND210に8ブロック以上のデータ領域が必要と判定する。
そして、RoC213のファームウェアは、NAND210のバックアップに使用されなかったブロックと、イレースしたブロックとを合わせたブロックが、DIMM211のキャッシュデータが示すデータ領域を超えたと判定した場合に、装置Readyとする。
SCU214は、大容量のコンデンサを示し、RAID装置200に停電が発生した際に、バッテリーフリーで、RoC213に電力を供給する。なお、充電された電力を供給するため、PSU202とは異なり、供給する電力には、限りがあるものとする。
PLD215は、RAID装置200に停電が発生した場合に、停電を検出し、停電が発生した旨を示す停電情報をRoC213に通知する装置である。さらに、停電が解消し、復電した場合、復電した旨を示す復電情報をRoC213に通知する。
Exp(エキスパンダ)216は、RoC213とHDD203a〜HDD203zとの間で送受信されるユーザデータを中継する処理部である。
PSU(Power Supply Unit)202は、RAID装置200に停電が発生していない場合、CM201へ電力を供給する装置である。また、停電が発生した場合、RAID装置200への電力の供給を停止する。なお、上述したように、この場合、SCU214の放電により、RAID装置200へ電力が供給される。
HDD203a〜HDD203zは、RAIDグループを構成し、高速性や安全性のレベルに応じて、ユーザデータが振り分けられており、ユーザデータやプログラムを記憶する記憶媒体(ディスク)等を有する。
次に、RAID装置200に停電が発生し、RAID装置200が「装置Ready」になるまでに実施される処理と、その後、再度の停電が発生した場合に行われる処理について説明する。
まず、RAID装置200に停電が発生すると、PSU202からCM201への電力供給が停止するとともに、RoC213に、SCU214による電力が供給される。そして、PLD215が、停電情報を検出し、検出した停電情報をRoC213に通知する。
そして、RoC213のファームウェアは、停電情報をPLD215から受け取り、受け取った停電情報をFPGA212に通知する。その後、FPGA212は、TRN212aを起動させる。そして、TRN212aは、DIMM211のキャッシュデータのバックアップをNAND210へ開始する。
そして、バックアップの途中に復電した場合、PLD215は、復電情報をFPGA212に通知し、FPGA212は、TRN212aが行っているバックアップを途中で停止させる。
さらに、バックアップされた全キャッシュデータの書戻しや、全面イレースをすることなく、DIMM211をバックアップするデータ領域をNAND210に確保したとRoC213のファームウェアが判定したら、RAID装置200を「装置Ready」の状態にする。
上述した処理について具体的に図を用いて説明する。図5は、実施例2のRAID装置の処理を説明するための図である。図5に示したDIMM211は、図4に示したDIMM211に対応し、テーブル1〜テーブル8には、いずれもキャッシュデータが記憶されているものとする。
また、NAND210は、図3に示したNAND210に対応し、ブロック1〜ブロック10は、いずれも不良ブロックでないものとし、ブロック10をNAND210の物理的な最後のアドレスとする。
そして、RAID装置200を装置Readyにするには、DIMM211に記憶されているキャッシュデータを記憶するデータ領域が、NAND210に確保されればよく、この場合、ブロック1〜ブロック8がバックアップのデータ領域に確保されれば良いものとする。
まず、停電が発生すると、TRN212aがDIMM211のキャッシュデータを、テーブル番号順に応じ、NAND210にバックアップを開始する(ステップS50)。このステップS50では、テーブル1〜テーブル3のキャッシュデータがブロック1〜ブロック3に書込まれたものとする。
その後、テーブル4のキャッシュデータが、ブロック4まで書込まれた時に、RAID装置200が復電した場合、TRN212aは、NAND210に行われているバックアップを停止する。そして、RoC213のファームウェアがブロック4を識別するNANDアドレス(例えば、アドレス4)を保持する(ステップS51)。
そして、UCE212cが、NAND210のブロック1に記憶されているキャッシュデータのイレースを開始する。そして、RoC213のファームウェアは、ブロック1、2に記憶されているキャッシュデータがイレースされた際に、DIMM211に記憶されているキャッシュデータのバックアップ領域を確保したと判定し、RAID装置200を装置Readyにする(ステップS52)。
これは、DIMM211には、キャッシュデータがテーブル1〜8に記憶されており、このキャッシュデータに対応するバックアップ領域として、NANDフラッシュ210に
計8ブロックが確保されれば良いからである。
したがって、ステップS52において、ブロック1とブロック2のイレースが行われると、イレースしたブロック1、2と、ステップ50でバックアップに使用されなかったブロック5〜10とを合わせると、計8ブロックとなり、キャッシュデータに対応するバックアップ領域が確保されたとRoC213のファームウェアが判定し、RAID装置200を装置Readyにする。
そして、再び、RAID装置200に停電が発生すると、RoC213は、ステップS52にて保持していたアドレス4を参照し、アドレス5に対応するブロック5から、再度、キャッシュデータのバックアップを開始するようにFPGA212に命令する。
そして、TRN212aが、テーブル1のキャッシュデータをブロック5に書込み、テーブル2のキャッシュデータをブロック6に書込む。その後、テーブル3、4、5をブロック7、8、9に書込みを行う。
そして、TRN212aが、テーブル6のキャッシュデータをブロック6に書込み、その後、ブロック1に移行して、テーブル7のキャッシュデータの書込みを行う(ステップS53)。
上述したように、NAND210の先頭アドレスではなく、バックアップを停止したアドレスから、キャッシュデータの書込みを行い、そして、NAND210の物理的な最後のアドレスにキャッシュデータの書込みが行われた後、先頭のアドレスに移行して、書込み処理を行うことをラップアラウンド処理とする。
このように、RAID装置200は、停電処理の途中に復電した場合、キャッシュデータの退避を途中で停止させる。さらに、復電時の書戻し処理を実施しないで、NAND210の部分イレースを実施する。
そして、部分イレースしたデータ領域と、停電処理時に使用されなかったデータ領域とを合わせたデータ領域が、DIMM211に記憶されているキャッシュデータが有するデータ領域を超えた場合に、RoC213は、バックアップ領域を確保したと判定し、RAID装置200を装置Readyにする。
また、再度の停電時には、ラップアラウンド処理を行うことで、キャッシュデータのバックアップを行う。
なお、これまで、RAID装置200を装置Readyにする条件として、DIMM211に記憶されているキャッシュデータのデータ領域が超えた場合を例に挙げて説明してきたが、DIMM211がキャッシュデータを記憶する物理的な全データ領域が超えた場合に、RAID装置200を装置Readyにしても良いし、また、RAID装置200の管理者が、あらかじめ定めたデータ領域を超えた場合に、RAID装置200を装置Readyにしても良いものとする。
次に、実施例2のRAID装置200の処理について説明する。図6は、実施例2のRAID装置の処理を示すフローチャートである。まず、RAID装置200に停電が発生する(ステップS200)。
そして、DIMM211のキャッシュデータをNAND210にバックアップする(ステップS201)。その後、ステップS201にて開始したバックアップの途中に、復電した場合(ステップS202)、バックアップを停止する(ステップS203)。
そして、FPGA212がNAND211に書込まれたキャッシュデータのイレースを行う(ステップS204)。そして、ステップS204にてイレースしたデータ領域と、ステップS201でバックアップに使用されなかったデータ領域を合わせたデータ領域が、DIMM211のキャッシュデータを記憶するデータ領域を超えた場合、バックアップのデータ領域を確保したと判定し(ステップS205、Yes)、RAID装置200を装置Readyにする(ステップS206)。
そして、再度の停電がRAID装置200に発生した場合(ステップS207)、ラップアラウンド処理を行う(ステップS208)。その後、復電した場合(ステップS209)、RAID装置200は、通常動作に移行する。
なお、ステップS204にてイレースしたデータ領域と、ステップS201でバックアップに使用されなかったデータ領域とを合わせたデータ領域が、DIMM211のキャッシュデータを記憶するデータ領域に満たない場合(ステップS205、No)、ステップS204へ移行する。
このフローチャートによれば、停電処理の途中に復電した場合、キャッシュデータの退避を途中で停止させることで、無駄な停電処理を省くことができる。そして、退避させたキャッシュデータをDIMM211に書戻すことなく、イレース処理を部分的に実施することで、無駄な復電処理を省くことができる。
また、RoC213のファームウェアは、NAND210が有するバックアップのデータ領域が、DIMM211に記憶されたキャッシュデータのデータ領域を満たしていない場合、停電時にキャッシュデータを消失する恐れがあるので、RAID装置200を装置Readyにしない。
したがって、RoC213のファームウェアは、イレースしたデータ領域と、バックアップに使用されなかったデータ領域を合わせたデータ領域が、キャッシュデータのバックアップに使用されるデータ領域を超えた場合、バックアップのデータ領域を確保したと判定し、RAID装置200を装置Readyにする。
したがって、復電時の書戻し処理や、全面イレース処理を実施するとなく、RAID200を装置Readyにすることができ、RAID装置200の装置Readyに要する処理時間を短縮することができる。
上述してきたように、本実施例2に示したRAID装置200は、停電処理を実施している途中に復電した場合に、無駄な停電処理や復電処理を省くことができる。
10、200 RAID装置
11、213 RoC
12、202 PSU
13、214 SCU
14、211 DIMM
15、210 NAND
16、212 FPGA
17、216 Exp
18a〜18n、203a〜203z HDD
100 制御装置
101 記憶部
102 予備記憶部
103 停止部
104 停電処理部
105 領域確保部
201 CM
212a TRN
212b RCV
212c UCE
215 PLD

Claims (5)

  1. データを記憶する記憶部と、
    制御装置に含まれ、前記記憶部のデータをバックアップする予備記憶部と、
    停電発生時に、前記記憶部に記憶されているデータを前記予備記憶部に退避させる停電処理部と、
    復電時に、前記停電処理部が行うデータの退避を停止させる停止部と、
    前記停電処理部の処理を停止させた後に、前記記憶部に記憶されたデータを退避させる退避領域を前記予備記憶部に確保する領域確保部と、
    を有する制御装置。
  2. 前記領域確保部が、前記予備記憶部に記憶されたデータを消去し、消去した記憶領域と、前記退避領域に使用されなかった記憶領域とに基づき、前記退避領域を前記予備記憶部に確保したと判定した場合に、前記記憶部のデータを用いて、上位装置とデータ通信を行う請求項1に記載の制御装置。
  3. 前記停止部が前記停電処理部の処理を停止させるまでの間に、前記停電処理部が前記データの退避に使用した前記予備記憶部の記憶領域の位置を停止位置とし、前記停電処理部は、前記停止位置に基づき、前記データの退避を開始する請求項1または2に記載の制御装置。
  4. 制御装置が、
    停電発生時に、記憶装置に記憶されているデータを、前記制御装置に含まれ前記記憶装置のデータをバックアップする予備記憶装置に退避させる停電処理ステップと、
    復電時に、前記データの退避を停止させる停止ステップと、
    前記データの退避を停止させた後に、前記記憶装置のデータに記憶されたデータを退避させる退避領域を前記予備記憶装置に確保する領域確保ステップと、
    を含む制御方法。
  5. 上位装置からアクセスされる記憶装置と、
    前記記憶装置へのアクセスを制御する制御装置とを備えたストレージシステムであって、
    前記制御装置は、
    前記記憶装置に格納されるデータを記憶する記憶部と、
    前記制御装置に含まれ、前記記憶部のデータをバックアップする予備記憶部と、
    停電発生時に、前記記憶部に記憶されているデータを前記予備記憶部に退避させる停電処理部と、
    復電時に、前記停電処理部が行うデータの退避を停止させる停止部と、
    前記停電処理部の処理を停止させた後に、前記記憶部に記憶されたデータを退避させる退避領域を前記予備記憶部に確保する領域確保部と、
    を有する事を特徴とするストレージシステム。
JP2009163088A 2009-07-09 2009-07-09 制御装置、制御方法およびストレージシステム Active JP4930555B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009163088A JP4930555B2 (ja) 2009-07-09 2009-07-09 制御装置、制御方法およびストレージシステム
US12/831,515 US20110010499A1 (en) 2009-07-09 2010-07-07 Storage system, method of controlling storage system, and method of controlling control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009163088A JP4930555B2 (ja) 2009-07-09 2009-07-09 制御装置、制御方法およびストレージシステム

Publications (2)

Publication Number Publication Date
JP2011018236A JP2011018236A (ja) 2011-01-27
JP4930555B2 true JP4930555B2 (ja) 2012-05-16

Family

ID=43428335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009163088A Active JP4930555B2 (ja) 2009-07-09 2009-07-09 制御装置、制御方法およびストレージシステム

Country Status (2)

Country Link
US (1) US20110010499A1 (ja)
JP (1) JP4930555B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009098777A1 (ja) * 2008-02-08 2009-08-13 Fujitsu Limited バックアップ方法、格納方法、及びディスクアレイ装置
JP4696171B2 (ja) * 2009-05-19 2011-06-08 富士通株式会社 記憶装置、データ保存方法およびデータ保存プログラム
US9824091B2 (en) 2010-12-03 2017-11-21 Microsoft Technology Licensing, Llc File system backup using change journal
US8620894B2 (en) 2010-12-21 2013-12-31 Microsoft Corporation Searching files
US8627025B2 (en) * 2010-12-21 2014-01-07 Microsoft Corporation Protecting data during different connectivity states
US9229818B2 (en) 2011-07-20 2016-01-05 Microsoft Technology Licensing, Llc Adaptive retention for backup data
JP5924819B2 (ja) * 2013-06-10 2016-05-25 日本電気株式会社 データ保全処理装置及びデータ保全処理プログラム
KR102567279B1 (ko) * 2016-03-28 2023-08-17 에스케이하이닉스 주식회사 비휘발성 듀얼 인 라인 메모리 시스템의 파워 다운 인터럽트
KR102535738B1 (ko) * 2016-03-28 2023-05-25 에스케이하이닉스 주식회사 비휘발성 듀얼 인 라인 메모리 시스템, 메모리 모듈, 및 메모리 모듈의 동작 방법
US10394310B2 (en) * 2016-06-06 2019-08-27 Dell Products, Lp System and method for sleeping states using non-volatile memory components
JP6802484B2 (ja) * 2017-02-10 2020-12-16 富士通株式会社 ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法
US11157356B2 (en) 2018-03-05 2021-10-26 Samsung Electronics Co., Ltd. System and method for supporting data protection across FPGA SSDs
CN110287062A (zh) * 2019-06-28 2019-09-27 深圳忆联信息系统有限公司 一种硬件缓存管理数据备份和快速恢复的方法及其系统
JP6901534B2 (ja) * 2019-09-05 2021-07-14 Necプラットフォームズ株式会社 データ記憶装置、制御装置、記憶データ管理方法、及び、プログラム
CN110780811B (zh) * 2019-09-19 2021-10-15 华为技术有限公司 数据保护方法、装置及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05143248A (ja) * 1991-11-18 1993-06-11 Fujitsu Ltd 半導体デイスク装置のデータバツクアツプ方式
US5799200A (en) * 1995-09-28 1998-08-25 Emc Corporation Power failure responsive apparatus and method having a shadow dram, a flash ROM, an auxiliary battery, and a controller
JPH117505A (ja) * 1997-06-17 1999-01-12 Fujitsu Ltd カード型記憶媒体
US6377530B1 (en) * 1999-02-12 2002-04-23 Compaq Computer Corporation System and method for playing compressed audio data
US6513097B1 (en) * 1999-03-03 2003-01-28 International Business Machines Corporation Method and system for maintaining information about modified data in cache in a storage system for use during a system failure
US20020156983A1 (en) * 2001-04-19 2002-10-24 International Business Machines Corporation Method and apparatus for improving reliability of write back cache information
JP2002342147A (ja) * 2001-05-18 2002-11-29 Konica Corp 不揮発性記憶装置及びそのメモリ制御方法
US7003620B2 (en) * 2002-11-26 2006-02-21 M-Systems Flash Disk Pioneers Ltd. Appliance, including a flash memory, that is robust under power failure
US7380055B2 (en) * 2004-06-21 2008-05-27 Dot Hill Systems Corporation Apparatus and method in a cached raid controller utilizing a solid state backup device for improving data availability time
US20060080515A1 (en) * 2004-10-12 2006-04-13 Lefthand Networks, Inc. Non-Volatile Memory Backup for Network Storage System
US7721143B2 (en) * 2005-12-06 2010-05-18 Lsi Corporation Method for reducing rebuild time on a RAID device
JP4437489B2 (ja) * 2006-10-25 2010-03-24 株式会社日立製作所 揮発性キャッシュメモリと不揮発性メモリとを備えたストレージシステム
US7996609B2 (en) * 2006-12-20 2011-08-09 International Business Machines Corporation System and method of dynamic allocation of non-volatile memory
JP4536785B2 (ja) * 2008-02-01 2010-09-01 富士通株式会社 情報処理装置、該情報処理装置で行われるデータ記憶を制御する制御部およびデータ記憶の制御方法
JP2008262574A (ja) * 2008-05-07 2008-10-30 Sharp Corp 高信頼性ファイルシステム
US9003118B2 (en) * 2009-01-09 2015-04-07 Dell Products L.P. Systems and methods for non-volatile cache control

Also Published As

Publication number Publication date
JP2011018236A (ja) 2011-01-27
US20110010499A1 (en) 2011-01-13

Similar Documents

Publication Publication Date Title
JP4930555B2 (ja) 制御装置、制御方法およびストレージシステム
US8862808B2 (en) Control apparatus and control method
JP5353887B2 (ja) ディスクアレイ装置の制御ユニット、データ転送装置及び復電処理方法
US7984325B2 (en) Storage control device, data recovery device, and storage system
US9483203B2 (en) Temporary mirroring, logical segregation, and redundant programming or addressing for solid state drive operation
JP5404804B2 (ja) ストレージサブシステム
US8230161B2 (en) Data backup method for a flash memory and controller and storage system using the same
US8838918B2 (en) Information processing apparatus and data backup method
US20190324859A1 (en) Method and Apparatus for Restoring Data after Power Failure for An Open-Channel Solid State Drive
US9367469B2 (en) Storage system and cache control method
US20190042460A1 (en) Method and apparatus to accelerate shutdown and startup of a solid-state drive
JP5808854B2 (ja) ストレージシステム及びストレージ方法
JP4041473B2 (ja) マルチクラスタ・ストレージ・サブシステムのための自律型パワー・ロス・リカバリ
JP4930556B2 (ja) 退避処理装置、退避処理方法およびストレージシステム
US20090327801A1 (en) Disk array system, disk controller, and method for performing rebuild process
JP2009075759A (ja) ストレージ装置及びストレージ装置におけるデータの管理方法
JP2010211734A (ja) 不揮発性メモリを用いた記憶装置
US20170060436A1 (en) Technologies for managing a reserved high-performance memory region of a solid state drive
JP2008171163A (ja) フラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法
JP2012234254A (ja) メモリシステム
US9170887B2 (en) Memory system and controlling method of memory system
JP7318367B2 (ja) ストレージ制御装置及びストレージ制御プログラム
KR20240019364A (ko) 저전력 모드를 위한 nvm에서의 선택적 hmb 백업
JP2010198127A (ja) 半導体記憶デバイス及びその制御方法
JP2011065313A (ja) ストレージデバイス

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110610

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120130

R150 Certificate of patent or registration of utility model

Ref document number: 4930555

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150224

Year of fee payment: 3