簡単な答え:セクターに新しいものを書きます(ゼロでも-長い形式はそうです)。
ロングアンサー
今日のハードドライブは、ホストコンピューターから不良セクターを隠そうとします。ホストコンピューターは、特定のセクター番号の内容を返すようにドライブに要求するだけです。通常、ドライブはセクターを読み取り、ホストマシンに返します。すべて正常です。
ドライブはエラー訂正コード(ECC)を使用して、読み取った内容が正しいことを検証するため、ハードドライブは読み取った値が有効かどうかを認識します。ドライブは、セクターの内容が無効であることを検出すると、読み取りを再試行します。希望は、それが再びそれを単に読むならば、それが正しいセクター内容を得るかもしれないということです。適切な値を取得するか、制限時間(正式にはコマンド完了制限時間、またはCCTLと呼ばれる)に達するまで再試行を続けます。
これらの再試行中、ドライブは死んでいるように見えます。コマンドにもはや応答していないので。
スペアセクター
最近のほとんどのドライブには、多数の「スペア」セクターが含まれています(たとえば、1,024個のスペアセクター)。ドライブがセクタを不良として認識すると、その使用を停止します。破損したセクターの読み取りまたは書き込み要求は、透過的にスペアセクターにリダイレクトされます。この不良セクタをマークし、そのデータを予備セクタに再割り当てすることを、再割り当てイベントと呼びます。また、再割り当てされたセクターの総数(つまり、使用済みのスペアセクターの数)が、再割り当てされたセクター数です。
私のハードドライブの1つからのこの例では、64セクターが不良であることがわかりました。これは、64個のドライブのスペアセクターが使用に呼び出されたことを意味します。
ID Current Worst Threshold Raw
============================= ======= ===== ========= ===
(05) Reallocated Sector Count 192 192 140 64
この同じハードドライブで、4つの再配置イベントがありました。これは、ドライブがセクターを不良としてマークし、代わりにスペアセクターを使用した場合が4回あったことを意味します。
ID Current Worst Threshold Raw
============================= ======= ===== ========= ===
(05) Reallocated Sector Count 192 192 140 64
(C4) Reallocated Event Count 196 196 0 4
データを読み取れない場合はどうなりますか?
これらのすべてのセクターの再読み取り、スペアの消費、すべてがコンピューターの背後にあることは良いことです。これは、ホストオペレーティングシステムが障害のあるセクターの問題に対処する必要がないことを意味します。ドライブ自体がこれらの詳細を処理できます。
ボーナスチャッター:昔は、ハードドライブにステッカーが固定された状態で出荷されていました。このステッカーには工場の欠陥リストが含まれていました。ドライブ上のすべての既知の不良スポットのリスト。
ドライブの低レベルフォーマットを実行した場合、ツールを使用して、不良スポットのすべてのシリンダーヘッドセクターの位置を入力する必要がありました。
SCSIドライブにはIOCTL_DISK_REASSIGN_BLOCKS
、オペレーティングシステムがそれを検出した後にドライブ上の不良スポットを再割り当てするように指示するコマンドがあります。IDEドライブでは、オペレーティングシステムの介入を必要とせずに、これはすべて自動的に行われます。
ドライブがセクターの障害を認識し、データをスペアセクターに移動し、元のセクターを再び使用しないことが理想的です。しかし、ドライブがセクターを正常に読み取れなかった場合はどうなりますか?
これは何Pending Sectors
ですか。ドライブは、セクターに障害が発生していることを検出したため、スペアに再マッピングする必要があります。しかし、データを正常に読み取ることができるまで、それを行うことはできません。ドライブがセクターの不良を認識しており、リマップする必要があるが、セクターからの読み取りを待機しているため、まだ実行できない場合:Pending Sector Countと呼ばれます:
ID Current Worst Threshold Raw
============================= ======= ===== ========= ====
(05) Reallocated Sector Count 192 192 140 64
(C4) Reallocated Event Count 196 196 0 4
(C5) Current Pending Sector 100 100 0 2
私のハードドライブには2つのセクターがあり、ドライブは不良として認識していますが、まだ再割り当てできません。これらの「保留中のセクター」のいずれかを読み取ると、ドライブはおそらく再試行(および再試行、再試行)し、最終的にホストオペレーティングシステムに読み取りエラーを返します。
保留中のセクターをあきらめ、再割り当てされます
ドライブが最終的にセクターを再割り当てし、別のスペアセクターを消費する方法は2つあります。
- それは最終的に良い読書を取得します
- あなたはもうセクターに何があるか気にしません
ドライブが最終的にセクターを読み取った場合、ドライブはセクターを再割り当てできることがわかります。
ドライブがセクターを再割り当てできるもう1つの方法は、そのセクターの内容が無関係であることを知らせる場合です。もう何が入っているか気にしないでください。どうやってやるの?
セクターに新しい何かを書くことによって。
ハードドライブ上のセクターから読み取りまたは書き込みを行う場合は、常に512バイトのセクター全体を読み取り/書き込みする必要があります1。セクターの一部のみを書き込むことはできません。OSがセクターにデータを書き込むとき、512バイト全体を指定する必要があります。これらの新しいコンテンツでこの不良セクタを置き換えることをハードドライブに伝えると、ドライブは、現在不良セクタにあるものを気にしなくてもよいことを認識します。その後、不良セクタをスペアの1つに再割り当てでき、そのセクタはPendingではなくなります。
人々が何かを持っていることについて尋ねるときCurrent Pending Sectors
、一般的なアドバイスは、ドライブ(Western DigitalのData LifeGuardなど)を使用してドライブにすべてゼロを書き込むことです。
ドライブ上のすべてのセクターにゼロを書き込むことにより、それらの厄介な保留中のセクターをすべて最終的に再割り当てできることをドライブに伝えています。ワイプ後、すべてPending Sectors
が次のようになりますReallocated Sectors
。
ID Current Worst Threshold Raw
============================= ======= ===== ========= ====
(05) Reallocated Sector Count 192 192 140 66
(C4) Reallocated Event Count 196 196 0 5
(C5) Current Pending Sector 100 100 0 0
注: Western DigitalのData LifeGuardのような「低レベル」ツールを使用する必要はありません。Windowsにボリュームのフルフォーマット(つまり、クイックフォーマット以外)を実行するように指示すると、ボリューム内のすべてのセクターにゼロが書き込まれます。
OSファイリングシステムは、セクターを不良としてマークすることをサポートします
この知識を武器に、一般的に紛らわしいシナリオを探ります。
Integrated Drive Electronics(IDE)が登場する前は、ホストオペレーティングシステムが不良セクターの検出、読み取りの再試行、データの別のセクターへの移動、古いセクターの不良マーク付けを担当していました。
chkdsk /r c:
ホストオペレーティングシステムを使用して実行すると、「保留中」のセクターが不良であると認識され、不良としてマークされ、それらを再度使用することはありません。
> C:\Windows\system32>chkdsk /r c:
The type of the file system is NTFS.
Volume label is OS.
12 KB in bad sectors.
512バイトのセクターのハードドライブ、12 KBの「保留中のセクター」、またはこの例ではOSによって「不良セクター」としてマークされた12 KBを想定すると、SMARTディスクユーティリティで表示される10進数24または16進数0x18に対応しますクリスタルディスク情報など:
ID Attribute Name Current Worst Threshold Raw
============================= ======= ===== ========= ====
(C5) Current Pending Sector 100 100 0 18
注:Western DigitalのData LifeGuard v1.31(2017年8月31日現在)ユーティリティは、現在のSMART 'Raw'カウンター値を正しく表示しないようです。
次に、完全なフォーマット (ボリューム内のすべてのセクターにゼロを書き込む)を実行する場合:
つまり、これらのセクターはすべてPending
再割り当てされます。ファイリングシステムがこれらのセクターを再び使用しても安全です。これらのセクターが「不良」ではなくなったことをファイリングシステムに指示するには、不良セクターを再評価するオプションを実行します。
>chkdsk c: /B
コマンド文書には
/B NTFS only: Re-evaluates bad clusters on the volume
(implies /R)
または
準拠:https :
//technet.microsoft.com/en-us/library/cc730714(v=ws.11).aspx
/B NTFS only: Clears the list of bad clusters on the volume and
rescans all allocated and free clusters for errors. /b includes
the functionality of /r. Use this parameter after imaging a
volume to a new hard disk drive.
これは、まったく読まれない何かのための、完全にたくさんの文章であり、全体のたくさんのスクリーンショットでした。