説明

ディスク制御装置及びディスク制御方法、並びにプログラム

【課題】半導体メモリで構成された記憶部と、磁気ディスクで構成された記憶部とに対して信頼性の高いミラーリング制御を行うことができるディスク制御装置を提供する。
【解決手段】ディスク制御装置は、SSDにおけるデータの書き換え回数から、導出されたSSDにおけるデータの保持期間を経過した後に、SSDにおけるデータの書き換え回数を取得し、この取得された書き換え回数が、取得されたSSDにおけるデータの書き換え回数から、予め定められた値以上に増加しなかったとき、HDDからデータを読み取るように設定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディスク制御装置及びディスク制御方法、並びにプログラムに関し、特にミラーリング制御を行うディスク制御装置及びディスク制御方法、並びにプログラムに関する。
【背景技術】
【0002】
一般的なコンピュータでは、処理に使用するデータは、ハードディスク(以下、「HDD」という)などの外部記憶装置に記憶されるが、記憶されたデータの保護を図るために、RAID(Redundant Array of Independent Inexpensive Disks)のような冗長化されたディスクアレイが利用されている。RAIDにおいては、例えば複数のディスクドライブに同一のデータを格納するミラーリング(mirroring)構成であるレベル1のRAID(RAID1)などが定義されている。
【0003】
このRAID1を実現するディスク制御装置は、再構築(リビルド)機能と呼ぶデータ復元機能を有する。この再構築機能により、故障したHDDに格納されたデータを、交換HDDに復元することができる。
【0004】
また、HDDは、プラッタを高速回転させ、磁気ヘッドを移動させることで情報の読み書きを行っている。そのため、HDDは「衝撃や振動に弱い」、「消費電力が大きい」、「起動が遅い」などの問題があり、HDDの代替として近年、半導体メモリを利用したSSD(Solid State Drive)への置き換えが進んでいる。
【0005】
上記ディスク装置としては、複数台のディスクを順番に使用してミラーリングを行うことで、ディスクの寿命を延ばす技術が開示されている(例えば、特許文献1参照)。このディスク制御装置は、マスタディスクを固定せず、複数台のディスクのうち任意のディスクのペアでミラーリングを行い、定期的に切り替えていくものである。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−250644号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した特許文献1のディスク制御装置は、同種類のディスクで構成されているため、HDDでディスクアレイを構成した場合には、消費電力が大きく起動が遅くなる。そして、それに対応するために、SSDを用いてディスクアレイを構成したとしても、SSDには「書き換え可能回数」及び「データ保持期間」が有限という問題がある。そのため、ディスクアレイを構成するドライブに同一のデータを書き込むRAID1においては、これらの問題が同時に発生する可能性があり、ミラーリングを行っていたにもかかわらずデータが消失してしまうという重大な問題を引き起こしかねない。
【0008】
本発明の目的は、半導体メモリで構成された記憶部と、磁気ディスクで構成された記憶部とに対して信頼性の高いミラーリング制御を行うことができるディスク制御装置及びディスク制御方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するために、請求項1記載のディスク制御装置は、半導体メモリで構成された第1記憶部と、磁気ディスクで構成された第2記憶部とに対してミラーリング制御を行うとともに、データを読み取る場合には、前記第1記憶部から読み取るように予め設定されたディスク制御装置であって、前記第1記憶部におけるデータの書き換え回数を取得する第1取得部と、前記第1記憶部におけるデータの書き換え回数と、その書き換え回数でのデータの保持期間とが対応付けられた保持期間情報を用いて、前記第1取得部により取得された書き換え回数から、前記第1記憶部におけるデータの保持期間を導出する導出部と、前記導出部により導出された保持期間を経過した後に、前記第1記憶部におけるデータの書き換え回数を取得する第2取得部と、前記第2取得部により取得された書き換え回数が前記第1取得部により取得された書き換え回数から、予め定められた値以上に増加しなかったとき、前記第2記憶部からデータを読み取るように設定する設定部とを備えることを特徴とする。
【発明の効果】
【0010】
本発明によれば、半導体メモリにおけるデータの書き換え回数から、導出された半導体メモリにおけるデータの保持期間を経過した後に、半導体メモリにおけるデータの書き換え回数を取得し、この取得された書き換え回数が、取得された半導体メモリにおけるデータの書き換え回数から、予め定められた値以上に増加しなかったとき、磁気ディスクからデータを読み取るように設定するので、半導体メモリで構成された記憶部と、磁気ディスクで構成された記憶部とに対して信頼性の高いミラーリング制御を行うことができる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施の形態に係るディスク制御装置の概略構成を示す図である。
【図2】図1におけるディスク制御システムがミラーリング制御時に用いられる保持期間テーブルを示す図である。
【図3】図1におけるCPUによって実行されるミラーリング制御処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について図面を参照しながら説明する。
【0013】
図1は、本発明の実施の形態に係るディスク制御装置を備える画像形成装置の概略構成を示す図である。
【0014】
図1において、画像形成装置101は、本発明の実施の形態に係るディスク制御装置としてのコントローラ104を内蔵している。本実施の形態は、画像形成装置以外にも、例えば、パーソナルコンピュータやサーバーコンピュータ、各種家電など、ディスク制御システムを接続可能な全ての機器に適用可能である。
【0015】
図1の画像形成装置101は、コントローラ104、スキャナ部102、及びプリンタ部103を備え、コンピュータ端末115とネットワークを介して接続されている。コントローラ104は、スキャナ部102、及びプリンタ部103と接続されている。
【0016】
スキャナ部102は、画像入力デバイスであり、プリンタ部103は画像出力デバイスであり、いずれも公知技術で構成可能である。
【0017】
コントローラ104は、画像形成装置101全体を制御し、CPU105、RAM106、ROM107、操作部108、RTC110、外部インタフェース109、及びディスク制御システム111を備え、これらはバスを介して互いに接続されている。
【0018】
CPU105は、画像形成装置101全体を制御する。RAM106は、CPU105が動作するためプログラムやデータ等が一時的に記憶される揮発性の記憶装置である。ROM107は、画像形成装置101のブートプログラム等が格納されている不揮発性の記憶装置である。操作部108は、画像形成装置101を操作したり、画像形成装置101の状態を表示したりするためのユーザインタフェース(UI)である。RTC110は、現在時刻を計時するリアルタイムクロックデバイスであり、画像形成装置101の電源が断たれている間も電池等のバッテリーバックアップ等によって動作し続ける。外部インタフェース109は、LANなどを介して外部機器であるコンピュータ端末115と接続するためのインタフェースである。
【0019】
ディスク制御システム111は、バスに接続されたディスクアレイ制御装置112と、ディスクアレイ制御装置112に夫々接続されたSSD114(Solid State Drive)(第1記憶部)、及びHDD113(Hard Disk Drive)(第2記憶部)とを備える。以下の説明で、HDD113及びSSD114の両方を示す場合には、単にドライブと表現する。
【0020】
SSD114は、半導体メモリで構成され、HDD113は、磁気ディスクで構成される。これらSSD114とHDD113に対してディスクアレイ制御装置112はミラーリング制御を行うとともに、データを読み取る場合には、CPU105によりSSD114からデータを読み取るように予め設定されている。
【0021】
HDD113とSSD114は、CPU105からの指示に応じて、画像形成装置101のプログラムや画像データ、オペレーティングシステムなどの種々のデータを記憶している。
【0022】
ディスクアレイ制御装置112は、CPU105からのライトデータをHDD113に格納するとともに、同一のデータをSSD114にも格納する。これにより、HDD113とSSD114のデータ構造は同一となる。
【0023】
また、CPU105がデータをリードする場合は、予め決められたドライブからのみリード行う。そして、以後このリードを行う方のドライブをプライマリドライブ、行わない方のドライブをセカンダリドライブと呼ぶこととする。
【0024】
そして、通常時はSSD114をプライマリドライブ、HDD113をセカンダリドライブとして構成されている。また、冗長性のあるRAID構成では、定期的に整合性チェックを行うことが一般的である。この整合性チェックとは、ミラーリングを行っている双方のドライブのデータを比較し、データの不一致を検出した場合はプライマリドライブからセカンダリドライブへデータを上書きすることでデータの整合性を整えることを言う。
【0025】
次に、SSD114が有する機能であるS.M.A.R.T.(Self-Monitoring Analysis and Reporting Technology)機能について説明する。S.M.A.R.T.機能とは、SSD及びHDDが備えている自己診断機能のことであり、電源を投入した回数や不良セクタの数などSSDやHDDのさまざまな情報が記録され、故障の可能性を予告することができる。さらに、SSDとHDDでは、記録しているS.M.A.R.T.の項目が異なっており、Max Erase CountはSSDのみが記録している情報である。
【0026】
このMax Erase CountとはSSDの全ブロックの中で最も消去回数の多いブロックの消去回数を表している。ここで、SSDにおけるブロックとは、フラッシュメモリのデータを消去する単位のことで、データの読み書きの単位であるページより大きなサイズを持つ。そして、データの書き換えを行う際は、ブロック単位でデータを消去した後にページ単位で書き込みを行う必要がある。そのため、ブロックの消去回数は書き換え回数と同数になる。
【0027】
また、SSDの書き換え回数はSSDの制御を行うSSDコントローラ(不図示)のウェアレベリングと呼ばれる機能により書き換え回数がほぼ均等になるように制御されている。そのため、特定のブロックの消去回数が突出して多くなることはないように設計されている。
【0028】
図2は、図1におけるディスク制御システム111がミラーリング制御時に用いられる保持期間テーブル(保持期間情報)を示す図である。
【0029】
図2において、保持期間テーブルは、SSD114におけるデータの書き換え回数「Max Erase Count」と、その書き換え回数でのデータの保持期間である「データ保持期間」とが対応付けられている。この保持期間テーブルは、Max Erase CountからSSD114がデータを保持可能な時間を示している。
【0030】
例えば、Max Erase Countが1000以下であれば、書き込まれたデータは、データを書き込んだときから5000時間まで保持されることを示している。また、Max Erase Countが10000以上であれば、SSD114を交換すべきであることが示されている。
【0031】
この保持期間テーブルは、ディスク制御システム111のミラーリング制御プログラムに予め組み込まれている。
【0032】
図3は、図1におけるCPU105によって実行されるミラーリング制御処理の手順を示すフローチャートである。
【0033】
図3において、SSD114からMax Erase Count(書き換え回数)を取得し(ステップS201)(第1取得部)、上記保持期間テーブルを用いて、取得された書き換え回数から、SSD114におけるデータの保持期間を導出し(ステップS202)(導出部)、データの保持期間が経過したとき(ステップS203でYES)、再びSSD114からMax Erase Countを取得し(ステップS204)(第2取得部)、Max Erase CountがステップS201で取得されたMax Erase Countから予め定められた値以上に増加したか否か判別する(ステップS205)。
【0034】
ステップS205の判別の結果、Max Erase CountがステップS201で取得されたMax Erase Countから予め定められた値以上に増加したとき(ステップS205でYES)、データ保持期間が経過する前に各ブロックに対して書き換えが行われたと判断して、直ちに本処理を終了する。
【0035】
なお、上記予め定められた値としてはウェアレベリングを考慮して、2〜10程度に設定することが望ましい。また、今回はMax Erase Countを使用して各ブロックに対して書き換えが行われたか否かの判定を行ったが、他にも平均消去回数を表すAverage Erase Countやこの2つを組み合わせて判定を行っても良い。
【0036】
一方、ステップS205の判別の結果、Max Erase CountがステップS201で取得されたMax Erase Countから予め定められた値以上に増加していなとき(ステップS205でNO)、SSD114に対して書き換えが行われなかったということを意味するので、SSD114のデータが消滅している可能性があり、データの保障ができない。そこで、CPU105はプライマリとセカンダリの設定を入れ替え、HDD113の方をプライマリドライブに設定する(ステップS206)(設定部)。
【0037】
次いで、データの保障ができないSSD114のデータをチェックするため、ミラーリングを構成しているHDD113記憶されたデータとSSD114に記憶されたデータとが整合しているか否かチェックを行い(ステップS207)(判別部)、整合していると判別されたとき(ステップS208でYES)、ステップS210に進み、不整合と判別されたとき、HDD113に記憶されているデータをSSD114に上書きすることによりデータの修復を行い(修復部)、ステップS210に進む。
【0038】
続くステップS210では、SSD114の全ブロックをリフレッシュする(リフレッシュ部)。リフレッシュとは、全ブロックについて各ブロックのデータを消去後、同じデータを書き直すことを言い、リフレッシュを行うことで、SSD114のデータ保持期間はクリアされる。
【0039】
リフレッシュされた後、SSD114をプライマリドライブ、HDD113をセカンダリドライブに設定して(ステップS211)、本処理を終了する。
【0040】
上述したステップS202において、ステップS201で取得したMax Erase Countが保持期間テーブルに規定されている上限回数まで到達していた場合は、操作部108にその旨を表示し、ユーザにSSD114の交換を促すようにしてもよい。
【0041】
図3の処理によれば、SSD114におけるデータの書き換え回数から、導出されたSSD114におけるデータの保持期間を経過した後に、SSD114におけるデータの書き換え回数を取得し(ステップS204)、この取得された書き換え回数が、取得されたSSD114におけるデータの書き換え回数から、予め定められた値以上に増加しなかったとき、HDD113からデータを読み取るように設定する(ステップS206)ので、信頼性が低下したSSD114から信頼性の高いHDD113からデータを読み取るように設定される結果、信頼性の高いミラーリング制御を行うことができる。
【0042】
また、ステップS206でHDD113をプライマリに設定される前、及びステップS211でSSD114をプライマリに設定された後は、SSD114の方がHDD113よりも高速にデータを読み取ることが一般的に可能であることから、データの読み取りに関するパフォーマンスを向上することができる。
【0043】
(他の実施形態)
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【0044】
101 画像形成装置
104 コントローラ
105 CPU
107 ROM
111 ディスク制御システム
112 ディスクアレイ制御装置
113 HDD
114 SSD

【特許請求の範囲】
【請求項1】
半導体メモリで構成された第1記憶部と、磁気ディスクで構成された第2記憶部とに対してミラーリング制御を行うとともに、データを読み取る場合には、前記第1記憶部から読み取るように予め設定されたディスク制御装置であって、
前記第1記憶部におけるデータの書き換え回数を取得する第1取得部と、
前記第1記憶部におけるデータの書き換え回数と、その書き換え回数でのデータの保持期間とが対応付けられた保持期間情報を用いて、前記第1取得部により取得された書き換え回数から、前記第1記憶部におけるデータの保持期間を導出する導出部と、
前記導出部により導出された保持期間を経過した後に、前記第1記憶部におけるデータの書き換え回数を取得する第2取得部と、
前記第2取得部により取得された書き換え回数が前記第1取得部により取得された書き換え回数から、予め定められた値以上に増加しなかったとき、前記第2記憶部からデータを読み取るように設定する設定部と
を備えたことを特徴とするディスク制御装置。
【請求項2】
前記設定部により、前記第2記憶部からデータを読み取るように設定された後に、前記第1記憶部に記憶されたデータと第2記憶部に記憶されたデータとの整合がなされているか否かを判別する判別部と、
整合がなされていないときに、前記第2記憶部に記憶されているデータを前記第1記憶部に上書きすることによりデータの修復を行う修復部と、
整合がなされているとき、又は前記修復部によりデータの修復が行われたときに、前記第1記憶部をリフレッシュするリフレッシュ部と、
前記リフレッシュ部によりリフレッシュされた第1記憶部からデータを読み取るように設定する他の設定部と
を備えたことを特徴とする請求項1記載のディスク制御装置。
【請求項3】
前記第1記憶部は、S.M.A.R.T.機能を有し、
前記取得部は、前記S.M.A.R.T.機能により前記第1記憶部に記憶されたMax Erase Count、及びAverage Erase Countのいずれか一方を、前記データの書き換え回数として取得する請求項1又は2記載のディスク装置。
【請求項4】
半導体メモリで構成された第1記憶部と、磁気ディスクで構成された第2記憶部とに対してミラーリング制御を行うとともに、データを読み取る場合には、前記第1記憶部から読み取るように予め設定されたディスク制御装置のディスク制御方法であって、
前記第1記憶部におけるデータの書き換え回数を取得する第1取得ステップと、
前記第1記憶部におけるデータの書き換え回数と、その書き換え回数でのデータの保持期間とが対応付けられた保持期間情報を用いて、前記第1取得ステップにより取得された書き換え回数から、前記第1記憶部におけるデータの保持期間を導出する導出ステップと、
前記導出ステップにより導出された保持期間を経過した後に、前記第1記憶部におけるデータの書き換え回数を取得する第2取得ステップと、
前記第2取得ステップにより取得された書き換え回数が前記第1取得ステップにより取得された書き換え回数から、予め定められた値以上に増加しなかったとき、前記第2記憶部からデータを読み取るように設定する設定ステップと
を備えたことを特徴とするディスク制御方法。
【請求項5】
半導体メモリで構成された第1記憶部と、磁気ディスクで構成された第2記憶部とに対してミラーリング制御を行うとともに、データを読み取る場合には、前記第1記憶部から読み取るように予め設定されたディスク制御装置のディスク制御方法をコンピュータに実行させるためのプログラムであって、
前記制御方法は、
前記第1記憶部におけるデータの書き換え回数を取得する第1取得ステップと、
前記第1記憶部におけるデータの書き換え回数と、その書き換え回数でのデータの保持期間とが対応付けられた保持期間情報を用いて、前記第1取得ステップにより取得された書き換え回数から、前記第1記憶部におけるデータの保持期間を導出する導出ステップと、
前記導出ステップにより導出された保持期間を経過した後に、前記第1記憶部におけるデータの書き換え回数を取得する第2取得ステップと、
前記第2取得ステップにより取得された書き換え回数が前記第1取得ステップにより取得された書き換え回数から、予め定められた値以上に増加しなかったとき、前記第2記憶部からデータを読み取るように設定する設定ステップと
を備えたことを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2012−79100(P2012−79100A)
【公開日】平成24年4月19日(2012.4.19)
【国際特許分類】
【出願番号】特願2010−223807(P2010−223807)
【出願日】平成22年10月1日(2010.10.1)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】