JPH0934796A - メモリ - Google Patents
メモリInfo
- Publication number
- JPH0934796A JPH0934796A JP7180265A JP18026595A JPH0934796A JP H0934796 A JPH0934796 A JP H0934796A JP 7180265 A JP7180265 A JP 7180265A JP 18026595 A JP18026595 A JP 18026595A JP H0934796 A JPH0934796 A JP H0934796A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- input
- order
- bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Storage Device Security (AREA)
Abstract
(57)【要約】
【課題】データの不正コピーを極めて難しくしたメモリ
を提供する。 【解決手段】複数のデータから成る配列が定義されたア
ドレス順検出部12に、その配列の最終に位置するデー
タと同一の所定の入力データが入力された際に、その所
定の入力データから入力順に遡った複数の入力データ
が、その配列に相当するか否かに応じて相互に異なるデ
ータDI16〜DI17を生成し、そのデータDI16
〜DI17と入力データDI0〜DI15とに基づいて
アドレスA0〜A17を生成しROMブロック11に供
給する。
を提供する。 【解決手段】複数のデータから成る配列が定義されたア
ドレス順検出部12に、その配列の最終に位置するデー
タと同一の所定の入力データが入力された際に、その所
定の入力データから入力順に遡った複数の入力データ
が、その配列に相当するか否かに応じて相互に異なるデ
ータDI16〜DI17を生成し、そのデータDI16
〜DI17と入力データDI0〜DI15とに基づいて
アドレスA0〜A17を生成しROMブロック11に供
給する。
Description
【0001】
【発明の属する技術分野】本発明は、コピー防止機能を
備えたメモリに関する。
備えたメモリに関する。
【0002】
【従来の技術】従来より、メモリの内容が不正にコピー
されるのを防止する方式が種々提案されている。例え
ば、特公平1−56413号公報には、正常な動作時に
はアクセスされることのないアドレス(ここではこれを
特定アドレスと称する)を1つもしくは複数記憶してお
いて、入力されたアドレスがその特定アドレスに一致し
た場合に、それ以降その入力されたアドレスを乱し、正
しいデータを得ることができないようにする方式が提案
されている。しかしながらここに提案された方式では、
入力されたデータがある特定アドレスに一致したときの
アドレスの乱れ方が特定アドレス毎に一定であるため、
例えば以下のようにして正しいデータを読み出すことが
でき、不正なコピーが可能である。
されるのを防止する方式が種々提案されている。例え
ば、特公平1−56413号公報には、正常な動作時に
はアクセスされることのないアドレス(ここではこれを
特定アドレスと称する)を1つもしくは複数記憶してお
いて、入力されたアドレスがその特定アドレスに一致し
た場合に、それ以降その入力されたアドレスを乱し、正
しいデータを得ることができないようにする方式が提案
されている。しかしながらここに提案された方式では、
入力されたデータがある特定アドレスに一致したときの
アドレスの乱れ方が特定アドレス毎に一定であるため、
例えば以下のようにして正しいデータを読み出すことが
でき、不正なコピーが可能である。
【0003】図5は、そのデータの読み出し方を示した
図である。ここではアドレスAd1とアドレスAd2の
2つのアドレスが特定アドレスとして設定されているも
のとし、先頭のアドレスA0から順に最終のアドレスA
6までアドレスを順次インクリメントしながらデータを
読み出すものとする。ここでは、現在入力しているアド
レスをアドレスAと標記する。 (1)先ず1回目のデータ読み出しサイクルでは、 (a)A0≦A<Ad1では正しい出力データが得られ
る。
図である。ここではアドレスAd1とアドレスAd2の
2つのアドレスが特定アドレスとして設定されているも
のとし、先頭のアドレスA0から順に最終のアドレスA
6までアドレスを順次インクリメントしながらデータを
読み出すものとする。ここでは、現在入力しているアド
レスをアドレスAと標記する。 (1)先ず1回目のデータ読み出しサイクルでは、 (a)A0≦A<Ad1では正しい出力データが得られ
る。
【0004】(b)Ad1≦A<Ad2では、出力デー
タはある乱れ方をする。 (c)Ad2≦A≦A6では、出力データは別の乱れ方
をする。 (2)次に電源を落とさずに、1回目の読出しサイクル
に続いて2回目の読出しサイクルに入る。 (a)A0≦A<Ad1では、出力データは、上記
(1)の(c)における乱れ方と同じ乱れ方をする。
タはある乱れ方をする。 (c)Ad2≦A≦A6では、出力データは別の乱れ方
をする。 (2)次に電源を落とさずに、1回目の読出しサイクル
に続いて2回目の読出しサイクルに入る。 (a)A0≦A<Ad1では、出力データは、上記
(1)の(c)における乱れ方と同じ乱れ方をする。
【0005】(b)Ad1≦A<Ad2では、出力デー
タは、上記(1)の(b)の乱れ方と同じ乱れ方をす
る。 (c)Ad2≦A≦A6では、出力データは、上記
(1)の(c)の乱れ方と同じ乱れ方をする。 上記(1),(2)の2回のデータ読出しにより得られ
た出力データどうしを比較することにより、2つの特定
アドレスAd1,Ad2のうち、特定アドレスAd1が
判明する。そこで、次に一旦電源を落とした後電源を再
投入して、上記と同様にアドレスを順次インクリメント
しながらデータ読出しを行なう。ただしアドレスAd1
は入力しないようこのアドレスAd1は飛ばすこととす
る。尚、アドレスAd1は、特定アドレスに一致してお
り、正常な読出しサイクルでは決してアクセスされるこ
とのないアドレスであるから、そこのデータが欠けるこ
とは何ら問題はない。 (3)上記のように、一旦電源を落とした後電源を再投
入し(すなわち初期化し)、3回目の読出しサイクルに
入る。ただしアドレスAd1は読み飛ばす。
タは、上記(1)の(b)の乱れ方と同じ乱れ方をす
る。 (c)Ad2≦A≦A6では、出力データは、上記
(1)の(c)の乱れ方と同じ乱れ方をする。 上記(1),(2)の2回のデータ読出しにより得られ
た出力データどうしを比較することにより、2つの特定
アドレスAd1,Ad2のうち、特定アドレスAd1が
判明する。そこで、次に一旦電源を落とした後電源を再
投入して、上記と同様にアドレスを順次インクリメント
しながらデータ読出しを行なう。ただしアドレスAd1
は入力しないようこのアドレスAd1は飛ばすこととす
る。尚、アドレスAd1は、特定アドレスに一致してお
り、正常な読出しサイクルでは決してアクセスされるこ
とのないアドレスであるから、そこのデータが欠けるこ
とは何ら問題はない。 (3)上記のように、一旦電源を落とした後電源を再投
入し(すなわち初期化し)、3回目の読出しサイクルに
入る。ただしアドレスAd1は読み飛ばす。
【0006】(a)A0≦A<Ad2では、正しい出力
データが得られる。 (b)Ad2≦A≦A6では、出力データは,上記
(1)の(c)ないし上記(2)の(c)と同じ乱れ方
をする。 (4)次に電源を落とさずに、3回目の読出しサイクル
に続いて4回目の読出しサイクルに入る。ただしこのと
きもアドレスAd1は読み飛ばす。
データが得られる。 (b)Ad2≦A≦A6では、出力データは,上記
(1)の(c)ないし上記(2)の(c)と同じ乱れ方
をする。 (4)次に電源を落とさずに、3回目の読出しサイクル
に続いて4回目の読出しサイクルに入る。ただしこのと
きもアドレスAd1は読み飛ばす。
【0007】(a)A0≦A<A6の全域で、上記
(3)の(c)と同じ乱れ方をする。 上記(3),(4)の2回の読出しにより得られた出力
データをどうしを比較することにより、今度は特定アド
レスAd2が判明する。以上を繰り返すことにより、特
定アドレスがいくつ存在していても最終的に正しいデー
タを読み出すことができ、データの不正コピーが可能と
なる。
(3)の(c)と同じ乱れ方をする。 上記(3),(4)の2回の読出しにより得られた出力
データをどうしを比較することにより、今度は特定アド
レスAd2が判明する。以上を繰り返すことにより、特
定アドレスがいくつ存在していても最終的に正しいデー
タを読み出すことができ、データの不正コピーが可能と
なる。
【0008】また、特開平4−74240公報には、特
定アドレスを記憶しておいて入力されたアドレスが特定
アドレスと一致したときに、それ以降メモリから読み出
されたデータを乱すという方式が提案されている。上述
した提案と比べると、入力されるアドレスを乱すか読み
出されたデータを乱すかという相違のほか、擬似ランダ
ム回路を備えデータをランダムに乱しているという相違
がある。アドレスを乱すかデータを乱すかは、如何にし
て正しいデータを読み出すかという観点からは全く同一
に考えることができる。アドレスないしデータをランダ
ムに乱している場合は、例えば以下のようにして正しい
データを読み出すことができ、やはり不正なコピーが可
能である。
定アドレスを記憶しておいて入力されたアドレスが特定
アドレスと一致したときに、それ以降メモリから読み出
されたデータを乱すという方式が提案されている。上述
した提案と比べると、入力されるアドレスを乱すか読み
出されたデータを乱すかという相違のほか、擬似ランダ
ム回路を備えデータをランダムに乱しているという相違
がある。アドレスを乱すかデータを乱すかは、如何にし
て正しいデータを読み出すかという観点からは全く同一
に考えることができる。アドレスないしデータをランダ
ムに乱している場合は、例えば以下のようにして正しい
データを読み出すことができ、やはり不正なコピーが可
能である。
【0009】図6は、そのデータの読み出し方を示した
図である。ここでは、図5の場合と同様、アドレスAd
1とアドレスAd2の2つのアドレスが特定アドレスと
して設定されているものとし、先頭のアドレスA0から
順に最後のアドレスA6までアドレスを順次インクリメ
ントしながらデータを読み出すものとする。 (1)先ず1回目のデータ読み出しサイクルでは、 (a)A0≦A<Ad1では、正しい出力データが得ら
れる。
図である。ここでは、図5の場合と同様、アドレスAd
1とアドレスAd2の2つのアドレスが特定アドレスと
して設定されているものとし、先頭のアドレスA0から
順に最後のアドレスA6までアドレスを順次インクリメ
ントしながらデータを読み出すものとする。 (1)先ず1回目のデータ読み出しサイクルでは、 (a)A0≦A<Ad1では、正しい出力データが得ら
れる。
【0010】(b)Ad1≦A≦A6では、出力データ
はある乱れ方をする。 (2)次に電源を一旦切り、再投入して2回目のデータ
読出しを行なう。 (a)A0≦A<Ad1では、正しい出力データが得ら
れる。 (b)Ad1≦A≦A6では、出力データは,上記
(1)の(b)とは別の乱れ方をする。
はある乱れ方をする。 (2)次に電源を一旦切り、再投入して2回目のデータ
読出しを行なう。 (a)A0≦A<Ad1では、正しい出力データが得ら
れる。 (b)Ad1≦A≦A6では、出力データは,上記
(1)の(b)とは別の乱れ方をする。
【0011】上記(1),(2)の2回のデータ読出し
により得られた出力データどうしを比較することによ
り、2つの特定アドレスAd1,Ad2のうち、特定ア
ドレスAd1が判明する。 (3)次に、再度電源を切り電源を再投入して3回目の
データ読出しを行なう。ただしアドレスAd1は読み飛
ばす。
により得られた出力データどうしを比較することによ
り、2つの特定アドレスAd1,Ad2のうち、特定ア
ドレスAd1が判明する。 (3)次に、再度電源を切り電源を再投入して3回目の
データ読出しを行なう。ただしアドレスAd1は読み飛
ばす。
【0012】(a)A0≦A<Ad2では、正しい出力
データが得られる。 (b)Ad2≦A≦A6では、出力データは,ある乱れ
方をする。 (4)次にもう一度電源を切り電源を再投入して4回目
のデータ読出を行なう。ただしアドレスAd1は読み飛
ばす。 (a)A0≦A<Ad2では、正しい出力データが得ら
れる。
データが得られる。 (b)Ad2≦A≦A6では、出力データは,ある乱れ
方をする。 (4)次にもう一度電源を切り電源を再投入して4回目
のデータ読出を行なう。ただしアドレスAd1は読み飛
ばす。 (a)A0≦A<Ad2では、正しい出力データが得ら
れる。
【0013】(b)Ad2≦A≦A6では、出力データ
は、上記(3)の(b)とは別の乱れ方をする。 上記(3),(4)の2回のデータ読出しにより得られ
た出力データどうしを比較することにより、今度は特定
アドレスAd2が判明する。以上を繰り返すことによ
り、特定アドレスがいくつ存在していても最終的に正し
いデータを読み出すことができ、データの不正コピーが
可能となる。
は、上記(3)の(b)とは別の乱れ方をする。 上記(3),(4)の2回のデータ読出しにより得られ
た出力データどうしを比較することにより、今度は特定
アドレスAd2が判明する。以上を繰り返すことによ
り、特定アドレスがいくつ存在していても最終的に正し
いデータを読み出すことができ、データの不正コピーが
可能となる。
【0014】
【発明が解決しようとする課題】以上のように、従来の
提案においては、アドレスないしデータの乱れ方が一定
であってもあるいはランダムであってもデータの不正コ
ピーが可能である。本発明は、上記事情に鑑み、データ
の不正コピーを極めて難しくしたメモリを提供すること
を目的とする。
提案においては、アドレスないしデータの乱れ方が一定
であってもあるいはランダムであってもデータの不正コ
ピーが可能である。本発明は、上記事情に鑑み、データ
の不正コピーを極めて難しくしたメモリを提供すること
を目的とする。
【0015】
【課題を解決するための手段】上記目的を達成する本発
明のメモリは、 (1)各アドレスに対応するデータが格納されアドレス
を入力することにより入力されたアドレスに対応するデ
ータを出力する読出し専用のメモリ部 (2)複数のデータから成る配列が定義され、その配列
の最終に位置するデータと同一の所定の入力データが入
力された際にその所定の入力データから入力順に遡った
複数の入力データが上記配列に相当するか否かに応じて
相互に異なるデータを生成し、その生成されたデータと
入力データとに基づいてアドレスを生成して上記メモリ
部に供給するアドレス生成部を備えたことを特徴とす
る。
明のメモリは、 (1)各アドレスに対応するデータが格納されアドレス
を入力することにより入力されたアドレスに対応するデ
ータを出力する読出し専用のメモリ部 (2)複数のデータから成る配列が定義され、その配列
の最終に位置するデータと同一の所定の入力データが入
力された際にその所定の入力データから入力順に遡った
複数の入力データが上記配列に相当するか否かに応じて
相互に異なるデータを生成し、その生成されたデータと
入力データとに基づいてアドレスを生成して上記メモリ
部に供給するアドレス生成部を備えたことを特徴とす
る。
【0016】
【発明の実施の形態】以下、本発明の実施の形態につい
て説明する。図1は、本発明のメモリの第1の実施形態
を表わす機能ブロック図である。図1に示すメモリ10
は、ROMブロック11(本発明にいうメモリ部)とア
ドレス順検出部12(本発明にいうアドレス生成部)を
備えている。ROMブロック11には、各アドレスに対
応するデータが格納されており、入力されたアドレスに
対応する8ビットのデータDO0〜DO7が出力データ
線15を介して外部に出力される。
て説明する。図1は、本発明のメモリの第1の実施形態
を表わす機能ブロック図である。図1に示すメモリ10
は、ROMブロック11(本発明にいうメモリ部)とア
ドレス順検出部12(本発明にいうアドレス生成部)を
備えている。ROMブロック11には、各アドレスに対
応するデータが格納されており、入力されたアドレスに
対応する8ビットのデータDO0〜DO7が出力データ
線15を介して外部に出力される。
【0017】一方、アドレス順検出部12には、入力デ
ータ線13を介して16ビットの入力データDI0〜D
I15が入力される。入力データDI0〜DI15はこ
の実施形態ではROMブロック11のアドレスの一部で
あって、この入力データDI0〜DI15自体ではRO
Mブロック11のアドレスは完成しないが、この図1に
示すメモリ10のユーザには、この入力データDI0〜
DI15がアドレスであるとアナウンスされる。
ータ線13を介して16ビットの入力データDI0〜D
I15が入力される。入力データDI0〜DI15はこ
の実施形態ではROMブロック11のアドレスの一部で
あって、この入力データDI0〜DI15自体ではRO
Mブロック11のアドレスは完成しないが、この図1に
示すメモリ10のユーザには、この入力データDI0〜
DI15がアドレスであるとアナウンスされる。
【0018】またアドレス順検出部12では、後述する
複数のデータから成る配列が定義されており、その配列
の最終に位置するデータと同一の所定の入力データが入
力された際に、その所定の入力データから入力順に遡っ
た複数の入力データがその定義された配列に相当するか
否かに応じて相互に異なる2ビットのデータを生成して
ラッチする。その詳細は後述する。生成され、ラッチさ
れた2ビットのデータとその後入力された16ビットの
入力データDI0〜DI15とに基づいて18ビットか
ら成るアドレスA0〜A17が生成されROMブロック
部11に供給される。この実施形態においては、アドレ
ス順検出部12で生成された2ビットのデータがラッチ
されて、ROMブロック11の18ビットのアドレスA
0〜A17のうちの上位2ビットとしてROMブロック
11に供給されるとともに、16ビットの入力データD
I0〜DI15がROMブロック11の18ビットのア
ドレスA0〜A17のうちの下位16ビットとしてRO
Mブロック11に供給される。この実施形態では、この
ことが本発明にいう、アドレスの生成に相当する。
複数のデータから成る配列が定義されており、その配列
の最終に位置するデータと同一の所定の入力データが入
力された際に、その所定の入力データから入力順に遡っ
た複数の入力データがその定義された配列に相当するか
否かに応じて相互に異なる2ビットのデータを生成して
ラッチする。その詳細は後述する。生成され、ラッチさ
れた2ビットのデータとその後入力された16ビットの
入力データDI0〜DI15とに基づいて18ビットか
ら成るアドレスA0〜A17が生成されROMブロック
部11に供給される。この実施形態においては、アドレ
ス順検出部12で生成された2ビットのデータがラッチ
されて、ROMブロック11の18ビットのアドレスA
0〜A17のうちの上位2ビットとしてROMブロック
11に供給されるとともに、16ビットの入力データD
I0〜DI15がROMブロック11の18ビットのア
ドレスA0〜A17のうちの下位16ビットとしてRO
Mブロック11に供給される。この実施形態では、この
ことが本発明にいう、アドレスの生成に相当する。
【0019】次に、アドレス順検出部12の概略回路図
及び動作について説明する。図2は、アドレス順検出部
12の概略回路図である。また、図3は、ROMブロッ
ク11に格納された、コピー防止の対象となるプログラ
ムである。まず、図2に示す入力データ線13を介し
て、上述した16ビットの入力データDI0〜DI15
が、N個の一致ブロック243から成る一致検出部24
1に入力される。同時に、帰還レジスタ242に格納さ
れたデータもこの一致検出部241に入力され、この帰
還レジスタ242に格納されたデータと入力データDI
0〜DI15の両方に一致する一致ブロック243のワ
ード線243wがアクティブとなる。これにより、メモ
リデータ部244の、その真横のメモリブロック245
が選択される。
及び動作について説明する。図2は、アドレス順検出部
12の概略回路図である。また、図3は、ROMブロッ
ク11に格納された、コピー防止の対象となるプログラ
ムである。まず、図2に示す入力データ線13を介し
て、上述した16ビットの入力データDI0〜DI15
が、N個の一致ブロック243から成る一致検出部24
1に入力される。同時に、帰還レジスタ242に格納さ
れたデータもこの一致検出部241に入力され、この帰
還レジスタ242に格納されたデータと入力データDI
0〜DI15の両方に一致する一致ブロック243のワ
ード線243wがアクティブとなる。これにより、メモ
リデータ部244の、その真横のメモリブロック245
が選択される。
【0020】各メモリブロック245は、帰還レジスタ
制御フラグ245a、帰還データ245b、出力データ
245cおよびラッチ制御信号245dより成ってい
る。一方、一致ブロック243は、アドレスデータ一致
部243aおよび帰還データ一致部243bより成って
いる。ここで、図3に示すプログラムがアドレス000
000からスタートし、アドレス001000のジャン
プ命令でアドレス002800にジャンプする。すると
プログラムはアドレス002800に格納された正規の
プログラムを実行し、アドレス003000に達する。
ここまでは、入力データ線13を介して入力された入力
データDI0〜DI15のなかには、一致検出部241
に格納されたデータと一致するデータはなく、このため
ラッチ246は、その状態を変えることはなく、そのラ
ッチ246のデータDI17,DI16は、ここでは”
0’,’0’である。
制御フラグ245a、帰還データ245b、出力データ
245cおよびラッチ制御信号245dより成ってい
る。一方、一致ブロック243は、アドレスデータ一致
部243aおよび帰還データ一致部243bより成って
いる。ここで、図3に示すプログラムがアドレス000
000からスタートし、アドレス001000のジャン
プ命令でアドレス002800にジャンプする。すると
プログラムはアドレス002800に格納された正規の
プログラムを実行し、アドレス003000に達する。
ここまでは、入力データ線13を介して入力された入力
データDI0〜DI15のなかには、一致検出部241
に格納されたデータと一致するデータはなく、このため
ラッチ246は、その状態を変えることはなく、そのラ
ッチ246のデータDI17,DI16は、ここでは”
0’,’0’である。
【0021】次にアドレス003000がアクセスされ
ると、このアドレス003000を生成するための入力
データDI0〜DI15によるデータ3000が一致検
出部241に入力される。この時一致検出部241の第
4番目の一致ブロック243のアドレスデータ一致部2
43aに3000が入っている。また、その第4番目の
一致ブロック243の帰還データ一致部243bは、ド
ントケア状態(どのようなデータに対しても一致したも
のとみなす状態)に設定されている。この結果、第4番
目の一致ブロック243に一致が発生し、そのワード線
243wがアクティブとなり、同図真横の第4番目のメ
モリブロック245が選択される。また、帰還レジスタ
制御フラグ245aの’1’信号を遅延回路249で遅
延することにより生成された帰還レジスタ制御信号によ
って帰還データ245bの’1’データが、帰還レジス
タ242に入力される。このとき、ラッチ制御信号24
5dは’0’であるため、ラッチ246は、その状態を
変えることはなく、そのラッチ246の出力データDI
17,DI16は、”0’,’0’のままである。
ると、このアドレス003000を生成するための入力
データDI0〜DI15によるデータ3000が一致検
出部241に入力される。この時一致検出部241の第
4番目の一致ブロック243のアドレスデータ一致部2
43aに3000が入っている。また、その第4番目の
一致ブロック243の帰還データ一致部243bは、ド
ントケア状態(どのようなデータに対しても一致したも
のとみなす状態)に設定されている。この結果、第4番
目の一致ブロック243に一致が発生し、そのワード線
243wがアクティブとなり、同図真横の第4番目のメ
モリブロック245が選択される。また、帰還レジスタ
制御フラグ245aの’1’信号を遅延回路249で遅
延することにより生成された帰還レジスタ制御信号によ
って帰還データ245bの’1’データが、帰還レジス
タ242に入力される。このとき、ラッチ制御信号24
5dは’0’であるため、ラッチ246は、その状態を
変えることはなく、そのラッチ246の出力データDI
17,DI16は、”0’,’0’のままである。
【0022】その後、アドレス003000のジャンプ
命令により、アドレス003000,003001,0
03002,00A000の順にアクセスされる。この
とき一致検出部241の第2番目の一致ブロック243
のアドレスデータ一致部243aにはA000が記憶さ
れており、またこの一致ブロック243の帰還データ一
致部243bには予め’1’の値が記憶されているた
め、アドレス00A000を生成するための入力データ
DI0〜DI15によるデータA000が一致検出部2
41に入力されると、一致検出部241の第2番目の一
致ブロック243のアドレスデータ一致部243aが一
致する。また帰還データ一致部243bの値も一致する
ことになり、その結果この第2番目の一致ブロック24
3のワード線243wが立ち上がり、その真横のメモリ
ブロック245が選択される。
命令により、アドレス003000,003001,0
03002,00A000の順にアクセスされる。この
とき一致検出部241の第2番目の一致ブロック243
のアドレスデータ一致部243aにはA000が記憶さ
れており、またこの一致ブロック243の帰還データ一
致部243bには予め’1’の値が記憶されているた
め、アドレス00A000を生成するための入力データ
DI0〜DI15によるデータA000が一致検出部2
41に入力されると、一致検出部241の第2番目の一
致ブロック243のアドレスデータ一致部243aが一
致する。また帰還データ一致部243bの値も一致する
ことになり、その結果この第2番目の一致ブロック24
3のワード線243wが立ち上がり、その真横のメモリ
ブロック245が選択される。
【0023】このとき、帰還レジスタ制御フラグ245
aは’1’であり、この’1’信号を遅延回路249で
遅延することにより生成された帰還レジスタ制御信号に
よって帰還データ245bの’0’データが帰還レジス
タ242に入力される。さらに、ラッチ制御信号245
dは’1’のため、出力データ245cの出力’01’
がラッチ246にラッチされる。この出力’01’はラ
ッチ246からデータDI17,DI16として出力さ
れる。これによりROMブロック11に供給されるアド
レスは、ラッチされ生成されたデータDI17,DI1
6とその後入力された入力データDI0〜DI15とに
基づいて生成されたアドレス01A000となるので、
アドレス01A000からの正規のプログラムが実行さ
れる。このようにして、正しいアドレス順が与えられた
時の動作が行われる。
aは’1’であり、この’1’信号を遅延回路249で
遅延することにより生成された帰還レジスタ制御信号に
よって帰還データ245bの’0’データが帰還レジス
タ242に入力される。さらに、ラッチ制御信号245
dは’1’のため、出力データ245cの出力’01’
がラッチ246にラッチされる。この出力’01’はラ
ッチ246からデータDI17,DI16として出力さ
れる。これによりROMブロック11に供給されるアド
レスは、ラッチされ生成されたデータDI17,DI1
6とその後入力された入力データDI0〜DI15とに
基づいて生成されたアドレス01A000となるので、
アドレス01A000からの正規のプログラムが実行さ
れる。このようにして、正しいアドレス順が与えられた
時の動作が行われる。
【0024】次に、不正な順でアクセスされた場合につ
いて説明する。例えば、違法コピーが行われた場合に
は、アドレス003000、003001、00300
2、003003の順にアクセスされる。このとき、一
致検出部241の第5番目のアドレスデータ一致部24
3aに3003が記憶されており、帰還データ一致部2
43bには1が記憶されており、かつ帰還レジスタ24
2には’1’データが記憶されているので一致が発生す
る。続いて帰還レジスタ制御フラグ245aの’1’の
信号を遅延回路249で遅延することにより生成された
帰還レジスタ制御信号によって帰還データ245bの’
0’データが帰還レジスタ242に入力される。しか
し、ラッチ制御信号245dは’0’なのでラッチ24
6はその状態を変えることはなく、従ってラッチ246
の出力データDI17,DI16は’0’,’0’のま
まである。このためROMブロック11には、アドレス
00A000が供給され、ROMブロック11からこの
アドレス00A000に対応するダミーのプログラムが
読み出される。このようにして、ROMブロック11の
違法コピーをしようとしても正規のプログラムが読み出
せないことになる。
いて説明する。例えば、違法コピーが行われた場合に
は、アドレス003000、003001、00300
2、003003の順にアクセスされる。このとき、一
致検出部241の第5番目のアドレスデータ一致部24
3aに3003が記憶されており、帰還データ一致部2
43bには1が記憶されており、かつ帰還レジスタ24
2には’1’データが記憶されているので一致が発生す
る。続いて帰還レジスタ制御フラグ245aの’1’の
信号を遅延回路249で遅延することにより生成された
帰還レジスタ制御信号によって帰還データ245bの’
0’データが帰還レジスタ242に入力される。しか
し、ラッチ制御信号245dは’0’なのでラッチ24
6はその状態を変えることはなく、従ってラッチ246
の出力データDI17,DI16は’0’,’0’のま
まである。このためROMブロック11には、アドレス
00A000が供給され、ROMブロック11からこの
アドレス00A000に対応するダミーのプログラムが
読み出される。このようにして、ROMブロック11の
違法コピーをしようとしても正規のプログラムが読み出
せないことになる。
【0025】続いて、図3に示すアドレス015000
からのプログラムの例について説明する。アドレス01
5000のうち入力データDI0〜DI15によるデー
タ5000が一致検出部241に入力されると、一致検
出部241の第N番目のアドレスデータ一致部243a
に5000が記憶されているのでアドレス003000
の場合と同様に動作し、第N番目のアドレスデータ一致
部243aに対応する帰還データ245bの’1’デー
タが帰還レジスタ242に保持される。
からのプログラムの例について説明する。アドレス01
5000のうち入力データDI0〜DI15によるデー
タ5000が一致検出部241に入力されると、一致検
出部241の第N番目のアドレスデータ一致部243a
に5000が記憶されているのでアドレス003000
の場合と同様に動作し、第N番目のアドレスデータ一致
部243aに対応する帰還データ245bの’1’デー
タが帰還レジスタ242に保持される。
【0026】さて、正しくプログラムを実行している場
合は、アドレス015000のジャンプ命令により、ア
ドレス015001,015002,002000の順
にアクセスされる。このとき一致検出部241の第1番
目のアドレスデータ一致部243aに2000が記憶さ
れており、帰還データ一致部243bには1が記憶され
ており、かつ帰還レジスタ242には1が記憶されてい
るので一致が発生する。続いて帰還レジスタ制御フラグ
245aの’1’信号を遅延回路249で遅延すること
により生成された帰還レジスタ制御信号によって帰還デ
ータ245bの’0’データが帰還レジスタ242に入
力される。しかし、ラッチ制御信号245dは’0’な
のでラッチ246はその状態を変えることはなく、従っ
てデータDI17,DI16は依然として’0’,’
1’であり、ROMブロック11に供給されるアドレス
はアドレス012000となり正規のプログラムが読み
出される。
合は、アドレス015000のジャンプ命令により、ア
ドレス015001,015002,002000の順
にアクセスされる。このとき一致検出部241の第1番
目のアドレスデータ一致部243aに2000が記憶さ
れており、帰還データ一致部243bには1が記憶され
ており、かつ帰還レジスタ242には1が記憶されてい
るので一致が発生する。続いて帰還レジスタ制御フラグ
245aの’1’信号を遅延回路249で遅延すること
により生成された帰還レジスタ制御信号によって帰還デ
ータ245bの’0’データが帰還レジスタ242に入
力される。しかし、ラッチ制御信号245dは’0’な
のでラッチ246はその状態を変えることはなく、従っ
てデータDI17,DI16は依然として’0’,’
1’であり、ROMブロック11に供給されるアドレス
はアドレス012000となり正規のプログラムが読み
出される。
【0027】一方、不正なアクセスが行なわれ、アドレ
ス015001、015002、015003の順にア
クセスされた場合は、一致検出部241の第3番目のア
ドレスデータ一致部243aに5003が記憶されてお
り、また帰還データ243bには1が記憶されており、
かつ、帰還レジスタ242には1が記憶されているの
で、一致検出部241に入力データDI0〜DI15に
よるデータ5003が入力された時に一致が発生する。
続いて帰還レジスタ制御フラグ245aの’1’信号を
遅延回路249で遅延することにより生成された帰還レ
ジスタ制御信号によって帰還データ245bの’0’デ
ータが帰還レジスタ242に入力される。さらに、ラッ
チ制御信号245dは’1’なので、出力データ245
cの出力’00’がラッチ246にラッチされる。従っ
て、データDI17,DI16は’0’,’0’とな
り、ROMブロック11にはアドレス002000が供
給され、ROMブロック11からダミーのプログラムが
読み出される。
ス015001、015002、015003の順にア
クセスされた場合は、一致検出部241の第3番目のア
ドレスデータ一致部243aに5003が記憶されてお
り、また帰還データ243bには1が記憶されており、
かつ、帰還レジスタ242には1が記憶されているの
で、一致検出部241に入力データDI0〜DI15に
よるデータ5003が入力された時に一致が発生する。
続いて帰還レジスタ制御フラグ245aの’1’信号を
遅延回路249で遅延することにより生成された帰還レ
ジスタ制御信号によって帰還データ245bの’0’デ
ータが帰還レジスタ242に入力される。さらに、ラッ
チ制御信号245dは’1’なので、出力データ245
cの出力’00’がラッチ246にラッチされる。従っ
て、データDI17,DI16は’0’,’0’とな
り、ROMブロック11にはアドレス002000が供
給され、ROMブロック11からダミーのプログラムが
読み出される。
【0028】このように、アドレス順を検出し、ROM
ブロック11に供給されるアドレスを制御することによ
り、不正なアドレス動作におけるコピーが防止される。
尚、この例では、ラッチ246を制御することによりR
OMブロック11に供給されるアドレスを生成したが、
ラッチ246に代わるセレクタを制御してROMブロッ
ク11に供給されるアドレスを生成してもよい。
ブロック11に供給されるアドレスを制御することによ
り、不正なアドレス動作におけるコピーが防止される。
尚、この例では、ラッチ246を制御することによりR
OMブロック11に供給されるアドレスを生成したが、
ラッチ246に代わるセレクタを制御してROMブロッ
ク11に供給されるアドレスを生成してもよい。
【0029】図4は、本発明のメモリの第2の実施形態
を表わす機能ブロック図である。図4に示すメモリ40
は、図1に示すメモリ10と比較すると、アドレス順検
出部12からのデータDI16,DI17がそのアドレ
ス順検出部12に入力されている点が異なっている。こ
のようにデータDI16,DI17をアドレス順検出部
12にフィードバックして、ROMブロック11に供給
するアドレスを生成すると、メモリ40の外部から入力
される入力データDI0〜DI15の情報のみでなく、
そのメモリ40の内部からのデータDI16,DI17
にも依存してアドレスが生成されるため、外部からの、
ROMブロック11に格納されたプログラムの解析がよ
り困難になり、強力なコピー防止が達成される。
を表わす機能ブロック図である。図4に示すメモリ40
は、図1に示すメモリ10と比較すると、アドレス順検
出部12からのデータDI16,DI17がそのアドレ
ス順検出部12に入力されている点が異なっている。こ
のようにデータDI16,DI17をアドレス順検出部
12にフィードバックして、ROMブロック11に供給
するアドレスを生成すると、メモリ40の外部から入力
される入力データDI0〜DI15の情報のみでなく、
そのメモリ40の内部からのデータDI16,DI17
にも依存してアドレスが生成されるため、外部からの、
ROMブロック11に格納されたプログラムの解析がよ
り困難になり、強力なコピー防止が達成される。
【0030】
【発明の効果】以上説明したように、本発明のメモリに
よれば、従来と比べ、読出し専用のメモリ部のデータの
不正コピーが非常に困難となる。
よれば、従来と比べ、読出し専用のメモリ部のデータの
不正コピーが非常に困難となる。
【図1】本発明のメモリの第1の実施形態を表わす機能
ブロック図である。
ブロック図である。
【図2】アドレス順検出部12の概略回路図である。
【図3】ROMブロック11に格納された、コピー防止
の対象となるプログラムである。
の対象となるプログラムである。
【図4】本発明のメモリの第2の実施形態を表わす機能
ブロック図である。
ブロック図である。
【図5】データの読み出し方を示した図である。
【図6】データの読み出し方を示した図である。
10,40 メモリ 11 ROMブロック 12 アドレス順検出部 13,14 入力データ線 15 出力データ線 241 一致検出部 242 帰還レジスタ 243 一致ブロック 243a アドレスデータ一致部 243b 帰還データ一致部 243w ワード線 244 メモリデータ部 245 メモリブロック 245a 帰還レジスタ制御フラグ 245b 帰還データ 245c 出力データ 245d ラッチ制御信号 246 ラッチ 249 遅延回路
Claims (1)
- 【請求項1】 各アドレスに対応するデータが格納され
アドレスを入力することにより入力されたアドレスに対
応するデータを出力する読出し専用のメモリ部と、 複数のデータから成る配列が定義され、該配列の最終に
位置するデータと同一の所定の入力データが入力された
際に該所定の入力データから入力順に遡った複数の入力
データが前記配列に相当するか否かに応じて相互に異な
るデータを生成し、該生成されたデータと入力データと
に基づいてアドレスを生成して前記メモリ部に供給する
アドレス生成部とを備えたことを特徴とするメモリ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7180265A JPH0934796A (ja) | 1995-07-17 | 1995-07-17 | メモリ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7180265A JPH0934796A (ja) | 1995-07-17 | 1995-07-17 | メモリ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0934796A true JPH0934796A (ja) | 1997-02-07 |
Family
ID=16080225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7180265A Withdrawn JPH0934796A (ja) | 1995-07-17 | 1995-07-17 | メモリ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0934796A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6213512B1 (en) * | 1998-12-14 | 2001-04-10 | Trw Inc. | Seat belt tightening apparatus |
KR100321951B1 (ko) * | 1998-03-24 | 2002-02-04 | 가네꼬 히사시 | 반도체 집적 회로의 감시 회로 |
JP2008299930A (ja) * | 2007-05-30 | 2008-12-11 | Mega Chips Corp | 半導体記憶装置 |
JP2012208959A (ja) * | 2012-07-19 | 2012-10-25 | Mega Chips Corp | 半導体記憶装置 |
JP2013149342A (ja) * | 2013-04-15 | 2013-08-01 | Mega Chips Corp | 半導体記憶装置 |
JP2013178797A (ja) * | 2013-04-15 | 2013-09-09 | Mega Chips Corp | 半導体記憶装置 |
-
1995
- 1995-07-17 JP JP7180265A patent/JPH0934796A/ja not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100321951B1 (ko) * | 1998-03-24 | 2002-02-04 | 가네꼬 히사시 | 반도체 집적 회로의 감시 회로 |
US6213512B1 (en) * | 1998-12-14 | 2001-04-10 | Trw Inc. | Seat belt tightening apparatus |
JP2008299930A (ja) * | 2007-05-30 | 2008-12-11 | Mega Chips Corp | 半導体記憶装置 |
JP2012208959A (ja) * | 2012-07-19 | 2012-10-25 | Mega Chips Corp | 半導体記憶装置 |
JP2013149342A (ja) * | 2013-04-15 | 2013-08-01 | Mega Chips Corp | 半導体記憶装置 |
JP2013178797A (ja) * | 2013-04-15 | 2013-09-09 | Mega Chips Corp | 半導体記憶装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5386469A (en) | Firmware encryption for microprocessor/microcomputer | |
JP2001084780A (ja) | 不揮発性半導体記憶装置 | |
JPH0934796A (ja) | メモリ | |
US20050010789A1 (en) | Device and method for data protection by scrambling address lines | |
KR970076809A (ko) | 반도체기억장치 및 그 억세스방법 | |
JP2885600B2 (ja) | 半導体集積回路 | |
JP4920680B2 (ja) | エラー注入によるアタックに対してメモリを保護する装置 | |
JP3153155B2 (ja) | 半導体メモリ | |
JP4828996B2 (ja) | 情報処理装置及びそれを用いたセキュリティ解除プログラムの不正実行禁止方法 | |
US6578132B1 (en) | Semiconductor storage device and program authenticity determining system | |
JP3464738B2 (ja) | コピー防止機能付きrom | |
JPH07219852A (ja) | 半導体メモリ装置 | |
US5708842A (en) | Apparatus for changing coefficients utilized to perform a convolution operation having address generator which uses initial count number and up/down count inputs received from external | |
US5721894A (en) | Jump prediction | |
TWI845325B (zh) | 控制電路及控制方法 | |
JP2004046593A (ja) | キャッシュメモリ及びその制御方法 | |
JP2005032020A (ja) | 記憶装置 | |
JPH0844613A (ja) | Lsi内蔵ramの疑似初期化方式 | |
JP3140668B2 (ja) | 連想メモリ | |
JPH064266A (ja) | データ処理装置 | |
JPH11296441A (ja) | 誤り訂正回路 | |
JP5559932B2 (ja) | 半導体装置 | |
US20040003169A1 (en) | Method for executing look up table function | |
JPH0916483A (ja) | アドレスバス試験装置 | |
JP2531112B2 (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20021001 |