(57)【要約】本発明は、電子モジュールのフラッシュ型メモリへの書き込み方法に関する。この方法は、上記メモリのうちのミラー領域と呼ばれる少なくとも２つの物理領域を同一の論理領域と関連付けし、上記論理領域への書き込みの間、空の上記ミラー領域のうちの１つで上記論理領域の内容をプログラミングし、適切な時間に単一動作で使用中の全ミラー領域の内容を消去することを含む。本発明はまた、この方法が実現されるスマートカードに関する。
2005531842.tif 000002
【特許請求の範囲】
【請求項１】
電子モジュールのフラッシュ型メモリに書き込む方法であって、前記メモリのうち、ミラー領域と呼ばれる少なくとも２つの物理領域を、同一論理領域に関連付けることと、前記論理領域への書き込みの間、前記論理領域の内容を、アクティブ領域と呼ばれる空の前記ミラー領域の１つでプログラミングすることを特徴とする、方法。
【請求項２】
使用されている全ミラー領域の内容を適切な時間に単一動作で消去することを特徴とする、請求項１に記載の方法。
【請求項３】
アクティブでない期間またはミラーの全物理領域が使用されている場合に、消去を行うことを特徴とする、請求項２に記載の方法。
【請求項４】
アクティブ物理領域をバッファ領域にコピーすることと、ミラーの全物理領域を消去することと、バッファを利用可能な第１領域にコピーすることを特徴とする、請求項１から３のいずれか一項に記載の方法。
【請求項５】
システムを妨害することなく、消去およびプログラミング／読取り動作を並行して行うことを特徴とする、請求項１から３のいずれか一項に記載の方法。
【請求項６】
消去およびプログラミング／読取り動作が２バンクメモリで並行して行われ、各バンクはミラー領域を有し、一方のバンクは他方のバンクが消去されている間にプログラミング／読取りに用いられ、プログラミング／読取りに用いられるバンクの全ミラー領域が使用されている場合にはアクティブバンクを変更することを特徴とする、請求項５に記載の方法。
【請求項７】
アクティブ領域の変更ごとにインクリメントするカウンタを用いて前記アクティブ物理領域を指定することを特徴とする、請求項１から６のいずれか一項に記載の方法。
【請求項８】
少なくとも１つのビットを、前記論理領域の少なくとも１つのミラー物理領域の使用状態を表す論理領域に関連付けることを特徴とする、請求項１から７のいずれか一項に記載の方法。
【請求項９】
論理領域の内容がアクティブ物理領域の内容と一致する場合、または前記書き込みが消去を伴わない場合にはアクティブ物理領域に、その他の場合には空物理領域に書き込みが実行されることを特徴とする、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
空物理領域に論理領域の一部だけをプログラミングすることを特徴とする、請求項９に記載の方法。
【請求項１１】
情報処理手段とフラッシュ型不揮発性メモリとを備える電子モジュールであって、少なくとも２つの物理領域から形成され、かつ同一論理領域に関連付けられたミラーメモリを備え、前記論理領域内のそれぞれ新しいプログラミング動作が空ミラー領域の一領域で行なわれていることを特徴とする、電子モジュール。
【請求項１２】
請求項１１に記載の電子モジュールを含むことを特徴とする、カード。
【請求項１３】
データ処理システムで前記プログラムが実行されるとき、請求項１から１０のいずれか一項に記載の方法を実行するプログラムコード命令を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばオンボードシステムなどの電子アセンブリの不揮発性メモリへの書き込み方法に関する。より正確には、本発明の目的は、この種のメモリへの書き込み時間を最適化する方法を提案することである。
【０００２】
本発明はまた、この方法を実行するためのオンボードシステムに関する。
【０００３】
本発明は、より具体的には、スマートカードに適用する。
【０００４】
本発明に関しては、用語「オンボードシステム」は最も広い意味で用いるものとする。詳細には、この用語は電子チップを搭載したすべての種類の小型端末装置、より具体的にはスマートカード等に関する。電子チップ自体は情報処理手段（例えばマイクロプロセッサ）や情報記憶手段に搭載される。
【背景技術】
【０００５】
オンボードシステムの不揮発性メモリへの永久データの書き込みは、一般に、上記メモリの消去／プログラミングのステップの連続からなる。消去は、（「ブロック」または「ページ」と呼ばれる）特定領域の全メモリセルを「ｌｏｗ」状態（以下、「０」と称す）に切り換えることである。プログラミングは、上記特定領域の一部だけを「ｈｉｇｈ」状態（「１」と書かれる）に切り換えることである。書き込みは、ある領域の消去とこの領域内の適切なビットをプログラミングすることである。
【０００６】
現在のカードでは、不揮発性メモリはＥＥＰＲＯＭ技術を利用している。ＥＥＰＲＯＭメモリへの書き込み動作は極めて遅く、約４ｍｓである。消去およびプログラミングの時間も同様で、書き込み時間の約半分、すなわち約２ｍｓである。この結果、メモリの書き込みにより生じる待ち時間によって、プロセッサの本来の性能が発揮されないことになる。
【０００７】
現在、新しい不揮発性メモリ技術、すなわちフラッシュ技術がスマートカードにおいて出現してきている。特にフラッシュ技術がＥＥＰＲＯＭ技術と異なるのは、プログラミングおよび消去の特性が大幅に異なる点である。したがって、フラッシュメモリでは、プログラミングに要求される高速な時間と、先にプログラムされたセルを消去するのに要求される時間（ＥＰＲＯＭメモリの消去に必要な時間と同等）との間に大きな差がある。例えば、プログラミングに要求される時間は、（少量のメモリに対して）１０μｓに達することもある。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の１つの目的は、フラッシュ型メモリを搭載した電子アセンブリの不揮発性メモリの書き込み時間を最適化することである。
【０００９】
本発明の別の目的は、オンボードシステムで実現できる解決法を提案することである。
【課題を解決するための手段】
【００１０】
本発明は電子モジュールのフラッシュ型メモリへの書き込み方法に関し、この方法は、上記メモリのうちのミラー領域と呼ばれる少なくとも２つの物理領域を同一の論理領域と関連付けし、この論理領域への書き込みの間、空のミラー領域のうちの１つで上記論理領域の内容をプログラミングすることを特徴とする。
【００１１】
本発明はまた、情報処理手段およびフラッシュ型不揮発性メモリを備える電子モジュールに関し、この電子モジュールは、少なくとも２つの物理領域から形成された、同一論理領域に関連付けられたミラーメモリを備え、上記論理領域の新しいプログラミング動作のそれぞれが空のミラーメモリの領域で行なわれ、カード内に上記モジュールが組み込まれていることを特徴とする。
【００１２】
本発明の他の目的、特徴および利点は、本発明による方法の実施およびこの実施のために構成された電子システムの実施形態に関する以下の説明を読解し、さらに例示であり、これに限定されるものではない添付の図面を参照することによって明らかとなろう。
【発明を実施するための最良の形態】
【００１３】
本発明による方法は、電子アセンブリのメモリ、例えばスマートカードなどのオンボードシステム、電子モジュールを搭載した任意の携帯物のメモリへの書き込み時間を最適化することを目的とする。電子アセンブリは少なくともプロセッサおよびフラッシュ型不揮発性メモリを含む。以下の説明においては、フラッシュ型メモリとは、プログラミングならびに消去に必要な時間の間に差がある任意の不揮発性メモリを意味する。
【００１４】
これはどのような方法であれ範囲を限定することなく、本発明の好ましい用途、すなわち集積回路カードを基本とする用途が以下に説明される。
【００１５】
スマートカードとも呼ばれる集積回路を備えたカードは、小型のプラスチックデバイスであり、１つ以上の埋込み型集積回路を含む。集積回路を備えたカードは、例えばメモリカード、またはマイクロプロセッサチップカードとも呼ばれるマイクロプロセッサカードであってもよい。
【００１６】
図１に示される本発明の特定の実施形態において、スマートカード１は集積化電子ユニット２を含み、電子ユニット２は、内部バス５を介して少なくとも実行プログラムを記憶するフラッシュ型不揮発性メモリ７に双方向接続されたマイクロプロセッサＣＰＵ３と、ＲＡＭ型揮発性メモリ１１と、外部と通信する入力／出力手段１３とを少なくとも備える。電子ユニット２は、図示されていないが、内部バスと接続されるさらなる構成部品を備えることができる。この種のユニットは一般に、モノリシック集積電子回路またはチップとして製造され、任意の知られている手段によって一旦物理的に保護された後、集積回路カードに組み込むか、あるいは銀行および／または電子支払いカード、携帯無線電話、有料テレビジョン、医療および輸送などのさまざまな分野で用いられる同様の物に組み込むことができる。
【００１７】
本発明は、不揮発性メモリ、特にフラッシュ型メモリのプログラミング／消去の時間の差から恩恵を得るためのソフトウェア方法を含み、スマートカードの不揮発性メモリへの書き込み時間を最適化する。したがって、「ミラー」メモリが定義され、プログラムの同一論理領域を含むよう構成されたｎ個の物理領域に分割される。
【００１８】
図１はミラーメモリ構成の一例を示す。
【００１９】
システムの初期状態においては、全てのミラーメモリ領域は空白、すなわち空であり、データ受信および格納に備えている。プログラムが論理領域ＺＬにＥ１を書き込もうとする場合、第１物理領域ＺＰ１をプログラミングすること（高速）によって書き込まれる。ＺＰ１はいわゆるアクティブまたは現在の物理領域であって、この領域には論理領域の内容を読込む必要がある。次にこの論理領域ＺＬにＥ２を書き込む間、第２物理領域ＺＰ２（まだ空である）をプログラミングすることによって、第１物理領域ＺＰ１が消去される（低速）のを防ぐ。領域ＺＰ２はアクティブ領域となる。この方法は、ミラーメモリが飽和状態になるまで（または、以下に見られるように、システムが使用物理領域を消去するのに適切な時間を見出すまで）繰り返される。
【００２０】
全物理領域を再利用するために、ミラーメモリを定期的に消去しなければならない。消去はシステムにとって適切な時間に実行され、この消去はフラッシュメモリの「ブロックモード」から恩恵を受けることができる。これらの物理領域の消去は、実際には、最初に単一動作で全領域を消去し、次にシステム動作を妨害しない方法で消去を行うことによって最適化される。
【００２１】
「時分割多重化」として知られている第１方法は、純粋なソフトウェア実施形態である。システムが特に端末装置からの命令などの外部イベントを待っているときに、カードシステムによって消去が行われる。「空間多重化」として知られている第２方法は、現在のタスクを実行するのにハードウェアのサポートを必要とする。消去タスクは、実際には、カードシステムによって開始され、通常のプログラム実行と並行して行われる。この第２方法の実現は２ポートフラッシュメモリを用いるかまたは２バンクフラッシュメモリを用いて実行されるのが好ましい。
【００２２】
要するに、本発明で述べるプログラミング／消去サイクルを分離することによって、フラッシュメモリに高速プログラミングの利点を提供し、メモリ消去動作を最適化する。したがって、本発明はメモリ使用と性能の妥協点を得ることである。
【００２３】
本発明のいくつかの実施形態を以下の３つのセクションで説明する。
セクション１：論理領域／物理領域間の関連付けの実現
セクション２：領域書き込みアルゴリズム
セクション３：物理領域の消去および再生
【００２４】
論理領域／物理領域間の関連付けの実施形態（セクション１）を以下に説明する。論理領域／物理領域間を関連付けるために、アクティブ物理領域（論理領域の内容を読込む必要がある現在の「ミラー」領域）を知る必要がある。物理領域を変更する際に、このデータを迅速に修正することにより、プログラミング動作に支障を与えないようにできる必要がある。したがって、データはＲＡＭまたは先に消去されたフラッシュ領域に格納しなければならない。
【００２５】
第１の実施形態は、アクティブ領域の数を含む、論理領域に関連付けられた簡単なＲＡＭカウンタを含む。この領域はカウンタをインクリメントすることによって変更される。カードを初期化するか、または分割する場合、物理領域を走査して、「使用」領域Ｚｐｕの数、すなわち所定の時間で関連論理領域の内容がプログラムされているがまだ消去されていない領域の数が決定される。カウンタはこの値で初期化される。
【００２６】
図３はこの第１の実施形態についての、アクティブ物理領域の変更を必要とする書き込み動作を表している。
【００２７】
第２の実施形態は、論理領域に関連付けられたフラッシュメモリ内のビット領域を含む。各ビットは物理領域の使用状態を表す（「１」→使用済み、「０」→空白）。物理領域の変更は、新たなアクティブ空白領域に対応するビットをプログラミングすることによって実行される。全物理領域が再生されると全体のビット領域が消去される。例えば、アクティブ領域は、ビット領域で使用される重要度が最下位領域として決定されてもよい。
【００２８】
図４はこの第２の実施形態についての、アクティブ物理領域の変更を必要とする書き込み動作を表している。
【００２９】
ある領域への書き込みアルゴリズムの実施形態（セクション２）を、各種の比較動作を示す図５ａから５ｃを参照して、以下に説明する。左側のアクティブ物理領域は修正すべきビットを太字体で含んでいる。新しいアクティブ物理領域（図５ａの古い領域と同じ）と実際にプログラムされたビットが明瞭に右側に示されている。
【００３０】
最も簡単な方法では、論理領域全体の書き込みは新しい物理領域の使用を伴い、一方論理領域の部分的な書き込みは現在の物理領域への読込み、該当部分の置換、その後、新しい物理領域への再書き込みを伴う。この動作は現在の物理領域が再利用できるかどうかを決定することによって最適化できる。
【００３１】
この方法ではまず、現在の領域を読取り、これを書き込まれる部分と比較する。
・２つの内容が同じ場合、何も書き込まれず、アクティブ物理領域は同一状態に留まる（図５ａ）。
・ビットプログラミング動作のみが必要とされる場合（すなわち、「０」から「１」への切り換え）、アクティブ領域は変更されず、対応するビットが現在の領域にプログラムされる（図５ｂ）。
・その他の場合は、現在の領域が読取られ、書き込まれる部分によってマスクされ、その後、全てが新しいアクティブ領域でプログラムされる（図５ｃ）。
【００３２】
不揮発性メモリの読込みは高速で、わずか数プロセッササイクルであるために、あらかじめ現在の領域を読取ることは、この方法の性能に大きな影響を与えないことに留意されたい。さらに、現在の領域の内容はＲＡＭに一時的に格納できる（その後キャッシュメモリとして機能する）。
【００３３】
前述の方法（図５ｃ）の変形例においては、領域は全体をプログラムされず、実際に異なる部分（図の灰色部分）のみがプログラムされる。この方法はより複雑な管理を伴うが、不揮発性メモリをプログラミングする際に重要な利得があるか、またはビットのプログラミング時間が極めて高速であるかのどちらかの理由で、より優れているとされる。
【００３４】
物理領域の再生の実施形態（セクション３）を、図６を参照して以下に説明する。
【００３５】
「時分割多重化」はプログラミング／消去動作を時間で分割する。通常動作においては、システムはプログラミングを実行するのみである。システムがアクティブでなくなると（または全領域が一杯になると）、システムは領域を消去し、この期間の間は休止状態にされる。例えば、スマートカードのＩ／Ｏラインで命令の受取りが長くなり（数百ｍｓ）、システムはこの時間を利用して、消去を行なう。
【００３６】
領域を消去するための純粋なソフトウェア構成（図６）は、バッファ領域のアクティブ物理領域（「ミラー」）をコピーし、その後全ミラー物理領域を消去し、最後にバッファを利用可能な第１物理領域にコピーすることを含む。この構成が以下の図に示されている。
【００３７】
「空間多重化」は、消去動作と論理領域のプログラミング／読取り動作とを並行して行う。２バンクフラッシュがこの多重化を実行するのに用いられる。読取り／プログラミング／消去動作はフラッシュに対してだけなされるのが一般的であり、詳細には、別のメモリをプログラミングするまたは読取る間に、１つのメモリ領域を消去することは不可能である。２バンクフラッシュは２つのバンクを有し、この２つのバンク上で、（各バンクが従来のフラッシュと同じ制約を有するとしても）動作を並行して実行できる。
【００３８】
このメモリでの実施形態は、論理領域が各バンクに少なくとも１つの「ミラー」領域を有することを前提とする。アクティブ領域を含むバンクはプログラミングおよび読取りに用いられ、一方、同時に別のバンクのミラー領域は（可能ならば）全体を消去される。バンクの全ミラー領域が使用されてしまうと、システムはアクティブバンクを変更する。図７ａから７ｃはこれの実施形態を示す。
【００３９】
図７ａでは、プログラミング／読取り動作がバンクＡで行われ、一方バンクＢは消去される。
【００４０】
図７ｂでは、Ｂが消去され、システムは物理領域が飽和になるまでＡで作動し続ける。
【００４１】
図７ｃでは、Ａは飽和に達し、Ｂはアクティブバンクとなり、並行してシステムはＡを消去する。
【図面の簡単な説明】
【００４２】
【図１】スマートカードなどの携帯物に組み込まれた電子モジュールの実施形態の例の概略図である。
【図２】本発明による方法のステップの概略図である。
【図３】本発明による方法の論理領域と物理領域との間の関連付けの第１実施形態の概略図である。
【図４】本発明による方法の論理領域と物理領域との間の関連付けの第２実施形態の概略図である。
【図５ａ】フラッシュ型メモリへの各種の書き込みの概略図である。
【図５ｂ】フラッシュ型メモリへの各種の書き込みの概略図である。
【図５ｃ】フラッシュ型メモリへの各種の書き込みの概略図である。
【図６】本発明による方法における物理領域の消去と再生の第１実施形態の概略図である。
【図７ａ】本発明による方法における物理領域の消去および再生の第２実施形態の概略図である。
【図７ｂ】本発明による方法における物理領域の消去および再生の第２実施形態の概略図である。
【図７ｃ】本発明による方法における物理領域の消去および再生の第２実施形態の概略図である。
【図１】
2005531842.tif 000003
【図２】
2005531842.tif 000004
【図３】
2005531842.tif 000005
【図４】
2005531842.tif 000006
【図５ａ】
2005531842.tif 000007
【図５ｂ】
2005531842.tif 000008
【図５ｃ】
2005531842.tif 000009
【図６】
2005531842.tif 000010
【図７ａ】
2005531842.tif 000011
【図７ｂ】
2005531842.tif 000012
【図７ｃ】
2005531842.tif 000013
【国際調査報告】
2005531842.tif 000014
2005531842.tif 000015
2005531842.tif 000016