(57)【要約】【課題】不揮発性メモリに対するテストを一部省略しても必要な寿命を満たすこと。【解決手段】プロセッサ１０８とフラッシュメモリ１１２、１１４との間で情報の授受を行うに際して、フラッシュメモリ１１２の書き換え保証回数を１００回に設定し、フラッシュメモリ１１４の書き換え保証回数を１０万回に設定し、書き換え保証回数の少ないフラッシュメモリ１１２に書き換え頻度の少ない命令やデータを格納し、書き換え保証回数の多いフラッシュメモリ１１４には書き換え頻度の多い命令やデータを格納し、全てのフラッシュメモリを同一の書き換え保証回数とする場合に比べて、書き換え保証回数テストに要する時間作業およびコストを低減する。【選択図】        図１
2004199174.tif 000002
【特許請求の範囲】
【請求項１】
情報を処理する情報処理手段と、前記情報処理手段の処理に関連する情報を格納する不揮発性メモリとを備え、前記不揮発性メモリは、書き換え保証回数の異なる複数の記憶エリアを有し、前記複数の記憶エリアのうち書き換え保証回数の小さい記憶エリアには、書き換え頻度の少ない情報が格納されてなる情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、前記複数の記憶エリアのうち書き換え保証回数の小さい記憶エリアには、入替えの有無が規定された情報のうち入替え無しの情報が格納されてなることを特徴とする情報処理装置。
【請求項３】
請求項１に記載の情報処理装置において、前記複数の記憶エリアのうち書き換え保証回数の大きい記憶エリアには、書き換え頻度の多い情報が格納されてなることを特徴とする情報処理装置。
【請求項４】
情報を処理する情報処理手段と、前記情報処理手段の処理に関連する情報を格納する不揮発性メモリとを備え、前記不揮発性メモリは、書き換え保証回数の異なる複数の記憶エリアを有し、前記複数の記憶エリアのうち書き換え保証回数の小さい記憶エリアは、書き換え保証回数のテストを簡略できる構成としてなる情報処理装置。
【請求項５】
請求項４に記載の情報処理装置において、前記複数の記憶エリアのうち書き換え保証回数の小さい記憶エリアには、書き換え頻度の少ない情報が格納されるとともに、入替えの有無が規定された情報のうち入替え無しの情報が格納されてなることを特徴とする情報処理装置。
【請求項６】
請求項４に記載の情報処理装置において、前記複数の記憶エリアのうち書き換え保証回数の小さい記憶エリアには、書き換え頻度の少ない情報が格納され、書き換え保証回数の大きい記憶エリアには、書き換え頻度の多い情報が格納されてなることを特徴とする情報処理装置。
【請求項７】
情報を処理する情報処理手段と、前記情報処理手段の処理に関連する情報を格納する複数の不揮発性メモリとを備え、前記複数の不揮発性メモリのうち書き換え保証回数の小さい不揮発性メモリには、書き換え頻度の少ない情報が格納されてなる情報処理装置。
【請求項８】
請求項７に記載の情報処理装置において、前記複数の不揮発性メモリのうち書き換え保証回数の小さい不揮発性メモリには、入替えの有無が規定された情報のうち入替え無しの情報が格納されてなる情報処理装置。
【請求項９】
請求項７に記載の情報処理装置において、前記複数の不揮発性メモリのうち書き換え保証回数の大きい不揮発性メモリには、書き換え頻度の多い情報が格納されてなる情報処理装置。
【請求項１０】
請求項１に記載の情報処理装置において、前記情報は、命令とデータを含み、前記情報処理手段は、プロセッサで構成され、前記プロセッサは、前記命令を実行して前記データを処理してなることを特徴とする情報処理装置。
【請求項１１】
請求項１に記載の情報処理装置において、前記不揮発性メモリは、フラッシュメモリで構成されてなることを特徴とする情報処理装置。
【請求項１２】
請求項１に記載の情報処理装置において、命令またはデータを格納するランダムアクセスメモリと、外部の機器と情報の授受を行う入出回路とを備えてなることを特徴とする情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置に係り、特に、不揮発性メモリとしてフラッシュメモリを用いて情報を処理するに好適な情報処理装置に関する。
【０００２】
【従来の技術】
フラッシュメモリを用いた制御装置としては、例えば、プロセッサ、フラッシュメモリ、ランダムアクセスメモリ、入出力回路などを備えたものがある。この種の制御装置に用いられたフラッシュメモリは２つの記憶エリアに分割されており、一方の記憶エリアにはプログラムが格納され、他方の記憶エリアにはデータが格納されている。データはプログラムに比較して書き換え頻度が多いため、データを格納したフラッシュメモリの書き換え保証回数の制限によって制御装置の寿命が決まるようになっている。このため、データを格納したフラッシュメモリが寿命になったときには、プログラムとデータを格納する記録エリアをそれぞれ入替え、これによって制御装置の寿命を延長するようにしたものが提案されている（特許文献１）。
【０００３】
【特許文献１】
特許第３０６５９９１号公報（第５頁〜第９頁、図１）
しかしながら、上記従来技術の方法で得られる制御装置の寿命は、フラッシュメモリの書き換え保証回数のたかだか２倍であり、それ以上の長い寿命を得るためには、フラッシュメモリの書き換え保証回数を増大させる必要がある。
【０００４】
フラッシュメモリの書き換え保証回数を増大させる方法としては、例えば、フラッシュメモリの出荷前に行う書き込み検査の際に、書き込みが成功するまでに要した再書き込み処理の回数を計測し、この計測回数が一定の条件を満たしたもののみを出荷することにより、フラッシュメモリの書き換え保証回数を増大させるようにしたものが提案されている（特許文献２）。
【０００５】
【特許文献２】
特開平１０−１２５０９２号公報（第３頁〜第５頁、図１）
【０００６】
【発明が解決しようとする課題】
しかし、従来技術の方法では、フラッシュメモリの出荷前に、全てのフラッシュメモリに対して、書き込みが成功するまでに要する再書き込み処理の回数を計測しなければならず、フラッシュメモリの検査に要する手間が増大し、価格が上昇する。
【０００７】
本発明の課題は、不揮発性メモリに対するテストを一部省略しても必要な寿命を満たすことにある。
【０００８】
【課題を解決するための手段】
前記課題を解決するために、本発明は、情報処理手段の処理に伴う情報を不揮発性メモリとしてのフラッシュメモリに格納するに際して、フラッシュメモリを書き換え保証回数の異なる複数の記憶エリアを有するもので構成し、複数の記憶エリアのうち書き換え保証回数の小さい記憶エリアには書き換え頻度の少ない情報を格納する。この場合、複数の記憶エリアのうち書き換え保証回数の小さい記憶エリアには、入替えの有無が規定された情報のうち入替え無しの情報を格納し、書き換え保証回数の大きい記憶エリアには書き換え頻度の多い情報を格納する。
【０００９】
また、不揮発性メモリとしては、複数のフラッシュメモリを用い、一方のフラッシュメモリを書き換え保証回数の小さいフラッシュメモリとして用い、他方のフラッシュメモリを書き換え保証回数の大きいフラッシュメモリとして用い、書き換え保証回数の小さいフラッシュメモリに、書き換え頻度の少ない情報を格納し、書き換え保証回数の大きいフラッシュメモリには書き換え頻度の多い情報を格納することもできる。この場合、情報として命令とデータを含むものを用い、情報処理手段としてプロセッサを用い、このプロセッサにより、命令を実行してデータを処理する構成を採用することができる。
【００１０】
前記した手段によれば、書き換え保証回数の小さい記憶エリアまたは書き換え保証回数の小さいフラッシュメモリには書き換え頻度の少ない情報を格納するようにしているため、書き換え保証回数の小さい記憶エリアまたはフラッシュメモリに対する出荷前のテストを一部省略することができ、全ての記録エリアまたはフラッシュメモリを同一の書き換え保証回数とする場合に比べて、書き換え保証回数を規定するためのテストに要する時間や手間を省くことができ、コスト低減に寄与することが可能になる。
【００１１】
【発明の実施の形態】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、制御対象としての機器を制御する制御装置に情報処理装置を適用したときの実施形態を示すブロック構成図である。図１において、制御装置１０２は、制御対象としての機器１０４を制御する装置として、プロセッサ１０８、入出力回路１１０、第１のフラッシュメモリ１１２、第２のフラッシュメモリ１１４、ランダムアクセスメモリ１１６、バス１１８を備えて構成されており、各部はバス１１８を介して接続され、入出力回路１１０は制御信号線１０６を介して機器１０４に接続されている。
【００１２】
制御装置１０２は、制御信号線１０６を介して機器１０４の状態を示す信号を取り込むとともに、取り込んだ信号を基に、制御信号線１０６を介して機器１０４を制御するための信号を出力する。この制御装置１０２としては、全ての回路が１つのＬＳＩチップに集積された１チップマイクロプロセッサで構成される場合もあり、また複数のＬＳＩに分割されている場合もある。
【００１３】
プロセッサ（ＣＰＵ）は情報を処理する情報処理手段として、バス１１８を通して、第１のフラッシュメモリ１１２、第２のフラッシュメモリ１１４、またはランダムアクセスメモリ１１６から命令を読み出して実行する。このプロセッサ１０８は、実行した命令がデータの読み込み、または書き込みを指示するものである場合には、バス１１８を通して第１のフラッシュメモリ１１２、第２のフラッシュメモリ１１４、ランダムアクセスメモリ１１６または入出力回路１１０に対してデータの読み込み、または書き込みを実行する。
【００１４】
入出力回路１１０は、バス１１８を通してプロセッサ１０８から読み出し、または書き込みの指示を受けたときには、制御信号線１０６を介して機器１０４との間で信号の入出力を行う。
【００１５】
第１のフラッシュメモリ１１２は、電源を切断しても、格納している情報の値を保持する不揮発性のメモリで構成されている。この第１のフラッシュメモリ１１２は、バス１１８を通してプロセッサ１０８から読み出し、または書き込みの指示を受けたときには、格納している情報の値を読み出しまたは情報の書き込みを行う。
【００１６】
第２のフラッシュメモリ１１４は、第１のフラッシュメモリ１１１と同様に不揮発性メモリで構成されており、バス１１８を通してプロセッサ１０８から読み出し、または書き込みの指示を受けたときには、格納している情報の値の読み出しまたは情報の書き込みを行う。
【００１７】
ランダムアクセスメモリ１１６は、電源を切断したときには、格納している情報の値が消去される揮発性メモリで構成されている。このランダムアクセスメモリ１１６は、バス１１８を通してプロセッサ１０８から読み出し、または書き込みの指示を受けたときには、格納している情報の値の読み出し、または情報の書き込みを行う。
【００１８】
次に、プロセッサ１０８の具体的構成を図２にしたがって説明する。プロセッサ１０８は、図２に示すように、レジスタ２０２、演算器２０４、命令フェッチ制御回路２０６、命令デコーダ２０８、バスインターフェイス２１０、データバス２１２、２１４、２１６、２２２、制御信号線２１８、２２０、２２４、２２６、２２８を備えて構成されている。
【００１９】
命令フェッチ制御回路２０６は、制御信号線２２６を通してバスインターフェイス２１０に命令フェッチ要求を送り、制御信号線２２６を通してバスインターフェイス２１０から命令コードを受け取る。命令フェッチに使用されるアドレスは、分岐命令実行時にはデータバス２２２を通して演算器２０４からバスインターフェイス２１０に送られ、それ以外の場合は制御信号線２２６を通してバスインターフェイス２１０に送られる。命令フェッチ制御回路２０６は、また、制御信号線２２４を通して命令デコーダ２０８に命令コードを出力する。
【００２０】
命令デコーダ２０８は、制御信号線２２４を通して命令フェッチ制御回路２０６から命令コードを受け取る。命令デコーダ２０８は、また、受け取った命令コードの内容に応じて、制御信号線２１８、２２０を通してレジスタ２０２、演算器２０４の制御を行う。命令デコーダ２０８は、また、受け取った命令コードがメモリ参照命令であった場合には、制御信号線２２８を通してバスインターフェイス２１０に読み出し、または書き込みの要求を行う。この場合、読み出し、または書き込みのアドレスおよび書き込みのデータはデータバス２２２を通して演算器２０４からバスインターフェイス２１０に送られる。また、読み出しのデータはデータバス２１６を通してバスインターフェイス２１０からレジスタ２０２に送られる。命令デコーダ２０８は、また受け取った命令コードが分岐命令であった場合には、制御信号線２２４を通して分岐要求を命令フェッチ制御回路２０６に出力する。
【００２１】
レジスタ２０２は、制御信号線２１８を通して命令デコーダ２０８から読み出しの指示を受け取り、格納しているデータを読み出してデータバス２１４に出力する。レジスタ２０２は、また、制御信号線２１８を通して命令デコーダ２０８から書き込みの指示を受け取り、データバス２１２、２１６からデータを取り込んで格納する。
【００２２】
演算器２０４は、制御信号線２２０を通して命令デコーダ２０８から演算内容の指示を受け取り、データバス２１４から取り込んだデータに対して、指示された演算を行ったあと、データバス２１２、２２２に演算結果を出力する。
【００２３】
バスインターフェイス２１０は、制御信号線２２６を通して命令フェッチ制御回路２０６から命令フェッチ要求を受け取ると、バス１１８に読み出し要求を出力し、バス１１８から取り込んだ命令コードを制御信号線２２６を通して命令フェッチ制御回路２０６に出力する。バスインターフェイス２１０は、また、制御信号線２２８を通して命令デコーダ２０８からデータの読み出し、または書き込み要求を受けたときには、バス１１８を通してデータの読み出し、または書き込みを実行する。その際、読み出し、または書き込みのアドレスおよび書き込みのデータはデータバス２２２から取り込み、読み出しのデータはデータバス２１６に出力する。
【００２４】
上記構成によるプロセッサ１０８は、図３に示すように、一定周期のクロックに同期して動作するように構成されており、各命令はクロックの５つの周期にまたがって実行される。
【００２５】
具体的には、最初の周期はＩＦステージ、２番目の周期はＩＤステージ、３番目の周期はＥＸステージ、４番目の周期はＭＡステージ、５番目の周期はＷＢステージである。連続する複数の命令１〜４は、図３に示した通り、１周期ずつずれた状態で、連続する命令の異なるステージが重なるように実行される。
【００２６】
プロセッサ１０８は、演算命令を実行する場合には、ＩＦステージで命令フェッチ、ＩＤステージで命令デコードおよびレジスタ読み出し、ＥＸステージで演算、ＷＤステージではレジスタ書き込みを行う。そしてＭＡステージでは何も行わない。
【００２７】
一方、プロセッサ１０８は、メモリ参照命令を実行する場合には、ＩＦステージで命令フェッチ、ＩＤステージで命令デコードおよびレジスタ読み出し、ＥＸステージでアドレス計算、ＭＡステージでメモリ参照、ＷＢステージでレジスタ書き込みを行う。
【００２８】
またプロセッサ１０８は、分岐命令を行う場合には、ＩＦステージで命令フェッチ、ＩＤステージで命令デコードおよびレジスタ読み出し、ＥＸステージでアドレス計算を行う。このＭＡステージでは、該当する分岐命令に関しては何も行わないが、分岐先の命令の命令フェッチが行われる。なおＷＢステージでは何も行わない。
【００２９】
次に、入出力回路１１０の具体的構成を図４にしたがって説明する。入出力回路１１０は、バスインターフェイス４０２、ＡＤ変換回路４０４、ＤＡ変換回路４０６、デジタル入力回路４０８、デジタル出力回路４１０、タイマ回路４１２を備えて構成されており、各回路が制御信号線４１４を介して接続されている。
【００３０】
バスインターフェイス４０２は、バス１１８から読み出し要求を受けたときに、制御信号線４１４を通してＡＤ変換回路４０４、デジタル入力回路４０８、またはタイマ回路４１２に読み出し要求を出力し、制御信号線４１４からデータを取り込んでバス１１８に出力する。またバスインターフェイス４０２は、バス１１８から書き込み要求を受けたときには、制御信号線４１４を通してＤＡ変換回路４０６、デジタル出力回路４１０またはタイマ回路４１２に書き込み要求を出力し、同時に書き込みデータを制御信号線４１４に出力する。
【００３１】
ＡＤ変換回路４０４は、制御信号線１０６からアナログ信号は取り込んでデジタルデータに変換する。ＡＤ変換回路４０４は、制御信号線４１４を通して読み出し要求を受け取ると、変換後のデジタルデータを制御信号線４１４に出力する。
【００３２】
ＤＡ変換回路４０６は、制御信号線４１４を通して書き込み要求を受け取ると、制御信号線４１４からデータを取り込んで記憶する。ＤＡ変換回路４０６は、また、記憶したデータをアナログ信号に変換して制御信号線１０６に出力する。
【００３３】
デジタル入力回路４０８は、制御信号線４１４を通して読み出し要求を受けると、制御信号線１０６からデジタル信号を取り込んで制御信号線４１４にデータを出力する。
【００３４】
デジタル出力回路４１０は、制御信号線４１４を通して書き込み要求を受けると、制御信号線４１４からデータを取り込んで記憶する。デジタル出力回路４１０は、また、記憶したデータをデジタル信号として制御信号線１０６に出力する。
【００３５】
タイマ回路４１２は、制御信号線４１４を通して書き込み要求を受け取ると、制御信号線４１４からデータを取り込んで記憶する。また、タイマ回路４１２は、記憶した値に応じたパルス信号を生成し、生成したパルス信号を制御信号線１０６に出力する。
【００３６】
次に、第１のフラッシュメモリ１１２の具体的構成を図５にしたがって説明する。第１のフラッシュメモリ１１２は、制御回路５０２、電源回路５０４、メモリマット５０６を備えて構成されており、制御回路５０２は、バス１１８に接続されているとともに制御信号線５０８を介して電源回路５０４に接続され、電源回路５０４は電源線５１２を介してメモリマット５０６に接続されている。
【００３７】
制御回路５０２は、バス１１８からメモリマット５０６への読み出しまたは書き込みの要求を受け取ったときに、制御信号線５１０を通してメモリマット５０６に読み出し制御信号または書き込みの制御信号を出力する。また、制御回路５０２は、バス１１８から制御回路５０２への書き込み要求を受け取ったときには、バス１１８からデータを取り込んで記憶する。またさらに、制御回路５０２は、記憶したデータが消去モードであることを示している場合には、制御信号線５０８を通して電源回路５０４に高電圧出力指令を出力すると同時に、制御信号線５１０を通してメモリマット５０６に消去命令を出力する。一方、制御回路５０２は、記憶したデータが書き込みモードであることを示している場合には、制御信号線５０８を通して電源回路５０４に高電圧出力指令を出力する。
【００３８】
電源回路５０４は、制御信号線５０８を通して制御回路５０２から高電圧出力指令を受け取ると、電源線５１２に高電圧を出力する。
【００３９】
メモリマット５０６は、制御信号線５１０を通して消去指令を受け取り、且つそのときの電源線５１２の電圧が高電圧であった場合には、内蔵する全ての記憶素子のデータを“１”にする。また、メモリマット５０６は、制御信号線５１０を通して書き込み制御信号を受け取り、且つそのときの電源線５１２の電圧が高電圧であった場合には、書き込み制御信号で指示された記憶素子に書き込み動作を行う。この書き込み動作は、バス１１８からデータを取り込み、取り込んだデータが“０”のビットにのみ“０”を書き込む。一方、取り込んだデータが“１”のビットのときには書き込みを行わない。また、メモリマット５０６は、制御信号線５１０を通して読み出し制御信号を受け取り、且つそのときの電源線５１２の電圧が通常の電圧であった場合には、読み出し制御信号で指定された記憶素子のデータを読みだしてバス１１８に出力する。なお、第２のフラッシュメモリ１１４も第１のフラッシュメモリ１１２と同一の構成である。
【００４０】
また、制御回路５０２に内蔵された制御レジスタには、図６に示すようなビット割付けが施されている。図６において、ＥＲビットは、消去モードであるか否かを示すビットである。ＥＲビットが“０”のときには消去モードでないことを示し、ＥＲビットが“１”のときには消去モードであることを示している。
【００４１】
一方、ＷＲビットは、書き込みモードであるか否かを示すビットである。ＷＲビットが“０”のときには書き込みモードでないことを示し、ＷＲビットが“１”のときには書き込みモードであることを示している。
【００４２】
次に、第１のフラッシュメモリ１１２にデータを書き込むときの処理を図７のフローチャートにしたがって説明する。図７に示す処理は、プロセッサ１０８で処理するプログラムによって実行される。
【００４３】
まず、処理が開始されると（ステップ７０２）、図６に示した制御レジスタのＥＲビットに“１”を書き込む処理が実行される（ステップ７０４）。このあと一定時間経過するのを待つ処理が行われる（ステップ７０６）。この待ち時間は、電源回路５０４が電源線５１２に出力する高電圧が安定するまでに必要な時間である。この待ち時間を確保することによって、フラッシュメモリ１１２の消去動作が確実に行われることが保証される。このと制御レジスタのＥＲビットに“０”を書き込む処理が行われる（ステップ７０８）。このあとも一定時間経過するのを待つ処理が行われる（ステップ７１０）。この待ち時間は、電源回路５０４が電源線５１２に出力する電圧が通常の電圧に戻って安定するまでに必要な時間である。この待ち時間を確保することによって、フラッシュメモリ１１２の次の読み出し動作が正常に行われることが保証される。このあと読み出しチェック処理が行われる（ステップ７１２）。このとき、全ての記憶素子の値を読み出し、“１”が読み出されたことを確認する。すなわち読み出しチェックの結果が正常か否かの判定を行い（ステップ７１４）、読み出しチェックが正常の場合にはステップ７１８に進み、異常の場合にはステップ７１６に進む。
【００４４】
ステップ７１６においては、ステップ７１４で異常となった回数を判定する処理が行われる。このとき、異常の回数が１００回以下の場合はステップ７０４に戻り、１００回を超えた場合にはステップ７３６に進み、このルーチンでの処理を終了する。
【００４５】
一方、ステップ７１４で読み出しチェックが正常と判定されたときには、制御レジスタのＷＲビットに“１”を書き込む処理を行う（ステップ７１８）。このあと一定時間経過するのを待つ処理を行う（ステップ７２０）。この待ち時間は電源回路５０４が電源線５１２に出力する高電圧が安定するまでに必要な時間である。この待ち時間を確保することによって、フラッシュメモリ１１２の次の書き込み動作が正常に行われることが保証される。
【００４６】
次に、データを書き込む処理が行われ（ステップ７２２）、制御レジスタのＷＲビットに“０”を書き込む処理が行われる（ステップ７２４）。このあと一定時間経過するのを待つ処理が行われる（ステップ７２６）。この待ち時間は電源回路５０４が電源線５１２に出力する電圧が通常の電圧に戻って安定するまでに必要な時間である。この待ち時間を確保することによって、フラッシュメモリ１１２の次の読み出し動作が正常に行われることが保証される。
【００４７】
次に、読み出しチェックの処理が行われる（ステップ７２８）。すなわち全ての記憶素子の値を読み出し、読み出したデータとステップ７２２で書き込んだデータとが一致するか否かを確認し、その後読み出しチェックの結果を判定する（ステップ７３０）。ステップ７３０において、読み出しチェックが正常と判定されたときにはステップ７３４に進み、このルーチンでの処理を終了し、異常の場合にはステップ７３２に進む。
【００４８】
ステップ７３２においては、ステップ７３０で異常となった回数を判定する処理が行われる。異常の回数が１００回以下の場合はステップ７１８に戻り、１００回を超えた場合にはステップ７３６に進み、書き込み処理が正常に終了しなかったとして、このルーチンでの処理を終了する。なお、ステップ７３４に到達した場合は、書き込み処理が正常に終了したとしてこのルーチンでの処理を終了する。
【００４９】
ここで、本実施形態においては、制御装置１０２に用いるフラッシュメモリとして、書き換え保証回数の異なるものを用い、書き換え保証回数の小さい第１のフラッシュメモリ１１２には書き換え頻度の少ない情報を格納し、書き換え保証回数の大きい第２のフラッシュメモリ１１４には書き換え頻度の多い情報を格納することとして、各フラッシュメモリ１１２、１１４に対する仕様が図８のように設定されている。
【００５０】
すなわち、第１のフラッシュメモリ１１２は、容量が５１２キロバイト（ＫＢ）、書き換え保証回数が１００回である。これに対して、第２のフラッシュメモリ１１４は、容量が１６キロバイト（ＫＢ）、書き換え保証回数が１０万回である。
【００５１】
次に、第１のフラッシュメモリ１１２と第２のフラッシュメモリ１１４を含むＬＳＩチップに対して、出荷前に書き換え保証回数を規定するためのテストの方法を図９にしたがって説明する。図９におけるテストでは、第１のフラッシュメモリ１１２と第２のフラッシュメモリ１１４が同一のＬＳＩチップに集積されている場合を想定している。なお、第１のフラッシュメモリ１１２と第２のフラッシュメモリ１１４が別々のＬＳＩチップで構成されている場合には、ＬＳＩチップごとに別々にテストを行う必要がある。
【００５２】
まず、処理が開始されると（ステップ９０２）、第１のフラッシュメモリ１１２の読み出し・書き込みテストの処理が実行される（ステップ９０４）。このあとフラッシュメモリ１１２に対するテストが成功したか否かの判定を行う（ステップ９０６）。第１のフラッシュメモリ１１２に対する読み出し・書き込みが成功したときには、書き換え保証回数として１００回保証できるとみなし、第１のフラッシュメモリ１１２に対する書き換え保証回数テストを省略する。そしてこの読み出し・書き込みテストが成功した場合にはステップ９０８に進み、テストに失敗した場合にはステップ９１８に進み、このルーチンでの処理を終了する。
【００５３】
ステップ９０８においては、第２のフラッシュメモリ１１４の読み出し・書き込みテストの処理が実行される（ステップ９０８）。このあと第２のフラッシュメモリ１１４に対するテスト結果が成功であるか否かの判定を行う（ステップ９１０）。フラッシュメモリ１１４に対するテストが成功した場合にはステップ９１２に進み、失敗した場合にはステップ９１８に進む。ステップ９１２において、第２のフラッシュメモリ１１４に対して、書き換え保証回数のテストが実行される（ステップ９１２）。すなわち、書き換え保証回数として１０万回保証するためのテストを行う。そして書き換え保証回数が１０万回を超えているか否かの確認を行い、書き換え保証回数テストが成功したか否かの判定を行う（ステップ９１４）。書き換え保証回数テストが成功した場合にはステップ９１６に進み、失敗した場合にはステップ９１８に進む。
【００５４】
ステップ９１６では、テストの結果、当該ＬＳＩが良品と判定されたことを示す。この場合、フラッシュメモリ以外の部分のテストも実施され、正常であれば、当該ＬＳＩは製品として出荷可能になる。
【００５５】
一方、ステップ９１８においては、テストの結果、当該ＬＳＩが不良品と判定されたことを示す。この場合、当該ＬＳＩは、製品として出荷することができず、廃棄される。
【００５６】
また、フラッシュメモリ１１２に対する書き換え保証回数テストを行っていないのは、ステップ９０４のテストに成功した場合は、書き換え保証回数が１００回を超えていることが確実であると仮定しているためである。
【００５７】
このように、比較的容量の少ない第２のフラッシュメモリ１１４にのみ書き換え保証回数テストを行うことにより、全てのフラッシュメモリに書き換え保証回数テストを行うときよりも、テストに要する時間やコストを削減すとが可能になる。
【００５８】
一方、ステップ９０４のテストに成功しても書き換え保証回数が１００回を超えていることが確実でない場合には、第１のフラッシュメモリ１１２の書き換え保証回数テストも行う必要がある。しかし、この場合でも、書き換え保証回数を１００回と少なく設定することにより、書き換え保証回数を１０万回とした場合に比べて、テストを簡略化したり、良品と不良品との判定基準を緩めたりすることによる低コスト化が期待できる。
【００５９】
次に、フラッシュメモリ１１２、１１４に格納する命令とデータの分類および通常動作時のフラッシュメモリ１１２、１１４の使いわけを図１０にしたがって説明する。
【００６０】
命令とデータのうち定数は、通常動作時には書き換えは行われない。したがって、命令とデータの定数は書き換え保証回数の少ない第１のフラッシュメモリ１１２に格納する。
【００６１】
一方、データのうち、ユーザが設定するデータは１日に数回の頻度で書き換えられる可能性がある。したがって、書き換え頻度の多いデータのうちユーザ設定値は書き換え保証回数の多い第２のフラッシュメモリ１１４に格納する。１日に数回という頻度は最大値であり、状況によりより少ない場合もあるが、書き換え頻度が少ない場合でも、第２のフラッシュメモリ１１４の容量に収まる範囲であれば、第２のフラッシュメモリ１１４に格納しても問題はない。
【００６２】
データのうち、稼動状態を記録するデータは、１日に数１０回の頻度で書き換えられる可能性がある。したがって、データのうち稼動状態を記録するためのデータは、書き換え保証回数の多い第２のフラッシュメモリ１１４に格納する。
【００６３】
このように、本実施形態においては、書き換え保証回数の少ない第１のフラッシュメモリ１１２には書き換え頻度の少ない命令とデータの定数のみを格納するようにしているため、書き換え頻度の多いデータを第１のフラッシュメモリ１１２に格納する必要がなく、制御装置１０２の寿命が短くなるのを防止することができる。また書き換え頻度の少ない命令やデータを書き換え保証回数の少ない第１のフラッシュメモリ１１２に格納し、書き換え頻度の多いデータを書き換え保証回数の多い第２のフラッシュメモリ１１４に格納するようにしたため、各フラッシュメモリ１１２、１１２に格納する命令やデータの書き換え頻度に応じて必要最小限の書き換え保証回数のフラッシュメモリを使用することが可能になり、全てのフラッシュメモリを同一の書き換え保証回数とする場合に比べて、テストに要する時間や作業を省略することができるとともに低コスト化を図ることが可能になる。
【００６４】
次に、制御装置１０２のフラッシュメモリ１１２、１１４を構成するに際しては、図１１に示すような仕様を採用することができる。
【００６５】
具体的には、第１のフラッシュメモリ１１２は、容量が５１２キロバイト（ＫＢ）、書き換え保証回数は１、０００回である。第２のフラッシュメモリ１１４は、容量は１６キロバイト（ＫＢ）、書き換え保証回数は１０万回である。
【００６６】
次に、上記仕様を基に、第１のフラッシュメモリ１１２と第２のフラッシュメモリ１１４に対する出荷前のテストとして、書き換え保証回数を規定するためのテストの方法を図１２にしたがって説明する。この場合、第１のフラッシュメモリ１１２と第２のフラッシュメモリ１１４は同一のＬＳＩチップに集積されている場合を想定している。また第１のフラッシュメモリ１１２と第２のフラッシュメモリ１１４が別々のＬＳＩチップで構成されている場合には、ＬＳＩチップごとに別々にテストを行う必要がある。
【００６７】
まず、処理が開始されると（ステップ１２０２）、第１のフラッシュメモリ１１２に対して、読み出し・書き込みテストが行われる（ステップ１２０４）。このテストが行われたときには、テストの結果が成功したか否かの判定を行う（ステップ１２０６）。このテストが成功したときにはステップ１２０８に進み、失敗した場合にはステップ１２２２に進み、このルーチンでの処理を終了する。
【００６８】
ステップ１２０８においては、第１のフラッシュメモリ１１２の書き換え保証回数のテストを行う。このテストは、第１のフラッシュメモリ１１２の書き換え保証回数として１、０００回を保証できるか否かのテストを行う。そしてこのテストにより、書き換え保証回数が１、０００回を超えているか否かの確認を行う。書き換え保証回数のテストが行われたあとは、このテスト結果が成功したか否かの判定を行う（ステップ１２１０）。このテストが成功した場合にはステップ１２１２に進み、テストが失敗した場合にはステップ１２２２に進み、このルーチンでの処理を終了する。ステップ１２１２においては、第２のフラッシュメモリ１１４に対する読み出し・書き込みテストを行う。このテストが行われたあとは、このテストの結果を判定するための処理を行う（ステップ１２１４）。そしてこのテスト結果が成功した場合にはステップ１２１６に進み、テストが失敗した場合にはステップ１２２２に進み、このルーチンでの処理を終了する。
【００６９】
ステップ１２１６においては、第２のフラッシュメモリ１１４の書き換え保証回数に関するテストを行う。第２のフラッシュメモリ１１４の書き換え保証回数を１０万回に規定できるか否かのテストを行う。このテストにより、第２のフラッシュメモリ１１４に対する書き換え保証回数が１０万回を超えているか否かの判定を行う（ステップ１２１８）。このテスト結果の判定で、テストが成功していると判定されたときには、ステップ１２２０に進み、テストが失敗した場合には、ステップ１２２２に進む。
【００７０】
ステップ１２２０は、テストの結果、当該ＬＳＩが良品と判定されたことを示す。この場合、フラッシュメモリ以外の部分のテストも実施され、正常であれば、当該ＬＳＩは製品として出荷可能になる。
【００７１】
一方、ステップ１２２２は、テストの結果、当該ＬＳＩが不良品と判定されたことを示す。この場合、当該ＬＳＩは製品として出荷することができず、廃棄される。
【００７２】
本実施形態においては、第１のフラッシュメモリ１１２の書き換え保証回数を１、０００回に設定しているため、第１のフラッシュメモリ１１２の書き換え保証回数を１００回に設定したときとは異なり、第１のフラッシュメモリ１１２に対する書き換え保証回数テストを行う必要がある。しかしながら、第１のフラッシュメモリ１１２の書き換え保証回数を１、０００回と、第２のフラッシュメモリ１１４よりも少なく設定しているため、第１のフラッシュメモリ１１２の書き換え保証回数を第２のフラッシュメモリ１１４と同様に１０万回とした場合に比べて、テストを簡略化したり、良品と不良品との判断基準を緩めたりすることによって、低コスト化を図ることができる。
【００７３】
このように、本実施形態においては、比較的容量の少ない第２のフラッシュメモリ１１４にのみ書き換え保証回数を多く設定し、容量の多い第１のフラッシュメモリ１１２に対する書き換え回数テストを簡略化することにより、全てのフラッシュメモリに書き換え保証回数を多く設定するための書き換え回数テストを行うときよりも、テストに要する時間、作業を削減することができるとともにテストに要するコストを削減することが可能になる。
【００７４】
フラッシュメモリ１１２の書き換え保証回数を１、０００回に設定し、第２のフラッシュメモリ１１４の書き換え保証回数を１０万回に設定したときに、各フラッシュメモリ１１２、１１４に格納する命令、データの分類とデバック時のフラッシュメモリ１１２、１１４の使いわけを図１３にしたがって説明する。
【００７５】
命令とデータのうち定数は、通常動作時に書き換えは行わないが、デバック時には１日に数回の頻度で書き換えが行われる可能性がある。したがって、第１のフラッシュメモリ１１２の書き換え保証回数が１００回の場合には、１か月程度で第１のフラッシュメモリ１１２は寿命に到達する可能性がある。そこで、第１のフラッシュメモリ１１２として書き換え保証回数が１、０００回であるものを使用することで、第１のフラッシュメモリ１１２の寿命を１年程度に伸ばすことが可能になる。通常、デバック（出荷前に発生する故障）は、数か月で終了することから、ＬＳＩを集荷する前のデバック用のＬＳＩに用いる第１のフラッシュメモリ１１２として、書き換え保証回数が１、０００回に設定されたフラッシュメモリ１１２を使用すれば、寿命は十分と言える。
【００７６】
すなわち、一般に、デバックに使用する装置の台数は製品として出荷する台数よりも圧倒的に少ないことから、デバックに使用する装置には比較的高価なフラッシュメモリ（書き換え保証回数が１、０００回に設定されたフラッシュメモリ）１１２を使用し、製品として出荷する装置には、比較的安価なフラッシュメモリ（書き換え保証回数が１００回に設定されたフラッシュメモリ）を使用することにより、製品の価格を低く押えたまま、必要な装置の寿命を確保することが可能になる。
【００７７】
次に、本発明の第２実施形態を図１４にしたがって説明する。本実施形態は、図１の第１のフラッシュメモリ１１２、第２のフラッシュメモリ１１４の代わりに、フラッシュメモリ１４０４を用いたものであり、他の構成は図１のものと同様である。
【００７８】
具体的には、フラッシュメモリ１４０４は、図１５に示すように、第１のフラッシュメモリ１１２と同様に、制御回路１５０２、電源回路１５０４、メモリマット１５０６を備えて構成されている。すなわち、フラッシュメモリ１４０４は、第１のフラッシュメモリ１１２と同一の構成であるが、メモリマット１５０６は、便宜上その記憶エリアが記憶エリア１と記録エリア２に分割されている。これは、メモリマット１５０６が物理的に２つの記憶エリアに分割されているわけではなく、特定のアドレスの範囲を記憶エリア１、それ以外を記憶エリア２と仮想的に呼んでいるだけである。
【００７９】
次に、フラッシュメモリ１４０４の仕様を図１６にしたがって説明する。フラッシュメモリ１４０４の記憶エリア１は、容量が４９６キロバイト（ＫＢ）、書き換え保証回数は１００回である。記憶エリア２は、容量が１６キロバイト（ＫＢ）、書き換え保証回数は１０万回である。記憶エリア１と記憶エリア２との区別は仮想的なものであり、記憶エリア１の容量は任意に決めることができる。記憶エリア２の容量は、５１２キロバイト（ＫＢ）から記憶エリア１の容量を引いたものとなる。
【００８０】
このように、１つのフラッシュメモリ１４０４の記憶エリアを２つの記憶エリアに分割して、各記憶エリアに異なる書き換え保証回数を設定することにより、同一のハードウエア構成で、書き換え保証回数の少ない記憶エリア１の容量を任意の値に設定することが可能になる。
【００８１】
次に、フラッシュメモリ１４０４を内蔵したＬＳＩチップのテスト方法を図１７にしたがって説明する。
【００８２】
まず、処理が開始されると（ステップ１７０２）、フラッシュメモリ１４０４の全ての記憶エリアに対して、読み出し・書き込みテストが行われる（ステップ１７０４）。このあとテスト結果を基にテストが成功したか否かの判定を行い（ステップ１７０６）、テストが成功した場合にはステップ１７０８に進み、テストが失敗した場合にはステップ１７１４に進む。
【００８３】
ステップ１７０８においては、記憶エリア２の書き換え保証回数のテストが行われ、書き換え保証回数が１０万回を超えているか否かの判定（確認）を行う（ステップ１７１０）。テスト結果を判定し、テストが成功した場合にはステップ１７１２に進み、テストが失敗した場合にはステップ１７１４に進む。
【００８４】
ステップ１７１２は、テストの結果、当該ＬＳＩが良品と判定されたことを示す。この場合、フラッシュメモリ以外の部分のテストも実施され、正常であれば、当該ＬＳＩは製品として出荷可能になる。
【００８５】
一方、ステップ１７１４は、テストの結果、当該ＬＳＩが不良品と判定されたことを示す。この場合、当該ＬＳＩは製品として出荷することができず、廃棄される。
【００８６】
本実施形態において、記憶エリア１に対する書き換え保証回数テストを行っていないのは、ステップ１７０４のテストに成功した場合は、書き換え保証回数が１００回を超えていることが確実であると仮定しているためである。
【００８７】
このように、本実施形態においては、比較的容量の少ない記憶エリア２にのみ書き換え保証回数テストを行うことにより、全ての記憶エリアに対して書き換え保証回数テストを行うときよりも、テストに要する時間、作業を削減することができるとともに、テストに要するコストを削減することが可能になる。
【００８８】
なお、ステップ１７０４のテストに成功しても、書き換え保証回数が１００回を超えていることが確実でない場合には、記憶エリア１の書き換え保証回数テストも行う必要がある。しかし、この場合でも、書き換え保証回数を１００回と少なく設定することにより、書き換え保証回数を１０万回とした場合に比べて、テストを簡略化したり、良品と不良品との判断基準を緩めたりすることによる低コスト化が期待できる。
【００８９】
次に、本発明の第３実施形態を図１８にしたがって説明する。本実施形態は、制御装置１８０２内に記憶装置用インターフェイス（ＳＩＦ）１８０４を設け、このインターフェイス１８０４をバス１８０８を通して外部の記憶装置１８０６に接続したものであり、他の構成は図１のものと同様である。バス１８０８と記憶装置１８０６との組合わせとしては、フラッシュメモリなどの不揮発性メモリに直接接続するケース、ＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｅｖｉｃｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）などのストレージ接続用のインターフェイスを経由して、ハードディスクなどの記憶装置に接続するケース、ネットワークを経由してデータベースサーバなどに接続するケースなどが考えられる。
【００９０】
次に、制御装置１８０２のフラッシュメモリ１１２、１１４に格納する命令およびデータの分類と通常動作時のフラッシュメモリ１１２、１１４の使いわけを図１９にしたがって説明する。
【００９１】
本実施形態は、フラッシュメモリ１１２、１１４に入替えの有無が規定された情報も格納するようにしたものであり、命令およびデータの定数を入替え無しと入替え有りとに分類した点にある。入替え無しの情報は、図１０の命令およびデータの定数に相当する。入替え有りの情報は、記憶装置１８０６から転送されてきた命令、またはデータによって入替えられる可能性のあるものを示す。時刻や装置の稼動状態などに応じて複数の命令やデータの中から１つを選んで処理を行うケースを想定している。入替え有りの命令およびデータの定数は書き換え頻度が多くなる可能性があるため、書き換え保証回数の多い第２のフラッシュメモリ１１４に格納することとしている。
【００９２】
このように、本実施形態においては、必要となる制御方法に応じて、記憶装置１８０６から異なる命令またはデータを転送してきて、フラッシュメモリ１１２、１１４の中身の入替えを行うことにより、少ないフラッシュメモリで多様な制御方法に対応することが可能になる。
【００９３】
また、本実施形態においても、フラッシュメモリ１１２、１１４に格納する命令やデータの書き換え頻度に応じて必要最小限の書き換え保証回数のフラッシュメモリ１１２、１１４を使用することが可能になり、各フラッシュメモリ１１２、１１４を同一の書き換え保証回数とする場合に比べて、テストに要する時間、作業を削減することができるとともに、テストに要するコストを削減することが可能になる。
【００９４】
【発明の効果】
以上説明したように、本発明によれば、全ての記録エリアまたはフラッシュメモリを同一の書き換え保証回数とする場合に比べて、書き換え保証回数を規定するためのテストに要する時間や手間を省くことができ、コスト低減に寄与することが可能になる。
【図面の簡単な説明】
【図１】本発明の第１実施形態を示すブロック構成図である。
【図２】プロセッサの構成を説明するためのブロック構成図である。
【図３】プロセッサの動作を説明するための図である。
【図４】入出力回路の構成を説明するためのブロック構成図である。
【図５】第１のフラッシュメモリの構成を説明するためのブロック構成図である。
【図６】フラッシュメモリに内蔵された制御レジスタのビット割付け方法を説明するための図である。
【図７】第１のフラッシュメモリにデータを書き込むときの処理を説明するためのフローチャートである。
【図８】フラッシュメモリの仕様を説明するための図である。
【図９】第１のフラッシュメモリと第２のフラッシュメモリを含むＬＳＩチップのテスト方法を説明するためのフローチャートである。
【図１０】フラッシュメモリの使い分けを説明するための図である。
【図１１】フラッシュメモリの他の仕様を説明するための図である。
【図１２】第１のフラッシュメモリと第２のフラッシュメモリを含むＬＳＩチップの他のテスト方法を説明するためのフローチャートである。
【図１３】他のフラッシュメモリの使い分けを説明するための図である。
【図１４】本発明の第２実施形態を示すブロック構成図である。
【図１５】フラッシュメモリの他の実施形態を示すブロック構成図である。
【図１６】フラッシュメモリの仕様を説明するための図である。
【図１７】他のフラッシュメモリのテスト方法を説明するためのフローチャートである。
【図１８】本発明の第３実施形態を示すブロック構成図である。
【図１９】第３実施形態に用いられるフラッシュメモリの使い分けを説明するための図である。
【符号の説明】
１０２  制御装置
１０８  プロセッサ
１１０  入出力回路
１１２  第１のフラッシュメモリ
１１４  第２のフラッシュメモリ
１１６  ランダムアクセスメモリ
１４０２  制御装置
１４０４  フラッシュメモリ
１８０２  制御装置
【図１】
2004199174.tif 000003
【図２】
2004199174.tif 000004
【図３】
2004199174.tif 000005
【図４】
2004199174.tif 000006
【図５】
2004199174.tif 000007
【図６】
2004199174.tif 000008
【図７】
2004199174.tif 000009
【図８】
2004199174.tif 000010
【図９】
2004199174.tif 000011
【図１０】
2004199174.tif 000012
【図１１】
2004199174.tif 000013
【図１２】
2004199174.tif 000014
【図１３】
2004199174.tif 000015
【図１４】
2004199174.tif 000016
【図１５】
2004199174.tif 000017
【図１６】
2004199174.tif 000018
【図１７】
2004199174.tif 000019
【図１８】
2004199174.tif 000020
【図１９】
2004199174.tif 000021