- 2010年3月25日 21:59
- PC破壊日記
Tweet |
なんか副題と主題が逆のような気がしますが、そこはご愛敬で。
長年(といっても4年ですが)使用してきたUSBフラッシュメモリがついに壊れたようです。
といっても、USBメモリ内のExcelデータが化けたのか、ある特定のシートに対するいかなるマクロ(VBA)操作を受け付けなくなったからです。
一応手動で世代バックアップを取っていたので、過去の同じファイルを見たら、壊れたのは2月に入ってから。
一応、シートをコピーして元のシートを削除し、コピーしたシートを元のシート名にリネームしたらマクロが動作するようになりました。
しかし、これはUSBメモリが危険な状態になっていると思っても良いのではないか。
となると、新しいUSBメモリの準備が必要です。
このUSBメモリは購入情報を管理しているメモリで、個人的には非常に重要なメモリです。
過去、このファイルをMMC(SDの類似品で薄い)に保存していましたが、これが壊れたため安価なUSBメモリに移行。
しかし、これが非常に動作速度が遅く、1MBのファイルを保存するのに12秒かかる始末。(ちゃんとUSB2対応メモリなのに、書き込み速度が極端に遅い)
そこで、当時書き込み速度が速く、かつ信頼性が高いということで、アイ・オー・データ機器のEasyDisk Platinum Slimを使っていました。
これは、TrueFFS機能を実装しており、USBメモリへの書き込みを全エリアに分散させ、平均的にUSBメモリの記憶領域を使うという、今の高級なSSDで使われる(San DiskのExtremeFFSなど)機能でもあります。
しかし、これの代替となるUSBメモリがどこを探しても見つかりません。
このメモリを製造したアイ・オー・データ機器に聞いても、こういった仕様の物はもう存在しないとのこと。
これは困りました。もう信頼性を売りにしたUSBメモリはないのでしょうか。
ここで、自分の知識を引っ張り出してみることに。
・現在、USBメモリ、SSDには、MLCタイプとSLCタイプがある。
・MLCタイプは1つのセルに複数ビットを記録し、記憶密度は高く安価。
・SLCタイプは1つのセルに1つのビットを記録し、高速で低消費電力、信頼性が比較的高い。
これにより、SLCタイプを探すことに。
すると、ここでBUFFALOのUSBメモリが候補に挙がりました。このなかで、今でも販売している
RUF2-RV4GS-SVにしました。
正直、4GBも要らないのですが、最小容量がこれなので仕方ありません。
Amazonに在庫があったので、そこで購入。
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
閑話休題(・・・長いな。一応こっちも本題ですけどね。)
それと同時に、USBメモリを長持ちさせる方法を考えることに。
ここで、TureFFSの機能(ウエアレベリング)を自分で再現するにはどうしたらいいか。
ここで考えたのは、
・書き込んだエリアは、上書きを指定しない限り再度書き込まれることはない。
・ならば、前のファイルを残しつつファイルをコピーし続けていけば、どんどん新しいエリアに書き込まれるのではないか。
・前のファイルに日付を付記して、そこからコピーを取り、付記した日付を外せば、いつも同じ場所のファイルを開くことが出来る=アプリケーションで履歴から開いてもエラーが出ない。
・これを手動でやるのは困難(忘れやすく、手間が大きい)、自動でやるべき。
そこで、色々調べた結果、最も手軽なバッチファイルで行う事にしました。
やってることは、
・今の日付を取得
・ベースファイル名・バックアップ先フォルダの指定より、バックアップ先のパスを生成。
・まずはHDDに日付を付記してバックアップを作成。
・USBメモリ内の元のフォルダに日付を付記
・日付を付記したフォルダを元のフォルダ名にコピー
・読み取り専用属性を付記
です。
USBメモリ内に保存して実行する事を考えてバッチファイルを作成しました。
「続きを読む」にスクリプトを書いておきますので、ご参考までに。
******************************************************************************
setlocal
REM ----------------------------
REM 環境に応じて変更する部分
REM please change this for your environment
REM ----------------------------
REM Hard disk
set bkupto=C:\backup_USBmemory
REM Hard disk(base folder name)
set bkupbase=USB
REM USB memory target folder (please remove first \)
set bkupfrom=target
REM これ以降は変更しないでください。
REM Please do not change belows.
REM ----------------------------
REM Set base names
REM 本ファイルを置いた場所を常にFROMにする。
REM FROM set to drive letter of storaging this file permanently.
REM 日付もここで取得する。
REM Get date on this timing.
REM ----------------------------
REM set workdrive=%CD:~0,1%:
set workdrive0=%~d0%
set workdrive=%workdrive0:~0,1%:
set DT=%date%
set DT1=%DT:~-10,4%%DT:~-5,2%%DT:~-2,2%
REM ----------------------------
REM Filename/folder set
REM ----------------------------
set BKFROM=%workdrive%\%bkupfrom%
set BKTO1=%workdrive%\%bkupfrom%_%DT1%
set BKTO2=%bkupto%\%bkupbase%_%DT1%
REM ----------------------------
REM デバッグ用
REM for debug
REM ----------------------------
REM set
REM pause
REM ----------------------------
REM Backup start to HardDisk
REM ----------------------------
XCOPY %BKFROM% %BKTO2% /s /e /v /f /h /r /k /i
REM ----------------------------
REM Rename and backup on USB Memory
REM ----------------------------
move %BKFROM% %BKTO1%
if ERRORLEVEL 1 goto endbat
XCOPY %BKTO1% %BKFROM% /s /e /v /f /h /r /k /i
attrib +r %BKTO1% /s /d
attrib +r %BKTO1%\* /s /d
pause backup completed!
endlocal
exit
:endbat
pause backup failed(already exist today's backup)
endlocal
exit
******************************************************************************
- Newer: 携帯を紛失したときの各社の対応の違いを調べてみた
- Older: 分かる人だけ分かる情報の結末
Comments:0
Trackbacks:0
- TrackBack URL for this entry
- https://pc-diary.com/movt_direc_post/mt-tb.cgi/1560
- Listed below are links to weblogs that reference
- USBフラッシュメモリを長持ちさせる方法を考える(副題:USBメモリが壊れたようです) from PC破壊日記的ブログ