JP2006318198A - フラッシュロムへのダウンロード方法 - Google Patents
フラッシュロムへのダウンロード方法 Download PDFInfo
- Publication number
- JP2006318198A JP2006318198A JP2005139949A JP2005139949A JP2006318198A JP 2006318198 A JP2006318198 A JP 2006318198A JP 2005139949 A JP2005139949 A JP 2005139949A JP 2005139949 A JP2005139949 A JP 2005139949A JP 2006318198 A JP2006318198 A JP 2006318198A
- Authority
- JP
- Japan
- Prior art keywords
- download
- file
- information
- flash rom
- area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 フラッシュロム上にダウンロードファイルを格納・管理するシステムで、ダウンロードの待ち時間が一定になるようにしたダウンロード方法を提供する。
【解決手段】 ローカルPC20からFTPでダウンロードプログラムファイルを受信して、主メモリ3上に形成したワークエリア13に全てのデータを書き込み、フラッシュロム14の管理領域の管理情報を参照して、以前のダウンロードプログラムファイルのデータが書き込まれている場合には、当該データを削除して管理情報の使用駒切れ情報、使用合計、空き駒切れ情報、空き合計を更新し、更に最新の管理情報を参照して、空きがあればダウンロードファイル名を登録し、空き駒切れ情報から空きセクターにデータの書き込みを行い、管理情報の使用駒切れ情報、使用合計、空き駒切れ情報、空き合計を更新し、ワークエリア13を開放するものである。
【選択図】 図5
【解決手段】 ローカルPC20からFTPでダウンロードプログラムファイルを受信して、主メモリ3上に形成したワークエリア13に全てのデータを書き込み、フラッシュロム14の管理領域の管理情報を参照して、以前のダウンロードプログラムファイルのデータが書き込まれている場合には、当該データを削除して管理情報の使用駒切れ情報、使用合計、空き駒切れ情報、空き合計を更新し、更に最新の管理情報を参照して、空きがあればダウンロードファイル名を登録し、空き駒切れ情報から空きセクターにデータの書き込みを行い、管理情報の使用駒切れ情報、使用合計、空き駒切れ情報、空き合計を更新し、ワークエリア13を開放するものである。
【選択図】 図5
Description
本発明は、フラッシュロム上にプログラムファイルをダウンロードする方法に係り、特に、ダウンロード時間を一定にするダウンロード方法に関する。
ジャーナルフラッシュファイルシステム(JFFS:Journal Flash File System)はUNIX(登録商標)系オペーティングシステム(OS)でフラッシュロムデバイス上に搭載されるファイル管理システムとして一般に知られている。
このJFFSによりUNIX(登録商標)系OSを搭載したシステムを利用するユーザはフラッシュロム上にファイルを作成すること、フラッシュロム上のファイルを参照・更新すること、フラッシュロム上のファイルを削除することは通常のディスクデバイス上のファイルと同様に扱うことができる。
近年組み込み型マイコンシステムにおいてもUNIX(登録商標)系OSが搭載され、ファイルの管理・プログラムの実行管理はOSを利用して行われるケースが増えている。
組み込み型マイコンシステムにおいては、一般にプログラムファイルはダウンロードプログラムによりローカルPC(Personal Computer)からシステムに転送され、フラッシュロム上に格納される。
OSを搭載した組み込み型マイコンシステムにおいても同様で、プログラム実行ファイルはFTP(File Transfer Protocol)というOSの機能を利用したファイル転送プログラムによりローカルPC上のプログラムファイルをシステム内のフラッシュロムに格納している。
フラッシュロムにプログラムファイルを格納する時、このJFFSを利用している。従来のフラッシュロムへのプログラムファイルの格納について図10を参照しながら説明する。図10は、従来のフラッシュロムへのプログラムファイルの格納方法の概略図である。
従来のプログラムファイルの格納方法を実現する構成は、ソケットポインタ11と、256byteバッファ12と、フラッシュ(Flash)ROM14を備える本体と、本体と外部とのインタフェースとなるHCI(Human Computer Interface)10と、ローカルPC20とを有するシステムである。
従来のプログラムファイルの格納方法を実現する構成は、ソケットポインタ11と、256byteバッファ12と、フラッシュ(Flash)ROM14を備える本体と、本体と外部とのインタフェースとなるHCI(Human Computer Interface)10と、ローカルPC20とを有するシステムである。
上記従来のシステムでは、ローカルPC20のプログラムファイルから256byteのデータがFTPで転送され、ソケットポインタ11が受信(ソケットread)して256byteバッファ12に格納する。
そして、JFFSは、256byteバッファ12から読み込んでフラッシュROM14に書き込む(フラッシュwrite)する。
従来のシステムでは、プログラムファイル終了まで、256byte単位のソケットreadとフラッシュwriteを繰り返すようになっている。
そして、JFFSは、256byteバッファ12から読み込んでフラッシュROM14に書き込む(フラッシュwrite)する。
従来のシステムでは、プログラムファイル終了まで、256byte単位のソケットreadとフラッシュwriteを繰り返すようになっている。
フラッシュロムデバイスは磁気ディスクデバイスと異なり1度書かれたデータの内容を変更するのに必ずイレーズ処理が必要となる。このためJFFSはフラッシュロムのイレーズ処理とガーベージコレクション処理(不要になったオブジェクトを集め再利用可能な状態に管理する機能)を内部に持っている。
そして、フラッシュロムの使用領域がなくなると使用不能領域のイレーズ処理を行い、ガーベージコレクションにより使用可能領域を作り出している。この処理に時間がかかるため磁気ディスクを持たない組み込み型マイコンシステムにおいてはフラッシュロムにはプログラムファイルと更新が入らない各種設定ファイルが置かれ、プログラムが実行中に使用する一時ファイルはラムディスク(RAM上に作られたディスク)に置かれる。
イレーズ処理だけでもセクター当たり約1秒の時間がかかる。従って、ダウンロード中に使用領域がなくなると、このイレーズ処理とガーベージコレクション処理により、数秒から数十秒待たされ、この間ダウンロード処理が止まることになる。
次に、従来のフラッシュロムの領域におけるイレーズ処理とガーベージコレクション処理の発生例について図11、図12及び図13を参照しながら説明する。図11は、従来のフラッシュロムの領域の概略図であり、図12は、無線通信プログラム実行ファイルの内容を示す図であり、図13は、フラッシュのイレーズ処理とガーベージコレクション処理の発生例を示す概略図である。
図11に示す、従来のフラッシュロムの領域は、8Mbyteのフラッシュロム2個使用しており、全てJFFSの管理下に置かれていることを示している。
図12では、無線通信プログラムの実行ファイルの内容と実行ファイル容量を示しており、容量の合計は5990Kbyteである。
図12では、無線通信プログラムの実行ファイルの内容と実行ファイル容量を示しており、容量の合計は5990Kbyteである。
図13では、イレーズ処理とガーベージコレクション処理が発生するタイミングを示すものである。ファイルの削除ではイレーズ処理は行われず、使用不能領域としているだけである。そして使用領域がなくなったとき初めてイレーズ処理・ガーベージコレクション処理が実行され、使用領域を確保している。
具体的には、フラッシュロムの領域で無線通信プログラム実行ファイル(以下、「実行ファイル」とする)を全て(5990Kbyte)を格納すると、余りは2010Kbyteとなる。そして、LAN(Local Area Network) IF(Interface)サーバのプログラム変更が発生し、ダウンロードを実施すると、旧LAN IFサーバの実行ファイルが削除され、新しいLAN IFサーバの実行ファイルが作成される。
ここで、図13に示すように、新LAN IFサーバの実行ファイルが1152Kbyteであるとすると、旧LAN IFサーバの実行ファイルの格納領域における1152Kbyteを使用不能領域とし、余り部分(2010Kbyte)の内、1152Kbyteを新LAN IFサーバの実行ファイルの格納領域に割り当てる。すると、余りは、858Kbyteとなる。
再度、LAN IFサーバのプログラム変更が発生し、ダウンロードを実施する場合、前回作成された新LAN IFサーバの実行ファイルが削除され、当該実行ファイルの格納領域が使用不能領域となる。
そして、余り領域858Kbyteに、新々LAN IFサーバの実行ファイルを作成しようとするが、当該実行ファイルが1152Kbyteもあって余り領域に作成するには容量が不足するため、ここで、使用不能領域のイレーズ処理を行い使用可能にし、ガーベージコレクション処理を行うものである。
図14には、図11の環境で図13に示したダウンロードを行った場合、LAN IFサーバ実行ファイルの更新にかかった時間を示している。図14は、イレーズ処理とガーベージコレクション処理に要する時間を示す説明図である。
図14のダウンロード回数1回目は、図13の中段の状況に相当し、以降LAN IFサーバ実行ファイルのダウンロードが繰り返されている。
図14のダウンロード回数1回目は、図13の中段の状況に相当し、以降LAN IFサーバ実行ファイルのダウンロードが繰り返されている。
図14からフラッシュロム上に十分な使用領域がある場合は、ダウンロードは5秒で終わり、ない場合はイレーズ処理とガーベージコレクション処理が発生し、この処理パターンには8秒で終わるパターン1と、12秒で終わるパターン2と、140秒で終わるパターン3の3種類ある。イレーズ処理を含めたガーベージコレクション処理はいつも同じ処理を行っているのでなく、状況に応じて処理内容が変わっている。
つまり、フラッシュロムを用いているため、使用領域がなくなればイレーズ処理を行わなければならないが、セクター(128Kbyte)当たりイレーズ処理が約1秒とすると、使用不能となった1152KbyteのLAN IFサーバ実行ファイルをイレーズするのに計算上では約10秒かかる。
図14の8秒と12秒のイレーズ処理・ガーベージコレクション処理は、上記10秒に近い値であるが、5回目の140秒と10回目の142秒は異常な値である。ガーベージコレクション処理に多大な時間を要していると考えられるが、一般にシステムの特性を考慮しないガーベージコレクションを組み込むとシステムの速度低下を招くことが多いとされている。
尚、ソフトウェアのダウンロードに関する先行技術としては、特開2004−118291号公報「ソフトウェア管理システム及び障害管理装置」がある。
この先行技術は、メーカサーバにおいて製品情報に対応するソフトウェアの情報及びソフトウェア自体を予め保持し、ソフトウェア提供手段が、任意のユーザパソコンからの接続に対応し、ユーザパソコンから送信される個人情報、電子メールアドレス及び製品情報を管理し、製品情報に対応するソフトウェアの情報から対応するソフトウェア自体をユーザパソコンにダウンロードし、バージョンアップ通知手段が、バージョンアップされたソフトウェアをダウンロードしたユーザパソコンに関するユーザパソコンの電子メールアドレス宛にバージョンアップを知らせるメールを送信するものとなっている(特許文献1)。
この先行技術は、メーカサーバにおいて製品情報に対応するソフトウェアの情報及びソフトウェア自体を予め保持し、ソフトウェア提供手段が、任意のユーザパソコンからの接続に対応し、ユーザパソコンから送信される個人情報、電子メールアドレス及び製品情報を管理し、製品情報に対応するソフトウェアの情報から対応するソフトウェア自体をユーザパソコンにダウンロードし、バージョンアップ通知手段が、バージョンアップされたソフトウェアをダウンロードしたユーザパソコンに関するユーザパソコンの電子メールアドレス宛にバージョンアップを知らせるメールを送信するものとなっている(特許文献1)。
JFFSにどのようなガーベージコレクションが組み込まれているか詳細はわからないが、もしこれを変更するとなればファイル管理システムというシステムの一部を変更することになり、OS全体の構造を把握していないと不可能であり、更に使用するフラッシュロムデバイスの種類によっても最適なガーベージコレクションが変わってくることを考えれば、技術的な面及び変更工数に多大な負担がかかり事実上不可能といえる。しかし、ダウン口−ドがあるタイミングで140秒待たされることはシステム的に大きな問題である。
本発明は上記実情に鑑みて為されたもので、UNIX(登録商標)系OS及びJFFSを使ってフラッシュロム上にダウンロードファイルを格納・管理するシステムにおいて、フラッシュロム上の使用領域がなくなるとイレーズ処理・ガーベージコレクション処理が発生する場合に、あるタイミングでダウンロード処理が長い間待たされてしまうという問題を解決し、ダウンロードの待ち時間の変動をなくして常に待ち時間が一定になるようにしたダウンロード方法を提供することを目的とする。
上記従来例の問題点を解決するための本発明は、ネットワークに接続する情報処理システムにおいて、ローカル装置からダウンロードプログラムファイルを受信してフラッシュロムに書き込むダウンロード方法であって、主メモリ上に形成したワークエリアに全てのデータを書き込み、フラッシュロムの管理領域の管理情報を参照して、以前のダウンロードプログラムファイルのデータが書き込まれている場合には、当該データを削除して管理情報の使用駒切れ情報、使用合計、空き駒切れ情報、空き合計を更新し、更に管理情報を参照して、空きがあればダウンロードファイル名を登録し、空き駒切れ情報に基づいて空きセクターにデータの書き込みを行い、管理情報の使用駒切れ情報、使用合計、空き駒切れ情報、空き合計を更新し、ワークエリアを開放することを特徴とする。
本発明によれば、ネットワークに接続する情報処理システムにおいて、ローカル装置からダウンロードプログラムファイルを受信してフラッシュロムに書き込むダウンロード方法であって、主メモリ上に形成したワークエリアに全てのデータを書き込み、フラッシュロムの管理領域の管理情報を参照して、以前のダウンロードプログラムファイルのデータが書き込まれている場合には、当該データを削除して管理情報の使用駒切れ情報、使用合計、空き駒切れ情報、空き合計を更新し、更に管理情報を参照して、空きがあればダウンロードファイル名を登録し、空き駒切れ情報に基づいて空きセクターにデータの書き込みを行い、管理情報の使用駒切れ情報、使用合計、空き駒切れ情報、空き合計を更新し、ワークエリアを開放するものであり、フラッシュロムへのダウンロードの待ち時間を一定にしてダウンロードに長く待たされることを回避できる効果がある。
本発明の実施の形態について図面を参照しながら説明する。
本発明の実施の形態に係るフラッシュロムへのダウンロード方法は、ローカルPCからFTPでダウンロードプログラムファイルを受信して、主メモリ上に形成したワークエリアに全てのデータを書き込み、フラッシュロムの管理領域の管理情報を参照して、以前のダウンロードプログラムファイルのデータが書き込まれている場合には、当該データを削除して管理情報の使用駒切れ情報、使用合計、空き駒切れ情報、空き合計を更新し、更に最新の管理情報を参照して、空きがあればダウンロードファイル名を登録し、空き駒切れ情報から空きセクターにデータの書き込みを行い、管理情報の使用駒切れ情報、使用合計、空き駒切れ情報、空き合計を更新し、ワークエリアを開放するものであり、これにより、フラッシュロムへのダウンロードの待ち時間を一定にしてダウンロードに長く待たされることを回避できるものである。
本発明の実施の形態に係るフラッシュロムへのダウンロード方法は、ローカルPCからFTPでダウンロードプログラムファイルを受信して、主メモリ上に形成したワークエリアに全てのデータを書き込み、フラッシュロムの管理領域の管理情報を参照して、以前のダウンロードプログラムファイルのデータが書き込まれている場合には、当該データを削除して管理情報の使用駒切れ情報、使用合計、空き駒切れ情報、空き合計を更新し、更に最新の管理情報を参照して、空きがあればダウンロードファイル名を登録し、空き駒切れ情報から空きセクターにデータの書き込みを行い、管理情報の使用駒切れ情報、使用合計、空き駒切れ情報、空き合計を更新し、ワークエリアを開放するものであり、これにより、フラッシュロムへのダウンロードの待ち時間を一定にしてダウンロードに長く待たされることを回避できるものである。
本発明の実施の形態に係るUNIX(登録商標)系OS及びJFFSを使ってフラッシュロム上にダウンロードファイルを格納・管理するシステムにおいて、主装置のコンピュータの内部構成について図1を参照しながら説明する。図1は、主装置のコンピュータの内部構成ブロック図である。
主装置のコンピュータは、プログラムファイルのダウンロード処理を実行する主制御部(MPU:Micro Processing Unit)1と、LANに接続するLANインタフェース2と、後述するバッファとワークエリアが設けられるメインメモリ(SDRAM:Synchronous DRAM)3と、ダウンロードされたプログラムファイルが格納されるフラッシュロム(FLASH)4と、それらを接続するバス5とを基本的に有している。
尚、LANインタフェース2は、ネットワークを介して外部のローカルPCに接続している。
また、フラッシュロム4は、図1に示すように、複数個によって構成されている。
主装置のコンピュータは、プログラムファイルのダウンロード処理を実行する主制御部(MPU:Micro Processing Unit)1と、LANに接続するLANインタフェース2と、後述するバッファとワークエリアが設けられるメインメモリ(SDRAM:Synchronous DRAM)3と、ダウンロードされたプログラムファイルが格納されるフラッシュロム(FLASH)4と、それらを接続するバス5とを基本的に有している。
尚、LANインタフェース2は、ネットワークを介して外部のローカルPCに接続している。
また、フラッシュロム4は、図1に示すように、複数個によって構成されている。
本発明の実施の形態に係るダウンロード方法において、ダウンロードファイルはプログラムを実行するとき一度リードされ、それ以降はアクセスされないものである。更新は、プログラムの変更が入る時のみダウンロードで更新される。このことを考慮すればダウンロードファイルはJFFSを使ってファイル管理システムのもとで管理する必要性はないものである。
本発明の実施の形態におけるフラッシュロムの領域について図2を参照しながら説明する。図2は、本発明の実施の形態に係るフラッシュロムの領域を示す概略図である。尚、図2では、8Mbyteのフラッシュロムデバイス2個を用いた例を示している。
図2に示すように、本発明の実施の形態におけるフラッシュロムの領域は、8Mbyteずつアプリケーションから直接制御する領域と、JFFS管理領域とに分けている。
図2に示すように、本発明の実施の形態におけるフラッシュロムの領域は、8Mbyteずつアプリケーションから直接制御する領域と、JFFS管理領域とに分けている。
アプリケーションから直接制御する領域には更新が入るプログラムの実行ファイルを置き、JFFS管理領域にはサービスプログラムやOSがアクセスする各種設定ファイルを置くようにする。
このアプリケーションから直接制御する領域を16kbyteが8個、128kbyteが63個に分割(セクター単位で分割)し、最初の128kbyteに管理情報を置き、16kbyteの駒切れ8個と128kbyteの駒切れ62個の管理を行う。以降、管理情報が格納された最初の128kbyteの領域を単に「管理領域」と呼ぶ。
このアプリケーションから直接制御する領域を16kbyteが8個、128kbyteが63個に分割(セクター単位で分割)し、最初の128kbyteに管理情報を置き、16kbyteの駒切れ8個と128kbyteの駒切れ62個の管理を行う。以降、管理情報が格納された最初の128kbyteの領域を単に「管理領域」と呼ぶ。
次に、アプリケーションから直接制御する領域における最初の128kbyteの管理領域とデータが格納されるデータ領域の関係について、図3を参照しながら説明する。図3は、管理領域とデータ領域を示す概略図である。
管理情報は、どのファイルがどの駒切れを何byte使用中であるか、複数の駒切れを使用中であればどの順番で使用しているのか、現在未使用の駒切れは何かを明確にするものである。
管理情報は、どのファイルがどの駒切れを何byte使用中であるか、複数の駒切れを使用中であればどの順番で使用しているのか、現在未使用の駒切れは何かを明確にするものである。
図3では、管理情報における使用情報として、格納されるファイル名に対してその容量と、使用駒切れの情報(128kbyteの駒切れ(1)〜(9)の順で使用中であることを示す情報)が設定され、未使用情報として、空き駒切れの情報(128kbyteの駒切れ(10)〜(62)と16kbyteの駒切れ[1]〜[8])が設定されている。
また、データ領域では、管理情報に従って使用中の駒切れの領域と未使用の駒切れ領域とを含んでいる。
また、データ領域では、管理情報に従って使用中の駒切れの領域と未使用の駒切れ領域とを含んでいる。
従来のダウンロード方法におけるフラッシュロムへの書き込み(フラッシュライト)は、OSとJFFSの機能を利用しているが、本発明の実施の形態では、これに代わるプログラム(以下、「フラッシュファイル制御関数」と呼ぶ)を作成し、当該フラッシュファイル制御関数に基づいて制御部のMPUが制御を行うものである。
フラッシュファイル制御関数の種類と内容について図4を参照しながら説明する。図4は、フラッシュファイル制御関数の種類と内容を示す図である。
フラッシュファイル制御関数は、図4に示すように、フラッシュファイルオープンと、フラッシュファイルライトと、フラッシュファイルクローズと、フラッシュファイルデリートと、フラッシュファイルリードがあり、それら関数の内容に従って制御部のMPUが処理を実行するものである。
フラッシュファイル制御関数は、図4に示すように、フラッシュファイルオープンと、フラッシュファイルライトと、フラッシュファイルクローズと、フラッシュファイルデリートと、フラッシュファイルリードがあり、それら関数の内容に従って制御部のMPUが処理を実行するものである。
フラッシュファイルオープンは、フラッシュロムの管理領域における管理情報から空き領域の合計を調べ、空き領域があればファイル名にダウンロードファイル名を登録する処理を実行させる関数である。
フラッシュファイルライトは、フラッシュロムの管理領域における管理情報の空き駒切れ情報から空きセクターを見つけてデータをライト(書き込み)し、ライトしたら管理領域の管理情報に空き駒切れ・空きの合計・使用駒切れの値を更新する処理を実行させる関数である。
フラッシュファイルクローズは、フラッシュロムの管理領域における管理情報の使用駒切れの合計を計算し、その容量を設定する処理を実行させる関数である。
フラッシュファイルデリートは、フラッシュロムの管理領域における管理情報の使用駒切れに該当するセクターをイレーズ(消去)して、空き駒切れに戻し、管理領域における管理情報のファイル名・容量・使用駒切れをクリアし、空き駒切れ・空き領域を更新する処理を実行させる関数である。
フラッシュファイルリードは、フラッシュロムの管理領域における管理情報の使用駒切れに該当するセクターを順番に読んでラムディスク上の該当ファイルに書き込んでいく処理を実行させる関数である。
本発明の実施の形態に係るダウンロード方法について図5を参照しながら説明する。図5は、本発明の実施の形態に係るフラッシュロムへのプログラムファイルの格納方法の概略図である。
本発明の実施の形態に係るプログラムファイルの格納方法を実現する構成は、ソケットポインタ11と、256byteバッファ12と、ワークエリア13と、フラッシュ(Flash)ROM14を備える本体と、本体と外部とのインタフェースとなるHCI(Human Computer Interface)10と、ローカルPC20とを有するシステムである。
ここで、256byteバッファ12とワークメモリ13は、図1の主メモリ3に設けられるものである。
本発明の実施の形態に係るプログラムファイルの格納方法を実現する構成は、ソケットポインタ11と、256byteバッファ12と、ワークエリア13と、フラッシュ(Flash)ROM14を備える本体と、本体と外部とのインタフェースとなるHCI(Human Computer Interface)10と、ローカルPC20とを有するシステムである。
ここで、256byteバッファ12とワークメモリ13は、図1の主メモリ3に設けられるものである。
上記本発明の実施の形態に係るシステム(本システム)におけるダウンロード方法(本ダウンロード方法)は、図5に示すように、ローカルPC20のプログラムファイルから256byteのデータがFTPで転送され、ソケットポインタ11が受信(ソケットread)して256byteバッファ12に格納する。
そして、MPU1は、256byteバッファ12からダウンロードプログラムファイルを一旦主メモリ3上のワークエリア13に格納(write)する。256byteバッファ12からデータがワークエリア13に格納されると、ソケットreadして、256byteバッファ12からワークエリア13へのデータ格納を繰り返す。
すべてのデータのワークエリア13への格納が終了した後に、ワークエリア13からフラッシュロム(Flash Rom)14におけるアプリケーションから直接制御する領域にフラッシュファイル制御関数を使用してデータを移動する。
データの移動が終了すると、主メモリ3上のワークエリア13内のデータを消去する。
データの移動が終了すると、主メモリ3上のワークエリア13内のデータを消去する。
次に、本ダウンロード方法について図面を用いて説明する。
本ダウンロード方法を説明する前に、比較参考のため、従来のダウンロード方法について図6を参照しながら説明する。図6は、従来のダウンロード方法の処理を示すフローチャートである。
従来(現状)のダウンロード方法は、フラッシュロム14上にダウンロードプログラムファイルを作成し、オープンをかける(S1)。ローカルPC20をFTP接続する(S2)。そして、FTPで256byteのデータを受信する(ソケットread)(S3)。
本ダウンロード方法を説明する前に、比較参考のため、従来のダウンロード方法について図6を参照しながら説明する。図6は、従来のダウンロード方法の処理を示すフローチャートである。
従来(現状)のダウンロード方法は、フラッシュロム14上にダウンロードプログラムファイルを作成し、オープンをかける(S1)。ローカルPC20をFTP接続する(S2)。そして、FTPで256byteのデータを受信する(ソケットread)(S3)。
次に、受信したデータについて、データ(プログラムファイル)の最後であるか否かを判定する(S4)。
判定処理S4で、データの最後でなければ(Noの場合)、受信したデータをフラッシュロム14上のダウンロードファイルに書き込む(S5)。そして、処理S3に戻る。
判定処理S4で、データの最後でなければ(Noの場合)、受信したデータをフラッシュロム14上のダウンロードファイルに書き込む(S5)。そして、処理S3に戻る。
また、判定処理S4で、データの最後であれば(Yesの場合)、ローカルPC20の接続を切断し(S6)、フラッシュロム14上のダウンロードプログラムファイルをクローズする(S7)。
これに対して、本ダウンロード方法について図7及び図8を参照しながら説明する。図7は、本発明の実施の形態に係るダウンロード方法の処理の前半を示すフローチャートであり、図8は、本発明の実施の形態に係るダウンロード方法の処理の後半を示すフローチャートである。尚、図7の(A)と図8の(A)は接続するものである。
本ダウンロード方法は、図7及び図8に示すように、主メモリ3上にダウンロードプログラムファイルと同等の容量のワークエリア13を作成する(S11)。
次に、ローカルPC20をFTP接続する(S12)。そして、FTPで256byteのデータを受信する(ソケットread)(S13)。
次に、ローカルPC20をFTP接続する(S12)。そして、FTPで256byteのデータを受信する(ソケットread)(S13)。
次に、受信したデータについて、データ(プログラムファイル)の最後であるか否かを判定する(S14)。
判定処理S14で、データの最後でなければ(Noの場合)、受信したデータを主メモリ3上のワークエリア13に書き込む(S15)。そして、処理S13に戻る。
判定処理S14で、データの最後でなければ(Noの場合)、受信したデータを主メモリ3上のワークエリア13に書き込む(S15)。そして、処理S13に戻る。
また、判定処理S14で、データの最後であれば(Yesの場合)、ローカルPC20の接続を切断し(S16)、フラッシュファイルデリート関数(引数にダウンロードファイル名を指定)をコールし、フラッシュロム14上に作成されている現状のダウンロードファイルデータを削除する(S17)。
続いて、フラッシュファイルオープン関数(引数にダウンロードファイル名を指定)をコールし、フラッシュロム14上の管理領域にダウンロードファイル名を登録する(S18)。
なお、オープンの前に、フラッシュロムの管理領域における空きの合計を調べて、空きがある場合に、ダウンロードファイル名の登録が為されるものである。
なお、オープンの前に、フラッシュロムの管理領域における空きの合計を調べて、空きがある場合に、ダウンロードファイル名の登録が為されるものである。
そして、フラッシュファイルライト関数(引数にダウンロードファイル名と主メモリ3上のワークエリア13の先頭アドレスと受信データのトータル数を指定)をコールし、フラッシュロム14上のデータ領域にダウンロードファイルの全てのデータを書き込む(S19)。
この書き込みの際には、管理領域の駒切れ情報から空きセクターを見つけて、書き込み対象のセクターを特定し、ライトしたら管理領域の空き駒切れ、空きの合計、使用駒切れの値を更新するようになっている。
この書き込みの際には、管理領域の駒切れ情報から空きセクターを見つけて、書き込み対象のセクターを特定し、ライトしたら管理領域の空き駒切れ、空きの合計、使用駒切れの値を更新するようになっている。
次に、フラッシュファイルクローズ関数(引数にダウンロードファイル名を指定)をコールし、フラッシュロム14上の管理領域にダウンロードファイルのデータ容量を書き込む(S20)。
そして、先頭の処理S11でとった(作成した)ワークエリア13を開放する(S21)。
このようにして、本ダウンロード方法の処理が為される。
そして、先頭の処理S11でとった(作成した)ワークエリア13を開放する(S21)。
このようにして、本ダウンロード方法の処理が為される。
以上、ダウンロードプログラムファイルをフラッシュロム14上のアプリケーションから直接制御する領域に格納する方法を述べたが、次に、フラッシュロム14上のアプリケーションから直接制御する領域に書かれたダウンロードプログラムの起動方法について図9を参照しながら説明する。図9は、ダウンロードプログラムの起動方法を示す概略図である。
起動は以下の手順に従う。
第1のステップとして、主メモリ3のラムディスク(RAMDISK)上にフラッシュロム14にあるダウンロードされた実行ファイルを格納するファイル15を作成する。
第2のステップとして、引数にダウンロードファイル名と、第1のステップで作成したラムディスク上のファイル名を指定してフラッシュファイルリード関数をMPU1のHCI10がコールし、実行ファイルをラムディスク上のファイル15にコピーする。
第1のステップとして、主メモリ3のラムディスク(RAMDISK)上にフラッシュロム14にあるダウンロードされた実行ファイルを格納するファイル15を作成する。
第2のステップとして、引数にダウンロードファイル名と、第1のステップで作成したラムディスク上のファイル名を指定してフラッシュファイルリード関数をMPU1のHCI10がコールし、実行ファイルをラムディスク上のファイル15にコピーする。
第3のステップとして、ラムディスク上に作成された実行ファイルを起動する。起動はOSの起動コマンドを使用する。
第4のステップとして、起動が終了したらラムディスク上に作成した実行ファイルを削除する。
以上の処理はHCI10が行うものとする。
第4のステップとして、起動が終了したらラムディスク上に作成した実行ファイルを削除する。
以上の処理はHCI10が行うものとする。
次に、本発明の実施の形態に係る方法と従来技術で説明したイレーズ処理とガーベージコレクション処理が短時間(8秒又は12秒)で終了するパターンを比較する。
本発明の実施の形態に係る方法ではFTPで取得したデータを一旦主メモリのワークエリアに格納しているため、この分時間のロス(1)が発生している。また、プログラム起動時にOSの起動コマンドが使用できるようにするため、ラムディスク上にファイル管理システムがアクセスできるプログラム実行ファイルを作成している。
本発明の実施の形態に係る方法ではFTPで取得したデータを一旦主メモリのワークエリアに格納しているため、この分時間のロス(1)が発生している。また、プログラム起動時にOSの起動コマンドが使用できるようにするため、ラムディスク上にファイル管理システムがアクセスできるプログラム実行ファイルを作成している。
ここで時間のロス(2)が発生している。ロス(1)とロス(2)の合計時間は従来技術のイレーズ処理・ガーベージコレクション処理にかかる時間と同レベルか、それ以下である。
更に、ロス(1)とロス(2)の合計時間がシステムに与える影響は従来技術の説明で記述したパターン3のイレーズ処理とガーベージコレクション処理でダウンロードが待たされる時間に比べれば極めて小さいと言える。
また、図9に示したフラッシュファイル制御関数はフラッシュロムデバイスメーカが出しているデータシート(仕様を記載)を見れば容易に作成できるものである。
更に、ロス(1)とロス(2)の合計時間がシステムに与える影響は従来技術の説明で記述したパターン3のイレーズ処理とガーベージコレクション処理でダウンロードが待たされる時間に比べれば極めて小さいと言える。
また、図9に示したフラッシュファイル制御関数はフラッシュロムデバイスメーカが出しているデータシート(仕様を記載)を見れば容易に作成できるものである。
本ダウンロード方法によれば、OSを搭載した組み込み型マイコンシステムにおいてダウンロードファイルをフラッシュロム上に持つ場合、FTPと本発明の実施の形態に係るフラッシュファイル制御関数を使用することにより、ダウンロード時間を一定にすることができる効果がある。
これにより、従来のダウンロード方法において、FTPとJFFSを使用してダウンロードを行った時に発生する長いダウンロード待ち時間を回避することができる効果がある。
これにより、従来のダウンロード方法において、FTPとJFFSを使用してダウンロードを行った時に発生する長いダウンロード待ち時間を回避することができる効果がある。
本発明は、フラッシュロム上にダウンロードファイルを格納・管理するシステムにおいて、ダウンロードの待ち時間の変動をなくして常に待ち時間が一定になるようにしたダウンロード方法に好適である。
1…MPU、 2…LANインタフェース、 3…主メモリ、 4…フラッシュロム、 5…バス、 10…HCI、 11…ソケットポインタ、 12…256byteバッファ、 13…ワークエリア、 14…フラッシュロム、 15…実行ファイル、 20…ローカルPC
Claims (1)
- ネットワークに接続する情報処理システムにおいて、ローカル装置からダウンロードプログラムファイルを受信してフラッシュロムに書き込むダウンロード方法であって、
主メモリ上に形成したワークエリアに全てのデータを書き込み、フラッシュロムの管理領域の管理情報を参照して、以前のダウンロードプログラムファイルのデータが書き込まれている場合には、当該データを削除して管理情報の使用駒切れ情報、使用合計、空き駒切れ情報、空き合計を更新し、更に管理情報を参照して、空きがあればダウンロードファイル名を登録し、空き駒切れ情報に基づいて空きセクターにデータの書き込みを行い、管理情報の使用駒切れ情報、使用合計、空き駒切れ情報、空き合計を更新し、ワークエリアを開放することを特徴とするダウンロード方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005139949A JP2006318198A (ja) | 2005-05-12 | 2005-05-12 | フラッシュロムへのダウンロード方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005139949A JP2006318198A (ja) | 2005-05-12 | 2005-05-12 | フラッシュロムへのダウンロード方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006318198A true JP2006318198A (ja) | 2006-11-24 |
Family
ID=37538827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005139949A Pending JP2006318198A (ja) | 2005-05-12 | 2005-05-12 | フラッシュロムへのダウンロード方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006318198A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021024374A1 (ja) * | 2019-08-06 | 2021-02-11 | 三菱電機株式会社 | 情報処理装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0764831A (ja) * | 1993-08-23 | 1995-03-10 | Matsushita Electric Ind Co Ltd | データ記憶装置 |
JPH11249947A (ja) * | 1998-02-27 | 1999-09-17 | Sony Corp | ファイル管理装置及びファイル管理方法 |
JP2000148569A (ja) * | 1998-11-17 | 2000-05-30 | Matsushita Electric Ind Co Ltd | 記録再生装置 |
JP2002215375A (ja) * | 2001-01-22 | 2002-08-02 | Ricoh Co Ltd | 画像形成装置、画像形成装置の制御方法およびその方法をコンピュータに実行させるためのプログラム |
JP2004288074A (ja) * | 2003-03-25 | 2004-10-14 | Nec Engineering Ltd | プログラムダウンロード方式 |
-
2005
- 2005-05-12 JP JP2005139949A patent/JP2006318198A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0764831A (ja) * | 1993-08-23 | 1995-03-10 | Matsushita Electric Ind Co Ltd | データ記憶装置 |
JPH11249947A (ja) * | 1998-02-27 | 1999-09-17 | Sony Corp | ファイル管理装置及びファイル管理方法 |
JP2000148569A (ja) * | 1998-11-17 | 2000-05-30 | Matsushita Electric Ind Co Ltd | 記録再生装置 |
JP2002215375A (ja) * | 2001-01-22 | 2002-08-02 | Ricoh Co Ltd | 画像形成装置、画像形成装置の制御方法およびその方法をコンピュータに実行させるためのプログラム |
JP2004288074A (ja) * | 2003-03-25 | 2004-10-14 | Nec Engineering Ltd | プログラムダウンロード方式 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021024374A1 (ja) * | 2019-08-06 | 2021-02-11 | 三菱電機株式会社 | 情報処理装置 |
JPWO2021024374A1 (ja) * | 2019-08-06 | 2021-11-04 | 三菱電機株式会社 | 情報処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050144528A1 (en) | Computing device configuration manager | |
JP2003316595A (ja) | インストール方法、ファイル更新方法、プログラム及びコンピュータシステム | |
KR20050028173A (ko) | 소프트웨어 업데이트 방법 및 시스템 | |
JP2001331324A (ja) | 情報処理方法および装置、ならびに、記録媒体 | |
KR101555210B1 (ko) | 휴대용 단말기에서 내장 대용량 메모리를 이용한 컨텐츠 다운로드 방법 및 장치 | |
JP2004530201A (ja) | 組込み環境においてアプリケーションをロードして実行するための方法 | |
JP4602644B2 (ja) | 通信端末装置およびアプリケーションプログラム | |
JP4586469B2 (ja) | メモリ制御装置、メモリ制御方法、プログラム | |
US8145604B2 (en) | Method and apparatus for relocating an active five system journal | |
CN106293790A (zh) | 基于Firefox操作***的应用程序升级方法和装置 | |
WO2017036197A1 (zh) | 一种网元模型管理方法及装置 | |
JP2003288211A (ja) | ネットワーク管理プログラム | |
JP2006318198A (ja) | フラッシュロムへのダウンロード方法 | |
JP4986598B2 (ja) | アプリケーション管理システム及びその制御方法 | |
US20050149493A1 (en) | Data recording apparatus and data recording method | |
JP2003173260A (ja) | 遠隔プログラム更新システム | |
WO2012077604A1 (ja) | 処理装置、プログラム更新方法、およびプログラム | |
JP2008257584A (ja) | Ramディスクの処理方法及びシステム | |
JP2003216431A (ja) | Icカードのオペレーティングシステム更新システムおよび当該システムに使用するicカード | |
JP2008059494A (ja) | ミドルウェア選択制御装置 | |
JP2004206353A (ja) | ソフトウェアのインストール方法 | |
JP2008059482A (ja) | 情報処理装置、情報処理方法 | |
JP6580920B2 (ja) | 情報処理装置、情報処理装置の動作環境設定情報を更新する方法、及び、情報処理装置の動作環境設定情報を更新するプログラム | |
JP2007272579A (ja) | ソフトウェア検証方法、システム及びプログラム | |
JP2019036792A (ja) | 画像形成装置およびその制御方法とプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080328 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110328 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110714 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111108 |