第3回 Win7のTrimコマンドは寿命を延ばすのか (2010.3.30)
以前のOSとは異なり、Win7はSSDを理解してくれるようになった。それまでは「回転しない奇妙なHDD」としか解釈していなかったので、当然ながらHDDのように扱われていた。普通に使うだけなら気にする必要はないが、構造の違いによる問題が少なからず発生していた。
仮に青色をファイル1、緑色をファイル2とする。HDDとは異なり、実際に書き込まれる場所はSSD任せになっているが、あまり気にする必要はない。
問題なのはOSがファイルを削除しても、SSDが理解できずにそのままデータを保持してしまうことだ。青色のファイル1を消したのに、SSD上のデータは消去されていない。
もう不要なんだから無視すれば良いものを、ウェアレベリングのときもしっかりと移動させてしまう。このため無駄なオーバーヘッドが増え、書き込み続けていると速度が低下してしまうのだ。
そこでWin7ではTrimコマンドを使って、何が不要なのかSSDに教えることにした。これにより速度低下が防げるのはもちろんのこと、少なからず寿命延長にも影響することを期待している。
今回はTrimコマンドによるオーバーヘッドの低減が、どれぐらい寿命に影響するのか調べてみよう。使用するのはintel X25-Vの40GBだ(MLC)。
テスト結果
表示内容の変更 (2010.4.1)
テスト開始から2日目。わかり辛かったので表示する内容を変更した。「SSD全体に書き込んだバイト数」は、実際に書き込んだ容量そのまま。X25-Vは実容量37.2GBなので、ここが37.2GBになると全体に1回書き込んだことになる。「1GBあたりに書き込んだバイト数」は、SSDの容量1GBに対して書き込めた容量で、前回までのテストに表示していたのと同じ。
メディア消耗指標 (2010.4.5)
現在426回書き込んだところ。
CrystalDiskInfoで見てみると、メディア消耗指標(E9、下から2番目)が90になったようだ。この値は100から1へと変化していくようだが、書き込み回数426回で90は速過ぎるような気がする。このままいけば4500回程度で1になりそうだ。1になったから壊れるというわけではないが、寿命の目安にはなるだろう。
これはセルの多値化によるものだろうか。旧世代のSSDは容量が少ない反面、書き込める回数が5000〜10000回程度だったが(実験では7000回程度)、最近の大容量SSDは3000〜5000回程度まで減っているようだ。このため寿命を延ばす仕組みに取り組んでいるわけだが、本当に4500回程度で壊れるのか気になってきた。
1TBに到達 (2010.4.12)
現在1030回、合計37.5TB書き込めた。
順調にメディア消耗指標(E9)が79まで減ってきたが、利用可能な予備領域(E8、下から3番目)は1つだけしか減らなかった。左上の健康状態にはE8の数字が表示されているようなので、寿命的にはこの数字が重要なんだろうか。書き込み量に比例してなさそうなので(もう1000回書き込んでいる)、これだと寿命予測が難しそうだ。
2TBに到達 (2010.4.24)
現在2065回、合計75.2TB書き込めた。
メディア消耗指標(E9)が59まで減ったが、利用可能な予備領域(E8)は変わらず99のままだ。E8は最後の頃になってから急激に減り始めるんだろうか。
3TBに到達 (2010.5.7)
現在3084回、合計112.2TB書き込めた。
順調にメディア消耗指標(E9)が39になった。代替処理済のセクタ数(05、上から3番目)の生の値が、0、2、3、6と変化していることに今気づいた。
4TBに到達 (2010.5.18)
現在4114回、合計149.7TB書き込めた。
メディア消耗指標(E9)が19になったが、次に確認するときはどうなっているだろうか。このままいくと1か0を下回ってしまうので、今度は利用可能な予備領域(E8)が減っていくんだろうか。代替処理済のセクタ数(05)の生の値は、6のまま変化していないようだ。
5TBに到達 (2010.5.30)
現在5143回、合計187.2TB書き込めた。
昨日の時点でメディア消耗指標(E9)が1になっていたのだが、変化がないまま1日が過ぎてしまった。この値は書き込んだ容量に合わせて、単純に計算されているだけなのだろうか。そうなると計算の基準が何なのか気になってくる。間もなくして利用可能な予備領域(E8)が減っていくのであれば、E8が変化するまでの目安になるのだが、そうでないならば余計な気苦労になってしまう。
6TBに到達 (2010.6.10)
現在6158回、合計224.1TB書き込めた。
壊れる気配がまったくなくて、急に目標を見失ってしまった感じだ。いつになったら利用可能な予備領域(E8)が減り始めるんだろうか。
7TBに到達 (2010.6.22)
現在7196回、合計261.9TB書き込めた。
相変わらず壊れる気配がなく、代替処理済のセクタ数(05)の生の値が7に増えたぐらいだ。
8TBに到達 (2010.7.3)
現在8212回、合計298.9TB書き込めた。
代替処理済のセクタ数(05)の生の値が、珍しく2つ増えて9になったが、利用可能な予備領域(E8)は変わらず99のままだ。
9TBに到達 (2010.7.14)
現在9264回、合計337.1TB書き込めた。
代替処理済のセクタ数(05)の生の値が、前回同様2つ増えてBになった。
10TBに到達 (2010.7.26)
現在10338回、合計376.3TB書き込めた。
いよいよ壊れ始まるかと期待していたのに、変化がなくなってしまった。
11TBに到達 (2010.8.5)
現在11274回、合計410.3TB書き込めた。
これは本当に壊れるんだろうか。何かの間違いで256GBのSSDを40GBとして売っていないだろうか(つまり予備領域が216GBもある)。もしくはわざと速度を落としたSLCだったりしないだろうか(つまり10万回書き込める)。
12TBに到達 (2010.8.18)
現在12288回、合計447.2TB書き込めた。
代替処理済のセクタ数(05)の生の値が、急に7つ増えて12になった。それから書き込み速度が低下したようだが(137GB/h→135.3GB/h)、これらは何を意味するのだろうか。利用可能な予備領域(E8)が99から変わらないところをみると、まだまだ壊れないんだろう。
13TBに到達 (2010.9.1)
現在13334回、合計485.3TB書き込めた。
代替処理済のセクタ数(05)の生の値が、12から16に増えた。
14TBに到達 (2010.9.14)
現在14371回、合計523TB書き込めた。
代替処理済のセクタ数(05)の生の値が、16から1Cに増えた。
15TBに到達 (2010.9.28)
現在15419回、合計559.1TB書き込めた。
代替処理済のセクタ数(05)の生の値が、1Cから1Eに増えた。
16TBに到達 (2010.10.12)
現在16458回、合計597TB書き込めた。
代替処理済のセクタ数(05)の生の値が、1Eから27に増えた。
17TBに到達 (2010.10.27)
現在17467回、合計633.7TB書き込めた。
代替処理済のセクタ数(05)の生の値が、27から2Aに増えた。そろそろ何か異常が発生したかと思い、起動時にチェックディスクをしてみたが正常だった。いつになったら利用可能な予備領域(E8)が減り始めるんだろうか。
18TBに到達 (2010.11.16)
現在18492回、合計671.3TB書き込めた。
代替処理済のセクタ数(05)の生の値が、2Aから30に増えた。
19TBに到達 (2010.12.7)
現在19517回、合計708.3TB書き込めた。
利用可能な予備領域(E8)が98になった。もう永久に変わらないのかと思っていたが、688.2TBあたりで1つ減ってくれた。代替処理済のセクタ数(05)の生の値も、30から4Cへと大きく増えている。このままの勢いで壊れてほしい。
20TBに到達 (2010.12.28)
現在20538回、合計745.4TB書き込めた。
前回の勢いはどこに行ってしまったのだろうか。代替処理済のセクタ数(05)の生の値が、4Cから4Fと少し増えただけで、利用可能な予備領域(E8)は動かず。壊れないのは素晴らしいことだが、この書き込み速度の低下はどうなんだろうか(132.4GB/h→116.9GB/h)。フォーマットすれば元の速さに戻るのかな。
21TBに到達 (2011.1.14)
現在21568回、合計782.9TB書き込めた。
代替処理済のセクタ数(05)の生の値が、4Fから5Dに増えた。書き込み速度が遅すぎるので、一度SSD全体をファイルで埋め尽くしてからOS以外のファイルを削除し、SSD Optimizerを何度か使ってみた(普段は12時間に1回のスケジュールにしてある)。これで少しは快適になったようだが、壊れる気配はまったくない。
22TBに到達 (2011.1.29)
現在22591回、合計820.2TB書き込めた。
代替処理済のセクタ数(05)の生の値が、5Dから78に増え、利用可能な予備領域(E8)が97に減った。もしかして今後もこのペースで減っていくのかもしれないが、もうちょっと急いでもらえないだろうか。
23TBに到達 (2011.2.13)
現在23609回、合計857.2TB書き込めた。
代替処理済のセクタ数(05)の生の値が、78から9Eに増えた。利用可能な予備領域(E8)は変わらず。壊れないのは素晴らしいことではあるが、いつになったらC300を開封できるだろうか(すでに購入済)。
24TBに到達 (2011.2.28)
現在24641回、合計894.8TB書き込めた。
代替処理済のセクタ数(05)の生の値が、9EからAAに増えた。894.8TB書き込めたということは、ついにSSDNの記録886.1TBを超えてしまったわけで、40GB SSDが64GB SSDを上回るとは思ってもいなかった。しかもこの段階で残り97%だ。そろそろ「本当はSLCでした」と白状しても良い頃だろう。
震災により終了 (2012.4.2)
最後の記録として残っていたのは、911.2TBのときに、利用可能な予備領域(E8)が96に減ったということ。何となく違和感があったので容量差を比較してみたら、少しずつ減るのが早まっていることに気づいた。最初の頃は、一定の速さで減っていくような気がしていたので、以下の計算結果は限りなく0.0に近くなると思っていたが(もしくは0÷0でエラー)、実際はそうではないようだ。
(1−C÷B)÷(1−B÷A)=0.3897
A=予備領域が99から98になるまでに書き込めた容量
B=予備領域が98から97になるまでに書き込めた容量
C=予備領域が97から96になるまでに書き込めた容量
この結果から計算すると、予備領域を1つ消耗するまでに書き込める容量は、毎回緩やかに減っていることになる。
減少率=1.0−(1.0−減少率)×0.3897
つまり利用可能な予備領域(E8)が95になるのは、973.9TBあたりと思われる。このまま計算していくと、最終的には5821.9TBで159959回ぐらい書き込めるようだ(容量1GBあたり156.2TB)。この結果から想像してしまったのは、やっぱりX25-VはSLCだということ。
X25-Vが超長寿命ということはわかったが、Trimコマンドと寿命との関連性については、かなり早い段階で見失ってしまい、結局このテストは無駄に終わってしまった。