再フォーマットされたハードドライブがゼロでいっぱいになった場合、書き込みパフォーマンスは向上しますか?
あなたがハードドライブを再フォーマットしようとしているならば、後で書き込み性能を「向上させる」何か、あるいはあなたがさらに心配すべきでない何かなのでしょうか?本日のSuperUser Q&A投稿には、興味をそそられる読者の質問に対する答えがあります。.
本日の質疑応答セッションは、コミュニティ主導のQ&A Webサイトのグループである、Stack Exchangeの下位区分であるSuperUserの好意により提供されます。.
クリスバニスター(Flickr)の写真提供.
質問
SuperUserの読者Bretteteteは、ハードドライブをゼロで埋めると書き込みパフォーマンスが向上するかどうかを知りたいと考えています。
私は99パーセントフルだった2TBのハードドライブを持っています。パーティションを削除しました fdisk そしてそれを ext4. 私の知る限りでは、ハードドライブにあった実際のデータはまだ存在しますが、それでもパーティションテーブルは再割り当てされました.
私の質問は、次のとおりです。ハードドライブが汚れていなければ、それ以降の書き込み操作の書き込みパフォーマンスが向上するでしょうか。 「クリーン」とは、ハードドライブをゼロで埋めることを意味します。何かのようなもの:
- dd if = / dev / zero = = / dev / sdx bs = 1カウント= 4503599627370496
ハードドライブをゼロで埋めると書き込みパフォーマンスが向上します。?
答え
SuperUserの貢献者MichaelKjörlingが私たちに答えを持っています。
いいえ、パフォーマンスは向上しません。 HDDはそのようには動作しません.
まず、与えられたデータを回転ドライブに書き込むと、そのデータは磁区に変換されます。磁区は実際には書き込み中のビットパターンとは大きく異なる場合があります。これは部分的には実行されます。なぜなら、プラッタから読み返されたパターンにある程度の可変性がある場合、同期を維持するのがはるかに簡単だからです。たとえば、 '0'または '1'の値の長い文字列は同期を維持するのを非常に難しくします。 26,393ビットまたは26,394ビットを読みましたか。ビット間の境界をどのように認識しますか?
これを行うための技術は時間とともに進化しました。たとえば、修正周波数変調、MMFM、グループコード記録、およびランレングス制限エンコーディングのより一般的な技術を調べます。.
次に、新しいデータをセクタに書き込むと、プラッタの関連部分の磁区が単純に目的の値に設定されます。これは、以前の磁区がその特定の物理的な場所に「あった」ものに関係なく行われます。プラッタはすでに書き込みヘッドの下で回転しています。最初に現在の値を読み込み、次に新しい値を書き換えます。値が異なる場合に限ります。書き込みごとに2回転(またはプラッタごとに余分なヘッド)が必要になり、書き込みの待ち時間が2倍になるか、ドライブの複雑さが大幅に増えるため、コストが増加します.
ハードドライブのシーケンシャルI / Oパフォーマンスを制限する要因は、各ビットがリード/ライトヘッドの下をどれだけ速く通過するかであるため、これはユーザーにメリットをもたらすことすらありません。余談ですが、ランダムI / Oパフォーマンスの制限要因は、読み書きヘッドを目的のシリンダに配置してから目的のセクタをヘッドの下に到達させる速度です。 SSDがランダムI / Oワークロードで非常に高速になる主な理由は、これらの要因の両方が完全に排除されるためです。.
JakeGouldが指摘したように、ドライブを何らかの固定パターン(オールゼロなど)で上書きしたくなる理由の1つは、意図的にまたは誤って、以前に保存されたデータの残余を回復できないようにすることです。しかし、それを行っても、上記の理由により、今後のハードドライブのパフォーマンスには影響がありません。.
説明に追加するものがありますか?コメントで音を消す。他の技術に精通したStack Exchangeユーザーからの回答をもっと読みたいですか?こちらのディスカッションスレッドをチェックしてください。.