(57)【特許請求の範囲】
【請求項１】
データが格納された第１エリアを有するメモリ部と、
外部機器から入力されたコマンド内の第１アドレスに基づいて、前記メモリ部内の第２アドレスを生成するアドレス生成部と、
前記コマンド内の、少なくともリード及びライトを区別するコマンド種別の遷移履歴を解析する解析部と、
前記解析部による解析の結果に基づき、前記メモリ部へのアクセスが正常であるか不正であるかを判定する判定部と、
前記判定部による判定の結果に基づき、前記メモリ部へのアクセスが正常である場合には、前記第１エリアに対応する前記第１アドレスを前記第１エリア内の前記第２アドレスに変換する第１メモリマップを前記アドレス生成部に提供し、一方、前記メモリ部へのアクセスが不正である場合には、前記第１エリアに対応する前記第１アドレスを前記第１エリア内の前記第２アドレスに変換しない第２メモリマップを前記アドレス生成部に提供する、メモリマップ変更部と
を備え、
前記第１エリアは、少なくとも第１部分領域及び第２部分領域を有し、
前記アドレス生成部は、前記第１部分領域へのアクセスが完了して前記第２部分領域へのアクセスに移行した後は、前記第１部分領域に対応する前記第１アドレスに基づいて前記第１部分領域内の前記第２アドレスを生成しない、半導体記憶装置。
【請求項２】
前記判定部は、データ記憶領域を有しており、
前記データ記憶領域には、前記メモリ部に正常にアクセスした際の前記コマンド種別の遷移履歴に関するサンプルデータが予め格納されており、
前記判定部は、前記サンプルデータと、前記解析部によって解析された前記コマンド種別の遷移履歴とを比較することによって、前記メモリ部へのアクセスが正常であるか不正であるかを判定する、請求項１に記載の半導体記憶装置。
【請求項３】
前記判定部は、データ記憶領域を有しており、
前記データ記憶領域には、作為的なアクセスパターンで前記メモリ部にアクセスした際の前記コマンド種別の遷移履歴に関するサンプルデータが予め格納されており、
所定の期間内において、前記作為的なアクセスパターンによって前記メモリ部へのアクセスが行われ、
前記判定部は、前記サンプルデータと、前記作為的なアクセスパターンによって前記メモリ部へのアクセスが行われた際に前記解析部によって解析された前記コマンド種別の遷移履歴とを比較することによって、前記メモリ部へのアクセスが正常であるか不正であるかを判定する、請求項１に記載の半導体記憶装置。
【請求項４】
前記判定部は、データ記憶領域を有しており、
前記データ記憶領域には、前記外部機器の起動時に前記外部機器が前記メモリ部にアクセスする際の前記コマンド種別の遷移履歴に関するサンプルデータが予め格納されており、
前記判定部は、前記サンプルデータと、前記外部機器の起動時に前記外部機器が前記メモリ部にアクセスした際に前記解析部によって解析された前記コマンド種別の遷移履歴とを比較することによって、前記メモリ部へのアクセスが正常であるか不正であるかを判定する、請求項１に記載の半導体記憶装置。
【請求項５】
前記サンプルデータは複数である、請求項２〜４のいずれか一つに記載の半導体記憶装置。
【請求項６】
データが格納された第１エリアを有するメモリ部と、
外部機器から入力されたコマンド内の第１アドレスに基づいて、前記メモリ部内の第２アドレスを生成するアドレス生成部と、
前記コマンド内の、少なくともリード及びライトを区別するコマンド種別と、前記第１アドレスとの双方の遷移履歴を解析する解析部と、
前記解析部による解析の結果に基づき、前記メモリ部へのアクセスが正常であるか不正であるかを判定する判定部と、
前記判定部による判定の結果に基づき、前記メモリ部へのアクセスが正常である場合には、前記第１エリアに対応する前記第１アドレスを前記第１エリア内の前記第２アドレスに変換する第１メモリマップを前記アドレス生成部に提供し、一方、前記メモリ部へのアクセスが不正である場合には、前記第１エリアに対応する前記第１アドレスを前記第１エリア内の前記第２アドレスに変換しない第２メモリマップを前記アドレス生成部に提供する、メモリマップ変更部と
を備え、
前記第１エリアは、少なくとも第１部分領域及び第２部分領域を有し、
前記アドレス生成部は、前記第１部分領域へのアクセスが完了して前記第２部分領域へのアクセスに移行した後は、前記第１部分領域に対応する前記第１アドレスに基づいて前記第１部分領域内の前記第２アドレスを生成しない、半導体記憶装置。
【請求項７】
前記判定部は、データ記憶領域を有しており、
前記データ記憶領域には、前記メモリ部に正常にアクセスした際の前記コマンド種別及び前記第１アドレスの双方の遷移履歴に関するサンプルデータが予め格納されており、
前記判定部は、前記サンプルデータと、前記解析部によって解析された前記コマンド種別及び前記第１アドレスの双方の遷移履歴とを比較することによって、前記メモリ部へのアクセスが正常であるか不正であるかを判定する、請求項６に記載の半導体記憶装置。
【請求項８】
前記判定部は、データ記憶領域を有しており、
前記データ記憶領域には、作為的なアクセスパターンで前記メモリ部にアクセスした際の前記コマンド種別及び前記第１アドレスの双方の遷移履歴に関するサンプルデータが予め格納されており、
所定の期間内において、前記作為的なアクセスパターンによって前記メモリ部へのアクセスが行われ、
前記判定部は、前記サンプルデータと、前記作為的なアクセスパターンによって前記メモリ部へのアクセスが行われた際に前記解析部によって解析された前記コマンド種別及び前記第１アドレスの双方の遷移履歴とを比較することによって、前記メモリ部へのアクセスが正常であるか不正であるかを判定する、請求項６に記載の半導体記憶装置。
【請求項９】
前記判定部は、データ記憶領域を有しており、
前記データ記憶領域には、前記外部機器の起動時に前記外部機器が前記メモリ部にアクセスする際の前記コマンド種別及び前記第１アドレスの双方の遷移履歴に関するサンプルデータが予め格納されており、
前記判定部は、前記サンプルデータと、前記外部機器の起動時に前記外部機器が前記メモリ部にアクセスした際に前記解析部によって解析された前記コマンド種別及び前記第１アドレスの双方の遷移履歴とを比較することによって、前記メモリ部へのアクセスが正常であるか不正であるかを判定する、請求項６に記載の半導体記憶装置。
【請求項１０】
前記サンプルデータは複数である、請求項７〜９のいずれか一つに記載の半導体記憶装置。
【請求項１１】
前記判定部は、データ記憶領域を有しており、
前記データ記憶領域には、前記メモリ部に正常にアクセスした際のシーケンシャルアクセスの最大値に関するデータが予め格納されており、
前記判定部は、前記メモリ部へのシーケンシャルアクセス数が前記最大値を超えた場合に、前記メモリ部へのアクセスが不正であると判定する、請求項６に記載の半導体記憶装置。
【請求項１２】
前記メモリ部は、ダミーデータが格納された第２エリアをさらに有しており、
前記第２メモリマップは、前記第１エリアに対応する前記第１アドレスを前記第２エリア内の前記第２アドレスに変換するメモリマップである、請求項１〜１１のいずれか一つに記載の半導体記憶装置。
【請求項１３】
前記ダミーデータは、不正なアクセスに対する警告データである、請求項１２に記載の半導体記憶装置。
【請求項１４】
前記メモリ部は、前記第１エリア内に格納されている前記データよりも秘匿性の低いデータが格納された第２エリアをさらに有しており、
前記第２メモリマップは、前記第１エリアに対応する前記第１アドレスを前記第２エリア内の前記第２アドレスに変換するメモリマップである、請求項１〜１１のいずれか一つに記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に関する。
【背景技術】
【０００２】
半導体メモリが搭載されているメモリカードをホストコンピュータ等の外部機器に着脱自在に接続することによって、半導体メモリに記憶されているデータ等を外部機器が利用可能な情報処理装置が実用化されている。
【０００３】
このようなメモリカードの中には、半導体メモリに記憶されているデータ等が不正にコピーされることを防止すべく、特定のセキュリティ技術が搭載されているものがある。例えば下記特許文献１には、暗号化されたデータが記憶された半導体メモリと、半導体メモリに特定の順序でアドレスが入力された場合に所定のキーデータを出力する検出部と、半導体メモリから読み出したデータを上記キーデータを用いて復号するデータ変換部とを備えた半導体記憶装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−１０６６９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に開示された半導体記憶装置では、大量のサンプルを解析することによって暗号が解読される可能性があり、しかも、外部機器からは半導体メモリの全領域に何の制約もなくアクセス可能である。そのため、一旦暗号が解読されると、半導体メモリに記憶されている全データが不正に復号されてしまうため、セキュリティ性が十分とはいえない。
【０００６】
本発明はかかる事情に鑑みて成されたものであり、従来よりもセキュリティ性が向上された半導体記憶装置を得ることを目的とするものである。
【課題を解決するための手段】
【０００７】
第１の発明に係る半導体記憶装置は、データが格納された第１エリアを有するメモリ部と、外部機器から入力されたコマンド内の第１アドレスに基づいて、前記メモリ部内の第２アドレスを生成するアドレス生成部と、前記コマンド内の、少なくともリード及びライトを区別するコマンド種別の遷移履歴を解析する解析部と、前記解析部による解析の結果に基づき、前記メモリ部へのアクセスが正常であるか不正であるかを判定する判定部と、前記判定部による判定の結果に基づき、前記メモリ部へのアクセスが正常である場合には、前記第１エリアに対応する前記第１アドレスを前記第１エリア内の前記第２アドレスに変換する第１メモリマップを前記アドレス生成部に提供し、一方、前記メモリ部へのアクセスが不正である場合には、前記第１エリアに対応する前記第１アドレスを前記第１エリア内の前記第２アドレスに変換しない第２メモリマップを前記アドレス生成部に提供する、メモリマップ変更部とを備え、前記第１エリアは、少なくとも第１部分領域及び第２部分領域を有し、前記アドレス生成部は、前記第１部分領域へのアクセスが完了して前記第２部分領域へのアクセスに移行した後は、前記第１部分領域に対応する前記第１アドレスに基づいて前記第１部分領域内の前記第２アドレスを生成しないことを特徴とするものである。
【０００８】
第２の発明に係る半導体記憶装置は、第１の発明に係る半導体記憶装置において特に、前記判定部は、データ記憶領域を有しており、前記データ記憶領域には、前記メモリ部に正常にアクセスした際の前記コマンド種別の遷移履歴に関するサンプルデータが予め格納されており、前記判定部は、前記サンプルデータと、前記解析部によって解析された前記コマンド種別の遷移履歴とを比較することによって、前記メモリ部へのアクセスが正常であるか不正であるかを判定することを特徴とするものである。
【０００９】
第３の発明に係る半導体記憶装置は、第１の発明に係る半導体記憶装置において特に、前記判定部は、データ記憶領域を有しており、前記データ記憶領域には、作為的なアクセスパターンで前記メモリ部にアクセスした際の前記コマンド種別の遷移履歴に関するサンプルデータが予め格納されており、所定の期間内において、前記作為的なアクセスパターンによって前記メモリ部へのアクセスが行われ、前記判定部は、前記サンプルデータと、前記作為的なアクセスパターンによって前記メモリ部へのアクセスが行われた際に前記解析部によって解析された前記コマンド種別の遷移履歴とを比較することによって、前記メモリ部へのアクセスが正常であるか不正であるかを判定することを特徴とするものである。
【００１０】
第４の発明に係る半導体記憶装置は、第１の発明に係る半導体記憶装置において特に、前記判定部は、データ記憶領域を有しており、前記データ記憶領域には、前記外部機器の起動時に前記外部機器が前記メモリ部にアクセスする際の前記コマンド種別の遷移履歴に関するサンプルデータが予め格納されており、前記判定部は、前記サンプルデータと、前記外部機器の起動時に前記外部機器が前記メモリ部にアクセスした際に前記解析部によって解析された前記コマンド種別の遷移履歴とを比較することによって、前記メモリ部へのアクセスが正常であるか不正であるかを判定することを特徴とするものである。
【００１１】
第５の発明に係る半導体記憶装置は、第２〜第４のいずれか一つの発明に係る半導体記憶装置において特に、前記サンプルデータは複数であることを特徴とするものである。
【００１２】
第６の発明に係る半導体記憶装置は、データが格納された第１エリアを有するメモリ部と、外部機器から入力されたコマンド内の第１アドレスに基づいて、前記メモリ部内の第２アドレスを生成するアドレス生成部と、前記コマンド内の、少なくともリード及びライトを区別するコマンド種別と、前記第１アドレスとの双方の遷移履歴を解析する解析部と、前記解析部による解析の結果に基づき、前記メモリ部へのアクセスが正常であるか不正であるかを判定する判定部と、前記判定部による判定の結果に基づき、前記メモリ部へのアクセスが正常である場合には、前記第１エリアに対応する前記第１アドレスを前記第１エリア内の前記第２アドレスに変換する第１メモリマップを前記アドレス生成部に提供し、一方、前記メモリ部へのアクセスが不正である場合には、前記第１エリアに対応する前記第１アドレスを前記第１エリア内の前記第２アドレスに変換しない第２メモリマップを前記アドレス生成部に提供する、メモリマップ変更部とを備え、前記第１エリアは、少なくとも第１部分領域及び第２部分領域を有し、前記アドレス生成部は、前記第１部分領域へのアクセスが完了して前記第２部分領域へのアクセスに移行した後は、前記第１部分領域に対応する前記第１アドレスに基づいて前記第１部分領域内の前記第２アドレスを生成しないことを特徴とするものである。
【００１３】
第７の発明に係る半導体記憶装置は、第６の発明に係る半導体記憶装置において特に、前記判定部は、データ記憶領域を有しており、前記データ記憶領域には、前記メモリ部に正常にアクセスした際の前記コマンド種別及び前記第１アドレスの双方の遷移履歴に関するサンプルデータが予め格納されており、前記判定部は、前記サンプルデータと、前記解析部によって解析された前記コマンド種別及び前記第１アドレスの双方の遷移履歴とを比較することによって、前記メモリ部へのアクセスが正常であるか不正であるかを判定することを特徴とするものである。
【００１４】
第８の発明に係る半導体記憶装置は、第６の発明に係る半導体記憶装置において特に、前記判定部は、データ記憶領域を有しており、前記データ記憶領域には、作為的なアクセスパターンで前記メモリ部にアクセスした際の前記コマンド種別及び前記第１アドレスの双方の遷移履歴に関するサンプルデータが予め格納されており、所定の期間内において、前記作為的なアクセスパターンによって前記メモリ部へのアクセスが行われ、前記判定部は、前記サンプルデータと、前記作為的なアクセスパターンによって前記メモリ部へのアクセスが行われた際に前記解析部によって解析された前記コマンド種別及び前記第１アドレスの双方の遷移履歴とを比較することによって、前記メモリ部へのアクセスが正常であるか不正であるかを判定することを特徴とするものである。
【００１５】
第９の発明に係る半導体記憶装置は、第６の発明に係る半導体記憶装置において特に、前記判定部は、データ記憶領域を有しており、前記データ記憶領域には、前記外部機器の起動時に前記外部機器が前記メモリ部にアクセスする際の前記コマンド種別及び前記第１アドレスの双方の遷移履歴に関するサンプルデータが予め格納されており、前記判定部は、前記サンプルデータと、前記外部機器の起動時に前記外部機器が前記メモリ部にアクセスした際に前記解析部によって解析された前記コマンド種別及び前記第１アドレスの双方の遷移履歴とを比較することによって、前記メモリ部へのアクセスが正常であるか不正であるかを判定することを特徴とするものである。
【００１６】
第１０の発明に係る半導体記憶装置は、第７〜第９のいずれか一つの発明に係る半導体記憶装置において特に、前記サンプルデータは複数であることを特徴とするものである。
【００１７】
第１１の発明に係る半導体記憶装置は、第６の発明に係る半導体記憶装置において特に、前記判定部は、データ記憶領域を有しており、前記データ記憶領域には、前記メモリ部に正常にアクセスした際のシーケンシャルアクセスの最大値に関するデータが予め格納されており、前記判定部は、前記メモリ部へのシーケンシャルアクセス数が前記最大値を超えた場合に、前記メモリ部へのアクセスが不正であると判定することを特徴とするものである。
【００１８】
第１２の発明に係る半導体記憶装置は、第１〜第１１のいずれか一つの発明に係る半導体記憶装置において特に、前記メモリ部は、ダミーデータが格納された第２エリアをさらに有しており、前記第２メモリマップは、前記第１エリアに対応する前記第１アドレスを前記第２エリア内の前記第２アドレスに変換するメモリマップであることを特徴とするものである。
【００１９】
第１３の発明に係る半導体記憶装置は、第１２の発明に係る半導体記憶装置において特に、前記ダミーデータは、不正なアクセスに対する警告データであることを特徴とするものである。
【００２０】
第１４の発明に係る半導体記憶装置は、第１〜第１１のいずれか一つの発明に係る半導体記憶装置において特に、前記メモリ部は、前記第１エリア内に格納されている前記データよりも秘匿性の低いデータが格納された第２エリアをさらに有しており、前記第２メモリマップは、前記第１エリアに対応する前記第１アドレスを前記第２エリア内の前記第２アドレスに変換するメモリマップであることを特徴とするものである。
【発明の効果】
【００２１】
第１の発明に係る半導体記憶装置によれば、コマンド種別の遷移履歴に基づいて、メモリ部へのアクセスが正常であるか不正であるかが判定される。そして、メモリマップ変更部は、メモリ部へのアクセスが不正である場合には、第１エリアに対応する第１アドレスを第１エリア内の第２アドレスに変換しない第２メモリマップを、アドレス生成部に提供する。その結果、外部機器からはメモリ部の第1エリアにはアクセスすることができないため、第１エリアに格納されている秘匿性の高いデータが、不正なアクセスによって外部に読み出されることを回避できる。
【００２２】
第２の発明に係る半導体記憶装置によれば、メモリ部に正常にアクセスした際のコマンド種別の遷移履歴に関するサンプルデータが、事前に作成され、予めデータ記憶領域に格納されている。従って、このサンプルデータと、実際のメモリ動作時に解析部によって解析されたコマンド種別の遷移履歴とを比較することによって、メモリ部へのアクセスが正常であるか不正であるかを簡易かつ正確に判定することができる。
【００２３】
第３の発明に係る半導体記憶装置によれば、作為的なアクセスパターンでメモリ部にアクセスした際のコマンド種別の遷移履歴に関するサンプルデータが、事前に作成され、予めデータ記憶領域に格納されている。従って、このサンプルデータと、作為的なアクセスパターンによってメモリ部へのアクセスが行われた際に解析部によって解析されたコマンド種別の遷移履歴とを比較することによって、メモリ部へのアクセスが正常であるか不正であるかを簡易かつ正確に判定することができる。
【００２４】
第４の発明に係る半導体記憶装置によれば、外部機器の起動時に外部機器がメモリ部にアクセスする際のコマンド種別の遷移履歴に関するサンプルデータが、事前に作成され、予めデータ記憶領域に格納されている。従って、このサンプルデータと、外部機器の起動時に外部機器がメモリ部にアクセスした際に解析部によって解析されたコマンド種別の遷移履歴とを比較することによって、メモリ部へのアクセスが正常であるか不正であるかを簡易かつ正確に判定することができる。
【００２５】
第５の発明に係る半導体記憶装置によれば、複数のサンプルデータを準備しておくことにより、判定部は、プログラムの進行状況等に応じて適切なサンプルデータを用いて、比較を行うことができる。その結果、メモリ部へのアクセスが正常であるか不正であるかを、より正確に判定することができる。
【００２６】
第６の発明に係る半導体記憶装置によれば、コマンド種別及び第１アドレスの双方の遷移履歴に基づいて、メモリ部へのアクセスが正常であるか不正であるかが判定される。そして、メモリマップ変更部は、メモリ部へのアクセスが不正である場合には、第１エリアに対応する第１アドレスを第１エリア内の第２アドレスに変換しない第２メモリマップを、アドレス生成部に提供する。その結果、外部機器からはメモリ部の第1エリアにはアクセスすることができないため、第１エリアに格納されている秘匿性の高いデータが、不正なアクセスによって外部に読み出されることを回避できる。しかも、コマンド種別及び第１アドレスの双方の遷移履歴に基づいて判定が行われるため、いずれか一方のみを用いて判定を行う場合と比較すると、判定の信頼性が高い。
【００２７】
第７の発明に係る半導体記憶装置によれば、メモリ部に正常にアクセスした際のコマンド種別及び第１アドレスの双方の遷移履歴に関するサンプルデータが、事前に作成され、予めデータ記憶領域に格納されている。従って、このサンプルデータと、実際のメモリ動作時に解析部によって解析されたコマンド種別及び第１アドレスの双方の遷移履歴とを比較することによって、メモリ部へのアクセスが正常であるか不正であるかを簡易かつ正確に判定することができる。
【００２８】
第８の発明に係る半導体記憶装置によれば、作為的なアクセスパターンでメモリ部にアクセスした際のコマンド種別及び第１アドレスの双方の遷移履歴に関するサンプルデータが、事前に作成され、予めデータ記憶領域に格納されている。従って、このサンプルデータと、作為的なアクセスパターンによってメモリ部へのアクセスが行われた際に解析部によって解析されたコマンド種別及び第１アドレスの双方の遷移履歴とを比較することによって、メモリ部へのアクセスが正常であるか不正であるかを簡易かつ正確に判定することができる。
【００２９】
第９の発明に係る半導体記憶装置によれば、外部機器の起動時に外部機器がメモリ部にアクセスする際のコマンド種別及び第１アドレスの双方の遷移履歴に関するサンプルデータが、事前に作成され、予めデータ記憶領域に格納されている。従って、このサンプルデータと、外部機器の起動時に外部機器がメモリ部にアクセスした際に解析部によって解析されたコマンド種別及び第１アドレスの双方の遷移履歴とを比較することによって、メモリ部へのアクセスが正常であるか不正であるかを簡易かつ正確に判定することができる。
【００３０】
第１０の発明に係る半導体記憶装置によれば、複数のサンプルデータを準備しておくことにより、判定部は、プログラムの進行状況等に応じて適切なサンプルデータを用いて、比較を行うことができる。その結果、メモリ部へのアクセスが正常であるか不正であるかを、より正確に判定することができる。
【００３１】
第１１の発明に係る半導体記憶装置によれば、メモリ部に正常にアクセスした際のシーケンシャルアクセスの最大値が、事前に求められて、その最大値に関するデータが予めデータ記憶領域に格納されている。従って、実際のメモリ動作時においてメモリ部へのシーケンシャルアクセス数がその最大値を超えた場合には、メモリ部へのアクセスが不正であると判定することにより、メモリ部へのアクセスが正常であるか不正であるかを簡易かつ正確に判定することができる。特に、不正アクセス者はシーケンシャルアクセスによってメモリ部にアクセスしてくることが多いため、このような場合に効果が大きい。
【００３２】
第１２の発明に係る半導体記憶装置によれば、メモリ部の第２エリアには、ダミーデータが格納されている。そして、メモリ部へのアクセスが不正である場合には、第１エリアに対応する第１アドレスは、第２エリア内の第２アドレスに変換される。従って、メモリ部へのアクセスが不正である場合には、メモリ部からダミーデータが読み出されて外部機器に送信されるため、不正アクセス者による暗号解読処理等を効果的に妨害することができる。
【００３３】
第１３の発明に係る半導体記憶装置によれば、メモリ部へのアクセスが不正である場合には、不正アクセスに対する警告データがメモリ部から読み出されて、外部機器に送信される。従って、この警告データが外部機器において画面表示又は音声出力されることにより、不正アクセスに対する抑止力を高めることができる。
【００３４】
第１４の発明に係る半導体記憶装置によれば、メモリ部の第２エリアには、秘匿性の低いデータが格納されている。そして、メモリ部へのアクセスが不正である場合には、第１エリアに対応する第１アドレスは、第２エリア内の第２アドレスに変換される。従って、メモリ部へのアクセスが不正である場合には、メモリ部から秘匿性の低いデータが読み出されて外部機器に送信されるため、不正アクセス者による暗号解読処理等を効果的に妨害することができる。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施の形態１に係る半導体記憶装置の構成を示すブロック図である。
【図２】メモリ部の構成を示す図である。
【図３】判定部が有するデータ記憶領域を示す図である。
【図４】メモリマップ変更部が有するメモリマップを示す図である。
【図５】外部機器から見えるメモリ部の状況を示す図である。
【図６】外部機器から見えるメモリ部の状況を示す図である。
【図７】本発明の実施の形態２に係る半導体記憶装置の構成を示すブロック図である。
【図８】判定部が有するデータ記憶領域を示す図である。
【図９】本発明の実施の形態３に係る半導体記憶装置の構成を示すブロック図である。
【図１０】判定部が有するデータ記憶領域を示す図である。
【図１１】第１の変形例に関して、メモリ部の構成を示す図である。
【図１２】第１の変形例に関して、メモリマップ変更部が有するメモリマップを示す図である。
【図１３】第２の変形例に関して、判定部が有するデータ記憶領域を示す図である。
【図１４】第３の変形例に関して、判定部が有するデータ記憶領域を示す図である。
【図１５】第４の変形例に関して、判定部が有するデータ記憶領域を示す図である。
【図１６】第５の変形例に関して、判定部が有するデータ記憶領域を示す図である。
【図１７】第６の変形例に関して、メモリ部の正常エリアを示す図である。
【図１８】第７の変形例に関して、メモリ部の正常エリアを示す図である。
【図１９】第７の変形例に関して、メモリ部を示す図である。
【発明を実施するための形態】
【００３６】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
実施の形態１．
【００３７】
図１は、本発明の実施の形態１に係る半導体記憶装置１Ａの構成を示すブロック図である。半導体記憶装置１Ａは例えばメモリカードであり、ホストコンピュータ等の外部機器１０に着脱自在に接続可能である。
【００３８】
図１に示すように半導体記憶装置１Ａは、入出力部２、コマンド解析部３、コマンド実行部４、メモリ部５、解析部６Ａ、判定部７、及びメモリマップ変更部８を備えて構成されている。メモリ部５は、ＲＯＭ、ＲＡＭ、又はフラッシュメモリ等の半導体メモリである。コマンド実行部４は、アドレス生成部９を有している。判定部７は、データ記憶領域１１を有している。図１に示した例では、データ記憶領域１１は、メモリ部５の一部として構成されている。但し、メモリ部５の外部にデータ記憶領域１１を設けてもよい。
【００３９】
図２は、メモリ部５の構成を示す図である。図２に示すようにメモリ部５は、共通エリア２１、正常エリア２２、及びダミーエリア２３を有している。正常エリア２２には、秘匿性の高いデータが記憶されている。共通エリア２１には、正常エリア２２に記憶されているデータよりも秘匿性の低いデータ、例えば起動処理に必要なデータが記憶されている。ダミーエリア２３には、ダミーデータが記憶されている。ダミーデータは、何らかのトラップコード、又はユーザに不正なアクセスに対する警告を行うためのプログラムやデータである。例えば、「このアクセスは不正です」や「このメモリは不正コピーされたものです」等の画像データ又は音声データが、ダミーエリア２３に記憶されている。
【００４０】
説明の簡単化のため、図２に示した例では、共通エリア２１は物理アドレスＢ１００〜Ｂ１９９の領域であり、正常エリア２２は物理アドレスＢ２００〜Ｂ２９９の領域であり、ダミーエリア２３は物理アドレスＢ３００〜Ｂ３９９の領域である。
以下、半導体記憶装置１Ａの動作について説明する。
【００４１】
図１を参照して、コマンド解析部３には、外部機器１０から入出力部２を介してコマンドＳ１が入力される。コマンド解析部３は、入力されたコマンドＳ１の内容を解析し、コマンド種別Ｓ２と論理アドレスＳ３とを出力する。ここで、コマンド種別とは、リード、ライト、モードチェンジ等の命令の種類を意味する。また、例えばリードの中には、リード０、リード１、リード２等の複数の種類があり、これらもコマンド種別によって区別される。コマンド種別Ｓ２及び論理アドレスＳ３は、コマンド実行部４に入力される。また、論理アドレスＳ３は、解析部６Ａに入力される。
【００４２】
解析部６Ａは、外部機器１０からメモリ部５への過去のアクセスパターンを解析する。具体的に、本実施の形態１に係る半導体記憶装置１Ａでは、解析部６Ａは、論理アドレスＳ３の遷移履歴を解析する。解析部６Ａによる解析の結果に関するデータＳ４は、判定部７に入力される。
【００４３】
判定部７は、データＳ４に基づいて、外部機器１０からメモリ部５へのアクセスが正常であるか不正であるかを判定する。具体的には以下の通りである。
【００４４】
図３は、判定部７が有するデータ記憶領域１１を示す図である。データ記憶領域１１には、サンプルデータＳ９Ａが記憶されている。サンプルデータＳ９Ａは、外部機器１０からメモリ部５に正常にアクセスした際の、論理アドレスＳ３の遷移履歴に関するデータである。対象となるアプリケーションを事前に動作させて外部機器１０からメモリ部５に正常なアクセスを行い、その際の論理アドレスＳ３の遷移履歴を解析する。そして、得られた解析結果の少なくとも一部（特にシーケンシャルアクセス以外の部分）が、サンプルデータＳ９Ａとしてデータ記憶領域１１に予め記憶されている。
【００４５】
判定部７は、解析部６Ａから入力された遷移履歴（データＳ４）と、データ記憶領域１１から読み出した遷移履歴（サンプルデータＳ９Ａ）とを比較し、データＳ４で与えられる遷移履歴が、サンプルデータＳ９Ａで与えられる遷移履歴の一部に一致した場合には、外部機器１０からメモリ部５へのアクセスが正常であると判定する。一方、データＳ４で与えられる遷移履歴が、サンプルデータＳ９Ａで与えられる遷移履歴のいずれにも一致しない場合には、判定部７は、外部機器１０からメモリ部５へのアクセスは不正であると判定する。
【００４６】
具体的に、図２を参照して一例を説明する。ここでは、まず共通エリア２１にアクセスされ、次に正常エリア２２又はダミーエリア２３にアクセスされる場合を想定している。外部機器１０から共通エリア２１への正常なアクセスにおいて、例えば、「論理アドレスＡ１００→Ａ１９９→Ａ１０１」の順にアクセスが行われるものとする。この場合、「論理アドレスＡ１００→Ａ１９９→Ａ１０１」の順序を特定するデータが、サンプルデータＳ９Ａとしてデータ記憶領域１１に予め記憶されている。
【００４７】
実際の動作において、アクセスが正常である場合は、外部機器１０から共通エリア２１へ「論理アドレスＡ１００→Ａ１９９→Ａ１０１」の順にアクセスが行われる。この場合、データＳ４で与えられる遷移履歴と、サンプルデータＳ９Ａで与えられる遷移履歴とが互いに一致するため、判定部７は、外部機器１０からメモリ部５へのアクセスは正常であると判定する。
【００４８】
一方、実際の動作において、外部機器１０から共通エリア２１へ「論理アドレスＡ１００→Ａ１０１→・・・→Ａ１９９」のシーケンシャルアクセスが行われたものとする。この場合、データＳ４で与えられる遷移履歴と、サンプルデータＳ９Ａで与えられる遷移履歴とは互いに一致しないため、判定部７は、外部機器１０からメモリ部５へのアクセスは不正であると判定する。
【００４９】
図１を参照して、判定部７による判定の結果に関するデータＳ５は、メモリマップ変更部８に入力される。
【００５０】
図４は、メモリマップ変更部８が有するメモリマップ３０Ａ，３０Ｂを示す図である。図４に示すようにメモリマップ変更部８は２つのメモリマップ３０Ａ，３０Ｂを有しており、判定部７から入力されたデータＳ５に基づいて、メモリマップ３０Ａ，３０Ｂの一方を、データＳ６としてコマンド実行部４（具体的にはアドレス生成部９）に提供する。
【００５１】
メモリマップ３０Ａは、図２に示した正常エリア２２に対応する論理アドレスを、正しく正常エリア２２内の物理アドレスに変換するためのメモリマップである。例えば図４に示すように、正常エリア２２の先頭番地を示す論理アドレスＡ２００は、正常エリア２２内の先頭番地である物理アドレスＢ２００に正しく変換される。
【００５２】
これに対して、メモリマップ３０Ｂは、図２に示した正常エリア２２に対応する論理アドレスを、正常エリア２２ではなくダミーエリア２３内の物理アドレスに変換するためのメモリマップである。例えば図４に示すように、正常エリア２２の先頭番地を示す論理アドレスＡ２００は、ダミーエリア２３内の先頭番地である物理アドレスＢ３００に変換される。
【００５３】
図１を参照して、メモリマップ変更部８は、判定部７から入力されたデータＳ５に基づいて、外部機器１０からメモリ部５へのアクセスが正常である場合には、メモリマップ３０Ａを選択してコマンド実行部４に提供し、一方、外部機器１０からメモリ部５へのアクセスが不正である場合には、メモリマップ３０Ｂを選択してコマンド実行部４に提供する。
【００５４】
アドレス生成部９は、メモリマップ変更部８から入力されたメモリマップ３０Ａ又はメモリマップ３０Ｂに基づいて、コマンド解析部３から入力された論理アドレスＳ３をアドレス変換（いわゆる論物変換）することにより、メモリ部７内の物理アドレスＳ７を生成する。
【００５５】
図５，６は、外部機器１０から見えるメモリ部５の状況を示す図である。アドレス生成部９にメモリマップ３０Ａが提供されている場合（つまりアクセスが正常である場合）は、図５に示すように、外部機器１０は共通エリア２１及び正常エリア２２にアクセス可能である。この場合、図１を参照して、共通エリア２１内又は正常エリア２２内の所望のデータ（データＳ８）がメモリ部５から読み出され、入出力部２を介して外部機器１０に送信される。
【００５６】
一方、アドレス生成部９にメモリマップ３０Ｂが提供されている場合（つまりアクセスが不正である場合）は、図６に示すように、外部機器１０は共通エリア２１及びダミーエリア２３にアクセス可能であるが、正常エリア２２にはアクセスできない。この場合、図１を参照して、共通エリア２１内の所望のデータ又はダミーエリア２３内のダミーデータ（データＳ８）がメモリ部５から読み出され、入出力部２を介して外部機器１０に送信される。
【００５７】
このように本実施の形態１に係る半導体記憶装置１Ａによれば、判定部７は、論理アドレスＳ３の遷移履歴に基づいて、メモリ部５へのアクセスが正常であるか不正であるかを判定する。そして、メモリマップ変更部８は、メモリ部５へのアクセスが不正である場合には、正常エリア２２に対応する論理アドレスを正常エリア２２内の物理アドレスに変換しないメモリマップ３０Ｂを、アドレス生成部９に提供する。その結果、アクセスが不正である場合には、図６に示したように外部機器１０からはメモリ部５の正常エリア２２にはアクセスすることができないため、正常エリア２２に格納されている秘匿性の高いデータが、不正なアクセスによってメモリ部５の外部に読み出されることを回避できる。
【００５８】
また、本実施の形態１に係る半導体記憶装置１Ａによれば、図３に示したように、メモリ部５に正常にアクセスした際の論理アドレスの遷移履歴に関するサンプルデータＳ９Ａが、事前に作成され、予めデータ記憶領域１１に格納されている。従って、このサンプルデータＳ９Ａと、実際のメモリ動作時に解析部６Ａによって解析された論理アドレスの遷移履歴（データＳ４）とを比較することによって、メモリ部５へのアクセスが正常であるか不正であるかを簡易かつ正確に判定することができる。
【００５９】
さらに、本実施の形態１に係る半導体記憶装置１Ａによれば、メモリ部５のダミーエリア２３（図２参照）には、ダミーデータが格納されている。そして、メモリ部５へのアクセスが不正である場合には、正常エリア２２に対応する論理アドレスは、ダミーエリア内の物理アドレスに変換される。従って、アクセスが不正である場合には、メモリ部５からダミーデータが読み出されて外部機器１０に送信されるため、不正アクセス者による暗号解読処理等を効果的に妨害することができる。しかも、ダミーデータが不正アクセスに対する警告データである場合には、この警告データが外部機器１０において画面表示又は音声出力されることにより、不正アクセスに対する抑止力を高めることができる。
実施の形態２．
【００６０】
図７は、本発明の実施の形態２に係る半導体記憶装置１Ｂの構成を示すブロック図である。半導体記憶装置１Ｂは、図１に示した半導体記憶装置１Ａにおける解析部６Ａに代えて、解析部６Ｂを備えている。その他の構成は同様である。
【００６１】
コマンド解析部３から出力されたコマンド種別Ｓ２は、解析部６Ｂに入力される。解析部６Ｂは、外部機器１０からメモリ部５への過去のアクセスパターンを解析する。具体的に、本実施の形態２に係る半導体記憶装置１Ｂでは、解析部６Ｂは、コマンド種別Ｓ２の遷移履歴を解析する。解析部６Ｂによる解析の結果に関するデータＳ４は、判定部７に入力される。
【００６２】
判定部７は、データＳ４に基づいて、外部機器１０からメモリ部５へのアクセスが正常であるか不正であるかを判定する。具体的には以下の通りである。
【００６３】
図８は、判定部７が有するデータ記憶領域１１を示す図である。データ記憶領域１１には、サンプルデータＳ９Ｂが記憶されている。サンプルデータＳ９Ｂは、外部機器１０からメモリ部５に正常にアクセスした際の、コマンド種別Ｓ２の遷移履歴に関するデータである。対象となるアプリケーションを事前に動作させて外部機器１０からメモリ部５に正常なアクセスを行い、その際のコマンド種別Ｓ２の遷移履歴を解析する。そして、得られた解析結果の少なくとも一部（特にシーケンシャルアクセス以外の部分）が、サンプルデータＳ９Ｂとしてデータ記憶領域１１に予め記憶されている。
【００６４】
判定部７は、解析部６Ｂから入力された遷移履歴（データＳ４）と、データ記憶領域１１から読み出した遷移履歴（サンプルデータＳ９Ｂ）とを比較し、データＳ４で与えられる遷移履歴が、サンプルデータＳ９Ｂで与えられる遷移履歴の一部に一致した場合には、外部機器１０からメモリ部５へのアクセスが正常であると判定する。一方、データＳ４で与えられる遷移履歴が、サンプルデータＳ９Ｂで与えられる遷移履歴のいずれにも一致しない場合には、判定部７は、外部機器１０からメモリ部５へのアクセスは不正であると判定する。
【００６５】
図７を参照して、判定部７による判定の結果に関するデータＳ５は、メモリマップ変更部８に入力される。以降の動作は上記実施の形態１と同様であるため、説明は省略する。
【００６６】
このように本実施の形態２に係る半導体記憶装置１Ｂによれば、判定部７は、コマンド種別Ｓ２の遷移履歴に基づいて、メモリ部５へのアクセスが正常であるか不正であるかを判定する。そして、上記実施の形態１と同様に、メモリマップ変更部８は、メモリ部５へのアクセスが不正である場合には、正常エリア２２に対応する論理アドレスを正常エリア２２内の物理アドレスに変換しないメモリマップ３０Ｂを、アドレス生成部９に提供する。その結果、アクセスが不正である場合には、図６に示したように外部機器１０からはメモリ部５の正常エリア２２にはアクセスすることができないため、正常エリア２２に格納されている秘匿性の高いデータが、不正なアクセスによってメモリ部５の外部に読み出されることを回避できる。
【００６７】
また、本実施の形態２に係る半導体記憶装置１Ｂによれば、図８に示したように、メモリ部５に正常にアクセスした際のコマンド種別の遷移履歴に関するサンプルデータＳ９Ｂが、事前に作成され、予めデータ記憶領域１１に格納されている。従って、このサンプルデータＳ９Ｂと、実際のメモリ動作時に解析部６Ｂによって解析されたコマンド種別の遷移履歴（データＳ４）とを比較することによって、メモリ部５へのアクセスが正常であるか不正であるかを簡易かつ正確に判定することができる。
実施の形態３．
【００６８】
図９は、本発明の実施の形態３に係る半導体記憶装置１Ｃの構成を示すブロック図である。半導体記憶装置１Ｃは、図１に示した半導体記憶装置１Ａにおける解析部６Ａに代えて、解析部６Ｃを備えている。その他の構成は同様である。
【００６９】
コマンド解析部３から出力されたコマンド種別Ｓ２及び論理アドレスＳ３は、解析部６Ｃに入力される。解析部６Ｃは、外部機器１０からメモリ部５への過去のアクセスパターンを解析する。具体的に、本実施の形態３に係る半導体記憶装置１Ｃでは、解析部６Ｃは、コマンド種別Ｓ２及び論理アドレスＳ３の双方の遷移履歴を解析する。解析部６Ｃによる解析の結果に関するデータＳ４は、判定部７に入力される。
【００７０】
判定部７は、データＳ４に基づいて、外部機器１０からメモリ部５へのアクセスが正常であるか不正であるかを判定する。具体的には以下の通りである。
【００７１】
図１０は、判定部７が有するデータ記憶領域１１を示す図である。データ記憶領域１１には、サンプルデータＳ９Ｃが記憶されている。サンプルデータＳ９Ｃは、外部機器１０からメモリ部５に正常にアクセスした際の、コマンド種別Ｓ２及び論理アドレスＳ３の双方の遷移履歴に関するデータである。対象となるアプリケーションを事前に動作させて外部機器１０からメモリ部５に正常なアクセスを行い、その際のコマンド種別Ｓ２及び論理アドレスＳ３の双方の遷移履歴を解析する。そして、得られた解析結果の少なくとも一部（特にシーケンシャルアクセス以外の部分）が、サンプルデータＳ９Ｃとしてデータ記憶領域１１に予め記憶されている。
【００７２】
判定部７は、解析部６Ｃから入力された遷移履歴（データＳ４）と、データ記憶領域１１から読み出した遷移履歴（サンプルデータＳ９Ｃ）とを比較し、データＳ４で与えられる遷移履歴が、サンプルデータＳ９Ｃで与えられる遷移履歴の一部に一致した場合には、外部機器１０からメモリ部５へのアクセスが正常であると判定する。一方、データＳ４で与えられる遷移履歴が、サンプルデータＳ９Ｃで与えられる遷移履歴のいずれにも一致しない場合には、判定部７は、外部機器１０からメモリ部５へのアクセスは不正であると判定する。
【００７３】
図９を参照して、判定部７による判定の結果に関するデータＳ５は、メモリマップ変更部８に入力される。以降の動作は上記実施の形態１と同様であるため、説明は省略する。
【００７４】
このように本実施の形態３に係る半導体記憶装置１Ｃによれば、判定部７は、コマンド種別Ｓ２及び論理アドレスＳ３の双方の遷移履歴に基づいて、メモリ部５へのアクセスが正常であるか不正であるかを判定する。そして、上記実施の形態１と同様に、メモリマップ変更部８は、メモリ部５へのアクセスが不正である場合には、正常エリア２２に対応する論理アドレスを正常エリア２２内の物理アドレスに変換しないメモリマップ３０Ｂを、アドレス生成部９に提供する。その結果、アクセスが不正である場合には、図６に示したように外部機器１０からはメモリ部５の正常エリア２２にはアクセスすることができないため、正常エリア２２に格納されている秘匿性の高いデータが、不正なアクセスによってメモリ部５の外部に読み出されることを回避できる。しかも、本実施の形態３に係る半導体記憶装置１Ｃによれば、コマンド種別及び論理アドレスの双方の遷移履歴に基づいて判定部７における判定が行われるため、上記実施の形態１，２のようにいずれか一方のみを用いて判定を行う場合と比較すると、判定の信頼性を高めることができる。
【００７５】
また、本実施の形態３に係る半導体記憶装置１Ｃによれば、図１０に示したように、メモリ部５に正常にアクセスした際のコマンド種別及び論理アドレスの双方の遷移履歴に関するサンプルデータＳ９Ｃが、事前に作成され、予めデータ記憶領域１１に格納されている。従って、このサンプルデータＳ９Ｃと、実際のメモリ動作時に解析部６Ｃによって解析されたコマンド種別及び論理アドレスの双方の遷移履歴（データＳ４）とを比較することによって、メモリ部５へのアクセスが正常であるか不正であるかを簡易かつ正確に判定することができる。
変形例．
【００７６】
以下、上記実施の形態１〜３の変形例について説明する。以下では上記実施の形態１を基礎とした変形例について説明するが、同様の変形例は上記実施の形態２，３にも適用可能である。
第１の変形例．
【００７７】
図１１は、第１の変形例に関して、メモリ部５の構成を示す図である。第１の変形例では、図２に示したダミーエリア２３が省略されている。
【００７８】
図１２は、第１の変形例に関して、メモリマップ変更部８が有するメモリマップ３０Ａ，３０Ｃを示す図である。図１２に示すようにメモリマップ変更部８は２つのメモリマップ３０Ａ，３０Ｃを有しており、判定部７から入力されたデータＳ５に基づいて、メモリマップ３０Ａ，３０Ｃの一方を、データＳ６としてコマンド実行部４（具体的にはアドレス生成部９）に提供する。
【００７９】
図１２に示したメモリマップ３０Ａは、図４に示したメモリマップ３０Ａと同様である。メモリマップ３０Ｃは、図１１に示した正常エリア２２に対応する論理アドレスを、正常エリア２２ではなく共通エリア２１内の物理アドレスに変換するためのメモリマップである。例えば図１２に示すように、正常エリア２２の先頭番地を示す論理アドレスＡ２００は、共通エリア２１内の先頭番地である物理アドレスＢ１００に変換される。
【００８０】
メモリマップ変更部８は、判定部７から入力されたデータＳ５に基づいて、外部機器１０からメモリ部５へのアクセスが正常である場合には、メモリマップ３０Ａを選択してコマンド実行部４に提供し、一方、外部機器１０からメモリ部５へのアクセスが不正である場合には、メモリマップ３０Ｃを選択してコマンド実行部４に提供する。
【００８１】
このように第１の変形例によれば、メモリ部５へのアクセスが不正である場合には、正常エリア２２に対応する論理アドレスは、共通エリア２１内の物理アドレスに変換される。従って、メモリ部５へのアクセスが不正である場合には、共通エリア２１に格納されている秘匿性の低いデータがメモリ部５から読み出されて外部機器１０に送信されるため、不正アクセス者による暗号解読処理等を効果的に妨害することができる。
第２の変形例．
【００８２】
図１３は、第２の変形例に関して、判定部７が有するデータ記憶領域１１を示す図である。データ記憶領域１１には、図３に示したサンプルデータＳ９Ａの代わりに、サンプルデータＳ９Ｄが記憶されている。サンプルデータＳ９Ｄは、作為的なアクセスパターンで外部機器１０からメモリ部５にアクセスした際の、論理アドレスＳ３の遷移履歴に関するデータである。作為的なアクセスパターンを予め任意に定めておき、対象となるアプリケーションの動作中の所定期間内（例えば起動処理期間内）に、外部機器１０からメモリ部５にその作為的なアクセスパターンでアクセスを行わせ、その際の論理アドレスＳ３の遷移履歴を解析する。そして、得られた解析結果の少なくとも一部（特にシーケンシャルアクセス以外の部分）が、サンプルデータＳ９Ｄとしてデータ記憶領域１１に予め記憶されている。
【００８３】
実際のメモリ動作時においては、上記の所定期間内（この例では起動処理期間内）において、予め定められた作為的なアクセスパターンによって、メモリ部５へのアクセスが行われる。そして、論理アドレスＳ３の遷移履歴が解析部６Ａによって解析され、その解析の結果に関するデータＳ４が判定部７に入力される。
【００８４】
判定部７は、解析部６Ａから入力された遷移履歴（データＳ４）と、データ記憶領域１１から読み出した遷移履歴（サンプルデータＳ９Ｄ）とを比較し、データＳ４で与えられる遷移履歴が、サンプルデータＳ９Ｄで与えられる遷移履歴に一致した場合には、外部機器１０からメモリ部５へのアクセスが正常であると判定する。一方、データＳ４で与えられる遷移履歴が、サンプルデータＳ９Ｄで与えられる遷移履歴に一致しない場合には、判定部７は、外部機器１０からメモリ部５へのアクセスは不正であると判定する。
【００８５】
このように第２の変形例によれば、作為的なアクセスパターンでメモリ部５にアクセスした際の論理アドレスの遷移履歴に関するサンプルデータＳ９Ｄが、事前に作成され、予めデータ記憶領域１１に格納されている。従って、このサンプルデータＳ９Ｄと、作為的なアクセスパターンによってメモリ部５へのアクセスが行われた際に解析部６Ａによって解析された論理アドレスの遷移履歴とを比較することによって、メモリ部５へのアクセスが正常であるか不正であるかを簡易かつ正確に判定することができる。
第３の変形例．
【００８６】
図１４は、第３の変形例に関して、判定部７が有するデータ記憶領域１１を示す図である。データ記憶領域１１には、図３に示したサンプルデータＳ９Ａの代わりに、サンプルデータＳ９Ｅが記憶されている。サンプルデータＳ９Ｅは、外部機器１０の起動処理時に外部機器１０がメモリ部５にアクセスする際の、論理アドレスＳ３の遷移履歴に関するデータである。外部機器１０の起動処理時に実行されるメモリ部５へのアクセスパターンは固定されているため、そのアクセスパターンを解析することによって、それに対応する論理アドレスＳ３の遷移履歴も予測可能である。そこで、予測された論理アドレスＳ３の遷移履歴の少なくとも一部（特にシーケンシャルアクセス以外の部分）が、サンプルデータＳ９Ｅとしてデータ記憶領域１１に予め記憶されている。
【００８７】
実際のメモリ動作時においては、外部機器１０の起動処理時、上記の固定のアクセスパターンによって、外部機器１０からメモリ部５へのアクセスが行われる。そして、論理アドレスＳ３の遷移履歴が解析部６Ａによって解析され、その解析の結果に関するデータＳ４が判定部７に入力される。
【００８８】
判定部７は、解析部６Ａから入力された遷移履歴（データＳ４）と、データ記憶領域１１から読み出した遷移履歴（サンプルデータＳ９Ｅ）とを比較し、データＳ４で与えられる遷移履歴が、サンプルデータＳ９Ｅで与えられる遷移履歴に一致した場合には、外部機器１０からメモリ部５へのアクセスが正常であると判定する。一方、データＳ４で与えられる遷移履歴が、サンプルデータＳ９Ｅで与えられる遷移履歴に一致しない場合には、判定部７は、外部機器１０からメモリ部５へのアクセスは不正であると判定する。
【００８９】
このように第３の変形例によれば、外部機器１０の起動時に外部機器１０がメモリ部５にアクセスする際の論理アドレスＳ３の遷移履歴に関するサンプルデータＳ９Ｅが、事前に作成され、予めデータ記憶領域１１に格納されている。従って、このサンプルデータＳ９Ｅと、外部機器１０の起動時に外部機器１０がメモリ部５にアクセスした際に解析部６Ａによって解析された論理アドレスＳ３の遷移履歴とを比較することによって、メモリ部５へのアクセスが正常であるか不正であるかを簡易かつ正確に判定することができる。
第４の変形例．
【００９０】
図１５は、第４の変形例に関して、判定部７が有するデータ記憶領域１１を示す図である。データ記憶領域１１には、図３に示したサンプルデータＳ９Ａと同様の複数個（図１５に示した例では２個）のサンプルデータＳ９Ａ１，Ｓ９Ａ２が記憶されている。サンプルデータＳ９Ａ１，Ｓ９Ａ２はいずれも、サンプルデータＳ９Ａと同様に、外部機器１０からメモリ部５に正常にアクセスした際の、論理アドレスＳ３の遷移履歴に関するデータである。対象となるアプリケーションを事前に動作させて外部機器１０からメモリ部５に正常なアクセスを行い、その際の論理アドレスＳ３の遷移履歴を解析する。そして、得られた解析結果の互いに異なる部分（特にシーケンシャルアクセス以外の部分）が、サンプルデータＳ９Ａ１，Ｓ９Ａ２として抽出されて、データ記憶領域１１に予め記憶されている。
【００９１】
判定部７は、解析部６Ａから入力された遷移履歴（データＳ４）と、データ記憶領域１１から読み出した遷移履歴（サンプルデータＳ９Ａ１，Ｓ９Ａ２）とを比較し、データＳ４で与えられる遷移履歴が、サンプルデータＳ９Ａ１又はサンプルデータＳ９Ａ２で与えられる遷移履歴に一致した場合には、外部機器１０からメモリ部５へのアクセスが正常であると判定する。一方、データＳ４で与えられる遷移履歴が、サンプルデータＳ９Ａ１，Ｓ９Ａ２で与えられる遷移履歴のいずれにも一致しない場合には、判定部７は、外部機器１０からメモリ部５へのアクセスは不正であると判定する。
【００９２】
なお、第４の変形例は、サンプルデータＳ９Ａのみならず、上記の他のサンプルデータＳ９Ｂ〜Ｓ９Ｅについても適用可能である。
【００９３】
このように第４の変形例によれば、複数のサンプルデータＳ９Ａ１，Ｓ９Ａ２を準備しておくことにより、判定部７は、プログラムの進行状況等に応じて適切なサンプルデータＳ９Ａ１，Ｓ９Ａ２を用いて、データＳ４との比較を行うことができる。その結果、メモリ部５へのアクセスが正常であるか不正であるかを、より正確に判定することができる。
第５の変形例．
【００９４】
図１６は、第５の変形例に関して、判定部７が有するデータ記憶領域１１を示す図である。データ記憶領域１１には、図３に示したサンプルデータＳ９Ａの代わりに、データＳ９Ｆが記憶されている。データＳ９Ｆは、メモリ部５に正常にアクセスした際のシーケンシャルアクセスの最大値に関するデータである。対象となるアプリケーションを事前に動作させて外部機器１０からメモリ部５に正常なアクセスを行い、その際のシーケンシャルアクセスの最大値（つまり連続する論理アドレスＳ３の個数の最大値）を解析する。そして、解析によって求められた最大値が、データＳ９Ｆとしてデータ記憶領域１１に予め記憶されている。
【００９５】
実際のメモリ動作時においては、外部機器１０からメモリ部５へのアクセスが行われ、解析部６Ａは、コマンド解析部３から入力される論理アドレスＳ３に関して、シーケンシャルアクセスの最大値を解析する。そして、その解析の結果に関するデータＳ４が判定部７に入力される。
【００９６】
判定部７は、解析部６Ａから入力されたデータＳ４と、データ記憶領域１１から読み出したデータＳ９Ｆとを比較する。そして、データＳ４で与えられる最大値がデータＳ９Ｆで与えられる最大値以下である場合には、メモリ部５へのアクセスは正常であると判定する。一方、データＳ４で与えられる最大値がデータＳ９Ｆで与えられる最大値を超えた場合には、メモリ部５へのアクセスが不正であると判定する。
【００９７】
このように第５の変形例によれば、メモリ部５に正常にアクセスした際のシーケンシャルアクセスの最大値が、事前に求められて、その最大値に関するデータＳ９Ｆが予めデータ記憶領域１１に格納されている。従って、実際のメモリ動作時においてメモリ部５へのシーケンシャルアクセス数がその最大値（データＳ９Ｆ）を超えた場合には、メモリ部５へのアクセスが不正であると判定することにより、メモリ部５へのアクセスが正常であるか不正であるかを簡易かつ正確に判定することができる。特に、不正アクセス者はシーケンシャルアクセスによってメモリ部５にアクセスしてくることが多いため、このような場合に効果が大きい。
第６の変形例．
【００９８】
図１７は、第６の変形例に関して、メモリ部５の正常エリア２２を示す図である。図２に示した正常エリア２２が複数個（図１７に示した例では３個）の領域に分割されて、正常エリア２２Ａ〜２２Ｃが規定されている。説明の便宜上、正常エリア２２Ａ→２２Ｂ→２２Ｃの順に、外部機器１０からのアクセスが進行するものとする。
【００９９】
上記実施の形態１では、外部機器１０から共通エリア２１へのアクセスが正常である場合には、正常エリア２２の全領域を外部機器１０からアクセス可能としたが、第６の変形例では、これに代えて以下のような処理を行う。
【０１００】
まず、外部機器１０が共通エリア２１にアクセスしている間に、上述した任意の手法によって、そのアクセスが正常であるか不正であるかを判定する。判定の結果、アクセスが正常である場合には、正常エリア２２の全領域中の正常エリア２２Ａのみを、外部機器１０からアクセス可能とする。つまり、正常エリア２２Ａに対応する論理アドレスに基づく、正常エリア２２Ａ内の物理アドレスの生成を、アドレス生成部９に対して許可する。一方、判定の結果、アクセスが不正である場合には、外部機器１０から正常エリア２２Ａへのアクセスを許可しない。つまり、正常エリア２２Ａに対応する論理アドレスに基づく、正常エリア２２Ａ内の物理アドレスの生成を、アドレス生成部９に対して許可しない。この場合は、上記の通り、正常エリア２２ではなくダミーエリア２３又は共通エリア２１へのアクセスが行われる。
【０１０１】
次に、外部機器１０が正常エリア２２Ａにアクセスしている間に、上述した任意の手法によって、そのアクセスが正常であるか不正であるかを判定する。判定の結果、正常エリア２２Ａへのアクセスが正常である場合には、正常エリア２２Ａに続く正常エリア２２Ｂを、外部機器１０からアクセス可能とする。一方、判定の結果、正常エリア２２Ａへのアクセスが不正である場合には、外部機器１０から正常エリア２２Ｂへのアクセスを許可しない。この場合は、上記の通り、正常エリア２２Ｂではなくダミーエリア２３又は共通エリア２１へのアクセスが行われる。
【０１０２】
同様に、外部機器１０が正常エリア２２Ｂにアクセスしている間に、上述した任意の手法によって、そのアクセスが正常であるか不正であるかを判定する。判定の結果、正常エリア２２Ｂへのアクセスが正常である場合には、正常エリア２２Ｂに続く正常エリア２２Ｃを、外部機器１０からアクセス可能とする。一方、判定の結果、正常エリア２２Ｂへのアクセスが不正である場合には、外部機器１０から正常エリア２２Ｃへのアクセスを許可しない。この場合は、上記の通り、正常エリア２２Ｃではなくダミーエリア２３又は共通エリア２１へのアクセスが行われる。
【０１０３】
このように第６の変形例によれば、メモリ部５は少なくとも正常エリア２２Ａ（第１部分領域）及び正常エリア２２Ｂ（第２部分領域）を有している。そして、アドレス生成部９は、正常エリア２２Ａへのアクセスが不正である場合には、正常エリア２２Ｂに対応する論理アドレスに基づいて正常エリア２２Ｂ内の物理アドレスを生成しない。その結果、外部機器１０からはメモリ部５の正常エリア２２Ｂにはアクセスすることができないため、正常エリア２２Ｂに格納されている秘匿性の高いデータが、不正なアクセスによって外部に読み出されることを回避できる。これにより、正常エリア２２Ａへのアクセスと正常エリア２２Ｂへのアクセスとが同時に許可される場合と比較すると、セキュリティ性を高めることが可能となる。
第７の変形例．
【０１０４】
図１８は、第７の変形例に関して、メモリ部５の正常エリア２２を示す図である。上記第６の変形例では、アクセスが正常である場合、正常エリア２２Ａ→２２Ｂ→２２Ｃの順で、外部機器１０からのアクセスが許可された。ここで、例えば正常エリア２２Ａへのアクセスが完了して、続く正常エリア２２Ｂへのアクセスに移行した後は、図１８に示すように、外部機器１０から正常エリア２２Ａへのアクセスを禁止してもよい。つまり、アドレス生成部９は、正常エリア２２Ａへのアクセスが完了して正常エリア２２Ｂへのアクセスに移行した後は、たとえ正常エリア２２Ａに対応する論理アドレスがコマンド解析部３から入力されても、正常エリア２２Ａ内の物理アドレスを生成しない。この場合は、ダミーエリア２３又は共通エリア２１へのアクセスが行われる。同様に、正常エリア２２Ｂへのアクセスが完了して、続く正常エリア２２Ｃへのアクセスに移行した後は、外部機器１０から正常エリア２２Ｂへのアクセスを禁止してもよい。
【０１０５】
図１９は、第７の変形例に関して、メモリ部５を示す図である。図１８では、正常エリア２２内において遡及的なアクセスを禁止する例について述べたが、同様に、図１９を参照して、共通エリア２１へのアクセスが完了して、続く正常エリア２２へのアクセスに移行した後に、外部機器１０から共通エリア２１へのアクセスを禁止してもよい。
【０１０６】
このように第７の変形例によれば、アドレス生成部９は、正常エリア２２Ａへのアクセスが完了して正常エリア２２Ｂへのアクセスに移行した後は、たとえ正常エリア２２Ａに対応する論理アドレスがコマンド解析部３から入力されても、正常エリア２２Ａ内の物理アドレスを生成しない。従って、正常エリア２２Ａへのアクセスが完了して正常エリア２２Ｂへのアクセスに移行した後は、外部機器１０からはメモリ部５の正常エリア２２Ａにはアクセスすることができないため、正常エリア２２Ａに格納されている秘匿性の高いデータが、不正なアクセスによって外部に読み出されることを回避できる。
第８の変形例．
【０１０７】
その他の変形例として、図２に示した共通エリア２１を省略してもよい。また、通常時は共通エリア２１のみにアクセス可能としておき、所定の順序で論理アドレスが入力された場合には、追加的に正常エリア２２へのアクセスを可能としてもよい。また、通常時は共通エリア２１と共通エリア２１の内容をコピーしたエリア（「ミラーエリア」と称す）とにアクセス可能としておき、所定の順序で論理アドレスが入力された場合には、ミラーエリアを正常エリア２２に差し替えることにより、正常エリア２２にアクセス可能としてもよい。また、正常エリア２２へのアクセスが可能となっている状態において、アクセスが不正であることが判明した場合には、アクセス可能なエリアを正常エリア２２からダミーエリア２３へ切り換えてもよい。
【符号の説明】
【０１０８】
１Ａ〜１Ｃ  半導体記憶装置
５  メモリ部
６Ａ〜６Ｃ  解析部
７  判定部
８  メモリマップ変更部
９  アドレス生成部
１０  外部機器
１１  データ記憶領域
２１  共通エリア
２２，２２Ａ〜２２Ｃ  正常エリア
２３  ダミーエリア
Ｓ９Ａ〜Ｓ９Ｅ，Ｓ９Ａ１，Ｓ９Ａ２  サンプルデータ
Ｓ９Ｆ  データ
３０Ａ〜３０Ｃ  メモリマップ
【図１】
0005716051.tif 000002
【図２】
0005716051.tif 000003
【図３】
0005716051.tif 000004
【図４】
0005716051.tif 000005
【図５】
0005716051.tif 000006
【図６】
0005716051.tif 000007
【図７】
0005716051.tif 000008
【図８】
0005716051.tif 000009
【図９】
0005716051.tif 000010
【図１０】
0005716051.tif 000011
【図１１】
0005716051.tif 000012
【図１２】
0005716051.tif 000013
【図１３】
0005716051.tif 000014
【図１４】
0005716051.tif 000015
【図１５】
0005716051.tif 000016
【図１６】
0005716051.tif 000017
【図１７】
0005716051.tif 000018
【図１８】
0005716051.tif 000019
【図１９】
0005716051.tif 000020