JP4282223B2 - フラッシュメモリ搭載型シングルチップマイクロコンピュータ - Google Patents

フラッシュメモリ搭載型シングルチップマイクロコンピュータ Download PDF

Info

Publication number
JP4282223B2
JP4282223B2 JP2000390958A JP2000390958A JP4282223B2 JP 4282223 B2 JP4282223 B2 JP 4282223B2 JP 2000390958 A JP2000390958 A JP 2000390958A JP 2000390958 A JP2000390958 A JP 2000390958A JP 4282223 B2 JP4282223 B2 JP 4282223B2
Authority
JP
Japan
Prior art keywords
area
erase
block
flag
memory
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.)
Expired - Fee Related
Application number
JP2000390958A
Other languages
English (en)
Other versions
JP2002189708A (ja
Inventor
憲一 長濱
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 Electronics Corp
Original Assignee
NEC Electronics 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 Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2000390958A priority Critical patent/JP4282223B2/ja
Publication of JP2002189708A publication Critical patent/JP2002189708A/ja
Application granted granted Critical
Publication of JP4282223B2 publication Critical patent/JP4282223B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Read Only Memory (AREA)
  • Storage Device Security (AREA)
  • Microcomputers (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、フラッシュメモリ搭載型シングルチップマイクロコンピュータに関し、特に、フラッシュメモリに書き込まれたプログラムコードのセキュリティを向上させたフラッシュメモリ搭載型シングルチップマイクロコンピュータに関する。
【0002】
【従来の技術】
不揮発性EEPROMのフラッシュメモリが搭載されたシングルチップマイクロコンピュータ(以下、シングルチップマイコンと呼ぶ)は、電化製品等の様々なセットに使用されているが、フラッシュメモリにプログラムコードを書き込み、セットに組み込んで出荷したのちにも、セットの定期的な修正/調整のためにプログラムコードを変更したいというユーザの要求がある。しかしながら、セット出荷後もフラッシュメモリのプログラムコードを変更できるようにすると、フラッシュメモリに書き込まれたプログラムコードを第三者に読み取られる可能性が生じ、セキュリティの低下が問題となる。セットの出荷後もフラッシュメモリのプログラムコードが変更可能で、且つ、第三者がプログラムコードを読み出すことができない、高いセキュリティのシングルチップマイコンが要求されている。
【0003】
特開2000−181898号公報には、セキュリティ対策が考慮されたフラッシュメモリ搭載型シングルチップマイコンが開示されている。図7は、この従来例のブロック図である。シングルチップマイコン81は、フラッシュメモリ82と、ROM83と、CPU84と、通信ポート85と、プログラミング制御回路86とで構成されていて、バス87を介して信号を送受信する。
【0004】
フラッシュメモリ82は、ユーザプログラム記憶用のA領域と、A領域の管理情報である消去禁止フラグ、書込禁止フラグおよび読出禁止フラグ記憶用のB領域に分割されて管理され、各領域には、書き込み、読み出し、および一括消去が可能である。ROM83には、通信ポート85を介しての外部との情報のやりとりの手順を記述した通信アルゴリズムと、フラッシュメモリ82への書き込み、読み出しおよび消去の手順を記述したプログラミングアルゴリズムが固定的に記録されている。CPU84は、シングルチップマイコン81の全体を管理し、フラッシュメモリ82,ROM83等のプログラムに基づいた処理を実行する。通信ポート85は、外部の書き込み装置と接続し、書き込みコード情報や書き込みコマンド等の情報をやりとりする。プログラミング制御回路86は、CPU84の制御に基づいてフラッシュメモリ82への書き込み、読み出しおよび消去の処理を実行する。
【0005】
CPU84は、外部からのプログラミング要求があると、B領域の管理情報を参照し、消去禁止フラグが許可を示す論理値1に設定されている場合にA領域の消去動作を実行し、禁止を示す論理値0である場合には消去動作を拒否する。同様に、書込禁止フラグが許可を示す論理値1に設定されている場合にA領域の書き込み動作を実行し、禁止を示す論理値0である場合には書き込み動作を拒否する。
【0006】
【発明が解決しようとする課題】
図7の従来例では、出荷後にフラッシュメモリ82内のプログラムコードを修正する場合には、予め消去禁止フラグおよび書込禁止フラグを許可状態にしておかなければならない。しかしながら、シングルチップマイコン81の起動時の初期状態を設定するプログラムが格納されるブート領域が消去および書き込みの許可状態であれば、第三者がブート領域を消去して別のコードを書き込むことが可能となる。フラッシュメモリ内のコードをシングルチップマイコン81の外部へ出力するように変更されたプログラムコードを書き込むことにより、再起動後にフラッシュメモリ82内のプログラムコードを外部に出力させることができる。
【0007】
これを防ぐためには、ブート領域を内含するブロックの消去禁止フラグおよび書き込み禁止フラグを禁止状態にしておかなければならないが、誤ってブート領域を許可状態に設定したままセット出荷する可能性も皆無ではない上に、禁止状態に設定した場合には、ユーザがブート領域に格納されたプログラムの変更を行いたい場合にも変更ができなくなってしまうという問題点があった。
本発明の目的は、上記問題点を解決して、フラッシュメモリ内のプログラムコードのセキュリティを一層向上させ、且つブート領域を内含するブロックのプログラムコードの変更が可能なシングルチップマイコンを提供することにある。
【0008】
【課題を解決するための手段】
本発明の第1の発明のフラッシュメモリ搭載型シングルチップマイクロコンピュータは、プログラムを格納する第1領域と、該第1領域に格納された情報の消去の禁止または許可を指定する消去禁止フラグおよび前記第1領域が消去済みであるかを示すブロック消去フラグを含む管理情報を格納する第2領域とがそれぞれに配設されたメモリブロックをN個(N≧2の正整数)有するフラッシュメモリと、N個のメモリブロックのうち第1のメモリブロックの消去禁止フラグが許可状態で且つ第2のメモリブロックから第Nのメモリブロックまでのすべてのブロック消去フラグがそれぞれのメモリブロックの第1領域が消去済みであることを示す状態であるときに第1のメモリブロックの第1領域の消去を許可する信号をCPUへ出力するプログラミング制御回路とを備え、前記第1のメモリブロックの第1領域は起動用プログラムが格納されるブート領域であり、前記第2乃至Nのメモリブロックの第1領域はユーザプログラムが格納される領域である
【0009】
第2の発明のフラッシュメモリ搭載型シングルチップマイクロコンピュータは、プログラムを格納する第1領域と、該第1領域に格納された情報の消去の禁止または許可を指定する消去禁止フラグおよび前記第1領域が消去済みであるかを示すエリア消去フラグを含む管理情報を格納する第2領域とがそれぞれに配設されたN個(N≧2の正整数)のフラッシュメモリと、N個のフラッシュメモリのうち第1のフラッシュメモリの消去禁止フラグが許可状態で且つ第2のフラッシュメモリから第Nのフラッシュメモリまでのすべてのエリア消去フラグがそれぞれのフラッシュメモリの第1領域が消去済みであることを示す状態であるときに第1のフラッシュメモリの第1領域の消去を許可する信号をCPUへ出力するプログラミング制御回路とを備え、前記第1のフラッシュメモリの第1領域は起動用プログラムが格納されるブート領域であり、前記第2乃至Nのフラッシュメモリの第1領域はユーザプログラムが格納される領域である
【0010】
第3の発明のフラッシュメモリ搭載型シングルチップマイクロコンピュータは、プログラムを格納する第1領域と、該第1領域に格納された情報の消去の禁止または許可を指定する消去禁止フラグおよび前記第1領域が消去済みであるかを示す複数のブロック消去フラグを含む管理情報を格納する第2領域と、前記複数のブロック消去フラグの状態から前記第1領域を消去済みとみなすかを判定するブロック消去フラグ判定回路とがそれぞれに配設されたメモリブロックをN個(N≧2の正整数)有するフラッシュメモリと、N個のメモリブロックのうち第1のメモリブロックの消去禁止フラグが許可状態で且つ第2のメモリブロックから第Nのメモリブロックまでのすべてのブロック消去フラグ判定回路の出力がそれぞれのメモリブロックの第1領域を消去済みとみなす信号レベルであるときに第1のメモリブロックの第1領域の消去を許可する信号をCPUへ出力するプログラミング制御回路とを備え、前記第1のメモリブロックの第1領域は起動用プログラムが格納されるブート領域であり、前記第2乃至Nのメモリブロックの第1領域はユーザプログラムが格納される領域である
【0011】
第4の発明のフラッシュメモリ搭載型シングルチップマイクロコンピュータは、プログラムを格納する第1領域と、該第1領域に格納された情報の消去の禁止または許可を指定する消去禁止フラグおよび前記第1領域が消去済みであるかを示す複数のエリア消去フラグを含む管理情報を格納する第2領域と、前記複数のエリア消去フラグの状態から前記第1領域を消去済みとみなすかを判定するエリア消去フラグ判定回路とがそれぞれに配設されたN個(N≧2の正整数)のフラッシュメモリと、N個のフラッシュメモリのうち第1のフラッシュメモリの消去禁止フラグが許可状態で且つ第2のフラッシュメモリから第Nのフラッシュメモリまでのすべてのエリア消去フラグ判定回路の出力がそれぞれのフラッシュメモリの第1領域を消去済みとみなす信号レベルであるときに第1のフラッシュメモリの第1領域の消去を許可する信号をCPUへ出力するプログラミング制御回路とを備え、前記第1のフラッシュメモリの第1領域は起動用プログラムが格納されるブート領域であり、前記第2乃至Nのフラッシュメモリの第1領域はユーザプログラムが格納される領域である
【0012】
第5の発明のフラッシュメモリ搭載型シングルチップマイクロコンピュータは、プログラムを格納する第1領域と、該第1領域に格納された情報の消去の禁止または許可を指定する消去禁止フラグと前記第1領域が消去済みであるかを示すブロック消去フラグと前記第1領域を消去済みの状態とみなすかを予め指定するブロック消去代替フラグとを含む管理情報を格納する第2領域と、前記ブロック消去フラグが消去済みを示すか前記ブロック消去代替フラグが消去済みの状態とみなすように指定されているかの少なくとも一方をみたすときに前記第1領域を消去済みとみなす信号を出力するブロック消去フラグ生成回路とがそれぞれに配設されたメモリブロックをN個(N≧2の正整数)有するフラッシュメモリと、N個のメモリブロックのうち第1のメモリブロックの消去禁止フラグが許可状態で且つ第2のメモリブロックから第Nのメモリブロックまでのすべてのブロック消去フラグ生成回路からの出力がそれぞれのメモリブロックの第1領域を消去済みとみなす信号レベルであるときに第1のメモリブロックの第1領域の消去を許可する信号をCPUへ出力するプログラミング制御回路とを備え、前記第1のメモリブロックの第1領域は起動用プログラムが格納されるブート領域であり、前記第2乃至Nのメモリブロックの第1領域はユーザプログラムが格納される領域である
【0013】
第6の発明のフラッシュメモリ搭載型シングルチップマイクロコンピュータは、プログラムを格納する第1領域と、該第1領域に格納された情報の消去の禁止または許可を指定する消去禁止フラグと前記第1領域が消去済みであるかを示すエリア消去フラグと前記第1領域を消去済みの状態とみなすかを予め指定するエリア消去代替フラグとを含む管理情報を格納する第2領域と、前記エリア消去フラグが消去済みを示すか前記エリア消去代替フラグが消去済みの状態とみなすように指定されているかの少なくとも一方をみたすときに前記第1領域を消去済みとみなす信号を出力するエリア消去フラグ生成回路とがそれぞれに配設されたN個(N≧2の正整数)のフラッシュメモリと、N個のフラッシュメモリのうち第1のフラッシュメモリの消去禁止フラグが許可状態で且つ第2のフラッシュメモリから第Nのフラッシュメモリまでのすべてのエリア消去フラグ生成回路からの出力がそれぞれのエリアの第1領域を消去済みとみなす信号レベルであるときに第1のフラッシュメモリの第1領域の消去を許可する信号をCPUへ出力するプログラミング制御回路とを備え、前記第1のフラッシュメモリの第1領域は起動用プログラムが格納されるブート領域であり、前記第2乃至Nのフラッシュメモリの第1領域はユーザプログラムが格納される領域である
【0014】
【発明の実施の形態】
次に、本発明を図面を参照して詳細に説明する。図1は、本発明の第1の実施の形態のブロック図である。
【0015】
シングルチップマイコン1は、フラッシュメモリ2と、ROM3と、CPU4と、通信ポート5と、プログラミング制御回路6とを有し、バス7を介して信号を送受信する。
【0016】
ROM3,CPU4,通信ポート5の機能は図7の従来例と同様である。ROM3には、通信ポート5を介しての外部との情報のやりとりの手順を記述した通信アルゴリズム9と、フラッシュメモリ2への書き込み、読み出しおよび消去の手順を記述したプログラミングアルゴリズム8が固定的に記録されている。CPU4は、シングルチップマイコン1の全体を管理し、フラッシュメモリ2,ROM3等のプログラムに基づいた処理を実行する。通信ポート5は、外部の書き込み装置と接続し、書き込みコード情報や書き込みコマンド等の情報をやりとりする。
【0017】
フラッシュメモリ2は、メモリブロック21−1〜21−nのn個(n≧2の正整数)のメモリブロックを含み、各メモリブロックは、第1領域であるところのA領域と、第2領域であるところのB領域とに分割されている。メモリブロック21−1のA領域22−1は、シングルチップマイコン1の起動時の初期状態を設定するプログラムが格納されるブート領域を内含する特別な領域として当てられ、メモリブロック21−2〜21−nのA領域22−2〜22−nは、ユーザプログラム記憶用の領域として使用される。B領域23−1〜23−nは、A領域の管理情報である消去禁止フラグ24−1〜24−n,書込禁止フラグ25−1〜25−n,読出禁止フラグ26−1〜26−nおよびブロック消去フラグ27−1〜27−nを有している。消去禁止フラグ24−1〜24−n,書込禁止フラグ25−1〜25−n,読出禁止フラグ26−1〜26−nは、ユーザプログラムの書き込み時に設定され、セットに組み込まれて出荷された後には外部から設定の変更はできない。ブロック消去フラグ27−1〜27−nは、メモリブロック21−1〜21−nのA領域22−1〜22−nのそれぞれに消去処理が実行されたときに対応して論理値1が設定され、書き込みが実行されたときに論理値0が設定される。
【0018】
CPU4は、外部から消去要求があったブロックについて、消去禁止フラグが許可を示す1に設定されている場合にA領域の消去動作を実行し、禁止を示す論理値0である場合には消去動作を拒否する。同様に、外部から書き込み要求があったブロックについて、書込禁止フラグが許可を示す論理値1に設定されている場合にA領域の書き込み動作を実行し、禁止を示す論理値0である場合には書き込み動作を拒否する。また、外部から読み出し要求があったブロックについて、読出禁止フラグが許可を示す論理値1に設定されている場合にA領域の読み出し動作を実行し、禁止を示す論理値0である場合には読み出し動作を拒否する。
【0019】
プログラミング制御回路6は、CPU4の制御に基づいてフラッシュメモリ2への書き込み、読み出しおよび消去の処理を実行し、ブロック消去制御回路11と、ブートブロック消去制御回路12と、書き込み、読み出し等の動作制御信号を生成する制御用回路とを含んでいる。ブロック消去制御回路11は、A領域22−1〜22−nのそれぞれに対応してブロック消去が許可されているときにはアクティブレベルの論理値1となるブロック消去許可信号BEA1〜BEAnを出力する。ブートブロック消去制御回路12は、ブロック消去フラグ27−2〜27−nからの出力であるブロック消去フラグ信号BEF2〜BEFnとブート領域を内含するA領域22−1に対応するブロック消去許可信号BEA1とを入力し、すべてが論理値1であるとき、すなわちA領域22−2〜22−nがすべて消去状態にあり、且つブート領域を内含するA領域22−1の消去が許可されているときに論理値1となるブートブロック消去許可信号BBEAを出力する。
【0020】
次に、図1のシングルチップマイコン1のプログラミング動作について説明する。先ず、ブート領域を内含するメモリブロック21−1以外の任意のメモリブロック21−i(i=2,3,・・・n)のA領域22−iを消去する場合について説明する。
【0021】
CPU4は、B領域21−iの消去禁止フラグ24−iを参照し、禁止を示す論理値0であれば消去動作を拒否し、許可を示す論理値1であればプログラミングアルゴリズム8にしたがい、プログラミング制御回路6を制御してA領域22−iの消去を実行する。消去禁止フラグ24−iが論理値1である場合には、プログラミング制御回路6内のブロック消去制御回路11はメモリブロック21−iの消去を許可する信号であるブロック消去許可信号BEAiをアクティブレベルに対応する論理値1とする。フラッシュメモリ2内のメモリブロック21−iは、ブロック消去許可信号BEAiがアクティブとなることにより、消去可能状態となりA領域22−iは消去される。A領域22−iの消去実行により、対応するブロック消去フラグ27−iは消去状態を示す論理値1となり保持される。
【0022】
次に、ブート領域を内含するメモリブロック21−1以外の任意のメモリブロック21−iのA領域22−iに書き込みを行う場合の動作について説明する。CPU4は対応するB領域23−iの書込禁止フラグ25−iを参照し、禁止を示す論理値0であれば書き込み動作を拒否し、許可を示す論理値1であればプログラミングアルゴリズム8にしたがい、プログラミング制御回路6を制御してA領域22−iの書き込みを実行する。A領域22−iの書き込み動作を実行するときに、対応するブロック消去フラグ27−iに書き込み済みを示す論理値0が書き込まれて保持される。
【0023】
次に、ブート領域を内含するメモリブロック21−1を消去する場合の動作について説明する。CPU4はB領域23−1の消去禁止フラグ24−1を参照し、禁止を示す論理値0であれば消去動作を拒否し、許可を示す論理値1であればプログラミングアルゴリズム8にしたがい、プログラミング制御回路6を制御してA領域22−1の消去動作を実行する。ブロック消去制御回路11はメモリブロック21−1の消去を許可する信号であるブロック消去許可信号BEA1をアクティブレベルに対応する論理値1とする。ブートブロック消去制御回路12は、ブロック消去フラグ27−2〜27−nからの出力であるブロック消去フラグ信号BEF2〜BEFnとブート領域を内含するA領域22−1のブロック消去許可信号BEA1とを入力し、すべてがアクティブレベルに対応する論理値1であれば、ブートブロック消去許可信号BBEAをアクティブレベルに対応する論理値1とする。
【0024】
ブート領域を内含するメモリブロック21−1は、ブートブロック消去許可信号BBEAが論理値1になることにより消去可能状態となり、CPU4によりA領域22−1は消去される。A領域22−1の消去を実行するときに、ブロック消去フラグ27−1には消去状態を示す論理値1が書き込まれて保持される。メモリブロック21−2〜21−nのうち1つでもプログラムが書かれている場合には、ブート領域を内含するメモリブロック21−1を消去することができない。
【0025】
ブート領域を内含するメモリブロック21−1のA領域22−1に書き込みを行う場合は、メモリブロック21−1以外の任意のメモリブロック21−iのA領域22−iに書き込みを行う場合の動作と同一であるので、説明を省略する。A領域22−1の書き込み動作を実行したときに、ブロック消去フラグ27−1には書き込み済みを示す論理値0が書き込まれて保持される。
【0026】
本実施の形態では、ユーザが、ブート領域を内含するメモリブロック21−1の消去禁止フラグ24−1を禁止状態である論理値0に設定することを忘れたとしても、ブート領域を内含するメモリブロック以外のメモリブロックのひとつにでもプログラムコードが書き込まれている場合には、ブート領域を内含するメモリブロック21−1のA領域22−1の消去ができず、したがってブート領域のプログラムをコードをシングルチップマイコン外部に出力するように変更することはできないので、図7の従来例よりもさらに高いセキュリティを実現できる。また、ユーザが、セット出荷時にすべてのメモリブロックの消去禁止フラグおよび書き込み禁止フラグを論理値1として許可状態としておくことにより、ブート領域を含むすべてのプログラムを変更することが可能である。
【0027】
図2は、他の実施例のブロック図である。図1の実施例では、シングルチップマイコン1は、1個のフラッシュメモリ2を搭載し、フラッシュメモリ内のn個のブロック21−1〜21−nのそれぞれをA領域とB領域に分割して管理していたが、本実施例では、シングルチップマイコン1aは、n個(n≧2)のフラッシュメモリ2−1〜2−nを搭載し、それぞれを第1領域であるところのA領域と第2領域であるところのB領域に分割して管理する点が異なっている。
【0028】
図2を参照すると、シングルチップマイコン1aは、n個のフラッシュメモリ2−1〜2−nを搭載し、フラッシュメモリ2−1のA領域31−1は、シングルチップマイコン1aの起動時の初期状態を設定するプログラムが格納されるブート領域を内含する特別な領域として当てられ、フラッシュメモリ2−2〜2−nのA領域31−2〜31−nは、ユーザプログラム記憶用の領域として使用される。フラッシュメモリ2−1〜2−nのB領域32−1〜32−nは、A領域の管理情報である消去禁止フラグ24−1〜24−n,書込禁止フラグ25−1〜25−n,読出禁止フラグ26−1〜26−nおよびエリア消去フラグ33−1〜33−nを有している。消去禁止フラグ24−1〜24−n,書込禁止フラグ25−1〜25−n,読出禁止フラグ26−1〜26−nは、ユーザプログラムの書き込み時に設定され、セットに組み込まれて出荷された後には外部から設定の変更はできない。エリア消去フラグ33−1〜33−nは、フラッシュメモリ2−1〜2−nのA領域31−1〜31−nに消去処理が実行されたときにそれぞれに論理値1が設定され、書き込みが実行されたときに論理値0が設定される。
【0029】
プログラミング制御回路6aは、エリア消去制御回路34と、ブートエリア消去制御回路35と、書き込み、読み出し等の動作制御信号を生成する制御用回路とを含んでいる。エリア消去制御回路34は、A領域31−1〜31−nのそれぞれに対応してエリア消去許可時には論理値1となるエリア消去許可信号AEA1〜AEAnを出力する。ブートエリア消去制御回路35は、エリア消去フラグ33−2〜33−nからの出力であるエリア消去フラグ信号AEF2〜AEFnとブート領域を内含するA領域31−1のエリア消去許可信号AEA1とを入力し、すべてが論理値1であるときに論理値1となるブートエリア消去許可信号BAEAを出力する。
【0030】
ブート領域を含むフラッシュメモリ2−1以外の任意のフラッシュメモリ2−i(i=2,3,・・・n)を消去する場合の動作について説明する。CPU4はB領域32−iの消去禁止フラグ24−iを参照し、禁止を示す論理値0であれば消去動作を拒否し、許可を示す論理値1であればプログラミングアルゴリズム8にしたがい、プログラミング制御回路6aを制御してA領域31−iの消去動作を実行する。プログラミング制御回路6a内のエリア消去制御回路34はフラッシュメモリ2−iの消去を許可する信号であるエリア消去許可信号AEAiをアクティブレベルとする。フラッシュメモリ2−iは、エリア消去許可信号AEAiがアクティブレベルの論理値1となることにより消去可能状態となり、A領域31−iの消去が実行される。A領域31−iの消去動作を実行するときにエリア消去フラグ33−iは消去状態を示す論理値1となり保持される。
【0031】
次に、ブート領域を内含するフラッシュメモリ2−1以外の任意のフラッシュメモリ2−iを書き込む場合の動作について説明する。CPU4はB領域32−iの書込禁止フラグ25−iを参照し、禁止を示す論理値0であれば書き込み動作を拒否し、許可を示す論理値1であればプログラミングアルゴリズム8にしたがい、プログラミング制御回路6aを制御してA領域31−iの書き込み動作を実行する。A領域31−iの書き込み動作を実行するときに、エリア消去フラグ33−iに書き込み状態を示す論理値0が書き込まれて保持される。ブート領域を内含するフラッシュメモリ2−1に書き込む場合も同一の動作を行う。
次に、ブート領域を内含するフラッシュメモリ2−1を消去する場合の動作について説明する。CPU4はB領域32−1の消去禁止フラグ24−1を参照し、禁止を示す論理値0であれば消去動作を拒否し、許可を示す論理値1であればプログラミングアルゴリズム8にしたがい、プログラミング制御回路6aを制御してA領域31−1の消去動作を実行する。エリア消去制御回路34は、フラッシュメモリ2−1の消去を許可する信号であるエリア消去許可信号AEA1のみをアクティブレベルの論理値1にする。ブートエリア消去制御回路35は、フラッシュメモリ2−2〜2−nが有するエリア消去フラグ24−2〜24―nから出力されるエリア消去フラグ出力信号AEF2〜AEFnのすべてが消去状態を示す論理値1であり、且つエリア消去許可信号AEA1がアクティブレベルの論理値1であれば、ブートエリア消去許可信号BAEAをアクティブレベルの論理値1として出力する。ブート領域を内含するフラッシュメモリ2−1は、ブートエリア消去許可信号BAEAが論理値1になることにより、消去可能状態となりA領域31−1の消去が実行される。
【0032】
A領域31−1の消去を実行するときに、エリア消去フラグ33−1には消去状態を示す論理値1が書き込まれて保持される。フラッシュメモリ2−2〜2−nのうち1つでもプログラムが書かれている場合には、ブート領域を内含するフラッシュメモリ2−1を消去することはできない。本実施例においても図1におけると同様に、高いセキュリティを実現できるとともに、ユーザがブート領域を含むすべてのプログラムを変更することが可能である。
【0033】
次に、本発明の第2の実施の形態について説明する。図3は、第2の実施の形態のシングルチップマイコン1bのブロック図である。
【0034】
シングルチップマイコン1bは、フラッシュメモリ2aの各ブロックのB領域にブロック消去フラグ判定回路と複数のブロック消去フラグとを有している点のみが図1のシングルチップマイコン1と異なり、その他の構成はシングルチップマイコン1と同一である。フラッシュメモリ2aにおいてメモリブロック21−1〜21−nのB領域23−1〜23−nには、それぞれにk個(k≧2の正整数)のブロック消去フラグ(27−11 〜27−1k )〜(27−n1 〜27−nk )とブロック消去フラグ判定回路41−1〜41−nとが設けられている。
【0035】
メモリブロック21−i(i=1,2,・・・n)のA領域22−iの消去動作を実行すると、ブロック消去フラグ27−i1 〜27−ik は消去状態を示す論理値1となる。A領域22−iに書き込み動作を実行すると、ブロック消去フラグ27−i1 〜27−ik のすべてに書き込み状態を示す論理値0が書き込まれる。
【0036】
ブロック消去フラグは、メモリブロックのデータ書き換えを実行する毎に、1回の消去と書き込みが行われるため、ユーザプログラム領域の領域Aよりも頻繁に書き込みと消去が繰り返されるので、ブロック消去フラグを構成するEEPROMセルが最も早く劣化して誤動作する可能性が大きい。このような場合に、本実施の形態を適用し、各メモリブロックにブロック消去フラグを3より大きい奇数個設けて、ブロック消去フラグ判定回路を多数決回路として構成することにより、ブロック消去フラグを構成するEEPROMメモリセルの一部が劣化して消去または書き込みが不可能になったとしても、ブロック消去フラグ判定回路の出力を正常に保つことができ、信頼性を向上できる。
【0037】
ブロック消去フラグ判定回路41−2〜41−nの出力であるブロック消去フラグ信号BEF2〜BEFnのすべてがアクティブレベルの論理値1で、且つブート領域を内含するメモリブロック21−1に対応するブロック消去許可信号BEA1がアクティブレベルの論理値1であるときにのみブート領域を含むメモリブロック21−1のA領域22−1の消去が許可されることは図1のシングルチップマイコン1と同じであるので、図1と同様に高いセキュリティを実現でき、ユーザがブート領域を含むすべてのプログラムを変更することが可能である。これに加えて、本実施の形態のシングルチップマイコン1bでは、例えば、ブロック消去フラグ判定回路の構成を多数決回路とすれば、書き込み消去の多数回繰り返し使用時におけるセキュリティ信頼性を向上させることができるという新たな利点が生じる。
【0038】
なお、メモリブロック21−iに対して、ブロック消去フラグ27−i1 〜27−ik のすべてが論理値1であるときにのみブロック消去フラグ判定回路41−iがブロック消去フラグ信号BEFiを論理値1として出力するようにブロック消去フラグ判定回路を論理積としてより厳しい消去判定とすることもでき、ブロック消去フラグ判定回路41−1〜41−nは、用途に応じて任意に組みかえることが可能である。シングルチップマイコン1bの他の動作に関しては、図1のシングルチップマイコン1と同様である。
【0039】
次に、他の実施例について説明する。図4は、第2の実施の形態の他の実施例のシングルチップマイコン1cのブロック図である。
【0040】
シングルチップマイコン1cは、複数のフラッシュメモリのB領域にエリア消去フラグ判定回路と複数のエリア消去フラグとを有している点のみが図2のシングルチップマイコン1aと異なり、その他の構成はシングルチップマイコン1aと同一である。フラッシュメモリ2a−1〜2a−nのB領域31−i〜31−nには、それぞれにk個(k≧2の正整数)のエリア消去フラグ(33−11 〜33−1k )〜(33−n1 〜33−nk )とエリア消去フラグ判定回路51−1〜51−nが設けられている。
【0041】
フラッシュメモリ2a−i(i=1,2,・・・n)のA領域31−iの消去動作を実行すると、エリア消去フラグ33−i1 〜33−ik は消去状態を示す論理値1となる。A領域31−iに書き込み動作を実行すると、エリア消去フラグ33−i1 〜33−ik のすべてに書き込み状態を示す論理値0が書き込まれる。
【0042】
エリア消去フラグ判定回路51−2〜51−nの出力であるエリア消去フラグ信号AEF2〜AEFnのすべてがアクティブレベルの論理値1で、且つブート領域を内含するフラッシュメモリ2a−1に対応するエリア消去許可信号AEA1がアクティブレベルの論理値1であるときにのみブート領域を含むフラッシュメモリ2a−1のA領域31−1の消去が許可されることは図2のシングルチップマイコン1aと同じであるので、図2と同様に高いセキュリティを実現でき、また、ユーザがブート領域を含むすべてのプログラムを変更することが可能である。これに加えて、本実施の形態のシングルチップマイコン1cでは、エリア消去フラグ判定回路の構成を、例えば多数決回路とすれば、図3のシングルチップマイコン1bと同様に書き込み消去の多数回繰り返し使用時におけるセキュリティ信頼性を向上させることができる。
【0043】
次に、本発明の第3の実施の形態について説明する。図5は、第3の実施の形態のシングルチップマイコン1dのブロック図である。
【0044】
シングルチップマイコン1dは、フラッシュメモリ2bの各ブロックのB領域にブロック消去代替フラグとブロック消去フラグ生成回路とを有している点のみが図1のシングルチップマイコン1と異なり、その他の構成はシングルチップマイコン1と同一である。
【0045】
ブロック消去代替フラグ61−1〜61−nは、消去禁止フラグ24−1〜24−n,書き込み禁止フラグ25−1〜25−n,読出禁止フラグ26−1〜26−nと同様に、特別のモード設定のもとでのみユーザが消去し書き込むことができるが、セット出荷後には外部から書き換えができないように構成されている。また、A領域22−1〜22−nを消去または書き込みしてもブロック消去代替フラグ61−1〜61−nが保持している論理値は変化しないので、ユーザが一度設定しセットとして出荷したのちは、設定値を保持し続ける。
メモリブロック21−i(i=1,2,・・・n)のブロック消去フラグ生成回路62−iは、ブロック消去フラグ27−iの論理値とブロック消去代替フラグ61−iの論理値との論理和をとり、ブロック消去フラグ信号BEFiとして出力する。その他の動作に関しては、図1のシングルチップマイコン1と同様である。
メモリブロック21−iのブロック消去代替フラグ61−iのデータに論理値1を保持させた場合には、メモリブロック21−iのA領域22−iが消去状態ではなくプログラムコードが書き込まれている状態であってブロック消去フラグ27−iが論理値0となっていても、ブロック消去フラグ生成回路62−iの出力であるブロック消去フラグ信号BEFiは、アクティブレベルの論理値1となる。したがって、ブロック消去代替フラグを論理値1に設定したメモリブロックのA領域に格納されたプログラムコードを残したままの状態で、ブート領域を内含するメモリブロック21−1のA領域22−1を消去することが可能となり、出荷後にフラッシュメモリ2b内のプログラムコードを修正する場合に、特にブート領域のプログラム変更を伴う場合には、書き込みビット数を低減して修正作業の効率を向上させることができる。
【0046】
ブロック消去フラグ判定回路62−2〜62−nの出力であるブロック消去フラグ信号BEF2〜BEFnのすべてがアクティブレベルの論理値1で、且つブート領域を内含するメモリブロック21−1に対応するブロック消去許可信号BEA1がアクティブレベルの論理値1であるときにのみブート領域を含むメモリブロック21−1のA領域22−1の消去が許可されることは図1のシングルチップマイコン1と同じであるので、図1と同様に高いセキュリティを実現でき、またユーザがブート領域を含むすべてのプログラムを変更することが可能である。ブロック消去代替フラグを論理値1設定したメモリブロックに対しては、ブート領域を書き換えたのちに格納されたプログラムコードが残っていればこれを読み出すことが可能ではあるが、メモリブロック数が多ければ、ブロック消去代替フラグを論理値1に設定したメモリブロック番号を知らない限り書き込まれたプログラムコードを残したままブート領域を消去することは困難であり、したがって第3者が読み出すことは困難であるのでセキュリティの高さは損なわれない。
【0047】
次に、他の実施例について説明する。図6は、第3の実施の形態の他の実施例のシングルチップマイコン1eのブロック図である。
【0048】
シングルチップマイコン1eは、複数のフラッシュメモリのそれぞれのB領域にエリア消去代替フラグとエリア消去フラグ生成回路とを有している点のみが図2のシングルチップマイコン1aと異なり、その他の構成はシングルチップマイコン1aと同一である。
【0049】
エリア消去代替フラグ71−1〜71−nは、セット出荷後には外部から書き換えができないように構成され、ユーザが一度設定しセットとして出荷したのちは、設定値を保持し続ける。
フラッシュメモリ2b−i(i=1,2,・・・n)のエリア消去フラグ生成回路72−iは、エリア消去フラグ33−iの論理値とエリア消去代替フラグ71−iの論理値との論理和をとり、エリア消去フラグ信号AEFiとして出力する。その他の動作に関しては、図2のシングルチップマイコン1aと同様である。
【0050】
フラッシュメモリ2b−iのエリア消去代替フラグ71−iのデータに論理値1を保持させた場合には、フラッシュメモリ2b−iのA領域31−iが消去状態ではなくプログラムコードが書き込まれている状態であってエリア消去フラグ33−iが論理値0となっていても、エリア消去フラグ生成回路72−iの出力であるエリア消去フラグ信号AEFiは、アクティブレベルの論理値1となり、A領域31−iに格納されたプログラムコードを残したままの状態で、ブート領域を内含するフラッシュメモリ2b−1のA領域31−1を消去することが可能となる。
【0051】
エリア消去フラグ判定回路72−2〜72−nの出力であるエリア消去フラグ信号AEF2〜AEFnのすべてがアクティブレベルの論理値1で、且つブート領域を内含するフラッシュメモリ2b−1に対応するエリア消去許可信号AEA1がアクティブレベルの論理値1であるときにのみブート領域を内含するフラッシュメモリ2b−1のA領域31−1の消去が許可されることは図2のシングルチップマイコン1aと同じであるので、図2と同様に高いセキュリティを実現でき、また、ユーザがブート領域を含むすべてのプログラムを変更することが可能である。
【0052】
【発明の効果】
以上のように、本発明を適用することにより、ブート領域を内含するメモリ領域以外のメモリ領域の状態を検知してすべての領域が消去状態と見なせるときのみにブート領域を内含するメモリ領域の消去を実行するようにしたので、図7の従来例に対してフラッシュメモリ内のプログラムコードのセキュリティを一層向上させることができるとともに、セット出荷後においても、ユーザがブート領域を含むすべてのプログラムを変更することが可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態のブロック図である。
【図2】第1の実施の形態の他の実施例のブロック図である。
【図3】本発明の第2の実施の形態のブロック図である。
【図4】第2の実施の形態の他の実施例のブロック図である。
【図5】本発明の第3の実施の形態のブロック図である。
【図6】第3の実施の形態の他の実施例のブロック図である。
【図7】従来例のブロック図である。
【符号の説明】
1,1a,1b,1c,1d,1e シングルチップマイコン
2,2−1,2−2,2−n,2a,2a−1,2a−2,2a−n,2b,2b−1,2b−2,2b−n フラッシュメモリ
3 ROM
4 CPU
5 通信ポート
6,6a プログラミング制御回路
7 バス
11 ブロック消去制御回路
12 ブートブロック消去制御回路
21−1,21−n メモリブロック
22−1,22−n,31−1,31−n A領域
23−1,23−n,32−1,32−n B領域
24−1,24−n 消去禁止フラグ
25−1,25−n 書込禁止フラグ
26−1,26−n 読出禁止フラグ
27−1,27−n,27−11,27−1k ブロック消去フラグ
33−1,33−n,33−11,33−1k エリア消去フラグ
34 エリア消去制御回路
35 ブートエリア消去制御回路
41−1,41−n ブロック消去フラグ判定回路
52−1,52−n エリア消去フラグ判定回路
61−1 ブロック消去代替フラグ
62−1,62−n ブロック消去フラグ生成回路
71−1 エリア消去代替フラグ
72−1,72−n エリア消去フラグ生成回路

Claims (6)

  1. プログラムを格納する第1領域と、該第1領域に格納された情報の消去の禁止または許可を指定する消去禁止フラグおよび前記第1領域が消去済みであるかを示すブロック消去フラグを含む管理情報を格納する第2領域とがそれぞれに配設されたメモリブロックをN個(N≧2の正整数)有するフラッシュメモリと、
    N個のメモリブロックのうち第1のメモリブロックの消去禁止フラグが許可状態で且つ第2のメモリブロックから第Nのメモリブロックまでのすべてのブロック消去フラグがそれぞれのメモリブロックの第1領域が消去済みであることを示す状態であるときに第1のメモリブロックの第1領域の消去を許可する信号をCPUへ出力するプログラミング制御回路とを備え、前記第1のメモリブロックの第1領域は起動用プログラムが格納されるブート領域であり、前記第2乃至Nのメモリブロックの第1領域はユーザプログラムが格納される領域であることを特徴とするフラッシュメモリ搭載型シングルチップマイクロコンピュータ。
  2. プログラムを格納する第1領域と、該第1領域に格納された情報の消去の禁止または許可を指定する消去禁止フラグおよび前記第1領域が消去済みであるかを示すエリア消去フラグを含む管理情報を格納する第2領域とがそれぞれに配設されたN個(N≧2の正整数)のフラッシュメモリと、
    N個のフラッシュメモリのうち第1のフラッシュメモリの消去禁止フラグが許可状態で且つ第2のフラッシュメモリから第Nのフラッシュメモリまでのすべてのエリア消去フラグがそれぞれのフラッシュメモリの第1領域が消去済みであることを示す状態であるときに第1のフラッシュメモリの第1領域の消去を許可する信号をCPUへ出力するプログラミング制御回路とを備え、前記第1のフラッシュメモリの第1領域は起動用プログラムが格納されるブート領域であり、前記第2乃至Nのフラッシュメモリの第1領域はユーザプログラムが格納される領域であることを特徴とするフラッシュメモリ搭載型シングルチップマイクロコンピュータ。
  3. プログラムを格納する第1領域と、該第1領域に格納された情報の消去の禁止または許可を指定する消去禁止フラグおよび前記第1領域が消去済みであるかを示す複数のブロック消去フラグを含む管理情報を格納する第2領域と、前記複数のブロック消去フラグの状態から前記第1領域を消去済みとみなすかを判定するブロック消去フラグ判定回路とがそれぞれに配設されたメモリブロックをN個(N≧2の正整数)有するフラッシュメモリと、
    N個のメモリブロックのうち第1のメモリブロックの消去禁止フラグが許可状態で且つ第2のメモリブロックから第Nのメモリブロックまでのすべてのブロック消去フラグ判定回路の出力がそれぞれのメモリブロックの第1領域を消去済みとみなす信号レベルであるときに第1のメモリブロックの第1領域の消去を許可する信号をCPUへ出力するプログラミング制御回路とを備え、前記第1のメモリブロックの第1領域は起動用プログラムが格納されるブート領域であり、前記第2乃至Nのメモリブロックの第1領域はユーザプログラムが格納される領域であることを特徴とするフラッシュメモリ搭載型シングルチップマイクロコンピュータ。
  4. プログラムを格納する第1領域と、該第1領域に格納された情報の消去の禁止または許可を指定する消去禁止フラグおよび前記第1領域が消去済みであるかを示す複数のエリア消去フラグを含む管理情報を格納する第2領域と、前記複数のエリア消去フラグの状態から前記第1領域を消去済みとみなすかを判定するエリア消去フラグ判定回路とがそれぞれに配設されたN個(N≧2の正整数)のフラッシュメモリと、
    N個のフラッシュメモリのうち第1のフラッシュメモリの消去禁止フラグが許可状態で且つ第2のフラッシュメモリから第Nのフラッシュメモリまでのすべてのエリア消去フラグ判定回路の出力がそれぞれのフラッシュメモリの第1領域を消去済みとみなす信号レベルであるときに第1のフラッシュメモリの第1領域の消去を許可する信号をCPUへ出力するプログラミング制御回路とを備え、前記第1のフラッシュメモリの第1領域は起動用プログラムが格納されるブート領域であり、前記第2乃至Nのフラッシュメモリの第1領域はユーザプログラムが格納される領域であることを特徴とするフラッシュメモリ搭載型シングルチップマイクロコンピュータ。
  5. プログラムを格納する第1領域と、該第1領域に格納された情報の消去の禁止または許可を指定する消去禁止フラグと前記第1領域が消去済みであるかを示すブロック消去フラグと前記第1領域を消去済みの状態とみなすかを予め指定するブロック消去代替フラグとを含む管理情報を格納する第2領域と、前記ブロック消去フラグが消去済みを示すか前記ブロック消去代替フラグが消去済みの状態とみなすように指定されているかの少なくとも一方をみたすときに前記第1領域を消去済みとみなす信号を出力するブロック消去フラグ生成回路とがそれぞれに配設されたメモリブロックをN個(N≧2の正整数)有するフラッシュメモリと、
    N個のメモリブロックのうち第1のメモリブロックの消去禁止フラグが許可状態で且つ第2のメモリブロックから第Nのメモリブロックまでのすべてのブロック消去フラグ生成回路からの出力がそれぞれのメモリブロックの第1領域を消去済みとみなす信号レベルであるときに第1のメモリブロックの第1領域の消去を許可する信号をCPUへ出力するプログラミング制御回路とを備え、前記第1のメモリブロックの第1領域は起動用プログラムが格納されるブート領域であり、前記第2乃至Nのメモリブロックの第1領域はユーザプログラムが格納される領域であることを特徴とするフラッシュメモリ搭載型シングルチップマイクロコンピュータ。
  6. プログラムを格納する第1領域と、該第1領域に格納された情報の消去の禁止または許可を指定する消去禁止フラグと前記第1領域が消去済みであるかを示すエリア消去フラグと前記第1領域を消去済みの状態とみなすかを予め指定するエリア消去代替フラグとを含む管理情報を格納する第2領域と、前記エリア消去フラグが消去済みを示すか前記エリア消去代替フラグが消去済みの状態とみなすように指定されているかの少なくとも一方をみたすときに前記第1領域を消去済みとみなす信号を出力するエリア消去フラグ生成回路とがそれぞれに配設されたN個(N≧2の正整数)のフラッシュメモリと、
    N個のフラッシュメモリのうち第1のフラッシュメモリの消去禁止フラグが許可状態で且つ第2のフラッシュメモリから第Nのフラッシュメモリまでのすべてのエリア消去フラグ生成回路からの出力がそれぞれのエリアの第1領域を消去済みとみなす信号レベルであるときに第1のフラッシュメモリの第1領域の消去を許可する信号をCPUへ出力するプログラミング制御回路とを備え、前記第1のフラッシュメモリの第1領域は起動用プログラムが格納されるブート領域であり、前記第2乃至Nのフラッシュメモリの第1領域はユーザプログラムが格納される領域であることを特徴とするフラッシュメモリ搭載型シングルチップマイクロコンピュータ。
JP2000390958A 2000-12-22 2000-12-22 フラッシュメモリ搭載型シングルチップマイクロコンピュータ Expired - Fee Related JP4282223B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000390958A JP4282223B2 (ja) 2000-12-22 2000-12-22 フラッシュメモリ搭載型シングルチップマイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000390958A JP4282223B2 (ja) 2000-12-22 2000-12-22 フラッシュメモリ搭載型シングルチップマイクロコンピュータ

Publications (2)

Publication Number Publication Date
JP2002189708A JP2002189708A (ja) 2002-07-05
JP4282223B2 true JP4282223B2 (ja) 2009-06-17

Family

ID=18857212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000390958A Expired - Fee Related JP4282223B2 (ja) 2000-12-22 2000-12-22 フラッシュメモリ搭載型シングルチップマイクロコンピュータ

Country Status (1)

Country Link
JP (1) JP4282223B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005078493A (ja) * 2003-09-02 2005-03-24 Renesas Technology Corp マイクロコンピュータ
JP2005108273A (ja) 2003-09-26 2005-04-21 Toshiba Corp 不揮発性半導体記憶装置
JP4773757B2 (ja) * 2004-07-09 2011-09-14 パナソニック株式会社 領域管理型メモリ装置
JP2007012180A (ja) * 2005-06-30 2007-01-18 Renesas Technology Corp 半導体記憶装置
JP2010238360A (ja) * 2010-06-25 2010-10-21 Toshiba Corp 不揮発性半導体記憶装置及びそのデータ消去方法
JP5269020B2 (ja) * 2010-09-22 2013-08-21 株式会社東芝 半導体集積回路装置およびメモリの管理方法

Also Published As

Publication number Publication date
JP2002189708A (ja) 2002-07-05

Similar Documents

Publication Publication Date Title
US20070214309A1 (en) Nonvolatile storage device and data writing method thereof
JP5576557B2 (ja) プロセッサシステム及びその制御方法
EP1669863A2 (en) Secure booting apparatus and method
US8954705B2 (en) Memory space management method and memory controller and memory storage device and memory storage using the same
US20090164709A1 (en) Secure storage devices and methods of managing secure storage devices
CN109710317B (zh) ***启动方法、装置、电子设备及存储介质
KR20040014971A (ko) 비휘발성 메모리의 제어방법
JP2009230407A (ja) データの更新方法、メモリシステムおよびメモリデバイス
JP2001014871A (ja) 不揮発性半導体記憶装置
US7249231B2 (en) Semiconductor memory with access protection scheme
EP0990989A2 (en) Microcomputer provided with flash memory and method of storing program into flash memory
WO2005094281A2 (en) Device-level address translation within a programmable non-volatile memory device
US8417902B2 (en) One-time-programmable memory emulation
JP2001356963A (ja) 半導体装置およびその制御装置
US8037275B2 (en) Memory module system using a partitioned serial presence detect memory
CN112384922A (zh) 加密密钥分布
JP4282223B2 (ja) フラッシュメモリ搭載型シングルチップマイクロコンピュータ
JP2014186466A (ja) データ記憶装置及びデータ記憶方法
JP5747680B2 (ja) 情報処理装置、画像形成装置およびプログラム
JP6631513B2 (ja) メモリ制御装置、メモリ装置およびメモリ制御方法
JP2006504202A (ja) メモリ構造を駆動するための方法
US20060184751A1 (en) Implementation of integrated status of a protection register word in a protection register array
JP4031693B2 (ja) 不揮発性メモリおよびこれを有したデータ記憶装置
US20110219219A1 (en) Semiconductor integrated circuit and register address controller
US20220113879A1 (en) System with Increasing Protected Storage Area and Erase Protection

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060307

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070703

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071012

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090217

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090317

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130327

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130327

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140327

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees