(57)【要約】【課題】外部装置から安全に半導体メモリ装置の揮発性の高速メモリにアクセスすることができる半導体メモリ装置、半導体メモリシステムを実現する。【解決手段】半導体メモリシステム１０００では、ホスト装置Ｈ１から、ホストＩＦ１を介して、第２記憶部４にアクセスすることができる。また、ホスト装置Ｈ１のメモリ制御部１１に第２記憶部４の外部アクセス許可領域の情報を保持し、当該情報により、ホストＩＦ１が、第２記憶部４に対するアクセス制御を行う。【選択図】図１
2018124688.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置と通信可能な半導体メモリ装置であって、
バスと、
前記バスに接続されており、第１のアクセス速度によりデータの読み出しおよび書き込みの少なくとも一方を行う第１記憶部と、
前記バスに接続されており、第１のアクセス速度よりも速い第２のアクセス速度によりデータの読み出しおよび書き込みの少なくとも一方を行う第２記憶部と、
前記バスに接続されているマイクロプロセッサと、
前記バスに接続されており、前記ホスト装置から前記第２記憶部に対して直接アクセス可能なインターフェースを提供するインターフェース部と、
を備える半導体メモリ装置。
【請求項２】
前記第１記憶部は、前記マイクロプロセッサが演算するためのコードを記憶することができ、
前記インターフェース部は、
前記マイクロプロセッサが前記コードを実行したときの演算結果を前記第２記憶部に記憶し、
前記演算結果を前記第２記憶部から読み出し、前記ホスト装置に送信する、
請求項１に記載の半導体メモリ装置。
【請求項３】
前記マイクロプロセッサは、
前記マイクロプロセッサが演算するためのコードを前記第１記憶部から読み出し、前記第２記憶部に記憶する、
請求項１又は２に記載の半導体メモリ装置。
【請求項４】
前記インターフェース部は、
前記ホスト装置から受信したコードを前記第２記憶部に記憶する、
請求項１から３のいずれかに記載の半導体メモリ装置。
【請求項５】
前記インターフェース部は、
前記ホスト装置から前記第２記憶部へのアクセスを許可するメモリ領域である外部アクセス可能領域を設定し、設定した前記外部アクセス可能領域の情報に基づいて、前記第２記憶部へのアクセス制御を行う、
請求項１から４のいずれかに記載の半導体メモリ装置。
【請求項６】
前記外部アクセス可能領域の情報の初期値は、前記第２記憶部の全メモリ領域へのアクセスを禁止することを示す値である、
請求項５に記載の半導体メモリ装置。
【請求項７】
前記第２記憶部のアクセス禁止領域を設定するための情報であるアクセス禁止情報を保持するアクセス禁止情報保持部と、
前記アクセス禁止情報に基づいて、前記第２記憶部のアクセス禁止領域を設定するラッパー部と、
をさらに備える、
請求項６に記載の半導体メモリ装置。
【請求項８】
前記アクセス禁止情報保持部は、一度のみ書き込みができるＲＯＭを含み、
前記アクセス禁止情報は、前記ＲＯＭに書き込まれる、
請求項７に記載の半導体メモリ装置。
【請求項９】
前記アクセス禁止情報保持部は、
前記アクセス禁止情報を保持するための回路を含み、
前記アクセス禁止情報を、前記回路から出力される信号として、前記ラッパー部に出力する、
請求項７に記載の半導体メモリ装置。
【請求項１０】
前記ラッパー部は、
前記マイクロプロセッサからのフェッチアクセス信号がイネーブルを示す信号値であり、かつ、前記マイクロプロセッサから受信した命令フェッチ信号が示すアドレスが前記アクセス禁止領域内である場合に、前記第２記憶部の前記アクセス禁止領域へのアクセスを許可するように前記第２記憶部に対するアクセス制御を行う、
請求項７から９のいずれかに記載の半導体メモリ装置。
【請求項１１】
前記ラッパー部は、
前記アクセス禁止情報および前記インターフェース部により設定された前記外部アクセス可能領域の情報に基づいて、前記第２記憶部に対するアクセス制御を行う、
請求項７から１０のいずれかに記載の半導体メモリ装置。
【請求項１２】
前記ラッパー部は、
前記第２記憶部へのアクセス要求をしているアドレスが、前記外部アクセス可能領域内のアドレスであり、かつ、前記アクセス禁止領域内であると判定した場合、前記第２記憶部への全てのアクセスを禁止する、
請求項７から１１のいずれかに記載の半導体メモリ装置。
【請求項１３】
前記インターフェース部は、
前記ホスト装置から、前記半導体メモリ装置の前記第２記憶部の全メモリ領域をアクセスするコマンドを受信した場合、前記第２記憶部に記憶されているデータを正常に読み出すことができないことを示すレスポンスを前記ホスト装置に送信する、
請求項１から１２のいずれかに記載の半導体メモリ装置。
【請求項１４】
ホスト装置と、
請求項１から１３のいずれかに記載の半導体メモリ装置と、
を備える半導体メモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト装置と通信可能な半導体メモリ装置の技術に関する。
【背景技術】
【０００２】
半導体メモリ装置は、半導体メモリ（例えば、フラッシュメモリ）と、半導体メモリを制御するマイクロプロセッサとを備える。このような半導体メモリ装置では、マイクロプロセッサが半導体メモリに記憶されるコードやデータを用いて処理することで、多様な処理を実現することができる。
【０００３】
処理速度を向上させるために、揮発性の高速メモリ（例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を備える半導体メモリも開発されている。
【０００４】
揮発性の高速メモリは、高速アクセスが可能なので、ＣＰＵ処理に用いられるコードやデータが格納される。そして、マイクロプロセッサが、揮発性の高速メモリにアクセスし、マイクロプロセッサによるＣＰＵ処理が高速に実現される。つまり、揮発性の高速メモリは、マイクロプロセッサによるＣＰＵ処理が安定して実行されることを保証するために、マイクロプロセッサからのみアクセスが許可され、外部装置（ホスト装置）からアクセスされることはない。
【０００５】
特許文献１には、キャッシュメモリ（例えば、ＳＲＡＭを用いて実現されるキャッシュメモリ）と主メモリとＣＰＵとを備えるデジタルシステムの開示がある。特許文献１の技術では、ＣＰＵのみが、揮発性の高速メモリであるキャッシュメモリ（例えば、ＳＲＡＭ）にアクセスし、ＣＰＵ処理を行うことで、高速なＣＰＵ処理を実現している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平８−２２１３２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記のように、揮発性の高速メモリは、マイクロプロセッサによるＣＰＵ処理が安定して実行されることを保証するために、マイクロプロセッサからのみアクセスが許可され、外部装置（ホスト装置）からアクセスされることはない。
【０００８】
つまり、揮発性の高速メモリは、外部からアクセスを許可するとマイクロプロセッサによるＣＰＵ処理が不安定になる危険があるあるため、通常、外部装置（ホスト装置）からのアクセスを許可しない。
【０００９】
しかしながら、外部装置（ホスト装置）から安全に半導体メモリ装置の揮発性の高速メモリにアクセスすることができれば、多様な処理を高速に実現することができるため、外部装置（ホスト装置）から安全に半導体メモリ装置の揮発性の高速メモリにアクセスする技術の実現が望まれている。
【００１０】
そこで、本発明は、外部装置（ホスト装置）から安全に半導体メモリ装置の揮発性の高速メモリにアクセスすることができる半導体メモリ装置、半導体メモリシステムを実現することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、第１の発明は、ホスト装置と通信可能な半導体メモリ装置であって、バスと、第１記憶部と、第２記憶部と、マイクロプロセッサと、インターフェース部と、を備える。
【００１２】
第１記憶部は、バスに接続されており、第１のアクセス速度によりデータの読み出しおよび書き込みの少なくとも一方を行う。
【００１３】
第２記憶部は、バスに接続されており、第１のアクセス速度よりも速い第２のアクセス速度によりデータの読み出しおよび書き込みの少なくとも一方を行う。
【００１４】
マイクロプロセッサは、バスに接続されている。
【００１５】
インターフェース部は、バスに接続されており、ホスト装置から第２記憶部に対して直接アクセス可能なインターフェースを提供する。
【００１６】
この半導体メモリ装置では、インターフェース部がホスト装置から第２記憶部に対して直接アクセス可能なインターフェースを提供するので、ホスト装置は、インターフェース部を介して、第２記憶部にアクセスすることができる。つまり、この半導体メモリ装置では、ホスト装置からアクセス速度の速い第２記憶装置（例えば、ＳＲＡＭ）に、直接（バッファや、アクセス速度の遅い第１記憶部（例えば、不揮発性メモリ）に、暫定的にデータを保持させることなく）、アクセスすることができる。
【００１７】
第２の発明は、第１の発明であって、第１記憶部は、マイクロプロセッサが演算するためのコードを記憶することができる。
【００１８】
インターフェース部は、マイクロプロセッサがコードを実行したときの演算結果を第２記憶部に記憶し、演算結果を第２記憶部から読み出し、ホスト装置に送信する。
【００１９】
これにより、この半導体メモリ装置では、ホスト装置が、演算結果をインターフェース部を介して、読み出すことができる。
【００２０】
なお、「コード」とは、例えば、コード（マイクロプロセッサで演算を行うための命令コード）を含むデータである。
【００２１】
第３の発明は、第１または第２の発明であって、マイクロプロセッサは、マイクロプロセッサが演算するためのコードを第１記憶部から読み出し、第２記憶部に記憶する。
【００２２】
これにより、この半導体メモリ装置では、マイクロプロセッサが演算するためのコードを第１記憶部から読み出し、第２記憶部に記憶することができる。
【００２３】
第４の発明は、第１から第３のいずれかの発明であって、インターフェース部は、ホスト装置から受信したコードを第２記憶部に記憶する。
【００２４】
これにより、この半導体メモリ装置では、ホスト装置から受信したコードを第２記憶部に記憶することができる。
【００２５】
第５の発明は、第１から第４のいずれかの発明であって、インターフェース部は、ホスト装置から第２記憶部へのアクセスを許可するメモリ領域である外部アクセス可能領域を設定し、設定した外部アクセス可能領域の情報に基づいて、第２記憶部へのアクセス制御を行う。
【００２６】
この半導体メモリ装置では、インターフェース部が、外部アクセス許可領域を特定するための情報を、例えば、オフセットＯｆｓｔと深さＤｐｔｈにより第２記憶部のメモリ領域を特定することで設定し、当該情報に基づいて、インターフェース部が、ホスト装置からの第２記憶部へのアクセスを許可するか否かを判定する。この半導体メモリ装置では、外部アクセス許可領域を特定するための情報に基づいて、インターフェース部が、ホスト装置からの第２記憶部へのアクセスを許可した場合、ホスト装置は、インターフェース部を介して、第２記憶部にアクセスすることができる。つまり、この半導体メモリ装置では、ホスト装置からアクセス速度の速い第２記憶装置（例えば、ＳＲＡＭ）に、直接（バッファや、アクセス速度の遅い不揮発性メモリ等に、暫定的にデータを保持させることなく）、アクセスすることができる。さらに、この半導体メモリ装置では、上記の通り、インターフェース部が第２記憶装置へのアクセス制御を行い、外部装置（例えば、ホスト装置）からアクセスできる領域を外部アクセス許可領域に限定することができる。これにより、この半導体メモリ装置では、外部装置（例えば、ホスト装置）から不正に半導体メモリ装置の高速メモリである第２記憶部にアクセスされることがない。
【００２７】
このように、この半導体メモリ装置では、外部装置（例えば、ホスト装置）から安全に半導体メモリ装置の高速メモリである第２記憶部にアクセスすることができる。
【００２８】
第６の発明は、第５の発明であって、外部アクセス可能領域の情報の初期値は、第２記憶部の全メモリ領域へのアクセスを禁止することを示す値である。
【００２９】
これにより、外部アクセス可能領域が設定されていない状態においても、外部装置（例えば、ホスト装置）から第２記憶部に不正アクセスされることを適切に防止することができる。
【００３０】
第７の発明は、第６の発明であって、アクセス禁止情報保持部と、ラッパー部と、さらに備える。
【００３１】
アクセス禁止情報保持部は、第２記憶部のアクセス禁止領域を設定するための情報であるアクセス禁止情報を保持する。
【００３２】
ラッパー部は、アクセス禁止情報に基づいて、第２記憶部のアクセス禁止領域を設定する。
【００３３】
これにより、半導体メモリ装置では、第２記憶部のアクセス禁止領域への不正なアクセスを適切に防止することができる。
【００３４】
第８の発明は、第７の発明であって、アクセス禁止情報保持部は、一度のみ書き込みができるＲＯＭを含み、アクセス禁止情報は、ＲＯＭに書き込まれる。
【００３５】
これにより、この半導体メモリ装置では、アクセス禁止情報は、後から変更されることはないので、第２記憶部のアクセス禁止領域への不正なアクセスを適切に防止することができる。
【００３６】
第９の発明は、第７の発明であって、アクセス禁止情報保持部は、アクセス禁止情報を保持するための回路を含み、アクセス禁止情報を、回路から出力される信号として、ラッパー部に出力する。
【００３７】
これにより、この半導体メモリ装置では、アクセス禁止情報は、後から変更されることはないので、第２記憶部のアクセス禁止領域への不正なアクセスを適切に防止することができる。
【００３８】
第１０の発明は、第７から第９のいずれかの発明であって、ラッパー部は、マイクロプロセッサからのフェッチアクセス信号がイネーブルを示す信号値であり、かつ、マイクロプロセッサから受信した命令フェッチ信号が示すアドレスがアクセス禁止領域内である場合に、第２記憶部のアクセス禁止領域へのアクセスを許可するように第２記憶部に対するアクセス制御を行う。
【００３９】
これにより、この半導体メモリ装置では、上記条件を満たす場合に、アクセス禁止領域へのアクセスを許可することができる。
【００４０】
第１１の発明は、第７から第１０のいずれかの発明であって、ラッパー部は、アクセス禁止情報およびインターフェース部により設定された外部アクセス可能領域の情報に基づいて、第２記憶部に対するアクセス制御を行う。
【００４１】
これにより、この半導体メモリ装置では、アクセス禁止情報および外部アクセス可能領域の情報の両方を用いて、多様な条件により、第２記憶部へのアクセス制御を行うことができる。
【００４２】
第１２の発明は、第７から第１１のいずれかの発明であって、ラッパー部は、第２記憶部へのアクセス要求をしているアドレスが、外部アクセス可能領域内のアドレスであり、かつ、アクセス禁止領域内であると判定した場合、第２記憶部への全てのアクセスを禁止する。
【００４３】
これにより、この半導体メモリ装置では、外部装置から第２記憶部４に対して不正なアクセスが実行されようとしている可能性の高い状態を検知でき、外部装置から第２記憶部４に対する不正なアクセスを適切に防止することができる。
【００４４】
第１３の発明は、第１から第１２のいずれかの発明であって、インターフェース部は、ホスト装置から、半導体メモリ装置の第２記憶部の全メモリ領域をアクセスするコマンドを受信した場合、第２記憶部に記憶されているデータを正常に読み出すことができないことを示すレスポンスをホスト装置に送信する。
【００４５】
これにより、半導体メモリ装置からホスト装置に送信されるレスポンスを調査することで、第１３の発明が実施されているか否かを判定することができる。
【００４６】
第１４の発明は、ホスト装置と、第１から第１３のいずれかの発明である半導体メモリ装置と、を備える半導体メモリシステムである。
【００４７】
これにより第１から第１３のいずれかの発明である半導体メモリ装置を用いて、半導体メモリシステムを実現することができる。
【発明の効果】
【００４８】
本発明によれば、外部装置（ホスト装置）から安全に半導体メモリ装置の揮発性の高速メモリにアクセスすることができる半導体メモリ装置、半導体メモリシステムを実現することができる。
【図面の簡単な説明】
【００４９】
【図１】第１実施形態に係る半導体メモリシステム１０００の概略構成図。
【図２】半導体メモリシステム１０００の動作シーケンス図。
【図３】半導体メモリシステム１０００の動作シーケンス図。
【図４】初期状態における半導体メモリシステム１０００の状態を模式的に示す図。
【図５】半導体メモリ装置１００が起動した後のマイクロプロセッサ２で実行される起動処理後の半導体メモリシステム１０００の状態を模式的に示す図。
【図６】ホスト装置Ｈ１が半導体メモリ装置１００に対して実行予約命令を送信したときの半導体メモリシステム１０００の状態を模式的に示す図。
【図７】半導体メモリ装置１００において第２記憶部４の外部アクセス許可領域が設定されるときの半導体メモリシステム１０００の状態を模式的に示す図。
【図８】ホスト装置Ｈ１が半導体メモリ装置１００に対して演算対象データの書き込み命令を送信したときの半導体メモリシステム１０００の状態を模式的に示す図。
【図９】ホスト装置Ｈ１が半導体メモリ装置１００に対して演算実行命令を送信したときの半導体メモリシステム１０００の状態を模式的に示す図。
【図１０】ホスト装置Ｈ１が半導体メモリ装置１００に対して演算結果の読み出し命令を送信したときの半導体メモリシステム１０００の状態を模式的に示す図。
【図１１】第２記憶部４の外部アクセス許可領域が設定されたときの半導体メモリシステム１０００の状態を模式的に示す図。
【図１２】第２実施形態に係る半導体メモリシステム２０００の概略構成図。
【図１３】第２実施形態に係る半導体メモリシステム２０００の動作を説明するための図。
【図１４】第２実施形態の第１変形例の半導体メモリシステム２０００Ａの概略構成図。
【図１５】第２実施形態の第２変形例の半導体メモリシステムにおける第２記憶部４に対するアクセス制御方法を決定するための条件を示した表を示す図。
【図１６】ＣＰＵバス構成を示す図。
【発明を実施するための形態】
【００５０】
［第１実施形態］
第１実施形態について、図面を参照しながら、以下、説明する。
【００５１】
＜１．１：半導体メモリシステムの構成＞
図１は、第１実施形態に係る半導体メモリシステム１０００の概略構成図である。
【００５２】
半導体メモリシステム１０００は、図１に示すように、ホスト装置Ｈ１と、半導体メモリ装置１００とを備える。ホスト装置Ｈ１と、半導体メモリ装置１００とは、通信路ＣＨ１により接続されており、双方向に通信が可能である。なお、通信路は、有線であっても無線であってもよい。ホスト装置Ｈ１と、半導体メモリ装置１００との間において、通信路ＣＨ１を介して、コマンド、データ、クロック信号等の通信が行われる。
【００５３】
ホスト装置Ｈ１は、通信路ＣＨ１を介して、半導体メモリ装置１００と接続されている。ホスト装置Ｈ１は、半導体メモリ装置１００に対して、例えば、コマンド、データ、クロック信号等を送信する。
【００５４】
また、ホスト装置Ｈ１は、半導体メモリ装置１００から送信されるデータ等を受信する。
【００５５】
半導体メモリ装置１００は、図１に示すように、内部バスＢｕｓと、ホストインターフェース（ホストＩＦ）１と、マイクロプロセッサ２と、第１記憶部３と、第２記憶部４とを備える。
【００５６】
内部バスＢｕｓは、例えば、データバス、制御バス、アドレスバスとから構成されており、半導体メモリ装置１００の各機能部と接続されている。そして、半導体メモリ装置１００の各機能部は、内部バスＢｕｓを介して、各種データの送受信を行うことができる。
【００５７】
ホストインターフェース１は、内部バスＢｕｓに接続されており、マイクロプロセッサ２と、第２記憶部４と、各種データの送受信を行う。また、ホストインターフェース１は、通信路ＣＨ１を介して、ホスト装置Ｈ１と接続することができる。ホストインターフェース１は、通信路ＣＨ１を介して、コマンド、データ等を送受信する。
【００５８】
また、ホストインターフェース１は、メモリ制御部１１を備え、メモリ制御部１１を用いて、第２記憶部４のアクセス制御を実行する。
【００５９】
メモリ制御部１１は、第２記憶部４のアクセス制御を実行するために用いられる。メモリ制御部１１は、例えば、レジスタにより実現されるものであってもよい。
【００６０】
マイクロプロセッサ２は、半導体メモリ装置１００の各機能部を制御する。マイクロプロセッサ２は、内部バスＢｕｓに接続されている。マイクロプロセッサ２は、半導体メモリ装置１００の各機能部へ、内部バスＢｕｓを介して、各種データを送信し、また、半導体メモリ装置１００の各機能部から、内部バスＢｕｓを介して、各種データを受信する。
【００６１】
第１記憶部３は、データの読み出し／書き込みを行うことができるメモリである。第１記憶部３は、内部バスＢｕｓに接続されており、マイクロプロセッサ２により制御される。
【００６２】
第２記憶部４は、高速アクセス可能なメモリ（例えば、ＳＲＡＭ）であり、第１記憶部３のアクセス速度よりも速いアクセス速度で、データの読み出し／書き込みを行うことができる。第２記憶部４は、内部バスＢｕｓに接続されており、マイクロプロセッサ２又はホストＩＦ１のメモリ制御部１１により制御される。
【００６３】
＜１．２：半導体メモリシステムの動作＞
以上のように構成された半導体メモリシステム１０００の動作について、以下、説明する。
【００６４】
図２、図３は、半導体メモリシステム１０００の動作シーケンス図である。
【００６５】
図４は、初期状態における半導体メモリシステム１０００の状態を模式的に示す図である。
【００６６】
図５は、半導体メモリ装置１００が起動した後のマイクロプロセッサ２で実行される起動処理後の半導体メモリシステム１０００の状態を模式的に示す図である。
【００６７】
図６は、ホスト装置Ｈ１が半導体メモリ装置１００に対して実行予約命令を送信したときの半導体メモリシステム１０００の状態を模式的に示す図である。
【００６８】
図７は、半導体メモリ装置１００において第２記憶部４の外部アクセス許可領域が設定されるときの半導体メモリシステム１０００の状態を模式的に示す図である。
【００６９】
図８は、ホスト装置Ｈ１が半導体メモリ装置１００に対して演算対象データの書き込み命令を送信したときの半導体メモリシステム１０００の状態を模式的に示す図である。
【００７０】
図９は、ホスト装置Ｈ１が半導体メモリ装置１００に対して演算実行命令を送信したときの半導体メモリシステム１０００の状態を模式的に示す図である。
【００７１】
図１０は、ホスト装置Ｈ１が半導体メモリ装置１００に対して演算結果の読み出し命令を送信したときの半導体メモリシステム１０００の状態を模式的に示す図である。
【００７２】
以下では、図２、図３の半導体メモリシステム１０００の動作シーケンス図を参照しながら説明する。
【００７３】
まず、初期状態では、図４に示すように、第２記憶部４はデータが記憶されていない状態である。なお、図４において、第２記憶部４のハッチング部分は、データが記憶されていないことを示している。
【００７４】
第１記憶部３には、図４に示すように、常駐コードと、追加機能コードと、秘匿情報とが記憶されている。図４は、常駐コードと、追加機能コードと、秘匿情報とが、それぞれ、第１記憶部３の所定のメモリ領域に記憶されていることを模式的に示している。
【００７５】
（ステップＳ１〜ステップＳ３）：
ステップＳ１において、半導体メモリ装置１００が起動され、マイクロプロセッサ２は、起動処理を実行する。
【００７６】
そして、マイクロプロセッサ２は、メモリアクセス処理を実行する。具体的には、マイクロプロセッサ２は、第１記憶部３から常駐コードを読み出し（ステップＳ２）、読み出した常駐コードを第２記憶部４に書き込む（ステップＳ３）。
【００７７】
ステップＳ３の完了後、マイクロプロセッサ２は、待機状態となる。
【００７８】
図５は、ステップＳ３の処理が終了したときの半導体メモリシステム１０００の状態を示している。
【００７９】
（ステップＳ４）：
ステップＳ４において、ホスト装置Ｈ１は、半導体メモリ装置１００に対して、実行予約命令Ｄｈ（ＲｓｖＥｘｅ）を送信する。なお、「Ｄｈ（Ｘ）」は、ホスト装置Ｈ１が半導体メモリ装置１００に対して送信するデータであり、当該データには、Ｘを実行するために必要な、コマンド、引数（例えば、アドレスのデータ）、処理対象データを特定するための情報、所定のデータ等を含ませることができる。
【００８０】
半導体メモリ装置１００のホストＩＦ１は、ホスト装置Ｈ１から受信したデータ（コマンド）を解析し、当該データ（コマンド）が実行予約命令Ｄｈ（ＲｓｖＥｘｅ）であると判定する。そして、ホストＩＦ１は、ホスト装置Ｈ１から受信したデータ（実行予約命令Ｄｈ（ＲｓｖＥｘｅ））をマイクロプロセッサ２にバスＢｕｓを介して転送する。
【００８１】
マイクロプロセッサ２は、ホストＩＦ１からのデータ（実行予約命令Ｄｈ（ＲｓｖＥｘｅ））を受信する。
【００８２】
（ステップＳ５、Ｓ６）：
ステップＳ５において、マイクロプロセッサ２は、ホストＩＦ１から受信した実行予約命令Ｄｈ（ＲｓｖＥｘｅ）に従い、メモリアクセス処理を実行する。具体的には、マイクロプロセッサ２は、第１記憶部３から、（１）追加機能コード、（２）秘匿情報を読み出す。なお、秘匿情報は、必要に応じて読み出されるものであってもよい。
【００８３】
ステップＳ６において、マイクロプロセッサ２は、第１記憶部３から読み出した（１）追加機能コード、（２）秘匿情報を第２記憶部４に書き込む。なお、秘匿情報は、必要に応じて書き込まれるようにしてもよい。
【００８４】
図６は、ステップＳ６の処理が終了したときの半導体メモリシステム１０００の状態を示している。
【００８５】
（ステップＳ７）：
ステップＳ７において、マイクロプロセッサ２は、第２記憶部４の外部アクセス許可領域を設定する処理を行う。具体的には、マイクロプロセッサ２は、バスＢｕｓを介して、ホストＩＦ１のメモリ制御部１１に第２記憶部４の外部アクセス許可領域を設定するための情報を出力する。外部アクセス許可領域を設定するための情報は、例えば、第２記憶部４のメモリ領域の先頭アドレスからのオフセットＯｆｓｔと、および、当該オフセットＯｆｓｔにより決定される第２記憶部４のメモリ領域のアドレスからの深さＤｐｔｈである。
【００８６】
この場合、「（先頭アドレス）＋（オフセットＯｆｓｔ）」で決定されるアドレスから「（先頭アドレス）＋（オフセットＯｆｓｔ）＋（深さＤｐｔｈ）」で決定されるアドレスまでの第２記憶部４のメモリ領域が、外部アクセス許可領域となる。
【００８７】
なお、メモリ制御部１１には、第２記憶部４の全メモリ領域へのアクセスを禁止することを示す値が設定されている。これにより、外部アクセス可能領域が設定されていない状態においても、外部装置（例えば、ホスト装置Ｈ１）から第２記憶部４に不正アクセスされることを適切に防止することができる。
【００８８】
ホストＩＦ１のメモリ制御部１１は、マイクロプロセッサ２からの外部アクセス許可領域を設定するための情報（例えば、オフセットＯｆｓｔと深さＤｐｔｈ）を保持する。ホストＩＦ１は、メモリ制御部１１に保持された外部アクセス許可領域設定情報（例えば、オフセットＯｆｓｔと深さＤｐｔｈ）に基づいて、第２記憶部４のアクセス制御を行う。
【００８９】
図７は、ステップＳ７の処理が終了したときの半導体メモリシステム１０００の状態を示している。
【００９０】
（ステップＳ８）：
ステップＳ８において、ホスト装置Ｈ１は、半導体メモリ装置１００に対して、演算対象データの書き込み命令Ｄｈ（Ｗｒｉｔｅ）を送信する。
【００９１】
半導体メモリ装置１００のホストＩＦ１は、ホスト装置Ｈ１から受信したデータ（コマンド）を解析し、当該データ（コマンド）が演算対象データの書き込み命令Ｄｈ（Ｗｒｉｔｅ）であると判定する。そして、ホストＩＦ１は、ホスト装置Ｈ１から受信したデータ（演算対象データの書き込み命令Ｄｈ（Ｗｒｉｔｅ））に基づいて、メモリアクセス処理を実行する。
【００９２】
（ステップＳ９）：
ステップＳ９において、ホストＩＦ１は、演算対象データの書き込み命令Ｄｈ（Ｗｒｉｔｅ）に含まれる演算対象データを抽出し、抽出した演算対象データを第２記憶部４に書き込む。このとき、ホストＩＦ１は、メモリ制御部１１に保持されている外部アクセス許可領域の情報を参照し、演算対象データを第２記憶部４の外部アクセス許可領域に書き込む。
【００９３】
図８は、ステップＳ９の処理が終了したときの半導体メモリシステム１０００の状態を示している。図８から分かるように、ホスト装置Ｈ１から送信された演算対象データが第２記憶部４の外部アクセス許可領域に記憶されている。
【００９４】
（ステップＳ１０）：
ステップＳ１０において、ホスト装置Ｈ１は、半導体メモリ装置１００に対して、演算実行命令Ｄｈ（Ｅｘｅ）（マイクロプロセッサ起動コマンド）を送信する。
【００９５】
半導体メモリ装置１００のホストＩＦ１は、ホスト装置Ｈ１から受信したデータ（コマンド）を解析し、当該データ（コマンド）が演算実行命令Ｄｈ（Ｅｘｅ）であると判定する。そして、ホストＩＦ１は、ホスト装置Ｈ１から受信したデータ（演算実行命令Ｄｈ（Ｅｘｅ））をマイクロプロセッサ２にバスＢｕｓを介して転送する。
【００９６】
マイクロプロセッサ２は、ホストＩＦ１からのデータ（実行予約命令Ｄｈ（Ｅｘｅ））を受信する。
【００９７】
（ステップＳ１１〜Ｓ１３）
ステップＳ１１において、マイクロプロセッサ２は、ホストＩＦ１から受信した演算実行命令Ｄｈ（Ｅｘｅ）に従い、メモリアクセス処理を実行する。具体的には、マイクロプロセッサ２は、第２記憶部４から、（１）追加機能コード、（２）演算対象データ、（３）（必要に応じて）秘匿情報を読み出す。
【００９８】
ステップＳ１２において、マイクロプロセッサ２は、第２記憶部４から読み出した（１）追加機能コード、（２）演算対象データ、（３）（必要であれば）秘匿情報を用いて、演算（ＣＰＵ演算処理）を実行する。
【００９９】
ステップＳ１３において、マイクロプロセッサ２は、第２記憶部４に対するメモリアクセス処理を行う。具体的には、マイクロプロセッサ２は、上記演算（ＣＰＵ演算処理）の実行結果（演算結果）を第２記憶部４の外部アクセス許可領域に書き込む。
【０１００】
図９は、ステップＳ１３の処理が終了したときの半導体メモリシステム１０００の状態を示している。図９から分かるように、マイクロプロセッサ２が（１）追加機能コード、（２）演算対象データ、（３）（必要であれば）秘匿情報を用いて演算した結果が第２記憶部４の外部アクセス許可領域に記憶されている。
【０１０１】
なお、ホスト装置Ｈ１は、例えば、半導体メモリ装置１００に対してポーリングし、半導体メモリ装置１００のマイクロプロセッサ２による演算処理が完了したことを把握する。
【０１０２】
（ステップＳ１４〜Ｓ１６）
ステップＳ１４において、ホスト装置Ｈ１は、半導体メモリ装置１００に対して、演算結果の読み出し命令Ｄｈ（Ｒｅａｄ）を送信する。
【０１０３】
半導体メモリ装置１００のホストＩＦ１は、ホスト装置Ｈ１から受信したデータ（コマンド）を解析し、当該データ（コマンド）が演算結果の読み出し命令Ｄｈ（Ｒｅａｄ）であると判定する。そして、ホストＩＦ１は、ホスト装置Ｈ１から受信したデータ（演算結果の読み出し命令Ｄｈ（Ｒｅａｄ））に基づいて、メモリアクセス処理を実行する。
【０１０４】
ステップＳ１５において、ホストＩＦ１は、外部アクセス許可領域から演算結果を読み出す。
【０１０５】
ステップＳ１６において、ホストＩＦ１は、外部アクセス許可領域から読み出した演算結果を含めた送信データを作成し、作成した送信データを送信データＤｓ（Ｒｅｓｕｌｔ）として、ホスト装置Ｈ１に送信する。
【０１０６】
ホスト装置Ｈ１は、ホストＩＦ１から送信されるデータＤｓ（Ｒｅｓｕｌｔ）を受信し、受信したデータＤｓ（Ｒｅｓｕｌｔ）から、演算結果を抽出する。
【０１０７】
以上のように、半導体メモリシステム１０００では、ホストＩＦ１のメモリ制御部１１に第２記憶部４の外部アクセス許可領域を特定するための情報（例えば、オフセットＯｆｓｔと深さＤｐｔｈ）を保持し、当該情報に基づいて、ホストＩＦ１が、ホスト装置Ｈ１からの第２記憶部４へのアクセスを許可するか否かを判定する。半導体メモリシステム１０００では、メモリ制御部１１に保持されている情報に基づいて、ホストＩＦ１が、ホスト装置Ｈ１からの第２記憶部４へのアクセスを許可した場合、ホスト装置Ｈ１は、ホストＩＦ１を介して、第２記憶部４にアクセスすることができる。つまり、半導体メモリシステム１０００では、ホスト装置Ｈ１からアクセス速度の速い第２記憶装置（例えば、ＳＲＡＭ）に、直接（バッファや、アクセス速度の遅い不揮発性メモリ等に、暫定的にデータを保持させることなく）、アクセスすることができる。さらに、半導体メモリシステム１０００では、上記の通り、ホストＩＦ１が第２記憶部４へのアクセス制御を行い、外部装置（例えば、ホスト装置Ｈ１）からアクセスできる領域を外部アクセス許可領域に限定することができる。これにより、半導体メモリシステム１０００では、外部装置（例えば、ホスト装置Ｈ１）から不正に半導体メモリ装置１００の高速メモリである第２記憶部４にアクセスされることがない。
【０１０８】
このように、半導体メモリシステム１０００では、外部装置（例えば、ホスト装置Ｈ１）から安全に半導体メモリ装置１００の高速メモリである第２記憶部４にアクセスすることができる。
【０１０９】
なお、ここで、半導体メモリシステム１０００の使用例として、（Ａ）暗号化機能を追加する場合と、（Ｂ）乱数生成機能を追加する場合と、（Ｃ）出荷時のテスト機能を追加する場合について、説明する。
【０１１０】
≪（Ａ）暗号化機能を追加する場合≫
まず、半導体メモリシステム１０００の使用例として、（Ａ）暗号化機能を追加する場合について、説明する。
【０１１１】
この場合、半導体メモリシステム１０００では、以下の処理が実行される。
（１）暗号化機能を実現するファームウェア（Ｆ／Ｗ）が第１記憶部３に格納される。なお、この暗号化機能を実現するファームウェア（Ｆ／Ｗ）は、常駐コード、追加機能コード、および、秘匿情報として、第１記憶部３に格納される。
（２）マイクロプロセッサ２は、起動時（ブート時）に第１記憶部３に格納されている常駐コードを、第１記憶部３から読み出し、第２記憶部４に書き込む。その後、マイクロプロセッサ２は待機状態となる。
（３）ホスト装置Ｈ１は、半導体メモリ装置１００に対して、実行予約命令Ｄｈ（ＲｓｖＥｘｅ）を送信する。半導体メモリ装置１００は、実行予約命令Ｄｈ（ＲｓｖＥｘｅ）を受信すると、第１記憶部３から追加機能コードと秘匿情報とを読み出し、読み出した追加機能コードと秘匿情報とを第２記憶部４に書き込む。
【０１１２】
また、半導体メモリ装置１００は、ホストＩＦ１のメモリ制御部１１において第２記憶部４の外部アクセス許可領域を設定するための情報を保持する。これにより、半導体メモリ装置１００は、ホストＩＦ１により、第２記憶部４の外部アクセス許可領域が設定され、これ以降、ホストＩＦ１により、第２記憶部４へのアクセス制御が実行される。
（４）ホスト装置Ｈ１は、半導体メモリ装置１００に対して、演算対象データの書き込み命令Ｄｈ（Ｗｒｉｔｅ）を送信する。半導体メモリ装置１００は、演算対象データの書き込み命令Ｄｈ（Ｗｒｉｔｅ）を受信し、ホストＩＦ１により、演算対象データを第２記憶部４の外部アクセス許可領域に書き込む。
（５）ホスト装置Ｈ１は、半導体メモリ装置１００に対して、演算実行命令Ｄｈ（Ｅｘｅ）（マイクロプロセッサ起動コマンド）を送信する。
【０１１３】
半導体メモリ装置１００のマイクロプロセッサ２は、第２記憶部４に記憶されている演算対象データに対して、第２記憶部４に記憶されている追加機能コードを使用し暗号化処理を実行する。
【０１１４】
そして、暗号化処理の演算結果は、第２記憶部４の外部アクセス許可領域に書き込まれる。
（６）ホスト装置Ｈ１は、例えば、ポーリングにより、半導体メモリ装置１００でのマイクロプロセッサ２の処理が完了したことを確認した後、半導体メモリ装置１００に対して、演算結果の読み出し命令Ｄｈ（Ｒｅａｄ）を送信する。半導体メモリ装置１００のホストＩＦ１は、暗号化処理の演算結果を、第２記憶部４から読み出し、ホスト装置Ｈ１に送信する。
【０１１５】
以上により、半導体メモリシステム１０００において、暗号化機能を追加することができる。
【０１１６】
≪（Ｂ）乱数生成機能を追加する場合≫
次に、半導体メモリシステム１０００の使用例として、（Ｂ）乱数生成機能を追加する場合について、説明する。
【０１１７】
この場合、半導体メモリシステム１０００では、以下の処理が実行される。
（１）乱数生成機能を実現するファームウェア（Ｆ／Ｗ）が第１記憶部３に格納される。なお、この乱数生成機能を実現するファームウェア（Ｆ／Ｗ）は、常駐コード、および、追加機能コードとして、第１記憶部３に格納される。
（２）マイクロプロセッサ２は、起動時（ブート時）に第１記憶部３に格納されている常駐コードを、第１記憶部３から読み出し、第２記憶部４に書き込む。その後、マイクロプロセッサ２は待機状態となる。
（３）ホスト装置Ｈ１は、半導体メモリ装置１００に対して、実行予約命令Ｄｈ（ＲｓｖＥｘｅ）を送信する。半導体メモリ装置１００は、実行予約命令Ｄｈ（ＲｓｖＥｘｅ）を受信すると、第１記憶部３から追加機能コードを読み出し、読み出した追加機能コードを第２記憶部４に書き込む。
【０１１８】
また、半導体メモリ装置１００は、ホストＩＦ１のメモリ制御部１１において第２記憶部４の外部アクセス許可領域を設定するための情報を保持する。これにより、半導体メモリ装置１００は、ホストＩＦ１により、第２記憶部４の外部アクセス許可領域が設定され、これ以降、ホストＩＦ１により、第２記憶部４へのアクセス制御が実行される。
（４）ホスト装置Ｈ１は、半導体メモリ装置１００に対して、演算実行命令Ｄｈ（Ｅｘｅ）（マイクロプロセッサ起動コマンド）を送信する。
【０１１９】
半導体メモリ装置１００のマイクロプロセッサ２は、第２記憶部４に記憶されている追加機能コードを使用し乱数生成処理を実行する。
【０１２０】
そして、乱数生成処理の演算結果は、第２記憶部４の外部アクセス許可領域に書き込まれる。
（６）ホスト装置Ｈ１は、例えば、ポーリングにより、半導体メモリ装置１００でのマイクロプロセッサ２の処理が完了したことを確認した後、半導体メモリ装置１００に対して、演算結果の読み出し命令Ｄｈ（Ｒｅａｄ）を送信する。半導体メモリ装置１００のホストＩＦ１は、乱数生成処理の演算結果を、第２記憶部４から読み出し、ホスト装置Ｈ１に送信する。
【０１２１】
以上により、半導体メモリシステム１０００において、乱数生成機能を追加することができる。
【０１２２】
≪（Ｃ）出荷時のテスト機能を追加する場合≫
次に、半導体メモリシステム１０００の使用例として、（Ｃ）出荷時のテスト機能を追加する場合について、説明する。
【０１２３】
この場合、半導体メモリシステム１０００では、以下の処理が実行される。
（１）第２記憶部４の特定番地Ａｄｒｓ＿ｓｐｅｃの命令を実行する機能を実現するファームウェア（Ｆ／Ｗ）が第１記憶部３に格納される。なお、この機能を実現するファームウェア（Ｆ／Ｗ）は、常駐コードとして、第１記憶部３に格納される。
（２）マイクロプロセッサ２は、第１記憶部３に記憶されている常駐コードにより起動処理を行い、常駐コードから、第２記憶部４の特定番地Ａｄｒｓ＿ｓｐｅｃの情報を取得する。そして、マイクロプロセッサ２は、取得した特定番地Ａｄｒｓ＿ｓｐｅｃに基づいて、ホストＩＦ１のメモリ制御部１１において、第２記憶部４の外部アクセス許可領域を設定するための情報を保持する。
【０１２４】
図１１は、第２記憶部４の外部アクセス許可領域が設定されたときの半導体メモリシステム１０００の状態を模式的に示す図である。図１１から分かるように、この場合、常駐コードが記憶されているメモリ領域の次の番地（メモリアドレス）に特定番地Ａｄｒｓ＿ｓｐｅｃが設定されており、特定番地Ａｄｒｓ＿ｓｐｅｃ以降のメモリ領域が、外部アクセス許可領域に設定されている。
（３）ホスト装置Ｈ１は、半導体メモリ装置１００に対して、テストコードの書き込み命令Ｄｈ（Ｗｒｉｔｅ）を送信する。半導体メモリ装置１００は、テストコードの書き込み命令Ｄｈ（Ｗｒｉｔｅ）を受信し、ホストＩＦ１により、テストコードを第２記憶部４の特定番地Ａｄｒｓ＿ｓｐｅｃ以降のメモリ領域、すなわち、外部アクセス許可領域に書き込む。
（４）ホスト装置Ｈ１は、半導体メモリ装置１００に対して、演算実行命令Ｄｈ（Ｅｘｅ）（マイクロプロセッサ起動コマンド）を送信する。
【０１２５】
半導体メモリ装置１００のマイクロプロセッサ２は、第２記憶部４に記憶されているテストコードを用いてテスト処理を実行する、
そして、テスト処理の演算結果は、第２記憶部４の外部アクセス許可領域に書き込まれる。
（６）ホスト装置Ｈ１は、例えば、ポーリングにより、半導体メモリ装置１００でのマイクロプロセッサ２の処理が完了したことを確認した後、半導体メモリ装置１００に対して、演算結果の読み出し命令Ｄｈ（Ｒｅａｄ）を送信する。半導体メモリ装置１００のホストＩＦ１は、テスト処理の演算結果を、第２記憶部４から読み出し、ホスト装置Ｈ１に送信する。
【０１２６】
以上により、半導体メモリシステム１０００において、テスト機能（出荷時のテスト機能）を追加することができる。
【０１２７】
［第２実施形態］
次に、第２実施形態について、説明する。
【０１２８】
第１実施形態と同様の部分については、同一符号を付し、詳細な説明を省略する。
【０１２９】
＜２．１：半導体メモリシステムの構成＞
図１２は、第２実施形態に係る半導体メモリシステム２０００の概略構成図である。
【０１３０】
図１２に示すように、第２実施形態の半導体メモリシステム２０００は、第１実施形態の半導体メモリシステム１０００において、さらに、ラッパー部５と、アクセス禁止情報保持部６とを備える。
【０１３１】
ラッパー部５は、第２記憶部４とバスＢｕｓとの間に設置されており、アクセス禁止情報保持部６と接続されている。ラッパー部５は、例えば、ラッパー（Ｗｒａｐｐｅｒ）回路により実現される。ラッパー部５は、アクセス禁止情報保持部６から、第２記憶部４のアクセス禁止領域を設定するためのアクセス禁止情報を取得し、取得したアクセス禁止情報に基づいて、第２記憶部４へのアクセス制御を行う。また、ラッパー部５は、マイクロプロセッサ２からバスＢｕｓを介して出力されるフェッチアクセス信号を入力する。ラッパー部５は、フェッチアクセス信号がイネーブルであるとき（イネーブルを示す信号値であるとき）、第２記憶部４からデータを読み出し、読み出したデータをマイクロプロセッサ２にバスＢｕｓを介して出力する。
【０１３２】
アクセス禁止情報保持部６は、第２記憶部４のアクセス禁止領域を設定するためのアクセス禁止情報を記憶保持している。そして、アクセス禁止情報保持部６は、ラッパー部５からの要求に従い、保持しているアクセス禁止情報をラッパー部５に出力する。
【０１３３】
＜２．２：半導体メモリシステムの動作＞
以上のように構成された半導体メモリシステム２０００の動作について、以下、説明する。
【０１３４】
なお、第１実施形態と同様の部分については、説明を省略する。
【０１３５】
半導体メモリシステム２０００の基本動作は、図２、図３の動作シーケンスに示した第１実施形態の半導体メモリシステム１０００と同様である。
【０１３６】
図１３は、第２実施形態に係る半導体メモリシステム２０００の動作を説明するための図である。
【０１３７】
アクセス禁止情報保持部６には、第２記憶部４のアクセス禁止領域を設定するためのアクセス禁止情報が記憶されている。アクセス禁止情報保持部６は、例えば、ＯＴＰ（Ｏｎｅ  Ｔｉｍｅ  Ｐｒｏｇｒａｍｍａｂｌｅ）方式のＲＯＭにより実現される。したがって、アクセス禁止情報保持部６に保持されているアクセス禁止情報は、後から変更することはできない。したがって、アクセス禁止情報保持部６に保持されているアクセス禁止情報のセキュリティ強度は高いものとなる。
【０１３８】
なお、アクセス禁止情報保持部６は、ハードウェア実装されるものであってもよい（ハードワイヤードロジックにより実装されるものであってもよい）。この場合、アクセス禁止情報保持部６を実現するハードウェアは変更できないため、アクセス禁止情報保持部６から出力されるアクセス禁止情報は、後から変更することはできない。したがって、アクセス禁止情報保持部６に保持されているアクセス禁止情報のセキュリティ強度は高いものとなる。
【０１３９】
ラッパー部５は、アクセス禁止情報保持部６から、第２記憶部４のアクセス禁止領域を設定するためのアクセス禁止情報を取得する。そして、ラッパー部５は、取得したアクセス禁止情報に基づいて、第２記憶部４へのアクセス制御を行う。具体的には、ラッパー部５は、アクセス禁止情報に基づいて、第２記憶部４のアクセス禁止領域を設定する。このアクセス禁止領域は、外部装置（例えば、ホスト装置Ｈ１）からのアクセスが禁止されるメモリ領域である。なお、アクセス禁止領域は、マイクロプロセッサ２からの命令フェッチによる読み出しは可能であるメモリ領域である。具体的には、マイクロプロセッサ２からラッパー部５に入力されるフェッチアクセス信号がフェッチイネーブルを示す信号値である場合のみ、マイクロプロセッサ２からの命令フェッチにより、第２記憶部４のアクセス禁止領域のデータ（命令コード）を読み出すことができる。
【０１４０】
図１３は、ラッパー部５により設定されたアクセス禁止領域の一例を模式的に示している。具体的には、図１３において、メモリ領域ｐｒｏｈｉｂｉｔ＿ＡＲ１、ｐｒｏｈｉｂｉｔ＿ＡＲ２が、ラッパー部５により設定されたアクセス禁止領域である。この場合、第２記憶部４において、常駐コードが記憶されているメモリ領域（メモリ領域ｐｒｏｈｉｂｉｔ＿ＡＲ１として設定されている領域）と、秘匿情報が記憶されているメモリ領域（メモリ領域ｐｒｏｈｉｂｉｔ＿ＡＲ１）が、ラッパー部５により設定されたアクセス禁止領域である。
【０１４１】
このようにアクセス禁止領域を設定することで、第２記憶部４の常駐コードが記憶されているメモリ領域、および、秘匿情報が記憶されているメモリ領域が、外部装置（例えば、ホスト装置Ｈ１）から不正アクセスされることを適切に防止することができる。
【０１４２】
なお、アクセス禁止領域に記憶されているデータ（コード）の読み出しは、命令フェッチにより、以下のようにして実行される。
【０１４３】
マイクロプロセッサ２は、フェッチアクセス信号および命令フェッチ信号を、バスＢｕｓを介して、ラッパー部５に出力する。
【０１４４】
ラッパー部５は、マイクロプロセッサ２からのフェッチアクセス信号および命令フェッチ信号を受信し、受信した命令フェッチ信号から、命令フェッチ対象のアドレスを取得する。また、ラッパー部５は、受信したフェッチアクセス信号がイネーブルを示す信号値であるか否かを判定する。そして、ラッパー部５は、受信したフェッチアクセス信号がイネーブルを示す信号値である場合、取得した命令フェッチ対象のアドレスが、第２記憶部４のアクセス禁止領域内のアドレスであるときであっても、当該アドレスからデータ（命令コード）を読み出す。そして、ラッパー部５は、読み出したデータ（命令コード）を、バスＢｕｓを介して、マイクロプロセッサ２に出力する。
【０１４５】
なお、半導体メモリシステム２０００では、秘匿情報が命令コードの形式で、第２記憶部４に記憶される。これにより、半導体メモリシステム２０００では、図１３に示すように、秘匿情報が記憶されているメモリ領域がアクセス禁止領域ｐｒｏｈｉｂｉｔ＿ＡＲ２に設定されても、上記処理により、マイクロプロセッサ２からのみ読み出すことができる。
【０１４６】
つまり、（１）ラッパー部５に入力されているフェッチアクセス信号がイネーブルを示す信号値であり、かつ、（２）ラッパー部５が、マイクロプロセッサ２から、アクセス禁止領域ｐｒｏｈｉｂｉｔ＿ＡＲ２に含まれるアドレスのコードを読み出すための命令フェッチ信号を受信したとき、アクセス禁止領域ｐｒｏｈｉｂｉｔ＿ＡＲ２から秘匿情報（命令コード形式のデータとして記憶されている秘匿情報）を読み出すことができる。
【０１４７】
なお、秘匿情報は、例えば、命令コードのフォーマットにおいて、任意のデータを含ませることができるフィールドに含ませるようにしてもよい。
【０１４８】
以上のように、半導体メモリシステム２０００では、ラッパー部５により、アクセス禁止領域を設定することができ、第２記憶部４のアクセス禁止領域に記憶されているデータは、マイクロプロセッサ２から、フェッチアクセス信号がイネーブルであるときのみ、命令フェッチにより読み出される。
【０１４９】
したがって、半導体メモリシステム２０００では、外部装置（例えば、ホスト装置Ｈ１）が、第２記憶部４でアクセス禁止領域に設定されたメモリ領域に不正にアクセスすることを効果的に防止することができる。
【０１５０】
≪第１変形例≫
次に、第２実施形態の第１変形例について説明する
なお、上記実施形態と同様の部分については、詳細な説明を省略する。
【０１５１】
図１４は、第２実施形態の第１変形例の半導体メモリシステム２０００Ａの概略構成図である。
【０１５２】
本変形例の半導体メモリシステム２０００Ａは、第２実施形態の半導体メモリシステム２０００において、マイクロプロセッサ２をマイクロプロセッサ２Ａに置換し、ラッパー部５をラッパー部５Ａに置換した構成を有している。
【０１５３】
マイクロプロセッサ２Ａは、フェッチアクセス信号を出力するための信号線Ｌ１によりラッパー部５Ａと接続されている。マイクロプロセッサ２Ａは、信号線Ｌ１により、ラッパー部５Ａに、バスＢｕｓを介することなく直接、フェッチアクセス信号を出力する。なお、上記以外について、マイクロプロセッサ２Ａは、マイクロプロセッサ２と同様である。
【０１５４】
ラッパー部５Ａは、信号線Ｌ１によりマイクロプロセッサ２Ａと接続されている。ラッパー部５Ａは、信号線Ｌ１により、マイクロプロセッサ２Ａからフェッチアクセス信号を入力する。なお、上記以外について、ラッパー部５Ａは、ラッパー部５と同様である。
【０１５５】
本変形例の半導体メモリシステム２０００Ａでは、ラッパー部５Ａが、マイクロプロセッサ２Ａから出力されるフェッチアクセス信号を、信号線Ｌ１を介して受信する。
【０１５６】
そして、半導体メモリシステム２０００Ａでは、受信したフェッチアクセス信号を用いて、第２実施形態と同様の動作が実行される。
【０１５７】
これにより、半導体メモリシステム２０００Ａでは、半導体メモリシステム２０００と同様に、外部装置（例えば、ホスト装置Ｈ１）が、第２記憶部４でアクセス禁止領域に設定されたメモリ領域に不正にアクセスすることを効果的に防止することができる。
【０１５８】
≪第２変形例≫
次に、第２実施形態の第２変形例について説明する
なお、上記実施形態、変形例と同様の部分については、詳細な説明を省略する。
【０１５９】
図１５は、第２実施形態の第２変形例の半導体メモリシステムにおける第２記憶部４に対するアクセス制御方法を決定するための条件を示した表を示す図である。
【０１６０】
本変形例の半導体メモリシステムの構成は、第２実施形態の半導体メモリシステム２０００、または、第２実施形態の第１変形例の半導体メモリシステム２０００Ａの構成と同様である。
【０１６１】
ラッパー部５（またはラッパー部５Ａ）の処理内容が異なる。
【０１６２】
本変形例のラッパー部５（またはラッパー部５Ａ）は、図１５に示した条件（パターン）により、第２記憶部４に対するアクセス制御方法を決定する。
【０１６３】
具体的には、本変形例のラッパー部５（またはラッパー部５Ａ）は、以下のパターン１〜パターン４により、アクセス制御方法を決定する。
【０１６４】
（パターン１）：
本変形例のラッパー部５（またはラッパー部５Ａ）は、ホストＩＦ１のメモリ制御部１１に保持されているデータ（オフセットＯｆｓｔおよび深さＤｐｔｈ）から、外部アクセス許可領域を決定する。また、本変形例のラッパー部５（またはラッパー部５Ａ）は、アクセス禁止情報保持部６に保持されているアクセス禁止情報から、アクセス禁止領域を決定する。
【０１６５】
そして、本変形例のラッパー部５（またはラッパー部５Ａ）は、ホストＩＦ１からアクセスしようとしている第２記憶部４のアドレスが、
（１）外部アクセス許可領域外のアドレスであり、かつ、
（２）アクセス禁止領域内のアドレスである場合、
第２記憶部４の当該アドレスへのアクセスを禁止する。
【０１６６】
なお、本変形例のラッパー部５（またはラッパー部５Ａ）は、フェッチアクセス信号がイネーブルであることを示す信号である場合、マイクロプロセッサ２（または２Ａ）からの命令フェッチによる当該アドレスへのアクセスは許可する。
【０１６７】
（パターン２）：
本変形例のラッパー部５（またはラッパー部５Ａ）は、ホストＩＦ１のメモリ制御部１１に保持されているデータ（オフセットＯｆｓｔおよび深さＤｐｔｈ）から、外部アクセス許可領域を決定する。また、本変形例のラッパー部５（またはラッパー部５Ａ）は、アクセス禁止情報保持部６に保持されているアクセス禁止情報から、アクセス禁止領域を決定する。
【０１６８】
そして、本変形例のラッパー部５（またはラッパー部５Ａ）は、ホストＩＦ１からアクセスしようとしている第２記憶部４のアドレスが、
（１）外部アクセス許可領域外のアドレスであり、かつ、
（２）アクセス禁止領域外のアドレスである場合、
第２記憶部４の当該アドレスへのアクセスを禁止する。
【０１６９】
なお、本変形例のラッパー部５（またはラッパー部５Ａ）は、フェッチアクセス信号がイネーブルであることを示す信号である場合、マイクロプロセッサ２（または２Ａ）からの命令フェッチによる当該アドレスへのアクセスは許可する。
【０１７０】
（パターン３）：
本変形例のラッパー部５（またはラッパー部５Ａ）は、ホストＩＦ１のメモリ制御部１１に保持されているデータ（オフセットＯｆｓｔおよび深さＤｐｔｈ）から、外部アクセス許可領域を決定する。また、本変形例のラッパー部５（またはラッパー部５Ａ）は、アクセス禁止情報保持部６に保持されているアクセス禁止情報から、アクセス禁止領域を決定する。
【０１７１】
そして、本変形例のラッパー部５（またはラッパー部５Ａ）は、ホストＩＦ１からアクセスしようとしている第２記憶部４のアドレスが、
（１）外部アクセス許可領域内のアドレスであり、かつ、
（２）アクセス禁止領域内のアドレスである場合、
第２記憶部４の当該アドレスへのアクセスを全て禁止する。
【０１７２】
この場合、外部装置（例えば、ホスト装置Ｈ１）からの不正アクセスである可能性が高いため、第２記憶部４の当該アドレスへのアクセスを全て禁止する。
【０１７３】
（パターン４）：
本変形例のラッパー部５（またはラッパー部５Ａ）は、ホストＩＦ１のメモリ制御部１１に保持されているデータ（オフセットＯｆｓｔおよび深さＤｐｔｈ）から、外部アクセス許可領域を決定する。また、本変形例のラッパー部５（またはラッパー部５Ａ）は、アクセス禁止情報保持部６に保持されているアクセス禁止情報から、アクセス禁止領域を決定する。
【０１７４】
そして、本変形例のラッパー部５（またはラッパー部５Ａ）は、ホストＩＦ１からアクセスしようとしている第２記憶部４のアドレスが、
（１）外部アクセス許可領域内のアドレスであり、かつ、
（２）アクセス禁止領域外のアドレスである場合、
第２記憶部４の当該アドレスへのアクセスを許可する。
【０１７５】
なお、上記パターン１〜３において、アクセス許可、アクセス禁止の設定内容が異なる状態となるのは、外部アクセス許可領域の設定情報、および／または、アクセス禁止領域の設定情報が不正に変更された、あるいは、ノイズ等により変更されたためと予想される。
【０１７６】
本変形例の半導体メモリシステムでは、ラッパー部５（またはラッパー部５Ａ）により、上記のようにアクセス制御を行うので、さらにセキュリティ強度の高い、第２記憶部４へのアクセス制御を実現することができる。
【０１７７】
［他の実施形態］
上記実施形態および変形例を組み合わせて、半導体メモリシステム、半導体メモリ装置を構成するようにしてもよい。
【０１７８】
また、上記実施形態（変形例を含む）において、ホストＩＦ１のメモリ制御部１１により設定される外部アクセス許可領域を設定するための情報は、固定のデータ（値）である必要はなく、例えば、半導体メモリ装置が動作しているときに、所定のタイミングで変更されるものであってもよい。これにより、動的に、第２記憶部４の外部アクセス許可領域を変更することができる。また、外部アクセス許可領域を設定するための情報は、常駐コードの中に含まれるものであってもよい。この場合、ホストＩＦ１は、当該常駐コードから外部アクセス許可領域を設定するための情報を抽出し、当該情報により、第２記憶部４の外部アクセス許可領域を設定（変更）するようにしてもよい。
【０１７９】
また、上記実施形態（変形例を含む）で説明した半導体メモリ装置において、各ブロックは、ＬＳＩなどの半導体装置により個別に１チップ化されても良いし、一部又は全部を含むように１チップ化されても良い。
【０１８０】
なお、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１８１】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【０１８２】
また、上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置（ＣＰＵ）により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ＲＯＭなどの記憶装置に格納されており、ＲＯＭにおいて、あるいはＲＡＭに読み出されて実行される。
【０１８３】
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア（ＯＳ（オペレーティングシステム）、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。）により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。
【０１８４】
例えば、上記実施形態（変形例を含む）の各機能部を、ソフトウェアにより実現する場合、図１６に示したハードウェア構成（例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、入力部、出力部等をバスＢｕｓにより接続したハードウェア構成）を用いて、各機能部をソフトウェア処理により実現するようにしてもよい。
【０１８５】
また、上記実施形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
【０１８６】
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、大容量ＤＶＤ、次世代ＤＶＤ、半導体メモリを挙げることができる。
【０１８７】
上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【０１８８】
また、文言「部」は、「サーキトリー（ｃｉｒｃｕｉｔｒｙ）」を含む概念であってもよい。サーキトリーは、ハードウェア、ソフトウェア、あるいは、ハードウェアおよびソフトウェアの混在により、その全部または一部が、実現されるものであってもよい。
【０１８９】
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
【符号の説明】
【０１９０】
１０００、２０００、２０００Ａ  半導体メモリシステム
１００、１００Ａ、１００Ｂ  半導体メモリ装置
１  ホストインターフェース（インターフェース部）
１１  メモリ制御部
２、２Ａ  マイクロプロセッサ
３  第１記憶部
４  第２記憶部
５、５Ａ  ラッパー部
６  アクセス禁止情報保持部
Ｂｕｓ  内部バス
Ｈ１  ホスト装置
【図１】
2018124688.tif 000003
【図２】
2018124688.tif 000004
【図３】
2018124688.tif 000005
【図４】
2018124688.tif 000006
【図５】
2018124688.tif 000007
【図６】
2018124688.tif 000008
【図７】
2018124688.tif 000009
【図８】
2018124688.tif 000010
【図９】
2018124688.tif 000011
【図１０】
2018124688.tif 000012
【図１１】
2018124688.tif 000013
【図１２】
2018124688.tif 000014
【図１３】
2018124688.tif 000015
【図１４】
2018124688.tif 000016
【図１５】
2018124688.tif 000017
【図１６】
2018124688.tif 000018