【発明の詳細な説明】
半導体メモリ装置
本発明は、半導体基板の上にビット線およびワード線の交叉個所に配置されて
おり、データ内容のプログラミングのためにワード線駆動回路およびビット線駆
動回路を用いて駆動可能である多数のメモリセルを有する半導体メモリ装置に関
する。
このような半導体メモリ装置は、マイクロプロセッサを有する集積回路により
構成されているいわゆるチッブカード、すなわち身分証明書、クレジットカード
、出納カードなどに有利に応用されている。チップカードのメーカーは基本的な
機能、たとえば外部から入力されるコードを記憶されているコードなどと比較す
るための手順、を引き受ける固定的に記憶されたオペレーションシステムをマイ
クロプロセッサに設けることができる。チップカード内のマイクロプロセッサに
対応付けられているメモリは、オペレーションシステムを記憶する役割のほかに
、たとえば安全性検査のために必要であり、またいずれの場合にも秘密保持され
なければならない特定の応用およびパラメータを記憶する役割もする。このよう
なチップカードは、メーカーの側で付属のプログラムを有する適切なオペレーシ
ョンシステムが用意され、特定の適切なインタフェースが用意され、またメモリ
またはメモリ範囲が1つまたは複数の異種の応用プログラムに対してリザーブさ
れるならば、多面的に使用することができる。この仕方でカードメーカーはチッ
プカードのユーザーに対してメモリまたはメモリ範囲を異種のアプリケーション
プログラムを書込むために利用に供し得る。アプリケーションプログラムのなか
でたとえば、オペレーションシステムに無関係に進行し、またユーザーの特別な
データ処理にのみ関係する特別なオペレーションが決定されていてよい。特に多
面的に使用可能なチップカードの構成の際にはさらに、複数の異なるユーザーが
互いに無関係に各々に相応のプログラムをチップカード内に書込み得るように構
成されていてよい。
いずれの場合にも、たとえば秘密のデータまたは金銭価値に関するデータを処
理する役割をするすべての安全上臨界的なデータ処理システムにおけるように、
データ操作または不正なデータアクセスに対する特別な保護が講じられなければ
ならない。従って、オペレーションシステムまたは個々のアプリケーションプロ
グラムの構成部分である安全上重要なデータが不正なアクセスに対して保護され
るように注意しなければならない。不揮発性メモリ(たとえばEEPROMまた
はROM)を有する集積回路およびマイクロプロセッサを含んでいるチップカー
ドの例としてのクレジットカードでは、不揮発性メモリ中に記憶されているアプ
リケーションプログラムがノーチェックで同じく不揮発性メモリのなかに記憶さ
れている他のアプリケーションプログラムまたはオペレーションシステムルーチ
ンにアクセスし得ないことが操作に対する保護のために必要である。
このようなアクセスの防止は、たとえばドイツ特許第41 15 152 A1号明細書ま
たは米国特許第 5,452,431号明細書から公知のメモリアクセス監視のための安全
回路により保証することができる。
ドイツ特許第41 15 152 A1号明細書にはそのために本質的に3つの相異なる手
段が説明されている。第1の手段では、EEPROMに記憶されているアプリケ
ーションプログラムを実行する前に、アプリケーションプログラムがメモリ範囲
のなかで開始するアドレスが2つの補助レジスタに記憶される。プログラム実行
の間に連続的に現在のアドレスバス値が第1の補助レジスタと、またプログラム
カウンタ値が第2の補助レジスタと比較される。第1の比較から、アプリケーシ
ョンプログラムが能動的であるかどうかが確かめられる。第2の比較から、まさ
にアプリケーションプログラムに対して許容されるアドレス範囲のなかで作業さ
れるかどうかが推定される。アプリケーションプログラムが能動的であり、かつ
許容範囲のなかで作業していない場合には、リセット信号がマイクロプロセッサ
のなかでレリーズされる。この手段は、回路がnビット(ここでnはアドレスバ
ス幅)に対する付加の補助レジスタおよびコンパレータを必要とするという欠点
を有する。第2の手段では、プログラムカウンタおよびアドレスバス値を固有の
メモリを有する付加して設けられているコントロールプロセッサにより監視する
ことが提案される。第1の手段の際のように、アプリケーションプログラムが許
容されないアドレス範囲にアクセスするとき、リセット信号がレリーズされる。
この回路は、メモリを有する付加のプロセッサが必要であるという欠点を有する
。第3の手段または回路では、各々の別々に保護すべきメモリ範囲は相異なる最
高値のアドレスビット(ブロック選択ビット)を有する。PROMブロックに記
憶されているアプリケーションプログラムを実行する前に、ブロック選択ビット
が補助レジスタに記憶される。プログラム実行の間、連続的に最高値の現在のア
ドレスバスビットが第2の補助レジスタに記憶され、また第1の補助レジスタと
比較される。補助レジスタの内容が相異なる際には、能動的なアプリケーション
プログラムが許容し得ない仕方で他のプログラムメモリ範囲をアドレスすること
が推定される。その結果としてリセット信号がレリーズされる。この回路は、少
数のビット(たとえば2ビット)の際に、ただ1つの固定された均等な比較的粗
い(たとえば全メモリの四分の一の)ブロック分割のみが可能であるという欠点
を有する。さらに異種プログラムにただ1つの関連するメモリ範囲が割り当てら
れ得る。最大のプログラムメモリ需要を有する異種プログラムがそれによって他
の異種プログラムに対してもブロックの大きさを決定するので、メモリ利用度が
全体として望ましくない。
米国特許第5,452,431号明細書には、特にEEPROMのメモリ範囲がセクシ
ョンZR(“レパートリ領域”)および応用セクションZA(“応用領域”)な
らびに公的セクションZP(“パブリック領域”)に分割されているチップカー
ドに応用するためのメモリアクセス監視のための安全回路が示されている。種々
のメモリ範囲ZR、ZAおよびZPの駆動は別々にアドレス制御回路を用いて、
それぞれ特定のアドレス範囲が個々のメモリ繊維に対応付けられるように、すな
わち固定的なアドレス限界が予め定められるように行われる。そのつどのメモリ
範囲の書込み、読出しおよび消去のための命令は、アドレス制御回路を用いて、
予め定められた範囲内でディスエーブルまたはイネーブルされ得る。この回路の
欠点は、メモリの分割がEEPROMの製造により決まっており、またユーザー
によりもはや変更され得ないことにある。
本発明の課題は、異種プログラムの側から、明示的にアクセスに対して許され
ているメモリ範囲にのみアクセスされ得ることを簡単な手段により保証し、また
同時に種々の応用への許容されるメモリ範囲のフレキシブルな分配を許す回路を
提供することである。
この課題は請求項1による半導体メモリ装置により解決される。
本発明によれば、ワード線のメモリセルに、イネーブルビット線に沿って配置
され、ビット線駆動回路から分離かつ独立して配置されており駆動可能であるイ
ネーブルビット線駆動回路によって駆動可能なイネーブルメモリセルが対応付け
られており、これらのイネーブルメモリセルが予め定められたワード線のメモリ
セルをイネーブルするためイネーブル値を与えられ得る。
本発明による回路は、メモリアクセスの簡単な監視および同時に種々の応用へ
のメモリまたはメモリ範囲のフレキシブルな分配を許す半導体メモリの特別な配
置に基づいている。フレキシブルなメモリの大きさの設定とならんで、本発明は
さらにアプリケーションプログラムのアドレス空間のなかの割り当てられたメモ
リ範囲の自由な絶対的な配置の利点を提供し、従って特にチップカードでは限定
的にしか利用できないメモリ提供の最適な利用度が保証されている。同時に本発
明は比較的わずかな回路技術的付加費用により、不正なデータ操作または不正な
データアクセスに対する確実な保護を可能にし、その際にプログラムメモリの監
視とならんでデータメモリの監視も行われ得る。
本発明の基礎となっている原理は、プログラミング可能な半導体メモリのワー
ド線を、標準的なアドレス空間に位置しておらず、また標準的なワード線ビット
(ページ)のなかに記憶されているデータへのアクセス権に関する情報を含んで
いるmビットだけ拡張することである。イネーブルメモリセルに対する複数個の
mビットの際には2mの応用、すなわちプログラム範囲またはデータ範囲が互い
に別々に実行され得る。
本発明の好ましい実施例では、ビット線およびワード線の交叉個所に沿って配
置されているメモリセルと、ワード線およびイネーブルビット線の交叉個所に沿
って配置されているイネーブルメモリセルとが、ワード線駆動回路中に設けられ
ているワード線ドライバ回路によって共通に駆動されている。その際にさらに、
メモリセルのアドレス指定のためにもイネーブルメモリセルのアドレス指定のた
めにも共通のアドレスデコーダ回路が設けられていてよい。
本発明はこうして、いわゆる標準メモリではなく、特別に構造化されたメモリ
であり、標準セルとならんでここでイネーブルセルと呼ばれるメモリセルがメー
カー側で設けられており、その際にイネーブルメモリセルはその他のワード線ド
ライバと結合されている。ワード線ドライバおよびアドレスデコーダはこうして
標準セルおよびイネーブルセルに対して共通に設けられており、それによって顕
著な面積節減が行われている。標準セル及びイネーブルセルの相異なる駆動は単
に相い異なるビット線により行われる。
本発明の他の実施例では、オペレーティングシステムプログラムおよび少なく
とも1つのアプリケーションプログラムムを実行するためのマイクロプロセッサ
回路が設けられており、このマイクロプロセッサ回路が初期化プログラムの呼出
しまたは実行の際に制御信号をイネーブルビット線駆動回路に出力し、この制御
信号によってアプリケーションプログラムムに割当てられている半導体メモリ装
置のメモリ範囲が能動化可能である。付加して設けられているイネーブルビット
線のイネーブルセルは通常の仕方でアドレスされずに、初期化回路によりセット
される。その際に初期化はたとえば、それがオペレーティングシステムをロード
する際に一回だけ可能であり、その後はイネーブルビットの付加のイネーブルセ
ルの占有がもはや変更可能でないように構成されていてよい。ページあたり付加
のイネーブルビット、すなわちm=1、の場合には2つのメモリ範囲がたとえば
2つの相異なるアプリケーションプログラムに対して分離され得る。アプリケー
ションプログラムが占めるページの数はその際に任意に選択可能であってよい。
同じく全メモリ範囲内のアプリケーションプログラムの配置はフレキシブルに設
定することができる。その際にメモリ範囲の互いに入り組んだ分配も行われ得る
。
本発明の好ましい構成は従属請求項にあげられている。
本発明の他の特徴、利点および合目的性は添付の図面による実施例の説明から
明らかになる。
図1Aは本発明の基本的な作用を説明するための電気的プログラミング可能か
つ消去可能な半導体メモリの概要図、
図1Bは図1Aに示されている本発明による半導体メモリの簡単化されたブロ
ック図、
図2は本発明の実施例による回路の概要図、
図3は本発明の別の実施例による回路の概要図、
図4は本発明の別の実施例による回路の概要図、
図5は本発明の別の実施例による回路の概要図、
図6は本発明の別の実施例による回路の概要図、また
図7は本発明の別の実施例による回路の概要図を示す。
図1Aは電気的に変更可能な固定値メモリ1(EEPROM=電気的消去可能
なプログラミング可能なROM)の構成を示し、その利点は公知のように、集積
回路が、それがユーザー装置から取り外される必要なしに、消去可能かつ再びプ
ログラミング可能であること、またメモリの各個々のバイトが何回も別々に消去
および書込みをし得ることにある。消去は電気的なパルスにより行われる。制御
電極および電位と接続されていない中間電極を有し、電荷蓄積器として作用する
セル2がメモリ要素として用いられる。このような固定値メモリの作用は基本的
に知られており、従ってここで詳細に説明する必要はない。半導体メモリ装置1
の標準のメモリセル3はビット線BLおよびワード線WLの交叉個所に多数配置
されており、ワード線駆動回路4およびビット線駆動回路5により当業者によく
知られている仕方で駆動可能である。アドレスバス6およびデータバス7が設け
られており、それらを介してアドレスおよびテータがさまざまな回路構成部分の
間で運ばれる。図示を簡単にする理由からアドレスバス6およびテータバス7に
対してはそれぞれただ1つの導線が示されており、実際には多数の導線、たとえ
ば16の導線、が設けられている。バスシステムはただ1つの導線から成ってい
てもよく、この場合にはアドレスおよびデータは時分割多重法で処理される。図
1Aには一般に多数のワード線およびビット線のうち4つのワード線WL0ない
しWL3および4つのビット線BL0ないしBL3のみが示されている。参照符
号8はアドレスデコーダの概要を示し、その構成および作用の仕方は当業者に同
じくよく知られており、従ってここに詳細に説明する必要はない。
本発明による安全回路は、メモリアクセスの簡単な監視および種々の応用への
メモリ1のフレキシブルな分配を許す図1Aおよび図1Bによるメモリ1の特別
な配置または構造に基づいている。本発明の基礎となっている原理は、メモリワ
ード線を、標準的なアドレス空間のなかに位置しておらず、また標準的なワード
線ビット(ページ)のなかに記憶されているデータへのアクセス権に関する情報
を含んでいるmビットだけ拡張することである。そのために、以下ではイネーブ
ルビット線と呼ばれているmの付加のビット線9および10が設けられており、
イネーブルビット線駆動回路11を介して(標準的な)ビット線駆動回路5に無
関係に駆動され得る。(標準的な)ワード線WL0ないしWL3と付加して設け
られているイネーブルビット線9および10との交叉個所にイネーブルメモリセ
ル12が設けられており、これらのイネーブルメモリセル12は構成および作用
の点で標準的なメモリセル3と区別する必要がなく、従ってまた標準的なメモリ
セル3と一緒に製造することができる。イネーブルメモリセルのなかには後でま
た説明すべき仕方でイネーブル値が一時的または永続的に格納され、これらのイ
ネーブル値は1つまたはそれ以上の予め定められたワード線WL0ないしWL3
の(標準的な)メモリセル3をイネーブルする役割をする。
図2は本発明の第1の実施例を示す。この第1の実施例ではイネーブルメモリ
セル14を有する単一のイネーブルビット線13が設けられている。すなわちm
=1である。このイネーブルビット線13のイネーブルメモリセル14のデータ
内容は(標準的な)メモリセル3の際のようにアドレス指定可能でなく、イネー
ブルビット線駆動回路11に設けられている(図面に詳細には示されていない)
初期化回路によりセットされる。初期化はその際に、それがオペレーティングシ
ステムをロードする際に一回だけ可能であるように構成されていてよい。その後
に付加のイネーブルビット(ページあたり1ビット)の占有はもはや変更可能で
ない。ページあたり1ビット(m=1)の際には2つのメモリ範囲15および1
6が、たとえば2つの相異なるアプリケーションプログラムに対して互いに別々
に選択され得る。アプリケーションプログラムが占めるページの数はその際に任
意に選択可能である。同じく全メモリ範囲のなかのアプリケーションプログラム
の配置はフレキシブルであり、その際にこれらは互いに入り込んだメモリ範囲の
なかに分配されていてもよい。メモリ範囲15はたとえば論理0の書込みにより
相応に対応付けられているイネーブルメモリセルのなかに割り当てられ、他方に
おいてメモリ範囲16は論理1の書込みにより定義される。
半導体メモリ1にマイクロプロセッサ17が対応付けられており、このマイク
ロプロセッサ17のなかにオペレーティングシステムおよびアプリケーションプ
ログラムが呼出され、またはそこでそれらが実行され、またマイクロプロセッサ
17はアドレスバス6およびデータバス7を介して別のメモリおよびレジスタ、
たとえば図示を簡単にするため一括して参照符号18を付されているRAM、R
OMまたはEEPHOMメモリ、と接続されている。マイクロプロセッサ17の
なかで進行するオペレーティングシステムは最高のハイアラーキ段位を有し、ア
プリケーションプログラムはそれにくらべて低い段位を有する。アプリケーショ
ンプログラムの呼出しの際にはマイクロプロセッサ17から制御信号がセットさ
れ、この制御信号が導線19上に与えられる。この過程はオペレーティングシス
テムによってのみレリーズされ得る。このようにしてアプリケーションプログラ
ムはそれに割当てられているメモリ範囲内でのみ能動的であり得る。マイクロプ
ロセッサ17の制御信号はこうして、アプリケーションプログラムが能動的であ
るかどうかを指示する。別の補助レジスタなしにこの制御信号は簡単な仕方でイ
ネーブルビット線13の現在のエキストラビットと比較される。この目的で、図
2に示されているような接続がなされているインバータ20とドゲート21を有
する比較回路が設けられている。アドレスの全部または一部の一時記憶は必要で
ない。アプリケーションプログラムが能動的であり、かつ許されていないアドレ
ス範囲にアクセスする場合には、リセット信号が導線22を経てマイクロプロセ
ッサ17に与えられる。しかし、制御信号によりマイクロプロセッサをリセット
せずに、他の適当なアクションをレリーズすることも同じく可能である。
図3は本発明の第2の実施例を示す。この第2の実施例では第1の実施例にく
らべて一般化した仕方でmの付加のイネーブルビット線13が設けられている。
第1の実施例の際のようにワード線WL0ないしWL3あたりmの付加のビット
は標準的にアドレス指定可能でなく、初期化回路によりセットされる。イネーブ
ルビット線の付加のビットに対する初期化回路はたとえばイネーブルビット線駆
動回路11(図1A)のなかに集積されていてよい。初期化はその際に再び、そ
れがオペレーティングシステムをロードする際に一回だけ可能であり、またその
後は付加のイネーブルビット線のイネーブルメモリセルの占有はもはや変更可能
でないように構成されていてよい。複数個のmのイネーブルビット線の際には2m
のプログラム範囲が別々にアプリケーションプログラムに対して分割可能であ
り、その際にアプリケーションプログラムにより占めるページの数は任意に選択
可能であり、また全メモリ範囲のなかのアプリケーションプログラムの配置もフ
レキシブルに設定可能であり、その際にこれらは互いに入り込んだメモリ範囲の
なかに分配されていてもよい。再びオペレーティングシステムは最高のハイアラ
ーキ段位を有し、アプリケーションプログラムはそれにくらべて低い段位を有す
る。アプリケーションプログラムの呼出しの際には制御信号の群または制御信号
ベクトルが導線23上にセットされ、この過程はオペレーティングシステムによ
ってのみレリーズされ得る。このようにしてそのつどのアプリケーションプログ
ラムはそれに割当てられているメモリ範囲のなかでのみ能動的であり得る。マイ
クロプロセッサ17の制御信号ベクトルはその際に、最大可能な2mの応用のど
れが能動的であるかを指示する。そのつどの応用の開始前に、応用に対応付けら
れているmビット値Yがセットされる。値Yは各メモリアクセスの際に現在の付
加のイネーブルビット内容Xとコンパレータ24により比較される。YがXに等
しくないときには、許されないアクセスが存在しており、またそれへの反応とし
て適切な制御信号、たとえばリセット信号、が導線25上に発生され、この制御
信号がマイクロプロセッサ17をリセットする。
図4は本発明の第3の実施例を示す。この第3の実施例は第2の実施例にくら
べて付加のメモリ26、いわゆるアクセス権テーブルメモリ、により拡張されて
いる。再びワード線WL0ないしWL3あたりmの付加のイネーブルビットは標
準的な仕方でアドレス指定可能でなく、初期化回路によりセットされる。さらに
アクセス権テーブルメモリ26の占有が初期化相のなかで決定される。付加のイ
ネーブルビットに対する初期化回路はたとえば再びイネーブルビット線駆動回路
11(図1A)のなかに集積されていてよい。初期化はその際に同じく、それが
オペレーティングシステムをロードする際に一回だけ可能であるように構成され
ていてよい。その後は付加のイネーブルビットおよびアクセス権テーブルメモリ
の占有はもはや変更可能でない。付加のmのイネーブルビット線の際には再び2m
のプログラム範囲が分割可能であり、その際にアプリケーションプログラムが
占めるページの数は任意に選択可能であり、全メモリ範囲のなかのプログラムの
配置はフレキシブルであり、また再びメモリ範囲の互いに入り込んだ分配が可能
である。オペレーティングシステムは最高のハイアラーキ段位を有し、アプリケ
ーションプログラムはそれにくらべて低い段位を有する。アプリケーションプロ
グラムの呼出しの際には制御信号、図4による第3の実施例では再び制御信号の
群または制御信号ベクトル、がセットされる。この過程はオペレーティングシス
テムによってのみレリーズされ得るので、このようにしてそのつどのアプリケー
ションプログラムはそれに割当てられているメモリ範囲のなかでのみ能動的であ
り得る。マイクロプロセッサ17の制御信号ベクトルは再び、最大可能な2mの
応用のどれが能動的であるかを指示する。応用の開始前に、応用に対応付けられ
ているmビット値Yがセットされる。この値はメモリ26のアクセス権テーブル
のなかでデコードされる。このメモリ26は分離した、ただしより小さいメモリ
数を有するメモリであってよい。そのつどの応用Yに対応付けられているkの記
述項R1、・・・、Rkはコンパレータ24により現在の付加のイネーブルビット
内容Xと比較される。すべてのRiに対してRiがXに等しくないときには、許
されないアクセスが存在している。それへの反応として適切な制御信号、たとえ
ばリセット信号、が導線25上に発生される。アクセス権テーブルメモリ26の
導入は応用の相互のアクセス権の任意の決定を許す。このようにして、応用Aは
応用Bにアクセスしてよいが、たとえば応用Bが応用Aにアクセスしてはならな
いようにすることが可能である。
オペレーティングシステムによるアプリケーションプログラムの呼出しの際に
は、データを保護するプロセッサ制御信号が適時に応用の開始の際にセットされ
、また応用の終了の際に再び消去されることが保証されていなければならない。
これはたとえば下記のように行われ得る。オペレーティングシステムが制御信号
をアプリケーションプログラムへの分岐の前にセットすると、分岐命令がアプリ
ケーションプログラムの部分としてマークされる。同じくマイクロプロセッサ1
7が分岐命令をアプリケーションプログラム範囲のなかで自動的に認識し、また
相応の制御信号をセットし得る。
図5は、アプリケーションプログラムのアクション権、特に読出し、書込みお
よび消去に関するアクション権、の決定を可能にする本発明の別の実施例を示す
。
この目的で半導体メモリは可能なアクションを決定するための複数個のnの付加
のイネーブルビット線13aと、導線30を介して付加のnのイネーブルビット
線13aと接続されているコンパレータ28とを含んでいる。コンパレータ28
は導線27および29を介してマイクロプロセッサ17と接続されている。初期
化の際には付加のイネーブルビット線13aのイネーブルメモリセルの相応のセ
ットにより、アプリケーションプログラムがどのアクション、すなわち読出し、
書込みまたは消去、をそれぞれ割当てられているメモリ範囲のなかで実行してよ
いかが決定される。マイクロプロセッサ17により導線27上に与えられている
アクション状態信号により指示または予め定められているアクション状態がアプ
リケーションプログラムにより違反される際には、コンパレータ28から導線2
9上に出力される制御信号により例えばマイクロプロセッサ17のリセットが指
令され得る。
図6は本発明の別の実施例を示し、この実施例では図4により説明されたアク
セス権テーブル26が回路技術的に特に簡単な仕方で等しく複数個のkのイネー
ブルビット線13(ここでkはmに等しいかそれよりも小さい)のイネーブルメ
モリセルのなかに集積されて構成されている。
図7に示されている実施例では図5および図6による実施例からの有利な特徴
が組み合わされている。
本発明による回路により、プログラムコード範囲に対するアクセス権の決定と
ならんでさらにデータメモリ範囲へのアクセスの規制も行われ得る。
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 ウィンネルル、ヨーゼフ
ドイツ連邦共和国 デー―81929 ミュン
ヘン シュテファン―ゲオルゲ―リング
49
(72)発明者 ゲオルガコス、ゲオルグ
ドイツ連邦共和国 デー―85447 フラウ
ンベルク アム ガイスベルク 1