JP6264012B2 - 制御装置、及び制御プログラム - Google Patents
制御装置、及び制御プログラム Download PDFInfo
- Publication number
- JP6264012B2 JP6264012B2 JP2013259221A JP2013259221A JP6264012B2 JP 6264012 B2 JP6264012 B2 JP 6264012B2 JP 2013259221 A JP2013259221 A JP 2013259221A JP 2013259221 A JP2013259221 A JP 2013259221A JP 6264012 B2 JP6264012 B2 JP 6264012B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage device
- unit
- power supply
- power
- 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
Links
- 230000015654 memory Effects 0.000 claims description 103
- 238000012546 transfer Methods 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 28
- 230000010365 information processing Effects 0.000 description 65
- 238000000034 method Methods 0.000 description 53
- 239000003990 capacitor Substances 0.000 description 29
- 238000012544 monitoring process Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000032683 aging Effects 0.000 description 2
- 230000003796 beauty Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/313—In storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Power Sources (AREA)
- Retry When Errors Occur (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
Description
SATA−SSDは、電源の切断前に、Standby、Standby Immediate、Sleep等のコマンドが実行され、パワーオフ(P−OFF)シーケンス(SEQ)を実行する必要がある。パワーオフシーケンスを実行せずに電力供給が絶たれると、期待外のパワーオフが発生して、SATA−SSDが故障する可能性がある。ここで、StandbyコマンドはSATA−SSDをスタンドバイモードに移行させるコマンドであり、Standby ImmediateコマンドはSATA−SSDを即時にスタンドバイモードに移行させるコマンである。又、Sleepコマンドは、SATA−SSDスリープモードに移行させるコマンドである。これらのコマンドやパワーオフシーケンスはATAにおいて一般的な概念であるため、その詳細な説明は省略する。
情報処理装置101は、CPU102、メモリコントローラ103、キャッシュメモリ104、電源供給部105、停電時給電部106、バックアップ制御部107、及びSATA−SSD108をそなえる。
CPU102は、種々の制御や演算を行なう処理装置であり、Operating System(OS)やプログラムを実行することにより、種々の機能を実現する。
キャッシュメモリ104は、CPU102に対して読み書きされるデータ(ユーザデータ)を、一時的に記憶する高速のメモリである。キャッシュメモリ104は、CPU102内部に設けられることが多い。
電源供給部105は、外部からAC電力を供給されて、CPU102、メモリコントローラ103、キャッシュメモリ104、停電時給電部106、バックアップ制御部107、及びSSD108にDC電力を供給する電源である。
バックアップ制御部107は、Peripheral Component Interconnect Express(PCIe)インタフェース(IF)制御部121、SATA IF部122、非データDirect Memory Access(DMA)部123、ライトDMA部124、及び停電シーケンス(SEQ)部125をそなえる。
PCIe IF制御部121は、情報処理装置101のメモリコントローラ103とバックアップ制御部107との間のPCIeリンク111を介した通信を制御する処理部である。
非データDMA部123は、情報処理装置101のメモリコントローラ103とSSD108との間で、コマンド等の非データの転送を行なう処理部である。例えば、非データDMA部123は、バックアップデータのSSD108へのライト完了後に、SSD108にパワーオフシーケンスを実行させるために、SSD108にStandby Immediateコマンドを実行する。
しかし、従来の情報処理装置101においては、キャッシュメモリ104からSSD108へのバックアップデータのライト時のエラーリトライ回数は固定値(例えば8回)に設定されている。このため、停電時給電部106に蓄電されている電力を、バックアップデータのライトリトライを多く実行するために使用することができない。このため、停電時給電部106が新しいうちにコンデンサ114に多く蓄電されている電力を、バックアップデータのライトリトライに有効活用することができない。
つまり、停電時給電部106のコンデンサ114が古くなった場合には、コンデンサ114の給電可能時間が短くなるため、停電時のバックアップデータのライトリトライ中に、停電時給電部106からの給電が終了するおそれがある。この場合、SSD108のパワーオフシーケンスが実行される前にSSD108がパワーオフされ、上述の如く、SSD108の期待外のパワーオフが発生し、SSD108が故障する可能性がある。
上記課題に鑑みて、1つの側面では、本発明は、情報処理装置の信頼性を向上させることを目的とする。
又、主電源の電力供給停止時に副電源から電力の供給を受けて第1の記憶装置からのデータを第2の記憶装置に書き込ませる制御プログラムは、前記副電源が電力を供給可能な残供給時間を取得し、前記データの書き込み時にエラーが発生した際に、取得した前記残供給時間に基づいて、前記第1の記憶装置から前記第2の記憶装置への前記データの書き込みのリトライ回数を設定し、前記第1の記憶装置内のデータについて、前記第1の記憶装置から前記第2の記憶装置への前記データの書き込みの優先度情報を記憶し、前記優先度情報に基づいて前記第1の記憶装置内のデータ毎に異なる値を前記リトライ回数として設定する、処理をコンピュータに実行させる。
ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態及び各変形例を組み合わせる等)して実行することができる。
情報処理装置1は、例えば不図示のストレージ装置にそなえられるストレージ制御装置(Control Module;CM)などである。
情報処理装置1は、CPU2、メモリコントローラ3、キャッシュメモリ(第1の記憶装置)4、電源供給部(主電源)5、停電時給電部(副電源)6、バックアップ制御部(制御装置、コンピュータ)7、SATA−SSD(第2の記憶装置)8、及びMagnetoresistive Random Access Memory(MRAM)9をそなえる。
メモリコントローラ3は、CPU2と後述するキャッシュメモリ4との間、CPU2と後述するバックアップ制御部7との間、及びキャッシュメモリ4とバックアップ制御部7との間のデータの転送を制御する。
SATA−SSD8は、停電等の発生時に、キャッシュメモリ4に記憶されているデータをバックアップする先のメモリである。SATA−SSD8としては、公知のSATA−SSDを使用することができる。以降簡潔を期するために、SATA−SSD8を単にSSD8とも称する。又、以下の説明では、停電など、情報処理装置1への電力供給が絶たれる状況を総称して「停電」と呼ぶ。
停電時給電部6は、コンデンサ14をそなえるSCUである。停電時給電部6は、電源供給部5からDC電力の供給を受け、コンデンサ14に蓄電を行なう。停電時に、停電時給電部6は、コンデンサ14に蓄電されているDC電力を、メモリコントローラ3、キャッシュメモリ4、バックアップ制御部7、SSD8、MRAM9、及び監視部10に供給する。
情報処理装置1において、メモリコントローラ3とバックアップ制御部7とは、4レーンのPCIeリンク11によって接続されている。このPCIeリンク11を介して、キャッシュメモリ4からSSD8にバックアップされるユーザデータが、キャッシュメモリ4からメモリコントローラ3経由でバックアップ制御部7に送られる。
図2は、第1実施形態の一例としてのバックアップ制御部7の構成を示す図である。
バックアップ制御部7は、PCIe IF制御部21、SATA IF部22、非データDMA部23、ライトDMA部24、停電シーケンス(SEQ)部(リトライ回数設定部)25、及び性能モニタ(残供給時間取得部,記録部)26をそなえる。
監視部10は、情報処理装置1の電源供給部5及び停電時給電部6の監視及び制御を行なうFPGAである。本実施形態においては、監視部10は、停電時給電部6のコンデンサ14によって停電発生時に給電可能な時間を監視している。
PCIe IF制御部21は、メモリコントローラ3とバックアップ制御部7との間のPCIeリンク11を介した通信を制御する処理部である。PCIe IF制御部21は、例えば回路として実施することができる。
非データDMA部23は、メモリコントローラ3とSSD8との間で、コマンド等の非データの転送を行なう処理部である。例えば、非データDMA部23は、バックアップデータのSSD8へのライト完了後に、SSD8にパワーオフシーケンスを実行させるために、SSD8にStandby Immediateを実行する。非データDMA部23は、例えば回路として実施することができる。
詳細には、性能モニタ26は、CPU2によって起動されると、停電発生時点からの経過時間のカウントアップを開始する。又、停電シーケンス部25がライトDMA部24を起動する。又、性能モニタ26は、PCIeリンク11の総レーン数(図2の例では4レーン)のうち、使用可能なレーン数を監視する。
性能モニタ26は、例えば回路として実施することができる。
図3は、第1実施形態の一例としての情報処理装置1の停電処理を示す図である。
一般に、情報処理装置1内でのデータ転送においては、転送するデータ量が大きい場合、転送するデータを複数のかたまりに分割して、分割したかたまり単位でデータ転送が複数回に分けて行なわれる。このため、停電発生時のキャッシュメモリ4からSSD8へのデータバックアップも、数回に分けて行なわれる。ここでは、キャッシュメモリ4からSSD8への1回のデータバックアップを「1アクセス」又は「1転送」と呼ぶ。
エラーが発生すると、停電シーケンス部25が、図6を用いて後述するリトライ算出処理を実行して、前回のSSD8のパワーオフシーケンス時間と、1転送あたりに使用できる時間とから、1転送あたりのリトライ回数を算出する。つまり、停電シーケンス部25は、SSD8のパワーオフシーケンス時間が残されるように、リトライ回数を算出する。
図4,図5は、第1実施形態の一例としての情報処理装置1における停電処理を示すフローチャート(ステップS1〜S24)である。図4はステップS1〜S8,S17〜S24を、図5はステップS9〜S16をそれぞれ示す。
次にステップS3において、停電シーケンス部25は、ライトDMA部24を起動する。
ステップS5において、ライトDMA部24は、バックアップデータのライトにおいてエラーが発生しているかどうかを判定する。
エラーが発生していない場合(ステップS5のNOルート参照)、ステップS6において、ライトDMA部24は、キャッシュメモリ4からバックアップする全データをSSD8に転送したかどうかを判定する。その際、例えば、ライトDMA部24は、バックアップする全データのサイズ(総バックアップデータサイズ)を、SSD8に転送済みのデータのサイズ(転送済みデータサイズ)と比較することによってこの判定を行なう。
一方、全データの転送が完了した場合(ステップS6のYESルート参照)、ステップS7において、性能モニタ26が、ステップS4のキャッシュメモリ4からSSD8へのライト転送に要した時間と、総バックアップデータ量とから、ライト性能値を算出する。そして、性能モニタ26は、算出したライト性能値27をMRAM9に記録する。
一方、ステップS5でエラーが発生している場合(ステップS5のYESルート参照)、ライトリトライ処理を開始する。詳細には、図5のステップS9において、ライトDMA部24が停電シーケンス部25にエラーを通知する。さらに、ライトDMA部24は、エラー発生前にSSD8に転送が完了しているデータのサイズを、停電シーケンス部25に通知する。
リトライ回数が算出済みである場合(ステップS10のYESルート参照)、ステップS11において、停電シーケンス部25は、リトライが可能(すなわち、リトライ回数が1以上)であるかどうかを判定する。
一方、リトライが可能ではない場合(ステップS11のNOルート参照)、ステップS15において、停電シーケンス部25は、全アクセスが完了した(全ての転送が終了した)かどうかを判定する。
全アクセスが完了している場合(ステップS15のYESルート参照)、処理が前述のステップS7に移る。
次に、ステップS13において、停電シーケンス部25は、リトライが可能であるかどうかを判定する。
一方、リトライが可能な場合(ステップS13のYESルート参照)、ステップS14において、停電シーケンス部25は、図4のステップS4でエラーとなったデータのリトライを開始し、リトライ回数を1デクリメント(−1)する。その後、処理は前述の図4のステップS3に移る。
次に、ステップS18において、停電シーケンス部25は、非データDMA部23を起動する。
ステップS20において、停電シーケンス部25は、Standby Immediateコマンドでエラーが発生しているかどうかを判定する。
次に、ステップS22において、停電シーケンス部25は、非データDMA部23を再起動して本処理を終了する。
ステップS24において、性能モニタ26が、SSD8のパワーオフシーケンスに要した時間を、MRAM9にSSD前回P−OFF SEQ時間28として記録して、本処理を終了する。
ステップS31において、停電シーケンス部25が、監視部10から、停電時給電部6のコンデンサ14によって給電可能な時間である残給電時間TREMAINを受信する。
ステップS32において、停電シーケンス部25は、性能モニタ26から、前回の停電時のライト性能値27(WP)を受信する。
ステップS34において、停電シーケンス部25は、性能モニタ26から、使用PCIeレーン数LCを受信する。
次にステップS36において、停電シーケンス部25は、キャッシュメモリ4からSSD8に既にバックアップが行なわれている転送済みデータサイズSSENTを取得する。
SREMAIN=STOTAL−SSENT …(1)
ステップS38において、停電シーケンス部25は、ステップS37で求めたSREMAINから、残りのデータをバックアップするためにSDD8に何回アクセスするかを示す残アクセス数AREMAINを以下の式(2)により計算する。
次にステップS39において、停電シーケンス部25は、ステップS32,S34で取得したWPとLCとから、1アクセスに要する時間TACCESSを以下の式(3)により計算する。
ステップS40において、停電シーケンス部25は、ステップS31,S33でそれぞれ取得したTREMAIN及びTP−OFFと、ステップS38で求めたAREMAINから、1アクセスに割り当てられる時間TALLOCを以下の式(4)により計算する。
ステップS41において、停電シーケンス部25は、ステップS39で求めたTACCESSと、ステップS40で求めたTALLOCとから、1アクセスにおいてライトをリトライできる回数RCを以下の式(5)により計算して、本処理を終了する。
図7は、第1実施形態の一例としての停電シーケンス部25によるリトライ回数の算出例を示す図である。
本例においては、コンデンサ14の総給電時間が80秒、ライト性能値WPが250MB/s、1アクセスのデータサイズが1MB、PCIeの総レーン数のうちの使用レーン数LCが4レーン、総バックアップサイズSTOTALが8GB、前回のパワーオフシーケンス時間TP−OFFが1秒とする。このとき、停電から30秒後(残り給電時間が50秒)、7GBのデータを転送済みの時点で、ライトエラー発生が発生したとする。
次に、ステップS38において、停電シーケンス部25は、残アクセス数AREMAINを、残バックアップデータサイズ1GB/1アクセスのデータサイズ1MB=1024アクセスと算出する。
次に、ステップS40において、停電シーケンス部25は、1アクセスに割り当てられる時間TALLOCを、(残り給電時間50秒−パワーオフシーケンス時間)1秒/残アクセス数1024アクセス=47msと算出する。
このように、第1実施形態の一例によれば、停電シーケンス部25が、SSD8のパワーオフシーケンス、停電時給電部6のコンデンサ14の給電時間、及びライト性能値27から、SSD8へのデータバックアップ時のライトエラーのリトライの回数を算出する。このように、停電シーケンス部25は、SSD8のパワーオフシーケンスの時間を確保した上でライトエラーのリトライ回数が算定されるので、停電時にSSD8のパワーオフシーケンスを実行できる確率が上がる。これにより、SSD8の期待外パワーオフを防止して、SSD8の故障を防止でき、情報処理装置1の次回の自動時に、SSD8の起動時間や初回ライト時間の増加を防止することができる。
さらに、停電シーケンス部25は、PCIeリンク11の総レーンのうち、現在使用可能なレーン数に基づいてライトエラーのリトライの回数を算出するため、PCIeリンク11の一部が使用できない場合にも、リトライの回数を正確に算出することができる。
(B)第2実施形態
ところで、情報処理装置においては、全てのデータが等しく重要であるケースは少なく、通常は、情報処理装置には優先度が高いデータと優先度が低いデータとが存在する。このため、停電発生時においては、優先度の高いデータを確実にバックアップすることが望ましい。
なお、第2実施形態の一例の情報処理装置1′は、図1に示した第1実施形態の一例の情報処理装置1と同様のハードウェア構成をそなえるため、その説明並びに図示を省略する。
第2実施形態の一例としての情報処理装置1′は、ライト性能値27及びSSD前回P−OFF SEQ時間28を格納するMRAM9、バックアップ制御部7′、SATA−SSD(以下SSDとも呼ぶ)8、及び監視部10をそなえる。
バックアップ制御部7′は、PCIe IF制御部21、SATA IF部22、非データDMA部23、ライトDMA部24、停電シーケンス部25′、及び性能モニタ26をそなえる。
第2実施形態の一例としての情報処理装置1′のMRAM9、SSD8、監視部10、PCIe IF制御部21、SATA IF部22、非データDMA部23、ライトDMA部24、性能モニタ26、ライト性能値27、及びSSD前回P−OFF SEQ時間28は、上記の第1実施形態の一例と同じ機能及び構成を有するため、その説明を省略する。
図9は、第2実施形態の一例としての優先度テーブル29を例示する図である。
優先度テーブル29は、アドレスフィールド291、優先度フィールド292、及び完了フラグ293を有する。
優先度フィールド292は、キャッシュメモリ4内の当該データの優先度を示す値を格納している。例えば、優先度フィールド292には、1(優先度高)、2(優先度低)、及び3(通常)の3種類の値が格納される。
なお、図9に示す優先度テーブル29に登録される情報が優先度情報であり、バックアップ制御部7′の不図示の内部メモリにはこれらの情報が関連付けられて格納される。なお、本第2の実施形態の一例では、優先度情報を優先度テーブル29として説明したが、優先度情報は必ずしもテーブルでなくてもよく、優先度情報が他の形態でバックアップ制御部7′に格納されてもよい。
停電等が発生し、情報処理装置1′において電源供給部5へのAC電力の供給が絶たれると、ステップS51において、CPU2が、キャッシュメモリ4からSSD8にバックアップするデータのデータサイズ及びデータのアドレスを設定して、停電シーケンス部25′を起動する。その後、CPU2は、省電力のため、情報処理装置1′が再起動されるまでスリープ状態に入る。
次にステップS53において、停電シーケンス部25′は、ライトDMA部24を起動する。
ステップS55において、ライトDMA部24は、バックアップデータのライトにおいてエラーが発生しているかどうかを判定する。
エラーが発生していない場合(ステップS55のNOルート参照)、ステップS56において、ライトDMA部24は、優先度テーブル29の、転送が完了したデータの完了フラグフィールド293に、バックアップの完了を示す値“1”を設定する。
一方、全データの転送が完了した場合(ステップS57のYESルート参照)、ステップS58において、性能モニタ26が、ステップS54のキャッシュメモリ4からSSD8へのライト転送に要した時間と、総バックアップデータ量とから、ライト性能値を算出する。そして、性能モニタ26は、算出したライト性能値27をMRAM9に記録する。
一方、ステップS55でエラーが発生している場合(ステップS55のYESルート参照)、ライトリトライ処理を開始する。詳細には、図11のステップS60において、ライトDMA部24が停電シーケンス部25′にエラーを通知する。さらに、ライトDMA部24は、エラー発生前にSSD8に転送が完了しているデータのサイズを、停電シーケンス部25′に通知する。
リトライ回数が算出済みである場合(ステップS61のYESルート参照)、ステップS62において、停電シーケンス部25′は、リトライが可能(すなわち、リトライ回数が1以上)であるかどうかを判定する。
一方、リトライが可能ではない場合(ステップS62のNOルート参照)、ステップS66において、停電シーケンス部25′は、全アクセスが完了した(全ての転送が終了した)かどうかを判定する。
全アクセスが完了している場合(ステップS66のYESルート参照)、処理が前述のステップS58に移る。
次に、ステップS64において、停電シーケンス部25′は、リトライが可能であるかどうかを判定する。
一方、リトライが可能な場合(ステップS64のYESルート参照)、ステップS65において、停電シーケンス部25′は、図10のステップS54でエラーとなったデータのリトライを開始し、リトライ回数を1デクリメント(−1)する。その後、処理は前述の図10のステップS53に移る。
次に、ステップS69において、停電シーケンス部25′は、非データDMA部23を起動する。
ステップS71において、停電シーケンス部25′は、Standby Immediateコマンドでエラーが発生しているかどうかを判定する。
次に、ステップS73において、ステップ20で停電シーケンス部25′は、非データDMA部23を再起動して本処理を終了する。
ステップS75において、性能モニタ26が、SSD8のパワーオフシーケンスに要した時間を、MRAM9にSSD前回P−OFF SEQ時間28として記録して、本処理を終了する。
ステップS81において、停電シーケンス部25′が、監視部10から、停電時給電部6のコンデンサ14によって給電可能な時間である残給電時間TREMAINを受信する。
次にステップS83において、停電シーケンス部25′は、SSD8の前回のパワーオフシーケンスに要したパワーオフシーケンス時間TP−OFFを、性能モニタ26に問い合わせて受信する。
ステップS85において、停電シーケンス部25′は、キャッシュメモリ4からSSD8にバックアップするデータの合計サイズである、総バックアップデータサイズSTOTALを取得する。
ステップS87において、停電シーケンス部25′は、ステップS85で取得したSTOTALとステップS86で取得したSSENTとから、SSD8にバックアップする残りのデータのサイズである残バックアップデータサイズSREMAINを以下の式(1)により計算する。
ステップS88において、停電シーケンス部25′は、ステップS87で求めたSREMAINから、残りのデータをバックアップするためにSDD8に何回アクセスするかを示す残アクセス数AREMAINを以下の式(2)により計算する。
次にステップS89において、停電シーケンス部25′は、ステップS82,S84で取得したWPとLCとから、1アクセスに要する時間TACCESSを以下の式(3)により計算する。
ステップS90において、停電シーケンス部25′は、ステップS81,S83でそれぞれ取得したTREMAIN及びTP−OFFと、ステップS88で求めたAREMAINから、1アクセスに割り当てられる時間TALLOCを以下の式(4)により計算する。
ステップS91において、停電シーケンス部25′は、ステップS89で求めたTACCESSと、ステップS90で求めたTALLOCとから、1アクセスにおいてライトをリトライできる回数RCを以下の式(5)により計算する。
次に、ステップS92において、停電シーケンス部25′は、例えばMRAM9から、CPU2によって事前に設定され、バックアップ制御部7′に記憶されている所定割合30(X%)と優先度テーブル29とを読み出す。
ステップS94において、停電シーケンス部25′は、ステップS91で読み出したX(%)に基づいて、優先度が低いデータのリトライ回数から減算する回数SUBを以下の式(6)により算出する。
ステップS95において、停電シーケンス部25′は、ステップS93で得たAHIGH及びALOWと、ステップS94で求めたSUBとを使用して、優先度の高いデータのリトライ回数に加算する回数ADDを以下の式(7)により算出する。
ADD=(SUB×ALOW)/AHIGH …(7)
ステップS96において、停電シーケンス部25′は、ステップS91で求めたRCと、ステップS94,S95でそれぞれSUB及びADDとを使用して、データの優先度毎のリトライ回数を以下の式(8)〜(10)により算出する。
優先度の低いデータのリトライ回数=RC−SUB …(9)
通常の優先度のデータのリトライ回数=RC …(10)
その後停電シーケンス部25′は本処理を終了する。
図13は、第2実施形態の一例としての停電シーケンス部25′によるリトライ回数の算出例を示す図である。
次に、ステップS88において、停電シーケンス部25′は、残アクセス数AREMAINを、残バックアップデータサイズ1GB/1アクセスのデータサイズ1MB=1024アクセスと算出する。
次に、ステップS90において、停電シーケンス部25′は、1アクセスに割り当てられる時間TALLOCを、(残り給電時間50秒−パワーオフシーケンス時間)1秒/残アクセス数1024アクセス=47msと算出する。
ステップS94において、停電シーケンス部25′は、優先度が低いデータのリトライ回数から減算する回数SUBを、SUB=11×(50/100)=5(小数点以下切り捨て)として求める。
ステップS96において、停電シーケンス部25′は、データの優先度毎のリトライ回数を以下のように求める。
優先度の低いデータのリトライ回数=11−5=6
通常の優先度のデータのリトライ回数=11
このように、第2実施形態の一例によれば、停電シーケンス部25′が、前述の第1実施形態の処理を実行することに加え、優先度テーブル29内のデータの優先度に基づいて、ライトエラーのリトライ回数を調整する。詳細には、停電シーケンス部25′は、優先度の低いデータのリトライ回数を低く設定し、優先度の高いデータのリトライ回数は多く設定する。
(C)その他
なお、上述した実施形態に関わらず、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上記の実施形態の一例においては、キャッシュメモリ4のデータのバックアップ先としてSATA−SSD8を使用していたが、バックアップ先として他のタイプの不揮発性メモリも使用可能である。
又、上記の実施形態の一例においては、バックアップ制御部7,7′及び監視部10をFPGAとして実施し、PCIe IF制御部21、SATA IF部22、非データDMA部23、ライトDMA部24、停電シーケンス部25,25′、及び性能モニタ26を回路として実施する例を取り上げた。
その場合、情報処理装置1,1′のCPU2が、制御プログラムを実行することにより、上述したパバックアップ制御部7,7′、監視部10、PCIe IF制御部21、SATA IF部22、非データDMA部23、ライトDMA部24、停電シーケンス部25,25′、及び性能モニタ26として機能するようになっている。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
主電源の電力供給停止時に副電源から電力の供給を受けて第1の記憶装置からのデータを第2の記憶装置に書き込ませる制御装置であって、
前記副電源が電力を供給可能な残供給時間を取得する残供給時間取得部と、
前記データの書き込み時にエラーが発生した際に、前記残供給時間取得部が取得した前記残供給時間に基づいて、前記第1の記憶装置から前記第2の記憶装置への前記データの書き込みのリトライ回数を設定するリトライ回数設定部と、
をそなえることを特徴とする制御装置。
前記第2の記憶装置は、該第2の記憶装置への電源切断前にパワーオフシーケンスが実行される記憶装置であり、
前記リトライ回数設定部は、前記第2の記憶装置の前回のパワーオフシーケンスに要した所要時間にさらに基づいて前記リトライ回数を設定する
ことを特徴とする付記1記載の制御装置。
前記主電源の前回の電力供給停止時の前記第1の記憶装置から前記第2の記憶装置へのデータ転送時間を記録する記録部をさらにそなえ、
前記リトライ回数設定部は、前記データ転送時間にさらに基づいて前記リトライ回数を設定する
ことを特徴とする付記1又は2記載の制御装置。
前記第1の記憶装置内のデータについて、前記第1の記憶装置から前記第2の記憶装置への前記データの書き込みの優先度を記憶する優先度情報をそなえ、
前記リトライ回数設定部は、前記優先度情報をさらに基づいて前記リトライ回数を設定する
ことを特徴とする付記1〜3のいずれか1項に記載の制御装置。
前記リトライ回数設定部は、前記優先度情報に基づいて前記第1の記憶装置内のデータ毎に異なる値を前記リトライ回数として設定することを特徴とする付記4記載の制御装置。
(付記6)
前記リトライ回数設定部は、前記第1の記憶装置と前記第2の記憶装置との間で利用可能なデータ転送リンク数にも基づいて前記リトライ回数を設定することを特徴とする付記1〜5のいずれか1項に記載の制御装置。
主電源の電力供給停止時に副電源から電力の供給を受けて第1の記憶装置からのデータを第2の記憶装置に書き込ませる制御方法であって、
前記副電源が電力を供給可能な残供給時間を取得し、
前記データの書き込み時にエラーが発生した際に、取得した前記残供給時間に基づいて、前記第1の記憶装置から前記第2の記憶装置への前記データの書き込みのリトライ回数を設定する、
ことを特徴とする制御方法。
前記第2の記憶装置は、該第2の記憶装置への電源切断前にパワーオフシーケンスが実行される記憶装置であり、
前記第2の記憶装置の前回のパワーオフシーケンスに要した所要時間にさらに基づいて前記リトライ回数を設定する
ことを特徴とする付記7記載の制御方法。
前記主電源の前回の電力供給停止時の前記第1の記憶装置から前記第2の記憶装置へのデータ転送時間を記録し、
前記データ転送時間にさらに基づいて前記リトライ回数を設定する
ことを特徴とする付記7又は8記載の制御方法。
前記第1の記憶装置内のデータについて、前記第1の記憶装置から前記第2の記憶装置への前記データの書き込みの優先度情報を記憶し、
前記優先度情報にさらに基づいて前記リトライ回数を設定する
ことを特徴とする付記7〜9のいずれか1項に記載の制御方法。
前記優先度情報に基づいて前記第1の記憶装置内のデータ毎に異なる値を前記リトライ回数として設定することを特徴とする付記10記載の制御方法。
(付記12)
前記第1の記憶装置と前記第2の記憶装置との間で利用可能なデータ転送リンク数にも基づいて前記リトライ回数を設定することを特徴とする付記7〜11のいずれか1項に記載の制御方法。
主電源の電力供給停止時に副電源から電力の供給を受けて第1の記憶装置からのデータを第2の記憶装置に書き込ませる制御プログラムであって、
前記副電源が電力を供給可能な残供給時間を取得し、
前記データの書き込み時にエラーが発生した際に、取得した前記残供給時間に基づいて、前記第1の記憶装置から前記第2の記憶装置への前記データの書き込みのリトライ回数を設定する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
前記第2の記憶装置は、該第2の記憶装置への電源切断前にパワーオフシーケンスが実行される記憶装置であり、
前記第2の記憶装置の前回のパワーオフシーケンスに要した所要時間にさらに基づいて前記リトライ回数を設定する
処理を前記コンピュータに実行させることを特徴とする付記13記載の制御プログラム。
前記主電源の前回の電力供給停止時の前記第1の記憶装置から前記第2の記憶装置へのデータ転送時間を記録し、
前記データ転送時間にさらに基づいて前記リトライ回数を設定する
処理を前記コンピュータに実行させることを特徴とする付記13又は14記載の制御プログラム。
前記第1の記憶装置内のデータについて、前記第1の記憶装置から前記第2の記憶装置への前記データの書き込みの優先度情報を記憶し、
前記優先度情報にさらに基づいて前記リトライ回数を設定する
処理を前記コンピュータに実行させることを特徴とする付記13〜15のいずれか1項に記載の制御プログラム。
前記優先度情報に基づいて前記第1の記憶装置内のデータ毎に異なる値を前記リトライ回数として設定する処理を前記コンピュータに実行させることを特徴とする付記16記載の制御プログラム。
(付記18)
前記第1の記憶装置と前記第2の記憶装置との間で利用可能なデータ転送リンク数にも基づいて前記リトライ回数を設定する処理を前記コンピュータに実行させることを特徴とする付記13〜17のいずれか1項に記載の制御プログラム。
情報処理装置であって、
主電源と、
副電源と、
第1の記憶装置と、
第2の記憶装置と、
前記情報処理装置への電力供給停止時に前記副電源から電力の供給を受けて前記第1の記憶装置のデータを前記第2の記憶装置に送信する制御装置と、をそなえ、
前記制御装置は、
前記副電源が電力を供給可能な残供給時間を取得する残供給時間取得部と、
前記データの書き込み時にエラーが発生した際に、前記残供給時間取得部が取得した前記残供給時間に基づいて、前記第1の記憶装置から前記第2の記憶装置への前記データの書き込みのリトライ回数を設定するリトライ回数設定部と、
をそなえることを特徴とする情報処理装置。
前記制御装置は、前記第1の記憶装置内のデータについて、前記第1の記憶装置から前記第2の記憶装置への前記データの書き込みの優先度を記憶する優先度情報をそなえ、
前記リトライ回数設定部は、前記優先度情報をさらに基づいて前記リトライ回数を設定する
ことを特徴とする付記19記載の情報処理装置。
2 CPU
3 メモリコントローラ
4 キャッシュメモリ(第1の記憶装置)
5 電源供給部(主電源)
6 停電時給電部(副電源)
7 バックアップ制御部(制御装置、コンピュータ)
8 SATA−SSD(第2の記憶装置)
9 MRAM
10 監視部
14 コンデンサ
21 PCIe IF制御部
22 SATA IF部
23 非DMA部
24 ライトDMA部
25 停電シーケンス部(リトライ回数設定部)
26 性能モニタ(残供給時間取得部,記録部)
27 ライト性能値(データ転送時間)
28 SSDパワーオフ時間(所要時間)
29 優先度テーブル(優先度情報)
Claims (8)
- 主電源の電力供給停止時に副電源から電力の供給を受けて第1の記憶装置からのデータを第2の記憶装置に書き込ませる制御装置であって、
前記副電源が電力を供給可能な残供給時間を取得する残供給時間取得部と、
前記副電源からの電力供給中における、前記残供給時間取得部が取得した前記残供給時間に基づいて、リトライ回数の最大値を算出し、前記リトライ回数の最大値を、前記第1の記憶装置から前記第2の記憶装置への前記データの書き込み時にエラーが発生した場合に用いられるリトライ回数として設定するリトライ回数設定部と、
をそなえることを特徴とする制御装置。 - 前記第1の記憶装置内のデータについて、前記第1の記憶装置から前記第2の記憶装置への前記データの書き込みの優先度情報を記憶し、
前記リトライ回数設定部は、前記優先度情報にさらに基づいて前記リトライ回数を設定する
ことを特徴とする請求項1記載の制御装置。 - 前記リトライ回数設定部は、前記優先度情報に基づいて前記第1の記憶装置内のデータ毎に異なる値を前記リトライ回数として設定することを特徴とする請求項2記載の制御装置。
- 前記リトライ回数設定部は、前記第1の記憶装置と前記第2の記憶装置との間で利用可能なデータ転送リンク数にも基づいて前記リトライ回数を設定することを特徴とする請求項1〜3のいずれか1項に記載の制御装置。
- 主電源の電力供給停止時に副電源から電力の供給を受けて第1の記憶装置からのデータを第2の記憶装置に書き込ませる制御プログラムであって、
前記副電源が電力を供給可能な残供給時間を取得し、
前記副電源からの電力供給中における、取得した前記残供給時間に基づいて、リトライ回数の最大値を算出し、前記リトライ回数の最大値を、前記第1の記憶装置から前記第2の記憶装置への前記データの書き込み時にエラーが発生した場合に用いられるリトライ回数として設定する、
処理をコンピュータに実行させることを特徴とする制御プログラム。 - 前記第1の記憶装置内のデータについて、前記第1の記憶装置から前記第2の記憶装置への前記データの書き込みの優先度情報を記憶し、
前記優先度情報に基づいて前記第1の記憶装置内のデータ毎に異なる値を前記リトライ回数として設定する、
処理をコンピュータに実行させることを特徴とする請求項5記載の制御プログラム。 - 主電源の電力供給停止時に副電源から電力の供給を受けて第1の記憶装置からのデータを第2の記憶装置に書き込ませる制御装置であって、
前記副電源が電力を供給可能な残供給時間を取得する残供給時間取得部と、
前記データの書き込み時にエラーが発生した際に、前記残供給時間取得部が取得した前記残供給時間に基づいて、前記第1の記憶装置から前記第2の記憶装置への前記データの書き込みのリトライ回数を設定するリトライ回数設定部と、
をそなえ、
前記第1の記憶装置内のデータについて、前記第1の記憶装置から前記第2の記憶装置への前記データの書き込みの優先度情報を記憶し、
前記リトライ回数設定部は、前記優先度情報に基づいて前記第1の記憶装置内のデータ毎に異なる値を前記リトライ回数として設定することを特徴とする制御装置。 - 主電源の電力供給停止時に副電源から電力の供給を受けて第1の記憶装置からのデータを第2の記憶装置に書き込ませる制御プログラムであって、
前記副電源が電力を供給可能な残供給時間を取得し、
前記データの書き込み時にエラーが発生した際に、取得した前記残供給時間に基づいて、前記第1の記憶装置から前記第2の記憶装置への前記データの書き込みのリトライ回数を設定し、
前記第1の記憶装置内のデータについて、前記第1の記憶装置から前記第2の記憶装置への前記データの書き込みの優先度情報を記憶し、
前記優先度情報に基づいて前記第1の記憶装置内のデータ毎に異なる値を前記リトライ回数として設定する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013259221A JP6264012B2 (ja) | 2013-12-16 | 2013-12-16 | 制御装置、及び制御プログラム |
US14/554,161 US9588567B2 (en) | 2013-12-16 | 2014-11-26 | Control apparatus, computer-readable storage medium, and information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013259221A JP6264012B2 (ja) | 2013-12-16 | 2013-12-16 | 制御装置、及び制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015115051A JP2015115051A (ja) | 2015-06-22 |
JP6264012B2 true JP6264012B2 (ja) | 2018-01-24 |
Family
ID=53368380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013259221A Expired - Fee Related JP6264012B2 (ja) | 2013-12-16 | 2013-12-16 | 制御装置、及び制御プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9588567B2 (ja) |
JP (1) | JP6264012B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577560B (zh) * | 2016-09-23 | 2021-04-02 | 珠海艾派克微电子有限公司 | 存储介质、数据处理方法及采用该方法的盒芯片 |
TWI604326B (zh) * | 2016-10-27 | 2017-11-01 | 財團法人工業技術研究院 | 基於fpga之系統功率評估裝置與方法 |
JP6802484B2 (ja) * | 2017-02-10 | 2020-12-16 | 富士通株式会社 | ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0651918A (ja) * | 1992-08-03 | 1994-02-25 | Fujitsu Ltd | 半導体ディスク装置 |
JPH06309234A (ja) | 1993-02-15 | 1994-11-04 | Toshiba Corp | ディスク制御装置 |
JP2000200152A (ja) * | 1999-01-06 | 2000-07-18 | Toshiba Corp | 磁気ディスク装置 |
JP2001084712A (ja) * | 1999-09-13 | 2001-03-30 | Toshiba Corp | 磁気ディスク装置及び同装置のエラーリトライ制御方法 |
JP3498651B2 (ja) | 1999-11-02 | 2004-02-16 | 日本電気株式会社 | ディスク制御装置、ディスク装置、ディスク制御システム、リトライ回数制御方法、および記録媒体 |
JP2004164792A (ja) * | 2002-11-15 | 2004-06-10 | Ricoh Co Ltd | 情報記録再生システム及び情報記録再生方法並びに情報記録再生プログラム及びそれを記録した記録媒体 |
KR100585098B1 (ko) * | 2003-07-01 | 2006-06-01 | 삼성전자주식회사 | 적응적 리트라이 제어 방법 및 이를 이용한 디스크 드라이브 |
JP4133877B2 (ja) * | 2004-03-12 | 2008-08-13 | シャープ株式会社 | データ記憶装置及び撮像装置 |
JP4940681B2 (ja) | 2006-02-07 | 2012-05-30 | 株式会社デンソー | 電子制御装置 |
JP4235919B2 (ja) * | 2006-10-06 | 2009-03-11 | コニカミノルタビジネステクノロジーズ株式会社 | 情報処理装置及びプログラム |
JP2008176362A (ja) * | 2007-01-16 | 2008-07-31 | Ricoh Co Ltd | データ変換装置とデータ変換方法と電子装置 |
US8924352B1 (en) * | 2007-03-31 | 2014-12-30 | Emc Corporation | Automated priority backup and archive |
JP5232516B2 (ja) * | 2008-03-27 | 2013-07-10 | 株式会社日立製作所 | ディスクアレイ装置 |
JP5317690B2 (ja) * | 2008-12-27 | 2013-10-16 | 株式会社東芝 | メモリシステム |
JP5742362B2 (ja) * | 2011-03-28 | 2015-07-01 | 富士通株式会社 | 退避処理装置 |
-
2013
- 2013-12-16 JP JP2013259221A patent/JP6264012B2/ja not_active Expired - Fee Related
-
2014
- 2014-11-26 US US14/554,161 patent/US9588567B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9588567B2 (en) | 2017-03-07 |
US20150169040A1 (en) | 2015-06-18 |
JP2015115051A (ja) | 2015-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI677694B (zh) | 智慧型備用電容器管理 | |
KR102546255B1 (ko) | 호스트의 지시 없이 능동적으로 유지보수 동작을 개시하는 스토리지 장치 및 그것을 포함하는 전자 시스템 | |
US8745421B2 (en) | Devices for control of the operation of data storage devices using solid-state memory based on a discharge of an amount of stored energy indicative of power providing capabilities | |
US8412876B2 (en) | Storage device with multiple storage units and control method thereof | |
JP5906966B2 (ja) | 制御装置、電力供給装置及び電力制御方法 | |
US9336089B2 (en) | Processing apparatus, method, and non-transitory computer-readable storage medium | |
US9396755B2 (en) | Temperature-defined data-storage policy for a hybrid disk drive | |
US20110231730A1 (en) | Mass storage device and method for offline background scrubbing of solid-state memory devices | |
US9465426B2 (en) | Method for backing up data in a case of power failure of storage system, and storage system controller | |
CN104050056A (zh) | 多存储介质设备的文件系统备份 | |
KR20100029268A (ko) | 비휘발성 메모리를 위한 향상된 기록 중단 메커니즘 | |
JP6264012B2 (ja) | 制御装置、及び制御プログラム | |
US11733883B2 (en) | Storage device initiating maintenance operation actively without instruction of host and electronic system including the same | |
US9940192B2 (en) | Non-volatile semiconductor storage apparatus | |
JPWO2012086072A1 (ja) | ストレージ装置,制御装置および制御方法 | |
US20150324248A1 (en) | Information processing device, control method and recording medium for recording control program | |
TWI386922B (zh) | Can improve the efficiency of the implementation of the hard disk device and its reading and writing methods | |
JP5217452B2 (ja) | 情報処理装置及びシステム、並びに、記憶領域管理方法及びプログラム | |
US9779001B2 (en) | Mirroring device, control method thereof, and storage medium that maintain difference in remaining writable amounts of data | |
US20180039439A1 (en) | Storage system, storage control device, and method of controlling a storage system | |
US20130073792A1 (en) | Electronic apparatus using nand flash and memory management method thereof | |
JP2008059007A (ja) | 半導体記憶装置 | |
JP6004115B2 (ja) | メモリ制御装置、情報処理装置、及びメモリ制御方法 | |
US8732414B2 (en) | Control device, controller module, and control method | |
US20230133278A1 (en) | Removable solid state storage system with data loss prevention and user alert |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160905 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170419 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170425 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170626 |
|
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: 20171121 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171204 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6264012 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |