JPH06161905A - データの検証方法 - Google Patents

データの検証方法

Info

Publication number
JPH06161905A
JPH06161905A JP4339610A JP33961092A JPH06161905A JP H06161905 A JPH06161905 A JP H06161905A JP 4339610 A JP4339610 A JP 4339610A JP 33961092 A JP33961092 A JP 33961092A JP H06161905 A JPH06161905 A JP H06161905A
Authority
JP
Japan
Prior art keywords
data
digits
code
read
crc check
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.)
Granted
Application number
JP4339610A
Other languages
English (en)
Other versions
JP3222592B2 (ja
Inventor
Kazuyoshi Irisawa
和義 入澤
Hirotsugu Harima
博嗣 針間
Teruaki Jo
輝明 城
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing 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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP33961092A priority Critical patent/JP3222592B2/ja
Publication of JPH06161905A publication Critical patent/JPH06161905A/ja
Application granted granted Critical
Publication of JP3222592B2 publication Critical patent/JP3222592B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 より確実なデータエラーの検出を行うことが
できるデータの検証方法を提供する。 【構成】 メモリへのデータ書込時に、このデータにつ
いてのCRCチェックコードを発生させ、このCRCチ
ェックコードをデータとともに書き込むようする。ただ
し、全桁が0であるようなデータの書き込みは禁止す
る。データ読出時には、次のような検証を行う。まず、
読み出したCRCチェックコードの全桁が0であるか判
断し(S1)、否定的判断がなされたときには、ステッ
プS4において通常のCRCチェック処理を行う。肯定
的判断がなされたときには、ステップS2において、読
み出したデータの全桁が0であるか判断し(S2)、否
定的判断がなされたときには、ステップS4において通
常のチェック処理を行う。肯定的判断がなされたときに
は、エラーが生じていると判断する(S3)。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータの検証方法、特
に、CRCチェックコードを用いたデータの検証方法に
関する。
【0002】
【従来の技術】半導体メモリの集積度の向上とともに、
種々の情報記録媒体が普及している。たとえば、磁気カ
ードに代わる新たな情報記録媒体として、最近ではIC
カードが脚光を浴びている。このICカードには、薄型
のRAM、ROM、EEPROMなどのメモリ素子が内
蔵されている。このような携帯型の情報記録媒体には、
非常に重要な個人データが保存されることが多く、書き
込んだデータを読み出すときに、データエラーが生じて
いないかどうかを検証することは非常に重要である。こ
のため、データを書き込むときには、このデータにエラ
ーチェックコードを付加するのが一般的である。ICカ
ードにおいて一般的に用いられているエラーチェックコ
ードは、ISO−CCITTの規格に基づくCRC(Cy
clic Redundancy Check )チェックコードである。たと
えば、データDを書き込むときには、このデータDに基
づいて所定のアルゴリズムの論理演算を行い、CRCチ
ェックコードXを発生させ、データDとともにコードX
をメモリに書き込んでおく。そして、データDを読み出
すときには、コードXも一緒に読み出すようにし、この
コードXがデータDに基づく所定の論理演算によって発
生された正しいコードであるか否かを検証するのであ
る。コードXがデータDに対する正しいコードでない場
合には、データDかコードXがデータ化けを起こし、デ
ータエラーが生じているものと判断することができる。
通常は、書き込みを行った後に直ちに読み出しを行って
データエラーの有無を判断するベリファイ処理が行われ
ている。
【0003】
【発明が解決しようとする課題】ICカードに内蔵され
たEEPROMに対する書込処理中に、CPUの暴走、
書込回路の断線などの事故が生じた場合、書込対象とな
るデータDおよびそのCRCチェックコードXはデータ
化けして書き込まれることになる。このとき、データD
およびコードXのすべての桁が0にデータ化けして書き
込まれてしまうことが多い。ところが、CRCチェック
コードによる検証アルゴリズムによると、すべての桁が
0からなるデータDについて、すべての桁が0からなる
コードXは、正しいコードとして判断されることにな
る。したがって、すべての桁が0にデータ化けした場
合、従来のデータの検証方法ではデータエラーの検出を
行うことができなかった。
【0004】そこで本発明は、より確実なデータエラー
の検出を行うことができるデータの検証方法を提供する
ことを目的とする。
【0005】
【課題を解決するための手段】本発明は、メモリへのデ
ータ書込時に、このデータについてのCRCチェックコ
ードを発生させ、このCRCチェックコードをデータと
ともに書き込むようにし、データ読出時に、このデータ
をCRCチェックコードとともに読出し、読出したCR
Cチェックコードが読出したデータについての正しいコ
ードであるか否かを調べるデータの検証方法において、
読出したCRCチェックコードの全桁が0であり、か
つ、読出したデータの全桁が0である場合には、エラー
が生じていると判断するようにしたものである。
【0006】
【作 用】全桁が0であるようなデータDについてのC
RCチェックコードXは、やはり全桁が0であるような
コードになる。ただし、逆に、全桁が0であるようなC
RCチェックコードXを発生させるようなデータDは、
必ずしも全桁が0であるとは限らない。0ではない桁を
もったデータDについてのCRCチェックコードXが、
偶然に、全桁が0であるようなコードになる場合もあ
る。本発明は、そもそも、全桁が0であるようなデータ
Dを意図的に書き込むようなことはないとの前提をおく
ことにより適用することができる。すなわち、読み出さ
れたCRCチェックコードXの全桁が0であったような
場合には、これに対応するデータDの全桁も0であるか
否かを調べ、データDの全桁が0であった場合には、C
RCチェックの論理上は正しくても、これをデータエラ
ーと判断することにより、より確実な検証が可能にな
る。
【0007】
【実施例】以下、本発明を図示する実施例に基づいて説
明する。ここでは、ICカードに内蔵されているEEP
ROMに、レコード1,2,3から構成されるファイル
を書き込む処理を行った場合を例にとって説明する。い
ま、レコード1のデータをD1、レコード2のデータを
D2、レコード3のデータをD3とすると、この3つの
レコードは、図1に示すように、EEPROM内に書き
込まれることになる。すなわち、データD1にはコード
X1が、データD2にはコードX2が、データD3には
コードX3が、それぞれ付加された状態で書き込みが行
われることになる。ここで、コードX1〜X3は、それ
ぞれデータD1〜D3に基づいて発生されたCRCチェ
ックコードである。
【0008】ISO−CCITTの規格に基づくCRC
チェックコードXは、データDを所定の値P(具体的に
は、2進数表示で「1000100000010000
1」なる17ビットの数)で割ったときの余りとして定
義されている。したがって、たとえば、レコード1につ
いての書き込みを行う場合には、データD1をPで割っ
たときの余りとして、コードX1を生成する演算が行わ
れることになる。書き込みが行われた場合には、直ちに
これを読み出して検証するベリファイ処理が実行され
る。すなわち、レコード1についての書き込みが完了し
たら、直ちに、データD1とコードX1とを読み出し、
読み出したデータD1を所定の値Pで割ったときの余り
が、読み出したコードX1に一致するか否かが判断され
ることになる。一致すれば、支障なく書き込みが行われ
たと判断することができる。一致しなければ、何らかの
データエラーが生じたものと判断し、書込処理はやり直
される。このような検証を行うことにより、書込時のデ
ータエラーを防ぐことができる。
【0009】ところが、この従来の検証方法では、書込
時にすべての桁が0に化けてしまったような場合に、エ
ラーの検出を行うことができない。たとえば、レコード
2を書き込むときに、書込処理回路の断線などの事故が
起こった場合を考えよう。ここで、本来書き込むべきデ
ータD2は、何らかの値をもつデータ(すなわち、全桁
がいずれも0であるようなデータではない)であるとす
る。このデータD2を所定の値Pで割ったときの余りと
してコードX2が得られる。なお、このコードX2は、
偶然、全桁が0であるような場合もありうる。さて、レ
コード2の書込処理は、データD2とともにコードX2
を所定のアドレスに書き込む作業を行うことによって実
行されるが、このとき、書込処理回路の断線などの事故
が起こり、データD2およびコードX2を書き込むべき
メモリ領域のビットがすべて0になってしまったとす
る。この場合、データD2およびコードX2を読み出す
と、いずれもすべての桁が0に化けてしまっている。と
ころが、CRCチェックにおいて、全桁が0であるデー
タを、所定の値Pで割ったときの余りは、やはり全桁が
0である。したがって、全桁が0であるデータD2につ
いて、全桁が0であるコードX2は、CRCチェックに
おいては正しいコードと判断され、この場合のデータエ
ラーは検出されない。一般に、CPUの暴走、書込処理
回路の断線などの事故により、全桁が0として書き込ま
れるようなケースは少なくない。
【0010】本発明によるデータの検証方法では、図2
の流れ図に示すような手順を行うことにより、上述のよ
うなケースについてもデータエラーの検出を行いうるよ
うにしたものである。まず、ステップS1において、読
み出したCRCチェックコードについて「全桁が0」で
あるか否かを判断する。「全桁が0」ではない場合に
は、ステップS4において、通常のチェック処理(すな
わち、従来から行われているCRCチェック処理)を行
う。一方、ステップS1において、「全桁が0」であっ
た場合には、更に、ステップS2において、読み出した
データについて「全桁が0」であるか否かを判断する。
ここで、「全桁が0」ではない場合には、やはりステッ
プS4において通常のチェック処理を行う。一方、ステ
ップS2においても「全桁が0」であるとの判断がなさ
れた場合には、通常のチェック処理を行わずに(通常の
チェック処理を行うと、エラーにはならない)、ステッ
プS3において無条件にデータエラーと判断する。
【0011】上述したレコード2について、図2に示す
検証手順を行えば、まず、ステップS1において、コー
ドX2が「全桁が0」と判断され、更に、ステップS2
において、データD2が「全桁が0」と判断されるた
め、ステップS3においてデータエラーの検出が行われ
ることになる。
【0012】図2に示す検証手順における唯一の問題点
は、本来書き込むべきデータD2が「全桁が0」である
ようなデータの場合である。このような場合、データD
2およびコードX2が正しく書き込まれたとしても、ス
テップS3においてエラーと判断されてしまうことにな
る。しかしながら、「全桁が0」であるようなデータの
書き込みを禁止するような取決めを行っておけば、この
問題は解消する。通常は、すべての桁が0であるような
データからなるレコードを記録するような事態は考えに
くく、上述のような取決めを行っても実用上は問題な
い。
【0013】以上、本発明をICカードのEEPROM
に対するデータ書き込みを例にとって説明したが、本発
明はICカード以外についても広く適用可能である。
【0014】
【発明の効果】以上のとおり、本発明に係るデータの検
証方法によれば、全桁が0であるようなデータDを意図
的に書き込むようなことはないとの前提をおき、読み出
されたCRCチェックコードXの全桁が0であり、か
つ、これに対応するデータDの全桁も0である場合に
は、これをデータエラーと判断するようにしたため、よ
り確実な検証が可能になる。
【図面の簡単な説明】
【図1】ICカードに内蔵されたEEPROMに3つの
レコードを書き込んだ状態を示す図である。
【図2】本発明によるデータの検証方法の手順を示す流
れ図である。
【符号の説明】
D1〜D3…書き込むべきデータ X1〜X3…CRCチェックコード

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 メモリへのデータ書込時に、このデータ
    についてのCRCチェックコードを発生させ、このCR
    Cチェックコードをデータとともに書き込むようにし、
    データ読出時に、このデータをCRCチェックコードと
    ともに読出し、読出したCRCチェックコードが読出し
    たデータについての正しいコードであるか否かを調べる
    データの検証方法において、読出したCRCチェックコ
    ードの全桁が0であり、かつ、読出したデータの全桁が
    0である場合には、エラーが生じていると判断すること
    を特徴とするデータの検証方法。
JP33961092A 1992-11-26 1992-11-26 データの検証装置 Expired - Lifetime JP3222592B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33961092A JP3222592B2 (ja) 1992-11-26 1992-11-26 データの検証装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33961092A JP3222592B2 (ja) 1992-11-26 1992-11-26 データの検証装置

Publications (2)

Publication Number Publication Date
JPH06161905A true JPH06161905A (ja) 1994-06-10
JP3222592B2 JP3222592B2 (ja) 2001-10-29

Family

ID=18329121

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33961092A Expired - Lifetime JP3222592B2 (ja) 1992-11-26 1992-11-26 データの検証装置

Country Status (1)

Country Link
JP (1) JP3222592B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010250700A (ja) * 2009-04-17 2010-11-04 Daikin Ind Ltd Eepromのデータエラーチェック方法、及び制御ユニット
JP2012039573A (ja) * 2010-08-11 2012-02-23 Nec Corp 受信装置および受信方法、プログラム、並びに通信システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010250700A (ja) * 2009-04-17 2010-11-04 Daikin Ind Ltd Eepromのデータエラーチェック方法、及び制御ユニット
JP2012039573A (ja) * 2010-08-11 2012-02-23 Nec Corp 受信装置および受信方法、プログラム、並びに通信システム

Also Published As

Publication number Publication date
JP3222592B2 (ja) 2001-10-29

Similar Documents

Publication Publication Date Title
US4531213A (en) Memory through checking system with comparison of data word parity before and after ECC processing
JP2772391B2 (ja) 不良データアルゴリズム
US8327230B2 (en) Data structure for flash memory and data reading/writing method thereof
JPH02278449A (ja) フオールト・トレラント・メモリ・システム
CN111428280B (zh) SoC安全芯片密钥信息完整性存储及错误自修复方法
KR920010972B1 (ko) 고장 방지 컴퓨터 메모리 시스템
US5768494A (en) Method of correcting read error in digital data processing system by implementing a predetermind number of data read retrials
JPH06161905A (ja) データの検証方法
US6754857B2 (en) Method of testing cache memory
JP3391475B2 (ja) データの書き込み方法および読み出し方法ならびにこれらの方法を実施するデータ記録再生装置
JPH05216771A (ja) データ処理装置内の重要データの回復可能性を保証する方法と装置
JP3130796B2 (ja) 制御記憶装置
JPH0290816A (ja) 誤り訂正方法および回路
JP3154853B2 (ja) イリーガルメモリアクセス検出方式
JP3129865B2 (ja) データの検証方法
JP2864288B2 (ja) Icカードにおけるエラーチェック方法
JPH11272566A (ja) Nor型フラッシュメモリを用いた記憶装置
JPH0675717A (ja) ハードディスクのリードエラーリカバリ方式
JP3055986B2 (ja) データ書き込み方法
JPH0756816A (ja) メモリの制御装置
JPH08129510A (ja) メモリデータ訂正装置
JPS60258663A (ja) メモリエラ−処理回路
JPH02143352A (ja) メモリエラー検出修正方式
JPS6327940A (ja) 記憶制御装置
JPS5823678B2 (ja) ジコチエツクキノウオユウスルアヤマリテイセイカイロ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080817

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090817

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090817

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100817

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110817

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110817

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120817

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120817

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130817

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130817

Year of fee payment: 12