ドライブ側の立場から不良セクタの修復について見ていきます。

不良セクタを修復する。代替セクタを割り当てる。問題のあるセクタを予備領域へ切り替える。
言葉だけを見ると単純な処理のように思えます。しかし、実際にはそれほど簡単ではありません。

理由は簡単です。不良セクタをいきなり代替セクタへ切り替えるとそのセクタに記録されていた情報を失うためです。
不良化したセクタを安全に代替するにはその該当セクタに記録されているデータを読み出す必要があります。
読み出せたデータを代替セクタへ移して、以後はその新しい場所を使う。
この流れであれば「データを維持したままセクタを置き換える」ことができます。

そのため、ドライブは読み取り困難なセクタに対して何度も再試行を行い、できる限りデータを読み出そうとします。
しかし、この再試行処理には時間がかかります。

不良セクタが少数であればまだ対応できますが「不良セクタが塊で発生している場合」は、
その一つ一つで再試行が発生し動作が大きく遅延(現実時間で終えられない)します。
コピーが極端に遅くなったり復旧作業が進まなくなったりする原因になります。

ここで、少し見方を変えてみます。
もし、読み込みではなく、書き込みだった場合はどうでしょうか。
すでに削除され、現在は使用されていないセクタだったとします。
そこへ新しいデータを書き込む場合は、古いデータを読み出して保持する必要はありません。
この場合はすぐに代替セクタへ新しいデータを書き込むことができます。

このあたりが、書き込み側よりも先に読み込み側が壊れる原因の一つでもあります。
不良セクタの代替処理は書き込みをきっかけに実行されます。
それなら、書き込み=>読み込み検証(コンペア)=>もし不可なら代替セクタに書き込みする。
書き込み直後なら、まだその情報を持っていますので、このように代替セクタに自動的に移れます。
常に安全性を最優先するのであれば、この方法も選択の一つに挙がることでしょう。

ところが、このような確認(コンペア)を常時行うと性能が大きく低下します。
読み書きのたびに追加確認が発生するので速度が落ち、応答性も悪くなります。
現在のドライブでは、速度・容量・寿命・コスト・消費電力など、さまざまな要素とのバランスが求められています。
そのため「データの安全性だけを最優先にした設計にはなっていない」のです。

これは、SSDであっても同じです。
SSDは内部で高度なエラー訂正やウェアレベリング・予備領域管理を行っています。
それでも、すべての書き込みや読み込みに対して完全な安全確認を行っているわけではありません。
速度ベンチマークが重視される以上、すべてを厳密に検査するような仕組みは、今後も実装されることはありません。

ここが重要な点です。
ドライブは、必ずしも「データを絶対に守る装置」ではありません。
できるだけ高速に、できるだけ安定して、データを読み書きする装置です。

これで、不良セクタの検出と修復が、なぜ単純ではないのかが見えてきます。
データを守るためには、ドライブ側の自動処理だけに頼るのではなく、定期的な検査と別媒体へのバックアップが必要です。

ドライブ検査とバックアップによって「先回りして守る」必要があるのです。

不良セクタの検出と不良セクタの修復の違いについて見ていきます。
FromHDDtoSSDの完全スキャン機能で検出できる不良セクタについてです。

これまで何度も説明してきた通り、不良セクタとは正常に読み取れない・または読み書きの挙動に異常があるセクタを指します。
完全スキャンではセクタの状態を確認して性質に応じて色別に結果を表示します。

完全スキャンは、ドライブ上に存在する不良セクタを検出してその状態を把握するための機能です。
では、不良セクタの検出と修復は、どのような関係にあるのでしょうか。

不良セクタがあるなら単に代替セクタを割り当てればよいのではないか。
代替セクタが用意されているなら、なぜ不良セクタのまま残っているのか。

このような疑問が出てきます。
しかし、実際のドライブでは、読み取れないセクタが見つかり、ただちに代替処理が行われるとは限りません。
多くの場合、代替処理はそのセクタに対して書き込みが行われたタイミングで実施されます。
つまり、読み込み時にエラーが発生しても、その時点では「読み取り不能なセクタ」として扱われるだけで、すぐに予備領域へ置き換えられません。
これは、読み込みと書き込みの仕組みから、不良セクタの検出と修復を理解するうえで非常に重要な点になります。

検出とは、問題のあるセクタを見つけることです。
一方、修復とは、そのセクタに対して書き込み処理などを行い、ドライブ側の代替処理や再割り当てを促すことです。

不良セクタの検出と修復は、同じ処理ではありません。
検出によって状態を確認し、そのうえで修復してよい状態なのかを判断する必要があります。
重要なデータが残っているドライブでは、修復よりも先にデータの退避を優先する必要があります。
不良セクタの修復は、データ保全後に行うべき処理であり、いきなり実行するものではありません。

このように、不良セクタの検出・代替セクタの仕組み・書き込みによる再割り当て・修復処理の関係を理解すると、なぜ不良セクタがそのまま残るのか。
まず状態を検出し、その性質を確認する。データ保全が必要かどうかを判断する。修復処理を行ってよい状態かを見極める。

この順序が非常に重要です。


FromHDDtoSSDの不良セクタ修復機能は、ターゲットのセクタをその場で細かく分類することで再利用可能な形で修復を実行いたします。

もともとドライブは新品の状態であってもエラーは存在します。
つまりエラーを訂正することで読み書きを実現しておりますので、
そのエラーのしきい値……すなわち許容範囲が不良セクタの有無を決定しているに過ぎないのです。
その点を利用して不良セクタの修復を実現することができます。

実際に不良だったセクタが緑(正常)に戻ることで読み書き可能になります。
近年、HDD/SSDの値上がりで新品ではなく整備済み品すら出回っております。
新品ならともかく出所不明な整備済み品を手にするくらいなら不良セクタ修復による再利用も検討する価値はあると判断しております。

読み込み不能セクタ

読み込み不能だが書き込みは可能なセクタです。「黄色」で示されます。
比較的影響は小さいのですが、不良セクタであることには変わりませんし、書き込んだ後に読めないので痛いです。
不良セクタの修復作用が効きやすく比較的簡単に復活できるため再利用可能です。

書き込み不能セクタ

逆に、書き込みの段階でエラーとなるセクタです。
こちらは「黄色」または「紫」となります。不良セクタの修復作用は効きやすく、こちらも比較的簡単に復活することができます。

読み書き不能セクタ

読み込みと書き込みの両方でエラーとなるセクタです。「紫」または「赤」となります。
不良セクタの修復作用は半々となるため代替セクタの量に関わらず元に戻らない場合も多いです。

それは、記録面(プラッタまたはフラッシュ)に対して直接的にデジタルデータを書き込んでいるわけではないため、
整合性の観点から「代替セクタが残っている=ドライブがまだ使える」わけではない点にも注意が必要です。
それにより再配置カウントが1以上になると危なくなってくるのです。
代替セクタは残っているのに故障するという状況につながります。

その点まで十分に踏まえながらこの不良セクタ修復機能を搭載いたしました。
特にSSDは読み込み不能セクタになりやすい性質があります。
そこは重点的に研究しておりかなり高い頻度でその修復に成功(再配置カウントは0へ)できるように最適化しております。