2000-7-7 『フラッシュディスクバージョンアップドライバー(DOS)』 山下システムズ株式会社 TEL 03-5700-2121 FAX 03-5700-0076                             mail tech@misnet.co.jp homepage www.misnet.co.jp 1. はじめに MIS AS-3120/3210/3211にはフラッシュディスク機能が標準塔載されており、2M/4Mバイトフラッシュメモリーを使用して2M/4M/8Mバイトの半導体ディスクを実現しています。拡張BIOSを使用しDOSのディスクをエミュレーションする形でDOSディスクとして動作します。 バージョンアップドライバーは第2世代のBIOSの書込み中の中断に対する耐久性をアップしたアルゴリズムを組み込んだDOSのドライバーであり、v1.xx,v2.00のフラッシュディスク上にドライバーとして組み込むことでカード塔載のBIOSの置き換えを行います。 2. フラッシュディスクBIOSのバージョン フラッシュディスクのBIOSのバージョンとしては現在まで基本的に3つ存在します。その概要を列記します。 -----------第1世代-------------------------------------------- v1.xx HDエミュレーション v2.xx HDエミュレーション、FDエミュレーション、ROM-DISK -----------第2世代-------------------------------------------- v3.xx HDエミュレーション、FDエミュレーション -------------------------------------------------------------- 第2世代では第1世代のBIOSからフラッシュメモリー中のデータ管理の方法を大きく変え、次のことを実現しています。 ・ 起動時間の短縮 フラッシュディスクアクセス用の情報を初期化するための起動時間を大幅に短縮 ・ 書込み禁止および解除 フラッシュディスクへの書込みを禁止したり禁止を解除することがオプション設定プログラム(FSET)により可能になる。 ・ 書込み中の電源断/リセット フラッシュディスク書込み中に電源断やリセットにより中止が発生した場合、最後の書込みブロック(512バイト)の障害にとどまるよう書込み方式を改善する。 第1世代で使用していたアルゴリズムでは新しい512バイトのデータを書込む際、およそ次の方法を取っていました。 1) メモリーセクター中に保存しておくべきデータをバッファーに読み出す。 2) 書込み位置を含むメモリーセクター(2M/4096byte,4M/8M/8192byte)を消去する。 3) 1)で取り出したデータをメモリーセクター中に書き戻す。 4) 新しい512バイトのデータを書込む。 ここで 3)が終了する前に書込みの中断が起きた場合、書込みブロックだけでなく、メモリーセクター中の保存しておくべきデータを消失する可能性が有ります。最悪、ブートレコードが書き戻せない場合はブートができなくなる現象も起こり得ます。 第2世代ではメモリーセクターを書き換える際かならず他のメモリーセクター中にデータのバックアップがとられどの段階で書込み中断しても過去の書込みデータが消失する危険をなくすアルゴリズムを採用しています。 3. バージョンアップドライバー/ツール 第2世代のBIOSで実現した機能のうち書込み中の電源断/リセット時にたいする耐久性をましたアルゴリズムを導入したBIOS置き換えドライバーとデータフォーマットの変更ツールを用意しました。 バージョンアップドライバー fsdisk3.exe 対象 AS-3120/3210/3211 2M/4M/8Mフラッシュ 形式 DOSドライバー / TSRプログラム 導入方法 1) config.sysにドライバーとして記述 device=fsdisk3.exe 2) autoexec.batにてTSRプログラムとして起動 fsdisk3.exe 使用メモリー 約21kバイト UMBエリア使用可能 himem.sys/emm386.exeを使用してドライバーコードをUMBエリアに導入可能です dos=high,umb device=himem.sys device=emm386.exe ram devicehigh=fsdisk3.exe lh fsdisk3.exe FDエミュレーションモード/HDエミュレーションモードで動作ROMDISKモードでは動作不可 データフォーマットがバージョンアップされているとき動作可能 バージョンアップツール fverup3.exe 対象 AS-3120/3210/3211 2M/4M/8Mフラッシュ 形式 DOSプログラム 概要 フラッシュメモリー中のデータをバージョンアップドライバー (fsdisk3.exe)が扱えるように変更 オプション f 強制変更 変更のyes/noを問わずに無条件に変更 r リブート 変更終了時に強制的にリブート config.sysの中でも起動できます。この場合はfオプション(強制変更)を付けた状態で動作します。 3. バージョンアップドライバー/ツールの導入例 実際のシステムの導入について例で説明します。 1) ドライバー/ツールの導入 フラッシュディスク(c:)にドライバー(fsdisk3.exe)、ツール(fverup3.exe)をコピー copy fsdisk3.exe c: copy fverup3.exe c: 2) config.sys に設定 device=fsdisk3.exeを追加 (注) fsdisk3.exeの前になるべくドライバーが組み込まれないようにします。 3) フラッシュディスクから起動 config.sysに導入した状態でシステムを再起動 メッセージ Flash Disk Extension Driver v3.12 copyright (c) 2000 Yamashita Systems Fash Disk Data Format is not Version 3 Require Flash Disk Data Version Up !!! ディスクの内容をバージョンアップする必要があります。 4) バージョンアッププログラムの起動 fverup3をコマンドプロンプトから起動 c:\>fverup3.exe Flash Disk Version Up Program v3.12 copyright (c) 2000 Yamashita Systems Card [AS-3211/4M] Flash Disk BIOS [2.12] <- カードとBIOSのバージョンを表示 Flash Disk Data Version Up OK ? (Y/N) <- OKであればyを入力 Flash Disk Version Up Start ... <- 終了するまでしばらくお待ちください。 End <- 終了 5) フラッシュディスクから再起動 フラッシュディスクのデータが正しく変更されドライバーが正しく導入されていれば次のようなメッセージを表示します。 メッセージ Flash Disk Extension Driver v3.12 copyright (c) 2000 Yamashita Systems Card [AS-3211/4M] Flash Disk BIOS [2.12] <- カードとBIOSのバージョンを表示 Flash Disk Extension BIOS [4M] v3.10 copyright (c) 2000 Yamashita Systems Flash Disk Installed Drive C: <- HDモードの場合 上記のメッセージを表示すれば、データフォーマットが新バージョンでの動作を開始しています。 この表示でなくバージョンアップを要求するメッセージが表示された場合、手順が正しく行われていません。もう一度、やり直してください。 3. その他 ○ DOSメモリー使用 ドライバーは約21kbyte消費します。DOSメモリーの使用量が不足する場合は、emm386を組み込みUMB領域を用意して、ドライバーを組み込みます。 dos=high,umb device=himem.sys device=emm386.exe devicehigh=fsdisk3.exe ○ 読み込みonlyのシステム 書込みが完全に行われないシステムでは本ドライバーを組み込む意味がありません。 パラメータ等の書込みなどフラッシュへの書込みの可能性があるシステムに導入してください。 ○ Ver3.xx BIOSに対する対応 Ver3.xx のBIOS ROMのシステムで組み込んだ場合は単純になにもせず終了します。 fsdisk3.exe Flash Disk BIOS is already higher than version 3 !!! fverup3.exe Flash Disk BIOS is already higher than version 3 !!! ○ FDからのブート fsdisk3.exeを組み込んでいないFDからDOSを起動してメンテナンスする場合、一度でもフラッシュディスクに書込むとデータフォーマットのバージョンアップが必要になります。 FDのシステムにもドライバー(fsdisk3.exe)を組み込むかメンテナンス後バージョンアップツール(fverup3.exe)を必ず起動するように変更する必要があります。 ○ 自動バージョンアップ 自動でバージョンアップさせるようにシステムを構築できます。具体的には次のように組み込みます。 device=fsdisk3.exe ... @echo off fverup3.exe f r ... バージョンアップツール(fverup3.exe)はデータがバージョンアップされているかチェックし、すでにバージョンアップしている場合は次のメッセージを出力して終了するだけです。 バージョンアップが必要な場合は強制的にデータをバージョンアップをして終了後リブートがかかります。再起動後がドライバーが動作しツールは何もせず終了してユーザシステムが起動ということが可能となります。 config.sys内でバージョンアッププログラムを起動することも可能です。この場合は次のように組み込みます。デバイスとして常駐するのはfsdisk3.exeのみとなります。 device=fverup3.exe device=fsdisk3.exe ○ データバックアップ フラッシュディスクデータをバージョンアップする際、途中でやめると修復不能になります、バックアップの必要があるデータはあらかじめFD等に吸い上げておいてください。 4. 履歴 第3版 バージョンアップツール(fverup3.exe) v3.12 バージョンアップドライバー(fsdisk3.exe) v3.12 ・2M Flashに対する書込みベリファイチェック処理の改善 第2版 バージョンアップツール(fverup3.exe) v3.11 バージョンアップドライバー(fsdisk3.exe) v3.11 ・バージョンアップすべきかチェックするアルゴリズムが不十分だった点を修正 第1版 バージョンアップツール(fverup3.exe) v3.10 バージョンアップドライバー(fsdisk3.exe) v3.10 ・フラッシュディスクBIOS [v1.03] に対応していなかった点を修正 ・フラッシュクリアーツール(FCLEAR) [v1.02] で初期化したディスクを正常にバージョンアップできない点を修正 ・フラッシュディスクBIOS [v3.50] を正しく認識できない点を修正 初版 バージョンアップツール(fverup3.exe) v3.00 バージョンアップドライバー(fsdisk3.exe) v3.00