(57)【要約】【課題】各種電子機器が補助記憶装置から空きクラスタを検索する速度を向上させる。【解決手段】一実施形態における電子機器は第１，第２制御手段を備える。第１制御手段は記憶領域が複数のクラスタに分割され、それらに対応する複数の参照領域と管理領域とが当該記憶領域に設けられ、空きクラスタに対応する参照領域に不使用を表すビット列が記憶され、ある空きクラスタを示すビット列の一部を含むビット列が管理領域に記憶されたフォーマットを有する補助記憶装置が電子機器に接続された場合、同装置の管理領域に記憶されたビット列を読み出す。第２制御手段は読み出されたビット列に含まれる空きクラスタを示すビット列の一部の値を変更せずに他の部分の値を変更しつつそのビット列で示されるクラスタに対応する参照領域を順次参照し、不使用を表すビット列が記憶された参照領域を検索する。【選択図】    図１０
2012174033.tif 000002
【特許請求の範囲】
【請求項１】
補助記憶装置を接続する接続手段と、
記憶領域が任意のデータを記憶可能な複数のクラスタに分割されると共にこれら各クラスタに対応する複数の参照領域と、所定の管理領域とが当該記憶領域に設けられ、データが書き込まれていない空きクラスタに対応する参照領域に不使用を表すビット列が記憶され、いずれかの空きクラスタを示すビット列の一部を含むビット列が前記管理領域に記憶されたフォーマットを前記接続手段に接続された補助記憶装置が有する場合、この補助記憶装置の前記管理領域に記憶されたビット列を読み出す第１制御手段と、
この第１制御手段によって読み出されたビット列に含まれる前記空きクラスタを示すビット列の前記一部の値を変更せずに、他の部分の値を変更しつつそのビット列で示されるクラスタに対応する参照領域を順次参照し、前記不使用を表すビット列が記憶された参照領域を検索する第２制御手段と、
を備えていることを特徴とする電子機器。
【請求項２】
前記各クラスタを示すビット列は、４バイトで構成され、
前記管理領域には、上位２バイトをゼロとし、下位２バイトをいずれかの空きクラスタを示すビット列の下位２バイトとした４バイトのビット列が記憶され、
前記第２制御手段は、前記第１制御手段によって前記管理領域から読み出されたビット列の下位２バイトの値を変更せずに、上位２バイトの値を変更しつつそのビット列で示されるクラスタに対応する参照領域を順次参照し、前記不使用を表すビット列が記憶された参照領域を検索することを特徴とする請求項１に記載の電子機器。
【請求項３】
前記第２制御手段は、前記第１制御手段によって前記管理領域から読み出されたビット列の上位２バイトの値を０００１ｈずつインクリメントし、そのビット列で示されるクラスタに対応する参照領域を順次参照して前記不使用を表すビット列が記憶された参照領域を検索することを特徴とする請求項２に記載の電子機器。
【請求項４】
前記第２制御手段によって前記不使用を表すビット列が記憶された参照領域が発見された後、当該参照領域に対応するクラスタを示すビット列を０００００００１ｈずつインクリメントしながら、そのビット列で示されるクラスタに対応する参照領域を順次参照して前記不使用を表すビット列が記憶された参照領域を検索する第３制御手段と、
１つの連続するデータを、前記第２制御手段及び前記第３制御手段によって発見された各参照領域に対応する各クラスタに分割して書き込む第４制御手段と、
をさらに備えていることを特徴とする請求項３に記載の電子機器。
【請求項５】
前記フォーマットは、ＦＡＴ３２に準拠したフォーマットであり、前記各参照領域は、ＦＡＴ３２におけるＦＡＴ領域を構成するＦＡＴエントリであり、前記管理領域は、ＦＡＴ３２におけるＦＳＩｎｆｏセクタであることを特徴とする請求項１乃至４のうちいずれか１に記載の電子機器。
【請求項６】
補助記憶装置を接続する接続手段を有するコンピュータに、
記憶領域が任意のデータを記憶可能な複数のクラスタに分割されると共にこれら各クラスタに対応する複数の参照領域と、所定の管理領域とが当該記憶領域に設けられ、データが書き込まれていない空きクラスタに対応する参照領域に不使用を表すビット列が記憶され、いずれかの空きクラスタを示すビット列の一部を含むビット列が前記管理領域に記憶されたフォーマットを前記接続手段に接続された補助記憶装置が有する場合、この補助記憶装置の前記管理領域に記憶されたビット列を読み出す第１制御機能と、
この第１制御機能によって読み出されたビット列に含まれる前記空きクラスタを示すビット列の前記一部の値を変更せずに、他の部分の値を変更しつつそのビット列で示されるクラスタに対応する参照領域を順次参照し、前記不使用を表すビット列が記憶された参照領域を検索する第２制御機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、補助記憶装置を接続可能な電子機器およびそのプログラムに関する。
【背景技術】
【０００２】
従来、ＨＤＤ（Hard Disk Drive）やＵＳＢ（Universal Serial Bus）メモリ等の各種補助記憶装置に対する情報の書き込みおよび読み出しを行うファイルシステムとして、ＦＡＴ（File Allocation Table）ファイルシステムが知られている。
【０００３】
ＦＡＴファイルシステムに準拠したフォーマットにおいては、補助記憶装置の記憶領域が多数のクラスタに分割されるとともに、同記憶領域に各クラスタに１対１で対応する複数のＦＡＴエントリで構成されるＦＡＴ領域が設けられる。上記各ＦＡＴエントリには、対応するクラスタの状態、すなわちデータ書き込みの有無や、対応するクラスタに書き込まれたデータに続くデータが記憶されたクラスタを示す情報等が書き込まれる。
【０００４】
ＦＡＴファイルシステムのサブタイプとしては、ＦＡＴエントリを１２ビットで表すＦＡＴ１２，１６ビットで表すＦＡＴ１６，および３２ビットで表すＦＡＴ３２が知られている。
【０００５】
ＦＡＴ３２は、ＦＡＴエントリを３２ビットで表すため、より多くのクラスタを管理可能となる。したがって、近年の記憶装置の記憶容量増大に伴い、ＦＡＴ３２が多くの電子機器にて使用されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】「Hardware White Paper , Microsoft Extensible Firmware Initiative FAT32 File System Specification , FAT : General Overview of On-Disk Format」、［online］、２０００年１２月６日、Microsoft Corporation、［２０１０年１２月２４日検索］、インターネット〈URL:http://www.microsoft.com/japan/whdc/system/platform/firmware/fatgen.mspx〉
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＦＡＴファイルシステムに準拠したフォーマットを有する補助記憶装置に対して情報を書き込む際には、各ＦＡＴエントリからデータを読み出し、読み出したデータを参照して、データが書き込まれていない空きクラスタを検索しなければならない。
【０００８】
特にＦＡＴ３２においては、１つのＦＡＴエントリが３２ビットで表されるため、ＦＡＴ１２，１６等に比べてＦＡＴエントリの読み出しに多大な時間を要する。その結果、空きクラスタの検索に要する時間も増大してしまうとの問題がある。
【０００９】
この問題は、ＦＡＴ３２に限らず、クラスタに対応するエントリを設けて補助記憶装置へのデータの読み書きを管理する他のファイルシステムにおいても同様に生じ得る。
【００１０】
このような事情から、各種電子機器が補助記憶装置から空きクラスタを検索する速度を向上させるための手段を講じる必要があった。
【課題を解決するための手段】
【００１１】
上記のような課題を解決すべく、一実施形態における電子機器は、接続手段と、第１制御手段と、第２制御手段と、を備えている。  
上記接続手段は、補助記憶装置を接続する。上記第１制御手段は、記憶領域が任意のデータを記憶可能な複数のクラスタに分割されると共にこれら各クラスタに対応する複数の参照領域と、所定の管理領域とが当該記憶領域に設けられ、データが書き込まれていない空きクラスタに対応する参照領域に不使用を表すビット列が記憶され、いずれかの空きクラスタを示すビット列の一部を含むビット列が上記管理領域に記憶されたフォーマットを上記接続手段に接続された補助記憶装置が有する場合、この補助記憶装置の上記管理領域に記憶されたビット列を読み出す。上記第２制御手段は、上記第１制御手段によって読み出されたビット列に含まれる上記空きクラスタを示すビット列の上記一部の値を変更せずに、他の部分の値を変更しつつそのビット列で示されるクラスタに対応する参照領域を順次参照し、上記不使用を表すビット列が記憶された参照領域を検索する。
【図面の簡単な説明】
【００１２】
【図１】一実施形態における電子黒板の外観斜視図。
【図２】同実施形態における電子黒板のフレームの一部を示す図。
【図３】同実施形態における電子黒板の内部構造を概略的に示す平面図。
【図４】同実施形態における電子黒板の内部構造を概略的に示す正面図。
【図５】同実施形態における電子黒板の制御回路を示すブロック図。
【図６】ＦＡＴ３２における記憶領域のフォーマットを示す模式図。
【図７】同実施形態におけるＦＳＩＮｘｔＦｒｅｅに書き込まれるビット列を説明するための図。
【図８】同実施形態におけるＲＡＭのメモリ構成を示す図。
【図９】同実施形態において制御部が実行する処理のフローチャート。
【図１０】同実施形態において制御部が実行する処理のフローチャート。
【発明を実施するための形態】
【００１３】
以下、一実施形態につき、図面を参照しながら説明する。  
この実施形態においては、ＦＡＴ３２に準拠したフォーマットを有する補助記憶装置にデータを読み書きする電子黒板を例示する。
【００１４】
［外観構成］  
図１は、本実施形態における電子黒板１の外観斜視図である。  
この電子黒板１は、一対のスタンド２ａ，２ｂと、これらスタンド２ａ，２ｂによって支持される長方形枠状のフレーム３とを有する。フレーム３は、例えばポリエチレン製の環状のシート４を収納している。このシート４におけるフレーム３の前面側の開口部から外部に露出した部分が、マーカーペン等の筆記具によって文字や図形等が筆記される筆記面４ａとなる。また、フレーム３のスタンド２ｂ側下方には、ＣＣＤラインセンサ１５（図３及び図４参照）によって読み取られた画像を印刷媒体に印刷して発行するためのサーマルプリンタ５が設けられている。
【００１５】
フレーム３の下縁部には、手前側に向けて突出する下側棚部６が設けられている。この下側棚部６には、マーカーペン等の筆記具や筆記面４ａに筆記された文字等を摺動動作で消去するクリーナ等が置かれる。
【００１６】
また、フレーム３のスタンド２ｂ側縁部には、電子黒板１を操作するための各種操作キーを有する操作パネル７が設けられている。
【００１７】
また、フレーム３のスタンド２ｂ側下角部には、図２に示したように手前側に突出した突出部３ａが形成されており、この突出部３ａには電子黒板１への電源供給をオン／オフするための電源スイッチ８と、ＵＳＢメモリ１００のＵＳＢコネクタ１０１を着脱可能なＵＳＢポート９とが設けられている。なお、ＵＳＢポート９には、ＵＳＢメモリ１００の他にもＵＳＢコネクタを有するフロッピー（登録商標）ディスクドライブ、ＣＤ−Ｒドライブ、ＤＶＤ−Ｒドライブ、ハードディスクドライブなど、各種の外付け補助記憶装置を接続可能である。
【００１８】
［内部構成］  
図３は電子黒板１の内部構造を概略的に示す平面図であり、図４は電子黒板１の内部構造を概略的に示す正面図である。  
フレーム３内の左右両端部には、シート４を搬送する一対のローラ１０ａ，１０ｂが設けられている。ローラ１０ａ，１０ｂは、フレーム３の左右側縁と略平行な軸心を有するもので、ローラ１０ａ，１０ｂ間には環状のシート４が掛け渡されている。また、ローラ１０ａ，１０ｂのうちいずれか一方には、図示しないベルト伝動機構を介してシートフィード（ＳＦ）モータ２５（図５参照）が連結されている。ＳＦモータ２５が駆動されると前記ベルト伝動機構を介してローラ１０ａ，１０ｂが回転し、シート４が左右方向に回転搬送される。
【００１９】
また、シート４の筆記面４ａのすぐ背後には、筆記面４ａに対する筆記性を確保するための筆記ボード１１が配設されている。
【００２０】
そして、筆記ボード１１を挟んだ筆記面４ａの反対側には、シート４の搬送方向に略直行する方向に長尺な蛍光灯１２およびミラー１３と、レンズ１４と、ＣＣＤラインセンサ１５とが設けられている。シート４に筆記された文字等を読み取る際には、蛍光灯１２がシート４に可視光を照射し、シート４からの反射光がミラー１３を介してレンズ１４に送られ、ＣＣＤラインセンサ１５の受光面に集光される。このときＣＣＤラインセンサ１５から、受光面によって受光された可視光に応じてミラー１３の長尺方向に沿う１ライン分の電気信号が出力される。
【００２１】
［制御回路］  
次に、電子黒板１の制御回路について説明する。  
図５は、電子黒板１の制御回路を示すブロック図である。  
この制御回路は、制御部２０、ＲＯＭ（Read Only Memory）２１、ＲＡＭ（Random Access Memory）２２、蛍光灯点灯回路２３、画像処理部２４、ＳＦモータ２５、電源ユニット２６、上記サーマルプリンタ５、上記操作パネル７、上記電源スイッチ８、上記ＵＳＢポート９、上記蛍光灯１２、および上記ＣＣＤラインセンサ１５等で構成されている。
【００２２】
ＲＯＭ２１は、電子黒板１の動作プログラムや各種デフォルト設定値等の固定的データを記憶している。  
ＲＡＭ２２は、電子黒板１の処理場面に応じて各種の作業用記憶領域を形成する。
【００２３】
蛍光灯点灯回路２３は、シート４に筆記された文字等を読み取る際に蛍光灯１２に通電し、蛍光灯１２を点灯させる。既述のように、蛍光灯１２が点灯するとシート４からの反射光がレンズ１４等を介してＣＣＤラインセンサ１５に集光され、ＣＣＤラインセンサ１５が受光した可視光に応じた電気信号を出力する。
【００２４】
画像処理部２４は、ＣＣＤラインセンサ１５から出力されるライン毎の電気信号をＡ／Ｄ変換してデジタルデータを生成し、このデジタルデータを複数ライン分組み合わせて１つの画像データを生成する。
【００２５】
電源ユニット２６は、電源スイッチ８が電源オンの状態に切り替えられたことに応じて商用交流電源等の外部電源３０から動作電力を取り込み、当該制御回路を構成する各部に供給する。
【００２６】
ＵＳＢポート９にＵＳＢメモリ１００等の補助記憶装置のＵＳＢコネクタ１０１が接続されると、当該補助記憶装置にＵＳＢポート９を介して電源ユニット２６から動作電力が供給される。当該補助記憶装置は、この動作電力を受けて内臓メモリへのデータの書き込みおよび読み出しを行う。また、ＵＳＢポート９は、補助記憶装置への電力供給の有無を監視し、電力が供給されていないときに値を“０”とした接続ステータスを制御部２０に通知し、電力が供給されているときに値を“１”とした接続ステータスを制御部２０に通知する機能を有している。
【００２７】
制御部２０は、ＲＯＭ２１に記憶された動作プログラムに従い、当該制御回路を構成する各部の制御等の処理を実行する。  
特に本実施形態では、制御部２０は、ＵＳＢポート９に接続されたＵＳＢメモリ１００等の補助記憶装置から空きクラスタを検索し、発見したクラスタに対してデータを書き込む等の処理を実行する（図８〜図９参照）。この処理において、制御部２０は、ＵＳＢポート９に接続された補助記憶装置がＦＡＴ３２に準拠するフォーマットを有する場合と、その他のファイルシステムに準拠するフォーマットを有する場合とで、異なるシーケンスに従い動作する。
【００２８】
［ＦＡＴ３２］  
ここで、ＦＡＴ３２について説明する。  
図６は、ＦＡＴ３２に準拠した記憶領域のフォーマットを示す模式図である。
【００２９】
このフォーマットは、ＦＳＩｎｆｏセクタ３０１、ＦＡＴ領域３０２、およびデータ領域３０３を有する。  
データ領域３０３は、ユーザが書き込みを指定したデータ（以下、ユーザデータ）が記憶される領域であり、４バイト（３２ビット）のクラスタ番号０〜Ｎ（“０００００００１ｈ”〜“０ＦＦＦＦＦＦ６ｈ”［ｈは１６進数を意味する］）が割り当てられた多数のクラスタによって構成される。このうちクラスタ番号０，１の各クラスタは、ユーザデータの書き込みが禁止された予約領域であり、記憶領域の状態等を示す管理データが記憶される。
【００３０】
ＦＡＴ領域３０２は、データ領域３０３に含まれる各クラスタに１対１で対応するＦＡＴエントリによって構成される。各ＦＡＴエントリは、４バイトのビット列で表される。
【００３１】
各ＦＡＴエントリには、“００００００００ｈ”〜“０ＦＦＦＦＦＦＦｈ”のいずれかのビット列が書き込まれる。ここで、“００００００００ｈ”は対応するクラスタが不使用であること（データが書き込まれていない空きクラスタであること）を表し、“０００００００２ｈ”〜“０ＦＦＦＦＦＦ６ｈ”は対応するクラスタに記憶されたデータに続くデータが記憶されたクラスタのクラスタ番号を表し、“０ＦＦＦＦＦＦ７ｈ”は使用不可の不良クラスタを表し、“０ＦＦＦＦＦＦ８ｈ”〜“０ＦＦＦＦＦＦＦｈ”は対応するクラスタに１つのユーザデータの最後尾が記憶されていることを示す。
【００３２】
ＦＳＩｎｆｏセクタ３０１は、補助記憶装置の空き容量の計算等に用いられる各種情報を記憶する管理領域である。ＦＳＩｎｆｏセクタ３０１には、ＦＳＩＬｅａｄＳｉｇおよびＦＳＩＮｘｔＦｒｅｅが含まれる。ＦＳＩＬｅａｄＳｉｇおよびＦＳＩＮｘｔＦｒｅｅは、いずれも４バイトのビット列で表される。ＦＳＩＬｅａｄＳｉｇは、ＦＳＩｎｆｏセクタ３０１の先頭に配置されたシグネチャであり、具体的には“４１６１５２５２ｈ”に設定される。
【００３３】
このような構成のフォーマットは、例えばＦＡＴ３２用のファイルシステムのドライバがインストールされたコンピュータにＵＳＢメモリ１００等の補助記憶装置が接続された際に作成される。このようなドライバは、例えばマイクロソフト（登録商標）社が提供するＯＳ（Operating System）であるＷｉｎｄｏｗｓ（登録商標）の所定バージョンに含まれている。
【００３４】
上記ドライバがインストールされたコンピュータにＵＳＢメモリ１００等の補助記憶装置が接続され、データの書き込みや消去等が行われると、その補助記憶装置に設けられたＦＳＩｎｆｏセクタ３０１のＦＳＩＮｘｔＦｒｅｅが更新される。
【００３５】
このとき、上記ドライバが行う処理について説明する。  
ＦＳＩＮｘｔＦｒｅｅの更新に際して、先ずドライバは、データ領域３０３の空きクラスタを検索する。この処理は、例えばＦＡＴ領域３０２の各ＦＡＴエントリを対応するクラスタのクラスタ番号の昇順に走査し、“００００００００ｈ”が記憶されたＦＡＴエントリを検出することで行われる。
【００３６】
次に、ドライバは、発見した空きクラスタのクラスタ番号の一部をＦＳＩＮｘｔＦｒｅｅに書き込む。但しこのとき、一部のドライバは、発見した空きクラスタのクラスタ番号を示すビット列の一部分をＦＳＩＮｘｔＦｒｅｅに書き込むように設計されている。特に本実施形態では、図７に示すように、発見した空きクラスタのクラスタ番号を示すビット列の下位２バイトがＦＳＩＮｘｔＦｒｅｅに書き込まれる場合を想定する。すなわち、図示したように発見された空きクラスタのクラスタ番号を示すビット列が“００５９８５４Ｆｈ”であった場合、その下位２バイトに相当する“８５４Ｆ”をＦＳＩＮｘｔＦｒｅｅの下位２バイトに書き込む。ＦＳＩＮｘｔＦｒｅｅの上位２バイトは変更せず、常に“００００”とする。
【００３７】
［動作］  
上記のような構成の補助記憶装置がＵＳＢポート９に接続された場合に制御部２０が実行する処理について説明する。  
補助記憶装置がＵＳＢポート９に接続され、補助記憶装置に動作電源が供給されると、既述の通りＵＳＢポート９から値を“１”とした接続ステータスが制御部２０に通知される。この接続ステータスが通知されたとき、制御部２０は、図８に示すようにＦＳＩｎｆｏサポート情報２２１、対象クラスタ情報２２２、および検索初期フラグ２２３をＲＡＭ２２に生成する。
【００３８】
その後、制御部２０は、図９のフローチャートに沿って動作する。  
すなわち、先ず制御部２０は、ＲＡＭ２２に生成したＦＳＩｎｆｏサポート情報２２１を“０”にセットする（ステップＳ１０１）。次に、制御部２０は、ＵＳＢポート９に接続された補助記憶装置からＦＳＩｎｆｏセクタに相当するセクタを読み出し（ステップＳ１０２）、この補助記憶装置がＦＡＴ３２に準拠するフォーマットを有するか否かを判定する（ステップＳ１０３）。具体的には、補助記憶装置から読み出したセクタの先頭４バイトと、ＦＳＩＬｅａｄＳｉｇを示す“４１６１５２５２ｈ”とを比較し、一致するならば当該補助記憶装置がＦＡＴ３２に準拠したフォーマットを有すると判定し、一致しないならば当該補助記憶装置がＦＡＴ３２に準拠したフォーマットを有しないと判定する。
【００３９】
ＦＡＴ３２に準拠したフォーマットを有すると判定した場合（ステップＳ１０３のＹｅｓ）、制御部２０は、ＦＳＩｎｆｏサポート情報を“１”にセットする（ステップＳ１０４）。さらに、制御部２０は、ステップＳ１０２の処理にて読み出したセクタ、すなわちＦＳＩｎｆｏセクタ３０１に含まれるＦＳＩＮｘｔＦｒｅｅの値をＲＡＭ２２に一時記憶する（ステップＳ１０５）。
【００４０】
ステップＳ１０５の処理の後、または、ステップＳ１０３の処理においてＦＡＴ３２に準拠したフォーマットを有さないと判定した場合に（ステップＳ１０３のＮｏ）、制御部２０は、図９に示した一連の処理を終了する。
【００４１】
このような処理の後、制御部２０は、ユーザによる操作パネル７の操作を待つ。  
このとき、操作パネル７が操作され、シート４に筆記された情報の読み取りが指示されると、制御部２０は、筆記面４ａに筆記された文字等を画像データとして取り込む。具体的には、蛍光灯点灯回路２３に蛍光灯１２を点灯させ、ＳＦモータ２５を回転させてシート４を搬送させるとともに、画像処理部２４に画像データの生成を指示する。この指示を受けた画像処理部２４は、ＣＣＤラインセンサ１５から出力されるライン毎の電気信号をデジタルデータに変換していく。ＳＦモータ２５は、当該読み取りが指示された時点の筆記面４ａの最後端のラインに対応するデジタルデータを画像処理部２４が取得し終えるまで回転する。そして、画像処理部２４は、ＳＦモータ２５が停止するまでに取得した全てのデジタルデータをライン順に組み合わせて１つの画像データを生成し、制御部２０に出力する。制御部２０は、このようにして取り込まれた画像データをＲＡＭ２２に一時記憶する。
【００４２】
このように画像データが取り込まれた後、さらに操作パネル７が操作され、画像データの出力が指示されると、制御部２０は、図１０のフローチャートに沿って動作する。  
すなわち、先ず制御部２０は、対象クラスタ情報２２２に“０”をセットする（ステップＳ２０１）。さらに、制御部２０は、検索初期フラグ２２３を“０”にセットする（ステップＳ２０２）。
【００４３】
次に、制御部２０は、ＦＳＩｎｆｏサポート情報２２１が“１”にセットされているか否かを判定する（ステップＳ２０３）。ＦＳＩｎｆｏサポート情報２２１が“１”にセットされている場合（ステップＳ２０３のＹｅｓ）、ＵＳＢポート９に接続された補助記憶装置はＦＡＴ３２に準拠したフォーマットを有することになる。この場合、制御部２０は、検索初期フラグ２２３を“１”にセットする（ステップＳ２０４）。さらに、制御部２０は、対象クラスタ情報２２２にステップＳ１０５の処理にてＲＡＭ２２に記憶したＦＳＩＮｘｔＦｒｅｅの値をセットする（ステップＳ２０５）。
【００４４】
ステップＳ２０５の処理の後、または、ステップＳ２０３の処理においてＦＳＩｎｆｏサポート情報２２１が“１”にセットされていないと判定した場合に（ステップＳ２０３のＮｏ）、制御部２０は、対象クラスタ情報２２２にセットされた値と同値のクラスタ番号で示されるクラスタに対応するＦＡＴエントリを、当該補助記憶装置のＦＡＴ領域３０２から読み出す（ステップＳ２０６）。
【００４５】
そして、制御部２０は、読み出したＦＡＴエントリを参照し、当該ＦＡＴエントリに対応するクラスタが空きクラスタであるか否かを判定する（ステップＳ２０７）。具体的には、制御部２０は、読み出したＦＡＴエントリのビット列が“００００００００ｈ”であるか否かを判定する。
【００４６】
読み出したＦＡＴエントリのビット列が“００００００００ｈ”でないと判定した場合（ステップＳ２０７のＮｏ）、制御部２０は、検索初期フラグ２２３が“１”にセットされているか否かを判定する（ステップＳ２０８）。検索初期フラグ２２３が“１”にセットされていないと判定した場合（ステップＳ２０８のＮｏ）、制御部２０は、対象クラスタ情報２２２の値を“０００００００１ｈ”だけインクリメントし（ステップＳ２０９）、ステップＳ２０６の処理に戻る。
【００４７】
すなわち、検索初期フラグ２２３が“１”でない場合には、クラスタ番号の昇順で空きクラスタを表すＦＡＴエントリが検索される。特に、ＵＳＢポート９に接続された補助記憶装置がＦＡＴ１２，１６等のＦＡＴ３２以外のフォーマットを有するならば、検索開始当の対象クラスタ情報２２２が“００００００００ｈ”となるので、クラスタ番号０に対応するＦＡＴエントリから順に空きクラスタを表すＦＡＴエントリが検索される。
【００４８】
一方、ステップＳ２０８の処理において検索初期フラグ２２３が“１”にセットされていると判定した場合（ステップＳ２０８のＹｅｓ）、制御部２０は、対象クラスタ情報２２２の値を“０００１００００ｈ”だけインクリメントし（ステップＳ２１０）、ステップＳ２０６の処理に戻る。
【００４９】
すなわち、検索初期フラグ２２３が“１”でない場合には、当該補助記憶装置のＦＳＩＮｘｔＦｒｅｅが示すビット列の下位２バイトを変更せずに、上位２バイトの値を変更しつつ、そのビット列と同値のクラスタ番号に対応するＦＡＴエントリを参照していくことで、空きクラスタを表すＦＡＴエントリが検索される。
【００５０】
このような手順で検索を進めた結果、ビット列が“００００００００ｈ”であるＦＡＴエントリを発見したならば（ステップＳ２０７のＹｅｓ）、制御部２０は、当該発見したＦＡＴエントリに対応するクラスタに画像データを書き込む（ステップＳ２１１）。さらに、制御部２０は、検索初期フラグ２２３を“０”にセットし（ステップＳ２１２）、対象クラスタ情報２２２を“０００００００１ｈ”だけインクリメントする（ステップＳ２１３）。
【００５１】
その後、制御部２０は、画像データの書き込みが完了したか否かを判定する（ステップＳ２１４）。画像データの全てを書き込み終えていない場合（ステップＳ２１４のＮｏ）、制御部２０は、ステップＳ２０６の処理に戻る。そして、再度空きクラスタを検索し、発見したクラスタに前回書き込んだデータに続く画像データを書き込む。このとき、前回データを書き込んだクラスタに対応するＦＡＴエントリに今回データを書き込んだクラスタのクラスタ番号を書き込む。
【００５２】
ここまでの説明で分かるように、ＵＳＢポート９に接続された補助記憶装置がＦＡＴ３２に準拠したフォーマットを有する場合、第１回目の空きクラスタの検索ではステップＳ２０６，Ｓ２０７，Ｓ２０８，Ｓ２０９の手順で処理が進行し、第２回目以降の空きクラスタの検索ではステップＳ２０６，Ｓ２０７，Ｓ２０８，Ｓ２１０の手順で処理が進行する。そして、第１回目および第２回目以降に発見された各ＦＡＴエントリに対応する各クラスタに１つの連続するデータが分割して書き込まれる。
【００５３】
このような処理を繰り返し、画像データの全てを書き込み終えると（ステップＳ２１４のＹｅｓ）、制御部２０は、最後にデータを書き込んだクラスタに対応するＦＡＴエントリに“０ＦＦＦＦＦＦＦｈ”を書き込み、一連の処理を終了する。
【００５４】
以上説明したように、本実施形態における電子黒板１は、ＦＡＴ３２に準拠したフォーマットをＵＳＢポート９に接続された補助記憶装置が有する場合、この補助記憶装置のＦＳＩＮｘｔＦｒｅｅに記憶されたビット列を読み出し、読み出したビット列の下位２バイトの値を変更せずに、上位２バイトの値を変更しつつそのビット列で示されるクラスタに対応するＦＡＴエントリを参照することで、不使用を表すビット列“００００００００ｈ”が記憶されたＦＡＴエントリを検索する。
【００５５】
このような構成であれば、図７を用いて説明したようにＦＳＩＮｘｔＦｒｅｅの下位２バイトが空きクラスタのクラスタ番号の下位２バイトと一致し、上位２バイトが一致しない場合において、空きクラスタの検索速度が格段に向上する。
【００５６】
つまり、ＦＡＴ３２に準拠したフォーマットを有する記憶領域の各ＦＡＴエントリをクラスタ番号順に参照して空きクラスタを検索する場合、クラスタ番号が“０００００００２ｈ”〜“０ＦＦＦＦＦＦ６ｈ”の各クラスタを検索対象としなければならない。これに対し、本実施形態の構成であれば、クラスタ番号が“００００・・・・ｈ”〜“０ＦＦＦ・・・・ｈ”（下位２バイトは固定）の各クラスタを検索対象とすればよい。
【００５７】
また、このような検索により空きクラスタを発見してデータを書き込んだ後は、そのクラスタのクラスタ番号を“０００００００１ｈ”ずつインクリメントしながら次の空きクラスタを検索し、発見した空きクラスタに上記データの続きを書き込む。このような構成であれば、できるだけ連続したクラスタに１つのデータを書き込むことができる。その結果、例えば当該データの読み出しを迅速に行えるなどの効果を奏する。
【００５８】
［変形例］  
上記各実施形態にて開示した構成は、種々変形実施可能である。具体的な変形例としては、例えば次のようなものがある。
【００５９】
（１）上記実施形態では、電子黒板１を例示した。しかしながら、図８〜図１０等を用いて説明した構成および動作を他の電子機器に適用してもよい。他の電子機器としては、例えばパーソナルコンピュータ、サーバ装置、プリンタ、ＰＯＳ（Point Of Sales）端末、携帯電話装置、携帯情報端末（ＰＤＡ）等の種々の機器を採用し得る。
【００６０】
（２）上記実施形態では、制御部２０がＲＯＭ２１に記憶されたプログラムを実行することにより、図８〜図１０を用いて説明した動作が実現されるとした。しかしながら、これに限らずプログラムを所定のネットワークから電子黒板１等の電子機器にダウンロードしてもよいし、同様の機能を記録媒体に記憶させたものを電子黒板１等の電子機器にインストールしてもよい。記録媒体としては、ＣＤ−ＲＯＭ等を利用でき、かつ電子黒板１等の電子機器が読み取り可能な記録媒体であれば、その形態は何れの形態であってもよい。また、このように予めインストールやダウンロードにより得る機能は電子黒板１等の電子機器内部のＯＳ等と協働してその機能を実現させるものであってもよい。
【００６１】
（３）上記実施形態では、ＦＡＴ３２に準拠したフォーマットを有する補助記憶装置から空きクラスタを検索する場合を主に説明した。しかしながら、記憶領域が複数のクラスタに分割されると共に各クラスタに対応する複数の参照領域と、管理領域とが当該記憶領域に設けられ、データが書き込まれていない空きクラスタに対応する参照領域に不使用を表すビット列が記憶され、空きクラスタを示すビット列の一部を含むビット列が上記管理領域に記憶されたＦＡＴ３２以外の規格に準拠したフォーマットを有する補助記憶装置に対しても、同様の検索手順を適用して空きクラスタを検索可能である。
【００６２】
（４）上記実施形態では、ＦＳＩＮｘｔＦｒｅｅに記憶されたビット列の下位２バイトが空きクラスタのクラスタ番号の下位２バイトと一致する場合の検索処理を例示した。しかしながら、ＦＳＩＮｘｔＦｒｅｅに記憶されたビット列の他の部分、例えば下位３バイトが空きクラスタのクラスタ番号の下位３バイトと一致するような場合でも、同様の検索手順を適用して空きクラスタを検索可能である。このように下位３バイトが一致する場合には、ステップＳ２１０の処理において対象クラスタ情報２２２を“０１００００００ｈ”だけインクリメントさせればよい。
【００６３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６４】
１…電子黒板、９…ＵＳＢポート、２０…制御部、２１…ＲＯＭ、２２…ＲＡＭ、２４…画像処理部、２２１…サポート情報、２２２…対象クラスタ情報、２２３…検索初期フラグ、３０１…ＳＦＩｎｆｏセクタ、３０２…ＦＡＴ領域、３０３…データ領域
【図１】
2012174033.tif 000003
【図２】
2012174033.tif 000004
【図３】
2012174033.tif 000005
【図４】
2012174033.tif 000006
【図５】
2012174033.tif 000007
【図６】
2012174033.tif 000008
【図７】
2012174033.tif 000009
【図８】
2012174033.tif 000010
【図９】
2012174033.tif 000011
【図１０】
2012174033.tif 000012