SSDの書き換え回数には制限があるので寿命について心配する意見がある一方で、PCは数年程度で更新することが多いので、実用上心配する必要はないとの意見もあります。ディスクアクセスは使い方によって大きく変わりますので、一概に何年は大丈夫と言えませんが、MLC (Multiple Level Cell)の場合、書き換え可能回数は数千回程度のようです。そこでCrucial RealSSD C300をデスクトップPCで使い始めた機会に、SSDの寿命について考えてみました。
Micronが出しているC300の仕様書による耐久性は、総書き込みデータ量が72TBとなっています。ただし次の条件が付いています。
(1) ドライブが90%フルとして計算したトータル書き込みデータ量。
(2) アクセスパターンは50%シーケンシャル、50%ランダム。さらに、5%が4k、5%が8k、10%が16k、10%が32k、35%が64K、35%が128k。
耐久性の計算例も示されています。
・72TB / 5年 / 356日 = 40GB / 日(5年間使う場合の1日当たりの書き込みデータ量)
メール、ネットサーフィン、文書作成などで普通に使う分には毎日40GBも書き込むことはなさそうですから、この数字だけを見れば安心して使い続けてよさそうです。
データディスクとして使うのであれば、上記の数字をもとに自分の使い方から判断すればよいのでしょうが、システムディスクとなると状況が違う可能性があります。Windows
7のタスクマネージャからリソースモニタを開いてディスクIOを見ると、メールクライアントなどを立ち上げた待機状態で、何もしていない時でも幾つかのシステムプロセスが小さいデータを書き込んでいます。毎秒表示が変わりますし、最近1分間の平均値が表示されるだけなので正確な書き込み数はわかりませんが、毎秒1−2回はありそうです。
書き込まれるデータ量は小さいので、5年使うとして40GB/日の耐久性があれば大丈夫と単純に結論できればよいのですが、システムディスクとしての利用では、メーカーが耐久性の前提として示しているアクセスパタンと大きく異なっていると思われます。SSDへのデータ書き込みは、たとえ1バイトのデータであってもブロック単位で書き込まれます。C300のブロックサイズはわかりませんが、一般的にSSDのブロックサイズは512Kバイト程度のようです。単純に最悪の状態を考えれば、毎秒1メガバイトの情報が書き込まれていることになってしまいます。
各メーカーはSSDへの書き込みアルゴリズムに独自の工夫を凝らし長寿命化を図っていますので、実際の書き込み量を知ることは困難です。ですが、最悪の場合を一つの目安として知っておくこともあながち無意味とは言えません。そこで、簡単な計算をしてみました。
(1) 書き込みデータ量からの推定
前提として、2回/秒の書き込みがあり、すべてが異なるブロックに書き込まれるとします。ブロックサイズは512KBとします。
・1秒間の書き込み量:512×2=1024KB
・1日10時間電源を入れているとしたときの書き込み量:1024KB×3600×10=36.86GB
・書き込み量が72TBになる日数:72000/36.86=1953日
メーカーが耐久性として示しているのは実データ量ですから、ブロック単位のデータ書き込みでの計算に72TBの耐久性をそのまま使うのは無茶ですが、一つの目安ですからここでは目をつむります。何もしないで電源を入れておくだけでも5年ちょっとで要注意の結果になりました。
(2) 書き込み回数からの推定
すべてのデータが異なるブロックへの書き込みであると仮定して、単位時間の書き込み数から寿命を推定してみます。ブロックサイズは512KBと仮定します。
・1秒間の書き込み回数:2回
・1日10時間電源を入れているとしたときの書き込み回数:2×3600×10=72000回
・128GBのSSDの総ブロック数:128000 / 0.5=256000個
・1年当たり1ブロックへの平均書き込み回数:72000/256000×356=103回/年
何もしないで電源を入れておくだけなら10年たっても1000回ですから、それほど神経質になる必要はなさそうな結果です。
二通りの計算をしたところ、あまり気にする必要はなさそうな結果になりました。実際の利用状況ではアプリケーションでのデータ書き込みがプラスされます。ユーザが意図的に保存をする分だけでなく、何か作業をしているときには「ユーザ\AppData」ディレクトリへの書き込みが相当あります。そのことも考えますと、日々おびえることはないにしても、寿命にまるで無頓着ではいられないと解釈しています。C300ではSMART情報のADが各ブロックへの平均書き込み回数であるとの情報があります。ときどきチェックしながら使っていこうと思います。
Windows7ではAppDataの下には3つのフォルダがあり、これらはプロパティ->場所タブで任意の場所に移動できるようになっています。スワップやtempファイル(環境変数のTEMPとTMP)に加えて、これらをハードディスクに置けば延命効果が期待できそうです。しかし、そこまで寿命を気にするならデスクトップPCにSSDを使わなくても、となりそうです。私の場合、SSDを使ってハードディスクなしにする一番のメリットは、気兼ねなくスリープさせられることからくる節電効果と考えています。ハードディスクのオン・オフを頻繁に行って負荷をかけることには心理的に大きな抵抗があり、これまではスリープさせたりハードディスクの回転を止めたりはしない設定にしていました。SSDのおかげで電気を浪費していると後ろめたい思いをしなくて済みそうです。