2008.12.15
6TBを超えたところでエラーになった。
最終的にGB単位で計算するので、ここに表示されているのは書き込んだ容量の1GB分なのだが、あまりにもエラーの気配が感じられず間違ったかな……と不安になってしまったが、どうやら正しかったようだ。ちなみに書き込んだファイル数だが、ライトキャッシュをフラッシュした回数を加算してしまったので、実際はもっと少ない。
今回は最初からファイルが散らばっていたせいか離散が目立つ。こんな状態で壊れ始まったら、ほとんど助からないと思われる。
今回は派手に壊れてくれたようで、元のファイルが何だったのか判別不可能な世界だ。確か今は西暦2008年だと思うのだが、2010年や2066年が姿を現した。どうやらタイムマシンが完成したようだ。机に引き出しがある人は、念のため中を確認したほうが良いだろう。
ファイルの合計が20GBと表示されているが、最近のSSDは容量を超えて保存できるんだろうか。がんばり屋さんなSSDだなと感心している場合ではない、これは1つのファイルの中身だ。元は13MB前後のファイルだったと思うが、このように複数のフォルダーとファイルになってしまった。
前回と異なる点がこれ。普通にファイルを削除できてしまう。どうやら書き込めない部分が少し存在するだけで、他はまだ無事なようだ。いや、先程のエクスプローラーの中身を見て、無事と呼ぶのはおかしいのだが……。
試しに全部削除して再びテストをしてみたが、11GB書き込めた。このあとは前回同様、ファイルシステムごと破壊されたような大惨事となるわけだが、こんな状態で使い続ける人はいないと思うので、この11GBは除外することにした。
左側が今回の結果で、右側が前回の。書き込めたのは6×1024+104で6248GBだ。前回の6994GBと比較すると、746GB少なかった。
6994−6248=746GB
これは使用量90%での結果なので、0.9で割って100%にすると829GBになる。
746÷0.9=829GB
829GBは、前回の6994GBの11.853%になるようだ。この結果から、SSDを100%使用している状態では、ウェアレベリングで発生するオーバーヘッドは、約12%だということがわかる。
829÷6994×100=11.853%
2回のテスト結果から得られた計算式はこれ。前回の式よりは正確と思われる。
(SSDの容量−使用量×0.12)÷1日の使用時間×16.8=寿命
例
8GBのSSD(7.5GB) 空き容量3.5GB(使用量4GB) 1日に7時間使用
(7.5−4×0.12)÷7×16.8=16.848
寿命は約16〜17年
|
主な用途(1日に10時間) |
SSDの容量 |
ネット・オフィス・ゲーム |
写真編集・TV録画 |
動画編集・リッピング |
4GB |
5〜6年 |
2〜3年 |
1年 |
8GB |
11〜12年 |
4〜5年 |
2〜3年 |
16GB |
22〜25年 |
8〜10年 |
5〜6年 |
32GB |
44〜50年 |
17〜20年 |
11〜12年 |
64GB |
88〜100年 |
35〜40年 |
22〜25年 |
128GB |
176〜200年 |
70〜80年 |
44〜50年 |
SSDの容量ごとの寿命を表にしてみた。ディスクアクセス頻度によって3つに分けてあり(左から20%、50%、80%)、それぞれの年数は空き容量0%〜100%になっている。
SSD使用量が、どれだけ寿命に影響するかグラフにしてみたが、ほとんど影響していないことがわかる。必死になって空き容量を稼いでいると、寿命を大幅に延ばせたような気分に浸ってしまうが、実際は数%程度、つまり誤差の範囲でしかなかったようだ。
例えば空き容量が500MBなAと、2.5GBなBがあったとする。なんとなくBのほうが5倍長持ちしそうだが、現実はAより3%長持ちなだけである。寿命を3%延ばすために5倍の苦労をするのは、どう考えても自己満足な世界だ。
もっと気軽に使って良いんだと思う、SSDって。
2008.12.11
順調に5TBまでやってきた。
5〜6TBあたりで壊れるのを予想していたのだが、あまり空き容量は関係ないんだろうか。
2008.12.8
4TBだ。
快適な速さで壊れていく。
2008.12.4
3TBになった。
このままいけば今年中に結果が出そうだ。
2008.11.30
快適な速さで2TBだ。
前回、動かしているプログラムが改変されるという、想像を256%上回る壊れ方をしたので、今回は1日に3回バックアップをとっている。完全に壊れたプログラムは動かないから問題ないが、中途半端に壊れたプログラムは、平気な顔して誤作動するから厄介だ。
2008.11.26
今回は書き込み速度が速いので、もう1TBになった。
もしウェアレベリングが機能していなかったら、この時点で壊れていたことだろう。
2008.11.22
寿命計算式の1行目(空き容量の計算)には悩んだ。前回のテストにはウェアレベリングによるオーバーヘッドが含まれていないため(微量過ぎる)、単純に比率で求めてみたのだが、より正確な答えを求めるならば正しい式とは言えない(テスト結果には一致しているが、他のケースでも同じことが言えるわけではない)。
SSDの容量−使用量×使用量÷SSDの容量=空き容量
空き容量÷1日の使用時間×16.8=寿命
もし最善な結果を考えるとしたら、ウェアレベリングによって移動させられると思われる回数分だけ、SSDの容量から使用量を引く必要がある。仮に耐久力が100下がるごとにウェアレベリングするとしたら、式はこうなる(7544は前回のテスト結果から)。
SSDの容量−使用量×7544÷100÷1024=空き容量
計算してみると、実際に使用できると思われる容量に差が出ることがわかる。
前者 7.5−4×4÷7.5=5.367
後者 7.5−4×7544÷100÷1024=7.205
8GBのSSD(7.5GB) 空き容量3.5GB(使用量4GB)
最初は後者の式を採用しようかと思ったが、空き容量が減ってきた状態での挙動に疑問があったのと(壊れる前日のように極端に遅くなることが稀にあった)、目標10000回の約75%で壊れたことから、最終的には悪い結果になる前者の式を選んだ。もしこれらが空き容量とは無関係ならば、最善な結果となる後者の式を選ぶことになる。
本当にここまで最適化されているのだろうか。メーカーがシーケンシャルアクセスのみ最善な結果を保証しているように、実際は早めに寿命を迎えるのが普通なのではないだろうか。
考えていても正しい答えは出てこないので、今回はウェアレベリングによるオーバーヘッドが、どれぐらい空き容量に影響するのか調べてみよう。もしほとんど影響がないのであれば、無理して空き容量を稼ぐ必要がなくなる。SSDの使用量を90%にし、10%の空き容量だけで前回と同じテストを繰り返す。 |