JP2007183937A - 不揮発性メモリのプログラム動作を検証する装置及び方法、並びにその装置を含むメモリカード - Google Patents

不揮発性メモリのプログラム動作を検証する装置及び方法、並びにその装置を含むメモリカード Download PDF

Info

Publication number
JP2007183937A
JP2007183937A JP2006343205A JP2006343205A JP2007183937A JP 2007183937 A JP2007183937 A JP 2007183937A JP 2006343205 A JP2006343205 A JP 2006343205A JP 2006343205 A JP2006343205 A JP 2006343205A JP 2007183937 A JP2007183937 A JP 2007183937A
Authority
JP
Japan
Prior art keywords
checksum value
data
program
buffer memory
integrated circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006343205A
Other languages
English (en)
Inventor
Kyung-Duck Seo
敬 ▲徳▼ 徐
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2007183937A publication Critical patent/JP2007183937A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02BHYDRAULIC ENGINEERING
    • E02B3/00Engineering works in connection with control or use of streams, rivers, coasts, or other marine sites; Sealings or joints for engineering works in general
    • E02B3/04Structures or apparatus for, or methods of, protecting banks, coasts, or harbours
    • E02B3/12Revetment of banks, dams, watercourses, or the like, e.g. the sea-floor
    • E02B3/14Preformed blocks or slabs for forming essentially continuous surfaces; Arrangements thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02BHYDRAULIC ENGINEERING
    • E02B3/00Engineering works in connection with control or use of streams, rivers, coasts, or other marine sites; Sealings or joints for engineering works in general
    • E02B3/04Structures or apparatus for, or methods of, protecting banks, coasts, or harbours
    • E02B3/12Revetment of banks, dams, watercourses, or the like, e.g. the sea-floor
    • E02B3/129Polyhedrons, tetrapods or similar bodies, whether or not threaded on strings
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Mechanical Engineering (AREA)
  • Ocean & Marine Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Environmental & Geological Engineering (AREA)
  • Quality & Reliability (AREA)
  • Chemical & Material Sciences (AREA)
  • Inorganic Chemistry (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】不揮発性メモリのプログラム動作を検証する装置及び方法、並びにその装置を含むメモリカードを提供する。
【解決手段】集積回路カードのプログラミングを検証する方法はプログラムデータを不揮発性メモリのページバッファに伝送する段階と、プログラムデータをバッファメモリにコピーし、バッファメモリのデータに対する第1チェックサム値を計算する段階と、ページバッファのデータをバッファメモリにコピーし、バッファメモリのデータに対する第2チェックサム値を計算する段階と、第1チェックサム値と前記第2チェックサム値とを比較する段階と、そして比較結果に応じて外部攻撃によってページバッファのプログラムデータが不正操作されたか否かを判別する段階とを含む。
【選択図】図4

Description

本発明は電子装置に係り、より具体的には不揮発性メモリのプログラム動作を検証することができる集積回路装置に関する。
スマートカードはマイクロプロセッサ及びメモリとともにまたはロジックなしにメモリチップとともにエンベデッドされた(埋め込まれた)カードである。マイクロプロセッサカードはカード上で情報を追加、削除、及び処理することができる。一方、メモリチップ(例えば、前払い電話カード)はすでに定められた動作を実行することができる。マグネチックストリップカードとは異なり、スマートカードはカード上で必要なすべての機能及び情報を実行することができる。そのため、スマートカードは処理の時に、遠く離れたデータベースをアクセスすることができる。最近、スマートカードは大きく3種類、すなわち、集積回路マイクロプロセッサカード(integrated circuit(IC) microprocessor card)、集積回路メモリカード(integrated circuit(IC) memory card)、及び光メモリカード(optical memory card)に分類することができ、新たな市場及び応用によって急速に発展している。
スマートカードに貯蔵されるデータ(例えば、金融情報)は高い保安性を要する。そのため、スマートカードの保安データストレージにデータをプログラムする場合、データを正しく書き込んだか否かを検証する必要がある。ここで、プログラム動作は書き込む動作、消去及び書き込む動作、そして消去動作を含む。
一般的なスマートカードの場合、プログラムされたデータの検証は次のような過程を通じて実行される。まず、データが保安データストレージの目標領域に貯蔵される。その次に、保安データストレージの目標領域からデータを読み出した後、ソースデータと読み出されたデータとが比較される。比較結果によって、データが正しく書き込まれたか否かが検証される。比較過程において、保安データストレージの目標領域から読み出されたデータは一定単位(例えば、ワード単位)でソースデータと比較される。このような比較過程は長い実行時間を要し、これはスマートカードの動作性能を向上させるに制限要因として作用している。
本発明の目的は動作性能を向上させることができる集積回路装置を提供することにある。
本発明の他の目的は保安データのプログラム動作を検証することができる装置及びそれを含んだスマートカードを提供することにある。
前記の目的を達成するための本発明の特徴によれば、集積回路カードのプログラミングを検証する方法はプログラムデータを不揮発性メモリのページバッファに伝送する段階と、前記プログラムデータをバッファメモリにコピーし、前記バッファメモリのデータに対する第1チェックサム値を計算する段階と、前記ページバッファのデータを前記バッファメモリにコピーし、前記バッファメモリのデータに対する第2チェックサム値を計算する段階と、前記第1チェックサム値と前記第2チェックサム値とを比較する段階と、そして比較結果に応じて外部攻撃によって前記ページバッファのプログラムデータが不正操作されたか否かを判別する段階とを含む。
この実施形態において、前記不揮発性メモリのページバッファへのデータ伝送が完了した後、前記バッファメモリにコピーされた前記プログラムデータは前記集積回路カードのRAMから提供される。
この実施形態において、前記第1チェックサム値と前記第2チェックサム値とが一致しない時、プログラム手続きを終了させる段階をさらに含む。
この実施形態において、前記第1チェックサム値と前記第2チェックサム値とが一致しない時、インタラプトを発生する段階をさらに含む。
この実施形態において、前記第1チェックサム値と前記第2チェックサム値とが一致しない時、外部攻撃検出情報を発生する段階をさらに含む。
この実施形態において、前記第1チェックサム値と前記第2チェックサム値とが一致する時、前記プログラムデータが貯蔵される前記不揮発性メモリの選択されたページから前記バッファメモリにページデータをコピーする段階と、そして前記バッファメモリのプログラムデータを前記選択されたページにプログラムする段階をさらに含む。
この実施形態において、前記バッファメモリのプログラムデータが前記選択されたページにプログラムされる間、前記集積回路カードのRAMに貯蔵されたプログラムデータで前記バッファメモリをアップデートする段階と、そして前記バッファメモリのデータに対する第3チェックサム値を計算する段階とをさらに含む。
この実施形態において、前記プログラムデータに対するプログラム動作が完了した後、CRC演算ロジックを通じて直接前記選択されたページのデータに対する第4チェックサム値を計算する段階と、そして前記第3チェックサムと前記第4チェックサム値とが一致するか否かによってプログラム動作のパス/フェイルを判別する段階をさらに含む。
この実施形態において、前記第3チェックサム値と前記第4チェックサム値とが一致する時、プログラム手続きを終了する段階をさらに含む。
この実施形態において、前記第3チェックサム値と前記第4チェックサム値とが一致しない時、再プログラム動作を実行する段階をさらに含む。
この実施形態において、前記再プログラム動作の時、前記第3チェックサム値に対する演算は実行されない。
この実施形態において、前記第3チェックサム値と前記第4チェックサム値とが一致しない時、プログラムエラーの発生を知らせるフラッグビットを設定し、前記プログラム動作を終了させる段階をさらに含む。
本発明の他の特徴によれば、集積回路カードはRAMと、不揮発性メモリと、そして前記RAMと前記不揮発性メモリとを制御する制御ユニットとを含み、プログラム動作の時、前記制御ユニットは前記RAMに貯蔵されたプログラムデータを前記不揮発性メモリのページバッファに伝送した後、外部攻撃によって前記ページバッファのプログラムデータが不正操作されたか否かを判別し、判別結果によって前記ページバッファのプログラムデータを前記不揮発性メモリの選択されたページに貯蔵されるようにする。
この実施形態において、前記制御ユニットはバッファメモリと、CRC演算ロジックと、前記ページバッファに前記プログラムデータが伝送された後、前記RAMのプログラムデータを前記バッファメモリにコピーするランダム遅延制御ロジックと、そして前記プログラムデータが前記バッファメモリにコピーされた後、前記バッファメモリのプログラムデータに対する第1チェックサム値を計算するように前記CRC演算ロジックを制御するデータコピー及び制御ロジックを含む。
この実施形態において、前記第1チェックサム値が計算された後、前記データコピー及び制御ロジックは前記ページバッファのプログラムデータが前記バッファメモリに伝送されるように前記不揮発性メモリを制御する。
この実施形態において、前記ページバッファのプログラムデータが前記バッファメモリに伝送された後、前記データコピー及び制御ロジックは前記バッファメモリのプログラムデータに対する第2チェックサム値を計算するように前記CRC演算ロジックを制御する。
この実施形態において、前記制御ユニットは前記第1チェックサム値と前記第2チェックサム値とを貯蔵するCRCレジスタと、前記データコピー及び制御ロジックによって制御され、前記第1チェックサム値と前記第2チェックサム値とが一致するか否かを判別する比較器と、そして前記比較結果が前記第1チェックサム値と前記第2チェックサム値との不一致を示す時、プログラム終了信号を発生する訂正/検出制御ロジックをさらに含む。
この実施形態において、前記プログラム終了信号が発生する時、前記訂正/検出制御ロジックは外部攻撃によって前記ページバッファのプログラムデータが不正操作されたことを知らせる外部攻撃検出フラッグ信号を発生する。
この実施形態において、前記プログラム終了信号が発生する時、前記訂正/検出制御ロジックはインタラプト信号を発生する。
この実施形態において、前記比較結果が前記第1チェックサム値と前記第2チェックサム値との一致を示す時、前記データコピー及び制御ロジックは前記不揮発性メモリの選択されたページのデータが前記バッファメモリにコピーされるように前記不揮発性メモリを制御する。
この実施形態において、前記不揮発性メモリの選択されたページのデータが前記バッファメモリにコピーされた後、前記データコピー及び制御ロジックは前記ページバッファのプログラムデータが前記選択されたページにプログラムされるように前記不揮発性メモリを制御する。
この実施形態において、プログラム動作が実行される間、前記データコピー及び制御ロジックは前記RAMのプログラムデータに前記バッファメモリをアップデートさせる。
この実施形態において、前記データコピー及び制御ロジックは前記バッファメモリのデータに対する第3チェックサム値を計算するように前記CRC演算ロジックを制御し、前記第3チェックサム値は前記レジスタに貯蔵される。
この実施形態において、前記プログラム動作が完了する時、前記データコピー及び制御ロジックは前記選択されたページのデータが前記バッファメモリにコピーされるように前記不揮発性メモリを制御し、その次に前記バッファメモリのデータに対する第4チェックサム値を計算するように前記CRC演算ロジックを制御し、前記第4チェックサム値は前記レジスタに貯蔵される。
この実施形態において、前記データコピー及び制御ロジックは前記第3チェックサム値と前記第4チェックサム値とが一致するか否かを判別するように前記比較器を制御する。
この実施形態において、前記比較器の比較結果が前記第3チェックサム値と前記第4チェックサム値との一致を示す時、前記訂正/検出制御ロジックはプログラム終了信号を発生する。
この実施形態において、前記比較器の比較結果が前記第3チェックサム値と前記第4チェックサム値との一致を示す時、前記訂正/検出制御ロジックは前記ページバッファのプログラムデータが再プログラムされるように再プログラム信号を発生する。
この実施形態において、前記再プログラム動作の時、前記第3チェックサム値に対する演算は実行されない。
この実施形態において、前記第3チェックサム値と前記第4チェックサム値とが一致しない時、前記訂正/検出制御ロジックはプログラムエラーの発生を知らせるフラッグ信号と前記プログラム動作の終了を知らせるプログラム終了信号を発生する。
この実施形態において、前記集積回路カードはスマートカードを含む。
前記のように、保安データストレージにデータがプログラムされる以前に貯蔵されるデータが有効なデータであるか否かを検証し、保安データストレージにデータが貯蔵された後、貯蔵されたデータが有効なデータであるか否かを検証するによって外部攻撃によって不正操作されたデータがプログラムされることを防止し、ソフトウエアの関与なしに自動的に貯蔵されたデータが有効なデータであるか否かを検証することができる。従って、スマートカードの動作性能を向上させることができる。
前述の一般的な説明及び次の詳細な説明はすべて例示的なものと理解すべきであり、請求された発明の付加的な説明が提供されるものと理解すべきである。
参照符号が本発明の望ましい実施形態に付されており、その例が参照図面に表示されている。可能な場合には、同一の参照番号が同一または類似の部分を参照するために説明及び図面に使用される。
以下において、スマートカードが本発明の特徴及び機能を説明するための例として使用される。しかし、この技術分野に精通した者はここに記載した内容によって本発明の他の利点及び性能を容易に理解することができるであろう。本発明は他の実施形態を通じてまた、実現されるか適用することができるであろう。なお、詳細な説明は本発明の範囲、技術的思想及び他の目的からあまり逸脱せず、観点及び応用によって修正または変更することができる。
図1は本発明による集積回路装置を概略的に示すブロック図である。本発明による集積回路装置1000は、例えば、スマートカードである。しかし、本発明による集積回路装置1000がこれに限定されないことはこの分野の通常的な知識を習得した者には自明である。
図1を参照すれば、集積回路装置、即ち、スマートカード1000は制御ユニット100、インターフェースブロック200、RAM300、ROM400、及び保安データストレージ500を含む。保安データストレージ500はEEPROM、フラッシュメモリなどのような不揮発性メモリを含む。
制御ユニット100はスマートカード1000の全般的な動作を制御するように構成される。特に、制御ユニット100はソフトウエアの介入なしに(またはソフトウエアの最小介入によって)外部攻撃に対するプログラムデータの不正操作を検出し、プログラム検証動作を実行するように構成される。これについては以後、詳細に説明する。インターフェースブロック200は外部装置(例えば、カードリーダー器)とのインターフェースを提供する。インターフェースブロック200は多様なインターフェース機能を提供する。例えば、インターフェースブロック200は接触方式として外部装置と通信するか、非接触方式として外部装置と通信するか、接触及び非接触方式として外部装置と通信する。接触及び非接触方式によってインターフェース動作を実行するインターフェースブロックはこの分野の通常的な知識を習得した者によく知られているため、それに対する説明は省略する。RAM300はワークメモリ(work memory)として動作し、保安データストレージ500に貯蔵されるまたは保安データストレージ500から読み出したデータを一時貯蔵するのに使用される。また、RAM300は制御ユニット100によって処理されるデータを一時貯蔵するに使用される。ROM400は制御ユニット100によって使用されるそしてスマートカード400が動作するのに必要な各種プログラムを貯蔵する。保安データストレージ500は制御ユニット100の制御によって保安が必要なデータ(例えば、金融情報)を貯蔵するのに使用される。
本発明によるスマートカード1000は保安データストレージ500にデータがプログラムされる以前に貯蔵されるデータが有効なデータであるか否かを検証するように、そして保安データストレージ500にデータが貯蔵された後、貯蔵されたデータが有効なデータであるか否かを検証するように構成される。これについては以後、詳細に説明する。このような検証方法によれば、外部攻撃によって不正操作されたデータがプログラムされることを防止することができる。また、ソフトウエアの関与なしに自動的に貯蔵されたデータが有効なデータであるか否かを検証することができる。これは動作性能が向上することを意味する。
図2は本発明の例示的な実施形態による図1に示した制御ユニットを示すブロック図である。
図2を参照すれば、制御ユニット100はランダム遅延制御ロジック110、バッファメモリ120、データコピー及び制御ロジック130、CRC演算ロジック140、CRCレジスタ150、比較器160、レジスタ171、172、訂正/検出制御ロジック180、及び信号発生器190を含む。
ランダム遅延制御ロジック110はプログラムデータがRAM300から保安データストレージ500のページバッファ504に伝達された後、RAM300に貯蔵されたプログラムデータをバッファメモリ120にコピーするように構成される。ランダム遅延制御ロジック110はRAM300に貯蔵されたプログラムデータが全部バッファメモリ120にコピーされる時、フラッグ信号FUDC_ENDを発生する。フラッグ信号FUDC_ENDの活性化はプログラムデータがRAM300からバッファメモリ120に全部コピーされたことを示す。
CRC演算ロジック140はデータコピー及び制御ロジック130からの制御信号F_CRC_STに応答してバッファメモリ120に貯蔵されたデータに対するCRC演算動作を実行するように構成される。また、CRC演算ロジック140はデータコピー及び制御ロジック130からの制御信号F_CRC_STに応答して保安データストレージ500のアレイ501から直接データを読み出し、読み出されたデータに対するCRC演算動作を実行するように構成される。CRC演算ロジック140によって演算された結果値(すなわち、各結果値は2バイトチェックサム値に対応する)はCRCレジスタ150に貯蔵される。CRCレジスタ150には2回のCRC演算過程を通じて獲得した2個の2バイトチェックサム値が貯蔵される。CRC演算ロジック140はCRC演算動作が完了する度にフラッグ信号FCRC_ENDを発生する。
比較器160はデータコピー及び制御ロジック130からの制御信号FCOMP1に応答して保安データストレージ500のページバッファ504に貯蔵されたデータとバッファメモリ120に貯蔵されたデータとを比較するように構成される。比較器160は比較結果としてフラッグ信号FMTC、FNMTCのうちの一つを活性化させる。フラッグ信号FMTCの活性化はページバッファ504に貯蔵されたデータがバッファメモリ120に貯蔵されたデータと一致することを示し、フラッグ信号FNMTCの活性化はページバッファ504に貯蔵されたデータがバッファメモリ120に貯蔵されたデータと一致しないことを示す。以後、説明するように、フラッグ信号FNMTCが活性化される場合、ページバッファ504にロードされたデータは外部攻撃によって不正操作されたデータであり、プログラム動作は中止される。比較器160はデータコピー及び制御ロジック130からの制御信号FCOMP2に応答してCRCレジスタ150に貯蔵された結果値CRC1、CRC2を比較し、比較結果としてフラッグ信号FCRC_OK、FCRC_NOKを発生する。フラッグ信号FCRC_NOKはCRCレジスタ150に貯蔵された結果値CRC1、CRC2が一致しない時、活性化され、フラッグ信号FCRC_OKはCRCレジスタ150に貯蔵された結果値CRC1、CRC2が一致する時、活性化される。
レジスタ171は保安データストレージ500の制御情報を貯蔵するためのもので、高電圧活性化情報、セルフタイマ活性化情報、命令情報などを貯蔵する。レジスタ172は保安データストレージ500の書き込み動作に対する検証情報を貯蔵するためのもので、図3に示したように、8ビットレジスタである。[0]ビットは保安データストレージ500のプログラミング検証オン/オフ制御ビットとして、ロジック‘0’の値は検証機能がオフされることを示し、ロジック‘1’の値は検証機能がオンされることを示す。初期値はロジック‘0’の値に設定される。[1]ビットはエラー訂正/検出選択情報として、ロジック‘0’の値はエラー検出機能が選択されたことを示し、ロジック‘1’の値はエラー訂正機能が選択されたことを示す。[2]ビットは外部攻撃検出フラッグビットである。[2]ビットがロジック‘0’の値に設定されることはプログラムデータが外部攻撃によって不正調整されなかったことを示し、[2]ビットがロジック‘1’の値に設定されることはプログラムデータが外部攻撃によって不正調整されたことを示す。[5]ビットはインタラプト発生制御ビットとして、ロジック‘0’の値はインタラプト発生機能がオフされることを示し、ロジック‘1’の値はインタラプト発生機能がオンされることを示す。[6]ビットはエラー検出フラッグビットとして、制御ユニット100のマイクロプロセッサまたはCPU(図示しない)によって設定される。ロジック‘0’の値はエラーが検出されなかったことを示し、ロジック‘1’の値はエラーが検出されたことを示す。[5]ビットは[1]ビットがロジック‘0’の値に設定される時のみ有効な情報である。すなわち、[1]ビットがロジック‘0’の値に設定された場合、[5]ビットがロジック‘1’に設定される時、インタラプトが発生する。[1]ビットがロジック‘1’の値に設定された場合、エラーが検出されてもインタラプトは発生しない。[6]ビットはエラー検出機能が選択された場合([1]ビットがロジック‘0’の値に設定された場合)エラーが発生する時設定され、次に活性化される高電圧の活性化信号によってクリアされる。残りの[3]‐[4]と[7]ビットは予備ビット(reserved bits)である。
続いて、訂正/検出制御ロジック180はレジスタ172に貯蔵された情報及びフラッグ信号FNMTC、FCRC_NOK、FCRC_OKに応答してプログラム終了信号PGM_END、外部攻撃検出信号ATT_DET、再プログラム信号FRPGM、及びインタラプト信号FIQを発生する。例えば、フラッグ信号FNMTCが活性化される場合、訂正/検出制御ロジック180はプログラム終了信号PGM_ENDと外部攻撃検出信号ATT_DETとを活性化させる。また、訂正/検出制御ロジック180はレジスタ172の[5]ビットが設定されたか否かによってインタラプト信号FIQを発生する。訂正/検出制御ロジック180はフラッグ信号FCRC_OKが活性化される時、プログラム終了信号PGM_ENDを活性化させる。これはプログラム手続きが終了するようにする。フラッグ信号FCRC_NOKが活性化される場合、訂正/検出制御ロジック180はレジスタ172の[1]ビットが設定されたか否かによって再プログラム信号FRPGMまたはプログラム終了信号PGM_END及びインタラプト信号FIQを活性化させる。
信号発生器190はレジスタ171に貯蔵された命令情報とデータコピー及び制御ロジック130からの制御信号FRBC_ENDとに応答してフラッグ信号FBLDC、FBCのうちの一つを活性化させる。例えば、消去及び書き込む動作または書き込む動作を知らせる命令がレジスタ171に設定された場合、信号発生器190は制御信号FRBC_ENDの活性化に応答してフラッグ信号FBLDCを発生する。消去動作を知らせる命令がレジスタ171に設定された場合、信号発生器190は制御信号FRBC_ENDの活性化に応答してフラッグ信号FBCを発生する。
図4は本発明によるスマートカードの検証動作を説明するためのフローチャートであり、図5A及び図5Bはスマートカードの検証動作による制御流れを示す図面である。以下、本発明によるスマートカードの検証動作を参照図面に基づいて詳細に説明する。
外部装置がプログラム動作を要請することによって、スマートカード1000のRAM300には外部装置から提供されるデータが貯蔵され、レジスタ172は図3に示したような設定方法によって制御ユニット100のマイクロプロセッサまたはCPUによって求められる情報に設定される。その次に、RAM300に貯蔵されたデータは図5Aの(I)経路を通じて保安データストレージ500のページバッファ504に伝送される(S100)。ページバッファ504へのデータの伝送が完了すれば、ページバッファ504にロードされたデータが外部攻撃によって不正操作されたか否かが検証される。より具体的に説明すれば次の通りである。
いったん、ページバッファ504へのデータの伝送が完了すれば、ランダム遅延制御ロジック110はRAM300からデータをバッファメモリ120に伝送する(図5Aの(II)参照)。すべてのデータがRAM300からバッファメモリ120に伝送されれば、ランダム遅延制御ロジック110はフラッグ信号FUDC_ENDを発生する。データコピー及び制御ロジック130はフラッグ信号FUDC_ENDに応答して制御信号FCOMP1を発生する。比較器160には、バッファメモリ120のデータ及びRAM300のデータがそれぞれ入力され、入力されたデータが比較される(S110、図5Aの(III)参照。比較器160は比較結果として、フラッグ信号FMTC、FNMTCのうちの一つを活性化させる(図5Aの(IV)参照)。
フラッグ信号FNMTCが活性化される場合、ページバッファ504に貯蔵されたデータが外部攻撃によって不正操作されたか否かが訂正/検出制御ロジック180によって判別される(S120)。訂正/検出制御ロジック180はフラッグ信号FNMTCの活性化に応答してプログラム終了信号PGM_END及び外部攻撃検出信号ATT_DETを活性化させる。これはページバッファ504に貯蔵されたデータが外部攻撃によって不正操作されたことを示し、次のような過程を通じてプログラム手続きが終了する(S130)。プログラム終了信号PGM_ENDが活性化されることによって、ページバッファ504が初期化され、レジスタ171の高電圧活性化ビットが初期化され、外部攻撃が検出されたことを知らせるレジスタ171の外部攻撃検出フラッグビットが設定される。さらに、訂正/検出制御ロジック180はレジスタ172の[5]ビットがロジック‘1’の値に設定されたか否かによってインタラプト信号FIQを活性化させる。レジスタ172の[5]ビットがインタラプト発生機能がオフされたロジック‘0’の値に設定された場合、インタラプト信号FIQは活性化されない。レジスタ172の[5]ビットがインタラプト発生機能がオンされたロジック‘1’の値に設定された場合、インタラプト信号FIQは活性化される。
ページバッファ504にロードされたデータが有効なデータであることを示すフラッグ信号FMTCが活性化される場合、プログラム動作が実行されると同時に、選択されたデータコピー及び制御ロジック130の制御の下において選択されたページのデータに対するCRC演算が実行される(S140)。これは、以後説明するように、ページバッファ504にロードされたデータが正しくプログラムされたか否かを判別するためのものである。より具体的に説明すれば、次の通りである。
まず、フラッグ信号FMTCが活性化される時、データコピー及び制御ロジック130はレジスタ172の[0]ビットがロジック‘1’の値に設定されたか否かによって選択されたページのデータをバッファメモリ120にコピーする(図5Bの(V)参照)。これは行アドレス情報ADD(WL)を利用して選択されたページのデータを読み出し回路502を通じてバッファメモリ120に伝達することによって行われる。この時、バッファメモリ120に伝送されたデータはプログラムされる以前のページデータである。
いったん、バッファメモリ120へのデータの伝送が完了すれば、データコピー及び制御ロジック130は制御信号FRBC_ENDを活性化させる。制御信号FRBC_ENDの活性化によって高電圧発生及びセルフタイマブロック505は書き込み回路503に高電圧を供給する。これはページバッファ504にロードされたデータが選択されたページのセルにプログラムされるようにする(図5Bの(VI)参照)。高電圧発生及びセルフタイマブロック505のセルフタイマは高電圧が供給される時からプログラム時間をカウントする。これと同時に、制御信号FRBC_ENDの活性化の時、信号発生器190は動作モードによってフラッグ信号FBLDC、FBCのうちの一つを活性化させる。例えば、レジスタ171に貯蔵された命令が書き込み動作を示す時、信号発生器190は制御信号FRBC_ENDの活性化に応答してフラッグ信号FBLDCを活性化させる。レジスタ171に貯蔵された命令が消去動作を示す時、信号発生器190はフラッグ信号FBCを活性化させる。データコピー及び制御ロジック130はフラッグ信号FBLDCの活性化に応答してバッファメモリ120をRAM300に貯蔵されたデータ(即ち、プログラムデータ)でアップデートさせる。これはプログラムデータと係わる列アドレス情報ADD(BL)によってバッファメモリ120の一定領域(即ち、プログラムデータが貯蔵される目標領域)にのみプログラムデータをコピーすることによって行われる(図5Bの(VI')参照)。フラッグ信号FBCが活性化される時、アップデート動作が実行される場合、前記と同一な方式によってバッファメモリ120の一定領域は消去データとして“0xFF”にアップデートされる。
いったん、アップデート動作が完了すれば、CRC演算ロジック140はアップデート動作の完了を示すフラッグ信号FRBU_ENDによって初期化される。データコピー及び制御ロジック130はフラッグ信号FRBU_ENDに応答して制御信号F_CRC_STを活性化させる。CRC演算ロジック140は制御信号F_CRC_STに応答してバッファメモリ120に貯蔵されたデータに対するCRC演算動作を実行する(図5Bの(VII)参照)。この時、CRC演算ロジック140はバッファメモリ120に対するCRC演算の時、データオフセットを自動的に増加させながらCRC演算動作を実行する。CRC演算動作が完了すれば、2バイトの演算結果はCRCレジスタ150に貯蔵される(図5Bの(VIII)参照)。CRC演算動作はプログラム動作が実行される間に実行される。
以後、プログラム動作が完了した後、選択されたページのデータに対するCRC演算動作が実行される(S150)。より具体的に説明すれば、次の通りである。
バッファメモリ120に貯蔵されたデータに対するCRC演算動作が完了した後、プログラム時間が完了したことを知らせるフラッグ信号FSTEが高電圧発生及びセルフタイマブロック505からデータコピー及び制御ロジック140に出力される。データコピー及び制御ロジック140はフラッグ信号FSTEに応答して制御信号F_CRC_STを発生し、CRC演算ロジック140は制御信号F_CRC_STによって初期化される。初期化された後、CRC演算ロジック140は行アドレス情報を利用して保安データストレージ500の選択されたページからデータを直接取り出し、取り出したデータに対するCRC演算動作を実行する(図5Bの(IX)参照)。CRC演算動作が完了すれば、2バイトの演算結果はCRCレジスタ150に貯蔵される(図5Bの(X)参照)。
いったん、CRC演算動作が完了すれば、CRC演算ロジック140はフラッグ信号FCRC_ENDを発生する。データコピー及び制御ロジック130はフラッグ信号FCRC_ENDに応答して制御信号FCOMP2を発生する。比較器160は制御信号FCOMP2に応答してCRCレジスタ150に貯蔵されたCRC値CRC1、CRC2が一致するか否かを判別する(S160)(図5Bの(X)参照)。ここで、CRC値CRC1はプログラム動作が実行される以前に選択されたページのデータをバッファメモリ120にコピーし、バッファメモリ120をRAM300のプログラムデータでアップデートさせた後、実行されたCRC演算動作の結果値を示し、CRC値CRC2はプログラム動作が完了した後、選択されたページのデータに対するCRC演算動作の結果値を示す。CRCレジスタ150に貯蔵されたCRC値CRC1、CRC2が一致すれば、比較器160はフラッグ信号FCRC_OKを発生する。訂正/検出制御ロジック180はフラッグ信号FCRC_OKに応答してプログラム終了信号PGM_ENDを発生し、その結果、プログラム動作が終了する。この時、ページバッファ504とレジスタ171の高電圧活性化ビットがクリアされる。これは外部攻撃によるデータの不正操作なしにプログラム動作が正常的に完了したことを意味する。
CRCレジスタ150に貯蔵されたCRC値CRC1、CRC2が一致しなければ、比較器160はフラッグ信号FCRC_NOKを発生する。フラッグ信号FCRC_NOKの生成はある原因(例えば、高電圧を発生する回路の劣化、メモリセルの劣化、など)によってメモリセルにデータが正常的に書き込まれたか否かを示す。この場合、プログラム動作が終了されるかプログラム動作がまた実行される。より具体的に説明すれば、次の通りである。まず、フラッグ信号FCRC_NOKが生成される時、レジスタ172の[1]ビットがロジック‘1’の値に設定されたか否かによって再プログラム動作が実行されるかプログラム動作が終了する。例えば、レジスタ172の[1]ビットがエラー検出機能の選択を知らせるロジック‘0’の値に設定された場合、ANDゲート181の出力が活性化される。これはプログラム動作が終了するようにプログラム終了信号PGM_ENDが活性化されるようにする(S170)。プログラム動作の終了手続きは前記と同一の方式によって実行され、そのため、それに対する説明は省略する。これと同時に、レジスタ172の[6]ビットがプログラムエラーが発生したことを示すロジック‘1’の値に設定される。インタラプト信号FIQはレジスタ172の[5]ビットがロジック‘1’の値に設定される時にのみANDゲート183を通じて生成される。
一方、レジスタ172の[1]ビットがエラー訂正機能の選択を知らせるロジック‘1’の値に設定された場合、ANDゲート182の出力すなわち、再プログラム信号FRPGMが活性化される。再プログラム信号FRPGMが活性化されることによってプログラム動作がまた実行される(S180)。再プログラム動作を実行するための手続きはS140段階に進行する。この場合、バッファメモリ120に選択されたページのデータをコピーし、バッファメモリ120をプログラムデータでアップデートさせ、バッファメモリ120のデータに対するCRC演算動作を実行する過程は省略する。なぜなら、以前のプログラム動作を実行する時生成されたCRC値CRC1がCRCレジスタ150に貯蔵されているためである。以後、プログラム手続きは前記と同一に実行され、そのため、それに対する説明は省略する。
本発明の範囲または技術的思想を逸脱せず、本発明の構造が多様に修正または変更されることができるのはこの分野に熟練された者に自明である。上述した内容を考慮すると、もし本発明の修正及び変更が請求項及び同等物の範囲内に属すれば、本発明がこの発明の変更及び修正を含む。
本発明による集積回路装置を概略的に示すブロック図である。 本発明の例示的な実施形態による図1に示した制御ユニットを示すブロック図である。 図2に示したレジスタ172の設定情報を説明するための図である。 本発明によるスマートカードの検証動作を説明するためのフローチャートである。 スマートカードの検証動作による制御流れを示す図である。 スマートカードの検証動作による制御流れを示す図である。
符号の説明
100 制御ユニット
110 ランダム遅延制御ロジック
120 バッファメモリ
130 データコピー及び制御ロジック
140 CRC演算ロジック
150 CRCレジスタ
160 比較器
171、172 レジスタ
180 訂正/検出制御ロジック
190 信号発生器
200 インターフェース
300 RAM
400 ROM
500 保安データストレージ

Claims (30)

  1. 集積回路カードのプログラミングを検証する方法において、
    プログラムデータを不揮発性メモリのページバッファに伝送する段階と、
    前記プログラムデータをバッファメモリにコピーし、前記バッファメモリのデータに対する第1チェックサム値を計算する段階と、
    前記ページバッファのデータを前記バッファメモリにコピーし、前記バッファメモリのデータに対する第2チェックサム値を計算する段階と、
    前記第1チェックサム値と前記第2チェックサム値とを比較する段階と、
    比較結果に応じて外部攻撃によって前記ページバッファのプログラムデータが不正操作されたか否かを判別する段階とを含むことを特徴とする方法。
  2. 前記不揮発性メモリのページバッファへのデータ伝送が完了した後、前記バッファメモリにコピーされた前記プログラムデータは前記集積回路カードのRAMから提供されることを特徴とする請求項1に記載の方法。
  3. 前記第1チェックサム値と前記第2チェックサム値とが一致しない時、プログラム手続きを終了させる段階をさらに含むことを特徴とする請求項1に記載の方法。
  4. 前記第1チェックサム値と前記第2チェックサム値とが一致しない時、インタラプトを発生する段階をさらに含むことを特徴とする請求項3に記載の方法。
  5. 前記第1チェックサム値と前記第2チェックサム値とが一致しない時、外部攻撃検出情報を発生する段階をさらに含むことを特徴とする請求項3に記載の方法。
  6. 前記第1チェックサム値と前記第2チェックサム値とが一致する時、
    前記プログラムデータが貯蔵される前記不揮発性メモリの選択されたページから前記バッファメモリにページデータをコピーする段階と、
    前記バッファメモリのプログラムデータを前記選択されたページにプログラムする段階とをさらに含むことを特徴とする請求項1に記載の方法。
  7. 前記バッファメモリのプログラムデータが前記選択されたページにプログラムされる間、前記集積回路カードのRAMに貯蔵されたプログラムデータで前記バッファメモリをアップデートする段階と、
    前記バッファメモリのデータに対する第3チェックサム値を計算する段階とをさらに含むことを特徴とする請求項6に記載の方法。
  8. 前記プログラムデータに対するプログラム動作が完了した後、
    CRC演算ロジックを通じて直接前記選択されたページのデータに対する第4チェックサム値を計算する段階と、
    前記第3チェックサムと前記第4チェックサム値とが一致するか否かによってプログラム動作のパス/フェイルを判別する段階をさらに含むことを特徴とする請求項7に記載の方法。
  9. 前記第3チェックサム値と前記第4チェックサム値とが一致する時、プログラム手続きを終了する段階をさらに含むことを特徴とする請求項8に記載の方法。
  10. 前記第3チェックサム値と前記第4チェックサム値とが一致しない時、再プログラム動作を実行する段階をさらに含むことを特徴とする請求項8に記載の方法。
  11. 前記再プログラム動作の時、前記第3チェックサム値に対する演算は実行されないことを特徴とする請求項10に記載の方法。
  12. 前記第3チェックサム値と前記第4チェックサム値とが一致しない時、プログラムエラーの発生を知らせるフラッグビットを設定し、前記プログラム動作を終了させる段階をさらに含むことを特徴とする請求項8に記載の方法。
  13. RAMと、
    不揮発性メモリと、
    前記RAMと前記不揮発性メモリとを制御する制御ユニットとを含み、
    プログラム動作の時、前記制御ユニットは前記RAMに貯蔵されたプログラムデータを前記不揮発性メモリのページバッファに伝送した後、外部攻撃によって前記ページバッファのプログラムデータが不正操作されたか否かを判別し、判別結果によって前記ページバッファのプログラムデータを前記不揮発性メモリの選択されたページに貯蔵されるようにすることを特徴とする集積回路カード。
  14. 前記制御ユニットは、
    バッファメモリと、
    CRC演算ロジックと、
    前記ページバッファに前記プログラムデータが伝送された後、前記RAMのプログラムデータを前記バッファメモリにコピーするランダム遅延制御ロジックと、
    前記プログラムデータが前記バッファメモリにコピーされた後、前記バッファメモリのプログラムデータに対する第1チェックサム値を計算するように前記CRC演算ロジックを制御するデータコピー及び制御ロジックを含むことを特徴とする請求項13に記載の集積回路カード。
  15. 前記第1チェックサム値が計算された後、前記データコピー及び制御ロジックは前記ページバッファのプログラムデータが前記バッファメモリに伝送されるように前記不揮発性メモリを制御することを特徴とする請求項14に記載の集積回路カード。
  16. 前記ページバッファのプログラムデータが前記バッファメモリに伝送された後、前記データコピー及び制御ロジックは前記バッファメモリのプログラムデータに対する第2チェックサム値を計算するように前記CRC演算ロジックを制御することを特徴とする請求項15に記載の集積回路カード。
  17. 前記制御ユニットは、
    前記第1チェックサム値と前記第2チェックサム値とを貯蔵するCRCレジスタと、
    前記データコピー及び制御ロジックによって制御され、前記第1チェックサム値と前記第2チェックサム値とが一致するか否かを判別する比較器と、
    前記比較結果が前記第1チェックサム値と前記第2チェックサム値との不一致を示す時、プログラム終了信号を発生する訂正/検出制御ロジックとをさらに含むことを特徴とする請求項16に記載の集積回路カード。
  18. 前記プログラム終了信号が発生する時、前記訂正/検出制御ロジックは外部攻撃によって前記ページバッファのプログラムデータが不正操作されたことを知らせる外部攻撃検出フラッグ信号を発生することを特徴とする請求項17に記載の集積回路カード。
  19. 前記プログラム終了信号が発生する時、前記訂正/検出制御ロジックはインタラプト信号を発生することを特徴とする請求項17に記載の集積回路カード。
  20. 前記比較結果が前記第1チェックサム値と前記第2チェックサム値との一致を示す時、
    前記データコピー及び制御ロジックは前記不揮発性メモリの選択されたページのデータが前記バッファメモリにコピーされるように前記不揮発性メモリを制御することを特徴とする請求項17に記載の集積回路カード。
  21. 前記不揮発性メモリの選択されたページのデータが前記バッファメモリにコピーされた後、前記データコピー及び制御ロジックは前記ページバッファのプログラムデータが前記選択されたページにプログラムされるように前記不揮発性メモリを制御することを特徴とする請求項20に記載の集積回路カード。
  22. プログラム動作が実行される間、
    前記データコピー及び制御ロジックは前記RAMのプログラムデータで前記バッファメモリをアップデートさせることを特徴とする請求項21に記載の集積回路カード。
  23. 前記データコピー及び制御ロジックは前記バッファメモリのデータに対する第3チェックサム値を計算するように前記CRC演算ロジックを制御し、前記第3チェックサム値は前記レジスタに貯蔵されることを特徴とする請求項22に記載の集積回路カード。
  24. 前記プログラム動作が完了する時、前記データコピー及び制御ロジックは前記選択されたページのデータが前記バッファメモリにコピーされるように前記不揮発性メモリを制御し、その次に前記バッファメモリのデータに対する第4チェックサム値を計算するように前記CRC演算ロジックを制御し、前記第4チェックサム値は前記レジスタに貯蔵されることを特徴とする請求項23に記載の集積回路カード。
  25. 前記データコピー及び制御ロジックは前記第3チェックサム値と前記第4チェックサム値とが一致するか否かを判別するように前記比較器を制御することを特徴とする請求項24に記載の集積回路カード。
  26. 前記比較器の比較結果が前記第3チェックサム値と前記第4チェックサム値との一致を示す時、前記訂正/検出制御ロジックはプログラム終了信号を発生することを特徴とする請求項25に記載の集積回路カード。
  27. 前記比較器の比較結果が前記第3チェックサム値と前記第4チェックサム値との一致を示す時、前記訂正/検出制御ロジックは前記ページバッファのプログラムデータが再プログラムされるように再プログラム信号を発生することを特徴とする請求項25に記載の集積回路カード。
  28. 前記再プログラム動作の時、前記第3チェックサム値に対する演算は実行されないことを特徴とする請求項27に記載の集積回路カード。
  29. 前記第3チェックサム値と前記第4チェックサム値とが一致しない時、前記訂正/検出制御ロジックはプログラムエラーの発生を知らせるフラッグ信号と前記プログラム動作の終了を知らせるプログラム終了信号とを発生することを特徴とする請求項25に記載の集積回路カード。
  30. 前記集積回路カードはスマートカードを含むことを特徴とする請求項13に記載の集積回路カード。
JP2006343205A 2006-01-09 2006-12-20 不揮発性メモリのプログラム動作を検証する装置及び方法、並びにその装置を含むメモリカード Pending JP2007183937A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060002290A KR101197556B1 (ko) 2006-01-09 2006-01-09 불 휘발성 메모리의 프로그램 동작을 검증하는 장치 및방법, 그리고 그 장치를 포함한 메모리 카드

Publications (1)

Publication Number Publication Date
JP2007183937A true JP2007183937A (ja) 2007-07-19

Family

ID=38264716

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006343205A Pending JP2007183937A (ja) 2006-01-09 2006-12-20 不揮発性メモリのプログラム動作を検証する装置及び方法、並びにその装置を含むメモリカード

Country Status (3)

Country Link
US (1) US7992009B2 (ja)
JP (1) JP2007183937A (ja)
KR (1) KR101197556B1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840361A (zh) * 2009-03-17 2010-09-22 恩益禧电子股份有限公司 程序验证装置及其方法
JP2011141790A (ja) * 2010-01-08 2011-07-21 Seiko Epson Corp 誤り検出器、誤り検出器を有する半導体装置、誤り検出器を有する半導体装置を用いた情報処理装置及び誤り検出方法
JP2011150656A (ja) * 2010-01-25 2011-08-04 Toyota Infotechnology Center Co Ltd プログラム検査システム
US8528081B2 (en) 2009-01-05 2013-09-03 Samsung Electronics Co., Ltd. Memory system
KR20150055879A (ko) * 2013-11-14 2015-05-22 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101348171B1 (ko) * 2007-07-30 2014-01-07 삼성전자주식회사 단일 래치 구조를 갖는 멀티-비트 플래시 메모리 장치,그것의 프로그램 방법, 그리고 그것을 포함하는 메모리카드
KR20090043823A (ko) * 2007-10-30 2009-05-07 삼성전자주식회사 외부 공격을 감지할 수 있는 메모리 시스템
FR2926381A1 (fr) * 2008-01-11 2009-07-17 Sagem Securite Sa Methode de transfert securise de donnees
US8386868B2 (en) * 2008-04-16 2013-02-26 Sandisk Il, Ltd. Using programming-time information to support error correction
KR101052735B1 (ko) * 2009-03-06 2011-07-29 주식회사 안철수연구소 메모리 조작유무를 감지하는 방법 및 이를 이용한 장치
KR101566409B1 (ko) 2009-04-14 2015-11-05 삼성전자주식회사 프로그램 데이터 공격 검출방법
US20110107325A1 (en) * 2009-11-03 2011-05-05 Jack Matthew Early Detection of Errors in a Software Installation
US20120143836A1 (en) * 2010-12-01 2012-06-07 International Business Machines Corporation Validation of access to a shared data record subject to read and write access by multiple requesters
US9069571B2 (en) 2010-12-01 2015-06-30 International Business Machines Corporation Propagation of unique device names in a cluster system
US8788465B2 (en) 2010-12-01 2014-07-22 International Business Machines Corporation Notification of configuration updates in a cluster system
US8943082B2 (en) 2010-12-01 2015-01-27 International Business Machines Corporation Self-assignment of node identifier in a cluster system
FR2976697B1 (fr) * 2011-06-17 2013-07-05 Morpho Transfert securise entre memoire non-volatile et memoire volatile
KR101312293B1 (ko) * 2011-10-31 2013-09-27 삼성에스디에스 주식회사 Ic 칩 및 이에 대한 데이터 검증 방법
US8908464B2 (en) 2013-02-12 2014-12-09 Qualcomm Incorporated Protection for system configuration information
US9129674B2 (en) * 2013-06-27 2015-09-08 Intel Corporation Hybrid memory device
US9183148B2 (en) 2013-12-12 2015-11-10 International Business Machines Corporation Efficient distributed cache consistency
US10331513B2 (en) * 2015-07-28 2019-06-25 Microchip Technology Incorporated Zero overhead code coverage analysis
US10353626B2 (en) * 2016-02-03 2019-07-16 Samsung Electronics Co., Ltd. Buffer memory management method and write method using the same
FR3092679B1 (fr) 2019-02-12 2021-02-19 Idemia France Elément électronique, système comprenant un tel élément électronique et procédé de surveillance d’un processeur
US11599684B2 (en) * 2020-09-04 2023-03-07 Silicon Laboratories Inc. System and method of digital continuity tamper detection

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59229709A (ja) * 1983-06-10 1984-12-24 Toshiba Corp 画像情報記録装置
US5313582A (en) * 1991-04-30 1994-05-17 Standard Microsystems Corporation Method and apparatus for buffering data within stations of a communication network
US5410546A (en) * 1993-11-01 1995-04-25 Storage Technology Corporation Apparatus and method for CRC computation over fixed length blocks containing variable length packets of data received out of order
US5563828A (en) * 1994-12-27 1996-10-08 Intel Corporation Method and apparatus for searching for data in multi-bit flash EEPROM memory arrays
US5541886A (en) * 1994-12-27 1996-07-30 Intel Corporation Method and apparatus for storing control information in multi-bit non-volatile memory arrays
US6092229A (en) * 1996-10-09 2000-07-18 Lsi Logic Corporation Single chip systems using general purpose processors
KR100313805B1 (ko) 1999-03-22 2001-11-15 이계안 플래시 메모리를 리프로그래밍하는 방법
US6820203B1 (en) * 1999-04-07 2004-11-16 Sony Corporation Security unit for use in memory card
US7761653B2 (en) * 1999-08-04 2010-07-20 Super Talent Electronics, Inc. Flash micro-controller with shadow boot-loader SRAM for dual-device booting of micro-controller and host
US7676640B2 (en) * 2000-01-06 2010-03-09 Super Talent Electronics, Inc. Flash memory controller controlling various flash memory cells
US6266273B1 (en) * 2000-08-21 2001-07-24 Sandisk Corporation Method and structure for reliable data copy operation for non-volatile memories
JP2003085511A (ja) 2001-09-14 2003-03-20 Dainippon Printing Co Ltd Icカード及びicカードへのデータ書き込み方法
JP2003337759A (ja) 2002-05-17 2003-11-28 Mitsubishi Electric Corp フラッシュメモリ制御装置
KR20040002143A (ko) 2002-06-29 2004-01-07 주식회사 하이닉스반도체 플래쉬 메모리 컨트롤러
EP1533702A4 (en) * 2002-08-29 2007-05-23 Matsushita Electric Ind Co Ltd SEMICONDUCTOR MEMORY AND METHOD FOR RECORDING DATA IN A FLASH MEMORY
KR100521364B1 (ko) 2002-11-18 2005-10-12 삼성전자주식회사 플레쉬 메모리 셀들의 프로그램 오판을 방지하고 균일한문턱 전압 산포를 가질 수 있는 플레쉬 메모리 장치 및 그프로그램 검증 방법
KR100543447B1 (ko) * 2003-04-03 2006-01-23 삼성전자주식회사 에러정정기능을 가진 플래쉬메모리장치
US7496822B2 (en) 2003-05-15 2009-02-24 Texas Instruments Incorporated Apparatus and method for responding to data retention loss in a non-volatile memory unit using error checking and correction techniques
JP2005222104A (ja) 2004-02-03 2005-08-18 Toshiba Corp 異常動作抑止回路を備える不揮発性メモリ内蔵マイコン
JP4421925B2 (ja) * 2004-03-30 2010-02-24 三星電子株式会社 不揮発性半導体記憶装置
DE602004002947T2 (de) * 2004-07-14 2007-06-28 Stmicroelectronics S.R.L., Agrate Brianza NAND Flash Speicher mit Speicherredundanz
US7689607B2 (en) * 2005-04-15 2010-03-30 Microsoft Corporation Database page mirroring
US7652787B2 (en) * 2005-10-27 2010-01-26 Lexmark International, Inc. Architecture and memory card for hand-held printer
KR20070076849A (ko) * 2006-01-20 2007-07-25 삼성전자주식회사 메모리 카드의 카피백 동작을 수행하는 장치 및 방법
US8151163B2 (en) * 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8528081B2 (en) 2009-01-05 2013-09-03 Samsung Electronics Co., Ltd. Memory system
CN101840361A (zh) * 2009-03-17 2010-09-22 恩益禧电子股份有限公司 程序验证装置及其方法
EP2230618A1 (en) 2009-03-17 2010-09-22 NEC Electronics Corporation Program verification apparatus and its method
JP2010218237A (ja) * 2009-03-17 2010-09-30 Renesas Electronics Corp プログラム検証装置及びその方法
CN101840361B (zh) * 2009-03-17 2013-08-07 瑞萨电子株式会社 程序验证装置及其方法
JP2011141790A (ja) * 2010-01-08 2011-07-21 Seiko Epson Corp 誤り検出器、誤り検出器を有する半導体装置、誤り検出器を有する半導体装置を用いた情報処理装置及び誤り検出方法
JP2011150656A (ja) * 2010-01-25 2011-08-04 Toyota Infotechnology Center Co Ltd プログラム検査システム
KR20150055879A (ko) * 2013-11-14 2015-05-22 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
KR102146037B1 (ko) 2013-11-14 2020-08-19 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법

Also Published As

Publication number Publication date
KR101197556B1 (ko) 2012-11-09
US7992009B2 (en) 2011-08-02
US20070168793A1 (en) 2007-07-19
KR20070074308A (ko) 2007-07-12

Similar Documents

Publication Publication Date Title
KR101197556B1 (ko) 불 휘발성 메모리의 프로그램 동작을 검증하는 장치 및방법, 그리고 그 장치를 포함한 메모리 카드
US9754672B2 (en) Nonvolatile semiconductor memory device which performs improved erase operation
US7711944B2 (en) Method and apparatus for securely updating and booting code image
TWI279806B (en) Comprehensive erase verification for non-volatile memory
US8000153B2 (en) Enhanced erase for flash storage device
JP4931404B2 (ja) 不揮発性メモリ装置
US7444682B2 (en) Security memory device and method for making same
JP2008504637A (ja) フラッシュメモリ装置における内部プログラミング中の同時の外部読出動作
JP2001014871A (ja) 不揮発性半導体記憶装置
JP2011210037A5 (ja)
US7471535B2 (en) Programable identification circuitry
JP4227149B2 (ja) 電子制御装置の情報記憶方法
JP3875153B2 (ja) 不揮発性半導体記憶装置およびその書き換え禁止制御方法
US20100023780A1 (en) Flash device security method utilizing a check register
US20030225962A1 (en) Memory card and memory card system
US7590793B2 (en) Data access controlling method in flash memory and data access controlling program
US7836219B1 (en) System and method for authentication of embedded RAID on a host RAID card
WO2001061503A1 (en) Nonvolatile memory
JPWO2006018925A1 (ja) 半導体集積装置並びにそれを用いたicカード及び携帯情報端末
JP5660521B2 (ja) 不揮発性半導体記憶装置およびメモリ管理方法
US20100083073A1 (en) Data processing apparatus, memory controlling circuit, and memory controlling method
JP4452158B2 (ja) 不揮発性メモリシステム
US8225051B2 (en) Access control method for a memory, memory controller for controlling access to the memory, and data processing apparatus
JP2006065973A (ja) 不揮発性半導体記憶装置
JP6308074B2 (ja) マイクロコンピュータ