(57)【要約】【課題】カード型メモリからの読み出しにかかるオーバヘッドの影響を少なくしてプログラムの実行速度を向上させる。【解決手段】ＳＤカードインターフェース１４は、ＳＤカード４からリードした少なくとも２セクタ分のデータを格納するバッファ１４３ａを有し、画像形成装置本体側のＣＰＵ５からのＳＤカード４へのリードアクセスに対し、そのリードアクセスデータがバッファ１４３ａに格納されているいずれかのセクタ内のデータである場合にはバッファ１４３ａからリードアクセスデータをＣＰＵ５に送信し、そうでない場合には、該当するデータが読み出された時期が一番古いセクタのデータを破棄するとともに、リードアクセスデータを含むセクタデータをＳＤカード４から読み出してバッファ１４３ａに格納後、バッファ１４３ａからリードアクセスデータをＣＰＵ５に送信する。【選択図】        図７
2004220575.tif 000002
【特許請求の範囲】
【請求項１】
着脱可能であってセクタ単位のアクセスが必要なカード型メモリと電子機器本体を接続するカード型メモリのインターフェース回路において、
前記カード型メモリからリードした少なくとも複数セクタ分のデータを格納するバッファと、
前記電子機器本体側のＣＰＵからの前記カード型メモリへのリードアクセスに対し、そのリードアクセスデータが前記バッファに格納されているいずれかのセクタ内のデータである場合には前記バッファから前記リードアクセスデータを前記ＣＰＵに送信する送信手段と、
を備えたことを特徴とするカード型メモリのインターフェース回路。
【請求項２】
前記送信手段は、さらに、前記リードアクセスデータが前記バッファに格納されているいずれのセクタ内のデータでない場合に、該当するデータが読み出された時期が一番古いセクタのデータを破棄するとともに、前記リードアクセスデータを含むセクタデータを前記カード型メモリから読み出して前記バッファに格納後、前記バッファから前記リードアクセスデータを前記ＣＰＵに送信することを特徴とする請求項１に記載のカード型メモリのインターフェース回路。
【請求項３】
前記カード型メモリは、ＳＤカードであることを特徴とする請求項１に記載のカード型メモリのインターフェース回路。
【請求項４】
前記バッファは、少なくとも前記カード型メモリからリードした少なくとも２セクタ分のデータを格納することを特徴とする請求項１に記載のカード型メモリのインターフェース回路。
【請求項５】
画像処理機能、画像入出力機能及びデータ通信機能の１以上のアプリケーション機能を有し、各アプリケーション機能がメモリ及びハードディスクの１以上を共有資源として利用可能に構成された設計されたＡＳＩＣにおいて、
着脱可能であってセクタ単位のアクセスが必要なカード型メモリからリードした少なくとも複数セクタ分のデータを格納するバッファと、前記電子機器本体側のＣＰＵからの前記カード型メモリへのリードアクセスに対し、そのリードアクセスデータが前記バッファに格納されているいずれかのセクタ内のデータである場合には前記バッファから前記リードアクセスデータを前記ＣＰＵに送信する送信手段とを有するインターフェース回路
を備えたことを特徴とするＡＳＩＣ。
【請求項６】
前記送信手段は、さらに、前記リードアクセスデータが前記バッファに格納されているいずれのセクタ内のデータでない場合に、該当するデータが読み出された時期が一番古いセクタのデータを破棄するとともに、前記リードアクセスデータを含むセクタデータを前記カード型メモリから読み出して前記バッファに格納後、前記バッファから前記リードアクセスデータを前記ＣＰＵに送信することを特徴とする請求項５に記載のＡＳＩＣ。
【請求項７】
前記カード型メモリは、ＳＤカードであることを特徴とする請求項５に記載のＡＳＩＣ。
【請求項８】
前記バッファは、少なくとも前記カード型メモリからリードした少なくとも２セクタ分のデータを格納することを特徴とする請求項５に記載のＡＳＩＣ。
【請求項９】
画像処理機能、画像入出力機能及びデータ通信機能の１以上のアプリケーション機能を有する画像形成装置において、
各アプリケーション機能がメモリ及びハードディスクの１以上を共有資源として利用可能に構成された設計されたＡＳＩＣを備え、
前記ＡＳＩＣは、着脱可能であってセクタ単位のアクセスが必要なカード型メモリからリードした少なくとも複数セクタ分のデータを格納するバッファと、前記電子機器本体側のＣＰＵからの前記カード型メモリへのリードアクセスに対し、そのリードアクセスデータが前記バッファに格納されているいずれかのセクタ内のデータである場合には前記バッファから前記リードアクセスデータを前記ＣＰＵに送信する送信手段とを有するインターフェース回路
を備えたことを特徴とする画像形成装置。
【請求項１０】
前記送信手段は、さらに、前記リードアクセスデータが前記バッファに格納されているいずれのセクタ内のデータでない場合に、該当するデータが読み出された時期が一番古いセクタのデータを破棄するとともに、前記リードアクセスデータを含むセクタデータを前記カード型メモリから読み出して前記バッファに格納後、前記バッファから前記リードアクセスデータを前記ＣＰＵに送信することを特徴とする請求項９に記載の画像形成装置。
【請求項１１】
前記カード型メモリは、ＳＤカードであることを特徴とする請求項９に記載の画像形成装置。
【請求項１２】
前記バッファは、少なくとも前記カード型メモリからリードした少なくとも２セクタ分のデータを格納することを特徴とする請求項９に記載の画像形成装置。
【請求項１３】
前記カード型メモリに格納されているプログラムを直接実行することを特徴とする請求項９に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＤ（Secure Digital）カードなどのように着脱可能であってセクタ単位のアクセスが必要なカード型メモリのインターフェース回路、その回路を搭載したＡＳＩＣ、及びそのＡＳＩＣを搭載した画像形成装置に関する。
【背景技術】
【０００２】
プリンタやコピー、ＭＦＰ(マルチ・ファンクション・ペリフェラル)といった機器のソフトウェアの書き換え手段として、メモリカードやネットワークなどのホストインターフェースからのダウンロードがある。しかし、フィールドサポートなどにおけるメンテナンスやソフトウェアのアップデートを行おうとすると、ユーザのシステム環境を使用できるとは限らないことから、ホストインターフェースが利用できるとは限らないのが現状である。
【０００３】
このため、確実に利用できる手段として、メモリカードインターフェースを基板上に設けている。メモリカードに対するアクセスは、ＲＡＭと同様に扱えることから、ソフトウェアによるインターフェース初期化などの処理は必要なかった。また、メモリカード上でプログラムを実行することも可能であった。しかし、メモリカードは１枚あたりの容量がせいぜい４メガバイトと小さい上に、最近では入手しにくくなってきた。
【０００４】
そこで、近年では例えば特許文献１のように、メモリーカードの代替として、ＳＤカードが採用されている。ＳＤカードはフロッピー（登録商標）ディスクのような携帯可能なメディアとして注目され、カードサイズに比べ記録容量が大きいことから、画像データや音声データの記録、再生用に採用され始めている。ＳＤカードへのリードアクセスに限定することにより、ＢＩＯＳを必要とせずにＳＤカードへのアクセスが可能になるほか、ＣＰＵのアクセスに応じて必要なデータだけを読み出せるため、ＲＡＭへのデータコピーをせず、ＳＤカード上でプログラムの実行が可能になる。また、通信エラーが発生した場合に、通信速度を自動で段階的に落としていき、エラーが発生しないところで処理を継続するようにすることで、ソフトウェアやハードウェアを変更せずにデータ通信を行うことが可能になる。
【０００５】
【特許文献１】特開平１１−２４２５９６号公報，図１
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、バッファサイズが１セクタ分しか搭載していないＳＤカードインターフェースでは、ジャンプ命令等でプログラムが複数のセクタにまたがる場合に、カード型メモリからの読み出しにかかるオーバヘッドの影響が大きいので、プログラムの実行速度が遅いという欠点がある。
【０００７】
本発明は上記従来例の問題点に鑑み、カード型メモリからの読み出しにかかるオーバヘッドの影響を少なくしてプログラムの実行速度を向上させることができるカード型メモリのインターフェース回路、その回路を搭載したＡＳＩＣ、及びそのＡＳＩＣを搭載した画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、請求項１にかかる発明は、着脱可能であってセクタ単位のアクセスが必要なカード型メモリと電子機器本体を接続するカード型メモリのインターフェース回路において、前記カード型メモリからリードした少なくとも複数セクタ分のデータを格納するバッファと、前記電子機器本体側のＣＰＵからの前記カード型メモリへのリードアクセスに対し、そのリードアクセスデータが前記バッファに格納されているいずれかのセクタ内のデータである場合には前記バッファから前記リードアクセスデータを前記ＣＰＵに送信する送信手段と、を備えたことを特徴とする。
【０００９】
また、請求項２にかかる発明は、前記送信手段は、さらに、前記リードアクセスデータが前記バッファに格納されているいずれのセクタ内のデータでない場合に、該当するデータが読み出された時期が一番古いセクタのデータを破棄するとともに、前記リードアクセスデータを含むセクタデータを前記カード型メモリから読み出して前記バッファに格納後、前記バッファから前記リードアクセスデータを前記ＣＰＵに送信することを特徴とする。
【００１０】
例えば図１、図２に示すようにＳＤカードインターフェース１４は、ＳＤカード４からリードした少なくとも２セクタ分のデータを格納するバッファ１４３ａを有し、画像形成装置本体側のＣＰＵ５からのＳＤカード４へのリードアクセスに対し、そのリードアクセスデータがバッファ１４３ａに格納されているいずれかのセクタ内のデータである場合にはバッファ１４３ａからリードアクセスデータをＣＰＵ５に送信し、そのリードアクセスデータがバッファ１４３ａに格納されているいずれのセクタ内のデータでない場合に、該当するデータが読み出された時期が一番古いセクタのデータを破棄するとともに、リードアクセスデータを含むセクタデータをＳＤカード４から読み出してバッファ１４３ａに格納後、バッファ１４３ａからリードアクセスデータをＣＰＵ５に送信する。
【００１１】
上記構成により、電子機器本体側のＣＰＵからのアクセスがカード型メモリのセクタをまたがっても、そのデータをある期間保持しておくことで、セクタ境界のプログラム実行や、短いサイズのサブ関数実行におけるデータ読み出しのオーバヘッドを軽減できるようになり、これにより、プログラムの実行速度を向上させることができる。
【００１２】
また、請求項３にかかる発明は、前記カード型メモリは、ＳＤカードであることを特徴とする。
【００１３】
上記構成により、電子機器本体側のＣＰＵからのアクセスがＳＤカードのセクタをまたがっても、そのデータをある期間保持しておくことで、セクタ境界のプログラム実行や、短いサイズのサブ関数実行におけるデータ読み出しのオーバヘッドを軽減できるようになり、これにより、プログラムの実行速度を向上させることができる。
【００１４】
また、請求項４にかかる発明は、前記バッファは、少なくとも前記カード型メモリからリードした少なくとも２セクタ分のデータを格納することを特徴とする。
【００１５】
また、請求項５にかかる発明は、画像処理機能、画像入出力機能及びデータ通信機能の１以上のアプリケーション機能を有し、各アプリケーション機能がメモリ及びハードディスクの１以上を共有資源として利用可能に構成された設計されたＡＳＩＣにおいて、着脱可能であってセクタ単位のアクセスが必要なカード型メモリからリードした少なくとも複数セクタ分のデータを格納するバッファと、前記電子機器本体側のＣＰＵからの前記カード型メモリへのリードアクセスに対し、そのリードアクセスデータが前記バッファに格納されているいずれかのセクタ内のデータである場合には前記バッファから前記リードアクセスデータを前記ＣＰＵに送信する送信手段とを有するインターフェース回路を備えたことを特徴とする。
【００１６】
また、請求項６にかかる発明は、前記送信手段は、さらに、前記リードアクセスデータが前記バッファに格納されているいずれのセクタ内のデータでない場合に、該当するデータが読み出された時期が一番古いセクタのデータを破棄するとともに、前記リードアクセスデータを含むセクタデータを前記カード型メモリから読み出して前記バッファに格納後、前記バッファから前記リードアクセスデータを前記ＣＰＵに送信することを特徴とする。
【００１７】
上記構成により、カード型メモリに記憶されているプログラムなどをＡＳＩＣを介して電子機器にダウンロードする場合に、プログラムの実行速度を向上させることができる。
【００１８】
また、請求項７にかかる発明は、前記カード型メモリは、ＳＤカードであることを特徴とする。
【００１９】
上記構成により、電子機器本体側のＣＰＵからのアクセスがＳＤカードのセクタをまたがっても、そのデータをある期間保持しておくことで、セクタ境界のプログラム実行や、短いサイズのサブ関数実行におけるデータ読み出しのオーバヘッドを軽減できるようになり、これにより、プログラムの実行速度を向上させることができる。
【００２０】
また、請求項８にかかる発明は、前記バッファは、少なくとも前記カード型メモリからリードした少なくとも２セクタ分のデータを格納することを特徴とする。
【００２１】
また、請求項９にかかる発明は、画像処理機能、画像入出力機能及びデータ通信機能の１以上のアプリケーション機能を有する画像形成装置において、各アプリケーション機能がメモリ及びハードディスクの１以上を共有資源として利用可能に構成された設計されたＡＳＩＣを備え、前記ＡＳＩＣは、着脱可能であってセクタ単位のアクセスが必要なカード型メモリからリードした少なくとも複数セクタ分のデータを格納するバッファと、前記電子機器本体側のＣＰＵからの前記カード型メモリへのリードアクセスに対し、そのリードアクセスデータが前記バッファに格納されているいずれかのセクタ内のデータである場合には前記バッファから前記リードアクセスデータを前記ＣＰＵに送信する送信手段とを有するインターフェース回路を備えたことを特徴とする。
【００２２】
また、請求項１０にかかる発明は、前記送信手段は、さらに、前記リードアクセスデータが前記バッファに格納されているいずれのセクタ内のデータでない場合に、該当するデータが読み出された時期が一番古いセクタのデータを破棄するとともに、前記リードアクセスデータを含むセクタデータを前記カード型メモリから読み出して前記バッファに格納後、前記バッファから前記リードアクセスデータを前記ＣＰＵに送信することを特徴とする。
【００２３】
上記構成により、電子機器本体側のＣＰＵからのアクセスがカード型メモリのセクタをまたがっても、そのデータをある期間保持しておくことで、セクタ境界のプログラム実行や、短いサイズのサブ関数実行におけるデータ読み出しのオーバヘッドを軽減できるようになり、これにより、プログラムの実行速度を向上させることができる。
【００２４】
また、請求項１１にかかる発明は、前記カード型メモリは、ＳＤカードであることを特徴とする。
【００２５】
上記構成により、電子機器本体側のＣＰＵからのアクセスがＳＤカードのセクタをまたがっても、そのデータをある期間保持しておくことで、セクタ境界のプログラム実行や、短いサイズのサブ関数実行におけるデータ読み出しのオーバヘッドを軽減できるようになり、これにより、プログラムの実行速度を向上させることができる。
【００２６】
また、請求項１２にかかる発明は、前記バッファは、少なくとも前記カード型メモリからリードした少なくとも２セクタ分のデータを格納することを特徴とする。
【００２７】
また、請求項１３にかかる発明は、前記カード型メモリに格納されているプログラムを直接実行することを特徴とする。
【００２８】
上記構成により、画像形成装置のソフトウェア開発の効率化を図ることが可能となる。
【発明の効果】
【００２９】
以上説明したように本発明によれば、電子機器本体側のＣＰＵからのアクセスがＳＤカードのセクタをまたがっても、そのデータをある期間保持しておくことで、セクタ境界のプログラム実行や、短いサイズのサブ関数実行におけるデータ読み出しのオーバヘッドを軽減できるようになり、これにより、プログラムの実行速度を向上させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００３０】
以下に添付図面を参照して、この発明にかかるカード型メモリのインターフェース回路、その回路を搭載したＡＳＩＣ、及びそのＡＳＩＣを搭載した画像形成装置の最良な実施の形態を詳細に説明する。
【００３１】
図１は本発明に係るＳＤカードインターフェースを内蔵したＡＳＩＣを備えた画像形成装置の一実施形態を示すブロック図、図２は図１のＳＤカードインターフェースを詳しく示すブロック図である。
【００３２】
図１において、ＡＳＩＣ（特定用途向けＩＣ）１０は画像入出力機能、画像処理機能及びデータ通信等の複数のアプリケーション機能を有し、各アプリケーション機能がメモリ６、ＨＤＤ（ハードディスクドライブ）１内のハードディスク等を共通資源として利用可能に設計され、ＡＳＩＣ１０には、ＨＤＤ１と、ＰＨＹデバイス（ネットワークデバイス）２と、ＰＨＹデバイス（ＵＳＢデバイス）３と、ＳＤカード４と、画像形成装置本体側のＣＰＵ５、メモリ６、プリンタエンジン２０及びＩＥＥＥ１２８４デバイス及が接続される。ＨＤＤ１は画像データやプログラムを格納し、ＣＰＵ５は画像形成装置全体の制御を行い、メモリ６はランダムアクセス可能である。なお、プリンタエンジン２０は記録媒体に可視画像を形成する画像形成手段として機能し、ＩＥＥＥ１２８４インターフェイス１７を使用して外部から転送されてくる画像データ、ＰＨＹデバイス２，３から転送されてくる画像データ、ＨＤＤ１、ＳＤカード４などに格納されていた画像データに基づいて画像を形成することが可能であり、プリンタエンジン２０とシステムを組むことによりＡＳＩＣ１０を備えたプリンタ、コピー装置、ファクシミリなどの画像形成装置を構成する。
【００３３】
ＡＳＩＣ１０には詳しくは、メモリ・アービタ３０と、メモリ・アービタ３０とＨＤＤ（ハードディスクドライブ）１を接続するためのＨＤＤインターフェイス１１及びＤＭＡコントローラ２１と、メモリ・アービタ３０とＰＨＹデバイス２を接続するためのネットワークインターフェイス１２及びＤＭＡコントローラ２２と、メモリ・アービタ３０とＰＨＹデバイス３を接続するためのＵＳＢインターフェイス１３及びＤＭＡコントローラ２３と、メモリ・アービタ３０（及びメモリコントローラ１６）とＳＤカード４を接続するためのＳＤカードインターフェイス１４及びＤＭＡコントローラ２４と、メモリ・アービタ３０とＣＰＵ５を接続するためのＣＰＵインターフェイス１５と、メモリ・アービタ３０（及びＳＤカードインターフェイス１４）とメモリ６を接続するためのメモリコントローラ１６と、メモリ・アービタ３０と不図示のＩＥＥＥ１２８４デバイス、プリンタエンジンをそれぞれ接続するためのＩＥＥＥ１２８４インターフェイス１７、プリンタエンジンインターフェイス１８が設けられている。
【００３４】
すなわち、ハードディスクやネットワークなど、複数のアプリケーションに加え、ＳＤカードインターフェイス１４がメモリアービタ３０を介したＤＭＡコントローラ２４によるデータ転送パスと、ランダムアクセス用のメモリコントローラ１６へのパスで接続されている。この構成により、ＳＤカード４からメモリ６だけではなくＨＤＤ１やネットワークデバイス、ＵＳＢデバイスのインターフェース１２、１３間でのデータ転送も可能になる。
【００３５】
図２はＳＤカードインターフェイス１４の構成例を詳しく示す。ＳＤカードコントローラ１４１は、ＳＤカード４の規格に準じてＳＤカード４とのデータの通信を実際に行う部分である。制御回路１４５は、ＣＰＵ５からの制御コマンドをＳＤカードコントローラ１４１に与えたり、ＳＤカード４にたいしＤＭＡ転送を使用するか、ランダムアクセスを使用するかを選択するためにマルチプレクサ１４４の切替を行う回路ブロックである。
【００３６】
ＤＭＡインターフェース１４２は、ＳＤカードコントローラ１４１（及びマルチプレクサ１４４）と図１におけるＤＭＡコントローラ２４との間にあり、両者のインターフェースの整合を取り、ＤＭＡにより転送を可能とする回路ブロックである。ＲＡＭアクセスインターフェース１４３は、図１におけるメモリ（ＲＡＭ）コントローラ１６もしくはＣＰＵインターフェース１５とＳＤカードコントローラ１４１（及びマルチプレクサ１４４）との間にあり、両者のインターフェースの整合を取る回路ブロックである。
【００３７】
ＲＡＭアクセスインターフェース１４３内には、複数セクタ分（５１２バイトｘＮセクタ）のバッファ（ＲＡＭ）１４３ａを内蔵し、このバッファ１４３ａにＳＤカード４の複数セクタ分のデータを蓄えることができるようになっている。ＣＰＵ５からのリードアクセスに対し、このバッファ１４３ａに格納されているセクタ範囲内のデータであれば、ＳＤカード４からのデータ読み出しを経ることなく、バッファ１４３ａからデータを読み出すことができる。これにより、ＳＤカード４へのアクセスを最小限に抑えるようにしている。
【００３８】
次に、以上のように構成された本実施の形態にかかる画像形成装置の初期化処理について説明する。本実施の形態の画像形成装置では、ＳＤカード４にブートプログラムが格納されている。従来、ブートプログラムなどのシステムプログラムはＲＯＭ等のメモリ６に組み込まれコントローラボードなどの基板上に実装されていたが、本実施の形態にかかる画像形成装置では、ＳＤカード４に格納しておくことにより、ピット単価を抑え、開発費用を低減させている。また、ＳＤカード４に格納されているシステムプログラムを変更することはＲＯＭに組み込まれたプログラムの変更よりも容易に行えるので、画像形成装置のバージョンアップや修正プログラムによる変更等を容易に実現することができるようになっている。
【００３９】
図３は、本実施の形態にかかる画像形成装置の初期化処理の手順を示すフローチャートである。本実施の形態の画像形成装置は電源が投入されると初期化処理が実行される。画像形成装置は、まずＣＰＵ５がシステムリセットの解除を行う（ステップＳ３０１）。そして、ＣＰＵ５の起動後ＳＤカード４に格納されているブートプログラムを読み出しながら実行する（ステップＳ３０２）。具体的には、ＳＤカード４に格納されているブートプログラムをＲＡＭにコピーする。次いで、ＲＡＭ上にコピーされたブートプログラムを実行する（ステップＳ３０３）。
【００４０】
なお、本実施の形態では、ＳＤカード４にブートプログラムが格納された構成となっているが、コントローラボード上のフラッシュメモリ等の書き換え可能な不揮発性メモリにブートプログラムなどのシステムプログラムを格納しておき、ＳＤカード４に新たなバージョンのシステムプログラムを格納しておき、ＳＤカードに格納されたシステムプログラムで不揮発性メモリ内のシステムプログラムを更新するように構成してもよい。
【００４１】
図４は、ＳＤカードインターフェイス１４によるＳＤカード４の初期化手順を示したフローチャートの一例である。初期化はシーケンシャルな処理で済むものであり、手順さえ間違わなければさほど難しいものではない。問題になるのは、カード未挿入や適用外のカード挿入によるエラーが発生した場合である。カード未挿入の場合、一定時間の間はカード挿入の確認を継続することも可能である。
【００４２】
本システムでは、ＳＤカードインターフェース１４におけるハードウェアでの初期化処理の使用目的を限定することで、エラーの発生を抑えることにしている。つまり、ソフトウェアのアップデートや自己診断プログラムの実行など、サービスエンジニアなどによる特定の作業に限定することである。
【００４３】
図４は、図１のＳＤカードインターフェースによるＳＤカード初期化処理の手順を示すフローチャートである。図４を参照して詳しく説明する。まず、ＳＤカード４が初期化済みか否かを判断し（ステップＳ４０１）、初期化済みでなければＳＤインターフェースリセット解除を実行する（ステップＳ４０２）。次いでカード４の挿入を確認し（ステップＳ４０３、Ｓ４０４）、カード４があればステップＳ４０５に進み、他方、カード４がなければステップＳ４０１に戻る。
【００４４】
ステップＳ４０５以下の処理では、ＳＤクロック設定（ステップＳ４０５）、ＳＤカード初期化（ステップＳ４０６）、動作電圧設定（ステップＳ４０７）、カードＩＤ取得（ステップＳ４０８）、カードアドレス取得（ステップＳ４０９）、カードサイズ取得（ステップＳ４１０）、ブロック長設定（ステップＳ４１１）、データバス幅設定（ステップＳ４１２）、カードステータス取得（ステップＳ４１３）、初期化済みフラグのセット（ステップＳ４１５）を実行する。また、エラーが発生した場合にはカードみ挿入フラグをセットし（ステップＳ４１４）、次いでステップＳ４１５に進む。
【００４５】
図５は、上記ステップＳ４１０におけるカードサイズ取得の処理の手順を示すフローチャートである。また、図６は、ＳＤカードのメモリマップの一例を示す説明図である。上記ステップＳ４１０におけるカードサイズ取得処理では、ＳＤカードの記憶容量に応じたユーザ領域のオフセットアドレスが求められる。
【００４６】
まず、ＳＤカード４のユーザ領域サイズ（Ｃ＿ＳＩＺＥ）を取得する（ステップＳ５０１）。そして、ＳＤカードのデバイスサイズ乗率（Ｃ＿ＳＩＺＥ＿ＭＵＬＴ）を取得する（ステップＳ５０２）。次に、次式によりカードサイズ（ｃａｒｄ＿ｓｉｚｅ）を算出する（ステップＳ５０３）。
ｃａｒｄ＿ｓｉｚｅ＝Ｃ＿ＳＩＺＥ／[２＾（９−Ｃ＿ＳＩＺＥ＿ＭＵＬＴ）]
【００４７】
次に、カードサイズ（ｃａｒｄ＿ｓｉｚｅ）に応じたオフセットアドレス（ｓｄ＿ｏｆｆｓｅｔ）を決定する（ステップＳ５０４）。
【００４８】
このようなカードサイズの取得処理により、ユーザデータの領域サイズが求められる。ユーザ領域サイズからＳＤカード４の公称サイズがわかり、オフセットアドレス（ａｄ＿ｏｆｆｓｅｔ）を得ることができる。ＳＤカードの領域の中でＣＰＵ５に解放されている領域はユーザ領域だけである。従って、ＣＰＵ５からのアクセスされるアドレス（セグメントアドレス：ｒｄ＿ａｄｒ）にオフセットアドレス（ｓｄ＿ｏｆｆｓｅｔ）を加算したアドレスが読み出し対象領域のアドレスとなる。ＳＤカード４へのアクセスは、１セクタを例えば５１２バイトとすると、読み出すべきセクタ番号（ｓｅｃｔｏｒ＿ｎｕｍ）は、次式で求められる。
ｓｅｃｔｏｒ＿ｎｕｍ＝（ｒｄ＿ａｄｒ＋ｓｄ＿ｏｆｆｓｅｔ）＞＞９
【００４９】
図７は、ＣＰＵ５からＳＤカード４に対するリードアクセスがあった場合の処理を説明するためのフローチャートの一例として、２セクタ分のバッファ１４３ａを有する場合を示している。この回路もシーケンス処理になる。図３の初期化処理が終了するまでは、起動しない仕組みとなっている。初期化が終了した時点でＳＤカード４を認識できなかった場合は、シーケンサを停止させる。このことは、前述のとおり用途を限定することで、問題のない範疇になる。図７はＳＤカードへのリードアクセスのみを記述しているため、ＣＰＵ５からのアクセス要求がリードアクセス以外の場合はアクセスエラーを返す仕組みになっている。
【００５０】
ＣＰＵ５からのリード要求データ量がバッファ１４３ａ内に格納されている２セクタのいずれかと同じＳＤカード４上のセクタの範囲内であるならば、バッファ１４３ａにすでにデータが存在することになる。その場合は、要求されたデータを即座にバッファ１４３ａからＣＰＵ５へ返すことになる。このとき、アクセスされたセクタ領域を領域＝０と定義し、常に領域＝０が最後にアクセスされたセクタであるように管理する。
【００５１】
もし、要求されたデータがすでにバッファ１４３ａに格納されているセクタの範囲外であるならば、シーケンサはセクタ領域＝１のセクタデータを破棄し、領域＝０のセクタデータを領域１＝に移動する（バンク切換えでもよい）。ＳＤカード４から該当するセクタデータを読み出す処理を実行し、領域＝０にデータを格納する。そして、ＣＰＵ５から要求のあったアドレスのデータを返す。この動作により、ＣＰＵ５はＳＤカード４を意識することなくＳＤカード４内の任意のアドレスのデータを読み出すことが可能になる。
【００５２】
図７は、図１のＳＤカードインターフェースによるＣＰＵリードアクセス処理の手順を示すフローチャートである。図７を参照して詳しく説明する。まず、図３の初期化処理が終了しているか否かを判断する（ステップＳ７０１）。そして、初期化済みであれば、ＳＤカード４の有無を判断する（ステップＳ７０２）。ＳＤカード４がなければこの処理を終了し、他方、ＳＤカード４があれば、ＳＤカード４に対するアクセス要求があったか否かを判断する（ステップ７０３）。そして、アクセス要求がない場合にはステップＳ７０３に戻る。一方、アクセス要求があった場合には、その要求がリード要求であるか否かを判断する（ステップＳ７０４）。
【００５３】
ＳＤカード４に対するリード要求である場合には、ステップＳ７０５に進み、他方、リード要求でない場合にはエラー応答を実行し（ステップＳ７１２）、次いでステップＳ７０３に戻る。
【００５４】
ステップＳ７０５ではリードアクセスデータがセクタ領域＝０にあるか否かを判断し（ステップＳ７０５）、セクタ領域＝０になければステップＳ７０６に進み、他方、セクタ領域＝０にあればステップＳ７１１に進んでセクタ領域＝０内のリードアクセスデータをリードし、そのリードデータをＣＰＵ５に応答する（ステップＳ７１１）。
【００５５】
ステップＳ７０６ではリードアクセスデータがセクタ領域＝１にあるかを判断し、セクタ領域＝１になければステップＳ７０７に進み、他方、セクタ領域＝１にあればセクタ領域＝０のデータとセクタ領域＝１のデータを入れ替え（ステップＳ７１３）、次いでステップＳ７１１に進んでセクタ領域＝０内のリードアクセスデータをリードし、そのリードデータをＣＰＵ５に応答する。
【００５６】
ステップＳ７０７ではセクタ領域＝０のデータをセクタ領域＝１に移動し、次いでＳＤカード４に対してセクタリードコマンドを発行する（ステップＳ７０８）。次いでセクタリード終了まで待機し（ステップＳ７０９）、セクタリードが終了するとそのセクタデータをセクタ領域＝０に書き込み（ステップＳ７１０）、次いでセクタ領域＝０内のリードアクセスデータをリードし、そのリードデータをＣＰＵ５に応答し（ステップＳ７１１１）、次いでステップＳ７０３に戻る。
【００５７】
このように本実施の形態の画像形成装置では、ＣＰＵ５からのアクセスがＳＤカード４のセクタをまたがっても、そのデータをある期間保持しておくことで、セクタ境界のプログラム実行や、短いサイズのサブ関数実行におけるデータ読み出しのオーバヘッドを軽減できるようになり、これにより、プログラムの実行速度を向上させることができる。
【００５８】
なお、本実施の形態では、バッファに２セクタ分のサイズの領域を有しているが、３セクタ以上の領域を有するように構成してもよい。
【図面の簡単な説明】
【００５９】
【図１】本発明に係るＳＤカードインターフェースを内蔵したＡＳＩＣを備えた画像形成装置の一実施形態を示すブロック図である。
【図２】図１のＳＤカードインターフェースを詳しく示すブロック図である。
【図３】本実施の形態にかかる画像形成装置の初期化処理の手順を示すフローチャートである。
【図４】図１のＳＤカードインターフェースによるＳＤカード初期化処理の手順を示すフローチャートである。
【図５】カードサイズ取得の処理の手順を示すフローチャートである。
【図６】ＳＤカードのメモリマップの一例を示す説明図である。
【図７】図１のＳＤカードインターフェースによるＣＰＵリードアクセス処理を説明するためのフローチャートである。
【符号の説明】
【００６０】
４  ＳＤカード
５  ＣＰＵ
１０  ＡＳＩＣ
１４  ＳＤカードインターフェース
１４１  ＳＤカードコントローラ
１４２  ＤＭＡインターフェース
１４３  ＲＡＭアクセスインターフェース
１４３ａ  バッファ（ＲＡＭ）
１４４  マルチプレクサ
１４５  制御回路
【図１】
2004220575.tif 000003
【図２】
2004220575.tif 000004
【図３】
2004220575.tif 000005
【図４】
2004220575.tif 000006
【図５】
2004220575.tif 000007
【図６】
2004220575.tif 000008
【図７】
2004220575.tif 000009