JPH11232176A - 半導体装置、論理書き換え防止方法、論理書き換え方法、符号処理方法、及び記憶媒体 - Google Patents

半導体装置、論理書き換え防止方法、論理書き換え方法、符号処理方法、及び記憶媒体

Info

Publication number
JPH11232176A
JPH11232176A JP12189398A JP12189398A JPH11232176A JP H11232176 A JPH11232176 A JP H11232176A JP 12189398 A JP12189398 A JP 12189398A JP 12189398 A JP12189398 A JP 12189398A JP H11232176 A JPH11232176 A JP H11232176A
Authority
JP
Japan
Prior art keywords
logic
integrated circuit
information
code
semiconductor device
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
JP12189398A
Other languages
English (en)
Other versions
JP3728098B2 (ja
Inventor
Katsuki Hazama
克樹 挾間
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.)
Nippon Steel Corp
Original Assignee
Nippon Steel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Steel Corp filed Critical Nippon Steel Corp
Priority to JP12189398A priority Critical patent/JP3728098B2/ja
Priority to US09/168,116 priority patent/US6260172B1/en
Publication of JPH11232176A publication Critical patent/JPH11232176A/ja
Application granted granted Critical
Publication of JP3728098B2 publication Critical patent/JP3728098B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)
  • Microcomputers (AREA)
  • Read Only Memory (AREA)
  • Logic Circuits (AREA)

Abstract

(57)【要約】 【課題】 書換可能な論理集積回路の論理の破壊を確実
に防ぐことを可能とした半導体装置を提供する。 【解決手段】 外部からの命令信号により論理が書き換
え可能な論理集積回路100を備えた半導体装置におい
て、論理集積回路100の現在の第1の論理状態に係わ
る第1の情報と、命令信号に含まれる論理集積回路10
0の第2の論理状態に係わる第2の情報とを比較し、第
1、第2の情報が一致しないときは、論理集積回路10
0の論理の第1の論理状態から第2の論理状態への書き
換えを禁止する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、論理を電気的に変
更可能な論理集積回路や機密保持機能を備えた半導体装
置、該論理集積回路の論理の破壊を防ぐための論理書き
換え防止方法、論理書き換え方法、符号処理方法、及び
そのソフトウェアを記憶した記憶媒体に関するものであ
る。
【0002】
【従来の技術】近年では、論理集積回路の開発期間の短
縮や、消費者への出荷後の更新等を目的として、論理を
変更可能(書換可能)な論理集積回路の需要が高まって
きている。この書換可能な論理集積回路は、その論理を
自在に書換可能なものであり、これにより、全く異なる
論理機能を有する回路をも実現できるものである。この
ような論理集積回路は、携帯電話等の通信機器、コンピ
ュータのアドオンボード、ビデオゲーム装置やカラオケ
機器等に幅広く用いられている。
【0003】一方、近年では特に、コンピュータの書換
可能な記憶装置、例えば、ハードディスク装置やフロッ
ピーディスク装置、或いはBIOS記憶用フラッシュメ
モリ等を不正に書き換えるプログラムが拡がっており、
問題となっている。このようなプログラムは、ウィルス
プログラムとも呼ばれており、通信媒体や、フロッピー
ディスク等の入替可能な記憶媒体等を介して、他のコン
ピュータに次々と感染して拡散するようになされてい
る。そして、ウィルスプログラムによっては、コンピュ
ータの記憶内容を破壊することで、動作を不能にしたり
するものもあり、コンピュータの使用者に多大な損害を
与えている。そこで、コンピュータの書換可能な記憶装
置に対しては、ワクチンプログラム等、ウィルスプログ
ラムの感染を予防したり治癒させる手段が開発され、広
く用いられるようになっている。例えば、特開平8−1
79942号公報には、ウィルスプログラムの存在を検
出するようになされたコンピュータシステムが開示され
ている。また、特開平8−22390号公報には、ウィ
ルスプログラムによりコンピュータ内のデータソフトウ
ェアが書き換えられたかを検出するシステムが開示され
ている。
【0004】また、従来より、機密保持機能を有する半
導体装置が提案されている。例えば、特開平4−232
588号公報に開示されている装置は、特に、ICカー
ドを使用する際のセキュリティ保持に関するもので、基
本ソフトウエア等が格納されるROM、暗号化ソフト及
び暗号化キーを記憶するEEPROM、製造者の識別番
号等が記憶されるRAM、暗号化動作を制御するCPU
を備えている。また、特開平4−11420号公報に
は、暗号化対象のIDデータを記憶する不揮発性メモリ
と、IDデータを暗号化する暗号化回路、制御回路等を
備えたワンチップマイクロコンピュータが開示されてい
る。また、特開昭63−293637号公報には、暗号
化されたプログラム及びデータを格納する不揮発性メモ
リ(ROM)、暗号化及び復号化のためのキーを記憶す
る揮発性メモリ(RAM)、この暗号化キーを用いて暗
号化されたデータを記憶する書換え可能なメモリ(EE
PROM)を備えたマイクロコンピュータが開示されて
いる。このような半導体装置では、EEPROMは、電
荷蓄積の有無によって情報を保持しているので、構造解
析によって記憶しているプログラムを解読することは不
可能である。このため、機密データを暗号化・復号化す
るための論理を解読することはできない。したがって、
マスクROM内の暗号化された機密データを復号化する
ことは極めて困難であり、解読されることは殆どない。
【0005】
【発明が解決しようとする課題】ところで、前述したよ
うな書換可能な論理集積回路は、その需要の高まりと、
より安全性が求められる用途に用いられるようになった
ことから、コンピュータの記憶装置と同様に、ウィルス
プログラムに対する対抗(免疫)機能、すなわちウィル
スプログラムによる論理の破壊に対する論理防衛機能を
有する必要が生じるようになった。しかしながら、書換
可能な論理集積回路でのウィルスプログラムに対する対
抗方法(論理防衛方法)が存在しなかった。すなわち、
特開平8−179942号公報や特開平8−22390
号公報等に開示されているような従来のウィルスプログ
ラムに対する対抗方法は、CPUで用いられるコンピュ
ータシステム全体の動作制御を行うためのデータを対象
としており、書換可能な論理集積回路の論理がウィルス
プログラムにより書き換えられることを防ぐことはでき
なかった。したがって、従来の書換可能な論理集積回路
は、ウィルスプログラムにより論理が不正に書き換えら
れてしまう、というウィルスによる論理の破壊の問題を
避けることができなかった。
【0006】一方、前述したような機密保持機能を有す
る半導体装置において、この装置が具備するEEPRO
Mは、1ビットの情報を記憶するのに必要な面積が大き
いので、高集積化が困難であるという問題があった。ま
た、この装置では、機密データを暗号化・復号化するた
めにCPUにプログラムを処理させなくてはならないた
め、データの出力に時間がかかる上に、データを出力し
ている間はCPUが他の処理を行うことができない問題
があった。さらには、この装置でも、ウィルスプログラ
ムに感染する可能性が充分あり、ウィルスプログラムの
感染により、装置の記憶内容が破壊され、動作不能とな
る問題があった。したがって、従来の機密保持機能を有
する不揮発性半導体装置では、高集積化が難しく、安価
に提供することができない問題があった。また、記憶デ
ータを高速に出力できない上に、データを出力している
間は演算装置が他の処理を行うことができないという問
題もあった。さらには、ウィルスによる記憶内容の破壊
の問題もあり、正確な動作を常に保証することができな
かった。
【0007】そこで、本発明は、上記の欠点を除去する
ために成されたもので、書換可能な論理集積回路の論理
の破壊を確実に防ぐことを可能とすることを第1の目的
とする。また、論理の破壊を確実に防ぐ機能を書換可能
な論理集積回路に具備させるための論理防衛の方法を提
供することを第2の目的とする。また、論理の破壊を確
実に防ぐ機能を書換可能な論理集積回路に具備させるた
めのソフトウェアを記憶した記憶媒体を提供することを
第3の目的とする。また、記憶内容の機密保持機能を備
えた半導体装置の高速動作を可能にするとともに、安価
に製造できるようにし、さらには正確なその動作を常に
保証することを可能とすることを第4の目的とする。ま
た、記憶内容の機密保持機能、及び正確な動作を常に保
証するための機能を半導体装置に具備させるための暗号
化及び復号化の方法を提供することを第5の目的とす
る。また、記憶内容の機密保持機能、及び正確な動作を
常に保証するための機能を半導体装置に具備させるため
のソフトウエアを記憶した記憶媒体を提供することを第
6の目的とする。また、端末機との間で非接触でデータ
の送受信を行うことができる機密保持機能、及び正確な
動作を常に保証するための機能を備えた半導体装置を提
供することを第7の目的とする。
【0008】
【課題を解決するための手段】斯かる目的下において、
第1の発明は、外部からの命令信号により論理が書き換
え可能な論理集積回路と、前記論理集積回路の現在の第
1の論理状態に係わる第1の情報と、前記命令信号に含
まれる前記論理集積回路の第2の論理状態に係わる第2
の情報とを比較し、前記第1、第2の情報が一致しない
ときは前記論理集積回路の論理の前記第1の論理状態か
ら第2の論理状態への書き換えを禁止する手段とを備え
たことを特徴とする。
【0009】第2の発明は、上記第1の発明において、
前記論理集積回路に含まれる複数論理素子の中で前記第
1の論理状態を構成するために用いられる第1の素子
数、前記第1の論理状態を構成するためには用いられな
い第2の素子数、前記第1又は第2の素子数を示す信号
に圧縮を施して得た符号、又は前記論理集積回路が前記
第1の論理状態に書き換えられた日付けの少なくともい
ずれか一つを前記第1の情報として記憶する記憶手段を
さらに備えたことを特徴とする。
【0010】第3の発明は、外部からの命令信号により
論理が書き換え可能な論理集積回路と、前記命令信号に
応じて、前記論理集積回路の現在の第1の論理状態に係
わる第1の情報を検出し、前記現在より前の前記論理集
積回路の第2の論理状態に係わる第2の情報と比較し、
前記第1、第2の情報が一致しないときは前記論理集積
回路の論理が前記第2の論理状態から前記第1の論理状
態へ書き換えられたと判定する判定手段とを備えたこと
を特徴とする。
【0011】第4の発明は、上記第3の発明において、
前記判定手段は、前記論理集積回路の論理が書き換えら
れたと判定した場合に判定信号を出力することを特徴と
する。
【0012】第5の発明は、上記第3の発明において、
前記判定手段は、定期的に前記判定動作を行うことを特
徴とする。
【0013】また、本発明は、上記第3の発明におい
て、前記論理集積回路に含まれる複数の論理素子の中で
前記第2の論理状態を構成するために用いられた第1の
素子数、前記第2の論理状態を構成するためには用いら
れなかった第2の素子数、前記第2の論理状態を構成す
るために用いられた素子又は用いられなかった素子のア
ドレス、前記第1又は第2の素子数又は前記アドレスを
示す信号に圧縮を施して得た符号、又は前記論理集積回
路が前記第2の論理状態に書き換えられた日付けの少な
くともいずれか1つを前記第2の情報として記憶する記
憶手段をさらに備えたことを特徴とする。
【0014】第6の発明は、外部からの命令信号により
論理が書き換え可能な論理集積回路と、前記命令信号と
少なくとも1つの基準信号とを比較し、前記命令信号と
前記基準信号が同じ信号である場合に前記論理集積回路
の論理の書き換えを禁止する禁止手段とを備えたことを
特徴とする。
【0015】第7の発明は、上記第6の発明において、
前記基準信号として複数種類の信号を予め記憶する記憶
手段をさらに備え、前記禁止手段は、前記命令信号と前
記複数種類の信号とを比較することを特徴とする。
【0016】第8の発明は、上記第6の発明において、
前記論理集積回路は、各々が所定の演算機能を有する複
数の演算手段と、前記命令信号に従って前記複数の演算
手段の相互配線を変更して前記論理を書き換える配線手
段とを備えたことを特徴とする。
【0017】第9の発明は、上記第6の発明において、
前記論理集積回路は、FPGA(Field Programmable G
ate Array )を含むことを特徴とする。
【0018】第10の発明は、上記第6の発明におい
て、前記論理集積回路は、制御ゲートと浮遊ゲートとを
有する多値メモリを含むことを特徴とする。
【0019】第11の発明は、上記第6の発明におい
て、前記論理集積回路は、MNOS、マスクROM、E
EPROM、EPROM、PROM、FRAM、及びフ
ラッシュ不揮発性メモリの少なくともいずれか一つによ
る多値メモリを含むことを特徴とする。
【0020】第12の発明は、上記第6の発明におい
て、前記命令信号に応じて前記論理集積回路の論理を書
き換える書き換え手段をさらに備えたことを特徴とす
る。
【0021】第13の発明は、上記第6の発明におい
て、前記論理集積回路の論理を読み出す読み出し手段を
さらに備えたことを特徴とする。
【0022】第14の発明は、外部からの命令信号によ
り論理が書き換え可能な論理集積回路の現在の第1の論
理状態に係わる第1の情報と、前記命令信号に含まれる
前記論理集積回路の第2の論理状態に係わる第2の情報
とを比較し、前記第1、第2の情報が一致しないときは
前記論理集積回路の論理の前記第1の論理状態から前記
第2の論理状態への書き換えを禁止するステップを含む
ことを特徴とする。
【0023】また、本発明は、上記第14の発明におい
て、前記比較ステップは、前記論理集積回路に含まれる
複数論理素子の中で前記第1の論理状態を構成するため
に用いられる第1の素子数、前記第1の論理状態を構成
するためには用いられない第2の素子数、前記第1又は
第2の素子数を示す信号に圧縮を施して得た符号、又は
前記論理集積回路が前記第1の論理状態に書き換えられ
た日付けの少なくともいずれか一つを前記第1の情報と
して、前記第2の情報と比較することを特徴とする。
【0024】また、本発明は、外部からの命令信号によ
り論理が書き換え可能な論理集積回路の現在の第1の論
理状態に係わる第1の情報を前記命令信号に応じて検出
し、前記第1の情報と、前記現在より前の前記論理集積
回路の第2の論理状態に係わる第2の情報と比較し、前
記第1、第2の情報が一致しないときは前記論理集積回
路の論理が前記第2の論理状態から前記第1の論理状態
へ書き換えられたと判定するステップを含む方法である
ことを特徴とする。
【0025】また、前記判定ステップは、前記論理集積
回路の論理が書き換えられたと判定した場合に判定信号
を出力するステップを含むことを特徴とする。
【0026】また、前記各ステップを定期的に行うこと
を特徴とする。
【0027】また、前記比較ステップは、前記論理集積
回路に含まれる複数の論理素子の中で前記第2の論理状
態を構成するために用いられた第1の素子数、前記第2
の論理状態を構成するためには用いられなかった第2の
素子数、前記第2の論理状態を構成するために用いられ
た素子又は用いられなかった素子のアドレス、前記第1
又は第2の素子数又は前記アドレスを示す信号に圧縮を
施して得た符号、又は前記論理集積回路が前記第2の論
理状態に書き換えられた日付けの少なくともいずれか一
つを前記第2の情報として前記第1の情報と比較するこ
とを特徴とする。
【0028】また、本発明は、外部からの命令信号によ
り論理が書き換え可能な論理集積回路における前記命令
信号と少なくとも一つの基準信号とを比較し、前記命令
信号が前記基準信号と同じ信号である場合に前記論理集
積回路の論理の書き換えを禁止するステップを含む方法
であることを特徴とする。
【0029】また、前記比較ステップは、複数種類の基
準信号を前記命令信号と比較するステップを含むことを
特徴とする。
【0030】また、本発明は、外部からの命令信号によ
り論理が書き換え可能な論理集積回路の論理書き換えを
防止するプログラムをコンピュータにより読み出し可能
に格納した記憶媒体であって、前記プログラムは、前記
論理集積回路の現在の第1の論理状態に係わる第1の情
報と、前記命令信号に含まれる前記論理集積回路の第2
の論理状態に係わる第2の情報とを比較するプログラム
コード手段と、前記第1、第2の情報が一致しないとき
は前記論理集積回路の論理の前記第1の論理状態から前
記第2の論理状態への書き換えを禁止するプログラムコ
ード手段とを備えたことを特徴とする。
【0031】また、前記比較プログラムコード手段は、
前記論理集積回路に含まれる複数論理素子の中で前記第
1の論理状態を構成するために用いられる第1の素子
数、前記第1の論理状態を構成するためには用いられな
い第2の素子数、前記第1又は第2の素子数を示す信号
に圧縮を施して得た符号、又は前記論理集積回路が前記
第1の論理状態に書き換えられた日付けの少なくともい
ずれか一つを前記第1の情報として、前記第2の情報と
比較するプログラムコード手段を含むことを特徴とす
る。
【0032】また、本発明は、外部からの命令信号によ
り論理が書き換え可能な論理集積回路の論理を判定する
プログラムをコンピュータにより読み出し可能に格納し
た記憶媒体であって、前記プログラムは、前記論理集積
回路の現在の第1の論理状態に係わる第1の情報を前記
命令信号に応じて検出するプログラムコード手段と、前
記第1の情報と、前記現在より前の前記論理集積回路の
第2の論理状態に係わる第2の情報と比較するプログラ
ムコード手段と、前記第1、第2の情報が一致しないと
きは前記論理集積回路の論理が前記第2の論理状態から
前記第1の論理状態へ書き換えられたと判定するプログ
ラムコード手段とを備えたことを特徴とする。
【0033】また、前記判定プログラムコード手段は、
前記論理集積回路の論理が書き換えられたと判定した場
合に判定信号を出力するプログラムコード手段を含むこ
とを特徴とする。
【0034】また、前記検出、比較、判定プログラムを
定期的に繰り返すプログラムコード手段をさらに含むこ
とを特徴とする。
【0035】また、前記比較プログラムコード手段は、
前記論理集積回路に含まれる複数の論理素子の中で前記
第2の論理状態を構成するために用いられた第1の素子
数、前記第2の論理状態を構成するためには用いられな
かった第2の素子数、前記第2の論理状態を構成するた
めに用いられた素子又は用いられなかった素子のアドレ
ス、前記第1又は第2の素子数又は前記アドレスを示す
信号に圧縮を施して得た符号、又は前記論理集積回路が
前記第2の論理状態に書き換えられた日付けの少なくと
もいずれか一つを前記第2の情報として前記第1の情報
と比較するプログラムコード手段を含むことを特徴とす
る。
【0036】第15の発明は、外部からの命令信号によ
り論理が書き換え可能な論理集積回路の論理書き換えを
防止するプログラムをコンピュータにより読み出し可能
に格納した記憶媒体であって、前記プログラムは、前記
論理集積回路における前記命令信号と少なくとも一つの
基準信号とを比較するプログラムコード手段と、前記命
令信号が前記基準信号と同じ信号である場合に前記論理
集積回路の論理の書き換えを禁止するプログラムコード
手段とを備えたことを特徴とする。
【0037】また、本発明は、上記第15の発明におい
て、前記比較プログラムコード手段は、複数種類の基準
信号を前記命令信号と比較するプログラムコード手段を
含むことを特徴とする。
【0038】第16の発明は、機密保持機能を有する半
導体装置であって、少なくとも一時的に符号処理プログ
ラムを保持し、前記符号処理プログラムに対応した命令
信号を出力する制御手段と、前記命令信号が与えられて
前記プログラムに従って論理を変更して、少なくともデ
ータ及び前記データに関わるアドレスの何れか一方に符
号処理を施す論理が可変な論理手段と、前記データを記
憶する第1の記憶手段と、前記論理手段の現在の第1の
論理状態に係わる第1の情報と、前記命令信号に含まれ
る前記論理手段の第2の論理状態に係わる第2の情報と
を比較し、前記第1、第2の情報が一致しないときは前
記論理手段の論理の前記第1の論理状態から前記第2の
論理状態への書き換えを禁止する手段とを備えたことを
特徴とする。
【0039】また、本発明は、上記第16の発明におい
て、前記論理手段に含まれる複数論理素子の中で前記第
1の論理状態を構成するために用いられる第1の素子
数、前記第1の論理状態を構成するためには用いられな
い第2の素子数、前記第1又は第2の素子数を示す信号
に圧縮を施して得た符号、又は前記論理手段が前記第1
の論理状態に書き換えられた日付けの少なくともいずれ
か一つを前記第1の情報として記憶する第2の記憶手段
をさらに備えたことを特徴とする。
【0040】また、本発明は、機密保持機能を有する半
導体装置であって、少なくとも一時的に符号処理プログ
ラムを保持し、前記符号処理プログラムに対応した命令
信号を出力する制御手段と、前記命令信号が与えられて
前記プログラムに従って論理を変更して、少なくともデ
ータ及び前記データに関わる第1のアドレスの何れか一
方に符号処理を施す論理が可変な論理手段と、前記デー
タを記憶する第1の記憶手段と、前記命令信号に応じ
て、前記論理手段の現在の第1の論理状態に係わる第1
の情報を検出し、前記現在より前の前記論理手段の第2
の論理状態に係わる第2の情報と比較し、前記第1、第
2の情報が一致しないときは前記論理手段の論理が前記
第2の論理状態から前記第1の論理状態へ書き換えられ
たと判定する判定手段とを備えたことを特徴とする。
【0041】また、前記判定手段は、前記論理集積回路
の論理が書き換えられたと判定した場合に判定信号を出
力することを特徴とする。
【0042】また、前記判定手段は、定期的に前記判定
動作を行う
【0043】また、前記論理手段に含まれる複数の論理
素子の中で前記第2の論理状態を構成するために用いら
れた第1の素子数、前記第2の論理状態を構成するため
には用いられなかった第2の素子数、前記第2の論理状
態を構成するために用いられた素子又は用いられなかっ
た素子の第2のアドレス、前記第1又は第2の素子数又
は前記第2のアドレスを示す信号に圧縮を施して得た符
号、又は前記論理手段が前記第2の論理状態に書き換え
られた日付けの少なくともいずれか一つを前記第2の情
報として記憶する第2の記憶手段をさらに備えたことを
特徴とする。
【0044】第17の発明は、機密保持機能を有する半
導体装置であって、少なくとも一時的に符号処理プログ
ラムを保持し、前記符号処理プログラムに対応した命令
信号を出力する制御手段と、前記命令信号が与えられて
前記プログラムに従って論理を変更して、少なくともデ
ータ及び前記データに関わるアドレスの何れか一方に符
号処理を施す論理が可変な論理手段と、前記データを記
憶する第1の記憶手段と、前記命令信号と少なくとも一
つの基準信号とを比較し、前記命令信号と前記基準信号
が同じ信号である場合に前記論理手段の論理の書き換え
を禁止する禁止手段とを備えたことを特徴とする。
【0045】第18の発明は、上記第17の発明におい
て、前記基準信号として複数種類の信号を予め記憶する
第2の記憶手段をさらに備え、前記禁止手段は、前記命
令信号と前記複数種類の信号とを比較することを特徴と
する。
【0046】第19の発明は、上記第17の発明におい
て、前記論理手段は、各々が所定の演算機能を有する複
数の演算手段と、前記命令信号に従って前記複数の演算
手段の相互配線を変更して前記論理を書き換える配線手
段とを備えたことを特徴とする。
【0047】第20の発明は、上記第17の発明におい
て、前記論理手段は、FPGA(Field Programmable G
ate Array )を含むことを特徴とする。
【0048】第21の発明は、上記第17の発明におい
て、前記論理手段は、制御ゲートと浮遊ゲートとを有す
る多値メモリを含むことを特徴とする。
【0049】また、本発明は、上記第17の発明におい
て、前記論理手段は、MNOS,マスクROM、EEP
ROM、EPROM、PROM、FRAM、フラッシュ
不揮発性メモリの少なくともいずれか一つによる多値メ
モリを含むことを特徴とする。
【0050】第22の発明は、上記第17の発明におい
て、前記命令信号に応じて前記論理手段の論理を書き換
える書き換え手段をさらに備えたことを特徴とする。
【0051】第23の発明は、上記第17の発明におい
て、前記論理手段の論理を読み出す読み出し手段をさら
に備えたことを特徴とする。
【0052】第24の発明は、上記第17の発明におい
て、前記論理手段は、少なくとも暗号化及び復号化処理
の何れか一方を含む前記符号処理を行うことを特徴とす
る。
【0053】第25の発明は、上記第17の発明におい
て、前記論理手段は、前記データが前記第1の記憶手段
に記憶される前に少なくとも前記データ及び前記アドレ
スの何れか一方を暗号化する前記符号処理を行うことを
特徴とする。
【0054】第26の発明は、上記第17の発明におい
て、前記論理手段は、前記データが前記第1の記憶手段
から出力される際に少なくとも前記データ及び前記デー
タに関わるアドレスの何れか一方を暗号化する前記符号
処理を行うことを特徴とする。
【0055】第27の発明は、上記第17の発明におい
て、前記論理手段は、前記データが前記第1の記憶手段
から出力される際に少なくとも前記データ及び前記デー
タに関わるアドレスの何れか一方を復号化する前記符号
処理を行うことを特徴とする。
【0056】第28の発明は、上記第17の発明におい
て、前記第1の記憶手段は、少なくともマスクROM及
び電気的に書き換え可能な不揮発性記憶装置の何れか一
方を含むことを特徴とする。
【0057】第29の発明は、上記第17の発明におい
て、前記半導体装置は、端末機との間で非接触で前記デ
ータの送受信を行うアンテナ手段と、前記アンテナ手段
の受信出力から電源電圧を発生し、且つ前記端末機から
送られた信号を復調すると共に、前記端末機に送信する
前記データを重畳した高周波電流を生成して前記アンテ
ナ手段に出力する高周波処理手段とを備えたことを特徴
とする。
【0058】第30の発明は、機密保持機能を有し、論
理が変更可能な論理回路と、前記論理回路を制御する制
御装置とを備えた半導体装置の符号処理方法であって、
前記制御装置に符号処理プログラムを供給する供給ステ
ップと、前記制御装置から前記プログラムに対応した命
令信号を出力させる出力ステップと、前記命令信号を前
記論理回路に与えて前記プログラムに従って前記論理回
路の論理を変更する論理変更ステップと、前記変更した
論理によって少なくともデータ及び前記データに関わる
アドレスの何れか一方に符号処理を施す符号処理ステッ
プと、前記データを記憶装置に記憶するステップとを含
み、前記論理変更ステップは、前記論理回路の現在の第
1の論理状態に係わる第1の情報と、前記命令信号に含
まれる前記論理回路の第2の論理状態に係わる第2の情
報とを比較し、前記第1、第2の情報が一致しないとき
は前記論理回路の論理の前記第1の論理状態から前記第
2の論理状態への書き換えを禁止するステップを含むこ
とを特徴とする。
【0059】また、本発明は、上記第30の発明におい
て、前記比較ステップは、前記論理回路に含まれる複数
論理素子の中で前記第1の論理状態を構成するために用
いられる第1の素子数、前記第1の論理状態を構成する
ためには用いられない第2の素子数、前記第1又は第2
の素子数を示す信号に圧縮を施して得た符号、又は前記
論理回路が前記第1の論理状態に書き換えられた日付け
の少なくともいずれか一つを前記第1の情報として、前
記第2の情報と比較することを特徴とする。
【0060】また、本発明は、機密保持機能を有し、論
理が変更可能な論理回路と、前記論理回路を制御する制
御装置とを備えた半導体装置の符号処理方法であって、
前記制御装置に符号処理プログラムを供給する供給ステ
ップと、前記制御装置から前記プログラムに対応した命
令信号を出力させる出力ステップと、前記命令信号を前
記論理回路に与えて前記プログラムに従って前記論理回
路の論理を変更する論理変更ステップと、前記変更した
論理によって少なくともデータ及び前記データに関わる
第1のアドレスの何れか一方に符号処理を施す符号処理
ステップと、前記データを記憶装置に記憶するステップ
とを含み、前記論理変更ステップは、前記論理回路の現
在の第1の論理状態に係わる第1の情報を前記命令信号
に応じて検出し、前記第1の情報と、前記現在より前の
前記論理回路の第2の論理状態に係わる第2の情報と比
較し、前記第1、第2の情報が一致しないときは前記論
理回路の論理が前記第2の論理状態から前記第1の論理
状態へ書き換えられたと判定するステップを含むことを
特徴とする。
【0061】また、前記判定ステップは、前記論理回路
の論理が書き換えられたと判定した場合に判定信号を出
力することを特徴とする。
【0062】また、前記論理変更ステップに含まれる各
ステップを定期的に行うことを特徴とする。
【0063】また、前記比較ステップは、前記論理回路
に含まれる複数の論理素子の中で前記第2の論理状態を
構成するために用いられた第1の素子数、前記第2の論
理状態を構成するためには用いられなかった第2の素子
数、前記第2の論理状態を構成するために用いられた素
子又は用いられなかった素子の第2のアドレス、前記第
1又は第2の素子数又は前記第2のアドレスを示す信号
に圧縮を施して得た符号、又は前記論理回路が前記第2
の論理状態に書き換えられた日付けの少なくともいずれ
か一つを前記第2の情報として前記第1の情報と比較す
ることを特徴とする。
【0064】第31の発明は、機密保持機能を有し、論
理が変更可能な論理回路と、前記論理回路を制御する制
御装置とを備えた半導体装置の符号処理方法であって、
前記制御装置に符号処理プログラムを供給する供給ステ
ップと、前記制御装置から前記プログラムに対応した命
令信号を出力させる出力ステップと、前記命令信号を前
記論理回路に与えて前記プログラムに従って前記論理回
路の論理を変更する論理変更ステップと、前記変更した
論理によって少なくともデータ及び前記データに関わる
アドレスの何れか一方に符号処理を施す符号処理ステッ
プと、前記データを記憶装置に記憶するステップとを含
み、前記論理変更ステップは、前記命令信号と少なくと
も一つの基準信号とを比較し、前記命令信号が前記基準
信号と同じ信号である場合に前記論理回路の論理の書き
換えを禁止するステップを含むことを特徴とする。
【0065】また、本発明は、上記第31の発明におい
て、前記比較ステップは、複数種類の基準信号を前記命
令信号と比較するステップを含むことを特徴とする。
【0066】また、前記符号処理ステップは、少なくと
も暗号化及び復号化処理の何れか一方を含む前記符号化
処理を行うステップを含むことを特徴とする。
【0067】また、前記符号処理ステップは、前記デー
タが前記記憶装置に記憶される前に、少なくとも前記デ
ータ及び前記データに関わるアドレスの何れか一方を暗
号化する前記符号化処理を行うステップを含むことを特
徴とする。
【0068】また、前記符号処理ステップは、前記デー
タが前記記憶装置から出力される際に、少なくとも前記
データ及び前記データに関わるアドレスの何れか一方を
暗号化する前記符号化処理を行うステップを含むことを
特徴とする。
【0069】また、前記符号処理ステップは、前記デー
タが前記記憶装置から出力される際に、少なくとも前記
データ及び前記データに関わるアドレスの何れか一方を
復号化する前記符号化処理を行うステップを含むことを
特徴とする。
【0070】また、前記記憶ステップは、前記記憶装置
の前記暗号化されたアドレス上に前記データを記憶する
ステップを含むことを特徴とする。
【0071】また、本発明は、機密保持機能を有し、論
理が変更可能な論理回路と、前記論理回路を制御する制
御装置とを備えた半導体装置におけるデータに符号処理
を施すためのプログラムをコンピュータが読み出し可能
に格納した記憶媒体であって、前記プログラムは、前記
制御装置に符号処理プログラムを供給するプログラムコ
ード手段と、前記制御装置から前記プログラムに対応し
た命令信号を出力させるプログラムコード手段と、前記
命令信号を前記論理回路に与えて前記プログラムに従っ
て前記論理回路の論理を変更するプログラムコード手段
と、前記変更した論理によって少なくともデータ及び前
記データに関わるアドレスの何れか一方に符号処理を施
すプログラムコード手段と、前記データを記憶装置に記
憶するプログラムコード手段とを含み、前記論理変更プ
ログラムコード手段は、前記論理回路の現在の第1の論
理状態に係わる第1の情報と、前記命令信号に含まれる
前記論理回路の第2の論理状態に係わる第2の情報とを
比較するプログラムコード手段と、前記第1、第2の情
報が一致しないときは前記論理回路の論理の前記第1の
論理状態から前記第2の論理状態への書き換えを禁止す
るプログラムコード手段を含むことを特徴とする。
【0072】また、前記比較プログラムコード手段は、
前記論理回路に含まれる複数論理素子の中で前記第1の
論理状態を構成するために用いられる第1の素子数、前
記第1の論理状態を構成するためには用いられない第2
の素子数、前記第1又は第2の素子数を示す信号に圧縮
を施して得た符号、又は前記論理集積回路が前記第1の
論理状態に書き換えられた日付けの少なくともいずれか
一つを前記第1の情報として、前記第2の情報と比較す
るプログラムコード手段を含むことを特徴とする。
【0073】また、本発明は、機密保持機能を有し、論
理が変更可能な論理回路と、前記論理回路を制御する制
御装置とを備えた半導体装置におけるデータに符号処理
を施すためのプログラムをコンピュータが読み出し可能
に格納した記憶媒体であって、前記プログラムは、前記
制御装置に符号処理プログラムを供給するプログラムコ
ード手段と、前記制御装置から前記プログラムに対応し
た命令信号を出力させるプログラムコード手段と、前記
命令信号を前記論理回路に与えて前記プログラムに従っ
て前記論理回路の論理を変更するプログラムコード手段
と、前記変更した論理によって少なくともデータ及び前
記データに関わる第1のアドレスの何れか一方に符号処
理を施すプログラムコード手段と、前記データを記憶装
置に記憶するプログラムコード手段とを含み、前記論理
変更プログラムコード手段は、前記論理集積回路の現在
の第1の論理状態に係わる第1の情報を前記命令信号に
応じて検出するプログラムコード手段と、前記第1の情
報と、前記現在より前の前記論理回路の第2の論理状態
に係わる第2の情報と比較するプログラムコード手段
と、前記第1、第2の情報が一致しないときは前記論理
回路の論理が前記第2の論理状態から前記第1の論理状
態へ書き換えられたと判定するプログラムコード手段と
を含むことを特徴とする。
【0074】また、前記判定プログラムコード手段は、
前記論理回路の論理が書き換えられたと判定した場合に
判定信号を出力するプログラムコード手段を含むことを
特徴とする。
【0075】また、前記検出、比較、判定プログラムを
定期的に繰り返すプログラムコード手段をさらに含むこ
とを特徴とする。
【0076】また、前記比較プログラムコード手段は、
前記論理回路に含まれる複数の論理素子の中で前記第2
の論理状態を構成するために用いられた第1の素子数、
前記第2の論理状態を構成するためには用いられなかっ
た第2の素子数、前記第2の論理状態を構成するために
用いられた素子又は用いられなかった素子の第2のアド
レス、前記第1又は第2の素子数又は前記第2のアドレ
スを示す信号に圧縮を施して得た符号、又は前記論理回
路が前記第2の論理状態に書き換えられた日付けの少な
くともいずれか一つを前記第2の情報として前記第1の
情報と比較するプログラムコード手段を含むことを特徴
とする。
【0077】また、本発明は、機密保持機能を有し、論
理が変更可能な論理回路と、前記論理回路を制御する制
御装置とを備えた半導体装置におけるデータに符号処理
を施すためのプログラムをコンピュータが読み出し可能
に格納した記憶媒体であって、前記プログラムは、前記
制御装置に符号処理プログラムを供給するプログラムコ
ード手段と、前記制御装置から前記プログラムに対応し
た命令信号を出力させるプログラムコード手段と、前記
命令信号を前記論理回路に与えて前記プログラムに従っ
て前記論理回路の論理を変更するプログラムコード手段
と、前記変更した論理によって少なくともデータ及び前
記データに関わるアドレスの何れか一方に符号処理を施
すプログラムコード手段と、前記データを記憶装置に記
憶するプログラムコード手段とを含み、前記論理変更プ
ログラムコード手段は、前記命令信号と少なくとも一つ
の基準信号とを比較するプログラムコード手段と、前記
命令信号が前記基準信号と同じ信号である場合に前記論
理回路の論理の書き換えを禁止するプログラムコード手
段とを含むことを特徴とする。
【0078】また、前記比較プログラムコード手段は、
複数種類の基準信号を前記命令信号と比較するプログラ
ムコード手段を含むことを特徴とする。
【0079】また、前記符号処理プログラムコード手段
は、少なくとも暗号化及び復号化処理の何れか一方を含
む前記符号化処理を行うプログラムコード手段を含むこ
とを特徴とする。
【0080】また、前記符号処理プログラムコード手段
は、前記データが前記記憶装置に記憶される前に、少な
くとも前記データ及び前記第1のアドレスの何れか一方
を暗号化する前記符号化処理を行うプログラムコード手
段を含むことを特徴とする。
【0081】また、前記符号処理プログラムコード手段
は、前記データが前記記憶装置から出力される際に、少
なくとも前記データ及び前記データに関わるアドレスの
何れか一方を暗号化する前記符号化処理を行うプログラ
ムコード手段を含むことを特徴とする。
【0082】また、前記符号処理プログラムコード手段
は、前記データが前記記憶装置から出力される際に、少
なくとも前記データ及び前記データに関わるアドレスの
何れか一方を復号化する前記符号化処理を行うプログラ
ムコード手段を含むことを特徴とする。
【0083】また、前記記憶プログラムコード手段は、
前記記憶装置の前記暗号化されたアドレス上に前記デー
タを記憶するステップを含むことを特徴とする。
【0084】また、本発明は、論理が変更可能であっ
て、暗号化プログラム及び復号化プログラムの何れか一
方が与えられ、前記プログラムに対応した命令信号によ
り前記論理が変更され、前記変更された論理により信号
を処理する論理手段を備えた機密保持機能を有する半導
体装置であって、前記論理手段は、前記命令信号により
論理が書き換え可能な論理集積回路と、前記論理集積回
路の現在の第1の論理状態に係わる第1の情報と、前記
命令信号に含まれる前記論理集積回路の第2の論理状態
に係わる第2の情報とを比較し、前記第1、第2の情報
が一致しないときは前記論理集積回路の論理の前記第1
の論理状態から前記第2の論理状態への書き換えを禁止
する手段とを備えた装置であることを特徴とする。
【0085】また、前記論理集積回路に含まれる複数論
理素子の中で前記第1の論理状態を構成するために用い
られる第1の素子数、前記第1の論理状態を構成するた
めには用いられない第2の素子数、前記第1又は第2の
素子数を示す信号に圧縮を施して得た符号、又は前記論
理集積回路が前記第1の論理状態に書き換えられた日付
けの少なくともいずれか一つを前記第1の情報として記
憶する記憶手段をさらに備えたことを特徴とする。
【0086】また、本発明は、論理が変更可能であっ
て、暗号化プログラム及び復号化プログラムの何れか一
方が与えられ、前記プログラムに対応した命令信号によ
り前記論理が変更され、前記変更された論理により信号
を処理する論理手段を備えた機密保持機能を有する半導
体装置であって、前記論理手段は、前記命令信号により
論理が書き換え可能な論理集積回路と、前記命令信号に
応じて、前記論理集積回路の現在の第1の論理状態に係
わる第1の情報を検出し、前記現在より前の前記論理集
積回路の第2の論理状態に係わる第2の情報と比較し、
前記第1、第2の情報が一致しないときは前記論理集積
回路の論理が前記第2の論理状態から前記第1の論理状
態へ書き換えられたと判定する判定手段を備えた装置で
あることを特徴とする。
【0087】また、前記判定手段は、前記論理集積回路
の論理が書き換えられたと判定した場合に判定信号を出
力することを特徴とする。
【0088】また、前記判定手段は、定期的に前記判定
動作を行うことを特徴とする。
【0089】また、前記論理集積回路に含まれる複数の
論理素子の中で前記第2の論理状態を構成するために用
いられた第1の素子数、前記第2の論理状態を構成する
ためには用いられなかった第2の素子数、前記第2の論
理状態を構成するために用いられた素子又は用いられな
かった素子のアドレス、前記第1又は第2の素子数又は
前記アドレスを示す信号に圧縮を施して得た符号、又は
前記論理集積回路が前記第2の論理状態に書き換えられ
た日付けの少なくともいずれか一つを前記第2の情報と
して記憶する記憶手段をさらに備えたことを特徴とす
る。
【0090】第32の発明は、論理が変更可能であっ
て、暗号化プログラム及び復号化プログラムの何れか一
方が与えられ、前記プログラムに対応した命令信号によ
り前記論理が変更され、前記変更された論理により信号
を処理する論理手段を備えた機密保持機能を有する半導
体装置であって、前記論理手段は、前記命令信号により
論理が書き換え可能な論理集積回路と、前記命令信号と
少なくとも一つの基準信号とを比較し、前記命令信号と
前記基準信号が同じ信号である場合に前記論理集積回路
の論理の書き換えを禁止する禁止手段とを備えたことを
特徴とする。
【0091】また、本発明は、上記第32の発明におい
て、前記基準信号として複数種類の信号を予め記憶する
記憶手段をさらに備え、前記禁止手段は前記命令信号と
前記複数種類の信号とを比較することを特徴とする。
【0092】また、前記論理集積回路は、各々が所定の
演算機能を有する複数の演算手段と、前記命令信号に従
って前記複数の演算手段の相互配線を変更して前記論理
を書き換える配線手段とを備えたことを特徴とする。
【0093】また、前記論理集積回路は、FPGA(Fi
eld Programmable Gate Array )を含むことを特徴とす
る。
【0094】また、前記論理集積回路は、制御ゲートと
浮遊ゲートとを有する多値メモリを含むことを特徴とす
る。
【0095】また、前記論理集積回路は、MNOS、マ
スクROM、EEPROM、EPROM、PROM、F
RAM、フラッシュ不揮発性メモリの少なくともいずれ
か一つによる多値メモリを含むことを特徴とする。
【0096】また、前記命令信号に応じて前記論理集積
回路の論理を書き換える書き換え手段をさらに備えたこ
とを特徴とする。
【0097】また、前記論理集積回路の論理を読み出す
読み出し手段をさらに備えたことを特徴とする。
【0098】また、前記半導体装置は、少なくとも接触
式及び非接触式の何れかであることを特徴とする。
【0099】また、前記半導体装置は、外部装置との間
で前記信号の交換を電磁波により行うアンテナ手段を備
えたことを特徴とする。
【0100】第33の発明は、上記第1の発明におい
て、前記論理集積回路は、3値以上の異なる記憶状態の
一つを保持する複数の多値メモリセルを備え、前記半導
体装置はさらに、前記第1、第2の情報が一致したとき
に、任意の符号化方法によって符号化された少なくとも
第1の符号と第2の符号が与えられ、前記第1の符号を
構成する複数の第1のビット情報と前記第2の符号を構
成する複数の第2のビット情報のうち、桁が同じビット
情報同士が一組として前記複数の多値メモリセルの一つ
に記憶されるように前記複数の第1と第2のビット情報
を並べ替える手段と、前記並べ替えられたビット情報が
与えられて、これらの情報に対応した複数の電圧を発生
する手段と、アドレス情報を受けて、前記電圧を前記複
数の多値メモリセルの内の前記アドレス情報に対応する
メモリセルに印加して前記論理を書き換える手段とを備
えたことを特徴とする。
【0101】第34の発明は、上記第6の発明におい
て、前記論理集積回路は3値以上の異なる記憶状態の一
つを保持する複数の多値メモリセルを備え、前記半導体
装置はさらに、前記命令信号が前記基準信号とは異なる
場合に、任意の符号化方法によって符号化された少なく
とも第1の符号と第2の符号が与えられ、前記第1の符
号を構成する複数の第1のビット情報と前記第2の符号
を構成する複数の第2のビット情報の内、桁が同じビッ
ト情報同士が一組として前記複数の多値メモリセルの一
つに記憶されるように前記複数の第1と第2のビット情
報を並べ替える手段と、前記並べ替えられたビット情報
が与えられて、これらの情報に対応した複数の電圧を発
生する手段と、アドレス情報を受けて、前記電圧を前記
複数の多値メモリセルの内の前記アドレス情報に対応す
るメモリセルに印加して前記論理を書き換える手段とを
備えたことを特徴とする。
【0102】第35の発明は、上記第34の発明におい
て、前記ビット情報並替え手段は、前記一つの符号の誤
り訂正能力に応じて、前記複数の多値メモリセルの一つ
に記憶する同一符号におけるビットの数を制御すること
を特徴とする。
【0103】第36の発明は、上記第34の発明におい
て、前記ビット情報並替え手段は、前記複数の多値メモ
リセルの一つが記憶するビット数がmであるときに、m
個のビット情報を前記1個の多値メモリセルに記憶させ
るように、符号長nの符号m個をm×n配列の各行とし
て並べ替えることを特徴とする。
【0104】また、本発明は、外部からの命令信号によ
り論理が書き換え可能で、3値以上の異なる記憶状態の
一つを保持する複数の多値メモリセルを備えた論理集積
回路の現在の第1の論理状態に係わる第1の情報と、前
記命令信号に含まれる前記論理集積回路の第2の論理状
態に係わる第2の情報とを比較し、前記第1、第2の情
報が一致しないときは前記論理集積回路の論理の前記第
1の論理状態から前記第2の論理状態への書き換えを禁
止し、前記第1、第2の情報が一致したときは、任意の
符号化方法によって符号化された少なくとも第1の符号
と第2の符号を入力し、前記第1の符号を構成する複数
の第1のビット情報と前記第2の符号を構成する複数の
第2のビット情報の内、桁が同じビット情報同士が一組
として前記複数の多値メメモリセルの一つに記憶される
ように前記複数の第1と第2のビット情報を並べ替え、
前記並べ替えられたビット情報に対応する複数の電圧を
発生し、アドレス情報を受けて、前記電圧を、前記複数
の多値メモリセルの内の前記アドレス情報に対応するメ
モリセルに印加して、前記第1の論理状態から前記第2
の論理状態への書き換えを行うステップを含む方法であ
ることを特徴とする。
【0105】第37の発明は、外部からの命令信号によ
り論理が書き換え可能で、3値以上の異なる記憶状態の
一つを保持する複数の多値メモリセルを備えた論理集積
回路の論理集積回路における前記命令信号と少なくとも
一つの基準信号とを比較し、前記命令信号が前記基準信
号と同じ信号である場合に、前記論理集積回路の論理の
書き換えを禁止し、前記命令信号が前記基準信号とは異
なる信号である場合に、第1の符号を構成する複数の第
1のビット情報と前記第2の符号を構成する複数の第2
のビット情報の内、桁が同じビット情報同士が一組とし
て前記複数の多値メメモリセルの一つに記憶されるよう
に前記複数の第1と第2のビット情報を並べ替え、前記
並べ替えられたビット情報に対応する複数の電圧を発生
し、アドレス情報を受けて、前記電圧を、前記複数の多
値メモリセルの内の前記アドレス情報に対応するメモリ
セルに印加して、前記論理の書き換えを行うステップを
含むことを特徴とする。
【0106】また、本発明は、外部からの命令信号によ
り論理が書き換え可能で、3値以上の異なる記憶状態の
一つを保持する複数の多値メモリセルを備えた論理集積
回路の論理を書き換えるプログラムをコンピュータによ
り読み出し可能に格納した記憶媒体であって、前記プロ
グラムは、前記論理集積回路の現在の第1の論理状態に
係わる第1の情報と、前記命令信号に含まれる前記論理
集積回路の第2の論理状態に係わる第2の情報とを比較
するプログラムコード手段と、前記第1、第2の情報が
一致しないときは前記論理集積回路の論理の前記第1の
論理状態から前記第2の論理状態への書き換えを禁止す
るプログラムコード手段と、前記第1、第2の情報が一
致したときは、任意の符号化方法によって符号化された
少なくとも第1の符号と第2の符号を入力するプログラ
ムコード手段と、前記第1の符号を構成する複数の第1
のビット情報と前記第2の符号を構成する複数の第2の
ビット情報の内、桁が同じビット情報同士が一組として
前記複数の多値メメモリセルの一つに記憶されるように
前記複数の第1と第2のビット情報を並べ替えるプログ
ラムコード手段と、前記並べ替えられたビット情報に対
応する複数の電圧を発生するプログラムコード手段と、
アドレス情報を受けて、前記電圧を、前記複数の多値メ
モリセルの内の前記アドレス情報に対応するメモリセル
に印加して、前記第1の論理状態から前記第2の論理状
態への書き換えを行うプログラムコード手段とを備えた
ことを特徴とする。
【0107】第38の発明は、外部からの命令信号によ
り論理が書き換え可能で、3値以上の異なる記憶状態の
一つを保持する複数の多値メモリセルを備えた論理集積
回路の論理書き換えを防止するプログラムをコンピュー
タにより読み出し可能に格納した記憶媒体であって、前
記プログラムは、前記論理集積回路における前記命令信
号と少なくとも一つの基準信号とを比較するプログラム
コード手段と、前記命令信号が前記基準信号と同じ信号
である場合に、前記論理集積回路の論理の書き換えを禁
止するプログラムコード手段と、前記命令信号が前記基
準信号とは異なる場合に、任意の符号化方法によって符
号化された少なくとも第1の符号と第2の符号を入力す
るプログラムコード手段と、前記第1の符号を構成する
複数の第1のビット情報と前記第2の符号を構成する複
数の第2のビット情報の内、桁が同じビット情報同士が
一組として前記複数の多値メメモリセルの一つに記憶さ
れるように前記複数の第1と第2のビット情報を並べ替
えるプログラムコード手段と、前記並べ替えられたビッ
ト情報に対応する複数の電圧を発生するプログラムコー
ド手段と、アドレス情報を受けて、前記電圧を、前記複
数の多値メモリセルの内の前記アドレス情報に対応する
メモリセルに印加して、前記論理を書き換えを行うプロ
グラムコード手段とを備えたことを特徴とする。
【0108】また、本発明は、機密保持機能を有し、論
理が変更可能で3値以上の多値メモリを備えた論理回路
と、前記論理回路を制御する制御装置とを備えた半導体
装置の符号処理方法であって、前記制御装置に符号処理
プログラムを供給するステップし、前記制御装置から前
記プログラムに対応した命令信号を出力するステップ
と、前記命令信号を前記論理回路に与えて前記プログラ
ムに従って前記論理回路の論理を変更する論理変更ステ
ップと、前記変更した論理によって少なくともデータ及
び前記データに関わるアドレスの何れか一方に符号処理
を施す符号処理ステップと、前記データを記憶装置に記
憶するステップとを含み、前記論理変更ステップは、前
記論理回路の現在の第1の論理状態に係わる第1の情報
と、前記命令信号に含まれる前記論理回路の第2の論理
状態に係わる第2の情報とを比較するステップと、前記
第1、第2の情報が一致しないときは前記論理回路の論
理の前記第1の論理状態から前記第2の論理状態への書
き換えを禁止するステップと、前記第1、第2の情報が
一致したときは、任意の符号化方法によって符号化され
た少なくとも第1の符号と第2の符号を入力するステッ
プと、前記第1の符号を構成する複数の第1のビット情
報と前記第2の符号を構成する複数の第2のビット情報
の内、桁が同じビット情報同士が一組として前記複数の
多値メメモリセルの一つに記憶されるように前記複数の
第1と第2のビット情報を並べ替えるステップと、前記
並べ替えられたビット情報に対応する複数の電圧を発生
するステップと、 アドレス情報を受けて、前記電圧
を、前記複数の多値メモリセルの内の前記アドレス情報
に対応するメモリセルに印加して、前記第1の論理状態
から前記第2の論理状態への書き換えを行うステップを
含むことを特徴とする。
【0109】また、本発明は、機密保持機能を有し、論
理が変更可能で3値以上の多値メモリを備えた論理回路
と、前記論理回路を制御する制御装置とを備えた半導体
装置の符号処理方法であって、前記制御装置に符号処理
プログラムを供給する供給ステップと、前記制御装置か
ら前記プログラムに対応した命令信号を出力させる出力
ステップと、前記命令信号を前記論理回路に与えて前記
プログラムに従って前記論理回路の論理を変更する論理
変更ステップと、前記変更した論理によって少なくとも
データ及び前記データに関わるアドレスの何れか一方に
符号処理を施す符号処理ステップと、前記データを記憶
装置に記憶するステップとを含み、前記論理変更ステッ
プは、前記命令信号と少なくとも一つの基準信号とを比
較するステップと、前記命令信号が前記基準信号と同じ
信号である場合に前記論理回路の論理の書き換えを禁止
するステップと、前記命令信号が前記基準信号とは異な
る信号である場合に、第1の符号を構成する複数の第1
のビット情報と前記第2の符号を構成する複数の第2の
ビット情報の内、桁が同じビット情報同士が一組として
前記複数の多値メメモリセルの一つに記憶されるように
前記複数の第1と第2のビット情報を並べ替えるステッ
プと、前記並べ替えられたビット情報に対応する複数の
電圧を発生するステップと、アドレス情報を受けて、前
記電圧を、前記複数の多値メモリセルの内の前記アドレ
ス情報に対応するメモリセルに印加して、前記論理の書
き換えを行うステップを含むことを特徴とする。
【0110】また、本発明は、機密保持機能を有し、論
理が変更可能で3値以上の多値メモリを備えた論理回路
と、前記論理回路を制御する制御装置とを備えた半導体
装置におけるデータに符号処理を施すためのプログラム
をコンピュータが読み出し可能に格納した記憶媒体であ
って、前記プログラムは、前記制御装置に符号処理プロ
グラムを供給するプログラムコード手段と、前記制御装
置から前記プログラムに対応した命令信号を出力させる
プログラムコード手段と、前記命令信号を前記論理回路
に与えて前記プログラムに従って前記論理回路の論理を
変更するプログラムコード手段と、前記変更した論理に
よって少なくともデータ及び前記データに関わるアドレ
スの何れか一方に符号処理を施すプログラムコード手段
と、前記データを記憶装置に記憶するプログラムコード
手段とを含み、前記論理変更プログラムコード手段は、
前記論理回路の現在の第1の論理状態に係わる第1の情
報と、前記命令信号に含まれる前記論理回路の第2の論
理状態に係わる第2の情報とを比較するプログラムコー
ド手段と、前記第1、第2の情報が一致しないときは前
記論理回路の論理の前記第1の論理状態から前記第2の
論理状態への書き換えを禁止するプログラムコード手段
と、前記第1、第2の情報が一致したときは、任意の符
号化方法によって符号化された少なくとも第1の符号と
第2の符号を入力するプログラムコード手段と、前記第
1の符号を構成する複数の第1のビット情報と前記第2
の符号を構成する複数の第2のビット情報の内、桁が同
じビット情報同士が一組として前記複数の多値メメモリ
セルの一つに記憶されるように前記複数の第1と第2の
ビット情報を並べ替えるプログラムコード手段と、前記
並べ替えられたビット情報に対応する複数の電圧を発生
するプログラムコード手段と、アドレス情報を受けて、
前記電圧を、前記複数の多値メモリセルの内の前記アド
レス情報に対応するメモリセルに印加して、前記第1の
論理状態から前記第2の論理状態への書き換えを行うプ
ログラムコード手段とを含むことを特徴とする。
【0111】また、本発明は、機密保持機能を有し、論
理が変更可能で3値以上の多値メモリを備えた論理回路
と、前記論理回路を制御する制御装置とを備えた半導体
装置におけるデータに符号処理を施すためのプログラム
をコンピュータが読み出し可能に格納した記憶媒体であ
って、前記プログラムは、前記制御装置に符号処理プロ
グラムを供給するプログラムコード手段と、前記制御装
置から前記プログラムに対応した命令信号を出力させる
プログラムコード手段と、前記命令信号を前記論理回路
に与えて前記プログラムに従って前記論理回路の論理を
変更するプログラムコード手段と、前記変更した論理に
よって少なくともデータ及び前記データに関わるアドレ
スの何れか一方に符号処理を施すプログラムコード手段
と、前記データを記憶装置に記憶するプログラムコード
手段とを含み、前記論理変更プログラムコード手段は、
前記命令信号と少なくとも一つの基準信号とを比較する
プログラムコード手段と、前記命令信号が前記基準信号
と同じ信号である場合に前記論理回路の論理の書き換え
を禁止するプログラムコード手段と、前記命令信号が前
記基準信号とは異なる場合に、任意の符号化方法によっ
て符号化された少なくとも第1の符号と第2の符号を入
力するプログラムコード手段と、前記第1の符号を構成
する複数の第1のビット情報と前記第2の符号を構成す
る複数の第2のビット情報の内、桁が同じビット情報同
士が一組として前記複数の多値メメモリセルの一つに記
憶されるように前記複数の第1と第2のビット情報を並
べ替えるプログラムコード手段と、前記並べ替えられた
ビット情報に対応する複数の電圧を発生するプログラム
コード手段と、アドレス情報を受けて、前記電圧を、前
記複数の多値メモリセルの内の前記アドレス情報に対応
するメモリセルに印加して、前記論理を書き換えを行う
プログラムコード手段とを備えたことを特徴とする。
【0112】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を用いて説明する。
【0113】(1)第1の実施の形態 本発明に係る半導体装置は、例えば、図1に示すような
論理集積回路100により実施される。
【0114】すなわち、論理集積回路100は、論理防
衛機能を有し、EEPROM型の書換可能な論理集積回
路であり、配線行列(PIA:Programable Interconne
ct Array)101と、PIA101に接続された複数の
マクロセル1021 〜102n と、複数のマクロセル1
021 〜102n に対応して接続された複数のI/O回
路1041 〜104n と、PIA101の書換制御回路
103とを具備している。
【0115】まず、マクロセル1021 〜102n は各
々、カウンタ機能、AND機能、ラッチ機能等、演算ロ
ジックの標準的なライブラリからなり、PIA101に
より、高速且つ一定の遅延で相互に接続可能なようにな
されている。
【0116】PIA101は、グローバルなバスからな
り、このPIA101によるマクロセル1021 〜10
2n の接続は、書換制御回路103により制御される。
【0117】具体的には、PIA101は、例えば、図
2に示すように、m本の信号線0〜mからなるバスライ
ン201と、バスライン201に接続された入力部20
0xin 及び出力部200xoutとを具備している。入力部
200xin 及び出力部200xoutは、複数のマクロセル
1021 〜102n のうち、任意のマクロセル102x
に対応するものであり、他のマクロセルについても、出
力部200xout及び入力部200xin と同様の構成をし
た出力部及び入力部が各々対応して設けられている。
尚、この図2では、説明の簡単のために、マクロセル1
02x に対応した入力部200xin 及び出力部200xo
utを図示した。他のマクロセルに対応した入力部及び出
力部についても、マクロセル102x に対応した入力部
200xin 及び出力部200xoutと同様であるため、そ
の詳細は省略するものとする。
【0118】入力部200xin は、信号線0〜mに対応
して接続されたEEPROMメモリセル202x0〜20
2xmと、信号線0〜mに対応して接続されると共にEE
PROMメモリセル202x0〜202xmに対応して接続
されたAND回路203x0〜203xmと、AND回路2
03x0〜203xmに接続されたOR回路204x とを具
備しており、OR回路204x は、マクロセル102x
に対して出力するようになされている。出力部200xo
utは、EEPROMメモリセル205x0,205x1,・
・・と、マクロセル102x 及びEEPROMメモリセ
ル205x0,205x1,・・・に対応して接続されたA
ND回路203x0,203x1,・・・と、AND回路2
03x0,203x1,・・・に接続されたOR回路207
x とを具備しており、OR回路204x は、信号線0に
対して出力するようになされている。
【0119】さらに、図3に示すように、各メモリセル
202は、マルチプレクサ401、選択回路402に接
続され、マルチプレクサ401には書込み回路403、
センス回路404が接続されている。さらに、これらの
回路401、402、403、404は、書換制御回路
103に含まれる制御回路301に接続されている。
尚、図2では、メモリセル202xo、202x1、・・
・、202xmと上記各回路との接続関係のみを示してい
るが、図2のメモリセル205xo、205x1、・・・も
当然上記各回路と接続されている。
【0120】このようなPIA101では、特に、EE
PROMメモリセル202x0〜202xmは、その記憶状
態によって、2入力のAND回路203x0〜203xmの
一方の入力をコントロールしており、これにより、マク
ロセル102x と他のマクロセルの接続が制御される。
具体的には、例えば、EEPROMメモリセル202x0
のしきい値が”L”のとき、AND回路203x0には”
L”が入力されるため、バス線のデータがマクロセル1
02x に出力されない。一方、”H”であれば出力され
る。このようにしてEEPROMメモリセル2020 〜
202m に設定されている値を書き換えることで、マク
ロセル102x と他のマクロセルの接続を制御できる。
【0121】したがって、マクロセル1021 〜102
n の相互の接続は、PIA101の各マクロセルに対応
したEEPROMメモリセル(以下、これを総称して
「複数のEEPROMメモリセル202」と言う)の記
憶状態によって制御される。すなわち、複数のEEPR
OMメモリセル202の記憶状態を書き換えることで、
マクロセル1021 〜102n の相互の接続を変更する
ことが可能となる。この結果、全く異なる論理(論理機
能)を有する論理集積回路100を得ることも可能とな
る。
【0122】このような複数のEEPROMメモリセル
202の記憶状態の書換え(以下、「PIA101の書
換え」とも言う)は、書換制御回路103によって行わ
れる。
【0123】書換制御回路103には、例えば、図示し
ていない外部回路からの命令信号が入力用の信号線10
5を介して与えられている。書換制御回路103は、そ
の命令信号が書換命令信号であった場合に、その書換命
令信号に従ってPIA101を書き換える。
【0124】ここで、例えば、書換制御回路103に与
えられる外部からの書換命令信号が、論理集積回路10
0の論理の破壊を目的とした書換命令信号(ウィルス)
である場合が考えられる。そこで、書換制御回路103
は、以下のような構成により、書換命令信号(ウィル
ス)から論理集積回路100の論理が破壊されることを
防ぐ機能(論理防衛機能)を実現している。
【0125】例えば、図4に示すように、書換制御回路
103は、信号線105からの命令信号が供給される制
御回路301と、制御回路301の制御プログラムが格
納されるプログラム用メモリ302と、PIA101の
記憶状態が記憶されるメモリ304と、所定のタイマ値
が設定されるタイマ303とを具備している。そして、
プログラム用メモリ302には、例えば、図5、6に示
すようなフローチャートに従った制御プログラムが予め
設定されており、これらの制御プログラムのいずれかが
制御回路301により読み出され実行されることで、書
換制御回路103は、以下のように動作する。尚、、第
1の実施の形態では、図5に示すフローチャートに従っ
た制御プログラムが制御回路301により読み出され実
行されるものとして説明する。
【0126】先ず、制御回路301は、PIA101の
現在の記憶状態、例えば、複数のEEPROMメモリセ
ル202のうち、例えば、”H”の値をマルチプレクサ
401、センス回路404を介して検出し”H”の値が
設定されているEEPROMメモリセルの数(ゲート
数)を第1の暗号鍵(第1の情報)として、EEPRO
M等からなるメモリ304に記憶する(ステップS40
0)。
【0127】次に、制御回路301は、信号線105を
介して外部から書換命令信号が入力されたか否かを判別
し(ステップS410)、該書換命令信号が入力された
場合には、次のステップS420に進み、入力されてい
ない場合には、ステップS410に戻り命令信号判別動
作を繰り返す。
【0128】ステップS420では、制御回路301
は、入力された書換命令信号を受け取る。そして、制御
回路301は、ステップS420で受け取った書換命令
信号に含まれる、使用者又は第三者が書き換え時に設定
した第2の暗号鍵(第2の情報)であるEEPROMメ
モリセルの数(ゲート数)とメモリ304に記憶されて
いる第1の暗号鍵である”H”の値が設定されているE
EPROMメモリセルの数(ゲート数)とを比較する
(ステップS430)。
【0129】ステップS430の判別の結果、第1の暗
号鍵と第2の暗号鍵が異なる場合、制御回路301は、
ステップS420で受け取った書換命令信号を無効とし
て書き換えを禁止し(ステップS450)、ステップS
410に戻る。
【0130】一方、ステップS430の判別の結果、第
1の暗号鍵と第2の暗号鍵とが一致した場合、制御回路
301は、ステップS420で受け取った書換命令信号
を有効として書換命令信号に従って、選択回路402を
介して書き換えるべきメモリセルを特定し、書込み回路
403によりEEPROMメモリセル202を書き換え
(ステップS440)、ステップS410に戻る。
【0131】上述のように、本実施の形態では、PIA
101において、現在”H”の値が設定されているEE
PROMメモリセルの数を第1の暗号鍵として、使用者
又は第三者が書き換え時に設定し書換命令に含まれる第
2の暗号鍵であるEEPROMメモリセルの数(ゲート
数)と比較して、第1の暗号鍵の示す数と書換命令によ
る第2の暗号鍵の示す数とに相違がないか否かを検査し
て、その検査結果が「相違有り」の場合には、論理集積
回路100の論理の書き換えを禁止するように構成し
た。このように構成することで、PIA101を書き換
えるためには、すなわち論理集積回路100の論理を変
えるためには、現在”H”の値が設定されているEEP
ROMメモリセルの数を正確に知らないと書き換えが禁
止される。そして、その現在の数は、書き換え可能な論
理集積回路100の現在の論理を正確に知っている者に
しか知りえないため、論理集積回路100の論理を変え
られる可能性はない。
【0132】(2)第2の実施の形態 本実施例の形態において上述した第1の実施の形態と異
なる点は、第1の実施の形態では上述のように暗号鍵に
よる検査結果が「相違無い」場合は論理集積回路100
の論理の書き換えを許可し、「相違有り」の場合には書
き換えを禁止して使用者による書き換えを可能にし、一
方第三者による例えば不正な書き換えを防止するように
したのに対し、第2の実施の形態では使用者が当分の
間、書き換えを行わないような場合において、書き換え
られた後に、暗号鍵による検査を行い、検査結果が「相
違有り」の場合には論理集積回路100を使用すること
に対して警告を発するように構成した。本実施例の形態
においては、図4のプログラム用メモリ302に予め設
定された図6に示すフローチャートに従った制御プログ
ラムが制御回路301により読み出され実行されること
で、書換制御回路103は、以下のように動作する。
【0133】先ず、制御回路301は、所定のタイマ値
をタイマ303に設定する(ステップS401)。
【0134】次に、制御回路301は、PIA101の
記憶状態、例えば、複数のEEPROMメモリセル20
2のうち、例えば、”H”の値をマルチプレクサ40
1、センス回路404を介して検出し、”H”の値が設
定されているEEPROMメモリセルの数(ゲート数)
を暗号鍵として(第2の情報)、EEPROM等からな
るメモリ304に記憶する(ステップS402)。
【0135】次に、制御回路301は、信号線105を
介して外部から書換命令信号が入力されたか否かを判別
し(ステップS403)、該書換命令信号が入力された
場合には、次のステップS404に進み、入力されてい
ない場合には、後述のステップS406に進む。
【0136】ステップS404では、制御回路301
は、入力された書換命令信号を受け取る。そして、制御
回路301は、ステップS404で受け取った書換命令
信号に従って、選択回路402を介して書き換えるべき
メモリセルを特定し、書込み回路403によりEEPR
OMメモリセル202を書き換え(ステップS40
5)、次のステップS406に進む。
【0137】ステップS406では、制御回路301
は、タイマ303がタイムアップしたか否かを判別し、
タイムアップでない場合には上述したステップS403
に戻り、それ以降のステップ処理を繰り返し実行する。
【0138】ステップS406の判別の結果、タイマ3
03がタイムアップした場合、制御回路301は、ステ
ップS402でメモリ304に記憶した暗号鍵であるP
IA101の記憶状態と、現在のPIA101の記憶状
態、すなわち”H”の値が設定されているEEPROM
メモリセルの現在の数(第1の情報)とを比較する(ス
テップS407)。
【0139】ステップS407の判別の結果、メモリ3
04のPIA101の記憶状態と、現在のPIA101
の記憶状態とが異なる場合、制御回路301は、論理集
積回路100の論理が「不正に」書換えられたと認識
し、その認識を示す警告(判定)信号を外部出力して、
本処理を終了する。この警告信号により、使用者は、こ
の書換可能な論理集積回路100の論理が「不正に」書
き換えられたことを認識できる。
【0140】一方、ステップS407の判別の結果、メ
モリ304のPIA101の記憶状態と、現在のPIA
101の記憶状態とが一致した場合、制御回路301
は、書き換えが行われていないと認識し、再度タイマ3
03を所定のタイマ値に設定し(ステップS408)、
上述したステップS403に戻り、それ以降のステップ
処理を繰り返し実行する。
【0141】上述のように、本実施の形態では、PIA
101において、”H”の値が設定されているEEPR
OMメモリセルの数を暗号鍵として用い、設定されたそ
の数と、現在のその数とに相違がないか否かを、定期的
に検査して、その検査結果が「相違有り」の場合には、
論理集積回路100の論理が書き換えられたと認識し、
継続してこの論理集積回路100を使用することに対し
て警告を発するように構成した。このように、論理集積
回路100の論理を定期的に検査することにより、例え
ば、第三者により不正に書き換えられた論理集積回路1
00を使用者が不用意に使用してしまうことを防止でき
る。尚、使用者が論理集積回路100の論理を書き換え
たい場合は、第1の実施の形態で説明したように、図4
のプログラムメモリ302に予め設定された図5に示す
フローチャートに従った制御プログラムを制御回路30
1により読み出し実行すれば良い。
【0142】尚、上述した第1、2の実施の形態で
は、”H”の値が設定されているEEPROMメモリセ
ルの数を暗号鍵として用いるようにしたが、これに限ら
ず、例えば、”L”の数を暗号鍵として用いてもよい
し、或いは、”H”又は”L”の値が設定されているE
EPROMメモリセルの数を示す信号に圧縮等を施した
符号を暗号鍵として用いてもよい。或いは、論理が最後
に書き換えられた日付けや論理が最後に書き換えられた
時点での未使用のマクロセルの数等の情報を暗号鍵とし
て用いてもよい。
【0143】さらに、第2の実施の形態では、”H”又
は”L”の値が設定されているEEPROMメモリセル
200のアドレスを暗号鍵として、メモリ304のルッ
クアップテーブルに記憶しておき、図6に示すフローチ
ャートのステップS405において、”H”又は”L”
の値が書き換えられたメモリセル200のアドレスを図
3のセンス回路404を介して図4の制御回路301に
読み込み、ステップS407にて、暗号鍵であるアドレ
スと書き換え後の現在のアドレスとを比較し、アドレス
が異なればメモリセル200の”H”又は”L”の値が
書き換えられと認識し、ステップS409で警告信号を
出力するようにしてもよい。
【0144】このように、”H”又は”L”の値が設定
されているEEPROMメモリセル200のアドレスを
暗号鍵として、メモリ304のルックアップテーブルに
記憶しておけば、メモリセル200の値が書き換えられ
た場合に、ルックアップテーブルのアドレスを参照し
て、図3の選択回路402によりメモリセルを選択し、
書込み回路403により書き換えられた前の論理状態に
戻すことができる。さらに上記アドレスを示す信号に圧
縮等を施した符号を暗号鍵として用いてもよい。尚、こ
れらの暗号鍵の履歴表を第三者には分からない論理集積
回路100の内部又は外部のルックアップテーブルに持
ち、履歴表を参照して暗号鍵を定期的に変更することに
より不正な書き換えに対する安全性が高まる。
【0145】また、上記第1、第2実施例で説明したメ
モリセル200を多値メモリで構成すると、メモリセル
に書き込まれる”H”又は”L”の値の組合せが複雑に
なり、この複雑な”H”又は”L”の値の組合せを暗号
鍵として用いることにより不正な書き換えに対する安全
性がさら高まる。以下に図中のメモリセル200を多値
メモリで構成した場合の”H”又は”L”の値の書き込
み、読み出し方法の一例について説明する。
【0146】(書き込み方法:例1)ここでの多値メモ
リは、制御ゲートと、少なくとも3通りの異なる記憶状
態を持たせることが可能な電荷蓄積層とを有し、その少
なくとも3通り以上の記憶状態のうち、ある記憶状態を
格納する多値メモリセルである。このような多値メモリ
として、例えば、EEPROM(フラッシュEEPRO
M)を用いる。
【0147】そこで、まず、EEPROMについて説明
すると、該EEPROMは、図7に示すようなメモリセ
ル900(図2のメモリセル200に対応)を複数配列
した構成としている。メモリセル900は、上記図7に
示すように、p型シリコン基板901の表面領域にn型
不純物拡散層からなるドレイン(一対の不純物拡散層)
902及びソース903が各々形成され、これらの間が
チャネル領域904となった構成としている。そして、
チャネル領域904の上に、厚さ10nm程度のSiO
2 膜からなるトンネル絶縁膜905が形成され、その上
に、低抵抗ポリシリコンからなる浮遊ゲート(電荷蓄積
層)913、層間絶縁膜906、及び低抵抗ポリシリコ
ンからなる制御ゲート910が順次形成されている。ま
た、ドレイン902には、ビット線911が接続され、
ソース903には、ソース線912が接続されている。
【0148】このような構成のメモリセル900を有す
るEEPROMに、例えば、”00”〜”11”の4値
のデータを書き込む場合について説明する。尚、”
1”、”0”は、上述した第1、第2の実施の形態にお
ける”H”、”L”に対応する。
【0149】対象メモリセルに”11”を書き込む場
合、図3の選択回路402により選択されたビット線9
11を接地し、ソース線912を開放し、選択された制
御ゲート(ワード線)910に10〜15V程度のパル
ス電圧を、図3のマルチプレクサ401を介して書込回
路403により印加する。これにより、対象メモリセル
の浮遊ゲート913に電圧が誘起され、この浮遊ゲート
913とドレイン902の電圧差に応じて、ファウラー
ノルドハイムトンネリングにより、浮遊ゲート913に
所定量の電荷が注入されることになる。そして、対象メ
モリセルの閾値が7V程度に上昇する。この状態を”1
1”とする。このとき、対象メモリセル以外の他のメモ
リセルのビット線に3V程度の電圧を印加しておくこと
で、他のメモリセルでは、ファウラーノルドハイムトン
ネリングが起こらず、したがって、データの書き込みは
行われない。
【0150】また、同様にして、対象メモリセルに”1
0”を書き込む場合、選択されたビット線911を接地
し、ソース線912を開放し、選択された制御ゲート
(ワード線)910に1V程度のパルス電圧を印加す
る。これにより、対象メモリセルの閾値が5V程度に上
昇する。この状態を”10”とする。また、同様にし
て、対象メモリセルに”01”を書き込む場合、選択さ
れたビット線911を接地し、ソース線912を開放
し、選択された制御ゲート(ワード線)910に2V程
度のパルス電圧を印加する。これにより、対象メモリセ
ルの閾値が3V程度に上昇する。この状態を”01”と
する。また、同様にして、対象メモリセルに”00”を
書き込む場合、選択されたビット線911を接地し、ソ
ース線912を開放し、選択された制御ゲート(ワード
線)910に3V程度のパルス電圧を印加する。これに
より、対象メモリセルの閾値が1V程度に上昇する。こ
の状態を”00”とする。
【0151】尚、図3の書き込み回路403により、上
述のような書き込み動作を行うためには、書き込み回路
403を、例えば、特開平6−195987号に開示さ
れているプログラム回路のように構成すればよい。
【0152】(書き込み方法:例2)以下、図8を参照
しながら本発明の書き込み方法の第2の実施形態を具体
的に説明する。
【0153】本実施の形態で対象としている多値記憶E
EPROMは、各メモリセルのしきい値電圧が、記憶す
る2ビットの情報(00、01、10、11)に対応し
て、4値(0、2、4、6V)に設定されている4値メ
モリで、バースト誤り訂正符号として、符号長n、バー
スト誤り訂正能力Lの符号Cをm回交錯する交錯法を用
いている。
【0154】本装置の書き換えは、まず、図4の制御回
路301より記憶内容8ビットの入力を受ける毎に、図
3の書き込み回路403は、これを4×2ビットの情報
ビット(m11,m21,m31,m41)(m12,
m22,m32,m42)に分割し、この情報ビットか
ら3×2ビットの検査ビット(p11,p21,p3
1)(p12,p22,p32)を生成する。そして、
これらの情報ビット(m11,m21,m31,m4
1)(m12,m22,m32,m42)及び検査ビッ
ト(p11,p21,p31)(p12,p22,p3
2)から2個の符号語(m11,m21,m31,m4
1,p11,p21,p31)と、(m12,m22,
m32,m42,p12,p22,p32)とを生成す
る。
【0155】このようにして生成した2個の符号語を書
き込み回路403に備えられるビット情報分散手段に与
え、図8に示すように、2×7配列の各行に交錯させて
並べる。そして、7個のメモリセルのそれぞれに、m1
1とm12,m21とm22、m31とm32、m41
とm42、p11とp12、p21とp22、p31と
p32の組み合わせで順次記憶する。
【0156】尚、情報ビットの並べ替えが行われた入力
情報は、書き込み回路403に備えられる電圧発生及び
電圧制御回路に与えられ、情報ビットに応じた電圧が発
生される。そして、この発生された電圧が図3のマルチ
プレクサ401を介してメモリセル202に加えられ、
各メモリセルに所定のしきい値電圧が設定される。すな
わち、図8において、メモリセル1の上位ビットがm1
1,下位ビットがm12となり、同様にメモリセル2に
m21とm22、メモリセル3にm31とm32、メモ
リセル4にm41とm42、メモリセル5にm51とm
52、メモリセル6にp21,p22,メモリセル7に
p31,p32が納められる。
【0157】それぞれの符号語は、後で詳細に説明する
ように、1個の誤りが生じても訂正が可能であり、図8
のように、例えばメモリセル3のしきい値電圧が変化し
て、長さ2のバースト誤りが生じても、各符号語に対し
ては1個の誤りになるので訂正が可能である。すなわ
ち、7個のメモリセルのうち、1個のメモリセルのしき
い値電圧が変化し、例えば“01”の記憶内容が“1
0”に変化するバースト誤りが発生しても、一つの符号
語について見れば誤りは1ビットであるから訂正が可能
である。
【0158】(書き込み方法:例3)ここで対象とする
装置は、各メモリセルのしきい値電圧が、記憶する3ビ
ットの情報(000、001、010、011、10
0、101、110、111)に対応して、8値(0、
1、2、3、4、5、6、7V)に設定される8値メモ
リにも適用できる。
【0159】本装置の書き換えは、先ず、記憶内容12
ビットの入力を受ける毎に、これを4×3ビットの情報
ビット(m11,m21,m31,m41)(m12,
m22,m32,m42)(m13,m23,m33,
m43)に分割し、この情報ビットから3×3ビットの
検査ビット(p11,p21,p31)(p12,p2
2,p32)(p13,p23,p33)を得る。
【0160】そしてこれら情報ビット、検査ビットから
3個の符号語(m11,m21,m31,m41,p1
1,p21,p31)(m12,m22,m32,m4
2,p12,p22,p32)(m13,m23,m3
3,m43,p13,p23,p33)を、3×7配列
の各行に並べ、7個のメモリセルにそれぞれ、m11と
m12とm13、m21とm22とm23、m31とm
32とm33、m41とm42とm43、p11とp1
2とp13、p21とp22とp23、p31とp32
とp33を記憶する。
【0161】すなわち、図9において、メモリセル1の
上位ビットがm11,下位ビットがm12となり、同様
にメモリセル2にm21とm22、メモリセル3にm3
1とm32、メモリセル4にm41とm42、メモリセ
ル5にm51とm52、メモリセル6にp61,p6
2,メモリセル7にp71,p72が納められる。
【0162】それぞれの符号語は、1個の誤りが生じて
も訂正が可能であり、したがって、図9に示すように、
長さ3のバースト誤りが生じても、各符号語に対しては
1個の誤りになるので訂正が可能である。すなわち、7
個のメモリセルのうち、1個のメモリセルのしきい値電
圧が変化して、例えば“100”の記憶内容が“01
1”に変化するバースト誤りが発生しても、訂正が可能
である。
【0163】(「書き込み方法:例3」の変形例1)こ
こで対象とする装置は、各メモリセルの閾値電圧が、記
憶する3ビット情報(000,001,010,01
1,100,101,110,111)に対応して、8
値(0,1,2,3,4,5,6,7V)に設定される
8値メモリである。この変形例1においては、符号語を
構成する各ビットのうち、2個の誤りまでは誤り訂正が
可能な所定の線型符号化規則に従った場合について例示
する。
【0164】本装置による書き換えにおいては、先ず、
記憶内容が所定ビット、例えば、kビットの入力を受け
る毎に、これを3つの(k/3)ビットの各情報ビット
に分割する。そして、各情報ビットから冗長ビットを得
て、14ビットの符号語(m11,m21,m31,m
41,m51,m61,m71,m12,m22,m3
2,m42,m52,m62,m72)と、7ビットの
符号語(m13,m23,m33,m43,m53,m
63,m73)を作成する。すなわち、この14ビット
及び7ビットの各符号語のうち、各々所定数のビットが
情報ビットであり、残りが誤り訂正用の冗長ビットであ
る。
【0165】次に、14ビットの符号語(m11,m2
1,m31,m41,m51,m61,m71,m1
2,m22,m32,m42,m52,m62,m7
2)を、7ビットずつの符号列(m11,m21,m3
1,m41,m51,m61,m71)(m12,m2
2,m32,m42,m52,m62,m72)に分割
する。そして、符号列a(m11,m21,m31,m
41,m51,m61,m71)及び符号列b(m1
2,m22,m32,m42,m52,m62,m7
2)と、1個の符号列c(m13,m23,m33,m
43,m53,m63,m73)とを、3×7配列の各
行に並べ、図10(A)に示すように、7個のメモリセ
ルに各々、m11とm12とm13、m21とm22と
m23、m31とm32とm33、m41とm42とm
43、m51とm52とm53、m61とm62とm6
3、m71とm72とm73を記憶する。
【0166】すなわち、図10(A)において、メモリ
セル1の上位ビットがm11、中位ビットがm12、下
位ビットがm13となり、同様にメモリセル2にm21
とm22とm23、メモリセル3にm31とm32とm
33、メモリセル4にm41とm42とm43、メモリ
セル5にm51とm52とm53、メモリセル6にm6
1とm62とm63、メモリセル7にm71とm72と
m73が収められる。
【0167】符号列a,b及び符号語cは、1個の誤り
が生じても訂正が可能であり、したがって、図10
(A)に示すように、例えば、3番目のメモリセルの長
さ3のバースト誤りが生じても、各符号列a,b及び符
号語cに対しては、各々1個の誤りとなり、このとき符
号列a,bから構成される符号語に対しては、2個の誤
りとなるので、訂正が可能となる。すなわち、7個のメ
モリセルのうち、1個のメモリセルの閾値電圧が変化し
て、例えば、”100”の記憶内容が”011”に変化
するバースト誤りが発生しても、訂正が可能となる。
【0168】(「書き込み方法:例3」の変形例2)こ
こでの対象とする装置は、各メモリセルの閾値電圧が、
記憶する3ビットの情報(000,001,010,0
11,100,101,110,111)に対応して、
8値(0,1,2,3,4,5,6,7V)に設定され
る8値メモリである。この変形例2においては、符号語
を構成する各ビットのうち、1個の誤りまでは誤り訂正
が可能であり、2個の誤りまでは誤り検出が可能な符号
化規則に従った場合について例示する。
【0169】本装置による書き換えにおいては、先ず、
記憶内容が12ビットの入力を受ける毎に、これを4×
3ビットの情報ビット(m11,m21,m31,m4
1)(m12,m22,m32,m42)(m13,m
23,m33,m43)に分割し、ハミング符号化によ
り、この情報ビットから3×3ビットの冗長ビット(p
11,p21,p31)(p12,p22,p32)
(p13,p23,p33)を得る。
【0170】続いて、3個の符号列(m11,m21,
m31,m41,p11,p21,p31)(m12,
m22,m32,m42,p12,p22,p32)
(m13,m23,m33,m43,p13,p23,
p33)の各々について、各ビット全てのEX−ORを
算出し、その結果として得られた各冗長ビットq1,q
2,q3を各符号列に付加して、3個の符号語(m1
1,m21,m31,m41,p11,p21,p3
1,q1)(m12,m22,m32,m42,p1
2,p22,p32,q2)(m13,m23,m3
3,m43,p13,p23,p33,q3)を作成す
る。
【0171】そして、これら3個の符号語を3×8配列
の各行に並べ、図10(B)に示すように、8個のメモ
リセルに各々、m11とm12とm13、m21とm2
2とm23、m31とm32とm33、m41とm42
とm43、p11とp12とp13、p21とp22と
p23、p31とp32とp33、q1とq2とq3を
記憶する。
【0172】すなわち、図10(B)において、メモリ
セル1の上位ビットがm11、中位ビットがm12、下
位ビットがm13となり、同様にメモリセル2にm21
とm22とm23、メモリセル3にm31とm32とm
33、メモリセル4にm41とm42とm43、メモリ
セル5にp11とp12とp13、メモリセル6にp2
1とp22とp23、メモリセル7にp31とp32と
p33、メモリセル8にq1とq2とq3が収められ
る。
【0173】各々の符号語は、1個の誤りが生じても訂
正可能であり、したがって、図10(B)に示すよう
に、例えば、3番目のメモリセルに長さ3のバースト誤
りが生じても、各符号語に対しては、1個の誤りとなる
ので、訂正が可能となる。すなわち、8個のメモリセル
のうち、1個のメモリセルの閾値電圧が変化して、例え
ば、”100”の記憶内容が”011”に変化するバー
スト誤りが発生しても、訂正が可能となる。さらに、極
めて稀なことであるとは思われるが、例えば、もう1つ
のメモリセルに1〜3のバースト誤りが生じた場合、少
なくとも1つの符号語に対しては、2個の誤りとなる
が、このとき当該2個の誤りを検出することができ、そ
のうち1個については訂正可能となる。
【0174】(書き込み方法:例4)ここでの対象とす
る装置は、各メモリセルの閾値電圧が、記憶する4ビッ
トの情報(0000,0001,0010,0011,
0100,0101,0110,0111,1000,
1001,1010,1011,1100,1101,
1110,1111)に対応して、16値(0,1,
2,3,4,5,6,7,8,9,10,11,12,
13,14,15V)に設定される16値メモリであ
る。
【0175】本装置による書き換えにおいては、先ず、
記憶内容16ビットの入力を受ける毎に、これを4×4
ビットの情報ビット(m11,m21,m31,m4
1)(m12,m22,m32,m42)(m13,m
23,m33,m43)(m14,m24,m34,m
44)に分割し、この情報ビットから3×4ビットの冗
長ビット(p11,p21,p31)(p12,p2
2,p32)(p13,p23,p33)(p14,p
24,p34)を作成する。
【0176】そして、4個の符号語(m11,m21,
m31,m41,p11,p21,p31)(m12,
m22,m32,m42,p12,p22,p32)
(m13,m23,m33,m43,p13,p23,
p33)(m14,m24,m34,m44,p14,
p24,p34)を、4×7配列の各行に並べ、図11
に示すように、7個のメモリセルに各々、m11とm1
2とm13とm14、m21とm22とm23とm2
4、m31とm32とm33とm34、m41とm42
とm43とm44、p11とp12とp13とp14、
p21とp22とp23とp24、p31とp32とp
33とp34を記憶する。
【0177】すなわち、図11において、メモリセル1
の1位ビットがm11、2位ビットがm12、3位ビッ
トがm13、4位ビットがm14となり、同様にメモリ
セル2にm21とm22とm23とm24、メモリセル
3にm31とm32とm33とm34、メモリセル4に
m41とm42とm43とm44、メモリセル5にp1
1とp12とp13とp14、メモリセル6にp21と
p22とp23とp24、メモリセル7にp31とp3
2とp33とp34が収められる。
【0178】各々の符号列は、1個の誤りが生じても訂
正が可能であり、したがって、図11に示すように、例
えば、3番目のメモリセルの長さ4のバースト誤りが生
じても、各符号列に対しては、各々1個の誤りとなるの
で、訂正が可能となる。すなわち、7個のメモリセルの
うち、1個のメモリセルの閾値電圧が変化して、例え
ば、”1000”の記憶内容が”0011”に変化する
バースト誤りが発生しても、訂正が可能となる。
【0179】(「書き込み方法:例4」の変形例1)こ
こでの対象とする装置は、各メモリセルの閾値電圧が、
記憶する4ビットの情報(0000,0001,001
0,0011,0100,0101,0110,011
1,1000,1001,1010,1011,110
0,1101,1110,1111)に対応して、16
値(0,1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15V)に設定される16値
メモリである。この変形例3においては、符号語を構成
する各ビットのうち、2個の誤りまでは誤り訂正が可能
な所定の線型符号化規則に従った場合について例示す
る。
【0180】本装置による書き換えにおいては、先ず、
記憶内容が所定ビット、例えば、pビットの入力を受け
る毎に、これを4つの(p/3)ビットの各情報ビット
に分割する。そして、各情報ビットから冗長ビットを得
て、2つの14ビットの符号語(m11,m21,m3
1,m41,m51,m61,m71,m12,m2
2,m32,m42,m52,m62,m72)(m1
3,m23,m33,m43,m53,m63,m7
3,m14,m24,m34,m44,m54,m6
4,m74)を作成する。すなわち、この14ビットの
各符号語のうち、各々所定数のビットが情報ビットであ
り、残りが誤り訂正用の冗長ビットである。
【0181】次に、14ビットの各符号語(m11,m
21,m31,m41,m51,m61,m71,m1
2,m22,m32,m42,m52,m62,m7
2)(m13,m23,m33,m43,m53,m6
3,m73,m14,m24,m34,m44,m5
4,m64,m74)を、各々7ビットずつの符号列
(m11,m21,m31,m41,m51,m61,
m71)(m12,m22,m32,m42,m52,
m62,m72)及び(m13,m23,m33,m4
3,m53,m63,m73)(m14,m24,m3
4,m44,m54,m64,m74)に分割する。そ
して、各符号列を、4×7配列の各行に並べ、図12
(A)に示すように、7個のメモリセルに各々、m11
とm12とm13とm14、m21とm22とm23と
m24、m31とm32とm33とm34、m41とm
42とm43とm44、m51とm52とm53とm5
4、m61とm62とm63とm64、m71とm72
とm73とm74を記憶する。
【0182】すなわち、図12(A)において、メモリ
セル1の1位ビットがm11、2位ビットがm12、3
位ビットがm13、4位ビットがm14となり、同様に
メモリセル2にm21とm22とm23とm24、メモ
リセル3にm31とm32とm33とm34、メモリセ
ル4にm41とm42とm43とm44、メモリセル5
にm51とm52とm53とm54、メモリセル6にm
61とm62とm63とm64、メモリセル7にm71
とm72とm73とm74が収められる。
【0183】各々の符号列は、1個の誤りが生じても訂
正が可能であり、したがって、図12(A)に示すよう
に、例えば、3番目のメモリセルの長さ4のバースト誤
りが生じても、各符号列に対しては、各々1個の誤りと
なり、このとき2つの符号列から構成される各符号語に
対しては、2個の誤りとなるので、訂正が可能となる。
すなわち、7個のメモリセルのうち、1個のメモリセル
の閾値電圧が変化して、例えば、”1000”の記憶内
容が”0011”に変化するバースト誤りが発生して
も、訂正が可能となる。
【0184】(「書き込み方法:例4」の変形例2)こ
こでの対象とする装置は、各メモリセルの閾値電圧が、
記憶する4ビットの情報(0000,0001,001
0,0011,0100,0101,0110,011
1,1000,1001,1010,1011,110
0,1101,1110,1111)に対応して、16
値(0,1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15V)に設定される16値
メモリである。この変形例4においては、符号語を構成
する各ビットのうち、1個の誤りまでは誤り訂正が可能
であり、2個の誤りまでは誤り検出が可能な符号化規則
に従った場合について例示する。
【0185】本装置による書き換えにおいては、先ず、
記憶内容が16ビットの入力を受ける毎に、これを4×
4ビットの情報ビット(m11,m21,m31,m4
1)(m12,m22,m32,m42)(m13,m
23,m33,m43)(m14,m24,m34,m
44)に分割し、ハミング符号化により、この情報ビッ
トから3×4ビットの冗長ビット(p11,p21,p
31)(p12,p22,p32)(p13,p23,
p33)(p14,p24,p34)を得る。
【0186】続いて、4個の符号列(m11,m21,
m31,m41,p11,p21,p31)(m12,
m22,m32,m42,p12,p22,p32)
(m13,m23,m33,m43,p13,p23,
p33)(m14,m24,m34,m44,p14,
p24,p34)の各々について、各ビット全てのEX
−ORを算出し、その結果として得られた各冗長ビット
q1,q2,q3,q4を各符号列に付加して、4個の
符号語(m11,m21,m31,m41,p11,p
21,p31,q1)(m12,m22,m32,m4
2,p12,p22,p32,q2)(m13,m2
3,m33,m43,p13,p23,p33,q3)
(m14,m24,m34,m44,p14,p24,
p34,q4)を作成する。
【0187】そして、これら4個の符号語を4×8配列
の各行に並べ、図12(B)に示すように、8個のメモ
リセルに各々、m11とm12とm13とm14、m2
1とm22とm23とm24、m31とm32とm33
とm34、m41とm42とm43とm44、p11と
p12とp13とp14、p21とp22とp23とp
24、p31とp32とp33とp34、q1とq2と
q3とq4を記憶する。
【0188】すなわち、図12(B)において、メモリ
セル1の1位ビットがm11、2位ビットがm12、3
位ビットがm13、4位ビットがm14となり、同様に
メモリセル2にm21とm22とm23とm24、メモ
リセル3にm31とm32とm33とm34、メモリセ
ル4にm41とm42とm43とm44、メモリセル5
にp11とp12とp13とp14、メモリセル6にp
21とp22とp23とp24、メモリセル7にp31
とp32とp33とp34、メモリセル8にq1とq2
とq3とq4が収められる。
【0189】各々の符号語は、1個の誤りが生じても訂
正可能であり、したがって、図12(B)に示すよう
に、例えば、3番目のメモリセルに長さ4のバースト誤
りが生じても、各符号語に対しては、1個の誤りとなる
ので、訂正が可能となる。すなわち、8個のメモリセル
のうち、1個のメモリセルの閾値電圧が変化して、例え
ば、”1000”の記憶内容が”0111”に変化する
バースト誤りが発生しても、訂正が可能となる。さら
に、極めて稀なことであるとは思われるが、例えば、も
う1つのメモリセルに1〜4のバースト誤りが生じた場
合、少なくとも1つの符号語に対しては、2個の誤りと
なるが、このとき当該2個の誤りを検出することがで
き、そのうち1個については訂正可能となる。
【0190】尚、上述の変形例3及び4に示した符号化
方法以外にも、有用であると考えられる方法がある。例
えば、先ず、64個の元データに”0”のデータを56
ビット付加して、合計120ビット長の情報ビットを得
る。続いて、120ビットの情報ビットから、127ビ
ット長のハミング符号を作成する。続いて、127ビッ
ト全てのEX−ORを算出し、その結果を追加128ビ
ット長の符号を得る。その後、先に追加した56ビット
の”0”を除去し、72ビット長の符号語を得る。この
ような符号化方法は、符号語を構成する各ビットのう
ち、1個の誤りまでは誤り訂正が可能であり、2個の誤
りまでは誤り検出が可能としており、主記憶装置用のS
EC/DED符号(single-error-correcting/double-e
rror-detecting code )として、頻繁に利用されてい
る。
【0191】ここで、1つの符号語について、1個の誤
りが生じても訂正が可能な具体例を説明する。下記の表
1は、4情報ビットに3検査ビットを付加したハミング
符号を示している。 〔表1〕 桁 1234567 ビットの重み CC8C421 0=0000000 1=1101001 2=0101010 3=1000011 4=1001100 5=0100101 6=1100110 7=0001111 8=1110000 9=0011001 10=1011010 11=0110011 12=0111100 13=1010101 14=0010110 15=1111111 桁 1234567 読み出し符号 0101100 (4,5,6,7) 桁パリティ ○○○○→0 (2,3,6,7) 桁パリティ ○○ ○○→ 1 (1,3,5,7) 桁パリティ ○ ○ ○ ○→ 1 誤りのある桁 011=3
【0192】この符号で、1、2、4桁目は検査ビット
であり、(1、3、5、7)、(2、3、6、7)及び
(4、5、6、7)の各桁の組で偶数パリティになるよ
うに検査ビットが決められている。例えば、10進数
「12」に対応する符号“0111100”を書き込ん
でおいたところ、誤りが発生して、“0101100”
と読み出された場合、表1に示したように、誤りがある
桁を2進数(この場合は011)で得ることができるの
で、誤りが発生しても容易に、かつ確実に訂正すること
ができる。
【0193】尚、この符号は、情報ビット数がさらに多
い場合にまで拡張することができ、n個の情報ビットに
対して必要な検査ビット数mは次式で表される。 2m =n+m+1 ・・・(1式)
【0194】以上の説明では、本発明を浮遊ゲート型の
メモリセルを有する不揮発性記憶装置に実施した場合を
例に挙げて説明をしたが、多値記憶を行わせるメモリセ
ルとしては、浮遊ゲート型のものに限らず、MNOS型
のものでも良い。また、本発明は、EEPROM以外に
も、EPROMやPROM、更には、例えば、電界効果
トランジスタのチャネル領域にイオン注入する不純物の
量を制御することによりしきい値を変化させて記憶状態
を得るマスクROMにも適用することが可能である。ま
た、4値と8値の場合を例に挙げたが、決してこの値に
限定されるものでもない。
【0195】さらに、本発明の書き込み方法はDRAM
にも適用できる。この場合、書き込み時にプリチャージ
を行うことは言うまでもない。
【0196】また、誤り訂正符号を得る方法として交錯
法を例に説明をしたが、メモリセルに記憶する情報量に
応じたバースト長の誤りを訂正できる誤り訂正符号であ
れば、交錯法以外の方法、例えば、巡回符号または短縮
化巡回符号でもよい。
【0197】一方、上述のようにして、メモリセルへ書
き込まれたデータを暗号鍵として図5のステップS40
0、図6のステップS402で読み出すには、図3のセ
ンス回路404を図13に示すような回路で構成すれば
良い。以下に図13に示すセンス回路404によりメモ
リセルに書き込まれたデータを暗号鍵として読み出す動
作を説明する。
【0198】多値メモリとして構成されたメモリセル2
02に設定された下位ビットに相当する閾値電圧Vth
1が、インバータ40、トランジスタ41、42からな
る出力バッファを介して、センスアンプ43の反転入力
端子に与えられる。センスアンプ43の非反転入力端子
には、トランジスタ47に設定された判定電圧V47
が、インバータ46、トランジスタ44、45からなる
出力バッファを介して与えられる。
【0199】閾値電圧Vth1が判定電圧V47より小
さい場合、センスアンプ43の出力は、Hightにな
るので、メモリセル202に記憶された下位ビットD0
は”1”と判定される。センスアンプ43の出力がHi
ghtなので、トランジスタ52がオンする一方、イン
バータ53によりトランジスタ54がオフする。したが
って、トランジスタ52に設定された判定電圧V52
が、インバータ51、トランジスタ49、50からなる
出力バッファを介して、センスアンプ48の非反転入力
端子に与えられる。そして、メモリセル202に設定さ
れた上位ビットに相当する閾値電圧Vth2が、出力バ
ッファ1を介して、センスアンプ48の反転入力端子に
与えられる。
【0200】閾値電圧Vth2が判定電圧V52より小
さい場合、センスアンプ48の出力はHightになる
ので、メモリセル202に記憶された上位ビットD1
は”1”と判定される。一方、閾値電圧Vth2が判定
電圧V52より大きい場合、センスアンプ48の出力は
Lowになるので、メモリセル202に記憶された上位
ビットD1は”0”として読み出される。
【0201】また、閾値電圧Vth1が判定電圧V47
より大きい場合、センスアンプ43の出力は、Lowに
なるので、メモリセル202に記憶された下位ビットD
0は”0”と判定される。センスアンプ43の出力がL
owなので、トランジスタ52がオフする一方、インバ
ータ53によりトランジスタ54がオンする。したがっ
て、トランジスタ52に設定された判定電圧V54が、
出力バッファを介して、センスアンプ48の非反転入力
端子に与えられる。そして、メモリセル202に設定さ
れた上位ビットに相当する閾値電圧Vth2が、出力バ
ッファを介して、センスアンプ48の反転入力端子に与
えられる。
【0202】閾値電圧Vth2が判定電圧V54より小
さい場合、センスアンプ48の出力はHightになる
ので、メモリセル202に記憶された上位ビットD1
は”1”として読み出される。一方、閾値電圧Vth2
が判定電圧V54より大きい場合、センスアンプ48の
出力はLowになるので、メモリセル202に記憶され
た上位ビットD1は”0”として読み出される。
【0203】このようにして、図5のステップS40
0、図6のステップS402で読み出された値が暗号鍵
として図4に示すメモリ304に記憶される。
【0204】尚、上記第1、第2の実施の形態では、メ
モリセル200としてEEPROMメモリセルを用いた
場合について説明したが、例えば、特開平8ー1243
78に開示されているFRAM(強誘電体)多値メモリ
セルを用いても良い。具体的には、ゲート絶縁膜に強誘
電体膜を用いた電解効果型トランジスタ(FEMFE
T)で図2の各メモリセル200を構成し、強誘電体膜
の分極状態が変わることにより各メモリセルのしきい値
電圧の変化を利用して、各1メモリセルに3値”
H”、”L”、”ーH”を記憶させる。FRAM(強誘
電体)メモリセルをメモリセル200として用いること
により、EEPROMメモリセルよりさらに複雑な暗号
鍵を構成することができ、第3者による不正な書き換え
に対する安全性が一層高まる。さらにメモリセル200
として、MNOS、マスクROM、EPROM、PRO
M、フラッシュ不揮発性メモリによる多値メモリセルを
用いてもよい。
【0205】(3)第3の実施の形態 本実施の形態において、上述した第1、2の実施の形態
と異なる点は、書換制御回路103の構成を、例えば、
図14に示すような構成としたことである。尚、ここで
は、第1の実施の形態と異なる点についてのみ具体的に
説明する。
【0206】すなわち、本実施の形態においては、書換
制御回路103は、信号線105からの命令信号が供給
される制御回路311と、制御回路311の制御プログ
ラムが格納されるプログラム用メモリ312と、論理集
積回路100の論理の破壊を目的とした命令信号のパタ
ーンデータ(基準信号)を複数種類記憶されるパターン
メモリ313とを具備している。そして、プログラム用
メモリ312には、例えば、図15に示すようなフロー
チャートに従った制御プログラムが予め設定されてお
り、この制御プログラムが制御回路311により読み出
され実行されることで、書換制御回路103は、以下の
ように動作する。
【0207】先ず、制御回路311は、信号線105を
介して外部から書換命令信号が入力されたか否かを判別
し(ステップS411)、該書換命令信号が入力された
場合には、次のステップS412に進み、入力されてい
ない場合には、書換命令信号入力待ち状態となる。
【0208】ステップS412では、制御回路311
は、入力された書換命令信号を受け取る。
【0209】そして、制御回路311は、パターンメモ
リ313に記憶されている複数種類のパターンデータの
中に、ステップS412で受け取った書換命令信号に対
応したパターンデータが存在するか否かを判別する(ス
テップS413)。具体的には、パターンメモリ313
には、論理集積回路100の論理の破壊を目的とした書
換命令信号(ウィルス)として考えられる信号に対応し
た複数種類のパターンデータが予め記憶されている。こ
のパターンメモリ313のパターンデータと、受け取っ
た書換命令信号のパターンデータとを比較することで、
該書換命令信号が書換命令信号(ウィルス)であるか否
かを知ることができる。
【0210】このようなステップS413の判別の結
果、受け取った書換命令信号に対応したパターンデータ
が存在した場合、制御回路311は、論理集積回路10
0の論理の破壊を目的とした書換命令信号(ウィルス)
が入力されたと認識し、該書換命令信号(ウィルス)を
無効として、何も行わずに前述したステップS411に
戻り、それ以降のステップ処理を繰り返し実行する。
【0211】一方、ステップS413の判別の結果、受
け取った書換命令信号に対応したパターンデータが存在
しない場合、制御回路311は、その受け取った書換命
令信号を有効とし、該書換命令信号に従って、複数のE
EPROMメモリセル202を書き換え(ステップS4
15)、前述したステップS411に戻り、それ以降の
ステップ処理を繰り返し実行する。
【0212】前述のように、本実施の形態では、外部よ
り書換命令信号を受け取ると、この書換命令信号が、論
理集積回路100の論理の破壊を目的とした書換命令信
号(ウィルス)であるか否かを判別し、その判別の結
果、書換命令信号(ウィルス)でなかった場合のみ、複
数のEEPROMメモリセル202の書き換えを行うよ
うにする。このように構成することで、論理集積回路1
00の論理の破壊を目的とした書換命令信号(ウィル
ス)が論理集積回路100に入力されたとしても、その
書換命令信号は、書換命令信号(ウィルス)であると判
別され、複数のEEPROMメモリセル202の書き換
えは行われないため、論理集積回路100の論理の不正
な書換えは不可能となる。したがって、本実施の形態に
おいても、論理集積回路100の不正な書換えによる論
理の破壊を確実に防ぐことができるので、書換可能な論
理集積回路100は論理の破壊に対して耐久性のあるも
のとして提供することができる。尚、パターンメモリ3
13に記憶するパターンデータは新しいウイルスパター
ンが発見され次第、パターンメモリ313に追加記憶す
ることにより論理の破壊に対する耐久性がさらに高ま
る。
【0213】尚、前述した第1、2及び第3の実施の形
態では、論理集積回路100をEEPROM型のものと
したが、これに限らず、例えば、SRAM型のものとし
てもよい。
【0214】(4)第4の実施の形態 本発明に係るの機密保持機能を備えた半導体装置は、例
えば、図16に示すような半導体装置500に適用され
る。
【0215】この半導体装置500は、前記図16に示
すように、マスクROM501aとEEPROM501
bと含む記憶装置501を具備し、情報を記憶するため
に必要な面積の小型化を図ることと、記憶内容を書き換
え可能にすることの両方をバランス良く可能にしてい
る。そして、マスクROM501aに暗号化された機密
内容のデータを記憶している。このマスクROM501
aに記憶した内容は暗号化してあるため、顕微鏡等を用
いて構造解析しても、記憶内容を解読することはほとん
ど不可能である。
【0216】また、半導体装置500は、SRAM型の
FPGA(Field Programmable Gate Array )502
と、演算装置であるCPU(中央演算装置)503とを
具備している。
【0217】ここで、FPGAとは、汎用論理集積回路
として広く使われるようになってきた大規模PLD(Pr
ogrammable Logic Device )のことであり、入力データ
を演算して出力データを得るための論理をユーザが電気
的にプログラムすることができる回路、すなわち論理を
電気的に書換可能な論理集積回路であり、しかもハード
的に演算を行うため高速な回路である。そこで、FPG
A502は、第1、第2及び第3の実施の形態における
論理集積回路100と同様の構成としており、前述した
ような論理防衛機能を有している。尚、FPGA502
の構成及びその機能については、第1、第2及び第3の
実施の形態における論理集積回路100と同様であるた
め、その詳細な説明は省略する。
【0218】さらに、記憶されたデータの外部出力先で
ある外部装置600が、出力端子509を介して接続さ
れている。外部装置600には、記憶再生装置601及
び記憶媒体602が設けられている。
【0219】マスクROM501aに記憶された機密内
容のデータの復号化の方法は、FPGA502が、CP
U503で用いる論理上のアドレスAD−1からマスク
ROM501aの構造上のアドレス(暗号化されてばら
ばらの位置に記憶された一群のデータを復号化して読み
出すためのアドレス)AD−2に変換することによって
行う。すなわち、FPGA502は、後述するように、
CPU503から出力された論理上のアドレスAD−1
の入力を受け、それをマスクROM501aの構造上の
アドレスAD−2に変換してマスクROM501aに出
力する。
【0220】以下に、半導体装置500の動作の一例
を、図17のフローチャートに基づいて説明する。
【0221】前記図17において、ステップS701で
電源が投入され、半導体装置500が記憶内容の外部出
力先と接続されると、ステップS702でCPU503
が動作し、記憶内容の外部出力先に対してFPGA50
2に設定する論理演算のプログラムPを指定するように
要求する。
【0222】この要求に応答して、記憶再生装置601
は、記憶媒体602から読み出したプログラムのデータ
を再生し、半導体装置500に送信する。次に、そのプ
ログラムをステップS703でデータI/O部504に
より受信すると、CPU503は、ステップS504で
受信したデータを解釈しながらFPGA502をプログ
ラムする論理演算のプログラムPを出力する。
【0223】尚、FPGA502は、前述した論理防衛
機能により、FPGA502をプログラムする論理演算
のプログラムP(例えば、ウィルスプログラムであった
の場合)によりFPGA502の論理が破壊されたか否
か、或いは、該プログラムPがウィルスプログラムのよ
うなFPGA502の論理の破壊を目的としたプログラ
ムであるか否かを判別することで、FPGA502の論
理の破壊を確実に防ぐようになされている。これによ
り、不正なデータが入力された場合は、半導体装置50
0に記憶されたデータを正しく出力できる状態にはなら
ないようになっている。FPGA2のプログラムは、前
述した命令信号に対応したものであり、予め多数配置さ
れているトランジスタをONにしたり、OFFにしたり
することで、AND回路やOR回路を任意に組むことに
よって行う。
【0224】ところで、予め固定のロジックを組んであ
る論理回路では、顕微鏡等を用いてゲートアレイの配線
を辿れば、AND回路やOR回路を識別することがで
き、その論理回路に設定されている論理を容易に解読す
ることができる。
【0225】これに対して、本実施の形態のように論理
防衛機能を有するFPGA502を用いた場合は、トラ
ンジスタにチャージされる電荷の有無によって任意のロ
ジックを後から組むので、顕微鏡等を用いて構造解析し
ても、設定された論理を解読することはほとんど不可能
であると共に、その論理を破壊することもほとんど不可
能である。
【0226】このプログラムが終了すると、次に、CP
U503は、ステップS705でデータの出力が可能に
なったことを示す信号をデータI/O部504を介して
外部出力先に送信する。これに対応して、外部出力先か
らあるアドレスのデータの出力が要求され、ステップS
6でそのアドレスをデータI/O部504で受信する
と、CPU503は、この受信したアドレスAD−1を
FPGA502に出力する。
【0227】すると、FPGA502は、ステップS7
で、ステップS704にて設定されたプログラムに基づ
いて、論理上のアドレスAD−1を基にマスクROM5
01aの構造上のアドレスAD−2を演算し、それをマ
スクROM501aに出力する。そして、次のステップ
S708で、マスクROM501aは、FPGA502
により演算された構造上のアドレスAD−2に従ってデ
ータDをCPU3に出力する。CPU503は、入力さ
れたデータDを、データI/O部504を介して外部出
力先に出力する。
【0228】このように、第4の実施の形態では、暗号
化された記憶内容を復号化するのにFPGA502を使
っているため、FPGA502のプログラムが終了した
後はデータの出力を高速に行うことができる。しかも、
そのデータ出力の間はCPU503はデータの出力のみ
を行っているので、CPU503は他の演算を行うこと
ができる。この場合、マスクROM501aに記憶され
たデータ等を用いて、CPU503が独自のデータ処理
を行うことができることは言うまでもない。さらに、F
PGA502は、EEPROMに比べて回路規模が小さ
く集積化が容易なので、半導体装置500は安価に提供
することができる。
【0229】また、FPGA502に論理防衛機能を持
たせることで、FPGA502に設定された論理の破壊
を確実に防ぐようになされているため、半導体装置50
0での正確な動作を常に保証することができ、半導体装
置500はより高性能に提供することができる。
【0230】尚、本実施の形態では、FPGA502と
してSRAM型のものを用いた。この場合、電源を切る
とFPGA502の記憶データが破壊されるため、電源
を再び入れたときにはFPGA502のプログラムをや
り直さなければならない。しかし、この問題はSRAM
型のFPGAの代わりに、EEPROM型のFPGAを
使用することによって回避することができる。
【0231】以下に、前記図16に示したEEPROM
501bに暗号化されたデータを記憶するための暗号化
動作の一例を、図18のフローチャートに基づいて説明
する。
【0232】前記図18において、ステップS710で
電源が投入され、半導体装置500が記憶すべきデータ
の外部入力元に備えられる、例えば、記憶再生装置60
1及び記憶媒体602と接続されると、ステップS71
1でCPU503が動作し、外部入力先に対してFPG
A502に設定する論理演算のプログラムを指定するよ
うに要求する。
【0233】この要求に応答して、記憶再生装置601
が記憶媒体602からプログラムデータを再生し、半導
体装置に送信する。次に、ステップS712で、そのプ
ログラムをデータI/O部504により受信すると、C
PU503は、ステップS713で受信したデータを解
釈しながらFPGA502をプログラムする。尚、上述
したように、FPGA502は、前述した論理防衛機能
を有するため、不正なデータが入力された場合は、半導
体装置500へデータを正しく入力できる状態にはなら
ないようになっている。
【0234】このプログラムが終了すると、次にCPU
503は、ステップS714で、データの出力が可能に
なったことを示す信号をデータI/O部504を介して
外部出力先に送信する。これに応答して、外部入力元か
らあるアドレスのデータの入力が要求され、ステップS
715でその論理上のアドレスAD−1をデータI/O
部504で受信すると、CPU503は、この受信した
論理上のアドレスAD−1をFPGA502に出力す
る。
【0235】すると、FPGA502は、ステップS7
16で、ステップS704(前記図20)にて設定され
たプログラムに基づいて、論理上のアドレスAD−1か
らEEPROM501bの構造上のアドレスAD−2を
演算し、それをEEPROM501bに出力する。そし
て、次のステップS717で外部入力元からデータをデ
ータI/O部504を介してCPU503に入力し、こ
れを構造上のアドレスAD−2としてEEPROM50
1bに記憶する。尚、ユーザが外部から暗号化キーを変
える場合には、FPGA502に記憶させておいてもよ
い。
【0236】このように、半導体装置500では、記憶
すべきデータを暗号化するのにも論理防衛機能を有する
FPGA502を使っているため、FPGA502のプ
ログラムが終了した後はデータの入力を高速に行うこと
ができ、正確なその動作を常に保証することができる。
しかも、そのデータ入力の間はCPU503を使ってい
ないので、CPU503は他の演算を行うことができ
る。
【0237】ここで、ステップS716でFPGA50
2による構造上のアドレスAD−2の演算方法の一例を
説明する。
【0238】例えば、EEPROM501bのアドレス
が0000hからFFFFhまであるとする。この場
合、EEPROM501bの容量に応じて記憶すべきデ
ータの順列が0000h番からFFFFh番まで存在す
る。そして、記憶すべきデータの順列を一定の法則に基
づいて並べ直し、EEPROM501bに記憶する。
【0239】具体的なデータの並べ直しの方法として、
下記の表1に示すように、例えば、ABABhのデータ
につき、ABABhを2進表示して(1010 101
11010 1011)2 とし、さらにこの値を左シフ
トして(0101 0111 0101 0111)2
とする。つまり、5757h番目に並べなおす。
【0240】
【表1】
【0241】並べ直されて生成された新しい順列で、外
部から与えられたデータがデータI/O部504、CP
U503を介してEEPROM501bの各番地に記憶
される。したがって、EEPROM501bに記憶され
るデータの順列は元のデータの順列とは異なる暗号化さ
れたものとなり、元のデータを解読するのは困難とな
る。
【0242】前記暗号化処理されて記憶装置600に記
憶されたデータを復号化(前記図8のステップS70
7)するには、CPU503からFPGA502に入力
された論理上のアドレスAD−1から左シフトした構造
上のアドレスAD−2を算出し、そのアドレスをデコー
ドするプログラムをFPGA502に書き込んでおけ
ば、このプログラムにより復号化されたデータを読み出
すことができる。
【0243】具体的なデータの並べ直しのさらなる方法
としては、前述した表1において、例えば、ABABh
番地のデータにつき、ABABh番地を2進表示して
(1010 1011 1010 1011)2 とし、
この値と適当に決めた乱数(1100 0110 11
11 0111)2 との排他的論理和をとって得た値
(0110 1101 0101 1100)2 、つま
り6B5Ah番目に並べ直す。
【0244】そして、並べ直され生成された新しい順列
で、外部から与えられたデータをデータI/O部50
4、CPU503を介してEEPROM501bの各番
地に記憶する。
【0245】例えば、個人情報を記憶する場合におい
て、新たな個人情報を追加したり、既存の個人情報を修
正したりしたいという要求が多くある場合には、マスク
ROM501aの容量を小さくするとともに、EEPR
OM501bの記憶容量を大きくすることで、書換え可
能なメモリ領域を大きくすることが可能である。なお、
EEPROM501bの代わりにDRAM等の揮発性メ
モリを用いることも可能である。
【0246】尚、前述した暗号化、復号化処理におい
て、EEPROM501bを用いた場合には、FPGA
502にアドレッシングのプログラムを書き込んでおけ
ばよい。
【0247】FPGAを利用した情報処理装置として
は、例えば特開平7−168750号公報に開示されて
いる。この装置では、プログラムデータが記憶されたメ
モリにFPGAが接続され、CPUの制御の下で、メモ
リに記憶されたプログラムデータに従ってFPGAの論
理回路を制御するようにしている。
【0248】しかし、前記公報の図1に示されたよう
に、この装置ではメモリに記憶されたFPGAによりC
PUと周辺機器との間でデータ通信を行うに過ぎないも
のであり、本実施の形態のように、FPGAに暗号化・
復号化プログラムを保持しておく。そして、CPUから
与えられたデータによりプログラムされたFPGAで暗
号化されたデータをメモリに記憶し、前記記憶された暗
号化データを復号することは開示されていない。また、
FPGAに論理防衛機能を持たせることで、装置での正
確な動作を常に保証することも開示されていない。
【0249】(5)第5の実施の形態 本発明に係る機密保持機能を備えた半導体装置は、例え
ば、図19に示すような半導体装置510に適用され
る。
【0250】この半導体装置510は、前記図19に示
すように、前述した第4の実施の形態における半導体装
置500と同様に、マスクROM511a及びEEPR
OM511bよりなる記憶装置511と、FPGA51
2と、CPU513とを具備しており、FPGA512
をデータの暗号化あるいは復号化を行うインタフェース
回路として用いている。また、FPGA512は、第4
の実施の形態におけるFPGA502と同様に、論理防
衛機能を有している。
【0251】本実施の形態において、第4の実施の形態
と異なる点は、外部出力先により指定されたアドレスが
CPU513から記憶装置511に直接入力されるとと
もに、そのアドレスに従って記憶装置511より出力さ
れる構造上のデータD−2がFPGA512によって論
理上のデータD−1に変換され、CPU513に入力さ
れていることである。
【0252】すなわち、本実施の形態においては、記憶
装置511に記憶されている機密データの復号化の方法
は、FPGA512が、マスクROM511aより読み
出された構造上のデータ(暗号化されたままのデータ)
D−2からCPU513で用いる論理上のデータD−1
に変換することによって行う。
【0253】換言すれば、FPGA512は、マスクR
OM511aからの構造上のデータD−2の入力を受
け、それをCPU513の論理上のデータD−1に変換
してCPU513に出力する。
【0254】半導体装置510の動作は、電源が投入さ
れ、データの出力が可能な状態となるまでは、前記図1
2のステップS701〜S705と同様である。しか
し、この第4の実施の形態では、その後の動作が第3の
実施の形態と異なる。
【0255】すなわち、図20に示すように、外部出力
先からあるアドレスのデータの出力が要求され、ステッ
プS706aでそのアドレスをデータI/O部514で
受信すると、CPU513は、この受信したアドレスを
FPGA512に出力する。
【0256】すると、FPGA512は、ステップS7
07aにおいて、ステップS704で設定されたプログ
ラムに基づいて論理上のデータを演算する。そして、次
のステップS708で前記演算した論理上のデータを、
CPU513から与えられたEEPROM511bのア
ドレスに記憶する。
【0257】一方、図21に示すように、FPGA51
2からあるアドレスのデータの出力が要求され、ステッ
プS715aでそのアドレスをデータI/O部514で
受信すると、CPU513は、この受信したアドレスA
Dを記憶装置511に出力する。
【0258】すると、FPGA512は、ステップS7
13で設定されたプログラムに基づいて、ステップS7
16aで構造上のデータD−2を演算する。そして、次
のステップS717で構造上のデータD−2をEEPR
OM511bのCPU513から与えられたアドレスに
記憶する。
【0259】このように、第5の実施の形態では、記憶
すべきデータを暗号化するのにも論理防衛機能を有する
FPGA512を使っているため、FPGA512のプ
ログラムが終了した後はデータの入力を高速に行うこと
ができ、その正確な動作を常に保証することができる。
しかも、そのデータを出力する間はCPU513はデー
タ入力しか行っていないので、CPU513は他の演算
を行うことができる。
【0260】ここで、前記図21のステップS716a
で行うFPGA512による構造上のデータの演算方法
の一例を説明する。
【0261】EEPROM511bの一つのアドレスに
つき一つのワード(語長)が取り出され、一つのワード
当たり16ビットのデータが含まれているとする。この
16ビットのデータを一定の法則に基づいて並べ直し、
EEPROM511bに記憶する。
【0262】例えば、ABABhという16ビットのデ
ータについて、ABABhを2進表示して(1010
1011 1010 1011)2 とし、さらにこの値
を左シフトして(0101 0111 0101 01
11)2 とする。つまり、データ5757hをEEPR
OM511bに記憶する。
【0263】この結果、EEPROM511bに記憶さ
れたデータは、元のデータとは異なる暗号化されたもの
となり、元のデータを解読するのは困難となる。前記暗
号化処理されてEEPROM511bに記憶されたデー
タを復号化(前記図15のステップS707a)するに
は、得られた16ビットのデータを左シフトするプログ
ラムをFPGA512に書き込んでおけば、このプログ
ラムにより復号化されたデータを読み出すことができ
る。
【0264】尚、この第5の実施の形態でも第4の実施
の形態と同様に、ユーザ側で記憶内容を電気的に自由に
書き換えたいとのニーズに対応するために、書換え可能
なEEPROM511bの記憶容量を大きくすることも
可能である。この場合は、FPGA512に暗号化のた
めのプログラムを設定し、CPU513から供給される
データをFPGA512で暗号化してEEPROM51
1bに供給するようにすれば良い。
【0265】また、前記暗号化、復号化処理において、
前記図19のEEPROM511bにデータを書き込ん
だ場合には、FPGA512にアドレッシングのプログ
ラムを書き込んでおけばよい。
【0266】また、第5の実施の形態でもFPGA51
2として、SRAM型のものを用いる形態を示している
が、この場合は、電源を切るとFPGA512の記憶デ
ータが破壊されるため、電源を再び入れたときにはFP
GA512のプログラムをやり直さなければならない。
しかし、この問題はSRAM型のFPGAの代わりにE
EPROM型のFPGAを使用することによって回避す
ることができる。
【0267】この場合には、FPGA512にプログラ
ムする複数のプログラムにそれぞれコードを割り当て、
FPGA512にプログラムする時にはこの複数のプロ
グラムから選択された1つのプログラムに従ってFPG
A512をプログラムする。このとき、プログラムのコ
ードも記憶しておく。
【0268】一旦プログラムされたFPGA512にア
クセスするときには、まず記憶されたプログラムコード
がCPU513を通じて外部機器に出力され、外部機器
はこのプログラムコードを元に、この半導体装置510
に対するアクセスの仕方を変更してアクセスする。すな
わち、半導体装置510と外部機器は、プログラムコー
ドを共通の鍵として使用し、秘密情報の解読を協調して
行うことができる。
【0269】例えば、外部機器の方で1バイトずつのア
ドレスに対して所定ビットずつビットシフトを施してこ
の半導体装置510に供給する。そして、FPGA51
2では、それを逆方向にビットシフトして記憶装置51
1に対するアドレスとすることで暗号化する場合に利用
できる。
【0270】この場合、EEPROM511bに記憶す
る内容自体は共通でも、ビットシフト量をFPGA51
2の書き込み時に変更することで複数の暗号化が達成で
き、頻繁にFPGA512を書き換えることにより、機
密性をより高めることができる。なお、実際の暗号化で
は、ビットシフトと逆シフトといったような単純な変換
ではなく、周辺機器側でより複雑な変換が行われる。
【0271】また、前記図16及び図19に示した半導
体装置500及び510において、記憶装置501及び
511には暗号化していないデータを記憶しておき、そ
れをFPGA502及びFPGA512で暗号化して出
力するようにすることも可能である。例えば、半導体装
置と外部出力先との間で行われる通信が傍受され機密内
容が漏れることを防止するため、通信内容を暗号化する
必要がある場合にこの方法を応用することができる。
【0272】この場合は、例えば、第4の実施の形態に
おいて、CPU503よりデータI/O部504を介し
て外部出力先に出力する機密データの暗号化は、次のよ
うに行う。例えば、CPU503は、外部出力先から受
信したデータを解釈しながら、暗号化を行うためのプロ
グラムをFPGA502にセットする。そして、FPG
A502が、CPU503から供給される論理上のアド
レスAD−1を構造上のアドレスAD−2に変換するこ
とによって行うようにしても良い。
【0273】さらに、例えば、第5の実施の形態におい
て、CPU513よりデータI/O部514を介して外
部出力先に出力する機密データの暗号化は、次のように
行う。例えば、CPU513は、外部出力先から受信し
たデータを解釈しながら、暗号化を行うためのプログラ
ムをFPGA20にセットする。そして、FPGA51
2が、その後マスクROM511aから読み出される構
造上のデータ(暗号化されていない)D−2からCPU
513で用いる論理上のデータ(暗号化されたデータ)
D−1に変換することによって暗号化を行う。
【0274】(6)第6の実施の形態 第6の実施の形態として、前記した第4の実施の形態と
第5の実施の形態とを組み合わせることにより、アドレ
スとデータとの両者をFPGAで暗号化・復号化する演
算を行い、その演算を常に正確に行うことを保証した装
置を考えることができる。この場合は、前記図16に示
したアドレス変換用のFPGA5022と、前記図14
に示したデータ変換用のFPGA512とを設け、それ
ぞれに対して適当なプログラムをセットすることで実現
することができる。
【0275】(7)第7の実施の形態 本発明に係る機密保持機能を備えた半導体装置は、例え
ば、図22に示すような半導体装置800に適用され
る。
【0276】この半導体装置800は、前記図22に示
すように、前記図19に示した半導体装置510にRF
部810及びアンテナ回路820を設けたものである。
尚、本実施の形態においては、記憶装置511としてマ
スクROM511aの他に、可変データを格納するEE
PROM511bを設けている。また、本実施の形態で
も、FPGA512に論理防衛機能を持たせた構成とし
ている。
【0277】アンテナ回路820は、コイル821とコ
ンデンサ822からなる並列共振回路からなり、半導体
装置の電源電力を図示しない端末機から受け取る機能
と、端末機との間でデータ信号の送受信を行う機能とを
兼ねたものであり、例えば、1MHz以上の高周波のキ
ャリア信号による無線の信号伝送を行うことができるよ
うにしている。
【0278】このような構成により、コイル821を通
じて端末機からの電波を受信すると、その受信電力がR
F部810に供給される。RF部810は高周波処理を
行うために設けられた回路であり、供給された受信電力
から内部で使用する電源電圧を発生するとともに、受信
電力中に含まれる信号成分を復調し、この復調した信号
をI/O部514に出力する。I/O部514から先の
動作は、前述した動作と同様である。
【0279】一方、半導体装置800から信号を出力す
る場合には、前述した動作と逆の動作となる。すなわ
ち、RF部810は、I/O部514から与えられた信
号成分をキャリアに重畳して高周波電流を生成する。そ
して、生成した高周波電流をアンテナ回路820に供給
し、端末機に向けて送信する。尚、端末機との間で信号
の送受信を行うときには、端末機から動作電力が送られ
ているので、半導体装置800は送信電力を得ることが
できる。
【0280】前述したように、本実施の形態における半
導体装置800は、端末機と非接触でデータの送受信を
行うことができるので、非接触型のICカードに内蔵す
る半導体装置として好適に使用することができる。ま
た、FPGA512に論理防衛機能を持たせているの
で、外部からの不正なデータによる記憶内容の破壊を確
実に防ぎ、正確な動作を常に保証した半導体装置として
好適に使用することができる。
【0281】例えば、交通手段における定期券として使
用した場合、端末機である改札口を非接触で通過するこ
とができるので、通行がスムースとなり、ラッシュアワ
ー時における改札口の混雑を大幅に緩和することができ
るようになる。このように、定期券として使用した場
合、定期券の有効期限等のように、内部に格納するデー
タを書き換える必要が生じる。また、この場合には、定
期券の記憶内容の破壊に対しても確実に防ぐことができ
る。例えば、第3者によりその記憶内容が書き換えられ
不正に使用されるということも防ぐことができる。
【0282】前記図17に示したように、本実施の形態
の半導体装置800は、マスクROM511aの他にE
EPROM511bを有しているので、EEPROM5
11bに可変データを格納するようにしておくことによ
り、何回でも繰り返し使用することができる。尚、デー
タを書き換える場合にも、非接触で行うことができるの
で、金属の接点を介してデータの送受を行う場合と比較
して、内蔵しているデータの秘密を保持し易い利点もあ
る。
【0283】また、本実施の形態の場合には、端子83
0を設けているので、端末機と接触して使用するICカ
ードとしても良好に使用することができる。尚、前記図
17においては、アンテナ回路820が装置本体から突
出して示しているが、アンテナ回路820は、実際には
装置本体の表面上に配置される。
【0284】尚、前述した実施の形態を実現するため
に、前記図3、図16、図19、及び図22の各デバイ
スを動作させるように、各デバイスと接続された装置或
いはシステム内のコンピュータ(CPU或いはMPU)
に対し、前述した実施の形態を実現するためのソフトウ
ェアのプログラムコードを供給し、そのコンピュータに
格納されたプログラムに従って前記各デバイスを動作さ
せることによって実施したものも本発明の範疇に入る。
【0285】この場合、前記ソフトウェアのプログラム
コード自体が前述した実施の形態を実現することにな
り、そのプログラムコード自体及びそのプログラムコー
ドをコンピュータに供給するための手段、例えば、その
プログラムコードを格納した記憶媒体は本発明を構成す
る。
【0286】例えば、図3において、制御回路301に
は記憶再生装置304及び記憶媒体305が接続され
る。記憶再生装置304により、記憶媒体305に格納
されているプログラムコードが読み出され制御回路30
1を動作させる。さらに、図16において、外部出力先
(外部入力先)に設けられる記憶再生装置601及び記
憶媒体602がデータI/O部504を介してCPU5
03に接続される。記憶再生装置601により、記憶媒
体602に格納されているプログラムコードが読み出さ
れデータI/O部504を介してCPU503を動作さ
せる。
【0287】前記プログラムコードを記憶する記憶媒体
としては、例えば、フロッピーディスク、ハードディス
ク、光ディスク、CD−ROM、磁気テープ、不揮発性
のメモリカード、ROM等を用いることができる。
【0288】
【発明の効果】以上説明したように本発明によれば、論
理防衛機能を有し、論理の破壊に対する耐久性のある電
気的に書換可能な論理集積回路を提供することができ
る。また、書換可能な論理集積回路を備える装置に対し
て、正確な動作を常に保証する機能を持たせることがで
きる。
【0289】また、記憶手段と、制御手段(中央演算装
置等)と、電気的に書き換え可能な論理手段とを備え、
前記論理手段は、論理防衛機能を有し、論理の破壊に対
する耐久性のあるものである。そして、暗号化、復号化
の際には、前記制御手段により設定される暗号化、復号
化プログラムに従って論理手段を書き換えるるようにす
るとともに、前記論理が書き換えられた論理手段により
記憶手段へ入力するデータの暗号化、及び前記暗号化さ
れたデータの復号を行うようにしたので、構造解析によ
って論理が解読されないようにする構成を従来よりも小
規模に実現することができると共に、そのときの正確な
動作を常に保証することができる。しかも、前記論理手
段に設定された論理がハードウェア的に実行されるので
処理を速くすることができ、その処理の間に制御手段で
他の処理を行うようにすることもできる。これにより、
記憶内容の機密保持機能、及び正確な動作を常に保証す
る機能を備え、高速な動作が可能でかつ安価な半導体装
置を提供することができる。
【0290】さらに、端末機に対して非接触でデータの
送受信を行うことができるので、内部に記憶しているデ
ータを不測に読み取られたり、破壊されたりする危険を
無くすことができる。これにより、例えば、ICカード
に内蔵して使用するのに好適な半導体装置を提供するこ
とができる。
【図面の簡単な説明】
【図1】第1の実施の形態において、本発明を適用した
論理集積回路の構成を示すブロック図である。
【図2】前記論理集積回路のPIAの構成を示す回路図
である。
【図3】前記PIAの各メモリセルの構成を示す回路図
である。
【図4】前記論理集積回路の書換制御回路の構成を示す
ブロック図である。
【図5】第1の実施の形態において、前記書換制御回路
により実行される処理プログラムの一例を説明するため
のフローチャートである。
【図6】第2の実施の形態において、前記書換制御回路
により実行される処理プログラムの一例を説明するため
のフローチャートである。
【図7】EEPROMメモリセルの構造を示す断面図で
ある。
【図8】本発明を適用した書き込み方法の一例(例2)
を説明するための図である。
【図9】本発明を適用した書き込み方法の一例(例3)
を説明するための図である。
【図10】前記書き込み方法(例3)の変形例1、2を
説明するための図である。
【図11】本発明を適用した書き込み方法の一例(例
4)を説明するための図である。
【図12】本発明を適用した書き込み方法の一例(例
4)の変形例1、2を説明するための図である。
【図13】センス回路の構成を示す回路図である。
【図14】第3の実施の形態における前記書換制御回路
の構成を示すブロック図である。
【図15】第3の実施の形態において、前記書換制御回
路により実行される処理プログラムの一例を説明するた
めのフローチャートである。
【図16】第4の実施の形態において、本発明を適用し
た半導体装置の構成を示すブロック図である。
【図17】第4の実施の形態において、前記半導体装置
の復号化動作の一例を示すフローチャートである。
【図18】第4の実施の形態において、前記半導体装置
の暗号化動作の一例を示すフローチャートである。
【図19】第5の実施の形態において、本発明を適用し
た半導体装置の構成を示すブロック図である。
【図20】第5の実施の形態において、前記半導体装置
の復号化動作の一例を示すフローチャートである。
【図21】前記半導体装置の暗号化動作の一例を示すフ
ローチャートである。
【図22】第7の実施の形態において、本発明を適用し
た半導体装置の構成を示すブロック図である。
【符号の説明】
100 論理集積回路 101 PIA 102X マクロセル 104X I/O回路 105 入力用信号線 106 出力用信号線

Claims (38)

    【特許請求の範囲】
  1. 【請求項1】 外部からの命令信号により論理が書き換
    え可能な論理集積回路と、 前記論理集積回路の現在の第1の論理状態に係わる第1
    の情報と、前記命令信号に含まれる前記論理集積回路の
    第2の論理状態に係わる第2の情報とを比較し、前記第
    1、第2の情報が一致しないときは前記論理集積回路の
    論理の前記第1の論理状態から第2の論理状態への書き
    換えを禁止する手段とを備えたことを特徴とする半導体
    装置。
  2. 【請求項2】 前記論理集積回路に含まれる複数論理素
    子の中で前記第1の論理状態を構成するために用いられ
    る第1の素子数、前記第1の論理状態を構成するために
    は用いられない第2の素子数、前記第1又は第2の素子
    数を示す信号に圧縮を施して得た符号、又は前記論理集
    積回路が前記第1の論理状態に書き換えられた日付けの
    少なくともいずれか一つを前記第1の情報として記憶す
    る記憶手段をさらに備えたことを特徴とする請求項1記
    載の半導体装置。
  3. 【請求項3】 外部からの命令信号により論理が書き換
    え可能な論理集積回路と、 前記命令信号に応じて、前記論理集積回路の現在の第1
    の論理状態に係わる第1の情報を検出し、前記現在より
    前の前記論理集積回路の第2の論理状態に係わる第2の
    情報と比較し、前記第1、第2の情報が一致しないとき
    は前記論理集積回路の論理が前記第2の論理状態から前
    記第1の論理状態へ書き換えられたと判定する判定手段
    とを備えたことを特徴とする半導体装置。
  4. 【請求項4】 前記判定手段は、前記論理集積回路の論
    理が書き換えられたと判定した場合に判定信号を出力す
    ることを特徴とする請求項3記載の半導体装置。
  5. 【請求項5】 前記判定手段は、定期的に前記判定動作
    を行うことを特徴とする請求項3記載の半導体装置。
  6. 【請求項6】 外部からの命令信号により論理が書き換
    え可能な論理集積回路と、 前記命令信号と少なくとも1つの基準信号とを比較し、
    前記命令信号と前記基準信号が同じ信号である場合に前
    記論理集積回路の論理の書き換えを禁止する禁止手段と
    を備えたことを特徴とする半導体装置。
  7. 【請求項7】 前記基準信号として複数種類の信号を予
    め記憶する記憶手段をさらに備え、 前記禁止手段は、前記命令信号と前記複数種類の信号と
    を比較することを特徴とする請求項6記載の半導体装
    置。
  8. 【請求項8】 前記論理集積回路は、各々が所定の演算
    機能を有する複数の演算手段と、 前記命令信号に従って前記複数の演算手段の相互配線を
    変更して前記論理を書き換える配線手段とを備えたこと
    を特徴とする請求項6記載の半導体装置。
  9. 【請求項9】 前記論理集積回路は、FPGA(Field
    Programmable GateArray )を含むことを特徴とする請
    求項6記載の半導体装置。
  10. 【請求項10】 前記論理集積回路は、制御ゲートと浮
    遊ゲートとを有する多値メモリを含むことを特徴とする
    請求項6記載の半導体装置。
  11. 【請求項11】 前記論理集積回路は、MNOS、マス
    クROM、EEPROM、EPROM、PROM、FR
    AM、及びフラッシュ不揮発性メモリの少なくともいず
    れか一つによる多値メモリを含むことを特徴とする請求
    項6記載の半導体装置。
  12. 【請求項12】 前記命令信号に応じて前記論理集積回
    路の論理を書き換える書き換え手段をさらに備えたこと
    を特徴とする請求項6記載の半導体装置。
  13. 【請求項13】 前記論理集積回路の論理を読み出す読
    み出し手段をさらに備えたことを特徴とする請求項6記
    載の半導体装置。
  14. 【請求項14】 外部からの命令信号により論理が書き
    換え可能な論理集積回路の現在の第1の論理状態に係わ
    る第1の情報と、前記命令信号に含まれる前記論理集積
    回路の第2の論理状態に係わる第2の情報とを比較し、 前記第1、第2の情報が一致しないときは前記論理集積
    回路の論理の前記第1の論理状態から前記第2の論理状
    態への書き換えを禁止するステップを含むことを特徴と
    する論理書き換え防止方法。
  15. 【請求項15】 外部からの命令信号により論理が書き
    換え可能な論理集積回路の論理書き換えを防止するプロ
    グラムをコンピュータにより読み出し可能に格納した記
    憶媒体であって、前記プログラムは、 前記論理集積回路における前記命令信号と少なくとも一
    つの基準信号とを比較するプログラムコード手段と、 前記命令信号が前記基準信号と同じ信号である場合に前
    記論理集積回路の論理の書き換えを禁止するプログラム
    コード手段とを備えたことを特徴とする記憶媒体。
  16. 【請求項16】 機密保持機能を有する半導体装置であ
    って、 少なくとも一時的に符号処理プログラムを保持し、前記
    符号処理プログラムに対応した命令信号を出力する制御
    手段と、 前記命令信号が与えられて前記プログラムに従って論理
    を変更して、少なくともデータ及び前記データに関わる
    アドレスの何れか一方に符号処理を施す論理が可変な論
    理手段と、 前記データを記憶する第1の記憶手段と、 前記論理手段の現在の第1の論理状態に係わる第1の情
    報と、前記命令信号に含まれる前記論理手段の第2の論
    理状態に係わる第2の情報とを比較し、前記第1、第2
    の情報が一致しないときは前記論理手段の論理の前記第
    1の論理状態から前記第2の論理状態への書き換えを禁
    止する手段とを備えたことを特徴とする半導体装置。
  17. 【請求項17】 機密保持機能を有する半導体装置であ
    って、 少なくとも一時的に符号処理プログラムを保持し、前記
    符号処理プログラムに対応した命令信号を出力する制御
    手段と、 前記命令信号が与えられて前記プログラムに従って論理
    を変更して、少なくともデータ及び前記データに関わる
    アドレスの何れか一方に符号処理を施す論理が可変な論
    理手段と、 前記データを記憶する第1の記憶手段と、 前記命令信号と少なくとも一つの基準信号とを比較し、
    前記命令信号と前記基準信号が同じ信号である場合に前
    記論理手段の論理の書き換えを禁止する禁止手段とを備
    えたことを特徴とする半導体装置。
  18. 【請求項18】 前記基準信号として複数種類の信号を
    予め記憶する第2の記憶手段をさらに備え、 前記禁止手段は、前記命令信号と前記複数種類の信号と
    を比較することを特徴とする請求項17記載の半導体装
    置。
  19. 【請求項19】 前記論理手段は、各々が所定の演算機
    能を有する複数の演算手段と、 前記命令信号に従って前記複数の演算手段の相互配線を
    変更して前記論理を書き換える配線手段とを備えたこと
    を特徴とする請求項17記載の半導体装置。
  20. 【請求項20】 前記論理手段は、FPGA(Field Pr
    ogrammable Gate Array )を含むことを特徴とする請求
    項17記載の半導体装置。
  21. 【請求項21】 前記論理手段は、制御ゲートと浮遊ゲ
    ートとを有する多値メモリを含むことを特徴とする請求
    項17記載の半導体装置。
  22. 【請求項22】 前記命令信号に応じて前記論理手段の
    論理を書き換える書き換え手段をさらに備えたことを特
    徴とする請求項17記載の半導体装置。
  23. 【請求項23】 前記論理手段の論理を読み出す読み出
    し手段をさらに備えたことを特徴とする請求項17記載
    の半導体装置。
  24. 【請求項24】 前記論理手段は、少なくとも暗号化及
    び復号化処理の何れか一方を含む前記符号処理を行うこ
    とを特徴とする請求項17記載の半導体装置。
  25. 【請求項25】 前記論理手段は、前記データが前記第
    1の記憶手段に記憶される前に少なくとも前記データ及
    び前記アドレスの何れか一方を暗号化する前記符号処理
    を行うことを特徴とする請求項17記載の半導体装置。
  26. 【請求項26】 前記論理手段は、前記データが前記第
    1の記憶手段から出力される際に少なくとも前記データ
    及び前記データに関わるアドレスの何れか一方を暗号化
    する前記符号処理を行うことを特徴とする請求項17記
    載の半導体装置。
  27. 【請求項27】 前記論理手段は、前記データが前記第
    1の記憶手段から出力される際に少なくとも前記データ
    及び前記データに関わるアドレスの何れか一方を復号化
    する前記符号処理を行うことを特徴とする請求項17記
    載の半導体装置。
  28. 【請求項28】 前記第1の記憶手段は、少なくともマ
    スクROM及び電気的に書き換え可能な不揮発性記憶装
    置の何れか一方を含むことを特徴とする請求項17記載
    の半導体装置。
  29. 【請求項29】 前記半導体装置は、 端末機との間で非接触で前記データの送受信を行うアン
    テナ手段と、 前記アンテナ手段の受信出力から電源電圧を発生し、且
    つ前記端末機から送られた信号を復調すると共に、前記
    端末機に送信する前記データを重畳した高周波電流を生
    成して前記アンテナ手段に出力する高周波処理手段とを
    備えたことを特徴とする請求項17記載の半導体装置。
  30. 【請求項30】 機密保持機能を有し、論理が変更可能
    な論理回路と、前記論理回路を制御する制御装置とを備
    えた半導体装置の符号処理方法であって、 前記制御装置に符号処理プログラムを供給する供給ステ
    ップと、 前記制御装置から前記プログラムに対応した命令信号を
    出力させる出力ステップと、 前記命令信号を前記論理回路に与えて前記プログラムに
    従って前記論理回路の論理を変更する論理変更ステップ
    と、 前記変更した論理によって少なくともデータ及び前記デ
    ータに関わるアドレスの何れか一方に符号処理を施す符
    号処理ステップと、 前記データを記憶装置に記憶するステップとを含み、 前記論理変更ステップは、 前記論理回路の現在の第1の論理状態に係わる第1の情
    報と、前記命令信号に含まれる前記論理回路の第2の論
    理状態に係わる第2の情報とを比較し、 前記第1、第2の情報が一致しないときは前記論理回路
    の論理の前記第1の論理状態から前記第2の論理状態へ
    の書き換えを禁止するステップを含むことを特徴とする
    符号処理方法。
  31. 【請求項31】 機密保持機能を有し、論理が変更可能
    な論理回路と、前記論理回路を制御する制御装置とを備
    えた半導体装置の符号処理方法であって、 前記制御装置に符号処理プログラムを供給する供給ステ
    ップと、 前記制御装置から前記プログラムに対応した命令信号を
    出力させる出力ステップと、 前記命令信号を前記論理回路に与えて前記プログラムに
    従って前記論理回路の論理を変更する論理変更ステップ
    と、 前記変更した論理によって少なくともデータ及び前記デ
    ータに関わるアドレスの何れか一方に符号処理を施す符
    号処理ステップと、 前記データを記憶装置に記憶するステップとを含み、 前記論理変更ステップは、 前記命令信号と少なくとも一つの基準信号とを比較し、 前記命令信号が前記基準信号と同じ信号である場合に前
    記論理回路の論理の書き換えを禁止するステップを含む
    ことを特徴とする符号処理方法。
  32. 【請求項32】 論理が変更可能であって、暗号化プロ
    グラム及び復号化プログラムの何れか一方が与えられ、
    前記プログラムに対応した命令信号により前記論理が変
    更され、前記変更された論理により信号を処理する論理
    手段を備えた機密保持機能を有する半導体装置であっ
    て、前記論理手段は、 前記命令信号により論理が書き換え可能な論理集積回路
    と、 前記命令信号と少なくとも一つの基準信号とを比較し、
    前記命令信号と前記基準信号が同じ信号である場合に前
    記論理集積回路の論理の書き換えを禁止する禁止手段と
    を備えたことを特徴とする半導体装置。
  33. 【請求項33】 前記論理集積回路は、3値以上の異な
    る記憶状態の一つを保持する複数の多値メモリセルを備
    え、 前記半導体装置はさらに、 前記第1、第2の情報が一致したときに、任意の符号化
    方法によって符号化された少なくとも第1の符号と第2
    の符号が与えられ、前記第1の符号を構成する複数の第
    1のビット情報と前記第2の符号を構成する複数の第2
    のビット情報のうち、桁が同じビット情報同士が一組と
    して前記複数の多値メモリセルの一つに記憶されるよう
    に前記複数の第1と第2のビット情報を並べ替える手段
    と、 前記並べ替えられたビット情報が与えられて、これらの
    情報に対応した複数の電圧を発生する手段と、 アドレス情報を受けて、前記電圧を前記複数の多値メモ
    リセルの内の前記アドレス情報に対応するメモリセルに
    印加して前記論理を書き換える手段とを備えたことを特
    徴とする請求項1記載の半導体装置。
  34. 【請求項34】 前記論理集積回路は3値以上の異なる
    記憶状態の一つを保持する複数の多値メモリセルを備
    え、 前記半導体装置はさらに、 前記命令信号が前記基準信号とは異なる場合に、任意の
    符号化方法によって符号化された少なくとも第1の符号
    と第2の符号が与えられ、前記第1の符号を構成する複
    数の第1のビット情報と前記第2の符号を構成する複数
    の第2のビット情報の内、桁が同じビット情報同士が一
    組として前記複数の多値メモリセルの一つに記憶される
    ように前記複数の第1と第2のビット情報を並べ替える
    手段と、 前記並べ替えられたビット情報が与えられて、これらの
    情報に対応した複数の電圧を発生する手段と、 アドレス情報を受けて、前記電圧を前記複数の多値メモ
    リセルの内の前記アドレス情報に対応するメモリセルに
    印加して前記論理を書き換える手段とを備えたことを特
    徴とする請求項6記載の半導体装置。
  35. 【請求項35】 前記ビット情報並替え手段は、前記一
    つの符号の誤り訂正能力に応じて、前記複数の多値メモ
    リセルの一つに記憶する同一符号におけるビットの数を
    制御することを特徴とする請求項34記載の半導体装
    置。
  36. 【請求項36】 前記ビット情報並替え手段は、前記複
    数の多値メモリセルの一つが記憶するビット数がmであ
    るときに、m個のビット情報を前記1個の多値メモリセ
    ルに記憶させるように、符号長nの符号m個をm×n配
    列の各行として並べ替えることを特徴とする請求項34
    記載の半導体装置。
  37. 【請求項37】 外部からの命令信号により論理が書き
    換え可能で、3値以上の異なる記憶状態の一つを保持す
    る複数の多値メモリセルを備えた論理集積回路の論理集
    積回路における前記命令信号と少なくとも一つの基準信
    号とを比較し、 前記命令信号が前記基準信号と同じ信号である場合に、
    前記論理集積回路の論理の書き換えを禁止し、 前記命令信号が前記基準信号とは異なる信号である場合
    に、第1の符号を構成する複数の第1のビット情報と前
    記第2の符号を構成する複数の第2のビット情報の内、
    桁が同じビット情報同士が一組として前記複数の多値メ
    メモリセルの一つに記憶されるように前記複数の第1と
    第2のビット情報を並べ替え、 前記並べ替えられたビット情報に対応する複数の電圧を
    発生し、 アドレス情報を受けて、前記電圧を、前記複数の多値メ
    モリセルの内の前記アドレス情報に対応するメモリセル
    に印加して、前記論理の書き換えを行うステップを含む
    ことを特徴とする論理書き換え方法。
  38. 【請求項38】 外部からの命令信号により論理が書き
    換え可能で、3値以上の異なる記憶状態の一つを保持す
    る複数の多値メモリセルを備えた論理集積回路の論理書
    き換えを防止するプログラムをコンピュータにより読み
    出し可能に格納した記憶媒体であって、前記プログラム
    は、 前記論理集積回路における前記命令信号と少なくとも一
    つの基準信号とを比較するプログラムコード手段と、 前記命令信号が前記基準信号と同じ信号である場合に、
    前記論理集積回路の論理の書き換えを禁止するプログラ
    ムコード手段と、 前記命令信号が前記基準信号とは異なる場合に、任意の
    符号化方法によって符号化された少なくとも第1の符号
    と第2の符号を入力するプログラムコード手段と、 前記第1の符号を構成する複数の第1のビット情報と前
    記第2の符号を構成する複数の第2のビット情報の内、
    桁が同じビット情報同士が一組として前記複数の多値メ
    メモリセルの一つに記憶されるように前記複数の第1と
    第2のビット情報を並べ替えるプログラムコード手段
    と、 前記並べ替えられたビット情報に対応する複数の電圧を
    発生するプログラムコード手段と、 アドレス情報を受けて、前記電圧を、前記複数の多値メ
    モリセルの内の前記アドレス情報に対応するメモリセル
    に印加して、前記論理を書き換えを行うプログラムコー
    ド手段とを備えたことを特徴とする記憶媒体。
JP12189398A 1997-09-05 1998-05-01 半導体装置、論理書き換え防止方法、論理書き換え方法、符号処理方法、及び記憶媒体 Expired - Fee Related JP3728098B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP12189398A JP3728098B2 (ja) 1997-12-12 1998-05-01 半導体装置、論理書き換え防止方法、論理書き換え方法、符号処理方法、及び記憶媒体
US09/168,116 US6260172B1 (en) 1997-09-05 1998-10-08 Semiconductor device with logic rewriting and security protection function

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9-363012 1997-12-12
JP36301297 1997-12-12
JP12189398A JP3728098B2 (ja) 1997-12-12 1998-05-01 半導体装置、論理書き換え防止方法、論理書き換え方法、符号処理方法、及び記憶媒体

Publications (2)

Publication Number Publication Date
JPH11232176A true JPH11232176A (ja) 1999-08-27
JP3728098B2 JP3728098B2 (ja) 2005-12-21

Family

ID=26459142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12189398A Expired - Fee Related JP3728098B2 (ja) 1997-09-05 1998-05-01 半導体装置、論理書き換え防止方法、論理書き換え方法、符号処理方法、及び記憶媒体

Country Status (1)

Country Link
JP (1) JP3728098B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005327187A (ja) * 2004-05-17 2005-11-24 Matsushita Electric Ind Co Ltd プログラム実行制御装置及びプログラム実行制御方法
JP2008077810A (ja) * 2006-09-25 2008-04-03 Toshiba Corp 不揮発性半導体記憶装置
JP2012503267A (ja) * 2008-09-22 2012-02-02 サムスン エレクトロニクス カンパニー リミテッド マルチレベルセルフラッシュメモリにおけるlsbページ復旧方法、その方法に用いるプログラム方法、およびその方法を用いるマルチレベルフラッシュメモリ

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005327187A (ja) * 2004-05-17 2005-11-24 Matsushita Electric Ind Co Ltd プログラム実行制御装置及びプログラム実行制御方法
WO2005114353A1 (ja) * 2004-05-17 2005-12-01 Matsushita Electric Industrial Co., Ltd. プログラム実行制御装置及びプログラム実行制御方法
JP4583808B2 (ja) * 2004-05-17 2010-11-17 パナソニック株式会社 プログラム実行制御装置及びプログラム実行制御方法
US8127351B2 (en) 2004-05-17 2012-02-28 Panasonic Corporation Program execution control apparatus and program execution control method
JP2008077810A (ja) * 2006-09-25 2008-04-03 Toshiba Corp 不揮発性半導体記憶装置
US8136014B2 (en) 2006-09-25 2012-03-13 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
US8239730B2 (en) 2006-09-25 2012-08-07 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
JP2012503267A (ja) * 2008-09-22 2012-02-02 サムスン エレクトロニクス カンパニー リミテッド マルチレベルセルフラッシュメモリにおけるlsbページ復旧方法、その方法に用いるプログラム方法、およびその方法を用いるマルチレベルフラッシュメモリ

Also Published As

Publication number Publication date
JP3728098B2 (ja) 2005-12-21

Similar Documents

Publication Publication Date Title
US10680809B2 (en) Physical unclonable function for security key
CN109670346B (zh) 半导体装置、产生和登记安全密钥的方法、以及电子系统
US10769309B2 (en) Apparatus and method for generating identification key
EP3407335B1 (en) Non-volatile memory based physically unclonable function with random number generator
US10193701B2 (en) Apparatus and method for processing authentication information
US8386990B1 (en) Unique identifier derived from an intrinsic characteristic of an integrated circuit
US9129671B2 (en) Semiconductor device identifier generation method and semiconductor device
US11183083B2 (en) Cryptographic device and memory based PUF
US6260172B1 (en) Semiconductor device with logic rewriting and security protection function
US20170279606A1 (en) Device bound encrypted data
CN1799104B (zh) 存储在非易失性存储器中的数据的完整性控制
JP2002328845A (ja) 半導体集積回路及びicカードのセキュリティー保護方法
TW201514750A (zh) 半導體積體電路及系統
US11924359B2 (en) Security device generating key based on physically unclonable function and method of operating the same
US11824967B2 (en) Electronic device using homomorphic encryption and encrypted data processing method thereof
CN103404077A (zh) 认证方、被认证方和认证方法
US7813507B2 (en) Method and system for creating random cryptographic keys in hardware
Jia et al. Extracting robust keys from NAND flash physical unclonable functions
CN101116081A (zh) 用于微处理器数据安全的方法和系统
CN108958650B (zh) 电子系统及其操作方法
KR20140026316A (ko) 인증 정보 처리 장치 및 방법
CN116170161B (zh) 基于铁电晶体管阵列的物理不可克隆函数电路及其应用
JP3728098B2 (ja) 半導体装置、論理書き換え防止方法、論理書き換え方法、符号処理方法、及び記憶媒体
US11050575B2 (en) Entanglement and recall system using physically unclonable function technology
US9531535B2 (en) Secure memories using unique identification elements

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050826

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050927

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050930

R154 Certificate of patent or utility model (reissue)

Free format text: JAPANESE INTERMEDIATE CODE: R154

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060417

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20060901

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

Free format text: PAYMENT UNTIL: 20091007

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091007

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101007

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111007

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20111007

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20111007

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121007

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121007

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131007

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees