(57)【特許請求の範囲】
【請求項１】
複数ビットの記憶容量をもちビット値を１から０にする操作に比べて０から１にする操作が困難であるリセッタブルなメモリに、ビット長ｍ1，ｍ2，．．．，ｍn，．．．，ｍNのＮ個の記憶単位を設定する単位設定手段と、
各記憶単位においていずれか一つのビットに１、残るビットに０を割り当ててなる記憶状態を、Ｎ個の記憶単位について組み合わせてなる一個または複数個の記憶状態列に対し、それぞれ一つまたは複数のデータを対応付ける対応付け手段と、
対応付け手段による対応付けに基づいて、各記憶単位の記憶状態をあるデータに対応する状態に変更させ、これによりメモリにデータを書き込ませる書込手段、または、各記憶単位の記憶状態を読み取らせて、対応付け手段による対応付けに基づいて対応するデータを求め、これによりメモリからデータを読み込む読込手段と、
を備える、ことを特徴とするメモリ制御装置。
ただし、Ｎは２以上の自然数、ｎはＮ以下の自然数、ｍ1，ｍ2，．．．，ｍn，．．．，ｍNは自然数、ｍ1＋ｍ2＋．．．＋ｍn＋．．．＋ｍNは５以上の自然数であるものとする。
【請求項２】
請求項１に記載のメモリ制御装置において、
前記対応付け手段は、ビット長がｍnであるｎ番目の記憶単位においてとりうるｍn個の記憶状態を、Ｎ個の記憶単位について組み合わせて得られるｍ1×ｍ2×．．．×ｍn×．．．×ｍN個の記憶状態列に対し、それぞれ一つのデータを対応づける、ことを特徴とするメモリ制御装置。
【請求項３】
請求項１または２に記載のメモリ制御装置において、
ビット長ｍ1，ｍ2，．．．，ｍn，．．．，ｍNは、全て２以上である、ことを特徴とするメモリ制御装置。
【請求項４】
請求項１乃至３のいずれか１項に記載のメモリ制御装置において、
ビット長ｍ1，ｍ2，．．．，ｍn，．．．，ｍNは、全て４以下である、ことを特徴とするメモリ制御装置。
【請求項５】
請求項４に記載のメモリ制御装置において、
ビット長ｍ1，ｍ2，．．．，ｍn，．．．，ｍNのうち、４は無しかつ２は一つ若しくは二つ、または、２は無しかつ４は無し若しくは一つである、ことを特徴とするメモリ制御装置。
【請求項６】
請求項２に記載のメモリ制御装置において、
単位設定手段は、設定したＮ個の記憶単位に対し階層構造を設け、
対応付け手段は、複数のデータとの対応づけを、下位の階層の記憶単位から記憶状態を順次更新することで行う、ことを特徴とするメモリ制御装置。
【請求項７】
前記書込手段を備えた請求項１乃至６のいずれか１項に記載のメモリ制御装置により、あるデータが記憶された前記メモリ。
【請求項８】
請求項７に記載のメモリを備えたＲＦＩＤタグ。
【請求項９】
コンピュータが実行する方法であって、
複数ビットの記憶容量をもちビット値を１から０にする操作に比べて０から１にする操作が困難であるリセッタブルなメモリに、ビット長ｍ1，ｍ2，．．．，ｍn，．．．，ｍNのＮ個の記憶単位を設定する単位設定手順と、
各記憶単位においていずれか一つのビットに１、残るビットに０を割り当ててなる記憶状態を、Ｎ個の記憶単位について組み合わせてなる一個または複数個の記憶状態列に対し、それぞれ一つまたは複数のデータを対応付ける対応付け手順と、
対応付け手順による対応付けに基づいて、各記憶単位の記憶状態をあるデータに対応する状態に変更させ、これによりメモリにデータを書き込ませる書込手順、または、各記憶単位の記憶状態を読み取らせて、対応付け手順による対応付けに基づいて対応するデータを求め、これによりメモリからデータを読み込む読込手順と、
を含む、ことを特徴とするメモリ制御方法。
ただし、Ｎは２以上の自然数、ｎはＮ以下の自然数、ｍ1，ｍ2，．．．，ｍn，．．．，ｍNは自然数、ｍ1＋ｍ2＋．．．＋ｍn＋．．．＋ｍNは５以上の自然数であるものとする。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リセッタブルなメモリを使用するための技術、特に、ビット状態とデータとの対応づけの技術に関する。
【背景技術】
【０００２】
メモリのリセッタブル領域（Ｒｅ−Ｓｅｔｔａｂｌｅ  Ａｒｅａ）は、各ビットにおいて、１を０とすることは通常のｗｒｉｔｅ（書き込み）コマンドでできるが、０を１にすることは特別な手順を踏まないとできない領域である。この領域にデータを書き込んだときには、１を０に変更されて、データを改竄されてしまうおそれがある。例えば、二進法表現で書き込んだ９［１００１］（ここで［と］で囲んだ０と１の数値は、ビット状態を表すものとする）は、０［００００］はもちろん、１［０００１］や８［１０００］へと容易に書き換えられてしまう。したがって、従来においては、どこかのビットのみに１を立てるという表現方法が用いられてきた。
【０００３】
この表現方法を、図５と図６を用いて説明する。図５は、５ビットの記憶領域を使用する場合の記憶状態を示す図である。５ビットの場合には、いずれかのビットにのみ１を立てるとすると、図５（ａ）に示した［００００１］から図５（ｅ）に示した［１００００］までの５種類の状態をとりうる。これらの記憶状態を操作して１を０に変更した場合には、いずれも［０００００］の記憶状態になるだけであり、図５（ａ）から図５（ｅ）までのどの記憶状態とも一致しない。つまり、この表現方法の下では、５ビットの記憶領域を用いた場合の改竄不可能な記憶状態は５種類となる。
【０００４】
同様にして、図６に示した８ビットの例では、図６（ａ）に示した［０００００００１］から図８（ｄ）に示した［１０００００００］までの８種類のデータが表現可能となる。例えば、データを自然数と対応づけたならば、１から８までの数が表現できることになる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した表現方法を用いた場合には、リセッタブル領域に対して、ビット長と同じ数のデータしか記憶させることができない。したがって、記憶領域に記憶できるデータの数は著しく制限されることになる。
【０００６】
本発明の目的は、リセッタブルなメモリに改竄を防止しつつ記憶させうるデータ数を増加させることにある。
【０００７】
本発明の別の目的は、リセッタブルなメモリにおける新たなデータ表現方式を確立することにある。
【課題を解決するための手段】
【０００８】
本発明のメモリ制御装置は、複数ビットの記憶容量をもちビット値を１から０にする操作に比べて０から１にする操作が困難であるリセッタブルなメモリに、ビット長ｍ１，ｍ２，．．．，ｍｎ，．．．，ｍＮのＮ個の記憶単位を設定する単位設定手段と、各記憶単位においていずれか一つのビットに１、残るビットに０を割り当ててなる記憶状態を、Ｎ個の記憶単位について組み合わせてなる一個または複数個の記憶状態列に対し、それぞれ一つまたは複数のデータを対応付ける対応付け手段と、対応付け手段による対応付けに基づいて、各記憶単位の記憶状態をあるデータに対応する状態に変更させ、これによりメモリにデータを書き込ませる書込手段、または、各記憶単位の記憶状態を読み取らせて、対応付け手段による対応付けに基づいて対応するデータを求め、これによりメモリからデータを読み込む読込手段と、を備える。ただし、Ｎは２以上の自然数、ｎはＮ以下の自然数、ｍ１，ｍ２，．．．，ｍｎ，．．．，ｍＮは自然数、ｍ１＋ｍ２＋．．．＋ｍｎ＋．．．＋ｍＮは５以上の自然数であるものとする。
【０００９】
リセッタブルなメモリとは、各ビットにおいて、１を０とする操作に比べて、０から１にする操作が困難であるメモリをいう。ここで、１と０はビットのとりうる二つの状態を表現しており、その値自体には格別の意味はない。リセッタブルなメモリの構造は特に限定されるものではなく、例えば、物理的あるいは化学的不可逆現象（コードの切断や素子の破壊など）を利用して作ることもできるし、通常の半導体メモリと暗号技術を組み合わせて、０から１への操作を困難にさせることでも作成可能である。また、リセッタブルなメモリは、例えば、チップ上に単独で形成されていてもよいし、チップ上に一般の半導体メモリ（ＲＯＭやＲＡＭなど）とともに形成されていてもよい。
【００１０】
メモリ制御装置は、このリセッタブルなメモリを制御する装置であり、演算機能を備えたハードウエアとそれを動作を制御するソフトウエア（プログラム）で構成しうる。ソフトウエアの機能の一部または全部をハードウエア化することも可能である。メモリ制御装置は、単位設定手段、対応付け手段、及び、書込手段または読込手段の一方または両方を備える。単位設定手段は、メモリ上に、重複を許さずにビット長ｍ１，ｍ２，．．．，ｍｎ，．．．，ｍＮのＮ個の記憶単位を設定する。例えば、メモリが１ビット記憶素子の集合からなる場合、ビット長ｍｎの記憶単位は、ｍｎ個の記憶素子によって構成される。各記憶単位は物理的に連続していなくてもよく、また、記憶単位内の各記憶素子も物理的に連続していなくてよい。
【００１１】
対応付け手段は、Ｎ個の記憶単位によりつくられる記憶状態列のうちの一個または複数個を、一つまたは複数のデータと対応付ける。ここで、記憶状態列とは、Ｎ個の記憶単位の記憶状態を組み合わせた全体のビット状態を指し、記憶状態とは、各記憶単位におけるビット状態を指す。そして、この記憶状態は、改竄防止のため、各記憶単位においていずれか一つのビットに１を残るビットに０を割り当ててなる状態に限定されている。また、記憶状態とデータとの対応づけとは、装置内部で識別されるある符号としてのデータ（通常は２進法表現されている）と、メモリの記憶状態列とを、一方向あるいは双方向に結びつけることをいう。対応づけは、ソフトウエア的に行われても、ハードウエア的に行われてもよい。対応付け手段においては、典型的には、一つの記憶状態列に一つのデータを対応づける。しかし、例えば、記憶状態列と他の記憶状態（例えばＲＯＭやＲＡＭの状態など）の組み合わせをデータと対応づけることも可能であり、この場合には、一つの記憶状態列が複数のデータと対応づけられる。
【００１２】
書込手段または読込手段は、直接メモリにアクセスして書込または読込を行う手段に指令を行うものである。直接メモリにアクセスして書込または読込を行う手段は、このメモリ制御装置に内蔵されていても、外部に設けられていてもよい。
【００１３】
この構成によれば、１を立てるビットを一つのみとする表現方式よりも多数のデータをメモリに記憶させることが可能となる。しかも、１を０に変更する改竄がなされても、それを発見することが可能であり、セキュリティの低下を回避することができる。
【００１４】
本発明のメモリ制御装置の一態様においては、前記対応付け手段は、ビット長がｍｎであるｎ番目の記憶単位においてとりうるｍｎ個の記憶状態を、Ｎ個の記憶単位について組み合わせて得られるｍ１×ｍ２×．．．×ｍｎ×．．．×ｍＮ個の記憶状態列に対し、それぞれ一つのデータを対応づける。ビット長がｍｎであるｎ番目の記憶単位においては、１を割り当てるビットの違いによりｍｎ個の記憶状態をとることができる。そして、これをＮ個の記憶単位について一義的に組み合わせることで、ｍ１×ｍ２×．．．×ｍｎ×．．．×ｍＮ個の記憶状態列が設定される。
【００１５】
この構成によれば、ビット長がｍ１＋ｍ２＋．．．＋ｍｎ＋．．．＋ｍＮである記憶領域を用いて、ｍ１×ｍ２×．．．×ｍｎ×．．．×ｍＮ個のデータを記憶することができる。この記憶量は、通常のメモリにおける記憶量２の（ｍ１＋ｍ２＋．．．＋ｍｎ＋．．．＋ｍＮ）乗には及ばないが、従来のリセッタブルなメモリにおける記憶量ｍ１＋ｍ２＋．．．＋ｍｎ＋．．．＋ｍＮに比べて大きなものとなる。
【００１６】
本発明のメモリ制御装置の一態様においては、ビット長ｍ１，ｍ２，．．．，ｍｎ，．．．，ｍＮは、全て２以上である。これは、改竄防止のためには、ビット長が１の記憶単位における記憶状態は０であっても１であっても同じ値であると推定する必要があるとの理由による。
【００１７】
本発明のメモリ制御装置の一態様においては、ビット長ｍ１，ｍ２，．．．，ｍｎ，．．．，ｍＮは、全て４以下である。ビット長が５以上の記憶単位を設定するよりも、これを分割して４以下の複数の記憶単位を設定した方が、記憶量を増加させることができる。
【００１８】
本発明のメモリ制御装置の一態様においては、ビット長ｍ１，ｍ２，．．．，ｍｎ，．．．，ｍＮのうち、４は無しかつ２は一つ若しくは二つ、または、２は無しかつ４は無し若しくは一つである。ビット長４の記憶単位を一つ設けても、これを分割してビット長２の記憶単位を二つ設けても記憶量は変わらない。しかし、ビット長が２または４の記憶単位を多数設けるよりも、ビット長が３の記憶単位を多数設けた方が記憶量が増加するため、このような制約を課すことが有効となる。
【００１９】
本発明のメモリ制御装置の一態様においては、単位設定手段は、設定したＮ個の記憶単位に対し階層構造を設け、対応付け手段は、複数のデータとの対応づけを、下位の階層の記憶単位から記憶状態を順次更新することで行う。つまり、ある階層の記憶状態のバリエーションを使ってしまったら、その上位の階層の記憶状態を一つ更新（繰り上げ）したうえで、その階層の記憶状態を最初の状態から順次更新していくことで、システマチックかつ効率的にデータを割り当てることが可能となる。
【００２０】
本発明のメモリは、前記メモリ制御装置により、あるデータが記憶されている。別の見方をすれば、メモリ制御装置は、あるデータが記憶されたメモリを製造する装置であるといえる。また、本発明のＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）タグは、前記メモリを備える。ＲＦＩＤタグは、ＩＣ（ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）タグなどとも呼ばれる微少な装置であり、メモリ及び無線通信機能を備えている。上述したメモリをＲＦＩＤタグに組み込むことで、記憶データの改竄防止機能を備えたＲＦＩＤタグが実現できる。なお、メモリ制御装置は、ＲＦＩＤタグ内に組み込まれていてもよいし、ＲＦＩＤタグに外部から通信を行うリーダ／ライタに組み込まれていてもよい。
【発明を実施するための最良の形態】
【００２１】
図１は、本実施の形態にかかるＲＦＩＤタグ１０の概略構成を示すブロック図である。ＲＦＩＤタグ１０は、メモリ１２を備えており、このメモリ１２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１４、リセッタブル（Ｒｅ−Ｓｅｔｔａｂｌｅ）領域１６、及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１８を含んでいる。ＲＯＭ１４は、読み出し専用の記憶装置であり、ＲＦＩＤタグ１０を制御するためのプログラムなどの記憶に用いられる。また、ＲＡＭ１８は、読み書き可能な記憶装置であり、主として、演算処理過程での一時的な記憶に用いられる。そして、リセッタブル領域１６は、ビット値１を０に変更することは通常のｗｒｉｔｅコマンドで可能であるが、０を１に変更する操作には特別な手順を必要とする記憶装置であり、例えばＲＦＩＤタグ１０を装着する物品の識別情報の記憶に用いられる。
【００２２】
ＲＦＩＤタグ１０には、さらに、このメモリ１２に対しデータの読み込み及び書き込みを行う手段である読み書きＩＦ（インターフェース）２０、ＣＰＵ（中央演算装置）として機能する制御部２２、及び、アンテナを備えアンテナを通じて外部装置とデータを送受信する送受信部２４が設けられている。送受信部２４や読み書きＩ／Ｆ２０の動作は制御部２２により制御されている。
【００２３】
図２と図３は、リセッタブル領域１６で使用される記憶状態列の例を示す図である。図２は５ビットの例であり、図３は８ビットの例である。
【００２４】
図２（ａ）の［０１００１］から図２（ｆ）［１０１００］までの６つの記憶状態列は、５ビットの記憶領域に対し、上位２ビットのラウンドビット３０と下位３ビットのデータビット３２の各記憶単位を設定し、各記憶単位において与えた記憶状態を組み合わせることで形成されている。そして、ラウンドビット３０とデータビット３２の記憶状態は、ともに一つのビットのみを１、残るビットを０とすることで作られている。具体的には、ラウンドビット３０の二つのビットは、［０１］と［１０］の二つの記憶状態をとることができ、データビット３２の三つのビットは、［００１］、［０１０］、及び［１００］の三つの記憶状態をとることができる。そして、図２（ａ）から図２（ｃ）までの記憶状態列は、ラウンドビット３０を［０１］に固定して、データビット３２の記憶状態を順次更新して作られ、図２（ｄ）から図２（ｆ）までの記憶状態列は、ラウンドビット３０を更新して［１０］に固定し、再びデータビット３２の記憶状態を順次更新することで作られている。
【００２５】
これにより作られた六つの各記憶状態列は、１を０に書き換える操作を行われても、これら六つの記憶状態列のいずれとも一致しない。例えば、図６（ａ）の記憶状態列は、書き換えにより［０１０００］［０００００１］［０００００］の三つに変更しうるが、これらは、いずれも図６（ａ）から図６（ｆ）までの記憶状態列とは異なっている。つまり、図６（ａ）から図６（ｆ）までの記憶状態列は、１を０に書き換える操作によっては他の記憶状態列へと改竄することができず、かつ、改竄行為の発見を可能とするように設定されている。
【００２６】
図１に示した制御部２２では、図２（ａ）から図２（ｆ）までの２×３＝６種類の記憶状態列をそれぞれ適当なデータと対応づけることで、６種類のデータを表すことができる。すなわち、対応づけに従って記憶状態列を書き込みまたは読み込むことでこれら６種類のデータを入出力することが可能となる。対応づけるデータの種類は特に限定されるものではなく、例えば、データとして自然数を採用しることもできる。この場合には、図２（ａ）から図２（ｆ）の各記憶状態列は、それぞれ１から６までの数を表現することになる。また、例えば、記憶単位数と対応した複数のデータ要素が結合したデータを採用することもできる。データ要素として自然数を用いた場合には、（１，１），（１，２），（１，３），（２，１），（２，２），（２，３）の自然数の組を表現することができる。この態様は、データ要素毎に意味をもたせるような場合、例えば（ｉ，ｊ）をｉラウンド目のｊ番目のデータと認識するような場合に有効である。
【００２７】
本表現形式を採用した場合、ビット長５の記憶領域を用いて、６種類のデータを表現できる。これは、図５に示した５種類のデータを表現できる表現形式に比べて優れている。この利点は、次に示すように、使用する記憶領域のビット長が長くなるほど顕著となる。
【００２８】
図３は、８ビットの記憶領域を使用する例を示している。この例では、８ビットを三つの記憶単位に分割しており、上位２ビットを第２ラウンドビット４０、次の３ビットを第１ラウンドビット４２、下位３ビットをデータビット４４と呼ぶことにする。図２の例と同様にして、第２ラウンドビット４０、第１ラウンドビット４２、データビット４４においては、一つのビットのみを１とし、他のビットは０にするというルールの下で記憶状態を作り出している。そして、この記憶状態列を組み合わせることで、図３（ａ）から図３（ｆ）に一部省略して示した２×３×３＝１８の記憶状態列が表現できている。これは、図６の表現形式で表現可能な８種類に比べて２倍以上となっている。
【００２９】
図４は、総ビット数と表現可能なデータ数との関係を、従来の表現形式と本表現形式とで比較した表である。従来の表現形式では、総ビット数と同じ数だけのデータ数が表現された。すなわち、８，１２，１６ビットの記憶領域を用いた場合には、それぞれ、８，１２，１６種類のデータが表現された。これに対し、本発明では、８ビットの記憶領域をビット長２，３，３の各記憶単位に分割することで、２×３×３＝１８種類のデータを表現することができる。同様にして、１２ビットの記憶領域は、３×３×３×３＝８１種類、１６ビットの記憶領域は、３×３×３×３×４＝３２４種類のデータを表現することができる。
【００３０】
使用する記憶領域を複数の記憶単位へ分割する態様には、任意性がある。例えば、８ビットの記憶領域をビット長２，２，２，２の４つの記憶単位に分割することも可能である。しかし、この場合には、２×２×２×２＝１６種類のデータしか記憶できない。検討したところでは、一般に、記憶領域は可能な限り３ビットの記憶単位に分割することが有効である。そして、３ビットに分割できない場合に限り、一つまたは二つの２ビットの記憶単位（ただし、２ビットの二つの記憶単位の代わりに４ビットの一つの記憶単位を設けてもよい）に分割することで、最大の記憶量を確保することができる。
【図面の簡単な説明】
【００３１】
【図１】ＲＦＩＤタグの構成例を示す機能ブロック図である。
【図２】ビット長５の記憶領域に、本表現方式を適用した例を示す図である。
【図３】ビット長８の記憶領域に、本表現方式を適用した例を示す図である。
【図４】ビット長と表現可能なデータ数との関係を示す表である。
【図５】ビット長５の記憶領域に、従来の表現形式を適用した例を示す図である。
【図６】ビット長８の記憶領域に、従来の表現形式を適用した例を示す図である。
【符号の説明】
【００３２】
１０  ＲＦＩＤタグ、１２  メモリ、１４  ＲＯＭ、１６  リセッタブル領域、１８  ＲＡＭ、２０  読み書きＩ／Ｆ、２２  制御部、２４  送受信部、３０  ラウンドビット、３２，４４  データビット、４０  第２ラウンドビット、４２  第１ラウンドビット。
【図１】
0004784223.tif 000002
【図２】
0004784223.tif 000003
【図３】
0004784223.tif 000004
【図４】
0004784223.tif 000005
【図５】
0004784223.tif 000006
【図６】
0004784223.tif 000007