(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】5734492
(24)【登録日】2015年4月24日
(45)【発行日】2015年6月17日
(54)【発明の名称】半導体記憶装置
(51)【国際特許分類】
G11C 16/02 20060101AFI20150528BHJP
G11C 16/04 20060101ALI20150528BHJP
G06F 21/60 20130101ALI20150528BHJP
【FI】
G11C17/00 601P
G11C17/00 622E
G06F21/60
【請求項の数】11
【全頁数】15
(21)【出願番号】特願2014-96667(P2014-96667)
(22)【出願日】2014年5月8日
【審査請求日】2014年5月8日
(73)【特許権者】
【識別番号】511062254
【氏名又は名称】ウィンボンド エレクトロニクス コーポレーション
(74)【代理人】
【識別番号】100098497
【弁理士】
【氏名又は名称】片寄 恭三
(72)【発明者】
【氏名】神永 雄大
【審査官】
滝谷 亮一
(56)【参考文献】
【文献】
特開2005−182799(JP,A)
【文献】
特開2003−303136(JP,A)
【文献】
特開2002−108716(JP,A)
【文献】
特開2002−116959(JP,A)
【文献】
特開2008−108212(JP,A)
【文献】
特開2004−30101(JP,A)
【文献】
特開平10−208002(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 16/02
G06F 21/60
G11C 16/04
(57)【特許請求の範囲】
【請求項1】
NAND型のメモリアレイと、
アドレス情報およびデータを入力可能な入力手段と、
前記入力手段から入力されたアドレス情報に基づき前記メモリアレイに記憶されたデータを読み出す読出し手段と、
前記入力手段から特定のコマンドが入力されたとき、入力されたアドレス情報を特定アドレス情報としてアドレス格納領域に設定し、かつ前記入力手段から入力されたデータを特定データとしてデータ格納領域に設定する設定手段と、
前記読出し手段を制御する制御手段とを有し、
前記制御手段は、読出し動作時に、入力されたアドレス情報と前記特定アドレス情報とを比較し、両アドレス情報が一致するとき、前記データ格納領域に設定された特定データを読出させ、かつ前記特定アドレス情報を消去または無効にし、両アドレス情報が一致しないとき、入力されたアドレス情報に従い前記メモリアレイに記憶されたデータを読み出させる、半導体記憶装置。
【請求項2】
前記設定手段は、不揮発性のアドレス格納領域と揮発性のアドレス格納領域とを含み、前記設定手段は、電源投下に応答して、不揮発性のアドレス格納領域に設定された特定アドレス情報を揮発性のアドレス格納領域に保持させ、前記制御手段は、入力されたアドレス情報と前記特定アドレス情報とが一致するとき、前記揮発性のアドレス格納領域に保持された特定アドレス情報を消去する、請求項1に記載の半導体記憶装置。
【請求項3】
前記特定アドレス情報は、前記メモリアレイのアドレス空間を選択可能なアドレスを兼ねる、請求項1または2に記載の半導体記憶装置。
【請求項4】
前記データ格納領域は、ユーザーによって利用可能なメモリアレイとは異なる領域に設定される、請求項1ないし3いずれか1つに記載の半導体記憶装置。
【請求項5】
前記アドレス格納領域は、コンフィギュレーションレジスタである、請求項1ないし4いずれか1つに記載の半導体記憶装置。
【請求項6】
前記制御手段は、入力されたアドレス情報と前記特定アドレス情報とが一致する回数をカウントするカウント手段を含み、前記制御手段は、前記カウント手段のカウント結果が予め決められた値に到達したとき、前記特定アドレス情報を消去する、請求項1ないし5いずれか1つに記載の半導体記憶装置。
【請求項7】
請求項1ないし6いずれか1つに記載の半導体記憶装置と、前記半導体記憶装置と接続されたホストデバイスとを含むシステムであって、
前記ホストデバイスは、前記特定アドレス情報および前記特定データとを前記半導体記憶装置に出力する、システム。
【請求項8】
半導体記憶装置およびホストデバイスを含むシステムにおける特定データの読出し方法であって、
半導体記憶装置に特定のコマンドを出力し、特定アドレス情報を半導体記憶装置のアドレス格納領域に設定し、かつ特定のデータをデータ格納領域に設定し、
読出し動作時に、入力されたアドレス情報と前記特定アドレス情報とを比較し、両アドレス情報が一致するとき、前記データ格納領域に設定された特定データを読出させ、かつ前記特定アドレス情報を消去または無効にし、両アドレス情報が一致しないとき、入力されたアドレス情報に従い前記メモリアレイに記憶されたデータを読み出させる、読出し方法。
【請求項9】
前記読出し方法はさらに、システムの電源投入後に、不揮発性のアドレス格納領域に設定された特定アドレス情報を揮発性のアドレス格納領域に保持させ、前記両アドレス情報とが一致するとき、前記揮発性のアドレス格納領域の特定アドレス情報を消去する、請求項8に記載の読出し方法。
【請求項10】
システムの電源再投入後、不揮発性のアドレス格納領域に設定された特定アドレス情報が揮発性のアドレス格納領域に保持される、請求項8または9に記載の読出し方法。
【請求項11】
読出し方法はさらに、入力されたアドレス情報と前記特定アドレス情報とが一致する回数をカウントし、カウント結果が予め決められた値に到達したとき、前記特定アドレス情報を消去する、請求項8ないし10いずれか1つに記載の読出し方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、NAND型フラッシュメモリ等の半導体記憶装置に関し、特に、セキュリティの高い情報の記憶およびその読出しに関する。
【背景技術】
【0002】
NAND型のフラッシュメモリは、複数のメモリセルを直列接続したNANDストリングからなるメモリセルアレイを有する。NAND型のフラッシュメモリは、NOR型のフラッシュメモリと比較して、集積度の高いメモリセルアレイを実現することができ、それ故、画像データや音楽データなどの大容量のデータ記憶に適している。このような用途以外にも、NAND型のフラッシュメモリは、電子機器やシステムの起動時にブートコードを提供するメモリとしても利用される。ブートコードは、ホスト側の電子機器やシステムのオペレーティングシステム等を起動するために用いられるデータである。
【0003】
図1に、ホストシステムにブートコードを出力することができる従来の半導体メモリのシステム構成を示す。
図1(B)に示すように、半導体メモリ10は、バス等を介してホストデバイス30に接続される。半導体メモリ10は、
図1(A)に示すように、ホストデバイス30との間でデータを入出力する入出力ピン12と、メモリコントローラ14と、メモリ部16とを有する。メモリコントローラ14は、入出力ピン12を介してホストデバイス30との間でデータの転送を行うホストインターフェース20と、メモリ部16との間でデータの転送を行うメモリインターフェース22と、データ転送等を制御するMPU24、プログラムやデータを記憶するROM26、RAM28を備えている。メモリ部16は、例えばNAND型フラッシュメモリのチップを2つ含む。また、メモリ部16は、
図1(B)に示すように、物理アドレスでアクセス可能な物理アクセス領域16Aと、論理アドレスでアクセス可能な論理アクセス領域16Bとを含み、物理アクセス領域16Aには、ホストデバイス30のブートコードが記憶される。ブートコードは、ホストデバイス30のオペレーティングシステム等を起動するためのデータである。このような構成により、ホストデバイス30が物理アクセス方式のみに対応している場合に、ホストデバイス30にブートコードを提供することができる(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−175877号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
NAND型のフラッシュメモリをブートコード格納用のメモリとして使用するホストシステムでは、起動時またはパワーアップ時にフラッシュメモリからブートコードを読み出し、システムを起動させることが可能である。また、ブートコード以外にも、セキュリティの高い機密重要な情報を格納しておき、当該情報を読出をシステムの制御に利用するアプリケーションも可能である。1つの例として、システムに特有なセキュリティコードや暗号解読キーをフラッシュメモリに格納しておき、当該セキュリティコードが読み出されなければ、メモリシステムを正常に動作させることができないようなアプリケーションがある。より具体的には、セキュリティコードを照合させることで、フラッシュメモリに記憶されたオペレーティングシステム(OS)やソフトウエア等の起動を許可するものである。また、他の例として、プライバシーの高い個人情報をフラッシュメモリに記憶しておき、当該個人情報を特定のプログラムに利用させるようなアプリケーションがある。
【0006】
しかしながら、フラッシュメモリにこうしたセキュリティの高い情報を格納しておき、これを動作時に読み出す場合には、次のような課題がある。セキュリティコードやプライバシーのような重要な情報が何度も読み出されると、それらの情報が漏洩するリスクが高くなる。例えば、不特定のシステムまたは悪意のあるユーザーによって無断で閲覧され、またはコピーされてしまうことがあり、そうなると必ずしも保護が十分とはいえない。他方、ブートコードのようの起動時にのみ読み出されるようにすることも可能であるが、そすると、情報を利用することができる時間的な制限が大きくなり過ぎてしまう。
【0007】
本発明は、セキュリティの高い情報の保護を効果的に行うことができる新規なアーキテクチャーを備えた半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る半導体記憶装置は、NAND型のメモリアレイと、アドレス情報およびデータを入力可能な入力手段と、前記入力手段から入力されたアドレス情報に基づき前記メモリアレイに記憶されたデータを読み出す読出し手段と、前記入力手段から特定のコマンドが入力されたとき、入力されたアドレス情報を特定アドレス情報としてアドレス格納領域に設定し、かつ前記入力手段から入力されたデータを特定データとしてデータ格納領域に設定する設定手段と、前記読出し手段を制御する制御手段とを有し、前記制御手段は、読出し動作時に、入力されたアドレス情報と前記特定アドレス情報とを比較し、両アドレス情報が一致するとき、前記データ格納領域に設定された特定データを読出させ、かつ前記特定アドレス情報を消去または無効にし、両アドレス情報が一致しないとき、入力されたアドレス情報に従い前記メモリアレイに記憶されたデータを読み出させる。
【0009】
好ましくは前記設定手段は、不揮発性のアドレス格納領域と揮発性のアドレス格納領域とを含み、前記設定手段は、電源投下に応答して、不揮発性のアドレス格納領域に設定された特定アドレス情報を揮発性のアドレス格納領域に保持させ、前記制御手段は、入力されたアドレス情報と前記特定アドレス情報とが一致するとき、前記揮発性のアドレス格納領域に保持された特定アドレス情報を消去する。好ましくは前記特定アドレス情報は、前記メモリアレイのアドレス空間を選択可能なアドレスを兼ねる。好ましくは前記データ格納領域は、ユーザーによって利用可能なメモリアレイとは異なる領域に設定される。好ましくは前記アドレス格納領域は、コンフィギュレーションレジスタである。好ましくは前記制御手段は、入力されたアドレス情報と前記特定アドレス情報とが一致する回数をカウントするカウント手段を含み、前記制御手段は、前記カウント手段のカウント結果が予め決められた値に到達したとき、前記特定アドレス情報を消去する。
【0010】
本発明に係る特定データの読出し方法は、半導体記憶装置およびホストデバイスを含むシステムにおけるものであって、半導体記憶装置に特定のコマンドを出力し、特定アドレス情報を半導体記憶装置のアドレス格納領域に設定し、かつ特定のデータをデータ格納領域に設定し、読出し動作時に、入力されたアドレス情報と前記特定アドレス情報とを比較し、両アドレス情報が一致するとき、前記データ格納領域に設定された特定データを読出させ、かつ前記特定アドレス情報を消去または無効にし、両アドレス情報が一致しないとき、入力されたアドレス情報に従い前記メモリアレイに記憶されたデータを読み出させる。
【0011】
好ましくは前記読出し方法はさらに、システムの電源投入後に、不揮発性のアドレス格納領域に設定された特定アドレス情報を揮発性のアドレス格納領域に保持させ、前記両アドレス情報とが一致するとき、前記揮発性のアドレス格納領域の特定アドレス情報を消去する。好ましくはシステムの電源再投入後、不揮発性のアドレス格納領域に設定された特定アドレス情報が揮発性のアドレス格納領域に保持される。好ましくは読出し方法はさらに、入力されたアドレス情報と前記特定アドレス情報とが一致する回数をカウントし、カウント結果が予め決められた値に到達したとき、前記特定アドレス情報を消去する。
【発明の効果】
【0012】
本発明によれば、入力されたアドレス情報と特定アドレス情報とが一致したとき、特定データを読み出させ、かつ特定アドレス情報を消去または無効にするようにしたので、それ以降の特定データの読出しが制限される。これにより、特定データのセキュリティを高めることができる。
【図面の簡単な説明】
【0013】
【
図1】従来のブートコードを出力する半導体メモリシステムの構成を示す図である。
【
図2】本発明の実施例に係るフラッシュメモリの一構成例を示すブロック図である。
【
図3】本発明の実施例に係るNANDストリングの構成を示す回路図である。
【
図4】本実施例に係るフラッシュメモリの各部に印加される電圧の一例を示す図である。
【
図5】本実施例に係るフラッシュメモリを含むシステムの概略図である。
【
図6】本実施例に係るフラッシュメモリのワンタイムリードモードの初期設定の動作を説明するフローチャートである。
【
図7】フラッシュメモリの不揮発性および揮発性のコンフィギュレーションレジスタの一例を示す図である。
【
図8】本実施例に係るフラッシュメモリの初期設定時のプログラムデータの書込みを説明する図である。
【
図9】本実施例に係るフラッシュメモリのワンタイムリードを制御するときの機能的な構成を示す図である。
【
図10】本実施例に係るフラッシュメモリのワンタイムリード動作を説明するフローチャートである。
【
図11A】揮発性コンフィギュレーションレジスタへの特定アドレスの設定動作を示す図である。
【
図11B】特定アドレスと入力されたアドレスとが不一致の場合の動作を示す図である。
【
図11C】特定アドレスと入力されたアドレスとが一致した場合の動作を示す図である。
【
図11D】ワンタイムリード後の読出し例を示す図である。
【
図12】本発明の第2の実施例に係るフラッシュメモリのワンタイムリードを制御するときの機能的な構成を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
図2に、本発明の実施例に係るフラッシュメモリの構成を示す。但し、ここに示すフラッシュメモリの構成は、例示であって、本発明は、必ずしもこのような構成に限定されるものではない。
【0015】
図2に示すように、本実施例のフラッシュメモリ100は、行列状に配列された複数のメモリセルが形成されたメモリアレイ110と、外部入出力端子I/Oに接続され入出力データを保持する入出力バッファ120と、入出力バッファ120からのアドレスデータを受け取るアドレスレジスタ130と、入出力されるデータを保持するデータレジスタ140、入出力バッファ120からのコマンドデータおよび外部制御信号(図示されないチップイネーブルやアドレスラッチイネーブル等)に基づき各部を制御する制御信号C1、C2、C3等を供給するコントローラ150と、アドレスレジスタ130からの行アドレス情報Axをデコードしデコード結果に基づきブロックの選択およびワード線の選択等を行うワード線選択回路160と、ワード線選択回路160によって選択されたページから読み出されたデータを保持したり、選択されたページへの書込みデータを保持するページバッファ/センス回路170と、アドレスレジスタ130からの列アドレス情報Ayをデコードし当該デコード結果に基づきページバッファ170内の列データを選択する列選択回路180と、データの読出し、プログラムおよび消去等のために必要な電圧(プログラム電圧Vpgm、パス電圧Vpass、読出しパス電圧Vread、消去電圧Versなど)を生成する内部電圧発生回路190とを含んで構成される。
【0016】
メモリアレイ110は、列方向に配置された複数のブロックBLK(0)、BLK(1)、・・・、BLK(m)を有する。ブロックの一方の端部には、ページバッファ/センス回路170が配置される。但し、ページバッファ/センス回路170は、ブロックの他方の端部、あるいはの両側の端部に配置されるものであってもよい。
【0017】
1つのメモリブロックには、
図3に示すように、複数のメモリセルを直列に接続したNANDストリングユニットNUが複数形成され、1つのブロック内にn+1個のストリングユニットNUが行方向に配列されている。セルユニットNUは、直列に接続された複数のメモリセルMCi(i=0、1、・・・、31)と、一方の端部であるメモリセルMC31のドレイン側に接続された選択トランジスタTDと、他方の端部であるメモリセルMC0のソース側に接続された選択トランジスタTSとを含み、選択トランジスタTDのドレインは、対応する1つのビット線GBLに接続され、選択トランジスタTSのソースは、共通のソース線SLに接続される。
【0018】
メモリセルMCiのコントロールゲートは、ワード線WLiに接続され、選択トランジスタTD、TSのゲートは、ワード線WLと並行する選択ゲート線SGD、SGSに接続される。ワード線選択回路160は、行アドレスAxに基づきブロックを選択するとき、当該ブロックの選択ゲート信号SGS、SGDを介して選択トランジスタTD、TSを選択的に駆動する。
【0019】
メモリセルは、典型的に、Pウエル内に形成されたN型の拡散領域であるソース/ドレインと、ソース/ドレイン間のチャンネル上に形成されたトンネル酸化膜と、トンネル酸化膜上に形成されたフローティングゲート(電荷蓄積層)と、フローティングゲート上に誘電体膜を介して形成されたコントロールゲートとを含むMOS構造を有する。フローティングゲートに電荷が蓄積されていないとき、つまりデータ「1」が書込まれているとき、しきい値は負状態にあり、メモリセルは、ノーマリオンである。フローティングゲートに電子が蓄積されたとき、つまりデータ「0」が書込まれているとき、しきい値は正にシフトし、メモリセルは、ノーマリオフである。但し、メモリセルは、単ビットを記憶するものに限らず、多ビットを記憶するものであってもよい。
【0020】
図4は、フラッシュメモリの各動作時に印加されるバイアス電圧の一例を示したテーブルである。読出し動作では、ビット線に或る正の電圧を印加し、選択されたワード線に或る電圧(例えば0V)を印加し、非選択ワード線にパス電圧Vpass(例えば4.5V)を印加し、選択ゲート線SGD、SGSに正の電圧(例えば4.5V)を印加し、ビット線選択トランジスタTD、ソース線選択トランジスタTSをオンし、共通ソース線に0Vを印加する。プログラム(書込み)動作では、選択されたワード線に高電圧のプログラム電圧Vprog(15〜20V)を印加し、非選択のワード線に中間電位(例えば10V)を印加し、ビット線選択トランジスタTDをオンさせ、ソース線選択トランジスタTSをオフさせ、「0」または「1」のデータに応じた電位をビット線GBLに供給する。消去動作では、ブロック内の選択されたワード線に0Vを印加し、Pウエルに高電圧(例えば20V)を印加し、フローティングゲートの電子を基板に引き抜くことで、ブロック単位でデータを消去する。
【0021】
図5は、本実施例に係るフラッシュメモリを含むシステムの一例を示す図である。本実施例のシステム200は、ホストデバイス210と、当該ホストデバイス210に接続されたメモリモジュール220とを含む。ホストデバイス210は、特に限定されるものではないが、コンピュータ、デジタルカメラ、プリンタなどの電子装置あるいはチップセットに搭載されたチップである。メモリモジュール220は、
図1に示したメモリコントローラ14と同様の機能を有するメモリコントローラ230、およびフラッシュメモリ100を含む。メモリコントローラ230は、ホストデバイス210とフラッシュメモリ100間のデータ転送等を制御する。
【0022】
本実施例のフラッシュメモリは、セキュリティの高い情報を記憶させた場合に、この情報の漏洩を防止するため、ワンタイムリードモードを備えている。ワンタイムリードモードが設定されると、電源投入後、ワンタイムリード領域に設定された情報を1回だけ読み出すことが可能になる。この状態は、次に電源が投入されるまで継続され、すなわち、電源が再投入されたとき、再び、ワンタイムリード領域に設定された情報を1回だけ読み出すことが可能になる。これにより、システムの動作中に、セキュリティの高い情報が何度も読み出されるのを防止する。
【0023】
フラッシュメモリ100のワンタイムリードモードを有効にするため、フラッシュメモリ100に初期設定が成される。初期設定は、通常のコマンドとは異なる、予め規定された特定のコマンドを利用して、特定のアドレス情報がアドレス格納領域に設定され、かつセキュリティの高い機密情報がワンタイムリード領域に設定される。好ましい例では、ワンタイムリード領域に設定された機密情報は、特定のアドレス情報が一致したときにのみ1回だけ読み出すことが可能となる。
【0024】
図6は、初期設定を説明するためのフローチャートである。先ず始めに、初期設定を行うための特定のコマンドがホストデバイス210からメモリモジュール220へ発せられる(S100)。特定のコマンドは、通常のプログラム開始コマンド(80h、81h、85h)とは異なるコマンドであり、好ましくは、特定のユーザーまたはシステムのみが知り得る隠れコマンドである。ホストデバイス210から発せられた特定のコマンドがフラッシュメモリ100のコントローラ150によって受け取られると、コントローラ150は、特定のコマンドに基づき初期設定のためのシーケンスを開始する。
【0025】
次に、ホストデバイス210からフラッシュメモリ100に対して、ワンタイムリードのためのアドレスが入力される(S102)。ここで、特定のコマンドが入力されたときに入力されるアドレスを、通常のアドレスと区別するため、特定アドレスと称する。特定アドレスは、行アドレス(ページアドレス)および列アドレスを含むことができるが、1ページ全体を選択する場合には行アドレス(ページアドレス)のみであってもよい。コントローラ150は、特定アドレスが入力されると、特定アドレスを不揮発性のアドレス格納領域に格納する(S104)。好ましくは、不揮発性のアドレス格納領域は、不揮発性のコンフィギュレーションレジスタ(CR)である。
【0026】
本実施例のフラッシュメモリ100は、
図7に示すように、不揮発性のコンフィギュレーションレジスタ240と、揮発性のコンフィギュレーションレジスタ250とを有する。通常、コンフィギュレーションレジスタ240、250は、動作時にユーザーによって読出しや書込みを行うことができないが、ある特定のモードまたはコマンドの実行により読出しや書込みをすることが可能である。
【0027】
不揮発性のコンフィギュレーションレジスタ240は、特定アドレスを格納するアドレス格納領域242と、アドレス格納領域242に特定アドレスが格納されたことを示すフラグ領域244とを含む。コンフィギュレーションレジスタ240はさらに、フラッシュメモリ100の動作情報を設定する領域246を含む。領域246は、例えば、フラッシュメモリを起動するときに必要な情報が記憶される。不揮発性のコンフィギュレーションレジスタ240は、例えば、NOR型またはNAND型の記憶素子、EEPROM、MRAM、ReRAM等の記憶素子などから構成され得る。
【0028】
揮発性のコンフィギュレーションレジスタ250は、システム起動後に、不揮発性のコンフィギュレーションレジスタ240から読み出された特定アドレス等の情報を保持することができる。揮発性のコンフィギュレーションレジスタ250は、例えば、SRAM、DRAMなどの記憶素子から構成され得る。
【0029】
ここで留意すべきは、特定アドレスは、メモリアレイ110のユーザーによって使用可能なアドレス空間を示すとともに、ワンタイムリードを可能にするための識別情報でもある。また、初期設定において特定アドレスが入力されたとき、ワード線選択回路160は、メモリアレイ110のページを選択するのではなく、メモリアレイ110から隠された記憶領域のページを選択する。この隠された記憶領域は、不揮発性のプログラマブルな記憶領域であり、例えば、ユーザーによって利用されるメモリアレイ110から分離された領域に設定される。
【0030】
図8に、初期設定の具体的な例を示す。特定のコマンドが入力され、引き続き、特定ページアドレスとして“PA_N”が入力されるものとする。なお、特定アドレスは、ページアドレスのみを含むものとする。特定ページアドレスPA_Nがアドレスレジスタ130に入力されると、コントローラ150の制御下において、特定ページアドレスPA_Nが不揮発性のコンフィギュレーションレジスタ240のアドレス格納領域242に記憶される。
【0031】
ページアドレスPA_Nは、メモリアレイ110のユーザーによって利用可能なアドレス空間のページであるが、ワード線選択回路160は、メモリアレイ110のページPA_Nを選択することなく、メモリアレイ110から隠された記憶領域112を選択するように動作する。隠された記憶領域112は、物理的には、メモリアレイ110内に形成されてもよいが、ユーザーによってアドレス指定することができない、つまりユーザーによって利用することができないデータ格納領域である。隠された記憶領域112は、例えば、メモリアレイ110と同様にNANDストリングユニットを含むブロック内に形成され、特定のコマンドが入力されたとき、ワード線選択回路160によって選択可能である。また、隠された記憶領域112は、NANDストリングユニット以外の記憶素子から構成されるものであってもよい。例えば、記憶領域112は、MRAM、ReRAM、EEPROM、NORなどの記憶素子から構成されてもよい。この場合、記憶領域112へのアクセスは、必ずしもワード線選択回路160を使用せず、他の専用の選択回路を用いるようにしてもよい。
【0032】
再び
図6に戻り、次に、ワンタイムリードのためのプログラムデータが入力される(S106)。このプログラムデータは、セキュリティの高い機密情報であり、例えば、セキュリティコード、暗号解読キー、プライバシー情報などである。入力されたプログラムデータは、データレジスタ140を介してページバッファ/センス回路170へ供給され、
図8に示すように、隠された記憶領域112のページにプログラムされる。プログラムデータのサイズが1ページよりも小さい場合には、特定アドレスに従い列選択回路180によって選択されたビット線にのみプログラムデータが供給されるようにしてもよい。反対に、プログラムデータのサイズが1ページよりも大きい場合には、例えば、PA_Nが先頭ページとして指定され、先頭ページから連続するページにプログラムデータが書込まれるようにしてもよい。このようにして、ワンタイムリードのための初期設定が終了される。
【0033】
次に、本実施例に係るフラッシュメモリのワンタイムリード動作について説明する。コントローラ150は、ワンタイムリードモードを制御するためのプログラムまたはステートマシンを含む。
図9は、コントローラ150がワンタイムリードモードを制御するときの機能的な構成を示すブロック図である。比較部300は、フラッシュメモリ100のページ読出しが行われるとき、アドレスレジスタ130に入力されたアドレスと、揮発性コンフィギュレーション250に保持された特定アドレスとを比較する比較部300と、比較部300の比較結果に基づき各部を制御する制御部310とを備えている。
【0034】
制御部310は、後述するように、フラッシュメモリ100のパワーアップシーケンスのときに、不揮発性コンフィギュレーションレジスタ240に格納された特定アドレスを、揮発性コンフィギュレーションレジスタ250に転送させこれを保持させるための制御S1、比較部300により両アドレスが一致されたとき、揮発性コンフィギュレーションレジスタ250に保持された特定アドレスを消去するための制御S2、比較部300により両アドレスが一致されたとき、ワード線駆動回路160に隠れた記憶領域112のページを選択させる制御S3などを実行する。
【0035】
次に、
図10のフローチャートを参照して、本実施例のワンタイムリード動作をより詳細に説明する。この例は、初期設定のときに、特定ページアドレスが不揮発性コンフィギュレーションレジスタ240のアドレス格納領域242に設定され、列アドレスは設定されていないものとする。
【0036】
図5に示すシステム200が起動され、フラッシュメモリ100に電源が投入されると(S200)、コントローラ150は、パワーアップシーケンスのためのプログラムまたはステートマシンを開始する。先ず、コントローラ150は、コンフィギュレーション240をアクセスし、フラグ領域244に設定されたフラグをチェックし、初期設定が成されているか否かを判定する(S202)。初期設定がされていなければ、コントローラ150は、ワンタイムリードモードに移行せず、従来通りの動作を行う(S204)。
【0037】
他方、フラグが設定されているとき、すなわち初期設定が完了されているとき、コントローラ150は、ワンタイムリードモードに移行し、ワンタイムリードの制御を行う(S206)。ワンタイムリードモードに移行すると、コントローラ150は、コンフィギュレーションレジスタ240に特定ページアドレスが格納されているので、内部リードコマンド「00h」を実行する(S208)。「00h」の実行により、不揮発性コンフィギュレーションレジスタ240のアドレス格納領域242から特定ページアドレスが読み出され(S210)、特定ページアドレスが揮発性のコンフィギュレーションレジスタ250に保持される(S212)。特定ページアドレスPA_Nが揮発性コンフィギュレーションレジスタ250の設定された様子を
図11Aに示す。ステップS212までがパワーアップシーケンスによって行われる処理である。
【0038】
その後、ホストデバイス210からフラッシュメモリ100に対して読出し動作が行われる(S214)。読出し動作は、従来と同様であり、フラッシュメモリ100は、ホストデバイス210から読出しコマンドおよびアドレスを受け取る。読出し動作に応答して、コントローラ150は、内部リードコマンド「30h」を実行する(S216)。このコマンドの実行により、アドレスレジスタ130に入力されたアドレスが読み出される。
【0039】
次に、比較部300は、揮発性コンフィギュレーションレジスタ250に保持された特定ページアドレスと、アドレスレジスタ130から読み出されたページアドレスを比較し、両アドレスが一致するか否かを判定する(S218)。もし、アドレスが一致しなければ、通常のページ読出しが実施される(S220)。すなわち、入力されたページアドレスがワード線選択回路160によって選択され、選択されたページのデータがページバッファ/センス回路170へ転送され、入出力バッファ120を介してホストデバイス210へ出力される。
図11Bは、ページアドレスとしてPA01が入力された例を示している。ページアドレスPA01は、特定アドレスPA_Nと不一致であるため、ワード線選択回路160は、ページアドレスPA01を選択し、ページアドレスPA01のデータが読み出される。
【0040】
一方、比較部300によって、入力されたページアドレスと特定アドレスとが一致すると判定された場合(S218)、コントローラ150(制御部300)は、ワード線選択回路160に、隠された記憶領域112のページを選択させ、記憶領域112に記憶されたデータがページバッファ/センス回路170へ転送される(S222)。さらに制御部300は、揮発性コンフィギュレーションレジスタ250に保持された特定ページアドレスを消去させ、または無効にする(S224)。そして、入出力バッファ120から、記憶領域112のページに記憶されていたデータが読み出される(S226)。
【0041】
図11Cは、ページアドレスとしてPA_Nが入力された例を示している。入力されたページアドレスPA_Nは、特定ページアドレスPA_Nと一致するため、ワード線選択回路160は、隠された記憶領域112のページを選択し、当該ページに記憶されたデータがページバッファ/センス回路170へ転送される。このとき、メモリアレイ110のページアドレスPA_Nは選択されないことに留意すべきである。
【0042】
このように、特定ページアドレスに一致するページアドレスが入力されると、隠された記憶領域112のページに記憶されたデータが読み出されるが、この読出しは、1回のみに制限されることになる。つまり、特定ページアドレスに一致するページアドレスが1回入力されると、揮発性コンフィギュレーションレジスタ250に保持された特定ページアドレスが消去ないし無効にされるため、仮に、もう一度、特定ページアドレスに一致するページアドレスが入力されたとしても、比較部300は、両アドレスが不一致と判定し、両アドレスが一致すると判定しない。このため、ワード線選択回路160は、隠された記憶領域112のページを選択しない。
図11Dは、ワンタイムリードが行われた後に、特定アドレスに一致するページアドレスが入力されたときの例を示している。ページアドレスPA_Nが入力されたとき、比較部300は、揮発性コンフィギュレーションレジスタ250によって特定ページアドレスが事実上保持されていないことになるため、両アドレスが不一致と判定する。従って、ワード線選択回路160は、隠された記憶領域112のページを選択するのではなく、メモリセル110のページアドレスPA_Nを選択し、このページPA_Nに記憶されたデータの読み出しが行われる。
【0043】
本実施例によれば、セキュリティコード、暗号解読キーあるいはプライバシーデータなどの非常に機密性の高い情報をフラッシュメモリに記憶させた場合に、そのような機密性の高い情報の読出し回数が1回に制限されるので、重要な情報が簡単に読み出されたり、コピーされるのを防止することができる。さらに、ダミーデータを、ユーザーエリアであるメモリアレイ110のページアドレスPA_Nにプログラムすることで、システムは、悪意のあるアクセスや違法なアクセスによってダミーデータが読み取られた時、ダミーデータを利用して違法なアクセスを追跡することができる。
【0044】
上記した
図10に示す例では、コンフィギュレーション240にフラグを設定し、フラグが設定されているときにワンタイムリードモードに移行する例を示したが(S202、S206)、このようなフラグの設定やフラグによる判定は、必ずしも必須ではない。他の好ましい態様では、フラッシュメモリ100は、パワーオンされたとき、フラグの設定とは無関係にワンタイムリードまたは通常の動作を選択的に実行することができる。ワンタイムリードを実行させないとき、すなわち不揮発性コンフィギュレーションレジスタ240への初期設定が行われていないとき、不揮発性コンフィグレーションレジスタ240のアドレス格納領域242は、デフォルトなので消去状態のアドレス情報(すべてFのデータ)が揮発性コンフィギュレーションレジスタ250に転送されることになる。この消去状態のページアドレス情報は、ユーザーが選択し得るアドレス情報と一致することがない場合、必然的に通常の読出し動作が行われることになる。他方、アドレス格納領域242に特定アドレスが設定されていれば、上記と同様の動作により、特定アドレスとユーザーが選択したアドレスが一致したときのみ隠された記憶領域のデータが読み出される。
【0045】
次に、本発明の第2の実施例について説明する。上記実施例は、ワンタイムリードの例を示したが、第2の実施例は、限られた複数の回数の読出しを可能にするものである。
図12は、第2の実施例の機能的な構成を示すブロック図である。第2の実施例では、比較部300による両アドレスの一致回数をカウントするカウンタ320が追加される。カウンタ320は、両アドレスの一致回数が予め決められた回数Nに到達したとき、それを制御部300へ通知する。制御部300は、当該通知に応答して、揮発性コンフィギュレーションレジスタ250に保持された特定ページアドレスを消去ないし無効にする。これにより、隠された記憶領域112に記憶されたデータを限られた回数Nだけ読み出すことが可能になる。
【0046】
本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【0047】
上記実施例では、初期設定される特定ページアドレスがユーザー領域であればどこでも設定可能であるため、アドレスマッピングの自由度を拡大することができる。また、上記実施例は、特定ページアドレスをコンフィギュレーションレジスタに記憶する例を示したが、特定アドレスは、必ずしもコンフィギュレーションレジスタに限らず、他の記憶領域であってもよい。さらに上記実施例は、フラッシュメモリが実行する内部リードコマンドとして「00h」、「30h」を例示したが、これに限らず、レジスタに設定されたページアドレスを読み出すことができるコマンドまたは制御信号であればよい。
【0048】
さらに上記実施例では、1つの特定ページアドレスを例示したが、これに限らず、複数の特定ページアドレスを用い、複数の特定ページページアドレスに対応する記憶領域112のそれぞれにデータをプログラムするようにしてもよい。
【符号の説明】
【0049】
100:フラッシュメモリ
110:メモリアレイ
120:入出力バッファ
130:アドレスレジスタ
140:データレジスタ
150:コントローラ
160:ワード線選択回路
170:ページバッファ/センス回路
180:列選択回路
190:内部電圧発生回路
200:システム
210:ホストデバイス
220:メモリモジュール
240:不揮発性コンフィギュレーションレジスタ
242:アドレス格納領域
244:フラグ領域
250:揮発性コンフィギュレーションレジスタ
300:比較部
310:制御部
320:カウンタ
BL:ビット線
SL:共通ソース線
TD:ビット線選択トランジスタ
TS:ソース線選択トランジスタ
SGD、SGS:選択ゲート線
【要約】 (修正有)
【課題】セキュリティの高い情報を効果的に保護することができるフラッシュメモリを提供する。
【解決手段】フラッシュメモリは、特定のコマンドが入力されたときに、特定アドレス情報を不揮発性のコンフィギュレーションレジスタ240に設定し、かつ特定データを隠された記憶領域に設定する設定手段を含む。フラッシュメモリはさらに、読出し動作時に、入力されたアドレス情報と特定アドレス情報とを比較する比較部300と、両アドレス情報が一致するとき隠された記憶領域に設定された特定データを読出させ、かつ特定アドレスを消去させ、両アドレス情報が一致しないとき、入力されたアドレス情報に従いメモリアレイに記憶されたデータを読み出させる制御部310とを有する。
【選択図】
図9