2015年5月7日木曜日

USBメモリの寿命

USBメモリには寿命がある。
SSDが普及するに従い,フラッシュメモリの耐久性や寿命に対する関心は高まっているのではないかと思う。

しかし,USBメモリに関しては中々探してもいい情報が見つからずじまいであったので,昨今のSSD事情と合わせて少し考えてみたい。



USBメモリの寿命は短い?
ネット上には,USBメモリの寿命は3年前後とするサイトが多かった。

USBメモリの寿命 | New LaLaLaLand Blog
http://newlalalaland.com/usb-memory/
少なく見積もって、1日に10回書き込むと仮定すると、標準モデルなら3年で寿命をむかえる計算になるのです。安いからと標準モデルを購入し、USBメモリの寿命という知識もなく、頻繁に書き込みをしていた場合、3年ともたないので注意が必要です。

USBメモリに寿命はあるのか
http://direct.pc-physics.com/usbmemorylifetime.html
一般的には、少なくとも数万回は耐えられるように設計されていると言われています。よって、単純に考えて計算すると、仮に1万回の書き込み回数に耐えられるのであれば、1日10回書き込みを行うとすると、1000日(約2.7年)の寿命となります。

長くても5年とか,運がよくて10年とかそんなかんじ。

しかし,SSDについて議論が活発になった現在,これらの意見は誤りであると断言できる。


SSDの寿命とUSBメモリの寿命
WindowsなどのOSをインストールする目的で使われるSSD。ノートPCでは容量の大きな動画などもすべてSSD上に保存・キャッシュされる。
そのSSDの寿命は,最近のものでは数百年と言われている。
書き換えの激しいSSDが数百年持つのに,(人によって大きく異なるが)毎日数GBと書換を行うわけでもないUSBメモリが3年で寿命というのはおかしな話である。


フラッシュメモリ長寿命化のしくみ
SSDはかつて,SLCからMLCになってセル単位の書き換え可能回数が激減した。にも関わらず寿命が極端に短くならないのは,全体の容量が増え書き込み内容の分散が用意になったためではないかと思う。

思う,というように確たる根拠はないのだが,ウェアレベリングの仕組みを考えるとこう結論づけるのが最も妥当なのだ。

つまり,1つのセルの書き換え可能回数が1000回として,同じセルに書き込み続ければ1000回の書き込みにしか耐えられないが,2つのセルに分散して書き込めば,どちらか片方のセルが1001回目の書き込みを迎えるまで,すなわち2000回まで書き込みが可能となる。

USBメモリはSSDと比較すると圧倒的に容量が少ないが,一日の平均書き込み容量も少ない。
寿命が短くなるといっても,3年というのは短すぎる。

また,仮に1つのセルが寿命を迎えたとしても,ダメになったものだけ封印して正常に使い続ける機能(不良セクタの管理)もある。USBメモリが突然死した経験のある人が,USBメモリの寿命だと思っているのは,実は寿命ではなく事故なのかもしれない。


USBメモリの寿命は何年か?
話を戻して計算してみる。
まず
例に出した2つのサイトでの誤りは,1日10回書き込むという見積である。
ウェアレベリングが理想的に働いていると仮定すると,8GBのUSBメモリの場合,一日に10回セルに書き込みをするには80GBのデータを書き込む必要がある。書き込むためには消去が必要……と考えても,一日40GB。

どんなに多く見積もったって一日10回の書き換えはありえない。

しかし,実際はすべてのセルに均等に書き込みが行われるわけではない。一度書き込んだまま動かさないデータがあると,そのデータが専有しているセルには書き込みが行われないことになる。

したがって,寿命は最大容量ではなく空き容量で考える必要がある。

最も寿命の短いTLCタイプの場合,短くて1000回の書き込みで寿命となるらしい。空き容量8GBで運用すれば,一度の書き換えで消去と書き込みの2回アクセスするとして

8*1000/2=4000
というわけで,4000GBの書き込みに耐えることができる。
一日1GB書き換えるとしても4000日,約11年保つことになる。
最も,全く使わない日も多いUSBメモリにおいて一日平均1GBというのはかなりの書き換え量であるし,1000回の書き換え耐性も下限値なので,実際はこの数倍~数十倍の長寿命になるはずである。
(なお,全体の5%のセルが書き換え不能になると正常にUSBメモリが使えなくなるとして,この年数に0.05を掛けたものを寿命としているサイトもあったが,これも大きな間違いである。ウェアレベリングで理論上同じタイミングですべてのセルに寿命が来るので,使い始めてから徐々に破損セルが増えていき11年後にすべてのセルが破損するというわけではないからだ)

4GBの空き容量ではこれの半分となるが,5年ほど前の小容量メモリはMLCの可能性も高く,セルあたりの書き換え耐性が5000回程度となるので逆に伸びる計算だ(最近の激安小容量メモリは寿命が短いかもしれない)
最も,容量が少ないUSBメモリはそれだけ一度に扱えるデータ容量に制限ができるので,一日平均の書き込み量も減るはずである。

また,常時空き容量8GBということはないかもしれないが,長期にわたって同じデータを保管し続ける使い方をしなければ実際はもっと効率的にウェアレベリングが働く可能性もある。
コントローラが,データの書き換えの際に出来る限り元のセルと異なる場所に書き込むような操作をしていれば,定期的にデータをHDDなどに移動して,また戻すという操作も有効そうだ。

よって,ウェアレベリングがしっかり働いている場合では使い方次第(それも十分実用的な使い方)で事実上永久に寿命がこないこともあるわけだ。


寿命をのばすポイント
長期間保存しっぱなしで消去や書き換えを行わないデータは,定期的に外部ストレージに移動し,必要に応じてまた書き戻す。
(頻繁な書き戻しは逆に寿命を縮めることにもなるので,データの蒸発を防ぐ目的でも年に数回くらいがおすすめ。長期間書き換えを行わないデータは無劣化のセルでも最短1年で蒸発し,自然にデータが壊れるという)

空き容量をできるだけ確保し,容量一杯一杯の状態で大量の書き換えを行わないようにする(総容量の8割程度を実際の容量と考えるといいかも?)

メーカーやロットによって半導体の性能やコントローラの性能にばらつきがあるため,低価格モデルはそれなりのリスク前提で利用する

極端に大きなデータは,外付けHDDやネットワーク経由でやり取りをしUSBメモリを使わない



といった対策が考えられそう。
とりあえず大容量モデルを買うか,容量が少なくてもMLCモデルを買うかすれば寿命は十分確保できるので,それほど神経質にならず使うのが良さそうだ。

しかし,最近の”TLCモデルでなおかつ容量の少ないもの”であったり,極端に粗悪な半導体やコントローラを積んでいると3年以内で壊れることも珍しくないので過信は禁物。このへんはHDDやSSDと同じ。
寿命は半永久でも,コントローラなどの不具合による事故死が非常に多い記憶装置と考えよう。

現在販売されているものはTLCタイプがかなり多くなっているということなので,あまりケチらず32GB程度の容量のものを使うのがいいだろう。また,極端に安いものも避けるべき。

私や私の付近でもSanDiskのSDカードとメモリースティックが1枚ずつ,BUFFALOのUSBメモリ1本が壊れた(BUFFALOのは静電気の可能性も大だが……)のを確認しているので,有名メーカーだから安心とは言い切れないのも現状。バックアップは常に心がけよう。



また,書き込みをしなければ寿命は理論上永久だが,長期間放置しておいてもデータが消えるという問題も抱えている。

このへんも踏まえ,一筋縄ではいかない寿命問題だが,結論としては
 無理な使い方や極端な使い方をせず普通に使うのが一番寿命にいい
 でも事故で死ぬこともある
ということ。基本的に人間と同じ。

0 件のコメント:

コメントを投稿

新NISAを最速で埋めないことにしました

  ・ギリギリになる 結論、自分の収入で最速を目指すと心の余裕がなくなるし、今を犠牲にしすぎることがわかった。 最近仕事の疲れもあって判断ミスからくる大きな出費が相次いだ。 特に、前をよく見ていなくて車をブロック塀にぶつけたのが大きかった。 ただでさえ落ち込むのに、予想外の大きな...