JP2015011609A - 情報処理装置、半導体装置及び情報データのベリファイ方法 - Google Patents
情報処理装置、半導体装置及び情報データのベリファイ方法 Download PDFInfo
- Publication number
- JP2015011609A JP2015011609A JP2013137959A JP2013137959A JP2015011609A JP 2015011609 A JP2015011609 A JP 2015011609A JP 2013137959 A JP2013137959 A JP 2013137959A JP 2013137959 A JP2013137959 A JP 2013137959A JP 2015011609 A JP2015011609 A JP 2015011609A
- Authority
- JP
- Japan
- Prior art keywords
- memories
- information data
- read
- verify
- data
- 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
- 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
- G06F11/167—Error detection by comparing the memory output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Stored Programmes (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【目的】高速に且つ高い信頼性をもって情報データをメモリに書き込むことが可能な情報処理装置、この情報処理装置が形成されている半導体装置、及び情報データのベリファイ方法を提供することを目的とする。【構成】書込命令に応じて、ベリファイ制御部が、複数のメモリの各々に同一の情報データ片を書き込ませた後、これらメモリの各々から情報データ片を読み出す。この際、一致判定部が、メモリ各々から読み出された読出情報データ片が互いに一致しているか否かを判定する第1ベリファイを行ってベリファイ結果信号を外部出力すると同時に、ベリファイ制御部が、読出情報データ片各々の内の1つを情報データ片との一致判定を為す第2ベリファイ用の情報データ片として外部出力する。【選択図】図1
Description
本発明は、情報処理装置、特に情報データを書き込むメモリを備えた情報処理装置、この情報処理装置が形成されている半導体装置、及び情報データのベリファイ方法に関する。
電力会社から電力供給を受ける施設で使用された電力の使用量を測定する電力メータとして、測定した電力使用量を電力供給会社側に通知する通信機能を備えたスマートメータが知られている。スマートメータには、このような通信をマイコン制御で行うべく、CPU(Central Processing Unit)及びプログラムが格納されているプログラムメモリが搭載されている。この際、プログラムメモリとしては、プログラムデータのバージョンアップに対応すべく、フラッシュメモリ等の不揮発性メモリが用いられる。しかしながら、プログラムのバージョンアップ過程において、新しいプログラムデータをメモリに書き込んでいる最中に停電等が生じると、書き込まれたプログラムデータが破壊されてしまい、スマートメータが動作不能に陥る可能性があった。
そこで、メモリ内の2つのメモリ領域に同一のプログラムデータを格納するようにし、バージョンアップ時には、新しいプログラムデータを、一方のメモリ領域に上書きし、その新プログラムデータが正しく書き込まれたことを確認した場合に、これを他方のメモリ領域にコピーするようにしたプログラム書き換え方法が提案された(例えば特許文献1参照)。このプログラム書き換え方法によれば、バージョンアップ時の停電等に起因して一方のメモリ領域に上書きされた新しいプログラムデータが破壊されてしまっても、他方のメモリ領域に格納されている旧プログラムデータを実行させることによって、動作不能状態を回避することが可能となる。
ところで、かかるプログラム書き換え方法では、プログラムデータが正しく書き込まれたか否かの判定を、チェックサムを用いた誤り検出によって行うようにしているので、その判定の信頼性が低い。
よって、高い信頼性が要求される、製品出荷前の初期バージョンのプログラムデータの書き込み時には、各メモリ領域に同一のプログラムデータを書き込んだ後、各メモリ領域からプログラムデータを読み出し、その読出プログラムデータが上記プログラムデータと同一であるか否かを判定する、いわゆるベリファイを行うことが考えられる。
しかしながら、2つのメモリ領域に対して順にこのようなベリファイを行うと、長大な時間が費やされてしまうという問題があった。
本発明は、高速に且つ高い信頼性をもって情報データをメモリに書き込むことが可能な情報処理装置、この情報処理装置が形成されている半導体装置、及び情報データのベリファイ方法を提供することを目的とする。
本発明に係る情報処理装置は、複数のメモリを含む情報処理装置であって、書込命令に応じて、前記複数のメモリの各々に同一の情報データ片を書き込ませた後、前記複数のメモリの各々から前記情報データ片を読み出すべく前記複数のメモリを制御するベリファイ制御部と、前記ベリファイ制御部によって前記複数のメモリの各々から読み出された読出情報データ片が互いに一致しているか否かを判定する第1ベリファイを行いその結果を示すベリファイ結果信号を外部出力する一致判定部と、を有し、前記ベリファイ制御部は、前記読出情報データ片各々の内の1つを、前記情報データ片との一致判定を為す第2ベリファイ用の情報データ片として外部出力する。
また、本発明に係る半導体装置は、複数のメモリが形成されている半導体装置であって、書込命令に応じて前記複数のメモリの各々に同一の情報データ片を書き込ませた後、前記複数のメモリの各々から前記情報データ片を読み出すべく前記複数のメモリを制御するベリファイ制御部と、前記ベリファイ制御部によって前記複数のメモリの各々から読み出された読出情報データ片が互いに一致しているか否かを判定する第1ベリファイを行いその結果を示すベリファイ結果信号を外部出力する一致判定部と、を有し、前記ベリファイ制御部は、前記読出情報データ片各々の内の1つを、前記情報データ片との一致判定を為す第2ベリファイ用の情報データ片として外部出力する。
また、本発明に係る半導体装置は、複数のメモリを含む半導体装置であって、第1のインタフェースを介して第1の書込データを受信する第1の受信部と、第2のインタフェースを介して第2の書込データを受信する第2の受信部と、前記複数のメモリのうち何れかのメモリに格納されているデータを読み出し当該データに従った制御動作を実行する制御部とを備え、前記制御部は、前記第1の受信部にて前記第1の書込データを受信した場合には、前記データの読み出しを行った前記メモリとは異なるメモリに対して前記第1の書込データを書き込み、前記第2の受信部は、前記第2の書込データを受信した場合には前記制御部に対して前記複数のメモリに対する並列書込指示と動作停止指示を行うと共に、前記複数のメモリ各々に対して前記第2の書込データの並列書込み処理を行う。
また、本発明に係る情報データのベリファイ方法は、情報データのベリファイ方法であって、複数のメモリの各々に同一の情報データ片を書き込ませた後、前記複数のメモリの各々から前記情報データ片を同時に読み出し、前記複数のメモリの各々から読み出された読出情報データ片が一致しているか否かを判定しその判定結果を第1ベリファイ結果として得ると同時に、前記読出情報データ片各々の内の1つと前記情報データ片とが一致しているか否かを判定してその判定結果を第2ベリファイ結果として得て、前記第1ベリファイ結果及び前記第2ベリファイ結果が共に一致を示す場合に前記情報データ片の書き込が成功したと判定する。
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
図1は、本発明に係る情報処理装置としてのスマートメータ100の構成を示すブロック図である。尚、スマートメータ100は、電力会社から電力の供給を受ける施設に設置されており、その施設の分電盤(図示せぬ)に設けられている電流センサ(図示せぬ)で検出された電流量に基づき当該施設内で使用された電力量を集計し、その電力使用量を電力会社に通知する(通信モード)。更に、スマートメータ100は、その施設内で使用された電力量を監視する為の表示、小規模発電設備(例えば、太陽光発電パネル、風力発電機等)からの電力の受け入れ制御、或いは電気自動車の蓄電池に対する充放電制御等の電力管理制御を行う(電力管理モード)。
図1に示すように、スマートメータ100は、送受信部10、メモリ11及び12、ベリファイ制御部13、CPU(Central Processing Unit)14、メモリ制御部15及び16、セレクタ17、一致判定部18、アンドゲート19及び表示装置20を含む。尚、これら各モジュール(10〜19)は、単一の半導体チップ、又は複数の半導体チップに分散して形成されている。
図1において、送受信部10は、電力会社側から送信された送信信号を受信し、この送信信号に対して復調処理を施す。送受信部10は、かかる復調処理によってバージョンアップ用のプログラムデータ及びバージョンアップ命令信号が得られた場合には、このバージョンアップ命令信号に応じて、バージョンアップ用のプログラムデータをプログラムデータVPDとしてメモリ11及び12に供給すると共に、バージョンアップ命令信号VPをCPU14に供給する。また、送受信部10は、CPU14から電力使用量を示す電力使用量データPWDが供給された場合には、この電力使用量データPWDに変調処理を施して得られた変調電力使用量信号を電力会社側に送信する。尚、送受信部10は、上記した如き電力会社側との送受信を、アンテナを介した無線通信、或いはインターネット網等を介した有線通信によって行う。
メモリ11及び12は、データの書き換えが可能な、例えば不揮発性のフラッシュメモリからなる。メモリ11及び12の各々には、CPU14が実行するプログラム、つまり上記した通信モード及び電力管理モードを実現する為のプログラムを示すプログラムデータが格納される(後述する)。尚、メモリ11及び12には、同一のプログラムデータが格納される。
メモリ11は、メモリ制御部15から供給された書込信号WR1に応じて、送受信部10から供給されたバージョンアップ用のプログラムデータVPD、又はメモリ制御部15から供給された初期バージョンのプログラムデータQD1を書き込む。また、メモリ11は、メモリ制御部15から供給された読出信号RD1に応じて、自身に格納されているプログラムデータ(VPD、QD1)を読み出し、これを実行用のプログラムデータPD1として、メモリ制御部15、セレクタ17及び一致判定部18に供給する。
メモリ12は、メモリ制御部16から供給された書込信号WR2に応じて、上記したバージョンアップ用のプログラムデータVPD、又はメモリ制御部16から供給された初期バージョンのプログラムデータQD2を書き込む。また、メモリ12は、メモリ制御部16から供給された読出信号RD2に応じて、自身に格納されているプログラムデータ(VPD、QD2)を読み出し、これをプログラムデータPD2として、セレクタ17及び一致判定部18に供給する。
ベリファイ制御部13は、ベリファイ用の入出力外部端子を介してプログラム書込命令信号IPW、及び初期バージョンのプログラムを示す初期プログラムデータIPDが供給された場合には、このプログラム書込命令信号IPWに応じて、以下の如きメモリ書込ベリファイ処理を実行する。メモリ書込ベリファイ処理において、ベリファイ制御部13は、メモリ書込ベリファイをイネーブルにするベリファイイネーブル信号VENをCPU14に供給すると共に、プログラム書込信号SW及び上記した初期プログラムデータIPDをメモリ制御部15及び16に供給する。また、メモリ書込ベリファイ処理において、ベリファイ制御部13は、ベリファイ読出信号SRをメモリ制御部15及び16に供給する。また、メモリ書込ベリファイ処理において、セレクタ17を経由して読出プログラムデータPDDが供給された場合には、ベリファイ制御部13は、かかる読出プログラムデータPDDをベリファイ用の読出プログラムデータDPDとし、これを上記ベリファイ用の入出力外部端子を介して出力する。尚、メモリ書込ベリファイ処理における詳細なシーケンスについては後述する。
CPU14は、電源投入に応じて、内蔵レジスタ(図示せぬ)に記憶されているプログラム実行メモリ情報を取り込む。そして、CPU14は、このプログラム実行メモリ情報にて示されるメモリ(11又は12)を選択し、これをイネーブル状態に設定すべきメモリ選択信号MSLを、セレクタ17、メモリ制御部15及び16に供給する。例えば、初期状態では、メモリ11を示すプログラム実行メモリ情報が記憶されているので、CPU14は、メモリ11を選択することを示す論理レベル1のメモリ選択信号MSLをセレクタ17、メモリ制御部15及び16に供給する。尚、メモリ12を示すプログラム実行メモリ情報が記憶されている場合には、CPU14は、メモリ12を選択することを示す論理レベル0のメモリ選択信号MSLを、セレクタ17、メモリ制御部15及び16に供給する。更に、電源投入に応じて、CPU14は、プログラムデータを読み出すべきプログラム読出信号RPを、メモリ制御部15及び16に供給する。ここで、CPU14は、セレクタ17を介して供給された読出プログラムデータPDD、すなわち、メモリ11から読み出されたプログラムデータに従ってプログラムを実行することにより、上記した通信モード及び電力管理モードを実現する。例えば、CPU14は、分電盤に設けられている電流センサで検出された電流量CSに基づき施設内で使用された電力量を集計し、その電力量を示す電力使用量データPWDを送受信部10に供給する。これにより、施設内で使用され電力使用量が電力会社側に通知される。また、CPU14は、例えば、上記した電力使用量データPWDに基づき、その施設内で使用された電力量の推移を時間経過に沿って示すグラフ又は表を表示させるべき表示データを表示装置20に供給する。これにより、表示装置20は、電力使用量の推移を時間経過に沿って示すグラフ又は表を表示する。更に、スマートメータ100は、太陽光発電パネル、風力発電機等の小規模発電設備からの電力の受け入れ制御、或いは電気自動車の蓄電池に対する充放電制御等の電力管理制御を行う。
又、CPU14は、送受信部10からバージョンアップ命令信号VPが供給された場合には、メモリ11及び12の内で、上記したプログラム実行メモリ情報にて示されるメモリとは異なる方のメモリを選択させるべきメモリ選択信号MSLと、プログラム書込信号WPとをメモリ制御部15及び16に供給する。
又、CPU14は、ベリファイ制御部13から、メモリ書込ベリファイをイネーブルにするベリファイイネーブル信号VENが供給されると、論理レベル1のメモリ選択信号MSLをセレクタ17、メモリ制御部15及び16に供給すると共に、同時イネーブル信号SEをメモリ制御部16及び一致判定部18に供給する。その後、CPU14は、自身をディスエーブル状態に設定する。このCPU14のディスエーブル状態は、メモリ書込ベリファイをイネーブルにするベリファイイネーブル信号VENが供給されている間だけ維持される。
メモリ制御部15は、論理レベル1のメモリ選択信号MSLに応じてイネーブル状態となる。かかるイネーブル状態において、メモリ制御部15は、CPU14から供給されたプログラム読出信号RP又はベリファイ制御部13から供給されたベリファイ読出信号SRに応じて、読出信号RD1をメモリ11に供給する。また、かかるイネーブル状態において、メモリ制御部15は、ベリファイ制御部13から供給された初期プログラムデータIPD及びプログラム書込信号SWに応じて、この初期プログラムデータIPDをプログラムデータQD1としてメモリ11に供給すると共に、これを書き込ませるべき書込信号WR1をメモリ11に供給する。また、かかるイネーブル状態において、メモリ制御部15は、CPU14からプログラム書込信号WPが供給された場合にも、書込信号WR1をメモリ11に供給する。尚、メモリ制御部15は、論理レベル0のメモリ選択信号MSLに応じてディスエーブル状態となり、メモリ11に対する上記読出信号RD1及び書込信号WR1の供給を停止する。また、メモリ制御部15は、ベリファイ読出信号SRに応じた読み出し動作の間だけ、後述する一致判定信号SMによる判定結果を有効化する論理レベル1の一致判定有効化信号VCをアンドゲート19に供給する。
メモリ制御部16は、論理レベル0のメモリ選択信号MSLに応じてイネーブル状態となる。かかるイネーブル状態において、メモリ制御部16は、CPU14から供給されたプログラム読出信号RP又はベリファイ制御部13から供給されたベリファイ読出信号SRに応じて、読出信号RD2をメモリ12に供給する。また、かかるイネーブル状態において、メモリ制御部16は、ベリファイ制御部13から供給された初期プログラムデータIPD及びプログラム書込信号SWに応じて、この初期プログラムデータIPDをプログラムデータQD2としてメモリ12に供給すると共に、これを書き込ませるべき書込信号WR2をメモリ12に供給する。また、かかるイネーブル状態において、メモリ制御部16は、CPU14からプログラム書込信号WPが供給された場合にも、書込信号WR2をメモリ12に供給する。尚、メモリ制御部16は、本来、論理レベル1のメモリ選択信号MSLに応じてディスエーブル状態となるが、この間、CPU14から同時イネーブル信号SEが供給されている場合には、メモリ選択信号MSLの状態に拘わらず、イネーブル状態となる。
セレクタ17は、メモリ11から読み出されたプログラムデータPD1、及びメモリ12ら読み出されたプログラムデータPD2の内から、メモリ選択信号MSLに応じた方を選択し、これを読出プログラムデータPDDとしてベリファイ制御部13及びCPU14に供給する。例えば、メモリ選択信号MSLが論理レベル1を示す場合、セレクタ17は、プログラムデータPD1を読出プログラムデータPDDとしてベリファイ制御部13及びCPU14に供給する一方、メモリ選択信号MSLが論理レベル0を示す場合には、プログラムデータPD2を読出プログラムデータPDDとしてベリファイ制御部13及びCPU14に供給する。
一致判定部18は、上記したプログラムデータPD1とPD2とが一致しているか否かの判定を第1ベリファイとして行い、両者が一致している場合には論理レベル1、一致していない場合には論理レベル0を有する一致判定信号SMを生成し、これをアンドゲート19に供給する。アンドゲート19は、一致判定有効化信号VC及び一致判定信号SMが共に論理レベル1である場合には論理レベル1、それ以外の場合には論理レベル0の第1ベリファイ結果信号VERを生成し、これを外部端子を介して出力する。すなわち、アンドゲート19は、一致判定有効化信号VCが一致判定の実行タイミングを示す論理レベル1であり、且つ一致判定信号SMがプログラムデータPD1とPD2とが一致していることを示す場合には「良好」を示す論理レベル1の第1ベリファイ結果信号VERを外部出力する。一方、一致判定有効化信号VCが一致判定の実行タイミングを示す論理レベル1であるものの、一致判定信号SMがプログラムデータPD1とPD2との不一致を示す場合には、アンドゲート19は、「不良」を示す論理レベル0の第1ベリファイ結果信号VERを外部出力する。
以下に、スマートメータ100の動作について、電力供給を受ける施設に設置された状態で為される通常動作と、メーカ側において初期バージョンのプログラムデータをメモリ(11、12)に書き込むべく為されるメモリ書込ベリファイ動作と、に分けて説明する。
[通常動作]
先ず、電源投入に応じて、CPU14は、メモリ11に格納されているプログラムデータを読み出し、これをセレクタ17経由で取り込んで、かかるプログラムデータに従った制御を実行する。これにより、スマートメータ100は、上記した如き通信モード及び電力管理モードの動作を行う。
先ず、電源投入に応じて、CPU14は、メモリ11に格納されているプログラムデータを読み出し、これをセレクタ17経由で取り込んで、かかるプログラムデータに従った制御を実行する。これにより、スマートメータ100は、上記した如き通信モード及び電力管理モードの動作を行う。
ここで、電力会社側から、バージョンアップ用のプログラムデータ及びバージョンアップ命令信号が送信された場合には、これらを送受信部10において受信する。この際、CPU14は、受信したバージョンアップ用のプログラムデータをメモリ11及び12の内で、現時点においてプログラム実行に使用されていない方のメモリに上書きする。その後、CPU14は、プログラムの実行を一時中断し、バージョンアップ用のプログラムデータが上書きされた方のメモリからプログラムデータを読み出し、これを実行する。ここで、不具合が生じていなければ、CPU14は、上記したバージョンアップ用のプログラムデータを他方のメモリにコピーする。かかる一連の処理により、プログラムの自動バージョンアップが完了する。
[メモリ書込ベリファイ動作]
かかるメモリ書込ベリファイ動作を行うにあたり、図2に示すように、ベリファイ機能を有するプログラムライタ200をスマートメータ100に接続する。
かかるメモリ書込ベリファイ動作を行うにあたり、図2に示すように、ベリファイ機能を有するプログラムライタ200をスマートメータ100に接続する。
プログラムライタ200は、先ず、図3に示すように、プログラムデータの書き込みを命令する論理レベル1のプログラム書込命令信号IPW、及び初期バージョンの初期プログラムデータIPDをスマートメータ100に供給する。プログラム書込命令信号IPWに応じて、スマートメータ100のベリファイ制御部13は、図4に示す如きメモリ書込ベリファイルーチンを実行する。
図4において、先ず、ベリファイ制御部13は、図3に示す如き、メモリ書込ベリファイをイネーブル状態に設定する論理レベル1のベリファイイネーブル信号VENをCPU14に供給する(ステップS1)。ステップS1の実行により、CPU14は、図3に示すように、論理レベル1のメモリ選択信号MSLをセレクタ17、メモリ制御部15及び16に供給すると共に、同時書き込みを指示する論理レベル1の同時イネーブル信号SEをメモリ制御部16及び一致判定部18に供給し、その後、自身をディスエーブル状態に設定する。よって、プログラム書込命令信号IPWに応じて、CPU14は自身の動作を停止するディスエーブル状態となり、メモリ11及び12は共にメモリアクセスが可能なイネーブル状態となる。
次に、ベリファイ制御部13は、プログラムライタ200から供給された初期バージョンの初期プログラムデータIPDをメモリ制御部15及び16に供給しつつ、書き込みを指示する論理レベル1のプログラム書込信号SWをメモリ制御部15及び16に供給する(ステップS2)。ステップS2の実行により、初期プログラムデータIPDがプログラムデータQD1としてメモリ11に順次書き込まれて行くと同時に、この初期プログラムデータIPDがプログラムデータQD2としてメモリ12に順次書き込まれて行く。これにより、メモリ11及び12の各々には、同一の初期プログラムデータが書き込まれる。
次に、ベリファイ制御部13は、初期プログラムデータIPDの全てがメモリ11及び12に書き込まれたか否かの判定を、書き込まれたと判定するまで繰り返し実行する(ステップS3)。かかるステップS3において、初期プログラムデータIPDの全てがメモリ11及び12に書き込まれたと判定された場合、ベリファイ制御部13は、初期のベリファイ読出番地ADとして「0」を設定する(ステップS4)。
次に、ベリファイ制御部13は、ベリファイ読出番地ADに書き込まれているプログラムデータ片の読み出しを行うべきベリファイ読出信号SRをメモリ制御部15及び16に供給する(ステップS5)。ステップS5の実行により、ベリファイ読出番地ADに対応したプログラムデータPD1がメモリ11から読み出されると共に、このベリファイ読出番地ADに対応したプログラムデータPD2がメモリ12から読み出される。この際、一致判定部18による第1ベリファイにより、プログラムデータPD1とPD2とが一致していると判定された場合には「良好」を示す第1ベリファイ結果信号VERがプログラムライタ200に供給される一方、両者が一致していないと判定された場合には「不良」を示す論理レベル0第1ベリファイ結果信号VERがプログラムライタ200に供給される。
次に、ベリファイ制御部13は、セレクタ17を経由してメモリ11から読み出されたプログラムデータPD1をベリファイ用の読出プログラムデータDPDとしてプログラムライタ200に送出する(ステップS6)。
ここで、プログラムライタ200は、スマートメータ100に供給した初期バージョンのプログラムデータと、メモリ11から読み出された第2ベリファイ用の読出プログラムデータDPDとが一致しているか否かの判定、つまり第2ベリファイを実行し、その判定結果を第2ベリファイ結果信号として得る。そして、プログラムライタ200は、上記したステップS5の実行によってスマートメータ100から供給された第1ベリファイ結果信号VERと、上記第2ベリファイ結果信号とが共に一致を示す場合には「良好」、いずれか一方又は両者共に不一致を示す場合には「不良」を表すベリファイ結果を得る。
上記ステップS6の実行後、ベリファイ制御部13は、ベリファイ読出番地ADが、プログラムデータが格納されている最終番地AEより大であるか否かを判定する(ステップS7)。かかるステップS7において、ベリファイ読出番地ADが最終番地AEより大きくないと判定された場合、ベリファイ制御部13は、このベリファイ読出番地ADに「1」を加算した番地を新たなベリファイ読出番地ADとして設定する(ステップS8)。ステップS8の実行後、ベリファイ制御部13は、上記ステップS5の実行に戻って前述した如き動作を繰り返し実行する。
すなわち、上記したステップS5〜S8を繰り返し実行することにより、ベリファイ制御部13は、図3に示すように、ベリファイ読出番地ADを「1」番地ずつインクリメントしつつ、メモリ11及び12の各々から同時に、各ベリファイ読出番地ADに書き込まれているプログラムデータの読み出しを行う。この間、一致判定部18により、ベリファイ読出番地AD毎に、メモリ11及び12各々から同時に読み出されたプログラムデータ片同士の一致判定が為され、その判定結果が第1ベリファイ結果信号VERとしてプログラムライタ200に供給される。更に、ベリファイ制御部11は、各ベリファイ読出番地AD毎に、メモリ11から読み出されたプログラムデータPD1をベリファイ用の読出プログラムデータDPDとしてプログラムライタ200に送出する。この際、プログラムライタ200は、各ベリファイ読出番地AD毎に、スマートメータ100に供給した初期バージョンのプログラムデータと、メモリ11から読み出されたベリファイ用の読出プログラムデータDPDとが一致しているか否かを判定し、その判定結果を第2ベリファイ結果信号として得る。そして、プログラムライタ200は、全てのベリファイ読出番地ADにおいて、第1ベリファイ結果信号VERと、上記第2ベリファイ結果信号とが共に一致を示す場合にだけ「良好」を示すベリファイ結果を得る。従って、この際、プログラムライタ200は、メモリ11及び12に対する初期バージョンのプログラムデータの書き込みが成功したと判定し、書込成功を示す情報を表示する。一方、少なくとも1のベリファイ読出番地ADにおいて、第1ベリファイ結果信号VER及び上記第2ベリファイ結果信号の内のいずれか一方が不一致を示す場合、又は両者共に不一致を示す場合には、プログラムライタ200は、「不良」示すベリファイ結果を得る。従って、この際、プログラムライタ200は、メモリ11及び12に対する初期バージョンのプログラムデータの書き込みが失敗したと判定し、書込失敗を示す情報を表示する。
この間、上記したステップS7において、ベリファイ読出番地ADが最終番地AEより大であると判定されると、ベリファイ制御部13は、メモリ書込ベリファイをディスエーブル状態に設定すべく、図3に示すようにベリファイイネーブル信号VENを論理レベル0の状態に遷移し(ステップS9)、このメモリ書込ベリファイ処理を終了する。論理レベル0のベリファイイネーブル信号VENに応じて、CPU14は、イネーブル状態となり、上記した通信モード及び電力管理モードを司る制御が為されるようになる。
以上の如く、製品出荷前の段階において、初期プログラムデータ(IPD)をスマートメータ100に取り込むべく、先ず、この初期プログラムデータを、プログラムメモリとしてのメモリ11及び12各々に同時に書き込む(S2)。ここで、初期プログラムデータの書込が終了したら、メモリ11及び12の各々から同時に初期プログラムデータを読み出す(S5)。この間、両メモリから読み出された初期プログラムデータが互いに一致しているか否かを判定する第1ベリファイを行いその判定結果をベリファイ結果信号(VER)として外部出力しつつ、メモリ11から読み出された初期プログラムデータ(PD1)を第2ベリファイ用の読出プログラムデータ(DPD)として外部出力する(S6)。
したがって、プログラムライタ200は、メモリ11から読み出された読出プログラムデータと、上記した初期プログラムデータとが一致しているか否かを判定する第2ベリファイを行いつつ、第1ベリファイ結果信号により、メモリ11及び12の各々に同一のプログラムデータが書き込まれているか否かを知ることが可能となる。これにより、実質的に、メモリ11に書き込まれたプログラムデータに対するベリファイと同時に、メモリ12に書き込まれたプログラムデータに対するベリファイが行われることになる。
従って、本発明に係る情報処理装置によれば、プログラムデータを2つのメモリに書き込んだ後、一方のメモリに書き込まれたプログラムデータに対するベリファイを行ってから、他方のメモリに書き込まれたプログラムデータに対するベリファイを行う場合に比して、高速にベリファイ処理を終了させることができる。よって、本発明によれば、高速に且つ高い信頼性をもって同一のプログラムデータを2つのメモリに書き込むことが可能となる。
尚、上記実施例では、メモリ11及び12の2つのメモリに同一のプログラムデータを書き込むようにしているが、3つ以上の複数のメモリに同一のプログラムデータを書き込むようにしても良い。つまり、スマートメータ100に3つ以上の複数のメモリを設け、ベリファイ制御部13が、各メモリに同一の初期プログラムデータを書き込ませた後、メモリの各々から初期プログラムデータを同時に読み出す。この際、ベリファイ制御部13は、各メモリから読み出された読出プログラムデータの内の1つを、初期プログラムデータとの一致判定を為す第2ベリファイ用のプログラムデータとして外部出力する。更に、この間、一致判定部18が、3つ以上の複数のメモリ各々から読み出された読出プログラムデータ同士が一致しているか否かを判定する第1ベリファイを行い、その結果を示すベリファイ結果信号を外部出力するのである。
また、上記実施例では、情報処理装置の一例としてスマートメータ100を用いて本発明の動作を説明したが、スマートメータ以外の他の情報処理装置にも適用可能である。また、上記実施例では、CPU14が実行するプログラムデータをメモリ11及び12に書き込むようにしているが、メモリに書き込むデータの種別はプログラムに限定されない。例えば、音声データ、映像データ、制御用パラメータデータ等の情報データを複数のメモリに書き込むようにしても良い。
要するに、本発明に係る情報処理装置においては、書込命令(IPW)に応じて、ベリファイ制御部(13)が複数のメモリの各々に同一の情報データ片(IPD)を書き込ませた後、これらメモリの各々から情報データ片を読み出す。この際、一致判定部(18)は、メモリ各々から読み出された読出情報データ片が互いに一致しているか否かを判定する第1ベリファイを行ってベリファイ結果信号(VER)を外部出力する。これと同時に、ベリファイ制御部(18)が、上記した読出情報データ片各々の内の1つを、情報データ片(IPD)との一致判定を為す第2ベリファイ用の読出情報データ片(DPD)として外部出力する。これにより、複数のメモリの内の1のメモリから読み出された読出情報データ片(DPD)と、情報データ片(IPD)とが一致しているか否かを判定する第2ベリファイを行いつつ、第1ベリファイの結果(VER)により全てのメモリに同一のプログラムデータが書き込まれているか否かを知ることが可能となる。すなわち、メモリからの1回分の情報データ片の読出期間にて、全てのメモリに同一の情報データ片が書き込まれているか否かの判定(第1ベリファイ)、及びその情報データ片が正しく書き込まれているか否かの判定(第2ベリファイ)が並列に為されるのである。この際、第1及び第2ベリファイの結果により、書込を行うべき情報データ片が正しく全てのメモリに書き込まれたか否かを判定することができるようになる。
よって、本発明によれば、メモリ毎に読み出しを行い、その読み出し毎に情報データ片が正しく書き込まれているか否かの判定(第2ベリファイ)を行う場合に比して、高速にベリファイ処理を終了させることができるので、高速に且つ高い信頼性をもって複数のメモリに同一のプログラムデータを夫々書き込むことが可能となる。
11、12 メモリ
13 ベリファイ制御部
14 CPU
15、16 メモリ制御部
18 一致判定部
13 ベリファイ制御部
14 CPU
15、16 メモリ制御部
18 一致判定部
Claims (7)
- 複数のメモリを含む情報処理装置であって、
書込命令に応じて、前記複数のメモリの各々に同一の情報データ片を書き込ませた後、前記複数のメモリの各々から前記情報データ片を読み出すべく前記複数のメモリを制御するベリファイ制御部と、
前記ベリファイ制御部によって前記複数のメモリの各々から読み出された読出情報データ片が互いに一致しているか否かを判定する第1ベリファイを行いその結果を示すベリファイ結果信号を外部出力する一致判定部と、を有し、
前記ベリファイ制御部は、前記読出情報データ片各々の内の1つを、前記情報データ片との一致判定を為す第2ベリファイ用の情報データ片として外部出力することを特徴とする情報処理装置。 - 前記ベリファイ制御部は、前記複数のメモリの各々に同時に前記情報データ片を書き込み、前記複数のメモリの各々から同時に前記情報データ片を読み出すことを特徴とする請求項1記載の情報処理装置。
- 前記情報データ片はプログラムを担うプログラムデータであり、
電源投入に応じて、前記複数のメモリ各々の内の1のメモリから前記プログラムデータを読み出し、当該1のメモリから読み出された前記プログラムデータに従った制御を実行するCPUと、
バージョンアップ用のプログラムデータ及びバージョンアップ命令信号を受信する受信部と、を有し、
前記CPUは、前記バージョンアップ命令信号の受信に応じて、前記バージョンアップ用のプログラムデータを前記複数のメモリ各々の内の1のメモリに書き込ませることを特徴とする請求項1又は2記載の情報処理装置。 - 前記CPUは、前記書込命令に応じてディスエーブル状態に設定されることを特徴とする請求項3記載の情報処理装置。
- 複数のメモリが形成されている半導体装置であって、
書込命令に応じて前記複数のメモリの各々に同一の情報データ片を書き込ませた後、前記複数のメモリの各々から前記情報データ片を読み出すべく前記複数のメモリを制御するベリファイ制御部と、
前記ベリファイ制御部によって前記複数のメモリの各々から読み出された読出情報データ片が互いに一致しているか否かを判定する第1ベリファイを行いその結果を示すベリファイ結果信号を外部出力する一致判定部と、を有し、
前記ベリファイ制御部は、前記読出情報データ片各々の内の1つを、前記情報データ片との一致判定を為す第2ベリファイ用の情報データ片として外部出力することを特徴とする半導体装置。 - 複数のメモリを含む半導体装置であって、
第1のインタフェースを介して第1の書込データを受信する第1の受信部と、
第2のインタフェースを介して第2の書込データを受信する第2の受信部と、
前記複数のメモリのうち何れかのメモリに格納されているデータを読み出し当該データに従った制御動作を実行する制御部とを備え、
前記制御部は、前記第1の受信部にて前記第1の書込データを受信した場合には、前記データの読み出しを行った前記メモリとは異なるメモリに対して前記第1の書込データを書き込み、
前記第2の受信部は、前記第2の書込データを受信した場合には前記制御部に対して前記複数のメモリに対する並列書込指示と動作停止指示を行うと共に、前記複数のメモリ各々に対して前記第2の書込データの並列書込み処理を行うことを特徴とする半導体装置。 - 情報データのベリファイ方法であって、
複数のメモリの各々に同一の情報データ片を書き込ませた後、前記複数のメモリの各々から前記情報データ片を同時に読み出し、
前記複数のメモリの各々から読み出された読出情報データ片が一致しているか否かを判定しその判定結果を第1ベリファイ結果として得ると同時に、前記読出情報データ片各々の内の1つと前記情報データ片とが一致しているか否かを判定してその判定結果を第2ベリファイ結果として得て、
前記第1ベリファイ結果及び前記第2ベリファイ結果が共に一致を示す場合に前記情報データ片の書き込みが成功したと判定することを特徴とする情報データのベリファイ方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013137959A JP2015011609A (ja) | 2013-07-01 | 2013-07-01 | 情報処理装置、半導体装置及び情報データのベリファイ方法 |
US14/320,445 US9430340B2 (en) | 2013-07-01 | 2014-06-30 | Information processing device and semiconductor device |
CN201410302387.6A CN104281530A (zh) | 2013-07-01 | 2014-06-30 | 信息处理装置、半导体装置以及信息数据的验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013137959A JP2015011609A (ja) | 2013-07-01 | 2013-07-01 | 情報処理装置、半導体装置及び情報データのベリファイ方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015011609A true JP2015011609A (ja) | 2015-01-19 |
Family
ID=52116905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013137959A Pending JP2015011609A (ja) | 2013-07-01 | 2013-07-01 | 情報処理装置、半導体装置及び情報データのベリファイ方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9430340B2 (ja) |
JP (1) | JP2015011609A (ja) |
CN (1) | CN104281530A (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02283000A (ja) * | 1989-04-24 | 1990-11-20 | Mitsubishi Electric Corp | 半導体メモリ |
JPH08137757A (ja) * | 1994-11-08 | 1996-05-31 | Hitachi Ltd | 半導体集積回路装置 |
JPH1050056A (ja) * | 1996-07-31 | 1998-02-20 | Sharp Corp | 半導体記憶装置 |
JPH10134598A (ja) * | 1996-10-30 | 1998-05-22 | Nec Corp | 半導体メモリ及びそのテスト方法 |
JP2011164827A (ja) * | 2010-02-08 | 2011-08-25 | Nippon Avionics Co Ltd | フラッシュメモリを備えた電子機器およびフラッシュメモリに格納されたプログラムの更新方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3544777A (en) * | 1967-11-06 | 1970-12-01 | Trw Inc | Two memory self-correcting system |
US5619642A (en) * | 1994-12-23 | 1997-04-08 | Emc Corporation | Fault tolerant memory system which utilizes data from a shadow memory device upon the detection of erroneous data in a main memory device |
JP3691113B2 (ja) * | 1995-06-07 | 2005-08-31 | 株式会社ルネサステクノロジ | メモリ回路、メモリ回路のデータ制御回路、およびメモリ回路のアドレス指定回路 |
US6052803A (en) * | 1997-09-26 | 2000-04-18 | 3Com Corporation | Key-based technique for assuring and maintaining integrity of firmware stored in both volatile and non-volatile memory |
JP2002063044A (ja) | 2000-08-21 | 2002-02-28 | Matsushita Electric Ind Co Ltd | 演算装置及びプログラム書き換え方法 |
US6910178B1 (en) * | 2002-03-15 | 2005-06-21 | Veritas Operating Corporation | System and method for resolving data inconsistencies with a data majority |
US8140921B2 (en) * | 2004-06-22 | 2012-03-20 | Mitsubishi Electric Corporation | System for elevator electronic safety device |
JP4160625B1 (ja) * | 2007-04-04 | 2008-10-01 | シャープ株式会社 | 誤り検出制御システム |
US9152511B2 (en) * | 2008-06-20 | 2015-10-06 | Freescale Semiconductor, Inc. | System for dynamically distributing an available memory resource to redundant and non-redundant storage areas using RAM routing logic |
FR2982406A1 (fr) * | 2011-11-07 | 2013-05-10 | St Microelectronics Rousset | Memoire securisee qui evite la degradation de donnees |
FR2983597B1 (fr) * | 2011-12-01 | 2014-01-24 | Viaccess Sa | Procede de detection d'une erreur de lecture d'une donnee |
US8898408B2 (en) * | 2011-12-12 | 2014-11-25 | Dell Products L.P. | Memory controller-independent memory mirroring |
-
2013
- 2013-07-01 JP JP2013137959A patent/JP2015011609A/ja active Pending
-
2014
- 2014-06-30 US US14/320,445 patent/US9430340B2/en active Active
- 2014-06-30 CN CN201410302387.6A patent/CN104281530A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02283000A (ja) * | 1989-04-24 | 1990-11-20 | Mitsubishi Electric Corp | 半導体メモリ |
JPH08137757A (ja) * | 1994-11-08 | 1996-05-31 | Hitachi Ltd | 半導体集積回路装置 |
JPH1050056A (ja) * | 1996-07-31 | 1998-02-20 | Sharp Corp | 半導体記憶装置 |
JPH10134598A (ja) * | 1996-10-30 | 1998-05-22 | Nec Corp | 半導体メモリ及びそのテスト方法 |
JP2011164827A (ja) * | 2010-02-08 | 2011-08-25 | Nippon Avionics Co Ltd | フラッシュメモリを備えた電子機器およびフラッシュメモリに格納されたプログラムの更新方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104281530A (zh) | 2015-01-14 |
US9430340B2 (en) | 2016-08-30 |
US20150006942A1 (en) | 2015-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10204698B2 (en) | Method to dynamically inject errors in a repairable memory on silicon and a method to validate built-in-self-repair logic | |
EP2596423B1 (en) | Providing platform independent memory logic | |
US8341337B1 (en) | Data storage device booting from system data loaded by host | |
TWI503835B (zh) | Test apparatus and test method | |
CN102592679B (zh) | 一种闪存芯片的测试方法和闪存芯片 | |
JP2012198876A (ja) | メモリデバイスにおける読み出し不可状態を解決するための装置及び方法 | |
KR20100073662A (ko) | 프로그래머 장치 | |
CN105653332B (zh) | 一种可修正otp烧录问题的mcu系统及烧录方法 | |
CN113901754B (zh) | 基于fpga的以太网macip的板级验证结构和方法 | |
TW201017677A (en) | Data storage apparatus, data storage controller, and related automated testing method | |
US20130246867A1 (en) | Test circuit, memory system, and test method of memory system | |
US20020161963A1 (en) | Single-chip microcomputer with dynamic burn-in test function and dynamic burn-in testing method therefor | |
US7954019B2 (en) | Flash storage device and method and system for testing the same | |
JP5309938B2 (ja) | 要求処理装置、要求処理システムおよびアクセス試験方法 | |
JP2015011609A (ja) | 情報処理装置、半導体装置及び情報データのベリファイ方法 | |
JP4359327B2 (ja) | 半導体集積回路装置、icカードおよび検査装置 | |
KR101139207B1 (ko) | 메모리 시스템 및 그 동작 방법 | |
KR20090107689A (ko) | 반도체 장치 | |
JP2010020819A (ja) | 不揮発性記憶装置の制御方法、および不揮発性記憶装置 | |
KR20150006167A (ko) | 반도체 시스템 및 그 리페어 방법 | |
CN113672260A (zh) | 一种处理器cpu初始化方法 | |
JP2017059278A (ja) | 半導体メモリ及び半導体メモリのベリファイ方法 | |
CN105354158A (zh) | 一种基于存储卡的数据烧录方法和装置 | |
JP2012243328A (ja) | 不揮発性半導体記憶装置、および不揮発性半導体記憶装置の保持マージン検査方法 | |
US11798601B2 (en) | Read only memory (ROM)-emulated memory (REM) profile mode of memory device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160610 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170418 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20171010 |