業界標準のメーカー保証値は一般用で1年以上です。つまり2年前、3年前のファイルはウェアレベリングがうまくかからないと、自然とデータが消えるという不安がついてまわります。前門の虎、後門の狼です。ウェアレベリングの作動でファイルが壊れるならば、未作動でもファイルは壊れる可能性があるわけです。弊社がSSDの運用を断念し、HDDに戻すことを真剣に検討したことがわかっていただけたと思います。SSDは低価格化するために技術の進歩とともに耐久性のあるSLC型から、耐久性の低いMLC型、TLC型、QLC型に変わってきています。SSDに関しては技術革新とともに、データの文字化けの心配が高まっています。
弊社は過去一貫してSSDのプチフリ対策、寿命対策、バックアップ対策ソフトを開発販売してきたので、放置もできないなと考えると、「SSDブースター Ver.2」を作って解決せざるを得ない状況でした。
開発中に苦労した点
弊社としてはめずらしくWindows上で作動する純粋なアプリなので、楽勝だと思っていたのですが、意外と苦労しました。今回開発したのはディスク上のファイルをひたすら読み取り、ファイルのチェックサムを一つずつ検証するというものだったからです。そうなんですが、実際には下手なドライバ(OSに組み込む特殊なプログラム)より厄介でした。
- Windows標準のファイル情報を得る機能にバグがあり、特定のタイミングでファイル情報が取れない
- Windowsのファイル操作の設定により、非常にOSが不安定になる組み合わせが存在する
- いまだにミステリーなのですが、Windowsの特定のファイルは、ファイルの更新情報を凍結したままで内部を書き換えているように見える
こういうちょっと信じられない問題に遭遇しました。これらの問題をいかに回避するかに苦労しました。ユーザにお勧めする使い方
「SSDブースター」のファイルチェックは「自動」で実行してください。もしもSSD上のファイルが知らない間に壊れたとしても、その日のうちにそれがわかります。この機能により、知らない間にファイルが壊れるという問題を完全に解決します。もし、ファイルが壊れることが起きたら、SSDを交換する時期が来たと思ってください。そして何よりこの機能によって、ファイルの文字化け、つまりファイルの破損を防止します。
SSDには「ECCリフレッシュ」という機能があります。ECC(Error Correcting Code)は、SSDのデータ化けを自動訂正する機能です。ファイルチェックを掛けることにより、壊れる危険性の高いファイルがリフレッシュされて、フルチャージ状態になります。
SSDを構成するNANDフラッシュは、保持している内容が時間とともに少しずつ消えてゆきます。ECCは、消えたデータが少なければ自動的に訂正を加える機能です。ECCによるデータの自動訂正が掛かったとき、SSDはそのNANDフラッシュのデータが消えかかっていることがわかります。このとき、そのまま放置すると本当に消えてしまいますが、新しく書き直せば電気が満タンの状態になります。この機能が「ECCリフレッシュ」です。
「SSDブースター」のファイルチェックを行うと、消えかけているデータは「ECCリフレッシュ」 がかかり、データは常にメンテナンスがされます。毎日ファイルチェックを行うことで、SSD上のファイルの文字化けを防止できます。仮に壊れたとしても、どのファイルが壊れたかわかります。SSDを安心して使う上で「SSDブースター」のファイルチェックは必需品です。
今後のバージョンアップ予定
今回はディスク上のファイルを一つずつ読み取り、一つずつチェックサムを取り、ファイル損壊を検査する方式を採用しました。損壊したファイルを見つけたら、それをユーザに教えるようにしました。ただし、自動的に復元する機能は持っていません。今後、改良の余地があるとすればこのあたりかなと思っています。ただし、それができるためにはバックアップ機能を持つ必要があります。したがって、バックアップソフト「PBTM+TM」との連携が今後の課題になるのかなと思っています。
((有)電机本舗)