最も基本的でありながら、よく理解されていないところを解説。
リードエラーを解消するためにHDDに搭載されている機能「リードリトライ」の動作を調べると、リードエラーの発生原因を知ることが出来ます。
DDRescue より
リードリトライ動作の種類
①ヘッドの再シーク:ヘッドの位置(トラック)制御に誤りが発生したと仮定して、ヘッドの位置を一度基本位置(原点)に戻して、再度ヘッドシークをした後に読み出しを試みる。
②ヘッド位置のオフセット:データの書込み時のヘッド位置に誤差(オフトラック)があったと仮定して、ヘッドの位置を本来のトラックのセンターから少しずらして読み出しを試みる。
③ヘッドの浮上量の調整:ヘッドやプラッタの汚れや、気圧の変化などでヘッドとプラッタの隙間が変わったと仮定して、ヘッドに付属したヒータを利用して空気を加熱したりして、ヘッドの浮上量を変えてデータの読み出しを試みる。
④A-D変換定数の変更:プラッタとヘッドの経時的な特性の変化(劣化など)があったと仮定して、変換定数を変化させる。
実際に発生する障害の原因は、①、②に書いたヘッドの位置ズレが多いのです。その理由は、最近のプラッタ1枚あたり1TBのHDDの場合、トラックの中心線と次のトラックの中心線の距離(トラック間隔)は、70ナノ(ナノはミクロンの1/1000)と言われ、1ミクロンにに14トラックも存在するような、超精密な機構となっているため、ヘッドの位置制御のトラッキングサーボ機能を使用しても、温度変化(熱膨張)や、取り付け方法(外部応力)などによる微細な変形や、機構部の摩擦力などの影響を無視することが出来ないことにあるのです。