JP3222592B2 - データの検証装置 - Google Patents

データの検証装置

Info

Publication number
JP3222592B2
JP3222592B2 JP33961092A JP33961092A JP3222592B2 JP 3222592 B2 JP3222592 B2 JP 3222592B2 JP 33961092 A JP33961092 A JP 33961092A JP 33961092 A JP33961092 A JP 33961092A JP 3222592 B2 JP3222592 B2 JP 3222592B2
Authority
JP
Japan
Prior art keywords
data
read
code
digits
processing means
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.)
Expired - Lifetime
Application number
JP33961092A
Other languages
English (en)
Other versions
JPH06161905A (ja
Inventor
和義 入澤
博嗣 針間
輝明 城
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

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

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チェッ
クコードを該単位データに対応づけてメモリへ書き込む
書込処理と、 メモリから単位データを読み出す時に、該
単位データとともに、該単位データに対応づけられたC
RCチェックコードを読み出す読出処理と、 この読出処
理によって読み出された単位データについてCRCチェ
ックコードを発生させ、この発生させたCRCチェック
コードが、読出処理によって読み出されたCRCチェッ
クコードと一致しない場合に、読出処理によって読み出
された単位データに対してデータエラーとの判断結果を
出力する検証処理と、 を行う機能をもたせ、 読出処理に
よって読み出された単位データの全桁が0であり、か
つ、読出処理によって読み出されたCRCチェックコー
ドの全桁が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】
【発明の効果】以上のとおり、本発明に係るデータの検
装置によれば、読み出されたCRCチェックコードX
の全桁が0であり、かつ、これに対応するデータDの全
桁も0である場合には、これをデータエラーとする判断
結果が得られるため、全桁が0であるようなデータDを
意図的に書き込むようなことはないとの前提の下におい
て、より確実な検証が可能になる。
【図面の簡単な説明】
【図1】ICカードに内蔵されたEEPROMに3つの
レコードを書き込んだ状態を示す図である。
【図2】本発明によるデータの検証方法の手順を示す流
れ図である。
【符号の説明】
D1〜D3…書き込むべきデータ X1〜X3…CRCチェックコード
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−95426(JP,A) 特開 昭63−217454(JP,A) 特開 昭52−9335(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/16 G06F 11/10 G06F 13/00 H04L 1/00

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 メモリに所定のビット長をもった単位デ
    ータを書き込み、後に、この単位データを前記メモリか
    ら読み出す処理を行ったときに、読み出された単位デー
    タが正しいものであるか否かを検証するためのデータの
    検証装置であって、 前記メモリへ単位データを書き込む時に、該単位データ
    についてCRCチェックコードを発生させ、この発生さ
    せたCRCチェックコードを該単位データに対応づけて
    前記メモリへ書き込む書込処理手段と、 前記メモリから単位データを読み出す時に、該単位デー
    タとともに、該単位データに対応づけられたCRCチェ
    ックコードを読み出す読出処理手段と、 前記読出処理手段によって読み出された単位データにつ
    いてCRCチェックコードを発生させ、この発生させた
    CRCチェックコードが、前記読出処理手段によって読
    み出されたCRCチェックコードと一致しない場合に、
    前記読出処理手段によって読み出された単位データに対
    してデータエラーとの判断結果を出力する検証処理手段
    と、 を備え、前記検証処理手段は、 前記読出処理手段によって読み出された単位データの全
    桁が0であり、かつ、前記読出処理手段によって読み出
    されたCRCチェックコードの全桁が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 JPH06161905A (ja) 1994-06-10
JP3222592B2 true 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)

Families Citing this family (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のデータエラーチェック方法、及び制御ユニット
JP5424346B2 (ja) * 2010-08-11 2014-02-26 日本電気株式会社 受信装置および受信方法、プログラム、並びに通信システム

Also Published As

Publication number Publication date
JPH06161905A (ja) 1994-06-10

Similar Documents

Publication Publication Date Title
US5502732A (en) Method for testing ECC logic
US6041001A (en) Method of increasing data reliability of a flash memory device without compromising compatibility
US5663969A (en) Parity-based error detection in a memory controller
JP2772391B2 (ja) 不良データアルゴリズム
US20040255225A1 (en) Control circuit for error checking and correction and memory controller
JPH02278449A (ja) フオールト・トレラント・メモリ・システム
JP2001297038A (ja) データ記憶装置および記録媒体並びに記録媒体制御方法
JPH03503220A (ja) メッセージの完全性をチェックする方法及び携帯装置
US20070204206A1 (en) Electronic Data Flash Card with Reed Solomon Error Detection and Correction Capability
EP0383899B1 (en) Failure detection for partial write operations for memories
CN111428280B (zh) SoC安全芯片密钥信息完整性存储及错误自修复方法
JP3222592B2 (ja) データの検証装置
JP3129865B2 (ja) データの検証方法
JP3391475B2 (ja) データの書き込み方法および読み出し方法ならびにこれらの方法を実施するデータ記録再生装置
JP2864288B2 (ja) Icカードにおけるエラーチェック方法
JP3154853B2 (ja) イリーガルメモリアクセス検出方式
JP3130796B2 (ja) 制御記憶装置
JPH0441375B2 (ja)
JP3231448B2 (ja) Icカード
JPH11272566A (ja) Nor型フラッシュメモリを用いた記憶装置
JP3358701B2 (ja) ベリファイ方法およびベリファイ装置
JPH08129510A (ja) メモリデータ訂正装置
JPH06301604A (ja) 記憶再生システム
JPS60258663A (ja) メモリエラ−処理回路
JPH02143352A (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