JP2002318705A - 不揮発性メモリにおけるデータ配置方法 - Google Patents

不揮発性メモリにおけるデータ配置方法

Info

Publication number
JP2002318705A
JP2002318705A JP2001124729A JP2001124729A JP2002318705A JP 2002318705 A JP2002318705 A JP 2002318705A JP 2001124729 A JP2001124729 A JP 2001124729A JP 2001124729 A JP2001124729 A JP 2001124729A JP 2002318705 A JP2002318705 A JP 2002318705A
Authority
JP
Japan
Prior art keywords
rom
program
block
data
rewriting
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
JP2001124729A
Other languages
English (en)
Inventor
Yasushi Kachi
靖司 可知
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2001124729A priority Critical patent/JP2002318705A/ja
Publication of JP2002318705A publication Critical patent/JP2002318705A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Read Only Memory (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 不揮発性メモリの使用メモリ容量を削減する
ことができる不揮発性メモリにおけるデータ配置方法を
提供する。 【解決手段】 デバイスに特有な書き換え処理を記載し
た書き換えプログラムをデバイスに依存しない共通プロ
グラムから呼び出されるサブルーチンとし、その書き換
えプログラムを不揮発性メモリ内の固定アドレスに配置
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、不揮発性メモリ内
にデータを配置する不揮発性メモリにおけるデータ配置
方法に関する。
【0002】
【従来の技術】ダイヤルアップルータ、携帯電話機等の
組み込み装置では、ファームウェア(プログラム)のバ
ージョンアップ(書き換え)機能を備えたものが多く、
電気的制御により格納されているデータを容易に書き換
え可能な不揮発性メモリが用いられていることが多い。
また、不揮発性メモリは、製品出荷後のプログラムのバ
ージョンアップが容易であるとの理由により、様々な機
器で使用されている。このような不揮発性メモリとし
て、例えば、フラッシュメモリ(フラッシュROM)、
EEPROM(Electric Erasable
Programmable Read Only Me
mory)がある。
【0003】不揮発性メモリが用いられる場合に、製品
の設計や製造等の面から、製品製造開始時に使用された
不揮発性メモリと同一のものが安定して供給されること
が好ましい。ところが、メモリの価格上昇、入手困難
性、生産中止等の理由により、最初に使用されたものと
同一の不揮発性メモリが安定して供給されない場合が生
ずる。そのため、不揮発性メモリの変更を余儀なくされ
ることがある。このとき、変更後の不揮発性メモリと変
更前の不揮発性メモリのデバイス動作が同一であること
が望ましいが、デバイス動作や動作仕様等は、不揮発性
メモリ毎に異なるというのが一般的である。
【0004】例えば、不揮発性メモリがフラッシュRO
M等の場合には、以下のような相違がありうる。即ち、
(1)不揮発性メモリ毎にバンク構成が異なる。(2)
不揮発性メモリ毎に書き込み、消去コマンドIDが異な
る。(3)新たな不揮発性メモリには、拡張コマンドが
追加されることが多く、その追加コマンドを使用した方
が処理時間が短くなる。このような相違がある場合に
は、不揮発性メモリ毎に異なった書き換え処理が要求さ
れる。
【0005】書き換え処理の一例について、図8を参照
して説明する。図8には、不揮発性メモリとして、記憶
容量が1Mビット(128Kバイト)のフラッシュRO
M5A(以下、単にROM5Aと呼ぶ。)およびフラッ
シュROM5B(以下、単にROM5Bと呼ぶ。)が例
示されている。ROM5AとROM5Bとは、ブロック
構成が異なる。即ち、ROM5Aは、下位アドレス(0
0000H番地)から上位アドレス(1FFFFH番
地)に向かって順に、16Kバイト、16Kバイト・・
・16Kバイト、4Kバイト、4Kバイト、8Kバイト
のブロックで区切られたブロック構造を有し、ROM5
Bは、8Kバイト、4Kバイト、4Kバイト、16Kバ
イト、16Kバイト・・・16Kバイトで区切られたブ
ロック構造を有する。
【0006】データ書き換えの動作例として、ROM5
AおよびROM5Bのアドレス00000H(Hex:
16進数)番地の内容を書き換える場合を想定する。こ
のとき、ROM5AおよびROM5Bは、フラッシュR
OMであるので、ブロック単位でしかデータを消去する
ことができない。そのため、例えば、図9に示すフロー
チャートに示すような手順によって書き換えられる。デ
ータ書き換えは、一般に、組み込み装置内に設けられて
いるCPUによって行われる。
【0007】CPUは、ROM5AおよびROM5B内
のアドレス00000H番地を含むブロック内のデータ
をRAM等の一時待避領域に待避させ(ステップS6
1)、ROM5AおよびROM5B内のアドレス000
00H番地を含むブロック内のデータを消去し(ステッ
プS62)、一時待避領域上でアドレス00000H番
地に相当するデータの書き換えを行い(ステップS6
3)、その書き換えられたデータを一時待避領域からR
OM5AおよびROM5Bに書き戻す(ステップS6
4)。
【0008】具体的には、ROM5Aの場合には、アド
レス00000H番地を含むブロック(アドレス000
00H番地〜03FFFH番地)に格納されている16
Kバイトの待避および書き戻しが為され(ステップS6
1〜S64)、ROM5Bの場合には、アドレス000
00H番地を含むブロック(アドレス00000H番地
〜01FFFH番地)に格納されている8Kバイトのデ
ータの待避および書き戻しが為される(ステップS61
〜S64)。このように、不揮発性メモリの構成が異な
れば、データ書き換え方法も異なる。
【0009】近年、不揮発性メモリの記憶容量は増大の
傾向にあるので、不揮発性メモリに蓄積されるプログラ
ムのデータ量も増加の傾向にある。そのため、不揮発性
メモリに記憶されたプログラムの書き換えに要する時間
が長くなる傾向にある。なお、全ての種類の不揮発性メ
モリに対応した共通の書き換え方法が存在すれば、不揮
発性メモリ固有の問題について考慮する必要がないが、
上述のように、実際には、共通した書き換え方法は存在
しない。
【0010】また、同じ製造元(メーカ)が提供する不
揮発性メモリでは、同一のコマンド体系が採用されてい
ることが多く、新たに提供される不揮発性メモリにあっ
ては、従来品との互換を保つための標準コマンドととも
に従来品よりも高速に書き換え動作をすることができる
拡張コマンドが採用されることが多い。このとき、拡張
コマンドを使用しないとするならば、つまり、標準コマ
ンドのみを使用するとするならば、同一のメーカが提供
する不揮発性メモリに限っては、共通の書き換え方法が
存在することになる。しかしながら、標準コマンドを使
用すると書き換え処理に極端に時間を要することがある
ので、拡張コマンドを使用しないとするのは、近年の不
揮発性メモリの容量増大化の傾向の下では好ましくな
い。
【0011】従って、不揮発性メモリが組み込まれた組
み込み装置の生産効率を向上させるために、組み込み装
置の生産開始時に用いられていた不揮発性メモリのデー
タ書き換え方法とは異なるデータ書き換え方法が適用さ
れる不揮発性メモリを用いざるをえない場合には、不揮
発性メモリに格納されるプログラムを変更することが望
ましい。ところが、用いられる不揮発性メモリが、適用
されるデータ書き換えプログラムが異なるものに切り替
わるたびにプログラムを変更していたのでは、そのたび
にプログラムを作成しなければならず、設計上の非効率
が生ずることになる。
【0012】そこで、組み込み装置内のCPUが不揮発
性メモリに割り振られているデバイスIDを読出し、そ
のデバイスIDに応じてデータ書き換え処理を分岐する
という方法が提案されている。その方法の一例につい
て、図10を参照して説明する。
【0013】図10には、不揮発性メモリとしてフラッ
シュROM70(以下、単にROM70という。)が例
示されている。不揮発性メモリがEEPROMであって
も同様である。ROM70には、不揮発性メモリの種類
に依存しないOS(オペレーティングシステム)や装置
制御のためのプログラム等を含む共通プログラム、複数
種類のROMのそれぞれに対応した書き換えプログラム
が格納されている。図10に示す例では、ID=1のR
OMに対応した書き換えプログラムおよびID=2のR
OMに対応した書き換えプログラムが格納されている。
この場合、ROM70のIDは、1または2である。
【0014】CPUは、共通プログラムの実行中に、プ
ログラム(共通プログラム)の書き換え要求が発生した
場合には、接続されている不揮発性メモリのIDを読出
し、そのIDに対応した書き換えプログラムを実行する
ことによって、不揮発性メモリの書き換えを行う。例え
ば、ROM70のIDが1である場合には、CPUは、
ID=1に対応した書き換えプログラムを実行すること
でROM70内のデータの書き換えを行い、ROM70
のIDが2である場合には、CPUは、ID=2に対応
した書き換えプログラムを実行することでROM70内
のデータの書き換えを行う。
【0015】このように、一つの不揮発性メモリ内に、
複数の不揮発性メモリに対応した書き換えプログラムを
格納して置き、CPUが不揮発性ROMのIDに対応し
た書き換えプログラムを実行することで、ROMの変更
に対して対処することができる。なお、このような方法
は、一般的なROMライタ等において使用されているこ
とが多い。
【0016】
【発明が解決しようとする課題】しかし、不揮発性メモ
リの種類が増加しつつあり、このような状況下におい
て、図10に示すような方法を採用するとなると、多数
の種類のROM(多数のID)に対応した書き換えプロ
グラムを1つの不揮発性メモリに格納させることにな
り、不揮発性メモリの記憶領域を無駄に消費し、記憶容
量が大きい不揮発性メモリが必要になる。そうなると、
装置に装着される不揮発性メモリの価格は上昇するの
で、組み込み装置の価格も上昇してしまい、製品流通市
場における価格競争力を失う恐れがある。
【0017】そこで、本発明は、不揮発性メモリの使用
メモリ容量を削減することができる不揮発性メモリにお
けるデータ配置方法を提供することを目的とする。
【0018】なお、特開平7−13871号公報には、
ICメモリカード用マイクロコンピュータ(以下、カー
ド用マイコンという。)に内臓されているEEPROM
内の機密性が高いデータの不正な改ざんを防止するため
の構成が開示されている。そのカード用マイコンは、E
EPROMの他に、別のROM(別ROM)を備えてい
る。別ROMは、アプリケーションプログラムが格納さ
れたユーザプログラムROM領域、EEPROMの書き
換えを行うための処理ルーチンが格納されたコントロー
ルROM領域および処理ルーチンの先頭アドレスが格納
されたジャンプテーブルを備えている。カード用マイコ
ンは、ユーザプログラムROM領域に格納されているエ
ントリーアドレスと予め設定されているオフセットとに
基づいてジャンプテーブルにアクセスし、該ジャンプテ
ーブルに格納されているアドレスに基づいて処理プログ
ラムを実行する。このような構成にすることにより、E
EPROM内の機密性が高いデータの不正な改ざんを防
止することができ、セキュリティの向上を図ることがで
きる。
【0019】しかし、特開平7−13871号公報に記
載されている方法は、複数種類のデータ書き換えプログ
ラムのうちから特定のデータ書き換えプログラムを選択
するための方法であって、選択に際してユーザプログラ
ム(共通プログラム)を変更する必要はないものの、分
岐処理によって特定のデータ書き換えプログラムを選択
する方法と本質的な相違はない。
【0020】
【課題を解決するための手段】本発明による不揮発性メ
モリにおけるデータ配置方法は、不揮発性メモリに特有
な書き換え処理を記載した書き換えプログラムを不揮発
性メモリに依存しない共通プログラムから呼び出される
サブルーチンとするステップと、書き換えプログラムを
不揮発性メモリ内の固定アドレスに配置するステップと
を有することを特徴とする。
【0021】不揮発性メモリは、電気的制御によりデー
タ書き換えが可能なメモリである。このような不揮発性
メモリとして、例えば、フラッシュROM、EEPRO
M等がある。
【0022】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して説明する。図1は、不揮発性メモリが
組み込まれた組み込み装置の一構成例を示すブロック図
である。図1に示す組み込み装置として、例えば、携帯
電話機、ダイヤルアップルータ、無線LANのアクセス
ポイント等の組み込み系の通信機器がある。
【0023】図1に示す組み込み装置は、CPU(中央
演算処理装置)1、フラッシュROM2(不揮発性メモ
リ)およびRAM3を備える。CPU1、フラッシュR
OM2およびRAM3は、内部バス4に接続されてい
る。フラッシュROM2は、電気的制御により格納され
ているデータの書き換えが可能な不揮発性メモリであ
る。RAM3は、CPU1のワーク領域として使用され
るとともに、フラッシュROM2のデータ書き換え時の
データ待避領域としても使用される。また、図1には、
図示していないが、内部バス4には、外部と情報の送受
信を行うためのデータインタフェースが接続されてい
る。そのようなデータインタフェースとして、例えば、
RS232−CインタフェースやLANインタフェース
等がある。
【0024】組み込み装置内のメモリ配置構成は図2に
示すとおりである。組み込み装置では、アドレス000
00H番地〜3FFFFH番地までの空間がRAM3の
領域(RAM領域11)、アドレス40000H番地〜
EFFFFH番地までの空間が空き領域12、アドレス
F0000H番地〜FFFFFH番地までの空間がフラ
ッシュROM2の領域(ROM領域13)として使用さ
れる。ROM領域13には、共通プログラム格納領域、
空き領域(未使用領域)および固有プログラム領域が設
けられている。ROM領域13のメモリ配置構成の詳細
については、後述する。
【0025】ROM領域13におけるメモリ配置構成
は、図3に示すとおりである。ROM領域13は、共通
プログラムが格納される共通プログラム領域21、未使
用領域(空き領域)22、デバイス固有(不揮発性メモ
リ)の書き換えプログラムが格納される書き換えプログ
ラム領域23および未使用領域24から成る。
【0026】図3に示すように、ROM2では、アドレ
スF0000H番地に共通プログラムが配置され、書き
換えプログラムが固定アドレスFF000H番地に配置
される。共通プログラムは、ROM2の種類や製造元
(メーカ)に依存しないプログラムであり、例えば、O
S(オペレーションシステム)等である。書き換えプロ
グラムは、ROM2の種類やメーカに依存する書き換え
プログラムである。書き換えプログラムは、共通プログ
ラムの実行中に書き換え要求が発生した場合に、CPU
1によってサブルーチンコールされる。
【0027】本実施の形態では、ROM2として、図4
に示すようなフラッシュROM2A(以下、単にROM
2Aいう。)およびフラッシュROM2B(以下、単に
ROM2Bという。)のうち何れかの不揮発性メモリが
使用されることを想定する。図4は、フラッシュROM
のブロック構成を示す説明図である。
【0028】ROM2Aは、32Kバイトのブロック
1、16Kバイトのブロック2および16Kバイトのブ
ロック3から成るブロック構成を有する。ブロック1の
実アドレスは、F0000H番地〜F7FFFH番地で
あり、ブロック2の実アドレスは、F8000H番地〜
FBFFFH番地であり、ブロック3の実アドレスは、
FC000H番地〜FFFFFH番地である。ROM2
Aのデバイス固有のIDを1とする。
【0029】ROM2Bは、16Kバイトのブロック
1、16Kバイトのブロック2および32Kバイトのブ
ロック3から成るブロック構成を有する。ブロック1の
実アドレスは、F0000H番地〜F3FFFH番地で
あり、ブロック2の実アドレスは、F4000H番地〜
F7FFFH番地であり、ブロック3の実アドレスは、
F8000H番地〜FFFFFH番地である。ROM2
Bのデバイス固有のIDを2とする。
【0030】ROM2AおよびROM2Bのメモリ配置
構成を図5に示す。図5に示すように、ROM2Aおよ
びROM2Bにおいては、アドレスF0000H番地
に、ROM2A(ID=1)およびROM(ID=2)
に共通した共通プログラム100が配置されている。R
OM2Aにおいては、固定アドレスFF000H番地に
ID=1用の書き換えプログラム110が配置され、R
OM2Bにおいては、固定アドレスFF000H番地に
ID=2用の書き換えプログラム120が配置されてい
る。書き換えプログラム110および120は、共通プ
ログラムの実行中に書き換え要求が発生した場合に、サ
ブルーチンコールされる。書き換えプログラム110お
よび120は、それぞれ、ROM2AおよびROM2B
に格納されているデータを書き換えるためのROM2A
およびROM2B特有のプログラムである。
【0031】ここで、不揮発性メモリの書き換え処理
は、不揮発性メモリ毎に異なる。例えば、フラッシュR
OMは、1バイト単位でのデータ書き込みはできるが、
データの消去はブロック単位でしか行えない。そのた
め、ブロック構造が異なるフラッシュROMでは、書き
換え処理が異なる。また、フラッシュROMに対するコ
マンド番号(コマンドID)やコマンドの与え方も、フ
ラッシュROMの種類やメーカによって異なる。そのた
め、書き換えプログラムは、フラッシュメモリの種類や
メーカによって異なる。例えば、書き換えプログラム1
10と書き換えプログラム120とでは、書き換え処理
の方法が異なる。
【0032】共通プログラムおよび書き換えプログラム
は、例えば、ROMライタ等によってフラッシュROM
内に書き込まれる。この場合、ROMライタは、パーソ
ナルコンピュータ等の外部の情報処理装置から共通プロ
グラムおよび書き換えプログラムを受信し、共通プログ
ラムおよび書き換えプログラムをフラッシュROMに書
きこむ。このとき、ROMライタは、外部情報処理装置
から指定されたアドレスに書きこむ。
【0033】次に、動作について説明する。まず、RO
M2Aが使用された場合を想定する。図6は、書き換え
プログラム110の動作を説明するためのフローチャー
トである。
【0034】CPU1は、通常時には、ROM2Aに組
み込まれている共通プログラムに基づいて動作する。そ
して、共通プログラムの実行中に、プログラムの書き換
え要求が発生した場合には、CPU1は、共通プログラ
ムに基づいて書き換えプログラム110をサブルーチン
コールし、書き換えプログラム110を実行する。プロ
グラムの書き換え要求は、プログラムの不具合を改善す
るとき等において、外部装置(図示していない。)から
の割り込み要求やユーザからの書き換え指示等によって
発生する。
【0035】CPU1は、書き換え要求がROM2Aの
ブロック1(F0000H番地〜F7FFFH番地)に
対するものであるか否かを判断する(ステップS3
1)。
【0036】ブロック1に対するデータ書き換え要求で
ある場合には、CPU1は、ブロック1に格納されてい
るデータをRAM3に待避させ(ステップS311)、
ROM2Aのブロック1内の格納データを消去し(ステ
ップS312)、RAM3上で対象となるデータを書き
換え(ステップS313)、RAM3上で書き換えられ
たデータをROM2Aのブロック1に対して書き戻す
(ステップS314)。そして、書き換えプログラム1
10の処理を終了させる(正常終了)。このとき、ステ
ップS313において、CPU1は、外部インタフェー
スを介して外部から書き換え対象のデータを取得し、そ
のデータに基づいてRAM3上でデータの書き換えを行
う。
【0037】ブロック1のデータの書き換え要求でない
場合には、CPU1は、書き換え要求がブロック2(F
8000H番地〜FBFFFH番地)に対するものであ
るか否かを判断する(ステップS32)。ブロック2に
対する書き換え要求でない場合には、CPU1は、処理
を終了させる(異常終了)。つまり、CPU1は、ブロ
ック3に対する書き換えを禁止する。
【0038】書き換え要求がブロック2に対するもので
ある場合には、CPU1は、ブロック2に格納されてい
るデータをRAM3に待避させ(ステップS321)、
ROM2Aのブロック2内の格納データを消去し(ステ
ップS322)、RAM3上で対象となるデータを書き
換え(ステップS323)、RAM3上で書き換えられ
たデータをROM2Aのブロック2に対して書き戻す
(ステップS324)。そして、CPU1は、書き換え
プログラム1の処理を終了させる(正常終了)。
【0039】次に、ROM2Bが使用された場合を想定
する。図7は、書き換えプログラム120の動作を説明
するためのフローチャートである。
【0040】CPU1は、共通プログラムの実行中に書
き換え要求が発生した場合には、書き換えプログラム1
20をサブルーチンコールし、書き換えプログラムを実
行する。CPU1は、書き換え要求がROM2Bのブロ
ック1(F0000H〜F3FFFH)に対するもので
あるか否かを判断する(ステップS41)。
【0041】書き換え要求がROM2Bのブロック1に
対するものである場合には、CPU1は、ROM2Aの
場合と同様に、ブロック1に格納されているデータをR
AM3に待避させ(ステップS411)、ROM2Bの
ブロック1内の格納データを消去し(ステップS41
2)、RAM3上で対象となるデータを書き換え(ステ
ップS413)、RAM3上で書き換えられたデータを
ROM2Bのブロック1に対して書き戻す(ステップS
414)。
【0042】書き換え要求がROM2Bのブロック2に
対するものでない場合には、CPU1は、書き換え要求
がブロック2(F4000H〜F7FFFH)に対する
ものであるか否かを判断する(ステップS42)。ブロ
ック2に対する書き換え要求でない場合には、CPU1
は、処理を終了させる(異常終了)。つまり、ブロック
3に対する書き換えは禁止される。
【0043】書き換え要求がブロック2に対するもので
ある場合には、CPU1は、ROM2Aの場合と同様
に、ブロック2のデータをブロック2に格納されている
データをRAM3に待避させ(ステップS421)、R
OM2Bのブロック2内の格納データを消去し(ステッ
プS422)、RAM3上で対象となるデータを書き換
え(ステップS423)、RAM3上で書き換えられた
データをROM2Bのブロック2に対して書き戻す(ス
テップS424)。
【0044】なお、図6および図7に示すフローチャー
ト中において、ブロック3に対する書き換え要求が発生
した場合に異常終了として扱われているのは、書き換え
プログラム110および120は、ROM2AおよびR
OM2Bにおける固定アドレスFF000H番地(ブロ
ック3)に配置されているからである。もし、ブロック
3に対する書き換えを実行するとなると、消去処理(ス
テップS312、322、412、422)が実行され
た時点で書き換えプログラム110および120自身が
消去されるので、CPU1は、暴走動作してしまう。そ
のような事態を防止するために、固定アドレスFF00
0H番地を含むブロック3に対する書き換えは、禁止さ
れている。
【0045】以上のように、本実施の形態によれば、フ
ラッシュROMに固有の書き換えプログラムをフラッシ
ュROMの種類に依存しない共通プログラムから独立さ
せてサブルーチンとし、その書き換えプログラムをフラ
ッシュROMの固定のアドレスに配置し、書き換えプロ
グラムをフラッシュROM内に配置されている共通プロ
プログラムからサブルーチンコールさせるようにするこ
とで、フラッシュROMは、他のフラッシュROMに固
有の書き換えプログラムを保持する必要が無くなる。例
えば、図6に示すように、ID=1のROM70は、I
D=1以外のROMの書き換えプログラムを格納する必
要がなくなる。それにより、フラッシュROMの使用メ
モリ容量を削減することができる。
【0046】また、データ書き換えを行う場合、CPU
1は、共通プログラムから書き換えプログラムをサブル
ーチンコールするだけでよい。従って、従来の書き換え
方法のように、CPU1は、デバイスIDを読み取るこ
とで不揮発性メモリの種類を判断し、その判断結果に応
じて書き換え処理を選択する必要が無くなる。それによ
り、CPU1の負担を軽減させることができる。また、
不揮発性メモリの種類が異なっても共通プログラムを変
更する必要はない。
【0047】なお、上記の実施の形態では、フラッシュ
ROMとしてROM2AおよびROM2Bが使用された
場合について例示したが、これらと異なるブロック構造
を持つフラッシュROMに対しても本実施の形態を同様
に適用することができる。例えば、8Kバイトのブロッ
クを8個備えるフラッシュROM(ID=3とする。)
に対しても適用することができる。この場合、ID=3
用のフラッシュROMに対応した書き換えプログラムを
そのフラッシュROMの固定アドレスFF000H番地
に配置すればよい。
【0048】また、図6および図7のフローチャートに
示すように、ROM2AおよびROM2Bのブロック3
に対する書き換え要求が発生した場合には異常終了する
例について示したが、ブロック3に格納されている書き
換えプログラムをRAM3上に展開し、CPU1が、R
AM3上に展開された書き換えプログラムに基づいて動
作するように構成すれば、ROM2AおよびROM2B
のブロック3に対する書き換えが可能になる。
【0049】さらに、図6および図7のフローチャート
に示すように、ROM2AおよびROM2Bのブロック
消去(ステップS312、S322,S412、S42
2)および書き込み(ステップS314、S324、S
414、S424)が一動作で実現されるように示した
が、それぞれの動作は、ROM2AおよびROM2Bへ
の複数のコマンド発行という一連の処理にて実現され
る。
【0050】また、不揮発性メモリとしてフラッシュR
OMを用いた場合を例にしたが、不揮発性メモリは、フ
ラッシュROMに限定されない。例えば、不揮発性メモ
リは、EEPROMであってもよい。
【0051】
【発明の効果】本発明のように、不揮発性メモリに特有
な書き換え処理を記載した書き換えプログラムを不揮発
異性メモリに依存しない共通プログラムから呼び出され
るサブルーチンにし、その書き換えプログラムを不揮発
性メモリ内の固定アドレスに配置する方法を採用すれ
ば、不揮発性メモリは、他の不揮発性メモリに固有の書
き換えプログラムを格納する必要がなくなる。従って、
不揮発性メモリにおける使用メモリ容量を削減させるこ
とができる。
【図面の簡単な説明】
【図1】 不揮発性メモリが組み込まれた組み込み装置
の一構成例を示すブロック図である。
【図2】 組み込み装置におけるメモリ配置構成の一例
を示すメモリマップである。
【図3】 フラッシュROMにおけるメモリ配置構成の
一例を示すメモリマップである。
【図4】 フラッシュROMにおけるブロック構成の相
違を説明するための説明図である。
【図5】 フラッシュROMにおけるメモリ配置構成の
一例を示すメモリマップである。
【図6】 書き換えプログラムの動作を説明するための
フローチャートである。
【図7】 書き換えプログラムの動作を説明するための
フローチャートである。
【図8】 フラッシュROMのブロック構成の相違を説
明するための説明図である。
【図9】 フラッシュROMにおけるデータ書き換え動
作を説明するためのフローチャートである。
【図10】 従来のフラッシュメモリにおけるメモリ配
置構成を示すメモリマップである。
【符号の説明】
1 CPU 2 フラッシュROM 3 RAM 4 内部バス 21 共通プログラム 22 未使用領域 23 デバイス固有書き換えプログラム 24 未使用領域

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 不揮発性メモリ内にデータを配置する不
    揮発性メモリにおけるデータ配置方法であって、 前記不揮発性メモリに特有な書き換え処理を記載した書
    き換えプログラムを不揮発性メモリに依存しない共通プ
    ログラムから呼び出されるサブルーチンとするステップ
    と、 前記書き換えプログラムを不揮発性メモリ内の固定アド
    レスに配置するステップとを有することを特徴とする不
    揮発性メモリにおけるデータ配置方法。
  2. 【請求項2】 不揮発性メモリは、電気的制御によりデ
    ータ書き換えが可能なメモリである請求項1記載の不揮
    発性メモリにおけるデータ配置方法。
JP2001124729A 2001-04-23 2001-04-23 不揮発性メモリにおけるデータ配置方法 Pending JP2002318705A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001124729A JP2002318705A (ja) 2001-04-23 2001-04-23 不揮発性メモリにおけるデータ配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001124729A JP2002318705A (ja) 2001-04-23 2001-04-23 不揮発性メモリにおけるデータ配置方法

Publications (1)

Publication Number Publication Date
JP2002318705A true JP2002318705A (ja) 2002-10-31

Family

ID=18974068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001124729A Pending JP2002318705A (ja) 2001-04-23 2001-04-23 不揮発性メモリにおけるデータ配置方法

Country Status (1)

Country Link
JP (1) JP2002318705A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017151510A (ja) * 2016-02-22 2017-08-31 Kyb株式会社 コントローラ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017151510A (ja) * 2016-02-22 2017-08-31 Kyb株式会社 コントローラ

Similar Documents

Publication Publication Date Title
USRE48997E1 (en) Memory system in which extended function can easily be set
JP2669365B2 (ja) 書換え可能なromファイル装置
KR100531192B1 (ko) 비휘발성 메모리의 제어방법
EP0991081A1 (en) Emulated EEPROM memory device and corresponding method
CN110908932B (zh) 数据处理装置及其数据保护方法
US20040088534A1 (en) Methods and structure for BIOS reconfiguration
CN100426220C (zh) 在通信系统中利用单片机实现软件下载的装置及其方法
JPH04315253A (ja) 電子機器
US6598137B1 (en) Microcomputer having built-in nonvolatile memory for simultaneous use as a program area and a data area
JP2001306543A (ja) マイクロコンピュータ及びフラッシュメモリのデータ書換え方法
US5961611A (en) Automatic option setting circuit
US6738887B2 (en) Method and system for concurrent updating of a microcontroller's program memory
US6687783B1 (en) Access apparatus and method for accessing a plurality of storage device having different characteristics
JP2002318705A (ja) 不揮発性メモリにおけるデータ配置方法
US6148362A (en) Microcomputer using nonvolatile semiconductor memory to store user code/data
JP2845839B2 (ja) 無線選択呼出受信機
KR100316584B1 (ko) 시스템에서 부팅 및 수행 프로그램을 공유하는 플래시메모리 및 그 메모리 갱신 방법
JPH08305561A (ja) ファームウエアダウンロード方法とその装置
JP2011108161A (ja) 情報処理装置
CN117573175B (zh) 不复位控制芯片的固件实时更新方法、系统及存储介质
JP2005316831A (ja) 電子制御装置及びデータ調整方法
JP2007141257A (ja) Icカードおよびリーダ・ライタ
JP2002073360A (ja) 起動情報書換装置
JP2001134543A (ja) 電子機器
JPH1050086A (ja) Eepromを有するマイクロコンピュータ及びその書換方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040506

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040907