(57)【要約】【課題】不揮発性メモリに保持されているデータの機密性をより高めることができる不揮発性メモリモジュールを提供する。【解決手段】モード名を記憶しているモードレジスタ７と、モード名と非公開の鍵穴モードＩＤとメモリアクセスの内容を対応させて記憶している非公開の第１モードテーブル４と、非公開の鍵モードＩＤを受信するメモリＩ／Ｆ部２と、第１モードテーブル４からモード名に対応する鍵穴モードＩＤを取得し鍵モードＩＤと鍵穴モードＩＤが一致するか否か判定するアクセス制御部８と、この判定によりモード名に対応するメモリアクセスを実行する不揮発性メモリ部９とを不揮発性メモリモジュール１は有する。【選択図】図１
2006252449.tif 000002
【特許請求の範囲】
【請求項１】
モード名を記憶しているモードレジスタと、
前記モード名と非公開の鍵穴モードＩＤとメモリアクセスの内容を対応させて記憶している非公開の第１モードテーブルと、
非公開の鍵モードＩＤを受信するメモリＩ／Ｆ部と、
前記第１モードテーブルから前記モード名に対応する前記鍵穴モードＩＤを取得し、前記鍵モードＩＤと前記鍵穴モードＩＤが一致するか否か判定するアクセス制御部と、
前記判定により、前記モード名に対応する前記メモリアクセスを実行する不揮発性メモリ部とを有することを特徴とする不揮発性メモリモジュール。
【請求項２】
電源のＯＮにより、前記第１モードテーブルに記憶された前記モード名と前記鍵穴モードＩＤと前記メモリアクセスの内容を消去するモード制御部をさらに有することを特徴とする請求項１に記載の不揮発性メモリモジュール。
【請求項３】
前記メモリＩ／Ｆ部が前記モード名と前記鍵穴モードＩＤと前記メモリアクセスの内容を非公開の鍵シーケンスにより受信し、前記テーブル鍵シーケンスと非公開のテーブル鍵穴シーケンスに一致するか否か判定し、
前記判定により前記モード制御部が前記第１モードテーブルに前記モード名と前記鍵穴モードＩＤと前記メモリアクセスの内容に応じた記憶編集をさせることを特徴とする請求項２に記載の不揮発性メモリモジュール。
【請求項４】
メモリＩ／Ｆ部が前記鍵モードＩＤを受信し、
前記モード制御部が前記第１モードテーブルから前記鍵モードＩＤに一致する前記鍵穴モードＩＤを検索し、前記検索により前記モードレジスタに前記鍵穴モードＩＤに対応する前記モード名を記憶させることを特徴とする請求項２又は請求項３に記載の不揮発性メモリモジュール。
【請求項５】
請求項１に記載の前記不揮発性メモリモジュールと、
前記モード名と前記鍵穴モードＩＤと前記メモリアクセスの内容を対応させて記憶している非公開の第２モードテーブルを有し、前記第２のモードテーブルに記憶された前記鍵穴モードＩＤに一致する前記鍵モードＩＤを前記不揮発性メモリモジュールへ送信するアクセスシステムとを有することを特徴とする不揮発性メモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリを有し、不用意なメモリデータの参照および改竄がされることのない汎用的な保護機能を有する不揮発性メモリモジュールおよびこの不揮発性メモリモジュールを有する不揮発性メモリシステムに関する。
【背景技術】
【０００２】
近年、情報化社会の急速な発展により大容量のデータを記憶できる大容量の不揮発性メモリを使用した機器が数多く出回るようになっている。不揮発性メモリは、電源供給が遮断された後もデータを保持する特長を持つため、不揮発性メモリ内に保持されている大容量のデータは、常時、再利用可能な状態になっている。したがって、不揮発性メモリに保持されているデータを機密にしたくとも、不正に読み出されたり、データを改竄されたりする可能性があると考えられる。そこで不揮発性メモリに保持されているデータの機密性を確保する方法が提案されている（例えば、特許文献１乃至３参照。）。
【特許文献１】特開２００２−２１５４５８号公報
【特許文献２】特開２００３−３３１２４１号公報
【特許文献３】特開平１１−２３２８８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、不揮発性メモリに保持されているデータの機密性をより高めることができる不揮発性メモリモジュールを提供することにある。
【０００４】
また、本発明の目的は、不揮発性メモリに保持されているデータの機密性をより高めることができる不揮発性メモリシステムを提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するための本発明の第１の特徴は、モード名を記憶しているモードレジスタと、モード名と非公開の鍵穴モードＩＤとメモリアクセスの内容を対応させて記憶している非公開の第１モードテーブルと、非公開の鍵モードＩＤを受信するメモリＩ／Ｆ部と、第１モードテーブルからモード名に対応する鍵穴モードＩＤを取得し鍵モードＩＤと鍵穴モードＩＤが一致するか否か判定するアクセス制御部と、この判定によりモード名に対応するメモリアクセスを実行する不揮発性メモリ部とを有する不揮発性メモリモジュールにある。
【０００６】
また、本発明の第２の特徴は、本発明の第１の特徴の不揮発性メモリモジュールと、モード名と鍵穴モードＩＤとメモリアクセスの内容を対応させて記憶している非公開の第２モードテーブルを有し第２のモードテーブルに記憶された鍵穴モードＩＤに一致する鍵モードＩＤを不揮発性メモリモジュールへ送信するアクセスシステムとを有する不揮発性メモリシステムにある。
【発明の効果】
【０００７】
以上説明したように、本発明によれば、不揮発性メモリに保持されているデータの機密性をより高めることができる不揮発性メモリモジュールを提供できる。
【０００８】
また、本発明によれば、不揮発性メモリに保持されているデータの機密性をより高めることができる不揮発性メモリシステムを提供できる。
【発明を実施するための最良の形態】
【０００９】
次に、図面を参照して、本発明の実施の形態について説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。また、図面は模式的なものであり、厚みと平面寸法との関係、各層の厚みの比率等は現実のものとは異なることに留意すべきである。
【００１０】
（不揮発性メモリの機密性に関する検討）
不揮発性メモリは、データを明示的に消去しない限り、データは保持される。保持されたデータは、機密にしたくとも、不正に読み出されたり、データを改竄されたりする可能性がある。
【００１１】
不揮発性メモリを有する不揮発性メモリシステムに対してパスワード認証を設けるなどして不揮発性メモリへのアクセスを制限することが考えられるが、不揮発性メモリシステムに内蔵され不揮発性メモリを有する不揮発性メモリモジュールが、不揮発性メモリシステムから取り出されて不揮発性メモリモジュールに直接アクセスされることも考えられるため、機密性が保証されない。そこで、機密性を高めるためにメモリアクセス時に不揮発性メモリモジュール固有のパスワードを用いて認証を行うロジックを不揮発性メモリモジュールに組み込む方法が考えられるが、以下に示す問題により必ずしも高い機密性があるとはいえない。
【００１２】
第１の問題は、パスワードが固有であるので、パスワードの照合を何度も試行することによってパスワードが解析される危険性があることである。
【００１３】
第２の問題は、不揮発性メモリモジュールに固有のパスワードを組み込んでいる場合、パスワードが漏洩された場合には、以後の不正アクセスを抑制できないことである。
【００１４】
また、第３の問題として、いったんパスワードの認証が終われば、不揮発性メモリの全メモリ領域へのアクセスを許容するという単純な方法にした場合には、パスワード認証前にアクセス可能な領域を設けゲストユーザのメモリ利用を可能にするという利便性が制限されることである。
【００１５】
そこで以下の実施例１と２では、以下の４つの具体的な課題を解決している。
【００１６】
（１）電源供給が遮断された後の、不揮発性メモリの中の機密データが格納されているメモリ領域のアクセス制限を施す。
【００１７】
（２）不正アクセスのための解析を行えないようにする。
【００１８】
（３）アクセスの為の認証手続きを絶えず変更できるようにする。
【００１９】
（４）アクセス制限の対象データおよび制限レベルを任意に指定できるようにする。
【実施例１】
【００２０】
図１に示すように、実施例１に係る不揮発性メモリモジュール１は、メモリインターフェース（Ｉ／Ｆ）部２、モード制御部３、非公開のモードテーブル４、レジスタ部５、アクセス制御部８と不揮発性メモリ部９を有している。さらに、レジスタ部５は、ステータスレジスタ６とモードレジスタ７を有している。
【００２１】
メモリＩ／Ｆ部２は、不揮発性メモリ部ヘのアクセスの窓ロとなる。メモリＩ／Ｆ部２は、メモリアクセスに関してはメモリ部９のメモリアクセス手段を包含する。
【００２２】
モードテーブル４は、その存在が非公開にされ、アクセス制限のための各種モード情報が格納される。
【００２３】
モードレジスタ７は、不揮発性メモリモジュール１の現時点でアクセス可能なアクセスモードの識別子であるモード名やモードＩＤ等を格納する。
【００２４】
モード制御部３は、モードテーブル４とモードレジスタ７の編集を行う。
【００２５】
アクセス制御部８は、メモリＩ／Ｆ部２からのメモリアクセスの要求に対して現在のモード情報をモードレジスタ７とモードテーブル４より参照してアクセス制御を行う。
【００２６】
ステータスレジスタ６は、メモリモジュール１のステータス情報を格納する。
【００２７】
不揮発性メモリ部９は、不揮発性メモリ本体である。不揮発性メモリとしては、DRAMと同様なメモリアクセスが可能な不揮発性メモリを想定することができる。さらに、具体的には、強誘電体メモリ、例えばFeRAMなどが考えられる。以下では、各機能ブロックの詳細を説明する。
【００２８】
（メモリＩ／Ｆ部２）
メモリＩ／Ｆ部２は、メモリモジュール１の外部からのアクセス、具体的には、通常メモリアクセスＤ１、情報参照アクセスＤ２、特殊アクセスＤ３があったときに、ステータスレジスタ６よりステータス情報を参照し、アクセスの可否を判断してから他の機能ブロック、モード制御部３やアクセス制御部８ヘ、モード変更通知やメモリアクセス通知を行う。
【００２９】
ここで、通常メモリアクセスＤ１とは、メモリ部９のアドレスを指定した読み出しおよび書き込みを指す。情報参照アクセスＤ２とは、ステータスレジスタ６に記憶されたメモリモジュール１のステータスの参照と、モードレジスタ７に記憶されたアクセスモード名の参照を指す。そして、特殊アクセスとは、アクセスの制限・制御を行うためのアクセスモード登録やモードテーブルの初期化などの通常行わないアクセスを指す。
【００３０】
メモリＩ／Ｆ部２は一般的なSRAMと同様のメモリアクセスを受け付けることが可能な信号線を有すればよいが、本発明においてはこれに限るわけではなく、通常のメモリアクセスを実現する既存の信号群によって構成することも可能である。
【００３１】
メモリＩ／Ｆ部２からメモリ部９へのアクセスはアクセス制御部８を介して行われるため、アクセス制御部８によるメモリアクセスのための許可が得られない場合には、アクセス制御部８からメモリＩ／Ｆ部２へメモリアクセスがNGである旨が通知される。この通知方法には、専用の信号線を用意したりステータスを格納したステータスレジスタ６を参照可能にしたりするなど様々な実装方法に伴い様々な通知方法があるが、その通知方法は限定しない。なお、メモリアクセスがＮＧである要因はメモリアクセス許可がない他に、メモリ部９内でのアクセスエラーなどがあり、これらを識別するためにも、メモリアクセスのための許可が得られない場合には、アクセス制御部８からメモリＩ／Ｆ部２へメモリアクセスがNGである旨が通知される。そして、メモリアクセスがNGの通知があった場合は、ステータスレジスタ６のステータスを参照することによってメモリアクセスがＮＧであることの原因を確認することができる。
【００３２】
メモリＩ／Ｆ部２は、通常のメモリアクセスＤ１に対応する通常のメモリアクセス手段の他に、特殊アクセスＤ３に対応するモード情報の編集受付手段と、モード切り替え受付手段を有する。
【００３３】
モード情報の編集受付手段は、メモリモジュール１が通常のメモリアクセスで用いられる動作環境とは異なる動作環境、例えば、通常のメモリアクセスで用いられる電源電圧より高い電源電圧のもとで動作されたり、あるいは、特殊アクセスＤ３がプロセッサ等によって特殊な動作シーケンスでアクセスされたりすることにより、特殊アクセスＤ３を受け付けるものとする。モード情報の編集受付手段は、メモリモジュール１毎に固有の仕様を持ってもよい。例えば、ある信号線に通常のメモリアクセスのときより高い電圧を与え、さらに、あるアドレスに対して特殊のコマンドとモードテーブル４に格納し登録するアクセスモードのモード情報の各種属性情報を連続して与えるといった動作シーケンスなどからなる仕様を持っていても良い。実施例１では他人に解読されにくい仕様であれば、どんな仕様であってもかまわない。
【００３４】
このように、このモード情報の編集受付手段を非公開にし、通常のメモリアクセス時の動作環境で実行されないようにすることで、不正なメモリアクセスに対する機密性を確保できる。
【００３５】
モード切り替えの受付手段については、公開される特殊な動作シーケンスで、モード切り替えの受付手段がアクセスされることにより、モード切り替えの受付手段がモード制御部３にモード変更通知を通知し、モード制御部３がモードテーブル４に格納・登録されている中のアクセスモードへ、モードレジスタ７に記憶された現在のアクセスモードを切り換える。モード切り替えの受付手段への特殊アクセスＤ３のアクセス方法も、特殊な動作シーケンスでメモリモジュール１毎に固有の仕様を持つ。例えば、モード切り替え用の信号線を用意し、これをアサートしている間にあるアドレスに対して、切り換えるモードIDを与えるといった動作シーケンスなどの仕様が考えられる。実施例１ではその仕様の詳細についての説明は省略する。もちろん、メモリＩ／Ｆ部２は、特殊動作シーケンスを受け付けるための信号線などの手段を持つことは言うまでもない。
【００３６】
なお、モード情報の編集を行うために特殊な動作シーケンスを有する特殊アクセスＤ３が、メモリＩ／Ｆ部２に受信されるが、受信された特殊アクセスＤ３が誤った動作シーケンスである場合、特殊アクセスＤ３の許容範囲外である場合や、モード切り替え時にモードテーブルに登録されていないモードIDのアクセスモードへの切り替え要求があった場合には、モード制御部８を通じて、メモリモジュール１がリセットされるまで今後一切のメモリモジュール１へのアクセスを拒否するステータス状態にステータスレジスタ６を移行したり、メモリＩ／Ｆ部２がダミーの応答を返したりすることも可能である。
【００３７】
ここで、ダミーの応答を返すということは、正常に動作が完了したのか、不正動作を検出してエラーとなったのかの判別を困難にすることを目的とする。たとえば、モードテーブルに格納されていないモードIDを使用してモード切り替えを行い(この時点で不正動作を検出)、その後ある領域のデータを読み出した場合にはダミーデータ、たとえば、すべて1のデータ等のあたかも正常な応答データであるかのようなダミーデータを、メモリＩ／Ｆ部２がメモリモジュール１の外部に送信することなどが考えられる。
【００３８】
（モードレジスタ７）
現在のアクセスモードのモード情報を格納するレジスタ。実施例１では単純にモード名あるいはモードIDのみ格納するレジスタとして説明を行う。なお、その他のモード情報であるモード属性を付加情報として同時に格納したり、モードIDを使用せずにモードテーブル４のテーブル行番号など様々な方法をとったりすることが可能であることは言うまでもない。つまり、モードレジスタ７にはアクセスモードを一意に識別できる情報を格納してさえいれば良い。また、特殊モードとしてモードテーブル４の編集の状態を示す情報も格納することもできる。
【００３９】
（モードテーブル４）
図2に示すように、モードテーブルには、カラム項目として、モード名、モードＩＤ、アクセス属性、ベースオフセットアドレス、サイズ、電源ＯＮ時データ保持、リセット時データ保持を持つ。なお、以下で示すカラム項目の組み合わせでなくとも同様のメモリアクセスの内容であるモード属性を指定できるあらゆる構成のテーブルも本発明の範囲内に含有されるものであることは言うまでもない。なお、モードテーブル４はモード制御部３によってのみ編集され、アクセス制御部８によってのみ参照される。メモリＩ／Ｆ部２を通じてモードテーブル４が参照されることはない。このことにより、モードテーブル４を非公開にすることができる。モード名、モードＩＤ、アクセス属性、ベースオフセットアドレス、サイズ、電源ＯＮ時データ保持、リセット時データ保持によってアクセスモード毎のモード情報が構成される。モードテーブル４を非公開にすることにより、モード情報も非公開にすることができる。
【００４０】
モード名は、アクセスモード毎の識別子である。モードテーブル４は、モード名から、そのモード名のアクセスモードに対応するモード情報を抽出し出力することができる。なお、モード名の識別子としての機能をモードＩＤに持たせることにより、モード名をモードテーブルから省くことができる。
【００４１】
モードIDは、メモリＩ／Ｆ部２のモード切り替え受け付け手段に送信する情報であり、このモードＩＤはモード切り替え先のアクセスモードのＩDとモード切り替え受け付けのパスワードを兼用することになる。なお、モードＩDのモードテーブル４への登録制限については、同一のモードＩDの登録を許可してモードテーブル４参照時に最初にヒットしたモードＩDのモード情報を優先するか、同一モードＩDの登録自体を許可しないなど、いくつかの登録方法および取り扱い方法がある。すなわち、モードテーブル４に登録済みのあるモードＩDの指定に対して、モードテーブル４が一組のモード情報のセットまたは指定された個々の情報が選択されることが保証できる方法であればどのような方法でも許容されることは言うまでもない。
【００４２】
アクセス属性では、読み出しのみ(R)、書き込みのみ(W)、読み出しと書き込みの両方(R/W)のように、メモリ部９が持つアクセス方法およびアクセス方法の組み合わせを指定する。
【００４３】
ベースオフセットアドレスでは、アクセス制御の対象となるメモリ部９内のメモリ領域のベースアドレスを指定する。実施例１ではメモリ先頭からのオフセットアドレスとしている。
【００４４】
サイズでは、アクセス制御の対象となるメモリ部９内のメモリ領域の大きさを指定する。
【００４５】
電源ON時(テーブル初期化時)データ保持では、アクセスモード毎に対応するデータをメモリモジュール１の電源ONの時にデータ保持するか否かの識別子を指定する。モードテーブル４は、メモリモジュール１の電源ON時に基本的にモード情報を破棄し消去するので、図２に示すように、識別子×が指定されている。このように、モード情報を消去しモードテーブル４を初期化することで、メモリ部９へのアクセス方法を機密にすることができる。例外として、図2のモードテーブルの最初の行に記述されているすべての通常メモリアクセスを拒否するデフォルトモードと、この電源ON時データ保持のカラム項目に電源ON時にデータ保持するように指定され識別子○が付されたアクセスモードはモード情報を破棄しない。
【００４６】
テーブルリセット時データ保持では、テーブルリセット要求がモード制御部３よりあったときにデータを保持するアクセスモードであるか否かの識別子を指定する。なお、テーブルリセット時データ保持の情報は編集し変更することはできない。デフォルトモードでは、テーブルリセット時データ保持の識別子として、必ずデータ保持を行う識別子○が指定され、その他の登録されるアクセスモードでは必ずデータ保持しない識別子×が設定されることになる。
【００４７】
したがって、モードテーブル４を実現する記憶装置は以下のように構成することができる。まず、電源ＯＮ時データ保持でデータ保持ありの識別子○であり、リセット時データ保持でデータ保持ありの識別子○であるケース１のデフォルトモードの場合は、デフォルトモードのモード情報は不揮発性記憶装置に記憶する。不揮発性記憶装置の具体例としては、ＥＥＰＲＯＭまたはバッテリバックアップ付きのＳＲＡＭ等が適当である。次に、電源ＯＮ時データ保持でデータ保持ありの識別子○であり、リセット時データ保持でデータ保持なしの識別子×であるケース２のアクセスモードの場合は、アクセスモードのモード情報は不揮発性記憶装置に記憶する。なお、この不揮発性記憶装置は、リセット時に明示的なモード情報の消去処理機能を有する。ケース３の電源ＯＮ時データ保持でデータ保持なしの識別子×であり、リセット時データ保持でデータ保持ありの識別子○であるアクセスモードの場合は、アクセスモードのモード情報は揮発性記憶装置に記憶する。なお、揮発性記憶装置の具体例としては、ＳＲＡＭ等の電源ＯＮ時データ保持するデバイスが適当である。最後のケース４の電源ＯＮ時データ保持でデータ保持なしの識別子×であり、リセット時データ保持でデータ保持なしの識別子×であるアクセスモードの場合は、アクセスモードのモード情報は揮発性記憶装置例えばＳＲＡＭに記憶する。なお、この揮発性記憶装置は、リセット時に明示的なモード情報の消去処理機能を有する。なお、ケース１乃至４の組み合わせに限定することはなく特許請求の範囲に記載された発明の範囲内で、他の特徴を持つメモリデバイスヘ変更可能である。さらには単一のメモリデバイスでモードテーブル４だけでなく、メモリ部９、モードレジスタ７、ステータスレジスタ６を実現することも可能である。そしてそれらも本発明の範囲内に含有されるものであることは言うまでもない。
【００４８】
（モード制御部３）
モード制御部３は、メモリＩ／Ｆ部２からの指示に従ってモードレジスタ７とモードテーブル４の編集を行う。なお、モード制御部３の処理の開始から終了を確認できるようにするため、処理の間はステータスレジスタ６に「モード制御BUSY」をセットする。
【００４９】
モードレジスタ７を編集するタイミングは、メモリＩ／Ｆ部２から通知される。モードレジスタ７を編集するための通知は、（１）初期化通知、（２）特殊アクセス通知、（３）モード切り替え通知の3つある。なお、（１）初期化通知と（２）特殊アクセス通知においては、編集処理終了後に認証待ちモードとなるようにモードレジスタ７を設定する。認証待ちモードとは、モードテーブル４のデフォルトモードに設定されているメモリアクセス不可のアクセス属性をもつモードのことである。（１）初期化通知、（２）特殊アクセス通知、（３）モード切り替え通知の3つ通知をともなうメモリモジュール１の動作を説明する。
【００５０】
（１）初期化通知は、図４に示すように、メモリモジュール１の電源ＯＮ時の動作にともなっている。まず、ステップＳ１で、メモリモジュール１を有するシステムや人間によりメモリモジュール１の電源がＯＮされると、メモリＩ／Ｆ部２が電源ＯＮ信号を受信する。
【００５１】
ステップＳ２で、メモリＩ／Ｆ部２が、モード制御部３に初期化通知を送信する。
【００５２】
ステップＳ３で、モード制御部３が、ステータスレジスタ６のステータスをモード制御ＢＵＳＹに移行させる。
【００５３】
ステップＳ４で、モード制御部３が、モードテーブル４を初期化する。例えば、図２のモードテーブル４においては、電源ＯＮ時データ保持の識別子が×であるモード名Ｃ乃至Ｅのモード情報を消去する。
【００５４】
ステップＳ５で、モード制御部３が、モードレジスタ７を認証待ちモードのデフォルトモードに切り換える。具体的には、モードレジスタ７に図２のモード名ＡあるいはモードＩＤ００００を記憶させる。
【００５５】
ステップＳ６で、モード制御部３が、ステータスレジスタ６のステータスをモード制御ＲＥＡＤＹに移行させる。以上で、メモリモジュール１の電源ＯＮ時の動作が終了する。
【００５６】
（２）特殊アクセス通知は、図５と図６に示すように、メモリモジュール１のモードテーブル４の設定時の動作にともなっている。まず、ステップＳ１１で、メモリモジュール１を有するシステムや人間によりプロセッサを介してモード登録されると、メモリＩ／Ｆ部２が、アクセスモード登録のための非公開の特殊シーケンス信号をプロセッサから受信する。
【００５７】
ステップＳ１２で、メモリＩ／Ｆ部２が、ステータスレジスタ６のステータスを参照し、ステータスがＲＥＡＤＹ状態か、ＢＵＳＹ状態やアクセス拒否状態か判定する。ＲＥＡＤＹ状態の場合はステップＳ１３に進み、ＢＵＳＹ状態やアクセス拒否状態の場合はプロセッサからのモード登録の要求はキャンセルされ、メモリモジュール１のモードテーブル４の設定時の動作は終了する。
【００５８】
ステップＳ１３で、メモリＩ／Ｆ部２が、プロセッサからのアクセスモード登録のための特殊シーケンス信号が、正しいアクセスシーケンスか否か判定する。アクセスシーケンスが正しければ、メモリＩ／Ｆ部２が、モード制御部３へ特殊アクセス通知を送信し、ステップＳ１４に進む。アクセスシーケンスが正しくなければ、ステップＳ２１に進む。
【００５９】
ステップＳ１４で、モード制御部３が、ステータスレジスタ６のステータスをモード制御ＢＵＳＹに移行させる。
【００６０】
ステップＳ１５で、モード制御部３が、モードレジスタ７のモードをモードテーブル切り替えモードに設定する。
【００６１】
ステップＳ１６で、メモリＩ／Ｆ部２が、登録するモード情報をプロセッサから非公開の特殊シーケンス信号により入力する。
【００６２】
ステップＳ１７で、メモリＩ／Ｆ部２が、プロセッサから受信した特殊シーケンス信号が正しいアクセスシーケンスか否か判定する。正しいアクセスシーケンスであれば、メモリＩ／Ｆ部２が、モード制御部３へ特殊アクセス通知を送信し、ステップＳ１８に進む。正しくなければ、ステップＳ２１に進む。
【００６３】
ステップＳ２１で、モード制御部３が、ステータスレジスタ６に、今後全てのメモリモジュール１の外部からメモリＩ／Ｆ部２へのアクセスを拒否するアクセス拒否状態のフラグをセットする。そして、メモリモジュール１のモードテーブル４の設定時の動作を終了させる。
【００６４】
ステップＳ１８で、モード制御部３が、モードテーブル４に登録を許容したモード情報を記憶させる。
【００６５】
ステップＳ１９で、モード制御部３が、モードレジスタ７を認証待ちモードに切り換える。
【００６６】
ステップＳ２０で、モード制御部３が、ステータスレジスタ６のステータスをモード制御ＲＥＡＤＹに移行させる。以上で、メモリモジュール１のモードテーブル４の設定時の動作が終了する。
【００６７】
（３）モード切り替え通知は、図７と図８に示すように、メモリモジュール１のモード切り替え時の動作にともなっている。まず、ステップＳ３１で、メモリモジュール１を有するシステムや人間によりプロセッサを介してモード切り換えされる。メモリＩ／Ｆ部２が、モード切り替えのための非公開の特殊シーケンス信号により切り換える先のアクセスモードのモードＩＤを入力する。
【００６８】
ステップＳ３２で、メモリＩ／Ｆ部２が、モード制御部３へモードＩＤとモード切り替え通知を送信する。
【００６９】
ステップＳ３３で、メモリＩ／Ｆ部２が、ステータスレジスタ６のステータスを参照し、ステータスがＲＥＡＤＹ状態か、ＢＵＳＹ状態やアクセス拒否状態か判定する。ＲＥＡＤＹ状態の場合はステップＳ３４に進み、ＢＵＳＹ状態やアクセス拒否状態の場合はプロセッサからのモード切り替え要求はキャンセルされ、メモリモジュール１のモード切り替え時の動作は終了する。
【００７０】
ステップＳ３４で、モード制御部３が、ステータスレジスタ６のステータスをモード制御ＢＵＳＹに移行させる。
【００７１】
ステップＳ３５で、モード制御部３が、切り換える先の指定されたモードＩＤがモードテーブル４に登録されているか判定する。登録されていればステップＳ３６に進み、登録されていなければ、ステップＳ３８に進む。
【００７２】
ステップＳ３８で、モード制御部３が、ステータスレジスタ６に、今後全てのメモリモジュール１の外部からメモリＩ／Ｆ部２へのアクセスを拒否するアクセス拒否状態のフラグをセットする。そして、メモリモジュール１のモード切り替え時の動作を終了させる。
【００７３】
ステップＳ３６で、モード制御部３が、モードレジスタ７に指定されたモードＩＤあるいは、指定されたモードＩＤに対応するアクセスモードを識別可能なモード名等のモード情報を設定する。
【００７４】
ステップＳ３７で、モード制御部３が、ステータスレジスタ６のステータスをモード制御ＲＥＡＤＹに移行させる。以上で、メモリモジュール１のモード切り替え時の動作が終了する。
【００７５】
（アクセス制御部８）
図９と図１０に示すように、アクセス制御部８が関わるメモリモジュール１のメモリアクセス時の動作を説明する。
【００７６】
まず、メモリアクセス時の動作に先立って、モードレジスタ７に記憶されている現在のアクセスモードを参照することができる。ステップＳ４１で、メモリＩ／Ｆ部２が、メモリモジュール１を有するシステムや人間によりプロセッサを介してモード確認され、プロセッサからメモリＩ／Ｆ部２に情報参照アクセスＤ２が送信される。ステップＳ４２で、メモリＩ／Ｆ部２が、モードレジスタ７に記憶されている現在のアクセスモードを参照し、プロセッサに参照したアクセスモードを送信する。
【００７７】
また、メモリアクセス時の動作に先立って、ステータスレジスタ６に記憶されている現在のステータスを参照することができる。ステップＳ５１で、メモリＩ／Ｆ部２が、メモリモジュール１を有するシステムや人間によりプロセッサを介してステータス確認され、プロセッサからメモリＩ／Ｆ部２に情報参照アクセスＤ２が送信される。ステップＳ５２で、メモリＩ／Ｆ部２が、ステータスレジスタ６に記憶されている現在のステータスを参照し、プロセッサに参照したステータスを送信する。
【００７８】
メモリアクセス時においては、まず、ステップＳ６１で、メモリＩ／Ｆ部２が、メモリモジュール１を有するシステムや人間によりプロセッサを介してメモリアクセスされる。メモリＩ／Ｆ部２が、メモリアクセスのための非公開のモードＩＤ、アクセス属性、ベースアドレスを入力する。
【００７９】
ステップＳ６２で、メモリＩ／Ｆ部２が、アクセス制御部８にメモリアクセス通知を送信する。
【００８０】
ステップＳ６３で、メモリＩ／Ｆ部２が、メモリアクセスのアクセス属性が読み出しか否か判定する。読み出しであればステップＳ６５に進み、読み出しでなければステップＳ６４に進む。
【００８１】
ステップＳ６４で、メモリＩ／Ｆ部２が、書き込むデータを入力可能なようにプロセッサに対して指定する。
【００８２】
ステップＳ６５で、メモリＩ／Ｆ部２が、ステータスレジスタ６のステータスを参照し、ステータスがＲＥＡＤＹ状態か、ＢＵＳＹ状態やアクセス拒否状態か判定する。ＲＥＡＤＹ状態の場合はステップＳ６６に進み、ＢＵＳＹ状態やアクセス拒否状態の場合はプロセッサからのメモリアクセスの要求はキャンセルされ、メモリモジュール１のメモリアクセス時の動作は終了する。
【００８３】
ステップＳ６６で、アクセス制御部８の処理の開始から終了を確認できるようにするため、アクセス制御部８が、ステータスレジスタ６のステータスをアクセス制御ＢＵＳＹに移行させる。
【００８４】
ステップＳ６７で、アクセス制御部８が、モードレジスタ７から現在のアクセスモードを識別可能なモード名やモードＩＤ等を参照する。アクセス制御部８が、モードテーブル４から現在のアクセスモードに対応するアクセス属性とベースアドレス等のモード情報を参照する。
【００８５】
ステップＳ６８で、アクセス制御部８が、プロセッサからのアクセスの可否を判定する。判定では、要求されたメモリアクセスのモードＩＤ、アクセス属性とベースアドレス等と、現在のアクセスモードのモードＩＤ、アクセス属性とベースアドレス等を比較し、互いに一致していればアクセス許可の判定をする。アクセス許可の判定であればステップＳ６９に進み、不許可の判定であればステップＳ７２に進む。
【００８６】
ステップＳ７２で、アクセス制御部８が、ステータスレジスタ６に、今後全てのメモリモジュール１の外部からメモリＩ／Ｆ部２へのアクセスを拒否するアクセス拒否状態のフラグをセットする。そして、メモリモジュール１のモード切り替え時の動作を終了させる。
【００８７】
ステップＳ６９で、アクセス制御部８が、メモリ部９に要求されたメモリアクセスの処理を実行する。
【００８８】
ステップＳ７０で、アクセス制御部８が、ステータスレジスタ６のステータスをアクセス制御ＲＥＡＤＹに移行させる。
【００８９】
ステップＳ７１で、アクセス制御部８が、メモリＩ／Ｆ部２にメモリアクセス結果、例えば、読み出されたデータ、書き込まれたデータの状態が正常か異常かの信号を送信する。以上で、メモリモジュール１のメモリアクセス時の動作が終了する。
【００９０】
（ステータスレジスタ６）
ステータスレジスタ６は、メモリモジュール１の現在のステータス情報を格納する。モード制御とアクセス制御の状態のＢＵＳＹ、ＲＥＡＤＹとエラーなどを示すフラグを格納する。メモリアクセスの結果など、通常のメモリモジュール１が有するステータス情報も保持可能であることは言うまでもない。また、メモリＩ／Ｆ部２での説明で述べたように、モード情報の編集時やモード切り替え時において、不正動作を検出した場合には、それぞれの検出フラグであるアクセス拒否状態を格納することも可能である。
【００９１】
ステータスレジスタ６は、モード制御部３とアクセス制御部８により編集され、メモリＩ／Ｆ部２からは参照のみが可能である。もちろん、必ずしも用意しているステータスを示すフラグ情報をすべて参照可能とする必要はない。たとえば、不正動作を検出したかどうかを示すアクセス拒否状態のフラグなどは、メモリＩ／Ｆ部２を介して、メモリモジュール１の外部のプロセッサに参照可能としなくてもよい。
【００９２】
以上のように、実施例１では、コンフィギュラブルなアクセス制御用の各種アクセスモードを登録でき、かつ、それらアクセスモードを、登録時に格納されるモード情報の一部のモードＩＤ等を用いたモード切り替え方法によってのみ切り換えることができるモード制御部３等のメモリコントローラを有することにより、正規のアクセス手段をとらないあらゆるアクセスから任意のメモリデータを隠蔽可能なメモリモジュール１を実現している。
【００９３】
本発明は不揮発型のメモリモジュールにおいて、不用意なメモリデータの参照および改竄がされることのない汎用的な保護機能を提供することを特長とする。
【００９４】
実施例１のメモリモジュール１によれば、電源供給が遮断された後、機密データが格納されているメモリ領域のアクセス制限を施すことができる。モードテーブル４の登録されたモードIDを使用してアクセスモードを切り換えることにより、アクセス制御ができる。これは、非公開であるモードＩDを知らなければメモリ部９に格納されたデータへのアクセスができないからである。また、アクセスモードのモード情報のモードテーブル４ヘの登録は、特殊アクセスＤ３を介す必要があるため、特殊アクセスＤ３の特殊動作シーケンスを非公開にすることで高い機密性を実現することができる。
【００９５】
実施例１のメモリモジュール１によれば、不正アクセスのための解析を行えない。不正アクセスを試みるため、モード情報の編集やモード切り替えを手当たり次第行おうとしても、不正確なアクセスである場合には電源をオフにするまで次回からのアクセスをすべて拒否することができるため、不正アクセスのための解析を非常に困難にすることができる。
【００９６】
実施例１のメモリモジュール１によれば、アクセスの為の認証手続きを絶えず変更できる。電源が再投入されると、モードテーブル４は電源が投入されるたびにデータ保持の指定がされていないアクセスモードのモード情報は消去されるため、再度モードテーブル４にアクセスモードを登録しない限りはアクセスの手段が存在しない。また、メモリモジュール１が稼働中であるときでも、モードテーブル４は適宜初期化や編集ができるため、認証のためのモードＩＤやアクセス制限の内容を常に更新できる。これにより同様のアクセスに割り当てるモードＩＤを頻繁に更新することで、メモリ情報の機密性を高めることができる。
【００９７】
実施例１のメモリモジュール１によれば、アクセス制限の対象および制限レベルを任意に指定できる。モードテーブル４は適宜初期化や編集ができるため、アクセス制限の内容を常に更新できる。これによりアクセス制限を必要最小限に設定することで、メモリ情報の機密性を高めることができる。これは、メモリモジュール１が稼働中であるときにも言える。なお、モードテーブル４に電源投入後もモード情報を保持するような保護機能を備えるため、あるメモリ領域のみを読み出し専用で公開するなどのようなことも実現でき、メモリとしての利便性は損なうことはない。
【実施例２】
【００９８】
図１１に示すように、実施例２に係る不揮発性メモリシステム１０は、メモリカード読み出しシステム１２と、メモリカード読み出しシステム１２と信号を送受信可能なメモリカード１１を有している。メモリカード読み出しシステム１２は、プロセッサ又はロジック回路１３と、アクセス用モードテーブル１４を有している。メモリカード１１は、実施例１に記載のメモリモジュール１を有している。プロセッサ又はロジック回路１３には、プロセッサ又はロジック回路１３からメモリモジュール１へのメモリアクセスを可能にする非公開の特殊動作シーケンスのロジックが内蔵されている。たとえば、不揮発性メモリシステム１０が、あるトリガをプロセッサ又はロジック回路１３に与えれば、非公開の特殊動作シーケンスに基づいたメモリアクセスが、プロセッサ又はロジック回路１３からメモリモジュール１へ自動的に行われる。このような不揮発性メモリシステム１０においては、プロセッサもしくは専用ロジック回路１３とメモリモジュール１の組み合わせのみ、メモリアクセスを許可する仕組みが実現できる。
【００９９】
アクセス用モードテーブル１４は、メモリモジュール１の図１のモードテーブル４に登録すべきモード情報を保持する。実際の不揮発性メモリシステム１０の動作中には、このアクセス用モードテーブル１４のモード情報を参照しながら、メモリカード１１ヘ通常メモリアクセスＤ１、情報参照アクセスＤ２と特殊アクセスＤ３を行う。アクセス用モードテーブル１４の機密性を確保するため、このアクセス用モードテーブル１４を保持するメモリ領域は揮発性であるか、不揮発性であってもアクセスＤ１乃至Ｄ３を行わない場合はシステム１０がモード情報の消去処理を確実に行う必要がある。
【０１００】
具体的には、まず、メモリカード１１に通常メモリアクセスＤ１を開始する前に、内蔵されたロジック回路１３による特殊動作シーケンスを起動させ、特殊アクセスＤ３を行う。システム１２内部で事前に用意しているアクセス用モードテーブル１４のモードＩＤ等のモード情報を有するアクセスモードを、モード情報のモードＩＤ等が一致するように、メモリモジュール１内のモードテーブル４に登録する。アクセス用モードテーブル１４においても、図２のモードテーブル４と同様に、モード情報のモード名とモードＩＤ等は互いに抽出可能なように対応させて記憶している。
【０１０１】
次に、プロセッサ又はロジック回路１３が、システム１２内のアプリケーションから、メモリカード１１へのアクセス要求を受け、通常メモリアクセスＤ１を開始する。システム１２内部のモードテーブル１４の内容を参照しながら、適切にメモリカード１１内のメモリモジュール１へのアクセスを行う。アクセス用モードテーブル１４に記憶されたモードＩＤに一致するモードテーブル４に記憶されたモードＩＤが存在することを条件に、メモリアクセスを実施する。
【０１０２】
実施例１と２は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、実施例１と２によって本発明の技術的範囲が限定的に解釈されてはならないものである。本発明は、その技術的思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。すなわち、本発明の特許請求の範囲を逸脱しない範囲で、変更・改良や一部転用などが可能であり、これらすべて本発明の請求範囲内に包含されるものである。
【図面の簡単な説明】
【０１０３】
【図１】実施例１に係る不揮発性メモリモジュールの機能ブロック図である。
【図２】実施例１に係る不揮発性メモリモジュールのモードテーブルである。
【図３】モードテーブルを構成する記憶装置の構成例である。
【図４】実施例１に係る不揮発性メモリモジュールの電源ＯＮ時のシーケンス図である。
【図５】実施例１に係る不揮発性メモリモジュールのモードテーブル設定時（正常動作）のシーケンス図である。
【図６】実施例１に係る不揮発性メモリモジュールのモードテーブル設定時のフローチャートである。
【図７】実施例１に係る不揮発性メモリモジュールのモード切り替え時のシーケンス図である。
【図８】実施例１に係る不揮発性メモリモジュールのモード切り替え時のフローチャートである。
【図９】実施例１に係る不揮発性メモリモジュールのメモリアクセス時のシーケンス図である。
【図１０】実施例１に係る不揮発性メモリモジュールのメモリアクセス時のフローチャートである。
【図１１】実施例２に係る不揮発性メモリシステムの構成図である。
【符号の説明】
【０１０４】
１    不揮発性メモリモジュール
２    メモリインターフェース部
３    モード制御部
４    モードテーブル
５    レジスタ部
６    ステータスレジスタ
７    モードレジスタ
８    アクセス制御部
９    メモリ部
１０    不揮発性メモリシステム
１１    メモリカード
１２    メモリカード読み出しシステム
１３    特殊動作シーケンスロジックを内蔵するプロセッサ又はロジック回路
１４    アクセス用モードテーブル
【図１】
2006252449.tif 000003
【図２】
2006252449.tif 000004
【図３】
2006252449.tif 000005
【図４】
2006252449.tif 000006
【図５】
2006252449.tif 000007
【図６】
2006252449.tif 000008
【図７】
2006252449.tif 000009
【図８】
2006252449.tif 000010
【図９】
2006252449.tif 000011
【図１０】
2006252449.tif 000012
【図１１】
2006252449.tif 000013