(57)【要約】【課題】半導体装置に内蔵されたフラッシュメモリでＥＥＰＲＯＭエミュレーションを行うにあたって、フラッシュメモリはＥＥＰＲＯＭよりもデータ保持期間が短い。フラッシュメモリはブロック単位でデータを管理している。そこで、フラッシュメモリのデータ保持期間のスペック超過前にブロックチェンジを確実に実行する必要がある。【解決手段】フラッシュメモリのＥＥＰＲＯＭ代替領域において、内部ベリファイ電圧と読み出し電圧との間にデータレベルチェック電圧を設定する。データレベルがデータレベルチェック電圧を下回った場合にブロックチェンジを行う。【選択図】図７
2011002945.tif 000002
【特許請求の範囲】
【請求項１】
ＥＥＰＲＯＭエミュレーションを行うためのＥＥＰＲＯＭ代替領域を有するフラッシュメモリと、
ＣＰＵと、
前記ＥＥＰＲＯＭ代替領域における任意のブロックに書き込まれたデータに対応する電圧レベルと、所定のデータレベルチェック電圧とを比較するためのデータレベルチェック回路と
を具備し、
前記ＣＰＵは、前記データに対応する電圧レベルが、前記データレベルチェック電圧を下回った場合に、前記データを前記任意のブロックから読み出して他のブロックに書き込むブロックチェンジを実行する
半導体装置。
【請求項２】
請求項１に記載の半導体装置において、
前記ＣＰＵが、前記フラッシュメモリにおいて、データの書き込みおよび読出しをブロック単位で行うためのフラッシュメモリ操作プログラムと、前記ＣＰＵが、前記データレベルチェック回路を制御するためのデータレベルチェックプログラムとを有するファームウエア
をさらに具備し、
前記フラッシュメモリは、
前記ＣＰＵが実行するための所定のユーザ・アプリケーションを格納するプログラム領域と、
前記ＣＰＵが前記ファームウエアを呼び出してＥＥＰＲＯＭエミュレーションを実行するためのＥＥＰＲＯＭエミュレーション・ライブラリ
をさらに具備し、
前記ユーザ・アプリケーションは、前記フラッシュメモリ操作プログラムを呼び出して実行可能であり、
前記ユーザ・アプリケーションは、前記フラッシュメモリ操作プログラムとは独立した任意のタイミングで、前記ブロックチェンジを呼び出して実行可能である
半導体装置。
【請求項３】
請求項２に記載の半導体装置において、
前記フラッシュメモリ操作プログラムは、
前記ブロックチェンジにおいて、前記データを前記任意のブロックから読み出した後、前記任意のブロックを消去するための消去プログラム
をさらに具備する
半導体装置。
【請求項４】
請求項２または３に記載の半導体装置において、
前記データレベルチェックプログラムにおいて、前記任意のブロックに書き込まれたデータに対応する全てのビットについて、前記比較を行う
半導体装置。
【請求項５】
請求項１〜４のいずれかに記載の半導体装置において、
前記フラッシュメモリは、
前記データに対応する電圧レベルが、前記フラッシュメモリに設定されたリード可能な閾値電圧範囲から外れていた場合に、前記データを書き換えるためのデフォルトデータ
をさらに具備する
半導体装置。
【請求項６】
（ａ）フラッシュメモリのＥＥＰＲＯＭ代替領域における任意のブロックに書き込まれたデータに対応する電圧レベルと、所定のデータレベルチェック電圧とを比較するステップと、
（ｂ）前記データに対応する電圧レベルが、前記データレベルチェック電圧を下回った場合に、前記データを前記任意のブロックから読み出して他のブロックに書き込むブロックチェンジを実行するステップと
を具備する
ＥＥＰＲＯＭエミュレーション方法。
【請求項７】
請求項６に記載のＥＥＰＲＯＭエミュレーション方法において、
（ｃ）所定のユーザ・アプリケーションを実行するステップ
をさらに具備し、
前記ステップ（ｃ）は、
（ｃ−１）前記ＥＥＰＲＯＭ代替領域における任意のブロックにデータを書き込むステップと、
（ｃ−２）前記任意のブロックに書き込まれた前記データを前記ＥＥＰＲＯＭ代替領域から読み出すステップと、
（ｃ−３）前記ステップ（ｃ−１）および（ｃ−２）とは独立した任意のタイミングにおいて、前記ステップ（ａ）を実行するステップ
を具備する
ＥＥＰＲＯＭエミュレーション方法。
【請求項８】
請求項６または７に記載のＥＥＰＲＯＭエミュレーション方法において、
前記ステップ（ｂ）は、
（ｂ−１）前記データを前記任意のブロックから読み出した後、前記任意のブロックを消去するステップ
を具備する
ＥＥＰＲＯＭエミュレーション方法。
【請求項９】
請求項６〜８のいずれかに記載のＥＥＰＲＯＭエミュレーション方法において、
前記ステップ（ａ）は、
（ａ−１）前記任意のブロックに書き込まれたデータに対応する全てのビットについて、前記比較を行うステップ
を具備する
ＥＥＰＲＯＭエミュレーション方法。
【請求項１０】
請求項６〜９のいずれかに記載のＥＥＰＲＯＭエミュレーション方法において、
前記ステップ（ｂ）は、
（ｂ−２）前記データに対応する電圧レベルが、前記フラッシュメモリに設定されたリード可能な閾値電圧範囲から外れていた場合、前記データを所定のデフォルトデータに書き換えるステップ
を具備する
ＥＥＰＲＯＭエミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置と、この半導体装置を用いたＥＥＰＲＯＭエミュレーション方法とに係り、特に、フラッシュメモリを内蔵する半導体装置と、この半導体装置を用いたＥＥＰＲＯＭエミュレーション方法とに係る。
【背景技術】
【０００２】
従来、データの書き換えや保存を行うためには、外付け部品としてのＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）が用いられていた。今日は、同じ目的を果たすために、マイコンなどの半導体装置に内蔵可能でＥＥＰＲＯＭより扱い易いフラッシュメモリが用いられることが多い。より具体的には、マイコンなどの半導体に内蔵されたフラッシュメモリを利用してＥＥＰＲＯＭのエミュレーションを行うことで、データの書き換えや保存を行う。
【０００３】
上記に関連して、特許文献１（特開２００５−９２６５９号公報）には、データ書込・読出制御装置に係る記載が開示されている。図１は、この従来技術によるデータ書込・読出制御装置１０の構成について説明するためのブロック図である。
【０００４】
このデータ書込・読出制御装置１０は、フラッシュメモリ１１と、ＣＰＵ１２と、ＲＯＭ１３とを具備する。このデータ書込・読出制御装置１０において、ＣＰＵ１２は、フラッシュメモリ１１およびＲＯＭ１３に接続されている。
【０００５】
ここで、メモリは、複数のブロックに分割されている。書込手段は、複数のブロックの内の１つのブロックにデータを書き込む際、ブロックの空き領域の容量と書き込むデータのデータ量とを比較する。書込手段は、書き込むデータのデータ量の方が大きい場合、ブロックに書き込まれている全データを消去した後、データをブロックの先頭または最後から順次書き込む。書込手段は、書き込むデータのデータ量の方が小さい場合、ブロックのテータが書き込まれている領域の次からデータを順次書き込んでいく。読出手段は、ブロックからデータを読み出す際、最後にデータが書き込まれた領域をブロックの先頭または最後から順に検索し、この領域に書き込まれているデータを読み出す。
【０００６】
また、特許文献２（特開２００６−２６０４６８号公報）には、半導体装置に係る記載が開示されている。図２は、この従来技術による半導体装置２０の構成について説明するためのブロック図である。
【０００７】
この半導体装置２０は、ＣＰＵ２１と、フラッシュメモリ２２と、フラッシュコントローラ２５と、ＲＡＭ２６と、周辺マクロ２７とを具備する。フラッシュメモリ２２は、プログラム領域２３と、ＥＥＰＲＯＭ代替領域２４とを具備する。
【０００８】
ＣＰＵ２１は、フラッシュメモリ２２におけるプログラム領域２３およびＥＥＰＲＯＭ代替領域２４と、フラッシュコントローラ２５と、ＲＡＭ２６と、周辺マクロ２７とに接続されている。フラッシュコントローラ２５は、フラッシュメモリ２２におけるＥＥＰＲＯＭ代替領域２４と、ＲＡＭ２６とに接続されている。
【０００９】
プログラム領域２３は、フラッシュ操作プログラムを格納するためのものである。ＥＥＰＲＯＭ代替領域２４は、各種データを格納するためのものである。ＣＰＵ２１は、プログラム領域２３からフラッシュ操作プログラムを読み出して実行し、フラッシュコントローラ２５を制御する。フラッシュコントローラ２５は、ＣＰＵ２１による制御に従って、ＥＥＰＲＯＭ代替領域２４におけるデータを更新する。
【００１０】
図３は、図２におけるフラッシュメモリ２２のさらに詳細な構成について説明するための概略図である。
【００１１】
フラッシュメモリ３０は、データ長格納領域３１と、データ格納領域３２とを具備する。なお、図３におけるフラッシュメモリ３０は、図２におけるフラッシュメモリ２２に対応する。
【００１２】
データ格納領域３２は、複数のセクション３２ａ〜３２ｇを具備する。なお、図３における複数のセクション３２ａ〜３２ｇのうち、一部は図２におけるデータ長格納領域２３に対応し、別の一部は図２におけるデータ格納領域２４に対応する。
【００１３】
ＥＥＰＲＯＭ代替領域２４は、フラッシュメモリ３０の一部を、データ長格納領域３１やデータ格納領域３２として使用する。ＥＥＰＲＯＭエミュレーション機能によるデータ更新は、データ格納領域３２においてアドレスを更新しながらデータの追加書き込みを実行することにより実現する。
【００１４】
例えば、データ格納領域３２に含まれるブロックＢｍが、追加書き込みによりデータフルの状態となった場合について説明する。この場合は、書き込み対象ブロックを次のブロック、すなわちブロックＢｍ＋１、へ変更し、ＥＥＰＲＯＭエミュレーションによるデータ更新を継続する。
【００１５】
また、ブロックＢｍにおけるデータ保持期間は、本ブロックへの初回データ書き込みであるセクション３２ａの書き込みタイミングを起点に適用される。なお、特許文献１にその記載が開示されているデータ保持期間も同様に、書き込みの対象になるブロックへの初回データ書き込みタイミングが起点となる。
【００１６】
ここで、一般的なフラッシュメモリの動作原理について説明する。図４は、フラッシュメモリとして用いられるＭＯＳトランジスタの構成について説明するための断面図である。図４（ａ）は、フラッシュメモリとしての初期状態について説明するための断面図である。図４（ｂ）は、フラッシュメモリとしての書き込み状態について説明するための断面図である。
【００１７】
このＭＯＳトランジスタは、コントロールゲート４１ａ、４１ｂと、浮遊ゲート４２ａ、４２ｂと、ソース４３ａ、４３ｂと、ドレイン４４ａ、４４ｂとを具備する。言い換えれば、このＭＯＳトランジスタは、浮遊ゲート４２ａ、４２ｂおよびコントロールゲート４１ａ、４１ｂからなる２層多結晶シリコンゲートを具備する。
【００１８】
図４（ａ）の初期状態におけるＭＯＳトランジスタでは、浮遊ゲート中に電荷化が無い。反対に、図４（ｂ）の書き込み状態におけるＭＯＳトランジスタでは、浮遊ゲート中に電子が存在する。
【００１９】
図５は、フラッシュメモリとして用いられるＭＯＳトランジスタにおける、コントロールゲートへの印加電圧と、その結果として流れる電流との関係について説明するための図である。図５（ａ）は、フラッシュメモリとして用いられるＭＯＳトランジスタの概略図である。図５（ｂ）は、初期状態と、書き込み状態とにおける、電圧と電流との関係の変化について説明するためのグラフである。
【００２０】
図５（ａ）に示すとおり、ドレイン５３に電圧ＶＤ、ソース５２に電圧ＶＳ（＝０Ｖ）をそれぞれ印加した状態で、コントロールゲート５１に電圧ＶＣＧを印加した場合に、ドレイン５３からソース５２に向けて電流ＩＤが流れる。なお、ドレイン電圧ＶＤは一定とする。
【００２１】
図５（ｂ）のグラフでは、横軸がコントロールゲート５１への印加電圧ＶＣＧを、横軸が電流ＩＤを表す。ここで、第１のグラフ５５は初期状態を表し、第２のグラフ５６は書き込み状態を表す。この例では、浮遊ゲートに電子の無い初期状態５５において、コントロールゲート５１への印加電圧ＶＣＧが１Ｖを超えると、電流ＩＤが流れ始める。言い換えれば、初期状態において、閾値電圧は１Ｖである。
【００２２】
次に、浮遊ゲート中に電子が存在する書き込み状態５６において、コントロールゲート５１に電圧ＶＣＧを印加する場合について説明する。この場合、電圧ＶＣＧが低いうちは浮遊ゲート中の電子に阻まれ、電圧ＶＣＧが６Ｖを超えたときにやっと電流ＩＤが流れ始める。
【００２３】
したがって、初期状態５５を「１」、書き込み状態５６を「０」と決めることにより、このＭＯＳトランジスタを１ビットの半導体不揮発性メモリとして使用することが可能である。
【００２４】
ここで、半導体不揮発性メモリとしての、読み出し動作と、消去動作と、書き込み動作について説明する。
【００２５】
まず、読み出し動作としては、上記に説明したとおり、データ線上、すなわちドレイン５３とソース５２との間、に電流ＩＤが流れるか否かで、ビットが「０」であるか「１」であるかを読み出すことが出来る。
【００２６】
次に、消去動作としては、ソースとドレインに正の電圧を印加することで、浮遊ゲートから電子を抜き出すことが出来る。すなわち、ビットを「１」にすることが出来る。
【００２７】
最後に、書き込み動作としては、その前提として、先に消去状態を行っておく。すなわち、書き込み動作の直前において、ビットは「１」になっているので、「１」を書き込み時にはそのまま何もしない。「０」を書き込むときにのみ、コントロールゲート５１に正の電圧を印加し、ビットが「０」と判断される閾値範囲まで浮遊ゲートに電子を注入する。
【先行技術文献】
【特許文献】
【００２８】
【特許文献１】特開２００５−９２６５９号公報
【特許文献２】特開２００６−２６０４６８号公報
【発明の概要】
【発明が解決しようとする課題】
【００２９】
ＥＥＰＲＯＭエミュレーションは、ＥＥＰＲＯＭの機能を、マイコンなどの半導体装置に内蔵されたフラッシュメモリで代替する技術である。したがって、このフラッシュメモリは、データの書き換えや保存を行うＥＥＰＲＯＭのスペックを満たす必要がある。しかし、ＥＥＰＲＯＭにおけるデータ保持期間が通常は１０年以上であるのに対して、フラッシュメモリのデータ保持期間はより短い。
【００３０】
ここで、データ保持期間とは、書き込みデータレベルが経年などの要因によって徐々に劣化する特性を加味した上で、読み出しデータが書き込みデータと同一の値であることが保証される期間を意味する。データ保持期間は、データを保持するメモリとして使用する上で重要なスペック項目である。なお、データ保持期間はデバイスによって異なる。以下、データ保持期間の年数を「Ｘ年」と表す。
【００３１】
ここで、書き込みデータレベルの劣化について説明する。図６は、フラッシュメモリにおける書き込みデータレベルの経年変化の一例について説明するためのグラフである。このグラフにおいて、横軸は時間を、縦軸はフラッシュメモリの浮遊ゲートにおける電圧を、それぞれ表す。
【００３２】
書き込み電圧６４は、フラッシュメモリにデータを書き込む際にコントロールゲートに印加される電圧を表す。書き込み直後電圧６１は、フラッシュメモリにデータを書き込んだ直後における浮遊ゲート電圧を表し、書き込み電圧６４に等しい。読み出し電圧６６は、フラッシュメモリに書き込まれたデータが読み出し可能であることが保証されるための、浮遊ゲート電圧の最低値である。リード可能な閾値電圧範囲６２は、書き込み電圧６４から読み出し電圧６６までの範囲に等しい。内部ベリファイ電圧６５は、フラッシュメモリに書き込まれたデータが正しく書き込まれているかどうかを確認するために読み出す際の電圧であり、リード可能な閾値電圧範囲６２に含まれる。消去電圧６８は、フラッシュメモリに書き込まれたデータを消去する際に、コントロールゲートに印加される電圧を表す。ブランクチェック電圧６７は、フラッシュメモリに書き込まれたデータが消去されていることを確認する際に、コントロールゲートに印加される電圧を表す。リード不可能な閾値電圧範囲６３は、読み出し電圧６６から、ブランクチェック電圧６７までの範囲に等しい。
【００３３】
フラッシュメモリにデータが書き込まれた際に、浮遊ゲートに注入された電子は、時間の経過と共に、エネルギー準位のより低い方へ移動してしまう。その結果、浮遊ゲートにおける電圧、すなわちデータレベルは、図６のグラフのように、時間の経過と共に低下してしまう。データレベルが読み出し電圧６６よりも低下してしまうと、そのフラッシュメモリに書き込まれたデータは、たとえ読み出しに成功したとしても、その有効性が失われている。
【００３４】
フラッシュメモリにおけるデータ保持期間としてのＸ年は、使用ブロックへの初回データ書き込みを起点として、ブロック毎に適用される。したがって、Ｘ年が経過する前に書き込みブロックを変更することにより、データ保持期間の起点がリフレッシュされる。すなわち、実質的にＸ年以上のデータ保持期間を確保することが可能である。
【００３５】
しかし、Ｘ年が経過する前に別ブロックへの変更が行われなかった場合は、データ保持スペックを超過してしまう。その結果、フラッシュメモリにおける書き込みデータの有効性が失われてしまう、と言う問題がある。
【００３６】
この問題をより詳細に説明する。ＥＥＰＲＯＭエミュレーションは、フラッシュメモリに含まれる複数のブロックを使用して、アドレスを変えて最新データを追加書き込みしていく、と言う方法で実現されている。したがって、書き込みブロックの変更は、通常、使用データブロックがデータフルの状態になったタイミングで実施されれば十分である。
【００３７】
しかし、初回の書き込みからデータフルになるまでの期間は、書き込みを行うデータの長さや書き込みを行う頻度に依存する。書き込みデータの長さについては、ＥＥＰＲＯＭエミュレーション機能が組み込まれるシステムの使用により決定される。その一方で、書き込み頻度は、システムを最終的に使用するユーザの使用環境に依存するため、設計段階で一義的に決めることが出来ない。
【００３８】
これらの理由により、従来技術において、データ保持期間のスペック超過前にブロックチェンジを確実に実行することができない。
【課題を解決するための手段】
【００３９】
以下に、（発明を実施するための形態）で使用される番号を用いて、課題を解決するための手段を説明する。これらの番号は、（特許請求の範囲）の記載と（発明を実施するための形態）との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、（特許請求の範囲）に記載されている発明の技術的範囲の解釈に用いてはならない。
【００４０】
本発明による半導体装置は、フラッシュメモリ（７４）と、ＣＰＵ（７１）と、データレベルチェック回路とを具備する。ここで、フラッシュメモリ（７４）は、ＥＥＰＲＯＭエミュレーションを行うためのＥＥＰＲＯＭ代替領域（７８）を有する。データレベルチェック回路は、ＥＥＰＲＯＭ代替領域（７８）における任意のブロック（１０３〜１０５）に書き込まれたデータに対応する電圧レベルと、所定のデータレベルチェック電圧（８０）とを比較するためのものである。ＣＰＵ（７１）は、データに対応する電圧レベルが、データレベルチェック電圧（８０）を下回った場合に、データを任意のブロック（１０３〜１０５）から読み出して他のブロック（１０３〜１０５）に書き込むブロックチェンジを実行する。
【００４１】
本発明によるＥＥＰＲＯＭエミュレーション方法は、（ａ）フラッシュメモリ（７４）のＥＥＰＲＯＭ代替領域（７８）における任意のブロック（１０３〜１０５）に書き込まれたデータに対応する電圧レベルと、所定のデータレベルチェック電圧（８０）とを比較するステップと、（ｂ）データに対応する電圧レベルが、データレベルチェック電圧（８０）を下回った場合に、データを任意のブロック（１０３〜１０５）から読み出して他のブロック（１０３〜１０５）に書き込むブロックチェンジを実行するステップとを具備する。
【発明の効果】
【００４２】
本発明による半導体装置では、フラッシュメモリのＥＥＰＲＯＭ代替領域における内部ベリファイ電圧と読み出し電圧との間に、データレベルチェック電圧を追加設定している。また、本発明によるＥＥＰＲＯＭエミュレーション方法では、データレベルとデータレベルチェック電圧とを比較するデータレベルチェックＩ／Ｆを追加している。本発明では、データレベルがデータレベルチェック電圧を下回った場合には、読出しを保証したいデータをフラッシュメモリのＥＥＰＲＯＭ代替領域内でブロックチェンジする。
【図面の簡単な説明】
【００４３】
【図１】図１は、従来技術によるデータ書込・読出制御装置の構成について説明するためのブロック図である。
【図２】図２は、従来技術による半導体装置の構成について説明するためのブロック図である。
【図３】図３は、図２におけるフラッシュメモリのさらに詳細な構成について説明するための概略図である。
【図４】図４は、フラッシュメモリとして用いられるＭＯＳトランジスタの構成について説明するための断面図である。図４（ａ）は、フラッシュメモリとしての初期状態について説明するための断面図である。図４（ｂ）は、フラッシュメモリとしての書き込み状態について説明するための断面図である。
【図５】図５は、フラッシュメモリとして用いられるＭＯＳトランジスタにおける、コントロールゲートへの印加電圧と、その結果として流れる電流との関係について説明するための図である。図５（ａ）は、フラッシュメモリとして用いられるＭＯＳトランジスタの概略図である。図５（ｂ）は、初期状態と、書き込み状態とにおける、電圧と電流との関係の変化について説明するためのグラフである。
【図６】図６は、フラッシュメモリにおける書き込みデータレベルの経年変化の一例について説明するためのグラフである。
【図７】図７は、本発明の第１の実施形態による半導体装置の構成について説明するためのブロック図である。
【図８】図８は、フラッシュメモリにおける書き込みデータレベルの経年変化の一例について説明するためのグラフである。
【図９】図９は、本発明の第１の実施形態による半導体装置における各種ソフトウェアの格納部の構成についてより詳細に説明するためのブロック図である。
【図１０】図１０は、本発明の第１の実施形態による半導体装置の動作、すなわちＥＥＰＲＯＭエミュレーション方法における各構成要素間の関係について説明するためのブロック図である。
【図１１】図１１は、本発明の第１の実施形態によるＥＥＰＲＯＭエミュレーション方法におけるデータレベルチェックおよびブロックチェンジについて説明するためのフローチャートである。図１１（ａ）は、ユーザ・アプリケーションに基づくユーザ・システムについて説明するためのフローチャートである。図１１（ｂ）は、ブロックチェンジを伴うデータ保持期間スペック拡張機能について説明するためのフローチャートである。
【図１２】図１２は、本実施形態における半導体装置における複数のＥＥＰＲＯＭ代替領域の状態変化について説明するためのブロック図である。図１２（ａ）は、第１のＥＥＰＲＯＭ代替領域１２０ａに最初のデータ書込みを行ってからＸ年経過した後の状態を表す。図１２（ｂ）は、第１のＥＥＰＲＯＭ代替領域１２０ｂにデータレベルチェックを実行し、データレベルの劣化が判明した状態を表す。図１２（ｃ）は、第１のＥＥＰＲＯＭ代替領域１２０ｃから第２のＥＥＰＲＯＭ代替領域１２１ｃにデータのブロックチェンジを行った後の状態を表す。図１２（ｄ）は、第１のＥＥＰＲＯＭ代替領域１２０ｃから第２のＥＥＰＲＯＭ代替領域１２１ｄへのブロックチェンジの後、保持期間がリセットされた状態を表す。
【図１３】図１３は、本発明の第２の実施形態における半導体装置の動作、すなわちＥＥＰＲＯＭエミュレーション方法におけるデータレベルチェックおよびブロックチェンジについて説明するためのフローチャートである。図１３（ａ）は、ユーザ・アプリケーションに基づくユーザ・システムについて説明するためのフローチャートである。図１３（ｂ）は、ブロックチェンジを伴うデータ保持期間スペック拡張機能について説明するためのフローチャートである。
【発明を実施するための形態】
【００４４】
添付図面を参照して、本発明による半導体装置と、ＥＥＰＲＯＭエミュレーション方法とを実施するための形態を以下に説明する。
【００４５】
（第１の実施形態）
図７は、本発明の第１の実施形態による半導体装置の構成について説明するためのブロック図である。この半導体装置は、ＣＰＵ７１と、ファームウエア部７２と、フラッシュメモリ部７４とを具備する。ファームウエア部７２は、データレベルチェックプログラム部７３を具備する。フラッシュメモリ部７４は、プログラム領域７５と、ＥＥＰＲＯＭエミュレーション・ライブラリ７６と、ＥＥＰＲＯＭ代替領域７８とを具備する。ＥＥＰＲＯＭエミュレーション・ライブラリ７６は、データレベルチェックＩ／Ｆ（ＩｎｔｅｒＦａｃｅ：インタフェース）７７を具備する。
【００４６】
ＣＰＵ７１は、ファームウエア部７２と、プログラム領域７５と、ＥＥＰＲＯＭエミュレーション・ライブラリ７６とに接続されている。ファームウエア部７２はさらに、ＥＥＰＲＯＭ代替領域７８に接続されている。
【００４７】
本実施形態による半導体装置の動作、すなわちＥＥＰＲＯＭエミュレーション方法について説明する。まず、ＣＰＵ７１は、フラッシュメモリ部７４におけるＥＥＰＲＯＭエミュレーション・ライブラリから、必要なプログラムを読み出して実行する。次に、その結果として、ＣＰＵ７１は、ファームウエア部７２に格納された各種プログラムを読み出し、読み出したプログラムに対応する各種操作をＥＥＰＲＯＭ代替領域に対して実行する。ＥＥＰＲＯＭ代替領域に対する各種操作には、データの書き込み、データの読み込み、書き込みレベルのベリファイ、データの消去、データレベルのチェック、などが含まれる。
【００４８】
ここで、本実施形態によるデータレベルのチェックについて説明する。なお、本実施形態による半導体装置にたいするデータの書き込み、データの読み込み、書き込みレベルのベリファイおよびデータの消去については、従来技術と同じであるので詳細な説明を省略する。
【００４９】
フラッシュメモリに書き込まれたデータに対応する電圧レベルは、経年劣化を重ねて、最終的には読み出し不可能になる。データレベルのチェックは、この電圧レベルの劣化の具合を調べるために行われる。
【００５０】
ＥＥＰＲＯＭ代替領域７８にデータが書き込まれた後、任意のタイミングにおいて、ＣＰＵ７１は、ＥＥＰＲＯＭエミュレーション・ライブラリ７６の中からデータレベルチェックＩ／Ｆ７７を読み出して実行する。その結果、ＣＰＵ７１は、ファームウエア７２の中からデータレベルチェックプログラム７３を読み出して実行する。
【００５１】
データレベルチェックプログラム７３が実行されると、フラッシュメモリに含まれるデータレペルチェック回路がデータレベルのチェックを行う。データレベルチェック回路は、従来技術による書き込みレベルベリファイ回路と同様に、フラッシュメモリにおける任意のＭＯＳトランジスタのデータレベル電圧と、所定の閾値電圧とを比較する。なお、閾値電圧の詳細については後述する。
【００５２】
なお、データレベルのチェックを行うタイミングは、本発明による半導体装置が起動中であれば任意のタイミングで良く、特に、ユーザが任意に設定しても良い。
【００５３】
図８は、フラッシュメモリにおける書き込みデータレベルの経年変化の一例について説明するためのグラフである。このグラフにおいて、横軸は時間を、縦軸はフラッシュメモリの浮遊ゲートにおける電圧を、それぞれ表す。
【００５４】
書き込み電圧８４は、フラッシュメモリにデータを書き込む際にコントロールゲートに印加される電圧を表す。書き込み直後電圧８１は、フラッシュメモリにデータを書き込んだ直後における浮遊ゲート電圧を表し、書き込み電圧８４に等しい。読み出し電圧８６は、フラッシュメモリに書き込まれたデータが読み出し可能であることが保証されるための、浮遊ゲート電圧の最低値である。リード可能な閾値電圧範囲８２は、書き込み電圧８４から読み出し電圧８６までの範囲に等しい。内部ベリファイ電圧８５は、フラッシュメモリに書き込まれたデータが正しく書き込まれているかどうかを確認するために読み出す際の電圧であり、リード可能な閾値電圧範囲８２に含まれる。データレベルチェック電圧８０は、フラッシュメモリに書き込まれたデータのブロックチェンジを行う必要性を判断する基準となる電圧レベルであり、その値は内部ベリファイ電圧８５と読み出し電圧８６の間に設定されている。消去電圧８８は、フラッシュメモリに書き込まれたデータを消去する際に、コントロールゲートに印加される電圧を表す。ブランクチェック電圧８７は、フラッシュメモリに書き込まれたデータが消去されていることを確認する際に、コントロールゲートに印加される電圧を表す。リード不可能な閾値電圧範囲８３は、読み出し電圧８６から、ブランクチェック電圧８７までの範囲に等しい。
【００５５】
フラッシュメモリにデータが書き込まれた際に、浮遊ゲートに注入された電子は、時間の経過と共に、エネルギー準位のより低い方へ移動してしまう。その結果、浮遊ゲートにおける電圧、すなわちデータレベルは、図８のグラフのように、時間の経過と共に低下してしまう。データレベルが読み出し電圧８６よりも低下してしまうと、そのフラッシュメモリに書き込まれたデータは、たとえ読み出しに成功したとしても、その有効性が失われている。
【００５６】
前述した従来技術による書き込みレベルベリファイ回路は、フラッシュメモリにデータが書き込まれた直後に作動する。書き込みレベルベリファイ回路は、データが書きこれまたＭＯＳトランジスタの浮遊ゲートにおけるデータレベルと、内部ベリファイ電圧８５とを比較する。データレベルが内部ベリファイ電圧８５以上であれば、データの書き込みが成功していると判断される。反対に、データレベルが内部ベリファイ電圧８５未満であれば、データの書き込みが失敗していると判断され、データ書き込みをリトライしたり、このＭＯＳトランジスタを使用不能と判断して別のＭＯＳトランジスタを用いる決定をしたりする必要がある。
【００５７】
同様に、前述した本実施形態によるデータレベルチェック回路は、データが格納されたＭＯＳトランジスタの浮遊ゲートにおけるデータレベルと、データレベルチェック電圧８０とを比較する。なお、本実施形態によるデータレベルチェック回路は、書き込みレベルベリファイ回路とは独立した回路であっても良いし、もしくは、書き込みレベルベリファイ回路と一体化されていても構わない。前者の場合は、従来技術による書き込みレベルベリファイ回路の数を２つにして、一方の閾値電圧には従来技術と同じ内部ベリファイ電圧８５を用い、他方の閾値電圧にはデータレベルチェック電圧８０を用いる。こうすることで、お互いに独立した書き込みレベルベリファイ回路およびデータレベルチェック回路を実現可能である。また、後者の場合は、従来技術による書き込みレベルベリファイ回路を改良して、閾値電圧として内部ベリファイ電圧８５またはデータレベルチェック電圧８０のいずれかを選択可能とする。こうすることで、一体化された書き込みレベルベリファイ回路およびデータレベルチェック回路を実現可能である。
【００５８】
本発明では、データレベルがデータレベルチェック電圧８０を下回ったことが確認された場合に、データレベルの劣化が進んだものと判断し、かつ、対応するデータのブロックチェンジを行う判断をする。なお、データレベルのチェックは、有効性の保証が必要な記憶領域の全てのビットを対象とすることが望ましい。
【００５９】
図９は、本実施形態による半導体装置における各種ソフトウェアの格納部の構成についてより詳細に説明するためのブロック図である。本実施形態の半導体装置は、ＥＥＰＲＯＭエミュレーション・ライブラリ９１ａと、ファームウエア部９１ｂとを具備する。なお、ＥＥＰＲＯＭエミュレーション・ライブラリ９１ａと、ファームウエア部９１ｂとは、図７におけるＥＥＰＲＯＭエミュレーション・ライブラリ７６と、ファームウエア部７２とにそれぞれ対応する。
【００６０】
ＥＥＰＲＯＭエミュレーション・ライブラリ９１ａは、新規フラッシュアクセスＩ／Ｆ９２ａと、フラッシュメモリ操作Ｉ／Ｆ９４ａとを具備する。新規フラッシュアクセスＩ／Ｆ９２ａは、データレベルチェックＩ／Ｆ９３ａを具備する。なお、データレベルチェックＩ／Ｆ９３ａは、図７におけるデータレベルチェックＩ／Ｆ７７に対応する。
【００６１】
フラッシュメモリ操作Ｉ／Ｆ９４ａは、書き込みＩ／Ｆ９５ａと、消去Ｉ／Ｆ９６ａと、読み出しＩ／Ｆ９７ａとを具備する。
【００６２】
ファームウエア９１ｂは、新規フラッシュアクセスプログラム９２ｂと、フラッシュメモリ操作プログラム９４ｂとを具備する。新規フラッシュアクセスプログラム９２ｂは、データレベルチェックプログラム９３ｂを具備する。なお、データレベルチェックプログラム９３ｂは、図７におけるデータレベルチェックプログラム７３に対応する。
【００６３】
フラッシュメモリ操作プログラム９４ｂは、書き込みプログラム９５ｂと、消去プログラム９６ｂと、読み出しプログラム９７ｂとを具備する。
【００６４】
ＥＥＰＲＯＭエミュレーション・ライブラリ９１ａにおける書き込みＩ／Ｆ９５ａと、消去Ｉ／Ｆ９６ａと、読み出しＩ／Ｆ９７ａとは、従来技術で用いられるものと同じである。すなわち、書き込みＩ／Ｆ９５ａと、消去Ｉ／Ｆ９６ａと、読み出しＩ／Ｆ９７ａとは、ファームウエア部９１ｂにおける書き込みプログラム９５ｂと、消去プログラム９６ｂと、読み出しプログラム９７ｂとにアクセスするためのモジュールである。
【００６５】
本発明では、従来技術によるＥＥＰＲＯＭエミュレーション・ライブラリおよびファームウエア部に、新規フラッシュアクセスＩ／Ｆ９２ａおよび新規フラッシュアクセスプログラム９２ｂをそれぞれ追加している。ここで、新規フラッシュアクセスＩ／Ｆ９２ａのデータレベルチェックＩ／Ｆ９３ａは、新規フラッシュアクセスプログラム９２ｂにおけるデータレベルチェックプログラム９３ｂにアクセスするためのモジュールである。
【００６６】
図１０は、本実施形態による半導体装置の動作、すなわちＥＥＰＲＯＭエミュレーション方法における各構成要素間の関係について説明するためのブロック図である。本実施形態による半導体装置は、ユーザ・アプリケーション１００と、ＥＥＰＲＯＭエミュレーション・ライブラリ１０１と、ファームウエア１０２と、第１〜第３のＥＥＰＲＯＭ代替領域１０３〜１０５とを具備する。ここで、ＥＥＰＲＯＭエミュレーション・ライブラリ１０１は、図７におけるＥＥＰＲＯＭエミュレーション・ライブラリ７６と、図９におけるＥＥＰＲＯＭエミュレーション・ライブラリ９１ａとに対応する。また、ファームウエア１０２は、図７におけるファームウエア７２と、図９におけるファームウエア９１ｂとに対応する。さらに、第１〜第３のＥＥＰＲＯＭ代替領域１０３〜１０５の総数が３つであるのはあくまでも一例であって、他の数であっても構わない。
【００６７】
ＥＥＰＲＯＭエミュレーション・ライブラリ１０１は、データレベルチェックＩ／Ｆ１０６と、フラッシュメモリ操作Ｉ／Ｆ１０８とを具備する。ここで、データレベルチェックＩ／Ｆ１０６は、図７におけるデータレベルチェックＩ／Ｆ７７と、図９におけるデータレベルチェックＩ／Ｆ９３ａとに対応する。また、フラッシュメモリ操作Ｉ／Ｆ１０８は、図９におけるフラッシュメモリ操作Ｉ／Ｆ９４ａに対応する。
【００６８】
また、ファームウエア１０２は、データレベルチェックプログラム１０７と、フラッシュメモリ操作プログラム１０９とを具備する。ここで、データレベルチェックプログラム１０７は、図７におけるデータレベルチェックプログラム７３と、図９におけるデータレベルチェックプログラム９３ｂとに対応する。また、フラッシュメモリ操作プログラム１０９は、図９におけるフラッシュメモリ操作プログラム９４ｂに対応する。
【００６９】
データレベルチェックＩ／Ｆ１０６は、ユーザ・アプリケーション１００と、データレベルチェックプログラム１０７とに接続されている。データレベルチェックプログラム１０７は、さらに、第１〜第３のＥＥＰＲＯＭ代替領域１０３〜１０５に接続されている。
【００７０】
フラッシュメモリ操作Ｉ／Ｆ１０８は、ユーザ・アプリケーション１００と、フラッシュメモリ操作プログラム１０９とに接続されている。フラッシュメモリ操作プログラム１０９は、さらに、第１〜第３のＥＥＰＲＯＭ代替領域１０３〜１０５に接続されている。
【００７１】
ここで、本実施形態による半導体装置におけるフラッシュメモリ操作方法について説明する。なお、このフラッシュメモリ操作方法は、従来技術と同様である。
【００７２】
まず、任意のタイミングで、ユーザ・アプリケーション部１００が、ＥＥＰＲＯＭエミュレーション・ライブラリ部１０１の、フラッシュメモリ操作Ｉ／Ｆ部１０８にアクセスする。
【００７３】
次に、フラッシュメモリ操作Ｉ／Ｆ部１０８は、ファームウエア１０２内のフラッシュメモリ操作プログラム１０９にアクセスする。
【００７４】
次に、フラッシュメモリ操作プログラム１０９は、第１〜第３のＥＥＰＲＯＭ代替領域１０３〜１０５の中で、現在使用されているＥＥＰＲＯＭ代替領域に対して、データの書き込み、消去、読み出しなどを実行する。
【００７５】
次に、データの書き込み、消去、読み出しなどを実行した結果を、フラッシュメモリ操作プログラム１０９がフラッシュメモリ操作Ｉ／Ｆ１０８に応答する。
【００７６】
最後に、データの書き込み、消去、読み出しなどを実行した結果を、フラッシュメモリ操作Ｉ／Ｆ１０８が、ユーザ・アプリケーション１００に応答する。
【００７７】
ここで、本実施形態による半導体装置におけるデータレベルチェック方法について説明する。
【００７８】
まず、任意のタイミングにおいて、ユーザ・アプリケーション部１００が、ＥＥＰＲＯＭエミュレーション・ライブラリ１０１内のデータレベルチェックＩ／Ｆ部１０８にアクセスする。なお、このタイミングは、フラッシュメモリ操作のタイミングに関係なく、本実施形態による半導体装置のシステム起動中における任意のタイミングで良い。
【００７９】
次に、データレベルチェックＩ／Ｆ部１０６が、ファームウエア部１０２内のデータレベルチェックプログラム１０７にアクセスする。
【００８０】
次に、データレベルチェックプログラム１０７が、第１〜第３のＥＥＰＲＯＭ代替領域１０３〜１０５の中で、現在使用されているＥＥＰＲＯＭ代替領域に対して、書き込みデータのレベルチェックを実行する。
【００８１】
次に、書き込みデータのレベルチェックを実行した結果を、データレベルチェックプログラム１０７が、ＥＥＰＲＯＭエミュレーション・ライブラリ内のデータレベルチェックＩ／Ｆ１０６に応答する。
【００８２】
次に、書き込みデータのレベルチェックを実行した結果を、データレベルチェックＩ／Ｆ１０６が、ユーザ・アプリケーション１００に応答する。
【００８３】
最後に、ユーザ・アプリケーション１００が、書き込みデータのレベルチェックを実行した結果に基づいて、データ保持期間のリフレッシュを実行してブロックチェンジを行う必要があるか否かを判断する。この必要があると判断された場合は、さらに、ブロックチェンジを実行する。
【００８４】
図１１は、本実施形態によるＥＥＰＲＯＭエミュレーション方法におけるデータレベルチェックおよびブロックチェンジについて説明するためのフローチャートである。図１１（ａ）は、ユーザ・アプリケーションに基づくユーザ・システムについて説明するためのフローチャートである。図１１（ｂ）は、ブロックチェンジを伴うデータ保持期間スペック拡張機能について説明するためのフローチャートである。
【００８５】
ユーザ・システムのフローチャートは、合計６つのステップＳ１１１ａ〜Ｓ１１６ａを具備する。データ保持期間スペック拡張機能のフローチャートは、合計５つのステップＳ１１１ｂ〜Ｓ１１５ｂを具備する。
【００８６】
ステップＳ１１１ａでは、ユーザ・システムが起動する。ステップＳ１１１ａの次には、ステップＳ１１２ａが実行される。
【００８７】
ステップＳ１１２ａでは、ユーザ・アプリケーション内の任意のタイミングで、データ保持期間スペック拡張機能を読み出し、これを実行するか否かを判断する。この判断の結果、データ保持期間スペック拡張機能を実行する場合は、この次にステップＳ１１３ａが実行される。ユーザ・システムにおけるステップＳ１１３ａは、データ保持期間スペック拡張機能におけるステップＳ１１１ｂ〜Ｓ１１２ｂに対応する。なお、データ保持期間スペック拡張機能を実行しない場合は、この次にステップＳ１１４ａが実行される。ここで、ユーザ・システムにおけるステップＳ１１４ａは、データ保持期間スペック拡張機能におけるステップＳ１１５ｂに対応する。
【００８８】
ステップＳ１１３ａでは、データレベルチェックを実行する。この次には、ステップＳ１１５ａが実行される。ここで、ユーザ・システムにおけるステップＳ１１５ａは、データ保持期間スペック拡張機能におけるステップＳ１１３ｂに対応する。
【００８９】
ステップＳ１１５ａでは、データレベルチェックの結果を判断する。チェックしたデータレベルに問題が無ければ、次にステップＳ１１４ａが実行される。チェックしたデータレベルに問題があれば、次にステップＳ１１６ａが実行される。なお、ユーザ・システムにおけるステップＳ１１６ａは、データ保持期間スペック拡張機能におけるステップＳ１１４ｂに対応する。ただし、万が一、チェックしたデータレベルが読み出し電圧８６を下回っていた場合は、既にそのデータが消失している可能性があるので、データの初期化を行うことが望ましい。例えば、図示されないメモリ領域に、デフォルトデータを格納しておいても良い。
【００９０】
ステップＳ１１６ａでは、ブロックチェンジを実行する。この次には、ステップＳ１１４ａが実行される。
【００９１】
ステップＳ１１４ａでは、制御がユーザ・アプリケーションに戻される。この次には、ステップＳ１１２ａに戻る。
【００９２】
図１２は、本実施形態における半導体装置における複数のＥＥＰＲＯＭ代替領域の状態変化について説明するためのブロック図である。図１２（ａ）は、第１のＥＥＰＲＯＭ代替領域１２０ａに最初のデータ書込みを行ってからＸ年経過した後の状態を表す。図１２（ｂ）は、第１のＥＥＰＲＯＭ代替領域１２０ｂにデータレベルチェックを実行し、データレベルの劣化が判明した状態を表す。図１２（ｃ）は、第１のＥＥＰＲＯＭ代替領域１２０ｃから第２のＥＥＰＲＯＭ代替領域１２１ｃにデータのブロックチェンジを行った後の状態を表す。図１２（ｄ）は、第１のＥＥＰＲＯＭ代替領域１２０ｃから第２のＥＥＰＲＯＭ代替領域１２１ｄへのブロックチェンジの後、保持期間がリセットされた状態を表す。
【００９３】
以上に説明したように、本発明による半導体装置にはデータレベルチェックＩ／Ｆを追加した。また、本発明によるＥＥＰＲＯＭエミュレーション方法にはデータ保持期間スペック拡張機能を追加した。その結果、ＥＥＰＲＯＭ代替領域として用いられるフラッシュメモリにおける各ブロックについて、データを書き込んだ後、ユーザは任意のタイミングでデータの劣化状態を確認することが可能となる。また、確認されたデータの劣化状態に基づいて、適宜、ＥＥＰＲＯＭ代替領域として用いられるフラッシュメモリにおけるブロックチェンジを行うことによって、データ更新頻度が低いシステムにおいても、データ保持期間の起点をリフレッシュすることが可能となる。
【００９４】
（第２の実施形態）
図１３は、本発明の第２の実施形態における半導体装置の動作、すなわちＥＥＰＲＯＭエミュレーション方法におけるデータレベルチェックおよびブロックチェンジについて説明するためのフローチャートである。図１３（ａ）は、ユーザ・アプリケーションに基づくユーザ・システムについて説明するためのフローチャートである。図１３（ｂ）は、ブロックチェンジを伴うデータ保持期間スペック拡張機能について説明するためのフローチャートである。
【００９５】
本実施形態によるＥＥＰＲＯＭエミュレーション方法におけるユーザ・システムは、合計４つのステップＳ１３１ａ〜Ｓ１３４ａを具備する。
【００９６】
本実施形態によるＥＥＰＲＯＭエミュレーション方法におけるデータ保持期間スペック拡張機能は、合計６つのステップＳ１３１ｂ〜Ｓ１３６ｂを具備する。
【００９７】
本実施形態と、本発明の第１の実施形態との違いは、以下の１点のみである。すなわち、データレベルのチェックでエラーが発生した場合に実行するブロックチェンジを、本発明の第１の実施形態ではユーザ・システムの制御下で行うが、本実施形態ではデータ保持期間スペック拡張機能の制御下で行う。
【００９８】
本実施形態による、図１３におけるステップＳ１３１ａ、Ｓ１３２ａ、Ｓ１３４ａ、Ｓ１３１ｂ〜Ｓ１３５ｂは、第１の実施形態による、図１１におけるステップＳ１１１ｂ、Ｓ１１２ｂ、Ｓ１３４ｂ、Ｓ１１１ｂ〜Ｓ１１５ｂにそれぞれ対応する。また、本実施形態によるステップＳ１３３ａは、第１の実施形態によるステップＳ１１３ａ〜Ｓ１１６ａをまとめたものに等しい。
【００９９】
本実施形態による、図１３のステップＳ１３３ｂにおいてデータレベルにエラーが認められた場合、ステップＳ１３６ｂにおいて、データ保持期間スペック拡張機能の制御下で必要なブロックチェンジを行う。
【０１００】
本実施形態のその他の構成要素については、本発明の第１の実施形態と同じであるので、さらなる詳細な説明を省略する。
【０１０１】
本実施形態においては、データレベルチェック結果に基づいたブロックチェンジの実行機能をフラッシュマイコン側に持たせている。このことにより、ユーザアプリ側の負荷が軽減される。また、自動実行によりブロックチェンジを確実に実行されることにより、チェンジミスによる、保持期間超過を防ぐことが出来る。
【符号の説明】
【０１０２】
１０  データ書込・読出制御装置
１１  フラッシュメモリ
１２  ＣＰＵ
１３  ＲＯＭ
２０  半導体装置
２１  ＣＰＵ
２２  フラッシュメモリ
２３  プログラム領域
２４  ＥＥＰＲＯＭ代替領域
２５  フラッシュコントローラ
２６  ＲＡＭ
２７  周辺マクロ
３０  フラッシュメモリ
３１  データ長格納領域
３２  データ格納領域
３２ａ〜３２ｇ  セクション
３３  空き領域
４１ａ、４１ｂ  コントロールゲート
４２ａ、４２ｂ  浮遊ゲート
４３ａ、４３ｂ  ソース
４４ａ、４４ｂ  ドレイン
５１  コントロールゲート
５２  ソース
５３  ドレイン
５４  電流
５５  初期状態のグラフ
５６  書き込み状態のグラフ
６１、８１  書き込み直後電圧
６２、８２  リード可能な閾値電圧範囲
６３、８３  リード不可能な閾値電圧範囲
６４、８４  書き込み電圧
６５、８５  内部ベリファイ電圧
６６、８６  読み出し電圧
６７、８７  ブランクチェック電圧
６８、８８  消去電圧
６９、８９  読み出し保証期間
７１  ＣＰＵ
７２  ファームウエア
７３  データレベルチェックプログラム
７４  フラッシュメモリ
７５  プログラム領域
７６  ＥＥＰＲＯＭエミュレーション・ライブラリ
７７  データレベルチェックＩ／Ｆ
７８  ＥＥＰＲＯＭ代替領域
８０  データレベルチェック電圧
９１ａ  ＥＥＰＲＯＭエミュレーション・ライブラリ
９２ａ  新規フラッシュアクセスＩ／Ｆ
９３ａ  データレベルチェックＩ／Ｆ
９４ａ  フラッシュメモリ操作Ｉ／Ｆ
９５ａ  書き込みＩ／Ｆ
９６ａ  消去Ｉ／Ｆ
９７ａ  読み出しＩ／Ｆ
９１ｂ  ファームウエア
９２ｂ  新規フラッシュアクセスプログラム
９３ｂ  データレベルチェックプログラム
９４ｂ  フラッシュメモリ操作プログラム
９５ｂ  書き込みプログラム
９６ｂ  消去プログラム
９７ｂ  読み出しプログラム
１００  ユーザ・アプリケーション
１０１  ＥＥＰＲＯＭエミュレーション・ライブラリ
１０６  データレベルチェックＩ／Ｆ
１０８  フラッシュメモリ操作Ｉ／Ｆ
１０２  ファームウエア
１０７  データレベルチェックプログラム
１０９  フラッシュメモリ操作プログラム
１０３  フラッシュメモリ１（ＥＥＰＲＯＭ代替領域）
１０４  フラッシュメモリ２（ＥＥＰＲＯＭ代替領域）
１０５  フラッシュメモリ３（ＥＥＰＲＯＭ代替領域）
１２０ａ〜１２２ａ、１２０ｂ〜１２２ｂ、１２０ｃ〜１２２ｃ  ブロック
【図１】
2011002945.tif 000003
【図２】
2011002945.tif 000004
【図３】
2011002945.tif 000005
【図４】
2011002945.tif 000006
【図５】
2011002945.tif 000007
【図６】
2011002945.tif 000008
【図７】
2011002945.tif 000009
【図８】
2011002945.tif 000010
【図９】
2011002945.tif 000011
【図１０】
2011002945.tif 000012
【図１１】
2011002945.tif 000013
【図１２】
2011002945.tif 000014
【図１３】
2011002945.tif 000015