JP4324810B2 - マイクロコンピュータ、電子機器及びフラッシュメモリのプロテクト方式 - Google Patents

マイクロコンピュータ、電子機器及びフラッシュメモリのプロテクト方式 Download PDF

Info

Publication number
JP4324810B2
JP4324810B2 JP2007103063A JP2007103063A JP4324810B2 JP 4324810 B2 JP4324810 B2 JP 4324810B2 JP 2007103063 A JP2007103063 A JP 2007103063A JP 2007103063 A JP2007103063 A JP 2007103063A JP 4324810 B2 JP4324810 B2 JP 4324810B2
Authority
JP
Japan
Prior art keywords
protection
flash memory
flash
bus
microcomputer
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
JP2007103063A
Other languages
English (en)
Other versions
JP2008262294A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007103063A priority Critical patent/JP4324810B2/ja
Priority to US12/099,988 priority patent/US8316200B2/en
Publication of JP2008262294A publication Critical patent/JP2008262294A/ja
Application granted granted Critical
Publication of JP4324810B2 publication Critical patent/JP4324810B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本発明は、マイクロコンピュータ、電子機器及びマイクロコンピュータ内蔵のフラッシュメモリのプロテクト方式に関する。
フラッシュメモリ内蔵マイコンではフラッシュライタ側でプロテクトをコントロールする手法が知られているがフラッシュ内蔵マイクロコンピュータ自体にはプロテクト機能がないものが多い。
特開昭59−5496号 特開昭2002−269065号
従来技術ではプロテクト解除キーが必要であったり、プロテクト回路が複雑であったり、セキュリティーホールがあったりして、フラッシュメモリ全体のリードプロテクトを容易におこなうことはできなかった。
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、簡易な回路構成で強力なリードプロテクトが可能なマイクロコンピュータ、電子機器及びマイクロコンピュータ内蔵のフラッシュメモリのプロテクト方式を提供することである。
(1)本発明は、
マイクロコンピュータであって、
フラッシュメモリと
フラッシュメモリに対するアクセスを制御するフラッシュコントローラとを含み、
前記フラッシュメモリは、
フラッシュメモリの所与の領域に対するアクセスの可否を指定するプロテクト情報が格納されたプロテクト情報記憶部を含み、
前記フラッシュコントローラは、
前記プロテクト情報に基づき、フラッシュメモリの所与の領域に対するアクセスのプロテクト処理を行うフラッシュプロテクト処理部を含み、
フラッシュプロテクト処理部は、
アクセス対象がデータである場合に、フラッシュメモリに対するアクセスのプロテクト処理を行うことを特徴とする。
フラッシュメモリ (flash memory)は、書き換え可能(データの消去・書き込みを行なうことができる)で、電源を切っても内容が消えない不揮発性半導体メモリであり、フラッシュEEPROMまたはフラッシュROMとも言う。
アクセス対象がデータで有るか否かはCPUやアービター(ハーバードアーキテクチャの場合)からの情報により判断するようにしてもよい。
フラッシュメモリを複数のエリアに分割し、エリア単位にプロテクトの有無、ライトプロテクトの有無、リードプロテクトの有無等のプロテクト情報を設定してもよい。
アクセスのプロテクト処理には、ライトプロテクト処理及びリードプロテクト処理の少
なくとも1つを行う。リードプロテクト処理は、CPUへ返すリードデータを所定の値(例えば0x0000)に摩り替えることにより実現してもよい。ライトプロテクト処理は、例えばライトアドレスを所定のアドレス(例えばプロテクトビットが格納されているアドレス)に変換し、ライトデータを所定の値(例えばプロテクトビットの内容)に変換するといったように,アドレスとデータの内容を別のものに置き換えることにより実現してもよい。
本発明によればフラッシュメモリ全体にリードプロテクトをかけることも可能であるし、一部にリードプロテクトをかけることも可能である。
フラッシュプロテクト処理部は、アクセス対象が命令である場合には、フラッシュメモリに対するアクセスのプロテクト処理を行わないようにしてもよい。例えばCPUが命令リードでアクセスしてきた場合は、プロテクト対象アドレスであってもプロテクトは行なわないようにしてもよい。このようにするとプログラムとして実行できるが、プログラムがデータとして読み出されることを防ぐことができる。
(2)本発明のマイクロコンピュータは、
前記プロテクト情報記憶部には、フラッシュメモリに設定された複数のエリアの各エリアに対してにリード及びライトの少なくとも1つのプロテクトの有無を指定するプロテクト有無情報が記憶され、
前記フラッシュプロテクト処理部は
アクセス要求にかかるアドレスの属するエリアのプロテクト有無情報に基づき、前記プロテクト処理を行うことを特徴とする。
複数のエリアは、フラッシュメモリを分割して重複しないように割り当てられていてもよいし、重複して設定されていてもよい。また同じ大きさ及び形状にエリアとして設定されていてもよいし、大きさや形状の異なる領域として設定されていても良い。
プロテクト有無情報は、例えば各エリア毎に各1ビットのプロテクトビットをもうけてもよいし、エリアとリード/ライトの別毎に1ビットのプロテクトビットをもうけてもよい。
本発明によればエリア単位にプロテクトの有無を制御することができる。
(3)本発明のマイクロコンピュータは、
ブート時にフラッシュメモリのプロテクト情報記憶部の内容を読み出して、プロテクトビットレジスタに格納する初期化処理部を含み、
前記フラッシュプロテクト処理部は
前記プロテクトビットレジスタのプロテクト情報を参照して、前記プロテクト処理を行うことを特徴とする。
プロテクトビットレジスタは、フラッシュプロテクト処理部に専用のレジスタを設けてもよいし、汎用レジスタを利用してもよい。例えばフリップフロップ(FF)の内部レジスタで構成してもよい。本発明によれば、ブート時(電源投入時)にプロテクト情報の内容を内部レジスタにコピーして、以降はその内部レジスタを参照して処理を行うので、フラッシュメモリを参照する場合に比べ処理を簡略化及び高速化することができる。
(4)本発明のマイクロコンピュータは、
前記フラッシュプロテクト処理部は
フラッシュメモリに対するアクセス要求がリード要求である場合のみ前記プロテクト処理を行うことを特徴とする。
本発明によれば、フラッシュメモリの内容が外部から読み取られないようにプロテクト
することができる。
(5)本発明のマイクロコンピュータは、
前記フラッシュプロテクト処理部は、
CPUの処理モードがデバッグモードである場合に、前プロテクト処理を行うことを特徴とする。
前記フラッシュプロテクト処理部は、
CPUからモード情報を受け取りCPUの処理モードがデバッグモードであるか、通常モードであるか判断してもよい。
ここでデバッグモードとはCPUの状態がデバッグ状態である場合であり、デバッグ状態例えばブレークモードやテストモードという名称で呼ばれる場合にはかかる場合も含む。
一般にデバッグモードの場合には、予め予定しているユーザープログラム以外のプログラムが動作したり、バグがあるプログラムが動作したりしてフラッシュメモリの内部の情報が読み取られたり、間違って消去されたりする恐れがあるが、本発明によればデバッグモードの場合にプロテクト処理を行うことによりかかる事態を防止することができる。
(6)本発明のマイクロコンピュータは、
前記フラッシュプロテクト処理部は、
前記フラッシュメモリに対するアクセス要求が所定のブロック単位の消去要求コマンドである場合には、当該コマンドの実行を禁止する処理を行うことを特徴とする。
消去要求は記憶されているデータを破壊して読み出し不能にするための要求でイレース要求ともいう。所定のブロックとは例えばセクタでもよい。所定のブロック単位の消去要求コマンドとは、例えばセクタイレースコマンド等である。プロテクト情報が示すプロテクトの有無にかかわらずプロテクトしてもよいし、当該セクタに対してプロテクトビットが設定されている場合のみプロテクトしてもよい。
当該コマンドの実行を禁止する処理は、例えばフラッシュメモリへのデータ信号の値を摩り替えて無効なコマンドに変えてしまうことで実現してもよい。
本発明によればデバッグ時にセクタイレースが行われて、プロテクトビットを含むセクタだけがイレースされて(プロテクトが解除される)、イレースされていない他のセクタの情報が読み出されることを防止することができる。
(7)本発明のマイクロコンピュータは、
前記フラッシュプロテクト処理部は、
前記フラッシュメモリに対するアクセス要求が、フラッシュメモリの全消去要求コマンドである場合には、前記プロテクト処理を行わないことを特徴とする。
全消去要求コマンドとはフラッシュメモリ全体のデータを破壊して読み出し不能にするための要求で、イレース要求ともいう。チップ消去の場合には、チップ消去時に保護すべき情報もすべて消去されるため、プロテクトビットが解除されて内部情報が読み出される危険性がない。従ってフラッシュメモリの全消去要求コマンドを可能にしてユーザーの使い勝手のよいマイククロコンピュータを提供することができる。
(8)本発明のマイクロコンピュータは、
前記フラッシュメモリは、
予め所定のブロック単位で消去してから書き込み可能に構成されており、
前記フラッシュプロテクト処理部は、
前記フラッシュメモリのプロテクト情報記憶部の値が消去時のメモリセルの初期値と異なる場合にプロテクト処理を行うように構成されていることを特徴とする。
例えばフラッシュメモリがEEPROMの一種であるが、従来のEEPROMと違って1バイト単位の書き換えは出来ず、あらかじめブロック単位で消去してから書き込みを行うものである場合や、NAND型の場合(高集積化に向いていて、書き込みが高速な利点があるが、1バイト単位の書き込みはできない)、フラッシュメモリは初期値が第1の値(例えば1)であるとすると、一旦第2の値(例えば0)を書き込むと、イレースしない限り、当該セルの値を第1の値にすることができない構成となっている。
従って第2の値(例えば0)をプロテクト有りを示すビットに設定すると、上書きして書き換えられる恐れがないので、プロテクトありの指定を外部から解除できない構成とすることができる。
このように本発明によれば、外部からのプロテクト指定の解除が困難なセキュリティ度の高いマイクロコンピュータを提供することができる。
(9)本発明のマイクロコンピュータは、
データバスと命令バスを含む複数のバスに接続され、前記フラッシュメモリに対して複数のバスが競合状態のとき調停してこれらのいずれかのバスに使用許可を与える処理を行うアービターをさらに含み、
前記アービターは使用許可を与えたバスがデータバスであるのか命令バスであるのかを特定するバス特定情報を生成してフラッシュプロテクト処理部にたいして通知し、
前記フラッシュプロテクト処理部は
前記バス特定情報に基づきアクセス対象がデータか否か判断することを特徴とする。
(10)本発明は、
上記のいずれかに記載のマイクロコンピュータと、
入力情報を受け付ける手段と、
入力情報に基づき前記情報処理装置により処理された結果を出力するため手段と、
を含むことを特徴とする電子機器である。
(11)本発明は、
マイクロコンピュータに内蔵されたフラッシュメモリのプロテクト方式であって、
前記フラッシュメモリに、フラッシュメモリの所与の領域に対するアクセスの可否を指定するプロテクト情報が格納されたプロテクト情報記憶部を設け、
前記プロテクト情報に基づき、フラッシュメモリの所与の領域に対するアクセスのプロテクト処理を行う際に、アクセス対象がデータである場合に、フラッシュメモリに対するアクセスのプロテクト処理を行うことを特徴とする。
以下、本発明の好適な実施の形態について図面を用いて詳細に説明する。なお以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
1.マイクロコンピュータ
図1は、本実施の形態のマイクロコンピュータの構成について説明するための図である。
本実施の形態のマイクロコンピュータ10は、フラッシュメモリ20を含む。フラッシュメモリ20は、フラッシュメモリの所与の領域に対するアクセスの可否を指定するプロテクト情報が格納されたプロテクト情報記憶部22を含む。
本実施の形態のマイクロコンピュータ10は、フラッシュメモリ20に対するアクセスを制御するフラッシュコントローラ30を含む。フラッシュコントローラ30は、フラッシュプロテクト制御部60、アドレス/データ変換部50、フラッシュアクセスタイミング生成部40、選択部61を含む。フラッシュプロテクト制御部60とアドレス/データ変換部50は、プロテクト情報に基づき、フラッシュメモリ20の所与の領域に対するアクセスのプロテクト処理を行うフラッシュプロテクト処理部32として機能し、アクセス対象がデータである場合に、フラッシュメモリに対するアクセスのプロテクト処理を行う。
プロテクト情報記憶部22には、フラッシュメモリ20に設定された複数のエリアの各エリアに対してにリード及びライトの少なくとも1つのプロテクトの有無を指定するプロテクト有無情報が記憶され、フラッシュコントローラ30は、アクセス要求にかかるアドレスの属するエリアのプロテクト有無情報に基づき、前記プロテクト処理を行うようにしてもよい。
図示しないマイクロコンピュータのCPUまたはプロテクト情報記憶部22は、ブート時にフラッシュメモリ20のプロテクト情報記憶部の内容を読み出して、プロテクトビットレジスタ62に格納する初期化処理部として機能するようにしてもよい。
フラッシュプロテクト処理部32は、プロテクトビットレジスタ62のプロテクト情報を参照して、前記プロテクト処理を行うようにしてもよい。
またフラッシュプロテクト処理部32は、フラッシュメモリ20に対するアクセス要求がリード要求である場合のみ前記プロテクト処理を行うようにしてもよい。
またフラッシュプロテクト処理部32は、CPUの処理モードがデバッグモードである場合に、前期プロテクト処理を行うようにしてもよい。
またフラッシュプロテクト処理部32は、フラッシュメモリ20に対するアクセス要求が所定のブロック単位の消去要求コマンドである場合には、当該コマンドの実行を禁止する処理を行うようにしてもよい。
またフラッシュプロテクト処理部32は、前記フラッシュメモリに対するアクセス要求が、フラッシュメモリの全消去要求コマンドである場合には、前記プロテクト処理を行わないようにしてもよい。
フラッシュメモリ20は、予め所定のブロック単位で消去してから書き込み可能に構成されており、フラッシュプロテクト処理部32は、フラッシュメモリ20のプロテクト情報記憶部22の値が消去時のメモリセルの初期値と異なる場合に、プロテクト処理を行うように構成してもよい。
フラッシュアクセスタイミング生成部40は、ライトリクエスト信号41、リードリクエスト信号42、アドレス43、ライトデータ44を受け取り、ライトリクエスト信号41やリードリクエスト信号42に基づきチップイネーブル46やライトイネーブル47を生成し、生成したチップイネーブル46やライトイネーブル47、アドレス43、ライトデータ44をフラッシュメモリのアクセスタイミングに合わせて出力する。またフラッシュメモリ20から読み出されたリードデータ22を、所定のタイミングで出力する制御を行う。
フラッシュプロテクト制御部60は、アクセス対象が命令なのかデータなのかを示す命令/データ種別64、動作モード情報65、フラッシュアクセスタイミング生成部40が
出力するチップイネーブル46,ライトイネーブル47、アドレス43、ライトデータ44、フラッシュメモリから読み出されたリードデータ22を受け取り、チップイネーブル46,ライトイネーブル47、アドレス43及びプロテクトビット62に基づき、アクセスがプロテクト対象か否か判断し、プロテクト対象である場合には、ライトプロテクト情報66、リードプロテクトデータ69を出力する。
アドレス/データ変換部50は、ライトプロテクト情報に基づき、ライトプロテクト時にフラッシュメモリに書き込むドレスとデータを変換する処理を行う。
選択部61は、フラッシュメモリ20から読み出されるリードデータ22とフラッシュプロテクト制御部60から出力されるリードプロテクトデータ9(ダミーリードデータ)69が入力され、プロテクト無しの場合にはリードデータ22を出力し、リードプロテクト時にはダミーリードデータ69を出力する。
図2(A)(B)は、フラッシュメモリの割り当てについて説明するための図である。図2(A)に、本実施の形態のメモリマップ200を示す。本実施の形態では、64KBのフラッシュメモリ20が論理アドレス202の部分(0x08000〜007fff)に割り当てれている。フラッシュメモリ20はセクタ0〜15の16個のセクタ(ここでは16KB単位のセクタが設定されている)に分割されて、セクタイレースコマンドが実行されるとこによりフラッシュメモリ20はセクタ単位で消去(イレース)可能な構成になっている。
本実施の形態ではフラッシュメモリ200の所定のエリアにプロテクト情報記憶部22が設けられ、プロテクト情報が記憶されている。例えば図2(B)に示すように、フラッシュメモリの所定のセクタ(ここではセクタ7)の最後尾の32ビットをプロテクトビット(プロテクト情報記憶部)22として、システム予約するようにしてもよい。
図3(A)(B)は、プロテクトビットについて説明するための図である。
本実施の形態ではフラッシュメモリ200の所定のエリア単位(ここでは16KB単位、4セクタ単位)にライトプロテクト及びリードプロテクトの2種類を指定できるようになっている。例えば図3(A)(B)に示すように、32ビットのプロテクトビットを設定し、RD0、RD1、RD2、RD3にそれぞれセクタ8〜11、12〜15、0〜3、4〜7に対するライトプロテクトの有無を指示するビットを設定し、’1’であればライトプロテクト無し、’0’であればライトプロテクト有りとしてプロテクト処理を行うようにしてもよい。同様にLD0、LD1、LD2、LD3にそれぞれセクタ8〜11、12〜15、0〜3、4〜7に対するリードプロテクトの有無を指示するビットを設定し、’1’であればリードプロテクト無し、’0’であればリードプロテクト有りとしてプロテクト処理を行うようにしてもよい。ライトプロテクト有りの場合は指定された領域への書き込みを禁止し、リードプロテクト有りの場合は指定された領域からの読み出しを禁止する。
本実施の形態のフラッシュメモリは、予め所定のブロック単位で消去してから書き込み可能に構成されている。
また、ライトまたはリードプロテクトビットの消去後の初期値(プロテクトなし)が’1’で、プロテクト有りを設定する場合には’0’を書き込む場合において、一旦プロテクト有りに設定する(’0’を書き込む)と、このビットのみをプロテクト無しを示す’1’に再度書き込むことはできないように構成されている。
また本実施の形態では、デバッグモードにおいてはセクタイレースコマンドが発されてもセクタイレースが実行されないように制御している。従ってデバッグ時にプロテクトビット(プロテクト情報記憶部)を含むセクタがイレースされてプロテクトビットが初期化される(プロテクト無し状態)のを、防止することができる。
なお本実施の形態では、デバッグ時にセクタイレースコマンドの実行はできないがチップ消去(フラッシュメモリ全体の消去)の実行は可能である。これはチップ消去の場合には、チップ消去時に保護すべき情報もすべて消去されるため、プロテクトビットが解除されて内部情報が読み出される危険性がないからである。これに対し、セクタイレースの場合には、プロテクトビットを含むセクタだけがイレースされて(プロテクトが解除される)、他のセクタのデータはイレースされないので、他のセクタの情報が読み出される危険性があるため、セクタイレースの実行を不可能にしている。ここで、デバッグ時にはセクタイレースの実行をすべて禁止するような構成でもよいし、対象セクタに対応するプロテクトビットがプロテクト有りを示している場合に当該セクタのイレースを禁止する構成でもよい。尚前者の場合にはプロテクトビットのあるセクタを含む所定のエリア(プロテクトビットをしている単位エリア)のプロテクトビットをプロテクト有りに設定しなくても、プロテクトが解除されることはない。しかし後者の場合には、プロテクトビットのあるセクタを含む所定のエリア(プロテクトビットをしている単位エリア)のプロテクトビットをプロテクト有りに設定してプロテクトがイレース(解除)されないようにする必要がある。
図4は、命令とデータが同じバスを使用するマイクロコンピュータの構成である。同図では、図1の主要部にCPU70とデータバス80を加えた構成を示す。
CPU70は、種々の命令の実行処理を行うものであり、デバッグモジュール72を含む。デバッグモジュール72は、オンチップデバッグを行うためのデバッグ回路を含み、
デバッグモード時に外部のデバッグツール110とデバッグ情報の送受信を行い、デバッグ用プログラムを実行して種々のデバッグ処理を行う。
なおCPU70は、ユーザーモードとデバッグモードを有しており、動作モード設定部74を含む。動作モード設定部74は、図示しない動作モードレジスタ(FF)を含み、強制ブレークやブレークポイントやステップ実行の各ステップにおけるブレーク発生等に基づきデバッグモードを設定する。
ここでデバッグモードとはCPUの状態がデバッグ状態である場合であり、デバッグ状態例えばブレークモードやテストモードという名称で呼ばれる場合にはかかる場合も含む。
フラッシュコントローラ30及びフラッシュメモリ20の構成は図1と同様である。ここで、フラッシュコントローラ30は、ライトリクエスト41、リードリクエスト42、アドレス43、命令/データ種別64、動作モード情報65については、専用の信号線を介してCPUから受け取る。またライトデータ44、リードデータ22については、それぞれの入出力信号線を汎用のデータバス80に接続して当該データバス80を介してやり取りを行うよう。
図5は、ハーバードアーキテクチャ(命令バスとデータバスを別個に有する)のマイクロコンピュータの構成である。同図では、図1の主要部にCPU70’、アービター90、データバス80、命令バス82を加えた構成を示す。
ハーバード・アーキテクチャとは、命令用のデータ通信経路とデータ用のデータの通信経路とをそれぞれ分離独立して扱う構造のことであり、ハーバード・アーキテクチャのコンピュータでは、命令をメモリから読むこととデータをメモリから読むことは同時にできる。
アービター90は、データバス80と命令バス82に接続され、フラッシュメモリ20に対するデータバス80と命令バス82のアクセス権の調停を行う。アービター90は、データバス80と命令バス82を含む複数のバスに接続され、前記フラッシュメモリ20に対して複数のバスが競合状態のとき調停してこれらのいずれかのバスに使用許可を与える処理を行い、使用許可を与えたバスがデータバス80であるのか命令バス82であるのかを特定するバス特定情報92(これが命令/データ種別64となる)を生成してフラッシュコントローラ30にたいして通知する。そしてフラッシュコントローラ30は、バス特定情報92(64)に基づきアクセス対象がデータか否か判断する。
フラッシュコントローラ30及びフラッシュメモリ20の構成は図1と同様である。ここでアービター90は、専用の信号線を介してCPU70’からライトリクエスト41、リードリクエスト42、アドレス43を受け取り、受け取ったライトリクエスト41、リードリクエスト42、アドレス43を専用の信号線を介してフラッシュコントローラ30に送る。またCPU70’は、リードデータ22−1(命令の場合)は命令バス82を介してアービター90から受け取り、リードデータ22−2(データの場合)はデータバス82を介してアービター90から受け取り、ライトデータ44(内容は命令でもデータでもよいが扱いはデータ)データバス80を介してアービター90に送る。
また動作モード65は、CPU70’から専用の信号線でフラッシュコントローラ30に送られる。
図6は、本実施の形態の初期化処理の流れを示すフローチャートである。
まずリセット解除を行う(ステップS10)。次にフラッシュメモリ20の所定のアドレス(プロテクト情報記憶部のアドレス)へリードアクセスを行う(ステップS20)。次にリードデータ(プロテクト情報)をプロテクトビット62に格納する(ステップS30)。上記ステップS10〜S30は初期化状態の処理であり、この間のCPUからのアクセスは保留になる。
このように本実施の形態では、ブート時にフラッシュメモリ20のプロテクト情報記憶部22の内容を読み出して、プロテクトビット(ブート情報格納レジスタ(例えばフリップフロップ(FF))62に格納し、以降はフラッシュプロテクト制御部60は、プロテクトビット62に基づき、プロテクト処理を行う。
図7は、本実施の形態のリードプロテクト処理の流れを示すフローチャートである。
フラッシュプロテクト制御部は通常動作において、フラッシュメモリ20に対するアクセスアドレスとデータを監視している(ステップS110)。たとえば図1に示すようにフラッシュアクセスタイミング生成部が出力するアドレスと43とライトデータ44、チップイネーブル46、ライトイネーブル47を監視するようにしてもよい。
リードアクセスが発生すると、命令リードか否か判断する(ステップS120、S130)。フラッシュプロテクト制御部60は、フラッシュアクセスタイミング生成部40が出力するチップイネーブル46及びライトイネーブル47に基づきリードアクセスか否か判断するようにしてもよい。例えばチップイネーブルかつライトディセーブルで有る場合にリードアクセスが発生したと判断するようにしてもよい。また命令リードか否かは、CPU又はアービター90から受け取る命令/データ種別64が命令を示しているか否かにより判断してもよい。
命令リードである場合はリードを実行する(ステップS120、S130)。本実施の形態ではCPUが命令リードでアクセスしてきた場合は、プロテクト対象アドレスであってもプロテクトは行なわないように制御する。このようにするとプログラムとして実行できるが、プログラムがデータとして読み出されることを防ぐことができる。
命令リードでない場合(データリードの場合)は、プロテクト対象アドレスであるか否か判断する(ステップS140)。例えばフラッシュアクセスタイミングコントローラ40が出力するアドレスが含まれるセクタに対応して設定されているリードプロテクトビットが’0’であればリードプロテクト対象であると判断しても良い。
リードプロテクト対象アドレスである場合には、リードプロテクトを実行する(ステップS150)。リードプロテクトは,CPUへ返すリードデータを例えば0x0000に摩り替えることにより実現してもよい。すなわちリードプロテクト時にはフラッシュプロテクト制御部60はCPUへ返すリードプロテクトデータとして例えば0x0000を出力し、選択部70は、フラッシュメモリから読み出されたリードデータとフラッシュプロテクトデータを入力として、リードプロテクト時にはリードプロテクトデータを選択出力するようにしてもよい。
プロテクト対象アドレスでない場合には、リードを実行する(ステップS160)。
図8は、本実施の形態のライトプロテクト処理の流れを示すフローチャートである。
フラッシュプロテクト制御部60は通常動作において、フラッシュメモリに対するアクセスアドレスとデータを監視している(ステップS210)。たとえば図1に示すようにフラッシュアクセスタイミング生成部が出力するアドレス43とライトデータ44、チップイネーブル46、ライトイネーブル47を監視するようにしてもよい。
ライトアクセスが発生すると、プロテクト対象アドレスか否か判断する(ステップS220、S230)。フラッシュプロテクト制御部は、フラッシュアクセスタイミング生成部が出力するチップイネーブル46及びライトイネーブル47に基づきライトアクセスか否か判断するようにしてもよい。例えばチップイネーブルかつライトイネーブルある場合にライトアクセスであると判断してもよい。例えばフラッシュアクセスタイミングコントローラ40が出力するアドレスが含まれるセクタに対応して設定されているライトプロテクトビットが’0’であればライトプロテクト対象であると判断しても良い。
プロテクト対象アドレスである場合には、ライトプロテクトを実行する(ステップS240)。ライトプロテクトは,例えばライトアドレスをプロテクトビットが格納されているアドレスに変換し、ライトデータをプロテクトビットの内容に変換するといったように,アドレスとデータの内容を別のものに摩り替えることにより実現してもよい。例えばライトプロテクト時にフラッシュプロテクト制御部60は、プロテクトビットが格納されているアドレス及びプロテクトビットをアドレスデータ変換部50に渡し、アドレスデータ変換部50で、ライトアドレスをプロテクトビットが格納されているアドレスに変換し、ライトデータをプロテクトビットの内容に変換するようにしてもよい。
プロテクト対象アドレスでない場合には、ライトコマンドを実行する(ステップS250)。
図9は、本実施の形態のセクタイレースプロテクト処理の流れを示すフローチャートである。セクタイレースコマンドはセクタ単位で消去(初期化)するコマンドである。
フラッシュプロテクト制御部は通常動作において、フラッシュメモリに対するアクセスアドレスとデータを監視している(ステップS310)。たとえば図1に示すようにフラッシュアクセスタイミング生成部が出力するアドレスと43、ライトデータ44、チップイネーブル46、ライトイネーブル47を監視するようにしても良い。
セクタイレースコマンドを検出すると、デバッグモードである場合にはセクタイレースプロテクトを行い(ステップS330、S340)、デバッグモードでない場合にはセクタイレースコマンドを実行する(ステップS330、S350)。フラッシュプロテクト制御部は、フラッシュアクセスタイミング生成部が出力するチップイネーブル46及びライトイネーブル47、ライトデータ44に基づきセクタイレースコマンドか否か判断するようにしてもよい。例えばチップイネーブルかつライトイネーブルでライトデータ44が所定の値である場合にセクタイレースコマンドであると判断してもよい。セクタイレースプロテクトは、フラッシュメモリへのデータ信号の値を摩り替えて無効なコマンドに変えてしまうことで実現してもよい。
図10は、本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。
本マイクロコンピュータ700は、CPU510、キャッシュメモリ520、LCDコントローラ530、リセット回路540、プログラマブルタイマ550、リアルタイムクロック(RTC)560、DRAMコントローラ兼バスI/F570、割り込みコントローラ580、シリアルインターフェース590、バスコントローラ600、A/D変換器610、D/A変換器620、入力ポート630、出力ポート640、I/Oポート650、クロック発生装置560、プリスケーラ570、フラッシュコントローラ740、フラッシュメモリ742、及びそれらを接続する汎用バス680、専用バス750等、各種ピン690等を含む。
フラッシュコントローラ740、フラッシュメモリ742は、例えば図1〜図9で説明した構成を有する。
2.電子機器
図11に、本実施の形態の電子機器のブロック図の一例を示す。本電子機器800は、マイクロコンピュータ(またはASIC)810、入力部820、メモリ830、電源生成部840、LCD850、音出力部860を含む。
ここで、入力部820は、種々のデータを入力するためのものである。マイクロコンピュータ810は、この入力部820により入力されたデータに基づいて種々の処理を行うことになる。メモリ830は、マイクロコンピュータ810などの作業領域となるものである。電源生成部840は、電子機器800で使用される各種電源を生成するためのものである。LCD850は、電子機器が表示する各種の画像(文字、アイコン、グラフィック等)を出力するためのものである。 音出力部860は、電子機器800が出力する各種の音(音声、ゲーム音等)を出力するためのものであり、その機能は、スピーカなどのハードウェアにより実現できる。
図12(A)に、電子機器の1つである携帯電話950の外観図の例を示す。この携帯電話950は、入力部として機能するダイヤルボタン952や、電話番号や名前やアイコンなどを表示するLCD954や、音出力部として機能し音声を出力するスピーカ956を備える。
図12(B)に、電子機器の1つである携帯型ゲーム装置960の外観図の例を示す。この携帯型ゲーム装置960は、入力部として機能する操作ボタン962、十字キー964や、ゲーム画像を表示するLCD966や、音出力部として機能しゲーム音を出力するスピーカ968を備える。
図12(C)に、電子機器の1つであるパーソナルコンピュータ970の外観図の例を示す。このパーソナルコンピュータ970は、入力部として機能するキーボード972や、文字、数字、グラフィックなどを表示するLCD974、音出力部976を備える。
本実施の形態のマイクロコンピュータを図12(A)〜図12(C)の電子機器に組みむことにより、低消費電力でコストパフォーマンスの高い電子機器を提供することができる。
なお、本実施形態を利用できる電子機器としては、図12(A)、(B)、(C)に示すもの以外にも、携帯型情報端末、ページャー、電子卓上計算機、タッチパネルを備えた装置、プロジェクタ、ワードプロセッサ、ビューファインダ型又はモニタ直視型のビデオテープレコーダ、カーナビゲーション装置等のLCDを使用する種々の電子機器を考えることができる。
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
本実施の形態のマイクロコンピュータの構成について説明するための図。 図2(A)(B)は、フラッシュメモリの割り当てについて説明するための図。 図3(A)(B)は、プロテクトビットについて説明するための図。 命令とデータが同じバスを使用するマイクロコンピュータの構成を示す図。 ハーバードアーキテクチャのマイクロコンピュータの構成を示す図。 本実施の形態の初期化処理の流れを示すフローチャート。 本実施の形態のリードプロテクト処理の流れを示すフローチャート。 本実施の形態のライトプロテクト処理の流れを示すフローチャート。 本実施の形態のセクタイレースプロテクト処理の流れを示すフローチャート。 本実施の形態のマイクロコンピュータのハードウエアブロック図。 マイクロコンピュータを含む電子機器のブロック図の一例を示す。 図12(A)(B)(C)は、種々の電子機器の外観図の例である。
符号の説明
10 CPU、20 フラッシュメモリ、22 プロテクト情報記憶部、30フラッシュコントローラ、40 フラッシュアクセスタイミング生成部、50 アドレスデータ変換部、60 フラッシュプロテクト制御部、62 プロテクトビット、510 CPU、530 LCDコントローラ、540 リセット回路、550 プログラマブルタイマ、560 リアルタイムクロック(RTC)、570 DRAMコントローラ兼バスI/F、580 割り込みコントローラ、590 シリアルインターフェース、600 バスコントローラ、610 A/D変換器、620 D/A変換器、630 入力ポート、640 出力ポート、650 I/Oポート、660 クロック発生装置(PLL)、670 プリスケーラ、680 汎用バス、690 各種ピン、700 マイクロコンピュータ、710 ROM、720 RAM、730 MMU、740 フラッシュコントローラ、742 フラッシュメモリ、800 電子機器、850 LCD

Claims (10)

  1. マイクロコンピュータであって、
    フラッシュメモリと、
    前記フラッシュメモリに対するアクセスを制御するフラッシュコントローラと、
    データバスと命令バスを含む複数のバスに接続され、前記フラッシュメモリに対して複数のバスが競合状態のとき調停してこれらのいずれかのバスに使用許可を与える処理を行うアービターを含み、
    前記フラッシュメモリは、
    前記フラッシュメモリの所与の領域に対するアクセスの可否を指定するプロテクト情報が格納されたプロテクト情報記憶部を含み、
    前記フラッシュコントローラは、
    前記プロテクト情報に基づき、前記フラッシュメモリの所与の領域に対するアクセスのプロテクト処理を行うフラッシュプロテクト処理部を含み、
    前記アービターは、
    使用許可を与えたバスがデータバスであるのか命令バスであるのかを特定するバス特定情報を生成して前記フラッシュプロテクト処理部にたいして通知し、
    前記フラッシュプロテクト処理部は、
    前記バス特定情報が、前記アービターが使用許可を与えたバスがデータバスであることを示している場合に、前記フラッシュメモリの所与の領域に対するアクセスのプロテクト処理を行うことを特徴とするマイクロコンピュータ。
  2. 請求項1において、
    前記プロテクト情報記憶部には、前記フラッシュメモリに設定された複数のエリアの各エリアに対しリード及びライトの少なくとも1つのプロテクトの有無を指定するプロテクト有無情報が記憶され、
    前記フラッシュプロテクト処理部は、
    アクセス要求にかかるアドレスの属するエリアのプロテクト有無情報に基づき、前記プロテクト処理を行うことを特徴とするマイクロコンピュータ。
  3. 請求項1乃至2のいずれかにおいて、
    ブート時に前記フラッシュメモリの前記プロテクト情報記憶部の内容を読み出して、プロテクトビットレジスタに格納する初期化処理部を含み、
    前記フラッシュプロテクト処理部は、
    前記プロテクトビットレジスタのプロテクト情報を参照して、前記プロテクト処理を行うことを特徴とするマイクロコンピュータ。
  4. 請求項1乃至3のいずれかにおいて、
    前記フラッシュプロテクト処理部は、
    前記フラッシュメモリに対するアクセス要求がリード要求である場合のみ前記プロテクト処理を行うことを特徴とするマイクロコンピュータ。
  5. 請求項1乃至4のいずれかにおいて、
    前記フラッシュプロテクト処理部は、
    CPUの処理モードがデバッグモードである場合に、前プロテクト処理を行うことを特徴とするマイクロコンピュータ。
  6. 請求項1乃至5のいずれかにおいて、
    前記フラッシュプロテクト処理部は、
    前記フラッシュメモリに対するアクセス要求が所定のブロック単位の消去要求コマンドである場合には、当該コマンドの実行を禁止する処理を行うことを特徴とするマイクロコンピュータ。
  7. 請求項1乃至6のいずれかにおいて、
    前記フラッシュプロテクト処理部は、
    前記フラッシュメモリに対するアクセス要求が、前記フラッシュメモリの全消去要求コマンドである場合には、前記プロテクト処理を行わないことを特徴とするマイクロコンピュータ。
  8. 請求項1乃至7のいずれかにおいて、
    前記フラッシュメモリは、
    予め所定のブロック単位で消去してから書き込み可能に構成されており、
    前記フラッシュプロテクト処理部は、
    前記フラッシュメモリのプロテクト情報記憶部の値が消去時のメモリセルの初期値と異なる場合にプロテクト処理を行うように構成されていることを特徴とするマイクロコンピュータ。
  9. 請求項1乃至8のいずれかに記載のマイクロコンピュータと、
    入力情報を受け付ける手段と、
    入力情報に基づき前記情報処理装置により処理された結果を出力するため手段と、
    を含むことを特徴とする電子機器。
  10. マイクロコンピュータに内蔵されフラッシュメモリのプロテクト装置であって、
    前記フラッシュメモリ前記フラッシュメモリの所与の領域に対するアクセスの可否を指定するプロテクト情報が格納されたプロテクト情報記憶部を含み、
    前記マイクロ今ピュータは、データバスと命令バスを含む複数のバスに接続され、前記フラッシュメモリに対して複数のバスが競合状態のとき調停してこれらのいずれかのバスに使用許可を与える処理を行うアービターを含み、
    前記アービターは、
    使用許可を与えたバスがデータバスであるのか命令バスであるのかを特定するバス特定情報を生成して前記プロテクト装置にたいして通知し、
    前記プロテクト装置は、
    前記バス特定情報が、前記アービターが使用許可を与えたバスがデータバスであることを示している場合に、前記プロテクト情報に基づき、フラッシュメモリの所与の領域に対するアクセスのプロテクト処理を行うことを特徴とするフラッシュメモリのプロテクト装置
JP2007103063A 2007-04-10 2007-04-10 マイクロコンピュータ、電子機器及びフラッシュメモリのプロテクト方式 Expired - Fee Related JP4324810B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007103063A JP4324810B2 (ja) 2007-04-10 2007-04-10 マイクロコンピュータ、電子機器及びフラッシュメモリのプロテクト方式
US12/099,988 US8316200B2 (en) 2007-04-10 2008-04-09 Microcomputer, electronic instrument, and flash memory protection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007103063A JP4324810B2 (ja) 2007-04-10 2007-04-10 マイクロコンピュータ、電子機器及びフラッシュメモリのプロテクト方式

Publications (2)

Publication Number Publication Date
JP2008262294A JP2008262294A (ja) 2008-10-30
JP4324810B2 true JP4324810B2 (ja) 2009-09-02

Family

ID=39854796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007103063A Expired - Fee Related JP4324810B2 (ja) 2007-04-10 2007-04-10 マイクロコンピュータ、電子機器及びフラッシュメモリのプロテクト方式

Country Status (2)

Country Link
US (1) US8316200B2 (ja)
JP (1) JP4324810B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5876364B2 (ja) * 2012-04-13 2016-03-02 ラピスセミコンダクタ株式会社 半導体メモリ及びデータ読出方法
KR102139327B1 (ko) 2012-11-15 2020-07-29 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 동작 방법
WO2014078481A1 (en) * 2012-11-15 2014-05-22 Violin Memory Inc. Memorty array with atomic test and set
CN105144185B (zh) 2013-04-23 2018-06-05 惠普发展公司,有限责任合伙企业 验证控制器代码和系统启动代码
US9852298B2 (en) 2013-04-23 2017-12-26 Hewlett-Packard Development Company, L.P. Configuring a system
US9658788B2 (en) * 2014-05-28 2017-05-23 Sandisk Technologies Llc Systems and methods for immediate physical erasure of data stored in a memory system in response to a user command
CN104598402B (zh) * 2014-12-30 2017-11-10 北京兆易创新科技股份有限公司 一种闪存控制器和闪存控制器的控制方法
KR102017284B1 (ko) * 2015-05-26 2019-09-02 삼성전자주식회사 부팅 디바이스 및 그 동작 방법
TWI609378B (zh) * 2016-06-15 2017-12-21 慧榮科技股份有限公司 資料儲存裝置與操作方法
WO2020159533A1 (en) 2019-02-01 2020-08-06 Hewlett-Packard Development Company, L.P. Security credential derivation
US11520662B2 (en) 2019-02-11 2022-12-06 Hewlett-Packard Development Company, L.P. Recovery from corruption
JP2021144553A (ja) 2020-03-13 2021-09-24 日立Astemo株式会社 センサ装置
TWI768592B (zh) * 2020-12-14 2022-06-21 瑞昱半導體股份有限公司 中央處理器
CN114444141B (zh) * 2021-12-27 2023-02-17 绿晶半导体科技(北京)有限公司 固态硬盘和固态硬盘数据保护方法、装置及设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS595496A (ja) 1982-06-30 1984-01-12 Fujitsu Ltd メモリプロテクト方式
US4590552A (en) * 1982-06-30 1986-05-20 Texas Instruments Incorporated Security bit for designating the security status of information stored in a nonvolatile memory
US5822784A (en) * 1993-03-19 1998-10-13 Intel Corporation Mechanism supporting execute in place read only memory applications located on removable computer cards
JPH09114743A (ja) 1995-10-16 1997-05-02 Nec Corp シングルチップ・マイクロコンピュータ
KR0174978B1 (ko) * 1995-12-30 1999-04-01 김광호 하드웨어로 구현된 디지탈 컴퓨터 시스템 보안 장치
JP3623379B2 (ja) * 1998-12-01 2005-02-23 富士通株式会社 マイクロプロセッサ
JP2002269065A (ja) 2001-03-08 2002-09-20 Mitsubishi Electric Corp プログラム可能な不揮発性メモリを内蔵したマイクロコンピュータ
US6976136B2 (en) * 2001-05-07 2005-12-13 National Semiconductor Corporation Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller
JP2003233534A (ja) * 2002-02-07 2003-08-22 Hitachi Ltd メモリシステム
US6961819B2 (en) * 2002-04-26 2005-11-01 Mips Technologies, Inc. Method and apparatus for redirection of operations between interfaces
JP4094977B2 (ja) 2003-03-20 2008-06-04 沖電気工業株式会社 半導体装置
US8239963B2 (en) * 2007-09-26 2012-08-07 Intel Mobile Communications GmbH Method of protecting a password from unauthorized access and data processing unit

Also Published As

Publication number Publication date
US20080256288A1 (en) 2008-10-16
US8316200B2 (en) 2012-11-20
JP2008262294A (ja) 2008-10-30

Similar Documents

Publication Publication Date Title
JP4324810B2 (ja) マイクロコンピュータ、電子機器及びフラッシュメモリのプロテクト方式
JP6306578B2 (ja) メモリ保護装置及び保護方法
TW201015323A (en) Secure information processing
US20070101114A1 (en) Method and apparatus for memory initializing in a computer system
KR20140035772A (ko) 임베디드 멀티미디어 카드, 상기 임베디드 멀티미디어 카드를 포함하는 임베디드 멀티미디어 카드 시스템 및 상기 임베디드 멀티미디어 카드의 동작 방법
JP2008287505A (ja) 情報処理装置およびレガシーエミュレーション処理停止制御方法
US11586779B2 (en) Embedded system and method
JP2008009721A (ja) 評価システム及びその評価方法
WO2014108743A1 (en) A method and apparatus for using a cpu cache memory for non-cpu related tasks
KR100506031B1 (ko) 마이크로 컴퓨터, 전자 기기 및 에뮬레이션 방법
TW201521028A (zh) 保護非揮發性記憶體中儲存之程式碼的裝置
JP6390840B2 (ja) 半導体装置及び電子機器
WO2016106933A1 (zh) 一种基于若干分区的mcu芯片信息保护方法和装置
JPH0158535B2 (ja)
CN111338771B (zh) 引导程序切换处理方法及装置、计算机设备、介质
US20080301329A1 (en) Data Transfer Apparatus and Data Transfer Method
TWI436367B (zh) 具有寫入保護機制之非揮發性快閃記憶體運作方法
JP2010009454A (ja) 情報処理装置
JP2007193572A (ja) Cpu、集積回路装置、マイクロコンピュータ及び電子機器
JP2008065549A (ja) マイクロコンピュータ、情報処理システム、電子機器及びマイクロコンピュータの起動制御方法
US11741035B2 (en) Circuit device and electronic apparatus
JP2011150457A (ja) 情報処理装置およびメモリアクセス制御方法
JP7066022B1 (ja) 情報処理装置、及び制御方法
US20060242351A1 (en) Method and apparatus for loading instructions into high memory
JP3323341B2 (ja) エミュレーション用プロセッサおよびそれを搭載したエミュレータ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090409

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: 20090513

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: 20090526

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

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4324810

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130619

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130619

Year of fee payment: 4

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