JP3810378B2 - 不揮発性半導体記憶装置及びその機密保護方法 - Google Patents

不揮発性半導体記憶装置及びその機密保護方法 Download PDF

Info

Publication number
JP3810378B2
JP3810378B2 JP2003108937A JP2003108937A JP3810378B2 JP 3810378 B2 JP3810378 B2 JP 3810378B2 JP 2003108937 A JP2003108937 A JP 2003108937A JP 2003108937 A JP2003108937 A JP 2003108937A JP 3810378 B2 JP3810378 B2 JP 3810378B2
Authority
JP
Japan
Prior art keywords
data
memory device
semiconductor memory
security
nonvolatile semiconductor
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
JP2003108937A
Other languages
English (en)
Other versions
JP2004005941A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2003108937A priority Critical patent/JP3810378B2/ja
Publication of JP2004005941A publication Critical patent/JP2004005941A/ja
Application granted granted Critical
Publication of JP3810378B2 publication Critical patent/JP3810378B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、機密保持機構を備えた電気的にデータの書き換えが可能な不揮発性半導体記憶装置及びその機密保護方法に関する。
【0002】
【従来の技術】
近年、フラッシュメモリに代表される不揮発性半導体記憶装置は、電気的にデータの書き換えが可能で、且つ電源を切った状態でもデータを保持することができるため、様々な分野で使用されている。例えば、携帯電話,デジタルカメラ,シリコンオーディオプレーヤー等のシステムにおいて、データ格納用の記憶装置として用いられている。また、ICカード等に搭載するマイクロコンピュータの内部記憶装置としても用いられている。
【0003】
不揮発性半導体記憶装置には、例えば、システムを所望の手順に従って動作させるためのプログラムや、個人のプライバシーに関わる情報や、著作権で保護される情報等が格納されている。これらのプログラムや情報を第三者が不正に読み出し、または書き換えを自由にできるならば、機密情報保護の点で非常に好ましくない。このため、一般に、不揮発性半導体記憶装置には機密保護のためにセキュリティ回路が搭載されている。
【0004】
図20は、従来の不揮発性半導体記憶装置の構成を示す回路図である。同図に示されるように、不揮発性半導体記憶装置は、外部機器とのアドレス及びデータのやり取りを行なうためのデータ入出力バッファ1000と、セキュリティ機能を果たすためのセキュリティ回路1003と、多数のメモリセルが配置されたメモリセルアレイ1011とを備えている。
【0005】
データ入出力バッファ1000は、外部からアドレスとデータを受け取り、アドレスとデータとをそれぞれ内部アドレスバス1001と内部データバス1002に転送する。データ端子DATAは双方向バスであり、例えば、読み出し動作時には内部データバス1002のデータがデータ端子DATAから外部機器に出力され、書き込み動作時には外部機器からのデータがデータ端子DATAを経て内部データバス1002に入力される。
【0006】
セキュリティ回路1003は、パスワード記憶回路1004と、パスワード記憶回路1004からの出力値1006と内部データバス1002との値を比較する比較回路1005と、メモリセルアレイ1011へのアクセスを制限する動作制限回路1008とを備えている。
【0007】
メモリセルアレイ1011と動作制限回路1008との間では、アドレスバス1009及びデータバス1010を介してデータのやり取りが行なわれる。
【0008】
図21は、上記従来の不揮発性半導体記憶装置の機密保護方法を示すフローチャートである。
【0009】
まず、ステップS2000で、セキュリティ認証モードに設定してデータ端子DATAからセキュリティ機能を解除するためのパスワードを入力する。そのとき、データ入出力バッファ1000は内部データバス1002にパスワードを出力し、このパスワードは比較回路1005に入力される。
【0010】
次に、ステップS2001で、比較回路1005において、パスワード記憶回路1004から出力されたパスワード1006と内部データバス1002に入力されたパスワードの値とが比較され、両者が一致するかどうかが判別される。
【0011】
そして、ステップS2001における判別の結果、両者のパスワードが一致したYESの場合は、Hレベルの判別信号1007(図20参照)が出力され、両者のパスワードが一致しないNOの場合は、Lレベルの判別信号1007が出力される。これらの判別信号1007は動作制限回路1008に入力される。
【0012】
そして、Hレベルの判別信号1007が出力されると、ステップS2002に進み、動作制限回路1008はHレベルの一致信号1007を受けてセキュリティ機能の解除を許容する。そして、セキュリティ機能の解除が許容されると、さらにステップS2003に進んで、内部アドレスバス1001とアドレスバス1009との間が接続状態になり、且つ、内部データバス1002とデータバス1010との間が接続状態になることにより、メモリセルアレイ1011へのアクセスが可能となる。
【0013】
一方、ステップS2001の判別において、データ端子DATAから入力されたパスワードがパスワード記憶回路1004に格納されているパスワードと一致しない場合は、比較回路1008から出力される判別信号1007がLレベルになるので、動作制限回路1008はセキュリティ機能の解除を許容しない。従って、内部アドレスバス1001とアドレスバス1009との間が遮断状態になり、且つ、内部データバス1002とデータバス1010との間が遮断状態になることにより、メモリセルアレイ1011へのアクセスが不可能となる。
【0014】
以上のように、セキュリティ回路1003が設けられた従来の不揮発性半導体記憶装置においては、パスワード記憶回路1004に格納されたパスワードを予め知っている者しかメモリセルアレイ1011へアクセスすることができないため、第三者による不正アクセスを防止することができる。
【0015】
【特許文献】
特開2001−306400号公報(要約書)
【0016】
【発明が解決しようとする課題】
しかしながら、前述したセキュリティ回路を備えた従来の不揮発性半導体記憶装置のセキュリティ回路、及びその機密保護方法(セキュリティ解除方法)に関しては以下に示すような不具合があった。
【0017】
第1に、図20に示されるように、上記従来のセキュリティ回路には、パスワードを記憶するための記憶回路と、その記憶回路に格納されたパスワードとデータ端子から入力したパスワードとを比較するための比較回路とを新たに設ける必要がある。このため、メモリチップの回路規模が増大することになる。ところが、機器の小型化に伴い、不揮発性半導体記憶装置も小型化する必要があり、上記の如く回路規模が増大するのは機器の小型化の阻害要因となる。また、セキュリティ機能を高める一つの手段として、パスワードのビット数を増やすことが考えられるが、ビット数を増やすと、パスワード記憶回路や比較回路の回路規模がさらに増大し、上述の不具合がより顕著に現れることになる。
【0018】
第2に、不揮発性半導体記憶装置にセキュリティ機能を組み込むためには、従来から組み込まれている動作モードの他に、パスワード記憶回路に格納されたパスワードとデータ端子から入力されたパスワードとを比較する動作を行なうセキュリティ認証モードという別の動作モードを新たに組み込む必要がある。このように、別の動作モードを新たに加えることは、制御回路の複雑化を招き、制御回路の回路規模が増大するという不具合がある。
【0019】
本発明の目的は、新たに動作モードを加えることなく、且つ、わずかな付加回路だけでセキュリティ機能を実現することができる不揮発性半導体記憶装置及びその機密保護方法を提供することにある。
【0020】
【課題を解決するための手段】
本発明の目的は、新たに動作モードを加えることなく、且つ、わずかな付加回路だけでセキュリティ機能を実現することができる不揮発性半導体記憶装置及びその機密保護方法を提供することにある。
【0021】
本発明の不揮発性半導体記憶装置は、セキュリティ保護のための解除コード格納メモリセルと、プログラムベリファイを行なうためのカラムラッチ回路とを有する不揮発性半導体記憶装置を前提とし、セキュリティ機能を解除するためのパスワードが入力されたときに、カラムラッチ回路にパスワードをラッチして、ラッチされたパスワードと解除コード格納メモリセルとのベリファイ動作を行なう制御部を備えている。
【0022】
これにより、不揮発性半導体記憶装置に予め搭載されているカラムラッチ回路及びそのプログラムベリファイ機能を利用して、セキュリティ認証動作を行なうことができるため、新たに動作モードを設けることなく、且つわずかな付加回路だけでセキュリティ機能を実現することができる。従って、セキュリティ機能の追加による動作制御の複雑化や回路規模の増大を回避することができる。
【0023】
ラッチ動作とベリファイ動作を、セキュリティ解除コマンドが入力された場合、又は特定アドレス,特定データが入力された場合に開始されるようにしておいて、セキュリティ解除コマンド,特定アドレス,特定データを任意に設定するためのレジスタをさらに設けることにより、ユーザー毎、あるいはチップ毎に任意に設定することができるため、セキュリティ解除方法を公開しない場合は、悪意の第三者がセキュリティ解除方法を特定することが困難となる。従って、セキュリティ保護機能をさらに高めることができる。
【0024】
パスワードが禁止データであることを検知したときには、メモリセルアレイへの外部からのアクセスを不可能とすることにより、セキュリティ解除コードと一致しないパスワードを用いてセキュリティ機能を解除させるような悪意のアクセスを排除することが可能になる。
【0025】
禁止データとしては、プログラム状態のデータを有するビットが存在しないパスワードや、パスワードの全ビットを1又は2以上のグループに区画したときにいずれかグループにプログラム状態のデータを有するビットが存在しないパスワードがある。
【0026】
カラムラッチ回路へのパスワードのラッチ動作の前に特定アドレスが入力されない場合、又は解除コード格納メモリセルとのベリファイ動作の前に特定アドレス,特定データが入力されない場合にはセキュリティ機能の解除が行われないようにしておいて、特定アドレス,特定データを任意に設定するためのレジスタをさらに設けることにより、ユーザー毎、あるいはチップ毎に任意に設定することができるため、セキュリティ解除方法を公開しない場合は、悪意の第三者がセキュリティ解除方法を特定することが困難となる。従って、セキュリティ保護機能をさらに高めることができる。
【0027】
パスワードをスクランブル処理して、カラムラッチ回路に出力するデータスクランブル回路をさらに設けたり、ベリファイ動作の際にパスワードとセキュリティ解除コードとが不一致と判定された場合はカラムラッチ回路にラッチされたデータをリセットする手段をさらに設けることにより、さらにセキュリティ保護機能を高めることができる。
【0028】
【発明の実施の形態】
以下、本発明の実施形態について、代表的な不揮発性半導体記憶装置であるフラッシュメモリを例にとって説明する。
【0029】
(第1実施形態)
−回路構成−
図1は、第1実施形態に係る不揮発性半導体記憶装置(フラッシュメモリ)の構成を示す回路図である。同図に示すように、本実施形態の不揮発性半導体記憶装置は、メモリセルアレイ10と、メモリセルアレイ10にデータを格納したり、メモリセルアレイ10からデータを取り出す際に動作する周辺回路とを備えている。
【0030】
メモリセルアレイ10は、行列状に配置された多数のメモリセルMCm00〜MCm13,MCo00〜MCo11を備えている。メモリセルアレイ10は、ユーザーに公開されている領域であるメイン領域11と、ユーザーに公開されていない領域であるオプション領域12とに区画される。メイン領域11には、多数のメモリセルMCm00〜MCm13(通常メモリセル)が配置されている。また、オプション領域12にも、複数のメモリセルMCo00〜MCo11が配置されており、そのうちメモリセルMCo01,MCo11(解除コード格納メモリセル)によりセキュリティ解除コード格納部13が構成されている。メイン領域11には、ユーザーが自由にデータの読み出し,書き込み,消去動作を行なうことができる。一方、オプション領域12には、ユーザーは自由にデータの読み出し,書き込み,消去動作を行なうことができない。後述するように、オプション領域12には、メモリセルアレイの冗長アドレス情報,高電圧発生回路の電圧トリミング情報,及びセキュリティ機能を解除するためのセキュリティ解除コード,コマンドデコーダ25で検知するセキュリティ解除コマンド,アドレスデコーダ26でデコードするセキュリティ解除コマンドが格納されたメモリセルアドレス情報等が格納されている。
【0031】
メモリセルアレイ10には、周辺回路に配置されたワード線ドライバ20から行方向に延びて各メモリセルのゲートに接続されるワード線WLm0〜WLm3,WLo0〜WLo1と、周辺回路に配置されたカラムゲート31(列デコーダ回路)から列方向に延びて各メモリセルのドレインに接続されるビット線BL0〜BL1と、周辺回路に配置されたソース線/ウェル線ドライバ21から行方向に延びて各メモリセルのソース,基板にそれぞれ接続されるソース線SLm0〜SLm1,SLo0及びウェル線PWm0〜PWm1,PWo0とが設けられている。ここで、現実の不揮発性半導体記憶装置のメモリセルアレイにおいては、ワード線,ビット線,メモリセル等は、図1に図示されているもの以外にも極めて多数存在するが、説明を簡単化するために、図1には各一部のみが図示されている。なお、以下の各実施形態で説明される各種回路についても同様である。
【0032】
ここで、メイン領域11において、メモリセルMCm00〜MCm11のソースは共通のソース線SLm0に接続され、基板は共通のウェル線PWm0に接続されており、メモリセルMCm00〜MCm11によりブロックM0が構成されている。メモリセルMCm02〜MCm13のソースは共通のソース線SLm1に、基板は共通のウェル線PWm1に接続されていて、メモリセルMCm02〜MCm13によりブロックM1が構成されている。
【0033】
また、オプション領域12において、メモリセルMCo00〜MCo11のソースは共通のソース線SLo0に、基板は共通のウェル線PWo0に接続されていて、メモリセルMCo00〜MCo11によりブロックMO0が構成されている。
【0034】
ワード線ドライバ20は、アドレスデコーダ26からのデコード信号と、正高電圧発生回路22及び負高電圧発生回路23からの出力電圧とをそれぞれ受けて、各ワード線にメモリセルトランジスタの動作に必要な電圧を印加する。
【0035】
ソース線/ウェル線ドライバ21は、各ソース線,ウェル線にメモリセルトランジスタの動作に必要な電圧を印加する。
【0036】
正高電圧発生回路22は、読み出し,書き込み,消去などの動作に必要な正高電圧を発生する。負高電圧発生回路23は、読み出し,書き込み,消去などの動作に必要な負高電圧を発生する。
【0037】
制御回路24は、チップイネーブル信号/CE,出力イネーブル信号/OE,書き込みイネーブル信号/WEの入力と、コマンドデコーダ25からの信号の入力とを受けて、読み出し,書き込み,消去の各種動作を制御する。制御回路24から出力されるレディー/ビジー信号RY/BY等の制御信号(図1には図示されていない制御信号が多数存在する)は、ワード線ドライバ20,ソース線/ウェル線ドライバ21,正高電圧発生回路22,負高電圧発生回路23,コマンドデコーダ25,アドレスデコーダ26,ビット線リセットドライバ28,カラムラッチ回路29、PASS出力回路30,カラムドライバ32,センスアンプ33,データ入出力バッファ34,レジスタ35,セキュリティ回路40等に入力されており、制御回路24から出力される制御信号によって回路全体の動作制御が行なわれる。
【0038】
コマンドデコーダ25は、アドレス端子Aから入力されるアドレスと、データ入力端子DIから入力されるデータとからなるコマンドをデコードして、各種動作の開始を制御するための信号を発生する。ここで、セキュリティ機能を解除するためのコマンド(セキュリティ解除コマンド)がコマンドデコーダ25に入力された場合は、コマンドデコーダ25からセキュリティ制御回路41に、Hレベルのセキュリティ解除コマンド検知信号SCOMが送られる。ここで、セキュリティ解除コマンドは予め専用に設けられたコマンドである。
【0039】
アドレスデコーダ26は、アドレス端子Aから入力されるアドレスをデコードして、所定のワード線、ソース線、ウェル線、ビット線を選択するためのデコード信号を発生する。
【0040】
ビット線リセット回路27は、ビット線の電位を接地電圧に設定するための回路である。ビットリセット回路27において、トランジスタDT0はビット線BL0を接地電圧に設定し、トランジスタDT1はビット線BL1を接地電圧に設定する。ビット線リセット回路27のトランジスタDT0、DT1のゲートはビット線ドライバ28に接続されており、ビット線ドライバ28から出力される駆動信号BLRSTにより、トランジスタDT0、DT1のオン・オフが制御される。
【0041】
カラムラッチ回路29は、各ビット線毎に設けられたカラムラッチ29a,29b,…を備えている。図1に示すカラムラッチ回路29においては、カラムラッチ29aはビット線BL0に接続され、カラムラッチ29bはビット線BL1に接続されている。図1には、簡単化するために、2つのカムラッチ29a,29bと、2つのビット線BL0,BL1としか図示されていないが、現実のデバイスには、極めて多数のビット線が配置されているので、カラムラッチ回路は、所定のビット線数ごとに多数個設けられている。
【0042】
一般に、不揮発性半導体記憶装置においては、カラムラッチ回路29は、書き込みデータのラッチ動作,ラッチデータに基づくプログラム動作,及びプログラム動作後にメモリセルが適正にプログラムされたか否かを判定するベリファイ動作を行なう際に使用される。本実施形態では、カラムラッチ回路29のプログラムベリファイ動作を利用してセキュリティ保護のための動作を行なう点が1つの特徴である。これらの動作の詳細については後述する。
【0043】
PASS出力回路30は、ベリファイ動作時にカラムラッチ回路29からの出力信号を受け、全てのメモリセルが適正にプログラムされたと判定された場合にHレベルのベリファイ判定結果信号PASSを出力する。
【0044】
カラムゲート31は、ビット線BL0,BL1のうち一つのビット線をセンスアンプ33に接続する役割を果たす。トランジスタYT0,YT1の制御ゲートは、それぞれカラムドライバ32に接続されている。トランジスタYT0は、カラムドライバ32からの信号YG0を受けて、ビット線BL0とセンスアンプ33とを接続・非接続に切り換える。トランジスタYT1は、カラムドライバ32からの信号YG1を受けて、ビット線BL1とセンスアンプ33とを接続・非接続に切り換える。
【0045】
センスアンプ33は、読み出し動作時にメモリセルに格納されたデータを判定して、その判定結果に応じてハイレベル信号又はロウレベル信号を出力する回路である。
【0046】
データ入出力バッファ34は、アドレスとデータとからなるコマンドが入力された時、あるいは書き込みデータが入力された時には、データ入力端子DIから入力されたコマンド、あるいは書き込みデータを内部データバスDINに出力する。また、読み出し動作時には、センスアンプ33から出力された読み出しデータが、データ入出力バッファ34を経てデータ出力端子DOに出力される。ここで、本実施形態では、データ入出力バッファ34に接続される外部データ端子としては、入力専用の単方向バスであるデータ入力端子DIと、出力専用の単方向バスであるデータ出力端子DOとを設けたが、入出力を兼用した双方向バスを介して1つの外部データ端子を設けてもよい。
【0047】
レジスタ35は、前述したオプション領域12に格納された冗長アドレス情報,電圧トリミング情報,セキュリティ解除コマンド情報,セキュリティ解除コードのメモリセルアドレス情報等の各種情報を格納する領域である。これらの情報に関する信号は、正高電圧発生回路22,負高電圧発生回路23,コマンドデコーダ25,アドレスデコーダ26等に入力される。レジスタ35はデータ入出力バッファ34に接続されており、電源投入時にオプション領域12に格納された上記各種情報はセンスアンプ33によって読み出される。この読み出されたデータはデータ入出力バッファ34を経てレジスタ35に格納される。なお、以下の説明では、オプション領域12から読み出されてレジスタ35に格納される上記各種情報のことを総称してオプションデータと呼ぶことにする。
【0048】
本実施形態のセキュリティ回路40は、セキュリティ制御回路41を有している。セキュリティ制御回路41は、コマンドデコーダ25からの信号SCOM(セキュリティ解除コマンド検知信号),及びPASS出力回路30からのベリファイ判定結果信号PASSをそれぞれ受けて、アドレスデコーダ26を制御するためのセキュリティ認証ベリファイ信号SPVと、セキュリティ機能の解除を行なうセキュリティ解除信号SPASSとをそれぞれ出力する。
【0049】
セキュリティ解除信号SPASSは、データ入出力バッファ34に入力されており、セキュリティ解除信号SPASSがLレベルである状態は、セキュリティ機能がオンしている状態であり、メモリセルアレイ10への外部からのアクセスが不可能な状態である。すなわち、セキュリティ解除信号SPASSがLレベルのときは、読み出し動作時に、センスアンプ33から出力される読み出しデータはデータ出力端子DOに出力されない。このとき、データ出力端子DOには、読み出しデータに関係なく常に全ビットがHレベルの信号が出力される。
【0050】
一方、セキュリティ解除信号SPASSがHレベルである状態は、セキュリティ機能解除の状態であり、メモリセルアレイ10への外部からのアクセスが可能な状態である。すなわち、セキュリティ解除信号SPASSがHレベルであるときには、読み出し動作時に、センスアンプ33から出力される読み出しデータはデータ出力端子DOに出力される。
【0051】
なお、本実施形態では、メモリ容量は1Mビット、データバス幅は16ビットとして説明する。従って、データ入力端子DIとして、DI[0]〜DI[16]という16個の端子が設けられ、データ出力端子DOとして、DO[0]〜DO[15]という16個の端子が設けられている。また、ワード数は65536ワードであるため、アドレス端子Aとして、A[0]〜A[15]という16個の端子が設けられている。
【0052】
−回路動作の概略−
次に、本実施形態に係る不揮発性半導体記憶装置の書き込み動作について説明する。始めに、書き込み動作の理解に必要である,本実施形態の不揮発性半導体記憶装置に使用されるメモリセルの断面構造について説明する。
【0053】
図2は、本実施形態の不揮発性半導体記憶装置に使用されるメモリセルトランジスタの断面構造を示す断面図である。同図に示すように、半導体基板109の表面部に、ディープNウェル108,Pウェル107が形成され、Pウェル107内にソース領域105とドレイン領域106とが形成されている。そして、半導体基板109のソース領域105とドレイン領域106との間に位置する領域(チャネル領域)の上に、トンネル酸化膜104と、ポリシリコンからなるフローティングゲート103と、ONO(Oxide-Nitride-Oxide )膜102と、ポリシリコンからなるコントロールゲート101とが下方から順に設けられている。そして、ソース105,ドレイン106,Pウェル107とコントロールゲート101との間に高電圧を印加すると、トンネル酸化膜104を通過するトンネル電流が発生する現象が生じるので、フローティングゲート103への電子の注入とフローティングゲート103からの電子の引き抜きとが行なわれる。そして、フローティングゲート103における電子の注入状態,引き抜き状態の相違によってメモリセル(トランジスタ)のしきい値電圧が異なることを利用して、データの書き込み,消去が行なわれる。
【0054】
図3は、本実施形態の不揮発性半導体記憶装置に使用される通常メモリセルのしきい値分布を示す図である。読み出し判定レベル200よりもしきい値電圧が低い状態(電子引き抜き状態)をデータ0を保持するプログラム状態(しきい値分布201)とし、読み出し判定レベル200よりもしきい値電圧が高い状態(電子注入状態)をデータ1を保持するイレーズ状態(しきい値分布202)とする。以下の説明においても、プログラム状態のデータをデータ0、イレーズ状態のデータをデータ1として説明する。
【0055】
メモリセルをプログラム状態(データ0)にするための動作である書き込み動作は、ソース105をオープン状態にし、コントロールゲート101に例えば−8V、ドレイン106に例えば5V、ウェル107に例えば接地電圧(0V)の電圧をそれぞれ印加して、フローティングゲート103に蓄積されている電子をドレイン106に引き抜くことにより行なわれる。フローティングゲート106から電子が引き抜かれているトランジスタのしきい値電圧は、読み出し判定レベル200よりも低くなるため、データ0が書き込まれたメモリセルにおいては読み出し動作時にセル電流が流れる。
【0056】
メモリセルをイレーズ状態(データ1)にするための消去動作は、ドレイン106をオープン状態にし、コントロールゲート101に例えば5V、ソース105とウェル107にそれぞれ例えば−8Vの電圧を印加して、ソース105とウェル107とからフローティングゲート103に電子を注入することにより行なわれる。フローティングゲート106に電子が注入されているトランジスタのしきい値電圧を読み出し判定レベル200よりも高く設定することによって、読み出し時にセル電流が流れない。
【0057】
なお、本実施形態のフラッシュメモリにおいては、初期状態では、全てのメモリセルがフローティングゲートに電子が注入された状態であるデータ1保持状態(イレーズ状態)になっている。データ1を保持している1つのメモリセルにデータ0を書き込むことはできるが、データ0を保持している1つのメモリセルにデータ1を書き込むことはできない。データ1の書き込みを行なうには、ワード線,ソース線及びウェル線の電位を制御する必要があるので、データ1の書き込みは、1つのブロック単位での一括消去動作のみによって可能である。
【0058】
メモリセルのデータが0か1かを判定するための読み出し動作は、コントロールゲート101に読み出し電圧を印加し、ソース105とウェル107に接地電圧(0V)を、ドレイン106に1V程度の電圧を印加した状態でセル電流が流れるか否かをセンスアンプを使って判定することにより行なわれる。そして、セル電流が流れた場合はプログラム状態(データ0)と判定し、セル電流が流れない場合はイレーズ状態(データ1)と判定して、その判定結果を読み出しデータとして出力する。
【0059】
次に、本実施形態の不揮発性半導体記憶装置(フラッシュメモリ)の書き込み動作について説明する。
【0060】
フラッシュメモリの書き込み速度は、μsec オーダーであり、非常に遅い。本実施形態においては、データ入力端子DIは16ビットのバス幅を有しているため、通常の書き込み方法では16ビット単位でしか書き込むことができない。そこで、フラッシュメモリではカラムラッチ回路29を配置し、予め複数の書き込みデータ(データ0又は1)をカラムラッチ回路29にラッチさせておき、その後、ラッチされているデータを1つのワード線及び各ビット線に接続されるメモリセルに一括して書き込む方法により、実効的な書き込み時間の短縮を実現している。このように、書き込みデータを予めカラムラッチ回路29にラッチさせる動作をページラッチ動作といい、カラムラッチ回路29にラッチされたデータに基づいて、一括書き込みを行なう動作をページプログラム動作という。
【0061】
本実施形態の不揮発性半導体記憶装置では、カラムラッチ回路29は、128ビットのデータラッチ能力を有する,つまり128個のカムラッチを備えているとする。データ入力端子DIは16ビットバス幅を有するため、1サイクルのページラッチ動作で16ビットの書き込みデータをカラムラッチ回路29中の16個のカラムラッチにラッチさせることができ、8サイクルのページラッチ動作を行なうことで、128ビットの書き込みデータをカラムラッチ回路29の全カラムラッチ29a,29b,…にラッチさせることができる。その際、書き込みデータにはデータ0,1の双方が含まれている。そこで、ページラッチ動作で128ビットの書き込みデータをカラムラッチ回路29のカラムラッチ29a,29b,…にラッチさせた後に、ページプログラム動作で128ビットの一括書き込み動作を行なう。
【0062】
一括書き込みを行なう際には、書き込み対象となるメモリセル(共通のワード線に接続されるメモリセル)の初期状態を全てデータ1(イレーズ状態)にしておく。そして、あるメモリセルへの書き込みデータがデータ0である場合は、イレーズ状態にある当該メモリセルをプログラム状態にする。あるメモリセルへの書き込みデータがデータ1である場合は、当該メモリセルをイレーズ状態のままにしておく。
【0063】
次に、ページラッチ動作,ページプログラム動作を用いて行なうフラッシュメモリの書き込み動作シーケンスについて説明する。このページラッチ動作,ページプログラム動作自体は、既存の不揮発性半導体記憶装置と同じであり、周知の技術である。図4は、本実施形態に係る不揮発性半導体記憶装置の書き込み動作を示すフローチャートである。
【0064】
まず、ステップS300で、フラッシュメモリに電源を投入した後、ステップS301で、メモリセルアレイ10内のオプション領域12に格納されている冗長アドレス情報,電圧トリミング情報等(オプションデータ)がセンスアンプ33により読み出され、このオプションデータがデータ入出力バッファ34を介してレジスタ35に転送されてレジスタに格納される。
【0065】
次に、ステップS302で、アドレス端子Aとデータ入力端子DIとからプログラムコマンドを入力することにより、プログラム動作が開始される。
【0066】
プログラム動作が開始されると、ステップS303で、ページラッチ動作により128ビットの書き込みデータがカラムラッチ回路29に格納される。前述したように、このページラッチ動作は8サイクル行なわれる。
【0067】
128ビットのページラッチ動作が終了すると、ステップS304で、カラムラッチ回路29に格納された128ビットのデータに対するページプログラム動作が行なわれる。
【0068】
ページプログラム動作が終了した後に、ステップS305で、プログラム対象となっているメモリセルが所定のしきい値電圧に設定された(つまり所定のしきい値電圧に達しているか)か否かを判定する(プログラムベリファイ動作)。本実施形態においては、プログラムベリファイ動作は、メモリセルトランジスタのフローティングゲートからの電子の引き抜きが十分行なわれた否かを判定する動作であり、具体的には、プログラム状態になるように書き込みが行なわれたメモリセルのしきい値電圧が、プログラムベリファイ判定レベル203(図3参照)以下か否かを判定することである。プログラムベリファイ動作は、カラムラッチ回路29により128ビット一括で行なわれる。カラムラッチ回路29により行なわれるプログラムベリファイ動作の詳細は後述する。
【0069】
ステップS305における判定の結果、プログラム対象のメモリセルのうちいずれか1つのメモリセルのしきい値電圧が所定の値に達していない場合には、ステップS304の動作に戻り、再度ページプログラム動作を行なう。そして、プログラム対象のメモリセルの全てが所定のしきい値電圧に設定されていれば、ステップS306に進んで、PASS出力回路30を介してHレベルのPASS信号を出力し、これにより、書き込み動作が完了する。
【0070】
−書き込み動作の詳細−
次に、カラムラッチ回路29の構成、及びカラムラッチ回路29を用いた書き込み動作の詳細について説明する。
【0071】
図5(a),(b)は、それぞれ順に、カラムラッチ回路29及び1つのカラムラッチの構成を示す回路図である。図5(a)に示すように、カラムラッチ回路は16ビットの入力データに対応して16個の内部データバスDIN[0]〜DIN[15]と接続されている。1つの内部データバスDIN[0]を例にとると、内部データバスDIN[0]は、8個のカラムラッチ29a〜29hに接続されている。1サイクルのページラッチ動作で内部データバスDIN[0]からのデータはカラムラッチ29a〜29hのいずれか1つのカラムラッチに格納される。格納するカラムラッチの選択は信号PLG[0]〜PLG[7]により行なわれる。例えば、8サイクルのページラッチ動作において、1サイクル目のページラッチ動作時は信号PLG[0]がHレベルとなり、内部データバスDIN[0]からの入力データはカラムラッチ29aに格納される。引き続きページラッチ動作を行なうことにより、信号PLG[1]〜PLG[7]が順次Hレベルとなり、内部データバスDIN[0]からの各入力データはカラムラッチ29b〜29hに順次格納されていく。
【0072】
図5(b)は、図5(a)のカラムラッチ29aの具体的な構成を詳しく示す回路図である。ここでは、1つのカラムラッチ29aの構成について示しているが、その他のカラムラッチ29b〜29h等の構成も同様である。
【0073】
カラムラッチ29aは、ビット線電位検知回路400と、書き込みデータを格納するラッチ403と、ラッチ403の論理信号をVpp電圧に変換するレベルシフト回路402と、ビット線BLO−レベルシフト回路402,ラッチ403間を接続状態・非接続状態に切り換えるトランスファゲート401と、制御信号TFGが活性化状態のときにトランスファゲート401のPチャネルトランジスタMPT0を活性化状態にするインバータXIと、ビット線電位検知回路400の出力を受けてラッチ403のラッチデータをリセットするラッチリセット回路404と、内部データバスDIN[0]とラッチ403とを接続状態・非接続状態に切り換えるトランジスタMNT1,MPT1とを備えている。
【0074】
ここで、レベルシフト回路402,トランスファゲート401のPチャネル型トランジスタMPT0,インバータXI,及びビット線電位検知回路400のPチャネル型トランジスタMPV0,MPV1には電圧Vppの電源が接続されている。
【0075】
ビット線電位検知回路400は、2つの入力信号を受けてNOR演算を行なう機能を有しており、一方の入力部はビット線BL0に接続され、もう一方の入力部は制御信号NVRFに接続されている。そして、制御信号NVRFがLレベルで、且つビット線BL0の電位がビット線電位検知回路の反転設定値よりも低くなった場合にHレベルの信号を出力する。
【0076】
ビット線電位検知回路400の出力部はラッチリセット回路404に接続されており、ビット線電位検知回路400がHレベルの信号を出力した場合にラッチリセット回路404が活性化状態に設定される。ラッチリセット回路404が活性状態に設定されることにより、ラッチ403はリセットされ、ラッチ403のノードLATの電位はHレベルに設定される。
【0077】
以下、以上のように構成されたカラムラッチ回路29を用いた書き込み動作について説明する。ここでは、ワード線WLm0に接続されたメモリセルにデータを書き込む場合を例にとって説明する。
【0078】
ページラッチ動作
プログラムコマンドの入力後、ページラッチ動作により書き込みデータをラッチ403に格納する。ここで、ページラッチ動作の1サイクル目は信号PLG[0]がHレベルとなり、トランジスタMNT1,MPT1がオンになって内部データバスDIN[0]からの入力データがカラムラッチ29a内のラッチ403に格納される。プログラム状態のデータ(データ0)をラッチしている場合はノードLATの電位はLレベルに維持され、イレーズ状態のデータ(データ1)をラッチしている場合はノードLATの電位はHレベルに維持される。
【0079】
ページプログラム動作
8サイクルのページラッチ動作が終了すると、ページプログラム動作が行なわれる。始めに、電圧Vppをプログラム電圧(5V)に設定する。次に、制御信号TFG信号を活性化し、ビット線BL0とレベルシフト回路402,ラッチ403とを接続状態にする。この動作と同じタイミングで、選択されたメモリセルのワード線WLm0の電位を−8Vにし、ソース線SLm0をオープン状態にし、駆動信号BLRSTを非活性化状態にしてビット線リセット回路27を非活性化状態にする。
【0080】
ここで、ラッチ403のノードLATの電位がLレベル(データ0)であれば、ビット線BL0(メモリセルのドレイン)には電圧5Vが印加され、トンネル酸化膜には電圧13Vが印加されて、トンネル酸化膜にFNトンネル電流が流れて書き込み動作が行なわれる。一方、ラッチ403のノードLATの電位がHレベル(データ1)であれば、ビット線BL0(メモリセルのドレイン)には接地電圧(0V)が印加され、トンネル酸化膜に印加される電圧は8Vとなり、FNトンネル電流が流れず書き込み動作が行なわれない。
【0081】
一定期間書き込みパルスが各メモリセルに印加された後、トランスファゲート401を非活性化状態にしてビット線BL0とラッチ403、レベルシフト回路402とを分離すると同時に、ワード線WLm0とソース線SLm0を接地電圧に設定し、さらに駆動信号BLRSTを活性化状態にして、ビット線BL0にチャージされた電荷をディスチャージしてビット線BL0を接地電圧に設定する。以上の操作でプログラム動作が完了する。
【0082】
プログラムベリファイ動作
次に、プログラムベリファイ動作を行なう。始めに、電圧Vppをベリファイドレイン電圧である電源電圧(VDD)に設定する。次に、駆動信号BLRSTを非活性化状態にしてビット線リセット回路27を非活性化状態にすると共に、トランスファゲート401を活性化状態にして、ビット線BL0とラッチ403,レベルシフト回路402とを接続状態にする。ここで、ラッチ403のノードLATの電位がLレベル(データ0)の場合、すなわち、プログラム状態のデータがラッチされているビット線はベリファイドレイン電圧である電源電圧(VDD)にプリチャージされる。一方、ラッチ403のノードLATの電位がHレベル(データ1)である,イレーズ状態のデータがラッチされているビット線は接地電圧に維持される。
【0083】
次に、プログラム状態のデータがラッチされているビット線へのプリチャージが完了した時点で、トランスファゲート401を非活性化状態にすると共に、選択メモリセルのワード線WLm0にプログラムベリファイ電圧(1V)を印加し、ベリファイ動作を開始する。ここで、プログラム状態のデータがラッチされているメモリセルのベリファイ動作に着目すると、当該メモリセルのしきい値電圧が適正なプログラム状態におけるしきい値電圧に達していれば(本実施形態においては、メモリセルトランジスタのフローティングゲートからの電子の引き抜きが十分行なわれて、そのしきい値電圧がプログラムベリファイ判定レベル203(図3参照)以下であれば)、メモリセルに電流が流れ、ベリファイドレイン電圧(VDD)にプリチャージされていたビット線の電荷はディスチャージされ、ビット線電位は接地電圧に向かって降下していく。一方、メモリセルのしきい値電圧が適正なプログラム状態におけるしきい値電圧に達していない場合はメモリセルに電流が流れず、ビット線電位はベリファイドレイン電圧(VDD)に維持される。また、イレーズ状態のデータがラッチされたメモリセルのベリファイ動作に着目すると、ビット線電位はベリファイ開始時から常に接地電圧に維持されている。
【0084】
次に、一定期間経過後、ビット線電位検知回路400の制御信号NVRFをLレベルに設定して、ビット線電位検知回路400を活性化状態にする。ここで、プログラム状態のデータがラッチされたメモリセルのベリファイ動作に着目すると、メモリセルのしきい値電圧が適正なプログラム状態におけるしきい値電圧に達していれば、ビット線電位はベリファイドレイン電圧(VDD)より低下して、ビット線電位検知回路の反転設定値よりも低くなっているので、ビット線電位検知回路400からHレベルの信号が出力され、ラッチリセット回路404が活性状態になる。これにより、ラッチ回路403のノードLATの電位はLレベル(データ0)からHレベル(データ1)に書き換えられる。一方、メモリセルのしきい値電圧が適正なプログラム状態におけるしきい値電圧に達していない場合は、ビット線電位がベリファイドレイン電圧(VDD)に維持されるので、ビット線電位検知回路400からLレベルの信号が出力され、ラッチリセット回路404は非活性化状態のままであり、ラッチ回路403のノードLATの電位はページプログラム動作時の状態に保持される。
【0085】
以上の動作により、メモリセルのしきい値電圧が適正なプログラム状態におけるしきい値電圧に達していれば、プログラムベリファイ動作でノードLATにラッチされたデータ(電圧値)がHレベル(データ1)に書き換えられるので、以後のプログラム動作は行なわれない。また、イレーズ状態のデータがラッチされたメモリセルのベリファイ動作に着目すると、ビット線電位は接地電圧に維持されているので、ビット線電位検知回路400からHレベルの信号が出力され、ラッチリセット回路404が活性化状態に設定される。これにより、ラッチ回路403のノードLATの電位はHレベル(データ1)に設定されるが、これはベリファイ開始時の状態と変わらない。
【0086】
以上のようなカラムラッチ回路の構成において、プログラムベリファイ動作後のノードLATにラッチされたデータ(ラッチデータ)の変化状態をまとめると以下のようになる。
【0087】
【表1】
Figure 0003810378
表1の1段目に示すように、ベリファイ開始時のラッチデータがLレベル(データ0)の場合で、メモリセルに格納されたデータ(メモリセルデータ)がプログラム状態のデータ(データ0)である場合は、ベリファイ終了後のラッチデータはLレベル(データ0)からHレベル(データ1)に反転する。
【0088】
表1の2段目に示すように、ベリファイ開始時のラッチデータがLレベル(データ0)でメモリセルデータがイレーズ状態のデータ(データ1)である場合は、ベリファイ終了後のラッチデータはLレベル(データ0)を維持する。
【0089】
表1の3段目,4段目に示すように、ベリファイ開始時のラッチデータがHレベル(データ1)である場合は、メモリセルに格納されたデータの状態に関わらず、ベリファイ終了後のラッチデータはHレベル(データ1)を維持する。
【0090】
ここで、表1の3段目に示す,ベリファイ開始時のラッチデータがHレベル(データ1)でメモリセルデータがプログラム状態のデータ(データ0)である場合は、実際には、ページプログラムが行なわれるメモリセルはページプログラム前に全てイレーズ状態(データ1)にされているので、実際のデータ書き換え時のプログラムベリファイ動作においては起こり得ないケースである。しかし、後述するように、本発明のセキュリティ保護機能にこの動作を利用する場合には、セキュリティ解除コードを格納しているメモリセルの一部は当然プログラム状態(データ0)の場合もあるので、このようなケースが生じる。このとき、書き込みデータとメモリセルデータとが一致していないにも拘わらず、ベリファイ動作の終了後のラッチデータは1である。
【0091】
プログラムベリファイ動作で全てのラッチデータ(ノードLATにラッチされたデータ)がHレベル(データ1)になった場合、すなわち、書き込みデータとメモリセルデータとが一致した場合はPASS出力回路30からHレベルのPASS信号が出力され、書き込み動作が終了する。一方、適正なプログラム状態のしきい値電圧値に達していないメモリセルが1ビットでもあると、プログラムベリファイ終了後にラッチデータLATがLレベル(データ0)のものが存在するため、PASS出力回路30からLレベルのPASS信号が出力され、HレベルのPASS信号が出力されるまで引き続きプログラム動作とベリファイ動作が繰り返し行なわれる。
【0092】
−機密保護方法−
次に、以上のような周知のプログラムベリファイ動作を利用した,本発明に関する不揮発性半導体記憶装置の機密保護方法(又はセキュリティ解除方法)について詳細に説明する。
【0093】
本発明における機密保護方法(セキュリティ解除方法)は、不揮発性半導体記憶装置に予め備わっているカラムラッチ回路,ページラッチ動作,及びプログラムベリファイ動作を用いて行なうことを特徴とする。
【0094】
図6は、第1実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すフローチャートである。
【0095】
始めに、ステップS500で、電源投入動作を行なうと、セキュリティ機能付きの不揮発性半導体記憶装置においては、ステップS501で、セキュリティ機能が働くので、メモリセルアレイ10への外部からのアクセスが禁止状態となる。
【0096】
次に、ステップS502で、オプション領域12に格納されている冗長アドレス情報,電圧トリミング情報,セキュリティ解除コマンド情報,セキュリティ解除コードのメモリセルアドレス情報等(オプションデータ)がセンスアンプ33により読み出されて、データ入出力バッファ34を介してレジスタ35に格納される。
【0097】
次に、ステップS503で、アドレス端子Aとデータ入力端子DIからセキュリティ機能を解除するためのセキュリティ解除コマンドを入力する。
【0098】
次に、ステップS504で、適正なセキュリティ解除コマンドが入力されたことを検知すると、セキュリティ機能を解除するためのパスワードを入力するステップに移る。入力パスワードはページラッチ動作によりカラムラッチ回路29に格納される。ページラッチ動作を8サイクル行なうことにより、入力データ端子DI[0]〜DI[15]から128ビットのパスワードをカラムラッチ回路29に格納する。
【0099】
カラムラッチ回路29へのパスワード格納が完了すると、ステップS505で、カラムラッチ回路29に格納されたパスワードと解除コード格納部13に格納されたセキュリティ解除コードとのベリファイ動作が行なわれる。以下の説明では、カラムラッチ回路29に格納されたパスワードとセキュリティ解除コード格納部13のメモリセルに格納されたセキュリティ解除コードとのベリファイ動作を「セキュリティ認証ベリファイ動作」と呼ぶことにする。
【0100】
ステップS505の判定において、セキュリティ認証ベリファイ動作が終了した後にラッチデータLATが全てHレベル(データ1)になった場合、すなわち、入力パスワードとセキュリティ解除コードとが一致すると判定された場合には、PASS出力回路30からHレベルのPASS信号が出力され、ステップS506に進んで、セキュリティ機能が解除される。
【0101】
セキュリティ機能が解除された後は、ステップS507で、メモリセルアレイ10への外部からのアクセスが可能となり、読み出し,書き込み,消去等の動作が可能となる。
【0102】
一方、セキュリティ認証ベリファイ動作の終了後にノードLATのラッチデータが全てHレベル(データ1)にならなかった場合、すなわち、入力パスワードとセキュリティ解除コードとが不一致と判定された場合には、PASS出力回路30からLレベルのPASS信号が出力され、ステップS058に進んで、セキュリティ機能は解除されない。この場合、メモリセルアレイ10への外部からのアクセスは禁止状態のままである。
【0103】
以上のように、セキュリティ機能を解除するためには、セキュリティ解除コマンドを入力し、その後メモリセルに格納されたセキュリティ解除コードと全く同じパスワードを入力しなければならない。
【0104】
−タイミングチャート−
図7は、第1実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すタイミングチャートである。
【0105】
同図に示すように、時刻T0においてセキュリティ解除コマンドが入力される。本実施形態では、セキュリティ解除コマンドは3サイクルのコマンド(CA0〜CA2、CD0〜CD2)であるが、セキュリティ解除コマンドのサイクル数は3サイクルには限られない。コマンドデコーダ25は、セキュリティ解除コマンドが入力されたことを検知してHレベルの信号SCOMをセキュリティ制御回路41に出力する。このとき、データ出力端子DO[0]〜DO[15]からは、FFFh(Output diable )が出力されており、読み出し不可状態である。
【0106】
次に、セキュリティ制御回路41がHレベルの信号SCOMを受け取った時刻T1から、セキュリティ機能を解除するためのパスワードを入力するステップに移る。入力パスワードはページラッチ動作によりカラムラッチ回路29に格納される。ページラッチ動作を8サイクル行なうことで入力データ端子DI[0]〜DI[15]から128ビットのパスワード(P0〜P7)をカラムラッチ回路29に格納する。ここで、ページラッチ動作時の入力アドレス端子Aの設定は任意(Don't Care)である。
【0107】
次に、カラムラッチ回路29へのパスワードのページラッチ動作が終了した時刻T2から、レディー/ビジー信号RY/BYはLレベルに遷移してビジー状態となり、カラムラッチ回路29に格納されたパスワードとセキュリティ解除コード格納部13のメモリセルに格納されたセキュリティ解除コードとのベリファイ動作が行なわれる。ベリファイ動作時、セキュリティ制御回路41はHレベルのセキュリティ認証ベリファイ信号SPVをアドレスデコーダ26に出力する。HレベルのSPV信号がアドレスデコーダ26に入力されると、アドレスデコーダ26はオプション領域12のセキュリティ解除コード13が格納されたメモリセルのアドレスを選択するようにデコード信号を発生する。
【0108】
次に、時刻T2aにおいて、セキュリティ解除コード格納部13のメモリセルMCo01,MCo11に接続されたワード線WLo1が選択され、このワード線WLo1に正高電圧発生回路22から出力される出力電圧Vpvが印加される。これにより、カラムラッチ回路29に格納されたパスワードとセキュリティ解除コードとのベリファイ動作が行なわれる。
【0109】
次に、時刻T2bにおいて、上記ベリファイ動作でパスワードとセキュリティ解除コードとが一致すると判定された場合、すなわち、ベリファイ動作終了後のラッチデータLATが全てHレベルとなった場合には、PASS出力回路30からHレベルのPASS信号が出力される。HレベルのPASS信号はセキュリティ制御回路41に入力され、HレベルのPASS信号を受けたセキュリティ制御回路41はHレベルのセキュリティ解除信号SPASSを出力する。このSPASS信号は、データ入出力バッファ34に入力され、これにより、セキュリティ機能が解除され、メモリセルアレイ10への外部からのアクセスが可能となる。
【0110】
そして、時刻T2cで、ベリファイ動作は終了し、選択ワード線WLo1は接地電圧に設定される。
【0111】
時刻T3以降においては、セキュリティ機能が解除されているので、読み出し動作を行なうと、メモリセルのデータD0〜D2がそれぞれデータ出力端子DO[0]〜DO[15]に出力される。
【0112】
なお、上記ベリファイ動作時に、パスワードとセキュリティ解除コードとが不一致と判定された場合、すなわち、ベリファイ動作終了後のラッチデータLATが全てHレベルでない場合、PASS出力回路30からはLレベルのPASS信号が出力され、セキュリティ制御回路41はLレベルのセキュリティ解除信号SPASSを出力し、セキュリティ機能は解除されない。その場合には、読み出し動作を行っても、メモリセルのデータを読み出すことはできず、データ出力端子DO[0]〜DO[15]からは常にFFFFh(Output diable )が出力されるだけである。
【0113】
−セキュリティ解除コードとパスワードとの関係−
図8(a)〜(h)は、セキュリティ解除コードと各種のパスワードとに対応する,ベリファイ動作前後のラッチデータの変化を示す図である。
【0114】
本実施形態のベリファイ動作は前述したように8サイクルのページラッチ動作によってカラムラッチ回路に格納される128ビットのラッチデータに対して行なわれるが、ここでは説明を簡単化するため、1ワード分のデータ(16ビット)におけるラッチデータの変化状態について説明する。メモリセルに格納されているセキュリティ解除コードの値は5555hとする。
【0115】
図8(a)に示すように、パスワードとしてセキュリティ解除コードと同じ5555hを入力した場合、ベリファイ動作後のラッチデータは全てデータ1となるため、PASS出力回路30からHレベルのPASS信号が出力されてセキュリティ機能は解除される。
【0116】
ここで、図8(b)に示すように、0055hのパスワードがカラムラッチ回路29に格納された場合、ベリファイ動作後のラッチデータは、ラッチデータがデータ0で、セキュリティ解除コードがデータ0である15番目・13番目・11番目・9番目・7番目・5番目・3番目・1番目のラッチデータがデータ0からデータ1に反転する。一方、ラッチデータがデータ0で、セキュリティ解除コードがデータ1である14番目・12番目・10番目・8番目のラッチデータはデータ0のままである。従って、全てのラッチデータがデータ1にならないため、PASS出力回路30からLレベルのPASS信号が出力されてセキュリティ機能は解除されない。
【0117】
図8(c)に示すように、FFFFhのパスワードがカラムラッチ回路29に格納された場合、ベリファイ動作後のラッチデータは、全てデータ1のままである。上述のように、ベリファイ開始時のラッチデータがデータ1の場合、メモリセルに格納されたメモリセルデータの状態に関わらず、ベリファイ終了後のラッチデータはデータ1であり変化しないからである。このように、ラッチデータが全てデータ1になるため、パスワードとセキュリティ解除コードとが一致しないにも拘わらず、PASS出力回路30からHレベルのPASS信号が出力されてセキュリティ機能が解除されてしまうこともあり得る。
【0118】
図8(d),(e),(f),(g)に示すように、入力ラッチデータがそれぞれ7FFFh,FF7Fh,7F7Fh,7777hである場合においても、図8(c)に示す場合と同様に、ベリファイ動作後のラッチデータの全ビットがデータ1となるため、パスワードとセキュリティ解除コードとが一致しないにも拘わらず、PASS出力回路30からHレベルのPASS信号が出力されてセキュリティ機能が解除されてしまうこともあり得る。図8(c)〜(g)及び図8(h)については、後に詳しく説明する。
【0119】
このように、基本的には、ベリファイ動作後のラッチデータが全てデータ1の場合、すなわち、入力パスワードとセキュリティ解除コードとが一致する場合に限りセキュリティ機能が解除される。ただし、特殊なパスワードの設定によっては、パスワードとセキュリティ解除コードとが一致しないにも拘わらずセキュリティ機能が解除されてしまうこともあり得るが、あるデータ(図8(c)〜(g)に示すデータ)を有するパスワードを排除する手段を講じることにより、そのような蓋然性は解消しうる。そのための具体的な手段については、後述する別の実施形態で説明する。。
【0120】
ここで、上記実施形態におけるセキュリティ解除コマンドはレジスタ35に格納されたセキュリティ解除コマンド情報により決定されるため、レジスタ35に格納する値、すなわち、オプション領域12に予め格納しておくセキュリティ解除コマンド情報を変更することにより随時変更可能である。このような構成にすることで、セキュリティ解除コマンドをユーザー毎、あるいはチップ毎に任意に設定・変更することができるため、セキュリティ解除コマンドを公開しない場合は、悪意の第三者がセキュリティ解除コマンドを特定することが困難となる。従って、セキュリティ保護機能をさらに高めることができる。
【0121】
また、セキュリティ認証ベリファイ動作時のベリファイ対象メモリセルのアドレスはレジスタ35に格納されたセキュリティ解除コードのメモリセルアドレス情報により決定されるため、レジスタ35に格納する値、すなわち、オプション領域12に予め格納しておくセキュリティ解除コードのメモリセルアドレス情報を変更することにより随時変更可能である。このような構成にすることで、セキュリティ解除コードが格納されたメモリセルのアドレスをユーザー毎、あるいはチップ毎に任意に設定・変更することができるため、セキュリティ解除コードが格納されたメモリセルのアドレスを特定することが困難となる。従って、悪意の第三者がセキュリティ解除コードを解読することが困難となり、セキュリティ保護機能をさらに高めることができる。
【0122】
さらに、本実施形態では入力パスワードとセキュリティ解除コードは、フラッシュメモリのページプログラムが行なわれるメモリセルのビット数(カラムラッチ回路29中のカラムラッチ数)と同じ128ビットとして説明してきたが、入力パスワードとセキュリティ解除コードのビット数をフラッシュメモリのカラムラッチ回路29中のカラムラッチ数とは異ならせることも可能である。例えば、入力パスワードとセキュリティ解除コードを64ビットとした場合、カラムラッチ回路29に4サイクルのページラッチ動作で64ビットのパスワードを格納するようにすればよい。このように、本発明ではセキュリティ解除コードのビット数を可変にすることが可能となり、機器側の要請に応じてセキュリティ保護機能を自由に設定することができる。
【0123】
以上のように、本発明は、不揮発性半導体記憶装置に予め備わっている一括書き込み動作を行なうカラムラッチ回路29を利用してセキュリティ認証動作を行なうため、従来のセキュリティ保護機能付き不揮発性半導体記憶装置のごとく、パスワード格納ラッチ回路,比較回路が不要となり、回路規模を増大させることなくセキュリティ機能を実現することができる。また、書き込みデータをカラムラッチ回路に格納するページラッチ動作と、ラッチデータとメモリセルデータとの一致を確認するベリファイ動作とを利用してセキュリティ認証動作を行なうため、新たな動作モードを備える必要がなく、制御回路の回路規模を増大させることなくセキュリティ機能を実現することができる。さらに、不揮発性半導体記憶装置では一括書き込みビット数(カラムラッチビット数)が多いため、回路規模を増大させることなくセキュリティビット数を増やすことできる。すなわち、セキュリティ保護機能を容易に高めることが可能である。
【0124】
また、セキュリティ解除コマンド、セキュリティ解除コードのメモリセルアドレスをレジスタに設定する値により任意に設定・変更することができるため、セキュリティ保護機能をさらに高めることが可能である。
【0125】
ここで、セキュリティ解除コマンドではなく、特定アドレス、特定データのいずれか一方、あるいは両方が入力されたことを検知して、セキュリティ機能の解除動作(ラッチ動作,ベリファイ動作)が行なわれるようにしてもよい。この検知動作は、電源投入時に行なわれるようにしてもよいし、リセットモード解除時に行なわれるようにしてもよいし、カラムラッチ回路に書き込みデータを格納するページラッチ動作の開始前に行なわれるようにしてもよい。
【0126】
さらに、ユーザ毎,あるいはチップ毎に設定された特定アドレス,特定データの値をレジスタ35内の特定アドレス・データ情報として格納しておくことで、レジスタ35に格納する値、すなわち、オプション領域12に予め格納しておく特定アドレス,データ情報を随時変更可能である。このような構成にすることで、特定アドレス,データをユーザー毎、あるいはチップ毎に任意に設定・変更することができるため、悪意の第三者が特定アドレス、特定データを解読することが困難となり、セキュリティ保護機能をさらに高めることができる。
【0127】
(第2実施形態)
第1実施形態のベリファイ動作では、例えば、ラッチデータが全てデータ1である場合は、メモリセルに格納されたセキュリティ解除コードのデータに関係なく、ベリファイ動作後のラッチデータが全てデータ1となるため、ベリファイ動作で必ずHレベルのPASS信号が出力される。従って、カラムラッチ回路に全てデータ1のパスワードを格納すると、セキュリティ解除コードのデータに関係なくセキュリティ機能を解除することができる。そこで、入力ラッチデータが禁止データであることを検知する手段を設ける。ここで、禁止データとは、入力データの全ビットを1又は2以上のグループに分けたときに、1つのグループにおける全ビットがデータ1であるデータをいう。言い換えると、禁止データとは、不正パスワードによる入力データ(ラッチデータ)をいう。そして、この検知手段により、入力データ(ラッチデータ)が禁止データであることを検知した場合は、セキュリティ機能の解除を行なわないようにする。
【0128】
−回路構成及び動作−
図9は、第2実施形態に係る不揮発性半導体記憶装置(フラッシュメモリ)の構成を示す回路図である。図9に示す回路において、前述した第1実施形態と同じ構成要素は同じ符号で示し、その構成要素の説明は省略する。本実施形態の説明においては、図1に示す回路中とは異なる構成要素のみについて説明する。
【0129】
図9に示す回路においては、図1に示す第1の実施形態の回路に加えて、禁止データ検知回路42がセキュリティ回路40内に設けられている。禁止データ検知回路42には、内部データバスDINが接続されており、禁止データ検知回路42は、ページラッチ動作時に内部データバスDINを介して入力データ(図9に示す回路においては、カラムラッチにラッチされたデータそのものではないが、便宜上、「ラッチデータ」ともいう)を受け取ったとき、入力データ(ラッチデータ)が禁止データであることを検知すると、Hレベルの禁止データ検知信号LDETをセキュリティ制御回路41に出力する。禁止データ検知回路42は、前述したように入力されたパスワードのデータ(ラッチデータ)が上記禁止データである場合に、メモリセルに格納されたセキュリティ解除コードに関係なくセキュリティ機能が解除されてしまうのを防止するために設けられたものであり、入力パスワードのページラッチ動作中に入力データ(ラッチデータ)が上記禁止データであることを検知した場合は、Hレベルの禁止データ検知信号LDETをセキュリティ制御回路41に出力し、セキュリティ機能の解除を行なわないようにする。
【0130】
なお、図9に示す回路においては、禁止データ検知回路42は、データ入出力バッファ34に対してカラムラッチ回路29と並列に配置されているが、禁止データ検知回路42をカラムラッチ回路29と直列に設けても、本実施形態と同じ効果を得ることができる。例えば、禁止データ検知回路42を、データ入出力バッファ34とカラムラッチ回路29との間、あるいはカラムラッチ回路29とPASS出力回路30との間に設けてもよい。
【0131】
図10(a)〜(d)は、禁止データ検知回路42の具体的な構成の各種例を示す図である。禁止データ検知回路42は、NAND回路,NOR回路,インバータ回路等の演算回路を組み合わせて構成されている。
【0132】
禁止データ検知回路42の構成は、図10(a)に示す例では16ビット、図10(b)に示す例では8ビット、図10(c)に示す例では4ビット、図10(d)に示す例では2ビット毎に内部データバスDIN[0]〜[15]をグループに区分し、このグループ内のいずれか1つのグループにおける全ビットがデータ1であることを検知して、セキュリティ機能の解除を停止させる。
【0133】
図10(a)に示す例では、内部データバスDIN[0]〜[15]からの入力データ(ラッチデータ)が全てデータ1である場合に、禁止データ検知回路42からHレベルの禁止データ検知信号LDETが出力される。
【0134】
図10(b)に示す例では、内部データバスDIN[0]〜[7],DIN[8]〜[15]のいずれか1つのグループからの入力データ(ラッチデータ)が全てデータ1である場合に、禁止データ検知回路42からHレベルの禁止データ検知信号LDETが出力される。
【0135】
図10(c)に示す例では、内部データバスDIN[0]〜[3],DIN[4]〜[7],DIN[8]〜[11],DIN[12]〜[15]のいずれか1つのグループからの入力データ(ラッチデータ)が全てデータ1である場合に、禁止データ検知回路42からHレベルの禁止データ検知信号LDETが出力される。
【0136】
図10(d)に示す例では、内部データバスDIN[0]〜[1],DIN[2]〜[3],DIN[4]〜[5],DIN[6]〜[7],DIN[8]〜[9],DIN[10]〜[11],DIN[12]〜[13],DIN[14]〜[15]のいずれか1つのグループからの入力データ(ラッチデータ)が全てデータ1である場合に、禁止データ検知回路42からHレベルの禁止データ検知信号LDETが出力される。
【0137】
そして、図9に示す回路において、このHレベルの禁止データ検知信号LDETが禁止データ検知回路42からセキュリティ制御回路41に入力されると、セキュリティ機能の解除は行なわれない。
【0138】
ここで、ベリファイ動作前後のラッチデータの変化について、図8(c)〜(h)を参照しながら説明する。第1実施形態において説明したように、メモリセルに格納されているセキュリティ解除コードの値は、5555hとする。
【0139】
図8(c)に示すように、FFFFhのパスワードがカラムラッチ回路29に格納された場合、ベリファイ動作後のラッチデータが全ビットデータ1となるため、第1実施形態においては、パスワードとセキュリティ解除コードとが一致しないにも拘わらず、セキュリティ機能が解除される。この場合には 図10(a)に示す禁止データ検知回路を設けることにより、FFFFhのデータ(ラッチデータ)がパスワードとして入力されたことを検知することができる。そして、禁止データ検知回路から出力されるHレベルの禁止データ検知信号LDETによりセキュリティ機能の解除を禁止することができる。
【0140】
図8(d),(e)に示すように、7FFFh又はFF7Fhのパスワードがカラムラッチ回路29に格納された場合、ベリファイ動作後のラッチデータが全ビットデータ1となるため、第1実施形態においては、パスワードとセキュリティ解除コードとが一致しないにも拘わらず、セキュリティ機能が解除される。また、図10(a)に示す禁止データ検知回路を用いたとしても、入力データ(ラッチデータ)が全ビットデータ1ではないため、禁止データとして検知されることはなく、メモリセルに格納されたセキュリティ解除コードに関係なくセキュリティ機能が解除されてしまう。この場合には 図10(b)に示す禁止データ検知回路を設けることにより、7FFFh又はFF7Fhのデータ(ラッチデータ)がパスワードとして入力されたことを検知することができる。そして、禁止データ検知回路から出力されるHレベルの禁止データ検知信号LDETによりセキュリティ機能の解除を禁止することができる。図10(b)に示す禁止データ検知回路により、2つのラッチデータ(7FFFhとFF7Fh)だけでなく、FFFFhのラッチデータも検知することができるため、セキュリティ機能を解除するパスワード数をさらに制限することができる。
【0141】
図8(f)に示すように、7F7Fhのパスワードがカラムラッチ回路29に格納された場合、ベリファイ動作後のラッチデータが全ビットデータ1となるため、第1実施形態においては、パスワードとセキュリティ解除コードとが一致しないにも拘わらず、セキュリティ機能が解除される。また、図10(a)〜(b)に示す禁止データ検知回路を用いたとしても、禁止データとして検知されることはないので、メモリセルに格納されたセキュリティ解除コードに関係なくセキュリティ機能が解除されてしまう。この場合には 図10(c)に示す禁止データ検知回路を設けることにより、7F7Fhのデータ(ラッチデータ)がパスワードとして入力されたことを検知することができる。そして、禁止データ検知回路から出力されるHレベルの禁止データ検知信号LDETによりセキュリティ機能の解除を禁止することができる。図10(c)に示す禁止データ検知回路により、ラッチデータ7F7Fhだけでなく、ラッチデータFFFFh,7FFFh,FF7Fhも検知することができるため、セキュリティ機能を解除するパスワード数をさらに制限することができる。
【0142】
図8(g)に示すように、7777hのパスワードがカラムラッチ回路29に格納された場合、ベリファイ動作後のラッチデータが全ビットデータ1となるため、第1実施形態においては、パスワードとセキュリティ解除コードとが一致しないにも拘わらず、セキュリティ機能が解除される。また、図10(a)〜(c)に示す禁止データ検知回路を用いたとしても、禁止データとして検知されることはないので、メモリセルに格納されたセキュリティ解除コードに関係なくセキュリティ機能が解除されてしまう。この場合には 図10(d)に示す禁止データ検知回路を設けることにより、7777hのデータ(ラッチデータ)がパスワードとして入力されたことを検知することができる。 図10(d)に示す禁止データ検知回路により、ラッチデータ7777だけでなく、ラッチデータFFFFh,7FFFh,FF7Fh,7F7Fhも検知することができるため、セキュリティ機能を解除するパスワード数をさらに制限することができる。
【0143】
そして、禁止データ検知回路によって検知する禁止データをセキュリティ解除コード(パスワード)から除外しておくことにより、パスワードを入力したにも拘わらず、セキュリティが解除されないというようなトラブルを回避することができる。
【0144】
本実施形態の禁止データ検知回路のうち,特に図10(d)に示す禁止データ検知回路を設けることにより、セキュリティ解除コードと同一データである5555hをパスワードとして入力する場合のみセキュリティ機能を解除することが可能となる。すなわち、図8(h)に示すように、入力ラッチデータを点線で示す細かいグループに区分し、このグループ内のいずれか1つのグループの全ビットがデータ1であることを検知しうる構成にすることで、セキュリティ機能を解除するパスワードを大幅に制限することができ、セキュリティ保護機能をさらに高めることが可能となる。
【0145】
−機密保護方法−
次に、本実施形態の不揮発性半導体記憶装置(フラッシュメモリ)における,機密保護方法(セキュリティ解除方法)について詳細に説明する。
【0146】
図11は、第2実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すフローチャートである。ここで、図11に示す手順のうちステップS600〜S603及びステップS606〜S609の処理は、上記第1実施形態の図6におけるステップS500〜S503,S505〜S508の処理と同様であるため説明を省略する。ここでは、ステップS604〜S605の処理について説明する。
【0147】
ステップS603で、セキュリティ解除コマンドが入力されたことを検知すると、ステップS604で、セキュリティ機能を解除するためのパスワードを入力する処理(パスワードページラッチ)に移る。入力されたパスワード(入力データ又はラッチデータ)が内部データバスDIN[0]〜[15]を介して禁止データ検知回路42に入力されると、ステップS604で、禁止データ検知回路42において入力データ(ラッチデータ)が上記禁止データ(例えばFFFFh,7FFFh,FF7Fh,7F7Fh,7777h)と一致するか否かを判別する。
【0148】
そして、ステップS604の判定の結果、入力されたパスワードが禁止データと一致するYESの場合は、メモリセルに格納されたセキュリティ解除コードに関係なくセキュリティ機能が解除されてしまうおそれがあるため、ステップS609に移行して、セキュリティ機能の解除が行なわれないように制御される。
【0149】
一方、ステップS604の判定の結果、入力されたパスワードが禁止データと一致しないNOの場合は、ステップS605に進んで、ページラッチ動作によりカラムラッチ回路29に入力パスワードを格納する。その場合、一連の入力パスワードチェック動作とパスワードページラッチ動作は8サイクル行なわれ、入力データ端子DI[0]〜[15]から128ビットのパスワードがカラムラッチ回路29に格納される。
【0150】
そして、8サイクルの入力パスワードチェック動作とパスワードページラッチ動作で、入力パスワードが一度も禁止データと一致しなかった場合にのみ、ステップS606で、カラムラッチ回路に格納されたパスワードとセキュリティ解除コード格納部13のメモリセルに格納されたセキュリティ解除コードとのベリファイ動作を行なう。このステップS606以降の処理は、第1実施形態と同様であるので、その説明を省略する。
【0151】
以上のように、本実施形態のセキュリティ保護方法により、禁止データ検知回路42を利用して、メモリセルに格納されたセキュリティ解除コード以外のパスワードでセキュリティ機能が解除されるのを防止することができるため、セキュリティ保護機能をさらに高めることができる。
【0152】
−タイミングチャート−
図12は、第2実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すタイミングチャートである。ここでは、入力パスワードとして禁止データFFFFhを入力した場合を例にとって説明する。
【0153】
時刻T0においてセキュリティ解除コマンドが入力されると、コマンドデコーダ25によりセキュリティ解除コマンドが入力されたことが検知され、Hレベルの信号SCOM(セキュリティ解除コマンド検知信号)がセキュリティ制御回路41に出力される。
【0154】
次に、セキュリティ制御回路41がHレベルの信号SCOMを受け取った時刻T1から、セキュリティ機能を解除するためのパスワードが入力される。入力パスワードは、内部データバスDIN[0]〜[15]を介して禁止データ検知回路42に入力され、禁止データ(例えばFFFFh,7FFFh,FF7Fh,7F7Fh,7777h)と一致するか否かがチェックされる。ここで、ページラッチ動作の2サイクル目(時刻T1a)で入力パスワードP1としてFFFFh等が入力された場合、この入力パスワードは禁止データ検知回路42で禁止データと検知され、禁止データ検知回路42からはHレベルの禁止データ検知信号LDETが出力される。一方、入力パスワードがどの禁止データとも一致しない場合には、禁止データ検知回路42からはLレベルの禁止データ検知信号LDETが出力される。
【0155】
このHレベル又はLレベルの禁止データ検知信号LDETはセキュリティ制御回路41に入力される。セキュリティ制御回路41がHレベルの禁止データ検知信号LDETを一度受け取ると、たとえ8サイクルのページラッチ動作が終了してもセキュリティ認証ベリファイ信号SPVがHレベルにはならない。従って、時刻T2以降において、入力パスワードとセキュリティ解除コードとのベリファイ動作は開始されない。これにより、セキュリティ機能が解除されることはない。その場合には、時刻T3以降に読み出し動作を行っても、メモリセルのデータを読み出すことはできず、データ出力端子DO[0]〜[15]からは常にFFFFhが出力されるだけである。
【0156】
以上のように、本実施形態の不揮発性半導体記憶装置(フラッシュメモリ)では、禁止データ検知回路42が設けられているので、メモリセルに格納されたセキュリティ解除コード以外のパスワードでセキュリティ機能が解除されるのを防止することができる。ここで、禁止データ検知回路42を、入力データ又はラッチデータの全ビットを1又は2以上のグループに区分し、このグループ内のいずれか1つのグループの全ビットがデータ1であることを検知しうるように構成することにより、セキュリティ機能を解除するパスワードを大幅に制限することができる。従って、セキュリティ保護機能をさらに高めることができる。
【0157】
本実施形態では、禁止データが検知されたときは、カラムラッチ回路へのパスワードラッチ動作終了後のベリファイ動作を禁止することにより、外部からメモリセルアレイへのアクセスを不可能にしたが、他の方法を採用することもできる。例えば、禁止データが検知されたときは、カラムラッチ回路へのパスワードラッチ動作を許可しない方法がある。また、禁止データが検知されたときは、カラムラッチ回路へのパスワードラッチ動作,ベリファイ動作を行なった後にパスワードとセキュリティ解除コードとが一致と判定されても、メモリセルへのアクセスを禁止する方法を採用することもできる。
【0158】
(第3実施形態)
第1,第2実施形態では、セキュリティ解除コマンドが入力されると、セキュリティ機能を解除するためのパスワードをページラッチ動作により入力し、その後、パスワードとセキュリティ解除コードとの一致を確認するベリファイ動作を行ない、両者が一致した場合にセキュリティ機能を解除することにより、セキュリティ機能を確保していた。ここで、ページラッチ動作時のアドレス入力端子Aの設定、及びベリファイ動作時のアドレス入力端子A、データ入力端子DIの設定は任意(Don’t Care)であった。
【0159】
ところが、第3実施形態では、ページラッチ動作前に特定アドレスが入力されたこと、且つベリファイ動作前に特定アドレス,特定データが入力されたことを検知する手段を設ける。そして、セキュリティ解除コマンドを入力して、セキュリティ解除コードと同一データのパスワードを入力した(禁止データを入力していない)としても、ページラッチ動作時に特定アドレスを入力し、且つ、ベリファイ動作時に特定アドレス及び特定データを入力しない場合には、セキュリティ機能が解除されないように構成する。
【0160】
ここで、ページラッチ動作時に検知する特定アドレスと、ベリファイ動作時に検知する特定アドレス,特定データとをレジスタに格納する値により決定されるように構成することにより、特定アドレス,特定データの値を任意に設定することが可能になるため、セキュリティ保護機能をさらに高めることができる。
【0161】
−回路構成及び動作−
図13は、第3実施形態に係る不揮発性半導体記憶装置(フラッシュメモリ)の構成を示す回路図である。図13に示す回路において、前述した第2実施形態と同じ構成要素(図9参照)は同じ符号で示し、その構成要素の説明は省略する。本実施形態の説明においては、図9に示す回路中とは異なる構成要素のみについて説明する。
【0162】
図13に示すように、本実施形態の不揮発性半導体記憶装置には、セキュリティ制御回路41及び禁止データ検知回路42に加えて、アドレス・データ検知回路43が設けられている。アドレス・データ検知回路43の入力部は、アドレス端子A,内部データバスDIN及びレジスタ35の各出力部に接続されている。そして、アドレス端子A,内部データバスDIN及びレジスタ35の出力を受けて、ページラッチ動作時に特定アドレスが入力されたことを検知してラッチ動作を許可する場合や、ベリファイ動作時に特定アドレス及び特定データを検知してベリファイ動作を許容する場合には、Hレベルのアドレス・データ検知信号ADDET(第1及び第2特定データ検知信号)をセキュリティ制御回路41に出力する。
【0163】
ここで、ページラッチ動作時に検知される特定アドレスと、ベリファイ動作時に検知される特定アドレス及び特定データとは、レジスタ35に格納された特定アドレス・特定データ情報(図示せず)により決定されるように構成されている。禁止データについては、第2実施形態と同様である。従って、レジスタ35に格納する情報値、すなわち、オプション領域12に予め格納しておく特定アドレス・特定データ情報を変更することにより、ページラッチ動作時に検知する特定アドレスと、ベリファイ動作時に検知する特定アドレス及び特定データとを随時変更することが可能である。このような構成にすることで、特定アドレス,特定データをユーザー毎、あるいはチップ毎に任意に設定・変更することができるため、悪意の第三者が特定アドレス,特定データを解読することが困難となる。従って、セキュリティ保護機能をさらに高めることができる。
【0164】
なお、本実施形態の不揮発性半導体記憶装置は、第2実施形態で説明したような禁止データ検知回路42をも備えているが、禁止データ検知回路42を必ずしも備えている必要はない。第1実施形態の回路にアドレス・データ検知回路43を加えるだけでも、セキュリティ機能の向上を図りうる。
【0165】
−機密保護方法−
次に、本実施形態の不揮発性半導体記憶装置(フラッシュメモリ)における機密保護方法(セキュリティ解除方法)について詳細に説明する。
【0166】
図14は、第3実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すフローチャートである。ここで、図14に示す手順のうちステップS700〜S703の処理は、上記第1実施形態の図6におけるステップS500〜S503(第2の実施形態におけるステップS600〜S603)の処理と同様であるため説明を省略する。ここでは、ステップS704以降の処理について説明する。
【0167】
ステップS703で、セキュリティ解除コマンドが入力されたことを検知すると、ステップS704で、セキュリティ機能を解除するためのパスワードを入力する処理(パスワードページラッチ)に移る。始めに、アドレス端子Aから入力されたアドレスはアドレス・データ検知回路43に入力されると、アドレス・データ検知回路43において入力アドレスが特定アドレスと一致するか否かを判別する。
【0168】
そして、ステップS704の判別の結果、入力アドレスAが特定アドレスと一致するYESの場合は、ステップS705に進んで、入力パスワードチェック動作を行なう。この入力パスワードチェック動作は、第2実施形態における図11のステップS604の処理と同様であるので説明を省略する。
【0169】
そして、ステップS705の判別の結果、入力パスワードチェック動作で入力パスワードが禁止データと一致しないNOの場合は、ステップ706に進んで、ページラッチ動作によりカラムラッチ回路29に入力パスワードを格納する。その場合、一連の入力アドレスチェック動作と入力パスワードチェック動作とパスワードページラッチ動作は8サイクル行なわれ、入力データ端子DI[0]〜[15]から128ビットのパスワードがカラムラッチ回路29に格納される。
【0170】
一方、ステップS704の判別の結果、入力アドレスが特定アドレスと一致しないNOの場合、ステップS705の判別の結果、入力データが特定データと一致するYESの場合には、いずれもステップ712に移行して、セキュリティ機能を解除しない。
【0171】
すなわち、ステップS704,S705の判別において、8サイクルの入力アドレスチェック動作、入力パスワードチェック動作、及びパスワードページラッチ動作で、入力アドレスが特定アドレスと一致し、且つ入力パスワードが一度も禁止データと一致しない場合にのみ、ステップS707以下の処理に進んで、カラムラッチ回路に格納されたパスワードとセキュリティ解除コード格納部13のメモリセルに格納されたセキュリティ解除コードとのベリファイ動作が行なわれる。
【0172】
ベリファイ動作において、始めに、ステップS707で、アドレス端子Aから入力されたアドレスはアドレス・データ検知回路43に入力されて、アドレス・データ検知回路43により、入力アドレスが特定アドレスと一致するか否かを判別する。
【0173】
そして、ステップS707の判別の結果、入力アドレスが特定アドレスと一致するYESの場合は、ステップS708に進んで、入力データチェック動作を行なう。そして、ステップS708の判別の結果、データ入力端子DI[0]〜[15]からの入力データが特定データと一致するYESの場合は、ステップS709に進んで、カラムラッチ回路に格納されたパスワードとセキュリティ解除コード格納部13のメモリセルに格納されたセキュリティ解除コードとのベリファイ動作を行なう。このステップS709における判別の結果、ベリファイ動作でパスワードとセキュリティ解除コードとが一致するYESの場合は、ステップS710に進んでセキュリティ機能を解除し、さらに、ステップS711で、メモリセルアレイへの外部からのアクセスが可能となる。
【0174】
一方、ステップS707,S708,S709におけるいずれかの判別結果がNOである場合には、ステップS712に移行して、セキュリティ機能の解除を許容しない。
【0175】
以上のように、本実施形態の機密保護方法によると、ページラッチ動作時に特定アドレスを入力し、且つベリファイ動作時に特定アドレス、特定データを入力しないと、最終的にセキュリティ機能が解除されないため、セキュリティ保護機能をさらに高めることができる。
【0176】
−タイミングチャート−
図15は、第3実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すタイミングチャートである。
【0177】
時刻T0においてセキュリティ解除コマンドが入力されると、コマンドデコーダ25によりセキュリティ解除コマンドが入力されたことが検知され、Hレベルの信号SCOM(セキュリティ解除コマンド検知信号)がセキュリティ制御回路41に出力される。
【0178】
次に、セキュリティ制御回路41がHレベルの信号SCOMを受け取った時刻T1から、セキュリティ機能を解除するためのパスワードが入力される。アドレス端子Aからの入力アドレス(PL−ADDRESS)は、アドレス・データ検知回路43に入力され、入力アドレスが特定アドレスと一致するか否かがチェックされる。ここで、入力アドレスが特定アドレスと一致した場合は、アドレス・データ検知回路43からHレベルのアドレス・データ検知信号ADDETが出力され、Hレベルのアドレス・データ検知信号ADDETはセキュリティ制御回路41に入力される。
【0179】
これと同時に、入力パスワードは、内部データバスDIN[0]〜[15]を介して禁止データ検知回路42に入力され、禁止データ(例えばFFFFh,7FFFh,FF7Fh,7F7Fh,7777h)と一致するか否かがチェックされる。ここで、ページラッチ動作で入力パスワードとしてFFFFh等が入力された場合、この入力パスワードは禁止データ検知回路42で禁止データと検知され、禁止データ検知回路42からはHレベルの禁止データ検知信号LDETが出力される。一方、入力パスワードがどの禁止データとも一致しない場合には、禁止データ検知回路42からはLレベルの禁止データ検知信号LDETが出力される。
【0180】
このHレベル又はLレベルの禁止データ検知信号LDETはセキュリティ制御回路41に入力される。セキュリティ制御回路41がHレベルの禁止データ検知信号LDETを一度受け取ると、たとえ8サイクルのページラッチ動作が終了してもセキュリティ認証ベリファイ信号SPVがHレベルにはならない。従って、時刻T2以降において、入力パスワードとセキュリティ解除コードとのベリファイ動作は開始されない。これにより、セキュリティ機能が解除されることはない。その場合には、時刻T3以降に読み出し動作を行っても、メモリセルのデータを読み出すことはできず、データ出力端子DO[0]〜[15]からは常にFFFFhが出力されるだけである。
【0181】
そして、Hレベルのアドレス・データ検知信号ADDET、及びLレベルの禁止データ検知信号LDETがセキュリティ制御回路41に入力される場合のみ、カラムラッチ回路29に入力パスワードが格納される。これらの動作は8サイクル行なわれる。
【0182】
8サイクルHレベルのアドレス・データ検知信号ADDET、及びLレベルの禁止データ検知信号LDETがセキュリティ制御回路41に入力された状態でパスワードページラッチ動作が行なわれると、時刻T2以降、セキュリティ制御回路41からHレベルのSPV信号が出力され、レディー/ビジー信号RY/BYはLレベルになってビジー状態となり、カラムラッチ回路29に格納されたパスワードとセキュリティ解除コード格納部13のメモリセルに格納されたセキュリティ解除コードとのベリファイ動作が行なわれる。ベリファイ動作時、入力アドレス(PV−ADDRESS)と入力データ(PV−DATA)とはアドレス・データ検知回路43に入力され、特定アドレス,特定データと一致するか否かがチェックされる。ここで、入力アドレス,入力データが特定アドレス,特定データと一致した場合は、アドレス・データ検知回路43からHレベルのアドレス・データ検知信号ADDETが出力される。Hレベルのアドレス・データ検知信号ADDETはセキュリティ制御回路41に入力され、この状態で第1実施形態において説明したベリファイ動作が行なわれる。このベリファイ動作により、パスワードとセキュリティ解除コードとが一致と判定された場合は、時刻T2bで、HレベルのPASS信号が出力され、セキュリティ制御回路41からHレベルのSPASS信号が出力されてセキュリティ機能が解除されるので、時刻T3以降、メモリセルアレイへの外部からのアクセスが可能となる。
【0183】
ここで、ページラッチ動作時に特定アドレスが入力されなかった場合、あるいは、ベリファイ動作時に特定アドレス及び特定データが入力されなかった場合は、Lレベルのアドレス・データ検知信号ADDETが出力され、Lレベルのアドレス・データ検知信号ADDETがセキュリティ制御回路41に入力されて、セキュリティ機能が解除されない。
【0184】
本実施形態の不揮発性半導体記憶装置によると、アドレス・データ検知回路43を設けることにより、ページラッチ動作時に特定アドレスが入力され、且つベリファイ動作時に特定アドレス及び特定データが入力されないとセキュリティ解除処理が行なわれないため、セキュリティ保護機能をさらに高めることができる。
【0185】
さらに、検知する特定アドレス,特定データの値をレジスタ35に格納される特定アドレス・特定データ情報により決定されるように構成することで、レジスタ35に格納する情報値、すなわち、オプション領域12に予め格納される特定アドレス・特定データ情報を変更することにより随時変更することが可能である。そして、このような構成にすることで、特定アドレス,特定データをユーザー毎、あるいはチップ毎に任意に設定・変更することができるため、悪意の第三者が特定アドレス,特定データを解読することが困難となる。従って、セキュリティ保護機能をさらに高めることができる。
【0186】
なお、本実施形態では、ページラッチ動作時,ベリファイ動作時に検知するものとして、(1)ページラッチ動作時に検知する特定アドレス、(2)ベリファイ動作時に検知する特定アドレス、(3)ベリファイ動作時に検知する特定データの3つであったが、上記3つを全て検知するのではなく、いずれか1つ、あるいはいずれか2つを検知する構成にしてもよい。
【0187】
(第4実施形態)
−回路構成及び動作−
図16は、第4実施形態に係る不揮発性半導体記憶装置(フラッシュメモリ)の構成を示す回路図である。図16に示す回路において、前述した第3実施形態と同じ構成要素(図13参照)は同じ符号で示し、その構成要素の説明は省略する。本実施形態の説明においては、図13に示す回路中とは異なる構成要素のみについて説明する。
【0188】
図16に示すように、本実施形態の不揮発性半導体記憶装置には、セキュリティ制御回路41,禁止データ検知回路42及びアドレス・データ検知回路43に加えて、データスクランブル回路44が設けられている。データスクランブル回路44は、データ入出力バッファ34とカラムラッチ回路29との間に配置され、データ入力端子DIから入力されたデータをスクランブル処理して出力する回路である。ここで、データスクランブル処理とは、入力データの各ビットをランダムに入れ替えて出力する処理のことをいう。データスクランブル回路44は、セキュリティ制御回路41から出力されるデータスクランブル信号DSCRにより制御される。
【0189】
次に、上記データスクランブル処理について説明する。
【0190】
セキュリティ解除コマンドを入力して、セキュリティ機能を解除するためのパスワードをページラッチ動作により入力する際には、セキュリティ制御回路41からHレベルのデータスクランブル信号DSCRが出力される。データスクランブル回路44は、Hレベルのデータスクランブル信号DSCRを受け取ると、データ入力端子DIから入力されたデータをスクランブル処理してカラムラッチ回路29に出力する。ここで、データスクランブル処理は、セキュリティ解除コマンドを入力して、セキュリティ機能を解除するためのパスワードを入力したときしか行なわれず、通常の書き込み時におけるページラッチ動作時にはデータスクランブル処理は行なわれない。
【0191】
パスワードがカラムラッチ回路29に格納された後、パスワードとセキュリティ解除コードとのベリファイ動作が行なわれるが、このベリファイ動作で両者が一致すると判定されてセキュリティ機能を解除するためには、上記スクランブル処理方法を予め知っておく必要がある。すなわち、データスクランブル方法を把握した上でパスワードを入力しなければ、ベリファイ動作で両者が一致することを判定してセキュリティ機能を解除することはできない。
【0192】
本実施形態の不揮発性半導体記憶装置によると、万一、悪意の第三者がセキュリティ解除コードを何らかの手段で解読して、その解読データをパスワードとして入力しても、入力パスワードはデータスクランブル回路44でスクランブル処理されてカラムラッチ回路29に格納されるため、セキュリティ機能を解除することができない。
【0193】
以上のように、本実施形態により、データスクランブル回路44を付加することによりセキュリティ保護機能をさらに高めることができる。
【0194】
なお、本実施形態においては、禁止データ検知回路42,アドレス・データ検知回路43に加えて、データスクランブル回路44を設けたが、禁止データ検知回路42,アドレス・データ検知回路43は必ずしも必要ではなく、図1に示す回路にデータスクランブル回路44を設けてもよい。
【0195】
(第5実施形態)
−回路構成及び動作−
図17は、第5実施形態に係る不揮発性半導体記憶装置(フラッシュメモリ)の構成を示す回路図である。図17に示す回路において、前述した第4実施形態と同じ構成要素(図16参照)は同じ符号で示し、その構成要素の説明は省略する。本実施形態の説明においては、図16に示す回路中とは異なる構成要素のみについて説明する。
【0196】
図17に示すように、本実施形態の不揮発性半導体記憶装置には、第3実施形態と同様に、セキュリティ制御回路41,禁止データ検知回路42,アドレス・データ検知回路43,データスクランブル回路44が設けられている。さらに、本実施形態の不揮発性半導体記憶装置は、カラムラッチ回路29に格納されたラッチデータを一定条件下でリセットする機能をセキュリティ制御回路41にもたせている。セキュリティ制御回路41から、ラッチリセット信号LRSTがカラムラッチ回路29に出力されると、カラムラッチ回路29のラッチデータはHレベルのラッチリセット信号LRSTによりリセットされる。
【0197】
次に、ラッチデータリセット手段について説明する。カラムラッチ回路29に格納されたラッチデータは、探針を立てるという方法(チッププローブ法)等を利用して第三者に取り出されるおそれがある。本実施形態においては、ベリファイ動作後のラッチデータを取得することが可能であり、この得られたデータに基づいてベリファイ動作の演算処理方法の予測、及びセキュリティ解除コードの予測が可能となる。本実施形態のラッチデータリセット手段は、上記のような事態を防止することを目的とするものであり、以下のような処理を行なう。
【0198】
ベリファイ動作においてパスワードとセキュリティ解除コードとが不一致と判定され、PASS出力回路30よりLレベルのPASS信号が出力されると、セキュリティ制御回路41からHレベルのラッチリセット信号LRSTが出力されて、カラムラッチ回路29に入力される。そのとき、カラムラッチ回路29は、Hレベルのラッチリセット信号LRSTを受けて、カラムラッチ回路29の全てのラッチデータをリセットする。その後、セキュリティ機能が解除されることはない。
【0199】
本実施形態の不揮発性半導体記憶装置においては、ベリファイ動作の際に、パスワードとセキュリティ解除コードとが不一致と判定された場合は、カラムラッチ回路のラッチデータをリセットする機能を備えることで、外部から適当なパスワードをカラムラッチ回路に入力し、ベリファイ動作後のラッチデータを得たとしても、リセットされたラッチデータを得るだけである。すなわち、ベリファイ動作でセキュリティ認証作業に失敗した場合のラッチデータの値はリセットされたデータでしかない。従って、悪意の第三者がセキュリティ解除コードを解読することが困難となり、セキュリティ保護機能をさらに高めることができる。
【0200】
(第6実施形態)
次に、第6実施形態について図面を参照しながら説明する。本実施形態において、セキュリティ解除動作は、前述した第1〜第5実施形態で説明した構成・手順と同一であるが、本実施形態では、セキュリティ認証ベリファイ判定レベルに特徴を有している。
【0201】
図18は、第6実施形態に係る不揮発性半導体記憶装置(フラッシュメモリ)に使用されるメモリセルのしきい値電圧の分布を示す図である。図3についての説明において述べたように、不揮発性半導体記憶装置の各メモリセルにおいて、メモリセルトランジスタのフローティングゲートに電子が注入されたイレーズ状態(通常イレーズしきい値分布202)においては、フローティングゲートから電子が引き抜かれたプログラム状態(通常プログラムしきい値分布201)よりもしきい値電圧が高い。したがって、両しきい値分布201,202の中間レベルの読み出し判定レベル200を用いて、メモリセルに格納されているデータが0か1かを判定している。さらに、ベリファイ動作においては、読み出し判定レベル200とプログラム状態のしきい値分布201との間に通常ベリファイ判定レベル203を設定することにより、不十分な電子の引き抜きに起因する誤読み出しを防止することができる。
【0202】
ここで、本実施形態では、セキュリティ認証ベリファイ動作におけるしきい値電圧レベルを判定するために、セキュリティ認証のための認証ベリファイ判定レベル204を通常ベリファイ判定レベル203よりもイレーズ状態側にシフトさせていること、言い換えると、認証ベリファイ判定レベル204の位置が特徴である。これによって、以下に示すような効果が得られる。
【0203】
メモリセルのしきい値分布は、時間の経過と共にプログラム状態側、あるいはイレーズ状態側にシフトする。例えば、プログラム状態のメモリセルのしきい値電圧は時間の経過と共にイレーズ状態側のしきい値電圧にシフトする。この原因は以下に示す通りである。
【0204】
読み出し動作時には、コントロールゲートに正の昇圧電圧(3.6V程度)、ソースに接地電圧、ドレインに1V程度の電圧がそれぞれ印加される。この場合、読み出しメモリセル、及び読み出しメモリセルのコントロールゲートが共通に接続された他のメモリセルに正の昇圧電圧(3.6V程度)が印加されるためストレスを受ける(リードゲートディスターブ)。このストレス電圧により読み出し動作中に電子がフローティングゲートに注入され、十分な書き込み状態から軽い書き込み状態に移行して、結果的にしきい値電圧が上昇することになる。従って、読み出し動作を長期間行なうにつれて、プログラム状態のメモリセルのしきい値電圧が上昇し、イレーズ状態側のしきい値電圧にシフトすることになる。書き込み動作時の通常ベリファイ動作はプログラム動作直後に行われるが、セキュリティ認証動作ベリファイ動作はプログラム動作直後ではなく、プログラム動作終了後十分時間が経過した後に行われる場合もあるので、セキュリティ認証ベリファイ動作が行われる解除コード格納メモリセルのしきい値電圧はイレーズ状態のしきい値電圧にシフトしている確率が高い。
【0205】
以上のように、セキュリティ解除コード格納部13のメモリセルのしきい値分布が通常イレーズしきい値分布202の方向にシフトした状態において、仮に通常ベリファイ判定レベル203を用いてセキュリティ認証ベリファイ動作を行なうと、通常ベリファイ判定レベル203を超えたしきい値電圧を有するメモリセルが存在している可能性があるため、誤った判定処理を行なうおそれがある。このような誤判定はセキュリティの信頼性にとって好ましいものではない。
【0206】
そこで、本実施形態では、しきい値分布のシフトを考慮して、セキュリティ認証ベリファイ判定レベル204を通常ベリファイ判定レベル203よりもイレーズ状態側にシフトさせている。従って、セキュリティ認証ベリファイ動作での誤判定の発生を抑制することができ、セキュリティ認証動作の正確性を向上させることができる。
【0207】
(第7実施形態)
次に、第7実施形態について図面を参照しながら説明する。本実施形態において、セキュリティ解除動作は、前述した第1〜第5実施形態で説明した構成・手順と同一であるが、本実施形態では、セキュリティ解除コードを格納するメモリセルのしきい値分布、及びセキュリティ認証ベリファイ判定レベルに特徴を有する。
【0208】
図19は、第7実施形態に係る不揮発性半導体記憶装置(フラッシュメモリ)に使用されるメモリセルのしきい値分布を示す図である。同図において、通常メモリセルのプログラム状態におけるしきい値分布の図示は省略されているが、図18に示す通りである。セキュリティ解除コード格納部13中のプログラム状態にあるメモリセルのコード格納部プログラムしきい値分布205と、セキュリティ解除コード格納部13中のイレーズ状態にあるメモリセルのコード格納部イレーズしきい値分布206とは、共に読み出し判定レベル200以下に,つまり通常プログラムしきい値分布201(図3,図18参照)と同じ側に分布していることが特徴である。そして、セキュリティ解除コード格納部13中のメモリセルのコード格納部プログラムしきい値分布205は、コード格納部イレーズしきい値分布206よりもしきい値電圧が低い側にある。
【0209】
このようなコード格納部プログラムしきい値分布205及びコード格納部イレーズしきい値分布206を有するように、セキュリティ解除コード格納部13のメモリセルにデータを格納するには、以下のようにする。
【0210】
セキュリティ解除コード格納部13中のメモリセル(解除コード格納メモリセル)にセキュリティ解除コードを書き込む動作において、解除コード格納メモリセルをプログラム状態にする際は、ベリファイ動作時の判定しきい値電圧レベルをプログラムベリファイ判定レベル207で行なうことで書き込み、一方、イレーズ状態にする際には、ベリファイ動作時の判定しきい値電圧レベルをイレーズベリファイ判定レベル208で行なうことで実現できる。以上の書き込み動作により、プログラム状態にある解除コード格納メモリセルと、イレーズ状態にある解除コード格納メモリセルとのしきい値分布を共にプログラム状態側に設定する。
【0211】
上記しきい値分布をもつセキュリティ解除コードを対象とするセキュリティ認証ベリファイ動作の判定しきい値電圧(認証ベリファイ判定レベル209)は、セキュリティ解除コードのプログラム状態しきい値分布205とイレーズ状態しきい値分布206の間の値になるように設定されている。具体的には、セキュリティ認証ベリファイ動作時に、判定しきい値電圧レベルが認証ベリファイ判定レベル209になるように、正高電圧発生回路22から所定の電圧がワード線ドライバ20に供給され、セキュリティ解除コード格納部13のメモリセルのワード線WLo1に印加される。
【0212】
以上のように、解除コード格納メモリセルのプログラム状態、イレーズ状態のしきい値電圧を共にプログラム状態のしきい値電圧に設定することで、悪意の第三者がセキュリティ解除コードを何らかの手段で解読したとしても、解除コード格納メモリセルに格納されているセキュリティ解除コードは、全て通常メモリセルのプログラム状態のデータであるため、解読されたデータは全てプログラム状態のデータとなる。従って、セキュリティ解除コードの解読が困難になり、セキュリティ保護機能をさらに高めることができる。
【0213】
ここで、本実施形態では、解除コード格納メモリセルのしきい値電圧をプログラム状態、イレーズ状態共に、通常メモリセルのプログラム状態側に設定したが、共に通常メモリセルのイレーズ状態側に設定してもよい。
【0214】
以上、本発明の実施形態として、第1〜第7実施形態について説明した。本発明の不揮発性半導体記憶装置はマイクロコンピュータ、ICカード等の集積回路(LSI)に内蔵して用いることができる。このため、マイクロコンピュータを動作させるプログラムや個人情報等の機密保護に対して有効である。
【0215】
また、本発明の不揮発性半導体記憶装置は電子機器に搭載して使用することができる。電子機器の例としては、DVD(Digital Versatile Disc),DVC(Digital Video Camera),PDA(Personal Digital Assistant),携帯電話(移動体通信)、パーソナルコンピュータ(ノート型、デスクトップ型)等が考えられる。
【0216】
さらに、本発明の機密保護方法は、記憶装置からCPU(Central Processing Unit:中央演算処理装置)へと読み込まれて、このCPUからプログラム処理を行なう構成にすることもできる。この場合、上記機密保護方法はプログラム処理の形態としても有効となる。
【0217】
以上のように、本発明の不揮発性半導体記憶装置及びその機密保護方法は、回路規模の大きなセキュリティ回路を新たに設置する必要がないため、小面積・低コストでセキュリティ機能を備えた不揮発性半導体記憶装置を実現することができる。従って、集積回路(LSI)、電子機器の小型化・低コスト化に対して極めて有効である。
【0218】
最後に、本発明の不揮発性半導体記憶装置及びその機密保護方法は、上述の例示にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更等を加えたものに対しても有効である。例えば、本実施形態ではNOR型フラッシュメモリを例に説明してきたが、DINOR型、NAND型、AND型のフラッシュメモリに対しても適用可能である。また、本実施形態ではフラッシュメモリを例に説明してきたが、他の不揮発性半導体記憶装置(EEPROM,FeRAM等)に対しても適用可能である。また、本実施形態では図1に示す構成のメモリ回路を例に説明してきたが、その他の構成のメモリ回路に対しても適用可能である。さらに、本実施形態では図5に示す構成のカラムラッチ回路を例に説明してきたが、ページラッチ動作、プログラム動作、ベリファイ動作を行なうその他の構成のカラムラッチ回路に対しても適用可能である。
【図面の簡単な説明】
【図1】第1実施形態に係る不揮発性半導体記憶装置の構成を示す回路図である。
【図2】第1実施形態の不揮発性半導体記憶装置に使用されるメモリセルトランジスタの断面構造を示す断面図である。
【図3】第1実施形態の不揮発性半導体記憶装置に使用される通常メモリセルのしきい値分布を示す図である。
【図4】第1実施形態に係る不揮発性半導体記憶装置の書き込み動作を示すフローチャート図である。
【図5】(a),(b)は、それぞれ順に、カラムラッチ回路及び1つのカラムラッチの構成を示す回路図である。
【図6】第1実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すフローチャート図である。
【図7】第1実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すタイミングチャート図である。
【図8】(a)〜(h)は、セキュリティ解除コードと各種のパスワードとに対応する,ベリファイ動作前後のラッチデータの変化を示す図である。
【図9】第2実施形態に係る不揮発性半導体記憶装置の構成を示す回路図である。
【図10】(a)〜(d)は、禁止データ検知回路の具体的な構成の各種例を示す図である。
【図11】第2実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すフローチャート図である。
【図12】第2実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すタイミングチャート図である。
【図13】第3実施形態に係る不揮発性半導体記憶装置の構成を示す回路図である。
【図14】第3実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すフローチャート図である。
【図15】第3実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すタイミングチャート図である。
【図16】第4実施形態に係る不揮発性半導体記憶装置の構成を示す回路図である。
【図17】第5実施形態に係る不揮発性半導体記憶装置の構成を示す回路図である。
【図18】第6実施形態に係る不揮発性半導体記憶装置に使用されるメモリセルのしきい値電圧の分布を示す図である。
【図19】第7実施形態に係る不揮発性半導体記憶装置に使用されるメモリセルのしきい値分布を示す図である。
【図20】従来の不揮発性半導体記憶装置の構成を示す回路図である。
【図21】従来の不揮発性半導体記憶装置のセキュリティ解除方法を示すフローチャート図である。
【符号の説明】
10 メモリセルアレイ
11 メイン領域
12 オプション領域
13 セキュリティ解除コード格納部
20 ワード線ドライバ
21 ソース線/ウェル線ドライバ
22 正高電圧発生回路
23 負高電圧発生回路
24 制御回路
25 コマンドデコーダ
26 アドレスデコーダ
27 ビット線リセット回路
28 ビット線リセットドライバ
29 カラムラッチ回路
30 PASS出力回路
31 カラムゲート
32 カラムドライバ
33 センスアンプ
34 データ入出力バッファ
35 レジスタ
40 セキュリティ回路
41 セキュリティ制御回路
42 禁止データ検知回路
43 アドレス・データ検知回路
44 データスクランブル回路
101 コントロールゲート
102 絶縁膜(ONO膜)
103 フローティングゲート
104 トンネル酸化膜
105 ソース領域
106 ドレイン領域
107 Pウェル
108 ディープNウェル
109 半導体基板
200 読み出し判定レベル
201 通常プログラムしきい値分布
202 通常イレーズしきい値分布
203 通常ベリファイ判定レベル
204 認証ベリファイ判定レベル
205 コード格納部プログラムしきい値分布
206 コード格納部イレーズしきい値分布
207 プログラムベリファイ判定レベル
208 イレーズベリファイ判定レベル
209 認証ベリファイ判定レベル
400 ビット線電位検知回路
401 トランスファゲート
402 レベルシフト回路
403 ラッチ
404 ラッチリセット回路
MCm00〜MCm13、MCo00〜MCo11 メモリセル
WLm0〜WLm3、WLo0、WLo1 ワード線
SLm0、SLm1、SLo0 ソース線
PWm0、PWm1、PWo0 ウェル線
/CE チップイネーブル信号
/OE 出力イネーブル信号
/WE 書き込みイネーブル信号
RY/BY レディー/ビジー信号
A アドレス端子
DI データ入力端子
DO データ出力端子
SCOM セキュリティ解除コマンド検知信号
SPV セキュリティ認証ベリファイ信号
PASS ベリファイ判定結果信号
SPASS セキュリティ解除信号
LDET 禁止データ検知信号
ADDET アドレス・データ検知信号
DSCR データスクランブル信号
LRST ラッチリセット信号

Claims (24)

  1. マトリクス状に配置された複数のメモリセルを有するメモリセルアレイと、
    上記メモリセルアレイの行方向に配置された複数のメモリセルに共通に接続される複数のワード線と、
    上記メモリセルアレイの列方向に配置された複数のメモリセルに共通に接続される複数のビット線と、
    上記複数のビット線のうちの1又は2以上のビット線に共通に接続され、上記メモリセルに書き込むデータをラッチする動作と、該ラッチされたデータと上記メモリセルに書き込まれたデータとの一致を確認するベリファイ動作とを行なうカラムラッチ回路と、
    上記メモリセルアレイへの外部からのアクセスを許可するセキュリティ解除コードを記憶する複数の解除コード格納メモリセルと、
    セキュリティ機能を解除するためのパスワードが入力されたときに、上記カラムラッチ回路に上記パスワードをラッチして、該ラッチされたパスワードと上記解除コード格納メモリセルとのベリファイ動作を行なう制御部と
    を備えている不揮発性半導体記憶装置。
  2. 請求項1記載の不揮発性半導体記憶装置において、
    上記制御部は、上記ベリファイ動作により、上記パスワードと上記セキュリティ解除コードとが一致と判定された場合に、上記メモリセルアレイへの外部からのアクセスを許可する,不揮発性半導体記憶装置。
  3. 請求項1又は2記載の不揮発性半導体記憶装置において、
    電源投入時に、上記セキュリティ機能が設定される,不揮発性半導体記憶装置。
  4. 請求項1〜3のうちいずれか1つに記載の不揮発性半導体記憶装置において、
    セキュリティ解除コマンドが入力されたことを検知する検知部をさらに備えており、
    上記制御部は、上記検知部で上記セキュリティ解除コマンドが検知されたときに、セキュリティ認証のための上記ラッチ動作と上記ベリファイ動作とを開始する,半導体記憶装置。
  5. 請求項4記載の不揮発性半導体記憶装置において、
    上記検知部で検知されるセキュリティ解除コマンドの値を任意に設定するためのレジスタをさらに備えている,不揮発性半導体記憶装置。
  6. 請求項1〜3のうちいずれか1つに記載の不揮発性半導体記憶装置において、
    特定アドレス及び特定データのうち少なくともいずれか1つが入力されたことを検知する検知部をさらに備えており、
    上記制御部は、上記検知部で特定アドレス及び特定データのうち少なくともいずれか1つが検知されたときに、セキュリティ認証のための上記ラッチ動作と上記ベリファイ動作とを開始する,不揮発性半導体記憶装置。
  7. 請求項6記載の不揮発性半導体記憶装置において、
    上記検知部の検知動作は、電源投入時に行われる,不揮発性半導体記憶装置。
  8. 請求項6記載の不揮発性半導体記憶装置において、
    上記検知部の検知動作は、リセットモード解除時に行われる,不揮発性半導体記憶装置。
  9. 請求項6記載の不揮発性半導体記憶装置において、
    上記検知部の検知動作は、上記カラムラッチに上記パスワードのラッチを行なう動作の開始前に行われる,不揮発性半導体記憶装置。
  10. 請求項6〜9のうちいずれか1つに記載の不揮発性半導体記憶装置において、
    上記検知部で検知される特定アドレス及び特定データを任意に設定するためのレジスタをさらに備えている,不揮発性半導体記憶装置。
  11. 請求項1〜10のうちいずれか1つに記載の不揮発性半導体記憶装置において、
    上記パスワードが使用を禁止すべきデータであることを検知するための禁止データ検知部をさらに備え、
    上記制御部は、上記禁止データ検知部で上記禁止データが検知されたときには、上記メモリセルアレイへの外部からのアクセスを不可能とする,不揮発性半導体記憶装置。
  12. 請求項11記載の不揮発性半導体記憶装置において、
    上記禁止データは、プログラム状態のデータを有するビットが存在しないデータである,不揮発性半導体記憶装置。
  13. 請求項11記載の不揮発性半導体記憶装置において、
    上記禁止データは、パスワードの全ビットを1又は2以上のグループに区画したときに、いずれかのグループにプログラム状態のデータを有するビットが存在しないデータである,不揮発性半導体記憶装置。
  14. 請求項1〜13のうちいずれか1つに記載の不揮発性半導体記憶装置において、
    上記カラムラッチ回路へのパスワードのラッチ動作の前に、特定アドレスが入力されたことを検知する検知部をさらに備えており、
    上記制御部は、上記検知部で特定アドレスが入力されたことが検知されない場合には、上記メモリセルアレイへの外部からのアクセスを不可能とする,不揮発性半導体記憶装置。
  15. 請求項14記載の不揮発性半導体記憶装置において、
    上記検知部で検知される特定アドレスを任意に設定するためのレジスタをさらに備えている,不揮発性半導体記憶装置。
  16. 請求項1〜15のうちいずれか1つに記載の不揮発性半導体記憶装置において、
    上記解除コード格納メモリセルとのベリファイ動作の前に、特定アドレス及び特定データのうち少なくともいずれか1つが入力されたことを検知する検知部をさらに備えており、
    上記制御部は、上記検知部で特定アドレス及び特定データのうち少なくともいずれか1つが入力されたことが検知されない場合は、上記メモリセルアレイへの外部からのアクセスを不可能とする,不揮発性半導体記憶装置。
  17. 請求項16記載の不揮発性半導体記憶装置において、
    上記検知部で検知される特定アドレス及び特定データの値を任意に設定するためのレジスタをさらに備えている,不揮発性半導体記憶装置。
  18. 請求項1〜17のうちいずれか1つに記載の不揮発性半導体記憶装置において、
    上記制御部における上記ラッチ動作の前に、上記パスワードをスクランブル処理して上記カラムラッチ回路に出力するデータスクランブル回路をさらに備えている,不揮発性半導体記憶装置。
  19. 請求項1〜18のうちいずれか1つに記載の不揮発性半導体記憶装置において、
    上記制御部の上記ベリファイ動作の際に、上記パスワードと上記セキュリティ解除コードとが不一致と判定された場合は、上記カラムラッチ回路にラッチされたデータをリセットするラッチリセット手段を備えている,不揮発性半導体記憶装置。
  20. 請求項1〜19のうちいずれか1つに記載の不揮発性半導体記憶装置において、
    上記解除コード格納メモリセルは、上記メモリセルアレイ中に配置されており、
    上記解除コード格納メモリセルのメモリセルアレイ中におけるアドレスを任意に設定可能とするレジスタをさらに備えている,不揮発性半導体記憶装置。
  21. 請求項1〜20のうちいずれか1つに記載の不揮発性半導体記憶装置において、
    上記解除コード格納メモリセルのベリファイ動作時におけるベリファイ判定しきい値電圧値が、データ書き込み時のベリファイ動作時におけるベリファイ判定しきい値電圧値と異なる,不揮発性半導体記憶装置。
  22. 請求項1〜21のうちいずれか1つに記載の不揮発性半導体記憶装置において、
    上記解除コード格納メモリセルに上記セキュリティ解除コードを書き込む際は、解除コード格納メモリセルのプログラム状態とイレーズ状態のデータのしきい値を、共に上記メモリセルのプログラム状態側あるいはイレーズ状態側に設定し、
    且つ、上記解除コード格納メモリセルの上記プログラム状態と上記イレーズ状態とのデータのしきい値は互いに異なる値に設定して書き込む,不揮発性半導体記憶装置。
  23. ページプログラム機能とセキュリティ保護機能とを有する不揮発性半導体記憶装置の機密保護方法であって、
    セキュリティ機能を解除するためのパスワードが入力されたときに、カラムラッチ回路に上記パスワードをラッチするステップ(a)と、
    上記ステップ(a)でラッチされたパスワードとセキュリティ解除コードが格納された解除コード格納メモリセルとのベリファイ動作を行なうステップ(b)と
    を含む,不揮発性半導体記憶装置の機密保護方法。
  24. 請求項23記載の不揮発性半導体記憶装置の機密保護方法において、
    上記ステップ(b)において、上記パスワードと上記セキュリティ解除コードとが一致と判定された場合に、上記メモリセルアレイへの外部からのアクセスを許可する,不揮発性半導体記憶装置の機密保護方法。
JP2003108937A 2002-04-17 2003-04-14 不揮発性半導体記憶装置及びその機密保護方法 Expired - Fee Related JP3810378B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003108937A JP3810378B2 (ja) 2002-04-17 2003-04-14 不揮発性半導体記憶装置及びその機密保護方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002114583 2002-04-17
JP2003108937A JP3810378B2 (ja) 2002-04-17 2003-04-14 不揮発性半導体記憶装置及びその機密保護方法

Publications (2)

Publication Number Publication Date
JP2004005941A JP2004005941A (ja) 2004-01-08
JP3810378B2 true JP3810378B2 (ja) 2006-08-16

Family

ID=30447102

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003108937A Expired - Fee Related JP3810378B2 (ja) 2002-04-17 2003-04-14 不揮発性半導体記憶装置及びその機密保護方法

Country Status (1)

Country Link
JP (1) JP3810378B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006046282A1 (ja) * 2004-10-26 2006-05-04 Spansion Llc 不揮発性記憶装置
KR100597788B1 (ko) * 2004-12-17 2006-07-06 삼성전자주식회사 프로그램 동작 속도를 개선하는 불휘발성 반도체 메모리장치의 페이지 버퍼와 이에 대한 구동방법
JP4696609B2 (ja) * 2005-03-15 2011-06-08 オムロン株式会社 被写体認証装置、携帯電話、被写体認証方法、及び被写体認証プログラム
JP6129699B2 (ja) 2013-09-18 2017-05-17 株式会社東芝 個体識別装置、記憶装置、個体識別システム、その方法、およびプログラム

Also Published As

Publication number Publication date
JP2004005941A (ja) 2004-01-08

Similar Documents

Publication Publication Date Title
US6996692B2 (en) Nonvolatile semiconductor memory device and method for providing security for the same
US11895236B2 (en) Unchangeable physical unclonable function in non-volatile memory
EP3407335B1 (en) Non-volatile memory based physically unclonable function with random number generator
US10855477B2 (en) Non-volatile memory with physical unclonable function and random number generator
US20180278418A1 (en) Physical unclonable function for security key
CN105283919B (zh) 半导体装置
US7952924B2 (en) NAND memory device and programming methods
JP2005108273A (ja) 不揮発性半導体記憶装置
US20140237263A1 (en) Nonvolatile semiconductor memory device and memory system using the same
KR100568003B1 (ko) 부정 복사를 방지한 비휘발성 반도체 메모리
EP3407336A1 (en) Unchangeable phyisical unclonable function in non-volatile memory
US10127989B2 (en) Semiconductor device
TWI619119B (zh) Semiconductor device
US9953170B2 (en) Semiconductor memory device, semiconductor system and reading method
TW200529237A (en) Semiconductor memory and operating method therefor
JP2006164408A (ja) 不揮発性半導体記憶装置及びそのデータ消去方法。
JP2004259385A (ja) 半導体記憶装置
JP3810378B2 (ja) 不揮発性半導体記憶装置及びその機密保護方法
JP4741474B2 (ja) 半導体回路の紫外線への露出を検出する方法及び装置
KR101633442B1 (ko) 반도체 메모리 장치, 반도체 시스템 및 독출 방법
JP2003203012A (ja) マイクロコンピュータ装置
US20040264268A1 (en) Erroneous operation preventing circuit of non-volatile memory device
JP2007193913A (ja) 不揮発性半導体記憶装置
TWI537963B (zh) 半導體記憶體裝置、半導體系統以及讀取方法
JPH11203206A (ja) 不揮発性メモリのセキュリティ回路

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060413

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060523

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100602

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100602

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110602

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120602

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees