JP3153155B2 - 半導体メモリ - Google Patents

半導体メモリ

Info

Publication number
JP3153155B2
JP3153155B2 JP17564797A JP17564797A JP3153155B2 JP 3153155 B2 JP3153155 B2 JP 3153155B2 JP 17564797 A JP17564797 A JP 17564797A JP 17564797 A JP17564797 A JP 17564797A JP 3153155 B2 JP3153155 B2 JP 3153155B2
Authority
JP
Japan
Prior art keywords
data
memory
circuit
operation code
semiconductor memory
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 - Fee Related
Application number
JP17564797A
Other languages
English (en)
Other versions
JPH1124920A (ja
Inventor
▲博▼巳 上野山
宏樹 高木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rohm Co Ltd
Original Assignee
Rohm Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rohm Co Ltd filed Critical Rohm Co Ltd
Priority to JP17564797A priority Critical patent/JP3153155B2/ja
Priority to US09/108,230 priority patent/US6324626B1/en
Publication of JPH1124920A publication Critical patent/JPH1124920A/ja
Application granted granted Critical
Publication of JP3153155B2 publication Critical patent/JP3153155B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、半導体メモリ、特
にプログラムの実行中における処理データを記憶させる
バックアップメモリとして採用されて有効なものに関す
るものである。
【0002】
【従来の技術】一般に、半導体メモリはアドレス信号と
リード信号を入力すれば、記憶されているデータが出力
される。そして、殆どの半導体メモリは異なるメーカ間
の製品であっても、互換性があり、いわゆる汎用品とな
っている。
【0003】
【発明が解決しようとする課題】したがって、半導体メ
モリに記憶されているプログラムが不正にコピーされ
て、種々の機能が無断で使用されるというケースが後を
絶たない状況である。
【0004】そこで、本発明は、その半導体メモリを、
プログラムの実行中における処理データを記憶させるバ
ックアップメモリとして採用することによって、不正に
コピーされたプログラムが実質的に実行されないように
することができる半導体メモリを提供することを目的と
する。
【0005】
【課題を解決するための手段】上記の目的を達成するた
め、本発明の半導体メモリでは、データの記憶手段の1
つとして不揮発性にデータを記憶するIDメモリ部を有
し、該IDメモリ部に記憶されているデータと入力され
たデータとを比較する比較手段を有し、該比較手段の比
較結果に応じて前記IDメモリ部以外の記憶手段に対し
てアクセスが可能となる半導体メモリにおいて、前記I
Dメモリ部にアクセスするためのID用オペコードと、
前記IDメモリ部以外の記憶手段にアクセスするための
オペコードとが異なっているとともに、前記ID用オペ
コードが前記IDメモリ部に記憶されているデータに応
じて変化するようにしている。
【0006】以上の構成により、IDメモリ部に記憶さ
れているデータを入力しなければならないということ
で、IDメモリ部以外の記憶手段へのアクセスに対して
プロテクトがかかるとともに、ID用オペコードがID
メモリ部以外の記憶手段にアクセスするためのオペコー
ドと異なっているということ、及び、ID用オペコード
がIDメモリ部に記憶されているデータに応じて変化す
るということで、IDメモリへのアクセスに対してプロ
テクトがかかる。
【0007】また、請求項2に記載の半導体メモリで
は、請求項1に記載の半導体メモリにおいて、所定のオ
ペコードに対する出力が前記IDメモリ部に記憶されて
いるデータに応じて変化するように、オペコードをデコ
ードするコマンドデコーダをPLAを用いて構成し、前
記所定のオペコードを前記ID用オペコードに割り当て
ている。
【0008】以上の構成により、回路構成をそれほど複
雑なものとすることなく、また、回路規模を増大させる
ことなく、IDメモリ部に記憶されているデータに応じ
てID用オペコードを変化させることができる。
【0009】また、請求項3に記載の半導体メモリで
は、請求項2に記載の半導体メモリにおいて、データを
保持するラッチ手段を有し、電源の立ち上がり後、所定
のタイミングで前記IDメモリ部に記憶されているデー
タを読み出して前記ラッチ手段に保持させるとともに、
前記ラッチ手段に保持されているデータに応じて前記コ
マンドデコーダの所定のオペコードに対する出力が変化
するようにしている。
【0010】例えば、EEPROMなどの半導体メモリ
では、メモリアレイに対してデータの読み出し及び書き
込みを行う際に必要となる高電圧を発生する回路を有し
ており、この回路には発生した高電圧の印加時間を制御
するために、プログラムタイマが備え付けられているの
で、このプログラムタイマにIDメモリ部に記憶されて
いるデータを読み出してラッチ手段に保持させるタイミ
ングをとらせることができる。
【0011】また、請求項4に記載の半導体メモリで
は、請求項1乃至3に記載の半導体メモリにおいて、前
記IDメモリ部に記憶されているデータを出力する際に
は、そのデータをそのデータに応じて変化させるように
している。
【0012】以上の構成により、IDメモリ部からのデ
ータの読み出しに対して更なるプロテクトがかかること
になる。
【0013】
【発明の実施の形態】以下に、本発明の実施形態を図面
を参照しながら説明する。図1は本発明の一実施形態で
ある半導体メモリ(EEPROM)のブロック図であっ
て、クロックコントロール&データ入出力回路1は、ク
ロック端子CLKに入力されるクロックに基づいて各部
の動作タイミングを発生するとともに、データの書き込
み時にはデータ入出力端子DIOに入力されるシリアル
データをコマンドコードとアドレスコードとデータコー
ドとの3種類のコードに分割して、それぞれのコードを
コマンドデコーダ2、ASR(アドレスシフトレジス
タ)3、DSR(データシフトレジスタ)4に出力し、
また、データ(IDメモリ10に記憶されているデータ
は除く)の読み出し時にはDSR4に保持されるデータ
をデータ入出力端子DIOからシリアル出力する。図6
にデータ入出力端子DIOから入出力されるシリアルデ
ータのコマンドの構成例を示しておく。また、コントロ
ール端子CONTに入力される信号により、コマンドコ
ードの変更やチップセレクトなどを行って、当該半導体
メモリを様々な状態に設定することができるようになっ
ている。
【0014】コマンドデコーダ2は、データ入出力回路
1から与えられるコマンドコードをデコードしてR/W
コントロール回路5に与える。ASR3は、データ入出
力回路1から与えられるアドレスコードを保持する。D
SR4は、データの書き込み時にはデータ入出力回路1
から与えられるデータを保持し、また、データの読み出
し時にはR/Wアンプ7がメモリアレイ9から読み出し
たデータを保持する。尚、IDメモリ10から読み出し
たデータがDSR4に保持されることはない。
【0015】R/Wコントロール回路5は、コマンドデ
コーダ2でデコードされたコマンドに応じて、メモリア
レイ9に対するデータの読み出し及び書き込み、並び
に、IDメモリ10に対するデータの読み出し及び書き
込みなどの制御を行う。
【0016】アドレスデコーダ6は、ASR3に保持さ
れたアドレスコードをデコードしてメモリアレイ9の中
からアクセスするアドレス(メモリセル)を選択する。
R/Wアンプ7は、R/Wコントロール回路5からの制
御信号を受けて、メモリアレイ9もしくはIDメモリ1
0からデータを読み出す、または、DSR4に保持され
たデータをメモリアレイ9もしくはIDメモリ10に書
き込む。
【0017】高電圧発生回路8は、R/Wコントロール
回路5からの制御信号を受けて、アドレスデコーダ6及
びR/Wアンプ7からメモリアレイ9及びIDメモリ1
0へ入力される信号を、メモリアレイ9及びIDメモリ
10へのデータの書き込みに必要な高電圧に昇圧する回
路である。
【0018】メモリアレイ9及びIDメモリ10はデー
タの記憶部である。尚、メモリアレイ9及びIDメモリ
10は、EEPROMのメモリセルで構成されており、
電源の供給が遮断されてもデータを記憶する、すなわ
ち、不揮発性にデータを記憶するようになっている。
尚、IDメモリ10は、物理的な配線に関しては、メモ
リアレイ9に含まれてもよい。
【0019】IDラッチ回路11は、IDメモリ10に
記憶されているデータ(以下、「IDデータ」と呼
ぶ。)が読み出されたときに、そのIDデータを保持し
ておくための回路である。スクランブル回路12は、I
Dラッチ回路11に保持されているデータに応じてその
データを変形して、すなわち、IDラッチ回路11に保
持されているデータにスクランブルをかけて出力する。
尚、スクランブル回路12の出力データはIDデータを
読み出すときにクロックコントロール&データ入出力回
路1のデータ入出力端子DIOから出力されるようにな
っている。
【0020】判定回路13は、R/Wコントロール回路
5の制御の下で、DSR4に保持されているデータとI
Dラッチ回路11に保持されているデータとを比較判定
する回路であり、その判定結果はコマンドデコーダ2の
イネーブル端子EN及びクロックコントロール&データ
入出力回路1に与えられている。尚、IDデータと比較
するデータが入力されて(以下、外部回路がIDデータ
と比較するデータを入力することを「IDインする」と
呼ぶ)、判定回路13の出力がハイレベルになると、ク
ロックコントロール&データ入出力回路1のデータ入出
力端子DIOからプロテクト解除信号が出力されるよう
になっている。
【0021】ここで、コマンドデコーダ2は、図2に示
すように、PLA(Programmable Log
ic Array)を用いて構成されている。尚、オペ
コードを3ビットと想定している。同図において、
2、O1、O0はオペコードの各ビットを入力する入力
端子、ENはイネーブル端子、21−1、21−2、2
1−3は反転回路、22−1、22−2、…、22−
6、23、24、25、26、27はnチャネルMOS
型FET(以下、単に「nMOS」と呼ぶ)、28−
1、28−2、…、28−8はラッチ回路、29は抵
抗、30、31、32、33はAND回路である。
【0022】入力端子O2、O1、O0はそれぞれ反転回
路21−1、21−2、21−3の入力側に接続されて
いる。nMOS22−1、22−3、22−5のゲート
はそれぞれ反転回路21−1、21−2、21−3の出
力に接続されており、nMOS22−2、22−4、2
2−6のゲートはそれぞれ入力端子O2、O1、O0に接
続されている。nMOS23のゲートはイネーブル端子
ENに接続されている。
【0023】nMOS24、25、26、27のゲート
はそれぞれAND回路30、31、32、33の出力に
接続されている。AND回路30はIDラッチ回路11
に保持されているデータの第mビット及び第nビットを
反転入力しており、また、AND回路31は上記第mビ
ットを反転入力し、上記第nビットを入力しており、ま
た、AND回路32は上記第mビットを入力し、上記第
nビットを反転入力しており、また、AND回路33は
上記第mビット及び第nビットを入力している。
【0024】ラッチ回路28−1、28−2、…、28
−8の入力は、それぞれ抵抗29を介してハイレベルの
電位点に接続されるとともに、それぞれnMOS22−
1、22−1、…、22−6のうちの互いに異なる組み
合わせの3つのトランジスタのドレイン−ソース間を介
して、さらに、ラッチ回路28−1、28−2について
は、nMOS23のドレイン−ソース間を介して、ラッ
チ回路28−5、28−6、28−7、28−8につい
ては、それぞれnMOS24、25、26、27のドレ
イン−ソース間を介して、ローレベル(グランドレベ
ル)の電位点に接続されている。そして、ラッチ回路2
8−1、28−2、…、28−8の出力が当該コマンド
デコーダ2の出力となっている。
【0025】以上の構成により、コマンドデコーダ2の
8ビットの出力ラインは、3ビットのオペコードが入力
されない状態では全てハイレベルとなっているが、3ビ
ットのオペコードが入力されると、その入力されたオペ
コードに応じて8ビットの出力ラインのうちのどれか1
つだけがローレベルとなる。例えば、オペコードが(0
10)である(入力端子O2、O1、O0がそれぞれ0、
1、0である)ときには、ラッチ回路28−2の出力ラ
インのみがローレベルとなり、また、オペコードが(1
00)である(入力端子O2、O1、O0がそれぞれ1、
0、0である)ときには、ラッチ回路28−6の出力ラ
インのみがローレベルとなる。尚、ラッチ回路28−
1、28−2の出力は、イネーブル端子ENがハイレベ
ルにならない限り、ローレベルになることはない。ま
た、ラッチ回路28−5、28−6、28−7、28−
8の出力は、対応するオペコードが入力されても、ラッ
チ回路11に保持されているデータによっては、ローレ
ベルにならないことがある。
【0026】そして、コマンドデコーダ2の出力が与え
られるR/Wコントロール回路5では、入力されたオペ
コードが(111)で、ラッチ回路28−1の出力ライ
ンのみがローレベルになると、メモリアレイ9からデー
タを読み出すように、また、入力されたオペコードが
(010)で、ラッチ回路28−2の出力ラインのみが
ローレベルになると、メモリアレイ9にデータを書き込
むように、また、入力されたオペコードが(110)
で、ラッチ回路28−3の出力ラインのみがローレベル
になると、そのオペコードに伴って入力された、DSR
4に保持されているデータとIDラッチ回路11に保持
されているデータと比較するように、また、入力された
オペコードが(101)で、ラッチ回路28−4の出力
ラインのみがローレベルになると、IDメモリ10にデ
ータを書き込むように、また、入力されたオペコードが
(011)、(100)、(000)、または、(00
1)で、ラッチ回路28−5、28−6、28−7、ま
たは、28−8の出力ラインのみがローレベルになる
と、IDラッチ回路11に保持されているデータを、ス
クランブル回路12を介して、クロックコントロール&
データ入出力回路1のデータ入出力端子DIOから出力
するように、それぞれ各部を制御する。
【0027】以上の構成において、IDインすることを
告げるオペコードであるIDインコード(110)が入
力されると、それに伴って入力されたデータはクロック
コントロール&データ入出力回路1を介してDSR4に
保持される。R/Wコントロール回路5は、コマンドデ
コーダ2の出力(ラッチ回路28−3の出力ラインのみ
がローレベル)により、判定回路13へIDイン信号を
出力する。これにより、判定回路13は、DSR4に保
持されている、IDインオペコード(110)に伴って
入力されたデータとIDラッチ回路11に保持されてい
るデータとを比較して、それらの2つのデータが一致す
るときにハイレベル出力を行うようになっており、その
出力はコマンドデコーダ2のイネーブル端子ENに接続
されている。
【0028】尚、当該半導体メモリへ供給される電源の
立ち上がり時には、判定回路13の出力はローレベルと
なっており、また、そのハイレベル出力は、次にR/W
コントロール回路5からIDイン信号が与えられるまで
変化しないようにしてもよいし、あるいは、メモリアレ
イ9へのアクセスが完了した時点でローレベルに変化さ
せるようにしてもよい。後者のようにすれば、メモリア
レイ9にアクセスする毎にIDインする必要があり、メ
モリアレイ9へのアクセスに対するプロテクトが強くな
る。
【0029】ここで、高電圧発生回路8はプログラムタ
イマ81を有しており、このプログラムタイマ81は高
電圧発生回路8により昇圧された高電圧がメモリアレイ
9及びIDメモリ10に印加される時間を制御するとと
もに、当該半導体メモリへ供給される電源の立ち上がり
時に時間をカウントし始め、所定時間をカウントする
と、R/Wコントロール回路5にIDセット信号を出力
するようになっている。これにより、R/Wコントロー
ル回路5は、IDデータを読み出してIDラッチ回路1
1に保持させるように各部を制御する。
【0030】このようにして、当該半導体メモリへの電
源が立ち上がってから、データの読み出しに支障を来さ
ない程度にまで電圧が立ち上がったと予想される所定時
間が経過すると、自動的に、IDデータが読み出されて
IDラッチ回路11に保持された状態となる。このよう
に、タイマーを別途設けることなく、高電圧発生回路が
有するプログラムタイマーを有効に活用して、部品点数
の増加及び回路面積の増大を防いでいる。
【0031】以上より、IDデータとIDインコード
(110)に伴って入力されたデータとが一致して始め
て、コマンドデコーダ2のイネーブル端子ENがハイレ
ベルとなって、メモリアレイ9からデータを読み出すた
めのオペコードであるリードコード(111)、及び、
メモリアレイ9にデータを書き込むためのオペコードで
あるライトコード(010)が有効となる、すなわち、
メモリアレイ9に対するアクセスが可能となる。
【0032】また、IDラッチ回路11に保持されてい
るデータ、すなわち、IDデータの第mビット、第nビ
ットが、(00)であるときにはオペコードとして(0
11)を、(01)であるときにはオペコードとして
(100)を、(10)であるときにはオペコードとし
て(000)を、(11)であるときにはオペコードと
して(001)を、それぞれ入力しなければ、IDデー
タを読み出すことは不可能である。すなわち、IDメモ
リ10に記憶させるデータによって、IDメモリ10に
記憶されているデータを読み出すためオペコードである
IDリードコードが変化する。
【0033】尚、このようにIDデータに応じてIDリ
ードコードを変化させるわけであるが、これをコマンド
デコーダ2をPLAを用いて構成することによって実現
しているので、回路構成の複雑化及び回路規模の増大を
防いでいる。
【0034】さらに、IDデータに対応したIDリード
コードを入力したとしても、IDラッチ回路11に保持
されているデータがスクランブル回路12によってスク
ランブルがかけられて出力されるので、IDデータがそ
のまま出力されることはない。
【0035】まとめると、本実施形態の半導体メモリで
は、まず、IDデータを入力しなければならないという
ことで、メモリアレイ9へのアクセスに対してプロテク
トをかけるとともに、IDメモリ10へアクセスするた
めのオペコードをメモリアレイ9にアクセスするための
オペコードと別物にしているということ、IDリードコ
ードがIDデータに応じて変化するということ、及び、
スクランブル回路12によりIDデータにスクランブル
をかけて出力するということで、IDメモリ10へのア
クセスに対してプロテクトをかけている(IDメモリ1
0への書き込みについては1重のプロテクトをかけ、I
Dメモリ10からの読み出しについては3重のプロテク
トをかけている)。
【0036】さて、以上のような半導体メモリは、プロ
グラムの実行時における処理データを記憶する、いわゆ
る、バックアップメモリとして採用することが非常に有
効である。例えば、図3に示すように、ゲーム機に装着
して使用されるゲームカセット100は、所定のプログ
ラムを記憶しているROM101とバックアップメモリ
102とで構成されているわけであるが、バックアップ
メモリ102として上記半導体メモリを採用する場合を
考えてみる。
【0037】プログラムの設計者は、プログラムの種類
(ゲームの内容)毎にバックアップメモリ102内のI
Dメモリ10に記憶させるデータを設定する。そして、
設定したデータをIDメモリ10に記憶させるととも
に、バックアップメモリ102に対してデータの書き込
みあるいは読み出しを行う際には、設定したデータをバ
ックアップメモリ102に入力するように、また、その
入力に対してバックアップメモリ102から所定の信号
(プロテクト解除信号)が送られてこなければ、バック
アップメモリ102に対してデータの書き込みあるいは
読み出しを行わないように、プログラムを組んでおく。
また、IDメモリ10に対するデータの書き込み及び読
み出しは、ゲームを行うユーザにとっては全く不必要な
ものである(プログラムの設計者が、設定したデータを
IDメモリ10に記憶させて、設定したデータがIDメ
モリ10に記憶されたか否かを確認するためだけのもの
である)ので、ROM101に記憶させるプログラム上
には、IDリードコード及びIDライトコード(IDメ
モリ10にデータを書き込むためのオペコード)をもた
せないようにする。
【0038】ここで、以上のようにして設計されたゲー
ムカセットがゲーム機200に装着されて、ゲームが行
われる際の、ゲームカセット100内のROM101に
記憶されているプログラムに基づいた、ゲーム機200
内のCPU201の動作について、図4に示すフローチ
ャートを参照しながら説明する。まず、ゲームカセット
100がゲーム機200に装着されることで、ゲームカ
セット100内のROM101及びバックアップメモリ
102は、ゲーム機200内に設けられているCPU2
01と接続される。この状態で、ゲーム機に対して所定
の操作(通常は電源ON)が行われると、CPU201
がROM101内のプログラムをダウンロードし始める
(#1)。
【0039】このダウンロードが完了すると、CPU2
01はプログラムの実行を開始する(#2)が、その
後、電源がOFFされるまでに(#3)、ユーザの所定
の操作により、データをセーブあるいはロードするよう
に指令を受けると(#4のY)、CPU201はバック
アップメモリ102にIDインコード((上記実施形態
の半導体メモリでは(110))とプログラム上で設定
されている所定のデータとからなるIDインコマンドを
送信する(#5)。これを受けて、バックアップメモリ
102は、送られてきたデータとIDデータ(IDラッ
チ回路11に保持されているデータ)とを比較して、両
者が一致すれば、メモリアレイ9へのアクセスを可能に
する(メモリアレイ9へのアクセスに対するプロテクト
を解除する)とともに、プロテクト解除信号をCPU2
01へ送信する。
【0040】IDイン(#5のIDインコマンドの送
信)に対してバックアップメモリ102からプロテクト
解除信号が送信されてくると(#6のY)、データをセ
ーブするように指令を受けていれば(#7のS)、CP
U201はバックアップメモリ102にライトコード
(上記実施形態の半導体メモリでは(010))、アド
レスコード、及び、プログラム再開時に必要なデータ
(例えば、その時点の、プログラムのアドレスデータ、
ステータスに関するデータなど)からなるライトコマン
ドを送信する(#8)。これを受けて、バックアップメ
モリ102は、アドレスコードにより指定されたメモリ
アレイ9内のアドレスに送信されてきたデータを記憶す
る。
【0041】一方、データをロードするように指令を受
けていれば(#7のL)、CPU201はバックアップ
メモリ102にリードコード(上記実施形態の半導体メ
モリでは(111))とアドレスコードからなるリード
コマンドを送信する(#9)。これを受けて、バックア
ップメモリ102は、メモリアレイ9内のアドレスコー
ドにより指定されたアドレスに記憶されているデータを
読み出してCPU201に送信する。CPU201はバ
ックアップメモリ102から送信されてきたデータに基
づいてプログラムの実行を再開する(#10)。
【0042】以上のようにCPU201が動作するの
で、ユーザは、ゲーム開始後、データをセーブする指令
をCPU201に入力する操作をした後、ゲームを終了
することによって、次回は、電源ONの後に、データを
ロードする指令をCPU201に入力する操作をすれ
ば、バックアップメモリ102からデータが読み出され
て、以前中断した時点からゲームを再開することができ
る。
【0043】すなわち、バックアップメモリ102に対
してはその内部のIDメモリ10に記憶されているデー
タを入力しなければ、バックアップメモリ102(メモ
リアレイ9)に対してデータの書き込み及び読み出しが
できないが、正規のカセットを使用している限り、ユー
ザは何等従来と変わらない操作でデータのセーブやロー
ドができるわけである。
【0044】ここで、図5に示すように、正規のゲーム
カセット100内のROM101に記憶されているプロ
グラムが何らかの方法で不正にコピーされてしまった場
合について考えてみる。そのコピーした者が、コピーし
てきたROM101’を用いて、実質的にプログラムを
実行する(ROM101’を用いてゲームカセットを作
成することも含む)ためには、上述したプログラムの設
計内容からして、正規のカセット100内のバックアッ
プメモリ102に記憶されているIDデータ(IDメモ
リ10に記憶されているデータ)を入手して、コピーさ
れた側のカセット100が有するバックアップメモリ1
02と同じバックアップメモリ102’を用意して、そ
のバックアップメモリ102’内のIDメモリ10’に
入手したIDデータを記憶させる必要がある。
【0045】しかしながら、これを行うには非常に厄介
な作業を伴うことになる。というのは、バックアップメ
モリ102内のIDデータを入手するためには、コピー
してきたプログラムを解析するか、バックアップメモリ
102からIDデータを読み出すかをしなければならな
い。バックアップメモリ102からIDデータを読み出
すといっても、IDリードコード(IDメモリ10に記
憶されているデータを読み出すためのオペコード)はプ
ログラム上にはないので、IDデータを読み出すために
は、バックアップメモリ102を分解するなどして、I
Dリードコードを入手しなければならない。
【0046】さらに、IDリードコードを入手して、そ
れをバックアップメモリ102に入力したとしても、ス
クランブル回路12により、IDデータ(例えば(10
110))はスクランブルがかかった状態(例えば(0
0010))で出力されるので、そのスクランブルを解
除する必要がある(そのためには、スクランブルがかか
っているということ自体を知る必要もある)。そして、
IDライトコード(IDメモリにデータを書き込むオペ
コード)自体も入手する必要がある。
【0047】尚、スクランブルがかかったデータ(00
010)をバックアップメモリ102’内のIDメモリ
10’に記憶させたところで、コピーしてきたプログラ
ムに基づいて動作するCPU201’からは、そのスク
ランブルがかかったデータ(00010)がIDインコ
ードとともにバックアップメモリ102’に送信される
ことはない(CPU201’からバックアップメモリ1
02’へは、スクランブルのかかっていないIDデータ
(10110)がIDインコードとともに送信される)
ので、CPU201’からIDインされたときのデータ
とバックアップメモリ102’のIDデータとが一致せ
ず、バックアップメモリ102’に対してデータの読み
出しあるいは書き込みができない。
【0048】まとめると、上記実施形態の半導体メモリ
をバックアップメモリとして採用することによって、バ
ックアップメモリとセットで組み込まれるROMに記憶
させるプログラムを適切に組んでおけば、たとえROM
に記憶されているプログラムが不正にコピーされようと
も、不正にコピーした者が上記した非常に厄介な作業を
行わない限り、プログラム実行中のデータのセーブやロ
ードができず、そのコピーしたプログラムが実質的に実
行されることはない。
【0049】尚、ゲームのカセットを例に挙げて、上記
実施形態の半導体メモリをバックアップメモリとして採
用することによる利点を述べたが、ゲームのカセットに
限らず、様々な用途のバックアップメモリとして採用し
て有効であることは勿論である。
【0050】また、上記実施形態の半導体メモリでは、
IDリードコードだけをIDデータに応じて変化させる
ようになっているが、IDライトコードについても、同
様にして、IDデータに応じて変化させるように構成し
てもよい。このように構成した半導体メモリを、バック
アップメモリとして採用すれば、バックアップメモリ内
のIDメモリにデータを書き込むこと自体にも2重のプ
ロテクトがかかり、コピーされたプログラムを実質的に
実行するのはより一層困難となる。
【0051】
【発明の効果】以上説明したように、本発明の請求項1
に記載の半導体メモリによれば、当該半導体メモリをバ
ックアップメモリとして採用することによって、バック
アップメモリとセットで組み込まれるROMに記憶され
ているデータが不正にコピーされたとしても、そのコピ
ーされたプログラムを実質的に実行することができない
ようにすることができる。
【0052】また、請求項2に記載の半導体メモリによ
れば、回路構成をそれほど複雑なものとすることなく、
また、回路規模を増大させることなく、請求項1に記載
の半導体メモリを実現することができる。
【0053】また、請求項3に記載の半導体メモリによ
れば、請求項2に記載の半導体メモリを実現するにあた
って、従来からある回路を有効に活用して、部品点数の
増加及び回路面積の増大を防ぐことができる。
【0054】また、請求項4に記載の半導体メモリで
は、請求項1に記載の半導体メモリによる効果はより一
層強固なものとなる。
【図面の簡単な説明】
【図1】 本発明の半導体メモリの一構成例のブロック
図である。
【図2】 コマンドデコーダ2の一構成例(PLAを用
いて構成したもの)を示す図である。
【図3】 本発明の半導体メモリをバックアップメモリ
として採用したゲームカセット、及び、そのゲームカセ
ットが装着されるゲーム機の概略図である。
【図4】 ROM101に記録されているプログラムに
基づく、ゲーム機内のCPU201の動作を説明するた
めのフローチャートである。
【図5】 本発明の半導体メモリをバックアップメモリ
として採用することによる利点を説明するための図であ
る。
【図6】 データ入出力端子DIOから入出力されるシ
リアルデータのコマンドの構成例を示す図である。
【符号の説明】
1 クロックコントロール&データ入出力回路 2 コマンドデコーダ 3 ASR(アドレスシフトレジスタ) 4 DSR(データシフトレジスタ) 5 R/Wコントロール回路 6 アドレスデコーダ 7 R/Wアンプ 8 高電圧発生回路 9 メモリアレイ 10 IDメモリ 11 IDラッチ回路 12 スクランブル回路 13 判定回路 21−1、21−2、21−3 反転回路 22−1、22−2、…、22−6、23、24、2
5、26、27nチャネルMOS型FET 28−1、28−2、…、28−8 ラッチ回路 29 抵抗 30、31 AND回路 32、33 反転回路 81 プログラムタイマ 100 ゲームカセット 101、101’ ROM 102、102’ バックアップメモリ 200 ゲーム機 201、201’ CPU

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 データの記憶手段の1つとして不揮発性
    にデータを記憶するIDメモリ部を有し、該IDメモリ
    部に記憶されているデータと入力されたデータとを比較
    する比較手段を有し、該比較手段の比較結果に応じて前
    記IDメモリ部以外の記憶手段に対してアクセスが可能
    となる半導体メモリにおいて、 前記IDメモリ部にアクセスするためのID用オペコー
    ドと、前記IDメモリ部以外の記憶手段にアクセスする
    ためのオペコードとが異なっているとともに、前記ID
    用オペコードが前記IDメモリ部に記憶されているデー
    タに応じて変化することを特徴とする半導体メモリ。
  2. 【請求項2】 所定のオペコードに対する出力が前記I
    Dメモリ部に記憶されているデータに応じて変化するよ
    うに、オペコードをデコードするコマンドデコーダをP
    LAを用いて構成し、前記所定のオペコードを前記ID
    用オペコードに割り当てたことを特徴とする請求項1に
    記載の半導体メモリ。
  3. 【請求項3】 データを保持するラッチ手段を有し、電
    源の立ち上がり後、所定のタイミングで前記IDメモリ
    部に記憶されているデータを読み出して前記ラッチ手段
    に保持させるとともに、前記ラッチ手段に保持されてい
    るデータに応じて前記コマンドデコーダの所定のオペコ
    ードに対する出力が変化することを特徴とする請求項2
    に記載の半導体メモリ。
  4. 【請求項4】 前記IDメモリ部に記憶されているデー
    タを出力する際には、そのデータをそのデータに応じて
    変化させることを特徴とする請求項1乃至3に記載の半
    導体メモリ。
JP17564797A 1997-07-01 1997-07-01 半導体メモリ Expired - Fee Related JP3153155B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP17564797A JP3153155B2 (ja) 1997-07-01 1997-07-01 半導体メモリ
US09/108,230 US6324626B1 (en) 1997-07-01 1998-07-01 Semiconductor memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17564797A JP3153155B2 (ja) 1997-07-01 1997-07-01 半導体メモリ

Publications (2)

Publication Number Publication Date
JPH1124920A JPH1124920A (ja) 1999-01-29
JP3153155B2 true JP3153155B2 (ja) 2001-04-03

Family

ID=15999761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17564797A Expired - Fee Related JP3153155B2 (ja) 1997-07-01 1997-07-01 半導体メモリ

Country Status (2)

Country Link
US (1) US6324626B1 (ja)
JP (1) JP3153155B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0994417A3 (de) * 1998-09-09 2004-06-02 Siemens Aktiengesellschaft Schaltungsanordnung und Verfahren zur Überprüfung von Daten
KR100748192B1 (ko) * 1998-12-28 2007-08-10 가부시키가이샤 세가 백업 메모리 관리 장치, 백업 메모리 관리 방법, 게임장치 및 기록 매체
JP2000288238A (ja) * 1999-04-02 2000-10-17 Konami Co Ltd ゲームシステム
US7085186B2 (en) * 2001-04-05 2006-08-01 Purple Mountain Server Llc Method for hiding a refresh in a pseudo-static memory
ITRM20030198A1 (it) * 2003-04-28 2004-10-29 Micron Technology Inc Monitor ad unita' di controllo basata su rom in un
JP2007109010A (ja) * 2005-10-13 2007-04-26 Fujitsu Ltd データ記憶装置
US9298521B1 (en) 2013-04-29 2016-03-29 Seagate Technology Llc Command sets and functions
JP2014225309A (ja) * 2013-05-16 2014-12-04 ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. 半導体装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4614861A (en) * 1984-11-15 1986-09-30 Intellicard International, Inc. Unitary, self-contained card verification and validation system and method
GB8621333D0 (en) * 1986-09-04 1986-10-15 Manitoba Telephone System Key management system
US5491482A (en) * 1992-12-29 1996-02-13 David Sarnoff Research Center, Inc. Electronic system and method for remote identification of coded articles and the like
DE4344476A1 (de) * 1993-12-21 1995-06-22 Francotyp Postalia Gmbh Verfahren zur Verbesserung der Sicherheit von Frankiermaschinen
US5599231A (en) * 1994-10-31 1997-02-04 Nintendo Co., Ltd. Security systems and methods for a videographics and authentication game/program fabricating device
US5991194A (en) * 1997-10-24 1999-11-23 Jigour; Robin J. Method and apparatus for providing accessible device information in digital memory devices

Also Published As

Publication number Publication date
JPH1124920A (ja) 1999-01-29
US6324626B1 (en) 2001-11-27

Similar Documents

Publication Publication Date Title
US8375189B2 (en) Configuring levels of program/erase protection in flash devices
US7761717B2 (en) Memory device with data security in a processor
US4920518A (en) Semiconductor integrated circuit with nonvolatile memory
US5890191A (en) Method and apparatus for providing erasing and programming protection for electrically erasable programmable read only memory
JPH1165936A (ja) メモリ装置
JP2003198361A (ja) プログラマブル論理デバイス
KR960008543A (ko) 프로그램 가능한 메모리 억세스 인터페이스형을 갖는 집적 회로 마이크로 프로세서와 이에 관련된 방법
JPH08263996A (ja) 半導体メモリ装置の動作モード制御方法とその回路
JP3153155B2 (ja) 半導体メモリ
KR0178622B1 (ko) 불휘발성 반도체 기억 장치
US7307894B2 (en) Semiconductor device and control method of the same
US6807126B2 (en) Semiconductor memory device and electronic information device using the same
US6584540B1 (en) Flash memory rewriting circuit for microcontroller
US20020144103A1 (en) Non-volatile alterable default flash memory configuration registers
JPWO2006040798A1 (ja) 半導体集積回路装置および電子システム
JPH03204053A (ja) 読出し専用メモリ
JP4138291B2 (ja) 不揮発性半導体記憶装置及びその制御方法
US5355336A (en) Memory device and a method for prohibiting writing to the memory device
JP3197865B2 (ja) マイクロコンピュータ
JP2000066949A (ja) データ記録再生装置およびデータ記録再生装置のメモリアクセス方法
JPH087742B2 (ja) ワンチップマイクロコンピュータ
JP4375935B2 (ja) 不正読み出し防止機能付き半導体不揮発性メモリ
JPH0474240A (ja) 半導体メモリ
US20040078664A1 (en) Information processing unit selecting one of reset vector addresses
JP3882628B2 (ja) メモリ制御装置及びシリアルメモリ

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees