説明

磁気ディスク装置

【課題】複数の暗号鍵を設定可能な磁気ディスク装置において、暗号鍵の設定変更時間を低減可能な磁気ディスク装置を提供する。
【解決手段】HDC110は、ホストシステム200が発行したコマンドをホストシステム200から受信し、当該コマンドに応じて、磁気ディスク103への書き込みが指示されたライトデータをホストシステム200から受信したり、磁気ディスク103からの読み出しが指示されたリードデータをホストシステム200に送信したりする。暗号/復号回路110bは、CPU101により設定された暗号鍵を用いて、ライトデータを暗号化したり、リードデータを復号化したりする。CPU101は、キューバッファ109aに記憶されている実行待ちコマンドを解析して、暗号/復号回路110bに設定されている暗号鍵に対応する記憶領域へのアクセスを生じさせるコマンドの実行順序を上げる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、磁気ディスク装置に関する。
【背景技術】
【0002】
近年、高度なセキュリティ機能を持つ磁気ディスク装置へのニーズが高まり、記録媒体である磁気ディスクへ記録するデータを暗号化する磁気ディスク装置の製造が行われている。このような磁気ディスク装置は、磁気ディスクに記録されるデータを単一の暗号鍵を用いて暗号化したり復号化したりする。さらに高度なセキュリティ機能を持つ磁気ディスク装置として、複数の個人識別情報から複数の暗号鍵を生成し、磁気ディスク装置内のデータを複数の記憶領域に分割し当該記憶領域毎に個別の暗号鍵を用いてデータを暗号化したり復号化したりする磁気ディスク装置が開発されている(例えば特許文献1参照)。このような暗号化機能を持つ磁気ディスク装置では、データを暗号化したり復号化したりする際に、暗号/復号回路に暗号鍵を設定して暗号化したり復号化したりする。即ち、暗号鍵を暗号/復号回路に設定することによって、磁気ディスクに記録するデータを暗号化したり磁気ディスクに記録されたデータを復号化したりすることが可能となる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−201038号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、単一の暗号鍵が設定される磁気ディスク装置では、磁気ディスク上のデータにアクセスする際にどのデータに対しても同一の暗号鍵を用いることができるため、暗号/復号回路に設定する暗号鍵を変更する必要はない。しかし、例えば特許文献1に示されるような複数の暗号鍵が設定可能な磁気ディスク装置では、暗号/復号回路に設定中である暗号鍵と異なる暗号鍵で管理される記憶領域へのアクセスが必要となった場合には、暗号/復号回路へ暗号鍵を改めて設定する必要がある。暗号/復号回路への暗号鍵の設定には磁気ディスク十数回分の回転時間が掛かる。コマンドの実行順序を並び替えるリオーダリング手法では、従来、暗号鍵の設定の変更に掛かる時間(設定変更時間という)というのは考慮されていない。このため、複数の暗号鍵が設定可能な磁気ディスク装置において、従来のリオーダリング手法を用いてコマンドの実行順序を並び替えると、暗号鍵の設定の変更が頻繁に生じる恐れがあり、暗号鍵の設定変更時間が増大して、処理性能が低下する恐れがある。
【0005】
本発明は、上記に鑑みてなされたものであって、複数の暗号鍵を設定可能な磁気ディスク装置において、暗号鍵の設定変更時間を低減可能な磁気ディスク装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本発明は、磁気ディスク装置であって、ユーザを識別するための各個人識別情報を用いて各々生成された各暗号鍵に対応させて記憶領域が複数に分割されている記録媒体へのデータの書き込み又は前記記録媒体からのデータの読み出しを指示するコマンドであって、複数の前記記憶領域のうち少なくとも1つへのアクセスを生じさせるコマンドを情報処理装置から受信する受信部と、設定された前記暗号鍵を用いて、前記コマンドによって書き込みが指示されたデータを暗号化し又は、前記コマンドによって読み出しが指示されたデータであって暗号化されているデータを復号化する暗復号部と、暗号化された前記データの前記記録媒体への書き込み及び前記記録媒体からのデータの読み出しを制御する読み書き制御部と、前記コマンドの実行に応じて、前記コマンドによってアクセスされる前記記憶領域に対応する前記暗号鍵を前記暗復号部に設定する設定部と、前記コマンドの実行順序を制御する制御部であって、実行されていない前記コマンドのうち、前記暗復号部に設定されている前記暗号鍵に対応する前記記憶領域へのアクセスを生じさせる前記コマンドの実行順序を上げる順序制御部と、前記実行順序に従って、前記コマンドを実行する実行部とを備えることを特徴とする。
【発明の効果】
【0007】
本発明によれば、複数の暗号鍵を設定可能な磁気ディスク装置において、暗号鍵の設定変更時間を低減可能になる。
【図面の簡単な説明】
【0008】
【図1】図1は、第1の実施の形態にかかるHDD100の構成を例示する図である。
【図2】図2は、ホストシステム200が発行してHDC110によって受信されたコマンドがキューバッファ109aに記憶されている様子を例示する図である。
【図3】図3は、従来の磁気ディスク装置が行なうリオーダリング処理の手順を示すフローチャートである。
【図4】図4は、同実施の形態にかかるHDD100の行うリオーダリング処理の手順を示すフローチャートである。
【図5】図5は、第2の実施の形態にかかるHDD100の行うリオーダリング処理の手順を示すフローチャートである。
【図6】図6は、第3の実施の形態にかかるHDD100の行うリオーダリング処理の手順を示すフローチャートである。
【図7】図7は、リオーダリング処理前にキューバッファ109aに記憶されている実行待ちコマンド及びその実行中に設定が必要な暗号鍵を概念的に例示する図である。
【図8】図8は、キューバッファ109aに記憶されている実行待ちコマンド及びその実行中に設定が必要な暗号鍵を概念的に例示すると共に、その実行順序を例示する図である。
【図9】図9は、第5の実施の形態にかかるリオーダリング処理前にキューバッファ109aに記憶されている実行待ちコマンド及びその実行中に設定が必要な暗号鍵を概念的に例示する図である。
【図10】図10は、キューバッファ109aに記憶されている実行待ちコマンド及びその実行中に設定が必要な暗号鍵を概念的に例示すると共に、その実行順序を例示する図である。
【発明を実施するための形態】
【0009】
[第1の実施の形態]
以下に添付図面を参照して、この発明にかかる磁気ディスク装置の実施の形態を詳細に説明する。図1は、本実施の形態にかかる磁気ディスク装置(以下、HDDと称する)の構成を例示する図である。同図に示されるように、HDD100は、CPU(Central Processing Unit)101と、モータドライバ(VCM・SPMドライバ)102と、磁気ディスク103と、スピンドルモータ(SPM)104と、ボイスコイルモータ(VCM)105と、磁気ヘッド106と、CPUバス107と、ROM(Read Only Memory)108と、RAM(Random Access Memory)109と、ディスクコントローラ(以下、HDCと称する)110と、ゲートアレイ111と、バッファRAM112と、リード/ライトIC113と、ヘッドIC114とを有する。
【0010】
ROM108は、各種データやCPU101が実行する各種プログラムを記憶する。RAM109は、各種データや各種プログラムを一時的に記憶するものであり、CPU101のワーク領域及び変数を記憶する変数領域として機能する。CPU101は、ROM108に記憶された各種プログラムをRAM109に読み出してこれを実行して、HDD100全体の制御及びモータドライバ(VCM・SPMドライバ)102の制御を時分割で行う主コントローラとして機能するプロセッサである。モータドライバ102はCPU101からの制御により、磁気ディスク103を定常回転させるスピンドルモータ(SPM)104と、磁気ヘッド106を目標位置に移動させるボイスコイルモータ(VCM)105とを駆動するための電流を、SPM104及びVCM105に供給する。HDC110は、インタフェースバス250を介してホストシステム200と通信を行い、ホストシステム200が発行して送信したコマンドを受信する。本実施の形態においては、コマンドは、磁気ディスク103へのデータの書き込みや磁気ディスク103からのデータの読み出し及び送信を指示するものであり、当該コマンドの実行により、磁気ディスク103へのアクセスが生じるものである。そして、HDC110は、当該コマンドに応じて、磁気ディスク103への書き込みが指示されたデータ(ライトデータ)をホストシステム200から受信したり、磁気ディスク103からの読み出し及び送信が指示されたデータ(リードデータ)をホストシステム200に送信したりする。ゲートアレイ111は、HDD100内での制御に必要な諸信号の生成を行う制御信号生成回路として機能する。CPU101、ROM108、RAM109、HDC110及びゲートアレイ111は、CPUバス107に接続されている。なお、RAM109をCPU101に内蔵させ、CPU101がCPUバス107から独立にRAM109を直接アクセスする構成とすることも可能である。
【0011】
RAM109の記憶領域の一部は、キューバッファ(キューバッファバッファ、キューバッファテーブル)109aのための領域として用いられる。キューバッファ109aは、HDD100を利用するホストシステム200から送信されるコマンドを当該コマンドが実行されるまでの期間記憶するのに用いられる。本実施の形態において、キューバッファ109a内でのコマンドの並び順は、初期段階では、入力順(受信順)であるが、後述のリオーダリング処理によって適宜変更される。そして、キューバッファ109aの最も上にあるコマンドからCPU101により実行される。
【0012】
磁気ディスク103には、CPU101の制御の下、HDC110を介して、データが書き込まれたり、データが読み出されたりする。また、磁気ディスク103は、複数の記憶領域に分割されており、各記憶領域は、後述するユーザを識別するための個人識別情報が用いられて暗号化された暗号鍵に各々対応する。本実施の形態においては、対応する暗号鍵によって暗号化されたデータが当該記憶領域に書き込まれ、当該記憶領域から読み出されたデータは、当該記憶領域に対応する暗号鍵によって復号可能になる。各記憶領域と各暗号鍵との対応関係は、例えば、テーブルとして、磁気ディスク103に書き込まれるようにしても良いし、HDC110内に記憶回路を備え、当該記憶回路に記憶されるようにしても良い。
【0013】
HDC110は、レジスタ部110aと、暗号/復号回路110bとを有する。レジスタ部110aは、制御用レジスタの群から構成される。暗号/復号回路110bは、CPU101により設定された後述の暗号鍵を用いて、磁気ディスク103への書き込みがコマンドによって指示されたデータ(ライトデータ)を暗号化したり、磁気ディスク103からの読み出し及び送信がコマンドによって指示されたデータ(リードデータ)であって暗号化されているデータを復号化したりする。ゲートアレイ111もHDC110と同様に制御用レジスタの群から構成されるレジスタ部(図示せず)を有している。各制御用レジスタは、CPU101のアドレス空間の一部領域に割り当てられている。CPU101は、制御用レジスタが割り当てられている領域に対して読み出し/書き込みを行うことで、対応するHDC110またはゲートアレイ111を制御する。HDC110は、CPUバス107以外に、ゲートアレイ111、バッファRAM112、及びリード/ライトIC113に接続されている。
【0014】
バッファRAM112は、RAM109によって構成されるバッファメモリである。バッファRAM112の記憶領域の一部は、ホストシステム200から送信されたライトデータを一時記憶するためのライトバッファのための領域として用いられる。バッファRAM112の記憶領域の他の一部は、リードデータを一時記憶するためのリードバッファのための領域として用いられる。ライトバッファ及びリードバッファは例えばリングバッファとして用いられる。
【0015】
ヘッドIC114は、磁気ヘッド106により読み出された信号(アナログのリード信号)を増幅して、リード/ライトIC113に出力する。また、ヘッドIC114は、磁気ヘッド106を制御して、リード/ライトIC113から出力された書き込み用の信号を磁気ディスク103へ書き込ませる。磁気ヘッド106は、磁界を発生させて磁性体を磁化して、書き込み用の信号を磁気ディスク103へ書き込んだり、磁界の変化を検知して磁気ディスク103に書き込まれているデータを信号として読み出したりする。リード/ライトIC113は、ヘッドIC114が増幅したリード信号をA/D(アナログ/ディジタル)変換し符号化してHDC110に出力したり、リード信号をパルス化してゲートアレイ111に出力したりする。また、リード/ライトIC113は、ゲートアレイ111からの制御用の各信号に従ってHDC110によって暗号化されたデータを符号化してこれを書き込み用の信号に変換して、ヘッドIC114に出力する。
【0016】
HDD100におけるデータの読み出し時には、磁気ディスク103に記録されているデータ(リードデータ)が磁気ヘッド106によって読み出される。磁気ヘッド106により読み出された信号(アナログのリード信号)は、ヘッドIC114によって増幅され、しかる後にリード/ライトIC113によってA/D(アナログ/ディジタル)変換されて符号化されてHDC110に出力される。また、ヘッドIC114によって増幅されたリード信号はリード/ライトIC113によってパルス化され、ゲートアレイ111に出力される。ゲートアレイ111は、リード/ライトIC113から出力されるパルス(リードパルス)から各種タイミング信号を生成する。HDC110は、リード/ライトIC113によって符号化されたリードデータをゲートアレイ111からの制御用の各信号に従って処理する。この処理の中には、暗号/復号回路110bによるリードデータの復号化の処理が含まれる。HDC110は、このような処理を行うことにより、ホストシステム200に送信すべきリードデータを生成する。このリードデータは一旦バッファRAM112に記憶されてから、インタフェースバス250を介してホストシステム200に転送される。
【0017】
一方、HDD100におけるデータの書き込み時には、ホストシステム200からインタフェースバス250を介してHDD100に送信されたライトデータが、当該HDD100のHDC110で受け取られて、一旦バッファRAM112に記憶される。このバッファRAM112に記憶されたライトデータは、ゲートアレイ111からの制御用の各信号に従ってHDC110によって符号化され、暗号/復号回路110bにより暗号鍵が用いられて暗号化され、リード/ライトIC113によって書き込み用の信号に変換され、ヘッドIC114を経由して磁気ヘッド106によって磁気ディスク103に書き込まれる。
【0018】
ここで、データの暗号化及び復号化に用いられる暗号鍵について説明する。暗号鍵は、CPU101が例えばユーザを認証するための個人識別情報を暗号化関数や一方向性関数により変換することで生成する。ユーザの個人識別情報は、例えば、ユーザの認証時にCPU101は取得する。具体的には、ユーザの認証時に、CPU101が、個人識別情報の入力を求め、個人識別情報が操作入力部(図示せず)を介して入力されると、これを用いて暗号鍵を生成し、これを暗号/復号回路110bに入力することで、暗号/復号回路110bに暗号鍵を設定する。ユーザの認証をどのように行うかは本実施の形態においては特に限定されない。
【0019】
次に、コマンドの実行順序を並び替えるリオーダリング処理について説明する。図2は、ホストシステム200が発行してHDC110によって受信されたコマンドがキューバッファ109aに記憶されている様子を例示する図である。同図においては、磁気ディスク103へのアクセスを実際に生じさせている実行中のコマンド(実行中コマンドという)が1つあり、それ以外に、まだ実行されておらず実行待ちの状態であるコマンド(実行待ちコマンドという)が5つ並んでいる様子が例示されている。これらのコマンドの並び順は、リオーダリング処理が行われる前の初期段階では、上から順に、入力順となっている。CPU101は、このようなコマンドの実行に際し、実行を開始するコマンドによってアクセスが生じる磁気ディスク103上の位置を計算し、VCM105を制御して、当該位置へ磁気ヘッド106を移動させるシーク処理を行う。CPU101がこのシーク処理を行っている間は、磁気ディスク103へのアクセスは生じない。このため、シーク処理に掛かる時間(シーク時間という)が必要になればなるほど、磁気ディスク装置の処理性能は低下することになる。これを解決するために、従来より、磁気ディスク装置は、コマンドの実行順序を並び替えるリオーダリング処理を行なっているのである。
【0020】
ここで、従来の磁気ディスク装置が行なうリオーダリング処理の手順について図3を用いて説明する。磁気ディスク装置は、キューバッファの最も上にある実行待ちコマンドをTとすると(ステップS1)、コマンドTがキューバッファの末尾にあるか否かを判断する(ステップS2)。当該判断結果が否定的である場合、磁気ディスク装置は、キューバッファに記憶されているコマンドT以外の実行待ちコマンドのうち1つを候補のコマンドUとし、コマンドTとコマンドUとでシーク時間が短い方を候補のコマンドUとし(ステップS3)、コマンドTより1つ下の実行待ちコマンドを新たなコマンドTとして(ステップS4)、ステップS2に戻る。ステップS2の判断結果が肯定的となった場合は、磁気ディスク装置は、コマンドUをキューバッファの最も上(先頭)におく(ステップS5)。このように、磁気ディスク装置が、コマンドの中で最もシーク時間が短くなると計算したコマンドを実行していくことで、全体のシーク時間を減少させることにより、磁気ディスク装置の処理性能を向上させることができる。
【0021】
ところで、本実施の形態においては、HDD100は、複数の暗号鍵が設定可能であるため、磁気ディスク103においてコマンドによってアクセスの生じる位置の含まれる記憶領域が変わる際、暗号/復号回路110bに設定する暗号鍵を変更する必要がある。この暗号鍵の設定を変更する処理(暗号鍵設定変更処理という)を行わない場合の磁気ディスク103上の任意の位置へのアクセスへのシーク時間の期待値は、およそ6×10-3秒であるが、暗号鍵設定変更処理を行う場合にはその数十倍の時間が必要となる。従来の磁気ディスク装置のリオーダリング処理では、暗号鍵の設定の変更について考慮がなされていないため、暗号鍵設定変更処理が頻繁に必要になるような、磁気ディスク103上で異なる記憶領域へのアクセスが行われ続ける場合、磁気ディスク103の回転待ちの頻度、即ち、回転待ちの時間が増えて、HDD100の処理性能が極端に低下する。これを回避すべく、本実施の形態では、ホストシステム200が発行してHDC110によって受信されたコマンドがキューバッファ109aに複数記憶されている場合、HDD100のCPU101は、当該コマンドを解析して、暗号/復号回路110bに設定されている暗号鍵に対応する記憶領域へのアクセスを生じさせるコマンドの実行順序を上げて、コマンドの実行順序を適宜並び替える。
【0022】
次に、本実施の形態にかかるHDD100の行うリオーダリング処理の手順について図4を用いて説明する。HDD100のCPU101は、暗号/復号回路110bに設定している暗号鍵を取得し(ステップS10)、キューバッファ109aの最も上にある実行待ちコマンドをTとすると(ステップS11)、コマンドTがキューバッファ109aの末尾にあるか否かを判断する(ステップS12)。当該判断結果が否定的である場合、CPU101は、コマンドTを解析して、当該コマンドTの実行の開始時にアクセスされる磁気ディスク103の位置が、ステップS10で取得した暗号鍵に対応している記憶領域に含まれるか否かを判断する(ステップS13)。当該判断結果が肯定的である場合、CPU101は、キューバッファ109aに記憶されているコマンドT以外の実行待ちコマンドを候補のコマンドUとし、コマンドTとコマンドUとでシーク時間が短い方を候補のコマンドUとし(ステップS14)、コマンドTより1つ下のコマンドを新たなコマンドTとして(ステップS15)、ステップS12に戻る。ステップS13の判断結果が否定的である場合には、ステップS15に進む。ステップS12の判断結果が肯定的となった場合は、CPU101は、コマンドUをキューバッファの最も上(先頭)におく(ステップS16)。
【0023】
以上のように、実行の開始時にアクセスされる位置が、暗号/復号回路110bに設定されている暗号鍵に対応する記憶領域に含まれるコマンドの実行順序を上げることで、暗号/復号回路110bにおける暗号鍵の設定を変更することなく実行可能なコマンドの実行順序を上げ、暗号鍵の設定の変更を必要とするコマンドの実行順序を下げる。即ち、暗号鍵毎に分割された記憶領域のうち同一の記憶領域へのアクセスを生じさせるコマンドについては連続して実行する。これにより、暗号鍵設定変更処理を行う回数を低減することができ、暗号鍵の設定変更時間を低減することができる。この結果、全体の処理時間を低減することができ、HDD100の処理性能を向上させることができる。
【0024】
[第2の実施の形態]
次に、磁気ディスク装置の第2の実施の形態について説明する。なお、上述の第1の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【0025】
コマンドの中には、その実行中に、例えば、記憶領域の境界を跨いでアクセスするなど、異なる記憶領域へアクセス先が変更されることで、暗号鍵設定変更処理が必要になるコマンドがある。このようなコマンドの実行中に、CPU101は、リオーダリング処理を行う際、暗号/復号回路110bに現在設定されている暗号鍵に基づいて、上述の第1の実施の形態で説明したように実行待ちコマンドの実行順序を並び替えると、同一の記憶領域へのアクセスを生じさせるコマンドについて連続して実行することができない恐れがある。そこで、本実施の形態においては、実行中コマンドが存在し且つ実行待ちコマンドがキューバッファ109aに複数記憶されている場合、CPU101は、リオーダリング処理の際、当該実行コマンドの実行が終了する時点で暗号/復号回路110bに設定されているであろう暗号鍵に対応する記憶領域へのアクセスを生じさせる実行待ちコマンドの実行順序を上げる。
【0026】
次に、本実施の形態にかかるHDD100の行うリオーダリング処理の手順について図5を用いて説明する。ステップS20では、HDD100のCPU101は、実行中コマンドを解析して、当該実行コマンドの実行が終了する時点で暗号/復号回路110bに設定されているであろう暗号鍵を計算する。ステップS11,S12は上述の第1の実施の形態と同様である。ステップS21では、CPU101は、コマンドTを解析して、当該コマンドTの実行の開始時にアクセスされる磁気ディスク103の位置が、ステップS20で計算した暗号鍵に対応している記憶領域に含まれるか否かを判断する。当該判断結果が肯定的である場合、ステップS14に進み、当該判断結果が否定的である場合、ステップS16に進む。ステップS14〜S16は上述の第1の実施の形態と同様である。
【0027】
以上のような構成によれば、1つのコマンドの実行中に、異なる記憶領域へアクセス先が変更になることがあっても、当該実行コマンドの実行が終了する直前にアクセスされる記憶領域と同一の記憶領域へのアクセスを生じさせる実行待ちコマンドの実行順序を上げることで、同一の記憶領域へのアクセスを生じさせるコマンドについて連続して実行することができ、HDD100の処理性能をより効果的に向上することができる。即ち、1つのコマンドの実行中に暗号鍵設定変更処理が必要となったとしても、当該実行コマンドの実行が終了した時点で暗号/復号回路110bに設定されている暗号鍵を変更することなく実行可能なコマンドの実行順序を上げることで、暗号鍵設定変更処理を無駄に行うことなく、暗号鍵設定変更処理を行う回数を効果的に低減することができ、暗号鍵の設定変更時間を効果的に低減することができる。この結果、全体の処理時間を低減することができ、HDD100の処理性能をより効果的に向上させることができるのである。
【0028】
[第3の実施の形態]
次に、磁気ディスク装置の第3の実施の形態について説明する。なお、上述の第1の実施の形態又は第2の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【0029】
上述の第2の実施の形態においては、その実行中に暗号鍵の設定の変更(暗号鍵設定変更処理)が必要になるコマンドについて説明したが、このようなコマンドは、そうでないコマンドに比べて処理にかかる時間が総じて長くなる。このため、本実施の形態においては、実行中コマンドが存在し且つ実行待ちコマンドがキューバッファ109aに複数記憶されている場合、CPU101は、リオーダリング処理の際、実行待ちコマンドのうち、その実行中に暗号鍵の設定の変更が必要ないコマンドの実行順序を上げる。
【0030】
次に、本実施の形態にかかるHDD100の行うリオーダリング処理の手順について図6を用いて説明する。ステップS11〜S12は上述の第1の実施の形態と同様である。ステップS30では、HDD100のCPU101は、コマンドTを解析して、当該コマンドTの実行中にアクセスされる磁気ディスク103の記憶領域が変更される回数、即ち、コマンドTの実行中に暗号鍵の設定の変更が必要な回数を判断する(ステップS30)。ステップS30の判断の結果、コマンドTの実行中に暗号鍵の設定の変更が必要ない場合(ステップS30:0回)、ステップS32に進む。ステップS32では、CPU101は、コマンドTを候補のコマンドUとし、ステップS16に進む。ステップS16は、上述の第1の実施の形態と同様である。この結果、その実行中に暗号鍵の設定の変更が必要ないコマンドの実行順序が上げられる。一方、ステップS30の判断の結果、コマンドTの実行中に暗号鍵の設定の変更が1回以上必要である場合(ステップS30:1回以上)、ステップS31に進む。ステップS31では、CPU101は、キューバッファ109aに記憶されているコマンドT以外の実行待ちコマンドを候補のコマンドUとし、コマンドTとコマンドUとで暗号鍵の設定の変更が必要な回数が少ない方を候補のコマンドUとし、ステップS12に進む。
【0031】
以上のような構成によれば、その実行中に暗号鍵の設定の変更が必要ないコマンドの実行順序を上げることができるため、暗号鍵設定変更処理を行う回数を低減することができ、暗号鍵の設定変更時間を低減することができる。この結果、全体の処理時間を低減することができ、HDD100の処理性能を向上させることができる。
【0032】
[第4の実施の形態]
次に、磁気ディスク装置の第4の実施の形態について説明する。なお、上述の第1の実施の形態乃至第3の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【0033】
本実施の形態においては、上述の第2の実施の形態及び第3の実施の形態を組み合わせた構成について説明する。即ち、実行中コマンドが存在し且つ実行待ちコマンドがキューバッファ109aに複数記憶されている場合、CPU101は、リオーダリング処理の際、当該実行中コマンドの実行が終了する時点で暗号/復号回路110bに設定されている暗号鍵に対応する記憶領域へのアクセスを生じさせる実行待ちコマンドについて、その実行中に暗号鍵の設定の変更が必要な回数が少ないほど実行順序を上げる。
【0034】
図7は、リオーダリング処理前にキューバッファ109aに記憶されている実行待ちコマンド及びその実行中に設定が必要な暗号鍵を概念的に例示する図である。図8は、キューバッファ109aに記憶されている実行待ちコマンド及びその実行中に設定が必要な暗号鍵を概念的に例示すると共に、その実行順序を例示する図である。これらの図に示されるように、本実施の形態によれば、実行順序は、コマンド3,1,5,4,2の順となる。実行中コマンドの実行が終了した時点で暗号/復号回路110bに設定される暗号鍵に対応する記憶領域へのアクセスを生じさせるコマンドのうち、特に、その実行中に暗号鍵の設定の変更が必要な回数が0回であるコマンド、即ち、その実行中に暗号鍵の設定の変更が必要ないコマンド(ここではコマンド3である)が、一番に優先される。従って、実行中コマンドの実行が終了した時点で暗号/復号回路110bに設定されている暗号鍵と同一の暗号鍵に対応する記憶領域へのアクセスを生じさせる実行待ちコマンドについて、暗号鍵の設定の変更の回数が少ないほど優先して実行される。
【0035】
即ち、以上のような構成によれば、同一の記憶領域へのアクセスを生じさせるコマンドについて連続して実行することができ、更に、暗号鍵の設定の変更が必要な回数が少ないコマンドを優先して実行することができる。この結果、暗号鍵設定変更処理を無駄に行うことなく、暗号鍵設定変更処理を行う回数を効果的に低減することができ、暗号鍵の設定変更時間を低減することができる。この結果、全体の処理時間を低減することができ、HDD100の処理性能をより効果的に向上させることができる。
【0036】
[第5の実施の形態]
次に、磁気ディスク装置の第5の実施の形態について説明する。なお、上述の第1の実施の形態乃至第4の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【0037】
本実施の形態では、実行待ちコマンドがキューバッファ109aに複数記憶されている場合、CPU101は、リオーダリング処理の際、その実行中にアクセスされる記憶領域が異なる毎に、即ち、その実行中に設定が必要な暗号鍵が異なる毎に、コマンドを分割する。分割された各コマンドは各々、実行待ちコマンドとなる。そして、CPU101は、各実行待ちコマンドについて、上述の第1の実施の形態で説明したように、図4に示される手順に従ってリオーダリング処理を行う。このような構成は、ライトデータをホストシステム200から受け取りホストシステム200へ受信完了通知を返しているがライトデータは保持したままである場合のコマンド(ライトコマンド)などに適用することができる。
【0038】
図9は、リオーダリング処理前にキューバッファ109aに記憶されている実行待ちコマンド及びその実行中に設定が必要な暗号鍵を概念的に例示する図である。図10は、キューバッファ109aに記憶されている実行待ちコマンド及びその実行中に設定が必要な暗号鍵を概念的に例示すると共に、その実行順序を例示する図である。これらの図に示されるように、本実施の形態によれば、コマンド1が、コマンド1−1,1−2に分割され、コマンド2が、コマンド2−1,2−2,2−3に分割され、コマンド4が、コマンド4−1,4−2に分割される。コマンド3,5については、その実行中に暗号鍵の設定の変更が必要ないため、分割されない。これらのコマンドの実行順序は、コマンド1−1,2−1,2−3,3,4−2,2−2,1−2,4−1,5の順となる。このような構成によれば、コマンド1〜5を実行している間、暗号鍵の設定の変更は1回で済むことになる。
【0039】
即ち、以上のような構成によれば、同一の記憶領域へのアクセスを生じさせるコマンドについて連続して実行することができるため、暗号鍵設定変更処理を行う回数を効果的に低減することができ、暗号鍵の設定変更時間を効果的に低減することができる。この結果、全体の処理時間を低減することができ、HDD100の処理性能をより効果的に向上させることができる。
【0040】
[第6の実施の形態]
次に、磁気ディスク装置の第6の実施の形態について説明する。なお、上述の第1の実施の形態乃至第5の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【0041】
本実施の形態では、キューバッファ109aに実行待ちコマンドが記憶されている場合、そのいずれの実行待ちコマンドも暗号/復号回路110bに設定されている暗号鍵とは異なる暗号鍵に対応する記憶領域に含まれる位置へのアクセスを生じさせるものである場合、CPU101は、ホストシステム200からコマンドが発行されて送信されるのを所定の時間待機する。その後ホストシステム200で発行されて送信されたコマンドをHDC110を介してCPU101は取得すると、当該コマンドを解析して、当該コマンドの実行によってアクセスされる磁気ディスク103の位置が、暗号/復号回路110bに設定されている暗号鍵に対応する記憶領域に含まれるか否かを判断する。そして、当該判断結果が肯定的である場合に、CPU101は、当該コマンドの実行順序を一番にして、当該コマンドを実行する。
【0042】
以上のように、暗号鍵の設定の変更を必要としないコマンドの受信を待機し、当該コマンドが受信された場合には、当該コマンドを優先して実行する。これにより、暗号鍵の設定の変更を必要とする前に、暗号鍵の設定の変更を必要としないコマンドを1つでも多く実行することができるため、暗号鍵設定変更処理を行う回数を効果的に低減することができ、暗号鍵の設定変更時間を効果的に低減することができる。この結果、全体の処理時間を低減することができ、HDD100の処理性能をより効果的に向上させることができる。
【0043】
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
【0044】
上述した各実施の形態において、HDD100で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に記憶させ、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。
【0045】
上述の各実施の形態においては、個人識別情報として、ユーザの名前、ユーザに付与されたユーザID、パスワード、任意の長さの文字列、ICカードなどに記録されたID情報、指紋等を用いたバイオメトリクスによる生体情報など様々な情報を用いることができる。
【0046】
上述の各実施の形態においては、HDD100の構成は、図1に例示したものに限らない。例えば、暗号/復号回路110bは、HDC110が有するとしたが、これに限らず、HDC110の外部に存在するようにしても良い。また、HDD100は、データを暗号化する暗号回路とデータを復号化する復号回路とを別個に有するようにしても良い。
【0047】
上述の各実施の形態においては、CPU101がリオーダリング処理を行うタイミングは、コマンドを実行する毎であっても良いし、ホストシステム200からコマンドが受信されてキューバッファ109aに記憶される毎であっても良いし、所定の数のコマンドがキューバッファ109aに記憶される毎であっても良いし、所定の時間毎であっても良い。
【0048】
上述の第3の実施の形態においては、実行待ちコマンドのうち、その実行中に暗号鍵の設定の変更が必要ないコマンドの実行順序を上げるようにしたが、これに限らず、実行待ちコマンドについて、その実行中に暗号鍵の設定の変更が必要な回数が少ないほど実行順序を上げるようにしても良い。
【符号の説明】
【0049】
100 HDD
101 CPU
102 モータドライバ
103 磁気ディスク
106 磁気ヘッド
107 CPUバス
108 ROM
109 RAM
109a キューバッファ
110 HDC
110a レジスタ部
110b 暗号/復号回路
111 ゲートアレイ
112 バッファRAM
113 リード/ライトIC
114 ヘッドIC
200 ホストシステム
250 インタフェースバス

【特許請求の範囲】
【請求項1】
ユーザを識別するための各個人識別情報を用いて各々生成された各暗号鍵に対応させて記憶領域が複数に分割されている記録媒体へのデータの書き込み又は前記記録媒体からのデータの読み出しを指示するコマンドであって、複数の前記記憶領域のうち少なくとも1つへのアクセスを生じさせるコマンドを情報処理装置から受信する受信部と、
設定された前記暗号鍵を用いて、前記コマンドによって書き込みが指示されたデータを暗号化し又は、前記コマンドによって読み出しが指示されたデータであって暗号化されているデータを復号化する暗復号部と、
暗号化された前記データの前記記録媒体への書き込み及び前記記録媒体からのデータの読み出しを制御する読み書き制御部と、
前記コマンドの実行に応じて、前記コマンドによってアクセスされる前記記憶領域に対応する前記暗号鍵を前記暗復号部に設定する設定部と、
前記コマンドの実行順序を制御する制御部であって、実行されていない前記コマンドのうち、前記暗復号部に設定されている前記暗号鍵に対応する前記記憶領域へのアクセスを生じさせる前記コマンドの実行順序を上げる順序制御部と、
前記実行順序に従って、前記コマンドを実行する実行部とを備える
ことを特徴とする磁気ディスク装置。
【請求項2】
前記順序制御部は、前記実行部が実行中のコマンドが存在する場合、当該コマンドの実行が終了する時点で前記暗復号部に設定されているであろう前記暗号鍵を求め、実行されていない前記コマンドのうち、求められた前記暗号鍵に対応する前記記憶領域へのアクセスを生じさせる前記コマンドの実行順序を上げる
ことを特徴とする請求項1に記載の磁気ディスク装置。
【請求項3】
前記順序制御部は、実行されていない前記コマンドのうち、その実行中に暗号鍵の設定の変更が必要ない前記コマンドの実行順序を上げる
ことを特徴とする請求項1に記載の磁気ディスク装置。
【請求項4】
前記順序制御部は、前記実行部が実行中のコマンドが存在する場合、当該コマンドの実行が終了する時点で前記暗復号部に設定されているであろう前記暗号鍵を求め、実行されていない前記コマンドのうち、求められた前記暗号鍵に対応する前記記憶領域へのアクセスを生じさせる前記コマンドについて、その実行中に前記暗号鍵の設定の変更の回数が少ないほど実行順序を上げる
ことを特徴とする請求項1に記載の磁気ディスク装置。
【請求項5】
実行されていない前記コマンドであって且つその実行中に暗号鍵の設定の変更が必要な前記コマンドについて、設定される前記暗号鍵が異なる毎に当該コマンドを分割する分割部を更に備える
ことを特徴とする請求項1に記載の磁気ディスク装置。
【請求項6】
前記順序制御部は、実行されていない前記コマンドのうち、前記暗復号部に設定されている前記暗号鍵に対応する前記記憶領域へのアクセスを生じさせる前記コマンドが存在しない場合、当該コマンドが前記情報処理装置から受信されるのを待機し、当該コマンドが前記情報処理装置から受信された場合、当該コマンドの実行順序を一番にする
ことを特徴とする請求項1に記載の磁気ディスク装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−8733(P2011−8733A)
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願番号】特願2009−154375(P2009−154375)
【出願日】平成21年6月29日(2009.6.29)
【出願人】(309033264)東芝ストレージデバイス株式会社 (255)
【Fターム(参考)】