JP4930556B2 - 退避処理装置、退避処理方法およびストレージシステム - Google Patents

退避処理装置、退避処理方法およびストレージシステム Download PDF

Info

Publication number
JP4930556B2
JP4930556B2 JP2009163172A JP2009163172A JP4930556B2 JP 4930556 B2 JP4930556 B2 JP 4930556B2 JP 2009163172 A JP2009163172 A JP 2009163172A JP 2009163172 A JP2009163172 A JP 2009163172A JP 4930556 B2 JP4930556 B2 JP 4930556B2
Authority
JP
Japan
Prior art keywords
data
cache
block
storage unit
saved
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009163172A
Other languages
English (en)
Other versions
JP2011018241A (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 JP2009163172A priority Critical patent/JP4930556B2/ja
Priority to US12/822,571 priority patent/US20110010582A1/en
Publication of JP2011018241A publication Critical patent/JP2011018241A/ja
Application granted granted Critical
Publication of JP4930556B2 publication Critical patent/JP4930556B2/ja
Expired - Fee Related 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、退避処理装置に関し、例えば、RAID装置の停電発生に伴う、バックアップ処理に要する処理時間を短縮する退避処理装置等に関する。
複数のHDD(Hard Disk Drive)を組み合わせ、高速・大容量・高信頼性に優れたディスクシステムを構築する技術としてRAID(Redundant Arrays of Independent(Inexpensive)Disks)が広く知られている。
一般に、RAID装置は、その上位装置(例えば、ホストコンピュータ、以下、ホストとする)からのデータアクセスに要する処理時間を短縮するために、キャッシュメモリを用いたユーザデータのリード・ライトが行われている。
このキャッシュメモリには、通常、DRAM(Dynamic Random Access Memory)・SRAM(Static Random Access Memory)といった半導体の記憶装置が利用されている。
そして、RAID装置は、ホストからユーザデータのリード要求を受け付けた場合に、キャッシュメモリ(以下、単にキャッシュとする)からユーザデータを検索し、リード要求に対応するユーザデータを取得したら、取得したキャッシュデータをホストに通知する。
一方、キャッシュからユーザデータを取得しなかった場合、ハードディスク装置(以下、単にディスクとする)に記憶されているユーザデータを取得し、キャッシュに書込みを行う。
また、ユーザデータのライト要求を受け付けた場合には、キャッシュにユーザデータを記憶した時点で、ライト処理が完了した旨をホストへ通知する。その後、所定の条件を満たした時点で、キャッシュに記憶したユーザデータをディスクに記憶する。
ところで、上述したキャッシュは、揮発性の半導体の記憶装置が利用されていることから、キャッシュへの電源供給がなくなれば、キャッシュのユーザデータが消去されてしまう。このため、停電発生時には、キャッシュ上の全データを不揮発性の記憶装置(例:NANDフラッシュ、コンパクトフラッシュ(登録商標)等)に退避させ、バックアップする必要がある。
例えば、図12に示すように、停電発生時に、RAID装置20は、キャッシュ24に記憶されているキャッシュデータ24aを、リードデータおよびライトデータを区別することなく、NANDフラッシュ23に退避させる。
また、停電が発生すると、RAID装置20への電力供給が、PSU(Power Supply Unit)28からSCU(Super Capacitor Unit)27に切替えられ、RAID装置20は、SCU27に蓄えられている電力を使用して、上述した退避処理を行う。
なお、停電発生時のライトバック(ライトデータのハードディスクへの書込み)処理を効率的に行うとともに、停電時の省電力化を図る技術(例えば、特許文献1参照)や、ディスクのアクセス情報に基づき、論理ディスク装置における物理ディスク装置への再配置を行う技術が知られている(例えば、特許文献2参照)。
特開平9−330277号公報 特開2006−59374号公報
しかしながら、上述した従来の技術では、全てのキャッシュデータをバックアップの対象としており、バックアップ処理に、必要以上の処理時間が掛かってしまう場合があった。
例えば、図12に示したキャッシュ24に、膨大なキャッシュデータ24aが記憶されている状況で、RAID装置20に停電が発生した場合、バックアップ処理に、必要以上の処理時間が掛かってしまう場合があった。
この場合、SCU27の電力供給時間内に、キャッシュデータ24aのNANDフラッシュ23への退避が完了せず、一部のキャッシュデータが消失してしまう場合がある。
開示の技術は、上記に鑑みてなされたものであって、バックアップに要する処理時間を短縮する退避処理装置等を提供することを目的とする。
本願の開示する退避処理装置は、記憶部に記憶されているデータの中で、予備記憶部に退避させるデータと、退避させないデータを管理する判定テーブルと、停電発生時に、前記判定テーブルに基づき、前記データを前記記憶部から前記予備記憶部に退避させる停電処理部とを備えたことを要件とする。
本願の開示する退避処理装置によれば、停電発生におけるキャッシュメモリのバックアップに要する処理時間を短縮し、バックアップ速度を向上させるという効果を奏する。
図1は、実施例1の退避処理装置の構成を示す機能ブロック図である。 図2は、実施例2に示すRAID装置の構成を示す機能ブロック図である。 図3は、実施例2のNANDフラッシュのデータ構造の一例を示す図である。 図4は、実施例2に示すキャッシュメモリのデータ構造の一例を示す図である。 図5は、実施例2に示すFPGAの構成を示す機能ブロック図である。 図6は、実施例2に示すSkip管理テーブルのデータ構造の一例を示す図である。 図7は、実施例2に示すTBMのデータ構造の一例を示す図である。 図8は、バックアップの処理を説明するための図である。 図9は、実施例2のRoCの処理を説明するための図である。 図10は、停電時の処理を示すフローチャートである。 図11は、実施例2のRAID装置の処理を示すフローチャートである。 図12は、従来技術を説明するための図である。
以下に、本願の開示する退避処理装置、退避処理方法およびストレージシステムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、実施例1の退避処理装置の構成を示す機能ブロック図である。図1に示した退避処理装置100は、停電発生時に、バックアップに必要とされるデータを退避させる装置で、記憶部101と、予備記憶部102と、判定テーブル103と、停電処理部104とを有する。
記憶部101は、上位装置とのデータ通信に使用されるキャッシュデータを記憶する記憶部である。予備記憶部102は、停電発生時に、記憶部101に記憶されているキャッシュデータがバックアップされる記憶部である。
判定テーブル103は、停電発生時に、記憶部101に記憶されているキャッシュデータの中で、予備記憶部102に退避させるデータと、退避させないデータを管理するテーブルである。
停電処理部104は、判定テーブル103に基づいて、キャッシュデータを記憶部101から予備記憶部102退避させる処理部である。
本実施例1に示した退避処理装置100によれば、停電発生におけるキャッシュメモリのバックアップに要する処理時間を短縮し、バックアップ速度を向上させることができる。
次に、実施例2に示すRAID装置(Redundant Arrays of Independent(Inexpensive)Disks)について説明する。図2は、実施例2に示すRAID装置の構成を示す機能ブロック図である。
図2のRAID装置200は、複数の上位装置(例えば、ホストコンピュータA、B、C・・・以下、単にホストとする)からの要求に応じて、HDD(Hard Disk Drive)に記憶されている各種ユーザデータやプログラムのやり取りを行い、さらに、停電発生時には、バックアップに必要とされるキャッシュデータをNAND型メモリに退避する。
そして、RAID装置200は、本実施例に密接に関連する機能部として、CM(Controller Module)201と、PSU(Power Supply Unit)202と、HDD(Hard Disk Drive)203a〜203zとを有する。
CM201は、キャッシュメモリの管理や、ホストとのインターフェース制御や、各HDDの制御を行う制御部で、NANDフラッシュ201aと、キャッシュ201b、FPGA(Field Programmable Gate Array)201cと、RoC(RAID−on−Chip)201dと、SCU(Super Capacitor Unit)201eと、Exp(エキスパンダ)201fとを有する。
NANDフラッシュ201aは、NAND型メモリで、RAID装置200に停電が発生した場合に、キャッシュ201bに記憶されているキャッシュデータがバックアップされる。
そして、NANDフラッシュ201aは、ブロック単位でアクセスされる構造を有することから、ランダムアクセスを許可せず、シーケンシャルライトにて、キャッシュ201bのキャッシュデータが書込まれる。
具体的に図を用いて説明する。図3は、実施例2のNANDフラッシュのデータ構造の一例を示す図である。図3のNANDフラッシュ201aは、ブロック1からブロックMを有している。
このブロックとは、キャッシュデータを記憶するデータ領域を示し、NANDフラッシュ201aの物理的な分割単位を示すもので、このブロックごとに、キャッシュデータが書込まれる。なお、NANDフラッシュ201の1ブロック当たりのデータ領域は、シーケンシャルライトを行う上で都合の良い4Mbyteとする。
そして、このブロックは、メイン領域とスペア領域を有し、メイン領域は、ユーザデータ等が記憶される領域を示し、スペア領域は、ECC(error check and correct)やデバイス出荷時の不良箇所などを示すデータが記憶される領域を示す。
そして、図3に示したブロック1からブロック13、ブロック13からブロックN1は、キャッシュ201bのキャッシュデータがバックアップされるブロックを示し、その中で、ブロック3、5〜7は不良ブロックを示し、ブロック9は、Dirty状態にあるユーザデータがバックアップされたことを示す。
「不良ブロック」とは、NANDフラッシュ201aの消耗により、キャッシュデータの書込みが規定時間内に完了しないブロックを示す。そして、不良ブロックは、キャッシュデータのバックアップに使用されない。
「Dirty(ダーティ)」とは、バックアップ時に、キャッシュデータの転送エラーが発生し、NANDフラッシュ201aへの書込みが正常に終了しなかった場合を示す。なお、転送エラーの発生原因としては、不良ブロックとは異なり、NANDフラッシュ201aの物理的な故障に依存するものではなく、例えば、ユーザデータに依存するものとする。
ブロックMは、InvalidTableの格納領域を示し、この「InvalidTable」とは、バックアップを行ったユーザデータが、Dirtyか否かを示す情報や、NANDフラッシュ201aが有する不良ブロックを示す情報が記憶され、RoC201dによって各種データが管理されている。
また、InvalidTableを格納する予備領域として、ブロックN1からブロックN10がNANDフラッシュ201aに設けられており、InvalidTableの詳細なデータ構造については後述するものとする。
次に、図2のキャッシュ201bについて説明する。キャッシュ201bは、ホストとHDD203a〜203zとの間で転送が行われるユーザデータを一時的に記憶するキャッシュメモリである。なお、上述してきたようにキャッシュ201bに記憶されているユーザデータをキャッシュデータとする。
図4は、実施例2に示すキャッシュメモリのデータ構造の一例を示す図である。図4に示したキャッシュ201bは、キャッシュデータを一時的に記憶するテーブルを複数有している。
なお、図4に示した各テーブルは、4Mbyteに相当するユーザデータを保存する容量を有し、さらに、このユーザデータは64kのデータ長で、RoC201dに管理されるものとする。
また、ユーザデータの一例としては、リードデータとライトデータが挙げられる。「リードデータ」とは、既に、HDD203aからHDD203zに記憶されているユーザデータを示している。
したがって、ホストからRAID装置200にユーザデータのリード要求があった場合に、CM201が、キャッシュ201bを検索し、リード要求に対応するキャッシュデータを取得した場合は、取得したキャッシュデータをホストに出力する。
一方、キャッシュ201bからキャッシュデータを取得しなかった場合、CM201は、HDD203a等から、リード要求に対応するユーザデータを取得し、取得したユーザデータをキャッシュ201bに複製する。このように、HDD203a等から、リード要求に対応するユーザデータを取得することを以下、「ステージング」とする。
一方、「ライトデータ」とは、ホストからRAID装置200へ書込み要求があったユーザデータで、所定の条件を満たした後、各HDDに書込まれる。特に、このライトデータは、HDD203a〜203zのいずれのHDDにも記憶されていないユーザデータを示し、停電発生時には、NANDフラッシュ201aへ積極的にバックアップされることが望まれる。
そして、図4に示したキャッシュ201bは、例えば、テーブル1からテーブル5、テーブル7、テーブル8にライトデータが記憶され、テーブル6にはリードデータが記憶されているものとする。
次に、図2の説明に戻り、FPGA201cについて説明する。FPGA201cは、所定のプログラムによって制御される集積回路を示し、DMA(Direct Memory Access)エンジンを有する。
このDMAとは、CPU(Central Processing Unit)を介さずに装置とRAM(Random Access Memory)間でデータ転送を行う方式を示し、本実施例では、停電時にキャッシュデータをNANDフラッシュ201aに退避・復元するために必要な機能を付加したDMAをFPGA201cに搭載している。
なお、DMAの一例として、停電時に、キャッシュデータを退避するライトDMA(TRN)、退避データをキャッシュ201bに戻すリードDMA(RCV)、NANDフラッシュ201aのイレースやチェックを行うためのコマンド発行DMA(UCE)といったDMAが挙げられる。そして、このDMAは、RoC201dの命令によって、ハードウェア的にデータを転送する。
このFPGA201cについて図を用いて説明する。図5は、実施例2に示すFPGAの構成を示す機能ブロック図である。停電発生時に、FPGA201cは、キャッシュ201bの所定データをNANDフラッシュ201aに退避させる。
そして、復電時には、停電時にNANDフラッシュ201aへ退避させたデータをキャッシュ201bに戻す。そして、FPGA201cは、IF(Interface)制御部211と、アクセスコントローラ212と、アクセス管理テーブル213と、TRN214と、IF制御部215とを有する。
IF制御部211は、RoC201dとTRN214との各種データのやり取りや、RoC201dとアクセスコントローラ212との各種データのやり取りを制御するインターフェースである。
アクセスコントローラ212は、IF制御部211を介して、アクセス管理テーブル213aと、RoC201dとの各種データのやり取りを制御する制御部である。
アクセス管理テーブル213は、Skip管理テーブル213aと、上述した不良ブロックを管理するTBM(不良ブロック管理テーブル)213bと有する。まず、Skip管理テーブル213aのデータ構造について説明する。
図6は、Skip管理テーブルのデータ構造の一例を示す図である。図6に示したSkip管理テーブル213aは、停電発生時に、NANDフラッシュ201aへ退避させるか否かを示すSkipフラグを記憶するテーブルで、RoC201dのファームウェアによって管理される。
そして、図6に示したように、0もしくは1の値が、skipフラグに該当し、skipフラグが0の場合は、停電発生時に、対応するキャッシュデータが、NANDフラッシュ201aに積極的にバックアップされ、skipフラグが1に対応するキャッシュデータは、スキップされ、NANDフラッシュ201aにバックアップされない。
次に、このskipフラグとキャッシュデータの対応関係について図4を用いて説明する。テーブル1に対応するskipフラグは、Skipフラグ管理テーブル213aの最上位に記憶されている「0」となる。
テーブル2〜テーブル8についても同様に、Skipフラグ管理テーブル213aに記憶されているSkipフラグが順々に対応する。したがって、テーブル2〜テーブル5、テーブル7、テーブル8のSkipフラグは「0」となり、テーブル6のSkipフラグは「1」となる。
したがって、テーブル1〜テーブル5、テーブル7、テーブル8のキャッシュデータが、NANDフラッシュ201aに積極的にバックアップされ、テーブル6のキャッシュデータは、バックアップされない。
また、ステージングが開始される場合に、Skipフラグ1に対応するキャッシュ201bのテーブルが、リードデータのデータ領域として、優先して使用される。なお、Skipフラグ1に対応するテーブルが存在しない場合、リードデータを記憶するデータ領域が確保された時に、確保された領域に対応するSkipフラグが1となる。
次に、図5に示したTBM213bについて説明する。TBM213bは、図2に示したNANDフラッシュ201aの劣化によるライト失敗(Program Fail)、消去失敗(Erace Fail)、リード不可(Load Fail)が発生する不良ブロックを管理するテーブルで、上述したInvalidTableに相当する。そして、RoC201dのファームウェアにて各データが管理される。
具体的に図を用いて説明する。図7は、実施例2に示すTBMのデータ構造の一例を示す図である。図7のTBM213bは、「Dirty」と「Invalid」の項目を有する。
このDirtyとは、上述したように、バックアップ時に、ユーザデータの転送エラーが発生し、NANDフラッシュ201aへの書込みが正常に終了しなかった場合を示している。
そして、図7に示したDirtyには、0もしくは1のフラグが記憶されており、図7に示すようにフラグ1が立っている場合は、Dirty(ダーティ)な状態を示し、フラグ0の場合は、正常にユーザデータの転送が終了した場合を示す。
このように、TBM213bのDirtyに記憶されているフラグを以下、Dirtyフラグとする。なお、Dirtyフラグが1に対応するキャッシュデータは、RoC201dにより、定期的にHDD203a等に書込まれる。
「Invalid」は、各NANDフラッシュ201のブロックが「不良ブロック」であることを示す。したがって、キャッシュデータのバックアップに使用することができない領域を示す。なお、TBM213bのInvalidに記憶されているフラグを以下、不良ブロックフラグとする。
次に、上述した不良ブロックフラグとNANDフラッシュ201aの対応関係について図3を用いて説明する。まず、ブロック1に対応する不良ブロックは、TBM213bの最上位に記憶されている「0」となる。
ブロック2以降についても同様に、TBM213bに記憶されている不良ブロックフラグが順々に対応する。したがって、例えば、ブロック2、ブロック4の不良ブロックフラグは「0」となり、ブロック3、ブロック5〜ブロック7の不良ブロックフラグは「1」となる。
そして、ブロック9に対応するDirtyフラグは「1」であることから、ブロック9にキャッシュデータを書込む場合に、キャッシュデータの転送エラーが発生したことを示す。一方、ブロック9以外のDirtyフラグは「0」であるから、キャッシュデータの書込みが正常に終了したことを示している。
次に、図5の説明に戻り、TRN214について説明する。TRN214は、キャッシュ201dのユーザデータを退避するDMAを示し、メイン制御部214aと、リード部214bと、エラー制御部214cと、バッファ部214dと、NANDライト制御部214eとを有する。
メイン制御部214aは、TBM213bのアドレス管理や、TBM213bに記憶されている不良ブロックフラグや、Dirtyフラグの更新を行う処理部である。そして、停電発生時に、キャッシュ201bのリード開始をリード部214bに要求する。
リード部214bは、停電発生時に、キャッシュ201bのキャッシュデータを読込み、読込んだキャッシュデータに対し、skipフラグを用いて、NANDフラッシュ201aに退避させるか否かを判定し、所定のキャッシュデータをエラー制御部214c、バッファ部214dに出力する制御部である。
そして、リード部214bは、フラグ判定部220と、キャッシュアドレス管理部221と、リード制御部222とを有する。
フラグ判定部220は、Skip管理テーブル213aを参照し、参照したskipフラグを使用して、リード部214bが取得したキャッシュデータをNANDフラッシュ201aに退避させるか否かを判定し、判定結果をリード制御部222に出力する。
例えば、参照したskipフラグが0である場合、リード部214bが取得したキャッシュデータをNANDフラッシュ201aへの退避が必要なキャッシュデータと判定する。一方、参照したskipフラグが1である場合、NANDフラッシュ201aへの退避が必要でないキャッシュデータと判定する。
キャッシュアドレス管理部221は、キャッシュデータのキャッシュ201bにおける位置を示すキャッシュアドレスを管理し、管理しているキャッシュアドレスをフラグ判定部221に出力する処理部である。
なお、上述したキャッシュアドレスにより、キャッシュ201bが有する各テーブルが識別され、所定のテーブルにキャッシュデータが一時的に記憶される。
リード制御部222は、フラグ判定部220が、NANDフラッシュ201aへの退避が必要と判定したキャッシュデータをエラー制御部214cとバッファ制御部214dとに出力する。
エラー制御部214cは、転送エラーが発生した場合、転送エラーが発生したNANDブロックを識別するアドレスをメイン制御部214aに通知し、TBM213bのDirtyフラグの更新を要求する。
バッファ部214dは、リード制御部222から入力されたキャッシュデータのデータ化け防止のために、XOR(排他的論理和)演算を行って、パリティデータを生成し、キャッシュデータにXORパリティを付加する。
さらに、CRC(Cyclical Redundancy Check)とAID(AreaID)からなる冗長ビットをユーザデータに付加して、付加したユーザデータを保持するためのバッファを有し、そのバッファに記憶されているユーザデータをNANDライト制御部214eに出力する。
NANDライト制御部214eは、NANDフラッシュ201aの各ブロックが識別されるアドレスを有し、さらに、IF制御部215を介して、バッファ部214dから入力されたユーザデータをNANDフラッシュ201aに出力し、書込みを行う。
さらに、NANDライト制御部214eは、キャッシュデータをNANDフラッシュ201aに書込む際に、転送エラーが発生し、書込みに失敗した場合、対応するブロックの識別データをエラー制御部214cに出力する。
IF制御部215は、TRN214とNANDフラッシュ201aとの各種データのやり取りを制御するインターフェースである。
次に、これまで説明してきたキャッシュ201bと、Skip管理テーブル213aと、TBM213bと、NANDフラッシュ201aを用いて、停電発生時に、RAID装置200で行われる処理について図を用いて説明する。
図8は、バックアップの処理を説明するための図である。まず、キャッシュ201bは図4と同様に、ユーザデータを記憶するテーブルとして、テーブル1〜テーブル8を有し、テーブル6には、リードデータが記憶され、テーブル6以外の各テーブルには、ライトデータが記憶されているものとする。
そして、テーブル1〜テーブル8に記憶されているキャッシュデータに基づいて、RoC201dのファームウェアが、Skip管理テーブル213aにskipフラグを記憶する。この場合、テーブル6に対応するskipフラグは「1」となり、テーブル6以外の各テーブルに対応するskipフラグは「0」となる。
そして、図5に示したFPGA201cが、TBM213bに基づいて、NANDフラッシュの各ブロックに対するDirtyとInvalidについて管理しているものとする。
そして、上述した場合において、停電が発生すると、TAN214は、RoC201dからの命令を受けて、キャッシュ201bのキャッシュデータを、skipフラグに基づき、NANDフラッシュ201aに書込みを行う。以下、詳細に説明する。
まず、FPGA201cが、NANDフラッシュ201aのブロック1に対応する不良ブロックフラグをTBM213bからリードして、不良ブロックフラグ「0」を取得する。
そして、FPGA201cが、キャッシュ201bのテーブル1に対応するskipフラグをSkip管理テーブル213aからリードする。この場合、skipフラグは「0」であるから、テーブル1に記憶されているキャッシュデータをNANDフラッシュ201aのブロック1へ書込む。
そして、ブロック1への書込みが、転送エラーを発生することなく終了したことをTRN214が確認した後、テーブル2に記憶されているキャッシュデータのバックアップを開始する。
そして、テーブル2のバックアップ領域に対応するブロック2の不良ブロックフラグ「0」をTBM213bから取得し、FPGA201cが、キャッシュ201bのテーブル2に対応するskipフラグをSkip管理テーブル213aからリードする。
この場合、skipフラグは「0」であるから、テーブル2に記憶されているキャッシュデータをNANDフラッシュ201aのブロック2へ書込む。
そして、ブロック2への書込みが、転送エラーを発生することなく終了したことをTRN214が確認した後、テーブル3に記憶されているキャッシュデータのバックアップを開始する。
そして、テーブル3のバックアップ領域に対応するブロック3の不良ブロックフラグ「1」をTBM213bから取得する。上述したようにブロック3は、不良ブロックになることから、バックアップのデータ領域として使用されず、テーブル3のキャッシュデータは、ブロック3以降のブロックに記憶されることになり、ブロック4が記憶されるブロックの候補となる。
したがって、FPGA201cは、NANDフラッシュ201aのブロック4に対応する不良ブロックフラグをTBM213bからリードし、この場合、NANDフラッシュ201aのブロック4に対応する不良ブロックフラグ「0」を取得する。
そして、FPGA201cは、キャッシュ201bのテーブル3に対応するskipフラグをSkip管理テーブル213aからリードする。この場合、skipフラグは「0」であるから、テーブル3に記憶されているキャッシュデータをNANDフラッシュ201aのブロック4へ書込む。
そして、ブロック4への書込みが、転送エラーを発生することなく終了したことをTRN214が確認した後、テーブル4に記憶されているキャッシュデータのバックアップを開始する。
そして、テーブル4のバックアップ領域に対応するブロック5の不良ブロックフラグ「1」をTBM213bから取得する。ブロック5は、不良ブロックであるから、バックアップのデータ領域として使用されず、テーブル4のキャッシュデータは、ブロック6以降のブロックに記憶されることになり、ブロック6が記憶されるブロックの候補となる。
したがって、FPGA201cは、NANDフラッシュ201aのブロック6に対応する不良ブロックフラグをTBM213bからリードし、この場合、NANDフラッシュ201aのブロック6に対応する不良ブロックフラグ「1」を取得する。
ブロック5と同様に、ブロック6も不良ブロックであるから、FPGA201cは、NANDフラッシュ201aのブロック7に対応する不良ブロックフラグをTBM213bからリードし、この場合、NANDフラッシュ201aのブロック7に対応する不良ブロックフラグ「1」を取得する。
ブロック6と同様に、ブロック7も不良ブロックであるから、FPGA201cは、NANDフラッシュ201aのブロック8に対応する不良ブロックフラグをTBM213bからリードし、この場合、NANDフラッシュ201aのブロック8に対応する不良ブロックフラグ「0」を取得する。
そして、FPGA201cは、キャッシュ201bのテーブル4に対応するskipフラグをSkip管理テーブル213aからリードする。この場合、skipフラグは「0」であるから、テーブル4に記憶されているキャッシュデータをNANDフラッシュ201aのブロック8へ書込む。
そして、ブロック8への書込みが、転送エラーを発生することなく終了したことをTRN214が確認した後、テーブル5に記憶されているキャッシュデータのバックアップを開始する。
そして、テーブル5のバックアップ領域に対応するブロック9の不良ブロックフラグ「0」をTBM213bから取得する。そして、FPGA201cは、キャッシュ201bのテーブル5に対応するskipフラグをSkip管理テーブル213aからリードする。この場合、skipフラグは「0」であるから、テーブル5に記憶されているキャッシュデータをNANDフラッシュ201aのブロック9へ書込む。
そして、ブロック9へテーブル5のキャッシュデータを書込む際、転送エラーをTRN214が確認したとする。この場合、TRN214は、ブロック9に対応するTBM213bのDirtyフラグを「1」にする。
そして、再び、テーブル5のキャッシュデータのバックアップをブロック10に対して開始する。この場合、対応する不良ブロックフラグは「0」であることから、テーブル5のキャッシュデータがNANDフラッシュ201aのブロック10へ書込まれる。
なお、このブロック9は、不良ブロックではなく、NANDフラッシュ201aのハード的な故障は発生していないことから、次回のイレース処理後に、FPGA201cがブロック9に記憶されているキャッシュデータを自動的にクリアする。
そして、ブロック10への書込みが、転送エラーを発生することなく終了したことをTRN214が確認した後、テーブル6に記憶されているキャッシュデータのバックアップを開始する。
そして、テーブル6のバックアップ領域に対応するブロック11の不良ブロックフラグ「0」をTBM213bから取得する。そして、FPGA201cは、キャッシュ201bのテーブル6に対応するskipフラグをSkip管理テーブル213aからリードする。
この場合、テーブル6に記憶されているデータは、リードデータが記憶されているから、テーブル6に対応するskipフラグとして「1」をリードすることになる。その結果、TRN214は、テーブル6に記憶されているキャッシュデータのバックアップをスキップさせる。
そして、テーブル7に記憶されているキャッシュデータのバックアップの開始へ移る。
この場合、FPGA201cは、テーブル7に対応するskipフラグをリードし、skipフラグ「0」が記憶されていることから、キャッシュ201bのテーブル7に記憶されているキャッシュデータをNANDフラッシュ201aのブロック11へ書込む。
そして、ブロック11への書込みが、転送エラーを発生することなく終了したことをTRN214が確認した後、テーブル8に記憶されているキャッシュデータのバックアップを開始する。
そして、テーブル8のバックアップ領域に対応するブロック12の不良ブロックフラグ「0」をTBM213bから取得する。そして、FPGA201cは、テーブル8に対応するskipフラグをリードし、skipフラグ「0」が記憶されていることから、キャッシュ201bのテーブル8に記憶されているキャッシュデータをNANDフラッシュ201aのブロック12へ書込む。
このように、停電発生時にキャッシュデータをNANDフラッシュ201aへバックアップする際、skipフラグに基づいて、バックアップするキャッシュデータを判定し、判定結果に基づき、キャッシュデータのバックアップを行っている。
なお、キャッシュ201bのテーブル8のキャッシュデータのバックアップが終了した後、例えば、バックアップに要する処理時間に支障がない場合は、テーブル6に記憶されているリードデータについても、NANDフラッシュ201aへバックアップされても良いものとする。
次に、図2の説明に戻り、RoC201dについて説明する。RoC201dは、CM201を全体制御する制御装置であり、キャッシュ201bのバックアップ処理や、ホストとのインターフェース制御や、キャッシュ201bの管理を行うファームウェアを有する処理部である。
そして、ホストからユーザデータの書込み命令を受け付けた場合、skipフラグ1に対応するキャッシュ201bのテーブルを、ユーザデータの書込まれるデータ領域とはせずに、skipフラグ0に対応するテーブルにユーザデータの書込み行う。
一方、ホストからユーザデータの読込み命令を受け付けた場合、skipフラグ1に対応するキャッシュ201bのテーブルをリードデータの領域に使用し、ユーザデータを記憶する。
また、ステージング時には、リードデータのデータ領域を確保するが、skipフラグ1に対応するキャッシュ201bのテーブルがない場合、所定のテーブルをリードデータのデータ領域とし、対応するskipフラグを1にする。
次に、RoC201dが行うキャッシュ201bの管理について図を用いて説明する。図9は、実施例2のRoCの処理を説明するための図である。図9に示したキャッシュ管理テーブル231は、RoC201dのファームウェアが、キャッシュ201bを管理するために使用するためのテーブルである。
例えば、RAID装置200に対して、複数の上位装置(例えば、ホストA、ホストB、ホストCとする)からIO接続の要求があり、ホストA、ホストB、ホストCがRAID装置200にアクセスされていたとする。
この場合、例えば、キャッシュ201bのテーブル6がリードデータの領域に使用されていた時、テーブル6に対応するskipフラグは「1」となる。そして、キャッシュ管理テーブル231により、テーブル6に使用されるデータ領域が詳細に管理される。
この時、「使用中」は、ホストA、ホストB、ホストCのうちいずれかのホストが、skipフラグ1に対応するキャッシュ201bのテーブルをリードデータの領域として使用しているか否かを示すものとする。
図9の例では、キャッシュ201bのテーブル6が、リードデータの領域に使用されており、「使用中」に記憶されているフラグは1となり、さらに、「Read中」は、ホストA、ホストB、ホストCのいずれかのホストが、リードデータをキャッシュ201bから読込んでいる状態を示すものとする。
そして、ホストA、B、Cが、キャッシュ201bのテーブル6の使用を終了した場合、RoC201dのファームウェアが、Skip管理テーブル213aに記憶されているskipフラグ「1」を開放する。
次に、図2の説明に戻り、SCU(Super Capacitor Unit)201eについて説明する。SCU201eは、大容量コンデンサを示し、RAID装置200に停電が発生した際に、バッテリーフリーで、RoC201dに電力を供給する。なお、充電された電力を供給するため、PSU202とは異なり、供給する電力には、限りがあるものとする。
SCU201eは、「電気二重層」(導体に絶縁体をはさみ、電圧をかけると電荷が蓄積する)を利用して物理的に電荷の蓄電が行っている。したがって、化学的に蓄電するバッテリーに比べて充電や、放電による劣化が少なく、電荷の移動速度で充電が行われる。
EXP(エキスパンダ)201fは、RoC201dとHDD203a〜HDD203zとの間で送受信されるユーザデータを中継する処理部である。
PSU(Power Supply Unit)202は、RAID装置200へ電力を供給する装置で、停電が発生していない場合、RAID装置200への電力の供給を停止する。なお、上述したように、この場合、SCU201eの放電により、RAID装置200へ電力が供給される。
HDD203a〜HDD203zは、RAIDグループを構成し、高速性や安全性のレベルに応じて、データが振り分けられており、ユーザデータの書込みやプログラムを記憶する記憶媒体(ディスク)等を有する。
次に、実施例2に示すRAID装置200の停電時の処理について説明する。図10は停電時の処理を示すフローチャートである。
まず、RAID装置200に停電が発生し、RoC201dへの電力の供給が、PSU202からSCU201eに切り替わる(ステップS100)。そして、RoC201から命令を受けて、TRN214が、TBM213bのリードを行う(ステップS101)。
そして、バックアップ対象となるブロックの不良ブロックフラグが1でない場合(ステップS102、No)、Skip管理テーブル213aのリードを行う(ステップS103)。
この場合、skipフラグが1でない場合(ステップS104、No)、skipフラグ1に対応するキャッシュデータをNANDフラッシュ201aに転送する(ステップS105)。
その後、ステップS105にて転送したキャッシュデータに転送エラーが発生しなかった場合(ステップS106、No)、ステップS105にて転送したキャッシュデータの次のアドレスに記憶されているキャッシュデータを取得する(ステップS107)。
そして、ステップS101でリードしたNANDフラッシュ201aのブロックからインクリメントした次のブロックに対応するアドレスを取得する(ステップS108)。
なお、ステップS101において、TRN214が、キャッシュ201bに対応するTBM213bのリードを行った際、TBM213bの不良ブロックフラグが1である場合(ステップS102、Yes)、ステップS108に移行する。
また、転送エラーが発生した場合(ステップS106、Yes)、TBM213bのDirtyフラグを0から1にする(ステップS109)。
このフローチャートによれば、停電発生時にキャッシュデータをNANDフラッシュ201aへバックアップする際、skipフラグに基づいて、バックアップするキャッシュデータを判定し、所定のキャッシュデータについてバックアップを行っていることから、キャッシュデータのバックアップに要する処理時間の短縮することができる。
次に、実施例2のRAID装置の処理について説明する。まず、実施例2のRAID装置200は、ホストからIO(Input/Output:アクセス)接続の要求を受け付ける(ステップS200)。そして、RAID装置200は、IO接続の要求に対する応答をホストに行う(ステップS201)。
その後、ホストは、RAID装置200に対し、ユーザデータのリードを要求する(ステップS202)。そして、RAID装置200は、ホストから送信されるディスクアドレスを受信する(ステップS203)。
そして、RAID装置200は、ステップS203にて受信したディスクアドレスに基づき、キャッシュ201bのキャッシュデータの検索を行い(ステップS204)、ホストから要求されているリードデータが、キャッシュ201bから取得できた場合(ステップS205、Yes)、ステップS214へ移行する。
一方、キャッシュ201bからリードデータを取得しなかった場合(ステップS205、No)、キャッシュ201bにステップS202に対応するリードデータを記憶するデータ領域を確保し(ステップS206)、ステージングを開始する(ステップS207)。
この際、キャッシュ201bのテーブルに対応するskipフラグが1となる。その後、RAID装置200は、HDD203a〜HDD203zからリードデータに対応するユーザデータを取得する(ステップS208)。
そして、RAID装置200は、ステップS208にて取得したユーザデータをキャッシュ201bにコピーし、ステージングを完了させる(ステップS209)。
そして、RAID装置200は、ホストに対して、IO接続における準備が完了した旨の通知を行う(ステップS210)。その後、RAID装置200は、ホストから再びリード要求を受信し(ステップS211)、さらに、ディスクアドレスを受信する(ステップS212)。
そして、ステップS212にて受信したディスクアドレスに基づき、リード要求に対応するキャッシュデータをキャッシュ201bから検索する(ステップS213)。そして、ステップS208に取得したユーザデータに対応するキャッシュデータを取得し、ステップS211にて受信したリード要求の応答を行う(ステップS214)。
そして、ホストは、RAID装置200に対して、リードデータの読込み要求を行い(ステップS215)、読込み要求を受信したRAID装置200は、ホストに対し、ステップS213にて取得したキャッシュデータを送信する(ステップS216)。
そして、他のホストがステップS206にて確保したキャッシュ201bのキャッシュ領域を使用していなければ、skipフラグを開放する(ステップS217)。
上述してきたように、本実施例2では、skipフラグに基づいて、バックアップするキャッシュデータを判定し、所定のキャッシュデータについてバックアップを行っていることから、キャッシュデータのバックアップに要する処理時間を短縮することができる。
10 ホスト
20、200 RAID装置
21、201d RoC
22、201c FPGA
23、201a NANDフラッシュ
24、201b キャッシュ
25、201f Exp
26a〜26z、203a、203b〜203z HDD
27、201e SCU
28、202 PSU
100 退避処理装置
101 記憶部
102 予備記憶部
103 判定テーブル
104 停電処理部
201 CM
211、215 IF制御部
212 アクセスコントローラ
213 アクセス管理テーブル
213a Skip管理テーブル
213b TBM
214 TRN
214a メイン制御部
214b リード部
214c エラー制御部
214d バッファ部
214e NANDライト制御部

Claims (5)

  1. 複数のブロックを有する第1の記憶部と、
    第2の記憶部に記憶されているデータの中で、前記第1の記憶部に退避させるデータと、退避させないデータを管理するとともに、前記退避させるデータを前記第1の記憶部のどのブロックに退避させるかを管理する判定テーブルと、
    停電発生時に、前記判定テーブルに基づき、前記退避させるデータを前記第2の記憶部から前記第1の記憶部の所定のブロックに退避させる停電処理部と
    を有する退避処理装置。
  2. 前記判定テーブルが、前記第2の記憶部に記憶されているデータを、HDDへ書込対象となるライトデータもしくは、HDDから読込んだリードデータかを管理し、前記停電処理部は、前記判定テーブルに基づき、前記ライトデータを前記第1の記憶部の所定のブロックに退避させる請求項1に記載の退避処理装置。
  3. 退避処理装置が、
    記憶装置に記憶されているデータの中で、複数のブロックを有する他の記憶装置に退避させるデータと、退避させないデータを管理するとともに、前記退避させるデータを前記他の記憶装置のどのブロックに退避させるかを管理する判定テーブルを有し、
    前記データを前記記憶装置に記憶する記憶ステップと、
    停電発生時に、前記判定テーブルに基づき、前記退避させるデータを前記記憶装置から前記他の記憶装置の所定のブロックに退避させる停電処理ステップと
    を含む退避処理方法。
  4. 前記判定テーブルが、前記記憶装置に記憶されているデータを、HDDへ書込対象となるライトデータもしくは、HDDから読込んだリードデータかを管理し、前記停電処理ステップは、前記判定テーブルに基づき、前記ライトデータを前記他の記憶装置の所定のブロックに退避させる請求項3に記載の退避処理方法。
  5. 上位装置からアクセスされる記憶装置と、
    前記記憶装置へのアクセスを制御する制御装置とを備えたストレージシステムであって、
    前記制御装置は
    データが記憶される記憶部と、
    前記記憶部に記憶されたデータの退避先となる複数のブロックを有する他の記憶部と、
    前記記憶部に記憶されているデータの中で、前記他の記憶部に退避させるデータと、退避させないデータを管理するとともに、前記退避させるデータを前記他の記憶部のどのブロックに退避させるかを管理する判定テーブルと、
    停電発生時に、前記判定テーブルに基づき、退避させるデータを前記記憶部から前記他の記憶部の所定のブロックに退避させる停電処理部と
    を有する事を特徴とするストレージシステム。
JP2009163172A 2009-07-09 2009-07-09 退避処理装置、退避処理方法およびストレージシステム Expired - Fee Related JP4930556B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009163172A JP4930556B2 (ja) 2009-07-09 2009-07-09 退避処理装置、退避処理方法およびストレージシステム
US12/822,571 US20110010582A1 (en) 2009-07-09 2010-06-24 Storage system, evacuation processing device and method of controlling evacuation processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009163172A JP4930556B2 (ja) 2009-07-09 2009-07-09 退避処理装置、退避処理方法およびストレージシステム

Publications (2)

Publication Number Publication Date
JP2011018241A JP2011018241A (ja) 2011-01-27
JP4930556B2 true JP4930556B2 (ja) 2012-05-16

Family

ID=43428372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009163172A Expired - Fee Related JP4930556B2 (ja) 2009-07-09 2009-07-09 退避処理装置、退避処理方法およびストレージシステム

Country Status (2)

Country Link
US (1) US20110010582A1 (ja)
JP (1) JP4930556B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8938574B2 (en) 2010-10-26 2015-01-20 Lsi Corporation Methods and systems using solid-state drives as storage controller cache memory
JP5742362B2 (ja) * 2011-03-28 2015-07-01 富士通株式会社 退避処理装置
JP2012216108A (ja) * 2011-04-01 2012-11-08 Nec Corp 情報処理装置およびプログラム転送方法
JP2013229013A (ja) 2012-03-29 2013-11-07 Semiconductor Energy Lab Co Ltd アレイコントローラ及びストレージシステム
CN102750202B (zh) * 2012-06-06 2015-07-08 宇龙计算机通信科技(深圳)有限公司 数据保护方法和装置
US9021141B2 (en) 2013-08-20 2015-04-28 Lsi Corporation Data storage controller and method for exposing information stored in a data storage controller to a host system
US9274888B2 (en) * 2013-11-15 2016-03-01 Qualcomm Incorporated Method and apparatus for multiple-bit DRAM error recovery
WO2015097752A1 (ja) * 2013-12-24 2015-07-02 株式会社日立製作所 ストレージシステム
US10146483B2 (en) 2016-02-29 2018-12-04 Toshiba Memory Corporation Memory system

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5263142A (en) * 1990-04-12 1993-11-16 Sun Microsystems, Inc. Input/output cache with mapped pages allocated for caching direct (virtual) memory access input/output data based on type of I/O devices
US6101576A (en) * 1992-07-31 2000-08-08 Fujitsu Limited Method for saving generated character image in a cache system including a backup cache
JPH06309234A (ja) * 1993-02-15 1994-11-04 Toshiba Corp ディスク制御装置
JPH07175728A (ja) * 1993-12-20 1995-07-14 Hokkaido Nippon Denki Software Kk ディスクキャッシュデータ保全方式
US5636359A (en) * 1994-06-20 1997-06-03 International Business Machines Corporation Performance enhancement system and method for a hierarchical data cache using a RAID parity scheme
US5748874A (en) * 1995-06-05 1998-05-05 Mti Technology Corporation Reserved cylinder for SCSI device write back cache
US6105103A (en) * 1997-12-19 2000-08-15 Lsi Logic Corporation Method for mapping in dynamically addressed storage subsystems
JP3968207B2 (ja) * 2000-05-25 2007-08-29 株式会社日立製作所 データ多重化方法およびデータ多重化システム
US6557077B1 (en) * 2000-07-07 2003-04-29 Lsi Logic Corporation Transportable memory apparatus and associated methods of initializing a computer system having the same
US6928521B1 (en) * 2000-08-01 2005-08-09 International Business Machines Corporation Method, system, and data structures for using metadata in updating data in a storage device
JP2002334015A (ja) * 2001-05-10 2002-11-22 Nec Corp ディスク装置
JP3811149B2 (ja) * 2003-08-18 2006-08-16 株式会社日立製作所 キャッシュメモリバックアップ装置
US7395452B2 (en) * 2004-09-24 2008-07-01 Microsoft Corporation Method and system for improved reliability in storage devices
DE602004003583T2 (de) * 2004-10-04 2007-11-22 Research In Motion Ltd., Waterloo System und Verfahren zum Datensichern bei Stromausfall
US7337277B2 (en) * 2004-11-18 2008-02-26 International Business Machines Corporation Apparatus, system, and method for flushing cache data
US7509474B2 (en) * 2005-06-08 2009-03-24 Micron Technology, Inc. Robust index storage for non-volatile memory
US7451348B2 (en) * 2005-08-04 2008-11-11 Dot Hill Systems Corporation Dynamic write cache size adjustment in raid controller with capacitor backup energy source
US7533215B2 (en) * 2005-09-15 2009-05-12 Intel Corporation Distributed and packed metadata structure for disk cache
JP4662550B2 (ja) * 2005-10-20 2011-03-30 株式会社日立製作所 ストレージシステム
US8275949B2 (en) * 2005-12-13 2012-09-25 International Business Machines Corporation System support storage and computer system
KR100755700B1 (ko) * 2005-12-27 2007-09-05 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법
US7725653B2 (en) * 2006-06-29 2010-05-25 Emc Corporation Method for enabling a memory as a function of estimated power source capacity
US7783830B2 (en) * 2006-11-29 2010-08-24 Seagate Technology Llc Solid state device pattern for non-solid state storage media
US20100115175A9 (en) * 2006-12-18 2010-05-06 Zhiqing Zhuang Method of managing a large array of non-volatile memories
US7916540B2 (en) * 2007-05-17 2011-03-29 Samsung Electronics Co., Ltd. Non-volatile memory devices and systems including bad blocks address re-mapped and methods of operating the same
US7975109B2 (en) * 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
JP2009075759A (ja) * 2007-09-19 2009-04-09 Hitachi Ltd ストレージ装置及びストレージ装置におけるデータの管理方法
JP4536785B2 (ja) * 2008-02-01 2010-09-01 富士通株式会社 情報処理装置、該情報処理装置で行われるデータ記憶を制御する制御部およびデータ記憶の制御方法
KR20090102192A (ko) * 2008-03-25 2009-09-30 삼성전자주식회사 메모리 시스템 및 그것의 데이터 저장 방법
WO2009124320A1 (en) * 2008-04-05 2009-10-08 Fusion Multisystems, Inc. Apparatus, system, and method for bad block remapping
CN101286086B (zh) * 2008-06-10 2010-08-11 杭州华三通信技术有限公司 硬盘掉电保护方法、装置以及硬盘和硬盘掉电保护***
KR101515525B1 (ko) * 2008-10-02 2015-04-28 삼성전자주식회사 메모리 장치 및 메모리 장치의 동작 방법
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
US20110010582A1 (en) 2011-01-13
JP2011018241A (ja) 2011-01-27

Similar Documents

Publication Publication Date Title
JP4930556B2 (ja) 退避処理装置、退避処理方法およびストレージシステム
US8862808B2 (en) Control apparatus and control method
JP4939234B2 (ja) フラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法
JP4930555B2 (ja) 制御装置、制御方法およびストレージシステム
US8286028B2 (en) Backup method and disk array apparatus
US8230161B2 (en) Data backup method for a flash memory and controller and storage system using the same
TWI497293B (zh) 固態儲存裝置內之資料管理
JP5353887B2 (ja) ディスクアレイ装置の制御ユニット、データ転送装置及び復電処理方法
US9529537B2 (en) Storage system and storage method
US20190324859A1 (en) Method and Apparatus for Restoring Data after Power Failure for An Open-Channel Solid State Drive
US20090327801A1 (en) Disk array system, disk controller, and method for performing rebuild process
US20090198931A1 (en) Information processing apparatus and data backup method
US9251059B2 (en) Storage system employing MRAM and redundant array of solid state disk
JP2010049586A (ja) フラッシュメモリ搭載ストレージ装置
JP2013061799A (ja) 記憶装置、記憶装置の制御方法およびコントローラ
JP2008204041A (ja) ストレージ装置及びデータ配置制御方法
US20210318739A1 (en) Systems and methods for managing reduced power failure energy requirements on a solid state drive
JP5691311B2 (ja) 退避処理装置、退避処理方法および退避処理プログラム
US6701452B1 (en) Disk array controller having distributed parity generation function
US9047232B2 (en) Storage apparatus and controlling method for data transmission based on control information
JP2002175157A (ja) ディスクアレイ装置
JP5360287B2 (ja) データ制御方法およびシステム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110719

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

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

LAPS Cancellation because of no payment of annual fees