web-dev-qa-db-ja.com

SSDドライブをデフラグする必要がありますか?

WindowsのdefragSSDドライブで実行できますか?

まあ、短い答えはyesだと思います。SSDドライブにはspecialspecificに合わせたデフラグプログラムが必要だと聞きました。

それは本当ですか?もしそうなら、どこで入手できますか?

58
Royi Namir

これについてはいくつかの論争があるようですので、私は詳細な説明をすることは役立つと思いました:

SSDをデフラグしないでください。それについてさえ考えないでください。その理由は、SSD上の物理データの配置はSSDのファームウェアによってのみ処理され、Windowsに報告するのはデータが実際にSSDに格納される方法ではないためです。

つまり、デフラグツールがそのファンシーセクターチャートに表示する物理データの配置は、現実とは関係ありません。データは、Windowsが想定している場所ではなく、データが実際に配置されている場所をWindowsが制御することはできません。

内部メモリチップの使用量を均等にするために、SSDファームウェアはSSDのすべてのメモリチップ全体でデータを意図的に分割し、読み取りまたは書き込みでビジー状態でないときにこれらのチップ上でデータを移動します(チップの使用量を均等にするため) 。)

Windowsはこれをまったく認識しないため、デフラグを実行すると、WindowsはSSDに不要なI/Oを大量に発生させ、SSDの耐用年数を短くする以外は何もしません。

111
Little Helper

誰か(200_success)が、質問との関連性が非常に高く、詳細に説明する価値のあるコメントをしました。

まず、HDDはハードディスクを意味しますディスクドライブであり、実際にはディスクが内蔵されています。このディスクは、セクターと呼ばれる小さな部分に分割され、そこに情報が格納されます。この写真を見てください:

Disk image

セクターは文字Cで示されます。

現在、このセクターは非常に小さく、一般的には512バイトしかありません。したがって、10kの共通ファイルを保存するには、多くのセクターを使用する必要があります。

これらのセクターが、図の中で緑色の文字Dのように次々に並んでいると想像してください。ファイルを読み取る必要がある場合、ハードドライブヘッドは最初のセクターの先頭に配置され、ディスクが回転している間、それらすべてを読み取ります。

それが物事が機能する方法です。

今度は、ファイルが多くのセクターに沿って分散されている可能性があります。それぞれがディスクの一部にあります。それはどう言う意味ですか?ファイルを再度読み取るために、ハードディスクのヘッドは最初のセクターの先頭に配置され、それを読み取った後、2番目のセクター(ディスクの他の場所)の先頭に移動する必要があります。それを読む、など...

これには時間がかかります。私たちは頭の物理的な動きについて話している。頭が動くほど、時間がかかります。

したがって、ディスクのデフラグを実行します。プログラムはファイルのすべての部分を順番に移動しようとします。これにより、すべてを読み取るためのヘッドの物理的な移動が少なくなるため、読み取りがより簡単で高速になります。

ここまででいいですか?それで、私たちはSSDについて話し始めます:それらはボード上のメモリチップの束です。それらから何かを保存または読み取る場合、コントローラーチップはいくつかのビットをアクティブ化するだけで、voilàで、正しいチップがメモリから読み取られます。そして、それがどこに保存されているかは関係ありません。メモリチップにアクセスするアクションは、HDDの物理的な移動よりもはるかに高速です。つまり、大まかに言えば、SDD内の断片化されたファイルのその時間に気付かないでしょう。

そして、より詳細で正確なコントローラーチップは、ファイルを多くのチップに分散させて並列読み取りなどを利用します。そのため、コントローラーはファイルを処理して、常に最高の状態で保存されるようにします(速度とこれらのメモリチップの摩耗)は、Windowsが知ることができませんでした。

26
woliveirajr

Windows 8の組み込みの最適化ツールはSSDを最適化しませんが、一連のトリムコマンドをデバイスに送信します。これの詳細については、 この質問を参照 。 Robertsがすでに指摘したように、SSDをまったく最適化したくありません。

14
Gene