JP2011141888A - Single chip microcomputer - Google Patents
Single chip microcomputer Download PDFInfo
- Publication number
- JP2011141888A JP2011141888A JP2011053899A JP2011053899A JP2011141888A JP 2011141888 A JP2011141888 A JP 2011141888A JP 2011053899 A JP2011053899 A JP 2011053899A JP 2011053899 A JP2011053899 A JP 2011053899A JP 2011141888 A JP2011141888 A JP 2011141888A
- Authority
- JP
- Japan
- Prior art keywords
- area
- nonvolatile
- cpu
- data
- nvram
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
- Microcomputers (AREA)
- Memory System (AREA)
Abstract
Description
本発明は、マイクロコンピュータにかかり、例えば一つの半導体基板に形成されたシングルチップマイクロコンピュータに利用して有効な技術に関するものである。 The present invention relates to a microcomputer, and relates to a technique effective for use in, for example, a single chip microcomputer formed on one semiconductor substrate.
シングルチップマイクロコンピュータは、例えば非特許文献1に記載されているように、中央処理装置(CPU)を中心にしてプログラム保持用のROM(リードオンリメモリ)、データ保持用のRAM(ランダムアクセスメモリ)、及びデータの入出力を行うための入出力回路などの機能ブロックが1つの半導体基板に形成される。かかるシングルチップマイクロコンピュータのROMとして、フラッシュメモリを内蔵する場合が増えている。フラッシュメモリによって、その内容を、随時書き換え可能にし、使い勝手を向上することができる。フラッシュメモリは、電気的な書き込み消去が可能なROMであって、その特性上、一旦消去を行った後に、書き込みを行う必要がある。書き込み/消去を制御する専用のプログラムを別のメモリに格納しておいて、それをCPUで実行するように構成することができる(例えば特許文献1参照)。このようにフラッシュメモリは、CPUによる、任意のアドレス順序での、連続したリード/ライトを行うことができないため、ランダムアクセスは不可能とされる。これらの理由により、フラッシュメモリは、CPUの作業用データ領域としては使用できない。作業用データ領域としては、RAMが必要である。このRAMは、半導体集積回路の微細化に伴い、保持電流やソフトエラーなどが問題になっている。ソフトエラーの対策のために、エラーコレクションの論理を持つ例が増えている。フラッシュメモリを使用して、電源の遮断時に、その時点のデータを保持する技術が知られている(例えば特許文献2参照)。フラッシュメモリが、消去を行った後に書き込みを行う必要があること、かつ、書き込み/消去に時間がかかることから、前記のデータ保持のための書き込みを高速に行うために、事前に、フラッシュメモリの消去が行われる。この事前の消去も、フラッシュメモリの内容を確認の後に行うようにされている。換言すれば、プログラム実行による初期化処理としての消去が行われる。
As described in Non-Patent
一方、フラッシュメモリに代表されるような不揮発性メモリでありながら、読み書き回数に制限がないメモリとして、マグネトロレジスティブ・ランダム・アクセス・メモリ(MRAM)が知られている(例えば特許文献3,4参照)。MRAMは、磁化の向きで素子の抵抗が異なる磁気抵抗効果を利用して情報を記憶する。磁気抵抗変化率が従来の素子よりも大きなマグネティック・トンネル・ジャンクション(MTJ)素子が開発されることにより、スタティック・ランダム・アクセス・メモリ(SRAM)並みの高速読み書き動作が可能で、DRAM並みの高集積度の実現が可能とされる。このようなMRAMによれば、従来のRAMと同様、ランダムアクセスによるリード・ライトが可能とされる。しかも、書き込みに際して事前に消去を行う必要がない。 On the other hand, a magnetoresistive random access memory (MRAM) is known as a non-volatile memory typified by a flash memory but having no limit on the number of times of reading and writing (for example, Patent Document 3). 4). The MRAM stores information using a magnetoresistive effect in which the resistance of an element differs depending on the direction of magnetization. The development of magnetic tunnel junction (MTJ) elements, which have a higher magnetoresistance change rate than conventional elements, enables high-speed read / write operations similar to static random access memories (SRAMs), which are as high as DRAMs. It is possible to realize the degree of integration. According to such an MRAM, it is possible to read / write by random access as in the conventional RAM. Moreover, it is not necessary to erase in advance before writing.
MRAMなどのように不揮発保持が可能なRAM(NVRAM)は、ランダムアクセスによるリード及びライトが可能であるため、CPUのプログラム領域としても、作業用データ領域としても使用可能である。しかも、このNVRAMにデータを格納すれば、電源遮断後も記憶データの内容を保持できる。従って、NVRAMを搭載することにより、電源投入時や、リセット時などに、それ以前のデータを参照することができる。このため、プログラム用メモリと、作業用メモリとを、一つのNVRAMで実現することができる。このように一種類のメモリで済めば、ハードウェア資源を節約できるし、製造工程の簡略化に寄与できる。 Since a RAM (NVRAM) that can be held in a nonvolatile manner such as an MRAM can be read and written by random access, it can be used as a program area for a CPU and a work data area. In addition, if data is stored in this NVRAM, the contents of the stored data can be retained even after the power is turned off. Therefore, by installing NVRAM, it is possible to refer to previous data when the power is turned on or reset. Therefore, the program memory and the working memory can be realized by one NVRAM. If only one type of memory is used in this way, hardware resources can be saved and the manufacturing process can be simplified.
しかしながら、このようなNVRAMをマイクロコンピュータに搭載することについて本願発明者が検討したところ、マイクロコンピュータに内蔵されたNVRAMに全てのデータを保持させることはセキュリティの面で好ましくないことが見いだされた。例えば、ID情報や鍵情報、暗号を復号化した後の情報などの秘密情報が不揮発保持されていると、マイクロコンピュータを不正に動作させて、秘密情報をリードされたりすることが考えられるからである。 However, when the inventors of the present application have examined the installation of such NVRAM in a microcomputer, it has been found that it is not preferable in terms of security to hold all data in the NVRAM built in the microcomputer. For example, if secret information such as ID information, key information, and information after decryption of encryption is held in a nonvolatile manner, it is considered that the microcomputer can be illegally operated to read the secret information. is there.
本発明の目的は、ランダムアクセスによってリード・ライト可能な不揮発性記憶装置(NVRAM)を、プログラム/データ兼用のメモリとして搭載した場合のセキュリティの向上を図るための技術を提供することにある。 An object of the present invention is to provide a technique for improving security when a nonvolatile memory device (NVRAM) that can be read / written by random access is mounted as a program / data combined memory.
本発明の前記ならびにそのほかの目的と新規な特長は、本発明書の記述及び添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will become apparent from the description of the present invention and the accompanying drawings.
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。 The following is a brief description of an outline of typical inventions disclosed in the present application.
〔1〕予め設定されたプログラムに基づく演算処理を可能とするCPUと、このCPUによるランダムアクセスによってリード・ライト可能な不揮発性記憶装置とを含んで成るマイクロコンピュータにおいて、上記不揮発性記憶装置には、記憶領域の一部に不揮発保持が無効とされる領域を設ける。 [1] In a microcomputer comprising a CPU that enables arithmetic processing based on a preset program and a nonvolatile memory device that can be read and written by random access by the CPU, the nonvolatile memory device includes An area where nonvolatile retention is invalidated is provided in a part of the storage area.
上記の手段によれば、上記不揮発性記憶装置に、記憶領域の一部に不揮発保持が無効とされる領域が設けられているため、この領域を、秘密を保持すべきデータの格納用とすることにより、この秘密を保持すべきデータが上記不揮発性記憶装置に不揮発保持されることが回避される。このことが、ランダムアクセスによってリード・ライト可能な不揮発性記憶装置を、プログラム/データ兼用のメモリとして搭載した場合のセキュリティの向上を達成する。 According to the above means, since the nonvolatile storage device is provided with an area in which nonvolatile retention is invalidated as a part of the storage area, this area is used for storing data that should be kept secret. As a result, it is possible to prevent the data to be kept secret from being held in the nonvolatile storage device in a nonvolatile manner. This achieves an improvement in security when a nonvolatile storage device that can be read / written by random access is mounted as a program / data combined memory.
〔2〕上記〔1〕において、上記不揮発性記憶装置には、上記ライトに際して事前の消去処理が行われることなく、記憶情報の書き換えが可能とされるものを適用することができる。 [2] In the above [1], a device that can rewrite stored information without performing an erasing process in advance at the time of writing can be applied to the nonvolatile storage device.
〔3〕上記〔1〕において、電源電圧レベルを検出可能な電源検出部を含み、電源投入後、上記電源検出部での検出結果に基づいて上記不揮発性記憶装置の動作が開始されるように構成することができる。 [3] In the above [1], including a power supply detection unit capable of detecting a power supply voltage level, after the power is turned on, the operation of the nonvolatile memory device is started based on a detection result in the power supply detection unit. Can be configured.
〔4〕上記〔1〕において、上記CPUの動作を監視するための動作監視部を含み、上記動作監視部での監視結果に基づいて上記不揮発性記憶装置の動作が開始されるように構成することができる。 [4] In the above [1], an operation monitoring unit for monitoring the operation of the CPU is included, and the operation of the nonvolatile memory device is started based on a monitoring result in the operation monitoring unit. be able to.
〔5〕上記〔1〕において、上記不揮発性記憶装置は、上記CPUで実行されるプログラムを格納可能なプログラム領域と、上記CPUでのプログラム実行において使用されるデータを格納可能なデータ領域とを含み、上記CPUでの上記プログラムの実行によって、上記データ領域へのデータ書き込みが可能とされ、上記不揮発性記憶装置における少なくとも一部の記憶領域についての不揮発保持が無効とされた後に、上記CPUによるリード動作が許可されるように構成することができる。 [5] In the above [1], the nonvolatile storage device includes a program area capable of storing a program executed by the CPU and a data area capable of storing data used in the program execution by the CPU. In addition, by executing the program in the CPU, data can be written into the data area, and after the nonvolatile retention in at least a part of the storage area in the nonvolatile storage device is invalidated, the CPU executes The read operation may be permitted.
〔6〕上記〔1〕において、上記不揮発性記憶装置における少なくとも一部の記憶領域についての不揮発保持を無効にする動作は、上記不揮発性記憶装置に対する所定の値のライト動作とすることができる。 [6] In the above [1], the operation of invalidating the nonvolatile retention for at least a part of the storage area in the nonvolatile storage device may be a write operation of a predetermined value to the nonvolatile storage device.
〔7〕上記〔1〕において、上記不揮発性記憶装置は、上記CPUで実行されるプログラムを格納可能なプログラム領域と、上記CPUでのプログラム実行において使用されるデータを格納可能なデータ領域と、を含み、上記CPUでの上記プログラムの実行によって、上記データ領域へのデータ書き込みが可能とされ、上記CPUによって上記データ領域へのデータ書き込みが行われた後に、上記データ領域のリードが許可されるように構成することができる
〔8〕上記〔1〕において、上記不揮発性記憶装置は、上記CPUによって管理される第1アドレス領域及び第2アドレス領域に配置され、上記第1アドレス領域からは上記不揮発性記憶装置のリードのみが可能とされ、上記第2アドレス領域からは上記不揮発性記憶装置のリード及びライトが可能とされる。
[7] In the above [1], the nonvolatile storage device stores a program area capable of storing a program executed by the CPU, a data area capable of storing data used in program execution by the CPU, The CPU can write data to the data area by executing the program on the CPU, and the data area can be read after the CPU writes data to the data area. [8] In the above [1], the non-volatile storage device is arranged in a first address area and a second address area managed by the CPU, and the first address area Only the nonvolatile memory device can be read, and the nonvolatile memory device can be read from the second address area. And light is enabled.
〔9〕上記〔1〕において、上記不揮発性記憶装置において不揮発保持が無効にされる領域には、秘密を保持すべきデータを格納することができる。 [9] In the above [1], data to be kept secret can be stored in the area where the nonvolatile holding is invalidated in the nonvolatile memory device.
〔10〕上記〔1〕において、上記不揮発性記憶装置において不揮発保持が無効にされる領域には、暗号化されるべき元のデータ、復号化されたデータ、又は暗号化又は復号化のための情報を格納することができる。 [10] In the above [1], in the non-volatile storage device, in the area where the nonvolatile retention is invalidated, the original data to be encrypted, the decrypted data, or the encryption or decryption Information can be stored.
〔11〕上記〔6〕において、上記不揮発性記憶装置における少なくとも一部の記憶領域についての不揮発保持を無効にするためのライト動作は、上記CPUのプログラム実行によるライト動作とは別個に行うことができる。 [11] In the above [6], the write operation for invalidating the nonvolatile retention for at least a part of the storage area in the nonvolatile storage device may be performed separately from the write operation by the program execution of the CPU. it can.
〔12〕予め設定されたプログラムに基づく演算処理を可能とするCPUと、上記CPUによるランダムアクセスによってリード・ライト可能な不揮発性記憶装置と、上記不揮発性記憶装置の動作開始又は電源遮断の少なくとも一方において、上記不揮発性記憶装置における一部の記憶領域についての不揮発保持を無効にするためのメモリコントローラとを含んでマイクロコンピュータを構成することができる。 [12] A CPU that enables arithmetic processing based on a preset program, a non-volatile storage device that can be read / written by random access by the CPU, and at least one of operation start or power-off of the non-volatile storage device The microcomputer can be configured to include a memory controller for invalidating non-volatile retention for a part of the storage areas in the non-volatile storage device.
かかる構成においても、上記不揮発性記憶装置に、記憶領域の一部に不揮発保持が無効とされる領域が設けられているため、この領域を、秘密を保持すべきデータの格納用とすることにより、この秘密を保持すべきデータが上記不揮発性記憶装置に不揮発保持されることが回避される。このことが、ランダムアクセスによってリード・ライト可能な不揮発性記憶装置を、プログラム/データ兼用のメモリとして搭載した場合のセキュリティの向上を達成する。 Even in such a configuration, since the nonvolatile storage device is provided with an area where nonvolatile retention is invalidated in a part of the storage area, this area is used for storing data that should be kept secret. This prevents the data to be kept secret from being held in the nonvolatile storage device in a nonvolatile manner. This achieves an improvement in security when a nonvolatile storage device that can be read / written by random access is mounted as a program / data combined memory.
〔13〕上記〔12〕において、上記不揮発性記憶装置は、上記ライトに際して事前の消去処理が行われることなく、記憶情報の書き換えが可能とされる。 [13] In the above [12], the nonvolatile storage device can rewrite stored information without performing an erasing process in advance at the time of writing.
〔14〕上記〔12〕において、上記CPU及び上記不揮発性記憶装置を初期状態に戻して動作を開始させるためのリセット信号を生成可能なリセットコントローラを含み、上記リセットコントローラは、上記マイクロコンピュータに供給される電源電圧のレベルを検出する電源検出部を含み、上記電源検出部での検出結果に基づいて上記リセット信号を形成するように構成することができる。 [14] In [12], including a reset controller capable of generating a reset signal for returning the CPU and the nonvolatile memory device to an initial state and starting an operation, and the reset controller is supplied to the microcomputer A power supply detection unit for detecting the level of the power supply voltage to be generated, and the reset signal may be formed based on a detection result of the power supply detection unit.
〔15〕上記〔12〕において、上記不揮発性記憶装置を初期状態に戻して動作を開始させるためのリセット信号を生成可能なリセットコントローラと、上記CPUの動作を監視可能な動作監視部と、を含み、上記リセットコントローラによって、上記動作監視部での監視結果に基づいて上記リセット信号を形成するように構成することができる。 [15] In the above [12], a reset controller capable of generating a reset signal for returning the nonvolatile memory device to an initial state and starting an operation, and an operation monitoring unit capable of monitoring the operation of the CPU. In addition, the reset controller can be configured to form the reset signal based on the monitoring result of the operation monitoring unit.
〔16〕上記〔12〕において、上記不揮発性記憶装置は、上記CPUで実行されるプログラムを格納可能なプログラム領域と、上記CPUでのプログラム実行において使用されるデータを格納可能なするデータ領域とを含み、上記CPUでの上記プログラムの実行によって、上記データ領域へのデータ書き込みが可能とされ、上記メモリコントローラによって上記不揮発性記憶装置における少なくとも一部の記憶領域についての不揮発保持が無効とされた後に、上記CPUによるリード動作が許可されるように構成することができる。 [16] In the above [12], the nonvolatile storage device includes a program area capable of storing a program executed by the CPU, and a data area capable of storing data used in program execution by the CPU. And the execution of the program by the CPU enables data to be written to the data area, and the memory controller invalidates nonvolatile retention for at least a part of the storage area in the nonvolatile storage device. Later, the read operation by the CPU can be permitted.
〔17〕上記〔12〕において、上記不揮発性記憶装置は、上記CPUで実行されるプログラムを格納可能なプログラム領域と、上記CPUでのプログラム実行において使用されるデータを格納可能なするデータ領域とを含み、上記CPUによって上記データ領域へのデータ書き込みが行われた後に、上記データ領域のリード動作が許可されるように構成することができる。 [17] In the above [12], the nonvolatile storage device includes a program area capable of storing a program executed by the CPU, and a data area capable of storing data used in program execution by the CPU. And after the data is written into the data area by the CPU, a read operation of the data area is permitted.
〔18〕上記〔12〕において、上記不揮発性記憶装置において不揮発保持が無効にされる領域は、上記CPUの例外処理ベクタを含まない作業領域とすることができる。 [18] In the above [12], the area in which nonvolatile retention is invalidated in the nonvolatile storage device can be a work area that does not include the CPU exception processing vector.
〔19〕上記〔12〕において、上記CPUは、上記不揮発性記憶装置において不揮発保持が無効にされる領域に、秘密を保持すべきデータを格納するように構成することができる。 [19] In the above [12], the CPU may be configured to store data that should be kept secret in an area where nonvolatile retention is invalidated in the nonvolatile storage device.
〔20〕上記〔12〕において、上記メモリコントローラは、不揮発保持を無効にするための信号を生成するためのライト制御部、及び不揮発保持を無効にするための信号と上記CPUのリード又はライトのための信号とを選択するためのマルチプレクサを含んで構成することができる。 [20] In the above [12], the memory controller includes a write control unit for generating a signal for invalidating nonvolatile holding, and a signal for invalidating nonvolatile holding and reading or writing of the CPU. And a multiplexer for selecting a signal for use.
〔21〕上記〔12〕において、上記メモリコントローラは、上記不揮発性記憶装置における少なくとも一部の記憶領域についての不揮発保持を無効にするためのライト動作を、上記CPUによるライト動作とは別個に行うためのライト制御部を含んで構成することができる。 [21] In the above [12], the memory controller performs a write operation for invalidating non-volatile retention for at least a part of the storage area in the nonvolatile storage device separately from the write operation by the CPU. For this reason, the light control unit can be configured.
〔22〕予め設定されたプログラムに基づく演算処理を可能とするCPUと、上記CPUによるランダムアクセスによってリードライト可能な不揮発性記憶装置とを含むマイクロコンピュータにおいて、上記不揮発性記憶装置は、上記CPUで実行されるプログラムを格納可能なプログラム領域と、上記CPUでのプログラム実行において使用されるデータを格納可能なするデータ領域とを含み、上記データ領域は、不揮発保持が可能とされる第1記憶領域と、不揮発保持が無効とされる第2記憶領域とを含み、上記CPUは、上記第2記憶領域を作業領域として使用する。 [22] In a microcomputer including a CPU that enables arithmetic processing based on a preset program and a nonvolatile storage device that can be read and written by random access by the CPU, the nonvolatile storage device is the CPU. A first storage area that includes a program area that can store a program to be executed and a data area that can store data used in program execution by the CPU, and the data area can be held in a nonvolatile manner And a second storage area in which nonvolatile retention is invalidated, and the CPU uses the second storage area as a work area.
上記の手段によれば、上記不揮発性記憶装置に、不揮発保持が無効とされる第2記憶領域が設けられ、この領域が上記CPUの作業領域とされることにより、例えばCPUの動作中に悪意を持って電源が遮断された場合でも、上記第2記憶領域の不揮発保持が無効とされるため、上記CPUでの作業内容の外部への読み出しを回避することができる。このことが、セキュリティの強化を達成する。 According to the above means, the non-volatile storage device is provided with the second storage area in which the non-volatile retention is invalidated, and this area is used as the work area of the CPU. Even when the power supply is shut off with the power supply, the nonvolatile storage of the second storage area is invalidated, so that reading of work contents to the outside by the CPU can be avoided. This achieves enhanced security.
〔23〕上記〔22〕において、上記不揮発性記憶装置の動作開始又は電源遮断の少なくとも一方において、上記不揮発性記憶装置における不揮発保持が無効とされる領域に対して書き込み又は書き換えの動作が行われるように構成することができる。 [23] In the above [22], at least one of the operation start and the power shutdown of the nonvolatile memory device, a write or rewrite operation is performed on an area where nonvolatile retention in the nonvolatile memory device is invalidated It can be constituted as follows.
〔24〕上記〔22〕において、上記不揮発性記憶装置の不揮発保持が無効な領域への書き込み又は書き換えが行われるまで、上記不揮発性記憶装置からのリードが阻止されるように構成することができる。 [24] In the above [22], reading from the nonvolatile memory device can be prevented until writing or rewriting to an area where nonvolatile retention of the nonvolatile memory device is invalid is performed. .
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。 The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.
すなわち、ランダムアクセスによってリード・ライト可能な不揮発性記憶装置(NVRAM)をプログラム/データ兼用のメモリとして搭載した場合のセキュリティの向上を図ることができる。 That is, it is possible to improve security when a nonvolatile memory device (NVRAM) that can be read / written by random access is mounted as a program / data memory.
図1には、本発明にかかるマイクロコンピュータの構成例が示される。 FIG. 1 shows a configuration example of a microcomputer according to the present invention.
図1に示されるマイクロコンピュータ100は、シングルチップマイクロコンピュータとされ、特に制限されないが、中央処理装置(CPU)103、不揮発性記憶装置(NVRAM)101、メモリコントローラ(NVMC)102、バスコントローラ(BSC)111、リセットコントローラ(RESC)113、割り込みコントローラ(INT)112、暗号処理機能部106、及び入出力(I/O)部107を含み、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。
A
I/O部107は、外部との間で各種信号の入出力を可能とする入出力ポートの他に、内部バス(Iバス)と外部バス(EXAB,EXDB)との間に介在されたバッファ(BUF)108、CPU103の動作を監視するためのウォッチドッグタイマ(WDT)109、シリアル通信ラインを介してシリアル通信を可能とするシリアルコミュニケーションインタフェース(SCI)110、及びアナログ信号をディジタル信号に変換するためのA/D(アナログ/ディジタル)変換器122などの各種周辺回路を含む。
The I /
尚、このマイクロコンピュータ100には、図示されないが、クロック発振器(CPG)などの機能ブロックが設けられている。
Although not shown, the
CPU103は、制御部104と実行部105を含み、主として、NVRAM101からフェッチした命令を実行する。作業用のデータ領域としてNVRAM101が使用される。
The
NVRAM101は、特に制限されないが、不揮発性メモリでありながら、読み書き回数に制限がないメモリの一例であるマグネトロレジスティブ・ランダム・アクセス・メモリ(MRAM)とされる。MRAMは、磁化の向きで素子の抵抗が異なる磁気抵抗効果を利用して情報を記憶可能な複数のメモリセルがアレイ状に配列されて成る。このメモリセルは、マグネティック・トンネル・ジャンクション(MTJ)素子などとされる。NVRAM101の動作は、NVMC102によって制御される。NVRAM101は、NVMC102を介して、Iバス115に接続され、このIバス115経由でリード/ライト可能とされる。NVMC102は、所定のアドレスに対するライトを行うことが可能で、このライトのための制御信号や、アドレス信号及びデータを生成し、Iバス115による相当信号とマルチプレクスを行い、NVRAM101に供給する。すなわち、NVRAM101は、Iバス115からのライトと、NVMC102からのライトが可能にされる。NVMC102は、必要に応じてウェイト信号を生成し、それをBSC111に供給する。
The
マイクロコンピュータ100は、Iバス(第1内部バス)115、Pバス(第2内部バス)116を有し、これらのバスによって、上記各機能ブロックが相互に接続される。それぞれのバスはアドレスバス及びデータバスの他、バス権要求信号、バスアクノレッジ信号、バスコマンド(又はリード信号、ライト信号、バスサイズ信号)、レディ信号(またはウェイト信号)などを伝達するためのコントロールバスを含む。
The
Iバス115は、CPU103によるNVRAM101の高速アクセスを可能とする。NVRAM101のアクセスは1ステートで行われる。接続先が少数であるため、バス幅は任意にでき、例えば32ビットなどとされる。尚、DMAC(ダイレクト・メモリ・アクセス・コントローラ)などの内部バスマスタを設ける場合、当該バスマスタはこのIバスに接続される。
The
暗号機能部106は、Iバス115に接続され、CPU103の制御下で、暗号化処理及び復号化処理を行う。暗号機能部106は、バスマスタとしてもよいし、バススレーブとしてもよい。バスマスタとする場合には、NVRAM101に対してリード/ライトを行う。不揮発保持無効領域に格納された鍵情報を用いた暗号化処理が実行可能に構成される。
The
Pバス116には、上記I/O部107に含まれるI/Oレジスタ121、前記周辺回路などが接続される。Iバス115とPバス116とが分離されているため、CPU103のプログラムリードなどで、主として使用されるIバス115の負荷を軽減することで高速化を図ることができ、未使用時のPバス116の状態を保持するなどして低消費電力化を図ることができる。
The
CPU103が、Pバス116に接続されるI/Oレジスタ121をアクセスする場合は、Iバス115及びBSC111を経由して行われる。I/Oレジスタ121のアクセスは2ステートで行われる。接続先が多数であり、バス幅を広げると物理的な規模が増加するため、例えば16ビットとする。
The
Iバス115と外部バス117とは、バッファ(BUF)108によってインタフェースされる。外部バス117には、外部メモリなどを接続することができる。これらのバスを、バスコントローラ(BSC)が制御する。NVMC102やBUF108からBSC111に対してウェイトが要求される。また、BSC111はCPU103に対してウェイトを要求することができる。
The
リセットコントローラ(RESC)113は、マイクロコンピュータ100の外部から入力されるリセット信号RESなどのリセット要因を取り込み、マイクロコンピュータ100の各モジュールに対するリセット信号120を出力する。このリセット信号120には、CPU103に供給されるリセット信号や、NVMC102に供給されるリセット状態遷移信号も含まれる。リセット要因には、WDT109のオーバフローなども含まれる。また、RESC113は、電源電圧Vccレベルを検出するための電源検出回路114を含み、この電源検出回路114での検出結果に基づいてリセット信号を発生することができる。
The reset controller (RESC) 113 receives a reset factor such as a reset signal RES input from the outside of the
マイクロコンピュータ100は、上記の他に以下の機能を備える。
The
割り込みントローラ(INT)112は、周辺回路(WDT109、SCI110、A/D変換器122)からの割り込み信号を取り込み、CPU103に割り込要求信号を出力する。WDT109は、CPU103の暴走を検知してリセットを要求する。
The interrupt controller (INT) 112 receives an interrupt signal from the peripheral circuit (
図3には、上記NVMC102の構成例が示される。
FIG. 3 shows a configuration example of the
NVMC102は、マルチプレクサ1021、ライト制御部1022、アドレス判定部1023を含む。ライト制御部1022は、動作開始後に、所定のアドレスに対するライト制御信号1024を生成する。所定のアドレスは、1ビット又は複数ビット、バイト/ワードなどのCPU103のデータの単位、NVRAM101のワード線単位、あるいはそれ以上のいずれでもよい。ライト制御信号1024には、アドレス、データ、ライト信号などが含まれ、それらは、マルチプレクサ1021を介して、NVRAM101に供給される。ライトデータは、NVRAM101の記憶領域の一部についての不揮発保持を無効とするためのもので、論理値‘0’でも論理値‘1’でもよく、さらには‘0’と‘1’との混在データであっても、ユーザによって設定可能な所定の任意の値であってもよい。ライト回数は、NVMC102の外部から指定できるようにしてよい。この指定は、固定的なものであってもよい。この指定に拘らず、一部領域は必ずライトを行うようにするとよい。ライトデータのサイズと、ライト回数とを設定することによって、不揮発保持無効領域のサイズを任意に変更することが可能となる。
The
また、NVMC102がNVRAM101に対するライトを行っている状態では、CPU103やBSC111に対し、ウェイト要求を行うようにする。マルチプレクサ1021は、上記ライト制御信号1024と、Iバス115によるバス制御信号を選択的にNVRAM101に与える。ライト制御部1022によってライト制御が行われている期間は、マルチプレクサ1021によってライト制御信号1024が選択される。アドレス判定部1023は、Iバス115から入力されたアドレス(CPU103のアドレス)を判定し、後述する第1の領域に対するライトが行われた場合は、NVRAM101に対するライトを抑止するように、マルチプレクサ1021に第1領域ライト抑止信号を与える。
Further, when the
尚、NVRAM101が複数モジュールに分割されている場合において、不揮発保持無効領域を持たないモジュールがある場合、当該モジュールについては、NVMC102を介さずに当該NVRAM101をIバス115に接続することができる。
When the
図5には上記CPU103によって管理されるアドレス空間が示される。
FIG. 5 shows an address space managed by the
特に制限されないが、CPU103のアドレス空間は4Gバイトである。マイクロコンピュータ100内部のNVRAM101、I/Oレジスタ121は、それぞれ固有のアドレス、バス幅、アクセスステート数で動作する。前記の通り、NVRAM101は、NVMC102を介して内部バス(Iバス115)によって接続され、通常は1ステートでリード/ライトが行われる。NVRAM101は、複数のアドレスに配置される。
Although not particularly limited, the address space of the
CPU103は、第1動作モードと第2動作モードとを含む。上記第1動作モードでは、例えば図5(A)に示されるように、第1の領域NVRAM−1は主としてプログラム用、第2の領域NVRAM−2は主としてデータ用とされる。第1の領域NVRAM−1は、CPU103の例外処理ベクタを含む。第1の領域NVRAM−1、及び第2の領域NVRAM−2は、CPU103のアドレッシングモードなどに応じて配置すればよい。主としてプログラム用の第1の領域に対するライトは、プログラム保護のため、NVMC102によって禁止される。動作開始後に書き換えする領域(不揮発保持無効領域)は、例外処理ベクタと重ならないようにする。NVRAM101を複数モジュールに分割する場合は、互いに異なるモジュールに配置するとよい。本例では、第2の領域NVRAM−2の一部に不揮発保持無効領域が形成される。第2動作モードにおいて、第1の領域NVRAM−1は、図5(B)に示されるように外部空間とされる。この場合、NVRAM101は、主としてデータ領域として使用され、プログラムは主として、外部バスに接続されたメモリが使用される。
The
尚、図5(A)に示されるように、プログラムの初期書き込み又は書き換え(ブート)などのためのプログラムを格納する、通常動作時には使用しない領域(ブート領域)を持つ場合があるが、この領域は、不揮発保持無効領域の対象外とする。この領域は、所定のブートモードなどのみで、リードできるようにしてよい。ブートモード又はブート領域でのプログラム実行時は、第1の領域NVRAM−1に対するライトを許可するようにしてよい。 Note that, as shown in FIG. 5A, there may be an area (boot area) that stores a program for initial writing or rewriting (booting) of the program and is not used during normal operation. Are excluded from the non-volatile holding invalid area. This area may be readable only in a predetermined boot mode. When the program is executed in the boot mode or the boot area, writing to the first area NVRAM-1 may be permitted.
図6には、NVRAM101の格納データの一例が示される。
FIG. 6 shows an example of data stored in the
NVRAM101は、ランダムアクセスによるリード又はライトが可能であって、フラッシュメモリのように、書き込みに際して消去などの特別な動作を行う必要がなく、NVRAM101上のプログラム実行によって、NVRAM101への書き込みを行うことができる。このため、単一のNVRAM101に、プログラム領域とデータ領域を設けることができる。データ領域には、要保存のデータ領域と、保持すべきでない(消去すべき)データ領域とがある。例えばセキュリティの関係で保持すべきでない(消去すべき)データ領域は、上記不揮発保持無効領域とする。NVRAM101の不揮発保持無効領域以外の不揮発保持領域に、プログラム及びデータ保存領域を設けることができる。不揮発保持無効領域は、CPU103の作業領域とされ、保持すべきでない(消去すべき)秘密情報が格納される。秘密ではない作業用データは、前記不揮発保持領域に格納してもよい。
The
図7には、上記NVMC102の状態遷移が示される。
FIG. 7 shows the state transition of the
マイクロコンピュータ100のリセットなどによりRESC113からのリセット状態遷移信号rstが論理値‘1’にアサートされることによって、NVMC102がリセット状態に遷移される。リセット後、NVMC102は、ライト状態に遷移し、ライト制御部1022の制御により、不揮発保持無効領域の所定のアドレスに対するライトサイクルが発行される。ライトすべきデータ数に応じて、ライト状態を複数のステートで構成してもよい。この状態では、CPU103からNVRAM101のリード/ライトができないので、CPU103がNVRAM101をリード又はライトしようとした場合は、ウェイト信号を活性化して、ウェイトを要求し、NVMC102による所定のライトが終了後(後述のCPUリードライト状態遷移後)に、CPU103によるNVRAM101のリード/ライトを行うようにする。あるいは、NVMC102がライト状態のときは、CPU103にリセットを継続するようにしてもよい。所定のライトが終了すると、NVRAM101は、CPU103のリードライト状態に遷移する。上記リセット後の所定のライト状態(ライト動作)により、不揮発保持無効領域に対する無効化処理を行うことが可能となる。
When the reset state transition signal rst from the
尚、RESC113における電源検出回路114により電源投入が検知された場合に、NVMC102をリセット状態に遷移させ、電源投入完了後、又は所定時間経過後に、NVMC102をライト状態に遷移させるようにしてもよい。また、WDT109のオーバーフローや、マスク不可能な割り込みなど、異常と判断されるべき状態を検出して、リセット状態に遷移させるようにしても良い。また、NVRAM101に、パラメータ情報などを含む場合には、図8に示されるように、ライト終了後に、パラメータリードの状態を追加してもよい。パラメータ情報としては、例えば、NVRAM101のトリミング情報や、A/D変換器122のアナログ値の調整などが挙げられる。
Note that when the power detection is detected by the
図9には、マイクロコンピュータ100における主要部の動作タイミングが示される。
FIG. 9 shows the operation timing of the main part in the
図9に示されるように、外部からのリセット信号RESに応じてリセット状態遷移信号rstが論理値‘1’となると、NVMC102は、リセット状態に遷移され、マルチプレクサ1021の選択状態がライト制御部1022側に切り換えられて、CPU103からのリード/ライトコマンド抑止される(nop)。これによりアドレス及びデータは初期化される。
As shown in FIG. 9, when the reset state transition signal rst becomes a logical value “1” in response to an external reset signal RES, the
そして、リセット状態遷移信号rstが論理値‘0’となり、リセットが解除されると、ライト状態になり、所定のアドレス(addr−1〜addr−4)についてのライトが行われる。本例では、ライト動作が4回連続して行われる。このようなライト動作のアドレスは、図5(A),(B)における不揮発保持無効領域に対応するように、ライト制御部1022においてハードウェア的に生成される。書き込みデータは、特に制限されないが、論理値‘0’とされる。上記のライト動作が終了すると、NVMC102は、CPUリードライト状態に遷移し、マルチプレクサ1021の選択状態をIバス115に切り換える。上記ライトの完了に相当する期間(本例では4回のライトに相当する時間)、RESC113は、CPU103に対するリセット信号rst_cpuを活性化するようにする。以降は、CPU103によるリード/ライトが受け付けられる。
Then, when the reset state transition signal rst becomes the logic value “0” and the reset is released, the write state is entered, and the write for a predetermined address (addr-1 to addr-4) is performed. In this example, the write operation is performed four times in succession. The address of such a write operation is generated in hardware by the
図10には、上記マイクロコンピュータ100における主要部の別の動作タイミングが示される。
FIG. 10 shows another operation timing of the main part in the
マイクロコンピュータ100の電源Vccが投入されて所定の電源電圧レベルに達したことが電源検出回路114によって検出されると、リセット状態遷移信号rstが論理値‘1’にされ、それによってNVMC102は、リセット状態に遷移され、マルチプレクサ1021の選択状態がライト制御部1022に切り換えられて、CPU103からのリード/ライトコマンド抑止される(nop)。そして、リセット状態遷移信号rstが論理値‘0’となり、リセットが解除されると、ライト状態になり、所定のアドレス(addr−1〜addr−4)についてのライトが行われる。それ以降は、図9に示される場合と同様であるので、それについての説明を省略する。
When the power
図11には、マイクロコンピュータ100における主要部の別の動作タイミングが示される。
FIG. 11 shows another operation timing of the main part in the
マイクロコンピュータ100の電源電圧Vccのレベル低下を検出すると、リセット信号rst_pdwnが論理値‘1’にされる。このリセット信号rst_pdwnは、電源検出回路114の検出結果に基づいてRESC113で生成される。リセット信号rst_pdwnが論理値‘1’にされることによってライト状態になり、所定のアドレス(addr−1)に対するライトが行われる。電源電圧Vccが、必要最小限のレベル以下にまで低下した場合には、ライトを行うことができない。このため、電圧の低下や保持の程度によって、ライトできる領域が変わる。本例は、図9や図10に示される動作と組み合わせることが望ましい。図9や図10に示されるように電源投入後にライトを行えば、論理的に指定した領域を確実にライトすることができる。少なくともCPU103の動作開始以前に、ライトすることができる。
When a decrease in the level of the power supply voltage Vcc of the
尚、NVRAM101を複数モジュールに分割し、不揮発保持無効領域と、例外処理ベクタ領域が異なるモジュールに配置される場合には、CPU103に対するリセット信号rst_cpuを、リセット状態遷移信号rstと同様にし、CPU103が不揮発保持無効領域を含む領域にアクセスした場合に、ウェイトを要求するようにすればよい。
When the
また、図5(B)に示される第2動作モードなど、例外処理ベクタ領域がNVRAM101に存在しない場合も同様にすることができる。リセット状態遷移信号rstの波形立上りの検出後、リセット状態遷移信号rstの波形立下りを待たずに、ライト状態に遷移するようにしてもよい。いずれにせよ、CPU103によるNVRAM101のアクセス以前に、自動書き換えを行うようにすればよい。マイクロコンピュータ100が複数の動作モードを持つ場合にも、動作モードによらずに自動書き換えを行うようにする。
Also, the same can be done when the exception processing vector area does not exist in the
図13には、CPU103のリセット解除時のフローチャートが示される。
FIG. 13 shows a flowchart when the reset of the
リセットが解除されると、CPU103はリセット例外処理を行う。
When the reset is released, the
リセット例外処理時、CPU103は、不揮発保持無効領域に対するライトを行う(NVRAMライト1〜4)ステップを持つようにする。すなわち、NVMC102によらず、NVRAM101の自動書き換えが行われる。このための、CPU103の実行部105に、アドレスやデータの生成論理、すなわち、通常の命令実行のアドレスやデータのセレクタを設け、制御部104に、前記セレクタの制御、バスコマンドの発生、フローの制御のための論理を設ける。それによりCPU103は、例外処理ベクタをリードし、プログラムの先頭命令に分岐する。これは、通常のCPUと同様である。
At the time of reset exception processing, the
自動書き換えのためのプログラムを、リセット例外処理後に実行するようにし、その後に、本来のプログラムの先頭命令に分岐するようにしてもよい。あるいは、DMAコントローラなどを持ち、リセット後に、かかるDMAコントローラを自動的に起動して、上記不揮発保持無効領域に対するライトを行うようにしてもよい。 The program for automatic rewriting may be executed after reset exception processing, and then branch to the first instruction of the original program. Alternatively, a DMA controller or the like may be provided, and after resetting, the DMA controller may be automatically activated to perform writing to the nonvolatile holding invalid area.
図14には、上記マイクロコンピュータ100の応用例が示される。また、図15には、図14に示される応用例における処理フローチャートが示される。
FIG. 14 shows an application example of the
図14に示されるように、マイクロコンピュータ100は、それに接続された他のマイクロコンピュータ200との間で通信を行う。そしてマイクロコンピュータ100は、通信の内容に従って所要の動作を行う。尚、接続先は変更される。通信の情報には、接続先のマイクロコンピュータに固有のID情報や鍵情報などの秘密情報が含まれ、接続先のマイクロコンピュータ200の認証を行うことがある。ID情報や鍵情報などの秘密情報は、通信時には、暗号化などを行って接続先から入力されたとしても、マイクロコンピュータ内部では復号されたデータ、又は暗号化する前のデータが存在する。これを、NVRAM101に保持していれば、それが、悪意のプログラム実行によってリードされる可能性が高まる。通信時に暗号化を行い、秘密を保持するのであるから、マイクロコンピュータ内の復号されたデータなどの秘密情報をリードされることも阻止すべきである。かかる秘密情報を不所望に保持しないために、所要の処理終了後に、当該秘密情報を、マイクロコンピュータ100のプログラムで初期化又は書き換えることも考えられるが、初期化又は書き換える前に、悪意を持って電源遮断などをされれば、初期化又は書き換えができないことも考えられる。
As shown in FIG. 14, the
このような使用方法において、マイクロコンピュータ100は、リセット後に不揮発保持無効領域の初期化又は書き換え(不揮発保持無効化処理)を行うようにする(S1)。その後、マイクロコンピュータ100は、NVRAM101上に格納されたプログラムに従い、CPU103の制御に基づき、接続先のマイクロコンピュータ200のID情報や鍵情報は、当該接続時には、SCI110を介して入力される(S2)。入力されたデータは、一旦、NVRAM101にライトされて保持される。このデータが暗号化されたデータであれば、NVRAM101の不揮発保持領域に格納してよい(S3)。CPU103の制御により暗号機能部106において、入力データの復号化処理などが行われる(S4)。暗号機能部106には、適宜、鍵情報などが与えられる。ID情報や鍵情報、および復号化されたデータ(平文)は必要に応じて任意のタイミングにおいて不揮発保持無効領域に格納(ライト)され、悪意によるリードが抑止される(S5)。
In such a method of use, the
逆に、暗号化を行う場合は、元のデータ(平文)を不揮発保持無効領域に格納するようにする。暗号化されたデータは、不揮発保持領域に格納してもよい。暗号機能がデータを処理する場合も、平文を不揮発保持無効領域に格納するようにし、一方、暗号を不揮発保持領域に格納することができる。この復号されたデータは、認証などのCPU103の作業に随時参照(リード/ライト)される(S6)。認証が確認されれば、当該システムに所要の処理が行われる(S7)。認証がなされなければ、処理を行わずに終了する。
Conversely, when encryption is performed, the original data (plain text) is stored in the nonvolatile holding invalid area. The encrypted data may be stored in the nonvolatile holding area. Even when the encryption function processes data, the plaintext can be stored in the nonvolatile holding invalid area, while the cipher can be stored in the nonvolatile holding area. This decrypted data is referred to (read / written) as needed for operations of the
接続先のマイクロコンピュータとの接続が解消されれば、接続先のマイクロコンピュータ200に固有のID情報や鍵情報などの秘密情報は保持する必要はない。別のマイクロコンピュータと接続する場合には、不揮発保持無効領域に対し別のID情報や鍵情報を入力し、同様の処理が行われる。
If the connection with the connection destination microcomputer is canceled, it is not necessary to hold secret information such as ID information and key information unique to the
本マイクロコンピュータ100においては、上記のID情報や鍵情報、復号化されたデータなどの、保持すべきでない(消去すべき)秘密情報を、前記不揮発保持無効領域に格納しておけば、前記のようなマイクロコンピュータ100のプログラムで初期化又は書き換えする手間も不要であるし、悪意により動作中に電源が遮断されたような場合も、マイクロコンピュータ100の次の電源投入時に、当該マイクロコンピュータ100の動作開始前に書き換えされるから、悪意/善意によらず、リードすることができないので、セキュリティの強化を図ることができる。
In the
上記例によれば、以下の作用効果を得ることができる。 According to the above example, the following operational effects can be obtained.
(1)ランダムアクセスによってリード・ライト可能なNVRAM101を、CPU103のプログラム領域と作業用データ領域として使用することにより、ハードウェア資源を節約できるし、製造工程の簡略化に寄与できるので、製造費用を低減できる。NVRAM101とは別に一般的なRAMを搭載していないので、当該RAMにおける記憶データを保持するための電流を考慮しないで良いし、ソフトエラー対策も不要となる。この場合において、上記NVRAM101の記憶領域の一部に不揮発保持が無効とされる領域が設けられているため、この領域を、秘密を保持すべきデータの格納用とすることにより、この秘密を保持すべきデータが上記NVRAM101に不揮発保持されることが回避される。これによって、ランダムアクセスによってリード・ライト可能な不揮発性記憶装置(NVRAM)を、プログラム/データ兼用のメモリとして搭載した場合のセキュリティの向上を達成することができる。
(1) By using the
(2)NVMC102で、自動書き換え(不揮発保持無効領域に対する無効化処理)を行うことにより、CPU103は既存のものを使用することができる。CPU103を停止して、NVRAM101他のモジュールを、外部からリード/ライトするようなテストモードなどがあっても、自動書き換えを行うことができる。
(2) By performing automatic rewriting (invalidation processing for the nonvolatile holding invalid area) in the
(3)NVMC102による自動書き換え中、CPU103をリセット状態に保持すれば、マイクロコンピュータ100の内部状態を簡略化できる。
(3) The internal state of the
(4)例外処理ベクタ領域が、不揮発保持無効領域を含むNVRAM101以外に存在する場合は、自動書き換え中も、CPU103を動作させ、自動書き換え中のNVRAM101に対するアクセスがあったときにウェイトを要求することにより、不所望の待機時間を抑止することができる。
(4) When the exception processing vector area exists in a place other than the
(5)CPU103によって、自動書き換えを行うことにより、NVMC102を不要とすることができる。
(5) By performing automatic rewriting by the
(6)NVRAM102のプログラム用に使用する領域を、ライト禁止にすることによって、フラッシュメモリなどに相違して、書き換えが容易であることによる、不所望のプログラムの書き換えを抑止できる。
(6) By prohibiting the area used for the program in the
図2には、上記マイクロコンピュータ100における主要部の別の構成例が示される。
FIG. 2 shows another configuration example of the main part of the
図2に示されるマイクロコンピュータ100は、二つの半導体チップによって構成される。すなわち、図2に示されるマイクロコンピュータ100が、図1に示されるのと大きく相違するのは、それぞれNVRAM101及びNVMC102に対応するNVRAM201及びNVMC202が、CPU103とは別のチップ300に形成されている点である。また、このチップ300内には、チップ300内の電源電圧を検出可能な電源検出回路214を含むRESC213が設けられ、このRESC214によって形成されるリセット状態遷移信号によってNVMC202がリセットされるようになっている。また、NVMC202は、外部バス117及びBUF108を介してIバス115に結合される。NVRAM201、NVMC202、及びRESC213の機能は、それぞれ図1に示されるNVRAM201、NVMC202、及びRESC113と同様とされるため、その詳細な説明は省略する。このようにマイクロコンピュータシステム100が複数の半導体チップによって構成される場合にも、図1に示される場合と同様の作用効果を得ることができる。
The
図4には、NVMC102の別の構成例が示される。
FIG. 4 shows another configuration example of the
NVMC102は、アドレス判定部1033、リード制御部1031を含んで成る。アドレス判定部1033は、動作開始後に、リセットによってリード阻止状態に遷移される。この状態では、アドレスの判定結果に従い、不揮発保持無効領域以外のリードは許可される。また、不揮発保持無効領域のリードは禁止される。ライトは領域によらず許可される。さらに、不揮発保持無効領域へのライトが観測される。不揮発保持無効領域の全てのアドレスにライトされたことが判定され、リード許可状態に遷移される。この状態では、領域によらず、リードを許可する。リード制御部1031は、アドレス判定のリード許可/禁止に従って、NVRAM101のリードの許可/禁止が行われる。これによって、不揮発保持無効領域は、ライトするまでリードすることができないから、動作開始以前の内容をリードすることを阻止できる。ライトした内容はリードできるから、作業領域として使用することに不都合はない。リードの禁止は、NVRAM101に対するリード信号を抑止してもよいし、リードデータをマスクするようにしてもよい。
The
図12には、図4に示される構成を採用した場合のマイクロコンピュータ100の動作タイミングが示される。
FIG. 12 shows the operation timing of the
リセット状態遷移信号rstが論理値‘1’となると、NVMC102はリード阻止状態に遷移される。CPU103による、所定のアドレス(addr−1〜addr−4)に対するライトを検出すると、リード許可状態に遷移される。この例では、4回のライト後に遷移するようにしている。尚、1つのライト毎に、当該アドレスに対するリードを許可するようにしてもよい。
When the reset state transition signal rst becomes the logical value “1”, the
リード禁止を行うことで、リセット後のCPU103のプログラム実行を早期に開始することができる。プログラムの実行によって、作業領域の初期化を行う場合は、二重にライトしたり、使用しないアドレスにライトしたりすることがない。
By prohibiting reading, the program execution of the
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。 Although the invention made by the present inventor has been specifically described above, the present invention is not limited thereto, and it goes without saying that various changes can be made without departing from the scope of the invention.
例えば、NVRAM101は、MRAMに限らず、ランダムなライトアクセスが可能で、不揮発保持が可能であればよい。NVRAM101の構成も任意にでき、例えば、プログラム用とデータ用に複数のNVRAM101を持ってもよい。プログラム用とデータ用に、一種類のNVRAM101で構成することが望ましい。NVRAM101とNVMC102とを一体的に構成してもよい。メモリアレイとNVMCに相当する機能を持てばよい。NVRAMは、ECC(Error-Correcting Code)によるエラー訂正が行えるように、データとシンドロームを持つようにしてもよい。
For example, the
また、リード禁止の手段も任意にできる。動作開始以前の内容をリードできず、動作開始以後にライトした内容をリードできるものであればよい。 Further, the means for prohibiting reading can be arbitrarily set. Anything can be used as long as the contents before the operation start cannot be read and the contents written after the operation start can be read.
自動書き換え(不揮発保持無効領域に対する無効化処理)用データの内容も任意にできる。古いデータを保持しなければよく、固定値のほか、ランダムなものであってもよい。不揮発保持無効化とは、動作開始以前にすでに格納されているデータをリードできなくすることであって、フラッシュメモリのように、記憶素子の状態を、書き込み可能な状態に戻すことに限らない。不揮発保持無効化動作ということができる。自動書き換えのためのアドレス配置やアドレス範囲も任意にできる。自動書き換えのためのアドレス範囲については、フラッシュメモリで採用されているようにブロック単位で一括書き込みを可能とする構成を採ってもよい。 The contents of data for automatic rewriting (invalidation processing for the non-volatile holding invalid area) can be arbitrarily set. It is sufficient that old data is not retained, and a fixed value or a random value may be used. Nonvolatile holding invalidation means that data already stored before the start of operation cannot be read, and is not limited to returning the state of a storage element to a writable state like a flash memory. This can be referred to as a nonvolatile retention invalidation operation. Address arrangement and address range for automatic rewriting can be arbitrarily set. The address range for automatic rewriting may be configured so that batch writing can be performed in units of blocks as employed in flash memory.
さらに、自動書き換えのためのアドレス範囲については、CPU103のプログラム実行によるライトシーケンスと異なるようにしてもよい。例えば、アドレスに対応したバイト領域をライトする代わりに、ビット0のみを、8アドレスに対してライトしてもよい。バイト単位で意味を持つデータは、そのうちの1ビットを書き換えるだけでも意味をなさなくなるからである。上記ECCによるエラー訂正を行っている場合は、シンドロームのみをライトするようにしてもよい。
Furthermore, the address range for automatic rewriting may be different from the write sequence by the
マイクロコンピュータの構成や、アドレス空間の大きさや配置についても限定されない。そのほかや機能ブロックなども種々変更できる。CPU103や、暗号機能部106の他に、DMAコントローラなどのように、NVRAM101に対するライトを可能とするモジュールを搭載してもよい。
The configuration of the microcomputer and the size and arrangement of the address space are not limited. In addition, various functional blocks can be changed. In addition to the
マイクロコンピュータ100と通信を行うべき相手は、マイクロコンピュータに限定されない。通信すべきデータは、ID情報や鍵情報に限定されず、任意の著作物などであってもよい。不揮発保持無効領域に格納すべきデータとしては、ID情報や鍵情報に限定されず、マイクロコンピュータ内部で生成又は復号化される全ての秘密情報に対応できる。
The partner to communicate with the
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるシングルチップマイクロコンピュータに適用した場合について説明したが、本発明はそれに限定されるものではなく、ランダムアクセスを可能とする不揮発性記憶装置を含むマイクロコンピュータに広く適用することができる。 In the above description, the case where the invention made mainly by the inventor is applied to the single-chip microcomputer, which is the field of use behind it, has been described. However, the present invention is not limited to this, and random access is possible. The present invention can be widely applied to microcomputers including nonvolatile storage devices.
101,201 NVRAM
102,202 NVMC
103 CPU
104 制御部
105 実行部
106 暗号機能部
107 I/O部
108 BUF
109 WDT
110 SCI
111 BSC
112 INT
113,213 RESC
114,214 電源検出回路
115 Iバス
116 Pバス
117 外部バス
121 I/Oレジスタ
122 A/D変換器
1021 マルチプレクサ
1022 ライト制御部
1023 アドレス判定部
1031 リード制御部
101, 201 NVRAM
102,202 NVMC
103 CPU
109 WDT
110 SCI
111 BSC
112 INT
113,213 RESC
114, 214 Power supply detection circuit 115 I bus 116
Claims (2)
上記CPUによるランダムアクセスによってリード・ライト可能な不揮発性記憶装置と、
を含むシングルチップマイクロコンピュータであり、
上記不揮発性記憶装置は、記憶領域として上記プログラムが格納される不揮発保持領域とデータを格納可能な不揮発性保持無効化領域とを含み、
リセット状態を示すリセット信号により、上記記憶領域のうち上記不揮発性保持無効化領域に対してライト動作を行うことで、上記不揮発性保持無効化領域のデータを消去することを特徴とするシングルチップマイクロコンピュータ。 A CPU that enables arithmetic processing based on a preset program;
A nonvolatile storage device that can be read and written by random access by the CPU;
A single chip microcomputer including
The non-volatile storage device includes a non-volatile holding area in which the program is stored as a storage area and a non-volatile holding invalidation area capable of storing data,
A single chip micro that erases data in the nonvolatile retention invalidation area by performing a write operation to the nonvolatile retention invalidation area in the storage area in response to a reset signal indicating a reset state. Computer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011053899A JP2011141888A (en) | 2011-03-11 | 2011-03-11 | Single chip microcomputer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011053899A JP2011141888A (en) | 2011-03-11 | 2011-03-11 | Single chip microcomputer |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006210751A Division JP2008040585A (en) | 2006-08-02 | 2006-08-02 | Microcomputer |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011141888A true JP2011141888A (en) | 2011-07-21 |
Family
ID=44457633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011053899A Pending JP2011141888A (en) | 2011-03-11 | 2011-03-11 | Single chip microcomputer |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011141888A (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63293664A (en) * | 1987-05-27 | 1988-11-30 | Sharp Corp | Electronic equipment |
JP2003104137A (en) * | 2001-09-27 | 2003-04-09 | Hitachi Ltd | On-vehicle control device |
JP2005236782A (en) * | 2004-02-20 | 2005-09-02 | Ricoh Co Ltd | Unit and program for image processing |
JP2005292959A (en) * | 2004-03-31 | 2005-10-20 | Toshiba Corp | Nonvolatile memory module and nonvolatile memory system |
-
2011
- 2011-03-11 JP JP2011053899A patent/JP2011141888A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63293664A (en) * | 1987-05-27 | 1988-11-30 | Sharp Corp | Electronic equipment |
JP2003104137A (en) * | 2001-09-27 | 2003-04-09 | Hitachi Ltd | On-vehicle control device |
JP2005236782A (en) * | 2004-02-20 | 2005-09-02 | Ricoh Co Ltd | Unit and program for image processing |
JP2005292959A (en) * | 2004-03-31 | 2005-10-20 | Toshiba Corp | Nonvolatile memory module and nonvolatile memory system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6306578B2 (en) | Memory protection device and protection method | |
US9202061B1 (en) | Security enclave processor boot control | |
US11714924B2 (en) | Unified addressable memory | |
TWI620095B (en) | Apparatuses and tangible machine readable medium for securing an access protection scheme | |
US8296528B2 (en) | Methods and systems for microcode patching | |
US8189384B2 (en) | System and method to control one time programmable memory | |
CN110998578B (en) | System and method for booting within a heterogeneous memory environment | |
JP5576557B2 (en) | Processor system and control method thereof | |
WO2016176126A1 (en) | Secure access in a microcontroller system | |
US11544413B2 (en) | Cryptographic key distribution | |
JP2008059052A (en) | Semiconductor integrated circuit and microcomputer | |
JP2003521034A (en) | Microprocessor system and method of operating the same | |
JP7332083B2 (en) | Multimode protected memory | |
JP2008040585A (en) | Microcomputer | |
US9373377B2 (en) | Apparatuses, integrated circuits, and methods for testmode security systems | |
JP2011141888A (en) | Single chip microcomputer | |
JP2007034554A (en) | Semiconductor integrated circuit and microcomputer | |
JP2011150457A (en) | Information processing apparatus and memory access control method | |
JP2011180963A (en) | Semiconductor integrated circuit device | |
WO2024027975A1 (en) | Execution of instructions from trusted and untrusted memories | |
CN117131549A (en) | Chip encryption method and encryption chip | |
CN116501237A (en) | Solid-state storage AI coprocessor and solid-state storage system | |
CN114968117A (en) | Memory protection system | |
JP2009048322A (en) | Interface module and semiconductor integrated circuit | |
JPH11120081A (en) | Microcomputer system and its security control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110311 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130207 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130606 |