JP4734582B2 - Non-volatile memory data update method, control device, and data update program - Google Patents
Non-volatile memory data update method, control device, and data update program Download PDFInfo
- Publication number
- JP4734582B2 JP4734582B2 JP2005194716A JP2005194716A JP4734582B2 JP 4734582 B2 JP4734582 B2 JP 4734582B2 JP 2005194716 A JP2005194716 A JP 2005194716A JP 2005194716 A JP2005194716 A JP 2005194716A JP 4734582 B2 JP4734582 B2 JP 4734582B2
- Authority
- JP
- Japan
- Prior art keywords
- sector
- pattern
- data
- stored
- predetermined
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Description
本発明は、不揮発性メモリのデータ更新方法、制御装置、及び不揮発性メモリのデータ更新プログラムに関するものであって、特に、意図しないデータ消去やデータ改竄を防ぐことが可能なものに関する。 The present invention relates to a data update method for a nonvolatile memory, a control device, and a data update program for a nonvolatile memory, and more particularly to a data that can prevent unintended data erasure and data tampering.
従来より、給電が遮断されても記憶内容を保持することができるとともに、プログラムによって電気的に内容を書き換えることが可能なメモリとして、例えばEEPROM(Electrically Erasable Programmable Read Only Memory)やフラッシュメモリなどの不揮発性メモリが利用されている。この不揮発性メモリのデータ更新方法について、図5を用いて以下に説明する。 Conventionally, non-volatile memory such as EEPROM (Electrically Erasable Programmable Read Only Memory) or flash memory can be used as a memory that can retain stored contents even when power is cut off and that can be electrically rewritten by a program. Memory is used. A method for updating data in the nonvolatile memory will be described below with reference to FIG.
図5は、不揮発性メモリのデータ更新方法の流れを示すフローチャートである。 FIG. 5 is a flowchart showing a flow of a method for updating data in the nonvolatile memory.
図5において、まず、RAM(Random Access Memory)等の揮発性メモリにマッピングされたワーキングエリアを用意して、そのワーキングエリアに、更新が必要なデータが属するセクタをコピーして一時退避する(ステップS101)。そして、そのワーキングエリア上で更新が必要なデータについて更新作業(例えば、ソフトウェアによるbitシフト処理やAND処理など)が行われる(ステップS102)。そして、不揮発性メモリにおいて、更新が必要なデータが属するセクタの消去が行われる(ステップS103)。最後に、上述したワーキングエリア上の更新後データが、ステップS103によって消去が行われたセクタに書き込まれ(ステップS104)、データの更新が完了する。 In FIG. 5, first, a working area mapped to a volatile memory such as a RAM (Random Access Memory) is prepared, and a sector to which data that needs to be updated is copied and temporarily saved in the working area (step). S101). Then, an update operation (for example, a bit shift process or an AND process by software) is performed on data that needs to be updated in the working area (step S102). Then, in the nonvolatile memory, the sector to which the data that needs to be updated belongs is erased (step S103). Finally, the updated data on the working area described above is written in the sector erased in step S103 (step S104), and the data update is completed.
ここで、このような不揮発性メモリのデータ更新方法において、意図しないデータ消去やデータ改竄を防ぐプロテクト機能が付加されたデータ更新方法が提案されている(例えば特許文献1参照)。特許文献1に記載された発明によれば、フラッシュROMへの書き込みを禁止する状態(ライトプロテクト状態)を設定又は解除するライトプロテクト制御手段を用いて、フラッシュROMに対し、複数のライトプロテクト解除コードを所定の遅延時間を介在させつつ書き込んでいく。これにより、正常に動作している場合と、プログラムが暴走してライトプロテクトコードが発行した場合とを区別することができ、ひいては誤書き込みを防止することができる。 Here, in such a data update method of the nonvolatile memory, a data update method to which a protection function for preventing unintended data erasure and data tampering is added has been proposed (see, for example, Patent Document 1). According to the invention described in Patent Document 1, a plurality of write protection cancellation codes are provided to the flash ROM using the write protection control means for setting or canceling the state in which writing to the flash ROM is prohibited (write protection state). Are written with a predetermined delay time interposed. As a result, it is possible to distinguish between a case where the program is operating normally and a case where the program runs away and a write protect code is issued, and thus erroneous writing can be prevented.
しかしながら、上述した特許文献1記載の発明では、フラッシュROMの機種や製造メーカが異なると、ライトプロテクト状態を設定又は解除する方法(ソフトウェア)の変更だけでなく、場合によってはライトプロテクト状態を設定又は解除するライトプロテクト制御手段(ハードウェア)の変更も余儀なくされ、汎用性に欠ける。その結果、不揮発性メモリのデータ更新に関して、意図しないデータ消去やデータ改竄を防ぐための対策コストが嵩み、実用性にも欠ける。 However, in the invention described in Patent Document 1 described above, if the flash ROM model or manufacturer is different, not only the method (software) for setting or canceling the write protect state is changed, but the write protect state may be set or The write protection control means (hardware) to be released is also forced to change, and lacks versatility. As a result, regarding the data update of the nonvolatile memory, the cost of measures for preventing unintended data erasure and data tampering is increased, and the practicality is also lacking.
本発明は、以上の点に鑑みてなされたものであり、その目的は、如何なる機種や如何なる製造メーカの不揮発性メモリに対しても、意図しないデータ消去やデータ改竄を防止しうる汎用性を備え、また、安価かつ簡易に実現しうる実用性をも兼ね備えた不揮発性メモリのデータ更新方法、制御装置、及び不揮発性メモリのデータ更新プログラムを提供することにある。 The present invention has been made in view of the above points, and its purpose is to provide versatility capable of preventing unintentional data erasure and data tampering with any model and any manufacturer's nonvolatile memory. Another object of the present invention is to provide a non-volatile memory data update method, a control device, and a non-volatile memory data update program that also have practicality that can be realized inexpensively and easily.
以上のような課題を解決するために、本発明は、以下のものを提供する。 In order to solve the above problems, the present invention provides the following.
(1) 下位装置に搭載されたCPUが、上位装置からのコマンドに基づき所定パターンを記憶する記憶手段を用いて、更新が必要なデータが属するセクタを消去するセクタ消去工程を含む不揮発性メモリのデータ更新方法であって、前記セクタ消去工程は、複数のセクタ消去手順に分割されるとともに、前記複数のセクタ消去手順のうち少なくとも最後のセクタ消去手順の前に、前記CPUが前記所定パターンの真偽を判定するパターン真偽判定工程を含み、前記パターン真偽判定工程による判定結果が真であるとき、前記セクタを消去することを特徴とする不揮発性メモリのデータ更新方法。 (1) A non-volatile memory including a sector erasing process in which a CPU mounted on a lower-level device uses a storage unit that stores a predetermined pattern based on a command from the higher-level device to erase a sector to which data that needs to be updated belongs In the data update method, the sector erasing step is divided into a plurality of sector erasing procedures, and the CPU executes the truth of the predetermined pattern before at least the last sector erasing procedure among the plurality of sector erasing procedures. A non-volatile memory data update method, comprising: a pattern authenticity determination step for determining false, wherein the sector is erased when a determination result by the pattern authenticity determination step is true.
本発明によれば、不揮発性メモリのデータ更新方法に、例えばホストコンピュータなどの上位装置からのコマンドに基づき所定パターンを記憶する記憶手段を用いて、更新が必要なデータが属するセクタを消去するセクタ消去工程が含まれている。また、そのセクタ消去工程は、複数のセクタ消去手順に分割されるとともに、そのセクタ消去手順の前後のうち少なくとも一において、所定パターンの真偽を判定するパターン真偽判定工程が含まれている。そして、そのパターン真偽判定工程による判定結果が真であるとき、セクタを消去することとしたので、パターン真偽判定工程というアプリケーションレベルでの工程による判定結果をトリガとして、セクタ消去可能か否かが決定されることとなる。 According to the present invention, a sector for erasing a sector to which data to be updated belongs by using a storage unit that stores a predetermined pattern based on a command from a higher-level device such as a host computer, for example, in a data update method for a nonvolatile memory An erasing process is included. In addition, the sector erasing step is divided into a plurality of sector erasing procedures, and includes a pattern authenticity determining step for determining the authenticity of a predetermined pattern before and after the sector erasing procedure. Since the sector is erased when the determination result by the pattern authenticity determination process is true, whether or not the sector can be erased by using the determination result by the process at the application level as the pattern authenticity determination process as a trigger. Will be determined.
従って、如何なる機種や如何なる製造メーカの不揮発性メモリに対しても、意図しないデータ消去やデータ改竄を防止することができる。また、偶発的なプログラム暴走等が発生した場合であっても、パターン真偽判定手段が真偽を判定する所定パターンは、上位装置からのコマンドに基づき記憶手段に記憶されたものでなければ真のものとならないで、誤消去や誤書き込みを防ぐことができ、ひいては不揮発性メモリのデータ更新方法についての信頼性を高めることができる。さらに、本発明は、アプリケーションレベルでのプロテクト機能を実現しうるものなので、安価かつ簡易に意図しないデータ消去等を防ぐことができる。 Therefore, it is possible to prevent unintended data erasure and data tampering with any model and non-volatile memory of any manufacturer. Even if an accidental program runaway or the like occurs, the predetermined pattern for which the pattern authenticity determination means determines true / false is not true unless it is stored in the storage means based on a command from the host device. Therefore, erroneous erasure and erroneous writing can be prevented, and as a result, the reliability of the data update method of the nonvolatile memory can be improved. Furthermore, since the present invention can realize a protection function at the application level, it is possible to prevent unintended data erasure and the like at low cost and simply.
前記セクタ消去工程は、前記複数のセクタ消去手順のうち最後のセクタ消去手順の前に、前記パターン真偽判定工程を含むことを特徴とする。 Before Symbol sector erase process, prior to the last sector erase procedure of the plurality of sector erase procedure, it comprising said pattern authenticity determination process.
本発明によれば、複数のセクタ消去手順のうち最後のセクタ消去手順の前に、パターン真偽判定工程が含まれることとしたので、必要最小限の処理負荷で、アプリケーションレベルでのプロテクト機能を実現することができる。 According to the present invention, since the pattern authenticity determination step is included before the last sector erase procedure among the plurality of sector erase procedures, the protection function at the application level can be performed with a minimum processing load. Can be realized.
(2) 前記所定パターンは、前記記憶手段の各記憶領域に複数記憶され、前記パターン真偽判定工程は、前記所定パターンの真偽を複数回判定するとともに、前記セクタ消去工程は、前記パターン真偽判定工程による判定結果が全て真であるとき、前記セクタを消去することを特徴とする(1)記載の不揮発性メモリのデータ更新方法。 (2) A plurality of the predetermined patterns are stored in each storage area of the storage means, the pattern authenticity determining step determines the authenticity of the predetermined pattern a plurality of times, and the sector erasing step includes the pattern authenticity The data update method for a nonvolatile memory according to (1) , wherein the sector is erased when all the determination results in the false determination step are true.
本発明によれば、パターン真偽判定工程は、記憶手段の各記憶領域に複数記憶された所定パターンの真偽をそれぞれ判定するとともに、その判定結果が全て真であるときにセクタを消去することとしたので、アプリケーションレベルでのプロテクト機能を重畳させることができ、ひいては意図しないデータ消去やデータ改竄をより確実に防止することができる。 According to the present invention, the pattern authenticity determination step determines whether or not each of the predetermined patterns stored in each storage area of the storage means is true, and erases the sector when all the determination results are true. Therefore, it is possible to superimpose a protection function at the application level, and more reliably prevent unintended data erasure and data tampering.
(3) 前記所定パターンが、前記記憶手段の各記憶領域に複数記憶される場合において、直前に記憶された所定パターンが正常に記憶されていないときには、前記所定パターンの代わりに予め定められた異常パターンが前記記憶手段の各記憶領域に複数記憶されることを特徴とする(2)記載の不揮発性メモリのデータ更新方法。 (3) In the case where a plurality of the predetermined patterns are stored in each storage area of the storage means, when the predetermined pattern stored immediately before is not normally stored, a predetermined abnormality instead of the predetermined pattern The data update method for a nonvolatile memory according to (2), wherein a plurality of patterns are stored in each storage area of the storage means.
本発明によれば、記憶手段の各記憶領域に所定パターンが順番に複数記憶される場合において、直前に記憶された所定パターンが正常に記憶されていないときには、所定パターンの代わりに予め定められた異常パターン(例えばゼロ)が記憶手段の各記憶領域に複数記憶されることとしたので、上位装置からのコマンドに基づき所定パターンを記憶手段の記憶する段階でも、誤ったパターンが記憶されていないか否かをチェックすることができ、ひいては不揮発性メモリのデータ更新方法についての信頼性をより向上させることができる。 According to the present invention, when a plurality of predetermined patterns are sequentially stored in each storage area of the storage means, when the predetermined pattern stored immediately before is not normally stored, a predetermined pattern is determined instead of the predetermined pattern. Since a plurality of abnormal patterns (for example, zero) are stored in each storage area of the storage unit, whether or not an incorrect pattern is stored even when the storage unit stores a predetermined pattern based on a command from the host device. It is possible to check whether or not, and as a result, the reliability of the data update method of the nonvolatile memory can be further improved.
(4) 前記所定パターンが、前記記憶手段の各記憶領域に複数記憶される場合において、所定時間内に前記所定パターンが全て記憶されなかったときには、前記所定パターンの代わりに予め定められた異常パターンが前記記憶手段の各記憶領域に複数記憶されることを特徴とする(2)又は(3)記載の不揮発性メモリのデータ更新方法。 (4) In the case where a plurality of the predetermined patterns are stored in each storage area of the storage means, when all of the predetermined patterns are not stored within a predetermined time, a predetermined abnormal pattern instead of the predetermined pattern Is stored in each storage area of the storage means, the data update method for a nonvolatile memory according to (2) or (3) .
本発明によれば、記憶手段の各記憶領域に所定パターンが順番に複数記憶される場合において、所定時間内に所定パターンが全て記憶されなかったときには、所定パターンの代わりに予め定められた異常パターン(例えばゼロ)が記憶手段の各記憶領域に複数記憶されることとしたので、上位装置からのコマンドに基づき所定パターンを記憶手段の記憶する段階でも、偶発的なプログラム暴走等に起因して、誤ったパターンが記憶されていないか否かをチェックすることができ、ひいては不揮発性メモリのデータ更新方法についての信頼性をより向上させることができる。 According to the present invention, when a plurality of predetermined patterns are stored in order in each storage area of the storage means, when all the predetermined patterns are not stored within a predetermined time, a predetermined abnormal pattern is used instead of the predetermined pattern. (E.g. zero) is stored in each storage area of the storage means, so even at the stage of storing the predetermined pattern based on the command from the host device, due to accidental program runaway, etc. It is possible to check whether or not an erroneous pattern is stored, and as a result, the reliability of the data update method of the nonvolatile memory can be further improved.
(5) (1)から(4)のいずれか記載の不揮発性メモリのデータ更新方法を実行する制御手段を備えた不揮発性メモリの制御装置。 (5) A non-volatile memory control device comprising control means for executing the non-volatile memory data update method according to any one of (1) to (4) .
本発明によれば、上述した不揮発性メモリのデータ更新方法を実行する制御手段を備えた不揮発性メモリの制御装置を用いることによって、如何なる機種や如何なる製造メーカの不揮発性メモリに対しても、意図しないデータ消去やデータ改竄を防止することができる。 According to the present invention, by using a non-volatile memory control device including a control means for executing the above-described non-volatile memory data update method, any model or any manufacturer's non-volatile memory can be used. Unnecessary data erasure and data tampering can be prevented.
(7) 下位装置に搭載されたCPUが、上位装置からのコマンドに基づき所定パターンを記憶する記憶手段を用いて、更新が必要なデータが属するセクタを消去するセクタ消去工程を実行する不揮発性メモリのデータ更新プログラムであって、前記セクタ消去工程は、複数のセクタ消去手順に分割されるとともに、前記複数のセクタ消去手順のうち少なくとも最後のセクタ消去手順の前に、前記CPUが前記所定パターンの真偽を判定するパターン真偽判定工程を含み、前記パターン真偽判定工程による判定結果が真であるとき、前記セクタを消去することを特徴とする不揮発性メモリのデータ更新プログラム。
(7) A non-volatile memory in which a CPU mounted in a lower apparatus executes a sector erasing process for erasing a sector to which data that needs to be updated belongs, using a storage unit that stores a predetermined pattern based on a command from the upper apparatus The sector erasing step is divided into a plurality of sector erasing procedures, and at least before the last sector erasing procedure among the plurality of sector erasing procedures, the CPU A non-volatile memory data update program comprising: a pattern authenticity determining step for determining authenticity; and erasing the sector when a determination result by the pattern authenticity determining step is true.
本発明によれば、複数のセクタ消去手順に分割されたセクタ消去工程を含む不揮発性メモリのデータ更新プログラムであって、そのセクタ消去手順の前後のうち少なくとも一に、上位装置からのコマンドに基づき記憶手段に記憶された所定パターンの真偽を判定するパターン真偽判定工程が含まれることとし、そのパターン真偽判定工程による判定結果が真であるときに、セクタが消去されるようにした不揮発性メモリのデータ更新プログラムを実行することによって、如何なる機種や如何なる製造メーカの不揮発性メモリに対しても、意図しないデータ消去やデータ改竄を防止することができる。 According to the present invention, there is provided a data update program for a non-volatile memory including a sector erase step divided into a plurality of sector erase procedures, based on a command from a host device at least one of before and after the sector erase procedure. A non-volatile memory that includes a pattern authenticity determination step for determining the authenticity of a predetermined pattern stored in the storage means, and that erases a sector when the determination result by the pattern authenticity determination step is true By executing the data update program of the volatile memory, it is possible to prevent unintended data erasure and data tampering with any model and any manufacturer's nonvolatile memory.
本発明に係る不揮発性メモリのデータ更新方法、制御装置、及び不揮発性メモリのデータ更新プログラムによれば、如何なる機種や如何なる製造メーカの不揮発性メモリに対しても、意図しないデータ消去やデータ改竄を防止しうる汎用性と、安価かつ簡易に実現しうる実用性とを兼ね備えた、アプリケーションレベルでのプロテクト機能を実現することができる。 According to the nonvolatile memory data update method, the control device, and the nonvolatile memory data update program according to the present invention, unintentional data erasure and data tampering can be performed on the nonvolatile memory of any model and any manufacturer. It is possible to realize a protection function at the application level, which has versatility that can be prevented and practicality that can be realized inexpensively and easily.
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。なお、以下では、不揮発性メモリの一例としてフラッシュROMを考え、このフラッシュROMがカードリーダに搭載された場合について説明する。 The best mode for carrying out the present invention will be described below with reference to the drawings. In the following, a flash ROM is considered as an example of a nonvolatile memory, and a case where this flash ROM is mounted on a card reader will be described.
[電気的構成]
図1は、本発明の実施の形態に係る不揮発性メモリのデータ更新方法を実行するシステムの電気的構成を示すブロック図である。
[Electrical configuration]
FIG. 1 is a block diagram showing an electrical configuration of a system that executes a data update method for a nonvolatile memory according to an embodiment of the present invention.
図1において、本発明の実施の形態に係る不揮発性メモリのデータ更新方法を実行するシステムは、フラッシュROM1,CPU2,RAM3,ROM4,I/Fポート5を有するカードリーダ10と、ATMなどのホストコンピュータ11と、から構成される。
Referring to FIG. 1, a system for executing a method for updating data in a nonvolatile memory according to an embodiment of the present invention includes a
ホストコンピュータ11は、I/Fポート5を介して、カードリーダ10に搭載されたCPU2と電気的に接続され、また、フラッシュROM1,ROM4,及びRAM3も、このCPU2と電気的に接続されている。CPU2は、フラッシュROM1に対して、従来の不揮発性メモリのデータ更新方法と同様、RAM3への退避,データ更新,セクタ消去,セクタ書き込みといった各工程の処理(図5参照)を実行しうる。
The
フラッシュROM1は、複数のメモリ領域(セクタ)から構成されており、上述したセクタ消去(図5でいうステップS103)の工程処理では、セクタ内の全データを一旦消去しなければならないことになっている。また、フラッシュROM1には、カードリーダ10としての動作や機能をコントロールする実行プログラムを書き換えたり、その実行プログラムが正常であるか否かを判定したりするスーパーバイザープログラム(BOOTプログラム)を格納するセクタ、バックアップデータを格納するセクタ、カードリーダ10で実際に実行される実行プログラムを格納するセクタなど、格納対象の異なるセクタが複数存在している。
The flash ROM 1 is composed of a plurality of memory areas (sectors). In the process of the sector erase (step S103 in FIG. 5) described above, all data in the sector must be erased once. Yes. The flash ROM 1 also stores a supervisor program (BOOT program) that rewrites an execution program for controlling the operation and functions of the
特に、BOOTプログラムに関しては、書き換え処理は不要であり、仮に、意図しない誤消去或いは誤書き込みが行われると、カードリーダ10の動作が不安定になる虞がある。このようなことから、本実施形態に係るカードリーダ10では、このBOOTプログラムの誤消去或いは誤書き込みをも防ぐものとなっている。以下、更新が必要なデータが属するセクタを消去するセクタ消去工程について詳しく説明する。
In particular, the BOOT program does not require rewrite processing. If an unintentional erroneous erasure or erroneous writing is performed, the operation of the
[セクタ消去工程]
図2は、本発明の実施の形態に係る不揮発性メモリのデータ更新方法のうち、セクタ消去工程の流れを示すフローチャートである。図2(a)に示すように、セクタ消去工程は、複数のセクタ消去手順(セクタ消去手順1,セクタ消去手順2,・・・)に分割されている。
[Sector erase process]
FIG. 2 is a flowchart showing the flow of the sector erasing process in the method for updating data in the nonvolatile memory according to the embodiment of the present invention. As shown in FIG. 2A, the sector erase process is divided into a plurality of sector erase procedures (sector erase procedure 1, sector erase
図2(a)において、まず、セクタ消去手順1が実行される(ステップS1)。より具体的には、カードリーダ10のCPU2は、ROM4に格納された関数ROMClear()を読み出して、この関数の処理のうち最初の手順に相当するセクタ消去手順1を実行する。
In FIG. 2A, first, sector erase procedure 1 is executed (step S1). More specifically, the
次いで、セクタ消去手順1が終了すると、CPU2は、パターン真偽判定工程の処理を実行する(ステップS2)。より具体的には、カードリーダ10のCPU2は、ROM4に格納された関数Actcheck()を読み出して、RAM3にアクセスし、ホストコンピュータ11からのコマンドに基づき記憶された所定パターン(例えば文字列,数字列,全く意味のないコード列など、如何なるものであってもよいが、予め定義されたものとする)に誤りがないか否かを判断する。誤りがない場合には、関数Actcheck()の戻り値として真が戻され、一箇所でも誤りがある場合には、関数Actcheck()の戻り値として偽が戻される。なお、このパターン真偽判定工程の詳細については、図3及び図4を用いて後述する。
Next, when the sector erasing procedure 1 is completed, the
次いで、CPU2は、ステップS2のパターン真偽判定工程の判定結果が真であるか否かを判断する(ステップS3)。より具体的には、CPU2は、上述のとおり、関数Actcheck()の戻り値として真が戻ってきたか、或いは偽が戻ってきたかを判断する。
Next, the
関数Actcheck()の戻り値として真が戻ってきた場合には、処理をステップS4に移す一方で、関数Actcheck()の戻り値として偽が戻ってきた場合には、異常状態であるとして処理を中断する。 If true is returned as the return value of the function Actcheck (), the process proceeds to step S4. On the other hand, if false is returned as the return value of the function Actcheck (), the process is assumed to be abnormal. Interrupt.
ステップS4では、セクタ消去手順2が実行される。より具体的には、CPU2は、ステップS1で読み出された関数ROMClear()の処理のうち2番目の手順に相当するセクタ消去手順2を実行する。
In step S4, sector erase
次いで、セクタ消去手順2が終了すると、CPU2は、再びパターン真偽判定工程の処理を実行する(ステップS5)。そして、上述同様、関数Actcheck()の戻り値が真か偽かを判断し(ステップS6)、真である場合には処理を次のステップに移し、偽である場合には異常状態であるとして処理を中断する。
Next, when the
以上説明したように、セクタ消去手順→パターン真偽判定工程→真偽判断という一連の処理が複数回繰り返され、最後に、CPU2によって消去完了か否かが判断される(ステップS7)。CPU2は、消去が未だ完了していないと判定した場合には、ステップS7の処理を繰り返す一方で、消去が完了したと判定した場合には、セクタ消去工程を終了する。
As described above, a series of processes of sector erasure procedure → pattern authenticity determination step → authentication determination is repeated a plurality of times, and finally, the
このように、本実施形態に係るフラッシュROM1のデータ更新方法では、複数のセクタ消去手順の中に、パターン真偽判定工程が適宜埋め込まれているので、意図しないデータ消去やデータ改竄が試みられた場合だけでなく、プログラム暴走などによってプログラムカウンタが偶然、関数ROMClear()のコード上にジャンプしてきた場合であっても、実際にデータ消去やデータ改竄が行われることはない。従って、フラッシュROM1のデータ更新を行う際の信頼性を向上させることができる。そして、上述したとおり、BOOTプログラムの誤消去或いは誤書き込みをも防ぐことができる。 As described above, in the data update method of the flash ROM 1 according to the present embodiment, since the pattern authenticity determination process is appropriately embedded in the plurality of sector erasing procedures, unintended data erasure and data tampering have been attempted. Even if the program counter accidentally jumps onto the code of the function ROMClear () due to program runaway or the like, data erasure or data tampering is not actually performed. Therefore, the reliability at the time of updating the data in the flash ROM 1 can be improved. As described above, erroneous erasure or erroneous writing of the BOOT program can be prevented.
なお、図2(a)は、各セクタ消去手順の直後にパターン真偽判定工程を実行するようにしており、プロテクト機能を重畳させているので、意図しないデータ消去をより確実に防ぐことが可能である。また、図2(a)では、セクタ消去工程を考えたが、セクタ書き込み工程についても同様のことがいえる。すなわち、セクタ書き込み工程は、複数のセクタ書き込み手順に分割されており、ROM4に格納された関数ROMWrite()が読み出されることによって、各セクタ書き込み手順の直後にパターン真偽判定工程が実行される。このようにして、意図しないデータの書き込みをより確実に防ぐことができる。
In FIG. 2A, the pattern authenticity determination step is executed immediately after each sector erasing procedure, and the protection function is superimposed, so that unintended data erasure can be prevented more reliably. It is. In FIG. 2A, the sector erasing process is considered, but the same can be said for the sector writing process. In other words, the sector writing process is divided into a plurality of sector writing procedures, and the function ROMWrite () stored in the
一方で、図2(b)では、セクタ消去工程において、まず、複数のセクタ消去手順(ステップS11、ステップS12、ステップS13、・・・)までが実行され、その後、パターン真偽判定工程が実行される(ステップS14)。そして、実際に消去を実行するセクタ消去手順Fが実行された後、消去完了か否かが判断されている(ステップS16)。このように、パターン真偽判定工程は、最後のセクタ消去手順Fの前に1回だけ実行することも可能である。これにより、必要最小限の処理負荷で、アプリケーションレベルでのプロテクト機能を実現することができる。 On the other hand, in FIG. 2B, in the sector erasing step, first, a plurality of sector erasing procedures (step S11, step S12, step S13,...) Are executed, and then the pattern authenticity determining step is executed. (Step S14). Then, after the sector erase procedure F for actually executing the erase is executed, it is determined whether or not the erase is completed (step S16). As described above, the pattern authenticity determination step can be executed only once before the last sector erase procedure F. As a result, a protection function at the application level can be realized with a minimum processing load.
次に、図2を用いて説明したパターン真偽判定工程、及び、そのパターン真偽判定工程の前提工程となるパターン記憶工程について、以下詳しく説明する。 Next, the pattern authenticity determination process described with reference to FIG. 2 and the pattern storage process that is a prerequisite process of the pattern authenticity determination process will be described in detail below.
図3は、パターン真偽判定工程の前提工程となるパターン記憶工程の流れを示すフローチャートである。特に、複数の所定パターンが順番にRAM3に記憶される際、直前に記憶された所定パターンが正常に記憶されているか否かを逐一判断することを特徴とするフローチャートである。
FIG. 3 is a flowchart showing the flow of the pattern storage process which is a precondition for the pattern authenticity determination process. In particular, when a plurality of predetermined patterns are stored in the
図3において、まず、CPU2は、ホストコンピュータからのコマンドを受信すると、このコマンドに基づき、ROM4から独立した関数SetArea_0()を読み出して、予め決められた所定パターンをRAM3に記憶する。そして、CPU2は、ホストコンピュータから次のコマンドを受信すると、このコマンドに基づき、ROM4から独立した関数SetArea_1()を読み出して、予め決められた所定パターンをRAM3に記憶する。
In FIG. 3, first, when receiving a command from the host computer, the
但し、2個目以降、所定パターンをRAM3に記憶する際には、直前に記憶されたパターンは正常であるか否か、すなわち直前に記憶された所定パターンに誤りがないか否かがCPU2によって判断される(ステップS21)。
However, when the second and subsequent patterns are stored in the
CPU2は、正常であると判定した場合には、その所定パターンをRAM3に記憶した上で(ステップS22)、本サブルーチンを終了する。一方で、正常でないと判定した場合には、その所定パターンをRAM3に記憶することはせず、直前まで記録されたRAM3上の所定パターン全てをゼロクリアした上で(ステップS23)、本サブルーチンを終了する。なお、「ゼロクリア」は、ゼロが書き込まれるようにしてもよいが、他の決められた値(例えば「1」)が書き込まれるようにしてもよい。
If the
このように、図3に示すパターン記憶工程によれば、ホストコンピュータ11からのコマンドに基づき所定パターンをRAM3に記憶する段階でも、誤ったパターンが記憶されていないかチェックしているので、結果として、フラッシュROM1のデータ更新方法についての信頼性をより向上させることができる。なお、関数SetArea_0()〜関数SetArea_n()が決められた順番で実行されない限り、関数Actcheck()の戻り値が真になることはない。
As described above, according to the pattern storing step shown in FIG. 3, even if the predetermined pattern is stored in the
なお、CPU2は、ROM4から独立した関数SetArea_0()を読み出すと同時に、タイマ機能を作動させ(例えば変数AreaTimerにタイマ値をセットし)、最後の所定パターンを記憶するための関数SetArea_n()を読み出すまでの間に、所定時間が経過したことを判断すると(例えば変数AreaTimerがゼロになったことを判断すると)、全てのエリアをゼロクリアとするようにしてもよい。これにより、一連の処理が変数AreaTimerにセットされる時間内に完結しなければならないので、時間以内の処理完結が条件に加わることとなり、プロテクト機能を更に厳重化することができる。
The
図4は、図2に示すセクタ消去工程内で実行されるパターン真偽判定工程の流れを示すフローチャートである。なお、このパターン真偽判定工程が行われる前提工程として、図3に示すパターン記憶工程が終了しているものとする。 FIG. 4 is a flowchart showing the flow of the pattern authenticity determination process executed in the sector erasing process shown in FIG. It is assumed that the pattern storage process shown in FIG. 3 has been completed as a prerequisite process for performing this pattern authenticity determination process.
図4において、まず、CPU2は、ROM4に格納された関数Actcheck()を読み出して、RAM3のエリア0にアクセスし、所定パターンに誤りがないか否かを判断する(ステップS31)。誤りがなく正常であると判定した場合には、次にRAM3のエリア1にアクセスして、所定パターンに誤りがないか否かを判断する(ステップS32)。以下同様にして、RAM3のエリアnまでアクセスして、所定パターンに誤りがないか否かを判断する(ステップS34)。そして、エリア0〜エリアnまでの全てのエリアについて、所定パターンに誤りがないと判定した場合には、関数Actcheck()の戻り値として真を戻す。一方で、エリア0〜エリアnまでのいずれかのエリアについて、1つでも所定パターンに誤りがあると判定した場合には、エリア0〜エリアnまでをゼロクリアした上で(ステップS35)、関数Actcheck()の戻り値として偽を戻す。
In FIG. 4, first, the
以上説明したように、パターン記憶工程(図3参照)、パターン真偽判定工程(図4参照)、セクタ消去工程(図2参照)の各工程を含むフラッシュROM1のデータ更新方法は、如何なる機種や如何なる製造メーカの不揮発性メモリに対しても、意図しないデータ消去やデータ改竄を防止しうる汎用性と、安価かつ簡易に実現しうる実用性とを兼ね備えたものとなる。 As described above, the flash ROM 1 data update method including the pattern storage process (see FIG. 3), the pattern authenticity determination process (see FIG. 4), and the sector erase process (see FIG. 2) can be performed by any model. Any manufacturer's non-volatile memory has both versatility to prevent unintended data erasure and data tampering, and practicality that can be realized inexpensively and easily.
なお、上述したスーパーバイザープログラムは、それ自身は通常動作せずともメインのプログラムが何らかの事情により誤消去・誤書き込みされた場合には、それなりの復旧動作を司らなければならない。そのため、誤った操作による消去や書き込みはなされないのが前提となる。ただし、最悪の場合は、それらのプログラムを書き換えなくてはならない程のバグや仕様変更が発生した場合には、何らかの手段を残しておかなくては回収・アップデートができないことになる。 It should be noted that the above-described supervisor program does not normally operate itself but must manage a proper recovery operation if the main program is erroneously erased or erroneously written for some reason. Therefore, it is assumed that no erasure or writing is performed by an erroneous operation. However, in the worst case, if a bug or specification change that requires rewriting these programs occurs, it will not be possible to collect and update without leaving some means.
同様にして、例えば個体を識別するためのシリアル番号や製造時の履行データなどは、通常は一度書き込まれたら上書きや消去は不可能となっているのが原則である。しかし、全く書き換えや初期化ができないとなると、メンテナンスをすることができない。 Similarly, for example, a serial number for identifying an individual or fulfillment data at the time of manufacture is generally incapable of being overwritten or erased once written. However, if rewriting or initialization cannot be performed at all, maintenance cannot be performed.
このように、通常では、初期化・消去・上書きといったような処理は行うことができないようにするため、単純なコマンドや操作では実行を抑止し、場合によっては実行抑止を解除しうる仕組みが必要である。そこで、本実施形態に係る不揮発性メモリのデータ更新方法を用いれば、単純なコマンドや操作では実行を抑止することができる一方、アプリケーションレベルの様々な関数よりなる制御プログラムによって実行抑止を解除することができるので、不揮発性メモリがディスコンや欠品などの理由により、他メーカの代用品或いは代用機種に代えた場合であっても、プログラム変更をすることなく、プロテクト機能の利益を継続して受けることができる。 In this way, in order to prevent normal processing such as initialization, deletion, and overwriting, it is necessary to have a mechanism that can suppress execution with simple commands and operations, and in some cases can cancel execution suppression. It is. Therefore, if the data update method of the nonvolatile memory according to the present embodiment is used, execution can be suppressed by a simple command or operation, while execution suppression is canceled by a control program composed of various functions at the application level. Therefore, even if the non-volatile memory is replaced with a substitute or substitute model of another manufacturer for reasons such as a discon or missing item, the benefit of the protect function can be continuously received without changing the program. be able to.
本発明に係る不揮発性メモリのデータ更新方法、制御装置、及びデータ更新プログラムは、如何なる機種や如何なる製造メーカの不揮発性メモリに対しても、意図しないデータ消去やデータ改竄を防止しうるものとして有用である。 The nonvolatile memory data update method, control device, and data update program according to the present invention are useful for preventing unintentional data erasure and data tampering with any model and any manufacturer's nonvolatile memory. It is.
1 フラッシュROM
2 CPU
3 RAM
4 ROM
5 I/Fポート
10 カードリーダ
11 ホストコンピュータ
1 Flash ROM
2 CPU
3 RAM
4 ROM
5 I /
Claims (6)
前記セクタ消去工程は、
複数のセクタ消去手順に分割されるとともに、前記複数のセクタ消去手順のうち少なくとも最後のセクタ消去手順の前に、前記CPUが前記所定パターンの真偽を判定するパターン真偽判定工程を含み、
前記パターン真偽判定工程による判定結果が真であるとき、前記セクタを消去することを特徴とする不揮発性メモリのデータ更新方法。 Non-volatile memory data updating method including a sector erasing process in which a CPU mounted in a lower-level device uses a storage unit that stores a predetermined pattern based on a command from the higher-level device to erase a sector to which data that needs to be updated belongs Because
The sector erasing step includes
A pattern authenticity determining step in which the CPU determines whether the predetermined pattern is true or not before at least the last sector erasing procedure among the plurality of sector erasing procedures .
A method of updating data in a nonvolatile memory, wherein the sector is erased when a determination result by the pattern authenticity determination step is true.
前記パターン真偽判定工程は、前記所定パターンの真偽を複数回判定するとともに、
前記セクタ消去工程は、前記パターン真偽判定工程による判定結果が全て真であるとき、前記セクタを消去することを特徴とする請求項1記載の不揮発性メモリのデータ更新方法。 A plurality of the predetermined patterns are stored in each storage area of the storage means,
The pattern authenticity determination step determines the authenticity of the predetermined pattern a plurality of times,
The sector erase process, the time pattern authenticity determination process by the determination result are all true, non-volatile data updating method of a memory according to claim 1, characterized by erasing the sector.
直前に記憶された所定パターンが正常に記憶されていないときには、前記所定パターンの代わりに予め定められた異常パターンが前記記憶手段の各記憶領域に複数記憶されることを特徴とする請求項2記載の不揮発性メモリのデータ更新方法。 When a plurality of the predetermined patterns are stored in each storage area of the storage means,
3. The storage device according to claim 2 , wherein when a predetermined pattern stored immediately before is not normally stored, a plurality of predetermined abnormal patterns are stored in each storage area of the storage means instead of the predetermined pattern. Data update method for non-volatile memory.
所定時間内に前記所定パターンが全て記憶されなかったときには、前記所定パターンの代わりに予め定められた異常パターンが前記記憶手段の各記憶領域に複数記憶されることを特徴とする請求項2又は3記載の不揮発性メモリのデータ更新方法。 When a plurality of the predetermined patterns are stored in each storage area of the storage means,
Wherein when a predetermined pattern has not been stored all within a predetermined time, according to claim 2 or 3 predetermined abnormal pattern in place of the predetermined pattern is characterized in that it is more stored in each storage area of said storage means The data update method of the non-volatile memory as described.
前記セクタ消去工程は、
複数のセクタ消去手順に分割されるとともに、前記複数のセクタ消去手順のうち少なくとも最後のセクタ消去手順の前に、前記CPUが前記所定パターンの真偽を判定するパターン真偽判定工程を含み、
前記パターン真偽判定工程による判定結果が真であるとき、前記セクタを消去することを特徴とする不揮発性メモリのデータ更新プログラム。 Data update in a non-volatile memory in which a CPU mounted in a lower-level device executes a sector erasure process for erasing a sector to which data that needs to be updated belongs, using a storage unit that stores a predetermined pattern based on a command from the higher-level device A program,
The sector erasing step includes
A pattern authenticity determining step in which the CPU determines whether the predetermined pattern is true or not before at least the last sector erasing procedure among the plurality of sector erasing procedures .
A data update program for a non-volatile memory, wherein the sector is erased when a determination result by the pattern authenticity determination step is true.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005194716A JP4734582B2 (en) | 2005-07-04 | 2005-07-04 | Non-volatile memory data update method, control device, and data update program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005194716A JP4734582B2 (en) | 2005-07-04 | 2005-07-04 | Non-volatile memory data update method, control device, and data update program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007011929A JP2007011929A (en) | 2007-01-18 |
JP4734582B2 true JP4734582B2 (en) | 2011-07-27 |
Family
ID=37750288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005194716A Expired - Fee Related JP4734582B2 (en) | 2005-07-04 | 2005-07-04 | Non-volatile memory data update method, control device, and data update program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4734582B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4849078B2 (en) * | 2008-02-05 | 2011-12-28 | 富士電機株式会社 | Programmable logic controller and programmable logic controller logic update support tool |
JP5317689B2 (en) | 2008-12-27 | 2013-10-16 | 株式会社東芝 | Memory system |
WO2011099963A1 (en) * | 2010-02-10 | 2011-08-18 | Hewlett-Packard Development Company, L.P. | Identifying a location containing invalid data in a storage media |
WO2017176256A1 (en) | 2016-04-05 | 2017-10-12 | Hewlett Packard Enterprise Development Lp | Unmap to initialize sectors |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05289943A (en) * | 1992-04-13 | 1993-11-05 | Mitsubishi Electric Corp | Method for preventing miserasing of electrically erasable nonvolatile memory |
JPH11232175A (en) * | 1998-02-12 | 1999-08-27 | Sanyo Electric Co Ltd | Microcomputer |
JP2001136161A (en) * | 1999-08-20 | 2001-05-18 | Matsushita Electric Ind Co Ltd | Data reproduction device, digital contents reproduction device, reproduction system, information imbedding device and imbedded information detector |
JP2001134718A (en) * | 1999-11-02 | 2001-05-18 | Toshiba Corp | Toll collection system, on-vehicle equipment, ic card write discriminating method and recovering method in case of ic card write abnormality |
JP2001357680A (en) * | 2000-06-15 | 2001-12-26 | Oki Electric Ind Co Ltd | Method for erasing data of non-volatile semiconductor storage device |
JP2003141481A (en) * | 2001-11-01 | 2003-05-16 | Mitsubishi Electric Corp | Removable storage card with security function and method of authenticating the storage card |
JP2003187194A (en) * | 2001-12-20 | 2003-07-04 | Hitachi Ltd | Terminal equipment, personal information processor and expiration information file generator |
JP2003317387A (en) * | 2002-04-16 | 2003-11-07 | Matsushita Electric Ind Co Ltd | Information recording apparatus and method for recording information onto recording medium |
JP2004192529A (en) * | 2002-12-13 | 2004-07-08 | Sharp Corp | Information processor and computer software |
-
2005
- 2005-07-04 JP JP2005194716A patent/JP4734582B2/en not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05289943A (en) * | 1992-04-13 | 1993-11-05 | Mitsubishi Electric Corp | Method for preventing miserasing of electrically erasable nonvolatile memory |
JPH11232175A (en) * | 1998-02-12 | 1999-08-27 | Sanyo Electric Co Ltd | Microcomputer |
JP2001136161A (en) * | 1999-08-20 | 2001-05-18 | Matsushita Electric Ind Co Ltd | Data reproduction device, digital contents reproduction device, reproduction system, information imbedding device and imbedded information detector |
JP2001134718A (en) * | 1999-11-02 | 2001-05-18 | Toshiba Corp | Toll collection system, on-vehicle equipment, ic card write discriminating method and recovering method in case of ic card write abnormality |
JP2001357680A (en) * | 2000-06-15 | 2001-12-26 | Oki Electric Ind Co Ltd | Method for erasing data of non-volatile semiconductor storage device |
JP2003141481A (en) * | 2001-11-01 | 2003-05-16 | Mitsubishi Electric Corp | Removable storage card with security function and method of authenticating the storage card |
JP2003187194A (en) * | 2001-12-20 | 2003-07-04 | Hitachi Ltd | Terminal equipment, personal information processor and expiration information file generator |
JP2003317387A (en) * | 2002-04-16 | 2003-11-07 | Matsushita Electric Ind Co Ltd | Information recording apparatus and method for recording information onto recording medium |
JP2004192529A (en) * | 2002-12-13 | 2004-07-08 | Sharp Corp | Information processor and computer software |
Also Published As
Publication number | Publication date |
---|---|
JP2007011929A (en) | 2007-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2638466B1 (en) | Software updating process for an embedded device | |
JP2002351685A (en) | Data updating method and controller for nonvolatile memory | |
RU2220443C2 (en) | Method for checking execution of computer programs in compliance with their application | |
US7421534B2 (en) | Data protection for non-volatile semiconductor memory using block protection flags | |
US7478207B2 (en) | Control system with a write filter for protection of data | |
KR20010070416A (en) | Computer | |
JP4734582B2 (en) | Non-volatile memory data update method, control device, and data update program | |
JP4880105B2 (en) | Memory function protection method for control device and control device | |
US20080162837A1 (en) | Nonvolatile Memory System | |
CN111090541B (en) | Data anti-lost method and device of controller, driving computer equipment and storage medium | |
JP5332845B2 (en) | IC chip and data protection method, etc. | |
JP4675980B2 (en) | Fraud prevention method | |
US7353348B2 (en) | Nonvolatile memory and card reader provided with the same | |
JP4266742B2 (en) | ELECTRONIC DEVICE WITH FLASH MEMORY, MEMORY DATA MANAGEMENT METHOD, AND PROGRAM | |
JP4031693B2 (en) | Nonvolatile memory and data storage device having the same | |
US11137937B2 (en) | Information processing device and control method determining valid data in multiple memory areas based on multiple valid flags | |
JP2002259152A (en) | Flash memory rewriting method | |
JPH07168769A (en) | Data updating method for nonvolatile memory | |
EP1975787B1 (en) | A method, a computer program, a computer readable medium, and a computer | |
JP3730684B2 (en) | Display device for programmable controller and display information writing method thereof | |
JP2013125296A (en) | Semiconductor device and method of detecting memory rewrite in semiconductor device | |
JP2009301479A (en) | Microcomputer | |
JPH03142655A (en) | Decentralized processor device | |
JP2006133982A (en) | Microcomputer and method for protecting data of nonvolatile memory in microcomputer | |
JP2003167609A (en) | Programmable controller, user program update method therefor, recording medium, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071026 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100622 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100820 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20100820 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101019 |
|
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: 20110316 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110401 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4734582 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: 20140513 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |