(57)【要約】      （修正有）【課題】セキュリティの高い情報を効果的に保護することができるフラッシュメモリを提供する。【解決手段】フラッシュメモリは、特定のコマンドが入力されたときに、特定アドレス情報を不揮発性のコンフィギュレーションレジスタ２４０に設定し、かつ特定データを隠された記憶領域に設定する設定手段を含む。フラッシュメモリはさらに、読出し動作時に、入力されたアドレス情報と特定アドレス情報とを比較する比較部３００と、両アドレス情報が一致するとき隠された記憶領域に設定された特定データを読出させ、かつ特定アドレスを消去させ、両アドレス情報が一致しないとき、入力されたアドレス情報に従いメモリアレイに記憶されたデータを読み出させる制御部３１０とを有する。【選択図】図９
2015215930.tif 000002
【特許請求の範囲】
【請求項１】
ＮＡＮＤ型のメモリアレイと、
アドレス情報およびデータを入力可能な入力手段と、
前記入力手段から入力されたアドレス情報に基づき前記メモリアレイに記憶されたデータを読み出す読出し手段と、
前記入力手段から特定のコマンドが入力されたとき、入力されたアドレス情報を特定アドレス情報としてアドレス格納領域に設定し、かつ前記入力手段から入力されたデータを特定データとしてデータ格納領域に設定する設定手段と、
前記読出し手段を制御する制御手段とを有し、
前記制御手段は、読出し動作時に、入力されたアドレス情報と前記特定アドレス情報とを比較し、両アドレス情報が一致するとき、前記データ格納領域に設定された特定データを読出させ、かつ前記特定アドレス情報を消去または無効にし、両アドレス情報が一致しないとき、入力されたアドレス情報に従い前記メモリアレイに記憶されたデータを読み出させる、半導体記憶装置。
【請求項２】
前記設定手段は、不揮発性のアドレス格納領域と揮発性のアドレス格納領域とを含み、前記設定手段は、電源投下に応答して、不揮発性のアドレス格納領域に設定された特定アドレス情報を揮発性のアドレス格納領域に保持させ、前記制御手段は、入力されたアドレス情報と前記特定アドレス情報とが一致するとき、前記揮発性のアドレス格納領域に保持された特定アドレス情報を消去する、請求項１に記載の半導体記憶装置。
【請求項３】
前記特定アドレス情報は、前記メモリアレイのアドレス空間を選択可能なアドレスを兼ねる、請求項１または２に記載の半導体記憶装置。
【請求項４】
前記データ格納領域は、ユーザーによって利用可能なメモリアレイとは異なる領域に設定される、請求項１ないし３いずれか１つに記載の半導体記憶装置。
【請求項５】
前記アドレス格納領域は、コンフィギュレーションレジスタである、請求項１ないし４いずれか１つに記載の半導体記憶装置。
【請求項６】
前記制御手段は、入力されたアドレス情報と前記特定アドレス情報とが一致する回数をカウントするカウント手段を含み、前記制御手段は、前記カウント手段のカウント結果が予め決められた値に到達したとき、前記特定アドレス情報を消去する、請求項１ないし５いずれか１つに記載の半導体記憶装置。
【請求項７】
請求項１ないし６いずれか１つに記載の半導体記憶装置と、前記半導体記憶装置と接続されたホストデバイスとを含むシステムであって、
前記ホストデバイスは、前記特定アドレス情報および前記特定データとを前記半導体記憶装置に出力する、システム。
【請求項８】
半導体記憶装置およびホストデバイスを含むシステムにおける特定データの読出し方法であって、
半導体記憶装置に特定のコマンドを出力し、特定アドレス情報を半導体記憶装置のアドレス格納領域に設定し、かつ特定のデータをデータ格納領域に設定し、
読出し動作時に、入力されたアドレス情報と前記特定アドレス情報とを比較し、両アドレス情報が一致するとき、前記データ格納領域に設定された特定データを読出させ、かつ前記特定アドレス情報を消去または無効にし、両アドレス情報が一致しないとき、入力されたアドレス情報に従い前記メモリアレイに記憶されたデータを読み出させる、読出し方法。
【請求項９】
前記読出し方法はさらに、システムの電源投入後に、不揮発性のアドレス格納領域に設定された特定アドレス情報を揮発性のアドレス格納領域に保持させ、前記両アドレス情報とが一致するとき、前記揮発性のアドレス格納領域の特定アドレス情報を消去する、請求項８に記載の読出し方法。
【請求項１０】
システムの電源再投入後、不揮発性のアドレス格納領域に設定された特定アドレス情報が揮発性のアドレス格納領域に保持される、請求項８または９に記載の読出し方法。
【請求項１１】
読出し方法はさらに、入力されたアドレス情報と前記特定アドレス情報とが一致する回数をカウントし、カウント結果が予め決められた値に到達したとき、前記特定アドレス情報を消去する、請求項８ないし１０いずれか１つに記載の読出し方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＡＮＤ型フラッシュメモリ等の半導体記憶装置に関し、特に、セキュリティの高い情報の記憶およびその読出しに関する。
【背景技術】
【０００２】
ＮＡＮＤ型のフラッシュメモリは、複数のメモリセルを直列接続したＮＡＮＤストリングからなるメモリセルアレイを有する。ＮＡＮＤ型のフラッシュメモリは、ＮＯＲ型のフラッシュメモリと比較して、集積度の高いメモリセルアレイを実現することができ、それ故、画像データや音楽データなどの大容量のデータ記憶に適している。このような用途以外にも、ＮＡＮＤ型のフラッシュメモリは、電子機器やシステムの起動時にブートコードを提供するメモリとしても利用される。ブートコードは、ホスト側の電子機器やシステムのオペレーティングシステム等を起動するために用いられるデータである。
【０００３】
図１に、ホストシステムにブートコードを出力することができる従来の半導体メモリのシステム構成を示す。図１（Ｂ）に示すように、半導体メモリ１０は、バス等を介してホストデバイス３０に接続される。半導体メモリ１０は、図１（Ａ）に示すように、ホストデバイス３０との間でデータを入出力する入出力ピン１２と、メモリコントローラ１４と、メモリ部１６とを有する。メモリコントローラ１４は、入出力ピン１２を介してホストデバイス３０との間でデータの転送を行うホストインターフェース２０と、メモリ部１６との間でデータの転送を行うメモリインターフェース２２と、データ転送等を制御するＭＰＵ２４、プログラムやデータを記憶するＲＯＭ２６、ＲＡＭ２８を備えている。メモリ部１６は、例えばＮＡＮＤ型フラッシュメモリのチップを２つ含む。また、メモリ部１６は、図１（Ｂ）に示すように、物理アドレスでアクセス可能な物理アクセス領域１６Ａと、論理アドレスでアクセス可能な論理アクセス領域１６Ｂとを含み、物理アクセス領域１６Ａには、ホストデバイス３０のブートコードが記憶される。ブートコードは、ホストデバイス３０のオペレーティングシステム等を起動するためのデータである。このような構成により、ホストデバイス３０が物理アクセス方式のみに対応している場合に、ホストデバイス３０にブートコードを提供することができる（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１７５８７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＮＡＮＤ型のフラッシュメモリをブートコード格納用のメモリとして使用するホストシステムでは、起動時またはパワーアップ時にフラッシュメモリからブートコードを読み出し、システムを起動させることが可能である。また、ブートコード以外にも、セキュリティの高い機密重要な情報を格納しておき、当該情報を読出をシステムの制御に利用するアプリケーションも可能である。１つの例として、システムに特有なセキュリティコードや暗号解読キーをフラッシュメモリに格納しておき、当該セキュリティコードが読み出されなければ、メモリシステムを正常に動作させることができないようなアプリケーションがある。より具体的には、セキュリティコードを照合させることで、フラッシュメモリに記憶されたオペレーティングシステム（ＯＳ）やソフトウエア等の起動を許可するものである。また、他の例として、プライバシーの高い個人情報をフラッシュメモリに記憶しておき、当該個人情報を特定のプログラムに利用させるようなアプリケーションがある。
【０００６】
しかしながら、フラッシュメモリにこうしたセキュリティの高い情報を格納しておき、これを動作時に読み出す場合には、次のような課題がある。セキュリティコードやプライバシーのような重要な情報が何度も読み出されると、それらの情報が漏洩するリスクが高くなる。例えば、不特定のシステムまたは悪意のあるユーザーによって無断で閲覧され、またはコピーされてしまうことがあり、そうなると必ずしも保護が十分とはいえない。他方、ブートコードのようの起動時にのみ読み出されるようにすることも可能であるが、そすると、情報を利用することができる時間的な制限が大きくなり過ぎてしまう。
【０００７】
本発明は、セキュリティの高い情報の保護を効果的に行うことができる新規なアーキテクチャーを備えた半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る半導体記憶装置は、ＮＡＮＤ型のメモリアレイと、アドレス情報およびデータを入力可能な入力手段と、前記入力手段から入力されたアドレス情報に基づき前記メモリアレイに記憶されたデータを読み出す読出し手段と、前記入力手段から特定のコマンドが入力されたとき、入力されたアドレス情報を特定アドレス情報としてアドレス格納領域に設定し、かつ前記入力手段から入力されたデータを特定データとしてデータ格納領域に設定する設定手段と、前記読出し手段を制御する制御手段とを有し、前記制御手段は、読出し動作時に、入力されたアドレス情報と前記特定アドレス情報とを比較し、両アドレス情報が一致するとき、前記データ格納領域に設定された特定データを読出させ、かつ前記特定アドレス情報を消去または無効にし、両アドレス情報が一致しないとき、入力されたアドレス情報に従い前記メモリアレイに記憶されたデータを読み出させる。
【０００９】
好ましくは前記設定手段は、不揮発性のアドレス格納領域と揮発性のアドレス格納領域とを含み、前記設定手段は、電源投下に応答して、不揮発性のアドレス格納領域に設定された特定アドレス情報を揮発性のアドレス格納領域に保持させ、前記制御手段は、入力されたアドレス情報と前記特定アドレス情報とが一致するとき、前記揮発性のアドレス格納領域に保持された特定アドレス情報を消去する。好ましくは前記特定アドレス情報は、前記メモリアレイのアドレス空間を選択可能なアドレスを兼ねる。好ましくは前記データ格納領域は、ユーザーによって利用可能なメモリアレイとは異なる領域に設定される。好ましくは前記アドレス格納領域は、コンフィギュレーションレジスタである。好ましくは前記制御手段は、入力されたアドレス情報と前記特定アドレス情報とが一致する回数をカウントするカウント手段を含み、前記制御手段は、前記カウント手段のカウント結果が予め決められた値に到達したとき、前記特定アドレス情報を消去する。
【００１０】
本発明に係る特定データの読出し方法は、半導体記憶装置およびホストデバイスを含むシステムにおけるものであって、半導体記憶装置に特定のコマンドを出力し、特定アドレス情報を半導体記憶装置のアドレス格納領域に設定し、かつ特定のデータをデータ格納領域に設定し、読出し動作時に、入力されたアドレス情報と前記特定アドレス情報とを比較し、両アドレス情報が一致するとき、前記データ格納領域に設定された特定データを読出させ、かつ前記特定アドレス情報を消去または無効にし、両アドレス情報が一致しないとき、入力されたアドレス情報に従い前記メモリアレイに記憶されたデータを読み出させる。
【００１１】
好ましくは前記読出し方法はさらに、システムの電源投入後に、不揮発性のアドレス格納領域に設定された特定アドレス情報を揮発性のアドレス格納領域に保持させ、前記両アドレス情報とが一致するとき、前記揮発性のアドレス格納領域の特定アドレス情報を消去する。好ましくはシステムの電源再投入後、不揮発性のアドレス格納領域に設定された特定アドレス情報が揮発性のアドレス格納領域に保持される。好ましくは読出し方法はさらに、入力されたアドレス情報と前記特定アドレス情報とが一致する回数をカウントし、カウント結果が予め決められた値に到達したとき、前記特定アドレス情報を消去する。
【発明の効果】
【００１２】
本発明によれば、入力されたアドレス情報と特定アドレス情報とが一致したとき、特定データを読み出させ、かつ特定アドレス情報を消去または無効にするようにしたので、それ以降の特定データの読出しが制限される。これにより、特定データのセキュリティを高めることができる。
【図面の簡単な説明】
【００１３】
【図１】従来のブートコードを出力する半導体メモリシステムの構成を示す図である。
【図２】本発明の実施例に係るフラッシュメモリの一構成例を示すブロック図である。
【図３】本発明の実施例に係るＮＡＮＤストリングの構成を示す回路図である。
【図４】本実施例に係るフラッシュメモリの各部に印加される電圧の一例を示す図である。
【図５】本実施例に係るフラッシュメモリを含むシステムの概略図である。
【図６】本実施例に係るフラッシュメモリのワンタイムリードモードの初期設定の動作を説明するフローチャートである。
【図７】フラッシュメモリの不揮発性および揮発性のコンフィギュレーションレジスタの一例を示す図である。
【図８】本実施例に係るフラッシュメモリの初期設定時のプログラムデータの書込みを説明する図である。
【図９】本実施例に係るフラッシュメモリのワンタイムリードを制御するときの機能的な構成を示す図である。
【図１０】本実施例に係るフラッシュメモリのワンタイムリード動作を説明するフローチャートである。
【図１１Ａ】揮発性コンフィギュレーションレジスタへの特定アドレスの設定動作を示す図である。
【図１１Ｂ】特定アドレスと入力されたアドレスとが不一致の場合の動作を示す図である。
【図１１Ｃ】特定アドレスと入力されたアドレスとが一致した場合の動作を示す図である。
【図１１Ｄ】ワンタイムリード後の読出し例を示す図である。
【図１２】本発明の第２の実施例に係るフラッシュメモリのワンタイムリードを制御するときの機能的な構成を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を参照して詳細に説明する。図２に、本発明の実施例に係るフラッシュメモリの構成を示す。但し、ここに示すフラッシュメモリの構成は、例示であって、本発明は、必ずしもこのような構成に限定されるものではない。
【００１５】
図２に示すように、本実施例のフラッシュメモリ１００は、行列状に配列された複数のメモリセルが形成されたメモリアレイ１１０と、外部入出力端子Ｉ／Ｏに接続され入出力データを保持する入出力バッファ１２０と、入出力バッファ１２０からのアドレスデータを受け取るアドレスレジスタ１３０と、入出力されるデータを保持するデータレジスタ１４０、入出力バッファ１２０からのコマンドデータおよび外部制御信号（図示されないチップイネーブルやアドレスラッチイネーブル等）に基づき各部を制御する制御信号Ｃ１、Ｃ２、Ｃ３等を供給するコントローラ１５０と、アドレスレジスタ１３０からの行アドレス情報Ａｘをデコードしデコード結果に基づきブロックの選択およびワード線の選択等を行うワード線選択回路１６０と、ワード線選択回路１６０によって選択されたページから読み出されたデータを保持したり、選択されたページへの書込みデータを保持するページバッファ／センス回路１７０と、アドレスレジスタ１３０からの列アドレス情報Ａｙをデコードし当該デコード結果に基づきページバッファ１７０内の列データを選択する列選択回路１８０と、データの読出し、プログラムおよび消去等のために必要な電圧（プログラム電圧Vpgm、パス電圧Vpass、読出しパス電圧Vread、消去電圧Versなど）を生成する内部電圧発生回路１９０とを含んで構成される。
【００１６】
メモリアレイ１１０は、列方向に配置された複数のブロックBLK(0)、BLK(1)、・・・、BLK(m)を有する。ブロックの一方の端部には、ページバッファ／センス回路１７０が配置される。但し、ページバッファ／センス回路１７０は、ブロックの他方の端部、あるいはの両側の端部に配置されるものであってもよい。
【００１７】
１つのメモリブロックには、図３に示すように、複数のメモリセルを直列に接続したＮＡＮＤストリングユニットＮＵが複数形成され、１つのブロック内にｎ＋１個のストリングユニットＮＵが行方向に配列されている。セルユニットＮＵは、直列に接続された複数のメモリセルMCi(i=０、１、・・・、３１)と、一方の端部であるメモリセルMC31のドレイン側に接続された選択トランジスタTDと、他方の端部であるメモリセルMC0のソース側に接続された選択トランジスタTSとを含み、選択トランジスタTDのドレインは、対応する１つのビット線GBLに接続され、選択トランジスタTSのソースは、共通のソース線SLに接続される。
【００１８】
メモリセルMCiのコントロールゲートは、ワード線WLiに接続され、選択トランジスタTD、TSのゲートは、ワード線WLと並行する選択ゲート線SGD、SGSに接続される。ワード線選択回路１６０は、行アドレスＡｘに基づきブロックを選択するとき、当該ブロックの選択ゲート信号SGS、SGDを介して選択トランジスタTD、TSを選択的に駆動する。
【００１９】
メモリセルは、典型的に、Ｐウエル内に形成されたＮ型の拡散領域であるソース／ドレインと、ソース／ドレイン間のチャンネル上に形成されたトンネル酸化膜と、トンネル酸化膜上に形成されたフローティングゲート（電荷蓄積層）と、フローティングゲート上に誘電体膜を介して形成されたコントロールゲートとを含むＭＯＳ構造を有する。フローティングゲートに電荷が蓄積されていないとき、つまりデータ「１」が書込まれているとき、しきい値は負状態にあり、メモリセルは、ノーマリオンである。フローティングゲートに電子が蓄積されたとき、つまりデータ「０」が書込まれているとき、しきい値は正にシフトし、メモリセルは、ノーマリオフである。但し、メモリセルは、単ビットを記憶するものに限らず、多ビットを記憶するものであってもよい。
【００２０】
図４は、フラッシュメモリの各動作時に印加されるバイアス電圧の一例を示したテーブルである。読出し動作では、ビット線に或る正の電圧を印加し、選択されたワード線に或る電圧（例えば０Ｖ）を印加し、非選択ワード線にパス電圧Vpass（例えば４．５Ｖ）を印加し、選択ゲート線SGD、SGSに正の電圧（例えば４．５Ｖ）を印加し、ビット線選択トランジスタTD、ソース線選択トランジスタTSをオンし、共通ソース線に０Ｖを印加する。プログラム（書込み）動作では、選択されたワード線に高電圧のプログラム電圧Vprog（１５〜２０Ｖ）を印加し、非選択のワード線に中間電位（例えば１０Ｖ）を印加し、ビット線選択トランジスタTDをオンさせ、ソース線選択トランジスタTSをオフさせ、「０」または「１」のデータに応じた電位をビット線GBLに供給する。消去動作では、ブロック内の選択されたワード線に０Ｖを印加し、Ｐウエルに高電圧（例えば２０Ｖ）を印加し、フローティングゲートの電子を基板に引き抜くことで、ブロック単位でデータを消去する。
【００２１】
図５は、本実施例に係るフラッシュメモリを含むシステムの一例を示す図である。本実施例のシステム２００は、ホストデバイス２１０と、当該ホストデバイス２１０に接続されたメモリモジュール２２０とを含む。ホストデバイス２１０は、特に限定されるものではないが、コンピュータ、デジタルカメラ、プリンタなどの電子装置あるいはチップセットに搭載されたチップである。メモリモジュール２２０は、図１に示したメモリコントローラ１４と同様の機能を有するメモリコントローラ２３０、およびフラッシュメモリ１００を含む。メモリコントローラ２３０は、ホストデバイス２１０とフラッシュメモリ１００間のデータ転送等を制御する。
【００２２】
本実施例のフラッシュメモリは、セキュリティの高い情報を記憶させた場合に、この情報の漏洩を防止するため、ワンタイムリードモードを備えている。ワンタイムリードモードが設定されると、電源投入後、ワンタイムリード領域に設定された情報を１回だけ読み出すことが可能になる。この状態は、次に電源が投入されるまで継続され、すなわち、電源が再投入されたとき、再び、ワンタイムリード領域に設定された情報を１回だけ読み出すことが可能になる。これにより、システムの動作中に、セキュリティの高い情報が何度も読み出されるのを防止する。
【００２３】
フラッシュメモリ１００のワンタイムリードモードを有効にするため、フラッシュメモリ１００に初期設定が成される。初期設定は、通常のコマンドとは異なる、予め規定された特定のコマンドを利用して、特定のアドレス情報がアドレス格納領域に設定され、かつセキュリティの高い機密情報がワンタイムリード領域に設定される。好ましい例では、ワンタイムリード領域に設定された機密情報は、特定のアドレス情報が一致したときにのみ１回だけ読み出すことが可能となる。
【００２４】
図６は、初期設定を説明するためのフローチャートである。先ず始めに、初期設定を行うための特定のコマンドがホストデバイス２１０からメモリモジュール２２０へ発せられる（Ｓ１００）。特定のコマンドは、通常のプログラム開始コマンド（８０ｈ、８１ｈ、８５ｈ）とは異なるコマンドであり、好ましくは、特定のユーザーまたはシステムのみが知り得る隠れコマンドである。ホストデバイス２１０から発せられた特定のコマンドがフラッシュメモリ１００のコントローラ１５０によって受け取られると、コントローラ１５０は、特定のコマンドに基づき初期設定のためのシーケンスを開始する。
【００２５】
次に、ホストデバイス２１０からフラッシュメモリ１００に対して、ワンタイムリードのためのアドレスが入力される（Ｓ１０２）。ここで、特定のコマンドが入力されたときに入力されるアドレスを、通常のアドレスと区別するため、特定アドレスと称する。特定アドレスは、行アドレス（ページアドレス）および列アドレスを含むことができるが、１ページ全体を選択する場合には行アドレス（ページアドレス）のみであってもよい。コントローラ１５０は、特定アドレスが入力されると、特定アドレスを不揮発性のアドレス格納領域に格納する（Ｓ１０４）。好ましくは、不揮発性のアドレス格納領域は、不揮発性のコンフィギュレーションレジスタ（ＣＲ）である。
【００２６】
本実施例のフラッシュメモリ１００は、図７に示すように、不揮発性のコンフィギュレーションレジスタ２４０と、揮発性のコンフィギュレーションレジスタ２５０とを有する。通常、コンフィギュレーションレジスタ２４０、２５０は、動作時にユーザーによって読出しや書込みを行うことができないが、ある特定のモードまたはコマンドの実行により読出しや書込みをすることが可能である。
【００２７】
不揮発性のコンフィギュレーションレジスタ２４０は、特定アドレスを格納するアドレス格納領域２４２と、アドレス格納領域２４２に特定アドレスが格納されたことを示すフラグ領域２４４とを含む。コンフィギュレーションレジスタ２４０はさらに、フラッシュメモリ１００の動作情報を設定する領域２４６を含む。領域２４６は、例えば、フラッシュメモリを起動するときに必要な情報が記憶される。不揮発性のコンフィギュレーションレジスタ２４０は、例えば、ＮＯＲ型またはＮＡＮＤ型の記憶素子、ＥＥＰＲＯＭ、ＭＲＡＭ、ＲｅＲＡＭ等の記憶素子などから構成され得る。
【００２８】
揮発性のコンフィギュレーションレジスタ２５０は、システム起動後に、不揮発性のコンフィギュレーションレジスタ２４０から読み出された特定アドレス等の情報を保持することができる。揮発性のコンフィギュレーションレジスタ２５０は、例えば、ＳＲＡＭ、ＤＲＡＭなどの記憶素子から構成され得る。
【００２９】
ここで留意すべきは、特定アドレスは、メモリアレイ１１０のユーザーによって使用可能なアドレス空間を示すとともに、ワンタイムリードを可能にするための識別情報でもある。また、初期設定において特定アドレスが入力されたとき、ワード線選択回路１６０は、メモリアレイ１１０のページを選択するのではなく、メモリアレイ１１０から隠された記憶領域のページを選択する。この隠された記憶領域は、不揮発性のプログラマブルな記憶領域であり、例えば、ユーザーによって利用されるメモリアレイ１１０から分離された領域に設定される。
【００３０】
図８に、初期設定の具体的な例を示す。特定のコマンドが入力され、引き続き、特定ページアドレスとして“ＰＡ＿Ｎ”が入力されるものとする。なお、特定アドレスは、ページアドレスのみを含むものとする。特定ページアドレスＰＡ＿Ｎがアドレスレジスタ１３０に入力されると、コントローラ１５０の制御下において、特定ページアドレスＰＡ＿Ｎが不揮発性のコンフィギュレーションレジスタ２４０のアドレス格納領域２４２に記憶される。
【００３１】
ページアドレスＰＡ＿Ｎは、メモリアレイ１１０のユーザーによって利用可能なアドレス空間のページであるが、ワード線選択回路１６０は、メモリアレイ１１０のページＰＡ＿Ｎを選択することなく、メモリアレイ１１０から隠された記憶領域１１２を選択するように動作する。隠された記憶領域１１２は、物理的には、メモリアレイ１１０内に形成されてもよいが、ユーザーによってアドレス指定することができない、つまりユーザーによって利用することができないデータ格納領域である。隠された記憶領域１１２は、例えば、メモリアレイ１１０と同様にＮＡＮＤストリングユニットを含むブロック内に形成され、特定のコマンドが入力されたとき、ワード線選択回路１６０によって選択可能である。また、隠された記憶領域１１２は、ＮＡＮＤストリングユニット以外の記憶素子から構成されるものであってもよい。例えば、記憶領域１１２は、ＭＲＡＭ、ＲｅＲＡＭ、ＥＥＰＲＯＭ、ＮＯＲなどの記憶素子から構成されてもよい。この場合、記憶領域１１２へのアクセスは、必ずしもワード線選択回路１６０を使用せず、他の専用の選択回路を用いるようにしてもよい。
【００３２】
再び図６に戻り、次に、ワンタイムリードのためのプログラムデータが入力される（Ｓ１０６）。このプログラムデータは、セキュリティの高い機密情報であり、例えば、セキュリティコード、暗号解読キー、プライバシー情報などである。入力されたプログラムデータは、データレジスタ１４０を介してページバッファ／センス回路１７０へ供給され、図８に示すように、隠された記憶領域１１２のページにプログラムされる。プログラムデータのサイズが１ページよりも小さい場合には、特定アドレスに従い列選択回路１８０によって選択されたビット線にのみプログラムデータが供給されるようにしてもよい。反対に、プログラムデータのサイズが１ページよりも大きい場合には、例えば、ＰＡ＿Ｎが先頭ページとして指定され、先頭ページから連続するページにプログラムデータが書込まれるようにしてもよい。このようにして、ワンタイムリードのための初期設定が終了される。
【００３３】
次に、本実施例に係るフラッシュメモリのワンタイムリード動作について説明する。コントローラ１５０は、ワンタイムリードモードを制御するためのプログラムまたはステートマシンを含む。図９は、コントローラ１５０がワンタイムリードモードを制御するときの機能的な構成を示すブロック図である。比較部３００は、フラッシュメモリ１００のページ読出しが行われるとき、アドレスレジスタ１３０に入力されたアドレスと、揮発性コンフィギュレーション２５０に保持された特定アドレスとを比較する比較部３００と、比較部３００の比較結果に基づき各部を制御する制御部３１０とを備えている。
【００３４】
制御部３１０は、後述するように、フラッシュメモリ１００のパワーアップシーケンスのときに、不揮発性コンフィギュレーションレジスタ２４０に格納された特定アドレスを、揮発性コンフィギュレーションレジスタ２５０に転送させこれを保持させるための制御Ｓ１、比較部３００により両アドレスが一致されたとき、揮発性コンフィギュレーションレジスタ２５０に保持された特定アドレスを消去するための制御Ｓ２、比較部３００により両アドレスが一致されたとき、ワード線駆動回路１６０に隠れた記憶領域１１２のページを選択させる制御Ｓ３などを実行する。
【００３５】
次に、図１０のフローチャートを参照して、本実施例のワンタイムリード動作をより詳細に説明する。この例は、初期設定のときに、特定ページアドレスが不揮発性コンフィギュレーションレジスタ２４０のアドレス格納領域２４２に設定され、列アドレスは設定されていないものとする。
【００３６】
図５に示すシステム２００が起動され、フラッシュメモリ１００に電源が投入されると（Ｓ２００）、コントローラ１５０は、パワーアップシーケンスのためのプログラムまたはステートマシンを開始する。先ず、コントローラ１５０は、コンフィギュレーション２４０をアクセスし、フラグ領域２４４に設定されたフラグをチェックし、初期設定が成されているか否かを判定する（Ｓ２０２）。初期設定がされていなければ、コントローラ１５０は、ワンタイムリードモードに移行せず、従来通りの動作を行う（Ｓ２０４）。
【００３７】
他方、フラグが設定されているとき、すなわち初期設定が完了されているとき、コントローラ１５０は、ワンタイムリードモードに移行し、ワンタイムリードの制御を行う（Ｓ２０６）。ワンタイムリードモードに移行すると、コントローラ１５０は、コンフィギュレーションレジスタ２４０に特定ページアドレスが格納されているので、内部リードコマンド「００ｈ」を実行する（Ｓ２０８）。「００ｈ」の実行により、不揮発性コンフィギュレーションレジスタ２４０のアドレス格納領域２４２から特定ページアドレスが読み出され（Ｓ２１０）、特定ページアドレスが揮発性のコンフィギュレーションレジスタ２５０に保持される（Ｓ２１２）。特定ページアドレスＰＡ＿Ｎが揮発性コンフィギュレーションレジスタ２５０の設定された様子を図１１Ａに示す。ステップＳ２１２までがパワーアップシーケンスによって行われる処理である。
【００３８】
その後、ホストデバイス２１０からフラッシュメモリ１００に対して読出し動作が行われる（Ｓ２１４）。読出し動作は、従来と同様であり、フラッシュメモリ１００は、ホストデバイス２１０から読出しコマンドおよびアドレスを受け取る。読出し動作に応答して、コントローラ１５０は、内部リードコマンド「３０ｈ」を実行する（Ｓ２１６）。このコマンドの実行により、アドレスレジスタ１３０に入力されたアドレスが読み出される。
【００３９】
次に、比較部３００は、揮発性コンフィギュレーションレジスタ２５０に保持された特定ページアドレスと、アドレスレジスタ１３０から読み出されたページアドレスを比較し、両アドレスが一致するか否かを判定する（Ｓ２１８）。もし、アドレスが一致しなければ、通常のページ読出しが実施される（Ｓ２２０）。すなわち、入力されたページアドレスがワード線選択回路１６０によって選択され、選択されたページのデータがページバッファ／センス回路１７０へ転送され、入出力バッファ１２０を介してホストデバイス２１０へ出力される。図１１Ｂは、ページアドレスとしてＰＡ０１が入力された例を示している。ページアドレスＰＡ０１は、特定アドレスＰＡ＿Ｎと不一致であるため、ワード線選択回路１６０は、ページアドレスＰＡ０１を選択し、ページアドレスＰＡ０１のデータが読み出される。
【００４０】
一方、比較部３００によって、入力されたページアドレスと特定アドレスとが一致すると判定された場合（Ｓ２１８）、コントローラ１５０（制御部３００）は、ワード線選択回路１６０に、隠された記憶領域１１２のページを選択させ、記憶領域１１２に記憶されたデータがページバッファ／センス回路１７０へ転送される（Ｓ２２２）。さらに制御部３００は、揮発性コンフィギュレーションレジスタ２５０に保持された特定ページアドレスを消去させ、または無効にする（Ｓ２２４）。そして、入出力バッファ１２０から、記憶領域１１２のページに記憶されていたデータが読み出される（Ｓ２２６）。
【００４１】
図１１Ｃは、ページアドレスとしてＰＡ＿Ｎが入力された例を示している。入力されたページアドレスＰＡ＿Ｎは、特定ページアドレスＰＡ＿Ｎと一致するため、ワード線選択回路１６０は、隠された記憶領域１１２のページを選択し、当該ページに記憶されたデータがページバッファ／センス回路１７０へ転送される。このとき、メモリアレイ１１０のページアドレスＰＡ＿Ｎは選択されないことに留意すべきである。
【００４２】
このように、特定ページアドレスに一致するページアドレスが入力されると、隠された記憶領域１１２のページに記憶されたデータが読み出されるが、この読出しは、１回のみに制限されることになる。つまり、特定ページアドレスに一致するページアドレスが１回入力されると、揮発性コンフィギュレーションレジスタ２５０に保持された特定ページアドレスが消去ないし無効にされるため、仮に、もう一度、特定ページアドレスに一致するページアドレスが入力されたとしても、比較部３００は、両アドレスが不一致と判定し、両アドレスが一致すると判定しない。このため、ワード線選択回路１６０は、隠された記憶領域１１２のページを選択しない。図１１Ｄは、ワンタイムリードが行われた後に、特定アドレスに一致するページアドレスが入力されたときの例を示している。ページアドレスＰＡ＿Ｎが入力されたとき、比較部３００は、揮発性コンフィギュレーションレジスタ２５０によって特定ページアドレスが事実上保持されていないことになるため、両アドレスが不一致と判定する。従って、ワード線選択回路１６０は、隠された記憶領域１１２のページを選択するのではなく、メモリセル１１０のページアドレスＰＡ＿Ｎを選択し、このページＰＡ＿Ｎに記憶されたデータの読み出しが行われる。
【００４３】
本実施例によれば、セキュリティコード、暗号解読キーあるいはプライバシーデータなどの非常に機密性の高い情報をフラッシュメモリに記憶させた場合に、そのような機密性の高い情報の読出し回数が１回に制限されるので、重要な情報が簡単に読み出されたり、コピーされるのを防止することができる。さらに、ダミーデータを、ユーザーエリアであるメモリアレイ１１０のページアドレスＰＡ＿Ｎにプログラムすることで、システムは、悪意のあるアクセスや違法なアクセスによってダミーデータが読み取られた時、ダミーデータを利用して違法なアクセスを追跡することができる。
【００４４】
上記した図１０に示す例では、コンフィギュレーション２４０にフラグを設定し、フラグが設定されているときにワンタイムリードモードに移行する例を示したが（Ｓ２０２、Ｓ２０６）、このようなフラグの設定やフラグによる判定は、必ずしも必須ではない。他の好ましい態様では、フラッシュメモリ１００は、パワーオンされたとき、フラグの設定とは無関係にワンタイムリードまたは通常の動作を選択的に実行することができる。ワンタイムリードを実行させないとき、すなわち不揮発性コンフィギュレーションレジスタ２４０への初期設定が行われていないとき、不揮発性コンフィグレーションレジスタ２４０のアドレス格納領域２４２は、デフォルトなので消去状態のアドレス情報（すべてＦのデータ）が揮発性コンフィギュレーションレジスタ２５０に転送されることになる。この消去状態のページアドレス情報は、ユーザーが選択し得るアドレス情報と一致することがない場合、必然的に通常の読出し動作が行われることになる。他方、アドレス格納領域２４２に特定アドレスが設定されていれば、上記と同様の動作により、特定アドレスとユーザーが選択したアドレスが一致したときのみ隠された記憶領域のデータが読み出される。
【００４５】
次に、本発明の第２の実施例について説明する。上記実施例は、ワンタイムリードの例を示したが、第２の実施例は、限られた複数の回数の読出しを可能にするものである。図１２は、第２の実施例の機能的な構成を示すブロック図である。第２の実施例では、比較部３００による両アドレスの一致回数をカウントするカウンタ３２０が追加される。カウンタ３２０は、両アドレスの一致回数が予め決められた回数Ｎに到達したとき、それを制御部３００へ通知する。制御部３００は、当該通知に応答して、揮発性コンフィギュレーションレジスタ２５０に保持された特定ページアドレスを消去ないし無効にする。これにより、隠された記憶領域１１２に記憶されたデータを限られた回数Ｎだけ読み出すことが可能になる。
【００４６】
本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００４７】
上記実施例では、初期設定される特定ページアドレスがユーザー領域であればどこでも設定可能であるため、アドレスマッピングの自由度を拡大することができる。また、上記実施例は、特定ページアドレスをコンフィギュレーションレジスタに記憶する例を示したが、特定アドレスは、必ずしもコンフィギュレーションレジスタに限らず、他の記憶領域であってもよい。さらに上記実施例は、フラッシュメモリが実行する内部リードコマンドとして「００ｈ」、「３０ｈ」を例示したが、これに限らず、レジスタに設定されたページアドレスを読み出すことができるコマンドまたは制御信号であればよい。
【００４８】
さらに上記実施例では、１つの特定ページアドレスを例示したが、これに限らず、複数の特定ページアドレスを用い、複数の特定ページページアドレスに対応する記憶領域１１２のそれぞれにデータをプログラムするようにしてもよい。
【符号の説明】
【００４９】
１００：フラッシュメモリ
１１０：メモリアレイ
１２０：入出力バッファ
１３０：アドレスレジスタ
１４０：データレジスタ
１５０：コントローラ
１６０：ワード線選択回路
１７０：ページバッファ／センス回路
１８０：列選択回路
１９０：内部電圧発生回路
２００：システム
２１０：ホストデバイス
２２０：メモリモジュール
２４０：不揮発性コンフィギュレーションレジスタ
２４２：アドレス格納領域
２４４：フラグ領域
２５０：揮発性コンフィギュレーションレジスタ
３００：比較部
３１０：制御部
３２０：カウンタ
BL:ビット線
SL：共通ソース線
TD:ビット線選択トランジスタ
TS:ソース線選択トランジスタ
SGD、SGS：選択ゲート線
【図１】
2015215930.tif 000003
【図２】
2015215930.tif 000004
【図３】
2015215930.tif 000005
【図４】
2015215930.tif 000006
【図５】
2015215930.tif 000007
【図６】
2015215930.tif 000008
【図７】
2015215930.tif 000009
【図８】
2015215930.tif 000010
【図９】
2015215930.tif 000011
【図１０】
2015215930.tif 000012
【図１１Ａ】
2015215930.tif 000013
【図１１Ｂ】
2015215930.tif 000014
【図１１Ｃ】
2015215930.tif 000015
【図１１Ｄ】
2015215930.tif 000016
【図１２】
2015215930.tif 000017