JPH1139450A - Icカード - Google Patents

Icカード

Info

Publication number
JPH1139450A
JPH1139450A JP9198305A JP19830597A JPH1139450A JP H1139450 A JPH1139450 A JP H1139450A JP 9198305 A JP9198305 A JP 9198305A JP 19830597 A JP19830597 A JP 19830597A JP H1139450 A JPH1139450 A JP H1139450A
Authority
JP
Japan
Prior art keywords
data
page
write
read
area
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
JP9198305A
Other languages
English (en)
Inventor
Sozo Fujioka
宗三 藤岡
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.)
Renesas Design Corp
Mitsubishi Electric Corp
Original Assignee
Renesas Design Corp
Mitsubishi Electric Corp
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 Renesas Design Corp, Mitsubishi Electric Corp filed Critical Renesas Design Corp
Priority to JP9198305A priority Critical patent/JPH1139450A/ja
Priority to KR1019980007230A priority patent/KR100273614B1/ko
Priority to TW087103189A priority patent/TW366473B/zh
Publication of JPH1139450A publication Critical patent/JPH1139450A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Credit Cards Or The Like (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【課題】 ICカードにおいて高速にアクセスできるリ
ングバッファを実現する。 【解決手段】 下記のコラムリードコマンドを用意す
る。リーダライタからコラムリードコマンドが発行され
ると、コマンドで指定される読出対象バッファ領域の先
頭ページをICカード内のPAレジスタに設定する。次
に、PAレジスタの示すページの所定位置の例えば1バ
イトデータをICカード内のメモリ(EEPROM)か
ら読み出すためのアドレスを生成し、それを用いてデー
タを読み出す。PAレジスタの値をインクリメントしつ
つこのような読み出し動作を繰り返し、前記バッファ領
域の最後のページまで読み出すと、読み出した全データ
をリーダライタに対し送信する。リーダライタは、この
コラムリードコマンドによりリングバッファの全ページ
のステータス情報を1度に読み出して最新書込ページを
検出し、それに基づきリングバッファに対する読出/書
込を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ読出/書込
装置との間でデータの授受を行うICカードに関する。
【0002】
【従来の技術】ICカードは、データ読出/書込装置と
の間でデータの授受を行うものであり、例えば各種の取
引に利用することができる。この場合、取引等の履歴情
報をICカードに記憶させることが多い。このような履
歴情報をICカードに記憶させていく過程において、履
歴情報を格納する領域としてICカードのメモリ内に用
意された記憶領域が満杯になると、その記憶領域内の最
古のデータを消去し、その消去した領域に最新のデータ
を書き込むことになる。したがって、ICカードに取引
等の履歴情報を記憶させる場合には、ICカードにおい
てリングバッファを実現する必要がある。
【0003】ICカードでは、データを記憶するための
メモリとして、通常、EEPROM(Electrically Eras
able Programmable Read Only Memory)(電気的消去書
込可能型ROM)が使用されている。EEPROMは、
書き込みに時間を要し、ページと呼ばれる所定サイズ
(例えば16バイト)を単位として書き込みが行われる
場合が多い。一方、ICカードの応用面から見たデータ
の単位はファイルと呼ばれ、通常、ファイルのサイズは
ページのサイズと等しくなるように設定される場合が多
い。このようなICカードにおいてリングバッファを実
現して取引の履歴情報を記憶させる場合、図15(a)
に示すように、ICカードのメモリにおいてリングバッ
ファ領域として用意された複数ページから成る所定領域
に対し、最初のページ1から順に、履歴情報1、履歴情
報2、…、履歴情報nというように書き込みが行われて
いく。そして、最後のページnまで書き込みが行われた
後に更に書き込み要求が生じると、最古の履歴情報1が
書き込まれている最初のページ1に最新の履歴情報n+
1が上書きされる(図15(b)(c)参照)。
【0004】リングバッファの実現に際しては、通常、
リングバッファにおける読み出すべき位置を指すリード
ポインタと、書き込むべき位置を指すライトポインタと
が用意されるが、ICカードにおいて取引等の履歴情報
の記憶させる場合、リードポインタは最新に書き込まれ
たページを指すようになっている。したがって、ライト
ポイントは常にリードポインタの次のページを指すこと
になる。その結果、リングバッファに対する読み出しお
よび書き込みのいずれにおいても、実質的には、最新に
履歴情報を書き込んだページ(最新書込ページ)を指す
ポインタ(以下「最新書込ポインタ」という)さえ獲得
できればよいことになる。
【0005】上記のように、所定領域をリングバッファ
として使用するメモリを内蔵したICカードに対しデー
タ読出/書込装置(以下「リーダライタ」という)が履
歴情報の読み出し又は書き込みを行う際には、ICカー
ドに電源供給が開始された後にリングバッファにおける
最新書込ポインタの値を得る必要がある。これに対し、
リングバッファが実現された従来のICカードでは、リ
ングバッファを構成する各ページの内容を調べて最新書
込ページを探すか(以下、この方法を採用したICカー
ドを「従来例1」という)、または、最新書込ポインタ
を格納する領域をICカードのメモリ(EEPROM等
の不揮発性メモリ)内に別途設けていた(以下、この方
法を採用したICカードを「従来例2」という)。な
お、ICカードには、CPU(Central Processing Uni
t)(中央処理装置)等を内蔵し情報処理機能を有するも
のと、読み出し/書き込み機能のみを有するものとがあ
り、情報処理機能を有するICカードの場合は、外部の
リーダ/ライタから履歴情報の読み出し又は書き込みを
行う際に、ICカード内部で、リングバッファを構成す
る各ページの内容を調べて最新書込ページを探すか、ま
たは、最新書込ポインタの格納用領域(以下「ポインタ
領域」という)に格納されている値を読み出すことによ
り、最新書込ポインタの値を得ていた。一方、読み出し
/書き込み機能のみを有するICカードの場合は、外部
のリーダ/ライタが、ICカードからリングバッファの
領域のデータを読み出して最新書込ページを探し出すこ
とにより、またはICカードにおけるポインタ領域から
最新書込ポインタを読み出すことにより、最新書込ポイ
ンタの値を得ていた。
【0006】
【発明が解決しようとする課題】従来のICカードは、
データをページ単位(例えば横1列16バイト)でしか
読み出し又は書き込みができなくなっており、最新書込
ポインタのための領域をメモリ内に設けない場合は、最
新書込ページを探し出すために、リングバッファに割り
当てた記憶領域のデータをページ単位で全て読み出さな
ければならなかった。その結果、リングバッファへのア
クセスに多くの時間を要していた。
【0007】一方、ポインタ領域をメモリ内に設ける場
合には、履歴情報を書き込む毎に、最新書込ポインタの
更新のためにポインタ領域に対し書き込みを行わなけれ
ばならず、このポインタ領域は不揮発性メモリ(通常、
EEPROM)内に設けられるため、その書き込みには
時間を要する。その結果、履歴情報の書き込み処理に長
時間を要していた。また、EEPROM等にポインタ領
域を設けた場合は、ポインタ領域の書き換えの回数が多
いことによるEEPROMの劣化も問題となる。そこで
本発明では、ポインタ領域を不揮発性メモリ内に設ける
ことなく、高速にアクセスが可能なリングバッファを実
現したICカードを提供することを目的とする。
【0008】
【課題を解決するための手段】上記課題を解決するため
に成された本発明に係る第1のICカードは、データ読
出/書込装置からコマンドを受け取り、受け取ったコマ
ンドに基づき前記データ読出/書込装置との間でデータ
の授受を行うICカードにおいて、前記データ読出/書
込装置からコマンドを含むデータを受け取る受信手段
と、前記データ読出/書込装置へデータを送り出す送信
手段と、前記データ読出/書込装置から受け取ったデー
タを格納するためのデータ領域と該データ領域への書き
込みを示すステータス情報を格納するためのステータス
領域とを含むページを複数集めて構成される記憶領域で
あってリングバッファとして使用される記憶領域を有す
る記憶手段と、前記データ読出/書込装置から受け取っ
たデータを前記データ領域に書き込んだときに、該デー
タを書き込んだ前記データ領域を含むページのステータ
ス領域に該書込を示すステータス情報を書き込む書込制
御手段と、前記データ読出/書込装置からのデータとし
て受信手段により所定のコマンドを受け取ると、前記記
憶領域内の全てのページにつき、ステータス領域に格納
されたステータス情報を順次読み出し、読み出したステ
ータス情報を送信手段によりデータ読出/書込装置へ送
出する読出制御手段と、を備えたことを特徴としてい
る。
【0009】本発明に係る第2のICカードは、データ
読出/書込装置からコマンドを受け取り、受け取ったコ
マンドに基づき前記データ読出/書込装置との間でデー
タの授受を行うICカードにおいて、前記データ読出/
書込装置からコマンドを含むデータを受け取る受信手段
と、前記データ読出/書込装置へデータを送り出す送信
手段と、前記データ読出/書込装置から受け取ったデー
タを格納するためのデータ領域と該データ領域への書き
込みを示すステータス情報を格納するためのステータス
領域とを含むページを複数集めて構成される記憶領域で
あってリングバッファとして使用される記憶領域を有す
る記憶手段と、前記記憶領域を構成する全てのページの
ステータス情報を同一の値に予め初期化しておき、前記
データ読出/書込装置から受け取ったデータを前記デー
タ領域に書き込んだときに、該データを書き込んだ前記
データ領域を含むページのステータス情報を構成するビ
ットの値を反転させる書込制御手段と、前記記憶領域内
の各ページのステータス情報を順次読み出し、読み出し
たステータス情報の値が直前に読み出したステータス情
報の値と異なる場合に、該直前に読み出したステータス
情報が格納されていたページをデータ領域に最新に書き
込みが行われた最新書込ページとし、読み出したステー
タス情報の値が前記記憶領域内の全ページにわたって同
一の場合に、最後に読み出したステータス情報が格納さ
れていたページを最新書込ページとして、該最新書込ペ
ージに基づき、リングバッファとして使用される前記記
憶領域に対するデータの読み出しおよび書き込みを制御
するリングバッファ制御手段と、を備えることを特徴と
している。
【0010】本発明に係る第3のICカードは、上記第
2のICカードにおいて、前記ステータス情報は1ビッ
トから成ることを特徴としている。
【0011】本発明に係る第4のICカードは、上記第
2のICカードにおいて、前記ステータス情報は奇数個
のビットから成り、前記書込制御手段は、前記ステータ
ス情報を構成する前記奇数個のビットの値が全て同一と
なるように初期化し、前記リングバッファ制御手段は、
読み出したステータス情報に対する多数決演算により値
の異なるビットを含まないステータス情報を生成し、読
み出したステータス情報に代えて該多数決演算によって
生成したステータス情報を用いることにより、最新書込
ページを検出する、ことを特徴としている。
【0012】本発明に係る第5のICカードは、データ
読出/書込装置からコマンドを受け取り、受け取ったコ
マンドに基づき前記データ読出/書込装置との間でデー
タの授受を行うICカードにおいて、前記データ読出/
書込装置からコマンドを含むデータを受け取る受信手段
と、前記データ読出/書込装置へデータを送り出す送信
手段と、前記データ読出/書込装置から受け取ったデー
タを格納するための領域を含むページを複数集めて構成
される記憶領域であってリングバッファとして使用され
る記憶領域を有する記憶手段と、前記記憶領域をリング
バッファとして使用するための読み出し位置または書き
込み位置を示すページの値を、当該ICカードに電源供
給が開始された後、前記データ読出/書込装置からコマ
ンドを受け取る前に検出するリングバッファ制御手段
と、を備えることを特徴としている。
【0013】本発明に係る第6のICカードは、上記第
2ないし第4のICカードのいずれかのICカードにお
いて、前記リングバッファ制御手段は、当該ICカード
に電源供給が開始された後、前記データ読出/書込装置
からコマンドを受け取る前に、前記最新書込ページを検
出することを特徴としている。
【0014】本発明に係る第7のICカードは、上記第
2のICカードにおいて、前記記憶領域内の各ページの
ステータス領域のサイズが整数バイトであり、該ステー
タス領域内にステータス情報の格納に使用される領域以
外の領域として書込確認用データ領域を設け、前記書込
制御手段は、前記データ読出/書込装置から受け取った
データを前記データ領域に書き込んだときに、該データ
を書き込んだ前記データ領域を含むページのステータス
情報を構成するビットの値を反転させるとともに、該ペ
ージのステータス領域内の書込確認用データ領域に、該
データが前記データ領域に正しく書き込まれたか否かを
確認するためのデータを書き込む、ことを特徴としてい
る。
【0015】本発明に係る第8のICカードは、上記第
7のICカードにおいて、前記リングバッファ制御手段
は、 i)前記記憶領域内の各ページのステータス情報の読み
出しにより最新書込ページが検出されたときに、該最新
書込ページの書込確認用データを読み出して、該書込確
認用データにより該最新書込ページのデータ領域に正し
くデータが書き込まれていたか否かを判定する判定手段
と、 ii)該最新書込ページのデータ領域に正しくデータが書
き込まれていないと判定された場合に、該最新書込ペー
ジの直前のページを改めて最新書込ページとする最新書
込ページ変更手段と、を含むことを特徴としている。
【0016】
【発明の実施の形態】以下、添付の図面を参照しつつ本
発明の実施の形態について説明する。 実施の形態1. <1.1 ハードウェア構成>図1は、本発明の実施の
形態1であるICカードの概略構成を示すブロック図で
ある。このICカード100は、電波によりリーダライ
タ200との間でデータの授受を行う非接触型のICカ
ードであって、アンテナ10と、変復調回路12と、入
出力回路14と、制御回路16と、メモリ18とを備
え、入出力回路14と制御回路16とメモリ18とはバ
ス20で接続されている。この他、ICカード100
は、上記各部に電源を供給するための電源回路(図示せ
ず)を備えている。
【0017】上記構成のICカード100において、ア
ンテナ10、変復調回路12および入出力回路14は、
リーダライタ200からコマンドを含むデータを受け取
るための受信手段として機能するとともに、ICカード
100からリーダライタ200へデータを渡すための送
信手段として機能する。メモリ18は、EEPROMに
より構成された不揮発性の記憶手段であり、リーダライ
タ200から受け取ったデータ等を格納する。制御回路
16は、CPUと所定のプログラム等を格納するメモリ
とを用いて構成されており、CPUがプログラムを実行
することにより、入出力回路14およびメモリ18等の
動作を制御する。
【0018】上記ICカード100とデータの授受を行
うリーダライタ200は、常時、電波を発信しており、
ICカード100は、このリーダライタ200からの電
波を受信できる所定範囲内で動作することができる(こ
の所定範囲は「動作エリア」と呼ばれる)。
【0019】ICカード100は、動作エリア内に入る
と、リーダライタ200からの電波をアンテナ10によ
り受信して電気信号に変換し、その電気信号を変復調回
路12および電源回路(図示せず)に供給する。電源回
路は、その電気信号を整流して各部に供給することによ
り電源供給を行う。なお、リーダライタ200は、IC
カード100にデータを送信しない場合は、無変調の電
波を発信しており、データを送信する場合は、そのデー
タを搬送波に変調させて含ませた電波を発信する。
【0020】<1.2 動作の概略>リーダライタ20
0からICカード100にデータが送信された場合、変
復調回路12は、アンテナ10から供給される電気信号
を復調してデータを抽出し、これをシリアルデータとし
て入出力回路14へ入力する。入出力回路14は、変復
調回路12から入力されたシリアルデータをパラレルデ
ータに変換してバス20に出力する。制御回路16は、
リーダライタ200から受け取ったデータに含まれるコ
マンドに従って動作し、入出力回路14やメモリ18を
制御する。
【0021】このような動作により、ICカード100
は、リーダライタ200からデータを受け取ってメモリ
18に格納し、また、メモリ18に格納されているデー
タをリーダライタ200に送る。前述のようにメモリ1
8は、EEPROMにより構成されており、書き込みは
ページ単位で行われ、本実施の形態では、1ページは1
6バイトである。これに合わせて、リーダライタ200
からICカード100内のメモリ18に対するデータの
読み出しおよび書き込みは、ページ単位となっている。
【0022】すなわち、リーダライタ200からデータ
書き込みを要求するコマンド(以下「ライトコマンド」
という)を受け取った場合は、制御回路16が、そのラ
イトコマンドに従い、そのライトコマンドとともに送ら
れてくる1ページ分のデータ(16バイトデータ)をメ
モリ18に書き込む。このときのメモリ18への書き込
み位置を示すページアドレスは、そのライトコマンドで
指定される。
【0023】一方、リーダライタ200からデータ読み
出しを要求するコマンド(以下「リードコマンド」とい
う)を受け取った場合は、制御回路16が、そのリード
コマンドに従い、メモリ18から所望の1ページ分のデ
ータを読み出す。このときのメモリ18からの読み出し
位置を示すページアドレスは、そのリードコマンドで指
定される。制御回路16は、読み出したデータをバス2
0を介して入出力回路14にパラレルデータとして転送
し、入出力回路14は、このパラレルデータをシリアル
データに変換する。変復調回路12は、そのシリアルデ
ータを搬送波に変調させて含ませた信号を生成し、アン
テナ10は、その信号を電波にして送信する。
【0024】<1.3 リングバッファの実現>上記の
ようなICカード100を各種の取引に利用し、取引等
の履歴情報をICカード100に記憶させるためには、
既述のように、リングバッファを実現する必要がある
(図15参照)。このために本実施の形態では、メモリ
18内において連続する複数ページから成る記憶領域を
バッファ領域として確保し、このバッファ領域を、リー
ダライタ200との間でページ単位で読み出しおよび書
き込みを行うデータを格納するための領域とする。バッ
ファ領域内の各ページは、図2に示すように、履歴情報
を格納するためのデータ領域a2と、データ領域a2へ
の履歴情報の書き込みを示すステータス情報を格納する
ステータス領域a1とから成る。そして、最新に書き込
みが行われたページ(最新書込ページ)の値であるペー
ジアドレスをリードポインタとし、最新書込ページの次
のページをライトポインタとして(ただし、最新書込ペ
ージがバッファ領域の最後のページであった場合、バッ
ファ領域の先頭のページアドレスをライトポインタとす
る)、バッファ領域に対する書き込みおよび読み出しを
行う。これにより、バッファ領域がリングバッファとし
て使用されることになる。
【0025】具体的には、リーダライタ200が、リー
ドコマンドにおける読み出しページアドレスとしてリー
ドポインタを指定し、ライトコマンドにおける書き込み
ページアドレスとしてライトポインタを指定することに
より、バッファ領域がリングバッファとして使用され
る。しかし、このためには、リーダライタ200は、リ
ードコマンドまたはライトコマンドを発行する前に、バ
ッファ領域における最新書込ページを検出し、これに基
づきリードポインタとライトポインタを得る必要があ
る。そこで本実施の形態では、バッファ領域における各
ページへの書き込みを示すステータス情報を1度で読み
出すために、コラムリードコマンドが用意されている。
ここにいうコラムリードコマンドとは、そのコマンドで
指定される所定範囲の記憶領域における各ページの所定
位置のデータ(例えば1バイト目の値)を1回のコマン
ド発行でICカード100から読み出すことを要求する
コマンドである。すなわち、従来のリードコマンドは
「横方向」に16バイト(1ページ分)ずつしかデータ
を読み出すことができなかったが、コラムリードコマン
ドによれば、連続する複数ページにおける所定位置(例
えば各ページの1バイト目)のデータを「縦方向(コラ
ム方向)」に読み出せることになる。
【0026】<1.4 コマンド実行処理>上記のよう
に、ライトコマンドおよびリードコマンドに加えてコラ
ムリードコマンドが用意された本実施形態のICカード
100の動作を、図3に示すフローチャートを参照しつ
つ説明する。なお本実施形態では、コラムリードコマン
ドではコラムリードの対象となるバッファ領域がページ
値によって指定されると共に、そのバッファ領域内の各
ページにおけるリード対象の位置(例えば各ページの1
バイト目)が指定されているものとする。また、ライト
コマンドでは書き込み対象のページの値(例えばライト
ポインタ)が、リードコマンドでは読み出し対象のペー
ジの値(例えばリードポインタ)が、それぞれ指定され
るものとする。
【0027】ICカード100が動作エリアに入ってリ
ーダライタ200からの電波を受信し、ICカード10
0の各部に対する電源供給が開始されると、まず、初期
設定が行われ(ステップS10)、これによりICカー
ド100は、リーダライタ200からのコマンドを受け
付けることができる状態となる。初期設定後は、リーダ
ライタ200からコマンドが送られてくるのを待機する
状態となり(ステップS12)、リーダライタ200か
らコマンドが発行され、それが電波として発信される
と、ICカード100は、これをアンテナ10で受信
し、変復調回路12および入出力回路14を介して制御
回路16へ転送する。制御回路16は、そのコマンドを
解釈し(ステップS14)、そのコマンドの種類に応じ
て、コラムリードコマンドの実行処理(ステップS1
6)、ライトコマンドの実行処理(S18)、リードコ
マンドの実行処理(ステップS20)のいずれかを行
う。
【0028】<1.4.1 コラムリードコマンド>図4
は、コラムリードコマンドの実行処理(図3のステップ
S16)の手順を示すフローチャートである。制御回路
16は、コラムリードコマンドを認識すると、まず、そ
のコラムリードコマンドで指定されたバッファ領域の先
頭ページの値を制御回路16に設けられた所定レジスタ
(以下「PAレジスタ」という)に設定し(ステップS
100)、このPAレジスタの値を用いて、バッファ領
域の先頭ページのうちコラムリードコマンドで指定され
るリード対象位置にアクセスするためのアドレス(以下
「コラムアドレス」という)を生成する(ステップS1
02)。例えばステータス領域a1が各ページの1バイ
ト目であって各ページのステータス情報を読み出したい
場合には、PAレジスタで示されるページの1バイト目
のアドレスをコラムアドレスとして生成する。コラムア
ドレスが生成されると、これを用いて、先頭ページのリ
ード対象位置のデータ(以下「コラムリードデータ」と
いう)をメモリ18から読み出し、読み出したコラムリ
ードデータを制御回路16内で一時的に蓄える(ステッ
プS104)。次に、PAレジスタの値がコラムリード
コマンドで指定されたバッファ領域の最後のページ値か
否か、すなわち、そのバッファ領域の最後のページのコ
ラムリードデータまで読み出したか否かを判定する(ス
テップS106)。PAレジスタの値が上記バッファ領
域の最後のページ値でない場合は、PAレジスタの値を
1だけインクリメントした後(ステップS108)、ス
テップS102へ戻る。
【0029】以降、同様にして、ステップS102→S
104→S106→S108を繰り返し実行することに
より、コラムリードコマンドで指定されたバッファ領域
の各ページのコラムリードデータを順次読み出して制御
回路16内に蓄えていく。この間に、ステップS106
でPAレジスタの値が前記バッファ領域の最後のページ
値であると判定されると、すなわち、最後のページのコ
ラムリードデータまで読み出したと判定されると、ステ
ップS110へ進む。この時点では、制御回路16内
に、前記バッファ領域の全てのページのコラムリードデ
ータ、すなわち前記バッファ領域をコラム方向に読み出
したデータが蓄えられており、ステップS22では、こ
れらのデータをコラムリードコマンドに対するレスポン
スとしてリーダライタ200に送出するために入出力回
路14へ転送し、これにより、コラムリードコマンドに
対する制御回路16の処理が終了する。コラムリードコ
マンドで例えばリングバッファとして使用するバッファ
領域全体を指定し、リード対象位置としてステータス領
域a1の位置(例えば1バイト目)を指定すると、上記
処理により、リングバッファを構成する各ページのステ
ータス情報が得られることになる。
【0030】入出力回路14に転送されたレスポンス
は、変復調回路12およびアンテナ10を介して電波と
してリーダライタ200に向けて送出される。
【0031】<1.4.2 ライトコマンド>図5は、リ
ングバッファに履歴情報を書き込むためのライトコマン
ドの実行処理(図3のステップS18)の手順を示すフ
ローチャートである。この場合、ライトコマンドでは、
書込対象のページとしてリングバッファに対するライト
ポインタが指定され、履歴情報が書込データとしてライ
トコマンドと共にリーダライタ200から送られてく
る。制御回路16は、ライトコマンドを認識すると、ま
ず、そのライトコマンドで指定されたページ値であるラ
イトポインタを制御回路16に設けられたPAレジスタ
に設定し(ステップS120)、このPAレジスタの値
を用いて、メモリ18に書き込むためのアドレスを生成
する(ステップS122)。そしてこのアドレスを用い
て、ライトコマンドとともにリーダライタ200から送
られた履歴情報をメモリ18におけるリングバッファに
書き込む(ステップS124)。このとき書き込みによ
り、PAレジスタで指定されるページすなわちライトポ
インタの指すページにおけるステータス情報の更新も行
われる。その後、このライトコマンドに対するレスポン
スをリーダライタ200に向けて送信する(ステップS
126)。これにより、ライトコマンドの実行が終了す
る。
【0032】<1.4.3 リードコマンド>図6は、リ
ングバッファから履歴情報を読み出すためのリードコマ
ンドの実行処理(図3のステップS20)の手順を示す
フローチャートである。この場合、リードコマンドにお
いて読出対象のページとしてリングバッファに対するリ
ードポインタが指定される。制御回路16は、リードコ
マンドを認識すると、まず、そのリードコマンドで指定
されたページ値であるリードポインタを制御回路16に
設けられたPAレジスタに設定し(ステップS13
0)、このPAレジスタの値を用いて、メモリ18から
データを読み出すためのアドレスを生成する(ステップ
S132)。次に、このアドレスを用いて、メモリ18
におけるリングバッファから履歴情報を読み出す(ステ
ップS134)。そして、読み出した履歴情報をリーダ
ライタ200に向けて送信する(ステップS136)。
これにより、リードコマンドの実行が終了する。
【0033】<1.5 制御回路の他の構成>上述の動
作を行う本実施形態の制御回路16は、CPUと所定の
プログラム等を格納するメモリから構成されており、C
PUがプログラムを実行することにより、コラムリード
コマンドに対する上述の動作を含む、メモリ18および
入出力回路14に対する制御動作が実現される。しか
し、以上の説明からわかるように、制御回路16が実現
すべき機能は、リーダライタ200から発行されるコマ
ンドの解釈と、そのコマンドに従って、メモリ16への
アクセスのためのアドレスを生成したり、メモリ16お
よび入出力回路14に所望の動作をさせるための制御信
号を生成したりすることであり、これらの機能は、ハー
ドウェアによっても容易に実現できる。したがって、現
時点で入手可能なCPUチップのコストや消費電力等と
制御回路16に要求される機能や性能とを比較考量し、
CPUによる実現に代えて専用のハードウェアで制御回
路16を実現してもよい。
【0034】<1.6 効果>以上において説明した本
実施の形態のICカード100によれば、リーダライタ
200は、コラムリードコマンドを発行することによ
り、バッファ領域の各ページのステータス情報を1度に
得ることができ、これから最新書込ページを検出するこ
とができる。そして、検出した最新書込ページからバッ
ファ領域に対するライトポインタおよびリードポインタ
を獲得し、これを用いてライトコマンドやリードコマン
ドを発行することにより、ICカード内のバッファ領域
をリングバッファとしてアクセスすることができる。し
たがって、最新書込ページを検出するためにバッファ領
域の全ページを読み出していた従来例や、最新書込ペー
ジを示すポインタをEEPROM(図1におけるメモリ
18に相当)に格納していた従来例に比べ、リングバッ
ファに対する履歴情報の読み出しや書き込みが高速化さ
れる。
【0035】なお上記では非接触型のICカードを例に
とって説明したが、接触型のICカードにおいても、受
信手段や送信手段など、リーダライタ200とのインタ
フェースが異なるが、上記と同様にしてコラムリードコ
マンドを実現することが可能であり、同様の効果が得ら
れる。
【0036】<1.7 変形例>上記実施の形態1のI
Cカード100は、読み出し/書き込み機能しか有して
いないが、制御回路16がCPUを用いて実現されてい
る場合には、CPUにより、バッファ領域内の最新書込
ページを検出し、リードポインタおよびライトポインタ
をICカード100内(制御回路16内)で保持するこ
とも可能である。この場合、リーダライタ200は、リ
ードポインタを指定せずにリードコマンドを発行し、ま
た、ライトコマンドを指定せずにライトコマンドを発行
することにより、ICカード100内のバッファ領域を
リングバッファとして使用することができる。また、こ
の場合、ICカード100は、動作エリア内に入って電
源供給が開始されてからリーダライタ200よりリード
コマンドまたはライトコマンドが発行されるまでに、最
新書込ページを検出してリードポインタおよびライトポ
インタを設定することが望ましい。非接触型ICカード
等のようにアナログ回路を含むICカードの場合には、
特に、このような構成が有効である。非接触型のICカ
ードでは、電源供給が開始されデジタル回路が動作可能
となってもアナログ回路の動作が安定するまで待機する
必要があり、この待機期間にデジタル回路によりリード
ポインタおよびライトポインタの設定を行えば、時間を
有効に利用でき、結果として、ICカードにおけるリン
グバッファに対する読み出しや書き込みが実質的に高速
化されることになるからである。
【0037】実施の形態2. <2.1 全体の構成および動作>次に、本発明の実施
の形態2であるICカードについて説明する。このIC
カードの概略構成は実施の形態1と同様であって図1に
示す通りであり、本実施形態についても図1を参照しつ
つ説明する。
【0038】本実施の形態のICカード100では、図
7に示すように、メモリ18内のリングバッファとして
使用するバッファ領域を構成する各ページは、1ビット
のステータス情報(以下「ステータスビット」という)
を格納するためのステータス領域a1と、履歴情報を格
納するためのデータ領域a2から成る。そしてステータ
スビットの設定はICカード100内において制御回路
16により行われ、このバッファ領域をリングバッファ
として使用するためのリードポインタおよびライトポイ
ンタの設定も制御回路16により行われる。本実施の形
態の制御回路16の構成も実施の形態1と同様であっ
て、CPUと所定のプログラム等を格納するメモリから
構成されており、CPUがそのプログラムを実行するこ
とによりメモリ18や入出力回路14に対する制御動作
が実現される。
【0039】<2.2 要部の詳細動作>本実施の形態
ではバッファ領域における各ページのステータスビット
は「0」に予め初期化されており、リーダライタ200
からライトコマンドを受け取って履歴情報がバッファ領
域に書き込まれるときに、その履歴情報が書き込まれる
ページのステータスビットが反転される(これがステー
タス情報の更新に相当する)。すなわち、或るページの
データ領域a2に最初に履歴情報が書き込まれると、そ
のページのステータスビットは「1」に設定され、その
後、履歴情報の書き込みが続きリングバッファを一巡し
て再びそのページに履歴情報が書き込まれると、そのペ
ージのステータスビットは「0」に設定される。本実施
の形態では、ICカード内において制御回路16が、上
記のように設定される各ページのステータスビットを参
照して最新書込ページを検出し、検出した最新書込ペー
ジに基づきバッファ領域に対するリードポインタおよび
ライトポインタを制御回路16内に設定し保持する。前
述のように、本実施の形態のような非接触のICカード
の場合には、ICカードが動作エリアに入って電源の供
給が開始されてからリーダライタ200よりリードコマ
ンドまたはライトコマンドが発行されるまでに、リード
ポインタおよびライトポインタを設定することが望まし
い。そこで本実施形態では、ICカード100に電源の
供給が開始された後、制御回路16が図8のフローチャ
ートに示すように動作することにより、リードポインタ
およびライトポインタが設定される。
【0040】すなわち、まずリングバッファとして使用
するバッファ領域の先頭ページであるページ1のステー
タスビットを読み出してこれをSTAaとする(ステッ
プS30)。次にページ番号を示す変数kを2とした後
(ステップS32)、ページkのステータスビットを読
み出してこれをSTAbとする。そして、連続する2つ
のページのステータスビットであるSTAaとSTAb
が等しいか否かを判定する(ステップS36)。STA
aとSTAbが等しければステップS38へ進み、ペー
ジkは、リングバッファとして使用するバッファ領域の
最後のページか否かを判定する。その結果、最後のペー
ジでなければ、kの値を1だけインクリメントし(ステ
ップS40)、STAaの値をSTAbの値で置き換え
た後(ステップS42)、ステップS34へ戻る。以
降、連続する2つのページのステータスビットであるS
TAaとSTAbが等しく、かつページkが前記バッフ
ァ領域の最後のページでない限り、ステップS34→S
36→S38→S40→S42というループが繰り返し
実行される。
【0041】このループの実行中に、STAaとSTA
bが異なればステップS44へ進む。この場合、ステー
タスビットSTAaを含むページk−1が最新書込ペー
ジであるので、リードポインタRptrをk−1に設定
し、ライトポインタWptrをkに設定する(図7(a)
参照)。
【0042】上記ループの実行中に、ステップS38に
おいてページkが最後のページであると判定された場
合、すなわち、前記バッファ領域の全てのページのステ
ータスビットが同一の場合は、ステップS46へ進む。
この場合、リードポインタRptrをkに設定し、ライト
ポインタWptrを1に設定する(図7(b)参照)。
【0043】<2.3 効果>以上のように本実施形態
によれば、各ページに設けられた1ビットのステータス
で最新書込ページが検出されるため、メモリ容量が少な
くて済む。また、ライトポインタとリードポインタの設
定処理を行う制御回路16は、CPUとそのCPUが実
行するプログラムを格納するためのメモリなどから構成
されているが、上記設定処理を専用のハードウェアによ
り実現することもできる。この場合、各ページに設けら
れた1ビットのステータスで最新書込ページが検出され
ることから、その専用ハードウェアの構成が簡単になる
という利点がある。
【0044】<2.4 その他>なお本実施形態におけ
るライトコマンドおよびリードコマンドの実行処理は、
実施形態1の場合と基本的に同様である(図5および図
6参照)。ただし本実施形態では、リングバッファに対
し履歴情報の書き込みまたは読み出しを行う場合には、
その書き込みまたは読み出しの対象となるページは、ラ
イトコマンドまたはリードコマンドによっては指定され
ず、ICカード100の制御回路16内に格納されてい
るライトポインタまたはリードポインタによって指定さ
れる。したがって、この場合、メモリ18にアクセスす
るためのアドレスの生成にはPAレジスタは使用され
ず、ライトポインタまたはリードポインタが使用される
【0045】実施の形態3. <3.1 全体の構成および動作>次に、本発明の実施
の形態3であるICカードについて説明する。このIC
カードは、メモリ18内のリングバッファとして使用す
るバッファ領域の各ページのステータスビットは3ビッ
トから成り、ライトポインタ及びリードポインタの設定
のために最新書込ページを検出する際に多数決処理を行
う点が上記実施の形態2と相違し、他の点については、
上記実施の形態2と同様である。そこで、以下では、本
実施形態におけるライトポインタおよびリードポインタ
の設定のための制御回路16の動作についてのみ、図1
1のフローチャートを参照しつつ説明する。
【0046】<3.2 要部の詳細動作>図11のフロ
ーチャートは、実施の形態2における図8のフローチャ
ートに対応するものである。両フローチャートを比較す
ればわかるように、連続する2つのページのステータス
ビットを示すSTAaとSTAbを設定する際に、本実
施形態では、多数決処理後の値(3ビット値)を設定し
(ステップS50、S54)、その多数決処理後の3ビ
ットのステータスビットSTAaとSTAbを比較する
ことにより最新書込ページを検出している(ステップS
36)。
【0047】本実施形態におけるリングバッファとして
使用するバッファ領域の各ページのステータスビットは
「000」か「111」のいずれかの値であり、ページ
に書込を行う毎にそのページのステータスビットの値は
この2つの間で交互に切り替わる。ところが、メモリ1
8への書込エラー等によりこれらの2種類以外の値がス
テータスビットとして書き込まれる場合があり、例えば
図9(a)に示すようになる場合がある。本実施の形態
によれば、このような場合であっても、多数決処理後の
ステータスビットを用いて最新書込ページが検出され
る。すなわち「101」は「111」として、「00
1」は「000」として最新書込ページが検出され、そ
の結果に応じてライトポインタWptrおよびリードポイ
ンタRptrが設定される(図9(b)参照)。したがっ
て、或る程度のメモリ書込エラー等が発生してもライト
ポインタWptrおよびリードポインタRptrが正しく設定
され、リングバッファに対する書き込みや読み出しの動
作の信頼性が向上する。
【0048】実施の形態4. <4.1 全体の構成および動作>次に、本発明の実施
の形態4であるICカードについて説明する。このIC
カードは、メモリ18内のリングバッファとして使用す
るバッファ領域の各ページにおけるステータス領域a1
が1バイトで構成され、図10に示すように、そのうち
3ビットの領域には上記実施の形態3と同様にステータ
スビットが格納されるが、残りの5ビットの領域には書
込確認データが格納される。すなわち、リングバッファ
への書き込みを行う毎に、その書き込み対象のページに
予め決められた5ビットデータ(例えば「10101」
という固定ビットパターン)を書込確認データとして書
き込んでおき、その後、リングバッファにおける最新書
込ページの検出に基づくライトポインタやリードポイン
タの設定の際や、リングバッファからのデータの読み出
しの際などに、リングバッファの各ページや読出対象ペ
ージの書込確認データを読み出し、読み出した書込確認
データに基づきそのページに書き込まれているデータ
(履歴情報)が正しいか否かを判断する。
【0049】本実施形態のICカードのハードウェア構
成や各コマンドの実行処理などは、基本的には上記実施
の形態3と同様である(図1、図9、図11参照)。し
かし、本実施形態では、書込確認データの導入による上
記特徴から、リングバッファのライトポインタおよびリ
ードポインタの設定のための制御回路16の動作などが
若干相違する。以下、この相違点を中心に本実施形態の
ICカードの動作を説明する。
【0050】<4.2 要部の詳細動作> <4.2.1 ポインタの設定>本実施形態におけるリン
グバッファのライトポインタおよびリードポインタの設
定のための処理では、上記実施の形態3と同様、3ビッ
トのステータスビットを用いて多数決処理を利用しつつ
最新書込ページを検出する(図11のステップS50〜
S62参照)。しかし、検出された最新書込ページに基
づいてリードポインタRptrおよびライトポインタWptr
を設定するための処理内容が相違する。すなわち、図1
1におけるステップS64の代わりに図12(a)に示
す処理(以下「ポインタ設定処理A」という)が行わ
れ、図11おけるステップS66の代わりに図12
(b)に示す処理(以下「ポインタ設定処理B」とい
う)が行われる。
【0051】図12(a)のポインタ設定処理Aは、リ
ングバッファにおいて連続する2つのページであるペー
ジk−1とkとでステータスビットの値(多数決処理後
の値)が相違する場合の処理である。この場合、ページ
k−1におけるステータス領域a1から書込確認データ
を読み出し(ステップS150)、読み出した書込確認
データが予め決められた値に等しいか否かを判定する
(ステップS152)。その結果、予め決められた値に
等しければ、そのページk−1には正しくデータが書き
込まれているとし、ページk−1が最新書込ページであ
るとして、リードポインタRptrをk−1に設定し、ラ
イトポインタWptrをkに設定する(ステップS16
0)。
【0052】ステップS152において、ページk−1
から読み出した書込確認データが予め決められた値に等
しくないと判定された場合は、そのページk−1にデー
タが正しく書き込まれていないものと判断する。この場
合、ページk−1の一つ前のページが最新書込ページで
あるとしてポインタの設定を行う。すなわち、この場
合、ステップS154へ進んでページ番号kが2か否か
を判定し(ステップS154)、kが2でなければ、ペ
ージk−2が最新書込ページであるとして、リードポイ
ンタRptrをk−2に設定し、ライトポインタWptrをk
−1に設定する(ステップS162)。kが2であれ
ば、バッファ領域の最終ページNを最新書込ページであ
るとして、リードポインタRptrを最終ページNに設定
し、ライトポインタWptrを1に設定する(ステップS
156)。
【0053】図12(b)のポインタ設定処理Bは、リ
ングバッファにおける各ページのステータスビットの値
(多数決処理後の値)が全て同一である場合の処理であ
る。この場合、ページkすなわち最終ページNにおける
ステータス領域a1から書込確認データを読み出し(ス
テップS170)、読み出した書込確認データが予め決
められた値に等しいか否かを判定する(ステップS17
2)。その結果、予め決められた値に等しければ、その
ページkには正しくデータが書き込まれているとする。
この場合、リングバッファの全てのページのステータス
ビットが同一の値であって、そのページkが最新書込ペ
ージであるとして、リードポインタRptrをk(最終ペ
ージN)に設定し、ライトポインタWptrを1に設定す
る(ステップS176)。
【0054】ステップS172において、ページkから
読み出した書込確認データが予め決められた値に等しく
ないと判定された場合は、そのページk(最終ページ
N)にデータが正しく書き込まれていないと判断する。
この場合は、ページkの一つ前のページk−1が最新書
込ページであるとして、リードポインタRptrをk−1
に設定し、ライトポインタWptrをkに設定する(ステ
ップS174)。
【0055】<4.2.2 ライトコマンド実行処理>図
13は、本実施形態において、リングバッファに履歴情
報を書き込むためのライトコマンドの実行処理(図3の
ステップS18)の手順を示すフローチャートである。
この場合、上記のポインタ設定処理(図12等)により
得られるリードポインタRptrおよびライトポインタWp
trを予め制御回路16が保持しており、ライトコマンド
では書込対象のページは指定されず、履歴情報が書込デ
ータとしてライトコマンドと共にリーダライタ200か
ら送られてくる。制御回路16は、ライトコマンドを認
識すると、制御回路16内に保持されたリードポインタ
RptrおよびライトポインタWptrを用いて、メモリ18
に対する読み出しおよび書き込みを行うためのアドレス
を生成する(ステップS220)。次に、生成されたア
ドレスを用いて、リードポインタRptrの指すページの
ステータスビットを読み出した後(ステップS22
2)、ライトコマンドとともにリーダライタ200から
送られた履歴情報をメモリ18におけるリングバッファ
に書き込む(ステップS224)。このとき、EEPR
OMであるメモリ18に対して、その履歴情報を含む1
ページ分のデータが書き込まれ、そのページのステータ
ス領域a1には、ステータスビットとしてステップS2
22で読み出したステータスビットの値が書き込まれ
る。ただし、全ページのステータスビットが同じ場合
(図7(b)に示すようにリードポインタRptrがバッ
ファ領域の最後のページを指している場合)には、ステ
ップS222で読み出したステータスビットの反転値が
書き込まれる。このような書き込みにより、ライトポイ
ンタWptrが指すページのステータスビットの値が反転
することになる。また、ライトポインタWptrの指すペ
ージのステータス領域a1には、書込確認データとして
予め決められたデータ(例えば「10101」という固
定ビットパターン)が書き込まれる。以上により、ライ
トポインタWptrが指すページのステータスビットが更
新されたことになるとともに、後で、このページの今回
の書き込みが正しくなされたか否かのチェックが可能と
なる。ライトポインタWptrの指すページへの書き込み
が終了すると、このライトコマンドに対するレスポンス
をリーダライタ200に向けて送信し(ステップS22
6)。これにより、ライトコマンドの実行が終了する。
【0056】<4.2.3 リードコマンド実行処理>図
14は、リングバッファから履歴情報を読み出すための
リードコマンドの実行処理(図3のステップS20)の
手順を示すフローチャートである。この場合、上記のポ
インタ設定処理(図12等)により得られるリードポイ
ンタRptrを予め制御回路16が保持しており、リード
コマンドでは読出対象のページは指定されない。制御回
路16は、リードコマンドを認識すると、制御回路16
内に保持されたリードポインタRptrを用いて、メモリ
18からデータを読み出すためのアドレスを生成する
(ステップS230)。次に、このアドレスを用いて、
メモリ18におけるリングバッファから履歴情報を読み
出す(ステップS232)。そして、読み出した履歴情
報をリーダライタ200に向けて送信する(ステップS
234)。これにより、リードコマンドの実行が終了す
る。
【0057】<4.3 効果>本実施形態によれば、I
Cカード100のリングバッファへ履歴情報を書き込む
毎に書込確認データも書き込まれる(図13のステップ
S224参照)。その後にリングバッファに対する読み
出しまたは書き込みを行うためにICカードが動作エリ
アに入ってライトポインタWptrおよびリードポインタ
Rptrを設定する際に、最新書込ページとして検出され
たページの書込確認データがチェックされる。このチェ
ックにより、そのページへの書き込みが正しく行われて
いたか否かが調べられ(図12のステップS152、S
172参照)、正しく書き込みが行われていなかった場
合には、そのページの一つ前のページが最新書込ページ
であるとして、リングバッファのライトポインタWptr
およびリードポインタRptrが設定される(図12のス
テップS156、S162、S174、S176)。し
たがって、例えば、データの書込途中のICカードが動
作エリアから外れた場合、そのデータの書込が正しく行
われないことになるが、上記の書込確認データを利用し
たポインタ設定処理(図12)において、このようなI
Cカードへの書込不良のページが認識され、その書込不
良のデータを除去した形でリングバッファのライトポイ
ンタWptrおよびリードポインタRptrが設定される。そ
の結果、その後のリングバッファへのアクセスは正しく
行われることになる。
【0058】なお、上記実施例では、リードコマンドの
実行処理(図14)の前に必ずリングバッファのポイン
タ設定処理(図12)が実行される場合を想定している
ため、リングバッファからの読み出しにおいて書込確認
データのチェックを行う必要はない。しかし、上記以外
の場合を考慮して、リードコマンドの実行処理において
も、書込確認データのチェックにより、読出対象のペー
ジの履歴情報などが正しく書き込まれていたか否かを判
定するようにしてもよい。
【0059】<4.4 変形例>上記実施の形態4で
は、予め決められた固定のビットパターンを書込確認デ
ータとして使用するものとし、書込確認データはそれが
格納されるページのステータス情報以外のデータとは無
関係であるが、そのページのステータス情報以外の他の
データ(履歴情報など)と関連づけたもの、例えば誤り
検出コード等を書込確認データとしてもよい。
【0060】また上記実施の形態4では、各ページにお
ける1バイトのステータス領域a1のうち3ビットのス
テータスビットを除いた5ビットを書込確認データのた
めの領域としているが(図10参照)、ステータス領域
a1を1バイトまたはそれ以上拡張し(メモリ18への
アクセスの都合上、拡張バイト数は整数バイトとするの
が好ましい)、拡張した領域をも書込確認データの格納
領域としてもよい。このようにして書込確認データのビ
ット数を増やすと、前述の書込不良をより正確に検出
し、その検出結果に基づいて書込不良に対する対処が可
能であるため、ICカードにおけるリングバッファに対
する書き込みや読み出しの動作の信頼性を更に向上させ
ることができる。
【0061】
【発明の効果】本発明に係る第1のICカードによれ
ば、リングバッファとして使用される記憶領域を構成す
る各ページにはそのページへのデータ領域への書込を示
すステータス情報が格納され、外部のデータ読出/書込
装置から所定のコマンドが発行されると、上記記憶領域
の各ページのステータス情報が読み出され、データ読出
/書込装置に送られる。したがって、データ読出/書込
装置は、所定のコマンドを1回発行するだけで、ICカ
ードにおいて実現されているリングバッファの全ページ
のステータス情報を得て、これに基づき最新書込ページ
を検出し、この最新書込ページからリングバッファに対
するライトポインタ及びリードポインタを獲得すること
ができる。よって、最新書込ページを検出するためにバ
ッファ領域の全ページを読み出していた従来例や、最新
書込ページを示すポインタをEEPROM(不揮発性メ
モリ)に格納していた従来例に比べ、リングバッファに
対する読み出しや書き込みが高速化される。なお、最新
書込ページを示すポインタをEEPROMに格納してい
た従来例では、ポインタ領域の書き換えの回数が多いこ
とによるEEPROMの劣化が問題となるが、本ICカ
ードによればそのような問題も解消される。
【0062】本発明に係る第2のICカードによれば、
リングバッファとして使用される記憶領域を構成する各
ページのステータス領域に格納されるステータス情報は
予め同一の値に初期化されており、リングバッファに対
して書き込みが行われると、その書き込み対象のページ
のステータス情報を構成するビットの値が反転される。
そして、このような各ページのステータス情報を順次読
み出し、連続する2つのページのステータス情報を比較
することにより、リングバッファにおける最新書込ペー
ジが検出され、その最新書込ページに基づいてリングバ
ッファに対する読み出しや書き込みが行われる。したが
って、本ICカードによれば、ICカード内においてリ
ングバッファに対するライトポインタおよびリードポイ
ンタを短時間で獲得することができ、上記第1のICカ
ードと同様、最新書込ページを検出するためにバッファ
領域の全ページを読み出していた従来例や、最新書込ペ
ージを示すポインタをEEPROMに格納していた従来
例に比べ、リングバッファに対する読み出しや書き込み
が高速化される。
【0063】本発明に係る第3のICカードによれば、
上記第2のICカードと同様の動作が行われるが、リン
グバッファの各ページのステータス情報が1ビットで構
成されるため、ICカード内のメモリが効率よく利用さ
れ、メモリ容量の低減に寄与する。また、そのステータ
ス情報からリングバッファにおける最新書込ページを検
出するためのハードウェア量も低減される。
【0064】本発明に係る第4のICカードによれば、
上記第2のICカードの構成において、ステータス情報
が奇数個のビットから成り、その奇数個のビットが全て
同一値となるように初期化され、通常、リングバッファ
への書き込みに伴うステータス情報の更新後においても
そのステータス情報を構成するビットは全て同一値とな
るが、リングバッファの最新書込ページを検出する際に
は、各ページから読み出されたステータス情報に対する
多数決演算後の値が使用される。したがって、メモリへ
の書き込みエラー等により各ステータス情報を構成する
ビットが全て同一でなくても、各ステータス情報のビッ
ト数の過半数が同一の値であれば、最新書込ページが正
しく検出される。これにより、リングバッファに対する
読み出しおよび書き込みの信頼性が向上する。
【0065】本発明に係る第5のICカードによれば、
そのICカードに電源供給が開始された後、データ読出
/書込装置からコマンドを受け取る前に、リングバッフ
ァに対する読み出し位置を示すページ値(リードポイン
タ)および書き込み位置を示すページ値(ライトポイン
タ)が得られる。したがって、非接触ICカードのよう
にアナログ回路を有するICカードの場合には、電源供
給開始後そのアナログ回路の動作が安定するまでの間の
待機時間を利用して、デジタル回路によりリードポイン
タおよびライトポインタが設定されることになる。これ
により時間が有効利用され、結果として、ICカードの
リングバッファに対する読み出しや書き込みが実質的に
高速化されることになる。
【0066】本発明に係る第6のICカードによれば、
上記第2ないし第4のICカードのいずれかのICカー
ドにおいて、電源供給が開始された後、データ読出/書
込装置からコマンドを受け取る前に、リングバッファに
おける最新書込ページが検出され、その後に、この最新
書込ページに基づいてリングバッファに対する読み出し
または書き込みが行われる。したがって、上記第5のI
Cカードと同様、非接触ICカードのようにアナログ回
路を有するICカードの場合には、電源供給開始後その
アナログ回路の動作が安定するまでの間の待機時間を利
用して、デジタル回路により最新書込ページが検出さ
れ、これにより、ICカードのリングバッファに対する
読み出しや書き込みが実質的に高速化される。
【0067】本発明に係る第7のICカードによれば、
リングバッファの各ページのステータス領域の中にステ
ータス情報の他に書込確認データを格納するための領域
が設けられ、リングバッファへの書込時にここに格納さ
れる書込確認データにより、リングバッファへの書込が
正しく行われたか否かを判定することができる。この判
定結果に基づき書き込み不良に対処できるため、リング
バッファに対する読み出しや書き込みの信頼性を向上さ
せることができる。
【0068】本発明に係る第8のICカードによれば、
上記第7のICカードと同様の書込確認データが導入さ
れており、リングバッファの各ページのステータス情報
を順次読み出すことにより最新書込ページが検出された
とき、その最新書込ページのデータが正しく書き込まれ
ていなかった場合は、その最新書込ページの書込確認デ
ータに基づき、その最新書込ページの直前のページが改
めて最新書込ページとされる。これにより、書き込み不
良のページを除去した形で、その後のリングバッファへ
のアクセスを正しく行うことができる。
【図面の簡単な説明】
【図1】 本発明の実施の形態1であるICカードの概
略構成を示すブロック図。
【図2】 リングバッファとして使用するバッファ領域
の構成を示す図。
【図3】 前記実施の形態1における全体動作を示すフ
ローチャート。
【図4】 前記実施の形態1におけるコラムリードコマ
ンドの実行を示すフローチャート。
【図5】 前記実施の形態1におけるライトコマンドの
実行を示すフローチャート。
【図6】 前記実施の形態1におけるリードコマンドの
実行を示すフローチャート。
【図7】 本発明の実施の形態2におけるバッファ領域
の構成を示す図。
【図8】 前記実施の形態2におけるリードポインタR
ptrおよびライトポインタWptrの設定を示すフローチャ
ート。
【図9】 本発明の実施の形態3におけるバッファ領域
の構成を示す図。
【図10】 本発明の実施の形態4におけるステータス
領域の構成を示す図。
【図11】 前記実施の形態3におけるリードポインタ
RptrおよびライトポインタWptrの設定を示すフローチ
ャート。
【図12】 前記実施の形態4におけるリードポインタ
RptrおよびライトポインタWptrの設定の要部を示すフ
ローチャート。
【図13】 前記実施の形態4におけるライトコマンド
の実行を示すフローチャート。
【図14】 前記実施の形態4におけるリードコマンド
の実行を示すフローチャート。
【図15】 ICカードにおけるリングバッファの実現
を説明するための図。
【符号の説明】
100…ICカード 200…リーダライタ 10 …アンテナ 12 …変復調回路 14 …入出力回路 16 …制御回路 18 …メモリ(EEPROM)

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 データ読出/書込装置からコマンドを受
    け取り、受け取ったコマンドに基づき前記データ読出/
    書込装置との間でデータの授受を行うICカードにおい
    て、 前記データ読出/書込装置からコマンドを含むデータを
    受け取る受信手段と、 前記データ読出/書込装置へデータを送り出す送信手段
    と、 前記データ読出/書込装置から受け取ったデータを格納
    するためのデータ領域と該データ領域への書き込みを示
    すステータス情報を格納するためのステータス領域とを
    含むページを複数集めて構成される記憶領域であってリ
    ングバッファとして使用される記憶領域を有する記憶手
    段と、 前記データ読出/書込装置から受け取ったデータを前記
    データ領域に書き込んだときに、該データを書き込んだ
    前記データ領域を含むページのステータス領域に該書込
    を示すステータス情報を書き込む書込制御手段と、 前記データ読出/書込装置からのデータとして受信手段
    により所定のコマンドを受け取ると、前記記憶領域内の
    全てのページにつき、ステータス領域に格納されたステ
    ータス情報を順次読み出し、読み出したステータス情報
    を送信手段によりデータ読出/書込装置へ送出する読出
    制御手段と、を備えることを特徴とするICカード。
  2. 【請求項2】 データ読出/書込装置からコマンドを受
    け取り、受け取ったコマンドに基づき前記データ読出/
    書込装置との間でデータの授受を行うICカードにおい
    て、 前記データ読出/書込装置からコマンドを含むデータを
    受け取る受信手段と、 前記データ読出/書込装置へデータを送り出す送信手段
    と、 前記データ読出/書込装置から受け取ったデータを格納
    するためのデータ領域と該データ領域への書き込みを示
    すステータス情報を格納するためのステータス領域とを
    含むページを複数集めて構成される記憶領域であってリ
    ングバッファとして使用される記憶領域を有する記憶手
    段と、 前記記憶領域を構成する全てのページのステータス情報
    を同一の値に予め初期化しておき、前記データ読出/書
    込装置から受け取ったデータを前記データ領域に書き込
    んだときに、該データを書き込んだ前記データ領域を含
    むページのステータス情報を構成するビットの値を反転
    させる書込制御手段と、 前記記憶領域内の各ページのステータス情報を順次読み
    出し、読み出したステータス情報の値が直前に読み出し
    たステータス情報の値と異なる場合に、該直前に読み出
    したステータス情報が格納されていたページをデータ領
    域に最新に書き込みが行われた最新書込ページとし、読
    み出したステータス情報の値が前記記憶領域内の全ペー
    ジにわたって同一の場合に、最後に読み出したステータ
    ス情報が格納されていたページを最新書込ページとし
    て、該最新書込ページに基づき、リングバッファとして
    使用される前記記憶領域に対するデータの読み出しおよ
    び書き込みを制御するリングバッファ制御手段と、を備
    えることを特徴とするICカード。
  3. 【請求項3】 請求項2に記載のICカードにおいて、 前記ステータス情報は1ビットから成ることを特徴とす
    るICカード。
  4. 【請求項4】 請求項2に記載のICカードにおいて、 前記ステータス情報は奇数個のビットから成り、 前記書込制御手段は、前記ステータス情報を構成する前
    記奇数個のビットの値が全て同一となるように初期化
    し、 前記リングバッファ制御手段は、読み出したステータス
    情報に対する多数決演算により値の異なるビットを含ま
    ないステータス情報を生成し、読み出したステータス情
    報に代えて該多数決演算によって生成したステータス情
    報を用いることにより、最新書込ページを検出する、こ
    とを特徴とするICカード。
  5. 【請求項5】 データ読出/書込装置からコマンドを受
    け取り、受け取ったコマンドに基づき前記データ読出/
    書込装置との間でデータの授受を行うICカードにおい
    て、 前記データ読出/書込装置からコマンドを含むデータを
    受け取る受信手段と、 前記データ読出/書込装置へデータを送り出す送信手段
    と、 前記データ読出/書込装置から受け取ったデータを格納
    するための領域を含むページを複数集めて構成される記
    憶領域であってリングバッファとして使用される記憶領
    域を有する記憶手段と、 前記記憶領域をリングバッファとして使用するための読
    み出し位置または書き込み位置を示すページの値を、当
    該ICカードに電源供給が開始された後、前記データ読
    出/書込装置からコマンドを受け取る前に検出するリン
    グバッファ制御手段と、を備えることを特徴とするIC
    カード。
  6. 【請求項6】 請求項2ないし請求項4のいずれかに記
    載のICカードにおいて、 前記リングバッファ制御手段は、当該ICカードに電源
    供給が開始された後、前記データ読出/書込装置からコ
    マンドを受け取る前に、前記最新書込ページを検出する
    ことを特徴とするICカード。
  7. 【請求項7】 請求項2に記載のICカードにおいて、 前記記憶領域内の各ページのステータス領域のサイズが
    整数バイトであり、該ステータス領域内にステータス情
    報の格納に使用される領域以外の領域として書込確認用
    データ領域を設け、 前記書込制御手段は、前記データ読出/書込装置から受
    け取ったデータを前記データ領域に書き込んだときに、
    該データを書き込んだ前記データ領域を含むページのス
    テータス情報を構成するビットの値を反転させるととも
    に、該ページのステータス領域内の書込確認用データ領
    域に、該データが前記データ領域に正しく書き込まれた
    か否かを確認するためのデータを書き込む、ことを特徴
    とするICカード。
  8. 【請求項8】 請求項7に記載のICカードにおいて、 前記リングバッファ制御手段は、 i)前記記憶領域内の各ページのステータス情報の読み
    出しにより最新書込ページが検出されたときに、該最新
    書込ページの書込確認用データを読み出して、該書込確
    認用データにより該最新書込ページのデータ領域に正し
    くデータが書き込まれていたか否かを判定する判定手段
    と、 ii)該最新書込ページのデータ領域に正しくデータが書
    き込まれていないと判定された場合に、該最新書込ペー
    ジの直前のページを改めて最新書込ページとする最新書
    込ページ変更手段と、を含むことを特徴とするICカー
    ド。
JP9198305A 1997-07-24 1997-07-24 Icカード Pending JPH1139450A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP9198305A JPH1139450A (ja) 1997-07-24 1997-07-24 Icカード
KR1019980007230A KR100273614B1 (ko) 1997-07-24 1998-03-05 아이씨 카드
TW087103189A TW366473B (en) 1997-07-24 1998-03-05 IC card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9198305A JPH1139450A (ja) 1997-07-24 1997-07-24 Icカード

Publications (1)

Publication Number Publication Date
JPH1139450A true JPH1139450A (ja) 1999-02-12

Family

ID=16388931

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9198305A Pending JPH1139450A (ja) 1997-07-24 1997-07-24 Icカード

Country Status (3)

Country Link
JP (1) JPH1139450A (ja)
KR (1) KR100273614B1 (ja)
TW (1) TW366473B (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004012085A1 (ja) * 2002-07-25 2004-02-05 Sanyo Electric Co., Ltd. 機密データの入出力処理に関する履歴情報を重複することなく複数格納できるデータ記憶装置
US7555629B2 (en) 2005-05-24 2009-06-30 Samsung Electronics Co., Ltd. Memory card providing hardware acceleration for read operations
JP2009163339A (ja) * 2007-12-28 2009-07-23 Toppan Printing Co Ltd Ic媒体、ic媒体制御プログラム、履歴情報読出し方法
US7716746B2 (en) 2002-03-05 2010-05-11 Sanyo Electric Co., Ltd. Data storing device for classified data
US7752461B2 (en) 2002-01-15 2010-07-06 Sanyo Electric Co., Ltd. Storage apparatus that can properly recommence input and output of classified data
JP2017111078A (ja) * 2015-12-18 2017-06-22 株式会社東芝 漏水検出装置
US10568839B2 (en) 2011-01-11 2020-02-25 Capsugel Belgium Nv Hard capsules
US11319566B2 (en) 2017-04-14 2022-05-03 Capsugel Belgium Nv Process for making pullulan
US11576870B2 (en) 2017-04-14 2023-02-14 Capsugel Belgium Nv Pullulan capsules

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7752461B2 (en) 2002-01-15 2010-07-06 Sanyo Electric Co., Ltd. Storage apparatus that can properly recommence input and output of classified data
US7716746B2 (en) 2002-03-05 2010-05-11 Sanyo Electric Co., Ltd. Data storing device for classified data
WO2004012085A1 (ja) * 2002-07-25 2004-02-05 Sanyo Electric Co., Ltd. 機密データの入出力処理に関する履歴情報を重複することなく複数格納できるデータ記憶装置
US7650328B2 (en) 2002-07-25 2010-01-19 Sanyo Electric Co., Ltd. Data storage device capable of storing multiple sets of history information on input/output processing of security data without duplication
US7555629B2 (en) 2005-05-24 2009-06-30 Samsung Electronics Co., Ltd. Memory card providing hardware acceleration for read operations
JP2009163339A (ja) * 2007-12-28 2009-07-23 Toppan Printing Co Ltd Ic媒体、ic媒体制御プログラム、履歴情報読出し方法
US10568839B2 (en) 2011-01-11 2020-02-25 Capsugel Belgium Nv Hard capsules
JP2017111078A (ja) * 2015-12-18 2017-06-22 株式会社東芝 漏水検出装置
US11319566B2 (en) 2017-04-14 2022-05-03 Capsugel Belgium Nv Process for making pullulan
US11576870B2 (en) 2017-04-14 2023-02-14 Capsugel Belgium Nv Pullulan capsules
US11878079B2 (en) 2017-04-14 2024-01-23 Capsugel Belgium Nv Pullulan capsules

Also Published As

Publication number Publication date
KR19990013323A (ko) 1999-02-25
TW366473B (en) 1999-08-11
KR100273614B1 (ko) 2000-12-15

Similar Documents

Publication Publication Date Title
US11789521B2 (en) Card and host apparatus
US8756384B2 (en) Information processing device and information processing method for data recovery after failure
JP3820999B2 (ja) 近接通信システム及び近接通信方法、データ管理装置及びデータ管理方法、記憶媒体、並びにコンピュータ・プログラム
US6330633B1 (en) Data processing method and apparatus
US9418224B2 (en) Portable electronic device and control method of portable electronic device
JPH1139450A (ja) Icカード
KR20020036717A (ko) 마이크로컴퓨터 및 그 제어 방법
KR100399603B1 (ko) 스마트 카드와 이의 os 프로그램 저장/삭제 및 실행방법
CN102279933B (zh) 通信设备和通信方法
US7346730B2 (en) Mobile electronic device
JP5633125B2 (ja) 情報処理方法、情報処理装置、およびプログラム
JP2005293362A (ja) データキャリア及びデータキャリアのプログラム
JP3655475B2 (ja) Icカード
JPH1027225A (ja) 非接触icカードのメモリ管理方式
JP2018147345A (ja) 電子装置
JP2013191117A (ja) Icチップ、atr応答処理プログラム、及びatr応答方法
JP3243591B2 (ja) 非接触型データキャリア
JP2009032249A (ja) 携帯可能電子装置、携帯可能電子装置のファイル管理方法及びicカード
JP2013191116A (ja) Icチップ、atr応答処理プログラム、及びatr応答方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040427

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060314

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060808