(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-25
(45)【発行日】2022-12-05
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
G11B 20/10 20060101AFI20221128BHJP
G06F 3/06 20060101ALI20221128BHJP
G06F 11/14 20060101ALI20221128BHJP
G11B 20/18 20060101ALI20221128BHJP
【FI】
G11B20/10 C
G06F3/06 304P
G06F3/06 306Z
G06F11/14 602J
G11B20/18 572B
G11B20/18 572F
G11B20/18 512A
G11B20/18 512Z
(21)【出願番号】P 2018143936
(22)【出願日】2018-07-31
【審査請求日】2021-07-26
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100124442
【氏名又は名称】黒岩 創吾
(72)【発明者】
【氏名】山田 遼平
【審査官】中野 和彦
(56)【参考文献】
【文献】国際公開第2009/040929(WO,A1)
【文献】特開2017-037626(JP,A)
【文献】特開2004-145934(JP,A)
【文献】特開2010-257340(JP,A)
【文献】特開2006-236524(JP,A)
【文献】特開2007-164823(JP,A)
【文献】特開2016-004592(JP,A)
【文献】特開平11-073279(JP,A)
【文献】特開2008-251086(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11B 20/10
G06F 3/06
G06F 11/14
G11B 20/18
(57)【特許請求の範囲】
【請求項1】
ハードディスクを含む情報処理装置であって、
代替セクタに代替されたセクタに関する第1データを少なくとも記憶する記憶手段と、
前記第1データと前記第1データに対応する閾値を比較し、前記第1データが前記閾値以上であるか否かを判定する判定手段と、
前記ハードディスクに第2データを書き込む第1書き込み処理、又は、前記ハードディスクに前記第2データを書き込み、前記第2データを書き込んだことに従って書き込んだデータの読み出しを行う第2書き込み処理を設定する設定手段と、
前記設定手段に設定された書き込み処理を変更する変更手段と、
ユーザに情報を通知する通知手段と、を有し、
前記変更手段は、前記判定手段において前記第1データが前記閾値以上であると判定されることによって、前記設定手段に設定された書き込み処理を前記第1書き込み処理から前記第2書き込み処理に変更し、
前記通知手段は、前記第2書き込み処理に変更した後、前記第1データの更新データが前記閾値以上であると判定されることによって、前記ハードディスクの交換通知を出すことを特徴とする情報処理装置。
【請求項2】
前記第2書き込み
処理は、前記書き込んだデータを正常に読み出せないことに従って、前記第2データを再び前記ハードディスクに書き込む
処理であることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記設定手段で設定された書き込み処理を実行する実行手段を更に有し、
前記変更手段によって前記第1書き込み処理から前記第2書き込み処理に変更されることで、前記実行手段は、前記代替セクタに代替されたセクタのすべてに対して、前記第2書き込み処理を実行し、前記記憶手段は、前記書き込んだデータを正常に読み出せた、前記代替セクタに代替されたセクタを通常セクタとして記憶
し、前記第1データを更新することを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記判定手段において前記第1データが前記閾値未満であると判定されることによって、前記ハードディスクの記憶領域として使用可能な全てのセクタに対して読み出しを行う読み出し手段をさらに有することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記記憶手段は、
前記読み出し手段によって読み出しが実行されたセクタのうち正常にデータを読み出せなかったセクタは、代替保留セクタとして記憶し、
前記読み出し手段によって読み出しが実行されたセクタであって、前記記憶手段によって代替保留セクタとして記憶されたセクタのうち正常にデータを読み出せなかった代替保留セクタは、代替セクタに代替されたセクタとして記憶することを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記
記憶手段は、前記代替セクタに代替されたセクタの数の情報を
記憶し、
前記第1データは、前記代替セクタに代替されたセクタの数であることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
【請求項7】
所定の期間における前記代替セクタに代替されたセクタの増加率を計算する計算手段を更に有し、
前記
記憶手段は、複数の時点における前記代替セクタに代替されたセクタの数を
記憶し、
前記計算手段は、前記複数の時点における前記代替セクタに代替されたセクタの数から、前記所定の期間における前記代替セクタに代替されたセクタの増加率を計算し、
前記第1データは、前記計算手段によって計算された増加率であることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
【請求項8】
前記複数の時点は、各年の各月であり、
前記所定の期間は、ひと月であることを特徴とする請求項7に記載の情報処理装置。
【請求項9】
画像データを用紙に印刷する印刷手段を更に有することを特徴とする請求項1乃至
8のいずれか1項に記載の情報処理装置。
【請求項10】
少なくとも1つの原稿を読み取り、画像データを生成する読取手段を更に有することを特徴とする請求項1乃至
9のいずれか1項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置に関する。
【背景技術】
【0002】
近年、複合機(MFP)に用いられるハードディスク(HDD)は、MFPのシステム起動に必要なドライバ等のシステムデータや、ジョブに関するデータなどを記憶する構成となっている。
【0003】
HDDは、磁気ヘッドを用いて記憶領域へデータを書き込む。磁気ヘッドにゴミが付着した場合には、書き込み処理(Write)したときに十分な電荷量でセクタに書込めないおそれがある(WeakWrite)。
【0004】
このWeakWriteによって書き込まれたデータは帯電量が少なく、該データを読み取ろうとした時に帯電量が少ないことでデータを正常に読み取れず読み出しエラーとなってしまう。このようなデータが記憶されたセクタは、不良セクタとして扱われる。例えば、特許文献1では、HDDが待機状態のときにリードテストを行うことでディスク上に存在する不良セクタを見つけ出し、その不良セクタの代わりに予め用意された代替セクタを割り当てている。また、ライトテストを行うことで、磁気ヘッドの異常をユーザに知らせていた。
【0005】
しかしながら、不良セクタが沢山発生すると、予め用意された代替セクタでは足りなくなるおそれがある。そのような場合には、ハードディスクを使用した際に、不良セクタにアクセスすることになる可能性があり、正常なデータを読み出す事が出来なくなるおそれがある。そして、システム起動に必要なドライバの読込時や、ユーザ領域に保存されている画像データの印刷時に正常なデータを読み出す事が出来ず、エラー故障表示が発生し、HDDの交換処理となってしまうおそれがある。
【0006】
一方、HDDの書き込み処理としてベリファイ(WriteVerify)というものがある。WriteVerifyは、データを記憶領域に書き込むと、確認のための読み出しを行う書き込み処理である。WriteVerifyでは、HDDの仕様上、書き込み処理を行った後、読み出しを行うために磁気ヘッドを移動させる。そのため、WriteVerifyによれば、磁気ヘッドの移動により磁気ヘッドにゴミが付着していたとしても、磁気ヘッドの移動によってゴミをとることが可能となる。つまり、WeakWriteによって生じる使用できないセクタの発生を抑制することが可能となる。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
すべての書き込み処理でWriteVerifyを実行する場合には、WeakWriteによる使用できないセクタの増加を抑制することが可能であり、HDDの寿命を延ばすことが可能である。しかしながら、WriteVerifyでは、データの書き込みを行った後、読み出しを行うために磁気ヘッドを移動させるため、すべての書き込み処理で実行するとHDDのパフォーマンスを低下させてしまうおそれがある。
【0009】
本発明の情報処理装置はこのような課題に鑑み、HDDのパフォーマンスとHDDの寿命とを両立することを目的とする。
【課題を解決するための手段】
【0010】
本発明は、ハードディスクを含む情報処理装置であって、代替セクタに代替されたセクタに関する第1データを少なくとも記憶する記憶手段と、前記第1データと前記第1データに対応する閾値を比較し、前記第1データが前記閾値以上であるか否かを判定する判定手段と、前記設定手段に設定された書き込み処理を変更する変更手段と、ユーザに情報を通知する通知手段と、を有し、前記変更手段は、前記判定手段において前記第1データが前記閾値以上であると判定されることによって、前記設定手段に設定された書き込み処理を前記第1書き込み処理から前記第2書き込み処理に変更し、前記通知手段は、前記第2書き込み処理に変更した後、前記第1データの更新データが前記閾値以上であると判定されることによって、前記ハードディスクの交換通知を出すことを特徴とする。
【発明の効果】
【0011】
本発明の情報処理装置によれば、HDDのパフォーマンスとHDDの寿命とを両立することが可能となる。
【図面の簡単な説明】
【0012】
【
図1】情報処理装置のシステム制御構成を示すブロック図
【
図4】通常の書き込み処理を実行した際のセクタの状態およびWeakWrite処理を実行した際のセクタの状態を示した図
【
図5】WriteVerify処理を実行した際のセクタの状態を示した図
【
図7】代替セクタ、代替保留セクタ、代替処理セクタ、通常セクタの説明図
【
図9】閾値と代替処理セクタに関するデータとの比較図
【発明を実施するための形態】
【0013】
(実施例1)
図1は、本実施例における情報処理装置200のシステム制御構成を示すブロック図である。
【0014】
情報処理装置200は、コントローラ機能を実現するシステム制御コントローラ100を有する。
【0015】
システム制御コントローラ100は、操作部101、スキャナ部110、プリンタ部113と電気的に接続されている。また、システム制御コントローラ100は、ネットワークI/F117から、LAN(Local Area Network)を介してパーソナルコンピュータや外部の装置等と画像データやデバイス情報の通信が可能である。
【0016】
システム制御コントローラ100は、CPU106、DRAM103、ROM107、SATAI/F104、SSD105、操作部101、SRAM119を有する。さらに、システム制御コントローラ100は、ネットワークI/F117を有する。スキャナ画像処理部108、スキャナI/F109、プリンタ画像処理部111、プリンタI/F112、HDDコントローラ114、SATA/F120、HDD115を有する。
【0017】
CPU106は、後述のDRAM103に格納されたソフトウェアプログラムを実行し、装置全体の制御を行う。
【0018】
ROM107は、例えばブートプログラムや固定パラメータ等を格納している。なお、ROM107には、HDD115の制御コマンドも記憶される。なお、HDD115の制御コマンドは、後述のSSD105に記憶されていても、後述のSRAM119に記憶されていてもよい。
【0019】
DRAM103(Dynamic Random Access Memory)は、CPU106が情報処理装置200を制御する際に、プログラムや一時的なデータの格納などに使用される。なお、DRAM103に記憶されたプログラムやデータは電源オフにより消去される。
【0020】
SRAM119(Static Random Access Memory)は、属性情報などを記憶する。
【0021】
なお、SRAM119は、記憶した内容を電源オフ後も保持しておくように電池によるバックアップがされている。
【0022】
HDD115は、CPU106が実行するプログラムや各種データを記憶するメインストレージである。なお、HDD115が待機状態の時には、システム制御コントローラ100が通電状態となる。
【0023】
HDDコントローラ114は、SATAI/F120を介してHDD115に接続される。HDDコントローラ114は、HDD115に読み取り処理や書き込み処理などを行わせる制御をする。
【0024】
SSD105は、CPU106が実行するプログラムを記憶する。SSD105は、SATAI/F104を介してシステムバス116に接続される。
【0025】
操作部I/F102は、システムバス116と操作部101とを接続するインターフェースである。この操作部I/F102は、操作部101に表示する為の画像データをシステムバス116から受け取り、操作部101に出力すると共に、操作部101から入力された情報をシステムバス116へと出力する。ネットワークI/F117はLANとシステムバス116を接続するインターフェースである。
【0026】
スキャナ部110では、少なくとも1つの原稿を読み取り、画像データを生成する。生成された画像データは、スキャナI/F109を介してスキャナ画像処理部108に送られる。スキャナ画像処理部108において処理された画像データは、DRAM103に送られ格納される。この画像データは必要に応じて画像処理が施され、再びDRAM103に格納され、DRAM103からHDDコントローラ114へ転送される。
【0027】
この画像データはプリンタ画像処理部111に送られる。プリンタ画像処理部111において処理された画像データはプリンタI/F112を介してプリンタ部113に送られる。
【0028】
プリンタ部113は、プリンタI/F112において受け付けた画像データを用紙に印刷する。
【0029】
【0030】
HDD115は、制御部130、ホストI/F131、RAM132、NVRAM133を有する。さらにHDD115は、ディスク駆動部134、ヘッド駆動部135、リードライト信号処理部136、アーム137、磁気ヘッド138、磁気ディスク139、及びスピンドルモーター140を有する。
【0031】
ホストI/F131は、SATAI/F120を介してHDDコントローラ114と通信するモジュールである。本例では、ホストI/F131として、シリアルATA(Serial AT Attachment:以下、SATA)インターフェースを用いるものとする。
【0032】
制御部130は、HDD115の読み取り処理、書き込み処理、代替セクタ処理等を制御する。
【0033】
NVRAM133には、SMART情報40が記憶されている。SMART情報は、HDD115の回転数や、ロード・アンロード回数、代替処理されたセクタの数などのセクタ情報、HDD115の使用期間、電源オン/オフ回数、通電時間、ロード時間などのHDD115に関するパラメータ情報である。具体的な例を
図3に示す。なお、閾値が、SMART情報に含まれないデータである場合には、別途記憶する。
【0034】
図3において、現在値は、SMART情報を取得した時点での数値を示し、最悪値は、過去のSMART情報の中で最も悪かった値を示し、閾値は、後述の
図9のように書き込み処理を変更する際の判断基準を示す。
【0035】
代替保留セクタ数は、制御部130が読み出し処理において不安定だと判断したセクタの数を示す。具体的には、通常のセクタであって、読み出し処理においてエラーが発生すると、代替保留セクタとしてNVRAM133に記憶される。
【0036】
代替処理セクタ数(代替処理済みセクタ数)は、他のセクタ(代替セクタ)で代替処理されたセクタの数を示す。代替処理セクタは、代替保留セクタの読み出し処理においてエラーが発生することで、代替処理セクタとしてNVRAM133に記憶される。なお、代替処理セクタは、代替処理された不良セクタを指す。
【0037】
セクタ代替処理発生回数は、代替処理の発生回数を示す。
【0038】
回復不可能セクタ数は、制御部130が先天的な不良だと判断した不良セクタや、すべての代替セクタを使用してしまい、代替処理セクタとして処理することが出来なかった不良セクタの数を示す。
【0039】
このロード/アンロード回数は、ロード処理及びアンロード処理が実行された回数を示し、制御部130はこの処理が実行された時、この回数をインクリメントする。
【0040】
電源OFF/ON回数とは、HDD115が起動した回数と、停止した回数を示す。制御部130は、CPU106からのコマンドを受けて自身が起動した回数と停止した回数を判断し、この回数をインクリメントする。
【0041】
この通電時間とはHDD115に電源が供給されている時間を示す。
【0042】
このロード時間とは、磁気ヘッド138が磁気ディスク139上にいる状態、つまりロード状態となっている時間を示す。
【0043】
RAM132は、例えばキャッシュデータを記憶する。
【0044】
ヘッド駆動部は、データの読み出し、書き込みをおこなう磁気ヘッド138の駆動を制御する。
【0045】
ディスク駆動部は。磁気ディスク139の回転を制御する。
【0046】
磁気ディスク139は、記憶領域として複数のセクタを有する。詳細は後述する。
【0047】
なお、制御部130は、読み出し処理が出来なかったセクタをすぐに不良セクタとせずに、代替処理保留セクタとする。制御部130は、代替処理保留セクタに対して、改めて読み取り処理を行い、正常に読み取り処理ができないと、不良セクタとして扱う。また、制御部130が、不良セクタが発生した際に代わりに代替セクタを割り当てる処理を代替セクタ処理とよぶ。NVRAM133は、代替セクタが割り当てられた不良セクタを代替処理セクタとして記憶する。詳細は後述の
図6で説明する。
【0048】
磁気ヘッド138は、書き込み処理時において、磁気ディスクの所定のセクタに対して磁束を発生させ、セクタを磁化させることでデータを記憶する。また、磁気ヘッド138は、読み取り処理時において、磁化されたセクタに保持される電荷によって生じる磁束によって電流を発生する。
【0049】
リードライト信号処理部136は、書き込み処理時に、データに応じた磁束を磁気ヘッド138生じさせる。また、読み込み処理時に、磁気ヘッド138で生じた電流によって論理情報(「1」、「0」)を判断する。
【0050】
図2の説明に戻る。
図2を用いて情報処理装置200の起動処理におけるHDD115の動作について説明する。
【0051】
HDD115に電源が供給されると、情報処理装置200の起動処理を開始する。
【0052】
制御部130は、HDD115を駆動するための初期化を実行し、その後、ヘッド駆動部135、ディスク駆動部134の駆動診断を実施する。
【0053】
制御部130が、駆動診断において問題無と判定すると、スピンドルモーター140を駆動させ、磁気ディスク139を回転させる。磁気ディスク139の回転数が安定すると、制御部130は回転数が安定したことを検出する。
【0054】
制御部130が、回転数の安定を検出すると、データの読取が可能となる。そして制御部130が、ヘッド駆動部135を駆動させ、磁気ヘッド138を磁気ディスク139上に移動させる。磁気ヘッド138が磁気ディスク139内に保存されたシステム領域を読み取り、CPU106がHDD115に記憶されたシステムプログラムを実行することで情報処理装置200の起動処理を行う。
【0055】
次に
図2を用いてHDD115の各処理における動作について説明する。
【0056】
制御部130は、SATAI/F120およびホストI/Fを介してHDDコントローラ114からのSATAコマンドを受け付ける。HDD115が受け付けたSATAコマンドに基づき、磁気ディスク139の特定のセクタへのアクセス、又は、データの読み出し、書き込み等の処理が行われる。
【0057】
その際、制御部130は、ヘッド駆動部135を動作させ、磁気ヘッド138を磁気ディスク139上の外側にあるホームポジションから磁気ディスク139上に移動させる処理、いわゆるロード処理を実行する。磁気ヘッド138が磁気ディスク139上にいる状態をロード状態という。
【0058】
データの読み取り処理では、ロード状態で所定のセクタに保持された電荷量から、磁気ヘッド138がセクタとの間の磁束に応じて磁気ヘッド138に電流が流れる。そして、前述したように磁気ヘッド138に流れる電流の量によって、リードライト新処理部が論理情報(「1」、「0」)を判断する。
【0059】
データの書き込み処理では、ロード状態で磁気ヘッド138が生成した磁束によって所定のセクタが磁化され、セクタに所定の電荷量を保持させる。
【0060】
なお、制御部130は、ロード維持時間に関する情報を、HDDコントローラ114からSATAI/F120およびホストI/F131を介して受け取っている。磁気ディスク139へのデータの読み出しや書き込み、消去等の処理を伴うジョブが完了した後で、ロード維持時間が経過した場合、制御部130は、磁気ヘッド138を磁気ディスク139上の外側に(ホームポジションへと)移動させる処理を実行する。この一連の処理をアンロード処理といい、磁気ヘッド138がホームポジションにいる状態をアンロード状態という。
【0061】
また、制御部130は、スピンドルモーター140がONした際に、NVRAM133に格納されているSMART情報40を更新、具体的には、SMART情報40内で保持されるロード/アンロード回数の値をインクリメントする。さらに、制御部130は、更新したSMART情報40を、ホストI/F131およびSATAI/F120を介してHDDコントローラ114に送信する。
【0062】
図4(A)、(B)では、正常な書き込み処理を実行できた際のセクタの状態(
図4(A))と、正常に書き込み処理を実行できなかった際のセクタの状態(
図4(B))を示す。
【0063】
書き込み処理では、磁気ヘッド138が生成した磁束によりセクタが磁化され、セクタに磁束に応じた電荷量が保持される。
【0064】
電荷量23および電荷量24は、通常の書き込み処理を行った際のセクタに保持される電荷量である。通常の書き込み処理は、データの書き込み処理を1度行う処理である。
【0065】
図4(A)における電荷量23は、制御部130が磁気ディスク139のセクタ22に対して、データの書き込み処理を正常に実行した場合の電荷量である。なお、
図4(A)では、磁気ヘッド138にゴミ20が付着されていない状態でセクタ22に対して、データの書き込み処理を実行している。
【0066】
図4(B)における電荷量24は、制御部130がセクタ21に対して、同じデータの書き込み処理を正常に実行できなかった場合(WeakWrite)の電荷量を示している。
【0067】
WeakWriteは、磁気ヘッド138にゴミ20が付着された状態(異常状態)でセクタ21へのデータの書き込み処理を行うと発生する。磁気ヘッド138にゴミ20が付着していると、セクタ21はゴミ20によって磁気ヘッド138から受けられる磁束の量が減る。その結果としてセクタ21の電荷量24は、セクタ22の電荷量23と比べて少なくなってしまう。
【0068】
制御部130が、WeakWrite時の電荷量24でデータが保持されたセクタ22のデータを読み取ろうとすると、電荷量24がデータを正確に判断するために十分な電荷量でない場合は磁気ヘッド138に流れる電流が少なくなる。その場合は、論理情報(「1」、「0」)を正しく読み取れず、データが読み取れなくなる。データが読み取れなかったセクタは、代替処理され、アクセスされなくなり、代替セクタ数が増加する。
【0069】
次に
図5は、WriteVerify処理(以下、WriteVerify)でセクタ21に対して行った時の電荷量を示す。
【0070】
WriteVerifyは、所定のセクタに書き込み処理(1回目の書き込み処理)を実行した後、そのセクタに対して読み取り処理を実行する処理である。さらに、読み取り処理において正常にデータを読み取れない場合には、そのセクタに対してさらに書き込み処理(2回目の書き込み処理)を実行する処理である。
【0071】
ここでは、1回目の書き込み処理の実行結果を
図4(B)に示した状態であった場合を例として説明する。
【0072】
セクタ21に対して1回目の書き込み処理を行った後、磁気ヘッド138が、磁気ディスク139の上空を物理的に周って(1周移動する)から、読み取り処理を行う。ここでは、1回目の書き込みにおいて、WeakWriteが発生しているため、正常なデータを読み取ることが出来ない。そこで2回目の書き込み処理をさらに行う。2回目の書き込み処理では、1回目の書き込み処理と同じデータを書き込む。
【0073】
なお、1回目の書き込み処理の後、読み取り処理を行うために磁気ヘッド138が物理的に移動することによって、磁気ヘッド138に付着していたゴミ20が外れる。そのため、2回目の書き込み処理では、ゴミが外れた状態(正常状態)で2回目の書き込み処理を行うができ、正常な書き込み処理(セクタ21に対して十分な電荷量25でデータを書き込むこと)が可能になる。
【0074】
そのため、WriteVerifyは、情報処理装置200がHDD115に保存しているシステム情報や、ユーザデータの更新をHDD115に記憶する際に行うことが望まれる。なお、WriteVerifyを行うことで、セクタに対して十分な電荷量で書込むことが出来るため、不良セクタの増加を抑え、代替セクタの利用量を抑えることが可能となる。
【0075】
図6では、代替セクタ処理について説明する。前提として、制御部130は、代替処理保留セクタと、代替処理セクタ、通常セクタ、代替セクタに分けて認識している。
【0076】
代替処理保留セクタは、制御部が不安定なセクタとして認識したセクタである。そして、代替処理セクタは、制御部130が正常にデータを読み取れないセクタ(不良セクタ)として認識し、代替処理が行われたセクタである。代替セクタは、代替処理セクタの代わりに制御部130が代替処理したセクタである。なお代替セクタは、代替領域として予め割当てられている。
【0077】
図6の説明に戻る。
図6では、情報処理装置200が待機状態の時にHDD115の所定のセクタが
図4(B)の状態であった場合を例として説明する。
【0078】
HDD115が待機状態の時、制御部130は磁気ディスク139の全領域セクタに対して読み出し処理を実行する。つまり、
図6(A)では、
図4(B)に対して、読み出し処理を実行している。そのとき、データを読み出そうとしたセクタがWeakWriteによってセクタ21の電荷量24が正常なデータとして読み取れない状態だと、制御部130はセクタ21を代替処理保留セクタとしてSMART情報に登録する。
【0079】
図6(A)でセクタ21が代替処理保留セクタとなった後に、HDD115が待機状態の時、制御部130は磁気ディスク139の全領域セクタに対して(又は、代替処理保留セクタに対して)読み出し処理を実行する。つまり、
図6(B)では、
図6(A)に対して、読み出し処理を実行する。
【0080】
このとき代替処理保留セクタとなったセクタ21において、正常に読み取り処理ができないと、代替処理が必要な不良セクタとして扱う。そして、不良セクタに対して、代替セクタ26を割り当て、この不良セクタを代替処理が行われた代替処理セクタとしてSMART情報に登録する。次回以降、代替処理セクタとなったセクタ21に対応するアクセスが発生した場合に、代替セクタ26にアクセスする。
【0081】
なお、
図6(A)に対して読み出し処理をした結果、正常に読み取り処理ができた場合、制御部130は、代替処理保留セクタから通常のセクタとして認識を変更し、SMART情報を更新する。
【0082】
図7は、磁気ディスク139における、代替処理保留セクタ301と、代替セクタ302と、代替処理セクタ303と、代替セクタ用領域300を示している。
【0083】
制御部130は、代替処理保留セクタに対してデータを書き込み、そのデータを正常なデータとして読み出せなかった場合、代替処理されたセクタであることを示す代替処理セクタとしてSMART情報40に登録する。
図7において制御部130は、代替処理セクタ303の代わりに、代替セクタ用領域300から代替セクタ302を割り当てる。
【0084】
図8は、実施例1の書き込み処理の切り替えフローチャートを示している。
【0085】
フローチャートを開始する時、制御部130は、通常の書き込み処理を行っているものとして説明する。
【0086】
ステップS101において、情報処理装置200が待機状態になった時、システム制御コントローラ100は待機状態となり、HDD115は待機状態となる。
【0087】
ステップS102において、HDD115が待機状態になると制御部130は、NVRAM133からSMART情報を取得する。そして、制御部130は、SMART情報に含まれる代替処理セクタ数または代替処理セクタ数を用いて計算した計算結果と、予めNVRAMに記憶した閾値情報と比較する。なお、ここではHDD115が待機状態になるとすぐにSMART情報を取得する例を示すが、所定の時間がたってから行ってもよい。また、閾値情報は、NVRAM133ではなく、ROM107、SSD105、HDD115等に記憶されていてもよい。
【0088】
代替処理セクタ数または計算結果が閾値以上である場合(磁気ヘッド138にゴミがついている可能性がある異常状態である場合)に、ステップS102からステップS109に遷移する。
【0089】
代替処理セクタ数または計算結果が閾値よりも小さい場合(磁気ヘッド138にゴミがついていない通常状態である場合)に、ステップS103に遷移する。なお、予めNVRAMに記憶した閾値情報は、操作者によって変更可能であってもよい。
【0090】
ここで、
図9に示す、閾値と代替処理セクタに関するデータとの比較図を用いて比較方法を説明する。ここでは、2つの比較方法を例として説明するが、これに限られない。
【0091】
図9(A)および
図9(B)は、横軸がHDD115の稼働月数を示し、縦軸が代替処理セクタ数を示す。これらのデータは、NVRAM133から取得したSMART情報40に含まれる各月のセクタ数である。
【0092】
まず
図9(A)は、所定の期間に対する代替処理セクタの増加率と閾値とを比較する比較方法である。
【0093】
図9(A)の構成において制御部130は、以下の式を満たす場合に異常状態であると判断する。
N+1(Month)の代替処理セクタ数-N(Month)の代替処理セクタ数≧閾値・・・(1)
【0094】
つまり、所定のMonthのSMART情報40から取得した代替処理セクタ数と、所定のMonthの1Month前に取得したSMART情報40から取得した代替処理セクタ数との差分を計算し、閾値と比較する。制御部130は、増加率が閾値以上であれば、異常状態と判断し、増加率が閾値未満であれば正常状態であると判断する。
【0095】
なお、本実施例において閾値は、例として2000(セクタ数/Month)を閾値とした場合について説明する。なお、ここでは所定の期間を1Monthとし、閾値を2000(セクタ数/Month)とするがこれに限られない。
【0096】
図9(A)の構成では、0Monthの代替処理セクタ数が0セクタを示し、1Monthの代替処理セクタ数が500を示している。そして、式(1)より、500-0<2000となることから、制御部130は、1Monthにおいて正常状態であると判断する。
【0097】
一方、1Monthの代替処理セクタ数が500セクタを示し、2Monthの代替処理セクタ数が3000セクタを示している。式(1)より3000-500≧2000となることから、制御部130は、2Monthにおいて、異常状態になったと判断する。
【0098】
次に
図9(B)は、代替処理セクタの数と閾値とを比較する比較方法である。
【0099】
図9(B)の構成において制御部130は、以下の式を満たす場合に異常状態であると判断する。
代替処理セクタ数≧閾値・・・(2)
【0100】
所定のMonthのSMART情報40から取得した代替処理セクタ数と閾値を比較する。
図9(B)の構成において制御部130は、代替処理セクタ数が閾値以上であれば、異常状態と判断し、代替処理セクタ数が閾値未満であれば正常状態であると判断する。
【0101】
なお、本実施例において、閾値は、例えば代替処理セクタ数が3000である場合を示すが、これに限られない。
【0102】
図9(B)の構成では、5Monthより前は、正常状態であることを示し、5Monthにおいて異常状態になったと判断する。
【0103】
なお、
図9に示した比較方法のどちらか一方の比較方法を行ってもよいし、両方の比較方法を行ってもよい。ただし、両方の比較方法を行う場合には、少なくともどちらか一方の比較方法において閾値を超えたらステップS102からS109に遷移する。
図9では、
図9(A)または
図9(B)の一方の比較方法を用いた場合について説明する。
【0104】
また、
図9(A)および
図9(B)において、閾値は、予め設定されているものとして説明したが、操作者によって変更可能にしてもよい。
【0105】
【0106】
ステップS102において、制御部130が、代替処理セクタ数または計算結果が閾値よりも小さいと判断した場合には、ステップS103に遷移する。
【0107】
ステップS103において、制御部130は、磁気ディスク139上の、記憶領域として使用可能な全てのセクタ(以降、全領域セクタ)に対する読み取り処理を開始する。ステップS103を終えるとステップS104に遷移する。
【0108】
ステップS104において、制御部130は、所定のセクタに対して読み取り処理を行う。正常にデータを読み取れた場合には、ステップS105に遷移する。正常に読み出せなかったセクタに対しては、代替処理セクタ数を書き込み、書き込んだデータを正常に読み込めるかどうかを確認する。正常に読み取れる場合には、そのセクタは正常であると判断してステップS105に遷移する。一方、正常に読み取れない場合には、ステップS106に遷移する。
【0109】
ステップS106において、制御部130は、所定のセクタが代替保留セクタに設定されているかどうかをNVRAM133にアクセスして確認する。所定のセクタが代替保留セクタである場合には、ステップS107に遷移し、所定のセクタが代替保留セクタでない場合には、ステップS108に遷移する。
【0110】
ステップS107において、制御部130は、所定のセクタに対して代替セクタを設定し、代替処理セクタとして設定する。そして、SMART情報40において、代替処理セクタのセクタ数をインクリメントする。なお、代替セクタの設定情報は、NVRAM133に記憶される。ステップS107を終えると、ステップS105に遷移する。
【0111】
ステップS108において、制御部130は、所定のセクタを代替保留セクタに設定する。なお、代替保留セクタの設定情報は、NVRAM133に記憶される。
【0112】
ステップS108を終えると、ステップS105に遷移する。
【0113】
ステップS105において、制御部130は、全領域のセクタに対する読み取り処理が終了したか否かを確認する。読み取り処理が終了していなければ、制御部130は、読み取り処理を継続し、次のセクタの読み取り処理を開始する。ステップS105を終えるとステップS103に遷移する。
【0114】
全領域のセクタに対する読み取り処理が終了した場合には、ステップS101に遷移し、HDD115は待機状態となる。
【0115】
ステップS102の説明に戻る。ステップS102において、制御部130が、代替処理セクタ数または計算結果が閾値以上であると判断した場合には、ステップS109に遷移する。
【0116】
ステップS109において、CPU106はWriteVerifyを起動する。つまり、通常の書き込み処理(第1書き込み処理)からWriteVerify(第2書き込み処理)に設定を変更する。変更情報は、NVRAM133に保存される。ステップS109を終えるとステップS111に遷移する。なお、ステップS109を終えた後、HDD115を待機状態としてもよい。その場合には、所定のタイミングでステップS111に遷移する。
【0117】
ステップS111において制御部130は、代替処理セクタに対するWriteVerifyを開始する。
【0118】
ステップS112において、所定の代替処理セクタに対するWriteVerifyにおいて正常に読み出し処理ができた場合には、ステップS113に遷移する。ステップS113において、その代替処理セクタを正常なセクタに割り当てる。変更情報をNVRAM133に保存する。ステップS113を終えると、ステップS114に遷移する。
【0119】
一方、ステップS112において、所定の代替処理セクタに対するWriteVerifyにおいて正常に読み出し処理が出来なかった場合には、ステップS114に遷移する。つまり、所定の代替処理セクタに対するWriteVerifyにおいて正常に読み出し処理が出来なかった場合に、代替処理セクタは代替処理セクタのままとなる。
【0120】
ステップS114では、すべての代替処理セクタに対するWriteVerifyを終了したか否かを確認する。終了していなかった場合には、ステップS112に戻り、次の代替処理セクタに対してWriteVerifyを行う。終了した場合には、ステップS115に遷移する。
【0121】
ステップS115において、制御部130は、SMART情報40を確認し、代替処理セクタの数が閾値以上であるかを判断する。制御部130が代替処理セクタの数が閾値以上であると判断すると、ステップS116に遷移する。
【0122】
ステップS116において、CPU106は、操作部101にHDDの交換通知を表示させる。これにより、操作者はHDD115の寿命が近いことを知ることが可能となる。
【0123】
ステップS115において、制御部130が代替処理セクタの数が閾値未満であると判断すると、書き込み処理の切り替えフローチャートを終了する。なお、ここでは制御部130が代替処理セクタの数が閾値未満であると判断した場合において、書き込み処理をWriteVerifyに変更したままのフローを終了する構成を示したが、これに限らない。ステップS115において制御部130が代替処理セクタの数が閾値未満であると判断することで、書き込み処理をWriteVerifyから通常の書き込み処理に変更してフローを終了してもよい。
【0124】
以上のように、本実施例によれば、WriteVerifyと通常書き込み処理とを最適なタイミングで切り替えることが可能になり、HDDのパフォーマンスとHDDの寿命とを両立することが可能となる。
【0125】
(実施例2)
実施例1では、通常書き込み処理からWriteVerifyへの切り替えを、代替処理セクタ数または代替処理セクタ数を用いて計算した計算結果と閾値を比較したが、本実施例では、ロード/アンロード回数等と閾値を比較する点で異なる。
【0126】
本実施例において、
図1~
図9と同様の機能を有する部分には同様の符号を付し、詳細な説明を省略する。
【0127】
図10は、実施例2の書き込み処理の切り替えフローチャートを示している。
【0128】
ステップS101においてHDD115がIDLE状態になると、ステップS201に遷移する。なお、ステップS201への繊維は、HDD115がIDLE状態になってすぐでもよいし、一定時間が経ってからでもよい。
【0129】
ステップS201において、制御部130はHDD115からSMART情報40を取得する。ステップS201を終えると、ステップS202に遷移する。
【0130】
ステップS202において、制御部130は、NVRAM133に格納されているSMART情報40からロード/アンロード回数を読み出し、NVRAMに記憶されている閾値と比較する。ロード/アンロード回数が閾値以上である場合に、ステップS110に遷移する。ステップS110を終えるとステップS116に遷移する。各ステップの説明は、実施例1と同様であるため割愛する。
【0131】
ロード/アンロード回数が閾値未満である場合には、ステップS203に遷移する。
【0132】
ステップS203において、制御部130はNVRAM133に格納されているSMART情報40から電源OFF/ON回数を読み出し、NVRAMに記憶されている閾値と比較する。電源OFF/ON回数が閾値以上である場合に、ステップS110に遷移する。電源OFF/ON回数が閾値未満である場合に、ステップS205に遷移する。
【0133】
ステップS204において、制御部130はNVRAM133に格納されているSMART情報40から通電時間を読み出し、NVRAMに記憶されている閾値と比較する。通電時間が閾値以上である場合に、ステップS110に遷移する。通電時間が閾値未満である場合に、ステップS205に遷移する。
【0134】
ステップS204において、制御部130はNVRAM133に格納されているSMART情報40からロード時間を読み出し、NVRAMに記憶されている閾値と比較する。ロード時間が閾値以上である場合に、ステップS110に遷移する。通電時間が閾値未満である場合に、ステップS205に遷移する。
【0135】
以上のように、本実施例によれば、WriteVerifyと通常書き込み処理とを最適なタイミングで切り替えることが可能になり、HDDのパフォーマンスとHDDの寿命とを両立することが可能となる。
【0136】
(その他の実施形態)
以上、本発明の様々な例と実施形態を示して説明したが、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるものではない。
【0137】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0138】
115 HDD
133 NVRAM
130 制御部