(57)【要約】【課題】ＮＡＮＤ型フラッシュメモリコントローラを種々のＮＡＮＤ型フラッシュメモリに対応可能とし、機能やスペックを落とさずに制御基板を長いライフサイクルで使えるようにする。【解決手段】システム電源をＯＮして、メインＣＰＵを起動させると共に、ＮＡＮＤ型フラッシュメモリコントローラ１２を起動させる。ＮＡＮＤ型フラッシュメモリコントローラ１２の起動においては、ＮＡＮＤ型フラッシュメモリ１３からＮＡＮＤ  ＩＤ２０を読み込んで、メモリアクセスに必要な個別仕様を設定すると共に、コンフィグデータ２１を読み込んで、メモリアクセス時におけるスピード（アクセスタイム）を設定する。そして、ＮＡＮＤ型フラッシュメモリ１３のユーザデータ２２をＤＲＡＭへコピーして、メインＣＰＵがメインプログラムを実行する。【選択図】        図２
2008158991.tif 000002
【特許請求の範囲】
【請求項１】
プログラムデータを格納するＮＡＮＤ型フラッシュメモリに対してＮＡＮＤ型フラッシュメモリコントローラを用いて制御を行うＮＡＮＤ型フラッシュメモリの制御システムであって、
前記ＮＡＮＤ型フラッシュメモリコントローラは、前記ＮＡＮＤ型フラッシュメモリの特定領域に格納された設定データを読み込むことにより、当該ＮＡＮＤ型フラッシュメモリに応じた動作仕様に変更することを特徴とするＮＡＮＤ型フラッシュメモリの制御システム。
【請求項２】
前記ＮＡＮＤ型フラッシュメモリに対して外部メディアからプログラムデータを書き込む際に、前記外部メディアに格納されている設定データを前記特定領域に書き込むことを特徴とする請求項１に記載のＮＡＮＤ型フラッシュメモリの制御システム。
【請求項３】
前記ＮＡＮＤ型フラッシュメモリの設定データが格納された書込み治具をさらに備え、
前記書込み治具を前記ＮＡＮＤ型フラッシュメモリのインターフェースに接続し、前記特定領域へ設定データを書き込むことを特徴とする請求項１に記載のＮＡＮＤ型フラッシュメモリの制御システム。
【請求項４】
前記ＮＡＮＤ型フラッシュメモリに格納されたプログラムデータに設定データが含まれている場合は、システムのブート後に前記ＮＡＮＤ型フラッシュメモリコントローラがプログラムデータ内の設定データをコピーして、前記ＮＡＮＤ型フラッシュメモリの特定領域に書き込むことを特徴とする請求項１に記載のＮＡＮＤ型フラッシュメモリの制御システム。
【請求項５】
前記ＮＡＮＤ型フラッシュメモリコントローラが前記ＮＡＮＤ型フラッシュメモリの特定領域に設定データをコピーして書き込んだ後、前記ＮＡＮＤ型フラッシュメモリコントローラをリセットしてリブートすることにより、設定データの設定値を反映させることを特徴とする請求項４に記載のＮＡＮＤ型フラッシュメモリの制御システム。
【請求項６】
前記設定データにフラグを設け、該設定データをコピーする否かをフラグに基づいて判断することを特徴とする請求項４に記載のＮＡＮＤ型フラッシュメモリの制御システム。
【請求項７】
前記設定データにバージョン情報を設け、該設定データを更新する否かをバージョン情報に基づいて判断することを特徴とする請求項４に記載のＮＡＮＤ型フラッシュメモリの制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＡＮＤ型フラッシュメモリの制御システムに関し、より詳しくは、プログラムデータを格納するＮＡＮＤ型フラッシュメモリに対してＮＡＮＤ型フラッシュメモリコントローラを用いて制御を行うＮＡＮＤ型フラッシュメモリの制御システムに関する。
【背景技術】
【０００２】
従来、複写機、ファクシミリ、プリンタ等の機器において、メモリに格納されたプログラムデータを実行する場合、ランダムアクセス可能なメモリであることが必須であるため、プログラム格納用の不揮発メモリとしてはＮＯＲ型フラッシュメモリを採用するのが一般的であった。
【０００３】
しかし、最近では各機器におけるアプリケーションの増大によりプログラム容量が肥大化してきており、単位ビットあたりの単価が安く、書き込み速度の速いＮＡＮＤ型フラッシュメモリをプログラム格納用に採用するケースが増えている。
【０００４】
但し、ＮＡＮＤ型フラッシュメモリの採用にあたっては、不良ブロックの管理、論理物理アドレスの変換、ブロックの均一化（ウエアレベリング）等の機能が必要になってくる。そこで、これらの機能をホスト側のソフトウェアを用いて行うことも可能であるが、ソフトドライバ処理の負荷を低減させるため、上記機能が搭載された汎用のＮＡＮＤ型フラッシュメモリコントローラが使われている。
【０００５】
そして、このＮＡＮＤ型フラッシュメモリには、メモリの仕様を示すデバイスＩＤがあって、接続されているＮＡＮＤ型フラッシュメモリコントローラがこのデバイスＩＤを読み込むことで、ＮＡＮＤ型フラッシュメモリの仕様に合わせた設定を行っている。
【０００６】
【特許文献１】特開２００３−３０８５２５号公報
【特許文献２】特開２００３−３３０７４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
このようなＮＡＮＤ型フラッシュメモリは、チップサイズを縮小するプロセスシュリンクによって大容量化と高速化が達成できるが、これを制御するＮＡＮＤ型フラッシュメモリコントローラの仕様を最新のＮＡＮＤ型フラッシュメモリが使える様にスケーラブルに対応させることが要請されている。
【０００８】
しかしながら、ＮＡＮＤ型フラッシュメモリで使われているデバイスＩＤは、メーカによって微妙に異なり、サイズが限られていることから（例えば、４Ｂｙｔｅ）、拡張機能等のスペックを読み取ることができないという課題があった。そこで、ＮＡＮＤ型フラッシュメモリの進化と共にデバイスＩＤのスペックが拡張されると、ＮＡＮＤ型フラッシュメモリコントローラの開発時に未定義の情報が必要となる場合が出てくる。
【０００９】
また、ＮＡＮＤ型フラッシュメモリの変動要素には、容量、ブロックサイズ、ページサイズ、アクセス速度、あるいはバス幅などがあるが、これらを設定するにあたり、ＮＡＮＤ型フラッシュメモリコントローラの外部端子、あるいは、他の不揮発性デバイス（例えば、ＥＥＰＲＯＭ等）から設定可能な冗長的な仕様にすると、ＮＡＮＤ型フラッシュメモリコントローラのコストアップにつながるという課題があった。
【００１０】
さらに、ＮＡＮＤ型フラッシュメモリコントローラ内のファームウェアをマスクＲＯＭからフラッシュＲＯＭに変えることによって、ハードウェアを変更せずに機能を拡張することが可能になるが、フラッシュＲＯＭへの変更はＮＡＮＤ型フラッシュメモリコントローラをコストアップさせるという課題があった。
【００１１】
また、汎用のＮＡＮＤ型メモリモジュール（ＳＤカード、ＵＳＢメモリ）は、ライフサイクルが短いため、製品毎にＮＡＮＤ型コントロールＩＣを見直すことで対応が可能である。しかし、複写機や複合機等にＮＡＮＤ型フラッシュメモリを組み込む場合は、機器のライフサイクルが長い上、コントローラの共通化により、後発のモデルでは最新の容量や速度を持ったＮＡＮＤ型フラッシュメモリの搭載を検討することが必要となるが、その時にＮＡＮＤ型フラッシュメモリコントローラの仕様が対応していないと、ＮＡＮＤ型フラッシュメモリの変更によって評価や品質保証をやり直さなければならず、都合が悪いという課題があった。
【００１２】
本発明は、上記に鑑みてなされたものであって、ＮＡＮＤ型フラッシュメモリコントローラを幅広いＮＡＮＤ型フラッシュメモリに対応可能にすると共に、機能やスペックを落とすことなく制御基板を長いライフサイクルで使用することのできるＮＡＮＤ型フラッシュメモリの制御システムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するために、発明は、プログラムデータを格納するＮＡＮＤ型フラッシュメモリに対してＮＡＮＤ型フラッシュメモリコントローラを用いて制御を行うＮＡＮＤ型フラッシュメモリの制御システムであって、前記ＮＡＮＤ型フラッシュメモリコントローラは、前記ＮＡＮＤ型フラッシュメモリの特定領域に格納された設定データを読み込むことにより、当該ＮＡＮＤ型フラッシュメモリに応じた動作仕様に変更することを特徴とする。
【００１４】
また、本発明の好ましい態様によれば、前記ＮＡＮＤ型フラッシュメモリに対して外部メディアからプログラムデータを書き込む際に、前記外部メディアに格納されている設定データを前記特定領域に書き込むことが望ましい。
【００１５】
また、本発明の好ましい態様によれば、前記ＮＡＮＤ型フラッシュメモリの設定データが格納された書込み治具をさらに備え、前記書込み治具を前記ＮＡＮＤ型フラッシュメモリのインターフェースに接続し、前記特定領域へ設定データを書き込むことが望ましい。
【００１６】
また、本発明の好ましい態様によれば、前記ＮＡＮＤ型フラッシュメモリに格納されたプログラムデータに設定データが含まれている場合は、システムのブート後に前記ＮＡＮＤ型フラッシュメモリコントローラがプログラムデータ内の設定データをコピーして、前記ＮＡＮＤ型フラッシュメモリの特定領域に書き込むことが望ましい。
【００１７】
また、本発明の好ましい態様によれば、前記ＮＡＮＤ型フラッシュメモリコントローラが前記ＮＡＮＤ型フラッシュメモリの特定領域に設定データをコピーして書き込んだ後、前記ＮＡＮＤ型フラッシュメモリコントローラをリセットしてリブートすることにより、設定データの設定値を反映させることが望ましい。
【００１８】
また、本発明の好ましい態様によれば、前記設定データにフラグを設け、該設定データをコピーする否かをフラグに基づいて判断することが望ましい。
【００１９】
また、本発明の好ましい態様によれば、前記設定データにバージョン情報を設け、該設定データを更新する否かをバージョン情報に基づいて判断することが望ましい。
【発明の効果】
【００２０】
本発明によれば、プログラムデータを格納するＮＡＮＤ型フラッシュメモリとＮＡＮＤ型フラッシュメモリコントローラとを備え、ＮＡＮＤ型フラッシュメモリコントローラがＮＡＮＤ型フラッシュメモリの特定領域に格納された設定データを読み込むことで、当該ＮＡＮＤ型フラッシュメモリの動作仕様に応じた設定変更を行うようにする。このように、個々のＮＡＮＤ型フラッシュメモリの設定データを、自身の特定領域に格納することにより、従来のデバイスＩＤのような容量やデータ形式による制約が無くなり、接続されたＮＡＮＤ型フラッシュメモリコントローラがＮＡＮＤ型フラッシュメモリ内の特定領域の設定データを読み込んで、様々なＮＡＮＤ型フラッシュメモリに応じた動作仕様に容易に設定を変更することができるという効果を奏する。
【００２１】
また、本発明によれば、外部メディアを使ってＮＡＮＤ型フラッシュメモリに対しプログラムデータを書き込む場合は、その外部メディアに格納されている設定データを特定領域に書き込むようにする。このように、製品化後に外部メディアを使ってＮＡＮＤ型フラッシュメモリにプログラムデータを書き込む場合は、その外部メディアに格納された設定データを特定領域に書き込み、ＮＡＮＤ型フラッシュメモリコントローラがここから設定データを読み込むことによって、ＮＡＮＤ型フラッシュメモリに合った動作仕様に容易に設定を変更することができるという効果を奏する。
【００２２】
また、本発明によれば、ＮＡＮＤ型フラッシュメモリの設定データが格納された書込み治具を具備し、その書込み治具を使って製品化後のＮＡＮＤ型フラッシュメモリのインターフェースに接続し、書込み治具に格納されている設定データをＮＡＮＤ型フラッシュメモリの特定領域に書き込むようにする。このように、ＮＡＮＤ型フラッシュメモリコントローラは、ＮＡＮＤ型フラッシュメモリの特定領域に書き込まれた設定データを読み込むことによって、ＮＡＮＤ型フラッシュメモリに合った動作仕様に容易に設定を変更することができるという効果を奏する。
【００２３】
また、本発明によれば、ＮＡＮＤ型フラッシュメモリに格納されたプログラムデータに設定データが含まれている場合は、システムのブート（起動）後にＮＡＮＤ型フラッシュメモリコントローラがＮＡＮＤ型フラッシュメモリのプログラムデータ内の設定データをコピーして、特定領域へ書き込むようにする。このように、ＮＡＮＤ型フラッシュメモリコントローラは、プログラムデータ内に格納された設定データを、システムの通常起動時に特定領域へ書き込むことができるという効果を奏する。
【００２４】
また、本発明によれば、ＮＡＮＤ型フラッシュメモリコントローラがＮＡＮＤ型フラッシュメモリの特定領域に設定データをコピーして書き込んだ後、ＮＡＮＤ型フラッシュメモリコントローラをリセットしてリブート（再起動）することにより、設定データの設定値を反映させるようにする。このように、設定データの設定値を反映させる場合、システム全体の電源をＯＮ／ＯＦＦさせてブートするのではなく、ＮＡＮＤ型フラッシュメモリコントローラにのみリセットをかけ、リブートすることにより、設定データの設定値の反映を効率良く行うことができるという効果を奏する。
【００２５】
また、本発明によれば、設定データをコピーしてＮＡＮＤ型フラッシュメモリの特定領域に書き込むか否かを判断するフラグを設定データに設け、ＮＡＮＤ型フラッシュメモリコントローラが設定データのフラグの状態を見て、特定領域への設定データの書き込み判断を行うようにする。このように、フラグを使って設定データの特定領域への書き込み判断を行うため、これまで通常起動時毎に設定データの書き込み処理を行っていた無駄な処理を無くすことができるという効果を奏する。
【００２６】
また、本発明によれば、設定データにバージョン情報を設け、ＮＡＮＤ型フラッシュメモリコントローラが設定データのバージョン情報に基づいて、設定データを更新する否かの判断を行うようにする。このように、バージョン情報を使って設定データの更新判断を行うため、これまで通常起動時毎に設定データの書き込み処理を行っていた無駄な処理を無くすことができるという効果を奏する。
【発明を実施するための最良の形態】
【００２７】
以下に、本発明にかかるＮＡＮＤ型フラッシュメモリの制御システムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００２８】
（第１の実施の形態）
図１は、本実施の形態にかかる複写機の制御基板の概略構成を説明するブロック図である。図１に示す制御基板は、ＣＰＵ１０、ＤＲＡＭ１１、ＮＡＮＤ型フラッシュメモリコントローラ１２、ＮＡＮＤ型フラッシュメモリ１３、ＮＯＲ型フラッシュメモリ１４、ＳＤカード１５、およびＨＤＤ１６などにより構成されている。
【００２９】
ＣＰＵ１０は、複写機全体の制御を行う制御部である。ＤＲＡＭ１１は、ＮＡＮＤ型フラッシュメモリ１３などに格納されたプログラムデータをコピーし、このＤＲＡＭ上でプログラムの実行に用いられるメモリである。ＮＡＮＤ型フラッシュメモリコントローラ１２とＮＡＮＤ型フラッシュメモリ１３は、本発明の制御システムを構成する主要部であって、ＮＡＮＤインターフェース（Ｉ／Ｆ）を介して接続されている。ＮＯＲ型フラッシュメモリ１４は、ＣＰＵ１０の起動用プログラムが格納されていて、システムの電源ＯＮ時にＣＰＵ１０がＮＯＲ型フラッシュメモリ１４のプログラムにより起動する。ＳＤカード１５は、プログラムデータや設定データとしてのコンフィグデータを格納する着脱可能な外部メディアである。ＨＤＤ１６は、ＣＰＵ１０とＡＴＡを介して接続され、種々のデータを格納できる大容量の不揮発性メモリである。
【００３０】
図２は、図１のＮＡＮＤ型フラッシュメモリコントローラとＮＡＮＤ型フラッシュメモリとの詳細構成図である。図２に示すように、ＮＡＮＤ型フラッシュメモリコントローラ１２は、ＮＡＮＤインターフェースを介してＮＡＮＤ型フラッシュメモリ１３と接続され、ＮＡＮＤ型フラッシュメモリ１３に対する制御を行うものである。ＮＡＮＤ型フラッシュメモリコントローラ１２は、ＣＰＵ１２１、ＲＯＭ１２２、ＲＡＭ１２３、ＮＡＮＤコントローラモジュール１２４、ＵＳＢインターフェース１２５、および汎用入出力ポートとしてのＧＰＩＯ（Ｇｅｎｅｒａｌ  ｐｕｒｐｏｓｅ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）１２６などを備えている。また、ＮＡＮＤ型フラッシュメモリ１３は、デバイスＩＤとしてのＮＡＮＤ  ＩＤ２０を格納するブロック、拡張デバイスＩＤとして設定データなどのコンフィグデータ（Ｃｏｎｆｉｇ  Ｄａｔａ）２１を格納するブロック、およびプログラムデータなどのユーザデータ２２を格納するブロックなどを備えている。
【００３１】
図３は、図２のＮＡＮＤ型フラッシュメモリのＮＡＮＤ  ＩＤの構成を説明する図である。ＮＡＮＤ  ＩＤ２０は、図３の上表に示すように、メーカコード、デバイスコード、ページサイズ、ブロックサイズ、バス幅、およびスピード（アクセスタイム）などで構成されている。そして、これらのＮＡＮＤ  ＩＤは、図３の下表に示すように、４バイト内に収められている。
【００３２】
図４は、図２のＮＡＮＤ型フラッシュメモリのコンフィグデータの構成を説明する図である。このコンフィグデータ２１は、ＮＡＮＤ型フラッシュメモリコントローラ１２で決められたＮＡＮＤ型フラッシュメモリ１３の特定領域に書き込まれる。図４の上表では、コンフィグデータ２１に読み出し（Ｒｅａｄ）タイミングと書き込み（Ｗｒｉｔｅ）タイミングのデータが書き込まれていることを示し、図４の下表では、ＮＡＮＤ型フラッシュメモリ毎のタイミング仕様とそれに対する設定値との関係を示している。図５は、コンフィグデータをＮＡＮＤ型フラッシュメモリコントローラからＮＡＮＤ型フラッシュメモリの特定領域に書き込む際に必要な専用のコマンド構成図である。図５の専用コマンドを使ってコンフィグデータの書き込みを行うと、通常のフォーマットされたメモリ空間からはアクセスできなくなる。
【００３３】
図１２は、第１の実施の形態にかかるＮＡＮＤ型フラッシュメモリの制御システムの動作を説明するフローチャートであり、図１３は、図１２のステップＳ１０１のサブルーチンを示すフローチャートである。図１２に示すように、システムの電源がＯＮされると、図１のＣＰＵ１０がＮＯＲ型フラッシュメモリ１４からの起動（ｂｏｏｔ）処理が行われると共に（ステップＳ１００）、本発明のＮＡＮＤ型フラッシュメモリコントローラ１２の起動（ｂｏｏｔ）処理が行われる（ステップＳ１０１）。
【００３４】
ＮＡＮＤ型フラッシュメモリコントローラ１２における起動処理では、図１３に示すように、ＮＡＮＤ型フラッシュメモリコントローラ１２がＮＡＮＤ型フラッシュメモリ１３からＮＡＮＤ  ＩＤ２０を読み込むことによって、メモリアクセスに必要な個別仕様（例えば、ページサイズ、ブロックサイズ、バス幅、アクセスタイム）を設定することができる（ステップＳ１０１０）。
【００３５】
続いて、ＮＡＮＤ型フラッシュメモリコントローラ１２は、図１３に示すように、ＮＡＮＤ型フラッシュメモリ１３からコンフィグデータ２１を読み込むことにより、メモリアクセス時におけるスピード（アクセスタイム）を設定する（ステップＳ１０１１）。
【００３６】
例えば、ＮＡＮＤ型フラッシュメモリ１３のアクセスタイムが２０ｎｓで、ＮＡＮＤ  ＩＤ２０からはその情報が得られない場合、あるいは、得られたとしてもＮＡＮＤ型フラッシュメモリコントローラ１２のファームウェアがその２０ｎｓという追加された情報を認識する仕様になっていない場合は、コンフィグデータのＢｙｔｅ１に図４下表の０ｘ３Ｂをセットすることにより、アクセスタイムに応じた最大速度３０ＭＨｚの動作周波数に切替えることができる。
【００３７】
続くステップＳ１０２では、ＮＡＮＤ型フラッシュメモリ１３のユーザデータ２２を図１のＤＲＡＭ１１へコピーする。そして、ＤＲＡＭ１１上のアドレスにプログラムカウンタをジャンプさせてＣＰＵ１０がメインプログラムを実行する（ステップＳ１０３）。そして、システムのパワーＯＦＦによって処理が終了する（ステップＳ１０４）。
【００３８】
このように、本発明の第１の実施の形態によれば、ＮＡＮＤ型フラッシュメモリコントローラ１２は、ＮＡＮＤ型フラッシュメモリ１３の特定領域に格納された設定データとしてのコンフィグデータ２１を読み込むことにより、様々なＮＡＮＤ型フラッシュメモリ１３に応じた動作仕様に変更することができる。
【００３９】
（第２の実施の形態 ）
第２の実施の形態では、プログラムデータと設定データ（コンフィグデータ）が格納された外部メディアとしてのＳＤカードを用いて、ＮＡＮＤ型フラッシュメモリ１３にプログラムデータを書き込む場合に、設定データも特定領域に書き込むようにする点に特徴がある。
【００４０】
図６は、ＳＤカードを用いてＮＡＮＤ型フラッシュメモリにデータを書き込む第２の実施の形態にかかる概略構成図である。図６に示すように、ＳＤカード１５には、プログラムデータ２３とコンフィグデータ２１とが格納されている。これを図１に示すＳＤインターフェース（Ｉ／Ｆ）を介してＳＤカード１５を制御基板に挿入した状態でシステムの電源がＯＮされると、ＣＰＵ１０とＮＡＮＤ型フラッシュメモリコントローラ１２とが起動され、ＳＤカード１５内のデータ（プログラムデータ２３とコンフィグデータ２１）がＤＲＡＭ１１にコピーされる。そして、ＤＲＡＭ１１内のプログラムデータ２３をＮＡＮＤ型フラッシュメモリ１３にコピーすると共に、ＤＲＡＭ１１内のコンフィグデータ２１もＮＡＮＤ型フラッシュメモリ１３の特定領域へ専用コマンドを使って書き込むものである。以下、図１４を用いて動作を説明する。
【００４１】
図１４は、第２の実施の形態にかかるＮＡＮＤ型フラッシュメモリの制御システムの動作を説明するフローチャートである。ＳＤカード１５を制御基板に挿入した状態でシステムの電源がＯＮされると、図１４に示すように、ＣＰＵ１０がＮＯＲ型フラッシュメモリ１４から起動処理を行うと共に（ステップＳ２００）、ＮＡＮＤ型フラッシュメモリコントローラ１２の起動処理が行われる（ステップＳ２０１）。
【００４２】
ここで、ＳＤカード１５内のプログラムデータ２３の有無が判断され（ステップＳ２０２）、プログラムデータ２３が有る場合は、ＳＤカード１５のデータ（プログラムデータ２３とコンフィグデータ２１）をＤＲＡＭ１１へコピーする（ステップＳ２０３）。
【００４３】
そして、ＤＲＡＭ１１内のプログラムデータ２３をＮＡＮＤ型フラッシュメモリ１３のユーザデータ２２の領域へＤＭＡ転送にてコピーする（ステップＳ２０４）。
【００４４】
次いで、ＤＲＡＭ１１内のコンフィグデータ２１をＮＡＮＤ型フラッシュメモリ１３のコンフィグデータ２１用の特定領域へ専用コマンドを使って書き込み（ステップＳ２０５）、パワーＯＦＦにより終了する（ステップＳ２０６）。
【００４５】
また、上記ステップＳ２０２において、ＳＤカード１５内にプログラムデータ２３が無い場合は、通常起動と初期化が行われ（ステップＳ２０７）、ＮＡＮＤ型フラッシュメモリ１３のユーザデータ２２であるプログラムデータ２３をＤＭＡ転送にてＤＲＡＭ１１へコピーする（ステップＳ２０８）。
【００４６】
そして、ＣＰＵ１０は、ＤＲＡＭ１１上のアドレスにプログラムカウンタをジャンプさせて、プログラムを実行する（ステップＳ２０９）。
【００４７】
このように、本発明の第２の実施の形態によれば、製品化後に外部のＳＤカード１５のプログラムデータとコンフィグデータ２１とをＮＡＮＤ型フラッシュメモリ１３に書き込むことができる。これにより、ＮＡＮＤ型フラッシュメモリコントローラ１２は、起動時にＮＡＮＤ型フラッシュメモリ１３のコンフィグデータ２１を読み込むことで、ＮＡＮＤ型フラッシュメモリ１３に応じた動作仕様に設定変更することができる。
【００４８】
（第３の実施の形態）
第３の実施の形態では、設定データ（コンフィグデータ２１）を格納したコンフィグデータ書込み治具３０をさらに備えている点に特徴がある。
【００４９】
図７は、コンフィグデータ書込み治具を用いてＮＡＮＤ型フラッシュメモリの特定領域にコンフィグデータの書き込みを行う第３の実施の形態にかかる概略構成図である。制御基板のフィクスチャーを使い、ＮＡＮＤＩ／Ｆにコンフィグデータ書込み治具２１を接続し、コンフィグデータ書込み治具２１のコンフィグデータ２１をＮＡＮＤ型フラッシュメモリ１３の特定領域（コンフィグデータ２１の領域）へ直接書き込むことができる。
【００５０】
このように、本発明の第３の実施の形態によれば、製品化時にコンフィグデータ書込み治具２１を使うことにより、所望のコンフィグデータ２１をＮＡＮＤ型フラッシュメモリ１３の特定領域に書き込むことができる。これにより、ＮＡＮＤ型フラッシュメモリコントローラ１２は、起動時にＮＡＮＤ型フラッシュメモリ１３のコンフィグデータ２１を読み込むことで、ＮＡＮＤ型フラッシュメモリ１３に応じた動作仕様に設定変更することができる。
【００５１】
（第４の実施の形態）
第４の実施の形態では、ＮＡＮＤ型フラッシュメモリ１３に書き込まれるプログラムデータの一部に設定データ（コンフィグデータ２４）が含まれている点に特徴がある。
【００５２】
図８は、コンフィグデータを含むプログラムデータがＮＡＮＤ型フラッシュメモリに書き込まれた場合の第４の実施の形態にかかる概略構成図である。図８に示すように、ＲＯＭライター４０やＳＤカード１５などを使って、コンフィグデータ２４を含むプログラムデータ２３をＮＡＮＤ型フラッシュメモリ１３に書き込むことが可能である。
【００５３】
図１５は、第４〜第６の実施の形態の動作を説明するフローチャートである。第４の実施の形態では、システムの電源がＯＮされると、図１５に示すように、ＣＰＵ１０がＮＯＲ型フラッシュメモリ１４から起動処理を行うと共に（ステップＳ３００）、ＮＡＮＤ型フラッシュメモリコントローラ１２の起動処理が行われる（ステップＳ３０１）。
【００５４】
ここで、制御基板にバージョンアップ用のＳＤカード１５が挿入されている場合は、そのＳＤカード１５内のプログラムデータの有無を判断し（ステップＳ３０２）、プログラムデータが有る場合は、ＳＤカード１５内にあるコンフィグデータ２４を含むプログラムデータ２３をＤＲＡＭ１１へコピーする（ステップＳ３０３）。
【００５５】
そして、ＤＲＡＭ１１内のコンフィグデータ２４を含むプログラムデータ２３をＮＡＮＤ型フラッシュメモリ１３のユーザデータ２２の領域へＤＭＡ転送にてコピーし（ステップＳ３０４）、パワーＯＦＦにより終了する（ステップＳ３０５）。
【００５６】
また、システムの製造工程にあっては、ＲＯＭライター４０を使ってＮＡＮＤ型フラッシュメモリ１３のユーザデータ２２の領域へコンフィグデータ２４を含むプログラムデータ２３を書き込むようにしても良い。
【００５７】
ＮＡＮＤ型フラッシュメモリ１３のユーザデータ２２領域に書き込まれたコンフィグデータ２４を含むプログラムデータ２３は、図１５で再度システムの電源がＯＮされ、通常起動が行われると（ステップＳ３００および３０１）、ＮＡＮＤ型フラッシュメモリコントローラ１２がユーザデータ２２内のコンフィグデータ２４を読み込み、専用コマンドを使ってＮＡＮＤ型フラッシュメモリ１３の特定領域にコンフィグデータ２１が書き込まれる（図８中の破線矢印参照）。
【００５８】
このように、本発明の第４の実施の形態によれば、コンフィグデータ２４を含むプログラムデータ２３がＮＡＮＤ型フラッシュメモリ１３のユーザデータ２２領域に書き込まれている場合、システムの通常起動時にＮＡＮＤ型フラッシュメモリコントローラ１２がＮＡＮＤ型フラッシュメモリ１３のユーザデータ２２内のコンフィグデータ２４を読み込んで、特定領域のコンフィグデータ２１が書き込まれる。これにより、ＮＡＮＤ型フラッシュメモリコントローラ１２は、起動時にＮＡＮＤ型フラッシュメモリ１３の特定領域に書き込まれたコンフィグデータ２１を読み込んで、ＮＡＮＤ型フラッシュメモリ１３に応じた動作仕様に設定を変更することができる。
【００５９】
（第５の実施の形態）
第５の実施の形態では、上記第４の実施の形態において、システムの通常起動時にユーザデータ２２内のコンフィグデータ２４を読み込み、専用コマンドを使って特定領域に書き込んだコンフィグデータ２１の設定値を反映させる手段に特徴がある。
【００６０】
すなわち、専用コマンドを使ってＮＡＮＤ型フラッシュメモリ１３の特定領域に書き込んだコンフィグデータ２１の設定値を反映させる際に、制御基板全体の電源をＯＮ／ＯＦＦして再起動させても良い。しかし、これでは特定領域内のコンフィグデータ２１の設定値を反映させる以外の起動処理も行われるため、非効率となる。そこで、第５の実施の形態では、ＮＡＮＤ型フラッシュメモリコントローラ１２にのみリセットをかけ、再起動（リブート）することで、コンフィグデータ２１の設定値を反映させつつ、不必要な起動処理が行われないため、効率良く処理することができる。
【００６１】
このように、本発明の第５の実施の形態によれば、ＮＡＮＤ型フラッシュメモリ１３の特定領域に書き込んだコンフィグデータ２１の設定値を反映させる場合は、ＮＡＮＤ型フラッシュメモリコントローラ１２にのみリセットをかけて再起動させるため、コンフィグデータ２１の設定値を反映させることができると共に、制御基板全体の電源をＯＮ／ＯＦＦする必要が無いことから、効率良く処理することができる。
【００６２】
（第６の実施の形態）
第６の実施の形態では、上記第４の実施の形態において、ＮＡＮＤ型フラッシュメモリ１３のユーザデータ２２の領域に格納されたプログラムデータ２３に含まれるコンフィグデータ２４を通常起動時毎に特定領域へコピーしていたが、非効率であるため、コンフィグデータにコピーをするか否かを判断するフラグを設けた点に特徴がある。
【００６３】
図１０は、第６の実施の形態にかかるＦＬＡＧビットを含むコンフィグデータの構成図である。図１０に示すように、ＦＬＡＧビットは、コンフィグデータ内のＢｙｔｅ７のｂｉｔ７に設けられていて、初期値が「１」である。
【００６４】
上記第４の実施の形態において、ＣＰＵ１０は、コンフィグデータ２４内のＦＬＡＧビットを読み込んで確認する（図１５のステップＳ３０７）。ＦＬＡＧビットが「１」の場合は（ステップＳ３０８）、ユーザデータ内のコンフィグデータ２４を読み込み、ＮＡＮＤ型フラッシュメモリ１３のコンフィグデータ２１に専用コマンドで書き込む（ステップＳ３０９）。その後、ＦＬＡＧビットに「０」を書き込んでクリアする（ステップＳ３１０）。ＦＬＡＧビットが「０」の場合は、コンフィグデータ２１への書き込みが行われず、通常のメインプログラムの実行に移る。
【００６５】
すなわち、ＣＰＵ１０は、ＮＡＮＤ型フラッシュメモリコントローラ１２をリセットし（ステップＳ３１１）、ＮＡＮＤ型フラッシュメモリコントローラ１２の起動と初期化を行って（ステップＳ３１２）、ＮＡＮＤ型フラッシュメモリ１３のユーザデータ２２をＤＲＡＭ１１へコピーし（ステップＳ３１３）、ＤＲＡＭ１１上のアドレスにプログラムカウンタをジャンプさせ、メインプログラムを実行する。
【００６６】
このように、本発明の第６の実施の形態によれば、通常起動時にＮＡＮＤ型フラッシュメモリ１３のユーザデータ内のコンフィグデータ２４を特定領域のコンフィグデータ２１へコピーするか否かを判断するフラグをコンフィグデータに設けることにより、無駄なコピー動作を省略して、処理を効率化することができる。
【００６７】
（第７の実施の形態）
第７の実施の形態では、上記第４の実施の形態において、ＮＡＮＤ型フラッシュメモリ１３のユーザデータ２２の領域に格納されたプログラムデータ２３に含まれるコンフィグデータ２４を通常起動時毎に特定領域へコピーしていたが、非効率であるため、コンフィグデータを更新する必要があるか否かをコンフィグデータのバージョン情報を使って判断するようにした点に特徴がある。
【００６８】
図９は、第７の実施の形態にかかるＮＡＮＤ型フラッシュメモリコントローラとＮＡＮＤ型フラッシュメモリとの詳細構成図であり、図１１は、第７の実施の形態にかかるバージョン情報を含むコンフィグデータの構成図である。まず、図９に示すように、ＮＡＮＤ型フラッシュメモリ１３のユーザデータ２２内にコンフィグバージョン２５というブロックが設けられる（初期値は「０」とする）。また、図９のユーザデータ２２内のコンフィグデータ２４には、図１１に示すように、コンフィグデータ２４内のＢｙｔｅ７にバージョン情報としてのＶｅｒｓｉｏｎデータが設けられる（初期値は「１」とする）。
【００６９】
第７の実施の形態では、このように構成されており、図１５のステップＳ３０６に相当する通常起動時において、ＣＰＵ１０が図９のコンフィグデータ２４内のＶｅｒｓｉｏｎデータ（図１１参照）を読み込む（このバージョン値をＡとする）。
【００７０】
続いて、ＣＰＵ１０は、ＮＡＮＤ型フラッシュメモリ１３内のユーザデータ２２内のコンフィグバージョン２５を読み込む（このバージョン値をＢとする）。そして、両方のバージョン値を比較して、Ａ＞Ｂの場合のみコンフィグデータ２４を読み込み、ＮＡＮＤ型フラッシュメモリ１３のコンフィグデータ２１に専用コマンドで書き込む（ステップＳ３０９に相当）。
【００７１】
その後、バージョン値Ａをコンフィグバージョン２５に書き込むことによって、バージョン値Ｂが更新される。更新時点では、Ａ＝Ｂとなるため、通常起動時にＮＡＮＤ型フラッシュメモリ１３のユーザデータ内のコンフィグデータ２４は、特定領域のコンフィグデータ２１へコピーされない。
【００７２】
このように、本発明の第７の実施の形態によれば、通常起動時であってもコンフィグデータのバージョン情報を見ることにより、コンフィグデータのバージョンが更新された場合のみコンフィグデータ２４を特定領域のコンフィグデータ２１へコピーすることが許可され、無駄なコピー動作を省略することによって、処理を効率化することができる。
【産業上の利用可能性】
【００７３】
本発明に係るＮＡＮＤ型フラッシュメモリの制御システムは、プログラムデータを格納する種々のＮＡＮＤ型フラッシュメモリに応じて動作仕様が変更可能なＮＡＮＤ型フラッシュメモリコントローラを備えた画像形成装置やネットワーク機器などに有用である。特に、ＮＡＮＤ型フラッシュメモリのデバイスＩＤでは機能拡張できなかった仕様変更にも対応することのできるＮＡＮＤ型フラッシュメモリの制御システムに適している。
【図面の簡単な説明】
【００７４】
【図１】本実施の形態にかかる複写機の制御基板の概略構成を説明するブロック図である。
【図２】図１のＮＡＮＤ型フラッシュメモリコントローラとＮＡＮＤ型フラッシュメモリとの詳細構成図である。
【図３】図２のＮＡＮＤ型フラッシュメモリのＮＡＮＤ  ＩＤの構成を説明する図である。
【図４】図２のＮＡＮＤ型フラッシュメモリのコンフィグデータの構成を説明する図である。
【図５】コンフィグデータをＮＡＮＤ型フラッシュメモリコントローラからＮＡＮＤ型フラッシュメモリの特定領域に書き込む際に必要な専用のコマンド構成図である。
【図６】ＳＤカードを用いてＮＡＮＤ型フラッシュメモリにデータを書き込む第２の実施の形態にかかる概略構成図である。
【図７】コンフィグデータ書込み治具を用いてＮＡＮＤ型フラッシュメモリの特定領域にコンフィグデータの書き込みを行う第３の実施の形態にかかる概略構成図である。
【図８】コンフィグデータを含むプログラムデータがＮＡＮＤ型フラッシュメモリに書き込まれた場合の第４の実施の形態にかかる概略構成図である。
【図９】第７の実施の形態にかかるＮＡＮＤ型フラッシュメモリコントローラとＮＡＮＤ型フラッシュメモリとの詳細構成図である。
【図１０】第６の実施の形態にかかるＦＬＡＧビットを含むコンフィグデータの構成図である。
【図１１】第７の実施の形態にかかるバージョン情報を含むコンフィグデータの構成図である。
【図１２】第１の実施の形態にかかるＮＡＮＤ型フラッシュメモリの制御システムの動作を説明するフローチャートである。
【図１３】図１２のステップＳ１０１のサブルーチンを示すフローチャートである。
【図１４】第２の実施の形態にかかるＮＡＮＤ型フラッシュメモリの制御システムの動作を説明するフローチャートである。
【図１５】第４〜第６の実施の形態の動作を説明するフローチャートである。
【符号の説明】
【００７５】
１０  ＣＰＵ
１１  ＤＲＡＭ
１２  ＮＡＮＤ型フラッシュメモリコントローラ
１３  ＮＡＮＤ型フラッシュメモリ
１４  ＮＯＲ型フラッシュメモリ
１５  ＳＤカード
２０  ＮＡＮＤ  ＩＤ
２１  コンフィグデータ
２２  ユーザデータ
２３  プログラムデータ
２４  コンフィグデータ
３０  コンフィグデータ書込み治具
４０  ＲＯＭライター
５０  コンフィグバージョン
１２１  ＣＰＵ
１２２  ＲＯＭ
１２３  ＲＡＭ
１２４  ＮＡＮＤコントローラモジュール
１２５  ＵＳＢインターフェース
１２６  ＧＰＩＯ
【図１】
2008158991.tif 000003
【図２】
2008158991.tif 000004
【図３】
2008158991.tif 000005
【図４】
2008158991.tif 000006
【図５】
2008158991.tif 000007
【図６】
2008158991.tif 000008
【図７】
2008158991.tif 000009
【図８】
2008158991.tif 000010
【図９】
2008158991.tif 000011
【図１０】
2008158991.tif 000012
【図１１】
2008158991.tif 000013
【図１２】
2008158991.tif 000014
【図１３】
2008158991.tif 000015
【図１４】
2008158991.tif 000016
【図１５】
2008158991.tif 000017