(57)【特許請求の範囲】
【請求項１】
保持させる電荷量を違えることにより、単一の記憶セルで２値よりも多い多値の値を記憶させることのできる当該記憶セルを複数備えてなる半導体記憶素子と、
入力された各桁が２値である記憶データを、前記記憶セルの各々で多値の値として桁毎に記憶させる記憶制御手段と、
前記記憶セルに保持されている電荷量の検出を行う検出手段と、
前記記憶データの読み出しの要求が正規のものであるか否かの判定を行う判定手段と、
前記読み出しの要求が正規のものである場合には、前記検出がされた電荷量から２値の値への対応付けを行い、前記読み出しの要求が正規のものでない場合には、前記検出がされた電荷量から前記多値の値への対応付けを行う対応付け手段と、
前記対応付けがされた値を各桁で並べて得られるデータを、前記読み出しの要求に係る記憶データとして出力する出力手段と、
を有することを特徴とする半導体記憶装置。
【請求項２】
前記判定手段は、外部から入力される識別情報と、予め記憶されている記憶識別情報とが一致するか否かを判定することによって、前記読み出しの要求が正規のものであるか否かの判定を行うことを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記検出手段は、前記電荷量の検出を、前記記憶セルの電圧値の検出によって行うことを特徴とする請求項１に記載の半導体記憶装置。
【請求項４】
前記記憶制御手段は、入力された記憶データにおける各桁の２値の値を、各々前記多値の値のいずれかに対応付け、当該対応付けられた多値の値を前記記憶セルの各々で記憶させ、
前記対応付け手段は、前記読み出しの要求が正規のものである場合には、前記記憶制御手段による対応付けの関係に従って、前記検出がされた電荷量から２値の値への対応付けを行う、
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項５】
前記記憶制御手段は、前記対応付けの関係を、外部から入力される識別情報に基づいて決定することを特徴とする請求項４に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報保持の技術に関し、特に、情報の窃取を防止する技術に関する。
【背景技術】
【０００２】
メモリ等の半導体記憶装置に記憶させたデータに対する第三者による不正な読み出しから当該データを防護する技術として、従来から多種多様なものが提案されている。
例えば特許文献１には、カプセル封じ体を形成している圧電材料で電界の変化が生じたときに、カプセル封じ体内部の情報担持手段に担持されている情報を破壊するという技術が開示されている。
【０００３】
また、例えば特許文献２や特許文献３には、ＩＣチップを観察するために薄膜電池を取り外すことによって生じる電圧降下が検出されると、不揮発性メモリに格納されている情報を消去するという技術が開示されている。
【０００４】
また、特許文献４には、ＩＣカードの開封を検出するセンサーを設け、当該開封の検出に応じてＩＣカード内の不揮発性メモリのデータを消去するという技術が開示されている。
【０００５】
また、特許文献５には、機密性データを格納している第一の記憶装置がバスラインから切り離されたときに、解読キーが格納されている第二の記憶装置のバックアップを外して解読キーを消去してしまうという技術が開示されている。
【０００６】
また、特許文献６には、保存するデータを１つでは意味をなさない程度のデータ片に分割して当該データ片を別個のメモリへ格納するようにし、これらのメモリのうちのいずれかが不正に取り外されたことが検出された場合には、取り外されたもの以外のメモリで保存されているデータを消去するという技術が開示されている。
【０００７】
また、特許文献７には、コンピュータの電源をオフとする指令若しくは省電力動作状態へと移行する指令があった場合には、当該コンピュータ内のメモリの内容を暗号化しておくようにし、コンピュータの電源をオンとする指令若しくは省電力動作状態から通常の動作状態へと復帰する指令があった場合には、当該コンピュータ内のメモリの内容を復号化しておくようにする、という技術が開示されている。
【特許文献１】特開平５−８８９８６号公報
【特許文献２】特開２００１−１９５３０７号公報
【特許文献３】特開平１１−３２８０３６号公報
【特許文献４】特開平１０−３２０２９３号公報
【特許文献５】特開平９−１６４７７号公報
【特許文献６】特開２００２−７３４２２号公報
【特許文献７】特開２００１−２０２１６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上掲した技術のうちの幾つかは、不正な読み出しのための操作に応じてデータを失わせるものであるため、不正な読み出しのなされた後には正規のユーザであっても記憶させたデータを取り戻すことができない。
【０００９】
また、上掲した技術の幾つかはデータの暗号化技術を使用しているが、データの暗号化・復号化は重い処理負担をシステムに負わせるものであり、システムの処理能力に余裕のないシステムでは、採用することが容易ではない。
【００１０】
本発明は上述した問題に鑑みてなされたものであり、その解決しようとする課題は、半導体記憶装置に記憶されるデータで表されている情報を第三者により不正に取得されないようにすることである。
【課題を解決するための手段】
【００１１】
本発明の態様のひとつである半導体記憶装置は、保持させる電荷量を違えることにより、単一の記憶セルで２値よりも多い多値の値を記憶させることのできる当該記憶セルを複数備えてなる半導体記憶素子と、入力された各桁が２値である記憶データを、当該記憶セルの各々で２値の値として桁毎に記憶させる記憶制御手段と、当該記憶セルに保持されている電荷量の検出を行う検出手段と、当該記憶データの読み出しの要求が正規のものであるか否かの判定を行う判定手段と、当該読み出しの要求が正規のものである場合には、当該検出がされた電荷量から２値の値への対応付けを行い、当該読み出しの要求が正規のものでない場合には、当該検出がされた電荷量から当該多値の値への対応付けを行う対応付け手段と、当該対応付けがされた値を各桁で並べて得られるデータを、当該読み出しの要求に係る記憶データとして出力する出力手段と、を有することを特徴とするものであり、この特徴によって前述した課題を解決する。
【００１２】
上述した構成によれば、正規の読み出し要求を行うことのできない第三者は、記憶セルで２値の値として記憶した値を４値の値として読み出してしまうので、記憶データが不正に取得されてしまうことが防止される。その一方、正規の読み出し要求を行えば、セルの電荷量と適正に対応付けのされている２値の値からデータを得て出力するので、記憶データを正しく読み出すことができる。
【００１３】
なお、上述した本発明に係る半導体記憶装置において、当該判定手段は、外部から入力される識別情報と、予め記憶されている記憶識別情報とが一致するか否かを判定することによって、当該読み出しの要求が正規のものであるか否かの判定を行うように構成してもよい。
【００１４】
この構成によれば、識別情報を知っているか否かを以って正規の使用者であるか否かを識別することができる。
また、前述した本発明に係る半導体記憶装置において、当該検出手段は、当該電荷量の検出を、当該記憶セルの電圧値の検出によって行うように構成してもよい。
【００１５】
また、前述した本発明に係る半導体記憶装置において、当該記憶制御手段は、入力された記憶データにおける各桁の２値の値を、各々当該多値の値のいずれかに対応付け、当該対応付けられた多値の値を当該記憶セルの各々で記憶させ、当該対応付け手段は、当該読み出しの要求が正規のものである場合には、当該記憶制御手段による対応付けの関係に従って、当該検出がされた電荷量から２値の値への対応付けを行う、ように構成してもよい。
【００１６】
この構成によれば、正規の読み出し要求を受け取った場合に、記憶データを正しく出力することができる。
なお、このとき、当該記憶制御手段は、当該対応付けの関係を、外部から入力される識別情報に基づいて決定するようにしてもよい。
【００１７】
この構成によれば、識別情報に応じて対応付けの関係が変更されるので、記憶データの不正取得が更に難しくなる。
【発明の効果】
【００１８】
本発明によれば、以上のようにすることにより、半導体記憶装置に記憶されるデータで表されている情報の第三者による不正な取得が困難になるという効果を奏する。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態を図面に基づいて説明する。
まず図１について説明する。同図は、本発明を実施する半導体記憶装置の全体構成を示している。
【００２０】
図１において、半導体記憶装置１はフラッシュメモリである。また、ＦＰＧＡ（Field Programmable Gate Array）２は、半導体記憶装置１を使用する外部機器（本願においては「記憶管理装置」と称することとする）であり、半導体記憶装置１に設けられている、アドレス端子２１、データ端子２２、ライトイネーブル（／ＷＥ）端子２３、アウトプットイネーブル（／ＯＥ）端子２４、リセット（ＲＥＳＥＴ）端子２５、チップイネーブル（ＣＥ０〜２）端子２６、及びコマンド端子２７は、いずれもＦＰＧＡ２の対応する端子へ各々接続される。
【００２１】
半導体記憶装置１において、半導体記憶素子であるメモリセル１１は、いわゆるマルチレベルメモリセル（マルチビットメモリセルなどとも称されている）、すなわち、１つのセルに１ビットの値（２値）よりも多い多値の値（マルチビットデータ）を記憶させておくことのできる記憶セルが複数備えられて構成されている。なお、本実施形態においては、セル１つ当たりで２ビットの値（４値）を記憶できるものを使用する。
【００２２】
マルチレベルビットセルでは、保持させる電荷量を、記憶させる値に応じて変化させることで１つのセルで複数の値を記憶させる。データの書き込み時において、保持させる電荷量を変化させるためには、書き込み電圧のセルへの印加時間（若しくは、一定量の電荷の蓄積されているセルから一定の割合で蓄積電荷量を減少させる時間）を、記憶させる値に応じて変化させる手段が用いられる。一方、データ読み出し時においては、保持されている電荷量の違いが、セルからの出力電圧の違いとして取り出され、その出力電圧値に対応付けられているデータが記憶データとして出力される。
【００２３】
ＦＰＧＡ２が半導体記憶装置１のアドレス端子２１にアドレスを入力すると、当該アドレスに対応する１ワード分のデータの記憶に使用されるメモリセル１１がアドレスライン１１ａを経てアクセスされ選択される。オシレータ１２で発生する周期パルス信号は、信号整流回路１３に入力される。信号整流回路１３では、入力されたパルス信号の信号レベルを、メモリセル１１でのデータ書き込みに必要な信号レベルへと変換する。
【００２４】
当該アドレスにデータを書き込む場合には、ＦＰＧＡ２は、データ端子２２に書き込みデータを入力すると共に、ライトイネーブル端子２３をアクティブにする。すると、書き込みデータに基づいて決定される時間（パルス数）をデータロジック１４が決定し、信号整流回路１３からのパルス信号が、その時間だけ、選択されているメモリセル１１へと供給される。こうして、各メモリセル１１には書き込みデータ／パルス数に対応した電荷量が保持される。但し、ＦＰＧＡ２が後述する識別情報（キーデータ）をコマンド端子２７へシリアル入力した場合には、信号整流回路１３からのパルス信号をメモリセル１１へと供給する時間を、そのキーデータに応じて変動させる。
【００２５】
データロジック１４は、データ書き込み時には以上のように動作するが、データ読み出し時には、異なる動作をする。
ＦＰＧＡ２が半導体記憶装置１のアドレス端子２１へ入力しているアドレスによって指定されるデータを読み出す場合、ＦＰＧＡ２はアウトプットイネーブル端子２４をアクティブにすると、スイッチ１４ａはデータロジック１４を読み出し時動作のためのロジックへと切り替える。すると、データロジック１４は、当該アドレスによって選択されているメモリセル１１で保持されている４値である電荷量のいずれかに対応する４値の電圧値を検出し、その電圧値（すなわち電荷量）を元の書き込みデータへと変換してデータ端子２２へと出力する。但し、この変換は、ＦＰＧＡ２が上記のキーデータを正しくコマンド端子２７へシリアル入力した場合にのみ正しく行われ、正しいキーデータを入力しない場合には、データロジック１４は、検出した４値の電荷量を単純に４値のデータとして、つまり、元の書き込みデータとは異なるデータとしてデータ端子２２へと出力してしまう。この結果、元の書き込みデータは秘匿される。
【００２６】
この他、リセット端子２５は、メモリセル１１に記憶されているデータの消去をＦＰＧＡ２が指示する（保持電荷量を初期状態へと戻す）ために使用される。また、チップイネーブル端子２６は、半導体記憶装置１を複数同時に使用する際などに使用されるものであり、チップイネーブル端子２６へのＦＰＧＡ２からの入力がこの半導体記憶装置１自身を選択していると判定回路１５が判定した場合にのみ、データロジック１４を機能させる。
【００２７】
次に図２について説明する。同図は図１におけるデータロジック１４の詳細構成を示すブロック図である。
まず、図２の構成におけるデータ書き込み時の動作について説明する。
【００２８】
チップイネーブル端子２６へのＦＰＧＡ２からの入力がこの半導体記憶装置１自身を選択していると判定回路１５が判定し、且つ、ライトイネーブル端子２３がアクティブであると、書き込み動作が開始される。但し、書き込みデータの秘匿を行う場合には、このときに、ＦＰＧＡ２は、キーデータをコマンド端子２７へ併せて入力する。このキーデータは、半導体記憶装置１について個々に固有の一連数値データであり、ＦＰＧＡ２には、自己に接続される半導体記憶装置１のキーデータが予め記録されている。
【００２９】
続いて、ＦＰＧＡ２は、書き込みデータをデータ端子２２へ入力する。入力された書き込みデータはデータバスバッファ３３に一旦保持される。
ここで、コマンドレジスタ３４は、書き込みデータをデータバスバッファ３３から読み出す。そして、この書き込みデータと上述したキーデータとに基づいて、書き込みカウントデータを生成する。書き込みカウントデータは、アドレス端子２１への入力により選択されているメモリセル１１へ印加される、信号整流回路１３からのパルス信号の印加時間を設定する値である。書き込みパルスタイマ３５は、選択されているメモリセル１１へのパルス信号の印加を信号整流回路１３が開始すると同時に一定時間間隔でのカウントを開始する。例えば、コマンドレジスタ３４が書き込みカウントデータの値として「２０」を生成したのであれば、書き込みパルスタイマ３５によるカウント値が「２０」となったことを書き込み回路３６が検出するまで、当該パルス信号がメモリセル１１へ印加される。この結果、メモリセル１１には、その印加時間に対応した電荷量が保持される。こうしてデータの書き込みが完了する。
【００３０】
コマンドレジスタ３４は、データバスバッファ３３で保持されている書き込みデータの各桁の２値データ（「０」または「１」の１ビットデータ）を４値（２ビット）のデータへと変換する。このシングルビットデータからマルチビットデータへの変換では、例えば図３に示すように、２値における「０」の値を４値における（０，０）へと対応付ける一方で、２値における「１」の値については、４値における（０，１）、（１，０）、若しくは（１，１）のいずれかに対応付ける。但し、この３つのうちのいずれに対応付けるかはキーデータによって決定される。
【００３１】
キーデータは一連の数値データであり、データ書き込み時には、キーデータが書き込みカウントデータとして用いられる。なお、キーデータである一連の数値のうちの一部を所定の条件に従って選択して使用する等して、この対応付けを、書き込みデータの桁毎に異ならせるようにする。
【００３２】
なお、キーデータを入力しない場合、すなわち書き込みデータの秘匿を行わない場合には、コマンドレジスタ３４は、データバスバッファ３３で保持されている書き込みデータを２桁ずつ順に取り出して各桁４値のデータとし、アドレス端子２１への入力により選択されているメモリセル１１へこのデータを格納させる。
【００３３】
次に、データ読み出し時の動作について説明する。
チップイネーブル端子２６へのＦＰＧＡ２からの入力がこの半導体記憶装置１自身を選択していると判定回路１５が判定し、且つ、アウトプットイネーブル端子２４がアクティブである場合には、出力イネーブル回路３１が、メモリセル１１における選択中のセルからの出力電圧を復号回路３２へ入力させる。コマンド端子２７にキーデータを入力し名手場合には、復号回路３２では、セルの電圧（すなわちセルに蓄積されている電荷量）を４値のデータへと変換し、データバスバッファ３３に格納する。そして、全てのビットのデータがデータバスバッファ３３に揃った時点で、データバスバッファ３３からデータ端子２２（図１）へデータを出力する。
【００３４】
ところが、本実施形態において、コマンド端子２７にキーデータを入力した場合には、上述したものとは異なる読み出し動作、すなわち、上述した書き込み時動作において秘匿した書き込みデータを正しく読み出すための動作が行われる。
【００３５】
ＦＰＧＡ２がコマンド端子２７へキーデータをシリアル入力すると、コマンドレジスタ３４は、出力イネーブル回路３１による上述の動作を抑制し、代わって、メモリセル１１における特定のセルを選択し、そのセルからの出力電圧を復号回路３２へ入力させる。
【００３６】
前述したように、キーデータは、半導体記憶装置１について個々に固有のデータである。半導体記憶装置１における上記特定のセルには、読み出し専用（消去・書き換え不能）な記憶識別情報として、当該半導体記憶装置１自身の有しているキーデータが予め書き込まれている。
【００３７】
復号回路３２では、セルの電圧を４値のデータへと変換し、データバスバッファ３３に格納する。全てのビットのデータがデータバスバッファ３３に揃った時点で、コマンドレジスタ３４は、このデータバスバッファ３３に保持されているデータ（記憶識別情報）と、前述したキーデータ（識別情報）とが一致するか否かを判定する。
【００３８】
この両者が一致していた場合には、記憶データの正規な読み出し要求がなされている（半導体記憶装置１の記憶識別情報を知っている外部機器からの正当な読み出し要求がなされている）と判別される。すると、コマンドレジスタ３４は、復号回路３２を制御し、メモリセル１１からの出力電圧（すなわち蓄積電荷量）と出力データとの対応付けを変更する。具体的には、例えば図３に示すように、それまでは、セルからの出力電圧の高い順に（０，０）、（０，１）、（１，０）、（１，１）の４値を各々対応付けていたものから、（０，０）に相当する出力電圧の場合には（０）を対応付けるようにし、それよりも低い出力電圧の場合には全て（１）を対応付けるようにする。すなわち、この場合には、マルチレベルメモリセルに対し、セル１つ当たりで２値のみを対応付けるように変更する。なお、図３において、出力電圧Ｖｔ（０）は定数値であり、出力電圧から２値データへの対応付けを行う際に、対応付ける値を（０）とするか（１）とするかの閾値となるセルからの出力電圧である。
【００３９】
一方、コマンド端子２７に入力したキーデータが、半導体記憶装置１の記憶識別情報と一致していない場合には、コマンドレジスタ３４は、出力イネーブル回路３１の動作を抑制せずに、コマンド端子２７にキーデータを入力しない場合と同様の、前述したデータ読み出し動作が行われる。
【００４０】
以降は、対応付けの変更されたこの復号回路３２の下で、セルの出力電圧が２値のデータへと変換されてデータバスバッファ３３に格納され、データ端子２２へデータが出力される。つまり、記憶識別情報と同一のキーデータが入力されたときのデータの読み出しによってのみ正規のデータが得られるように、半導体記憶装置１に対してデータの書き込みを行っておけば、第三者は正規のデータを取得することができない。
【００４１】
上述した記憶制御を行って書き込みデータを半導体記憶装置１に記憶させておくことにより、キーデータを知らない第三者は、記憶データの正規の読み出し要求を行うことができず、対応関係の不明な４値データとしてしか書き込みデータを読み出すことができない。言い換えると、本発明を実施する半導体記憶装置では、実効性のあるシングルビットデータがマルチビットメモリに配所されるので、キーデータを入力しないで行う読み出しでは、マルチビットメモリとして実効性の無いデータを展開してしまうのである。よって、正しい書き込みデータが秘匿され、書き込みデータの不正取得が防止される。
【００４２】
その一方、キーデータを知っている者は、キーデータを前述したようにして外部機器からコマンド端子２７へ入力して読み出し動作を行うことにより、半導体記憶装置１が、メモリセル１１に記憶されていたマルチビットデータをシングルビットデータへ変換してデータ端子２２へ出力するので、書き込みデータを正しく読み出すことが可能となる。
【００４３】
次に図４Ａ及び図４Ｂについて説明する。図４Ａは、データロジック１４で行われる書き込み処理の処理内容をフローチャートで示したものであり、図４Ｂは、図４ＡのＳ１０６の処理の詳細をフローチャートで示したものである。なお、これらの処理は、メモリセル１１における書き込み対象のセル毎に行われるものであり、ライトイネーブル端子２３をアクティブとした状態でキーデータがコマンド端子２７へ入力された場合に実行される。
【００４４】
なお、以下の説明においては、メモリセル１１は、初期状態で所定の電荷量を保持させておき、書き込みデータの値に応じて保持電荷量を所定量減少させることでデータ記憶を実現させるものとする。また、データの書き込み及び読み出しにおける各セルの電荷量とデータとの関係は、図３に例示したものを採用するものとする。
【００４５】
まず、データ書き込み前の準備として、Ｓ１０１において、メモリセル１１のうち、アドレス端子２１への入力によって特定される書き込み先であるセルが属しているセクタ（フロック）の各セルの電荷量が全てＨレベル（ハイレベル）となっているか否かを判定する処理が行われる。ここで、当該セクタの全セルがＨレベルとなっていないと判定された場合には、Ｓ１０２において、当該セクタの全セルのデータを消去する（電荷量をＨレベルとする）処理が行われ、その後、Ｓ１０１の判定処理が再度行われる。一方、Ｓ１０１の判定処理において、当該セクタの全セルがＨレベルとなっていると判定された場合には、Ｓ１０３に処理が進む。
【００４６】
Ｓ１０３では、ＦＰＧＡ２からデータ端子２２へ入力された書き込みデータが取り込まれ、続くＳ１０４において、コマンド端子２７へ入力されたキーデータが取り込まれる。書き込みデータはデータバスバッファ３３で一旦保持され、キーデータはコマンドレジスタ３４に入力される。
【００４７】
Ｓ１０５では、書き込みデータのうち現在の書き込み対象の桁の値が「０」であるか「１」であるかを判定する処理が行われる。ここで、当該値が「０」であると判定したならば、セルへの書き込みを行うことなくこのまま図４Ａの処理を終了する。このとき、セルの電荷量は初期状態のまま（すなわちＨレベル）であるので、図３に示すように、この電荷量は、２値データとしては（０）を表現しており、４値データとしては（０，０）を表現している。
【００４８】
一方、Ｓ１０５の処理において、書き込みデータのうち現在の書き込み対象の桁の値が「１」であると判定したならば、Ｓ１０６の書き込み動作処理を実行する。この処理の詳細は後述する。
【００４９】
Ｓ１０６の処理の後、Ｓ１０７において、書き込み先のセルの現在の読み出し電圧が、図３に示した閾値電圧Ｖｔ（０）以下となったか否かを判定する処理が行われる。ここで、セルの現在の読み出し電圧がＶｔ（０）以下となったと判定された場合には、２値データの（１）を書き込み先のセルへ記憶させることができたとみなし、図４Ａの処理を終了する。一方、セルの現在の読み出し電圧が未だにＶｔ（０）以下となっていないと判定された場合には、Ｓ１０６へと処理を戻してＳ１０６の書き込み動作処理を再度実行する。
【００５０】
次に、Ｓ１０６の書き込み動作処理について、図４Ｂのフローチャートを参照しながら説明する。なお、この処理は、図２における書き込み用パルスタイマ３５及び書き込み回路３６の機能を実現する処理である。
【００５１】
まず、Ｓ１１１では、コマンド端子２７に入力されたキーデータから選択された、書き込みデータのうち現在の書き込み対象の桁に対応する数値が変数Ｋに代入する処理が行われる。前述したように、キーデータは一連の数値であり、ここでは、このうちの一部の数値を、書き込みデータの桁毎に所定の条件に従って選択して使用する。このときの変数Ｋの値が前述した書き込みカウントデータに相当する。
【００５２】
Ｓ１１２では、変数Ｋの現在の値がゼロとなったか否かを判定する処理が行われる。ここで、変数Ｋの現在の値がゼロになった場合には、この図４Ｂの処理を終了して図４Ａの処理へ戻る。一方、変数Ｋの現在の値が未だゼロに達していない場合には、Ｓ１１３へ処理を進める。
【００５３】
Ｓ１１３では、書き込み処理、すなわち、書き込み先のセルへ信号整流回路１３を所定時間接続して当該セルに蓄積されている電荷を所定量だけ減少させる処理が行われる。
Ｓ１１４では、変数Ｋの現在の値から１を減算した結果を改めて変数Ｋに代入する処理が行われ、その後はＳ１１２へと処理を戻して上述した処理が繰り返される。
【００５４】
以上の処理の結果、キーデータの値によってＳ１１３の書き込み処理の実行回数が変わるので、書き込み先のセルの電荷量が異なることとなる。すなわち、図４Ｂの処理と図４ＡのＳ１０５の処理とにより、２値データの（１）である書き込みデータが、キーデータの値に応じて４値における（０，１）、（１，０）、若しくは（１，１）のいずれかに対応付けられることとなる。
【００５５】
但し、キーデータの数値によっては、図４Ｂの書き込み動作処理を実行しても、書き込み先のセルの電荷量の減少が不十分のため、依然として当該セルの出力電圧が前述した閾値Ｖｔ（０）よりも高くなってしまっている場合がある。この場合では、２値データの（１）である書き込みデータが、４値における（０，０）に対応付けられてしまう。しかし、この場合には、図４ＡのＳ１０７の判定処理の結果がＮｏとなり、当該書き込み先のセルに対して更に図４Ｂの書き込み動作処理が実行されるのである。この書き込み動作処理の繰り返しにより、２値データの（１）である書き込みデータは、４値における（０，１）、（１，０）、若しくは（１，１）のいずれかに必ず対応付けられることとなる。
【００５６】
次に図５について説明する。同図は、キーデータがコマンド端子２７へ入力されたときにデータロジック３４で行われる読み出し処理の処理内容をフローチャートで示したものである。
【００５７】
まず、Ｓ２０１において、キーデータがコマンド端子２７へ入力されると、Ｓ２０２において、メモリセル１１における特定のセルで記憶されている記憶識別情報を読み出してデータバスバッファ３３に保持させる処理が行われる。
【００５８】
Ｓ２０３では、データバスバッファ３３に保持されている記憶識別情報と、前述したキーデータとが一致するか否かを判定する処理が行われる。ここで、両者が一致すると判定したときには、Ｓ２０４において、復号回路３２を制御し、図４Ａの書き込み処理での対応付けの関係に従った対応付け、すなわち、メモリセル１１からの出力電圧から２値の出力データへの対応付けを行わせるようにする。つまり、メモリセル１１からの出力電圧が前述した閾値電圧Ｖｔ（０）よりも高い場合には当該出力電圧を値「０」へと対応付け、Ｖｔ（０）以下の場合には当該出力電圧を値「１」へと対応付ける。この処理により、４値の出力データにおける（０，０）に相当するメモリセル１１からの出力電圧値が２値の出力データにおける値「０」へ対応付けられると共に、４値の出力データにおける（０，１）、（１，０）、（１，１）に相当するメモリセル１１からの出力電圧値が２値の出力データにおける値「１」へ対応付けられる。こうして、秘匿しておいた書き込みデータが読み出される。
【００５９】
一方、Ｓ２０３の判定処理において、両者が一致しないと判定したときには、Ｓ２０５において、復号回路３２を制御し、メモリセル１１からの出力電圧から４値の出力データへの対応付けを行わせるようにする。つまり、メモリセル１１からの出力電圧値に応じ、（０，０）、（０，１）、（１，０）、若しくは（１，１）のいずれかに当該出力電圧を対応付ける。こうすることにより、秘匿しておいた書き込みデータは無意味なデータとして読み出されてしまう。
【００６０】
以上の読み出し処理により、キーデータを知らない第三者は、４値データとしてデータを読み出してしまうので、書き込みデータが不正に取得されてしまうことが防止される。その一方、キーデータを知っている者は、セルの出力電圧が２値のデータとして変換されて出力されるので、書き込みデータを正しく読み出すことができる。
【００６１】
以上、本発明の実施形態を説明したが、本発明は、上述した各実施形態に限定されることなく、本発明の要旨を逸脱しない範囲内で種々の改良・変更が可能である。
例えば、上述した実施形態では、半導体記憶装置１を使用する外部機器としてＦＰＧＡ２を使用していたが、その代わりに、図６に示すような演算処理システムで半導体記憶装置１を使用することも可能である。
【００６２】
図６について説明すると、演算処理システム４０は、前述したものと同様の半導体記憶装置１を備えている。半導体記憶装置１は、ＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、ＨＤＤ４４、入力部４５及び出力部４６と共にバス４７に接続されている。なお、半導体記憶装置１は、演算処理システム４０から着脱可能としてもよい。
【００６３】
ＣＰＵ（Central Processing Unit ）４１はこの演算処理システム４０全体の動作制御を行う中央処理装置である。
ＲＯＭ（Read Only Memory）４２は、ＣＰＵ４１によって実行される基本制御プログラムが予め格納されているメモリであり、演算処理システム４０の起動時にＣＰＵ４１がこの基本制御プログラムを実行することによって演算処理システム４０全体の動作の基本的な制御がＣＰＵ４１によって行なわれる。
【００６４】
ＲＡＭ（Random Access Memory）４３は、各種制御プログラムをＣＰＵ４１が実行するときにワークメモリとして使用され、また各種のデータの一時的な格納領域として必要に応じて用いられるメインメモリとしても機能するメモリである。
【００６５】
ＨＤＤ（Hard Disk Drive ）４４は、この演算処理システム４０で実行される各種の制御処理をＣＰＵ４１に行わせるための制御プログラムが予め格納されているハードディスク装置である。
【００６６】
入力部４５は外部からの入力を受け取ってその入力の内容をＣＰＵ４１に渡すものであり、例えばキーボードやマウスなどといったこの装置を操作する操作者からの指示を受け取る入力装置を備えている。
【００６７】
出力部４６はＣＰＵ部４１からの指示に応じた各種の情報の出力を行うものであり、例えばＣＲＴ（Cathode Ray Tube）やＬＣＤ（Liquid Crystal Display）を備えて構成される。
【００６８】
以上の構成を有する演算処理システム４０において、ＣＰＵ４１が、例えばＨＤＤ４４に格納されている制御プログラムを実行して、図１のＦＰＧＡ２と同様の、適切なキーデータを伴ったデータの書き込み・読み出し動作を行うことにより、半導体記憶装置１の有する書き込みデータの秘匿機能を利用することができる。
なお、上記した実施の形態から次のような構成の技術的思想が導かれる。
【００６９】
（付記１）  保持させる電荷量を違えることにより、単一の記憶セルで２値よりも多い多値の値を記憶させることのできる当該記憶セルを複数備えてなる半導体記憶素子と、
入力された各桁が２値である記憶データを、前記記憶セルの各々で多値の値として桁毎に記憶させる記憶制御手段と、
前記記憶セルに保持されている電荷量の検出を行う検出手段と、
前記記憶データの読み出しの要求が正規のものであるか否かの判定を行う判定手段と、
前記読み出しの要求が正規のものである場合には、前記検出がされた電荷量から２値の値への対応付けを行い、前記読み出しの要求が正規のものでない場合には、前記検出がされた電荷量から前記多値の値への対応付けを行う対応付け手段と、
前記対応付けがされた値を各桁で並べて得られるデータを、前記読み出しの要求に係る記憶データとして出力する出力手段と、
を有することを特徴とする半導体記憶装置。
【００７０】
（付記２）  前記判定手段は、外部から入力される識別情報と、予め記憶されている記憶識別情報とが一致するか否かを判定することによって、前記読み出しの要求が正規のものであるか否かの判定を行うことを特徴とする付記１に記載の半導体記憶装置。
【００７１】
（付記３）  前記検出手段は、前記電荷量の検出を、前記記憶セルの電圧値の検出によって行うことを特徴とする付記１に記載の半導体記憶装置。
（付記４）  前記記憶制御手段は、入力された記憶データにおける各桁の２値の値を、各々前記多値の値のいずれかに対応付け、当該対応付けられた多値の値を前記記憶セルの各々で記憶させ、
前記対応付け手段は、前記読み出しの要求が正規のものである場合には、前記記憶制御手段による対応付けの関係に従って、前記検出がされた電荷量から２値の値への対応付けを行う、
ことを特徴とする付記１に記載の半導体記憶装置。
【００７２】
（付記５）  前記記憶制御手段は、前記対応付けの関係を、外部から入力される識別情報に基づいて決定することを特徴とする付記４に記載の半導体記憶装置。
（付記６）  単一記憶セルにマルチビットデータを記憶する記憶装置であって、
シングルビットデータをマルチビットデータに変換する変換手段と、
前記変換されたマルチビットデータを前記記憶セルに記憶させる手段と、
を有することを特徴とする記憶装置。
【００７３】
（付記７）  単一記憶セルにマルチビットデータを記憶する記憶装置であって、
識別情報の入力を受け付ける受付手段と、
前記識別情報に基づいてデータ読み出しの正当性を判別する判別手段と、
前記マルチビットデータをシングルビットデータに変換する変換手段と、
前記正当性の判別結果に基づいて、前記マルチビットデータ若しくは前記シングルビットデータを選択的に出力する出力手段と、
を有することを特徴とする記憶装置。
【００７４】
（付記８）  単一記憶セルにマルチビットデータを記憶する記憶装置へのデータ書き込み方法であって、
シングルビットデータをマルチビットデータに変換し、
前記変換されたマルチビットデータを前記記憶セルに書き込む、
ことを特徴とするデータ書き込み方法。
【００７５】
（付記９）  前記シングルビットデータからマルチビットデータへの変換の対応付けを、記憶セル毎に変更することを特徴とする付記８に記載のデータ書き込み方法。
（付記１０）  識別情報の入力を受け付け、
前記識別情報に基づいて前記変換の対応付けを変更する、
ことを特徴とする付記９に記載のデータ書き込み方法。
【００７６】
（付記１１）  前記変換の対応付けの変更を、前記記憶セルに保持させる電荷量の変更によって行うことを特徴とする付記９または１０に記載のデータ書き込み方法。
（付記１２）  単一記憶セルにマルチビットデータを記憶する記憶装置からのデータ読み出し方法であって、
データ読み出し要求の正当性を判別し、
前記データ読み出し要求が正当と判別された場合には、前記記憶セルに記憶されたマルチビットデータをシングルビットデータに変換して出力し、
前記データ読み出し要求が正当でないと判別された場合には、前記記憶セルに記憶されたマルチビットデータを出力する、
ことを特徴とするデータ読み出し方法。
【００７７】
（付記１３）  識別情報の入力を受け付け、
データ読み出し要求の正当性を、前記識別情報に基づいて判別する、
ことを特徴とする付記１２に記載のデータ読み出し方法。
【００７８】
（付記１４）  半導体記憶装置を備えた演算処理システムであって、
前記半導体記憶装置は、
保持させる電荷量を違えることにより、単一の記憶セルで２値よりも多い多値の値を記憶させることのできる当該記憶セルを複数備えてなる半導体記憶素子と、
入力された各桁が２値である記憶データを、前記記憶セルの各々で２値の値として桁毎に記憶させる記憶制御手段と、
前記記憶セルに保持されている電荷量の検出を行う検出手段と、
前記記憶データの読み出しの要求が正規のものであるか否かの判定を行う判定手段と、
前記読み出しの要求が正規のものである場合には、前記検出がされた電荷量から２値の値への対応付けを行い、前記読み出しの要求が正規のものでない場合には、前記検出がされた電荷量から前記多値の値への対応付けを行う対応付け手段と、
前記対応付けがされた値を各桁で並べて得られるデータを、前記読み出しの要求に係る記憶データとして出力する出力手段と、
を有する
ことを特徴とする演算処理システム。
【００７９】
（付記１５）  単一記憶セルにマルチビットデータを記憶する記憶装置を備えた演算処理システムであって、
前記記憶装置は、
シングルビットデータをマルチビットデータに変換する変換手段と、
前記変換されたマルチビットデータを前記記憶セルに記憶させる手段と、
を有する
ことを特徴とする演算処理システム。
【００８０】
（付記１６）  単一記憶セルにマルチビットデータを記憶する記憶装置を備えた演算処理システムであって、
前記記憶装置は、
識別情報の入力を受け付ける受付手段と、
前記識別情報に基づいてデータ読み出しの正当性を判別する判別手段と、
前記マルチビットデータをシングルビットデータに変換する変換手段と、
前記正当性の判別結果に基づいて、前記マルチビットデータ若しくは前記シングルビットデータを選択的に出力する出力手段と、
を有する
ことを特徴とする演算処理システム。
【図面の簡単な説明】
【００８１】
【図１】本発明を実施する半導体記憶装置の構成を示す図である。
【図２】データロジックの詳細構成を示す図である。
【図３】データの書き込み及び読み出しにおける各セルの電荷量とデータとの関係の例を示す図である。
【図４Ａ】書き込み処理の処理内容をフローチャートで示した図である。
【図４Ｂ】書き込み動作処理の処理内容をフローチャートで示した図である。
【図５】読み出し処理の処理内容をフローチャートで示した図である。
【図６】本発明を実施する半導体記憶装置を用いた演算処理システムの構成を示す図である。
【符号の説明】
【００８２】
１  半導体記憶装置
２  ＦＰＧＡ
１１  メモリセル
１１ａ  アドレスライン
１２  オシレータ
１３  信号整流回路
１４  データロジック
１４ａ  スイッチ
１５  判定回路
２１  アドレス端子
２２  データ端子
２３  ライトイネーブル端子
２４  アウトプットイネーブル端子
２５  リセット端子
２６  チップイネーブル端子
２７  コマンド端子
３１  出力イネーブル回路
３２  復号回路
３３  データバスバッファ
３４  コマンドレジスタ
３５  書き込み用パルスタイマ
３６  書き込み回路
４０  演算処理システム
４１  ＣＰＵ
４２  ＲＯＭ
４３  ＲＡＭ
４４  ＨＤＤ
４５  入力部
４６  出力部
４７  バス
【図１】
0004647446.tif 000002
【図２】
0004647446.tif 000003
【図３】
0004647446.tif 000004
【図４Ａ】
0004647446.tif 000005
【図４Ｂ】
0004647446.tif 000006
【図５】
0004647446.tif 000007
【図６】
0004647446.tif 000008