(57)【要約】【課題】各データの更新頻度に応じて効率的に書き換えを行うことができる不揮発性半導体メモリの書き込み制御方法を提供する。【解決手段】ＣＰＵは、フラッシュメモリに書き込まれる複数種類のデータのそれぞれについて、所定期間に亘る更新頻度を計測すると（Ｓ３）、その計測の結果に基づいて、複数種類のデータを低更新頻度群と高更新頻度群とに二分する（Ｓ５）。すると以降は、低更新頻度群に属するデータを書き込む低頻度用ブロックと、高更新頻度群に属するデータを書き込む高頻度用ブロックとを分けて（Ｓ７，Ｓ９）、更新されたデータを書き込む。【選択図】図１
2014178825.tif 000002
【特許請求の範囲】
【請求項１】
データを一括して消去可能な単位である所定サイズのブロックを複数有してなる不揮発性メモリ（４）に対して、更新された複数種類のデータを空き領域に書き込む方法において、
前記複数種類のデータのそれぞれについて、所定期間に亘る更新頻度を計測する第１ステップと、
前記計測の結果に基づき、前記複数種類のデータを、低更新頻度群と高更新頻度群とに二分する第２ステップと、
低更新頻度群に属するデータを書き込む低頻度用ブロックと、高更新頻度群に属するデータを書き込む高頻度用ブロックとを分けて、更新されたデータを書き込む第３ステップとからなることを特徴とする不揮発性半導体メモリのデータ書き込み制御方法。
【請求項２】
前記第３ステップの実行を開始してから所定時間が経過すると、前記第１〜第３ステップを再実行することを特徴とする請求項１記載の不揮発性半導体メモリのデータ書き込み制御方法。
【請求項３】
データが書き込み可能なブロックが２ブロック以下になると、前記第１〜第３ステップを実行せず、
前記複数種類のデータがそれぞれ更新されると、共通のブロックに書き込みを行うことを特徴とする請求項１又は２記載の不揮発性半導体メモリのデータ書き込み制御方法。
【請求項４】
前記第２ステップにおいて、前記低更新頻度群と前記高更新頻度群との何れか一方に属するデータの種類数が予め定めた閾値を超えると、前記第３ステップを実行せず、
前記複数種類のデータがそれぞれ更新されると、
低更新頻度群に属するデータの種類数の一部と、高更新頻度群に属するデータの種類数の一部とを共通のブロックに書き込む第４ステップを実行することを特徴とする請求項１から３の何れか一項に記載の不揮発性半導体メモリのデータ書き込み制御方法。
【請求項５】
前記第２ステップにおいて、前記複数種類のデータを、低更新頻度群と高更新頻度群とに二分するための閾値を、前記第１ステップにおける更新頻度の計測結果に基づき決定することを特徴とする請求項１から４の何れか一項に記載の不揮発性半導体メモリのデータ書き込み制御方法。
【請求項６】
データが書き込み可能なブロックが４ブロック以上あれば、その内１つのブロックを、更新されない固定データの記憶領域として使用し、
残りの３つのブロックを用いて前記第１〜第３ステップを実行することを特徴とする請求項１から５の何れか一項に記載の不揮発性半導体メモリのデータ書き込み制御方法。
【請求項７】
データを一括して消去可能な単位である所定サイズのブロックを複数有し、更新された複数種類のデータが空き領域に書き込まれて記憶される不揮発性メモリ（４）を内蔵するマイクロコンピュータ（１）であって、
前記複数種類のデータのそれぞれについて、一定期間に亘る更新頻度を計測する更新頻度計測手段と、
前記計測の結果に基づき、前記複数種類のデータを、低更新頻度群と高更新頻度群とに二分する更新頻度判定手段と、
以降は、低更新頻度群に属するデータを書き込む低頻度用ブロックと、高更新頻度群に属するデータを書き込む高頻度用ブロックとを分けて、更新されたデータを書き込む書き込みブロック管理手段とを備えることを特徴とするマイクロコンピュータ。
【請求項８】
前記更新頻度計測手段は、前記ブロック管理手段によるブロック管理が実行されてから所定時間が経過すると、前記更新頻度の計測を再開することを特徴とする請求項７記載のマイクロコンピュータ。
【請求項９】
データが書き込み可能なブロックが２ブロック以下になると、前記更新頻度計測手段，更新頻度判定手段及び前記ブロック管理手段を機能させず、
前記複数種類のデータがそれぞれ更新されると、共通のブロックに書き込みを行うことを特徴とする請求項７又は８記載のマイクロコンピュータ。
【請求項１０】
前記ブロック管理手段は、前記更新頻度判定手段の判定結果により、前記低更新頻度群と前記高更新頻度群との何れか一方に属するデータの種類数が予め定めた閾値を超えた状態において、前記複数種類のデータがそれぞれ更新されると、低更新頻度群に属するデータの種類数の一部と、高更新頻度群に属するデータの種類数の一部とを共通のブロックに書き込むことを特徴とする請求項７から９の何れか一項に記載のマイクロコンピュータ。
【請求項１１】
前記更新頻度判定手段は、前記複数種類のデータを、低更新頻度群と高更新頻度群とに二分するための閾値を、前記第１ステップにおける更新頻度の計測結果に基づき決定することを特徴とする請求項７から１０の何れか一項に記載のマイクロコンピュータ。
【請求項１２】
データが書き込み可能なブロックが４ブロック以上あれば、その内１つのブロックを、更新されない固定データの記憶領域として使用し、
残りの３つのブロックを用いて、前記更新頻度計測手段，更新頻度判定手段及び前記ブロック管理手段を機能させることを特徴とする請求項７から１１の何れか一項に記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性半導体メモリの書き込み制御方法及び不揮発性半導体メモリを備えるマイクロコンピュータに関する。
【背景技術】
【０００２】
近年、不揮発性半導体メモリの一種であるフラッシュメモリを内蔵したマイクロコンピュータが使用されており、このフラッシュメモリは、例えば、マイクロコンピュータのＣＰＵ（Central Processing Unit）が使用するユーザプログラムを格納する用途や、種々のデータを書き込んで格納しておく用途に用いられる。ここで、フラッシュメモリは、１ワード毎の書き込みが可能であるが、消去は複数ワードからなるブロックを単位として一括で消去することが必要となる。
【０００３】
ブロック消去回数が増えるとフラッシュメモリの寿命を縮めることになるため、フラッシュメモリに記憶されているデータが更新される場合に、極力消去を行わないようにする技術が提案されている。例えば、特許文献１には、データをＩＤ単位で管理し、更新されたデータのみを追記することで消去回数を低減する技術が開示されている。その他、更新される可能性があるデータと更新されないデータとをブロックを分けて管理することで、ブロック中の領域を効率的に使用し、消去回数を低減させる方法がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１６４４９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、更新される可能性がある複数種類のデータについても、それらの間で更新頻度に差があることも想定される。例えば１つのブロック中に更新頻度が低いデータが含まれていると、その分だけ更新頻度が高いデータを書き込める領域が減少するため、ブロック消去回数が増加するおそれがある。
本発明は上記事情に鑑みてなされたものであり、その目的は、各データの更新頻度に応じて効率的に書き換えを行うことができる不揮発性半導体メモリの書き込み制御方法およびマイクロコンピュータを提供することにある。
【課題を解決するための手段】
【０００６】
請求項１記載の不揮発性半導体メモリのデータ書き込み制御方法によれば、複数種類のデータのそれぞれについて、所定期間に亘る更新頻度を計測すると（第１ステップ）、その計測の結果に基づいて、複数種類のデータを低更新頻度群と高更新頻度群とに二分する（第２ステップ）。すると以降は、低更新頻度群に属するデータを書き込む低頻度用ブロックと、高更新頻度群に属するデータを書き込む高頻度用ブロックとを分けて、更新されたデータを書き込む（第３ステップ）。
【０００７】
これにより、高頻度用ブロックについては、当該ブロックの全ての領域に対して更新されたデータを書き込むことができ、消去される回数が少なくなる。また、低頻度用ブロックについては、更新頻度の高いデータによって使用可能な領域が埋め尽くされることないので消去される回数が少なくなる。したがって、更新頻度の異なるデータが１つのブロックに混在することでブロックの消去回数が増加することを回避し、総じてブロックの消去回数を低減することにより、不揮発性半導体メモリの寿命を長期化させることができる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態であり、ＣＰＵの制御内容を示すフローチャート
【図２】ステップＳ３の更新頻度測定処理を示すフローチャート
【図３】複数のブロックを使用したデータの書き込み管理を説明する図
【図４】ステップＳ９の通常管理の処理イメージを示す図
【図５】使用データ量とブロック容量との比率変化に応じた、本実施形態と従来技術とのブロック消去回数の変化を示す図
【図６】（ａ）はマイクロコンピュータの構成を示す機能ブロック図、（ｂ）はＲＡＭにおける書き込みデータの管理テーブルを示す図
【図７】第２実施形態であり、一群のデータ数が極めて大きい場合の図４相当図
【図８】図１相当図
【図９】第３実施形態であり、ステップＳ５内で実行される閾値決定処理のフローチャート
【図１０】第４実施形態を示す図３相当図
【発明を実施するための形態】
【０００９】
（第１実施形態）
図６（ａ）に示すように、マイクロコンピュータ１は、ＣＰＵ２，プログラム記憶用のフラッシュメモリ（FLASH）３，データ記憶用のフラッシュメモリ４（不揮発性半導体メモリ），ＲＡＭ（Random Access Memory）５，周辺回路６を備えている。ＣＰＵ２は、フラッシュメモリ３からプログラムデータを読み出して実行することで、フラッシュメモリ４のデータ書き込み及び書き換え（更新）、ブロックの消去及び書き込み対象ブロックの切替えなどを制御するメモリコントローラの機能を有している。
ＲＡＭ５はＣＰＵ２のメインメモリであり、データの書き込みや書き換えなどの際に、データやＣＰＵ２の演算結果などを一時的に保持する作業領域として用いられる。フラッシュメモリ４は、内部に記憶部として、複数のブロックに分けられているメモリセルを有している。
【００１０】
次に、本実施形態の作用について、図１から図５を参照して説明する。ＣＰＵ２は、例えばアプリケーションの制御条件等に応じて更新される複数種類のデータに。それぞれＩＤを付して管理している。そして、何れかのデータが更新されると、更新されたデータをフラッシュメモリ４の空き領域に順次書き込んで行く。１つのブロックの全てにデータを書き込んだ時点で、他に空き領域が無ければ、書き込み済みのブロックを消去して当該ブロックに書き込みを行う。１ブロックの容量は、例えば２ｋバイト程度である。
【００１１】
図１に示すように、先ずＣＰＵ２は「初期管理」として、フラッシュメモリ４の１つのブロックに、データの種類は無関係に更新されたものから順次書き込みを行う（Ｓ１）。その時点で、フラッシュメモリ４の書き込み可能なブロックの数が「３」以上であれば（Ｓ２；ＹＥＳ）、各データについて更新頻度を測定する（Ｓ３）。そして、規定時間Ｔ１（所定時間）が経過するまでは（Ｓ４；ＮＯ）ステップＳ１に戻り、上記の処理を繰り返し実行する。
【００１２】
ステップＳ２において書き込み可能なブロックの数が「３」未満であれば（ＮＯ）、ステップＳ１に戻り初期管理を継続する。一般に、フラッシュメモリについては、使用中においてもデータの書き込みが正常に行えるかどうかチェックするメモリテストが行われる。メモリテストは、例えば書き込んだデータ値をそのまま読み出すことができるか否か（ベリファイ）で行われ、書き込みが正常にできないと判定されたブロックについては、以降の使用（書き込み）が禁止されるので、書き込み可能なブロックの数は変動することがある。尚、ステップＳ３及びＳ４は、第１ステップ及び更新頻度計測手段に相当する。
【００１３】
すなわち、図３に示すData1,Data2,…は、データのＩＤ（種類）を示している。同じ数字のデータは同じ種類（ここでは６種類）であり、後に書き込まれたものが更新されたデータである。図３（１）→（２）（図３中は丸数字）に示すように、最初にブロック１に更新されたデータを書き込み、ブロック１の全ての領域にデータを書き込むと、次は異なるブロックに更新されたデータを書き込む。ブロック２及び３が既に使用済みであれば、ブロック２を消去してから書き込みを行う。ブロック２の全ての領域にデータを書き込むと、次はブロック３を消去して書き込みを行う。このような処理を順次繰り返す（図３（３）→（４））。
【００１４】
図２に示すように、測定対象とするデータの種類をポインタＮで決定すると（Ｓ１１，図３の例では、Ｎ＝０〜５）、データ（Ｎ）が更新されているか否かを判断する（Ｓ１２）。更新されていれば（ＹＥＳ）、対応する更新頻度カウンタをインクリメントする（Ｓ１３）。そして、全てのデータの測定が完了するまで（Ｓ１４；ＮＯ）ポインタＮをインクリメントして（Ｓ１５）ステップＳ１２に戻り、測定を継続する。
【００１５】
また、図６（ｂ）は、例えばフラッシュメモリ４を使用して更新頻度を測定する場合の管理テーブルの一例であり、各データのＩＤと、データ本体と、データ値のチェックサムと、更新回数カウンタとからなる。尚、この管理テーブルはＲＡＭ５に配置しても良い（その場合、データ本体を記憶させる必要はない）。
【００１６】
再び、図１を参照する。初期管理を行っている間に規定時間が経過すると（Ｓ４；ＹＥＳ）、その時点での各データの更新頻度を参照し、例えば予め定められている閾値に対する高低に応じてデータを２群に分類する。例えば更新頻度が閾値未満であるものを低更新頻度群とし、更新頻度が閾値を超えているものを高更新頻度群とする（Ｓ５，第２ステップ，更新頻度判定手段）。そして、次の書き込み対象となる（書き込み済みの）ブロックを消去すると（Ｓ６）、低更新頻度群，高更新頻度群の何れか一方が以降に更新された場合の書き込み先を、消去したブロックに設定する（Ｓ７，第３ステップ，ブロック管理手段）。
【００１７】
この時点で、フラッシュメモリ４に使用可能なブロックが「３」以上あれば（Ｓ８；ＹＥＳ）、以降は「通常管理」として２ブロックで管理を行う（Ｓ９，第３ステップ，ブロック管理手段）。「２ブロックで管理」とは、低更新頻度群に属するデータを書き込む低頻度用ブロックと、高更新頻度群に属するデータを書き込む高頻度用ブロックとの２つに分けて管理することである。
【００１８】
図３（５）→（６）はステップＳ６，Ｓ７の処理イメージであり、例えばData1〜3の更新頻度が高く（高更新頻度群）Data4〜6の更新頻度が低い（低更新頻度群）とすると、ブロック２を消去して、以降にData1〜3の何れかが更新されれば、更新されたデータをブロック２（高頻度用ブロック）に書き込むようにする。そして、ブロック１（低頻度用ブロック）の残りの領域には、以降に更新されたData4〜6を書き込む。
【００１９】
また図４は、「通常管理」（Ｓ９）の処理イメージであり、図３（６）の状態からData1〜3の更新が繰り返されることでブロック２の全ての領域を使用すると、次はブロック３（高頻度用ブロック）を消去して、以降に更新されたData1〜3を書き込む（図４上段（７））。その後、同様にブロック３の全ての領域を使用すると、次はブロック２を消去して、以降に更新されたData1〜3を書き込む（図４上段（８））。
【００２０】
また、図３（６）の状態からData4〜6の更新が繰り返されることで先にブロック１の全ての領域を使用すると、次はブロック３（低頻度用ブロック）を消去して、以降に更新されたData4〜6を書き込む（図４下段（７））。その後、同様にブロック３の全ての領域を使用すると、次はブロック１を消去して、以降に更新されたData1〜3を書き込む（図４下段（８））。
【００２１】
そして、図１に示すように、ステップＳ９の通常管理に移行してから規定時間Ｔ２（所定時間）が経過するまでは（Ｓ１０；ＮＯ）ステップＳ８に戻り通常管理を継続するが、規定時間Ｔ２が経過すると（ＹＥＳ）、ステップＳ１に戻り初期管理から再実行する。規定時間Ｔ２は、ステップＳ４における規定時間Ｔ１よりも長い時間（例えば、Ｔ１の数十倍など）に設定される。すなわち、各データの更新頻度は、アプリケーションの制御条件等に応じて変化することも考えられるので、通常管理をある程度継続した時点で再度更新頻度を計測して、低更新頻度群，高更新頻度群にそれぞれ属するデータを再度分別する。
【００２２】
ここで、図５に示すように、１ブロックに格納できる最大データ数をＭとし、使用するデータの数（ＩＤ数）をＵとすると、従来技術のように更新されたデータを１つのブロックに区別なく書き込むと、全てのデータが更新されるまでのブロック消去回数Ｅ１は、
Ｅ１＝Ｕ／（Ｍ−Ｕ）      …（１）
となる（但し、Ｍ＞Ｕを条件とする）。すなわち、ブロックを１回消去するまでに、Ｕ種類のデータを何回更新できるかは（Ｍ−Ｕ）／Ｕで表されるから、（１）式はその逆数となっている。
【００２３】
一方、本実施形態のように、データを高更新頻度群と低更新頻度群とに分けて、２つのブロックを使用中として管理すると、全てのデータが更新されるまでのブロック消去回数Ｅ２は、
Ｅ２＝２×Ｕ／（２Ｍ−Ｕ）      …（２）
となる。したがって、ブロックの消去回数を削減した数Ｅｄは、
Ｅｄ＝Ｅ１−Ｅ２＝Ｕ／（Ｍ−Ｕ）−２×Ｕ／（２Ｍ−Ｕ）
＝Ｕ２／｛（Ｍ−Ｕ）（２Ｍ−Ｕ）｝≧０      …（３）
となるから、確実に消去回数が削減される。
ここで、具体数値例として、Ｍ＝１００，Ｕ＝３０として計算すると、
Ｅ１＝３０／（１００−３０）≒０．４３
Ｅ２＝２×３０／（２×１００−３０）≒０．３５
であるから、Ｅ１＞Ｅ２となっている。
【００２４】
また図５には、Ｍ＝１００とした場合の従来の消去回数と、本実施形態の消去回数とをグラフ化して示している。従来の場合、ブロック容量に対する使用データ量の比率が６０％から１００％に近付くにつれて消去回数が急上昇している。一方、本実施形態の場合は、上記比率が大きくなっても消去回数はあまり上昇せず、両者の差が大きく開いて行くことが分かる。
【００２５】
以上のように本実施形態によれば、ＣＰＵ２は、フラッシュメモリ４に書き込まれる複数種類のデータのそれぞれについて、規定時間Ｔ１に亘る更新頻度を計測すると、その計測の結果に基づいて、複数種類のデータを低更新頻度群と高更新頻度群とに二分する。すると以降は、低更新頻度群に属するデータを書き込む低頻度用ブロックと、高更新頻度群に属するデータを書き込む高頻度用ブロックとを分けて、更新されたデータを書き込むようにした。
【００２６】
これにより、高頻度用ブロックについては、当該ブロックの全ての領域に対して更新されたデータを書き込むことができ、消去される回数が少なくなる。また、低頻度用ブロックについては、更新頻度の高いデータによって使用可能な領域が埋め尽くされることないので消去される回数が少なくなる。したがって、更新頻度の異なるデータが１つのブロックに混在することでブロックの消去回数が増加することを回避し、総じてブロックの消去回数を低減することで、フラッシュメモリ４の寿命を長期化させることができる。
【００２７】
また、ＣＰＵ２は、ステップＳ９における通常管理を開始してから規定時間Ｔ２が経過すると、ステップＳ１からの処理を再実行するので、その後の状況に応じて各データの更新頻度が変化した場合でも低更新頻度群と高更新頻度群とを適切に判別できる。更に、ＣＰＵ２は、フラッシュメモリ４のデータが書き込み可能なブロックが２ブロック以下になると通常管理は行わず、複数種類のデータがそれぞれ更新されると共通のブロックに書き込みを行うので、低頻度用ブロックと高頻度用ブロックとを分けて書き込みデータを管理できない場合には、従来通りに書き込みを行うことができる。
【００２８】
（第２実施形態）
図７及び図８は第２実施形態であり、第１実施形態と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。第２実施形態では、ステップＳ５において各データを低更新頻度群と高更新頻度群とに分別した結果、図７（ｂ）に示すように一方のデータ群のサイズが極めて大きく、１ブロックの容量の大半を占めていたとする。
【００２９】
この場合、ステップＳ６を実行すると、続くステップＳ１６において、予め定められた上限（閾値，例えば１ブロックの容量の９０％）を超えることで「ＹＥＳ」と判断する。そして、各データ群を、それぞれのデータ群サイズの１／２（一部）ずつに分けると、低更新頻度群の１／２と高更新頻度群の１／２との新たな書き込み先を、ステップＳ６で消去したブロックに設定する（Ｓ１７，第４ステップ，ブロック管理手段）。それから、ステップＳ８に移行する。
【００３０】
図７（ｂ）（５）→（６）に示すケースでは、高更新頻度群に属するものがData1〜6であり、低更新頻度群に属するものがData7,8である。Data1〜6がブロック容量の大半を占めているとすれば、以降に更新されたData1〜3とData7とを消去したブロック２に書き込む。残りのData4〜6，Data8が更新されると、ブロック１に空き領域があればそのままブロック１に書き込む。尚、データ数が奇数の場合は（１／２±１）で調整する。
【００３１】
そして、ブロック２に先んじてブロック１の全領域に書き込みを行うと、ブロック３を消去して更新されたData4〜6，Data8を書き込む（図示せず）。したがって、ステップＳ１７を経た際にステップＳ９で実行される「通常管理」は、上述した図７（ｂ）（６）の様な管理形態となる。
【００３２】
以上のように第２実施形態によれば、ＣＰＵ２は、低更新頻度群と高更新頻度群との何れか一方に属するデータの種類数が予め定めた閾値を超えるとステップＳ７を実行せず、各データがそれぞれ更新されると、低更新頻度群に属するデータＩＤ数の1／２と、高更新頻度群に属するデータＩＤ数の１／２とを共通のブロックに書き込むようにした。したがって、各群に属するデータ数に偏りがある場合でも、ブロックの消去回数が増加することを抑制できる。
【００３３】
（第３実施形態）
第３実施形態では、低更新頻度群と高更新頻度群とを分別するための閾値を、ＣＰＵ２が更新頻度の計測結果に基づいて決定する。図９は、ステップＳ５内で実行されるが、ＣＰＵ２は、図６（ｂ）に示したような管理テーブルに記憶されている各データの更新頻度を参照し（Ｓ２１）、それらの最小値及び最大値を判定する（Ｓ２２）。そして、最小値と最大値との間に閾値を設定する（Ｓ２３）。ここで閾値を設定する方式としては、例えば最小値と最大値との中間値に設定したり、全ての更新頻度数の重み付き平均をとる、といったものが考えられる。
【００３４】
以上のように第３実施形態によれば、ＣＰＵ２は、ステップＳ５で複数種類のデータを、低更新頻度群と高更新頻度群とに二分するための閾値を、ステップＳ３における更新頻度の計測結果に基づき決定するので、実際の各データの更新頻度に応じて閾値を適切に決定できる。
【００３５】
（第４実施形態）
第４実施形態では、図１０に示すように、フラッシュメモリ４に書き込み可能なブロック数が４以上ある場合は、それらの内１つ（例えばブロック４）を、更新される可能性が無い固定データの記憶領域として使用する。そして、ブロック１〜３を用いて、第１〜第３実施形態と同様のブロック管理を行うようにする。
このように、ＣＰＵ２が固定データも取り扱う場合は、固定データを記憶させるブロックと、更新されるデータが記憶されるブロックとを分けて管理することで、ブロックの消去回数が増加することを抑制できる。
【００３６】
本発明は上記した、又は図面に記載した実施形態にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
フラッシュメモリのブロック数は、「５」以上でも良い。
規定時間Ｔ２が経過するとステップＳ１からの処理を再実行するのは、必要に応じて行えば良い。
第２実施形態において、一方のデータ群のサイズが１ブロックの容量の大半を占めている場合に、次のブロックを書き込み先とするデータ種類数は、低更新頻度群，高更新頻度群に属するデータの１／２ずつに限らず、各データ群のそれぞれ一部であれば良い。
【符号の説明】
【００３７】
図面中、１はマイクロコンピュータ（更新頻度計測手段，更新頻度判定手段，ブロック管理手段）、２はＣＰＵ、４はフラッシュメモリ（不揮発性半導体メモリ）を示す。
【図１】
2014178825.tif 000003
【図２】
2014178825.tif 000004
【図３】
2014178825.tif 000005
【図４】
2014178825.tif 000006
【図５】
2014178825.tif 000007
【図６】
2014178825.tif 000008
【図７】
2014178825.tif 000009
【図８】
2014178825.tif 000010
【図９】
2014178825.tif 000011
【図１０】
2014178825.tif 000012