(57)【要約】【課題】記憶要素に、データのセキュリティを行う起動前認証アプリケーションを格納したデータ記憶装置において、認証アプリケーションを更新中に、破壊されても、起動前認証を可能とする。【解決手段】制御部（１１）が、起動時に、データ記憶装置(１０)に対してホスト（１）が発行するコマンドシークエンスから、データ記憶装置(１０)が、タイムアウト監視を行う接続形態か、タイムアウト監視を行わない接続形態を判定する。外付け接続である場合は、起動時に、冗長化された起動前認証アプリケーション(５４−０，５４−１)の同期処理を行い、内蔵接続である場合は、起動時に同期処理を行わず、起動後に最初に発行されるリード／ライト命令の際に、リード／ライト実行前に、同期処理を行う。起動前認証アプリケーションを多重化し、且つ更新しても、ホストのタイムアウトを防止して、同期処理できる。【選択図】図９
2010176389.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーデータを格納するためのユーザーデータ格納領域と、前記ユーザーデータへのアクセスを認証するための起動前認証アプリケーションを格納する領域とを有する記憶要素と、
ホストに接続され、前記起動前認証アプリケーションによる認証が成功した場合に、前記ユーザーデータ領域へのリード／ライトアクセスを実行する制御部とを有し、
前記記憶要素に、前記起動前認証アプリケーションを多重化して格納し、且つ
前記制御部は、起動時にホストから発行されるコマンドシークエンスによって、前記ホストと、前記ホストがタイムアウト監視を行う形態で接続されているか、前記ホストがタイムアウト監視を行わない形態で接続されているかを判定し、前記タイムアウト監視を行わない形態で接続されていると判定した場合、多重化された前記起動前認証アプリケーションのミラーリング同期処理を、起動時に実行する
ことを特徴とするデータ記憶装置。
【請求項２】
前記制御部は、前記タイムアウト監視を行う形態で接続されていると判定した場合、起動後、最初に前記ホストから発行される前記起動前認証アプリケーションのリード／ライト命令を受けた時に、多重化された前記起動前認証アプリケーションのミラーリング同期処理を、実行する
ことを特徴とする請求項１のデータ記憶装置。
【請求項３】
前記制御部は、前記最初に前記ホストから発行される前記起動前認証アプリケーションのリード／ライト命令を受けた時に、前記多重化された前記起動前認証アプリケーションのミラーリング同期処理を、前記リード／ライト命令の実行前に、実行する
ことを特徴とする請求項２のデータ記憶装置。
【請求項４】
前記記憶要素は、前記起動前認証アプリケーションを格納する領域を、複数の領域に分割した各々の更新状況を格納する領域フラグを格納し、
前記制御部は、前記領域フラグを元に、更新のある前記分割された領域について、前記多重化された前記起動前認証アプリケーションのミラーリング同期処理を、実行する
ことを特徴とする請求項１のデータ記憶装置。
【請求項５】
前記制御部は、前記タイムアウト監視を行う形態で接続されていると判定した場合、起動後、前記ホストからのコマンドを受領していない時に、前記多重化された前記起動前認証アプリケーションのミラーリング同期処理を、実行する
ことを特徴とする請求項２のデータ記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶媒体のデータのセキュリティ機能を備えたデータ記憶装置に関する。
【背景技術】
【０００２】
近年の情報処理技術の発展により、業務上の様々なユーザーデータが、データ記憶装置に記憶されている。データ記憶装置内のユーザーデータの重要性に鑑み、秘密情報の保護や、情報漏洩の回避という観点から、近年、セキュリティ機能を有するデータ記憶装置の要求が高まっている。
【０００３】
データ記憶装置のセキュリティ機能としては、例えば、起動前認証（ＰＢＡ：Pre Boot Authentication Application）が、提案されている（例えば、特許文献１参照）。
【０００４】
ＯＳ起動前のＰＢＡ機能付きデータ記憶装置では、ＯＳ（Operating System）起動前に、データ記憶装置内に格納されているＰＢＡアプリケーションが起動し、パスワード等により、ユーザー認証を行う。認証に成功すると、マスター・ブート・レコーダ（ＭＢＲ）がブート動作を行い、ＯＳ（Operating System）が起動する。これにより、コンピュータは、ＯＳの制御の元に、アプリケーションを実行して、データ記憶装置のユーザーデータのアクセスが可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２６８８６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
データ記憶装置に格納されているＰＢＡアプリケーションは、バックアップ時やセキュリティパッチ適用時などに更新される。この更新中に電源遮断等が生じると、ＰＢＡアプリケーションが壊れる可能性がある。ＰＢＡアプリケーションが、データ記憶装置内に、１つしかない状態で破壊されると、ＣＤ等のリカバリディスク等により、ＰＢＡアプリケーションを復旧しなければ、ＰＢＡアプリケーションやＯＳを起動することができなくなる。
【０００７】
前記問題を解決するためには、ＰＢＡアプリケーションをデータ記憶装置内で多重化し、破壊後最初の電源起動時にデータ記憶装置内で同期処理を行うことが考えられる。この場合、通常、ＰＣ（パーソナルコンピュータ）のＢＩＯＳは、起動時にデータ記憶装置の認識処理を行う。
【０００８】
このデータ記憶装置内での同期処理に時間がかかる場合は、認識処理でタイムアウトが発生し、データ記憶装置を認識できない場合がある。
【０００９】
従って、本発明の目的は、ＢＩＯＳによるデータ記憶装置の認識処理でのタイムアウト検出を回避して、起動前認証アプリケーションの同期処理を実行するためのデータ記憶装置を提供することにある。
【課題を解決するための手段】
【００１０】
この目的の達成のため、データ記憶装置は、ユーザーデータを格納するためのユーザーデータ格納領域と、前記ユーザーデータへのアクセスを認証するための起動前認証アプリケーションを格納する領域とを有する記憶要素と、ホストに接続され、前記起動前認証アプリケーションによる認証が成功した場合に、前記ユーザーデータ領域へのリード／ライトアクセスを実行する制御部とを有し、前記記憶要素に、前記起動前認証アプリケーションを多重化して格納し、且つ前記制御部は、起動時にホストから発行されるコマンドシークエンスによって、前記ホストと、前記ホストのタイムアウト監視がある形態で接続されているか、前記ホストのタイムアウト監視がない形態で接続されているかを判定し、前記タイムアウト監視がある形態で接続されていると判定した場合、起動後に最初に発行される起動前認証アプリケーションに対するリード又はライト命令を受けた時、リード又はライト命令の実行前に、同期処理を実行し、前記タイムアウト監視がない形態で接続されていると判定した場合、多重化された前記起動前認証アプリケーションのミラーリング同期処理を、起動時に実行する。
【発明の効果】
【００１１】
起動時に、データ記憶装置に対してホストが発行するコマンドシークエンスから、データ記憶装置の接続形態が、タイムアウト監視のある接続形態か、タイムアウト監視のない接続形態であるかを判定し、外付け接続である場合は、起動時に、冗長化された起動前認証アプリケーションの同期処理を行い、内蔵接続である場合は、起動時に同期処理を行わず、起動後に最初に発行される起動前認証アプリケーションのリード／ライト命令の際に、リード／ライト実行前に、同期処理を行うため、起動前認証アプリケーションを多重化し、且つ更新しても、ホストのタイムアウトを防止して、同期処理できる。
【図面の簡単な説明】
【００１２】
【図１】本発明のデータ記憶装置の一実施の形態の構成図である。
【図２】本発明のデータ記憶装置を、内蔵したシステム構成図である。
【図３】本発明のデータ記憶装置を、外付けしたシステム構成図である。
【図４】本発明の一実施の形態の起動前認証アプリケーションの多重化の説明図である。
【図５】図４の多重化した起動前認証アプリケーションの同期処理のためのフラグの説明図である。
【図６】本発明の一実施の形態の起動前認証アプリケーションの更新処理フロー図である。
【図７】本発明の一実施の形態の起動前認証アプリケーションの更新確定処理フロー図である。
【図８】本発明の一実施の形態の起動前認証アプリケーションの更新取り消し処理フロー図である。
【図９】本発明の一実施の形態の起動時の同期処理の判定処理フロー図である。
【図１０】図９の起動時の同期処理フロー図である。
【図１１】図９の起動時のバックグラウンドにおける同期処理フロー図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を、セキュリティ機能を有するデータ記憶装置、起動前認証アプリケーション、起動前認証アプリケーションの電源オン時の同期処理、他の実施の形態の順で説明する。
【００１４】
（セキュリティ機能を有するデータ記憶装置）
図１は、本発明のデータ記憶装置の一実施の形態の構成図、図２は、図１のデータ記憶装置を内蔵型に使用したシステム構成図、図３は、図１のデータ記憶装置を外付けで使用したシステム構成図である。図１は、データ記憶装置として、磁気ディスクにデータをリード／ライトする磁気ディスク装置（以下、ＨＤＤという）を例に示す。
【００１５】
図１に示すように、磁気ディスク装置１０は、パーソナルコンピュータ等のホストとＳＡＴＡ（Ｓｅｒｉａｌ  ＡＴ  Ａｔｔａｃｈｍｅｎｔ）やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格等のインターフェイスで接続される。磁気ディスク装置１０は、ディスクエンクロージャと、制御ボードとを有する。
【００１６】
ディスクエンクロージャには、磁気ディスク１９と、磁気ディスク１９を回転するスピンドルモータ２０と、磁気ディスク１９にデータをリード／ライトする磁気ヘッド２５と、磁気ヘッド２５を磁気ディスク１９の半径方向（トラック横断方向）に移動するアクチュエータ（ＶＣＭ）２２と、ヘッドＩＣ１８とを備える。
【００１７】
制御ボードは、ＨＤＣ（Hard  Disk  Controller）２６を有する。ＨＤＣ２６は、ホストとのインターフェイス制御を行うホストインターフェイス制御回路１２と、データバッファ１４を制御するデータバッファ制御回路１５と、リード／ライト制御を行うとともに、記録データのフォーマット変換し、リードデータの逆フォーマット変換を行うフォーマット回路１６とを有する。このフォーマット回路１６に、データの暗号化及び復号化を行う暗号回路２９を設ける。
【００１８】
又、制御ボードは、リードチャネル回路２４と、ＭＰＵ１１と、メモリ（揮発性メモリ（ＲＡＭ）と、不揮発性メモリ）１３と、スピンドルモータ２０を駆動制御するＳＰＭドライバ２１と、ＶＣＭ２２を駆動制御するＶＣＭ駆動制御２３と、これらを接続するバス１７とを備える。
【００１９】
ホストインターフェイス制御回路１２と、データバッファ制御回路１５と、フォーマット回路１６と、ヘッドＩＣ１８とは、データバスで接続されている。又、リードチャネル回路２４は、ヘッドＩＣ１８と接続される。
【００２０】
リードチャネル回路２４は、リードデータの復調を行うとともに、リードゲート、ライトゲート、リードクロック、ライトクロックの生成を行う。データバッファ１４は、キャッシュメモリの役目を果たし、ホストからのライトデータを保存し、磁気ディスク１９からのリードデータを保存する。そして、ライトバック時には、データバッファ１４のライトデータを、磁気ディスクにライトし、リード時には、データバッファ１４のリードデータを、ホストへ転送する。
【００２１】
ヘッドＩＣ１８は、ライト時は、ライトデータに従い、磁気ヘッド２５に記録電流を流し、リード時は、磁気ヘッド２５からの読取信号を増幅して、リードチャネル回路２４に出力する。ＭＰＵ（Micro  Processor）１１は、磁気ヘッド２５の位置検出及び位置制御、ホストからのコマンド解析、アクセス処理や、リトライ制御を行う。
【００２２】
メモリ（ＲＡＭとＲＯＭ）１３は、ＭＰＵ１１の処理に必要なデータを格納する。ここでは、図５で説明する同期処理用フラグテーブル１３−１も格納する。又、メモリ（ＲＯＭ）１３は、ＭＰＵ１１の処理に必要なプログラムやパラメータを格納する。
【００２３】
ＭＰＵ１１は、磁気ヘッド２５が読み取った磁気ディスク１９のサーボ信号を、ヘッドＩＣ１８、リードチャネル回路２４から受け、ヘッドの位置を検出し、ＶＣＭ駆動制御部２３を介し、ＶＣＭ２２をシーク、オントラック制御する。
【００２４】
図２は、パーソナルコンピュータ等のデータ処理装置に、データ記憶装置が内蔵された場合のシステム構成図である。パーソナルコンピュータのホスト１は、ＣＰＵ２、メモリコントローラ３、ＲＯＭ（リードオンリーメモリ）４、ＲＡＭ（ランダムアクセスメモリ）６、ＩＯコントローラ７を有する。これらは、内部バス８で接続される。
【００２５】
又、ＲＯＭ４には、ＢＩＯＳ（Basic Input/Output System）５が格納されており、ＩＯコントローラ７には、２つのインターフェイス回路９−１，９−２が接続されている。ここでは、ＳＡＴＡインターフェイス回路９−１に、内蔵型磁気ディスク装置１０が接続される。又、他のインターフェイス回路９−２は、ＵＳＢインターフェイス回路であり、パーソナルコンピュータの外部の機器に接続される。
【００２６】
一方、内蔵型の磁気ディスク装置（以下、ＨＤＤと称す）１０には、磁気ディスク１９のユーザー領域５２に、ＭＢＲ（マスターブートレコーダ）４０と、ユーザーデータ４２と、パーソナルコンピュータのＯＳ４４とが格納されている。これらは、暗号化されている。又、磁気ディスク１９のシステム領域５０には、セキュリティアプリケーションとして、起動前認証アプリケーション（以下、ＰＢＡ：Pre Boot Authentication Applicationという）５４が、格納されている。
【００２７】
図３は、パーソナルコンピュータ等のデータ処理装置に、データ記憶装置が外付けされた場合のシステム構成図である。図３において、図２と同様に、パーソナルコンピュータのホスト１は、ＣＰＵ２、メモリコントローラ３、ＲＯＭ（リードオンリーメモリ）４、ＲＡＭ（ランダムアクセスメモリ）６、ＩＯコントローラ７を有する。これらは、内部バス８で接続される。
【００２８】
又、ＲＯＭ４には、ＢＩＯＳ（Basic Input/Output System）５が格納されており、ＩＯコントローラ７には、２つのインターフェイス回路９−１，９−２が接続されている。ここでは、ＳＡＴＡインターフェイス回路９−１に、内蔵型ＨＤＤ１０が接続される。又、他のインターフェイス回路９−２は、ＵＳＢインターフェイス回路であり、パーソナルコンピュータの外部のＨＤＤ１０−１に接続される。
【００２９】
この内蔵型の磁気ディスク装置（以下、ＨＤＤと称す）１０は、ＯＳ４４を格納したシステムデイスクを構成し、磁気ディスク１９のユーザー領域５２に、ＭＢＲ（マスターブートレコーダ）４０と、ユーザーデータ４２と、パーソナルコンピュータのＯＳ４４とが格納されている。これらは、暗号化されている。尚、図３の内蔵型データ記憶装置１０でも、ＰＢＡアプリケーションを格納しても良い。
【００３０】
又、外付けされたＨＤＤ１０−１の磁気ディスク１９のユーザー領域５２には、ユーザーデータ５６が暗号化されて格納される。そして、ＨＤＤ１０−１の磁気ディスク１９のシステム領域５０には、セキュリティアプリケーションとして、起動前認証アプリケーション（以下、ＰＢＡという）５４が、格納されている。この外付け接続されたＨＤＤ１０−１に格納されるＰＢＡアプリケーション５４は、ＯＳやＯＳ上で動作するアプリケーションから呼ばれる。ＰＢＡアプリケーション５４による認証が通ると、暗号化データ５６のリード／ライトが可能となる。
【００３１】
このように、内蔵型ＨＤＤ１０では、磁気ディスク１９内に、ＰＢＡアプリケーション５４を格納し、ＯＳ起動前の認証に使用する。一方、外付け形ＨＤＤ１０−１を設けた場合には、内蔵型ＨＤＤ１０と併用し、内蔵型ＨＤＤ１０に、ＭＢＲ４０と、ユーザーデータ４２と、ＯＳ４４を格納し、外付け形ＨＤＤ１０−１に、ＰＢＡアプリケーション５４を格納し、ＯＳやＯＳ上で動作するアプリケーションから呼ばれる。
【００３２】
又、認証により、アクセスが可能となることは、暗号回路２９もアクテイブとなり、暗号化データのリード／ライトが可能となる。
【００３３】
（起動前認証アプリケーション）
図４は、本発明の起動前認証アプリケーションの説明図、図５は、起動前認証アプリケーションの同期処理の説明図である。
【００３４】
図４に示すように、磁気ディスク１９のシステム領域５０に設けられた起動前認証アプリケーション５４は、多重化して、設けられる。図４では、２つのＰＢＡアプリケーション５４−０，ＰＢＡＲ５４−１を設け、２重化したものである。即ち、データ記憶装置内に、ＰＢＡアプリケーションを複数用意し、ミラーリングして、一方のＰＢＡアプリケーションの障害発生時、他のＰＢＡアプリケーションでリカバリーする。
【００３５】
又、ミラーリングすると、ＰＢＡアプリケーション間の同期処理が必要となる。起動前認証機能を有するＰＢＡアプリケーションのサイズは、数十メガバイトから数百メガバイトである。このように、非常に大容量であるため、ＰＢＡアプリケーションの同期処理には、数秒から数十秒要する。例えば、データ記憶装置の電源オン時に、同期処理が実行されると、ＢＩＯＳによるデータ記憶装置の認識処理で、タイムアウトが検出され、起動に失敗する可能性がある。
【００３６】
この起動処理のタイムアウトを防止するため、図９以下で説明するように、起動時に、データ記憶装置に対してホストが発行するコマンドシークエンスから、データ記憶装置が、タイムアウト監視を行う接続形態(例えば、内蔵接続時など)か、タイムアウト監視を行わない接続形態(ＵＳＢ等のインターフェイスを介した外付け接続など)を判定する。
【００３７】
そして、外付け接続である場合は、タイムアウトは問題にならないので、起動時に、ＰＢＡアプリケーションの同期処理を行う。内蔵接続である場合は、ホストのタイムアウトを確実に回避するために、起動時に同期処理を行わない。その代わりに、起動後に最初に発行されるＰＢＡアプリケーションに対するリード／ライト命令の際に、リード／ライト実行前に、ＰＢＡアプリケーションの同期処理を行う。
【００３８】
また、同期処理の高速化手段として、差分処理とバックグランドでの同期を行う。図４に示すように、このＰＢＡアプリケーション０，１は、複数の小領域（ページ）Ｐａｇｅ０〜１２７に分割されている。例えば、各ＰＢＡアプリケーション０，１を、１２８ＭＢｙｔｅの容量を持つとすると、１ＭＢｙｔｅの小領域（ページ）に分割する。
【００３９】
通常の同期処理には、CommitとAbortの2種類ある。ホストからＰＢＡアプリケーションに対するライト命令があると、ＰＢＡアプリケーション５４−０が更新される。その後、ホストがＰＢＡアプリケーションの更新を確定したいときは、Commit命令を発行する。磁気ディスク装置は、Commit命令が発行されると、ＰＢＡアプリケーション５４−０からＰＢＡアプリケーション５４−１へコピーする。
【００４０】
なんらかの理由により、ホストがＰＢＡアプリケーションの更新を取り消したいときは、Abort命令を発行する。磁気ディスク装置は、Abort命令が発行されると、ＰＢＡアプリケーション５４−１からＰＢＡアプリケーション５４−０にコピーし、ＰＢＡアプリケーション５４−０を元の状態に戻す。
【００４１】
この同期処理を制御するためのフラグを、図５で説明する。図５に示すように、磁気ディスク装置１０の媒体１９とローカルメモリ１３には、Page Flag６２とCommit Flag６０という２種類のフラグテーブル１３−１を用意する(図１参照)。
【００４２】
Page Flag６２は、ページ毎に用意し、ホストからｉ番目のページに対してライト命令がくると、Page Flag[i]は、「１」となる。Page Flag６２は、同期処理が完了すると、「０」になる。Commit Flag６０は、Commit中であるかどうかを示すフラグであり、ホストからCommit命令がきたときに、「１」になる。そして、Commit終了後に、「０」になる。
【００４３】
このようなフラグテーブルを利用して、以下のように、ミラーリングのための通常の同期処理を行う。
【００４４】
図６は、ＨＤＤのＭＰＵ１１が実行するＰＢＡアプリケーションの更新処理フロー図である。
【００４５】
（Ｓ１０）ＭＰＵ１１は、メモリ１３のｉ番目のページのページフラグ［ｉ］が、「１」であるかを判定する。尚、ホストからｉ番目のページのライト命令（更新命令）を受けると、ｉ番目のページのページフラグ［ｉ］を、「１」にセットする。ＭＰＵ１１は、メモリ１３のｉ番目のページのページフラグ［ｉ］が、「１」であると判定すると、ステップＳ１４に進む。
【００４６】
（Ｓ１２）ＭＰＵ１１は、メモリ１３のｉ番目のページのページフラグ［ｉ］が、「１」でないと判定すると、メモリ１３のページフラグ［ｉ］を、「１」にセットし、磁気ディスク１９上のページフラグ［ｉ］を「１」にセットする。
【００４７】
（Ｓ１４）ＭＰＵ１１は、磁気ディスク１９のＰＢＡアプリケーションのｉ番目のページ［ｉ］を、ホストからのライトデータ(更新データ)で更新する。
【００４８】
図７及び図８は、ＨＤＤのＭＰＵ１１が実行するホストコマンドによる同期処理フロー図であり、図７は、前述のコミットコマンドの処理フロー図、図８は、前述のアボートコマンドの処理フロー図である。先ず、図７により、コミット処理を説明する。
【００４９】
（Ｓ２０）ＭＰＵ１１は、コミットコマンドを受信すると、メモリ１３のコミットフラグを、「１」にセットし、磁気ディスク１９上のコミットフラグを、「１」にセットする。
【００５０】
（Ｓ２２） ＭＰＵ１１は、ページフラグが、「１」のページを全て、磁気ディスク１９のＰＢＡアプリケーション５４−０からＰＢＡアプリケーション５４−１に、コピーする。
【００５１】
（Ｓ２４）ＭＰＵ１１は、コピー終了後、メモリ１３のコミットフラグを、「０」にセットし、磁気ディスク１９上のコミットフラグを、「０」にセットする。
【００５２】
次に、図８により、アボート処理を説明する。
【００５３】
（Ｓ３０）ＭＰＵ１１は、アボートコマンドを受信すると、ページフラグが、「１」のページを全て、磁気ディスク１９のＰＢＡアプリケーション５４−１からＰＢＡアプリケーション５４−０に、コピーし、元に戻す。
【００５４】
（Ｓ３２）ＭＰＵ１１は、コピー終了後、メモリ１３のページフラグを、「０」にセットし、磁気ディスク１９上のページフラグを、「０」にセットする。
【００５５】
このように、ページフラグとコミットフラグにより、コミット、アボートという同期処理を効率良く実行できる。又、後述する起動時の同期処理の高速化を実行するのに有用である。
【００５６】
（起動前認証アプリケーションの起動時の同期処理）
図９は、本発明の一実施の形態の起動時の同期処理の判定処理フロー図である。
【００５７】
（Ｓ４０）ＨＤＤ１０のＭＰＵ１１は、起動時（パワーオン時）に、ホスト１が発行するコマンドシークエンスを受信する。ホスト１は、接続されたポート（図２、図３では、インタフェース回路）に応じて、内蔵接続であれば、一定時間内に、ＡＴＡ  Ｓｅｃｕｒｉｔｙ  Ｆｅａｔｕｒｅ  Ｓｅｔ  Ｃｏｏｍａｎｄを発行する。又は、ＰＩＯ（ポートＩ／Ｏ）転送で、リード／ライトコマンドを発行する。又、外付け接続であれば、ＯＳから、例えば、ＤＭＡのリード／ライトコマンドを発行する。
【００５８】
（Ｓ４２)ＭＰＵ１１は、このコマンドシーケンスが、内蔵接続へのコマンドシーケンスか、それ以外かを判定する。
【００５９】
（Ｓ４４）ＭＰＵ１１は、コマンドシーケンスが、内蔵接続のコマンドシーケンスと判定すると、データ記憶装置１０が、タイムアウト監視を行う接続形態(例えば、ＯＳ起動に使用する内蔵接続時)と判定し、起動時には、同期処理を行わない。その代わりに、データ記憶装置１０が起動してから最初に発行されるＰＢＡアプリケーションへのリード／ライト命令の際に、このリード／ライト命令の実行前に、図１０に示す同期処理を行い、ミラーリングを復旧する。
【００６０】
（Ｓ４６）ＭＰＵ１１は、コマンドシーケンスが、外付け接続のコマンドシーケンスと判定すると、タイムアウト監視を行わない接続形態(ＵＳＢ等のインターフェイスを介した外付け接続)であると判定する。このＵＳＢ接続などの外付け接続の判定であるため、ホストのタイムアウトが問題にならない。このため、データ記憶装置１０は、起動時に、図１０に示すＰＢＡアプリケーションの同期処理を行い、ミラーリングの復旧を行う。
【００６１】
図１０は、図９の同期処理の処理フロー図である。
【００６２】
（Ｓ５０）ＭＰＵ１１は、磁気ディスク１９のシステム領域から、コミットフラグ６４、ページフラグ６６を、メモリ１３に読み込む。前述の図５で説明したように、磁気ディスク１９に、メモリ１３のコミットフラグ６４、ページフラグ６６を格納しているため、更新中の電源遮断等が生じても、それまでの更新状態を再現できる。
【００６３】
（Ｓ５２）ＭＰＵ１１は、ページフラグ６６から、ページフラグが、「１」のページが存在するかを判定する。ＭＰＵ１１は、ページフラグが、「１」のページが存在しないと判定すると、電源再開前に、コミット、アボート処理されていないページが存在しないと判定し、この電源再開時の同期処理を終了する。
【００６４】
（Ｓ５４）一方、ＭＰＵ１１は、ページフラグが、「１」のページが存在すると判定すると、コミットフラグが「１」であるかを判定する。コミットフラグが「１」であれば、ミラーリングの更新の確定が済んでいないため、図７のホストからのコミットコマンドによる処理を、ホストコマンドを受けずに実行する。即ち、図７のＳ２２のように、 ＭＰＵ１１は、ページフラグが、「１」のページを全て、磁気ディスク１９のＰＢＡアプリケーション５４−０からＰＢＡアプリケーション５４−１に、コピーする。そして、Ｓ２４のように、ＭＰＵ１１は、コピー終了後、メモリ１３のコミットフラグを、「０」にセットし、磁気ディスク１９上のコミットフラグを、「０」にセットする。
【００６５】
逆に、コミットフラグが「１」でないと判定すると、ミラーリングの更新の取り消しが済んでいないため、図８のホストからのアボートコマンドによる処理Ｓ３０〜Ｓ３２を、ホストコマンドを受けずに実行する。
【００６６】
このようにして、起動時に、データ記憶装置に対してホストが発行するコマンドシークエンスから、タイムアウト監視を行う接続形態か、タイムアウト監視を行わない接続形態を判定し、外付け接続である場合は、タイムアウトは問題にならないので、起動時にＰＢＡアプリケーションの同期処理を行う。又、内蔵接続である場合は、ホストの起動処理タイムアウトを確実に回避するために、起動時に同期処理を行わない。その代わりに、起動後に最初に発行されるＰＢＡアプリケーションに対するリード／ライト命令の際に、リード／ライト実行前に、ＰＢＡアプリケーションの同期処理を行う。
【００６７】
このため、ＰＢＡアプリケーションによる認証機能を冗長化したデータ記憶装置において、ＰＢＡアプリケーション破損時でも、修復動作による遅延を軽減することができ、電源再開時のホスト側の起動処理タイムアウトを防止することができる。
【００６８】
次に、図９のステップＳ４４の内蔵接続での同期処理に好適なバックグラウンド処理を説明する。図１１は、本発明の一実施の形態のホスト応答を優先したバックグラウンドでの同期処理の処理フロー図である。
【００６９】
（Ｓ６０）ＭＰＵ１１は、バックグラウンドでの同期処理（図１０参照）を、一定量（例えば、１ページ＝１セクタ）実行する。
【００７０】
（Ｓ６２）ＭＰＵ１１は、電源再開時の同期処理を全て終了したかを判定する。ＭＰＵ１１は、電源再開時の同期処理を全て終了したと判定すると、このバックグラウンド同期処理を終了する。
【００７１】
（Ｓ６４）ＭＰＵ１１は、電源再開時の同期処理を全て終了していないと判定すると、ホストからコマンドを受信したかを判定する。ＭＰＵ１１は、ホストからコマンドを受信していないと判定すると、ステップＳ６０に戻り、バックグラウンドでの同期処理を実行する。
【００７２】
（Ｓ６６）一方、ＭＰＵ１１は、ホストからコマンドを受信したと判定すると、そのコマンド(リード／ライトコマンド等)を実行し、ホストへ実行結果を報告し、ステップＳ６０に戻り、バックグラウンドでの同期処理を実行する。
【００７３】
このように、起動してから、最初のＰＢＡアプリケーションへのリード／ライト命令が発行されるまでの間、バッググランドで、ＰＢＡアプリケーションの同期処理を進めて置くことにより、バックグランド処理中は、一定量処理するたびに、ホスト応答を確認するため、ホスト応答を優先させることができる。
【００７４】
例えば、ＰＢＡアプリケーションが１２８ＭＢｙｔｅのとき、ＰＢＡアプリケーションに、パッチ（差分は、１ページ＝１セクターのみ）を当てる場合、全コピーであると同期処理に数秒要するが、本実施の形態のように、ページ分割し、ＰＢＡアプリケーションの差分部分のみコピー処理を採用すると、数ミリ秒で同期処理が完了する。
【００７５】
このように、ＰＢＡアプリケーションの更新中の電源遮断などにより、ＰＢＡアプリケーション０またはＰＢＡアプリケーション１が破壊された場合のミラーリングの復旧において、データ記憶装置の接続形態が、起動時にホスト側から発行されるコマンドシークエンスにより、内蔵接続か外付け接続かを判定し、判定の結果、外付け接続である場合、ホストのタイムアウトが問題にならないため、データ記憶装置の起動時に、ＰＢＡアプリケーションの同期処理によりミラーリングの復旧を行う。
【００７６】
又、判定の結果、内蔵接続である場合、ホスト側の起動処理タイムアウトを避けるために、起動時に同期処理を行わないようにする。その代わりに、データ記憶装置が起動してから最初に発行されるＰＢＡアプリケーションへのリード／ライト命令の際に、リード／ライト実行前に、同期処理を行い、ミラーリングを復旧する。
【００７７】
このため、データ記憶装置の起動時に、ホストがタイムアウト検出することなく、ＰＢＡアプリケーションを復旧することが可能となる。
【００７８】
更に、起動してから、最初のＰＢＡアプリケーションへのリード／ライト命令が発行されるまでの間、バッググランドで、ＰＢＡアプリケーションの同期処理を進めて置くにより、ホストを待たせずに、バックグランド処理できる。
【００７９】
（他の実施の形態）
前述の実施の形態では、データ記憶装置として、磁気ディスク装置を例に説明したが、ＳＳＤ（Solid State Disk）等の固体記憶素子を用いたデータ記憶装置や、光等の他のディスク装置、カード装置にも適用できる。
【００８０】
又、ＰＢＡアプリケーションも、認証を行い、ＭＢＲを起動するものであれば、他の形態のものを適用できる。更に、ＰＢＡアプリケーションと暗号化とを組み合わせることは、セキュリティの面で、極めて有効であるが、必要に応じて、暗号化を省くこともできる。
【００８１】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【００８２】
（付記１）
ユーザーデータを格納するためのユーザーデータ格納領域と、前記ユーザーデータへのアクセスを認証するための起動前認証アプリケーションを格納する領域とを有する記憶要素と、ホストに接続され、前記起動前認証アプリケーションによる認証が成功した場合に、前記ユーザーデータ領域へのリード／ライトアクセスを実行する制御部とを有し、前記記憶要素に、前記起動前認証アプリケーションを多重化して格納し、且つ前記制御部は、起動時にホストから発行されるコマンドシークエンスによって、前記ホストと、前記ホストがタイムアウト監視を行う形態で接続されているか、前記ホストがタイムアウト監視を行わない形態で接続されているかを判定し、前記タイムアウト監視を行わない形態で接続されていると判定した場合、多重化された前記起動前認証アプリケーションのミラーリング同期処理を、起動時に実行することを特徴とするデータ記憶装置。
【００８３】
（付記２）
前記制御部は、前記タイムアウト監視を行う形態で接続されていると判定した場合、起動後、最初に前記ホストから発行される前記起動前認証アプリケーションのリード／ライト命令を受けた時に、多重化された前記起動前認証アプリケーションのミラーリング同期処理を、実行することを特徴とする付記１のデータ記憶装置。
【００８４】
（付記３）
前記制御部は、前記最初に前記ホストから発行される前記起動前認証アプリケーションのリード／ライト命令を受けた時に、前記多重化された前記起動前認証アプリケーションのミラーリング同期処理を、前記リード／ライト命令の実行前に、実行することを特徴とする付記２のデータ記憶装置。
【００８５】
（付記４）
前記記憶要素は、前記起動前認証アプリケーションを格納する領域を、複数の領域に分割した各々の更新状況を格納する領域フラグを格納し、前記制御部は、前記領域フラグを元に、更新のある前記分割された領域について、前記多重化された前記起動前認証アプリケーションのミラーリング同期処理を、実行することを特徴とする付記１のデータ記憶装置。
【００８６】
（付記５）
前記制御部は、前記タイムアウト監視を行う形態で接続されていると判定した場合、起動後、前記ホストからのコマンドを受領していない時に、前記多重化された前記起動前認証アプリケーションのミラーリング同期処理を、実行することを特徴とする付記２のデータ記憶装置。
【００８７】
（付記６）
前記起動前認証アプリケーションは、前記ホストのＢＩＯＳで起動され、前記ホストによる前記起動前認証アプリケーションによる認証成功により、前記ホストが、ブートにより、ＯＳを起動するものであることを特徴とする付記１のデータ記憶装置。
【００８８】
（付記７）
前記タイムアウト監視を行う形態で接続されている場合が、前記ホストを含む装置に前記データ記憶装置が内蔵されている場合であり、前記タイムアウト監視を行わない形態で接続されている場合が、前記ホストを含む装置に、前記データ記憶装置が外付けされている場合であることを特徴とする付記１のデータ記憶装置。
【００８９】
（付記８）
前記制御部は、前記ホストからの前記起動前認証アプリケーションのライトコマンドを受領して、前記領域単位に、前記領域フラグをオンし、前記起動前認証アプリケーションの一方を更新することを特徴とする付記４のデータ記憶装置。
【００９０】
（付記９）
前記制御部は、前記起動前認証アプリケーションの一方を更新した後、前記ホストからのコミットコマンドに応じて、前記一方の起動前認証アプリケーションの更新領域を、他方の前記起動前認証アプリケーションの領域にコピーして、同期処理することを特徴とする付記８のデータ記憶装置。
【００９１】
（付記１０）
前記制御部は、前記ホストからのコミットコマンドに応じて、前記コミットフラグをオンし、前記一方の起動前認証アプリケーションの更新領域を、他方の前記起動前認証アプリケーションの領域にコピーして、前記コミットフラグをオフして、前記同期処理することを特徴とする付記９のデータ記憶装置。
【００９２】
（付記１１）
前記制御部は、前記起動時に、前記領域フラグがオンで、且つ前記コミットフラグがオンである場合に、前記一方の起動前認証アプリケーションの更新領域を、他方の前記起動前認証アプリケーションの領域にコピーして、前記コミットフラグをオフして、前記同期処理することを特徴とする付記１０のデータ記憶装置。
【００９３】
（付記１２）
前記制御部は、前記ホストからのアボートコマンドに応じて、前記領域フラグがオンである前記一方の起動前認証アプリケーションの更新領域に、他方の前記起動前認証アプリケーションの領域のデータをコピーして、前記領域フラグフラグをオフして、前記同期処理することを特徴とする付記９のデータ記憶装置。
【００９４】
（付記１３）
前記制御部は、前記起動時に、前記領域フラグがオンで、且つ前記コミットフラグがオフである場合に、前記領域フラグがオンである前記一方の起動前認証アプリケーションの更新領域に、他方の前記起動前認証アプリケーションの領域のデータをコピーして、前記領域フラグをオフして、前記同期処理することを特徴とする付記１２のデータ記憶装置。
【００９５】
（付記１４）
前記記憶要素が、記憶媒体と、前記記憶媒体をリード／ライトするヘッドを有することを特徴とする付記１のデータ記憶装置。
【産業上の利用可能性】
【００９６】
起動時に、データ記憶装置に対してホストが発行するコマンドシークエンスから、データ記憶装置が、タイムアウト監視を行う接続形態か、タイムアウト監視を行わない接続形態を判定し、外付け接続である場合は、起動時に、冗長化された起動前認証アプリケーションの同期処理を行い、内蔵接続である場合は、起動時に同期処理を行わず、起動後に最初に発行されるリード／ライト命令の際に、リード／ライト実行前に、同期処理を行うため、起動前認証アプリケーションを多重化し、且つ更新しても、ホストのタイムアウトを防止して、同期処理できる。
【符号の説明】
【００９７】
１  ホスト
１０  磁気ディスク装置（データ記憶装置）
１１  ＭＰＵ（処理ユニット）
２６  ＨＤＣ
１３  メモリ（ＲＡＭ／ＲＯＭ）
１４  データバッファ
１５  データバッファ制御回路
２４  リードチャネル回路
１７  バス
１８  ヘッドＩＣ
１９  記憶媒体（磁気ディスク）
２０  スピンドルモータ
２２  アクチュエータ（ＶＣＭ）
２５  ヘッド（磁気ヘッド）
４０  マスターブートレコーダ
４２  ユーザーデータ
４４  ＯＳ
５０  システム領域
５２  ユーザーデータ領域
５４，５４−０，５４−１  起動前認証アプリケーション
【図１】
2010176389.tif 000003
【図２】
2010176389.tif 000004
【図３】
2010176389.tif 000005
【図４】
2010176389.tif 000006
【図５】
2010176389.tif 000007
【図６】
2010176389.tif 000008
【図７】
2010176389.tif 000009
【図８】
2010176389.tif 000010
【図９】
2010176389.tif 000011
【図１０】
2010176389.tif 000012
【図１１】
2010176389.tif 000013