JP2003234000A - 半導体集積回路装置、icカードおよび検査装置 - Google Patents

半導体集積回路装置、icカードおよび検査装置

Info

Publication number
JP2003234000A
JP2003234000A JP2002031620A JP2002031620A JP2003234000A JP 2003234000 A JP2003234000 A JP 2003234000A JP 2002031620 A JP2002031620 A JP 2002031620A JP 2002031620 A JP2002031620 A JP 2002031620A JP 2003234000 A JP2003234000 A JP 2003234000A
Authority
JP
Japan
Prior art keywords
address
data
read
semiconductor memory
integrated circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002031620A
Other languages
English (en)
Inventor
Tetsuro Yoshimoto
哲朗 吉本
Takayuki Tanaka
崇之 田中
Yoshinori Mizushima
美紀 水嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002031620A priority Critical patent/JP2003234000A/ja
Publication of JP2003234000A publication Critical patent/JP2003234000A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 不揮発性半導体メモリの診断を高速に行う。 【解決手段】 メモリセルアレイ61の各行X1−X1
6から1つの読み出し単位のデータを読み出しエラーの
有無を調べる(A)。エラーが検出されたデータに対応
する行X16についてはすべての読み出し単位のデータ
を読み出す(B)。これにより、不揮発性半導体メモリ
60の診断に要する時間を短くすることができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は半導体集積回路装
置、ICカードおよび検査装置に関する。さらに詳しく
は、不揮発性半導体メモリと当該不揮発性半導体メモリ
を診断する検査回路とを有する半導体集積回路装置、不
揮発性半導体メモリとキャッシュメモリとを有する半導
体集積回路装置、当該半導体集積回路装置を備えたIC
カードおよび不揮発性半導体メモリを診断する検査装置
に関する。
【0002】
【従来の技術および発明が解決しようとする課題】近
年、不揮発性半導体メモリを内蔵したICカードが金融
分野・交通分野などで普及しつつある。このような分野
で利用されるICカードは正常な状態で長期間使用でき
ることが望ましい。ところが、不揮発性半導体メモリへ
の書き込み動作時にリーダライタからICカードが引き
抜かれたり、不揮発性半導体メモリへの書き込み回数が
多くなること等の原因でICカードが故障することがあ
る。
【0003】この発明の目的は、不揮発性半導体メモリ
を正常な状態で長期間使用することができる半導体集積
回路装置を提供することである。
【0004】
【課題を解決するための手段および発明の効果】この発
明の1つの局面に従うと、半導体集積回路装置は、不揮
発性半導体メモリと、検査回路とを備える。不揮発性半
導体メモリは、メモリセルアレイと、エラー訂正回路と
を含む。メモリセルアレイは、行および列に複数の読み
出し単位に分割される。エラー訂正回路は、複数の読み
出し単位の各々に書き込むべきデータのエラー訂正符号
化を行い、複数の読み出し単位の各々から読み出された
データのエラー検出およびエラー訂正を行う。検査回路
は、不揮発性半導体メモリを診断する。検査回路は、メ
モリセルアレイの各行から一の読み出し単位のデータを
読み出すように指示する第1の指示を不揮発性半導体メ
モリに与える。第1の指示に従って読み出されたデータ
のエラーがエラー訂正回路によって検出されると検査回
路は、当該エラーが検出されたデータに対応する行のす
べての読み出し単位のデータを読み出すように指示する
第2の指示を不揮発性半導体メモリに与える。
【0005】上記半導体集積回路装置では、検査回路に
よって不揮発性半導体メモリの診断が行われる。不揮発
性半導体メモリの診断では、まず第1の指示が検査回路
から不揮発性半導体メモリに与えられる。第1の指示に
応答して不揮発性半導体メモリは、メモリセルアレイの
ある行から1つの読み出し単位のデータを読み出す。そ
してメモリセルアレイから読み出されたデータのエラー
検出およびエラー訂正処理がエラー訂正回路によって行
われる。エラーが検出されなかったときは別の行から1
つの読み出し単位のデータが読み出される。通常、不揮
発性半導体メモリへの書き込みは行単位で行われる。し
たがって、書き込み時にエラーが発生した場合には同一
の行にあるすべてのメモリセルにエラーが発生している
可能性が高い。ゆえに上記半導体集積回路装置では、エ
ラーが検出されなかったときは当該行にあるメモリセル
には正しくデータが書き込まれていると判断し、続いて
別の行から1つの読み出し単位のデータを読み出すよう
にしている。一方、エラーが検出されたときは第2の指
示が検査回路から不揮発性半導体メモリに与えられる。
第2の指示に応答して不揮発性半導体メモリは、当該エ
ラーが検出されたデータに対応する行のすべての読み出
し単位のデータを読み出す。このような処理を不揮発性
半導体メモリのメモリセルアレイのすべての行に対して
行う。
【0006】以上のように上記半導体集積回路装置では
検査回路を設けているため、不揮発性半導体メモリが正
常な状態であるか否かを判定することができる。これに
より、不揮発性半導体メモリが故障した状態のままで使
用され続けるような状況を防ぐことができる。この結
果、不揮発性半導体メモリが正常な状態で長期間使用さ
れることになる。
【0007】また、メモリセルアレイの行ごとに1つの
読み出し単位のデータを読み出し、エラーが検出された
データに対応する行についてはすべての読み出し単位の
データを読み出すため、不揮発性半導体メモリの診断に
要する時間を短くすることができる。
【0008】好ましくは、上記検査回路は、第2の指示
に従って読み出されたデータのうちエラー訂正回路によ
ってエラーが検出されなかったデータがあるとき、第2
の指示に従って読み出されたデータのうちエラー訂正回
路によってエラーが検出されたデータを再書き込みする
ように指示する第3の指示を不揮発性半導体メモリに与
える。
【0009】上記エラー訂正回路によって検出されるエ
ラーには以下に示す(a),(b)のような種類があ
る。 (a)同一の行にあるメモリセルのうちの一部のメモリ
セルについてだけ発生するようなエラー このようなエラーの原因としては、 ・メモリセルのデータ保持特性不良により記録データが
変化してしまった ・以前のデータがメモリセルに残留していたため正しく
書き込めなかった などが考えられる。このようなエラーは、再度同じデー
タを書き込むことによって修復することができる。 (b)同一の行にあるすべてのメモリセルについて発生
するエラー このようなエラーの原因としては、 ・書き込み時の電源ダウンにより所望のデータが記録で
きていなかったなどが考えられる。
【0010】上記半導体集積回路装置では、第2の指示
に従って読み出されたデータのうちエラー訂正回路によ
ってエラーが検出されなかったデータがあるとき、すな
わち第2の指示に従って読み出されたデータのうちの一
部についてだけエラーが検出されたときは、当該エラー
は上述の(a)のようなエラーであると判断される。ま
た、当該エラーが検出されたデータについては、データ
を正しくは読み出せなかったけれどもエラー訂正処理に
よって正しいデータに訂正されたと判断される。そして
第3の指示が検査回路から不揮発性半導体メモリに与え
られる。第3の指示に応答して不揮発性半導体メモリ
は、当該エラーが検出されたデータを再書き込みする。
これによりエラーが修復される。
【0011】好ましくは、上記検査回路は、第2の指示
に従って読み出されたデータのすべてにおいてエラー訂
正回路によってエラーが検出されたとき、異常を示す信
号を出力する。
【0012】上記半導体集積回路装置では、第2の指示
に従って読み出されたデータのすべてにおいてエラー訂
正回路によってエラーが検出されたとき、当該エラーは
上述の(b)のようなエラーであると判断される。ま
た、当該エラーが検出されたデータに対応する行にある
メモリセルのデータは破壊されている、すなわち修復不
能であると判断される。そして異常を示す信号が出力さ
れる。これにより、メモリセルのデータが破壊された状
態のままで不揮発性半導体メモリが使用され続けるよう
な状況を防ぐことができる。
【0013】好ましくは、上記検査回路は、メモリセル
アレイの領域のうち不良発生頻度が高いと予想される領
域の読み出し単位のデータを読み出すように第1の指示
を与える。
【0014】上述の(b)のようなエラーに対しては、
メモリセルアレイの各行から1つの読み出し単位のデー
タを読み出すことによって十分な診断を行うことができ
る。しかし上述の(a)のようなエラーの場合、当該エ
ラーが存在する読み出し単位以外の読み出し単位のデー
タが第1の指示に従って読み出されることがあるため十
分な診断を行うことができない。
【0015】不揮発性半導体メモリのメモリセルの特性
不良にはプロセス的な要因が少なからず影響していると
考えられるため、メモリセルアレイの領域のうち特性不
良の発生頻度が高い領域を統計的に予想できる場合があ
る。上記半導体集積回路装置では、検査回路からの第1
の指示に応答して不揮発性半導体メモリのメモリセルア
レイの各行から不良発生頻度が高いと予想される領域に
ある一の読み出し単位のデータが読み出される。したが
って、上述の(a)のようなエラーに対して効率的な診
断を行うことができる。
【0016】好ましくは、上記検査回路は、行ごとに異
なる列に対応する読み出し単位のデータを読み出すよう
に第1の指示を与える。
【0017】偶発的な要因によって生じる特性不良につ
いては、それがメモリセルアレイのどの領域で発生する
かを予測するのは困難である。上記半導体集積回路装置
によれば、第1の指示に従って読み出される読み出し単
位がメモリセルアレイの特定の領域に偏らないようにす
ることができる。これにより、上述の(a)のようなエ
ラーに対して効率的な診断を行うことができる。
【0018】好ましくは、上記検査回路は、メモリセル
アレイの一の列に対応する読み出し単位のデータを読み
出すように第1の指示を与える。上記一の列は、第1の
指示が与えられるたびに異なる。
【0019】上記半導体集積回路装置では、ある診断動
作においてはメモリセルアレイの第1の列に対応する一
の読み出し単位のデータが第1の指示に応答して各行か
ら読み出される。そして次の診断動作においてはメモリ
セルアレイの第2の列に対応する一の読み出し単位のデ
ータが第1の指示に応答して各行から読み出される。こ
のように、診断動作のたびに異なる列に対応する一の読
み出し単位のデータが第1の指示に応答して各行から読
み出される。これにより、特性不良のメモリセルがラン
ダムに存在したとしても、診断動作を所定の回数行う間
にすべての特性不良を検知することができる。
【0020】好ましくは、上記半導体集積回路装置はさ
らにCPUを備える。上記検査回路は、不揮発性半導体
メモリの診断が終了した後に、CPUを起動させるため
の信号をCPUに与える。
【0021】診断プログラムがROMに格納されてお
り、CPUが起動した後に当該診断プログラムをROM
から読み出して不揮発性半導体メモリの診断を行うよう
な場合、CPUの動作を解析することによって不揮発性
半導体メモリへのアクセス手順が解析される可能性があ
る。しかし上記半導体集積回路装置では、CPUが動作
を停止している間に検査回路によって不揮発性半導体メ
モリの診断が行われる。したがって不揮発性半導体メモ
リへのアクセス手順が解析されにくい。また、診断に要
する時間が短いため、不揮発性半導体メモリの診断を行
っているということ自体も解析されにくい。
【0022】好ましくは、上記検査回路は、第2の指示
に従って読み出されたデータのすべてにおいてエラー訂
正回路によってエラーが検出されたとき、異常を示す信
号をCPUに与える。
【0023】上記半導体集積回路装置では、第2の指示
に従って読み出されたデータのすべてにおいてエラー訂
正回路によってエラーが検出されたとき、当該エラーは
上述の(b)のようなエラーであると判断される。ま
た、当該エラーが検出されたデータに対応する行にある
メモリセルのデータは破壊されている、すなわち修復不
能であると判断される。そして異常を示す信号が検査回
路からCPUに与えられる。これによりCPUは、不揮
発性半導体メモリが故障しているということを、起動し
て処理を始める前の段階で認識することができる。
【0024】好ましくは、上記CPUは、検査回路から
の異常を示す信号に応答して起動を停止する。
【0025】上記半導体集積回路装置によれば、不揮発
性半導体メモリが故障した状態のままでCPUが処理を
進めるという状況を防ぐことができる。
【0026】この発明のもう1つの局面に従うと、IC
カードは上記半導体集積回路装置を備える。
【0027】この発明のさらにもう1つの局面に従う
と、検査装置は、不揮発性半導体メモリを診断する装置
である。上記不揮発性半導体メモリは、メモリセルアレ
イと、エラー訂正回路とを含む。メモリセルアレイは、
行および列に複数の読み出し単位に分割される。エラー
訂正回路は、複数の読み出し単位の各々に書き込むべき
データのエラー訂正符号化を行い、複数の読み出し単位
の各々から読み出されたデータのエラー検出およびエラ
ー訂正を行う。上記検査装置は、メモリセルアレイの各
行から一の読み出し単位のデータを読み出すように指示
する第1の指示を不揮発性半導体メモリに与える。第1
の指示に従って読み出されたデータのエラーがエラー訂
正回路によって検出されると上記検査装置は、当該エラ
ーが検出されたデータに対応する行のすべての読み出し
単位のデータを読み出すように指示する第2の指示を不
揮発性半導体メモリに与える。
【0028】この発明のさらにもう1つの局面に従う
と、半導体集積回路装置は、不揮発性半導体メモリと、
キャッシュメモリと、アドレス記憶部と、アクセス制御
部とを備える。アドレス記憶部は、不揮発性半導体メモ
リのアドレスを少なくとも1つ記憶する。アクセス制御
部は、不揮発性半導体メモリへの書き込みアドレスとア
ドレス記憶部に記憶されたアドレスのいずれか1つとが
一致するとき、当該書き込みアドレスに対応する書き込
みデータをキャッシュメモリに書き込む。
【0029】通常、不揮発性半導体メモリには書き込み
回数に上限がある。書き込み回数がこの上限に近づくと
書き込みエラーなどの故障が生じる可能性が高くなる。
上記半導体集積回路装置では、不揮発性半導体メモリの
所定のアドレスがアドレス記憶部にあらかじめ格納され
る。そして不揮発性半導体メモリへの書き込みアクセス
があると、書き込みアドレスとアドレス記憶部に記憶さ
れたアドレスとが比較される。アドレス記憶部に記憶さ
れたアドレスのうちいずれか1つと書き込みアドレスと
が一致するとき、当該書き込みアドレスに対応する書き
込みデータはキャッシュメモリに書き込まれる。これに
より、不揮発性半導体メモリへの書き込み回数を少なく
することができる。この結果、不揮発性半導体メモリが
正常な状態で長期間使用されることになる。
【0030】また一般に、キャッシュにヒットしやすい
アドレス(たとえば最新のアドレスや何回もアクセスが
あったアドレスなど)をプログラム実行中に精度よく抽
出する(アドレス置換メカニズム)ためにはキャッシュ
メモリの資源を大量に必要とする。上記半導体集積回路
装置ではアドレス記憶部を設けたため、キャッシュにヒ
ットしやすいアドレスをあらかじめアドレス記憶部に記
憶させておくことができる。これにより、アドレス記憶
部を設けない場合に比べて少ない資源で不揮発性半導体
メモリへの書き込み回数を少なくすることができる。
【0031】好ましくは、上記アクセス制御部は、アド
レス記憶部に記憶されるアドレスを不揮発性半導体メモ
リへの書き込みアクセスの状況に応じて変更する。
【0032】好ましくは、上記アドレス記憶部は、上記
不揮発性半導体メモリのアドレスを記憶する第1および
第2の領域を含む。上記アクセス制御部は、アドレス記
憶部の第2の領域に記憶されるアドレスを不揮発性半導
体メモリへの書き込みアクセスの状況に応じて変更す
る。
【0033】好ましくは、上記アクセス制御部は、アド
レス記憶部に記憶されたアドレスをキャッシュメモリへ
書き込む。そして上記アクセス制御部は、不揮発性半導
体メモリへの書き込みアドレスとキャッシュメモリに記
憶されたアドレスのいずれか1つとが一致するとき、当
該書き込みアドレスに対応する書き込みデータをキャッ
シュメモリに書き込む。
【0034】好ましくは、上記アクセス制御部は、キャ
ッシュメモリに記憶されるアドレスを不揮発性半導体メ
モリへの書き込みアクセスの状況に応じて変更し、変更
後のアドレスをアドレス記憶部に書き込む。
【0035】好ましくは、上記アドレス記憶部は、上記
不揮発性半導体メモリのアドレスを記憶する第1および
第2の領域を含む。上記キャッシュメモリは、第3の領
域と第4の領域とを含む。上記アクセス制御部は、アド
レス記憶部の第1の領域に記憶されたアドレスをキャッ
シュメモリの第3の領域へ書き込み、アドレス記憶部の
第2の領域に記憶されたアドレスをキャッシュメモリの
第4の領域へ書き込む。そして上記アクセス制御部は、
キャッシュメモリの第4の領域に記憶されるアドレスを
不揮発性半導体メモリへの書き込みアクセスの状況に応
じて変更し、変更後のアドレスをアドレス記憶部の第2
の領域に書き込む。
【0036】この発明のさらにもう1つの局面に従う
と、ICカードは上記半導体集積回路装置を備える。
【0037】
【発明の実施の形態】以下、この発明の実施の形態を図
面を参照して詳しく説明する。なお、図中同一または相
当部分には同一の符号を付しその説明は繰り返さない。
【0038】(第1の実施形態) <ICカードの構成>図1は、この発明の第1の実施形
態によるICカードの構成を示すブロック図である。図
1に示すICカードは非接触型のICカードであって、
アンテナコイル10と、LSIチップ1とを備える。
【0039】アンテナコイル10は、リーダライタ(図
示せず)との間でデータの送受信を非接触で行いかつリ
ーダライタから非接触で電力の供給を受ける。
【0040】LSIチップ1は、インターフェース回路
20と、検査回路30と、CPU40と、セレクタ50
と、不揮発性半導体メモリ60とを含む。
【0041】インターフェース回路20は、アンテナコ
イル10によって受信された電力を各部に供給する。ま
たインターフェース回路20は、動作の基準となるクロ
ックを各部に供給する。またインターフェース回路20
は、リーダライタへ送信すべきデータをアンテナコイル
10に伝送し、アンテナコイル10によって受信された
データを所定の回路に伝送する。またインターフェース
回路20は、アンテナコイル10によって受信された電
力に応じたリセット信号RST1を検査回路30に与え
る。アンテナコイル10によって受信された電力が所定
のレベルよりも少ないときインターフェース回路20は
Lレベル(論理ローレベル)のリセット信号RST1を
検査回路30に与える。アンテナコイル10によって受
信された電力が所定のレベル以上のときインターフェー
ス回路20はHレベル(論理ハイレベル)のリセット信
号RST1を検査回路30に与える。
【0042】検査回路30は不揮発性半導体メモリ60
を診断する。検査回路30は、制御部31と、データ処
理部32と、アドレス発生部33とを含む。制御部31
は、インターフェース回路20からのリセット信号RS
T1がLレベルからHレベルへ切り替わるのに応答して
データ処理部32およびアドレス発生部33に不揮発性
半導体メモリ60の診断の開始を指示する。不揮発性半
導体メモリ60の診断動作において制御部31はデータ
処理部32およびアドレス発生部33を制御する。制御
部31は、不揮発性半導体メモリ60からのエラー訂正
情報に応じた指示をデータ処理部32およびアドレス発
生部33に与える。また制御部31は、データの読み出
し/書き込みを指示する制御信号をセレクタ50を介し
て不揮発性半導体メモリ60に与える。不揮発性半導体
メモリ60の診断が終了すると制御部31はHレベルの
リセット信号RST2をCPU40およびセレクタ50
に与え、不揮発性半導体メモリ60の診断結果をCPU
40に与える。データ処理部32は、セレクタ50を介
して不揮発性半導体メモリ60との間でデータのやりと
りをする。アドレス発生部33は、読み出し/書き込み
アドレスをセレクタ50を介して不揮発性半導体メモリ
60に与える。
【0043】CPU40は、検査回路30の制御部31
からのリセット信号RST2がLレベルからHレベルに
切り替わるのに応答して起動する。CPU40は、制御
部31からの診断結果に応じた処理を行う。CPU40
は、制御信号およびアドレスをセレクタ50を介して不
揮発性半導体メモリ60に与え、セレクタ50を介して
不揮発性半導体メモリ60との間でデータをやりとりす
る。
【0044】セレクタ50は、検査回路30の制御部3
1からのリセット信号RST2に応じて検査回路30と
不揮発性半導体メモリ60との間またはCPU40と不
揮発性半導体メモリ60との間で制御信号・アドレス・
データのやりとりができるようにパスを切り替える。リ
セット信号RST2がLレベルのときセレクタ50は検
査回路30と不揮発性半導体メモリ60との間で制御信
号・アドレス・データのやりとりができるようにパスを
形成する。リセット信号RST2がHレベルのときセレ
クタ50はCPU40と不揮発性半導体メモリ60との
間で制御信号・アドレス・データのやりとりができるよ
うにパスを形成する。
【0045】不揮発性半導体メモリ60はエラー訂正機
能を有し、読み出し単位ごとのエラーの有無を示すエラ
ー訂正情報を検査回路30の制御部31に与える。不揮
発性半導体メモリ60としては、EEPROM・フラッ
シュメモリ・FeRAMなどを用いることができる。
【0046】<不揮発性半導体メモリ60の構成>図2
は、図1に示した不揮発性半導体メモリ60の内部構成
を示すブロック図である。図2を参照して、不揮発性半
導体メモリ60は、メモリセルアレイ61と、アドレス
デコーダ62と、行デコーダ63と、列デコーダ64
と、エラー訂正回路65と、入出力バッファ66とを含
む。
【0047】メモリセルアレイ61は、行(X1−X1
6)および列(Y1−Y16)に複数(16×16個)
の読み出し単位に分割される。各読み出し単位にはデー
タ(32ビット)およびエラー訂正用データ(6ビッ
ト)が格納される。なお、図2のメモリセルアレイ61
において各読み出し単位を表すブロックの中の数字(1
6進表示)は、当該読み出し単位を指定するためにアド
レスデコーダ62に与えられるアドレスを示している。
【0048】アドレスデコーダ62は、セレクタ50か
らの制御信号およびアドレスに従った読み出し単位を指
定するための行アドレスおよび列アドレスを行デコーダ
63および列デコーダ64に与える。行デコーダ63
は、アドレスデコーダ62からの行アドレスに応答して
対応する行を選択する。列デコーダ64は、アドレスデ
コーダ62からの列アドレスに応答して対応する列を選
択する。
【0049】入出力バッファ66は、書き込みデータお
よび読み出しデータを一時的に蓄積する。
【0050】エラー訂正回路65は、行デコーダ63お
よび列デコーダ64によって指定された読み出し単位の
各々への書き込みデータ(32ビット)にエラー訂正用
ビット(6ビット)を付加する。エラー訂正用ビットが
付加された書き込みデータが各読み出し単位に書き込ま
れる。1つの行に対応するすべての読み出し単位(16
個)に同時に書き込みが行われる(1ライン同時書き込
み)。読み出し動作時には、行デコーダ63および列デ
コーダ64によって指定された読み出し単位からデータ
(32ビット)およびエラー訂正用ビット(6ビット)
が読み出される。エラー訂正回路65は、図3に示すよ
うに、読み出されたデータ(32ビット)に対してエラ
ー訂正用ビットを用いてエラー訂正処理を行う。ただし
通常、エラーを訂正することができるビット数には限度
があり、この限度を越えてエラーが発生した場合には訂
正処理後のデータの正しさは保証されない。エラー訂正
回路65は、エラー訂正処理後のデータ(32ビット)
とエラー訂正処理前のデータ(32ビット)とが一致す
るときはLレベルのエラー訂正情報を出力し、一致しな
いときはHレベルのエラー訂正情報を出力する。Hレベ
ルのエラー訂正情報は、読み出されたデータにエラーが
検出されたことを示す。Lレベルのエラー訂正情報は、
読み出されたデータにエラーが検出されなかったことを
示す。
【0051】<不揮発性半導体メモリ60の診断>次
に、図1に示したICカードの動作について図4を参照
しつつ説明する。
【0052】時刻t1以前においてはICカードとリー
ダライタとの距離が離れているためリーダライタからI
Cカードに十分な電力が供給されない。このときインタ
ーフェース回路20から検査回路30に与えられるリセ
ット信号RST1はLレベルのままである。リセット信
号RST1がLレベルのとき検査回路30は動作停止状
態(リセット状態)となる。またCPU40およびセレ
クタ50に与えられるリセット信号RST2もLレベル
のままである。リセット信号RST2がLレベルのとき
CPU40は動作停止状態(リセット状態)となる。
【0053】リーダライタにICカードが近づけられ、
リーダライタからICカードに供給される電力が時刻t
1において所定のレベルに達する。これに応答してイン
ターフェース回路20はリセット信号RST1をLレベ
ルからHレベルに切り替える。リセット信号RST1が
LレベルからHレベルに切り替わると検査回路30は不
揮発性半導体メモリ60の診断を開始する。一方、リセ
ット信号RST2はLレベルのままでありCPU40は
動作停止状態(リセット状態)のままである。以下、検
査回路30による不揮発性半導体メモリ60の診断動作
について図5を参照しつつ説明する。
【0054】[ステップST501]まず、検査回路3
0の制御部31は、メモリセルアレイ61の列Y1−Y
16のうちいずれか1つを選択する。図6(a)に示す
ように、ここでは列Y2が選択されるものとする。次に
制御部31は、メモリセルアレイ61の各行X1−X1
6の列Y2に対応する読み出し単位を指定するアドレス
を与えるようにアドレス発生部33に指示する。そして
ステップST502にすすむ。
【0055】[ステップST502]図6(b)に示す
ように、制御部31からの指示に応答してアドレス発生
部33は、メモリセルアレイ61の行X1および列Y2
に対応する読み出し単位を指定するアドレス4(16進
数)を出力する。制御部31は、読み出しを指示する制
御信号を出力する。制御部31からの制御信号およびア
ドレス発生部33からのアドレス4は、セレクタ50を
介して不揮発性半導体メモリ60のアドレスデコーダ6
2に与えられる。これに応答してアドレスデコーダ61
は、行X1に対応する行アドレスを行デコーダ63に与
え、列Y2に対応する列アドレスを列デコーダ64に与
える。アドレスデコーダ61からの行アドレスに応答し
て行デコーダ63はメモリセル61の行X1を選択す
る。アドレスデコーダ61からの列アドレスに応答して
列デコーダ64は列Y2を選択する。そして図6(b)
に示すように、行X1および列Y2に対応する読み出し
単位のデータD(4)が読み出される。そしてステップ
ST503にすすむ。
【0056】[ステップST503]エラー訂正回路6
5は、ステップST502において読み出されたデータ
D(4)のエラー検出およびエラー訂正処理を行う。読
み出しデータD(4)にエラーが検出されなかったとき
エラー訂正回路65はLレベルのエラー訂正情報を出力
する。読み出しデータD(4)にエラーが検出されたと
きエラー訂正回路65はHレベルのエラー訂正情報を出
力する。制御部31は、エラー訂正回路65からのエラ
ー訂正情報がHレベルであるかLレベルであるかを判断
する。Hレベルであると判断されたときはステップST
507にすすみ、Lレベルであると判断されたときはス
テップST504にすすむ。ここでは読み出しデータD
(4)にエラーが検出されなかったものとする。エラー
訂正回路65は、図6(b)に示すようにLレベルのエ
ラー訂正情報を検査回路30の制御部31に出力する。
そしてステップST504にすすむ。
【0057】[ステップST504]アドレス発生部3
3は、前回のアドレス4に40(16進数)を加算す
る。加算の結果得られるアドレス44は、図6(a)に
示すように、メモリセルアレイ61の前回の行X1の次
の行X2の列Y2に対応する読み出し単位を指定するア
ドレスである。そしてステップST505にすすむ。
【0058】[ステップST505]制御部31は、ス
テップST504において得られたアドレスが最終アド
レス(ここでは3FC)を超えているか否かを判断す
る。超えていると判断されたときはステップST506
にすすみ、超えていないと判断されたときはステップS
T502にもどる。ここでは、ステップST504にお
いて得られたアドレス44は最終アドレス3FCを超え
ていないためステップST502にもどる。そしてステ
ップST502においてアドレス発生部33は、メモリ
セル61の行X2および列Y2に対応する読み出し単位
を指定するアドレス44を出力する。制御部31は、読
み出しを指示する制御信号を出力する。
【0059】通常、不揮発性半導体メモリ60への書き
込みは行単位で行われる。したがって、書き込み時にエ
ラーが発生した場合には行X1にあるすべてのメモリセ
ルにエラーが発生している可能性が高い。ゆえに、エラ
ー訂正回路65によってエラーが検出されなかったと
き、すなわちエラー訂正情報がLレベルのときは、読み
出しデータD(4)に対応する行X1のすべてのメモリ
セルに正しくデータが書き込まれていると判断し、次の
行X2から1つの読み出し単位のデータを読み出すよう
にしている。そして、行X2および列Y2に対応する読
み出し単位からの読み出しデータD(44)に対して同
様にエラー検出およびエラー訂正処理が行われる。
【0060】これ以降、エラー訂正情報がHレベルであ
ると判断されるまでステップST502−ST505に
おける処理が繰り返される(図5および図6の符号
A)。すなわち、メモリセルアレイ61の各行X2−X
16から列Y2に対応する読み出し単位のデータが読み
出され、エラー検出およびエラー訂正処理が行われる。
【0061】ここでは図6(b)に示すように、行X1
6および列Y2に対応する読み出し単位からの読み出し
データD(3C4)においてエラーが検出され、Hレベ
ルのエラー訂正情報が出力される。そしてステップST
507にすすむ。
【0062】[ステップST507]検査回路30の制
御部31は、行X16および列Y2に対応する読み出し
単位からのエラー訂正処理後の読み出しデータD(3C
4)、当該読み出し単位に対応する列Y2を示すアドレ
ス4、および当該読み出し単位に対応するエラー訂正情
報Hを記憶するようにデータ処理部32に指示を与え
る。制御部31からの指示に応答してデータ処理部32
はこれらを記憶する。
【0063】アドレス発生部33は、前回のアドレス3
C4に4を加算する。加算の結果得られるアドレス3C
8は、図6(a)に示すように、エラーが検出された読
み出し単位に対応する行X16上の当該読み出し単位に
対応する列Y2の次の列Y3に対応する読み出し単位を
指定するアドレスである。そしてステップST508に
すすむ。
【0064】[ステップST508]アドレス発生部3
3は、メモリセルアレイ61の行X16および列Y3に
対応する読み出し単位を指定するアドレス3C8を出力
する。制御部31は、読み出しを指示する制御信号を出
力する。制御部31からの制御信号およびアドレス発生
部33からのアドレス3C8は、セレクタ50を介して
不揮発性半導体メモリ60のアドレスデコーダ62に与
えられる。これに応答してアドレスデコーダ61は、行
X16に対応する行アドレスを行デコーダ63に与え、
列Y3に対応する列アドレスを列デコーダ64に与え
る。アドレスデコーダ61からの行アドレスに応答して
行デコーダ63はメモリセル61の行X16を選択す
る。アドレスデコーダ61からの列アドレスに応答して
列デコーダ64は列Y3を選択する。そして図6(b)
に示すように、行X16および列Y3に対応する読み出
し単位のデータD(3C8)が読み出される。エラー訂
正回路65は、読み出されたデータD(3C8)のエラ
ー検出およびエラー訂正処理を行う。そしてステップS
T509にすすむ。
【0065】[ステップST509]検査回路30の制
御部31は、行X16および列Y3に対応する読み出し
単位からのエラー訂正処理後の読み出しデータD(3C
8)、当該読み出し単位に対応する列Y3を示すアドレ
ス8、および当該読み出し単位に対応するエラー訂正情
報を記憶するようにデータ処理部32に指示を与える。
制御部31からの指示に応答してデータ処理部32はこ
れらを記憶する。そしてステップST507にもどる。
これ以降、ステップST507−ST509における処
理が15回繰り返される(図5および図6の符号B)。
この結果、ステップST503においてエラーが検出さ
れた行X16にあるすべての読み出し単位のデータD
(3C0)−D(3FC)が読み出される。読み出され
たデータD(3C0)−D(3FC)は、図7に示すよ
うに、対応する列Y1−Y16を示すアドレス0−3C
および対応するエラー訂正情報と関連づけられてデータ
処理部32に記憶される。
【0066】[ステップST510]検査回路30の制
御部31は、データ処理部32に記憶されたエラー訂正
情報のすべてがHレベルであるか否かを判断する。エラ
ー訂正情報のすべてがHレベルであるときはステップS
T517にすすむ。それ以外のとき、すなわち一部のエ
ラー訂正情報がLレベルであるときはステップST51
1にすすむ。
【0067】上述のとおり不揮発性半導体メモリ60へ
の書き込みは行単位で行われるため、エラー訂正回路6
5によって検出されるエラーには以下の(a)および
(b)に示すような種類がある。 (a)同一の行にあるメモリセルのうちの一部のメモリ
セルについてだけ発生するようなエラー このようなエラーの原因としては、 ・メモリセルのデータ保持特性不良により記録データが
変化してしまった ・以前のデータがメモリセルに残留していたため正しく
書き込めなかった などが考えられる。このようなエラーは、再度同じデー
タを書き込むことによって修復することができる。デー
タ処理部32に記憶されたエラー訂正情報のうちの一部
がLレベルであるときは、ステップST503において
検出されたエラーは(a)のようなエラーであると判断
される。また、当該エラーが検出されたデータについて
は、データを正しくは読み出せなかったけれどもエラー
訂正処理によって正しいデータに訂正されたと判断され
る。そして修復処理を行うためにステップST511に
すすむ。 (b)同一の行にあるすべてのメモリセルについて発生
するエラー このようなエラーの原因としては、 ・書き込み時の電源ダウンにより所望のデータが記録で
きていなかった などが考えられる。ICカードでは、不揮発性半導体メ
モリへの書き込み動作中にリーダライタからICカード
が引き離されることが起こりうる。このため、(b)の
ようなエラーが起こりうる。データ処理部32に記憶さ
れたエラー訂正情報のすべてがHレベルであるときは、
ステップST503において検出されたエラーは(b)
のようなエラーであると判断される。また、当該エラー
が検出されたデータに対応する行にあるメモリセルのデ
ータは破壊されている、すなわち修復不能であると判断
される。そしてステップST517にすすみ、検査回路
30による不揮発性半導体メモリ60の診断が終了す
る。制御部31は、図4の時刻t2に示すように、リセ
ット信号RST2をLレベルからHレベルに切り替え、
診断結果「異常有り」をCPU40に通知する。
【0068】ここでは図7に示すように一部のエラー訂
正情報がLレベルであるためステップST511にすす
む。
【0069】[ステップST511]検査回路30の制
御部31は、データ処理部32に記憶されたデータの再
書き込みをデータ処理部32およびアドレス発生部33
に指示する。図8に示すように、アドレス発生部33
は、データ処理部32に記憶されたアドレス0を出力す
る。データ処理部32は、アドレス0に対応づけられた
データD(3C0)を出力する。制御部31は、データ
のラッチを指示する制御信号を出力する。不揮発性半導
体メモリ60の入出力バッファ66は、アドレス発生部
32からのアドレス0が示す列Y1に対応づけてデータ
処理部32からのデータD(3C0)を一時的に蓄積
(ラッチ)する。以下同様にして、アドレス発生部32
からのアドレス4−3Cが示す列Y2−Y16に対応づ
けてデータ処理部32からのデータD(3C4)−D
(3FC)が入出力バッファ66にラッチされる。
【0070】[ステップST512]図8に示すよう
に、アドレス発生部33は、メモリセルアレイ61の行
X16を示すアドレスを出力する。行X16は、ステッ
プST503においてエラーが検出されたデータD(3
C4)に対応する行である。
【0071】[ステップST513]制御部31は、書
き込みを指示する制御信号を出力する。そして、入出力
バッファ66にラッチされたデータD(3C0)−D
(3FC)が、行X16および列Y1−Y16に対応す
る読み出し単位に書き込まれる(1ライン同時書き込
み)。
【0072】[ステップST514]再書き込みが終了
すると検査回路30のアドレス発生部33は、図8に示
すように、ステップST503においてエラーが検出さ
れた読み出し単位を指定するアドレス3C4(行X1
6,列Y2)を出力する。
【0073】[ステップST515]制御部31は、読
み出しを指示する制御信号を出力する。これに応答し
て、メモリセルアレイ61の行X16および列Y2に対
応する読み出し単位からデータD(3C4)が読み出さ
れる。エラー訂正回路65は、読み出されたデータD
(3C4)に対してエラー検出およびエラー訂正処理を
行う。
【0074】[ステップST516]検査回路30の制
御部31は、ステップST515において読み出された
データについてのエラー訂正情報がHレベルであるかL
レベルであるかを判断する。Hレベルであるときは、再
書き込みによってはエラーが修復されなかったと判断さ
れてステップST517にすすむ。Lレベルであるとき
は、再書き込みによってエラーが修復されたと判断され
てステップST504にもどる。ここでは図8に示すよ
うにエラー訂正情報がLレベルであるのでステップST
504にもどる。そしてステップST505において最
終アドレスを越えたと判断されてステップST506に
すすみ、検査回路30による不揮発性半導体メモリ60
の診断が終了する。制御部31は、図4の時刻t2に示
すように、リセット信号RST2をLレベルからHレベ
ルに切り替え、診断結果「修復済み」をCPU40に通
知する。なお、ステップST503においてエラーが全
く検出されなかったときは診断結果「異常なし」をCP
U40に通知する。
【0075】以上のようにして検査回路30は不揮発性
半導体メモリ60を診断する。診断が終了すると検査回
路30の制御部31はリセット信号RST2をLレベル
からHレベルに切り替え、診断結果をCPU40に通知
する。CPU40に通知される診断結果には、 ・「異常なし」(ステップST503においてエラーが
全く検出されなかった場合) ・「修復済み」(ステップST503においてエラーが
検出されたけれども再書き込みによって修復することが
できた場合) ・「異常あり」(ステップST503において検出され
たエラーを修復することができなかった場合、ステップ
ST503においてエラーが検出された行のすべての読
み出し単位のデータにエラーが検出された場合) の3種類がある。
【0076】図4に示すように、リセット信号RST2
のLレベルからHレベルへの切り替わりに応答して検査
回路30は動作停止状態になりCPU40は動作状態に
なる。すなわちCPU40が起動する。CPU40は、
動作開始(起動)と同時に診断結果の内容を判断し、そ
の内容によって起動方法を変更する。たとえば診断結果
が「異常なし」または「修復済み」であるときは通常起
動する。一方、診断結果が「異常あり」であるときは起
動を停止し、システム異常のステータスをインターフェ
ース回路20およびアンテナコイル10を介して外部に
送信するなどの処理を行う。
【0077】<効果>以上のように、第1の実施形態に
よるICカードでは検査回路30を設けているため、不
揮発性半導体メモリ60が正常な状態であるか否かをI
Cカードが使用されるたびに判定することができる。こ
れにより、不揮発性半導体メモリ60が故障した状態の
ままでICカードが使用され続けるような状況を防ぐこ
とができる。この結果、正常な状態で長期間ICカード
が使用されることになる。
【0078】また、検査回路30による不揮発性半導体
メモリ60の診断においては、メモリセルアレイ61の
行X1−X16ごとに1つの読み出し単位のデータを読
み出し、エラーが検出されたデータに対応する行につい
てはすべての読み出し単位のデータを読み出す。これに
より、不揮発性半導体メモリ60の診断に要する時間を
短くすることができる。
【0079】診断プログラムがROMに格納されてお
り、CPUが起動した後に当該診断プログラムをROM
から読み出して不揮発性半導体メモリの診断を行うよう
なICカードの場合、CPUの動作を解析することによ
って不揮発性半導体メモリへのアクセス手順が解析され
る可能性がある。しかし第1の実施形態によるICカー
ドでは、CPU40が動作を停止している間に検査回路
30によって不揮発性半導体メモリ60の診断が行われ
る。したがって不揮発性半導体メモリ60へのアクセス
手順が解析されにくい。また、診断に要する時間が短い
ため、不揮発性半導体メモリ60の診断を行っていると
いうこと自体も解析されにくい。
【0080】また、検査回路30は不揮発性半導体メモ
リ60の診断結果をCPU40に通知する。これにより
CPU40は、不揮発性半導体メモリ60が故障してい
るということを起動直後に認識することができる。した
がって、異常が検知された場合にはCPU40が適切な
処理を行うことによってシステムのハングアップ等のト
ラブルを未然に防ぐことができる。
【0081】なお、ここでは非接触型のICカードにつ
いて説明したがこれを接触型のICカードとしてもよ
い。
【0082】<変形例1>上述の(b)のようなエラー
に対しては、メモリセルアレイ61の行X1−X16の
各々から1つの読み出し単位のデータを読み出すことに
よって十分な診断を行うことができる。しかし上述の
(a)のようなエラーの場合、当該エラーが存在する読
み出し単位以外の読み出し単位のデータが読み出される
ことがあるため十分な診断を行うことができない。
【0083】不揮発性半導体メモリ60のメモリセルの
特性不良にはプロセス的な要因が少なからず影響してい
ると考えられるため、メモリセルアレイ61の領域のう
ち特性不良の発生頻度が高い領域を統計的に予想できる
場合がある。このような場合にはステップST501に
おいて検査回路30の制御部31は、図9(a)に示す
ように、メモリセルアレイ61の列Y1−Y16のうち
不良発生頻度が高いと予想される領域にある列Y16を
選択する。これにより、上述の(a)のようなエラーに
対して効率的な診断を行うことができる。
【0084】<変形例2>偶発的な要因によって生じる
特性不良については、それがメモリセルアレイ61のど
の領域で発生するかを予測するのは困難である。そこで
ステップST501およびST504において、図9
(b)に示すように、行X1−X16ごとに異なる列Y
1−Y16に対応する読み出し単位を指定するアドレス
(0,44,88,・・・,3B8,3FC)が出力さ
れるように検査回路30のアドレス発生部33を制御す
る。これにより、行X1−X16の各々から読み出され
る読み出し単位がメモリセルアレイ61の特定の領域に
偏らないようにすることができる。この結果、上述の
(a)のようなエラーに対して効率的な診断を行うこと
ができる。
【0085】<変形例3>診断動作のたびにステップS
T501において異なる列Y1−Y16が検査回路30
の制御部31によって選択されるようにしてもよい。た
とえば図9(c)に示すように、1回目の診断動作の際
は列Y1、2回目の診断動作の際は列Y2、・・・、1
6回目の診断動作の際は列Y16がステップST501
において選択されるようにする。これにより、特性不良
のメモリセルがランダムに存在したとしても、診断動作
を一定の回数(ここでは16回)行う間にすべての特性
不良を検知することができる。
【0086】(第2の実施形態) <ICカードの構成>図10は、この発明の第2の実施
形態によるICカードの構成を示すブロック図である。
図10に示すICカードは非接触型のICカードであっ
て、アンテナコイル10と、LSIチップ100とを備
える。LSIチップ100は、インターフェース回路2
0と、CPU40と、不揮発性半導体メモリ60と、キ
ャッシュメモリ110と、アクセス制御部120とを含
む。
【0087】このICカードでは不揮発性半導体メモリ
60のメモリセルアレイ61内にアドレス記憶部が設け
られている。ここでは図11に示すように、メモリセル
アレイ61の行X16に対応する領域をアドレス記憶部
としている。不揮発性半導体メモリ60への書き込みア
クセス頻度の高いアドレスがあらかじめ想定できる場合
(たとえばICカードに搭載されるプログラムがあらか
じめ分かっている場合など)には、不揮発性半導体メモ
リ60の検査工程においてメモリテスタ等によって当該
アドレスがアドレス記憶部に書き込まれる。ここでは図
11に示すようにアドレス00,80,2C0がアドレ
ス記憶部に記憶されている。アドレス00,80,2C
0はメモリセルアレイ61の行X1,X3,X12を示
すアドレスである。このようにアドレス記憶部には不揮
発性半導体メモリ60への書き込みアクセス頻度の高い
アドレスがあらかじめ記憶されている。
【0088】アクセス制御部120は、不揮発性半導体
メモリ60への書き込みアドレスとアドレス記憶部に記
憶されたアドレスのいずれか1つとが一致するとき、当
該書き込みアドレスに対応する書き込みデータをキャッ
シュメモリ110に書き込む。
【0089】<ICカードの動作>次に、以上のように
構成されたICカードの動作について図12を参照しつ
つ説明する。
【0090】[ステップST1201]リーダライタに
ICカードが近づけられ、リーダライタからICカード
に供給される電力が所定のレベルに達すると、インター
フェース回路20はリセット信号RST1をLレベルか
らHレベルに切り替える。
【0091】[ステップST1202]リセット信号R
ST1がLレベルからHレベルに切り替わるとアクセス
制御部120は、不揮発性半導体メモリ60のメモリセ
ルアレイ61内のアドレス記憶部に記憶されたアドレス
00,80,2C0を読み出しこれをキャッシュメモリ
110に書き込む。図13(a)に示すように、キャッ
シュメモリ110内部にはスロット番号ごとにアドレス
記憶領域およびデータ記憶領域が設けられており、アド
レス00,80,2C0はスロット番号1,2,3のア
ドレス記憶領域に記憶される。このようにキャッシュメ
モリ110内部ではスロット番号1−3に対応づけてア
ドレス00,80,2C0が記憶される。
【0092】[ステップST1203]次にアクセス制
御部120は、キャッシュメモリ110に書き込まれた
アドレス00,80,2C0に対応するデータすなわち
メモリセルアレイ61の行X1,X3,X12に対応す
るデータを不揮発性半導体メモリ60から読み出しキャ
ッシュメモリ110に書き込む。図13(b)に示すよ
うに、アドレス00,80,2C0に対応するデータす
なわちメモリセルアレイ61の行X1,X3,X12に
対応するデータD(0)−D(3C),D(80)−D
(BC),D(2C0)−D(2FC)はスロット番号
1,2,3のデータ記憶領域に記憶される。このように
キャッシュメモリ110内部では、アドレス00,8
0,2C0に対応するデータD(0)−D(3C),D
(80)−D(BC),D(2C0)−D(2FC)は
スロット番号1,2,3に対応づけて記憶される。
【0093】[ステップST1204]次にアクセス制
御部120は、CPU40に与えるリセット信号RST
2をLレベルからHレベルに切り替える。リセット信号
RST2のLレベルからHレベルへの切り替わりに応答
してCPU40が起動し、ICカードに搭載されたアプ
リケーションプログラムが実行される。
【0094】[ステップST1205]アクセス制御部
120は、CPU40からのシステム終了信号の有無を
判断する。システム終了信号は、アプリケーションプロ
グラムの一連の処理が終了するとCPU40からアクセ
ス制御部120に与えられる制御信号である。CPU4
0からアクセス制御部120にシステム終了信号が与え
られるとステップST1211にすすむ。そうでないと
きはステップST1206にすすむ。
【0095】[ステップST1206]アクセス制御部
120は、CPU40から不揮発性半導体メモリ60へ
の書き込みアクセスの有無を判断する。書き込みアクセ
スがあるとステップST1207にすすむ。そうでない
ときはステップST1205にもどる。
【0096】[ステップST1207]不揮発性半導体
メモリ60への書き込みを指示する制御信号・書き込み
アドレス・書き込みデータがCPU40からアクセス制
御部120に与えられるとアクセス制御部120は、C
PU40からの書き込みアドレスとキャッシュメモリ1
10に記憶されているアドレスとを比較する。アクセス
制御部120は、CPU40からの書き込みアドレスと
キャッシュメモリ110に記憶されているアドレスとを
下位4ビットを無視して比較する。たとえばメモリセル
アレイ61のアドレス84(行X3および列Y2)に3
2ビットのデータD(84w)を書き込むように指示す
る書き込みアクセスがあった場合には、図14に示すよ
うにアクセス制御部120は書き込みアドレス84の下
位4ビットを無視した値8とキャッシュメモリ110に
記憶されたアドレス00,80,2C0の下位4ビット
を無視した値0,8,2Cとを比較する。
【0097】[ステップST1208]ステップST1
207における比較の結果、CPU40からの書き込み
アドレスとキャッシュメモリ110に記憶されているア
ドレスのいずれか1つとが一致するときはステップST
1209にすすむ。CPU40からの書き込みアドレス
がキャッシュメモリ110に記憶されているアドレスの
いずれとも一致しないときはステップST1210にす
すむ。たとえばメモリセルアレイ61のアドレス84
(行X3および列Y2)にデータD(84w)を書き込
むように指示する書き込みアクセスがあった場合には、
書き込みアドレス84の下位4ビットを無視した値8と
キャッシュメモリ110に記憶されたアドレス80の下
位4ビットを無視した値8とが一致するためステップS
T1209にすすむ。
【0098】[ステップST1209]CPU40から
の書き込みアドレスとキャッシュメモリ110に記憶さ
れているアドレスのいずれか1つとが一致するとき、ア
クセス制御部120は書き込みデータをキャッシュメモ
リ110に書き込む。アクセス制御部120は、キャッ
シュメモリ110に記憶されているデータのうち当該書
き込みアドレスに対応するデータに当該書き込みデータ
を上書きする。たとえばメモリセルアレイ61のアドレ
ス84(行X3および列Y2)にデータD(84w)を
書き込むように指示する書き込みアクセスがあった場合
には、図13(c)に示すように、キャッシュメモリ1
10に記憶されているデータのうち書き込みアドレス8
4に対応するデータすなわち行X3および列Y2に対応
するデータD(84)に書き込みデータD(84w)が
上書きされる。キャッシュメモリ110への書き込みが
終了するとステップST1205にもどる。
【0099】[ステップST1210]CPU40から
の書き込みアドレスがキャッシュメモリ110に記憶さ
れているアドレスのいずれとも一致しないとき、アクセ
ス制御部120は書き込みデータを不揮発性半導体メモ
リ60に書き込む。そしてステップST1205にもど
る。
【0100】[ステップST1211]アプリケーショ
ンプログラムの一連の処理が終了するとCPU40から
アクセス制御部120にシステム終了信号が与えられる
(ST1205)。システム終了信号を受けるとアクセ
ス制御部120は、キャッシュメモリ110に記憶され
ているデータをすべて読み出し、メモリセルアレイ61
の対応するアドレスに書き込む。
【0101】<効果>通常、不揮発性半導体メモリには
書き込み回数に上限がある。書き込み回数がこの上限に
近づくと書き込みエラーなどの故障が生じる可能性が高
くなる。第2の実施形態によるICカードでは、不揮発
性半導体メモリ60のメモリセルアレイ61内にアドレ
ス記憶部を設け、書き込みアクセス頻度の高いアドレス
をあらかじめアドレス記憶部に記憶する。そして不揮発
性半導体メモリ60への書き込みアドレスとアドレス記
憶部に記憶されたアドレスのうちいずれか1つとが一致
するときは当該書き込みアドレスに対応する書き込みデ
ータをキャッシュメモリ110に書き込む。これによ
り、不揮発性半導体メモリ60への書き込み回数を少な
くすることができる。この結果、不揮発性半導体メモリ
60が正常な状態で長期間使用されることになる。
【0102】また一般に、キャッシュにヒットしやすい
アドレス(たとえば最近にアクセスがあったアドレスや
何回もアクセスがあったアドレスなど)をプログラム実
行中に精度よく抽出する(アドレス置換メカニズム)た
めにはキャッシュメモリの資源を大量に必要とする。第
2の実施形態によるICカードではアドレス記憶部を設
け、キャッシュにヒットしやすいアドレスをあらかじめ
アドレス記憶部に記憶させている。したがって、アドレ
ス記憶部を設けない場合に比べて少ない資源で不揮発性
半導体メモリ60への書き込み回数を少なくすることが
できる。
【0103】また、不揮発性半導体メモリのメモリセル
アレイの行ごとに書き込み回数を管理する技術に比べて
管理に必要な容量を少なくすることができる。たとえば
容量32Kバイトの不揮発性半導体メモリ(512ビッ
ト/1ワード線×512本)の場合、各行について約6
万回までの書き込み回数を管理するためには1ワード線
ごとに16ビット、すなわち32Kバイトの不揮発性半
導体メモリのうち1Kバイトを書き込み回数を管理する
ために消費することになる。一方、ワード線512本分
を示すためには9ビットのアドレスが必要であり、10
個のアドレスを記憶したとしてもアドレス記憶部に必要
な容量は90ビットにすぎない。
【0104】<変形例>なお、ここでは不揮発性半導体
メモリ60のメモリセルアレイ61内にアドレス記憶部
を設けた。これに代えて、LSIチップ100の製造工
程においてROM(図示せず)の内部に直接アドレスを
記憶させたり、キャッシュメモリ110の内部にアドレ
ス記憶部を回路的に作りこんだりしてもよい。
【0105】また、ここではキャッシュメモリ110に
記憶されたデータを不揮発性半導体メモリ60へ書き込
むタイミングを、アプリケーションプログラムの一連の
処理が終了した後とした。これに代えて、不揮発性半導
体メモリ60への書き込みアクセスが所定の回数(たと
えば10回)行われるごとにしてもよい。
【0106】また、ここでは非接触型のICカードにつ
いて説明したがこれを接触型のICカードとしてもよ
い。
【0107】(第3の実施形態) <ICカードの構成および動作>不揮発性半導体メモリ
を内蔵したICカードには、所望のアプリケーションを
不揮発性半導体メモリにダウンロードできるものや複数
のアプリケーションを不揮発性半導体メモリに搭載でき
るものがある。このようなICカードでは、利用する人
・利用するアプリケーションによって不揮発性半導体メ
モリへの書き込みアクセスの状況が異なる。第3の実施
形態によるICカードは、図10に示したICカードに
おいてアドレス記憶部に記憶されるアドレスを不揮発性
半導体メモリ60への書き込みアクセスの状況に応じて
動的に変えるようにした点を特徴とする。以下、第3の
実施形態によるICカードの動作について図15を参照
しつつ説明する。ここでは、図12に示したフローチャ
ートと異なるステップST1509−ST1513につ
いて説明する。
【0108】[ステップST1509]CPU40から
の書き込みアドレスとキャッシュメモリ110に記憶さ
れているアドレスのいずれか1つとが一致するとき、ア
クセス制御部120は書き込みデータをキャッシュメモ
リ110に書き込む。具体的には、キャッシュメモリ1
10に記憶されているデータのうち当該書き込みアドレ
スに対応するデータに当該書き込みデータが上書きされ
る。たとえばアドレス00,80,2C0に対応するデ
ータD(0)−D(3C),D(80)−D(BC),
D(2C0)−D(2FC)がスロット番号1,2,3
に対応づけて記憶されている場合においてメモリセルア
レイ61のアドレス84(行X3および列Y2)にデー
タD(84w)を書き込むように指示する書き込みアク
セスがあったときには、図16(a)に示すように、キ
ャッシュメモリ110に記憶されているデータのうち書
き込みアドレス84に対応するデータすなわち行X3お
よび列Y2に対応するデータD(84)に書き込みデー
タD(84w)が上書きされる。
【0109】次にアクセス制御部120は、キャッシュ
メモリ110内のスロット番号を付け替える。具体的に
は、書き込みデータが書き込まれたスロットのスロット
番号を1とし、残りのスロットについてはスロット番号
の小さい順に2,3,・・・に付け替える。たとえば図
16(a)に示したような書き込みが行われた場合に
は、図16(b)に示すように、アドレス80およびデ
ータD(80)−D(BC)に対応するスロット番号を
1、アドレス00およびデータD(0)−D(3C)に
対応するスロット番号を2、アドレス2C0およびデー
タD(2C0)−D(2FC)に対応するスロット番号
を3に付け替える。このようにスロット番号を付け替え
ることにより、最近に書き込みアクセスがあったアドレ
スほど小さいスロット番号が対応づけられることにな
る。スロット番号の付け替えが終了するとステップST
1205にもどる。
【0110】[ステップST1510]CPU40から
の書き込みアドレスがキャッシュメモリ110に記憶さ
れているアドレスのいずれとも一致しないとき、アクセ
ス制御部120は、キャッシュメモリ110内に空スロ
ットが有るか否かを判断する。ここで空スロットとは、
アドレスおよびデータが対応づけられていないスロット
番号のことをいう。キャッシュメモリ110内に空スロ
ットがあるときはステップST1511にすすみ、空ス
ロットがないときはステップST1512にすすむ。た
とえば図17(a)に示すように、アドレス00,80
に対応するデータD(0)−D(3C),D(80)−
D(BC)がスロット番号1,2に対応づけて記憶され
ておりかつスロット番号3が空スロットである場合にお
いて、メモリセルアレイ61のアドレス44(行X2お
よび列Y2)にデータD(44w)を書き込むように指
示する書き込みアクセスがあったときには、アクセス制
御部120はキャッシュメモリ110内に空スロットが
有ると判断しステップST1511にすすむ。
【0111】[ステップST1511]キャッシュメモ
リ110内に空スロットがあるとき、アクセス制御部1
20は、書き込みアドレスに対応する行のすべてのデー
タ(512ビット=32ビット×16データ)を不揮発
性半導体メモリ60から読み出し、空スロットのデータ
記憶領域に書き込む。またアクセス制御部120は、書
き込みアドレスに対応する行を示すアドレスを空スロッ
トのアドレス記憶領域に書き込む。たとえば図17
(a)に示した状況においてメモリセルアレイ61のア
ドレス44(行X2および列Y2)にデータD(44
w)を書き込むように指示する書き込みアクセスがあっ
たときには、図17(b)に示すように、書き込みアド
レス44に対応する行X2のすべてのデータD(40)
−D(7C)が不揮発性半導体メモリ60から読み出さ
れ、スロット番号3(空スロット)のデータ記憶領域に
書き込まれる。また、書き込みアドレス44に対応する
行X2を示すアドレス40がスロット番号3(空スロッ
ト)のアドレス記憶領域に書き込まれる。
【0112】次に、アクセス制御部120は書き込みデ
ータをキャッシュメモリ110に書き込む。具体的に
は、空スロットに書き込んだデータのうち書き込みアド
レスに対応するデータに書き込みデータを上書きする。
たとえば図17(b)に示した状況においては、図17
(c)に示すようにスロット番号3のデータ記憶領域に
書き込まれたデータD(40)−D(7C)のうち書き
込みアドレス44に対応するデータすなわち行X2およ
び列Y2に対応するデータD(44)に書き込みデータ
D(44w)が上書きされる。
【0113】次にアクセス制御部120は、キャッシュ
メモリ110内のスロット番号を付け替える。上述と同
様に、最近に書き込みアクセスがあったアドレスほど小
さいスロット番号が対応づけられるようにスロット番号
を付け替える。たとえば図17(c)に示したような書
き込みが行われた場合には、図17(d)に示すよう
に、アドレス40およびデータD(40)−D(7C)
に対応するスロット番号を1、アドレス00およびデー
タD(0)−D(3C)に対応するスロット番号を2、
アドレス80およびデータD(80)−D(BC)に対
応するスロット番号を3に付け替える。スロット番号の
付け替えが終了するとステップST1205にもどる。
【0114】[ステップST1512]キャッシュメモ
リ110内に空スロットがないとき、アクセス制御部1
20は、キャッシュメモリ110内の最も大きいスロッ
ト番号のデータ記憶領域に記憶されているすべてのデー
タを読み出し、不揮発性半導体メモリ60の対応する行
に書き込む。たとえば図18(a)に示すようにアドレ
ス00,80,2C0に対応するデータD(0)−D
(3C),D(80)−D(BC),D(2C0)−D
(2FC)がスロット番号1,2,3に対応づけて記憶
されている場合においてメモリセルアレイ61のアドレ
ス44(行X2および列Y2)にデータD(44w)を
書き込むように指示する書き込みアクセスがあったとき
を考える。このときアクセス制御部120は、最も大き
いスロット番号3のデータ記憶領域に記憶されているデ
ータD(2C0)−D(2FC)を読み出し、不揮発性
半導体メモリ60の対応する行X12に書き込む。
【0115】次にアクセス制御部120は、書き込みア
ドレスに対応する行のすべてのデータ(512ビット=
32ビット×16データ)を不揮発性半導体メモリ60
から読み出し、最も大きいスロット番号のデータ記憶領
域に書き込む。またアクセス制御部120は、書き込み
アドレスに対応する行を示すアドレスを最も大きいスロ
ット番号のアドレス記憶領域に書き込む。たとえば図1
8(a)に示した状況においては、図18(b)に示す
ように書き込みアドレス44に対応する行X2のすべて
のデータD(40)−D(7C)が不揮発性半導体メモ
リ60から読み出され、スロット番号3(最も大きいス
ロット番号)のデータ記憶領域に書き込まれる。また、
書き込みアドレス44に対応する行X2を示すアドレス
40がスロット番号3(最も大きいスロット番号)のア
ドレス記憶領域に書き込まれる。
【0116】次に、アクセス制御部120は書き込みデ
ータをキャッシュメモリ110に書き込む。具体的に
は、最も大きいスロット番号のデータ記憶領域に書き込
んだデータのうち書き込みアドレスに対応するデータに
書き込みデータを上書きする。たとえば図18(b)に
示した状況においては、図18(c)に示すようにスロ
ット番号3のデータ記憶領域に書き込まれたデータD
(40)−D(7C)のうち書き込みアドレス44に対
応するデータすなわち行X2および列Y2に対応するデ
ータD(44)に書き込みデータD(44w)が上書き
される。
【0117】次にアクセス制御部120は、キャッシュ
メモリ110内のスロット番号を付け替える。上述と同
様に、最近に書き込みアクセスがあったアドレスほど小
さいスロット番号が対応づけられるようにスロット番号
を付け替える。たとえば図18(c)に示したような書
き込みが行われた場合には、図18(d)に示すよう
に、アドレス40およびデータD(40)−D(7C)
に対応するスロット番号を1、アドレス00およびデー
タD(0)−D(3C)に対応するスロット番号を2、
アドレス80およびデータD(80)−D(BC)に対
応するスロット番号を3に付け替える。スロット番号の
付け替えが終了するとステップST1205にもどる。
【0118】[ステップST1513]アプリケーショ
ンプログラムの一連の処理が終了するとCPU40から
アクセス制御部120にシステム終了信号が与えられる
(ST1205)。システム終了信号を受けるとアクセ
ス制御部120は、キャッシュメモリ110に記憶され
ているデータをすべて読み出し、メモリセルアレイ61
の対応するアドレスに書き込む(ST1211)。また
アクセス制御部120は、キャッシュメモリ110に記
憶されているアドレスをすべて読み出し、不揮発性半導
体メモリ60のアドレス記憶部に書き込む(書き替え
る)。これにより、最近に書き込みアクセスがあったア
ドレスにアドレス記憶部の内容が更新される。すなわ
ち、最近に書き込みアクセスがあったアドレスが常にア
ドレス記憶部に記憶される。更新後のアドレス記憶部の
アドレスは次回の処理において利用される。
【0119】<効果>以上のように第3の実施形態によ
るICカードによれば、アドレス記憶部に記憶されるア
ドレス(キャッシュにヒットしやすいアドレス)を動的
に変えることができる。したがって、利用する人・利用
するアプリケーションによって不揮発性半導体メモリ6
0への書き込みアクセスの状況が異なる場合にも不揮発
性半導体メモリ60への書き込み回数を少なくすること
ができる。
【0120】また、キャッシュメモリ110のアドレス
置換メカニズムによって抽出されたアドレスをアドレス
記憶部に記憶させ次回の処理に利用するため、ICカー
ドのような小さな資源の場合であっても、よくヒットす
るアドレスを精度よく抽出することができる。
【0121】なお、ここでは最近に書き込みアクセスが
あったアドレスがアドレス記憶部に動的に記憶される場
合について説明した。これに代えて書き込みアクセス頻
度が高いアドレスがアドレス記憶部に動的に記憶される
ようにしてもよい。
【0122】また、アドレス記憶部は不揮発性半導体メ
モリ60に内蔵されているため、アドレスの書き換えが
頻繁に起こると不揮発性半導体メモリ60の信頼性が低
下する可能性がある。したがって、書き込みアクセス頻
度の高いアドレスが比較的決まっているシステムで使用
されることが望ましい。
【0123】(第4の実施形態) <ICカードの構成>この発明の第4の実施形態による
ICカードの全体構成は図10に示したICカードと同
様である。しかし第4の実施形態によるICカードで
は、図19(a)に示すように、不揮発性半導体メモリ
60のメモリセルアレイ61内のアドレス記憶部は固定
アドレス記憶領域と動的アドレス記憶領域とを含む。こ
こではメモリセルアレイ61の行X15に対応する領域
を固定アドレス記憶領域、行X16に対応する領域を動
的アドレス記憶領域としている。
【0124】ICカードに搭載される各アプリケーショ
ンプログラムには、すべてのアプリケーションにおいて
共通するプログラムの部分とアプリケーションごとに異
なるプログラムの部分とが存在する。すべてのアプリケ
ーションにおいて共通するプログラムの部分について
は、不揮発性半導体メモリ60への書き込みアクセス頻
度の高いアドレスをあらかじめ想定することができる。
このようなアドレスは、アドレス記憶部の固定アドレス
記憶領域にあらかじめ書き込まれる。一方、アプリケー
ションごとに異なるプログラムの部分については、利用
する人・利用するアプリケーションによって不揮発性半
導体メモリ60への書き込みアクセスの状況が異なる。
このような部分については、アドレス記憶部の動的アド
レス記憶領域に記憶されるアドレス(キャッシュにヒッ
トしやすいアドレス)を不揮発性半導体メモリ60への
書き込みアクセスの状況に応じて動的に変える。
【0125】また、第4の実施形態によるICカードで
は、図19(b)に示すように、キャッシュメモリ11
0内部に固定アドレス領域と動的アドレス領域とが設け
られている。ここではスロット番号1−3のアドレス記
憶領域およびデータ記憶領域を固定アドレス領域、スロ
ット番号4−5のアドレス記憶領域およびデータ記憶領
域を動的アドレス領域としている。
【0126】<ICカードの動作>次に、第4の実施形
態によるICカードの動作について図20を参照しつつ
説明する。ここでは、図12に示したフローチャートと
異なるステップST2002,ST2009−ST20
15について説明する。
【0127】[ステップST2002]アクセス制御部
120は、不揮発性半導体メモリ60のアドレス記憶部
の固定アドレス記憶領域に記憶されたアドレスを読み出
しこれをキャッシュメモリ110の固定アドレス領域に
書き込み、アドレス記憶部の動的アドレス記憶領域に記
憶されたアドレスを読み出しこれをキャッシュメモリ1
10の動的アドレス領域に書き込む。
【0128】[ステップST2009]CPU40から
の書き込みアドレスとキャッシュメモリ110に記憶さ
れているアドレスのいずれか1つとが一致するとき、ア
クセス制御部120は当該アドレスがキャッシュメモリ
110の固定アドレス領域に記憶されているアドレスか
否かを判断する。固定アドレス領域に記憶されているア
ドレスであるときはステップST2010にすすみ、そ
うでないとき、すなわちキャッシュメモリ110の動的
アドレス領域に記憶されているアドレスであるときはス
テップST2011にすすむ。
【0129】[ステップST2010]アクセス制御部
120は書き込みデータをキャッシュメモリ110の固
定アドレス領域に書き込む。具体的には、キャッシュメ
モリ110の固定アドレス領域に記憶されているデータ
のうち当該書き込みアドレスに対応するデータに当該書
き込みデータを上書きする。書き込みが終了するとステ
ップST1205にもどる。
【0130】[ステップST2011]アクセス制御部
120は書き込みデータをキャッシュメモリ110の動
的アドレス領域に書き込む。具体的には、キャッシュメ
モリ110の動的アドレス領域に記憶されているデータ
のうち当該書き込みアドレスに対応するデータに当該書
き込みデータが上書きされる。
【0131】次にアクセス制御部120は、キャッシュ
メモリ110の動的アドレス領域内のスロット番号を付
け替える。具体的には、書き込みデータが書き込まれた
スロットのスロット番号を動的アドレス領域内で最も小
さいスロット番号に付け替え、残りのスロットについて
はスロット番号の小さい順に、動的アドレス領域内で2
番目に小さいスロット番号,3番目に小さいスロット番
号,・・・に付け替える。このようにスロット番号を付
け替えることにより動的アドレス領域内では、最近に書
き込みアクセスがあったアドレスほど小さいスロット番
号が対応づけられることになる。スロット番号の付け替
えが終了するとステップST1205にもどる。
【0132】[ステップST2012]CPU40から
の書き込みアドレスがキャッシュメモリ110に記憶さ
れているアドレスのいずれとも一致しないとき、アクセ
ス制御部120はキャッシュメモリ110の動的アドレ
ス領域に空スロットが有るか否かを判断する。キャッシ
ュメモリ110の動的アドレス領域に空スロットがある
ときはステップST2013にすすみ、空スロットがな
いときはステップST2014にすすむ。
【0133】[ステップST2013]キャッシュメモ
リ110の動的アドレス領域に空スロットがあるとき、
アクセス制御部120は、書き込みアドレスに対応する
行のすべてのデータ(512ビット=32ビット×16
データ)を不揮発性半導体メモリ60から読み出し、空
スロットのデータ記憶領域に書き込む。またアクセス制
御部120は、書き込みアドレスに対応する行を示すア
ドレスを空スロットのアドレス記憶領域に書き込む。
【0134】次に、アクセス制御部120は書き込みデ
ータをキャッシュメモリ110に書き込む。具体的に
は、空スロットに書き込んだデータのうち書き込みアド
レスに対応するデータに書き込みデータを上書きする。
【0135】次にアクセス制御部120は、キャッシュ
メモリ110の動的アドレス領域内のスロット番号を付
け替える。上述と同様に、最近に書き込みアクセスがあ
ったアドレスほど小さいスロット番号が対応づけられる
ようにスロット番号を付け替える。スロット番号の付け
替えが終了するとステップST1205にもどる。
【0136】[ステップST2014]キャッシュメモ
リ110の動的アドレス領域に空スロットがないとき、
アクセス制御部120は、キャッシュメモリ110の動
的アドレス領域内の最も大きいスロット番号のデータ記
憶領域に記憶されているすべてのデータを読み出し、不
揮発性半導体メモリ60の対応する行に書き込む。
【0137】次にアクセス制御部120は、書き込みア
ドレスに対応する行のすべてのデータ(512ビット=
32ビット×16データ)を不揮発性半導体メモリ60
から読み出し、キャッシュメモリ110の動的アドレス
領域内の最も大きいスロット番号のデータ記憶領域に書
き込む。またアクセス制御部120は、書き込みアドレ
スに対応する行を示すアドレスを、キャッシュメモリ1
10の動的アドレス領域内の最も大きいスロット番号の
アドレス記憶領域に書き込む。
【0138】次に、アクセス制御部120は書き込みデ
ータをキャッシュメモリ110に書き込む。具体的に
は、動的アドレス領域内の最も大きいスロット番号のデ
ータ記憶領域に書き込んだデータのうち書き込みアドレ
スに対応するデータに書き込みデータを上書きする。
【0139】次にアクセス制御部120は、キャッシュ
メモリ110の動的アドレス領域内のスロット番号を付
け替える。上述と同様に、最近に書き込みアクセスがあ
ったアドレスほど小さいスロット番号が対応づけられる
ようにスロット番号を付け替える。スロット番号の付け
替えが終了するとステップST1205にもどる。
【0140】[ステップST2015]アプリケーショ
ンプログラムの一連の処理が終了するとCPU40から
アクセス制御部120にシステム終了信号が与えられる
(ST1205)。システム終了信号を受けるとアクセ
ス制御部120は、キャッシュメモリ110に記憶され
ているデータをすべて読み出し、メモリセルアレイ61
の対応するアドレスに書き込む(ST1211)。また
アクセス制御部120は、キャッシュメモリ110の動
的アドレス領域に記憶されているアドレスをすべて読み
出し、不揮発性半導体メモリ60のアドレス記憶部の動
的アドレス記憶領域に書き込む(書き替える)。これに
より、アドレス記憶部の動的アドレス記憶領域の内容が
最近に書き込みアクセスがあったアドレスに更新され
る。すなわち、最近に書き込みアクセスがあったアドレ
スが常にアドレス記憶部の動的アドレス記憶領域に記憶
される。更新後の動的アドレス記憶領域のアドレスは次
回の処理において利用される。
【0141】<処理の流れの例>図21に示す太線のル
ートを通った場合の処理の流れを図22−図24に示
す。なお、図21に示すフローチャートは図20に示し
たフローチャートと同じである。ここではあらかじめア
ドレス記憶部の固定アドレス記憶領域にアドレス00,
80,2C0が記憶され、動的アドレス記憶領域に10
0,40が記憶されているものとする。
【0142】(ST2002) アドレス記憶部に記憶されているアドレスが読み出さ
れ、キャッシュメモリ110に書き込まれる。このと
き、固定アドレス記憶領域に記憶されているアドレス0
0,80,2C0はキャッシュメモリ110の固定アド
レス領域に書き込まれ、動的アドレス記憶領域に記憶さ
れているアドレス100,40はキャッシュメモリ11
0の動的アドレス領域に書き込まれる。
【0143】(ST1203) キャッシュメモリ110に書き込まれたアドレス00,
80,2C0,100,40に対応する行のデータが不
揮発性半導体メモリ60から読み出され、キャッシュメ
モリ110に書き込まれる。
【0144】(ST1207) 「アドレス44にデータ12345678を書け!」と
いう書き込みアクセスが発生する。アクセス制御部12
0は、書き込みアドレス44とキャッシュメモリ110
に記憶されているアドレスとを比較する。ここでは下位
4ビットを無視して比較する。したがってキャッシュメ
モリ110の動的アドレス領域に記憶されているアドレ
ス40と書き込みアドレス44とが一致する。
【0145】(ST2011) 書き込みデータ12345678がキャッシュメモリ1
10に書き込まれる。
【0146】(ST2011) 動的アドレス領域のスロット番号が付け替えられる。デ
ータが書き込まれたスロットのスロット番号が4(動的
アドレス領域内でもっとも小さいスロット番号)に、ア
ドレス100に対応するスロットのスロット番号が5に
付け替えられる。
【0147】(ST1211) キャッシュメモリ110に記憶されているデータが読み
出され、不揮発性半導体メモリ60に書き込まれる。
【0148】(ST2015) キャッシュメモリ110に記憶されているアドレスがア
ドレス記憶部に書き込まれる。固定アドレス領域に記憶
されているアドレス00,80,2C0はアドレス記憶
部の固定アドレス記憶領域に書き込まれ、動的アドレス
領域に記憶されているアドレス40,100はアドレス
記憶部の動的アドレス記憶領域に記憶される。
【図面の簡単な説明】
【図1】 この発明の第1の実施形態によるICカード
の構成を示すブロック図である。
【図2】 図1に示した不揮発性半導体メモリの内部構
成を示すブロック図である。
【図3】 図2に示したエラー訂正回路によるエラー検
出およびエラー訂正処理を説明するための図である。
【図4】 図1に示したICカードの動作を説明するた
めのタイミングチャートである。
【図5】 不揮発性半導体メモリの診断手順を示すフロ
ーチャートである。
【図6】 (a)は、不揮発性メモリの診断におけるデ
ータの読み出し順序を示す図である。(b)は、不揮発
性メモリの診断動作を説明するためのタイミングチャー
トである。
【図7】 検査回路のデータ処理部に記憶されるアドレ
ス・データ・エラー訂正情報の一例を示す図である。
【図8】 修復動作を説明するためのタイミングチャー
トである。
【図9】 (a)−(c)は、この発明の第1の実施形
態の変形例におけるデータの読み出し順序を示す図であ
る。
【図10】 この発明の第2の実施形態によるICカー
ドの構成を示すブロック図である。
【図11】 図10に示した不揮発性半導体メモリのメ
モリセルアレイを示す図である。
【図12】 図10に示したICカードの動作を説明す
るためのフローチャートである。
【図13】 (a)−(c)は、キャッシュメモリに記
憶されるアドレスおよびデータの対応関係を示す図であ
る。
【図14】 書き込みアドレスとキャッシュメモリに記
憶されたアドレスとの比較の一例を示す図である。
【図15】 この発明の第3の実施形態によるICカー
ドの動作を説明するためのフローチャートである。
【図16】 (a)−(b)は、キャッシュメモリに記
憶されるアドレスおよびデータの対応関係を示す図であ
る。
【図17】 (a)−(d)は、キャッシュメモリに記
憶されるアドレスおよびデータの対応関係を示す図であ
る。
【図18】 (a)−(d)は、キャッシュメモリに記
憶されるアドレスおよびデータの対応関係を示す図であ
る。
【図19】 (a)は、アドレス記憶部の固定アドレス
記憶領域および動的アドレス記憶領域を示す図である。
(b)は、キャッシュメモリ内の固定アドレス領域およ
び動的アドレス領域を示す図である。
【図20】 この発明の第4の実施形態によるICカー
ドの動作を説明するためのフローチャートである。
【図21】 処理の流れの一例を説明するための図であ
る。
【図22】 処理の流れの一例を説明するための図であ
る。
【図23】 処理の流れの一例を説明するための図であ
る。
【図24】 処理の流れの一例を説明するための図であ
る。
【符号の説明】
1,100 LSIチップ(半導体集積回路装置)、3
0検査回路、40 CPU、60 不揮発性半導体メモ
リ、110 キャッシュメモリ、120 アクセス制御
部。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G11C 16/06 G06K 19/00 J 17/00 G01R 31/28 B (72)発明者 水嶋 美紀 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 Fターム(参考) 2G132 AA00 AA09 AA18 AB01 AC03 AD06 AE23 AG04 AH02 AH03 AH05 AH07 AK13 5B003 AB05 AC07 AD02 AD03 AD04 AE01 AE04 5B025 AD00 AD01 AD04 AD05 AD13 AD16 AE08 AE09 5B035 AA11 BB09 CA11 CA32 5L106 AA10 AA16 BB12 DD21 EE02 FF04 FF05

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 不揮発性半導体メモリと、 前記不揮発性半導体メモリを診断する検査回路とを備
    え、 前記不揮発性半導体メモリは、 行および列に複数の読み出し単位に分割されたメモリセ
    ルアレイと、 前記複数の読み出し単位の各々に書き込むべきデータの
    エラー訂正符号化を行い、前記複数の読み出し単位の各
    々から読み出されたデータのエラー検出およびエラー訂
    正を行うエラー訂正回路とを含み、 前記検査回路は、 前記メモリセルアレイの各行から一の読み出し単位のデ
    ータを読み出すように指示する第1の指示を前記不揮発
    性半導体メモリに与え、 前記第1の指示に従って読み出されたデータのエラーが
    前記エラー訂正回路によって検出されると、当該エラー
    が検出されたデータに対応する行のすべての読み出し単
    位のデータを読み出すように指示する第2の指示を前記
    不揮発性半導体メモリに与えることを特徴とする半導体
    集積回路装置。
  2. 【請求項2】 請求項1に記載の半導体集積回路装置に
    おいて、 前記検査回路は、 前記第2の指示に従って読み出されたデータのうち前記
    エラー訂正回路によってエラーが検出されなかったデー
    タがあるとき、前記第2の指示に従って読み出されたデ
    ータのうち前記エラー訂正回路によってエラーが検出さ
    れたデータを再書き込みするように指示する第3の指示
    を前記不揮発性半導体メモリに与えることを特徴とする
    半導体集積回路装置。
  3. 【請求項3】 請求項1に記載の半導体集積回路装置に
    おいて、 前記検査回路は、 前記第2の指示に従って読み出されたデータのすべてに
    おいて前記エラー訂正回路によってエラーが検出された
    とき、異常を示す信号を出力することを特徴とする半導
    体集積回路装置。
  4. 【請求項4】 請求項1に記載の半導体集積回路装置に
    おいて、 前記検査回路は、 前記メモリセルアレイの領域のうち不良発生頻度が高い
    と予想される領域の読み出し単位のデータを読み出すよ
    うに前記第1の指示を与えることを特徴とする半導体集
    積回路装置。
  5. 【請求項5】 請求項1に記載の半導体集積回路装置に
    おいて、 前記検査回路は、 行ごとに異なる列に対応する読み出し単位のデータを読
    み出すように前記第1の指示を与えることを特徴とする
    半導体集積回路装置。
  6. 【請求項6】 請求項1に記載の半導体集積回路装置に
    おいて、 前記検査回路は、 前記メモリセルアレイの一の列に対応する読み出し単位
    のデータを読み出すように前記第1の指示を与え、 前記一の列は、前記第1の指示が与えられるたびに異な
    ることを特徴とする半導体集積回路装置。
  7. 【請求項7】 請求項1に記載の半導体集積回路装置に
    おいて、 CPUをさらに備え、 前記検査回路は、 前記不揮発性半導体メモリの診断が終了した後に、前記
    CPUを起動させるための信号を前記CPUに与えるこ
    とを特徴とする半導体集積回路装置。
  8. 【請求項8】 請求項7に記載の半導体集積回路装置に
    おいて、 前記検査回路は、 前記第2の指示に従って読み出されたデータのすべてに
    おいて前記エラー訂正回路によってエラーが検出された
    とき、異常を示す信号を前記CPUに与えることを特徴
    とする半導体集積回路装置。
  9. 【請求項9】 請求項8に記載の半導体集積回路装置に
    おいて、 前記CPUは、 前記検査回路からの異常を示す信号に応答して起動を停
    止することを特徴とする半導体集積回路装置。
  10. 【請求項10】 請求項1から請求項9のいずれか1つ
    に記載の半導体集積回路装置を備えることを特徴とする
    ICカード。
  11. 【請求項11】 不揮発性半導体メモリを診断する検査
    装置であって、 前記不揮発性半導体メモリは、 行および列に複数の読み出し単位に分割されたメモリセ
    ルアレイと、 前記複数の読み出し単位の各々に書き込むべきデータの
    エラー訂正符号化を行い、前記複数の読み出し単位の各
    々から読み出されたデータのエラー検出およびエラー訂
    正を行うエラー訂正回路とを含み、 前記検査装置は、 前記メモリセルアレイの各行から一の読み出し単位のデ
    ータを読み出すように指示する第1の指示を前記不揮発
    性半導体メモリに与え、 前記第1の指示に従って読み出されたデータのエラーが
    前記エラー訂正回路によって検出されると、当該エラー
    が検出されたデータに対応する行のすべての読み出し単
    位のデータを読み出すように指示する第2の指示を前記
    不揮発性半導体メモリに与えることを特徴とする検査装
    置。
  12. 【請求項12】 不揮発性半導体メモリと、 キャッシュメモリと、 前記不揮発性半導体メモリのアドレスを少なくとも1つ
    記憶するアドレス記憶部と、 前記不揮発性半導体メモリへの書き込みアドレスと前記
    アドレス記憶部に記憶されたアドレスのいずれか1つと
    が一致するとき、当該書き込みアドレスに対応する書き
    込みデータを前記キャッシュメモリに書き込むアクセス
    制御部とを備えることを特徴とする半導体集積回路装
    置。
  13. 【請求項13】 請求項12に記載の半導体集積回路装
    置において、 前記アクセス制御部は、 前記アドレス記憶部に記憶されるアドレスを前記不揮発
    性半導体メモリへの書き込みアクセスの状況に応じて変
    更することを特徴とする半導体集積回路装置。
  14. 【請求項14】 請求項12に記載の半導体集積回路装
    置において、 前記アドレス記憶部は、前記不揮発性半導体メモリのア
    ドレスを記憶する第1および第2の領域を含み、 前記アクセス制御部は、 前記アドレス記憶部の第2の領域に記憶されるアドレス
    を前記不揮発性半導体メモリへの書き込みアクセスの状
    況に応じて変更することを特徴とする半導体集積回路装
    置。
  15. 【請求項15】 請求項12に記載の半導体集積回路装
    置において、 前記アクセス制御部は、 前記アドレス記憶部に記憶されたアドレスを前記キャッ
    シュメモリへ書き込み、 前記不揮発性半導体メモリへの書き込みアドレスと前記
    キャッシュメモリに記憶されたアドレスのいずれか1つ
    とが一致するとき、当該書き込みアドレスに対応する書
    き込みデータを前記キャッシュメモリに書き込むことを
    特徴とする半導体集積回路装置。
  16. 【請求項16】 請求項15に記載の半導体集積回路装
    置において、 前記アクセス制御部は、 前記キャッシュメモリに記憶されるアドレスを前記不揮
    発性半導体メモリへの書き込みアクセスの状況に応じて
    変更し、変更後のアドレスを前記アドレス記憶部に書き
    込むことを特徴とする半導体集積回路装置。
  17. 【請求項17】 請求項15に記載の半導体集積回路装
    置において、 前記アドレス記憶部は、前記不揮発性半導体メモリのア
    ドレスを記憶する第1および第2の領域を含み、 前記キャッシュメモリは、第3の領域と第4の領域とを
    含み、 前記アクセス制御部は、 前記アドレス記憶部の第1の領域に記憶されたアドレス
    を前記キャッシュメモリの第3の領域へ書き込み、前記
    アドレス記憶部の第2の領域に記憶されたアドレスを前
    記キャッシュメモリの第4の領域へ書き込み、 前記キャッシュメモリの第4の領域に記憶されるアドレ
    スを前記不揮発性半導体メモリへの書き込みアクセスの
    状況に応じて変更し、変更後のアドレスを前記アドレス
    記憶部の第2の領域に書き込むことを特徴とする半導体
    集積回路装置。
  18. 【請求項18】 請求項12から請求項17のいずれか
    1つに記載の半導体集積回路装置を備えることを特徴と
    するICカード。
JP2002031620A 2002-02-08 2002-02-08 半導体集積回路装置、icカードおよび検査装置 Pending JP2003234000A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002031620A JP2003234000A (ja) 2002-02-08 2002-02-08 半導体集積回路装置、icカードおよび検査装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002031620A JP2003234000A (ja) 2002-02-08 2002-02-08 半導体集積回路装置、icカードおよび検査装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007312881A Division JP4359327B2 (ja) 2007-12-03 2007-12-03 半導体集積回路装置、icカードおよび検査装置

Publications (1)

Publication Number Publication Date
JP2003234000A true JP2003234000A (ja) 2003-08-22

Family

ID=27774969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002031620A Pending JP2003234000A (ja) 2002-02-08 2002-02-08 半導体集積回路装置、icカードおよび検査装置

Country Status (1)

Country Link
JP (1) JP2003234000A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005234883A (ja) * 2004-02-19 2005-09-02 Nec Corp 記憶装置のデータ書き込み、読み出し方法およびデータ記憶システム
JP2011018387A (ja) * 2009-07-07 2011-01-27 Sony Corp メモリ装置、メモリ制御方法、およびプログラム
JP2013168173A (ja) * 2007-06-21 2013-08-29 Mega Chips Corp メモリコントローラ
JP2013222348A (ja) * 2012-04-17 2013-10-28 Dainippon Printing Co Ltd Icカード及びコンピュータプログラム
WO2019069546A1 (ja) * 2017-10-03 2019-04-11 株式会社村田製作所 アンテナモジュール及びアンテナモジュールの検査方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0527924A (ja) * 1991-07-12 1993-02-05 Internatl Business Mach Corp <Ibm> 半導体メモリを用いた外部記憶システム及びその制御方法
JPH06349286A (ja) * 1993-06-04 1994-12-22 Matsushita Electric Ind Co Ltd フラッシュメモリ用書き込み制御方法および制御装置
JPH0728690A (ja) * 1993-07-14 1995-01-31 Hitachi Ltd フラッシュメモリシステム
JPH07114500A (ja) * 1993-10-19 1995-05-02 Matsushita Electric Ind Co Ltd 不揮発性メモリ記憶装置
JPH0997314A (ja) * 1995-09-28 1997-04-08 Canon Inc Icカード装置
JPH1165927A (ja) * 1997-08-25 1999-03-09 Hitachi Ltd キャッシュ制御方式
JP2001117819A (ja) * 1999-10-18 2001-04-27 Toshiba Corp 命令メモリ回路及び情報処理システム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0527924A (ja) * 1991-07-12 1993-02-05 Internatl Business Mach Corp <Ibm> 半導体メモリを用いた外部記憶システム及びその制御方法
JPH06349286A (ja) * 1993-06-04 1994-12-22 Matsushita Electric Ind Co Ltd フラッシュメモリ用書き込み制御方法および制御装置
JPH0728690A (ja) * 1993-07-14 1995-01-31 Hitachi Ltd フラッシュメモリシステム
JPH07114500A (ja) * 1993-10-19 1995-05-02 Matsushita Electric Ind Co Ltd 不揮発性メモリ記憶装置
JPH0997314A (ja) * 1995-09-28 1997-04-08 Canon Inc Icカード装置
JPH1165927A (ja) * 1997-08-25 1999-03-09 Hitachi Ltd キャッシュ制御方式
JP2001117819A (ja) * 1999-10-18 2001-04-27 Toshiba Corp 命令メモリ回路及び情報処理システム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005234883A (ja) * 2004-02-19 2005-09-02 Nec Corp 記憶装置のデータ書き込み、読み出し方法およびデータ記憶システム
JP4595342B2 (ja) * 2004-02-19 2010-12-08 日本電気株式会社 記憶装置のデータ書き込み、読み出し方法およびデータ記憶システム
JP2013168173A (ja) * 2007-06-21 2013-08-29 Mega Chips Corp メモリコントローラ
JP2011018387A (ja) * 2009-07-07 2011-01-27 Sony Corp メモリ装置、メモリ制御方法、およびプログラム
US8448017B2 (en) 2009-07-07 2013-05-21 Sony Corporation Memory apparatus, memory controlling method and program
JP2013222348A (ja) * 2012-04-17 2013-10-28 Dainippon Printing Co Ltd Icカード及びコンピュータプログラム
WO2019069546A1 (ja) * 2017-10-03 2019-04-11 株式会社村田製作所 アンテナモジュール及びアンテナモジュールの検査方法
CN111183554A (zh) * 2017-10-03 2020-05-19 株式会社村田制作所 天线模块以及天线模块的检查方法
JPWO2019069546A1 (ja) * 2017-10-03 2020-10-22 株式会社村田製作所 アンテナモジュール及びアンテナモジュールの検査方法
US11495874B2 (en) 2017-10-03 2022-11-08 Murata Manufacturing Co., Ltd. Antenna module and method for inspecting antenna module

Similar Documents

Publication Publication Date Title
US7565579B2 (en) Post (power on self test) debug system and method
US7254060B2 (en) Nonvolatile semiconductor memory device
US8201037B2 (en) Semiconductor integrated circuit and method for controlling semiconductor integrated circuit
US20060253723A1 (en) Semiconductor memory and method of correcting errors for the same
US20050138513A1 (en) Multiple on-chip test runs and repairs for memories
US7398439B2 (en) Semiconductor device with memory and method for memory test
US20060253764A1 (en) Computer system and method for redundancy repair of memories installed in computer system
JP2007004955A (ja) 不揮発性半導体記憶装置
US20080195893A1 (en) A repairable semiconductor memory device and method of repairing the same
JP2001035192A (ja) メモリ搭載集積回路およびそのテスト方法
US6829722B2 (en) System and method of processing memory
CN100392766C (zh) 集成电路中降低存储器失效之方法
US6957377B2 (en) Marking of and searching for initial defective blocks in semiconductor memory
KR100825068B1 (ko) 램 테스트 및 고장처리 시스템
JP4359327B2 (ja) 半導体集積回路装置、icカードおよび検査装置
JP2003234000A (ja) 半導体集積回路装置、icカードおよび検査装置
US7464309B2 (en) Method and apparatus for testing semiconductor memory device and related testing methods
US20030051193A1 (en) Computer system with improved error detection
US7484147B2 (en) Semiconductor integrated circuit
CN115691632A (zh) 测试控制系统和方法
JP2005050442A (ja) 冗長メモリ回路
JP2005050393A (ja) 半導体装置およびその故障検出方法
JP2006285913A (ja) メモリチェック装置及び画像形成装置
JPH0863999A (ja) 不揮発性フラッシュepromメモリ装置用のバーンイン法
JP3314719B2 (ja) フラッシュeepromとその試験方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081031

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090714