(57)【要約】  本発明は、書き込まれるデータの所有元が、セクタの区画への書込みアクセスを有することを照合することを含む、電子モジュールのフラッシュタイプのメモリのセクタへのアクセスを制御するための方法に関する。本方法は、書込みを行う前に、セクタ全体の可能な消去を許可するために、関与するセクタに関する少なくとも１つの追加規則を照合することを含む。規則は、関与するセクタの消去が、保持されなければならないデータを削除しないことを照合するのに使われる。本発明は、本方法が実施される電子モジュールにも関する。
2007513421.tif 000002
【特許請求の範囲】
【請求項１】
書き込まれるデータの所有元が、セクタの区画への書込みアクセスを有することを照合することを含む、電子モジュールのフラッシュタイプのメモリのセクタへのアクセスを制御するための方法であって、書込みを行う前に、前記セクタ全体の可能な消去を許可するために、関与するセクタに対する少なくとも１つの追加規則を照合することを含むことを特徴とする方法。
【請求項２】
追加規則は、書込みが、書込みアクセスを要求している所有元以外の所有元のデータを消去しないことを照合するのに使われることを特徴とする、請求項１に記載の方法。
【請求項３】
照合が、以下の場合に書込みが認められるタイプの１つの規則または規則の組合せに基づき、前記場合が、
セクタ全体が、同一の所有元に属し、かつ／または
同一の所有元に属さないページが空白であり、かつ／または
同一の所有元に属さないページが、消去可能と印をつけられ、かつ／または
書込みが行われるセクタ内の場所が空白であり、セクタは必ずしも完全に空白でない場合であることを特徴とする、請求項２に記載の方法。
【請求項４】
所有元が要求する場合、セクタのページに消去可能と印をつけることを含むことを特徴とする、請求項１から３のいずれか一項に記載の方法。
【請求項５】
情報処理手段と、フラッシュタイプの不揮発性メモリとを含む電子モジュールであって、メモリマネージャ１７を含み、該メモリマネージャが、書き込む前にセクタ全体の可能な消去を認めるために、書き込まれるデータの所有元が、前記セクタの区画への書込みアクセスを有することを照合することを含む規則に加えて、関与するセクタに対して、少なくとも１つの規則を照合することを含むことを特徴とする、電子モジュール。
【請求項６】
フラッシュメモリ内の書込みをすべて阻止することを特徴とする、請求項５に記載の電子モジュール。
【請求項７】
メモリマネージャ１７が、前記セクタのページの状況を含む、メモリセクタの記述２７にアクセスすることができることを特徴とする、請求項５または６に記載の電子モジュール。
【請求項８】
請求項５から７の一項に記載の電子モジュールを備えることを特徴とするカード。
【請求項９】
コンピュータプログラムであって、電子アセンブリ内で前記コンピュータプログラムが実行されると、請求項１から４のいずれか一項に記載の方法のステップを実行するプログラムコード命令を備えるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子モジュールのフラッシュメモリ内でのアクセスを制御するための方法、およびこのような方法の実施のためのモジュールに関する。
【０００２】
本発明は、特殊な実現形式によって、集積回路カードなどの可搬物に適用される。集積回路カードは、たとえば、メモリカードまたはマイクロプロセッサカードでよい。
【０００３】
本発明の場合には、「可搬物」という用語は、その最も広い意味で解釈されなければならない。可搬物は、電子チップを装備する特定のすべてのタイプの軽量端末に関し、より具体的には、このようなものとしてのスマートカードに関する。電子チップは、それ自体が、情報処理手段（たとえば、マイクロプロセッサ）および情報格納手段を装備する。
【背景技術】
【０００４】
現在、スマートカードにおいて、新たな不揮発性メモリ技術、すなわちフラッシュ技術が台頭しつつある。フラッシュメモリは、図１に示されるようなセクタ（セクタ１、２、３）に編成される。各セクタは、一意のサイズのメモリブロックである。各セクタのメモリ空間は、たとえば１２８バイトのメモリページに分割され、区画またはセグメント（たとえば、図１のセクタ１のＡｐｐｌｉ１区画、Ａｐｐｌｉ２区画、Ａｐｐｌｉ３区画、およびＯＳ区画）にグループ化され、様々なソフトウェアモジュール（Ａｐｐｌｉ１、Ａｐｐｌｉ２、Ａｐｐｌｉ３、ＯＳ）を格納するのに使われる。一区画は、所与の所有元（ｏｗｎｅｒ）に割り振られた一セクタの全ページを含む。
【０００５】
マルチアプリケーションカードでは、いくつかのアプリケーションが、同一のセクタを共有する（たとえば、アプリケーション１、２、３が、図１のセクタ１を共有する）。
【０００６】
知られているタイプのアクセスコントローラは、所与のアプリケーションに、それが所有し、または共有するセクタへの書込みアクセスを提供する。フラッシュメモリでは、セクタが、消去可能なメモリの単位を規定し、したがって、セクタの非空白区域、たとえば区画を修正するには、セクタ全体が、消去されなければならない。セクタの非空白区域に書き込むには、セクタ全体が消去される。すなわち、セクタは、消去のために分割できない単位を形成する。したがって、図１に示されるように、アプリケーション１は、セクタ１を修正したい場合、アプリケーション２のデータを消去する可能性も、オペレーティングシステムのデータを消去する可能性さえもあり得る。書込みの前に消去を行うと、他のアプリケーションに属するデータを含む区画は、取返しのつかない損傷を被る可能性があり得る。
【０００７】
知られている１つの解決方法は、セクタ全体を１つの所有元に割り振るものである。ただし、セクタが大きい場合、メモリ空間が大幅に損失され、柔軟性が乏しくなる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の１つの目的は、フラッシュメモリ内での書込み動作を最適化することである。
【課題を解決するための手段】
【０００９】
本発明は、書き込まれるデータの所有元が、セクタの区画への書込みアクセスを有することを照合することを含む、電子モジュールのフラッシュタイプのメモリのセクタへのアクセスを制御するための方法に関し、書込みを行う前に、前記セクタ全体の可能な消去を許可するために、関与するセクタに対する少なくとも１つの追加規則を照合することを含むことを特徴とする。
【００１０】
本発明は、情報処理手段と、フラッシュタイプの不揮発性メモリとを含む電子モジュールにも関し、メモリマネージャを含み、該メモリマネージャは、書き込む前にセクタ全体の可能な消去を認めるために、書き込まれるデータの所有元が、前記セクタの区画への書込みアクセスを有することを照合することを含む規則に加えて、関与するセクタに対して、少なくとも１つの規則を照合することを含むことを特徴とする。
【００１１】
非限定的例として与えられる、後に続く本発明による方法の実施形態、およびこの実施形態のために構成された電子システムの実現態様の説明を読み、添付された図面を参照すると、本発明の他の目的、特徴、および利点が、明らかになるであろう。
【発明を実施するための最良の形態】
【００１２】
本発明による方法は、たとえば電子モジュールを装備するあらゆる可搬物など、電子システムのフラッシュメモリ、より具体的には集積回路カードへの書込みを最適化することを目指す。この電子システムは、少なくともプロセッサおよびフラッシュタイプの不揮発性メモリを備える。以下の説明において、フラッシュタイプのメモリは、セクタに編成されたどのメモリも意味し、セクタは、消去のために分割できない単位を形成し、セクタはそれ自体が、異なる所有元に割り振られることが可能であり得るメモリページに細分される。
【００１３】
非限定的な例として、以下で説明される電子システムは、図１に示される電子モジュール１を備える可搬物に対応する。このタイプのモジュールは、概して、モノリシックな集積電子マイクロ回路すなわちチップとして実現され、知られている任意の手段によっても物理的に保護されると、たとえばスマートカード、集積回路カード、または様々な分野で使われ得る他のカードなど、可搬物に組み立てられることができる。
【００１４】
マイクロプロセッサ電子モジュール１は、内部バス５を介して、実行されるべきアプリケーション９、すなわちＡｐｐｌｉ１、Ａｐｐｌｉ２、Ａｐｐｌｉ３を含むフラッシュタイプの不揮発性メモリ７、ＲＡＭタイプの揮発性メモリ１１、および外部と通信するための入出力手段Ｉ／Ｏ１３に双方向接続されるマイクロプロセッサＣＰＵ３を備える。
【００１５】
図３に表されるように、フラッシュメモリ７およびメモリ７へのアクセスを制御するアクセスコントローラ１５からなるハードウェア層とは別に、パイロット１９に関連付けられ、または関連付けられていないメモリマネージャ１７を備えるソフトウェア層と、常駐アプリケーション２１、たとえばオペレーティングシステムおよび明確な特徴に対応する「ユーザ」アプリケーション２３のプログラム（たとえば、集積回路カード、すなわち銀行のカード、健康手帳、識別カード）を備えるソフトウェア層とを識別することができる。この表現は、メモリアクセス制御システムの概略図に過ぎず、ハードウェアおよびソフトウェア層は、様々なタスクを実施する他の多くのモジュールを備えることに留意されたい。
【００１６】
アクセスコントローラ１５は、メモリ内のアドレスにアクセスすることを望むユーザが、必要な権利を有することを照合する。概して、アクセスコントローラ１５は、一連のページの上で開いているウィンドウ（セグメンテーション装置ＭＰＵなど）としても、ページに属性を関連付ける半静的アクセスマトリクス（区画タイプ装置ＭＡＣ）としても実現され得る。アプリケーションは、構成中、またはアプリケーションを選択するときに、記憶域に関連づけられる。このような機構は、所定のコード／データ領域ペアに対してのみ、メモリアクセスを許可する。たとえば、アクセスマトリクスを用いると、実行時のアクセスコントローラの役割は、単に、ページ「所有元」のアイデンティティと、このページにアクセスしようとするモジュールのアイデンティティを比較するものである。
【００１７】
本発明によれば、メモリマネージャ１７は、フラッシュメモリ７への書込みを阻止し、書込みに続くセクタの消去を認めるまたは拒否する前に、関与するセクタに対して追加照合を実施する。照合は、書込みによって引き起こされる消去が、他の所有元に属すデータを削除しないかどうか判定する。本説明では、「データ」という用語は、メモリに格納されたどのタイプの情報も、コード、データ、またはそれ以外であっても包含する。書込みは、メモリ内で直接行われてはならず、たパイロットへの直接呼出しによって行われてもならず、前記メモリマネージャを介して行われなければならない。マネージャは、指示されたページにおける書込みアクセス権を照合することもできる。
【００１８】
本発明による方法は、メモリマネージャを使って、セクタに書き込む前に、セクタの消去を認めるために、関与するセクタ全体に対して１組の規則を照合することを含む。
【００１９】
セクタに関する規則の組は、関与するセグメント中のページの所有元およびページの内容を考慮に入れる。規則の組は、書込みが、保持されなければならないデータ、特に書込みを行うことを望んでいるユーザ以外の所有元のデータを削除することができないことを照合する。
【００２０】
照合は、したがって、以下のタイプの１つまたは複数の規則に基づく。
【００２１】
書込みは、以下の場合に許可される。すなわち、
・  書込みが行われるセクタ内の場所が空白である。セクタは、必ずしも完全に空白でなくてよいことに留意されたい。書込みの結果、消去とはならない。
・  かつ／または、セクタ全体が同一の所有元に属す。
・  かつ／または、同一の所有元に属さないページが空白である。
・  かつ／または、同一の所有元に属さないページが、消去可能という印をつけられている。
【００２２】
本説明では、セクタは、セクタ内で書込みが行われたことがないとき、またはセクタが消去され、消去以降に新たな書込みが行われたことがないとき、空白であると言われる。
【００２３】
本発明の特殊な実現形式によれば、本発明によるモジュールは、こうした規則をすべて備える。
【００２４】
マネージャは、以下のものを有する。すなわち、
メモリに格納されたメモリ記述２７であって、
・  いくつかのセクタと
・  セクタごとにいくつかのページと
・  各ページの所有元と
・  ページの状況（消去可能、空白または空白でない）とを含むメモリ記述２７と、
現在の要求の記述であって、
・  関与するセクタ（アドレスから）と
・  要求を発行している所有元とを含む現在の要求の記述と、
１組の規則２９とである。
【００２５】
メモリマネージャは、所有元が、自分に属するページに消去可能と印をつけることを可能にする。上で理解されるように、マネージャは、記述２７で消去可能と印をつけられたページの状況を保持する。
【００２６】
さらに、メモリマネージャは、以下の条件を順守しなければならない。すなわち、
・  照合コードは、セクタの消去を認める、または認めないのに必要とされる特権で実行されなければならない。
・  全メモリアクセスが、このマネージャを介して行われなければならない。
・  認められていない別の所有元のコードによって、コードが変更されることが可能であってはならない。
【００２７】
上記制約に基づく単純アプリケーションプログラムインターフェイス（ＡＰＩ）２５は、たとえば以下の関数を含み得る。
ｅｒｒｏｒ  ｎｖ＿ｗｒｉｔｅ（ｄｓｔ＿ａｄｄｒ，ｓｒｃ＿ａｄｄｒ，ｌｅｎｇｔｈ）であり、ここで、
ｄｓｔ＿ａｄｄｒは、データが書き込まれる目的地アドレス、
ｓｒｃ＿ａｄｄｒは、書き込まれるデータがそこから読み込まれるソースアドレス、
ｌｅｎｇｔｈは、書き込まれるデータの長さである。
【００２８】
この関数は、規則の組を照合した後、所与のアドレスで読み込まれたデータをメモリに書き込むのに使われる。
【００２９】
ｅｒｒｏｒ  ｎｖ＿ｆｉｌｌ（ｄｓｔ＿ａｄｄｒ，ｐａｔｔｅｒｎ，ｌｅｎｇｔｈ）であり、ここで、
ｄｓｔ＿ａｄｄｒは、要求されるパターンでメモリがそこから満たされる目的地アドレス
ｐａｔｔｅｒｎは、再現されるバイト
ｌｅｎｇｔｈは、満たされる区域の長さである。
【００３０】
この関数は、規則の組を照合した後、「ｐａｔｔｅｒｎ」のデータをメモリに書き込むのに使われる。
【００３１】
図１に示される例において、アプリケーションおよびオペレーティングシステムが、第三者によるどの修正もどの消去も認めない場合には、以下の通りである。
・  セクタ１内で、マネージャは、どのアプリケーションもオペレーティングシステムも、セクタを消去するのを認めない。というのは、セクタは、異なる所有元に属す４区画に分割され、どの所有元も、その隣人が、自分の区画を修正するのを認めないからである。セクタは、４区画がその所有元によって消去可能と印をつけられている場合のみ、消去されることができる。
・  セクタ２に対して、マネージャは、アプリケーションＮｏ．２がその区画を消去することを認める。というのは、セクタの残りが空白だからである。
・  セクタ３に対して、セクタは、完全にオペレーティングシステムに属するので、オペレーティングシステムが、このセクタに関する権利すべてを有する。したがって、オペレーティングシステムがセクタを消去する。
【図面の簡単な説明】
【００３２】
【図１】フラッシュメモリの編成を示す図である。
【図２】本発明による方法を利用するように構成されたマイクロプロセッサを有する電子ユニットの、非限定的な実現態様を示す図である。
【図３】本発明によるアクセス制御システムの様々なソフトウェアおよびハードウェア層を示す図である。
【図１】
2007513421.tif 000003
【図２】
2007513421.tif 000004
【図３】
2007513421.tif 000005
【国際調査報告】
2007513421.tif 000006
2007513421.tif 000007