(57)【要約】    【課題】プログラムを記憶したデュアル・オペレーション動作が可能なフラッシュＲＯＭにデータを記憶するタイプの，プログラムコードのフラッシュＲＯＭからの読み出しがフラッシュＲＯＭのイレース動作／プログラム動作が完了するまで待たされることがない情報処理装置を、提供する。    【解決手段】情報処理装置１０を、起動時に、フラッシュＲＯＭ２３の，データの記憶にその一部が使用されているバンク上のプログラムコード群がＲＡＭ２４上にコピーされる装置であると共に、アドレス変換回路２５が、ＣＰＵ２１が出した当該プログラムコード群に対するアクセス要求を、ＲＡＭ２４上の当該プログラムコード群のコピーに対するアクセス要求として処理する機能を有するアドレス変換回路２５（メモリ制御ＡＳＩＣ２２）を備えた装置としておく。    【選択図】図１
2007241757.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、
ＲＡＭと、
一部の記憶領域がデータを記憶しておくためのストレージ領域として使用され、他の記憶領域がプログラムを記憶しておくためのプログラム領域として使用されるデュアル・オペレーション動作が可能なフラッシュＲＯＭであって、特定のバンクが、前記プログラム領域の一部，及び，前記ストレージ領域の一部或いは全部として使用されるフラッシュＲＯＭと、
ＣＰＵから入力された論理アドレスを所定の変換規則に従って物理アドレスに変換して当該論理アドレスにて特定されるデバイスに対して出力する第１動作モードと、前記特定のバンクの，前記プログラム領域の一部として使用されている記憶領域であるコピー元領域に関する論理アドレスがＣＰＵから入力された場合には、その論理アドレスを前記ＲＡＭの，前記コピー元領域と同サイズの記憶領域であるコピー先記憶領域に関する物理アドレスに変換して前記ＲＡＭに対して出力し、前記コピー元領域ではない記憶領域に関する論理アドレスがＣＰＵから入力された場合には、その論理アドレスを前記変換規則に従って物理アドレスに変換して当該論理アドレスにて特定されるデバイスに対して出力する第２動作モードとを、有するアドレス変換回路と
を、備え、
前記フラッシュＲＯＭの前記プログラム領域に記憶されているプログラムが、
前記アドレス変換回路が前記第１動作モードでの動作を行っている状況下、前記ＣＰＵに、前記フラッシュＲＯＭの前記コピー元領域に記憶されている情報を前記ＲＡＭの前記コピー先記憶領域にコピーさせた後、前記ＣＰＵに、前記アドレス変換回路の動作モードを前記第２動作モードに変更させるための動作モード変更処理を行わせることがあるプログラムである
ことを特徴とする情報処理装置。
【請求項２】
前記アドレス変換回路が、
前記コピー元記憶領域が前記フラッシュＲＯＭのどの部分の記憶領域あるかを示すコピー元領域指定情報と，前記コピー元記憶領域が前記ＲＡＭ上のどの部分の記憶領域であるかを示すコピー元領域指定情報とを記憶しておくための情報記憶回路を備えた、当該情報記憶回路に記憶されている前記コピー先領域指定情報，前記コピー元領域指定情報が示している記憶領域を，それぞれ，前記コピー先記憶領域，前記コピー先記憶領域として取り扱う回路であり、
前記プログラムが前記ＣＰＵに行わせる前記動作モード変更処理が、
前記コピー元領域指定情報と前記コピー元領域指定情報とを，前記アドレス変換回路の前記情報記憶回路に記憶してから、前記アドレス変換回路の動作モードを前記第２動作モードに変更させる処理である
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記アドレス変換回路が、
装置の起動時に、前記第１動作モードでの動作を開始する回路であり、
前記プログラムが、
装置の起動時に、前記ＣＰＵに、前記フラッシュＲＯＭの前記コピー元領域に記憶されている情報を前記ＲＡＭの前記コピー先記憶領域にコピーさせる処理と、前記動作モード変更処理とを行わせるプログラムである
ことを特徴とする請求項１又は請求項２に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、装置内の，プログラムを記憶した，デュアル・オペレーション動作が可能なフラッシュＲＯＭに、データを記憶する情報処理装置に、関する。
【背景技術】
【０００２】
近年の情報処理装置の中には、装置内の，プログラムを記憶した，デュアル・オペレーション動作が可能なフラッシュＲＯＭ（或るバンクの或るセクタのイレース／プログラムを行っている間に、他のバンクのデータをリードすることが可能なフラッシュＲＯＭ）に、データを記憶するものが存在しているが、そのような情報処理装置は、フラッシュＲＯＭの余っている記憶領域（プログラムが記憶されていない記憶領域）が，ストレージ領域（データを記憶しておくための記憶領域）として使用されるように構成された装置となっている。
【０００３】
このため、フラッシュＲＯＭにデータを記憶するタイプの情報処理装置は、通常、フラッシュＲＯＭが、図５に示したような形，すなわち，プログラム領域（プログラムを記憶しておくための記憶領域）とストレージ領域との境界が、バンク境界と一致していない形で、使用されているものとなっている。
【０００４】
そして、デュアル・オペレーション動作が可能なフラッシュＲＯＭは、イレース動作／プログラム動作を行っているセクタと同一バンク内の他のセクタ上のデータをリードすることは出来ないデバイスであり、特定の部分（図５におけるセクタ４〜セクタ７に記憶されるプログラムコード群）の読み出し頻度が少ないプログラムを作成することは実際上不可能であるため、上記タイプの既存の情報処理装置は、いずれも、その内部で、プログラムコードのフラッシュＲＯＭからの読み出しが，フラッシュＲＯＭのイレース動作／プログラム動作が完了するまで待たされるといった現象が，比較的に頻繁に生じている装置（当該現象の発生が，性能に悪影響を与えている装置）となっている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、このような現状を鑑みなされたものであり、本発明の課題は、プログラムを記憶したデュアル・オペレーション動作が可能なフラッシュＲＯＭにデータを記憶するタイプの，上記現象が発生しない状態で動作可能な情報処理装置を、提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の情報処理装置は、ＣＰＵと、ＲＡＭと、一部の記憶領域がデータを記憶しておくためのストレージ領域として使用され、他の記憶領域が“アドレス変換回路が第１動作モードでの動作を行っている状況下、ＣＰＵに、フラッシュＲＯＭのコピー元領域に記憶されている情報をＲＡＭのコピー先記憶領域にコピーさせた後、ＣＰＵに、アドレス変換回路の動作モードを第２動作モードに変更させるための動作モード変更処理を行わせることがあるプログラム”を記憶したプログラム領域として使用されるデュアル・オペレーション動作が可能なフラッシュＲＯＭであって、特定のバンクが、プログラム領域の一部，及び，ストレージ領域の一部或いは全部として使用されるフラッシュＲＯＭと、ＣＰＵから入力された論理アドレスを，設定されている変換規則に従って物理アドレスに変換して，当該論理アドレスにて特定されるデバイスに対して出力する第１動作モードと、前記特定のバンクの，プログラム領域の一部として使用されている記憶領域であるコピー元領域に関する論理アドレスがＣＰＵから入力された場合には、その論理アドレスをＲＡＭの，コピー元領域と同サイズの記憶領域であるコピー先記憶領域に関する物理アドレスに変換してＲＡＭに対して出力し、コピー元領域ではない記憶領域に関する論理アドレスがＣＰＵから入力された場合には、その論理アドレスを変換規則に従って物理アドレスに変換して，当該論理アドレスにて特定されるデバイスに対して出力する第２動作モードとを有するアドレス変換回路とを備える。
【０００７】
すなわち、本発明の情報処理装置は、アドレス変換回路が第２動作モードでの動作を開始した後には、ＣＰＵが出した、コピー元領域（フラッシュＲＯＭ上の，データの記憶にその一部が使用されているバンク（“特定のバンク”）の，プログラム（プログラムの一部分）が記憶されている記憶領域）に対するアクセス要求が、コピー元領域に記憶されているものと同じ情報を記憶したコピー先領域（ＲＡＭ上の記憶領域）に対するアクセス要求として処理される状態（コピー元領域が実際にアクセスされることがない状態）で動作する装置となっている。従って、本発明の情報処理装置は、その内部で、プログラムコードのフラッシュＲＯＭからの読み出しがフラッシュＲＯＭのイレース動作／プログラム動作が完了するまで待たされるといった現象が生じない分，従来の同種の情報処理装置よりも高速に動作する装置として機能することになる。
【０００８】
本発明の情報処理装置を実現する際には、アドレス変換回路を、コピー元記憶領域がフラッシュＲＯＭのどの部分の記憶領域あるかを示すコピー元領域指定情報と，コピー元記憶領域がＲＡＭ上のどの部分の記憶領域であるかを示すコピー元領域指定情報とを記憶しておくための情報記憶回路を備えた、当該情報記憶回路に記憶されているコピー先領域指定情報，コピー元領域指定情報が示している記憶領域を，それぞれ，コピー先記憶領域，コピー先記憶領域として取り扱う回路としておくと共に、プログラムがＣＰＵに行わせる動作モード変更処理が、コピー元領域指定情報とコピー元領域指定情報とを，アドレス変換回路の情報記憶回路に記憶してから、アドレス変換回路の動作モードを第２動作モードに変更させる処理となるようにしておくことが、望ましい。何故ならば、そのような構成を採用しておけば、プログラムのバージョンアップが比較的に自由に行えることになる（バージョンアップ後のプログラムサイズに制限が課せられないことになる）し、同じアドレス変換回路を用いて，他機種の情報処理装置（コピー元記憶領域サイズ等が大きく異なる情報処理装置）も製造できることになるからである。
【０００９】
また、本発明の情報処理装置を実現する際には、動作モード変更処理等がいつ行われるようにしておいても良く、例えば、アドレス変換回路を、装置の起動時（装置への電源投入により動作を開始した際）に、第１動作モードでの動作を開始する回路としておき、フラッシュＲＯＭ上のプログラムを、装置の起動時に、ＣＰＵに、フラッシュＲＯＭのコピー元領域に記憶されている情報をＲＡＭのコピー先記憶領域にコピーさせる処理と、動作モード変更処理とを行わせるプログラムとしておくことが出来る。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を実施するための最良の形態を、図面を参照して詳細に説明する。
【００１１】
図１に示したように、本発明の一実施形態に係る情報処理装置１０は、コントローラ２０と印刷エンジン３０と操作パネル４０とを備えた装置（いわゆるプリンタ）である。
【００１２】
この情報処理装置１０が備える操作パネル４０は、ＬＣＤ，押しボタンスイッチ等からなるユニットである。印刷エンジン３０は、各種サイズの用紙上に，コントローラ２０から指示された内容の画像を形成するユニットである。
【００１３】
コントローラ２０は、受信した印刷データに応じた内容の印刷物を印刷エンジン３０に生成させる処理（用紙上に形成すべき画像を印刷エンジン３０に対して指示する処理）等を行うユニットである。このコントローラ２０は、図示してあるように、ＣＰＵ２１，メモリ制御ＡＳＩＣ２２，フラッシュＲＯＭ（図では、“ＦｌａｓｈＲＯＭ”）２３等から構成されたユニットとなっている。
【００１４】
コントローラ２０に用いられているフラッシュＲＯＭ２３は、４Ｍｂｉｔのバンク（以下、バンク１と表記する）と，２８Ｍｂｉｔのバンク（以下、バンク２と表記する）とを有する，デュアル・オペレーション動作が可能なフラッシュＲＯＭ（各セクタのサイズが、６４ｋＢｙｔｅのもの）である。図２に模式的に示してあるように、本情報処理装置１０は、このフラッシュＲＯＭ２３に1000_0000h〜107F_FFFFhの論理アドレスが割り当てられている装置であると共に、フラッシュＲＯＭ２３の，1070_0000h〜107F_FFFFhのアドレスが割り当てられている記憶領域（８セクタ分の記憶領域）が，データを記憶しておくためのストレージ領域として使用される装置となっている。
【００１５】
メモリ制御ＡＳＩＣ２２（図１）は、アドレス変換回路２５，ＤＭＡ転送回路（図示せず）等を備えたＡＳＩＣである。
【００１６】
メモリ制御ＡＳＩＣ２２が備えるアドレス変換回路２５は、ＣＰＵ２１から入力された論理アドレスを物理アドレスに変換して当該論理アドレスに応じた（当該論理アドレスが割り当てられている）デバイス／ユニットに出力する回路である。
【００１７】
図３に、このアドレス変換回路２５の，主要な回路構成（フラッシュＲＯＭ２３／ＲＡＭ２４に対して，アドレスを出力する部分の回路構成）を、示す。
【００１８】
図示してあるように、アドレス変換回路２５は、変換先領域情報レジスタ５１，変換対象領域情報レジスタ５２，動作モード指定値レジスタ５３，領域アドレス変換回路５４，領域アドレス判定回路５５，アドレス空間判定回路５６，ＲＯＭアドレス変換回路５７，ＲＡＭアドレス変換回路５８等を備えた回路となっている。
【００１９】
このアドレス変換回路２５が備える変換対象領域情報レジスタ５２は、フラッシュＲＯＭ２３上の記憶領域である変換元記憶領域（詳細は後述）の先頭論理アドレスと末尾論理アドレスとを含む変換対象領域情報が，ＣＰＵ２１によって設定されるレジスタである。変換先領域情報レジスタ５１は、ＲＡＭ２４上の記憶領域である変換先記憶領域（詳細は後述）の先頭論理アドレスと末尾論理アドレスとを含む変換先領域情報が，ＣＰＵ２１によって設定されるレジスタである。
【００２０】
動作モード指定値レジスタ５３は、アドレス変換回路２５の動作モードを指定する動作モード指定値（本実施形態では、１ビットのデータ）を記憶しておくためのレジスタ（そこに記憶されている動作モード指定値が変更された場合、アドレス変換回路２５が動作モードを変更するレジスタ）である。この動作モード指定値レジスタ５３は、情報処理装置１０の電源投入時（アドレス変換回路２５が動作を開始した際）には、値が“０”の動作モード指定値を記憶している状態を取るレジスタとなっている。
【００２１】
領域アドレス変換回路５４は、“入力アドレス”（ＣＰＵ２１からの論理アドレス）が入力されているドライバ（バッファ）６１の出力（以下、入力アドレスと表記する）に、“変換先領域情報中の先頭論理アドレス−変換対象領域情報中の先頭論理アドレス”を加算したアドレスを出力する回路である。領域アドレス判定回路５５は、入力アドレスが，変換対象領域情報が示している記憶領域に関するアドレス（変換対象領域情報中の先頭論理アドレス〜末尾論理アドレス内のアドレス）であった場合に、“１”を出力し、そうではなかった場合に、“０”を出力する回路である。
【００２２】
アンド回路６３は、図から明らかなように、動作モード指定値レジスタ５３に、“１”が設定されており、領域アドレス判定回路５５が“１”を出力している場合には、“１”を出力し、それ以外の場合には、“０”を出力する回路である。セレクタ６２は、アンド回路６３から“１”が入力されている場合には、領域アドレス変換回路５４からの論理アドレスを出力し、アンド回路６３から“０”が入力されている場合には、入力アドレス（ＣＰＵ２１から入力された論理アドレス）を出力する回路である。
【００２３】
セレクタ６２の出力が入力されているＲＯＭアドレス変換回路５７、ＲＡＭアドレス変換回路５８は、いずれも、入力された論理アドレスに応じた物理アドレスを出力する回路である。ただし、ＲＯＭアドレス変換回路５７は、フラッシュＲＯＭ２３の先頭論理アドレスが入力された際に、フラッシュＲＯＭ２３の先頭物理アドレスを出力するように構成された回路となっており、ＲＡＭアドレス変換回路５８は、ＲＡＭ２４の先頭論理アドレスが入力された際に、ＲＡＭ２４の先頭物理アドレスを出力するように構成された回路となっている。また、ＲＯＭアドレス変換回路５７、ＲＡＭアドレス変換回路５８は、それぞれ、アンド回路６４，アンド回路６６と接続された回路となっている。
【００２４】
セレクタ６２の出力が入力されているアドレス空間判定回路５６は、セレクタ６２の出力（自回路に入力された論理アドレス）が、ＲＡＭ２４に関する論理アドレスであった場合には、アンド回路６４を機能させ（アンド回路６４に、ＲＯＭアドレス変換回路５７からの入力を出力させ）、セレクタ６２の出力が、フラッシュＲＯＭ２３に関する論理アドレスであった場合には、アンド回路６６を機能させる回路である。
【００２５】
そして、アドレス変換回路２５（メモリ制御ＡＳＩＣ２２）は、アンド回路６４の出力が入力されているドライバ（バッファ）６５の出力（図における“ＲＯＭ出力アドレス”）がフラッシュＲＯＭ２３に供給され、アンド回路６６の出力が入力されているドライバ（バッファ）６７の出力（図における“ＲＡＭ出力アドレス”）がＲＡＭ２４に供給されるように，フラッシュＲＯＭ２３及びＲＡＭ２４と接続されて使用される回路となっている。
【００２６】
要するに、情報処理装置１０が備えるアドレス変換回路２５（メモリ制御ＡＳＩＣ２２）は、ＣＰＵ２１から入力されたフラッシュＲＯＭ２３／ＲＡＭ２４に関する論理アドレスを，フラッシュＲＯＭ２３／ＲＡＭ２４に関する物理アドレスに変換してフラッシュＲＯＭ２３／ＲＡＭ２４に対して出力する動作モード（動作モード指定値レジスタ５３に“０”が設定されている場合の動作モード；以下、通常動作モードと表記する）と、ＣＰＵ２１から入力された変換元領域（フラッシュＲＯＭ２３上の記憶領域）に関する論理アドレスについては、変換先領域（ＲＡＭ２４上の記憶領域）に関する物理アドレスに変換してＲＡＭ２４に対して出力し、他の論理アドレスについては、通常動作モード時と同様に処理する動作モード（動作モード指定値レジスタ５３に“１”が設定されている場合の動作モード；以下、特殊動作モードと表記する）とを有する回路となっている。
【００２７】
そして、本実施形態に係る情報処理装置１０は、装置を起動すると、ＣＰＵ２１が図４に示した手順の処理を行うように構成した装置（フラッシュＲＯＭ２３のプログラム領域に、図４に示した手順の処理をＣＰＵ２１に行わせるためのプログラムを記憶した装置）となっている。
【００２８】
すなわち、情報処理装置１０が起動されると、ＣＰＵ２１は、まず、フラッシュＲＯＭ２３のバンク１のプログラム領域上のプログラム（図２のセクタ４〜７に記憶されている情報）を、ＲＡＭ２４上の特定の記憶領域（以下、特定領域と表記する）にコピーする処理(ステップＳ１０１)を行う。
【００２９】
次いで、ＣＰＵ２１は、フラッシュＲＯＭ２３のバンク１のプログラム領域が変換対象領域であることを示す変換対象領域情報を変換対象領域情報レジスタ５２にセットする処理(ステップＳ１０２)と、上記特定領域が変換先領域であることを示す変換先領域情報を変換先領域情報レジスタ５１にセットする処理(ステップＳ１０３)とを、行う。
【００３０】
そして、ＣＰＵ２１は、“１”を動作モード指定値レジスタ５３にセットする処理(ステップＳ１０４)を行ってから、通常の処理（情報処理装置１０をプリンタとして機能させるための処理）を，開始する。
【００３１】
以上の説明から明らかなように、本実施形態に係る情報処理装置１０は、図４のステップＳ１０４の処理が完了した後（アドレス変換回路２５が特殊動作モードでの動作を開始した後）には、ＣＰＵ２１が出した、フラッシュＲＯＭ２３のセクタ４〜７に対するアクセス要求が、そこに記憶されているものと同じ情報を記憶したＲＡＭ２４上の記憶領域に対するアクセス要求として処理される状態（セクタ４〜７が実際にアクセスされることがない状態）で動作する装置となっている。従って、この情報処理装置１０は、その内部で、プログラムコードのフラッシュＲＯＭ２３からの読み出しがフラッシュＲＯＭ２３のイレース動作／プログラム動作が完了するまで待たされるといった現象が生じない分，従来の同種の情報処理装置よりも高速に動作する装置であることになる。
【００３２】
《変形形態》
上記した情報処理装置１０は、各種の変形を行うことが出来る。例えば、アドレス変換回路２５は、変換対象領域に関する論理アドレスを変換先領域に関する論理アドレスに変換してから物理アドレスに変換する回路であったが、アドレス変換回路２５を、変換対象領域に関する論理アドレスを変換先領域に関する物理アドレスに変換する回路を備えた回路に変形することが出来る。また、アドレス変換回路２５（メモリ制御ＡＳＩＣ２２）を、同じバスでフラッシュＲＯＭ２３及びＲＡＭ２４に接続される回路に変形することも出来る。
【００３３】
さらに、アドレス変換回路２５を、変換対象領域／変換先領域を指定できない回路（変換対象領域情報／変換先領域情報を変更できない回路）に変形することも出来る。ただし、アドレス変換回路２５をそのような回路に変形しておいた場合には、プログラムのバージョンアップ内容に制限が課せられることになる（プログラムのサイズをより大きくすることができなくなる／プログラムのサイズが小さくなった場合、フラッシュＲＯＭ２３の一部の記憶容量が使用されないことになる）。また、同じアドレス変換回路２５（メモリ制御ＡＳＩＣ２２）を用いて，他機種の情報処理装置（変換元記憶領域サイズ等が大きく異なる情報処理装置）が製造できないことにもなるため、アドレス変換回路２５は、変換対象領域／変換先領域を指定できる回路としておくことが望ましい。
【００３４】
また、情報処理装置１０を、図４のステップＳ１０１〜Ｓ１０４の処理が、起動時とは異なるタイミングで行われる（例えば、プログラムの読み出しが比較的に頻繁に行われる処理の開始時に行われる）装置や、アドレス変換回路２５の動作モードが通常動作モードに戻されることがある装置に変形しておくことも出来る。
【図面の簡単な説明】
【００３５】
【図１】本発明の一実施形態に係る情報処理装置の構成図。
【図２】情報処理装置におけるフラッシュＲＯＭの使用形態の説明図。
【図３】情報処理装置が備えるメモリ制御ＡＳＩＣ内に設けられているアドレス変換回路の構成図。
【図４】情報処理装置内のＣＰＵが起動時に行う処理を説明するための流れ図。
【図５】一般的な情報処理装置におけるフラッシュＲＯＭの使用形態の説明図。
【符号の説明】
【００３６】
１０  情報処理装置、  ２０  コントローラ、  ２１  ＣＰＵ
２２  メモリ制御ＡＳＩＣ、  ２３  フラッシュＲＯＭ、  ２４  ＲＡＭ
２５  アドレス変換回路、  ３０  印刷エンジン、  ４０  操作パネル
５１  変換先領域情報レジスタ、  ５２  変換対象領域情報レジスタ
５３  動作モード指定値レジスタ、  ５４  領域アドレス変換回路
５５  領域アドレス判定回路、  ５６  アドレス空間判定回路
５７  ＲＯＭアドレス変換回路、  ５８  ＲＡＭアドレス変換回路
６１，６５，６７  ドライバ、  ６２  セレクタ、  ６３，６４，６６  アンド回路
【図１】
2007241757.tif 000003
【図２】
2007241757.tif 000004
【図３】
2007241757.tif 000005
【図４】
2007241757.tif 000006
【図５】
2007241757.tif 000007