JP3935515B2 - Semiconductor integrated circuit device with copy protection function - Google Patents

Semiconductor integrated circuit device with copy protection function Download PDF

Info

Publication number
JP3935515B2
JP3935515B2 JP00333395A JP333395A JP3935515B2 JP 3935515 B2 JP3935515 B2 JP 3935515B2 JP 00333395 A JP00333395 A JP 00333395A JP 333395 A JP333395 A JP 333395A JP 3935515 B2 JP3935515 B2 JP 3935515B2
Authority
JP
Japan
Prior art keywords
address
circuit
output
data
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP00333395A
Other languages
Japanese (ja)
Other versions
JPH08166908A (en
Inventor
隆則 志賀
智弘 中山
雅一 木村
信雄 生田
博之 藤本
佳幸 藤田
公二 上野
浩司 宍戸
豊 福谷
祐司 新山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP00333395A priority Critical patent/JP3935515B2/en
Priority to US08/509,641 priority patent/US5781627A/en
Priority to KR1019950023935A priority patent/KR100235390B1/en
Publication of JPH08166908A publication Critical patent/JPH08166908A/en
Application granted granted Critical
Publication of JP3935515B2 publication Critical patent/JP3935515B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、半導体集積回路装置に係り、特に、コピー防止機能を備えた読み出し専用メモリ(ROM)に関する。
ROMのうち、半導体集積回路のウエハプロセスにおいてROMデータをマスクにより固定化するマスクROMは、ゲーム機器やOA機器等において大量に使用されているが、殆どROMデータが保護されておらず、盗用で不正コピーが行われているという現実があった。
【0002】
そのため、マスクROMデバイスに不正コピー防止のためのシステムを作り込む必要があった。この場合、不正コピー防止の能力を高める必要があることはもちろんであるが、その一方で、デバイスがコスト高にならないように配慮し、また好ましくは、通常の工程の中で製造可能であることが要求される。
【0003】
【従来の技術】
従来、ROMのコピー防止に係る技術としては、例えば特開昭63−225839号公報、特開昭61−265649号公報、特開平1−173244号公報等に示されているものが知られている。
先ず、特開昭63−225839号公報に示されている技術では、特定の鍵パターンを回路内部に持ち、新たに入力した鍵パターンとの一致/不一致の判定を行うことでコピー防止機能を実現するようにしている(第1頁左欄第18行〜右欄第3行参照)。
【0004】
また、特開昭61−265649号公報に示されている技術では、ROMライタ等の安価な手段を用いてコピー防止機能を実現するようにしている(第1頁左欄第15行〜右欄第6行参照)。
また、特開平1−173244号公報に示されている技術では、ROMコードを利用したシステムにおいて一度ROMコードが破られると次回からは容易にコピーされるため(第1頁右欄第8行〜第11行参照)、特定アドレス相互間のアクセス順序を予め設定されたソフトウエア上のアクセス順序と比較することでコピー防止機能を実現するようにしている(第1頁右欄第19行〜第2頁左上欄第6行参照)。
【0005】
【発明が解決しようとする課題】
上述した特開昭63−225839号公報に示されている技術では、使用する際に新たに入力する特殊モード(ランダムパターン)が必要である(第2頁右下欄第8行〜第11行参照)。そのため、回路が複雑化し、またコスト高になるといった問題点がある。また、比較判定を行うメモリ部は不揮発性メモリに限定されるため(第2頁右下欄第19行〜第20行参照)、回路設計上不便が強いられるといった不利もある。また、鍵パターンを記憶するための別領域の設定が必要であるため、その領域を例えばチップ状態で電気的に呼び出してしまえば、その鍵パターンを簡単に入手できる(つまりコピーされる危険性がある)といった問題点がある。また、鍵パターンが単純な数字の組み合わせからなっている場合には、近年のハードウエアの高性能化及びその普及の実情を考慮すると、組み合わせの総当たりをデバイスに対し試みても大して時間がかからず、比較的簡単に鍵パターンが解読されるといった可能性もある。さらに、一度鍵パターンが解読されたROMを手に入れるとスクランブル解除の状態となるため、それ以降はROMのコピー防止機能は喪失されることになり、実際のコピー防止効果は初期の段階だけにとどまるといった問題点もある。
【0006】
また、特開昭61−265649号公報に示されている技術では、タイマー回路においてCE端子のホールドによりデータ保護を行うようにしているため(第2頁右上欄第17行〜左下欄第4行、同頁右下欄第12行〜第19行参照)、そのタイマー回路の作動アドレスが安易に発見され、それによって比較的短時間に防止機能が解除されるといった問題点がある。つまり、この技術では、本来の意味での完全なコピー防止機能を実現することはできない。
【0007】
また、特開平1−173244号公報に示されている技術では、特定アドレス相互間のアクセス順序が予めソフトウエア上で規定された順序の規模に制限されるため、大容量のデータを扱う時にコピー防止の効果が無くなる場合がある。また、アクセス順序の規定があるため、そのソフトウエアの開発に制約がかかることになり、その作業が煩わしく、またソフトウエアが比較的複雑になるといった問題点がある。また、本質的には、正常にソフトウエアを読むためにはそのソフトウエアを動作させているルーチンを解読すれば必ず解読情報が存在するはずであり、それ故、その解読情報を丹念に解読すればコピーされる危険性がある。さらに、アクセス順序の規定があるため、出荷試験や受入れ試験時に、単純な順序呼び出し試験ではコピー防止機能が作動してしまうため、アクセス順序に従った特別な試験を行う必要があるといった不利もある。
【0008】
このように従来知られている技術では、基本的なコピー防止の発想は教示されているが、いずれの技術も、ROMのコピー防止機能はソフトウエアによる対応又はハードウエアによる対応で実現されており、しかも、いずれも簡単にその機能を変更できるものでなく、盗用で不正コピーを働く者にとっては一時解析に時間がかかっても、比較的簡単に盗用されるおそれがあった。
【0009】
つまり、コピー防止機能をソフトウエアとハードウエアの両面から実現するようになっていなかったので、実質上はROMデータの盗用から保護できず、野放し状態となっていた。
言い換えると、半導体集積回路にコピー防止機能を搭載した場合、ソフトウエアをできるだけ制約せず、また半導体集積回路自体も特別な回路の増加や工程の追加を抑制しつつ、効果的な手段を実現する必要があった。
【0010】
上述した従来技術の問題点に対する要望事項をまとめると、概ね以下のようになる。
要望事項▲1▼……ソフトウエアへの制約を無くし、ソフトウエア本来の流れの中でソフトウエア開発後に、コピー防止機能でのトラップ領域を広範囲に亘って指定可能にしたい。
【0011】
要望事項▲2▼……半導体集積回路を生産するメーカの出荷試験時や発注側の受入れ試験時に、コピー防止機能が作動しないように、又は作動しても解除し易いようにしたい(しかしこれは、コピー防止機能の本来の目的に矛盾する)。
要望事項▲3▼……半導体集積回路の内部配線の直接的な変更、電気的信号解析等によりハードウエアを解析された場合に、その解析に基づくコピーの可能性を低くしたい。つまり、チップの内部配線の操作が可能となった現時点での技術解析手法では、集積回路内のコピー防止機能部分を容易に無効化されてしまうため、その危険性をできるだけ無くしたい。
【0012】
本発明の目的は、盗用で不正コピーを行うことを実質的に不可能にすることができるコピー防止機能付半導体集積回路装置を提供することにある
【0013】
【課題を解決するための手段】
本発明によれば、図2の原理構成図に示されるように、ユーザが使用するデータを格納する記憶手段1と、外部から入力されるアドレス情報に対して種々の論理的な処理を行い、前記記憶手段に対してアクセスを行う入力手段2と、前記記憶手段から前記データを出力する際に該データに対して種々の論理的な処理を行う出力手段3と、前記入力されたアドレス情報に対してそれぞれ属する複数の特定アドレス領域の情報を参照し、前記入力されたアドレス情報が該複数の特定アドレス領域のいずれの領域に対してアクセスを行ったかを検出しそのアクセス状態を記憶する検出/記憶手段6と、該記憶されたアクセス状態により前記入力されたアドレスの前記特定アドレス領域間の遷移条件を判断して、前記入力されたアドレスを加工または変更することにより、少なくとも前記出力手段に対して前記記憶手段から出力されるデータの内容を操作するように制御を行うデータ操作手段7と、を具備することを特徴とするコピー防止機能付半導体集積回路装置が提供される。
【0014】
本発明に係る半導体集積回路装置は、好適な実施態様では、マスクROM(ユーザが使用するデータを半導体集積回路のウエハプロセスで記憶手段に固定化するようにした読み出し専用メモリ)の形態を有している。
またこの場合、前記判定手段及び制御手段がそれぞれ実現する機能は、半導体集積回路のウエハプロセスで記憶手段にデータを固定化する処理と同等の手段、例えば、イオン注入処理、配線処理等により、可変に形成されてもよい。
【0015】
また、判定手段4により前記少なくとも1つの状態が前記特定の状態にあると判定された結果を保持する保持手段を更に具備してもよい。
【0016】
本発明の好適な実施態様では、前記検出/記憶手段は、前記入力情報が前記複数の特定アドレス領域のうち特定の領域に対して連続的にアクセスを行った回数を検出し記憶する。この場合、前記データ操作手段は、該記憶された回数の条件判断に基づいて出力データの内容を操作するように制御を行う。
またこの場合、前記データ操作手段は、前記検出/記憶手段に記憶された特定の領域に対するアクセスの回数が偶数回か奇数回かに応じて、出力データの内容を操作するように制御を行ってもよい。
【0017】
【作用】
本発明の第1の形態に係る構成によれば、判定手段4により少なくとも1つの状態(入力情報の状態、入力手段の論理の状態、出力手段の論理の状態、又は出力手段から得られるデータの状態)が特定の状態にあると判定された場合に、制御手段5は、少なくとも出力手段3に対して、記憶手段1に格納されているデータが正常に出力されるのを防止するように処理を行う。これによって、盗用で不正コピーを行うことを実質的に不可能な状態にすることができる。
【0018】
また、本発明に係る半導体集積回路装置がマスクROMの形態を有している場合に、半導体集積回路のウエハプロセスで記憶手段にデータを固定化する処理と同等の手段(例えば、イオン注入処理、配線処理等)を用いることにより、判定手段4及び制御手段5がそれぞれ実現する機能(すなわちコピー防止機能)を、必要に応じてソフトウエアとハードウエアの両面から同時に変更することができる。このことは、盗用に対して甚だしく解析を困難にするものであり、盗用で不正コピーを働こうとする者に対して極めて有効である。
【0019】
また、判定手段4により少なくとも1つの状態が特定の状態にあると判定された結果(例えば不正コピーが行われようとしたかどうかを指示する情報)を保持する手段を備えた場合には、盗用で不正コピーを働こうとする者に対して、その後の解析を困難にさせ、またその解析に要する時間を消費させることができる。これによって、盗用で不正コピーを行うことが困難もしくは実質的に不可能となる。
【0020】
また、本発明の第2の形態に係る構成によれば、検出/記憶手段6により、入力情報が複数の特定アドレス領域のいずれの領域に対してアクセスを行ったかが検出され、そのアクセス状態が記憶される。そしてこの記憶されたアクセス状態を条件判断することにより、データ操作手段7は、少なくとも出力手段3に対して、記憶手段1から出力されるデータの内容を操作するように制御を行う。これによって、盗用で不正コピーを行うことが実質的に不可能となる。
【0021】
なお、本発明の他の構成上の特徴及び作用の詳細については、添付図面を参照しつつ以下に記述される実施例を用いて説明する。
【0022】
【実施例】
図3には本発明の第1実施例に係るコピー防止機能付ROM装置の構成が概略的に示される。
図中、10は複数のワード線及び複数のビット線(共に図示せず)の交差部にROMセルが配設されてなるメモリセルアレイ、11は外部からの制御信号CONTに基づいて入力情報の取り込みタイミング及び出力データの取り出しタイミングを制御するための各種タイミング信号を発生するタイミング信号発生回路、12は複数ビットのアドレス信号A0〜Anのバッファリングを行うアドレスバッファ、13はアドレス信号A0〜Anのうち上位複数ビットのロウアドレス信号に基づいてメモリセルアレイ10内の複数のワード線のいずれかを選択するロウデコーダ、14はアドレス信号A0〜Anのうち下位複数ビットのコラムアドレス信号に基づいてメモリセルアレイ10内の複数のビット線のいずれかを選択するコラムデコーダ、15は選択されたビット線を対応するデータ線に接続するコラムゲート、16はデータ線上のデータをセンスし増幅するセンスアンプ、17はセンス増幅されたデータを外部に出力する出力バッファを示す。
【0023】
以上の構成は典型的なROMに用いられている回路要素である。また、以下に記述する20〜24の回路要素は、本発明の特徴事項をなす部分である。
20は判定情報としての特定アドレスが予め記憶されている特定アドレス記憶部、21は入力されたアドレス信号A0〜Anを上記特定アドレスと比較し、その一致/不一致に基づく結果を判定結果F1としてフラグ情報(フラグON/フラグOFF)の形で出力する比較・判定部、22は比較・判定部21の判定結果F1を保持するフラグ回路、23はフラグ回路22で保持された情報(制御用フラグ出力信号F2)に基づいて入力手段(11〜14の各回路要素)に対し入力情報の状態又は論理の状態を適宜加工し又は変更するための加工処理部、24は制御用フラグ出力信号F2に基づいて出力手段(15〜17の各回路要素)に対し出力データの状態又は論理の状態を適宜加工し又は変更するための加工処理部を示す。
図4には比較・判定部21及び特定アドレス記憶部20の一構成例が示され、図5にはその回路の使用形態の一例が示される。
【0024】
先ず、図4に示す回路は、高電位の電源ラインVcc(例えば5V)と低電位の電源ラインVss(例えば0V)の間に直列に接続され且つそれぞれVssの電位に応答する2つのnチャネルトランジスタ31及び32と、同様に電源ラインVcc及びVssの間に直列に接続され且つそれぞれVssの電位に応答する2つのnチャネルトランジスタ33及び34と、外部からのアドレス信号(1ビット)Aiに応答するインバータ35と、トランジスタ32のドレイン電圧(トランジスタ31のソース電圧)及びアドレス信号Aiに応答するANDゲート36と、トランジスタ34のドレイン電圧(トランジスタ33のソース電圧)及びインバータ35の出力に応答するANDゲート37と、各ANDゲート36及び37の出力に応答するORゲート38とを有している。
【0025】
なお、図4に示す回路はアドレス信号A0〜Anのうち任意の1ビット分Aiに対応した構成を示すもので、実際にはアドレスビットの数すなわち(n+1)個分の回路を備える必要がある。また、図示の構成において、トランジスタ31〜34が特定アドレス記憶部20に対応し、他の回路素子35〜38は比較・判定部21に対応している。
【0026】
かかる構成において、特定アドレスは、各トランジスタ31〜34をデプレッション型の動作モードに設定するか、通常のエンハンスメント型の動作モードに設定するかで決定することができる。なお、デプレッション型の動作モードは、nチャネルトランジスタのチャネル領域に砒素(As)やリン(P)等のイオン原子を注入することにより、実現され得る。
【0027】
図5(a)に各トランジスタ31〜34の動作モードの設定例が示される。
同図に示すように、トランジスタ32及び33をデプレッション型に設定し、トランジスタ31及び34をエンハンスメント型に設定した場合、▲1▼の状態を実現することができる。この▲1▼の状態では、入力アドレスAiが“0”の時にANDゲート37が有効となるので、デプレッション型トランジスタ33を通して電源電圧Vcc(つまり“1”)が、ANDゲート37及びORゲート38を介して出力される。つまり、入力アドレスAiが“0”の時に特定アドレス“1”との一致が検出(フラグONの判定結果F1が出力)されたことになる。
【0028】
また、トランジスタ31及び34をデプレッション型に設定し、トランジスタ32及び33をエンハンスメント型に設定した場合、▲2▼の状態を実現することができる。この▲2▼の状態では、入力アドレスAiが“1”の時にANDゲート36が有効となり、デプレッション型トランジスタ31を通して電源電圧Vcc(つまり“1”)が、ANDゲート36及びORゲート38を介して出力される。つまり、入力アドレスAiが“1”の時に特定アドレス“1”との一致が検出(フラグONの判定結果F1が出力)されたことになる。
【0029】
また、トランジスタ31及び33をデプレッション型に設定し、トランジスタ32及び34をエンハンスメント型に設定した場合、▲3▼の状態を実現することができる。この▲3▼の状態では、入力アドレスAiが“0”又は“1”の時にANDゲート37又は36が有効となり、デプレッション型トランジスタ33又は31を通して電源電圧Vcc(つまり“1”)が、ANDゲート37又は36及びORゲート38を介して出力される。つまり、入力アドレスAiが“0”,“1”の時に特定アドレス“1”との一致が検出(フラグONの判定結果F1が出力)されたことになる。
【0030】
図5(b)には特定アドレスの設定例が示される。
例えば、04番地「0100」のアドレスを設定する場合、4ビットのアドレスA3,A2,A1及びA0に対応する各回路(図4参照)に対して、それぞれ▲1▼,▲2▼,▲1▼及び▲1▼の状態となるように各トランジスタ31〜34をデプレッション型もしくはエンハンスメント型に設定すればよい。同様に、11番地「1011」のアドレスを設定する場合、4ビットのアドレスA3,A2,A1及びA0に対応する各回路に対して、それぞれ▲2▼,▲1▼,▲2▼及び▲2▼の状態となるように各トランジスタ31〜34をデプレッション型もしくはエンハンスメント型に設定すればよい。
【0031】
また、04番地「0100」と05番地「0101」の2つのアドレスを設定する場合、4ビットのアドレスA3,A2,A1及びA0に対応する各回路(図4参照)に対して、それぞれ▲1▼,▲2▼,▲1▼及び▲3▼の状態となるように各トランジスタ31〜34をデプレッション型又はエンハンスメント型に設定すればよい。つまりこの場合、2つのアドレスをまとめて、1つのアドレス領域として設定することができる。
【0032】
なお、図4に示す回路では、特定アドレス(又は特定アドレス領域)の設定はトランジスタをデプレッション型に設定することで実現しているが、このデプレッション型に設定すべきトランジスタに代えて、アルミニウム等の金属配線やポリシリコン等の配線を用いてもよい。また、図4の回路はトランジスタ素子やゲート素子を用いて構成されているが、例えば、ヒューズ素子やROM,RAM等を用いて構成することも可能である。例えば、トランジスタの部分をヒューズ素子で構成した場合、プロービングテスト(PT)の段階で同時に特定アドレスを設定することになる。
【0033】
図6にはフラグ回路22の一構成例が示される。
図中、41は2つの入出力ノードA及びBを有する双安定回路としてのフリップフロップを示し、内部電源ラインVcc’と低電位の電源ラインVssの間に直列に接続され且つそれぞれ入出力ノードAの電位に応答するCMOS構成のpチャネルトランジスタQP1及びnチャネルトランジスタQN1と、同様に内部電源ラインVcc’及びVssの間に直列に接続され且つそれぞれ入出力ノードBの電位に応答するCMOS構成のpチャネルトランジスタQP2及びnチャネルトランジスタQN2とを備えて構成されている。一方のCMOSトランジスタQP1,QN1の各出力端は入出力ノードBに接続され、他方のCMOSトランジスタQP2,QN2の各出力端は入出力ノードAに接続されている。
【0034】
また、42は比較・判定部の判定結果F1をフリップフロップ41のノードAに伝達するダイオード、43はダイオード42の出力端と電源ラインVssの間に接続されたキャパシタ、44はフリップフロップ41のノードBに現れる信号を制御用フラグ出力信号F2として加工処理部23,24(図2参照)に伝達するダイオード、45は本実施例のROM装置に供給される電源電圧Vccをフリップフロップ41の内部電源ラインVcc’に伝達するダイオード、46はダイオード45の出力端と電源ラインVssの間に接続されたキャパシタを示す。
【0035】
なお、各キャパシタ43,46は、半導体集積回路のウエハプロセスで形成されるMOSキャパシタの形態を有している。かかるプロセスは、当業者には一般に知られた手段を用いて実現され得るので、その説明は省略する。
図6に例示する回路構成によれば、比較・判定部の判定結果F1は、ダイオード42を介してフリップフロップ41のノードAに保持される。そして他方のノードBから、ノードAに保持された情報を論理反転した信号が、ダイオード44を介して制御用フラグ出力信号F2として出力される。
【0036】
また、フリップフロップ41の一方のノードAにのみキャパシタ43が接続されているので、電源投入時にはフリップフロップ41の状態(つまりノードA及びノードBの論理状態)を一義的に且つ安定に決定することができる。これによって、正常動作させる場合に、電源投入時にデータを正常に読み出すことが可能となる。
【0037】
さらに、内部電源ラインVcc’にキャパシタ46が接続されているので、電源電圧Vccが一度切られても、キャパシタ46の充電電荷により、電源オフ時から所定期間の間、フリップフロップ41にラッチされたデータを保持することができる。
なお、図6に示す回路構成では、比較・判定部の判定結果F1を保持する手段として双安定回路(フリップフロップ41)を用いたが、かかる保持手段はこれに限定されない。例えば、状態を元の状態に戻せないヒューズ素子等の不可逆素子や、何らかの手段で元の状態に戻せるEPROM、EEPROM等の可逆素子を用いることも可能である。
【0038】
また、図6の回路構成ではダイオード42,44及び45を用いたが、かかるダイオードに代えて、同等の整流機能を有する素子、例えば、通常のMOSトランジスタをダイオード接続したものを用いてもよい。
図7には出力手段用の加工処理部24の一構成例が示される。
図示の構成はCR型発振回路の構成を示すもので、抵抗器50と、一方の入力に抵抗器50を介して信号が入力され且つ他方の入力に制御用フラグ出力信号F2が入力されるNANDゲート51と、該NANDゲートの出力に応答するインバータ52と、該インバータの出力を抵抗器50にフィードバックするキャパシタ53(容量値をCtとする)と、インバータ52の出力に応答するインバータ54と、該インバータの出力を抵抗器50にフィードバックする抵抗器55(抵抗値をRtとする)とを有している。インバータ54の出力端OUTより得られる発振信号の周波数は、Ct・Rtの値で決定される。
【0039】
かかる構成の発振回路を加工処理部24に内蔵することにより、比較・判定部21の判定結果F1(フラグONの信号)がフラグ回路22を通して本回路に入力されると(フラグONの信号F2)、発振動作を開始し、集積回路内部の電源系に大きなノイズをひき起こす。これによって加工処理部24は、出力手段15〜17に対し、メモリセルアレイ10に格納されているROMデータの読み出しを不安定な状態に設定することができる。つまり、盗用で不正コピーを行うことを実質的に不可能とすることができる。
【0040】
図8には本発明の第2実施例に係るコピー防止機能付ROM装置の構成が概略的に示される。
図示の構成が第1実施例の構成(図3参照)と比べて異なる点は、▲1▼特定アドレス記憶部20に代えて、メモリセルアレイ10のデータに対応付けられたアドレスがそれぞれ属する複数の特定アドレス領域の情報を格納する特定アドレス領域記憶部20aを設けたこと、▲2▼比較・判定部21に代えて、同様の機能を備えた比較・判定部21aを設けたこと、▲3▼加工処理部23,24に代えてそれぞれ同様の機能を備えた入力操作回路23a及び出力操作回路24aを設けたこと、である。
【0041】
比較・判定部21aでは、入力情報(アドレス信号A0〜An)と複数の特定アドレス領域の情報との比較に基づいて、いずれの特定アドレス領域に対してアクセスが行われたかが検出され、またそのアクセス状態(アクセス回数、アクセス順序等)の条件判断が行われる。この条件判断の結果は、判定結果F1としてフラグ情報(フラグON/フラグOFF)の形で出力される。また、本実施例に係る出力操作回路24aは、センスアンプ16と出力バッファ17の間に接続され、フラグ回路22で保持された情報(制御用フラグ出力信号F2)とアドレス信号A0〜Anに基づいて出力データの内容を操作する。つまり、出力操作回路24aは、本来出力されるべきデータと異なるように論理を加工したり、あるいは、後述するように出力データそれ自体を破壊する。
【0042】
以下、コピー防止の具体的な実行例について、図9〜図17を参照しながら説明する。
(1)前述した従来技術に対する要望事項▲1▼に対処する手段として
通常、ソフトウエアは、メインプログラム部とサブプログラム部、又はプログラム部とデータ部、又は独立したデータのブロックのように、データをアドレス領域に分割できる。この場合、各々のアドレス領域の内部を更に細かい領域に分割することも可能であり、この細かいアドレス領域同士は連続している必要はない。
【0043】
そこで本実施例では、図9に一例として示すように、データがそれぞれ属するアドレスを複数の特定アドレス領域(図示の例ではA群、B群及びC群の3つ)に分割し、比較・判定部21aにより、入力情報(アドレス信号A0〜An)がいずれの特定アドレス領域を通過したか(つまりアクセスが行われたか)を検出し、該検出を記憶した状態を「フラグON」とし、入力アドレスが当該特定アドレス領域に属するアドレスでない場合、又は上記記憶を解除した状態を「フラグOFF」とする。このフラグON/OFFの情報はフラグ回路22で保持され、それに基づいて出力操作回路24aが機能する。
【0044】
図示の例では、A群の特定アドレス領域に「フラグON」する機能を持たせ、B群の特定アドレス領域に「フラグOFF」する機能を持たせている。また、C群の特定アドレス領域については、特にフラグON/OFFの機能を持たせていない。なお、A群、B群、C群に共通なアドレス領域は存在しないものとする。またC群は、A群、B群以外の全ての領域としてもよいし、又はその一部と設定してもよい。
【0045】
入力アドレスがある特定アドレス領域を通過した場合、その領域に属するアドレスであれば「フラグON」状態となるが、この時、その同じ領域内をアクセスし続ける限り(図9における連続呼び出し)、「フラグON」状態であってもコピー防止機能を作動させないようにする(つまり、出力操作回路24aを機能させない)。
【0046】
そしてこの領域から他の領域に呼び出された時、「フラグOFF」の機能を持つ領域(図9の例ではB群)のアドレスを通過しない限り、呼び出しデータ(つまり出力データ)の内容は、コピー防止のための何らかの操作を受けることになる。この場合、各特定アドレス領域間の呼び出しについては、規定されていない呼び出し方法の場合のみ、出力操作回路24aを作動させるようにする。
【0047】
また、通常の使用状況ではA群からC群へのアドレス呼び出しが有り得ないように、アドレス領域を設定する。さらに、図9において、電源投入時又は、本ROM装置の初期状態をフラグON状態としておき、B群から呼び出しを行うようにしてもよい。
図10には第2実施例に係るコピー防止の第1実行例が例示される。
【0048】
図中、▲1▼,▲2▼及び▲3▼で示される部分は、▲1▼から▲1▼へ、▲2▼から▲2▼へ、また▲3▼から▲3▼へアドレスの呼び出しがとぶことを示している。従って、図示の例では、実際の呼び出し順序は、アドレス00,01〜05,12〜15,06〜11と順序となる。なお、●で示される部分はフラグON状態を表している。
このように実行例1によれば、実際の呼び出しでは、04,05番地でフラグONしても、12番地へ飛び、この番地はB群なのでフラグOFFとなる。このため、呼び出されたデータは何らの操作も受けないことになる(つまりデータが正常に出力される)。
【0049】
また、単純コピーの場合には、04,05番地でフラグONし、06番地以降12番地のB群でフラグOFFするまで、呼び出されたデータは、何らかの操作を受けることになる(つまりコピー防止のためのデータ操作が行われる)。
図11には上述した第1実行例に係る特定アドレス領域検出回路の一構成例が示される。
【0050】
図示の例では、4つのアドレスA0〜A3の16ビットROMを想定した場合の構成が示される。同図において、60〜63はそれぞれ図4に示した回路構成と同じ構成を有する一致検出回路を示し、これら一致検出回路の各出力はANDゲート64に入力される。このANDゲート64の出力は、入力アドレスA3〜A0が例えばA群のアドレス領域に属するアドレスの時は“1”レベル(フラグON)を呈し、A群のアドレス領域に属さない(つまり他のアドレス領域に属する)アドレスの時は“0”レベル(フラグOFF)を呈する。
【0051】
図12には第2実施例に係るコピー防止の第2実行例が例示される。
ある特定アドレス領域を通過した場合、その領域に属するアドレスであれば、前述したようにフラグON状態となるが、この時、その領域内を連続的に呼び続けた回数(つまりアクセスした回数)を記憶しておくようにする。そして、この記憶された回数が規定の回数以外であれば、それ以後、当該領域の内外にかかわらず、フラグON状態を有効としておけば、呼び出されたデータは何らかの操作を受けることになる。なお、この場合、フラグOFF状態となる領域を設定するかどうかは任意とする。
【0052】
また、アクセス回数を記憶することは、ソフトウエア上制約がある場合も考えられるので、連続的に呼び続けた回数を偶数回か奇数回かで判断するようにしてもよい。この場合、当該領域の外部に飛び出た段階でフラグON状態となり、呼び出されたデータは何らかの操作を受けることになる。同様に、フラグOFF状態となる領域を設定するかどうかは任意とする。
【0053】
図12に示す第2実行例の場合、A群が3回呼び出されると設定しておけば、単純コピーの場合、06番地を呼び出した段階でフラグONとなり、以降、A群に属する11番地通過後、回数カウントの初期化が行われていない場合は、正常に復帰しない。また、偶数回呼び出しを異常状態と設定しておけば、11番地を通過した時に正常に復帰する。
【0054】
なお、回数のカウントは、図11に示した回路におけるANDゲート64の出力(“1”又は“0”)を利用して計数カウンタ等を用いて行うことができる。また、偶数回か奇数回からの判定処理は、単純なフリップフロップ等を用いて実現することが可能である。
図13、図14及び図15には、それぞれ第2実施例に係るコピー防止の第3実行例、第4実行例及び第5実行例が例示される。各図において、(a)は出力操作回路24aの構成例、(b)はその入出力信号値の関係を示す。
【0055】
図13の例では、ORゲート70を用いて、フラグ信号(F2)と正規出力信号の組み合わせにより、出力値のデータ破壊を行うようにしている。
また、図14の例では、インバータ80及び2個のnチャネルトランジスタ81,82を用いて、フラグ信号(F2)とアドレス信号(A0)と正規出力信号の組み合わせにより、出力値のデータ破壊を行うようにしている。
【0056】
また、図15の例では、インバータ90及び4個のnチャネルトランジスタ91〜94を用いて、フラグ信号(F2)と2つの正規出力信号1,2の組み合わせにより、出力値のデータ破壊を行うようにしている。つまりこの例では、フラグON時に正規出力信号1と正規出力信号2を互いに入れ換えて出力するようにしている。
【0057】
(2)前述した従来技術に対する要望事項▲2▼に対処する手段として
通常の半導体集積回路は、メーカから出荷時点で出荷試験を行い、正常に動作していることを確認の上、出荷している。また、納入された発注側も、簡易な試験で動作チェックを行い、さらに基板実装試験等を行うことがある。
これらの場合、半導体集積回路自体の動作チェックは、単純な呼び出しパターンで行われ、実機相当で実際の動作パターンの発生がこのような出荷試験や受入れ試験相当で発生させることが難しい。そのため、コピー対策機能を搭載した半導体集積回路を作製しても、試験費用や信頼性の保証が難しく、一般に普及し難い。
【0058】
これに対し本実施例に係る方法を使用すれば、フラグOFFする特定アドレス領域の場所が一部でもわかれば、そのアドレス領域と呼び出したい領域を例えば交互に呼び出せば、全アドレスの正常試験が可能となる。
また、B群と呼び出したいアドレスを交互に呼び出せばよい。もし、偶数回呼び出しを設定していたならば、同一アドレスを連続して偶数回呼び出しておけばコピー対策機能は動作しない。
【0059】
このような手法によれば、特定ビットではないため、呼び出し方法の制限も小さく、試験時間は若干延びるが、特殊な専用試験装置等な用いる必要がないという利点が得られる。また、B群の領域を小さくしておけば、不法なコピーを行う側が、B群の領域を安易に発見できないと考えるが、その対策も含めて、以下、前述した要望事項▲3▼に対処する手段について記述する。
【0060】
(3)前述した従来技術に対する要望事項▲3▼に対処する手段として
近年の半導体集積回路を解析する装置の高機能化及び高速化に伴い、コピー防止機能を搭載した半導体集積回路は比較的簡単に解析されている。本実施例の場合でも、フラグONする機能を持つ回路が解析され、チップ上の回路配線を直接修正され、その結果、常にフラグOFFとなった場合も想定され得る。
【0061】
これに対処するため、本実施例では、配線を多層化し、回路修正を行おうとしても上部配線層で加工できないようにする。
また、別の手段として、ソフトウエア製作者が何らかの呼び出しデータの内容の操作を理解している場合には、その「何らかの呼び出しデータの内容の操作」によって出力されたデータが、ソフトウエア製作者が本来必要としていたデータとなるように、初期作製データを意図的に変換することが考えられる。
【0062】
この手法による利点としては、集積回路自体のコストがそれほど上昇しない、チップから直接フラグ回路を動作不能にしてデータを呼び出してもそのデータは本来の正常なデータではない(コピー防止)、といったことが挙げられる。
この手法に係るコピー防止の実行例が、図16及び図17に示される。
図16の例では、フラグONで、内蔵されたデータは反転して出力されるものとする。また、フラグON動作時、A群に属するアドレスに対応するデータは影響を受けず、B群に属するアドレスに対応するデータは、フラグOFF動作が先行するようにしている。
【0063】
このようにして、本半導体集積回路(ROM装置)を発注した顧客の意図するデータは、実際の呼び出しデータとなる。
同様にして、図17の例では、フラグONで、内蔵されたデータは反転して出力されるものとする。また、フラグON状態は、A群に属するアドレスの偶数回連続呼び出しで解除されるものとし、フラグON動作時、A群に属するアドレスに対応するデータは影響を受けないようにする。
【0064】
このようにして、図16の実行例と同様にして、本半導体集積回路(ROM装置)を発注した顧客の意図するデータは、実際の呼び出しデータとなる。
図18には本発明の第3実施例に係るコピー防止機能付ROM装置の構成が概略的に示される。
図示の装置100では、入力アドレス信号A0〜Anがアドレスバッファ101に保持され、保持されたアドレス信号が、一方ではアドレスデコーダ102に供給され、他方では暗号記憶・一致検出回路103に供給される。アドレスデコーダ102のデコード結果に基づいて、メモリセルアレイ(ROM)104内のいずれかのワード線及びビット線が選択され、それに対応するメモリセルの記憶内容が読み出される。読み出されたデータは、出力回路105を介してデータD0〜Dmとして出力される。
【0065】
暗号記憶・一致検出回路103は、アドレスバッファ101の出力アドレスが特定の暗号に一致する場合に一致信号EQを出力し、フリップフロップ回路(FF)106はこれを保持する。出力回路105は、フリップフロップ回路106がこれを保持している間、データ出力を停止し、又は、メモリセルアレイ104からの本来のデータ以外のデータを出力する。なお、出力回路105の出力の代わりに、アドレスデコーダ102の出力が本来の出力以外のものになるようにしてもよい。
【0066】
暗号に一致するアドレスは、通常の使用形態で本装置100を使用する場合には使用されないものとする。このようにすれば、通常の使用以外の使用(例えば盗用等の不正使用)を禁止することができる。
以下、暗号記憶・一致検出回路103の構成例について図19〜図26を参照しながら説明する。
【0067】
なお、説明の簡単化のため、図19〜図26に示す各構成例では入力アドレス信号が4ビット、すなわちA0〜A3である場合を示す。また、各図に示されるトランジスタは金属・絶縁物・半導体(MIS)型FETであり、pチャネル型には外向き矢印を付し、nチャネル型には矢印を付していない。
図19には暗号記憶・一致検出回路103の第1構成例(103A)が示される。
【0068】
図示の暗号記憶・一致検出回路103Aは、負荷用pMISFET110のソース及びゲートがそれぞれ電源供給線VCC及びグランド線に接続され、負荷FET110のドレインが、一方ではインバータ111の入力端に接続され、他方ではビット直列回路112Aの一端に接続されている。ビット直列回路112Aは、4つの基本回路120H、121L、122L及び123Hが直列に接続され、他端がグランド線に接続されている。
【0069】
基本回路120Hは、nMISFET120EとnMISFET120Dが直列接続され、インバータ120Xの入力端及び出力端がそれぞれFET120E及びFET120Dの各ゲートに接続され、FET120Eのゲートにアドレス信号A0が供給される。FET120Eはエンハンスメント型であり、そのしきい電圧は高レベルと低レベルの中間にあり、A0が高レベルの時にオン、低レベルの時にオフとなる。これに対し、FET120Dはデプレッション型であり、インバータ120Xの出力のレベルに関係なくオンになる。従って、基本回路120Hは、アドレス信号A0が高レベルの時のみオンになる。
【0070】
なお、各基本回路の参照番号に付したH又はLの符号は、それぞれ制御入力端の電位(つまりアドレス信号)が高レベル又は低レベルの時にオンになることを表している。
基本回路121L、122L及び123Hは基本回路120Hと同様に構成されており、121X、122X及び123Xはインバータ、121E、122E及び123Eはエンハンスメント型のnMISFET、121D、122D及び123Dはデプレッション型のnMISFETを示す。基本回路121L、122L及び123Hの制御入力端にはそれぞれアドレス信号A1、A2及びA3が供給される。
【0071】
上記構成において、ビット直列回路112Aでは2進数の暗号‘1001’が固定記憶されていることになり、アドレス信号A3〜A0がこの暗号に一致した時のみビット直列回路112Aがオンになってインバータ111から出力される一致信号EQが高レベルになり、その他の場合(つまり暗号に一致しない場合)には一致信号EQが低レベルとなる。
【0072】
図18のメモリセルアレイ104のメモリセルとして、1個のnMISFETを用い、これをイオン注入によりデプレッション型化するか否かによりその記憶内容を定めるタイプがある。この場合には、図19の暗号記憶・一致検出回路103Aを用いる。これにより、メモリセルアレイ104と暗号記憶・一致検出回路103Aとを同一プロセスでデータ書き込みすることができるので、暗号記憶・一致検出回路103Aのための特別なプロセスが不要となり、好ましい。
【0073】
なお、デプレッション型の各nMISFET120D、121D、122D及び123Dは、ゲート電位のレベルに関係なくオンになるように形成されていればよく、イオン注入量を増加させることでデプレッション型化を更に進めて、ソースとドレイン間を短絡させたものであってもよい。この点は、以下説明する他の構成例においても同様である。
【0074】
第1構成例に係る暗号記憶・一致検出回路103Aは、暗号記憶部と一致検出部が一体的に構成されているので、構成が簡単で回路素子数が少なく、メモリセルアレイの記憶容量の増大化が進展している今日、好ましい構成である。
ところで、暗号は、その目的のために多い方が好ましい。
そこで、図20に示すように、第2構成例に係る暗号記憶・一致検出回路103Bでは、基本回路120のFET120D1及び120D2と、基本回路121のFET121D1及び121D2とをデプレッション型にしている。これによって、基本回路120及び121は、各制御入力端(アドレス信号A0及びA1)のレベルに関係なくオンになる。
【0075】
従って、第2構成例に係る暗号記憶・一致検出回路103Bでは、アドレス信号A3〜A0が連続した2進数‘0100’〜‘0111’のいずれかの場合において一致信号EQが高レベルになる。なお、負荷用pMISFET110は、そのゲートとドレイン間が短絡されている。
また、複数の暗号は、単一の連続コードよりも複数の連続コードの方がその目的のために好ましい。
【0076】
そこで、図21に示すように、第3構成例に係る暗号記憶・一致検出回路103Cでは、基本回路120のFET120D1及び120D2と、これと隣合わない基本回路123のFET123D1及び123D2とをデプレッション型にしている。また、ビット直列回路112Cは、その一端が電源供給線VCCに接続され、他端が負荷抵抗110Aを介してグランド線に接続されており、またビット直列回路112Cの他端から一致信号EQが出力される。なお、負荷抵抗110Aは、ゲートとドレイン間を短絡したnMISFETであってもよい。
【0077】
この第3構成例に係る暗号記憶・一致検出回路103Cによれば、ビット直列回路112Cに供給されるアドレス信号A3〜A0が2進数‘0010’、‘0011’、‘1010’又は‘1011’の時のみ一致信号EQが高レベルになる。
前述したメモリセルアレイ104には各種の型のものがあり、そのいずれの場合にも、暗号記憶・一致検出回路103をメモリセルアレイ104と同一プロセスで形成できるようにした方が安価になるので好ましい。メモリセルアレイ104のメモリセルとして、1個のnMISFETを用い、そのソースとドレイン間にデプレッション型化の場合と極性が反対のイオンを注入して、しきい電圧を高レベルより高くするか否か(つまり、高しきい電圧型にするか否か)により、その記憶内容を定めるようにしたタイプがある。
【0078】
この場合には、例えば図22に示す第4構成例の暗号記憶・一致検出回路103Dを用いる。図中、FETに付した×印は、高しきい電圧型であることを表している。
この第4構成例に係る暗号記憶・一致検出回路103Dでは、ビット直列回路112Dは、並列接続型の基本回路130L、131H、132及び133Lが直列に接続されている。基本回路130Lは、FET120T及びFET120Eが並列に接続され、インバータ120Xの入力端及び出力端がそれぞれFET120T及びFET120Eの各ゲートに接続され、インバータ120Xの入力端にアドレス信号A0が供給される。FET120Eが通常のエンハンスメント型であるのに対し、FET120Tは高しきい電圧型である。
【0079】
基本回路131H及び133Lは、それぞれFET121T及びFET123Tが高しきい電圧型である。従って、基本回路130L、131H及び133Lは、それぞれ制御入力端(アドレス信号A0、A1及びA3)が低レベル、高レベル及び低レベルの時にオンになる。これに対し、基本回路132のFET122E1及びFET122E2はいずれも通常のエンハンスメント型であり、従って、基本回路132は、制御入力端(アドレス信号A2)のレベルに関係なくオンになる。
【0080】
この第4構成例に係る暗号記憶・一致検出回路103Dでは、アドレス信号A3〜A0が2進数‘0010’又は‘0110’の時のみ一致信号EQが高レベルとなる。
また、前述したメモリセルアレイ104のメモリセルとして、ソース又はドレイン上にコンタクトホールを形成するかどうかにより、ソース又はドレインを切り離して記憶内容を定めるようにしたタイプがある。
【0081】
この場合には、例えば図23に示す第5構成例の暗号記憶・一致検出回路103Eを用いる。図中、FETの参照符号に付したCは、ソース上にコンタクトホールが形成されないフローティング型であることを表している。
図示のビット直列回路112Eは、基本回路140L、141H及び143LにおけるFET120C、121C及び123Cが、それぞれ図22におけるFET120T、121T及び123Tに対応している。他の構成については図22の場合と同じである。
【0082】
前述した第1〜第5構成例では、暗号コードがビット直列回路に書き込まれている場合について説明したが、暗号コードをビット並列回路に書き込む構成であってもよい。その一例が第6構成例として図24に示される。
この第6構成例に係る暗号記憶・一致検出回路103Fでは、負荷用pMISFET110とグランド線の間にビット並列回路112Fが接続されている。ビット並列回路112Fは、基本回路150L、151H、152Z及び153Lが並列接続されている。基本回路150Lは、nMISFET120Tと120Eが並列接続されており、FET120Eは通常のエンハンスメント型であり、FET120Tは高しきい電圧型である。図18に示すアドレスバッファ101が相補出力型である場合には、基本回路にはインバータが不要であり、FET120T及びFET120Eにそれぞれアドレス信号A0及びその論理反転信号である*A0が供給される。
【0083】
基本回路151H、152Z及び153Lは基本回路150Lと同様に構成されており、このうち基本回路151H及び153Lは、それぞれFET121T及び123Tが高しきい電圧型である。これに対し基本回路152Zでは、nMISFET122T1及び122T2の両方が高しきい電圧型である。
この第6構成例に係る暗号記憶・一致検出回路103Fでは、アドレス信号A3〜A0が2進数‘1001’又は‘1101’の時のみ一致信号EQが高レベルとなる。
ビット並列回路においても、デプレッション型のnMISFETを用いることが可能である。その一例が第7構成例として図25に示される。
【0084】
この第7構成例に係る暗号記憶・一致検出回路103Gでは、ビット並列回路112Gは、基本回路160L、161H、162Z及び163Hが並列接続されている。基本回路160Lは、nMISFET120Dと120Eが直列接続されており、FET120Eは通常のエンハンスメント型であり、FET120Dはデプレッション型である。
【0085】
基本回路161H、162Z及び163Hは基本回路160Lと同様に構成されており、このうち基本回路162Zは、エンハンスメント型FET122E1及び122E2の一方がオンの時に他方がオフになるので、常にオフ状態となっている。
この第7構成例に係る暗号記憶・一致検出回路103Gでは、アドレス信号A3〜A0が2進数‘0001’又は‘0101’の時のみ一致信号EQが高レベルとなる。
【0086】
前述した各構成例では、暗号が連続コードである場合、偶数から始まって奇数で終わるようになっている。以下に説明する第8構成例(図26参照)では、この制限を無くしている。
この第8構成例に係る暗号記憶・一致検出回路103Hでは、第1構成例(図19参照)におけるビット直列回路112Aを複数個並列接続した構成となっている。すなわち、負荷用pMISFET110とグランド線との間に、ビット直列回路112P、112Q及び112Rが並列接続されている。ビット直列回路112Pは、基本回路220H、221H、222L及び223Lが直列に接続され、ビット直列回路112Qは、基本回路320、321、322H及び323Lが直列に接続され、ビット直列回路112Rは、基本回路420L、421L、422L及び423Hが直列に接続されている。
【0087】
一致信号EQは、ビット直列回路112P、112Q又は112Rがオンの時のみ高レベルとなる。ビット直列回路112Pは、アドレス信号A3〜A0が2進数‘0011’の時にオンとなり、ビット直列回路112Qは、アドレス信号A3〜A0が2進数‘0100’〜‘0111’の範囲にある時にオンとなり、ビット直列回路112Rは、アドレス信号A3〜A0が2進数‘1000’の時にオンとなる。
【0088】
従って、一致信号EQは、アドレス信号A3〜A0が‘0011’又は‘0100’〜‘1000’の範囲にある時に高レベルとなり、連続コードの終わりが奇数ではなく偶数となっている。
なお、暗号記憶・一致検出回路の形態については、上記の各構成例に限定されず、他にも種々の変形が可能である。
【0089】
例えば、図26において、ビット直列回路112P、112Q及び112Rの記憶内容を定め、負荷FET110のドレインとビット直列回路112P、112Q及び112Rの一端とを接続するためのコンタクトホールをどれか一つ又は任意の2つを選択するようにして、同一記憶内容のマスクROMに対し複数種の暗号を容易に製造することも可能である。
【0090】
図27には本発明の第4実施例に係るコピー防止機能付ROM装置の構成が概略的に示される。
同図に示されるメモリセルアレイ500、タイミング信号発生回路501、アドレスバッファ502、ロウデコーダ503、コラムデコーダ504及びコラムゲート505は、それぞれ第1実施例(図3参照)の構成における10〜15の各構成要素に対応しており、またデータ出力回路506は、第1実施例(図3参照)における16及び17の構成要素に対応している。
【0091】
本実施例に係るROM装置の特徴は、アドレスバッファ502の前段にスクランブル発生回路510を設け、入力されてくるアドレス信号A0〜Anの各ビットに対しスクランブルをかけて後段のアドレスバッファ502に送出するようにした点である。なお、スクランブル発生回路510に入力されている破線表示の信号FLGはスクランブル機能活性化信号を示し、またCEはチップイネーブル信号(これは、タイミング信号発生回路501に供給される外部からの制御信号CONTに含まれる)を示す。
【0092】
図28にスクランブル発生回路の一構成例が示される。ただし、図示の例では説明の簡単化のため、2ビットのアドレス信号A0及びA1 に対してスクランブルをかけるようにした回路構成が示されている。
図示のスクランブル発生回路は、各アドレスビット入力端A0及びA1 とアドレスビット出力端A0' との間にそれぞれ接続されたnチャネルトランジスタ531及び532と、各アドレスビット入力端A0及びA1 とアドレスビット出力端A1'との間にそれぞれ接続されたnチャネルトランジスタ533及び534とを有しており、各トランジスタのゲートは低電位の電源ラインVss(0V)に接続されている。
【0093】
各nチャネルトランジスタ531〜534のうち、図示の例では、トランジスタ531と532のいずれか一方、及びトランジスタ533と534のいずれか一方については、半導体集積回路のウエハプロセスにおいて使用されるイオン注入処理により、予めデプレッション型のトランジスタとして形成されている。従って、残りの2つのトランジスタは、エンハンスメント型トランジスタとして機能する。
【0094】
図示の接続構成では、nチャネルトランジスタ531〜534の各ゲートは電源ラインVssに接続されているので、デプレッション型として形成されたトランジスタは常時オン状態となり、エンハンスメント型として形成されたトランジスタは常時オフ状態となる。
従って、各nチャネルトランジスタ531〜534に対して適宜デプレッション化を行うことにより、アドレス信号A0,A1 に対してスクランブルをかけることができる。
【0095】
例えば、トランジスタ532と533をイオン注入でデプレッション化した場合には、アドレスビット出力端A0' にアドレスビットA1 が出力され、アドレスビット出力端A1'にアドレスビットA0が出力される。また、トランジスタ531と533をイオン注入でデプレッション化した場合には、アドレスビット出力端A0' 及びA1'の両方にアドレスビットA0が出力される。
【0096】
ただし、トランジスタ531と534をデプレッション化した場合には、アドレスビット出力端A0' 及びA1'にそれぞれ本来のアドレスビットA0及びA1 が出力されて、所期の目的であるスクランブル機能を実現できないので、かかる組み合わせのデプレッション化は行わないものとする。
図29にはスクランブル発生回路の他の構成例が示される。図示の例でも同様に、説明の簡単化のため、4ビットのアドレス信号A0〜A3 に対してスクランブルをかけるようにした回路構成が示されている。
【0097】
図示のスクランブル発生回路は、各アドレスビット入力端A0〜A3 にそれぞれ一端が接続されたnチャネルトランジスタ541〜544と、同様に各アドレスビット入力端A0〜A3 にそれぞれ一端が接続されたnチャネルトランジスタ545〜548と、トランジスタ541〜544のそれぞれの他端と低電位の電源ラインVss(0V)の間に接続されたnチャネルトランジスタ550と、トランジスタ545〜548のそれぞれの他端と低電位の電源ラインVssの間にそれぞれ接続されたnチャネルトランジスタ551〜554と、各トランジスタ545〜548の他端の信号に基づいて適宜論理演算(AND,OR,NOT,排他的OR等)を行う演算回路560と、トランジスタ541の他端の信号とスクランブル機能活性化信号FLGに応答するANDゲート561と、演算回路560の出力信号とスクランブル機能活性化信号FLGに応答するANDゲート562と、各ANDゲート561,562の出力信号及びアドレスビットA0に応答するORゲート563とを有している。このORゲート563の出力端はアドレスビット出力端A0' に接続されている。
【0098】
また、nチャネルトランジスタ541〜548の各ゲートは低電位の電源ラインVssに接続されており、他のnチャネルトランジスタ550〜554の各ゲートにはアクティブ・ローのチップイネーブル信号CEが印加されている。
図29に示す回路構成では、チップイネーブル信号CEが“H”レベルの時、nチャネルトランジスタ550〜554の全てがオンとなり、これによって演算回路560の入力端のレベル及び各ANDゲート561,562の入力端のレベルはVss(“L”レベル)となるので、スクランブル機能は働かない。
【0099】
一方、チップイネーブル信号CEが“L”レベルの時、各トランジスタ550〜554はオフとなるので、nチャネルトランジスタ541〜548のオン又はオフ状態に依存した各アドレスビットA0〜A3 の論理信号が演算回路560及び各ANDゲート561,562に入力される。この時、スクランブル機能活性化信号FLGを“H”レベルにしておけば、各ANDゲート561,562は活性化されるので、スクランブル機能を働かせることができる。
【0100】
このように図29の構成例では、チップイネーブル信号CEで各トランジスタ551〜554を制御することにより演算回路560の初期値を設定するようにし、またスクランブル機能活性化信号FLGでスクランブル機能のオン/オフ切り換えを行うようにしている。
従って、前述の図28の構成例と同様にして、低電位の電源ラインVssに各ゲートが接続されているnチャネルトランジスタ541〜548に対し、適宜イオン注入処理を行うことでデプレッション化を図ることにより、アドレス信号A0〜A3 に対して任意の形態でスクランブルをかけることが可能となる。
【0101】
以上説明したように、第4実施例(図27〜図29参照)の構成によれば、入力アドレス信号A0〜Anの各ビットに対し任意の形態でスクランブルをかけることができるので、このスクランブル状態のアドレス情報に基づいてメモリセルアレイから読み出されたROMデータは、本来読み出されるべき正しいデータとは異なるものとなる。これによって、前述した各実施例と同様に、盗用で不正コピーを行うことを実質的に不可能にすることができる。
【0102】
図30には本発明の第5実施例に係るコピー防止機能付ROM装置の構成が概略的に示される。
本実施例に係るROM装置の特徴は、前述の第4実施例(図27参照)におけるスクランブル発生回路510に代えて、これと同等の機能を実現する擬似乱数発生回路520を設けたことである。
【0103】
前述の第4実施例では、スクランブル発生回路を構成する各トランジスタの特性を予めプロセス的に変えることでスクランブル機能を実現するようにしたが、本実施例では、外部からの制御入力に基づいてトランジスタ特性を変えることで同等のスクランブル機能を実現するようにしている。このため本実施例では、外部からの制御入力としてクロックCLKを用いている。このクロックCLKは、本装置(つまりチップ)の外部から供給してもよいし、或いはチップ内部の他の回路から適宜供給するようにしてもよい。
【0104】
図31に擬似乱数発生回路の一構成例が示される。
図28に示したスクランブル発生回路の構成との対比において、各nチャネルトランジスタ573〜576は、それぞれnチャネルトランジスタ531〜534に対応しており、構成上異なる点は、▲1▼クロックCLKに応答するインバータ571及び572を設けたこと、▲2▼各トランジスタ573〜576のゲートにインバータ571,572の出力又はクロックCLKを印加するようにしたこと、である。
【0105】
図31の構成例では、回路外部からのクロックCLKを用いてアドレスビット出力A0' 及びA1'の論理レベルを制御することで、図28のスクランブル発生回路と同等のスクランブル機能を実現するようにしている。つまり、クロックCLKを制御することにより、回路外部から見た時に、入力情報(アドレス信号A0,A1 )にかかわらず不確定なデータ(擬似乱数)を出力させるようにしている。
【0106】
図示の構成例では、クロックCLKが“H”レベルの場合に、nチャネルトランジスタ574と575がオンとなり、一方、インバータ571,572の各出力は“L”レベルとなるのでnチャネルトランジスタ573と576はオフとなる。この結果、アドレスビット出力端A0' にアドレスビットA1 が出力され、アドレスビット出力端A1'にアドレスビットA0が出力される。つまり、スクランブル機能が働く。一方、クロックCLKを“L”レベルとした場合には、アドレスビット出力端A0' 及びA1'にそれぞれ本来のアドレスビットA0及びA1 が出力されるので、スクランブル機能は働かない。
【0107】
以上説明したように、第5実施例(図30及び図31参照)の装置構成によれば、外部制御入力(クロックCLK)に基づいて入力アドレス信号A0〜Anに対しスクランブルをかけることができるので、前述の第4実施例と同様に、盗用で不正コピーを行うことを実質的に不可能にすることができる。
なお、前述した第4,第5実施例ではスクランブル発生(又は擬似乱数発生)回路は入力アドレス信号A0〜Anに対して機能するように配置したが、各回路の配置形態はこれに限定されない。図示はしないが、例えば、メモリセルアレイから読み出されたデータ(つまり出力情報)に対してスクランブル発生(又は擬似乱数発生)機能を働かせるようにしてもよいし、或いは、入力情報及び出力情報の両方に対してスクランブル発生(又は擬似乱数発生)機能を働かせるようにしてもよい。
【0108】
図32には本発明の第6実施例に係るコピー防止機能付ROM装置の構成が概略的に示される。
図示の装置600において、アドレスデコーダ602、メモリセルアレイ604及び出力回路605は、それぞれ第3実施例(図18参照)の構成における102、104及び105の各構成要素に対応しており、また入力回路601は、その一部の機能が第3実施例(図18参照)のアドレスバッファ101に対応している。
【0109】
入力回路601は、入力情報INの一部としてのアドレス信号A0〜Anに応答するアドレスバッファを含むと共に、該入力情報に含まれるROM装置の動作モード(メモリセルアレイ604からの本来のROMデータの読み出し等の通常機能、又は盗用による不正コピー防止等の特殊機能)を指示するデータに基づいてトリガ信号FINを出力するか否かを制御する機能を有している。本実施例では、入力情報INに含まれるデータが特殊機能を指示している場合にトリガ信号FINが出力され、通常機能の場合にはトリガ信号FINは出力されない。
【0110】
本実施例に係るROM装置の特徴は、入力回路601と出力回路605との間に、電源が「断」になった時に(電源電圧Vcc→0)その時点で保持しているデータを所定期間の間保持し続ける機能を備えた電源「断」検出及びデータ保持回路603を設けたことである。この電源「断」検出及びデータ保持回路603の出力は、判定信号FLAGとして出力回路605に供給され、データの出力制御又は操作を行うのに利用される。
【0111】
図33に電源「断」検出及びデータ保持回路の一構成例が示される。
図示の回路は、高電位の電源ラインVccと低電位の電源ラインVssの間に直列に接続されたpチャネルトランジスタ611、612及びnチャネルトランジスタ613と、このnチャネルトランジスタ613と並列に接続されたnチャネルトランジスタ614と、電源ラインVccとVssの間に接続され、CMOSインバータを構成するトランジスタ612及び614の出力端(ノードN1)の信号に応答するCMOSインバータ(pチャネルトランジスタ615及びnチャネルトランジスタ616)と、CMOSインバータ615,616の出力端にソースが接続され且つ電源ラインVccにゲートが接続されたnチャネルトランジスタ617と、該トランジスタのドレイン(ノードN2;これはトランジスタ612,614の各ゲートに接続されている)と電源ラインVssの間に接続されたキャパシタ618と、電源ラインVccとVssの間に接続され、ノードN1の信号に応答するCMOSインバータ(pチャネルトランジスタ619及びnチャネルトランジスタ620)とを有している。上述したトリガ信号FINは、CMOSインバータを構成するトランジスタ611及び613の各ゲートに入力され、そして最終段のCMOSインバータ619,620の出力端より判定信号FLAGが取り出される。
【0112】
図34〜図36にはそれぞれ、電源「断」検出及びデータ保持回路の要部(615〜618の構成要素)の各種変形例が示される。
先ず、図34に示す第1変形例では、図33に示した要部構成との対比において、各トランジスタ631、633及び634はそれぞれトランジスタ615、616及び617に対応し、またキャパシタ635はキャパシタ618に対応しており、構成上異なる点は、トランジスタ631及び633の間に、ゲートがそのドレインに接続されたnチャネルトランジスタ632を設けたことである。
【0113】
次に、図35に示す第2変形例では、図33に示した要部構成との対比において、各トランジスタ641、642及び644はそれぞれトランジスタ615、616及び617に対応し、またキャパシタ645はキャパシタ618に対応しており、構成上異なる点は、トランジスタ641,642の出力端とトランジスタ644のソースとの間に、ゲートがそのソースに接続されたnチャネルトランジスタ643を設けたことである。
【0114】
次に、図36に示す第3変形例では、図33に示した要部構成との対比において、各トランジスタ651及び652はそれぞれトランジスタ615及び616に対応し、またキャパシタ656はキャパシタ618に対応しており、構成上異なる点は、▲1▼電源ラインVccとVssの間に2つのインピーダンス素子653及び654を直列に接続したこと、▲2▼トランジスタ651,652の出力端とノードN2との間に、2つのインピーダンス素子の接続点の電位に応答するnチャネルトランジスタ655を設けたこと、である。
【0115】
次に、本実施例における電源「断」検出及びデータ保持回路(図33参照)の動作について、図37に示す動作タイミング波形を参照しながら説明する。
なお、図37において、(a)はノードN2のレベル(キャパシタ618の電位)がVssのレベルまで低下する前に電源電圧Vccを立ち上げた場合の動作タイミング波形、(b)はノードN2のレベルがVssのレベルまで低下した後で電源電圧Vccを立ち上げた場合の動作タイミング波形を示す。
【0116】
先ず、t1 〜t2 の時間において、入力情報INに不正コピー防止のための特殊機能を指示するデータが含まれていた場合には、“H”レベルのパルスの形でトリガ信号FINが出力される。これによってトランジスタ613がオンし、ノードN1の電位は“L”レベルに立ち下がる。これを受けてトランジスタ615がオンし、Vccのレベルがトランジスタ617を介してノードN2に伝達され、キャパシタ618の電位は“H”レベルに立ち上がる(つまりVccのレベルに充電される)。
【0117】
一方、ノードN1の電位が“L”レベルになることで、最終段のCMOSインバータのトランジスタ619がオンとなるので、判定信号FLAGは“H”レベルに立ち上がる。この判定信号FLAGは一度“H”レベルになると、以後、入力信号(トリガ信号FIN)が“L”レベルに変化しても、その“H”レベル状態は保持される。なぜならば、ノードN2の電位が“H”レベルになることでトランジスタ614がオンし、ノードN1の電位が“L”レベルに維持されるからである(自己保持機能)。
【0118】
なお、入力情報INに通常機能を指示するデータが含まれていた場合には、トリガ信号FINは出力されず、判定信号FLAGは“L”レベルとなる。この場合、メモリセルアレイ604から本来のROMデータの読み出しが行われる。
次に、t2 の時点で電源が「断」になった(電源電圧Vcc→0)とすると、キャパシタ618に蓄積された電荷は、nチャネルトランジスタ617のドレイン領域(n型領域)から基板(p型領域)への逆方向電流としてリークする。これによって、ノードN2のレベル(キャパシタ618の電位)は緩やかに“H”レベルから“L”レベルに変化していく。この変化する時間は、キャパシタ618の容量とリーク抵抗によって決まる時定数に依存する。
【0119】
一方、電源電圧Vccが0V(“L”レベル)になることで、判定信号FLAGも“L”レベルに立ち下がる。
次いで、ノードN2のレベルがVssのレベルまで低下する前のt3 の時点で電源電圧Vccを立ち上げたとすると(図37(a)の動作タイミング波形参照)、ノードN2のレベルがpチャネルトランジスタ612のスレッショルドレベル以上の場合には当該トランジスタ612は未だオフ状態なので、たとえpチャネルトランジスタ611がオン状態でもノードN1のレベルは“L”レベルのままである。従ってこの場合、t3 の時点で判定信号FLAGは“H”レベルに立ち上がる。
【0120】
一方、ノードN2のレベルがVssのレベルまで低下した後のt4 の時点で電源電圧Vccを立ち上げた場合には(図37(b)の動作タイミング波形参照)、pチャネルトランジスタ612はオン状態となるので、これによってノードN1のレベルは“H”レベルに立ち上がる。これを受けて最終段のCMOSインバータのトランジスタ620がオン状態となるため、判定信号FLAGは“L”レベルを維持する。
【0121】
このように、電源「断」の前と後とでは、電源「断」の期間がある一定時間以内ならば判定信号FLAGは“H”レベルのままで変化がないので、結局、キャパシタ618に“H”レベルのデータが保持されていたことになる。
言い換えると、入力情報INに不正コピー防止のための特殊機能を指示するデータが含まれていた場合に、このデータが、“H”レベルのトリガ信号FINとして電源「断」検出及びデータ保持回路に入力され、そして保持され、その後、電源「断」があってもその期間がある一定時間以内であれば、その特殊機能のデータが“H”レベルのまま保持されることになる。
【0122】
このように第6実施例(図32〜図37参照)の装置構成によれば、不意に電源「断」の状態となってもある一定時間以内に電源を立ち上げることで、不正コピー防止のための特殊機能のデータを確実に保持しておくことができるので、かかる保持データに基づいて、盗用による不正コピーを実質的に不可能にすることができる。
【0123】
【発明の効果】
以上説明したように本発明によれば、盗用で不正コピーを行うことを実質的に不可能にすることができる。
【図面の簡単な説明】
【図1】本発明の第1の形態に係るコピー防止機能付半導体集積回路装置の原理構成図である。
【図2】本発明の第2の形態に係るコピー防止機能付半導体集積回路装置の原理構成図である。
【図3】本発明の第1実施例に係るコピー防止機能付ROM装置の構成を概略的に示したブロック図である。
【図4】図3における比較・判定部及び特定アドレス記憶部の一構成例を示す回路図である。
【図5】図4の回路の使用形態を説明するための図で、(a)は各トランジスタの動作モードの設定例、(b)は特定アドレス又は特定アドレス領域の設定例を示す図である。
【図6】図3におけるフラグ回路の一構成例を示す回路図である。
【図7】図3における出力手段用加工処理部の一構成例を示す回路図である。
【図8】本発明の第2実施例に係るコピー防止機能付ROM装置の構成を概略的に示したブロック図である。
【図9】第2実施例に係る特定アドレス領域の呼び出しとフラグON/OFFの関係を示す図である。
【図10】第2実施例に係るコピー防止の第1実行例を説明するための図である。
【図11】第1実行例に係る特定アドレス領域検出回路の一構成例を示す図である。
【図12】第2実施例に係るコピー防止の第2実行例を説明するための図である。
【図13】第2実施例に係るコピー防止の第3実行例を説明するための図で、(a)は出力操作回路の構成例、(b)はその入出力信号値の関係を示す図である。
【図14】第2実施例に係るコピー防止の第4実行例を説明するための図で、(a)は出力操作回路の構成例、(b)はその入出力信号値の関係を示す図である。
【図15】第2実施例に係るコピー防止の第5実行例を説明するための図で、(a)は出力操作回路の構成例、(b)はその入出力信号値の関係を示す図である。
【図16】第2実施例に係るコピー防止の第6実行例を説明するための図である。
【図17】第2実施例に係るコピー防止の第7実行例を説明するための図である。
【図18】本発明の第3実施例に係るコピー防止機能付ROM装置の構成を概略的に示したブロック図である。
【図19】図18における暗号記憶・一致検出回路の第1構成例を示す回路図である。
【図20】図18における暗号記憶・一致検出回路の第2構成例を示す回路図である。
【図21】図18における暗号記憶・一致検出回路の第3構成例を示す回路図である。
【図22】図18における暗号記憶・一致検出回路の第4構成例を示す回路図である。
【図23】図18における暗号記憶・一致検出回路の第5構成例を示す回路図である。
【図24】図18における暗号記憶・一致検出回路の第6構成例を示す回路図である。
【図25】図18における暗号記憶・一致検出回路の第7構成例を示す回路図である。
【図26】図18における暗号記憶・一致検出回路の第8構成例を示す回路図である。
【図27】本発明の第4実施例に係るコピー防止機能付ROM装置の構成を概略的に示したブロック図である。
【図28】図27におけるスクランブル発生回路の一構成例を示す回路図である。
【図29】図27におけるスクランブル発生回路の他の構成例を示す回路図である。
【図30】本発明の第5実施例に係るコピー防止機能付ROM装置の構成を概略的に示したブロック図である。
【図31】図30における擬似乱数発生回路の一構成例を示す回路図である。
【図32】本発明の第6実施例に係るコピー防止機能付ROM装置の構成を概略的に示したブロック図である。
【図33】図32における電源「断」検出及びデータ保持回路の一構成例を示す回路図である。
【図34】図33における要部の第1変形例を示す回路図である。
【図35】図33における要部の第2変形例を示す回路図である。
【図36】図33における要部の第3変形例を示す回路図である。
【図37】図33の回路の動作タイミング波形図である。
【符号の説明】
1…(ユーザが使用するデータを格納する)記憶手段
2…(記憶手段に対してアクセスを行う)入力手段
3…(記憶手段からデータを出力する)出力手段
4…(入出力の情報又は論理の状態を特定の判定情報と比較する)判定手段
5…(特定の場合にデータの正常な出力を防止するための)制御手段
6…(複数の特定アドレス領域に対する入力情報のアクセスを検出/記憶する)検出/記憶手段
7…(出力データの内容を操作する)データ操作手段
[0001]
[Industrial application fields]
The present invention relates to a semiconductor integrated circuit device, and more particularly to a read only memory (ROM) having a copy protection function.
Among ROMs, a mask ROM that fixes ROM data with a mask in a wafer process of a semiconductor integrated circuit is used in large quantities in game machines, OA equipments, etc., but ROM data is hardly protected and is stolen. There was a reality that illegal copying was done.
[0002]
Therefore, it is necessary to build a system for preventing unauthorized copying in the mask ROM device. In this case, of course, it is necessary to increase the capability of preventing unauthorized copying, but on the other hand, the device is considered not to be expensive, and preferably, it can be manufactured in a normal process. Is required.
[0003]
[Prior art]
Conventionally, as techniques relating to ROM copy protection, those disclosed in, for example, JP-A-63-225839, JP-A-61-265649, JP-A-1-173244 and the like are known. .
First, in the technique disclosed in Japanese Patent Laid-Open No. 63-225839, a copy prevention function is realized by holding a specific key pattern in the circuit and determining whether it matches or does not match a newly input key pattern. (Refer to page 1, left column, line 18 to right column, line 3).
[0004]
In the technique disclosed in Japanese Patent Application Laid-Open No. 61-265649, a copy prevention function is realized by using inexpensive means such as a ROM writer (first page, left column, line 15 to right column). (See line 6).
In the technique disclosed in Japanese Patent Application Laid-Open No. 1-173244, in a system using a ROM code, once the ROM code is broken, it is easily copied from the next time (the first column, right column, line 8 to The copy protection function is realized by comparing the access order between specific addresses with a preset software access order (see the first page, right column, lines 19 to 11). (See page 6, upper left column, line 6).
[0005]
[Problems to be solved by the invention]
The technique disclosed in Japanese Patent Laid-Open No. 63-225839 described above requires a special mode (random pattern) to be newly input when used (the lower right column, page 2, lines 8 to 11). reference). Therefore, there is a problem that the circuit becomes complicated and the cost becomes high. In addition, since the memory unit that performs the comparison determination is limited to the nonvolatile memory (see the lower right column, line 19 to line 20 on the second page), there is a disadvantage that inconvenience is imposed on circuit design. In addition, since it is necessary to set another area for storing the key pattern, if the area is electrically called, for example, in a chip state, the key pattern can be easily obtained (that is, there is a risk of being copied). There is a problem. Also, if the key pattern consists of a combination of simple numbers, taking into account the recent progress in hardware performance and its widespread use, it takes a lot of time to try a brute force combination with a device. Therefore, there is a possibility that the key pattern can be decrypted relatively easily. Furthermore, once the ROM whose key pattern has been decrypted is obtained, it will be in a scrambled state, and thereafter, the copy protection function of the ROM will be lost, and the actual copy protection effect is only at the initial stage. There is also the problem of staying.
[0006]
In the technique disclosed in Japanese Patent Application Laid-Open No. 61-265649, data protection is performed by holding the CE terminal in the timer circuit (page 2, upper right column, line 17 to lower left column, line 4). In the lower right column of the same page, see lines 12 to 19), there is a problem that the operation address of the timer circuit is easily found, and thereby the prevention function is released in a relatively short time. That is, with this technique, a complete copy protection function in its original sense cannot be realized.
[0007]
Further, in the technique disclosed in Japanese Patent Laid-Open No. 1-173244, the access order between specific addresses is limited to the scale of the order defined in advance in software, so it is copied when handling a large amount of data. The prevention effect may be lost. In addition, since the access order is defined, the development of the software is restricted, the work is troublesome, and the software is relatively complicated. In addition, in order to read the software normally, the decoding information should always exist if the routine that operates the software is decoded. Therefore, the decoding information must be carefully read. There is a risk of copying. Furthermore, there is a disadvantage that a special test according to the access order needs to be performed because the copy prevention function operates in the simple order call test due to the provision of the access order. .
[0008]
As described above, in the conventional techniques, the basic idea of copy protection is taught, but in any technique, the ROM copy prevention function is realized by software or hardware. Moreover, none of the functions can be easily changed, and there is a possibility that a person who works illegally by stealing may be stolen relatively easily even if it takes time for temporary analysis.
[0009]
In other words, since the copy protection function has not been realized from both software and hardware sides, the copy data cannot be protected from theft of ROM data, and is left open.
In other words, when a copy protection function is installed in a semiconductor integrated circuit, the software is not restricted as much as possible, and the semiconductor integrated circuit itself realizes effective means while suppressing the increase of special circuits and the addition of processes. There was a need.
[0010]
Summarizing the requirements for the above-mentioned problems of the prior art are as follows.
Request (1) …… I want to remove restrictions on software and specify the trap area for the copy protection function over a wide range after software development within the original flow of software.
[0011]
Requirement (2) …… I want to make the copy protection function not to be activated or to be released easily even when it is shipped from the manufacturer that manufactures the semiconductor integrated circuit or the acceptance test at the ordering side. , Contradicts the original purpose of the copy protection function).
Request (3): When the hardware is analyzed by direct change of the internal wiring of the semiconductor integrated circuit, electrical signal analysis, or the like, it is desired to reduce the possibility of copying based on the analysis. In other words, with the current technical analysis method that enables the operation of the internal wiring of the chip, the copy protection function part in the integrated circuit is easily invalidated, and thus it is desired to eliminate the risk as much as possible.
[0012]
  The present inventionThe purpose of theftTo provide a semiconductor integrated circuit device with a copy protection function capable of making it impossible to illegally copy for use.It is in.
[0013]
[Means for Solving the Problems]
  According to the present invention, as shown in the principle configuration diagram of FIG. 2, the storage means 1 for storing data used by the user and various logical processes are performed on the address information input from the outside, An input unit 2 for accessing the storage unit; an output unit 3 for performing various logical processes on the data when the data is output from the storage unit; and the input address information. Refer to information of a plurality of specific address areas respectively belonging toAddressDetecting / storing means 6 for detecting which one of the plurality of specific address areas is accessed and storing the access state; and specifying the input address according to the stored access state Determine the transition conditions between address areas,By processing or changing the input address,There is provided a semiconductor integrated circuit device with copy protection function, comprising at least data operation means 7 for controlling the output means to manipulate the contents of data output from the storage means. The
[0014]
In a preferred embodiment, the semiconductor integrated circuit device according to the present invention has a form of a mask ROM (read-only memory in which data used by a user is fixed to a storage means by a wafer process of the semiconductor integrated circuit). ing.
In this case, the functions realized by the determination means and the control means can be changed by means equivalent to the processing for fixing data in the storage means in the wafer process of the semiconductor integrated circuit, for example, ion implantation processing, wiring processing, etc. May be formed.
[0015]
  The determination unit 4 may further include a holding unit that holds a result of determining that the at least one state is in the specific state.Yes.
[0016]
In a preferred embodiment of the present invention, the detection / storage means detects and stores the number of times that the input information has successively accessed a specific area among the plurality of specific address areas. In this case, the data operation means performs control so as to operate the contents of the output data based on the condition determination of the stored number of times.
In this case, the data operation means controls the contents of the output data according to whether the number of accesses to the specific area stored in the detection / storage means is an even number or an odd number. Also good.
[0017]
[Action]
According to the configuration of the first aspect of the present invention, at least one state (input information state, input unit logic state, output unit logic state, or data obtained from the output unit is determined by the determination unit 4. When it is determined that the state is in a specific state, the control means 5 performs processing so as to prevent at least the output means 3 from normally outputting the data stored in the storage means 1 I do. As a result, it is possible to make it impossible to illegally copy by theft.
[0018]
Further, when the semiconductor integrated circuit device according to the present invention has the form of a mask ROM, means equivalent to the process of fixing data in the storage means in the wafer process of the semiconductor integrated circuit (for example, ion implantation process, By using a wiring process or the like, the functions (that is, copy prevention functions) realized by the determination unit 4 and the control unit 5 can be changed simultaneously from both the software and hardware as necessary. This is extremely effective for theft and makes analysis difficult, and is extremely effective for those who try to make illegal copies by theft.
[0019]
In addition, in the case where a means for holding a result (for example, information indicating whether or not illegal copying is attempted) that is determined by the determining unit 4 to determine that at least one state is in a specific state, Thus, it is possible to make it difficult for a person who intends to perform illegal copying and to spend time required for the analysis. As a result, it becomes difficult or substantially impossible to perform illegal copying by theft.
[0020]
According to the configuration of the second aspect of the present invention, the detection / storage unit 6 detects which of the plurality of specific address areas the input information has accessed, and stores the access state. Is done. Then, by determining the condition of the stored access state, the data operation unit 7 controls at least the output unit 3 to operate the contents of the data output from the storage unit 1. As a result, illegal copying by theft is virtually impossible.
[0021]
The details of other structural features and operations of the present invention will be described using the embodiments described below with reference to the accompanying drawings.
[0022]
【Example】
FIG. 3 schematically shows the configuration of a ROM device with copy protection function according to the first embodiment of the present invention.
In the figure, reference numeral 10 denotes a memory cell array in which ROM cells are arranged at intersections of a plurality of word lines and a plurality of bit lines (both not shown), and 11 denotes input information fetching based on an external control signal CONT. Timing signal generating circuit for generating various timing signals for controlling timing and output data extraction timing, 12 is an address buffer for buffering a plurality of bits of address signals A0 to An, and 13 is an address signal among A0 to An A row decoder 14 for selecting one of a plurality of word lines in the memory cell array 10 based on a row address signal of higher order multiple bits, and a memory cell array 10 based on a column address signal of lower order bits of address signals A0 to An. A column decoder for selecting one of a plurality of bit lines 5 is a column gate connected to the data line corresponding to the selected bit line, 16 denotes a sense amplifier for sensing and amplifying data on the data line, 17 denotes an output buffer for outputting the data sense amplifier to the outside.
[0023]
The above configuration is a circuit element used in a typical ROM. In addition, the circuit elements 20 to 24 described below are parts that constitute the feature of the present invention.
20 is a specific address storage unit in which a specific address as determination information is stored in advance, 21 is a comparison of the input address signals A0 to An with the specific address, and a result based on the match / mismatch is flagged as a determination result F1. A comparison / determination unit that outputs in the form of information (flag ON / flag OFF), 22 is a flag circuit that holds the determination result F1 of the comparison / determination unit 21, and 23 is information held by the flag circuit 22 (control flag output) A processing unit for appropriately processing or changing the state of input information or the state of logic for the input means (each circuit element of 11 to 14) based on the signal F2), 24 is based on the control flag output signal F2 The processing unit for appropriately processing or changing the state of output data or the state of logic for the output means (each circuit element of 15 to 17).
FIG. 4 shows an example of the configuration of the comparison / determination unit 21 and the specific address storage unit 20, and FIG. 5 shows an example of usage of the circuit.
[0024]
First, the circuit shown in FIG. 4 includes two n-channel transistors connected in series between a high-potential power line Vcc (for example, 5 V) and a low-potential power line Vss (for example, 0 V) and responding to the potential of Vss, respectively. 31 and 32, two n-channel transistors 33 and 34 connected in series between power supply lines Vcc and Vss and responding to the potential of Vss, respectively, and responding to an external address signal (1 bit) Ai Inverter 35, AND gate 36 responsive to drain voltage of transistor 32 (source voltage of transistor 31) and address signal Ai, AND gate responsive to drain voltage of transistor 34 (source voltage of transistor 33) and output of inverter 35 37 and responds to the output of each AND gate 36 and 37 And a R gate 38.
[0025]
Note that the circuit shown in FIG. 4 shows a configuration corresponding to any one bit Ai of the address signals A0 to An, and in actuality, it is necessary to have a circuit corresponding to the number of address bits, that is, (n + 1). . In the illustrated configuration, the transistors 31 to 34 correspond to the specific address storage unit 20, and the other circuit elements 35 to 38 correspond to the comparison / determination unit 21.
[0026]
In such a configuration, the specific address can be determined by setting each of the transistors 31 to 34 to the depletion type operation mode or to the normal enhancement type operation mode. Note that the depletion mode can be realized by implanting ion atoms such as arsenic (As) and phosphorus (P) into the channel region of the n-channel transistor.
[0027]
FIG. 5A shows an example of setting the operation mode of each of the transistors 31 to 34.
As shown in the figure, when the transistors 32 and 33 are set to the depletion type and the transistors 31 and 34 are set to the enhancement type, the state (1) can be realized. In the state (1), since the AND gate 37 is effective when the input address Ai is “0”, the power supply voltage Vcc (that is, “1”) is applied to the AND gate 37 and the OR gate 38 through the depletion type transistor 33. Is output via. That is, when the input address Ai is “0”, a coincidence with the specific address “1” is detected (a flag ON determination result F1 is output).
[0028]
When the transistors 31 and 34 are set to the depletion type and the transistors 32 and 33 are set to the enhancement type, the state (2) can be realized. In the state (2), the AND gate 36 is valid when the input address Ai is “1”, and the power supply voltage Vcc (that is, “1”) is passed through the depletion type transistor 31 via the AND gate 36 and the OR gate 38. Is output. That is, when the input address Ai is “1”, the coincidence with the specific address “1” is detected (the flag ON determination result F1 is output).
[0029]
Further, when the transistors 31 and 33 are set to the depletion type and the transistors 32 and 34 are set to the enhancement type, the state (3) can be realized. In the state (3), when the input address Ai is “0” or “1”, the AND gate 37 or 36 is valid, and the power supply voltage Vcc (that is, “1”) is supplied to the AND gate through the depletion type transistor 33 or 31. 37 or 36 and the OR gate 38. That is, when the input address Ai is “0” or “1”, a match with the specific address “1” is detected (the flag ON determination result F1 is output).
[0030]
FIG. 5B shows an example of setting a specific address.
For example, when an address of address “0100” is set, address (1), (2), and (1) for each circuit (see FIG. 4) corresponding to 4-bit addresses A3, A2, A1, and A0, respectively. Each of the transistors 31 to 34 may be set to a depletion type or an enhancement type so as to be in the state of ▼ and (1). Similarly, when the address of address “1011” is set, for the circuits corresponding to the 4-bit addresses A3, A2, A1 and A0, (2), (1), (2) and (2), respectively. Each of the transistors 31 to 34 may be set to a depletion type or an enhancement type so as to be in the state of ▼.
[0031]
Further, when two addresses of address 04 “0100” and address 05 “0101” are set, each of the circuits corresponding to the 4-bit addresses A3, A2, A1, and A0 (refer to FIG. 4) is ▲ 1 respectively. Each of the transistors 31 to 34 may be set to a depletion type or an enhancement type so as to be in the state of ▼, (2), (1), and (3). That is, in this case, two addresses can be collectively set as one address area.
[0032]
In the circuit shown in FIG. 4, the setting of the specific address (or the specific address region) is realized by setting the transistor to the depletion type, but instead of the transistor to be set to the depletion type, aluminum or the like is used. Metal wiring or polysilicon wiring may be used. The circuit of FIG. 4 is configured using transistor elements and gate elements, but can be configured using fuse elements, ROM, RAM, and the like, for example. For example, when the transistor portion is formed of a fuse element, a specific address is set simultaneously at the probing test (PT) stage.
[0033]
FIG. 6 shows a configuration example of the flag circuit 22.
In the figure, reference numeral 41 denotes a flip-flop as a bistable circuit having two input / output nodes A and B, which are connected in series between the internal power supply line Vcc ′ and the low potential power supply line Vss, and each input / output node A P-channel transistor QP1 and n-channel transistor QN1 having a CMOS structure responsive to the potential of the same, and p-channel transistors having a CMOS structure similarly connected in series between internal power supply lines Vcc ′ and Vss and responsive to the potential of input / output node B, respectively. A channel transistor QP2 and an n-channel transistor QN2 are provided. Each output terminal of one of the CMOS transistors QP1 and QN1 is connected to the input / output node B, and each output terminal of the other CMOS transistors QP2 and QN2 is connected to the input / output node A.
[0034]
Further, 42 is a diode that transmits the determination result F1 of the comparison / determination unit to the node A of the flip-flop 41, 43 is a capacitor connected between the output terminal of the diode 42 and the power supply line Vss, and 44 is a node of the flip-flop 41. A diode 45 for transmitting a signal appearing at B to the processing units 23 and 24 (see FIG. 2) as a control flag output signal F2, and 45 is a power supply voltage Vcc supplied to the ROM device of this embodiment. A diode 46 is connected to the line Vcc ′, and a capacitor is connected between the output terminal of the diode 45 and the power supply line Vss.
[0035]
Each of the capacitors 43 and 46 has a form of a MOS capacitor formed by a wafer process of a semiconductor integrated circuit. Since such a process can be realized using means generally known to those skilled in the art, a description thereof will be omitted.
According to the circuit configuration illustrated in FIG. 6, the determination result F <b> 1 of the comparison / determination unit is held in the node A of the flip-flop 41 via the diode 42. A signal obtained by logically inverting the information held in the node A is output from the other node B through the diode 44 as the control flag output signal F2.
[0036]
In addition, since the capacitor 43 is connected to only one node A of the flip-flop 41, the state of the flip-flop 41 (that is, the logical state of the node A and the node B) is uniquely and stably determined when the power is turned on. Can do. This makes it possible to read data normally when the power is turned on in normal operation.
[0037]
Further, since the capacitor 46 is connected to the internal power supply line Vcc ′, even if the power supply voltage Vcc is cut once, it is latched in the flip-flop 41 by a charge of the capacitor 46 for a predetermined period after the power is turned off. Data can be retained.
In the circuit configuration shown in FIG. 6, a bistable circuit (flip-flop 41) is used as means for holding the determination result F1 of the comparison / determination unit, but such holding means is not limited to this. For example, an irreversible element such as a fuse element that cannot return to the original state, or a reversible element such as EPROM or EEPROM that can be returned to the original state by any means may be used.
[0038]
Further, although the diodes 42, 44 and 45 are used in the circuit configuration of FIG. 6, instead of such diodes, elements having the same rectifying function, for example, diode-connected normal MOS transistors may be used.
FIG. 7 shows a configuration example of the processing unit 24 for output means.
The illustrated configuration shows the configuration of a CR type oscillation circuit. A resistor 50 and a NAND in which a signal is input to one input via the resistor 50 and a control flag output signal F2 is input to the other input. A gate 51, an inverter 52 responsive to the output of the NAND gate, a capacitor 53 (capacitance value Ct) that feeds back the output of the inverter to the resistor 50, an inverter 54 responsive to the output of the inverter 52, And a resistor 55 (with a resistance value Rt) that feeds back the output of the inverter to the resistor 50. The frequency of the oscillation signal obtained from the output terminal OUT of the inverter 54 is determined by the value of Ct · Rt.
[0039]
By incorporating the oscillation circuit having such a configuration in the processing unit 24, when the determination result F1 (flag ON signal) of the comparison / determination unit 21 is input to the present circuit through the flag circuit 22 (flag ON signal F2). Oscillation operation is started and a large noise is generated in the power supply system inside the integrated circuit. Thereby, the processing unit 24 can set the reading of the ROM data stored in the memory cell array 10 to an unstable state for the output units 15 to 17. That is, it is substantially impossible to perform illegal copying by theft.
[0040]
FIG. 8 schematically shows the configuration of a ROM device with a copy protection function according to the second embodiment of the present invention.
The configuration shown in the figure is different from the configuration of the first embodiment (see FIG. 3) in that (1) instead of the specific address storage unit 20, a plurality of addresses associated with data in the memory cell array 10 belong to each other. The provision of a specific address area storage unit 20a for storing information of a specific address area; (2) the provision of a comparison / determination unit 21a having similar functions in place of the comparison / determination unit 21; (3) Instead of the processing units 23 and 24, an input operation circuit 23a and an output operation circuit 24a having the same functions are provided.
[0041]
The comparison / determination unit 21a detects which specific address area has been accessed based on the comparison between the input information (address signals A0 to An) and information of a plurality of specific address areas, and the access is made. Condition determination of the state (access count, access order, etc.) is performed. The result of this condition determination is output in the form of flag information (flag ON / flag OFF) as the determination result F1. The output operation circuit 24a according to the present embodiment is connected between the sense amplifier 16 and the output buffer 17, and is based on the information (control flag output signal F2) held by the flag circuit 22 and the address signals A0 to An. To manipulate the contents of the output data. That is, the output operation circuit 24a processes the logic so that it is different from the data that should be output originally, or destroys the output data itself as will be described later.
[0042]
Hereinafter, specific execution examples of copy prevention will be described with reference to FIGS.
(1) As a means to cope with the above-mentioned request (1) for the prior art
In general, software can divide data into address areas like a main program part and a subprogram part, or a program part and a data part, or an independent block of data. In this case, it is possible to divide the interior of each address area into finer areas, and these fine address areas need not be continuous.
[0043]
Therefore, in this embodiment, as shown in FIG. 9 as an example, the address to which each data belongs is divided into a plurality of specific address areas (in the example shown, three groups of A group, B group and C group) for comparison / determination. The unit 21a detects which specific address area the input information (address signals A0 to An) has passed (that is, whether access has been performed), sets the state in which the detection is stored as “flag ON”, and sets the input address Is not an address belonging to the specific address area, or the state in which the storage is released is set as “flag OFF”. The flag ON / OFF information is held in the flag circuit 22, and the output operation circuit 24a functions based on the information.
[0044]
In the illustrated example, the specific address area of the A group has a function of “flag ON” and the specific address area of the B group has a function of “flag OFF”. Further, the specific address area of the C group is not provided with a flag ON / OFF function. It is assumed that there is no common address area for the A group, the B group, and the C group. In addition, the C group may be all the regions other than the A group and the B group, or may be set as a part thereof.
[0045]
When the input address passes through a certain address area, if the address belongs to that area, the flag is turned on. However, as long as the same area is continuously accessed (continuous call in FIG. 9), “ Even in the “flag ON” state, the copy prevention function is not activated (that is, the output operation circuit 24a is not activated).
[0046]
When called from this area to another area, the contents of the call data (that is, output data) are copied unless the address of the area having the function of “flag OFF” (group B in the example of FIG. 9) is passed. Some operation for prevention will be received. In this case, for the call between the specific address areas, the output operation circuit 24a is operated only in the case of a call method that is not defined.
[0047]
Further, the address area is set so that there is no address call from the A group to the C group in a normal use situation. Further, in FIG. 9, when the power is turned on or the initial state of the ROM device is set to the flag ON state, the calling may be performed from the group B.
FIG. 10 illustrates a first execution example of copy protection according to the second embodiment.
[0048]
In the figure, the parts indicated by (1), (2) and (3) are address calls from (1) to (1), from (2) to (2), and from (3) to (3). Indicates that it will fly. Accordingly, in the illustrated example, the actual calling order is the order of addresses 00, 01 to 05, 12 to 15, 06 to 11. The portion indicated by ● represents the flag ON state.
Thus, according to the execution example 1, in the actual call, even if the flag is turned on at addresses 04 and 05, it jumps to the address 12, and since this address is the B group, the flag is turned off. Therefore, the called data does not receive any operation (that is, the data is output normally).
[0049]
In the case of simple copy, the called data is subjected to some operation until the flag is turned on at addresses 04 and 05 and the flag is turned off at group B from address 06 to address 12 (that is, copy prevention is performed). Data manipulation is performed).
FIG. 11 shows a configuration example of the specific address area detection circuit according to the first execution example described above.
[0050]
In the example shown in the figure, a configuration in the case of assuming a 16-bit ROM with four addresses A0 to A3 is shown. In the figure, reference numerals 60 to 63 denote coincidence detection circuits each having the same configuration as that shown in FIG. 4, and outputs from the coincidence detection circuits are input to an AND gate 64. The output of the AND gate 64 exhibits “1” level (flag ON) when the input addresses A3 to A0 belong to, for example, the address area of the A group, and do not belong to the address area of the A group (that is, other addresses). In the case of an address belonging to an area, a “0” level (flag OFF) is exhibited.
[0051]
FIG. 12 illustrates a second execution example of copy protection according to the second embodiment.
If it passes through a specific address area, if it is an address belonging to that area, the flag is turned on as described above. At this time, the number of times the area has been continuously called (that is, the number of accesses) is stored. Try to keep it. If the stored number is other than the prescribed number, the called data will be subjected to some operation if the flag ON state is valid regardless of the inside or outside of the area. In this case, it is arbitrary whether or not to set an area in which the flag is turned off.
[0052]
Since storing the number of accesses may be constrained by software, it may be determined whether the number of continuous calls is an even number or an odd number. In this case, the flag is turned on when it jumps out of the area, and the called data is subjected to some operation. Similarly, it is optional whether or not to set an area in which the flag is turned off.
[0053]
In the case of the second execution example shown in FIG. 12, if it is set that the group A is called three times, in the case of simple copy, the flag is turned on when the address 06 is called, and thereafter the address 11 belonging to the group A passes. Later, if the count is not initialized, it will not return to normal. If the even number of calls is set as an abnormal state, it returns to normal when it passes through address 11.
[0054]
Note that the number of times can be counted using a count counter or the like using the output ("1" or "0") of the AND gate 64 in the circuit shown in FIG. Also, the determination process from the even number or the odd number can be realized by using a simple flip-flop or the like.
FIGS. 13, 14, and 15 illustrate a third execution example, a fourth execution example, and a fifth execution example of copy protection according to the second embodiment, respectively. In each figure, (a) shows a configuration example of the output operation circuit 24a, and (b) shows the relationship between the input and output signal values.
[0055]
In the example of FIG. 13, the OR gate 70 is used to destroy the data of the output value by a combination of the flag signal (F2) and the normal output signal.
In the example of FIG. 14, the output value data is destroyed by the combination of the flag signal (F2), the address signal (A0), and the normal output signal using the inverter 80 and the two n-channel transistors 81 and 82. I am doing so.
[0056]
In the example of FIG. 15, the output value data is destroyed by the combination of the flag signal (F2) and the two normal output signals 1 and 2 using the inverter 90 and the four n-channel transistors 91 to 94. I have to. That is, in this example, when the flag is ON, the normal output signal 1 and the normal output signal 2 are interchanged and output.
[0057]
(2) As a means to cope with the request (2) for the prior art described above.
A normal semiconductor integrated circuit is shipped from a manufacturer after a shipping test is performed at the time of shipping to confirm that it is operating normally. In addition, the delivered ordering side may check the operation with a simple test, and further perform a board mounting test and the like.
In these cases, the operation check of the semiconductor integrated circuit itself is performed with a simple call pattern, and it is difficult to generate an actual operation pattern corresponding to a real machine in a shipment test or an acceptance test. Therefore, even if a semiconductor integrated circuit equipped with a copy countermeasure function is manufactured, it is difficult to guarantee test costs and reliability, and it is generally difficult to spread.
[0058]
On the other hand, if the method according to the present embodiment is used, if the location of the specific address area where the flag is turned off is known in part, if the address area and the area to be called are called alternately, for example, normal testing of all addresses is possible. It becomes.
Further, the group B and the address to be called may be called alternately. If an even number of calls are set, the copy countermeasure function will not operate if the same address is called continuously an even number of times.
[0059]
According to such a method, since it is not a specific bit, the calling method is not limited and the test time is slightly extended, but there is an advantage that it is not necessary to use a special dedicated test device or the like. In addition, if the area of group B is made small, the illegal copying side will not easily find the area of group B. However, including the countermeasures, the following requirement (3) will be addressed. Describe the means to do.
[0060]
(3) As a means to cope with the request (3) for the prior art described above.
2. Description of the Related Art With the increase in functionality and speed of devices for analyzing semiconductor integrated circuits in recent years, semiconductor integrated circuits equipped with a copy protection function have been analyzed relatively easily. Even in the case of the present embodiment, a circuit having a function of turning on the flag is analyzed, the circuit wiring on the chip is directly corrected, and as a result, it can be assumed that the flag is always turned off.
[0061]
In order to cope with this, in this embodiment, the wiring is multilayered so that processing cannot be performed in the upper wiring layer even if circuit correction is performed.
As another means, if the software producer understands the operation of the contents of the call data, the data output by the “operation of the contents of the call data” It is conceivable to intentionally convert the initial production data so that the data originally required is obtained.
[0062]
Advantages of this method are that the cost of the integrated circuit itself does not increase that much, and that even if the flag circuit is disabled directly from the chip and the data is called, the data is not normal normal data (copy prevention). Can be mentioned.
An execution example of copy protection according to this technique is shown in FIGS.
In the example of FIG. 16, it is assumed that the built-in data is inverted and output when the flag is ON. In addition, during the flag ON operation, the data corresponding to the address belonging to the A group is not affected, and the data corresponding to the address belonging to the B group is preceded by the flag OFF operation.
[0063]
In this way, the data intended by the customer who ordered the semiconductor integrated circuit (ROM device) becomes actual call data.
Similarly, in the example of FIG. 17, it is assumed that the built-in data is inverted and output when the flag is ON. In addition, the flag ON state is canceled by an even number of consecutive calls of addresses belonging to the A group, and data corresponding to addresses belonging to the A group is not affected during the flag ON operation.
[0064]
In this manner, the data intended by the customer who ordered the present semiconductor integrated circuit (ROM device) becomes the actual call data in the same manner as in the execution example of FIG.
FIG. 18 schematically shows the configuration of a ROM device with copy protection function according to a third embodiment of the present invention.
In the illustrated apparatus 100, input address signals A 0 to An are held in the address buffer 101, and the held address signal is supplied to the address decoder 102 on the one hand and to the encryption storage / coincidence detection circuit 103 on the other hand. Based on the decoding result of the address decoder 102, one of the word lines and bit lines in the memory cell array (ROM) 104 is selected, and the stored contents of the corresponding memory cells are read out. The read data is output as data D0 to Dm via the output circuit 105.
[0065]
The cipher memory / coincidence detection circuit 103 outputs a coincidence signal EQ when the output address of the address buffer 101 matches a specific cipher, and the flip-flop circuit (FF) 106 holds this. The output circuit 105 stops data output while the flip-flop circuit 106 holds the data, or outputs data other than the original data from the memory cell array 104. Instead of the output of the output circuit 105, the output of the address decoder 102 may be other than the original output.
[0066]
It is assumed that an address that matches the encryption is not used when the apparatus 100 is used in a normal usage pattern. In this way, use other than normal use (for example, illegal use such as plagiarism) can be prohibited.
Hereinafter, a configuration example of the encryption storage / coincidence detection circuit 103 will be described with reference to FIGS.
[0067]
For simplification of description, each configuration example shown in FIGS. 19 to 26 shows a case where the input address signal is 4 bits, that is, A0 to A3. The transistor shown in each figure is a metal / insulator / semiconductor (MIS) type FET. The p-channel type has an outward arrow, and the n-channel type has no arrow.
FIG. 19 shows a first configuration example (103A) of the encryption storage / coincidence detection circuit 103.
[0068]
In the illustrated encryption memory / coincidence detection circuit 103A, the source and gate of the load pMISFET 110 are connected to the power supply line VCC and the ground line, respectively, and the drain of the load FET 110 is connected to the input terminal of the inverter 111 on the one hand, It is connected to one end of the bit series circuit 112A. In the bit series circuit 112A, four basic circuits 120H, 121L, 122L, and 123H are connected in series, and the other end is connected to a ground line.
[0069]
In the basic circuit 120H, an nMISFET 120E and an nMISFET 120D are connected in series, an input terminal and an output terminal of an inverter 120X are connected to the gates of the FET 120E and the FET 120D, respectively, and an address signal A0 is supplied to the gate of the FET 120E. The FET 120E is an enhancement type, and its threshold voltage is between the high level and the low level, and is on when A0 is high and off when A0 is low. On the other hand, the FET 120D is a depletion type, and is turned on regardless of the output level of the inverter 120X. Accordingly, the basic circuit 120H is turned on only when the address signal A0 is at a high level.
[0070]
Note that the symbol H or L attached to the reference number of each basic circuit indicates that the signal is turned on when the potential of the control input terminal (that is, the address signal) is high or low.
The basic circuits 121L, 122L, and 123H are configured in the same manner as the basic circuit 120H, 121X, 122X, and 123X are inverters, 121E, 122E, and 123E are enhancement-type nMISFETs, and 121D, 122D, and 123D are depletion-type nMISFETs. . Address signals A1, A2, and A3 are supplied to control input terminals of the basic circuits 121L, 122L, and 123H, respectively.
[0071]
In the above configuration, the binary serial code '1001' is fixedly stored in the bit serial circuit 112A, and the bit serial circuit 112A is turned on only when the address signals A3 to A0 match this encryption, and the inverter 111 The coincidence signal EQ output from is at a high level, and in other cases (that is, when it does not coincide with the encryption), the coincidence signal EQ is at a low level.
[0072]
As a memory cell of the memory cell array 104 in FIG. 18, there is a type in which one nMISFET is used and its storage contents are determined depending on whether or not it is made a depletion type by ion implantation. In this case, the encryption storage / coincidence detection circuit 103A of FIG. 19 is used. As a result, the memory cell array 104 and the encryption storage / coincidence detection circuit 103A can be written with data in the same process, which eliminates the need for a special process for the encryption storage / coincidence detection circuit 103A.
[0073]
The depletion type nMISFETs 120D, 121D, 122D, and 123D may be formed so as to be turned on regardless of the gate potential level, and the depletion type can be further advanced by increasing the ion implantation amount. The source and the drain may be short-circuited. This also applies to other configuration examples described below.
[0074]
Since the encryption memory / coincidence detection circuit 103A according to the first configuration example is configured integrally with the encryption storage unit and the coincidence detection unit, the configuration is simple, the number of circuit elements is small, and the storage capacity of the memory cell array is increased. Is the preferred configuration today.
By the way, it is preferable that more ciphers are used for the purpose.
Therefore, as shown in FIG. 20, in the encryption storage / coincidence detection circuit 103B according to the second configuration example, the FETs 120D1 and 120D2 of the basic circuit 120 and the FETs 121D1 and 121D2 of the basic circuit 121 are made depletion type. As a result, the basic circuits 120 and 121 are turned on regardless of the level of each control input terminal (address signals A0 and A1).
[0075]
Accordingly, in the encryption storage / coincidence detection circuit 103B according to the second configuration example, the coincidence signal EQ is at a high level in any of binary numbers “0100” to “0111” in which the address signals A3 to A0 are continuous. The load pMISFET 110 is short-circuited between its gate and drain.
Also, for a plurality of ciphers, a plurality of continuous codes are preferred for that purpose rather than a single continuous code.
[0076]
Therefore, as shown in FIG. 21, in the encryption memory / coincidence detection circuit 103C according to the third configuration example, the FETs 120D1 and 120D2 of the basic circuit 120 and the FETs 123D1 and 123D2 of the basic circuit 123 that are not adjacent to the FET 120D1 are made a depletion type. ing. The bit series circuit 112C has one end connected to the power supply line VCC and the other end connected to the ground line via the load resistor 110A. The match signal EQ is output from the other end of the bit series circuit 112C. Is done. Note that the load resistor 110A may be an nMISFET in which the gate and the drain are short-circuited.
[0077]
According to the encryption storage / coincidence detection circuit 103C according to the third configuration example, the address signals A3 to A0 supplied to the bit serial circuit 112C are binary numbers “0010”, “0011”, “1010”, or “1011”. Only when the coincidence signal EQ is high.
There are various types of the memory cell array 104 described above. In any case, it is preferable that the encryption storage / coincidence detection circuit 103 can be formed by the same process as the memory cell array 104 because it is less expensive. Whether or not a single nMISFET is used as the memory cell of the memory cell array 104, and ions having the opposite polarity to those of the depletion type are implanted between the source and drain thereof, and the threshold voltage is set higher than a high level. That is, there is a type in which the stored contents are determined depending on whether or not a high threshold voltage type is used.
[0078]
In this case, for example, the encryption storage / coincidence detection circuit 103D of the fourth configuration example shown in FIG. 22 is used. In the figure, the x mark attached to the FET indicates that it is a high threshold voltage type.
In the encryption memory / coincidence detection circuit 103D according to the fourth configuration example, the bit series circuit 112D includes parallel-connected basic circuits 130L, 131H, 132, and 133L connected in series. In the basic circuit 130L, the FET 120T and the FET 120E are connected in parallel, the input terminal and the output terminal of the inverter 120X are connected to the gates of the FET 120T and the FET 120E, respectively, and the address signal A0 is supplied to the input terminal of the inverter 120X. The FET 120E is a normal enhancement type, whereas the FET 120T is a high threshold voltage type.
[0079]
In the basic circuits 131H and 133L, the FET 121T and the FET 123T are high threshold voltage types, respectively. Accordingly, the basic circuits 130L, 131H, and 133L are turned on when the control input terminals (address signals A0, A1, and A3) are at the low level, the high level, and the low level, respectively. On the other hand, the FET 122E1 and the FET 122E2 of the basic circuit 132 are both normal enhancement types, and therefore the basic circuit 132 is turned on regardless of the level of the control input terminal (address signal A2).
[0080]
In the encryption storage / coincidence detection circuit 103D according to the fourth configuration example, the coincidence signal EQ is at a high level only when the address signals A3 to A0 are binary numbers "0010" or "0110".
Further, as the memory cell of the memory cell array 104 described above, there is a type in which the memory content is determined by separating the source or drain depending on whether a contact hole is formed on the source or drain.
[0081]
In this case, for example, the encryption storage / coincidence detection circuit 103E of the fifth configuration example shown in FIG. 23 is used. In the figure, C attached to the reference numeral of the FET represents a floating type in which no contact hole is formed on the source.
In the illustrated bit series circuit 112E, the FETs 120C, 121C, and 123C in the basic circuits 140L, 141H, and 143L correspond to the FETs 120T, 121T, and 123T in FIG. 22, respectively. Other configurations are the same as those in FIG.
[0082]
In the first to fifth configuration examples described above, the case where the encryption code is written in the bit serial circuit has been described. However, the encryption code may be written in the bit parallel circuit. One example thereof is shown in FIG. 24 as a sixth configuration example.
In the encryption memory / coincidence detection circuit 103F according to the sixth configuration example, a bit parallel circuit 112F is connected between the load pMISFET 110 and the ground line. In the bit parallel circuit 112F, basic circuits 150L, 151H, 152Z, and 153L are connected in parallel. In the basic circuit 150L, nMISFETs 120T and 120E are connected in parallel, the FET 120E is a normal enhancement type, and the FET 120T is a high threshold voltage type. When the address buffer 101 shown in FIG. 18 is a complementary output type, the basic circuit does not require an inverter, and the address signal A0 and its logical inversion signal * A0 are supplied to the FET 120T and the FET 120E, respectively.
[0083]
The basic circuits 151H, 152Z, and 153L are configured in the same manner as the basic circuit 150L. Among the basic circuits 151H and 153L, the FETs 121T and 123T are high threshold voltage types, respectively. On the other hand, in the basic circuit 152Z, both the nMISFETs 122T1 and 122T2 are high threshold voltage types.
In the cipher memory / coincidence detection circuit 103F according to the sixth configuration example, the coincidence signal EQ is at a high level only when the address signals A3 to A0 are binary numbers "1001" or "1101".
Even in the bit parallel circuit, a depletion type nMISFET can be used. An example thereof is shown in FIG. 25 as a seventh configuration example.
[0084]
In the cipher memory / coincidence detection circuit 103G according to the seventh configuration example, the bit parallel circuit 112G has basic circuits 160L, 161H, 162Z, and 163H connected in parallel. In the basic circuit 160L, nMISFETs 120D and 120E are connected in series, the FET 120E is a normal enhancement type, and the FET 120D is a depletion type.
[0085]
The basic circuits 161H, 162Z, and 163H are configured in the same manner as the basic circuit 160L. Of these, the basic circuit 162Z is always in an off state because one of the enhancement type FETs 122E1 and 122E2 is turned off. Yes.
In the cipher memory / coincidence detection circuit 103G according to the seventh configuration example, the coincidence signal EQ is at a high level only when the address signals A3 to A0 are binary numbers "0001" or "0101".
[0086]
In each configuration example described above, when the cipher is a continuous code, the code starts from an even number and ends with an odd number. In the eighth configuration example (see FIG. 26) described below, this restriction is removed.
The cipher memory / coincidence detection circuit 103H according to the eighth configuration example has a configuration in which a plurality of bit series circuits 112A in the first configuration example (see FIG. 19) are connected in parallel. That is, the bit series circuits 112P, 112Q, and 112R are connected in parallel between the load pMISFET 110 and the ground line. The bit series circuit 112P has basic circuits 220H, 221H, 222L and 223L connected in series, the bit series circuit 112Q has basic circuits 320, 321, 322H and 323L connected in series, and the bit series circuit 112R has a basic circuit. 420L, 421L, 422L, and 423H are connected in series.
[0087]
The coincidence signal EQ is at a high level only when the bit series circuit 112P, 112Q or 112R is on. The bit series circuit 112P is turned on when the address signals A3 to A0 are binary numbers “0011”, and the bit series circuit 112Q is turned on when the address signals A3 to A0 are in the range of binary numbers “0100” to “0111”. The bit serial circuit 112R is turned on when the address signals A3 to A0 are binary numbers “1000”.
[0088]
Therefore, the coincidence signal EQ is at a high level when the address signals A3 to A0 are in the range of "0011" or "0100" to "1000", and the end of the continuous code is not an odd number but an even number.
The form of the encryption memory / coincidence detection circuit is not limited to the above-described configuration examples, and various other modifications are possible.
[0089]
For example, in FIG. 26, the memory content of the bit series circuits 112P, 112Q, and 112R is defined, and any one or any contact hole for connecting the drain of the load FET 110 and one end of the bit series circuits 112P, 112Q, and 112R It is also possible to easily manufacture a plurality of types of encryption for the mask ROM having the same stored contents.
[0090]
FIG. 27 schematically shows the configuration of a ROM device with a copy protection function according to the fourth embodiment of the present invention.
The memory cell array 500, the timing signal generation circuit 501, the address buffer 502, the row decoder 503, the column decoder 504, and the column gate 505 shown in the figure are respectively 10 to 15 in the configuration of the first embodiment (see FIG. 3). The data output circuit 506 corresponds to the constituent elements 16 and 17 in the first embodiment (see FIG. 3).
[0091]
A feature of the ROM device according to the present embodiment is that a scramble generation circuit 510 is provided in the preceding stage of the address buffer 502, and each bit of the input address signals A0 to An is scrambled and sent to the subsequent address buffer 502. This is the point. A broken line signal FLG input to the scramble generation circuit 510 indicates a scramble function activation signal, and CE indicates a chip enable signal (this is an external control signal CONT supplied to the timing signal generation circuit 501). Included).
[0092]
FIG. 28 shows an example of the configuration of the scramble generation circuit. However, in the illustrated example, for simplification of description, 2-bit address signals A0 and A0 are used.1A circuit configuration in which scramble is applied to is shown.
The scramble generation circuit shown in the figure includes address bit input terminals A0 and A0.1And n-channel transistors 531 and 532 connected between each of the address bit output terminals A0 'and each address bit input terminal A0 and A0.1And address bit output terminal A1N-channel transistors 533 and 534 connected to each other, and the gate of each transistor is connected to a low-potential power line Vss (0 V).
[0093]
Of the n-channel transistors 531 to 534, in the illustrated example, either one of the transistors 531 and 532 and one of the transistors 533 and 534 are processed by ion implantation used in the wafer process of the semiconductor integrated circuit. , Formed in advance as a depletion type transistor. Therefore, the remaining two transistors function as enhancement type transistors.
[0094]
In the illustrated connection configuration, since the gates of the n-channel transistors 531 to 534 are connected to the power supply line Vss, the transistor formed as a depletion type is always on and the transistor formed as an enhancement type is always off. It becomes.
Therefore, the address signals A0, A can be obtained by depleting the n-channel transistors 531 to 534 as appropriate.1Can be scrambled.
[0095]
For example, when the transistors 532 and 533 are depleted by ion implantation, the address bit A is connected to the address bit output terminal A0 ′.1Is output and the address bit output terminal A is1The address bit A0 is output to '. When the transistors 531 and 533 are depleted by ion implantation, the address bit output terminals A0 ′ and A1The address bit A0 is output to both.
[0096]
However, when the transistors 531 and 534 are depleted, the address bit output terminals A0 ′ and A1'To the original address bits A0 and A respectively1Is output, and the scramble function that is the intended purpose cannot be realized. Therefore, the combination is not depleted.
FIG. 29 shows another configuration example of the scramble generation circuit. Similarly, in the illustrated example, for simplification of description, 4-bit address signals A0 to A are used.ThreeA circuit configuration in which scramble is applied to is shown.
[0097]
The scramble generation circuit shown in the figure has each address bit input terminal A0-A.ThreeN-channel transistors 541 to 544 each having one end connected to each of the address bit input terminals A0 to AThreeN-channel transistors 545 to 548 each having one end connected to each other, n-channel transistors 550 connected between the other ends of the transistors 541 to 544 and the low-potential power supply line Vss (0 V), and transistors 545 to 548 N-channel transistors 551 to 554 connected between the other end of each of the transistors and the low-potential power line Vss, and logical operations (AND, OR, NOT, An AND circuit 560 that responds to the signal at the other end of the transistor 541 and the scramble function activation signal FLG, and an output signal from the arithmetic circuit 560 and the scramble function activation signal FLG. AND gate 562 and output signals of AND gates 561 and 562 And an OR gate 563 responsive to the address bit A0. The output terminal of the OR gate 563 is connected to the address bit output terminal A0 ′.
[0098]
The gates of the n-channel transistors 541 to 548 are connected to the low potential power line Vss, and the active low chip enable signal CE is applied to the gates of the other n-channel transistors 550 to 554. .
In the circuit configuration shown in FIG. 29, when the chip enable signal CE is at “H” level, all of the n-channel transistors 550 to 554 are turned on, whereby the level of the input terminal of the arithmetic circuit 560 and the AND gates 561 and 562 Since the level of the input terminal is Vss (“L” level), the scramble function does not work.
[0099]
On the other hand, when the chip enable signal CE is at the “L” level, the transistors 550 to 554 are turned off. Therefore, the address bits A0 to A depending on the on or off state of the n-channel transistors 541 to 548.ThreeIs input to the arithmetic circuit 560 and the AND gates 561 and 562. At this time, if the scramble function activation signal FLG is set to “H” level, the AND gates 561 and 562 are activated, so that the scramble function can be activated.
[0100]
29, the initial value of the arithmetic circuit 560 is set by controlling the transistors 551 to 554 with the chip enable signal CE, and the scramble function is turned on / off with the scramble function activation signal FLG. Switching off is performed.
Therefore, in the same manner as in the configuration example of FIG. 28 described above, depletion is achieved by appropriately performing ion implantation processing on the n-channel transistors 541 to 548 whose gates are connected to the low-potential power line Vss. Address signals A0-AThreeCan be scrambled in any form.
[0101]
As described above, according to the configuration of the fourth embodiment (see FIGS. 27 to 29), each bit of the input address signals A0 to An can be scrambled in an arbitrary form. The ROM data read from the memory cell array based on the address information is different from the correct data to be originally read. As a result, as in the above-described embodiments, it is possible to make it impossible to illegally copy by theft.
[0102]
FIG. 30 schematically shows the configuration of a ROM device with a copy protection function according to the fifth embodiment of the present invention.
A feature of the ROM device according to the present embodiment is that a pseudo random number generation circuit 520 that realizes a function equivalent to this is provided instead of the scramble generation circuit 510 in the fourth embodiment (see FIG. 27). .
[0103]
In the fourth embodiment described above, the scramble function is realized by previously changing the characteristics of the transistors constituting the scramble generation circuit in a process. However, in this embodiment, the transistor is based on the control input from the outside. The same scramble function is realized by changing the characteristics. Therefore, in this embodiment, the clock CLK is used as an external control input. This clock CLK may be supplied from the outside of this device (that is, the chip), or may be appropriately supplied from other circuits inside the chip.
[0104]
FIG. 31 shows an example of the configuration of the pseudorandom number generation circuit.
In comparison with the configuration of the scramble generation circuit shown in FIG. 28, each of the n-channel transistors 573 to 576 corresponds to the n-channel transistors 531 to 534, respectively. And (2) the output of the inverters 571 and 572 or the clock CLK is applied to the gates of the transistors 573 to 576.
[0105]
In the configuration example of FIG. 31, the address bit outputs A0 ′ and A0 using the clock CLK from the outside of the circuit.1By controlling the logic level of ', a scramble function equivalent to the scramble generation circuit of FIG. 28 is realized. That is, by controlling the clock CLK, input information (address signals A0, A when viewed from the outside of the circuit).1Regardless of (), uncertain data (pseudorandom number) is output.
[0106]
In the illustrated configuration example, when the clock CLK is at “H” level, the n-channel transistors 574 and 575 are turned on, while the outputs of the inverters 571 and 572 are at “L” level, so that the n-channel transistors 573 and 576 are turned on. Is turned off. As a result, the address bit A is output to the address bit output terminal A0 ′.1Is output and the address bit output terminal A is1The address bit A0 is output to '. That is, the scramble function works. On the other hand, when the clock CLK is set to "L" level, the address bit output terminals A0 'and A1'To the original address bits A0 and A respectively1Is output, so the scramble function does not work.
[0107]
As described above, according to the device configuration of the fifth embodiment (see FIGS. 30 and 31), the input address signals A0 to An can be scrambled based on the external control input (clock CLK). Similarly to the above-described fourth embodiment, illegal copying by theft can be made virtually impossible.
In the fourth and fifth embodiments described above, the scramble generation (or pseudo-random number generation) circuit is arranged so as to function with respect to the input address signals A0 to An, but the arrangement form of each circuit is not limited to this. Although not shown, for example, a scramble generation (or pseudo-random number generation) function may be used for data read from the memory cell array (that is, output information), or both input information and output information may be used. A scramble generation (or pseudo-random number generation) function may be activated.
[0108]
FIG. 32 schematically shows the configuration of a ROM device with a copy protection function according to the sixth embodiment of the present invention.
In the illustrated apparatus 600, an address decoder 602, a memory cell array 604, and an output circuit 605 correspond to the components 102, 104, and 105 in the configuration of the third embodiment (see FIG. 18), respectively, and the input circuit A part of the function 601 corresponds to the address buffer 101 of the third embodiment (see FIG. 18).
[0109]
The input circuit 601 includes an address buffer that responds to address signals A0 to An as a part of the input information IN, and an operation mode of the ROM device included in the input information (reading of original ROM data from the memory cell array 604). A function for controlling whether or not to output the trigger signal FIN based on data instructing a normal function such as an illegal function to prevent illegal copying due to theft). In the present embodiment, the trigger signal FIN is output when the data included in the input information IN indicates a special function, and the trigger signal FIN is not output in the case of the normal function.
[0110]
The feature of the ROM device according to the present embodiment is that when the power is turned off between the input circuit 601 and the output circuit 605 (power supply voltage Vcc → 0), the data held at that time is stored for a predetermined period. A power “off” detection and data holding circuit 603 having a function of continuing to hold the data. The output of the power “off” detection and data holding circuit 603 is supplied to the output circuit 605 as a determination signal FLAG, and is used to perform data output control or operation.
[0111]
FIG. 33 shows a configuration example of the power “off” detection and data holding circuit.
The illustrated circuit includes p-channel transistors 611 and 612 and an n-channel transistor 613 connected in series between a high-potential power line Vcc and a low-potential power line Vss, and is connected in parallel to the n-channel transistor 613. An n-channel transistor 614 and a CMOS inverter (p-channel transistor 615 and n-channel transistor 616) connected between the power supply lines Vcc and Vss and responding to signals at the output terminals (node N1) of the transistors 612 and 614 constituting the CMOS inverter. ), An n-channel transistor 617 having a source connected to the output ends of the CMOS inverters 615 and 616 and a gate connected to the power supply line Vcc, and a drain (node N2; this is connected to each gate of the transistors 612 and 614). Connected And a capacitor 618 connected between the power supply lines Vss and a CMOS inverter (p-channel transistor 619 and n-channel transistor 620) connected between the power supply lines Vcc and Vss and responding to the signal at the node N1. Have. The trigger signal FIN described above is input to the gates of the transistors 611 and 613 constituting the CMOS inverter, and the determination signal FLAG is taken out from the output terminals of the CMOS inverters 619 and 620 at the final stage.
[0112]
34 to 36 show various modifications of the main part (components 615 to 618) of the power “off” detection and data holding circuit, respectively.
First, in the first modification shown in FIG. 34, the transistors 631, 633, and 634 correspond to the transistors 615, 616, and 617, respectively, and the capacitor 635 is the capacitor 618 in comparison with the main configuration shown in FIG. The difference in configuration is that an n-channel transistor 632 having a gate connected to its drain is provided between the transistors 631 and 633.
[0113]
Next, in the second modified example shown in FIG. 35, the transistors 641, 642, and 644 correspond to the transistors 615, 616, and 617, respectively, and the capacitor 645 is a capacitor in comparison with the main configuration shown in FIG. The difference is that an n-channel transistor 643 whose gate is connected to the source is provided between the output terminals of the transistors 641 and 642 and the source of the transistor 644.
[0114]
Next, in the third modified example shown in FIG. 36, in contrast to the main configuration shown in FIG. 33, each of the transistors 651 and 652 corresponds to the transistors 615 and 616, and the capacitor 656 corresponds to the capacitor 618. The difference in configuration is that (1) two impedance elements 653 and 654 are connected in series between the power supply lines Vcc and Vss, and (2) between the output terminals of the transistors 651 and 652 and the node N2. In addition, an n-channel transistor 655 that responds to the potential at the connection point of the two impedance elements is provided.
[0115]
Next, the operation of the power “off” detection and data holding circuit (see FIG. 33) in this embodiment will be described with reference to the operation timing waveform shown in FIG.
In FIG. 37, (a) shows an operation timing waveform when the power supply voltage Vcc is raised before the level of the node N2 (potential of the capacitor 618) drops to the level of Vss, and (b) shows the level of the node N2. Shows an operation timing waveform when the power supply voltage Vcc is raised after the voltage drops to the level of Vss.
[0116]
First, t1~ T2If the input information IN includes data instructing a special function for preventing unauthorized copying at the time of, the trigger signal FIN is output in the form of an “H” level pulse. Accordingly, the transistor 613 is turned on, and the potential of the node N1 falls to the “L” level. In response, transistor 615 is turned on, the level of Vcc is transmitted to node N2 via transistor 617, and the potential of capacitor 618 rises to the “H” level (that is, charged to the level of Vcc).
[0117]
On the other hand, when the potential of the node N1 becomes “L” level, the transistor 619 of the CMOS inverter at the final stage is turned on, so that the determination signal FLAG rises to “H” level. Once the determination signal FLAG becomes “H” level, even if the input signal (trigger signal FIN) changes to “L” level thereafter, the “H” level state is maintained. This is because when the potential of the node N2 becomes “H” level, the transistor 614 is turned on, and the potential of the node N1 is maintained at “L” level (self-holding function).
[0118]
If the data indicating the normal function is included in the input information IN, the trigger signal FIN is not output and the determination signal FLAG becomes “L” level. In this case, the original ROM data is read from the memory cell array 604.
Then t2Assuming that the power supply is turned off at the time (power supply voltage Vcc → 0), the charge accumulated in the capacitor 618 is transferred from the drain region (n-type region) of the n-channel transistor 617 to the substrate (p-type region). Leaks as a reverse current. As a result, the level of the node N2 (the potential of the capacitor 618) gradually changes from the “H” level to the “L” level. This changing time depends on a time constant determined by the capacitance of the capacitor 618 and the leakage resistance.
[0119]
On the other hand, when the power supply voltage Vcc becomes 0 V (“L” level), the determination signal FLAG also falls to the “L” level.
Then, t before the level of the node N2 drops to the level of VssThreeIf the power supply voltage Vcc is raised at the time (see the operation timing waveform in FIG. 37A), when the level of the node N2 is equal to or higher than the threshold level of the p-channel transistor 612, the transistor 612 is still in the off state. Even if the p-channel transistor 611 is in the ON state, the level of the node N1 remains at the “L” level. Therefore, in this case, tThreeAt this time, the determination signal FLAG rises to the “H” level.
[0120]
On the other hand, t after the level of the node N2 drops to the level of VssFourWhen the power supply voltage Vcc is raised at the time point (see the operation timing waveform in FIG. 37B), the p-channel transistor 612 is turned on, whereby the level of the node N1 rises to the “H” level. . In response to this, the transistor 620 of the CMOS inverter at the final stage is turned on, so that the determination signal FLAG maintains the “L” level.
[0121]
In this way, before and after the power “OFF”, if the power “OFF” period is within a certain time, the determination signal FLAG remains at the “H” level and does not change. This means that the data of “H” level is held.
In other words, if the input information IN includes data instructing a special function for preventing unauthorized copying, this data is used as the “H” level trigger signal FIN as a power “off” detection and data holding circuit. Even if the power is turned off after that, if the period is within a certain time, the data of the special function is held at the “H” level.
[0122]
As described above, according to the apparatus configuration of the sixth embodiment (see FIGS. 32 to 37), the power is turned on within a certain time even when the power is unexpectedly turned off, thereby preventing unauthorized copying. Therefore, the illegal function copy by theft can be made virtually impossible based on the retained data.
[0123]
【The invention's effect】
  As explained above, according to the present invention,TheftIn practice, illegal copying can be made virtually impossible.
[Brief description of the drawings]
FIG. 1 is a principle configuration diagram of a semiconductor integrated circuit device with a copy protection function according to a first embodiment of the present invention;
FIG. 2 is a principle configuration diagram of a semiconductor integrated circuit device with a copy protection function according to a second embodiment of the present invention;
FIG. 3 is a block diagram schematically showing a configuration of a ROM device with a copy protection function according to the first embodiment of the present invention;
4 is a circuit diagram showing a configuration example of a comparison / determination unit and a specific address storage unit in FIG. 3;
FIGS. 5A and 5B are diagrams for explaining how to use the circuit of FIG. 4, in which FIG. 5A is a setting example of an operation mode of each transistor, and FIG. .
6 is a circuit diagram showing a configuration example of a flag circuit in FIG. 3. FIG.
7 is a circuit diagram showing a configuration example of a processing unit for output means in FIG. 3; FIG.
FIG. 8 is a block diagram schematically showing the configuration of a ROM device with a copy protection function according to a second embodiment of the present invention.
FIG. 9 is a diagram showing the relationship between calling a specific address area and flag ON / OFF according to the second embodiment.
FIG. 10 is a diagram for explaining a first execution example of copy prevention according to the second embodiment;
FIG. 11 is a diagram illustrating a configuration example of a specific address area detection circuit according to a first execution example;
FIG. 12 is a diagram for explaining a second execution example of copy prevention according to the second embodiment;
FIGS. 13A and 13B are diagrams for explaining a third execution example of copy prevention according to the second embodiment, where FIG. 13A is a configuration example of an output operation circuit, and FIG. 13B is a diagram illustrating a relationship between input and output signal values; It is.
FIGS. 14A and 14B are diagrams for explaining a fourth execution example of copy protection according to the second embodiment, where FIG. 14A is a configuration example of an output operation circuit, and FIG. 14B is a diagram illustrating a relationship between input and output signal values; It is.
FIGS. 15A and 15B are diagrams for explaining a fifth execution example of copy prevention according to the second embodiment, where FIG. 15A is a configuration example of an output operation circuit, and FIG. 15B is a diagram illustrating a relationship between input and output signal values; It is.
FIG. 16 is a diagram for explaining a sixth execution example of copy prevention according to the second embodiment;
FIG. 17 is a diagram for explaining a seventh execution example of copy prevention according to the second embodiment;
FIG. 18 is a block diagram schematically showing the configuration of a ROM device with a copy protection function according to a third embodiment of the present invention.
FIG. 19 is a circuit diagram showing a first configuration example of the encryption storage / coincidence detection circuit in FIG. 18;
20 is a circuit diagram showing a second configuration example of the encryption storage / coincidence detection circuit in FIG. 18;
FIG. 21 is a circuit diagram showing a third configuration example of the encryption storage / coincidence detection circuit in FIG. 18;
22 is a circuit diagram showing a fourth configuration example of the encryption storage / coincidence detection circuit in FIG. 18;
23 is a circuit diagram showing a fifth configuration example of the encryption storage / coincidence detection circuit in FIG. 18;
24 is a circuit diagram showing a sixth configuration example of the encryption storage / coincidence detection circuit in FIG. 18;
25 is a circuit diagram showing a seventh configuration example of the encryption memory / coincidence detection circuit in FIG. 18;
FIG. 26 is a circuit diagram showing an eighth configuration example of the encryption memory / coincidence detection circuit in FIG. 18;
FIG. 27 is a block diagram schematically showing the configuration of a ROM device with a copy protection function according to a fourth embodiment of the present invention.
28 is a circuit diagram showing a configuration example of a scramble generation circuit in FIG. 27. FIG.
29 is a circuit diagram showing another configuration example of the scramble generation circuit in FIG. 27. FIG.
FIG. 30 is a block diagram schematically showing the configuration of a ROM device with a copy protection function according to a fifth embodiment of the present invention.
31 is a circuit diagram showing a configuration example of a pseudo random number generation circuit in FIG. 30;
FIG. 32 is a block diagram schematically showing the configuration of a ROM device with a copy protection function according to a sixth embodiment of the present invention.
33 is a circuit diagram showing a configuration example of a power “off” detection and data holding circuit in FIG. 32;
34 is a circuit diagram showing a first modification of the main part in FIG. 33. FIG.
35 is a circuit diagram showing a second modification of the main part in FIG. 33. FIG.
36 is a circuit diagram showing a third modification of the main part in FIG. 33. FIG.
37 is an operation timing waveform chart of the circuit of FIG. 33. FIG.
[Explanation of symbols]
1 ... Storage means (stores data used by the user)
2 ... Input means (access to storage means)
3 ... (Output data from storage means) Output means
4 ... (comparison of input / output information or logic state with specific determination information)
5... Control means (to prevent normal output of data in specific cases)
6... Detecting / storing means (detecting / storing access of input information to a plurality of specific address areas)
7... Data operation means (operating the contents of output data)

Claims (5)

ユーザが使用するデータを格納する記憶手段と、
外部から入力されるアドレス情報に対して種々の論理的な処理を行い、前記記憶手段に対してアクセスを行う入力手段と、
前記記憶手段から前記データを出力する際に該データに対して種々の論理的な処理を行う出力手段と、
前記入力されたアドレス情報に対してそれぞれ属する複数の特定アドレス領域の情報を参照し、前記入力されたアドレス情報が該複数の特定アドレス領域のいずれの領域に対してアクセスを行ったかを検出しそのアクセス状態を記憶する検出/記憶手段と、
該記憶されたアクセス状態により前記入力されたアドレスの前記特定アドレス領域間の遷移条件を判断して、前記入力されたアドレスを加工または変更することにより、少なくとも前記出力手段に対して前記記憶手段から出力されるデータの内容を操作するように制御を行うデータ操作手段と、
を具備することを特徴とするコピー防止機能付半導体集積回路装置。
Storage means for storing data used by the user;
Input means for performing various logical processes on address information input from the outside and accessing the storage means;
Output means for performing various logical processes on the data when outputting the data from the storage means;
Reference is made to information of a plurality of specific address areas respectively belonging to the input address information, and it is detected to which area of the plurality of specific address areas the input address information has accessed. Detection / storage means for storing the access state;
By determining a transition condition between the specific address areas of the input address according to the stored access state, and processing or changing the input address, at least the output unit from the storage unit Data operating means for controlling the contents of the output data, and
A semiconductor integrated circuit device with a copy protection function, comprising:
前記検出/記憶手段は、前記入力情報が前記複数の特定アドレス領域のうち特定の領域に対して連続的にアクセスを行った回数を記憶し、前記データ操作手段は、該記憶された回数の条件判断に基づいて出力データの内容を操作するように制御を行うことを特徴とする請求項1に記載の装置。The detection / storage means stores the number of times that the input information continuously accesses a specific area among the plurality of specific address areas, and the data operation means stores the condition of the stored number of times. 2. The apparatus according to claim 1 , wherein control is performed so as to manipulate the contents of the output data based on the determination . 前記データ操作手段は、前記検出/記憶手段に記憶された特定の領域に対するアクセスの回数が偶数回か奇数回かに応じて出力データの内容を操作するように制御を行うことを特徴とする請求項に記載の装置。The data operation means performs control so as to manipulate the contents of output data according to whether the number of accesses to a specific area stored in the detection / storage means is an even number or an odd number. Item 3. The apparatus according to Item 2 . 前記複数の特定アドレス領域の情報を格納するメモリ手段を更に具備し、該複数の特定アドレス領域の情報は、半導体集積回路のウエハプロセスで該メモリ手段に固定化されることを特徴とする請求項1〜3のいずれか一項に記載の装置。The memory means for storing the information of the plurality of specific address areas is further provided, and the information of the plurality of specific address areas is fixed to the memory means by a wafer process of a semiconductor integrated circuit. The apparatus as described in any one of 1-3 . 前記複数の特定アドレス領域の情報を格納するメモリ手段を更に具備し、該複数の特定アドレス領域の情報は、必要に応じてユーザにより該メモリ手段に可変設定されることを特徴とする請求項1〜3のいずれか一項に記載の装置。It said plurality of comprises a memory means for storing information of a specific address area further claim 1 information of a particular address area of said plurality of, which is characterized in that is variably set in the memory means by the user as needed The apparatus as described in any one of -3 .
JP00333395A 1994-08-03 1995-01-12 Semiconductor integrated circuit device with copy protection function Expired - Lifetime JP3935515B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP00333395A JP3935515B2 (en) 1994-08-03 1995-01-12 Semiconductor integrated circuit device with copy protection function
US08/509,641 US5781627A (en) 1994-08-03 1995-07-31 Semiconductor integrated circuit device with copy-preventive function
KR1019950023935A KR100235390B1 (en) 1994-08-03 1995-08-03 Semiconductor integrated circuit device with copy prevention function

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP18236094 1994-08-03
JP23483494 1994-09-29
JP6-182360 1994-10-12
JP6-246241 1994-10-12
JP6-234834 1994-10-12
JP24624194 1994-10-12
JP00333395A JP3935515B2 (en) 1994-08-03 1995-01-12 Semiconductor integrated circuit device with copy protection function

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2005227243A Division JP2005332582A (en) 1994-08-03 2005-08-04 Semiconductor integrated circuit device with copy preventing function
JP2005227241A Division JP2006012411A (en) 1994-08-03 2005-08-04 Semiconductor integrated circuit device with copy preventing function

Publications (2)

Publication Number Publication Date
JPH08166908A JPH08166908A (en) 1996-06-25
JP3935515B2 true JP3935515B2 (en) 2007-06-27

Family

ID=27453842

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00333395A Expired - Lifetime JP3935515B2 (en) 1994-08-03 1995-01-12 Semiconductor integrated circuit device with copy protection function

Country Status (1)

Country Link
JP (1) JP3935515B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19922155A1 (en) * 1999-05-12 2000-11-23 Giesecke & Devrient Gmbh Memory arrangement and memory access procedure for microcomputers has an additional scrambling step to increase data security, for use in financial applications etc.
KR100492774B1 (en) * 2002-12-24 2005-06-07 주식회사 하이닉스반도체 Nonvolatile Memory Device Comprising Write Protected Region
JP5110701B2 (en) * 2008-05-01 2012-12-26 株式会社メガチップス Semiconductor memory device and computer system

Also Published As

Publication number Publication date
JPH08166908A (en) 1996-06-25

Similar Documents

Publication Publication Date Title
US9947391B1 (en) SRAM based physically unclonable function and method for generating a PUF response
EP2300909B1 (en) Secure random number generator
US8767445B2 (en) SRAM circuits for circuit identification using a digital fingerprint
JP2813663B2 (en) Safeguard against unauthorized protected data detection
JP2739643B2 (en) Integrated circuit with anti-fraud device for secretly storing and processing information
US20200243122A1 (en) Sram based physically unclonable function and method for generating a puf response
KR100816130B1 (en) System and method for automatically-detecting soft errors in latches of an integrated circuit
KR0178622B1 (en) Semiconductor memory device having security function
KR100235390B1 (en) Semiconductor integrated circuit device with copy prevention function
JP3935515B2 (en) Semiconductor integrated circuit device with copy protection function
JP3844915B2 (en) Semiconductor device
JP2006012411A (en) Semiconductor integrated circuit device with copy preventing function
JP2007157890A (en) Semiconductor integrated circuit and semiconductor device
US7292492B2 (en) SRAM, semiconductor memory device, method for maintaining data in SRAM, and electronic device
JP2005332582A (en) Semiconductor integrated circuit device with copy preventing function
JPH1027475A (en) Semiconductor integrated circuit device
US20040042251A1 (en) Nonvolatile ferroelectric memory control device
KR100844400B1 (en) Sram, semiconductor memory device, method for maintaining data in sram, and electronic device
US8856603B2 (en) Method for detecting and correcting errors for a memory whose structure shows dissymmetrical behavior, corresponding memory and its use
JP2001229677A (en) Sram cell with improved radiation resistance
US6384635B1 (en) Signal transmitting circuit
KR0177402B1 (en) Internal circuit protection circuit for semiconductor memory chip
JPH08147219A (en) Non-volatile semiconductor memory
US6240002B1 (en) Content addressable memory protection circuit and method
JPS62209793A (en) Output circuit

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060519

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: 20070220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070320

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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: 20100330

Year of fee payment: 3

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: 20100330

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

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: 20110330

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120330

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130330

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140330

Year of fee payment: 7

EXPY Cancellation because of completion of term