JP2015191612A - 電子機器 - Google Patents

電子機器 Download PDF

Info

Publication number
JP2015191612A
JP2015191612A JP2014070407A JP2014070407A JP2015191612A JP 2015191612 A JP2015191612 A JP 2015191612A JP 2014070407 A JP2014070407 A JP 2014070407A JP 2014070407 A JP2014070407 A JP 2014070407A JP 2015191612 A JP2015191612 A JP 2015191612A
Authority
JP
Japan
Prior art keywords
program
programs
written
storage area
predetermined storage
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
Application number
JP2014070407A
Other languages
English (en)
Inventor
伊藤 崇
Takashi Ito
崇 伊藤
明彦 伊ヶ崎
Akihiko Igasaki
明彦 伊ヶ崎
幸二 田垣
Koji Tagaki
幸二 田垣
川口 智也
Tomoya Kawaguchi
智也 川口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2014070407A priority Critical patent/JP2015191612A/ja
Publication of JP2015191612A publication Critical patent/JP2015191612A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】 電子機器の不揮発性メモリーにおいて複数のプログラムを書き込むための領域のサイズが小さくて済むようにする。【解決手段】 不揮発性メモリー1に複数のプログラムを書き込む際に、複数のプログラムの書込位置を特定するためのプログラム情報を不揮発性メモリー1に書き込むとともに、不揮発性メモリー1に書き込むべき複数のプログラムの結合体を含むマージデータを、不揮発性メモリー1内の所定記憶領域21において連続的に書き込んでいき、所定記憶領域21に不良ブロックが存在する場合、不良ブロックを跨いで連続的に書き込む。1つのプログラムを更新する場合には、所定記憶領域21に書き込まれている複数のプログラムの終端に連続させて更新後のバージョンのプログラムを未使用領域に書き込み、プログラム情報内の更新対象のプログラムの書込位置を更新後のバージョンのプログラムの書込位置に変更する。【選択図】 図4

Description

本発明は、電子機器に関するものである。
組込システムを内蔵する電子機器においては、複数のプログラムが、NANDフラッシュメモリーなどの不揮発性メモリーに予め書き込まれている。そのような電子機器においては、各プログラムについて、不揮発性メモリーに、そのプログラム専用の記憶領域が確保されている(例えば特許文献1参照)。
特開2000−35919号公報
図15は、不揮発性メモリー内の複数のプログラム専用の記憶領域を説明する図である。不揮発性メモリーには、製造時に既に存在している先天性の不良ブロック、および使用に起因して発生する後天性の不良ブロックが発生する。そのため、図15に示すように、不良ブロックが発生してもプログラムがそのプログラム専用の記憶領域に書き込めるように、複数のプログラム専用の記憶領域101a〜101cには、それぞれ、未使用領域が含められており、プログラム専用の記憶領域のサイズは、プログラムのサイズより未使用領域のサイズだけ大きくなっている。
このように、組込システムを内蔵する電子機器の不揮発性メモリーの容量は、コスト面の要求から小さくしたいにも拘わらず、プログラムごとに未使用領域が設けられているため、容量が大きい不揮発性メモリーを使用する必要がある。
本発明は、上記の問題に鑑みてなされたものであり、不揮発性メモリーにおいて複数のプログラムを書き込むための領域のサイズが小さくて済む電子機器を得ることを目的とする。
本発明に係る電子機器は、プロセッサーと、複数のプログラムを記憶する書換可能な不揮発性メモリーと、揮発性メモリーとを備える。前記プロセッサーは、前記不揮発性メモリーに複数のプログラムを書き込む際に、(a1)前記複数のプログラムの書込位置を特定するためのプログラム情報を生成し、(a2)前記プログラム情報を前記不揮発性メモリーに書き込むとともに、前記不揮発性メモリーに書き込むべき複数のプログラムの結合体を含むマージデータを、前記不揮発性メモリー内の所定記憶領域において連続的に書き込んでいき、前記所定記憶領域に不良ブロックが存在する場合、前記不良ブロックを跨いで連続的に書き込み、前記不揮発性メモリーから前記揮発性メモリーへ前記複数のプログラムを読み出す際に、(b1)前記プログラム情報を読み取って前記複数のプログラムの書込位置を特定し、(b2)特定した前記書込位置の位置に基づいて、前記所定記憶領域から前記複数のプログラムを読み出す。さらに、前記プロセッサーは、前記複数のプログラムのうちの1つを更新する場合、更新対象のプログラムについて、前記所定記憶領域に書き込まれている前記複数のプログラムの終端に連続させて更新後のバージョンのプログラムを前記所定記憶領域内の未使用領域に書き込み、前記プログラム情報内の前記更新対象のプログラムの書込位置を前記更新後のバージョンのプログラムの書込位置に変更する。
本発明によれば、電子機器の不揮発性メモリーにおいて複数のプログラムを書き込むための領域のサイズが小さくて済む。
図1は、本発明の実施の形態に係る電子機器の構成を示すブロック図である。 図2は、実施の形態1に係る電子機器の全プログラム書込時の動作について説明するフローチャートである。 図3は、実施の形態1に係る電子機器の全プログラム書込時の動作について説明する図である。 図4は、実施の形態1に係る電子機器のプログラムの部分更新時の動作について説明する図である。 図5は、実施の形態1に係る電子機器のプログラムの部分更新時のプログラム情報の更新について説明する図である。 図6は、実施の形態1に係る電子機器のプログラム読出時の動作について説明するフローチャートである。 図7は、実施の形態1に係る電子機器のプログラム読出時の動作について説明する図である(1/2)。 図8は、実施の形態1に係る電子機器のプログラム読出時の動作について説明する図である(2/2)。 図9は、実施の形態2に係る電子機器の全プログラム書込時の動作について説明するフローチャートである。 図10は、実施の形態2に係る電子機器のプログラム書込時の動作について説明する図である。 図11は、実施の形態2に係る電子機器のプログラムの部分更新時の動作について説明する図である。 図12は、実施の形態2に係る電子機器のプログラムの部分更新時のプログラム情報の更新について説明する図である。 図13は、実施の形態2に係る電子機器のプログラム読出時の動作について説明する図である(1/2)。 図14は、実施の形態2に係る電子機器のプログラム読出時の動作について説明する図である(2/2)。 図15は、不揮発性メモリー内の複数のプログラム専用の記憶領域を説明する図である。
以下、図に基づいて本発明の実施の形態を説明する。
実施の形態1.
図1は、本発明の実施の形態に係る電子機器の構成を示すブロック図である。図1に示す電子機器は、例えば、プリンター、複合機などの画像形成装置、情報端末装置などである。
図1に示す電子機器は、組込システムを内蔵しており、NANDフラッシュメモリーなどの不揮発性メモリー1内に記憶されているプログラムを揮発性メモリーであるRAM(Random Access Memory)2にロードして、CPU(Central Processing Unit)、MPU(Micro Processing Unit)などのプロセッサー3で実行する。
また、図1に示す電子機器は、不揮発性メモリー1に1または複数のプログラムを書き込み、不揮発性メモリー1内に複数のプログラムの一部または全部を更新する機能を有している。なお、更新に使用されるプログラム(新たなバージョンのプログラム)は、記録媒体から図示せぬインターフェイスで読み出されたり、ネットワーク上のサーバーから図示せぬ通信装置でダウンロードされたりして取得される。
具体的には、図1に示す電子機器の起動時に、プロセッサー3によってブートローダー11が実行され、不揮発性メモリー1内のシステムプログラムがRAM2にロードされ、システムプログラムの実行が開始される。その後、システムプログラムに従って、アプリケーションプログラムなどが、適宜、不揮発性メモリー1からRAM2にロードされ実行される。
また、不揮発性メモリー1内のプログラムの更新を行う場合、そのようにRAM2にロードされたプログラムの1つである更新プログラム12に従って実行される。
次に、実施の形態1に係る電子機器の動作について説明する。
(a)全プログラム書込時の動作
図2は、実施の形態1に係る電子機器の全プログラム書込時の動作について説明するフローチャートである。図3は、実施の形態1に係る電子機器の全プログラム書込時の動作について説明する図である。
まず、プロセッサー3は、更新プログラム12に従って、不揮発性メモリー1に書き込むべき複数のプログラム(図3では、プログラムA〜C)を取得してRAM2上に保持し、その複数のプログラムについてのヘッダー情報を生成しRAM2上に保持する(ステップS1)。
ヘッダー情報は、(a)ヘッダー識別子(ヘッダー情報を示す固有の識別子)、(b)ヘッダー情報のサイズ、および(c)プログラム情報を含む。実施の形態1では、プログラム情報は、プログラムの書込位置などを特定するための情報であって、実施の形態1では、1つのプログラムにつき、プログラム識別子(プログラムに固有の識別子)、プログラムのサイズ、その他の属性情報(バージョン情報、プログラムの圧縮形式など)を有する。1つのプログラムのプログラム情報の終端には、終端識別子が挿入され、複数のプログラムのプログラム情報が、終端識別子で区切られながら、プログラムの書込順序と同一の順序で連続している。
ヘッダー情報は、複数のプログラムについてのプログラム情報を含む、1つの連続するデータとして生成される。
次に、プロセッサー3は、更新プログラム12に従って、書き込むべき複数のプログラムを結合し、その結合体を含むマージデータを生成する(ステップS2)。
実施の形態1では、プログラム情報は、ヘッダー情報に含まれており、例えば図3に示すように、ヘッダー情報は、複数のプログラムに結合されマージデータに含まれる。また、実施の形態1では、プログラム情報は、複数のプログラムの順序および複数のプログラムのそれぞれのサイズを少なくとも含む。さらに、プログラム情報は、複数のプログラムの順序に対応する順序で配列され、複数のプログラムのそれぞれのサイズを少なくとも含む複数のレコードを含む。
具体的には、実施の形態1では、マージデータは、ヘッダー情報および複数のプログラムの結合体である。したがって、各プログラムの書込位置は、マージデータの先頭の書込位置、ヘッダー情報のサイズ、およびプログラムのサイズから特定できるようになっている。
そして、プロセッサー3は、更新プログラム12に従って、不揮発性メモリー1の1つの所定記憶領域21の先頭から、マージデータを連続的に書き込んでいく(ステップS3)。したがって、実施の形態1では、ヘッダー情報は、1つのデータとして連続的に不揮発性メモリー1に書き込まれ、ヘッダー情報(つまり、プログラム情報)は、所定記憶領域21に書き込まれる。
その際、例えば図3に示すように、所定記憶領域21内の書き込み対象のブロックが不良ブロックである場合、プロセッサー3は、更新プログラム12に従って、不良ブロックを跨いで連続的にマージデータを書き込んでいく。つまり、不良ブロックの直前のブロックに書き込まれたプログラムの続きが不良ブロックの次のブロックから書き込まれる。図3に示す例では、プログラムBがそれぞれ不良ブロックを跨いで書き込まれている。
このように、未使用領域は、所定記憶領域21の終端部に1箇所だけ設けておけばよく、複数のプログラムのそれぞれについて未使用領域を確保することなく、連続的にプログラムが所定記憶領域21に書き込まれる。
(b)プログラムの部分更新時の動作
図4は、実施の形態1に係る電子機器のプログラムの部分更新時の動作について説明する図である。図5は、実施の形態1に係る電子機器のプログラムの部分更新時のプログラム情報の更新について説明する図である。
プロセッサー3は、例えば図4に示すように、複数のプログラムのうちの1つ(図4では、プログラムA)を更新する場合、更新プログラム12に従って、更新対象のプログラム(図4では、プログラムA)について、所定記憶領域21に書き込まれている複数のプログラムの終端(図4では、プログラムCの終端)に連続させて更新後のバージョンのプログラムを所定記憶領域21内の未使用領域に書き込む。
そして、更新後のバージョンのプログラムを所定記憶領域21内の未使用領域に書き込んだ後、プロセッサー3は、更新プログラム12に従って、書き込んだプログラムを起動させてみて、正常に動作するか否かを検査する。
ここで、正常に動作しないと判定した場合、プロセッサー3は、更新プログラム12に従って、更新処理を中止する。このとき、書き込んだプログラムは消去されることなく放置され、そのプログラムが書き込まれた領域は引き続き未使用領域として取り扱われる。
一方、正常に動作すると判定した場合、プロセッサー3は、更新プログラム12に従って、プログラム情報内の更新対象のプログラムの書込位置を更新後のバージョンのプログラムの書込位置に変更する。このとき、実施の形態1では、図5に示すように、プロセッサー3は、更新プログラム12に従って、例えばレコード内の有効性フラグの値を変更して、プログラム情報内の更新対象のプログラムのレコードを無効とし、更新後のバージョンのプログラムのレコードを複数のレコードの最後尾に追加する。
このようにして、所定記憶領域21に書き込まれている複数のプログラムが部分的に更新される。
図15に示すように、プログラムごとに記憶領域が確保されている場合、バックアップ用領域が別途設けられており、(a)更新前のプログラムが一旦バックアップ用領域にコピーされ、(b)その後、更新前のプログラムが更新後のプログラムで上書きされる。この場合、更新前のプログラムのコピーが必要なため、プログラムの更新の所要時間が長くなる。一方、実施の形態1のようにして更新を行う場合、更新前のプログラムのコピーが不要となるため、プログラムの更新の所要時間が短くなる。
(c)プログラム読出時の動作
図6は、実施の形態1に係る電子機器のプログラム読出時の動作について説明するフローチャートである。図7は、実施の形態1に係る電子機器のプログラム読出時の動作について説明する図である(1/2)。図8は、実施の形態1に係る電子機器のプログラム読出時の動作について説明する図である(2/2)。
プロセッサー3は、ブートローダー11等に従って、所定記憶領域21に記憶されているヘッダー情報をヘッダー識別子に基づいて検出し、ヘッダー情報(つまり、プログラム情報)を読み取る(ステップS11)。
プロセッサー3は、ブートローダー11等に従って、起動時における不揮発性メモリー1の各ブロックの良否チェックの結果に基づいて、所定記憶領域21内の不良ブロックの位置を特定する(ステップS12)。
次に、プロセッサー3は、ブートローダー11等に従って、読み取ったプログラム情報(実施の形態1では、特にプログラムサイズ)および特定された不良ブロックの位置に基づいて、各プログラムの書込位置(つまり、所定記憶領域21の先頭からのオフセット)を特定し、所定記憶領域21内のその書込位置から、不良ブロックをスキップしつつ、プログラムをRAM2へ読み出す(ステップS13)。
具体的には、プロセッサー3は、ブートローダー11等に従って、プログラム情報の先頭から順番に1つずつプログラムのサイズを特定し、現在の読み取り位置(初期値はヘッダー情報の終端の次のアドレス)から特定したサイズ分のデータをプログラムとして所定記憶領域21からRAM2へ読み出し、そのデータの次から、次に特定したサイズ分のデータを、次のプログラムとして所定記憶領域21からRAM2へ読み出す。
このとき、不良ブロックで分断されているプログラム(例えば図3,7,8におけるプログラムB)については、不良ブロックより前の部分および後の部分がそれぞれ読み出され、それらが連続するようにRAM2に格納される。つまり、不良ブロックで分断されているプログラムは、その先頭から不良ブロックの直前のブロックまで読み出されていき、不良ブロックより前の部分のサイズを、プログラム情報から特定されるプログラムサイズから減算して得られるサイズだけ、不良ブロックの次以降のブロックから読み出される。
また、上述のように図3に示すプログラムAが図4に示すように更新される前の場合は、更新前のヘッダー情報に基づいて図7に示すようにプログラムAがRAM2にロードされ、上述のように図3に示すプログラムAが図4に示すように更新された後の場合は、更新後のヘッダー情報に基づいて図8に示すようにプログラムAがRAM2にロードされる。
このように、上述のように所定記憶領域21に書き込まれているプログラムが、ヘッダー情報(つまり、プログラム情報)に基づいてそれぞれ個別的にRAM2にロードされる。
なお、実施の形態1では、プログラム読出時に、プログラムの書込位置(上述のオフセット)を計算で求めるために不良ブロックの位置の情報およびヘッダー情報が必要となるため、起動時に、複数のプログラムをすべて読み出すようにするのが好ましい。
以上のように、上記実施の形態1によれば、プロセッサー3は、不揮発性メモリー1に複数のプログラムを書き込む際に、(a1)複数のプログラムの書込位置を特定するためのプログラム情報を生成し、(a2)プログラム情報を不揮発性メモリー1に書き込むとともに、不揮発性メモリー1に書き込むべき複数のプログラムの結合体を含むマージデータを、不揮発性メモリー1内の所定記憶領域21において連続的に書き込んでいき、所定記憶領域21に不良ブロックが存在する場合、不良ブロックを跨いで連続的に書き込む。また、プロセッサー3は、不揮発性メモリー1からRAM2へ複数のプログラムを読み出す際に、(b1)プログラム情報を読み取って複数のプログラムの書込位置を特定し、(b2)所定記憶領域21内の不良ブロックを特定し、(b3)書込位置および特定された不良ブロックの位置に基づいて、所定記憶領域21から複数のプログラムを読み出す。
これにより、不良ブロックに起因するプログラムの書込領域不足を回避するために設けられる未使用領域を複数のプログラムのそれぞれについて確保しておく必要がなく、不揮発性メモリー1において複数のプログラムを書き込むための領域のサイズが小さくて済む。
さらに、プロセッサー3は、複数のプログラムのうちの1つを更新する場合、更新対象のプログラムについて、所定記憶領域21に書き込まれている複数のプログラムの終端に連続させて更新後のバージョンのプログラムを所定記憶領域21内の未使用領域に書き込み、プログラム情報内の更新対象のプログラムの書込位置を更新後のバージョンのプログラムの書込位置に変更する。
これにより、プログラムの部分更新を短時間で行うことができる。
実施の形態2.
実施の形態1では、ヘッダー情報は、複数のプログラムとともに所定記憶領域21に記憶されるが、実施の形態2では、ヘッダー情報は、複数のプログラムが記憶される所定記憶領域とは別の領域に記憶される。したがって、実施の形態2では、プログラム情報は、複数のプログラムに結合されず、マージデータに含まれない。
なお、実施の形態2に係る電子機器の基本的な構成は、実施の形態1(図1)のものと同様であるが、以下のように動作する。
次に、実施の形態2に係る電子機器の動作について説明する。
(a)全プログラム書込時の動作
図9は、実施の形態2に係る電子機器の全プログラム書込時の動作について説明するフローチャートである。図10は、実施の形態2に係る電子機器のプログラム書込時の動作について説明する図である。
まず、プロセッサー3は、更新プログラム12に従って、不揮発性メモリー1に書き込むべき複数のプログラム(図10では、プログラムA〜C)を取得してRAM2上に保持し、書き込むべき複数のプログラムを結合し、その結合体を含むマージデータを生成する(ステップS21)。
次に、プロセッサー3は、更新プログラム12に従って、不揮発性メモリー1の所定記憶領域21aの先頭から、マージデータを連続的に書き込んでいく(ステップS22)。その際、例えば図10に示すように、所定記憶領域21a内の書き込み対象のブロックが不良ブロックである場合、プロセッサー3は、更新プログラム12に従って、不良ブロックを跨いで連続的にマージデータを書き込んでいく。
そして、プロセッサー3は、更新プログラム12に従って、マージデータを書き込んだ後に各プログラムの書込位置を特定し、その複数のプログラムについてのヘッダー情報を生成しRAM2上に保持し(ステップS23)、不揮発性メモリー1の別の記憶領域21bに書き込む(ステップS24)。
実施の形態2では、ヘッダー情報内のプログラム情報は、プログラムサイズの代わりに、プログラムの書込位置を直接的に示す情報(例えばアドレス)を含んでいる。つまり、実施の形態2では、プログラムを書き込んだ後にヘッダー情報を生成しているため、ヘッダー情報の生成時にはプログラムの書込位置は既知になっており、その情報をプログラム情報に含めることができる。
このように、未使用領域は、所定記憶領域21aの終端部に1箇所だけ設けておけばよく、複数のプログラムのそれぞれについて未使用領域を確保することなく、連続的にプログラムが所定記憶領域21aに書き込まれる。
(b)プログラムの部分更新時の動作
図11は、実施の形態2に係る電子機器のプログラムの部分更新時の動作について説明する図である。図12は、実施の形態2に係る電子機器のプログラムの部分更新時のプログラム情報の更新について説明する図である。
プロセッサー3は、例えば図11に示すように、複数のプログラムのうちの1つ(図11では、プログラムA)を更新する場合、更新プログラム12に従って、更新対象のプログラム(図11では、プログラムA)について、所定記憶領域21aに書き込まれている複数のプログラムの終端(図11では、プログラムCの終端)に連続させて更新後のバージョンのプログラムを所定記憶領域21a内の未使用領域に書き込む。
そして、更新後のバージョンのプログラムを所定記憶領域21a内の未使用領域に書き込んだ後、プロセッサー3は、更新プログラム12に従って、書き込んだプログラムを起動させてみて、正常に動作するか否かを検査する。
ここで、正常に動作しないと判定した場合、プロセッサー3は、更新プログラム12に従って、更新処理を中止する。このとき、書き込んだプログラムは、消去されることなく放置され、そのプログラムが書き込まれた領域は引き続き未使用領域として取り扱われる。
一方、正常に動作すると判定した場合、プロセッサー3は、更新プログラム12に従って、プログラム情報内の更新対象のプログラムの書込位置を更新後のバージョンのプログラムの書込位置に変更する。このとき、実施の形態2では、図12に示すように、プロセッサー3は、更新プログラム12に従って、更新対象のプログラムについてのレコード内の書込位置を示すアドレス情報およびプログラムサイズ情報を更新する。
このようにして、所定記憶領域21aに書き込まれている複数のプログラムが部分的に更新される。
図15に示すように、プログラムごとに記憶領域が確保されている場合、バックアップ用領域が別途設けられており、(a)更新前のプログラムが一旦バックアップ用領域にコピーされ、(b)その後、更新前のプログラムが更新後のプログラムで上書きされる。この場合、更新前のプログラムのコピーが必要なため、プログラムの更新の所要時間が長くなる。一方、実施の形態2のようにして更新を行う場合、更新前のプログラムのコピーが不要となるため、プログラムの更新の所要時間が短くなる。
(c)プログラム読出時の動作
図13は、実施の形態2に係る電子機器のプログラム読出時の動作について説明する図である(1/2)。図14は、実施の形態2に係る電子機器のプログラム読出時の動作について説明する図である(2/2)。
実施の形態2では、実施の形態1と同様に、プロセッサー3は、ブートローダー11等に従って、記憶領域21bに記憶されているヘッダー情報を検出し、ヘッダー情報(つまり、プログラム情報)を読み取り、ヘッダー情報内のプログラム情報に基づいて、各プログラムの書込位置を特定し、所定記憶領域21a内のその書込位置から、不良ブロックをスキップしつつ、プログラムをRAM2へ読み出す。
また、上述のように図10に示すプログラムAが図11に示すように更新される前の場合は、更新前のヘッダー情報に基づいて図13に示すようにプログラムAがRAM2にロードされ、上述のように図10に示すプログラムAが図11に示すように更新された後の場合は、更新後のヘッダー情報に基づいて図14に示すようにプログラムAがRAM2にロードされる。
このように、上述のように所定記憶領域21aに書き込まれているプログラムが、ヘッダー情報(つまり、プログラム情報)に基づいてそれぞれ個別的にRAM2にロードされる。
なお、実施の形態2では、プログラム情報内に、プログラムの書込位置を直接的に示す情報が含まれているため、プログラム読出時に、所定記憶領域21a内の不良ブロックの位置を特定する必要はない。また、プログラム読出時に、プログラムの書込位置(上述のオフセット)を計算で求める必要がない。
このように、プログラム読出時に不良ブロックの位置の情報は不要であるので、起動時に得られる不良ブロックの位置の情報を起動処理完了後に保持せずに、起動時に、複数のプログラムのうちの一部をブートローダー11で読み出し、ブートローダー11で読み出されたプログラムで、残りのプログラムを読み出すようにしてもよい。
以上のように、実施の形態2によれば、プログラム読出時にプログラム書込位置を簡単に特定できるため、プログラムの読み出しに要する時間が短くて済む。
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
本発明は、例えば、組込システムを内蔵する電子機器に適用可能である。
1 不揮発性メモリー
2 RAM(揮発性メモリーの一例)
3 プロセッサー
21,21a 所定記憶領域

Claims (5)

  1. プロセッサーと、
    複数のプログラムを記憶する書換可能な不揮発性メモリーと、
    揮発性メモリーとを備え、
    前記プロセッサーは、前記不揮発性メモリーに複数のプログラムを書き込む際に、(a1)前記複数のプログラムの書込位置を特定するためのプログラム情報を生成し、(a2)前記プログラム情報を前記不揮発性メモリーに書き込むとともに、前記不揮発性メモリーに書き込むべき複数のプログラムの結合体を含むマージデータを、前記不揮発性メモリー内の所定記憶領域において連続的に書き込んでいき、前記所定記憶領域に不良ブロックが存在する場合、前記不良ブロックを跨いで連続的に書き込み、前記不揮発性メモリーから前記揮発性メモリーへ前記複数のプログラムを読み出す際に、(b1)前記プログラム情報を読み取って前記複数のプログラムの書込位置を特定し、(b2)特定した前記書込位置の位置に基づいて、前記所定記憶領域から前記複数のプログラムを読み出し、
    前記プロセッサーは、前記複数のプログラムのうちの1つを更新する場合、更新対象のプログラムについて、前記所定記憶領域に書き込まれている前記複数のプログラムの終端に連続させて更新後のバージョンのプログラムを前記所定記憶領域内の未使用領域に書き込み、前記プログラム情報内の前記更新対象のプログラムの書込位置を前記更新後のバージョンのプログラムの書込位置に変更すること、
    を特徴とする電子機器。
  2. 前記プログラム情報は、ヘッダー情報に含まれ、
    前記ヘッダー情報は、前記複数のプログラムに結合され前記マージデータに含まれて前記所定記憶領域に書き込まれ、
    前記プログラム情報は、さらに、前記複数のプログラムの順序に対応する順序で配列され、前記複数のプログラムのそれぞれのサイズを少なくとも含む複数のレコードを含み、
    前記プロセッサーは、前記複数のプログラムのうちの1つを更新する場合、前記プログラム情報内の前記更新対象のプログラムの前記レコードを無効とし、前記更新後のバージョンのプログラムのレコードを前記複数のレコードの最後尾に追加すること、
    を特徴とする請求項1記載の電子機器。
  3. 前記プログラム情報は、前記所定記憶領域とは別の領域に書き込まれ、前記複数のプログラムの書込位置を示すアドレス情報を含み、
    前記プロセッサーは、前記複数のプログラムのうちの1つを更新する場合、前記プログラム情報内の前記更新対象のプログラムの前記アドレス情報を前記更新後のバージョンのプログラムのアドレス情報に変更すること、
    を特徴とする請求項1記載の電子機器。
  4. 前記プロセッサーは、前記複数のプログラムのうちの1つを更新する場合、前記所定記憶領域内の未使用領域に書き込んだ前記更新後のバージョンのプログラムの動作確認を行い、前記所定記憶領域内の未使用領域に書き込んだ前記更新後のバージョンのプログラムの動作が正常である場合には、前記プログラム情報内の前記更新対象のプログラムの書込位置を前記更新後のバージョンのプログラムの書込位置に変更し、前記所定記憶領域内の未使用領域に書き込んだ前記更新後のバージョンのプログラムの動作が異常である場合には、前記プログラム情報内の前記更新対象のプログラムの書込位置を変更しないこと、
    を特徴とする請求項1から請求項3のうちのいずれか1項記載の電子機器。
  5. 前記不揮発性メモリーは、NANDフラッシュメモリーであることを特徴とする請求項1から請求項4のうちのいずれか1項記載の電子機器。
JP2014070407A 2014-03-28 2014-03-28 電子機器 Pending JP2015191612A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014070407A JP2015191612A (ja) 2014-03-28 2014-03-28 電子機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014070407A JP2015191612A (ja) 2014-03-28 2014-03-28 電子機器

Publications (1)

Publication Number Publication Date
JP2015191612A true JP2015191612A (ja) 2015-11-02

Family

ID=54426010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014070407A Pending JP2015191612A (ja) 2014-03-28 2014-03-28 電子機器

Country Status (1)

Country Link
JP (1) JP2015191612A (ja)

Similar Documents

Publication Publication Date Title
US8726262B2 (en) Firmware update system and information apparatus, and program
US20070226400A1 (en) Information processing apparatus and method of using otp memory
WO2013103023A1 (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
WO2012049914A1 (ja) 組込プログラム更新方法、組込プログラム更新プログラム、電子機器、ネットワークシステム
JP2011095952A (ja) ファームウェア更新方法および電子機器
JP2006323751A (ja) 情報処理装置、寿命監視方法およびプログラム
WO2011095074A1 (zh) 一种终端设备系统升级方法及终端设备
JP5751121B2 (ja) 情報処理装置、情報処理方法およびプログラム
CN112306368B (zh) 一种emmc扩展用户数据分区的方法及装置
JP2006085342A (ja) メモリ制御装置、メモリ制御方法、プログラム
JP6515462B2 (ja) 情報処理装置、情報処理装置の設定方法及び設定プログラム
JP5279981B2 (ja) 更新制御プログラム、更新制御方法および更新制御装置
EP2187306A1 (en) Image processing apparatus and control method thereof
JP2015191612A (ja) 電子機器
WO2015146788A1 (ja) 電子機器
JP2007094767A (ja) メモリ制御装置及びメモリ制御方法
JP2019192171A (ja) 通信装置及び情報処理方法
JP4127307B2 (ja) データ記憶装置、データ処理システム、データ処理方法及びデータ処理装置
JP2006260158A (ja) 情報処理装置、情報処理方法、プログラム
JP2015191611A (ja) 電子機器
JP2009048749A (ja) ファイルシステム管理方法、ファイルシステム管理装置、及びファイルシステム管理プログラムを記録した記録媒体
CN110018968B (zh) 一种数据读取方法、电子设备及计算机存储介质
JP2014115927A (ja) プログラム更新装置、方法、プログラム、及び記憶媒体
JP5956509B2 (ja) ゲーム機にマウントする携帯型記憶媒体におけるゲームのローカライズシステム及びその方法
WO2017208377A1 (ja) ログデータ取得装置およびログデータ取得方法