JPH10320135A - 適応型電力障害リカバリシステム - Google Patents

適応型電力障害リカバリシステム

Info

Publication number
JPH10320135A
JPH10320135A JP10017287A JP1728798A JPH10320135A JP H10320135 A JPH10320135 A JP H10320135A JP 10017287 A JP10017287 A JP 10017287A JP 1728798 A JP1728798 A JP 1728798A JP H10320135 A JPH10320135 A JP H10320135A
Authority
JP
Japan
Prior art keywords
data
array controller
memory
power failure
write
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
JP10017287A
Other languages
English (en)
Other versions
JPH10320135A5 (ja
Inventor
E Smith Gerald
イー スミス ジェラルド
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.)
Sony Group Corp
Original Assignee
Aiwa Co 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 Aiwa Co Ltd filed Critical Aiwa Co Ltd
Publication of JPH10320135A publication Critical patent/JPH10320135A/ja
Publication of JPH10320135A5 publication Critical patent/JPH10320135A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)
  • Stand-By Power Supply Arrangements (AREA)

Abstract

(57)【要約】 【課題】 不揮発性ランダムアクセスメモリ(NVRA
M)を使用し、AC電力障害によるデータ消失の機会を
大幅に低減するRAIDシステムを提供する。 【解決手段】 本RAIDシステムには正常書込みモー
ドと安全書込みモードとの2つの書込みモードがある。
アレイコントローラは、正常書込みモードの場合、ホス
トコンピュータからデータを受信すると、書込み確認を
ホストコンピュータに送り、安全書込みモードの場合、
ホストコンピュータから受信したディスク装置に書込む
全データをNVRAMにコピーした後、ホストコンピュ
ータに書込み確認を送る。アレイコントローラはUPS
の停電フラグをポーリングしてAC電力障害の有無を判
定し、停電フラグの状態によって2つの書込みモードを
切り替える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、電源障害のバック
アップ方法に関し、より詳細には、RAIDシステムに
おいて電源障害が発生した場合、処理中のデータの消失
を防止する方法と装置に関する。
【0002】
【発明が解決しようとする課題】電気システムにおける
周知の問題点は、停電(power outage)が発生すること
である。追加電力のバックアップ用にバッテリを使用す
る電気システムもある。
【0003】停電の場合のバックアップにバッテリを使
用できるシステムの一例がRAIDシステムである。R
AIDは、Redundant Arrays of Inexpensive Disks
(複数の小型ハードディスク装置を使って単独のディス
ク装置より高い信頼性と性能とを実現する方式)の略称
である。RAIDシステムには、一緒に動作して性能と
対故障性(fault tolerant)を向上させる2つまたはそ
れ以上のディスクがある。普通、RAIDシステムは、
ホストコンピュータ、アレイコントローラおよびディス
ク装置より成る。アレイコントローラは、ホストコンピ
ュータと、アレイコントローラに接続されたディスクと
の間のインタフェースの役割をする。ホストコンピュー
タは、アレイコントローラを介していずれのディスクに
もデータを書込み、いずれのディスクからもデータを読
出す。
【0004】たとえば、ホストコンピュータがディスク
装置にデータを書込む必要がある場合、アレイコントロ
ーラはそのデータをホストコンピュータから受信し、デ
ィスク用ランダムアクセスメモリ(Random Access Memo
ry:以下ディスクRAMと表記する)に記憶する。アレ
イコントローラはこのデータをディスクRAMから取り
出して、1つのディスク装置または複数のディスク装置
に書込む。
【0005】RAIDシステム全体は主電源装置によっ
て電力が供給される。主電源装置は故障することがあ
り、主電源装置がダウンしている間は、バックアップ用
バッテリを使用してRAIDシステムに電力を供給すれ
ばよい。バッテリバックアップの例としてUPS(Unin
terruptable Power Supply:無停電電源装置)が上げら
れる。
【0006】一般に正常動作中、ホストコンピュータ
は、ディスク装置にデータを記憶するためのアレイコン
トローラに、データストリームを書込む。データストリ
ームを受信したアレイコントローラは、ホストコンピュ
ータに「COMMAND COMPLETE(コマンド
完了)」メッセージを送ることにより、そのデータスト
リームを受信したことの応答を返す。しかし、アレイコ
ントローラはそのデータを直接ディスク装置に書込むの
ではなく、先ずディスクRAMにデータを記憶するのが
普通である。この場合、データを書込むべきディスク装
置は先に送られた別のデータの記憶中であり使用中かも
しれない。したがって、ディスクRAMのデータは、特
定のディスク装置が書込みできるようになるまで、アレ
イコントローラによってディスクRAMの中に保持され
る。後でディスク装置が使用できるようになると、アレ
イコントローラは、ディスクRAMからデータを取り出
しディスク装置に適切に配分する。
【0007】ある種のRAIDシステムは、データがデ
ィスク装置に現実に書込まれたときだけ、ホストコンピ
ュータに書込みが完了したことを連絡する。この書込み
動作の確認は、ホストコンピュータが、現実には完了し
なかった書込み処理(writetransaction )を完了した
書込み処理として記録してしまう可能性を防止してい
る。たとえば、アレイコントローラがディスク装置にデ
ータを書込み中に、または、ディスク装置がディスクに
データを書込み中に、電源障害(またはUPS障害)が
発生した場合には書込み処理は決して完了しない。
【0008】以下に停電のためRAIDシステムを使用
しているデータベースに起こり得る問題点を説明する。
たとえば、会計システムはディスク装置に記憶したいく
つかのデータベースを使用している。このうちの1つの
データベースには部品在庫が含まれ、他のデータベース
には顧客レコードが含まれ、第3のデータベースには送
り状が含まれているとする。
【0009】ホストコンピュータに記憶されている会計
用のアプリケーションコンピュータプログラムは、これ
らのデータベースを以下のように使用できる。顧客が部
品を注文すると、その部品はその顧客に出荷される。す
ると、会計システムデータベースは、部品在庫、顧客レ
コードおよび送り状のデータベースを更新する必要があ
る。したがって、アプリケーションプログラムは、その
部品が顧客に発送されたことにより使用可能な部品が1
つ減少したことを在庫データベースに反映するよう、在
庫の変化を反映するデータをアレイコントローラに送
り、ディスク装置に記憶する。同様に、アプリケーショ
ンプログラムは、顧客レコードデータベースを更新する
データをアレイコントローラに書込むと、顧客データベ
ースは、その顧客に発送した部品のコスト分に相当する
増加額をその顧客が支払う義務があること示すことにな
る。最後にアプリケーションプログラムは、ホストコン
ピュータに指令して、実際に送り状が顧客に送られた場
合に、それを反映するデータをアレイコントローラに送
る。
【0010】しかし、顧客レコードが更新されかつ部品
データベースが更新される時、即ち、部品在庫データが
ディスク装置に書込まれてディスク装置によって記憶さ
れる実際の時と、送り状データが更新される時との間で
電源障害が発生する可能性がある。その場合、送り状デ
ータベースに書込むべきデータは、電源障害が発生した
時にディスクRAMの中にある可能性がある。そうする
と、そのデータは消失する恐れがある。しばらくしてR
AIDシステムへの電力が復旧すると、アプリケーショ
ンプログラムは、送り状データベースが更新されていな
かったことが判る可能性があり、そうすると、その顧客
に送り状を2度発送する恐れがある。
【0011】データの消失を防止するため、ある種のR
AIDシステムでは、UPSの使用に加え、常にバッテ
リを使用してディスクRAMをバックアップする。バッ
テリを使用してディスクRAMをバックアップすると、
アレイコントローラはトランザクションを完了すること
ができるが、以下に詳述するとおり、警告を伴わずにU
PSが障害になると、このトランザクションは中断され
る。しかし、バッテリを使用してディスクRAMをバッ
クアップすることは高価になる傾向がある。ディスクR
AMは普通、4メガバイトから8メガバイトの記憶容量
を有する。電源障害が発生してからデータをすべて読出
しかつ書込むよう、独立のバッテリを使用してこのディ
スクRAMに電力を連続的に供給するためには、バック
アップバッテリに要求される電力供給時間の長さによっ
ては、かなりの大きさのバッテリが必要になることがあ
る。
【0012】UPSは、電力が使用不能になったこと及
び、一定の時間だけUPSから電力が使用できることを
システムに通知することができる。その一定の時間と
は、UPSのバッテリの大きさの関数である。しかし、
UPSによって給電される一定の時間が正しいとはかぎ
らない。したがって、UPSによって給電される一定の
時間以前にUPSは電力を消費してしまうことがある。
このようにUPSが動作しなくなった場合、アレイコン
トローラがディスク装置にデータを書込み中であり、デ
ィスクRAMにバッテリバックアップが追加されていな
ければ、ディスク装置に書込み中のデータは消失してし
まう恐れがある。しかし、上述したとおり、ディスクR
AMのバックアップバッテリは高価になる傾向がある。
【0013】
【課題を解決するための手段】本発明には、不揮発性ラ
ンダムアクセスメモリ(NVRAM)を使用して、AC
電力障害に基づくデータ消失の機会を大幅に減少させる
RAIDシステムが含まれる。このRAIDシステムに
は2つの書込みモード(write mode)がある。正常(no
rmal)書込みモードの場合、アレイコントローラがホス
トコンピュータからデータを受信すると、ホストコンピ
ュータは書込み確認(write confirmation)を受信す
る。しかし、安全(safe)書込みモードの場合、アレイ
コントローラは、ホストコンピュータから受信した、デ
ィスク装置に書込むデータをすべてNVRAMにコピー
する。その後、アレイコントローラはホストコンピュー
タに書込み確認を送る。アレイコントローラは、UPS
(無停電電源装置)が与える停電(power-out )フラグ
をポーリングして、正常書込みモードと安全書込みモー
ドとの間を適切に切り替える。アレイコントローラは、
停電フラグの状態をチェックしてAC電力障害の有無を
決定する。
【0014】NVRAMを使用すると、RAIDシステ
ムにバックアップバッテリを追加することによる費用が
不要になる。AC電力の障害発生後にUPSによりなさ
れる使用可能時間に関する予測が不正確である場合に発
生する電力障害、またはUPSがまったく使用可能時間
について予測機能のない場合に発生するUPSバッテリ
の枯渇、などの突然の電力障害に基づくデータの消失
は、NVRAMにデータを記憶することにより防止する
ことができる。
【0015】システムの観点から、データ記憶システム
は、以下の要素から構成されていればよい。本システム
には、不揮発性メモリとアレイコントローラとが含まれ
ている。アレイコントローラは、UPS、ホストCP
U、電源、および、ディスク装置のような永久メモリに
接続するようになっている。さらに、電源が故障する
と、アレイコントローラは不揮発性メモリに接続されて
いるデータを含む書込みコマンド情報を退避させる。
【0016】処理の観点から、本発明は、停電に基づく
データの消失を防止する以下のステップを含んでいれば
よい。これらのステップには、データを含むホスト書込
みコマンドをホストCPUから受信すること、揮発性メ
モリにデータを記憶すること、および停電の有無を決定
することが含まれている。追加ステップには、停電がな
い場合、書込み確認をホストCPUに送ることと、停電
がある場合、データを不揮発性メモリに記憶することと
が含まれている。その上この処理には、停電がある場
合、データを不揮発性メモリに書込むステップの後で、
ホストCPUに書込み確認を送るステップが含まれてい
る。
【0017】
【発明の実施の形態】本発明の好適実施例は、たとえ
ば、RAIDシステムに対して常にバッテリバックアッ
プをする必要を解消している。これらの実施例において
は、電力障害のある場合、UPSはフラグをセットす
る。電力障害信号を受信すると、RAIDシステムは安
全モードで動作することを開始する。以下詳細に考察す
るとおり、安全モードは、NVRAM(Non-Volatile R
andom Access Memory )のような不揮発性メモリにデー
タを書込む処理をする。NVRAMは、外部電源が故障
した後でも、独立した電源を必要とせずに何年もの間デ
ータを保持する。したがって、主電源装置が回復する
と、RAIDシステムによって、NVRAMに記憶され
たデータを検索することができる。費用を最小にするた
め、NVRAMを小さくしておけばよい。NVRAMの
一例として、ダラス・セミコンダクタ株式会社(Dallas
Semiconductor Cooproration )(DS1345YLP
M/ABLPM)による1024K不揮発性SRAMお
よびダラス・セミコンダクタ株式会社による256K不
揮発性SRAM(部品番号DS1330YLPM/AB
LPM)がある。不揮発性メモリの別の例は、フラッシ
ュRAMのようなフラッシュメモリである。
【0018】図1は、RAIDシステムに実現された本
発明の第1の好適実施例を示す。図1は、電源障害に基
づくデータの消失を防止するため、NVRAMと組み合
わせたUPSを使用するRAIDシステムのブロック図
である。図1において、CPU110を含むホストコン
ピュータは、アレイコントローラ114に接続されてい
る。アレイコントローラ114は、電源を供給する電源
装置(power supply)122に接続されている。電源装
置122は、UPS118に接続され、UPS118は
AC(交流)電源124に接続される。図1には電源装
置とUPSとを別々に示しているが、UPSには電源装
置122が含まれていることもある。電源124が障害
になると、UPS118は停電フラグ138をセットす
る。アレイコントローラ114は、NVRAM126お
よびディスクRAM128を有している。NVRAM1
26は図2、9に詳細に示されている。アレイコントロ
ーラ114は1つのディスク装置セット130に接続さ
れ、ディスク装置セット130には複数のハードディス
ク装置134が含まれる。
【0019】図1のシステムの機能は以下のとおりであ
る。CPU110は、アレイコントローラ114を介し
て、ディスク装置セット130にデータを書込む。アレ
イコントローラ114は、CPU110からデータを受
け取る。正常書込みモードの場合、アレイコントローラ
114は、ディスク装置セット130にデータが書込ま
れたことを、CPU110にすぐに報告する。しかし実
際には、アレイコントローラ114は、CPU110か
ら受信したデータをディスクRAM128、つまり、D
RAM(ダイナミックRAM)のような揮発性メモリ1
28に記憶しただけである。ディスクRAM128は、
NVRAM126に比較して大きい。ディスクRAM1
28は、CPU110からのデータを高速で記憶するメ
モリバッファとして機能する。メモリバッファ128を
もつことは便利である。これは、アレイコントローラ1
14がデータをディスク装置セット130に記憶できる
速度に比較して、CPU110がアレイコントローラ1
14にデータを送る速度の方が早いからである。
【0020】ディスク装置セット130にはいくつかの
I/O(入出力)動作が必要なので、ディスク装置セッ
ト130にデータを書込む速度は遅い。たとえば、ディ
スク装置セット130に3つのハードディスク装置13
4があるだけのRAIDシステム、つまりRAIDレベ
ル4では、新しいデータをディスク装置セット130に
書込む処理で以下のことが必要である。当業者には公知
のとおり、普通、データは最初の2つのディスクに記憶
され、パリティデータは第3のディスクに記憶される。
第1のディスクにデータを記憶するには、第1のI/O
ステップにおいて第1のハードディスクから旧データが
読出される。同時に別のI/Oステップにおいて第3の
ハードディスクから旧パリティデータが読出される。こ
の後で、第1のハードディスクからの旧データと、第3
のハードディスクの旧パリティデータとの排他的論理和
がとられる。この演算の結果は中間(つまり修正)パリ
ティである。つぎに、アレイコントローラ114は修正
されたパリティと新しいデータとの排他的論理和をと
る。この排他的論理和演算の結果が新しいパリティであ
る。最終I/Oステップにおいて、アレイコントローラ
114により、この新しいパリティがパリティドライ
ブ、つまり第3のハードディスクに記憶される。同時に
アレイコントローラ114は、第1のハードディスクに
新しいデータを記憶する。
【0021】このRAIDレベル4システムにおいて
は、第1のI/Oステップが実行される前に、電源12
4が障害になってもよい。先行技術によるシステムにお
いても、CPU110は、データがディスク装置セット
130に書込まれたことの確認をアレイコントローラ1
14から受信する。同様に先行技術によるシステムにお
いては、上の例の最後の2つのI/Oステップの間で電
源124が障害になってもよい。このようなタイミング
で電源124の障害が発生したとすれば、第3のハード
ディスクのパリティデータは、第1のハードディスクの
データと同期しない。
【0022】電源124の障害に基づくデータの消失を
防止するため、UPS118は停電フラグ138をセッ
トして、電力障害が発生したことをアレイコントローラ
114に警告する。以下詳細に考察するとおり、図10
において、アレイコントローラ114は、UPS118
を定期的にポーリングして、停電フラグ138の状態を
判定する。停電フラグ138がセットされているとアレ
イコントローラ114が判定すると、図5、6、7につ
いて以下詳細に考察するとおり、アレイコントローラ1
14は安全書込みモードに入る。安全書込みモードの場
合、アレイコントローラ114はCPU110から受信
したデータをNVRAM126にコピーする。アレイコ
ントローラ114は、CPU110がアレイコントロー
ラ114に送るデータ書込み(write data)コマンドご
とに、NVRAM126にセグメントを発生させる。安
全書込みモードの場合、アレイコントローラ114は、
そのデータがNVRAM126に書込まれるまで、CP
U110に対して、ディスク装置セット130にデータ
が書込まれたことの確認を送らない。
【0023】図2は、セグメント化されたNVRAM1
26を示す。NVRAMは、通常は、セグメント21
0、214、215、216のように、大きさの異なる
セグメントを有する。図2に示すように、これらのセグ
メントは順次1つづつ記憶される。本明細書の説明を参
考にすれば、当業者には明白なように、全て同じ大きさ
のセグメントをNVRAM126に含めてもよい。NV
RAM126にこれらのセグメントを生成する処理を図
5を参照して詳細に考察する。
【0024】これらのセグメントの大きさは、特定の書
込みコマンドに関連する情報量によって変わる。したが
って、図2に示すとおり、1キロバイトのパリティ22
9をもつセグメント210は、4キロバイトのデータ2
30をもつセグメント214より小さいから、セグメン
ト210がディスク装置セット130へ書込むデータ
(パリティ229)は、セグメント214が書込むデー
タより少ない。セグメントの大きさが可変になっている
ので、特定のデータレコード用に限られた記憶容量を有
するNVRAMを使用する場合に柔軟性が得られる。し
たがって、そのような場合が少ないとはいえ、たとえ
ば、特定のアプリケーションにおいてデータレコードが
大きくてもよい場合、セグメントの大きさが一定のNV
RAM126に対し、各セグメントは少なくとも最大デ
ータレコードと同じ大きさでなければならないから、比
較的少数のセグメントだけをつくることができる。
【0025】データ230は、CPU110がアレイコ
ントローラ114に与えた生(raw)のホストデータで
ある必要はない。例を挙げると、データ230はCPU
110からの生データの一部であってもよい。ディスク
装置セット130に対する生データの記憶を容易にする
ため、図2の実施例におけるアレイコントローラ114
は、セグメント214のように、いくつかのセグメント
に生データを分散させてもよい。
【0026】各セグメントにはトランザクションデータ
が含まれている。各トランザクションデータには、状態
フラグ218、カウント222,ディスク装置番号22
4、アドレス226およびホスト110からのデータ2
30などのデータが含まれている。状態フラグ218は
3状態フラグである。空の(empty ) 状態「E」の場
合(以下、文中は「空き(EMPTY)」と表記し、図
2では「E」とする)、状態フラグ218は、その状態
フラグ218に関連する特定のセグメントにデータが記
憶されていないことを示している。NVRAM構築(bu
ilding NVRAM)状態「B」の場合(以下、文中は
「構築(BUILD)」と表記し、図2では「B」とす
る)、状態フラグ218は、アレイコントローラ114
がNVRAM126にトランザクションレコードを記憶
中であることを示している。ディスクに書込んでいる
(writing to disk )状態「W」の場合(以下、文中は
「書込み(WRITE)」と表記し、図2では「W」と
する)、状態フラグ218は、アレイコントローラ11
4によって、対応するセグメントに関連する(生データ
またはパリティの一部またはすべての)データが、ディ
スク装置セット130に書込み中であることを示してい
る。状態フラグ218は、たとえば、1バイトのデータ
で表してもよい。
【0027】カウント222は、セグメント214にお
いては4キロバイトであるように、たとえばデータ23
0の大きさをキロバイトで指定することにより、データ
ブロックの大きさを指定する。このカウントは、たとえ
ば2バイトのデータで表してもよい。またカウント22
2は、特定のレコードに必要なハードディスクスペース
のセクタ数を指定してもよい。アレイコントローラ11
4がディスク装置番号224を指定すると、ディスク装
置番号224は、データ230の宛先であるディスク装
置セット130の特定のハードディスク装置134を指
定する。アレイコントローラ114は物理アドレス22
6も決定する。
【0028】物理アドレス226は、たとえば4バイト
のディスクアドレスであり、対応するデータが記憶され
る特定のハードディスク装置134上の場所である。図
2に示す物理アドレス226は、データの記憶が開始さ
れる特定のディスク上の特定のセクタを指定する。普
通、各セクタは1キロバイトの半分のデータを記憶する
ことができる。アレイコントローラ114は、CPU1
10の書込みコマンドの一部としてCPU110から与
えられるアレイ論理アドレス(logical array address
)914(図15参照)から物理アドレス226を計
算する。論理アドレス914は、ディスク装置セット1
30における生データ930の実際の位置に関係なく、
生データ930を参照するためにCPU110が使用す
る特定のアドレスである。第2の実施例においては、以
下に考察するとおり、アレイコントローラ114は、N
VRAM126にディスク装置番号224も物理アドレ
ス226も記憶しないが、そのかわり論理アドレス91
4だけを記憶する(図15参照)。
【0029】セグメント210、214と異なり、セグ
メント215は、フラグが「書込み」でなく「構築」に
セットされている。図2の斜線部217で示されている
とおり、セグメント215の2キロバイトのデータエリ
アの半分のエリアだけにデータが記憶されている。セグ
メント210、214、215と異なり、セグメント2
16は、フラグが「空き」にセットされている。セグメ
ント216は、図2に示す他のセグメントのどれよりも
大きい。セグメント216には、データ230が含まれ
ていないので、セグメント216のディスク装置番号2
24、アドレス226およびデータ230は、「ドント
・ケア(DONT CARE)(DC)」状態になって
いる。NVRAM126のメモリ空間のある部分は、N
VRAM126の全セグメントのフラグ218、カウン
ト222、ディスク装置番号224および物理アドレス
226によって占有されるから、256K(キロバイ
ト)NVRAM126の場合、セグメント216のカウ
ント222は241キロバイト未満である。
【0030】以下に考察するとおり、電源を投入する
と、アレイコントローラ114は、固定された開始点か
らNVRAMの検索を開始するよう構成され、その開始
点でセグメント214が始まる。またアレイコントロー
ラ114は、第1のセグメント214に対するポインタ
を取得することができる。ポインタは1つの場所におか
れているが、ポインタは第1のセグメント214を記憶
しているNVRAM126中の異なる場所を指定するこ
とができる。
【0031】NVRAM126の中の情報は、図1のR
AIDシステムの電源がオンになったときでも、アレイ
コントローラ114の動作に影響を与える。図3、4
は、図1のRAIDシステムの電源オン後のアレイコン
トローラ114の機能を示している。図3のフローチャ
ートに示すとおり、電源がオンになると、アレイコント
ローラ114はNVRAM126の中のデータの状態を
チェックし、NVRAM126の状態フラグ218の状
態に依存してデータを処理する。説明を簡単にするた
め、図3、4は、アレイコントローラ114が1つの状
態フラグ218をチェックする場合を説明している。し
かし、1つの状態フラグ218に対する図3、4に示す
ステップは、NVRAM126に記憶されている全状態
フラグに対しても行なわれる。
【0032】ステップ330において、アレイコントロ
ーラ114は、たとえば、状態フラグ218が「空き」
または「00」の状態にセットされているか否かを判定
する。状態フラグ218が「空き」の場合、アレイコン
トローラ114はステップ334において、図5に示す
とおり、以下に説明する書込みモードに入る。アレイコ
ントローラ114は、書込みモードになっている間、図
10に示しかつ以下詳細に説明するバックグラウンド処
理を使用して、停電フラグ138の状態を求めるために
定期的にUPS118をポーリングする。UPS118
が停電フラグ138をセットしたことをアレイコントロ
ーラ114が判別すると、アレイコントローラ114は
すぐに、図5または図6、7の安全書込みモードに入
る。
【0033】ステップ330において、アレイコントロ
ーラ114によりNVRAMの状態フラグが「空き」か
否か判定され、NVRAM状態フラグ218が「空き」
ではない場合、ステップ338において、アレイコント
ローラ114はNVRAM状態フラグ218が「構築」
にセットされているか否かを判定する。NVRAM状態
フラグ218が実際に「構築」にセットされている場
合、アレイコントローラ114はステップ342で、N
VRAM状態フラグ218を「空き」にセットする。
「空き」にセットされると、ステップ346において、
アレイコントローラ114はNVRAM126の全デー
タを廃棄する。アレイコントローラ114はNVRAM
126の中のどのデータでも廃棄することができる。何
故ならば、上に説明したように、そのデータがNVRA
Mに記憶されている間は、CPU110は、ディスク装
置セット130に対するそのデータの書込みが成功した
ことの確認を待っているからである。その上、部分的に
書込まれたデータはどれが有効なのか不明確であるた
め、NVRAM状態フラグ218が「構築」にセットさ
れている間に、NVRAMに記憶されているデータを廃
棄することが望ましい(たとえば、図2のNVRAMセ
グメント215参照)。したがって処理を簡単にするた
め、そのようなデータを完全に廃棄する。ステップ34
6に続いて、図4のステップ362において、アレイコ
ントローラ114は図5の書込みモードに入る。
【0034】つぎに、NVRAM状態フラグ218が
「構築」にセットされていないと判定されると、図4の
ステップ350において、アレイコントローラ114
は、NVRAM状態フラグ218が「書込み」にセット
されているか否かを判定する。(図4中に点線で描いた
ステップは、第2実施例に関するステップであって後述
する。)「空き」および「構築」状態が発生した後には
起こりうる状態としては「書込み」状態が残されている
だけであるから、別の実施例においてはステップ350
を省略してもよい。
【0035】NVRAM状態フラグ218が「書込み」
にセットされていると判定されると、ステップ354に
おいて、アレイコントローラ114は、CPU110か
ら書込みコマンドを発行または再発行する。たとえば、
電源装置122の障害発生前にアレイコントローラ11
4がディスク装置セット130にデータを部分的に記憶
してしまったとすると、CPU110から書込みコマン
ドを再発行することにより、アレイコントローラ114
はそのような部分的に記憶したデータを上書きする。し
かし、電源124の障害発生後、それに続くUPS11
8からの電力供給容量が枯渇してしまい、アレイコント
ローラ114がディスク装置セット130にデータを送
ることができなかった場合、ステップ354において、
アレイコントローラ114は、先ずディスク装置セット
130にデータを送る。
【0036】ステップ354に続くステップ358にお
いて、アレイコントローラ114はNVRAM状態フラ
グ218を「空き」にセットする。上に考察したとお
り、この後で、アレイコントローラ114はステップ3
62を実行する。ステップ350において、NVRAM
状態フラグ218が「書込み」にセットされていなかっ
たとアレイコントローラ114が判定した場合、ステッ
プ350に続いて、アレイコントローラ114はステッ
プ362を実行する。
【0037】また図4は点線で示す様な第2の好適実施
例を示しているが、この第2の好適実施例ではデータの
記憶を簡略化している。その上、第2の実施例は、NV
RAM126にパリティ229を記憶しないので、NV
RAM126のメモリ空間の使用量は第1の実施例より
も少い。しかし、第1の実施例は、図3、4の電源投入
時の処理(power up process)を少し速く完了する。速
度が速くなる理由は、第1の実施例がパリティ229を
計算する必要がないことである。その理由は、ディスク
装置セット130にパリティ229が書込まれたままに
なっていると、セグメント210のように、セグメント
の中でパリティ229を使用できるからである。
【0038】この第2の実施例には、実線で示されてい
るいくつかのステップと、点線で示されたステップとが
含まれている。第1の実施例の場合と同様、ステップ3
50において、アレイコントローラ114は、NVRA
M状態フラグ218が「書込み」にセットされていると
判定すると、第1の実施例のステップ354を省く。そ
のかわりアレイコントローラ114はステップ351、
352を実行し、その後でステップ358を実行する。
第2の実施例においては、アレイコントローラ114は
NVRAM126にパリティ229を記憶しない。アレ
イコントローラ114は、NVRAM126に生のホス
トデータ930(図15参照)を記憶するだけである。
パリティ229は決してNVRAM126に記憶されな
いため、ステップ351において、アレイコントローラ
114は、状態フラグ218が「書込み」にセットされ
ているホストデータ930に関連するパリティ229を
計算する。たとえば、RAIDレベル4におけるパリテ
ィ229を計算するには、アレイコントローラ114
は、ステップ350における状態フラグ218に関連す
るデータが書込まれているはずのハードディスク装置1
34を除き、ディスク装置セット130内の全ハードデ
ィスク装置134からデータを読出す。新しいデータつ
まり生データ930とともに、旧データを使用するの
で、アレイコントローラ114は新しいパリティ229
を計算する。さらにステップ351において、アレイコ
ントローラ114は、ディスクRAM128にNVRA
M126の中のデータを記憶する。
【0039】ステップ352において、アレイコントロ
ーラ114は、ディスク装置セット130に新しいデー
タ930と新しいパリティ229とを書込む「書込み」
コマンドを発行する。この後にアレイコントローラ11
4は、第1の実施例の場合と同様、NVRAM状態フラ
グ218を「空き」にセットするステップ358を実行
する。最後のステップ362において、アレイコントロ
ーラ114は書込みモードに入る。
【0040】図8、9は、アレイコントローラの書込み
モードのフローチャートである。(図3、4のとおり)
電源がオンになったときのアレイコントローラ114の
動作が完了すると、アレイコントローラ114は、ステ
ップ510でホスト書込みコマンドを待つ。上に説明し
たとおり、ホスト書込みコマンドにはトランザクション
レコードの情報が含まれている。ステップ514におい
てアレイコントローラ114は、関連する生データ93
0を含む書込みコマンドをCPU110から受信する。
この後アレイコントローラ114は、ステップ518に
おいて受信したデータをディスクRAM128に記憶す
る。つぎにステップ522においてアレイコントローラ
114は、図5、6、7で説明する安全書込みモードで
動作する必要の有無を判定する。この判定を行うため、
アレイコントローラ114は、図10で説明するパワー
(電源)チェックバックグラウンド処理によってセット
される書込みモードフラグをポーリングする。
【0041】アレイコントローラ114が安全書込みモ
ードで動作する必要がない場合、図9のステップ526
において、アレイコントローラ114は、CPU110
に書込み確認を送る。つまり、CPU110からの生デ
ータ930がディスク装置セット130に書込まれたこ
とをCPU110に報告する。ステップ530において
アレイコントローラ114は、ディスク装置セット13
0から旧パリティデータと旧データとを読出す。ステッ
プ534においてアレイコントローラ114は、上に説
明したRAIDレベル4システムに関連して説明したと
おり、たとえば、これらデータの排他的論理和演算を実
行する。ステップ538においてアレイコントローラ1
14は、新しいパリティデータとCPU110からの新
しいデータとをダーティ(dirty )としてセットする。
ダーティデータおよびダーティパリティデータとは、ア
レイコントローラ114がディスクRAM128に記憶
したが、まだディスク装置セット130には記憶してい
ないデータとしてフラグを立てたデータのことである。
後でアレイコントローラ114は、図1のRAIDシス
テムによって使用されている特定のRAIDレベルに依
存して、適切にダーティ情報をディスク装置セット13
0に書込む。ステップ538に続いて、アレイコントロ
ーラ114はCPU110からの書込みコマンドの待ち
合わせを再開する。
【0042】アレイコントローラは、いくつかの方法で
ディスク装置セット130にダーティ情報(データおよ
び/あるいはパリティ)を書込む。アレイコントローラ
114は、ダーティ情報を定期的に記憶するため別のバ
ックグラウンド処理を使用する。その上、後で考察する
図10のパワーチェックバックグラウンド処理のステッ
プ618において、アレイコントローラ114はディス
ク装置セット130にダーティ情報を書込む。ダーティ
情報を記憶するためのメモリ空間がディスクRAM12
8になくなってしまった場合、アレイコントローラ11
4は、ディスクRAM128の中のダーティ情報をディ
スク装置セット130に書込み、新しいダーティ情報に
使うメモリ空間を開放する(free up )。望ましくは、
このメモリ空間の開放は図8のステップ514の後に行
う。
【0043】図8のステップ522に戻ると、ステップ
522においてアレイコントローラ114は、安全書込
みモードで動作する必要があると判定する。この判定が
されると、(点線で描かれた第2の実施例に対する図9
のステップをここでは無視する)ステップ530の場合
と同様、図9のステップ542において、アレイコント
ローラ114は旧データと旧パリティデータとを読出
す。ステップ534について考察したとおり、ステップ
546においてアレイコントローラ114は、排他的論
理和演算を実行する。ステップ550において、以下に
説明する安全書込みモードになっている間、アレイコン
トローラ114は新しいデータと新しいパリティとを、
適切にディスク装置セット130に書込む。この後アレ
イコントローラ114は、CPU110からの別の書込
みコマンドを待つ状態に戻る。
【0044】図5は、第1の実施例の安全書込みモード
におけるアレイコントローラ114の動作を示してい
る。ステップ420においてアレイコントローラ114
は、論理アドレスを物理アドレスに変換し、適切なら
ば、セグメント214、210などの各セグメントに配
分するため、生データ930とそれに関連するパリティ
とを分割する。ステップ422において、NVRAM1
26にトランザクションレコードを追加して記憶する余
地がない場合、アレイコントローラ114は、CPU1
10からの情報を記憶するため、メモリ空間、つまり十
分な大きさのNVRAMセグメントが使用可能になるま
で待ち合わせる。
【0045】十分なメモリ空間の有無を判定するため、
アレイコントローラ114は、「空き」になっているフ
ラグ218がないかどうかセグメント化されたNVRA
M126の全セグメントを調べる。またアレイコントロ
ーラ114は、ディスク装置セット130に書込まれる
データ230(またはパリティ229)に対して十分な
大きさのカウント222がないかどうかNVRAMセグ
メントを調べる。NVRAM126の中で十分なメモリ
空間が使用可能であれば、ステップ422における待ち
合わせ時間が最小になることは勿論である。ステップ4
26においてアレイコントローラ114は、現在のトラ
ンザクションレコードに対応するNVRAM状態フラグ
218を「構築」にセットする。つぎにステップ430
においてアレイコントローラ114は、使用可能なセグ
メント214にカウント222、物理アドレス226お
よびデータ230を書込む。使用可能なセグメント21
4をトランザクションレコードで完全に埋める必要はな
い。アレイコントローラ114は、新しいが「空き」状
態のセグメント216として、使用可能なセグメント2
14の残りの部分のすべてを再構成する。ステップ43
4においてアレイコントローラ114は、NVRAM状
態フラグ218を「書込み」にセットする。したがって
アレイコントローラ114は、ディスク装置セット13
0にデータを実際に記憶しようとしていることをNVR
AM126のセグメント214に記録したことになる。
アレイコントローラ114は、図9のステップ546に
おいて計算したパリティ229をセグメント210に記
憶するため、ステップ422〜ステップ434を反復す
る。(セグメント210、214は異なる大きさのカウ
ント222をもっているように示されているが、本例で
はこれらのセグメントは同じ大きさのカウント222を
もっている。)
【0046】ステップ436においてアレイコントロー
ラ114は、CPU110に書込み確認を送る。しか
し、現在記憶されている全データが選択されたNVRA
Mセグメントに実際に記憶されるまでは、アレイコント
ローラ114は、CPU110に書込み確認を送らな
い。したがって、たとえば、部分的に埋められたNVR
AMセグメント215が、CPU110からのデータで
完全に埋められてしまうまでアレイコントローラ114
は待つことになる。
【0047】ステップ438においてアレイコントロー
ラ114は、データ230やパリティ229のような、
カウント222によって指定された大きさの情報を、デ
ィスクRAM128からディスク装置セット130に書
込み、つぎにアドレス226のディスク装置番号224
で指定されたハードディスク装置134に書込む。この
後アレイコントローラ114はステップ442におい
て、データ230およびパリティ229に対応するNV
RAM状態フラグ218を「空き」にセットする。アレ
イコントローラ114は、NVRAM状態フラグ218
を「空き」にセットすることにより、特定のNVRAM
セグメントに対応する情報をディスク装置セット130
に記憶したことと、他のトランザクションレコードを記
憶するため、特定のNVRAMセグメントが使用可能で
あることとを記録したことになる。
【0048】つぎにステップ446において、アレイコ
ントローラ114は、図8、9の書込みモードに再び入
る。特にアレイコントローラ114は、書込みモードの
ステップ510を実行する。つまり、アレイコントロー
ラ114はCPU110の書込みコマンドの追加を待ち
合わせる。
【0049】図9に示す点線で示されるステップを含む
第2の実施例において、アレイコントローラ114はス
テップ540を実行する。ステップ540においてアレ
イコントローラ114は、別の安全書込みモードでNV
RAM126に生データ930を書込む。この安全書込
みモードでNVRAM126にデータを書込むため、ア
レイコントローラ114は図6に示すステップ422a
〜436aを実行する。ステップ422a〜436a
は、図5のステップ422〜436と同じである。しか
しステップ430とは異なり、図15に示すとおり、ア
レイコントローラ114はステップ430aで、NVR
AMセグメント910に生データカウント222、論理
アドレス914および生データ930を書込む。セグメ
ント910は図2のセグメント214と同じである。し
かしセグメント910は、CPU110からの論理アド
レス914だけを記憶するから、ディスク装置番号22
4を含まない。
【0050】つぎにアレイコントローラ114は、第1
の実施例の場合と同様、ステップ542、546を実行
する。この後アレイコントローラ114は、ステップ5
50を迂回して、かわりにステップ552を実行する。
ステップ552において、アレイコントローラ114
は、新しいパリティ229をディスク装置セット130
に書込む。本実施例においては、アレイコントローラ1
14はNVRAM126にパリティ229を記憶しな
い。また、ステップ552においてアレイコントローラ
114は、図7のステップ437b〜446bを実行す
ることにより、安全書込みモードのディスク装置セット
130に生データ930を書込む。
【0051】図7のステップ437において、アレイコ
ントローラ114は、先ず論理アドレス914をディス
ク装置の物理アドレス226に変換する。特定のRAI
Dレベルによっては、アレイコントローラ114は、デ
ィスク装置セット130のいろいろなハードディスク装
置134に配分するためのいくつかの部分に生データ9
30を配分してもよい。そうすると、図7に複数の場合
について示すように、各部分は、ディスク装置番号22
4と物理アドレス226とを自身に関連させたことにな
る。つぎにステップ442bにおいてアレイコントロー
ラ114は、NVRAM状態フラグ218を「空き」に
セットする。最後にステップ446bにおいて、アレイ
コントローラ114はステップ446bを実行して、C
PU110の別の書込みコマンドの待ち合わせを再開す
る。
【0052】上に説明したとおり、アレイコントローラ
114は、停電、つまりAC電源124の障害の有無を
定期的に判定する。そのような電源障害の発生を判定す
るため、図10に示すように、アレイコントローラ11
4は独立したパワーチェックバックグラウンド処理を使
用する。図10の処理を実行する場合、アレイコントロ
ーラ114は先ず、書込みモードフラグが以前に既に
「安全(SAFE)」にセットされているか否かを判定
する。書込みモードフラグが「安全」にセットされてい
ない場合、図10のステップ610においてアレイコン
トローラ114は、UPS118が停電フラグ138を
セットしたか否かを判定する。セットされている場合、
つまり停電フラグ138がリセットされている場合、ア
レイコントローラ114は図10のパワーチェックバッ
クグラウンド処理を終了し、パワーチェックバックグラ
ウンド処理に入る前に実行していたステップの実行を再
開する。しかし、UPS118が停電フラグ138をセ
ットしている場合、ステップ614においてアレイコン
トローラ114は、書込みモードフラグを「安全」にセ
ットする。アレイコントローラ114は、書込みモード
フラグをCPURAM762に記憶する(図12参
照)。ステップ618においてアレイコントローラ11
4は、ダーティデータおよびダーティパリティデータを
ディスクRAM128からディスク装置セット130の
適切なディスク装置に書込む。電源障害が発生した場
合、ディスクRAM128からディスク装置セット13
0にすべてのダーティデータをすぐに書込むことは、デ
ィスクRAM128のデータが消失しないことを保証す
ることに役立っている。上に説明したステップ608に
おいて、書込みモードフラグが既に「安全」にセットさ
れていることをアレイコントローラ114が判定する
と、アレイコントローラ114はステップ610〜61
8を省略して、ステップ622に直接進む。
【0053】ステップ622においてアレイコントロー
ラ114は、停電フラグ138の状態を再度チェックす
る。停電フラグ138がまだセットされている場合、ア
レイコントローラ114はパワーチェックバックグラウ
ンド処理を終了する。したがって、書込みモードは「S
AFE」にセットされたままである。ステップ622に
続いて、停電フラグ138がもうセットされていないこ
とを判定すると、アレイコントローラ114は書込みモ
ードフラグを「正常」にセットする。アレイコントロー
ラ114は所定の遅れの後に再びパワーチェックバック
グラウンド処理に入る。つぎにアレイコントローラ11
4は、ステップ608でパワーチェックバックグラウン
ド処理の実行を開始する。
【0054】図11、12、13はアレイコントローラ
114の構成要素を示すブロック図である。図14は、
図11、12、13の関係を示す概要図である。図1
1、12、13に示すとおり、アレイコントローラ11
4には、周辺部710、CPU部714およびSCSI
(Small Computer System Interface: 小型コンピュー
タシステムインタフェース)部718がそれぞれ含まれ
ている。図13に示すとおり、SCSIインタフェース
部718には6つのSCSIインタフェースチップN
o.1からNo.6が含まれている。各SCSIインタ
フェースチップはそれぞれSCSIコネクタNo.1か
らNo.6に接続されている。つぎにSCSIコネクタ
No.1からNo.5 のそれぞれは、それぞれが15
台のディスク装置を含む5つのディスク装置セット13
0の1つにそれぞれ接続されている。しかし、SCSI
コネクタNo.6はCPU110に接続されている。ま
たSCSIコネクタNo.6には、たとえば、CD(コ
ンパクトディスク)ROM、図1のディスク装置セット
130が示すようなタイプのディスクアレイ、あるいは
テープ装置などをさらに接続してもよい。
【0055】図11、12において、図12の三角形7
22のような三角形はラッチを表している。三角形72
2の頂点が向いている方向は、ラッチ722にデータが
ラッチされる方向を示す。図11の三角形726のよう
に相互に隣接している2つの三角形は、これらのラッチ
を介してデータが両方向に流れることができることを示
している。また図11において、プログラマブルフラッ
シュROM(読出し専用メモリ)730には、アレイコ
ントローラ114用のコンピュータコードが含まれてい
る。必要な場合、図12のアレイコントローラ114の
アレイコントローラCPU734は、そのようなコンピ
ュータコードを取得して実行する。
【0056】図11の周辺制御回路738は、CPU部
714からの制御信号を周辺部710の構成部品が読む
ことができる制御信号に変換する。図12のCPU制御
ユニット758は、行アドレス選択(RAS)線、列ア
ドレス選択(CAS)線、書込みイネーブル(WE)線
およびパリティデータ(PD)線を介してCPURAM
762に接続されている。CPURAM762の代表的
な大きさは、4メガバイトから32メガバイトであれば
よい。
【0057】以下に述べることは図11、12、13の
アレイコントローラ114の機能の説明である。CPU
110は、図13のSCSIコネクタNo.6を介して
アレイコントローラ114にデータを送る。このデータ
は、リンク746を介しディスクバス制御回路742に
よって送られるSCSI制御信号により、SCSIイン
タフェースチップNo.6を介して接続される。データ
はディスクRAM128に接続される。ディスクRAM
の代表的な大きさは4メガバイトから128メガバイト
であればよい。
【0058】安全書込みモードにおいては、図13のデ
ィスクバス制御回路742は、アドレスバス/データバ
ス750と、CPU部のデータバス754とを介してデ
ータをディスクRAM128からCPU部714に接続
する。安全書込みモードの場合、アレイコントローラC
PU734からの命令に従って、アレイコントローラC
PU734はデータバス754を介して、図11の周辺
部のNVRAM126にデータを接続する。周辺部71
0と交信するため、アレイコントローラCPU734は
CPU制御回路758をもっており、周辺部710の周
辺制御回路738に制御コマンドおよびアドレスコマン
ドを送る。アレイコントローラが安全書込みモードで動
作していなければならないか否かを決定するため、アレ
イコントローラCPU734は停電フラグ138をポー
リングする。アレイコントローラCPU734は、図1
1のRS−232(Recommended Standard 232:推奨規
格232)ポート766を介してUPS118の停電フ
ラグ138にアクセスする。
【0059】本発明の好適実施例をいくつか説明してき
たが、本発明の趣旨と範囲から逸脱することなく各種の
変更をなし得ることは理解できるであろう。たとえば、
上記考察は主としてRAIDレベル4システムに関する
ものである。しかし、本説明に基づいて、たとえば、全
RAIDレベルの機能を備えたRAIDシステムなど、
別の実施例に本発明を適用することができることは、当
業者には明白であろう。更に、本説明に基づいて、電源
障害が発生したとき、ディスク装置セット130から読
出されているデータを退避する必要がないことも、当業
者ならば理解できるであろう。そのようなデータは、電
源が使用できるようになったとき、再読出しできる。ま
た、図12は、アレイコントローラがRISK(Reduce
d Instruction Set Computer:縮小命令セット・コンピ
ュータ)を使用しているとして示されているが、非RI
SKCPUも同様に使用できるのである。更に、別の実
施例においては、アレイコントローラ114にかわって
CPU110自体が、停電フラグ138をポーリングし
て、停電が発生しているか否かを判定する。実際にCP
U110は、アレイコントローラCPU734の機能を
実行することができるので、独立したアレイコントロー
ラCPU734が不必要になる。
【0060】他の実施例は、停電フラグ138ととも
に、この後どのくらいの時間、UPS118がアレイコ
ントローラ114に電力を供給できるかを示す、残時間
インヂケータ(time remaining indicator)を使用した
UPS118を使用している。そのような残時間インヂ
ケータは不正確なことがある。したがって、本実施例に
おいては、たとえば5分というように、残り時間が誤差
範囲より少ない場合、アレイコントローラ114は安全
書込みモードを続ける。最後に、本考察はRAIDシス
テムに関するものであるが、他のシステムにも同様に本
発明を適用することができる。かかる他のシステムは、
たとえば、非揮発性固体メモリのような他の形式の永久
メモリをディスク装置セット130に使用してもよい。
したがって、本発明は、ここに説明した好適実施例に限
定されるものではなく、いろいろな方法で変更できるも
のであって、これらのことは本説明に基づけば当業者に
は明白であろう。
【図面の簡単な説明】
【図1】本発明の好適実施例によるRAIDシステムの
図。
【図2】本発明の第1の好適実施例によるセグメント化
されたNVRAMを示す図。
【図3】本発明の第1、第2の好適実施例に従って、R
AIDシステムの電源がオンになったときのアレイコン
トローラの動作を示す流れ図。
【図4】本発明の第1、第2の好適実施例に従って、R
AIDシステムの電源がオンになったときのアレイコン
トローラの動作を示す流れ図。
【図5】本発明の第1、第2の好適実施例に従って、安
全書込みモードの場合アレイコントローラによって実行
されるステップの流れ図。
【図6】本発明の第1、第2の好適実施例に従って、安
全書込みモードの場合アレイコントローラによって実行
されるステップの流れ図。
【図7】本発明の第1、第2の好適実施例に従って、安
全書込みモードの場合アレイコントローラによって実行
されるステップの流れ図。
【図8】本発明の第1、第2の好適実施例に従って、書
込みモードの場合アレイコントローラによって実行され
るステップの流れ図。
【図9】本発明の第1、第2の好適実施例に従って、書
込みモードの場合アレイコントローラによって実行され
るステップの流れ図。
【図10】本発明の好適実施例に従って、AC電源の状
態をチェックするため、アレイコントローラによって実
行されるステップを示す流れ図。
【図11】本発明の好適実施例による、アレイコントロ
ーラの部品を示す回路ブロック図。
【図12】本発明の好適実施例による、アレイコントロ
ーラの部品を示す回路ブロック図。
【図13】本発明の好適実施例による、アレイコントロ
ーラの部品を示す回路ブロック図。
【図14】図11、12、13の関係の概略を示す図。
【図15】本発明の第2の好適実施例による、NVRA
Mセグメントを示す図。
【符号の説明】
110 CPU 114 アレイコントローラ 118 UPS(無停電電源装置) 122 電源装置 124 AC電源 126 不揮発性ランダムアクセスメモリ(NVRA
M) 128 ディスクRAM 130 ディスク装置セット 134 ハードディスク装置 138 停電フラグ 210、214、215、216、217、218 N
VRAMのセグメント 222 カウント(部) 224 ディスク装置番号(部) 226 物理アドレス(部) 229 パリティ(部) 230 データ(部) 710 周辺部 714 CPU部 718 SCSI部 722 1方向ラッチ 726 2方向ラッチ 730 プログラマブルフラッシュRAM 734 アレイコントローラCPU 738 周辺制御回路 742 ディスクバス制御回路 746 リンク 750 アドレスバス/データバス 754 CPUデータバス 758 CPU制御回路 762 CPU RAM 766 RS−232(推奨規格232)ポート

Claims (26)

    【特許請求の範囲】
  1. 【請求項1】 不揮発性メモリと、 UPS、ホストCPU、電源および永久メモリに接続す
    るアレイコントローラであって、前記電源の障害が発生
    すると、書込みコマンド情報を退避させるため、前記不
    揮発性メモリに接続される前記アレイコントローラと、
    を含むことを特徴とするデータ記憶システム。
  2. 【請求項2】 請求項1記載のシステムにおいて、前記
    不揮発性メモリは、不揮発性ランダムアクセスメモリで
    あることを特徴とする前記システム。
  3. 【請求項3】 請求項1記載のシステムであって、前記
    アレイコントローラに接続された揮発性メモリをさらに
    含むことを特徴とする前記システム。
  4. 【請求項4】 請求項3記載のシステムにおいて、前記
    揮発性メモリは、揮発性ランダムアクセスメモリである
    ことを特徴とする前記システム。
  5. 【請求項5】 請求項1記載のシステムにおいて、前記
    書込みコマンド情報は、データを含むことを特徴とする
    前記システム。
  6. 【請求項6】請求項1記載のシステムにおいて、前記不
    揮発性メモリは、セグメントを含むことを特徴とする前
    記システム。
  7. 【請求項7】 請求項6記載のシステムにおいて、前記
    セグメントの少なくとも1つは、トランザクションレコ
    ードを含むことを特徴とする前記システム。
  8. 【請求項8】 請求項7記載のシステムにおいて、前記
    トランザクションレコードは、フラグ部、カウント部、
    アドレス部およびデータ部を含むことを特徴とする前記
    システム。
  9. 【請求項9】 請求項8記載のシステムにおいて、前記
    セグメントの前記データ部の大きさは可変であることを
    特徴とする前記システム。
  10. 【請求項10】 請求項6記載のシステムにおいて、前
    記セグメントの少なくとも1つは、パリティデータを含
    むことを特徴とする前記システム。
  11. 【請求項11】 請求項1記載のシステムにおいて、前
    記アレイコントローラは、前記ホストCPUに接続する
    ホストCPUポート、アレイコントローラCPU、およ
    び前記UPSに接続するUPSポートを含み、前記ホス
    トCPUポート、前記アレイコントローラCPUおよび
    前記UPSは、アドレスバスおよびデータバスを介して
    相互に接続されることを特徴とする前記システム。
  12. 【請求項12】 電源の停電中、データを保護するシス
    テムを動作させる処理であって、 少なくともホストCPUからのデータを含むホスト書込
    みコマンドを受信するステップと、 メモリに前記データを記憶するステップと、 停電の有無を判定するステップと、 停電がない場合、前記ホストCPUに書込み確認を送る
    ステップと、 停電がある場合、不揮発性メモリに前記データを書込む
    ステップと、 停電がある場合、前記不揮発性メモリへの書込みステッ
    プの後で、前記ホストCPUに書込み確認を送るステッ
    プと、を含むことを特徴とする処理。
  13. 【請求項13】 請求項12記載の処理であって、永久
    メモリに前記データを書込むステップを更に含むことを
    特徴とする前記処理。
  14. 【請求項14】 請求項13記載の処理であって、 システムの電力が投入されると、前記不揮発性メモリが
    データを含む完全なトランザクションレコードを含んで
    いるか否かを判定するステップと、 前記永久メモリに前記完全なトランザクションレコード
    の前記データを書込むステップと、をさらに含むことを
    特徴とする前記処理。
  15. 【請求項15】 請求項14記載の処理において、前記
    データは、パリティデータであることを特徴とする処
    理。
  16. 【請求項16】 請求項12記載の処理において、停電
    の有無を判定する前記ステップは、 UPSによって停電フラグがセットされているか否かを
    判定するステップと、 停電フラグがセットされている場合、安全書込みモード
    を示すように書込みモードフラグをセットするステップ
    と、を含むことを特徴とする処理。
  17. 【請求項17】 請求項14記載の処理であって、ダー
    ティ情報を前記揮発性メモリから前記永久メモリに書込
    むステップをさらに含むことを特徴とする前記処理。
  18. 【請求項18】 請求項16記載の処理において、前記
    処理は、停電フラグがセットされている場合、書込みモ
    ードフラグを正常状態にセットするステップをさらに含
    むことを特徴とする前記処理。
  19. 【請求項19】 請求項13記載の処理であって、 停電がある場合、安全書込みモードに入りかつ該安全書
    込みモードにおいて、 前記不揮発性メモリのセグメントが使用可能になるまで
    処理を待つステップと、 前記使用可能な不揮発性メモリのセグメントに関連する
    状態フラグを「構築」状態にセットするステップと、 データを含むトランザクションレコードを前記不揮発性
    メモリのセグメントに書込むステップと、 前記不揮発性メモリのセグメントの状態フラグを「書込
    み」状態にセットするステップと、 前記ホストCPUに書込み確認を送るステップと、 前記永久メモリにデータを記憶するステップと、 前記不揮発性メモリのセグメントの状態フラグを「空
    き」状態にセットするステップと、を実行するステップ
    をさらに含むことを特徴とする処理。
  20. 【請求項20】 不揮発性メモリと、 UPSと、 ホストCPUと、 電源と、 永久メモリと、 前記UPS、ホストCPU、電源および永久メモリに接
    続されたアレイコントローラであって、電源の障害が発
    生すると、少なくともデータを含む書込みコマンド情報
    を退避させるため、前記不揮発性メモリに接続される前
    記アレイコントローラと、を含むことを特徴とするシス
    テム。
  21. 【請求項21】 請求項20記載のシステムにおいて、
    前記不揮発性メモリは、不揮発性ランダムアクセスメモ
    リであることを特徴とする前記システム。
  22. 【請求項22】 請求項20記載のシステムであって、
    前記アレイコントローラに接続された揮発性メモリをさ
    らに含むことを特徴とする前記システム。
  23. 【請求項23】 請求項22記載のシステムにおいて、
    前記揮発性メモリは、揮発性ランダムアクセスメモリで
    あることを特徴とする前記システム。
  24. 【請求項24】 請求項20記載のシステムであって、
    前記UPSは、停電フラグを含むことを特徴とする前記
    システム。
  25. 【請求項25】 請求項21記載のシステムにおいて、
    前記不揮発性ランダムアクセスメモリは、セグメントを
    含むことを特徴とする前記システム。
  26. 【請求項26】 電源の停電中、データを保護する装置
    であって、 ホストからデータを含むホスト書込みコマンドを受信す
    る手段と、 メモリに前記データを記憶する手段と、 停電の有無を決定する手段と、 停電がない場合、前記ホストに書込み確認を送る手段
    と、 停電がある場合、不揮発性メモリに前記データを書込む
    手段と、 停電がある場合、前記不揮発性メモリに書込んだ後で、
    前記ホストに書込み確認を送る手段と、を含むことを特
    徴とする装置。
JP10017287A 1997-01-30 1998-01-29 適応型電力障害リカバリシステム Pending JPH10320135A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US794235 1985-10-31
US08/794,235 US5889933A (en) 1997-01-30 1997-01-30 Adaptive power failure recovery

Publications (2)

Publication Number Publication Date
JPH10320135A true JPH10320135A (ja) 1998-12-04
JPH10320135A5 JPH10320135A5 (ja) 2005-08-18

Family

ID=25162085

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10017287A Pending JPH10320135A (ja) 1997-01-30 1998-01-29 適応型電力障害リカバリシステム

Country Status (2)

Country Link
US (1) US5889933A (ja)
JP (1) JPH10320135A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009098776A1 (ja) * 2008-02-08 2009-08-13 Fujitsu Limited バックアップ方法、ディスクアレイ装置及びコントローラ
KR100994609B1 (ko) * 2008-10-06 2010-11-15 홍익대학교 산학협력단 비휘발성 램을 이용한 영속적 컴퓨팅 방법 및 시스템
KR101104361B1 (ko) * 2009-12-29 2012-01-16 주식회사 프롬나이 Nvram과 휘발성 램을 이용하여 선택적으로 프로세스의 영속성을 구현하는 컴퓨팅 시스템 및 방법
KR101218865B1 (ko) * 2010-05-06 2013-01-07 주식회사 프롬나이 컴퓨팅 시스템 및 방법
WO2016076854A1 (en) * 2014-11-12 2016-05-19 Hewlett Packard Enterprise Development Lp Server node shutdown
US10838818B2 (en) 2015-09-18 2020-11-17 Hewlett Packard Enterprise Development Lp Memory persistence from a volatile memory to a non-volatile memory
US11397461B2 (en) 2017-05-16 2022-07-26 Micron Technology, Inc. Providing energy information to memory

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3618529B2 (ja) * 1997-11-04 2005-02-09 富士通株式会社 ディスクアレイ装置
JP4083864B2 (ja) * 1998-04-20 2008-04-30 株式会社日立製作所 ホスト、ディスクアレイおよびups間における連動制御装置
KR100316647B1 (ko) * 1998-07-30 2002-01-15 윤종용 웨이크 온 랜신호를 이용한 컴퓨터 시스템에서의 파워 제어방법및 그 장치
TW374870B (en) * 1998-08-26 1999-11-21 Asustek Comp Inc UPS method of suspending, resuming and turning on computers
US6243831B1 (en) * 1998-10-31 2001-06-05 Compaq Computer Corporation Computer system with power loss protection mechanism
JP2001344076A (ja) * 2000-06-05 2001-12-14 Fujitsu Ltd ディスクアレイ装置
US6798599B2 (en) * 2001-01-29 2004-09-28 Seagate Technology Llc Disc storage system employing non-volatile magnetoresistive random access memory
US7114098B2 (en) * 2001-03-20 2006-09-26 American Power Conversion Corporation Power supply critical state monitoring system
US8708828B2 (en) * 2001-09-28 2014-04-29 Igt Pluggable modular gaming modifiers and configuration templates for gaming environments
US7931533B2 (en) 2001-09-28 2011-04-26 Igt Game development architecture that decouples the game logic from the graphics logics
US6902481B2 (en) * 2001-09-28 2005-06-07 Igt Decoupling of the graphical presentation of a game from the presentation logic
US6822346B2 (en) * 2002-01-29 2004-11-23 Rockwell Automation Technologies, Inc. Battery backed memory with battery disconnect for improved battery life
US6888267B2 (en) * 2002-01-29 2005-05-03 Rockwell Automation Technologies, Inc. Battery backed memory with low battery voltage trip, disconnect and lockout
US6981079B2 (en) 2002-03-21 2005-12-27 International Business Machines Corporation Critical datapath error handling in a multiprocessor architecture
US20030191978A1 (en) * 2002-04-04 2003-10-09 International Business Machines Corporation Multiple fault location in a series of devices
US6920587B2 (en) * 2002-04-25 2005-07-19 International Business Machines Corporation Handling multiple operating system capabilities in a logical partition data processing system
EP1361516A3 (en) * 2002-04-30 2011-05-18 Hitachi, Ltd. Method and system for backing up power supply of disk array device
US20040148547A1 (en) * 2003-01-28 2004-07-29 Jim Thompson UPS-based file data storage apparatus and computer program products
US8250406B2 (en) * 2003-08-19 2012-08-21 Intel Corporation Operational state preservation in the absence of AC power
CN1327344C (zh) * 2003-08-19 2007-07-18 英特尔公司 无交流电源时保存和恢复工作状态的基本输入/输出系统
US7406623B2 (en) * 2003-09-29 2008-07-29 Hitachi Computer Peripherals Co., Ltd. DC backup power supply system and disk array using same
JP2005346321A (ja) * 2004-06-02 2005-12-15 Hitachi Ltd ディスクアレイ装置及びディスクアレイ装置のバッテリ出力制御方法
JP4662743B2 (ja) * 2004-09-13 2011-03-30 Necインフロンティア株式会社 データ2重化システム
US20060205513A1 (en) * 2005-03-09 2006-09-14 Igt MRAM as nonvolatile safe storage for power hit and ESD tolerance in gaming machines
US7736234B2 (en) * 2005-03-09 2010-06-15 Igt MRAM as critical event storage for powered down gaming machines
US7722468B2 (en) * 2005-03-09 2010-05-25 Igt Magnetoresistive memory units as read only memory devices in gaming machines
US7599241B2 (en) * 2007-08-06 2009-10-06 Sandisk Corporation Enhanced write abort mechanism for non-volatile memory
US8001419B2 (en) * 2007-11-13 2011-08-16 Rockwell Automation Technologies, Inc. Energy storage module
US7761740B2 (en) * 2007-12-13 2010-07-20 Spansion Llc Power safe translation table operation in flash memory
US20110197018A1 (en) * 2008-10-06 2011-08-11 Sam Hyuk Noh Method and system for perpetual computing using non-volatile random access memory
US20100138603A1 (en) * 2008-12-03 2010-06-03 Atul Mukker System and method for preventing data corruption after power failure
JP4819116B2 (ja) * 2008-12-19 2011-11-24 富士通株式会社 制御装置、ストレージ装置および制御方法
US8448023B2 (en) * 2010-04-30 2013-05-21 Honeywell International Inc. Approach for data integrity in an embedded device environment
JP2013068105A (ja) * 2011-09-21 2013-04-18 Hitachi Automotive Systems Ltd 自動車用電子制御装置
JP2014081984A (ja) * 2012-10-18 2014-05-08 Toshiba Corp 情報記録装置および情報記録方法
US9286203B2 (en) 2013-01-07 2016-03-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Control logic design to support USB cache offload
US10198053B2 (en) * 2013-03-15 2019-02-05 Vertiv S.R.L. Techniques for communicating data amongst controllers in a power supply system
US9448896B2 (en) * 2013-08-07 2016-09-20 Seagate Technology Llc Torn write mitigation
US9665431B2 (en) * 2013-12-31 2017-05-30 Teredata Us, Inc. Interrupted write protection with generic storage
WO2016076850A1 (en) * 2014-11-12 2016-05-19 Hewlett Packard Enterprise Development Lp Data write back
IL236627A0 (en) 2015-01-11 2015-04-30 Storone Ltd Method and system for controlling volatile memory
US9870013B2 (en) 2015-02-13 2018-01-16 Rockwell Automation Asia Pacific Business Ctr. Pte. Ltd. Energy storage method and system to power functional safety diagnostic subsystem

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4323987A (en) * 1980-03-28 1982-04-06 Pitney Bowes Inc. Power failure memory support system
US4506323A (en) * 1982-03-03 1985-03-19 Sperry Corporation Cache/disk file status indicator with data protection feature
US4959774A (en) * 1984-07-06 1990-09-25 Ampex Corporation Shadow memory system for storing variable backup blocks in consecutive time periods
US4712195A (en) * 1986-05-09 1987-12-08 Curtis Instruments, Inc. Solid-state cumulative operations measurement system
US4763333A (en) * 1986-08-08 1988-08-09 Universal Vectors Corporation Work-saving system for preventing loss in a computer due to power interruption
GB2201268B (en) * 1987-02-07 1991-05-29 Motorola Inc Non-volatile memory system
US4965828A (en) * 1989-04-05 1990-10-23 Quadri Corporation Non-volatile semiconductor memory with SCRAM hold cycle prior to SCRAM-to-E2 PROM backup transfer
US5208813A (en) * 1990-10-23 1993-05-04 Array Technology Corporation On-line reconstruction of a failed redundant array system
US5204963A (en) * 1990-12-07 1993-04-20 Digital Equipment Corporation Method and apparatus for a backup power controller for volatile random access memory
US5235601A (en) * 1990-12-21 1993-08-10 Array Technology Corporation On-line restoration of redundancy information in a redundant array system
US5241508A (en) * 1991-04-03 1993-08-31 Peripheral Land, Inc. Nonvolatile ramdisk memory
US5414861A (en) * 1991-09-11 1995-05-09 Fujitsu Limited Data protection system using different levels of reserve power to maintain data in volatile memories for any period of time
US5359569A (en) * 1991-10-29 1994-10-25 Hitachi Ltd. Semiconductor memory
US5379417A (en) * 1991-11-25 1995-01-03 Tandem Computers Incorporated System and method for ensuring write data integrity in a redundant array data storage system
US5410713A (en) * 1992-01-02 1995-04-25 Smith Corona/Acer Power-management system for a computer
EP0551009B1 (en) * 1992-01-08 2001-06-13 Emc Corporation Method for synchronizing reserved areas in a redundant storage array
US5319571A (en) * 1992-11-24 1994-06-07 Exide Electronics UPS system with improved network communications
US5530948A (en) * 1993-12-30 1996-06-25 International Business Machines Corporation System and method for command queuing on raid levels 4 and 5 parity drives
US5533190A (en) * 1994-12-21 1996-07-02 At&T Global Information Solutions Company Method for maintaining parity-data consistency in a disk array
US5586291A (en) * 1994-12-23 1996-12-17 Emc Corporation Disk controller with volatile and non-volatile cache memories

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009098776A1 (ja) * 2008-02-08 2009-08-13 Fujitsu Limited バックアップ方法、ディスクアレイ装置及びコントローラ
US8286028B2 (en) 2008-02-08 2012-10-09 Fujitsu Limited Backup method and disk array apparatus
JP5466953B2 (ja) * 2008-02-08 2014-04-09 富士通株式会社 バックアップ方法及びディスクアレイシステム
KR100994609B1 (ko) * 2008-10-06 2010-11-15 홍익대학교 산학협력단 비휘발성 램을 이용한 영속적 컴퓨팅 방법 및 시스템
KR101104361B1 (ko) * 2009-12-29 2012-01-16 주식회사 프롬나이 Nvram과 휘발성 램을 이용하여 선택적으로 프로세스의 영속성을 구현하는 컴퓨팅 시스템 및 방법
KR101218865B1 (ko) * 2010-05-06 2013-01-07 주식회사 프롬나이 컴퓨팅 시스템 및 방법
WO2016076854A1 (en) * 2014-11-12 2016-05-19 Hewlett Packard Enterprise Development Lp Server node shutdown
US10838818B2 (en) 2015-09-18 2020-11-17 Hewlett Packard Enterprise Development Lp Memory persistence from a volatile memory to a non-volatile memory
US11397461B2 (en) 2017-05-16 2022-07-26 Micron Technology, Inc. Providing energy information to memory
US11720163B2 (en) 2017-05-16 2023-08-08 Micron Technology, Inc. Providing energy information to memory
US12147287B2 (en) 2017-05-16 2024-11-19 Lodestar Licensing Group, Llc Providing energy information to memory

Also Published As

Publication number Publication date
US5889933A (en) 1999-03-30

Similar Documents

Publication Publication Date Title
JPH10320135A (ja) 適応型電力障害リカバリシステム
US5724501A (en) Quick recovery of write cache in a fault tolerant I/O system
EP0608344B1 (en) System for backing-up data for rollback
JP2501752B2 (ja) コンピユ―タ・システムのストレ―ジ装置及びデ―タのストア方法
US5596708A (en) Method and apparatus for the protection of write data in a disk array
EP0747822B1 (en) External storage system with redundant storage controllers
US6766491B2 (en) Parity mirroring between controllers in an active-active controller pair
US8108597B2 (en) Storage control method and system for performing backup and/or restoration
US20030233525A1 (en) Procedure to reduce copy time for data backup from short-term to long-term memory
US20060107129A1 (en) Method and computer program product for marking errors in BIOS on a RAID controller
JPH09231013A (ja) 複数の記憶サブシステムの間で付勢状態の予備ドライブ(hsd)を共有するための方法とその装置
JPH10320135A5 (ja) データ記憶システム、データ保護処理方法及びデータ保護装置
JPH11272427A (ja) データ退避方法および外部記憶装置
JPH0619722B2 (ja) コンピユータの状態をセーブする装置
WO1993023803A1 (en) Disk array apparatus
JPH07134635A (ja) ディスクアレイ装置
JPH06309234A (ja) ディスク制御装置
JPH09269871A (ja) ディスクアレイ装置におけるデータ再冗長化方式
JP2000293389A (ja) フォールトトレラントシステムにおけるミラーディスク復旧方式
US6687852B1 (en) Ultra reliable disk memory for duplex processor platforms
JP3009987B2 (ja) ディスクアレイ装置
JP3043662B2 (ja) データバックアップ方式
JP3124201B2 (ja) 入出力制御装置
JPH11154058A (ja) ディスクアレイ装置及びデータ保守方法
JPH083807B2 (ja) 2重化磁気デイスク装置の自動切換装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050128

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050128

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050128

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20050128

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060414

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080901

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090303