(57)【要約】【課題】セキュリティとメモリアクセス性能の両立を可能とする。【解決手段】主記憶である不揮発性メモリと、前記不揮発性メモリの複数の領域に対応して、前記領域を初期化するか、初期化しないかを示す初期化属性を格納する初期化属性格納手段と、前記不揮発性メモリの前記領域からデータがセンスアンプに読み出された際に、前記領域に対応する初期化属性を前記初期化属性格納手段から読み出して、初期化するか、初期化しないかを判定する初期化判定手段と、前記初期化判定手段の判定結果に応じて、前記不揮発性メモリの前記領域から前記不揮発性メモリのセンスアンプに読み出され、前記不揮発性メモリのセンスアンプに自己保持されたタイミングで前記領域を初期化する初期化手段と有することを特徴とする。【選択図】図１
2017156790.tif 000002
【特許請求の範囲】
【請求項１】
主記憶である不揮発性メモリと、
前記不揮発性メモリの複数の領域に対応して、前記領域を初期化するか、初期化しないかを示す初期化属性を格納する初期化属性格納手段と、
前記不揮発性メモリの前記領域からデータがセンスアンプに読み出された際に、前記領域に対応する初期化属性を前記初期化属性格納手段から読み出して、初期化するか、初期化しないかを判定する初期化判定手段と、
前記初期化判定手段の判定結果に応じて、前記不揮発性メモリの前記領域から前記不揮発性メモリのセンスアンプに読み出され、前記不揮発性メモリのセンスアンプに自己保持されたタイミングで前記領域を初期化する初期化手段とを有することを特徴とする情報処理装置。
【請求項２】
前記初期化属性格納手段は、外部からのコマンドにより前記領域を初期化するか、初期化しないかが設定されることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記初期化属性格納手段は、予め初期化する前記領域が設定されていることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記初期化属性格納手段は、前記領域を複数に細分化して初期化する為の細分化領域分割属性を有し、
前記細分化領域分割属性を判定して、前記不揮発性メモリのセンスアンプに自己保持されたタイミングで前記領域の中で該当する領域のみを初期化することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記不揮発メモリの前記領域は、前記不揮発メモリのページであることを特徴とする請求項１に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関する。
【背景技術】
【０００２】
従来、不揮発性メモリで構成される主記憶内の画像データを電源ダウンやタイマーといった所定のタイミングで消去する為の技術があった。
特許文献１には、不揮発性の主記憶を有する撮像装置において、ユーザが記録メディアに記録された画像に対して消去コマンドを発行した際に、不揮発性の主記憶に対比させて退避領域にバックアップし、電源ダウン、タイマー等の特定のイベントで退避領域にバックアップされたデータを消去する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−６３１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述の特許文献１に開示された従来技術では、例えばタイマーによる一括データ消去では主記憶へのアクセス性能が低下してしまう。また、即座にデータ消去しない事はセキュリティ上の課題がある。また、不揮発性の主記憶に消去コマンドを発行してデータ消去する事はメモリアクセス性能上の課題がある。
【０００５】
そこで、本発明の目的は、不揮発性メモリを主記憶とする情報処理装置において、不揮発性メモリセルのデータをセンスアンプに読み出し、センスアンプに自己保持されたタイミングで、即座のメモリセルを初期化する事でセキュリティとメモリアクセス性能の両立を可能にした装置を提供することである。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、本発明に係る情報処理装置は、
主記憶である不揮発性メモリと、前記不揮発性メモリの複数の領域に対応して、領域を初期化するか、初期化しないかを示す初期化属性を格納する初期化属性格納手段と、不揮発性メモリの前記領域からデータがセンスアンプに読み出された際に、領域に対応する初期化属性を初期化属性格納手段から読み出して、初期化するか、初期化しないかを判定する初期化判定手段と、初期化判定手段の判定結果に応じて、不揮発性メモリの前記領域から不揮発性メモリのセンスアンプに読み出され、不揮発性メモリのセンスアンプに自己保持されたタイミングで前記領域を初期化する初期化手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明に係る情報処理装置によれば、セキュリティとメモリアクセス性能の両立が可能となる。
【図面の簡単な説明】
【０００８】
【図１】不揮発性メモリの構成を示す図である。
【図２】不揮発性メモリを主記憶として使用した組込み機器装置の構成を示す図である。
【図３】不揮発性メモリセルを即座に初期化する為の、アプリケーションの開始から終了までのフローチャートである。
【図４】不揮発性メモリセルを初期化するか、初期化しないかの属性情報を示す図である。
【図５】不揮発性メモリセルを即座に初期化する為の、電源オフに係るフローチャートである。
【図６】不揮発性メモリの構成を示す図である。
【図７】不揮発性メモリを主記憶として使用した撮像装置の構成を示す図である。
【図８】不揮発性メモリセルを即座に初期化するフローチャートである。
【図９】不揮発性メモリセルを初期化するか、初期化しないかの属性情報を示す図である。
【図１０】不揮発性メモリセルを即座に初期化する為の、電源オフに係るフローチャートである。
【発明を実施するための形態】
【０００９】
以下に、本発明の各実施形態を添付図面に基づいて詳細に説明する。以下では、不揮発性メモリを主記憶とする撮像装置を例にして不揮発性メモリの初期化フローを説明するが、本発明は、不揮発性メモリを主記憶とする任意の電子機器に適用できる。
【００１０】
［実施例１］
本発明の第１の実施形態を図１、図２、図３、図４、図５を用いて説明する。なお、以下において、同一構成要素には同じ記号および符号を付しその説明を省略する。
図１は本発明の第１の実施の形態に係る、不揮発性メモリの構成を示す図である。図２は本発明の第１の実施の形態に係る、不揮発性メモリを主記憶として使用した情報処理装置としての撮像装置の構成を示す図である。図３は本発明の第１の実施の形態に係る、不揮発性メモリセルを即座に初期化する為の、アプリケーションの開始から終了までのフローチャートである。
【００１１】
図４は本発明の第１の実施の形態に係る、不揮発性メモリセルを初期化するか、初期化しないかの属性情報を示す図である。図５は本発明の第１の実施の形態に係る、不揮発性メモリセルを即座に初期化する為の、電源オフに係るフローチャートである。
【００１２】
図１、図２、図４を説明して、図３、図５のフローチャートを用いて、本発明の第１の実施形態に係る、不揮発性メモリを主記憶とし、複数のページに分割して管理している撮像装置において、撮像装置の撮影動作に係る主記憶へのアクセス性能を下げずに、セキュリティ確保の為に、撮像装置の動作中に秘匿性の高いデータを即座に初期化する為の動作シーケンスを説明する。
【００１３】
100は、本発明の第１の実施の形態に係る不揮発性メモリである。101は、不揮発性メモリセルのページに対応する初期化属性情報からなり、センスアンプに読み出したメモリセルのデータを初期化するか、初期化しないかの属性情報を示す。また、特権CPU205からの不揮発性メモリ100へのコマンドで属性設定が可能で、メモリセルへのリードコマンド発行の際に、初期化属性情報が初期化判定部102に読み出される初期化属性格納部である。
【００１４】
例えば、不揮発性メモリ100のバンク２のページ３を初期化属性にしたい場合、不揮発性メモリのバンク２のページ３に対応する初期化属性格納部101属性ビットを初期化属性として、特権CPU205から不揮発性メモリ100へのコマンドで書き込む。また、不揮発性メモリ100のバンク２のページ３に対するリードコマンドが発行された場合、初期化属性格納部101らバンク２のページ３に対応する属性情報が初期化判定部102に読みだされる。
【００１５】
102は、初期化属性格納部101から読みだされた属性情報が、初期化属性か非初期化属性かを判定して、メモリセル初期化部103へ属性情報を通知する初期化判定部である。103は、初期化判定部102からの通知された属性情報が初期化属性であった場合、メモリセル内のデータがセンスアンプに読みだされ、センスアンプに自己保持されたタイミングで、ページ単位でメモリセルを初期化するメモリセル初期化部である。
【００１６】
例えば、初期化属性格納部101のバンク２のページ３に対応する属性情報が初期化属性であった場合、不揮発性メモリ100のバンク２のページ３に対するデータリードコマンドが発行され、バンク２のページ３のデータがセンスアンプに読み出され、センスアンプに自己保持されたタイミングで、バンク２のページ３のメモリセルの内容を初期化する。
【００１７】
尚、不揮発性メモリセルの初期化は、メモリセル初期化部103に格納されている値を書き込む方法でもよい。もしくは、メモリセル初期化部103に読み出したデータを、メモリセル初期化部103の値との排他的論理和を取って書き戻す方法でもよい。
【００１８】
図２に示す200は、特権CPU205により管理され、非特権モード、特権モードへの遷移モード、特権モード、非特権モードへの遷移モードの４つのモードを持つ撮像装置である。
【００１９】
非特権モード時は、非特権CPU203、非特権DMAC204、特権CPU205、特権DMAC206が、メモリコントローラ202を介して初期化領域201に対してアクセスすることができる。また、非特権CPU203と特権CPU205により、保護されていないコンテンツを扱うアプリケーションが実行される。
【００２０】
特権モードへの遷移モード時は、特権CPU205は、メモリコントローラ202を制御して、非特権CPU203、非特権DMAC204からのメモリコントローラ202を介する初期化領域201へのアクセスを禁止する。また、特権CPU205は、不揮発性メモリ100にコマンドを発行して、保護されたコンテンツが使用する初期化領域201を確保する為に、初期化属性格納部101の属性を初期化属性に設定する。
【００２１】
特権モード時は、特権CPU205、特権DMAC206のみがメモリコントローラ202を介して初期化領域201へのアクセスが可能である。また、特権CPU205により保護されたコンテンツを扱うアプリケーションが、また、非特権CPU203と特権CPU205により保護されていないコンテンツを扱うアプリケーションが、実行される。
【００２２】
非特権モードへの遷移モード時は、特権CPU205は、メモリコントローラ202を制御して非特権CPU203、非特権DMAC204からのメモリコントローラ202を介する初期化領域201へのアクセスを許可する。また、特権CPU205は、不揮発性メモリ100にコマンドを発行して、保護されたコンテンツが使用する初期化領域201を開放する為に、初期化属性格納部101の属性を非初期化属性に設定する。
【００２３】
尚、本実施例では、ユーザが撮像装置200を用いて撮影した静止画や動画を保護されていないコンテンツとする。また、記録媒体207に録画されたデジタルテレビ放送等のコンテンツを保護されたコンテンツとする。
【００２４】
201は、本実施例における非特権モードから特権モードへの遷移時に、特権CPU205により、初期化属性格納部101で初期化属性に設定される不揮発性メモリ100内の初期化領域である。202は、非特権CPU203、及び非特権DMAC204の不揮発性メモリ100内の初期化領域201へのアクセス制限が、特権CPU205のみによりの制御されるメモリメモリコントローラである。
【００２５】
203は、特権モード時に初期化領域201にアクセスできないCPUで、保護されていないコンテンツを扱うアプリケーションを実行する非特権CPUである。204は、特権モード時に初期化領域201にアクセスできないDMACであり、保護されていないコンテンツのデータ転送を行う非特権DMACである。
【００２６】
205は、組み込み機器200のモード遷移の制御を行い、全てのモードにおいて、初期化領域201にアクセス可能なCPUであり、保護されたコンテンツを扱うアプリケーション、及び、保護されていないコンテンツを扱うアプリケーションを実行する特権CPUである。また、撮像装置200が非特権モード遷移モード時に、初期化領域201に書き込まれた保護されたコンテンツが、初期化されているか否かを判定する。206は、特権CPU205においてのみ制御されるDMACで、全てのモードにおいて、初期化領域201にアクセス可能なDMACで、保護されたコンテンツ、及び、保護されていないコンテンツのデータ転送を行う特権DMACである。
【００２７】
207は、暗号処理部210へ転送する暗号化される保護されたコンテンツや、DMAC204から転送される保護されていないコンテンツが格納されている着脱可能な記録媒体である。208は、撮像部208から受け取ったRAW画像を現像処理する画像処理部である。209は、撮像部である。210は、記録媒体207から受け取った暗号化されたコンテンツを復号化して特権DMAC206に転送する暗号処理部である。211は、非特権DMAC203、及び特権DMAC206から転送されるコンテンツを表示する表示部である。
【００２８】
図４は初期化属性格納部101内の情報であり、４つのバンクに分割された、ページサイズが4Kbyteの不揮発性メモリセルをページ単位で初期化するか、初期化しないかに関する属性情報を示すテーブルの一例である。
【００２９】
本実施例では、初期化属性格納部101は、バンク３のページ２、バンク３のページ３、バンク３のページ４が初期化属性として設定されており、メモリセルからセンスアンプへのデータ読み出し後にメモリセル初期化部103により初期化されると設定されている。上記、メモリサイズや、ページサイズ、及び、領域分割情報等の数値情報はあくまでも実施の形態にて説明するための例であり、数値自体に特別な意味はない。
【００３０】
次に、図３のフローチャートを元に、アプリケーションの開始から終了までのフローチャートを図１、図２、図４を用いて処理の流れを説明する。
【００３１】
・S1000
ユーザの操作により、非特権モードで撮像装置の電源がオンする。
【００３２】
・S1001
特権CPU205が、特権保護されたコンテンツを扱うアプリケーションの起動の検出をする。
【００３３】
・S1002
特権CPU205が、保護されたコンテンツを扱うアプリケーションの起動の検出した場合、撮像装置200は、特権モードへの遷移モードに入り、保護されたコンテンツを保護する為の初期化領域201の確保の為に、特権CPU205は、不揮発性メモリ100にコマンドを発行して、初期化属性格納部101の属性情報を初期化属性に設定する。
【００３４】
・S1003
特権CPU205は、メモリコントローラ202を制御して、非特権CPU203、及び、非特権DMAC204の初期化領域201へのアクセスを禁止する。
【００３５】
・S1004
撮像装置200は、特権モードに入り、特権CPU205により保護されたコンテンツを扱うアプリケーションが、また、特権CPU205、非特権CPU203により保護されていないコンテンツを扱うアプリケーションの実行が開始される。特権CPU205は、保護されたコンテンツを扱うアプリケーションの終了を検出する。
【００３６】
・S1005
特権CPU205が、保護されたコンテンツを扱うアプリケーションの終了を検出した場合、特権CPU205は、初期化領域201に書き込まれた保護されたコンテンツが読み出されて初期化領域201が初期化されているか否かを判定する。
【００３７】
・S1006
特権CPU205が、初期化領域201が初期化されていないと判定した場合、特権CPU205は、特権DMAC206を起動して、初期化領域201に保護されたコンテンツが残存しないように、初期化領域201を初期化する。
【００３８】
・S1007
特権CPU205が、初期化領域201が初期化されていると判定した場合、撮像装置200は、非特権モードへの遷移モードに入り、特権CPU205は、メモリコントローラ202を制御して、非特権CPU203、及び、非特権DMAC204の初期化領域201へのアクセスを許可する。
【００３９】
・S1008
保護されたコンテンツが使用する初期化領域201の開放の為に、特権CPU205は、不揮発性メモリ100にコマンドを発行して、初期化属性格納部101の属性情報を非初期化属性に設定して、撮像装置200は、非特権モードに入り、非特権CPU203と特権CPU205により保護されていないコンテンツを扱うアプリケーションの実行が開始される。
【００４０】
次に、図５のフローチャートを元に、撮像装置200の電源オンから、電源オフまでのフローチャートの処理の流れを説明する。
【００４１】
・S5001
特権CPU205が、非特権モード時に、ユーザによる電源ダウン検出をした場合、電源オフする。
【００４２】
・S5002
特権CPU205が、特権モードへの遷移モード時に、ユーザによる電源ダウン検出をする。
【００４３】
・S5003
特権モードへの遷移モード時に、ユーザによる電源ダウン検出をした場合保護されたコンテンツが使用する初期化領域201の開放の為に、特権CPU205は、不揮発性メモリ100にコマンドを発行して、初期化属性格納部101の属性情報を非初期化属性に設定して電源オフする。
【００４４】
・S5004
特権モード時に、ユーザによる電源ダウン検出をする。
【００４５】
・S5005
特権CPU205が、特権モード時に、ユーザによる電源ダウン検出をした場合、特権CPU205は、初期化領域201に書き込まれた保護されたコンテンツが読み出されて、初期化領域201が初期化されているか否かを判定する。
【００４６】
・S5006
特権CPU205が、初期化領域201が初期化されていないと判定した場合、特権CPU205は、特権DMAC206を起動して、初期化領域201に保護されたコンテンツが残存しないように、初期化領域201を初期化する。
【００４７】
・S5007
保護されたコンテンツが使用する初期化領域201の開放の為に、特権CPU205は、不揮発性メモリ100にコマンドを発行して、初期化属性格納部101の属性情報を非初期化属性に設定して電源オフする。
【００４８】
・S5008
特権CPU205が、非特権モードへの遷移モード時に、ユーザによる電源ダウン検出を行った場合、電源オフする。
【００４９】
・S5009
特権CPU205が、電源オフする。
【００５０】
以下に、４つのバンクに分割され、ページサイズが4Kbyteの64KByteの不揮発性の主記憶において、データをセンスアンプに読み出したタイミングで、即座にメモリセルを初期化する事でセキュリティとメモリアクセス性能の両立を可能にする為の実施の一例を示す。保護されたコンテンツを扱うアプリケーションが使用する不揮発性メモリ100の初期化領域201は、バンク３のページ２、バンク３のページ３、バンク３のページ４とする。撮像装置200の電源がユーザの操作によりオンされ、非特権モード状態で起動する。
【００５１】
・非特権モード時
初期化領域201は初期化属性に設定されておらず、非特権CPU203、及び非特権DMAC204は、初期化領域201へのアクセスが可能である非特権CPU203、及び非特権DMAC204は、保護されていないコンテンツを扱うアプリケーションを初期化属性の設定がされていない初期化領域201も使用しながら実行する。
【００５２】
例えば、ユーザによる撮影が行われた時、非特権DMAC204は、撮像部209にて取り込まれて画像処理部208にて現像された撮影画像を不揮発性メモリ600に書き込んだり、記録媒体207に格納したり、表示部211に表示したりする。この時、初期化領域201は初期化属性に設定されていない。また、非特権CPU203、及び非特権DMAC204のアクセス禁止設定が施されていない為、初期化領域201も使用しながらの処理が可能である。
【００５３】
次に、特権CPU205が保護されたコンテンツを扱うアプリケーションの起動が検出したら、撮像装置200は特権CPU205の制御により非特権モードから特権モードに遷移する。
【００５４】
・特権モードへの遷移モード時
特権CPU205は、不揮発性メモリ100にコマンドを発行して、不揮発性メモリ100のバンク３のページ２、バンク３のページ３、バンク３ページ４を初期化属性にする為に、図４に示すように初期化属性格納部101の対応する属性を初期化属性に設定する。
【００５５】
次に、特権CPU205はメモリメモリコントローラ202を制御して、非特権CPU203、及び非特権DMAC204から、初期化領域201に対するアクセス禁止の設定をして、撮像装置200は特権モードに遷移する。
【００５６】
・特権モード時
非特権CPU203、及び非特権DMAC204は、保護されていないコンテンツを扱うアプリケーションを初期化属性設定されている初期化領域201を使用せずに実行する。特権CPU205、特権DMAC206は、保護されたコンテンツを扱うアプリケーションを初期化属性設定されている初期化領域201も使用しながら実行する。
【００５７】
例えば、記録媒体207に保存されている、保護されたコンテンツであるデジタルテレビ画像を表示させたい場合、特権DMAC206は、暗号処理部210が記録媒体207から受け取って、復号化したデータを不揮発性メモリ100の初期化領域201へ書き込む。
【００５８】
次に、特権CPU205は、ソフトウェアアシスト処理を行い、復号化したデータを表示部211に表示可能な形式に変換する。最後に、特権DMAC206は、不揮発性メモリ100の初期化領域201から表示可能な形式のデータを読み出して表示部211に表示させる。
【００５９】
この時、特権CPU205や、特権DMAC206が初期化属性に設定されている初期化領域201に対してリードコマンドを発行すると、不揮発性メモリ100の選択されたページがセンスアンプに読み出され、センスアンプにデータが自己保持されたタイミングで、メモリセル初期化部103が選択されたページのデータを初期化する。
【００６０】
初期化領域201がデジタルテレビ画像のフレームバッファとして使用された場合、特権DMAC206を介してセンスアンプに読み出され、センスアンプに自己保持されたタイミングページ単位で初期化していく。その為、選択されたページのメモリセルのデータを初期化しても、特権DMAC206はデータの読み出しが可能である。
【００６１】
次に、保護されたコンテンツを扱うアプリケーションの終了が検出されたら、撮像装置200は特権CPU205の制御により特権モードから非特権モードに遷移する。
【００６２】
・非特権モードへの遷移モード時
特権CPU205は、初期化領域201のフレームバッファが初期化されているか判定する。特権CPU205が、初期化領域201のフレームバッファが初期化されていないと判定した場合、特権CPU205は特権DMAC206を起動して、初期化領域201を初期化する。
【００６３】
次に、特権CPU205は、不揮発性メモリ100にコマンドを発行して、不揮発性メモリ100のバンク３のページ２、バンク３のページ３、バンク３ページ４を初期化属性から開放する為に、対応する初期化属性格納部101の属性を非初期化属性に設定する。
【００６４】
次に、特権CPU205はメモリメモリコントローラ202を制御して、非特権CPU203、及び非特権DMAC204から、初期化領域201に対するアクセス許可の設定をして、撮像装置200は非特権モードに遷移する。特権モードから非特権モードにモード遷移した際に、初期化領域201には、保護されたコンテンツが残存していない。尚、ユーザによる電源切断指示が検出された場合は以下の動作を行う。
【００６５】
・非特権モード時
電源をオフする。
【００６６】
・特権モードへの遷移モード時
バンク３のページ３、バンク３のページ４に対応する初期化属性格納部101を非初期化属性に設定して電源をオフする。
【００６７】
・特権モード時
特権CPU205は、初期化領域201のフレームバッファが初期化されているか否かを判定する。初期化領域201のフレームバッファが、初期化されていない場合、バンク３のページ２、バンク３のページ３、バンク３のページ４を初期化する。次に、初期化属性であるバンク３のページ２、バンク３のページ３、バンク３のページ４に対応する初期化属性格納部101を非初期化属性に設定して電源をオフする。
【００６８】
・非特権モードへの遷移モード時
電源をオフする。
【００６９】
このような構成にする事で、非特権モードへのモード遷移時に不揮発性メモリ100の初期化領域201に保護されたコンテンツを初期化するコマンドを発行する必要がない為、保護されたコンテンツは保護され、セキュリティとメモリアクセス性能の両立が図れる。
【００７０】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【００７１】
［実施例２］
本発明の第２の実施形態を図６、図７、図８、図９、図１０を用いて説明する。なお、以下において、同一構成要素には同じ記号および符号を付しその説明を省略する。
図６は本発明の第２の実施の形態に係る、不揮発性メモリの構成を示す図である。図７は本発明の第２の実施の形態に係る、不揮発性メモリを主記憶として使用した撮像装置の構成を示す図である。
【００７２】
図８は本発明の第２の実施の形態に係る、不揮発性メモリセルを即座に初期化する為の、アプリケーションの開始から終了までのフローチャートである。図９は本発明の第２の実施の形態に係る、不揮発性メモリセルを初期化するか、初期化しないかの属性情報を示す図である。図１０は本発明の第１の実施の形態に係る、不揮発性メモリセルを即座に初期化する為の、電源オフに係るフローチャートである。
【００７３】
図６、図７、図９を説明して、図８、図１０のフローチャートを用いて、本発明の第２の実施形態に係る、不揮発性メモリを主記憶とし、複数のページに分割して管理している撮像装置において、撮像装置の撮影動作に係る主記憶へのアクセス性能を下げずに、セキュリティ確保の為に、撮像装置の動作中に秘匿性の高いデータを即座に初期化する為の動作シーケンスを説明する。
【００７４】
600は、本発明の第２の実施の形態に係る、不揮発性メモリである。601は、予めEFUSEやTIEセルで書き換え不可能な状態で設定されている、不揮発性メモリセル600のページが複数に分割されたセグメントに対応する初期化属性情報からなり、センスアンプに読み出したメモリセルのデータを初期化するか、初期化しないかの属性情報を示す。また、メモリセルへのリードコマンド発行の際に、初期化属性情報が初期化判定部102に読み出される初期化属性格納部である。
【００７５】
例えば、不揮発性メモリ600のバンク２のページ３に対するリードコマンドが発行された場合、初期化属性格納部601からバンク２のページ３の分割されたセグメントに対応する属性情報が初期化判定部102に読みだされる。603は、初期化判定部102からの通知された属性情報が初期化属性であった場合、メモリセル内のデータがセンスアンプに読みだされ、センスアンプに自己保持されたタイミングで、ページ内のセグメント単位でメモリセルを初期化するメモリセル初期化部である。
【００７６】
例えば、初期化属性格納部601のバンク２のページ３のセグメント２に対応する属性情報が初期化属性であった場合、不揮発性メモリ600のバンク２のページ３に対するデータリードコマンドが発行され、バンク２のページ３のデータがセンスアンプに読み出され、センスアンプに自己保持されたタイミングで、バンク２のページ３のセグメント２のメモリセルの内容を初期化する。
【００７７】
尚、不揮発性メモリセルの初期化は、メモリセル初期化部603に格納されている値を書き込む方法でもよい。もしくは、メモリセル初期化部603に読み出したデータを、メモリセル初期化部603の値との排他的論理和を取って書き戻す方法でもよい。
【００７８】
図７に示す700は、特権CPU705により管理され、非特権モード、特権モードへの遷移モード、特権モード、非特権モードへの遷移モードの４つのモードを持つ撮像装置である。非特権モード時は、非特権CPU703、非特権DMAC704、特権CPU705、特権DMAC706が、メモリコントローラ702を介して初期化領域701に対してアクセスすることができる。また、非特権CPU703と特権CPU705により、保護されていないコンテンツを扱うアプリケーションが実行される。
【００７９】
特権モードへの遷移モード時は、特権CPU705は、メモリコントローラ902を制御して、非特権CPU703、非特権DMAC704からのメモリコントローラ702を介する初期化領域701へのアクセスを禁止する。特権モード時は、特権CPU705、特権DMAC706のみがメモリコントローラ702を介して初期化領域701へのアクセスが可能である。
【００８０】
また、特権CPU705により保護されたコンテンツを扱うアプリケーションが、また、非特権CPU703と特権CPU705により保護されていないコンテンツを扱うアプリケーションが、実行される。非特権モードへの遷移モード時は、特権CPU705は、メモリコントローラ702を制御して非特権CPU703、非特権DMAC704からのメモリコントローラ702を介する初期化領域701へのアクセスを許可する。
【００８１】
尚、本実施例では、ユーザが撮像装置700を用いて撮影した静止画や動画を保護されていないコンテンツとする。また、GPS情報取得部710にて取得されるCPSロガー情報を保護されたコンテンツとする。701は、初期化属性格納部601で予め初期化属性が設定さている、不揮発性メモリ600内の初期化領域である。702は、非特権CPU703、及び非特権DMAC704の不揮発性メモリ600内の初期化領域201へのアクセス制限が、特権CPU205のみによりの制御されるメモリメモリコントローラである。
【００８２】
703は、特権モード時に初期化領域701にアクセスできないCPUで、保護されていないコンテンツを扱うアプリケーションを実行する非特権CPUである。704は、特権モード時に初期化領域701にアクセスできないDMACであり、保護されていないコンテンツのデータ転送を行う非特権DMACである。705は、撮像装置700のモード遷移の制御を行い、全てのモードにおいて、初期化領域701にアクセス可能なCPUであり、保護されたコンテンツを扱うアプリケーション、及び、保護されていないコンテンツを扱うアプリケーションを実行する特権CPUである。また、撮像装置700が非特権モード遷移モード時に、初期化領域701に書き込まれた保護されたコンテンツが、初期化されているか否かを判定する。
【００８３】
706は、特権CPU705においてのみ制御されるDMACで、全てのモードにおいて、初期化領域701にアクセス可能なDMACで、保護されたコンテンツ、及び、保護されていないコンテンツのデータ転送を行う特権DMACである。707は、非特権DMAC204へ転送する保護されていないコンテンツや、DMAC204から転送される保護されていないコンテンツが格納されている着脱可能な記録媒体である。710は、GPS情報を取得して特権DMAC706に転送するGPS情報取得部である。
【００８４】
図４は、初期化属性格納部601内の情報であり、４つのバンクに分割された、ページサイズが4Kbyteの不揮発性メモリセルをページ内の1Kbyteのセグメント単位で初期化するか、初期化しないかに関する属性情報を示すテーブルの一例である。
【００８５】
本実施例では、初期化属性格納部601は、バンク３のページ４のセグメント４が、初期化属性として設定されており、メモリセルからセンスアンプへのデータ読み出し後にメモリセル初期化部603により初期化されると設定されている。上記、メモリサイズや、ページサイズ、及び、領域分割情報等の数値情報はあくまでも実施の形態にて説明するための例であり、数値自体に特別な意味はない。
【００８６】
次に図８のフローチャートを元に、アプリケーションの開始から終了までのフローチャートを図６、図７、図９を用いて処理の流れを説明する。
【００８７】
・S1000、S1001は実施例と同様である。
【００８８】
・S8000
特権CPU705が、保護されたコンテンツを扱うアプリケーションの起動の検出した場合、撮像装置700は、特権モードへの遷移モードに入り、特権CPU205は、メモリコントローラ702を制御して、非特権CPU703、及び、非特権DMAC704の初期化領域701へのアクセスを禁止する。
【００８９】
・S8001
撮像装置700は、特権モードに入り、特権CPU705により保護されたコンテンツを扱うアプリケーションが、また、非特権CPU703と特権CPU705により保護されていないコンテンツを扱うアプリケーションの実行が開始される。特権CPU205は、保護されたコンテンツを扱うアプリケーションの終了を検出する
・S8002
特権CPU205が、保護されたコンテンツを扱うアプリケーションの終了を検出した場合、特権CPU705は、初期化領域701に書き込まれた保護されたコンテンツが読み出されて初期化領域701が初期化されているか否かを判定する。
【００９０】
・S8003
特権CPU205が、初期化領域701が初期化されていない判定した場合、初期化領域701に保護されたコンテンツが残存しないように、初期化領域701を初期化する。
【００９１】
・S8004
特権CPU205が、初期化領域701が初期化されていると判定した場合、撮像装置700は、非特権モードへの遷移モードに入り、特権CPU705は、メモリコントローラ702を制御して、非特権CPU703、及び、非特権DMAC704の初期化領域701へのアクセスを許可して、撮像装置700は、非特権モードに入り、非特権CPU703、特権CPU705により保護されていないコンテンツを扱うアプリケーションの実行が開始される。
【００９２】
次に、図１０のフローチャートを元に、撮像装置700の電源オンから、電源オフまでのフローチャートの処理の流れを説明する。
【００９３】
・S10001
特権CPU705が、非特権モード時に、ユーザによる電源ダウン検出をした場合、電源オフする。
【００９４】
・S10002
特権CPU705が、特権モードへの遷移モード時に、ユーザによる電源ダウン検出をした場合、電源オフする。
【００９５】
・S10003
特権モード時に、ユーザによる電源ダウン検出をする。
【００９６】
・S10004
特権CPU705が、特権モード時に、ユーザによる電源ダウン検出をした場合、特権CPU705は、初期化領域701に書き込まれた保護されたコンテンツが読み出されて、初期化領域701が初期化されているか否かを判定する。
【００９７】
・S10005
特権CPU705が、初期化領域701が初期化されていないと判定した場合、特権CPU705は、特権DMAC706を起動して、初期化領域701に保護されたコンテンツが残存しないように、初期化領域701を初期化して電源オフする。
【００９８】
・S10006
特権CPU705が、非特権モードへの遷移モード時に、ユーザによる電源ダウン検出を行った場合、電源オフする。
【００９９】
・S10007
特権CPU705が、電源オフする。以下に、４つのバンクに分割され、ページサイズが4Kbyteでセグメントサイズが1KByteの64KByteの不揮発性の主記憶において、データをセンスアンプに読み出したタイミングで、即座にメモリセルを初期化する事でセキュリティとメモリアクセス性能の両立を可能にする為の実施の一例を示す。
【０１００】
保護されたコンテンツを扱うアプリケーションが使用する不揮発性メモリ600の初期化領域701は、バンク３のページ４のセグメント４であり、予め初期化属性格納部601に初期化属性が初期化として図９のように設定されている。撮像装置700の電源がユーザの操作によりオンされ、非特権モード状態で起動する。
【０１０１】
・非特権モード時
非特権CPU、及び非特権DMACは、保護されていないコンテンツを扱うアプリケーションを初期化属性の設定がされていない初期化領域201も使用しながら実行する。例えば、ユーザがGPS機能をオフした状態で撮影が行われた時、非特権DMAC704は、撮像部209にて取り込まれて画像処理部208にて現像された撮影画像を不揮発性メモリ600に書き込んだり、記録媒体707に格納したり、表示部211に表示したりする。
【０１０２】
次に、ユーザがGPS機能をオンして、特権CPU705が保護されたコンテンツを扱うアプリケーションの起動が検出したら、撮像装置700は特権CPU705の制御により非特権モードから特権モードに遷移する。
【０１０３】
・特権モードへの遷移モード時
特権CPU705はメモリメモリコントローラ702を制御して、非特権CPU703、及び非特権DMAC704から、初期化領域701に対するアクセス禁止の設定をして、撮像装置700は特権モードに遷移する。
【０１０４】
・特権モード時
非特権CPU703、及び非特権DMAC704は、保護されていないコンテンツを扱うアプリケーションを初期化属性設定されている初期化領域701を使用せずに実行する。特権CPU705、特権DMAC706は、保護されたコンテンツを扱うアプリケーションを初期化属性設定されている初期化領域701も使用しながら実行する。
【０１０５】
例えば、撮影画像にGPSロガー情報を付加させて記録媒体707に保存したい場合、GPS情報取得部710で取得したGPSロガー情報は、特権DMA706にて不揮発性メモリ600の初期化領域701に書き込んでいく。
【０１０６】
非特権DMAC704は、撮像部209にて取り込まれて画像処理部208にて現像された撮影画像を不揮発性メモリ600に書き込んでいく。一連の撮影処理終了後、特権DMA706にて不揮発性メモリ600の初期化領域701からGPSロガー情報を記録媒体707に転送し、非特権DMAC704不揮発性メモリ600から撮影画像を記録媒体707に転送し、GPSロガー付きの撮影画像を記録媒体707に保存する
この時、特権DMAC706が初期化属性に設定されている初期化領域701に対してリードコマンドを発行すると、不揮発性メモリ600の選択されたページがセンスアンプに読み出され、センスアンプにデータが自己保持されたタイミングで、メモリセル初期化部603が選択されたページのセグメントのデータを初期化する。
【０１０７】
初期化領域701がGPSロガーとして使用された場合、特権DMAC706を介して読み出され、センスアンプに自己保持されたタイミングページ内のセグメント単位で初期化していく。その為、選択されたページのメモリセルのデータを初期化しても、特権DMAC206はデータの読み出しが可能である。次に、保護されたコンテンツを扱うアプリケーションの終了が検出されたら、撮像装置700は特権CPU205の制御により特権モードから非特権モードに遷移する。
【０１０８】
・非特権モードへの遷移モード時
特権CPU705は、初期化領域701のGPSロガーが初期化されているか判定する。特権CPU705が、初期化領域701のGPSロガーが初期化されていないと判定した場合、特権CPU705は特権DMAC706を起動して、初期化領域701を初期化する。特権CPU705はメモリメモリコントローラ702を制御して、非特権CPU703、及び非特権DMAC704から、初期化領域701に対するアクセス許可の設定をして、撮像装置700は非特権モードに遷移する。特権モードから非特権モードにモード遷移した際に、初期化領域201には、保護されたコンテンツが残存していない。尚、ユーザによる電源切断指示が検出された場合は以下の動作を行う。
【０１０９】
・非特権モード時
電源をオフする。
【０１１０】
・特権モードへの遷移モード時
電源をオフする。
【０１１１】
・特権モード時
特権CPU705は、初期化領域701のGPSロガーが初期化されているか否かを判定する。初期化領域701のGPSロガーが初期化されていない場合、バンク３のページ２、バンク３のページ３、バンク３のページ４を初期化して電源をオフする。
【０１１２】
・非特権モードへの遷移モード時
電源をオフする。このような構成にする事で、非特権モードへのモード遷移後に不揮発性メモリ600の初期化領域901に保護されたコンテンツを初期化するコマンドを発行する必要がない為、保護されたコンテンツは保護され、セキュリティとメモリアクセス性能の両立が図れる。
【０１１３】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【０１１４】
100  不揮発性メモリ、102  初期化判定部、101  初期化属性格納部、
103  メモリセル初期化部
【図１】
2017156790.tif 000003
【図２】
2017156790.tif 000004
【図３】
2017156790.tif 000005
【図４】
2017156790.tif 000006
【図５】
2017156790.tif 000007
【図６】
2017156790.tif 000008
【図７】
2017156790.tif 000009
【図８】
2017156790.tif 000010
【図９】
2017156790.tif 000011
【図１０】
2017156790.tif 000012