2018年9月23日日曜日

USBメモリの寿命:ついに壊れた64GBのUSBメモリ

USBメモリの寿命は短い、ということを知っていたので、使用開始から5年ほど経過した64GBのものをバックアップすることにした。最初はGUIで確認しながら、丁寧にフォルダー毎に手でコピーしていたのだが、だんだん面倒になったので、残り30GB分程度のファイルは一気にコピーすることにした。コピーは順調に進み、一時間近く経ったところで残り1%程度となった。

すると、突然動きが緩慢になり、処理が滞ったような感じになった。そして、とうとう最後に「不正な取り出しが行われました」といった内容のメッセージが出て、デバイスは強制的にunmountされてしまった。差し直してみたが、もう後の祭りであった。

寿命が短いことを知っていて、先手を打ったつもりが、 逆に仇となったとは...それから数日間はfsck, fsck.vfat, fsck_msdos, testdisk, diskdril, etcと無駄な努力を繰り返し、時間を浪費してしまった。

長時間のファイルコピーがUSBメモリを破壊するという事例は、googleでは見つけることができなかったので、どうしてこんなことになったのか解明すべく、原理に立ち戻って自分で考えて見ることにした。

USBメモリは、英語ではUSB flash drive, あるいは単にUSB driveとかUSB stickとかいう。フラッシュメモリを利用しUSBポートを使って接続する記憶装置である。

その動作機構は量子力学のトンネル効果を利用したもので、理論物理学者の観点からみると、ポテンシャル井戸(以下では「量子井戸」あるいは単に井戸と表記する)の格子があって、その井戸の中に電子を注入するか、しないかでバイナリーデータを作成する記憶システムと言える。

大まかな構造はlogitecのホームページの図を見るとよくわかる。NPN接合の半導体が基本構造となっていて、P型半導体の上に量子井戸を載せたような形になっている。量子井戸は、logitecの図では「フローティングゲート」と書かれている部分に相当する。量子井戸とP型半導体の間には「トンネル酸化絶縁膜」(図には「トンネン」とあるが、「トンネル」の誤り)があり、これが量子力学の教科書で言うところの、「ポテンシャル障壁」の役割を果たす。

量子力学の教科書風にモデル化した、フラッシュメモリのフローティングゲート周辺の構造。量子井戸=フローティングゲート、ポテンシャル障壁=トンネル酸化絶縁膜、そして電子のいる場所がP型半導体部分。



電子を注入するときは(つまり「書き込み」)、ポテンシャル障壁(酸化絶縁膜)に対するトンネリング(量子力学の特質のひとつで、電子などに対応する波動関数が指数関数型となって、障壁から染み出すような現象)を利用する。面白いことに、井戸の中に電子が注入された状態が0、電子が抜けた状態が1という定義を採用している。なんとなく、直感的には逆にした方がいいような気も最初はしたが、下で説明するように、読み出し機構を考えると、この定義の方が確かにしっくりくる。

読み出すときは、(Logitecの図を参照してもらいたい)井戸(つまりフローティングゲート)の下のP型半導体部分に(ソース→ドレインの向きに)電流を流してみて、この電流が流れやすいか、流れにくいかでバイナリー状態を判定する。井戸に電子が注入されているときは、電流が流れにくいので0、逆に井戸が空のときは電流が流れやすいので1ということらしい。

一旦、量子井戸 に閉じ込められた電子は、メモリへの電源が断ち切られたとしても、「しばらくは」井戸の中に残っているから、バイナリデータは保存できるというわけだ。つまり、USBメモリがPCから外されたとしても、データはちゃんと残っているということになる。(逆にDRAMは一定の周期でバイナリデータを電気的に書き込み続けないとデータが保持できない。したがって、電源を切るとDRAMの中のデータはすべて消えて無くなってしまう。)

ここで問題となるが「しばらくは」井戸の中に残っている、という部分である。「しばらく」というのが、つまりフラッシュメモリの寿命ということになる。しかしフラッシュメモリには二種類の「寿命」があって、より深刻なタイプと、そうでもないタイプがある。

まずは「そうでもない」方のタイプだが、これは、トンネリングで注入した電子が、再びトンネリングで漏れ出してしまうまで、と言う意味の寿命である。量子井戸の中に何個ほどの電子が注入され、その電子がどのくらいの割合で染み出していくかは知らないが、よく言われるのが、数年から10年程度、という数字である。Logitecのホームページには、「新品なら十年ほど」と書いてあるから、まあこの数字が上限とみていいだろう。

一方で、「深刻なタイプ」の方は、酸化絶縁膜の劣化による寿命である。書き込み、消去、書き込み、消去、という操作を繰り返すうちに、酸化絶縁膜が劣化するのである。バイナリデータの書き込みや消去のときは、ポテンシャル障壁を短時間で抜けられるように電子には高電圧がかけれらるが、これはいわば高速に加速した電子を障壁にぶつけるようなものであるから、劣化するのは当然だろう。劣化というのは、ポテンシャル障壁が低くなるようなものであるから、最後は井戸への閉じ込めができなくなり、ダダ漏れ状態になってしまうということである。こうなると、もう物理的にバイナリデータを保持することができなくなり、どんな再フォーマットしても、もう二度と使用できない、つまりゴミである(この記事で実例が報告されている)。

ただ、USBメモリにはコントローラーという装置があって、ポテンシャル障壁が壊れてしまった部分を使わないように制御しているらしい。潰れた井戸が多少あっても、なんとか使用に耐えるという感じだろう。潰れた井戸の数があまりにも増えてくると、コントローラがどうにも対処できなくなるはずで、そのときも寿命がやってくる。また、潰れた井戸が散在している状態において、コントローラーがなんらかの理由(物理的か電気的か)で破壊された場合も、 寿命となる。

ということで、USBメモリの寿命というのは、いろいろな要素が絡み合っているので、短いときもあれば、10年近く持つ場合もあるのである。しかし、10年を超える寿命は、どんなに頑張っても持てないということだろう。つまり、15年とか20年とかは持たない代物なのである。ましてや50年とか100年なぞは論外なのである。

フラッシュメモリーのトンネル効果のより詳しい内容は、富山大学の前沢氏の講義ノートがとても参考になる。また、実際のデバイスの構造や基本原理、故障の原因などの説明は、株式会社Y-E Dataの本庄豊氏の論文も参考になる。

コントローラーが壊れる場合は結構あるようである。また、落としたり、叩いたり、曲げたりしてコントローラーとメモリ部分の配線が断線する場合もある。その場合には、メモ部分にはデータが残っているので、同じ商品を買ってきて、新品のコントローラを付け替えることで、読み出しができるようになることもあるらしい。海外のHPの中には、ハンダを使って、この付け替えを行う事例がいくつか報告されている。が、果たしてどのくらいの成功率があるかはまだ調査中である。

ということで、将来のチャレンジに備えて、売れ切れになる前に、同じUSBメモリを今のうちにもう一本、念のために注文しておくことにした。果たして、コントローラーの交換はうまくできるのか、そしてデータの復旧はできるのだろうか?(いまのところは、絶望モードである....)


0 件のコメント: