JP2004501466A - Method for checking EEPROM data using embedded CRC - Google Patents

Method for checking EEPROM data using embedded CRC Download PDF

Info

Publication number
JP2004501466A
JP2004501466A JP2002504567A JP2002504567A JP2004501466A JP 2004501466 A JP2004501466 A JP 2004501466A JP 2002504567 A JP2002504567 A JP 2002504567A JP 2002504567 A JP2002504567 A JP 2002504567A JP 2004501466 A JP2004501466 A JP 2004501466A
Authority
JP
Japan
Prior art keywords
data
crc
section
block
crc value
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.)
Withdrawn
Application number
JP2002504567A
Other languages
Japanese (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.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
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 Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of JP2004501466A publication Critical patent/JP2004501466A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Abstract

PROMデバイス内に格納されたデータの保全性を判定するための方法および装置は、2セットのブロックに接続された少なくとも1つの保持ラッチを提供する。第1のセットのブロックはデータを含み。第2のセットのブロックは、第1のセットのブロック内のデータに対応するCRC情報を含む。第1のデータブロックからデータを読み出すと、対応するCRCブロックからのCRC情報も読み出される。読み出されたデータは、現在のCRC値を生成するためにCRCアルゴリズムに適用される。次いで、現在のCRC値が、対応するCRCブロックから得られたCRC情報と比較される。2つのCRC値が同一であれば、そのデータは有効と見なされる。同一でなければ、そのデータは無効と見なされる。
【選択図】図5
A method and apparatus for determining the integrity of data stored in a PROM device provides at least one holding latch connected to two sets of blocks. The first set of blocks contains data. The second set of blocks includes CRC information corresponding to data in the first set of blocks. When data is read from the first data block, CRC information from the corresponding CRC block is also read. The read data is applied to a CRC algorithm to generate a current CRC value. Then, the current CRC value is compared with the CRC information obtained from the corresponding CRC block. If the two CRC values are the same, the data is considered valid. If not, the data is considered invalid.
[Selection diagram] FIG.

Description

【0001】
本発明は、コンピュータメモリに関する。より詳細には、本発明は、電気的に消去可能なプログラム可能読み出し専用メモリ(EEPROM)内に格納されたデータの保全性を検査する方法および装置に関する。
【0002】
CRCは、長年の間、コンピュータ産業と一体の部分であった。実際のアルゴリズムはインターネット上で自由に利用可能である。周期的冗長検査(CRC)は、San Jose, CaliforniaのACI US, Inc.のRuffin Scott氏によって記載されている。彼の技術ノート99−11は、http://www.acius.com/ACIDOC/CMU/CMU79909.HTM.に見つけることができる。別の序論がEric−Paul Rebel氏によって記載され、http://utopia.knoware.nl/users/eprebel/Communication/CRC/に見つけることができる。しかし、CRCについての最も一般的な序論となり得るものは、Rocksoft Pty Ltd.でRoss Williamsによって書かれたものである。それは、“A Painless Guide to CRC Error Detection Algorithms”と称されるものであり、これはftp://ftp.rocksoft.com/clients/rocksoft/papers/crc_v3.txt.で見つけることができる。すべての記載は、本明細書中で参考として援用される。
【0003】
例えば、ある通信チャネルを介してデータの送信を行った後、そのデータが変更されないかどうかを見ることができるように、バイナリデータの検査数を計算する種々の方法が存在する。周期的冗長検査(CRC)は、上記のようにバイナリデータを保護する通常の方法である。過去において、ネーミングスキームとなった種々のCRCが存在する。
【0004】
CRCジェネレータは、図1に示されるように、ハードウェアの一部として構築され得る。特定のジェネレータの多項式は、g(x)=x16+x12+x+xであり、これは0xFFFFに初期化される。例えば、バイナリデータの各ビット(b)は、CRCの最上位ビットでXOR処理された後、CRCレジスタへシフトされる。ジェネレータのこの部分は、CRCの周期的局面を保証する。XORの結果はまた、CRCビット5および12中に挿入される。ビットbの処理の間、すべての現在のCRCビット(変更済みまたは未変更)は、1つの位置だけ左方へシフトされる。1バイトが処理される必要がある場合、すべての8ビットは順次処理される必要がある。最上位ビットは最初に処理される。
【0005】
ソフトウエアでCRCジェネレータを構築することができる。これはハードウェアによる解決法に類似する。この解決法は、各ビットを別個に処理する。Cプログラミング言語を使用すると、ソースコードは以下のようになる:
【0006】
【数1】

Figure 2004501466
初めに、b XOR c15(周期値)が計算される。次いで、CRCビットは左方にシフトされる(c0は0になる)。周期値は、c0、c5およびc12において処理される必要がある。周期値が1に等しい場合、ビットc0、c5およびc12は値0001 0000 0010 0001(0x1021)でCRCをXOR処理することにより、同時期に変更される。周期値が0に等しい場合、CRCは値0000 0000 0000 0000でXOR処理される必要がある。0x0000でCRCをXOR処理することはCRCを変更せず、従ってスキップされる。最終的には、処理されるべき次のビットが準備される。
【0007】
読み出し専用メモリ(ROM)は、電力損失によってでさえ変更され得ないコンテンツを有する単純なタイプのメモリである。コンテンツは製造時にプログラムされ、後で変更することはできない。ROMは非常に大量の制御アプリケーションに使用される。これらの制御アプリケーションでは、単純性および低い単位あたりコスト(これは、メモリチップ内でプログラムを大量生産することから得られる)が重要である。
【0008】
他の共通の不揮発性メモリは、PROM、EPROM、およびEEPROMである。プログラム可能読み出し専用メモリ(PROM)は、不可逆的なプロセスを介してユーザによってプログラムされる。一旦書き込まれると、PROMは変更できない。消去可能PROM(EPROM)は、プログラミングが強い紫外光に露光されることで反転されることを可能にする。電気的に消去可能なPROM(EEPROM)は、内部メモリセルをリセットするためにより大きい電流を使用することにより変更可能である。EPROMおよびEEPROMは、これらは出力損失を残すが、非常にゆっくりと、かつ限られた回数でのみ再プログラム(書き込み)可能であるので、非常に有益である。EEPROMのさらなる記載は、William D. BrownおよびJoe E. Brewerによる“Nonvolatile Semiconductor Memory Technology, A Comprehensive Guide to Understanding and Using NVSM Devices”(IEEE Press, Piscataway, NJ, 1998;pp37−39,42−47,67,115−120,129−133,192−193,309および352)で見つけることができ、これは本明細書中で参考として援用される。
【0009】
バッテリ環境またはバッテリなし環境におけるEEPROMの動作は、プログラミング高電圧を良好に制御できないために、不確定であり得る。結果として、不正な書き込みの頻度が、良好に制御された環境の場合よりも大きくなる。格納されたデータが不正であるかどうかを知ることが望ましい。従って、PROMに格納されたデータの保全性を保証する方法および装置に関する技術において必要性がある。
【0010】
本発明は、2つのセットのブロックに接続された少なくとも一つの保持グラッチを提供することにより、従来技術に固有の問題を解決する。第1のセットのブロックはデータを含む。第2のセットのブロックは第1のセットのブロック中のデータに対応するCRC情報を含む。第1のデータブロックからデータを読み出すと、対応するCRCブロックからのCRC情報がまた読み出される。読み出されたデータはCRCアルゴリズムに適用されて、現在のCRC値を生成する。次いで、現在のCRC値は対応するCRCブロックから得られたCRC情報と比較される。2つのCRC値が同一である場合、データは有効であると見なされる。そうでない場合、データは無効であると見なされる。その結果によって、適切な信号が発行される。
【0011】
他のおよびさらなる目的、特徴および利点は、以下に記載される本発明の好ましい実施形態から明らかである。この本発明の好ましい実施形態は、開示の目的であって、添付の図面とともに用いられる。
【0012】
本発明は、PROM、EPROM、およびEEPROMに適用する。しかし、本発明は、メモリ内に含まれるデータが書き込まれた時点のデータと同じであるかどうか、または、データは、そのデータが書き込まれた時点と読み出された時点との間に不正されたかどうかを知ることが望まれる任意のメモリのタイプに用いられ得る。
【0013】
書き込み可能EEPROMに基づいたRFIDタグについてのアンチティアリングな実施例
アンチティアリング問題
用語「アンチティアリング」は、動作中に電子デバイスを電源から分離することを指している。この問題は、関連する口座データがカード自体に格納され、中央データベースに格納されないスマートカードまたは任意の格納デバイスにより実行される金融処理またはセキュリティ処理では特に強調される。ATMカードにより操作される銀行口座データは、銀行データベースに格納され、ATMカード自体に格納されない。データがATMカードで変わることはないので、この場合についてのアンチティアリング問題はない。
【0014】
中央データベースではなく、遠隔的に格納されるデータベースを有する場合、一定のセーフガードが、データベースからデータを受信し、そしてデータベースへデータを書き込むことを保証するために必要である。上記のセーフガードは、単数および複数の処理の間に存在する環境的な条件を認識する必要がある。上記のスマートカードが財布に置かれるか、または車に残される場合、このスマートカードは、圧力、ねじれ、温度、衝撃、および湿度要素の影響を受ける。そのようなカードに含まれるデータの保全性は、上記のストレスを受けた後に訂正されることは想定され得ない。
【0015】
本発明は、CRC保護を用いて、その結果、コンテンツについての後のクエリが、格納されたデータが元々書き込まれたデータと同じかどうか、または元々書き込まれたデータが変化したかどうかを判定し得る。このコンセプトは、本発明が現れるまでプログラム可能読み出し専用メモリに採用されることはなかったが、ディスクドライブセクタにより広範に用いられる。
【0016】
EEPROM動作
EEPROM状態(0または1)は、一定時間の間、高電圧をEEPROMに印加することにより変更される。薄い誘電体に高電圧をかけることにより、少量の電荷を薄い酸化物をトンネルさせる。十分な電荷が酸化物を通過する場合、結果として生じるEEPROMのフローティングゲートの電圧の変化は、デジタルデータ状態を変化させる。データ状態は、セルをオンにし、セル電流を読み出すことによりEEPROMから読み出される。nチャネルセルのフローティングゲートの負の電荷は、ゲートの正の電荷が電流を引き起こす間、電流を引き起こすことはない。データが0から1へまたは1から0へ変化する点は、幾分任意であり、感知増幅器で測定される電流閾値に依存する。
【0017】
EEPROMの他の1つの局面は、EEPROMのデータの保持である。電荷は、時間の有限量(一般には数百年であるが)の間、フローティングゲート上に保持されるのみであり得る。この理由により、後に、いくつかのセルがセルの状態をフリップし得るので、EEPROMが訂正値を読み出し始める第1の瞬間に、セルをプログラミングすることを止めることは、望まれていない。電荷損失は、より高温により加速化され、もちろん、セルはそれぞれ、異なる電荷損失性を有する。EEPROMがプログラミングされる方法についてのこの現象が与えられる場合、EEPROMは、寿命の後半の電荷損失がEEPROMのデータを無効化しないように十分にプログラミングされることを保証することが望まれる。ロバストなプログラミング周期が保障され得ない場合であっても、データが無効であるかまたは有効であるかどうかを、後で単に知ることは十分である。有効/無効状態は、本発明により解決される。
【0018】
無線EEPROM動作
電圧および動作電源がRF場から生じる場合、カードのEEPROMをプログラミングするのに十分な高電圧を保証する問題が悪化する。物理的な電気的接触を必要とするものと比較して、近接RF処理カード(本明細書でタグと呼ばれる)の利便性の利点がある。詳細には、使用者は、機械にカードを委ね、戻ってきますようにと願う必要がない。カード上の物理的な接触はまた、過度の磨耗を引き起こし、損傷する可能性がある。RF処理のマイナス面は、RF場の地点毎の場の強さが、分からず、経時的に変わり得ることである。呼掛け器コイルに対するタグの距離および配向は、場の強さを決定する。タグは、使用可能なRF場にちょうど入り込み得るか、または使用可能なRF場の端にあり得る。タグは、動作を処理しようとする間、場を通って移動してもよいし、または場を離れてもよい。複数の呼掛け器のコイルがある場合、「ヌル」の場が発生し得ることも可能である。従って、RF環境の不確定性は、高電圧および時間が、プログラミング動作が適切に完了するのに十分であったかどうかを確認することを困難にする。
【0019】
本発明は、これまでに説明された上記のいくつかの問題を克服する。EEPROMが必ずプログラミングされるように高電圧を「適格とする(qualify)」ための方法が従来技術の課題であったが、これらの従来技術の方法がロバスト動作に至ることはない。プログラミング前にダイ上の高電圧を適格とするための前検査が実行される場合、高電圧がプログラミング中に全てのセルに十分であるかは保証されない。上記前検査は作動するが、高電圧はプログラミング中に消滅され得る。さらに、前検査は、著しい時間量を消費し得る。例えば、高電圧の前検査および後検査が望まれる場合、それは有用であり得る。しかし、試験過程は、電圧検査スキーム(高電圧レベルおよび時間が特定のセルのプログラミングを成功させるために十分であったことをどのように知るか?)に関しての別の不確定性を強調する。処理の変更のために、EEPROMセルは、ビット毎でさえ変化し得、その変化を真に知る唯一の方法は、後にデータを読み出すことである。これは、スマートカード集積回路についての周知の問題(すなわち、高電圧がプログラミングするのに十分である時点を判定する問題)であった。本発明の1つのセーフガードは、プログラミング動作後、RFタグが、プログラミング後にすぐにEEPROMコンテンツを読み返すことである。呼掛け器が処理時間に訂正データを再入手しない場合、警報が鳴り得、その結果、処理が適切に行われないことが人に警告され得る。これは、即時的な検査については素晴らしいことであるが、数ヵ月後に読み出されたデータが、現在書き込まれたデータと同じであると、どうやって人は確認するのだろうか?この問題は、本発明により解決される。
【0020】
ここで、図面を参照する。本発明において、メモリは、図2に示されるように各ブロックに対するデータセクションおよび対応するCRCセクションを有するものとして、示されている。本発明の好適な実施形態はEEPROMメモリであるが、上掲の特許請求の範囲の範囲および趣旨から逸脱することなしに代替の実施形態におけるメモリの他のタイプが存在し得る。各データブロック(22、24、26、...28)は、関連するCRCブロック(それぞれ、32、34、36、...38)を有する。メモリに書き込まれるべきデータを保持する保持ラッチも示される。これらのラッチは、単に書き込まれるべきデータを保持するものであり、本発明の方法には実際には関連しない。任意のラッチまたはその均等物を本発明で使用することができる。
【0021】
CRC値の生成を図3に図示する。まず、データ40はCRC計算器42を介して送信され、今度は、CRC値44を生成する。好適な実施形態において、CRCブロックは、書き込みコマンドがデバイスに送信されている間に計算されるCRC値を含む。したがって、データブロックが書き込まれるごとに、CRC計算器は、コマンドが送信されている間であって、かつ、プログラミングが実際に生じる場合にCRC値を計算し、CRCはデータブロックに関連するCRCブロックにプログラミングされる。このコマンドは、一般的に、ブロックデータおよびブロックアドレスを含む。結果として、CRC値に対応するデータブロックは、ブロック自体のデータおよびブックのアドレスに関連する情報を含む。
【0022】
書き込み動作は、書き込まれるべきデータを保持ラッチ12に配置するデバイスにコマンドを送信し、CRC生成器42がそのコマンドの間CRC値44を計算する工程を含む。CRC値44は、書き込みコマンド全体に対して計算されていることに留意されたい。その書き込みコマンド全体は、一般的に、書き込み動作コード、メモリアドレスおよびメモリデータを含む。(データおよびブロックアドレスを含む)コマンドが転送の検査CRCとともに送信された後、その結果のCRCが検査CRCと適合する場合、その結果のCRCはブロックデータとともに1つ以上の保持ラッチにロードされる。保持ラッチデータ全体(データとCRC値)は、同時にEEPROMに書き込まれる。
【0023】
特定の書き込み動作を図4に図示する。まず、ステップ404において、EEPROMに書き込まれるべきデータが提供されている。次に、CRC値は、提供されたデータを用いて、ステップ406において計算される。その後、ステップ408において、そのデータはEEPROMのデータブロックのデータセクションに書き込まれる。最終的に、ステップ410において、CRC値はデータブロックのCRCセクションに書き込まれ、ステップ412でそのプロセスは終了する。
【0024】
データブロックが読み出される場合、データブロックおよび関連するCRCブロックが読み出される。読み出しサブシステムは、CRCブロック内に存在すべきものを計算し、かつ、そのCRCが正しい場合かどうか判定する必要がある。結果として、読み出しプロセスを介するステップに対して、リーダ(reader)サブシステムは、1)読み出しコマンドを発行し、2)メモリからデータブロック(通常データおよびCRC値の両方)を読み出し、3)ちょうど読み出されたデータを書き込む書き込みコマンドに対するCRCを計算し、4)比較器で、メモリから読み出されたCRC値と計算されたCRCとを比較する。比較器は、2つの同等のサイズのデータを比較する、当該分野において公知な簡単な回路である。比較器は、単に、2つのデータが同一か否かを結論付ける。比較器からの信号を用いて、他の回路にそのデータが有効か無効かを信号送信する。
【0025】
(読み出されたデータに基づいて)すぐ前に計算されたCRC値がメモリから読み出されたCRCと適合しない場合、以下の条件の1つが生じている。1)データブロックのデータが変更されている、2)CRCブロックに格納されたCRC値が変更されている、3)デバイスが誤ったブロックにデータを書き込んだ。いずれの場合においても、データは無効と考えられ、適切な信号が発せられる。例えば、データが有効と考えられる場合、VALID信号が発せられ得、さもなければ、INVALID信号が発せられ得る。あるいは、データが有効と考えられる場合にのみ1つの信号が発せられてもよい。その場合において、回路は、その信号を探す必要があり、すぐに手に入らない場合、そのデータを無効と考えて、それに応じて処理する。さらに別の実施形態において、1つの信号は、そのデータが無効である場合にのみ発せられてもよい。その場合において、回路部は、その信号を探す必要があり、もし、その信号に遭遇する場合、そのデータを無効と考え、それに応じて処理する。
【0026】
本発明の読み出し動作を図5に図示する。具体的には、動作はステップ504から始まる。ここで、データはEEPROMのデータブロックのデータセクションから読み出される。次に、ステップ506において、CRC値は、以前に読み出されたデータブロックのデータセクションに対応するデータブロックのCRCセクションから読み出される。上記のような2つの読み出し動作は1つの読み出し動作に減らされ得、この場合、1つの信号ストリームが読み出され、データ成分およびCRC成分に対して構文解析されることが当業者によって理解される。いずれにしても、現在のCRC値は、ステップ508においてCRC計算器を用いて計算される。ステップ510において、比較器を用いて、(読み出されたデータに基づく)現在のCRC値を(書き込まれたデータに基づいて)読み出されたCRC値と比較する。ステップ512において、2つのCRC値が同一である(すなわち、データが有効である)かどうか判定される。テストが正(イエス)である場合、ステップ514が実行され、VALID信号を発する。そうでな場合は、実行はステップ516に分岐し、INVALID信号を発して、プロセスはステップ518で終了する。本発明の代替の実施形態が、本発明の趣旨から逸脱することなく、有効データ判定(すなわち、CRC値が同一である)の際にのみ、または、無効データ判定(すなわち、CRC値が同一でない)の際にのみ、信号を発し得ることが理解される。
【0027】
したがって、本発明は、目的を実行し、上記の目標および利点の両方ならびに本発明の本質的な他の利点を得るようにうまく適合される。本発明の特定の好適な実施形態を参照して、本発明を示し、記載し、規定してきたが、そのような参照は、本発明の限定を意味するものではなく、そのような限定を推測すべきではない。本発明は、当業者に想起されるような、考えられ得る量の改変、代替、変更、形態および/または機能における均等物が存在し得る。示され、説明された本発明の好適な実施形態は単なる例示にすぎず、本発明の範囲を網羅するものではない。結果として、本発明は、全ての観点において均等物に十分な認識を与える、上掲の特許請求の範囲の趣旨および範囲によってのみ限定されることを意図している。
【図面の簡単な説明】
【図1】
図1は、従来技術のCRCハードウェアを示す。
【図2】
図2は、本発明のデータブロックとCRCブロックの模式図である。
【図3】
図3は、本発明のCRC値を生成する方法のフロー図である。
【図4】
図4は、本発明による証明可能な情報を書き込む方法のフロー図である。
【図5】
図5は、本発明による証明可能な情報を読み出す方法のフロー図である。[0001]
The present invention relates to computer memories. More particularly, the present invention relates to a method and apparatus for checking the integrity of data stored in an electrically erasable programmable read only memory (EEPROM).
[0002]
CRC has been an integral part of the computer industry for many years. The actual algorithm is freely available on the Internet. Cyclic Redundancy Check (CRC) is available from ACI US, Inc. of San Jose, California. By Ruffin Scott. His technical note 99-11 is available at http: // www. acius. com / ACIDOC / CMU / CMU79909. HTM. Can be found at Another introduction is described by Eric-Paul Rebel, http: // autopia. knoware. nl / users / eprebel / Communication / CRC /. However, the most common introduction to CRC can be found in Rocks Pty Ltd. Written by Ross Williams. It is called "A Painless Guide to CRC Error Detection Algorithms", which is available from ftp: // ftp. rocksoft. com / clients / rocksoft / papers / crc_v3. txt. Can be found at All descriptions are incorporated herein by reference.
[0003]
For example, after transmitting data over a communication channel, there are various ways of calculating the number of checks of the binary data so that it can be seen if the data has not changed. Cyclic redundancy check (CRC) is a common method of protecting binary data as described above. In the past, various CRCs have become naming schemes.
[0004]
The CRC generator may be built as part of the hardware, as shown in FIG. Polynomial particular generator, g (x) is a = x 16 + x 12 + x 5 + x 0, which is initialized to 0xFFFF. For example, each bit (b) of the binary data is XORed with the most significant bit of the CRC and then shifted to the CRC register. This part of the generator guarantees the cyclical aspects of the CRC. The XOR result is also inserted into CRC bits 5 and 12. During processing of bit b, all current CRC bits (modified or unmodified) are shifted one position to the left. If one byte needs to be processed, all 8 bits need to be processed sequentially. The most significant bits are processed first.
[0005]
A CRC generator can be constructed by software. This is similar to a hardware solution. This solution processes each bit separately. Using the C programming language, the source code looks like this:
[0006]
(Equation 1)
Figure 2004501466
First, b XOR c15 (periodic value) is calculated. Next, the CRC bit is shifted to the left (c0 becomes 0). Period values need to be processed at c0, c5 and c12. If the period value is equal to 1, bits c0, c5 and c12 are changed at the same time by XORing the CRC with the value 0001 0000 0010 0001 (0x1021). If the period value is equal to 0, the CRC needs to be XOR'd with the value 0000 0000 0000 0000. XORing the CRC with 0x0000 does not change the CRC and is therefore skipped. Eventually, the next bit to be processed is prepared.
[0007]
Read-only memory (ROM) is a simple type of memory with content that cannot be changed even by power loss. Content is programmed at the time of manufacture and cannot be changed later. ROMs are used for very large numbers of control applications. For these control applications, simplicity and low cost per unit (which comes from mass producing programs in memory chips) are important.
[0008]
Other common non-volatile memories are PROM, EPROM, and EEPROM. Programmable read only memory (PROM) is programmed by the user through an irreversible process. Once written, the PROM cannot be changed. Erasable PROMs (EPROMs) allow programming to be inverted by exposure to strong ultraviolet light. Electrically erasable PROMs (EEPROMs) can be modified by using higher currents to reset internal memory cells. EPROMs and EEPROMs are very beneficial because they leave power loss but can be reprogrammed (written) very slowly and only a limited number of times. Further descriptions of EEPROMs can be found in William D. Brown and Joe E.C. Brewer, "Nonvolatile Semiconductor Memory Technology, A Comprehensive Guide to Understand and Using NVSM Devices, (IEEE Press, -39, 1913, 1978, 1992, 1978). 309 and 352), which are incorporated herein by reference.
[0009]
The operation of an EEPROM in a battery environment or a batteryless environment may be indeterminate due to poor control of the programming high voltage. As a result, the frequency of unauthorized writing is greater than in a well-controlled environment. It is desirable to know whether the stored data is invalid. Accordingly, there is a need in the art for a method and apparatus for ensuring the integrity of data stored in a PROM.
[0010]
The present invention solves the problems inherent in the prior art by providing at least one holding gratch connected to two sets of blocks. The first set of blocks contains data. The second set of blocks includes CRC information corresponding to the data in the first set of blocks. When data is read from the first data block, CRC information from the corresponding CRC block is read again. The read data is applied to a CRC algorithm to generate a current CRC value. Then, the current CRC value is compared with the CRC information obtained from the corresponding CRC block. If the two CRC values are the same, the data is considered valid. Otherwise, the data is considered invalid. Depending on the result, an appropriate signal is issued.
[0011]
Other and further objects, features and advantages will be apparent from the preferred embodiments of the invention described below. This preferred embodiment of the present invention is for disclosure purposes and is used in conjunction with the accompanying drawings.
[0012]
The invention applies to PROMs, EPROMs, and EEPROMs. However, the present invention does not consider whether the data contained in the memory is the same as the data at the time of writing, or the data is illegal between the time when the data is written and the time when the data is read. Can be used for any type of memory for which it is desired to know if
[0013]
Anti-tearing embodiment for RFID tags based on writable EEPROM
Anti-tearing problem The term "anti-tearing" refers to isolating an electronic device from a power supply during operation. This problem is particularly accentuated in financial or security transactions performed by smart cards or any storage devices where the relevant account data is stored on the card itself and not stored in a central database. Bank account data operated by the ATM card is stored in the bank database and not on the ATM card itself. Since the data does not change with the ATM card, there is no anti-tearing problem in this case.
[0014]
If you have a database that is stored remotely, rather than a central database, certain safeguards are needed to ensure that you receive data from and write data to the database. The above safeguards need to be aware of the environmental conditions that exist between one or more processes. When the smart card is placed in a wallet or left in a car, it is subject to pressure, torsion, temperature, shock, and humidity factors. It cannot be assumed that the integrity of the data contained in such a card will be corrected after the above stress.
[0015]
The present invention uses CRC protection so that subsequent queries for the content determine whether the stored data is the same as the originally written data, or whether the originally written data has changed. obtain. This concept was not adopted in programmable read-only memory until the present invention appeared, but is widely used by disk drive sectors.
[0016]
EEPROM Operation The EEPROM state (0 or 1) is changed by applying a high voltage to the EEPROM for a period of time. Applying a high voltage to the thin dielectric causes a small amount of charge to tunnel through the thin oxide. If enough charge passes through the oxide, the resulting change in the floating gate voltage of the EEPROM changes the digital data state. The data state is read from the EEPROM by turning on the cell and reading the cell current. The negative charge on the floating gate of an n-channel cell does not cause a current while the positive charge on the gate causes a current. The point at which the data changes from 0 to 1 or from 1 to 0 is somewhat arbitrary and depends on the current threshold measured at the sense amplifier.
[0017]
Another aspect of the EEPROM is data retention of the EEPROM. Charge can only be retained on the floating gate for a finite amount of time (although typically hundreds of years). For this reason, it is not desirable to stop programming the cells at the first moment when the EEPROM begins to read the correction value, since some cells may later flip the state of the cells. Charge loss is accelerated by higher temperatures and, of course, each cell has a different charge loss. Given this phenomenon of how the EEPROM is programmed, it is desirable to ensure that the EEPROM is programmed sufficiently such that late-life charge loss does not invalidate the EEPROM data. Even if a robust programming cycle cannot be guaranteed, it is sufficient to simply know later whether the data is invalid or valid. The valid / invalid state is solved by the present invention.
[0018]
Wireless EEPROM Operation The problem of ensuring a high enough voltage to program the card's EEPROM is exacerbated when the voltage and operating power comes from the RF field. There are advantages to the convenience of proximity RF processing cards (referred to herein as tags) as compared to those requiring physical electrical contact. In particular, the user need not entrust the card to the machine and wish to return. Physical contact on the card can also cause excessive wear and damage. The downside of RF processing is that the strength of the field at each point of the RF field is not known and can change over time. The distance and orientation of the tag with respect to the interrogator coil determines the field strength. The tag may just enter the available RF field or may be at the edge of the available RF field. The tag may move through the venue or leave the venue while attempting to process the action. If there are multiple interrogator coils, it is also possible that a "null" field may be generated. Thus, the uncertainties in the RF environment make it difficult to ascertain whether the high voltage and time were sufficient to properly complete the programming operation.
[0019]
The present invention overcomes some of the above-mentioned problems described above. Methods of "qualifying" high voltages to ensure that the EEPROM is programmed have been problems of the prior art, but these prior art methods do not lead to robust operation. If a pre-test is performed to qualify the high voltage on the die before programming, it is not guaranteed that the high voltage is sufficient for all cells during programming. The pre-test works, but the high voltage can be extinguished during programming. Further, pre-tests can consume a significant amount of time. For example, it may be useful if high voltage pre-tests and post-tests are desired. However, the test process highlights another uncertainty regarding the voltage test scheme (how to know that high voltage levels and time were sufficient to successfully program a particular cell?). Due to processing changes, EEPROM cells can change even bit by bit, and the only way to truly know the change is to read the data later. This was a well-known problem with smart card integrated circuits (i.e., determining when a high voltage is sufficient to program). One safeguard of the present invention is that after a programming operation, the RF tag reads back the EEPROM content immediately after programming. If the interrogator does not reacquire the correction data at the processing time, an alarm may sound, which may alert a person that processing is not taking place properly. This is great for an immediate test, but how does one confirm that the data read a few months later is the same as the data currently written? This problem is solved by the present invention.
[0020]
Here, reference is made to the drawings. In the present invention, the memory is shown as having a data section and a corresponding CRC section for each block as shown in FIG. While the preferred embodiment of the present invention is an EEPROM memory, other types of memory in alternative embodiments may exist without departing from the scope and spirit of the appended claims. Each data block (22, 24, 26, ... 28) has an associated CRC block (32, 34, 36, ... 38, respectively). Also shown is a holding latch that holds the data to be written to the memory. These latches merely hold the data to be written and are not actually relevant to the method of the present invention. Any latch or equivalent can be used with the present invention.
[0021]
The generation of the CRC value is illustrated in FIG. First, the data 40 is transmitted via a CRC calculator 42, which in turn generates a CRC value 44. In a preferred embodiment, the CRC block contains a CRC value that is calculated while a write command is being sent to the device. Thus, each time a data block is written, the CRC calculator calculates the CRC value while the command is being sent and if programming actually occurs, and the CRC is the CRC block associated with the data block. Is programmed to This command generally includes block data and a block address. As a result, the data block corresponding to the CRC value contains the data of the block itself and information related to the address of the book.
[0022]
The write operation involves sending a command to a device that places the data to be written into the holding latch 12 and the CRC generator 42 calculating a CRC value 44 during the command. Note that CRC value 44 has been calculated for the entire write command. The entire write command generally includes a write operation code, a memory address, and memory data. After a command (including data and block address) is sent with the check CRC of the transfer, if the resulting CRC matches the check CRC, the resulting CRC is loaded with the block data into one or more holding latches. . The entire holding latch data (data and CRC value) is simultaneously written to the EEPROM.
[0023]
A specific write operation is illustrated in FIG. First, in step 404, data to be written to the EEPROM is provided. Next, a CRC value is calculated in step 406 using the provided data. Thereafter, at step 408, the data is written to the data section of the EEPROM data block. Finally, at step 410, the CRC value is written to the CRC section of the data block, and the process ends at step 412.
[0024]
When a data block is read, the data block and the associated CRC block are read. The reading subsystem needs to calculate what should be in the CRC block and determine if the CRC is correct. As a result, for steps through the read process, the reader subsystem issues 1) a read command, 2) reads a block of data (both normal data and CRC values) from memory, and 3) just reads. The CRC for the write command for writing the output data is calculated, and 4) the comparator compares the CRC value read from the memory with the calculated CRC. A comparator is a simple circuit known in the art that compares two equally sized data. The comparator simply concludes whether the two data are the same. Using a signal from the comparator, a signal is sent to another circuit as to whether the data is valid or invalid.
[0025]
If the previously calculated CRC value (based on the data read) does not match the CRC read from memory, one of the following conditions has occurred. 1) The data in the data block has been changed. 2) The CRC value stored in the CRC block has been changed. 3) The device has written data to the wrong block. In either case, the data is considered invalid and an appropriate signal is issued. For example, if the data is considered valid, a VALID signal may be issued, otherwise an INVALID signal may be emitted. Alternatively, one signal may be emitted only when the data is considered valid. In that case, the circuit must look for the signal and if not available immediately, considers the data invalid and processes it accordingly. In yet another embodiment, one signal may be emitted only if the data is invalid. In that case, the circuitry must look for the signal, and if the signal is encountered, the circuit considers the data invalid and processes it accordingly.
[0026]
The read operation of the present invention is illustrated in FIG. Specifically, the operation starts at step 504. Here, the data is read from the data section of the data block of the EEPROM. Next, in step 506, the CRC value is read from the CRC section of the data block corresponding to the data section of the previously read data block. It will be appreciated by those skilled in the art that two read operations as described above can be reduced to one read operation, in which case one signal stream is read and parsed for data and CRC components. . In any case, the current CRC value is calculated at step 508 using a CRC calculator. At step 510, a comparator is used to compare the current CRC value (based on the read data) with the read CRC value (based on the written data). At step 512, it is determined whether the two CRC values are the same (ie, the data is valid). If the test is positive (yes), step 514 is executed, emitting a VALID signal. If not, execution branches to step 516, issuing an INVALID signal, and the process ends at step 518. Alternative embodiments of the present invention may be used only when valid data determinations (ie, CRC values are the same) or when invalid data determinations (ie, CRC values are not the same) without departing from the spirit of the invention. It is understood that a signal can only be emitted during).
[0027]
Accordingly, the present invention is well adapted to carry out the objects and obtain both the ends and advantages set forth above, as well as other essential advantages of the present invention. While the invention has been shown, described, and defined with reference to certain preferred embodiments of the invention, such reference is not meant to be limiting of the invention, but rather such inferences. should not do. The present invention may have equivalent amounts of alterations, substitutions, changes, forms and / or functions that are conceivable, as will occur to those skilled in the art. The preferred embodiment of the invention shown and described is merely illustrative and is not exhaustive of the scope of the invention. As a result, the invention is intended to be limited only by the spirit and scope of the appended claims, which give sufficient recognition of equivalents in all respects.
[Brief description of the drawings]
FIG.
FIG. 1 shows prior art CRC hardware.
FIG. 2
FIG. 2 is a schematic diagram of a data block and a CRC block according to the present invention.
FIG. 3
FIG. 3 is a flowchart of a method for generating a CRC value according to the present invention.
FIG. 4
FIG. 4 is a flowchart of a method for writing provable information according to the present invention.
FIG. 5
FIG. 5 is a flowchart of a method for reading provable information according to the present invention.

Claims (8)

検証可能なプログラム可能読出し専用メモリを有するコンピュータシステムであって、該コンピュータシステムは、
該プログラム可能読出し専用メモリ内の少なくとも1つのデータブロックであって、該データブロックはデータセクションを有し、該データセクションはデータを格納するように構築および構成され、該データブロックはCRCセクションをさらに有し、該CRCセクションは該データセクションに対応し、該CRCセクションはCRC値を含むように構築および構成される、少なくとも1つのデータブロックと、
CRC計算機であって、該CRC計算機は、該データセクションから読み出されたデータに基づいて、現在のCRC値を生成するように構築および構成される、CRC計算機と、
比較器であって、該比較器は、該現在のCRC値と該CRCセクション内に格納された該CRC値とを比較するように構築および構成される、比較器とを備え、
該現在のCRC値が該CRCブロック内に格納された該CRC値と同一であるか否かに依存して、信号が発せられる、コンピュータシステム。
A computer system having a verifiable programmable read only memory, the computer system comprising:
At least one data block in the programmable read-only memory, the data block having a data section, the data section being constructed and configured to store data, the data block further comprising a CRC section. At least one data block having a CRC section corresponding to the data section, wherein the CRC section is constructed and configured to include a CRC value;
A CRC calculator, wherein the CRC calculator is constructed and configured to generate a current CRC value based on data read from the data section;
A comparator, wherein the comparator is constructed and configured to compare the current CRC value with the CRC value stored in the CRC section.
A computer system, wherein a signal is issued depending on whether the current CRC value is the same as the CRC value stored in the CRC block.
前記プログラム可能読出し専用メモリはPROMである、請求項1に記載のコンピュータシステム。The computer system according to claim 1, wherein the programmable read only memory is a PROM. 前記プログラム可能読出し専用メモリはEPROMである、請求項1に記載のコンピュータシステム。The computer system of claim 1, wherein said programmable read only memory is an EPROM. 前記プログラム可能読出し専用メモリはEEPROMである、請求項1に記載のコンピュータシステム。2. The computer system according to claim 1, wherein said programmable read only memory is an EEPROM. 前記システムは、前記データブロックと前記CRCブロックに接続される保持ラッチをさらに備える、請求項1に記載のコンピュータシステム。The computer system of claim 1, wherein the system further comprises a holding latch connected to the data block and the CRC block. プログラム可能読出し専用メモリから読み出されたデータを検証するための方法であって、該方法は、
a)該プログラム可能読出し専用メモリ内のデータブロックのデータセクションからデータを読み出す工程と、
b)該データブロックのCRCセクションからCRC値を読み出す工程であって、該CRCセクションは該データセクションに対応する、工程と、
c)該データセクションから読み出された該データを用いて、現在のCRC値を計算する工程と、
d)該現在のCRC値と該データブロックから読み出された該CRC値とを比較する工程と、
e)該現在のCRC値と該データブロックから読み出された該CRC値との該比較に応じて信号を発する工程とを包含する、方法。
A method for verifying data read from a programmable read-only memory, the method comprising:
a) reading data from a data section of a data block in the programmable read only memory;
b) reading a CRC value from a CRC section of the data block, wherein the CRC section corresponds to the data section;
c) using the data read from the data section to calculate a current CRC value;
d) comparing the current CRC value with the CRC value read from the data block;
e) issuing a signal in response to the comparison between the current CRC value and the CRC value read from the data block.
プログラム可能読出し専用メモリに検証可能なデータを書き込むための方法であって、該方法は、
a)データを提供する工程と、
b)該データに基づいてCRC値を計算する工程と、
c)該プログラム可能読出し専用メモリのデータブロックのデータセクションに該データを書き込む工程と、
d)該データブロックのCRCセクションに該CRC値を書き込む工程とを包含する、方法。
A method for writing verifiable data to a programmable read-only memory, the method comprising:
a) providing data;
b) calculating a CRC value based on the data;
c) writing the data to a data section of a data block of the programmable read only memory;
d) writing the CRC value to a CRC section of the data block.
EEPROMメモリを有する無線高周波数識別(RFID)システムであって、該RFIDシステムは、
該EEPROMメモリ内の少なくとも1つのデータブロックであって、該データブロックはデータセクションを有し、該データセクションはデータを格納するように構築および構成され、該データブロックはCRCセクションをさらに有し、該CRCセクションは該データセクションに対応し、該CRCセクションはCRC値を含むように構築および構成される、少なくとも1つのデータブロックと、
CRC計算機であって、該CRC計算機は、該データセクションから読み出されたデータに基づいて、現在のCRC値を生成するように構築および構成される、CRC計算機と、
比較器であって、該比較器は、該現在のCRC値と該CRCセクション内に格納された該CRC値とを比較するように構築および構成される、比較器とをさらに備え、
該現在のCRC値と該CRCブロック内に格納された該CRC値との比較に応じて、信号が発せられ、該比較は、該データブロック内の該データが有効であるかどうかを識別するために用いられる、RFIDシステム。
A radio frequency identification (RFID) system having an EEPROM memory, the RFID system comprising:
At least one data block in the EEPROM memory, the data block having a data section, the data section being constructed and configured to store data, the data block further having a CRC section; The CRC section corresponds to the data section, wherein the CRC section is constructed and configured to include a CRC value; and at least one data block;
A CRC calculator, wherein the CRC calculator is constructed and configured to generate a current CRC value based on data read from the data section;
A comparator, wherein the comparator further comprises: a comparator constructed and configured to compare the current CRC value with the CRC value stored in the CRC section.
A signal is emitted in response to comparing the current CRC value with the CRC value stored in the CRC block, wherein the comparison identifies whether the data in the data block is valid. RFID system used for
JP2002504567A 2000-06-22 2001-06-20 Method for checking EEPROM data using embedded CRC Withdrawn JP2004501466A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US59934700A 2000-06-22 2000-06-22
PCT/US2001/041063 WO2001098872A2 (en) 2000-06-22 2001-06-20 A method of checking eeprom data with an embedded crc

Publications (1)

Publication Number Publication Date
JP2004501466A true JP2004501466A (en) 2004-01-15

Family

ID=24399257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002504567A Withdrawn JP2004501466A (en) 2000-06-22 2001-06-20 Method for checking EEPROM data using embedded CRC

Country Status (7)

Country Link
EP (1) EP1295140A2 (en)
JP (1) JP2004501466A (en)
KR (1) KR20020063159A (en)
CN (1) CN1436308A (en)
AU (1) AU2001273605A1 (en)
TW (1) TW509840B (en)
WO (1) WO2001098872A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009059422A (en) * 2007-08-31 2009-03-19 Toshiba Corp Semiconductor storage device and control method thereof
JP2009080651A (en) * 2007-09-26 2009-04-16 Toshiba Corp Semiconductor memory device and its control method
CN102890657A (en) * 2012-10-10 2013-01-23 深圳市航盛电子股份有限公司 Method for reducing data read-write errors of EEPROM (electrically erasable programmable read-only memory)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6938201B2 (en) * 2002-09-05 2005-08-30 Agilent Technologies, Inc. Error detection system for a FIFO memory
US7409623B2 (en) * 2004-11-04 2008-08-05 Sigmatel, Inc. System and method of reading non-volatile computer memory
WO2007034935A1 (en) 2005-09-21 2007-03-29 Semiconductor Energy Laboratory Co., Ltd. Cyclic redundancy check circuit and semiconductor device having the cyclic redundancy check circuit
DE102006040644A1 (en) * 2006-08-30 2008-03-13 Robert Bosch Gmbh Correction procedure for a reprogrammable microprocessor
CN101908976A (en) * 2010-07-28 2010-12-08 新太科技股份有限公司 Method for designing backup security policy for double-computer transaction file
CN101963912A (en) * 2010-10-12 2011-02-02 浪潮电子信息产业股份有限公司 Implementation method for storing and checking hardware configuration information of system
CN102025448B (en) * 2010-11-18 2013-11-06 华为技术有限公司 Common public radio interface service transmitting/receiving method and device
CN102480333B (en) * 2010-11-22 2014-08-13 华为技术有限公司 Line coding method as well as synchronous processing method and device of coded data block
FR2976697B1 (en) 2011-06-17 2013-07-05 Morpho SECURE TRANSFER BETWEEN NON-VOLATILE MEMORY AND VOLATILE MEMORY
CN105070321B (en) * 2015-08-18 2019-03-08 珠海市一微半导体有限公司 The quick test circuit and method of memory device
CN106776362B (en) * 2015-11-24 2019-12-03 中芯国际集成电路制造(上海)有限公司 The control method and device of memory
TWI599904B (en) * 2016-03-30 2017-09-21 緯創資通股份有限公司 Electronic apparatus and data verification method using the same
CN108828529B (en) * 2018-06-25 2022-03-25 中国电子科技集团公司第三十八研究所 Anti-irradiation wave control special integrated circuit
CN109947590A (en) * 2019-03-27 2019-06-28 奇瑞商用车(安徽)有限公司 A kind of method of data redundancy verification in automobile electronic system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6686829B1 (en) * 1998-01-19 2004-02-03 Zih Corp. Electronic identification system with forward error correction system
US6237124B1 (en) * 1998-03-16 2001-05-22 Actel Corporation Methods for errors checking the configuration SRAM and user assignable SRAM data in a field programmable gate array

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8959411B2 (en) 2007-08-31 2015-02-17 Kabushiki Kaisha Toshiba Semiconductor memory device and method of controlling the same
US8117517B2 (en) 2007-08-31 2012-02-14 Kabushiki Kaisha Toshiba Semiconductor memory device and method of controlling the same
US11575395B2 (en) 2007-08-31 2023-02-07 Kioxia Corporation Semiconductor memory device and method of controlling the same
JP4564520B2 (en) * 2007-08-31 2010-10-20 株式会社東芝 Semiconductor memory device and control method thereof
US8196008B2 (en) 2007-08-31 2012-06-05 Kabushiki Kaisha Toshiba Semiconductor memory device and method of controlling the same
US8069394B2 (en) 2007-08-31 2011-11-29 Kabushiki Kaisha Toshiba Semiconductor memory device and method of controlling the same
US11038536B2 (en) 2007-08-31 2021-06-15 Toshiba Memory Corporation Semiconductor memory device and method of controlling the same
KR101120346B1 (en) * 2007-08-31 2012-02-27 가부시끼가이샤 도시바 Semiconductor memory device and method of controlling the same
US9384090B2 (en) 2007-08-31 2016-07-05 Kabushiki Kaisha Toshiba Semiconductor memory device and method of controlling the same
JP2009059422A (en) * 2007-08-31 2009-03-19 Toshiba Corp Semiconductor storage device and control method thereof
US8386881B2 (en) 2007-08-31 2013-02-26 Kabushiki Kaisha Toshiba Semiconductor memory device and method of controlling the same
US8732544B2 (en) 2007-08-31 2014-05-20 Kabushiki Kaisha Toshiba Semiconductor memory device and method of controlling the same
US7900117B2 (en) 2007-09-26 2011-03-01 Kabushiki Kaisha Toshiba Semiconductor memory device and its control method
JP2009080651A (en) * 2007-09-26 2009-04-16 Toshiba Corp Semiconductor memory device and its control method
JP4538034B2 (en) * 2007-09-26 2010-09-08 株式会社東芝 Semiconductor memory device and control method thereof
CN102890657A (en) * 2012-10-10 2013-01-23 深圳市航盛电子股份有限公司 Method for reducing data read-write errors of EEPROM (electrically erasable programmable read-only memory)

Also Published As

Publication number Publication date
TW509840B (en) 2002-11-11
KR20020063159A (en) 2002-08-01
WO2001098872A2 (en) 2001-12-27
EP1295140A2 (en) 2003-03-26
AU2001273605A1 (en) 2002-01-02
CN1436308A (en) 2003-08-13
WO2001098872A3 (en) 2002-10-03

Similar Documents

Publication Publication Date Title
JP2004501466A (en) Method for checking EEPROM data using embedded CRC
US8010873B2 (en) Systems and methods for efficient uncorrectable error detection in flash memory
US7458002B2 (en) Processor having electronic fuses for storing secret data
US10078462B2 (en) Methods and systems for providing hardware security functions using flash memories
US8341500B2 (en) Detecting corrupted data for a system having non-volatile memory
US7865809B1 (en) Data error detection and correction in non-volatile memory devices
TWI360126B (en) Nonvolatile memory with adaptive operations and me
KR100870392B1 (en) Improved error correction scheme for use in flash memory allowing bit alterability
KR20070074308A (en) Device and method capable of verifying program operation of non-volatile memory and memory card including the same
JP2009510585A (en) Error detection / correction circuit and method
US8769309B2 (en) Flash memory storage system, and controller and method for anti-falsifying data thereof
US7890846B2 (en) Electronic data flash card with Reed Solomon error detection and correction capability
WO1998019241A1 (en) Method and apparatus for correcting a multilevel cell memory by using error locating codes
US20080072119A1 (en) Allowable bit errors per sector in memory devices
CN103312504A (en) Apparatus and Method for Reconstructing a Bit Sequence with Preliminary Correction
CN109164978B (en) Flash memory management method, flash memory storage device and computer readable storage medium
US20060219796A1 (en) Integrated circuit chip card capable of determining external attack
US11775198B2 (en) Data erasure in memory sub-systems
JPWO2006018925A1 (en) Semiconductor integrated device and IC card and portable information terminal using the same
TWI396201B (en) Data storage and processing algorithm for placement of multi-level flash cell (mlc) vt
CN107808685B (en) Programming failure self-detection circuit and method for non-contact card chip
CN114968068A (en) Electronic device with one-time programmable memory and writing and reading method thereof
CN116893780A (en) Nonvolatile memory system configured to mitigate read and write operation errors
CN116013397A (en) Solid state disk fault injection testing method, device, equipment and medium
JP3055986B2 (en) Data writing method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080902