(57)【要約】【課題】各種のデータが格納される半導体メモリにおいて、セキュリティを高くすると演算量が増し、読み出しパフォーマンスが低下するという問題があった。【解決手段】半導体メモリ１０は、メモリ制御部１３とメモリコア部１１とを備える。メモリ制御部１３の備えるコマンド判定回路１３２は、情報処理装置の制御部から送信されたコマンドに応じて半導体メモリ１０の動作モードを変更する。第１モードでは、コマンド復号回路１３１において復号処理が行われ、メモリコア部１１から出力されるデータはスクランブルされない。第２モードでは、コマンド復号回路１３１において復号処理は行われず、メモリコア部１１から出力されるコマンドはスクランブルされる。【選択図】図２
2006139884.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置に着脱自在に装着される半導体メモリ装置であって、
保護すべきプログラムを含むデータを記憶し、アドレス入力部とデータ出力部とを含むメモリコア部と、
前記情報処理装置から命令コードとアドレスデータとを含むコマンドが与えられるコマンド入力端子と、前記メモリコア部から読み出されたデータを前記情報処理装置に与えるためのデータ出力端子とを含む入出力端子部と、
前記メモリコア部と前記入出力端子部との間に接続されるメモリ制御手段と、
を備え、
前記メモリ制御手段は、
前記コマンド入力端子に与えられるコマンドを復号し、またはコマンドをそのまま出力するように選択的に動作するコマンド復号手段と、
前記メモリコア部から読み出されたデータをスクランブルし、またはデータをそのまま出力するように選択的に動作するスクランブル手段と、
前記情報処理装置から与えられたコマンドが、第１の動作モードへの遷移を指定する第１のコマンドであるか、または第２の動作モードへの遷移を指定する第２のコマンドであるかを判定するコマンド判定手段と、
前記コマンド判定手段によって第１のコマンドと判定されたことに応じて、前記コマンド復号手段によるコマンドの復号機能を有効にする第１の動作モードを選択し、前記コマンド判定手段によって第２のコマンドと判定されたことに応じて、前記スクランブル手段によるスクランブル機能を有効にする第２の動作モードを選択する動作モード制御手段と、
を含むことを特徴とする半導体メモリ装置。
【請求項２】
請求項１に記載の半導体メモリ装置において、
前記メモリ制御手段は、
前記コマンド入力端子に与えられるコマンドをそのまま通過させ、またはコマンドをデスクランブルするように選択的に動作するデスクランブル手段、
を含み、
前記動作モード制御手段は、前記第１の動作モードを選択したとき、前記デスクランブル手段のデスクランブル機能を無効にすることを特徴とする半導体メモリ装置。
【請求項３】
請求項２に記載の半導体メモリ装置において、
前記動作モード制御手段は、前記第２の動作モードを選択したとき、前記デスクランブル手段のデスクランブル機能を有効にすることを特徴とする半導体メモリ装置。
【請求項４】
情報処理装置に着脱自在に装着される半導体メモリ装置であって、
保護すべきプログラムを含むデータを記憶し、アドレス入力部とデータ出力部とを含むメモリコア部と、
前記情報処理装置から命令コードとアドレスデータとを含むコマンドが与えられるコマンド入力端子と、前記メモリコア部から読み出されたデータを前記情報処理装置に与えるためのデータ出力端子とを含む入出力端子部と、
前記メモリコア部と前記入出力端子部との間に接続されるメモリ制御手段と、
を備え、
前記メモリ制御手段は、
前記コマンド入力端子部に与えられるコマンドをデスクランブルし、またはコマンドをそのまま出力するように選択的に動作するデスクランブル手段と、
前記コマンド入力端子に与えられるコマンドを復号し、またはコマンドをそのまま出力するように選択的に動作するコマンド復号手段と、
前記情報処理装置から与えられたコマンドが、第１の動作モードへの遷移を指定する第１のコマンドであるか、または第２の動作モードへの遷移を指定する第２のコマンドであるかを判定するコマンド判定手段と、
前記コマンド判定手段によって第１のコマンドであると判定されたことに応じて、前記コマンド復号手段によるコマンドの復号機能を有効にする第１の動作モードを選択し、前記コマンド判定手段によって第２のコマンドであると判定されたことに応じて、前記デスクランブル手段によるデスクランブル機能を有効にする第２の動作モードを選択する動作モード制御手段と、
を含むことを特徴とする半導体メモリ装置。
【請求項５】
請求項４に記載の半導体メモリ装置において、
前記メモリ制御手段は、
前記メモリコア部から読み出されたデータをスクランブルし、または前記メモリコア部から読み出されたデータをそのまま出力するように選択的に動作するスクランブル手段、
を含み、
前記動作モード制御手段は、前記第２の動作モードを選択したとき、前記スクランブル手段のスクランブル機能を有効にすることを特徴とする半導体メモリ装置。
【請求項６】
請求項５に記載の半導体メモリ装置において、
前記動作モード制御手段は、前記第１の動作モードを選択したとき、前記スクランブル手段のスクランブル機能を無効にすることを特徴とする半導体メモリ装置。
【請求項７】
情報処理装置に着脱自在に装着される半導体メモリ装置であって、
保護すべきプログラムを含むデータを記憶し、アドレス入力部とデータ出力部とを含むメモリコア部と、
前記情報処理装置から命令コードとアドレスデータとを含むコマンドが与えられるコマンド入力端子と、前記メモリコア部から読み出されたデータを前記情報処理装置に与えるためのデータ出力端子とを含む入出力端子部と、
前記メモリコア部と前記入出力端子部との間に接続されるメモリ制御手段と、
を備え、
前記メモリ制御手段は、
前記コマンド入力端子部に与えられるコマンドをデスクランブルし、またはコマンドをそのまま出力するように選択的に動作するデスクランブル手段と、
前記コマンド入力端子に与えられるコマンドを復号し、またはコマンドをそのまま出力するように選択的に動作するコマンド復号手段と、
前記メモリコア部から読み出されたデータをスクランブルし、またはデータをそのまま出力するように選択的に動作するスクランブル手段と、
前記情報処理装置から与えられたコマンドが、第１の動作モードへの遷移を指定する第１のコマンドであるか、または第２の動作モードへの遷移を指定する第２のコマンドであるかを判定するコマンド判定手段と、
前記コマンド判定手段によって第１のコマンドであると判定されたことに応じて、前記デスクランブル手段のデスクランブル機能を無効にし、かつ、前記コマンド復号手段によるコマンドの復号機能を有効にする第１の動作モードを選択し、前記コマンド判定手段によって第２のコマンドであると判定されたことに応じて、前記デスクランブル手段および前記スクランブル手段のうちいずれか一方の機能を有効にする第２の動作モードを選択する動作モード制御手段と、
を含むことを特徴とする半導体メモリ装置。
【請求項８】
請求項７に記載の半導体メモリ装置において、
前記動作モード制御手段は、前記コマンド判定手段によって前記第２のコマンドであると判定されたことに応じて、前記デスクランブル手段および前記スクランブル手段の両方の機能を有効にすることを特徴とする半導体メモリ装置。
【請求項９】
請求項７に記載の半導体メモリ装置において、
前記動作モード制御手段は、前記コマンド判定手段によって前記第１のコマンドであると判定されたことに応じて、前記スクランブル手段のスクランブル機能を有効にすることを特徴とする半導体メモリ装置。
【請求項１０】
請求項１ないし請求項９のいずれかに記載の半導体メモリ装置において、
前記入出力端子部は、所定数の端子を有し、時分割的に切り換えることにより、前記コマンド入力端子と前記データ出力端子とを兼用することを特徴とする半導体メモリ装置。
【請求項１１】
請求項１または請求項７に記載の半導体メモリ装置において、
前記メモリ制御手段は、
前記スクランブル手段のスクランブル条件を設定するレジスタ、
を含み、
前記動作モード制御手段は、前記第１の動作モードによる動作中、前記レジスタの内容を更新することを特徴とする半導体メモリ装置。
【請求項１２】
請求項４に記載の半導体メモリ装置において、
前記メモリ制御手段は、
前記デスクランブル手段のデスクランブル条件を設定するレジスタ、
を含み、
前記動作モード制御手段は、前記第１の動作モードによる動作中、前記レジスタの内容を更新することを特徴とする半導体メモリ装置。
【請求項１３】
請求項１ないし請求項１２のいずれかに記載の半導体メモリ装置において、
前記情報処理装置により与えられるコマンドにより、前記第２動作モードによる動作期間よりも前記第１動作モードによる動作期間が長くなるように制御されることを特徴とする半導体メモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリ装置に関し、特に半導体メモリに記憶される各種データの機密保護に関する。
【背景技術】
【０００２】
半導体メモリを着脱可能とし、この半導体メモリに格納されたプログラムを含むデータを利用して動作する情報処理装置が知られている。そして、この半導体メモリに格納されているデータの機密保護を図るための様々な仕組みが提案されている。
【０００３】
特許文献１には、キーデータを用いて半導体メモリから出力されるデータをスクランブルすることによりデータの機密保護を図る技術が開示されている。
【０００４】
また、特許文献２あるいは特許文献３には、半導体メモリに対して出力するアドレスデータまたは半導体メモリから出力されるデータを、論理回路（ロジック）によって一種の暗号化することにより、データの機密保護を図る技術が開示されている。
【０００５】
【特許文献１】特開平９−１０６６９０号公報
【特許文献２】特開２００１−３５１７１号公報
【特許文献３】特開平７−２１９８５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１は、スクランブル方式を用いた機密保護方法であり、データ転送効率が高いというメリットがある反面、一般的に機密保護の強度が弱いというデメリットがある。また、特許文献２あるいは特許文献３は、論理回路による１ステップの論理演算なので、処理が早い反面、どのような論理回路を用いているか分かれば容易に解析され、機密性が低いというデメリットがある。機密性を高める方法として、半導体メモリと情報処理装置との間に１チップマイコンのような安価な処理回路を挿入して、暗号アルゴリズムを処理する暗号方式が考えられる。しかし、このような暗号方式を用いた機密保護方法は、機密保護の強度が高いというメリットのある反面、データの転送効率が低くなるというデメリットがある。
【０００７】
そこで、本発明は前述の問題点に鑑み、機密保護の強度とデータ転送効率のバランスを考慮し、高い機密保護機能を有し、かつ、読み出しパフォーマンスに優れた半導体メモリを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、請求項１記載の発明は、情報処理装置に着脱自在に装着される半導体メモリ装置であって、保護すべきプログラムを含むデータを記憶し、アドレス入力部とデータ出力部とを含むメモリコア部と、前記情報処理装置から命令コードとアドレスデータとを含むコマンドが与えられるコマンド入力端子と、前記メモリコア部から読み出されたデータを前記情報処理装置に与えるためのデータ出力端子とを含む入出力端子部と、前記メモリコア部と前記入出力端子部との間に接続されるメモリ制御手段と、を備え、前記メモリ制御手段は、前記コマンド入力端子に与えられるコマンドを復号し、またはコマンドをそのまま出力するように選択的に動作するコマンド復号手段と、前記メモリコア部から読み出されたデータをスクランブルし、またはデータをそのまま出力するように選択的に動作するスクランブル手段と、前記情報処理装置から与えられたコマンドが、第１の動作モードへの遷移を指定する第１のコマンドであるか、または第２の動作モードへの遷移を指定する第２のコマンドであるかを判定するコマンド判定手段と、前記コマンド判定手段によって第１のコマンドと判定されたことに応じて、前記コマンド復号手段によるコマンドの復号機能を有効にする第１の動作モードを選択し、前記コマンド判定手段によって第２のコマンドと判定されたことに応じて、前記スクランブル手段によるスクランブル機能を有効にする第２の動作モードを選択する動作モード制御手段と、を含むことを特徴とする。
【０００９】
請求項２記載の発明は、請求項１に記載の半導体メモリ装置において、前記メモリ制御手段は、前記コマンド入力端子に与えられるコマンドをそのまま通過させ、またはコマンドをデスクランブルするように選択的に動作するデスクランブル手段を含み、前記動作モード制御手段は、前記第１の動作モードを選択したとき、前記デスクランブル手段のデスクランブル機能を無効にすることを特徴とする。
【００１０】
請求項３記載の発明は、請求項２に記載の半導体メモリ装置において、前記動作モード制御手段は、前記第２の動作モードを選択したとき、前記デスクランブル手段のデスクランブル機能を有効にすることを特徴とする。
【００１１】
請求項４記載の発明は、情報処理装置に着脱自在に装着される半導体メモリ装置であって、保護すべきプログラムを含むデータを記憶し、アドレス入力部とデータ出力部とを含むメモリコア部と、前記情報処理装置から命令コードとアドレスデータとを含むコマンドが与えられるコマンド入力端子と、前記メモリコア部から読み出されたデータを前記情報処理装置に与えるためのデータ出力端子とを含む入出力端子部と、前記メモリコア部と前記入出力端子部との間に接続されるメモリ制御手段と、を備え、前記メモリ制御手段は、前記コマンド入力端子部に与えられるコマンドをデスクランブルし、またはコマンドをそのまま出力するように選択的に動作するデスクランブル手段と、前記コマンド入力端子に与えられるコマンドを復号し、またはコマンドをそのまま出力するように選択的に動作するコマンド復号手段と、前記情報処理装置から与えられたコマンドが、第１の動作モードへの遷移を指定する第１のコマンドであるか、または第２の動作モードへの遷移を指定する第２のコマンドであるかを判定するコマンド判定手段と、前記コマンド判定手段によって第１のコマンドであると判定されたことに応じて、前記コマンド復号手段によるコマンドの復号機能を有効にする第１の動作モードを選択し、前記コマンド判定手段によって第２のコマンドであると判定されたことに応じて、前記デスクランブル手段によるデスクランブル機能を有効にする第２の動作モードを選択する動作モード制御手段と、を含むことを特徴とする。
【００１２】
請求項５記載の発明は、請求項４に記載の半導体メモリ装置において、前記メモリ制御手段は、前記メモリコア部から読み出されたデータをスクランブルし、または前記メモリコア部から読み出されたデータをそのまま出力するように選択的に動作するスクランブル手段、を含み、前記動作モード制御手段は、前記第２の動作モードを選択したとき、前記スクランブル手段のスクランブル機能を有効にすることを特徴とする。
【００１３】
請求項６記載の発明は、請求項５に記載の半導体メモリ装置において、前記動作モード制御手段は、前記第１の動作モードを選択したとき、前記スクランブル手段のスクランブル機能を無効にすることを特徴とする。
【００１４】
請求項７記載の発明は、情報処理装置に着脱自在に装着される半導体メモリ装置であって、保護すべきプログラムを含むデータを記憶し、アドレス入力部とデータ出力部とを含むメモリコア部と、前記情報処理装置から命令コードとアドレスデータとを含むコマンドが与えられるコマンド入力端子と、前記メモリコア部から読み出されたデータを前記情報処理装置に与えるためのデータ出力端子とを含む入出力端子部と、前記メモリコア部と前記入出力端子部との間に接続されるメモリ制御手段とを備え、前記メモリ制御手段は、前記コマンド入力端子部に与えられるコマンドをデスクランブルし、またはコマンドをそのまま出力するように選択的に動作するデスクランブル手段と、前記コマンド入力端子に与えられるコマンドを復号し、またはコマンドをそのまま出力するように選択的に動作するコマンド復号手段と、前記メモリコア部から読み出されたデータをスクランブルし、またはデータをそのまま出力するように選択的に動作するスクランブル手段と、前記情報処理装置から与えられたコマンドが、第１の動作モードへの遷移を指定する第１のコマンドであるか、または第２の動作モードへの遷移を指定する第２のコマンドであるかを判定するコマンド判定手段と、前記コマンド判定手段によって第１のコマンドであると判定されたことに応じて、前記デスクランブル手段のデスクランブル機能を無効にし、かつ、前記コマンド復号手段によるコマンドの復号機能を有効にする第１の動作モードを選択し、前記コマンド判定手段によって第２のコマンドであると判定されたことに応じて、前記デスクランブル手段および前記スクランブル手段のうちいずれか一方の機能を有効にする第２の動作モードを選択する動作モード制御手段と、を含むことを特徴とする。
【００１５】
請求項８記載の発明は、請求項７に記載の半導体メモリ装置において、前記動作モード制御手段は、前記コマンド判定手段によって前記第２のコマンドであると判定されたことに応じて、前記デスクランブル手段および前記スクランブル手段の両方の機能を有効にすることを特徴とする。
【００１６】
請求項９記載の発明は、請求項７に記載の半導体メモリ装置において、前記動作モード制御手段は、前記コマンド判定手段によって前記第１のコマンドであると判定されたことに応じて、前記スクランブル手段のスクランブル機能を有効にすることを特徴とする。
【００１７】
請求項１０記載の発明は、請求項１ないし請求項９のいずれかに記載の半導体メモリ装置において、前記入出力端子部は、所定数の端子を有し、時分割的に切り換えることにより、前記コマンド入力端子と前記データ出力端子とを兼用することを特徴とする。
【００１８】
請求項１１記載の発明は、請求項１または請求項７に記載の半導体メモリ装置において、前記メモリ制御手段は、前記スクランブル手段のスクランブル条件を設定するレジスタ、を含み、前記動作モード制御手段は、前記第１の動作モードによる動作中、前記レジスタの内容を更新することを特徴とする。
【００１９】
請求項１２記載の発明は、請求項４に記載の半導体メモリ装置において、前記メモリ制御手段は、前記デスクランブル手段のデスクランブル条件を設定するレジスタ、を含み、前記動作モード制御手段は、前記第１の動作モードによる動作中、前記レジスタの内容を更新することを特徴とする。
【００２０】
請求項１３記載の発明は、請求項１ないし請求項１２のいずれかに記載の半導体メモリ装置において、前記情報処理装置により与えられるコマンドにより、前記第２動作モードによる動作期間よりも前記第１動作モードによる動作期間が長くなるように制御されることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、セキュリティ強度の異なる複数の動作モードを有し、これら動作モードを切り替えつつ動作させることにより、セキュリティの強化が高められるとともに、読み出しパフォーマンスにも優れた、半導体メモリ装置が得られる。
【００２２】
また、本発明の半導体メモリによれば、スクランブルを利用したセキュリティの弱いモードを中心に動作しながら、暗号を利用したセキュリティの強いモード時にスクランブル処理の条件を初期化しているので、セキュリティの弱いモードにおけるセキュリティの強度が効率良く補われ、全ての動作モードを平均すると、読み出しパフォーマンスにも優れている。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照しつつ本発明の実施の形態について説明する。図１は、本発明の半導体メモリ装置１０が適用される情報処理装置１との関係を示す図である。本実施の形態において、半導体メモリ装置（以下「半導体メモリ」と略称する）１０は、情報処理装置１の本体に対して着脱可能な不揮発性メモリ（例えば、ＲＯＭ，フラッシュメモリ等）である。この半導体メモリ１０には、不正複製又は不正読み出しから機密性を保護する必要のあるプログラムや画像データや音楽データ等の各種データが固定的に記憶されている。情報処理装置１は、ＣＰＵ及びＲＡＭを含み、半導体メモリ１０を交換することによって、ＲＯＭに格納されたデータに応じた様々な情報処理を実行する。そして、半導体メモリ１０と情報処理装置（又は情報処理装置本体）１によって、情報処理システム２が構成される。
【００２４】
｛第１の実施の形態｝
次に、第１の実施の形態に係る半導体メモリ１０の構成について説明する。図２は、半導体メモリ１０の回路ブロック図である。半導体メモリ１０は、メモリコア部１１と入出力端子部１２を含み、メモリコア部１１と入出力端子部１２との間にメモリ制御部１３を挿入することによって、メモリコア部１１に記憶されるデータの機密保護を図っている。
【００２５】
入出力端子部１２は、情報処理装置１から供給されたコマンドを入力するコマンド入力端子と、メモリコア部１１から読み出されたデータを出力するデータ出力端子とを含む。コマンド入力端子には、情報処理装置１からコマンドバス（一般にアドレスバスという場合もある）を介して与えられるコマンドが入力される。データ出力端子は、情報処理装置１のデータバスに接続される。なお、情報処理装置１が、コマンドバスとデータバスを共用しかつコマンドとデータを時分割的に切り換えて出力又は入力する形式のものであれば、コマンド入力端子とデータ出力端子がハード的に兼用（共用）される。この場合において、コマンド及びデータのビット数が端子数よりも大きければ、コマンド又はデータを複数回に分割して供給することになる。
【００２６】
ここで、情報処理装置１から供給されるコマンドは、命令コードとアドレスデータとを含んでいる。したがって、コマンド入力端子は、コマンドバスを介して与えられる命令コードと、アドレスバスを介して与えられるアドレスデータとを入力する端子である。また、データ出力端子は、メモリコア部１１から出力されたデータをデータバスに出力する端子である。
【００２７】
そして、コマンド入力端子の全部または一部を、データ出力端子の全部または一部と兼用させている。そして、コマンドの入力タイミングとデータの出力タイミングとで端子を時分割で使い分けている。このような構成にすれば、情報処理装置１と半導体メモリ１０の間を接続するバスのライン数を削減可能となる。
【００２８】
また、コマンドには、情報処理装置１がメモリコア部１１に格納されているデータを読み出すための読み出しコマンド、および情報処理装置１が半導体メモリ１０の動作モードを制御するための動作モード切替コマンドが含まれる。また、メモリコア部１１に格納されているデータには、プログラム，画像データおよび音声データ等、又はゲームデータ等の各種のデータが含まれる。メモリ制御部１３は、メモリコア部１１に格納されたデータに対するアクセス制御を行う回路であり、データの機密保護又はセキュリティを確保する機能を有する。
【００２９】
図２の実施例のメモリ制御部１３は、コマンド復号回路１３１，コマンド判定回路１３２，データスクランブル回路１３３，モード制御回路１３４およびスクランブル用レジスタ（以下「レジスタ」と略称する）１３５を含んで構成される。メモリコア部１１は、多数のメモリセル等を含む記憶領域である。このメモリコア部１１は、安価なマスクＲＯＭが用いられるが、これに限らず、フラッシュメモリやＥＰＲＯＭ等の不揮発性メモリを用いても良い。
【００３０】
コマンド復号回路１３１は、情報処理装置１から受け取ったコマンドを復号化したり、そのまま出力するように選択的に動作する回路である。データスクランブル回路１３３は、メモリコア部１１から出力されるデータに対してスクランブル処理を行ったり、そのまま出力するように選択的に動作する回路である。したがって、情報処理装置１から半導体メモリ１０に供給されるコマンドの機密を保護し、結果的に半導体メモリ１０のアクセス制御をするために、コマンドの暗号化処理が行われる。また、半導体メモリ１０から情報処理装置１へ出力されるデータの機密を保護するために、データのスクランブル処理が行われる。
【００３１】
なお、本発明でいう暗号処理には、アドレスバスやデータバスのスクランブル処理（ビット操作）を含まないものとする。つまり、ビット操作によって情報を攪乱するスクランブル処理に対して、本発明における暗号処理はビット単位のビット演算を含むコマンド自体を暗号処理するものであり、例えば秘密鍵方式（共通鍵方式ともいう）に類する暗号方式を用いても良い。
【００３２】
図３はコマンド復号回路１３１の具体的な構成を示す図である。コマンド復号回路１３１の入力側には、バス切替回路１３１ｓが設けられる。このバス切替回路１３１ｓがモード制御回路１３４から与えられた切替制御信号に応じてコマンドをコマンド復号回路１３１を介して出力するか、それともそのまま出力するかを切り替え可能に構成される。具体的には、モード制御回路１３４からコマンド復号機能をＯＮとする切替制御信号が与えられた場合は、入出力端子部１２から入力されたコマンドをコマンド復号回路１３１に与えて、コマンド復号機能を能動化（又は有効化）させる。一方、モード制御回路１３４からコマンド復号機能をＯＦＦとする切替制御信号が与えられた場合は、入出力端子部１２から入力されたコマンドをそのまま通過させるようにバイパスラインを介して出力することにより、コマンド復号機能を不能動化（又は無効化）させる。これによって、コマンド復号回路１３１が切替制御信号によってＯＮ／ＯＦＦ制御されることになる。ここで、コマンド復号回路１３１の具体的な構成としては、１つのデータ単位（例えば１バイト又は所定バイト）でビット演算する回路を用いて、暗号化とは逆の演算処理（復号処理）を行うものである。例えば、ビット演算を行う回路としては、論理演算回路（ＡＮＤ，ＯＲ，ＮＡＮＤ，イクスクルーシブＯＲ等）を用いて１つのデータ単位（例えば１バイト又は所定バイト）で複数ステップに渡って論理演算を行う回路がある。また、その他のコマンド復号回路１３１として、ワンチップマイコンのような小規模のＣＰＵを用いて簡易な復号アルゴリズムの演算を行うものでもよい。
【００３３】
図４はデータスクランブル回路１３３の具体的な構成を示す図である。データスクランブル回路１３３の入力側にも、バス切替回路１３３ｓが設けられる。このバス切替回路１３３ｓがモード制御回路１３４から与えられた切替制御信号に応じてメモリコア部１１の読出データをデータスクランブル回路１３３を介して出力するか、それともそのまま出力するかを切り替え可能に構成される。すなわち、モード制御回路１３４からデータスクランブル機能をＯＮとする切替制御信号が入力された場合は、メモリコア部１１から読み出されたデータをデータスクランブル回路１３３を介して出力し、データスクランブル機能をＯＦＦとする切替制御信号が入力された場合は、メモリコア部１１から読み出されたデータをそのまま通過させるようにバイパスラインを介して出力することにより、データスクランブル機能を不能動化（又は無効化）させる。これによって、データスクランブル回路１３３が切替制御信号によってＯＮ／ＯＦＦ制御されることになる。ここで、データスクランブル回路１３３の具体的な回路としては、ある規則性に従って、ビット入替又はビット演算若しくはでビット反転等のビット操作をする回路が考えられる。
【００３４】
コマンド判定回路１３２は、情報処理装置１から与えられたコマンドの内容を判定して、動作モードを遷移させるためのデータを出力する。コマンドがメモリコア部１１に記憶されているデータの読出しコマンドである場合、コマンド判定回路１３２は、コマンド復号回路１３１によって復号された読出し制御信号をメモリコア部１１に与えるとともに、コマンド復号回路１３１を介して与えられるコマンドを読出アドレスとしてメモリコア部１１に与える。また、コマンド判定回路１３２は、復号されたコマンドが後述する動作モードの切替制御用のコマンドであるかどうかを判定して、モード遷移情報としてモード制御回路１３４に与える。ここで、モード遷移情報の元となるコマンドは、情報処理装置１のＣＰＵによって生成される。そして、モード遷移情報の元となるコマンドの発生タイミングは、情報処理装置１のＣＰＵが独自のタイミングで発生し、またメモリコア部１１に記憶されているプログラムの一部が読み出されることに応答して発生する。
【００３５】
モード制御回路１３４は、コマンド判定回路１３２によるコマンドの判定結果に応じて、コマンド復号回路１３１および／またはデータスクランブル回路１３３をＯＮ／ＯＦＦ制御することにより、半導体メモリ１０の動作モードを切替制御し、結果としてメモリコア部１１をアクセス制御する。また、モード制御回路１３４は、スクランブル用レジスタ（以下「レジスタ」と略称する）１３５を初期化処理する機能も含み、データスクランブル回路１３３のスクランブル動作に先立ってスクランブル値を設定する。
【００３６】
すなわち、半導体メモリ１０は、表１に示すような２つの動作モードを切り替え可能とされる。
【００３７】
【表１】
2006139884.tif 000003
【００３８】
この２つの動作モードは、上述したように情報処理装置１から供給されるコマンドによって制御される。情報処理装置１から動作モードの切替制御のためのコマンドが与えられると、コマンド判定回路１３２は、コマンドの判定を行い、コマンドが動作モードの切替制御のコマンドであることを判定した場合、モード遷移情報をモード制御回路１３４に与える。具体的には、コマンド判定回路１３２は、コマンドが表１に示す第１モードへの遷移を指定するコマンドであるか、第２モードへの遷移を指定するコマンドであるかを判定し、判定結果をモード遷移情報としてモード制御回路１３４に与える。
【００３９】
モード制御回路１３４は、コマンド判定回路１３２から供給されたモード遷移情報に応じて、動作モードの切替制御を行う。例えば、第１モードへの変更を指定するモード遷移情報が与えられた場合、モード制御回路１３４は、コマンド復号回路１３１にＯＮ制御信号を与えてコマンド復号機能を有効化し、データスクランブル回路１３３にＯＦＦ制御信号を与えてデータスクランブル機能を無効化する。これにより、コマンド復号回路１３１は復号化処理を実行する動作モードとなり、データスクランブル回路１３３はスクランブル処理を行わない動作モードとなる。
【００４０】
一方、第２モードへの変更を指定するモード遷移情報が入力されると、モード制御回路１３４はコマンド復号回路１３１にＯＦＦ制御信号を与えるとともに、データスクランブル回路１３３にＯＮ制御信号を与える。これに応じて、コマンド復号回路１３１は復号化処理を行わない動作モードとなり、データスクランブル回路１３３はスクランブル処理を行う動作モードとなる。
【００４１】
また、モード遷移情報が入力されると、モード制御回路１３４はコマンド判定回路１３２にモード情報を与える。このモード情報に基づいて、コマンド判定回路１３２は、コマンド復号回路１３１から与えられるコマンドの種類を判定する。言い換えれば、コマンド判定回路１３２は、判断するコマンド（すなわち、情報処理装置１から与えられるコマンド）が同じコードであっても動作モードによってコマンドの意味が異なるので、モード情報を参照してコマンドの種類を判断することになる。
【００４２】
次に、各モードにおける動作およびモード切替動作について説明する。まず、半導体メモリ１０（実質的にはメモリ制御部１３）が第１モードで動作する場合を説明する。
【００４３】
情報処理装置１の電源が投入された当初は、半導体メモリ１０が第１モードで動作するように設定されているので、モード制御回路１３４は電源投入時にコマンド復号回路１３１にＯＮ制御信号を与え、データスクランブル回路１３３にＯＦＦ制御信号を与える。そして、情報処理装置１から暗号化されたコマンドが半導体メモリ１０に供給されると、当該コマンドが入出力端子部１２を介してコマンド復号回路１３１に与えられる。このとき、半導体メモリ１０が第１モードで動作中であるので、コマンド復号回路１３１はＯＮ制御されている。したがって、暗号化コマンドはコマンド復号回路１３１において復号処理され、復号されたコマンドがコマンド判定回路１３２に与えられる。
【００４４】
コマンド判定回路１３２は、復号されたコマンドから命令コードやアドレスコードを抽出し、メモリコア部１１に対して読出信号やアドレスデータを与える。これに応じて、メモリコア部１１からデータが読み出される。
【００４５】
メモリコア部１１から読み出されたデータは、データスクランブル回路１３３に与えられる。このとき、半導体メモリ１０が第１モードで動作中であるので、データスクランブル回路１３３はＯＦＦ制御されている。したがって、メモリコア部１１から読出されたデータは、スクランブル回路１３３を迂回して入出力端子部１２から出力される。そして、メモリコア部１１から読み出されたデータは、入出力端子部１２及びデータバス（図示せず）を介して情報処理装置１に読み込まれる。情報処理装置１は、読み込んだデータに応じた処理（例えば、半導体メモリ１０から読出データがスクランブル処理して出力されるモードの場合はスクランブル処理とは逆のデスクランブル処理等）を実行する。以後、情報処理装置１が順次コマンドを発生しデータ読み出しすることにより、同様の動作が繰り返される。
【００４６】
次に、半導体メモリ１０が第１モードで動作中において、第２モードへのモード切替コマンドの入力を受けて、第２モードに切り替えられる場合を説明する。
【００４７】
情報処理装置１は、第２モードへのモード切替コマンドの発生に先立って、レジスタ１３５を初期化する制御データとデスクランブル値を含む暗号化されたコマンドを発生して、半導体メモリ１０に供給する。このコマンドが入出力端子部１２を介してコマンド復号回路１３１に与えられる。この暗号化されたコマンドがコマンド復号回路１３１によって復号され、コマンド判定回路１３２によってレジスタ１３５の初期化（デスクランブル値の設定を指定する）コマンドであることが判定される。この初期化コマンドとデスクランブル値がモード制御回路１３４によってレジスタ１３５に与えられ、デスクランブル値がレジスタ１３５にロードされる。
【００４８】
続いて、情報処理装置１が第２モードへのモード切替コマンドを出力すると、当該コマンドが入出力端子部１２を介してコマンド復号回路１３１に与えられる。このとき、半導体メモリ１０が第１モードで動作中であるので、コマンド復号回路１３１はＯＮ制御され有効化されている。したがって、当該コマンドがコマンド復号回路１３１によって復号化され、復号化されたコマンドがコマンド判定回路１３２に与えられる。
【００４９】
コマンド判定回路１３２は、そのときモード制御回路１３４から与えられているモード情報が第１モードであるため、入力されたコマンドが第２モードへのモード切替コマンドであると判別して、第２モードへのモード遷移情報をモード制御回路１３４に与える。応じて、モード制御回路１３４は、コマンド復号回路１３１をＯＦＦ制御するとともに、データスクランブル回路１３３をＯＮ制御する。このようにして、第２モードへのモード切替が行われる。また、モード制御回路１３４は、スクランブル値のデータをレジスタ１３５にロードさせて、データスクランブル回路１３３のスクランブルの規則性を設定する。
【００５０】
次に、半導体メモリ１０が第２モードで動作する場合を説明する。第２モードにおいては、情報処理装置１が暗号化していないコマンドを発生して、半導体メモリ１０に供給する。この場合のコマンドは、主としてメモリコア部１１の読出アドレスである。このとき、コマンド復号回路１３１がＯＦＦ制御（無効化）されているので、情報処理装置１から供給されたコマンドがコマンド復号回路１３１を迂回して（すなわち、復号されずに）、コマンド判定回路１３２に与えられる。これに応じて、コマンド判定回路１３２は、コマンドから命令コード（読出命令又は読出信号）とアドレスデータを取り出して、それをメモリコア部１１に与える。そのため、メモリコア部１１からは、アドレス指定されたメモリ領域のデータが順次読み出される。
【００５１】
メモリコア部１１から読み出されたデータは、データスクランブル回路１３３に与えられる。このとき、メモリ制御部１３が第２モードで動作中なので、データスクランブル回路１３３はＯＮ制御（有効化）されている。したがって、メモリコア部１１から読み出されたデータは、データスクランブル回路１３３によってスクランブル処理される。スクランブル後の読出データは，入出力端子部１２及びデータバスを介して情報処理装置１へ出力される。情報処理装置１は、読込みデータに応じた情報処理を実行することになる。以後、情報処理装置１が順次コマンドを発生することにより、段落番号［００５０］から[００５１]の動作が繰り返される。
【００５２】
すなわち、第２モードの場合、半導体メモリ１０から読み出されたデータは、メモリコア部１１の記憶データがデータスクランブル回路１３３によってスクランブルされているので、そのままでは意味の無いデータとして出力される。そのため、不正読み出しが行われたとしても、メモリコア部１１の記憶データが保護されることになる。但し、情報処理装置１側では、データスクランブル回路１３３によるスクランブルの規則性が分かっているので、その規則性に基づいて当該データをデスクランブルしたデータを利用することになる。
【００５３】
次に、半導体メモリ１０が第２モードで動作中において、第１モードへモード切替えする場合を説明する。
【００５４】
情報処理装置１は、第１モードへのモード切替コマンドを発生して、半導体メモリ１０に供給する。このコマンドは、暗号化されていないコマンドであり、入出力端子部１２を介してコマンド復号回路１３１に与えられる。このとき、半導体メモリ１０は、第２モードで動作中なので、コマンド復号回路１３１がＯＦＦ制御されている。したがって、コマンドは、コマンド復号回路１３１を迂回して（すなわち、復号されることなくそのままのデータ形式で）、コマンド判定回路１３２に与えられる。
【００５５】
コマンド判定回路１３２は、入力されたコマンドが第１モードへのモード切替コマンドであることを判定して、第１モードへのモード遷移情報をモード制御回路１３４に与える。応じて、モード制御回路１３４は、コマンド復号回路１３１をＯＮに切替るとともに、データスクランブル回路１３３をＯＦＦに切替ることにより、第１モードへのモード切替が実行される。
【００５６】
以上のようにして、第１の実施の形態における半導体メモリ１０の動作、すなわちメモリ制御部１３によるメモリコア部１１のアクセス制御が行われる。第１の実施の形態においては、コマンドが暗号化されるセキュリティ強度の高い第１モードと、データがスクランブルされかつセキュリティ強度の低い第２モードとの間でモード変更（又はモード遷移）を行いながら、半導体メモリ１０のアクセス制御が行われる。したがって、コマンドの暗号化の有無とデータスクランブルの有無の組み合わせ、すなわちデータの機密保護方法が時間とともに変化するため、コマンドの種類やデータのスクランブルの規則性の解析が困難となり、メモリコア部１１に記憶されているデータの機密保護が図られている。また、スクランブル処理は、ビット操作（すなわちデータバスのビット位置の入替）によりデータを攪乱しているため、処理負担が非常に小さく、スクランブル処理の時間も短く、一方で復号処理は処理時間を要するがセキュリティ強度を高められる。したがって、セキュリティ強度が高い反面処理負担の高い第１モードと、セキュリティ強度が低い反面処理負担の小さい第２モードを組み合わせることによって、セキュリティの強度を高く維持しつつ、処理速度の向上を図ることができる。しかも、セキュリティシステムの解析も困難となり、メモリコア部１１の記憶データの機密性が高められ、不正複製を有効に防止できる。
【００５７】
｛第２の実施の形態｝
次に、第２の実施の形態に係る半導体メモリ１０Ａの構成について説明する。図５は半導体メモリ１０Ａのブロック図である。なお、第１の実施の形態と同様の構成部分については説明を省略する。
【００５８】
第２の実施の形態における半導体メモリ１０Ａが第１の実施の形態と異なる点は、メモリ制御部１３Ａがデータスクランブル回路１３３に代えてコマンドデスクランブル回路１３６を設けた点である。すなわち、第２の実施の形態では、メモリコア部１１から読み出されたデータにはビット操作を加えることなく、情報処理装置１から供給されたコマンドが暗号化されていれば復号し、コマンドスクランブルされていればデスクランブル処理するように構成したものである。また、レジスタ１３５は、デスクランブル値が設定される。
【００５９】
コマンドデスクランブル回路１３６は、情報処理装置１から供給されるコマンドをデスクランブル処理するための回路である。したがって、情報処理装置１が半導体メモリ１０に対してコマンドを供給する際に、コマンドのスクランブル処理及び／又は暗号化処理が行われるが、コマンドデスクランブル回路１３６はスクランブル処理されたコマンドをレジスタ１３５にロードされているデスクランブル値に基づいて元のコマンドに戻すようにビット操作の処理をする。このデスクランブル値は、情報処理装置１のコマンドスクランブル処理の規則性に基づいて逆のビット操作をさせるための参照データとなる。
【００６０】
図６はコマンドデスクランブル回路１３６の具体的な構成を示す図である。コマンドデスクランブル回路１３６の入力側にも、バス切替回路１３６ｓが設けられる。バス切替回路１３６ｓは、モード制御回路１３４からコマンドデスクランブル機能をＯＮとする切替制御信号を受けて、コマンドデスクランブル回路１３６をＯＮ（デスクランブル機能を有効化）させ、コマンドデスクランブル機能をＯＦＦとする切替制御信号を受けて、コマンドデスクランブル回路１３６をＯＦＦ（デスクランブル機能を無効化）させる。これによって、コマンドデスクランブル回路１３６がＯＮ（デスクランブル機能を有効化）されている場合は、入出力端子部１２を介して入力されたコマンド（暗号化されたコマンド）をコマンドデスクランブル回路１３６によってデスクランブルさせ、コマンドデスクランブル回路１３６がＯＦＦ（デスクランブル機能を無効化）されている場合は、コマンドをデスクランブルすることなくそのまま通過するようにバイパスラインを介して次段のコマンド復号回路１３１に与える。
【００６１】
すなわち、この実施の形態における半導体メモリ１０Ａは、表２に示すような２つの動作モードを切り替え可能とされる。
【００６２】
【表２】
2006139884.tif 000004
【００６３】
次に、各モードにおける動作およびモード切替動作について説明する。まず、半導体メモリ１０Ａが第１モードで動作する場合を説明する。
【００６４】
情報処理装置１の電源投入時は、半導体メモリ１０Ａが第１モードで動作するように設定されているので、モード制御回路１３４は電源投入時にコマンド複合回路１３１にＯＮ制御信号を与え、コマンドデスクランブル回路１３６にＯＦＦ制御信号を与える。そして、情報処理装置１から暗号化されたコマンドが半導体メモリ１０Ａに供給されると、当該コマンドが入出力端子部１２を介してコマンドデスクランブル回路１３６に与えられる。しかし、第１モードにおいては、コマンドデスクランブル回路１３６がＯＦＦ制御されているので、当該コマンドがコマンドデスクランブル回路１３１を迂回して、コマンド復号回路１３１に与えられる。このとき、コマンド復号回路１３１がＯＮ制御されているので、当該コマンドがコマンド復号回路１３１において復号処理される。復号されたコマンドはコマンド判定回路１３２に与えられる。コマンド判定回路１３２は、復号されたコマンドから命令コードやアドレスコードを取り出し、メモリコア部１１に対して読出信号とアドレスデータを与える。これに応じて、メモリコア部１１からデータが読み出され、入出力端子部１２及びデータバスを介して情報処理装置１へ出力される。情報処理装置１は、読み込んだデータに応じて情報処理を実行する。
【００６５】
次に、半導体メモリ１０Ａが第１モードで動作中において、第２モードへモード切替する場合を説明する。
【００６６】
情報処理装置１は、第２モードへのモード切替コマンドの発生に先立って、レジスタ１３５を初期化する制御データとデスクランブル値を含む暗号化されたコマンドを発生して、半導体メモリ１０Ａに供給する。このコマンドが入出力端子部１２及びコマンドデスクランブル回路１３６を介してコマンド復号回路１３１に与えられる。この暗号化されたコマンドがコマンド復号回路１３１によって復号され、コマンド判定回路１３２によってレジスタ１３５の初期化（デスクランブル値の設定を指定する）コマンドであることが判定される。この初期化コマンドとデスクランブル値がモード制御回路１３４によってレジスタに与えられ、デスクランブル値がレジスタ１３５にロードされる。
【００６７】
続いて、情報処理装置１は、第２モードへのモード切替コマンドを発生して、半導体メモリ１０Ａに供給する。このコマンドは、入出力端子部１２を介してコマンドデスクランブル回路１３６に与えられるが、第１モードにおいて、コマンドデスクランブル回路１３６がＯＦＦ制御されているので、コマンドデスクランブル回路１３６を迂回して、コマンド復号回路１３１に与えられる。そして、当該コマンドがコマンド復号回路１３１によって復号化されて、復号後のコマンドがコマンド判定回路１３２に与えられる。
【００６８】
コマンド判定回路１３２は、供給されたコマンドが第２モードへのモード切替コマンドであることを判定して、第２モードへのモード遷移情報をモード制御回路１３４に与える。このモード切替コマンドに応じて、モード制御回路１３４は、コマンドデスクランブル回路１３６をＯＮ制御するとともに、コマンド復号回路１３１をＯＦＦ制御することにより、第２モードにモード切替する。
【００６９】
これによって、以後は半導体メモリ１０Ａが第２モードで動作することになる。続いて、情報処理装置１が暗号化されてなくスクランブルさせたコマンドを発生して、半導体メモリ１０Ａに供給する。このスクランブルされたコマンドは、入出力端子部１２を介してコマンドデスクランブル回路１３６に与えられる。この第２モードにおいては、コマンドデスクランブル回路１３６がＯＮ制御され、コマンド復号回路１３１がＯＦＦ制御されている。したがって、スクランブルされたコマンドは、コマンドデスクランブル回路１３６によってデスクランブル処理された後、コマンド復号回路１３１を迂回して、コマンド判定回路１３２に与えられる。
【００７０】
コマンド判定回路１３２は、コマンドから命令コードやアドレスコードを取得し、メモリコア部１１に対して読み出し信号やアドレスデータを出力する。これに応じて、メモリコア部１１からデータが出力される。
【００７１】
メモリコア部１１から出力されたデータは、入出力端子部１２及びデータバスを介して情報処理装置１へ出力される。情報処理装置１は、読み込んだデータに応じて情報処理を実行する。以後、情報処理装置１が順次コマンドを発生することにより、段落番号［００６９］から[００７１]の動作が繰り返される。
【００７２】
次に、半導体メモリ１０Ａが第２モードにおいて、第１モードへモード切替する場合を説明する。
【００７３】
情報処理装置１が第１モードへのモード切替コマンド（スクランブルされたコマンド）を発生して、半導体メモリ１０Ａに供給すると、そのコマンドが入出力端子部１２を介してコマンドデスクランブル回路１３６に与えられる。このとき、半導体メモリ１０Ａが第２モードであるので、コマンドデスクランブル回路１３６がＯＮ制御され、コマンド復号回路１３１がＯＦＦ制御されている。したがって、スクランブルされたコマンドがデスクランブル回路１３６によってデスクランブルされた後、コマンド復号回路１３１を迂回して、コマンド判定回路１３２に与えられる。
【００７４】
コマンド判定回路１３２は、入力されたコマンドが第１モードへのモード切替コマンドであることを判定して、第１モードへのモード遷移情報をモード制御回路１３４に与える。応じて、モード制御回路１３４がコマンドデスクランブル回路１３６をＯＦＦ制御するとともに、コマンド復号回路１３１をＯＮ制御するので、メモリ制御部１３Ａが第１モードへモード切替される。
【００７５】
以上のようにして、第２の実施の形態における半導体メモリ１０Ａの動作、すなわちメモリ制御部１３Ａによるメモリコア部１１のアクセス制御が行われる。第２の実施の形態においては、コマンドが暗号化されるセキュリティ強度の高い第１モードと、コマンドがスクランブルされかつセキュリティ強度の低い第２モードとの間でモード変更（又はモード遷移）を行いながら、メモリコア部１１のアクセス制御が行われる。したがって、コマンドの暗号化の有無とコマンドデスクランブルの有無の組み合わせによるコマンドの機密保護方法が時間とともに変化するため、コマンドの種類やコマンドデスクランブルの規則性の解析を困難とすることが可能であり、メモリコア部１１に記憶されているデータの機密保護が図られている。また、セキュリティ強度は高いが処理負担の高い第１モードと、セキュリティ強度は低いが処理負担の小さい第２モードを組み合わせることによって、セキュリティの強度を高く維持しながら、処理速度の向上を図ることも可能である。
【００７６】
｛第３の実施の形態｝
次に、第３の実施の形態に係る半導体メモリ１０Ｂの構成について説明する。図７は、半導体メモリ１０Ｂの回路ブロック図である。なお、第１または第２の実施の形態と同様の構成部分については説明を省略する。
【００７７】
第３の実施の形態における半導体メモリ１０Ｂは第１の実施の形態と第２の実施の形態とを組み合わせたような構成であり、具体的にはメモリ制御部１３がデータスクランブル回路１３３とコマンドデスクランブル回路１３６の両方を有するものである。
【００７８】
第３の実施の形態における半導体メモリ１０Ｂは、表３に示すような２つの動作モードを切り替えて動作可能としている。つまり、第１モードでは、コマンドデスクランブル回路１３６がＯＦＦ制御され、コマンド復号回路１３１がＯＮ制御され、データスクランブル回路１３３がＯＮかＯＦＦのいずれかに制御される。第２モードでは、コマンドデスクランブル回路１３６がＯＦＦ制御され、コマンド復号回路１３１がＯＮ／ＯＦＦいずれかに制御され、データスクランブル回路１３３がＯＮ制御される。
【００７９】
【表３】
2006139884.tif 000005
【００８０】
この実施形態においても、情報処理装置１の電源投入時は、半導体メモリ１０Ｂが第１モードで動作するように設定されているので、モード制御回路１３４は電源投入時にコマンド複合回路１３１にＯＮ制御信号を与え、コマンドデスクランブル回路１３６にＯＦＦ制御信号を与え、データスクランブル回路１３３にＯＮ制御信号を与える。そして、情報処理装置１から暗号化されたコマンドが半導体メモリ１０Ｂに供給されると、当該コマンドがコマンドデスクランブル回路１３１を迂回して、コマンド復号回路１３１において復号処理された後、コマンド判定回路１３２に与えられる。コマンド判定回路１３２は、復号されたコマンドから読出信号やアドレスデータを抽出して、メモリコア部１１に与える。応じて、指定されたアドレスに記憶されているデータがメモリコア部１１から読み出される。この読み出しデータは、データスクランブル回路１３３においてスクランブル処理が行われ（あるいはデータスクランブル回路１３３がＯＦＦ制御されている場合はスクランブル処理されることなくそのまま）、情報処理装置１へ出力される。
【００８１】
半導体メモリ１０Ｂが第１モードで動作中に、情報処理装置１から第２モードへのモード切替コマンドが与えられると、モード制御回路１３４はコマンドデスクランブル回路１３６をＯＦＦ制御するとともに、データスクランブル回路１３３をＯＮ制御して、第２モードに切り替える。なお、コマンド復号回路１３１については、ＯＮ／ＯＦＦいずれかとされる。このコマンド復号回路１３１をＯＮ又はＯＦＦの何れにするかは、メモリコア部１１に記憶されるプログラム（ある番地に記憶されるコマンド）によって制御される。
【００８２】
一方、半導体メモリ１０Ｂが第２モードで動作している場合において、情報処理装置１から供給されるコマンドが、コマンドデスクランブル回路１３６を迂回して、コマンド復号回路１３１に与えられる。そして、当該コマンドが、復号処理されて（あるいは復号処理されることなくそのままに）、コマンド判定回路１３２に与えられる。コマンド判定回路１３２は、当該コマンドから読出信号とアドレスデータを抽出して、メモリコア部１１に読出アドレスを与える。応じて、この読出アドレスで指定されるメモリコア部１１の記憶領域に記憶されているデータが順次読み出される。この読出データが、データスクランブル回路１３３によってスクランブルされて、情報処理装置１へ出力される。
【００８３】
そして、第２モードで動作中に、情報処理装置１から第１モードへのモード切替コマンドが供給されると、モード制御回路１３４はコマンドデスクランブル回路１３６をＯＦＦ制御するとともに、コマンド復号回路１３１をＯＮ制御し、データスクランブル回路１３３をＯＮ又はＯＦＦのいずれかとする。
【００８４】
この第３の実施の形態においても、コマンドが暗号化されるセキュリティ強度の高い第１モードと、データがスクランブルされかつセキュリティ強度の低い第２モードとの間でモード変更（モード遷移）を行いながら、半導体メモリ１０Ｂの読出動作が行われる。したがって、コマンドとデータの機密保護方法（すなわち、コマンドの復号の要否とデータスクランブルの有無）が時間とともに変化するため、コマンドとデータの解析を困難とすることができる。また、セキュリティ強度の高い反面処理負担の高い第１モードと、セキュリティ強度の低い反面処理負担の小さい第２モードを組み合わせることによって、セキュリティの強度を高く維持しながら、処理速度の向上を図ることも可能となる。しかも、第１モードではデータスクランブル処理を、第２モードではコマンド復号処理を、それぞれ個別に選択的に採用することにより、同じモードであっても、何時のタイミングでデータスクランブルやコマンド復号処理をしているのかが分からないため、各部の回路解析を一層困難にすることができる。なお、第２モードにおいて、コマンドデスクランブル回路１３６をＯＮとし、データスクランブル回路１３３をＯＦＦとしてもよい。つまり、これら２つの回路１３６，１３３のＯＮ／ＯＦＦを表３とは逆の関係とした場合にも、同様の効果を奏する。
【００８５】
以下、第４〜第６の実施の形態に係る半導体メモリ１０の構成は、図７で示した第３の実施の形態における半導体メモリ１０Ｂの回路構成と同様であり、動作モードにおける制御方法のみが異なる。したがって、以下の実施の形態においては、半導体メモリ１０Ｂの動作の詳細を説明する。
【００８６】
｛第４の実施の形態｝
第４の実施の形態における半導体メモリ１０Ｂは、表４に示すような２つの動作モードを切り替えて動作可能とされる。この実施形態では、第２モードにおいてコマンドデスクランブル回路１３６がＯＮ制御される以外、第３の実施の形態と同様である。
【００８７】
【表４】
2006139884.tif 000006
【００８８】
すなわち、第４の実施形態は、第１モードにおいて、コマンドデスクランブル回路１３６がＯＦＦされ、コマンド復号回路１３１がＯＮされ、データスクランブル回路１３３がＯＮ又はＯＦＦのいずれかとされる。このような制御のためのコマンドが情報処理装置１から半導体メモリ１０Ｂに供給され、コマンド判定回路１３２とモード制御回路１３４の協働作用によって表４の第１モードのように制御される。
【００８９】
一方、第２モードへのモード切替を行う場合は、コマンドデスクランブル回路１３６をＯＮとし、コマンド復号回路１３１をＯＮまたはＯＦＦのいずれかとし、データスクランブル回路１３３をＯＮとするためのコマンドが情報処理装置１から供給され、コマンド判定回路１３２とモード制御回路１３４の協働作用によって表４の第２モードのように制御される。
【００９０】
第４の実施の形態では、セキュリティ強度の高い第１モードの場合において、コマンドが暗号化されるとともに、データスクランブルがスクランブルされるときとスクランブルされないときがあり、セキュリティ強度の低い第２モードの場合においてコマンドおよびデータがスクランブルされるとともに、コマンドが暗号化されるときと暗号化されないときがあり、しかも第１モードと第２モードの間でモード変更を行いながらメモリコア部１１をアクセス制御しているので、スクランブル又はデスクランブルの規則性とコマンドの解析が困難となり、半導体メモリ１０Ｂのデータの保護が図られる。
【００９１】
｛第５の実施の形態｝
第５の実施の形態における半導体メモリ１０Ｂは、表５に示すような２つの動作モードを切り替えて動作可能とする。第１モードにおいて、コマンドデスクランブル回路１３６がＯＮ／ＯＦＦのいずれかに制御され、コマンド復号回路１３１及びデータスクランブル回路１３３がＯＮ制御される。第２モードにおいては、コマンドデスクランブル回路１３６及びデータスクランブル回路１３３がＯＮ制御され、コマンド復号回路１３１がＯＮ／ＯＦＦいずれかに制御される。
【００９２】
【表５】
2006139884.tif 000007
【００９３】
第５の実施の形態においても、コマンドが暗号化され、かつデータがスクランブルされるセキュリティ強度の高い第１モードと、コマンドおよびデータがスクランブルされ、セキュリティ強度が第１モードより低い第２モードとの間でモード変更を行いながら半導体メモリ１０を動作させる。
【００９４】
｛第６の実施の形態｝
第６の実施の形態における半導体メモリ１０は、表６に示すような２つの動作モードを切り替えて動作可能とする。第１モードにおいて、データスクランブル回路１３３がＯＦＦ制御される以外、第５の実施の形態と同様であるので、詳細な説明を省略する。
【００９５】
【表６】
2006139884.tif 000008
【００９６】
第６の実施の形態においても、コマンドが暗号化されるセキュリティ強度の高い第１モードと、コマンドおよびデータがスクランブルされ、セキュリティ強度が第１モードより低い第２モードとの間でモード変更を行いながら半導体メモリ１０を動作させる。
【００９７】
以上、第４〜第６の実施の形態について説明したが、いずれの実施の形態においても、セキュリティ強度の高い第１モードと、セキュリティ強度の低い第２モードとの間でモード変更を行いながら半導体メモリ１０Ｂのアクセス制御が行われる。したがって、コマンドやデータの機密保護方法が時間とともに変化するため、コマンドやデータの解析を困難とすることが可能である。また、スクランブル処理は、ビット演算あるいはビット操作によりデータを攪乱する方法であるため、処理負担は非常に小さい。そして、セキュリティ強度は高いが処理負担の高い第１モードと、セキュリティ強度は低いが処理負担の小さい第２モードを組み合わせることによって、セキュリティの強度を高く維持しながら、処理速度の向上を図っている。
【００９８】
なお、第３〜第６の実施の形態においては、第２モードにおいて、コマンド復号回路１３１をＯＮ／ＯＦＦいずれかに制御することにより、多様な動作モードのパターンを用意することができる。ただし、上述したように、第２モードにおいて処理負担を小さくするためには、コマンド復号回路１３１をＯＦＦ制御することが好ましい。
【００９９】
｛その他の実施例｝
本発明の半導体メモリ１０は、さらにデータの機密保護の強化を図るため、以下のような機能を付加してもよい。
【０１００】
＜１．スクランブルの初期化処理＞
セキュリティ強度の高い第１モードで動作中に、モード制御回路１３４がレジスタ１３５に格納された値を更新するようにする。すなわち、レジスタ１３５に格納された値は、コマンドデスクランブル回路１３６がコマンドデスクランブル処理する場合のデスクランブルの規則性を決めるデスクランブル値であり、データスクランブル回路１３３がデータスクランブル処理する場合のスクランブルの規則性を決めるスクランブル値である。この値（ディスクランブル値又はデスクランブル値）が、これを情報処理装置１の電源投入時だけではなく、第１モード中にプログラム処理によって設定可能にする。
【０１０１】
具体的には、コマンドデスクランブル回路１３６は、レジスタ１３５から与えられるデスクランブル値と情報処理装置１から供給されるコマンドとの間でビット操作（排他的論理和演算等）を行う。また、データスクランブル回路１３３は、レジスタ１３５から与えられるスクランブル値とメモリコア部１１から読み出されたデータとの間でビット操作（排他的論理和演算等）を行う。このように、レジスタ１３５の設定を変更することにより、コマンドの入力関係又はデータの出力関係を変更することができ、暗号化処理に比べてセキュリティ強度の低いスクランブル処理においても、セキュリティ強度を向上させることができる。
【０１０２】
このように、本実施の形態においては、仮にコマンドデスクランブル回路１３６あるいはデータスクランブル回路１３３を構成するスクランブル回路の構造が露見してしまったとしても、何時のタイミングでコマンドデスクランブル値及び／又はデータスクランブル値が変更されたかを解析しなければコマンドデスクランブル及び／又はデータスクランブルの規則性を解析することができず、解析が一層困難となる。そのため、コマンドデスクランブル回路１３６又はデータスクランブル回路１３５の回路構成が解析されても、半導体メモリ１０に格納されたデータの不正な読み出しを行うためには第１モードにおけるデスクランブル値又はデスクランブル値の発生タイミングの解析も必要となり、第２モードのセキュリティ強度の低さを補うことが可能となる。
【０１０３】
＜２．異常動作モード＞
次に、第３モードの動作について説明する。上述したように、第１モードおよび第２モードにおいては、情報処理装置１から供給されたコマンドに対して復号化処理あるいはデスクランブル処理を実行している。そして、正しいコマンド、すなわち半導体メモリ１０の復号化アルゴリズムあるいはデスクランブルアルゴリズムに同期した暗号化アルゴリズムもしくはスクランブルアルゴリズムを用いて生成されたコマンドが供給された場合は、コマンド判定回路１３２がコマンドの内容を正しく判定することが可能である。ところが、同期のとれていない不正な暗号処理やスクランブル処理が施されたコマンドを受け取った場合は、コマンド判定回路１３２が復号化処理あるいはデスクランブル処理後のコマンドを異常なコマンドと判定する。また、暗号処理やスクランブル処理が正しく行われている場合でも、コマンド自体が不正な場合には異常なコマンドと判定することになる。
【０１０４】
そして、異常なコマンドと判別した場合は、コマンド判定回路１３２が半導体メモリ１０Ｂのモードを異常動作モードである第３モードに変更する。第３モードに遷移されると、コマンド判定回路１３２はメモリコア部１１へのアクセス処理を禁止するよう制御する。図８は、第１〜第３モードの関係を示す図である。
【０１０５】
そして、半導体メモリ１０（又は１０Ａ若しくは１０Ｂ）は、第３モードに一旦変更されると、他のモードに移行することが不可能となり、コマンド判定回路１３２がメモリコア部１１へのアクセスを禁止するとともに、他のモードへのモード遷移情報を発生しないことになる。
【０１０６】
したがって、半導体メモリ１０Ｂに対して不正な暗号処理（又は不正なコマンド）や不正なスクランブル処理を施されたコマンドが供給された場合は、半導体メモリ１０が即座に第３モードに遷移し、それ以後、メモリコア部１１へのアクセスが不可能となる。これにより、不正な行為に対するセキュリティ強度を増強させ、信号の観測性を低減し、データの不正な読み出しをさらに困難にすることが可能となる。
【０１０７】
＜３．第２モードを中心とした制御＞
以上のように、本実施の形態の半導体メモリ１０，１０Ａ，１０Ｂが複数の動作モードを有しているが、情報処理装置１はセキュリティ強度とパフォーマンスのバランスをとるため、半導体メモリ１０，１０Ａ，１０Ｂが第２モードを中心に動作するように制御する。そして、予め定められた時間間隔で、あるいは情報処理装置１において動作するアプリケーションプログラムによって指定された時間経過後に、第１モードへ遷移するよう半導体メモリ１０にコマンドを供給してもよい。
【０１０８】
換言すれば、第２モードの動作時間を第１モードの動作時間よりも長く設定することにより、情報処理装置１のパフォーマンスを向上させ、あるタイミングでセキュリティ強度の高い第１モードに遷移させて、セキュリティ強度を増強させるとともに、スクランブル処理の初期化を行い、第２モードに復帰後のセキュリティ強度を補強するようにしている。これによって、情報処理装置１の全動作時間を平均すると、セキュリティ強度を比較的高く維持しつつ、読出時間を比較的短く抑えることができる。
【０１０９】
＜４．動作モードに応じたメモリ領域の管理＞
本実施の形態の半導体メモリ１０，１０Ａ，１０Ｂは、上述の如く、異なるセキュリティレベルに対応した複数の動作モードを有しているが、さらにモードに応じてアクセス可能なメモリ領域（又は空間）を異なるように設定してもよい。
【０１１０】
図９はメモリコア部１１の記憶領域を図解的に示す図である。メモリコア部１１は、モードによってアクセス可能な領域と不可能な領域とが設定され、例えば記憶領域１１Ａが第１モードにおいてのみアクセス可能に定められたな領域であり、それ以外の記憶領域１１Ｂが全てのモードでアクセス可能に定められた領域である。このように、メモリコア部１１の記憶領域がモードによってアクセス可能な領域と不可能な領域に設定可能にすれば、たとえば最も高いセキュリティを必要とするデータを領域１１Ａに格納することによって、重要なデータの機密保護をさらに強化することができる。
【０１１１】
なお、図９では、メモリコア部１１の記憶領域の管理方法として、第１モードでアクセス可能な記憶領域１１Ａと、その他のモードでアクセス可能な記憶領域１１Ｂを区別して管理するようにしたが、これは一例であって、その他各種の記憶領域管理が考えられる。たとえば、メモリコア部１１を複数の記憶領域に分割し、各モードでアクセス可能な記憶領域を個別に設定したり、第１モードと第２モードの２つのモードで共通的にアクセス可能な記憶領域を設定してもよい。
【０１１２】
＜５．復帰条件付きコマンド＞
次に、復帰条件付きコマンドについて説明する。情報処理装置１によって発生される復帰条件付コマンドは、半導体メモリ１０の現在の動作モードを、ある別のモードに一時的に変更し、所定時間経過後に再び元のモードに復帰変更させることを指定するためのコマンドである。この復帰条件付コマンドは、たとえば「現在のモード（第１モード）を第２モードに変更させ、１０秒後に再び第１モードに変更する。」といった内容のコマンドであり、一時的に遷移するモードの種類情報と、遷移中の時間を指定する情報が含まれる。
【０１１３】
これにより、モードを変更させるためのコマンドは、全てセキュリティレベルの最も高い第１モードにおいてのみ受け付け、処理するように制御する。言い換えれば、全てのモード変更は、第１モードを起点として他のモードに遷移し、さらに指定時間経過後に第１モードへ復帰させるようにして実行される。
【０１１４】
＜６．変形例＞
以上説明した各実施の形態に係る半導体メモリ１０，１０Ａ，１０Ｂが着脱される情報処理装置１は、具体的にはパーソナルコンピュータ、ＰＤＡのような携帯情報端末装置、画像処理装置、ゲーム装置（携帯又は据置用の何れも含む）、若しくは携帯電話機等に適用可能である。これらの何れの機器においても、着脱自在に半導体メモリとして本願発明を用いることができる。
【０１１５】
なお、上述の実施の形態においては、情報処理装置１から供給されたコマンドが、まずコマンドデスクランブル回路１３６に入力され、次にコマンド復号回路１３１に入力される回路構成となっているが、これらの回路接続の順序は逆（先に、コマンド復号化を行う構成）であってもよい。
【０１１６】
また、上述の実施の形態においては、コマンドデスクランブル回路１３６およびデータスクランブル回路１３３が１つのレジスタ１３５を共用する場合を説明したが、コマンドデスクランブル回路１３６とデータスクランブル回路１３３用に個別のレジスタを設けて、デスクランブル値，スクランブル値を別々にロードしてもよい。
【０１１７】
また、上述の実施の形態では、半導体メモリ１０，１０Ａ，１０Ｂがメモリ制御部１３を内蔵する形態を示すが、メモリ制御部１３は必ずしもメモリコア部１１と一体として構成される必要がなく、たとえば、メモリコア部１１に代えて汎用のマスクＲＯＭを使用しも良い。その場合、マスクＲＯＭに関連して本実施の形態のメモリ制御部１３と同様の機能を備えた回路が外付けされる。このような構成であっても、汎用マスクＲＯＭに格納されたデータの機密保護を図れる。
【図面の簡単な説明】
【０１１８】
【図１】本実施の形態に係る情報処理装置の全体図である。
【図２】第１の実施の形態に係る半導体メモリの回路ブロック図である。
【図３】コマンド復号回路の具体的なブロック図である。
【図４】データスクランブル回路の具体的なブロック図である。
【図５】第２の実施の形態に係る半導体メモリのブロック図である。
【図６】コマンドデスクランブル回路の具体的なブロック図である。
【図７】第３〜第８の実施の形態に係る半導体メモリのブロック図である。
【図８】動作モードの遷移図である。
【図９】動作モードに応じて記憶領域管理されるメモリマップを示す図である。
【符号の説明】
【０１１９】
１      情報処理装置
２      制御部
１０    半導体メモリ
１１    メモリコア部
１２    入出力端子部
１３    メモリ制御部
【図１】
2006139884.tif 000009
【図２】
2006139884.tif 000010
【図３】
2006139884.tif 000011
【図４】
2006139884.tif 000012
【図５】
2006139884.tif 000013
【図６】
2006139884.tif 000014
【図７】
2006139884.tif 000015
【図８】
2006139884.tif 000016
【図９】
2006139884.tif 000017