(57)【要約】【課題】情報の暗号化及び複合化のための鍵情報をより効率よく記憶すること。【解決手段】暗号回路４１，４２は、バッファ制御部２０とメモリ制御部５１，５２との間に備えられ、ユーザデータを暗号化及び複合化する。暗号化及び複合化の処理は、暗号処理部２０１，２１１で実行される。暗号処理部２０１，２１１は、暗号化及び複合化に用いられる鍵情報を、鍵情報Ｉ／Ｆ部２０２，２１２を介して調停部６０から取得する。調停部６０の通信部２５１，２５２は、鍵情報Ｉ／Ｆ部２０２，２１２から通知された情報を管理部２６０に通知する。管理部２６０は鍵情報記憶部１２０から、適切な鍵情報を読み出して、通信部２５１，２５２から鍵情報Ｉ／Ｆ部２０２，２１２を介して、それぞれの暗号回路４１，４２へ読み出した鍵情報を出力する。【選択図】  図２
2012080295.tif 000002
【特許請求の範囲】
【請求項１】
暗号化した暗号化情報を記憶し、前記記憶した暗号化情報を読み出される不揮発性の複数のメモリと、
前記複数のメモリそれぞれに対応すると共に、前記複数のメモリが記憶する情報を暗号化、及び、前記複数のメモリから読み出された暗号化情報を複合化する複数の暗号処理手段と、
前記複数の暗号処理手段が前記記憶する情報を暗号化及び前記読み出された暗号化情報を複合化するときに利用する複数の鍵情報を一括して記憶させる記憶処理手段と、
を具備する情報記憶装置。
【請求項２】
前記複数の暗号処理手段は、前記鍵情報を一意的に示すＩＤ、又は、前記鍵情報が記憶される記憶媒体における位置情報を前記記憶処理手段に通知する請求項１記載の情報記憶装置。
【請求項３】
前記記憶処理手段は、前記暗号処理手段と通信する複数の通信手段を具備し、
前記複数の暗号処理手段と前記複数の通信手段とは、一対一で対応している請求項１又は２記載の情報記憶装置。
【請求項４】
前記複数の複数の暗号処理手段と前記複数の通信手段とは、一つの半導体パッケージ内に封入されている請求項３記載の情報記憶装置。
【請求項５】
情報を記憶する不揮発性の複数のメモリを具備する情報記憶装置で実行される情報記憶方法であって、
暗号化した暗号化情報を前記複数のメモリに記憶し、前記複数のメモリに記憶した暗号化情報を読み出し、
前記複数のメモリそれぞれに対応すると共に、前記複数のメモリが記憶する情報を暗号化、及び、前記メモリから読み出された暗号化情報を複合化し、
前記メモリに記憶する情報を暗号化及び前記読み出された暗号化情報を複合化するときに利用する複数の鍵情報を一括して記憶する、
情報記憶方法。
【請求項６】
情報を送信するホスト装置と、
前記ホスト装置から送信された情報を暗号化した暗号化情報を記憶し、前記記憶した暗号化情報を読み出される不揮発性の複数のメモリと、
前記複数のメモリそれぞれに対応すると共に、前記複数のメモリが記憶する情報を暗号化、及び、前記複数のメモリから読み出された暗号化情報を複合化する複数の暗号処理手段と、
前記複数の暗号処理手段が前記記憶する情報を暗号化及び前記読み出された暗号化情報を複合化するときに利用する複数の鍵情報を一括して記憶させる記憶処理手段と、
を具備する電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報の暗号化及び復号化に用いられる鍵情報を記憶する情報記憶装置、情報記憶方法、及び電子機器に関する。
【背景技術】
【０００２】
近年、ＳＳＤ（Solid State Drive）に代表される情報記憶装置では、情報を記憶するための不揮発性の記憶媒体として、ＮＡＮＤフラッシュメモリが利用されている。ＮＡＮＤフラッシュメモリは容量が数十［Ｍｂｙｔｅ］の半導体チップとして集積されている。ＳＳＤでは、このような半導体チップが複数備えられて数百［Ｍｂｙｔｅ］の総容量が実現されている。また、ＮＡＮＤフラッシュメモリに対する情報の書き込み又は情報の消去は、所定容量単位で制御される。
【０００３】
情報記憶装置では、暗号化された情報が記憶媒体に記憶され、記憶媒体から読み出された暗号化情報は復号化される。情報の暗号化及び復号化で同じ鍵情報が利用されることで、暗号化された情報の復号化が可能となる。ＳＳＤでは、記憶媒体である複数の半導体チップに対応して、これらの半導体チップとの情報送受のための複数のインターフェースＩＣが備えられている。それぞれのインターフェースＩＣは、適切な鍵情報を利用して、対応する半導体チップに対する情報の暗号化又は復号化を並行して行う。
【０００４】
すなわちＳＳＤでは、情報の暗号化又は復号化を実行する複数のインターフェースＩＣにより複数の鍵情報が並行して利用されることがあった。また、複数の暗号処理ブロックが備えられる暗号化システムにおいて、複数の暗号処理ブロックが、暗号化及び複合化のための鍵情報をそれぞれ個別に記憶していた。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−２５２２９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところが従来は、暗号化及び複合化のために共通の鍵情報が利用される場合であっても、暗号処理を実行する複数のブロックは鍵情報をそれぞれ個別に記憶していた。すなわち従来は、情報の暗号化及び複合化のための鍵情報が効率よく記憶されていなかった。
【０００７】
そこで、本発明は上述した課題を解決するために、情報の暗号化及び複合化のための鍵情報をより効率よく記憶することができる情報記憶装置、情報記憶方法、及び電子機を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本実施形態は上述した課題を解決するため、暗号化した暗号化情報を記憶し、前記記憶した暗号化情報を読み出される不揮発性の複数のメモリと、前記複数のメモリそれぞれに対応すると共に、前記複数のメモリが記憶する情報を暗号化、及び、前記複数のメモリから読み出された暗号化情報を複合化する複数の暗号処理手段と、前記複数の暗号処理手段が前記記憶する情報を暗号化及び前記読み出された暗号化情報を複合化するときに利用する複数の鍵情報を一括して記憶させる記憶処理手段と、を具備する情報記憶装置を提供する。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る情報記憶装置としてのＳＳＤを備える電子機器の構成を示すブロック図。
【図２】複数の鍵情報を一括して管理する鍵情報管理処理を実行する複数のブロックからなるシステム構成図。
【図３】管理部で管理される鍵情報の一例を示す図。
【図４】鍵情報管理処理の動作におけるタイミングチャート。
【発明を実施するための形態】
【００１０】
以下、本実施形態について図面を用いて説明する。
図１は、本実施形態に係る情報記憶装置としてのＳＳＤ（Solid State Device）１を備える電子機器２の構成を示すブロック図である。電子機器２は、さらにホスト装置１５０を備えている。ＳＳＤ１は、通信媒体（ホストＩ／Ｆ）５を介してホスト装置１５０と接続され、ホスト装置１５０の記憶モジュールとして機能する。ホストＩ／Ｆ５は、ホスト装置１５０とＳＳＤ１とを接続し、ホスト装置１５０とＳＳＤ１との間のデータ及びコマンドの送受に係る通信に利用される。例えば、電子機器２は、パーソナルコンピュータであり、ホスト装置１５０は、パーソナルコンピュータに備えられるＣＰＵ（Central Processing Unit）である。
【００１１】
本実施形態に係るＳＳＤ１は、ＮＡＮＤフラッシュメモリに代表される半導体メモリを不揮発性の記憶媒体として備える。ＳＳＤ１は、ホスト装置１５０の制御に係るプログラム情報やユーザデータ等を書き換え可能に記憶する。ＳＳＤ１は、ＳＥＤ（Self Encrypting Drive）として機能し、ＡＥＳ（Advanced Encryption Standard）等の暗号化方式により暗号化した状態で情報を記憶する。
【００１２】
情報記憶装置１は、コントローラ１００、複数のメモリ１１１，１１２，…で構成される主記憶部１１０、及び不揮発性メモリである鍵情報記憶部１２０を備えている。コントローラ１００は、ホストＩ／Ｆ制御部１０、バッファ制御部２０、バッファメモリ２１、ＭＰＵ３０、フラッシュメモリ３１、ＳＲＡＭ３２、暗号回路４１，４２，…、メモリ制御部５１，５２，…、及び調停部６０を備えている。
【００１３】
ホストＩ／Ｆ制御部１０は、ホストＩ／Ｆ５を介したホスト装置１５０との間の通信を制御する。ホストＩ／Ｆ制御部１０は、ホスト装置１５０から受信された命令やユーザデータをＭＰＵ３０又はバッファ制御部２０に出力する。またホストＩ／Ｆ制御部１０は、バッファ制御部２０から入力されたユーザデータや、ＭＰＵ３０からの応答通知（命令の実行完了を示す通知など）をホスト装置１５０に送信する。
【００１４】
バッファ制御部２０は、ＭＰＵ３０により制御されて、ホストＩ／Ｆ制御部１０から入力されるユーザデータをバッファメモリ２１へ書き込み、ホストＩ／Ｆ制御部１０へ出力されるユーザデータをバッファメモリ２１から読み出す。またバッファ制御部２０は、ＭＰＵ３０により制御されて、暗号回路４１，４２，…へ出力されるユーザデータをバッファメモリ２１から読み出し、暗号回路４１，４２，…から入力されるユーザデータをバッファメモリ２１へ書き込む。
【００１５】
バッファメモリ２１は、ホストＩ／Ｆ制御部１０と暗号回路４１，４２，…との間でやりとりするユーザデータを、バッファ制御部２０の制御により一時的に記憶する。
【００１６】
ＭＰＵ３０は、ＳＳＤ１の各ブロックを統括的に制御し、ホストＩ／Ｆ制御部１０がホスト装置１５０から命令を受けた場合に、この命令に従った制御を行う。例えばＭＰＵ３０は、ホスト装置１５０からの命令に従って、主記憶部１１０へのユーザデータの書き込みや主記憶部１１０からのユーザデータの読み出しに必要な処理の実行を、バッファ制御部２０、暗号回路４１，４２，…、及びメモリ制御部５１，５２，…へ指示する。またＭＰＵ３０は、暗号回路４１，４２，…で利用される鍵情報を更新し、更新した鍵情報を調停部６０へ出力する。
【００１７】
フラッシュメモリ３１は、不揮発性の記憶媒体であって、ＭＰＵ３０が実行するプログラムや各種設定情報等を書き換え可能に記憶する。ＳＲＡＭ３２は、揮発性の記憶媒体であって、ＭＰＵ３０の作業領域として機能し、各種の処理時においてスタックやバッファ等として機能する。
【００１８】
暗号回路４１，４２，…は、バッファ制御部２０から入力されたユーザデータを暗号化し、暗号化ユーザデータをそれぞれに対応するメモリ制御部５１，５２，…へ出力する。また暗号回路４１，４２，…は、それぞれに対応するメモリ制御部５１，５２，…から入力された暗号化ユーザデータを復号化し、復号化ユーザデータをバッファ制御部２０へ出力する。暗号回路４１，４２，…は、調停部６０に対して要求して得られた鍵情報に基づいて暗号鍵を生成し、生成した暗号鍵を用いてユーザデータを暗号化、又は、暗号化ユーザデータを複合化する。さらに暗号回路４１，４２，…は、ＭＰＵ３０によって鍵情報が更新された場合、更新された鍵情報を通知される。なお暗号回路４１，４２，…は、ハードウェア又はソフトウェア（プログラム）モジュールとして構成されてよい。
【００１９】
メモリ制御部５１，５２，…は、ＦＩＦＯバッファやＥＣＣ処理部を備え、例えばＮＡＮＤフラッシュメモリで構成される主記憶部１１０との間での情報の送受信を制御する。メモリ制御部５１，５２，…は、それぞれに対応する暗号回路４１，４２，…から入力された暗号化ユーザデータを、それぞれに対応するメモリ１１１，１１２，…へ送信して記憶させる。またメモリ制御部５１，５２，…は、それぞれに対応するメモリ１１１，１１２，…から読み出した暗号化ユーザデータを受信し、それぞれに対応する暗号回路４１，４２，…へ出力する。
【００２０】
調停部６０は、暗号回路４１，４２，…の何れかから要求された鍵情報を鍵情報記憶部１２０から読み出し、要求した暗号回路４１，４２，…へ読み出した鍵情報を出力する。また調停部６０は、ＭＰＵ３０によって鍵情報が更新された場合、更新された鍵情報を通知され、この鍵情報を鍵情報記憶部１２０に記憶させる。調停部６０は、鍵情報を所定条件で管理して鍵情報記憶部１２０に記憶させる。
【００２１】
本実施形態に係るコントローラ１００は、これら複数のブロックを利用して、ホスト装置１５０と主記憶部１１０との間でのユーザデータの暗号化及び複合化の動作を制御する。すなわち本実施形態に係るユーザデータの暗号化及び複合化の動作において、鍵情報記憶部１２０に一括して記憶される鍵情報は、調停部６０により、暗号回路４１，４２，…の何れかに適切に出力される。
【００２２】
鍵情報記憶部１２０は、暗号回路４１，４２，…で実行されるユーザデータの暗号化及び複合化の動作で利用される鍵情報を記憶する不揮発性メモリである。鍵情報記憶部１２０は、コントローラ１００の内部に設けられてもよい。この場合でも、鍵情報記憶部１２０は、暗号回路４１，４２，…それぞれに分割されるのではなく、暗号回路４１，４２，…で利用される全ての鍵情報を一括して記憶するように構成される。
【００２３】
主記憶部１１０は、ＮＡＮＤフラッシュメモリである複数のメモリ１１１，１１２，…で構成される。ＳＳＤ１において、メモリ１１１，１１２，…は、それぞれの容量が数十［Ｍｂｙｔｅ］の半導体チップの態様である。ＳＳＤ１では、このような半導体チップとしてのメモリ１１１，１１２，…が複数備えられて数百［Ｍｂｙｔｅ］の総容量が実現される。
【００２４】
このような構成により、本実施形態に係るＳＳＤ１では、複数のメモリ１１１，１１２，…に対する暗号化ユーザデータの書き込み又は読み出しが並行して実行される。同様に、各暗号化ユーザデータに対する暗号化又は複合化も、並行して実行される。調停部６０は、並行して実行されるユーザデータの暗号化及び複合化において、鍵情報記憶部１２０に一括して記憶される鍵情報を、暗号回路４１，４２，…の何れかに適切に出力する。すなわち、本実施形態に係るコントローラ１００を備えるＳＳＤ１によれば、複数の鍵情報が一括して管理される鍵情報管理処理が実行される。換言すると、本実施形態に係るＳＳＤ１によれば、情報の暗号化及び複合化のための鍵情報をより効率よく記憶することができる。
【００２５】
次に、図２を用いて、図１で説明したコントローラ１００に備えられ、複数の鍵情報を一括して管理する鍵情報管理処理を実行する複数のブロックを説明する。図２は、複数の鍵情報を一括して管理する鍵情報管理処理を実行する複数のブロックからなるシステム構成図である。
【００２６】
暗号回路４１は、暗号処理部２０１、鍵情報Ｉ／Ｆ部２０２、記憶部２０３を備える。同様に暗号回路４２は、暗号処理部２１１、鍵情報Ｉ／Ｆ部２１２、記憶部２１３を備える。調停部６０は、通信部２５１，２５２，…、管理部２６０を備える。
【００２７】
暗号処理部２０１は、バッファ制御部２０から入力されたユーザデータを暗号化し、暗号化ユーザデータをメモリ制御部５１へ出力する。また暗号処理部２０１は、メモリ制御部５１から入力された暗号化ユーザデータを復号化し、復号化ユーザデータをバッファ制御部２０へ出力する。暗号処理部２０１は、ユーザデータを暗号化又は複合化する場合、暗号化又は複合化に必要な鍵情報に関する情報を記憶部２０３から読み出す。鍵情報に関する情報は、鍵情報を一意的に示すＩＤ、又は、この鍵情報が記憶される鍵情報記憶部１２０のＬＢＡ（位置情報）である。このＩＤ又はＬＢＡの情報量は数［ｂｙｔｅ］である。暗号処理部２０１は、読み出したＩＤ又はＬＢＡと共に鍵情報の取得要求を鍵情報Ｉ/Ｆ２０２に通知する。暗号処理部２０１は、鍵情報Ｉ／Ｆ部２０２から入力された鍵情報に基づいて、ユーザデータの暗号化及び複合化に用いられる暗号鍵を生成する。また暗号処理部２０１は、ＭＰＵ３０から鍵情報に関する情報を通知された場合、通知された情報を記憶部２０３に記憶させる。
【００２８】
鍵情報Ｉ／Ｆ部２０２は、暗号回路４１と調停部６０との通信を担うブロックである。鍵情報Ｉ／Ｆ部２０２は、暗号処理部２０１から通知された鍵情報の取得要求及び鍵情報のＩＤ又はＬＢＡを、鍵情報に関する情報として調停部６０に備えられた通信部２５１へ出力する。また鍵情報Ｉ／Ｆ部２０２は、通信部２５１からの応答として入力された鍵情報を、暗号処理部２０１へ出力する。
【００２９】
記憶部２０３は、暗号処理部２０１での暗号鍵の生成に必要な鍵情報に関する情報として、この鍵情報を一意的に示すＩＤ、又は、この鍵情報が記憶される鍵情報記憶部１２０のＬＢＡを記憶する。記憶部２０３は、記憶するＩＤ又はＬＢＡを、暗号処理部２０１に読み出される。また記憶部２０３は、鍵情報の情報量（ｂｉｔ長）を示す鍵長情報を記憶してもよい。
【００３０】
暗号処理部２１１，…は、暗号処理部２０１と同様の動作を実行するが、対応するブロックが、メモリ制御部５１からメモリ制御部５２，…、鍵情報Ｉ／Ｆ部２０２から鍵情報Ｉ／Ｆ部２１２，…、及び記憶部２０３から記憶部２１３，…に置き換わる点で異なる。
【００３１】
鍵情報Ｉ／Ｆ部２１２，…は、鍵情報Ｉ／Ｆ部２０２と同様の動作を実行するが、対応するブロックが、暗号処理部２０１から暗号処理部２１１，…に置き換わる点で異なる。
【００３２】
記憶部２１３，…は、記憶部２０３と同様の動作を実行するが、対応するブロックが、暗号処理部２０１から暗号処理部２１１，…に置き換わる点で異なる。
通信部２５１，２５２，…は、鍵情報Ｉ／Ｆ部２０２，２１２，…から入力された、鍵情報に関する情報としてのＩＤ又はＬＢＡを、入力元を管理して管理部２６０へ出力する。通信部２５１，２５２，…は、管理部２６０からの応答として入力された鍵情報を、管理する入力元へ出力する。通信部２５１，２５２，…は、鍵情報Ｉ／Ｆ部２０２，２１２，…と一対一で対応している。
【００３３】
管理部２６０は、通信部２５１，２５２，…から入力されたＩＤ又はＬＢＡに対応する鍵情報を鍵情報記憶部１２０から読み出し、読み出した鍵情報を通信部２５１，２５２，…へ出力する。また管理部２６０は、ＭＰＵ３０から鍵情報を新たに通知された場合、通知された鍵情報を鍵情報記憶部１２０に記憶させ、当該鍵情報に関する情報と共に新たに管理する。
【００３４】
このようにして、暗号回路４１，４２，…から調停部６０へ、鍵情報に関する情報としてのＩＤ又はＬＢＡが出力される。調停部６０は、入力されたＩＤ又はＬＢＡに基づく応答として鍵情報を出力元の暗号回路４１，４２，…へ出力する。なお暗号回路４１，４２，…から調停部６０へ、鍵情報に関する情報としてのＩＤ又はＬＢＡだけでなく鍵長情報が出力されてもよい。すなわち、主に暗号回路４１，４２，…及び調停部６０により、複数の鍵情報が一括して管理される鍵情報管理処理が実行される。本実施形態に係るコントローラ１００を備えるＳＳＤ１によれば、情報の暗号化及び複合化のための鍵情報をより効率よく記憶することができる。
【００３５】
なお、暗号回路４１，４２，…、調停部６０、及び、鍵情報記憶部１２０は、一つの半導体パッケージ内に封入されていることが好ましい。これらのブロックが一つの半導体パッケージに封入されていることで、鍵情報の秘匿性が向上する。
【００３６】
また、暗号回路４１，４２，…が、それぞれで利用される鍵情報を個別に記憶するのではなく、調停部６０が全ての暗号回路４１，４２，…で利用される鍵情報を鍵情報記憶部１２０に一括して記憶させるので、鍵情報の一元管理が可能となる。例えば暗号回路４１，４２，…で利用される鍵情報が共通である場合、鍵情報記憶部１２０に記憶される鍵情報は一つであればよい。従来は暗号回路４１，４２，…それぞれで個別に同じ鍵情報を記憶していたが、本実施形態に係るコントローラ１００を備えるＳＳＤ１によれば、記憶する鍵情報の容量を大幅に減らすことが可能となる。
【００３７】
さらに、調停部６０に備えられる通信部２５１，２５２，…及び管理部２６０をハードウェアで構成することで、ＤＲＡＭアクセスにおけるＤＭＡ動作のように鍵情報を出力することができる。すなわち、暗号回路４１，４２，…から調停部６０へ出力された鍵情報に関する情報としてのＩＤ又はＬＢＡに応じて、出力元の暗号回路４１，４２，…へ適切な鍵情報が出力される動作を高速化することが容易に実現することが可能となる。
【００３８】
次に、図３を用いて、調停部６０に備えられる管理部２６０で管理される鍵情報を説明する。図３は、管理部２６０で管理される鍵情報の一例を示す図である。
図３に示すように、鍵情報は複数（例えば４つ）に分割され、分割された鍵情報それぞれには鍵アドレスが対応付けられる。また鍵アドレスは、鍵ＩＤ、又は、記憶された鍵情報記憶部１２０のアドレス（ＬＢＡ）に対応付けて管理される。例えば暗号回路４１，４２，…で用いられる鍵情報は、１２８［ｂｉｔ］、１９２［ｂｉｔ］、又は２５６［ｂｉｔ］である。鍵情報の最大ｂｉｔ長が２５６［ｂｉｔ］であり、この鍵情報が４つに分割されて管理される場合、最小管理単位は６４［ｂｉｔ］となる。仮に、特定の暗号回路（例えば暗号回路４１）で用いられる鍵情報が１２８［ｂｉｔ］であった場合、最小管理単位の２つ分が必要な鍵情報となる。なお管理部２６０は、鍵ＩＤ（又はＬＢＡ）毎の鍵長情報を管理してもよい。
【００３９】
暗号回路４１，４２，…それぞれで同じ鍵情報が用いられることがある。この場合、鍵情報記憶部１２０で記憶される鍵情報は一つでよく、暗号回路４１，４２，…それぞれで用いられる複数の鍵情報を記憶する必要がない。すなわちこの場合は、記憶する鍵情報の容量を小さくすることが可能となる。また鍵情報が１２８［ｂｉｔ］であった場合は、最小管理単位の２つ分が鍵情報記憶部１２０で記憶されればよいことになり、記憶する鍵情報の容量をさらに小さくすることができる。
【００４０】
また暗号回路４１，４２，…それぞれで利用される鍵情報が、最小管理単位の鍵情報の組み合わせで構成される場合もある。例えば暗号回路４１で用いられる鍵情報が、鍵ＩＤ＝０の鍵アドレス０が上位情報、鍵ＩＤ＝０の鍵アドレス１が下位情報で構成される場合を想定する。このとき暗号回路４２で用いられる鍵情報が、鍵ＩＤ＝０の鍵アドレス１が上位情報、鍵ＩＤ＝０の鍵アドレス０が下位情報で構成されていれば、暗号回路４１，４２では異なる鍵情報が用いられるが、この鍵情報の上位情報と下位情報が記憶されることで、暗号回路４１，４２両方の鍵情報が記憶されることになる。
【００４１】
このように鍵情報を分割し、さらに鍵アドレスを対応付けることで、記憶する鍵情報を少なくできる可能性が高くなる。
次に、図４を用いて、主に暗号回路４１，４２，…及び調停部６０により実行される鍵情報管理処理の動作を説明する。図４は、鍵情報管理処理の動作におけるタイミングチャートである。
【００４２】
図４に示すタイミングチャートは、暗号回路４１が鍵ＩＤ＝０の鍵アドレス［０：４］を要求し、暗号回路４２が鍵ＩＤ＝１の鍵アドレス［０：４］を要求した場合を例としている。
【００４３】
（ａ）暗号回路４１の鍵情報Ｉ／Ｆ部２０２が、所望の鍵情報に対応する鍵ＩＤ＝０を示す情報を、調停部６０の通信部２５１へ出力する。このとき、鍵ＩＤ＝０における鍵アドレス［０：４］を示す情報も併せて出力されてもよい。
【００４４】
（ｂ）暗号回路４２の鍵情報Ｉ／Ｆ部２１２が、所望の鍵情報に対応する鍵ＩＤ＝１を示す情報を、調停部６０の通信部２５２へ出力する。このとき、鍵ＩＤ＝１における鍵アドレス［０：４］を示す情報も併せて出力されてもよい。
【００４５】
（ｃ）調停部６０の管理部２６０は、通信部２５１から入力された鍵ＩＤ＝０の鍵アドレス［０：４］に対応する鍵情報の鍵情報記憶部１２０からの読み出し処理、及び通信部２５２から入力された鍵ＩＤ＝１の鍵アドレス［０：４］に対応する鍵情報の鍵情報記憶部１２０からの読み出し処理をスタックする。
【００４６】
（ｄ）管理部２６０は、初めの処理としてスタックされた、鍵ＩＤ＝０の鍵アドレス［０：４］に対応するＬＢＡに記憶される鍵情報の読み出しを、鍵情報記憶部１２０に対して指示する。
【００４７】
（ｅ）鍵情報記憶部１２０は、鍵ＩＤ＝０の鍵アドレス［０：４］に対応するＬＢＡに記憶される鍵情報を、管理部２６０へ出力する。
（ｆ）管理部２６０は読み出した鍵情報を通信部２５１へ出力し、通信部２５１は最小管理単位ずつ、鍵ＩＤ＝０の鍵アドレス［０：４］に対応する鍵情報を鍵情報Ｉ／Ｆ部２０２へ出力する。全ての鍵情報の出力が完了すると、初めの処理としてスタックされた、鍵ＩＤ＝０の鍵アドレス［０：４］に係る鍵情報の読み出し処理は完了する。
【００４８】
（ｇ）管理部２６０は、鍵ＩＤ＝０の鍵アドレス［０：４］に係る鍵情報の読み出し処理が完了すると、次の処理としてスタックされた、通信部２５２から入力された鍵ＩＤ＝１の鍵アドレス［０：４］に対応するＬＢＡに記憶される鍵情報の読み出しを、鍵情報記憶部１２０に対して指示する。
【００４９】
（ｈ）鍵情報記憶部１２０は、鍵ＩＤ＝１の鍵アドレス［０：４］に対応するＬＢＡに記憶される鍵情報を、管理部２６０へ出力する。
（ｉ）管理部２６０は読み出した鍵情報を通信部２５２へ出力し、通信部２５２は最小管理単位ずつ、鍵ＩＤ＝１の鍵アドレス［０：４］に対応する鍵情報を鍵情報Ｉ／Ｆ部２１２へ出力する。全ての鍵情報の出力が完了すると、次の処理としてスタックされた、鍵ＩＤ＝１の鍵アドレス［０：４］に係る鍵情報の読み出し処理は完了する。
【００５０】
こうして（ａ）〜（ｉ）に示したタイミングで、暗号回路４１，４２及び調停部６０による鍵情報管理処理が実行される。すなわち、暗号回路４１，４２から調停部６０への鍵情報の出力は、並行して要求されることが可能である。また、管理部２６０による鍵情報記憶部１２０からの鍵情報の読み出しは、先の鍵情報の読み出しが完了した後に継続して次の鍵情報の読み出しが実行されることになる。従って、鍵情報の出力要求から鍵情報の出力までの時間を極力短くした鍵情報管理処理を実行することが可能となる。
【００５１】
以上説明したように本実施形態によれば、並行して実行されるユーザデータの暗号化及び複合化において、鍵情報記憶部１２０に一括して記憶される鍵情報が、調停部６０によって暗号回路４１，４２，…の何れかに適切に出力される。換言すると、暗号回路４１，４２，…及び調停部６０によって複数の鍵情報を一括して管理する鍵情報管理処理が実行される。この鍵情報管理処理において、鍵情報の出力は、並行して調停部６０に要求され、鍵情報記憶部１２０からの鍵情報の読み出しは、先の鍵情報の読み出しが完了した後に継続して次の鍵情報の読み出しが実行されることになる。従って、鍵情報の出力要求から鍵情報の出力までの時間を極力短くした鍵情報管理処理を実行することが可能となる。このようにして本実施形態に係るコントローラ１００を備えるＳＳＤ１によれば、情報の暗号化及び複合化のための鍵情報がより効率よく記憶されることになる。
【００５２】
なお本発明は、前述した実施形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。また、前述した実施形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよく、さらに、異なる実施形態に係る構成要素を適宜組み合わせても良い。
【符号の説明】
【００５３】
１…ＳＳＤ、２…電子機器、５…通信媒体（ホストＩ／Ｆ）、１０…ホストＩ／Ｆ制御部、２０…バッファ制御部、２１…バッファメモリ、３０…ＭＰＵ、３１…フラッシュメモリ、３２…ＳＲＡＭ、４１，４２…暗号回路、５１，５２…メモリ制御部、６０…調停部、１００…コントローラ、１１０…主記憶部、１１１，１１２…メモリ、１２０…鍵情報記憶部、１５０…ホスト装置、２０１，２１１…暗号処理部、２０２，２１２…鍵情報Ｉ／Ｆ部、２０３，２１３…記憶部、２５１，２５２…通信部、２６０…管理部。
【図１】
2012080295.tif 000003
【図２】
2012080295.tif 000004
【図３】
2012080295.tif 000005
【図４】
2012080295.tif 000006