やみくもにデフラグしていませんか?SDカード,USBメモリではご法度です。

シェアする

2016062001

PCには、デフラグ (defrag) 機能があります。デフラグは、フラグメンテンテーション (fragmentation) を減らす処理を意味します。フラグメンテーションとは、日本語では断片化と言います。ではフラグメンテーション(断片化)とは何かというと、ファイルを書いたときに(コピーしたとき)、メディアに書く内容としては、いろいろあります。ファイル名だったり、ファイルサイズ、またファイルの更新日時などがあります。さらに一番大きい情報量としては、ファイルの中身です。ファイルの大きさが小さいときはいいのですが、写真とか、ビデオなどではファイルの大きさがかなり大きくなります。ファイルの中身と、それ以外を分けると、それ以外のほうは、メディアの1ブロック程度で済みますが、ファイル本体のほうは複数のブロックを使います。(ブロックは、そのメディアの容量をある容量で切った1つです) 複数のブロックを使っているファイルに関してその複数のブロックがどこに配置されているかによって、フラグメンテーションとなっているかどうかが判断されます。通常考えると、連続した位置にあると思うのですが、ファイルの削除や、コピーなどを何度も繰り返していると、中途半端な連続サイズしかなくなり、連続したブロックを割りあてられれなくなります。よって同じファイルなのに、飛び飛びのブロックを使ってしまうことが発生します。これがフラグメンテーション状態です。

本当のところ、ファイルの本体だけでははなく、FATファイルシステムではファイル名の部分でもそのようなことが起きます。例えばディレクトリにもサイズが表示されますが、そのディレクトリの下のファイルを作ったり削除したりを繰り返すと、ファイルが1つもなくても、そのディレクトリのサイズは普通よりもかなり大きいことがあると思います。これもある意味、断片化しています。

先の話に戻り、ファイル本体を飛び飛びのブロックを使うことで何が問題なのかというのを説明します。
今はほとんどありませんが、Walkman CDがあったころ、音飛びというのがありました。それは、音楽のファイルは連続したブロック(セクタ)を使って書いているのに、CDを読み取り部分が振動などで別なところに飛んでしまうということで起きていました。 よって、CDなどでは、読み取りが連続でないと音が飛ぶという現象がおきたというのを聞いたことがあると思います。
今のストレージメディア(HDD,SSD,フラッシュメモリと呼ばれるすべて,光ディスクと呼バレるものもすべて)は連続ブロックを読むのはいいのですが、不連続なブロックを読むとき、どうしても少し時間が空いてしまいます。それを感じない程度の時間か、または感じないように工夫しているかはそれぞれの機器に依存します。
フラッシュメモリなどの、SDカード,USBメモリも、不連続なブロックを読むとどうしても間に時間がかかってしまうことになります。メモリだから速いのでそんなことは光ディスクと比べて時間がかからないのではと思うかもしれません。しかし、実はフラッシュメモリは容量が多くなってきて、いろいろな機能(ウェアレベリングとよばれる平準化、MLC、TLCなどによる、ブロックサイズが大きくなってきていること)により遅くなってきています。これを再現なく解消しているのは、SSDとなりますが、SDカードや、USBメモリなど、すごく小さくて、電力容量もすくなく、抜き差しされやすい、さらに安いなどの機器ではこれらのフラッシュメモリが遅くなってしまうところを穴埋めできません。
このため、どうしてもこれらのメディアで断片化すると遅くなってしまします。よって、SDカード や、 USBメモリ では断片化が起きないように使うのがもっともよいことになります。

どうやったら断片化が起きにくいかというと、コピーした(書いた)ファイルを削除しない、容量がいっぱいになったら、バックアップをとってクイックフォーマットして、必要なファイルだけ戻せばほぼ断片化も起きない状態となります。特にカメラなど、細かく写真を消すことをせず、いっぱいになる前までにバックアップをとって、というほうが良いはずですし、また、寿命も延びます。

本題のデフラグをしないほうがいいのは、デフラグつまり、フラグメンテーションの状態、つまり、不連続なブロックとなっているファイルを連続になるように再配置する処理ですが、PCの処理として、一時的に空いている領域にファイルをコピー(メディア)して、再配置となるので、少なくとも、ファイル1回分の書き込みが多く発生します。他にもNANDの構造でもいろいろあってその数倍以上の書き込みが発生していることになります。
これによる、フラッシュメモリのへたり、また寿命が減るのが速いとなるからです。

SSDなどはいろいろな機能が入っていますのでこの程度でどうのということはないように作られていると思ってください。通常はフラッシュメモリではデフラグはご法度です。