説明

記憶装置、電子機器、および記憶装置のアクセス制御方法

【課題】記憶装置に対するアクセス制限に伴う不都合がより生じにくい記憶装置、電子機器、および記憶装置のアクセス制御方法を得る。
【解決手段】ホストに電気的に接続された記憶装置は、データを記憶する記憶部と、前記記憶装置の電源が投入された後の前記記憶部に対する前記ホストからのアクセスを制限するアクセス制限部と、前記ホストからのアクセス制限の解除を指示する第一のコマンドに基づいて、前記記憶部に対する前記ホストからのアクセス制限を解除する第一のアクセス制限解除部と、前記ホストから送信されるアクセス制限の解除とは異なる動作を指示する第二のコマンドに基づいて、前記記憶部に対する前記ホストからのアクセス制限を解除する第二のアクセス制限解除部と、を備えた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、記憶装置、電子機器、および記憶装置のアクセス制御方法に関する。
【背景技術】
【0002】
従来、電子機器の筐体内に収容された記憶装置が知られている。この種の記憶装置では、ホストとしての電子機器等からのアクセス制限が設定され、パスワード等によってアクセス権限の確認ができた場合に、電子機器からの指示にしたがって、アクセス制限が解除される場合がある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−107889号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、このような従来の設定では、電子機器や記憶装置の状態によっては、不本意にアクセス制限が設定された状態となって、動作に支障を来す等の不都合が生じる場合があった。
【0005】
そこで、本発明の実施形態は、アクセス制限に伴う不都合がより生じにくい記憶装置、電子機器、および記憶装置のアクセス制御方法を得ることを目的の一つとする。
【課題を解決するための手段】
【0006】
本発明の実施形態にかかる記憶装置は、ホストに電気的に接続された記憶装置であって、データを記憶する記憶部と、前記記憶装置の電源が投入された後の前記記憶部に対する前記ホストからのアクセスを制限するアクセス制限部と、前記ホストからのアクセス制限の解除を指示する第一のコマンドに基づいて、前記記憶部に対する前記ホストからのアクセス制限を解除する第一のアクセス制限解除部と、前記ホストから送信されるアクセス制限の解除とは異なる動作を指示する第二のコマンドに基づいて、前記記憶部に対する前記ホストからのアクセス制限を解除する第二のアクセス制限解除部と、を備えたことを、特徴の一つとする。
【図面の簡単な説明】
【0007】
【図1】図1は、実施形態にかかる電子機器の一例を示す模式的なブロック図である。
【図2】図2は、実施形態にかかる記憶装置の一例を示す模式的なブロック図である。
【図3】図3は、実施形態にかかる記憶装置のCPUの一例を示す模式的なブロック図である。
【図4】図4は、実施形態にかかる記憶装置のレンジおよびロッキングテーブルの一例を示す模式図である。
【図5】図5は、実施形態にかかる記憶装置のMBRシャドウイングおよびMBRコントロールテーブルの一例を示す模式図である。
【図6】図6は、実施形態にかかる記憶装置がリセットされた状態での記憶装置および電子機器の動作の一例を示すフローチャートである。
【図7】図7は、実施形態にかかる記憶装置がリセットされた状態での記憶装置の動作の一部の一例を示すフローチャートである。
【図8】図8は、実施形態にかかる記憶装置で保持されるステータスを示すデータの一例を示す模式図である。
【図9】図9は、実施形態にかかる記憶装置のMBRコントロールテーブルの一例を示す模式図であって、(a)は、MBRシャドウイングが無効な状態、(b)は、MBRシャドウイングが有効な状態を示す図である。
【図10】図10は、実施形態にかかる記憶装置のロッキングテーブルの一例を示す模式図であって、(a)は、アクセス制限が無効な状態、(b)は、アクセス制限が有効な状態を示す図である。
【図11】図11は、実施形態にかかる記憶装置および電子機器のコマンドシーケンスの一例を示す模式図であって、(a)はホストリセット時、(b)はスタンバイ復帰時を示す図である。
【図12】図12は、第2実施形態にかかる記憶装置がリセットされた状態での記憶装置および電子機器の動作の一例を示すフローチャートである。
【図13】図13は、第3実施形態にかかる記憶装置がリセットされた状態での記憶装置および電子機器の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下に例示される非限定的な複数の実施形態には、同様の構成要素が含まれている。以下では、それら同様の構成要素には共通の符号が付与され、重複する説明が省略される。
【0009】
<第1実施形態>
ホストとして動作するパーソナルコンピュータ等の電子機器1は、図1に示すように、CPU(Central Processing Unit)11や、ROM(Read Only Memory)12、RAM(Random Access Memory)13、表示部15、操作入力部16、通信部17、磁気ディスク装置20等を備えている。
【0010】
CPU11は、ROM12や磁気ディスク装置20等に予めインストールされ記憶された各種プログラムを実行し、電子機器1を構成する各部の動作を制御する。
【0011】
ROM12は、不揮発性の記憶デバイスであって、電子機器1の制御にかかるプログラムや各種設定情報等を書き換え不可能に記憶する。RAM13は、揮発性の記憶デバイスであって、CPU11の作業領域等として機能し、各種の処理時において、スタックやバッファ等としての役割を果たす。
【0012】
表示部15は、例えば、LCD(Liquid Crystal Display)や有機EL(Electro- Luminescence)ディスプレイ等の表示デバイスとして構成される。表示部15は、CPU11からの信号に基づいて、各種情報を表示する。
【0013】
操作入力部16は、例えばキーボードや、タッチパネル等として構成される。操作入力部16は、オペレータ等の操作入力に基づく指示信号をCPU11に送る。
【0014】
通信部17は、図示しない通信ネットワークを介して外部装置との間で通信を行うインタフェースである。通信部17は、外部装置から受信した各種の情報をCPU11に送るとともに、CPU11から出力された各種の情報を外部装置へ送る。
【0015】
磁気ディスク装置20は、電子機器1の制御にかかるプログラムや各種データ等を、書き換え可能に記憶する。なお、電子機器1が備える記憶装置は、磁気ディスク装置(HDD : Hard Disk Drive)20には限定されず、例えば、SSD(Solid State Drive)や、半導体メモリ(例えばフラッシュメモリ)等であってもよい。
【0016】
図2に示すように、磁気ディスク装置20は、記憶部21や、ヘッド22、SPM(Spindle Motor、スピンドルモータ)23、VCM(Voice-Coil Motor、ボイスコイルモータ)24、サーボ制御部25、ヘッドIC(Integrated Circuit)26、リードチャネル27、暗号回路28、暗号回路制御部29、バッファメモリ31、ホストIF制御部33、フラッシュメモリ34、MPU(Micro Processing Unit)35等を、備えている。
【0017】
記憶部21は、データを磁気的に記録するディスク状の記録媒体である。ヘッド22は、記憶部21にデータを書き込むとともに、記憶部21に書き込まれているデータを読み出す。SPM23は、記憶部21を回転駆動する。VCM24は、図示しないマグネットや駆動コイル等を有し、ヘッド22を駆動する。サーボ制御部25は、SPM23およびVCM24を制御する。ヘッドIC26は、ヘッド22により記憶部21に書き込まれるデータの信号、ならびに記憶部21から読み出されたデータの信号を増幅する。リードチャネル27は、例えば、フィルタや、AGC、ADC、ビタビ復号器等を含む回路である。暗号回路28は、記憶部21に書き込まれるデータを、所定の暗号鍵を用いてAES等の所定の暗号化方式で暗号化する。また、暗号回路28は、記憶部21より読み出されたデータを所定の暗号鍵を用いて復号化する。暗号回路制御部29は、暗号回路28の動作を制御する。
【0018】
バッファメモリ31は、記憶部21に書き込まれるデータや記憶部21より読み出されたデータ等を一時的に記憶する。ホストIF制御部33は、ホストIF32を介した電子機器1と磁気ディスク装置20との間でのデータおよびコマンドの送信および受信を制御する。
【0019】
フラッシュメモリ34は、MPU35により実行されるプログラムや、磁気ディスク装置20の動作に係る各種の設定情報等を記憶する不揮発性メモリである。
【0020】
MPU35は、フラッシュメモリ34に記憶されたプログラムを実行することで、後述する機能部(例えば、アクセス制御部35a、アクセス制限部35b、第一のアクセス制限解除部35c、第二のアクセス制限解除部35d、マッピング実行部35e、第一のマッピング解除部35f、第二のマッピング解除部35g、第一の判断部35h、第二の判断部35i、ステータス保持部35j等、図3参照)として動作する。すなわち、プログラムには、アクセス制御部35a、アクセス制限部35b、第一のアクセス制限解除部35c、第二のアクセス制限解除部35d、マッピング実行部35e、第一のマッピング解除部35f、第二のマッピング解除部35g、第一の判断部35h、第二の判断部35i、ステータス保持部35j等として動作するモジュールが含まれている。上記各機能部の動作については後述する。
【0021】
図4に例示するように、記憶部21は、ユーザ領域とシステム領域とを有する。ユーザ領域は、図4に示すように、複数の領域(レンジ,Range)に区分することができる。図4の例では、ユーザ領域は、レンジ1、レンジ2、レンジ3、およびグローバルレンジ(Global Range)の四つのレンジに区分されている。グローバルレンジは、レンジ1〜3以外の領域である。
【0022】
本実施形態では、レンジ毎に、読み出し(Read)および書き込み(Write)の禁止および許可を設定することができる。この設定は、ロッキング(Locking)テーブル21bに記憶される。ロッキングテーブル21bは、システム領域のSP(Security Provider)領域21a内に格納されている。ロッキングテーブル21bでは、各レンジについて、開始アドレス(RangeStart)、長さ(RangeLength)、読み出し禁止可否フラグ(ReadLockEnabled)、書き込み禁止可否フラグ(WriteLockEnabled)、読み出し禁止ステータス(ReadLocked)、書き込み禁止ステータス(WriteEnabled)、リセット時制限フラグ(LockOnReset)の値が、格納されている。本実施形態では、SP領域21aが、ステータス記憶部に相当する。
【0023】
開始アドレスは、各レンジが始まるアドレス(LBA:Logical Block Addressing)を示す。また、長さは、各レンジの長さ(セクタ数)を示す。
【0024】
読み出し禁止可否フラグ(ReadLockEnabled)は、読み出し禁止の実行の可否(読み出し禁止にできるか否か)を示すフラグである。この値が「TRUE」(例えば「1」)の場合は、対応するレンジを読み出し禁止に設定することができ、この値が「FALSE」(例えば「0」)の場合は、対応するレンジを読み出し禁止に設定することができない。
【0025】
書き込み禁止可否フラグ(WriteLockEnabled)は、書き込み禁止の実行の可否(書き込み禁止にできるか否か)を示すフラグである。この値が「TRUE」(例えば「1」)の場合は、対応するレンジを書き込み禁止に設定することができ、この値が「FALSE」(例えば「0」)の場合は、対応するレンジを書き込み禁止に設定することができない。
【0026】
読み出し禁止ステータス(ReadLocked)は、読み出しの可否状態(読み出しできる状態か否か)を示すフラグである。この値が「TRUE」(例えば「1」)の場合は、対応するレンジについて、読み出しが禁止され、この値が「FALSE」(例えば「0」)の場合は、読み出しが許可される。ただし、読み出し禁止可否フラグ(ReadLockEnabled)が「FALSE」の場合、すなわち、読み出し禁止に設定できない場合には、読み出し禁止ステータス(ReadLocked)の値によらず、読み出しが許可される。すなわち、読み出し禁止可否フラグ(ReadLockEnabled)の値が「TRUE」であり、かつ、読み出し禁止ステータス(ReadLocked)の値が「TRUE」の場合に、対応するレンジが、読み出し禁止に設定される。それ以外の値の組み合わせでは、読み出し禁止に設定されない。
【0027】
書き込み禁止ステータス(WriteLocked)は、書き込みの可否状態(書き込みできる状態か否か)を示すフラグである。この値が「TRUE」(例えば「1」)の場合は、対応するレンジについて、書き込みが禁止され、この値が「FALSE」(例えば「0」)の場合は、書き込みが許可される。ただし、書き込み禁止可否フラグ(WriteLockEnabled)が「FALSE」の場合、すなわち、書き込み禁止に設定できない場合には、書き込み禁止ステータス(WriteLocked)の値によらず、書き込みが許可される。すなわち、書き込み禁止可否フラグ(WriteLockEnabled)の値が「TRUE」であり、かつ、書き込み禁止ステータス(WriteLocked)の値が「TRUE」の場合に、対応するレンジが、書き込み禁止に設定される。それ以外の値の組み合わせでは、書き込み禁止に設定されない。
【0028】
読み出し禁止ステータスおよび書き込み禁止ステータスは、アクセス制限部35b、第一のアクセス制限解除部35c、または第二のアクセス制限解除部35d(図3参照)が書き換える。アクセス制限部35bは、読み出し禁止ステータスおよび書き込み禁止ステータスの値を、「FALSE」から「TRUE」に書き換えることができる。また、第一のアクセス制限解除部35cあるいは第二のアクセス制限解除部35dは、読み出し禁止ステータスおよび書き込み禁止ステータスの値を、「TRUE」から「FALSE」に書き換えることができる。第一のアクセス制限解除部35cおよび第二のアクセス制限解除部35dは、動作する状況が異なるものの、ステータスの値を書き換える動作は同じである。
【0029】
リセット時制限フラグ(LockOnReset)は、記憶装置としての磁気ディスク装置20のリセット時(すなわち、電源遮断状態から電源投入状態へ遷移したとき)に、各レンジを読み出し禁止または書き込み禁止に設定するか否かを示すフラグである。アクセス制限部35bは、リセット時制限フラグの値が「Power Cycle」であるレンジについて、読み出し禁止ステータスおよび書き込み禁止ステータスの値を「FALSE」から「TRUE」に書き換える。なお、読み出し禁止ステータスおよび書き込み禁止ステータスの値が「TRUE」である場合は、「TRUE」のまま維持する。
【0030】
アクセス制御部35aは、読み出し禁止ステータスおよび書き込み禁止ステータスの値にしたがって動作する。すなわち、読み出し禁止可否フラグの値が「TRUE」であり、かつ、読み出し禁止ステータスの値が「TRUE」であるレンジについては、アクセス制御部35aは、そのレンジからはデータを読み出さない。また、アクセス制御部35aは、読み出し禁止可否フラグの値が「TRUE」であり、かつ、読み出し禁止ステータスの値が「TRUE」であるレンジ以外のレンジからは、データを読み出す。そして、書き込み禁止可否フラグの値が「TRUE」であり、かつ、書き込み禁止ステータスの値が「TRUE」であるレンジについては、アクセス制御部35aは、そのレンジにはデータを書き込まない。また、アクセス制御部35aは、書き込み禁止可否フラグの値が「TRUE」であり、かつ、書き込み禁止ステータスの値が「TRUE」であるレンジ以外のレンジには、データを書き込む。
【0031】
また、図5に例示するように、本実施形態では、記憶部21の所定領域に対するアクセスを別の領域に対するアクセスに変更するマッピングの一例として、MBR(Master Boot Record)シャドウイング(Shadowing)が実行される。MBRシャドウイングとは、ホストとしての電子機器1からのMBRシャドウイング領域(記憶部21のLBA:0〜X−1)21dに対するアクセスの、SP領域21a内でPBA(Pre-boot authentication)アプリが格納された領域(PBAアプリ領域21e、記憶部21のLBA:Y〜Y+X−1)に対するアクセスへの、マッピングである。
【0032】
PBAアプリは、電子機器1のリセット時(すなわち、電源遮断状態から電源投入状態へ遷移したとき)に、電子機器1のCPU11(BIOS(Basic Input Output System))上で動作するプログラムであって、アカウントIDとパスワードとに基づいて本人確認を行うためのものである。すなわち、PBAアプリにしたがって動作するCPU11は、まず、電子機器1の表示部15にアカウントIDとパスワードの入力を促す画像(図示せず)を表示させる。次いで、PBAアプリにしたがって動作するCPU11は、オペレータ(ユーザ)が操作入力部16を操作して入力したアカウントIDおよびパスワードに基づいて認証情報を作成し、磁気ディスク装置20に照会する。そして、PBAアプリにしたがって動作するCPU11は、入力されたアカウントIDおよびパスワードが正しいことが確認できた場合に、記憶装置としての磁気ディスク装置20に、許可コマンドを送信する。
【0033】
すなわち、本実施形態では、MBRシャドウイングによって、電子機器1のCPU11は、OSを起動する前に、PBAアプリによって、オペレータのログインあるいは操作の権限があるいか否かを確認する。そして、権限があることが確認された場合に、電子機器1のCPU11は、MBRシャドウイングを解除して、OSを記憶部21からロードして起動する。記憶装置としての磁気ディスク装置20は、PBAアプリの動作によって、ホストとしての電子機器1から許可コマンドを受信すると、MBRシャドウイングの解除とともに、上述したアクセス制限の解除を実行する。
【0034】
図5に示すように、システム領域のSP領域21a内には、MBRコントロール(Control)テーブル21cが格納されている。MBRコントロールテーブル21cでは、MBRシャドウイングの実行可否フラグ(Enabled)、実行ステータス(Done)、およびリセット時実行フラグ(DoneOnReset)の値が、格納されている。
【0035】
MBRシャドウイングの実行可否フラグ(Enabled)は、MBRシャドウイングの実行の可否(MBRシャドウイングを実行できるか否か)を示すフラグである。この値が「TRUE」(例えば「1」)の場合は、MBRシャドウイングを実行(設定)することができ、この値が「FALSE」(例えば「0」)の場合は、MBRシャドウイングを実行(設定)することができない。
【0036】
実行ステータス(Done)は、MBRシャドウイング(マッピング)が実行中(有効)であるか否かの状態を示すフラグである。この値が「TRUE」(例えば「1」)の場合は、MBRシャドウイングが終了した状態、すなわち、MBRシャドウイングが解除された(無効な)状態であり、この値が「FALSE」(例えば「0」)の場合は、MBRシャドウイングが終了していない状態、すなわち、MBRシャドウイングが実行できる(有効な)状態である。
【0037】
実行ステータスは、マッピング実行部35e、第一のマッピング解除部35f、または第二のマッピング解除部35gが書き換える。マッピング実行部35eは、実行ステータスの値を、「TRUE」から「FALSE」に書き換えることができる。また、第一のマッピング解除部35fあるいは第二のマッピング解除部35gは、実行ステータスの値を、「FALSE」から「TRUE」に書き換えることができる。第一のマッピング解除部35fおよび第二のマッピング解除部35gは、動作する状況が異なるものの、ステータスの値を書き換える動作は同じである。
【0038】
リセット時実行フラグ(DoneOnReset)は、記憶装置としての磁気ディスク装置20のリセット時(すなわち、電源遮断状態から電源投入状態へ遷移したとき)に、MBRシャドウイングを実行するか否かを示すフラグである。マッピング実行部35eは、リセット時実行フラグの値が「Power Cycle」である場合、実行ステータスの値を「TRUE」から「FALSE」に書き換える。なお、実行ステータスの値が「FALSE」である場合は、「FALSE」のまま維持する。
【0039】
アクセス制御部35aは、実行ステータスの値にしたがって動作する。すなわち、実行可否フラグの値が「TRUE」であり、かつ、実行ステータスの値が「FALSE」である場合、アクセス制御部35aは、上述したMBRシャドウイング(マッピング)を実行する。また、アクセス制御部35aは、実行可否フラグの値が「TRUE」であり、かつ、実行ステータスの値が「FALSE」である場合以外の場合には、MBRシャドウイング(マッピング)を実行しない。
【0040】
次に、図6〜10を参照して、本実施形態にかかる記憶装置としての磁気ディスク装置20のリセット時(すなわち、電源遮断状態から電源投入状態へ遷移したとき)における、磁気ディスク装置20および電子機器1の動作について説明する。
【0041】
まず、磁気ディスク装置20のMPU35は、パワーオン(Power On)処理を実行する(ステップS1)。パワーオン処理では、図7に示すように、MPU35は、まず、ステータス保持部35j(図3参照)として動作し、記憶部21のSP領域21aのロッキングテーブル21bを参照して(ステップS11)、各レンジのステータスとしての読み出し禁止ステータスおよび書き込み禁止ステータスの値を示すデータを、フラッシュメモリ34等の記憶部に記憶する(ステップS12)。ステップS12では、図8に例示するように、各レンジの読み出し禁止ステータスおよび書き込み禁止ステータスの値が格納される。図8の例では、読み出し禁止ステータスの値が「TRUE」の場合、図8に示す値の左側の桁の値が「1」であり、「FALSE」の場合、図8に示す値の左側の桁の値が「0」である。また、書き込み禁止ステータスの値が「TRUE」の場合、図8に示す値の右側の桁の値が「1」であり、「FALSE」の場合、図8に示す値の右側の桁の値が「0」である。なお、このステップS12では、全てのレンジについてのステータスを記憶する必要はなく、少なくとも、読み出し禁止可否フラグまたは書き込み禁止可否フラグが「TRUE」であるレンジについてのステータスを記憶すればよい。本実施形態では、フラッシュメモリ34が、第二のステータス記憶部に相当する。また、図8は、あくまで一例であって、他の値として記憶することも可能である。
【0042】
次に、MPU35は、マッピング実行部35e(図3参照)として動作し、MBRコントロールテーブル21cのリセット時実行フラグ(DoneOnReset)が「Power Cycle」であった場合に、実行ステータス(Done)の値を「FALSE」にする(ステップS13)。このステップS13によって、実行可否フラグ(Enabled)が「TRUE」である場合には、MBRシャドウイングが有効となる(設定される)。このステップS13により、MBRコントロールテーブル21cは、例えば、図9の(a)に示す状態から、図9の(b)に示す状態に変化する。図9の(a)は、MBRシャドウイングが解除されている(無効な)状態、図9の(b)は、MBRシャドウイングが設定されている(有効な)状態を示している。
【0043】
次に、MPU35は、アクセス制限部35b(図3参照)として動作し、ロッキングテーブル21bのリセット時制限フラグ(LockOnReset)が「Power Cycle」であり、かつ、読み出し禁止可否フラグ(ReadLockEnabled)の値が「TRUE」であるレンジの、読み出し禁止ステータス(ReadLocked)の値を、「TRUE」にするとともに、リセット時制限フラグ(LockOnReset)が「Power Cycle」であり、かつ、書き込み禁止可否フラグ(WriteLockEnabled)の値が「TRUE」であるレンジの、書き込み禁止ステータス(WriteLocked)の値を、「TRUE」にする(ステップS14)。このステップS14によって、読み出し禁止が設定可能なレンジに読み出し禁止が実行(設定)されるとともに、書き込み禁止が設定可能なレンジに書き込み禁止が実行(設定)される。このステップS14により、ロッキングテーブル21bは、例えば、図10の(a)に示す状態から、図10の(b)に示す状態に変化する。図10の(a)は、アクセス制限が解除されている(無効な)状態、図10の(b)は、アクセス制限が実行されている(有効な)状態を示している。
【0044】
すなわち、本実施形態では、ステップS1(ステップS11〜S14)のパワーオン処理で、記憶装置としての磁気ディスク装置20のリセット時に、MBRシャドウイングによってPBAアプリが起動されて本人確認(権限確認)の作業が求められる状態になるとともに、記憶部21の所定領域に対するアクセス制限が実行される状態になる。したがって、磁気ディスク装置20の記憶部21に記憶されたデータのセキュリティをより強化することができる。
【0045】
しかし、記憶装置としての磁気ディスク装置20のリセットには、ホストとしての電子機器1の電源が投入された場合のリセット(以降、ホストリセットと記す)と、電子機器1の電源が投入された状態で維持されつつ記憶装置としての磁気ディスク装置20の電源が遮断されたスタンバイ状態から磁気ディスク装置20の電源が投入される(復帰する)際のリセット(以降、スタンバイ復帰と記す)と、がある。電子機器1のCPU11は、ホストリセット時には、OSのロード等のため、LBA=0のアドレスにアクセスするが、スタンバイ復帰時には、OSのロード等は不要であるため、LBA=0以外のアドレスにアクセスする。ここで、記憶装置としての磁気ディスク装置20が、ホストリセット時とスタンバイ復帰時とで同じ動作を行うと、所望の動作が得られなくなる虞がある。具体的には、例えば、磁気ディスク装置20のMPU35が、スタンバイ復帰時においても、ホストリセット時と同様にMBRシャドウイングを実行すると、ホストとしての電子機器1に要求されたデータを返すことができず、電子機器1や磁気ディスク装置20等の動作に支障を来す虞がある。
【0046】
この点、本実施形態では、後述するステップS3の結果に応じて記憶装置としての磁気ディスク装置20の動作を異ならせることにより、上述したような不都合な事態が生じるのを抑制しやすくなる。
【0047】
すなわち、図6に戻り、MPU35は、ホストとしての電子機器1からRead(読み出し)コマンドまたはWrite(書き込み)コマンドを受信すると(ステップS2)、MPU35は、第一の判断部35h(図3参照)として動作し、受信したReadコマンドまたはWriteコマンドのアクセス先のアドレス(LBA)が「0」であるか否かを判断する(ステップS3)。
【0048】
ステップS3でホストとしての電子機器1から受信したコマンドが、LBA=0のReadコマンドまたはWriteコマンドである場合は、ホストリセットの状態であると考えることができる。そこで、本実施形態では、第一の判断部35hが、ホストとしての電子機器1から受信したコマンドが、LBA=0のReadコマンドまたはWriteコマンドであると判断した場合(ステップS3でYes)、ホストとしての電子機器1のCPU11は、MPU35のMBRシャドウイング(マッピング)によってPBAアプリを読み込み、PBAアプリを実行する(ステップS6)。次いで、PBAアプリにしたがって動作するCPU11は、入力されたアカウントIDについて入力されたパスワードと記憶部21に格納されたパスワードとが照合された結果(ステップS7)、入力されたパスワードが正しいパスワードでなかった場合(ステップS7でNo)、例えば、表示部15にアカウントIDおよびパスワードの再入力を促す画像を表示したり、あるいは電子機器1の電源を遮断したりする。
【0049】
一方、ホストとしての電子機器1のCPU11は、入力されたパスワードが正しいパスワードであることが確認されると(ステップS7でYes)、記憶装置としての磁気ディスク装置20に向けて、アクセス制限を解除する許可コマンド(TrustedSendコマンドおよびTrustedRecvコマンド(TrustedSend/Recvコマンド))を送信する。第二の判断部35i(図3参照)として動作するMPU35は、受信したコマンドが所定の許可コマンド(TrustedSend/Recvコマンド)であると判断すると、すなわち、所定の許可コマンドを受信すると(ステップS8)、MPU35は、第一のマッピング解除部35f(図3参照)として動作し、MBRコントロールテーブル21cの実行ステータス(Done)の値を「TRUE」にする。これにより、MBRシャドウイングが解除される(ステップS4)。このステップS4で、MBRコントロールテーブル21cは、図9の(b)に示す状態から、図9の(a)に示す状態に変化する。
【0050】
そして、ステップS8で許可コマンドを受信したMPU35は、第一のアクセス制限解除部35c(図3参照)として動作し、ステータス記憶部としての例えばフラッシュメモリ34に記憶した、図8に例示したような各レンジの読み出し禁止ステータスおよび書き込み禁止ステータスの値を参照して、アクセス制限について、ステップS12以前の状態に戻す。これにより、アクセス制限が解除される(ステップS5)。このステップS5で、ロッキングテーブル21bは、図10の(b)に示す状態から、図10の(a)に示す状態に変化する。本実施形態では、許可コマンドとしてのTrustedSend/Recvコマンドが、第一のコマンドに相当する。
【0051】
一方、ステップS2でホストとしての電子機器1から受信したReadコマンドまたはWriteコマンドのアクセス先(LBA)が0でない場合は、スタンバイ復帰の状態であると考えることができる。そこで、本実施形態では、第一の判断部35hが、ホストとしての電子機器1から受信したReadコマンドまたはWriteコマンドのアクセス先(LBA)が0でないと判断した場合(ステップS3でNo)、MPU35は、第二のマッピング解除部35g(図3参照)として動作し、MBRコントロールテーブル21cの実行ステータス(Done)の値を「TRUE」にする。これにより、MBRシャドウイングが解除される(ステップS4)。このステップS4により、MBRコントロールテーブル21cは、図9の(b)に示す状態から、図9の(a)に示す状態に変化する。
【0052】
また、ステップS3でNoの場合、MPU35は、第二のアクセス制限解除部35d(図3参照)として動作し、ステータス記憶部としての例えばフラッシュメモリ34に記憶した、図8に例示したような各レンジの読み出し禁止ステータスおよび書き込み禁止ステータスの値を参照して、アクセス制限について、ステップS12以前の状態に戻す。これにより、アクセス制限が解除される(ステップS5)。このステップS5により、ロッキングテーブル21bは、図10の(b)に示す状態から、図10の(a)に示す状態に変化する。本実施形態では、LBA=0ではないReadコマンドまたはWriteコマンドが、第二のコマンドに相当する。
【0053】
<第2実施形態>
図11の(a)は、ホストリセット時のコマンドシーケンスの一例を示し、図11の(b)は、スタンバイ復帰時のコマンドシーケンスの一例を示す。
【0054】
図12は、本実施形態にかかる記憶装置としての磁気ディスク装置20のリセット時(すなわち、電源遮断状態から電源投入状態へ遷移したとき)における、磁気ディスク装置20および電子機器1の動作を示すフローチャートである。第1実施形態との相違点は、ステップS2の後でありかつステップS3の前に、ステップS21が追加されている点である。ステップS21が実行される点以外、ホストとしての電子機器1および記憶装置としての磁気ディスク装置20は、上記第1実施形態と同様の構成であり、同様に動作する。
【0055】
本実施形態では、ステップS2の後に、MPU35が、第三の判断部として動作し、ステップS2でReadコマンドまたはWriteコマンドを受信した際、その前に、Security Unlockコマンドを受信したか否かを確認する(ステップS21)。図11の(a)および(b)に示されるように、ホストリセット時およびスタンバイ復帰時の双方とも、MPU35は、ReadコマンドまたはWriteコマンドの前に、Security Unlockコマンドを受信する。すなわち、本実施形態では、ステップS21を追加することで、MPU35は、ホストリセット時またはスタンバイ復帰時であるか、あるいは他の状態であるかを、識別することができる。これにより、MPU35の不本意な誤動作等を抑制して、セキュリティをより強化することができる。なお、MPU35は、コマンドシーケンスの少なくともSecurity Unlockコマンドが受信したこと示すデータ(例えばフラグ等)を、所定の記憶部に記憶する。
【0056】
<第3実施形態>
図13は、本実施形態にかかる記憶装置としての磁気ディスク装置20のリセット時(すなわち、電源遮断状態から電源投入状態へ遷移したとき)における、磁気ディスク装置20および電子機器1の動作を示すフローチャートである。第1実施形態との相違点は、ステップS3がステップS31に替わっている点である。ステップS3に替えてステップS31が実行される点以外、ホストとしての電子機器1および記憶装置としての磁気ディスク装置20は、上記第1実施形態と同様の構成であり、同様に動作する。なお、本実施形態でも、図11に例示されるコマンドシーケンスが実行される。
【0057】
本実施形態では、ステップS2の後に、MPU35は、第1実施形態とは異なる第一の判断部として動作し、ReadコマンドまたはWriteコマンドの前に、Identify Deviceコマンド(図11参照)を受信したか否かを確認する(ステップS31)。Identify Deviceコマンドは、ホストリセット時に、ホストとしての電子機器1が、記憶装置としての磁気ディスク装置20に対して、識別情報(ID等)や属性等の送信(応答)を指示するコマンドであって、スタンバイ状態ではMPU35は受信しない(ホストとしての電子機器1が送信しない)コマンドである。図11の(a)に示されるように、ホストリセット時には、ステップS2で受信したReadコマンドまたはWriteコマンドの前に、Identify Deviceコマンドを受信するが、図11の(b)に示されるように、スタンバイ復帰時には、Identify Deviceコマンドを受信しない。したがって、本実施形態では、ステップS31でIdentify Deviceコマンドを受信した場合には(ステップS31でYes)、スタンバイ復帰時に相当するため、ステップS4を実行し、ステップS31でIdentify Deviceコマンドを受信しなかった場合には(ステップS31でNo)、ホストリセット時に相当するため、ステップS6を実行することで、上記第1実施形態と同様の結果を得ることができる。本実施形態では、ReadコマンドまたはWriteコマンドおよびIdentify Deviceコマンドが、第二のコマンドに相当する。なお、本実施形態では、ステップS2で受信するReadコマンドまたはWriteコマンドは、ステップS31を実行するトリガとしての役割を有している。
【0058】
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態には限定されず、種々の変形が可能である。例えば、上記複数の実施形態の構成要素やステップを適宜に組み合わせて実施することが可能である。また、マッピングは、別のアドレスに対するマッピングであってもよいし、マッピングが実行されないシステムとして実施することもできる。また、各状態を区別できる上述した以外のコマンドを利用して、本発明を実施することもできる。また、電子機器に外付けされた記憶装置として、本発明を実施することもできる。
【0059】
本発明の実施形態によれば、記憶装置に対するアクセス制限に伴う不都合がより生じにくい記憶装置、電子機器、および記憶装置のアクセス制御方法を得ることができる。
【符号の説明】
【0060】
1…電子機器、20…磁気ディスク装置(記憶装置)、21…記憶部、21a…SP領域(ステータス記憶部)、21b…ロッキングテーブル(ステータス記憶部)、21d…MBRシャドウイング領域(所定領域)、21e…PBAアプリ領域(別の領域)、34…フラッシュメモリ(第二のステータス記憶部)、35a…アクセス制御部、35b…アクセス制限部、35c…第一のアクセス制限解除部、35d…第二のアクセス制限解除部、35e…マッピング実行部、35f…第一のマッピング解除部、35g…第二のマッピング解除部、35j…ステータス保持部。

【特許請求の範囲】
【請求項1】
ホストに電気的に接続された記憶装置であって、
データを記憶する記憶部と、
前記記憶装置の電源が投入された後の前記記憶部に対する前記ホストからのアクセスを制限するアクセス制限部と、
前記ホストからのアクセス制限の解除を指示する第一のコマンドに基づいて、前記記憶部に対する前記ホストからのアクセス制限を解除する第一のアクセス制限解除部と、
前記ホストから送信されるアクセス制限の解除とは異なる動作を指示する第二のコマンドに基づいて、前記記憶部に対する前記ホストからのアクセス制限を解除する第二のアクセス制限解除部と、
を備えたことを特徴とする記憶装置。
【請求項2】
前記第二のアクセス制限解除部は、前記第二のコマンドとして、前記ホストの電源が投入された状態が維持されつつ前記記憶装置の電源が遮断されたスタンバイ状態から前記記憶装置の電源が投入された際に前記ホストから送信される所定のコマンドを受信した場合に、前記記憶部に対する前記ホストからのアクセス制限を解除することを特徴とする請求項1に記載の記憶装置。
【請求項3】
前記第二のアクセス制限解除部は、前記第二のコマンドとして、アクセス先が所定のアドレスであるコマンドを受信した場合に、前記記憶部に対する前記ホストからのアクセス制限を解除することを特徴とする請求項1または2に記載の記憶装置。
【請求項4】
前記ホストの電源が投入された際に、前記記憶部の所定領域に対する前記ホストからのアクセスを前記記憶部の別の領域に対するアクセスに変更するマッピング部と、
前記第一のコマンドに基づいて前記マッピング部によるマッピングを解除する第一のマッピング解除部と、
前記第二のコマンドに基づいて前記マッピング部によるマッピングを解除する第二のマッピング解除部と、
をさらに備えたことを特徴とする請求項1〜3のうちいずれか一つに記載の記憶装置。
【請求項5】
前記記憶部に対するアクセスの許可または禁止のステータスを示すデータを記憶したステータス記憶部と、
前記ステータス記憶部に記憶されたステータスを示すデータに基づいて、前記ホストからの前記記憶部に対するアクセスを制御するアクセス制御部と、
をさらに備え、
前記アクセス制限部、前記第一のアクセス制限解除部、および前記第二のアクセス制限解除部は、前記ステータス記憶部の前記ステータスを示すデータを書き換えることを特徴とする請求項1〜4のうちいずれか一つに記載の記憶装置。
【請求項6】
前記記憶装置の電源が投入された際に、前記ステータスを示すデータを第二のステータス記憶部に保持させるステータス保持部を備え、
前記アクセス制限部は、前記記憶装置の電源が投入された際に、前記ステータス保持部が前記ステータスを示すデータを前記第二のステータス記憶部に保持させた後に、前記ステータス記憶部の前記ステータスを示すデータを書き換えることを特徴とする請求項5に記載の記憶装置。
【請求項7】
筐体内に、請求項1〜6のうちいずれか一つに記載の記憶装置が収容され、前記ホストとして機能することを特徴とする電子機器。
【請求項8】
ホストに電気的に接続されて記憶部を備えた記憶装置のアクセス制御方法であって、
前記記憶装置が、当該記憶装置の電源が投入された後の前記記憶部に対する前記ホストからのアクセスを制限するアクセス制限ステップと、
前記記憶装置が、前記ホストが送信するアクセス制限の解除とは異なる動作を指示する所定のコマンドに基づいて、前記ホストからのアクセス制限を解除するアクセス制限解除ステップと、
を備えたことを特徴とする記憶装置のアクセス制御方法。

【図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

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2012−113656(P2012−113656A)
【公開日】平成24年6月14日(2012.6.14)
【国際特許分類】
【出願番号】特願2010−264317(P2010−264317)
【出願日】平成22年11月26日(2010.11.26)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】