(57)【要約】  本発明は、読み出し破壊型記憶部に格納されているデータが読み出される際の、そのデータに対する処理をユーザが選択することができる半導体メモリカードを提供する。ＩＣカード（１３００）は、データを記憶し、前記データが読み出された後、前記データが不定になるＦｅＲＡＭ（１２５）と、処理方法特定情報を記憶する処理情報記憶部（３０５）と、読み出し部（３０１）と、読み出し部（３０１）によってＦｅＲＡＭ（１２５）の指定されたアドレスのデータが読み出される場合、前記情報と前記指定されたアドレスとを対照し、前記指定されたアドレスに対する書き込み処理の方法を決定する処理方法決定部（３０３）と、前記指定されたアドレスのデータが読み出された後に、決定された方法に従って、前記指定されたアドレスに対して、データの書き込みを行なう又は行なわない書き込み部（３０２）とを備える。
2008500601.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶し、前記データが読み出された後、前記データが不定になる特徴を有する第１記憶部と、
前記第１記憶部の各アドレスの、データが読み出された後の書き込み処理の方法を特定する処理方法特定情報を記憶する第２記憶部と、
前記第１記憶部の指定されたアドレスのデータを読み出す読み出し部と、
前記読み出し部によってデータが読み出される場合、前記処理方法特定情報と前記指定されたアドレスとを対照し、前記指定されたアドレスに対する書き込み処理の方法を決定する処理方法決定部と、
前記指定されたアドレスのデータが読み出された後に、前記処理方法決定部によって決定された方法に従って、前記指定されたアドレスに対して、データの書き込みを行なう又は行なわない書き込み部と
を備える半導体メモリカード。
【請求項２】
前記書き込み部は、前記指定されたアドレスに、特定の値を書き込む
請求項１記載の半導体メモリカード。
【請求項３】
更に、乱数を発生する乱数発生部を備え、
前記書き込み部は、前記指定されたアドレスに、前記乱数発生部が発生した乱数を書き込む
請求項１記載の半導体メモリカード。
【請求項４】
前記書き込み部は、前記指定されたアドレスに、前記読み出し部によって読み出されたデータを書き込む
請求項１記載の半導体メモリカード。
【請求項５】
前記指定されたアドレスと、前記読み出し部及び前記書き込み部による処理対象のアドレスとが異なる
請求項１記載の半導体メモリカード。
【請求項６】
前記指定されたアドレスの特定の部位は、前記書き込み処理の方法を決定するために用いられる
請求項１記載の半導体メモリカード。
【請求項７】
データを記憶し、前記データが読み出された後、前記データが不定になる特徴を有する記憶部を備える半導体メモリカードにおける、前記データが読み出された後の前記記憶部を処理する方法であって、
前記記憶部の指定されたアドレスのデータを読み出す読み出し、
データを読み出す場合、前記記憶部の各アドレスの、データが読み出された後の書き込み処理の方法を特定する処理方法特定情報と、前記指定されたアドレスとを対照し、前記指定されたアドレスに対する書き込み処理の方法を決定し、
前記指定されたアドレスのデータが読み出された後に、決定した書き込み処理の方法に従って、前記指定されたアドレスに対して、データの書き込みを行なう又は行なわない
方法。
【請求項８】
データを記憶し、前記データが読み出された後、前記データが不定になる特徴を有する記憶部を備える半導体メモリカードにおける集積回路であって、
前記記憶部の指定されたアドレスのデータを読み出す読み出し部と、
前記読み出し部によってデータが読み出される場合、前記記憶部の各アドレスの、データが読み出された後の書き込み処理の方法を特定する処理方法特定情報と前記指定されたアドレスとを対照し、前記指定されたアドレスに対する書き込み処理の方法を決定する処理方法決定部と、
前記指定されたアドレスのデータが読み出された後に、前記処理方法決定部によって決定された方法に従って、前記指定されたアドレスに対して、データの書き込みを行なう又は行なわない書き込み部と
を備える集積回路。
【請求項９】
データを記憶し、前記データが読み出された後、前記データが不定になる特徴を有する記憶部を備える半導体メモリカードにおける、前記データが読み出された後の前記記憶部を処理するためのプログラムであって、
前記記憶部の指定されたアドレスのデータを読み出す読み出し、
データを読み出す場合、前記記憶部の各アドレスの、データが読み出された後の書き込み処理の方法を特定する処理方法特定情報と、前記指定されたアドレスとを対照し、前記指定されたアドレスに対する書き込み処理の方法を決定し、
前記指定されたアドレスのデータが読み出された後に、決定した書き込み処理の方法に従って、前記指定されたアドレスに対して、データの書き込みを行なう又は行なわない
ことをコンピュータに実行させるためのプログラム。
【請求項１０】
データを記憶し、前記データが読み出された後、前記データが不定になる特徴を有する記憶部を備える半導体メモリカードにおける、前記データが読み出された後の前記記憶部を処理するためのプログラムが格納された記憶媒体であって、
前記記憶部の指定されたアドレスのデータを読み出す読み出し、
データを読み出す場合、前記記憶部の各アドレスの、データが読み出された後の書き込み処理の方法を特定する処理方法特定情報と、前記指定されたアドレスとを対照し、前記指定されたアドレスに対する書き込み処理の方法を決定し、
前記指定されたアドレスのデータが読み出された後に、決定した書き込み処理の方法に従って、前記指定されたアドレスに対して、データの書き込みを行なう又は行なわない
ことをコンピュータに実行させるためのプログラムが格納された記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、破壊型読み出し特性を持つメモリを内蔵した半導体メモリカードに関する。
【背景技術】
【０００２】
集積回路（ＩＣ）技術等の発展につれて、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）とメモリとを内蔵した半導体メモリカード、いわゆるＩＣカード、が実用化され、注目を集めている。ＩＣカードのメモリは、例えば、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）や、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）である。
【０００３】
ＩＣカードのメモリの中には、メモリセルが記憶しているデータが読み出された場合、記憶されていたそのデータが自然に壊れてしまうものがある。そのようなメモリとして、例えば、強誘電体の分極の状態によりデータを記憶するＦｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＦｅＲＡＭ）や、Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＤＲＡＭ）等が知られている。
【０００４】
ＦｅＲＡＭ及びＤＲＡＭは、データの書き込み開始から書き込み完了までの時間が短い、つまり、データを高速に書き込むことが可能であることや、集積率が高いために同じ面積のチップに大容量のメモリを搭載可能であることや、消費電力が低い等の特徴を持つ。
【０００５】
ＦｅＲＡＭ及びＤＲＡＭは、通常、データが読み出された直後にそのデータをメモリに再度書き込むことで、同じデータを保持する。これは、データの破壊を防ぐのではなく、データが破壊された直後に同じデータを書き込むことで、データを修復していると言える。
【０００６】
ところで近年、サービス業等において、さまざまな用途にＩＣカードが用いられている。ユーザは、ＩＣカードを使用する際、メモリに記憶されたデータを一度だけ読み出した後に、そのデータを消去したい場合がある。例えば、ＩＣカードとリーダライタ及びホストコンピュータとの間で暗号化通信を行なう際に、暗号鍵を一度だけ使用した後、セキュリティのために、その暗号鍵を消去したい場合である。また、ＩＣカードを製造する際に書き込まれたテスト用のパラメータを消去したい場合である。
【０００７】
しかし、従来のＩＣカードには、記憶されたデータを自動的に消す機能がない。このため、メモリに記憶されたデータを一度だけ読み出した後、そのデータを自動的に消去する機能を有するＩＣカードが望まれている。
【０００８】
上記目的を達成するために、フィードバック選択部を備えるＩＣカードが提案されている。フィードバック選択部は、読み出し破壊型記憶部から読み出されたデータを含む読み出し信号が、フィードバック信号として入力されると、制御回路から出力された選択信号に応じてフィードバック信号をデータを含む書き込み信号として、読み出し破壊型記憶部に出力したり、しなかったりする。
【発明の開示】
【０００９】
上記のＩＣカードでは、外部から制御回路に読み出し破壊を行なうか否かを指示する必要がある。しかしながら、従来は、制御回路の具体的実現手段が示唆されていない。ＩＣカードの用途の多くは、セキュリティ関連の用途である。制御回路の具体的実現手段によっては、セキュリティが冒される危険性がある。もし、ハッキング手段が不正に制御回路を操作した場合、残しておく必要があるデータが消去されることも考えられ、ハッキングに強い制御回路が求められている。
【００１０】
ユーザは、ＩＣカードの読み出し破壊型記憶部に記憶されるデータが読み出される際の、そのデータに対する処理を選択したい場合がある。例えば、読み出されたデータを保持する処理と、読み出されたデータを消去する処理とを、ユーザは選択したい場合がある。
【００１１】
本発明は、上記課題を考慮し、読み出し破壊型記憶部に格納されているデータが読み出される際の、そのデータに対する処理をユーザが選択することができる半導体メモリカードを提供することを目的とする。
【００１２】
上記目的を達成するために、本発明の半導体メモリカードは、データを記憶し、前記データが読み出された後、前記データが不定になる特徴を有する第１記憶部と、前記第１記憶部の各アドレスの、データが読み出された後の書き込み処理の方法を特定する処理方法特定情報を記憶する第２記憶部と、前記第１記憶部の指定されたアドレスのデータを読み出す読み出し部と、前記読み出し部によってデータが読み出される場合、前記処理方法特定情報と前記指定されたアドレスとを対照し、前記指定されたアドレスに対する書き込み処理の方法を決定する処理方法決定部と、前記指定されたアドレスのデータが読み出された後に、前記処理方法決定部によって決定された方法に従って、前記指定されたアドレスに対して、データの書き込みを行なう又は行なわない書き込み部とを備える。
【００１３】
指定されたアドレス毎に書き込み処理の方法が決定されるので、ユーザは、第１記憶部に格納されているデータが読み出される際の、そのデータに対する処理を選択することができる。
【００１４】
前記書き込み部は、前記指定されたアドレスに、特定の値を書き込んでもよい。これにより、読み出されたデータの痕跡を完全に消し去ることができる。
【００１５】
本発明の半導体メモリカードは、更に、乱数を発生する乱数発生部を備え、前記書き込み部は、前記指定されたアドレスに、前記乱数発生部が発生した乱数を書き込んでもよい。これにより、データが読み出された痕跡を推測することが困難となる。
【００１６】
前記書き込み部は、前記指定されたアドレスに、前記読み出し部によって読み出されたデータを書き込んでもよい。これにより、読み出されたデータは保持される。
【００１７】
前記指定されたアドレスと、前記読み出し部及び前記書き込み部による処理対象のアドレスとが異なってもよい。
【００１８】
前記指定されたアドレスの特定の部位は、前記書き込み処理の方法を決定するために用いられてもよい。
【００１９】
本発明は、読み出し破壊型記憶部に格納されているデータが読み出される際の、そのデータに対する処理をユーザが選択することができる半導体メモリカードを提供することができる。
【００２０】
本発明の半導体メモリカードによれば、ユーザはアドレスを指定することにより、データが読み出される際の処理方法を変更することができる。これにより、読み出し破壊型記憶部への不用意なアクセスによって、データが破壊されることを未然に防止することができる。つまり、本発明の半導体メモリカードに格納されるデータのセキュリティ強度は、強い。
【００２１】
更に、本発明は、本発明の半導体メモリカードの特徴的な構成部をステップとする方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムが格納された、ＣＤ−ＲＯＭ等の記憶媒体として実現したり、集積回路として実現することもできる。プログラムは、通信ネットワーク等の伝送媒体を介して流通させることもできる。
【００２２】
本出願に対する技術的な背景に関する更なる情報として、明細書、図面、及び特許請求の範囲を含む、２００４年５月２５日にされた出願番号２００４−１５５１８８号の日本特許出願により開示されている事項は、そっくりそのまま引用されている。
【発明を実施するための最良の形態】
【００２３】
以下に、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【００２４】
（実施の形態１）
先ず始めに、実施の形態１の半導体メモリカード、すなわち、ＩＣカードの使用形態について説明する。ＩＣカードは、携帯電話機等のポータブルデバイスやリーダライタをホストコンピュータのインタフェースとして、ユーザに利用される。図１はＩＣカード１３００の使用環境を示す概観図である。
【００２５】
図１における使用環境は、ホストコンピュータ１０００、通信網１１００、ポータブルデバイス１２１０、リーダライタ１２２０、及びＩＣカード１３００から構成される。
【００２６】
ホストコンピュータ１０００は、リーダライタ１２２０又はポータブルデバイス１２１０をインタフェースとし、通信網１１００を介してＩＣカード１３００に各種のサービスを提供する。サービスは、例えば、Ｅｌｅｃｔｏｒｉｃ  Ｃｏｍｍｅｒｃｅ（ＥＣ）サービス等である。
【００２７】
リーダライタ１２２０は、例えば、クレジットカード会社や金融機関のキャッシュディスペンサー、又は店舗のレジ機に備え付けられる機器である。リーダライタ１２２０は、ＩＣカード１３００へ電力を供給し、ＩＣカード１３００と無線により通信する。リーダライタ１２２０は通信網１１００に接続されている。リーダライタ１２２０とＩＣカード１３００とを介して、ユーザは、ホストコンピュータ１０００が提供するサービスを受けることができる。
【００２８】
ポータブルデバイス１２１０は、ＩＣカード１３００が接続され又は挿入され、ＩＣカード１３００とホストコンピュータ１０００との通信を中継する機器である。ポータブルデバイス１２１０には、ブラウザソフト等のユーザインターフェースプログラムが実装されており、ユーザは、そのプログラムにより、ホストコンピュータ１０００が提供するサービスを受けることができる。
【００２９】
次に、実施の形態１のＩＣカード１３００のハードウェア構成について説明する。
図２は、ＩＣカード１３００のハードウェア構成を示す図である。ＩＣカード１３００は、本発明の半導体メモリカードの一例である。図２に示すように、ＩＣカード１３００は、ＣＰＵ１２０と、Ｉ／Ｆ１２２と、ＲＡＭ１２３と、ＲＯＭ１２４と、ＦｅＲＡＭ１２５と、ＥＥＰＲＯＭ１２６と、バス１２１とで構成されている。ＣＰＵ１２０、Ｉ／Ｆ１２２、ＲＡＭ１２３、ＲＯＭ１２４、ＦｅＲＡＭ１２５、及びＥＥＰＲＯＭ１２６は、バス１２１に接続されている。ＩＣカード１３００は、図２に示す構成であり、工業的に生産することができる。
【００３０】
ＥＥＰＲＯＭ１２６は、所定のメモリブロック単位でデータの読み出し及び書き込みが可能なメモリである。それに対して、ＦｅＲＡＭ１２５は、バイト単位でデータの読み出し及び書き込みが可能なメモリである。ＦｅＲＡＭ１２５は、ＥＥＰＲＯＭ１２６に比べ、読み書きの速度が速い。しかしながら、一般に、ＦｅＲＡＭ１２５は同容量のＥＥＰＲＯＭ１２６に比べ価格が高い。また、ＦｅＲＡＭ１２５は読み出されたデータが不定となる特性を持つ。そのため、ＦｅＲＡＭ１２５のデータを保持するためには、データが読み出された後、同じデータを書き込む必要がある。実施の形態１の特徴は、ＦｅＲＡＭ１２５のデータが読み出される際の処理にある。ＦｅＲＡＭ１２５とＥＥＰＲＯＭとの共存は妨げられない。両者は互いの欠点を補い、一つのＩＣカード１３００に共存可能である。
【００３１】
ＲＯＭ１２４は、ＩＣカード１３００を動作させるためのプログラムを格納する、読み出し専用メモリである。プログラムは、例えば、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）、Ｊａｖａ（登録商標）仮想マシン、及びアプリケーションプログラム等である。
【００３２】
ＣＰＵ１２０は、ＲＯＭ１２４に格納されている各種プログラムを実行する。
図３は、図２のＩＣカード１３００の、ＲＯＭ１２４と、ＣＰＵ１２０と、ＦｅＲＡＭ１２５とからなる部分をソフトウェア構成に置き換えた図である。
【００３３】
読み出し部３０１は、６４Ｋバイトの容量を持つＦｅＲＡＭ１２５に格納されているデータを所定のアドレスを指定して読み出す。アドレスはアドレスデコーダ３００により指定される。読み出されたデータはＦｅＲＡＭの特性により破壊される。破壊によるデータの変化はデータが読み出される前に予測することは不可能である。そのため、データを保持するためには、書き込み部３０２は、読み出されたデータを、そのデータが格納されていたアドレスに再び書き込む必要がある。
【００３４】
ところで、実施の形態１では、データが読み出される場合、処理方法決定部３０３が、処理情報記憶部３０５に記憶されている処理方法特定テーブルと、読み出されるデータが格納されているアドレスとを対照し、アドレスに応じて、そのアドレスに対する書き込み処理の方法を決定する。処理方法特定テーブルは、データが読み出された後のそのデータが格納されていたアドレスに対するデータの書き込み処理の方法を特定するテーブルである。
【００３５】
すなわち、処理方法決定部３０３は、アドレスに応じて、データが読み出された後のそのデータが格納されていたアドレスに対して、以下の（１）から（４）のいずれかの書き込み処理を決定する。（１）データを書き込まない、（２）読み出されたデータと同じデータを書き込む、（３）特定のデータを書き込む、（４）乱数に基づくデータを書き込む。特定のデータは、アドレスの全てに対して“０”又は“１”の特定の値が割り当てられるデータである。乱数は乱数発生部３０４によって発生される。
【００３６】
以上の、ＦｅＲＡＭ１２５のデータが読み出される際の処理を図４のフローチャートを参照して説明する。
【００３７】
最初に、読み出し部３０１は、データを読み出すために、アドレスデコーダ３００に読み出しアドレスを与える（Ｓ４０１）。アドレスデコーダ３００は与えられたアドレスをデコードし、読み出し部３０１はＦｅＲＡＭ１２５内のデコードされたアドレスに格納されているデータを読み出す（Ｓ４０２）。このとき、ＦｅＲＡＭ１２５内の読み出されたデータは破壊される。
【００３８】
読み出し部３０１がＦｅＲＡＭ１２５内のデータを読み出す際、処理方法決定部３０３は、処理情報記憶部３０５に記憶されている処理方法特定テーブルと、読み出されるデータが格納されているアドレスとを取得し、両者を対照して、そのアドレスに対する書き込み処理の方法を決定する。書き込み処理の方法の決定の詳細は後で説明する。書き込み部３０２は、処理方法決定部３０３によって決定された方法により、読み出されたデータが格納されていたアドレスに対し、データを書き込む、又はデータを書き込まない（Ｓ４０３）。
【００３９】
次に、図５のフローチャートを参照して、読み出されるデータが格納されているアドレスに対するデータの書き込み処理の詳細を説明する。
【００４０】
処理方法決定部３０３は、読み出されるデータが格納されているアドレスを受け取ると、そのアドレスと、処理情報記憶部３０５に記憶されている処理方法特定テーブル６００とを対照し、そのアドレスに応じた書き込み処理の方法を決定する（Ｓ５０１）。処理方法特定テーブル６００は、図６に示すように、各アドレスの、データが読み出された後のそのデータが格納されていたアドレスに対する書き込み処理の方法を特定するテーブルである。
【００４１】
ＦｅＲＡＭ１２５の領域は、図７のメモリマップ６３０に示すように、非破壊読み出し領域６２１と、自然破壊領域６２２と、特定値書き込み領域６２３と、乱数書き込み領域６２４とに分けられている。
【００４２】
（１）非破壊読み出し領域６２１は、アドレスが“０ｘ００００”から“０ｘ３ＦＦＦ”までの領域である。（２）自然破壊領域６２２は、アドレスが“０ｘ４０００”から“０ｘ７ＦＦＦ”までの領域である。（３）特定値書き込み領域６２３は、アドレスが“０ｘ８０００”から“０ｘＣＦＦＦ”までの領域である。（４）乱数書き込み領域６２４は、アドレスが“０ｘＤ０００”から“０ｘＦＦＦＦ”までの領域である。上記アドレスの領域の設定は一例であり、別のアドレスの領域が設定されてもよい。
【００４３】
以下に、読み出されるデータのアドレス（読み出しアドレス）が上記４種類の各アドレスの領域に属する場合の書き込み処理について説明する。
【００４４】
（１）読み出しアドレスが非破壊読み出し領域６２１に属する場合（Ｓ５０２）、以下の処理を行なう。
【００４５】
書き込み部３０２は、読み出しアドレスと読み出されたデータとを取得し、読み出されたデータと同じデータを、ＦｅＲＡＭ１２５の読み出しアドレスに書き込む（Ｓ５０３）。すなわち、読み出しアドレスが非破壊読み出し領域６２１に属する場合、読み出し処理は非破壊読み出しとなり、読み出し元のデータは保存される。
【００４６】
（２）読み出しアドレスが自然破壊領域６２２に属する場合（Ｓ５０４）、以下の処理を行なう。
【００４７】
書き込み部３０２は、読み出しアドレスと読み出されたデータとを取得する。しかしながら、書き込み部３０２は、ＦｅＲＡＭ１２５の読み出しアドレスに対する書き込み処理は行なわない。すなわち、読み出しアドレスが自然破壊領域６２２に属する場合、読み出し処理は破壊読み出しとなり、読み出し元のデータは保存されず、予測不能な値となる。
【００４８】
（３）読み出しアドレスが特定値書き込み領域６２３に属する場合（Ｓ５０５）、以下の処理を行なう。
【００４９】
書き込み部３０２は、読み出しアドレスと読み出されたデータとを取得する。しかしながら、書き込み部３０２は、ＦｅＲＡＭ１２５の読み出しアドレスに対して、読み出されたデータを書き込まず、特定の値、“１”又は“０”を書き込む（Ｓ５０６）。
【００５０】
すなわち、読み出しアドレスが特定値書き込み領域６２３に属する場合、読み出し処理は破壊読み出しとなり、読み出しアドレスには特定の値が書き込まれる。
【００５１】
（４）読み出しアドレスが乱数書き込み領域６２４に属する場合（Ｓ５０７）、以下の処理を行なう。
【００５２】
書き込み部３０２は、読み出しアドレスと読み出されたデータとを取得する。しかしながら、書き込み部３０２は、ＦｅＲＡＭ１２５の読み出しアドレスに対して、読み出されたデータを書き込まない。乱数発生部３０４は乱数を発生する（Ｓ５０８）。書き込み部３０２は、ＦｅＲＡＭ１２５の読み出しアドレスに、乱数発生部３０４が発生した乱数に基づく値を書き込む（Ｓ５０９）。
【００５３】
すなわち、読み出しアドレスが乱数書き込み領域６２４に属する場合のデータ読み出しは、破壊読み出しとなる。
【００５４】
読み出しアドレスが乱数書き込み領域６２４に属する場合と自然破壊領域６２２に属する場合との書き込み処理の相違点は、次の通りである。
【００５５】
読み出しアドレスが乱数書き込み領域６２４に属する場合、そのアドレスには、乱数発生部３０４が発生する乱数に基づくデータが書き込まれる。そのため、ＦｅＲＡＭ１２５固有の読み出し破壊特性（自然破壊）を利用した場合に比べ、読み出しアドレスに格納されるデータの予測がより困難になる。ＦｅＲＡＭ１２５固有の読み出し破壊特性を利用した場合、破壊後のデータは予測がつかないものの、電気特性によりメモリ内の値の分布に偏りが生じる可能性がある。それに対して、乱数により生成された値が書き込まれると、メモリ内の値の偏りを少なくすることが可能となる。
【００５６】
（実施の形態２）
図８は、実施の形態２における、図２のＩＣカード１３００の、ＲＯＭ１２４と、ＣＰＵ１２０と、ＦｅＲＡＭ１２５とからなる部分をソフトウェア構成に置き換えた図である。
【００５７】
以下に、実施の形態１とは異なる構成について説明する。
ＦｅＲＡＭ８２５は１６Ｋバイトの容量を有するメモリのみ実装されている。アドレスデコーダ８００は、１６ビットのアドレスのうちの上位２ビットを除く部分をデコードする。つまり、実施の形態２では、上記上位２ビットを含むアドレスに対応する実メモリに対する処理は行なわれない。上記上位２ビット、“Ａ１５”及び“Ａ１４”は、書き込み処理の方法を決定するために使用される。
【００５８】
処理方法決定部８０２は、上記上位２ビット、“Ａ１５”及び“Ａ１４”の各値を取得し、図９に示す処理方法特定テーブル９００を参照して、取得した値の組み合わせに対応する、書き込み処理の方法を決定する。処理方法決定部８０２は、決定した方法を書き込み部８０１に通知する。処理方法特定テーブル９００は、処理情報記憶部８０５に記憶されている。
【００５９】
以下に、読み出しアドレスの上位２ビット、“Ａ１５”の値と、“Ａ１４”の値との組み合わせにより異なる書き込み処理について説明する。
【００６０】
（１）“Ａ１４”の値が“０”であり、“Ａ１５”の値が“０”である場合、図９に示すように、読み出し処理の方法は非破壊読み出しである（９２１）。すなわち、アドレスが“０ｘ００００”から“０ｘ３ＦＦＦ”までの領域に対する読み出し処理の方法は非破壊読み出しである。この場合、上記のＳ５０２及びＳ５０３と同じ書き込み処理が行なわれる。上記手順は、実施の形態１で説明した。なお、上記読み出し処理は、仮想アドレスに対する読み出し処理である。すなわち、上位２ビットは、処理対象のアドレスを特定するためにはデコードされない。図１０の斜線部に示すように、処理対象のアドレスの範囲は、実アドレスが“０ｘ００００”から“０ｘ３ＦＦＦ”までの範囲である。
【００６１】
（２）“Ａ１４”の値が“１”であり、“Ａ１５”の値が“０”である場合、図９に示すように、読み出し処理の方法は破壊読み出しである（９２２）。すなわち、アドレスが“０ｘ４０００”から“０ｘ７ＦＦＦ”までの領域に対する読み出し処理の方法は破壊読み出しである。この場合、上記のＳ５０４と同じ書き込み処理が行なわれる。上記手順は、実施の形態１で説明した。なお、上記読み出し処理は、仮想アドレスに対する読み出し処理である。すなわち、上位２ビットは、処理対象のアドレスを特定するためにはデコードされない。図１０の斜線部に示すように、処理対象のアドレスの範囲は、実アドレスが“０ｘ００００”から“０ｘ３ＦＦＦ”までの範囲である。
【００６２】
（３）“Ａ１４”の値が“０”であり、“Ａ１５”の値が“１”である場合、図９に示すように、読み出し処理の方法は、破壊読み出しであって、かつ特定値の書き込みである（９２３）。すなわち、アドレスが“０ｘ８０００”から“０ｘＣＦＦＦ”までの領域に対する読み出し処理の方法は、破壊読み出しであって、かつ特定値の書き込みである。この場合、上記のＳ５０５及びＳ５０６と同じ書き込み処理が行なわれる。上記手順は、実施の形態１で説明した。なお、上記読み出し処理は、仮想アドレスに対する読み出し処理である。すなわち、上位２ビットは、処理対象のアドレスを特定するためにはデコードされない。図１０の斜線部に示すように、処理対象のアドレスの範囲は、実アドレスが“０ｘ００００”から“０ｘ３ＦＦＦ”までの範囲である。
【００６３】
（４）“Ａ１４”の値が“１”であり、“Ａ１５”の値が“１”である場合、図９に示すように、読み出し処理の方法は、破壊読み出しであって、かつ乱数の書き込みである（９２４）。すなわち、アドレスが“０ｘＤ０００”から“０ｘＦＦＦＦ”までの領域に対する読み出し処理の方法は、破壊読み出しであって、かつ乱数の書き込みである。この場合、上記のＳ５０７からＳ５０９と同じ書き込み処理が行なわれる。上記手順は、実施の形態１で説明した。なお、上記読み出し処理は、仮想アドレスに対する読み出し処理である。すなわち、上位２ビットは、処理対象のアドレスを特定するためにはデコードされない。図１０の斜線部に示すように、処理対象のアドレスの範囲は、実アドレスが“０ｘ００００”から“０ｘ３ＦＦＦ”までの範囲である。
【００６４】
以上説明したように、ユーザは、ＦｅＲＡＭ１２５のアドレスを指定することにより、データが読み出された後のそのデータが格納されていたアドレスに対する書き込み処理の方法を変更することができる。これにより、破壊型メモリへの不用意なアクセスによって、データが破壊されることを未然に防止することができる。
【００６５】
また、書き込み部は、所定のアドレスに対して、データが読み出された後に、特定の値を書き込む。これにより、読み出されたデータの痕跡を完全に消し去ることが可能である。
【００６６】
また、書き込み部は、所定のアドレスに対して、データが読み出された後に、乱数に基づく値を書き込む。これにより、データが読み出された痕跡を推測することも困難となる。
【００６７】
なお、書き込み部は、乱数に基づく値を書き込むよりも、特定の値を書き込む方が、書き込み処理をより早く終了することができる。
【００６８】
（実施の形態の第１の補足事項）
以上、実施の形態１及び２を説明した。なお、ＩＣカード１３００が備える、読み出し部３０１、書き込み部３０２、処理方法特定部３０３、及び乱数発生部３０４の各機能は、ＣＰＵがコンピュータプログラムを実行することにより実現される。上記プログラムは、ＩＣカード１３００内のＲＯＭに格納されていてもよいし、外部よりダウンロードされ、ＩＣカード１３００内の不揮発性メモリに格納されてもよい。
【００６９】
（実施の形態の第２の補足事項）
読み出し部３０１、書き込み部３０２、処理方法特定部３０３、及び乱数発生部３０４は、ＣＰＵ、ＲＡＭ、ＲＯＭ、及び不揮発性メモリ等のハードウェア資源の組み合わせにより、集積回路であるＬＳＩとして実現されてもよい。読み出し部３０１、書き込み部３０２、処理方法特定部３０３、及び乱数発生部３０４は、個別に１チップ化されてもよい。それらの一部又は全部が１チップ化されてもよい。
【００７０】
図１１に実施の形態１のＩＣカード１３００の集積回路化の一例を示す。図１２に実施の形態２のＩＣカード１３００の集積回路化の一例を示す。ＬＳＩ１００１及びＬＳＩ１００２は集積回路化の一例である。図１１及び図１２の破線で囲まれている範囲は、集積回路化される機能ブロックの範囲の例である。集積回路は、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、又はウルトラＬＳＩと呼称されることもある。
【００７１】
集積回路は、ＬＳＩに限るものではなく、専用回路又は汎用プロセサにより実現されてもよい。ＬＳＩ製作後にプログラムすることが可能な、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）や、ＬＳＩ内部の回路セルの接続や設定を再構成することが可能なリコンフィギュラブル・プロセッサーが利用されてもよい。
【００７２】
更には、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然その技術を用いて機能ブロックの集積化が行なわれてもよい。バイオ技術、有機化学技術等の適用が可能性としてありえる。
【産業上の利用可能性】
【００７３】
本発明は、破壊型読み出し特性を持つメモリを内蔵したＩＣカード等として有用である。本発明は、ＲＦタグ等の用途にも応用することができる。
【図面の簡単な説明】
【００７４】
これら、並びに、発明の他の目的、効果、及び特徴は、発明の特定の実施の形態を説明する添付図面とともに行なう説明から明らかである。
【図１】ＩＣカードの使用環境を示す概観図である。
【図２】ＩＣカードのハードウェア構成図である。
【図３】実施の形態１のＩＣカードの一部のソフトウェア構成図である。
【図４】データが読み出される際の処理の手順を示すフローチャートである。
【図５】読み出しアドレス毎の書き込み処理の手順を示すフローチャートである。
【図６】実施の形態１における、各アドレスの、データが読み出された後のそのデータが格納されていたアドレスに対するデータの書き込み処理の方法を特定するテーブルを示す図である。
【図７】実施の形態１のＦｅＲＡＭの各領域を示す図である。
【図８】実施の形態２のＩＣカードの一部のソフトウェア構成図である。
【図９】実施の形態２における、各アドレスの、データが読み出された後のそのデータが格納されていたアドレスに対するデータの書き込み処理の方法を特定するテーブルを示す図である。
【図１０】実施の形態２のＦｅＲＡＭの各領域を示す図である。
【図１１】実施の形態１におけるＩＣカードの機能の一部をＬＳＩにより実現したことを示す図である。
【図１２】実施の形態２におけるＩＣカードの機能の一部をＬＳＩにより実現したことを示す図である。
【図１】
2008500601.tif 000003
【図２】
2008500601.tif 000004
【図３】
2008500601.tif 000005
【図４】
2008500601.tif 000006
【図５】
2008500601.tif 000007
【図６】
2008500601.tif 000008
【図７】
2008500601.tif 000009
【図８】
2008500601.tif 000010
【図９】
2008500601.tif 000011
【図１０】
2008500601.tif 000012
【図１１】
2008500601.tif 000013
【図１２】
2008500601.tif 000014
【国際調査報告】
2008500601.tif 000015
2008500601.tif 000016
2008500601.tif 000017