(57)【要約】電子デバイス（２００）は、バッファランダムアクセスメモリ（ＲＡＭ）（２１５）に動作可能に結合されたプロセッシングユニット（２２０）を備え、該バッファランダムアクセスメモリが、電気的消去可能プログラム可能読み出し専用メモリ（ＥＥＰＲＯＭ）をエミュレートするように構成された不揮発性メモリ（２０５）に動作可能に結合される。プロセッシングユニット（２２０）は、バッファＲＡＭ（２１５）と不揮発性メモリ（２０５）との間を第１のクロック周波数でデータを転送するように構成されている。第２のＲＡＭ（２２５）は、プロセッシングユニット（２２０）と不揮発性メモリ（２０５）との間に動作可能に結合され、プロセッシングユニット（２２０）は、プロセッシングユニット（２２０）による書き込み中又は読み出し中のバッファＲＡＭ（２１５）内のアドレスを識別するように、第２のＲＡＭ（２２５）内にタグビットを設定する。【選択図】図３
2009526294.tif 000002
【特許請求の範囲】
【請求項１】
バッファランダムアクセスメモリ（ＲＡＭ）（２１５）に動作可能に結合されたプロセッシングユニット（２２０）を備え、該バッファランダムアクセスメモリ（ＲＡＭ）（２１５）が電気的消去可能プログラム可能読み出し専用メモリ（ＥＥＰＲＯＭ）をエミュレートするように構成された不揮発性メモリ（２０５）に動作可能に結合され、前記プロセッシングユニット（２２０）が、前記バッファＲＡＭ（２１５）と前記不揮発性メモリ（２０５）との間を第１のクロック周波数でデータを転送するよう構成された電子デバイス（２００）であって、
前記プロセッシングユニット（２２０）と前記不揮発性メモリ（２０５）との間に第２のＲＡＭ（２２５）が動作可能に結合され、
前記プロセッシングユニット（２２０）が、プロセッシングユニット（２２０）による書き込み中又は読み出し中のバッファＲＡＭ（２１５）内のアドレスを識別するように前記第２のＲＡＭ（２２５）内にタグビットを設定する、
ことを特徴とする電子デバイス（２００）。
【請求項２】
前記第２のＲＡＭ（２２５）が、第１のクロック周波数の倍数である第２のクロック周波数を備え、前記第２のＲＡＭ（２２５）が、前記不揮発性メモリ（２０５）との間で転送されることになる前記バッファＲＡＭ（２１５）内のデータのアドレスを識別する、
ことを更に特徴とする電子デバイス（２００）。
【請求項３】
前記プロセッシングユニット（２２０）が、前記第２のクロック周波数の使用により前記バッファＲＡＭの単一サイクルアクセス時間内で前記第２のＲＡＭ（２２５）においてタグビットを設定するように構成される、
ことを更に特徴とする請求項２に記載の電子デバイス（２００）。
【請求項４】
前記バッファＲＡＭ（２１５）と前記不揮発性メモリ（２０５）との間に配置されるデータハンドラ（２１０）を更に備える、
ことを特徴とする前出の請求項に記載の電子デバイス（２００）。
【請求項５】
前記プロセッシングユニットは、前記バッファＲＡＭ２１５が前記データハンドラ（２１０）により読み出し又は書き込みがされたときに、前記第２のＲＡＭ内のタグビットをクリアする、
ことを更に特徴とする請求項４に記載の電子デバイス（２００）。
【請求項６】
前記プロセッシングユニット（２２０）、前記バッファＲＡＭ（２１５）及び前記第２のＲＡＭ（２２５）に動作可能に結合されたカウンタ（２３０）を更に備え、
前記プロセッシングユニットは、前記バッファＲＡＭ（２１５）によりそれぞれの読み出し又は書き込み動作が実施されるときを識別するよう前記カウンタを増分又は減分する、
ことを特徴とする前出の請求項に記載の電子デバイス（２００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、限定ではないが、電子デバイスにおける電気的消去可能プログラム可能読み出し専用メモリと共にランダムアクセスメモリの使用並びにその読み出し／書き込み動作の操作に適用可能である。
【背景技術】
【０００２】
電気的消去可能プログラム可能読み出し専用メモリ（ＥＥＰＲＯＭ）は、マイクロコントローラ内に組み込まれることが多い少数の個別消去可能バイト（通常はほぼ約８バイト以下の程度）を有する不揮発性メモリ（ＮＶＭ）である。また、マイクロコントローラは一般に、アプリケーションソフトウェアを実行する中央プロセッシングユニット（ＣＰＵ）を含む。ＮＶＭは、典型的には約１０Ｖ〜１５Ｖの高い動作電圧を必要とする。しかしながら、ＮＶＭ回路に使用されるトランジスタはまた、通常の論理トランジスタ又はランダムアクセスメモリ（ＲＡＭ）セルを作動させるのに必要な電圧と比較して、かなり高い電圧を発生してメモリセルに供給する必要がある。
【０００３】
従って、別名「チップ」と呼ばれる集積回路にＮＶＭを実装する相対コストは、通常の論理回路及びランダムアクセスメモリ（ＲＡＭ）回路を使用するのに伴うコストよりもかなり高い。これは、ＥＥＰＲＯＭにおける場合のように、個別に消去可能なバイトの数が少ない場合によくあることである。ここで、消去可能バイトの数は、ＮＶＭ回路をサポートするために多数のバルク高電圧トランジスタを設ける前述の必要性に起因して、これらのコストの意味により大きな影響を受ける。
【０００４】
この影響を明確にするため、０．２５μｍのスピリット形ゲートフラッシュ（ＳＧＦ）技術において、４ＫバイトＥＥＰＲＯＭ（すなわち、１０２４＊４バイト消去セクタサイズ）は、１２８キロバイトのフラッシュメモリブロック（すなわち、１２８＊１０２４バイト消去セクタサイズ）と同じ領域を必要とすることが分かる。更に、この比較を０．１８μｍ又は０．１３μｍ技術にまで拡大した場合、これらの技術において１ビット（ビットセル）を記憶する領域は、周囲の高電圧論理よりも相対的に小さくなるので、この影響は更に大きくなる。
【０００５】
従って、大部分の半導体製造業者は、もはやオンチップＥＥＰＲＯＭを提供していない。代わりに、半導体製造業者は、現在では図１に図示するプロセスに示されるように、フラッシュメモリを使用してＥＥＰＲＯＭの動作をエミュレートする傾向がある。
【０００６】
ここで図１を参照すると、フローチャート１００はＥＥＰＲＯＭの既知の動作を示している。ＥＥＰＲＯＭ変数への全てのアクセスは、ステップ１０５に示すようにＥＥＰＲＯＭドライバサブルーチンを介して実行される。ＥＥＰＲＯＭドライバサブルーチンの１つの動作は、ステップ１１０に示すようにプログラム又は消去動作がマイクロコントローラのＣＰＵによって実行中であるかどうかをチェックする。
【０００７】
１つ又はそれ以上のＥＥＰＲＯＭ変数がアクセスされている時に、対応するＮＶＭのプログラム又は消去動作がＣＰＵによって実行中である場合、ＣＰＵは、ステップ１１５に示すようにＮＶＭがプログラム又は消去動作を中止することが可能であるかどうかを判断する。ステップ１１５においてＮＶＭがプログラム又は消去動作を中止できるとＣＰＵが判断した場合、ステップ１２０おいて、プログラム又は消去動作は中止される。次いで、ステップ１２５に示すようにアクセス変数がＥＥＰＲＯＭから読み出される。その後、プログラム又は消去動作サブルーチンは、ステップ１３０に示すように通常の動作に戻る。
【０００８】
しかしながら、ステップ１１５おいて、ＮＶＭがプログラム又は消去動作を中止できないとＣＰＵが判断した場合、アクセス中のＥＥＰＲＯＭ変数は、例えば、ＮＶＭに結合された通常の（フラッシュ）ランダムアクセスメモリ（ＲＡＭ）内にキャッシュされる。キャッシング動作は通常、ステップ１３５に示すようＣＰＵ内のドライバソフトウェアによって制御される。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
このようにして、複雑なＥＥＰＲＯＭ管理動作は、実際には、ＥＥＰＲＯＭ変数であるデータを大きなフラッシュメモリに格納し且つこれから取り出すのに必要とされ使用される。
【００１０】
この手法の１つの問題は、ＮＶＭが１つ又はそれ以上のプログラム又は消去動作を中止できる場合に、これらの動作を反復しなければならないことである。これにより、ＣＰＵによって実施される追加のプログラム／消去サイクルが必要となり、ＮＶＭの早期の消耗が生じることになる。
【００１１】
更に、１つ又はそれ以上のプログラム又は消去動作を中止することができない場合、ソフトウェアは、１つ又はそれ以上のプログラム又は消去動作が完了するまで数ミリ秒待機しなければならないか、或いはデータをキャッシュしなければならないので、追加のＲＡＭ空間が必要になる。更に、キャッシュ動作自体は貴重な処理時間を必要とする。
【００１２】
既知の実施に関する更に別の問題は、ＣＰＵは、消去動作（通常数ミリ秒）又はプログラム動作（通常数マイクロ秒）が保留中の場合、読み出し又は書き込み機能においてフラッシュメモリにアクセスできないことである。
【００１３】
前述の問題は、マルチタスクシステムにおけるＥＥＰＲＯＭの読み出し又は書き込み動作の操作を複雑且つ非効率的にする。従って、ＥＥＰＲＯＭの使用及びその動作方法が改善された電子デバイスに対する必要性がある。
【００１４】
本発明の態様によれば、添付の請求項において定義されたようなメモリ回路及びその動作方法が提供される。
【発明を実施するための最良の形態】
【００１５】
ここで、本発明の例示的な実施形態を添付図面に参照しながら例証として説明する。
本発明の一実施形態は、複数のタスクを同時に実行するように構成された中央プロセッシングユニット及びメモリアーキテクチャについて説明する。しかしながら、本発明は、このような用途に限定されないものとする。本明細書で説明する本発明の概念は、スタンドアロンＮＶＭ、又は書き込み時の読み取り動作ができない、又はデータを格納するのに長時間を要する他の記憶媒体を含むあらゆるアーキテクチャに等しく適用することができる。
【００１６】
要約すると、本発明の発明者は、ランダムアクセスメモリ素子においてＥＥＰＲＯＭエミュレーションソフトウェア書き込みの複雑なタスクを排除する機構を提案する。更に、１つの実施形態において、主中央プロセッシングユニット（ＣＰＵ）がＥＥＰＲＯＭエミュレーションをサポートする必要がないので、ＣＰＵに対する改良された性能が提供される。
【００１７】
更に、本発明の一実施形態において、ＥＥＰＲＯＭに格納されたデータとの間のトランスペアレントな読み出し及び書き込みアクセス動作は、常時、すなわち、ＥＥＰＲＯＭに対してプログラム又は消去プロセスがアクティブであるかどうかに関係なく実施することができる。
【００１８】
次に図２を参照すると、メモリアーキテクチャ２００を有する電子デバイスが示されており、本発明の一実施形態に従って適合されている。メモリアーキテクチャ２００は、バッファＲＡＭ２１５に動作可能に結合された中央プロセッシングユニット２２０を含み、該バッファは、電気的消去可能プログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）をエミュレートするように構成されたフラッシュメモリ素子２０５との間でＣＰＵがデータを書き込み及び読み出しする経路内に配置されている。フラッシュメモリ素子２０５は、例えば、不揮発性ＲＡＭの形式とすることができる。以下にデータハンドラ２１０と呼ばれるデータ処理論理回路は、バッファＲＡＭ２１５とフラッシュエミュレーティングＥＥＰＲＯＭ２０５との間に配置される。
【００１９】
本発明の一実施形態において、ＣＰＵ２２０はまた、タグＲＡＭ２２５を介してデータハンドラ２１０に動作可能に結合される。本発明の文脈において「タグＲＡＭ」とは、バッファＲＡＭ２１５と「１対１」のアドレス関係を有するランダムアクセスメモリを含む。タグＲＡＭ２２５は、タグＲＡＭ２２５の各ビットアドレスがバッファＲＡＭ２１５と対応するビットアドレスを有するように構成されている。特に、本発明の一実施形態においては、タグＲＡＭ２２５の動作は、バッファＲＡＭ２１５よりも高いクロック周波数で実行されるように構成される。例えば、一実施形態において、タグＲＡＭ２２５は、バッファＲＡＭ２１５の２倍のクロック周波数で実行するように構成されている。
【００２０】
更に、タグカウンタ２３０は、バッファＲＡＭ２１５及びタグＲＡＭ２２５に動作可能に結合されている。一実施形態においては、タグカウンタ２３０は、実行される必要があるフラッシュエミュレーティングＥＥＰＲＯＭ２０５の幾つかの読み出し／書き込み動作を追跡する（例えばカウント）のに使用される。
【００２１】
動作中、メモリアーキテクチャ２００は、以下のタスクを実施するように構成されている。最初に、ＣＰＵ２２０によって実施される「書き込み」動作を考えてみる。ＣＰＵ２２０は、データを格納するバッファＲＡＭ２１５にデータを書き込む。タグＲＡＭ２２５がバッファＲＡＭ２１５の２倍のクロック周波数で実行するように構成されている一実施形態においては、書き込み中のバッファＲＡＭアドレスに対応するタグＲＡＭ２２５のアドレスは、バッファＲＡＭアクセスサイクルの前半において読み出される。バッファＲＡＭアクセスサイクルの後半においては、バッファＲＡＭアドレスに関連する論理「１」がタグＲＡＭ２２５に書き込まれ、バッファＲＡＭ２１５内の対応アドレスが書き込み中であることを示す。
【００２２】
タグＲＡＭクロックをバッファＲＡＭ２１５の２倍のクロック周波数で実行すると、バッファＲＡＭアクセスサイクルを２つの部分に分割することが可能になる。同様に、仮にタグＲＡＭクロックがバッファＲＡＭ２１５の４倍のクロック周波数で実行されると、これによりバッファＲＡＭアクセスサイクルは、４つの部分に分割することができるようになり、この場合、それぞれの動作を実施することができる。
【００２３】
最初のサイクルにおいてタグビット「読み出し」動作が論理「０」になった場合、タグカウンタ２３０はその値を増分する。タグカウンタ２３０は、初めは「ゼロ」値を保持するよう構成される。比較論理（図示せず）は、タグカウンタ値と「ゼロ」とを比較して、タグカウンタ値が正か負かを判断するように構成されている。最初のサイクルにおいてタグビット「読み出し」動作が、論理「１」になった場合、データはデータハンドラ２１０によって読み出されていないので、タグカウンタは増分されない。
【００２４】
タグカウンタ２３０がゼロよりも大きな値を保持する場合、データハンドラ２１０は通知を受ける。これに応答して、データ処理器２１０は次に、タグＲＡＭ２２５の対応するアドレス内の値を読み出し、書き込み中のバッファＲＡＭ２１５のアドレスを識別する。
【００２５】
タグＲＡＭ２２５はアクセスサイクルの前半において、データハンドラ２１０によって読み出される。データハンドラ２１０が、タグＲＡＭにおける非ゼロ値によって識別されるように、書き込み中のバッファＲＡＭ２１５の対応するアドレスを識別すると、バッファＲＡＭのアドレスがデータハンドラ２１０によって読み出される。同時に、タグＲＡＭ２２５の対応するアドレスでの関連タグビットは、アクセスサイクルの後半においてクリアされる。
【００２６】
最後に、このサイクルにおいて、タグカウンタ２３０は減分され、これによりバッファＲＡＭ２１５からデータハンドラ２１０への１つのデータ転送が正常に完了したことが示される。
【００２７】
次いで、データハンドラ２１０は、バッファＲＡＭ２１５から読み出したデータを格納する場所を求めてＮＶＭメモリ２０５をサーチする。一実施形態において、ＮＶＭ２０５は、各データ要素が識別子（ファイル名など）を有するファイルシステムと類似の方法で構築されている。
【００２８】
これにより、例えば、データハンドラが読み出すアドレスと同じアドレスにＣＰＵが書き込む場合など、既知のメモリアーキテクチャについての前述のデータ一貫性の問題が回避される。この利点は、一実施形態において、データハンドラよりもＣＰＵアクセスを優先させ、例えばバッファＲＡＭ２１５の２倍のクロック周波数をタグＲＡＭ２２５に利用することで単一サイクルの範囲内でタグカウンタ２３０のあらゆる更新（増分又は減分）が生じることを確実にすることによって達成される。
【００２９】
一実施形態において、タグＲＡＭ２２５は、バッファＲＡＭ２１５の２倍の周波数でクロック制御されるが、バッファＲＡＭ２１５の低クロック周波数レートの４倍及び８倍といった、他の倍数クロック周波数レートをタグＲＡＭ２２５が使用することも想起され、それでも本明細書で説明する本発明の概念から利益が得られることになる。
【００３０】
ＣＰＵ２２０により実施される「読み出し」動作では、データは、バッファＲＡＭから直接配送され、従って、低速のフラッシュ読み出し速度又は保留プログラム或いはフラッシュメモリの消去動作によって速度が低下しない。
【００３１】
電源投入時、バッファＲＡＭ２１５内のデータは失われる。よって、一実施形態において、データハンドラ２１０は、バッファＲＡＭ２１５内のデータ内容をＮＶＭ２０５からバッファＲＡＭ２１５にコピーすることによって該データ内容を復元する。
【００３２】
有利には、既知のメモリアーキテクチャは、ＮＶＭからの内部ＲＡＭにデータをコピーするように構成されることが多く、これによりあらゆるＮＶＭプログラム又は消去動作とは無関係にデータに迅速にアクセスできるようになるので、バッファＲＡＭ２１５を使用することによりアーキテクチャに付加されるコストが最小になる。
【００３３】
特に、ＮＶＭデータ処理は、アーキテクチャアプリケーション／ユーザから隠蔽されるので、アプリケーション／ユーザは、ＮＶＭ２０５へ（「書き込み」動作において）又はＮＶＭ２０５から（「読み出し」動作において）自動的にコピーされるものとしてバッファＲＡＭ内のデータに依存することができる。ＮＶＭ２０５内のファイルシステムの構造についての知識は、データの格納及び取り出しはデータハンドラ２１０が行うのでユーザには必要ではない。
【００３４】
有利には、これにより、半導体製造業者により一層の柔軟性がもたらされ、例えば、ＮＶＭのファイルシステムの書き込み消去サイクルの数が増大する。或いは、タグＲＡＭ２２５用のクロック周波数をバッファＲＡＭ２１５に加えられる２倍のクロック周波数で使用することから生ずる追加のリソースは、追加のデータチェック動作を実行するようＮＶＭファイルシステムを支援することができる。
【００３５】
従って、前述のＥＥＰＲＯＭ動作を処理する上での欠点、及び特にＥＥＰＲＯＭエミュレーションに関するプログラム又は消去動作の非効率的な実施（通常、プログラムでは数マイクロ秒、消去では数ミリ秒）は、バッファＲＡＭ２１５への単一のサイクルアクセス時間（通常、１０ナノ秒の範囲内）を有することによって利点に転換される。
【００３６】
使用の観点から見ると、一実施形態において、ソフトウェア開発業者は、例えば、ソフトウェア開発の範囲内でリンク付け段階の間にＥＥＰＲＯＭ領域に変数を設定できることが想起される。この点に関して、変数は、不揮発性メモリに設定されるようにリンカ（Ｌｉｎｋｅｒ）によって操向することができ、これは当業者には理解されるであろう。
【００３７】
従って、ＣＰＵはＲＡＭからデータを読み出してＲＡＭに戻して格納し、これらの動作は単一のＣＰＵサイクルを要するので、プログラム又は消去動作を中止する必要はない。更に、バッファ動作自体は、ここでデータハンドラによって実施される。
【００３８】
次に、図３を参照すると、フローチャート３００は、図２のフラッシュメモリ２０５のようなＥＥＰＲＯＭの動作をエミュレートする不揮発メモリ素子へのデータ書き込み動作（ステップ３０５のように）を示す。特に、当業者には理解されるように、データアクセスの数及びデータフローは反対方向に動作しているにもかかわらず、ＣＰＵが「読み出し」動作を実施するときには同様の動作が適用される。
【００３９】
ステップ３１０に示すように、タグＲＡＭのタグビットは、タグビットが書き込まれることになるＲＡＭバッファの書き込みアドレスに対応するように設定される。ステップ３１５において、タグビットアドレスが「書き込み動作」が開始すされる前にクリアされたとすれば、最初に「ゼロ」に設定されているタグカウンタは増分される。タグカウンタが非ゼロ値に移行すると、ステップ３２０に示すように、データハンドラは比較論理によってトリガされる。比較論理は、データハンドラに対して、タグカウンタが（正の）非ゼロ値に移行したことに起因して「書き込み」（又は「読み出し」動作が開始されたことを識別する。データハンドラは次に、ステップ３２５でタグＲＡＭから値を読み出し、ステップ３３０に示すように、書き込み中のバッファＲＡＭのアドレスを識別する。
【００４０】
ＣＰＵは、ステップ３３５において、識別されたアドレスのバッファＲＡＭを読み出すようデータハンドラに命令し、ＥＥＰＲＯＭをエミュレートしているフラッシュメモリにデータをコピーする。ステップ３３５において、識別されたアドレスのバッファＲＡＭをデータハンドラが読み出すと同時に、タグＲＡＭのタグビットは、ステップ３４０においてＣＰＵによってクリアされ、ステップ３４５においてタグカウンタがゼロに減分される。
【００４１】
このようにして、データハンドラが読み出す同じアドレスへのＣＰＵの書き込み後の前述のデータ一貫性の問題が回避される。一実施形態において、この問題は、バッファＲＡＭに適用する単一クロックサイクル内で２つの動作をサポートする倍速クロック制御タグＲＡＭを使用することによって回避される。このようして、倍速クロック制御タグＲＡＭを使用すると、ＣＰＵが一方のクロックエッジでＲＡＭにアクセスするのに対し、データハンドラは他のクロックエッジでＲＡＭにアクセスする。
【００４２】
本発明の一実施形態において、データハンドラは次に、ファイルシステム手法を用いて構成することができるデータをＮＶＭに格納する。
【００４３】
本発明の一実施形態において、回路素子はドライブソフトウェアによってサポートすることができるが、ハードウエア内に実装される。
【００４４】
一実施形態において、ファイルシステム手法が使用される。ファイルシステム手法は、単にダイ寸法が電源異常に効率的に耐えることができることだけを必要としているが、「読み出し」及び「書き込み」サイクルを可能にする程十分に迅速に変数を更新する。有利には、この実施形態において、ファイルシステムを管理するのに使用される管理ビット用の低オーバーヘッドが存在し、例えば、パワーオンリセットからのフロー記述は、データハンドラをイニシャライズしてＮＶＭデータをバッファＲＡＭにコピーするのに使用することができる。これにより、ＣＰＵが、ＥＥＰＲＯＭからデータを直接コピーするよりも迅速にバッファＲＡＭからデータを読み出すことが可能になる。
【００４５】
一実施形態において、バッファＲＡＭは、較正セッションの間迅速なバッファＲＡＭとして機能する。較正動作の間、例えば、自動車エンジンのチューニングにおいて、アプリケーション／ユーザは、最適化性能が得られるまで継続的にデータを変更することができる。本発明の発明概念がこの実施形態に適用されると、各更新値をＮＶＭに直接書き込みすることなく、継続的なデータの変更がバッファＲＡＭの外で迅速に実施することができる。較正が終了すると、ＲＡＭ内のデータ内容は、処理の最後にフラッシュすることができ、これにより不揮発性メモリの使用が更に柔軟になる。
【００４６】
一実施形態において、ＲＡＭフラッシュ及びＥＥＰＲＯＭ利用で使用されるメモリ容量は設定変更可能であると想起される。例えば、アプリケーション及び４ＫＲＡＭの利用に応じて、１ＫＲＡＭはフラッシュメモリによってバックアップすることができ、残りのＲＡＭの３Ｋは標準様式で使用される。この柔軟性により、かなり簡素で安価なメモリベースデバイスの実施が容易になる。
【００４７】
従って、上述のように改良されたメモリ回路及びその動作方法は、下記の利点の内の少なくとも１つ又はそれ以上をもたらすことを意図する点は理解されるであろう。
（i）本発明の概念はあらゆる技術に適用することができる。０．１３μｍ、９０μｍ及びそれ以上でより魅力的なものになっている、オンチップフラッシュメモリ技術に対して特に有利であることが分かっている。ここで、小さなセクタ消去可能ＥＥＰＲＯＭの相対コストは、０．２５μｍ技術におけるようなより大きなセクタに区分されたフラッシュメモリと比較してかなり高い。
（ii）本発明はＥＥＰＲＯＭエミュレーションソフトウェアルーチンを書き込む複雑なタスクを排除してバッファＲＡＭの動作を制御する。
（iii）本発明の概念は、マイクロコントローラがエミュレーションソフトウェアを実施する重要で時間を要する機能を実行する必要がないので、マイクロコントローラに追加の性能を提供する。
（iv）本発明の概念により、ＮＶＭに格納されたデータのトランスペアレントな「読み出し」及び「書き込み」アクセス動作が何時でも、すなわちＮＶＭに対してプログラム又は消去プロセスが同時にアクティブであるかどうかに無関係に可能になる。
（v）本発明の概念は、信頼性を高め、ＥＥＰＲＯＭ組み込みコントローラの品質を向上させる。
（vi）本発明の一実施形態において、バッファＲＡＭは、データ処理を実施するように構成されている。よって、キャッシュ用に追加の記憶装置が必要とされず、従って、データＲＡＭをかなりの量削減することができる。
（vii）フラッシュにおけるワードのプログラミングは数マイクロ秒を要し、消去は数ミリ秒、及びＲＡＭ書き込み又は読み出し動作は僅かに約１０ナノ秒を要するように、性能はかなり向上（すなわち、ＥＥＰＲＯＭ変数へのアクセスが１００倍速い）している。
【００４８】
特に、上述の本発明の概念は、半導体製造業者によってあらゆるＣＰＵアーキテクチャ（例えば、Ｆｒｅｅｓｃａｌｅ（商標）ＭＰＵファミリーのＣＰＵアーキテクチャ）に適用できることが想起される。例えば、半導体製造業者は、ＣＰＵメモリアーキテクチャ又は特定用途向け集積回路（ＡＳＩＣ）及び／又はあらゆる他のサブシステム要素などのスタンドアロンデバイスの設計に本発明の概念を利用できることが更に想起される。
【００４９】
接触感応型デバイス、信号処理ユニット、その他のような様々な機能ユニット又は信号処理要素間の機能性のあらゆる好適な配置は、本明細書で説明された本発明の概念から逸脱することなく使用することができる点は理解されるであろう。従って、特定の機能デバイス又は要素に対する言及は、厳密な論理又は物理的構造又は編成を表すのではなく、説明された機能性を提供する適切な手段への言及としてのみ理解すべきである。
【００５０】
本発明の態様は、ハードウエア、ソフトウェア、ファームウエア又はこれらの組み合わせを含む、あらゆる適切な形式で実施することができる。本発明の実施形態の要素及び構成要素は、あらゆる適切な方法で物理的、機能的及び論理的に実施することができる。実際に、機能性は、単一のユニット又はＩＣ内で、複数のユニット又はＩＣ内で、或いは他の機能ユニットの一部として実施することができる。
【００５１】
特に、前述の本発明の概念は、半導体製造業者によってあらゆるユーザインタフェースに適用できることが想起される。例えば、半導体製造業者は、コンピュータデバイス又は特定用途向け集積回路（ＡＳＩＣ）及び／又はあらゆる他のサブシステム要素向けのスタンドアロンユーザインタフェースの設計に本発明の概念を利用できることが更に想起される。
【００５２】
本発明を幾つかの実施形態に関して説明してきたが、本明細書に記載された特定の形式に限定されることを意図するものではない。むしろ、本発明の範囲は、添付の請求項によってのみ限定される。加えて、特定の実施形態に関連して特徴を説明しているようであるが、当業者でれば、説明された実施形態の種々の特徴は、本発明に従って組みあわせることができる点を理解されるであろう。請求項において、用語「含む」は他の要素又はステップの存在を排除するものではない。
【００５３】
更に、個々の特徴は異なる請求項に含めることができるが、これらは、可能であれば有利に組みあわせることができ、異なる請求項における包含は、特徴の組み合わせが実施可能及び／又は有利ではないことを示唆するものではない。更に、請求項の１つの範疇においてある特徴を包含することは、この範疇への限定を示唆するものではなく、むしろ該特徴が必要に応じて他の請求項の範疇に等しく適用できることを示している。
【００５４】
更に、請求項における特徴の順序は、特徴部が実施される必要のある特定のあらゆる順序を示唆するものではなく、詳細には、方法の請求項における個々のステップの順序は、ステップがこの順序で実施される必要があることを示唆するものではない。むしろこれらのステップは、あらゆる適切な順序で実施することができる。加えて、単数表現は複数を排除するものではない。従って、「ａ」、「ａｎ」、「第１の」、「第２の」、その他は複数を除外しない。
【００５５】
以上、改良されたメモリ素子及びその動作方法を説明してきたが、ここでは、従来技術の構成に伴う前述の欠点は実質的に解消された。
【図面の簡単な説明】
【００５６】
【図１】ランダムアクセスメモリに動作可能に結合されるＥＥＰＲＯＭにアクセスする既知の動作のフローチャートである。
【図２】本発明の一実施形態に従って適合された中央プロセッシングユニット及びメモリアーキテクチャを有する電子デバイスを示す図である。
【図３】本発明の一実施形態に従って適合されたマルチタスクステムにおける読み出し又は書き込み動作処理を示すフローチャートである。
【符号の説明】
【００５７】
２０５  フラッシュエミュレートＥＥＰＲＯＭ
２１０  ハンドラ
２１５  バッファＲＡＭ
２２０  ＣＰＵ
２２５  タグＲＡＭ
２３０  タグカウンタ
【図１】
2009526294.tif 000003
【図２】
2009526294.tif 000004
【図３】
2009526294.tif 000005
【国際調査報告】
2009526294.tif 000006
2009526294.tif 000007
2009526294.tif 000008