JP2018013837A - Data rewriting device and data rewriting program - Google Patents
Data rewriting device and data rewriting program Download PDFInfo
- Publication number
- JP2018013837A JP2018013837A JP2016141344A JP2016141344A JP2018013837A JP 2018013837 A JP2018013837 A JP 2018013837A JP 2016141344 A JP2016141344 A JP 2016141344A JP 2016141344 A JP2016141344 A JP 2016141344A JP 2018013837 A JP2018013837 A JP 2018013837A
- Authority
- JP
- Japan
- Prior art keywords
- data
- rewriting
- storage unit
- information
- unit
- 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
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
- G11C16/105—Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Retry When Errors Occur (AREA)
Abstract
Description
本発明は、データ書き換え装置およびデータ書き換えプログラムに関する。 The present invention relates to a data rewriting device and a data rewriting program.
従来より、メモリに書き込まれているデータを書き換える装置が考えられている。例えば特許文献1には、メモリに格納されるアプリケーションプログラムの書き換えに失敗したときに、通信プログラムを自動的に切り換えて再書き換えを行う技術が開示されている。特許文献2には、フラッシュメモリへのデータ書き込み中において瞬時停電などの影響により書き込み不良が発生した場合に、フラッシュメモリのデータを読み出す際に、データが正しく書き込まれているか否かを確認する技術が開示されている。特許文献3には、第1の不揮発性メモリの更新途中に障害が発生した場合に、第2の不揮発性メモリによりプログラムの再更新を行う技術が開示されている。
Conventionally, an apparatus for rewriting data written in a memory has been considered. For example,
メモリに書き込まれているデータを全て書き換える場合の処理は、次のように行われる。即ち、まず、メモリに書き込まれているデータを全て消去する。このとき、全てのデータを消去することに伴い、前回のデータ書き換え処理の完了時にメモリに格納されたフラッシュステータス情報およびスタンプ情報も消去される。そして、フラッシュステータス情報およびスタンプ情報が消去された状態で、今回のデータ書き換え処理が開始される。そして、データ書き換え処理が完了するとフラッシュステータス情報およびスタンプ情報の書き込みが行われる。これにより、データ書き換え処理が完了する。 Processing for rewriting all data written in the memory is performed as follows. That is, first, all data written in the memory is erased. At this time, along with erasing all data, the flash status information and stamp information stored in the memory when the previous data rewriting process is completed are also erased. Then, the current data rewriting process is started with the flash status information and the stamp information erased. When the data rewriting process is completed, the flash status information and the stamp information are written. Thereby, the data rewriting process is completed.
フラッシュステータス情報は、データ書き換え処理が完了したときにメモリに書き込まれる情報である。即ち、フラッシュステータス情報が書き込まれていれば、データの書き換え処理が完了した状態であることを示し、書き込まれていなければ、データの書き換え処理が完了していない状態であることを示す。スタンプ情報は、書き込まれたデータに誤りが含まれていないことが確認されたときにメモリに書き込まれる情報である。即ち、スタンプ情報が書き込まれていれば、データに誤りが含まれていない状態であることを示し、書き込まれていなければ、データに誤りが含まれている状態であることを示す。 The flash status information is information written to the memory when the data rewriting process is completed. That is, if the flash status information is written, it indicates that the data rewriting process is completed, and if not written, it indicates that the data rewriting process is not completed. The stamp information is information that is written to the memory when it is confirmed that the written data does not contain an error. That is, if the stamp information is written, it indicates that the data does not contain an error, and if not written, it indicates that the data contains an error.
メモリに書き込まれているデータを全て書き換える場合であれば、全てのデータを消去することに伴いフラッシュステータス情報およびスタンプ情報も消去することができる。そのため、フラッシュステータス情報およびスタンプ情報が消去された状態でデータの書き換え処理を行うことができる。よって、例えば書き換え処理の途中において当該処理が中断した場合には、フラッシュステータス情報およびスタンプ情報が消去された状態となっているため、データの書き換えが不完全な状態であることを認識することができ、当該データが使用されてしまうことを回避することができる。 If all the data written in the memory is to be rewritten, the flash status information and the stamp information can be erased along with erasing all the data. Therefore, data rewrite processing can be performed in a state where the flash status information and stamp information are erased. Therefore, for example, when the process is interrupted in the middle of the rewriting process, the flash status information and the stamp information are in an erased state, so that it is possible to recognize that the data rewriting is in an incomplete state. It is possible to avoid using the data.
しかし、メモリに書き込まれているデータのうち差分が生じたデータを書き換える差分書き換え処理においては、メモリに書き込まれている全てのデータが消去されないことから、フラッシュステータス情報およびスタンプ情報が消去されない場合が生じる。そのため、例えば差分書き換え処理の途中において当該処理が中断した場合、差分データの書き換え処理が完了していないにも関わらず、フラッシュステータス情報およびスタンプ情報が書き込まれたままとなる状況が発生し得る。この場合、データの書き換えが完了し且つデータに誤りが含まれていないと認識されるため、データの書き換えが不完全であるにも関わらず、当該データが使用されてしまうおそれがある。 However, in the differential rewriting process that rewrites data that has a difference among the data written in the memory, all the data written in the memory is not erased, so the flash status information and the stamp information may not be erased. Arise. Therefore, for example, when the process is interrupted in the middle of the differential rewriting process, a situation may occur in which the flash status information and the stamp information remain written even though the differential data rewriting process has not been completed. In this case, since rewriting of data is completed and it is recognized that the data does not contain an error, the data may be used even though the rewriting of data is incomplete.
そのため、特に差分書き換え処理を行う場合には、データの書き換え処理が開始される前に、フラッシュステータス情報およびスタンプ情報の双方を確実に消去することが求められる。特に、書き換え対象であるアプリケーションプログラムのデータ量が大きい場合、フラッシュステータス情報やスタンプ情報を格納するメモリ領域が限られている場合などにおいては、アプリケーションプログラムが格納されるメモリ領域を極力圧迫しないようにしつつ、フラッシュステータス情報およびスタンプ情報の双方を確実に消去することが求められる。 Therefore, in particular, when performing the differential rewriting process, it is required to securely erase both the flash status information and the stamp information before the data rewriting process is started. In particular, when the amount of data in the application program to be rewritten is large, or when the memory area for storing flash status information or stamp information is limited, the memory area in which the application program is stored should not be compressed as much as possible. However, it is required to securely erase both the flash status information and the stamp information.
そこで、本発明は、データの書き換え処理が開始される前に、データの書き換え処理が完了した状態であることを示す情報、および、書き込まれたデータに誤りが含まれていないことを示す情報を確実に消去できるようにしたデータ書き換え装置およびデータ書き換えプログラムを提供する。 Therefore, the present invention provides information indicating that the data rewriting process is completed before the data rewriting process is started, and information indicating that the written data does not include an error. Provided are a data rewriting device and a data rewriting program which can be surely erased.
本発明に係るデータ書き換え装置は、書き換え部(11)、第1書き込み部(12)、第2書き込み部(13)、消去部(14)を備える。書き換え部は、メモリ(100)に書き込まれているデータのうち差分が生じたデータを書き換える。第1書き込み部は、書き換え部によるデータの書き換え処理が完了すると、所定の第1情報を第1格納部(21)に書き込む。第2書き込み部は、書き換え部により書き込まれたデータに誤りが含まれていないことを確認すると、所定の第2情報を第2格納部(22)に書き込む。消去部は、書き換え部によるデータの書き換え処理が開始される前に、第1情報を格納している第1格納部および第2情報を格納している第2格納部を消去する。 The data rewriting apparatus according to the present invention includes a rewriting unit (11), a first writing unit (12), a second writing unit (13), and an erasing unit (14). The rewriting unit rewrites data in which a difference has occurred among data written in the memory (100). The first writing unit writes predetermined first information in the first storage unit (21) when the data rewriting process by the rewriting unit is completed. When the second writing unit confirms that the data written by the rewriting unit contains no error, the second writing unit writes predetermined second information in the second storage unit (22). The erasing unit erases the first storage unit storing the first information and the second storage unit storing the second information before the data rewriting process by the rewriting unit is started.
本発明に係るデータ書き換えプログラムは、書き換え処理、第1書き込み処理、第2書き込み処理、消去処理をデータ書き換え装置に実行させる。書き換え処理は、メモリ(100)に書き込まれているデータのうち差分が生じたデータを書き換える。第1書き込み処理は、書き換え処理が完了すると、所定の第1情報を第1格納部(21)に書き込む。第2書き込み処理は、書き換え処理により書き込まれたデータに誤りが含まれていないことを確認すると、所定の第2情報を第2格納部(22)に書き込む。消去処理は、書き換え処理が開始される前に、第1情報を格納している第1格納部および第2情報を格納している第2格納部を消去する。 A data rewriting program according to the present invention causes a data rewriting device to execute a rewriting process, a first writing process, a second writing process, and an erasing process. The rewriting process rewrites data in which a difference occurs among data written in the memory (100). In the first writing process, when the rewriting process is completed, predetermined first information is written into the first storage unit (21). In the second writing process, when it is confirmed that the data written by the rewriting process does not include an error, predetermined second information is written in the second storage unit (22). The erasing process erases the first storage unit storing the first information and the second storage unit storing the second information before the rewriting process is started.
本発明によれば、前回のデータ書き換え処理の完了時に書き込まれた第1情報、つまり、データの書き換え処理が完了した状態であることを示す情報を、今回のデータの書き換え処理が開始される前に確実に消去することができる。また、本発明によれば、前回のデータ書き換え処理の完了時に書き込まれた第2情報、つまり、書き込まれたデータに誤りが含まれていないことを示す情報を、今回のデータの書き換え処理が開始される前に確実に消去することができる。 According to the present invention, the first information written when the previous data rewriting process is completed, that is, the information indicating that the data rewriting process is completed is displayed before the current data rewriting process is started. Can be erased reliably. In addition, according to the present invention, the current data rewriting process is started with the second information written when the previous data rewriting process is completed, that is, information indicating that the written data does not contain an error. It can be securely erased before being done.
以下、データ書き換え装置に係る複数の実施形態について図面を参照しながら説明する。なお、各実施形態において実質的に同一の要素には同一の符号を付し、説明を省略する。 Hereinafter, a plurality of embodiments according to a data rewriting device will be described with reference to the drawings. In each embodiment, substantially the same elements are denoted by the same reference numerals, and description thereof is omitted.
(データ書き換え装置の前提構成)
図1に例示するデータ書き換え装置10は、メモリ100に書き込まれているデータを書き換える装置である。この場合、データ書き換え装置10は、メモリ100に書き込まれているデータのうち差分が生じたデータを書き換える、いわゆる差分書き換え処理が可能である。メモリ100は、少なくとも、書き換えソフト格納部101、データ格納部102、退避部103の3つの領域を備える。
(Prerequisite configuration of data rewrite device)
A
書き換えソフト格納部101には、データ書き換え装置10にデータ書き換え処理を実行させるためのデータ書き換えソフトウェアが格納されている。データ書き換えソフトウェアは、データ書き換えプログラムの一例である。データ格納部102には、例えばユーザが使用するソフトウェアなどを構成するデータが格納されている。データ格納部102は、複数のブロック領域で構成されている。データ書き換え装置10は、データ格納部102に格納されているデータをブロック単位で書き換え可能となっている。退避部103は、データ書き換え装置10がデータ格納部102に格納されているデータを書き換える場合、特に差分のみを書き換える場合に、書き換え対象となるデータのうち差分が生じていない部分のデータを一時的に退避させるための領域である。
The rewriting
データ書き換え装置10は、1ブロック分の退避部103が退避データにより満たされるまで、データを退避させることが可能である。そして、データ書き換え装置10は、退避部103が退避データにより満たされた後に、データの書き換え処理、より具体的には、後述する新データの生成および書き込みを実行することが可能である。
The
データ書き換え装置10は、書き換えソフト格納部101から読み出したデータ書き換えソフトウェアを実行することにより、書き換え部11、第1書き込み部12、第2書き込み部13、消去部14を仮想的に実現する。なお、これらの処理部11〜14は、ハードウェアにより実現してもよいし、ソフトウェアとハードウェアの組み合わせにより実現してもよい。
The
書き換え部11は、データ格納部102に格納されているデータを書き換える書き換え処理を実行する。この場合、書き換え部11は、データ格納部102に格納されているデータのうち差分が生じたデータを書き換える差分書き換え処理を実行することが可能である。
The rewriting
第1書き込み部12は、書き換え部11によるデータの書き換え処理が完了すると、フラッシュステータス情報を、後述する第1格納部21に書き込む。フラッシュステータス情報は、第1情報の一例である。フラッシュステータス情報が第1格納部21に書き込まれていれば、データの書き換え処理が完了した状態であることを示す。また、フラッシュステータス情報が第1格納部21に書き込まれていなければ、データの書き換え処理が完了していない状態であることを示す。
When the data rewriting process by the rewriting
第2書き込み部13は、書き換え部11によるデータの書き換え処理が完了すると、当該書き換え部11により書き込まれたデータに誤りが含まれていないか否かを確認する。そして、第2書き込み部13は、書き換え部11により書き込まれたデータに誤りが含まれていないことを確認すると、スタンプ情報を、後述する第2格納部22に書き込む。スタンプ情報は、第2情報の一例である。スタンプ情報が第2格納部22に書き込まれていれば、書き換え部11により書き込まれたデータに誤りが含まれていないことを示す。また、スタンプ情報が第2格納部22に書き込まれていなければ、書き換え部11により書き込まれたデータに誤りが含まれていることを示す。なお、書き込まれたデータに誤りが含まれていないか否かを確認する手法としては、例えば周知のCRC方式など、種々のチェック方式を採用することができる。
When the data rewriting process by the rewriting
消去部14は、書き換え部11によるデータの書き換え処理が開始される前に、フラッシュステータス情報を格納している第1格納部21およびスタンプ情報を格納している第2格納部22をブロック単位で消去する。即ち、消去部14は、前回のデータ書き換え処理の完了時にメモリ100に書き込まれたフラッシュステータス情報およびスタンプ情報の双方を、今回のデータ書き換え処理が開始される前に確実に消去するものである。なお、データ書き換え装置10の仕様によっては、消去部14は、第1格納部21に格納されているフラッシュステータス情報および第2格納部22に格納されているスタンプ情報を指定して、これらの情報をピンポイントで消去することも可能である。
Before the data rewriting process by the rewriting
次に、データ書き換え装置10によるデータ書き換え処理の動作例について説明する。図2に例示するように、データ書き換え装置10は、差分が生じたデータを書き換える場合には、まず書き換え対象となるデータが格納されているブロック領域を特定する(S1)。そして、データ書き換え装置10は、特定したブロック領域に格納されているデータのうち差分が生じていない部分のデータを退避部103に退避させる(S2)。そして、データ書き換え装置10は、特定したブロック領域に格納されているデータを全て消去する(S3)。そして、データ書き換え装置10は、新たに生じた差分データと退避部103に退避させたデータとを結合することにより、差分が反映された新データを生成する(S4)。そして、データ書き換え装置10は、ステップS1において特定したブロック領域に新データを格納する(S5)。これにより、データ書き換え装置10は、差分が生じた旧データを、差分を反映した新データにより書き換える。
Next, an operation example of data rewriting processing by the
データ書き換え装置10は、差分が生じた全てのブロック領域についてステップA1〜A5の処理を繰り返し実行する(S6:NO)。そして、データ書き換え装置10は、差分が生じた全てのブロック領域のデータを書き換えると(S6:YES)、第1格納部21にフラッシュステータス情報を格納する(S7)。そして、データ書き換え装置10は、書き換え後のデータに誤りが含まれていないか否かを確認する(S8)。データ書き換え装置10は、書き換え後のデータに誤りが含まれていないことを確認すると(S8:NO)、第2格納部22にスタンプ情報を格納して(S9)、この処理を終了する。
The
なお、データ書き換え装置10は、書き換え後のデータに誤りが含まれている場合(S8:YES)には、所定の誤り対応処理を実行する(S10)。誤り対応処理としては、例えば、データの書き換え処理をやり直す処理、データの書き換え処理を失敗している旨を表示や音声により報知する処理、データの使用を禁止する処理、など種々の処理が考えられる。
The
以上の前提構成を備えるデータ書き換え装置10は、今回のデータ書き換え処理を開始する前に、前回のデータ書き換え処理の終了時に書き込まれたフラッシュステータス情報およびスタンプ情報を確実に消去するための複数の実施形態を採用可能である。以下、各実施形態について説明する。
The
(第1実施形態)
図3に例示するように、本実施形態は、第1格納部21および第2格納部22を、データ格納部102の外部に別々に設けたものである。第1格納部21には、フラッシュステータス情報D1が格納される。また、第2格納部22には、スタンプ情報D2が格納される。図4に例示するように、この場合、データ書き換え装置10は、データの書き換え処理を開始する前に、まず、フラッシュステータス情報D1を格納している第1格納部21、および、スタンプ情報D2を格納している第2格納部22をブロック単位で消去する。これにより、第1格納部21および第2格納部22は、データが格納されていないブランク状態となる。なお、データ書き換え装置10は、仕様によっては、第1格納部21に格納されているフラッシュステータス情報D1、および、第2格納部22に格納されているスタンプ情報D2を指定して消去することも可能である。
(First embodiment)
As illustrated in FIG. 3, in the present embodiment, the
そして、データ書き換え装置10は、書き換え対象となるデータを消去する。そして、データ書き換え装置10は、データを消去したブロック領域に新データを書き込んでいく。そして、データ書き換え装置10は、データの書き換え処理を完了すると、第1格納部21にフラッシュステータス情報D1を書き込む。また、データ書き換え装置10は、書き込んだ新データに誤りが含まれていないか否かを確認する。そして、データ書き換え装置10は、書き込んだデータに誤りが含まれていないことを確認すると、第2格納部22にスタンプ情報D2を書き込む。
Then, the
本実施形態によれば、データ書き換え装置10は、前回のデータ書き換え処理の完了時に書き込まれたフラッシュステータス情報およびスタンプ情報を確実に消去してから、今回のデータ書き換え処理を開始する。従って、今回のデータ書き換え処理の途中において当該処理が中断した場合には、フラッシュステータス情報およびスタンプ情報が消去された状態となっている。そのため、データの書き換えが不完全な状態であることを認識することができ、当該データが使用されてしまうことを回避することができる。
According to the present embodiment, the
また、本実施形態の構成は、データ格納部102の外部に、第1格納部21用のブロック領域および第2格納部22用のブロック領域の2つのブロック領域を確保することにより実現することができる。よって、データ書き換え装置10の前提構成を大幅に変更する必要が無く、既存の構成をほぼそのまま利用することができる。
In addition, the configuration of the present embodiment can be realized by securing two block areas, that is, a block area for the
(第2実施形態)
図5に例示するように、本実施形態は、データ格納部102の外部に、第1格納部21および第2格納部22を含む総合格納部31を設けたものである。即ち、総合格納部31は、第1格納部および第2格納部として機能するものであり、フラッシュステータス情報D1およびスタンプ情報D2の双方が格納される領域である。
(Second Embodiment)
As illustrated in FIG. 5, in the present embodiment, a
図6に例示するように、この場合、データ書き換え装置10は、データの書き換え処理を開始する前に、まず、フラッシュステータス情報D1およびスタンプ情報D2を格納している総合格納部31をブロック単位で消去する。これにより、総合格納部31は、データが格納されていないブランク状態となる。なお、データ書き換え装置10は、仕様によっては、総合格納部31に格納されているフラッシュステータス情報D1およびスタンプ情報D2を指定して消去することも可能である。
As illustrated in FIG. 6, in this case, before starting the data rewriting process, the
そして、データ書き換え装置10は、書き換え対象となるデータを消去する。そして、データ書き換え装置10は、データを消去したブロック領域に新データを書き込んでいく。そして、データ書き換え装置10は、データの書き換え処理を完了すると、総合格納部31にフラッシュステータス情報D1を書き込む。また、データ書き換え装置10は、書き込んだ新データに誤りが含まれていないか否かを確認する。そして、データ書き換え装置10は、書き込んだデータに誤りが含まれていないことを確認すると、総合格納部31にスタンプ情報D2を書き込む。
Then, the
本実施形態によれば、データ書き換え装置10は、前回のデータ書き換え処理の完了時に書き込まれたフラッシュステータス情報およびスタンプ情報を確実に消去してから、今回のデータ書き換え処理を開始する。従って、今回のデータ書き換え処理の途中において当該処理が中断した場合には、フラッシュステータス情報およびスタンプ情報が消去された状態となっている。そのため、データの書き換えが不完全な状態であることを認識することができ、当該データが使用されてしまうことを回避することができる。
According to the present embodiment, the
また、本実施形態の構成は、データ格納部102の外部に、総合格納部31用のブロック領域を確保することにより実現することができる。よって、データ書き換え装置10の前提構成を大幅に変更する必要が無く、既存の構成をほぼそのまま利用することができる。
The configuration of the present embodiment can be realized by securing a block area for the
(第3実施形態)
図7に例示するように、本実施形態は、第1格納部21および第2格納部22を、データ格納部102の内部に設けたものである。即ち、本実施形態は、データ格納部102内のブロック領域を第1格納部21用の領域および第2格納部22用の領域として用いるものである。また、本実施形態では、書き換え部11は、第1格納部21に格納されているフラッシュステータス情報D1および第2格納部22に格納されているスタンプ情報D2も、差分が発生したデータであるとみなし、データ書き換え処理により書き換えるデータの一部として認識するように設定されている。
(Third embodiment)
As illustrated in FIG. 7, in the present embodiment, the
図8に例示するように、この場合、データ書き換え装置10は、データの書き換え処理を開始する前に、まず、フラッシュステータス情報D1を格納している第1格納部21、および、スタンプ情報D2を格納している第2格納部22を、書き換え対象となるデータの一部としてブロック単位で消去する。これにより、第1格納部21および第2格納部22は、データが格納されていないブランク状態となる。なお、データ書き換え装置10は、仕様によっては、第1格納部21に格納されているフラッシュステータス情報D1、および、第2格納部22に格納されているスタンプ情報D2を指定して消去することも可能である。
As illustrated in FIG. 8, in this case, before starting the data rewriting process, the
また、データ書き換え装置10は、書き換え対象となるデータを消去する。そして、データ書き換え装置10は、第1格納部21および第2格納部22以外の領域においてデータを消去したブロック領域に新データを書き込んでいく。そして、データ書き換え装置10は、データの書き換え処理を完了すると、第1格納部21にフラッシュステータス情報D1を書き込む。また、データ書き換え装置10は、書き込んだ新データに誤りが含まれていないか否かを確認する。そして、データ書き換え装置10は、書き込んだデータに誤りが含まれていないことを確認すると、第2格納部22にスタンプ情報D2を書き込む。
Further, the
本実施形態によれば、データ書き換え装置10は、前回のデータ書き換え処理の完了時に書き込まれたフラッシュステータス情報およびスタンプ情報を確実に消去してから、今回のデータ書き換え処理を開始する。従って、今回のデータ書き換え処理の途中において当該処理が中断した場合には、フラッシュステータス情報およびスタンプ情報が消去された状態となっている。そのため、データの書き換えが不完全な状態であることを認識することができ、当該データが使用されてしまうことを回避することができる。
According to the present embodiment, the
本実施形態の構成は、データ格納部102の内部に、第1格納部21用のブロック領域および第2格納部22用のブロック領域の2つのブロック領域を確保することにより実現することができる。よって、データ書き換え装置10の前提構成を変更する必要が全く無く、既存の構成をそのまま利用することができる。また、既存の構成をそのまま利用することができるため、第1格納部21用のブロック領域および第2格納部22用のブロック領域を新設する必要が無く、従って、アプリケーションプログラムが格納されるメモリ領域が圧迫されてしまうことを回避することができる。
The configuration of the present embodiment can be realized by securing two block areas in the
(第4実施形態)
図9に例示するように、本実施形態は、第1格納部21および第2格納部22を退避部103に設けたものである。よって、退避部103には、フラッシュステータス情報D1およびスタンプ情報D2が格納される。図10に例示するように、この場合、データ書き換え装置10は、データの書き換え処理を開始する前に、まず、退避部103に格納されているデータを全て消去する。これにより、退避部103に格納されているフラッシュステータス情報D1およびスタンプ情報D2も消去され、退避部103は、データが格納されていないブランク状態となる。なお、データ書き換え装置10は、仕様によっては、退避部103に格納されているフラッシュステータス情報D1およびスタンプ情報D2を指定して消去することも可能である。
(Fourth embodiment)
As illustrated in FIG. 9, in the present embodiment, the
そして、データ書き換え装置10は、書き換え対象となるデータのうち差分が発生していないデータを退避データD3として退避部103に退避させる。そして、データ書き換え装置10は、書き換え対象となるデータを消去する。そして、データ書き換え装置10は、退避部103に退避させた退避データD3に差分データを結合して新データを生成する。そして、データ書き換え装置10は、データを消去したブロック領域に新データを書き込んでいく。そして、データ書き換え装置10は、データの書き換え処理を完了すると、退避部103にフラッシュステータス情報D1を書き込む。また、データ書き換え装置10は、書き込んだ新データに誤りが含まれていないか否かを確認する。そして、データ書き換え装置10は、書き込んだデータに誤りが含まれていないことを確認すると、退避部103にスタンプ情報D2を書き込む。
Then, the
本実施形態によれば、データ書き換え装置10は、前回のデータ書き換え処理の完了時に書き込まれたフラッシュステータス情報およびスタンプ情報を確実に消去してから、今回のデータ書き換え処理を開始する。従って、今回のデータ書き換え処理の途中において当該処理が中断した場合には、フラッシュステータス情報およびスタンプ情報が消去された状態となっている。そのため、データの書き換えが不完全な状態であることを認識することができ、当該データが使用されてしまうことを回避することができる。
According to the present embodiment, the
また、本実施形態の構成は、退避部103に、第1格納部21および第2格納部22を確保することにより実現することができる。よって、データ書き換え装置10の前提構成を変更する必要が全く無く、既存の構成をそのまま利用することができる。また、既存の構成をそのまま利用することができるため、第1格納部21用のブロック領域および第2格納部22用のブロック領域を新設する必要が無く、従って、アプリケーションプログラムが格納されるメモリ領域が圧迫されてしまうことを回避することができる。
Further, the configuration of the present embodiment can be realized by securing the
なお、本実施形態では、フラッシュステータス情報と同じデータ列およびスタンプ情報と同じデータ列のうち少なくとも何れか一方のデータ列が、退避部103に退避させたデータD3中に偶発的に含まれている場合も発生し得る。そのため、データ書き換え装置10は、退避部103に退避させるデータD3中に、フラッシュステータス情報D1と同じデータ列、スタンプ情報D2と同じデータ列が含まれていないか否かをチェックする機能を備える構成としてもよい。
In the present embodiment, at least one of the same data string as the flash status information and the same data string as the stamp information is accidentally included in the data D3 saved in the saving
(その他の実施形態)
本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。例えば、上述した複数の実施形態を適宜組み合わせて実施してもよい。
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
(Other embodiments)
The present invention is not limited to the above-described embodiments, and can be applied to various embodiments without departing from the scope of the invention. For example, you may implement combining several embodiment mentioned above suitably.
Although the present disclosure has been described with reference to the embodiments, it is understood that the present disclosure is not limited to the embodiments and structures. The present disclosure includes various modifications and modifications within the equivalent range. In addition, various combinations and forms, as well as other combinations and forms including only one element, more or less, are within the scope and spirit of the present disclosure.
図面中、10はデータ書き換え装置、11は書き換え部、12は第1書き込み部、13は第2書き込み部、14は消去部、21は第1格納部、22は第2格納部、31は総合格納部、100はメモリ、103は退避部、D1はフラッシュステータス情報(第1情報)、D2はスタンプ情報(第2情報)を示す。 In the drawings, 10 is a data rewriting device, 11 is a rewriting unit, 12 is a first writing unit, 13 is a second writing unit, 14 is an erasing unit, 21 is a first storage unit, 22 is a second storage unit, and 31 is a total. A storage unit, 100 is a memory, 103 is a saving unit, D1 is flash status information (first information), and D2 is stamp information (second information).
Claims (7)
前記書き換え部によるデータの書き換え処理が完了すると、所定の第1情報を第1格納部(21)に書き込む第1書き込み部(12)と、
前記書き換え部により書き込まれたデータに誤りが含まれていないことを確認すると、所定の第2情報を第2格納部(22)に書き込む第2書き込み部(13)と、
前記書き換え部によるデータの書き換え処理が開始される前に、前記第1情報を格納している前記第1格納部および前記第2情報を格納している前記第2格納部を消去する消去部(14)と、
を備えるデータ書き換え装置。 A rewriting unit (11) for rewriting data in which a difference occurs among data written in the memory (100);
When the data rewriting process by the rewriting unit is completed, a first writing unit (12) that writes predetermined first information to the first storage unit (21);
When it is confirmed that the data written by the rewriting unit does not contain an error, a second writing unit (13) that writes predetermined second information to the second storage unit (22),
Before the data rewriting process by the rewriting unit is started, the first storage unit storing the first information and the erasing unit erasing the second storage unit storing the second information ( 14)
A data rewriting device comprising:
前記書き換え部は、前記第1情報を格納している前記第1格納部および前記第2情報を格納している前記第2格納部も、書き換えるデータの一部として認識する請求項1に記載のデータ書き換え装置。 The first storage unit and the second storage unit are provided inside a rewrite area of the memory where data is rewritten,
2. The rewrite unit according to claim 1, wherein the first storage unit storing the first information and the second storage unit storing the second information are also recognized as a part of data to be rewritten. Data rewriting device.
前記第1格納部および前記第2格納部は、前記退避部に設けられている請求項1に記載のデータ書き換え装置。 Comprising a saving unit (103) for temporarily saving data rewritten by the rewriting unit;
The data rewriting apparatus according to claim 1, wherein the first storage unit and the second storage unit are provided in the save unit.
前記書き換え処理が完了すると、所定の第1情報を第1格納部(21)に書き込む第1書き込み処理と、
前記書き換え処理により書き込まれたデータに誤りが含まれていないことを確認すると、所定の第2情報を第2格納部(22)に書き込む第2書き込み処理と、
前記書き換え処理が開始される前に、前記第1情報を格納している前記第1格納部および前記第2情報を格納している前記第2格納部を消去する消去処理と、
をデータ書き換え装置(10)に実行させるデータ書き換えプログラム。 Rewrite processing for rewriting data in which a difference occurs among data written in the memory (100);
When the rewriting process is completed, a first writing process for writing predetermined first information into the first storage unit (21);
When it is confirmed that the data written by the rewriting process contains no error, a second writing process for writing predetermined second information to the second storage unit (22);
An erasing process for erasing the first storage unit storing the first information and the second storage unit storing the second information before the rewriting process is started;
Is a data rewriting program that causes the data rewriting device (10) to execute.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016141344A JP2018013837A (en) | 2016-07-19 | 2016-07-19 | Data rewriting device and data rewriting program |
DE112017003641.0T DE112017003641T5 (en) | 2016-07-19 | 2017-06-01 | Data overwrite device and data overwrite program |
PCT/JP2017/020464 WO2018016199A1 (en) | 2016-07-19 | 2017-06-01 | Data overwriting device and data overwriting program |
CN201780029579.6A CN109154904A (en) | 2016-07-19 | 2017-06-01 | Data rewriting device, data rewriting program |
US16/318,386 US20190287626A1 (en) | 2016-07-19 | 2017-06-01 | Data overwriting device and data overwriting method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016141344A JP2018013837A (en) | 2016-07-19 | 2016-07-19 | Data rewriting device and data rewriting program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018013837A true JP2018013837A (en) | 2018-01-25 |
Family
ID=60992046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016141344A Pending JP2018013837A (en) | 2016-07-19 | 2016-07-19 | Data rewriting device and data rewriting program |
Country Status (5)
Country | Link |
---|---|
US (1) | US20190287626A1 (en) |
JP (1) | JP2018013837A (en) |
CN (1) | CN109154904A (en) |
DE (1) | DE112017003641T5 (en) |
WO (1) | WO2018016199A1 (en) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11467821B2 (en) | 2018-08-10 | 2022-10-11 | Denso Corporation | Vehicle master device, installation instruction determination method and computer program product |
US11604637B2 (en) | 2018-08-10 | 2023-03-14 | Denso Corporation | Electronic control unit, vehicle electronic control system, difference data consistency determination method and computer program product |
US11656771B2 (en) | 2018-08-10 | 2023-05-23 | Denso Corporation | Electronic control unit, vehicle electronic control system, activation execution control method and computer program product |
US11669323B2 (en) | 2018-08-10 | 2023-06-06 | Denso Corporation | Vehicle electronic control system, program update notification control method and computer program product |
US11671498B2 (en) | 2018-08-10 | 2023-06-06 | Denso Corporation | Vehicle master device, update data verification method and computer program product |
US11683197B2 (en) | 2018-08-10 | 2023-06-20 | Denso Corporation | Vehicle master device, update data distribution control method, computer program product and data structure of specification data |
US11709666B2 (en) | 2018-07-25 | 2023-07-25 | Denso Corporation | Electronic control system for vehicle, program update approval determination method and program update approval determination program |
US11822366B2 (en) | 2018-08-10 | 2023-11-21 | Denso Corporation | Electronic control unit, vehicle electronic control system, rewrite execution method, rewrite execution program, and data structure of specification data |
US11876898B2 (en) | 2018-08-10 | 2024-01-16 | Denso Corporation | Vehicle master device, security access key management method, security access key management program and data structure of specification data |
US11907697B2 (en) | 2018-08-10 | 2024-02-20 | Denso Corporation | Vehicle electronic control system, center device, vehicle master device, display control information transmission control method, display control information reception control method, display control information transmission control program, and display control information reception control program |
US11928459B2 (en) | 2018-08-10 | 2024-03-12 | Denso Corporation | Electronic control unit, retry point specifying method and computer program product for specifying retry point |
US11926270B2 (en) | 2018-08-10 | 2024-03-12 | Denso Corporation | Display control device, rewrite progress display control method and computer program product |
US11934823B2 (en) | 2018-07-25 | 2024-03-19 | Denso Corporation | Electronic control system for vehicle, program update approval determination method and program update approval determination program |
US11941384B2 (en) | 2018-08-10 | 2024-03-26 | Denso Corporation | Vehicle master device, rewrite target group administration method, computer program product and data structure of specification data |
US11947953B2 (en) | 2018-08-10 | 2024-04-02 | Denso Corporation | Vehicle electronic control system, progress screen display control method and computer program product |
US11999360B2 (en) | 2018-08-10 | 2024-06-04 | Denso Corporation | Vehicle master device, control method for executing rollback, computer program product for executing rollback and data structure of specification data |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006298261A (en) * | 2005-04-22 | 2006-11-02 | Denso Corp | Control unit for automobile |
JP2010146257A (en) * | 2008-12-18 | 2010-07-01 | Fujitsu Ten Ltd | Information processor, program update method, and information processing system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3603333B2 (en) | 1994-06-22 | 2004-12-22 | カシオ計算機株式会社 | Data processing device |
JPH10124403A (en) * | 1996-10-24 | 1998-05-15 | Hitachi Ltd | Writing method for block deletion type flash memory |
JP2002351683A (en) | 2001-05-24 | 2002-12-06 | Sharp Corp | Program updating control method |
JP2004005152A (en) | 2002-05-31 | 2004-01-08 | Hitachi Unisia Automotive Ltd | Rewriting device for nonvolatile memory |
JP4266742B2 (en) * | 2003-08-04 | 2009-05-20 | Necディスプレイソリューションズ株式会社 | ELECTRONIC DEVICE WITH FLASH MEMORY, MEMORY DATA MANAGEMENT METHOD, AND PROGRAM |
JP4418439B2 (en) * | 2006-03-07 | 2010-02-17 | パナソニック株式会社 | Nonvolatile storage device and data writing method thereof |
US8924362B2 (en) * | 2008-06-30 | 2014-12-30 | Microsoft Corporation | B-file abstraction for efficiently archiving self-expiring data |
KR102143517B1 (en) * | 2013-02-26 | 2020-08-12 | 삼성전자 주식회사 | Semiconductor Memory Device including error correction circuit and Operating Method thereof |
CN105468533B (en) * | 2014-09-10 | 2019-02-19 | 华为技术有限公司 | Method for writing data, device and memory |
JP6468640B2 (en) | 2015-02-04 | 2019-02-13 | 株式会社Subaru | Body pillar structure |
-
2016
- 2016-07-19 JP JP2016141344A patent/JP2018013837A/en active Pending
-
2017
- 2017-06-01 DE DE112017003641.0T patent/DE112017003641T5/en active Pending
- 2017-06-01 WO PCT/JP2017/020464 patent/WO2018016199A1/en active Application Filing
- 2017-06-01 US US16/318,386 patent/US20190287626A1/en not_active Abandoned
- 2017-06-01 CN CN201780029579.6A patent/CN109154904A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006298261A (en) * | 2005-04-22 | 2006-11-02 | Denso Corp | Control unit for automobile |
JP2010146257A (en) * | 2008-12-18 | 2010-07-01 | Fujitsu Ten Ltd | Information processor, program update method, and information processing system |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11709666B2 (en) | 2018-07-25 | 2023-07-25 | Denso Corporation | Electronic control system for vehicle, program update approval determination method and program update approval determination program |
US11934823B2 (en) | 2018-07-25 | 2024-03-19 | Denso Corporation | Electronic control system for vehicle, program update approval determination method and program update approval determination program |
US11671498B2 (en) | 2018-08-10 | 2023-06-06 | Denso Corporation | Vehicle master device, update data verification method and computer program product |
US11907697B2 (en) | 2018-08-10 | 2024-02-20 | Denso Corporation | Vehicle electronic control system, center device, vehicle master device, display control information transmission control method, display control information reception control method, display control information transmission control program, and display control information reception control program |
US11467821B2 (en) | 2018-08-10 | 2022-10-11 | Denso Corporation | Vehicle master device, installation instruction determination method and computer program product |
US11683197B2 (en) | 2018-08-10 | 2023-06-20 | Denso Corporation | Vehicle master device, update data distribution control method, computer program product and data structure of specification data |
US11656771B2 (en) | 2018-08-10 | 2023-05-23 | Denso Corporation | Electronic control unit, vehicle electronic control system, activation execution control method and computer program product |
US11822366B2 (en) | 2018-08-10 | 2023-11-21 | Denso Corporation | Electronic control unit, vehicle electronic control system, rewrite execution method, rewrite execution program, and data structure of specification data |
US11876898B2 (en) | 2018-08-10 | 2024-01-16 | Denso Corporation | Vehicle master device, security access key management method, security access key management program and data structure of specification data |
US11669323B2 (en) | 2018-08-10 | 2023-06-06 | Denso Corporation | Vehicle electronic control system, program update notification control method and computer program product |
US11928459B2 (en) | 2018-08-10 | 2024-03-12 | Denso Corporation | Electronic control unit, retry point specifying method and computer program product for specifying retry point |
US11926270B2 (en) | 2018-08-10 | 2024-03-12 | Denso Corporation | Display control device, rewrite progress display control method and computer program product |
US11604637B2 (en) | 2018-08-10 | 2023-03-14 | Denso Corporation | Electronic control unit, vehicle electronic control system, difference data consistency determination method and computer program product |
US11941384B2 (en) | 2018-08-10 | 2024-03-26 | Denso Corporation | Vehicle master device, rewrite target group administration method, computer program product and data structure of specification data |
US11947953B2 (en) | 2018-08-10 | 2024-04-02 | Denso Corporation | Vehicle electronic control system, progress screen display control method and computer program product |
US11999360B2 (en) | 2018-08-10 | 2024-06-04 | Denso Corporation | Vehicle master device, control method for executing rollback, computer program product for executing rollback and data structure of specification data |
Also Published As
Publication number | Publication date |
---|---|
WO2018016199A1 (en) | 2018-01-25 |
DE112017003641T5 (en) | 2019-04-11 |
US20190287626A1 (en) | 2019-09-19 |
CN109154904A (en) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018016199A1 (en) | Data overwriting device and data overwriting program | |
JP3802411B2 (en) | Data copy method for nonvolatile semiconductor memory device | |
US9645894B2 (en) | Data storage device and flash memory control method | |
JP2008198310A (en) | Method for repairing bit error and information processing system | |
JP2011129192A (en) | Semiconductor memory device | |
JP5990430B2 (en) | SSD (solid state drive) device | |
TWI633428B (en) | Data storage device and methods for processing data in the data storage device | |
TWI512742B (en) | Non-volatile memory flash memory erase-abnormal block repair method and device applying the same | |
TW201916018A (en) | Data storage device and methods for writing data in a memory device | |
TW201523247A (en) | Data storage device and FLASH memory control method | |
KR100746198B1 (en) | Apparatus and method for storing data, and readable recording medium thereof | |
CN102650949A (en) | Method and device for upgrading firmware of storage equipment | |
JP4158526B2 (en) | Memory card and data writing method to memory | |
JP2010067098A (en) | Information processor, information processing method, and information processing program | |
TW201430554A (en) | Recovering system and method for recovering data | |
JP6575157B2 (en) | Firmware download method and firmware embedded device | |
JP6314859B2 (en) | Electronic control device and software rewriting system | |
JP6636930B2 (en) | Microcomputer with built-in flash memory, method of writing data to flash memory built in microcontroller, and program for writing data to flash memory | |
CN113434086A (en) | Data storage method and device, nonvolatile memory device and memory | |
JP4602387B2 (en) | MEMORY CARD, NONVOLATILE MEMORY, NONVOLATILE MEMORY DATA WRITE METHOD AND DATA WRITE DEVICE | |
JP2006139341A (en) | Nonvolatile memory system | |
JP2012033045A (en) | Electronic equipment and data reading method | |
JP6217664B2 (en) | Microcomputer device | |
JP2013003623A (en) | Flash memory control device and flash memory control method | |
JP2014071535A (en) | Memory management device, microcontroller and memory management method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180829 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191105 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20200526 |