(57)【要約】【課題】瓦記録領域のデータ信頼性を確保する。【解決手段】第１のデータが瓦記録方式によって第１のストレージエリアにライトされる。前記第１のストレージエリアにライトされた前記第１のデータのうちの一部のデータであって、瓦状態が確定しているトラックに含まれるデータである第２のデータがリードされ、リードエラーが発生するか否かを確認するベリファイ処理が行われる。【選択図】図１
2017016726.tif 000002
【特許請求の範囲】
【請求項１】
磁気ヘッドと、
第１のトラックに、第１のトラックに隣接するトラックである第２のトラックの一部が重なることが繰り返される第１の記録方式で前記磁気ヘッドによって記録が行われる第１のストレージエリアを有する磁気ディスクと、
第１のデータを前記第１の記録方式によって前記第１のストレージエリアにライトし、
前記第１のストレージエリアにライトされた前記第１のデータのうちの一部のデータであって、前記第２のトラックのうちのライトが終了しているセクタに隣接する前記第１トラックのセクタにライトされたデータである第２のデータをリードし、リードエラーが発生するか否かを確認するベリファイ処理を行う
ように構成されるコントローラと、
を備える磁気ディスク装置。
【請求項２】
前記コントローラは、
前記第１のストレージエリアにライトされた前記第１のデータのサイズが第１のサイズに達した後、前記ベリファイ処理を行う請求項１に記載の磁気ディスク装置。
【請求項３】
前記第２のデータは、前記第１のサイズより小さい第２のサイズを有し、
前記第２のサイズは、前記第１のストレージエリアにライトされた前記第１のデータのサイズが第１のサイズに達したときの前記第３のトラックの個数および隣接トラック干渉の影響に基づき決定される請求項２に記載の磁気ディスク装置。
【請求項４】
前記第１の記録方式とは異なる第２の記録方式で記録が行われる第２のストレージエリアを更に備え、
前記コントローラは、
第１の条件が成立した場合、前記第１のストレージエリアにライトされる前の前記第１のデータを前記第２の記録方式によって前記第２のストレージエリアにライトし、前記第２のストレージエリアにライトされた前記第１のデータである第３のデータをリードして前記ベリファイ処理を行い、
前記ベリファイ処理において前記リードエラーが発生しなかった場合、前記第３のデータのうちの前記第２のデータに対応するデータである第４のデータを無効にし、
前記ベリファイ処理において前記リードエラーが発生した場合、前記第４のデータを有効とする、
ように構成される請求項１乃至３の何れか一つに記載の磁気ディスク装置。
【請求項５】
温度検出部を更に備え、
前記コントローラは、
前記温度検出部の検出温度が上限値を超えたときまたは前記温度検出部の検出温度が下限値を下回ったとき、前記第１の条件が成立したと判定する請求項４に記載の磁気ディスク装置。
【請求項６】
振動検出部を更に備え、
前記コントローラは、
前記振動検出部の検出振動が上限値を超えたとき、前記第１の条件が成立したと判定する請求項４に記載の磁気ディスク装置。
【請求項７】
第１のトラックに、第１のトラックに隣接するトラックである第２のトラックの一部が重なることが繰り返される第１の記録方式で前記磁気ヘッドによって記録が行われる第１のストレージエリアを有する磁気ディスクを備える磁気ディスク装置の制御方法であって、
第１のデータを前記第１の記録方式によって前記第１のストレージエリアにライトすることと、
前記第１のストレージエリアにライトされた前記第１のデータのうちの一部のデータであって、前記第２のトラックのうちのライトが終了しているセクタに隣接する前記第１トラックのセクタにライトされたデータである第２のデータをリードし、リードエラーが発生するか否かを確認するベリファイ処理を行うこと
を備える磁気ディスク装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、一般的に、磁気ディスク装置および磁気ディスク装置の制御方法に関する。
【背景技術】
【０００２】
磁気ディスク装置の分野においては、磁気ディスクの高密度化のために、瓦記録(Shingled  write  recording)が提案されている。瓦記録は、隣接するトラックの一部が重なるように、トラックピッチをつめて瓦状にデータを記録する記録方式である。磁気ディスクは、瓦記録が行われる瓦記録エリアと、ライトトラック幅に対応する記録幅で通常の磁気記録が行われる非瓦記録エリアとを有することがある。
【０００３】
このような磁気ディスク装置は、高温時あるいは低温時には、ライトデータを保証するために、リードベリファイ処理を行うことがある。ドライブ自身が記録領域を管理する磁気ディスク装置では、ライトデータを前記非瓦記録エリアにライトした後で、ライトされたデータをリードベリファイし、温度が通常温度に戻った後に、前記非瓦記録エリアにライトされたデータを瓦記録エリアにライトしている。一方、ホストが磁気ディスク装置の記録領域を管理する磁気ディスク装置では、ホストからのライト要求に対してデータを瓦記録エリアに直接ライトする仕様になっている。この仕様に従うためには、高温時あるいは低温時には、瓦記録エリアに対するリードベリファイ処理を実行する必要がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許公報８６６５５４５号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一つの実施形態は、瓦記録領域のデータ信頼性を確保する磁気ディスク装置および磁気ディスク装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの実施形態によれば、磁気ディスク装置は、磁気ヘッドと、磁気ディスクと、コントローラとを備える。前記磁気ディスクは、第１のトラックに、第１のトラックに隣接するトラックである第２のトラックの一部が重なることが繰り返される第１の記録方式で前記磁気ヘッドによって記録が行われる第１のストレージエリアを有する。前記コントローラは、第１のデータを前記第１の記録方式によって前記第１のストレージエリアにライトする。前記コントローラは、前記第１のストレージエリアにライトされた前記第１のデータのうちの一部のデータであって、前記第２のトラックのうちのライトが終了しているセクタに隣接する前記第１トラックのセクタにライトされたデータである第２のデータをリードし、リードエラーが発生するか否かを確認するベリファイ処理を行う。
【図面の簡単な説明】
【０００７】
【図１】図１は、磁気ディスク装置の内部構成を示す機能ブロック図である。
【図２】図２は、コントローラの機能構成例を示すブロック図である。
【図３】図３は、磁気ディスクの記録エリアを説明するための図である。
【図４】図４は、瓦記録エリアにおけるトラックとゾーンの関係を示す図である。
【図５】図５は、瓦状態が確定されていない状態を説明するための図である。
【図６】図６は、ホストからライト要求を受信したときの処理手順を示すフローチャートである。
【図７】図７は、瓦記録エリアにおけるベリファイ処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、実施形態にかかる磁気ディスク装置および磁気ディスク装置の制御方法を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【０００９】
（実施形態）
図１に、実施形態にかかる磁気ディスク装置１００の構成例を示す。ハードディスクドライブ（ＨＤＤ）として知られる磁気ディスク装置１００は、ホスト装置（以下、ホストと略す）１と接続され、ホスト１の外部記憶装置として機能する。
【００１０】
磁気ディスク装置１００は、スピンドルモータ２により回転される記録媒体である磁気ディスク３を有する。磁気ディスク装置１００は、ヘッド駆動部６により駆動されるヘッドアクチュエータ５を有する。ヘッドアクチュエータ５の先端にはライトおよびリードを行うための磁気ヘッド４が装着されている。
【００１１】
磁気ディスク装置１００は、制御系として、ホストインタフェースコントローラ（ホストＩ／Ｆコントローラ）１０、ＲＡＭ２０、プロセッサ３０、デバイスインタフェースコントローラ（デバイスＩ／Ｆコントローラ）４０、不揮発メモリ５０を有する。
【００１２】
ホストＩ／Ｆコントローラ１０は、ホスト１との間で、コマンド、データ、ステータス報告などの通信を実行する。ホストＩ／Ｆコントローラ１０は、ホスト１からコマンドを受信すると、コマンドをプロセッサ３０に通知する。ホストＩ／Ｆコントローラ１０は、プロセッサ３０の制御に従って、ホスト１から受信したデータをバッファメモリ２５（ＲＡＭ２０）にバッファリングしたり、バッファメモリ２５にバッファリングされたデータをホスト１に送信したりする。
【００１３】
ＲＡＭ(Random Access Memory)２０は、ホスト１からのライトデータを磁気ディスク３にライトする前に一時的にデータを保存するためのバッファメモリ２５としての記憶領域を有する。また、バッファメモリ２５は、磁気ディスク３からリードされたデータをホスト１に転送する前に、一時的にデータを保存する。ＲＡＭ２０は、データを管理する管理情報３６（図２参照）を記憶するための記憶領域をさらに有する。また、ＲＡＭ２０には、不揮発メモリ５０又は磁気ディスク３にストアされているファームウェア及び管理情報がロードされる。ＲＡＭ２０で管理される管理情報は、不揮発メモリ５０または磁気ディスク３でバックアップされている。ＲＡＭ２０としては、ＳＲＡＭ（Static Random Access Memory）やＤＲＡＭ(Dynamic Random Access Memory)が用いられる。
【００１４】
不揮発メモリ５０は、フラッシュメモリ、ＥＥＰＲＯＭ、ＮＡＮＤメモリなどによって構成される不揮発性の半導体メモリであり、プロセッサ３０が実行するファームウェア及び管理情報がストアされている。
【００１５】
デバイスＩ／Ｆコントローラ４０は、スピンドルモータ２、磁気ヘッド４、ヘッド駆動部６を駆動制御することで、磁気ディスク３にデータをライトし、磁気ディスク３からデータをリードする。デバイスＩ／Ｆコントローラ４０は、温度検出部４１およびＥＣＣ回路４２を有する。温度検出部４１は、磁気ディスク装置１００の環境温度を測定する。温度検出部４１は、検出した環境温度をプロセッサ３０に通知する。ＥＣＣ部４２は、磁気ディスク３からリードされたデータのベリファイ処理に使用される。ＥＣＣ部４２は、バッファメモリ２５から転送されたデータに対して、誤り訂正の符号化処理を実施しパリティを生成する。また、ＥＣＣ部４２は、磁気ディスク３からリードされたデータおよびパリティを用いて、誤り訂正の復号化処理を実行する。
【００１６】
プロセッサ３０は、不揮発メモリ５０に記憶されたファームウェアによって各種の機能を実現する。磁気ディスク装置１００の起動時、不揮発メモリ５０に記憶されたファームウェアはＲＡＭ２０にロードされる。プロセッサ３０は、ＲＡＭ２０上にロードされたファームウェアを実行する。プロセッサ３０によって行われる機能は後述する。
【００１７】
ホスト１からのライトコマンドとライトデータをホストＩ／Ｆコントローラ１０で受信すると、プロセッサ３０は、ライトコマンドの内容を解析しライトデータをバッファメモリ２５に格納する。その後、ライトデータはバッファメモリ２５から読み出されてデバイスＩ／Ｆコントローラ４０に入力される。デバイスＩ／Ｆコントローラ４０は、入力されたライトデータを符号化し、磁気ヘッド４の書込素子を駆動することで、符号化されたライトデータを磁気ディスク３にライトする。このライトの際に、デバイスＩ／Ｆコントローラ４０は、ヘッド駆動部６およびスピンドルモータ２を駆動制御し、コマンドで指示された目標トラックに対して書き込みを行う。
【００１８】
一方、ホスト１からリードコマンドをホストＩ／Ｆコントローラ１０で受信すると、プロセッサ３０は、リードコマンドを解析する。その後、プロセッサ３０は、解析結果に基づいて、デバイスＩ／Ｆコントローラ４０に指令を与える。この結果、デバイスＩ／Ｆコントローラ４０によって、磁気ヘッド４が駆動され、磁気ヘッド４の読出素子により信号が読み出される。読み出された信号は、デバイスＩ／Ｆコントローラ４０によってリードデータとして復調される。さらに、リードデータは、復号された後、バッファメモリ２５にバッファリングされる。その後リードデータは、ホストＩ／Ｆコントローラ１０によってホスト１に転送される。
【００１９】
図２は、ＲＡＭ２０にロードされるファームウェア（制御プログラム）の機能構成例を示すブロック図である。制御プログラムは、コマンド処理部３１、ディスクアクセス部３２、およびデータ送受信部３３を有し、磁気ディスク装置１００のコントローラの一部として機能する。制御情報（制御データ）は、制御プログラムによって使用される。制御情報として、ここでは、前記管理情報３６を示している。コマンド処理部３１は、ホスト１から受信したコマンドを解析し、解析結果をディスクアクセス部３２およびデータ送受信部３３に通知する。ディスクアクセス部３２は、コマンドの解析結果に基づいてデバイスＩ／Ｆコントローラ４０を制御することで、スピンドルモータ２、磁気ヘッド４およびヘッド駆動部６を駆動し、磁気ディスク３に対してリード、ライト動作を行う。ディスクアクセス部３２は、磁気ディスク３へのライト動作に伴い、管理情報３６の更新処理を実行する。データ送受信部３３は、ホストＩ／Ｆコントローラ１０およびデバイスＩ／Ｆコントローラ４０を制御し、バッファメモリ２５を介した磁気ディスク３とホスト１との間のデータ転送を制御する。温度制御部４１によって検出された環境温度は、制御プログラムに入力される。
【００２０】
図３は、磁気ディスク３の記録エリアを説明するための図である。磁気ディスク３は、瓦記録(Shingled  write  recording)が行われるＳＭＲエリア３ａと、書込素子幅に対応する幅で通常の磁気記録が行われる非ＳＭＲエリア（non-ＳＭＲエリア）３ｂとを有する。ＳＭＲエリア３ａは、ユーザが自由に使用可能な表記容量（ユーザ容量）に対応する容量を有する。非ＳＭＲエリア３ｂは、磁気ディスク３内に、表記容量の他に余分に確保されている。非ＳＭＲエリア３ｂは、ＳＭＲエリア３ａにライトされるデータをキャッシュする領域（media cache領域）として利用される。通常、ＳＭＲエリア３ａはインナー側のエリアに割り当てられ、非ＳＭＲエリア３ｂはアウター側のエリアに割り当てられる。ＳＭＲエリア３ａがアウター側に割り当てられ、非ＳＭＲエリア３ｂがインナー側に割り当てられてもよい。
【００２１】
図４は、ＳＭＲエリア３ａで瓦記録されるトラックとゾーンとの関係を示すものである。ＳＭＲエリア３ａは、磁気ディスク３の半径位置に応じて複数のゾーンを有する。図４では、図示の簡単化のために、３つのゾーン（Zone0〜Zone2）を示している。各ゾーンは、多数のトラックを有する。図４では、図示の簡単化のために、１つのゾーンは４つのトラック１２０（Track0〜Track4）を有するケースを示している。各枠は、ライトが終了したトラック１２０を示している。各ゾーンにおいては、矢印で示すように、アウター側からインナー側に向かって、トラック０、トラック１、トラック２、…の順に、瓦記録が行われる。ゾーンとゾーンの間には、ガードエリア１３０が設けられる。このガードエリア１３０は、データがライトされない領域である。なお、各ゾーンにおいて、インナー側からアウター側に向かって瓦記録を行なうようにしてもよい。
【００２２】
磁気ディスク装置１００においては、高温時あるいは低温時には、ホスト１からライト要求されたライトデータを保証するために、ベリファイ処理が行なわれる。ベリファイ処理では、ライトされたデータがリード可能か否かを確認するために次のような処理が行われる。磁気ディスク３にライトされたデータがリードされ、リードされたデータがＥＣＣ部４２で復号化される。この復号の結果、リードエラーが発生しない場合、すなわち復号処理に成功した場合、ベリファイ処理は成功であると判定される。一方、リードエラーが発生し、ベリファイ処理に失敗した場合、リード処理に関するパラメータが変更されて、磁気ディスク３からデータが再度リード、復号化される。この復号処理においてリードエラーが発生しない場合は、ベリファイ処理は成功であると判定され、リードエラーが発生する場合は、ベリファイ処理は失敗であると判定される。このようなリード、復号処理を含む一連の処理が所定の上限回数まで実行可能である。
【００２３】
非ＳＭＲエリア３ｂに対しては、上記したベリファイ処理がそのまま適用可能である。しかし、ＳＭＲエリア３ａに、上記したベリファイ処理がそのまま適用すると、瓦状態が確定していないトラックに対し、ベリファイが実行される可能性がある。瓦状態が確定しているトラックとは、図４に示した各トラックのように、後続のライトが行われる隣接トラックの全てのセクタに対するライトが終了しているトラックである。図４において、ゾーン０のトラック０に着目した場合、後続のライトが行われる隣接トラックであるゾーン０のトラック１に対するライトは終了している。図５は、瓦状態が確定していないトラックを示している。図５に示すトラック０に隣接トラック１に対するライトが途中のセクタまでで終わっている。この状態で、図５のトラック０に対しベリファイ処理を実行すると、その後のトラック１に対する後続のライト動作でベリファイ時のトラック１のリード領域が狭められ、ベリファイを行ったにもかかわらず、トラック０のデータを保証することができない。
【００２４】
このため、ドライブ自身が記録領域を管理する磁気ディスク装置では、高温時あるいは低温時のベリファイ処理を行うために、つぎのような処理を行っている。ドライブ自身が記録領域を管理する磁気ディスク装置では、ドライブ側が主体となって瓦記録制御を行う。高温時あるいは低温時には、ライトデータは、非ＳＭＲエリア３ｂにライトされ、ライトされたデータに対し前記ベリファイ処理が実行される。温度が通常温度に戻った後に、非ＳＭＲエリア３ｂにライトされたデータが、ＳＭＲエリア３ａにライトされる。この手法では、ライトデータが全て非ＳＭＲエリア３ｂにライトされることになり、非ＳＭＲエリア３ｂの容量不足によるパフォーマンスの低下の可能性がある。このようなドライブ自身が記録領域を管理する磁気ディスク装置は、Drive Manage 型磁気ディスク装置と呼ばれることがある。
【００２５】
一方、ホストが磁気ディスク装置の記録領域を管理する磁気ディスク装置では、ホストからのライト要求に対してデータをＳＭＲエリア３ａに直接ライトする仕様になっている。ホストが磁気ディスク装置の記録領域を管理する磁気ディスク装置では、ホスト側が主体となって瓦記録制御を行う。この仕様に従うためには、高温時あるいは低温時に、ＳＭＲエリア３ａに対するベリファイ処理を実行する必要がある。このようなホストが記録領域を管理する磁気ディスク装置は、Host Aware/Host Manage型磁気ディスク装置と呼ばれることがある。
【００２６】
そこで、実施形態では、高温環境または低温環境において、瓦記録領域のデータ信頼性を確保しつつベリファイ処理を実現できる手法を提案する。実施形態においては、ＳＭＲエリア３ａにライトされたデータのうちの一部のデータであって、瓦状態が確定した部分のデータに対してベリファイ処理が実行される。すなわち、ＳＭＲエリア３ａにおいては、第１のトラックに、第１のトラックに隣接するトラックである第２のトラックの一部が重なることが繰り返される。実施形態においては、このＳＭＲエリア３ａにライトされた第１のデータのうちの一部のデータであって、前記第２のトラックのうちのライトが終了しているセクタに隣接する前記第１トラックのセクタにライトされたデータである第２のデータがリードされ、リードエラーが発生するか否かを確認するベリファイ処理が行われる。
【００２７】
また、実施形態においては、ホスト１からのライト要求が受信されたとき、高温環境または低温環境である場合は、まずライトデータが非ＳＭＲエリア３ｂにライトされ、ライトされたデータに対して前述したベリファイ処理が実行される。つぎに、ライトデータがＳＭＲエリア３ａにライトされる。そして、ＳＭＲエリア３ａにライトされたデータのうちの先にライトされて瓦状態が確定した部分のデータに対し前記ベリファイ処理が実行される。このベリファイ処理に成功したデータ範囲に関しては、非ＳＭＲエリア３ｂのデータが無効とされ、ＳＭＲエリア３ａのデータが有効とされる。また、ベリファイ処理に失敗したデータ範囲に関しては、非ＳＭＲエリア３ｂのデータが有効とされ、ＳＭＲエリア３ａのデータが無効とされる。
【００２８】
以下、図６および図７に示すフローチャートにしたがって、ホスト１からライト要求を受信したときの動作を説明する。図６は、ホストからライト要求を受信したときの処理手順を示すフローチャートである。図７は、ＳＭＲエリア３ａへのライト/ベリファイ処理の詳細手順の一例を示すフローチャートである。
【００２９】
ホストが磁気ディスク装置の記録領域を管理する磁気ディスク装置では、１つのゾーンは固定サイズ（例えば、２５６ＭｉＢ）として定義され、、１つのゾーンは１００個〜２００個程度のトラックから構成されている。また、各ゾーンにおいては、ホスト１が指定する論理アドレスと、磁気ディスク３の物理アドレスとの関係は、固定である。論理アドレスは、例えばＬＢＡ（Logical Block Addressing）である。また、各ゾーンにおいては、シーケンシャルライトを行うという制約がある。
【００３０】
ライトコマンドがホストＩ／Ｆコントローラ１０で受信されると、プロセッサ３０は、ライトコマンドの内容を解析しライトデータをバッファメモリ２５にストアする（Ｓ１０）。プロセッサ３０は、温度検出部４１の検出温度Ｔを取得し、検出温度Ｔが下限値Ｔ１と上限値Ｔ２との範囲内に入っているか否かを判定する（Ｓ２０）。検出温度Ｔが下限値Ｔ１と上限値Ｔ２との範囲内に入っているときは（Ｓ２０ Yes）、プロセッサ３０は、ノーマルモードでのライト処理を実行する。ノーマルモードの場合は、バッファメモリ２５にストアされたライトデータは、デバイスＩ／Ｆコントローラ４０を介して、磁気ディスク３の非ＳＭＲエリア３ｂまたはＳＭＲエリア３ａにライトされる（Ｓ３０）。ノーマルモードの場合は、ベリファイ処理は行われない。
【００３１】
検出温度Ｔが下限値Ｔ１と上限値Ｔ２との範囲内に入っていない場合（Ｓ２０ No）、プロセッサ３０は、高/低温モードでのライト処理を実行する。高/低温モードでのライト処理では、ベリファイ処理が実行される。まず、プロセッサ３０は、バッファメモリ２５にストアされたライトデータを、デバイスＩ／Ｆコントローラ４０を介して、磁気ディスク３の非ＳＭＲエリア３ｂにライトする。また、プロセッサ３０は、非ＳＭＲエリア３ｂにライトされたデータに対し、リード、復号化を含む前述のベリファイ処理を実行する（Ｓ４０）。
【００３２】
つぎに、プロセッサ３０は、受信したライトコマンドがシーケンシャルライトであるか否かを判定する（Ｓ５０）。プロセッサ３０は、シーケンシャルライトとランダムライトを識別する識別情報がライトコマンドに含まれている場合は、前記識別情報に基づいてＳ５０の判定を行う。また、プロセッサ３０は、前記識別情報がライトコマンドに含まれていない場合は、数個のライトコマンドに含まれる論理アドレス（ＬＢＡ）の連続性を判断することによってＳ５０の判定を行う。
【００３３】
受信したライトコマンドがシーケンシャルライトでなく、ランダムライトである場合（Ｓ５０ No）、プロセッサ３０は、これで処理を終了する。
【００３４】
受信したライトコマンドがシーケンシャルライトである場合（Ｓ５０ Yes）、プロセッサ３０は、ＳＭＲエリア３ａに対してライト／ベリファイ処理を実行する（Ｓ６０）。
【００３５】
つぎに、図７に従って、ＳＭＲエリア３ａに対するライト／ベリファイ処理の一例を詳細に説明する。図６のＳ５０の判定がYesとなると、プロセッサ３０は、バッファメモリ２５にストアされているライトデータを、デバイスＩ／Ｆコントローラ４０を介して、磁気ディスク３のＳＭＲエリア３ａにライトする（Ｓ１００）。すなわち、プロセッサ３０は、非ＳＭＲエリア３ｂにライトされたデータと同じデータをバッファメモリ２５からリードして、ＳＭＲエリア３ａにライトする。なお、Ｓ１００において、非ＳＭＲエリア３ｂにライトされたデータと同じデータがバッファメモリ２５にない場合、非ＳＭＲエリア３ｂにライトされたデータをリードし、リードされたデータをＳＭＲエリア３ａにライトしてもよい。
【００３６】
つぎに、プロセッサ３０は、ＳＭＲエリア３ａにライトされたデータサイズが規定のサイズＳｄに達したか否かを判定する（Ｓ１１０）。例えばサイズＳｄは、複数のトラック分に相当する値である。データサイズが規定のサイズＳｄに達していない場合（Ｓ１１０ Ｎｏ）は、プロセッサ３０は規定のサイズＳｄに達するまで、ＳＭＲエリア３ａにデータをライトする（Ｓ１００）。
【００３７】
データサイズが規定のサイズＳｄに達すると（Ｓ１１０ Yes）、プロセッサ３０は、今回のライトがＳＭＲエリア３ａに対する、サイズＳｄ単位の初回のライトであるか否かを判定する（Ｓ１２０）。初回のライトの場合（Ｓ１２０ Yes）は、ライトが開始された先頭セクタからサイズＳｄ分の全てのデータに関して、瓦状態が確定していないので、手順はＳ１００に移行される。プロセッサ３０は、バッファメモリ２５にストアされているライトデータを、デバイスＩ／Ｆコントローラ４０を介して、磁気ディスク３のＳＭＲエリア３ａにさらにライトする（Ｓ１００）。
【００３８】
このライトにより、データサイズが規定のサイズＳｄに再度達すると（Ｓ１１０ Yes）、プロセッサ３０は再びＳ１２０の判定を行う。今回はサイズＳｄ単位の２回目のライトであり、Ｓ１２０の判定はＮｏとなる。この段階で、データサイズが２ＳｄであるデータがＳＭＲエリア３ａにライトされたことになる。プロセッサ３０は、サイズが２Ｓｄであるデータのうち、先頭セクタデータからサイズＳｅのデータを前記ベリファイ処理の対象とする。サイズＳｅは、ＳＭＲエリア３ａに対するライトサイズが規定のサイズＳｄに達したときにおける瓦状態が確定されたトラック数（又はセクタ数）と、隣接トラック干渉（ＡＴＩ：Adjacent Track Interference）の影響を考慮して決定される。サイズＳｅ＜サイズＳｄであっても、サイズＳｅ＝サイズＳｄであってもよい。
【００３９】
プロセッサ３０は、今回のベリファイ対象のデータをベリファイする（Ｓ１３０）。すなわち、プロセッサ３０は、ベリファイ対象のデータをＳＭＲエリア３ａからリードし、リードされたデータをＥＣＣ部４２で復号化し、リードエラーが発生しているか否かを判定する（Ｓ１４０）。プロセッサ３０は、復号処理の結果、リードエラーが発生していない場合は、ベリファイ処理は成功であると判定する。リードエラーが発生している場合、プロセッサ３０は、リード、復号化を含む前記一連の処理を処理回数が上限回数に達するまで繰り返し実行し、上限回数に達するまでに復号処理に成功した場合は、ベリファイ処理は成功であると判定する。また、処理回数が上限回数に達するまでの間に、復号処理に成功しない場合は、ベリファイ処理は失敗であると判定される。
【００４０】
ベリファイ処理に成功した場合は（Ｓ１４０ No）、プロセッサ３０は、非ＳＭＲエリア３ｂにライトされたデータのうち、今回ＳＭＲエリア３ａからベリファイ対象としてリードされたデータ（瓦状態が確定されたデータ）と同じ論理アドレスを持つ対応データを無効にする（Ｓ１５０）。また、プロセッサ３０は、ＳＭＲエリア３ａにライトされたデータのうち、今回ＳＭＲエリア３ａからベリファイ対象としてリードされたデータ（瓦状態が確定されたデータ）を有効とする。プロセッサ３０は、ＲＡＭ２０で管理される管理情報３６を用いて、非ＳＭＲエリア３ｂおよびＳＭＲエリア３ａにライトされたデータの有効、無効化を行う。
【００４１】
ベリファイ処理に失敗した場合は（Ｓ１４０ Yes）、プロセッサ３０は、非ＳＭＲエリア３ｂにライトされているデータのうち、今回ＳＭＲエリア３ａからベリファイ対象としてリードされたデータ（瓦状態が確定されたデータ）と同じ論理アドレスを持つ対応データを有効にする（Ｓ１６０）。これにより、ＳＭＲエリア３ａにライトされたデータのうちベリファイエラーが発生したエリアのデータは、非ＳＭＲエリア３ｂにおいて保護される。また、プロセッサ３０は、ＳＭＲエリア３ａにライトされたデータのうち、今回ＳＭＲエリア３ａからベリファイ対象としてリードされたデータ（瓦状態が確定されたデータ）を無効とする。
【００４２】
プロセッサ３０は、ライトコマンドで要求されたライトデータを全てＳＭＲエリア３ａにライトしたか否かを判定し（Ｓ１７０）、判定がＹｅｓである場合は手順を終了し、判定がＮｏである場合は、手順をＳ１００に移行させる。
【００４３】
手順がＳ１００に移行されると、プロセッサ３０は、バッファメモリ２５にストアされているライトデータを、デバイスＩ／Ｆコントローラ４０を介して、磁気ディスク３のＳＭＲエリア３ａにさらにライトする。このライトにより、データサイズが規定のサイズＳｄに再度達すると（Ｓ１１０ Yes）、プロセッサ３０はＳ１２０の判定を行う。今回は３回目のライトであり、Ｓ１２０の判定はＮｏとなる。この段階で、データサイズが３ＳｄであるデータがＳＭＲエリア３ａにライトされたことになる。プロセッサ３０は、ベリファイ処理が未だ実行されていない、サイズが（３Ｓｄ−Ｓｅ）であるデータのうちの先頭セクタデータからサイズＳｅのデータを次のベリファイの対象とする（Ｓ１３０）。
【００４４】
ライトコマンドで指定されたデータを全てＳＭＲエリア３ａにライトするまで、同様の処理が繰り返し実行される。
【００４５】
例えば、Ｓｄ＝４０００ｈであるとする。４０００ｈのデータがＳＭＲエリア３ａにライトされると（Ｓ１００）、Ｓ１１０の判定がＹｅｓとなる。初回のライトの場合は、Ｓ１２０の判定がＹｅｓとなり、ＳＭＲエリア３ａに対しデータがさらにライトされる。このライトによりデータサイズがＳｄを再度越えると、Ｓ１１０の判定がＹｅｓとなる。この段階で、合計８０００ｈのデータがＳＭＲエリア３ａにライトされている。
【００４６】
Ｓｅ＝４０００ｈであるとする。Ｓ１３０において、ＳＭＲエリア３ａにライトされた合計８０００ｈのデータのうち、先頭のセクタデータからサイズＳｅ（４０００ｈ）のデータが、ベリファイ処理の対象とされる。このベリファイ処理に成功した場合は、Ｓ１５０の処理が行われ、失敗の場合は、Ｓ１６０の処理が行われる。
【００４７】
ＳＭＲエリア３ａへの未ライトデータが存在する場合は、ＳＭＲエリア３ａに対しデータがさらにライトされる（Ｓ１００）。このライトにより、データサイズがＳｄを再度越えると、Ｓ１１０の判定がＹｅｓとなる。この段階で、合計Ｃ０００ｈのデータがＳＭＲエリア３ａにライトされている。
【００４８】
Ｓ１３０において、ＳＭＲエリア３ａにライトされたデータのうち、４００１ｈ個目のセクタデータからサイズＳｅ（４０００ｈ）のデータがベリファイ処理の対象とされる。このベリファイ処理に成功した場合は、Ｓ１５０の処理が行われ、失敗の場合は、Ｓ１６０の処理が行われる。
【００４９】
以下同様にして、ライトコマンドで指定されたデータを全てＳＭＲエリア３ａにライトすると、ライト処理が終了する。
【００５０】
このように実施形態では、ホスト１からのライト要求が受信されたとき、高温環境または低温環境である場合は、ＳＭＲエリア３ａにライトされたデータのうちの瓦状態が確定した一部のデータに対しベリファイ処理が実行される。このため、この実施形態においては、ＳＭＲエリア３ａに対し効率よく、精度のよいベリファイ処理を行うことができ、ＳＭＲエリア３ａのデータ信頼性を確保することが可能となる。
【００５１】
また、実施形態では、高温環境または低温環境である場合は、まずライトデータが非ＳＭＲエリア３ｂにライトされ、ベリファイ処理が実行される。その後、ライトデータがＳＭＲエリア３ａにライトされ、ベリファイ処理が実行される。そして、リードエラーが発生していないＳＭＲエリア３ａのデータに対応する非ＳＭＲエリア３ｂのデータを無効化するようにしている。このため、非ＳＭＲエリア３ｂの容量不足を抑制することが可能となる。
【００５２】
なお、上記実施形態では、非ＳＭＲエリア３ｂを磁気ディスク３に割り当てたが、非ＳＭＲエリア３ｂを不揮発メモリ５０に割り当ててもよい。また、非ＳＭＲエリア３ｂを、不揮発メモリ５０とは別の不揮発性の記憶部に割り当ててもよい。
【００５３】
また、上記実施形態では、低温環境または高温環境において、図６および図７に示したのベリファイ処理を行うようにしたが、磁気ディスク装置の振動を検出する振動検出部を設け、検出した振動が所定の上限値を超えたときに、図６および図７に示したベリファイ処理を行うようにしてもよい。
【００５４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５５】
１  ホスト、２  スピンドルモータ、３  磁気ディスク、３ａ  ＳＭＲエリア、３ｂ  非ＳＭＲエリア、４  磁気ヘッド、５  ヘッドアクチュエータ、６  ヘッド駆動部、１０  ホストＩ／Ｆコントローラ、２５  バッファメモリ、３０  プロセッサ、４０  デバイスＩ／Ｆコントローラ、４１  温度検出部、４２  ＥＣＣ部、５０  不揮発メモリ、１００  磁気ディスク装置、１２０  トラック、１３０  ガードトラック。
【図１】
2017016726.tif 000003
【図２】
2017016726.tif 000004
【図３】
2017016726.tif 000005
【図４】
2017016726.tif 000006
【図５】
2017016726.tif 000007
【図６】
2017016726.tif 000008
【図７】
2017016726.tif 000009