(57)【特許請求の範囲】
【請求項１】
データの組の持続性記憶を支持するためのデータ構造を記憶するコンピューターで読み得る非揮発性メモリ素子であって、
前記データ構造が、
（ａ）第１のメモリ領域における前記データの組の少なくとも最古のバージョンであって、該第１のメモリ領域が前記最古のバージョンを独自に識別するための少なくとも１個の第１のタグを有している最古のバージョン、及び
（ｂ）第２の別個のメモリ領域における前記データの組の少なくとも最新に更新されたバージョンであって、該第２の別個のメモリ領域が前記最新に更新されたバージョンを独自に識別するための少なくとも１個の第２のタグを有している最新に更新されたバージョン、を備えており、
前記データの組の最古のバージョン及び最新に更新されたバージョンの各々が、１個又はそれ以上のメモリページに記憶され、そしてメモリページの各々が前記データの組、バージョン番号、及びページ番号への参照を有する１個のタグを備える、ことを特徴とするコンピューターで読み得る非揮発性メモリ素子。
【請求項２】
各ページが１ワードラインに相当する請求項１記載のコンピューターで読み得る非揮発性メモリ素子。
【請求項３】
プロセッサー（２；２、４）、及び請求項１又は請求項２記載の少なくとも１個のコンピューターで読み得る非揮発性メモリ素子を有し、前記プロセッサー（２；２、４）が前記データ構造を処理するように配列されているコンピューターシステム。
【請求項４】
プロセッサー（２；２、４）が、タグの内容について冗長度を有してタグに書き込み、そして非揮発性メモリ素子からタグを読んだ後で、書込みエラーが発生したか否かを前記冗長度から解析するように配列された請求項３記載のコンピューターシステム。
【請求項５】
最新更新バージョンが複数のページよりなり、各ページが特有のタグを有し、そしてプロセッサー（２；２、４）が、データの組の前記最新更新バージョンを更新して前記更新の最終ステップとして前記複数のページの所定のページの所定のタグを前記非揮発性メモリ素子に書き込むように配列された請求項３又は４記載のコンピューターシステム。
【請求項６】
前記タグの少なくも１個が所有権及び使用権を示すような追加のデータを含み、そしてプロセッサー（２；２、４）がこれら追加のデータから所有権及び使用権を認識するように配列された請求項３乃至５のいずれか１に記載のコンピューターシステム。
【請求項７】
前記使用権がデータの組の異なった部分について異なり、そしてプロセッサー（２；２、４）がこれら異なった部分に対する異なった所有権を認識するように配列される請求項６記載のコンピューターシステム。
【請求項８】
プロセッサー（２；２、４）がタグ値を解析するように配列され、かつ前記タグ値を通しての参照により前記データの組の最古のバージョン及び最新更新バージョンにアクセスすることだけを許すように配列された請求項３乃至７のいずれか１に記載のコンピューターシステム。
【請求項９】
前記プロセッサーが、中央処理ユニット（２）及び別個のメモリ管理ユニット（４）を備え、そしてタグ値はメモリ管理ユニット（４）にだけ知られている請求項８記載のコンピューターシステム。
【請求項１０】
前記メモリ管理ユニット（４）がコンピューターの読み得る非揮発性メモリ素子にタグを書き込む前に暗号キーでタグを符号化し、前記暗号キーはメモリ管理ユニット（４）だけに知られている請求項９記載のコンピューターシステム。
【請求項１１】
前記暗号キーが暗号化された一方向機能に関連する請求項１０記載のコンピューターシステム。
【請求項１２】
データの組の持続性記憶を支持するための方法であって、
（ａ）該データの組の最古のバージョンを独自に識別するための第１のタグを有する、非揮発性メモリ素子の第１のメモリ領域に該最古のバージョンを記憶する段階、更に
（ｂ）前記データの組の最新更新バージョンを独自に識別するための第２のタグを有する、非揮発性メモリ素子の第２の別個のメモリ領域に該最近更新バージョンを記憶する段階、を具備し、
前記データの組の最古のバージョン及び最近更新バージョンの各々が、１個又はそれ以上のメモリページに記憶され、そしてメモリページの各々が前記データの組、バージョン番号、及びページ番号への参照を有する１個のタグを備える、ことを特徴とするデータの組の持続性記憶を支持するための方法。
【請求項１３】
前記第２のタグについて実行された所定の作業によって段階（ｂ）における前記記憶作業を検査する段階を更に具備することを特徴とする請求項１２記載の方法。
【請求項１４】
最新更新バージョンが複数のページを有し、各ページが特有のタグを有し、そして段階（ｂ）における前記記憶作業の完了を確認するために前記複数のページの所定のページの所定のタグが段階（ｂ）における最終段階として記憶されることを特徴とする請求項１２記載の方法。
【請求項１５】
段階（ｂ）に続いて、
（ｃ）非揮発性メモリ素子に残る少なくとも２バージョンの前記データの組を提供された前記データの組の最古のバージョンの記憶されているメモリ領域の割当てを解除する段階、を更に具備することを特徴とする請求項１２記載の方法。
【発明の詳細な説明】
【０００１】
【発明の分野】
本発明は、メモリ領域内に少なくも１組のデータを含んだメモリ手段に関する。メモリ手段は、揮発性ＲＡＭ素子、又はＥＥＰＲＯＭ、フラッシュＥＰＲＯＭ、又はＲＯＭのような非揮発性シリコン素子を有し構成することができる。通常、かかるメモリは、オペレーティングシステムソフトウエアモジュール、アプリケーションプログラム及びアプリケーションデータを記憶する。本発明によるかかるコンピューターシステムが特に有効な領域においては、オペレーティングシステムソフトウエアモジュールの幾つか又は全部がＲＯＭに記憶される。
【０００２】
【従来技術の説明】
あるアプリケーション、典型的には金融取引プロセスにおいては、記憶作業は極めて安全に行わねばならない。かかる安全記憶アプリケーションは、「パーシステント」記憶手段における「更新のアトミシティ（ａｔｏｍｉｃｉｔｙ）」を要するとして知られる。かかる安全な更新を実行するために、従来技術より更新ログの使用が知られる。かかる更新ログは、データの組の更新期間中に変更しなければならないデータの組の部分を記憶する。データの組がその更新された部分と共にメモリに記憶されたときだけ、前のバージョンのデータの組に関する全てが除去される。
【０００３】
【発明の目的】
本発明の目的は、非揮発性メモリ素子、特にＥＥＰＲＯＭ又はフラッシュＥＥＰＲＯＭのようなシリコン記憶素子に記憶されたデータ用の更新のアトミシティのための機構を提供することである。
【０００４】
【発明の概要】
従って、本発明は、データの組の持続性記憶を支持するためのデータ構造を記憶するコンピューターで読み得る媒体であって、前記データ構造が、
（ａ）  第１のメモリ領域における前記データの組の少なくも最古のバージョン
であって、前記第１のメモリ領域が前記最古のバージョンを独自に識別す
るための少なくも１個の第１のタグを有している前記最古のバージョン、
及び
（ｂ）  第２の別個のメモリ領域における前記データの組の少なくも最新の更新
されたバージョンであって、前記第２のメモリ領域が前記最新更新バージ
ョンを独自に識別するための少なくも１個の第２のタグを有している前記
最新更新バージョン
を備えるコンピューターで読み得る媒体に向けられる。
【０００５】
異なったメモリ領域に関連するかかる特有のタグの応用により、バージョンの一つがより古いバージョンであることを独自に識別することができる。更に、かかるタグの応用により、同じオリジナルデータの組に関するバージョンを識別することができる。そこで、ある一つのメモリにおいて、異なったデータの組の異なったバージョンが同時に存在することができる。更に、最新更新バージョンの更新中は、より古いバージョン並びに最新更新バージョンはメモリから削除されない。最新更新バージョンの更新作業の完了後においてのみ最古バージョンのデータの組をメモリから削除することができる。
【０００６】
更新作業が中断されたとき及び中断中は、最新更新バージョンはなおメモリ内にあり、このため、少なくも１個の妥当なバージョンのデータの組の存在が保証される。そこで「更新のアトミシティ」が保証される。かかるアトミックな更新は、更新作業が中断された場合でも、データの完全置換又は先に記憶されたデータが変更されないことを保証する。
【０００７】
一実施例においては、各バージョンのデータの組が１又はそれ以上のメモリページに記憶され、そして各メモリページは１個のタグを含み、各タグはデータの組、バージョン番号、及びページ番号についての参照を含む。
【０００８】
ページは、関係する記憶技術に対して適切なまとまりで分配された連続したメモリ位置のメモリ領域として定められる。各ページは、１ワードライン（ｗｏｒｄ  ｌｉｎｅ）に相当させることができ、従ってメモリユニットの読取り及び書込み作業を容易にする。バージョン番号は異なった世代のデータの組に割り当てられる。従って異なったバージョン番号は異なった世代に関連する。異なったページ番号は同じ世代のデータの組の中の異なったページを指す。
【０００９】
本発明は、プロセッサー及び上に定められたような少なくも１個のコンピューターが読み得る媒体を含んだコンピューター配列にも関連する。
【００１０】
好ましくは、プロセッサーは、メモリ手段からタグを読み出した後、冗長度を有してタグを書き込み、書込みエラーが発生したか否かを冗長度から解析するように配列される。かかる冗長度は、関連タグ及び関連タグへのデータの組が妥当な値を有するか否かの指標として使用することができる。
【００１１】
好ましくは、最新更新バージョンは複数のページよりなり、各ページは特有のタグを有し、そしてプロセッサーは、前記データの組の前記最新更新バージョンを更新しそして前記更新の最終段階として前記複数のページの所定のものの所定のタグを前記メモリ手段に書き込むように配列される。最後に書き込まれた所定のタグはプロセッサーが読み取ることができる。プロセッサーが、メモリ手段におけるこの所定タグの存在を検出したときは、プロセッサーは更新作業が完了したと結論を下すことができる。
【００１２】
かかるタグの応用により幾つかの新しいオプションが提供される。例えば、少なくも１個のタグは所有権及び使用権のような追加データを含むことができ、プロセッサーはこれら追加データから所有権及び使用権を認識するように配列される。
【００１３】
使用権はデータの組の異なった部分について違うことが可能であり、プロセッサーは、これら異なった部分についての異なった使用権を認識できるように配列することができる。
【００１４】
好ましくは、プロセッサーはタグ値を解析するように配列され、かつタグ値を通した参照によってのみそのバージョンのデータの組にアクセスすることが許される。そこで、異なったバージョンのデータの組へのアクセスは、通常のプログラムカウンターによるのではなくタグ番号により管理される。言い換えれば、メモリは内容にアドレス可能なメモリとなった。
【００１５】
後の実施例においては、前記プロセッサーは、好ましくは、中央処理ユニット及び別個のメモリ管理ユニットを備え、そしてタグ値はメモリ管理ユニットに知られるだけでである。そこで、メモリ手段の物理的アドレス空間は、中央処理ユニットのアドレス空間を含まず、特にアプリケーションプログラム又はオペレーティングシステムソフトウエア命令が記憶されたアドレス空間にはない。この方法で、「探索」に対する追加の防護を得ることができる。この可能な防護を具体化するために、メモリ管理ユニットは、タグサイズのアドレスレジスターにより追加のインターフェースを、中央処理ユニットに機能的に提供することができる。
【００１６】
記憶されたデータの安全性を大きくするために、メモリ管理ユニットは、メモリに書き込む前に暗号キーでタグを符号化することができ、この暗号化キーはメモリ管理ユニットだけが知っている。かかる暗号化キーは暗号化一方向機能に関連する。
【００１７】
本発明は、データの組の持続性記憶を支持するための方法であって、
（ａ）  前記データの組の最古のバージョンを第１のメモリ領域内に記憶し、前
記第１のメモリ領域は前記最古のバージョンを独自に識別するための第１
のタグを有し、更に
（ｂ）  前記データの組の最新更新バージョンを第２の別個のメモリ領域内に記
憶し、前記第２のメモリ領域は前記最近更新バージョンを独自に識別する
ための第２のタグを有する
諸段階を含んだ方法にも関連する。
【００１８】
【好ましい実施例の説明】
以下、本発明は、これを図解するためにのみ意図されかつ本発明の範囲を限定しない図面を参照し詳細に説明されるであろう。
【００１９】
図１は、本発明による可能な一配列を示す。中央処理ユニット２が入出力手段１２、並びにＲＯＭ６、ＲＡＭ８、及び非揮発性メモリ１０より構成し得るメモリに接続される。中央処理ユニット２とは別に又はこのユニット内にメモリマネージャー４が配列される。マネージャー４は、非揮発性メモリ１０及び好ましくはその他のメモリ部分ＲＯＭ６及びＲＡＭ８に関するメモリ機能を実行するようにされる。図１に示された実施例は、データ記憶装置の全ての種類の管理に関係する。しかし、本発明は、ハードディスクではなくて非揮発性シリコン素子におけるデータの記憶に特に便利である。埋め込まれたコンピューターシステムの分野、及びスマートカードにようなシングルチップコンピューターにおける応用が重要である。
【００２０】
図２は、本発明によるメモリにおけるデータ記憶の一つの可能な配列を示す。非揮発性データメモリ１０は、記憶ユニットに分けられる。この記憶ユニットは「ページ」と呼ばれる。これらページは等しい大きさ、例えば、メモリを構成するために使用されるシリコン素子の「ワードライン」の大きさと等しくすることが便利である。しかし、ページは、異なった大きさのものとすることができる。メモリの内容は、ページごとにメモリマネージャー４により管理される。アプリケーションデータ記憶の割振り、更新、及び再割振りは、１ページ又はそれ以上の操作を含む。
【００２１】
メモリは、異なった世代（又はバージョン）のアプリケーションデータ要素の組を備える。各世代は１以上のページに記憶することができる。図２において、アプリケーションデータ要素の１組の３個の異なった世代ｋ、ｋ＋１、ｋ＋２を含むメモリが示される。この例は、世代ｋが３個のページ１、２及び３を占め、世代ｋ＋１が２個のページｉ、ｉ＋１を占め、そして世代ｋ＋２が２個のページｎ、ｎ＋１を占めることを示す。世代ｋは、メモリ内の最も古いバージョンのアプリケーションデータ要素の組であり、一方、世代ｋ＋２はアプリケーションデータ要素の組の最新更新バージョンである。世代ｋ、ｋ＋１、ｋ＋２の各は、例えば目的ソフトウエアの異なったバージョンに関係する。
【００２２】
世代ｋ、ｋ＋１、及びｋ＋２は、「データの塊」を形成するように示される。この用語は、ここではアプリケーションデータ要素の単一の組を呼ぶために使用される。記憶に要するページは、ページにより占められないメモリ内の適宜の場所からメモリマネージャー４により決められたように割り当てられる。図２に示されたデータの塊の異なった世代ｋ、ｋ＋１、ｋ＋２を記憶するメモリは、連続した場所であってもよいし、そうでなくてもい。メモリマネージャー４は、異なった世代を記憶する場所を決定するためのユニットである。一つの世代内のページを連続したページ内に記憶することは必要でない。これを図示するために、ページｎ及びｎ＋１が互いに離れて置かれているとして示される（これらの間の点により示される）。
【００２３】
特に、メモリは、数個の「データの塊」、即ち、異なったデータの組の世代の数個の組を含むであろう。
【００２４】
本発明により組織化され管理されるメモリにおいては、メモリマネージャー４により遂行される管理政策により、更新のアトミシティが提供される。後述されるように、アプリケーションデータ要素の組のあるバージョンに関するデータは、記憶された後は、同じメモリ領域内では決して変更されないであろう。換言すれば、ページは一度作られたら決して変えられない。最後に更新されたアプリケーションデータ要素の組を、中央処理ユニット２を走っているアプリケーションプログラムにより修正しなければならないときは、メモリマネージャー４により、新しいメモリ領域、例えば新しいページの組が割り当てられる。変更されなかったアプリケーションデータ要素の組のデータ要素の値とともに変えられたいかなる値も、メモリマネージャー４により、この新しいメモリ領域において記憶される。この方法で、メモリ１０は、常に、データの塊の少なくも１個の持続性妥当なバージョンを保持するであろう。
【００２５】
かかる更新作用は、例えばスマートカードに関連する。スマートカードにおけるデータ更新は非常に短い時間（例えば約３ｍｓ）を要するだけであるが、ターミナルとのデータの転送を完了する前にスマートカードが通信ターミナルから取り出されることが稀に生ずることがある。このため、更新が、完了前に中断される可能性がある。これが発生したときも、少なくも最後に更新されたバージョンが、スマートカードのメモリになお残る。
【００２６】
一実施例においては、メモリマネージャー４は、データの組の更新が完了した後で、最古バージョンのデータの組を記憶しているメモリ領域を再割当てすることにより進行する。メモリマネージャー４は、例えば１組のアプリケーションデータ要素の１０バージョン以下の存在を管理することができる。実際的な具体化の際は、中央処理ユニット２上を走っているアプリケーションプログラムは、メモリマネージャー４と対話して、例えば更新の完了を示すようにそのデータの更新過程を管理する。アプリケーションプログラムは、メモリマネージャー４に更新の完了を通知し、その後で、メモリマネージャー４がメモリ１０における書込み作業を完了する。
【００２７】
メモリ内にアプリケーションデータ要素の組が数バージョンあるときは、データの変更履歴がメモリマネージャー４により解析される。メモリマネージャー４は、先行バージョンのデータ値を検査するが変更しないように中央処理ユニット２を走っているアプリケーションプログラムのための手段を提供することによりこれを行う。
【００２８】
図３は、本発明による可能なメモリページ構造を示す。メモリはページに分割されるとする。図３は、２個のページｉ、ｉ＋１を示す。各ページｉ、ｉ＋１はアプリケーションプログラムデータ及びタグｉ、ｉ＋１を含む。タグ値は、３個の部分、即ち、「塊の識別子」ｃｈｉｄ、世代カウントｇｅｎ＃、及びページカウントｐｇ＃よりなることが好ましい。塊の識別子は、プログラマーの記憶されたデータのユニットを示す特有の基準として働く。世代カウンターｇｅｎ＃は、記憶されたデータのバージョン番号を識別する。世代カウンターｇｅｎ＃により少なくも２世代が示されるであろう。ページカウンターｐｇ＃はそのページに属するプログラムの組の世代に関連するページのページ数を示す。ページカウンターｐｇ＃は、データの組のある世代のデータが複数ページとして記憶されることを許す。
【００２９】
本発明の特別な一実施例においては、タグ値は、例えば１に対して修飾されたビット番号の組を有する冗長度を使用する特別な符号化を使用してメモリに記憶される。この特別な記号化は、データ書込み作業の正誤を検査するためにメモリマネージャー４により使用される。メモリマネージャー４は、修飾されたビット番号が１（又は１以上）であると検出された場合だけ、タグ値が妥当であると決定する。この修飾されたビット番号が１に設定されない場合は、メモリマネージャー４は、そのタグ値は妥当でないと決定する。かかる状況は、例えば、スマートカードの使用者が、金融取引の完了前にそのスマートカードをターミナルから取り出したとき、例えばメモリデバイスに供給される電力の中断により発生する。
【００３０】
かかる実施例においては、最古世代のデータの組を削除する前に、メモリマネージャー４は、最新の更新された世代の妥当性を判定するであろう。この特別なタグ符号化方法は、使用されるシリコン記憶素子の物理的特性から決定することができる。もしメモリ素子がページの書込みをその全体において失敗したとすれば、これは、不適切な符号化となることの非常に大きい可能性を有するものを選んだためであろう。メモリチップの設計（即ち、使用されたトランジスター技術）に応じて、ページにおける新しいデータの書込みの前に、幾つかのメモリは、ある特定ページの全てのメモリ位置をゼロ又は１のいずれかにまず変えるであろう。このため、上に示されたように、タグのビットの装飾されたビット番号が１であるかどうかを検査することがときにはよく、一方、別の場合は、ゼロである修飾されたビット番号の存在を調査するのがよい場合がある。そこで、タグの調査で正しいことが見いだされた場合は、そのタグに関連するページの残りの内容も正確に書き込まれているか否かを知る機会が問題であ。
【００３１】
図４は、あるバージョンの記憶されたアプリケーションデータを更新するときに、中央処理ユニット２上を走っているアプリケーションプログラムにより指令されて本発明の一実施例により行われる作業のシーケンスをまとめたものである。
【００３２】
ａ  メモリ１０において新しいページの組を割り当て、ステップ４０
ｂ  新しいページの組の各新しいページのタグ値を定め、ステップ４２、
ｃ  修正された形式でアプリケーションプログラムデータを書き込み、更にペ
ージごとにメモリ１０に対応タグを書き込み、ステップ４４、
ｄ  結果が正しい書き込まれた各ページを確認し、ステップ４６、
この確認ステップは上に示されたようにタグ値の調査により実行すること
ができ、
ｅ  最古世代のデータの組を保持するページの割当てを解除する、ステップ４
８。
【００３３】
新しい各ページについてのタグ値は、割り当てられた塊の識別子ｃｈｉｄ，１だけ増加された最新更新バージョンの世代カウント値ｇｅｎ＃、及びページカウント値ｐｇ＃により定められる。
【００３４】
好ましくは、ページは、上のステップｃにおいて示されたように、ページごとにメモリ１０に書き込まれる。１組のデータのためのページの組の所定の１ページが最後に書き込まれることが好ましく、一方その他の全てのページは適宜の順序で書き込むことができる。この所定のページは、新しいページの組の第１ページであることが便利である。事実上、どのページも部分的に書き込むことができる。例えば、ページのタグ値は、そのページのアプリケーションプログラムデータとは別個に書くことができる。しかし、書かれた最後のページである所定のページのタグは、更新作業の最後の段階で書かれることが好ましい。これは、更新作業が完了したことの明らかな指標である。所定ページのタグがメモリに書き込まれるまで、新しいページのどのページに書かれたアプリケーションプログラムデータもまた変更することができる。しかし、ペグデータへの部分的な書込みと変更とは、本発明により得られる便益を減らす可能性のあること、即ち、書込み時間が長くなるに注意すべきである。ＥＰＲＯＭのような非揮発性メモリ１０への書込みは、比較的長い時間、最近では約３ｍｓを要する。このため、データの変更された完全な組が記憶すべく準備されたときメモリ１０に一度に書き込み、かつ連続した期間内でデータの組の変更部分を書かないことが最良である。更に、多くの場合にそうであるように時間が取れるならば、非揮発性メモリにおいてデータの組の変更部分を書き込むことが、本技術における普通の方法である。しかし、これは、書き込み作業の数を増やす結果となり、非揮発性メモリの不必要な摩耗を招く。
【００３５】
従って、本発明の実施例により、データの組の完全な修正に要する全てのステップは、非揮発性メモリ１０への修正されたデータの組の書込みより前にＲＡＭ８におけるデータの組の作業コピーで行われることが好ましい。
【００３６】
更新期間における最後の作業としての所定ページのタグ値の書込みは、多ページ更新のアトミシティに現実化における有利な尺度である。所定ページにおける妥当なタグの有無は「コミット」フラグとして働く。所定ページにおける妥当なタグは、書き込まれたページの妥当性及び更新の全処理の取消し不能な完了の両者を示す。
【００３７】
アプリケーションプログラムデータのメモリ記憶は、メモリに記憶されたデータが塊の識別子ｃｈｉｄを使用するアプリケーションにより物理的にアドレスされるだけであるときに、より安全にすることができる。このとき、メモリ１０は、「内容にアドレス可能なメモリ（ＣＡＭ）」となる。
【００３８】
メモリマネージャー４と中央処理ユニット２とは１個の物理的処理ユニット内に置くことができるが、後者については、中央処理ユニット２とメモリマネージャー４とが互いに通信するように配列された２個の物理的に異なったユニットである装置が特に有利である。「物理的に異なった」は、単一チップ上に作られた複数のユニットに対しても呼ぶことができる。そこで、メモリ１０の物理的なアドレス空間は、中央処理ユニット２のアドレス空間内に含まれず、特にアプリケーションプログラム及びオペレーティングシステムソフトウエア命令が記憶されるアドレス空間に含まれない。メモリマネージャー４も（スマートカードのような）書換え抵抗性に作られたならば、「探索」に対する追加の保護が得られるでであろう。
【００３９】
例えば、スマートカードについてのこの可能な追加の保護を具体化するために、メモリマネージャー４は、例えば、タグサイズのアドレスレジスター５４及びページデータサイズのデータレジスター５２（図５参照）を含んだ追加のインターフェース機能範囲を提供することができる。このインターフェース５２、５４は、メモリ１０に記憶されたタグを走査し適合させる論理機能を実行するために論理ユニット５０により補完されされる。言い換えれば、論理ユニット５０は、メモリ１０からタグを読み出し、タグの値を解析することによりメモリ１０にアドレスさせることができる。
【００４０】
インターフェース５２、５４、及び組み合わせられた論理ユニット５０は、ハードウエアにおいて実行することができる。
【００４１】
更に、メモリ６、８、１０と論理ユニット５０との間、及び中央処理ユニット２と論理ユニット５０との間に、それぞれインターフェースとして特別なハードウエア回路５６、５８があるであろう、論理ユニト５０は、タグ比較論理回路と組み合わせられた専用のアドレスカウンターを提供することができる。別のハードウエア回路は、少なくもタグ値を含むように保存された記憶ビットについてメモリページごとに設けられたＣＡＭ論理回路を含むことができる。
【００４２】
この特別な符号化検知に加えて暗号技術を使ってタグ値が更に符号化されたとき、本発明により管理されたメモリにより、更なる安全性の利益を得ることができる。かかる暗号化されたタグの符号化は、タグ値に含まれる塊の識別子ｃｈｉｄ、世代カウントｇｅｎ＃、ページカウントｐｇ＃のような構造的情報に関するアプリケーションデータを隠すことを目的とする。暗号的符号化は、本技術熟練者の知る適宜の符号化技術により行うことができる。一つの暗号化方法は、一方向機能段階が、メモリマネージャー４だけが知っている秘密のキーに関連する安全暗号化された一方向機能段階の使用を含む。この方法で、メモリマネージャー４は、先行世代の符号化されたタグ値に１回又は複数回一方向機能を適用し、そして最新の更新されたタグ値により得られたタグ値と比較することにより、先行世代を認識することができる。これは、メモリデバイス内容の悪意で強制された「ダンプ」からのアプリケーションプログラムデータの再構築を阻止するであろう。
【００４３】
以上説明されたタグ付きメモリ構造は幾つかの有利な意見を提供する。例えば、タグは組み合わせられたアプリケーションプログラムデータの所有権を示すために追加データを含むことができる。更に、タグ値内の追加データがアプリケーションプログラムデータの使用権、又は異なった使用者に対する使用権の設定を示すことができる。かかる異なった使用権は、例えば、メモリ１０内の（アプリケーション）プログラムデータの異なった部分についての異なったアクセス条件に関係付けることができる。（アプリケーション）プログラムデータの一部分は、例えば、リードオンリーと定めることができ、一方、アプリケーションプログラムデータの別の部分は読取り／書込みにアクセスできると定めることができる。
【００４４】
本発明は、メモリが連続世代の形式で特別なアプリケーションデータ要素への更新の履歴を含むため、メモリに記憶された処理ログを提供する。
【００４５】
以上例示されたように、本発明により管理されたメモリデバイスの書込み作業の数は、明らかにされたメモリ更新／処理ログ機構により減らされた。更に、本発明により提供された書込み作業数の低減は、シリコン機構デバイスの使用寿命を延ばすことによりその費用の低下をもたらす。特に、スマートカードのような書換え抵抗性の単一チップコンピューターの非揮発性メモリに記憶されたデバイスの安全性が増大された。安全性の増大はソフトウエア尺度により完全に得ることができる。中央処理ユニット２とは別に個別のメモリマネージャー４のようなハードウエア尺度は、更に安全性を大きくするが、これは厳密には必須ではない。
【図面の簡単な説明】
【図１】  本発明による実施例を示す。
【図２】  本発明によるメモリの可能なレイアウトを示す。
【図３】  図２による配列の可能な実施例におけるメモリページの内容を示す。
【図４】  本発明による方法を図解する。
【図５】  本発明によるメモリ管理の可能な配列を図解する。
【図１】
0004596715.tif 000002
【図２】
0004596715.tif 000003
【図３】
0004596715.tif 000004
【図４】
0004596715.tif 000005
【図５】
0004596715.tif 000006