IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧 ▶ 東芝デバイス&ストレージ株式会社の特許一覧

<>
  • 特開-磁気ディスク装置および制御方法 図1
  • 特開-磁気ディスク装置および制御方法 図2A
  • 特開-磁気ディスク装置および制御方法 図2B
  • 特開-磁気ディスク装置および制御方法 図3
  • 特開-磁気ディスク装置および制御方法 図4
  • 特開-磁気ディスク装置および制御方法 図5
  • 特開-磁気ディスク装置および制御方法 図6
  • 特開-磁気ディスク装置および制御方法 図7
  • 特開-磁気ディスク装置および制御方法 図8
  • 特開-磁気ディスク装置および制御方法 図9
  • 特開-磁気ディスク装置および制御方法 図10
  • 特開-磁気ディスク装置および制御方法 図11
  • 特開-磁気ディスク装置および制御方法 図12
  • 特開-磁気ディスク装置および制御方法 図13
  • 特開-磁気ディスク装置および制御方法 図14
  • 特開-磁気ディスク装置および制御方法 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024135836
(43)【公開日】2024-10-04
(54)【発明の名称】磁気ディスク装置および制御方法
(51)【国際特許分類】
   G11B 20/10 20060101AFI20240927BHJP
   G11B 5/09 20060101ALI20240927BHJP
   G11B 20/12 20060101ALI20240927BHJP
   G11B 20/18 20060101ALI20240927BHJP
   G11B 5/012 20060101ALI20240927BHJP
【FI】
G11B20/10 301Z
G11B5/09 301C
G11B20/12
G11B20/18 572B
G11B20/18 572F
G11B20/18 532B
G11B20/18 501Z
G11B5/012
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023046719
(22)【出願日】2023-03-23
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】317011920
【氏名又は名称】東芝デバイス&ストレージ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】内田 貴斗
【テーマコード(参考)】
5D044
【Fターム(参考)】
5D044BC01
5D044CC04
5D044DE68
5D044GK18
5D044GK19
(57)【要約】
【課題】書き込み保障回数を最適な値に調整して、高性能な磁気ディスク装置を提供すること。
【解決手段】実施形態の磁気ディスク装置は、それぞれにデータセグメントが格納される複数の第1セクタと、誤り訂正のためのパリティが格納される第2セクタと、が配置された、複数のトラックが設けられた磁気ディスクと、前記磁気ディスクに対してライト/リードを実行する磁気ヘッドと、無効となった第2セクタを用いて、隣接トラックからのリードを保障するためのライトの回数を示す保障回数の調整処理を実行するコントローラと、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
それぞれにデータセグメントが格納される複数の第1セクタと、誤り訂正のためのパリティが格納される第2セクタと、が配置された、複数のトラックが設けられた磁気ディスクと、
前記磁気ディスクに対してライト/リードを実行する磁気ヘッドと、
無効となった第2セクタを用いて、隣接トラックからのリードを保障するためのライトの回数を示す保障回数の調整処理を実行するコントローラと、
を備える磁気ディスク装置。
【請求項2】
前記コントローラは、前記磁気ディスク装置の出荷後に、前記無効となった第2セクタを用いて、前記調整処理を実行する、
請求項1に記載の磁気ディスク装置。
【請求項3】
前記コントローラは、前記第1セクタに対してランダムアクセスによりライトが行われた場合に、当該ライトにより無効となった第2セクタを用いて、前記調整処理を実行する、
請求項2に記載の磁気ディスク装置。
【請求項4】
前記コントローラは、径方向に隣接するトラックにおいて、前記無効となった第2セクタが所定のトラック数連続して存在する場合に、前記無効となった前記第2セクタを用いて、前記調整処理を実行する、
請求項3に記載の磁気ディスク装置。
【請求項5】
前記磁気ディスクは、それぞれ前記複数のトラックで構成される複数のゾーンを有し、
前記コントローラは、すべてのゾーンに対して、前記無効となった前記第2セクタを用いて、前記調整処理を実行する、
請求項4に記載の磁気ディスク装置。
【請求項6】
前記調整処理は、前記無効となった第2セクタに対するライトと隣接するトラックの第2セクタのリードとを繰り返し行い、リードできなくなった場合のライトの回数に基づいて、前記保障回数を決定する処理である、
請求項1~5のいずれか一つに記載の磁気ディスク装置。
【請求項7】
磁気ディスク装置で実行される制御方法であって、
前記磁気ディスク装置は、それぞれにデータセグメントが格納される複数の第1セクタと、誤り訂正のためのパリティが格納される第2セクタと、が配置された、複数のトラックが設けられた磁気ディスクと、
前記磁気ディスクに対してライト/リードを実行する磁気ヘッドと、を備え、
無効となった第2セクタを用いて、隣接トラックからのリードを保障するためのライトの回数を示す保障回数の調整処理を実行する、
ことを含む制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、磁気ディスク装置および制御方法に関する。
【背景技術】
【0002】
磁気ディスクへのライトの際に隣接トラックに与える影響のひとつとして、隣接トラック干渉(Adjacent Track Interference:ATI)が知られている。一つのトラックに対するライトの回数に応じて、隣接トラックが受けるATIの影響が蓄積し、隣接トラックのデータはやがてリードが困難になる。よって、隣接トラックのデータのリードが困難になる前に、一定の書き込み保障回数を超えるライトが行われた場合に、隣接トラックに対し、全データのリライト処理が実行される。この書き込み保障回数は、磁気ディスク装置の出荷前に、予め調整されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許第11360671号明細書
【特許文献2】特開2010-152988号公報
【特許文献3】米国特許出願公開第2010/0188767号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一つの実施形態は、書き込み保障回数を最適な値に調整して、高性能な磁気ディスク装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
実施形態の磁気ディスク装置は、それぞれにデータセグメントが格納される複数の第1セクタと、誤り訂正のためのパリティが格納される第2セクタと、が配置された、複数のトラックが設けられた磁気ディスクと、前記磁気ディスクに対してライト/リードを実行する磁気ヘッドと、無効となった第2セクタを用いて、隣接トラックからのリードを保障するためのライトの回数を示す保障回数の調整処理を実行するコントローラと、を備える。
【図面の簡単な説明】
【0006】
図1図1は、実施形態の磁気ディスク装置の構成の一例を示す模式的な図である。
図2A図2Aは、実施形態の磁気ディスクの構成の一例を示す図である。
図2B図2Bは、実施形態の磁気ディスクにおけるゾーンの一例を示す模式図である。
図3図3は、実施形態の1つのトラックの構成の一例を示す模式的な図である。
図4図4は、実施形態のATI管理情報のデータ構造の一例を示す模式的な図である。
図5図5は、実施形態にかかるパリティセクタテーブルのデータ構造の一例を示す図である。
図6図6は、実施形態の書込み保障回数テーブルのデータ構造の一例を示す図である。
図7図7は、実施形態にかかる書込み保障回数の調整処理の手順の一例を示すフローチャートである。
図8図8は、実施形態にかかる書込み保障回数の調整処理の手順の一例を示すフローチャートである。
図9図9は、実施形態における出荷時点における複数のトラックと書込み保障回数との関係のグラフの一例を示す図である。
図10図10は、実施形態における出荷時点での複数のトラックのセクタの状態の一例を示す図である。
図11図11は、実施形態において無効なパリティセクタが発生した場合における複数のトラックのセクタの状態の一例を示す図である。
図12図12は、実施形態において所定のトラック数以上、無効なパリティセクタが発生した場合における複数のトラックのセクタの状態の一例を示す図である。
図13図13は、実施形態において書込み保障回数の調整処理を1回実行した状態における複数のトラックと書込み保障回数との関係のグラフの一例を示す図である。
図14図14は、実施形態において書込み保障回数の調整処理を外周側のゾーンのトラックに対して実行した状態における複数のトラックと書込み保障回数との関係のグラフの一例を示す図である。
図15図15は、実施形態において書込み保障回数の調整処理を全てのゾーンのトラックに対して実行した状態における複数のトラックと書込み保障回数との関係のグラフの一例を示す図である。
【発明を実施するための形態】
【0007】
以下に添付図面を参照して、実施形態にかかる磁気ディスク装置を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【0008】
(実施形態)
図1は、実施形態の磁気ディスク装置1の構成の一例を示す模式的な図である。
【0009】
磁気ディスク装置1は、ホスト2に接続される。磁気ディスク装置1は、ホスト2から、ライトコマンドやリードコマンドなどの、アクセスコマンドを受信することができる。
【0010】
磁気ディスク装置1は、表面に磁性層が形成された磁気ディスク11を備える。磁気ディスク装置1は、アクセスコマンドに応じて磁気ディスク11にデータをライトしたり磁気ディスク11からデータをリードしたりする。
【0011】
データのライトおよびリードは、磁気ヘッド22を介して行われる。磁気ディスク装置1は、磁気ディスク11のほかに、スピンドルモータ12、ランプ13、アクチュエータアーム15、ボイスコイルモータ(VCM)16、モータドライバIC(Integrated Circuit)21、磁気ヘッド22、ハードディスクコントローラ(HDC)23、ヘッドIC24、リードライトチャネル(RWC)25、プロセッサ26、RAM27、FROM(Flash Read Only Memory)28、およびバッファメモリ29を備える。
【0012】
磁気ディスク11は、同軸に取り付けられたスピンドルモータ12により、所定の回転速度で回転される。スピンドルモータ12は、モータドライバIC21により駆動される。
【0013】
プロセッサ26はモータドライバIC21を介して、スピンドルモータ12の回転およびVCM16の回転を制御する。
【0014】
磁気ヘッド22は、それに備わるライトコア22wおよびリードコア22rにより、磁気ディスク11に対して情報のライトおよびリードを行う。また、磁気ヘッド22は、アクチュエータアーム15の先端に取り付けられている。磁気ヘッド22は、VCM16により、磁気ディスク11の半径方向に移動される。なお、磁気ヘッド22に備わるライトコア22wおよびリードコア22rのいずれか一方、またはその両方は、それぞれ単一の磁気ヘッド22に対して複数設けられても良い。
【0015】
磁気ディスク11の回転が停止しているときなどは、磁気ヘッド22は、ランプ13上に移動される。ランプ13は、磁気ヘッド22を、磁気ディスク11から離間した位置で保持するように構成されている。
【0016】
ヘッドIC24は、リード動作時に、磁気ヘッド22が磁気ディスク11からリードした信号を増幅して出力し、RWC25に供給する。また、ヘッドIC24は、ライト動作時に、RWC25から供給されたライト対象のデータに対応した信号を増幅して、磁気ヘッド22に供給する。
【0017】
HDC23は、I/F バスを介してホスト2との間で行われるデータの送受信の制御、およびバッファメモリ29の制御などを行う。
【0018】
バッファメモリ29は、ホスト2との間で送受信されるデータのバッファとして用いられる。例えば、バッファメモリ29は、ライト対象のデータ、または磁気ディスク11からリードされたデータ、を一時記憶するために用いられる。
【0019】
バッファメモリ29は、高速な動作が可能な揮発性メモリによって構成される。バッファメモリ29を構成するメモリの種類は、特定の種類に限定されない。バッファメモリ29は、例えば、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、またはこれらの組み合わせによって構成され得る。なお、バッファメモリ29は、任意の不揮発性メモリによって構成されてもよい。
【0020】
RWC25は、HDC23から供給されるライト対象のデータに対して誤り訂正符号化などの変調を行い、変調後のデータをヘッドIC24に供給する。また、RWC25は、磁気ディスク11からリードされヘッドIC24から供給された信号に対して誤り訂正の処理を含む復調を行い、復調後の信号をデジタルデータとしてHDC23へ出力する。
【0021】
プロセッサ26は、例えばCPU(Central Processing Unit)である。プロセッサ26には、RAM27、FROM(Flash Read Only Memory)28、およびバッファメモリ29が接続されている。
【0022】
FROM28は、不揮発性メモリである。FROM28には、ファームウェア(プログラムデータ)および各種の動作パラメータなどが格納される。なお、ファームウェアは、磁気ディスク11に格納されてもよい。
【0023】
RAM27は、例えばDRAM、SRAM、またはこれらの組み合わせによって構成される。RAM27は、プロセッサ26によって動作用のメモリとして使用される。RAM27は、ファームウェアがロードされる領域、および各種の管理データが一時記憶される領域として使用される。
【0024】
プロセッサ26は、FROM28または磁気ディスク11に格納されているファームウェアに従って、この磁気ディスク装置1の全体的な制御を行う。例えば、プロセッサ26は、ファームウェアをFROM28または磁気ディスク11からRAM27にロードし、ロードされたファームウェアに従って、モータドライバIC21、ヘッドIC24、RWC25、HDC23などの制御を実行する。
【0025】
HDC23、RWC25、およびプロセッサ26を含む構成は、磁気ディスク装置1の動作を制御するコントローラ30と見なすこともできる。コントローラ30は、これらのほかに、他の要素(例えばRAM27、FROM28、またはバッファメモリ29など)を含んでいてもよい。
【0026】
また、ファームウェアプログラムは磁気ディスク11に格納されていてもよい。また、プロセッサ26の機能の一部または全部は、FPGA(Field-Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)などのハードウェア回路によって実現されてもよい。
【0027】
なお、磁気ディスク装置1に具備される磁気ディスク11の数は1つに限定されない。また、磁気ディスク装置1は、磁気ディスク11の数に応じた数のアクチュエータアーム15および磁気ヘッド22を有し得る。また、磁気ディスク装置1が複数の磁気ヘッド22を有する場合、当該複数の磁気ヘッド22は一体的に移動せしめられてもよいし、当該複数の磁気ヘッド22はそれぞれ独立に移動可能な複数のグループを構成していてもよい。
【0028】
図2Aは、実施形態の磁気ディスク11の構成の一例を示す図である。磁気ディスク11の表面に形成された磁性層には、例えばサーボライタによって、またはセルフサーボライト(SSW)によって、磁気ヘッド22の位置決めに使用されるサーボデータがライトされる。
【0029】
図2Aには、サーボデータがライトされたサーボ領域の配置の一例として放射状に配置されたサーボ領域41が示されている。円周方向において、2つのサーボ領域41の間は、データのライトが可能なデータ領域42とされる。磁気ディスク11の半径方向には同心円の複数のトラック50が設けられる。トラック50上においてデータ領域42にはそれぞれは所定サイズ(セクタサイズ)のデータがライトされる複数のセクタが設けられる。
【0030】
サーボデータは、サーボマーク、グレイコード、バーストパターン、およびポストコードを含む。サーボマークは、サーボデータの開始を示す。グレイコードは、磁気ディスク11に設けられた各トラック50を識別するためのID、即ちトラック番号と、トラック50上の各サーボセクタ(即ちサーボ領域41)を識別するためのID、即ちサーボセクタ番号と、を含む。バーストパターンは、グレイコードに含まれるトラック番号が示すトラックのセンターからの位置ずれ量を検出するために使用されるデータである。グレイコードに含まれるトラック番号は例えば整数値として与えられており、バーストパターンを復調することによってトラック番号が示す位置を基準とした小数点以下のオフセット量を得ることが可能である。つまり、バーストパターンを復調することによって、半径方向における磁気ヘッド22の現在位置が得られる。ポストコードは、グレイコード、バーストパターンによって規定されるトラック50の形状の、理想的なトラック50の形状からの位置ずれを補正するためのデータである。
【0031】
コントローラ30は、磁気ディスク11にデータをライトしたり磁気ディスク11からデータをリードしたりする際には、磁気ヘッド22がサーボ領域41からリードしたサーボデータに基づいて磁気ヘッド22の位置決め、つまりシーク制御およびトラッキング制御、を実行する。
【0032】
図2Bは、実施形態の磁気ディスク11におけるゾーンの一例を示す模式図である。本実施形態では、複数のトラック50からなるゾーンが同心円上に設定されている。最外周のゾーンをゾーン0とし、内周に向かうに従ってゾーンの番号が増加する。最内周のゾーンを最大ゾーンと呼ぶ。
【0033】
図3は、実施形態の1つのトラック50の構成の一例を示す模式的な図である。本図では、サーボ領域41の図示が省略されている。また、本図には、ライト/リード方向が図示されている。ライト/リード方向は、磁気ディスク11の回転によって磁気ヘッド22がトラック50に対して相対移動する方向である。磁気ヘッド22は、各トラック50に対し、ライト/リード方向にデータのライトまたはデータのリードを行う。
【0034】
トラック50に設けられた各セクタは、セクタ番号によって識別される。セクタ番号がxであるセクタを、セクタ#xと表記する。図3に示される例では、トラック50は、セクタ#0からセクタ#10までの11個のセクタを有する。
【0035】
各セクタにライトされるデータは、誤り訂正符号を含んでいる。RWC25は、1つのセクタからリードされたデータに対し、誤り訂正符号を用いたセクタ単位の誤り訂正が可能である。
【0036】
セクタ単位の誤り訂正のための誤り訂正符号化の方式は、特定の方式に限定されない。一例では、セクタ単位の誤り訂正のための誤り訂正符号化の方式として、低密度パリティ検査符号(Low-Density Parity-Check Code)が適用される。
【0037】
11個のセクタは、基準位置からライト/リード方向にセクタ番号順に配列されている。換言すると、基準位置は、トラック50内でセクタ番号が最も小さいセクタが配置される位置である。本明細書では、基準位置とライト/リード方向とに基づき、先頭と末尾とが定義される。
【0038】
例えば、磁気ヘッド22が基準位置を通過してから次に基準位置を通過するまでの区間、即ちセクタ#0~セクタ#10に関して、磁気ヘッド22が一番最初に通過するセクタ、即ちセクタ#0は、先頭のセクタと表記される。セクタ#0~セクタ#10に関して、磁気ヘッド22が一番最後に通過するセクタ、即ちセクタ#10は、末尾のセクタと表記される。
【0039】
また、セクタ上の磁気ヘッド22が通過を開始する位置は、セクタの先頭と表記される。セクタ上の磁気ヘッド22が通過し終わる位置は、セクタの末尾と表記される。
【0040】
末尾のセクタ#10は、パリティが格納されるためのセクタとされている。即ち、トラック50の単位のライトは、例えば次のようにして実行される。まず、セクタ#0~セクタ#9に、セクタ番号の順番にデータがライトされる。トラック50の末尾のセクタ#10には、セクタ#0~セクタ#9にライトされたデータの群に基づいて生成されたパリティがライトされる。
【0041】
セクタ#10にライトされるパリティは、セクタ#0~セクタ#9にライトされたデータの群を誤りの発生から保護するものである。つまり、セクタ#10にライトされるパリティは、トラック単位でデータを保護する。セクタ#10にライトされるパリティを用いた誤り訂正は、トラック単位の誤り訂正と表記される。
【0042】
セクタ#0~セクタ#9のように、データが格納されるセクタは、データセクタと表記される。データセクタ#xにライトされるデータは、データ#xと表記される場合がある。データ#xは、データセグメントの一例である。セクタ#10のようにパリティが格納されるセクタは、パリティセクタと表記される。
【0043】
トラック単位の誤り訂正のための誤り訂正符号化の方式は、特定の方式に限定されない。一例では、パリティは、ビット位置毎のXORをデータ#0~データ#9に対して実行することにより生成される。
【0044】
1つのトラック50(第1トラック50と表記する)に対してデータがライトされると、第1トラック50に隣接するトラック50(第2トラック50)はATIの影響を受ける。第2トラック50が受けるATIの影響は、第1トラック50に対するライトの回数に応じて蓄積される。第2トラック50が受けたATIの影響が大きくなりすぎると、第2トラック50に格納されているデータをリードすることが困難になる。
【0045】
コントローラ30は、各トラック50がATIの影響によってデータのリードが困難になる前に、データのリライトを実行する。
【0046】
コントローラ30は、各トラック50が受けたATIの影響の度合いを例えばATI管理情報271を用いて推測する。
【0047】
図4は、実施形態のATI管理情報271のデータ構造の一例を示す模式的な図である。
ATI管理情報271は、RAM27に記憶されている。ATI管理情報271は、トラック50毎にATIカウンタが記録されたテーブルのデータ構成を有する。コントローラ30は、トラック50に対してデータのライトを行うと、ライト先のトラック50の近傍のトラック50にかかるATIカウンタをインクリメントする。1回のインクリメントで加算される値は設計者によって任意の方法で決定される。一例では、ライト先のトラック50に近いほど大きな値がインクリメントされる。つまり、AITカウンタは、対応するトラック50に蓄積されたATIの影響の度合いを示す。
【0048】
コントローラ30は、各トラック50のATIカウンタとしきい値としての書込み保障回数とを比較する。そして、書込み保障回数を超えたATIカウンタが見つかった場合、コントローラ30は、当該ATIカウンタに対応するトラック50に対し、トラック単位のリライトを実行する。リライト後、コントローラ30は、リライトされたトラック50のATIカウンタをリセットする。
【0049】
書込み保障回数は、対象のトラックに隣接するトラックのデータのリードが可能であることを保障する対象のトラックへの書き込み回数である。言い換えれば、書込み保障回数は、隣接トラック干渉(ATI)を解消するためのデータセクタに対するリライトを実行するタイミングを定めるためのライトの回数である。書込み保障回数は、磁気ディスク装置1の製造工程、すなわち出荷前に予め調整されて設定されている。書込み保障回数は、ATI書込み保障回数と称される場合もある。
【0050】
理想的な書込み保障回数は、磁気ディスク11の媒体特性と磁気ヘッド22の特性に依存するため、磁気ヘッド22やトラック50ごとに異なる可能性がある。
【0051】
比較例においては、磁気ディスク装置の製造工程では、リードタイムを短縮するため、磁気ディスクの特定の位置、例えば、内周、中周、外周の3カ所で書込み保障回数の調整を行って、ROM等に設定しておく。そして、書込み保障回数が設定されている内周、中周、外周の3カ所の周辺一帯のトラックでは、同一の書込み保障回数を用いてリライト処理を行っている。このため、書込み保障回数の調整が行われたトラックから離れたトラックにおけるリライト処理のタイミングが理想的なタイミングからずれている可能性がある。このため、比較例の磁気ディスク装置では、ATIの障害が発生する可能性が高くなり、この結果、磁気ディスク装置の性能が悪化してしまう可能性がある。
【0052】
このため本実施形態では、出荷前に書込み保障回数の調整および設定が行われた磁気ディスク11の特定の位置(例えば、内周、中周、外周)以外の位置において、出荷後の磁気ディスク装置1の動作時に、書込み保障回数の調整を行って設定する。これにより、本実施形態では、書き込み保障回数を最適な値に調整して、磁気ディスク装置1の性能を向上させている。
【0053】
具体的には、本実施形態では、コントローラ30は、無効となったパリティセクタを利用して書込み保障回数の調整処理を実行する。
【0054】
例えば、或るトラック50(第3トラック50と表記する)に対してトラック単位のライトが行われた場合、言い換えれば、シーケンシャルなライトが行われた場合、第3トラック50は、全データはパリティによって保護された状態になる。つまり、パリティセクタは有効であり、パリティによる保護が有効となる。
【0055】
一方、コントローラ30が第3トラック50の一部のデータセクタに対してオーバーライトを行うと、すなわち、データセクタに対してランダムアクセスによるライトを行うと、第3トラック50は、全データはパリティによって保護されていない状態になる。つまり、パリティセクタは無効となり、パリティによる保護が無効になる。無効となったパリティセクタは誤り訂正に利用されない。
【0056】
このため、本実施形態の磁気ディスク装置1では、コントローラ30は、このようにデータセクタに対してランダムアクセスによりライトが行われた場合、すなわち、一部のデータセクタに対してライトが行われた場合に、当該ライトにより無効となったパリティセクタを用いて、書込み保障回数の調整処理を実行している。
【0057】
ここで、コントローラ30は、径方向に隣接するトラック50において、無効となったパリティセクタが所定のトラック数連続して存在する場合に、無効となったパリティセクタを用いて、書込み保障回数の調整処理を実行する。
【0058】
書込み保障回数の調整処理とは、無効となったパリティセクタに対するライトと、ライトしたパリティセクタを有するトラックに隣接するトラックのパリティセクタのリードとを、複数回繰り返し実行し、当該パリティセクタからリードできなくなった場合のライトの回数に基づいて書込み保障回数を決定する処理である。複数回としては、例えば1000~10000回等が該当するがこれに限定されるものではない。
【0059】
具体的には、コントローラ30は、一例として、例えば、隣接トラックのパリティセクタからリードできなくなった場合のライトの回数の上限値(限界値)の50%や20%の値として書込み保障回数を設定する。ただし、これに限定されるものではない。
【0060】
図5は、実施形態にかかるパリティセクタテーブル273のデータ構造の一例を示す図である。パリティセクタテーブル273は、パリティセクタの有効無効の状態を示すテーブルである。パリティセクタテーブル273は、RAM27に記憶されている。
【0061】
パリティセクタテーブル273は、図5に示すように、トラック番号と、パリティセクタ有効/無効フラグとが対応付けられたデータ構造となっている。パリティセクタ有効/無効フラグは、トラック番号のトラックのパリティセクタが有効か無効かを示すフラグでり、「0」が有効を示し、「1」が無効を示す。図5の例では、トラック番号が1、M~M+3のトラックのパリティセクタが無効となっていることがわかる。そして、M~M+3のトラックのパリティセクタが連続して無効となっているパリティセクタに該当する。
【0062】
コントローラ30は、データセクタに対してランダムアクセスによりライトが行われた場合に、パリティセクタテーブル273において、ライトが行われたトラックのトラック番号に対応するパリティセクタの有効/無効フラグに「1」(無効)を設定する。また、コントローラ30は、パリティセクタテーブル273を参照して、連続して無効となっているパリティセクタを検索する。
【0063】
そして、コントローラ30は、すべてのゾーンの無効となっているパリティが連続しているトラックに対して、書込み保障回数の調整処理を実行する。具体的には、コントローラ30は、最外周のゾーン0から最内周の最大ゾーンまで各ゾーンのうち、書込み保障回数の調整処理が未実施のゾーン、すなわち、未実施のトラックがあるゾーンのトラックに対して書込み保障回数の調整処理を実行する。
【0064】
図6は、実施形態の書込み保障回数テーブル275のデータ構造の一例を示す図である。書込み保障回数テーブル275は、書込み保障回数とその調整を実施済みか否かをゾーンごとに示すテーブルである。書込み保障回数テーブル275は、RAM27に記憶されている。
【0065】
書込み保障回数テーブル275は、図6に示すように、ゾーンと、書込み保障回数と、
調整済みフラグと、が対応付けられている。調整済みフラグは、書込み保障回数の調整処理が実施済みか否かを示すフラグであり、「1」が実施済みを示し、「0」が未実施を示す。図6の例では、外周のゾーン0、1、2、中周のゾーンO,O+1、O+2、内周のゾーンP+1、P+2、最大ゾーン(Max)が実施済みで有ることを示している。また、本実施形態では、出荷前に、外周のゾーン0,1,2、中周のゾーンO,O+1、O+2、内周のゾーンP+1、P+2、内周のゾーンP+1、P+2、最大ゾーン(Max)が既に書き込み保障回数の調整処理が行われている。ここで、ゾーンに属する複数のトラックのうち、書き込み保障回数の調整処理を未実施のトラックを有するゾーンは、未実施とされる。
【0066】
コントローラ30は、書込み保障回数テーブル275を参照して、調整済みフラグが未実施を示すフラグ「0」のゾーンに対して、書込み保障回数の調整処理の実施を行い、この結果、すべてのゾーンの無効となっているパリティが連続しているトラックに対して書込み保障回数の調整処理が実行されることになる。
【0067】
次に、以上のように構成された本実施形態にかかる磁気ディスク装置1による書込み回数の調整処理について説明する。
図7,8は、実施形態にかかる書込み保障回数の調整処理の手順を示すフローチャートである。
【0068】
まず、磁気ディスク装置1の出荷前には、既に、磁気ディスク11の外周、中周、内周の3箇所のゾーンのトラックにおいて、書込み保障回数の調整処理が実行されており、書込み保障回数テーブル275に書込み保障回数と調整済みフラグが設定されている。図6の書込み保障回数テーブル275は、出荷時における状態を示している。
【0069】
図9は、実施形態における出荷時点における複数のトラックと書込み保障回数との関係のグラフの一例を示す図である。横軸は、トラックの磁気ディスク11の半径方向位置であり、左側が外周側、右側が内周側を示している。縦軸は書込み保障回数である。
【0070】
図9のグラフで、点線1405は各トラックに対して最適な書込み保障回数を示す。黒丸の点は、磁気ディスク装置1の出荷前に書込み保障回数の調整を実施済みのトラックであり、白丸の点は、磁気ディスク装置1の出荷前に書込み保障回数の調整が未実施のトラックである。符号1401は書込み保障回数の調整が未実施のトラックを示し、符号1403は書込み保障回数の調整が未実施のトラックを示す。
【0071】
図9に示すように、出荷時点では、磁気ディスク11の内周、中周、外周のトラックのみに対して書込み保障回数の調整が実施されており、書込み保障回数の調整が未実施の他のトラックに対する書込み保障回数は、近傍の実施済みのトラックの書込み保障回数をそのまま使用している。このことは、出荷時点の書込み保障回数テーブル275の状態を示す図6からもわかる。また、出荷時点においては、書込み保障回数の調整が未実施であるトラックを示す符号1401と白丸の点が一致し、かつ、書込み保障回数の調整が実施済みであるトラックを示す符号1403と黒丸の点が一致している。
【0072】
図10は、実施形態における出荷時点での複数のトラックのセクタの状態の一例を示す図である。符号1001はデータセクタを示し、符号1101はパリティセクタを示す。なお、図10では、一部のデータセクタ、一部のパリティセクタのみに符号を付している。パリティセクタ1101が白い場合には、パリティが有効であることを示す。
【0073】
図7に戻り、出荷後に磁気ディスク装置1が動作すると、まず、コントローラ30はデータセクタに対してランダムライトが発生したか否かを判断する(S11)。ランダムライトが発生していなければ(S11:No)、コントローラ30は、ランダムライトの発生待ちの状態となる。
【0074】
データセクタに対してランダムライトが発生した場合には(S11:Yes)、コントローラ30は、動作開始から一定時間経過したか否かを判断する(S13)。そして、一定時間経過していない場合には、処理はS11に戻る。ここで、データセクタに対してランダムライトが発生した場合には、ランダムライトされたデータセクタを有するトラックのパリティセクタは無効となる。言い換えれば、当該トラックに無効なパリティセクタが発生する。
【0075】
図11は、実施形態において無効なパリティセクタが発生した場合における複数のトラックのセクタの状態の一例を示す図である。黒く塗りつぶしたパリティセクタ1103が無効なパリティセクタである。白いパリティセクタ1101は、有効なパリティセクタである。データセクタ1001に対してランダムライトが発生すると、図11に示すように、ランダムアクセスされたデータセクタのトラックのパリティセクタは無効なパリティセクタ1103となる。
【0076】
図7に戻り、S13で、動作開始から一定時間を経過した場合には(S13:Yes)、コントローラ30は、いずれかのトラックに対してライトまたはリードの要求があったか否かを判断する(S15)。いずれかのトラックに対してライトまたはリードの要求があった場合には(S15:Yes)、処理はS11へ戻る。
【0077】
いずれのトラックに対してもライトおよびリードの要求がない場合には(S15:No)、コントローラ30は、ゾーン0を書込み保障回数の調整処理の対象のゾーンに設定する(S17)。
【0078】
なお、本実施形態では、ゾーン0から内周側に向けて調整処理を開始しているが、これに限定されるものはない。たとえば、最大ゾーンから外周側に向けて調整処理を開始するようにコントローラ30を構成してもよい。
【0079】
そして、コントローラ30は、書込み保障回数テーブル275において、対象のゾーンのトラックのトラック番号に対応する調整済みフラグを参照し、対象のゾーンのトラックが書込み保障回数の調整処理が実行済みか否かを判断する(S19)。
【0080】
対象のゾーンのすべてのトラックが書込み保障回数の調整処理を実行済みである場合には(S19:Yes)、コントローラ30は、次のゾーン、すなわち、一つ内周側のゾーンを書込み保障回数の調整処理の対象のゾーンに設定する(S21)。そして、処理はS19に戻る。
【0081】
S19で、対象のゾーンのいずれかのトラックが書込み保障回数の調整処理を実行済みでない場合には(S19:No)、パリティセクタテーブル273の対象のゾーンのトラックのパリティセクタの有効無効フラグを参照し、所定のトラック数以上連続して無効なパリティセクタが存在する否かを判断する(S23)。
【0082】
図12は、実施形態において所定のトラック数以上、無効なパリティセクタが発生した場合における複数のトラックのセクタの状態の一例を示す図である。図12の例では、無効なパリティセクタ1103が11トラック連続して存在することが示されている。所定のトラック数とは任意に定められ、2以上の値を所定のトラック数として定めることができるがこれに限定されるものではない。
【0083】
図7に戻り、S23で、一定トラック数以上連続して無効なパリティセクタが存在しない場合には(S23:No)、コントローラ30は、次のゾーン、すなわち、一つ内周側のゾーンを書込み保障回数の調整処理の対象のゾーンに設定する(S21)。そして、処理はS19に戻る。
【0084】
S23で、一定トラック数以上連続して無効なパリティセクタが存在する場合には(S23:Yes)、コントローラはこれらの一定トラック数以上連続して存在する無効なパリティセクタを利用して、書込み保障回数の調整処理を実行する(S25)。
【0085】
次に、図8に進み、コントローラ30は、書込み保障回数の調整処理により決定した書込み保障回数を、書込み保障回数テーブル275のトラックのトラック番号に対応する書込み保障回数に設定する(S27)。
【0086】
図13は、実施形態において書込み保障回数の調整処理を1回実行した状態における複数のトラックと書込み保障回数との関係のグラフの一例を示す図である。横軸は、トラックの磁気ディスク11の半径方向位置であり、左側が内周側、右側が外周側を示している。縦軸は書込み保障回数である。
【0087】
図13では、符号1401aのトラックに対して書込み保障回数の調整処理を実行した結果、符号1401aのトラックの書込み保障回数は、理想的な書込み保障回数に近づいたことを示している。
【0088】
図8に戻り、コントローラ30は、現在の対象のゾーンが最大のゾーン、すなわち、最内周のゾーンであるか否かを判断する(S29)。そして、現在の対象のゾーンが最大のゾーンでない場合には(S29:No)、処理はS21へ行き、コントローラ30は、次のゾーン、すなわち、一つ内周側のゾーンを書込み保障回数の調整処理の対象のゾーンに設定する(S21)。そして、処理はS19に戻る。
【0089】
図14は、実施形態において書込み保障回数の調整処理を一部のゾーンのトラックに対して実行した状態における複数のトラックと書込み保障回数との関係のグラフの一例を示す図である。横軸は、トラックの磁気ディスク11の半径方向位置であり、左側が内周側、右側が外周側を示している。縦軸は書込み保障回数である。
【0090】
図14では、外周側のゾーンのトラックに対して書込み保障回数の調整処理を実行した結果、符号1401aで示す外周側のゾーンのトラックの書込み保障回数は、理想的な書込み保障回数に近づいたことを示している。
【0091】
図8に戻り、S29で、現在の対象のゾーンが最大のゾーンである場合には(S29:Yes)、コントローラ30は、全てのゾーンが書込み保障回数の調整処理を、実行済みか否かを判断する(S31)。いずれかのゾーンが書込み保障回数の調整処理を実行済みでない場合には(S31:No)、処理はS11に戻る。一方、全てのゾーンが書込み保障回数の調整処理を実行済みである場合には(S31:Yes)、処理は終了する。
【0092】
図15は、実施形態において書込み保障回数の調整処理を全てのゾーンのトラックに対して実行した状態における複数のトラックと書込み保障回数との関係のグラフの一例を示す図である。横軸は、トラックの磁気ディスク11の半径方向位置であり、左側が外周側、右側が内周側を示している。縦軸は書込み保障回数である。
【0093】
図15では、全てのゾーンのトラックに対して書込み保障回数の調整処理を実行した結果、符号1401aで示す全てのゾーンのトラックの書込み保障回数は、理想的な書込み保障回数に近づいたことを示している。
【0094】
このように本実施形態では、磁気ディスク装置1は、それぞれにデータセグメントが格納される複数のデータセクタと、誤り訂正のためのパリティが格納されるパリティセクタと、が配置された、複数のトラックが設けられた磁気ディスク11と、複数のトラックのそれぞれに対してライト/リード方向にライト/リードを実行する磁気ヘッド22と、無効となったパリティセクタを用いて、隣接トラックからのリードを保障するためのライトの回数を示す書込み保障回数の調整処理を実行するコントローラ30と、を備える。また、本実施形態の磁気ディスク装置で実行される制御方法は、無効となったパリティセクタを用いて、上記書込み保障回数の調整処理を実行する。ここで、書込み保障回数の調整処理は、無効となったパリティセクタに対するライトと隣接するトラックのパリティセクタのリードとを繰り返し行い、隣接するパリティセクタからリードできなくなった場合のライトの回数に基づいて、保障回数を決定する処理である。
【0095】
このため、本実施形態では、無効となったパリティセクタは、誤り訂正には使用されないため、このような不要なパリティセクタに対して複数回のライトを行っても、磁気ディスク装置1の動作に影響を与える可能性は少ない。このため、本実施形態によれば、このような無効なパリティセクタを利用して影響なく書込み保障回数を行うことができ、書き込み保障回数を最適な値に調整して、磁気ディスク装置1を高性能にすることが可能となる。
【0096】
また、本実施形態では、コントローラ30は、磁気ディスク装置1の出荷後に、無効となったパリティセクタを用いて、書込み保障回数の調整処理を実行する。このため、本実施形態によれば、磁気ディスク装置1を実際に使用した段階で書込み保障回数の調整ができるので、書き込み保障回数をより最適な値に調整して、磁気ディスク装置1をより高性能にすることが可能となる。
【0097】
また、本実施形態では、コントローラ30は、データセクタに対してランダムアクセスによりライトが行われた場合に、当該ライトにより無効となったパリティを用いて、書込み保障回数の調整処理を実行する。このため、本実施形態によれば、ランダムライトを行って発生した無効なパリティセクタは誤り訂正に利用しないため、この無効なパリティセクタを利用しても磁気ディスク装置1に悪影響なく、磁気ディスクの媒体や磁気ヘッドの特性に合致した最適な書込み回数でリライト処理を実行することができる。このため、本実施形態では、リライト処理の不足によるATI障害の影響を低減し、かつリライト処理の過多による処理速度の低下を防止することができ、その結果、より高性能な磁気ディスク装置1を提供することができる。また、本実施形態によれば、磁気ディスク装置1の実際の動作中に、書き込み保障回数の調整を行うことができるので、磁気ディスク装置の製造工程ですべてのゾーンに対して書込み保障回数の調整を行う必要が無く、リードタイムの短縮化を図ることができる。
【0098】
また、本実施形態では、コントローラ30は、磁気ディスク11の径方向に隣接するトラックにおいて、無効となったパリティセクタが所定のトラック数連続して存在する場合に、無効となったパリティセクタを用いて、書込み保障回数の調整処理を実行する。このため、本実施形態では、所定のトラック数連続して存在する無効なパリティセクタのいずれかに複数回ライトを行ってライトにより隣接するトラックのパリティセクタに影響を与えたとしても、連続して存在する隣接トラックのパリティセクタは無効で誤り訂正に利用されないため、磁気ディスク装置1の動作には悪影響を与えない。このため、本実施形態では、書き込み保障回数をより最適な値に調整して、リライト処理の不足によるATI障害の影響を低減し、かつリライト処理の過多による処理速度の低下を防止することができる。
【0099】
また、本実施形態では、磁気ディスク11は、それぞれ複数のトラックで構成される複数のゾーンを有し、コントローラ30は、すべてのゾーンに対して、無効となったパリティセクタを用いて、書込み保障回数の調整処理を実行する。このため、本実施形態では、磁気ディスク11のすべてのトラックに対して書込み保障回数の調整を行うことができ、書き込み保障回数をより最適な値に調整して、リライト処理の不足によるATI障害の影響を低減し、かつリライト処理の過多による処理速度の低下を防止することができる。
【0100】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0101】
1…磁気ディスク装置、2…ホスト、11…磁気ディスク、12…スピンドルモータ、13…ランプ、15…アクチュエータアーム、21…モータドライバIC、22…磁気ヘッド、22r…リードコア、22w…ライトコア、23…HDC、24…ヘッドIC、25…RWC、26…プロセッサ、27…RAM、28…FROM、29…バッファメモリ、30…コントローラ、41…サーボ領域、42…データ領域、50…トラック、271…ATI管理情報、273…パリティセクタテーブル、275…書込み保障回数テーブル。
図1
図2A
図2B
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15